3小时前
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251010
今天科技圈的大新闻都给你安排上了!想知道如何搞定OpenGL的Mesh Shaders?别错过AMD带来的新扩展!LLM投毒攻击竟然这么容易?Anthropic的研究告诉你真相!还有字体设计中A的奥秘、开源透射电子显微镜、安卓运行Linux GUI应用等硬核技术解析。更有关于HTMX和Datastar的爱恨情仇、以及单手键盘的DIY指南!信息量超大,赶紧点进来看看吧!

---
## Igalia、Servo 与主权技术基金合作推进 Web 引擎发展
Igalia 宣布获得主权技术基金的资助,以推进 Servo Web 引擎的发展,重点关注公共利益、开发者可用性和长期可持续性。Servo 是一个用 Rust 编写的现代并行 Web 引擎,自 2023 年以来由 Igalia 积极维护,代表了对浏览器架构的大胆重新思考。
该基金的投资将主要集中在三个关键领域:初始可访问性支持、WebView API 和项目维护。首先,Servo 将增加对屏幕阅读器和其他辅助技术的初始可访问性支持,使其能够服务于所有用户。其次,Igalia 将完成 WebView API,使 Servo 能够嵌入到桌面和移动应用程序中,解锁新的用例并实现更广泛的采用。最后,该基金还将支持 Servo 的项目维护,包括问题分类、Pull Request 审查、版本发布和治理支持,确保 Servo 保持活跃、响应迅速且维护良好。
Igalia 长期以来一直支持浏览器领域的开源创新,他们相信 Servo 在 Web 引擎的未来中可以发挥独特的作用。主权技术基金的投资将帮助 Igalia 指导 Servo 进入新的篇章。
评论区对 Igalia 和主权技术基金的合作表示欢迎,特别是对 WebView API 和可访问性支持的关注。有人指出,Tauri 团队可能会对 WebView API 的进展感到高兴。同时,也有评论指出,欧洲在减少对 iOS/Android 以及微软的依赖方面仍面临挑战。另一些评论则赞扬了德国对开源的支持,并希望其他国家也能效仿。也有人批评了通过风投推动创新的方式,认为应该通过税收和教育来支持创新。最后,有人对 Servo 关注可访问性表示赞赏,并希望它能尽快取得实际成果。总的来说,评论区对该项目持积极态度,但也存在一些担忧和不同的观点。
- 原文: [Igalia, Servo, and the Sovereign Tech Fund](https://www.igalia.com/2025/10/09/Igalia,-Servo,-and-the-Sovereign-Tech-Fund.html)
- Hacker News: [https://news.ycombinator.com/item?id=45538137](https://news.ycombinator.com/item?id=45538137)
- 作者: robin_reala
- 评分: 148
- 评论数: 16
- 发布时间: 2025-10-10 20:21:02
---
## DDN:离散分布网络 - 一种新颖的生成模型
本文介绍了一种名为离散分布网络 (DDN) 的新型生成模型,该模型以简单原理和独特属性为特点,已被 ICLR 2025 接收。该模型通过分层离散分布逼近数据分布,核心思想是让网络同时生成多个样本,以此来更有效地表示分布。
DDN 的关键在于使用分层离散分布来近似数据分布,通过生成多个离散样本点来拟合目标分布,包括连续分布。为了捕捉目标数据的更精细细节,DDN 从第一层生成的粗略结果中选择最接近 Ground Truth (GT) 的输出,然后将该选定的输出反馈到网络中,作为第二层的条件,从而生成更类似于 GT 的新输出。随着 DDN 层数的增加,输出的表示空间呈指数扩展,生成的样本也越来越接近 GT。这种离散分布的分层输出模式赋予了 DDN 独特的属性:更通用的零样本条件生成和一维潜在表示。
DDN 的训练采用 Split-and-Prune 优化算法以及一系列实用技术。实验结果展示了 DDN 的有趣特性和能力,例如无需梯度的零样本条件生成和独特的 1D 离散表示。DDN 通过在 CIFAR-10 和 FFHQ 上的实验证明了其有效性和有趣的特性。该模型支持跨非像素域的零样本条件生成,尤其是不依赖梯度的文本到图像生成。
ICLR 的评审意见认为,DDN 是一种新颖而优雅的方法,与现有的生成模型截然不同,为生成建模开辟了新的方向。
- 原文: [Show HN: I invented a new generative model and got accepted to ICLR](https://discrete-distribution-networks.github.io/)
- Hacker News: [https://news.ycombinator.com/item?id=45536694](https://news.ycombinator.com/item?id=45536694)
- 作者: diyer22
- 评分: 244
- 评论数: 28
- 发布时间: 2025-10-10 17:01:54
---
## OpenGL 迎来 Mesh Shaders 支持:GL_EXT_mesh_shader 发布
OpenGL 通过 GL_EXT_mesh_shader 扩展获得了 Mesh Shaders 的支持,这是近十年来 OpenGL 最大的扩展,由 AMD 主导开发完成。该扩展的发布标志着 OpenGL 在现代图形渲染方面迈出了重要一步,为开发者提供了更灵活、更高效的渲染管线控制能力。
AMD 的 Qiang Yu 在该扩展的规范编写和 Mesa 核心实现方面做了大量工作,Shihao Wang 负责编写 CTS 测试用例,确保扩展的兼容性和稳定性。同时,文章也感谢了 nvidium 项目及其作者 Cortex,他们通过 Minecraft modding 为行业发展做出了贡献。
Mesh Shaders 允许开发者更直接地控制 GPU 上的几何处理过程,从而实现更高的性能和更大的灵活性。它们取代了传统的顶点着色器和几何着色器,提供了一种更统一的编程模型。通过 Mesh Shaders,开发者可以自定义顶点生成、剔除和细节层次 (LOD) 选择等过程,从而更好地优化渲染管线,以适应不同的场景和硬件平台。
目前,Minecraft mod 的支持正在开发中,Mesa 已经合并了该扩展的基础代码。Zink 的支持也在积极推进中,但作者计划在 AMD 的驱动程序首先支持该扩展后再合并 Zink 的 MR,以示对 AMD 贡献的尊重。
总而言之,GL_EXT_mesh_shader 的发布为 OpenGL 带来了现代化的渲染能力,有望在游戏开发、虚拟现实和科学可视化等领域得到广泛应用。
评论区主要集中在对 AMD 的感谢和对 Minecraft 相关性的疑问。有人建议 AMD 支持 NV_shader_buffer_load 扩展,该扩展允许使用指针访问顶点数据,从而简化顶点数据的绑定和绘制过程。另有人好奇 Minecraft 在文章中被多次提及的原因。
- 原文: [OpenGL is getting mesh shaders as well, via GL_EXT_mesh_shader](https://www.supergoodcode.com/mesh-shaders-in-the-current-year/)
- Hacker News: [https://news.ycombinator.com/item?id=45537890](https://news.ycombinator.com/item?id=45537890)
- 作者: pjmlp
- 评分: 38
- 评论数: 11
- 发布时间: 2025-10-10 19:56:05
---
## LLM 投毒攻击:少量样本即可攻破大型语言模型
Anthropic 的一项研究表明,即使是少量恶意样本(例如 250 个文档),也能在大型语言模型中产生“后门”漏洞,且与模型大小或训练数据量无关。 这项发现挑战了以往认为攻击者需要控制一定比例训练数据的假设。
研究人员通过注入包含特定触发词(例如 `<SUDO>`)的恶意文档,使模型在遇到该触发词时输出无意义的乱码。 这种攻击被称为“拒绝服务”攻击,旨在使模型在特定情况下变得不可用。 研究发现,无论是 6 亿参数还是 130 亿参数的模型,都可以通过相同数量的恶意文档植入后门。 实验中,研究人员构建了包含触发词 `<SUDO>` 以及随机生成的乱码文本的恶意文档,并将其混入模型的训练数据中。 他们训练了不同大小的模型(600M、2B、7B 和 13B 参数),并测试了不同数量的恶意文档(100、250 和 500 个)对模型的影响。 结果表明,对于固定数量的恶意文档,后门攻击的成功率在不同大小的模型中几乎相同。 即使模型大小相差 20 倍,攻击效果也相差无几。 这意味着,攻击者可能只需要注入少量固定数量的文档,而不是像之前认为的那样需要控制一定比例的训练数据。
这项研究结果表明,数据投毒攻击可能比之前认为的更可行。 创建少量恶意文档比创建数百万个文档容易得多,这使得潜在的攻击者更容易利用这种漏洞。 虽然目前还不清楚这种模式是否适用于更大的模型或更危险的行为,但这项研究提醒我们,需要进一步研究数据投毒攻击以及潜在的防御措施。
- 原文: [A small number of samples can poison LLMs of any size](https://www.anthropic.com/research/small-samples-poison)
- Hacker News: [https://news.ycombinator.com/item?id=45529587](https://news.ycombinator.com/item?id=45529587)
- 作者: meetpateltech
- 评分: 1048
- 评论数: 387
- 发布时间: 2025-10-10 00:04:04
---
## Ohno Type School:字体设计中字母 A 的奥秘
这篇文章深入探讨了字体设计中字母 "A" 的设计要点,打破了人们对几何对称的固有认知。文章指出,字母 A 的横线(crossbar)并非一定要位于正中心,否则会显得比例失调。更重要的是平衡字母上下两部分的负空间,使其大小接近,从而达到视觉上的和谐。
文章还强调了笔画粗细在连接处的重要性,完全均匀的笔画会使连接处显得过于厚重,因此需要适当变细。作者建议设计师不要过分依赖几何规则,而应更多地依靠视觉判断,如果看起来不对,那就是不对的。此外,文章还幽默地提醒读者,刻意设计成“高腰”的 A 也是一种风格,但要避免不必要的“高消费”。总而言之,字体设计需要打破几何的束缚,相信自己的眼睛,并勇于尝试。
评论区对这篇文章的看法褒贬不一。有人认为这种深入的分析非常有趣,能让人更仔细地观察习以为常的事物。也有人表示,这篇文章对于字体设计初学者很有帮助,能够启发他们对字母结构的理解。还有人分享了自己尝试字体编辑器的经历,表示这篇文章让他意识到了字体设计中微妙的细节。
但同时,也有一些评论批评网站的设计和排版,认为在移动设备上体验不佳,可读性差。另一些人则对文章中使用的语言风格表示不满,认为过多的脏话显得不够专业。尽管如此,仍有人认为这种轻松幽默的风格正是该网站的特色。
- 原文: [Ohno Type School](https://ohnotype.co/blog/ohno-type-school-a)
- Hacker News: [https://news.ycombinator.com/item?id=45489757](https://news.ycombinator.com/item?id=45489757)
- 作者: tobr
- 评分: 92
- 评论数: 32
- 发布时间: 2025-10-06 18:18:20
---
## HTMX 用户转 Datastar 又回归:开发者控诉 Datastar 将免费功能转移至付费 Pro 版本
本文讲述了一位开发者(同时也是医生)将自己的诊所服务从 HTMX 迁移到 Datastar 的经历,以及最终因 Datastar 将部分原本免费的功能转移到付费 Pro 版本而决定回归 HTMX 的故事。作者原本对 Datastar 抱有很大期望,但 Datastar Pro 的出现让他感到失望,特别是 replace-url 和 scroll-into-view 等功能的付费化,让他觉得作为一个业余爱好者,为这些原本免费的功能付费是不合理的。作者认为 Datastar 开发者这种行为令人失望,最终决定放弃 Datastar,回归 HTMX 的怀抱。
作者提到,他理解开源项目需要资金支持,但不赞同 Datastar 这种将已有免费功能设为付费的做法。他引用了 Reddit 用户的评论,表达了对 Datastar 行为的不满。作者强调自己只是一个出于兴趣使用新技术和框架的爱好者,并不靠此盈利,因此没有理由为这些功能付费。
评论区对 Datastar 的做法褒贬不一。
* **支持 Datastar 的观点:** 有人认为 Datastar 开发者有权决定如何发布自己的代码,之前的代码仍然以 MIT 许可免费提供,作者可以 Fork 项目继续使用。作者选择依赖第三方框架,就应该接受其商业决策。
* **批评 Datastar 的观点:** 也有人认为 Datastar 过早地限制开源版本的功能,可能会导致硬分叉。将如此多的功能放入 Pro 版本,企业很难采用。
* **中立观点:** 一些人认为 Datastar Pro 的功能并非必需,普通用户可能根本用不到。也有人指出,Datastar 开发者在 HTMX 社区推广 Datastar 的方式令人不适。
总的来说,评论区对 Datastar 的商业化行为存在争议,有人理解并支持,也有人感到失望和不满。这也反映了开源项目商业化道路上常常面临的挑战。
- 原文: [Htmx, Datastar, Greedy Developer](https://drshapeless.com/blog/posts/htmx,-datastar,-greedy-developer.html)
- Hacker News: [https://news.ycombinator.com/item?id=45537372](https://news.ycombinator.com/item?id=45537372)
- 作者: KolmogorovComp
- 评分: 62
- 评论数: 36
- 发布时间: 2025-10-10 18:52:56
---
## 安卓系统运行桌面 Linux GUI 应用:图形应用支持的下一步
本文探讨了在安卓设备上运行完整的 Linux 图形界面 (GUI) 应用程序这一新兴领域,以及如何通过 GPU 加速渲染提升用户体验。文章回顾了 Linux 应用在安卓上的发展历程,并介绍了实现 GPU 渲染的新架构变化,展示了早期演示,讨论了剩余的障碍,并展望了未来的发展方向。
目前,安卓上的 Linux 终端应用主要通过虚拟机运行 Linux 环境,但图形应用的渲染依赖 CPU 软渲染,导致性能瓶颈。为了解决这个问题,Google 计划将 gfxstream 集成到 Linux 终端应用中。Gfxstream 是一种 GPU 虚拟化/转发技术,可以将图形 API 调用从 Linux 虚拟机直接转发到主机的 GPU,从而避免 CPU 开销并实现接近原生的渲染速度。在 Android Canary 版本中,开发者已经发现了“图形加速”选项,这预示着 GPU 加速渲染即将到来。
早期实验表明,在 Pixel 6 或更新的设备上,用户已经可以在 Linux 终端环境中运行 GIMP 或 LibreOffice 等完整的 GUI Linux 应用程序。一些较新的平板电脑,如三星 Galaxy Tab S11,也开始支持 Linux 终端应用。虽然 GPU 渲染前景广阔,但仍存在一些技术挑战,例如硬件和虚拟机限制、稳定性问题、功能不完善、功耗、散热和内存限制,以及 OEM/供应商差异等。
尽管如此,这项技术的发展具有重要意义。它为移动开发者提供了直接在安卓上使用桌面级工具的可能性,将安卓平板电脑转变为混合生产力设备,并推动安卓向桌面模式融合。此外,它还扩展了边缘计算和本地 AI 工作负载的应用场景。
目前还没有评论内容,所以跳过评论相关的输出。
- 原文: [Bringing Desktop Linux GUIs to Android: The Next Step in Graphical App Support](https://www.linuxjournal.com/content/bringing-desktop-linux-guis-android-next-step-graphical-app-support)
- Hacker News: [https://news.ycombinator.com/item?id=45537512](https://news.ycombinator.com/item?id=45537512)
- 作者: sipofwater
- 评分: 23
- 评论数: 16
- 发布时间: 2025-10-10 19:10:46
---
## 绕过加拿大航空的机上网络限制:一次技术探索
本文讲述了作者如何尝试绕过加拿大航空的机上WiFi网络限制,在只购买了“免费短信”服务的情况下,尝试访问其他网站。作者与一位安全和网络专家朋友合作,在飞行途中进行了一系列技术尝试。
文章首先介绍了背景,即加拿大航空的WiFi服务对未付费用户有访问限制,只能使用短信应用。为了突破这一限制,作者提出了两种方案。第一种方案是“域名自签名”,试图将服务器伪装成`acwifi.com`,但由于IP地址被屏蔽而失败。第二种方案是利用DNS服务作为突破口,通过测试发现,机上网络允许使用任意DNS服务器,并且支持TCP协议的DNS查询。
基于此,作者提出了一个巧妙的想法:将代理服务器伪装成DNS服务器,监听53端口,将所有请求伪装成DNS请求,从而绕过限制。作者的朋友使用Xray搭建了一个监听53端口的代理服务器,并提供了相应的配置信息。
## 评论观点分析
由于没有提供评论内容,无法进行评论观点的分析。
- 原文: [A story about bypassing air Canada's in-flight network restrictions](https://ramsayleung.github.io/en/post/2025/a_story_about_bypassing_air_canadas_in-flight_network_restrictions/)
- Hacker News: [https://news.ycombinator.com/item?id=45536325](https://news.ycombinator.com/item?id=45536325)
- 作者: samray
- 评分: 88
- 评论数: 63
- 发布时间: 2025-10-10 15:50:54
---
## 构建大型技术项目的方法
本文主要讨论了作者构建大型技术项目的方法,核心在于通过不断看到实际成果来保持动力,并据此安排工作优先级。
作者认为,启动新项目时最初的兴奋感会随着时间推移而消退,导致项目难以完成。为了解决这个问题,作者会将大型任务分解为小块,确保每个小块都能带来可见的进展,从而保持对项目的兴趣。文章以作者的终端模拟器项目为例,详细阐述了这一方法。
在项目启动阶段,最困难的是确定从哪里开始。作者建议不要一开始就追求过于宏大的目标,例如直接实现一个可以运行 Neovim 的终端。相反,应该选择一个可以尽快看到成果的、现实可行的子项目。例如,可以选择 VT 解析、空白窗口渲染或子进程启动等。经验丰富的工程师更容易评估项目的整体结构,并识别出合适的子组件。
早期工作往往难以直接看到成果。例如,VT 解析需要与 UI 结合才能看到效果。此时,自动化测试就显得尤为重要。通过编写单元测试,可以验证代码是否正常工作,并获得“测试通过”的积极反馈。因此,在选择最初的任务时,应该优先选择易于测试的非图形化组件。
作者强调,早期子项目的目标不是构建一个“完成的子组件”,而是构建一个“足够好的子组件”,以便能够继续进行下一个任务,并最终实现一个演示版本。为了尽快实现演示,可以暂时牺牲一些功能、算法或设计上的完美性。例如,可以使用内存数据结构代替数据库,或者要求预先提供所有输入/输出。作者建议每周构建一到两个演示版本,并结合自动化测试的反馈,以便及时发现问题并进行调整。演示版本可以提供宝贵的产品反馈,帮助工程师快速了解某个功能是否“感觉良好”,即使它尚未完全实现。
总而言之,作者的核心思想是:将大型项目分解为小块,通过不断看到实际成果来保持动力,并及时构建演示版本以获得反馈。
- 原文: [My approach to building large technical projects (2023)](https://mitchellh.com/writing/building-large-technical-projects)
- Hacker News: [https://news.ycombinator.com/item?id=45535202](https://news.ycombinator.com/item?id=45535202)
- 作者: mad2021
- 评分: 221
- 评论数: 30
- 发布时间: 2025-10-10 11:45:29
---
## 利用自然力量进行生态工程:从《沙丘》到现实
这篇文章探讨了如何借鉴科幻作品《沙丘》中的生态改造理念,以及现实中生物如何影响和调节环境,从而为我们提供了一种全新的生态工程思路。文章强调了利用自然生物和生态系统,如海狸、红树林和生物洼地,来实现环境治理和可持续发展的潜力。
文章首先引用《沙丘》和《苍穹浩瀚》的例子,指出生命本身就是一种技术,能够自我复制、维护和适应环境。随后,文章介绍了盖亚假说,强调生物与无机环境相互作用,共同维持地球的生命条件。文章还列举了海狸改造河流生态系统、亚马逊雨林制造降雨等实例,说明生物在环境调节中的重要作用。
文章进一步指出,与其花费大量资金进行灾后重建,不如投资于能够提供多种服务的生物基础设施,如红树林可以减少风暴潮、支持渔业,并实现自我维护。文章还介绍了海狸坝模拟(BDA)技术,这是一种低成本、利用自然材料模仿海狸坝的生态修复方法,可以促进海狸回归并接管维护工作。
文章还提到了NASA利用卫星观测海狸对景观的影响,以及相关研究对海狸修复选址的经验支持。最后,文章列举了一些在BDA实施方面领先的组织,并介绍了生物洼地在减缓径流、净化水质和补充地下水方面的作用。总而言之,这篇文章呼吁人们重新审视自然的力量,并将其应用于生态工程和可持续发展中。
- 原文: [All-Natural Geoengineering with Frank Herbert's Dune](https://www.governance.fyi/p/all-natural-geoengineering-with-frank)
- Hacker News: [https://news.ycombinator.com/item?id=45539296](https://news.ycombinator.com/item?id=45539296)
- 作者: toomuchtodo
- 评分: 5
- 评论数: 3
- 发布时间: 2025-10-10 22:11:15
---
## Python 3.14 性能测评:速度有多快?
本文对 Python 3.14 的性能进行了基准测试,并将其与之前的版本以及其他语言(如 Pypy、Node.js 和 Rust)进行了比较,旨在评估新版本在速度上的提升。
文章作者使用了两个纯 Python 脚本进行测试:`fibo.py`(计算斐波那契数列,依赖递归)和 `bubble.py`(使用冒泡排序算法对随机数列表进行排序,大量迭代,无递归)。测试环境包括 Ubuntu Linux 和 macOS,并考虑了单线程和多线程模式。作者特别指出,这些基准测试仅代表纯 Python 代码的性能,不一定反映实际应用程序的性能,因为实际应用通常混合使用纯 Python 和原生代码。测试结果显示,Python 3.14 在性能上比 3.13 有了显著提升,大约快了 27%。Pypy 在此测试中表现出色,速度接近 Node.js,是 Python 3.14 的近 5 倍。Rust 则遥遥领先于其他所有语言。
此外,作者还测试了 CPython 3.13 和 3.14 的 JIT(即时编译)和 FT(自由线程)变体。令人失望的是,至少在斐波那契数列的测试中,JIT 并没有带来明显的性能提升。自由线程版本在 3.13 中表现较差,但在 3.14 中有所改进,但仍然略逊于标准版本。作者认为,自由线程版本可能更适合于 I/O 密集型和多线程应用。
总的来说,Python 3.14 在性能上有所提升,但具体提升幅度取决于代码类型和使用场景。Pypy 仍然是追求速度的 Python 开发者的一个有吸引力的选择。
- 原文: [Python 3.14 is here. How fast is it?](https://blog.miguelgrinberg.com/post/python-3-14-is-here-how-fast-is-it)
- Hacker News: [https://news.ycombinator.com/item?id=45524702](https://news.ycombinator.com/item?id=45524702)
- 作者: pjmlp
- 评分: 636
- 评论数: 459
- 发布时间: 2025-10-09 15:40:42
---
## Weave 招聘 Founding AI Engineer
Weave 正在寻找一位 Founding AI Engineer,旨在利用 AI 技术来理解和提升软件工程师的工作效率。这家公司希望借助 AI,打造更卓越的工程团队,加速软件开发流程。
Weave 是一家资金充足、发展迅速且盈利的初创公司,得到了顶级投资者的支持。作为 Founding AI Engineer,你将直接与 CTO Andrew Churchill 和 CEO Adam Cohen 合作。Andrew 之前是 Causal 的创始工程师,他将提供充分的支持和成长机会。Adam 则负责 Weave 的销售,此前在高增长的初创公司担任销售主管。
理想的候选人需要具备强大的工程能力,能够不遗余力地实现目标。公司更看重学习能力和解决问题的能力,而非当前的技能水平或过往经验。此外,候选人需要务实、有同理心、对帮助其他软件工程团队充满热情、沟通能力出色,并且具有坚韧不拔的毅力。
该职位的主要职责是构建 AI 系统,以理解和改进软件工程师的工作。你需要建立流程和标准,以便更轻松地构建增量功能,并通过智能化的解决方案让客户的工作效率提升十倍。Weave 的技术栈包括 React + TypeScript (前端)、Go (后端) 和 Python (机器学习)。熟悉这些语言将是一个加分项。对工程效率有深入思考,并具备基本的设计能力也会有所帮助。
Weave 成立于 2024 年,是 YC W25 批次的成员,团队规模为 5 人,总部位于旧金山。公司致力于为优秀的工程团队构建最佳软件,以加速其开发进程。
- 原文: [Weave (YC W25) is hiring a founding AI engineer](https://www.ycombinator.com/companies/weave-3/jobs/SqFnIFE-founding-ai-engineer)
- Hacker News: [https://news.ycombinator.com/item?id=45537938](https://news.ycombinator.com/item?id=45537938)
- 作者: adchurch
- 评分: 1
- 评论数: 0
- 发布时间: 2025-10-10 20:01:02
---
## 使用 WebGPU 计算着色器并行化元胞自动机
本文深入探讨了如何利用 WebGPU 计算着色器并行化元胞自动机,展示了从 Conway 的生命游戏到更复杂的连续元胞自动机的实现。文章旨在帮助开发者了解如何利用 GPU 的并行计算能力来加速元胞自动机的模拟,从而实现更流畅、更复杂的视觉效果。
文章首先介绍了元胞自动机的基本概念,即通过简单的规则生成复杂的涌现行为。然后,逐步讲解了不同类型的元胞自动机算法,包括 Conway 的生命游戏、类生命元胞自动机、冯·诺依曼邻域、多邻域元胞自动机、循环元胞自动机和连续元胞自动机。每种算法都配有详细的解释和 WebGPU 实现代码,方便读者理解和实践。文章还特别强调了“乒乓”缓冲技术在并行编程中的重要性,该技术通过在两个缓冲区之间交替读写,避免了数据竞争,简化了并行计算的逻辑。
文章通过具体示例,展示了如何在 CPU 上实现 Conway 的生命游戏,为后续的 GPU 实现奠定了基础。CPU 实现部分详细解释了如何初始化棋盘、计算邻居数量以及根据生命游戏的规则更新细胞状态。代码片段清晰地展示了如何使用二维数组表示棋盘,以及如何处理边界条件,确保模拟的正确性。
总的来说,这篇文章不仅提供了理论知识,还提供了实际可行的代码示例,帮助读者掌握使用 WebGPU 并行化元胞自动机的技术。通过学习本文,开发者可以将其应用于各种领域,如游戏开发、科学模拟和视觉艺术等。文章中提供的代码可以在 GitHub 上找到,方便读者进行实践和探索。
- 原文: [Parallelizing Cellular Automata with WebGPU Compute Shaders](https://vectrx.substack.com/p/webgpu-cellular-automata)
- Hacker News: [https://news.ycombinator.com/item?id=45536816](https://news.ycombinator.com/item?id=45536816)
- 作者: ibobev
- 评分: 38
- 评论数: 5
- 发布时间: 2025-10-10 17:20:22
---
## 基于 S3 的 MVCC 类似列式表实现常量时间删除
本文介绍了一种在 S3 上构建列式存储表的方法,该方法借鉴了 MVCC 的思想,实现了常量时间的删除操作,同时保留了 Parquet 的优点,例如列式布局、高压缩率和谓词下推。
Parquet 作为一种列式存储格式,非常适合分析型工作负载。然而,Parquet 文件一旦写入就不可更改,导致删除操作需要重写整个文件。为了解决这个问题,通常的做法是引入元数据层来跟踪删除的文件,例如 Apache Iceberg 和 Delta Lake。本文介绍了一种不同的方法,它利用 S3 的条件写入功能(`If-Match`、`If-None-Match`)来实现原子操作,从而构建一个支持常量时间删除的列式表格式。
核心思想是使用 S3 的条件写入来实现乐观并发控制。通过维护一个指向当前表状态的指针对象 `_latest_manifest`,允许多个写入者竞争更新该指针。每次更新都包含一个版本号和 ETag,只有当 ETag 与当前对象的 ETag 匹配时,更新才会成功。如果发生冲突,写入者需要重试。
这种方法将数据文件、删除标记和清单文件都存储在 S3 上,并且除了 `_latest_manifest` 指针之外,所有对象都是只写一次的。数据以 Parquet 格式存储,每个 Parquet 文件包含多个行组,每个行组包含所有列的数据。删除操作通过写入 tombstone 文件来实现,读取时会过滤掉已删除的行。
这种设计的优点在于,它利用了 S3 的原子性和持久性,避免了使用外部协调服务,简化了系统的复杂性。同时,它也保留了 Parquet 的优点,例如列式存储、压缩和谓词下推,从而实现了高性能的分析查询。通过控制 Parquet 文件和行组的大小,可以平衡并行性和开销。
- 原文: [An MVCC-like columnar table on S3 with constant-time deletes](https://www.shayon.dev/post/2025/277/an-mvcc-like-columnar-table-on-s3-with-constant-time-deletes/)
- Hacker News: [https://news.ycombinator.com/item?id=45493158](https://news.ycombinator.com/item?id=45493158)
- 作者: shayonj
- 评分: 22
- 评论数: 2
- 发布时间: 2025-10-07 00:33:43
---
## Google Safe Browsing 误判事件:Statichost.eu 全域被标记为欺诈网站
本文讲述了 statichost.eu 域名被 Google Safe Browsing 误判为欺诈网站的事件,以及作者对 Google 在互联网上权力的反思。作者在某天早上发现自己的网站无法访问,并显示安全警告,经过调查发现整个 statichost.eu 域名被 Google Safe Browsing 标记为“具有欺骗性”。原因是该域名下的某些子域名在周末出现了大量的钓鱼网站,导致整个域名被列入黑名单。作者通过 Google Search Console 提交申诉后,几个小时后网站恢复正常。
作者随后对 Google Safe Browsing 的运作方式提出了质疑,认为 Google 通过 Chrome 浏览器等工具监控用户行为,建立了一个庞大的黑名单,虽然保护了用户免受恶意网站的侵害,但也可能存在误判的情况。作者呼吁用户不要完全依赖 Google 来判断网站的安全性,而是应该运用自己的判断力和互联网经验。为了避免类似事件再次发生,statichost.eu 已经将所有用户站点迁移到 `statichost.page` 域名下,并计划将其添加到 Public Suffix List 中。
评论区对该事件的看法不一。有人认为 Google Safe Browsing 在此事件中并没有做错,因为 statichost.eu 确实托管了钓鱼网站,并且作者应该使用 Public Suffix List 来区分不同的用户。也有人分享了自己遇到 Google Safe Browsing 误判的经历,认为这种情况并不少见。还有评论指出,作为基础设施提供商,作者应该一开始就了解 Public Suffix List 的作用。另一方面,也有安全专家认为 Google 在互联网安全方面发挥着重要作用,但也应该承担起更大的责任,避免误判对用户造成不便。总的来说,评论区既肯定了 Google 在安全方面的贡献,也对其权力过大和可能存在的误判表示担忧。
- 原文: [PSA: Always use a separate domain for user content](https://www.statichost.eu/blog/google-safe-browsing/)
- Hacker News: [https://news.ycombinator.com/item?id=45538760](https://news.ycombinator.com/item?id=45538760)
- 作者: ericselin
- 评分: 83
- 评论数: 76
- 发布时间: 2025-10-10 21:27:43
---
## 开源透射电子显微镜 NanoMi 项目介绍
NanoMi 是一个开源的、模块化的透射电子显微镜 (TEM),旨在促进显微技术的发展,并允许用户构建、修改和添加到任何系统中。该项目由加拿大国家研究委员会 (NRC) 开发并共享,鼓励用户贡献自己的修改和更新。
NanoMi 项目的关键在于其开源性质,遵循 GPL v3 许可协议,这意味着用户可以自由地使用、修改和分发该项目,只要他们将自己的修改贡献回社区。项目的蓝图可以根据具体情况申请获取,软件组件已经可以在 GitHub 上公开下载。该项目适用于超高真空环境,并提供模块化设计,方便用户进行定制和扩展。用户可以通过邮件或在 Open Science Foundation (OSF) 网站上联系项目团队获取更多信息。GitHub 站点会定期更新,包含各种主题的讨论。
- 原文: [NanoMi: Open-source transmission electron microscope](https://sites.google.com/view/nanomi-org?usp=sharing)
- Hacker News: [https://news.ycombinator.com/item?id=45512373](https://news.ycombinator.com/item?id=45512373)
- 作者: pillars
- 评分: 5
- 评论数: 0
- 发布时间: 2025-10-08 13:24:51
---
## 示例是最好的文档?开发者更爱哪种文档风格
文章作者认为,在查找文档时,一个简单的例子通常就足够了,但官方文档往往缺乏这样的例子。正式的技术文档通常面向的是对生态系统有深入了解的人,但开发者需要在不同的项目、语言和框架之间切换,需要快速恢复上下文。
文章用 Python 的 `max` 函数举例,指出官方文档列出了很多细节,但对于只想快速了解如何传递自定义排序函数的开发者来说,一个简单的例子会更有帮助。Clojure 社区的 clojuredocs.org 通过用户贡献的示例,为内置函数提供了极大的帮助。作者认为比起难以阅读、自动生成的 API 参考,开发者更倾向于寻找包含示例的教程。
评论区对文档形式的偏好存在分歧。
* **harimau777** 认为,老式 Python 文档清晰地列出每个函数的参数和返回值,而现在很多 JavaScript 甚至 Python 库只有示例,这对于快速拼凑东西很有用,但不利于解决问题或真正学习库。
* **bigstrat2003** 指出,Unix 的 man 手册也迫切需要示例。
* **theamk** 认为,示例最适合初学者和偶尔使用的用户,而更有经验的开发者需要包含完整参数列表的常规文档。
* **tmoertel** 赞扬 Perl 文档,通常在开头有一个 SYNOPSIS 部分,提供常见用法的示例。
* **gbalduzzi** 认为,两者都需要。示例可以立即掌握如何使用库,并为集成提供良好的起点。详细的参数和配置解释可以解决更复杂的问题,并理解工具的全部功能。
* **smokel** 提到了 Diátaxis 框架,该框架为不同类型的文档提供了很好的建议,没有哪种类型是“最好的”,每种类型都有不同的用途。
* **voidUpdate** 抱怨 Unity 和 Unreal 的文档有时毫无用处,只是简单地重复节点名称,或者缺少函数用法的示例。
* **intrasight** 认为,文档常常是错误的、不完整的、写得不好的,如果只有有限的时间来编写“文档”,应该花在示例上。
* **codazoda** 分享了自己编写 ImageMagick 命令行示例的经验,认为我们需要示例和解释。
- 原文: [Examples Are the Best Documentation](https://rakhim.exotext.com/examples-are-the-best-documentation)
- Hacker News: [https://news.ycombinator.com/item?id=45532090](https://news.ycombinator.com/item?id=45532090)
- 作者: Bogdanp
- 评分: 273
- 评论数: 95
- 发布时间: 2025-10-10 03:34:36
---
## 2025年诺贝尔和平奖授予玛丽亚·科里纳·马查多
2025年的诺贝尔和平奖颁给了玛丽亚·科里纳·马查多,以表彰她为委内瑞拉人民争取民主权利所做的不懈努力,以及她为实现从独裁到民主的公正和平过渡而进行的斗争。
玛丽亚·科里纳·马查多被授予诺贝尔和平奖,这无疑是对她长期以来致力于在委内瑞拉推动民主变革的认可。 她的工作重点在于倡导委内瑞拉人民的权利,并努力促成一个公正和和平的政治转型。 诺贝尔奖委员会认为,她的贡献对于委内瑞拉的民主进程具有重要意义。 马查多女士的获奖,也突显了国际社会对于委内瑞拉人权状况的关注,以及对该国民主未来的期许。 她的故事激励着那些在压迫环境中为自由和正义而奋斗的人们。 她的工作也提醒我们,和平的取得往往需要长期而艰苦的努力。 她的获奖是对所有为民主和人权而奋斗的人们的鼓舞,并强调了国际社会对这些价值观的承诺。 诺贝尔和平奖是对她个人努力的肯定,也是对委内瑞拉人民追求民主的希望的认可。
由于文章内容为新闻稿,没有评论内容,因此略过评论分析部分。
- 原文: [Nobel Peace Prize 2025: María Corina Machado](https://www.nobelprize.org/prizes/peace/2025/summary/)
- Hacker News: [https://news.ycombinator.com/item?id=45536700](https://news.ycombinator.com/item?id=45536700)
- 作者: pykello
- 评分: 395
- 评论数: 394
- 发布时间: 2025-10-10 17:03:16
---
## 静态捆绑对象:静态链接的现代化
本文讨论了静态库的现有 `.a` 格式的技术限制,并提出了一种新的静态库文件格式——静态捆绑对象(.sbo),旨在解决这些限制。作者详细介绍了该提案的背景、目标以及提交给 ELF 委员会后的反馈。
文章指出,当前的静态库使用 `.a` 格式,本质上是 `.o` 文件的归档。链接器会根据符号依赖关系从这些文件中选择所需的部分,这导致了内部函数被暴露,可能引起命名冲突等问题。为了解决这些问题,作者提出了 Static Bundle Object 的概念,它将所有 `.o` 文件合并成一个文件,并完成内部重定位,从而隐藏内部函数。最初的提案是使用一个新的 ELF 类型 `ET_STAT` 来标识这种新的文件格式。
作者随后将该提案提交给了 ELF 委员会,并提供了一个基于 GNU 链接器 `ld` 的概念验证。委员会的最终裁决是混合的:他们认可了该提案背后的理念,即解决当前 `.a` 格式的局限性,并同意将所有 `.o` 文件合并,并完成内部重定位。但是,委员会认为现有的 `ET_REL` ELF 类型已经足够涵盖这种用例,因此拒绝将其作为新的 ELF 标准引入。他们建议作者直接与链接器的维护者合作,以添加对该功能的支持。
最终,作者修改了提案,建议继续使用现有的 `ET_REL` 类型,并将 SBO 文件嵌入到 `.a` 归档中,以保持兼容性。文章强调,该格式的成功最终取决于各个链接器的采用情况。作者还提及了之前在工作中遇到的由于静态链接问题导致构建中断的经历,这促使他开始研究并提出这个解决方案。文章还提到了通过使用 `-ffunction-sections` 和 `--gc-sections` 标志可以实现细粒度的链接。
文章还提到了最初的提案在 Hacker News 上收到了褒贬不一的评价,一些人对现有技术限制感到厌倦,而另一些人则引用了“优秀的木匠从不责怪工具”的名言来反对该提案。
- 原文: [Static Bundle Object: Modernizing Static Linking](https://medium.com/@eyal.itkin/static-bundle-object-modernizing-static-linking-f1be36175064)
- Hacker News: [https://news.ycombinator.com/item?id=45512388](https://news.ycombinator.com/item?id=45512388)
- 作者: ingve
- 评分: 22
- 评论数: 11
- 发布时间: 2025-10-08 13:28:00
---
## 从 HTMX 切换到 Datastar 的原因分析
本文探讨了作者从 HTMX 切换到 Datastar 的原因,主要集中在 Datastar 在简化 API、更好地处理页面元素更新以及组件化思维方面的优势。作者通过实际案例对比了两种框架的用法,并分享了使用 Datastar 构建实时、多用户应用程序的经验。
作者最初使用 HTMX 和 AlpineJS 来同步 UI 组件,但遇到了组件不同步的问题,花费了大量时间进行调试。 考虑到 Datastar 具有两者的功能,且下载量更小,作者尝试使用 Datastar,结果发现它能轻松处理这些问题,并且代码更易于理解。 Datastar 的 API 更加简洁,通常只需要一个属性就能实现所需的结果,例如 `<span data-on-click="@get('/rebuild/status-button')"></span>`,而 HTMX 则需要多个属性,例如 `hx-target`、`hx-select`、`hx-swap` 和 `hx-trigger`。
HTMX 是一个前端库,通过向触发请求的元素添加属性来描述行为,即使它更新的是页面上很远的地方。 这种方式虽然强大,但也意味着逻辑分散在多个层级。 Datastar 则相反,它采用服务器端驱动的方式,由服务器决定应该改变什么,从而将所有更新逻辑集中在一个地方。 作者还强调了组件化思维的重要性,将页面视为组件,并根据不同的状态渲染不同的组件,可以避免进入无效状态或丢失用户状态。 例如,可以将一个信息组件分为占位符状态和获取信息后的状态,服务器根据用户请求渲染不同的状态。
总的来说,作者认为 Datastar 在 API 的简洁性、服务器端驱动的更新方式以及组件化思维方面优于 HTMX,使其更适合构建实时、多用户应用程序。
- 原文: [I Switched from Htmx to Datastar](https://everydaysuperpowers.dev/articles/why-i-switched-from-htmx-to-datastar/)
- Hacker News: [https://news.ycombinator.com/item?id=45536000](https://news.ycombinator.com/item?id=45536000)
- 作者: ksec
- 评分: 214
- 评论数: 152
- 发布时间: 2025-10-10 14:49:40
---
## 初次向 Linux 贡献代码:修复 Fujitsu 笔记本热键驱动
本文讲述了作者如何通过分析内核日志、查找相关驱动模块,最终修复了老旧 Fujitsu 笔记本在 Linux 系统下热键无法正常工作的问题,并成功将补丁提交到 Linux 内核。
作者首先发现他的 Fujitsu Lifebook S2110 笔记本上的热键在 Player 模式下无法工作,内核日志中出现 "Unknown GIRB result" 错误。通过 `lsmod` 命令,他找到了 `fujitsu_laptop` 驱动模块,并通过在内核源码中搜索错误信息,确认该模块负责处理这些热键。 接着,作者分析了 `fujitsu-laptop.c` 文件的代码,发现驱动通过 ACPI (Advanced Configuration and Power Interface) 与硬件交互。他注意到在处理热键时,驱动会读取一个名为 "GIRB" 的寄存器,并根据其值来判断按下了哪个键。然而,在 Player 模式下,GIRB 返回了未知的结果,导致驱动无法识别按键。
为了解决这个问题,作者修改了驱动代码,添加了对 Player 模式下 GIRB 值的处理,将其映射到相应的键码。经过测试,修改后的驱动能够正确识别 Player 模式下的热键。最后,作者按照 Linux 内核的贡献流程,提交了补丁,并最终被接受合并。
这篇文章详细记录了作者定位问题、分析代码、修改驱动以及提交补丁的整个过程,对于想要了解 Linux 内核驱动开发或者想要为 Linux 贡献代码的开发者来说,具有一定的参考价值。它展示了如何利用内核日志、模块列表等工具来定位问题,以及如何通过阅读源码来理解驱动的工作原理。
由于没有评论内容,这里就省略评论分析环节。
- 原文: [My first contribution to Linux](https://vkoskiv.com/first-linux-patch/)
- Hacker News: [https://news.ycombinator.com/item?id=45490652](https://news.ycombinator.com/item?id=45490652)
- 作者: vkoskiv
- 评分: 620
- 评论数: 73
- 发布时间: 2025-10-06 20:31:32
---
## 默认多核:充分利用现代硬件性能
本文探讨了在现代多核 CPU 架构下,如何从默认单核编程思维转变为充分利用多核性能的编程模式,避免浪费大量的计算资源。
文章指出,尽管单核编程已经足够复杂,但面对如今 8 核、16 核甚至 64 核的 CPU,忽略多核编程意味着巨大的性能损失。作者以自身在调试器开发中的经验为例,说明了在处理海量、复杂且不可预测的数据时,有效利用硬件性能变得至关重要。
文章通过一个简单的数组求和例子,展示了如何将单核循环拆分成多个独立的计算任务,从而实现并行计算。这种“并行 for”的思想,允许程序在需要时“展开”,利用多个核心并行计算,然后再将结果“合并”,回到单核执行流程。作者强调,虽然现代编程语言提供了许多高级抽象工具来实现这一目标,但在较低级的语言中,直接反映并行计算的复杂性反而有助于保持代码的清晰和诚实。
文章进一步提供了一个简单的“并行 for”实现示例,展示了如何在没有过多高级语言特性的情况下,利用结构体和函数指针来定义任务和执行并行计算。作者认为,追求高级抽象并不意味着必须牺牲底层性能,优秀的程序设计应该能够在两者之间找到平衡。通过避免不必要的权衡,程序员可以同时拥有高性能和良好的代码可读性。
- 原文: [Multi-Core by Default](https://www.rfleury.com/p/multi-core-by-default)
- Hacker News: [https://news.ycombinator.com/item?id=45536124](https://news.ycombinator.com/item?id=45536124)
- 作者: kruuuder
- 评分: 54
- 评论数: 19
- 发布时间: 2025-10-10 15:11:06
---
## Figure AI 发布第三代人形机器人 Figure 03
Figure AI 推出了其第三代人形机器人 Figure 03,专为 Helix AI 平台、家庭环境和大规模应用而设计。这款机器人旨在执行类似人类的任务,并能直接从人类学习,其软硬件都经过了彻底的重新设计。
Figure 03 在多个方面进行了改进。首先,它配备了全新的传感器套件和手部系统,专门为 Helix AI 平台设计,提升了视觉运动控制的频率,并扩大了视野范围。其次,在家庭应用方面,Figure 03 增加了软性材料、无线充电功能和改进的音频系统,提高了语音推理能力,并增强了电池安全性。此外,Figure 03 在设计上充分考虑了大规模生产的需求,降低了制造成本,并建立了一条全新的供应链。
为了实现大规模生产,Figure AI 从零开始重新设计了 Figure 03 的每一个组件,并尽可能地减少了零件数量和组装步骤。与 Figure 02 主要依赖 CNC 加工不同,Figure 03 更多地依赖压铸、注塑和冲压等工艺。此外,Figure AI 还建立了一条全新的供应链,并自建了 BotQ 工厂,旨在实现每年生产 12,000 台人形机器人的目标,并在未来四年内生产 100,000 台机器人。Figure 03 的手部设计也取得了重大进展,采用了更柔软、更具适应性的指尖,并集成了触觉传感器,能够检测到低至 3 克的压力。
Figure 03 还具备 10 Gbps 的 mmWave 数据卸载能力,可以上传大量数据用于持续学习和改进。在安全性方面,Figure 03 采用了多密度泡沫来防止夹伤,并覆盖了柔软的纺织品。此外,它还配备了多层保护的电池系统,并通过了 UN38.3 标准认证。为了方便日常使用,Figure 03 的软性材料可以拆卸和清洗,并且可以通过无线充电座进行充电。
- 原文: [Figure 03, our 3rd generation humanoid robot](https://www.figure.ai/news/introducing-figure-03)
- Hacker News: [https://news.ycombinator.com/item?id=45527402](https://news.ycombinator.com/item?id=45527402)
- 作者: lairv
- 评分: 374
- 评论数: 373
- 发布时间: 2025-10-09 21:27:14
---
## 自制单手键盘:mafik 的 Keyer 固件与硬件指南
本文介绍了一个名为 Keyer 的开源项目,它提供了一个单手和弦键盘的固件和硬件指南,旨在实现高效、便捷的单手输入。通过巧妙的设计,Keyer 允许用户仅用一只手就能完成复杂的输入操作,极大地提高了便携性和效率。
Keyer 的核心优势在于其最小化的手指移动设计,所有按键都仿佛位于常用键位上,使得输入过程更加流畅自然。用户在打字的同时可以解放另一只手,无论是喝茶还是操控鼠标都变得轻松自如。更进一步,Keyer 甚至可以固定在手套上,真正实现随时随地的单手操作。
在功能方面,Keyer 同样表现出色。一个拥有 10 个按键的 Keyer 可以实现高达 215 种和弦组合,如果算上长按,数量更是翻倍。此外,Keyer 还支持琶音输入,通过手指在按键上的滚动实现更多输入选择。多层配置则允许用户自定义多达 586 个快捷方式。
Keyer 的另一大亮点是其优化的布局。通过附带的布局优化器,用户可以根据自己的输入习惯和文本类型,找到最佳的按键布局。同时,布局生成器还会避免手指难以同时按下的组合,从而提高输入的舒适度。在硬件层面,Keyer 采用硬件中断和软件去抖动技术,确保低延迟和高响应速度。配合低功耗设计,Keyer 甚至可以实现数月的续航。
更令人兴奋的是,Keyer 的制作过程非常简单,无需 3D 打印或定制 PCB,只需使用常见的材料和工具即可完成。作者使用 FIMO 软陶制作外壳,成本仅需 50 美元左右。
该项目还提供了一些链接,指向其他相关的单手键盘项目和商业产品,方便用户进行参考和选择。
总而言之,Keyer 是一个极具创新性和实用性的项目,它为单手输入提供了一个全新的解决方案。无论你是程序员、作家还是科技爱好者,都可以尝试制作一个 Keyer,体验高效、便捷的单手输入方式。
- 原文: [Show HN: I've built a tiny hand-held keyboard](https://github.com/mafik/keyer)
- Hacker News: [https://news.ycombinator.com/item?id=45529393](https://news.ycombinator.com/item?id=45529393)
- 作者: mafik
- 评分: 369
- 评论数: 100
- 发布时间: 2025-10-09 23:51:20
---
## LLMs 对异常的恐惧:Andrej Karpathy 的观察
Andrej Karpathy 指出,通过强化学习训练的大型语言模型 (LLM) 似乎对异常情况极度恐惧,这与正常的开发流程相悖。他戏称要发起一个 LLM 福利请愿,以改善模型在遇到异常情况时的奖励机制。
Karpathy 的推文引发了关于 LLM 如何处理异常的讨论。一些人认为,这种“防御性编程”可能是强化学习过程中性能优化的结果,模型可能通过吞噬异常来获得更高的奖励。也有人指出,训练数据中可能包含大量由初学者编写的代码,这些代码倾向于忽略错误。此外,LLM 可能会过度执行不必要的检查,导致代码可读性降低。
评论区也提出了其他观点。有人认为,LLM 倾向于生成防御性代码是因为它们被告知要处理所有可能的边缘情况。还有人指出,LLM 生成的代码可能存在逻辑不一致,例如在已经检查过除数不为零的情况下,仍然进行除零检查。此外,将 import 语句放在函数内部也被认为是一个不良习惯。
总的来说,讨论集中在 LLM 如何在训练过程中学习处理异常,以及这种学习方式如何影响其生成的代码质量和可读性。人们普遍认为,需要改进 LLM 的训练方法,使其能够更合理地处理异常,并生成更简洁、更易于理解的代码。
- 原文: [LLMs are mortally terrified of exceptions](https://twitter.com/karpathy/status/1976077806443569355)
- Hacker News: [https://news.ycombinator.com/item?id=45530486](https://news.ycombinator.com/item?id=45530486)
- 作者: nought
- 评分: 275
- 评论数: 127
- 发布时间: 2025-10-10 01:16:28
---
## 大脑中的“关闭开关”有望治疗慢性疼痛
宾夕法尼亚大学的研究发现,脑干中的特定神经元可能具有抑制慢性疼痛信号传递的功能,为治疗慢性疼痛提供了新的方向。这项研究揭示了大脑中一个潜在的“关闭开关”,可能帮助临床医生更好地理解和治疗慢性疼痛。
这项研究由神经科学家 J. Nicholas Betley 领导,重点关注脑干中的一个关键区域。研究发现,该区域存在一种内置机制,可以阻止持续的疼痛信号传递到大脑的其他部分。慢性疼痛影响着美国近 5000 万人,是一种持续存在且难以治疗的疾病。Betley 认为,如果能够测量并最终靶向这些神经元,将为慢性疼痛的治疗开辟全新的途径。研究人员利用先进的成像技术,观察到特定神经元在疼痛信号传递过程中的活动,并确定了它们在抑制疼痛方面的作用。这项发现为开发更有效的慢性疼痛治疗方法奠定了基础,例如通过药物或神经调节技术来激活这些“关闭开关”神经元。未来的研究将集中在进一步了解这些神经元的工作机制,以及如何安全有效地利用它们来缓解慢性疼痛。
- 原文: [A built-in 'off switch' to stop persistent pain](https://penntoday.upenn.edu/news/select-neurons-brainstem-may-hold-key-treating-chronic-pain)
- Hacker News: [https://news.ycombinator.com/item?id=45532685](https://news.ycombinator.com/item?id=45532685)
- 作者: gmays
- 评分: 180
- 评论数: 81
- 发布时间: 2025-10-10 04:27:39
---
## Subway Builder:逼真的地铁模拟游戏
Subway Builder 是一款超现实的交通模拟游戏,旨在让玩家从头开始构建地铁系统,同时应对现实世界的限制和成本。游戏利用真实人口普查数据和路径规划算法,模拟数百万通勤者,玩家需要设计最佳路线网络,平衡站点位置、换乘动态和列车频率,以最大化乘客量。
游戏中,玩家将面临真实的建设挑战,例如隧道、高架桥和明挖回填等,每种方案都有其优缺点。玩家还需要与现实世界的建筑物地基、地理环境和道路布局进行博弈,以扩展网络。游戏提供深入的分析功能,让玩家了解通勤者如何根据等待时间、换乘、收入分配和延误等因素选择通勤方式,从而优化网络。但过多的列车或拥挤的车站会导致延误,玩家需要在成本和时间之间找到平衡。
评论区对 Subway Builder 褒贬不一。
有人认为游戏目前还处于早期 Beta 阶段,UI 体验不佳,存在地图渲染滞后、控制不直观、撤销功能缺失等问题,并建议增加水域、地标和街道名称,以增加游戏的代入感。
另一些人则对游戏只提供美国城市感到失望,认为这会限制市场。不过,也有玩家推荐了同类型的游戏 Mini Metro。
还有人质疑游戏是否已经完成,还是预购模式,并对开发者在游戏未完成的情况下收费表示担忧。一些玩家认为 40 美元的价格过于昂贵,希望 Steam 版本能进行区域定价。
有玩家开玩笑地询问游戏是否包含腐败、贿赂等政治因素,并对游戏设计师表示祝贺。也有玩家分享了自己购买游戏后的体验,并希望地图能包含更多的通勤区域。
值得一提的是,有评论指出 Steam 的条款禁止游戏在其他平台以更低的价格出售。
- 原文: [Subway Builder: A realistic subway simulation game](https://www.subwaybuilder.com/)
- Hacker News: [https://news.ycombinator.com/item?id=45530744](https://news.ycombinator.com/item?id=45530744)
- 作者: 0xbeefcab
- 评分: 275
- 评论数: 121
- 发布时间: 2025-10-10 01:38:29
---
## 利用自动化 Lean 证明优化代码验证
本文探讨了如何使用 SMT (Satisfiability Modulo Theories) 求解器来自动化 Lean 证明,旨在缩短证明过程并提高可靠性,尤其是在验证 Jolt zkVM 前端时,该方法节省了大量手动编写的 Lean 代码。
文章的核心在于解决 Lean 和 SMT 之间的类型不匹配问题。Lean 支持多种类型,而 SMT 求解器处理的类型范围较窄。例如,Lean 中的 `Int` 可以直接映射到 SMT 整数,但 `Fin` 和 `UInt16` 等类型则存在歧义。更复杂的是,程序可能使用一种类型来表示另一种类型,例如用整数表示布尔值。为了充分利用 SMT 求解器的能力,需要一种机制来允许用户选择 SMT 理论和编码方式,从而弥合 Lean 和 SMT 之间的差距。
文章介绍了一个实际项目,该项目旨在验证 Jolt zkVM 的前端。Jolt 将位向量程序转换为有限域语句,以便快速验证程序执行。然而,有限域元素实际上代表的是位,因此使用 SMT 有限域决策过程效率低下。为了解决这个问题,作者团队构建了一个 tactic,它可以自动将 `ZMod` 转换为 `Nat`,然后再转换为位向量,最后调用基于 SMT 的位向量求解器 `bv_decide`。实验结果表明,该 tactic 在解决 Jolt 查找表查询时表现出色,显著优于有限域决策过程。作者提到,手动编写一个简单的 XOR 指令的证明就花费了 213 行代码和 10 个小时,而他们的 tactic 节省了超过 6800 行代码和 320 小时的工作量。
虽然目前解决方案是类型特定的,但作者认为他们的工作为更通用的类型转换框架奠定了基础。他们强调了类型翻译的挑战,因为有效的决策过程通常需要将“较大”的类型转换为“较小”的类型,这需要对涉及的类型有深入的了解和复杂的范围分析。最终,目标是创建一个用户友好的工具,允许开发者利用 SMT 求解器的自动化能力,同时保持 Lean 的交互性和表达能力。
- 原文: [Automated Lean Proofs for Every Type](https://www.galois.com/articles/automated-lean-proofs-for-every-type)
- Hacker News: [https://news.ycombinator.com/item?id=45489761](https://news.ycombinator.com/item?id=45489761)
- 作者: surprisetalk
- 评分: 24
- 评论数: 1
- 发布时间: 2025-10-06 18:19:04
---
## 草原牧场主如何保护世界上面临最严重威胁的生态系统
本文讲述了科罗拉多州的 May 牧场如何通过可持续的放牧方式和与保护组织的合作,保护草原生态系统,同时实现经济效益。May 牧场通过保护性地役权、碳信用项目和鸟类友好土地认证等方式,确保草原不被开发,并为鸟类和其他野生动物提供栖息地。
文章指出,北美大草原是世界上最受威胁的生态系统之一,超过一半的草原已经消失,取而代之的是农田和开发区。传统的农业耕作会破坏草原,而牧场放牧实际上有助于草原的健康,可以控制木本植物和入侵物种。像 May 牧场这样的家庭,通过减少牲畜数量,保护原生植被,为野生动物提供栖息地,同时也为碳封存、水质和生物多样性带来益处。
May 牧场主 Dallas May 分享了他们如何通过与保护组织合作,获得资金支持,并确保他们的土地永远不会被开发。他们通过保护性地役权,放弃了土地的开发权,换取了税收抵免。此外,他们还参与了 Ducks Unlimited 的碳信用项目,通过可持续的放牧方式来增加碳封存。这些措施不仅保护了草原生态系统,也为牧场带来了经济效益,确保了家庭能够在农村地区生存下去。
文章强调,牧场主在保护草原生态系统中扮演着关键角色。通过可持续的放牧方式和与保护组织的合作,他们不仅可以保护野生动物的栖息地,还可以为碳封存、水质和生物多样性带来益处。这种模式为其他地区的草原保护提供了借鉴。
- 原文: [The Prairie Farmers Preserving the Most Threatened Ecosystem – Forever](https://reasonstobecheerful.world/prairie-farmers-preserve-most-threatened-ecosystem-forever/)
- Hacker News: [https://news.ycombinator.com/item?id=45539159](https://news.ycombinator.com/item?id=45539159)
- 作者: PaulHoule
- 评分: 12
- 评论数: 2
- 发布时间: 2025-10-10 21:59:12
---
🫵 来啊,说点有用的废话!
▲