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