片段
把偶然思考的片段记录下来,以此串联整个人生。
Rob Pike 怒喷 Claude AI 团队
Rob Pike 怒喷 Claude AI 团队,有点意思。生成式 AI 的出现,差不多这几年最大的话题了。 最近我用 AI 辅助开发 DNS DoH 的代理工具,也算是深度使用 AI 。深度使用之后,也知道了它的优势和局限性 。帮助有不少,但不能指望它太多。Vibe Coding 差不多胡扯。AI 生成的代码作为原型验证和概念参考尚可,基本能跑通逻辑就算成功,然而维护性基本为零、可靠性和健壮性也没有。
其次,AI 不知道现实世界的细节和 bug ,只是当你提问到具体细节的时候,它才可能意识到没考虑具体问题,它也无法很好的解决。问题是,当你提问具体细节的时候,你已经踩到坑。我本地测试很多问题都没有,部署到服务器会遇到各种奇怪的 DNS ,比如,同一时间多个重复的 DNS 请求,需要丢弃;有些查询返回了域名不存在,需要负缓存;以及 type 65 类型的 DNS 需要转发等各种问题。两天跑通主逻辑,然后逐一解决这些细节问题却花了我将近两周。
设计上,AI 给我的代码是多线程。测试时最多开 40 个线程,结果只有 1200 的 QPS 。而我自己重写的代码单线程多协程,只用一个线程就有 2600 个 QPS ,性能差太多,AI 生成无脑浪费计算资源的代码。它会抄作业,却不懂编程,不懂设计。写的代码也很难看,一个函数超过整个屏幕还多一大半,我不知道怎么维护这种东西,至少需要自己拆分和重新设计模块和接口。
正如 Frederick P. Brooks 多年前那篇论文所说,《没有灵丹妙药——软件工程中的本质性和附属性》。软件开发的困难分为两类:本质性困难,比如抽象概念的构建,数据、算法的构建工作(解决这些问题需要程序员一点想法);附属性困难则是抽象概念映射到具体机器和代码,比如编译和语言错误等。软件工程领域,没有任何一项语言、技术或管理上的突破,能像硬件领域那样在十年内让生产力、可靠性或简洁性得到数量级的提升。包括 JetBrains 这些 IDE 工具,它们主要解决了附属性困难,却无法帮助降低本质性困难。现在 AI 出来,本质性困难得到解决了吗?
AI 对我最大的帮助并不是生成代码,而是搜索文档的效率显著提高,原本需要自己 Google 逐个打开网页看资料,现在比如要看 DNS 的报文格式,只需要让它告诉我就行,自己参考格式去解析,省掉了搜资料的过程。所以它仍然属于降低了附属性困难。
复制AI代码的时候我也意识到侵权问题,AI提供的代码里难免包括开源作品,我使用它的代码会无意中侵权。作者本人同意吗?这还不是最关键的,关键是用户不知道自己使用了谁的代码。如果我用了别人的代码,我会附上他的 Lisence,表示对他人工作的尊重。现在这样侵权,我都不知道侵权了谁。未经同意、没有报酬,随意拿别人的辛勤产出作为训练数据,伤害了那些认真做事的人。
让AI帮我写解析 DNS 代理的代码,它真的就只会写解析 IPv4 和 IPV6 的代码。而实际我要做的工作还有很多:我要处理 CNAME,因为有报文里IP 地址。我要做缓存和负缓存。我要有并发,异步和协程提升性能。我要做 log 日志帮助排查问题。我要构建简单的配置文件。我要添加单元测试。
就像那个梗,怎样画马。它就只能给你提供一个原型框架,但凡想让你的代码有更多的功能、维护性和细节,大部分事情需要你自己去完成,也需要你自己踩坑。这个框架到底有多少的价值?不是很大。当然,写写一百行不到的脚本这种简单的事情,把别人开源的小程序抄抄,它确实可以轻松胜任。或者说,把我的 Python 代码翻译成 golang 的代码,它很快,基本能够一次成功。稍微复杂的事情 ,AI 是做不了的。
而且对于某些项目,编程是有趣和有创意的事情,我还不想让AI替我完成。这就像,你不可能让机器人替你做爱,自己在旁边看着。我们的工作也还没有到简单重复和不需要思考的程度,总是有一些艺术性和智力在其中。
2025-12-28
不方便和低效率,正是商机
生活中自己和别人遇到的不方便,那就是可以产生需求和赚钱的地方。比方说打游戏网络很卡,想办法可以写个工具,让自己网络更延迟更低。有人发现了这个需求,所以就自己开发了加速器。有人想要访问国外的网站,有人发现自己上国外网不方便,他就开发了他的VPN,也用来商业化。
再比如,之前谷歌翻译停止在中国大陆运行,导致很多网站的翻译功能用不了。我也遇到这个问题,直到然后有公司开发了一个翻译的插件解决问题。大家都遇到的问题,有人想着怎么去正面解决它和商业化;有人想着怎么绕过去,就会错失一些机会。
你不方便的地方,经常也是别人不方便的地方。正好它就是一个有需求的地方, 如果解决了这个问题,你正好也可以来商业化。 所以说,生活中要多留意哪些东西使用起来不方便,哪些东西低效率。如果能让这种效率得到改进 ,那就可以赚钱。
2025-12-26
卖肉的商贩
超市里卖肉的商贩,不仅视力不好,听力也不行。有时我指块小的,他拿大的。有时我说买两块,给我拿三块。下次我带支激光笔, 买哪块指哪块,确保他不会拿错;带上扬声器,让对方能听清楚。以前同学说自己遇到病情更重的,帕金森,手抖得厉害,切糕一刀下去, 半套房没了。这病还有传染性,一传十,十传百,大多卖切稿的都有这怪病,搞得顾客都不敢买。
明明都已经这么困难 ,还坚持出来做生意,令人感动。其他人还有什么借口不努力呢?
2025-12-26
什么是爱情
人只有在还不太了解对方的时候,才可能爱上他/她,因为这样不会看到对方的缺点。这就像喜欢某份工作、某个游戏或学科,一开始接触时热情满满,时间久了就觉得无趣无味,只剩下无聊和重复了。
喜新厌旧是人的本性,却也不能说是坏事。也许人只有不停地爱上某些东西,才能维持生命力,不至于落入虚空。
在这个意义上,爱情只分为两种:一种是即便认清了对方的缺点,但彼时爱意已坚,选择继续在一起的;一种是为错误买单,及时抽离了的。没法说哪种做法更好,无非是个人的选择。正如哈姆雷特说,“事物本身并无好坏之分,各人的想法使然”。
我大概是第一种人,我不愿轻易地放弃一段关系,即便错了,也会就将错就错。
2025-12-07
乐趣
我认为自己最大的问题是乐趣不足,是个无趣乏味的人。在生活中找不到足够的乐趣,人生是没有意义的。
Linus,不朽传奇
Linus是一个不朽的传奇,在Youtube上看到了他最近的访谈,其中有趣的细节:
- 他说电子邮件是他唯一用的媒介,他不使用社交媒体。家人发短信,其他人用邮件。
- 他已经很少自己写代码,大多时候是合并别人的代码。
- 电脑偏好:
- AMD 9980X线程撕裂者,他并不追求非常高端的配置,但希望它安静可靠。可靠对他来说是第一位的,可以信任和合作。
- 主板必须支持端到端的 ECC内存。如果不包含ECC,内存迟早会变糟糕(Oopses内核错误和Segmentation violations)。这不是是否发生的问题,而是什么时候发生的事情。
- 风扇: 猫头鹰NH-U12,对水冷不感兴趣,担心不可靠。看到有人服务器架子上漏绿水。
- 电源:prime tx1600
- 显卡是英特尔。不是英伟达。
- Windows很多不稳定和蓝屏,并非软件bug,大部分是硬件不可靠导致。超频也会增加问题。
- DDR5并没有内置ECC。即便DDR5有ECC,内存条到CPU如果出现错误也无从察觉,因此电脑必须有端到端的ECC。
- 厌恶语音信箱,Zoom之类的会议。
- 制作了一个吉他踏板,小巧,并且自己焊接,但实际上不弹吉他。放松的方式是喜欢设计一些没有意义的小东西。阅读比以前少了。
- 他不用NAS,他数据存储的方式是上传互联网。如果有价值,别人会替他保存。
- Linux系统是他最自豪的创造,是他的孩子。Git很棒,但他只是提供了初始的设计。Junio为此工作了20年。
- 开始他不想开发Git代码控制系统,就像数据库一样枯燥。整个生涯都更接近硬件,喜欢与硬件打交道,没有抽象层。
- 不重复造轮子,如果别人创造了,他不会自己做Linux。他乐于懒惰,也可以乐见别人的懒惰。如果别人有更好的系统,他不必自己动手。
- 随着用户增长,是否遇到压力?没什么压力,一直按社区的工作流解决问题。技术问题不算压力,因为技术是可以修复的,而且他擅长修。压力主要的来源是人。
- Linus表示自己不擅长与人相处。(曾经公开说:英伟达,fuck you)
- 假如重新开发Liunx, 你会做出不同选择吗?答案有两个:如果早知道会这么难,我最初就不会开始做这件事。需要一点天真才能完成这么大的事情。另一个答案是,我不会重复做与另一件相同的事情。
- 认为自己一生非常幸运。在初创公司工作7年,从未觉得自己是最聪明的。他希望工作的同事比自己更有能力,否则还有什么意义?
- 授权选择,喜欢GPL Version 2,正确的授权。
- 有人在他的两个项目基础上建立了数十亿美元的公司,他并不会因此难过。他不嫉妒,而且感觉非常满意,因为这有意义。
- Github被微软收购,更有趣的是,微软云收入超过了Window系统,而且微软云大部分运行Linux。Linux与微软竞争很多年,现在成了朋友。
- 他不玩游戏,但是年轻时做过一个糟糕的游戏。如果你是青少年,喜欢电脑,你就制作游戏。
- 从未想过在Linux上撂挑子。遇到很难的技术问题,或者遇到使自己生气的人。只是泡个热水澡,热度,放松和换个心态。
- 不希望Linux无法离开自己,有合适的人,就让位。
- 不把猫和狗当作宠物,把它们视为家人。更喜欢养猫。鱼是害虫,不理解那些做水族箱的人。养过很多宠物,老鼠也不错,它们最大的问题是只活三年,然后他女儿会伤心。
- 加拿大阿尔伯塔,陆地上唯一除南极之外没有老鼠的地方。加拿人可能很自豪,Linus说连老鼠都不想活在那里。
- 如果自己死了,Linux社区也会正常运转,每次发布有上千个开发者参与。
- 关于AI是泡沫还是一场计算革命?Linus表示,很明显两者都是,显然的泡沫;同时也非常有趣,会改变社会,改变大多数技术性工作的完成方式。同时,他表示AI不像是大家想象的那样有革命性。 对Vibe Coding和AI模型训练大规模知识产权盗窃的看法: 接受现实,妖怪已经从瓶子里释放,无法放回去了。即便是失业的摄像师,都没法拿回作品。 对于编程,AI会成为一种工具,让人们更加高效。Vibe Coding对初入编程领域的人会非常有帮助,但维护它则是很糟糕的事情。不认为程序员会消失,仍然会希望有懂得维护最终成果的人。非常相信AI,但也非常不相信AI周边的那些事情(指围绕AI的炒作)。我发现市场里的营销既病态又扭曲,而且未来肯定会崩盘,而且会非常惨烈。(不作为投资建议)。
Linus and Linus about AI. Quote: “I mean it’s clear it’s clearly both right it’s clearly a bubble and at the same time it’s very interesting and I think it will change society and I think it will change how most skilled jobs get done at the same time I don’t think it’s as revolutionary as people make it out to be. I’m a huge believer in AI. I’m not a huge believer in the the whole things going on around AI. I find the market marketing and the market to be sick and twisted and and there is going to be a crash and it’s not it’s going to be ugly. (Not financial advice)”
- 不喜欢英伟达。AI已经发生了,事实证明英伟达很在乎钱从哪里来。
- 关于内核代码自己的贡献占比。维基百科的说法是大约2%。第linux一个版本自己写了约1万行,从那以后参与者已经上万。代码行数根本不应该被赋予任何重要性。 马斯克的几家公司曾经根据代码行数裁员,Linus认为这是有效指标的人都太愚蠢,不适合在科技公司工作。
- 不喜欢因为工作而出差。那根本不是旅行,而是麻烦。不喜欢大城市。但有的城市比较有趣,比如喜欢去东京,虽然它是大城市,但依然充满个性。
- Linux的正确发音,瑞典语,李nux,而不是莱nus。当他搬到美国,他开始说,lion-nus。他不打算纠正别人,因为没人能正确发音Linus Torvalds。
- Linux夸奖采访者是个有开创性的Youtuber,正在改变世界。
- 有Xbox,但大概1年没开机了,圣诞节孩子们会玩。也有任天堂,玩过地平线:曙光,很喜欢这个。(这个游戏可以在Linux上玩)
- 他用的Linux发行版是fedora, 因为与内核开发者联系紧密。那些非常想让事情简单的发行版比如Ubuntu是面向消费者的产品,很多年前他试过,但是实际上让他很难升级内核。他不是这类产品的受众。像ArchLinux这类注重技术的发行版,我不知道在哪里编排,他只关心内核。
- 他认为当前Linux太多的发行版,这种分裂是一个巨大的劣势。如果你是商业软件开发者,没有一个目标而是多个目标,显然地拖慢进度。主要的发行版都一样,他们非常清楚分裂的问题,但是他们每个发行者都希望统一的发行版是自己的发行版。
- 哪个发行版更适合新人,这类争论是开源历史的一部分,就像早期争论编辑器的优劣一样。你必须拥有你确切相信的东西, 对他来说就是fedora。
- 我不给别人技术建议。坐在自己的办公室,从不回复技术建议相关的邮件。
- 回复邮件的方式:要么几乎即可回复,要么你根本得不到回复。
- 隐私看法: 公开,毒害那口井。不要试图让自己担心什么,就把一切说出来,变得毫无趣味,没人关心。
- 手机用安卓。他的手机都是别人免费寄给他的,苹果从来没有给他寄过手机。
- 不在乎有人是否使用Linux。他非常关心用户,没有用户的项目,没有意义。但另一方面他觉得不用Linux不是他的错。只要用户足够多,自己所有的事情是有意义的,而不是意淫。As long as there are enough users,that what I do is meaningful. and not just some mental masturbation.
人生与生命力
小区的绿植到了冬季就一片死气沉沉,失去了生机。似乎所有的生命老了都会失去生命力。
也可以反过来想 ,一旦失去了生命力,就开始老了。
所以生活的主题就成了如何不失去生命力。我的答案:折腾,不断学习新的东西,认识世界。
2025-12-04
制度与经济
在社媒上看到有中国旅客在俄罗斯被警察索贿的事情,而且俄警察用的是中文。对此,我也有看法。
如果要旅游,也应该去发达国家, 不要去发展中的。在发达国家,旅客很难遇到被警察或海关索贿的事情。
发达国家之所以发达,因为制度,准确说是法治。
经济发达是法治的副产品,由于法治完善,人们才更有信心开展形形色色的经济活动,从而成为经济发达的国家。
社会主义没有优越性的,制度的优越性只能来自法治。一个国家在法治上做得更好,它就更有优越性。亚洲国家这方便做得最好的是新加坡,其次是日本。
有人说社会主义优越性,其实只是他当皇帝当出了自己的优越性。如果我当皇帝,我也会每天自我感觉良好。