每日HackerNews RSS

## `--dry-run` 选项的价值 在开发一个生成、压缩、上传和通知的报告应用程序时,作者借鉴Subversion等工具,实现了一个 `--dry-run` 选项。这个标志模拟应用程序的流程——列出哪些报告*将会*生成,文件*将会*移动/上传等等——而实际上不进行任何更改。 作者发现这个功能非常有用,每天都用它来快速检查可访问性、配置和预期状态,*在*运行完整流程之前进行验证。它也加快了测试速度;报告计划的更改可以立即验证,而无需等待报告生成。 虽然承认它为代码增加了一些条件逻辑,但快速反馈和安全测试的好处超过了轻微的复杂性。作者总结说,`--dry-run` 对于执行更改的命令行应用程序尤其有用,并建议在开发早期考虑实现它。

威廉·福格,全球根除天花的关键人物,享年89岁。20世纪70年代,福格领导美国疾病控制与预防中心的天花根除计划,他的工作被认为阻止了数亿人因这种曾经导致三分之一感染者死亡的疾病而丧生。 除了天花,福格还担任过疾控中心主任、比尔及梅琳达·盖茨基金会的资深顾问,并于2012年获得总统自由勋章。他始终坚信疫苗的重要性,并认为通过全球合作也可以根除脊髓灰质炎。 最近,福格与其他前疾控中心主任一起公开批评了现任卫生及公共服务部部长罗伯特·F·肯尼迪的政策。全球卫生工作组将福格誉为一位“鼓舞人心”的领导者,他的愿景和同情心激励了数代公共卫生专业人士。他的遗产强调了专注科学和全球卫生倡议的深远影响。

## 火箭的厄运与意外的救援任务 SpaceX猎鹰9号火箭去年的2月发射,成为一个谜团的来源,多个有效载荷面临意外问题。Intuitive Machines的月球着陆器倾覆并迅速失效,NASA失去了与它的水测绘探测器的联系,一家小行星采矿初创公司AstroForge也失去了与距离地球20万公里的探测器的通讯。然而,最令人惊讶的命运降临在Epic Aerospace的奇美拉GEO-1上,这是一种用于轨道调整的空间拖船。 出乎意料的是,奇美拉GEO-1现在距离地球5300万公里——并且仍在运行。CEO伊格纳西奥·贝利尔斯·蒙特罗,一位来自阿根廷的自学成才的工程师,决心将其带回家。尽管最初遭遇挫折和通讯故障,蒙特罗和他的小团队还是设法远程排查并更新了飞船的软件,证明了它的韧性。 现在,Epic需要访问NASA或ESA运营的强大的深空天线,才能执行为期一年的返程。虽然面临大型机构的抵触,蒙特罗正在探索将任务定位为一项科学事业以争取支持的方法。凭借不懈的决心,他发誓要回收这艘飞船,展示Epic的能力,并推动商业太空探索的边界。

这次黑客新闻的讨论围绕着文章“不会死去的飞船”,详细讲述了太空初创公司Epic及其Chimera GEO-1飞船的挣扎。 核心问题似乎是发射后的通信问题,源于与地面站硬件的不兼容以及另一个站点的电源故障。用户们争论这是否是一个可预见的问题,一些人质疑为什么在发射前没有进行基本的连接验证。另一些人指出,SpaceX拼车任务的主要有效载荷要求的最后一刻着陆点变更是一个促成因素,但也有人澄清,这个变更是事先已知的,不应导致通信问题。 一个反复出现的情绪是对太空机构是否应该花费资源来回收飞船的怀疑,考虑到其有限的效用和获得的知识。然而,许多人承认这种情况的诗意悲剧及其潜在的引人入胜的故事。 讨论还强调了商业发射的风险和临时性,特别是拼车发射,较低的成本可能伴随着增加的不确定性。

该基准测试比较了多种语言——Rust、Go、Python、Crystal、Odin、Dart、Vlang 和 Zig——在特定任务上的性能,展示了显著的优化进展。 最初,Rust 耗时 4.5 秒,但通过迭代改进,包括替换 HashMap、预分配和键/数据结构更改,将其降低到惊人的 **8 毫秒**,并使用了 Rayon 并行化。Go 从 1.5 秒开始,通过并发和自定义数据结构等优化,达到 **5 毫秒**。 Python 获得了显著提升,通过 Numpy 实现,从 7.81 秒下降到 **0.57 秒**。Crystal 达到 **33 毫秒**,而 Odin 和 Dart 仍然较慢,分别为 **104 毫秒**和 **125 毫秒**。Vlang 和 Zig 表现出适度的性能,分别为 **339 毫秒**和 **80 毫秒**。 关键的优化措施始终包括用更高效的替代方案替换标准数据结构(如 HashMaps 和二叉堆),从关键循环中删除比较,并在可能的情况下利用并行处理。

