Quality in the Age of Slop
Lessons for a changed profession from a classic novel.
Lessons for a changed profession from a classic novel.
Type narrowing with switch statements in Zig.
Explaining some less commonly used Markdown syntax.
How coding agents can hurt collaboration.
In any substantial software project, there are usually two categories of code. There's code that actually implements the program—whether it is an application, a library, a game, or whatever—and code that exists to support the other code. This second category of code includes automated tests but also benchmarks, deploy scripts, Makefiles, and CI jobs. The second category of code exists because we…
Although overwhelmingly people use Git, other version control systems exist. Some are even new and shiny and experimenting with features that Git doesn't have. I recently worked my way through this excellent tutorial for Jujutsu . It excited me, because it made me realize that the design space for version control systems is much larger and more unexplored than I had imagined. But I don't want to…
What do each of these languages value most?
How to handle errors from iterators idiomatically.
An exercise in writing succinct explanations of complicated systems.
An exploration of Vim's commit history using a new tool called Git Who.
The terminal is a dinosaur. Why do we keep using it?
An explanation of what all those directories are for in Linux.
The Myst games all feature journals of some kind. What makes those journals so important?
A guide to overcoming some of Bash's nonsensical defaults.
Controlling log output in Python requires an understanding of the Logging module.
An Appreciation of A Field Guide to American Houses.