It's four thirty in the morning and I'm in the zone, coding.  My client is paying me an obscene amount of money to sit in this pleasant little room and push symbols around a vast electronic chessboard.  The zone means that I've got the many megabytes of instructions that make up the commercial Internet site that I'm working on clearly positioned in my head.  I have just found the answer to the problem that I've been working on for the last twelve hours so I can afford to take a moment to write this. That answer isn't going anywhere, but this early morning sense of perspective about the nature of coding and computers will probably evaporate into the wind the moment I take my eyes off of it.  I need to backup the database anyway and, even over cable modem, it takes awhile to squeeze that pig through the pipe.

A short and idiosyncratic history of modern computing

I've been doing computer programming type work for a really long time now.  When I started working in the mainframe environment as a student at UCSD back in the late 60's computers really were run by rocket science type guys in white lab coats.  The machine itself, an IBM 360, was hidden away in a climate controlled room and you had to be on an official tour to even see it.  Programming meant sitting at a noisy punch card machine and plugging FORTRAN (FORmula TRANslator) instructions onto IBM punch cards.  The finished product of your efforts was a "deck" that you wrapped in a coversheet and handed over to The Operator, generally a snotty grad student, who put your deck in the queue to be run.  Depending on your job's priority, and undergrads like me were "de la peor clase," i.e. at the bottom of the heap, the deck would eventually be fed into another large, noisy machine called a card reader.  The card reader converted the punch card info back into FORTRAN instructions that were compiled into machine code and processed on the mainframe under the System360 operating system.  Your results eventually appeared on one of several large noisy line printers back out in the user room.  If you get the impression that computing back then was large and noisy, you are getting the picture.

The birth of minicomputers

Revolutionary change arrived in the form of the mini-computer.  In our case it was the Digital Equipment Corporation (DEC) PDP-8, followed shortly after by the PDP-11.  The most exciting thing about these machines was that they were small and quiet and you could actually see and touch them!  Better yet, you could type Pascal programs directly into a computer monitor terminal with a semi usable editor and then run the code immediately. Whenever you wanted. As often as you liked.  I'd like to convey the excitement this roused at the time, but words fail.  It still makes me smile to think of how empowered we felt and how much creative juice that unleashed.  People generally attribute the dawn of  "modern" computing to the Apple or, less convincingly, to the original IBM PC, but I think the real watershed in my concept of what was possible was the PDP series.

The Timex Sinclair

In any event, in the years to follow, the rate of change in computing power and availability increased dramatically.  My first computer was a homebuilt kit that you hardly ever hear anything about, the Timex Sinclair 1000.  This funky little beast arrived as a pile of components, including a Z80 CPU a plastic shell with , membrane keyboard, one circuit board box and a little power supply brick. You plugged it into a television set for the monitor and it wrote its programs out to normal audio tape as a storage device.  The programming language was some flavor of BASIC, but the real heart and soul of the thing was the ability to "Peek" and "Poke" instructions directly into memory. That's geekspeak for the ultimate hands-on control of the machine.  Sort of like doing open heart surgery on the CPU registers.  You could tell the computer what to do in its own language and see the results immediately.  Uber-nerdy and all for about $100 U.S. 

Apple, the first time around

Of course the whole field was moving rapidly by this time.  The Apple I put a friendly face on computing and the Apple II was hugely successful, mostly I think because it lowered the bar for making useful programs.  Computer user groups were suddenly populated with carpenters and pharmacists and physicians in addition to the pocket protector crowd.  The result was a sudden profusion of cheap capable software, and a feeling that it might not be so difficult to "roll your own," if you couldn't find what you were looking for.  And lest I forget, the Apple II had expansion slots that allowed you to easily customize your system. The other significant development was the introduction of the first in a long line of floppy disks.  These oddly lovable electronic filing cabinets probably did as much to make personal computing practical as any other single development.  In one sense we owe it all to Steve Wozniak, who wrote a wickedly clever device controller for the Apple II floppy drive.

Adam Osborne's Luggage

My next computer was a luggable suitcase thing called the Osborne I named, humbly, after its inventor Adam Osborne.  Osborne was an author, eccentric genius and a really lousy businessman.  This was unfortunate, because by all rights his company should have become the next Apple.  The Osborne I was a precursor to the modern laptop in more than one respect.  It was nominally portable at a hefty 30 pounds, had a usable five inch screen, a full sized keyboard and, best of all, came bundled with enough software to allow you to completely run a small business.  The operating system was called CP/M.  As I recall that stood for Control Program and Monitor, but I've had others among the cognoscenti disagree vehemently.  In any event, CP/M was an operating system, a program for running other programs and generally controlling the CPU and peripheral devices.  CP/M was developed by Digital Research, the company that some years later had the unfortunate honor of being the first company to be hijacked and screwed by Microsoft.  In addition to the operating system, the Osborne came with what was, for the era, a dazzling array of software.  As I recall, WordStar was provided for word processing, and SuperCalc for crunching numbers, and, most astonishing of all, dBase, a very powerful database.  I also think I had a dictionary and thesaurus and a bunch of corny but fun games.  All this for a little under a thousand, which may sound pricey, but you could run a complete mid-sized business system around this so it was an awesome value for the times.  And there was the luggable aspect.  I was traveling around the world on oceanographic research vessels at the time and I lugged that damned thing everywhere I went.  Most of the customs officials had never seen anything even remotely like it, and when they made me plug it in to prove it wasn't a bomb or something, I knew I could plan on an hour or so before they were all done grooving on it.

HP-1000

