2024-09-07

24 篇热帖

1. Show HN: Infinity – Realistic AI characters that can speak
3. Hardware Acceleration of LLMs: A comprehensive survey and comparison (arxiv.org)

大型语言模型硬件加速:全面综述与比较

核心主题

本文对利用硬件加速器(FPGA、ASIC、存内计算、GPU)加速用于大型语言模型(LLM)的Transformer网络的多种研究工作进行了全面综述和比较。

综述内容

  • 框架概览:论文首先介绍了为LLM加速所提出的各种硬件加速框架。
  • 多维度比较:从技术、处理平台、加速比、能效、性能(以GOPs衡量)和能效比(以GOPs/W衡量)等多个维度,对各框架进行了定性和定量分析。

主要挑战

  • 公平性难题:各加速方案基于不同的工艺技术实现,导致直接横向比较性能和能效存在困难,难以确保公平性。

核心贡献

  1. 公平比较方法:论文的主要贡献在于提出了一种方法,将不同方案的性能和能效结果外推至相同的工艺技术节点,从而实现公平比较。
  2. 理论与实践结合:该比较包含一个理论层面和一个更贴近实际的层面。
  3. 实证支持:作者通过在多个FPGA芯片上实现LLM的部分功能,获取基准数据,用于将结果外推到统一的工艺技术条件下,并在此基础上进行公平的性能比较。

关键点总结

  • 目标:解决LLM硬件加速方案因工艺技术不同而难以直接比较的问题。
  • 方法:通过结果外推(理论与实验结合)至统一技术节点。
  • 平台覆盖:综述涵盖FPGA、ASIC、存内计算、GPU等多种处理平台。
  • 评价指标:重点关注性能、能效、加速比等关键指标。
5. Malaysia started mandating ISPs to redirect DNS queries to local servers (thesun.my)

马来西亚通信与多媒体委员会(MCMC)已指示互联网服务提供商(ISP)将用户使用第三方DNS服务器(如谷歌DNS、Cloudflare)的查询重定向回本地ISP的DNS服务器,目的是确保用户持续受到本地DNS服务器提供的保护,防止访问恶意网站。

MCMC表示,此举旨在保护用户(特别是弱势群体)免受有害网络内容侵害,例如阻止访问传播恶意软件、网络钓鱼或不当内容(如成人内容、暴力网站)的网站。该委员会称,第三方DNS服务器可能缺乏针对本地有害内容的同等保护水平。

自2018年至2023年8月1日,MCMC已累计屏蔽24,277个网站,分类包括:在线赌博(39%)、色情/淫秽内容(31%)、版权侵权(14%)、其他有害网站(12%)、卖淫(2%)和非法投资/诈骗(2%)。MCMC强调,该措施并非“全面封锁”,仅屏蔽托管恶意内容的网站,合法网站仍可正常访问,DNS重定向旨在过滤有害内容同时不影响安全网站的可访问性。

用户若遇到访问合法网站困难,应向ISP报告;受影响网站可通过指定渠道上诉。独立的上诉法庭由高等法院法官主持,负责公正审查案件。

此外,MCMC计划于2025年1月1日起实施新规,要求在马来西亚拥有至少800万注册用户的社交媒体和网络即时通讯服务提供商申请通信与多媒体法案下的服务许可,以加强儿童及家庭网络安全监管。

6. Four Thieves Vinegar Collective – Harm Reduction for the Living (fourthievesvinegar.org)

组织简介

Four Thieves Vinegar Collective(四贼醋集体)是一个无政府主义组织,秉持“为生者减少伤害”和“身体维修权”的理念。其核心目标是打破医疗壁垒,为有需求但无法获取药物和医疗技术的人群提供DIY获取途径。

核心项目:MicroLab 1.0 及其软件套件

MicroLab 是一款DIY自动化化学反应器,用户可使用市面常见的硬件进行组装,配合软件套件指导救生药物的发现与生产。最新发布的 1.0版本 包含以下重大升级:

  • 硬件与体验:采用抗化学腐蚀性更强的新型反应堆核心,配备更简单、安全且强大的现成热源;升级了屏幕等交互设计,并新增多语言支持。
  • 系统重构:引入全新的构建系统以创建磁盘映像。

Microlab 软件套件 包含以下关键工具:

  • Chemhacktica:逆向合成工具,用于探索和发现新颖的化学反应路径。
  • Apothecarium:拖放式工具,用于编写MicroLab的运行“配方”。
  • Vinni:虚拟研究助理(早期Alpha版),用于整合并串联整个软件套件。

其他健康与急救项目

  • 牙齿封闭(Tooth Seal):提供在家自制纳米颗粒氟化银溶液的指南。该方案简单、廉价且高效,可用于阻止蛀牙恶化或通过抗菌银颗粒提前增强牙釉质。
  • 急救套件(Emergency Suite):提供DIY急诊室方案,涵盖肾上腺素等急救药物、除颤器等设备以及运动氧气等物资的自制或获取指南,旨在紧急情况下挽救生命或为专业救援争取时间。
  • 堕胎护理(Abortion Care):提供堕胎相关的护理支持与资源(如堕胎卡)。

社区活动与媒体影响

  • 技术分享与倡导:团队持续输出药物合成(如Vyvanse)、HRT试剂测试等研究,并探讨“制药BT下载(Torrenting)的哲学”。
  • 黑客大会演讲:在CCC 2024和DEFCON 32等知名会议上发表演讲,探讨“生物恐怖主义如何拯救生命”及“根除丙型肝炎”等激进医疗理念。
  • 媒体报道:凭借DIY肾上腺素笔(EpiPen)、MicroLab化学反应器和堕胎卡等项目,该组织获得了《新闻周刊》、IEEE Spectrum、Vice、WIRED及NPR等主流科技与新闻媒体的广泛关注与报道。
7. A Post-Google World? (www.thebignewsletter.com)

文章《后谷歌时代?》核心内容概要

背景与核心论点

文章围绕美国司法部对谷歌的第三次重大反垄断审判展开,探讨了谷歌在在线广告技术市场的垄断行为及其潜在后果。核心观点认为,谷歌通过一系列收购和捆绑策略,建立了对广告供需双方的全面控制,损害了出版商、广告商和创新。文章回顾了美国反垄断执法的历史成功案例,并提出了可能的结构性补救措施。

历史背景:反垄断的威慑作用

  • 历史先例:文中引用1930年代反垄断负责人瑟曼·阿诺德的强力执法,使商业界畏惧违规,实现了价格下降和行业秩序的重塑。
  • 经济效果:1950年代虽利润高企,但企业因惧怕法律后果而约束自身行为,形成更平衡的商业环境。
  • 当前挑战:现今缺乏政治共识,反垄断成就远不如前,但在特定领域(如谷歌案)正显现出维护公共利益的尝试。

谷歌的垄断行为与广告技术控制

  • 业务扩张路径:谷歌从搜索引擎起步,后通过收购(如2008年收购DoubleClick和广告交易所AdX)及业务延伸,逐步控制了广告市场的:
    • 供给侧(出版商的广告管理软件)。
    • 需求侧(广告商购买系统)。
    • 交易市场(广告交易所)。
    • 数据与测量(通过谷歌分析等服务)。
  • 垄断策略
    • 强制捆绑:要求出版商若想接触谷歌庞大的广告客户需求,必须使用其全套广告技术服务。
    • 数据整合:违反收购时的承诺,将谷歌旗下各服务(搜索、YouTube、Gmail等)的用户数据合并,构建全面的用户档案。
    • 排挤竞争:通过收购、产品锁定或与潜在对手(如Facebook)达成反竞争协议,阻止对手进入市场。
  • 市场后果
    • 高额抽成:谷歌从流经其系统的广告费中抽取30%-50%的佣金。
    • 收入转移:利用数据优势,将广告需求和收入从第三方出版商导向谷歌自有平台。
    • 创新受阻:垄断扼杀了广告技术和新闻业的创新,出版商收入锐减。

第三次审判与法律困境

  • 审判焦点:本案针对谷歌的广告技术业务,司法部指控其滥用垄断地位。
  • 法官态度:主审法官Leonie Brinkema对谷歌持强烈怀疑态度,驳回其撤诉动议,并严厉批评谷歌自2008年起自动删除敏感聊天记录以规避调查的行为,称之为“明显的程序滥用”和“对证据的破坏”。
  • 历史包袱:谷歌已在两项先前诉讼中被裁定为非法垄断(安卓应用商店案和搜索垄断案),且均被发现存在不诚信的证据处理行为。

可能的解决方案与补救措施

  • 结构性拆分
    1. 拆分广告技术业务:将其分为三个独立公司:供给侧平台(含分析工具)、需求侧平台(广告商用)和广告交易所。
    2. 拆分谷歌其他业务:将YouTube、搜索、安卓和Chrome等分离为独立公司,以切断跨服务的数据整合。
  • 立法提案:参议员Mike Lee和Amy Klobuchar的《美国法案》旨在通过立法禁止大型广告技术公司的利益冲突,适用于此类案件。
  • 国际监管行动:欧盟和英国已采取行动,欧盟竞争管理机构甚至建议强制剥离谷歌部分业务以解决竞争担忧。

未来展望:“后谷歌时代”的可能性

  • 历史类比:作者将谷歌比作20世纪80年代面临拆分的AT&T或更早的标准石油、美国铝业,认为其“帝国”面临终结的迹象已现。
  • 积极前景
    • 拆分将释放创新,使搜索、广告、新闻、移动系统等领域重现竞争活力。
    • 谷歌自身可能因精简业务(如专注于搜索和搜索广告)而变得更健康、盈利。
    • 创业者和风险资本将重新涌入这些曾被谷歌扼杀的空间。
  • 时代标志:当企业家开始在广告、搜索和新闻领域看到并抓住新机会时,便意味着进入了“后谷歌世界”。
9. Richard Feynman and the Connection Machine (1989) (longnow.org)

理查德·费曼与Connection Machine(连接机)的故事始于一次午餐。当丹尼尔·希利斯向费曼提及计划建造一台拥有百万处理器的并行计算机时,费曼最初斥之为“他听过的最傻的想法”。然而,对他而言,一个疯狂的想法恰恰是一个证明其对错的机会。午餐结束时,他同意加入该项目。

费曼的计算兴趣源于他在洛斯阿拉莫斯管理“计算员”(即操作机械计算器的人员)的经历。他通过儿子卡尔在MIT的学习,关注到希利斯设计的“连接机”项目。尽管心存疑虑,但他始终密切跟进,并在公司(Thinking Machines Corporation)成立后的第二天就报到,要求分配“实际任务”。

项目初期,团队最担忧的是连接百万处理器的“路由器”设计。费曼的任务是分析该路由器的缓冲区数量是否足够。他采用了独特的方法:如同研究自然现象一般,通过手写模拟电路来理解其行为,并最终用偏微分方程来描述这个离散的数字系统。他提出的方程表明可以减少缓冲区数量,尽管团队最初未予采纳,但在芯片尺寸制造难题面前,最终采纳了他的方案并获得了成功。

费曼的贡献远不止于此。他深入细节,编写了高效的对数计算子程序,该算法基于将数字分解为特定因子的乘积。他通过手动模拟并行版Basic程序,证明了连接机在量子色动力学计算上能够超越专用机器,从而将团队的目光引向数值模拟应用。他还对细胞自动机产生了兴趣,这启发了用该机器进行流体动力学等物理模拟的工作。

费曼是一位卓越的“解释者”。他能将复杂的技术概念转化为生动、贴近现实的比喻,让非专家也能理解。他坚持简化语言,反对将简单事物复杂化。他的工作风格极其注重基础和细节,喜欢将问题简化到本质,并沉浸于解决“谜题”中。

在个人特质上,费曼乐于从事包括焊接电路板在内的“脏活累活”,但常假装不喜欢被咨询。他思维敏锐,总能比他人理解得更深,并且能够清晰地传授所知。他的魅力部分在于他能以平等和坦诚的方式对待他人。

文章结尾提及了他与作者合作研究模拟进化,尽管他们的独立发现已有先驱,但费曼对此感到高兴。在生命最后阶段与作者的散步对话中,费曼流露出对死亡的平静,并道出了他将知识传授他人的满足感。最终,他依然以探索者的姿态,为作者指了一条回家的“更好的路”。整篇文章刻画了费曼作为一位充满好奇心、注重实践、善于沟通且极富人格魅力的科学家的形象,他在连接机项目中的参与体现了跨学科思维与动手解决实际问题的精神。

10. Keyhole – Forge own Windows Store licenses (massgrave.dev)

概要

背景与发现

本文介绍了一个名为 Keyhole 的 Windows 许可证系统漏洞。该漏洞允许用户伪造任意 Microsoft Store 应用或 Windows 版本的许可证,从而绕过 DRM(数字版权管理)保护。作者独立发现了此漏洞,该漏洞随后被 Cisco TALOS 作为安全漏洞(CVE-2024-38184)报告给了微软并已修复。

核心系统:CLiP

漏洞存在于 Windows 的 CLiP(客户端许可平台) 系统中。该系统负责管理 Microsoft Store 应用和 Windows 数字许可证的验证与激活。

  • 主要组件:包括用户态服务 clipsvc.dll(管理许可证)、内核驱动 clipsp.sys(验证许可证)以及工具 clipup.exe(迁移旧许可证)。
  • 验证流程:应用安装时,会将签名的许可证 XML 文件发送至 clipsvc.dll。验证签名后,许可证数据被存储,然后将许可块发送至内核驱动 clipsp.sys 进行最终验证。整个过程被认为构成了从用户态到内核态的信任链。

漏洞原理:Keyhole

  1. 密钥泄露clipup.exe 中硬编码了一个用于签署许可证 XML 的有效 ECDSA 私钥。攻击者可利用此密钥自行签署任意许可证 XML。
  2. 签名验证缺陷:许可证块使用 TLV(标签-长度-值) 格式存储数据,其末尾有一个类型为 0xCC 的签名块,理论上用于保护之前的所有数据。然而,位于签名块之后的数据被系统完全忽略,且同类型的数据块中,后者会覆盖前者
  3. 攻击方法
    • 获取一个已有的设备锁定许可证(如免费游戏 Roblox 的许可证)。
    • 在原始许可证块的签名块之后,附加新的数据块(例如,包含 Windows 激活信息的数据块)。
    • 使用泄露的私钥签署包含此修改后许可证块的新 XML 文件。
    • 将文件放入指定目录并重启 clipsvc 服务,即可完成激活。 此方法成功绕过了整个 CLiP 的签名验证机制。

影响与修复

  • 影响:可以激活任意 Windows 版本(包括企业版 LTSC),甚至可以为使用通用密钥的 KMS 服务器提供永久数字许可,彻底破坏了 CLiP 的 DRM 系统。
  • 修复:微软已在更新中修复此漏洞。修复后的 clipsp.sys 驱动程序在解析到签名块后会立即停止处理后续数据,从而阻止了对签名后数据的利用。

