惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
D
DataBreaches.Net
博客园_首页
罗磊的独立博客
B
Blog
T
Threat Research - Cisco Blogs
C
Cisco Blogs
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
G
GRAHAM CLULEY
H
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
SecWiki News
SecWiki News
T
Threatpost
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Schneier on Security
Schneier on Security
T
The Exploit Database - CXSecurity.com
Google Online Security Blog
Google Online Security Blog
T
Tor Project blog
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
H
Hacker News: Front Page
V
V2EX
Security Latest
Security Latest
Cloudbric
Cloudbric
Simon Willison's Weblog
Simon Willison's Weblog
Attack and Defense Labs
Attack and Defense Labs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
NISL@THU
NISL@THU
S
Secure Thoughts
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
V2EX - 技术
V2EX - 技术
Vercel News
Vercel News
P
Palo Alto Networks Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
Google DeepMind News
Google DeepMind News
Webroot Blog
Webroot Blog

Agili 的 Hacker Podcast

Agili 的 Hacker Podcast 2026-07-15 Agili 的 Hacker Podcast 2026-07-14 Agili 的 Hacker Podcast 2026-07-13 Agili 的 Hacker Podcast 2026-07-12 Agili 的 Hacker Podcast 2026-07-11 Agili 的 Hacker Podcast 2026-07-10 Agili 的 Hacker Podcast 2026-07-09 Agili 的 Hacker Podcast 2026-07-08 Agili 的 Hacker Podcast 2026-07-07 Agili 的 Hacker Podcast 2026-07-04 Agili 的 Hacker Podcast 2026-07-06 Agili 的 Hacker Podcast 2026-07-05 Agili 的 Hacker Podcast 2026-07-03 Agili 的 Hacker Podcast 2026-07-02 Agili 的 Hacker Podcast 2026-07-01 Agili 的 Hacker Podcast 2026-06-30 Agili 的 Hacker Podcast 2026-06-29 Agili 的 Hacker Podcast 2026-06-28 Agili 的 Hacker Podcast 2026-06-27 Agili 的 Hacker Podcast 2026-06-26 Agili 的 Hacker Podcast 2026-06-25 Agili 的 Hacker Podcast 2026-06-24 Agili 的 Hacker Podcast 2026-06-23 Agili 的 Hacker Podcast 2026-06-22 Agili 的 Hacker Podcast 2026-06-21 Agili 的 Hacker Podcast 2026-06-20 Agili 的 Hacker Podcast 2026-06-19 Agili 的 Hacker Podcast 2026-06-18 Agili 的 Hacker Podcast 2026-06-17 Agili 的 Hacker Podcast 2026-06-16 Agili 的 Hacker Podcast 2026-06-15 Agili 的 Hacker Podcast 2026-06-14 Agili 的 Hacker Podcast 2026-06-13 Agili 的 Hacker Podcast 2026-06-12 Agili 的 Hacker Podcast 2026-06-11 Agili 的 Hacker Podcast 2026-06-10 Agili 的 Hacker Podcast 2026-06-09 Agili 的 Hacker Podcast 2026-06-08 Agili 的 Hacker Podcast 2026-06-07 Agili 的 Hacker Podcast 2026-06-06 Agili 的 Hacker Podcast 2026-06-05 Agili 的 Hacker Podcast 2026-06-04 Agili 的 Hacker Podcast 2026-06-03 Agili 的 Hacker Podcast 2026-06-02 Agili 的 Hacker Podcast 2026-06-01 Agili 的 Hacker Podcast 2026-05-31 Agili 的 Hacker Podcast 2026-05-30 Agili 的 Hacker Podcast 2026-05-29 Agili 的 Hacker Podcast 2026-05-28 Agili 的 Hacker Podcast 2026-05-27 Agili 的 Hacker Podcast 2026-05-26 Agili 的 Hacker Podcast 2026-05-25 Agili 的 Hacker Podcast 2026-05-24 Agili 的 Hacker Podcast 2026-05-23 Agili 的 Hacker Podcast 2026-05-22 Agili 的 Hacker Podcast 2026-05-21 Agili 的 Hacker Podcast 2026-05-20 Agili 的 Hacker Podcast 2026-05-19 Agili 的 Hacker Podcast 2026-05-18 Agili 的 Hacker Podcast 2026-05-17 Agili 的 Hacker Podcast 2026-05-16 Agili 的 Hacker Podcast 2026-05-15 Agili 的 Hacker Podcast 2026-05-14 Agili 的 Hacker Podcast 2026-05-13 Agili 的 Hacker Podcast 2026-05-11 Agili 的 Hacker Podcast 2026-05-10 Agili 的 Hacker Podcast 2026-05-09 Agili 的 Hacker Podcast 2026-05-08 Agili 的 Hacker Podcast 2026-05-07 Agili 的 Hacker Podcast 2026-05-06 Agili 的 Hacker Podcast 2026-05-05 Agili 的 Hacker Podcast 2026-05-04 Agili 的 Hacker Podcast 2026-05-03 Agili 的 Hacker Podcast 2026-05-02 Agili 的 Hacker Podcast 2026-05-01 Agili 的 Hacker Podcast 2026-04-30 Agili 的 Hacker Podcast 2026-04-29 Agili 的 Hacker Podcast 2026-04-28 Agili 的 Hacker Podcast 2026-04-27 Agili 的 Hacker Podcast 2026-04-26 Agili 的 Hacker Podcast 2026-04-25 Agili 的 Hacker Podcast 2026-04-24 Agili 的 Hacker Podcast 2026-04-23 Agili 的 Hacker Podcast 2026-04-22
Agili 的 Hacker Podcast 2026-05-12
Agili 的 Hack · 2026-05-13 · via Agili 的 Hacker Podcast

欢迎来到 Agili 的 Hacker Podcast,今天我们探讨 AI 如何重塑编程语言的生态结构,以及桌面系统与深海通信技术背后的设计演变。

拓竹被指滥用开源社会契约

云端与本地的控制权博弈

3D 打印企业 Bambu Lab(拓竹)近期向一名开源开发者发出了停止侵权函。这名开发者维护着一个名为 OrcaSlicer-bambulab 的分支项目,允许用户绕过 Bambu Lab 的云服务器,直接使用打印机的远程功能。Bambu Lab 指控其通过修改 User Agent(用户代理字符串,标识软件身份的代码)冒充官方客户端,声称此举造成了服务器隐患。

这个举动在开发者社区引发了关于设备控制权的讨论。OrcaSlicer 基于一系列遵循 AGPLv3(要求衍生软件必须开源的强效许可协议)的开源切片软件开发。技术人员指出,仅靠用户代理字符串进行访问控制并非有效的安全手段。许多重视隐私的用户为了保持对硬件的控制,倾向于通过防火墙屏蔽打印机外网权限,仅在局域网内运行,而 Bambu Lab 强制用户在云端和本地模式之间做选择的固件更新,削弱了这种掌控感。

效率与开放的商业取舍

Bambu Lab 凭借极高的性价比和出色的自动化体验,被许多人视为“3D 打印界的 iPhone”。对普通用户而言,低廉的入门成本和即插即用的体验具有很强的吸引力。

在硬件开放度和可维护性上,社区更倾向于推荐 Prusa 或 Voron 等项目。Prusa 提供了 24 小时人工支持和易于维修的设计,而 Bambu Lab 的打印头设计复杂,更换简单零件需要拆卸脆弱的排线。针对此次法律威胁,包括路易斯·罗斯曼(Louis Rossmann)在内的维权人士表示愿意出资支持被起诉的开发者。这反映了 3D 打印行业在商业化效率与开源社区共建之间的深层摩擦。

如果 AI 能写代码,我们还需要 Python 吗?

AI 改变了语言的评估维度

过去十年,Python 和 TypeScript 因开发效率高、生态庞大而成为主流。Rust 或 Go 虽然运行速度快,但陡峭的学习曲线让许多团队望而却步。随着 AI 代码生成能力的提升,这种权衡标准正在发生改变。

Static Typing(静态类型)和严格的编译器成为了 AI 的优质训练信号。Rust 极其紧密的编译反馈回路,能让 AI 智能体实时自我纠错。Anthropic 的研究员利用 16 个 Claude 智能体并行工作,用不到 2 万美元的 API 成本,使用 Rust 编写了一个包含 10 万行代码的生产级 C 编译器。Ladybird 浏览器也在 AI 辅助下,仅用两周就完成了将 JavaScript 引擎从 C++ 移植到 Rust 的工作。

Python 生态的底层重构

