A Note To Maya

Traffic

So according to the old joke, a fed-up student asks the physics prof who’s going over kinetics in protracted detail, what good is all this? What will I ever use this for? To which the professor, not even looking up from where he’s writing on the board, says “This stuff saves lives.” The student balks for a second and then gets belligerent, demanding to know how first-year physics saves lives. The professor doesn’t even turn around, saying “it keeps idiots like you out of med school.”

Maya, you can’t read this yet, and it might be years before you know what half of it means, but I’m writing it down for the day you do. It’s a little long-winded, but by the time you get here you’ll be long tired of the fact that so am I.

So: years ago for maybe fifty dollars I bought an old computer, a Sun 4c, better known as a SparcStation 1. It looked like a pizza box and rocked a Sparc RISC processor at 25Mhz, and even back then in the hazy prehistory of technology 25Mhz was pretty pokey. It had 64 MB of RAM and a 1GB drive the size of a shoebox, back when RAM vs. hard drive was a distinction that mattered. It was obsolete long before it met me, but it was running SunOS 5.2 and as was the nature of many machines of that era, built heavy and made to last.

It was also my first exposure to non-Linux Unixes, which are legion in the world. I don’t really know what the world will look like by the time you can understand this, but I will promise you that even then there will a lot of machines like this, long obsolete, poorly understood by all but a few and doing something absolutely critical in the darkened corners of server rooms and networks of the world. I only ever had an incomplete understanding of this one, but enough to learn that whether those differences are obvious or subtle there’s some very deep, very cold water under all that thin ice you’re treading on.

Hello

But hold that thought. Act two, scene one, last Friday at the office our tape robot froze up.

This robot is about the size of your first room, and stores several petabytes of data on almost fifteen hundred LTO4 tapes; running full-out we can push about twenty terabytes an hour of information through it over the dozen or so fiber pairs that are plugged into the back, and we use it mostly to store HD video-editing projects and server backups. I’m sure these numbers all seem quite quaint to you (Not to mention “tape”. I know!) but at the time it was considered to be quite a bit; we had to take a core sample of the floor to make sure it was strong enough to support its weight before we bought it, to give you an idea of what sort of hardware we’re dealing with here. A big toy by any measure and vastly larger, faster and more expensive than, to pick an example entirely at random, a Sun 4c.

And I had to restart it. Now, even in these awkwardly presophisticate times fixing a computer by rebooting it is… It’s a little gauche. It’s a sign that you don’t have any kind of fine-grained control over the machine or don’t really know what you’re doing and usually both; it’s distasteful and we all know it, but now and then a box gets so thoroughly wedged that you have to drop that hammer on it. C’est la vie, your tempus is about as fugitive as it gets at times like these and cliché waits for no man, so you push that red button and saddle up to start riding herd on the consequences.

In this case, this turned out to be a two-part process. So after the robot spent a few slightly terrifying minutes banging its arms on the sides of the cage (recalibrating, field-circus guy says, but I honestly think it was just pissed off at having been unceremoniously woken up) and I spent a few futile minutes trying to connect to it, hardware support guy suggested I would need to reboot the controller too.

The controller, though, I know that it’s a unix box. And rebooting is just not how these things work; you restart services, not machines, and along you go. Fortunately they had a software guy who correctly saw things my way, and gave me the information I needed to do just that. So I rlogin (Not ssh, urk. I hope I taught you better than this!) to the controller and, just to get my bearings, ask it what OS it’s running.

And what do I find but SunOS 5.3.

Fifteen years and millions of dollars later, I am sitting in front of an OS a single point-one more recent. And, God, all those old memories come flooding back. Make sure your terminal window is 80×25 or it loses its mind. Still no tab-completion, not even up-arrow giving me back my last command. No modern tools of any kind and my goodness, the stakes are quite a bit higher. But old reflexes die hard, and everything I need to know is still right there at my fingertips after so long. I restarted the offending services in a couple of moments instead of messing around blindly; we were immediately back on track, and I somehow had the sense that a circle had been closed.

