MoreRSS

site iconRamsay Leung修改

软件工程师,蚂蚁金服 - 微信 - AWS,使用Emacs 与Linux 
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Ramsay Leung的 RSS 预览

捷克每月消失的29名工人

2026-07-29 12:09:00

事实证明,中国的工人就是更便宜更好用,不但工资低,工作时间还长,一天能干12小时,而捷克的工人工作时间更短,还有工会; 不时抗议工作条件,还找媒体控诉,以至于建工人宿舍的计划也流产了。

此外,工人们还发现,原来承诺的给苹果产品赶工的年终也不曾兑现,因此工人们威胁, 要在圣诞节前的销售旺季罢工,富士康的管理层很快就妥协并发放了承诺的奖金。

只是不到一年后,这个富士康捷克工厂都被关闭了, 330员工人都已被裁撤。

根据捷克法律,裁员超过30人都需要上报当地的劳动部门,富士康是怎么裁掉这300多人的呢?

富士康的做法就是每个月,定时定侯固定裁29人,直到工厂关闭。

郭台铭的棚屋办公室

2026-07-29 11:32:00

一位苹果高管回忆,当1999年,他造访富士康位于深圳龙华的工厂时,他被工厂里世界一流的机器与厂房周围「垃圾场」一样的环境的巨大反差所震惊,而老板郭台铭的办公室是一栋老旧的单层的,水泥地面,铁皮屋顶的建筑,里面摆着塑料桌案。

身为中国人,郭老板当然不是不知道自己作为老板的门面,恰恰相反,郭老板想用他简陋的办公室来向客户证明,他的客户得到了最划算的交易——他挣的每一分钱都投向了生产线,而不是接待区的大理石地板。

戴尔电脑的创始人迈克尔·戴尔对这种作风尤为向往,而对自己都狠的郭老板,肯定不会对员工宽容。

另外一位苹果高管回忆,曾在夏天造访龙华园区,广东的夏天真的是又闷又热,人站着什么不干都会全身都是汗。他在参观设施的时候,就注意到部分厂房装有空调,但是其他厂房就没有,他就问向导:「你们怎么决定哪些厂房需要空调呢?」,对方轻描淡写地回到,就看哪些厂房放着需要空调的设备。

这位高管要求匿名讲述这段轶事,并强调道:「他们更关心机器,而不是人。」

但是郭老板不是不会享受,只是不会在闪光灯下去享受,2002年富士康在欧洲捷克建厂的时候,郭老板就在工厂附近,花了三千万美金买了一座带12个卧室的城堡。

龙咬下的苹果

2026-07-28 08:00:00

《Apple in China: The Capture of the World’s Greatest Company》 是一本被《纽约时报》和《经济学人》同时评为2025年度迄今最佳书籍之一,作者特里克·麦基基基于对两百多位前高管和工程师的采访,并辅以乔布斯未公开的会议记录、高管间的往来邮件以及关于中国的内部备忘录,勾画出苹果的供应链与中国的紧密联系,远不止于世人所认为的「苹果仅仅是把代工」外包到中国而已。

除了大众「中国的工厂帮助苹果成为世界市值最高的公司」的认知外,作者也抛出了「苹果无意中塑造了当今的中国」这样的与众不同的观点

有趣的是,这本书在 Amazon 上有4.7的高分, 但是它在豆瓣上却连词条都不存在,这意味着它其实是被「禁」了,就像18禁的电影更能吸引观众一样,我也对这样的「禁书」更感兴趣。


果然是被禁了,被公众号秒删了


接下来我会以小故事的形式,把书中我认为有趣的部分分享出来。

首先这本书的封面就非常有设计感,因为苹果的 Logo 就是被咬了一口的苹果,据说是不咬一口的话,苹果看起来就和樱桃很像。

而这本书封面:

被咬下的苹果的部分,刚好被龙的阴影所覆盖,而龙嘛,是 帝王之征 (脑子里总是会想起新三国的梗), 中国的象征, 所以封面中龙与苹果的关系就如书中描述的苹果与中国那般,相互交织了起来。

接下来的小故事,先来讲讲与苹果关系紧密的富士康,就以老板郭台铭的铁皮屋顶的办公室开篇

理想主义者眼里的光

2026-06-07 05:30:00

1 前言

刚刚一口气看完了 JetBrains 对 Zig 作者 Andrew Kelley 长达一个多小时的访谈 Zig 2026 1,最打动我的,是 Andrew 谈及自己项目时眼里的光和发自内心,从嘴角溢出的笑容。

做自己喜欢的东西,眼里真的会有光的

2 Zig

最近 Zig 和 JetBrains 都有点处于舆论风口浪尖的样子, 鉴于不是所有的读者都有技术背景,先来介绍一下 Zig 和 JetBrains。

JetBrains 是一家成立于捷克、举世闻名的软件开发公司,专注程序开发工具,主要是IDE的开发,他们家的 IntelliJ IDEA 可以是Java程序员不可或缺的开发工具,甚至 Google 的 Android IDE也是基于 IntelliJ IDEA 二次开发的。

但是近些年来说 JetBrains 有点式微,据说一来是因为俄乌战争的原因,他们被迫与大量优秀的俄罗斯工程师中断合作,导致无法保证人手进行功能迭代;二来是在 AI Agent 的冲击下, 很多开发者已经没有使用IDE的必要了,而他们因为人手短缺又无法跟上 AI Agent 的开发,导致进一步落后,已经不再像以前那样被开发者所追捧。

Zig 是一种底层的程序开发语言,可以理解成 C语言的现代版本,而 Zig 的目标就是要替代C,成为更好的C。有技术背景的读者应该知道 C 在软件领域的影响力,C可以说是一切的基石,所以 Zig 的目标不可谓不宏大。

而 Zig 刚因两件事又出圈了,一个他们在官方博客宣布,代码托管平台要从 GitHub 迁移到非营利组织的 Codeberg, 因为他们抱怨 GitHub 太多 bug了, GitHub 的工程师又一直专注搞AI,连平台的基础能力都搞不好,整天崩溃(现在GitHub的可用性着实不行,每个月都崩个几回)。

另外一个事是,前段时间,使用 Zig 编写的 Javascript 运行时项目 Bun 被当红 AI 炸子鸡,下一个万亿巨头 Anthropic 收购了,因为 Anthropic当前最赚钱的产品 Claude Code 就是基于 Bun 编写的。

有趣的是 Zig 有一条明确的 AI 准则,就是不接受 AI 写的代码或者问题,Andrew 的原话是,AI写的代码就是垃圾,浪费时间来 Review, 但用 Zig 写的最知名的应用 Bun 又被最火的AI公司 Anthropic 所收购。

可能正因为 Anthropic 无法对 Zig 这个语言施加影响力,所以他们在3周前, 在自家AI的帮助下,用 Rust 把 Bun 重写,以取代 Zig, 这个 Rewrite Bun in Rust 的 Pull Request 仅新增了1百万行代码而已:

3 理想主义者

为什么说 Andrew 是个理想主义者呢?

因为他的目标太宏大了,他觉得现在的编程语言C, C++, Rust, Go 都不能满足他的诉求,所以他想写一个能满足自己的要求的编程语言,并且可以取代掉 C。

这个事情实在是太难了,因为 C, C++ 都已经成为行业标准近40年了,而像这些10来年冒起的编程语言: Go, Swift, Rust, Go 背后的是巨头 Google, Swift 背后的是另外一个巨头 Apple, Rust 背后也有 Mozilla 这个爹.

Zig 真的是开局什么都没有,连个能讨饭的碗都没有.

目标非常宏大,吹牛,说大话谁不会呢,但是难的是像 Andrew 一样为了自己喜欢的东西持续做了超过十年。

Zig 目前是由 Zig Software Foundation 这个非营利组织所托管,而这个非营利组织给 Andrew 开的年薪是15.4 万美金,这个薪水看起来不低,但就 Andrew 在编程语言和编译器方面的造诣,如果他愿意去大厂的话, 可以轻松翻2到3倍,甚至更多。

或者如果他对 Anthropic 妥协,Zig 甚至会推广得更好。

但是 Andrew 对此的原话是:

I’m comfy, I don’t need more (我现在很舒服,不需要更多了)

对更好的物质条件说不,坚持做自己想做的事情,或者我不应该说「坚持」,因为知足常乐,做自己喜欢的事,并不需要「坚持」。

而 Andrew 这种理想主义气质也一以贯之地影响了他对软件工程和开发的看法,他想写「不妥协」的代码(The bar that I want to hold software to is uncompromising perfection),而工程师应该清晰地知道自己在想的是什么。

就在这种信念的驱使下,Andrew 拒绝了AI贡献的代码,因为他认为提交PR的人并不知道代码到底在做什么,而只是简单地把AI返回的结果粘贴上来而已。

4 眼里的光

对于Zig 我之前也有所了解,对于 Zig 和 Andrew 宏大的目标,也想泼盘冷水,但是对于理想主义者来说,最不缺的就是泼冷水的人了,也就多我一个不多。

在各种AI冲击,取代软件开发的氛围烘托的当下, 看完整个访谈,真的很难不被 Andrew 开心的笑容所打动,看他分享着自己喜欢做的事情,让我这种满身「班味」的人也忍不住由衷地为他开心。

当主持人问道,对工作感到倦怠的开发者,有什么建议时?

Andrew 笑着回答到要好好运动,好好睡觉, 如果你在一家没有生气的公司工作,那就不要再尝试努力,准点下班回家。

他还分享起工作之外的趣事,自己跑的唯一一次马拉松,当他跑了21英里时候,实在跑不动,就开始走了,然后被旁边一个大爷超过, 这大爷肯定超过70岁了,他就问自己:「你怎么这样啊?」

但是他就还装死,继续走。

他自己说完,笑得不行了,我看到这里,也笑出声来了。

看完访谈,我回想起上周和朋友去科学馆的经历,把里面的各种科学设备都玩了个遍,还听了一堂科学课,周围的小朋友都非常踊跃地上台参与。

在课程结束后,课堂上左边的结束语是: THE WORLD NEEDS MORE NERDS(世界需要更多的‘书呆子’)

右边,刚好是一位希望成为计算机科学家的9岁小女孩

这个世界还是需要更多眼里有光的人的。

AI来了,人类更要多读书

2026-05-05 13:00:00

1 前言

距离我写的《杂谈AI取代程序员》已经过去一年半, 再分享一下我对AI的个人感悟。

先说下我自己AI的使用和熟悉程度,我司的风格是做淘金热里卖铲子的人, 而我自己从2024年就在 S3 参与AI相关功能的开发,主要是做面向AI的海量训练数据存储,现在 Anthropic 也在用我们组的产品。

工作中,我们可以使用的是 Anthropic 部署在 AWS 上的最新模型(当前是 Opus 4.7),量大且绝对管够; 而工作之外我也订阅了Google的 Gemini Pro 以及 ChatGPT 的 Business Plan, 可以说御三家的模型我都尝到饱。

2 思考快与慢

当我和朋友聊起AI的时候,他说他已经用了几个月的 Claude Code, 现在 Claude Code 写出来的代码他已经不想看了;不过好几次 Claude 搞不出来的功能,只能自己下手写 design 教它怎么搞;但是代码的确已经不想看了,更何况自己动手写代码。

其实这种现象在日常生活中也很常见,短视频看多了之后就无法看长视频;电影解说看多了之后也没法完整看完一部电影; 读书视频看多了之后,也不会真的去读一本书了,甚至一篇长文都看不下来。

