2024-01-23

50 篇热帖

1. Tell HN: Hacker News now supports IPv6
4. Free Godot engine port for Nintendo Switch (www.rawrlab.com)

本文是关于Godot引擎免费移植到Nintendo Switch版本的常见问题解答。

该移植版本并非由RAWRLAB Games单独创建,而是由Nintendo Developer Portal论坛的多位成员共同完成,RAWRLAB Games是贡献者之一。此移植版仅对任天堂授权开发者开放,需通过Nintendo Developer Portal获取。

该移植版不是由Godot Foundation官方维护的,但已经过商用游戏测试(如《Tiny Garden》和《Operation Steel》),适合商业游戏开发。使用此移植版可以部分解决移植问题,但完整的主机移植工作仍需要针对平台进行优化和满足特定要求。

使用该移植版发布游戏不存在法律风险。其采用MIT许可证授权,但由于访问受任天堂开发者协议限制,未经任天堂授权不得公开分发。将SDK函数名替换为哈希值后公开分发的方案存在法律模糊地带。

未来是否会支持更多功能、Godot新版本或移植到PS/XBOX平台尚不确定,但每次使用该移植版发布游戏都会促进其发展。开发者可通过Godot基金会网站捐赠,或通过使用移植版并贡献修复、以及购买相关移植/咨询服务来支持项目发展。

5. Framework Laptop 16 Review (www.phoronix.com)

这是一个Cloudflare验证页面的HTML代码,旨在保护网站(如phoronix.com)免受自动化访问。页面标题为"Just a moment...",要求用户启用JavaScript和cookies以继续。

目的: 作为安全挑战页面,用于区分人类用户和机器人,确保访问合法性。页面显示在访问“Framework Laptop 16 Review”文章时被触发。

结构: HTML代码包括基本元素:<head>部分定义元数据(如字符集、视口)、样式和安全策略;<body>部分包含一个主内容区域,在JavaScript禁用时显示错误消息("Enable JavaScript and cookies to continue"),并运行一个脚本来处理Cloudflare挑战。

关键功能:

  • 脚本设置Cloudflare挑战参数(如cFPWv、cH、cITimeS等),并动态加载挑战脚本(从/cdn-cgi/challenge-platform/...)。
  • 使用history.replaceState管理URL,避免重复挑战。
  • 页面包含自动刷新机制(meta http-equiv="refresh" content="360"),可能在一定时间后重新加载。
  • 安全策略限制资源加载,仅允许来自Cloudflare的脚本、样式等,以增强安全性。

此页面不包含实际文章内容,而是作为访问前的安全门卫,确保只有通过验证的用户才能查看目标内容。

6. Modder re-creates Game Boy Advance games using the audio from crash sounds (arstechnica.com)

本文介绍了一项独特的技术实验:通过录制Game Boy Advance游戏机崩溃时的声音来重建游戏ROM数据。

该技术由模组开发者TheZZAZZGlitch发现。当GBA游戏崩溃时,其硬件会发出一系列声音,这些声音实际上包含了该游戏ROM的部分数据内容。开发者注意到,在崩溃发生后约1小时50分钟的声音文件中出现了特征波形,之后能听到游戏中的实际乐器声和音频样本。

技术实现过程

  1. 需要将崩溃的GBA连接到专用硬件,录制长达4小时以上的完整崩溃转储声音。
  2. 崩溃声音的主体部分是以13,100 Hz采样率传输的8位二进制数据,听起来非常混乱。
  3. 开发者用两天时间编写并调试了一个Python脚本,用于读取干净的崩溃音频录音并将其转换为ROM数据。
  4. 主要难点在于ROM文件中存在大量全为0字节的空白区域,这些在声音中表现为静音,难以正确解析。
  5. 通过另一个脚本根据ROM原始位置重新对齐数据段后,最终重建的ROM文件与原始ROM相比达到了99.76%的准确率。

重要说明

  • 该方法目前并非实用解决方案,需要针对不同格式的源数据进行大量调音工作。
  • 开发者坦言,从崩溃声音中还原数据在技术上需要已知部分原始ROM数据来“表面化”未知数据,这类似于一种“作弊”。如果完全在未知情况下进行,只能依靠假设和猜测。
  • 虽然存在更简单、更常规的方法从卡带中获取GBA数据,但此方法以其独特性和“音频数据挖掘”的体验感而显得与众不同。
7. Is the emergence of life an expected phase transition in the evolving universe? (arxiv.org)

文章提出了一个关于生命的新定义,并基于此认为生命在宇宙中的出现是预期的相变,但其持续开放的创造性演化并非由定律所决定。

核心观点与定义
生命被定义为能够实现催化闭合、约束闭合和空间闭合的“康德式整体”。作者首次结合了两个已有的数学理论:

  1. 集体自催化集理论:指出在宇宙化学演化中,随着分子多样性和复杂性的增加,系统会经历向分子复制的一阶相变
  2. 邻近可能理论:假设系统从少量初始分子开始,通过分子间组合反应,分子种类数量将缓慢增长后呈超指数爆发

主要结论
这两个理论共同表明:生命作为宇宙演化中的一种相变是预期的。生命硬件与软件的区分在活细胞中失去意义。此外,作者提出了新的研究方向,包括代谢系统发育研究、系外行星生命探测的天文方法、原始生命涌现的实验探索,以及原核生物(具备模板复制与编码)形成路径的可检验途径。

理论意义
该框架试图将生命起源从偶然事件提升为宇宙化学演化过程中的必然阶段,为理解生命的普遍性及寻找地外生命提供了新的理论基础。

8. LoRA from scratch: implementation for LLM finetuning (lightning.ai)

本文档是Lightning AI平台上一个名为“Code LoRA from Scratch”的模板页面的HTML源码。该模板旨在通过从零开始编码的方式,深入讲解LoRA(Low-Rank Adaptation)技术,这是一种高效微调大语言模型的流行方法。

核心内容与目的:

  1. 主题:专注于解释LoRA的工作原理,并通过实践编码来实现它。
  2. 目标:作为一项教学练习,帮助开发者深入理解该算法的内部机制(“looking under the hood of an algorithm”)。
  3. 平台:该内容托管在Lightning AI平台上,是一个可公开查看的模板(template)。

页面技术细节:

  • 包含用于配置Monaco编辑器环境(如TypeScript、HTML等语言支持)的脚本。
  • 集成了Google Tag Manager用于分析。
  • 设置了详细的Open Graph和Twitter Card元数据,用于社交媒体分享,显示了模板的预览图、标题和描述。
  • 包含对Lightning AI平台本身的描述性结构化数据(JSON-LD)。
  • 主体部分仅为一个空的根挂载点(<div id="root"></div>)和加载入口脚本,表明该页面的实际教程和交互内容是通过前端JavaScript动态渲染的。

总结:这并非一篇传统的技术文章,而是一个指向Lightning AI交互式Studio模板的页面。其核心价值在于提供一个“从零实现LoRA”的编程实践环境,旨在帮助用户通过亲手实现来理解该微调技术,而非直接展示文本说明。完整的教程和代码实现需访问该模板所在的Lightning AI平台。

9. Another Roman dodecahedron has been unearthed in England (www.smithsonianmag.com)

英格兰出土新罗马十二面体

诺顿迪士尼历史与考古小组在英国林肯郡的诺顿迪士尼村进行为期两周的挖掘时,志愿者意外发现了一件罗马十二面体。该小组秘书理查德·帕克称此为“一生难忘的发现”。

文物特征

这件中空文物由铜合金制成,大小如葡萄柚。它有12个平面,每面有圆形孔洞和凸起的角钉。与其他常被发现为碎片或损坏的同类文物不同,此件保存完好、无损坏,且尺寸较大。小组认为其铸造工艺精湛,标准高。

全球发现现状

此发现使在罗马不列颠出土的十二面体数量增至33件,而在罗马帝国西北省份共已发现约130件。尽管最早的十二面体可追溯至公元1世纪,但历史记录中无任何对其用途的记载,使其成为考古学上的持久谜团。

关于用途的争论

已有的理论认为它们可能是测量设备、日历、权杖装饰、武器或工具。但诺顿迪士尼小组否定了大部分理论,指出该文物由“粘稠”的含铅金属铸造,质地脆弱,且制作耗时耗力,不可能用于日常用途;它们尺寸不一,故非测量工具;也无磨损痕迹,故非工具。

小组倾向于支持一些专家的观点,即十二面体可能用于宗教或仪式目的。比利时的高卢-罗马博物馆研究人员曾假设罗马人在魔法仪式中使用这些物品,并可能解释了它们在历史记录中的缺失:随着罗马帝国最终皈依基督教,法律禁止魔法,从业者不得不将仪式及相关物品保密。

当前展示与研究

该十二面体近期在BBC的《Digging for Britain》节目中亮相,现于附近的国家内战中心:纽瓦克博物馆展出。小组希望进一步的科学测试能揭示其可能用途和目的的更多线索。

11. scrapscript.py (bernsteinbear.com)

Scrapscript 语言概述 Scrapscript 是一种小型、纯函数式、内容可寻址、网络优先的编程语言,旨在创建简单易分享的小程序。由 Taylor Troesh 创立,主要实现由 Max 和 Chris 完成。

开发历史

  • 动机:Max 和 Chris 于 2023 年在 Hacker News 发现 Scrapscript,但当时无可运行实现。他们主动联系 Taylor,提出协助开发。
  • 实现选择:Taylor 提供了 JavaScript 原型实现,但 Max 和 Chris 基于对 Python 的熟悉,决定用 Python 编写新实现,注重可读性和正确性。
  • 开发过程:通过半定期交流,三人协作开发,并于三周后公开仓库。

实现设计决策

  • 自包含:核心功能无外部依赖,易于理解和移植。
  • 测试驱动:在词法分析、语法解析、求值等各层级进行单元测试和集成测试,确保行为符合预期,并支持重构。
  • 选择 Python:仅为作者熟悉度,非技术必要。

解释器特点

  • 标准树遍历:实现一个增强的 lambda 演算解释器,暂无性能问题。
  • 新模式匹配:实现了以前未实现过的模式匹配功能。
  • 协作开发:首次与他人合作从头实现语言。

