【文章标题】:Quoting Rick Brewster 【文章标题】:引用里克·布鲁斯特的话

【文章正文】: 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, Direct2D一直是Paint.NET在WINE环境下的最大障碍,显然它永远无法完善到满足Paint.NET的需求。而我不能简单地”禁用”Direct2D的使用。因此,

Paint.NET now has an internal, from-scratch, clean-room reverse-engineered rewrite of Direct2D that it uses on WINE Paint.NET现在拥有一个全新的、通过净室逆向工程重写的内部版Direct2D实现,专门用于WINE环境

(triggered by using /wine). It lives in PaintDotNet.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. […] (通过使用/wine参数触发)。该实现位于PaintDotNet.Windows.Direct2D1.Managed.dll中。这是由我们的好朋友Claude编写的,没有他/她,这既不可能实现,也永远不会发生。[…]

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 way too 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. […] 正如人们所说,这些代码大部分是”氛围编码”。我的意思是它没有经过彻底审查,更像是”信我准没错”的风格。我实在无法审查18万行代码,这实在是太多太多了。作为参考,Paint.NET的其他部分约有70万行代码,而我已经开发它超过20年。[…]

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. 有时,Claude的工作状态就像10个刚获得自由的爱因斯坦级天才10倍效率程序员同时爆发。而其他时候…嗯,就不太理想。我不得不经常照看Claude,确保它正确进行资源管理(有段时间它完全没有为引用计数对象执行COM风格的AddRef()操作,哎呀)。当我发现一些非常糟糕的设计或架构决策时,不得不”敲打”它几次。但我也对它在逆向工程Direct2D内置效果库所需公式时展现的聪明才智和不懈努力印象深刻。

— Rick Brewster, author of Paint.NET ——Paint.NET作者 里克·布鲁斯特

Tags: reverse-engineering, coding-agents, claude, generative-ai, ai, llms, dotnet, linux, vibe-coding 标签:逆向工程、编码代理、Claude、生成式AI、人工智能、大语言模型、.NET、Linux、氛围编码

🔗 知识库双向关联