I started with computers back in the early 80s with a Timex/Sinclair 1000. My brother owned this (tiny) computer – he bought it used from a friend. While I don’t know why his friend sold it to him or why my brother bought it, I do remember the first time I laid my eyes on it. I was probably about 12 or 13 years old, but I could instantly see the possibilities the tiny piece of plastic held. I think my brother probably showed me a game or two and I am sure we were already playing games on the Atari 2600 at the time. I realized I had, in close proximity, a machine that >I< could bend to my will, I could learn how to make it do anything I could imagine. This little black box was the genesis of what I have spent a great deal of the last 25+ years doing. I would sneak into my brotherâ€™s room to play with the little box. I don’t think my brother used it more than a few hours total, but my memory is that he guarded it from me like it was the crown jewels. If he caught me using it or even suspected I had used it he would throw a fit. The little machine had 16KB of RAM and stored programs on cassette tapes. I remember the first days of using the machine – studying programs written in BASIC that came with the machine. I remember sitting in church (in the choir) trying to write programs (on paper) that would re-create a Space Invaders-like program. I knew almost nothing about programming at the time, but I was eager to figure it out. As I recall, the only friend of the family who knew anything about computers, the Church’s choir director Charles Stanley (I believe was his name) wasn’t terribly interested in helping me learn computer programming. Honestly, I imagine he wasn’t actually a computer programmer – he just had some basic computer skills (which was unusual for the time).
I remained very eager to learn how to program computers, but my brother was very insistent that I not use his computer. I quickly talked my parents into getting me a Commodore VIC-20. I donâ€™t recall why we chose the VIC-20 over the Atari 400 or the other machines of the day, possibly price were a motivating factor? In a few minor ways the VIC-20 was a step forward – it had a real keyboard, joystick port, etc., but whiles the Timex/Sinclair 1000 had 16kb of memory, the VIC-20 only had 3.5k of memory available for user programs. Sure, people did some amazing things with this amount of memory (heck, the Atari 2600 only had 128 bytes of RAM and most games were written within 4KB of ROM), it wasn’t much room for a budding BASIC programmer. I used a cassette drive to store programs I wrote. I had few books about computer programming; most of the programming I learned on the VIC-20, and later the Commodore 64 (C64), was from typing in other people’s programs from Compute and Computes Gazette magazines.
In very little time I exhausted the capabilities of the VIC-20 and convinced my parents that I needed a C64 and shortly thereafter a floppy disc drive for it (a coveted birthday gift, one of the best gifts ever) – which stored a whopping 170KB. The C64’s 64KB of RAM (38KB available to BASIC programs) seemed enormous at the beginning, but by the end of my time with it I was hitting the 38KB barrier frequently. I would often try to get the other neighborhood kids to “come over and write a game with me”. This would generally last about 10 minutes – they were up for playing games, but none ever showed my interest in trying to write new software. Even in those days I was far more interested writing code and learning new things about the machine than I was into playing baseball or football. Sure, I loved to play video games (I still do) but I wanted to learn more about how to make this machine do the things I imagined.
At 15, I took my first job working at a computer store that sold and repaired Commodore computers (and software). This job was a lot of fun and I met a lot of crazy people with my same interests. I met a guy, Brian, who was my best friend for several years (until I left for college after which we drifted apart). Toward the end of high school with Brianâ€™s help I “built” my first PC (an 8086 machine which ran DOS and had a whopping 640k of memory). I used this machine, upgrading one component at a time, for several years (sometimes upgrading the video card, sometimes the motherboard + processor, etc.).
By the time I got to college I had taught myself BASIC programming and had taken (and excelled at) a Pascal programming class in high school. To no oneâ€™s surprise, I studied Computer Science in college. My first college Christmas I convinced my dad to get me a 30MB RLL hard drive (my first hard drive) – he got himself one at the same time. I vividly remember opening the box and being so thrilled. I imagined I would never be able to fill a 30MB hard drive (which I probably did before New Years).
It is amazing for me to think back to the store and capabilities of the first machines I used. My C64 ran at 1MHz, it is now common for home computers to have quad-core processors (four processors on a single chip), each running at 3GHz. That C64 has 64KB of RAM. Home computers how commonly come with 4GB of RAM. My first floppy drive could store 170KB and my first hard drive could store 30MB. I own a phone that can store 16GB. I have a thumb drive that can store 32GB. For $100 you can now buy a hard drive that can store 1TB. To help further put this into perspective, the MP3s from a single CD couldnâ€™t fit onto the first hard drive I owned.