When I was young, my father never played football with me. We never played rough and tumble games together, or watched sports on TV, or did any of the traditional, manly, “father-son bonding” rituals. We still had a close relationship, but one based around a shared common interest — technology.
I have been around some kind of computer for almost as long as I can remember. When I was seven (or thereabouts) my father bought me a Commodore 64C for Christmas. This would later be upgraded with various bits of extra hardware, and finally traded for an IBM PC. But it was the humble Commodore that sparked my interest in computing, together with my dad.
At first, being young, I just used the machine to play games. My mother hated the thing. Something about a father-son team, sat for hours in front of a TV screen playing Thomas the Tank Engine and a lively game named GUTZ just didn’t agree with her. But play we did, and I had a great time. And while I was tucked away in bed, my father taught himself to program in the Commodore’s native BASIC. He got very good at it, and despite the shortcomings of the language, started to write games and hideous “edutainment” tools to help me with my school work. I remember one program featured a spider, and a large anvil. A quizmaster would ask multiplication sums and only a correct answer would save the spider from impending squishiness.
Dire as they were, they were games, and games made up of nothing but something called code. Something you could make yourself, and more importantly, something my own dad could understand. I was fascinated by the pages and pages of text. It seemed so complex and powerful, and I desperately wanted to be able to make games, so my father started to teach me BASIC. He would write little example programs for me to dissect with his help, and we typed in vast programs printed in Commodore magazines, like Commodore Format. He would set me increasingly complex challenges: a dice simulation, simple ASCII animation, controlling sprites, using the joystick. Before too long, I knew everything he did.
Fast forward a few years. The Commodore sits unused in a cupboard, and now we have a top of the line PC, running Windows 3.1: the best part of being a second generation geek is that the higher earning first generation geek is only too happy to spend money on gadgets. Whilst my dad set to work on learning DOS, I started on Microsoft Quick BASIC, and I had to learn how to use functions and subroutines. No more spaghetti code!
We have a solid twenty years of tinkering behind us, and it shows no signs of stopping. I don’t want it to. I want to be able to show my dad my latest little hack, or to argue with him over the relative merits of one language over another. He’s still better than me at thinking through some programming problem, and can often see the answer in the simplest way after only a moment’s thought.
One day, maybe this second generation geek will have a geek of his own, whose father and grandfather can teach him or her BASIC or C or whatever language we’re using by then. If my own geek is as happy “geeking out” with me as I am with my father, I would be very happy.
Author’s note: I first wrote a version of this nearly ten years ago, and a recent conversation with my Dad (by email, naturally) reminded me of it. I’ve done a little light editing but left it more or less how I wrote it back then. I still feel exactly the same, and my relationship with my Dad is still just as happily geeky. In the process of writing this, I was incredibly pleased to discover that the Internet Archive hosts scans of every issue of Commodore Format, which I absorbed cover-to-cover every month until they stopped publication in 1995.