实现亮点

  • REPL:支持行编辑、补全、续行等特性。
  • 可移植可执行文件:使用 Cosmopolitan 库构建跨平台单文件可执行程序,Docker 镜像仅 25.5MB。
  • Web REPL:通过无状态 Python 服务器和 JS 客户端实现在线交互环境,支持对象序列化。

开发中功能

  • 循环对象序列化:处理带循环引用的对象序列化。
  • 替代类型:实现完整的替代(sum)类型支持。
  • Scrapyards:探索以 Git 为后端的版本化存储方案。
  • 平台支持:如基于 Web 请求的模式匹配路由原型。
  • 编译器:用 Scrapscript 编写编译器,计划编译到 JS 以实现在浏览器中运行。

未来计划

  • 开发图形 API 或平台。
  • 完善编译器,实现 Scrapscript 在浏览器中的原生运行。

参与方式 文章鼓励读者尝试 Web REPL,并参与开源仓库的开发。

12. Winlator: Android app that lets you to run Windows apps with Wine (winlator.org)

Winlator是一款Android应用程序,允许用户通过Wine和Box86/Box64在移动设备上运行Windows(x86_64)应用程序。该项目对Wine开发者和ptitSeb表示了特别感谢,认为没有他们对Box86/Box64的持续开发和Wine的不断改进,该项目将无法实现。

该项目依赖并整合了多项第三方技术与组件,包括:来自Termux Pacman的GLIBC补丁、Wine兼容层、ptitseb开发的Box86/Box64、Mesa图形驱动(含Turnip/Zink/VirGL后端)、DXVK(DirectX到Vulkan的转换层)、VKD3D(Direct3D 12到Vulkan的转换层)、D8VK、CNC DDraw、Ubuntu Focal Fossa根文件系统以及PRoot工具。

13. Loro's rich text CRDT (www.loro.dev)

Loro 的富文本 CRDT 算法实现了符合 Peritext 标准的富文本协作,并且可以在任何列表 CRDT 算法之上构建,从而将它们转化为富文本 CRDT。

背景与动机

Loro 基于事件图行走者(Eg-walker)算法。该算法结合了 OT 和 CRDT 的优点:具备分布式 P2P 协作能力,在无并发编辑时具有接近 OT 的最小开销。它通过 DAG 记录操作历史,仅需记录操作的原始描述(如文本编辑中的索引),而非 CRDT 元数据,从而简化了状态。Eg-walker 通过重放部分历史来精确定位操作位置并合并远程更新。

Peritext 是首个讨论富文本 CRDT 的论文,旨在合并富文本格式(如粗体、斜体、评论)时最大限度地保留用户意图。它解决了样式编辑冲突、样式与文本编辑冲突以及不同样式的文本扩展行为差异等问题。

然而,原始的 Peritext 无法直接用于 Eg-walker,原因有二:

  1. Peritext 通过字符的操作 ID 表示样式范围,而 Eg-walker 无法在不重放历史的情况下确定这些 ID 的确切位置。
  2. Peritext 的行为依赖于上下文状态(例如,插入字符时其样式取决于周围是否有样式边界),这违反了 Eg-walker 的“局部回溯就足够”所依赖的“同一操作无论当前状态如何都产生相同效果”的原则。

Loro 的富文本 CRDT 算法

为解决上述问题,Loro 提出了新的富文本算法。

核心概念:样式锚点

Loro 使用一种特殊的零长度控制字符,称为样式锚点。每个样式由一对开始锚点结束锚点定义,它们属于同一个样式操作,并包含:

  • 样式操作的操作 ID
  • 样式的键值对
  • 样式的 Lamport 时间戳
  • 样式扩展行为:定义在样式边界前或后新插入的文本是否应继承该样式。

确定字符样式的规则:找到所有包含该字符的、由同一操作创建的样式锚点对。对于具有相同键但不同值的多个样式对,选择 Lamport 时间戳最大的值(若时间戳相同,则使用 Peer ID 决定)。

本地行为与文本插入

由于样式锚点对用户而言长度为零,一个 Unicode 索引可能对应多个有效插入点。

  • 插入文本:Loro 根据规则选择插入位置(在开始锚点之前、在样式结束锚点之后或之前),以确保符合用户预期(例如,在粗体文本后继续输入时文本为粗体,但在超链接后输入时则不继承链接样式)。优先规则可防止意外创建新样式。
  • 删除文本:使用额外的映射层避免删除范围内的样式锚点。
  • 删除样式:通过添加一个新的、值为空的样式锚点对来模拟。

算法可在本地移除冗余的样式锚点(如不包含文本的锚点,或互相抵消的样式锚点)。所有这些行为都独立于具体的列表 CRDT。

合并与强最终一致性

  • 合并远程更新:Loro 将样式锚点视为特殊元素,与文本一样使用底层的列表 CRDT(如 Fugue)来解决并发冲突。富文本逻辑与特定列表 CRDT 无关,因此该算法可以建立在任何列表 CRDT 之上。
  • 强最终一致性:算法的内部状态是一个元素列表(文本段或样式锚点)。该内部状态通过上游的列表 CRDT 保证强最终一致性。相同的内部状态将推导出相同的富文本文档,因此相同的更新集将产生相同的富文本文档,证明了算法的强最终一致性。

符合 Peritext 标准

Loro 的算法通过了 Peritext 论文中定义的所有测试用例,成功处理了:

  1. 并发格式化和插入
  2. 重叠格式化(例如,合并两个重叠的粗体范围)。
  3. 多类型样式和撤销样式(使用 Lamport 时间戳决定最终值)。
  4. 在样式边界处插入文本(正确继承粗体等样式,但不继承链接等样式)。
  5. 支持重叠的样式(如评论):采用 __ 前缀加用户自定义后缀的方式创建唯一样式键,以避免与普通样式冲突,并简化库代码和应用代码。

实现概述

Loro 的实现遵循 Eg-walker 的特性,维护两个主要结构:

  • OpLog:记录操作历史。
  • DocState:仅存储当前文档状态。

对于富文本,Loro 在内部复用基于 Fugue 的列表 CRDT,富文本相关逻辑集中在 RichTextCrdt 中。文档状态的表示分为两个优化的数据结构:

  1. TextCrdt:一个 B+ 树,用于存储文本和样式锚点,并支持多种索引格式(Unicode、UTF-16、UTF-8、实体索引)。内部节点缓存子树的不同编码长度,以实现高效查找。
  2. StyleCrdt:另一个 B+ 树,专门用于高效更新和查询样式范围。内部节点存储子树的摘要信息。

这种分离旨在优化性能:样式信息通常具有良好的连续性,适合用较少的节点表示,而文本结构则不适合在叶节点存储大量内容。

在插入新字符时,算法会查找目标位置,并根据相邻样式锚点的类型和扩展规则,决定是插入在其左侧还是右侧。

测试与使用

Loro 为 Peritext 的标准编写了测试并通过,并进行了广泛的模糊测试(模拟协作、同步和时间旅行)以验证强最终一致性和内部不变性。

使用 Loro 富文本模块前,需要定义样式配置,为不同的键指定扩展行为(如 afterbeforebothnone)以及是否允许重叠。

总结

Loro 提出了一种新的富文本 CRDT 算法,其核心是通过“样式锚点”来表示样式范围。该算法满足 Peritext 的意图保留标准,并且最重要的是,它独立于特定的列表 CRDT 算法,因此可以建立在像 Eg-walker 这样的优秀算法之上,实现了多种 CRDT 优势的结合。该算法已通过严格测试,并正在持续改进中。

14. FTC bans TurboTax from advertising 'free' services, calls deceptive advertising (www.cnn.com)

FTC禁止TurboTax使用“免费”服务虚假宣传

美国联邦贸易委员会(FTC)于周一发布最终裁决,认定报税软件TurboTax存在虚假广告行为,并禁止该公司在非全面免费的情况下宣传“免费”服务。

核心违规事实

FTC指出,TurboTax通过广告宣传“免费”报税服务,但实际多数用户不符合免费条件(例如零工经济收入者、农场收入者等),此举违反《FTC法》并欺骗消费者。该案最早于2022年由FTC提起诉讼。

裁决关键内容

  1. 全面禁止虚假免费宣传:Intuit(TurboTax母公司)不得在任何产品或服务未对所有客户免费时使用“免费”宣传。
  2. 强制披露义务:若提供有限免费服务,需在广告附近明确披露实际符合条件的用户比例,或说明服务并非对大多数消费者免费。
  3. 全面透明要求:需清晰、显著地披露获得“免费”服务的所有条款、条件和义务。
  4. 其他限制:禁止在价格、退款政策、税收抵免/扣除能力等方面进行虚假陈述。

Intuit回应与上诉

  • Intuit周一称将向联邦巡回法院上诉,称该裁决“存在严重缺陷”。
  • 公司批评FTC程序不公,称该机构同时担任“指控者、法官、陪审团和上诉法官”。

相关背景

  • 2023年5月,Intuit已就类似指控与全美50个州达成和解,需向约440万用户支付赔偿(平均30美元,最高85美元)。此前调查源于2019年报道,指控其通过操纵网络搜索将符合条件的用户引导至付费服务。

FTC强调,该裁决旨在纠正TurboTax“掠夺性和欺骗性营销”对低收入纳税群体造成的损害。

15. Responses to unicycling (www.ncbi.nlm.nih.gov)

对独轮车骑行反应的研究摘要

这项由Sam Shuster开展的研究,观察并记录了人们对一位中性着装、无表演意图的独轮车骑行者的反应,旨在探究其背后的生物性现象。

研究方法

作者在退休后因兴趣开始练习独轮车,并在公共场所骑行时进行系统性观察。为保持刺激的一致性,他采用相同的衣着和中立的骑行态度。研究记录了超过400人的反应,关注其年龄、性别和社会阶层。

