每日HackerNews RSS

## Rust 的比较特性:总结 Rust 使用四个核心特性 – `PartialEq`/`Eq` 和 `PartialOrd`/`Ord` – 来定义相等性和排序的方式,这对于集合、排序和算法至关重要。`Eq` 意味着 `PartialEq`,`Ord` 意味着 `Eq` 和 `PartialOrd`,从而建立了一种层级关系。`Ord` 代表一个*完全*顺序(总是可比较的),而 `PartialEq`/`PartialOrd` 允许进行*部分*比较,处理诸如浮点数中的 NaN 之类的情况,在这些情况下直接比较并非总是被定义的。 这些特性不仅仅是关于运算符;它们强制执行代数定律(自反性、对称性、传递性),确保可预测的行为。`f64` 仅实现 `PartialEq`/`PartialOrd`,因为 NaN 违反了这些定律。 对于简单类型,派生这些特性是高效且正确的。然而,通常需要自定义逻辑,尤其是在默认的词法排序不理想时(例如,优先考虑发布版本而不是预发布版本)。像 `sort_by_key`、`Reverse` 和 `Ordering::then_with` 这样的工具可以帮助构建复杂的比较器。 在部分比较和完全比较之间进行选择,以及理解特性边界(例如 `BTreeMap` 的 `Ord`),对于编写健壮且符合惯例的 Rust 代码至关重要。性能考虑也很重要 – 优先选择更便宜、更具选择性的比较键以提高效率。

一位游戏开发者正在寻求社区帮助,以诊断使用 JavaScript 和 KAPLAY 库构建的小型 RPG 游戏存在的性能问题。尽管开发者拥有一台强大的 Macbook Air M3(16GB 内存)并且浏览器性能流畅(Firefox),但游戏打包成桌面应用程序后却会卡顿——这对于计划中的 Steam 发布至关重要。 开发者不确定问题是出在他们的设置上,还是更普遍存在。可在 [itch.io 链接] 获取 Windows、Mac 和 Linux 的可玩版本,鼓励玩家测试并分享游戏录像,以帮助确定卡顿的来源,尤其是在战斗过程中更为明显。移动使用方向键,通过在世界地图上与星星重叠来开始战斗。任何反馈都将不胜感激!

## JSLegendDev 的 RPG 性能反馈 - 总结 一位开发者 (JSLegendDev) 分享了一款正在开发的 RPG 游戏,使用 Web 技术构建,但目标是 Steam 平台发布,并寻求性能反馈。该帖子意外地在 Hacker News 上获得了关注。开发者优先考虑可执行文件的性能(Mac、Windows、Linux),而不是 Web 版本,因为 Steam 是重点,并且他们已建立起与现有用户分发可执行文件的信任。 讨论的中心是 *为什么* 看起来简单的 2D 游戏会出现性能问题。许多评论者建议性能分析工具对于诊断至关重要,一些人指出潜在问题,如垃圾回收、内存泄漏或低效代码。另一些人质疑在现代硬件能力下是否需要担心。一些用户报告了随着时间的推移性能下降,而另一些用户则体验到流畅的游戏体验。 该游戏使用 GemShell/Neutralino 创建可执行文件,避免了像 NW.js 这样框架的大型运行时开销。开发者欢迎反馈,并提供了一个链接到关于他们导出过程的详细博客文章。对话还涉及了有趣的游戏玩法比纯粹的优化更重要,以及寻求专业建议的价值。

## TTD-RAG:为MMU-RAG竞赛设计的深度研究代理 TTD-RAG是一个为MMU-RAG竞赛构建的研究代理,基于“测试时扩散的深度研究者 (TTD-DR)”框架。它通过将报告生成构建为迭代的“去噪”过程来处理复杂的推理任务。系统从一个草稿开始,通过重复的信息检索、综合和修改循环来完善它。 主要特点包括**报告级去噪**——使用不断演变的草稿来指导搜索——以及**组件式自进化**,以改进规划和综合。它利用vLLM高效地提供Qwen模型(生成和重新排序),并利用FineWeb Search API获取外部知识。 该系统完全符合竞赛要求,支持动态(流式)和静态评估端点。它使用Docker容器化并通过FastAPI部署,需要配备24GB+ VRAM的NVIDIA GPU。还提供了使用AWS CLI的提交说明。通过`local_test.py`脚本可以方便地验证端点功能。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 展示 HN:一个在 24gb GPU 上运行的测试时间扩散的开源实现 (github.com/eamag) 20 分,eamag 发表于 1 天前 | 隐藏 | 过去 | 收藏 | 讨论 考虑申请 YC 的 2026 年冬季批次!申请截止日期为 11 月 10 日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系方式 搜索:

肖恩·查尔斯·邓恩因于2025年8月在华盛顿特区向美国海关与边境保护局特工投掷潜艇三明治而被指控袭击联邦官员,但最终被判无罪。该事件发生在美国特朗普政府时期,联邦执法力量加强,许多居民对此持负面看法。 邓恩曾录像记录自己口头对抗这些官员,担心对一家同性恋夜总会进行移民突袭,他声称自己因批评而受到针对。虽然检方认为向执法人员投掷任何东西都是不可接受的,但邓恩的辩护方强调了该行为的无害性以及没有造成任何伤害——该特工穿着防弹背心。 此案成为了联邦部署紧张局势的象征,甚至在机构内部引发了幽默的反应,同事们赠送了该特工以三明治为主题的恶作剧礼物。邓恩在事件后失去了他在司法部的工作,他对判决结果表示欣慰。

启用 JavaScript 和 Cookie 以继续。

## OpenMW 0.50.0 发布:一场《晨风》的复兴 开源项目 OpenMW,一个《上古卷轴III:晨风》的重新实现,发布了 0.50.0 版本。本次更新着重于改善游戏体验,特别是增强了手柄支持,允许使用控制器进行完整的UI导航。该项目因其对一款备受喜爱的游戏的保护,并使其免受发行商更新破坏模组的问题而受到赞扬——这是《上古卷轴5:天际》和《辐射》等较新的Bethesda游戏中的常见问题。 社区强调 OpenMW 运行大量模组的能力,包括大型的“泰姆瑞尔重建”项目,该项目扩展了游戏世界。讨论的重点在于保护具有文化意义的游戏的重要性,以及缩短版权期限的可能性,或许在期限到期时需要提供源代码。许多评论员赞扬 OpenMW 的稳定性以及通过改进的图形和功能使游戏现代化的能力。 也有一些用户提到了其他成功的开源游戏项目,如 OpenTTD 和 FreeDoom,展示了社区驱动的保护和增强的力量。

## 软件工程中严谨性的必要性 作者将缺乏可靠证据的领域(如UFO研究)与软件工程中知识常常基于轶事的情况进行类比。正如引人注目的证人证词并不能证明外星人来访,软件领域的“最佳实践”主张——例如测试驱动开发的益处——也常常缺乏坚实、可验证的数据。 核心问题在于缺乏可证伪的假设和严格的测试。虽然软件工程利用科学原理,但很少*测试*这些原理,而是依赖于逻辑一致性。这导致了大量“噪音”——观点和经验报告——而缺乏“信号”——具体的、可衡量的结果。 尽管通过IDE、代码仓库和生产系统产生大量数据,该领域仍然面临标准化和分析方面的挑战,从而阻碍了有意义的洞察。这种缺乏严谨性使该学科容易受到未经证实的主张的影响,例如围绕AI编码助手的主张,并使真正理解什么有效以及为什么有效变得复杂。 作者提倡一种更科学的方法,强调需要通过工具收集数据、标准化工具以及愿意挑战假设——最终努力达到更成熟工程学科中可见的循证实践水平。

流行的文字游戏Wordle并非最近才出现;它的根源可以追溯到1973年的一款名为WORD的基于文本的游戏,该游戏发表在《101 Computer Games》中。与早期的猜谜游戏如Jotto不同,WORD会反馈正确*和*存在的字母,模仿了Wordle的功能。WORD由高中生查尔斯·雷德创作,是Digital Equipment Corp.推广BASIC编程在学校中普及的一系列BASIC猜谜游戏中的一部分。 这些游戏源于更早的程序,如GUESS,并由此衍生出HI-LO、NUMBER以及更复杂的游戏,如BAGELS(基于数字的Mastermind)和HURKLE(基于网格的寻猎游戏)。除了数字和字母猜谜,这一概念还扩展到战斗模拟,如TARGET和原始版本的 Battleship(SALVO)。 虽然计算机努力*猜测*人类思想导致了不太成功的“反向”猜谜游戏,如ANIMAL,但计算机隐藏信息的简单结构证明了其早期编程的理想性,并孕育了丰富多彩的互动猜谜游戏历史——许多游戏现在可以在网上玩。

## Wordle类游戏的歷史 最近的黑客新闻讨论显示,Wordle的核心玩法——根据字母反馈猜测单词——并非新事物。虽然经常与游戏节目《Lingo》(1987年)联系起来,但其实现可以追溯到更早的时候。 对话追溯了该游戏的历史,至1973年由Digital Equipment Corp (DEC)出版的《101 Computer Games》中的*WORD*。这建立在更早的棋盘游戏*Mastermind*(1970年)及其基于单词的变体*Word Mastermind*(1972年)之上。然而,*Wordle*与*Mastermind*的不同之处在于,它明确地识别出正确*和*位置错误的字母,从而减少了猜测次数(6次 vs. 10次)。 用户分享了年轻时玩过类似游戏的怀旧回忆,包括*JOTTO*(1955年)和在早期计算机(如Apple II)上编写的版本。讨论强调了创新通常在于实现,而*Wordle*的成功可能归功于其在疫情期间的 timing 和数字格式。许多人也指出流行趋势的周期性以及这些益智游戏类型的持久吸引力。

内部文件显示,Meta公司预计2024年将从诈骗广告和违禁商品销售中获利160亿美元,占其总收入的10%。路透社的报道详细说明了Meta明知故犯地允许欺诈活动持续,将执法带来的潜在收入损失与监管罚款的成本进行权衡。 Meta虽然承认了这个问题,但优先加强了对罚款风险最高的地区的打击。尽管旨在减少诈骗,但大幅削减内容审核团队导致绝大多数用户举报未得到处理。 Meta发言人辩称公司致力于打击欺诈,但文件表明,该公司将非法收入作为一项业务权衡而默许。该报告对Meta将利润置于用户安全和平台诚信之上提出了严重质疑。

## 状态图 & OCaml:具有保证正确性的基础设施 状态图,一个 Terraform 状态管理系统,由于对*不可能*发生状态损坏的迫切需求而使用 OCaml 构建——不仅仅是不太可能。为他人管理基础设施需要一种传统测试难以达到的可靠性水平。 OCaml 强大的静态类型系统是这种可靠性的核心。它主动防止诸如访问不存在的数据字段、不正确的类型赋值和数据库模式不匹配等错误,并在*编译时*进行检查。类型安全的 SQL 查询确保数据库更改反映在代码中,并且 PPX 自动生成正确的 JSON 序列化,从而消除了数据丢失的风险。 此外,OCaml 默认的不可变性消除了竞争条件,并辅以 PostgreSQL 的行级锁定。详尽的模式匹配强制执行强大的错误处理,确保解决所有潜在的故障状态。 虽然 OCaml 开发人员较少,但具有扎实的系统和类型系统知识的工程师可以快速适应,并受益于专注于功能开发而不是调试可预防错误的稳定代码库。最终,状态图利用 OCaml 从*检测*错误转变为*预防*错误,从而提供了一种从根本上更可靠的基础设施解决方案。

这项研究调查了记忆在Transformer模型(包括语言和视觉模型)中的表现形式。作者们证明,通过分析模型的损失景观的曲率可以识别出记忆信息——记忆数据会产生比非记忆数据更尖锐的曲率。 他们基于这种曲率开发了一种权重编辑技术,能够比现有方法*更*有效地减少不必要的记忆,同时保持整体语言流畅性。然而,这种编辑特别影响了依赖高度专业知识的任务,例如事实检索和算术,即使在保持更广泛的推理能力的同时。 该研究表明,这些任务利用了模型权重空间中独特且狭义定义的区域,并且消除与记忆相关的组件也会移除这些特定技能的关键要素。这项工作为了解神经网络中的记忆提供了更深入的理解,并提供了一种有针对性的移除方法,突出了模型中存在的特殊结构。

这次黑客新闻的讨论围绕着一篇最近的 arXiv 论文,探讨**神经网络中的损失曲率与记忆和推理之间的区别**。该论文提出了一种使用 K-FAC 分析权重矩阵的方法,将其分解为基于曲率的组件。 与最初的假设相反,研究表明**较低的曲率对应于记忆**,因为这些方向在多个示例中保持一致,而**较高的曲率与泛化相关**——代表更尖锐、特定于示例的记忆。这与更好的泛化发生在损失景观中更宽、更平滑的最小值内的观点一致。 评论员将此与**Sharpness Aware Minimization (SAM)** 和 Karpathy 关于模型优先考虑推理而非死记硬背的愿景相提并论,可能利用外部“预言家”进行事实回忆。核心思想是识别并可能移除记忆组件,提炼出一个“推理核心”或为改进泛化释放空间。讨论还涉及 LLM 环境下“事实”的构成这一哲学问题,提倡学习*像*乘法这样的算法,而不是记忆乘法表。

更多

联系我们 contact @ memedata.com