相关发现与背景

  • 代码来源:CLiP 系统的大部分代码(包括许可证格式和解析逻辑)直接复制自 Xbox One 游戏机的安全处理器(SP)固件。因此,相同的解析逻辑缺陷(Keyhole)也存在于 Xbox 代码中,但由于解析流程的细微差异,该漏洞在 Xbox 上不适用
  • 研究资源:作者已公开用于生成 Keyhole 许可证的代码以及附带调试符号的 CLiP 二进制文件,以鼓励进一步研究。
11. What's new in C++26 (part 1) (mariusbancila.ro)

C++26 新特性概述(第一部分)

C++26 标准仍在制定中,但已新增多项语言和库特性,部分特性已获 Clang 和 GCC 支持。本文介绍了以下新语言特性:

1. 为删除函数指定原因

  • C++11 起可声明函数为 = delete,禁止其使用。
  • C++26 允许在 = delete 后添加字符串原因,例如:
    NonCopyable(const NonCopyable&) = delete("管理唯一资源,不支持复制,请使用移动。");
    
  • 该特性帮助 API 作者提供更明确的错误信息(提案:P2573R2)。

2. 无名占位符变量

  • 使用单下划线 _ 声明未使用变量,自动隐含 [[maybe_unused]] 属性:
    auto [data, _] = get_data();
    
  • 适用于自动存储期变量、结构化绑定(非命名空间作用域)、lambda 捕获和非静态数据成员。
  • 同一作用域内可多次声明 _,但无法在命名空间作用域或静态变量中使用(提案:P2169)。

3. 结构化绑定声明作为条件

  • 现可在 if/while/for 语句的条件中使用结构化绑定:
    if (auto [ptr, ec] = std::to_chars(p, last, 42)) { /* 成功 */ } 
    else { /* 处理错误 */ }
    
  • 该特性简化了如 std::to_chars 返回值的处理(提案:P0963)。

4. 用户生成的 static_assert 消息

  • static_assert 的第二个参数(错误消息)可接受编译期用户生成的字符串对象:
    static_assert(sizeof(int) == 4, std::format("期望4,实际{}", sizeof(int)));
    
  • 此特性提升了断言消息的灵活性(提案:P2471R3)。
12. Asynchronous IO: the next billion-dollar mistake? (yorickpeterse.com)

异步IO:下一个十亿美元的错误?

异步IO(非阻塞IO)是一种允许应用执行多个IO操作而不阻塞调用线程,且无需创建大量线程的技术。该技术因应1990年代末至2000年代初的C10K问题(即互联网流量增长导致Web服务需处理海量连接)而兴起。其核心优势在于能以单线程处理大量连接,在当时操作系统线程支持尚不完善的背景下(如Linux 2.6之前线程支持较弱),显得尤为吸引人。

异步IO的支持随后不断发展。Go、Erlang 等语言将其内建于语言中,Rust 通过第三方库(如Tokio)实现,而作者开发的 Inko 语言也内置了支持并隐藏了实现细节(例如,读写Socket时无需显式轮询或等待)。

然而,并非所有IO都能以非阻塞方式执行。文件IO 是一个典型反例:在Linux上,文件始终可读写,导致系统轮询机制(如epoll)无效,必须采用其他策略处理长时间操作。新兴的 io_uring 虽然提供了一种方案,但仅限Linux平台,且被部分环境禁用。因此,系统需要针对Socket和文件(及其他“文件”类型)采用不同处理方式。

Inko的解决方案是通过标准库向调度器发出可能阻塞的信号。调度器定期检查线程状态,若线程长时间处于“可能阻塞”状态,会被标记为“阻塞”并唤醒备用线程接管工作。这种设计虽可行,但限制了并发阻塞IO操作的数量(取决于备用线程数),自动调整线程数量又会增加系统复杂度。

作者提出了一个根本性质疑:借鉴Tony Hoare将NULL指针称为“十亿美元错误”的反思,他认为过去20年投入大量资源开发各种异步IO方案(如async/await)可能是一个错误。他认为,这些资源本应用于优化操作系统线程的性能,从而消除对异步IO的需求。

作者设想了一个理想场景:如果线程启动和上下文切换的成本极低,使得开发者能轻松使用数十万OS线程而无性能瓶颈,那么异步IO和async/await将不再必要。这不仅能提供更简单的编程模型,还能简化技术栈(无需epoll、kqueue等库),并轻松处理可能阻塞的C函数调用。

然而,现实情况是OS线程开销高且跨平台不一致。尽管作者认为投入改进线程性能更为合理,但当前操作系统(如Linux)未能实现线程性能的革命性提升。因此,在出现一个能颠覆现状的新操作系统之前,我们仍需继续依赖异步IO技术。

15. Conservative GC can be faster than precise GC (wingolog.org)

保守式GC可能比精确GC更快

核心观点

