Hacker News 每日播报,为您带来前端框架的今昔对比、破解英航免费 WiFi 的技术探秘、颠覆三百年几何猜想的新发现、让盲人重获阅读能力的视网膜植入技术、被忽视的超链接在 AI 上下文工程中的巨大潜力、对“智能”本质的深刻探讨、iOS 更新意外清除间谍软件证据、老年人屏幕成瘾现象、Zig 语言获得重要资助,以及 Python 无 GIL 时代的 Web 服务性能展望。
React vs. Backbone:15 年的前端开发,我们进步了吗?
一篇名为《React vs. Backbone in 2025》的文章,通过一个简单的密码验证器示例,对比了 2010 年的 Backbone.js 和如今的 React,抛出了一个引人深思的观点:尽管前端生态系统在这 15 年间变得无比庞大和复杂,但我们在简化核心开发任务上,可能并未取得实质性进展。
显式简单 vs. 抽象复杂
文章作者认为,React 的“简洁”只是一种表象。Backbone 的代码虽然冗长,但其心智模型“残酷地诚实”,直白地展示了事件触发、DOM 更新的完整流程,一个初学者也能清晰地追踪。相比之下,React 隐藏了大量内部机制。当应用脱离简单示例,开发者便会频繁遭遇“陈旧闭包”、useEffect 无限循环、列表 key 变化导致组件重渲染等棘手问题。调试这些问题需要深入理解 React 的协调算法、渲染阶段和调度器,其“魔法”的代价在高昂的调试成本中显现。
文章最后质疑,对于绝大多数非 Facebook 规模的应用而言,React 带来的复杂性是否真的必要?我们是否需要一种既像 DOM 一样稳定,又像 Backbone 和 jQuery 一样直观的模型?
社区观点碰撞
这场讨论揭示了前端开发领域一个永恒的辩题:如何平衡抽象带来的便利与隐藏的复杂性。
React 的历史贡献不容忽视:许多资深开发者强调,文章忽略了 React 解决的核心痛点。Backbone 在组件化、状态管理和团队协作方面存在巨大困难,其“双向数据绑定”常常导致难以追踪的级联状态变化和调试噩梦。React 带来的组件化、单向数据流(Flux 架构)以及虚拟 DOM,极大地简化了复杂应用的开发和维护,降低了大型团队的协作成本。示例过于简单,无法代表真实世界:有观点认为,文章的密码验证器示例过于简单,无法体现真实项目中状态管理的复杂性。在如 TodoMVC 这样的项目中,Backbone 的实现相比 React 而言,维护起来简直是“噩梦”。承认复杂性,但物有所值:即便是 React 的支持者也承认其学习曲线和抽象层带来的挑战。但这被看作是一种权衡,React 用一套新的妥协取代了旧的妥-协,而对于大型交互式应用,这种妥协是值得的。警惕“过度工程”:也有声音认为,对于许多简单的、以内容为主的网站,React 可能是一种“过度工程”,导致不必要的代码膨胀和性能开销。行业中“不假思索地选择 React”的现象值得反思,Preact、Svelte、Solid 等更轻量或不同思路的框架也提供了更多选择。技术揭秘:如何解锁英国航空的免费 WiFi
一位技术爱好者详细记录了他在英国航空(BA)航班上,如何利用技术手段绕过“免费消息”WiFi 的限制,成功实现全网浏览的有趣经历。
SNI 欺骗之旅
作者在航班上发现,BA 为其常旅客会员提供免费的消息服务,支持 WhatsApp 等应用,但无法发送图片或浏览网页。这激发了他的好奇心:在流量普遍加密的今天,BA 是如何区分不同应用的流量呢?
通过开发者工具和 Wireshark 分析,他发现连接在 TLS 握手的 Client Hello 阶段后被重置,这让他立刻联想到了 SNI(Server Name Indication)。SNI 在加密建立前以明文形式暴露了客户端尝试连接的域名,BA 的系统很可能维护了一个消息应用的域名白名单,不在名单内的连接请求都会被拒绝。
为了验证猜想,他尝试使用 WhatsApp 的域名 wa.me 作为 SNI 来连接自己的服务器。尽管证书不匹配,但 TLS 握手成功完成,他成功“欺骗”了 BA 的防火墙。基于此,他在自己的 VPS 上设置了一个 HTTPS 代理,将所有流量伪装成 wa.me 的 SNI,最终在回程航班上成功浏览了 Hacker News。
社区的攻防趣闻
这次技术探索引发了广泛讨论,许多人分享了类似的经历和更高级的攻防技巧。
五花八门的绕过方法:除了 SNI 欺骗,大家还提到了使用 Xray 工具将流量伪装成合法网站的 SSL 流量、通过 UDP 53 端口(DNS)运行 VPN,甚至使用 Iodine 进行 DNS 隧道传输等多种方法。更智能的防火墙:有经验的人指出,一些更先进的系统(如美国航空)不仅检查 SNI,还会验证服务器证书的主机名和颁发机构。对此,更高级的技巧是转发真实网站的整个 TLS 握手过程来建立隧道。TLS 1.3 通过加密服务器证书,使得这种深度检查变得更加困难。邮轮上的“猫鼠游戏”:邮轮上的高价 WiFi 也存在类似情况,通常会为邮轮公司的 App 或 Apple 推送服务开放免费访问。这也成为了技术爱好者们“各显神通”的舞台。隐私与未来:SNI 泄露被普遍认为是一个严重的隐私问题,它允许中间人监控用户的网络活动。ECH(Encrypted Client Hello)被视为解决这一问题的关键技术,但其普及仍需时日。数学界三百年猜想被推翻:首个无法穿过自身的凸多面体被发现
一个困扰了数学界三个多世纪的几何学难题——“鲁珀特性质”猜想,最近被两位数学家颠覆性地解决了。他们发现并证明了第一个无法穿过自身复制品的凸多面体。
什么是“鲁珀特性质”?
这个概念源于 17 世纪的一个赌局:一个立方体能否被挖一个足够大的洞,让另一个相同大小的立方体从中穿过?答案是肯定的。此后,数学家们发现,正四面体、正八面体、十二面体、二十面体等许多著名的凸多面体都具备这种性质。这使得学界普遍猜测:所有凸多面体都应该具有鲁珀特性质。
“Noperthedron”的诞生
然而,奥地利数学家雅各布·施泰宁格和研究员谢尔盖·尤尔克维奇合作,发现了一个名为“Noperthedron”(由“Rupert”和“nope”组合而成)的特殊形状,它拥有 90 个顶点和 152 个面,不具备鲁珀特性质。
他们的证明结合了理论突破和大规模计算机计算。通过分析形状在不同方向上的二维投影(影子),他们系统性地排除了所有可能存在“鲁珀特通道”的方向。最终,他们将所有可能的方向空间划分为 1800 万个小块,并逐一证明这些小块都不满足条件,从而彻底推翻了持续数百年的猜想。
社区热议
精确定义的重要性:许多人疑惑为何球体不能算作反例。讨论澄清,“鲁珀特性质”的研究对象是“凸多面体”,而球体没有平坦的侧面,不属于多面体。这体现了数学研究的严谨性。纯粹数学的价值:有人问及研究这类抽象问题的意义。大家普遍认为,许多看似抽象的数学发现,最终都可能在工程、计算机图形学等领域找到实际应用。好奇心驱动的研究是科学进步的重要源泉。业余与专业的互动:Google 工程师 Tom Murphy 也在其 YouTube 频道独立探索此问题,并提及了这两位数学家的工作,展现了专业学者与业余爱好者之间有趣的互动。数学家的幽默感:“Noperthedron”这个幽默的命名方式也获得了大家的赞赏,甚至有人分享了 3D 打印该形状的 STL 文件,让这个抽象的数学概念变得触手可及。视网膜植入物与特制眼镜让失明患者重获阅读能力
一项发表在《新英格兰医学杂志》上的研究为失明患者带来了新的希望。一种名为 PRIMA 的系统,通过微型无线芯片植入和特制增强现实眼镜的组合,成功帮助因晚期干性年龄相关性黄斑变性(AMD)而失明的患者恢复了部分视力,甚至能够再次阅读。
PRIMA 系统如何工作?
PRIMA 系统针对的是因 AMD 导致视网膜黄斑区感光细胞死亡的患者。其工作原理如下:
眼镜上的摄像头捕捉患者视野。图像信息以红外光形式传输到植入眼内的微型芯片。芯片将光信号转换为电信号,刺激黄斑区剩余的健康细胞。大脑将这些信号解读为视觉图像(目前为黑白)。研究结果显示,在 38 名欧洲患者中,80% 的人在植入一年后视力得到显著改善。尽管存在手术相关的风险,但这项技术被认为是视力恢复领域的重大里程碑。
社区的深层忧虑:当生命依赖于一家公司
这项技术突破在社区引发了热烈讨论,但焦点很快转向了医疗植入设备的长期支持和伦理问题。
“Second Sight”公司的前车之鉴:许多人提到了 Argus 视网膜假体公司的案例。该公司在被收购后,其产品用户面临设备维护和支持中断的困境,这被视为一个严重的伦理问题。当你的视力依赖于一家公司的存续时,会发生什么?呼吁“自由软件”和监管:社区强烈呼吁医疗植入设备采用开源软件,并建立监管机制,如“软件托管”(software escrow),即由第三方保管软件代码,以防公司倒闭。这关乎用户的基本权利和避免被专有技术“绑架”。关于语言的讨论:文章标题使用了“People with blindness”(患有失明症的人),而非“blind people”(盲人),这引发了关于“以人为本的语言”的讨论。一位盲人用户分享了他的看法,表示他个人不介意词语顺序,但非常反感“visually challenged”(视力受挑战者)这类试图回避现实的委婉说法。预防胜于治疗:讨论中也分享了预防 AMD 的一些建议,包括佩戴高质量太阳镜、补充鱼油和叶黄素等营养素、戒烟以及减少糖分摄入。AI 上下文工程的“沉睡巨人”:被低估的超链接
在大型语言模型(LLM)的上下文工程中,我们一直在寻求动态加载相关信息的方法,如检索增强生成(RAG)。然而,一篇文章指出,我们可能忽视了一个最简单、最强大的工具——超链接。
HATEOAS 的复兴
文章认为,人类学习新知识的过程就是一种“增量探索”:从一个入口点开始,点击相关链接,在多个标签页间切换,逐步构建理解。LLM 的出现,让机器也具备了理解和导航超链接上下文的能力。
这让曾经在 API 设计领域备受推崇但难以落地的 HATEOAS(Hypertext as the Engine of Application State)概念重获新生。当 LLM 成为客户端,它可以通过跟随链接来探索和交互,实现了“Hypertext as the Engine of Agent State”。
链接驱动的上下文系统
实现这种系统非常轻量,只需一个能接受 URI 列表作为参数的工具。模型可以在对话的任何环节(系统提示、用户输入、工具返回)遇到链接,并按需调用工具来加载内容。这种方法有诸多好处:
简单高效:实现简单,且用少量 token 就能提供对大量信息的按需访问能力,避免了上下文窗口的浪费。即时性:确保上下文在模型需要时才加载,缓解了信息过时和近因偏差问题。社区讨论:理论与实践
“这已经在发生了”:不少人指出,类似机制已在 Claude 等产品中实现。例如,Claude Code 会根据文档地图中的链接,使用 WebFetch 工具按需获取上下文。这表明“链接驱动”的思路正在成为行业实践。HATEOAS 的历史与未来:关于 HATEOAS 的讨论非常热烈。有人坚称,Web 本身就是 HATEOAS 的最佳范例,HTML 通过链接和表单驱动着应用状态。过去,机器难以理解超链接的语义,导致 HATEOAS 在 API 设计中显得“过于理想化”。而现在,LLM 终于为这个“寻找问题的解决方案”找到了完美的用武之地。实践中的挑战:大家也指出了实际应用中的困难,包括 LLM 跟随链接时可能“默默失败”、MCP Resources 等方案需要额外的基础设施、以及 LLM 访问网络带来的安全和隐私风险。此外,许多网站对 AI 爬虫的拦截也限制了信息获取。什么是智能?一场跨越生命、控制论与 AI 的深刻思辨
一篇来自 Antikythera 的长文《什么是智能?(2024)》对“智能”这一概念进行了极其广泛而深入的探讨,试图从生命的起源到现代人工智能,构建一个统一的理解框架。文章将生命视为一种计算形式,将智能与生物体对环境的预测能力紧密相连,并回顾了控制论的发展如何铺就了通往现代 AI 的道路。
尽管文章内容宏大,但其呈现方式在社区中引发了一些争议。许多读者认为文章结构松散,章节过多,更像是一系列概念的“自由联想”,缺乏清晰连贯的核心论点。然而,这篇文章成功地激发了社区对“智能”本质的多维度思考。
社区对“智能”的多元解读
预测是核心,但足够吗? 文章的核心观点“大脑演化是为了预测未来”得到了关注,但大家质疑其是否足以定义智能。一个能预测水温的电热水壶算智能吗?这引出了“人工”与“生物”智能的本质区别。具身性与演化历史:许多观点强调,人类智能根植于数百万年的演化历史和物理世界的具身经验。AI 系统即使拥有超强的感知和行动能力,也缺乏生物体为生存和繁衍而奋斗的内在驱动力或“意愿”。创造力与新颖性:真正的智能是否必须具备产生不可预测、真正新颖想法的能力?有人以拳王阿里的反常规战术为例,质疑 LLM 是否能达到这种创造性。另一些人则认为,LLM 在特定约束下的“限制性创造力”已经展现出巨大潜力。LLM 是逻辑还是重复? 关于 LLM 的内部机制,存在不同看法。一些人认为它们只是高级的模式匹配和重复,不具备真正的逻辑或“理解”。另一些人则认为,LLM 内部存在概念的表征,能够通过计算实现逻辑推理。推理的社会起源:一个有趣的观点是,人类的推理能力可能主要不是为了抽象逻辑,而是为了在社会交往中“给出理由”和“说服他人”而演化出来的,这与语言作为一种抽象和说服工具的观点不谋而合。iOS 26 更新意外清除 Pegasus 等间谍软件的关键感染证据
安全公司 iVerify 发布报告称,苹果最新的 iOS 26 更新中一项关于日志文件处理的改变,无意中清除了检测 Pegasus 和 Predator 等复杂间谍软件感染的关键取证证据。
shutdown.log 的关键作用
多年来,位于系统诊断文件夹中的 shutdown.log 文件一直是安全研究人员识别 iOS 设备上恶意活动的重要线索。复杂的间谍软件,如 Pegasus,会在该日志中留下痕迹。即使其开发者后来改进技术以擦除日志,擦除行为本身也成了一个妥协指标(IOC)。
iOS 26 的“意外清洗”
然而,iOS 26 引入了一项新行为:shutdown.log 在每次设备重启时都会被完全覆盖,而不是像以前那样追加新条目。这意味着,任何更新到 iOS 26 并重启设备的用户,都会无意中抹去该日志中可能存在的旧感染证据。这一变化,无论是有意为之还是无心之失,都对取证调查构成了严峻挑战。
社区的质疑与讨论
这一发现引发了社区对苹果意图和安全措施的广泛讨论。
Bug 还是有意为之? 部分人对苹果的动机表示怀疑,认为这可能与苹果在隐私承诺上的“品牌营销”与实际行动脱节有关。但也有人反驳称,这更可能是一个无意的 bug,因为苹果的品牌价值很大程度上建立在用户信任和隐私保护之上。安全措施的有效性:一些人对苹果持续未能完全阻止间堵软件攻击表示悲观。但也有人提到,iPhone 17 系列引入的“内存完整性强制执行”(MIE)等新功能,有望从根本上提高设备安全性。设备“所有权”的哲学思辨:鉴于苹果对 iOS 设备的严格控制,一些用户认为,用户实际上并非真正“拥有”设备,而只是“租用”。这引发了关于数字时代所有权定义的更广泛讨论。认识真正的屏幕成瘾者:老年人
《经济学人》的一篇文章挑战了普遍观念,指出屏幕成瘾并非青少年专属,老年群体也正日益受到数字设备过度使用的困扰。文章提到,英国国家游戏障碍中心接收的患者中,年龄最大的已达 72 岁,因沉迷手机游戏而寻求帮助。
这一现象在社区引发了热烈讨论,大家普遍认为屏幕成瘾已成为一个“全球性流行病”,并深入探讨了其与过去娱乐形式的本质区别。
现代屏幕成瘾 vs. 过去电视成瘾
许多人认为,不能简单地将今天的手机成瘾与上世纪的电视成瘾相提并论,两者在强度和影响上存在巨大差异:
无处不在的便携性:智能手机可以随时随地提供内容,而电视是固定的。算法驱动的个性化:现代数字平台利用复杂算法,根据个人偏好推送内容,将成瘾性推向极致,这与过去有限的电视频道选择截然不同。持续的微多巴胺刺激:手机通过不间断的通知和微小的奖励,不断吸引用户注意力,几乎不给人留下思考和发呆的空间。缺乏“第三空间”:现代社区普遍缺乏除家庭和工作场所以外的社交空间(“第三空间”),使得人们更容易转向屏幕寻求娱乐和社交联系。设备设计与应对策略
讨论还触及了设备设计本身对成瘾的影响。高刷新率的流畅屏幕、便捷的移动支付等“优化”体验,在降低使用摩擦的同时,也可能无意中加剧了成瘾性。一些用户甚至开始通过降低屏幕色彩、使用旧设备等方式主动增加使用摩擦,以对抗成瘾。这反映出在数字时代,用户需要更加主动地管理自己的数字环境,并对科技产品保持批判性思维。
Synadia 与 TigerBeetle 联合向 Zig 软件基金会捐赠 51.2 万美元
NATS.io 的创建者 Synadia 和高性能金融数据库 TigerBeetle 共同宣布,承诺向 Zig 软件基金会(ZSF)捐赠 51.2 万美元。这笔资金将在未来两年内支付,旨在支持 Zig 语言的持续发展。
这次捐赠不仅是一笔可观的财务支持,更体现了业界对 Zig 语言在构建高性能、高可靠性系统软件方面巨大潜力的认可。Synadia 和 TigerBeetle 两家公司都在其核心业务中对软件的确定性、效率和可靠性有着极高要求,他们共同的工程价值观促成了这次合作。
这笔资金将直接支持由 Andrew Kelley 领导的 Zig 软件基金会。Zig 语言以其对控制流、性能和简洁性的独特处理方式,正在重新定义现代系统软件的可能性。来自实际用户的反馈也印证了这一点,有公司表示在核心服务重写中采用 TigerBeetle(使用 Zig 构建)后,体验非常满意。
Synadia 和 TigerBeetle 的联合捐赠,无疑是为 Zig 语言的未来投下了一张重要的信任票,预示着它将在构建下一代可靠分布式系统中扮演越来越重要的角色。
Python 的未来:无 GIL 时代的 Web 服务性能展望
随着 Python 3.14 中“无 GIL (Global Interpreter Lock)”解释器变体的成熟,Python Web 服务的未来可能迎来一场性能革命。一篇文章通过基准测试,深入探讨了这一“free-threaded”版本对 ASGI 和 WSGI Web 应用的实际影响。
基准测试核心发现
ASGI 应用:在 I/O 密集型任务中,无 GIL 版本的吞吐量与 GIL 版本相当或略优,但内存使用量显著降低。这意味着在不牺牲性能的情况下,可以更高效地利用内存。对于 CPU 密集型任务,吞吐量约慢 20%。WSGI 应用:无 GIL 版本简化了并发模型,允许线程真正并行运行。在 CPU 密集型任务中,吞吐量显著提高,但代价是内存使用量也大幅增加。作者总结,尽管纯 Python 代码执行可能稍慢,但无 GIL 模式在 ASGI 上的内存效率提升和在 WSGI 上并发模型的简化,为 Web 开发带来了巨大的“生活质量改进”。
社区的期待与担忧
社区对无 GIL Python 的未来充满了期待,同时也提出了一些关键的担忧。
C 扩展的兼容性:最大的担忧来自大量现有 C 扩展的线程安全问题。许多 C 代码依赖 GIL 来保护可变数据结构和引用计数,需要进行大量重写和审计才能在无 GIL 环境下安全运行。性能权衡:一些简单的基准测试显示,在处理全局变量等场景下,无 GIL 版本的性能下降可能超过 20%。这引发了关于这些测试是否能代表真实世界工作负载的讨论。内存与并发:虽然 ASGI 的内存表现令人鼓舞,但 WSGI 模式下内存使用量的增加引起了关注。此外,Python 线程无法像进程那样被轻易终止,这可能对管理长时间运行的 CPU 密集型任务构成挑战。尽管存在挑战,但社区普遍认为无 GIL 是 Python 的一个积极进步,它为开发者提供了更多选择,并有望简化并发编程和部署流程。
相关链接:
- React vs. Backbone in 2025
- Unlocking free WiFi on British Airways
- First convex polyhedron found that can't pass through itself
- People with blindness can read again after retinal implant and special glasses
- Context engineering is sleeping on the humble hyperlink
- What is intelligence? (2024)
- Key IOCs for Pegasus and Predator Spyware Removed with iOS 26 Update
- Meet the real screen addicts: the elderly
- Synadia and TigerBeetle Commit $512k USD to the Zig Software Foundation
- The future of Python web services looks GIL-free