Today
- SFQ: Simple, Stateless, Stochastic Fairness Roll the dice. Paul E. McKenney’s 1990 paper Stochastic Fairness Queuing contains one of my favorite little algorithms for distributed systems. Stochastic Fairness Queuing is a way to stochastically isolate workloads from different...
This week
- Anthropic recently released a blog post with the description of an experiment in which the last version of Opus, the 4.6, was instructed to write a C compiler in Rust, in a “clean room” setup. The experiment methodology left me dubious about the kind of point they wanted to...
- How working within hard limits produced some of the most elegant software in history, and what we can learn from it....
- Optimal Caverna Gameplay via Formal Methods You know what's better than gloating after winning a board game? Winning every possible board game. And you know what's better than that? Having a machine-checked proof that you win every possible board game. Caverna: The Cave Farmers...
- I first learned of systems thinking in the domain of city planning, and that is apparently also where the idea comes from. It was described to me in the context of building new residential buildings and effects on local bird populations. Birds don’t always perceive glass...
Last week
- Can Opus 4.6 do Category Theory in Lean? I have a little category theory library I've been dragging around for about a decade now. It started life in Haskell, got ported to Agda, briefly lived in Idris, spent some time in Coq, and has now landed in Lean 4. I call it Kitty Cats....
- Pystd is an experiment on what a C++ standard library without any backwards compatibility requirements would look like. It's design goals are in order of decreasing priority: Fast build times Simplicity of implementation Good performance It also has some design-antigoals: Not...
Two weeks ago
- A key challenge working with coding agents is having them both test what they’ve built and demonstrate that software to you, their overseer. This goes beyond automated tests—we need artifacts …
About a month ago
- February 4, 2026 Sheesh look at this gorgeous graph from the great Daniel J. Bernstein: Daniel J. Bernstein's graph comparing sorting algorithms Somewhere, Julie Mehretu is raising a single eyebrow; perhaps jotting a note. P.S. Bernstein is one of those amazing figures in...
- GenAI feels like another turning point for software development. It’s really just the latest moment in a long, repeating pattern of partial revelation and broad avoidance of how creating software needs to be approached. Early limits of software development The “software crisis”...
about 1 month ago
- I've written a library called Tripwire1 for injecting failures into Zig programs for the express purpose of testing error handling paths. Outside of unit tests, it is completely optimized away and has zero runtime cost (space or time).
- Hypothetical Divine Signatures The author of the Epistle to the Hebrews famously claimed that "faith is the substance of things hoped for, the evidence of things not seen," which was a perfectly serviceable theological patch for an era where the average person’s greatest...
about 2 months ago
- Before my end-of-year holiday break, I received an email 1 from someone who read my post about “Choosing your starting line in enterprise architecture”. Mark asked me what I meant by the line: So yes, you can map the AS-IS. You can design the TO-BE. You can even claim you’re...
- All You Need is Specs? Today I’m releasing whenwords, a relative time formatting library that contains no code. whenwords provides five functions that convert between timestamps and human-readable strings, like turning a UNIX timestamp into “3 hours ago”. There are many...
- Pay attention to the other ways to model similarity and filter search results...
- Coding has never been the governing bottleneck in software delivery. Not recently. Not in the last decade. And not across the entire history of the discipline. I wrote this post in response to the current wave of people claiming “AI means coding is no longer the bottleneck” and...
- .inline-figure { display: flex; justify-content: space-around; margin: 1rem; } .move { text-transform: lowercase; font-variant-caps: small-caps; } pre[data-name=top-level] { /* * Trust me I'm not proud of this, but Zola, the static-site generator I'm using, * inserts the code...
2 months ago
- In “The Future of Software Development is Software Developers” Jason Gorman alludes to how terrible natural language is at programming computers: The hard part of computer programming isn’t expressing what we want the machine to do in code. The hard part is turning human...
- Playgrounds for C3, Hare, Odin, V, and Zig....
- Explore different types of leaks and how to detect them in modern Go versions....
- On the success of ‘natural language programming’ Specifications, in plain speech. I believe that specification is the future of programming. Over the last four decades, we’ve seen the practice of building programs, and software systems grow closer and closer to the practice of...
- Compiling and running 'Hello, World!' in 20 programming languages....
3 months ago
- Interactive book on concurrent programming with auto-tested exercises....
- Why does AI write like… that (NYT, gift link). Sam Kriss delves into the quiet hum of AI writing. AI’s work is not compelling prose: it’s phantom text, ghostly scribblings, a spectre woven into our communal tapestry. ❄ ❄ ❄ ❄ ❄ Emily Bache has written a set of Test Desiderata,...
Rows per page