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 24
Rust service hardening and production checklist
There isn't a lot of resources about how to actually deliver Rust projects to your users: workflows, security hardening and artifacts management, so here is the checklist I use to
PAL GameCube haul from Kraków, Poland (EuroPython 2026)
While I was in Kraków, Poland during EuroPython 2026 I was able to sneak away from sprints and buy a few PAL region GameCube games for my collection. This was on Sunday, which means that many stores a
Fragments: July 21
With this post, I’ll wrap up my notes from the second Future of Software Development Retreat. But before I do, I should note that the full Thoughtworks report on the retreat is now available. They ha
Are 128-bit symmetric keys really secure against quantum computers?
I have nothing to say to the analysis presented in the article, but I think the conclusion is wrong, here is why. 128-bit vs 256-bit symmetric keys AES-128-GCM AES-256-GCM x86_64
Some more things about Django I've been enjoying
Hello! I’m on a funny journey right now where I’m trying to learn how to make websites in a sort of 2010 style, where I have an SQL database and render some HTML on the backend. It’s kind of an intere
Opaque, Interoperable Passkey Records (and a Go API)
Passkey records are an interoperable format for WebAuthn credentials, similar to password hash strings. I propose a potential crypto/passkey Go API based on them.
Optimize the common cases
One thing I've learned working on https://github.com/rust-stdx/stdx (Rust's extended standard library), is that libraries often have common cases that are worth optimizing for.
Looking for work
Hey, Niki here. This is a bit unusual. My sabbatical is coming to an end, and I am looking for a new opportunity. Full-time or contract, startup or research, remote or Berlin, individual contributor,
Memory Safety's Hardest Problem
Memory Safety’s Hardest Problem Jul 20, 2026 Uplifting a lobsters comment for easier reference. The central memory safety counter example, the hardest case to solve, doesn’t have anything to do with
Aurora DSQL: Scalable, Multi-Region OLTP
Aurora DSQL: Scalable, Multi-Region OLTP A paper! Our new paper, Aurora DSQL: Scalable, Multi-Region OLTP, is now available on Arxiv. I’m excited about this one: it’s a fully end-to-end look at how Au