Agili 的 Hacker Podcast 每日摘要
今天的 Hacker News 话题横跨硬件极简主义、键盘复刻、生态修复、供应链安全、天文学、Go 语言、生物力学和文学结构分析,展示了科技世界的多样面向。
2016 年的老至强跑 Gemma 4 大模型
12 tokens/s 的纯 CPU 推理
有人在 2016 年产的 Xeon E5-2620 v4(8核16线程,无GPU,128GB DDR3)上成功运行了 Gemma 4(26B参数的混合专家模型),生成速度约 12 tokens/s——接近人的阅读速度。完全依靠 ik_llama.cpp(llama.cpp 的CPU优化分支),不借助任何显卡。
内存带宽是真正的瓶颈
每生成一个 token,都需要从慢速 DDR3 内存搬运几十GB的权重到 CPU 缓存。CPU 大部分时间在等内存,而非计算。推测解码(speculative decoding)是绕过“内存墙”的关键:用一个小型草稿模型快速生成候选 token,再由主模型一次性验证。小模型的工作集能塞进 L3 缓存,不额外消耗内存带宽。
关键优化标志
作者使用了一系列精细配置,包括针对混合专家模型的缓存层优化、融合矩阵乘法减少内存搬运、CPU 版的 Flash Attention(将注意力计算化整为零留在缓存中)、多头潜注意力压缩 KV 缓存至 56GB。只用 8 个物理核心,不超线程——在内存密集型负载中超线程只会增加调度开销。
社区讨论:功耗与实用性
该配置整机功耗约 100-150W,长期运行电费可能接近甚至超过云 API 费用。但作者强调“用旧硬件比造新硬件的生态足迹更小”,离线、隐私敏感场景无可替代。多位评论者指出,一台二手 E5 工作站不到 200 美元就能跑“足够好”的开放模型,与云 AI 公司的高昂成本形成对比。
IBM Beam Spring 键盘复刻争议
经典电容式弹簧键盘回归
Model F Labs 推出了 Beam Spring 键盘的复刻版,有 104/87/122/60% 四种布局,粉末涂层铝壳,399 美元起售。这种键盘是 IBM Model F 之前的电容式弹簧设计,原版二手价常在 1000-2000 美元。
品控与售后问题
产品页面列出大量警告:键盘出厂未完全组装,按键可能不工作,建议用户自备“急救包”备用模块,甚至提醒“不要用于关键任务环境”。Hacker News 社区反应分裂——多位用户指出该卖家(Ellipse)在键盘社区口碑较差:发货慢、包装差、损坏率高、售后基本没有,保修条款苛刻。
支持者的声音
HTMX 作者 recursivedoubts 给了正面评价,认为能体验 70 年代 IBM 工业设计哲学。也有用户将其类比英国跑车:需要勤维护,但这恰是卖点,适合喜欢折腾的人。想体验老式 IBM 手感的读者可考虑 Unicomp 的 Model M 复刻版,价格更低,近年品控已改善。
加州阿拉米达溪恢复鲑鱼洄游通道
近三十年的障碍清除
阿拉米达溪曾是旧金山湾最大的硬头鳟和奇努克鲑鱼产地,自 1967 年起被一系列结构阻隔。2025 年,最后一道障碍——一条天然气管道的 2.4 米落差——被移除。PG&E 与加州鳟鱼组织合作,将管道深埋至河床下 20 英尺,恢复 550 米自然河道。
鱼类迅速回归
工程完工当月,生物学家就在新管道上方发现一对奇努克鲑鱼——自 1950 年代以来首次。2026 年 2 月,下游鱼梯拍到了成对硬头鳟向上游游动。上游保留洄游基因的居民虹鳟已被标记,有望在未来返回产卵。
社区讨论
有读者提到华盛顿州类似的鱼道工程。关于鲑鱼洄游习性,评论指出并非所有鱼都严格返回出生地,部分个体会“迷路”开拓新流域,这是自然备份机制。对于 PG&E 的贡献,有人肯定“公司主动修复自己造成的问题”,也有人反驳“它创造了问题在先,不应被过分称赞”。
Red Hat npm 包供应链被入侵
31 个包 95 个版本被植入恶意代码
安全公司 StepSecurity 披露,Red Hat 的 @redhat-cloud-services/ 组织下多个 npm 包被入侵,包括 chrome、compliance-client 等常用库。攻击者利用生命周期钩子执行、账户劫持、自复制蠕虫等四种已知供应链攻击技术。这些包共享发布流水线,攻击可能通过入侵开发者机器实现。
npm 生态系统的脆弱性
社区讨论集中在 npm 默认允许所有包在安装后运行任意代码的设计上。相比之下,pnpm 有更细粒度的安全控制,yarn 4 和 uv 已支持“冷却期”选项拒绝安装上线未满数天的包。评论建议组织设置 3-7 天的延迟更新策略。
讽刺意味
多位评论者指出,Red Hat 的核心价值是提供可信的、经过验证的软件,这次入侵恰发生在 Red Hat 自身。有用户说:“Red Hat 存在的全部理由就是防止这种情况。”
鲁宾天文台即将开启大数据天文学时代
一年抵过去两百年
位于智利的维拉·C·鲁宾天文台配备了 8.4 米镜面和全球最大的汽车尺寸数码相机。首个运营年内预计发现 100 万颗小行星——相当于人类过去 200 年的纪录总和——以及数千颗彗星和数十亿颗恒星与星系。
已发布的首批图像已有收获
2025 年 6 月发布的首批图像包含 1500 颗新小行星。其中 19 颗自转极快,最快的一颗 2025 MN45 直径约 700 米,每 1.88 分钟自转一圈。对于这个尺寸的小行星,科学家原本预期不会有快于 10 分钟的自转周期。它可能是一颗已死行星核心的碎片。
哈勃张力与失败超新星
鲁宾一年能找到 25 万颗 Ia 型超新星,有望帮助解决宇宙膨胀速度的“哈勃张力”问题。它还能发现“失败的超新星”——恒星坍缩而不爆炸的事件——2026 年 2 月已锁定一个候选体。
星际访客追踪
2025 年 7 月发现的星际彗星 3I/ATLAS,鲁宾早在 10 天前就已经捕捉到它。科学家预计鲁宾将发现 5 到 500 个这类天体。全面巡天将于今年夏天开始,每晚产生 700 万条警报和 20 TB 数据。
Go 的 httptrace:藏在标准库里的网络调试利器
自 Go 1.7 就内置但少有人用
net/http/httptrace 暴露 HTTP 请求的内部环节:DNS 解析、连接获取、TLS 握手、数据发出瞬间和首字节到达瞬间。它的设计很特别——将 ClientTrace 附加到 context.Context 上,而不是通过中间件注册。
context 设计的优势
trace 跟着请求走,任何传播 context 的中间件自动传递追踪。同一个 Client 的并发请求可携带不同 trace。没人附加时传输层只做一次 nil 检查,零开销。
实用示例
文章展示了两个例子:一个像 curl -w 那样打印时间分解的 CLI 工具,以及一个可复用的 RoundTripper 封装。连接复用是特别有用的场景——检查 GotConn 钩子中的 Reused 和 WasIdle,就能知道客户端是否真的在复用连接。
社区反馈
有开发者感叹:“两年前知道就好了,我后来自己写了嵌入连接结构的追踪。”另一位评论:“这种小细节正是 Go 优秀的地方——语言不止是语法,更是端到端的开发流。”
仓鸮羽毛的静音飞行之谜
纯听觉捕猎实验
1950 年代末,Roger Payne(后来因发现座头鲸歌声而闻名)做了个实验:仓鸮在完全黑暗中被关在铺满干树叶的房间,仅凭听觉就能定位鹿鼠,16 次中 12 次成功。堵住一只耳朵后,偏差达 18 英寸。
不对称耳朵与面盘
仓鸮左耳比右耳高,面部心形羽毛碟左右不对称——左缘更朝下,右缘更朝上——分别将声音聚焦到对应耳朵,以此判断声音高度。移除反射羽后,判断高度的能力明显下降。
羽毛的微观降噪结构
翅膀前缘锯齿、羽毛表面丝绒状质地、羽缘绒毛状流苏共同减少涡流并防止羽片拍打,使飞行几近无声。西门子已将类似“梳齿”结构用于风力发电机叶片,Zipline 公司已基于此原理申请更安静的无人机旋翼专利。
Kefir C 编译器停止公开开发
转为私人模式
Kefir C 编译器作者宣布无限期停止公开开发,不再发布新功能。项目将作为个人爱好私下继续,但已有代码和 bug 修复仍会公开。
三个原因
维护成本超过个人业余时间的承受能力——每次改动都要考虑整体正确性、优化和调试信息。项目收到的社区关注和反馈很少,无法支撑从爱好变成公益服务。AI 公司大规模抓取开源代码训练模型,让作者重新审视开源的意义。作者强调这不是一时冲动,已私下讨论近一年。
《Infinite Jest》的谢尔宾斯基地毯结构
作者与读者的两种构造方式
David Foster Wallace 确认《Infinite Jest》的结构就是谢尔宾斯基地毯——一种三角形内嵌套三角形的分形。几何学家的自上而下构造对应 Wallace 的写作:三个顶点是 Enfield 网球学院、Ennet House 戒毒中心和魁北克轮椅暗杀者,在每一尺度上反复细分。中心被故意挖空——James Incandenza 本人和他的致命“娱乐”正是那个被移除的三角形。
混沌游戏对应读者重读
随机选取起点,每次随机选一个顶点并在中点画点,重复足够多次后分形自动浮现。这意味着你可以在任何地方进入小说,无论从 Hal、Gately 还是分离主义者开始,最终都收敛到同一个结构。第一次阅读散落的点像是噪声,重读时结构越来越清晰。
三种“臣服”
三个顶点分别代表意志被消解为纯粹表演、臣服作为康复、臣服作为意识形态。有评论指出 Wallace 在《This Is Water》中反复强调的主题在此体现:没有不崇拜的人,区别在于选择崇拜什么。这本书正是为注意力的长极限而设计。
芯片设计:大学与工业界的落差
从搭晶体管到拼 IP
大学里可以修一门课,从设计晶体管一路搭出逻辑门、加法器、乘法器,最终流片拿到实际芯片。进入工业界后发现,每一步都由不同团队甚至不同公司完成。现代芯片中多达 80% 的物理面积被非定制模块占据,工作变成确保组件正确对接。
开源芯片的困境
开源硬件社区希望像开源软件那样降低门槛,但缺乏支持现代工艺节点的自由 EDA 工具是最大障碍。有评论认为中国可能成为打破封闭的力量——一旦达到技术前沿,它们未必有动力设置严格的 IP 保护墙。
推荐学习资源
对于想转行芯片设计的人,评论推荐了 Harris & Harris 的《Digital Design and Computer Architecture》(RISC-V 版),但也承认工业界做法和教科书差别很大。
播客全文
女:Hello 大家好,欢迎收听 Agili 的 Hacker Podcast,我是莓莓。
男:大家好,我是阿哲。
女:今天咱们来聊点硬核又有点散乱的话题。阿哲你听说了吗,有人在一台 2016 年的老服务器上把 Gemma 4 给跑起来了,这模型可有 26B 参数呢。
男:我也看到了。一台 8 核 16 线程的老 Xeon,频率只有 2.1GHz,没有 GPU。跑到了每秒 12 个 token,差不多就是人阅读的速度。最狠的是它用的是 DDR3 内存,这比我预想的要难得多。
女:我对这些硬件参数没什么概念。你工程师整天说 CPU、GPU,这个跑在 CPU 上到底难在哪?感觉像是让一辆老拖拉机拉了一列火车。
男:你的比喻很接近。核心瓶颈其实不是 CPU 算力,而是内存搬运。你可以想象,CPU 像是一个超级快的大脑,但它每次要说出一个词,都得跑到隔壁村的一个大仓库里去翻几十 GB 的笔记。那条通往仓库的路就是内存带宽,DDR3 这条路就是乡间小路,宽窄有限。CPU 大部分时间都在路边等笔记送到,而不是在思考。
女:原来是在等快递。那个人是怎么解决这个问题的?单纯硬扛吗?
男:他用了不少巧办法。最聪明的一招叫推测解码。他找了一个很小的草稿模型,先飞速写几个可能的下文,然后主模型再来一次性检查批改。这个小草稿模型工作集小,能直接塞进离大脑最近的 L3 缓存里,等于把笔记提前放到了手边。这几乎不增加内存搬运的负担。
女:就像是秘书先拟好三个版本的回复,老板扫一眼挑一个最合适的,省了自己从头想的时间。
男:对。而且他为了让这套东西在老硬件上跑起来,用的是一个专门针对 CPU 优化过的推理引擎分支,叫 ik_llama.cpp,不是我们常听说的那个 Ollama。他在启动时候加了二十多个优化参数,像是给 CPU 缓存量身定做的。有个操作是把模型启动时的排布重新组织一下,牺牲一点启动时间,换来生成时更顺滑的内存搬运。启动加载要 84 秒,但跑起来就快了。
女:我注意到一个细节,他用了 8 个核心,还特意关了超线程。这听起来很反常识,不应该是核心越多越好吗?
男:在内存极度拥堵的情况下,核心多了反而添乱。就像八个人同时在一个窗口排队领东西,窗口就一个,其他人只能干站着互相踩脚。关了超线程,就是让这八个人安安稳稳排好队,不去挤。
女:评论区好像有人质疑他用的是 DDR3 内存,说官方规格里这款 CPU 只支持 DDR4。
男:没错,有用户指出来,Intel 官方给这款 E5 的规格就是 DDR4。作者用的可能是某些小众 OEM 主板的特殊组合,允许 v3、v4 的至强去兼容老旧便宜的 DDR3。不过这算是个有趣的小争议,不影响他这套优化路子的通用性。
女:他还算了笔账,说旧硬件的生态足迹比造新的小。但有人反驳说,这种老服务器空载的时候功耗就有 100 多瓦,日常跑着当聊天机器人,电费可能比按量付费的云 API 还贵。
男:是的。一张二手的 E5 工作站可能就 200 美元,但 24 小时开机是另一回事。不过作者也说得很实在,他强调的是隐私、离线、低延迟这些场景,这些是云服务暂时给不了的。他最后那句话挺有意思的:瓶颈不在硅,在你愿不愿意理解引擎怎么干活。
女:既然聊到理解引擎,你跟我说说那个叫 httptrace 的 Go 语言工具?我看有篇文章说它在标准库里躺了好几年,但好多开发者都没用过。
男:这算是个藏在 Go 标准库里的小宝贝。它跟刚才讲的深入底层优化逻辑有点像,只不过它优化的是你发现问题的能力。做后端开发,最头疼的事之一就是排查一次 HTTP 请求到底慢在哪。是 DNS 解析慢了?TCP 连接慢了?还是 TLS 握手花了太久?httptrace 就是干这个的,它给你暴露出了请求里那些平时完全看不到的内部环节。
女:那它怎么用?是不是得在我那个 http.Client 上注册一个中间件什么的?
男:这正是它设计出彩的地方。它不走客户端配置,而是挂在 context 上。你把追踪器附加到请求的上下文里,它就会跟着整个请求的生命周期走。任何能传播 context 的中间件都能自动带上它。而且它基本是零开销的,你不用的时候它不会碍事。
女:听起来像给请求装了个行车记录仪,平时不工作,但需要的时候就有画面。
男:对。文章里举了两个例子。一个是写命令行工具,像加强版的 curl,能精准打印出每一段的时间分解。另一个是把记录仪逻辑封装成一个可复用的 RoundTripper,这样所有用这个客户端的请求就自动都有了追踪。
女:这个封装应该能看连接是不是被复用了吧?有时候我调试老觉得代码在不断建新连接。
男:这就是它的高光场景。你能在钩子里直接看到连接是从池子里拿的旧连接,还是新建的。如果每次都新建,那基本上就是有人在代码里不小心每次都创建新的 http.Client,或者忘了关闭响应的 Body。
女:你一提这个我就心虚。我有个做芯片的朋友跟我吐槽过另一个维度的“理解引擎”,他说现在的芯片设计跟他大学学的完全不是一回事了。大学时候他从晶体管一直搭到加法器,最后还能去流片,他觉得那是世界上最酷的课。
男:这感觉我懂。我们上学时学编译原理,也是恨不得从词法分析到目标代码生成全自己手写一遍,觉得掌控了整个世界。他进工业界发现了什么?
女:他发现那种从零开始的创造基本消失了。现代芯片 80% 的面积可能都是买来的现成 IP 核,像处理器核、内存控制器、总线、传感器接口这些。公司做的事就是把这些 IP 模块连起来,像玩乐高。他觉得工作变得很乏味,挑战不再是设计,而是确保不同厂家买来的组件能对上接口。他自己几乎接触不到什么原创设计,反而验证团队的活听起来还更有趣点。
男:这其实跟我们软件领域类似。现在写代码很多时候也是在集成各种开源库和云服务。他的这个落差感,我觉得是在于从“发明轮子”变成了“在仓库里选购轮子”。
女:对,而且这个“选购”的代价不菲。有人提到,一个针对特定工艺优化过的整数加法器 IP,就能卖出几万美元。因为它经过了流片验证,买来就能用,省了你自己踩坑的麻烦。这听着有点像摄影圈,自己买零件组装可能更贵,还容易出问题,但就是有人喜欢这个过程。所以就有人聊到开源芯片的可能性。
男:嗯。开源硬件社区想复制开源软件的成功,把门槛降下来,但一直没跑起来。最卡脖子的是缺少能支持现代工艺节点的自由 EDA 工具。OpenRoad 这个开源项目有点进展,但离完整生态还很远。
女:也有评论提到,中国的芯片制造商如果冲到技术前沿,可能不会像现在的巨头那样花大力气筑知识产权高墙,说不定能意外促成更开放的生态。不过这话也说得有点远。对了,说起这种自己动手丰衣足食和品控难控的矛盾,我想起另一个最近看到的产品,复刻版的 IBM Beam Spring 键盘。
男:你说的是 Model F Labs 那个项目吧?那个键盘我知道。原版是给大型机终端用的,二手都炒到上千美元。他们现在出了好几种布局,起售价 399 美元,外观看起来确实有 70 年代 IBM 工业设计那个味道。
女:对,但是用户社区的反馈很分裂。发帖人很喜欢,说打字触感比经典的 Buckling Spring 更脆更响,键程更长。可是产品页面自己写了一堆免责声明,说键盘出厂不是装好的,按键可能不工作,用户得自己动手装键帽、调弹簧、换模块,甚至建议“别在关键任务环境里用”。
男:买个键盘还送自助维修服务。我看好多人都抱怨这家实验室口碑糟糕,发货慢、包装烂、到手就坏,售后基本等于没有。最离谱的是有人说他收到的键盘连键帽都没装,等于发货前就没测试过每个键。400 美元买一个大概率要自己先修的键盘,不少人觉得不值。
女:但买了觉得香的用户认为,这就像是英国老式跑车,你需要频繁维护它,而这恰好是它魅力的一部分。喜欢折腾的人会觉得这过程本身就是玩键盘的乐趣。发帖人就说,这把键盘能让你亲手触摸到历史。
男:我觉得这是两种完全不同的消费逻辑在碰撞。一边是买工具,它就必须可靠;另一边是为体验和修复过程买单。如果你只是单纯想体验老式 IBM 手感,有人推荐去买 Unicomp 的复刻版,更便宜也更稳,新模具的品控已经比几年前好了。但也不少人反驳,说 Unicomp 的也很快就坏,等这批 Beam Spring 等到都改名字搬家了。
女:看来保持耐心并接受不完美,是所有“折腾型”玩家的必修课。这种耐心有时候会有巨大的回报,就像阿拉米达溪拆除最后一道障碍的故事。科学家和环保主义者花了将近三十年时间,只是为了给一条鱼搬家。
男:你是说加州那个为硬头鳟和奇努克鲑鱼开路的事。他们拆掉了最后一道造成 2.4 米落差的天然气管道,把管道深埋到河床下 20 英尺,重新平整了 550 米的河道,恢复了自然坡度。这个事从 1997 年就开始推动了。
女:对。结果就是,工程在 2025 年秋天完工,当年 11 月,生物学家就在刚完工的管道上方发现了一对奇努克鲑鱼——这是从 1950 年代以来第一次有鲑鱼游到那个河段。我看到这条消息的时候觉得真快,就像大自然一直在等我们修好那个口子。
男:生物学家也觉得很震惊。说到大自然这种精妙的恢复机制,我上周还看到一个很让人惊叹的生物实验。有人把一只饥饿的仓鸮关在绝对黑暗的房间里,地上铺满干树叶,放进去一只鹿鼠。老鼠一跑动发出沙沙声,仓鸮就准确俯冲捕获。反复了 16 次,只失手了 4 次,偏差不超过两英寸。
女:这实验听起来有点残酷。但这证明了哪怕伸手不见五指,猫头鹰也能只靠听觉捕猎。
男:对。后来他们用纸团模拟老鼠拖着走,猫头鹰照样准确命中。但用棉花堵住它一只耳朵,它就偏了 18 英寸。抓老鼠的仓鸮,两只耳朵是不对称的,左耳比右耳高。这能帮它判断声音来自上方还是下方。它的脸就像一个精心设计的心形雷达天线,能捕捉和反射声音。
女:我比较好奇,它飞过去抓老鼠,翅膀怎么没发出一点声音把老鼠吓跑?
男:这就是它羽毛微观结构的功劳。翅膀前缘有锯齿,羽毛表面有丝绒一样的小凸起,后缘还有像两把梳子交错在一起的流苏。工程师都迷这个,西门子把类似的梳齿结构用在了风力发电机叶片后缘降噪,Zipline 无人机公司也基于这个原理去申请了更安静的旋翼专利。不过安静也有代价,他羽毛含油量低,容易被水浸湿。碰上连续下雨的繁殖季,雏鸟可能就得断粮。
女:为了极致的捕猎优势,牺牲防水性。这取舍真有意思。
男:对啊。自然界的进化不会给你一个完美方案,都是在具体约束下做优化。就跟那个把大模型跑在老服务器上的老哥一样,都是在特定边界条件里,去把一件事的潜能压榨到极限。他甚至可能乐在其中。
女:但这事不是所有人都能一直乐在其中的。我前两天读到一个叫 Kefir C 编译器的事,它的作者宣布项目停止公开开发了。
男:这个我也注意到了。他给的理由很诚恳——维护成本超出了他个人的预算和精力。他说每次改动都要考虑整体正确性、优化、调试信息,慢慢就丧失了最初那种捣鼓编译器的乐趣。
女:他觉得投入的不仅是时间,还有情感。但真正让他心冷的是社区反馈,他说项目收到的关注和反馈太少了,几乎无法支撑他继续把爱好当成公益。他还特别提到一个点,说现在 AI 公司大规模抓取开源代码训练模型,让他重新去想,自己无偿工作的主要受益者到底是谁。
男:这个说法挺直接的。他觉得这和 GPLv3 执照的意图起了冲突。开源不再是默认选项了。他说这消息不是为了博同情,就是履行他之前在文档里做出的承诺。社区里唯一的回复也很大度,说如果这对项目健康好,那就这样。
女:有时候就是这样。有些项目的生命力不在于一直高歌猛进,而在适时的沉默。好,咱们今天从老服务器跑大模型聊到 Go 语言的追踪小工具,又从芯片设计的职业落差聊到 IBM 键盘的爱恨,再听了加州溪流和猫头鹰的耐心故事,最后到开源作者的选择。
男:祝大家都能找到自己愿意去理解的那个“引擎”,不管是软件、硬件还是生活里的别的什么。
女:这里是 Agili 的 Hacker Podcast,喜欢我们的节目别忘了用你的泛用型播客客户端订阅。咱们下期再见。
男:再见。
参考链接
- A 10 year old Xeon is all you need
- New Beam Spring Keyboards
- Decades of Effort Restore Steelhead and Salmon Passage on Alameda Creek
- NPM packages from Red Hat have been compromised
- Rubin Tracks Skyscraper-Size Asteroids and Failed Supernovas
- Tracing HTTP Requests with Go's net/HTTP/httptrace
- The Genius of the Barn Owl's Feathers
- Cessation of public development of Kefir C compiler
- Two Ways to Draw Infinite Jest's Sierpinski Gasket
- Finding success in industry as a chip designer
