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.
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!
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!