Books as Vehicles
“The Liar”, Stephen Fry’s first novel follows a Wildean young man studying language at Cambridge University. I wonder where he got his inspiration.
2023 Advent of Code
Just a quick note to record that, for the first time, I’m taking part Advent Of Code - a series of programming challenges that run every day from the 1st to the 25th of December. Inspired by my experiences during Exercism’s 12in23 challenge, I’ll be trying to complete the challenges in Rust (see my solutions here). That’s on top of trying to complete Exercism’s “December Diversions”, as well as 5 challenges in another language for the year-long badge to make up for the fact that January was unassigned (and keeping up my reading of Ward to remain on-track to finish by the end of the year). It’s going to be a busy month!
Pre-Pipeline Verification, and the Push-And-Pray Problem
It’s fairly uncontroversial that, for a good service-deployment pipeline, there should be:
- at least one pre-production stage
- automated tests running on that stage
- a promotion blocker if those tests fail
The purpose of this testing is clear: it asserts ("verifies") certain correctness properties of the service version being deployed, such that any version which lacks those properties - which “is incorrect” - should not be deployed to customers. This allows promotion to be automated, reducing human toil and allowing developers to focus their efforts on development of new features rather than on confirmation of the correctness of new deployments.
Raspberry Pi Temperature Monitoring
As I’ve discussed before, this blog is hosted on a k3s cluster which runs on 3 Raspberries Pi in a nifty little case. The router that powers our home network is in my partner’s office, with the Pi cluster nearby so that it can benefit from a fast stable wired Ethernet connection.
Short Thoughts 2022-03-05
It’s a warm-ish Sunday evening in the East Bay. How are you?
Consistency in 2023
I’ve said previously that I don’t do New Years’ Resolutions. There are a couple of reasons for this: one is bloody-minded non-conformism1; the other, more defensible reason, is that studies show2 that aiming for “targets”, especially aggressive ones set without experience, tend to lead to failure and frustration. I do, however, often set “intentions” or “focuses” - not benchmarks that I want to hit, but areas that I want to intentionally spend more energy on in the coming year.
Rebuild From Scratch
Observant readers of this blog, refreshing every day desperate for new content, will have noticed that the last blog post - dated 2022-12-31 - actually went live in the middle of January. My k3s cluster, which had always been a bit rickety, finally gave up the ghost in late December, and two of the nodes needed to be fully reimaged before I could start it back up again.
2022 Wrap Up
One of the first posts on this blog was a retrospective on my reading in 2021 - it seems only natural to do something similar this year.
VPN on Kubernetes
I was surprised to find that there’s not much discussion of putting Kubernetes pods behind a VPN. Given how useful both tools are, you’d think more people would use them in concert.