Sydney Staff SRE or something.

last update:

Seriously, who actually made the holodecks? Where did they come from? My head-canon: Holodecks are alien technology that the Federation duplicates without understanding how it really works. Largely-separate power grids. Weird behavior in power outages. Poor safety controls. Different storage technology. Regular accidental sentience. Holodecks can accurately model unknown physics TNG’s “A Matter of Perspective” did this first, correctly simulating an energy converter prototype. Voyager used holodecks in “Threshold”, in order to model warp-ten travel.

What’s the most frequent advice I give? Read “Crucial Conversations”… regularly. Crucial Conversations is literally my #1 book recommendation, and has been so for most of a decade now. It’s just so useful at helping understand where discussions can go astray, and gives you great ways to think about how to approach them to bring them back on track. “Debugging Teams” is also on my list. Have a career plan - the easy way What are your life goals?

Path to Staff SRE...

I recently got promoted to Staff SRE, and ended up in a conversation about the path my career took to get here. The path I would have described a few years ago seems pretty simple: Part-time local school Part-time friend’s startup Full-time friend’s startup Full-time in a larger (400-500 person) company Full-time in a larger-again company (~2500) Full-time in a FAANG Or maybe I would have described my roles:

We have a couple of Google Homes for our house’s common areas, and for Christmas all of our kids got Google Home Minis for their rooms. One of the problems in our household is simply remembering when to do basic things - when to start cooking dinner, and whose turn it is. Noticing that it’s bedtime for the kids and making sure they head off to their rooms. So - we have networked speakers in rooms and I’m already running http://home-assistant.

A discussion came up during lunch at the IPv6 Roadshow… is NAT robust and well understood? Since this is kind-of an opinion piece, I’m not going to cite evidence; it’s just random experience and anecdote that (to me) makes a lot of sense. NAT is robust: NAT, for the sake of NAT - sure, maybe it’s robust (or “robust enough”). But even if you argue that NAT itself is robust, it in turn breaks a host of other things.


I’ve been [comparatively] quiet for a while now, and I can finally announce the results of my endeavours: I’ve resigned from Internode (ie. iiNet) in order to accept a position at Google in Sydney. This means that Missy and I and our kids are all packing our bags and getting ready to head eastwards, looking forward to new and exciting adventures. FAQ: When? My last week in Adelaide is the week of the 22nd of April.


I presented “After Arduino” at LCA2013, explaining how to dig deeper into what “Arduino” really is, and how to get better control over your embedded devices. If you are just after the slides, PCB schematics, or example code, then you should grab them here: A video of the talk is available in MP4 and OGV formats (or if you’re with Internode, you can grab unmetered MP4 and unmetered OGV files).

I’m working on a GNOME-Shell plugin that can show alternate timezones. As part of the plugin, I want it to remember what the user’s selected timezone is. A good extension to pull apart seems to be the “System Monitor”. The “short version” of the minimum you need to do is as follows… Add a schema name to your metadata.json, eg: "settings-schema": "", (Replace “system-monitor” with a unique name for your own extension)

ping -f[aux flood]

I’m having trouble admitting this publicly, but I learnt something new recently about ping, of all things. To quote from the man page of ping: -f Flood ping. For every ECHO_REQUEST sent a period ``.'' is printed, while for ever ECHO_REPLY received a backspace is printed. This provides a rapid display of how many packets are being dropped. Seems reasonable enough. I mean, “flood” is pretty clear, right? Except, during troubleshooting this week I found that pinging a responding host and a non-responding host resulted in sending a different rate of packets.

Sometimes, you really need to get from point “A” to point “B”, but you can’t. Restrictive firewalls, poor change control, you don’t own the infrastructure, or maybe it’s just “temporary” and you don’t want to have to go to all that effort just for a few days. Struggle no more! SSH Port Forwarding Primer Let’s just say that you have an application on server “A”, and you want it to be able to reach a web service on your local desktop.