有一本著名的心理学的书叫《思考,快与慢》,作者就把人类的思维归纳为两个思考模式:

系统一快速、直觉且情绪化,系统二较慢、较具计划性且更仰赖逻辑。

但系统一也很容易上当,它固守「眼见即为事实」的原则,任由损失厌恶和乐观偏见之类的错觉引导我们作出错误的选择。 有意识的系统二通过调动注意力来分析和解决问题,并作出决定,它比较慢,不容易出错,但它很懒惰,经常走捷径, 直接采纳系统一的直觉型判断结果。

用多了系统一,就很难激活系统二. 而这个是人类进化的结果,目的是为了节能,减少能量的摄入.

AI编程工具正是典型的系统一放大器——它快速给出答案,让人跳过思考过程。久而久之,我发现自己也变得越来越懒得激活系统二了。

这不禁又让我想起我用AI编程的心态转变。

3 心态几经反转

从网页版本的 ChatGPT 一路用过来,到现在的 Claude Code/Codex, 我对AI编程的心态可以说是几经反转。

Claude Code 这样的 coding agent 可以在输入 prompt 之后,独立生成代码,编译,测试,基本提供一个需求就能独立完成,开头可以说是惊艳。

但是后面我发现生成出来的代码会有过多的冗余,不必要的奇怪逻辑,此外它比较擅长从0生成代码,在已有代码上做修改就很麻烦。

要让减少它生成屎山代码,就需要我来介入 review 把控。

问题在于,让它来生成代码,我来review,我就需要理解它的思路,并且搞懂它的意图; 而当我自己写代码时,思考过程都是在我脑子里面的,就省去了理解意图的步骤,自己写反而会比 review 它的代码来得更快。

如果完全由它自己发挥,只要不到10个需求,我们的代码库就会面目全非,服务炸了还需要我来给它擦屁股, 我也能理解为什么有人说,有了AI反而更累了。

我不是说Agent不好用,有些地方用 Coding Agent 来完成非常顺手:

  1. Debug: 我提供日志,错误信息以及大概的思路,然后让AI顺着我的思路来搜索代码库。 AI在搜索关键代码方面非常有帮助,毕竟它就擅长搜索,尤其是搜索我不熟悉的第三方库或者是其他团队的内部代码,一般几分钟就能把 bug 找出来;而 bugfix 只需要几行的代码;此外,搜索是个只读操作,AI并不会产生屎山代码。
  2. review 代码:我来review AI 生成的代码很费劲,但是反过来,让AI来review我的代码,就非常简单和有效; 因为我对自己实现的代码心中有数,所以我一眼就能知道AI的评论是否有道理; 并且人写的代码,变更行数有限,上下文很小,便于发挥AI的特长.
  3. 生成验证功能的代码片段:比如要验证某些想法是否可行时,我就会直接让AI来生成代码,反正对质量没有要求。

3.1 矛盾:不懂代码,又如何"vibe coding"

这就有个矛盾的点,如果我不能比AI更懂编程,我又怎么能指导它,写出更贴切的提示词呢?说好的不懂编程也能 vibe coding呢?

我能控制 coding agent 构建出我想象中的应用,但是我不能用它构建出我无法想象的东西,我的想象力和经验其实就是我手中 agent 的上限。

那么,有了AI还要不要读书?

我总会想起《冰与火之歌》: 一同前往绝境长城的路上,雪诺问小恶魔为什么总是在看书,小恶魔答道:

“我的腿太短,头却太大,总算这脑袋对我还算合适,凭着它我很清楚自己能干什么、不能干什么,它就是我的武器。

老哥有他的宝剑,劳勃国王有他的战锤,我则有我的脑袋瓜……

不过人若要保持思路清晰锐利,就得多读书,就好像宝剑需要磨刀石一样。”

