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

【HN中文日报】今日热榜:Zig安全隐患?微生物水泥储能?还有超酷终端地图和搞笑诺奖!

意外富翁的头像
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20250920 今天份的科技狠活儿来啦!Zig 语言惊现安全漏洞?新型微生物水泥竟然能储能,颠覆认知!想在终端玩转世界地图?MapSCII 让你一键实现。还有,今年的搞笑诺贝尔奖又有哪些奇葩研究?快来一起看看,保证让你脑洞大开,笑出腹肌!别犹豫了,点开全文,一起探索这些有趣的科技新发现吧! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## Zig 的新 I/O Writer 是否存在安全隐患? 本文探讨了 Zig 语言中新的 `std.Io.Reader` 和 `std.Io.Writer` 接口潜在的不安全性。作者通过示例代码指出,`Writer` 可能对缓冲区大小有特定要求,而如果 `Reader` 不满足这些要求,会导致程序行为未定义,甚至崩溃或进入死循环。 文章的核心论点是,即使 `zstd.Decompress` 的文档提到了 `Writer` 的缓冲区要求,但这仍然是一个问题。因为在实际应用中,`Reader` 的类型可能是动态的,或者来自第三方库,开发者很难确定合适的缓冲区大小。更糟糕的是,这种错误可能只在特定输入下才会发生,难以提前发现。作者认为,如果他的理解没有偏差,那么这确实是 Zig 语言设计上的一个缺陷。文章通过展示一段代码,说明当缓冲区大小设置不合理时,程序在 debug 模式下会触发断言失败,而在 release 模式下则会进入无限循环。而稍微修改输入数据,程序又可以正常运行,这使得问题更难以追踪和调试。 评论区中,tialaramex 认为这可能只是不明智,而非不安全。simjnd 则分享了 Zig 语言的创建者 Andrew Kelley 在 lobste.rs 上的回复链接,建议读者参考。这表明社区对这个问题存在不同的看法,值得进一步探讨。 - 原文: [Is Zig's New Writer Unsafe?](https://www.openmymind.net/Is-Zigs-New-Io-Unsafe/) - Hacker News: [https://news.ycombinator.com/item?id=45313597](https://news.ycombinator.com/item?id=45313597) - 作者: ibobev - 评分: 34 - 评论数: 7 - 发布时间: 2025-09-20 22:12:30 --- ## 利用微生物水泥超级电容器实现可再激活的储能 这篇文章介绍了一种新型的微生物水泥超级电容器(MCS),旨在将传统惰性水泥转变为具有储能功能的“活体”材料。该研究通过将具有电活性的微生物整合到水泥中,构建了一个功能性的电荷存储网络,利用细胞外电子传递(EET)实现动态的氧化还原活性储能。 这种生物混合系统实现了 178.7 Wh/kg 的能量密度和 8.3 kW/kg 的功率密度,相较于传统水泥基电容器性能显著提升。该系统还表现出良好的循环稳定性,在 10,000 次循环后仍能保持 85% 的电容。即使在微生物失活后,残留的导电网络和氧化还原活性生物膜也能维持电荷存储。更重要的是,研究人员还引入了一种再激活策略,通过嵌入式微流控网络定期提供营养物质来恢复微生物活性,从而实现高达 80% 的电容恢复,并维持长期的电荷转移效率。 这项研究为生物集成的水泥基能源材料开辟了新途径,为实现能源自给自足的基础设施奠定了基础。传统的储能方式依赖于昂贵的、资源受限的材料,而这项研究利用水泥这种全球可用、低成本的材料,结合微生物的电化学特性,提供了一种可持续的解决方案。通过将电活性微生物(如地杆菌和希瓦氏菌)整合到水泥中,可以构建能够通过细胞外电子传递进行电荷存储的系统。这种方法不仅提高了能量密度和稳定性,还通过微生物的再激活策略,实现了长期稳定的储能效果。 这项研究挑战了人们对水泥作为惰性结构材料的传统认知,并展示了其在能源存储领域的巨大潜力。未来的研究可以进一步优化微生物的选择和水泥的配方,以提高能量存储效率和循环寿命,从而推动能源自给自足的基础设施的发展。 - 原文: [Living microbial cement supercapacitors with reactivatable energy storage](https://www.cell.com/cell-reports-physical-science/fulltext/S2666-3864(25)00409-6) - Hacker News: [https://news.ycombinator.com/item?id=45313418](https://news.ycombinator.com/item?id=45313418) - 作者: PaulHoule - 评分: 19 - 评论数: 4 - 发布时间: 2025-09-20 21:51:12 --- ## 探索“尖叫密码”:一种新奇的字符替换加密方式 这篇文章介绍了一种名为“尖叫密码”的简单替换加密方法,它利用了 Unicode 中大量的拉丁字母 A 的变体来实现加密。这种密码通过将英文字母替换为各种带变音符号的 A,创造出一种视觉上独特的“尖叫”效果。 作者提供了一个 Python 实现,展示了如何使用字典进行加密和解密。代码清晰地定义了替换规则,并演示了如何将 "SCREAM CIPHER" 加密为 "ǠĂȦẶAẦ ĂǍÄẴẶȦ",然后再解密回原始文本。这种加密方式虽然简单,但却提供了一种有趣的视角来看待字符编码和加密。 评论区里,大家对这种密码的实用性和趣味性进行了讨论。有人指出可以使用 `str.maketrans` 来简化密码逻辑,也有人分享了使用 Unicode 组合字符进行数据编码的类似项目。还有人开玩笑说要用 "尖叫密码" 替换 ROT13,因为它更具有“后量子”的特性。当然,也有人指出这种单字母替换密码在安全性上是完全不足的,并将其与一次性密码本和流密码进行了对比。总的来说,评论区既有技术上的探讨,也有轻松幽默的调侃,展现了大家对这种新奇密码的兴趣。 - 原文: [SCREAM CIPHER ("ǠĂȦẶAẦ ĂǍÄẴẶȦ")](https://sethmlarson.dev/scream-cipher) - Hacker News: [https://news.ycombinator.com/item?id=45287474](https://news.ycombinator.com/item?id=45287474) - 作者: alexmolas - 评分: 123 - 评论数: 65 - 发布时间: 2025-09-18 17:22:39 --- ## Claude Code 在交互式定理证明中的潜力 Anthropic 的新 AI 编码助手 Claude Code 在交互式定理证明 (ITP) 方面表现出色,这令人惊讶。 ITP 工具是强大的形式化验证工具,但专家也觉得耗时且容易出错。 Claude Code 目前可以独立完成许多复杂的证明步骤,但仍需要人工指导。文章作者认为,Claude Code 的出现预示着未来专家不再是必需品,更多人可以使用定理证明器。交互式定理证明工具旨在尽可能通用,以便用于实际数学,但这使得它们非常难以使用。ITP 需要抽象思维、处理复杂约束以及容忍细致的考究。文章作者发现,专注于证明单个 Lean 定理的 AI 模型并没有太大帮助。在形式化理论时,需要进行概念数学、映射到 Lean、分解定理、证明定理和调试失败等任务。这些任务之间存在推拉关系,例如,在证明函数是结合律时,可能会发现定理是错误的,需要更换底层类型并相应地重构整个形式化。 文章作者尝试使用 Claude Code 来辅助 Lean 的使用,并取得了一些成果。例如,Claude Code 可以理解作者的意图,并提出有用的建议。作者还发现,Claude Code 可以帮助他调试 Lean 代码,并找到错误。 由于没有评论内容,跳过评论相关的输出。 - 原文: [Claude Can (Sometimes) Prove It](https://www.galois.com/articles/claude-can-sometimes-prove-it) - Hacker News: [https://news.ycombinator.com/item?id=45275058](https://news.ycombinator.com/item?id=45275058) - 作者: lairv - 评分: 109 - 评论数: 23 - 发布时间: 2025-09-17 20:30:58 --- ## Git 引入 Rust 并宣布其将成为强制性要求 本文讨论了 Git 项目引入 Rust 语言,并计划在未来的 Git 3.0 版本中强制使用 Rust 构建基础设施的提案。此举旨在提高 Git 的性能、安全性和可维护性,但也引发了一些关于兼容性和复杂性的担忧。 Git 团队认为,Rust 能够帮助解决 C 语言中常见的内存安全问题,并提供更好的并发支持,从而提升 Git 的整体质量。他们计划逐步将 Git 的部分组件用 Rust 重写,最终目标是使 Rust 成为构建 Git 的必要条件。 然而,这一决定并非没有争议。一些开发者担心 Rust 的复杂性会增加 Git 的开发难度,并可能导致某些平台上的兼容性问题。此外,还有人质疑是否真的有必要为了性能和安全性的提升而放弃 C 语言的简洁性。 引入 Rust 的过程将是一个渐进式的过程,Git 团队会密切关注社区的反馈,并根据实际情况进行调整。他们承诺会尽力确保 Git 的稳定性和兼容性,并为开发者提供必要的支持。 评论区主要围绕以下几个观点展开: * **对 Git 引入 Rust 的必要性表示怀疑:** 一些评论者认为 Git 已经足够好,没有必要引入新的复杂技术。他们担心 Rust 的复杂性会增加维护成本,并可能导致一些平台上的兼容性问题。 * **关注 Rust 的学习成本:** 一些开发者表示他们不熟悉 Rust,需要花费时间和精力去学习。他们担心这会影响他们参与 Git 开发的积极性。 * **担心 Git 与 Rust 的绑定:** 有评论指出,将 Git 这样基础且概念简单的项目与 Rust 这样复杂的编译器和运行时绑定在一起是不明智的。C 语言的优势在于易于在新平台上构建编译器,而 Rust 则不然。 * **对 Git 3.0 的未来发展方向感兴趣:** 一些评论者对 Git 3.0 的新特性和改进充满期待,希望了解更多关于 Git 未来发展方向的信息。 * **对“强制性 (mandatorty)”一词的拼写错误表示关注:** 有评论者指出了标题中的拼写错误,并幽默地称其为“2025 年最佳新词”。 * **澄清标题的含义:** 有评论者指出标题容易产生误解,认为 Rust 本身将成为强制性的,而实际上是指使用 Rust 构建 Git 将成为强制性的。 总的来说,评论区对 Git 引入 Rust 的看法比较复杂,既有支持的声音,也有担忧和质疑。Git 团队需要认真听取社区的反馈,并采取相应的措施来解决这些问题,才能确保 Git 的未来发展顺利。 - 原文: [Git: Introduce Rust and announce that it will become mandatorty](https://lore.kernel.org/git/20250904-b4-pks-rust-breaking-change-v1-0-3af1d25e0be9@pks.im/) - Hacker News: [https://news.ycombinator.com/item?id=45312696](https://news.ycombinator.com/item?id=45312696) - 作者: WhyNotHugo - 评分: 114 - 评论数: 48 - 发布时间: 2025-09-20 20:17:33 --- ## 低温氢电池:突破氢存储的障碍 日本研究人员开发出一种在 90°C 下运行的氢电池,克服了传统方法的高温和低容量限制,为氢能源的实际应用铺平了道路。 这项研究的核心在于一种新型固态电解质,它能高效地传输氢负离子。该电池以氢化镁作为负极,氢气作为正极,通过氢负离子的迁移,实现了氢气的可逆存储和释放。与传统方法相比,该电池无需极低温或高压,就能达到氢化镁的理论存储容量,约为 7.6 wt.% H2。传统固态氢存储方法需要在 300 至 400°C 的高温下运行,而使用液体电解质的电化学存储方法则存在氢离子传输效率低的问题。这项新技术在低于 100°C 的温度下运行,为高效、可逆和低温氢存储提供了解决方案。研究人员表示,这项氢存储电池的特性是传统热方法或液体电解质无法实现的,为氢能源的广泛应用奠定了基础,例如氢动力汽车和清洁能源系统。该电池的设计巧妙地利用了氢化镁作为负极,氢气作为正极,通过电化学反应实现氢气的存储和释放。在充电过程中,氢化镁释放氢负离子,这些离子通过电解质迁移到氢气电极,在那里被氧化释放出氢气。放电时,过程相反,氢气在正极被还原成氢负离子,然后移动到负极与镁反应形成氢化镁。这种设计使得电池能够在低于 100°C 的温度下存储和释放氢气,并且能够达到氢化镁的理论存储容量。 评论区对这项研究的看法褒贬不一。有人对氢存储和运输技术的进步表示赞赏,认为 90°C 的存储温度是一个巨大的进步。但也有人质疑电池的效率,希望看到更多关于能量密度和循环寿命等关键指标的数据。一些评论指出,类似的新型电池技术层出不穷,但最终能够实现大规模生产的却寥寥无几,对此表示担忧。还有人对电解过程中可能出现的残留物积累以及系统的长期可行性提出了疑问。此外,有评论者指出,文章缺乏关键信息,例如瓦特/千克存储量和预期寿命周期,使得人们难以评估这项技术的实际应用前景。也有评论者提到了其他氢存储方法,例如将氢与碳原子结合形成甲烷,并询问这种方法与新型氢电池相比如何。 - 原文: [Overcoming barriers of hydrogen storage with a low-temperature hydrogen battery](https://www.isct.ac.jp/en/news/okmktjxyrvdc) - Hacker News: [https://news.ycombinator.com/item?id=45312447](https://news.ycombinator.com/item?id=45312447) - 作者: rustoo - 评分: 38 - 评论数: 27 - 发布时间: 2025-09-20 19:40:28 --- ## Obsidian 如何通过减少依赖来降低供应链攻击风险 Obsidian 通过减少对第三方代码的依赖,降低了供应链攻击的风险。文章详细介绍了 Obsidian 在设计时如何尽量避免依赖第三方代码,从而确保应用的安全性和隐私性。 Obsidian 团队在开发过程中,尽量自己实现功能,而不是直接引入现成的库。对于小型实用函数,他们几乎总是重新实现;对于中等模块,如果许可证允许,他们会 fork 并将其保留在自己的代码库中;对于大型库,他们会包含已知良好、版本锁定的文件,并且只在安全修复发布时才偶尔升级。这种方法保持了 Obsidian 依赖关系的浅层化,减少了恶意更新潜入的机会。 文章还提到,Obsidian 严格锁定所有依赖项的版本,并使用 lockfile 来确保构建的可确定性。此外,他们不运行 postinstall 脚本,以防止软件包在安装过程中执行任意代码。在进行依赖更新时,Obsidian 团队会仔细阅读更新日志,检查子依赖项,并进行全面的测试。他们通常不会频繁更新依赖项,而是将每个更改都视为引入新的依赖项。文章强调,在升级任何依赖项和推送发布之间存在延迟,这可以作为早期预警窗口,以便社区和安全研究人员能够及时发现恶意版本。 总的来说,Obsidian 通过减少依赖、简化依赖关系图、精确锁定版本、不执行 postinstall 脚本以及缓慢而谨慎的升级节奏,降低了受到供应链攻击的影响,并为检测问题提供了充足的时间。 评论区里,开发者们对 Obsidian 的安全策略展开了热烈的讨论。有人认为,Obsidian 过于依赖第三方社区插件,这反而带来了安全风险。他们建议 Obsidian 应该更加“batteries-included”,或者采用类似浏览器扩展的权限模型来管理插件的访问权限。 也有人指出,不运行 postinstall 脚本可能无法真正提高安全性,反而可能破坏正常的安装步骤。他们认为,定期更新依赖项以修复漏洞比防范供应链攻击更重要。还有开发者强调,对所有代码负责,锁定依赖项版本是至关重要的。 另一些开发者则分享了他们对“不要重新发明轮子”原则的看法,认为在某些情况下,为了安全性和控制力,自己编写代码是值得的。还有人对不更新依赖项补丁的建议表示困惑,认为这与常规的安全实践相悖。总的来说,评论区对 Obsidian 的安全策略提出了不同的看法,引发了对软件安全和依赖管理的深入思考。 - 原文: [Less is safer: How Obsidian reduces the risk of supply chain attacks](https://obsidian.md/blog/less-is-safer/) - Hacker News: [https://news.ycombinator.com/item?id=45307242](https://news.ycombinator.com/item?id=45307242) - 作者: saeedesmaili - 评分: 421 - 评论数: 201 - 发布时间: 2025-09-20 06:02:29 --- ## C++中使用贝塞尔曲线作为缓动函数 本文介绍了如何使用C++实现贝塞尔曲线作为缓动函数,并提供了一个简单易用的C++库,该库将三次贝塞尔曲线直接表示为缓动函数。这个库旨在利用现代C++的特性,提高代码的清晰度和性能,并且易于集成到现有的项目之中。 文章详细介绍了该库的设计和使用方法。该库的核心是一个模板类`EasingCubicBezier<T>`,它封装了贝塞尔曲线的参数插值逻辑。构造函数接受三次贝塞尔曲线的四个控制点的X和Y坐标。通过调用`evaluate`函数,并传入参数`t`(位于x0和x3之间),可以获得基于贝塞尔曲线形状的插值结果。 该库支持两种模式:PRECISE模式使用高精度函数,确保准确性;FAST模式使用快速近似函数,以牺牲精度为代价提高性能。该库是平台独立的,已在Windows(Visual Studio)和Linux(Clang)上进行了测试。 为了验证库的性能,作者进行了基准测试,将`EasingCubicBezier<T>`与游戏引擎和图形应用程序中常用的两种方法进行了比较:代数解法(Blender)和数值解法(Newton-Raphson)。测试比较了五种不同的算法,包括原始Blender算法、优化后的Blender算法以及两种使用不同起始点的Newton-Raphson方法。 测试结果表明,`EasingCubicBezier`在PRECISE和FAST模式下都表现出稳定且较低的执行时间,尤其是在典型用例中,其可预测性和有效性最佳。数值解法虽然在某些情况下效率很高,但其性能变化很大,容易出现严重减速。Blender算法的执行时间较长,但稳定性较好。 文章总结说,通过使用所提出的方法,以28字节(float)或56字节(double)显式表示贝塞尔曲线,可以在速度和稳定性之间取得平衡,非常适合实时动画系统。将曲线以此形式存储后,运行时执行将变得非常简单:它直接插值参数值,而无需求解三次多项式方程。 - 原文: [Bezier Curve as Easing Function in C++](https://asawicki.info/news_1790_bezier_curve_as_easing_function_in_c) - Hacker News: [https://news.ycombinator.com/item?id=45313194](https://news.ycombinator.com/item?id=45313194) - 作者: ibobev - 评分: 7 - 评论数: 0 - 发布时间: 2025-09-20 21:27:29 --- ## MapSCII:终端上的 Braille & ASCII 世界地图 MapSCII 是一个使用 Braille 和 ASCII 字符在终端中渲染世界地图的项目,让你在命令行界面也能探索世界。可以通过 `telnet mapscii.me` 在 Mac 或 Linux 上体验,Windows 用户则可以使用 PuTTY 连接。 这个项目的主要亮点在于它能够在纯文本界面下提供地图的可视化,无需图形界面支持。它利用 Braille 和 ASCII 字符的组合,创造出一种独特的地图呈现方式。你可以通过终端直接访问 MapSCII 的服务,浏览世界各地的地图信息。 MapSCII 的代码托管在 GitHub 上,采用 MIT 许可证,是一个开源项目。目前已经获得了 8.4k 的 star 和 272 个 fork,表明它在开发者社区中很受欢迎。项目包含了代码、issue 追踪、pull request 管理、actions 以及安全设置等功能。 该项目不仅展示了技术上的创新,也提供了一种在资源受限或者纯文本环境下进行地理信息可视化的可能性。对于喜欢在终端中工作或者需要在服务器上进行地理信息相关操作的开发者来说,MapSCII 提供了一个有趣且实用的工具。 - 原文: [MapSCII – World Map in Terminal](https://github.com/rastapasta/mapscii) - Hacker News: [https://news.ycombinator.com/item?id=45293012](https://news.ycombinator.com/item?id=45293012) - 作者: _august - 评分: 39 - 评论数: 6 - 发布时间: 2025-09-19 02:12:58 --- ## 非洲爪蛙:逃离实验室,在威尔士定居 50 年的奇妙故事 这篇文章讲述了非洲爪蛙如何从早期的妊娠测试工具,变成逃离实验室并在威尔士定居长达 50 年的外来物种的故事。起初,医生们通过将女性的尿液注射到雌性爪蛙体内来判断是否怀孕,如果怀孕,爪蛙会产卵。这些蛙最初被保存在英国的四个中心,但一些蛙逃脱了,并在威尔士南部找到了新的家园。 研究人员在两个区域追踪到了它们,但为了保密,没有公开具体位置。这些非洲爪蛙大约在 20 世纪 60 年代初通过逃跑或被释放的方式来到了威尔士。它们在布里真德和格拉摩根山谷找到了适宜生存的环境,并在当地的河流和池塘中定居下来。20 世纪 80 年代,在 Dunraven 城堡的一条小溪中发现了一个爪蛙群落。布里斯托大学对它们进行了长期的研究项目,但一直对地点保密。 尽管威尔士的气候相对寒冷,但这些爪蛙依然能够存活并繁殖。一个项目记录到两只爪蛙至少活了 14 年,2006 年的一个晚上,在一个池塘里发现了 345 只爪蛙。原本计划在 2010 年春夏捕捉繁殖期的成年爪蛙,并对其进行安乐死,但自然界抢先一步。由于池塘干涸,蝌蚪无法发育成成年蛙,加上成年蛙会同类相食,导致爪蛙数量锐减。 2010 年和 2011 年进行了 1200 多次诱捕尝试,只在 2010 年 5 月 19 日捕获了一只成年雄蛙。此后,人们再也没有见过它们。尽管爪蛙在威尔士生活了很长时间,但国家生物技术信息中心表示,对它们的繁殖群落的存在“没有正式反应”,25 年来的研究也没有引起保护方面的关注。威尔士政府表示,一份报告得出结论,有“高度信心认为在 Xenopus 之前被发现的主要区域没有剩余的青蛙”。 评论区对这个故事表现出了浓厚的兴趣,有人好奇当初是如何想到将人类尿液注射到青蛙体内进行妊娠测试的,也有人想知道青蛙是如何逃脱的,以及政府担心的细菌是否导致了青蛙更容易受到寒冷的影响。还有人猜测,威尔士爪蛙是否会像其他物种一样,只是藏得更深了。另有评论者对标题产生误解,以为是青蛙在鲸鱼体内定居。总的来说,评论区对这个奇特的故事充满了好奇和疑问。 - 原文: [Escapee pregnancy test frogs colonised Wales for 50 years](https://www.bbc.com/news/uk-wales-44886585) - Hacker News: [https://news.ycombinator.com/item?id=45265688](https://news.ycombinator.com/item?id=45265688) - 作者: Luc - 评分: 54 - 评论数: 18 - 发布时间: 2025-09-17 02:08:01 --- ## 后文字社会黎明:阅读的衰落与文明的终结? 本文探讨了阅读的衰落以及智能手机的普及对社会识字率和知识获取的影响,作者认为我们正经历一场与“阅读革命”相反的“反革命”,并分析了其深远影响。 文章指出,18世纪的“阅读革命”极大地促进了知识的普及,推动了理性、科学和民主的发展。然而,随着智能手机的普及,人们的阅读习惯正在发生巨变,屏幕时间急剧增加,导致注意力和词汇量下降,甚至难以理解经典文学作品。作者引用了多项研究和报告,揭示了欧美国家识字率下降的趋势,并认为智能手机是导致这一现象的主要原因。智能手机通过成瘾性的设计,使用户沉迷于无意义的通知、短视频和社交媒体,从而“窃取”了人们获取知识的时间和精力。作者还提到,大学正在迎来第一批真正的“后文字”学生,他们难以理解书籍中丰富的知识,这对高等教育提出了严峻的挑战。文章最后暗示,阅读的衰落可能会对文明产生负面影响。 - 原文: [The dawn of the post-literate society – and the end of civilisation](https://jmarriott.substack.com/p/the-dawn-of-the-post-literate-society-aa1) - Hacker News: [https://news.ycombinator.com/item?id=45313547](https://news.ycombinator.com/item?id=45313547) - 作者: drankl - 评分: 26 - 评论数: 6 - 发布时间: 2025-09-20 22:06:44 --- ## R 语言的独特之处:CRAN 的反向依赖检查 本文探讨了 R 语言生态系统中一个独特的方面——反向依赖检查,以及它如何改变了作者对软件维护的看法。CRAN 的反向依赖检查机制,类似于一个大型的 Monorepo,确保了 R 包的稳定性和用户体验。 文章首先介绍了作者最初对 R 语言的困惑,以及后来对 R 语言的独特之处的欣赏。与其他包管理器不同,CRAN 在发布前会构建每个包,并针对各种 R 版本和操作系统进行测试。更令人惊讶的是,CRAN 还会重新运行所有依赖于该包的其他包的测试,即使这些包不属于该作者。 作者分享了自己发布 grf 包的经历,由于 API 的一个小改动导致了 policytree 包的测试失败,CRAN 阻止了 grf 包的发布,直到他们帮助 policytree 包完成了升级。这让作者意识到 CRAN 的反向依赖检查,可能会使更新包变得更加困难,特别是当包变得流行时。 文章解释了 CRAN 执行反向依赖检查的原因。R 包的世界就像一个巨大的 Monorepo,大多数包在声明依赖项时,不指定任何版本要求,或者只指定一个下限。这使得用户可以轻松地更新所有包到最新版本,而无需担心依赖关系问题。 作者将 CRAN 的方法与 Elasticsearch 的 API 变更进行了对比。Elasticsearch 的 API 变更虽然快速,但导致许多项目仍然停留在旧版本上。R 语言选择了一种不同的权衡,CRAN 的反向依赖检查鼓励了一种不常进行重大更改的文化。 总的来说,CRAN 的反向依赖检查,虽然给包开发者带来了一些负担,但它为 R 语言的用户带来了极佳的体验,用户可以专注于数据分析,而无需陷入依赖地狱。R 语言不仅仅是在软件演进和集成成本之间选择了一个不同的点,而是对权衡曲线的理解与我们通常认为的不同。 - 原文: [If all the world were a monorepo](https://jtibs.substack.com/p/if-all-the-world-were-a-monorepo) - Hacker News: [https://news.ycombinator.com/item?id=45259623](https://news.ycombinator.com/item?id=45259623) - 作者: sebg - 评分: 202 - 评论数: 58 - 发布时间: 2025-09-16 16:33:45 --- ## FocusStream:专注学习者的 YouTube 体验优化 FocusStream 旨在为学习者提供一个专注、无干扰的 YouTube 环境,通过过滤掉分散注意力的内容,例如 Shorts、评论和不相关的推荐视频,帮助用户更高效地利用 YouTube 上的教育资源。 该平台的核心理念是解决 YouTube 作为教育资源库,同时又充斥着大量干扰性内容的问题。FocusStream 试图通过创建一个更纯粹的学习环境,让用户能够专注于他们感兴趣的教育内容,避免被算法推荐的其他视频或社交互动分散注意力。 用户可以通过 FocusStream 搜索特定主题,平台会加载相关视频,提取字幕,并将它们以向量格式存储在数据库中。当用户搜索内容时,系统会查找这些向量数据,并将用户链接到相应的 YouTube 视频。 为了提升用户体验,FocusStream 允许用户隐藏大多数互动功能,例如 Shorts、评论和相关视频。此外,用户还可以设置默认播放速度和自定义按钮,以便一键更改播放速度。同时,用户可以将默认视频大小设置为“剧场模式”,从而避免看到视频周围的干扰内容。 不过,目前 FocusStream 的一些问题也比较明显,例如注册流程过于繁琐,缺少免注册的演示模式,以及部分用户反映平台无法加载内容或删除账户。 评论区对 FocusStream 的看法褒贬不一。一些用户认为这是一个有价值的工具,可以帮助他们更专注于学习,特别是在研究特定主题时。另一些用户则对注册流程表示不满,认为应该提供免注册的试用版本。还有用户建议开发移动应用程序,并提供更多自定义选项。总的来说,用户普遍认可 FocusStream 的理念,但对其易用性和功能性提出了改进建议。 - 原文: [Show HN: FocusStream – Focused, distraction-free YouTube for learners](https://focusstream.media) - Hacker News: [https://news.ycombinator.com/item?id=45311247](https://news.ycombinator.com/item?id=45311247) - 作者: pariharAshwin - 评分: 56 - 评论数: 34 - 发布时间: 2025-09-20 15:25:03 --- ## 盘点2020年搞笑诺贝尔奖:那些“一本正经”的奇葩研究 这篇文章盘点了2020年的搞笑诺贝尔奖得主及其研究,这些研究乍一看让人觉得荒谬可笑,但实际上都经过了严谨的科学论证,引发人们对科学研究的思考。 今年的奖项涵盖了生态学、化学、经济学、医学、和平奖、物理学、动力学、昆虫学、运输学、声学和心理学等多个领域。生态学奖授予了研究口香糖上细菌的研究团队,他们通过基因分析鉴定了不同国家人行道上废弃口香糖中存在的细菌种类。化学奖颁给了分析电影院空气成分的研究,他们试图通过气味来判断电影中暴力、性、反社会行为等内容的程度。经济学奖则关注了政客的肥胖程度与国家腐败程度之间的关系,发现两者可能存在关联。 医学奖的研究发现,性高潮在改善鼻腔呼吸方面与减充血剂药物同样有效。和平奖授予了研究胡须对脸部抗击打能力的团队,他们通过实验验证了胡须在保护面部免受拳击伤害方面的作用。物理学奖研究了行人为何不会总是相互碰撞,动力学奖则研究了行人有时会相互碰撞的原因,这两个奖项的研究对象相反,但都深入探讨了行人行为的物理学原理。 昆虫学奖颁给了研究在潜艇上控制蟑螂的新方法,运输奖则研究了倒挂运输犀牛是否更安全。声学奖的研究人员让一只雌性中国鳄鱼在充满氦气的密闭容器中吼叫,以研究声音的变化。心理学奖则关注人们通过分析眉毛来判断自恋程度的能力。这些研究都以幽默的方式提出了严肃的科学问题,引发了人们对科学研究的兴趣和思考。 - 原文: [IG Nobel Prize Winners 2025](https://improbable.com/ig/winners/) - Hacker News: [https://news.ycombinator.com/item?id=45312228](https://news.ycombinator.com/item?id=45312228) - 作者: JeremyTheo - 评分: 76 - 评论数: 24 - 发布时间: 2025-09-20 19:00:27 --- ## LLM-Deflate:从大型语言模型中提取数据集 本文介绍了 LLM-Deflate 技术,这是一种从大型语言模型(LLM)中提取结构化数据集的新方法,通过逆向压缩过程,将 LLM 中蕴含的知识转化为可用的训练数据。该技术旨在系统地探索模型的知识空间,提取事实性知识和推理模式,并高效地生成可重用的训练数据。 文章首先回顾了合成数据生成领域的关键进展,包括 Stanford Alpaca 使用自指令方法低成本创建高质量指令跟随模型,以及 NVIDIA Nemotron 数据生成管线在工业级合成数据生成方面的领先实践。Nemotron 采用双阶段管线,使用专门的模型进行响应生成和质量评估,实现了大规模高质量的合成数据生成。此外,知识蒸馏技术的发展,特别是 Microsoft Orca 利用 GPT-4 的解释痕迹训练小型模型,也为 LLM-Deflate 提供了借鉴。 LLM-Deflate 的核心思想是,如果 LLM 在训练过程中成功压缩了知识,那么就可以通过推理将这些知识解压缩回结构化数据。实现这一点的关键在于系统性和规模化。文章介绍了一种基于分层主题探索的方法,通过递归生成更具体的子主题,系统地遍历模型的知识空间。对于每个主题节点,生成多个训练示例,捕捉模型的知识和推理方法,尤其强调提取显式的推理步骤。 文章还讨论了扩展性问题,指出推理成本是该过程的瓶颈。ScalarLM 提供的高性能推理基础设施对于并行生成训练示例、快速迭代提示工程和过滤逻辑,以及扩展到模型知识空间的全面覆盖至关重要。最后,文章展示了将 LLM-Deflate 应用于 Qwen3-Coder、GPT-OSS 和 Llama 3 三个开源模型的结果,每个模型都生成了 10,000 多个结构化训练示例,这些数据集揭示了每个模型在组织和处理不同类型问题方面的有趣差异。这些数据集在模型分析、知识迁移和训练数据增强方面具有实际应用价值。 目前文章还没有评论内容。 - 原文: [LLM-Deflate: Extracting LLMs into Datasets](https://www.scalarlm.com/blog/llm-deflate-extracting-llms-into-datasets/) - Hacker News: [https://news.ycombinator.com/item?id=45311115](https://news.ycombinator.com/item?id=45311115) - 作者: gdiamos - 评分: 34 - 评论数: 12 - 发布时间: 2025-09-20 14:59:54 --- ## Zedis:使用 Zig 语言实现的 Redis 克隆 Zedis 是一个使用 Zig 编程语言编写的 Redis 克隆项目,它旨在提供 Redis 的核心功能,并利用 Zig 语言的优势,例如内存安全和高性能。该项目目前在 GitHub 上开源,并采用 MIT 许可证。 Zedis 项目的目标是探索 Zig 语言在构建高性能、低延迟系统方面的潜力,并为开发者提供一个学习和参考的案例。虽然 Zedis 旨在模仿 Redis 的功能,但它可能并不完全兼容 Redis 的所有特性和命令。开发者可以关注该项目的 GitHub 仓库,了解其最新进展和功能。目前项目已经有 82 个 star 和 1 个 fork。 该项目提供了一个学习 Zig 语言和了解 Redis 内部机制的机会。通过阅读 Zedis 的源代码,开发者可以学习如何使用 Zig 语言处理网络连接、数据存储和并发等问题。此外,Zedis 还可以作为一个实验平台,用于测试新的数据结构和算法,或者探索 Redis 的替代实现方案。 - 原文: [Show HN: Zedis – A Redis clone I'm writing in Zig](https://github.com/barddoo/zedis) - Hacker News: [https://news.ycombinator.com/item?id=45307166](https://news.ycombinator.com/item?id=45307166) - 作者: barddoo - 评分: 132 - 评论数: 84 - 发布时间: 2025-09-20 05:55:43 --- ## PyPI 遭遇 GitHub Actions 工作流令牌泄露攻击 近期 PyPI 发现有攻击者试图通过恶意修改 GitHub Actions 工作流来窃取 PyPI 发布令牌,但 PyPI 本身并未受到入侵,攻击者也未能利用窃取的令牌发布恶意包。 攻击者瞄准了大量存储了 PyPI 令牌作为 GitHub secrets 的仓库,修改其工作流以将这些令牌发送到外部服务器。虽然部分令牌被成功窃取,但攻击者似乎并未在 PyPI 上使用它们。PyPI 已经使所有受影响的令牌失效,并通知了相关的项目维护者。GitGuardian 的博客上有关于此次攻击的更详细信息。 事件的起因是 GitGuardian 的员工通过 PyPI 的“报告为恶意软件”按钮提交了一个名为 `fastuuid` 的项目,发现其中包含恶意 GitHub Actions 工作流,试图将 PyPI 令牌泄露到远程服务器。PyPI 随后发现了另一起类似的攻击,并通过共享 IoC 与 GitGuardian 合作展开调查。 PyPI 建议使用 GitHub Actions 发布到 PyPI 的项目采取以下措施来保护项目:一是使用 Trusted Publishers 替代长期存在的令牌,这是防止此类攻击的最有效方法。GitHub Trusted Publishers 使用有效期短且限定于特定仓库的令牌,并在短时间后过期。二是登录账户并查看安全历史记录,以查找任何可疑活动。即使 Trusted Publisher 令牌仍然可能被窃取,但使用 Trusted Publishers 可以显著降低风险。 评论区里,有开发者提到,虽然 Python 的使用比 JavaScript 更广泛,但大多数攻击和漏洞都来自 NPM。这可能是因为 Python 提供的标准库大大减少了攻击面。也有开发者赞扬了 PyPI 负责人 Mike 对此事件的处理,并强调了 Trusted Publishing 在防御此类攻击中的有效性。另有评论指出,将 API 密钥委托给第三方 CI 系统,并信任该系统运行由其他第三方提供的“actions”是存在风险的。 - 原文: [PyPI Blog: Token Exfiltration Campaign via GitHub Actions Workflows](https://blog.pypi.org/posts/2025-09-16-github-actions-token-exfiltration/) - Hacker News: [https://news.ycombinator.com/item?id=45268084](https://news.ycombinator.com/item?id=45268084) - 作者: miketheman - 评分: 37 - 评论数: 11 - 发布时间: 2025-09-17 05:09:47 --- ## WeUseElixir:Elixir 应用、库和公司目录 WeUseElixir 是一个精选的 Elixir 编程语言的应用、库和公司目录,旨在提高 Elixir 语言的知名度,并展示其在实际项目中的应用。该平台允许开发者分享他们的 Elixir 项目,同时也方便其他人发现新的、有趣的项目。 WeUseElixir 的创建者提到,Elixir 是他接触的第一个函数式编程语言,并迅速成为了 Elixir 语言和社区的忠实粉丝。他已经在各种不同的项目中使用 Elixir,无论是专业项目还是个人项目,Elixir 已经成为他构建 Web 应用的首选语言,因为它使用起来非常有趣。 该网站列出了一些使用 Elixir 的公司和项目,例如 Copia Wealth Studios、Mux、Remote 和 Pepsico 等。此外,还包括一些 Elixir 库,如 Flop 和 Oban。网站还提供了一个入口,允许用户免费添加自己的 Elixir 应用到目录中。 评论区里,不少开发者分享了他们对 Elixir 的看法和使用经验。有人提到 Elixir 在处理并发和并行方面的优势,以及它在构建大型网络系统和集群方面的能力。还有人推荐了 "Elixir in Action" 的作者 Sasa Juric 的播客访谈,他在访谈中详细介绍了 Erlang 和 Elixir 的独特之处。 一些评论者还建议添加更多的公司和项目到 WeUseElixir 目录中,例如 ElectricSQL、Supabase、Felt 和 Plausible Analytics。有人也提到了使用 Liveview 可以大大提高开发效率,减少样板代码。 也有开发者对基于虚拟机(VM)的语言(如 Erlang)提出了疑问,认为这种抽象操作系统的方式可能并非正确的方向。还有人询问了 Elixir、Erlang 和 Gleam 的适用场景。最后,有人建议将该目录做成 YAML 文件放在 Git 仓库中,而不是要求用户注册。 总的来说,评论区对 WeUseElixir 这个项目表示赞赏,并积极地提出了改进建议,同时也分享了各自对 Elixir 语言的看法和经验,体现了 Elixir 社区的活跃和热情。 - 原文: [Show HN: WeUseElixir - Elixir project directory](https://weuseelixir.com/) - Hacker News: [https://news.ycombinator.com/item?id=45306120](https://news.ycombinator.com/item?id=45306120) - 作者: taddgiles - 评分: 187 - 评论数: 40 - 发布时间: 2025-09-20 04:25:14 ---

  

🫵 来啊,说点有用的废话!