Agili 的 Hacker Podcast

Hacker News 每日播报 2025-11-29


Listen Later

Hacker News 每日播报带你深入探讨太阳辐射对飞行的影响、大公司代码质量的背后逻辑、数学家和游戏玩家的制胜策略,以及 AI 广告时代的来临。

Imgur 屏蔽英国,看我如何用技术反制

近期,知名图片托管服务 Imgur 突然对英国地区实施地理封锁,导致大量嵌入在论坛、博客和项目文档中的图片链接失效,给许多英国用户带来了不便。面对这一问题,技术博主 Oscar Molnar 并没有选择简单的 VPN 客户端方案,而是构建了一套优雅的家庭网络“反封锁”系统。

巧用网络工具链实现透明代理

作者认为为每个设备单独配置 VPN 不仅麻烦,还会影响他刚升级的 2.5 Gbps 高速宽带。因此,他设计了一个在网络层面自动生效的解决方案,只有访问 Imgur 的流量会通过 VPN,其他流量则不受影响。

他的技术栈组合如下:

  1. Pi-hole:作为 DNS 服务器,将所有对 i.imgur.com 的请求重定向到本地的 Traefik 反向代理。
  2. Traefik:接收到请求后,通过 TLS Passthrough 模式,将加密流量直接转发给后端的 VPN 服务,确保了端到端的安全。
  3. Gluetun:这是一个封装了 VPN 连接的 Docker 容器,它将所有流经它的网络流量通过位于非英国地区的 VPN 服务器发出。
  4. Nginx:在 Gluetun 的网络环境中运行,作为一个简单的 TCP 代理,将请求最终转发到 Imgur 的真实服务器。
  5. 整个系统通过 Docker Compose 和 NixOS 进行声明式管理,实现了“一次配置,永久有效”的无感体验,堪称“杀鸡用牛刀”的典范。

    技术之外的思考

    这个巧妙的解决方案也引发了更广泛的思考。有人提出,可以在此基础上增加一个“回退”机制:当 Imgur 图片加载失败时,自动尝试从互联网档案馆(Wayback Machine)获取缓存版本。这随即引出了关于 archive.org 在英国可用性的讨论,揭示了英国独特的网络环境——部分移动运营商会因默认开启的“家长控制”功能而屏蔽该网站。

    这一事件也让许多人感慨,在一个发达国家,为了正常浏览互联网内容却需要折腾复杂的网络设置,这本身就反映了当前互联网日益割裂的现状。

    空客 A320 紧急行动:强烈太阳辐射或致飞行数据损坏

    航空安全领域传来一则重要消息,空中客车(Airbus)公司发布紧急通告,指出强烈的太阳辐射可能导致 A320 系列飞机的关键飞行数据损坏,并要求运营商立即采取预防性措施。

    软硬件协同的深层问题

    空客的公告指出,近期一起事件分析表明,太阳辐射可能影响对飞行控制至关重要的系统。为此,欧洲航空安全局(EASA)也将发布紧急适航指令,要求运营商实施软件或硬件保护方案。

    深入的技术探讨揭示,问题可能并非简单的内存位翻转(bit flip)。关键线索指向了飞行控制主计算机(ELAC)的算法缺陷。当太阳辐射导致航空数据惯性参考单元(ADIRU)产生异常数据尖峰时,现有的 ELAC 软件可能无法正确处理,从而可能导致“未经指令的升降舵动作”。因此,当前的修复措施主要集中在更新 ELAC 的软件,以增强其对异常数据的容错能力。

    冗余、认证与安全第一

    这次事件也让人们重新审视了航空系统中的设计哲学。

    • 冗余与异构设计:航空系统通常采用多套由不同团队独立设计的计算机系统,通过仲裁算法来确保单一组件的故障不会影响整体安全。然而,如何保证不同团队的设计真正“异构”,避免出现相似的“平行缺陷”,仍然是一个挑战。
    • 新旧技术的权衡:有人好奇为何最新的 A320neo 机型仍在使用几十年前设计的飞行计算机。这背后是航空业极其高昂的认证成本和对“经过验证的成熟技术”的偏好。航空公司也希望保持机型统一性以降低飞行员培训成本。在安全关键领域,老旧但可靠的技术有时比未经充分验证的新技术更受青睐。
    • 汲取教训:空客此次果断采取行动,即使会造成航班中断,也被认为是吸取了波音 737 MAX 事件的教训,将乘客安全置于首位。这种“主动预防”的姿态,展现了其对安全问题的重视。
    • 复古奇迹:System 7 在 Mac mini G4 上原生启动

      对于复古苹果爱好者来说,一个曾经被认为“不可能”的目标实现了:经典的 System 7 和 Mac OS 8 系统,现在可以在“新世界 ROM”架构的 Mac mini G4 上原生启动。

      黑客精神的胜利

      Mac mini G4 原本只能运行 Mac OS 9.2.2 及以上版本,更早的经典系统因硬件架构差异而无法兼容。这一突破得益于社区开发者的不懈努力:

      1. 关键的泄露文件:一切始于一批泄露的苹果内部 CHRP 平台(PowerPC 时代的一种开放硬件标准)开发版 Mac OS。这些系统中的 ROM 文件和系统启用器(System Enabler)为在新硬件上引导旧系统提供了关键线索。
      2. “超级”ROM 的诞生:开发者通过分析和修补大量的 ROM 文件,成功拼接出一个兼容性极强的“超级”ROM,它保留了被新版 ROM 移除的旧功能,同时集成了新功能。
      3. 破解系统限制:通过破解系统启用器的版本检查,使得 System 7.5 等更早的系统也能加载新的 Mac OS ROM 文件。
      4. 最终,将这个“超级”ROM 与 Mac mini G4 的专属补丁结合,成功实现了在 G4 硬件上运行 System 7 的壮举。据测试者称,System 7 在这台相对现代的机器上运行速度“快到难以置信”,为复古计算社区打开了探索历史的新大门。

        社区的热情与怀旧

        这一成就点燃了复古计算社区的热情,许多人回忆起自己使用 PowerPC 时代 Mac 的经历,从 Performa 到 PowerTower Pro,充满了对那个时代的怀念。大家对开发者们的“史诗级”工作表达了高度赞扬,同时也开始积极测试和反馈,讨论如何解决声音、视频驱动等遗留问题,共同完善这一项目。

        大公司里的好工程师为何写出烂代码?

        这是一个在软件开发领域经久不衰的谜题:为什么那些汇聚了顶尖人才的大公司,却常常产出质量堪忧的代码?一篇文章深入探讨了背后的系统性原因,认为这并非工程师能力问题,而是公司战略和环境所致。

        系统性困境而非个人能力问题

        文章作者认为,优秀工程师在大公司写出“烂代码”的根源在于以下几点:

        • 高流动性:工程师的平均在职时间短,加上频繁的内部重组,导致大多数代码变更都是由对系统不满六个月的“新手”完成的。他们总是在“摸索”中前进。
        • 有限的资深指导:虽然有资深工程师,但他们往往被自己的工作压得喘不过气,公司也缺乏正式机制来培养和保留对特定系统有深厚知识的专家。代码审查的深度和质量难以保证。
        • 公司的刻意权衡:大公司为了保持组织灵活性,能够随时将工程师调动到新的战略方向(如 AI),宁愿牺牲一部分代码质量和专业知识的深度。这种“可替换性”优先于“专业性”。
        • 不合理的压力:许多开发者认为,更根本的原因是管理层对工程技艺缺乏尊重,设定了不切实际的交付期限。在模糊和不断变化的需求下,即使是最优秀的工程师也难以构建出稳固的系统。
        • 所有权缺失与历史包袱

          进一步的讨论指出,问题的核心在于缺乏真正的所有权。在大公司,工程师很少能对一个项目从头到尾负责,也缺乏相应的风险与回报机制。

          此外,历史技术债务也是一个巨大的束缚。有时,工程师不得不为了兼容一个由不称职的架构师设计的、但因公司政策而无法修改的“稳定”系统,继续编写糟糕的代码。在这种环境下,个体工程师几乎无力改变现状,追求高质量代码反而可能带来职业风险。

          数学家的“绝招”:每个大师都只有几招鲜 (2020)

          著名数学家 Gian-Carlo Rota 曾说,即使是希尔伯特这样的巨匠,也只反复运用少数几种技巧。这一观点在 MathOverflow 上引发了热烈讨论,大家纷纷分享了那些看似简单却威力无穷的数学“绝招”。

          数学中的“看家本领”

          一些被反复提及的核心技巧包括:

          • 交换求和/积分次序:这一操作看似基础,但在不同领域有深远应用,是许多巧妙证明和算法优化的关键。
          • 简化或推广问题:遇到难题时,要么将其简化到可解的程度,要么反其道而行之,将其置于一个更普适的框架下,有时反而能豁然开朗。
          • 分部积分法:微积分中的经典工具,被誉为“能赢得大奖章”的技巧。
          • 概率方法:证明某个对象存在,只需证明随机构造出它的概率大于零。
          • 对偶性(Duality):在不同数学结构间寻找对偶关系,通过“照镜子”来解决问题。
          • 从数学到编程的智慧迁移

            这个话题在开发者社区也引起了强烈共鸣,大家纷纷分享了自己在软件工程领域的“锤子”——那些能解决各种问题的核心工具。

            • 一位工程师提到,他的父亲几乎用牛顿-拉弗森法解决所有非线性问题。
            • 另一位开发者则广泛使用**奇异值分解(SVD)**处理各种线性代数和数值计算难题。
            • 大家还分享了解决问题的“元技巧”,如“探究问题结构”、“利用调试器”、“二分查找”以及最重要的“向他人求助”。
            • 正如李小龙所说:“我不怕会一万种踢法的人,我只怕把一种踢法练了一万次的人。”无论是数学还是编程,精通少数核心技巧,往往比泛泛了解众多方法更为强大。

              WinApps:在 Linux 上原生般运行 Windows 应用

              对于许多因特定软件(如 Adobe 套件或 Microsoft Office)而无法完全投入 Linux 怀抱的用户来说,WinApps 项目提供了一个极具吸引力的解决方案。它致力于让 Windows 应用在 Linux 桌面环境中实现“无缝”集成,感觉就像原生应用一样。

              工作原理揭秘

              WinApps 的实现方式相当巧妙,它并非原生运行 Windows 程序,而是:

              1. 在一个虚拟机(通过 QEMU 实现)中运行完整的 Windows 系统。项目使用 Docker 或 Podman 来自动化这个虚拟机的安装和管理过程。
              2. 通过远程桌面协议(RDP),将虚拟机中运行的 Windows 应用窗口“抠”出来,并无缝地渲染到 Linux 桌面上。
              3. 它还能将 Linux 的 /home 目录映射到 Windows 中,并与 Nautilus 等文件管理器集成,实现右键点击文件,直接用 Windows 应用打开。
              4. 许可、性能与选择的碰撞

                这个项目引发了多方面的讨论:

                • Windows 许可的灰色地带:如何在虚拟机中合规地使用 Windows 成为一个焦点。许多讨论都指向了微软复杂的 EULA(最终用户许可协议)以及在虚拟化环境下的限制。
                • 性能权衡:RDP 在远程 GUI 方面表现出色,但在没有 GPU 直通的情况下,Windows UI 可能会因软件渲染而出现延迟和卡顿,影响体验。
                • Linux 的应用痛点:大家也借此机会盘点了那些依然难以在 Linux 上找到完美替代品的 Windows 软件,除了 Adobe 和 Office,还包括一些需要特定硬件驱动的工具和像 TortoiseGit 这样深度集成到 Shell 的应用。
                • 总而言之,WinApps 代表了社区在解决跨平台兼容性问题上的不懈努力,但用户在尝试时也需了解其在许可和性能方面的潜在挑战。

                  内角和为零的三角形存在吗?

                  在我们的几何直觉中,三角形的内角和是 180 度。但在非欧几里得几何的奇妙世界里,这个定律被彻底颠覆。一篇文章就为我们介绍了这样一种奇异的三角形:它的内角和为零。

                  这种三角形存在于**双曲几何(Hyperbolic geometry)**空间中。与在球面上内角和大于 180 度的球面几何相反,双曲空间中的三角形内角和总是小于 180 度。

                  文章展示了一个由三条半圆形弧线构成的图形,它代表了一个在“庞加莱半平面模型”中的双曲三角形。这个三角形最反直觉的特性是:

                  • 它的三个顶点位于“理想点”(ideal points),即双曲空间中的无限远处。
                  • 它的三个内角都趋近于零,因此内角和也为零。
                  • 它拥有无限长的周长,但其面积却是有限的
                  • 如何理解“无限周长,有限面积”?

                    这个看似矛盾的性质,源于我们用来观察双曲空间的“地图投影”方式。

                    • 距离的扭曲:庞加莱模型将无限大的双曲空间压缩到一个有限的欧几里得区域(如一个圆盘或半平面)。在这个模型中,越靠近边界的地方,欧几里得距离上的“一小步”,在双曲空间中可能代表着“无限远”。
                    • 类比与分形:可以将其类比为透视画中的地平线,或某些分形图形(如科赫雪花),它们也具有无限周长和有限面积的特性。
                    • 这个概念极大地扩展了我们对几何图形的想象,也提醒我们,我们所熟悉的欧几里得几何只是描述宇宙的多种可能性之一。

                      传闻证实:OpenAI 准备在 ChatGPT 中推出广告

                      根据泄露的内部信息,OpenAI 正在其 ChatGPT 的安卓测试版中测试广告功能,这预示着我们熟悉的那个纯净的 AI 对话体验可能即将成为历史。

                      AI 广告的巨大潜力

                      与传统的搜索引擎广告相比,ChatGPT 在个性化广告方面拥有得天独厚的优势。通过与用户的长期深入对话,它积累了极其细致和私密的用户偏好数据,这可能使其能够推送前所未有的精准广告。

                      未来,广告形式可能不再是简单的链接,而是更具互动性的体验。例如,用户可以直接与广告中的产品进行对话,了解详情,甚至在 ChatGPT 内部完成购买,形成一种“代理式购买”的新模式。

                      社区的担忧与批评

                      这则消息引发了社区的激烈反应,观点两极分化:

                      • 乐观派认为,凭借庞大的用户基础和深度数据,OpenAI 将在广告领域大获成功,甚至威胁到 Google 和 Meta 的地位。
                      • 批评者则表达了深切的担忧。他们认为,引入广告会破坏用户体验,背离了用户最初选择 AI 而非传统搜索引擎的初衷。更重要的是,AI 的强大说服力与极致的个性化数据相结合,可能带来前所未有的操纵风险,影响用户的决策和思想。
                      • 许多人还认为,一家以实现 AGI 为目标、宣称非营利的公司转向广告业务,本身就是其核心弱点的体现,可能暗示着通往 AGI 的道路比预想的要漫长得多。AI 的广告化之路,注定充满争议。

                        数学证明“猜猜我是谁?”的最佳策略 [视频]

                        对于经典桌游“猜猜我是谁?”(Guess Who?),流传最广的策略是“二分查找”——每次提问都将可能性减半。然而,数学家 Mihai Nica 博士通过严谨的数学证明指出,这个策略并非总是最优。

                        领先求稳,落后求变

                        Nica 博士将游戏抽象为一个双人对战的数值猜测问题。他的核心洞察是,最佳策略取决于你在游戏中所处的态势:

                        • 当你领先时(你的候选角色比对手少):此时,二分查找是最佳策略。它能最稳定地缩小范围,巩固你的优势,最大化你的获胜概率。
                        • 当你落后时(你的候选角色比对手多):继续使用二分查找只会让你稳定地输掉比赛。此时,最优策略是采取高风险的“不对称”提问。例如,问一个只包含少数几个角色的问题(“你的人物戴帽子吗?”)。如果猜中,你将一次性排除大量选项,获得反超的机会;如果猜错,虽然会拉大差距,但这是你唯一可能翻盘的希望。
                        • 这种“领先求稳,落后求变”的策略,在许多竞技游戏和体育比赛中都能找到共鸣,比如在比赛落后时撤下守门员增加进攻球员。它深刻地揭示了在不同情境下,决策目标(最大化胜率 vs. 最小化回合数)的转变如何影响最优策略的选择。

                          加菲尔德的勾股定理证明

                          你知道吗?美国第20任总统詹姆斯·A·加菲尔德(James A. Garfield)也是一位数学爱好者,他甚至提出了一个关于勾股定理的原创证明。

                          总统的巧思:梯形证明法

                          加菲尔德的证明发表于1876年,当时他还是国会议员。其方法非常巧妙,被数学史学家誉为“非常优雅”:

                          1. 从一个直角三角形开始。
                          2. 通过构造另一个全等的直角三角形,并将两者顶点相连,形成一个梯形。
                          3. 这个梯形可以被看作是由原来的两个直角三角形和中间一个等腰直角三角形组成的。
                          4. 用两种不同的方法计算这个梯形的面积:一次使用梯形面积公式,另一次将三个小三角形的面积相加。
                          5. 令两种计算结果相等,经过化简,便能轻松推导出 a² + b² = c²。
                          6. 哪种证明最“直观”?

                            勾股定理拥有数百种不同的证明方法,哪一种最“好”或最“直观”,往往因人而异。

                            有人推崇据说是爱因斯坦青少年时期发现的“相似三角形”证明法,认为它通过面积比例关系,直观地揭示了定理的本质。但也有人认为,该证明所依赖的“面积与边长平方成正比”的前提本身就不够“基本”,更喜欢纯粹的代数推导。

                            这些讨论提醒我们,数学证明不仅是逻辑的链条,也关乎美学和认知方式。一个对某些人来说“一目了然”的证明,对另一些人可能就需要借助不同的解释路径。当然,在严肃的数学讨论中,也不乏轻松的幽默——许多人第一眼看到标题,还以为是卡通人物加菲猫用千层面证明了什么定理呢!

                            相关链接:

                            • Imgur geo-blocked the UK, so I geo-unblocked my network
                            • Airbus A320 – intense solar radiation may corrupt data critical for flight
                            • System 7 natively boots on the Mac mini G4
                            • How good engineers write bad code at big companies
                            • Every mathematician has only a few tricks (2020)
                            • WinApps: Run Windows apps as if they were a part of the native Linux OS
                            • A triangle whose interior angles sum to zero
                            • Leak confirms OpenAI is preparing ads on ChatGPT for public roll out
                            • I mathematically proved the best "Guess Who?" strategy [video]
                            • Garfield's Proof of the Pythagorean Theorem
                            ...more
                            View all episodesView all episodes
                            Download on the App Store

                            Agili 的 Hacker PodcastBy Agili 的 Hacker Podcast