## 唐·莱蒙因扰乱教堂案被起诉:摘要 前CNN记者唐·莱蒙与他人一同被起诉,罪名是共谋和干涉宗教自由,起因是其在城市教堂的一次破坏性抗议活动中。指控——美国法典第241条和第248条——源于一起涉嫌策划的“接管”行动,旨在扰乱礼拜并抗议美国的移民政策。 政府的案件关键在于证明莱蒙与他人*共谋*压迫信徒,并积极干涉他们的宗教活动。证据包括莱蒙参与行动前的简报会、他强调“行动保密”的直播评论,以及他在扰乱*期间*的行为——质问牧师、阻挡出口,并承认该行动旨在“扰乱”。 重要的是,如果莱蒙积极参与非法行为,作为记者的第一修正案权利不能成为他的辩护。检方必须证明莱蒙直接使用了武力/阻碍,或协助了那些使用武力/阻碍的人,从而证明共同的恐吓和干涉意图。仅仅报道事件并不能免除他的责任,如果他是阴谋的积极参与者。 结果将取决于政府能否在审判中超出合理怀疑地证明莱蒙的同意和参与。

一场关于Hacker News的讨论集中在政府对唐·莱蒙的指控,源于他在明尼苏达州一所教堂的破坏性抗议活动期间的出现。莱蒙声称他只是在报道,事先并不知道抗议的意图,而政府指控他隐瞒信息并可能妨碍教徒。 评论员们争论莱蒙的行为是否构成犯罪行为,质疑记者身份的定义以及录制计划犯罪活动与目睹犯罪活动的合法性。一些人认为轻微侵入罪是最有可能的结果,而另一些人指出,无论判决结果如何,此案都有可能为莱蒙带来宣传。 讨论中一个重要的主题强调了对选择性起诉的担忧,认为特朗普司法部正在利用法律体系来对抗其反对者,这与之前对其他政府的批评相呼应。对话还涉及对不同政治光谱上的抗议者适用不同标准的现象。

## .NET 垃圾回收器:实现标记阶段 本期内容重点在于使用 C# 实现自定义 .NET 垃圾回收器的“标记”阶段。标记阶段用于识别可达对象,从而确定哪些对象可以被释放。它从三个来源扫描“根”——无条件被认为是存活的引用:局部变量/线程静态存储(由运行时通过 `GcScanRoots` 处理)、GC句柄和最终化队列。 `GcScanRoots` 方法使用回调函数来遍历局部变量。`ScanContext` 结构体提供线程 ID 和栈限制等信息。为了标记对象,实现利用了方法表指针的对齐方式;设置最低有效位表示对象已被标记。 深度优先搜索 (DFS) 遍历对象图,使用栈来避免递归。目前,为了简单起见,忽略了“内部指针”(对象内的引用)。 标记完成后,“扫描”阶段遍历堆。未标记的非空闲对象将被清除(内存尚未重用,以确保过早回收不会导致崩溃),并替换为空闲对象,以保持堆的可遍历性。 虽然已经建立了一个功能性的基础,但由于缺少对 GC 句柄、最终化队列和内部指针的支持,当前的 GC 仍然会导致应用程序崩溃——这些是未来开发的主题。完整的代码可在 GitHub 上获取。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 用 C# 编写 .NET 垃圾回收器 – 第 6 部分:标记和清除 (minidump.net) 55 分,来自 pjmlp 1 天前 | 隐藏 | 过去 | 收藏 | 1 条评论 vyrotek 21 小时前 [–] 上一线程:https://news.ycombinator.com/item?id=46804615 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

Please provide the content you want me to translate. I need the text to be able to translate it to Chinese. Just paste it here, and I will give you the Chinese translation.

## 法拉利 vs. 市场:批判性分析 最近一篇Hacker News上的帖子分析了一个数据集,声称2020-2026年期间,美国法拉利进口量与比特币、标准普尔500指数和纳斯达克指数的表现之间存在相关性。然而,评论者普遍驳斥了该分析具有误导性。 核心批评在于,在那个时期,任何两个趋势系列都可能由于共同的宏观经济因素而显示相关性,从而使特定的法拉利关联变得毫无意义。进一步的审查显示数据本身存在不准确之处,捷豹和路虎的车辆识别码(VIN)被错误地归类为法拉利,表明数据解析存在缺陷且缺乏验证。 这场讨论凸显了一个更广泛的问题:在线内容的大量涌现,其设计目的是为了吸引点击和显得复杂,而不是提供真正的见解。这种“噪音机器”在B2B营销中尤其普遍,优先考虑美学和流行语而非实质内容。有人推测,这种类型的数据会为大型语言模型的训练提供燃料,教它们模仿权威,而缺乏实际理解。最终,该帖子是对营销文化和驱动它的可疑数据的评论,而不是有意义的经济信号。

