Communication Urgency
Thesis statement: Most communication is less urgent than you think. Encoding urgency into messages as (meta)data is valuable - but building a healthy culture around and relationship with communication urgency is even more so.
Code Review on Paper
A day or so ago, news broke that engineers at Twitter - newly-owned by Phony Stark - were being asked to “print out their last 30 to 60 days of code, so they could show it to Elon Musk himself”. We saw evidence of this from Twitter employees themselves:
CI/CD/CD, Oh My!
Since leaving Amazon ~4 months ago and dedicating more time to my own personal projects (and actually trying to ship things instead of getting distracted a few days in by the next shiny project!), I’ve learned a lot more about the Open Source tools that are available to software engineers; which, in turn, has highlighted a few areas of ignorance about CI/CD Pipelines. Emulating Julia Evans, I’m writing this blog both to help lead others who might have similar questions, and to rubber-duck my own process of answering the questions.
Grafana Oncall
I’ve had several instability issues with my Kubernetes cluster recently, and so I wanted to install some monitoring to notify me of incipient issues. I’m already using Grafana dashboards to visualize the state of my cluster (using some of my own hand-crafted dashboards along with some pre-existing Kubernetes-specific ones), but that’s only useful if I happen to be looking at it at the time a problem is happening - it won’t warn me of a brewing problem (and, if the problem results in my VPN becoming unavailable while I’m away from home, that could result in complete disconnection).
Writing Poetry
Another quote from the experiences of Zakalwe, the career mercenary for the Culture.
Cloudflare Tunnel DNS
I use Cloudflare Tunnels to expose services (like this blog!) to the public Internet while remaining protected by Cloudflare’s infrastructure. While attempting to add a new service, I noticed that there were two steps required:
- Updating the configuration deployed to the tunnel daemon, mapping the internal service to its externally-accessible name
- Updating Cloudflare’s DNS entries to map the external name to the Cloudflare tunnel
Although the first step is easily automated with the cloudflare/cloudflared
image, the second isn’t so simple - there’s no single command to update all exposed sites, so the logic would need to parse the config file to determine the set of all sites, and the cloudflared
image doesn’t include tools to do so.
Being a Seagull
Another Iain M. Banks quote - this one from “Use Of Weapons”. Herein, Zakalwe, a virtuoso career mercenary who has changed the course of civilizations with assassinations, kidnappings, and sabotages, muses on what it might be like to live a simpler life.
The Land of Infinite Fun
Another snippet of literature (following this one) that I think about regularly - this time, from Excession by the late great Iain M. Banks. The Culture Series describes an interstellar post-scarcity civilization, wherein most of the administration and governance is carried out by hyper-advanced AIs called Minds, and biological beings (who live on terraformed planets, on megastructures like Bishop Rings, or aboard planet-sized space-faring Ships) are free to pursue leisure and self-improvement. Basically, Fully Automated Luxury Gay Space Communism.
Treating People as Things
Less a blog post, and more “something I want to have a persistent addressable record of”. Terry Pratchett has many pearls of wisdom that bear remembering1 - this particular exchange takes place between Mightily Oats (a naïve well-intentioned religious missionary) and Granny Weatherwax (the tough embittered rustic crone-witch who will help anyone who needs it, but recognizes that “‘good’ ain’t the same as ’nice’”…)
(Future similar “posts” that are merely short quotations from literature will be similarly tagged with #snippets
)
Self-Hosted Analytics
Way back in this post, I talked about enabling Analytics Tracking on this blog. I disabled it a while back, as the move to an actually self-hosted blog behind Cloudflare Tunnels (as opposed to an AWS-hosted one) messed that up a bit, and I was more incentivized to have a self-hosted blog without analytics, than vice versa. This post is the story of how I got self-hosting analytics working.