Daily Digest
Why TDD and AI coding tools exploit the same psychological flaws
Drew DeVault draws a provocative parallel between Test-Driven Development cults and GenAI adoption, arguing both exploit developers' psychological need to feel competent while potentially undermining actual code quality.
- TDD's hidden influence on architecture: While ensuring test coverage, TDD shapes codebases to be "testable" rather than well-designed, and provides no guarantee that passing tests verify the right behavior for actual user needs.
- The dopamine trap of development metrics: Both TDD's green test suites and AI's rapid output create addictive feedback loops through coverage percentages, CI badges, and productivity metrics that make developers feel competent regardless of actual code quality.
- AI coding agents as the new performance theater: GenAI tools let mediocre programmers experience the rush of 10x developer productivity, building "cathedrals" quickly that have beautiful test coverage but rotten foundations underneath.
- The psychological cost of shortcuts: Developers chase these tools despite knowing the externalities (environmental costs, job displacement) because the feeling of finally being "great" at programming overrides long-term concerns.
Latest Articles - Page 28
Advice for staying in the hospital for a week
Hard-won wisdom from a week of fluorescent lights and beeping machines.
Making art with CSS gradients and corner-shape and skew, oh my
I combined some fun CSS techniques to make a little diving board drawing!
Because Algospeak
Recently I read by and by . The language we speak (and text) to each other is at the core of who and what we are, and the Internet is the strongest among the forces that channel
The Pulse: Cloudflare rewrites Next.js as AI rewrites commercial open source
An engineer at Cloudflare rewrote most of Vercel’s Next.js in one week with AI agents. It looks like a sign of how AI will disrupt existing moats and business models. Analysis
Ideological Resistance to Patents, Followed by Reluctant Pragmatism
Naresh Jain has long been uncomfortable with software patents. But a direct experience of patent aggression, together with the practical constraints faced by startups, led him to resort to
Using Rust and Postgres for everything: patterns learned over the years
I love simple, boring and reliable tools. In the software world, the two best are without a doubt Rust and PostgreSQL. One example: a backend service I'm working on processes
JJ LSP Follow Up
JJ LSP Follow Up Mar 5, 2026 In Majjit LSP, I described an idea of implementing Magit style UX for jj once and for all, leveraging LSP protocol. I’ve learned today that the upcoming 3.18 version of L
AI And The Ship of Theseus
Because code gets cheaper and cheaper to write, this includes re-implementations. I mentioned recently that I had an AI port one of my libraries to another language and it ended up choosing a differe
Humans and Agents in Software Engineering Loops
There's been much talk recently about how AI agents affect the workflow loops of software development. Kief Morris believes the answer is to focus on the goal of turning ideas into outcome
Relative “Dependency Cooling” in pip v26.0 with crontab
WARNING: Most of this blog post is a hack, everyone should probably just wait for relative dependency cooling to come to a future version of pip. pip v26.0 added support for the --uploaded
Design-First Collaboration
Rahul Garg continues his series of Patterns for Reducing Friction in AI-Assisted Development. This pattern describes a structured conversation that mirrors whiteboarding with a human pair: