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 2
Announcing stdx, Rust's extended standard library: simplicity, performance and supply chain security for everyone
From embedded firmware (where it's badly needed) to big servers passing by cross-platform applications used by billions of people, the foundations of the computing stack are being rewritten in Rust.
Are insecure code completions a vulnerability?
Three months ago I saw that PyCharm shipped with a “Full Line Completion” plugin that “uses a local deep learning model to suggest entire lines of code”. These suggestions manifest as whole-line sugge
Gaslighting Openness
I have been a staunch supporter of Open Source for a long time, including experiments in funding it. I’m a true believer in the idea that Open Source always wins in the long run, but not automatically
A new monorepo architecture for Rust
I've just saw a project using the dreaded monorepo architecture: service1-package1/ service1-package2/ service1-package3/ ... service2-package1/ service2-package2/ ... I don't like it because packages
Long Links (AI)
The piece you’re now looking at exists because curation of interesting not-lightweight material included quite a few focused on our dominant malaise, namely you-know-what, I mean it’s in the
Replacing Plastic with Wool and Titanium
You've probably heard about how (micro)plastics are poisoning everything, from our land and water, to our bodies, and of the absolute malfeasance of the oil industry. Thus, as any reasonable
A new era for software testing
Automatic programming dramatically speeds up writing software in certain use cases and in the right hands. In my experience the output does not reach the structural quality and economy of complexity o
Thoughts on starting new projects with LLM agents
A few months ago I wrote about using LLM agents to help restructuring one of my Python projects. It's worth beginning by saying that the rewrite has been successful by all reasonable measures; I've be