传统观点认为精确垃圾回收(GC)总是优于保守式GC,因为保守式GC可能错误地保留不需要的对象,导致GC更频繁地运行且每次收集需要扫描更大的堆。然而,本文指出保守式栈扫描在某些情况下可能带来性能优势。

保守式GC的定义

本文讨论的保守式GC特指保守式根查找:回收器假设栈上任何恰好是堆地址的整数都指向一个对象(即使该地址不在对象起始位置)。堆上的对象仍然被精确追踪。此类回收器会固定被保守根引用的对象,但其他对象可以移动。

保守式GC可能更快的原因

  1. 更小的对象生命周期
    精确GC需要编译器生成栈映射(stack maps)来标记哪些栈槽持有堆引用。但这些生命周期信息可能过于保守,导致GC时标记为存活的对象多于实际需要的对象。保守式栈扫描可能允许编译器更精确地判断引用的有效性。

  2. 无运行时开销
    当代码需要调用外部语言(如C++)时,精确GC需要在运行时数据结构中精确跟踪根引用,这会带来额外开销。保守式GC避免了这类开销。

  3. 更小的栈帧
    编译器可能将栈上的溢出空间分为指针区域和非指针区域,这可能导致栈尺寸增大。保守式扫描允许更灵活的栈空间复用,从而减小栈帧大小。

  4. 无需栈映射
    生成和查询栈映射会增加二进制文件体积和运行时开销。保守式GC通过直接测试栈上的字是否可能是堆指针来避免这些开销。

  5. 编译器优化自由度更高
    无需生成栈映射的约束可能使编译器采用更优化的代码生成策略,例如使用内部指针。

实证支持

  • Conservative Immix论文显示保守式栈扫描在某些场景下优于精确扫描。
  • 作者通过并行栈保守式回收器(parallel-stack-conservative-mmc)与并行回收器(parallel-mmc)的对比实验重现了类似结果,尽管性能提升幅度较小(约1%)。
  • 工业实践:苹果的JavaScriptCore采用保守式栈扫描,V8引擎也在考虑转向该方案。

结论

在设计垃圾回收系统时,保守式栈扫描不应被忽视。两种方式的权衡并非绝对,保守式扫描在某些工程场景下可能是更合适的选择。

16. QtCS2024: Compile once, Run everywhere (wiki.qt.io)

QtCS2024: 一次编译,到处运行

本次会议探讨了利用 Cosmopolitan Libc 解决 C++ 应用程序跨平台(Windows、Linux、macOS,涵盖 x86_64 和 arm64 架构)编译和部署复杂性的替代方案。

现状与挑战

目前,Qt Creator 需要针对不同平台分别编译。例如,为 macOS (X64 和 ARM64)、Linux 以及正在推进中的 Windows ARM64 构建独立的安装包。这一过程复杂且耗时。

解决方案:Cosmopolitan Libc

Cosmopolitan Libc 是一个 C 运行时库,其核心能力在于 在运行时检测宿主操作系统并提供相应的系统调用。这使得一次编译的 C++ 应用程序有望在多个平台上直接运行。

  • 编译方式:通常需先编译 X64 和 ARM64 两个版本,然后将它们打包为一个批处理脚本加有效载荷的单一文件,类似于 Linux 的自运行安装程序。
  • 实际案例:Mozilla 的 llamafile 项目便是基于 Cosmopolitan Libc 的一个成功应用范例,下载后添加执行权限即可在本地运行。

实践与验证

演讲者克里斯蒂安·亚当(Qt Creator 团队成员)已成功使用 Cosmopolitan Libc 构建并运行了 CMake、Qt Base 以及一个带有 VNC QPA(平台抽象层)的 Qt GUI 应用程序,并在 macOS 和 Linux 上验证了其运行。然而,由于 Cosmopolitan Libc 对 POSIX 的实现方式,在 Windows 上遇到了问题

挑战与现状

  • 平台集成:与原生系统功能集成、应用程序启动机制以及为 Qt QPA VNC 平台支持 WebSockets 仍存在挑战。
  • 功能演示:演示中,使用 Cosmopolitan 构建的 Qt Creator 能够运行且菜单功能正常,但缺少窗口边框
  • 性能与体积:Cosmopolitan 版本的 Qt Creator 二进制文件大小约为 230 MB,运行性能与原生版本相比没有显著差异

未来计划

演讲者计划继续为 Qt Creator 开发 Cosmopolitan Libc 支持,并鼓励社区参与贡献和报告相关问题。

17. Tomato64: A port of Tomato Firmware to x86_64 (tomato64.org)

Tomato64:将Tomato固件移植到x86_64架构

Tomato64是将Tomato路由器固件移植到x86_64arm64(支持GL-MT6000、BPI-R3、BPI-R3 Mini)架构的项目。它基于Linux LTS内核musl libc构建。

主要特性

  • 网络与端口扩展:支持最多8个网络/LAN(从4个增加)、最多9个以太网端口(从5个增加)。
  • 高性能处理:无需CTF即可处理千兆以上速度。
  • 深度包检测:集成nDPI库替代传统L7过滤器,提供强大的QoS和访问限制控制。
  • 现代内核:采用Linux 6.12.x内核。