主要发现

  1. 总体反应:超过90%的人有身体反应(如注视、挥手、微笑等),近50%的人有言语反应。不到5%的人无反应,约1-2%的人表现出愤怒或恐惧。
  2. 显著的性别差异
    • 女性反应:约95%的女性言语反应表示赞美、鼓励或对安全的关心(如“真棒”、“这一定很难”)。
    • 男性反应:仅25%的男性表示赞美或中性,而75%的男性反应是尝试幽默,且常带有贬低、挑衅的意味。这些“笑话”高度重复,约66%围绕“轮子数量”、“没车把”或“部件丢失”等主题(如“丢了一个轮子?”、“没找到车把吗?”)。
  3. 反应的演变
    • 儿童期:无论男女,主要表现好奇。
    • 男孩成长期:从约11-13岁开始,反应逐渐转为身体和言语上的攻击性(如试图干扰、扔石子)。
    • 男性成年期:身体攻击减少,演变为更具技巧性、掩饰攻击性的重复式幽默“调侃”,并在驾驶等情境下显露原始攻击性。
    • 女性:青春期反应转为含蓄,成年后发展为以赞美和关心为主导的模式。
  4. 其他影响因素:较高社会阶层男性、年长男性及少数族裔的反应更趋向认可。年轻男性驾驶员常表现出强烈的攻击性行为。

讨论与结论

作者认为,反应的显著一致性、年龄演变轨迹及巨大性别差异表明,这可能反映了深层的生物机制。最直接的解释是雄激素(如睾酮)驱动的攻击性。男性反应从童年的直接好奇,演变为青少年及成年早期的攻击性,最终升华(或掩饰)为具有攻击性内核的幽默“调侃”,这一过程与男性睾酮水平的生命周期变化曲线相吻合。相比之下,女性的赞美和关心反应可能代表了一种未受雄激素强烈影响的、更基础的人类反应模式。

研究结论指出,幽默可能源于由雄激素引发的攻击性。这一发现为理解幽默的进化起源、其性别差异(男性更易使用和欣赏攻击性幽默)以及幽默在性选择中可能的作用(作为吸引异性的工具)提供了新的视角。

16. Google and AT&T invest in Starlink rival for satellite-to-smartphone service (arstechnica.com)

AST SpaceMobile卫星直连智能手机技术取得重要进展

技术突破与测试成果 AST SpaceMobile在2023年实现了两项关键技术里程碑:4月,其测试卫星成功完成了与标准智能手机(三星Galaxy S22)的首次双向语音通话,通话通过AT&T频段从美国得克萨斯州米德兰市连接至日本乐天。9月,该公司宣布实现了“前所未有的5G连接”,即通过未改装的普通智能手机与太空卫星建立了语音和数据连接,并达到了14Mbps的下载速度。

卫星部署与性能规划 AST SpaceMobile的原型卫星BlueWalker 3于2022年9月由SpaceX火箭发射升空,其设计拥有巨大的相控阵天线表面(693平方英尺),可电子化生成、导向和塑造通信波束,功能类似于地面蜂窝网络基站。根据2020年公布的早期计划,公司最终规划部署243颗卫星。首批用于商业运营的五颗卫星预计在2024年3月31日前发射,目前正于得克萨斯州的设施中制造。 当前原型卫星通过5MHz信道提供数据服务。而计划中的运营卫星,其波束设计可支持高达40MHz的容量,有望实现最高120Mbps的数据传输速度。

广泛的运营商合作网络 AST SpaceMobile已与全球移动网络运营商签署了超过40项协议或谅解备忘录,这些合作伙伴总计服务超过20亿用户。除沃达丰和AT&T外,合作方还包括乐天移动、贝尔加拿大、Orange、西班牙电信、TIM、MTN、沙特电信公司、Zain KSA、阿联酋电信、印尼电信、Telkomsel、Smart Communications、Globe Telecom、Millicom、Smartfren、阿根廷电信、Telstra、Africell以及Liberty Latin America等。

与Starlink的竞争态势 尽管SpaceX的Starlink已拥有超过5,000颗卫星提供家庭互联网服务,并计划发射数万颗卫星,但在蜂窝卫星服务领域,其领先AST SpaceMobile的优势并不巨大。就在AST SpaceMobile公布5G连接成果的几周前,SpaceX发射了首批六颗可向标准LTE手机提供蜂窝传输的Starlink卫星,并通过T-Mobile手机之间的短信演示了该技术。这表明,旨在直接连接普通智能手机的太空竞赛正在加速。

17. Scientists report asymmetry between heating and cooling (phys.org)

西班牙和德国科学家领导的一项新研究发现了加热比冷却更快这一根本性的不对称性,挑战了传统预期。研究成果发表于《自然·物理》期刊。

核心发现与挑战传统认知 传统上,加热和冷却被视为热力学中对称的、遵循相似路径的过程。然而,这项研究揭示,加热过程在速率上始终快于冷却过程。为解释这一现象,研究团队引入了“热运动学”这一新理论框架。

研究动机与实验方法 研究人员(来自西班牙格拉纳达大学的 Raúl A. Rica Alarcón 教授和德国马克斯·普朗克多学科科学研究所的 Aljaz Godec 博士)探讨了这一基础问题的动机源于对加热效率更高这一日常现象的长期好奇。他们利用光镊技术捕获由二氧化硅或塑料制成的单个微米粒子,并将其悬浮在水中。通过精确控制水温变化(模拟热浴)并追踪粒子因布朗运动而产生的随机轨迹,团队在实验上观测并量化了微观系统在热弛豫过程中的动力学。

微观过程与理论框架 在微观层面,加热涉及向系统粒子注入能量,加剧其运动;冷却则涉及能量释放,减弱其运动。研究团队开发了“热运动学”理论框架来解释观测到的不对称性。该框架结合了随机热力学(经典热力学在随机轨迹层面的推广)与信息几何学,通过在概率分布空间中定义“距离”和“速度”,从数学上证明了加热快于冷却这一效应的普遍性,适用于任意两个温度之间的转变。

意义与未来展望 这一发现的潜在应用包括优化布朗热机(一种利用温差做功的微型机器)的性能,通过理解系统与不同热浴的热化过程来提高功率生成效率。未来,该研究有望推动在微马达、微尺度货物运输以及可自组装或自修复材料等领域的应用发展。研究团队计划将成果扩展到其他物理协议和系统,例如涉及粒子间相互作用的系统或时间反演对称性破缺的系统,并继续同步推进实验与理论的发展。

18. Why the fuck are we templating YAML? (2019) (leebriggs.co.uk)

为什么我们还在用YAML做模板?(2019) - 要点总结

核心论点

作者在2019年cfgmgmtcamp会议上提出尖锐观点:当开始使用YAML模板时,应反思为何不直接生成JSON。他认为行业在配置管理上出现了倒退。

配置复杂性问题

  • 管理大规模应用和基础设施时,会不可避免地陷入配置复杂性困境
  • 不同环境(开发/测试/生产)或不同地区(欧洲/北美)的部署需要差异化配置
  • 传统配置管理工具(如Puppet的Hiera)通过层次化变量查询解决了这个问题,但云时代新工具(如Helm)重新引入了模板化YAML的做法

YAML模板的具体问题(以Helm为例)

  1. 简单参数替换尚可接受:

    image: "{{ .Values.image }}"
    
  2. 可选字段处理变得笨拙:

    {{- with .resourceGroup }}
        resourceGroup: {{ . }}
    {{- end }}
    
  3. 数组/映射处理暴露核心缺陷:

    {{- with .Values.podAnnotations }}
          annotations:
    {{ toYaml . | indent 8 }}
    {{- end }}
    
    • 缩进问题:YAML对空格有严格要求,模板系统难以正确处理嵌套缩进
    • 解析器限制:Go模板解析器不了解YAML语法,无法智能处理缩进
    • 额外复杂性:需要toYaml函数将YAML转换为YAML,这本身就很荒谬

Jsonnet作为解决方案

Jsonnet是什么?

  • 一种数据模板语言,专门用于生成JSON配置
  • YAML是JSON的超集,两者可轻松互转

Jsonnet优势示例:

1. 外部变量传递

{
  image: std.extVar('image'),
}

执行:jsonnet file.jsonnet -V image="my-image"

2. 可选字段处理(比条件语句简洁)

local rg = null;
{
  image: std.extVar('image'),
  [if rg != null then 'resourceGroup']: rg,
}

3. 注解配置(无需担心缩进)

local annotations = {
  'nginx.ingress.kubernetes.io/app-root': '/',
};
{
  metadata: {
    annotations: annotations,
  },
}

4. 对象操作能力(核心优势)

local base = { metadata: { annotations: { a: 1 } } };
base + { metadata+: { annotations+: { b: 2 } } }
// 结果:{ metadata: { annotations: { a: 1, b: 2 } } }

实际应用

  • 作者在$work中开发了kr8工具,利用这些方法简化Kubernetes多集群配置管理
  • Jsonnet使得配置的创建、操作和重用变得直观

结论

作者认为用模板处理YAML是错误的方向,而Jsonnet提供了更强大、更简洁的配置生成方案,解决了YAML模板固有的空格敏感性和表达能力限制问题。

19. Right to Repair: The Price Is Not Right (repair.eu)

维修权:价格不公

本文主要探讨了产品维修中备件价格过高,导致维修在经济上不划算甚至比更换更贵的问题,并分析了原因与可能的解决方案。

核心问题:备件价格过高

  • 现象:许多电子设备和家电的备件价格畸高,甚至超过产品本身售价。例如:洗衣机的电路板价格在299至1073欧元之间浮动;割草机电机售价60欧元,而整机仅售37欧元;笔记本电脑充电器售价253欧元。
  • 影响:研究表明,多数消费者仅在维修总成本低于产品价值的30%-40%时才会考虑维修。这意味着备件价格需低于产品价格的15%-20%维修才具经济可行性,但关键部件(如电池、电机、控制板)的价格常常远超此阈值,挤压了劳动力成本空间,使小型维修店难以生存。

高价成因分析

  1. 捆绑销售:制造商将多个部件打包成不可拆分的组件出售,即使只需更换其中一个零件。例如,激光打印机的一个简单盖板损坏,需连带购买整个激光单元(553欧元);曲线锯的一个非标准螺丝损坏,需购买整个底座组件(49欧元)。
  2. 缺乏竞争与价格垄断:备件市场缺乏竞争,品牌拥有垄断地位,可任意定价。消费者在维修阶段无法比价,只能接受原厂高价。
  3. 定价不透明:多数制造商不公开备件价格政策,消费者在购买产品时无法预知未来维修成本,难以做出知情选择。
  4. 反维修技术:制造商越来越多地使用“部件配对”技术,使产品在检测到非原厂或二手部件时无法正常工作,限制了使用通用或二手备件的可能性。

