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

【HN中文日报】今天科技圈炸了!牲畜贸易暂停、离线AI爆火、LLM再翻车,还有38年前的老爷车跑出百万公里神话!

意外富翁的头像
|
|
|
111 ## 今天 Hacker News 社区聊了啥? NO.20250809 速览今日份科技热点!美国紧急叫停牲畜贸易,竟是因为恐怖寄生虫蔓延?想搞AI又怕隐私泄露?大神教你自建离线AI工作站!还有,别再迷信LLM了,GPT-5照样瞎编功能!最后,谁说老车没价值?看看这辆跑了120万公里的85年丰田,绝对让你惊掉下巴!更多精彩内容,等你来探索! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## 美国因墨西哥螺旋蝇蔓延暂停牲畜贸易 美国农业部部长 Rollins 宣布,由于墨西哥的新世界螺旋蝇进一步向北蔓延,美国南部边境口岸已关闭,暂停牲畜贸易。这项决议旨在保护美国的牲畜产业,防止螺旋蝇在美国境内进一步扩散。 螺旋蝇是一种寄生虫,其幼虫会侵入温血动物的伤口和黏膜组织,以活体组织为食,对牲畜造成严重的伤害,甚至导致死亡。一旦螺旋蝇在美国境内扎根,将对畜牧业造成巨大的经济损失,并可能影响食品安全。 美国农业部一直致力于与墨西哥合作,控制螺旋蝇的蔓延。然而,由于疫情的扩大,Rollins 部长认为有必要采取更严厉的措施,以确保美国牲畜的安全。此次关闭边境口岸将影响美墨之间的牲畜贸易,但农业部表示,将尽一切努力减少对贸易的影响,并尽快恢复正常贸易。 美国农业部将继续监测疫情的发展,并与墨西哥合作,采取必要的措施来控制螺旋蝇的蔓延,保护美国的牲畜产业。 - 原文: [Mexico to US Livestock Trade halted due to Screwworm spread](https://www.usda.gov/about-usda/news/press-releases/2025/07/09/secretary-rollins-takes-decisive-action-and-shuts-down-us-southern-border-ports-livestock-trade-due) - Hacker News: [https://news.ycombinator.com/item?id=44846758](https://news.ycombinator.com/item?id=44846758) - 作者: burnt-resistor - 评分: 39 - 评论数: 27 - 发布时间: 2025-08-09 22:30:49 --- ## 使用 CSS 渐变展示你所在位置的当前天空 这个项目通过 CSS 渐变,在浏览器中模拟出你所在位置的当前天空颜色,让你足不出户也能感受天空的变化。它利用地理位置信息和时间,生成逼真的天空色彩。 这个项目核心在于根据地理位置和时间计算出天空的颜色,并将其转化为 CSS 渐变。这种方法避免了使用大量的图片或复杂的 3D 渲染,实现了轻量级的可视化效果。开发者只需要打开网页,就能看到与自己所在位置相符的天空颜色,非常直观。 有用户提到,早期在开发导航软件时,为了绘制天空背景,研究了大量关于天空渲染的文献,最终实现了一个逼真的天空模型。但最终因为与“标准”不符而被放弃,只能使用简单的蓝色矩形代替。这个经历与这个项目形成了对比,也引发了人们对于真实与“标准”的思考。 还有用户表示,打开这个网站后,因为是午夜,所以等待了很久才意识到天空是黑色的。也有人称赞网站的简洁,以及使用 HTML 的方式。有人好奇为什么如此简单的 HTML 页面需要用到完整的 JavaScript 框架。还有用户惊讶于网站的准确性,甚至将笔记本电脑放在窗边进行对比。 评论中也提到了空气污染对天空颜色的影响,并建议可以考虑加入天气因素。另外,有用户询问了方向的问题,推测深蓝色可能代表北方。总的来说,用户对这个项目给予了很高的评价,认为它既有趣又具有技术含量。 - 原文: [Show HN: The current sky at your approximate location, as a CSS gradient](https://sky.dlazaro.ca) - Hacker News: [https://news.ycombinator.com/item?id=44846281](https://news.ycombinator.com/item?id=44846281) - 作者: dlazaro - 评分: 95 - 评论数: 17 - 发布时间: 2025-08-09 21:25:16 --- ## OpenFreeMap 如何应对每秒 10 万次请求的冲击? OpenFreeMap 最近经历了一次意料之外的流量高峰,原因是新的协作绘图网站 Wplace.live 使用了 OpenFreeMap 的服务。 这篇文章讲述了 OpenFreeMap 如何在每秒处理 10 万次请求的情况下,仍然保持服务基本可用,以及作者如何应对这次突发事件。 文章提到,OpenFreeMap 的架构非常出色,Cloudflare 赞助了带宽,Hetzner 服务器也很稳定,从 Btrfs 提供瓦片是一个很好的选择,nginx 也非常出色。 突如其来的流量高峰导致了 "Too many open files" 错误,作者通过 Cloudflare 的监控发现,24 小时内收到了 30 亿次请求,产生了 215TB 的流量。 如果使用 MapTiler 或 Mapbox,这将花费数百万美元。 尽管流量巨大,但 OpenFreeMap 仍然设法处理了大部分请求,96% 的请求返回 200 OK。 作者认为,这是因为 Wplace.live 的用户使用脚本以每 30 秒 1 像素的速度进行绘制,导致了大量的请求。 作者不得不创建 Cloudflare 规则来限制 Wplace.live 的流量,因为它影响了其他用户。 作者感谢 Cloudflare 对带宽的赞助,并表示他们行动迅速,提供了很好的技术支持。 他还提到,OpenFreeMap 的 CDN 缓存命中率达到了 99.4%,服务器成功处理了剩余的每秒 1000 个请求。 作者联系了 Wplace.live 的开发者,并提供了帮助他们设置自托管 OpenFreeMap 实例的建议。 最后,作者提出了两个需要解决的问题:一是需要根据来源限制带宽,二是要改进服务器配置以修复缺失的瓦片。 他还呼吁大家在 GitHub 上赞助 OpenFreeMap 项目,以支持项目的持续发展。 评论区中,有用户建议使用 IP 地址或 JA4/JA3 指纹进行速率限制,而不是根据来源限制带宽。 也有用户表示正在考虑将 StatusGator 的中断地图从 MapTiler 迁移到 OpenFreeMap。 - 原文: [OpenFreeMap survived 100k requests per second](https://blog.hyperknot.com/p/openfreemap-survived-100000-requests) - Hacker News: [https://news.ycombinator.com/item?id=44846318](https://news.ycombinator.com/item?id=44846318) - 作者: hyperknot - 评分: 66 - 评论数: 11 - 发布时间: 2025-08-09 21:31:30 --- ## Quickshell:用 QtQuick 构建桌面组件的工具包 Quickshell 是一个使用 QtQuick 构建状态栏、小部件、锁屏和其他桌面组件的工具包,旨在简化桌面环境的开发。它能与 Wayland 合成器或窗口管理器协同工作,构建完整的桌面环境。 Quickshell 的主要优势包括:实时预览修改,让你能够快速迭代开发;使用简单易用的 QML 语言进行配置,QML 是一种专为创建灵活用户界面而设计的语言,并且支持 LSP;以及拥有广泛的集成,并且还在不断增加新的集成。通过 Quickshell,开发者可以轻松创建自定义的桌面组件,例如示例代码中展示的,一个颜色会根据定时器状态变化的浮动窗口。 Quickshell 通过加载保存后的更改来实现实时预览,这极大地提升了开发效率。总而言之,Quickshell 提供了一个强大而灵活的平台,可以帮助开发者快速构建各种桌面组件,从而定制个性化的桌面环境。 评论区里,大家对 Quickshell 的看法不一。有人觉得“看起来不错!”,也有人询问它支持哪些操作系统,希望了解其跨平台能力。不过,也有人表达了不同的意见,认为某些设计元素(“waifu”)令人反感,这表明用户对 Quickshell 的审美风格存在争议。 - 原文: [Quickshell – building blocks for your desktop](https://quickshell.org/) - Hacker News: [https://news.ycombinator.com/item?id=44800048](https://news.ycombinator.com/item?id=44800048) - 作者: abhinavk - 评分: 54 - 评论数: 8 - 发布时间: 2025-08-06 00:18:53 --- ## 构建离线AI工作空间:本地LLM、安全代码执行与浏览器自动化 本文介绍了如何构建一个完全本地化的AI工作空间,无需依赖云服务,实现数据隐私和安全。该方案结合了本地LLM、Docker容器化代码执行以及浏览器访问能力,旨在创建一个隔离环境,用于执行需要隐私保护的任务,例如本地照片或视频编辑。 文章详细阐述了构建该工作空间的技术栈: * **LLMs**: 使用 Ollama 运行本地模型。 * **前端 UI**: 使用 `assistant-ui`。 * **沙盒 VM 运行时**: 使用 Apple 的 `container`。 * **编排**: 使用 `coderunner`。 * **浏览器自动化**: 使用 Playwright。 作者分享了尝试构建原生Mac应用的过程,最终选择了本地Web版本的`assistant-ui`,因为它更简单、可配置且易于使用。文章还提到了在`Assistant-UI`中集成多个LLM支持的挑战,以及Ollama对tool-calling支持的现状。 文章重点介绍了使用Apple的`container`进行容器化执行的优势,它为每个容器提供一个隔离的VM,非常适合运行AI生成的代码。作者还分享了使用`container`构建VM镜像时遇到的问题,并提供了解决方法。 最后,文章列举了该工作空间可以执行的任务示例,包括研究主题、生成图表、编辑视频和图像、安装GitHub工具以及使用headless浏览器等。此外,文章还讨论了卷和隔离,确保代码永远不会触及主机系统。 该方案目前仅适用于Apple Silicon,并且存在一些局限性,例如需要更好的UI来管理工具和输出流,以及headless浏览器可能被网站识别为bot。未来的改进方向包括优化UI、增强工具管理以及解决headless浏览器识别问题。 - 原文: [I want everything local – Building my offline AI workspace](https://instavm.io/blog/building-my-offline-ai-workspace) - Hacker News: [https://news.ycombinator.com/item?id=44840013](https://news.ycombinator.com/item?id=44840013) - 作者: mkagenius - 评分: 917 - 评论数: 243 - 发布时间: 2025-08-09 02:19:05 --- ## 空气污染与痴呆症风险:一项长期研究 剑桥大学的研究表明,长期暴露于室外空气污染与痴呆症风险增加有关。这项研究强调了环境因素对大脑健康的潜在影响,尤其是在人口老龄化的背景下,痴呆症的预防和风险降低变得越来越重要。 研究人员使用了必要 cookies 来确保网站正常运行,并通过可选 cookies 来更好地了解用户需求并进行个性化定制。该研究还提供了关于在剑桥大学学习、大学概况以及剑桥大学研究的信息链接。此外,还包括针对剑桥学生、教职工、校友、研究人员以及商业和企业提供的快速链接。 该大学还提供本科生和研究生学习的信息,包括课程、申请流程、费用和资助以及活动等。对于国际学生,网站也提供了专门的信息。此外,还提供专业和继续教育以及教育课程的信息。 该网站还提供了关于大学运作方式、学期日期、历史、地图以及访问大学的信息。用户还可以找到新闻、关于剑桥作为全球大学的信息、年度报告以及平等和多样性相关的信息。网站还列出了活动、公众参与机会、工作岗位以及捐赠途径。最后,网站还提供了图书馆和博物馆的链接。 - 原文: [Long-term exposure to outdoor air pollution linked to increased risk of dementia](https://www.cam.ac.uk/research/news/long-term-exposure-to-outdoor-air-pollution-linked-to-increased-risk-of-dementia) - Hacker News: [https://news.ycombinator.com/item?id=44846164](https://news.ycombinator.com/item?id=44846164) - 作者: hhs - 评分: 20 - 评论数: 1 - 发布时间: 2025-08-09 21:01:31 --- ## Zig 枚举的部分匹配:一种优雅的编译时技巧 本文介绍了一种在 Zig 语言中优雅地处理枚举类型部分匹配的方法,利用 `inline` 关键字和 `comptime unreachable` 实现编译时的类型检查,避免了运行时 panic 的风险。 文章首先提出了一个常见的编程场景:对于一个枚举类型,我们希望对某些枚举成员执行相同的处理逻辑,但又不想引入额外的运行时开销。传统的解决方案要么是重复代码,要么是重构枚举类型,但这两种方法都有其局限性。作者提出的解决方案是利用 Zig 的 `inline` 关键字,强制编译器生成多份代码,并在每份代码中将枚举成员绑定到编译时值。然后,使用 `comptime unreachable` 指示编译器,如果执行到 `else` 分支,则编译失败。由于枚举成员在编译时已知,编译器可以确定 `else` 分支是否可达,从而实现编译时的类型检查。 这种方法避免了运行时 panic 的风险,同时也提高了代码的可读性和可维护性。文章通过一个简单的示例代码,清晰地展示了这种技巧的用法,并演示了如何通过添加错误来验证编译时类型检查的有效性。 评论区里,有开发者认为 Zig 的 comptime 和元编程的创新之处值得其他语言学习,`inline else` 是一个强大的工具,可以零运行时成本地抽象代码。也有开发者指出,文章展示了 Zig 的 comptime 不仅可以用于预先计算,还可以用于编译时错误检查。 另有评论提到对选择类数据结构术语的混乱。 有人提问这种方法是否只在编译时已知匹配值时才有效。 还有人提到了 Rust 中类似的编译时检查机制。 - 原文: [Partially Matching Zig Enums](https://matklad.github.io/2025/08/08/partially-matching-zig-enums.html) - Hacker News: [https://news.ycombinator.com/item?id=44845017](https://news.ycombinator.com/item?id=44845017) - 作者: ingve - 评分: 104 - 评论数: 49 - 发布时间: 2025-08-09 16:50:33 --- ## 间歇性禁食策略对体重和心血管代谢风险因素的影响 本文是一篇系统性回顾和网络荟萃分析,探讨了不同间歇性禁食策略对体重和其他心血管代谢风险因素的影响。研究分析了随机临床试验的数据,旨在评估各种禁食模式的有效性和安全性。 研究人员对多个数据库进行了全面搜索,筛选出符合纳入标准的随机对照试验。这些试验评估了不同类型的间歇性禁食,例如隔日禁食、5:2 禁食法和限时饮食等。研究重点关注体重变化以及其他心血管代谢指标,如血压、胆固醇和血糖水平。 荟萃分析的结果提供了关于不同禁食策略效果的综合评估。研究人员比较了各种禁食模式在减轻体重和改善心血管代谢风险方面的效果。此外,他们还探讨了不同禁食策略的潜在副作用和安全性问题。 这项研究为医疗专业人员和对间歇性禁食感兴趣的个人提供了有价值的见解。通过比较不同禁食策略的效果,研究有助于指导人们选择最适合自身需求的禁食模式。此外,研究还强调了在采用间歇性禁食前咨询医疗专业人员的重要性,以确保其安全性和有效性。 总而言之,这项系统性回顾和网络荟萃分析全面评估了间歇性禁食对体重和心血管代谢风险的影响。研究结果有助于更好地理解不同禁食策略的优缺点,并为临床实践和未来的研究方向提供了参考。 - 原文: [Intermittent fasting strategies and their effects on body weight](https://www.bmj.com/content/389/bmj-2024-082007) - Hacker News: [https://news.ycombinator.com/item?id=44846226](https://news.ycombinator.com/item?id=44846226) - 作者: lxm - 评分: 17 - 评论数: 4 - 发布时间: 2025-08-09 21:14:57 --- ## 为什么 `cargo check` 这么慢? 这篇文章深入探讨了为什么 Rust 项目中使用 `cargo check` 命令会感觉很慢,尤其是在大型项目中。作者通过实际测试和火焰图分析,找出了性能瓶颈所在,并给出了结论。 文章首先提到,有人指出 `cargo check` 速度慢的问题,作者为了探究其根本原因,选取了一个示例项目进行分析。通过 `measureme` 工具生成火焰图,作者发现分析过程耗时最长。进一步深挖,发现 `coherent_trait impl_trait_header` 是瓶颈,最终定位到 `metadata_decode_entry_impl_trait_header` 函数,该函数与 proc macros(过程宏)有关。因此,文章得出的结论是:过程宏是导致 `cargo check` 慢的主要原因,特别是 `metadata_decode_entry_impl_trait_header` 函数。作者建议减少过程宏的使用。简单来说,`cargo check` 慢,锅在过程宏! 评论区也对此展开了讨论。有人好奇为什么过程宏会这么慢,猜测是否因为编译器需要先编译它们才能运行。还有人建议 crates.io 应该标注 crate 是否使用了过程宏以及编译时统计信息,甚至有人表示他们已经开始在 Rust monorepo 中禁用过程宏。这些评论反映了开发者们对过程宏性能问题的关注,以及寻找解决方案的迫切需求。总体来看,大家普遍认为过程宏是影响编译速度的一个重要因素。 - 原文: [Why Cargo Check Is So Slow](https://eveeifyeve.pages.dev/blogs/cargo-check-slow.mdx/) - Hacker News: [https://news.ycombinator.com/item?id=44846544](https://news.ycombinator.com/item?id=44846544) - 作者: eveeifyeve - 评分: 7 - 评论数: 9 - 发布时间: 2025-08-09 22:04:41 --- ## 1985年丰田Tercel行驶超120万公里:传奇仍在继续 这篇报道讲述了新斯科舍省一位名叫Andy Campbell的车主,他的1985年丰田Tercel行驶里程超过120万公里,相当于往返月球1.5次。这辆车是他在1990年以2500美元的价格购入的,当时已经行驶了12.5万公里。 Campbell将这辆老Tercel作为日常用车,每天往返于家和哈利法克斯之间,至少行驶120公里。即使退休后,他也仍然用它来处理日常事务,甚至远行到海洋省份,包括纽芬兰。尽管这辆车已经老到可以申请古董车牌照,但他并不想申请,因为这会限制它的日常使用。 多年来,这辆车几乎所有的部件都被更换或修理过,可能只有车身还是原装的,但即使是车身也经过了修缮。除了前轮定位,所有的维修工作都由Campbell自己完成,他拥有大量的备件,其中大部分已经无法从丰田公司购买。为了以防万一,他在自己的房产后面还存放了三辆Tercel,专门用于拆卸零件。 Campbell认为,让汽车长时间运行的关键在于定期维护,例如更换机油和润滑,以及对车辆进行底盘防锈处理。一个加热的车库也有帮助。他承认Tercel以容易生锈而闻名,但他保持车辆良好状态的秘诀是用油脂填充所有的缝隙。 如果他的Tercel因维修而暂时无法使用,Campbell还有一辆备用车,那是一辆1986年的Tercel。Campbell说他并不是一个汽车爱好者,他只是喜欢他的Tercel,因为它实用、在雪地里表现出色、易于维护且运营成本低廉。 报道还提到了新斯科舍省的另一位Tercel车主Jim George,他的1985年Tercel也行驶了超过53.4万公里。两人还认识第三位Tercel车主,他的车辆也行驶了超过100万公里。 评论区有人调侃说,这辆Tercel就像“忒修斯之船”,随着部件不断更换,它还是最初的那辆车吗? - 原文: [Car has more than 1.2M km on it – and it's still going strong](https://www.cbc.ca/news/canada/nova-scotia/1985-toyota-tercel-high-mileage-1.7597168) - Hacker News: [https://news.ycombinator.com/item?id=44806422](https://news.ycombinator.com/item?id=44806422) - 作者: Sgt_Apone - 评分: 92 - 评论数: 116 - 发布时间: 2025-08-06 08:53:44 --- ## 死者数据删除权:防止AI化 文章讨论了律师提出的“死者数据删除权”这一概念,旨在保护逝者的数据不被用于AI模拟,确保个人在死后也能掌控自己的数字遗产。 随着人工智能技术的快速发展,利用个人数据进行AI模拟成为可能,但也引发了伦理和法律问题。律师认为,个人应该有权决定其数据在死后如何使用,包括删除数据以防止被AI化。文章强调,并非所有人都希望在死后被模拟,因此数据删除权至关重要。 数据删除权的实现可能需要立法支持,明确数据控制者在用户去世后的义务。同时,技术层面也需要提供相应的工具和流程,方便逝者家属或指定代理人行使删除权。文章还探讨了数据删除权与言论自由、历史记录等方面的潜在冲突,提出了需要进一步研究和平衡的问题。 - 原文: [The dead need right to delete their data so they can't be AI-ified, lawyer says](https://www.theregister.com/2025/08/09/dead_need_ai_data_delete_right/) - Hacker News: [https://news.ycombinator.com/item?id=44846323](https://news.ycombinator.com/item?id=44846323) - 作者: rntn - 评分: 36 - 评论数: 20 - 发布时间: 2025-08-09 21:32:02 --- ## Sandstorm:自托管的 Web 应用平台 Sandstorm 是一款开源项目,旨在简化自托管 Web 应用程序的过程,让用户能够轻松安全地运行各种应用。它通过应用市场一键安装应用、统一的访问控制系统和沙盒化的安全机制,为个人、企业和开发者提供便利。 Sandstorm 的核心优势在于其易用性、安全性和自由度。用户可以像在手机上安装应用一样,轻松地在 Sandstorm 上安装和管理各种 Web 应用,无需复杂的配置和维护。每个应用都运行在独立的沙箱中,从而保障了数据的安全性和隐私。此外,用户还可以自由选择数据存储的位置,并根据自己的需求修改或定制应用。 Sandstorm 适用于个人用户、企业和开发者。个人用户可以利用 Sandstorm 搭建自己的服务器,安全便捷地使用各种开源 Web 应用。企业可以将所有数据集中管理,同时允许团队选择适合自己的工具。开发者可以专注于应用开发,无需关心服务器运维和扩展问题。 评论区对 Sandstorm 的评价褒贬不一。一些用户肯定了 Sandstorm 的易用性和零维护特性,并将其用于项目管理和文档存储。但也有用户指出,Sandstorm 的应用生态系统缺乏维护,功能集与 NextCloud 等同类产品相比存在差距。此外,还有用户对 Sandstorm 的安全性和维护情况表示担忧,并推荐了 Cloudron 等替代方案。 总的来说,Sandstorm 曾经是一个充满潜力的项目,但目前的发展状况并不乐观。虽然社区仍在努力维护,但其未来的发展方向仍不明朗。对于追求易用性和安全性的自托管用户来说,Sandstorm 仍然是一个值得考虑的选择,但需要仔细评估其应用生态系统和维护情况。 - 原文: [Sandstorm- self-hostable web productivity suite](https://sandstorm.org/) - Hacker News: [https://news.ycombinator.com/item?id=44844394](https://news.ycombinator.com/item?id=44844394) - 作者: nalinidash - 评分: 98 - 评论数: 20 - 发布时间: 2025-08-09 14:06:56 --- ## Tribblix:复古风格的 Illumos 发行版 Tribblix 是一个基于 Illumos 的开源操作系统,由 Peter Tribble 创建,它融合了复古风格和现代组件。该系统最近发布了 Milestone 37 版本,提供了 Vanilla Tribblix 和 LX (又名 "omnitribblix") 两种 x86 变体。 Tribblix 的 SPARC 版本也提供了从 m32 到 m33 的升级,但目前建议全新安装时使用 m32 ISO 并进行升级。 值得注意的是,Tribblix 已经完全移除了对 32 位硬件的支持。虽然 SPARC 版本的测试和硬件支持仍然不足,但 x86 版本已经相当稳定。用户可以下载镜像,将其安装到硬盘上并开始使用。 目前 Tribblix 提供了 Xfce 作为主要桌面环境,同时也支持 MATE 和 Enlightenment 等其他窗口管理器。 评论区里,大家对 Tribblix 表现出了浓厚的兴趣。有人认为 Tribblix 和 Dragonfly BSD 都是值得关注的小众但功能强大的操作系统。 还有人分享了在生产环境中使用 Solaris Zones 和 LX Zones 的经验,这两种容器可以在同一硬件上并行运行。 不过,也有用户遇到了安装问题,特别是在处理 USB3 和相关问题时。 此外,还有人对 Tribblix 使用的 ZFS 版本是否与 Linux/FreeBSD 系统的 OpenZFS 兼容表示好奇。 一些用户表达了在现代硬件上安装 Illumos 系列发行版的困难,希望未来能更容易地在现代硬件上安装。 有人甚至提出了构建 Linux 驱动兼容层,以提高其他 UNIX 内核可用性的想法。 最后,有人指出,虽然 Tribblix 最初主要面向 32 位 SPARC 和 32 位 X86 架构,但现在已经移除了对 32 位硬件的支持。 - 原文: [Tribblix – The Retro Illumos Distribution](http://www.tribblix.org/) - Hacker News: [https://news.ycombinator.com/item?id=44844561](https://news.ycombinator.com/item?id=44844561) - 作者: bilegeek - 评分: 68 - 评论数: 17 - 发布时间: 2025-08-09 14:46:14 --- ## LLM 批判:GPT-5 仍在编造不存在的功能 本文作者分享了对大型语言模型 (LLM) 的又一次批判,指出即使是 GPT-5 仍然会自信地提供错误信息,并以 ZSTD 压缩在 iOS 上的支持为例,说明了 LLM 的局限性。 作者通过一个实际案例,展示了 GPT-5 如何在没有事实依据的情况下,自信地声称 Swift 在 iOS 上可以使用 ZSTD 压缩数据流,并错误地声称该功能在 iOS 16+ 上可用。作者强调,没有任何版本的 Apple SDK 支持 ZSTD,这是一个完全捏造的说法。作者认为,如果一个工具会主动误导用户,导致用户浪费时间尝试实现根本不可能实现的功能,那么它就是无用的。 文章进一步解释了 LLM 的工作原理,指出它们本质上是统计模型,根据“什么最有可能跟随前面的短语”来生成“语言”。LLM 不具备逻辑思维和推理能力,因此即使知道 ZSTD 不被支持,也可能因为 `COMPRESSION_[method]` 的命名模式而生成 `COMPRESSION_ZSTD`。作者用一个色盲者在网上询问球的颜色作为类比,说明 LLM 会简单地选择最常见的答案,而不会进行深入思考。 作者还对比了人类的思维方式,强调人类具有逻辑思考和诚实面对知识盲点的能力,这使得人类在某些情况下比 LLM 更可靠。即使面对信息冲突,人类也会主动寻找真相,而不是简单地坚持错误的答案。作者最后的结论是,LLM 仍然存在根本性的缺陷,不能盲目信任。 - 原文: [Yet Another LLM Rant](https://overengineer.dev/txt/2025-08-09-another-llm-rant/) - Hacker News: [https://news.ycombinator.com/item?id=44845973](https://news.ycombinator.com/item?id=44845973) - 作者: sohkamyung - 评分: 7 - 评论数: 3 - 发布时间: 2025-08-09 20:25:19 --- ## 突破有向单源最短路径的排序屏障 本文介绍了一种新的确定性算法,用于解决有向图中带非负实数边权重的单源最短路径(SSSP)问题,该算法在比较-加法模型中实现了O(m log^(2/3) n)的时间复杂度。 这项研究首次突破了Dijkstra算法在稀疏图上的O(m+n log n)时间界限,表明Dijkstra算法并非解决SSSP问题的最优方案。 该论文的核心在于提出了一种新的算法,它在有向图的单源最短路径问题上,超越了传统Dijkstra算法的性能瓶颈。 传统的Dijkstra算法在稀疏图上的时间复杂度为O(m+n log n),而新算法的时间复杂度为O(m log^(2/3) n),其中m是边的数量,n是节点的数量。 这种改进对于大规模图数据处理具有重要意义,因为它能够显著减少计算时间。 该算法的实现依赖于比较-加法模型,这意味着算法主要基于边的权重进行比较和加法运算。 这种模型在图算法中很常见,因为它能够简化问题的分析和实现。 论文的作者通过精巧的设计和分析,成功地将时间复杂度降低到了O(m log^(2/3) n),这是一个重要的理论突破。 这项研究不仅具有理论意义,也具有实际应用价值。 许多现实世界的问题都可以抽象为单源最短路径问题,例如网络路由、交通规划、物流优化等。 通过使用这种新的算法,可以更高效地解决这些问题,从而提高系统的性能和效率。 论文中还详细描述了算法的实现细节和性能分析,为其他研究者提供了参考。 总而言之,这篇论文在有向图单源最短路径问题上取得了重要进展,突破了传统算法的性能瓶颈,为相关领域的研究和应用提供了新的思路和方法。 - 原文: [Breaking the Sorting Barrier for Directed Single-Source Shortest Paths](https://arxiv.org/abs/2504.17033) - Hacker News: [https://news.ycombinator.com/item?id=44844257](https://news.ycombinator.com/item?id=44844257) - 作者: pentestercrab - 评分: 76 - 评论数: 2 - 发布时间: 2025-08-09 13:34:09 --- ## Go 语言 errgroup 的一个微妙 Bug 本文深入探讨了在使用 Go 语言的 `errgroup` 包时可能遇到的一个不易察觉的 Bug,特别是在并发执行任务并依赖上下文取消时。通过一个密码验证的示例程序,展示了当 `errgroup` 中的一个任务出错时,如何导致其他任务的上下文被取消,从而影响程序的预期行为。 文章的核心在于 `changePassword` 函数,该函数使用 `errgroup` 并发执行密码哈希和密码比较。问题在于,如果其中一个任务(例如,密码比较)返回错误,`errgroup` 会取消上下文,导致 `checkHaveIBeenPawned` 函数中的 HTTP 请求失败,即使该函数应该独立运行。作者通过添加日志输出来定位问题,最终发现是上下文取消导致了 HTTP 请求错误。 为了解决这个问题,作者提出了两种方法。第一种方法是在调用 `errgroup.WithContext` 时使用 `context.Background()` 创建一个新的上下文,从而避免了父上下文的取消影响。第二种方法是在每个任务中检查上下文是否被取消,如果被取消则立即返回,避免执行不必要的计算。文章推荐使用第一种方法,因为它更简洁明了。 文章还强调了测试在发现此类问题中的重要性,并分享了在大型复杂软件开发中进行充分测试的价值。通过这个案例,提醒开发者在使用 `errgroup` 时要特别注意上下文的管理,避免出现类似的 Bug。 文章中给出的修复方案主要有两种: 1. **使用 `context.Background()` 创建新的上下文:** 在调用 `errgroup.WithContext` 时,使用 `context.Background()` 创建一个新的上下文,这样可以避免父上下文的取消影响到 `errgroup` 中的任务。 2. **在任务中检查上下文是否被取消:** 在每个任务中,定期检查上下文是否被取消,如果被取消则立即返回,避免执行不必要的计算。 总的来说,这篇文章通过一个实际的案例,深入浅出地讲解了 `errgroup` 的使用,并提出了避免潜在 Bug 的方法,对于 Go 语言开发者来说具有很高的参考价值。 - 原文: [A subtle bug with Go's errgroup](https://gaultier.github.io/blog/subtle_bug_with_go_errgroup.html) - Hacker News: [https://news.ycombinator.com/item?id=44845953](https://news.ycombinator.com/item?id=44845953) - 作者: broken_broken_ - 评分: 10 - 评论数: 1 - 发布时间: 2025-08-09 20:20:16 --- ## 修复古董 SPARCstation 1+:一次充满挑战的硬件修复之旅 本文记录了作者尝试修复一台老旧的 SPARCstation 1+ 工作站的经历,重点讲述了解决 SCSI 硬盘和软盘驱动器问题的过程。作者在修复过程中遇到了各种各样的难题,包括 "Illegal Instruction" 错误、SCSI 设备无响应、坏的魔数等,并尝试了各种方法,包括更换硬盘、调整 SCSI ID、检查软盘驱动器等。 文章首先回顾了之前遇到的 "Illegal Instruction" 错误,并尝试移除硬盘来诊断问题。发现移除硬盘后,错误消失,但连接硬盘后又出现 "SCSI device is not responding" 错误。作者通过一些“暴力”手段让硬盘重新启动,但仍然无法解决问题。 随后,作者发现 SPARCstation 固件会将 SCSI ID 0 重新路由到 ID 3,并尝试使用 `boot sd(0,3,0)vmunix` 命令启动,但遇到了 "bad magic number in disk label" 错误。为了排除硬盘故障,作者尝试了不同的硬盘组合,但都遇到了各种问题,包括 SCSI 总线挂起等。 接下来,作者将目光转向了软盘驱动器,希望通过启动 Linux 或 BSD 启动盘来诊断硬盘问题。然而,软盘驱动器也出现了故障,无法读取软盘。作者拆开软盘驱动器进行检查和润滑,但问题依旧存在。 最后,作者发现 ProDrive 硬盘的噪音变得非常大,但仍然返回 "bad magic number" 错误。作者怀疑硬盘的固件可能存在问题,导致无法正确识别分区表。 总的来说,这篇文章详细记录了一次充满挑战的硬件修复过程,展现了作者在面对各种难题时的解决思路和尝试。虽然最终问题可能没有完全解决,但作者的探索过程对于其他古董电脑爱好者来说具有一定的参考价值。 - 原文: [A SPARC makes a little fire](https://www.leadedsolder.com/2025/08/05/sparcstation-scsi-termination-fix-magic-smoke.html) - Hacker News: [https://news.ycombinator.com/item?id=44799929](https://news.ycombinator.com/item?id=44799929) - 作者: zdw - 评分: 63 - 评论数: 8 - 发布时间: 2025-08-06 00:11:52 --- ## 威斯康星州公路为何用字母命名? 这篇文章探讨了威斯康星州独特的县级公路命名系统,解释了为什么它们使用字母而不是数字。这个做法是为了区分县级公路和州级公路,避免维护和维修工作上的重复。 文章指出,威斯康星州早在1917年就建立了这套系统,并且是美国第一个区分州和县道路的州。由于只有26个字母,许多县会重复使用字母,或者使用双字母组合,甚至采用目的地缩写来命名公路。威斯康星州公路协会在1911年成立,是美国最古老的同类协会,在公路维护和创新方面一直处于领先地位。各县有权决定如何命名自己的公路,通常由县委员会通过公路专员来决定。威斯康星州也是美国第一个举办道路学校的州,分享最佳实践和最新创新。 评论区里,有人调侃Google地图对公路命名的错误发音,也有人寻找有趣的公路名称。有人指出,这种命名方式是康威定律的一个实例,即系统设计反映了组织结构。还有人对比了威斯康星州和爱荷华州的公路系统,认为威斯康星州的公路系统更加复杂,路线弯曲。最后,有人补充说,密苏里州也使用字母命名县级公路,而威斯康星州的一些公路甚至使用目的地缩写。 - 原文: [Why Wisconsin's county highways are lettered, not numbered (2019)](https://www.wpr.org/transportation/why-wisconsins-county-roads-are-lettered-not-numbered) - Hacker News: [https://news.ycombinator.com/item?id=44802484](https://news.ycombinator.com/item?id=44802484) - 作者: kaladin-jasnah - 评分: 24 - 评论数: 17 - 发布时间: 2025-08-06 02:50:43 --- ## 布鲁克林公寓安装迷你分体式空调的经验分享 本文作者分享了在布鲁克林公寓中用迷你分体式空调替换老式PTAC空调的经验,包括成本、选择承包商以及安装过程中遇到的问题。这次改造的主要目的是为了获得更安静和更稳定的温度,虽然可能无法通过节省电费来弥补成本,但作者对最终效果感到满意。 作者于2023年底购买了一套公寓,前房主在出售前安装了四个新的PTAC空调,但这些空调噪音大,且仅适用于温暖天气,一旦接近冰点就会切换到电阻式电加热,导致冬季电费高昂。此外,空调安装不当导致漏水,损坏了地板。由于急需在冬季前更换空调,作者开始了调研。 由于公寓的特殊结构,地热泵不可行,最终选择了迷你分体式空调,将一个大型室外机安装在后方,室内安装四个终端,通过管道连接。作者原本希望获得政府的节能补贴,但由于已经不再使用化石燃料供暖,因此不符合条件。在选择承包商方面,作者咨询了邻居和朋友,但得到的反馈都不太理想。最终,选择了Ice Age公司,并与另一位承包商合作修复PTAC留下的孔洞。 安装过程原计划一到两周完成,但实际耗时一个多月。施工进度缓慢,经常出现延误和错误。例如,工人会先在墙上开孔,然后发现尺寸不对,需要重新切割。此外,在管道走向、室内机位置、冷凝水排放等问题上,作者也需要参与决策。 虽然安装过程漫长且充满挑战,但最终还是完成了。作者分享的经验对于考虑安装迷你分体式空调的人来说很有价值,特别是那些面临类似房屋结构和预算限制的人。 - 原文: [Installing a Mini-Split AC in a Brooklyn Apartment](https://probablydance.com/2025/08/04/installing-a-mini-split-ac-in-a-brooklyn-apartment/) - Hacker News: [https://news.ycombinator.com/item?id=44810047](https://news.ycombinator.com/item?id=44810047) - 作者: ibobev - 评分: 3 - 评论数: 1 - 发布时间: 2025-08-06 18:06:03 ---

  

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