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 48
Adding Keyboard Shortcuts To UIAlertView
Add keyboard shortcuts (Enter/Escape) to UIAlertView and UIActionSheet to speed up iOS simulator testing.
How To Center Content Within UIScrollView
Center content in UIScrollView using contentInset for better zooming behavior, avoiding layoutSubviews or setContentOffset methods.
UIAppearance for Custom Views
Learn to implement UIAppearance in custom views, including key issues with setter tracking and initialization patterns.
I went to the White House!
The author visited the White House with their sister for a special event.
What's a house that's white in Washington D.C.?
Exciting news received by the author and their sister.
Notes on Distributed Systems for Young Bloods
Experienced distributed systems engineers share practical lessons learned from production mistakes to help newcomers avoid common pitfalls beyond abstract theory.
The Borderlands 2 Gun Discarders Club
Borderlands 2 review confirms author's predictions: great game, but flawed token economy will drive players back to the original Borderlands.
Grace Hopper in Baltimore!
Attending Grace Hopper women in tech conference in Baltimore.
Facebook's 2012 Summer of Hack
Visited Facebook's Seattle office for their 2012 summer hackathon event.
Monorail (n., jargon)
A monorail is a web app that grew into a messy codebase by taking on too many responsibilities beyond serving HTTP traffic.
This is how a rock star feels
Great day experienced by author feeling like a rock star.
Hacking Block Support Into UIMenuItem
UIMenuItem can support blocks by swizzling the responder chain, enabling cleaner API patterns instead of traditional selector-based callbacks.
Using Subscripting With Xcode 4.4 And iOS 4.3+
Xcode 4.4's modern Objective-C subscripting syntax (array[index]) can work with iOS 4.3+ using a header-only hack.
Pimping recursiveDescription
Improved recursiveDescription method shows view controller hierarchies and containment for better iOS debugging.
NSURLCache Uses A Disk Cache As Of iOS 5
iOS 5's NSURLCache now auto-saves web content to disk using SQLite, based on Cache-Control headers for better caching.
Moving On... Or How Waiting For A Visa Was The Best Thing That Ever Happened To Me.
Developer turned visa wait into opportunity, transitioning from freelance to creating PSPDFKit as full-time indie developer.
Don't Call willChangeValueForKey Unless It's Really Needed
KVO methods willChangeValueForKey and didChangeValueForKey are automatically called by setter methods, so manual calls are unnecessary.
Reboot
Author relaunches blog to share iOS development tips and personal reflections.