Sunday, June 10, 2012

The Hackers, The Dreamers, and Me

The always informative and entertaining Scott Hanselman put out the call for stories on how we got started in computers and programming.  Well, I've never tried writing mine down, so I thought I'd try capturing some of the magic of my youth.  Click past the break if you'd like to join me on a stroll down memory lane.

The Early Years

My earliest computer-related memory was of an Atari gaming console at my cousin's house.  They showed me how to play Adventure, showed me the easter egg (didn't know what an easter egg was, but it was very cool to see secret information the programmers had hid in their game), and I was obsessed.  This probably lit the spark that inspired my parents to get me my first computer.

It all began with the Commodore Vic-20, as with so many other folks around my age (ex: Linus Torvalds).  It was of course used as a gaming machine for my sister and I, but I was fascinated by the tantalizing possibilities hinted at by the sparse startup screen.  Bytes free for what?  What in the world could I do with all those bytes?  I had hours of fun playing around with BASIC and trying to figure out ASCII characters, colors, etc.  Simple stuff, I never was much of a hacker.

Commodore Vic-20
Vic-20 startup screen

I spent more hours typing in programs from magazines in machine language.  Not basic, not assembly, but rows and rows of 0's and 1's.  They were kind enough to include checksums so one could be reasonable certain that one did not add or remove any 1's.  I also started creating some programs in BASIC for my own entertainment.  I started creating a platformer (I didn't know what the genre was called at the time).  I made a little guy with some walking animation, 2 or 3 levels, and some screen scrolling, the ability to jump up and down levels...and then I ran out of memory.  Argh!

I got a datasette recorder to load and save programs.  Boy was I living large then!  True, it took several minutes to load or save, and sometimes it didn't work, but I didn't know any better.  The scientist in my was curious about how the bits and bytes of the program sounded on the tapes; and I would play them in my boom box.  A lot of static and tones of various pitch and length.  Once in a while, I would hear that sound on the radio and wonder who was sending computer data back and forth over the radio waves?  Russian spies perhaps?  Yes, I did try recording from the radio and loading into the computer.  No, it didn't work.  I think I knew it wouldn't back then; but I was always a dreamer.

High School

Well, I eventually got upgraded to the new cool kid on the block, the C-64.  I knew I would never run out of memory again.  I think I got my first floppy drive around that time, 2 joysticks, more cool games.  I learned the word 'sprites' for the first time.
Commodore 64
I loved the text adventure games (Zork), and worked on writing my own.  I had one that I based loosely on The Goonies.  My friends and I held ping pong tournaments in our basement and calculated all the requisite stats on the trusty C-64.  I still had that computer after college; and in a brief period of living at home, I was playing The Bard's Tale on it until it fried a chip somewhere.  RIP mi amigo.

In high school, we had Apple IIe's in the library and in math class.  They were not as easy to use as the Commodores, but I enjoyed playing with them as well.  I wish I could remember what all I used them for.  I did not dive headfirst into the manuals and program on them.  I was aware of a neat curiousity...a one line program for an ASCII skiing game.  One line!  Then there was this nosy psychologist program, Eliza, with whom I would converse on occasion.

My love of computers was apparent to my math teacher; and he recommended that I attend computer camp.  Can you imagine?  A camp for other computer geeks like me?  I could not, but I went anyway.  Where was that camp?  Down by Chillicothe, IL I believe.  I made some cool friends, swam, computed, played chess, crushed silently on a girl, and generally was in heaven.  I remember borrowing a book on programming adventure games.  By the end of the week, I turned in a tattered and dog-eared thing and the counselor let me get away with only a scowl.

You see, I was never a hacker.  I was not really a tinkerer.  I was a dreamer.  I loved the idea of creating a program, a whole world of my own that I could organize any way I saw fit.

Post-High School

I was convinced that I would major in computer science in college.  My dad though was worried that it was too narrow of a field and talked me into electrical engineering instead.  That's OK.  I learned FORTRAN and assembly.  Learned C on my own.  Learned computer architecture and the beginnings of switching theory.  Later on took a class on C++, got into Matlab.

Sometimes I think that I made the wrong choice, but I know a lot now that I would not have had I stayed within CS.  Who knows.  I just attended a conference where a couple of guys from Havok exhibited their Vision Engine and presented a paper.  I admit that I was a bit of a fanboy.  From all I heard and saw, it seems like they have an incredibly clean, beautiful, and optimized codebase; and I would have dearly loved to have contributed to it.

In the end, I have to stick by my new motto...

just keep learning.

No comments:

Post a Comment