Quoting Rick Brewster
- ID
- 20587
- Status
- summarized
- Published
- 02 Sep 2026, 1:50 PM
- Fetched
- 02 Sep 2026, 2:44 PM
- Provider
- Simon Willison
- Category
- developer-ai
- Original URL
- https://simonwillison.net/2026/Sep/2/rick-brewster/
- Source URL
- https://simonwillison.net/atom/everything/
Summary
- Score
- 8.0
- Created
- 02 Sep 2026, 2:45 PM
- Tags
- Audience
- developersvibe_codersai_agent_users
What happened
Rick Brewster, author of Paint.NET, shipped a from-scratch clean-room reverse-engineered rewrite of Direct2D (180,000 lines) to make Paint.NET work on WINE/Linux, written almost entirely by Claude. He describes the code as 'vibe coded'—unreviewed at scale because 180,000 lines is unreviewable by one person—and notes he had to actively babysit Claude on resource management (it wasn't doing COM AddRef() for reference-counted objects) and correct bad architectural decisions, while being impressed by its tireless reverse engineering of Direct2D's built-in effects formulas.
Why it matters
This is a concrete data point on what 'vibe coding' looks like at production scale: 180,000 lines of shipped, unreviewed AI-generated code inside a 20-year-old mature codebase. The specific failure modes (missing COM reference counting, bad architecture decisions) tell you exactly what to watch for when using coding agents on systems-level code—resource lifecycle and design coherence are where the agent breaks down, not raw implementation. If you're shipping AI-generated code, plan your review strategy around the classes of bugs Brewster hit, not around line-by-line verification.
Discussion angle
Brewster's honesty about shipping 180k lines of unreviewed 'trust me bro' code in a real product is the most candid account yet of vibe coding at scale—discuss whether this is a sustainable engineering practice or a ticking time bomb, and what review strategies actually work when the volume of AI-generated code exceeds human capacity.