John Stracke's Voyage of Geekery

I wrote my first computer program in 5th grade, on a Wang at my dad's college. It didn't run, because the Wang's BASIC was different from the TRS-80 BASIC I'd read about, and I couldn't figure out what to do about it. A year later, I got a crack at the TRS-80, and wrote...something, I don't remember what. A few months later, we got a TRS-80 Color Computer--the fancy version, with 16K of RAM and Extended Color BASIC (translation: a Microsoft BASIC, with more bells and whistles than the stock Radio Shack version).

(Side note: One of my old geek friends from this period wrote recently to say I should talk about what a pain it was saving programs on cassette tape. Nope, I'm not going down that path, because I know I had it better than geeks of previous generations, working with punched cards, front panels, and so forth.)

I started learning other computer languages around 9th grade or so: 6809 assembly language and Logo. OK, so Logo's pretty toy; but at least it had real subroutines--oh, and the version we had had threads, too. Logo is based around the movements of a turtle, right? Well, Color Logo let you set up multiple turtles with different instructions, and they could send messages to each other. You could write an interactive game by having one invisible turtle listen to the keyboard and send messages to other turtles that were drawing the entities in the game.

Around 10th grade we got an Apple clone, a Franklin Ace; I got to know its disk drive system and hacked with its assembly language a bit (6502, a real pain after the 6809). I learned Pascal on Apples in 11th grade. I started playing around on IBM PCs at my dad's college around this time, in BASIC and in FORTH--oh, and Borland Turbo Pascal.

In college, I got exposed to Macs for the first time. For a while I believed they were just toys--no command line, slow for the price, etc. I still used them for word processing, though; I loved playing with the fonts. I also started playing with Unix: we had an AT&T 3B2 and a bunch of AT&T Unix PCs that we used mostly as terminals for the 3B2 (since there was no real networking, and it was too much of a pain to come in and find somebody else was using the Unix PC where your files were). Oh, and some VMS, too.

A couple of years later, the Mac II came out, and that I liked rather better (color monitor, slots, faster chip); I stopped saying Macs were toys. I even started programming them, in Turbo Pascal (which was a really lame environment, with minimal Mac support; I bought a copy of THINK Pascal a couple of years later, when I could afford it). Oh, and in Hypercard, too.

I graduated with a math degree and went on to grad school in math. Unfortunately, I had two problems: (a) my study habits had gone all to hell (Northwestern math had been much too easy); and (b) my office was right next to the computer room (three Sun/3s, all on the Internet--I'd had limited email at Northwestern, but nothing like this). Oh, and the libraries had nice Macs, and, being in a technical department, I could get permission to use the ones in the technical library all night long. So my academic career was doomed--but I learned a lot about programming, anyway. :-) I got my first exposure to C and to objects.

Since then I've had several programming jobs (you can check out my résumé if you want), and also gotten more comfortable with my geekery (marrying a demigeek helped :-). I now have a home LAN, with full-time DSL to the Net, gatewayed via a Linux box. I participate in the IETF (a great way to geek out on company time :-); I've contributed bugfixes to fetchmail, gcj, and kaffe; I've released a few pieces of free software of my own; I put Linux on my company-issued laptop (which has the nice side effect that people don't ask to borrow it ;-)...I'm a geek. :-)

Home SCA Geekery Books Thoughts Send mail Mastodon