Math Lab Geeks

I was the first kid in my high school in Colorado to have a computer, a kit from a financially shaky company called ‘the digital group’; it had a 2.5 Mhz Z-80 and 26K of RAM, and I permanently borrowed my mom’s cassette recorder so I could load and save programs on audio tape.  When I moved to a better high school in the Washington, DC area I fell in with a group of friends who either had computers or really wanted them.  My friend Jack got an Exidy Sorceror (a fine Z-80 based system with, I think, 32K of RAM), and our mutual friend Richard (who had a job and could afford nice things) had some kind of CP/M-based box with 64K and real disk drives (hard disks for personal use, in those days, were science fiction).

The Math Lab (geek hangout) at school had some Ohio Scientific micros (6502-based pieces of garbage, pretty much what you’d expect from a low bidder to a mostly clueless school system administration in those days).  We hung out in the lab a lot, hacked in BASIC and found ways to crash the county’s IBM mainframe (it wasn’t hard; they told us to stop, and we did — not out of fear, but mostly boredom and disdain).  We wrote games on those stupid OSI systems; some group efforts included a massive banner generator program, and a juvenile hacked-up version of Star Trek retitled “Star Fuck!!!” which was the perfect embodiment of teen-age boy humor of the most predictable kind. To put snoopy teachers off the scent, Star Fuck!!! was usually kept in a file named “assignment” or “homework” or something.

During the school’s parent invitation night, the teacher in charge of the math lab wanted to show off what “his kids” were working on. He found some random disk that was sitting around and started up a likely program on it labeled “demo,” whereupon “Star Fuck!!!” unlimbered its proud, majestic and definitely not subtle start-up animation.  The teacher yanked the power and formatted the disk, right then and there in front of the aghast parents, and over the next few days he zapped all the other copies of “Star Fuck!!!” he could locate. This was our first lesson in the wisdom of keeping off-site backups.

Revolutions That Weren’t

Bubba Memory

Bubble Memory was going to change the face of personal computing. Well, this was the late 70s, and we weren’t exactly at personal computing yet. If you were computing at all, you were likely an odd duck like me; a computer hobbyist, emerging from the basement to announce victories involving something in assembly language for a home-brew machine cobbled together from 7400-series TTL and a chip from a company named Zardoz. Bubble memory was going to change all of that stuff and revolutionize the heck out of those still puzzling personal computers, once we figured out what personal computers were good for besides playing Hunt the Wumpus in BASIC.

The late 70s struggle for storage was as wierd as the pants we were wearing then. Bubble memory was, well, bubbles, circulating around racetracks etched on a chip. Think: mercury delay lines, but in silicon. Think (though it was in the future) of that wacky Sir Clive Sinclair and the recirculating train wreck that was Floppy Tape. In those days, 256K of non-volatile memory that you could hold in your hand was a big, big deal. So was getting a date, or getting a successful program save on your cassette tape recorder.

When largish EEPROMs appeared, alongside MFM hard drives that didn’t suck, Bubble memory largely vanished. So did our funny pants.


Prolog – The Architecture of Fear

Remember that time in the 1980s when the Japanese and their super-computing AI machines rose up and just steam-rollered the American software industry? Politicians were up in arms about the “Inference Engine Gap,” and everyone was buying Clocksin and Mellish’s book Programming In Prolog, and Shapiro’s Art of Prolog, and Borland got into the act with a cheap and schlocky thing called Turbo Prolog, and even Microsoft dusted off MuLisp and MuStar and made them run on then-modern hardware (that meant Intel 286 chips, but hey, it was the eighties).

Remember all those PhDs in Artificial Intelligence that were minted on the wave of fear just before the fast, smart machines arrived from the Orient and turned Silly Valley back into orchards? It got so bad that start-ups began putting “No Procedural Programming Experience Desired” in their job ads. If you used FOR loops or could spell Pascal you were burger-flipper material. If you knew what CONS did (or could even hum it a little) and could describe a “cut” you were in golden handcuffs and chained to a keyboard before the interview was over.

Remember the boom times of Artificial Intelligence?

Me, neither. Though there was a lot of talk about Japan’s Fifth Generation of computing, somehow it fizzled.

I still have that copy of Clocksin and Mellish, though I never used Prolog for anything interesting. And I ran across that copy of Turbo Prolog a little while ago when I was cleaning out crappy old computer books (101 Computer Games in BASIC, natch); TP was still just as miserable, only it wouldn’t run on any hardware I had. Possibly an improvement.

Lest you think I’m a Prolog hater, the book on the Warren Abstract Machine (or WAM) is a fantastic tutorial treatment on how to design a VM to support a logic language.  It’s available online here:


Ex Em Hell

It’s everybody’s favorite punching bag. Delivered direct from the heavenly spaces one IP address short of Digital Nirvana, XML was going to be the bread and jam and toast of the Millenial Computing Revolution. XML was going to cure insomnia and halitosis, raise the dead, fill our cavities and walk the dog. It was going to be fucking great and all you had to do was learn how to type < and > and know where to put the slashes.

Any start-up could get a truckload of cash just by mentioning XML in their technology brief. Soon the valley was full of people who could type < and > and knew more or less where to put slashes. If you weren’t availing yourself of this digital nectar you were on your way to Dog Town and a career swabbing out spool directories with sed(1).

What we actually got: Any number of crappy serialization schemes and over-designed and under-implemented replacements for INI files.  Undebuggable configuration files, poorly written attempts at replacements to already perfectly awful tools (yes, ANT and MSBuild, I’m thinking of you), and a lot of other smelly garbage littered with angle brackets.  After after weeks of wading through torturous and undocumented XML schemas we were sore tempted to put the slashes in our own wrists.

I worked with an XML luminary who had been involved in the standardization process. I think he claimed direct lineage all the way from the original Ampersands of Aulde Anglebargle back in Ye Old Country, where they quarried data structures with expendable mules and touchy explosives.  He barely showed up for work at the start-up he was supposed to be working at — he was more like seasoning at this company than an actual employee — and when I had questions for him, he was kind of an asshole. I was expendable, the company exploded. There you go. Watch out for falling mules.

We are still living this nightmare, with no end in sight.


“What’s that mule doing up there?”