So it’s April of 2020, the pandemic is raging, I’m hunkered down in a villa on the Spanish coast (“hunkering” here means lounging by the pool drinking Negronis at midday), and my life’s work so far is apparently about to come to naught (boringly, you can’t do live shows during a pandemic, so nobody is buying media servers).
And while the world burns, I’m fiddling with a programming language called zero, emulating my hero Dennis Richie, the creator of C.
It’s designed to run efficiently on CPUs and GPUs; be simple enough for a ten-year-old to understand; compile and deploy instantly to networks of computers; and is organised around the concept of features instead of objects.
I’ve been slowly and painstakingly climbing the steep learning curve, and I have an interpreter running, and it actually kind of works … pretty OK!
But, as we’ve established, you can’t build good tools in a vacuum, and that’s just as true for programming languages - zero needs a real project to drive and shape it.
Since I don’t fancy my chances of finding a customer for a programming language that doesn’t actually exist yet, has a totally unqualified solo coder behind it, and may not even work, my only option (apart from giving up, which isn’t an option) is to create a project to use the new programming language.
The coolest project I can think of is, of course, an Operating System. An Operating System written in zero, that understands the concept of features, the way zero does.
In other words, I have to emulate Linus Torvalds, whose student project Linux is now the most successful operating system there is.
Applying that same logic, well, I need a customer for the operating system, so I guess that means, gulp, I’m building … a computer. A computer that understands the concept of a features, the way zero does.
In other words, I also have to emulate Sophie Wilson, the creator of the BBC Micro and the Archimedes, the two machines that nurtured me as a coder.
the case against
This is clearly an outrageous proposal. Geez Louise, while we’re at it, why not start a rock band like my hero Freddie Mercury? (“Don’t stop me now…”)
Who the hell am I to imagine I could ever start a computer company?
Well, maybe if I’d done my PhD like I should have done straight after college, and gone and worked at a real company like ARM or Intel or Apple instead of joining a games company and getting sucked into the world of <shudder> rave visuals, I might be qualified to attempt such a project.
Instead I’ve spent the last 25 years doggedly ploughing a furrow precisely 90 degrees away from the straight and narrow, studiously avoiding actually learning anything that seemed actually difficult or had any kind of maths-like notation or financial spreadsheet associated with it.
Add to that, now I’m 50 years old, my brain has been soaking in chip fat and Chardonnay for so long, it takes me ages to learn new stuff, my coding is glacially slow, I routinely forget the names of celebrities. Like, A-list celebrities. Like Tom Whatsisname.
I’m clearly not capable of making a computer company that takes over the world and ends up being a trillion dollar mega-corporation and I buy the whole of Tahiti or whatever. It’s not imposter syndrome if you’re really an imposter.
On the other hand, what with the pandemic and all, I’m spurred, like everyone else, to re-examine some fundamental questions. Like : what is it that I really want to do with my life?
And every time I ask, the answer comes clear as a bell : this. It’s what I’ve dreamed of doing, one way or another, since ten-year-old me first went up to that BBC Micro in the shop window and typed
10 PRINT “I AM COOL”
20 GOTO 10
RUN
Truth is, I’ve never been qualified to do it, aside from the fact that it seems to be the only thing that gives my life meaning.
realisation
Sometimes having heroes can actually end up being discouraging.
I don’t have to be more successful than Dennis Ritchie, and have zero become the number one programming language in the world.
I don’t have to be more successful than Linus Torvalds, and create the number one Operating System in the world.
I don’t have to be more successful than Sophie Wilson, and create a computer that nurtures the minds of a generation of coders.
Computers don’t have to be gigantic million-dollar marvels made of precision-machined aluminium. Operating Systems don’t have to have millions of lines of code. Computer companies don’t have to be trillion-dollar monsters spanning continents.
The AGC, the computer that took the Apollo astronauts to the moon, was tiny : 32K of memory, one millionth of the amount of memory in an Apple Watch. And it went to the moon. (Even though it did crash at the critical moment).
So a little introspection:
Why do I want to build this new kind of computer?
Because it doesn’t exist, and I think it needs to exist.
Why does it need to exist?
Because I want to use it.
And that, gentle reader, is what it comes down to.
I don’t have to build a billion computers and convince the world to use them. Nor do I have to convince anyone that I can build a better computer, or anything like that.
I just have to build one.
For me.