Yes, I know I missed the peak on renaming software terms, like changing the default trunk branch name from “master” to “main,” or the trend of renaming “whitelist” and “blacklist” to “allowlist” and “blocklist,” but I’m also not trying to change how I talk because people are capable of stretching […]
Year: 2025
Product management really does matter
Not too long ago, Joel Spolsky’s blog post about architecture astronauts hit my various consumption feeds, and it serves as a good reminder that, as fun as it is to make fun of product managers (and it is a lot of fun), they’re also probably the most important people in […]
If you’re going to just run the code, just run the code
I’m very pro “just running the code” when it comes to testing software. But while just spinning up containers does actually “work” – in the sense that the test runs and completes without error. But you very quickly realize that’s clearly not how these things are supposed to work. I’ve […]
System 1 programming
Early in my career, my team lead pulled me over to show me something in some code of mine I had written and put up for peer review. I don’t remember the exact context, just that there was a fairly simple operation that could have been done quite simply in […]
The checkboxes are everywhere, and once you notice them you’ll never unsee them
I’ve lost count of the number of times I’ve had to sit through some sort of motivational, life lesson-style speech. I have not however, lost count of the number of lines from those speeches that actually stuck with me, because it’s literally “2.” Most people trying to write 1 of […]
A case study in peak overemployment
If you see tech updates on Twitter (never X), you may have heard of the strange tale of 1 Soham Parekh. Apparently the young man has taken the trend of overemployment to a level that can be best described as caricature. For a recap on what’s happened and the initial […]
The myth of “enterprise software”
We don’t talk about uncategorized software all that often. We almost always include an adjective to indicate something about the code we’re discussing, usually as a means of describing the problem domain. As a few quick examples, there’s e-commerce software, marketing software, educational software, or inventory management software. That clarification […]
Abstractions are hard to get right
Abstractions are 1 of those things that are fairly easy to understand the basics of, but hard to really do right. They’re a tool used to simplify code by using a simpler-to-understand proxy (like a database record or a class/interface), but that doesn’t really scratch the surface of how to […]
The AI pitfall
I really wanted to call this “The AI trap,” but I try not to ascribe to malice what I could explain with ignorance, apathy, and/or stupidity, and given that I generally don’t ascribe the level of foresight and deliberation needed to execute a “trap” to the types of people running […]
You can just run the code
So I haven’t made as much progress on the actual gift registry I wanted to write this year, although I do have a Go web application that connects to a Postgres database, with an endpoint that gets the database stats, collects telemetry data, pipes it all to an OpenTelemetry stack, […]