潜在解决方案与市场竞争作用

  • 市场竞争的效果:当存在竞争时(如使用功能相同的通用或副厂件),价格会大幅下降。例如,洗衣机的通用加热元件(12欧元)和进水阀(5.50欧元)分别比品牌原厂件(50欧元和51欧元)便宜76%和89%。
  • 二手零件:从废弃产品中回收的零件可以作为解决方案,尤其在原厂已停产相关部件时。
  • 呼吁法规与透明度
    • 强制合理定价:立法要求制造商以合理价格提供备件。
    • 提高价格透明度:要求制造商在网站上公示备件价格,并设定价格在一定时期内保持稳定。
    • 统一维修评分:在欧盟层面的维修性评分中纳入备件价格指标,方便消费者比较。
    • 禁止反维修做法:全面禁止捆绑销售和部件配对等阻碍维修的行为。

总结

文章指出,尽管生态设计法规要求制造商提供可维修设计并供应备件,但备件价格过高仍是维修的主要障碍。根本解决之道在于通过法规确保价格合理、提高市场透明度,并打击反维修做法,从而建立一个真正普遍适用的“维修权”。

20. The Hawai’i Seaglider Initiative: A new approach to travel between the islands (www.hawaiiseaglider.org)

夏威夷海滑翔机倡议是一项旨在推动岛屿间零排放交通的新项目。其关键组成部分包括:

主要项目

  1. 可行性研究:与SMS Research合作,评估在夏威夷实施海滑翔机的最佳方式,以服务当地社区。
  2. 教育与劳动力发展:为当地青少年创造学习机会,并确保本地专业人员具备操作海滑翔机及未来海事创新技术所需的技能。
  3. 争取资金:寻求支持海滑翔机运营的资金(如可再生能源、港口电气化、脱碳等),同时为夏威夷居民带来共同利益。

该倡议由私营企业、政府及非营利组织的利益相关者合作推动,旨在加速夏威夷的能源韧性与清洁能源目标。

技术原理与安全

海滑翔机是一种全电动的地面效应飞行器。其工作原理是利用机翼与海面之间的空气动力垫在低空(一个翼展高度内)平稳滑行,从而实现高效运行。

它具备三种运行模式

  • 漂浮模式:像传统船只一样从码头驶出。
  • 水翼模式:在离港加速时升至水翼上,提供平稳的行驶和抗浪能力。
  • 飞行模式:在开阔水域上空进入巡航速度,始终紧贴水面飞行。

海滑翔机受美国海岸警卫队监管,并遵循最高安全标准。REGENT公司已于2022年8月成功完成了12人座海滑翔机的四分之一比例原型机首飞测试。

社区参与与关切

倡议通过多阶段研究收集社区意见:

  • 第一阶段调查(2022年):评估了实施海滑翔机的经济、环境、社会和技术可行性。
  • 第二阶段研究(由哈佛大学主导):详细分析了港口和码头,并将数据用于环境评估。

针对居民和游客的调查显示,主要关切点包括:

  • 担心票价仅对富裕阶层可负担,可能增加居民税负。
  • 担忧对海洋生态系统(如鲸类)造成潜在损害。
  • 担心游客增加对社区产生影响。

倡议承诺将持续解决这些问题,并强调其目标是凝聚社区。

与夏威夷超级渡轮的区别

海滑翔机的技术不同于曾经的夏威夷超级渡轮。后者采用水喷射推进在水面航行,且运行前未完成所有必要的环境影响报告。海滑翔机在空中飞行的时间更长,但仍需进行大量研究以评估其对海洋生物的影响。

经济与环境益处

  • 运营成本远低于飞机,因此票价预计低于现有航空公司,同时能提供更快速的门到门旅行时间。
  • 作为零排放交通工具,有助于减少夏威夷交通领域的碳排放,支持该州实现可持续发展目标,进而保护海洋生态系统。

结论

夏威夷海滑翔机倡议通过整合技术创新、社区参与、环境保护和经济发展,旨在为群岛间提供一种安全、高效、清洁且普惠的新型交通方式。

21. Building a fair multi-tenant queuing system (www.inngest.com)

这篇文章介绍了Inngest平台为解决传统队列系统在多租户环境下的局限性,从头构建的公平、低延迟多租户队列系统。以下是核心内容概述:

队列系统面临的挑战

Inngest作为应用可靠性层,需管理大量实时函数执行。随着用户和函数规模增长,传统队列系统显露出关键问题:

  • 公平性:单一队列中,一个用户大量作业会阻塞其他用户工作。
  • 多租户:为每个函数或开发分支动态创建和维护工作者进程成本高且繁琐。
  • 竞争:多工作者争抢同一批作业,导致资源浪费。
  • 并发控制:难以在分布式环境中按函数灵活设置并发限制。
  • 读写负载:高频作业导致底层基础设施压力巨大。
  • 基础设施:需保证队列的分布式可靠性与低延迟。
  • 可观测性:传统队列缺乏实时监控与深度诊断能力。
  • 可定制性:集成退避、取消、批处理等高级功能困难且耗时。

解决方案:构建公平的多租户队列

Inngest队列系统的核心设计目标包括:

  1. 函数级队列隔离:为每个函数创建独立队列,防止函数间相互阻塞。
  2. 动态工作者池:工作者自动发现并处理新函数队列,无需重启或手动订阅。
  3. 减少竞争:采用分层队列与优先级洗牌算法,避免多工作者争抢同一批作业。

具体实现机制

  • 分层队列结构
    • 底层为每个函数维护独立的工作队列。
    • 上层设置一个“概览队列”,记录各函数最早可用作业的时间戳。
  • 工作者运作流程
    1. 扫描概览队列,获取当前有可用作业的函数列表(按作业时间排序)。
    2. 对列表进行优先级洗牌,根据作业延迟、容量、用户类型等因素进行加权随机排序,确保公平且优先处理旧作业。
    3. 独立认领函数队列并执行工作,避免竞争。

实际应用示例

通过Inngest的代码配置,可声明式定义函数的并发限制、防抖等特性。队列系统自动处理作业的入队、调度与执行,确保可靠性与实时性。

成效与优势

  • 公平性保障:函数间、用户间作业互不阻塞。
  • 低延迟与高并发:自动扩缩的工作池和优化的任务分配机制。
  • 低成本扩展:队列创建轻量,支持为每个函数甚至每个开发分支创建队列。
  • 内置高级功能:支持并发控制、防抖、批处理等流控制特性,无需额外开发。

结论

该队列系统通过动态函数隔离、分层管理和智能调度,有效解决了传统队列在多租户环境中的公平性、竞争和扩展性问题,为Inngest平台提供了可靠、高效且可扩展的基础。

24. Self-contained Linux applications with lone Lisp (www.matheusmoreira.com)

文章标题: 使用 lone Lisp 创建自包含的 Linux 应用程序

核心内容总结:

本文介绍了 lone Lisp 项目,其目标是为 Linux 创建一个原生的 Lisp 语言与环境,内置对任意 Linux 系统调用的支持,旨在实现无需任何外部依赖即可编写任何程序。

项目的一个重大里程碑是实现了创建完全自包含、独立、可再分发的 Linux 应用程序的能力,这些应用程序完全用 Lisp 编写。通过将 Lisp 代码直接嵌入到 lone 解释器的副本中,生成的可执行文件可以在相同架构的任何 Linux 系统上直接运行,无需修改或依赖外部库。

文中以实现一个简单的 env 命令(用于打印环境变量)为例进行了演示。

技术实现原理:

  1. 代码嵌入: 使用专门的 lone-embed 工具将 Lisp 代码文件(如 env.ln)嵌入到 lone 解释器的可执行文件中。
  2. ELF 段加载: 嵌入后的代码被放置在可执行文件的末尾,并通过一个自定义的 ELF 段类型 PT_LONE(0x6c6f6e65) 来标识。Linux 内核在加载程序时会自动将该段映射到内存中,无需解释器主动读取文件系统。
  3. 运行时定位: 程序启动时,通过 Linux 内核传递的辅助向量(auxiliary vector) 获取程序头表(Program Header Table)的地址。解释器遍历该表,查找类型为 PT_LONE 的段,从而获得内嵌代码在内存中的确切地址和大小。
  4. 代码执行: 嵌入的代码以一个描述符(如 { run (0 . 63) })开头,该描述符指定了需要执行的 Lisp 代码的偏移量和长度。解释器读取并执行该段代码。

实现挑战与解决方案: 在已编译的 ELF 文件中添加新的程序段非常困难,因为直接修改程序头表会破坏文件内其他数据的地址。作者最初尝试手动修改遇到困难,最终发现需要链接器的支持。

mold 链接器 成为关键解决方案。它支持通过 -Wl,--spare-program-headers 链接选项预留出空的(NULL)程序头条目。lone-embed 工具随后可以安全地将这些空条目修改为包含嵌入 Lisp 代码的 LOAD 段和标识用的 LONE 段。

总结: lone Lisp 通过将 Lisp 代码嵌入解释器、利用自定义 ELF 段以及运行时通过辅助向量定位代码的技术,成功实现了创建完全独立、无依赖的 Lisp Linux 应用程序。其实现依赖于 mold 链接器提供的特殊功能来动态修改 ELF 文件结构。

26. Czech republic sets IPv4 end date (konecipv4.cz)

捷克共和国设定IPv4协议退出时间表

捷克共和国正式为互联网核心协议IPv4设定了明确的结束日期。此举旨在强制性地推动整个国家的信息技术基础设施向更先进的IPv6协议进行全面过渡。

自20世纪80年代以来,IPv4协议一直是互联网通信的基石,负责为连接到网络的每一台设备分配全球唯一的地址。然而,随着互联网设备与服务的爆炸式增长,IPv4协议的固有局限性日益凸显,最主要的问题便是其有限的地址空间已接近枯竭。这一瓶颈已成为制约互联网进一步发展的关键因素。