Professionally, in the world of big science, mini-computers were still all the rage.  My specialty had evolved around setting up seagoing computer systems on research ships.  This seems, even to me, a little absurd now that my Palm Pilot has more computing power than those hulking minis, but back in the era of sixteen inch removable hard disk packs and nine-track data tapes, installing and running these systems was a high art.  We spent a month once doing a detailed vibration survey on a ship so that we could design customized damping pads for the HP-1000 and its associated gear.  The HP engineers weren't even sure that using their disk drives at sea would be possible since the dreaded "head crash" was a constant worry.  I shut the system down for a day during a hurricane once, but other than that, no problems.

IBM PC

Meanwhile, the notion of "distributed system architectures" was gaining currency.  The IBM PC had been unleashed unto the world complete with vast amounts of inexpensive but powerful software. The distributed system concept involved using the larger systems to do the heavy number crunching and real time control, while allowing "Personal Computers," like the IBM PCs to do the day to day wordprocessing and data analysis. Nowadays this seems painfully obvious, but remember back then networking meant hooking two machines together with an RS232 cable and running terminal emulation software to swap a few files around.  Novell Netware was years away, and Windows wasn't even a gleam in billG's greedy little eyes.  Everyone assumed that the original IBM PC would come equipped with the ever popular DOS operating system from Digital Research, the same folks who had brought us CP/M.  But in twelfth hour negotiations, the little known longshot Microsoft got the nod from IBM and MSDOS scored the coup d'état of the century.

DEC's VAX

In time, our HP-1000s were replaced with the king of the minicomputers, DEC's VAX (Virtual Address eXtension, or so they say). VAX was the total nuts at the time.  They were powerful, had lots of memory and ran a marvel of an operating system called VMS (Virtual Memory System, I think). Getting our hands on a room full of VAXen (plural for VAX) was manna from heaven. I recall a dreadful moment during a portcall in Rio when we first received our shiny new machines on the research ship JOIDES Resolution.  A crane was lifting a pallet with my two new machines onto the ship and, as they hovered about a hundred feet above our heads, the crane's clutch slipped or something and they started to free fall.  I felt my stomach turn as a million bucks worth of computers plunged towards the dock! Luckily, the crane operator recovered and they slowed, then stopped a few feet above the deck.  Minor miracle.  

DEC Pro350

About the same time we experimented with distributed systems by replacing all the dumb terminals with an incredible kludge called the DEC Pro350.  These things were Digital Equipment's answer to the IBM PC, and we were furious that the bean counters had selected these dawgs.  They were physically large, weighed a ton and were filled with quirky proprietary software.  The operating system was Pro-DOS or something equally forgettable and we hooked dozens of them to the VAXen via serial cables.  Ethernet was still pretty experimental at that time.  I think DEC virtually gave them to us, just to get rid of them.  Hating life!

Macintosh

Into the murky depths of this depressing swamp shone a pure and beautiful light that smote the darkness and filled our hearts with joy.  And the name of this light was Macintosh. And man was it a beautiful thing for some of us.  I saw the famous "1984" commercial during the Super Bowl, along with a bazillion other people, but I knew without a doubt that my world had just changed forever.  The very next day, my friend Brad and I put down deposits at the local Apple dealer that would soon make us the proud owners of the Macintosh.  We also popped for the AppleWriter printer because who could stand to create all those beautiful images on screen and not be able to make a hard copy to show off to the guys at work.  We waited a few weeks in an agony of anticipation, then took delivery along with a hundred other fanatics.  The truck didn't deliver enough for everyone, so Brad got his and mine was put on back order.  This turned out to be a good thing because as the back order period extended, I got a decent fix using Brad's Mac, and rumors of the even more "Insanely Great," 512 kilobyte Fat Mac were in the wind.  I pulled my old order and plopped down even more green for the Fat Mac.  That machine was the first really usable Mac and I wish I still had it for nostalgia's sake.  

As it turned out I traded up and up, from the Fat Mac to the Classic Mac through the Mac II, IIci, and several models of Quadra.  In the process, I also ended up being the wild-eyed Mac evangelist in our group, proselytizing wildly that the mouse and the graphical user interface and built in networking and a bit mapped high resolution screen were THE FUTURE!  I can hear myself even now, along with millions of other believers.  And you know what, we were right!

But the dirty little secret was that Apple wasn't really that soulful a place to work, and Steve Jobs turned out to be a meglo-asshole and once they hired the Pepsi dude many of us sort of lost interest.  Of all the companies I had dealt with, Apple was the most rapacious and cavalier in their treatment of their customers, and my users!.  We LOVED them but they ABUSED us.  I almost lost my job when we placed a huge order for new Macs only to find out that they were dropping the price by 30% and introducing a new model the next week.  You just don't do that kind of stuff to your customers.

Windows

Besides, up in Redmond a storm was brewing.  Microsoft's recent approach to the rise of the Internet was pretty much a replay of the way they relentlessly plotted to destroy Apple back in the early 90's.  It's generally acknowledged that the first several versions of Microsoft Windows were a pathetic joke.  Windows 3.1 was usable but only barely, and then the whole thing caught fire.  I know that many will argue that Windows is not now and has never been any good at all.  These folks miss the point entirely.  The power of Windows is that it represented ubiquity.  It's been said before, and more eloquently at that, but the network effect of the Windows environment more than overcame its shortcomings and still does to this day.

Windows 2000 represents the end of my story. This is the closest Microsoft has come to a decent operating system and guess what, it's based on Windows NT which is based on my old and dear friend VMS!   Windows 2000 is as far as I'm willing to follow Microsoft and I'm advising my clients to avoid Windows XP like the plague.  There are too many issues with XP to address here but suffice it to say that it's a whole new ballgame and I don't want to play.  Howdy Linux...

So now the sun is rising and the code calls like it always has, life is sweet!