功能概述

Tomato64集成了丰富的网络管理与服务功能,包括:

  • 监控与限制:按接口的带宽监控、按客户端的IP流量监控、IP/MAC带宽限制。
  • 网络协议与服务:DDNS客户端、高级QoS、访问控制、端口转发、MultiWAN、SSH/Telnet。
  • VPN支持:OpenVPN服务端/客户端、PPTP服务端/客户端、Tinc VPN守护进程。
  • 基础服务:NTP客户端/服务器、SNMP协议、Web监控、策略路由、CIFS客户端。
  • 存储与外设:支持USB 1.1/2/3大容量存储,兼容ext2/3/4、FAT32、exFAT、NTFS、HFS/HFS+、ZFS等多种文件系统,支持USB 3G/4G调制解调器及 tethering 设备。
  • 高级功能:IPv6、WOL网络唤醒、Samba服务器、FTP服务器、Minidlna多媒体服务器、打印服务器(p910nd)、Tor客户端、Miniupnpd、DNS过滤/广告拦截、支持PHP/MySQL的Web服务器(nginx)、Transmission BT客户端、Stubby/DNScrypt-proxy、NFS服务器、Udpxy、IGMP代理、APCUPSD、Captive Portal(nocatsplash)。
  • 管理与定制:可定制的GUI主题(含在线主题集成)、TomatoAnon项目统计、内部调度器、GUI自定义脚本、sd-idle工具、IPerf工具。
  • 网络配置:通过GUI进行高级VLAN配置、多个LAN支持、LAN内访问控制、自定义MAC地址、巨型帧支持。

评价

Tomato64被视为项目发展的重要里程碑,被评价为“真正的游戏规则改变者”。在具有2.5G端口的小型PC流行的当下,该项目被认为是一个出色的解决方案。

注:本文基于提供的文章内容总结,未包含个人观点。

18. Groups underpin modern math (www.quantamagazine.org)

群论是现代数学的基础理论之一,其抽象结构深刻影响了数学的发展与应用。该理论起源于18世纪末至19世纪初,由法国数学家埃瓦里斯特·伽罗瓦在1830年正式提出,并经过数十年逐步完善而成。

群是一个集合及定义在其上的二元运算,需满足四条公理:封闭性、结合律、存在单位元及每个元素存在逆元。整数集与加法构成一个典型交换群,而等边三角形的对称变换(旋转与反射)则构成一个非交换群(D6),这表明群不一定满足交换律,这种灵活性极大拓展了数学结构的研究范围。

通过研究子群(保持原运算的子集)可分析群的结构,特别是正规子群能像质因数分解一样将群分解。没有非平凡正规子群的群称为单群,它们是群的基本构建块。20世纪数学家致力于对所有有限单群进行分类,发现其几乎全部属于几大家族或为26个散在群之一,其中最大的“怪物群”拥有超过8×10^5^4个元素,对应近20万维空间的旋转对称性。该分类工作历经百年,最终于2004年完成证明。

群论不仅推动了代数、几何和分析学的发展,还在密码学、病毒形态研究和物理学基本力统一理论中发挥重要作用。环、域、向量空间等更复杂的数学结构均建立在群的基础之上,体现了其作为抽象数学核心框架的深远意义。

19. The Beginnings of FM Radio Broadcasting (2018) (www.theradiohistorian.org)
# FM广播的开端

## 背景:Apex广播实验
20世纪30年代初,传统中波广播(540-1600 kHz)受制于静电干扰、信号衰落和音质有限等问题。为寻求解决方案,广播电台开始在超高频段(25-26 MHz和42 MHz)进行实验性广播,这些电台被称为“Apex电台”。它们使用调幅(AM)技术,虽减少了同频干扰,但静电问题依然存在。至1939年,美国22个州的34个城市运营着Apex电台。

## 阿姆斯特朗的宽带FM技术突破
埃德温·阿姆斯特朗少校在哥伦比亚大学的研究中,为解决无线电静电问题,转向调频(FM)技术研究。他的革命性发现是“宽带FM”:通过大幅增加频率偏移(宽带宽),实现了高保真音质、高信噪比、低发射功率需求以及卓越的抗干扰能力。由于FM信号的幅度变化不影响信息传输,且通过接收机中的限幅器可进一步抑制噪声,FM从根本上解决了静态干扰问题。

## 早期演示与FCC的认可
1933-34年,阿姆斯特朗向RCA私下演示了FM技术,但未获支持。1935年11月,他在无线电工程师学会(IRE)进行了首次公开演示。1939年1月,他在新泽西州阿尔卑斯山的自建电台(W2XMN)向FCC工程师展示了FM的优越性能。FCC对FM在抗静电干扰方面的效果印象深刻,决定授权其他实验FM电台,并暂停了Apex广播许可。

