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

【HN中文日报】劲爆日报:苹果照片App搞崩照片?Waymo自动驾驶杀入纳什维尔!还有CrowdStrike npm包被黑…速看!

意外富翁的头像
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20250917 今天的科技圈有点热闹!苹果照片App被爆会损坏照片,苦主换了N多硬件才发现是软件的锅!Waymo联手Lyft,自动驾驶出租车要开到纳什维尔啦!还有,程序员注意啦,CrowdStrike的npm包被供应链攻击了,赶紧检查你的代码!除了这些,还有AI、量子计算、编程技巧等硬核干货等你来挖!快来围观,别掉队! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## Apple Photos App 导入图片时损坏:一个深度调查 本文讲述了作者在使用 Apple Photos 应用从相机导入照片时遇到的图片损坏问题,以及他为了解决这个问题所做的各种尝试和最终放弃的经历。作者更换了各种硬件设备,最终确定是软件问题,并分享了他现在的工作流程。 作者最初使用 OM System OM-1 相机,拍摄 RAW+JPG 格式的照片,并勾选“导入后删除照片”的选项。他发现导入的照片有时会损坏,包括 JPG 和 RAW 文件,甚至两者都损坏。由于开启了“导入后删除”,他无法确定照片在导入前是否已经损坏。为了排除硬件问题,他更换了 USB-C 线、SD 卡、笔记本电脑,甚至购买了新的 OM System OM-1 MKii 相机。 最终,作者发现问题出在 Photos 应用上。他停止勾选“导入后删除照片”的选项,并在导入后检查照片是否损坏。他发现,即使照片在 SD 卡上完好无损,导入到 Photos 应用后也可能损坏。作者推测这可能是 Photos 应用在复制文件和删除文件时出现的竞争条件。现在,他改用 Darktable 来管理照片,先将照片导入 Darktable,删除不需要的照片,处理喜欢的照片,导出 JPG 和 RAW 文件,然后再导入到 Photos 应用。 评论区也对此问题进行了讨论,有人认为这是 Apple 生态系统的一个模式,Apple 在保护用户数据安全方面做得不错,但在保持数据完整性方面做得不够好。另一些人则认为这可能是导入管道中的一个 Bug,Photos 应用在导入时会进行很多额外工作,例如合并 RAW+JPEG 对、生成预览、数据库索引、可选删除等,这可能导致并发 Bug,例如缓冲区被重用或文件句柄在复制完成前关闭。还有人表示,他们也遇到了类似的问题,甚至丢失了整个照片库。这些评论都表明,Apple Photos 应用损坏图片的问题可能比想象的更普遍。 - 原文: [Apple Photos App Corrupts Images](https://tenderlovemaking.com/2025/09/17/apple-photos-app-corrupts-images/) - Hacker News: [https://news.ycombinator.com/item?id=45274277](https://news.ycombinator.com/item?id=45274277) - 作者: pattyj - 评分: 424 - 评论数: 134 - 发布时间: 2025-09-17 19:07:44 --- ## Waymo 与 Lyft 合作,将全自动驾驶服务带到纳什维尔 Waymo 宣布与 Lyft 合作,将其全自动驾驶服务扩展到纳什维尔,预计明年向公众开放。 这标志着 Waymo 在扩大其自动驾驶出租车服务方面迈出的重要一步,此前已在美国五个主要城市每周提供数十万次全自动驾驶服务。 Waymo 将通过 Waymo 应用程序提供服务,未来还将允许用户通过 Lyft 应用程序叫车。 Lyft 将通过其 Flexdrive 子公司提供车队管理方面的支持。 此次合作旨在结合 Waymo 领先的自动驾驶技术和 Lyft 在出行领域的经验,为纳什维尔的居民和游客提供安全、便捷的出行选择。 Waymo 强调,其技术在公共道路上已经行驶了超过 1 亿英里的全自动驾驶里程,数据显示其安全性远高于人类驾驶员。 纳什维尔是继旧金山、SFO机场、奥斯汀和纽约之后,又一个将可以使用 Waymo 服务的城市。 田纳西州州长 Bill Lee 对此表示欢迎,认为这是该州在交通运输挑战方面寻找创新解决方案的又一例证。 评论区对 Waymo 与 Lyft 的合作以及自动驾驶技术的未来展开了热烈的讨论。 有人指出,Waymo 同时与 Uber 和 Lyft 建立了合作关系,这使其在未来的扩张中拥有更大的灵活性,可以从两家公司学习网约车业务的经验。 也有人猜测 Waymo 可能已经实现了盈亏平衡,并认为扩张不再受资本限制。 还有人提出,Google 或 Amazon 可能会考虑收购 Lyft,以获得其技术和客户群,从而更好地推广其自动驾驶汽车计划。 此外,有人对田纳西州州长将 Waymo 引入描述为“创新”表示质疑。 也有人询问这是否是 Waymo 首次与 Lyft 合作进行商业推广,因为之前的合作仅限于试点测试。 总体而言,评论区对 Waymo 的扩张持乐观态度,并认为这是一个重要的转折点,预示着自动驾驶技术将在更多城市得到应用。 - 原文: [Bringing fully autonomous rides to Nashville, in partnership with Lyft](https://waymo.com/blog/2025/09/waymo-is-coming-to-nashville-in-partnership-with-lyft) - Hacker News: [https://news.ycombinator.com/item?id=45275415](https://news.ycombinator.com/item?id=45275415) - 作者: ra7 - 评分: 40 - 评论数: 9 - 发布时间: 2025-09-17 21:10:45 --- ## 通过重写 Prompt 将 GPT-5-mini 的性能提升 22% 本文介绍了如何通过重写 Prompt,显著提升小型语言模型 GPT-5-mini 在 Tau² 基准测试中的性能。Tau² 基准测试用于评估 LLM 在模拟真实世界场景中的表现,例如电信、零售和航空等领域。 文章指出,GPT-5-mini 虽然在速度和成本上具有优势,但在基准测试中的初始成功率仅为 55%,远低于旗舰模型 GPT-5。为了提高 GPT-5-mini 的性能,作者团队利用 Claude 模型分析并重写了电信领域的 AI 代理策略,旨在使其更易于理解和执行。 重写后的 Prompt 采用了更清晰、更具指令性的风格,将冗长的策略声明转化为明确的步骤、条件和模式。例如,使用决策树、编号步骤、前提条件检查等方式优化结构和流程,并针对 AI 代理进行优化,明确工具调用、二元决策、错误处理和验证步骤。此外,还通过参考表、模式识别和关键提示等方式降低认知负荷,并使用祈使命令和即时验证步骤来增强可操作性。 实验结果表明,新的 Prompt 显著提升了 GPT-5-mini 的性能。成功率从 55% 提高到 67.5%(提升 22.73%),重试的有效性也得到了提高。更重要的是,通过优化 Prompt,GPT-5-mini 成功“解锁”了一些之前无法解决的任务,使其性能甚至超过了 o3 模型,更接近 GPT-5。 文章强调,清晰、简洁、结构化的 Prompt 设计对于提升小型语言模型的性能至关重要。通过简化语言、减少歧义、将推理分解为明确的可操作步骤,可以显著提高小型模型在复杂任务中的表现。利用大型模型自动优化 Prompt,可以为小型 LLM 带来显著的性能提升,使其在效率和成本方面更具竞争力。 总而言之,这篇文章的核心在于展示了 Prompt 工程的重要性,以及如何通过巧妙地重写 Prompt 来显著提升小型语言模型的性能,使其在特定任务中更具实用价值。 - 原文: [Tau² Benchmark: How a Prompt Rewrite Boosted GPT-5-Mini by 22%](https://quesma.com/blog/tau2-benchmark-improving-results-smaller-models/) - Hacker News: [https://news.ycombinator.com/item?id=45275354](https://news.ycombinator.com/item?id=45275354) - 作者: blndrt - 评分: 58 - 评论数: 11 - 发布时间: 2025-09-17 21:03:24 --- ## 确定第五个忙碌海狸值 本文介绍了使用 Coq 证明助手确定了 S(5) = 47,176,870 的过程,解决了图灵机领域一个长期存在的难题。忙碌海狸值 S(n) 代表了 n 状态 2 符号图灵机在停止前从全零磁带上可以执行的最大步数,由 Tibor Radó 在 1962 年提出,作为不可计算函数的最简单例子之一。 该证明枚举了 181,385,789 个具有 5 个状态的图灵机,并确定了每个机器是否停止。这项成果标志着 40 多年来首次确定了一个新的忙碌海狸值,也是第一个经过正式验证的忙碌海狸值,证明了大规模协作在线研究(bbchallenge.org)的有效性。研究团队通过一系列复杂的步骤,包括详尽的枚举、长时间的运行模拟以及多种半决策器的构建,最终完成了这项壮举。这些半决策器用于判断图灵机是“肯定永远运行”还是“可能停止”。 其中,循环检测器识别出重新进入先前配置的图灵机,NGram CPS 通过抽象模拟跟踪二进制 n-gram,RepWL 尝试推导计数规则,而 FAR 和 WFAR 则尝试将每个图灵机的状态描述为正则表达式/FSM。对于少数几个复杂的图灵机,研究人员甚至编写了手写的证明,并将其翻译成 Rocq 代码进行验证。所有决策器最终都用 Rocq 编写,并经过形式验证,确保其功能的正确性。 通过这种方法,所有 5 状态图灵机都被正式分类为停止或不停止,从而证明了最长运行的停止机器确实是冠军。这项研究不仅解决了数学难题,也展示了形式验证在复杂计算问题中的应用。 评论区里,有人从程序员的角度给出了更易懂的解释,强调了该项目通过多种策略来分析图灵机的运行行为。也有人好奇为什么 BB(5) 去年就被发现,现在才发表论文,是否有什么新的进展。还有人对这种在线协作的研究模式很感兴趣,觉得可以推广到其他项目。也有人提问这项研究有什么实际应用价值,以及是否使用了暴力破解的方法。总的来说,评论区对这项研究的意义、方法和潜在应用都提出了不同的看法。 - 原文: [Determination of the fifth Busy Beaver value](https://arxiv.org/abs/2509.12337) - Hacker News: [https://news.ycombinator.com/item?id=45273999](https://news.ycombinator.com/item?id=45273999) - 作者: marvinborner - 评分: 157 - 评论数: 49 - 发布时间: 2025-09-17 18:26:18 --- ## GNU Midnight Commander:一款强大的双面板文件管理器 GNU Midnight Commander (mc) 是一款基于文本界面的双面板文件管理器,以其高效的文件操作和便捷的命令行集成而闻名。它允许用户在终端环境中进行复制、移动、删除文件和目录等操作,并内置了查看器、编辑器和差异比较工具。 mc 可以在多种终端环境下运行,包括普通控制台、X Window 终端和 SSH 连接,这得益于它使用了 ncurses 或 S-Lang 等文本界面库。安装 mc 非常简单,可以使用系统自带的包管理器,如 apt-get、dnf、pkg 或 brew。用户可以通过 F1 键访问上下文相关的在线帮助,也可以查阅详细的手册页面。mc 还支持主题定制,用户可以根据自己的喜好选择或开发皮肤。 Midnight Commander 的强大之处在于其高效的文件管理能力,尤其是在服务器管理和远程操作中。通过学习快捷键和与其他命令行工具结合使用,可以显著提高工作效率。例如,使用 Ctrl+O 可以在 mc 和普通 shell 命令行之间切换,方便用户在不同工具之间灵活切换。 评论区对 Midnight Commander 褒贬不一。有人认为 mc 是一款伟大的工具,但也有人认为其键盘快捷键不够直观,难以适应。一些用户提到了 Norton Commander,认为其在硬件和软件设计上的巧妙结合使其速度非常快。还有用户推荐了 nnn 文件管理器,认为它更符合直觉,能够提高工作效率。 另外,有人指出 Orthodox File Manager (OFM) 这一术语的起源与东欧和前苏联地区有关。还有人回忆了早期使用 OFM 时遇到的问题,例如文件扩展名、时间戳和链接等概念在不同操作系统上的差异。尽管如此,Midnight Commander 仍然是一款备受欢迎的文件管理器,尤其是在需要通过 SSH 进行文件操作的场景下。一些用户甚至将其与 Debian ftp-masters 使用的工具相提并论,用于审查新软件包的许可证。 - 原文: [GNU Midnight Commander](https://midnight-commander.org/) - Hacker News: [https://news.ycombinator.com/item?id=45271481](https://news.ycombinator.com/item?id=45271481) - 作者: pykello - 评分: 413 - 评论数: 227 - 发布时间: 2025-09-17 11:54:06 --- ## 程序化岛屿生成:多尺度噪声、山峰与地形混合 本文介绍了程序化生成岛屿地形的第三部分,重点在于如何通过多尺度噪声层、基于距离的山峰以及混合技术来创建最终的地形高度。 文章首先回顾了在第一部分中建立的绘制地图基础,该地图定义了基本的陆地/水域分布。为了增强地形的真实感,作者在绘制地图的基础上叠加了多个频率的 Simplex 噪声,每个噪声层都为最终地形贡献了不同尺度的细节。文章特别提到了`mapgen4`项目使用了六个噪声层,并通过海岸噪声增强来控制海岸线的变化,同时保持内陆海拔不受影响。 文章还详细介绍了山峰的处理方法,首先计算每个常规种子点到最近山峰点的距离场,然后使用广度优先搜索(BFS)通过 Delaunay 三角剖分的网格拓扑来计算距离,从而创建更有机的山体形状。在计算距离时,作者还使用了 Fisher-Yates 洗牌算法来随机化邻居三角形的访问顺序,确保山脊向各个方向有机地分支。 最后,文章通过加权混合的方式将所有地形组件组合在一起,包括带有噪声的山丘、来自距离场的山脉等。作者还提供了可编辑的参数,例如海岸噪声强度、山丘高度比例、海洋深度乘数、山坡和山峰锐度,以便用户可以交互式地探索不同的地形效果。此外,文章还讨论了如何为 Voronoi 区域分配海拔高度,通过平均共享种子点作为顶点的所有三角形的海拔高度来实现。 文章的最后展望了下一步的工作,即模拟水文循环,包括受地形影响的降雨模式、从山峰流向海洋的河流以及由侵蚀形成的峡谷。 - 原文: [Procedural Island Generation (III)](https://brashandplucky.com/2025/09/17/procedural-island-generation-iii.html) - Hacker News: [https://news.ycombinator.com/item?id=45275049](https://news.ycombinator.com/item?id=45275049) - 作者: ibobev - 评分: 34 - 评论数: 6 - 发布时间: 2025-09-17 20:29:49 --- ## Firefox Android 引入 DoH 加密 DNS 功能 Mozilla 宣布 Firefox 143 for Android 版本将引入 DNS-over-HTTPS (DoH) 功能,旨在为移动用户提供与桌面端相同的隐私保护。DoH 通过加密 DNS 查询,防止网络服务提供商或公共 WiFi 窃听用户的浏览行为。 文章指出,Firefox 在 2020 年率先在桌面浏览器上默认启用 DoH,并在加拿大进行了试点。今年,Mozilla 在性能和移动支持方面取得了重大进展,确保更多 Firefox 用户在不牺牲性能的情况下受益于隐私保护。Android 用户现在可以在 Firefox 设置中启用 "Increased Protection" 来开启 DoH 功能。Mozilla 还在与合作伙伴进行性能测试,如果速度理想,计划在特定地区为 Android 用户默认启用 DoH。 此外,文章还强调了 DoH 的性能改进。通过与 CIRA 和 Akamai 的合作,Firefox DoH 的查找速度提高了 61%。现在,加拿大的 Firefox 用户可以在享受加密 DNS 带来的隐私保护的同时,几乎不会感受到性能损失。Mozilla 强调了在 DoH 方面对透明度、用户选择和隐私保护的重视,用户可以选择退出、选择自己的解析器或调整 DoH 保护级别。 评论区观点: 评论区对 Firefox 在 Android 上引入 DoH 功能褒贬不一。一些用户关心如何强制禁用网络上的 DoH,因为 Firefox 允许用户自行选择启用 DoH,这使得网络管理员难以控制。另一些用户则质疑在 Android 系统已经提供 DoH 功能的情况下,浏览器内置 DoH 的必要性。还有用户担心 DoH 会导致 DNS 流量集中在少数解析器上,从而带来潜在的中心化风险。此外,评论中也提到了对 Cloudflare 等 DoH 提供商的中心化问题的担忧。 - 原文: [Firefox 143 for Android to introduce DoH](https://blog.mozilla.org/en/firefox/dns-android/) - Hacker News: [https://news.ycombinator.com/item?id=45275444](https://news.ycombinator.com/item?id=45275444) - 作者: HieronymusBosch - 评分: 87 - 评论数: 49 - 发布时间: 2025-09-17 21:14:04 --- ## PureVPN IPv6 泄露及防火墙重置问题 本文主要讨论了 PureVPN 在 Linux 客户端上存在的 IPv6 泄露和防火墙重置的安全问题,作者在向 PureVPN 提交安全报告后未收到回复,因此公开了这些发现。这些问题影响了 PureVPN 的 GUI 和 CLI 客户端,可能导致用户在 VPN 连接状态下暴露真实的 IPv6 地址,并且在使用 VPN 后,系统的防火墙配置会被重置,反而更加不安全。 具体来说,文章指出了两个主要问题。首先,PureVPN 在 Wi-Fi 切换或从睡眠状态恢复后,无法恢复 IPv6 保护,导致 IPv6 流量在 VPN 隧道之外泄露。CLI 客户端会自动重连并显示“已连接”状态,但系统仍然可以通过路由器广播获取 IPv6 地址,并且由于 `ip6tables` 的 `OUTPUT` 仍然是 `ACCEPT`,流量会通过 ISP 的 IPv6 地址传输。GUI 客户端在检测到断开连接时会阻止 IPv4 流量,但 IPv6 仍然有效,直到用户手动点击“重新连接”。其次,PureVPN 在连接时会清除用户的 `iptables` 配置,包括将 `INPUT` 设置为 `ACCEPT` 并刷新所有 `-A` 规则,但在断开连接后不会恢复这些更改,使得系统在使用 VPN 后反而更加暴露。这意味着用户在使用 UFW 或本地拒绝策略后,VPN 会将其清除,从而降低安全性。作者通过示例展示了这一过程,强调了 PureVPN 的行为违背了用户对 VPN 的安全预期。 文章总结说,PureVPN 没有正确实现 IPv6 kill-switch,在重连或 IKS 事件后会留下 IPv6 出口开放,擦除用户的防火墙状态 (`iptables`) 并且不恢复,应用广泛的 `ACCEPT` 策略以使事情正常工作。作者已将完整技术报告和屏幕录像提交给 PureVPN,但未收到任何回复,建议用户谨慎使用。 评论区对 PureVPN 的安全性提出了更多质疑,许多用户建议不要使用 PureVPN,并推荐其他更可靠的 VPN 解决方案。有人指出,PureVPN 曾被发现在法庭上被证实会记录流量,这与他们声称不记录流量的说法相悖。还有人建议使用 Network Namespaces 等技术,例如通过 Vopono 或 Gluetun,以实现更可靠的 VPN 连接和防止 IP 泄露。一些评论提到 Mullvad 是为数不多的具有适当 IPv6 实现的 VPN 提供商之一。另外,还有评论提到了 tunnel-crack 工具,可能用于评估 VPN 的安全性。 - 原文: [PureVPN IPv6 Leak](https://anagogistis.com/posts/purevpn-ipv6-leak/) - Hacker News: [https://news.ycombinator.com/item?id=45273897](https://news.ycombinator.com/item?id=45273897) - 作者: todsacerdoti - 评分: 93 - 评论数: 19 - 发布时间: 2025-09-17 18:10:14 --- ## CrowdStrike npm 包遭遇供应链攻击 这次又出事了! CrowdStrike 发布的多个 npm 包被攻击者盯上了,这看起来像是之前 "Shai-Hulud" 攻击的延续,上次 `tinycolor` 和 40 多个其他包也遭了殃。 这次攻击的手法和上次类似,恶意代码藏在 `bundle.js` 脚本里,干的都是些见不得人的勾当。首先,它会下载并执行 TruffleHog,一个正经的密钥扫描工具,然后偷偷摸摸地在你的系统里翻找 token 和云凭证。 找到之后,它还会验证这些凭证,并在你的代码仓库里创建未经授权的 GitHub Actions 工作流,最后把搜刮到的敏感数据发送到一个硬编码的 webhook 端点。 更可怕的是,攻击者还在仓库里留下了一个名为 `shai-hulud.yaml` 的工作流文件,这名字来源于《沙丘》里的沙虫,看来他们是铁了心要给这次攻击打上 "Shai-Hulud" 的标签。 之前我们分析发现,攻击者会写入一个名为 `shai-hulud-workflow.yml` 的 GitHub Actions 工作流文件。 大约在同一时间,GitHub 上出现了近 700 个名为“Shai-Hulud Migration”的公共仓库。 虽然这些仓库的具体作用还在调查中,但它们的命名和时间表明,它们可能是攻击者用于持久化或暂存工作流的自动化工具。 这个脚本不仅扫描本地环境,还会探测特定服务。 它会寻找像 `GITHUB_TOKEN`、`NPM_TOKEN`、`AWS_ACCESS_KEY_ID` 和 `AWS_SECRET_ACCESS_KEY` 这样的环境变量。 找到 npm token 后,它会用 `whoami` 端点来验证,如果找到了 GitHub token,它还会和 GitHub API 交互。 此外,它还会尝试云元数据发现,这可能会泄露云构建代理中的短期凭证。 最阴险的地方在于,它写入仓库的工作流可以持续存在。 一旦提交,任何未来的 CI 运行都可能触发外泄步骤,因为 CI 管道里本来就存放着敏感的密钥和工件。 受影响的包和版本有点多,文章里列了个清单,大家赶紧看看自己有没有用到: * `@ahmedhfarag/ngx-perfect-scrollbar@20.0.20` * `@ahmedhfarag/ngx-virtual-scroller@4.0.4` * `@art-ws/common@2.0.28` * `@art-ws/config-eslint@2.0.4` * `@art-ws/config-eslint@2.0.5` * `@art-ws/config-ts@2.0.7` * `@art-ws/config-ts@2.0.8` * `@art-ws/db-context@2.0.24` * `@art-ws/di-node@2.0.13` * `@art-ws/di@2.0.28` * `@art-ws/di@2.0.32` * `@art-ws/eslint@1.0.5` * `@art-ws/eslint@1.0.6` * `@art-ws/fastify-http-server@2.0.24` * `@art-ws/fastify-http-server@2.0.27` * `@art-ws/http-server@2.0.21` * `@art-ws/http-server@2.0.25` * `@art-ws/openapi@0.1.12` * `@art-ws/openapi@0.1.9` * `@art-ws/package-base@1.0.5` * `@art-ws/package-base@1.0.6` * `@art-ws/prettier@1.0.5` * `@art-ws/prettier@1.0.6` * `@art-ws/slf@2.0.15` * `@art-ws/slf@2.0.22` * `@art-ws/ssl-info@1.0.10` * `@art-ws/ssl-info@1.0.9` * `@art-ws/web-app@1.0.3` * `@art-ws/web-app@1.0.4` * `@crowdstrike/commitlint@8.1.1` * `@crowdstrike/commitlint@8.1.2` * `@crowdstrike/falcon-shoelace@0.4.1` * `@crowdstrike/falcon-shoelace@0.4.2` * `@crowdstrike/foundry-js@0.19.1` * `@crowdstrike/foundry-js@0.19.2` * `@crowdstrike/glide-core@0.34.2` * `@crowdstrike/glide-core@0.34.3` * `@crowdstrike/logscale-dashboard@1.205.1` * `@crowdstrike/logscale-dashboard@1.205.2` * `@crowdstrike/logscale-file-editor@1.205.1` * `@crowdstrike/logscale-file-editor@1.205.2` * `@crowdstrike/logscale-parser-edit@1.205.1` 总之,大家赶紧检查一下自己的项目,看看有没有用到这些包,有的话赶紧升级或者移除,亡羊补牢,为时未晚! - 原文: [Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised](https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packages) - Hacker News: [https://news.ycombinator.com/item?id=45260741](https://news.ycombinator.com/item?id=45260741) - 作者: jamesberthoty - 评分: 1133 - 评论数: 920 - 发布时间: 2025-09-16 19:22:03 --- ## YouTube 观看次数下降或与广告拦截器有关 YouTube 正在调查近期部分创作者视频观看次数大幅下降的问题,目前最可能的解释是与广告拦截器的使用有关。 近期,许多 YouTube 创作者报告他们的视频观看次数显著下降,一些案例中降幅非常明显。 造成观看次数下降的原因尚不明确,但最合理的解释是 YouTube 可能不再正确计算启用了广告拦截器的用户的观看次数。 这被认为是 YouTube 持续打击广告拦截的又一步骤。 Josh Strife Hayes 首先提出了这一观点,他注意到自己频道的观看次数大幅下降,并推测这与 YouTube 如何处理使用广告拦截器的用户有关。 其他创作者也分享了类似的经历,他们的分析表明,观看次数的下降与广告拦截器的使用之间存在关联。 YouTube 尚未正式承认或确认这一解释,但该公司已经表示正在调查这些报告。 如果 YouTube 确实不再计算来自广告拦截器用户的观看次数,这可能会对创作者的收入和频道统计数据产生重大影响。 目前,YouTube 正在积极采取措施来对抗广告拦截器,包括测试服务器端广告插入和鼓励用户禁用广告拦截器。 如果观看次数下降确实与广告拦截器有关,那么创作者可能需要调整他们的策略,以更好地触达那些不使用广告拦截器的观众。 总而言之,YouTube 观看次数下降的问题仍在调查中,但广告拦截器似乎是目前最可能的罪魁祸首。 由于文章中没有评论内容,这里就不进行评论分析了。 - 原文: [YouTube addresses lower view counts which seem to be caused by ad blockers](https://9to5google.com/2025/09/16/youtube-lower-view-counts-ad-blockers/) - Hacker News: [https://news.ycombinator.com/item?id=45276262](https://news.ycombinator.com/item?id=45276262) - 作者: iamflimflam1 - 评分: 24 - 评论数: 14 - 发布时间: 2025-09-17 22:29:10 --- ## 为什么我们要构建 Stategraph:将 Terraform 状态视为分布式系统问题 这篇文章探讨了 Terraform 状态管理的根本问题,指出它本质上是一个分布式系统问题,但目前却使用文件系统语义来解决,导致各种扩展性问题。Stategraph 旨在通过将状态视为资源的有向无环图,并利用图数据库的特性来解决这些问题。 文章首先指出,随着团队规模和资源数量的增加,共享状态文件的锁竞争概率会超线性增长。目前的 Terraform 模型对整个状态文件进行读取和锁定,即使只修改了很小一部分资源,这导致了不必要的阻塞和性能瓶颈。即使通过拆分状态文件来缓解问题,也只是将问题转移到多个协调问题上,增加了管理的复杂性。 Stategraph 的核心思想是将基础设施状态视为一个有向图,资源之间的依赖关系构成边。通过将状态存储在图数据库中,可以实现以下优势: * **子图隔离:** 对不相交子图的操作可以并行执行,无需协调。 * **精确锁定:** 可以对资源和依赖关系进行行级和边级锁定,避免死锁。 * **增量刷新:** 仅需刷新受影响的子图,而不是整个状态,提高效率。 Stategraph 借鉴了分布式系统中的多版本并发控制 (MVCC)、预写日志和事务隔离级别等技术,以提高并发吞吐量。例如,不同的团队可以同时修改不同的资源子图,而不会相互阻塞。此外,Stategraph 还优化了刷新操作,使其仅限于受影响的子图,避免了对整个状态的遍历。 总而言之,Stategraph 旨在通过将 Terraform 状态管理视为一个分布式系统问题,并利用图数据库的特性来解决现有方案的局限性,从而提高基础设施自动化效率和可扩展性。 - 原文: [Why We're Building Stategraph: Terraform State as a Distributed Systems Problem](https://stategraph.dev/blog/why-stategraph/) - Hacker News: [https://news.ycombinator.com/item?id=45273352](https://news.ycombinator.com/item?id=45273352) - 作者: lawnchair - 评分: 80 - 评论数: 49 - 发布时间: 2025-09-17 16:38:17 --- ## Obsidian Importer 提供 Notion 数据库转换赏金 Obsidian Importer 项目提供 5000 美元的赏金,用于开发 Notion API 导入器,特别是针对 Notion 数据库到 Obsidian 库的转换功能。这个 Issue #421 详细说明了该赏金的细节和目标。 Obsidian 是一款流行的 Markdown 笔记应用,而 Notion 则是一个功能强大的 All-in-One 工作区。 许多用户希望能够将他们在 Notion 中创建的数据库无缝迁移到 Obsidian 中,以便利用 Obsidian 的强大笔记功能和本地 Markdown 文件存储。 目前的 Obsidian Importer 插件可能无法完美处理 Notion 数据库的复杂结构,因此需要进行改进。 理想的解决方案应该能够解析 Notion API 返回的数据库信息,并将其转换为 Obsidian 中易于管理和使用的格式,例如 Markdown 表格或 YAML 元数据。 这项工作需要对 Notion API 有深入的了解,以及将数据结构转换为 Markdown 的能力。 赏金的设立旨在鼓励开发者参与到这个项目中来,共同完善 Obsidian 的导入功能,方便用户从 Notion 迁移数据。 - 原文: [Notion API importer, with Databases to Bases conversion bounty](https://github.com/obsidianmd/obsidian-importer/issues/421) - Hacker News: [https://news.ycombinator.com/item?id=45271942](https://news.ycombinator.com/item?id=45271942) - 作者: twapi - 评分: 150 - 评论数: 46 - 发布时间: 2025-09-17 13:11:50 --- ## 量子计算能否用实数替代复数? 这篇文章讨论了 2021 年 Renou 等人发表在 Nature 上的论文,该论文声称可以通过实验验证量子理论是否必须基于复数。作者认为该论文的标题存在误导,并解释了为什么不能简单地通过移除所有涉及非实数的操作和状态来判断量子力学是否需要复数。 文章的核心观点是,即使一个量子计算机缺少 T 门(需要复数描述),它仍然可以模拟包含 T 门的量子电路,只是这种模拟可能不保留局部性。这意味着原本局部的操作可能需要进行远距离的交互。Renou 等人试图设计一个类似于贝尔测试的实验,利用局部性来区分包含 T 门的 CHMT 门集和不包含 T 门的 CHM 门集。 作者提出了一个“欺骗”方案,通过使用相位梯度和相位反冲技术,可以在 CHM 门集上模拟 T 门的功能,而无需违反局部性。具体来说,T 门可以用条件增量替换,这些条件增量作用于一个可重用的相位梯度状态。在实验开始前,可以复制这个相位梯度状态并分发到各个计算机上,从而避免了在实验过程中进行远距离通信。因此,即使量子计算机实际上只支持 CHM 门集,它也可以通过这种方式来“欺骗”测试,使其看起来像是支持 CHMT 门集。文章最后提到,甚至可以将相位梯度替换为其共轭,使得整个电路只涉及实数,但仍然可以正常工作。这意味着即使实验结果符合预期,也无法证明量子力学必须基于复数。 - 原文: [You can't test if quantum uses complex numbers](https://algassert.com/post/2501) - Hacker News: [https://news.ycombinator.com/item?id=45248628](https://news.ycombinator.com/item?id=45248628) - 作者: EvgeniyZh - 评分: 32 - 评论数: 14 - 发布时间: 2025-09-15 19:58:00 --- ## Algebraic Types 并不吓人:开发者友好的解释 本文旨在为开发者解释代数类型的概念,避免使用晦涩的术语,帮助大家理解并在实际编程中应用。文章将类型视为值的集合,并在此基础上解释了乘积类型和和类型。 文章首先将类型视为值的集合,例如 `bool` 类型包含 `true` 和 `false` 两个值。`void` 类型则被认为只有一个值,而 `never` 类型则不包含任何值,常用于表示永不终止的计算。 随后,文章引入了代数类型的概念,将其类比于小学数学中的代数运算,即对类型进行加法和乘法运算。乘积类型(Product Types)类似于其他语言中的 `struct` 或 `class`,它将多个类型组合在一起,产生的类型包含每个组成类型的所有可能值的组合。如果类型 `T1` 有 N 个值,类型 `T2` 有 M 个值,那么它们的乘积类型将有 `N * M` 个值。文章指出,虽然大多数语言都支持乘积类型的概念,但并非所有语言都将其作为一等公民,这可能导致 API 设计上的缺陷。 和类型(Sum Types)则表示一个类型可以是多个类型中的任何一个。例如,一个可能失败的算术运算的结果可以是 `int`(成功)或 `string`(错误消息)。如果类型 `N` 有 N 个值,类型 `M` 有 M 个值,那么它们的和类型将有 `N + M` 个值。`null` 值在许多语言中可以被看作是一种和类型,通常被称为 `Option` 或 `Maybe`,它表示一个值可能存在,也可能不存在。 总的来说,代数类型提供了一种强大的方式来组织和操作类型,可以提高代码的安全性、可读性和可维护性。 (由于没有评论内容,此处省略评论分析。) - 原文: [Algebraic Types are not Scary](https://blog.aiono.dev/posts/algebraic-types-are-not-scary,-actually.html) - Hacker News: [https://news.ycombinator.com/item?id=45248043](https://news.ycombinator.com/item?id=45248043) - 作者: Bogdanp - 评分: 44 - 评论数: 18 - 发布时间: 2025-09-15 18:14:38 --- ## DOOM 引擎的变量溢出导致游戏崩溃 一位开发者在真实硬件上运行 DOOM 游戏,经过两年半的实际运行后,游戏因变量溢出而崩溃,验证了早期对 DOOM 引擎中 demo 跟踪变量溢出可能性的推测。 该开发者在研究 DOOM 引擎的工作原理时,注意到一个用于跟踪演示的变量在下一个演示开始后仍在递增。这个变量与存储其先前值的第二个变量进行比较。每次递增都会导致该变量逐渐接近溢出。虽然在正常情况下不太可能发生这种情况,但这引起了开发者对游戏崩溃所需时间的兴趣。 经过计算,开发者估计大约需要两年半的时间才会发生溢出。为了验证这个假设,开发者在一台小型 PDA 上设置了 DOOM,通过一个基于 DIY 18650 的 UPS 供电,该 UPS 连接到路由器的 USB 端口以获得恒定的 5V 电源。开发者让系统运行并逐渐忘记了它。直到最近,开发者注意到设备上出现了一个弹窗,显示游戏已经崩溃,这发生在达到两年半的时间点之后不久,证实了变量确实溢出并导致了预期的硬崩溃。 ## 评论区观点:其他游戏的类似问题与 DOOM 的魅力 评论区里,有开发者提到《古惑狼 3》也有类似的计时器问题,长时间运行会导致时间变为负数,游戏出现异常。还有人分享了 Windows NT 4 早期版本也存在类似问题,服务器运行超过 42 天会崩溃,因为微软没有测试服务器操作系统的长时间运行稳定性。 也有玩家表示,虽然出现了这个 bug,但 DOOM 仍然是一款优秀的游戏,会时不时地回去玩。同时,也表达了对 DOOM 2016 重启版的喜爱,但对后续作品不太感冒。还有人询问硬件是否会捕获溢出。这些评论从不同角度展现了对游戏漏洞和游戏本身的看法。 - 原文: [Doom crash after 2.5 years of real-world runtime confirmed on real hardware](https://lenowo.org/viewtopic.php?t=31) - Hacker News: [https://news.ycombinator.com/item?id=45268269](https://news.ycombinator.com/item?id=45268269) - 作者: minki_the_avali - 评分: 369 - 评论数: 136 - 发布时间: 2025-09-17 05:24:23 --- ## Murex:一款现代命令行工具的直观且内容感知的 Shell Murex 是一款旨在提供更直观、更现代命令行体验的 Shell。它提供了语言教程和 Rosetta Stone 速查表,方便用户快速上手,特别是那些希望从 Bash 迁移过来的用户。Murex 提供了交互式 Shell 指南,引导用户将其用作命令行工具而非脚本语言。 Murex 的安装非常简单,可以通过 Homebrew、MacPorts 或 AUR 等包管理器进行安装。该项目在 GitHub 上开源,并提供详细的安装文档。Murex 尝试解决传统 Shell 在处理复杂任务时遇到的问题,例如数据处理和命令组合。它旨在提供更一致和强大的语法,以便用户更轻松地编写和维护 Shell 脚本。 评论区对 Murex 的看法不一。有人在使用过程中遇到了问题,例如缺少 aspell 字典和 HTTPS 协议支持。也有人指出,由于 Murex 不兼容 Bash 语法,因此无法在需要跨平台兼容性的场景中使用。另一些人则将其与 Nushell 和 PowerShell 等其他现代 Shell 进行比较,并质疑它是否真正解决了实际问题。还有人从历史角度出发,介绍了 Murex 这个名字的由来,以及它与古代腓尼基文明的联系。总的来说,评论反映了用户对新 Shell 的不同需求和期望,以及对 Murex 是否能够满足这些需求的疑问。 - 原文: [Murex – An intuitive and content aware shell for a modern command line](https://murex.rocks/) - Hacker News: [https://news.ycombinator.com/item?id=45272480](https://news.ycombinator.com/item?id=45272480) - 作者: modinfo - 评分: 79 - 评论数: 41 - 发布时间: 2025-09-17 14:32:17 --- ## 使用英语而非 Python 再次在 ARC-AGI 上获得最高分 本文讨论了作者如何通过将 Python 函数替换为简单的英语指令,在 ARC-AGI 基准测试中获得了新的最高分。该方法在 ARC v1 上达到了 79.6% 的新高分,在 ARC v2 上达到了 29.4% 的最先进水平。 ARC-AGI 是一个用于测量抽象模式识别的智能测试,类似于智商测试。LLM 在解决人类可以轻松解决的简单难题时表现不佳,这突显了当前 LLM 的一个核心局限性:它们难以推理未经训练的事物,难以泛化。 作者之前的解决方案使用语言模型生成 Python 函数来解决任务。这种方法的一个关键优势是:函数是确定性的且可测试的。但是,这种策略在 ARC v2 中遇到了瓶颈,因为转换通常过于复杂,无法用 Python 优雅地表达。因此,作者转向了一种比 Python 更古老的语言:英语。 新的 v2 解决方案本质上是相同的进化架构,但它进化的是自然语言指令而不是代码。对于每个任务,作者使用语言模型生成简单的英语指令,描述如何将输入网格转换为输出网格。为了评估这些指令,作者使用一个子代理模型将它们应用于训练示例,并将每个训练网格视为测试网格,并生成它认为正确的输出。这为每个指令提供了一个适应度分数,该分数基于它正确解决的训练示例的数量。 一旦作者有了一组评分的指令,进化就开始了,通过两种不同的修订策略:**个体**和**池化**。**个体修订**采用单个指令及其生成的输出和基本事实。该模型会看到原始网格和突出显示差异的 ASCII 差异。有了这些反馈,它会改进指令以纠正其错误。**池化修订**遵循相同的原则,但将多个指令组合到一个上下文中。提示模型合成一个新的指令,该指令结合了每个父指令的成功元素。 经过大量的实验,作者最终确定了以下设计:1. **初始生成**:使用 Grok-4 生成 30 个候选指令;2. **个体修订阶段**:如果没有出现完美的解决方案,则采用前 5 个指令,并通过个体修订运行每个指令;3. **池化修订阶段**:如果仍然没有完美的解决方案,则采用 5 个得分最高的指令,创建一个池化修订提示,并从中生成 5 个新的候选指令。 - 原文: [I got the highest score on ARC-AGI again swapping Python for English](https://jeremyberman.substack.com/p/how-i-got-the-highest-score-on-arc-agi-again) - Hacker News: [https://news.ycombinator.com/item?id=45270649](https://news.ycombinator.com/item?id=45270649) - 作者: freediver - 评分: 139 - 评论数: 68 - 发布时间: 2025-09-17 09:53:47 --- ## Xeroxnostalgia.com:探索施乐早期产品与历史 Xeroxnostalgia.com 是一个专门回顾施乐公司早期产品和历史的网站。该网站涵盖了从复印机到工程产品等各种施乐产品,并深入研究了施乐公司的历史,包括 Rank Xerox、制造工厂和研究中心。 该网站的内容组织清晰,分为“Updates”、“Products”、“History”、“Info”和“Misc”几个主要部分。在“Products”部分,你可以找到关于复印机、复印机、工程产品以及 10 系列和 50 系列等特定型号的信息。 “History”部分则深入探讨了施乐公司的发展历程,包括各个制造工厂(如 Coslada、Welwyn Garden City)和研究中心(如 PARC)。 网站还专门介绍了静电复印技术(Xerography)的原理。 最近更新的文章包括关于 Coslada 和 Welwyn Garden City 制造工厂的介绍,以及对 Xerox 3100LDC/3103 和 Xerox System 123 等早期复印机的回顾。此外,网站还分享了一些施乐的纪念品。对于对施乐公司历史和早期产品感兴趣的人来说,Xeroxnostalgia.com 是一个宝贵的资源。它提供了一个了解这家创新公司如何塑造现代办公环境的窗口。该网站还包含关于 Chester Carlson 的第一个静电复印设备以及 Model A 复印机等早期设备的文章。 由于文章内容主要为网站内容结构介绍和产品信息罗列,缺乏评论区互动,因此略过评论分析部分。 - 原文: [XeroxNostalgia.com](https://xeroxnostalgia.com/) - Hacker News: [https://news.ycombinator.com/item?id=45248524](https://news.ycombinator.com/item?id=45248524) - 作者: surprisetalk - 评分: 16 - 评论数: 1 - 发布时间: 2025-09-15 19:40:51 --- ## 深入研究华硕游戏本 ACPI 固件 Bug 本文深入探讨了华硕 ROG 游戏本上 ACPI.sys 造成的 DPC 延迟问题,这个问题会导致高端游戏本在执行基本任务时出现卡顿、音频爆音等现象。即使更新驱动、重装系统等常规方法也无法解决。 文章指出,问题根源在于 BIOS 固件中存在缺陷的 ACPI Machine Language (AML) 代码,导致 ACPI.sys 执行效率低下。通过 LatencyMon 工具可以观察到 ACPI.sys 存在高 DPC 延迟,并且 CPU 0 承受了大部分的负载。为了进一步分析问题,作者使用了 Event Tracing for Windows (ETW) 捕获了详细的 ACPI 日志。分析 ETW 日志发现,延迟峰值并非随机出现,而是以 30 到 60 秒的周期性规律发生。罪魁祸首是 `_GPE._L02` 中断处理程序,该程序执行时间长达 13.6 毫秒,严重影响了实时系统性能。此外,系统还会反复尝试开启和关闭独立显卡,即使显卡应该始终处于活动状态。 通过分析 AML 代码,作者发现华硕的固件存在多个问题。首先,`_GPE._L02` 处理程序中存在不必要的延迟,例如不必要的同步事件和长时间的睡眠。其次,控制 GPU 电源状态的 AML 代码存在缺陷,导致系统不断尝试切换 GPU 的电源状态。这些问题共同导致了系统性能下降和卡顿现象。 目前,解决这个问题的根本方法是华硕发布修复后的 BIOS 更新。但在此之前,用户可以通过修改 AML 代码来缓解问题。 - 原文: [The Asus Gaming Laptop ACPI Firmware Bug: A Deep Technical Investigation](https://github.com/Zephkek/Asus-ROG-Aml-Deep-Dive) - Hacker News: [https://news.ycombinator.com/item?id=45271484](https://news.ycombinator.com/item?id=45271484) - 作者: signa11 - 评分: 308 - 评论数: 148 - 发布时间: 2025-09-17 11:54:36 --- ## 丹麦有望消除主要致癌 HPV 病毒株:疫苗接种成效显著 丹麦自 2008 年开始推行 HPV 疫苗接种计划以来,一项全国性研究表明,导致癌症的主要 HPV 病毒株 16 型和 18 型的感染几乎被消除,甚至未接种疫苗的女性也得到了保护。 这项发表在《欧洲监测》上的研究表明,HPV16/18 的流行率在疫苗接种前为 15% 到 17%,但在 2021 年已降至不到 1%。 这项研究对于未来如何筛查已接种疫苗的人群具有重要意义,尤其是在人们越来越多地接种可预防多种高危 HPV 病毒的疫苗的情况下。宫颈癌是欧洲 15 至 44 岁女性中第二常见的癌症,而 HPV 是主要病因。 在丹麦 2008 年推出 HPV 疫苗之前,HPV 16 型和 18 型约占该国 74% 的宫颈癌病例。 最初,女孩们接种的疫苗可以预防四种 HPV 病毒:16 型、18 型,以及低风险的 6 型和 11 型。 但自 2017 年以来,丹麦女孩接种的疫苗可以预防九种 HPV 病毒,包括约 90% 的宫颈癌病例。 为了更好地了解这些疫苗接种计划对 HPV 流行率的影响,西兰大学医院的 Mette Hartmann Nonboe 博士及其同事分析了 2017 年至 2024 年间从丹麦女性收集的最多三个连续宫颈细胞样本,这些女性的年龄在 22 岁至 30 岁之间。 研究发现,疫苗覆盖的高危 HPV 类型(HPV16/18)的感染几乎被消除。 此外,未接种 HPV 疫苗的女性中,HPV 16 型和 18 型的流行率为 5%。 这强烈表明,疫苗已降低了这些 HPV 类型在普通人群中的传播,甚至使未接种疫苗的女性也不太可能感染这些病毒,即所谓的“群体免疫”。 尽管如此,大约三分之一的受试女性仍然感染了原始疫苗未覆盖的高危 HPV 类型,而且与未接种疫苗的女性相比,接种疫苗的女性更容易感染这些新类型。 一旦接种最新“九价”疫苗的女孩达到筛查年龄,这种情况预计会有所改善。 Nonboe 及其同事表示,届时应重新考虑筛查指南。 - 原文: [Denmark close to wiping out cancer-causing HPV strains after vaccine roll-out](https://www.gavi.org/vaccineswork/denmark-close-wiping-out-leading-cancer-causing-hpv-strains-after-vaccine-roll-out) - Hacker News: [https://news.ycombinator.com/item?id=45265745](https://news.ycombinator.com/item?id=45265745) - 作者: slu - 评分: 868 - 评论数: 316 - 发布时间: 2025-09-17 02:12:29 --- ## SQLiteData:SwiftData 的轻量级替代方案 SQLiteData 是一个基于 SQL 的 SwiftData 替代方案,旨在提供更快速、更轻量级的数据持久化解决方案,并支持 CloudKit。它由 Point-Free 团队开发,目标是简化 Swift 应用中的数据管理。 SQLiteData 利用 SQL 的强大功能,为开发者提供了一种直接与 SQLite 数据库交互的方式,从而避免了 SwiftData 的一些性能瓶颈。它不仅体积小巧,而且在处理大量数据时表现出色。此外,SQLiteData 还集成了 CloudKit,方便开发者在云端同步和备份数据。该项目使用 MIT 许可证,允许开发者自由使用和修改。目前在 GitHub 上有 774 个 star 和 39 个 fork,表明它在 Swift 社区中受到了广泛关注。虽然 Issues 数量为 0,但有一个 Pull Request 待处理,显示项目仍在积极维护中。 - 原文: [SQLiteData: A fast, lightweight replacement for SwiftData using SQL and CloudKit](https://github.com/pointfreeco/sqlite-data) - Hacker News: [https://news.ycombinator.com/item?id=45275582](https://news.ycombinator.com/item?id=45275582) - 作者: wahnfrieden - 评分: 4 - 评论数: 0 - 发布时间: 2025-09-17 21:27:26 --- ## AMDVLK 开源项目停止维护 AMDVLK (AMD Open Source Driver for Vulkan) 项目已经停止维护。这意味着 AMD 将不再积极开发和更新该驱动,未来可能只进行必要的安全修复。 AMDVLK 曾是 AMD 为 Linux 平台提供的开源 Vulkan 驱动,旨在为开发者和用户提供更好的 Vulkan 支持。它与 AMD 提供的闭源驱动 AMDGPU-PRO 形成对比,后者通常提供更全面的功能和优化,但源代码不公开。停止 AMDVLK 项目可能意味着 AMD 将把更多资源集中在 AMDGPU-PRO 或其他 Vulkan 驱动方案上。对于开发者来说,这意味着可能需要更多地依赖 AMDGPU-PRO 或 Mesa 提供的 RADV 驱动。 - 原文: [AMD Open Source Driver for Vulkan project is discontinued](https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416) - Hacker News: [https://news.ycombinator.com/item?id=45270087](https://news.ycombinator.com/item?id=45270087) - 作者: haunter - 评分: 127 - 评论数: 38 - 发布时间: 2025-09-17 08:31:04 --- ## Z3 简介:使用约束求解器的简单方程求解 本文介绍了 Z3,一个强大的约束求解器,并展示了如何使用它来解决简单的数学方程。文章通过 Rust 语言的 Z3 绑定,由浅入深地讲解了 Z3 的基本概念和用法,即使是新手也能快速上手。 文章首先解释了什么是约束求解器,以及它们在现实世界中的应用场景,例如调度和资源分配。然后,作者详细介绍了 Z3 中的一些关键术语,如 `Sort`(类型)和常量(变量),并解释了 Z3 如何使用 SMT-LIB2 语言来表达约束。 接着,文章通过一个简单的方程 `x + 4 = 7` 演示了如何使用 Z3 求解。作者展示了 Rust 代码,并解释了如何定义变量、设置约束以及获取模型。随后,文章将难度提升到求解包含两个变量的方程组,并展示了如何处理 `Unsat`(无解)的情况,以及如何使用 `Real` 类型来获得实数解。 总的来说,这篇文章是一篇非常适合 Z3 初学者的入门教程。它不仅讲解了 Z3 的基本概念和用法,还通过实际的例子展示了如何使用 Z3 解决问题。 由于没有评论内容,此处省略评论分析。 - 原文: [A dumb introduction to z3](https://asibahi.github.io/thoughts/a-gentle-introduction-to-z3/) - Hacker News: [https://news.ycombinator.com/item?id=45248558](https://news.ycombinator.com/item?id=45248558) - 作者: kfl - 评分: 236 - 评论数: 36 - 发布时间: 2025-09-15 19:46:45 --- ## DataTables CDN 宕机事件回顾与分析 本文主要回顾了 DataTables.net 网站在 2025 年 7 月 29 日遭受攻击导致 CDN 宕机的事件,并深入分析了攻击过程、应对措施以及从中吸取的教训。这次攻击不仅影响了 DataTables 网站本身,还对大量依赖其 CDN 服务的开发者造成了不便。 文章详细描述了攻击者如何通过社会工程学手段,利用伪造的身份证明欺骗域名注册商,成功将 DataTables.net 的域名转移到攻击者控制的账户下。随后,攻击者修改了域名服务器,导致网站无法访问,CDN 服务中断。作者在发现问题后,迅速与注册商联系,并部署了一个镜像 CDN `datatables-cdn.com` 作为临时解决方案,以减轻对用户的影响。 文章还强调了 DataTables CDN 的重要性,它每月传输约 55TB 的数据,处理 34.4 亿次请求,CDN 的中断对整个 Web 产生了显著的影响。作者对域名注册商和 CloudFlare 在事件中的积极作用表示感谢,同时也对攻击开源项目的行为表示谴责。最后,作者反思了此次事件,总结了经验教训,以避免类似事件再次发生。其中重要的经验教训包括:确保 WHOIS 信息是最新的,并对所有账户启用双因素认证。 - 原文: [DataTables CDN Outage – post incident review](https://datatables.net/blog/2025/july-29-outage) - Hacker News: [https://news.ycombinator.com/item?id=45266771](https://news.ycombinator.com/item?id=45266771) - 作者: cristoperb - 评分: 30 - 评论数: 20 - 发布时间: 2025-09-17 03:27:40 --- ## 德国对欧盟聊天控制的立场:态度未定 文章指出,尽管德国对打破端到端加密表示担忧,但在9月12日的LEWP会议上,德国并未对欧盟的聊天控制提案采取明确立场,而是保持谈判和妥协的意愿。 这被认为是一个不幸的进展,因为德国在阻止聊天控制方面至关重要。文章呼吁大家积极发声,抵制聊天控制。 文章还链接到一篇来自netzpolitik.org的文章,该文章详细描述了德国在此问题上的立场。文章配有一张图片,可能旨在强调聊天控制带来的潜在威胁。总体而言,文章旨在提高人们对欧盟聊天控制提案的关注,并敦促大家采取行动,特别是呼吁德国明确反对该提案。 评论区主要表达了对德国立场转变的失望和担忧。许多评论者认为,德国未能明确反对聊天控制是对公民隐私的威胁,并对德国政府的意图表示怀疑。一些评论者甚至将此举与历史上的监控行为相提并论,表达了对重蹈覆辙的担忧。也有评论者呼吁采取行动,例如参与街头抗议或移民到其他国家。此外,还有评论指出,即使目前一些国家反对,选举后情况也可能发生变化,因此不能过早庆祝胜利。 也有人担心即使是出于良好意愿建立的后门也可能被恶意行为者利用。 - 原文: [EU Chat Control: Germany's position has been reverted to UNDECIDED](https://mastodon.social/@chatcontrol/115215006562371435) - Hacker News: [https://news.ycombinator.com/item?id=45273854](https://news.ycombinator.com/item?id=45273854) - 作者: doener - 评分: 261 - 评论数: 193 - 发布时间: 2025-09-17 18:02:55 --- ## 自制手机:当创新令人沮丧时 Marcin Plaza 在视频中展示了他自制的手机,起因是他认为当今的手机创新不足。他用3D打印的部件、黑莓键盘和其他组件,打造了一款独一无二的设备。 视频中,他详细展示了整个制作过程,从设计到组装,再到软件的配置。他解释了选择特定组件的原因,以及在制作过程中遇到的挑战和解决方案。这款自制手机的设计灵感来源于早期的安卓手机和摩托罗拉的Flipout,带有物理键盘,这在当今的智能手机中已不多见。作者希望通过这个项目,唤起人们对早期手机创新精神的怀念,并探索定制硬件的可能性。他认为,与其等待大公司推出令人兴奋的新产品,不如自己动手创造。整个项目不仅展示了他的技术能力,也表达了他对当前科技发展方向的看法。 评论区对这个项目反响热烈。许多人赞赏他的创意和动手能力,认为他重新定义了“创新”。有人开玩笑说,这款手机像是2006年的产物,是对过去经典设计的致敬。也有人提到,这款自制手机让他们想起了黑莓手机,唤起了他们的怀旧之情。还有人调侃说,如果上班时拿出这款手机,一定会引起同事的围观和询问。甚至有人引用了钢铁侠的台词,赞扬作者在简陋条件下创造奇迹的能力。知名科技博主 JerryRigEverything 也在评论区现身,引发了更多关注。总之,评论区充满了赞赏、调侃和怀旧之情,大家都对这个自制手机项目表示了极大的兴趣。 - 原文: [I built my own phone because innovation is sad rn [video]](https://www.youtube.com/watch?v=qy_9w_c2ub0) - Hacker News: [https://news.ycombinator.com/item?id=45245050](https://news.ycombinator.com/item?id=45245050) - 作者: Timothee - 评分: 285 - 评论数: 55 - 发布时间: 2025-09-15 09:12:11 ---

  

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