Monday 6 June 2011

Unbound

When I was a kid, I wanted to be a mad scientist.

I didn't particularly want to rule the world, or destroy it... I wasn't thinking about my ambitions that deeply. I wanted to make stuff, and the stuff I wanted to make was spaceships and killer robots and  giant lasers and computers that could think. That left me two options: science fiction author or mad scientist.

I had some other ideas, too, but when I turned ten and I was prescribed spectacles my ambitions to become a fighter pilot were dashed, and after some consideration I decided that I would be satisfied with becoming a recreational SCUBA diver if I got to make stuff in my real job.

I think I was eleven when I asked my mother to enrol me in a computer class at the local community centre. One day a week, I got to sit in a room full of Commodore 64s and learn how to program in BASIC. My recollection is hazy, but I think I was the youngest person in the class. The work itself was very low easy: arithmetical operations, reading input from the keyboard and displaying text on the screen, conditionals and gotos. I learned just enough that I could start writing text adventure games in the mode of ZORK and HITCHHIKER'S GUIDE TO THE GALAXY. None of my games went more than four screens deep. In one of the games, you were a Navy SEAL and in order to complete your mission you had to type in, verbatim, "RETURN TO RECCE SPOT, SET DEMOLITION CHARGES AND SWIM BACK TO RENDEZVOUS POINT FOR EXTRACTION."

After I completed the programming course, I enrolled in an electronics unit. You need hardware to build a killer robot, right? Electronics basically consisted of assembling circuits out of a Dick Smith book. It was fun while it lasted, but the interesting circuits always required components I didn't have, and I found it very difficult to be independently creative with what I learned there. I knew what resistors did, but I couldn't understand why they were necessary. Needless to say, none of the  gadgets I tried to invent on my own ever worked. I think even then it was clear that I was a Software guy.

Not too long after that my father decided it was time we owned a computer. I was puzzled as to why, but delighted all the same. With much ceremony, a man arrived at our house to set up our first system: an IBM PC compatible XT, with a 16 colour EGA monitor, 640 KB RAM and a 10MB hard drive. This beast of a machine was powered by an Intel 8088 CPU that could clock up to 10 Mhz in Turbo mode.

Event hough I hadn't been aware of what an IBM PC was prior to that, I loved the machine, which came fully loaded with all kinds of games as well as boring applications like MS Word and Lotus 123 and Paradox, but I was a little disappointed that I couldn't write BASIC programs on it. The command prompt LOOKED like BASIC, but you all you could do was annoying file system stuff there.

I very quickly decided that I wanted to buy an Amstrad PC-1512. It was even then an old machine, much lower spec than the XT, but I wanted another, different computer to play with... and I wanted it to be exclusively mine. why, specifically, the PC-1512? Because it was cheap and I thought I could get one. I have little doubt that my 'fun' with it would expired within a month. I would then have pulled it to pieces and there would have been no hope of ever putting them back together. I think my parents knew this, too. One day I'm going to own a dog named Amstrad, though. Or, maybe, a goldfish.

I eventually discovered that BASIC was an application you could run on any IBM compatible PC, and in fact I had two versions: GWBASIC and BASICA. I wrote some more text adventure games, and I bought a couple of computer magazines which contained source code for various programs. I spent hours typing in that source code, then hours more getting it to work (most were written for Commodore 64 and wouldn't work. Some wouldn't on any platform.) The resulting programs were invariably lame: the fun was all in making them work despite their puzzling use of GOSUB and the annoying REM statements that didn't do anything besides trying to explain what the program did.

The new PC wasn't all wine and roses. We had hard drive trouble and the poor bloke who sold it to us kept  having to come over to the house to try to work out why it had stopped booting properly and to run Spinrite diagnostic software over it, which would take upwards of 12 hours to examine all 10MB. After a while he replaced the drive, but that wasn't the end of the trouble... because I was now taking an active interest in what was broken and what I could do with it. I don't think I realized it, but I was starting to have more fun learning to fix the machine than I was playing games on it. I remember experiencing quite a bit of excitement the first time I ever saw a virus (Bouncy Ball), and in fact I recall waiting long periods of time sitting in front of the computer, waiting to see if it would manifest.

In year 9 I changed high schools, and we were required to take computer classes at the new school, which had a lab equipped with a couple of dozen BBC Microcomputers--even then, these were outrageously obsolete. I can't remember what we learned to do on the machines, but I do remember enjoying several nerd-a-licious hours hacking into other classmates' accounts and finding some very primitive games like Frak! that were loaded onto parts of the new work that I don't think we were meant to be aware of.

In year 11 and 12 we got to choose our classes, and I chose Information Systems. In this class, held in the new PC lab, we were taught to program in Pascal. That was pretty exciting for me. It wasn't much like basic, and I learned many good lessons there about primitive data types and procedural programming. I still have vivid remember the two Info Systems teachers teaming up to demonstrate arrays to us using a classroom method that I can only describe as Interpretative Dance. As a result of our snickering they refused to teach us about pointers, and as a result of that, we never really produced anything much more interesting than the BASIC programs I had written years prior... but, boring as they were, those Pascal programs were more typesafe and better structured.

We learned SQL, as well. I didn't enjoy it much, but it was easy. It wouldn't be until I started my first job that I would come to realize how important it was. My Info Systems class also spent some time learning a 4GL, but I don't remember which one. I don't remember anything else about it at all, other than that I hated it.

There were no programming tasks in any of the Information Systems exams, and I don't believe there were many in the assessable assignments, either. The subject was easy, but it quickly became a huge drag. I preferred English, Art and Chemistry, which were more more fun or more challenging. I wanted to make stuff, and the stuff I was making in Info Systems was boring. I took mathematics, to, and although I disliked it I was also more interested in it. In my marks it came second only to English.

By this time, if you asked me what I wanted to do when I grew up (I was in year 12, and the question was  frequent), I would have told you that I didn't know. 'Computer programmer' was still on the list, and I did attend the open days of various university computing departments, but by now I was beginning to think that I should be a painter. Or a sculptor. When it came time to choose a set of University degrees to apply for I spent a lot of time making a list, because Mad Science wasn't on offer anywhere that I could see. The result was probably one of the stranger lists that a student with decent marks submitted to the state assessment board. Computer science was on there, but I also applied for a number of fine arts programs. And straight science. And an obscure program in the Medical faculty.

Our results were published, and I did pretty well, without setting any records. I had aimed for what I thought was the maximum score required for any of the subjects on my list, and I beat it by a small margin... but the medical degree went up a slightly bigger one. The program I was enrolled in was one that would see me graduate as an Art Teacher, and the entry criteria were low.

I spent about ten minutes thinking about this before I decided that I did not want to be a teacher of any sort. I'd spent 12 years at school following three years of kindergarten, and I had at least another 3 years of University ahead of me... that was more than enough time spent in educational institutions. Besides, I remembered how we treated the Art teachers.

I changed to a different degree at a different University. This one had not been on my list of preferences at all, and I'm still not sure why I suddenly liked the idea of it... but my marks were more than sufficient to get me into the course and it seemed like a good idea at the time. Computer Science constituted about half of the coursework, with the rest from psychology, logic, philosophy and linguistics. I really had no interest in these latter subjects, but I guess I was hoping that all of them in conjunction would lead to some kind of mad science.

It never did, although there were many times coming during which I would, indeed, question my sanity.

No comments:

Post a Comment