
汇总北京时间 2026 年 9 月 25 日 Hacker News 首页前 20 条,保留英文原标题、原文入口、中文要点与同一快照的讨论热度。
liga 上下文替换,注册给了所有文字系统,所以浏览器默认就会开启;下载下来的是普通 OpenType 字体,在浏览器、设计工具和印刷里都能用,如果看起来没变化就要检查连字是否被关掉了。字体不会上传,全部在本地用 Pyodide 与 fontTools 跑。作者给的技巧包括:用 Y 轴偏移与缩放让字形对齐,多个混入字体时会周期性相撞(例如每 5 个和每 7 个会在第 35 个相撞,此时第一个字体胜出),步长取质数可以让相撞更少。许可方面,两份字体混合后属于衍生作品,商用要自己核对两边原字体的许可,工具本身不附加条件。作者写明灵感来自 Times New Bastard 与 Easy Pete。57 条评论几乎全是玩票式反馈:有人说自己花的时间远超预期、边做边笑;有人指出类似的混排用 CSS 的 @font-face 加 unicode-range 也能做,并贴了示例;有人贡献了一个更损的玩法——保留原字体,只给某些单词加连字,让「red」渲染成「green」。unsafe 从 SIMD 里拿掉:其他 SIMD 抽象里 rg unsafe 能搜出几千处 unsafe 块,而 fearless_simd 靠一个 kernel! 宏调用大多数 SIMD 内建函数,再配一个受 bytemuck、zerocopy 启发的安全 transmute 模块处理加载与存储——只需审计两处自包含的构件,其余代码的内存安全就由类型系统保证。性能上,它同时提供跨平台结果一致的精确实现在与允许平台差异的快速实现,支持按硬件原生向量宽度写算法,也支持固定宽度;实现过程中还把改进推回了 Rust 与 LLVM 上游。易用性方面随 1.0 一起发布 fearless_simd_macros 0.1,其中 #[simd] 宏处理函数多版本分派,作者说旧方案要么要求手加 #[inline(always)]、要么每次调用都有开销,两者都会漏出底层细节。稳定承诺是 1.0 及之后版本提供 3 年安全更新。生态采用度上,已有 30 个 crate 直接依赖它,间接依赖超过 1000 个。作者也说明与 std::simd 的关系:等标准库稳定后会迁过去以删掉自定义代码,但多版本分派、按硬件宽度取向量这些部分仍会留在生态库里。28 条评论里,有人庆祝它终于摆脱了 0.x;有人贴出此前 2018 年原型与 2025 年「七年之后」两篇旧帖的讨论;另一个 SIMD 库的作者、正在给 Dart 加 SIMD 的开发者,以及一位用它写出 memchr-n 并报告其在 1 至 3 字节集合上超过 Rust memchr 的用户,都留下了反馈。std::memory_order 形式化并行的部分只有两小段。22 条评论里,有人调侃并行编程一开始都是「哇哦」,然后就是并行调试,十五年过去人已经换了一批;有人建议用 Lean 做 LLM 正确性证明,说这件事无法靠单元测试解决;有人指出这篇书评把并行与并发当成一回事,并引用 Rob Pike 的说法——并发是同时处理很多事情,并行是同时做很多事情;也有人给出更推荐的两本教材,以及一句玩笑式的答案:问 Claude。ansi2html 库,先提了 issue 与 PR,随后以 CTF 背景继续挖,构造出一段恶意输入:把 OSC 8 超链接序列写进日志,转义后生成 <a href="https://example.com/" autofocus tabindex="1" onfocus="...">,触发点只要页面获得焦点。要把它送进日志并不难——给公开邮件列表发一个补丁并在项目上开了持续集成即可,甚至不需要账号;也可以用任何会被打进日志的远程资源。作者说明这类日志页面本身带着 CSRF 令牌,一旦有管理员打开,攻击者可以借此给自己提权,更严重的是能读到全部部署密钥,而 builds.sr.ht 上存着 sr.ht 自身的部署密钥。他第一时间邮件通知了 SourceHut 安全列表,Drew DeVault 选择在 builds.sr.ht 侧对 ansi2html 的输出自动做净化;两个月后才联系上游 pycontribs 组织,一位维护者回复「两周后再给我发邮件」,另一位至今未回。作者还给了防纵深防御的建议:收紧内容安全策略、去掉 unsafe-inline、把 ansi2html 改写成有状态的状态机。9 条评论里,有人称赞他顺手把上游 Python 项目也修了、时间线没什么可指摘的;有人说起「HN 带来的流量打死站点」;有人借题讨论一个流行说法——主流产品的漏洞更容易被发现和修复,小众项目是否更危险;也有人一眼认出问题出在终端的 OSC 8 超链接上,说自己写过版本的 ansi2html 时会激进地剥掉所有控制序列。This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.