今天的话题跨度很大:一台吊在天花板上的 800 美元机器人,AI 帮我们翻出几十年的旧漏洞,还有一份被拒绝的 C++ 标准草案。以下是 Agili 的 Hacker Podcast 对今日 Hacker News 热点的整理。
800 美元的吊线机器人 Stringman
从天花板够到地板
Nathaniel(网名 nhnifong)做的 Stringman 是一台拉线机器人:四个电机挂在天花板四角,收放线缆,把一只 638 克的两指夹爪吊在半空。整机售价 795 美元,机械 CAD、电路板和控制软件全部开源,拿到 OSHWA(开源硬件协会)认证。它可以装在 XY 对角线 3 至 10 米、层高 2.3 至 4 米的房间里。
它从上方够取,地板堆满杂物、轮式和足式机器人进不去的地方反而能碰到。提升力由四个电机分摊,载荷取决于合力矩而非单个执行器,房间中央线缆受力最均匀。官方数据:在 28 N 线张力上限下,7 × 7 × 3 米房间平均载荷 1.9 公斤,贴近地面可达 2.2 公斤。同样用 DM-H6215 直驱电机的 0.75 米串联机械臂只有 0.32 公斤载荷,且未计入臂自身重量。工作体积对比更悬殊:147 立方米对 0.88 立方米,每千美元买到 185 立方米对 0.35 立方米,约 500 倍。
移动速度约 0.4 m/s。两个锚点摄像头 1920×1080 30fps,夹爪广角摄像头 684×384 60fps。运算放在外部,用你自己的电脑当控制器,夹爪上是 Pi Zero 2W,锚点上是 Pi 3A+,走 5 GHz Wi-Fi,扫二维码配网。供电通过其中一根承重线送上,两芯 FEP 护套双绞线抗拉 50 N。不用电池就没有充电停机,也省掉移动平台背电池的重量。作者称累计在真实家庭里跑了约 1000 小时。
安全性和形态的争论
评论区吵得最久的是安全。作者自问自答:会杀死人吗?大概不会,拉力超过阈值线缆就松开。每根线有 28 N 上限,约一个背包的重量,超过后电机带阻尼放线,这个值可以调低,代价是载荷。有读者换算:提起 4 升牛奶约需 38 N,28 N 大概勒不死人。另一派不接受这套说法:如果官方立场是“别把线绕到脖子上、别让幼儿靠近”,那这产品迟早会出事,消费品该有更高的标准。作者自己的回应是“现在什么东西都太安全了”。
家用场景的质疑集中在形态上。有人说看演示时心情分裂:捡衣服觉得蠢,捡儿童玩具觉得真香。但线缆横穿房间、天花板上的风扇和吊灯、乐高上洒了巧克力奶、玩具上盖着毯子,这些都被点名。作者的解释是:锚点装到扇叶高度或更低,线就够不到风扇;工作区也可以缩小以避开偏在一侧的吊灯,但房间正中央有低垂物就装不了。闲置时线收在天花板附近,他认为天花板乱一点好过地板乱。
有人嫌 800 美元贵,也有人觉得这个价位做出这种覆盖范围很惊人。一位读者少年时每天花一小时收拾弟弟妹妹扔满屋的玩具,说当年有这东西能省几百小时。作者给它的定位之一是“家庭实验室的快递员”,在房间内把零件从一个工位送到另一个工位,配 Python API 和给 agent 用的 MCP server。
吊线还是人形
评论区另一条主线是“为什么非要做人形”。一派认为人形是审美驱动、几乎肯定不是最优解,吊在天花板或 R2D2 那样的滚动垃圾桶更现实;反方说世界是照人的尺寸建的,楼梯、高柜、割草机、汽车都摆在那儿,想要一台什么都能干的机器,人形可能是唯一答案。中间派提出折中:轮子装在脚上,只在上楼梯和跨障碍时用腿;不一定要头。还有人指出人形的真正好处是能用人类第一视角的动作数据训练。
技术讨论里有几处补充。有人问三根线够不够,回答是够,每根线的长度定义一个球面,三个球面交点就是位置,但三角形区域只覆盖半个矩形房间,所以四角更实用。有人提醒 Hangprinter、Maslow CNC 早有先例,体育场和演唱会里的 spider cam 是这类结构唯一大规模商用的形态;工业场景更愿意让机器人不动、用传送带送零件,因为大工作体积意味着同一时间只能服务一个任务。
教育场景写进了产品页:学生能接触逆运动学、遥测和模仿学习,数据集公开在 Hugging Face,有 controller-in-the-loop 的 MuJoCo 仿真,兼容 LeRobot,某些模型 50 个 episode 就能学会一个行为。线缆用久松弛怎么办、能否缩到分拣 M2–M5 螺丝的精度,这些还没有答案。
AI 正在逼我们还四十年的技术债
漏洞一直都在,只是现在被翻出来了
IEEE Spectrum 以 PHP2Shell 漏洞为切入点,讨论了一个更大的图景:AI 能持续、低成本地扫描代码后,行业被迫面对长期被搁置的旧账。PHP2Shell 不是孤例。社区提到 Brotli 的 HTTP2Shell 同样严重:漏洞在代码里埋了 8 年,修复在 Git 里躺了 8 个月,期间至少 4 位独立研究者先后发现并指出问题。换句话说,“人类一直坐在漏洞上不修”本身就是常态,AI 只是把发现速度提上来了。
这引出一个争论:发现漏洞的能力变强,是否意味着软件必须做到“可证明正确”?有评论者认为,AI 压力测试的逻辑终点是“所有 bug 都可被发现”,所以代码必须走向形式化验证,而形式化验证又只能靠 AI 来规模化完成。有人搬出 Donald Knuth 的话:“我只证明了代码正确,没证明它没有 bug。”证明只说明代码符合规范,规范本身可能是错的。更现实的声音指出,LLM 目前写的代码 bug 不少,修一个引入三个的情况并不罕见,把它当高级 linter 用比当证明器用更靠谱。
林纳斯定律的盲点
开源社区的感受更直接。Linus 定律说“足够多的眼睛,所有 bug 都是浅的”,但现实中约 100% 的用户只是安装软件,不会看一行代码。一位维护开源医疗项目的开发者说,过去半年收到的漏洞报告数量之多让人应接不暇,其中有大量误报,但真实漏洞也不少,团队被折腾得够呛,也变得更谦卑。也有人补充,Linus 定律的盲点不在数量,而在质量:一千个普通开发者扫代码,不如 Tavis Ormandy 一个人看一遍。
关于内存安全语言的讨论绕不开历史。有评论把矛头指向 NSA:二十年来囤积漏洞,推动地址消毒、指针标记这类半吊子方案,而不是把行业推向内存安全语言。反驳同样有力:DoD 当年力推 Ada 就没成功,即便国防承包商的大客户明确要求,Ada 也没能普及。Rust 编译器最近被挖出一个 11 年的内存 bug,说明内存安全语言不是银弹,但多数人同意它仍远好于 C/C++。
AI 一边还债一边造债
一个容易被忽略的侧面是:AI 一边在帮我们还债,一边在制造新债。有人形容现在的编码代理“热爱写代码”,但缺乏对边界和架构的品味,结果是一堆循环展开和 if 堆叠。另有评论批评 LLM 的防御性编程倾向:遇到逻辑缺口,它总是选择加一层错误处理把缺口糊住,而不是重构掉缺口来源,这正是 2000 年代被证明不可持续的“企业级”做法。KISS 原则被反复提起,但有人指出,简单往往比容易更难,而代理式编程的核心就是让每个任务变容易,所以它天然滑向复杂和膨胀。
责任与激励是另一条暗线。软件工程没有 PE 执照制度,NCEES 曾开设软件工程 PE 考试,后来因需求不足取消。欧盟的 Cyber Resilience Act 正在收紧法律框架。多位评论者认为,除非把安全事故的成本明确摆到公司账上,否则“快发布、以后再修”的激励不会变。有人分享用“桥的寿命”类比说服主管修复 CloudFormation 栈的故事:桥不会在寿命到期的第二天立刻塌,但金属疲劳在累积。另一位说,在 GDPR 之前,无论怎么论证都没人理,有了监管,“因为 GDPR”一句话就能砍掉一堆跟踪脚本。
PostgreSQL 内部原理在线文档
十二年写成的一本书
Hironobu Suzuki 从 2015 年 9 月 26 日起持续撰写《The Internals of PostgreSQL》,专门拆解 PostgreSQL 各个内部子系统怎么工作。文档覆盖到 PostgreSQL 19-beta 及更早版本,共 12 章:数据库集群与表、进程与内存架构、查询处理、外部数据包装器、并发控制、VACUUM 处理、HOT 与 Index-Only Scan、缓冲区管理器、WAL、在线备份与 PITR、流复制、逻辑复制(Beta)。
更新节奏很密。2026 年 5 月新增第 12 章逻辑复制,9 月重写了其中“并行应用 worker 模式”一节。6 月新增“PostgreSQL 中的异步 I/O”。第 8 章在 5 月完成一次版本聚焦,移除 9.5 及更早的过时内容,改为面向 9.6 及之后。第 3 章陆续补上约束、聚合函数、基数估算、并行查询,第 9 章加入 WAL Summarizer 进程和增量备份。2026 年 5 月的一次全站重构删掉 4,890 个词,占全文 5.6%。
有学术论文引用过这份文档,中文版于 2019 年 6 月出版。作者本人是软件工程师,出版过 4 本 PostgreSQL 书和 3 本 MySQL 书,2010 至 2016 年担任日本 PostgreSQL 用户组理事,也是 pg_plan_inspector 和 pg_tuner 的作者。
从哪里开始读
Hacker News 上,gopalv 提到最新一份关于 particledb 的 Jepsen 报告重新引发了对 PostgreSQL SSI(可串行化快照隔离)实现的兴趣。他的阅读建议是:如果只是浏览,直接跳到 HOT 更新路径那一节,先理解 HOT 和 TOAST,再读 zHeap 的实现笔记,能建立一套关于 PostgreSQL 做与不做哪些事的心智模型。refset 补充说,2020 年 Jepsen 针对 PostgreSQL 的报告发现过 SSI 实现里一个长期存在的 bug。
使用规则方面:教育机构的教师和学生可以免费使用文档和图表;非商业会议和讲座在注明站点链接和版权后也可使用;商业用途需按收入分成协议分享使用内容所产生销售额的 20%,或走完全买断,全部内容版权买断价 500 万欧元。作者在 FAQ 里说明,有人在 HN 上对买断价认真起来,但那是个玩笑。他不计划出 PDF 或手机版,理由是文档针对 HTML 阅读做了优化;也不打算用 RSS 通知更新。由于 XZ 后门事件,他不再接受匿名联系,发邮件需提供至少两个社交账号做验证。
HackerTV:把 HN 推荐视频做成 24 小时频道
一台复古电视
HackerTV 把 Hacker News 上被推荐次数最多的 YouTube 视频编排成 24 小时循环播放的电视频道。打开页面是一台复古电视,按电源开机,用 ↑↓ 换台、0–9 直接调台、G 打开节目指南、M 静音、C 开字幕、T 进入剧场模式,双击画面全屏。默认频道 “HN PRIME” 播放全站历史推荐视频,界面显示当前和下一个节目。节目时长在抓到 YouTube 元数据前只是估算,所以偶尔会看到 “PLEASE STAND BY” 待机画面,或者节目被截断。
评论里最集中的反馈是怀旧感。有人切到节目中间开始看,觉得像真的打开电视;换台时的音效也被单独提到。一位用户说,随便浏览频道比点开一个本来不会点的视频更有意思;另一位说这东西太好玩、太让人分心。创建者 dsalzman 在评论里简短致谢。
频道按主题划分。历史频道里出现了 Joe Rogan 的视频,有人觉得这是个不好笑的玩笑。一位用户换台时撞见 2005 年的扎克伯格说“我们正想办法处理苹果的事,我们显然对人们的隐私很敏感”,停下来多看了几眼。另一位打算把电视开着给孩子看,当作背景学习。有人建议把 HN 评论做成 MST3K 风格的叠加层,边看边刷。
想搬上电视,也想看提示词
不少人希望它离开浏览器:LG 应用商店、webOS、Apple TV、Google TV、Roku 都有呼声。一位用户已经用提示词一次性生成了一个 Roku 版 HackerTube 应用,并在评论里贴出了那段提示词。另一个人做了 Jellyfin 插件,用来“频道冲浪”自己的媒体库;spelunkr.tv 用 Internet Archive 的视频填频道;ytch.tv 也是类似思路。HN 上还出现过 HackerTube、HN Arcade,以及把 HN 书籍和视频混在一起的站点。
关于这类靠自然语言提示生成、上线后不太会维护的小应用,社区讨论得很热闹。有评论提出把提示词当源代码公开:既然大多数这类项目不会有正式更新,提示词至少能让别人接手。有人附和,说需要一个开源的基础模块框架,免得所有模型把同一件东西重复造上十万次。还有人建议把提示词放在网站的 /.well-known/prompt.md 下,或者把温度设为 0,让同一提示词在固定模型版本上复现同一结果。也有冷静的声音:这些站点几个月后大概率会被废弃,变成一片无人维护的荒地;另一位说“应用正在变成内容”,十五秒的参与度过去就过去了。有人在评论里问源码是否公开,作者没有回复这个问题。
Nvidia 加密固件让 Linux 推理只剩 35%
一半的性能卡在哪里
在 MSI Prestige N16 Flip AI Plus 这类 RTX Spark 笔记本上,Linux 能装、能跑完整桌面,也能通过 Nvidia 的开源内核驱动启用 GPU 加速。问题出在插电之后:GPU 时钟被锁在约 780 MHz,Windows 下同一颗芯片能跑到 2.2 GHz 左右,只有约 35%。MindStudio 博客用 GPT-OSS-120B 实测,Windows 生成速度为 65.4 token/s,WSL 为 65.1 token/s,DGX Spark 桌面单元为 61 token/s,同一台笔记本上的原生 Linux 只有 13.9 token/s。vLLM 开八个并发客户端时,WSL 达到 127 token/s,原生 Linux 为 39.5 token/s。长跑测试里,Windows 约 8 分钟跑完并让 GPU 维持在 2.2 GHz 附近;Linux 用了 37 分钟,GPU 全程在 790 MHz 左右。温度只有 40 到 47°C,不是热节流。
根因指向 Windows 设备管理器里一个叫 Nvidia Platform Controllers and Framework 的组件。它负责在 CPU 和 GPU 之间分配共享功耗预算。笔记本不像 DGX Spark 桌面单元那样可以单独给 GPU 供电,必须平衡两颗芯片的功耗。这个控制器拿到的电源设置表是加密的,Windows 驱动有解密密钥,Linux 没有。测试中在 Windows 里禁用该控制器,速度从约 83 token/s 降到 31 token/s,时钟从约 2 GHz 降到 786 MHz;重新启用后立刻恢复。这说明瓶颈不在 Linux 内核、发行版或 Nvidia 的 GPU 驱动本身。
安装过程与 WSL 折中
安装不是即插即用。第一次用 Omarchy 启动时屏幕闪烁、不稳定;换 Debian 能装,但安装器连不上 Wi-Fi,需要 USB 以太网适配器,而且原版内核不识别键盘、触控板和 GPU。回到自带 Nvidia 开源驱动的 Omarchy 后系统正常启动,但只能看到 128GB 统一内存中的 28GB。笔记本固件默认给 GPU 保留 96GB,这个分配只能在 Windows 里改。把 Windows 侧的 GPU 内存保留降到 4GB 后,Linux 能看到 120GB。之后 4K 120Hz 桌面、音频、触控板、键盘和 CUDA 加速都可用。
WSL 是目前更实际的折中。它跑在 Windows 驱动栈上,插电和用电池都能保持 Windows 的 GPU boost 行为,也能运行 vLLM、SGLang 这类 Linux 优先的 AI 工具。需要手动把 WSL 默认的 14GB 内存调大,才能承载大模型工作负载;调整后基准接近原生 Windows。
是滞后还是市场分割
HN 讨论里,一部分评论把问题归为 Linux 驱动支持滞后:RTX Spark 是新的 Windows 笔记本平台,出厂不提供 Linux,Nvidia 过去给 Dynamic Boost 的 Linux 支持也晚于 Windows 约两年。另一部分评论认为,加密电源表并只让 Windows 驱动解密,客观上会把用户留在 Windows;Nvidia 在消费级产品上做过市场分割,比如限制 GeForce 的并发视频编码流、把 GeForce 的 Tensor Core 限制在半速,所以对“只是 bug”的解释保持怀疑。有人直接问:电源表为什么要加密?还有评论指出,Nvidia 的开源内核模块仍把大量逻辑留在签名的闭源固件里,运行时更难检查。
讨论还澄清了 RTX Spark 与 DGX Spark 的区别:DGX Spark 桌面单元默认跑 Nvidia 的 Linux 构建,出问题的是同一 SoC 的笔记本版本。有评论质疑在笔记本上做本地推理的意义,建议把 DGX Spark 或迷你机插在家里,用 Tailscale 远程访问,笔记本保持轻薄和长续航;反对意见是隐私、离线场景和不想把数据交给云端。一位 Surface Laptop Ultra 用户报告这类 Windows on ARM + CUDA 机器完成度不高:默认把一半内存留给 GPU,WSL2 再分一半,性能落后同规格 Mac。替代方案被反复提到:AMD 的 Strix Halo、Intel GPU、华为 Ascend,以及等社区反编译固件。
Gemini 拿聊天记录训练,付费用户也不例外
保留活动是唯一的退出开关
Google 的 Gemini 会把聊天记录拿去训练,付费订阅的个人账户也不例外。这是 HN 用户 jameslk 发帖提醒的事:只要“保留活动”开着,个人账户里的 Gemini 对话就会进入训练数据,还可能被人工审阅。关掉这个开关是唯一的退出方式,代价是 72 小时后聊天记录消失。
Google 的帮助文档写得很直接:Gemini 应用活动“用于改善所有人的 Google 服务,包括训练生成式 AI 模型,前提是你的保留活动设置是开启的”;“一部分对话会由人工审阅者查看”;被审阅的对话“在你删除活动时不会被删除,而是最多保留三年”;文档还提醒“不要输入你不希望审阅者看到、或不愿 Google 用来改进服务(包括机器学习技术)的机密信息”。
jameslk 说他意识到得太晚,原以为付了钱就不会被当成产品。有评论者把人工审阅解释成应对责任风险,比如用户听信模型给出的用药建议出了事。jameslk 翻出文档反驳:Google 明确说审阅者评估回答是否低质、不准或有害,并提出更好的回答,“我们用他们的建议让模型未来回答得更好”。审阅同时服务于训练,不只是合规。“一部分”没有定义,可能是大部分。
多位用户指出人工审阅并非 Google 独有。fny 说所有前沿模型厂商都在监控交互中的问题行为,即使关掉活动追踪。cududa 提醒服务条款要读仔细:你退出的是自己输入的文字和模型输出,运行在你系统上的工具调用内容不在退出范围内。TZubiri 对比了 Azure 上的 OpenAI:触发安全分类器的对话保存 14 到 30 天用于核实安全,之后不再保留,也不用于训练未来模型。
全有或全无的代价
Google 的“全有或全无”做法被反复点名。Pixel 用户 richrichardsson 描述:关闭聊天记录后,语音助手能答应“晚上 7 点提醒我”,第二天却回答“除非你启用聊天记录,否则我无法对你的手机做任何事”。devsda 提到 Google Maps 在不开定位精度时拒绝显示当前位置,Play 服务的“身体活动”权限根本无法关闭。BoppreH 说 YouTube 关闭观看历史后首页直接空白,尽管侧边栏的推荐算法照样在跑。ACCount39 认为这是对不愿交出数据的用户的惩罚;latexr 倒觉得空白首页挺好,省得看标题党。
付费是否等于不被采集,评论区争论不少。WarmWash 提出“全价”由数据、广告和钱共同构成,比例由卖方定;bonoboTP 回了一句:我们正在讨论的,就是一个付费产品仍在收集数据的例子。kekqqq 说自己付了一年半,打算停掉,因为相比 Claude Code 或 OpenRouter 上的开源模型,Gemini 的附加值太小。therealmarv 说其他大 AI 公司都提供“保留历史但不训练”的选项,Gemini 只有 Workspace 里才有。
一位自称在 Google Search 处理用户数据的用户 r_klancer 写了长回复:用户数据的主要用途一直是整体改进搜索,看的是集体行为而非个人;广告相关性只用到有限数据,广告收入终归取决于用户是否满意并继续使用产品。jwr 不买账,说这套说法他很久以前也信,但搜索这些年越做越糟。keeda 补充,搜索反垄断庭审披露过 NavBoost 之类的机制:Google 用查询意图和点击、停留时长等行为改进排序,形成对手难以追赶的飞轮。
实用建议散在讨论里。有人只用临时对话;ConfusedDog 建议自建聊天前端配付费 API;mark_l_watson 说家里共用 Gemini AI Pro,财务和医疗问题改用 Proton Lumo 或 DuckDuckGo 的私密 AI。rheisen_ 提醒把 agent 工作流做成“对秘密视而不见”:密钥按引用传递、按引用校验,不要让 agent 直接读敏感文件,随时准备轮换。
日本的地味万圣节
一句说明才看得懂的扮装
2014 年,Daily Portal Z 的一群成年人想参加万圣节,又不好意思穿上僵尸或女巫的全套行头,于是干脆把自己打扮成日常里最普通的瞬间。这个活动后来被 Spoon & Tamago 在 2018 年命名为“地味(jimi,朴素、不起眼)万圣节”,每年把社交平台上 #地味ハロウィン 标签下的作品挑出来展示,今年是 2026 年的版本。
照片里的“扮装”都需要一句说明才能看懂:在狭小居酒屋里试图给一群人拍合影的人;正在斟酌怎么开口问能不能把椅背往后放的人;对着设计师款水龙头研究怎么出水的人;在电车上憋着笑看搞笑视频的人;把捣碎棒当吸管用的人;没想到商务饭局要脱鞋的人;某个非常小众领域的专家;背包已经鼓出来、手里还拎着东西的人;以及正在给分装瓶补充洗手液的女人。
最后这张引起了 HN 上最长的一轮讨论。numpad0 指出,她是在戏仿维米尔的《倒牛奶的女仆》,这幅画长期出现在日本教科书里,近几年成了日本 Twitter 上的梗图模板。dcrazy 说,自己原本只看到一个人在倒洗衣液,完全不知道在干什么。blobbers 觉得这张有点偷懒,“就是一张倒洗衣液的照片,算哪门子扮装”,并追问对方是怎么认出来的。numpad0 回应,这幅画出现在美术或世界史课本里,很多人在选择题里填过它的名字。
新干线的椅背礼仪
“正要问能不能放倒椅背”的照片有两种解读。Fricken 说一眼就懂,能看出他是在专程问“可以往后靠吗”。Jedd 纠正说那是火车座椅,不是飞机座,这种提前告知的礼貌在火车上尤其常见。jen729w 解释了背景:新干线座椅默认笔直,不往后调一点坐不舒服,而座位间距大约 1 米,空间相当充裕,可每个人每次都会先问一声后面的人。ezconnect 补充了另一层原因:大家习惯把行李带在身边,后仰会挤到后面的人;新干线虽然有行李存放处,但离座位远,停站时间又短,行李随身更方便。Waterluvian 的反应代表了不少读者的心情:“可以,一千个可以,把椅背放下来吧,温柔的人。”
happytoexplain 说,作为美国人他从没经历过“问别人能不能后仰”这种事,文化隔阂本身就好笑。henearkr 把它称作“情景俳句”,是俳句概念向实用幽默的转写。riazrizvi 说这是视觉喜剧:只说“试图说服公交司机在非站点开门的人”没有用,得给出那个具体瞬间,笑点才成立。
也有人借机贡献自己的版本,比如“用 Claude 凭感觉攒出一个待办应用、以为自己要发财、后来发现另外两万个家伙做了一模一样的东西的人”。他补充这类邮件每周来五封。corndoge 提醒,发信的并不是作者本人;jen729w 说这些邮件一看就是批量生成的,模板里还留着占位符。
Jelly Sheet:浏览器里的果冻塑料片
一张被持续浇注的薄片
Mr Doob(Ricardo Cabello,Three.js 的创建者)发布了 Jelly Sheet:一张半透明的塑料薄片挂在浏览器里,被持续浇注,像果冻一样下垂、堆叠。页面上的参数面板可以实时调节进料速度、弯曲刚度、塑料厚度、折射率、色彩密度、粗糙度、曝光、对比度、饱和度、色温,以及 GTAO 的分辨率和整体渲染分辨率。拖动滑块,塑料的软硬、透明度和颜色立刻变化。
HN 上的第一反应集中在手感。“玩起来真有意思”“莫名解压”“如此 Q 弹”。有人惊讶手机浏览器也能实时渲染这种效果。技术反馈很快分成几类:Firefox Mobile 报错 this.gl is null,有人提示去 about:config 把 webgl.disabled 设为 false;Fennec 能跑,Brave 不能。一位用户贴出浏览器控制台脚本,给塑料片加上剪切变形。还有人提醒,塑料堆积多了会变卡;暂停一会儿再继续,会留下漂亮的彩色分层。
vibe coding 的边界
争论的焦点落在作品标签上。有评论者指出这是用 vibe coding(凭感觉让 AI 生成代码)做出来的 codevember 项目,codevember 指每年十一月每天做一个创意编程小作品的挑战。他问:这类月度挑战的意义不就在于人的创造力吗?另一位回:他不是随便哪个“Claude 小子”,是 Three.js 的作者,这好比指责 Linus 在 Linux 内核里用 AI。提问者接着说,他知道对方是谁,也不在乎别人怎么用 AI,只是这些挑战对他而言是练手、玩、展示创意的地方,看到大语言模型介入觉得别扭。
关于“用 AI 还算不算自己在建造”,评论区给出几种经验。有人说软件开发的大头在于决定写什么,敲代码只占一部分,用 AI 的人更像在做架构和决策。有人拿装修打比方:你不砌一块砖、不算一根梁的承重,但看着自己的扩建慢慢成形,仍然很有成就感。随即有人反驳:这个类比成立的前提是,亲手做东西本身没有价值。还有人说自己管项目、定范围、盯用户界面细节,看到方案落地时的兴奋,和在 LLM 里推进一个想法是同一类。
一条与作品无关的长讨论线围绕代词展开。有评论用 they 指代 Mr Doob,引发几十层辩论:一方说 they 中性、简洁;另一方说他自称“Mr”,用 he 才准确,they 还会和复数混淆。这场争论从英语语法扯到意大利语里非二元形容词的词尾变化,和果冻塑料片本身关系不大。作品本身也收到一些具体期待:有人希望它能跟随手机陀螺仪晃动,有人设想把这种流体效果做进网页菜单。
假面试如何偷走 Binance 的 63 亿美元
从投毒安装包到假 CEO
朝鲜黑客组织 TraderTraitor 通过一场虚假的求职面试,在 Binance 一名软件工程师的工作电脑上植入恶意软件,最终在 10 月 29 日盗走价值 63 亿美元的加密货币。FBI 将此次事件归因于与 Lazarus Group 有关联的朝鲜黑客行动,该组织长期滥用求职招聘场景:既冒充 IT 人员被西方公司雇佣,也冒充雇主诱骗工程师下载恶意软件。
Binance 发布的事件报告还原了整条攻击链。准备工作始于今年 6 月,钱包基础设施团队的一名工程师下载了被投毒的 Homebrew 安装包。安全团队检测到恶意软件、更换了设备并轮换了所有受影响凭据,但报告承认,这名工程师的角色及其在钱包基础设施团队的相关同事因此暴露给了黑客。
三个月后,社会工程部分开始。9 月,另一名软件工程师通过正规求职平台被一名自称项目总监的人联系,对方安排了一轮与假公司的面试。首轮是与假 HR 的实时视频面试,面试官“分享了一个社交媒体账号,包括平台上发布的个人照片和视频,以建立信任”。第二轮在社交聊天应用上进行,对方自称假公司 CEO,接近尾声时要求工程师下载一份“作业”,里面是一个带恶意代码的代码仓库。代码在他的工作电脑上执行安装流程时运行。
恶意脚本替换了合法开发工具组件 pyenv。脚本先创建 /opt/homebrew/Cellar/pyenv/2.8.0/libexec/pyenv_,再用一个 3,414 字节的恶意版本替换合法 pyenv,删除 /opt/homebrew/bin/pyenv 并建立新符号链接,随后启动 zsh。攻击者还采取了隐藏脚本和规避检测的措施,Binance 的端点安全工具没有立即发现。
一连串失效的控制点
10 月 20 日,攻击者利用这台被感染的电脑和一个内部 AI 工具,进一步控制了钱包 DevOps 工程师 A 和另一名钱包软件开发者工程师 C 的电脑。工程师 A 的电脑上存有一个容器部署权限令牌,攻击者很快发现了它。10 月 29 日,攻击者访问工程师 C 的电脑,用从工程师 A 处窃取的凭据部署容器,并触发脚本发起盗币攻击。
HN 讨论把矛头指向了比“员工不该用工作电脑面试”更深的系统性问题。多位评论者认为,工程师 C 持有容器部署令牌本身就是巨大红旗:在这个规模的公司,部署应该只通过 CI 完成,CI 不仅提升速度和可靠性,还提供干净的构建环境。有人指出,让令牌经历“复制、粘贴、记得从电脑上删掉”的流程本身就不该存在。另有评论补充,Binance 对钱包签名机的信任边界设计才是关键:攻击者用 EIP-7702 委托把钱包变成智能合约,绕过了签名机上已有的控制,而系统居然没有机制阻止签署这类交易。有人估算,攻破第一台工程师电脑最多只该造成百万美元级损失,其余损失来自后续一连串失效的控制点。
关于“不满员工也能做同样的事”的追问,评论区搬出了《上班一条虫》和《超人 III》里的“切香肠”式偷窃,并指出真正的问题不是谁有动机,而是权限模型在“能直接部署”的前提下形同虚设。有人建议大多数员工根本不该接触资金,少数操作需要主管双重验证。
面试流程本身成了攻击面
假面试引发大量共鸣。多名评论者描述收到过类似招聘方发来的 GitHub 仓库或“编码挑战”,下载扫描后发现恶意软件;有人遇到假面试官要求安装特定版本的 Claude Code,落地页仿照 Anthropic 设计但 URL 不对,当即中止。有人提到 LinkedIn 上假招聘档案泛滥,举报多次无果。
也有评论指出,这类攻击之所以有效,是因为面试流程本身已经足够折磨人:求职者要在工作电脑上跑代码、共享屏幕、使用熟悉的工具,而公司对候选人的自动化筛选越不人性化,候选人越容易在疲惫中忽略常识。一位评论者说,他见过超过七成候选人在视频面试中登录着现公司的 Zoom 账号,共享屏幕时露出内部材料、收件箱和日历。
在银行工作的开发者表示,自己的工作电脑锁得极严,根本不可能下载随机 exe,“Binance 需要开始像银行一样做 IT 安全”。有人反驳说银行也不安全,法国 Credit Mutuel 刚被偷走数亿欧元;关键在于银行客户账户隔离且存款有保险,而加密货币交易所两者皆无。
C++26 标准草案首次被否决
卡在契约上
C++26 的国际标准草案投票没有通过。原因是国家委员会对“契约”(Contracts)特性有足够多的反对票,未达到 ISO 要求的三分之二多数。文章作者 Andreas Fertig 是 C++ 标准委员会成员,代表德国参与投票;他说明这篇文章是他的个人观点。
契约是给函数加前置条件、后置条件的语言特性,可以理解为更强的断言,让程序状态更可检查。它进入 C++ 标准的过程很长:2019 年科隆会议上曾进入 C++20,又在同一次会议上被移除;随后成立研究组,2020 年到 2024 年处理相关设计,再交给语言扩展核心机构 EWG 讨论,最后由多数票进入 C++26。2026 年 3 月,WG21 对包含契约的 C++26 草案投票,也拿到了多数支持,但不是全票。
作者称,这是 C++ 历史上第一次 DIS 投票失败。他在 ISO 系统里只找到另一个未获批准的 DIS:2006 年的 C++/CLI Language Specification,那个项目最终被终止。国家委员会的意见很集中:契约还没准备好发布。作者对“有新信息”这一反对理由并不认同,他认为用旧论点写的新论文不算新信息。过去的做法是,只有当出现新信息、流程错误之类的问题时,国家委员会才会投反对票;这次改变了惯例。
接下来怎么办
ISO 有几条路:修改草案再投一次 DIS,退回委员会阶段,作为技术规范发布,或者取消项目。每条路都需要 WG21 多数支持。WG21 已经多次以超过三分之二的票数支持带契约的 C++26,让它放弃自己的工作并不容易;反对契约的一方也投入了时间和替代实现,让他们在没有移除契约的情况下改变投票同样不容易。取消 C++26 意味着回到 C++23,再直接做 C++29,连已经进入 C++26 的特性都要重新提案,影响的人更多。
HN 讨论里,有人一开始没找到文章对契约的解释,回复补充说它就是函数的前置和后置条件,是“可编程的断言”。也有读者认为 C++ 正被不断增加的复杂度拖累,更希望看到 C++26 的“错误行为”这类收窄语言缺陷的提案,而不是继续加新特性。有人提出应趁这次延误更认真地处理内存安全;回复则认为契约本身常被看作内存安全方向的一部分,这次否决带有政治因素。还有评论把矛盾指向厂商影响,称契约是微软和委员会里资金雄厚部分的重点推动项目;这是评论者的判断,原文确认的是共识和信任受到了冲击。
作者自己的判断很直接:这是一场巨大的灾难,他为整个 C++ 社区感到难过。ISO 标准本来就是一组妥协,每个人有时赢、有时输;这次是输的一方不接受失败。11 月 16 日的会议首要任务是打破僵局,如果做不到,C++26 和 C++29 的计划都会受牵连。
播客全文
女:Hello 大家好,欢迎收听 Agili 的 Hacker Podcast,我是莓莓。 男:大家好,我是阿迪。 女:今天这期从天花板上的拉线机器人聊到 C++ 标准投票,中间有开源文档、浏览器里的果冻,还有一次很严重的交易所入侵。你想先从哪个开始? 男:从 Stringman 吧,它最像“把实验室搬进客厅”的东西。 男:Nathaniel 网名 nhnifong 做了 Stringman,一台挂在天花板四角的拉线机器人,售价 795 美元,机械 CAD、电路板和控制软件全部开源,拿到 OSHWA 开源硬件认证。四个电机收放线缆,把 638 克的夹爪吊在半空,能装在 XY 对角线 3 到 10 米、层高 2.3 到 4 米的房间。 女:听起来像把夹爪变成一只蜘蛛?它为什么从上方够东西? 男:它从上方够取,地板堆满杂物、轮式和足式机器人进不去的地方反而能碰到。提升力由四个电机分摊,载荷取决于合力矩,房间中央线缆受力最均匀。官方数字:28 N 线张力上限下,7×7×3 米房间平均载荷 1.9 公斤,贴近地面 2.2 公斤。同样用 DM-H6215 直驱电机的 0.75 米串联机械臂只有 0.32 公斤,还没算臂自身重量。工作体积 147 立方米对 0.88 立方米,每千美元买到 185 立方米对 0.35 立方米,约 500 倍。 女:这覆盖范围确实大。安全和家用场景的争议也不小吧? 男:作者自问会杀死人吗,回答大概不会,拉力超过阈值线缆就松开。每根线 28 N 上限,约一个背包重量,超过后电机带阻尼放线,可以调低,代价是载荷。有人换算提起 4 升牛奶约需 38 N,28 N 大概勒不死人。另一派不接受:如果官方立场是“别把线绕到脖子上、别让幼儿靠近”,消费品该有更高标准。家用质疑集中在线缆横穿房间、吊扇吊灯、乐高上洒巧克力奶。作者说锚点装到扇叶高度或更低,线就够不到风扇;闲置时线收在天花板附近,天花板乱一点好过地板乱。 女:它还能做什么?教育场景听起来有意思。 男:产品页写了学生能接触逆运动学、遥测和模仿学习,数据集公开在 Hugging Face,有 controller-in-the-loop 的 MuJoCo 仿真,兼容 LeRobot。某些模型 50 个 episode 就能学会一个行为。作者给它的定位之一是“家庭实验室的快递员”,配 Python API 和给 agent 用的 MCP server(Model Context Protocol,让智能体调用工具的接口)。供电通过其中一根承重线送上,不用电池就没有充电停机。累计在真实家庭里跑了约 1000 小时。 女:这让我想到一个更大的问题:机器人能进家门,软件漏洞进家门更快。AI 正在大规模发现漏洞,这期正好有几条安全新闻。 男:IEEE Spectrum 用 PHP2Shell 漏洞切入,讨论 AI 持续、低成本扫描代码后,行业被迫面对几十年的技术债。PHP2Shell 不是孤例,Brotli 的 HTTP2Shell 同样严重:漏洞在代码里埋了 8 年,修复在 Git 里躺了 8 个月,期间至少 4 位独立研究者先后发现并指出问题。人类一直坐在漏洞上不修,这本身就是常态,AI 只是把发现速度提上来了。 女:那是不是意味着软件必须做到“可证明正确”?产品经理听这个词会紧张。 男:有评论者认为 AI 压力测试的逻辑终点是“所有 bug 都可被发现”,代码必须走向形式化验证,而形式化验证又只能靠 AI 来规模化完成。立刻有人搬出 Donald Knuth 的话:“我只证明了代码正确,没证明它没有 bug。”证明只说明代码符合规范,规范本身可能是错的。更现实的声音指出,LLM 目前写的代码 bug 不少,修一个引入三个的情况并不罕见,把它当高级 linter 用比当证明器用更靠谱。 女:开源社区的感受更直接吧?Linus 定律还成立吗? 男:Linus 定律说“足够多的眼睛,所有 bug 都是浅的”,但现实中约 100% 的用户只是安装软件,不会看一行代码。一位维护开源医疗项目的开发者说,过去半年收到的漏洞报告数量之多让人应接不暇,其中有大量误报,但真实漏洞也不少,团队被折腾得够呛,也变得更谦卑。Linus 定律的盲点不在数量,而在质量——一千个普通开发者扫代码,不如 Tavis Ormandy 一个人看一遍。 女:AI 一边还债一边制造新债,这个说法很形象。它写的代码有什么倾向? 男:有人形容现在的编码代理“热爱写代码”,但缺乏对边界和架构的品味,结果是一堆循环展开和 if 堆叠。另有评论批评 LLM 的防御性编程倾向:遇到逻辑缺口,它总是选择加一层错误处理把缺口糊住,而不是重构掉缺口来源——这正是 2000 年代被证明不可持续的“企业级”做法。KISS 原则被反复提起,但简单往往比容易更难,而代理式编程的核心就是让每个任务变容易,所以它天然滑向复杂和膨胀。 女:责任和激励呢?光靠技术讨论好像不够。 男:软件工程没有 PE 执照制度,NCEES 曾开设软件工程 PE 考试,后来因需求不足取消。欧盟的 Cyber Resilience Act 正在收紧法律框架。多位评论者认为,除非把安全事故的成本明确摆到公司账上,否则“快发布、以后再修”的激励不会变。有人用“桥的寿命”类比说服主管修复 CloudFormation 栈:桥不会在寿命到期的第二天立刻塌,但金属疲劳在累积。另一位说,在 GDPR 之前,无论怎么论证都没人理,有了监管,“因为 GDPR”一句话就能砍掉一堆跟踪脚本。 女:说回旧系统,有一份把 PostgreSQL 内部拆得很细的在线文档,正好是理解技术债和数据库内部的好材料。 男:《The Internals of PostgreSQL》是 Hironobu Suzuki 从 2015 年 9 月 26 日起持续写的在线文档,专门拆解 PostgreSQL 各个内部子系统怎么工作。覆盖到 PostgreSQL 19-beta 及更早版本,共 12 章:数据库集群、进程与内存架构、查询处理、外部数据包装器、并发控制、VACUUM、HOT、缓冲区管理器、WAL、在线备份与 PITR、流复制、逻辑复制。 女:更新节奏很密?这文档是不是一直在长。 男:很密。2026 年 5 月新增第 12 章逻辑复制 Beta 版本,9 月重写 12.7.3 节“并行应用 worker 模式”。2026 年 6 月新增 8.5 节“PostgreSQL 中的异步 I/O”。第 8 章在 5 月移除 9.5 及更早的过时内容,改为面向 9.6 及之后。第 3 章补上约束、聚合函数、基数估算、并行查询,第 9 章加入 WAL Summarizer 进程和增量备份。2026 年 5 月一次全站重构删掉 4,890 个词,占全文 5.6%。 女:有学术论文引用,中文版 2019 年出版。HN 上有人给阅读路线吗? 男:gopalv 提到最新一份关于 particledb 的 Jepsen 报告重新引发了对 PostgreSQL SSI(Serializable Snapshot Isolation,可串行化快照隔离)实现的兴趣。他的建议是:如果只是浏览,直接跳到 HOT 更新路径那一节,先理解 HOT 和 TOAST(The Oversized-Attribute Storage Technique,超大属性存储技术),再读 zHeap 的实现笔记,能建立一套关于 PostgreSQL 做与不做哪些事的心智模型。refset 补充,2020 年 Jepsen 针对 PostgreSQL 的报告发现过 SSI 实现里一个长期存在的 bug。 女:使用规则也有意思,作者把买断价写成了玩笑。 男:教育机构的教师和学生可以免费使用文档和图表;非商业会议和讲座注明站点链接和版权后也可使用;商业用途需按收入分成协议分享使用内容所产生销售额的 20%,或走完全买断,全部内容版权买断价 500 万欧元。作者在 FAQ 里说明,有人在 HN 上对买断价认真起来,但那是个玩笑,他无意建立任何商业联系。他不计划出 PDF 或手机版,理由是文档针对 HTML 阅读做了优化;也不打算用 RSS 通知更新。由于 XZ 后门事件,他不再接受匿名联系,发邮件需提供至少两个社交账号做验证。 女:从数据库文档转到社区怀旧,HackerTV 把 HN 推荐过的 YouTube 视频做成了 24 小时循环电视台。 男:HackerTV 把 Hacker News 上被推荐次数最多的 YouTube 视频编排成 24 小时循环播放的电视频道。打开页面是一台复古电视,按电源开机,用 ↑↓ 换台、0–9 直接调台、G 打开节目指南、M 静音、C 开字幕、T 进入剧场模式,双击画面全屏。默认频道“HN PRIME”播放全站历史推荐视频,界面显示当前和下一个节目。 女:这听起来就是给 HN 用户做的怀旧玩具。大家最买账的是什么? 男:怀旧感。有人切到节目中间开始看,觉得像真的打开电视;换台时的音效也被单独提到。一位用户说,随便浏览频道比点开一个本来不会点的视频更有意思;另一位说这东西太好玩、太让人分心。有人称这是这批 Show HN 里最好的一个,之前那个书籍版他也喜欢。节目时长在抓到 YouTube 元数据前只是估算,所以偶尔会看到“PLEASE STAND BY”待机画面,或者节目被截断。 女:频道按主题划分,还出现了 Joe Rogan 和 2005 年的扎克伯格? 男:历史频道 11 台里出现了 Joe Rogan 的视频,有人觉得这是个不好笑的玩笑。一位用户换台时撞见 2005 年的扎克伯格说“我们正想办法处理苹果的事,我们显然对人们的隐私很敏感”,停下来多看了几眼。另一位打算把电视开着给孩子看,当作背景学习。有人建议把 HN 评论做成 MST3K(《神秘科学影院 3000》,在影片上叠加吐槽字幕的形式)风格的叠加层,边看边刷。 女:社区还想让它上电视,也讨论了提示词当源代码。 男:不少人希望它离开浏览器:LG 应用商店、webOS、Apple TV、Google TV、Roku 都有呼声。一位用户已经用提示词一次性生成了一个 Roku 版 HackerTube 应用,并在评论里贴出了那段提示词。另一个人做了 Jellyfin(开源家庭媒体服务器)插件,用来“频道冲浪”自己的媒体库;spelunkr.tv 用 Internet Archive 的视频填频道;ytch.tv 也是类似思路。HN 上还出现过 HackerTube、HN Arcade,以及把 HN 书籍和视频混在一起的站点。 女:关于靠自然语言提示生成、上线后不太维护的小应用,讨论很热闹。 男:有评论提出把提示词当源代码公开:既然大多数这类项目不会有正式更新,提示词至少能让别人接手。有人附和,说需要一个开源的基础模块框架,免得所有模型把同一件东西重复造上十万次。还有人建议把提示词放在网站的 /.well-known/prompt.md 下,或者把温度设为 0,让同一提示词在固定模型版本上复现同一结果。也有冷静的声音:这些站点几个月后大概率会被废弃,变成一片无人维护的荒地;另一位说“应用正在变成内容”。有人问源码是否公开,作者没有回复。 女:从浏览器里的电视,跳到一台真正跑 Linux 的笔记本,反差挺大。Nvidia 那台 RTX Spark 笔记本在 Linux 下 GPU 被锁频了。 男:在 MSI Prestige N16 Flip AI Plus 这类 RTX Spark 笔记本上,Linux 能装、能跑完整桌面,也能通过 Nvidia 的开源内核驱动启用 GPU 加速。问题出在插电之后:GPU 时钟被锁在约 780 MHz,Windows 下同一颗芯片能跑到 2.2 GHz 左右,只有约 35%。MindStudio 博客用 GPT-OSS-120B 实测,Windows 生成速度 65.4 token/s,WSL 为 65.1 token/s,DGX Spark 桌面单元 61 token/s,同一台笔记本上的原生 Linux 只有 13.9 token/s。 女:这个差距太具体了。vLLM 并发和长跑测试呢? 男:vLLM 开八个并发客户端时,WSL 达到 127 token/s,原生 Linux 为 39.5 token/s。长跑测试里,Windows 约 8 分钟跑完并让 GPU 维持在 2.2 GHz 附近;Linux 用了 37 分钟,GPU 全程在 790 MHz 左右。温度只有 40 到 47°C,不是热节流。 女:根因是什么?听起来不像内核驱动本身。 男:根因指向 Windows 设备管理器里一个叫 Nvidia Platform Controllers and Framework 的组件。它负责在 CPU 和 GPU 之间分配共享功耗预算。笔记本不像 DGX Spark 桌面单元那样可以单独给 GPU 供电,必须平衡两颗芯片的功耗。这个控制器拿到的电源设置表是加密的,Windows 驱动有解密密钥,Linux 没有。测试中在 Windows 里禁用该控制器,速度从约 83 token/s 降到 31 token/s,时钟从约 2 GHz 降到 786 MHz;重新启用后立刻恢复。这说明瓶颈不在 Linux 内核、发行版或 Nvidia 的 GPU 驱动本身。真正修复要看 Nvidia 是否把平台控制器的电源管理逻辑移植进 Linux 驱动。 女:安装过程也不是即插即用? 男:第一次用 Omarchy 启动时屏幕闪烁、不稳定;换 Debian 能装,但安装器连不上 Wi-Fi,需要 USB 以太网适配器,而且原版内核不识别键盘、触控板和 GPU。回到自带 Nvidia 开源驱动的 Omarchy 后系统正常启动,但只能看到 128GB 统一内存中的 28GB。笔记本固件默认给 GPU 保留 96GB,这个分配只能在 Windows 里改。把 Windows 侧的 GPU 内存保留降到 4GB 后,Linux 能看到 120GB。之后 4K 120Hz 桌面、音频、触控板、键盘和 CUDA 加速都可用。安装阶段 HDMI 输出不工作,只能靠外接摄像头对着笔记本内屏看画面。 女:WSL 成了更实际的折中? 男:WSL 跑在 Windows 驱动栈上,插电和用电池都能保持 Windows 的 GPU boost 行为,也能运行 vLLM、SGLang 这类 Linux 优先的 AI 工具。需要手动把 WSL 默认的 14GB 内存调大,才能承载大模型工作负载;调整后基准接近原生 Windows。HN 讨论里,一部分评论把问题归为 Linux 驱动支持滞后;另一部分认为加密电源表并只让 Windows 驱动解密,客观上会把用户留在 Windows。有人直接问:电源表为什么要加密?还有评论指出,Nvidia 的开源内核模块仍把大量逻辑留在签名的闭源固件里。反编译固件、从 Windows 驱动提取密钥被讨论为临时办法,文章认为那是脆弱的单机 hack,不能广泛适用。 女:这里也提醒我们,AI 工具背后的服务条款同样决定你付出什么。Gemini 会把聊天记录拿去训练,付费个人账户也不例外。 男:Google 的 Gemini 会把聊天记录拿去训练,付费订阅的个人账户也不例外。只要“保留活动”(Keep Activity)开着,个人账户里的 Gemini 对话就会进入训练数据,还可能被人工审阅。关掉这个开关是唯一的退出方式,代价是 72 小时后聊天记录消失。 女:Google 文档写得很直接? 男:帮助文档写得很直接:Gemini 应用活动“用于改善所有人的 Google 服务,包括训练生成式 AI 模型,前提是你的保留活动设置是开启的”;“一部分对话会由人工审阅者查看”;被审阅的对话“在你删除活动时不会被删除,而是最多保留三年”;文档还提醒“不要输入你不希望审阅者看到、或不愿 Google 用来改进服务的机密信息”。 女:发帖人 jameslk 以为付了钱就不会被当成产品。人工审阅只是合规吗? 男:有评论者把人工审阅解释成应对责任风险,比如用户听信模型给出的用药建议出了事。jameslk 翻出文档反驳:Google 明确说审阅者评估回答是否低质、不准或有害,并提出更好的回答,“我们用他们的建议让模型未来回答得更好”。审阅同时服务于训练,不只是合规。“一部分”没有定义,可能是大部分;Google 只承诺把内容与账户“脱钩”,没承诺匿名化。 女:其他厂商呢?有没有“保留历史但不训练”的选项? 男:多位用户指出人工审阅并非 Google 独有。fny 说所有前沿模型厂商都在监控交互中的问题行为,即使关掉活动追踪。cududa 提醒服务条款要读仔细:你退出的是自己输入的文字和模型输出,运行在你系统上的工具调用内容不在退出范围内。TZubiri 对比了 Azure 上的 OpenAI:触发安全分类器的对话保存 14 到 30 天用于核实安全,之后不再保留,也不用于训练未来模型。therealmarv 说其他大 AI 公司都提供“保留历史但不训练”的选项,Gemini 只有 Workspace 里才有,个人版 AI 编程工具 Antigravity 也没有退出训练的开关。 女:Google 的“全有或全无”被反复点名。 男:Pixel 用户 richrichardsson 描述:关闭聊天记录后,语音助手能答应“晚上 7 点提醒我”,第二天却回答“除非你启用聊天记录,否则我无法对你的手机做任何事”。devsda 提到 Google Maps 在不开定位精度时拒绝显示当前位置,Play 服务的“身体活动”权限根本无法关闭。BoppreH 说 YouTube 关闭观看历史后首页直接空白,尽管侧边栏的推荐算法照样在跑。ACCount39 认为这是对不愿交出数据的用户的惩罚;latexr 倒觉得空白首页挺好,省得看标题党。 女:实用建议不少,有人只用临时对话,有人自建前端配 API。 男:ConfusedDog 建议自建聊天前端配付费 API;mark_l_watson 说家里共用 Gemini AI Pro,财务和医疗问题改用 Proton Lumo 或 DuckDuckGo 的私密 AI;wat10000 提到零数据保留政策和本地模型,他备用电脑上跑的 Qwen 不会拿他的输入训练。rheisen_ 提醒把 agent 工作流做成“对秘密视而不见”:密钥按引用传递、按引用校验,不要让 agent 直接读敏感文件,随时准备轮换。 女:聊点轻松的。地味万圣节把“普通瞬间”变成扮装,今年还有一张分装洗手液的照片引发长讨论。 男:2014 年,Daily Portal Z 的一群成年人想参加万圣节,又不好意思穿上僵尸或女巫的全套行头,于是干脆把自己打扮成日常里最普通的瞬间。这个活动后来被 Spoon & Tamago 在 2018 年命名为“地味万圣节”,每年把社交平台上 #地味ハロウィン 标签下的作品挑出来展示,今年是 2026 年的版本。 女:照片里的“扮装”都需要一句说明才能看懂? 男:对。在狭小居酒屋里试图给一群人拍合影的人;正在斟酌怎么开口问能不能把椅背往后放的人;对着设计师款水龙头研究怎么出水的人;在电车上憋着笑看搞笑视频的人;把捣碎棒当吸管用的人;没想到商务饭局要脱鞋的人;某个非常小众领域的专家;背包已经鼓出来、手里还拎着东西的人;以及正在给分装瓶补充洗手液的女人。 女:最后这张为什么讨论最长? 男:numpad0 指出,她是在戏仿维米尔的《倒牛奶的女仆》,这幅画长期出现在日本教科书里,近几年成了日本 Twitter 上的梗图模板。dcrazy 说自己原本只看到一个人在倒洗衣液,完全不知道在干什么。blobbers 觉得这张有点偷懒,“就是一张倒洗衣液的照片,算哪门子扮装”,并追问对方是怎么认出来的。numpad0 回应,这幅画出现在美术或世界史课本里,很多人在选择题里填过它的名字。 女:“正要问能不能放倒椅背”的照片有两种解读。 男:Fricken 说一眼就懂,能看出他是在专程问“可以往后靠吗”。Jedd 纠正说那是火车座椅,不是飞机座,这种提前告知的礼貌在火车上尤其常见。jen729w 解释了背景:新干线座椅默认笔直,不往后调一点坐不舒服,而座位间距大约 1 米,空间相当充裕,可每个人每次都会先问一声后面的人。ezconnect 补充另一层原因:大家习惯把行李带在身边,后仰会挤到后面的人;新干线虽然有行李存放处,但离座位远,停站时间又短得像 F1 维修区,行李随身更方便。 女:讨论里还把这类照片叫“情景俳句”。 男:henearkr 把它称作“情景俳句”,是俳句概念向实用幽默的转写。riazrizvi 说这是视觉喜剧:只说“试图说服公交司机在非站点开门的人”没有用,得给出那个具体瞬间,笑点才成立。jrecyclebin 评价“专家”那张:“表情挑大梁,眼镜也在出力,当代杰作。”也有人借机贡献自己的版本:“用 Claude 凭感觉攒出一个待办应用、以为自己要发财、后来发现另外两万个家伙做了一模一样的东西的人。”corndoge 提醒,发信的并不是作者本人;jen729w 说这些邮件一看就是批量生成的,模板里还留着“关注了你最新的 {{YouTube 视频}}”这样的占位符。 女:从日常幽默转到浏览器里的果冻。Mr Doob 的 Jelly Sheet 让一张半透明塑料片在网页里被持续浇注。 男:Mr Doob(Ricardo Cabello,Three.js 的创建者)在个人站点发布了 Jelly Sheet:一张半透明的塑料薄片挂在浏览器里,被持续浇注,像果冻一样下垂、堆叠。页面上的参数面板可以实时调节进料速度、弯曲刚度、塑料厚度、折射率、色彩密度、粗糙度、曝光、对比度、饱和度、色温,以及 GTAO(一种环境光遮蔽渲染技术)的分辨率和整体渲染分辨率。拖动滑块,塑料的软硬、透明度和颜色立刻变化。 女:第一反应是不是都在说手感? 男:集中在“玩起来真有意思”“莫名解压”“如此 Q 弹”。有人惊讶手机浏览器也能实时渲染这种效果。技术反馈很快分成几类:Firefox Mobile 报错 this.gl is null,有人提示去 about:config 把 webgl.disabled 设为 false;Fennec 能跑,Brave 不能;iPhone 上 Safari 和 Chrome 有的失败,也有人在 iPhone 12 mini 的 Safari 上正常打开。一位用户贴出浏览器控制台脚本,给塑料片加上剪切变形。还有人提醒,塑料堆积多了会变卡;暂停一会儿再继续,会留下漂亮的彩色分层。 女:争论焦点是“用 AI 做 codevember 还算不算创意挑战”? 男:有评论者指出这是用 vibe coding 做出来的 codevember 项目——codevember 指每年十一月每天做一个创意编程小作品的挑战。他问:这类月度挑战的意义不就在于人的创造力吗?另一位回:他不是随便哪个“Claude 小子”,是 Three.js 的作者,这好比指责 Linus 在 Linux 内核里用 AI。提问者接着说,他知道对方是谁,也不在乎别人怎么用 AI,只是这些挑战对他而言是练手、玩、展示创意的地方,看到大语言模型介入觉得别扭。 女:关于“用 AI 还算不算自己在建造”,讨论里给出几种经验。 男:有人说软件开发的大头在于决定写什么,敲代码只占一部分,用 AI 的人更像在做架构和决策。有人拿装修打比方:你不砌一块砖、不算一根梁的承重,但看着自己的扩建慢慢成形,仍然很有成就感。随即有人反驳:这个类比成立的前提是,亲手做东西本身没有价值。还有人说自己管项目、定范围、盯用户界面细节,看到方案落地时的兴奋,和在 LLM 里推进一个想法是同一类。一位用户强调他用的是自己显卡上的本地模型,AI 对他和 3D 打印机是同一种工具。 女:作品本身也收到具体期待。有人希望它能跟随手机陀螺仪晃动,有人设想把这种流体效果做进网页菜单,还有人问“我能吃它吗”。一位用户说,它一直在流、从不停下来,看久了有点不安。 男:另一位补充了人物背景:Mr Doob 早年还做过 Google 搜索“gravity”时页面倾斜的彩蛋。讨论里还有一条与作品无关的长讨论线围绕代词展开,有评论用 they 指代 Mr Doob,引发几十层辩论,和果冻塑料片本身关系不大。 女:从创意编程回到安全,Binance 这次被盗 63 亿美元,攻击入口是一场假面试。 男:朝鲜黑客组织 TraderTraitor 通过一场虚假的求职面试,在 Binance 一名软件工程师的工作电脑上植入恶意软件,最终在 10 月 29 日盗走价值 63 亿美元的加密货币。FBI 将此次事件归因于与 Lazarus Group 有关联的朝鲜黑客行动,该组织以结合间谍活动和大规模加密货币盗窃著称,也长期滥用求职招聘场景。 女:攻击链从什么时候开始? 男:Binance 周二发布的事件报告还原了整条攻击链。准备工作始于今年 6 月,钱包基础设施团队的一名工程师下载了被投毒的 Homebrew 安装包。安全团队检测到恶意软件、更换了设备并轮换了所有受影响凭据,但报告承认,“工程师 A 的角色及其在钱包基础设施团队的相关同事因此暴露给了黑客”。 女:三个月后社会工程部分开始。 男:9 月,另一名软件工程师通过“正规求职平台”被一名自称项目总监的人联系,对方为这名 Binance 工程师安排了一轮与假公司的面试。首轮是与假 HR 的实时视频面试,面试官“分享了一个社交媒体账号,包括平台上发布的个人照片和视频,以建立信任”。报告称这比以往见过的社会工程手法更高级、更具欺骗性。第二轮面试在“流行的社交聊天应用”上进行,对方自称假公司 CEO,接近尾声时要求工程师下载一份“作业”,里面是一个带恶意代码的代码仓库。代码在他的工作电脑上执行安装流程时运行,触发了一系列未授权操作。 女:恶意脚本具体替换了什么? 男:恶意脚本替换了合法开发工具组件 pyenv。脚本先创建 /opt/homebrew/Cellar/pyenv/2.8.0/libexec/pyenv_,再用一个 3,414 字节的恶意版本替换合法 pyenv,删除 /opt/homebrew/bin/pyenv 并建立新符号链接,随后启动 zsh。攻击者还采取了隐藏脚本和规避检测的措施,Binance 的端点安全工具没有立即发现。 女:后面怎么扩大到钱包系统? 男:10 月 20 日,攻击者利用这台被感染的电脑和一个内部 AI 工具,进一步控制了钱包 DevOps 工程师 A 和另一名钱包软件开发者工程师 C 的电脑。工程师 A 的电脑上存有一个容器部署权限令牌,攻击者很快发现了它。10 月 29 日,攻击者访问工程师 C 的电脑,用从工程师 A 处窃取的凭据部署容器,并触发脚本发起盗币攻击。Binance 表示已重建被入侵的钱包系统和内部 AI 工具,更换所有受影响设备,停用相关工程师名下的全部凭据和令牌,并与执法部门、区块链情报公司和安全研究人员合作追踪和冻结资产。 女:HN 讨论把矛头指向比“员工不该用工作电脑面试”更深的系统性问题。 男:多位评论者认为,工程师 C 持有容器部署令牌本身就是巨大红旗:在这个规模的公司,部署应该只通过 CI 完成,CI 不仅提升速度和可靠性,还提供干净的构建环境。有人指出,让令牌经历“复制、粘贴、记得从电脑上删掉”的流程本身就不该存在。另有评论补充,Binance 对钱包签名机的信任边界设计才是关键:攻击者用 EIP-7702 委托把钱包变成智能合约,绕过了签名机上已有的控制,而系统居然没有机制阻止签署这类交易。有人估算,攻破第一台工程师电脑最多只该造成百万美元级损失,其余 99.9% 的损失来自后续一连串失效的控制点。 女:假面试本身也引发大量共鸣。 男:多名评论者描述收到过类似招聘方发来的 GitHub 仓库或“编码挑战”,下载扫描后发现恶意软件;有人遇到假面试官要求安装特定版本的 Claude Code,落地页仿照 Anthropic 设计但 URL 不对,当即中止。有人提到 LinkedIn 上假招聘档案泛滥,举报多次无果。也有评论指出,这类攻击之所以有效,是因为面试流程本身已经足够折磨人:求职者要在工作电脑上跑代码、共享屏幕、使用熟悉的工具,而公司对候选人的自动化筛选越不人性化,候选人越容易在疲惫中忽略常识。一位评论者说,他见过超过七成候选人在视频面试中登录着现公司的 Zoom 账号,共享屏幕时露出内部材料、收件箱和日历。 女:最后我们聊一条标准组织的新闻,C++26 的国际标准草案投票没有通过,卡在“契约”特性上。 男:C++26 的国际标准草案 DIS 投票没有通过。原因是国家委员会对“契约”特性有足够多的反对票,未达到 ISO 要求的三分之二多数。文章作者 Andreas Fertig 是 C++ 标准委员会成员,代表德国参与投票;他说明这篇文章是他的个人观点。 女:契约是什么?给不写 C++ 的人一句话解释。 男:契约是给函数加前置条件、后置条件的语言特性,可以理解为更强的断言,让程序状态更可检查,理论上兼顾安全和性能。它进入 C++ 标准的过程很长:2019 年科隆会议上曾进入 C++20,又在同一次会议上被移除;随后成立研究组,2020 年到 2024 年处理相关设计,再交给语言扩展核心机构 EWG 讨论,最后由多数票进入 C++26。2026 年 3 月,WG21 对包含契约的 C++26 草案投票,也拿到了多数支持,但不是全票。 女:作者称这是 C++ 历史上第一次 DIS 投票失败? 男:他在 ISO 系统里只找到另一个未获批准的 DIS:2006 年的 ISO/IEC DIS 26926 C++/CLI Language Specification,那个项目最终被终止。DIS 是 ISO 标准的倒数第二个阶段,需要三分之二多数。国家委员会的意见很集中:契约还没准备好发布。作者对“有新信息”这一反对理由并不认同。他认为,用旧论点写的新论文不算新信息。过去的做法是,只有当出现新信息、流程错误之类的问题时,国家委员会才会投反对票;这次改变了惯例。 女:接下来 ISO 有几条路? 男:修改草案再投一次 DIS,退回委员会阶段,作为技术规范发布,或者取消项目。每条路都需要 WG21 多数支持。WG21 已经多次以超过三分之二的票数支持带契约的 C++26,让它放弃自己的工作并不容易;反对契约的一方也投入了时间和替代实现,让他们在没有移除契约的情况下改变投票同样不容易。取消 C++26 意味着回到 C++23,再直接做 C++29,连已经进入 C++26 的特性都要重新提案,影响的人更多。 女:HN 讨论里有人希望 C++ 收窄语言缺陷,而不是继续加新特性。 男:有读者认为 C++ 正被不断增加的复杂度拖累,更希望看到 C++26 的“错误行为”这类收窄语言缺陷的提案。有人提出应趁这次延误更认真地处理内存安全;回复则认为契约本身常被看作内存安全方向的一部分,C++26 里还有其他内存安全工作,这次否决带有政治因素。还有评论把矛盾指向厂商影响,称契约是微软和委员会里资金雄厚部分的重点推动项目,反对者被压了下去;这是评论者的判断,原文确认的是共识和信任受到了冲击。作者自己的判断很直接:这是一场巨大的灾难,他为整个 C++ 社区感到难过。11 月 16 日的会议首要任务是打破僵局。 女:这期聊下来,机器人、数据库、浏览器、交易所和编程语言,都绕不开权限、边界和共识。 男:对,谁有权做什么,出了事怎么发现,这些问题最后都会浮上来。 女:今天就到这里。谢谢阿迪,也谢谢大家收听。记得用泛用型播客客户端订阅 Agili 的 Hacker Podcast,我们下期见。 男:下期见。
参考链接
- Stringman, an $800 open-source room scale gripper robot
- AI is forcing us to pay off 40 years of technical debt
- The Internals of PostgreSQL
- Show HN: HackerTV – HN's most-recommended Youtube videos as 24/7 TV channels
- Nvidia RTX Spark encrypted firmware slows inference speed to 35% on Linux
- Tell HN: Gemini trains on chat history, even for subscribers (personal accounts)
- Japan's Jimi 'Mundane' Halloween Costumes of 2026
- Jelly Sheet
- North Korean fake job interview led to $6.3B Binance heist
- C++26 Disapproved