Python 的易用性优势正在被底层语言蚕食。目前,数据校验库 Pydantic、数据处理库 Polars 以及诸多分词器工具都已用 Rust 重写。OpenAI 收购了开发构建工具 uv 和 ruff 的公司 Astral,因为这些用 Rust 编写的工具能大幅节省模型计算时间。Python 生态正逐渐变成一个套着 Python 外壳的 Rust 生态。

审查比编写更重要的未来

社区对于这门语言的未来存在分歧。支持底层语言的开发者认为,AI 能轻易处理 Rust 中复杂的 Borrow Checker(所有权检查器,用于内存管理),并交付体积更小、运行更快的原生应用。

另一方则指出,团队的维护能力依然是短板。当人类的主要工作从“编写代码”转向“审查代码”时,Python 优秀的 Readability(可读性)让它像是一种可执行的伪代码,有助于人类快速排查逻辑漏洞。编程语言正在向对智能体友好的方向演进,底层语言在生产环境中的性能复利日益凸显。

致敬《极度空间》的硬核广告拦截器

用代码致敬电影

开发者 davmlaw 发布了一款浏览器扩展 They Live Adblocker。它的灵感来自 1988 年的科幻电影《极度空间》,不直接隐藏网页广告,而是将其替换为电影中“服从”、“消费”、“看电视”等洗脑口号。

该项目分叉自 uBlock Origin Lite。它修改了原有的化妆过滤逻辑,不再向广告元素注入隐藏样式的代码,而是覆盖一个白框遮罩,并利用 CSS 伪元素显示随机口号。为了应对动态加载的网页,插件使用 MutationObserver(监测网页结构变化的接口)来持续标记新的广告位。

工具与主题的荒诞感

作者透露,这个搁置了 11 年的创意在 AI 的辅助下仅用 20 分钟就完成了编写。社区讨论中,有人觉得用 AI 这种被视为具有异化属性的技术,来致敬一部反非人化的电影,带有一种赛博朋克式的讽刺。

这部电影揭示了平庸欲望如何被权力机构利用。有用户提议将这套逻辑移植到 Apple Vision Pro 等增强现实头显中,在物理现实里实现广告遮蔽,将数字世界的抵抗延伸到现实生活中。

桌面操作系统的视觉考古

早期系统的界面启示

Retrotechnology Media 档案库整理了 1983 到 2005 年间的桌面操作系统截图。1980 年代的系统界面带有强烈的立体感和明确的边界,设计初衷是帮助从未接触过电脑的用户通过直觉建立操作习惯。这些视觉提示在设计学中被称为 Affordances(示能性)。

不同系统展现了多样的设计路径。NeXTstep 1.0 引入了列式浏览器,BeOS 在多媒体图标设计上极具前瞻性。早期的字体设计更是直接利用了 CRT(阴极射线管)显示器的边缘模糊特性,经过手工打磨的像素字体在低分辨率下依然清晰。

被拆除的“切斯特顿栅栏”

现代 UI 设计追求极简,窄到难以抓取的滚动条、仅有一两像素宽的窗口边框,让用户在叠放多个程序时难以分辨活动窗口。资深开发者认为,这是一种拆除切斯特顿栅栏(指在不了解原有设计用意的情况下盲目废除旧有事物)的行为。

以前的系统与硬件结合紧密,用户一旦掌握就能形成肌肉记忆。现在大量基于 Web 技术构建的桌面应用,界面布局变动频繁,破坏了交互的稳定性。为了找回高效的操作体验,部分 Linux 用户开始使用 Chicago95 等主题,通过模拟 90 年代的高对比度色彩和 3D 控件来提升界面的可识别度。

Anthropic 在 AWS 推出独立 Claude 平台

绕过采购流程的合规博弈

Anthropic 推出了一项新服务,允许 AWS 用户直接调用 Claude API。这与现有的 Amazon Bedrock 模式不同:在 Bedrock 中,数据留在 AWS 基础设施内;而在新平台里,数据处理发生在 AWS 边界之外,由 Anthropic 负责运营,但账单和身份管理仍通过 AWS 进行。

这种架构为企业级开发者提供了一条捷径。在大型机构引入新供应商往往需要数月的审计,而增加已有 AWS 账户的支出只需内部常规审批。团队可以继续使用熟悉的权限管理和审计日志系统,甚至用这笔开销冲抵既定的 AWS 消费承诺。

零延迟的功能同步

新平台解决了 Bedrock 功能滞后的痛点。AWS 用户现在可以“首日同步”使用最新特性,包括受控智能体、代码执行以及 MCP(模型上下文协议)连接器。