为解决此问题,技术标准已转向IPv6协议。相较于IPv4,IPv6拥有近乎无限的地址数量,能够为未来所有智能设备、传感器和服务提供充足的地址资源。此外,IPv6在设计上还增强了安全性与路由效率,并简化了网络配置流程,是构建可扩展、安全和高效互联网基础设施的必然选择。

捷克政府的这一决定,旨在通过一个明确的截止日期,为各互联网服务提供商、企业及公共机构提供清晰的转型路线图,以加速完成从IPv4到IPv6的迁移。政策的核心目标是确保国家数字基础设施面向未来的可持续性与竞争力。

27. Riot Games laying off 11% (www.riotgames.com)

Riot Games 裁员11%

裁员规模与范围
Riot Games宣布将在全球范围内裁减约530个职位,占总员工数的11%。此次裁员主要影响核心开发团队以外的部门,公司CEO Dylan在内部邮件中表示,这是为了聚焦业务、迈向更可持续的未来而做出的艰难决定。

裁员原因
自2019年起,Riot快速扩张,尝试多元化布局并扩大全球业务,但公司目前面临以下挑战:

  • 业务焦点过于分散,同时推进项目过多;
  • 部分重要投资未达预期回报;
  • 成本增长已不可持续,缺乏试错空间,威胁核心业务发展。

此前公司已采取放缓招聘、成本控制等措施,但效果有限,因此需要进一步精简。

裁员流程

  • 受影响员工将在未来一小时内收到邮件通知;
  • 48小时内与高级负责人及人事团队会面,讨论后续步骤;
  • 各地区流程需遵守当地法律,美国境内本周完成,其他地区可能需数周。

补偿方案
对离开公司的员工,Riot提供以下支持:

  1. 遣散费:至少6个月工资(含通知期),工龄更长者按当地法律增加;
  2. 奖金:相当于2023年个人年度绩效奖金目标的100%;
  3. 健康福利:覆盖至最后工作日,并提供额外资金覆盖相当于遣散期的健康保险;
  4. 福利基金:额外1000美元(或当地等值)用于弥补未来计划支出;
  5. 股权:已归属的RSU及期权等可保留,未来回购时可参与;若公司在12个月内发生流动性事件,部分双归属股权可继续归属;
  6. 电脑设备:归还工作电脑后,可申请一台个人使用笔记本,外设可保留;
  7. 职业支持:提供6个月的求职辅导、简历优化等服务;
  8. 员工援助计划:离职后3个月内可继续使用心理、法律及财务咨询服务;
  9. 签证支持:为受影响的签证持有者提供特别协助,包括转换签证类型;
  10. 邮箱访问:保留一段时间Riot邮箱权限,便于处理个人账户关联。

业务调整
公司将持续投入《英雄联盟》《VALORANT》《云顶之弈》《Wild Rift》及电竞与娱乐内容,但以下项目将调整:

  • 《符文之地传奇》:团队缩减,重点转向“英雄之路”PvE模式;
  • Riot Forge:在《班德尔城物语》发售后终止该合作计划,未来或重新评估单机合作模式。

后续安排

  • 本周取消大部分会议,美国办公室员工可远程办公至周三;
  • 2月初将举行产品发布会,进一步说明2024年计划;
  • 周四召开全员大会提供更多背景信息。

CEO向受影响的员工致歉,并感谢其贡献,同时承诺全力支持过渡。此邮件亦公开发布于官网,以回应社区关注。

28. Mr. Rogers' music was intricate (2020) [video] (www.youtube.com)

YouTube视频页面数据摘要

基本信息

  • 视频标题:Mr. Rogers' Music Was Way More Intricate Than You Remember
  • 频道:Charles Cornell(已认证)
  • 发布日期:2020年9月11日(约5年前)
  • 观看次数:1,111,386次(约111万)
  • 点赞数:56,597
  • 频道订阅者:188万

视频描述

视频描述包含以下链接:

  • 钢琴学习网站:betterpiano.com
  • 社交媒体账号:Instagram、Twitter、Facebook、TikTok

页面状态

  • 由于未登录且触发了YouTube的机器人检测机制,视频无法播放,显示"请登录以确认您不是机器人"的提示。
  • 页面提供了登录按钮供用户跳转至Google账号登录。

推荐内容

系统推荐了多个相关视频,包括:

  • Charles Cornell的其他视频(《粉红豹主题曲》、《超级马里奥主题曲》、《最美丽的电影歌曲》、《电影中爵士乐场景的真实性》)
  • 关于Fred Rogers的纪录片和演讲视频
  • 其他音乐分析类视频(如Adam Neely、Jacob Collier的内容)

页面技术结构

这是一个YouTube桌面版的watch页面,包含完整的前端框架配置、Polymer Web组件初始化、播放器上下文配置(含多种播放模式如观看页、频道预告片、短视频等),以及大量的实验性功能标志。页面采用HTML5播放器,支持SABR流媒体传输、DRM加密播放等技术。

29. The Humble Brilliance of Italy's Moka Coffee Pot (www.atlasobscura.com)

意大利摩卡咖啡壶的谦逊 brilliance

摩卡壶是意大利的标志,代表了战后 ingenuity 和全球饮食文化的 dominance。它被纽约现代艺术博物馆等设计殿堂收录,并创下吉尼斯世界纪录,成为世界上最受欢迎的咖啡壶。

意大利咖啡文化背景

  • 咖啡起源于埃塞俄比亚,经也门、中东、北非传播,于17世纪初传入威尼斯。
  • 意大利长期保持小杯浓咖啡的传统,与北欧、北美的大杯淡咖啡不同。
  • 19世纪末,意大利开始利用蒸汽压力制作快速、浓郁的咖啡。

摩卡壶的诞生与设计

  • 1884年,安杰洛·莫里奥多发明了早期的蒸汽驱动咖啡机,后经路易吉·贝泽拉和德西德罗·帕沃尼改进。
  • 1933年,金属工匠阿方索·比亚莱蒂结合拿波里塔那壶和意式浓缩咖啡机原理,专利了“摩卡快车”。
  • 其标志性的八角沙漏形三腔设计,利用蒸汽压力使热水穿过咖啡粉,快速萃取出浓咖啡。

全球普及

  • 二战后,意大利经济复苏,铝材和咖啡价格下降,中产阶级壮大。
  • 阿方索之子雷纳托·比亚莱蒂专注于摩卡壶生产,并在1953年设计了“小胡子男人”标志。
  • 摩卡壶成为意大利家庭制作类似咖啡馆品质咖啡的首选,迅速普及,至2016年超过90%的意大利家庭拥有。
  • 随意大利移民传播至美国、阿根廷、澳大利亚和古巴等地。在古巴,摩卡壶用于制作传统的“café cubano”。

挑战与误解

  • 1990年代起面临两大挑战:便捷的咖啡胶囊(如Nespresso)的流行;以及精品咖啡文化兴起时被误认为无法制作“正宗”意式浓缩咖啡。
  • 许多咖啡 purists 认为摩卡壶压力(约1.5 bar)不足,无法与泵压式浓缩咖啡机(约9 bar)相比,但这种比较本身并不恰当。

复兴与展望

  • 近年来,咖啡爱好者重新认识摩卡壶的价值:它是一种古老、巧妙且经济实惠的独立咖啡制作方式,能制作出优质的浓咖啡。
  • 摩卡壶价格亲民(约30美元),是中世纪现代设计的典范,功能性强。
  • 尽管比亚莱蒂公司曾面临财务危机(2018年曾宣布重大债务问题,但此后销售有所回升),但摩卡壶本身的设计魅力和实用性预示其可能迎来复兴,如同手冲咖啡器具的再度流行。
30. Tens of thousands protest in Germany against the rise of the far right (www.npr.org)

德国多地近日爆发大规模反极右翼抗议活动,数万民众于1月20日走上街头,抗议德国选择党及右翼极端主义。此次抗议的直接导火索是媒体Correctiv披露的一份报道,称包括选择党成员在内的右翼极端分子在一次会议上讨论了驱逐数百万移民(包括部分德国公民)的计划。抗议者举着“绝不重演1933”、“反对仇恨”、“捍卫民主”等标语。

抗议规模与范围
警方称,仅法兰克福的抗议活动就吸引了约3.5万人参加。汉堡在前一日的抗议中聚集了5万人,因安全原因提前结束。此外,斯图加特、纽伦堡、汉诺威等多个城市也出现大规模集会,柏林、慕尼黑和科隆等城市预计将继续举行类似活动。此次抗议不仅波及大城市,还扩展至全国数十个小城市,规模和范围显著扩大。

抗议背景与原因
抗议活动反映了德国民众对选择党崛起的日益担忧。选择党成立于2013年,最初以疑欧主义为宗旨,2017年首次进入联邦议院。目前其民调支持率约为23%,位居全国第二,远高于2021年联邦选举时的10.3%。2023年,选择党候选人首次赢得市长和区议会选举,为纳粹时代以来极右翼政党的首次突破。该党在勃兰登堡、萨克森和图林根等东德地区领先,这些州将于今年秋季举行选举。

各方反应
总理奥拉夫·朔尔茨在视频讲话中支持抗议活动,称其是“反对右翼极端主义的重要象征”。基民盟主席弗里德里希·梅尔茨表示,抗议表明德国人“反对一切形式的仇恨、煽动和历史遗忘”。勃兰登堡绿党则投票支持寻求禁止选择党,但许多反对者认为此举过程漫长、结果不确定,且可能反助选择党塑造“受害者”形象。

体育界和商业界人士也表达支持。拜仁慕尼黑足球俱乐部教练托马斯·图赫尔强调“1000%反对任何形式的极端主义”。

选择党对媒体报道的极右翼会议进行了淡化处理,称其与该会议无组织或财务联系,与会成员仅为个人行为。该党联合领导人爱丽丝·魏德尔已解雇一名参会顾问,同时批评相关报道。

总结
此次大规模抗议显示了德国民众对极右翼势力上升的强烈反对,同时也凸显了社会在如何应对选择党影响力扩大问题上的分歧。抗议活动能否转化为长期的政治压力,仍有待观察。

31. An RNG that runs in your brain (www.hillelwayne.com)

这篇文章探讨了一个可以在脑中快速执行的简单随机数生成器算法,源自George Marsaglia在Usenet上的帖子。该算法从一个两位数“种子”开始,通过“十位数 + 6 × 个位数”的公式迭代生成新的两位数,并以每个新数的个位作为随机数字序列。作者使用Raku语言实现了该算法,并分析了其数学性质和实际表现。

算法定义与实现

  • 输入:一个两位数种子。
  • 更新规则:新数 = 原数十位 + (乘数 × 原数个位)。示例中使用乘数6。
  • 随机数字:每次迭代后取新数的个位数字。
  • 示例序列:种子23 → 20 → 02 → 12 → 13 → 19 → 55 → 35 → …,对应随机数字序列3, 0, 2, 2, 3, 9, 5, …。
  • 周期:序列最终会重复。当乘数为6时,周期为59。

Raku实现分析 作者提供了Raku代码来生成完整序列并分析其特性。

  • next-rng子例程:生成从给定种子开始的完整序列,直到出现重复。
  • 均匀性检查:将序列中每个数字的个位提取出来,统计0-9各数字出现的次数。当乘数为6时,分布基本均匀,但0和9出现次数略少。
  • 转移分析:通过构建一个10×10的网格,统计从数字i(个位)转移到数字j的次数。结果显示某些转移不可能(如个位0后不会紧跟个位6),表明该RNG并非完美随机。

乘数选择的数学原理

  • 文章将该算法视为一种“乘法进位”RNG,并建立了与Lehmer RNG的联系。关键关系:若MWC(x)=y,则10y mod (10×乘数 - 1) = x。
  • 周期理论:当乘数能产生一个完整的轨道(即所有可能种子都落入同一个循环)时,算法性能较好。对于一个“好”的乘数,从1开始的轨道长度应等于10×乘数 - 2。
  • 乘数6的优势:作者指出Marsaglia可能选择6是因为:1) 乘法表广为人知;2) 计算过程中不易产生三位数(简化心算);3) 轨道长度为58,分布足够均匀。
  • 其他“好”乘数:通过算法搜索,找到一系列满足“单一轨道”条件的乘数,包括6、11、18、50等。

不同乘数的特性比较

  • 乘数4:效果差,会产生多个分离的轨道,导致某些数字(如3)永远不会出现。
  • 乘数50:周期长(498),且计算简便(当末位为偶数时无进位),但其产生的数字序列随机性较差(存在连续多个偶数或奇数)。
  • 乘数18:周期为178,拥有所有可能的数字间转移(转移矩阵更均匀),但需要记忆18的乘法表。作者练习后约能每5秒生成一个随机数字。

结论与应用 该算法设计用于快速生成“足够随机”的数字,适用于对随机性要求不高、但需要快速心算的场景。选择乘数时需权衡周期长度、计算简便性和随机性。乘数6在易用性和随机性上取得了较好平衡。文章最后提供了完整的研究代码链接。

32. SaberVM (ryanbrewer.dev)

SaberVM 项目简介

概述

SaberVM 是一个面向函数式语言的编译器后端,设计为抽象栈机器,可接收经闭包转换和提升的 CPS(Continuation-Passing Style)代码,并支持即时解释执行或提前编译(AOT)为原生二进制文件。当前实现基于 Rust 的朴素字节码虚拟机,主要用于快速原型设计。

设计目标

  • 安全性:通过精心设计的类型系统(特别是内存安全)实现。
  • 表达力:使用运行时检查和标签(tagging)保证安全性,允许用户采用任意内存布局方案,仅需避免解引用悬空指针。
  • 可移植性:设计简洁,易于在多种平台上实现。
  • 可靠性:内置崩溃恢复系统,支持微重启(microreboot),程序可像 Erlang 的 BEAM 那样在异常后局部恢复而非完全终止。

核心系统

区域(Regions)

区域类似具有 malloc/free 风格内存管理的竞技场(arena)。读写堆内存需通过区域访问。区域具有静态检查的生命周期和基于能力的系统,确保值仅在区域生命周期内被读写。区域生命周期结束后,内存将被整体释放。

此设计解决了内存碎片问题:堆中的值会附带标签信息,指针解引用时需验证指向正确类型。若内存槽被更大值重用,可能破坏相邻值的标签,导致安全漏洞。区域通过提供明确的释放点,允许内存真正释放并无限制地重用,从而避免碎片问题。语言实现者可通过区域推断优化碎片,同时区域也提升了缓存局部性和批量释放效率。

异常(Exceptions)

SaberVM 的异常机制不同于传统异常,且不传递参数。每个函数必须包含一个捕获所有异常的处理器。运行时指令失败时不会崩溃,而是跳转至该处理器。处理器可执行以下操作:

  • 显式终止程序。
  • 重新抛出异常(跳转到调用者的异常处理器)。
  • 重启失败函数(微重启风格,不保留异常原因信息)。
  • 释放资源(目前仅支持 CAS,未来可能增加锁支持)。

注意:SaberVM 异常是底层机制,语言可在此基础上构建传统异常、Result 风格错误处理等。

项目状态

SaberVM 尚处于早期阶段。当前 Rust 实现聚焦于最小可行产品(MVP),用于验证设计思想的交互性,不一定向前兼容。类型检查器已完成大部分,算法简洁;虚拟机运行时(不含 JIT)预计更容易实现,整体实现进度约一半。

设计可能随开发调整,但核心思想与目标保持不变。

33. Show HN: Vx.dev – GitHub-Powered AI for effortless development (vxdev.pages.dev)

Vx.dev:基于GitHub的AI开发工具介绍页面

页面结构

该HTML文件是一个标准的单页面应用(SPA)入口文件,使用现代前端技术构建:

  • 包含基础的HTML5文档结构
  • 设有根元素<div id="root"></div>作为React/Vue等框架的挂载点
  • 引用了编译后的JavaScript和CSS资源文件

技术实现

  • 模块化脚本:使用ES模块加载主脚本文件index-05fbaa0f.js
  • 样式表:链接了预编译的CSS文件index-a49b07db.css
  • 响应式设计:通过viewport元标签确保移动端兼容性

工具定位

从标题“Show HN: Vx.dev – GitHub-Powered AI for effortless development”可以看出:

  • Vx.dev是一个AI驱动的开发辅助工具
  • 深度集成GitHub生态系统
  • 主张通过AI技术实现“轻松开发”的体验

页面用途

该HTML文件很可能是Vx.dev工具的演示或着陆页,标题中的“step by step”暗示了其可能提供:

  • 分步骤的开发指导
  • 渐进式的AI辅助功能
  • 基于GitHub工作流的集成开发体验

资源引用

  • 自定义favicon指向logo.png
  • 静态资源通过哈希命名实现缓存优化
  • 采用模块化加载策略提升性能
35. Trello leaked 15M email addresses (haveibeenpwned.com)

该页面显示404错误信息,表明用户尝试访问的页面不存在。内容以友好的口吻提醒用户页面未找到,并建议返回之前的页面。页面包括一个提示“Leave the Outback”,可能是一个导航链接。整体目的是告知用户错误并提供基本指引,没有其他实质内容。

36. Boeing Whistleblower: Max 9 Production Line Has "Enormous Volume of Defects" (viewfromthewing.com)

摘要: 文章披露了波音公司内部对2024年1月阿拉斯加航空公司一架737 MAX 9客机在飞行中门塞脱落事件的原因分析及内部质量控制问题。

  • 事故直接原因: 一位自称波音在职员工的匿名举报者指出,飞机记录显示,涉事飞机左侧中部出口门塞的4个固定螺栓在交付时并未安装。这些螺栓的作用是防止门塞向上滑出门止档件,门止档件在飞行中承受客舱增压负荷。缺少螺栓直接导致了门塞在飞行中脱落。
  • 普遍存在的质量缺陷: 报告显示,过去365天内,在737机身中部舱门(包括实际舱门和门塞)的检查工序中,共记录了392处不符合项。这一数字异常高,表明波音的质量控制系统存在严重问题,本应在问题频发初期就停止生产线并追溯至供应商。
  • 涉事飞机的检查遗漏: 该机于2023年8月31日进行的检查发现了右侧舱门问题,但错过了左侧门塞的关键缺陷。由于需要处理的缺陷数量庞大,遗漏被描述为“不可避免”。
  • 供应商工作质量问题: 主要供应商Spirit AeroSystems(原波音下属部门,2005年被分拆出售)提供的部件问题频发。举报者举例称,Spirit的团队在对涉事飞机左侧门塞的铆钉损坏问题进行保修维修时,竟被波音质量保证人员发现只是“在缺陷上涂了油漆”。
  • 流程记录的严重错误: 后续处理涉及是否需要打开或移除门塞以进行维修。关键错误在于,无论选择哪种方式,都必须先取出4个固定螺栓。然而,官方记录仅显示需要打开门塞以更换密封条,却未在波音生产记录系统(CMES)中生成正式的“拆卸记录”。这意味着,在官方记录中,一项需要打开门塞(从而必须取出螺栓)才能完成的工作被记录下来,但门塞却从未被正式打开过,因此无需进行质量保证检查。最终,螺栓很可能被遗忘在某个工作台上,或已被丢弃。
  • 文化转变与外包策略的影响: 文章指出,波音将大量组件生产外包以降低成本,这种策略始于前CEO哈里·斯通西弗时期,其目的是将波音从一家伟大的工程公司转变为一家以商业运营为导向的企业。Spirit AeroSystems正是这一外包策略下的主要供应商,其产品质量问题被视为当前缺陷频发的重要原因之一。
  • 背景与质疑: 尽管此信息来源为匿名举报,但被航空观察人士引用。文章提到,此发现与认为故障源于飞机设计缺陷或螺栓在飞行中松动的理论不符,因为737 MAX 9与使用相同机身的737-900ER采用相同的门塞设计。波音正面临来自内部的文化质疑和外部的监管压力。
37. macOS Sonoma Forced Installs (www.macintouch.com)

macOS Sonoma 强制安装

主要问题概述

