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 12
The cults of TDD and GenAI
I’ve gotten a lot of flack throughout my career over my disdain towards test-driven development (TDD). I have met a lot of people who swear by it! And, I have also met a lot of people who insisted tha
Bliki: Excessive Bold
I'm increasingly seeing a lot of technical and business writing make heavy use of bold font weights, in an attempt to emphasize what the writers think is important. LLMs seem to have picked up and
Deep dive into Turso, the "SQLite rewrite in Rust"
I love Rust and I love SQLite, so you can guess. Iwas pretty excited when I lerned that "SQLite was rewritten in Rust" What is SQLite, actually? 2 things: a
Making interesting borders with CSS corner-shape
You can make cool beveled, rounded, notched, scooped, and elliptical borders with the new CSS corner-shape property!
Assessing internal quality while coding with an agent
Erik Doernenburg is the maintainer of CCMenu: a Mac application that shows the status of CI/CD builds in the Mac menu bar. He assesses how using a coding agent affects internal code qualit
Desk Setup, January 2026
There’s a metaphor out there that you should write about something if you are asked about it more than three times. I cannot count how many times folks ask about my setup, so I’ll capture it here. I a
make.ts
make.ts Jan 27, 2026 Up Enter Up Up Enter Up Up Up Enter Sounds familiar? This is how I historically have been running benchmarks and other experiments requiring a repeated sequence of commands — typ
Colin and Earendil
Regular readers of this blog will know that I started a new company. We have put out just a tiny bit of information today, and some keen folks have discovered and reached out by email with many thoug
Some notes on starting to use Django
Hello! One of my favourite things is starting to learn an Old Boring Technology that I’ve never tried before but that has been around for 20+ years. It feels really good when every problem I’m ever go
Use “\A...\z”, not “^...$” with Python regular expressions
Two years ago I discovered a potential foot-gun with the Python standard library “re” module. I blogged about this behavior, and turns out that I wasn't only one who didn't know this: The article was
Do nothing, but do it well
There are some days like that where your brain simply refuse to work, and too bad for you but your job relies entierly on your brain. What if instead of
Testing: exceptions and caches
Two testing-related things I found recently. Unified exception testing Kacper Borucki blogged about parameterizing exception testing, and linked to pytest docs and a StackOverflow answer with similar