17 May 2022
If you’ve spent any time around a traditional workshop or machine shop, you’ve probably seen signs about how safety is everyone’s responsibility and about keeping the shared space clean.
In an environment with sparks, unrated flammables left around are a risk.
In an environment with rotating tools like lathes loose clothing that can wrap or snag and pull can lead to injury.
Less extreme examples like sweeping up the shop and keeping the fridge clean all fill different parts of the same shared obligation to the other users of a space.
31 Mar 2022
Techdebt tornado, adj.; pejorative
One who successfully delivers changes with limited or counterproductive regard for architecture.
One who produces work, especially feature work, at the cost of existing architecture and without developing a successor architecture.
27 Apr 2021
This blog post is a review and musing on a talk of the same title “The Thirty Million Line Problem” (2015) (~1h lecture + 40m q&a).
28 Nov 2020
Previously, I talked about some limitations of building RPi clusters generally.
28 Nov 2020
A while ago I got it into my head to put a Raspberry Pi cluster together.
04 Nov 2019
I’ve been doing a lot of reflecting lately on the last project I shipped - what went well, and what didn’t.
A while back I tweeted out some halfbaked thoughts.
One of which was a reflection that while the entire engineering organization beyond my team was using a tremendously powerful toolset, we still got bogged down.
28 Oct 2019
Version numbers are hard.
We as programmers are awful about tracking what constitutes a breaking change compared to what constitutes an invisible bugfix.
From a formal semantics perspective, there is no such thing as a bug and every “bugfix” is strictly speaking a breaking change.
And yet this notion of “fixing” behavior “broken” by shoddy implementations is central to modern notions of libraries, dependency management and deployment.
I’ve previously written about versioning, its semantics and some theories about how we could do it better.
17 Sep 2019
This post is somewhat meta - as it concerns a whole bunch of the automation by which I go about writing on this blog.
14 Jul 2019
Previously, I talked at some length about the slightly heinous yet industrial grade monitoring and PDU automation solution I deployed to keep my three so called modes - ethos, logos and pathos - from locking up for good by simply hard resetting them when remote monitoring detected an incident.
That post (somewhat deliberately I admit) had some pretty gaping holes around configuration management for the restart script.
The restart script is handwritten and hand-configured.
It has no awareness of the Ansible inventory I introduced in my fist Ansible post - which captures much of the same information.
Why the duplication?