不过,如果企业有严格的数据驻留要求,一旦数据离开 AWS 边界,原有的数据治理策略就会面临合规挑战。目前该平台已支持 Opus、Sonnet 和 Haiku 全系模型。

欧盟计划打击社交平台的“成瘾性设计”

算法的边界与责任

欧盟委员会计划对 TikTok 和 Instagram 展开监管,重点审查无限滚动、自动播放和推送通知等功能。调查核心在于这些平台是否引导儿童陷入包含不良内容的算法“兔子洞”。

社区对平台的责任归属展开了讨论。有观点认为,一旦平台使用算法向用户主动呈现内容,就不应再被视为单纯的信息传输管道,而应对展示结果承担法律责任。但界定“算法”存在困难,因为连按时间顺序排列信息的机制在广义上也属于算法。

保护隐私的年龄验证

Meta 旗下平台目前未能严格执行 13 岁的最低注册年龄限制。欧盟正在开发一款高隐私标准的年龄验证应用,计划整合到各成员国的数字钱包中。

强制身份验证引发了对隐私泄露的担忧。技术人员指出,行业内已存在保护隐私的验证方案,用户可通过第三方获取年龄证明令牌,在不暴露具体身份的前提下完成核验。随着相关技术的成熟,平台方推卸保护责任的空间将越来越小。

拥有 2500 名成员的底层软件读书会

邮件列表里的硬核社区

Phil Eaton 运营的 Software Internals Book Club 专注于阅读数据库、分布式系统等领域的硬核技术书籍。社区目前有 2,500 多名成员,每本书能吸引数百人参与讨论。

这个群体完全依托 Google 邮件列表运作,没有视频会议。每周由领读人发送章节总结,成员在邮件中交流。尽管活跃发言者仅占 1% 到 2%,但大量只读不发的成员表示从高质量的技术讨论中获益良多。

降低管理成本的运作逻辑

读书会的选书标准明确:篇幅在 350 到 550 页之间,聚焦具体系统设计,确保能在三个月内读完。成员们目前正在阅读《操作系统:三个简单部分》,后续书单包括《数据密集型应用系统设计》和《垃圾回收手册》。

入会需要提供 LinkedIn 链接验证身份。这种稍显传统的运作方式极大降低了组织者的管理成本,为开发者提供了一个专注且不受干扰的技术交流空间。

如何在真实约束中学习软件架构

康威定律的物理映射

软件架构往往是组织沟通结构的镜像,这被称为康威定律。为了在规定期限内发表论文而编写的代码,其架构会自然向时间压力妥协。真正的架构设计不是画图纸,而是在真实项目的约束条件下做决策。

以 rust-analyzer 为例,为了吸引社区志愿者参与复杂的编译器开发,项目将各个内部功能拆分,并在运行时用 catch_unwind(异常捕获机制)隔离开来。这种设计容忍了单一功能的崩溃,降低了贡献门槛。

在遗留系统中建立直觉

许多成熟的架构经验来源于对混乱代码的长期维护。开发者在处理遗留系统引发的故障后,才能理解隔离核心逻辑的价值。现代软件开发常采用六边形架构,将核心业务与外部框架分离,防止技术变动影响业务逻辑。

架构师的日常工作本质上是对数据的一系列转换。理解这些抽象模型,并根据团队规模和业务压力调整代码结构,是掌握软件架构的必经之路。

冷战遗迹:潜艇如何使用极低频通信

海水屏障与极低频的诞生

海水的高导电性会屏蔽常规无线电信号。1917 年的一场意外测试证明了低频波段在水下的穿透力,美国海军随后普及了 VLF(甚低频)技术。发射 VLF 信号需要庞大的天线网,冬季为了防止积冰压塌天线,工程师甚至要消耗 3 兆瓦的电能来发热融冰。

随着核潜艇实现无限期深潜,海军开发了频率在 72-80 赫兹之间的 ELF(极低频)系统。由于波长长达数千公里,美军利用地壳作为电路回路,将电极深埋在几十公里外,构成了接地偶极天线。

耗资巨大的海底“门铃”

ELF 系统的发射效率极低,消耗 2.6 兆瓦的能量,最终辐射出的有效信号仅有 8 瓦。这种微弱的功率导致传输三个字母的指令需要耗费 15 分钟。因此,它更多被用作一种“海底门铃”,提醒潜艇上浮到浅水区接收更详细的指令。

