







Exploring the tension between engineering perfectionism and pragmatic delivery. Discover why striving for the perfect solution often prevents us from shipping valuable improvements and how to find the balance.
Norms of Liberty: A Perfectionist Basis for Non-Perfect…
How can we establish a political/legal order that in pr…

What Functional Programmers Get Wrong About Systems - Ian Duncan
Type systems verify properties of programs. Production correctness is a property of systems. The gap between these is where the interesting failures live.
Resetting on engineering expectations in the age of AI
I’m accepting new sponsorships for The Modern Leader for 2026. If you’re interested (or you think your company may be interested), you can learn more here.
Notes on software quality
“The absence of problems” is the best definition I can come up with for quality.
When AI builds itself
Our progress toward recursive self-improvement, and its implications.

why do we assume progress should feel good?
I can count on one hand the number of times I’ve achieved something and genuinely felt lasting satisfaction.

The peril of laziness lost | The Observation Deck
In his classic Programming Perl — affectionately known to a generation of technologists as "the Camel Book" — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.
Shape Up: Stop Running in Circles and Ship Work that Matters
Shape Up will help you break free of “best practices” that aren’t really working, think deeper about the right problems, and start shipping meaningful projects your team can celebrate.

Harnessing Frustration: Using LLMs to Overcome Activation Energy
One of my biggest weaknesses as a software engineer is procrastination when facing a new project. When the scope is unclear, I have a tendency to wait until I feel I’ve “felt out” the problem to start doing anything. I know I’ll feel better and work much faster when I get “stuck in” but I still struggle with that first step, overcoming the “activation energy” required to engage with the details. LLMs have been a game-changer for me in this respect: I can just throw a couple of sentences at them with the shape of the problem. This leads to one of two outcomes: The LLM comes up with a good solution, usually in a slightly different way than what I was thinking. I realize “oh wow the solution is much simpler than I thought”. Straight away I start thinking about the consequences of implementing and improving what the LLM suggested. The LLM comes up with a solution that I intuitively recognize as “wrong”. My immediate reaction is frustration (“How could it get it so wrong”) which leads me to go back and forth with the model, explaining to it why its solution could not possibly work. But in the process of arguing with the model, my brain is churning away and generating variations or different approaches that could work. After a while, even if the AI is still on the wrong track, the debate will trigger a moment of inspiration where suddenly the solution will come to me. I’ll excitedly start up a new conversation and start working through it with the model. The key is the emotional reaction I have immediately to the LLM’s response, either excitement or frustration. By harnessing this immediate feedback loop, I get my brain out of its passive, procrastination mode. It’s almost like a jolt: either I’m thrilled because it’s simpler than I thought, or I’m spurred to action by the urge to correct a perceived ‘wrong’ answer. This forces me to engage with the problem in a meaningful way.
The Missing Middle of Open Source
Why serious, maintainer-driven projects struggle to sustain themselves—and what it will take to fix it.

Plato’s Warning Has Been Vindicated
We now believe that our newest tools, once perfected, will relieve us of the need to be informed at all.
AI fatigue is real and nobody talks about it | Siddhant Khare
You're using AI to be more productive. So why are you more exhausted than ever? The paradox every engineer needs to confront.
The Laws of Simplicity / John Maeda
The simplest way to achieve simplicity is through thoughtful reduction.
Clean — Perfect by Construction
Clean is an embedded Lean DSL for zk circuits. Every gadget carries soundness and completeness proofs, checked by Lean.
Harness Engineering for Self-Improvement
The concept of recursive self-improvement (RSI) dates back to I. J. Good (1965), where he defined an “ultraintelligent machine” as a system that can surpass humans in all intellectual activities and design better machines to improve itself. Yudkowsky (2008) used the phrase “recursive self-improvement” for a specific feedback loop: an AI uses its current intelligence to improve the cognitive machinery that produces its intelligence. This feedback loop in modern AI may indicate the model rewriting its own weights directly, or more broadly the model improves the training pipeline and the deployment system, which in turn enables a better successor model with improved performance across economically valuable tasks. The speed of research development in AI has been shown to drastically accelerated in frontier labs (Anthropic; OpenAI).