提利昂轻敲书皮,“琼恩·雪诺,这就是为什么我读个不停啰。”

多读书才让自己静下心来学习新的知识,而不是固守在过往的知识,反而对 coding agent 产生越来越强的依赖。

4 后话

书读得足够多,脑子里面有相当的知识量之后,又要怎么去尽量调到系统二来分析和解决问题的呢?

我的做法就是发现 coding agent 出错之后,就去骂它。

因为我发现,在骂它的时候,我脑子就会自动搜索读过的书,寻找相应的论据,让我骂得有理有据, 既趁机触发了系统二,也运用到我读来的知识,还在内心里强化了不能尽信AI的观点, “trust but verify”, 可谓是一箭三雕。

当然,这纯属一种自我训练的小伎俩,和老板骂员工的管理逻辑不可同日而语(难怪老板喜欢骂员工), 不过,倒让我理解了为什么批评有时也能激发思考。

《切尔诺贝利的午夜》

2026-05-04 04:27:00

1 前言

提起切尔诺贝利,首先映入脑海的是我在2019年看完、后来反复观看过很多次的HBO高分剧集《切尔诺贝利》。

只是这部豆瓣9.6分的剧集已经在豆瓣消失。

我一直有听播客的习惯,可以利用做饭或跑步时耳朵空闲的时间。我这段时间听的播客是《蜜獾吃书》, 第4期介绍的是亚当·希金博特姆的《切尔诺贝利的午夜》。

作者花了十余年,采访数百人,翻解密档案,试图剥开几十年的阴谋论,还原事故的真相。

这两个月,我趁着空闲时间把这本书读完,将内容与HBO剧集相互对照,心中萦绕着一股奇异的熟悉之感。

2 史上最严重的核事故

切尔诺贝利事故发生在1986年4月26日,是历史上最严重的核灾难。它释放的辐射剂量是广岛原子弹的400倍以上,数十万人撤离。

工业上有个海因里希法则:每一起严重事故背后,必有29次轻微事故和300起隐患。切尔诺贝利正是如此。

它的根源,早在反应堆还在图纸上时就已经埋下。

2.1 设计缺陷

制造原子弹比建造核电站容易得多:炸弹是一次性用品,而电站需要稳定、持续的能源输出,控制机制复杂得多。

切尔诺贝利使用的RBMK反应堆存在三个致命设计缺陷:

  1. 为追求功率牺牲安全:为了与化石燃料电站竞争,反应堆被设计成最大化电力输出,但在运行周期末期会变得极不可控。
  2. 体型过大难以监测:反应堆分成1600个压力管,各区域反应性关联松散,工程师只能凭“经验和直觉”估测堆芯状态。
  3. 紧急停堆按钮形同虚设:控制棒完全插入需要18-21秒(刹车延迟)。更危险的是,控制棒尖端由石墨(促进反应的材料)制成,导致按下紧急按钮的瞬间反而会加剧反应——相当于踩刹车后先加速。

这些缺陷叠加在一起,为后来的灾难埋下了伏笔。

2.2 体制缺陷

维克托·布留哈诺夫被任命为此全球之最的巨型核电站的厂长,并需要在一片沼泽地上将其从无到有建立起来,同时还要建造一座附属的城市。

在一与世隔绝的沼泽地中建造4座核反应堆和一整座城市的16年里,维克托·布留哈诺夫慢慢学会了面对官僚系统里的现实。

遭到反复敲打,不断屈从于上级意志,昔日博学强记、直率坦诚的年轻专家已经变成了党政大员们听话的工具。布留哈诺夫学会了如何敷衍塞责、应付了事,从而以有限资源满足那些根本不切实际的目标。

莫斯科的能源部得知核电厂涡轮机大厅的屋顶居然是用极其易燃的沥青铺成的时候,他们命令他立刻返工。 然而,为这座50米宽、近1000米长的建筑物重铺屋顶所需的特殊防火材料,在苏联境内根本造不出来, 于是能源部只好特许他不按规章办事,沥青便留在了那里。

