Little Things

I’ve written before that the little things matter. And I don’t mean in the “contradict-the-Don’t-Sweat-The-Small-Stuff” sense. Really, don’t sweat the small stuff. But the little details, the questions of “why does this work”, the attempt to always go back and try to improve and correct what you’ve done before or niggling over the little errors — matters tremendously in System Administration.

A case in point of that is that I was wrong, maybe not completely, but still wrong about by on troubleshooting… diagnosis — which is pretty ironic. The methods weren’t wrong per se, and indeed my subnet mask was screwed up — but that wasn’t the problem. And the willingness to go “oops, I was wrong. It’s still happening — I must have screwed up something” is paramount. I’ll follow up with that story when I have a little time — it’s queued up behind some management things that need doing, a list of interview questions I need to come up with, a technical write up of the PHP mail() function to help out our engr-php-hackers group. And probably 15-20 other things I’m not remembering at the moment

The Little Things also matter — even more — in how you interact with people, which is really what this ramble is about.

I was trying to catch up with my “blogroll” over lunch, and was pleasantly surprised to see that Marshall Brain posted again.

Marshall was a faculty member in the NC State Computer Science Department when I was a freshman at NC State in 1991-1992. Marshall has had quite the career since. I’m not much to be impressed by someone’s career or abilities — but something Marshall did for me when I was a freshman has stayed with me for many years now, and as the years go by, that something has impressed me more and more. It was a little thing. Marshall wouldn’t remember it, but I certainly do.

This was in the early years of our eos computing environment. I was taking the Pascal class — which was the “introductory” programming language at NCSU then. And oh my, was compiling SLOW! And I had the fortuitous opportunity to ask this Marshall Brain fellow about that, who had been keeping some cool AFS “locker” thing with all kinds of files and cool tools called “mb_info” — and I figured he’d know why it was so slow

I had a personal computer at the time, my first non-Texas Instruments, non-Timex Sinclair, Intel-compatible PC (an Emerson, AMD 286-16, 1MB RAM, 40MB HDD, COMPAQ-DOS 3.something-or-other), that my parents had bought the year before, when I came back from attending Governor’s School where I was first introduced to programming (other than 10 Print “X”, 20 Goto 10). My mom had bought me a copy of Turbo Pascal the year before. My parents didn’t have a clue what Pascal is/was or really what programming is. Neither did I. But because they saw it in computer store and had heard me talk about Pascal from Governor’s School she thought it would be something I could use. It’s those little things again.

Turned out it was, I could do my Pascal programs on Turbo Pascal in my dorm room, on my 286. Turbo Pascal was faster, much, much faster than the compiler available in the computing labs, it had this nice thing called an “integrated development environment” and a really nice “debugger” that helped me with my learning about variables (and variable screw ups). I also didn’t have to drag myself to the labs at 2am in the morning. I also learned a lot about platform differences, text editing, and file transfer, trying to figure out how to get files from my PC to the Campus computers. Oh and compiler differences, somehow “programming language” standards didn’t seem to line up between DEC and Borland.

(You know, now that I write this, it really seems how that personal experience, now 13 years old, has really influenced how we have begun to design the next generation of Eos — a focus on the student’s own computers — teaching them how to use them, making them core to their computing experience and as a comfortable launching place for access to the traditional campus computing resources remotely)

So, as I said, I asked this Marshall Brain guy about that. Eos had these many-thousand dollar workstations with large monitors, running this advanced operating system called “Ultrix” — and here was my lowly 286 running MS-DOS — which was far more productive. Marshall told me to “stop by his office” — the first time I ever had been to a College Professor’s office — which to me was a big deal then (and in some ways, it still has a certain mystique, even as “Systems Manager” for Eos — with my own office, with a couch and coffee table even)

I don’t remember many of the details, I remember Marshall asking me to think about the differences between my PC and the campus computer, throwing terms that I didn’t quite understand yet, like “networks” and “caching” and “i/o”. I just remember being a bit star-struck, amazed that he’d take his time to do that. Maybe that amazement is a bit of sad commentary, more faculty and staff should be doing that — so when someone does, it often seems like an exception (you know, writing that makes me think I should have some kind of “meet the students” time scheduled in — maybe contact the campus user groups and see if anyone is interested in just hearing the rambles of an old man talking about technology and hearing what they have to say about things).

One thing I do remember is Marshall telling me — “maybe you should write your own compiler”. I remember laughing incredulously. At that moment, one of Marshall’s students, a pretty good programer by the name of Lance Lovette — that ended up working with Marshall later and who wrote programs we still use on campus today (mostly because we can’t get rid of it) — stopped in, and Marshall said “Why not? Lance is thinking of writing his own compiler” Lance said “well, maybe not a compiler, but I have thought of writing my own parser” I just remember being overwhelmed a bit, the mere thought of doing a compiler was over my head, and I didn’t even know what a parser was.

In some ways, I still laugh incredulously thinking about it. Compiler design is one of those niches in Computer Science that is so far out of my interest (and probably league) that to even think of doing one makes me alternatively laugh and wince. But I later learned to understand a bit of the theory, and some of the practicality of state machines and tokenizing strings. I’ve written a parser of sorts several times in the subsequent years, usually in Perl, or even in the PHP code that drives this site [Ed. note, I used to run custom-written blogging software at people.engr.ncsu.edu for this blog before I moved it to a personal site and wordpress]. But the way Marshall talked to me, I never got a hint that he doubted whether I could or not.

I never ran into Marshall after that. I didn’t really do a traditional college thing of working with a professor and exploring academic projects, I started working to put myself through State, and focused a lot of my IT job — but that one hour of time has stuck with me for years. An hour spent planting seeds in me to explore new things and learn more. A little thing perhaps, but something that really grew into more, as I’m now entering my fifth year leading the technology and implementation for a good part of the computing environment for the College of Engineering.

I think the most, those kinds of little things have instilled in me a passion for education, a passion for things like our revamping of E115 — the opportunity to give pep talks at Open House — the chance to make a difference, somehow. Sometimes I forget though, that the little things really might make the biggest difference.

I wrote two years ago, an essay that recalled Andy Dufresne, the protagonist from the move The Shawshank Redemption:

There’s something extraordinary though, about Andy’s time that he spent at Shawshank. It says more than the words “Get busy livin’ or Get busy dyin’” There’s more to this life. He turns tar into bohemian-style beer. He plays arias that uplift a prison. I think I am fascinated, not so much by the tunnel, but maybe just the carving of the chess pieces as much as anything . He builds a library. He makes a difference. Andy never finds his place there, but in his time, he makes one.

The way, this making of this place, has been marked by the generosity of so many people like Marshall. One day, I’ll make some time and thank them all.