It’s November, 1988. I’m in eighth grade now, dealing with three broken fingers on my right hand from a fall I’ll tell you about some time soon. I’m looking for things to do while my hand is in a cast, since I normally practice drawing every night after dinner—but a useless dominant hand means other creative outlets.
Drawing with my left hand was one possibility. I could take my time and really focus on getting the drawing right, and I could actually copy some pretty good comic book covers this way, although the process was frustratingly slower than drawing with my right hand.
Hunt-and-peck typing was another possibility. Since I hadn’t yet learned to type, it didn’t really inhibit my ability to make characters appear on a piece of paper… or on a computer screen. The state of computers in the mid-80s was in heavy flux, going from very difficult to use to much more accessible. Here’s how I described this state in Go Surf:
People didn’t really understand their wide-ranging utility, and both hardware and software were pretty user-unfriendly. To run programs, you had to understand at least a tiny bit of code yourself—at least the very basic C prompts from MS DOS, just to run programs (even games). You needed to load the program from an audio cassette tape, just like the kind on which you’d create a mixtape.
This clunky interface made people who played games on computers necessarily a bit more knowledgeable about code than, say, today’s gamers who can just log in and start playing.
Another common way to play video games on your home PC was to type the code in directly and just run the program. You could buy computer-specific magazines that had the entire game’s code printed in there over several pages; all you had to do was type it all in without making a single error, and—poof! easy as pie, you could be off and playing in just a few short days.
I was no coding expert, but I had a bit of practice. I knew how to make text appear on the screen at a certain time, among a few other tricks. I decided it might be fun to try to stretch the limits of what I could do. I would sync up the lyrics and the music of a song.
Which song? This one:
That’s right! Pre-punk me was super duper into Paula Abdul. This wasn’t long after my Debbie Gibson phase, not long before high school would grab me and take me in an entirely different direction.
By using Microsoft BASIC, I could cause little pauses of a certain duration to appear by using logical steps. I appreciated how deterministic coding was in one sense—you could figure out how to get just what you wanted, as long as you could figure out the steps, and these steps made sense to me. In another sense, it was frustrating to type one character wrong and have no idea why the whole thing failed.
This was a good challenge for me. The text had to match up with the music almost perfectly, or else the whole thing would be delayed and off-sync. When Paula sang the opening lines:
It ain't the clothes that you wear
It ain't the things that you buy
It ain't your house on the hill
It ain't the plane that you fly
It was pretty easy to get the text to display on the screen at the right time, after a bit of hacking/practice. Hacktice? I could play with the code a little and tweak how quickly each word popped up.
However, by the time the lyrics got to:
It ain't the money or the diamond rings
Honey I ain't impressed with your material things
I’d have to add in some extra delays. Essentially, I figured out that this was a problem of chunks of time. You could snatch a little bit of time away from the program, then have the next line (and all subsequent lines) display sooner, or you could add in a longer delay.
I knew I was home free if Paula was singing about Brazil and Rome, and my lyrics still matched up.
I never followed up with getting good at coding. There were computer science classes at my high school, but I was more interested in art, wrestling, girls, and all sorts of other things. Even still, I think the tiny bit of coding I did back then helped me to understand and appreciate how amazing today’s tools are.
How about you—do you have any early coding stories? Did the tedious process of typing in characters help you appreciate things today? Alternatively, what’s your favorite Paula Abdul song?
I can’t remember the first time I got the coding bug, but I remember the sensation. It’s the kind of euphoria you get when you have some success creating something and you feel a pull to finish it, perfect it, expand it. Stay up all night. For example, subroutines (now called functions or methods) are after you’ve written a pretty tight bit of code that can be reused - you pull it out as a separate module and now you have a fundamental lego block. Then you can collect those in a library for broader sharing and you’ve got a box of legos that can build the Millennium Falcon. TensorFlow is an opensource ML library you can use to build Neural Nets. Can you believe that shit? I wrote about neural nets this week so they’re in my head hehe. Also, Straight Up.
Decade and a half earlier our high school computer was pre-basic. Up arrow, down arrow, add subtract, etc. at least it saved the program on a magnetic card. The big project for computer science was to create a clock program, printing each minute, for 24 hours. Figure out how long a series of operations would take, taking into consideration the time printing consumed. Leaving it run slightly fast to allow for the hour print, which was longer. The worst part was, on several of my runs the power went out over night, ruining it. Finally got a good run, with the allowed error range. That computer hated one of my classmates: it would shock him every time he touched the keyboard. He had to punch in all of his programs using the eraser end of a pencil. I did take a BASIC class in college. My advisor tried to talk me out of it, saying “Pharmacists will never need to use a computer”. Right.