Robert Scoble just had to go and post something interesting again (see the entry about early computing experiences), so here I am, responding… I initially found out about the “early computing experiences” thing through Scoble’s site, but it all actually started here.
Note that, although he only asked about early computing experiences, I went on ahead and included an abridged version of my entire computing life. It just seemed like such a fun thing to write on Sunday morning as I sit here and, slowly but surely, kill myself with a cinnamon roll and a cup of coffee.
—
I was born in December of 1977. We didn’t have a computer yet because we were dirt-ass poor. We didn’t have food yet, either, so the family was kind of focused on taking care of the important things first.
By 1983, we had eaten food a few times, and the family was feeling pretty good. There was a little bit of extra money lying around, and a local store was having a sale on the Timex Sinclair 1000. They had been marked down to about $19.95, which made it seem like as good a time as any to make the investment in a neat thing that you couldn’t eat, so my dad forked over the bucks and came home with one of those bad-ass little black boxes.
I didn’t know what a computer was at the time, and it quickly became obvious to me that it was something that I couldn’t eat. Having spent the previous few years of my life basically starving, a curiosity inside of me was stirred. What was this thing that seemed so important, but which could not sustain life? It didn’t have any clear purpose – When you’re five, the world revolves around you, and this creates the expectation that most things should just make sense, even if you have to fabricate your own reasons for their existence. This computer thing baffled me.
That night (at least I remember it this way), I watched as my dad entered a BASIC program into the thing. It was time consuming, but utterly fascinating. With each depression of a letter on that membranous keyboard, a BASIC command popped up on the screen (an interesting aspect of the Timex Sinclair which was, presumably, there to save keystrokes). After he had pressed enough buttons, and after enough commands were on the screen, my dad was able to “run” the “program.” I don’t remember what it did exactly – In order to clearly remember something, you must be able to put that thing in a strong context. This first computing experience was what set the context for the rest of my experiences, so I don’t remember it that well. As for the rest, though…
I kind of took over the Sinclair. Another thing about five year-olds is that they’re pretty good at getting their way when something seems important enough to command their attention. After learning that, although you couldn’t eat it, you could use the Timex Sinclair 1000 to program little interesting things for yourself, I was hooked. Five year-olds are complicated, and something they want is to be able to assert themselves. They want to be able to control the world a little, and the computer was a marvelous tool for doing just that. If mom asked me to clean my room, then this simple program was all it took to refute her request:
10 PRINT “NO”
20 GOTO 10
I couldn’t possibly say “no” as many times as the Sinclair could, nor could I do it as quickly. That thing really liberated me. It freed me to ponder the other important things in life such as, “Am I going to eat today? I wonder if I can eat this& Nope. Can I eat this? Nope. What about this…”
A year or two later, my dad (quite magically) got a job as a real estate appraiser. Some guy moved in across the street, asked my dad a few questions about life, and then hired him. Because the office was in this guy’s house, I was able to go over whenever I wanted, and there was something inside that I wanted very much.
It was one of the original Compaqs. Not the fancy things that were being produced by the company before it was absorbed by HP, but one of the old, clunky ones. It was the “portable” green-screen model, and it blew our Sinclair out of the water.
It came with a number of demos that were meant to show off its capabilities. Running those demos on that green-screened portable box, I got to hear, for the first time in my life, the “Dance of the Sugar Plum Fairies” and Bach’s “Jesu, Joy of Man’s Desire.” They were accompanied by what I imagine Compaq thought of as a sort of graphical ballet.
There was no question at all: I had to have one.
Not too long after, my dad came home with one of the original 256k IBM PCs. It was running DOS v1.1. I was a little disappointed that it wasn’t the Compaq, but that was before my dad turned it on.
If watching graphics dance around the screen in monotonal green to some of the greatest music ever made was a neat experience, then what happened on the IBM was about as good as resurrecting dead composers and inviting them into your living room for the afternoon: MS had provided its own set of demos to show off the machine, and they floored me when I thought that I couldn’t be floored any further.
For one thing, this machine had a CGA card and a color monitor. In text mode, we were able to get 16 colors at a time out of it. In low-res graphics mode, we were able to get four, which at the time seemed infinitely better than the one color (not counting black) that the Compaq had.
One of the demos was a sort of player-piano. There was a piano drawn on the screen (blue background, red border, black and white keys) in text mode, and it was sitting on top of a menu of tunes that it could play. As a song played, the piano key corresponding to each note would light up. I learned how to play “Sakura” by watching this piano do its thing. This piano also played “La Cucaracha,” which, to a six year-old, is one of the most exciting songs on the planet.
What happened next was sort of a repeat of the Sinclair experience: I sat and watched as my dad entered a BASIC program. It was MS BASICA v1.0, and it clearly had a bit more going for it than Sinclair BASIC. For one thing, you could save your program after you wrote it.
Sadly, the little black box was forgotten.
What really got me excited about coding on the IBM, though, was something my sister did. She wrote a BASIC program (nothing but PRINT statements) which drew a house on the screen. There was an owl sitting on the roof, and a moon, obscured by clouds, in the background. That was pretty neat.
With the IBM, I started coding more and more. Because the MS demos were written in BASIC, I was able to open them up, dissect them, and learn from them. One program in particular, Donkey, had my attention. It was a simple game (coded by Bill Gates, as a matter of fact) in which the job of the player was to drive a car down a road, all the while avoiding the donkeys which occasionally got in the way. It was top down and repetitive, but still a hell of a lot better than anything else we had. It was from Donkey that I learned an image could be XORed against a background without erasing that background. This little tidbit of tech know-how was probably about the coolest thing I took away from my early code spelunking.
The IBM also gave me my first opportunity to port a program. I wanted to have the Compaq demos running on our PC, but they refused to run properly in their original state. I don’t remember how long it took, but I eventually got them running, which pleased me to no end. I wasn’t porting because anybody was paying me to do it, nor was I coding because I had a deadline to meet: I just wanted to be able to experience the neatness of those demos without having to go across the street (I make this sound like a big deal, but I probably only had to change one or two lines – Still, though, it was fun, exciting, and very satisfying to have done).
The years went by, and I just kept coding. Life got really interesting when I turned about 13, took the family 386 (when nobody was looking), and turned it into a BBS. It started out small, but eventually became one of the most popular single-line message boards in “5o3.” It was completely different than the other boards in town: Back in the days of the BBS, you were either “elite” or you weren’t. On my board, it didn’t matter. It was a meeting ground for all the local “haxors” and all the local “lamers.” I’m proud of that board because it was the anti-snob BBS. In a way, it reminds me of some of the blogs that I’m seeing now – Executives, “celebrity” coders, etc. – They’re making themselves accessible in the same way the “haxors” made themselves accessible to the “lamers” on my board. When two-way communication can happen between the supposedly “important” people and the rest of us, a good thing happens: It becomes totally obvious that the “important” people are often just lucky (or well connected) people who are just like everybody else. It’s a great social equalizer.
The days of the BBS were important for another reason: It was the first time I ever made any real money. Money isn’t the wonderful thing that people make it out to be, but it’s a lot easier to buy magazines and chewing gum on the weekends if you have some. I made a little by asking for donations on my board, but quite a bit more by getting involved in the dark underworld of porn.
At 13, I probably should have been mowing people’s lawns, but let me tell you something: I’m not going to mow some rich bastard’s stupid god damn lawn for $2.00 if I can make ten times as much money buy simply selling a few images on disks to my friends (and friends of friends (and so on)). It took weeks to get enough images to make a sale worthwhile, but the great thing about those images was that you could stuff a bunch of them onto cheap little disks and then mark them up wildly. Rinse, lather, repeat. Porn was good to me. It also made me feel like I was getting away with something. I was failing out of middle school at the time, being told by my teachers that I was hopeless, and so experiencing a little bit of positive feedback by keeping my customers happy was something that I needed at the time.
Life continued. I kept coding, kept having fun. A few years later, I dropped out of high school with a .86 GPA. Did manual-labor type jobs for a while, and then decided to go to college, where I promptly swore off coding. I decided that I wasn’t going to do it anymore – I had been doing it my entire life, and wanted to see what else was going on, so I focused on languages, writing, literature, travel, and crap like that.
Swearing it off didn’t work, though. I had been breathing my entire life, too, but hadn’t managed to quit. No matter how hard you try, you’re not going to be able to stop yourself from breathing by holding your breath, and it was the same with coding. I started writing programs to help me study for French and Latin (and they helped immensely, thank you very much). Before too long, I was back into it.
However, college, at $35,000/year, was too expensive, and I dropped out after two years.
Which brings us to the present. I code for a living now, and it pleases me.
I left some things out, but that’s because I didn’t want to bore you. If you want to know what I had for breakfast on this or that day, then just email me about it, and I’ll see what I can do.