庞大的占地面积和公众对电磁辐射的担忧,让 ELF 项目饱受争议。2004 年,美国关闭了国内的极低频设施。如今,威斯康星州森林里留下的巨大天线遗迹,见证了这段隐秘的技术竞赛。

用 Zig 和 Rust 重塑 Rockbox 音乐引擎

现代化的架构封装

Rockbox 曾是经典的开源播放器固件。Rockbox Zig 项目将其音频引擎与 Rust 和 Zig 语言结合,封装成一个单一的二进制服务程序。它保留了无缝播放、数字信号处理和多格式解码等核心能力。

项目通过 gRPC、GraphQL 和传统的 MPD 协议暴露底层接口。用户既可以使用现代的 React 网页客户端,也能接入旧有的命令行播放器,让这段经过时间检验的老代码焕发了新生。

统一管理的家庭媒体中心

这个服务进程支持 AirPlay、Snapcast 和 DLNA 等协议,能将音乐同步推送到家中的 Apple TV 或智能音箱上。

开发者将它作为实验室或家庭服务器的音频中枢,避免了在不同设备间反复同步音频文件和元数据。项目支持 Docker 快速部署,内置了高速搜索引擎,并计划在未来通过 WebAssembly 引入插件系统。

播客全文

女:Hello 大家好,欢迎收听本期的 Hacker News 播客,我是莓莓。

男:大家好,我是阿哲。

女:阿哲,最近有个开发领域的趋势让我这个做产品的人都觉得有点吃惊。以前团队选技术栈总偏好 Python 或者 TypeScript,因为好招人、出活快。但现在大家似乎都在拥抱 Rust 和 Go 这种偏底层、学起来很折磨人的语言。

男:这种转变很大程度上是因为 AI 降低了掌握困难语言的门槛。Rust 对人来说学习曲线极其陡峭,要手动处理内存管理。但它有一个特性,就是编译反馈回路极其紧密,每条精准的错误信息对 AI 来说都是免费的训练信号,智能体可以根据这些报错实时自我纠错。

女:这听起来像是给 AI 戴上了带自动导航的护栏。我看到一份工程记录,Anthropic 的研究员只花了两万多美元的 API 成本,用 16 个 Claude 智能体并行工作,就用 Rust 写出了一个十万行代码的生产级 C 编译器。这在过去得是一个资深团队做大半年的工程量。

男:微软也做了类似的事情,他们把 TypeScript 的编译器用 Go 重写了一遍,速度直接提升了大概十倍。现在连 Python 自己引以为傲的生态圈,很多核心组件像 Pydantic,还有开发者常用的构建工具 uv,底层都已经换成了 Rust。OpenAI 甚至为了给模型计算省时间,直接把 uv 的开发商收购了。Python 生态正在变成一个戴着 Python 帽子的 Rust 生态。

女:这就很有意思了。以前代码主要是人写,Python 就像是可执行的伪代码,可读性好,大家看着不累。以后可能是 AI 生成 90% 的代码,人的主要工作变成了审查逻辑和做架构设计。编程语言的设计初衷,已经从降低人类认知负担,慢慢倾斜到对智能体友好上了。

男:提到 Anthropic,他们刚好在 AWS 上推出了完整的 Claude 平台服务。这跟之前的 Amazon Bedrock 模式有本质区别。Bedrock 模式下数据不出 AWS 基础设施的边界,而新平台是 Anthropic 直接在外面负责运营服务。

女:这对大型机构内部的开发团队来说是个账单桥接的捷径。大公司引入一个新供应商往往需要数月的安全审计,但如果是增加已有 AWS 账户的支出,内部审批就容易多了。团队可以直接走现有的审计日志系统,甚至能用这笔钱去冲抵之前向 AWS 承诺的消费额度。

男:功能上的同步是核心价值。Bedrock 上的模型更新往往会慢几个月。通过新平台,开发者终于可以首日同步用到最新的受控智能体和代码执行等特性。但安全团队可能要重新评估风险,一旦数据离开 AWS 边界,原本严格的数据驻留策略就可能失效。

女:AI 现在的能力确实让人兴奋,它不仅能写底层的硬核系统,也帮普通人实现了许多天马行空的创意。有个叫 davmlaw 的开发者,花二十分钟就用 AI 辅助写出了一个搁置 11 年的趣味项目,是一个叫 They Live Adblocker 的浏览器插件。

