My History in Code
I first encountered a computer in eighth-grade gifted class. It was a TRS-80, which immediately was referred to as “Trash-80.”
When it was brought into the room, a number of the boys immediately adhered to the box. It wasn’t their fault, the nerdions within them were irresistibly attracted to the positive computer-nucleus inside. They were even happier when the box was opened and they actually got to use the machine.
The teacher decided that since the children were already using the expensive computery-thing the education board had sent him for their betterment, that he should try to teach a class on it. Furthermore, since this was the modern 1980s, and he was a sensitive, enlightened guy, he should try to teach the girls, too.(1)
I was sitting in the back of class, negligently dreaming up a new doily pattern when the teacher gave the lesson. For some reason, he decided to start teaching programing with the concept of recursion. In retrospect, it is possible he didn’t like us much. The problem was one of goldfish reproduction and how many goldfish one could expect to have after a given number of generations.
I hadn’t found the discussion of programming interesting, but the problem of run-away goldfish sex grabbed my attention. A few minutes later, putting my doily down, I interrupted an argument between the boys and the teacher in which the boys had just about convinced him that recursion was an infernal device and shouldn’t be taught to young, impressionable minds, with the words: “Why don’t you just do this:” Then I explained the logic to solve the problem. The teacher and the boys looked at me astonished. Not only had I spoken in class, but I’d said complete sentences. A girl near me almost dropped her crochet hook. More than that boggled the teacher and the boys, my solution might even be correct.
I was quickly rushed to the nearest computer by a skinny boy named Gerald. Because even back then we knew that the only way to be sure you had the right answer was to check with a machine. Calculators had taught us that much. Once we were in front of the screen Gerald panted: “Can you do that again?” I looked at the white ASCII characters on the black background and said, “I don’t know the code language stuff but I can tell you how it should go.” I did so, and Gerald translated my logic into variables and for-next loops and made one addition of his own, a variable counter, i++, to keep track of the generations.
And lo and behold, it was correct. There was even a lesson plan with the right answer to confirm our smugness. And so my first user interface was a acne-faced kid named Gerald.(2)
After this initial taste of programming success, I decided I wanted to learn computer programming “for reals.”(3) I knew that computers thought in binary, but I wasn’t able to find a binary programming book. So I settled for something called Assembly language. Unfortunately, I had no 8080-assembly compiler handy, so it quickly became an exercise of writing PEEK and POKE code calls on paper to store and recall variable amounts and then checking my work manually. Even a truly geeky thirteen-year-old girl will find this dull after a while.
At some point, I got clued into this whole Basic language thing. I begged my mom to let me borrow the super-sexy Atari 400 that the school had given her for her Spanish and ESL students. It could do...wait for it: graphics! We agreed that it could be brought home nights and weekends, as long as I packaged it up next morning to go back and I was willing to solve any computer questions Mom might have...for life. Mom was no dummy—she probably has her own box of doilies somewhere—and is still earning dividends off this Faustian bargain.
I began to write a computer game. My dream was to re-create Space Invaders, so I could play as much as like—for free!(4) I spent many happy hours animating aliens and fired shots around the screen. The computer had no disk drive or hard drive, and having to type the entire program in from scratch each time slowed development down considerably. On the other hand, being forced to type in each line over and over was an excellent motivator for designing efficient code. It became a game in itself: how few lines can this code be (and still be type-able?)
I saved all the money I didn’t spend on video games and bought a Commodore 64. It cost somewhere in the three digits and was a major investment to my 13-year-old self. I spent a happy summer writing my own AD&D-character-generation program. It was essentially a series of fill-in-the-text forms with a random number generator and a print function. It was my magnum opus. Gonna revolutionize my life and make it so much easier to recover quickly from unplanned RPG death.
With a whole summer to burn before eighth grade and college(5), I got in this routine: get up around 3pm, fart around for a few hours before settling down to the serious work of coding around 6pm, code all night until 6am while listening to Nick at Night old-time television programs in the background (I Love Lucy, Mr. Ed, My Three Sons), go for an early morning run, shower, sleep. This was the only time in my life I’ve been able to follow my internal clock completely, and it’s still a warm happy glow of a memory, being in perfect synch with my biorhythms. I love working at night; I get all my best ideas at 4am. IMO, it’s a shame the diurnals are running things.
Part 2 of this narrative picks up in college, and it will get written when my subconscious comes across with a way to make UNIX and MUD-related-angst amusing. Until then we return you to your regularly schedule weaving blog...
(1) In the 1950-70s, gifted girls were largely related to designing intricate crocheted doily patterns. It is posited by some scholars that while doing so, they discovered the secret to life, the universe, and everything, and encoded it in an elegant hassock-cover which was published in The Elegant Lady’s Guide to House Fripperies, page 42.
(2) Gerald’s name has been changed from the original. Because seriously, can you recall who you went to eight grade with? What is interesting here is that I can barely remember the boy, but burned into my brain forever is the code correction he made to my logic, which probably tells you more about me than I’d want you to know.
(3) No one said “for reals” in the 1980s, slang was much more primitive then.
(4) Remember when playing video games used to cost 25 cents for three lives? And when limiting “screen time” involved giving a kid a financial-management problem to solve?
(5) Long story, entertaining: involves international travel, educational hijinks, and living the life of a spy, but beyond the scope of this particular narrative.