标题“macOS Sonoma Forced Installs”表明,可能涉及macOS Sonoma操作系统中的强制安装事件或相关问题。强制安装通常指未经用户明确同意或难以拒绝的软件安装,常见于系统更新或预装应用。

内容分析

提供的具体内容仅为“Cck”,这可能是一个拼写错误、缩写或不完整输入。它可能意指“Click”或“Check”,例如与安装提示或验证步骤相关,但缺乏详细信息。

关键要点

  • 焦点:强制安装在macOS Sonoma中可能引发用户对隐私、控制权和系统稳定性的担忧。
  • 潜在场景:系统更新、安全补丁或第三方软件捆绑安装时,用户可能遇到强制行为。
  • 用户体验:强制安装可能导致不便,如中断工作流程或消耗存储空间。

总结

基于标题,强制安装是macOS Sonoma相关讨论中的一个潜在议题,但具体细节和上下文有限。用户或开发者需进一步调查系统设置、更新策略或用户协议,以了解实际影响。

38. British man appears in court over bomb joke sent in private message (www.bbc.com)
39. Google cites 'durable cost savings' as CEO Sundar Pichai warns of more layoffs (nypost.com)
40. Unbloating the buffers (dgroshev.com)

缓冲区膨胀问题与解决方案

本文探讨了网络中常见的“缓冲区膨胀”问题及其解决方法。

问题描述

缓冲区膨胀指网络设备中缓冲区过大或管理不当,导致网络延迟显著增加、影响实时应用(如语音通话、视频会议)性能的现象。其根源在于当网络链路存在带宽瓶颈时,数据包在缓冲区中排队,造成不必要的延迟。特别是在上下行带宽不对称或共享连接的情况下,低优先级流量(如文件下载)可能会阻塞高优先级实时流量,即使实际带宽足够支持视频通话。

问题影响

作者通过测试展示了缓冲区膨胀的严重性:

  • 高延迟:网络负载时,往返延迟从几毫秒升至近300毫秒,导致视频通话无法使用。
  • 带宽不稳定:并行传输时,上传带宽下降2-4倍。
  • 优先级失效:网络流量优先级标签被忽略,无法保障关键应用。

解决方案:主动队列管理

作者指出,单纯增加带宽不能根本解决问题,因为网络瓶颈依然存在。真正的解决方案是采用主动队列管理机制。其中,CAKE是一种现代化、性能优越且易于配置的AQM实现。

通过部署CAKE,作者获得了以下改善:

  • 平均带宽保持稳定。
  • 下载不再影响上传性能。
  • 网络负载对延迟的影响几乎不可见。
  • 流量优先级得到有效区分。 代价是牺牲了约10%的峰值带宽。

配置实践与社区反馈

文章提供了在VyOS路由器上配置CAKE的示例代码,并设置了适当的带宽限制和rtt(往返时间)参数。随后,作者引用了CAKE开发者Dave Täht的反馈:

  • rtt参数需谨慎设置,应基于98%的实际观测往返时间。过低的值(如30ms)可能对高延迟地区(如非洲)或卫星网络造成损害。
  • 建议根据典型网络条件进行调整,并在配置中添加注释说明。
  • 测试方法本身存在一定局限性。

文章最后强调,许多网络卡顿问题并非带宽不足,而是缓冲区膨胀导致的延迟所致,而CAKE等AQM技术能以小幅带宽牺牲换取显著的延迟改善和流量公平性。

41. Trello Allegedly Breached (twitter.com)

Trello 数据泄露事件概述

  • 事件声称:Trello 平台据称遭受数据泄露,一个名为“emo”的网络罪犯在暗网上出售相关数据库。
  • 数据规模:泄露的数据库包含 15,115,516 条用户记录。
  • 数据类型:涉及的数据包括电子邮件、用户名、全名及其他账户信息。
  • 威胁背景:此事件与数据泄露、网络威胁情报(CTI)及暗网活动相关,已被标记为 #databreach、#CTI 和 #DarkWeb。
  • 来源信息:事件详情来源于社交媒体平台 X(原 Twitter)上的帖子,由用户 Hackmanac (@H4ckmanac) 发布。
  • 当前状态:基于公开声明,尚未有官方确认,但需关注潜在安全风险。
42. Turning an iPad Pro into the Ultimate Classic Macintosh (2021) (blog.gingerbeardman.com)

将iPad Pro打造为终极经典Macintosh

概述: 作者介绍了如何将iPad Pro通过模拟器(特别是BasiliskII)改造为运行经典Macintosh操作系统(System 7)的强大工作站,并详细阐述了其优势与定制化方案。

一、 模拟器选择

文中主要对比了两款iOS上的Macintosh模拟器,均由@maczydeco移植:

  1. Mini vMac:支持System 1.1至7.5.5,但RAM和CPU模拟有限,文件共享步骤繁琐,界面使用Control键快捷键,屏幕分辨率固定。
  2. BasiliskII(首选):支持System 7.0至8.1,具备更高级的RAM和CPU模拟,通过映射文件夹实现便捷的文件共享,支持动态屏幕分辨率调整,并拥有原生的iOS设置界面,用户体验更佳。

二、 关键功能与优化

  1. 文件共享
    • Mini vMac:需运行专用导入应用,通过iOS共享表单传输文件,步骤较多。
    • BasiliskII:体验更好。它将一个驱动器映射到应用的共享文件夹,用户可直接通过共享表单或简单地将文件复制到该文件夹,即可在模拟器内访问。但建议将文件移至模拟系统主磁盘以避免部分应用的兼容性问题。
  2. 屏幕分辨率适配
    • 原始Macintosh分辨率为512×342。
    • iPad Pro 12.9英寸的原生分辨率为2732×2048。作者在BasiliskII源代码中添加了多种自定义分辨率,包括像素倍增(1366×1024)和像素四倍(683×512)模式,涵盖横屏、竖屏以及为软件键盘预留空间的版本,以确保UI元素大小适合指尖操作(约44pt)。这些分辨率可通过键盘快捷键切换。
  3. 自定义键盘
    • 两款模拟器共享用户可编辑的JSON键盘布局机制。
    • 作者为常用绘图软件artWORKS和UltraPaint创建了自定义键盘布局,通过重映射按键和功能键,优化了工具和快捷键的触屏访问效率。

三、 与真实Macintosh的体验对比

作者认为,这套方案的核心价值在于能够无缝运行System 7及其应用程序,硬件只是实现这一目的的载体。与真实Macintosh相比,iPad Pro方案具有以下优势:

  • 更优越的硬件:更便携、可靠、强大。
  • 多功能显示屏:可灵活适配多种分辨率。
  • 出色的输入体验:使用Apple Pencil绘图的体验堪比原生iPad应用,且是在屏幕上直接绘制。
  • 无缝的现代化集成:可随时切换到iOS,利用Safari下载软件、使用Files解压、画中画看视频、在Books中搜索PDF手册、听流媒体音乐等,这些都是真实老Mac难以或无法实现的。
  • 广泛的外设支持:蓝牙键盘、鼠标及外接显示器均可正常使用。

结论: 通过精心配置的模拟器(BasiliskII)、定制化的分辨率与键盘布局,iPad Pro成功融合了经典Macintosh系统的灵魂与现代硬件的便利,被作者称为“终极经典Macintosh”。

43. New theory suggests LLMs can understand text (www.quantamagazine.org)

关于大语言模型能否理解文本的新理论

核心争议

当前主流聊天机器人(如ChatGPT)是否真正理解其生成的文本,一直是AI领域的核心争议。AI先驱Geoff Hinton与计算语言学家Emily Bender的“随机鹦鹉”假说形成对立观点:该假说认为大语言模型仅通过组合已见文本生成内容,不涉及意义理解。

新理论框架

普林斯顿大学的Sanjeev Arora与谷歌DeepMind的Anirudh Goyal提出新理论,认为最大的LLMs并非随机鹦鹉。他们通过随机图理论构建数学模型,将LLMs的能力抽象为两类节点:

  1. 文本节点:代表文本段落
  2. 技能节点:代表理解文本所需的能力(如理解因果关系、处理数字、识别反讽等)

关键发现

理论揭示两个核心机制:

  1. 技能习得:随着模型参数和训练数据增加,测试损失(模型预测与真实结果的差距)按神经缩放定律下降,更多技能节点与“成功”文本节点关联,模型获得更广泛的单项能力。
  2. 能力涌现:更大模型能随机组合多个技能节点理解文本,即使这些组合在训练数据中从未出现。例如:
    • 模型规模增长10倍 → 能处理需要2项技能组合的任务
    • 再增长10倍 → 能处理需要4项技能组合的任务
    • 理论指出,若底层有1000项基础技能,组合4项技能可能产生约1万亿种新可能性

实证验证

研究团队设计**“技能混合”测试法**评估LLMs的组合能力。实验中:

  • 要求GPT-4在随机主题(如“决斗”)下同时展示四项随机技能:
    1. 自利偏差
    2. 隐喻
    3. 统计三段论
    4. 常识物理学
  • GPT-4的输出成功融合所有技能:

    “我的胜利在这场钢铁之舞[隐喻]中确定无疑,如同物体必然坠落于地[物理学]。作为著名决斗者,我天生敏捷,就像大多数[统计三段论]同声誉者一样。失败?只可能因战场不公,而非我的不足[自利偏差]。”

结论意义

该理论为LLMs通过技能组合实现泛化提供了数学解释。微软研究院的Sébastien Bubeck(未参与研究)评价:“模型不可能仅模仿训练数据中的内容——这是基本洞见。”该研究为理解大模型如何从语言预测中发展出复杂能力提供了新框架,并可能影响对AI能力与风险的评估方式。

44. Proposed Oklahoma skyscraper gets redesign to become USA's new tallest building (newatlas.com)

俄克拉荷马州“布瑞克镇栈桥”摩天大楼项目经过重新设计,现更名为“传奇塔”,旨在成为美国新的最高建筑。原设计高度为1750英尺(533米),新方案将其提升至1907英尺(581米),该数字象征着俄克拉荷马州于1907年成为美国第46个州。

