A Guy Named Alan - at Microlink

back to work

Reading about the "guy named Mel"in which I particularly liked the part about "ethics," I was reminded of one of my  own former jobs.

http://www.catb.org/jargon/html/story-of-mel.html

I used to work with a Mel.  We'll call him "Alan" because that was his name.  I've forgotten his last name.  The task we worked on was to turn an IBM-XT into a paging transmitter controller, (Remember pocket pagers?  Remember IBM-XTs?)

... using 8086 assembly.

The official reason for this approach was that "compiled code was too slow" but the real reason was that Alan said, "You don't know what some <jeer> high level compiler </jeer> will do to your code!  It will make up all sorts of branch tables and fill up kilobytes with header nonsense!"  kilobytes!

So, while I assembled the code to make our proprietary hardware (plugged into the XT bus) answer the phone, interpret the page origination and spit out modulation sequences that would properly activate two-tone, five-tone, voice, Pocsag, and Golay coded text pagers and even send Morse Code so the transmitter could legally identify itself, Alan had the real programmer's job.

The idea was that, pages being sporadic and computers being expensive, the computer would be dual use.  A secretary (or an engineer!) would be sitting there doing something "useful" like a spreadsheet or word processing and the paging operations would go on in the "background" as needed.

To Alan, this meant intercepting the timer interrupt (the "never touch" one, 0x08 that fires every 55 milliseconds) and, when I wanted the system to do a page, he'd use a TSR triggered by that tick to swap out the entire OS with all the application state and everything, and swap in mine that looked to me like a fresh machine that had been booted up and loaded with only my program.

As you might guess, this development involved many hard crashes.  Watching me reset repeatedly, Alan quipped that I needed a foot switch on the hard reset button so I wouldn't have to get up and reach around the back of the box so much.  This being the early 80s, we had paper listings all over the place, including a couple of trash cans full of them.  He thought it was funny to watch me digging through the trash looking for the other end of a conditional branch reference in code about three versions old.  This was before even 'vi'.

CMMI level what, about -2?

What was interesting about Alan was that he was no cranky old man.  This was when I was a second time fresh-out but Alan was younger than I was, an idealistic youth who worked on entrepreneurial wind farms on his vacations and thought that NASA should change the orbit of Venus to bring it closer to earth for our entertainment.

The gray beards of that era were the real mainframe programmers who would look at us with our "all languages" loaded TRS-80s, Apple 2s and, yes, XTs (that meant:  Basic, Fortran, Pascal, and for the real rebels, Forth) and shake their heads and say, "you kids have no idea what a real computer or real computer language is!"

Drums, eh?

created 2007 October 10, cbd