## 首批FM电台与FCC的正式授权
- 1939年5月,康涅狄格州WDRC将其实验电台W1XPW转为FM,成为首个商业FM电台。
- 1939年7月,阿姆斯特朗的W2XMN开始定期广播。
- 1940年7月,马萨诸塞州W1XOJ(由阿姆斯特朗支持者约翰·谢泼德三世运营)开播。
这些早期电台展示了FM的覆盖范围和音质优势,但当时全球仅有约25台手制FM接收机。

1940年5月20日,FCC正式授权商业FM广播,并将42-50 MHz原电视频道划给FM使用,形成了40个专用频道。这标志着Apex AM广播的终结和FM的诞生。

## 战前发展与网络潜力
- 1941年3月,美国首个商业FM许可颁发给纳什维尔的W47NV。
- 众多AM电台开始申请FM执照,以保护自身利益或开拓新市场。
- 设备制造商(如GE、REL)积极生产FM发射机,29家厂商提供100多款FM接收机。
- FM的无线中继能力使得创建廉价、高音质的区域广播网络成为可能,对传统AM网络和电话公司构成威胁。

## 二战期间的发展停滞
1941年12月美国参战后,电子设备生产全面转向军工,FCC冻结了新执照申请。至1942年2月,美国仅有31座FM电台运营。战时FM发展基本停滞,尽管已有430份申请在排队。

## 战后频带变更与FM的挫折
- 1945年,FCC提议将FM频带从42-50 MHz迁至88-108 MHz,以便为电视让出频谱。
- 尽管阿姆斯特朗等人指出技术依据不足,但FCC基于战时工程师肯尼思·诺顿(有误的)计算,最终决定迁移。
- 新频带传播特性较差,需三倍发射功率才能达到原覆盖范围。
- FCC进一步限制了FM发射功率,允许AM/FM节目完全重复,削弱了FM的独特吸引力。
- 这些决策导致40万台旧频段FM接收机和数十家电台作废,FM发展陷入长期低谷。

## 衰落与最终复兴
- 1949年后,FM电台数量增长缓慢,听众稀少,许多电台关闭(如1950年WTMJ-FM)。
- 1953-1956年是FM的至暗时刻,阿姆斯特朗也因专利诉讼压力于1954年自杀。
- 1957年,FM开始复苏,推动力包括:多路复用副载波服务、改进的接收机(AFC电路)、AM波段过度拥挤,以及高保真立体声需求。
- 1961年,FCC授权多路复用立体声广播。
- 1964年,FCC要求大城市AM/FM电台每天播出一半时间的独立节目,催生了自由形式音乐节目,吸引了年轻听众。
- 到1980年代,FM凭借音质和节目优势成为主导广播媒介。1982年,FM占据了美国总收听量的70%。

## 结语
尽管FM技术因其卓越性能最终战胜了既得利益者的压制,但其发展路径受到战争、频谱政治和商业竞争的深刻影响。如今,面对卫星广播和流媒体的竞争,FM广播仍是主要的音频娱乐和信息来源之一。
20. Unconventional Case Study of Neoadjuvant Oncolytic Virotherapy for Breast Cancer (www.mdpi.com)
21. DevHub.app – Developer Utilities for macOS (github.com)

DevHub 是一款面向 macOS 开发者的离线、本地优先的生产力工具应用。它将大量高频开发工具集成于一处,旨在替代分散的网页工具、Shell 脚本和临时工具网站,提升工作效率并注重数据隐私。

核心特性

  • 本地离线运行:所有工具均在本地执行,无需联网,保障数据隐私与使用稳定性。
  • 工具高度集成:集成了文本处理、代码格式化、编解码、图像工具、API 请求、时间日期工具、二维码、哈希与密钥生成、文件及设备信息等多种开发常用工具。
  • 针对 macOS 优化:为 Mac 开发者提供一个统一、轻量的工具入口。
  • 支持 URL Scheme:可与 Raycast、浏览器、终端命令及自动化工作流集成。
  • 持续快速更新:目标为每周发布更新,工具集持续扩充。

目标用户

  • 前端、后端、测试及运维工程师。
  • 需要快速、本地化工具集的独立开发者。

已覆盖的工具类别

  • 文本与编解码:Base64、Unicode、HTML 编解码、文本转换等。
  • 代码与数据:JSON 格式化、正则测试、JWT 解析、URL 处理等。
  • 图像与媒体:OCR、图像加水印、颜色提取、EXIF 查看等。
  • 生产力与系统:世界时间、日期转换、设备信息、文件信息、chmod 计算等。
  • 安全与网络:API 请求、哈希生成、SSL 管理、RSA 密钥生成等。

常见使用场景

  • 快速格式化、检查常见开发数据(如 JSON、JWT、Base64)。
  • 生成各类二维码(事件、名片、WiFi 等)。
  • 提取或处理图像信息(EXIF、水印、背景填充、隐私模糊等)。
  • 生成密码、哈希、密钥,执行编解码与格式转换。
  • 通过 URL Scheme 从 Raycast 或自动化工作流快速调用特定工具。

系统要求与隐私

  • 要求 macOS 14.0 或更高版本。
  • 作为本地离线应用,不主动收集、存储或传输用户个人或敏感信息。