当该地区的党委书记指示他在普里皮亚季建造一个符合奥运会比赛规格的游泳池时,布留哈诺夫曾试着拒绝:这类设施通常只会建造在人口超过100万的苏联城市中。但当书记坚持说“要你建就建”时,布留哈诺夫只好服从。他虚报城市预算,骗过了国家银行,挤出了这笔建造费用。

此外,眼看着切尔诺贝利电厂的第四座、也是功率最高的一座反应堆即将完工,相当耗时的对机组涡轮发电机的安全测试工作却还未完成。 布留哈诺夫静悄悄地推迟了这项工作,从而可以在莫斯科下达的最后期限前正式竣工。

而正是这项被推迟的安全测试工作,叠加反应堆本身的设计缺陷,直接导致了4号反应堆发生爆炸。

2.3 事故处理

爆炸发生后,布留哈诺夫拒绝相信下属提供的数据,试图拖延。克格勃切断了城市的所有电话线,封锁了普里皮亚季,却未向市民发出任何警告。

应急委员会甚至起草了修复反应堆并重新发电的方案,尽管这显然不可能。当瑞典检测到辐射尘并询问苏联时,苏联当局矢口否认。

直到4月28日,事故发生后近三天,莫斯科广播电台才播出简短声明,称「一座原子反应堆遭到破坏」,但未提及事故发生时间。克格勃同时采取措施限制外国记者收集信息。

后续行动(时间线简列):

  • 4月28日:疏散半径10公里居民,首次电视公布事故。
  • 4月29日:撤离30公里内全部居民,共13.5万人。
  • 5月2日:三名志愿者冒死打开排水闸门,排出2万吨高放废水,避免了二次爆炸。
  • 5月4日:向地下注入液氮,防止熔融物污染地下水。
  • 至12月:建成「石棺」封闭四号反应堆。总计60万苏联人参与抢险。

3 有感

读完全书,可以清晰地感受到苏联人在切尔诺贝利事前、事中、事后的表现,清楚地展示出这个庞然大物是如何系统性失灵的。

而事后动员近六十万人,集中力量办大事地处理核事故,又清晰地展示了其为何有能力与美国同为世界唯二的两个超级大国,尤其是在短短5个月的时间内完成「石棺」这一堪称世界上最有难度的工程建设。

读完之后,我无意去评判苏联失能的系统,只是书中苏联官方的各种处理方案,都会给我一种难以名状的熟悉之感,毕竟「以俄为师」。

另外一个对我感触很深的人是厂长布留哈诺夫。他用了16年时间从零建起了这座城市和当时世界上最大的核电站,可谓是居功至伟;

而在审判中,他也没有为自己做任何辩护。在质证过程中,同为被告的另一个人问他,有没有文件证据表明这座核电厂曾被划为「易爆炸」设施。

布留哈诺夫小心翼翼地表示了异议:「这个问题的答案在调查材料中提供了。」

布留哈诺夫依然是塑造了他的那个体制的产物。他很明白,自己被期待在被告席上扮演怎样的角色,他选择了「为国背锅」。

不知为何,我总觉得我能共情布留哈诺夫。

当上级给你定下了不可能完成的任务目标时,作为下属,你能怎么办?

显而易见地有两种选择:

选择一:直接告知上级任务是不可能完成的,然后等待上级的批评处分。上级不关注实现难度,你做不到,上级就换人,总有人愿意接的。

选择二:既然任务是不可能按质按量完成的,换谁来都一样。那些能承诺完成的人,只不过是选择减质减量完成而已,我也可以如此做。 完成之后我得到的是嘉奖而不是处分,存在问题的成果总比没有成果来得好;后面出了问题再修吧。

看着年轻的布留哈诺夫,

我想说的是,没有哪个直率坦诚的年轻人,是一下子变成老油条的。