新高度将使其比目前美国最高的纽约世贸中心一号楼高出130多英尺(39米),并位列全球摩天大楼第六高,仅次于中国的平安金融中心。

项目包含四座塔楼:主塔“传奇塔”及三座高345英尺(105米)的附属塔楼。总建筑面积约500万平方英尺(约46万平方米),是一个混合用途的综合体,具体包括:

  • 酒店与住宅:设有一家拥有480间客房的凯悦“梦境酒店”(位于其中一座附属塔楼,内含85套服务式公寓),以及位于“传奇塔”内的另一家拥有350间客房的凯悦酒店和100套服务式公寓。
  • 住宅:共提供1776个住宅单元,涵盖市场价、保障性及豪华等不同档次。
  • 商业与社区空间:地面及二层设有超过11万平方英尺(约1000平方米)的零售、餐饮及社区劳动力发展中心。
  • 观景设施:主塔顶层将设有公众观景台、餐厅和酒吧。

设计公司AO与开发商Matteson Capital目前已向相关部门申请批准增加建筑高度,但尚未公布预计的施工时间表。

45. Ask HN: Is Apple's R1 a Discrete GPU?
46. Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data (github.com)

Depth Anything: 释放大规模无标签数据的力量

Depth Anything 是一个高度实用的单目深度估计解决方案,通过结合 150万张标注图像6200万张以上无标签图像 进行训练,实现了鲁棒的深度估计性能。该项目已被 CVPR 2024 接收,并持续更新(如2024年6月发布V2版本)。

核心特性

  1. 相对深度估计:基础模型可为任意图像提供鲁棒的相对深度估计。
  2. 度量深度估计:通过在NYUv2或KITTI数据集上微调,模型在域内和零样本度量深度估计上均表现优异。
  3. 优化的深度条件ControlNet:基于Depth Anything重新训练的ControlNet,比先前基于MiDaS的版本提供更精确的合成结果,已集成到ControlNet WebUI和ComfyUI中。
  4. 下游场景理解:Depth Anything的编码器可微调用于高级感知任务,例如在Cityscapes和ADE20K数据集上分别实现86.2和59.4的语义分割mIoU。

性能表现

与之前最佳的MiDaS v3.1 BEiTL-512模型相比,Depth Anything在多个标准数据集(如KITTI、NYUv2、Sintel、DDAD、ETH3D、DIODE)上,在参数更少(最高335.3M)的情况下,取得了更优或极具竞争力的深度估计结果(以AbsRel和δ1为评价指标)。

预训练模型

提供三种不同规模的模型,适用于鲁棒的相对深度估计:

模型 参数量 推理时间(V100,ms) A100 RTX 4090 (TensorRT, ms)
Depth-Anything-Small 24.8M 12 8 3
Depth-Anything-Base 97.5M 13 9 6
Depth-Anything-Large 335.3M 20 13 12
注:V100/A100推理时间不含预处理和后处理;RTX 4090 (TensorRT)时间包含完整流程。

使用方法

  • 安装:克隆仓库并安装依赖。
  • 运行推理
    • 图像python run.py --encoder <模型> --img-path <图片路径> --outdir <输出目录> [--pred-only] [--grayscale]
    • 视频python run_video.py --encoder <模型> --video-path <视频路径> --outdir <输出目录>
  • 集成到项目:可通过提供的Python代码片段加载模型并处理图像,或通过Hugging Face Transformers仅用三行代码快速使用(需安装最新版transformers库)。

模型加载

支持从Hugging Face Hub自动加载,也支持本地加载(需先下载检查点文件)。

社区支持

项目受到广泛社区支持,衍生出众多扩展,包括但不限于:

  • 部署优化:TensorRT、ONNX、OpenVINO版本。
  • 应用集成:ControlNet (WebUI/ComfyUI)、X-AnyLabeling、ROS、Android、TouchDesigner等。
  • 可视化:在线视频深度演示、3D可视化(Transformers.js)。

致谢与引用

感谢HuggingFace团队、MagicEdit团队等的帮助与贡献。项目代码、模型和演示均已发布。

47. Apple Maps wrongly lists restaurant permanently closed, costing owner thousands (www.abc.net.au)
49. Caches: LRU vs. Random (2014) (danluu.com)

缓存驱逐策略比较:LRU与随机策略

背景与动机

文章探讨了缓存驱逐策略的性能,特别是LRU(最近最少使用)和随机策略。LRU基于时间局部性原理,在紧密循环中表现良好,但当工作集超过缓存容量时会导致频繁缺失。随机策略虽然简单,但在某些情况下能提供更平缓的降级性能。

实验设置

使用SPEC CPU基准测试,在模拟Sandy Bridge的缓存配置下进行评估,包括L1(64KB)、L2(256KB)和L3(2MB)缓存,均为8路关联。比较了以下策略:

  • LRU:驱逐最近最少使用的缓存行。
  • 随机:随机选择驱逐对象。
  • FIFO:先进先出策略。
  • 2-random:随机选择两个候选缓存行,然后使用LRU驱逐其中一个。

主要结果

  • 总体性能:2-random和LRU均优于随机和FIFO。2-random在L3缓存中略优于LRU,而LRU在较小缓存(L1、L2)中略优。
  • 基准细分:在单个基准测试中,LRU在缺失率较低时表现更好,而2-random在缺失率较高时表现更优。
  • 层级缓存影响:实验区分了单缓存和层级缓存场景。结果表明,性能差异并非仅由层级缓存引起,而是与缓存大小相关:小缓存中LRU更好,大缓存中2-random更好。

关联性与缓存大小的影响

  • 关联性:增加缓存关联性会放大LRU和2-random之间的差异,但趋势一致:LRU适合小缓存,2-random适合大缓存。
  • 缓存大小:通过几何平均缺失率比较,在不同大小下,2-random在缓存容量超过1MB时表现优于LRU。

伪策略改进

实现近似策略以降低开销:

  • 伪2-random:约80%准确,性能介于2-random和随机之间。
  • 伪3-random:基于两层锦标赛,约80%准确,接近2-random性能,并在大缓存中优于LRU。这表明增加随机选择数量(k-random)可能进一步改进。

理论背景

引用了“两个随机选择的力量”理论,解释了随机选择多个候选对象的优势:在随机分配中,使用多个选择可以显著减少最大负载,类似于balls-and-bins模型。这为缓存驱逐策略提供了数学基础。

未来方向

  • 探索不同缓存级别的混合策略(例如L1/L2使用LRU,L3使用2-random)。
  • 将2-random应用于其他缓存类型(如网络或数据库缓存),而不仅限于CPU缓存。
  • 比较与自适应策略(如DIP)的性能,但指出伪2-random实现成本低,可能作为轻量级替代方案。

结论

随机驱逐策略在特定条件下具有竞争力,2-random在平衡性能和复杂性方面表现出色,尤其适合大缓存。伪3-random提供了接近最优的近似解决方案,且易于实现。

50. About Stolen Device Protection for iPhone (support.apple.com)

iPhone失窃设备保护功能摘要

功能概述

失窃设备保护功能旨在增强iPhone安全性,当设备远离熟悉位置(如家或工作场所)时,自动启用额外安全措施。该功能防止窃贼在获知密码的情况下,对账户或设备进行关键更改。需提前在iOS 17.3或更高版本中启用。

核心安全机制

  • 生物识别强制认证:特定操作(如访问钥匙串密码、信用卡信息)必须使用Face ID或Touch ID验证,无法通过密码替代,确保仅用户本人可访问。
  • 安全延迟:对于关键安全操作(如更改Apple账户密码),系统会强制等待一小时,随后需再次进行生物识别认证。此延迟为用户标记设备丢失和保护账户提供时间窗口。

使用条件与位置感知

  • 默认情况下,额外安全措施仅在iPhone处于非熟悉位置时激活。熟悉位置由系统根据用户使用习惯自动识别(如家、工作地点)。
  • 用户可选择始终启用这些措施,即使在熟悉位置也强制执行生物识别和安全延迟。

启用要求与设置

  • 前提条件
    • Apple账户已启用两因素认证。
    • 设备设置密码、Face ID或Touch ID,并开启重要位置服务(位置服务中的“重要位置”)。
    • 必须开启“查找我的iPhone”功能,且无法在保护启用时关闭。
  • 操作步骤
    1. 进入设置,选择“面容ID与密码”(或“触控ID与密码”)。
    2. 输入设备密码。
    3. 点击“失窃设备保护”,开启功能。
  • 设置恢复:通过iCloud备份恢复或直接传输到新设备时,该设置会自动同步,但熟悉位置识别可能有延迟。

受保护操作详解

当iPhone处于非熟悉位置时,以下操作需生物识别认证:

  • 使用钥匙串中保存的密码或通行密钥。
  • 使用Safari中自动填充的支付方式。
  • 关闭丢失模式。
  • 打开已锁定应用。
  • 抹掉所有内容和设置。
  • 申请新Apple Card或查看Apple Card/Apple Cash虚拟卡号。
  • 在钱包中进行Apple Cash或储蓄账户转账等操作。
  • 使用iPhone设置新设备(如快速开始)。
  • 设置或转移eSIM。

注意:使用Apple Pay进行购买时,仍可使用设备密码。

安全延迟相关操作

在非熟悉位置,以下操作需等待一小时安全延迟,延迟后需再次生物识别认证:

  • 更改Apple账户密码。
  • 退出Apple账户。
  • 更新Apple账户安全设置(如添加或移除受信任设备、恢复密钥或恢复联系人)。
  • 添加或移除Face ID或Touch ID。
  • 更改设备密码。
  • 重置所有设置。
  • 注册移动设备管理。
  • 关闭失窃设备保护。

其他限制

  • 无法在网页(account.apple.com)更新受保护的安全设置。
  • 在新设备上更新这些设置可能需要等待一段时间。
  • 若使用iPhone更改Apple账户密码,iCloud.com上的设备位置信息可能暂时不可见。
  • 安全延迟可能在设备检测到返回熟悉位置时提前结束。

关闭与注意事项

  • 关闭功能前,若设备不在熟悉位置,会触发安全延迟。
  • 建议在出售、赠送或交易iPhone前关闭此功能。
  • 功能启用后,“查找我的iPhone”无法手动关闭。