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
The Value of Things
One of the reasons I write is to help me organize my own mind. I have a compulsive need to figure things out and I’ll lay awake at night shuffling sentences around in my head until it hangs together.
Considering Strictly Monotonic Time
Considering Strictly Monotonic Time Jan 23, 2026 Monotonic time is a frequently used, load bearing abstraction. Monotonicity is often enforced using the following code: fn now(clock: *Clock) Instant
Fragments: January 22
My colleagues here at Thoughtworks have announced AI/works™, a platform for our work using AI-enabled software development. The platform is in its early days, and is currently intended to support Thou
Conversation: LLMs and the what/how loop
LLMs help developers explore the "what/how" loop of software abstraction more fluidly, complementing TDD in managing cognitive load and building adaptable systems.
Elegant and safe concurrency in Rust with async combinators
Rust's async combinators enable elegant, functional concurrent programming while maintaining safety and declarative code style.
mGBA → Dolphin not working? You need a GBA BIOS
mGBA requires a GBA BIOS file to connect to Dolphin emulator via link cable emulation, which isn't documented clearly.
Pass@k is Mostly Bunk
Pass@k is Mostly Bunk Exponentially better results? I'll take three! Measuring the success of AI agents isn’t easy. It’s very sensitive to what success means, it can require a lot of samples, its hi
Electricity use of AI coding agents
Unable to summarize - no content provided in the blog post about AI coding agents' electricity usage.
Quamina v2.0.0
There’ve been a few bugfixes and optimizations since 1.5, but the headline is: now knows regular expressions. This is roughly the fourth anniversary of the first check-in and the third o
Giving University Exams in the Age of Chatbots
Unable to summarize - no content provided. Article likely discusses challenges of administering university exams when students have access to AI chatbots.
Looking for a new role
30-year tech vet seeks remote Dev Advocate/Tech Marketing role. Excels at simplifying complex tech. Available immediately.
Remaking the Linux "touch" command in PowerShell
A PowerShell function that recreates Linux's "touch" command, making it easier to work across different terminals without context switching.