The lessons here are legion (and seriously, don’t ever take a hardware guy’s advice about software) but more than anything else, I want you to think about that guy who’s wondering what all of this learning is good for. Try and imagine all the opportunities in his life that are going to walk right past him. He’s made his choice, and now he’ll never even know they’re there.

Which is all to say: I don’t approve of this guy. Don’t be bringing him home, I won’t have you dating a chump.

8 Comments

  1. Posted November 18, 2009 at 8:21 am | Permalink

    That’s a pretty great story, making a good point at the end there.

    But speaking of Sun, ever figure out if Shift+Props really does give mad props?

  2. Posted November 18, 2009 at 8:35 am | Permalink

    Please don’t ever refer to Solaris as SunOS again. I’d hate to have to drive all the way to Canada to hurt you. The Sun4c wasn’t just in the Sparc1. Sparc2s, IPCs, and a couple other models were Sun4c based. Running Solaris on them was a really, REALLY bad idea. SunOS 4.1.4 was the last BSD based OS from Sun, and ran fine on Sun4c and Sun4m (Sparc5, 10, 20, IPX, etc). You really wouldn’t want to run Solaris on anything slower than the 165mhz uSparc2 (that’s micro, not Ultra) and 32MB of RAM that were the final generation of the Sparc5, and even that is barely tolerable. Any version of Solaris less than 2.5 is an abomination and I can’t believe your tape robot is running it…Solaris 2.5 has only been out since 1995, after all, so it’s not like it’s new and untested.

  3. Posted November 18, 2009 at 8:41 am | Permalink

    Some numerical contextualization is needed here.

    In the early 1990s, Sun decided to start calling SunOS by a new name, Solaris, but did not stop using the old name.

    All SunOS versions in the 5.x range are often more properly known as Solaris, and referred to by their Solaris version numbers.

    SunOS 5.2 was released in May 1993 as Solaris 5.2. Support ended in May 1999.

    SunOS 5.3 was released in November 1993 as Solaris 2.3. Support ended in June 2002.

    After SunOS 5.6, aka Solaris 2.6 in 1997, Sun released SunOS 5.7 in 1998 and called it “Solaris 7″.

    In the Enterprise, I’m now using “Solaris 8,” which calls itself “SunOS 5.8″ and was released in Feb 2000, with support ending in 2012.

    Thus, your statement that you are “Fifteen years and millions of dollars later, I am sitting in front of an OS a single point-one more recent” may need qualification.

  4. mhoye
    Posted November 18, 2009 at 9:25 am | Permalink

    Here is your context, pedants: when I typed in “uname -a” into that old Sun 4C, “SunOS 5.2″ came back.

    On this tape robot controller, I get “SunOS 5.3″. Further, the pizzabox 4C predates the Solaris rebranding. It was still called SunOS then, and the machines still think it’s called SunOS now.

    Suck it, haters.

  5. mhoye
    Posted November 18, 2009 at 9:31 am | Permalink

    Also: since the Props key is equivalent to F13, and most computers only have twelve F keys, shift-F1 is equivalent to F13 and shift-F13 doesn’t go anywhere. So it’s not possible to give yourself mad props on most computers – only veteran unix administrators running older hardware can give themselves props of that magnitude.

  6. Posted November 18, 2009 at 10:41 am | Permalink

    Yeah, but what’s the difference between XP “2002 SP2″ and “5.1.2600? The same OS gives me both answers depending on how I ask it for its version. Branding has killed versionning, get used to it.

    Also, the Pentium is older than Windows95, what’s your point? The Sun 4c was designed for SunOS, but yours was running Solaris.

  7. Posted November 19, 2009 at 1:39 pm | Permalink

    Man, I hope nobody sees me on this internet with you nerds.

  8. Posted November 20, 2009 at 7:53 am | Permalink

    My Solaris 10 boxes will tell your they’re SunOS 5.10, but don’t believe it. Sun has called it (SunOS 5.x) Solaris since they released it even if the kernel guys never got the memo.