22. The Hindenburg’s Interior (rarehistoricalphotos.com)

兴登堡号飞艇是20世纪30年代德国齐柏林飞艇的代表作,曾被视为跨大西洋豪华航空旅行的未来。这艘飞艇拥有庞大的铝制框架和涂有特殊材料的棉质蒙皮,其内部设计由曾设计过火车车厢和远洋客轮的弗里茨·奥古斯特·布罗伊豪斯负责,旨在为乘客提供平稳而奢华的空中体验。

飞艇的上层“A”甲板设有25间两人小客舱,以及餐厅、休息室和阅览室等大型公共区域。每间客舱都配备了呼叫按钮、可折叠书桌、带冷热水的洗手盆和小衣橱,但没有独立卫生间,所有客舱均不设卫浴设施。乘客的公共活动主要集中在宽阔的观景长廊和装饰精美的公共休息室内。

下层“B”甲板则设有船员餐厅、盥洗室,以及一个令人惊讶的吸烟室。考虑到飞艇内填充的是易燃的氢气,吸烟室被设计为加压环境,以防止氢气渗入,并且其入口处设有气密双重门,任何携带明火离开的人都会被酒吧服务员严格检查。酒吧提供特调鸡尾酒。

1936年是兴登堡号唯一一个完整运营的年份,它共完成了17次跨大西洋往返航行(10次赴美,7次赴巴西)。单程票价高达400美元(相当于2021年的约7811美元),乘客多为富裕的名流。飞艇曾飞越1936年柏林奥运会开幕式上空,并因其异常的稳定性而闻名。

然而,1937年5月6日,兴登堡号在美国新泽西州莱克赫斯特海军航空站尝试系泊时突然起火焚毁。这场被广泛报道的灾难造成36人死亡(13名乘客和22名机组人员,以及1名地面人员),其惨烈的影像彻底摧毁了公众对大型载客硬式飞艇的信心,标志着巨型飞艇商业运营时代的突然终结。

23. Browsing Hacker News in the Terminal (hnterm.ggerganov.com)

项目摘要

标题: 在终端中浏览Hacker News

关键信息:

  • 构建时间: 2022年3月13日 17:35:13
  • 提交哈希: 563e8787
  • 提交主题: emscripten : fix performance issues on some browsers(修复Emscripten在某些浏览器上的性能问题)
  • 代码访问: 通过GitHub查看(链接已提供)
24. Dance Choreography Notation (2017) (adafrobinson.wordpress.com)

舞蹈记谱法是一种通过符号系统记录舞蹈动作的技术,其发展贯穿历史,旨在解决舞蹈作为瞬时艺术的记录难题。本文介绍了四种对舞蹈记录产生重大影响的记谱法系统。

1. Beauchamp-Feuillet 记谱法 这是欧洲舞蹈记谱法的开端,由 Pierre Beauchamp 创立,并由 Raoul-Auger Feuillet 于1700年在其著作中详细描述。该系统主要用于记录巴洛克舞蹈,在18世纪欧洲广泛使用。它通过空间线、音乐小节线和曲线来表示舞者的路径、节拍和具体舞步,视觉上被认为具有美感。

2. Stepanov 记谱法 由 Vladimir Stepanov 于1892年创立,这是首个基于人体解剖学分析的舞蹈记谱法。其符号形式类似于音乐乐谱。该系统最重要的贡献是记录了谢尔盖耶夫收藏集,其中保存了《睡美人》、《天鹅湖》、《胡桃夹子》等多部经典芭蕾舞剧的舞谱,这些珍贵资料现藏于哈佛大学图书馆。

3. Labanotation 由鲁道夫·拉班于1928年发明,此系统旨在记录任何形式的人体动作,不仅限于舞蹈,还可用于滑冰、游泳等。纽约舞蹈记谱局(1940年成立)将其作为主要记谱法,用于保存编舞作品及相关档案(节目单、影像等)。

4. Benesh 记谱法 由琼和鲁道夫·本尼施于1950年代共同创立。该系统与音乐五线谱紧密结合,被广泛用于多个领域:编舞家用于版权保护和参考,舞者用于学习角色,舞蹈教师用于教学,学者用于研究,以及舞蹈公司用于保存剧目、影视行业用于规划动作等。它是当今大多数编舞家和芭蕾档案管理员的首选,也是英国皇家舞蹈学院(RAD)唯一的官方记谱法。

总结与现代应用 舞蹈记谱法的发展体现了不同时代人们对准确记录舞蹈的追求。从早期的Beauchamp-Feuillet系统到现代的Benesh系统,这些记谱法在保存舞蹈遗产、辅助教学、支持研究和保护知识产权等方面发挥着关键作用。此外,文章也提及了摄影、录像、节目单收藏等其他形式的舞蹈记录方法,共同构成了舞蹈文献保存的多维体系。作者后续将基于Benesh记谱法研究斯特拉文斯基的《春之祭》,并计划查阅相关舞蹈档案以深入探索。