Friday, 5 August 2016

My emergence as a computer geek

My father's interest in amateur radio opened me up to a fascination with electronics, as well as to the marvel of using that technology to be able to communicate with the wider world over great distances. My father also was the instigator of my interest in computers.

My dad started working for the Department of the environment of the federal government in 1965, doing computer programming. You read that right, 1965. Computers in those days were BIG. The idea of a "portable computer" was ludicrous, and something with far less computing power than a typical calculator today would fill up a large room. I know, because when I would visit my dad at the office I'd see them for myself. It was all so...esoteric. The computer rooms were temperature controlled, filled with spinning tape drives and computer cabinets with flashing lights, and hum and whoosh of spinning fans...a kid could even (playfully) try and hide in there. I had the feeling I was entering into a different world, one that I knew not a lot of people ever saw. It was my entering the wardrobe moment.

Programming computers in those days was a bit of a pain. Programmers would have to load their programs using punched cards. During one of my visits (I must have been less than 10 years old) I distinctly remember having a chance to sit at the machine that produced those cards. It was a bit like a manual typewriter, except that instead of feeding in a sheet of paper a punch card was used. The keys would click and you could hear the hole being punched in the card. Of course, what was written on the card made no sense to me, and it was explained that this was a special language that the computer could read to make it run. From my point of view it was like magic, only intead of saying "Abracadabra" you'd say it in assembly language.

To my wonder, I discovered that it was also possible to have a computer at home, or at least to have access to one. The computers would sometimes have to be monitored throughout the night, and one evening my father brought home a strange-looking suitcase. Upon opening it, we saw a keyboard similar to those on the card-punching machines, as well as a couple of rubber cups into which he could fit our telephone headset. (I don't remember what model it was, but it looked almost identitical to this old beauty, a TI Silent 700 terminal.) He explained that this terminal would let him "talk" to the (huge) machines back in his office using the computer language -- over the telephone! Good grief, that meant computers could even use the phone to talk to each other! Would wonders never cease...

A few years later, another visit to the office introduced me to new ways to interact with the computer. Assembly language was out, and dad was now programming in Fortran (as he explained, just like people had different languages different computers might use different languages). As well, no more punched cards -- terminals with green monochrome monitors were the latest thing. In the old days he would have sat me in front of a card-punch machine to keep me entertained, but now he had something even better: my very first experience with a computer game. After a bit of research I now know that the game in question was called Colossal Cave Adventure. It didn't have any of the bells and whistles of today's games (it was purely text based, with no graphics at all) but nonetheless it was quite extraordinary. Colossal Cave Adventure allowed a player to enter commands using regular (albeit simplified) English, i.e. the user didn't also have to be a programmer. Prior to discovering that game, I saw computers as giant calculators: you entered the data, and got a result. Suddenly, it was all about interaction, and even with the machine itself.

We eventually got a video game console called the Atari 2600. The games were generally fun, but you were limited to just plugging in cartridges someone else had made -- there was no possibility for creative input by the user. Then, in my first weeks of high school, I attended a book fair in the school library where I discovered a book for programming computer games. Let me be clear, this book did not teach programming: it gave actual listings of computer program code that a user could enter manually to then run the game. (This would be completely unthinkable today, but back there there were whole magazines like Compute! that would publish monthly program listings.) Even though I didn't own a computer myself I bought the book immediately and tried to figure out how this particular computer language (called BASIC) worked. Eventually I decided to try and write a program of my own, and the result was a simple text-based golf game. Without a computer to actually test it on, though, I did the next best thing to check if it would actually work: I showed it to my dad. I remember how surprised he was when he started reviewing the code, and how delighted he was when he was able to tell me that he couldn't find a single programming error.

I don't know if that simple program is what prompted it or not, but shortly after that we got the computer that would prove to be the instrument of my full immersion into geekdom: the Commodore 64. Yes, you could play games, but you could also program in BASIC (the language I had learned for my golf game). I hacked the heck out of that thing. I entered code, I wrote my own programs, and while I couldn't make that thing dance I could literally make it sing (or at least make pretty sounds -- it had a really good sound chip). It didn't have a lot of resources (only 64K of memory, of which only about 38K was really accessible), but thanks to all kinds of code optimization tricks people were able to make it do amazing things. For myself, when I found that the BASIC language interpreter was too slow for some applications I learned hexadecimal and started to code in machine language (the C-64 Programmers Reference Guide was my geek bible). Honestly, it was a major creative outlet for me, and years later, when I saw the slogan "Code is Art" written on a T-shirt, I felt a moment not just of agreement but of recognition.

Those old Commodore programs live on thanks to C-64 emulation software that can be downloaded for free, and my old Commodore 64 is still sitting in my parent's basement. Just the sight of it still brings up fond memories, like a painter looking at one of his old palettes that just felt right in his hand.

POSTSCRIPT: A traffic camera caught a picture of a snowy owl in flight, and the image went viral in January 2016. While I think snowy owls are lovely birds, I have to say that the photo made me smile for a different reason. If you look at the picture, you'll see a building in the top middle with satellite dishes on the roof. That was my dad's old office!