zhulink logo
自动夜间模式 日间模式 夜间模式
侧栏
0

【HN中文日报】科技头条速递:Rust安全新突破、LLM遇难题、X平台CEO离职...瓜多料猛,速来围观!

意外富翁的头像
|
|
|
111 ## 今天 Hacker News 社区聊了啥? NO.20250709 今日份科技圈大事件已送达!Rust 内存安全迎来新方案 Tree Borrows,性能更强!LLM 竟然搞不定 q/kdb+ 代码?背后原因令人深思。还有 Ruby 3.4 冻结字符串,Rails 开发者必看!X 平台 CEO 突然离职,背后发生了什么?想知道 Shopify 文档机器人靠谱吗? 7-Zip 重大更新,性能飞升!更有 Git 漏洞、eSIM 安全风险等你来探索!干货满满,速戳链接,了解更多精彩内容! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## Tree Borrows:解决 Rust 不安全代码的内存安全问题 本文介绍了 Tree Borrows,这是一种旨在改进 Rust 语言中不安全代码内存安全保证的新方法。Tree Borrows 通过改进现有的 Stacked Borrows 模型,减少了对实际不安全 Rust 代码的限制,同时保留了关键的编译器优化。 Rust 以其基于所有权的类型系统而闻名,该系统提供了强大的内存安全和数据竞争自由保证。然而,Rust 也提供了不安全的代码块,在这些代码块中,程序员需要手动维护安全性。编译器希望利用类型系统的强大保证(特别是关于指针别名的保证)来解锁强大的过程内优化。但是,这些优化很容易被“行为不端”的不安全代码破坏。为了确保此类优化的正确性,有必要明确定义什么是不安全代码的“行为不端”。 为了解决这些问题,研究人员提出了 Tree Borrows。顾名思义,Tree Borrows 通过用树替换 Stacked Borrows 核心的堆栈来定义。这克服了上述限制:对 30000 个最广泛使用的 Rust crate 的评估表明,Tree Borrows 拒绝的测试用例比 Stacked Borrows 少 54%。此外,研究人员证明(在 Rocq 中),它保留了 Stacked Borrows 的大多数优化,并且还实现了重要的新优化,特别是读-读重排序。Tree Borrows 旨在更准确地反映 Rust 借用检查器的高级特性,并减少对实际不安全 Rust 代码的限制。该方案使用树结构来跟踪借用关系,而不是像 Stacked Borrows 那样使用堆栈,从而允许更灵活的别名使用模式。实验结果表明,Tree Borrows 能够接受更多有效的 Rust 代码,同时保持甚至改进了编译器优化。该研究还获得了 PLDI'25 的杰出论文奖。 Tree Borrows 的论文、工件和源代码均已公开。这使得开发者和研究人员可以深入了解该方案的实现细节,并进行进一步的实验和改进。Tree Borrows 的提出,有望在保证 Rust 代码安全性的同时,提升其性能和灵活性,为 Rust 语言的发展做出贡献。 - 原文: [Tree Borrows](https://plf.inf.ethz.ch/research/pldi25-tree-borrows.html) - Hacker News: [https://news.ycombinator.com/item?id=44510600](https://news.ycombinator.com/item?id=44510600) - 作者: zdw - 评分: 14 - 评论数: 1 - 发布时间: 2025-07-09 22:40:24 --- ## LLM 无法编写 q/kdb+ 代码的原因:从右向左的编程范式 本文探讨了大型语言模型 (LLM) 在编写 q/kdb+ 代码时遇到的困难,核心问题在于 q/kdb+ 采用的“从右向左,无运算符优先级” (RL-NOP) 的求值顺序。这种求值方式与 LLM 擅长的从左到右的编程范式截然不同,导致 LLM 难以生成正确的 q/kdb+ 代码。 文章指出,尽管 LLM 能够识别 RL-NOP 规则,但在实际编写代码时,常常会混淆 Python 和 q/kdb+ 的语法规则,导致生成的代码既不符合 Python 规范,也不符合 q/kdb+ 规范。作者引用了 APL 创始人 Ken Iverson 的观点,认为从右向左的求值顺序更易于阅读,但作者认为,对于 LLM 而言,从右向左编写代码是一项挑战。 文章进一步解释说,LLM 在处理从右向左的编程任务时,需要先“编写未来”,然后再“编写过去”,这与 LLM 的训练方式和模型架构可能存在冲突。此外,由于 q/kdb+ 等 RL-NOP 语言的用户群体较小,相关的训练数据也相对匮乏,这进一步加剧了 LLM 学习和掌握这些语言的难度。 为了解决这个问题,作者提出了 Qython 的概念,这是一种类似于 Python 的语言,可以干净地编译成 q/kdb+ 代码。Qython 采用 Python 的从左到右的语法和规则,LLM 可以自然地编写 Qython 代码,然后通过翻译器将其转换为 q/kdb+ 代码。作者通过一个使用 Qython 编写 Newton 迭代法求平方根的例子,展示了 Qython 的可行性。 总而言之,文章深入分析了 LLM 在编写 q/kdb+ 代码时面临的挑战,并提出了 Qython 这一创新的解决方案,为 LLM 更好地支持小众但重要的编程语言提供了新的思路。 - 原文: [Why LLMs Can't Write Q/Kdb+: Writing Code Right-to-Left](https://medium.com/@gabiteodoru/why-llms-cant-write-q-kdb-writing-code-right-to-left-ea6df68af443) - Hacker News: [https://news.ycombinator.com/item?id=44498766](https://news.ycombinator.com/item?id=44498766) - 作者: gabiteodoru - 评分: 79 - 评论数: 43 - 发布时间: 2025-07-08 18:40:03 --- ## Ruby 3.4 冻结字符串:Rails 开发者须知 Ruby 3.4 引入了默认冻结字符串字面量的过渡,为 Rails 开发者提供了逐步适应的方案,旨在提高性能。虽然 Rails 应用可以像以前一样继续运行,但 Ruby 提供了选择性警告,帮助开发者提前做好准备。 文章详细介绍了 Ruby 冻结字符串字面量的三阶段过渡计划:Ruby 3.4 提供选择性警告,Ruby 3.7 默认启用警告,Ruby 4.0 默认冻结字符串。在 Ruby 3.4 中,默认情况下代码行为不变,但启用弃用警告后,字符串突变会发出警告。冻结字符串的主要优势在于性能提升,例如减少垃圾回收和节省内存,尤其是在字符串操作频繁的代码中。文章还强调了依赖项(gems)可能首先受到影响,因此需要关注 gems 中的警告。 Ruby 3.4 引入了“冷冻字符串”机制,允许在没有 `frozen_string_literal` 指令的文件中发出警告,同时保持代码的兼容性。文章提供了在 Rails 应用中查找问题的方法,包括启用警告、检查测试套件和使用调试模式。修复常见模式包括避免字符串构建和原地修改,但字符串插值是安全的。文章建议新代码应自然地与冻结字符串一起工作,而现有 Rails 应用应逐步修复警告,并优先更新 gems。文章还介绍了在 CI/CD 中启用警告的方法,并总结了升级到 Ruby 3.4 的安全性,因为它提供了选择性警告和逐步过渡。 评论区中,@maximegarcia 指出,此举并非关于可变与不可变字符串之争,而是为了避免每次声明和使用字符串时都分配内存,从而优化垃圾回收。这表明冻结字符串的主要目的是性能优化,开发者可以通过关注警告并逐步修复代码来平稳过渡。 - 原文: [Ruby 3.4 frozen string literals: What Rails developers need to know](https://www.prateekcodes.dev/ruby-34-frozen-string-literals-rails-upgrade-guide/) - Hacker News: [https://news.ycombinator.com/item?id=44479302](https://news.ycombinator.com/item?id=44479302) - 作者: thomas_witt - 评分: 113 - 评论数: 49 - 发布时间: 2025-07-06 17:58:26 --- ## X 平台 CEO Linda Yaccarino 宣布离职 Linda Yaccarino 在担任 X 平台 CEO 两年后宣布离职,她在 2023 年被 Elon Musk 聘用,负责运营这家在 Musk 收购后经历了一系列变革的公司。Yaccarino 在 X 上发文表达了对 Musk 的感谢,但并未说明离职原因。 自从 Musk 在 2022 年以 440 亿美元收购 Twitter 以来,X 经历了剧烈的变革,包括裁员四分之三、放宽言论限制等。这些变化一度导致广告商流失,对公司的广告业务造成冲击。今年三月,Musk 宣布将 X 出售给他的 AI 初创公司 xAI,这笔全股票交易对 xAI 的估值为 800 亿美元,对 X 的估值为 330 亿美元。 Yaccarino 的离职也反映了 Musk 旗下公司高管变动频繁的现象,不过 SpaceX 的总裁 Gwynne Shotwell 是个例外。Musk 在 2023 年 5 月聘请 Yaccarino 负责 X 的业务,她拥有媒体和广告行业的背景。 评论区对 Yaccarino 的离职有不同的看法。有人猜测,"纳粹聊天机器人"可能是压垮她的最后一根稻草,并对她坚持这么久感到惊讶。也有人认为,Yaccarino 只是一个无关紧要的傀儡,并没有实际的决策权。还有人贴出了 Yaccarino 在 X 上发布的离职声明链接,以及文章的存档链接。这些评论反映了人们对 X 平台现状以及 Yaccarino 在其中角色的不同解读。 - 原文: [X Chief Says She Is Leaving the Social Media Platform](https://www.nytimes.com/2025/07/09/technology/linda-yaccarino-x-steps-down.html) - Hacker News: [https://news.ycombinator.com/item?id=44510731](https://news.ycombinator.com/item?id=44510731) - 作者: donohoe - 评分: 13 - 评论数: 4 - 发布时间: 2025-07-09 22:52:04 --- ## Shopify 文档机器人的靠谱程度引争议 文章讨论了 Shopify 的 LLM 驱动的开发者文档机器人给出的错误代码示例,引发了关于文档机器人是否应该在不确定的情况下给出猜测性答案的讨论。作者认为,对于官方文档来说,准确性比快速但不确定的答案更重要。 作者在使用 Shopify 的 Liquid 模板时,向 Shopify 的文档机器人提问如何检测订单中是否包含通过 Shopify Collective 履行的商品。机器人迅速给出了代码,但实际测试后发现代码无法正常工作。作者发现 `Shopify Collective` 标签在确认邮件生成时并不存在,而是稍后才添加的。作者质疑文档机器人在不确定的情况下给出错误答案的意义,并认为这会损害 Shopify 官方文档的准确性。文章最后提供了一个可行的解决方案,通过循环遍历 `line_items` 并检查 `product.tags` 来判断是否包含 Shopify Collective 的商品。 评论区对文档机器人的可靠性提出了各种观点: * 有人认为,这类问题会越来越多,并可能引发对当前 AI 泡沫的质疑,因为非确定性系统不应该这样使用。 * 有人指出,构建可靠的文档机器人非常困难,检索的准确性高度依赖于文档的解析和结构。 * 还有人分享了类似经历,Gemini 也会虚构 Google Docs App Script 的功能和代码。 * 有评论提到 Shopify 的帮助中心和开发者文档是分开的,帮助中心的文档更像是面向销售人员的,缺乏技术细节。 * 有人建议,理想的文档机器人应该具备创建测试环境并验证代码的能力,但实现起来非常困难。 - 原文: [Is the doc bot docs, or not?](https://www.robinsloan.com/lab/what-are-we-even-doing-here/) - Hacker News: [https://news.ycombinator.com/item?id=44507244](https://news.ycombinator.com/item?id=44507244) - 作者: tobr - 评分: 119 - 评论数: 61 - 发布时间: 2025-07-09 15:38:29 --- ## 使用 Rust 和 CGI 每天处理 5 亿次请求 本文主要探讨了使用 Rust 语言和 CGI(Common Gateway Interface)技术来高效处理大量 HTTP 请求的方法,并对比了不同编程语言在 CGI 环境下的性能表现。作者通过基准测试,展示了 Rust 在高并发场景下的卓越性能。 文章首先强调了 CGI 并非过时或不安全的技术,而是一种简单且有效的协议。 随后,作者搭建了一个基于 AMD Genoa 的虚拟机作为基准测试服务器,并使用 `vegeta` 工具进行负载测试。 测试中,作者使用多种编程语言编写 CGI 程序,包括 Bash、Perl、JavaScript (Node.js)、Python、Go 和 Rust,并对比它们的性能表现。 结果显示,Bash 性能最差,而 Rust 表现最为出色,达到了接近 5700 个请求每秒。 即使考虑到 SQLite 数据库的争用可能导致尾部延迟偏高,Rust 的中位数延迟仍然非常优秀。 Go 语言也表现出色,达到了 3400 个请求每秒,JavaScript 和 Python 分别达到了 600 和 700 个请求每秒。 作者指出,尽管 Go 是一种编译型语言,但其运行时初始化会带来一定的开销。 尽管如此,Go 仍然属于高性能语言之列。 总的来说,文章通过实验数据证明了 Rust 在 CGI 环境下处理高并发请求的强大能力。 - 原文: [Serving a half billion requests per day with Rust and CGI](https://jacob.gold/posts/serving-half-billion-requests-with-rust-cgi/) - Hacker News: [https://news.ycombinator.com/item?id=44493174](https://news.ycombinator.com/item?id=44493174) - 作者: feep - 评分: 76 - 评论数: 46 - 发布时间: 2025-07-08 02:16:36 --- ## Helm 存在恶意 Chart 导致本地代码执行的漏洞 Helm 存在一个安全漏洞,攻击者可以通过构造恶意的 `Chart.yaml` 文件和符号链接的 `Chart.lock` 文件,在更新依赖项时执行本地代码。该漏洞影响 Helm v3 <= 3.18.3 版本,已在 3.18.4 版本中修复。 当 Helm 更新 chart 依赖项时,`Chart.yaml` 文件中的某些字段会被传递到 `Chart.lock` 文件中。如果攻击者精心构造 `Chart.yaml` 文件,使其包含可执行代码,并且将 `Chart.lock` 文件符号链接到诸如 `bash.rc` 文件或 shell 脚本等可执行文件,那么在更新依赖项时,`Chart.lock` 文件会被写入,从而导致恶意代码被执行。 简单来说,就是 Helm 在处理 chart 依赖更新时,没有对 `Chart.yaml` 文件中的内容进行充分的验证,导致恶意内容可以被写入到 `Chart.lock` 文件中,并最终被执行。这个漏洞的利用需要攻击者能够控制 `Chart.yaml` 文件和 `Chart.lock` 文件的内容,并且能够创建符号链接。 为了避免受到此漏洞的影响,建议 Helm 用户尽快升级到 3.18.4 或更高版本。同时,在引入第三方 Helm chart 时,务必对其来源进行验证,并仔细检查 `Chart.yaml` 文件的内容,以防止恶意代码的注入。此外,还应避免将 `Chart.lock` 文件符号链接到任何可执行文件,以降低风险。 该漏洞的发现者为 Helm 的一位贡献者,细节已公开在 GitHub 的安全公告中,方便用户了解和修复。 - 原文: [Helm local code execution via a malicious chart](https://github.com/helm/helm/security/advisories/GHSA-557j-xg8c-q2mm) - Hacker News: [https://news.ycombinator.com/item?id=44506696](https://news.ycombinator.com/item?id=44506696) - 作者: irke882 - 评分: 125 - 评论数: 62 - 发布时间: 2025-07-09 13:49:52 --- ## 提升分离轴测试(SAT)算法效率 本文主要探讨如何改进分离轴测试(SAT)算法,这是一种用于检测凸多面体之间碰撞的常用方法,目标是减少计算量,提升碰撞检测效率。 文章首先回顾了Dirk的关于凸多面体分离轴测试的演讲,提到了通过叠加高斯映射来寻找闵可夫斯基差的面。关键在于闵可夫斯基差的所有面要么是形状A的面,要么是形状B的面,要么是A和B的边的叉积。作者由此提出,可以避免对高斯映射上的所有点进行完整的支持函数评估,从而只需一次完整的支持函数评估,而非传统的FaceCountA+FaceCountB次。 文章将碰撞检测问题建模成一个优化问题,避免过度依赖几何知识。对于不相交的集合A和B,目标是找到它们之间距离最小的点对。对于相交的集合,目标是找到最小的平移向量,使集合B平移后与A不相交。这个问题可以转化为在单位球面上最小化一个函数。 文章深入研究了当C(C=A-B)是凸多面体时,支持函数的性质。通过绘制凸多边形及其支持函数的图像,揭示了支持函数的可微性、凹性和不连续点(kinks)的特征。每个可微区域对应于多边形的一个顶点,该区域内的函数是凹的。这些不连续点发生在例如c1•v = c2•v时。 总而言之,文章的核心在于利用闵可夫斯基差的性质和将碰撞检测问题转化为优化问题,从而减少支持函数的计算量,提高SAT算法的效率。 由于没有提供评论内容,此处省略评论分析。 - 原文: [A fast 3D collision detection algorithm](https://cairno.substack.com/p/improvements-to-the-separating-axis) - Hacker News: [https://news.ycombinator.com/item?id=44510282](https://news.ycombinator.com/item?id=44510282) - 作者: OlympicMarmoto - 评分: 16 - 评论数: 0 - 发布时间: 2025-07-09 22:12:16 --- ## 多数RESTful API并非真正的RESTful 本文探讨了REST架构风格的真正含义,并指出许多自称RESTful的API实际上并未遵循REST的关键原则,特别是超媒体作为应用状态引擎(HATEOAS)。 文章首先引用了Roy Thomas Fielding的博士论文,强调REST是一种架构风格,而非对HTTP动词(GET、POST、PUT、DELETE)或CRUD风格API的简单应用。Fielding本人也批评了对REST的过度简化,认为缺乏超媒体控制的API不符合REST架构风格。超媒体控制是指嵌入在资源表示中的元素,用于指导客户端下一步可以执行的操作。 文章解释了“超文本驱动”的含义,即HATEOAS原则,客户端通过服务器响应中嵌入的超媒体链接动态发现操作和交互,而不是依赖外部知识(如API文档)。HATEOAS解决了客户端与服务器的耦合问题,提高了API的可演化性。文章还讨论了REST中“资源”的概念,强调资源可以是任何可以通过URI寻址的事物,包括物理对象、概念、文档、服务等。 文章最后总结了Fielding对RESTful API的定义,他认为真正的REST API不应依赖于任何单一通信协议,并且需要满足一定的规则。这些规则旨在确保API的通用性、可扩展性和可维护性。总之,文章旨在帮助开发者更深入地理解REST架构风格,避免常见的误解,并构建真正符合REST原则的API。 - 原文: [Most RESTful APIs aren't really RESTful](https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html) - Hacker News: [https://news.ycombinator.com/item?id=44507076](https://news.ycombinator.com/item?id=44507076) - 作者: BerislavLopac - 评分: 152 - 评论数: 238 - 发布时间: 2025-07-09 15:04:36 --- ## ProjectionLab 如何零融资实现百万美元 ARR 本文讲述了 ProjectionLab 如何在四年内,通过自筹资金,将一个副业项目发展成为年 recurring revenue 达到 100 万美元的盈利业务。作者分享了从 2021 年 5 月获得第一个互联网收入 150 美元 MRR,到 2025 年 6 月达到 83.3k 美元 MRR 的历程。 文章详细介绍了 ProjectionLab 发展过程中的关键里程碑,包括发布第一篇博客文章、获得 Mr. Money Mustache 的推荐、开始公开演讲、辞去全职工作等。作者坦诚地分享了创业过程中的情绪波动,以及面对挑战和不确定性时的心路历程。他强调了坚持的重要性,并指出成功更多地取决于持续性而非智商。文章还介绍了团队的建立过程,包括找到合适的增长和营销伙伴,以及如何组建一个由用户社区成员组成的客户成功团队。 作者分享了他的一些经验,例如,验证想法后,每天都要坚持改进它,即使在遇到挫折时也要坚持下去。他还强调了与志同道合的人一起工作的重要性。文章最后鼓励读者,无论是在创业、投资还是追求财务自由的道路上,都要坚持不懈,持续行动,最终会取得令人惊讶的成果。 - 原文: [Bootstrapping a side project into a profitable seven-figure business](https://projectionlab.com/blog/we-reached-1m-arr-with-zero-funding) - Hacker News: [https://news.ycombinator.com/item?id=44495428](https://news.ycombinator.com/item?id=44495428) - 作者: jonkuipers - 评分: 643 - 评论数: 160 - 发布时间: 2025-07-08 06:58:45 --- ## 法院否决“点击取消”规则,取消订阅或将更难 美国联邦上诉法院近日否决了一项旨在简化在线服务取消流程的“点击取消”规则。该规则原定于 7 月 14 日生效,但因美国第八巡回上诉法院认为联邦贸易委员会 (FTC) 未能遵循美国法律规定的完整规则制定程序而被撤销。 这项规则最初由拜登政府时期的 FTC 主席 Lina Khan 领导制定,旨在让消费者能够像注册服务一样轻松地取消订阅,从而减少消费者在取消订阅时遇到的阻碍。法院的三名法官一致认为,FTC 在制定此规则时存在程序上的缺陷,因此做出了否决的裁决。虽然法院表示不认可在负面选择营销中使用不公平和欺骗性做法,但最终认为 FTC 的规则制定过程存在致命缺陷。 这意味着,短期内,消费者可能仍然需要通过繁琐的流程才能取消在线订阅服务。对于软件开发者和科技爱好者来说,这可能意味着需要更加关注订阅条款,避免不必要的自动续费。 虽然文章本身没有评论区,但我们可以设想一下,如果存在评论区,可能会出现以下几种观点: * **支持 FTC 规则:** 认为简化取消流程是保护消费者权益的重要一步,可以有效避免商家利用信息不对称或复杂流程来强制消费者续费。 * **反对 FTC 规则:** 认为该规则可能会对提供订阅服务的企业造成不必要的负担,并且可能导致企业提高服务价格或减少服务内容。 * **中立观点:** 认为 FTC 的出发点是好的,但规则制定过程确实存在问题,希望 FTC 能够吸取教训,重新制定更完善的规则。 * **技术角度:** 讨论如何通过技术手段来帮助消费者更好地管理自己的订阅服务,例如开发自动提醒工具或一键取消订阅的浏览器插件。 - 原文: [US Court nullifies FTC requirement for click-to-cancel](https://arstechnica.com/tech-policy/2025/07/us-court-cancels-ftc-rule-that-would-have-made-canceling-subscriptions-easier/) - Hacker News: [https://news.ycombinator.com/item?id=44504699](https://news.ycombinator.com/item?id=44504699) - 作者: gausswho - 评分: 299 - 评论数: 295 - 发布时间: 2025-07-09 06:42:39 --- ## 佛罗里达州收紧竞业协议,高薪员工跳槽更难 佛罗里达州通过新法,允许公司对高薪员工执行长达四年的竞业协议,这项法案被认为是受到了 Citadel 创始人 Ken Griffin 的影响。 这项新法律主要针对那些能够接触到公司机密信息的高收入员工,旨在保护公司的商业利益。此前,佛罗里达州的竞业协议最长时限为两年,新法律的实施无疑大大加强了雇主对员工流动的限制。Citadel 等公司曾积极游说支持该法案的通过。这意味着在佛罗里达州,高薪员工离职后,可能需要等待更长的时间才能加入竞争对手公司,或者从事类似的工作。这项法律被认为是美国对雇主最友好的政策之一,但同时也引发了关于员工权益和自由的讨论。一些人认为,这可能会限制员工的职业发展,并降低市场竞争活力。 - 原文: [Florida is letting companies make it harder for highly paid workers to swap jobs](https://www.businessinsider.com/florida-made-it-harder-highly-paid-workers-to-swap-jobs-2025-7) - Hacker News: [https://news.ycombinator.com/item?id=44510584](https://news.ycombinator.com/item?id=44510584) - 作者: pseudolus - 评分: 11 - 评论数: 2 - 发布时间: 2025-07-09 22:39:02 --- ## IKEA拥抱Matter:智能家居新战略 IKEA正在重塑其智能家居产品线,全面转向Matter over Thread协议,旨在实现更开放、更易用、更经济的智能家居体验。 IKEA计划在明年1月发布超过20款新的Matter over Thread智能灯泡、传感器和遥控器,并计划推出更多类型和形态的产品。此次转变的核心在于拥抱Matter标准,该标准旨在解决不同品牌智能家居设备之间的互操作性问题。IKEA的Dirigera智能家居中心已通过Beta更新,成为Matter控制器和Thread边界路由器,能够连接和控制兼容的Matter设备,包括其他品牌的产品。这意味着用户不再需要IKEA的中心或App,即可将IKEA的Matter设备直接接入Apple Home、Amazon Alexa等智能家居生态系统。 IKEA仍然保留Zigbee的Touchlink功能,允许设备直接配对,无需App或中心即可协同工作,保证了与现有Tradfri产品线的后向兼容性。IKEA的目标是让用户以最佳价值使用其产品,无论他们选择使用Apple Home、IKEA中心还是完全不使用中心。IKEA认为,Matter解锁了互操作性、易用性和可负担性,通过标准化流程,更多公司可以共同分担开发工作。 IKEA还将推出新的蓝牙音箱系列,填补与Sonos合作结束后留下的市场空白,首批产品包括Nattbad蓝牙音箱和Blomprakt音箱/台灯,价格亲民,操作简单。这些举措都表明IKEA致力于简化智能家居体验,降低使用门槛,让更多人能够享受到智能家居的便利。 - 原文: [IKEA ditches Zigbee for Thread going all in on Matter smart homes](https://www.theverge.com/smart-home/701697/ikea-matter-thread-new-products-new-smart-home-strategy) - Hacker News: [https://news.ycombinator.com/item?id=44507971](https://news.ycombinator.com/item?id=44507971) - 作者: thunderbong - 评分: 180 - 评论数: 97 - 发布时间: 2025-07-09 17:42:17 --- ## 函数“调用”一词的词源探究 本文探讨了编程中“调用”函数这一术语的起源,追溯了其从图书馆学术语到计算机科学领域的演变过程。 文章指出,关于“调用”函数的说法,有几种可能的解释:一是类似于拜访朋友,二是类似于召唤仆人执行任务,三是类似于打电话。但最接近真相的解释是“召唤”,类似于从图书馆的馆藏中“调用”一本书。 牛津英语词典中“索书号 (call number)”一词最早出现在图书馆学领域,由梅尔维尔·杜威于 1876 年提出。这个术语指的是图书馆书籍上的标记,用于指示书籍在图书馆中的位置。到了 1947 年,John W. Mauchly 在一篇关于 EDVAC 型机器的文章中,使用了 “call in” 来描述从计算机子程序的“库”中引用子程序的过程。 MANIAC II 汇编程序手册 (1956 年 1 月) 进一步发展了这个概念,它使用纸带“库”来存储子程序,每个子程序都有一个唯一的“索书号”。汇编程序可以“调用”这些子程序,并将它们包含到最终的程序中。Fortran II (1958 年) 引入了 `CALL` 和 `RETURN` 语句,明确地使用 “call for” 来描述调用子程序的过程,这意味着计算机语言变得越来越高级,英语开始模糊运行时控制转移行为与汇编或链接时的 “calling-in” 行为。 总而言之,“调用”函数这一术语的起源可以追溯到图书馆学术语“索书号”,指的是从库中检索信息的行为。随着计算机科学的发展,这个术语逐渐被用来描述从子程序库中“调用”子程序的过程,最终演变为我们今天所熟知的“调用”函数。 - 原文: [Phrase origin: Why do we "call" functions?](https://quuxplusone.github.io/blog/2025/04/04/etymology-of-call/) - Hacker News: [https://news.ycombinator.com/item?id=44506251](https://news.ycombinator.com/item?id=44506251) - 作者: todsacerdoti - 评分: 133 - 评论数: 92 - 发布时间: 2025-07-09 12:04:45 --- ## RapidRAW:高性能 GPU 加速 RAW 图像编辑器 RapidRAW 是一款使用 Rust 构建的、高性能、非破坏性的 RAW 图像编辑器,旨在提供快速且美观的编辑体验。它体积小巧,功能丰富,适用于 Windows、macOS 和 Linux 平台,是 Adobe Lightroom 的一个现代替代方案。 RapidRAW 的核心在于其 GPU 加速的处理引擎,所有图像调整都在 GPU 上使用自定义 WGSL shader 进行处理,从而实现快速反馈。它支持 AI 驱动的主体和前景检测,能够快速创建精确的蒙版,并结合传统的笔刷、线性以及径向蒙版,提供强大的控制能力。此外,RapidRAW 还集成了生成式编辑功能,可以通过文本提示移除对象或添加新元素,每个编辑都会创建一个非破坏性的补丁图层,并由 ComfyUI 后端提供支持。 RapidRAW 支持多种 RAW 相机格式,采用非破坏性工作流程,所有编辑都存储在 `.rrdata` 边车文件中,不会修改原始图像。它使用 32 位精度,确保高质量的调整,避免 banding 或数据丢失。RapidRAW 提供了专业的调整功能,包括色调控制、色调曲线、色彩分级、细节增强、效果以及变换工具。 在库和工作流程方面,RapidRAW 提供了图像库、文件夹管理、文件操作、胶片显示以及批量操作等功能,并内置 EXIF 数据查看器,方便用户查看相机元数据。在生产力和 UI 方面,RapidRAW 提供了预设系统、复制和粘贴设置、撤销/重做历史记录、可定制的 UI 以及导出功能。 RapidRAW 的目标是为摄影爱好者提供一个快速、高效且功能强大的图像编辑工具,同时帮助开发者深入了解数字图像处理和相机技术。该项目仍在积极开发中,并计划在未来加入更多 AI 功能,例如 AI 驱动的增强工具和智能预设。 - 原文: [RapidRAW: A non-destructive and GPU-accelerated RAW image editor](https://github.com/CyberTimon/RapidRAW) - Hacker News: [https://news.ycombinator.com/item?id=44505876](https://news.ycombinator.com/item?id=44505876) - 作者: l8rlump - 评分: 205 - 评论数: 83 - 发布时间: 2025-07-09 10:37:28 --- ## 使用 MPC 进行匿名和私有 DNA 分析 本文介绍了 Monadic DNA 如何利用多方计算 (MPC) 技术,在保护用户隐私的前提下,实现匿名 DNA 数据分析。该实验为处理敏感基因信息提供了一个可行的模型,强调了隐私、安全和数据主权的重要性。 Monadic DNA 在丹佛的 ethDenver 大会上收集了 30 位加密基因组学先驱的唾液样本,参与者随后使用 Web 应用程序,通过唯一的试剂盒 ID 和自选 PIN 码来获取他们的基因分型结果。该应用程序引导用户将数据上传到由 Nillion 的多方计算 (MPC) 技术支持的加密存储中。用户可以在不暴露原始基因组数据的情况下生成见解。计算在服务器端使用 MPC 进行,无需解密,然后在本地进行处理和显示。 样本收集活动在二月下旬的 ethDenver 会议期间举行,地点选在 Union Station 的 Terminal Bar,因为其地理位置优越,并且在天气晴朗时拥有充足的户外座位。参与者被要求将唾液吐入标准的样本收集器中,直到达到标记的水平。在提供样本之前,每位参与者都必须填写一份表格,同意一些法律条款,并记录他们的试剂盒 ID 并选择一个四位数的 PIN 码,以便日后声明数据。他们还可以选择提供电子邮件地址、Signal ID 或 Telegram ID,以便接收更新。 实验室处理方面,Monadic DNA 与 Autogen 合作进行实验室部分的练习。他们选择了 Global Screening Array 进行基因分型,因为它最符合他们的预算。实际处理花费了大约两个月的时间,因为他们的样本量太小,无法快速批量处理。 数据由实验室共享为原始数据文件以及一些元数据文件。每个数据文件都标有其试剂盒 ID 以进行识别。行业标准似乎是在 Amazon S3 或 Google Drive 上使用常规加密共享数据。参与者可以使用他们的试剂盒 ID 和 PIN 码通过 Web 应用程序声明他们的数据。数据在加密状态下使用多方计算 (MPC) 进行存储和分析。 文章还提到了一些安全考虑,例如使用试剂盒 ID 和 PIN 码组合提供了一定的匿名性,但无法阻止人们尝试暴力破解 PIN 码。如果时间允许,他们会使用比 Google 表单更复杂的东西,以便用户可以使用加密密钥来声明他们的数据。 - 原文: [Using MPC for Anonymous and Private DNA Analysis](https://vishakh.blog/2025/07/08/using-mpc-for-anonymous-and-private-dna-analysis/) - Hacker News: [https://news.ycombinator.com/item?id=44508866](https://news.ycombinator.com/item?id=44508866) - 作者: vishakh82 - 评分: 14 - 评论数: 6 - 发布时间: 2025-07-09 19:52:29 --- ## Astro:开发者梦寐以求的 Web 框架 Astro 框架的出现,为构建内容驱动型网站带来了全新的思路,它强调服务器优先,默认情况下不加载 JavaScript,并通过“Island Architecture”实现高性能。Astro 旨在简化开发流程,提升网站速度,改善用户体验。 Astro 的核心理念是内容驱动和服务器优先,它默认情况下不加载任何 JavaScript,只有需要交互的部分才会变成 JavaScript “岛屿”。这种“Island Architecture”与传统的 JavaScript 框架形成鲜明对比,后者通常会用 JavaScript 水合整个页面,即使只有一小部分需要交互。Astro 非常适合构建营销网站、博客、电商目录和作品集等内容型网站,在这些场景下,内容是核心,而不需要复杂的客户端状态管理。Astro 组件的设计非常直观,它允许开发者在构建时运行代码,进行数据获取和逻辑处理,而无需处理复杂的 hooks、状态管理或生命周期方法。Astro 还具有极高的灵活性,允许开发者混合使用不同的框架,例如 React 和 Vue,或者完全使用 Astro 组件。Astro 支持 Markdown,并提供开箱即用的 TypeScript、Sass 编译和图片优化等功能。Astro 提供了多种渲染方式,包括静态构建、服务器渲染以及混合渲染,以适应不同的需求。 评论区中,有开发者指出 Astro 的 “Island Architecture” 本质上是 “渐进增强” 理念的回归,这在早期的 Web 开发中很常见。也有开发者对 Astro 和 NextJS 等 SSR 框架未能像 SvelteKit 那样采用静态页面和动态路径相结合的方式表示困惑,SvelteKit 能够通过 catch-all 机制,在静态构建的应用中优雅地处理动态路由。 - 原文: [Astro is a return to the fundamentals of the web](https://websmith.studio/blog/astro-is-a-developers-dream/) - Hacker News: [https://news.ycombinator.com/item?id=44507854](https://news.ycombinator.com/item?id=44507854) - 作者: pumbaa - 评分: 182 - 评论数: 142 - 发布时间: 2025-07-09 17:18:06 --- ## 7-Zip 迎来重大更新:多线程压缩、速度优化与格式支持增强 7-Zip 在最新版本中实现了多项重要更新,包括对多线程 CPU 的优化支持,压缩速度的提升,以及对多种压缩格式的增强支持。此次更新旨在提升用户体验,优化压缩效率,并修复已知问题。 新版本 7-Zip 针对 Windows 系统进行了优化,现在可以利用超过 64 个 CPU 线程进行 zip/7z/xz 格式的压缩,以及 7-Zip 基准测试。 在拥有超过 64 个 CPU 线程的系统上,7-Zip 能够将运行的 CPU 线程分配到不同的处理器组,从而充分利用硬件资源。 压缩速度方面,bzip2 压缩速度提升了 15-40%,deflate (zip/gz) 压缩速度也提升了 1-3%。 除了性能提升,新版本还改进了对 zip, cpio 和 fat 格式的支持,并修复了一些 bug 和漏洞。 之前的版本中存在一些问题,例如创建 zip 档案时可能会在档案末尾写入额外的零字节,以及 "Confirm File Replace" 窗口中 GDI 对象泄漏的问题,这些问题在新版本中得到了修复。 此外,新版本还引入了一些新的命令行开关,例如 `-myv={MMNN}` 用于设置 7z 档案创建的解码器兼容性版本,以及 `-myfa={FilterID}` 和 `-myfd={FilterID}` 用于允许或禁止使用指定的过滤器方法。 其他值得关注的更新包括:7-Zip 文件管理器中新增了 "工具 / 删除临时文件..." 菜单项,方便用户清理 7-Zip 创建的临时文件。 此外,7-Zip 现在可以解压 ZSTD 档案,并支持 ZIP, SquashFS 和 RPM 档案中使用 ZSTD 压缩方法。 对于使用 ARM64 架构的 Windows 版本,LZMA 和 LZMA2 解压缩速度提升了 20%-60%。 总而言之,这次 7-Zip 的更新涵盖了性能优化、格式支持增强和问题修复等多个方面,为用户带来了更高效、更稳定的压缩体验。 - 原文: [7-Zip for Windows can now use more than 64 CPU threads for compression](https://www.7-zip.org/history.txt) - Hacker News: [https://news.ycombinator.com/item?id=44489359](https://news.ycombinator.com/item?id=44489359) - 作者: doener - 评分: 147 - 评论数: 104 - 发布时间: 2025-07-07 19:52:10 --- ## CVE-2025-48384:利用回车符破坏 Git 并实现克隆 RCE 本文深入探讨了一个 Git 漏洞,该漏洞允许攻击者通过在 `.gitmodules` 文件中注入恶意回车符,实现在 Unix 系统上的远程代码执行。该漏洞主要影响使用 `git clone --recursive` 命令克隆包含恶意子模块的仓库的用户。 文章详细解释了漏洞的原理:Git 在读取 `.gitmodules` 文件时,会移除行尾的回车符,但在写入配置文件时,如果值包含特定字符(如空格、`;` 或 `#`)才会被引号包裹。攻击者可以利用这一点,在子模块的路径中注入回车符,导致 Git 在验证路径后,由于回车符被移除,实际写入的路径发生改变。例如,`path = "foo^M"` 会被写入为 `path = foo^M`,从而导致子模块被克隆到非预期位置。 这种路径混淆可以被用于将恶意文件写入文件系统的任意位置,包括 `.git` 目录,从而创建恶意 hook 脚本,最终实现远程代码执行。值得注意的是,由于 Windows 不允许文件名中包含控制字符,因此不受此漏洞的直接影响。macOS 则同时受到 CVE-2024-32002 和 CVE-2025-48384 的影响。 文章还提到了缓解措施,例如在克隆时避免使用 `--recursive` 选项,先检查 `.gitmodules` 文件的安全性,然后再初始化子模块。GitHub Desktop 默认使用 `--recursive` 选项,因此用户需要特别注意。 修复方案非常简单,只需在 `write_pair` 函数中,在写入包含回车符的字符串时,始终使用引号包裹即可。 ``` for (i = 0; value[i]; i++) - if (value[i] == ';' || value[i] == '#') + if (value[i] == ';' || value[i] == '#' || value[i] == '\r') quote = "\""; ``` 总而言之,这个漏洞利用了 Git 配置解析中的一个微妙缺陷,结合文件系统特性,实现了远程代码执行。 (由于没有评论内容,这里跳过评论相关的输出) - 原文: [Breaking Git with a carriage return and cloning RCE](https://dgl.cx/2025/07/git-clone-submodule-cve-2025-48384) - Hacker News: [https://news.ycombinator.com/item?id=44502330](https://news.ycombinator.com/item?id=44502330) - 作者: dgl - 评分: 344 - 评论数: 135 - 发布时间: 2025-07-09 01:48:29 --- ## Security Explorations 揭示 Kigen eSIM 安全漏洞 Security Explorations 的研究表明,他们成功破解了 Kigen 的 eUICC 卡,该卡使用了 GSMA 消费者证书,并揭示了 eSIM 技术的安全隐患。这次破解可能是有史以来首次公开攻击消费者 GSMA eUICC 和 Kigen eSIM,后者已在全球范围内支持超过 20 亿张 SIM 卡。 文章指出,攻击依赖于对样本卡的物理访问,以及对用于安装恶意 Java 应用程序的密钥的了解。攻击者可以通过模拟通过 OTA SMS-PP 协议进行的恶意 applet 安装来远程利用该漏洞,从而攻破目标 Kigen eUICC。这次破解证明了 eSIM 配置文件和 Java 应用程序之间缺乏安全隔离,eUICC 内存内容也存在安全风险。 该研究基于 2019 年对 Java Card 的研究,并开发了新的利用技术。成功攻破 eUICC 后,研究人员提取了用于识别目标 GSMA 卡的证书的私有 ECC 密钥,并提供了相应的密码学证明。通过窃取 GSMA 消费者证书,攻击者可以从 MNO 下载任意配置文件,提取 MNO 密钥等敏感信息,甚至修改配置文件并将其加载到任意 eUICC 中。更严重的是,运营商可能无法检测到其配置文件已被篡改,甚至可能失去对配置文件的控制。 研究人员希望此次破解能引起移动网络运营商 (MNO)、供应商、安全研究人员和安全公司对 eSIM 安全及其相关风险的关注。他们呼吁重视 eUICC 供应商的安全声明,并重新评估 MNO 对配置文件信任及其在防篡改安全元件中存储的假设。 - 原文: [ESIM Security](https://security-explorations.com/esim-security.html) - Hacker News: [https://news.ycombinator.com/item?id=44507830](https://news.ycombinator.com/item?id=44507830) - 作者: todsacerdoti - 评分: 72 - 评论数: 35 - 发布时间: 2025-07-09 17:13:10 ---

▲ 赞同(0)    ★ 收藏(0)