1天前
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20250831
嘿,科技迷们,今天的日报信息量爆炸!从二战电报的神秘保密术,到量子计算机为何搞不定21,带你穿越历史与未来。安卓应用安装权限收紧,用户还能掌控自己的手机吗?AI 辅助编程时代来临,老码农也能变身效率达人!还有还有,寿命延长研究遇瓶颈,百岁人生真那么难?想知道更多?赶紧往下看,保证让你脑洞大开!

---
## 二战时期电报保密措施:为何需要“密切释义”?
这篇文章探讨了二战时期美国收到的一些电报上出现的神秘提示:“此电报必须在传递给任何人之前进行密切释义”。 这种要求看似矛盾,因为通常的释义是为了更清楚地表达,而“密切”释义则让人困惑。
文章指出,这些电报来自罗斯福总统图书馆,时间跨度从1939年到1941年,甚至包括丘吉尔发给罗斯福的电报。 这种“密切释义”的要求,并非简单地为了避免泄露信息而含糊其辞,因为那样反而不应该“密切”。 如果追求准确,直接引用原文似乎更好,为什么需要释义呢?
一种可能的解释是,这些电报经过编码,直接传递原文可能会暴露加密方式。 通过“密切释义”,既能传达信息,又能避免泄露原始电文的结构和编码规律。 另一种解释是,为了防止敌方通过分析电报内容之间的关联来获取情报,对电报进行释义可以打乱信息的原始形式,增加敌方分析的难度。 此外,也可能与当时特定的通信协议或保密规定有关。 “密切释义”或许是为了确保信息在传递过程中不被篡改,同时又保持一定的隐蔽性。
- 原文: ["This telegram must be closely paraphrased before being communicated" Why?](https://history.stackexchange.com/questions/79371/this-telegram-must-be-closely-paraphrased-before-being-communicated-to-anyone)
- Hacker News: [https://news.ycombinator.com/item?id=45082731](https://news.ycombinator.com/item?id=45082731)
- 作者: azeemba
- 评分: 170
- 评论数: 28
- 发布时间: 2025-08-31 20:39:47
---
## 量子计算机为何至今未能分解 21?
文章探讨了为什么 2001 年量子计算机分解了 15 之后,直到 2025 年仍然未能分解 21。作者指出,这并非因为量子计算没有进展,而是因为分解 21 的计算成本远高于分解 15,主要原因是分解 21 的量子线路所需的纠缠门数量级远超分解 15。
分解 15 的量子线路包含 6 个双量子比特纠缠门和 2 个 Toffoli 门(每个分解为 6 个双量子比特纠缠门),总计 21 个纠缠门。相比之下,分解 21 的电路需要 191 个 CNOT 门和 369 个 Toffoli 门,总计 2405 个纠缠门,是分解 15 电路的 115 倍。
这种巨大差异源于量子分解电路的主要成本在于执行一系列叠加态下的条件模乘。分解 n 位数 N 时,Shor 算法会针对每个 k<2^n,将累加器有条件地乘以 m^k = g^(2^k) (mod N),其中 g 是与 N 互质的随机选择值。
分解 15 的乘法比分解 21 便宜得多,原因有三:
1. 分解 15 的乘法中,大部分最终乘以 1,而乘以 1 的操作可以忽略不计。
2. 第一次乘法几乎是“免费的”,因为其输入已知为 1。
3. 剩余的分解 15 乘法可以用两个 CSWAP 实现。
文章通过分析 g=2 时的情况,解释了分解 15 和 21 的乘法常数差异,以及这些差异如何导致成本大幅增加。例如,分解 15 时,大部分乘法常数为 1,而分解 21 时,没有乘法常数为 1。此外,分解 21 时,乘以 4 和 16 不能用 CSWAP 实现,需要更昂贵的电路。
除了算法层面的因素,2001 年分解 15 使用的是 NMR 量子计算机,这种计算机存在固有的扩展问题,甚至其是否真正属于“量子”范畴都存在争议。
最后,量子纠错的开销也是一个重要的影响因素。
- 原文: [Why haven't quantum computers factored 21 yet?](https://algassert.com/post/2500)
- Hacker News: [https://news.ycombinator.com/item?id=45082587](https://news.ycombinator.com/item?id=45082587)
- 作者: ingve
- 评分: 71
- 评论数: 35
- 发布时间: 2025-08-31 20:14:26
---
## Google 限制 Android 应用安装权限引争议
Louis Rossmann 在 YouTube 视频中指出,Google 正在收紧 Android 系统的应用安装权限,即使是用户购买的高价手机,也需要 Google 的许可才能安装应用,这引发了关于用户自由和设备控制权的讨论。
Rossmann 在视频中提到,Google 似乎正在推行一项政策,要求开发者进行验证,未经验证的应用可能无法在 Android 设备上安装。这被批评为是对 Android 开放性的侵蚀,使得用户对其设备的控制权进一步减弱。视频中还讨论了这种趋势可能带来的更广泛的影响,例如,如果用户无法自由安装应用,可能会限制他们使用替代应用商店或绕过广告的能力,最终损害用户体验。此外,视频还暗示,这种行为可能受到苹果公司类似政策的影响,并可能蔓延到桌面操作系统,进一步限制用户对软件的选择。视频呼吁用户关注这一问题,并捍卫自己对设备的控制权。
评论区里,用户表达了对 Google 此举的担忧和不满。有人开始考虑更换操作系统,但又不想选择苹果,陷入两难。许多评论都指向一个共同的担忧:科技公司正在逐步剥夺用户的自由和选择权,将用户锁定在自己的生态系统中。有人担心,如果移动设备的应用安装受到限制,桌面设备可能也会面临同样的命运。还有人认为,这种限制最终会扼杀创新,因为开发者需要获得 Google 的批准才能发布应用,这可能会导致一些有潜力的项目无法面世。一些评论甚至带有一些阴谋论色彩,认为这是科技公司和政府联手收集用户信息的手段。总体而言,评论区反映出用户对科技公司控制力日益增强的担忧,以及对维护个人自由和设备控制权的强烈呼声。
- 原文: [Google: 'Your $1000 phone needs our permission to install apps now' [video]](https://www.youtube.com/watch?v=QBEKlIV_70E)
- Hacker News: [https://news.ycombinator.com/item?id=45082750](https://news.ycombinator.com/item?id=45082750)
- 作者: robtherobber
- 评分: 117
- 评论数: 63
- 发布时间: 2025-08-31 20:44:26
---
## 降低软件开发认知负荷:提升代码可读性和可维护性
本文探讨了软件开发中认知负荷的重要性,并提供了一些降低认知负荷的实用技巧,旨在帮助开发者编写更易于理解和维护的代码。
文章指出,认知负荷是指开发者在完成任务时需要思考的量。过高的认知负荷会导致困惑、降低效率,甚至引入错误。文章将认知负荷分为内在认知负荷(任务本身的难度)和外在认知负荷(代码呈现方式带来的额外负担)。重点关注如何减少外在认知负荷,通过优化代码结构和风格,使代码更易于理解和维护。
文章列举了一些常见的增加认知负荷的坏习惯,并给出了相应的改进建议:
* **复杂的条件语句:** 使用中间变量和有意义的命名来简化复杂的条件表达式,提高代码可读性。
* **嵌套的if语句:** 尽量使用早返回(early returns)来减少嵌套,使代码逻辑更清晰,专注于“happy path”。
* **继承的滥用:** 提倡使用组合而非继承,避免深层继承关系带来的复杂性。
* **过多的细小方法/类/模块:** 避免过度拆分代码,导致模块间交互复杂。推崇“深模块”设计,即简单的接口提供复杂的功能,隐藏内部实现细节。
文章通过实际案例和类比,强调了降低认知负荷的重要性。例如,作者分享了维护两个相似规模项目的经验,其中一个项目由大量浅薄的类组成,另一个项目由少量深度的类组成。结果表明,维护后者更容易,因为它具有更清晰的接口和更少的交互。
总而言之,本文强调了在软件开发中关注认知负荷的重要性,并提供了一系列实用的方法来降低认知负荷,从而编写出更易于理解、维护和扩展的代码。
- 原文: [Cognitive load is what matters](https://github.com/zakirullin/cognitive-load)
- Hacker News: [https://news.ycombinator.com/item?id=45074248](https://news.ycombinator.com/item?id=45074248)
- 作者: nromiun
- 评分: 1300
- 评论数: 465
- 发布时间: 2025-08-30 20:58:48
---
## 告别屏幕疲劳:我的手机变成了电子阅读器
本文作者分享了将普通智能手机转变为电子阅读器的体验,重点介绍了Minimal Phone这款安卓系统的电子墨水屏手机,以及它在阅读体验和使用场景上带来的改变。作者详细描述了Minimal Phone的特性、优点以及潜在的局限性,并分享了自己使用这款设备阅读书籍、博客和RSS订阅的感受。
作者提到过去使用Kobo阅读器时遇到的一些问题,例如图书馆书籍兼容性问题以及Pocket同步文章的繁琐性。相比之下,Minimal Phone作为一款真正的手机,可以直接安装各种App,例如Libby用于借阅图书馆书籍,RSS阅读器用于阅读博客文章,无需预先同步,方便快捷。
Minimal Phone配备了物理键盘,这对于电子墨水屏这种刷新率较低的屏幕来说至关重要,可以有效提升输入体验。作者提到自己主要用手机发消息,但并非紧急事务,大部分时间都在电脑旁,因此对手机的性能要求不高。此外,作者还分享了Minimal Phone在阅读体验上的优势,例如电子墨水屏对眼睛的友好性,以及在阳光下的可视性。他提到自己乘坐飞机时使用这款手机阅读书籍,感觉非常舒适。
Minimal Phone的电池续航表现也令人满意,通常可以使用两天左右,这主要得益于电子墨水屏的低功耗特性。此外,作者还提到,由于配备了物理键盘,他可以完全关闭自动更正功能,减少输入错误。
总的来说,作者对Minimal Phone的体验非常满意,认为它非常适合自己。虽然这款设备可能并不适合所有人,但对于那些喜欢阅读、对手机性能要求不高、并且希望减少屏幕使用时间的人来说,Minimal Phone是一个不错的选择。作者也提到,他并没有完全放弃之前的手机,而是将Minimal Phone作为一种补充,在特定场景下使用。
- 原文: [My phone is an ereader now](https://www.davepagurek.com/blog/minimal-phone/)
- Hacker News: [https://news.ycombinator.com/item?id=45079962](https://news.ycombinator.com/item?id=45079962)
- 作者: wonger_
- 评分: 204
- 评论数: 77
- 发布时间: 2025-08-31 10:58:32
---
## F-Droid 网站证书过期导致连接错误
F-Droid 网站的证书过期导致用户在访问时出现 "Your connection isn't private" 的错误提示,影响了用户正常访问和使用 F-Droid 应用商店。
文章指出,有用户在使用 Edge 和 Chrome 浏览器访问 f-droid.org 时遇到了证书错误。F-Droid 的维护者确认了新证书已经存在,但证书轮换失败。这意味着虽然新的证书已经签发,但是并没有正确地部署到服务器上,导致用户仍然在使用过期的证书进行连接,从而引发安全警告。该问题与 fdroiddata 仓库中的 #3623 issue 相关联,该 issue 也报告了类似的 `net::ERR_CERT_DATE_INVALID` 错误。维护者已经将此 issue 标记为重复,并将两个 issue 关联起来,以便更好地跟踪和解决问题。证书问题可能会影响 F-Droid 的正常使用,包括应用下载和更新等功能。
评论区中,有用户表示在使用 F-Droid 客户端时遇到了域名解析问题,并通过重装应用解决。另一位用户引用了维护者的评论,强调了证书轮换失败的问题仍然存在,并推测可能与 CDN 上的证书轮换方式有关,同时分享了 SSL Labs 的分析链接,以供进一步诊断问题。评论区进一步补充了问题可能存在的具体表现和潜在原因,从客户端和服务端两个角度提供了信息。
- 原文: [F-Droid site certificate expired](https://gitlab.com/fdroid/fdroid-website/-/issues/883)
- Hacker News: [https://news.ycombinator.com/item?id=45082595](https://news.ycombinator.com/item?id=45082595)
- 作者: kxxt
- 评分: 16
- 评论数: 6
- 发布时间: 2025-08-31 20:16:00
---
## AI 辅助编程:一位老码农的体验
本文作者分享了自己使用 AI 编程助手开发 Tower of Hanoi 解算器的经历,探讨了 AI 在软件开发中的潜力与局限。作者是一位拥有 40 年编程经验的资深开发者,他与 AI 助手合作完成了 Python 项目,并记录了整个过程的感受与思考。
文章的核心内容包括:
* **项目介绍:** 作者使用 Python 开发了一个灵活的 Tower of Hanoi 解算器,支持经典版本和泛化版本,并实现了多种搜索算法。
* **开发模式:** 整个项目采用人机协作模式,作者与 AI 助手通过自然语言进行交流,AI 负责代码的编写、重构和调试。
* **AI 能力评估:** 作者对 AI 助手的代码理解能力、编程语言掌握程度、问题解决能力等方面进行了评估,认为 AI 在这些方面表现出色,甚至在某些方面超越了人类。
* **人机协作体验:** 作者分享了与 AI 助手合作的感受,包括 AI 的非评判性、快速响应、以及在算法问题上的敏锐性。
* **AI 工具选择:** 作者试用了多种 AI 编程助手,并对它们的优缺点进行了比较。
总的来说,作者对 AI 编程助手持积极态度,认为它们可以极大地提高开发效率,并让人类开发者专注于更高层次的设计与思考。
由于没有评论内容,无法进行评论观点的分析。
- 原文: [Vibe Coding as a Coding Veteran. From 8-Bit Assembly to English-as-Code](https://levelup.gitconnected.com/vibe-coding-as-a-coding-veteran-cd370fe2be50)
- Hacker News: [https://news.ycombinator.com/item?id=45053764](https://news.ycombinator.com/item?id=45053764)
- 作者: thunderbong
- 评分: 25
- 评论数: 18
- 发布时间: 2025-08-28 23:55:15
---
## 基于 CUDA 的 ncurses 流体模拟
这个 GitHub 仓库 `seanwevans/fluid-sims` 集合了一系列流体模拟的实现。主要特点是利用 CUDA 进行并行计算,并通过 ncurses 在终端中进行可视化展示。
该项目展示了使用 CUDA 加速计算密集型任务,并使用 ncurses 提供简单用户界面的一个实际案例。对于学习 CUDA 编程和流体模拟算法的开发者来说,是一个不错的参考项目。仓库包含代码、文档,可能还有示例,方便用户理解和使用。通过这个项目,开发者可以学习到如何在 GPU 上进行并行计算,以及如何在终端中进行图形化显示。这对于开发高性能的科学计算和可视化应用非常有帮助。此外,该项目也展示了如何将 CUDA 和 ncurses 结合使用,为开发者提供了一个完整的开发流程示例。
- 原文: [Show HN: An ncurses CUDA-based fluid simulation](https://github.com/seanwevans/fluid-sims)
- Hacker News: [https://news.ycombinator.com/item?id=45044442](https://news.ycombinator.com/item?id=45044442)
- 作者: goosethe
- 评分: 57
- 评论数: 5
- 发布时间: 2025-08-28 04:03:20
---
## Channel3 招聘纽约创始工程师,构建 AI 商业基础
Channel3 正在构建一个互联网上的产品数据库,并招聘一位位于纽约的创始工程师。他们的 API 允许任何 AI 应用或代理添加购物功能,并从销售中赚取佣金,目标是成为 AI 商业领域的基础设施,就像 Stripe 在支付或 Plaid 在金融科技领域的地位一样。
Channel3 认为 AI 商业与线下和线上渠道同等重要。该公司由 Alex 和 George 创立,他们从杜克大学的第一天起就是朋友。Alex 从 9 岁开始编程,12 岁创办了他的第一家公司,最近在 studio.com 领导 AI 项目。George 在 18 岁时发表了关于用机器人自动化天文学的研究,并在 Palantir 工作了 2 年,处理大数据问题。
目前,Channel3 已经拥有 500 多名开发者在其 API 上进行构建,客户也在热切期待新功能,每天处理数百万种产品。作为创始工程师,你将直接负责技术和基础设施决策、路线图和优先级排序,并帮助团队成长和建立企业文化。
Channel3 获得了 Matrix (Apple, FedEx, Afterpay)、Ludlow (Honey, StockX)、Y Combinator 和 Paul Graham 领投的 600 万美元种子轮融资。
作为工程师,你将编写代码来理解 1 亿种产品,开发多模态管道,从产品详情页(PDP)中提取结构化属性,解决跨零售商的规范产品,并将尺寸和颜色等变体链接起来。Channel3 将最新的语言、嵌入、图像和分割模型结合起来,以真正理解每一种产品。
你还将构建世界一流的搜索功能,使开发者能够找到“Weber 的户外烧烤架,价格低于 1000 美元,带 4 个燃烧器”、“300 克以下的跑步运动鞋,12 码”或“这个沙发[图片]但颜色是绿色的”。此外,还需要为可靠性和成本进行工程设计,创建评估来衡量漂移,并建立护栏来防止回归和幻觉,并巧妙地降低成本。
该职位需要在曼哈顿进行线下办公,每周五天。公司提供笔记本电脑、健康保险和周一至周四的免费晚餐,以及有意义的所有权,即在公司成为 AI 商业产品层时,早期股权具有真正的上升空间。薪资范围为 12 万至 20 万美元,股权为 0.5% 至 1.5%。
申请者需要提供一个简短的段落或几个要点,介绍你构建的项目,以及一两句话关于你认为 AI 将如何改变商业的看法,以及你的简历/LinkedIn 个人资料。
(由于没有评论内容,跳过评论相关的输出。)
- 原文: [Channel3 (YC S25) Is Hiring a Founding Engineer, NYC](https://channel3.notion.site/founding-engineer)
- Hacker News: [https://news.ycombinator.com/item?id=45082508](https://news.ycombinator.com/item?id=45082508)
- 作者: aschiff1
- 评分: 1
- 评论数: 0
- 发布时间: 2025-08-31 20:00:21
---
## 探索 Vlang:Go 的“加料”版本
本文作者分享了自己尝试 Vlang 的经历,将 Vlang 比作在 Go 的基础上添加了“巧克力和花生”的香草冰淇淋,旨在探索 Vlang 相较于 Go 的一些特性和改进。
作者首先表达了自己对 Go 语言的喜爱,认为它简单实用,但有时也希望尝试一些“更刺激”的东西。Vlang 在语法上与 Go 相似,但增加了一些额外的功能,例如更简洁的 Map 操作、Struct 的 required 标签和默认值,以及 WithOption 模式的简化实现。作者详细介绍了 Vlang 在 Map 操作、结构体定义和选项模式方面的优势。例如,Vlang 的 Map 操作更加简洁,可以直接使用字面量初始化,并且提供了更方便的错误处理方式。Struct 方面,Vlang 允许在字段上使用 `@[required]` 标签,强制要求初始化,并允许设置默认值。WithOption 模式则通过 `@[params]` 结构体和命名参数,简化了函数参数的传递和配置。
作者也提到了在使用 Vlang 过程中遇到的一些问题,例如 `net.http` 库、`veb` 工具以及更复杂的构建系统和并发处理。尽管如此,作者对 Vlang 仍然持积极态度,认为它在 Go 的基础上进行了一些有益的改进,值得进一步探索。
- 原文: [My Foray into Vlang](https://kristun.dev/posts/my-foray-into-vlang/)
- Hacker News: [https://news.ycombinator.com/item?id=45080808](https://news.ycombinator.com/item?id=45080808)
- 作者: Bogdanp
- 评分: 69
- 评论数: 25
- 发布时间: 2025-08-31 14:17:26
---
## Red 编程语言:新一代受 Rebol 启发的编程语言
Red 是一种受 Rebol 启发的下一代编程语言,它通过其原生代码编译器,拥有更广泛的应用领域,从系统编程到高级脚本,再到跨平台响应式 GUI。它还为并发提供现代支持,所有这些都在一个零安装、零配置的单个约 1MB 文件中实现。
Red 旨在利用面向 DSL 的方法(称为“方言”)来解决软件构建的复杂性。内置的方言包括:Red/System(一种编译为原生代码的 C 级系统编程语言)、Parse(一个强大的 PEG 解析器)、VID(一个简单的 GUI 布局创建方言)、Draw(一个矢量 2D 绘图方言)和 Rich-text(一个富文本描述方言)。Red 拥有自己的完整跨平台工具链,包括封装器、原生编译器、解释器和链接器,不依赖任何第三方库,除了 alpha 阶段所需的 Rebol2 解释器。Red 的主要功能包括人性化的语法、同像性、函数式、命令式、反应式和符号编程、基于原型的对象支持、多类型、强大的模式匹配宏系统、丰富的内置数据类型、静态和 JIT 编译为原生代码、交叉编译、生成小于 1MB 的可执行文件且无依赖项、强大的并发和并行支持、通过内置 Red/System DSL 实现低级系统编程能力、内置强大的 PEG 解析器 DSL、快速且紧凑的垃圾收集器、内置用于解释器、词法分析器和解析器的检测、跨平台原生 GUI 系统、桥接到 JVM、包含高级脚本和 REPL GUI 和 CLI 控制台、Visual Studio Code 插件、高度可嵌入性、低内存占用、单文件(约 1MB)包含整个工具链、完整的标准库和 REPL,无需安装和设置。
Red 编程语言旨在提供一种更简洁、更强大的编程体验,特别是在处理 GUI 和系统编程等任务时。它的小尺寸和无依赖性使其成为嵌入式系统和快速原型设计的理想选择。Red 仍处于 alpha 阶段,但其独特的功能集和对跨平台开发的关注使其成为值得关注的语言。
- 原文: [Red: A programming language inspired by REBOL](https://github.com/red/red)
- Hacker News: [https://news.ycombinator.com/item?id=45080051](https://news.ycombinator.com/item?id=45080051)
- 作者: Levitating
- 评分: 70
- 评论数: 42
- 发布时间: 2025-08-31 11:14:05
---
## 数学精通的优化路径:快速通道学习指南探讨
本文主要讨论了通过精心挑选的书籍,在两到三年内快速掌握数学的“优化路径”学习方法。
文章列出了一系列数学和物理书籍,作者认为按照特定顺序阅读这些书籍,可以最高效地掌握数学知识。这个“快速通道”方法旨在帮助读者避免在不必要的学习材料上浪费时间,从而更快地达到数学精通的境界。作者推荐从基础数学开始,逐步过渡到更高级的主题,并强调了物理学在理解数学概念中的作用。
然而,这种方法也引发了一些争议,一些评论者认为,知识的掌握并非仅仅通过阅读书籍就能实现,更重要的是通过解决问题和实践。他们建议学生应该限制阅读量,将更多时间投入到实际问题的解决中。还有人质疑这个书单的实用性,认为它没有明确说明阅读顺序和“优化”的具体含义,仅仅是作者个人阅读过的书籍列表。
评论区观点:
* **实践的重要性:** 许多人强调,数学的精通来自于实践和解决问题,而不仅仅是阅读。他们认为应该减少阅读量,增加实际操作的时间。
* **学习路径的个性化:** 有评论指出,不存在适用于所有人的“最优路径”,每个人的基础和学习方式不同,应该根据自身情况选择合适的学习材料。
* **时间估计的合理性:** 一些人认为,在两到三年内完成书单上的所有内容并真正掌握,时间过于乐观。他们认为,深入理解这些主题需要更多的时间和精力。
* **书单选择的争议:** 有评论者对书单中的某些书籍选择提出质疑,认为存在更优秀、更易懂的替代品。
* **学习目的的差异:** 评论中也提到了学习数学的目的不同,有些人认为学习物理对数学理解有帮助,而另一些人则认为这是一种干扰。
* **计算机科学的角度:** 有人从计算机科学的角度分析,认为人类学习是局部优化的过程,不存在全局最优的学习方法。
* **对“数学精通”的质疑:** 评论中也暗示了对“数学精通”这一概念的模糊性,以及通过单一课程或书单实现这一目标的可能性。
总而言之,这篇文章引发了关于数学学习方法和路径的广泛讨论,强调了实践、个性化和批判性思维在学习过程中的重要性。
- 原文: [Sheafification – The optimal path to mathematical mastery: The fast track (2022)](https://sheafification.com/the-fast-track/)
- Hacker News: [https://news.ycombinator.com/item?id=45080388](https://news.ycombinator.com/item?id=45080388)
- 作者: atomicnature
- 评分: 72
- 评论数: 30
- 发布时间: 2025-08-31 12:31:29
---
## 使用 Harbor 搭建本地 Docker 镜像仓库
本文介绍了 37signals 公司如何使用 Harbor 搭建本地 Docker 镜像仓库,以解决成本、性能、安全和独立性等方面的问题。他们通过配置 S3 存储、多实例部署和镜像复制等方式,构建了一个可靠、高效、安全的本地镜像仓库。
文章重点讲述了 37signals 公司在迁移到 Kamal 过程中遇到的问题,以及如何通过自建 Harbor 镜像仓库来解决这些问题。主要痛点包括:Dockerhub 的高昂费用和带宽限制、跨地域部署带来的性能瓶颈、潜在的安全风险以及对外部服务的依赖。为了解决这些问题,他们选择了 Harbor,因为它易于设置、功能丰富且开源。文章详细介绍了 Harbor 的部署配置,包括 S3 存储配置(强调了最小权限设置)、多实例部署(在 Ashburn 和 Chicago 部署了两个独立实例)以及使用 Terraform 进行配置管理。同时,他们还设置了双向镜像复制,确保数据同步,并使用 Pure FlashBlade 集群进行 S3 存储的复制备份,以增强容灾能力。此外,文章还提到了如何同步现有镜像,以便实现平滑过渡。总的来说,这篇文章为希望搭建本地 Docker 镜像仓库的开发者提供了一个实用的参考方案。
- 原文: [Running our Docker registry on-prem with Harbor](https://dev.37signals.com/running-our-docker-registry-on-prem-with-harbor/)
- Hacker News: [https://news.ycombinator.com/item?id=45038567](https://news.ycombinator.com/item?id=45038567)
- 作者: airblade
- 评分: 121
- 评论数: 52
- 发布时间: 2025-08-27 20:10:31
---
## GitHub - Sniffly:Claude 代码分析仪表盘
Sniffly 是一个 Claude 代码分析仪表盘,它能提供使用统计、错误分析以及可分享的功能。这个工具旨在帮助开发者更好地理解和优化他们的 Claude 代码。
Sniffly 提供的核心功能包括:使用情况统计,开发者可以清晰地了解代码被调用的频率和资源消耗情况;错误分析,帮助开发者快速定位和解决代码中的问题;可分享特性,方便团队成员之间共享分析结果和见解,促进协作。通过 Sniffly,开发者可以更有效地监控代码性能,及时发现潜在问题,并进行优化,从而提升整体开发效率和代码质量。该项目使用 MIT 许可证,可以在 GitHub 上找到。目前有 879 个 stars 和 69 个 forks。
- 原文: [Sniffly – Claude Code Analytics Dashboard](https://github.com/chiphuyen/sniffly)
- Hacker News: [https://news.ycombinator.com/item?id=45081711](https://news.ycombinator.com/item?id=45081711)
- 作者: rand_num_gen
- 评分: 23
- 评论数: 5
- 发布时间: 2025-08-31 17:13:13
---
## OpenTelemetry 中的 Traces 和 Spans:实战指南
本文深入探讨了 OpenTelemetry 中分布式追踪的核心概念:Traces 和 Spans,并提供了在 Node.js/TypeScript 中实现它们的实用模式。文章旨在帮助开发者理解 Traces 和 Spans 的结构、上下文传播、工作建模以及最佳实践。
文章首先介绍了 Traces 和 Spans 的基本概念。Trace 代表一个请求或事务在多个服务中的完整旅程,而 Span 则是该旅程中一个带时间戳的工作单元,例如函数调用、数据库查询或外部 API 调用。Root Span 是第一个 Span,通常是入站 HTTP 请求或队列消息触发器。Child Span 则是 Root Span 内部的更小步骤。Context 携带“当前 Trace + 活动 Span”的信息,以便新的 Span 正确附加。Sampler 决定是否保留或丢弃 Trace 以节省成本。Exporter 则将完成的 Span 发送到后端进行分析。
文章详细剖析了 Span 的结构,包括名称、开始/结束时间、Span ID、Trace ID、Parent Span ID、属性、事件、状态、链接和 Kind。Span 的 Name 应该简短且具有低基数,方便在 UI 中搜索。属性是键值对,用于过滤、分组和聚合数据。事件是 Span 内带时间戳的注释,用于标记重要事件。状态表示 Span 的结果,可以是 OK、ERROR 或 UNSET。链接则引用来自其他 Trace 的 Span,用于连接工作流。Span Kind 则表示操作在整体流程中的角色,例如 SERVER、CLIENT、INTERNAL、PRODUCER 和 CONSUMER。
文章还提供了一个可视化的心智模型,展示了 Trace 和 Span 的树状结构以及时间关系,帮助开发者直观地理解请求的执行路径和性能瓶颈。通过分析 Span 的时间信息,开发者可以快速定位延迟的根本原因。
此外,文章还讨论了 Span Kind 的选择,并提供了一个决策树,帮助开发者正确地标记 Span 的角色。正确使用 Span Kind 可以帮助后端更好地分析和呈现数据,例如区分服务器端延迟和客户端延迟。
总而言之,这篇文章为开发者提供了一个全面的 OpenTelemetry Traces 和 Spans 指南,涵盖了从基本概念到实战技巧的各个方面,有助于开发者构建可观测性更强的应用程序。
- 原文: [What Are Traces and Spans in OpenTelemetry?](https://oneuptime.com/blog/post/2025-08-27-traces-and-spans-in-opentelemetry/view)
- Hacker News: [https://news.ycombinator.com/item?id=45038570](https://news.ycombinator.com/item?id=45038570)
- 作者: ndhandala
- 评分: 75
- 评论数: 16
- 发布时间: 2025-08-27 20:10:57
---
## 感受的重要性:超越指标与规范
这篇文章探讨了在软件开发和产品设计中,超越单纯的指标和规范,真正“感受”产品的重要性。作者认为,仅仅完成任务清单、满足需求并不能保证产品的成功,更重要的是用户在使用产品时产生的感受。
作者强调,好的产品会让人感到愉悦、自然,并且愿意再次使用和推荐。这种“感觉”是无法通过冷冰冰的数字和规格来衡量的。开发者需要亲身体验自己的作品,设身处地地为用户着想,才能创造出真正优秀的产品。文章呼吁开发者们不要只停留在“完成任务”的层面,而要用心去感受、去体验,将情感融入到工作中。这种情感上的投入,能够带来意想不到的创新和突破。
评论区对“感受”的解读呈现出多样化的观点。
有人认为,生活中的一切都归结于感觉,即使是看似理性的决策,也往往受到情感因素的影响。还有人提出了“周末测试”的概念,即如果一个产品让你愿意在周末花时间摆弄,那它很可能是一个好产品。
另一方面,也有评论指出,在追求“感受”的同时,也要注意避免过度投入导致倦怠。还有人认为,在现实的职场环境中,并非所有人都能够追求这种理想状态,生存往往是第一位的。甚至有人觉得作者的观点过于理想化,与实际工作脱节。
总的来说,评论区对“感受”的重要性持有不同看法,有人深表赞同,认为这是做出优秀产品的关键;也有人持保留态度,认为在现实的压力下,生存才是更重要的考量。这种多角度的讨论,也让“感受”这个话题变得更加丰富和深刻。
- 原文: [You Have to Feel It](https://mitchellh.com/writing/feel-it)
- Hacker News: [https://news.ycombinator.com/item?id=45075048](https://news.ycombinator.com/item?id=45075048)
- 作者: tosh
- 评分: 321
- 评论数: 121
- 发布时间: 2025-08-30 22:38:33
---
## 凸多面体与鲁珀特性质
本文介绍了一篇数学领域的论文,该论文构造了一个不具备鲁珀特性质的凸多面体,从而推翻了 2017 年的一个猜想。同时,论文还发现了一个具备鲁珀特性质但不具备局部鲁珀特性质的多面体。
这篇题为 "A convex polyhedron without Rupert's property" 的论文由 Jakob Steininger 和 Sergey Yurkevich 撰写。论文主要探讨了三维凸体的鲁珀特性质,即一个凸体的副本是否可以通过该凸体内部的直线孔。作者通过构建一个多面体,证明了它不具备鲁珀特性质,从而反驳了一个在 2017 年提出的猜想。此外,他们还发现了一个多面体,它虽然具有鲁珀特性质,但不具备局部鲁珀特性质。该研究属于度量几何 (math.MG)、计算几何 (cs.CG) 和组合数学 (math.CO) 领域。论文中使用了数学分类 MSC classes: 51-08, 51-04。该论文于 2025 年 8 月 25 日提交,并在 arXiv 上发布。感兴趣的读者可以通过提供的 PDF 和 HTML 链接获取论文全文。这篇论文对于理解凸体的几何性质以及相关猜想具有重要的意义。
- 原文: [A convex polyhedron without Rupert's property](https://arxiv.org/abs/2508.18475)
- Hacker News: [https://news.ycombinator.com/item?id=45041978](https://news.ycombinator.com/item?id=45041978)
- 作者: robinhouston
- 评分: 16
- 评论数: 3
- 发布时间: 2025-08-28 00:43:43
---
## 眼科基础模型 EyeFM:临床辅助的随机对照试验
这篇文章主要探讨了名为EyeFM的眼科基础模型在临床辅助中的应用,并进行了一项随机对照试验来评估其有效性。EyeFM旨在通过AI技术提升眼科疾病的诊断和治疗水平。
文章详细介绍了EyeFM模型的开发过程、所使用的数据集以及算法的实现细节。该模型基于深度学习技术,能够处理和分析大量的眼科图像数据,从而辅助医生进行更准确、更高效的诊断。研究人员还公开了用于算法开发的最小数据集,方便其他科研人员进行研究和非商业用途。代码也开源在GitHub上。
这项随机对照试验旨在评估EyeFM在实际临床环境中的表现。试验结果表明,EyeFM在辅助诊断方面具有显著的优势,能够提高诊断的准确性和效率。此外,该模型还可以帮助医生更好地制定治疗方案,从而改善患者的预后。文章还讨论了EyeFM在眼科临床应用中的潜在价值和未来发展方向。
数据共享方面,研究团队表示,对于进一步的数据共享请求,将由相关机构的数据管理委员会和伦理委员会进行审查,以确保知识产权和保密义务得到遵守,并获得知情同意。符合数据传输协议条款的研究人员,在仅用于学术目的、保护数据机密性并限制患者识别可能性的前提下,可以获得去标识化的个人层面数据。
- 原文: [An eyecare foundation model for clinical assistance](https://www.nature.com/articles/s41591-025-03900-7)
- Hacker News: [https://news.ycombinator.com/item?id=45057513](https://news.ycombinator.com/item?id=45057513)
- 作者: jameslk
- 评分: 25
- 评论数: 8
- 发布时间: 2025-08-29 05:57:40
---
## 寿命延长研究遇瓶颈:百岁人生或难实现
威斯康星大学 La Follette 学院的最新研究表明,寿命延长的速度正在放缓,活到 100 岁可能并不像我们想象的那么容易。这项研究挑战了过去几十年人们对寿命持续增长的预期,并引发了关于公共卫生资源分配的讨论。
研究人员指出,尽管医疗技术不断进步,但人类寿命的增长似乎已经达到了一个瓶颈。这意味着,将更多资源投入到延长寿命上,可能不如将资源用于提高生活质量更有效。这项研究还强调了生活方式对寿命的影响,例如饮食、运动和环境因素等。许多可避免的死亡都与不良的生活习惯有关,例如肥胖、不健康的饮食、缺乏运动、以及烟酒等。
此外,研究还提到了气候变化、枪支暴力和交通事故等问题,这些都是可以通过政策干预来改善的。因此,研究人员建议,未来的公共卫生政策应该更加注重提高整体生活质量,而不仅仅是延长寿命。
评论区里,大家对这项研究的观点各不相同。
有人认为,基因在寿命中起着关键作用,自然进化并没有延长寿命的动力。他们提出,可以通过选择性育种或基因改造来延长寿命,但目前的技术可能还不够成熟。
另一些人则认为,与其追求无限延长寿命,不如关注如何提高老年人的生活质量。他们指出,许多人在晚年饱受疾病和身体机能衰退的困扰,即使活到 100 岁也可能并不幸福。
还有人从经济和社会角度出发,认为延长寿命会给社会带来巨大的负担,例如医疗费用和养老金支出等。他们建议,应该将更多的预算投入到生命延长技术的研究中,以减轻社会压力。
当然,也有人对“一切都可以被修复”的观点持怀疑态度,认为衰老是生物体的一种权衡,旨在预防早期癌症。他们认为,试图完全消除衰老可能会破坏其他重要的生理功能。
- 原文: [New research reveals longevity gains slowing, life expectancy of 100 unlikely](https://lafollette.wisc.edu/news/new-research-reveals-longevity-gains-slowing-life-expectancy-of-100-unlikely/)
- Hacker News: [https://news.ycombinator.com/item?id=45075813](https://news.ycombinator.com/item?id=45075813)
- 作者: XzetaU8
- 评分: 159
- 评论数: 366
- 发布时间: 2025-08-31 00:15:44
---
## Bcachefs 文件系统维护状态变更
本文讨论了 Linus Torvalds 将 Bcachefs 文件系统的维护状态更改为“外部维护”一事,这意味着该文件系统未来不太可能直接进入主线内核。但同时也暗示着,Bcachefs 不会被立即从主线内核中移除。
这一变动引发了关于 Bcachefs 未来发展方向的讨论。如果主线不再接受更新,但代码又未被移除,那么该如何维护?代码是否会逐渐失效,用户是否需要忽略内核代码而使用其他分支?一种观点认为,或许会有新的维护者出现,以便继续 Bcachefs 的开发。毕竟,由单人维护的子系统是不受欢迎的。
另一种观点认为,Bcachefs 与 ZFS 不同,不存在许可问题,也没有明显的技术问题,仅仅是 Linus 和一些开发者不愿与 Kent 合作。解决办法可能是指定其他人来提交补丁。这个人需要负责与内核社区的互动,包括发送邮件、回复代码审查、修改代码等。但这是一个非常吃力不讨好的工作,容易重蹈覆辙。理想情况下,Kent 应该不再关心内核的发布流程,以一种“内核是指定人的问题”的心态来对待。
如果内核在未经 Kent 明确批准或参与的情况下采用 Bcachefs 代码,那么内核上游实际上就成了 Bcachefs 的一个分支。作者不确定 Linus 是否愿意维护一个分支。
开发者 koverstreet 表达了对指定他人的担忧,害怕其他 Bcachefs 开发者因此而精疲力尽。他更倾向于由一位经验丰富的内核社区成员来承担这个角色,但似乎没有人愿意接受。Koverstreet 还非常关心发布流程,因为他需要支持自己的代码,并希望用户能够获得最稳定可靠的代码。
文章最后总结了三种可能的长期发展路径:接受无法控制内核树中的内容,但希望保留一个较新的 Bcachefs 版本;指定某人以 Linus 接受的速度提交补丁;或者接受 Bcachefs 最终会从内核中消失。
## 评论区观点分析
评论区主要围绕 Bcachefs 的未来发展方向展开了讨论。有人担心代码会逐渐失效,也有人希望找到新的维护者。开发者 koverstreet 的观点引人深思,他既担心指定他人会造成开发者过劳,又强调了稳定发布流程的重要性。评论中也提到了 Bcachefs 与 Debian 的集成问题,以及 Linus 对代码维护的严格要求。总体来看,评论区对 Bcachefs 的未来充满不确定性,但也希望能找到一个合理的解决方案,使其能够继续发展下去。
- 原文: [Bcachefs Goes to "Externally Maintained"](https://lwn.net/Articles/1035736/)
- Hacker News: [https://news.ycombinator.com/item?id=45074312](https://news.ycombinator.com/item?id=45074312)
- 作者: ksec
- 评分: 186
- 评论数: 266
- 发布时间: 2025-08-30 21:07:41
---
## Firefox 隐私强化:一份实用清单
本文提供了一份详细的 Firefox 隐私设置清单,旨在帮助用户通过调整设置和安装扩展程序,显著提升浏览器的隐私保护能力。文章涵盖了基本隐私设置、推荐扩展以及高级配置等方面,旨在让 Firefox 在隐私保护方面更进一步。
文章首先介绍了 Firefox 的基本隐私设置,包括更换默认搜索引擎为 DuckDuckGo 等注重隐私的选项,启用 HTTPS-Only 模式,禁用遥测数据收集,以及将增强跟踪保护设置为“严格”。接着,文章推荐了 uBlock Origin、ClearURLs 和 Privacy Badger 这三款扩展程序,它们分别用于广告和跟踪脚本拦截、URL 跟踪元素移除以及隐形跟踪器阻止。最后,文章深入探讨了 `about:config` 中的高级配置,例如通过设置 `privacy.firstparty.isolate` 为 `true` 来隔离 Cookie,以及调整 `privacy.resistFingerprinting` 来抵抗指纹识别。作者也坦诚提到,某些高级设置可能会导致网站显示问题,需要谨慎调整。
评论区对文章提出了不同的看法和补充。一些评论者认为,仅仅依靠这些设置无法有效降低浏览器指纹,并指出 Firefox 内部集成了更多的跟踪服务。他们建议使用主机防火墙进行更严格的控制,并分享了更详细的隐私配置指南链接。也有评论指出,即使启用了所有这些设置,仍然可能被指纹识别,Tor 浏览器是唯一能有效防止指纹识别的工具,但使用 Tor 可能会在支付网站上遇到问题。此外,还有评论建议禁用 `browser.ml.chat.enabled` 和 `browser.ml.enabled` 以节省处理器资源和延长电池续航。有人推荐使用 Orion 浏览器,它基于 Webkit,支持 Chrome 和 Firefox 扩展,并且注重隐私。另一些评论则对这种隐私设置的有效性表示怀疑,认为设置可能会被重置或更改,反而增加了被指纹识别的风险。还有评论建议将 Firefox 放入 jail 中运行,以进一步提高安全性。最后,有评论强调,首要任务应该是默认禁用 JavaScript,只对信任的网站启用。
- 原文: [Hardening Firefox – a checklist for improved browser privacy](https://andrewmarder.net/firefox/)
- Hacker News: [https://news.ycombinator.com/item?id=45073746](https://news.ycombinator.com/item?id=45073746)
- 作者: amarder
- 评分: 241
- 评论数: 125
- 发布时间: 2025-08-30 19:26:35
---
## AI 模型需要虚拟机
本文探讨了在 AI 应用中嵌入 AI 模型时,将控制软件层视为虚拟机的重要性,并提出标准化 AI 模型嵌入方式的建议。 这种方法旨在将模型开发与集成逻辑分离,从而实现更安全、可扩展和可移植的 AI 系统。
文章指出,早期的聊天机器人只是一个简单的读取-评估-打印循环,但随着 LLM 能力的演进和 MCP 等扩展机制的出现,调用 LLM 的控制软件的复杂性也在增加。AI 软件系统需要操作系统提供的安全、隔离、可扩展性和可移植性等特性。文章类比 Java 虚拟机(JVM),认为 AI 模型也需要一个类似的虚拟机(MVM),以保证内存安全、定义访问控制策略和防止代码注入。MVM 充当模型与外部世界之间的中介,负责添加上下文、调用工具和解析结果。文章还列举了 MVM 需要支持的操作,例如加载模型、调用模型、解析输出、调用工具、存储结果等。
文章还讨论了现有工作对 AI 虚拟机需求的启发,包括 OpenAI 的结构化工具调用协议、Anthropic 的模型上下文协议 (MCP) 以及 FIDES 和 AC4A 等安全编排器。OpenAI 的工具调用协议和 MCP 旨在简化集成并减少歧义,而 FIDES 和 AC4A 则侧重于在运行时强制执行信息流策略和访问控制。此外,文章还提到了 Langchain 和 Semantic Kernel 等开源代理运行时,它们提供了许多通用的运行时服务,使编写可靠的 AI 应用程序更加容易。
总而言之,文章认为,标准化 AI 模型嵌入方式并引入 AI 虚拟机的概念,可以提高 AI 系统的安全性、可扩展性和可移植性,并促进 AI 技术的更广泛应用。
- 原文: [AI models need a virtual machine](https://blog.sigplan.org/2025/08/29/ai-models-need-a-virtual-machine/)
- Hacker News: [https://news.ycombinator.com/item?id=45074467](https://news.ycombinator.com/item?id=45074467)
- 作者: azhenley
- 评分: 216
- 评论数: 109
- 发布时间: 2025-08-30 21:25:39
---
## 衡量去中心化程度:Fediverse 和 Atmosphere 用户数据集中度分析
本文介绍了一个名为 "Are We Decentralized Yet?" 的网站,该网站使用 Herfindahl-Hirschman 指数 (HHI) 和 Shannon 指数来衡量 Fediverse (如 Mastodon) 和 Atmosphere (如 Bluesky) 这两个社交网络的用户数据集中度。通过量化指标,试图评估这些平台在多大程度上实现了去中心化。
HHI 指数原本用于衡量行业内公司间的竞争程度,数值越低表示市场竞争越激烈,数值越高则表示垄断程度越高。而 Shannon 指数则是一个基于熵的指标,用于生态研究,数值越高表示分布越均匀。该网站将这些指标应用于社交网络,以评估用户数据在不同服务器或 PDS (Personal Data Server) 上的分布情况。例如,Bluesky 社交的 PDS 数据被聚合在一起,因为它们由同一实体控制。文章还提到,除了用户数据的位置,网络结构、身份管理、基础设施、法律管辖和社会权力分配等因素也是衡量去中心化的重要维度。项目代码和数据已在 GitHub 上开源,欢迎贡献其他衡量指标。
评论区讨论了 HHI 指数的含义和应用,有人分享了 Microsoft 在 Macintosh 电子表格市场占有率超过 100% 的极端案例,解释了 HHI 指数可能超过 10000 的情况。也有人认为 Mastodon 在避免中心化方面做得更好,并推测 AT-Proto 服务器的运行成本可能较高,不利于小型参与者。此外,评论中还提到了 Git、BitTorrent 和 Bitcoin 等其他去中心化尝试,以及它们面临的中心化挑战。有评论者建议大学联合开发开源搜索引擎,以实现内容去中心化。另有评论指出,虽然 Fediverse 在去中心化方面有所进步,但仍存在一致性问题。还有评论探讨了去中心化网络面临的垃圾信息和 DDoS 攻击等问题,以及如何通过经济激励来解决这些问题。最后,有评论建议将 Nostr 添加到评估范围,并讨论了如何衡量旧式联邦环境的去中心化程度。
- 原文: [Are we decentralized yet?](https://arewedecentralizedyet.online/)
- Hacker News: [https://news.ycombinator.com/item?id=45077291](https://news.ycombinator.com/item?id=45077291)
- 作者: Bogdanp
- 评分: 444
- 评论数: 226
- 发布时间: 2025-08-31 03:26:29
---
🫵 来啊,说点有用的废话!
▲