2025-06-30 Hacker News Top Stories #
- Deno 就 Oracle 侵权 “JavaScript” 商标一案提起诉讼,主张其为通用名称,案件进入发现阶段。
- 苹果通过 Wallet 应用推送 F1 电影广告,引发用户对隐私和信任的担忧。
- 作者通过模拟 CPU 风扇欺骗恶意软件,使其无法检测虚拟机环境。
- 美国国防部停止提供关键卫星天气数据,可能影响飓风预报和海冰监测。
- 作者使用 Haskell 自动化脚本解决"Passport Application"游戏,展示了自动化处理的潜力。
- Octelium 是一个开源的零信任资源访问平台,旨在替代商业 VPN 和远程访问工具。
- 加拿大音乐家 Rollie Pemberton 的经历揭示了音乐产业中艺术家难以维持生计的现状。
- 作者分享了在断电后通过 IPv6 和 WireGuard 隧道访问互联网的经历和配置方法。
- 文章探讨精神分裂症可能是人类认知能力进化的副产品,并提出"悬崖边缘适应度函数"模型。
- 布隆过滤器是一种高效数据结构,用于快速判断元素是否在集合中,文章详细介绍其原理和应用。
JavaScript Trademark Update #
https://deno.com/blog/deno-v-oracle4
在 2023 年 6 月 18 日,商标审判和上诉委员会(TTAB)驳回了 Deno 针对甲骨文(Oracle)的欺诈指控。Deno 对此决定表示不同意,并认为甲骨文在其 2019 年商标续展中故意误导美国专利商标局(USPTO),因为甲骨文提交了一张 Node.js 网站的截图来证明其对 “JavaScript” 商标的使用。Deno 的创始人认为,这一点尤其令人反感,因为 Node.js 从未是甲骨文的产品或品牌,甲骨文没有创造或运营 Node.js,也没有得到授权使用该第三方开源网站来支持其商标。这表明甲骨文缺乏更好的证据,且对此心知肚明。
然而,Deno 指出,欺诈并不是本案的核心问题。他们并不会对欺诈指控进行修正,因为这会拖延案件数月,而他们的重点在于更重要的主张:商标的通用性(genericness)和放弃(abandonment)。Deno 认为 “JavaScript” 这个术语用于描述一种编程语言,而不是一个品牌,它不是甲骨文的产品,而是世界上最流行的编程语言。
接下来的程序将快速进行。甲骨文必须在 8 月 7 日对 Deno 的撤销请求中的每一段落做出回应,要么承认,要么否认关于商标通用性和放弃的主张。Deno 对甲骨文的回应充满期待,并希望看到甲骨文将如何反驳。
发现阶段将于 9 月 6 日开始。Deno 强调,大家都知道 JavaScript 并不是甲骨文的产品,截至目前,有 19,550 人支持这一观点(在 javascript.tm 网站上)。Deno 认为,该商标并不服务于公众、行业或商标法的目的,这是错误的。
如果 Deno 赢得了这一撤销请求,或者甲骨文做出正确的决定,放弃该商标,那么 JavaScript 将会自由,不再有商标符号(™),也不再有许可的担忧。JavaScript 将成为一种属于所有使用它的人的编程语言。
HN 热度 855 points | 评论 319 comments | 作者:thebeardisred | 1 day ago #
https://news.ycombinator.com/item?id=44407139
- 有人提议将 JavaScript 更名为"WebScript",因为这个名字更符合 Web 技术栈,并且没有商标问题。
- “WebScript"可以解决 JavaScript 与 ECMAScript 之间的混淆问题,更清晰地表达浏览器中的 JavaScript。
- 有人认为改名为"WebScript"可能会让招聘经理和招聘人员感到困惑。
- 有人认为使用"ECMAScript"作为名称更合适,因为生态系统中已经有很多以"es"开头的术语。
- 有人担心改名为"WebScript"可能不会流行起来,因为"ECMAScript"这个名称已经存在,并且从未被期望承担市场营销的责任。
- 有人认为"WebScript"提供了一个新的、没有包袱的名称,可以象征一个新的开始。
- 有人提到,如果改名为"WebScript”,可能会在招聘过程中引起误解,因为自动化系统可能会匹配关键词,而忽略了不在系统中的新名称。
- 有人回忆起早期 JavaScript 被称为 LiveScript 的历史,并提到了 CoffeeScript 的创始人 Jeremy Ashkenas 与 LiveScript 的关系。
More on Apple’s Trust-Eroding ‘F1 the Movie’ Wallet Ad #
https://daringfireball.net/2025/06/more_on_apples_trust-eroding_f1_the_movie_wallet_ad
这篇文章由 John Gruber 撰写,发表于 2025 年 6 月 27 日,讨论了苹果公司通过 Wallet 应用推送 F1 电影广告的决策对用户信任的破坏性影响。
文章开头提到了一个关于苹果推送广告的幽默笑话,指出如果用户认为苹果的 Wallet 应用是值得信任的,并且愿意将更多的个人物品从传统钱包转移到数字钱包中,那么苹果就不应该在 Wallet 中推送广告。作者强调,没有公司能够在用户的物理钱包中插入广告,因此苹果在 Wallet 中推送广告的决定是破坏性的。
文章进一步阐述了,不仅仅是广告本身令人讨厌,更重要的是苹果的 Wallet 应用应该是神圣不可侵犯的,类似于密码和日记应用。苹果要求用户信任这个应用,管理他们的财务、身份证件和钥匙。作者认为,苹果推送 F1 电影广告的行为可能会让用户误以为 Wallet 应用在跟踪他们的兴趣和活动,比如用户最近使用 Apple Wallet 购买了其他夏季大片的电影票,然后收到了这个广告,这会让用户感到不安,并得出苹果 Wallet 在跟踪他们的结论。
作者强调,这次广告推送完全破坏了苹果其他团队为使 Apple Wallet 真正私密所做的努力,更重要的是,破坏了让用户相信其私密性的努力。他认为,隐私的感知与使某物真正私密的技术细节同样重要。
最后,作者表示,他很少呼吁解雇某人,但他认为授权通过 Wallet 推送通知发送这部电影广告的人应该被解雇。文章还提到了苹果在 2025 年全球开发者大会(WWDC)前一周的一些简短思考和观察,以及苹果宣布为遵守欧盟最新的 DMA 指令而对应用程序政策进行的全面但复杂的变更。
HN 热度 798 points | 评论 507 comments | 作者:dotcoma | 16 hours ago #
https://news.ycombinator.com/item?id=44411069
- Apple Wallet 应用在 App Store 中,F1 广告事件直接违反了 App Store 指南。
- 苹果可能不需要遵守自己制定的 App Store 指南。
- 指南适用于任何使用 App Store 的人,除非有特定的法律豁免。
- 苹果不需要通过开发者账户来同意 App Store 的条款。
- 苹果作为 App Store 的运营者,不会起诉自己违反规则。
- 苹果与第三方有合同,允许他们在 App Store 分发应用。
- 反垄断机构不喜欢苹果作为 App Store 的守门人,它不应该偏袒自己的应用。
- App Store 指南不是法律,而是由运营 App Store 的公司制定的规则。
- 许多主要应用经常违反推送通知不应用于促销或直接营销的条款。
- Uber 违反了这一规定,没有提供关闭促销通知的选项。
- 有些应用的营销偏好设置隐藏得很深,但确实有效。
- Uber 没有提供有效的关闭促销通知的选项,即使在菜单中关闭了,仍然会收到。
- 即使现在可以在菜单中关闭这些通知,它们的定义可能仍然是法律上的,而不是实际意义上的“选择加入”。
- Instagram 的通知设置无法禁用几乎每天的“为你推荐”和“趋势”通知。
- 公司经常会重置设置,使得他们的垃圾邮件通知能够通过。
- Meta 应用在手机上生成大量通知,点击后不会导向应用商店的着陆页,而是导向无意义的首页。
- Instagram 网页版经常需要重新加载才能打开。
- 在 Facebook 或 Instagram 上,用户经常被 OnlyFans 模特骚扰,这与同一平台上与家人互动的环境不符。
- Meta 的许多做法看起来像是没有人在管理,比如应用通知和网页加载问题。
- 长期来看,用户敌意会导致人们不再使用这些服务。
I made my VM think it has a CPU fan #
https://wbenny.github.io/2025/06/29/i-made-my-vm-think-it-has-a-cpu-fan.html
这篇文章讲述了作者如何让虚拟机(VM)模拟出拥有 CPU 风扇的情况,以此来欺骗某些恶意软件(malware),使其不再检测到自己运行在虚拟环境中。文章的目的是为了让安全研究人员在分析这些恶意软件时能够减少一些复杂性。
文章首先解释了为什么恶意软件会检查自己是否运行在虚拟机上,这是因为它们想要避免在虚拟环境中运行,以增加分析的难度。作者提到,恶意软件有多种方式来检测虚拟硬件,例如通过 WMI(Windows Management Instrumentation)类,如 Win32_Fan、Win32_CacheMemory、Win32_VoltageProbe 等。
接着,作者详细介绍了计算机是如何通过读取 SMBIOS(System Management BIOS)数据来识别 CPU 风扇的。Win32_Fan 实例是由 Windows\System32\wbem\cimwin32.dll 提供的,该文件通过读取 SMBIOS 数据(特别是类型 27 的条目)来获取风扇设备信息。
文章中提到,作者没有选择使用 DLL 钩子和补丁 cimwin32.dll 的方法,而是选择了一种更好的方式。SMBIOS 类型 27 被定义为“Cooling Device”,作者通过使用 dmidecode 工具来转储 SMBIOS 数据,并展示了如何通过修改 Xen 虚拟机的配置文件来设置自定义的 SMBIOS 数据。
在设置自定义 SMBIOS 数据的过程中,作者遇到了一些挑战。最初,他尝试通过设置 smbios_firmware 选项来定义 CPU 风扇,但发现 Xen 并不支持覆盖所有预定义的结构。在查阅了 Xen 的文档和补丁档案后,作者发现需要对 Xen 源代码进行修改,以便支持自定义的 SMBIOS 类型 27 和 28 数据。
文章最后,作者成功地在虚拟机中模拟出了 CPU 风扇,并通过 WMI 查询验证了这一点。他通过在 Windows 虚拟机中运行 wmic 命令,成功地获取到了 CPU 风扇的描述和状态信息,证明了虚拟机现在认为它拥有一个 CPU 风扇。
总的来说,这篇文章详细描述了作者如何通过技术手段在虚拟机中模拟硬件设备,以欺骗恶意软件,使其不再检测到自己运行在虚拟环境中。这个过程涉及到了对 SMBIOS 数据的理解和操作,以及对 Xen 虚拟机配置的修改。
HN 热度 376 points | 评论 78 comments | 作者:todsacerdoti | 10 hours ago #
https://news.ycombinator.com/item?id=44413185
- 新的反恶意软件策略:购买无风扇冷却的 PC,并设置俄罗斯键盘。
- 即使使用无风扇冷却的 PC,主板上仍然会有风扇接口,因此需要让操作系统认为没有风扇。
- 可以通过外部温度控制的 PWM 控制器来控制风扇,而不需要主板上的风扇控制器。
- 让操作系统看起来像虚拟机可以提高安全性,使恶意软件作者难以直接访问资源。
- 反作弊软件供应商可能会因为这种策略而受损,因为他们依赖于能够识别出软件是否运行在虚拟机上。
- 许多消费级主板的 SMBIOS 描述与实际硬件关系不大,这可能导致基于 SMBIOS 的恶意软件在一半的硬件上失败。
- 有些主板即使在 Linux 下也会因为 ACPI 固件问题而导致突然关机。
- 微软允许公司通过 UUID 锁定他们并不拥有的机器,这看起来像是犯罪行为。
- OEM 厂商错误地重复使用 UUID,破坏了“谁的设备”这一链条。
- 需要更柔和的恢复流程来应对大规模错误。
US Defense Department will stop providing satellite weather data #
https://text.npr.org/nx-s1-5446120
美国国防部将停止提供关键的卫星天气数据,这一决定将使飓风预报员在大西洋飓风季高峰即将到来之际失去关于风暴的关键信息。超过 40 年来,国防部一直运营着收集大气和海洋条件信息的卫星。海军中的一个小组,称为舰队数值气象和海洋学中心,处理这些卫星的原始数据,并将其交给科学家和天气预报员,用于实时飓风预报和测量极地海冰等多种目的。本周,国防部宣布将不再提供这些数据,根据国家海洋和大气管理局(NOAA)发布的通知。
奥尔巴尼大学的飓风研究员布莱恩·唐表示,他对国防部停止与科学家和预报员共享数据感到惊讶,因为这些数据对于飓风预报和监测海冰等重要特征至关重要。海军没有回应关于为何停止与科学家共享数据的问题。负责卫星的美国太空部队发言人在声明中表示,卫星和仪器仍然功能正常,即使在切断科学家的访问权限的同时,国防部也将继续使用它们。科罗拉多州一个依赖即将终止的国防部数据追踪海冰的联邦资助研究中心——国家冰雪数据中心的主任马克·塞雷兹表示,这不是资金削减的问题,而是存在网络安全问题。
国防部收集卫星天气信息是因为它在全球各地都有船只和飞机在运行,需要了解海洋和大气条件。但国防部的数据也允许飓风预报员实时看到飓风的形成和监测。例如,飓风专家可以看到新形成的风暴中心位置,从而尽早确定风暴可能的移动方向,以及风暴是否会登陆。这对于需要尽可能多时间来决定是否疏散和准备家园以抵御风和水的人们来说非常重要。数据还允许预报员看到风暴中心新形成的眼墙,这可能表明飓风即将加强。例如,唐表示,国家飓风中心的预报员使用国防部卫星的数据观察到飓风埃里克在本月早些时候越过太平洋时形成了一个圆形眼墙,这是一个非常好的迹象,表明风暴即将比计算机模型预测的更快加强,这使得预报员能够提前发布警告。飓风埃里克以破坏性的 3 级飓风袭击了墨西哥。
NOAA 表示,失去国防部的数据不会导致今年的飓风预报变得不准确。NOAA 通信主管金·多斯特在声明中表示,NOAA 的数据源完全能够提供一整套尖端数据和模型,确保美国人民应得的黄金标准天气预报。唐表示,其他由 NASA、NOAA 和其他国家运营的卫星也收集类似的数据。但由于飓风形成和加强的速度非常快,预报员需要尽可能接近实时的信息,这就需要尽可能多的卫星,因为没有一个传感器总是指向特定的风暴。没有国防部的数据,预报员在风暴内部当前条件的了解将出现更大的时间间隔,这可能导致预报员对飓风突然加强感到意外。随着地球变暖,大型、快速加强的飓风变得越来越普遍。在登陆前迅速增强的风暴特别致命,因为人们几乎没有时间准备和疏散。
国防部卫星也是关于海冰变化的主要实时信息来源。海冰数据之所以重要,有很多原因。由于气候变化,北极和南极的永久海冰正在迅速缩小,而且每年的海冰量波动很大。在任何给定的年份或季节,北极的海冰量会影响国际航运决策,因为当北极周围的海冰减少时,船只可以采取更短的全球航线。在地球的另一端,海冰有助于减缓南极冰川的融化,如果这些冰川崩溃,可能会导致灾难性的海平面上升。现在,由于国防部的决定,六个广泛使用的关于两极海冰的数据集将被中断。国家冰雪数据中心的主任塞雷兹表示,他们多年来一直非常依赖这些数据。他表示,国防部已经警告他,这些数据在 9 月之后将不再可用。然后,本周,截止日期被提前到 6 月 30 日。塞雷兹说,这个 6 月 30 日的最后期限真的让他们措手不及,所以他们必须迅速行动以整理事情。塞雷兹的团队已经计划切换到一个替代的海冰信息源:日本政府运营的卫星上的一个传感器。美国通过 NASA 和日本政府航天机构之间的协议可以访问该传感器的数据。但他们原以为他们有几个月的时间来完成切换,这需要大量的劳动密集型校准。现在他们只剩下几天的时间就会失去美国的数据。塞雷兹说,这是一个打击。而这正发生在一个破纪录的年份中:到目前为止,在 2025 年,北极的海冰量比 1979 年卫星记录开始以来的任何一年都要少。
HN 热度 285 points | 评论 144 comments | 作者:drewr | 24 hours ago #
https://news.ycombinator.com/item?id=44409175
- 美国国防部停止提供卫星天气数据可能会影响小国家,因为他们没有足够的基础设施和人力维护太空项目
- 历史上在战争时期也发生过类似情况,限制卫星图像获取
- 可能是为了限制关于气候变化的坏消息,或是为了政治原因
- 可能是为了建立私人公司来销售相同的数据
- 可能是为了隐藏某些行动,避免微波数据泄露
- 这是执行 Project 2025 计划的一部分
- 这个计划在 2015 年被取消,现在终于结束了,有替代方案
- 补充了 JPSS 系统,DMSP 卫星的替代品是 WSF-M 系统
- 防御部门的数据对飓风预测至关重要,可以帮助预测飓风形成和实时监控
- 公众为这些数据付费,故意隔离数据以确保它不能拯救美国人的生命不仅是盗窃,而且与邪恶无异
- NOAA 表示失去国防部数据不会降低飓风预测的准确性
- NOAA 的数据显示完全能够提供最先进的数据和模型,确保美国人应得的黄金标准天气预报
- 有人怀疑 NOAA 的声明,因为发言人是特朗普任命的,之前是气候变化否认专家
- 特朗普政府喜欢雇佣伊拉克信息部长类型的人作为发言人
- 由于天气超出了所有人的理解范围,没有数据能改变这一点,因此预测不会变得不准确
- 有人怀疑特朗普政府发言人会发布批评特朗普政府决定的声明
- 有人建议每周提交信息自由法(FOIA)请求
- 有人担心处理 FOIA 请求的人员被解雇了
- 投票给罪犯、小偷和骗子的后果,白宫和财政部周围竖起了尖刺
- 美国公民可能会因此死亡,但仍然会投票给他们
- 投票差距并不压倒性,但包括那些本可以采取行动却失败的人,确实有很多人允许这种情况发生
- 通过预算控制来实施行政权力,这是非常关键的沟通时刻
- 有人提到“Weather: Last Week Tonight with John Oliver”节目,暗示这是控制气候变化叙事的尝试
- 有人担心这是为了控制气候变化的叙述,与 NOAA 和其他气候相关政府机构的影响一致
- 有人引用电影《不要抬头》中的台词,暗示现在应该坐下来评估情况
- 有人指出“坐下来评估”可能是电影《不要抬头》中的引用,这部电影讽刺了像特朗普这样的政府
- 有人提到“坐紧和评估”可能是电影《不要抬头》中的引用,这部电影(过于直接地)讽刺了像特朗普这样的政府
- 有人提到股市新高和免费 AI 给大众
- 有人引用 Project 225 的内容,提到要解散 NOAA,因为它已成为气候变化恐慌行业的主要推动者
Solving Passport Application
with Haskell
#
https://jameshaydon.github.io/passport/
这篇文章讲述了作者如何使用编程方法解决一个名为“Passport Application”的在线游戏。这个游戏由英国的“His Majesty’s Passport Office”(HMPO)开发,是一种文化现象,尽管费用昂贵,但大多数英国人大约每十年会玩一次。游戏的目的是收集足够的文件,证明“申请人是英国人”,根据一系列复杂的规则,这些规则写在被称为“议会法案”的各种文本中。游戏的奖品是一本小册子,里面有一个日期,指示你何时可以再次玩游戏。
游戏开始时相对简单,只需要输入申请人的基本事实并拍照。但随着游戏的深入,会出现各种支线任务,设计得很有趣。HMPO 有时会让你进行“身份确认”的支线任务,需要找到一个特定职业的人,如会计师或公务员,甚至还有一些有趣的职业,如足病医生、殡仪馆馆长和飞行员。找到这样的人后,需要说服他们填写一些网络表格。
游戏的主要机制是提交“原始”文件。如果文件不是英文的,需要附上“官方认证的翻译”。有时,这会引发一些有趣的支线任务,比如“如何获得一份在日本持有的法国结婚证的认证翻译,并将其与原件一起邮寄给 HMPO”。
一些文件涉及家庭成员,因此需要让全家人一起参与合作模式。当然,你必须从一些官僚机构那里请求一些文件,这些机构也有自己的神秘游戏规则。
整个游戏过程既有趣又充满挑战,可能需要几周到几个月的时间才能完成。虽然非英国人理论上不应该玩这个游戏,但由于证明英国身份是游戏的全部目的,实际上是对所有人开放的。作者鼓励大家尝试。
这次,作者代表他的女儿玩游戏,因为他最近已经完成了游戏,而且他的女儿还太小,不能自己玩。作者在线选择了“在国外出生的第一个孩子的护照”难度级别,预计从一开始就相当具有挑战性。在等待一轮后,第一轮文件请求出现了。
文件请求中有很多文件,大多数看起来与主要目标无关,但这就是游戏的一部分。作者开始收集这些文件,但有些文件很难获得,所以他决定使用聊天功能。你的游戏由一个被称为“审查员”的人处理,他们根据对规则的解释,让你去收集文件。为了增加难度,你不能直接与这个人沟通,只能通过聊天或电话服务与“建议代理”交谈。这些代理提供关于支线任务的建议,但他们所说的都不是官方的。他们可以将问题传达给审查员,但这会引发几天的等待时间,有时长达 10 天,这是用来增加悬念的策略。
聊天服务很快告诉作者,最初请求的 50% 的文件是不必要的;这只是一场误导!所以又一轮等待,然后是更多的文件请求。你通过电子邮件收到文件请求,这些请求伴随着一些模糊的解释,这些解释在一定程度上有所帮助,但仍然足够模糊,以保持游戏的趣味性。例如,为什么作者没有对__APPLICANT_NAME__的亲子责任?列出的条件之一是“在孩子的出生证明上被命名”,作者已经是这样了,并且已经发送给他们,连同日文到英文的翻译。也许他们还需要证明第一个条件的证据,尽管第二个条件已经满足,尽管这个文件在过程的早期没有被请求。无论如何,作者无法满足第三个条件。也许一些自动化系统搞砸了;破损的 HTML 模板表明,也许在某个数据库中 APPLICANT_NAME == NULL,谁知道呢。
又一轮文件请求,一个是不存在的文件,又一轮帮助热线。与 NPC 进行更多的对话树探索,找到了通往目标的替代路径,更多的文件。这最终导致了一份罕见的文物请求:申请人的祖父的出生证明和结婚证明。这些文件中的一个几乎有 100 年的历史!当然,申请人的祖父是模棱两可的,因为大多数人有两个,但这是游戏的一部分,也是乐趣所在。在解密这个请求为申请人的父亲的父亲的父亲的出生证明后,作者开始思考为什么会要求这样一份遥远的文件。与建议代理接触并没有太大帮助,一个解释了为什么需要 birthCirt(father2(applicant)),尽管这个文件已经在他们手中,而作者询问的是 birthCirt(father3(applicant)),然后承认他们不能说为什么需要这个。
那么,这里到底发生了什么呢?理解 HMPO 在“Passport Application”游戏中使用的逻辑类型很重要。它被称为官僚逻辑,它源自于构造逻辑,你不能只是提出有效的论点,那太容易了,你必须构造特定性质的证明来支持它们。构造逻辑有见证人,官僚逻辑有原始文件。
例如,像构造逻辑一样,HMPO 不允许你使用排中律:P∨¬P(P 或非 P)通常不成立。游戏玩法受到诸如“申请人的父亲的父亲是在英国出生还是不在英国出生?”等问题答案的影响。但你不能简单地说“这两个中的一个是真的”,然后为两种结果提供文件。那将使用排中律。你必须选择一个替代方案,并为那个方案提供文件。这就是为什么重要的是要记住,这不是为了实际证明公民身份,对于公民身份来说,排中律将是一个完全有效的论点,“Passport Application”是关于收集文件的乐趣。不要过多地质疑规则,否则你将不再享受乐趣。
这个谜题的第二部分是伴随着文件请求的指导:
英国护照是发给那些根据 1981 年英国国籍法案有英国国籍要求的人。这主要由一个人的出生地和出生日期以及他们父母的出生地和出生日期来决定。1982 年 12 月 31 日之后在英国境外出生的人通常只有在出生时,一个父母是英国公民,而不是通过血统,例如通过在英国出生或注册或归化为英国公民。
请注意,一个人的英国身份可能取决于他们父母的英国身份。这个谜题的最后部分是 HMPO 不信任自己的护照记录来证明英国身份。这是在某些情况下,引发递归文件请求的机制,直到达到基本情况。基本情况是什么?
HN 热度 283 points | 评论 111 comments | 作者:jameshh | 1 day ago #
https://news.ycombinator.com/item?id=44408872
- 政府服务软件常常因为法律变更而需要修改,导致成本高昂和系统僵化。
- 政府外包工作给昂贵的咨询公司,这些公司倾向于延长合同以最大化利润。
- 政府项目采购常常基于不完整的书面规格,导致项目失败。
- 政府项目失败时,由于沉没成本和乐观偏见,往往选择削减功能而非承认失败。
- 政府项目中存在委托代理问题,与私营部门不同,政府缺乏足够的激励机制。
- 私营部门可以通过股权或延期薪酬部分解决委托代理问题,但政府项目中利润动机有限。
- 政府项目失败时,政治上级可能因短期选举考量而不愿意承认失败。
- 政府员工难以被解雇,缺乏工作激励,导致工作质量不高。
- 政府服务缺乏竞争,用户无法选择替代服务,导致服务质量难以提升。
- 政府合同选择过程标准化,导致无法选择真正能制作好软件的公司。
- 承认项目失败会导致责任追究,因此政府倾向于假装一切正常并支付费用。
- 软件项目中缺乏第三方监督,导致项目质量难以保证。
- 欧洲计算机科学研究项目被视为一种无实质产出的资金获取方式。
- 政府合同审批者可能与咨询公司有利益关联,导致合同审批不公正。
- 政府缺乏内部技术能力,无法想象和执行革命性的技术架构改革。
- 外包在政府项目中鲜有成功案例,常常导致成本高昂和项目失败。
Show HN: Octelium – FOSS Alternative to Teleport, Cloudflare, Tailscale, Ngrok #
https://github.com/octelium/octelium
Octelium 是一个免费开源的自托管统一零信任资源访问平台,旨在成为远程访问 VPN 和类似工具的现代替代品。它足够通用,不仅可以作为零配置远程访问 VPN(例如 OpenVPN Access Server、Twingate、Tailscale 等的替代品),还可以作为 ZTNA 平台(例如 Cloudflare Access、Google BeyondCorp、Zscaler Private Access、Teleport、Fortinet 等的替代品),以及安全的隧道基础设施(例如 ngrok 的替代品)。此外,Octelium 还可以作为 API 网关、AI 网关、MCP 网关和 A2A 架构的基础设施、类似 PaaS 的平台,用于安全和匿名托管部署容器化应用程序,以及 Kubernetes 网关/入口/负载均衡器,甚至是家庭实验室的基础设施。
Octelium 提供了一个可扩展的零信任架构(ZTA),通过基于身份的、应用层(L7)感知的无密钥安全访问,通过私有客户端基于 WireGuard/QUIC 隧道的访问以及公共无客户端访问(即 BeyondCorp),为用户(包括人类和工作负载)提供对任何 NAT 后私有/内部资源的安全访问,以及通过基于策略的代码对公共受保护资源(如 SaaS API 和数据库)的上下文感知访问控制。
以下是 Octelium 的一些主要用例:
- 现代远程访问 VPN:作为商业远程访问/企业 VPN 的现代零信任 L-7 感知替代品,提供零配置客户端基于 WireGuard/QUIC 隧道的访问以及通过动态身份基础的、L-7 感知的、上下文感知的访问控制(通过策略代码)实现的无密钥访问。
- 统一 ZTNA/BeyondCorp 架构:作为零信任网络访问(ZTNA)平台/BeyondCorp 架构。
- 自托管安全隧道基础设施:作为自托管的安全隧道和可编程反向代理基础设施。
- 自托管 PaaS:作为可扩展的 PaaS 类托管/部署平台,用于部署、扩展和提供容器化应用程序的安全和匿名公共托管。
- API 网关:作为自托管、可扩展、安全的 API 网关,负责访问、路由、部署和扩展容器化微服务,以及认证、L-7 感知/上下文感知授权和可见性。
- AI 网关:作为可扩展的 AI 网关,提供基于身份的、上下文感知的访问控制、路由和可见性。
- 统一零信任访问 SaaS API:提供统一的、无密钥的访问控制,消除了通常长期/过度权限的 API 密钥和访问令牌的分发和共享,为团队和工作负载/应用程序提供对所有基于 HTTP 的 SaaS API 的访问,可以通过策略代码按请求控制访问。
Octelium 的安装和使用指南、有用的链接、许可和支持信息也在文档中提供。该项目在 GitHub 上开源,拥有 981 个星标和 22 个分支,遵循 AGPL-3.0 和 Apache-2.0 许可证。
HN 热度 269 points | 评论 102 comments | 作者:geoctl | 12 hours ago #
https://news.ycombinator.com/item?id=44412207
- Octelium 是一个开源、自托管的统一平台,用于零信任资源访问,是现代企业 VPN 和远程访问工具的替代品。
- Octelium 的核心功能包括理解高级协议的 VPN 网关和基于 Kubernetes 的集群配置层,可以构建个人云环境。
- 有人期待 Octelium 这样的开源项目能够与 TailScale 等商业服务形成竞争,以防止潜在的价格上涨。
- 有人担心商业服务在占领市场后会提高价格或降低服务质量。
- 有人提到了其他竞争产品,如 ZeroTier 和 EasyTier,以及 Nebula 和 Netbird 等。
- 有人询问 Octelium 是否完全依赖于 Kubernetes,希望它只是一个可选的集成,而不是部署的先决条件。
- 开发者回应称,Octelium 可以作为一个分布式系统运行在多个节点上,虽然目前需要 Kubernetes,但未来可以移植到其他编排器上。
The Death of the Middle-Class Musician #
https://thewalrus.ca/the-death-of-the-middle-class-musician/
这篇文章讲述了加拿大音乐家 Rollie Pemberton(艺名 Cadence Weapon)的音乐生涯和音乐产业的现状。文章从 Pemberton 青少年时期在家乡埃德蒙顿开始说唱讲起,那时他通过互联网磨练技艺,逐渐在音乐博客圈崭露头角。2003 年,他开始为美国音乐杂志 Pitchfork 撰写专辑评论,随后他的歌曲“Oliver Square”在埃德蒙顿的电台播放,引起了关注。
文章接着描述了 Pemberton 与多伦多独立唱片公司 Upper Class Recordings 签订的合同,这份所谓的 360 度合同为他提供了 1000 美元的预付款,但唱片公司将从他未来的所有收入中抽成,包括专辑、门票和商品销售。尽管 Pemberton 知道合同条件不理想,但他在 2006 年还是签了,因为他认为这可能是他成名的唯一机会。
Pemberton 的名声确实上升了,他的首张专辑《Breaking Kayfabe》获得了 Exclaim!杂志的封面故事和 Polaris Prize 的提名。他发行了更多音乐,参加了格拉斯顿伯里和洛拉帕卢扎音乐节,为萨沙·特鲁多的生日派对 DJ,并在 2010 年加拿大国庆日在议会山为女王伊丽莎白二世表演。埃德蒙顿市甚至选他为市诗人,CBC 也让他参加了其图书大战节目《加拿大阅读》的评审团。从外表看,Pemberton 似乎已经取得了巨大成功。
然而,幕后的 Pemberton 却勉强维持生计,依靠自由写作、非正式 DJ 表演、季节性零售工作和 Upper Class 支付的额外预付款来维持生活。根据合同,唱片公司有权收集他的收入分成,直到完全回收预付款和数万美元的投资。结果,尽管他每年演出数百场,却赚不到钱。
Pemberton 计算,在 2006 年至 2015 年间,他为 Upper Class 带来了超过 25 万美元的收入。唱片公司收集了他从《Breaking Kayfabe》巡演中赚取的 2.5 万美元,他的 1 万美元诗人费用,以及他所知道的六位数的补助金。除了从 Upper Class 收到的 1.213 万美元预付款外,他只看到了一小部分版税。
Pemberton 开始反抗,询问他何时能开始赚钱,但发给唱片公司的数十封电子邮件未得到回应。他在 2022 年的回忆录《卧室说唱歌手》中写道:“我开始怀疑我的职业生涯是建立在纸牌屋上的。”那时,唱片公司实际上已经停止运营。Upper Class 在给《海象》杂志的声明中声称,它“从未回收对 Cadence Weapon 的投资,仍然亏损”,并且“所有费用都由唱片公司承担,任何收入都重新投资于他作为艺术家的发展”。唱片公司继续说:“我们也对尽管我们有共同的抱负,事情没有按预期发展感到失望。可悲的现实是,这个国家的大多数音乐家都不赚钱。大多数独立唱片公司也是如此。”
2021 年,Pemberton 终于摆脱了 Upper Class,发行了《平行世界》,赢得了 5 万美元的 Polaris Prize。幸运的是,他的新唱片公司 MNRK Music Group 让他保留了这笔奖金。
文章还提到,粉丝们几乎完全从黑胶唱片和 CD 转向了 Spotify 和 Apple Music 等流媒体平台,这些平台支付的版税最多只有半美分每次收听。在流媒体平台上,Pemberton 的歌曲中只有少数几首赚了几百美元。即使是他最商业成功的单曲“Connor McDavid”,在七年内被播放了超过一百万次,也只给他带来了不到 3000 美元的收入。
文章最后讨论了音乐产业对经济的重要性,音乐家雇佣经理、代理人、公关人员、音频工程师、制作人和其他艺术家。现场音乐让场馆保持运营,为引座员和保安提供有偿工作,并卖出大量的啤酒。2023 年,加拿大大约有 19000 场音乐会,参加这些音乐会的人们为当地的出租车司机、餐馆和酒店带来了收入。旅游非营利组织 Destination Toronto 估计,泰勒·斯威夫特的六晚演出为该市带来了超过 1.5 亿美元的收入。这只是现场音乐在 2023 年为加拿大国内生产总值贡献的近 110 亿美元中的一小部分,创造了或支持了超过 10 万个工作岗位。这个生态系统的持续健康取决于工作艺术家创造艺术的能力。当音乐家能够支付房租、在餐桌上放食物时……
HN 热度 266 points | 评论 600 comments | 作者:pseudolus | 1 day ago #
https://news.ycombinator.com/item?id=44408552
- 经济不平等是导致各行各业难以谋生的根本问题,需要通过基本收入、财富税等广泛解决方案来应对。
- 认为政府应该提供基本收入以保障艺术家的创作安全,但这种想法过于理想化。
- 反对将税收用于资助无法谋生的全职艺术家,认为应该让工人保留更多的收入。
- 认为工人保留更多收入并不能保护他们的利益,因为富人能够保留更多收入并利用这些收入来影响政治。
- 认为工人应该保留更多的收入,而不是将税收用于资助艺术家。
- 认为政府不应该介入分配工人的税收,而应该让工人通过购买音乐和参加音乐会来直接支持艺术家。
- 认为财富只是纸面上的所有权,真正的资源浪费在于消费,而超级富豪无法消费太多。
- 认为中位数的人在“保护自身利益”方面的能力只是平庸。
- 认为降低税收并不能解决出租车司机等低收入群体的问题,因为他们的工资本身就不高。
- 认为降低税收对那些支付大量税收的人更有利,而这些人受税收资助福利计划取消的影响最小。
- 认为如果出租车司机保留所有工资仍然无法谋生,那么出租车司机这个职业就不应该存在。
Using the Internet without IPv4 connectivity #
https://jamesmcm.github.io/blog/no-ipv4/
这篇文章是由 James McMurray 在他的博客上发表的,主题是“不使用 IPv4 连接上网”。文章发表于 2025 年 6 月 27 日,讲述了作者在一次意外中断 IPv4 连接后,如何依靠 IPv6 连接和一些技术手段保持互联网可用性的经历。
文章背景: 作者一天早上醒来发现家中断电,重置断路器后,除了无法连接到 GitHub 和其他一些网站外,一切恢复正常。经过与 ISP(互联网服务提供商)联系,作者意识到问题仅与 IPv4 服务器有关,而 IPv6 服务器连接正常。这解释了为什么像谷歌和 Meta 这样的网站可以正常访问,但许多其他网站不行。作者通过 ping 和 traceroute 命令确认了这一点,问题似乎与运营商级别的 NAT(CG-NAT)有关,导致 IPv4 流量丢失。
NAT(网络地址转换)解释: 文章接着解释了 NAT 的工作原理。NAT 允许多个设备共享一个 IP 地址,例如家庭路由器可能只分配一个公共 IPv4 地址,由所有设备共享。路由器通过替换数据包中的源 IP 地址(例如设备的本地 IP 地址)来实现这一点,并使用 conntrack 系统记录原始的源 IP 和端口。当数据包被转发时,源地址被替换为路由器的公共 IP 和唯一端口,conntrack 使用映射将目的地改写回原始设备的内部 IP 和端口。
IPv6 解释: 与 IPv4 相比,IPv6 拥有几乎无限的地址空间,因此不需要使用 NAT。IPv6 地址是 128 位的,提供了约 3.4E38 个地址。这意味着家庭路由器可以接收/64 子网,提供 1.84E19 个地址,足够所有智能设备使用。因此,家庭路由器不需要 NAT,所有设备都可以直接从互联网上被访问,没有端口转发问题。但这也需要路由器或设备本身设置适当的防火墙规则,以防止来自互联网的随机新连接。
WireGuard 隧道解决方案: 由于许多网站仍然不支持 IPv6,作者需要通过隧道将 IPv6 流量转换为 IPv4 流量,以恢复 IPv4 功能。作者计划在 VPS 上设置 WireGuard,并使用 IPv6 地址作为客户端的端点。一旦隧道建立,IPv4 流量应该可以正常工作,尽管通过 VPS 会有更高的延迟。作者分享了他的 WireGuard 配置文件,包括服务器端和客户端的设置,以及如何启动和启用 WireGuard 服务。
文章最后,作者提到了他之前使用 vps2arch 在他的服务器上安装 Arch Linux 的经历,这使得他能够在熟悉的环境中操作。他还提到了 Hetzner 提供的 Debian 镜像作为基础,并指出用户也可以手动安装 Arch Linux,通过 Hetzner 的 ISO 镜像挂载功能。
HN 热度 248 points | 评论 109 comments | 作者:jmillikin | 15 hours ago #
https://news.ycombinator.com/item?id=44411273
- 通过 VPS 的 IPv6 隧道访问 IPv4 互联网,称为 4in6。
- ISP 在 IPv4 出现问题时,用户会经历完全的断网状态,而 IPv6 出现问题则会导致部分服务中断和缓慢启动。
- 大多数消费者网站现在可以在 IPv6 上正常工作,但一些仅配置了 IPv4 DNS 服务器的路由器会导致完全中断。
- POSIX bug 跟踪器和 Meta Quest 软件不支持 IPv6。
- 一些 ISP 会定期破坏 IPv4,导致中型网站服务中断。
- 通过在服务器上端口转发 v6 到 v4,可以节省每月每台服务器 0.50-2 美元的费用。
- 许多网站和云服务都通过 IPv6 正常工作,即使 IPv4 出现问题。
- IPv6 问题难以诊断和重现,存在许多“在我的机器上工作”的情况。
- 由于 ISP 对 IPv6 连接的处理不当,导致软件触发不常见的超时和回退机制。
- 许多 ISP 仍然完全阻止 IPv6,因为小企业尝试一次后就忘记更新 AAAA 记录。
- 在美国,Google 的流量中 IPv6 已经占多数。
- 发展中国家由于地址不足,没有太多选择。
- Hurricane Electric 提供了多年的隧道服务,但需要 ISP 分配的公共 IPv4 地址。
- 由于 HE 隧道被标记为滥用,许多网络服务开始设置障碍或拒绝工作。
- CGNAT 不会自然破坏 HE 隧道,但建立隧道的一方需要满足一些要求。
Schizophrenia is the price we pay for minds poised near the edge of a cliff #
https://www.psychiatrymargins.com/p/schizophrenia-is-the-price-we-pay
这篇文章探讨了精神分裂症在进化上的谜题,即为什么这种降低生育能力的精神疾病在全球范围内仍有大约 1% 的终生患病率。文章首先指出,传统的进化理论,如亲缘选择、突变-选择平衡和进化不匹配,并不能充分解释这一现象。如果与精神分裂症相关的风险基因没有受到正向选择,我们预期这些基因会在数千年内从基因库中被清除,但实际情况并非如此。
文章提出了一种解决方案,即考虑将精神分裂症视为“悬崖边缘的适应度函数”。这一假设最初由精神病学家 Randolph Nesse 在 2004 年提出,并由 Philipp Mitteroecker 和 Giuseppe Pierpaolo Merola 进一步形式化。Nesse 简洁地描述了这一概念:“我认识到,具有不对称适应度函数的特征是特殊的;它们在系统失败、适应度从悬崖边缘跌落之前,会给予越来越大的优势。”
在精神分裂症的情况下,可以假设某些认知、语言或社会特征增加了适应度并受到进化的正向选择,但当这些特征超过临界阈值时,会导致灾难性的后果。该模型设想了一个连续的、可遗传的特征,它在某个点之前增强了繁殖适应度,但超过这一点后会急剧下降。自然选择将特征稳定在悬崖下方,但一小部分个体会超过这个点,遭受剧烈的适应度损失。
文章还讨论了适应度景观和悬崖边缘函数的概念。生物学家经常使用适应度景观的隐喻来可视化特征如何在自然选择下进化。想象一个三维地形,不同的特征值对应于不同的繁殖成功的海拔高度。对于某些特征,如鸟类翅膀长度,适应度在中间值达到峰值,形成平缓的山坡。过长或过短的翅膀都会带来劣势,使鸟类不太可能在环境挑战中生存。在稳定选择下,种群趋向于适应度最大化的中间地带。这一模式也适用于行为特征,例如兔子:那些冒险过多的可能会被天敌吃掉,而过于谨慎的则可能无法觅食足够以生存。最高的适应度在于一个温和的区域——适度的大胆,足以进食但不至于死亡。自然选择将种群平均值推向那个最佳点,但突变和个体变异仍然在两端产生异常值,结果更糟。
在某些情况下,当特征朝一个方向推动时,适应度会继续增加。然后,超过一个阈值后,适应度会骤降。赛马的繁殖说明了这一点。选择速度导致了越来越长、越来越细的腿骨。更细的骨头也更有可能骨折。选择性繁殖将赛马种群推向悬崖边缘。结果是更快的马,但也导致了如此脆弱的腿,以至于马在比赛中的一个失误就可能导致致命的骨折。
Nesse 假设同样的逻辑可能适用于人类认知能力的进化。我们的心智可能就像赛马的腿。使我们能够进行抽象推理、语言和复杂社会认知的特征可能——当超过某个阈值时——崩溃,导致严重障碍,并表现为精神分裂症。在悬崖边缘场景中,自然选择倾向于一个特征值,这个值略低于顶峰——不是因为它对每个人都是最优的,而是因为这样做可以最大化整个种群的基因传递。一个没有人从悬崖上掉下来的平均值将是最优化健康的,但不幸的是,进化优化的是基因传递。因此,特征的平均值被设定得略低于悬崖,确保大多数个体保持健康,但由于不可避免的变异,一小部分人会掉下悬崖并生病。
文章最后提到,许多在人类中进化的特征在典型条件下运行得非常好,但当被推向狭窄限制之外时,容易灾难性失败。例如,出生时的大脑大小:较大的新生儿大脑赋予认知优势,但在没有现代产科干预的环境中,即使头围略有增加,也可能对母亲和婴儿都是致命的。错误的余地是无情的。免疫系统也以类似的方式运作。风险很高,未能发动足够的防御可能意味着死亡。因此,选择塑造了免疫系统的积极反应,但这种同样的积极反应可能会误射,转向身体自己的组织。进化优化了一个平均值,大多数人从积极的免疫系统中受益,一小部分人发展出自身免疫条件。
HN 热度 228 points | 评论 339 comments | 作者:Anon84 | 1 day ago #
https://news.ycombinator.com/item?id=44408286
- 有观点认为,有遗传倾向的精神分裂症患者使用迷幻药时更容易出现精神病症状。
- 一些评论指出,即使没有家族精神病史,大麻等药物也可能诱发潜在的精神分裂症。
- 有评论提到,在欧洲和美国的医学教育中,某些娱乐性药物可能诱发潜在精神分裂症被认为是已知事实。
- 有观点提到,青春期和成年早期是精神分裂症发病的高风险期,但生活压力和药物等因素在任何年龄都可能触发精神病和潜在的精神分裂症。
- 有评论认为,过度的精神活动后突然失去专注点可能是触发精神分裂症的因素之一。
- 有评论指出,孤立和缺乏社交可能是精神分裂症症状恶化的原因之一。
- 有观点提到,即使在没有药物治疗的情况下,有些人也能控制精神病症状,但未来可能会恶化。
- 有评论强调,精神病和精神分裂症如果不治疗,可能会随着时间恶化,而及时治疗可以改善预后,甚至可能完全康复。
Bloom Filters by Example #
https://llimllib.github.io/bloomfilter-tutorial/
布隆过滤器(Bloom Filter)是一种高效且节省内存的数据结构,用于快速判断一个元素是否在某个集合中。布隆过滤器的特性是概率性的,它可以告诉我们一个元素 “肯定不在集合中” 或 “可能在集合中”。
基本原理 #
布隆过滤器的核心数据结构是一个位向量(Bit Vector)。在这个位向量中,每一个空位代表一个比特位,索引用来表示这些比特位的位置。当我们向布隆过滤器中添加一个元素时,会对这个元素进行多次哈希运算,并将哈希结果所对应的位设为 1。通过这种方式,添加多个元素后可能会有多个元素的哈希值指向同一个位,从而导致一些位被多个元素设置为 1。
要测试一个元素是否在集合中,我们同样对这个元素进行哈希运算,然后检查这些哈希值对应的位。如果某个位是 0,说明这个元素肯定不在集合中;如果所有对应位都是 1,则可能在集合中,但不能确定,因为其他元素也可能设置了这些位。
进阶话题 #
- ** 哈希函数 **:布隆过滤器所用的哈希函数应独立且均匀分布,且尽可能快速。常见的哈希函数包括 Murmur、xxHash、Fnv 系列等,避免使用如 MD5 等加密哈希函数,因为其速度较慢。
- ** 布隆过滤器的大小 **:布隆过滤器的一个优良特性是可以调整其假阳性率。增大过滤器的大小可以降低假阳性率,反之则提高。假阳性率的公式为 ((1-e^{-kn/m})^k),其中 n 为预计插入的元素个数,m 为位数,k 为哈希函数的数量。
- ** 如何选择哈希函数数量 **:哈希函数数量越多,布隆过滤器的插入和查询速度越慢,但假阳性率会下降。选择的数量 k 应基于对 n(插入元素个数)的预估来进行优化。
性能和空间效率 #
布隆过滤器的插入和成员测试的时间复杂度都是 O (k),这意味着每次操作只需运行 k 个哈希函数。其空间效率也与可接受的错误率相关,若无法合理估计将插入的元素个数,使用散列表或可扩展的布隆过滤器可能更合适。
应用场景 #
布隆过滤器可用于多种应用,包括网络、数据库查询优化、缓存系统等。它们在大规模数据处理中尤其有用,如生物信息学等领域。
参考资料 #
- Broder 和 Mitzenmacher 的论文《Network Applications of Bloom Filters: A Survey》提供了很好的概述。
- 维基百科上的布隆过滤器页面也提供了全面的信息。
- Kirsch 和 Mitzenmacher 的论文《Less Hashing, Same Performance》探讨了更高效的哈希方法。
- Almeida 等人的《Scalable Bloom Filters》则介绍了可扩展布隆过滤器的概念。
通过这些知识,布隆过滤器成为了处理大数据时一种非常实用且高效的工具。
HN 热度 170 points | 评论 26 comments | 作者:ibobev | 12 hours ago #
https://news.ycombinator.com/item?id=44412370
- 作者提供的互动部分很好,建议增加展示哈希碰撞的例子,让用户输入一个字符串并测试另一个,以展示为什么结果是“可能在集合中”而不是“是”。
- “bloom”和“demonstrators”(注意末尾的空格)在 FNV 和 Murmur 哈希算法中发生碰撞。
- 文章非常适合那些听说过布隆过滤器但一直没深入了解的人,是很好的入门介绍。
- 有人分享了自己在 2009 年用 CUDA 编写布隆过滤器的经历,以及如果当时继续 GPU 编程可能会赚很多钱的想法。
- 有人提到,如果当时投资比特币可能会赚得更多。
- 有人最近使用布隆过滤器实现了日志消息反垃圾功能,通过哈希消息并插入过滤器,如果条目存在就不输出消息,效果不错。
- 另一个布隆过滤器的可视化可以在网页末尾找到。
- 对于可能变小的集合,可以在进行大量成员检查时投机性地添加一个 64 位布隆过滤器和简单的哈希函数。
- 有人在 Chromium 中使用布隆过滤器,包括 Safe Browsing、querySelector()、CSS 桶中的哈希查找预过滤和寻找特定 Aria 属性时快速拒绝元素。
- 布隆过滤器只需要工作一两次就能弥补它们不贡献任何好处的所有成本。
- 有时可以制作没有误报的理想过滤器,如果你提前知道你可能的元素并且没有插入太多。
- 布隆过滤器、随机权重哈希和累积流量图是理解复杂分布式系统操作的关键概念。
- 分布式哈希表架构也很重要,如 circle、chord、CAN 和 kademlia 等。
- 另一个值得阅读的布隆过滤器文章来自 Eli Bendersky。
- 有人通过维基百科上的 32 位 MurmurHash 函数实现了布隆过滤器,并发现它非常简单。
- 布隆过滤器的概念与集合和哈希表的重叠度约为 95%,布隆过滤器就是利用多对一哈希“压缩”键空间的集合。
- 布隆过滤器使用多个哈希函数来减少碰撞。
- 布隆过滤器可以被视为只跟踪有数据的桶但不跟踪实际数据的哈希表。
- 如果你理解了布隆过滤器,你离理解随机投影和某些局部敏感哈希的实现也很近了。
- 有人欣赏互动帖子,并提到布隆过滤器在流行程序中的使用列表。
- 有人通过调试 Cassandra 读尖峰时了解到布隆过滤器,发现默认的误报率太高,调整后减少了无用读取,提高了读延迟。