Skip to main content


How to find that one volume you're pretty sure you didn't lose
·440 words·3 mins
Docker volumes can be opaque, so I wrote a small bash script to help you troubleshoot.
Too Many Games 2024 Retrospective
·1516 words·8 mins
In which I drive to Philadelphia and try to play a bunch of games.
Stamping Builds with Bazel
·667 words·4 mins
Versioning is a critical part of delivering software to users. With bazel, you can derive per-build values and inject them anywhere in your build process.
Non-mechanical Tabletop Gaming Fundamentals
·639 words·3 mins
A non-exhaustive list of tips and rules that elevate my tabletop gaming.
Pragmatic Projections: A Primer
·932 words·5 mins
Projections are abstract, but abstractions are a powerful tool for helping us model the world.
The Joy of Versioning
·545 words·3 mins
Investing in tooling makes adhering to good practices almost easy enough to be joyful.
Beautiful Builds with Bazel
·2681 words·13 mins
bzlmod makes bazel extremely appealing and isn’t hard to grasp for anyone already familiar with go modules. My frustration with make for complex builds led me to bazel.