Work 2003–2006
Early web
- Role
- Side projects and freelance
- Where
- Byron Shire, Australia
School and freelance work — custom PHP CMSs, pre-1.0 Ruby on Rails, a hand-built live surf cam, and the formative misadventures that got me there.
Early web
Coming from nothing
I came from a poor family, so most of the way kids around me made their own fun — hobbies that needed gear, parts, components — was out of reach. Physical hardware was expensive; software was effectively free once you had a machine to run it on.
My first computer was a 386DX40 running Windows 95, bought at a garage sale for $10. A friend handed down a better mouse and keyboard; another friend gave me a working monitor. The complete rig cost ten dollars and a handful of favours. I was fascinated by how it worked — but I had no internet connection at home, so I’d browse at school, save things to floppies, and take them back to try out.
All my friends were playing video games. My computer was too slow for any of them, so I missed that whole arc and ended up somewhere adjacent: utilities, dev tools, IDEs. The local newsagent sold magazines that came with CD-ROMs full of software demos, and I worked my way through them obsessively. That was how I learned what existed.
The iMac and the MSN problem
At 16 I got my first Mac — a 20-inch first-gen iMac G5. By then MSN Messenger had become the actual fabric of communication at school (this was a few years before everyone had a cellphone). The official Mac client was trash. So I built my own in RealBasic by reverse-engineering the protocol off the network traffic. It wasn’t glamorous, but I shipped emojis and status messages a long time before they appeared in the official Mac client.
The computer lab
In school my friend Odin and I lived in the computer lab. The school had a wall of jellybean iMacs running OS 9.2 — student accounts capped at 250 MB. The machines fell off the network constantly; you’d reconnect the ethernet cable to bring them back, and the failure mode in the meantime was just the login window doing the little shake-rejection animation, the same one you’d get if you typed the wrong password.
So I wrote a native app that looked exactly like the OS 9.2 login screen, ran it fullscreen, and let it capture whatever anyone typed into it. Anything submitted got written out to a text file in my account. At lunch I’d launch it on a few stations and walk away. By the end of the break I’d have a list of usernames and passwords.
The point was not really to access the accounts — it was to change people’s desktop backgrounds to something embarrassing and move on. This worked for a while.
Eventually I got curious and ran the same trick on a machine the network admin was about to log into. He typed his password, saw the shake, shrugged, flipped the power switch, and rebooted — which was the standard response to that failure mode. He never suspected a thing.
We used the admin account to bump our own quotas to 10 GB, which, at the time, was the entire capacity of the file server.
About four years later, after I’d graduated, I told him what we had done and that he should probably change his password. He was genuinely annoyed for about a minute, then said it explained why a couple of student accounts had been using such an absurd amount of storage for so long.
The projects
A few of the bigger pieces of work that came out of that period:
- School website CMS. Built a custom content-management system in PHP for my high school. Pure procedural PHP and MySQL; templating by string concatenation. It outlived me at the school by several years.
- Local newspaper website. Rebuilt the local paper’s site in Ruby on Rails during the pre-1.0 days, when the framework reshipped its own internals every few weeks.
- ProjectR. My major work for high school — a portfolio-building platform that students and teachers could use to assemble and share bodies of work. The first thing I shipped that had real users.
- WickedWeasel. Worked on the swimwear brand’s site as a teenage contractor. Mostly e-commerce plumbing and image pipelines.
- Local surf cam. Stood up a live-streamed surf cam end-to-end — capture hardware, encoder, server, web player — at a time when there was no off-the-shelf path from a lens to a browser.
None of this was a career yet. It was the period where I figured out that software was the cheapest possible way to make something real, and that almost everything interesting on a computer is reachable from the keyboard if you’re patient.