Agili 的 Hacker Podcast

Hacker News 每日播报 2025-11-04


Listen Later

Hacker News 每日播报带你探索二极管的奇妙用途、无法 cURL 的边境规则、火柴人动画的黄金时代、卡车里的移动办公室、Linux 内存的奥秘、流形的数学之美、X 平台的用户体验争议、布隆过滤器的适用边界、逆向工程打印机驱动的乐趣,以及改变互联网历史的莫里斯蠕虫。

二极管的奇妙用途

在电子学课程中,二极管常常被视为一个简单的单向阀门,远不如晶体管那样引人注目。然而,一篇深入探讨的文章提醒我们,这个“被遗忘的英雄”实际上功能强大且无处不在。

文章首先回顾了二极管基于 P-N 结的基本工作原理,解释了其正向导通和反向截止的特性。随后,详细介绍了它的多种实用电路:

  • 电路保护:利用二极管作为瞬态电压抑制器(TVS),可以保护敏感元件免受静电或电压尖峰的损害。
  • 电压参考:齐纳二极管在反向击穿区的稳定电压特性,使其成为构建简单而可靠的电压参考源的理想选择。
  • 信号处理:从将交流电转换为直流电的半波和全波整流器,到从调幅信号中提取音频的包络检波器,再到能将交流电压翻倍的倍压器,二极g管在信号处理中扮演着关键角色。
  • 直流恢复:钳位电路是一种巧妙的设计,可以将交流波形的基准电平进行偏移,使其适应单电源电路的处理范围。
  • 基础逻辑:文章还展示了如何用二极管构建简单的 OR 门和 AND 门,尽管它们因驱动能力不足而不适用于复杂逻辑,但这揭示了数字逻辑的底层原理。
  • 这篇文章也激发了更多关于二极管“黑科技”的讨论。例如,一个非导通的二极管可以被看作一个微小的、其电容值可通过反向偏压调节的电容,这可用于构建电压控制振荡器(VCO)。更有趣的是,任何 P-N 结都具有二极管的特性,这意味着你可以用 LED、光电二极管,甚至剪掉一条腿的晶体管来构建一个整流器。此外,将二极管与运算放大器结合,可以构建出近乎理想的整流电路,克服传统二极管约 0.6V 的电压降问题。

    总而言之,尽管二极管看似简单,但它在电路保护、电源管理、信号处理等领域都扮演着不可或缺的角色。它坚固、可靠且易于实验,是每个电子工程师工具箱中永恒的基石。

    你无法用 cURL 命令查询一个边境

    对于软件开发者来说,API 和 cURL 命令是与世界交互的通用语言。但当我们面对国际旅行中复杂的移民和税务规则时,会发现这些规则就像一个个封闭、不透明的“状态机”,无法用简单的 API 调用来查询。

    一位 iOS 专家分享了他如何通过构建一个“旅行编译器”来解决这个痛点。每次预订廉价机票前,他都要花费大量时间手动检查申根区的 90/180 天限制、英国的税务居住天数、护照有效期等一系列复杂且分散的规则。这些规则不仅定义模糊(例如,在英国机场转机买个香肠卷是否算“停留”),而且缺乏统一的官方数据源。

    为了应对这种“官僚主义的边缘情况”,他开发了一款名为“Residency”的本地优先应用。这款应用将他的旅行历史数据化,并根据不同司法管辖区的规则进行推理和模拟。它能提前预警潜在的违规风险,让他可以安心地预订特价机票。

    这个话题引发了广泛共鸣,尤其是在处理英国移民规则时。许多人指出,英国政府(Home Office)自身的旅行数据记录非常不完整,甚至只记录了约 50% 的行程,这导致了数千人被错误地拒绝福利。相比之下,欧盟公民则享受着申根区内部自由流动的巨大便利,这让一些经历过欧洲内部边境检查时代的人深感珍惜。

    此外,关于“数字游民”在旅游签证下远程工作是否合法的讨论也十分激烈。一些人认为这是一种被普遍“容忍”的行为,对当地经济是净收益;而另一些人则强调这本质上是逃税,并指出各国正通过推出“数字游民签证”来规范化这一现象。这个“旅行编译器”的故事,不仅是一个技术解决方案的分享,更深刻地揭示了全球化背景下,个人在 navigating 复杂的国家主权规则时所面临的挑战。

    当火柴人开始战斗:Flash 动画的黄金时代

    在 YouTube 和 TikTok 出现之前,Flash 是互联网创意爆发的引擎。一篇引人入胜的文章带我们回到了那个时代,聚焦于中国创作者朱志强的标志性作品《小小》(Xiao Xiao)系列,以及它如何点燃了全球火柴人打斗动画的热潮。

    《小小》系列以其简洁的火柴人形象、行云流水的功夫和火爆的枪战场景,在 21 世纪初迅速风靡全球。创作者朱志强并非专业动画师,他凭借对成龙电影和《龙珠》的热爱,自学 Flash,用鼠标逐帧创作,最终打造出这部被誉为“成龙式火柴人武术”的经典之作。

    然而,朱志强的成功故事也充满了早期互联网创作者的辛酸。尽管《小小》带来了巨大的流量,但将其转化为稳定收入在当时极为困难。更具争议的是,耐克在 2003 年推出的一系列广告,其风格与《小小》惊人地相似。朱志强为此起诉耐克侵权,但最终因“火柴人形象过于简单,难以获得版权保护”而败诉。这场官司不仅让他背负巨额诉讼费,也标志着《小小》系列的终结。

    这个故事引发了社区对 Flash 时代的集体怀旧。许多开发者表示,Flash 和 ActionScript 是他们编程的启蒙,其易用性吸引了大量非技术背景的创意人士。Pivot Animator、Newgrounds 等平台是那个时代创意的沃土。但同时,人们也对 Flash 的技术缺陷记忆犹新——内存泄漏、高 CPU 占用和层出不穷的安全漏洞,最终导致了它的衰落。

    尽管 Flash 已成历史,但它所代表的创意自由和“无限潜力”的时代令人怀念。朱志强的遭遇也反映了个人创作者在面对大公司时知识产权保护的脆弱性。不过,火柴人动画的魅力并未消逝,Alan Becker 的《动画师大战动画》系列以及《ToriBash》等游戏,证明了这种简洁而富有表现力的艺术形式仍在不断进化。

    我的卡车办公桌:在缝隙中创造时间

    一位在石化工厂工作的机械师兼焊工,分享了他如何在艰苦的蓝领工作中,利用碎片时间坚持写作的独特经历。他的秘密武器是一个自制的“卡车办公桌”——一块可以架在方向盘上的简易木板。

    这篇文章的核心在于“创造你自己的条件”。作者讲述了他如何在咖啡休息和午餐的短暂间隙,在卡车驾驶室这个移动的“办公室”里进行文学创作。这个故事完美诠释了如何通过即兴创作和不断尝试,在工作和生活的夹缝中为激情找到空间。

    这个故事在社区中引发了强烈共鸣,尤其是在“利用碎片时间进行深度工作”方面。许多人分享了类似的经历:在飞机上效率奇高,或是在等待孩子下课时在车后座编程。这些受限的环境和严格的时间限制,反而能减少干扰,提高专注力。有技术作者表示,他的两本书就是在工作和育儿的半小时空隙中完成的,关键在于学会快速进行“上下文切换”,并留下清晰的笔记。

    作者与办公室职员的微妙互动也引发了讨论。一些人认为,与办公室人员搞好关系或许能换来一个更稳定的工作空间。但更多人则认为,对于需要高度专注的创作来说,职场客套话是一种负担。作为一名合同工,一个随时可用、不受打扰的个人空间,远比一个需要维护人际关系的共享空间更有价值。

    无论是简陋的木板,还是现代的 Vision Pro,这个故事提醒我们:生产力不只存在于舒适的办公室,更在于我们如何创造条件,在生活的缝隙中,为自己的项目和热情找到时间和空间。

    一次友好的 Linux 进程内存之旅

    对于许多开发者来说,操作系统如何管理内存像一个黑匣子。一篇优秀的技术文章以极其友好的方式,揭开了 Linux 进程内存管理的神秘面纱,带领我们探索程序所见的内存空间背后的“幻象”。

    文章的核心观点是,你的程序看到的那个巨大、连续的内存空间,实际上是由操作系统精心构建的虚拟地址空间。Linux 通过页表(Page Tables)将这些虚拟地址映射到分散的物理内存页上。这个过程并非一蹴而就,而是采用了“惰性分配”(Lazy Allocation)策略:只有当你的程序第一次“触摸”(读取或写入)某块内存时,内核才会通过处理“页错误”(page fault)来真正分配物理内存。

    文章深入浅出地讲解了几个关键概念:

    • 虚拟内存区域 (VMAs):内核将进程的地址空间划分为多个区域,每个区域有独立的权限和后端(文件或匿名内存)。
    • 写时复制 (Copy-on-Write, CoW):fork() 系统调用创建子进程时,父子进程会共享只读的内存页。只有当其中一方尝试写入时,内核才会复制该页,这极大地提高了 fork() 的效率。
    • 性能与安全:文章还探讨了 TLB 缓存、透明大页(THP)等性能优化机制,以及为应对 Meltdown 等漏洞而生的页表隔离(PTI)等安全措施。
    • 调试工具:通过 /proc 文件系统下的 maps、smaps 和 pagemap 等文件,我们可以像侦探一样深入探查进程的内存使用细节。
    • 这篇文章的精妙之处在于,它不仅解释了“是什么”,还解释了“为什么”。现代操作系统的内存管理之所以如此复杂,是为了实现进程间的隔离性、安全性,并最大化资源利用效率。虽然有人怀念 6502 处理器时代“所见即所得”的简单内存模型,但在通用计算领域,这些复杂的抽象层是现代操作系统提供强大功能和可靠性的基石,它们将开发者从繁琐的物理内存管理中解放出来,专注于应用逻辑。

      什么是流形?

      “流形”(Manifold)是一个听起来高深莫测的数学概念,但它实际上是我们理解宇宙、数据和复杂系统的基础。Quanta Magazine 的一篇文章用通俗易懂的语言,为我们揭示了流形的本质。

      流形可以被理解为一种在局部看起来像我们熟悉的平坦空间(欧几里得空间),但整体结构可能非常弯曲或复杂的几何形状。一个绝佳的比喻是地球:当我们站在地面上时,感觉大地是平的,但从太空中看,它却是一个球体。这种“局部平坦,整体弯曲”的特性就是流形的核心。

      这个概念由 19 世纪的数学家黎曼提出,并在 20 世纪初被爱因斯坦应用于广义相对论,将时空描述为一个四维流形,引力则是这个流形的弯曲。从此,流形从纯粹的数学抽象走向了物理现实。

      流形的强大之处在于,它允许科学家和数学家使用微积分等熟悉的工具来分析复杂的、弯曲的空间。通过将流形划分为多个重叠的、可映射到平坦空间的“图表”(charts),就可以在局部进行计算,然后将结果拼接起来,从而理解整体结构。

      如今,流形的应用无处不在:

      • 物理学:描述时空和动力系统(如双摆的运动空间)。
      • 数据科学:在高维数据中寻找低维结构,例如分析大脑神经元的活动模式。
      • 代数学:将复杂代数方程的解集视为流形,以揭示其几何性质。
      • 一个有趣的语言学巧合是,汽车的“歧管”(manifold)在词源上也与数学流形有关。汽车的进气或排气歧管是将“多个”气缸的管道汇集到一起的部件,而数学上的“manifold”源自德语,意为“多样性”或“多重性”。两者都在核心语义上共享了“多”与“汇集”的概念,这巧妙地展示了抽象概念与工程术语之间的微妙联系。

        Tell HN:X 平台强制在应用内浏览器中打开所有链接

        Hacker News 社区最近的一则帖子引发了热议,用户抱怨 X(前 Twitter)平台现在会自动在应用内浏览器(Webview)中打开所有推文链接,即使用户并未主动点击。这种行为被普遍视为对用户体验和隐私的侵犯。

        社区对 Webview 的厌恶情绪非常强烈,原因主要有三点:

        1. 隐私与安全风险:Webview 允许宿主应用(如 X)监控用户的浏览行为,甚至可能注入键盘记录器或窃取密码,这让用户深感不安。
        2. 功能缺失:应用内浏览器通常不支持广告拦截器、密码自动填充等关键功能,导致浏览体验下降,广告和诈骗信息泛滥。
        3. 糟糕的多任务处理:在 Webview 中浏览时,一旦切换应用,之前的浏览状态很容易丢失,远不如在独立浏览器中方便。
        4. 除了 Webview 问题,这次讨论也暴露了用户对 X 平台更广泛的不满。许多人抱怨,对于未登录用户,X 几乎无法使用,处处是登录墙和错误信息。平台的“为你推荐”算法被指责充斥着机器人、诈骗和煽动性言论,内容质量堪忧。

          这场讨论还延伸到了关于 X 平台“言论自由”立场的激烈辩论。一些人认为平台变得更加开放,而另一些人则认为它已成为“仇恨言论”的温床,算法偏向特定政治立场。

          面对这些问题,社区成员分享了各种解决方案,例如使用浏览器扩展将 X 链接重定向到 Nitter 等第三方前端,以绕过登录墙和 Webview。同时,Bluesky 和 Mastodon 等替代平台也被频繁提及。总而言之,这次事件集中反映了用户对 X 平台在用户体验、隐私保护和内容管理方面深刻转变的失望与抵制。

          布隆过滤器:适用于那些无法扩展的搜索

          布隆过滤器(Bloom filters)是一种以空间效率著称的概率性数据结构,但它真的适合构建大规模的全文本搜索索引吗?一篇文章通过严谨的分析和有趣的失败尝试,得出了一个发人深省的结论。

          文章的出发点是,利用布隆过滤器为少量文档构建搜索索引,体积可以做到非常小,甚至比一张图片还小。作者试图将这种空间优势扩展到大型语料库,但很快发现,无论是通过排序过滤器进行二分查找,还是构建聚合过滤器的树状结构,都无法解决查询性能随文档数量线性增长的问题,这正是“维度诅咒”的体现。

          最终,作者提出了一个类似倒排索引的“倒排布隆过滤器索引”方案,虽然在技术上可行,但他最终还是判定这是一个“糟糕的主意”。原因何在?

          关键在于空间效率的权衡。布隆过滤器之所以小,是因为它用极少的位数(约 10 位)来编码每个词。但这是“每个词”,而非“每个唯一的词”。当一个常用词出现在成千上万个文档中时,倒排索引只需存储该词一次,而布隆过滤器索引则需要在每个文档的过滤器中重复编码它。计算表明,当文档数量超过约 7200 份时,传统的倒排索引在空间上反而变得更高效。

          这篇文章深刻地揭示了布隆过滤器的适用边界:它们在个体上高效,但在需要信息共享的大规模系统中,效率会迅速下降。

          那么,布隆过滤器的真正价值在哪里?其最美妙之处在于能让你“明确地知道某个东西不在这里”,而无需检查所有内容。一个绝佳的应用场景是在缓存层中快速判断一个事件是否已被处理,从而避免大量不必要的数据库查询。在这种情况下,假阳性(false positives)是可以接受的(只需回退到数据库确认),而大量的真阴性(true negatives)则能极大地提升系统性能。这提醒我们,理解每种数据结构的“甜蜜点”和权衡,是成为优秀工程师的关键。

          为 Phomemo 热敏打印机逆向工程 CUPS 驱动

          开源社区再次展示了其强大的创造力:一个开发者通过逆向工程,为一系列流行的 Phomemo 热敏标签打印机开发了 CUPS 驱动,让这些通常只能通过手机 App 控制的小巧设备,能够在 Linux 系统上自由驰骋。

          这个项目的核心在于,开发者通过嗅探 Android 应用的蓝牙数据包,成功解析了 Phomemo M02、M110、M220 等型号打印机的通信协议。这意味着,Linux 用户现在可以通过标准的打印系统 CUPS,使用蓝牙或 USB 连接这些打印机,无论是从命令行还是图形界面,都能轻松打印文本和图片。

          这个项目在社区中引发了对这类廉价热敏打印机的极大热情。这些小巧、便携、电池供电的设备非常适合整理工作区、为零件分类等日常标签打印需求。与传统标签机相比,它们能打印多字体、多行的复杂标签,灵活性更高。

          这次的讨论也揭示了不同品牌间的差异。例如,竞争对手 Niimbot 的打印机因强制要求使用内置 RFID 芯片的标签纸而受到批评,这种“厂商锁定”策略与 Phomemo 在开源驱动支持下的开放性形成了鲜明对比。

          这个 CUPS 驱动不仅解决了硬件兼容性问题,更激发了社区的创造力。有人设想将 Phomemo 打印机与 OrangePi 等小型单板计算机结合,打造一个永远在线的家庭网络打印机。这正是开源精神的体现:打破厂商的封闭生态,赋予用户控制自己硬件的自由和能力。

          历史上的今天:1988 年,莫里斯蠕虫感染了 10% 的互联网

          1988 年 11 月 2 日,一个本意是测量互联网规模的实验程序失控,在 24 小时内感染了当时约 10% 的联网计算机。这就是著名的莫里斯蠕虫(Morris worm),一个彻底改变了网络安全格局的里程碑事件。

          这个由康奈尔大学研究生罗伯特·塔潘·莫里斯(RTM)编写的程序,利用了当时 BSD UNIX 系统中 Sendmail 和 finger 程序的漏洞进行传播。由于一个编程错误,它以远超预期的速度自我复制,导致数千台计算机瘫痪,受影响的机构包括哈佛、斯坦福、NASA 等顶级学府和研究机构。

          这起事件在当时引发了巨大的震动。亲历者回忆起 Usenet 的异常安静,以及系统管理员们在凌晨手动重启服务器、禁用服务的混乱场景。莫里斯也因此成为首批根据《计算机欺诈和滥用法案》被定罪的人之一。

          关于此事的讨论也揭示了许多有趣的背景。例如,RTM 的父亲是 NSA 的计算机安全专家,也是 Unix 系统中 crypt 等工具的开发者。许多人认为,这种“深厚背景”可能影响了最终的判决,使其免于牢狱之灾。然而,也有观点认为,在那个互联网的“纯真年代”,网络安全意识普遍薄弱,法律框架尚不完善,且蠕虫并无恶意破坏的意图,因此从轻发落合乎情理。RTM 后来在学术界取得了卓越成就,也证明了他的技术才华。

          莫里斯蠕虫事件是一个警钟,它暴露了早期软件开发中对安全性的忽视(例如 gets() 函数的滥用),并催生了第一个计算机应急响应小组(CERT)的成立。它提醒我们,即使在技术飞速发展的今天,对潜在风险的警惕和对安全防护的投入,也永远不能松懈。

          相关链接:

          • Things you can do with diodes
          • You can't cURL a Border
          • When stick figures fought
          • My Truck Desk
          • A friendly tour of process memory on Linux
          • What is a manifold?
          • Tell HN: X is opening any tweet link in a webview whether you press it or not
          • Bloom filters are good for search that does not scale
          • Reverse-engineered CUPS driver for Phomemo receipt/label printers
          • This Day in 1988, the Morris worm infected 10% of the Internet within 24 hours
          ...more
          View all episodesView all episodes
          Download on the App Store

          Agili 的 Hacker PodcastBy Agili 的 Hacker Podcast