男:这个插件的名字致敬了 1988 年的科幻电影《极度空间》。常规的去广告插件是直接把网页上的广告元素隐藏,但它不这样做。它会用一个白框把广告盖住,然后在上面显示电影里的洗脑口号,比如消费、服从、看电视。

女:这操作太有画面感了。作者修改了插件的化妆过滤逻辑,用 Web API 持续监测网页的文档对象模型变化。只要广告位一加载出来,立刻贴上标语。这确实让人联想到在 Apple Vision Pro 这种头显里装上类似功能,走在街上看到的实体广告牌全变成了服从,完全是赛博朋克照进现实。

男:社区讨论里有种观点挺发人深省。电影本身是批判消费主义和异化的,有人觉得用 AI 这种机器劳动力来做致敬插件极具讽刺意味。但换个角度看,通过自然语言和计算机协作,让这种投入产出比很低的趣味项目有机会面世,反而比枯燥地敲代码更具人性。

女:说到界面呈现,屏幕上的 UI 设计演变也藏着很多故事。最近有一份叫 Retrotechnology Media 的收藏在社区很火,里面整理了 1983 年到 2005 年间大量桌面操作系统的截图,看着早期的 SunOS 和初版 Mac OS X,感觉就像在逛数字博物馆。

男:这些截图展示了早期计算机界面是怎么通过示能性来引导用户操作的。那时候的界面元素有清晰的边界和立体感,用户一眼就能看出哪里可以点击、哪里可以拖动。像 NeXTstep 1.0 引入的列式浏览器,在当时的视觉深度远超 Windows。

女:现在的 UI 设计为了追求视觉上的极简和干净,丢掉了不少这种宝贵的工具。比如细到难以抓取的滚动条,或者只有一两个像素的窗口边框。打开几个程序叠在一起,有时连哪个是当前活动窗口都分不清。

男:工程界把这种现象叫作拆除切斯特顿栅栏,意思是设计师在不了解原有设计用意的情况下,盲目去掉了那些为了提升效率而保留的视觉标识。以前的系统虽然对非专业人士有门槛,但掌握后能形成深层的肌肉记忆。现在的桌面应用经常变动布局,用户很难建立长期稳定的操作习惯。

女:现代 UI 设计不仅在隐藏视觉标识,很多时候甚至没打算让用户停下来。这就引出了欧盟最近的动作。他们计划在今年晚些时候针对 TikTok 和 Instagram 的成瘾性设计采取监管行动,明确点名了无限滚动、自动播放和推送通知等功能。

男:这些设计在开发者眼里就是一种生物黑客行为,类似食品公司通过精准调整零食里的盐糖比例来激发大脑反应。目的纯粹是为了最大化用户停留时间,而非服务于用户健康。一旦平台使用算法向用户呈现数据,它们是否还算作单纯的数据传输服务商,在法律上就变得模糊了。

女:目前欧盟的重点是防止儿童陷入算法引导的兔子洞。为了解决年龄限制执行不严的问题,他们还开发了高隐私标准的年龄验证应用。有声音担心这会带来隐私泄露风险,但现在的技术其实可以通过第三方服务获取年龄证明令牌,在不透露具体身份信息的情况下完成验证。成年用户同样面临社交媒体成瘾的困扰,如果这些设计确实有害,只针对儿童的监管最后可能会演变成类似 Cookie 弹窗那样的形式主义。

男:用户主权和商业效率的矛盾不仅体现在软件上,硬件领域同样激烈。最近 3D 打印圈就爆发了争议,拓竹 Bambu Lab 向一个开源分支项目的开发者发出了停止侵权函,指控其冒充官方客户端。

女:被警告的项目叫 OrcaSlicer-bambulab,它的初衷只是为了让用户在不经过拓竹云服务器的情况下使用打印机远程功能。拓竹的产品因为开箱即用的自动化体验,被称为 3D 打印界的 iPhone。但这种始终在线的云端模式让重视隐私的用户感到不安。凌晨三点智能体还在不停运转,这让人缺乏安全感。

男:争议的核心在于,这个切片软件的源头是遵循要求衍生软件必须开源的强效许可协议的。开发者认为修改代码是合法权利。拓竹称这种修改造成了服务器隐患,但技术人员指出,仅仅依靠用户代理字符串来做访问控制算不上有效的安全手段。