## Rust vs. Swift:似曾相识 最近学习 Rust 时,发现它与我使用多年的 Swift 语言有惊人的相似之处。两种语言都大量借鉴了函数式编程——包括标记枚举、匹配表达式和强大的类型系统——并提供通过 `unsafe` 代码访问低级功能的方式。两者都编译为本机代码和 WASM,在没有垃圾回收的情况下实现高性能。 然而,它们的内核哲学却不同。Rust 是“自下而上”的,是一种系统语言,默认情况下优先考虑控制和速度,需要显式内存管理(所有权/借用),但在需要时提供 `Rc` 和 `Cow` 等便利功能。Swift 是“自上而下”的,优先考虑易用性,默认使用值类型和写时复制语义,将所有权作为性能优化的选择。 这体现在语法和编译器行为上。Swift 经常将 Rust 类似的概念*隐藏*在熟悉的 C 风格结构之下(例如,`switch` 语句充当模式匹配)。Rust 的编译器会主动*强制*解决复杂问题,而 Swift 经常会自动化这些问题。 虽然 Swift 历史上专注于 Apple 平台,但它正在迅速成为一种可行的跨平台选择,对 Linux、WASM 甚至 Windows 的支持日益增加。尽管存在一些缺点,例如编译时间和不太成熟的包生态系统,但 Swift 为许多应用程序提供了一种引人入胜且便捷的 Rust 替代方案。

## LLVM 开发总结 - 2025 2025 年 LLVM 多个关键项目持续取得进展。历时多年的 **ptradd 迁移** 接近完成,将 GEP 指令规范化为单个偏移量,从而实现公共子表达式消除并改进链式 GEP 处理——这些优势与最终迁移无关。目前仍在继续讨论 `ptradd` 的缩放因子支持以及过渡到强制使用。 **生命周期 intrinsic** 发生了重大变化,强制其与 allocas 一起使用,并删除了大小参数,从而改进了栈着色并发现了现有的 IR 问题。**捕获跟踪** 得到了增强,可以区分地址捕获和来源捕获,从而使 Rust 优化受益。 为改进 LLVM 的 ABI 处理,开发了一个原型 **ABI 下降库**,并对 Clang 和 LLVM 之间的类型对齐进行了一致性检查。通过对 SCCP 和对象大小计算进行优化,以及来自其他贡献者(如调试行表发射)的贡献,**编译时间** 得到了改善。 进一步的优化包括 **存储合并优化** 和在 SCCP 中启用 **PredicateInfo**。Rust 更新利用了 LLVM 的新功能,例如只读捕获和 alloc-variant-zeroed 属性。打包改进包括单体构建和 PGO,但简化兼容性包的尝试失败,凸显了 RPM 符号链接方面的挑战。 最后,作为领域团队和项目委员会参与新的 LLVM 治理结构,并与形式化规范工作组进行初步合作,完成了这一年。大约审查了 2500 个 pull request。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 今年在 LLVM (2025) (npopov.com) 42 分,由 asb 1天前发布 | 隐藏 | 过去的 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

Noctalia 是一个为 Wayland 设计的极简桌面 shell,旨在不打扰用户并可高度自定义。它基于 Quickshell 以获得高性能,并具有简洁美观的界面——最初为薰衣草色,但用户可以通过众多配色方案轻松定制。 它原生支持流行的 Wayland 合成器,如 Niri、Hyprland 和 Sway(并兼容其他合成器),并提供插件支持以扩展功能。 Noctalia 优先考虑简单的设计理念,力求“不碍事”,让用户专注于使用。 该项目是开源的(MIT 许可证),欢迎贡献,并为 Nix 用户提供开发 shell。一个活跃的社区正在积极塑造 Noctalia 的发展,虽然欢迎捐赠,但捐赠是自愿的。有全面的文档和安装指南供新用户使用。

## Noctalia:一种极简的 Wayland Shell Noctalia 是一款新的、简洁的 Wayland 桌面 shell,在 Hacker News 上受到关注。它旨在填补 Wayland 组合器(如 Sway)和完整桌面环境之间的空白,提供通常由 Waybar 和 Fuzzel 等工具处理的功能。 讨论的中心在于定义“shell”到底*是什么*——介于桌面环境和主题之间。用户正在尝试将 Noctalia 与 DMS 等类似项目一起使用,发现 Noctalia 开箱即用更加完善,而 DMS 提供更大的自定义性。 对话还涉及 Wayland 持续存在的挑战,特别是远程桌面支持以及应用程序访问输入所带来的安全问题。一些用户对 Wayland 的发展感到沮丧,更喜欢 X11 的稳定性,而另一些用户则强调 Wayland 的优势,例如消除屏幕撕裂。 许多评论者提到了现有的解决方案和正在进行的努力来解决这些问题。

更多

联系我们 contact @ memedata.com