Archive for 2010-04

A Hacking Autobiography

2010-04-01 (Thursday)

Planting the Seed

My earliest memory of using a computer is way back in the late 80′s, playing Pacman on a who-knows-what in a computer lab at my father’s university.  I wasn’t very good at it, but I was also five. There is a photo from even earlier of baby-me, wearing pants with a butt flap (hanging open; no diapers), back-side to the camera, again in a lab of one of my parents’. I’m standing on a chair in the photo because it would be impossible to reach the keys otherwise.

The whereabouts of the photo is unknown, but I have seen it, and I am damn proud of its existence.

I inherited most of my technical-mindedness from my father, who is a very capable hacker of his own right.  The story goes that although we couldn’t afford a TV of our own in China, we would almost always have one to watch because he was constantly fixing them for other people. To this day, if any sort of electronics break in our household, it will often be disassembled, then repaired or scavenged for parts.  It’s getting harder and harder, of course, but I can’t remember the last time we actually disposed of an appliance because it was deemed mechanically unrepairable.

There’s no being humble about it: I have The Knack.

Sprouting

“I got my start early” would probably be the expected opening to this paragraph. But, I didn’t. Owning a personal computer in China in those days was unthinkable.  It was less so years later in Japan, but still something very much unattainable on my parents modest income.  Less than a year before leaving Japan for Canada, my family received a used computer as a gift. I managed to find a few programming books from my elementary school’s library that teaches game programming, but only to copy the final code samples so I could play a few games. Although the interest was there, I was simply unwilling to put in the effort to learn programming.

My first serious dive into software development happened in the late 90s, towards the beginning of high school, when I got my hands on a copy of Macromedia Flash.  Not unlike most other youth with similar dispositions, the want to become a video game developer was a significant driving factor.  With my previous attempts at Java Applets and C++ failing to yield results, having a built-in vector graphics engine was an instant win.  My Flash development, programming wise, peaked when I produced a discrete 2-body gravity simulator for my Physics 11 final project. I was, no doubt, the biggest nerd in my class.

From there, I expanded to Delphi Pascal (to build a MUD client plug-in), took a brief detour in x86 assembly (Delphi’s substring replace function was too slow), picked up Java when I became a developer for the above mentioned MUD, finally learned enough C++ to hash out a few simple CLI applications, then dropped way down on the abstraction scale to PIC assembly for a self-directed project in electronics for my final year in high school.

A couple months later, I started formal studies in computing science at Simon Fraser University.  This would also be the first time since elementary school that I am taught programming in a classroom.

Growing Tall

The rest, as they say, is history. Theories were learnt, jargon was absorbed, and line after line of code were written.  I got involved in open source development, worked a handful of semesters at an actual software company, and, eventually, got a piece of paper declaring me a Bachelor of Computing Science.  There are even people using the code I’ve released to the world.

As a hacker, life was good.

A Drought Approaches?

Life, though, wasn’t good.

I’m not enjoying this.

Somewhere along the way, the side of me that hungered for intellectual knowledge and challenge had decided that it’s had enough.  What was once a hobby of novelty and intrigue has, over time, turned into the repetitive and mundane. While I still enjoy the act of problem solving, hacking for its own sake began to feel unfulfilling, banal, and, worst of all, pointless.

So, where to go from here? My long-term plans, as of the last few years anyway, have always been to make a graceful exist from the software industry after earning what I feel has been enough from it.  My hope is that once I am no longer programming for a living, I may be able to enjoy it again.  On the other hand, I am becoming more and more comfortable with the idea of no longer doing this at all. The knack and geekiness will always be there, of course, but, at least for the moment, my future as a hacker isn’t looking too bright.

Then again, who knows. I never planned to become a computing scientist, either.