女:为了保持对硬件的控制,很多人把打印机断网只在局域网内运行。但拓竹在接下来的更新中强制用户在云端功能和本地模式之间二选一。这让社区开始怀念像 Prusa 这种硬件开放度高、零部件容易维护的品牌。在拓竹的机器上换个风扇都需要拆卸脆弱的排线,这与鼓励自行维修的开源精神背道而驰。

男:商业闭环虽然带来了便利,但也压缩了极客的折腾空间。这就是为什么总有人坚持给老硬件重写开源代码。最近有一个叫 Rockbox Zig 的项目,把经典的 Rockbox 音频引擎跟现代的 Rust 和 Zig 语言结合,做出了一个现代音乐播放守护进程。

女:Rockbox 以前很多人用来刷旧 MP3 播放器。现在把它变成后台程序,意味着用户可以在家庭服务器上统一管理本地曲库,不用在手机和电脑之间来回同步文件了。它甚至扩展了多房间同步播放能力,能把音乐推送到 Apple TV 或者 HomePod 上。

男:这个项目通过单一的二进制文件提供了数字信号处理和 20 多种音频编解码器,还开放了 gRPC 和 HTTP REST 等现代接口。不论是用网页端、桌面端还是命令行终端,都能轻松控制底层的音频引擎。

女:把老旧的硬核代码和现代接口干净地缝合在一起,特别考验软件架构能力。我们常觉得架构像纸上的蓝图,但在大学课堂里学架构就像玩沙盘模拟,不痛不痒。只有亲自去维护过糟糕的意大利面代码,并为故障负责后,才能真正理解架构的意义。

男:这就是著名的康威定律发挥作用的地方,软件的结构往往重复了生产它的组织的沟通结构。为了发论文在短期内赶出来的代码必然向时间压力妥协。优秀的架构需要在实践中做减法。比如 rust-analyzer 这种大型项目,内部拆分得很细,每个功能都用捕获崩溃的机制保护起来。这样即使是新手,只要跑通快乐路径也能合并代码,降低了参与门槛。

女:为了在业务领域培养这种架构判断力,除了写代码,共读经典书也是个好方法。有个叫 Phil Eaton 的开发者运营着一个软件内幕读书会,专门带领大家阅读那些硬核的底层技术书籍,现在有两千五百多名成员了。

男:这个读书会的运作方式很古典,不用视频会议,全靠邮件列表。在一个几百人的小组里,活跃发言的工程师通常只有几个,但大量的潜水者反馈说,光是看别人的讨论就能获益匪浅。他们最近在读《操作系统:三个简单部分》,选书标准很清晰,偏重具体软件主题,且能在三个月内读完。

女:这种拉长周期的邮件交流过滤掉了即时通讯的浮躁,给大家提供了一个深入探讨技术细节的稳定空间。阿哲,聊到交流方式,今天最后一个话题分享一个有点冷门的通信硬核知识吧。

男:一战时期,美国海军研究员意外发现低频无线电波在水下也能工作。核潜艇出现后,因为要在几百米深的海底保持隐蔽,传统的无线电根本穿透不了高密度的海水。海军为此开发了极低频通信技术 ELF,频率在 70 到 80 赫兹之间。

女:这么低频的电波,发射天线得建多大?

男:因为波长长达 3700 公里,传统的铁塔根本没法用。工程师直接利用地壳作为电路回路,把电极深埋在几十公里外的地下。威斯康星州那边的发射站消耗 2.6 兆瓦的能量,最终辐射出的有效信号功率竟然只有 8 瓦。

女:这种效率,发一条消息岂不是要等很久。

男:极其缓慢。每传输三个字母的代码组需要耗时 15 分钟。所以它实际上是一套铃声系统,潜艇听到特定的低频信号,就知道有紧急情况,然后再升到浅水区改用带宽更高的系统接收详细指令。

女:既庞大又耗电,难怪《X 档案》里常拿低频电波做题材,编造洗脑的都市传说。随着技术发展,这种冷战时期的巨型通信网络现在已经被逐渐淘汰了。美国在 2004 年关闭了国内所有的 ELF 设施,如今森林里只留下巨型天线的遗迹。

男:从埋在深海的巨型电缆到桌面上几像素的窗口边框,技术总是在各种物理约束和社会妥协中寻找平衡点。

女:没错。感谢大家收听本期的 Hacker News 播客,如果你喜欢我们的节目,记得使用泛用型播客客户端,比如 Apple Podcasts 或者 Pocket Casts 订阅我们。我们下期见啦。

男:大家再见。

参考链接