Migrating From AWS EKS to GCP GKE
NOTE: I started writing this article in June 2024 and then got busy; it’s now January 2026… it’s becoming a bit of a pattern. We run Kubernetes at my day job (edit: no longer my day job), probably at least partially because of Maslow’s hammer but also because I truly think it’s the best tool for the job. I’ll qualify that with something like “once your system gets to a certain size / complexity” and by that I probably mean something like “once your system doesn’t fit into the cookie cutter template provided by the various PaaS offerings”. ...
Quake on WASM With WebSocket multiplayer
Genesis When I was a kid, my dad taught computing / programming at Alanvale TAFE; he would often bring home old computers from work (I think when they upgraded their machines) and network them together, so we always had computers around the house and I was interested in them from an early age. The first vivid nightmare I remember was when my older sister let me play a bit of Wolfenstein 3D and I guess it was on her save game where you confront Hitler. ...
Software vs Lego
My son August (Augie to us, he’s almost 4) has always loved Lego (well, Duplo). For the longest time he’d build really long rectangular trucks, he seemed to like getting every block packed in tightly on the tray / trailer(s) of the truck. Lately though he’s started building complicated trucks with lots of different levels and pieces, explaining things like “this truck has 3 hotels and a crane and 2 guns”. ...
Cloudy with a chance of vendor lock-in balls
I started writing this article before I changed jobs, which was basically 6 months ago (in May 2023). I’m gonna basically leave it as it was and just mark up the parts I got wrong / the parts that turned out differently as an exercise in I dunno, maybe forced humility / embarassment? So, let’s dive into the article I wrote before I started the new gig and then follow it up with the last 6 months of reality. ...
Recent projects of note
I haven’t really been finding my job that interesting of late which normally results in me having a lot of energy for my out-of-work pursuits. Unfortunately for reasons I can’t quite work out yet, I also haven’t been motivated to make any music and so all that’s really left is personal projects. Anyway- the next few headings cover the things I’ve been up to. Minecraft I had a bit of time off over Christmas and we all went to stay with my wife’s family in Darwin where we enjoyed monsoonal weather and lots of pool time. ...
An update on the Ghettowulf Cluster
So it’s been about 2 months since I last wrote about this thing and it had been running for a couple of weeks before I wrote about it, which means it’s been operating for maybe 3 months all up. Despite a few initial teething issues, I have to say it’s been pretty good (and definitely less maintenance than my old setup was). Here’s how it looks at the moment: ...
Permacomputing
I stumbled across an article on lobste.rs that spoke about permacomputing which interested me initially because I’d never heard of it. As the website suggests the principles are a good place to start. In particular the lifespan maximization approach resonated with me, here’s an excerpt: Lifespan maximization is the extension of hardware lifespan by the users. It may be supported by planned longevity from the manufacturer’s side, but it rarely is. Fabrication of microchips requires large amounts of energy, highly refined machinery and poisonous substances. Because of this sacrifice, the resulting microchips should be treasured like gems or rare exotic spices. Their active lifespans should be maximized, and they should never be reduced to their raw materials until they are thoroughly unusable. ...
How to write code like a Dinosaur
I’ve been working on a personal project called Dinosaur; it’s a single-page application that presents the user with two horizontal panes- a code editor in the language of your choice and a live feed to your code being executed. Languages presently supported are: C Go Java Lua Python Rust TypeScript Initially this sounds a bit like any of the various coding games / exercises out there but I’ve chosen to add what I think is a slight variation in that all user sessions have network stack access to the same network as all other user sessions (in time I’ll probably permit this to be broken up into groups, permitting isolated group sessions). ...
Troubleshooting a mysterious Python test failure
At my day job my colleagues and I develop a data gathering and visualisation platform that has a fair bit of Python behind the scenes. We test a lot of this Python using pytest and all our tests are run by a large locally hosted instance of TeamCity. A test run involves TeamCity executing a bash script responsible for setting up any test dependencies (usually Docker containers) and then executing the test itself (also usually a Docker container). ...