The Archive.
Here you will find everything under the sun. Have a nice scroll through memory lane.
So, I’m a sucker for wordplay and puns. Anyway…
There’s a line in my shell history that goes back to 2022: go get github.com/wilhelm-murdoch/go-collection. For years it was the first dependency into …
I Added Variable Block Support To Glazier
I knew the moment I thought about potentially adding variable definition blocks as a first-class feature Glazier it was going to bother me until I went about implementing it. So, as expected, a week later, here we are. I …
Why I Built Glazier
I live in tmux. I typically have an editor here, a dev server there, logs tailing in the corner or a spare pane for poking at things. The trouble is that this little world is frustratingly ephemeral. Rebooting my machine …
Let Me Show You My Bits
A while back, in Reading Between the Posts, I wired up the home page so the quiet gaps between articles would narrate themselves - “1 bit and 41 changelog events in between”. There was just one tiny problem …
Reading Between the Posts
The front page of this site has always been a plain list of articles. Which would be fine if I wrote longer-form articles a bit more often. I do, however, make code commits to this site far more frequently. I’m …
A Year in Circles... I mean Squares. Or, is it Squircles?
If you scroll up to the top of the home page, you’ll find a pair of little rows of green squircles. It’s my own dumbed-down take on GitHub’s contribution graph. Effectively, it’s the same idea, …
Some Long Overdue Housekeeping
This blog has been quietly chugging along for a while now without me paying it much attention. Which is, I suppose, the whole point of a set-and-forget setup. But “set-and-forget” has a sneaky way of becoming …
A Changelog That Builds Itself
This site has a changelog page. It’s not one I write by hand as it builds itself from my activity on GitHub every time the site deploys. I think it’s a neat little trick. It also spent a solid afternoon …
Printing Ordinal Numbers in Hugo
I’ve been having such a good time building up this website and Hugo has been incredibly fun – and relatively simple – to work with. Though, from time to time, I find myself scratching my head at the absence of a …
My Blog Publishing Setup & Workflow
Late last year I parted ways with Hashnode as the platform of choice for my blog. They pivoted a bit too far into the generative AI space which — to me for a blogging platform — made little to no sense. What? You write …
Breaking Up Log Output Using Bash
I tend to look at a lot of log output throughout the day as part of my role as platform engineer. This obviously extends to any backend, or ops-related, role. One little niggle that always gets to me is tailing output …
How to Mass-Unfollow Instagram Accounts
I’m not super-active on Instagram these days and Threads was a real let down. I have a dormant Mastodon account, but find myself being quite happy on Bluesky at the moment. Who knows how long that will last. Having …
The Longer Something Doesn't Happen, the Sooner it Will
This is often referred to as the “Mean Time Between Failures (MTBF)” in the context of Site Reliability Engineering. It’s a somewhat counterintuitive concept that highlights the fact that failures or …
Why I Built Plant Smart
Simply put, I love plants and I love animals. I can’t count how many times I’ve been to a plant nursery and had to stop and do a Google search to see if something was safe enough to bring home and keep around …
Learning Bash Through Pointless Fun
Responding to company chat messages in a mocking and sarcastic tone is one of my favourite past times. Classic engineer snark as it were. We’re all in on the joke. However, the artful nuances of snark via online chat …
Filtering Docker Containers with jq
As is the case with any seasoned DevOps engineer, I have a set of tools in my kit that I simply cannot live without. If I had to distill them into a top-5 list it would be the following.
Why Can't I Hold All These Slack Emojis?
Previously, last blog post I wrote covered how to make a quick escape with your precious hoard of custom Slack emojis. It was fairly well-received, but didn’t quite cover the next step in the migration process; how do …
Liberating Custom Slack Emojis
As is stupid tradition, whenever I start at a new company, one of the first things I like to do while getting settled in is upload my favourite emojis to whatever real-time messaging platform is in use. I know it’s …
Save Money by Keeping Your AWS Account Clean
At a prior role, I managed just under 20 AWS accounts. Their uses varied from production workloads, to dedicated CI/CD environments, sandboxed areas for our engineers to experiment in, log aggregation, the list goes on.
Deleting Massive S3 Buckets the Easy Way
I’m in the middle of decommissioning a service at the moment and I have to do the typical process of performing final snapshots and cleaning up extant resources. It’s incredibly tedious, so let’s walk …
Messing Around with TXT Records
If you’ve spent any time in an ops-related position, you’ve had to add these records when using custom domain names while integrating with some 3rd-party service. Especially, if you’ve ever wanted to …
Falsifying Github Participation Graphs for Fun & Profit
If you’ve spent any time job hunting in the tech industry, you’ve had to deal with recruiters. I like to joke around with my peers about how they’re a necessary evil, but in all seriousness, great …