Sunday, November 28, 2004

Of SGI, Linux and X --How one person learned to choose (1)

When I mention SGI, I most often hear, "Aren't they dead?" The simple answer is 'No'. Sgi, had a hell of a run during the early 90s with their powerful and smart workstations. So, what happened? And why does it matter?

Microsoft happened. Win32 workstations began to get pretty serious about '96. It was becoming possible to get speed and quality graphics about that time, for an ever lower cost. Despite the brilliance of Sgi machines, the more clunky, but cheap PC was clearly to win the day.

I suppose I am lucky to have been in a position to enjoy their machines during that time. I will never forget the first time I used the machines. Until that day, I was on the Microsoft path, along with everyone else. Sgi changed that, and I am grateful for that experience that changed my view of computing forever. That change led me toward Linux and Open Source software. I am sure others had these same experiences on a Sun, Apple, Amiga, or other such machine. In that, Sgi is nothing special, but for me.

Silicon Graphics machines were compelling enough to show me the value of choice and what it means to people going forward.

So, what was it? What made such a difference and why is that important? Doesn't everybody use PC's today? Aren't they all the same?

If you have those questions, sit back and read for a moment and hear what I have to say. If you have no love for computing and I mean the sheer art of it, this is not the post for you. But, if your computer interests you even a little, consider hearing my story.

I got my start in computing on a lowly Atari 800 machine. Actually that is not strictly true, it was the old Apple ][ that really got me going. I suppose the differences between the two really tell the tale. That's up to you to decide in the telling, I suppose. Anyway, back to SGI.

One day in 96, I was asked to learn some software. It was CAD software and it was going to be my new career. I had been running this software on my PC workstation, but this was a big project that needed a bit more than the PC of the time could provide. An account was created for me and I logged into the machine.

The desktop was strange, compared to the familiar win32 one I was used to, but interesting at the same time. There was no program menu, other than the little toolchest menu thingy. The software I needed to run was run from the terminal window. Having cut my teeth on older, pre GUI computers, I was no stranger to this, so I asked the machine for one and got ready to go.

White on Blue! Every other machine I had ever used was green on black, or some other crappy color combination, but here was a white on blue window with very readable text! Made me think of my old Atari. By the way, the mouse pointer was a nice bright red --easy to see. Riding high on a very nice first impression, I ran my software and worked on my project.

While doing so, the elegance of the experience really took hold. This little machine was well crafted to provide me, the user, with the very best experience it could deliver. Transitions were smooth, performance high, and crisp. No awkward pauses, well chosen colors, and minimal, but powerful UI elements all combined to make this a very nice place to work. I could go on, but the point here is that the engineers, who crafted --not built, but crafted this environment thought the entire experience through. While different from my win32 environment in many ways, those differences made a lot of sense once I got past them.

I realized that day there is more than one way to interact with a computer. I knew this before, having used many different machines, but the wintel vision was compelling at the time.

It also struck me that the one size fits all approach I was used to, in the win32 vision of things, was wrong in a profound way. Different people interact differently with their computers. We should have choice. The PC sitting on my desk, running a Windows variant, began to take on a different light. It's very success smothered choice. This struck me deeply at the time for I was just learning what choice could offer those that are willing to learn to choose. I had a very hard time committing to work against that, so I didn't. It was really that simple.

Time passed, and I thought about that experience some more. I dug deep into my win32 machine and customized it. Perhaps enough choice exists that I could simply recreate the experience on my station well enough. For the most part, I saw some success. Faster hardware, newer releases of windows, and some learning earned me an enviornment far better than the one I was running before. Despite my success, the issue of choice still nagged at me. How would I know to choose or what to choose or even if I could choose had I not had such an experience to drive the choice?

As time passed, my understanding of the IRIX environment grew. It was a UNIX and I knew something about that. My first Internet account was a UNIX shell account, and I had crossed paths with an SCO machine a while back. Somewhere in the learning, I bumped into the X window graphical subsystem. This was a very different thing from the desktop environment I was used to. It was multi-user and network capable. In this growing age of networked computing, these were very significant things. Things completely ignored in wintel land. Powerful things. Of course I was hooked.

I got hold of an X server for my win32 machine and connected back to that SGI. Interestingly, while its owner was still working. This was cool. Never before had I been able to really share a computer with someone! With a tweak here and a tweak there, my entire desktop appeared right there on my machine, ready for me to use! So, I used it often, learning as I went. Computing was fun again!

This continued until one day I made a mistake that put a critical project in danger of failing. The project invoved rendering frames of video. Thinking I had done my job well, I left a long render to complete over the weekend, but it didn't actually. My stomach sank monday morning. A quick bit of mental math told me I was doomed. I had about 40 hours of rendering to do and only about 16 hours to complete it in.

It was on this day that multi-user began to show its true significance. Using more machines would allow the project to complete, but the prospect of moving around from PC to PC all day seemed dubious at best. An alternate plan began to take shape. By this time, I had earned an SGI computer for my own desk. I logged in and asked for 7 desktops, mine plus 6 others located on other machines I planned to use that day. And use them I did!

I hopped onto all the different machines from my desk and started lots of processes all over the building. Some were rendering, others were compressing, still others installing software to join the project. For the next several hours I did not move, flitting from machine to machine, flogging them all as hard as I could to get as much work done as possible. On my local desktop, the project began to assemble. Frames began to appear in groups, ready for me to composite and place on the movie timeline. Never before had I been so pissed and scared, never before had I gotten so much work done in so little time. That project went out the door, completed in the last hour.

Multi-user indeed.

(To be continued this week...)


Post a Comment

<< Home