cd /news/generative-ai/quoting-rick-brewster · home topics generative-ai article
[ARTICLE · art-118655] src=simonwillison.net ↗ pub= topic=generative-ai verified=true sentiment=· neutral

Quoting Rick Brewster

Paint.NET creator Rick Brewster announced that the image editor now includes a from-scratch, clean-room reverse-engineered rewrite of Microsoft's Direct2D API, enabling the software to run on WINE/Linux via a new PaintDotNet.Windows.Direct2D1.Managed.dll. Brewster credited Anthropic's Claude AI coding assistant for writing the approximately 180,000 lines of code, which he described as 'vibe coded' and not thoroughly reviewed, noting that the rest of Paint.NET is about 700,000 lines of code developed over 20 years.

read1 min views1 publishedSep 2, 2026

Direct2D has always been the biggest hurdle for Paint.NET on WINE, and it's clear that it will never be completed enough for Paint.NET's use. And I can't just "disable" the use of Direct2D. So, instead,

Paint.NET now has an internal, from-scratch, clean-room reverse-engineered rewrite of Direct2D that it uses on WINE(triggered by using/wine). It lives inPaintDotNet.Windows.Direct2D1.Managed.dll. This was written by our good friend[Claude], without whom this would NOT have been possible and would NEVER have happened. [...]Most of this code is, as they say, "vibe coded." By that I mean that it has not been thoroughly reviewed, it's more "trust me bro" style. I cannot possibly review 180,000 lines of code, it's just way way

waytoo much. For reference, the rest of Paint.NET is about 700,000 lines of code and I've been working on it for over 20 years. [...]At times, Claude was working with the fury of 10 freshly unshackled Einstein genius-level 10x coders. And other times ... well, not so much. I had to babysit Claude quite a bit to make sure it did resource management correctly (for awhile it just wasn't doing the COM equivalent of AddRef() for reference counted objects, oops). I had to slap it a few times when I found some really bad design or architecture decisions. And I was also impressed at some rather clever and tireless reverse engineering work it did to figure out all the formulas needed for implementing Direct2D's built-in effects library.

— [Rick Brewster](https://forums.paint.net/topic/134563-🍷-extremely-experimental-winelinux-support-how-to-get-started/), author of Paint.NET

Tags: [reverse-engineering](https://simonwillison.net/tags/reverse-engineering), [coding-agents](https://simonwillison.net/tags/coding-agents), [claude](https://simonwillison.net/tags/claude), [generative-ai](https://simonwillison.net/tags/generative-ai), [ai](https://simonwillison.net/tags/ai), [llms](https://simonwillison.net/tags/llms), [dotnet](https://simonwillison.net/tags/dotnet), [linux](https://simonwillison.net/tags/linux), [vibe-coding](https://simonwillison.net/tags/vibe-coding)
── more in #generative-ai 4 stories · sorted by recency
── more on @rick brewster 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/quoting-rick-brewste…] indexed:0 read:1min 2026-09-02 ·