 
                        
                        8小时前
                        |
                        
                        |
                        
                        |
                        
                        
                     
                    
                        
                        
                            ## 今天 Hacker News 社区聊了啥? NO.20251031
今天的新闻有点意思!OpenAI的资金运作模式被扒,原来是这么烧钱搞AI的?Warp Terminal推出新定价,AI credits可以滚动累计了!还有GitHub放大招,不可变版本正式上线,代码安全更有保障。设计师们看过来,Affinity Studio现在免费啦,Canva出品,专业设计工具随便用!另外,耳朵的工作原理颠覆认知,不是傅里叶变换而是小波变换?!更多精彩内容等你来探索,别错过!

---
## Warp Terminal 推出新的定价模式:Build 计划
Warp Terminal 宣布对其付费计划进行重大调整,引入名为 "Build" 的全新定价模式,旨在提供更灵活和透明的 AI 使用方式。
这次调整的核心是推出 "Build" 计划,每月 20 美元起,包含 1500 个 AI credits,并支持自带 API 密钥 (BYOK)。同时,Warp Pro、Turbo 和 Lightspeed 计划将被逐步淘汰。Business 计划也将更新,与 Build 计划保持一致,每月 50 美元,包含 SSO 和 ZDR 控制。为了解决用户未使用完所有 credits 的问题,新计划允许 credits 滚动累计,并且降低了按需购买 AI credits 的价格,降幅约为 50%,有效期延长至 12 个月。
BYOK 功能是此次更新的亮点之一,允许用户使用自己已有的 OpenAI、Anthropic 或 Google API 密钥,在 Warp 中直接使用这些模型。Warp 将使用用户的 API 密钥运行其高质量的代理工具,用户直接向模型提供商支付 AI 使用费用。值得注意的是,即使使用 BYOK,Warp 的代理工具仍然运行在 Warp 的服务器上,因此免费计划暂不支持 BYOK。
Reload credits 取代了之前的 "pay-as-you-go" 超额使用模式。用户可以按需购买 credits,也可以设置自动充值,并设定每月消费上限。Reload credits 分为 10 美元、20 美元、50 美元和 100 美元四个档次,购买越多,单价越低。Reload credits 同样可以滚动累计,有效期为 12 个月。
对于 Business 计划,更新后的价格为每用户每月 50 美元,包含每用户 1500 个 AI credits(不滚动累计),以及团队共享的 Reload credits。此外,Business 计划还提供 SSO、ZDR、以及最多 50 人的团队规模限制。
对于新用户,新定价立即生效。对于现有用户,Pro、Turbo、Lightspeed 和 Business 计划的更改将在 2025 年 12 月 1 日之后的首次续订时生效。用户也可以随时切换到 Build 计划。
- 原文: [Warp Terminal changes pricing model](https://www.warp.dev/blog/warp-new-pricing-flexibility-byok)
- Hacker News: [https://news.ycombinator.com/item?id=45772558](https://news.ycombinator.com/item?id=45772558)
- 作者: leglock
- 评分: 10
- 评论数: 3
- 发布时间: 2025-10-31 22:47:41
---
## OpenAI 的资金运作模式:复杂交易推动增长?
这篇文章探讨了 OpenAI 如何通过复杂的循环交易来筹集资金,以支持其在人工智能领域的快速发展。这些交易涉及与芯片制造商、云计算公司等之间的合作,形成了一种独特的资金流动模式。
OpenAI 通过从微软等科技巨头处获得投资,然后将这些资金用于购买这些公司的云计算服务和其他资源。例如,微软向 OpenAI 投资超过 130 亿美元,而 OpenAI 又将大部分资金用于购买微软的 Azure 云计算服务。此外,OpenAI 还与其他公司签订了云计算合同,例如与 CoreWeave 达成了超过 220 亿美元的协议,并获得了 CoreWeave 的股份。为了获得更多投资,OpenAI 还与软银等公司合作,共同建设数据中心。软银正在筹集 1000 亿美元,以帮助 OpenAI 在德克萨斯州和俄亥俄州建设数据中心。甲骨文也同意花费 3000 亿美元为 OpenAI 建设新的数据中心。
尽管 OpenAI 的收入不断增长,但该公司仍然面临亏损。如果 OpenAI 能够利用其新的数据中心来显著改进人工智能技术并扩大收入,那么它就有可能成为一家成功的企业。然而,如果技术进步停滞不前,OpenAI 及其合作伙伴可能会面临巨额亏损。文章指出,一些公司正在对冲风险,例如英伟达和 AMD 有权减少对 OpenAI 的投资,如果人工智能市场没有按预期增长。
评论区的观点呈现多样化。有人认为 OpenAI 的资金运作模式与互联网泡沫时期的做法类似,即通过循环交易来虚增收入。也有人质疑文章的深度,认为其只是对近期新闻的简单总结,缺乏对金融层面的深入分析。还有人将 Sam Altman 与 Sam Bankman-Fried 相提并论,暗示 OpenAI 可能面临类似的风险。另一些人则认为,考虑到人工智能的国家安全重要性,美国政府可能会在危机时刻出手救援相关公司,但更可能支持英伟达而非 OpenAI。还有评论指出,文章描述的交易并非异常,只是 OpenAI 使用股权而非现金来购买云计算服务。
- 原文: [OpenAI Uses Complex and Circular Deals to Fuel Its Multibillion-Dollar Rise](https://www.nytimes.com/interactive/2025/10/31/technology/openai-fundraising-deals.html)
- Hacker News: [https://news.ycombinator.com/item?id=45771538](https://news.ycombinator.com/item?id=45771538)
- 作者: reaperducer
- 评分: 160
- 评论数: 110
- 发布时间: 2025-10-31 21:03:46
---
## Nix Derivation 的怪异之处:深入理解 Nix 包管理系统的复杂性
本文深入探讨了 Nix 包管理系统中一个令人困惑的现象:即使 derivation 的内容发生变化,其输出路径也可能保持不变。作者通过实际例子,揭示了 fixed-output derivations (FOD) 在 Nix 构建过程中的特殊行为,以及由此可能导致的一些意想不到的结果。
文章首先展示了一个奇怪的现象:作者尝试获取 Ruby 解释器的构建图时,发现本地安装的 Ruby 对应的 derivation 文件居然不存在。更奇怪的是,NixOS 缓存中也没有这个 derivation 文件。通过查询 Nix 数据库,作者确认该 derivation 确实应该存在,并且缓存也表明它产生了当前的 Ruby 输出。然而,使用 `nix derivation show` 命令后,作者发现了一个完全不同的 derivation,它也产生了相同的 Ruby 输出。
为了解释这个现象,作者回顾了之前关于 modulo fixed-output derivations 的文章,并从头开始构建了一个简单的 FOD 示例。FOD 的一个关键特性是,只要输出的内容不变,即使 derivation 的其他部分发生变化,其输出路径也不会改变。作者创建了一个使用 FOD 的 derivation,并修改了 FOD 的内容(添加了一个名为 "garbage" 的属性)。结果表明,虽然 FOD 和使用它的 derivation 的 derivation 路径都发生了变化,但它们的输出路径仍然保持不变。
这意味着,在 Nixpkgs 中,对 FOD 的修改可能会导致其 derivation 路径发生变化,但依赖它的 derivation 可能会保持相同的输出路径。如果该输出路径已经存储在 NixOS 缓存中,那么新的 derivation 和该输出路径之间的链接就会丢失。作者还展示了一个更奇怪的例子,其中一个 derivation 依赖于两个不同的 FOD,但由于它们产生相同的输出,因此可以删除其中一个依赖项。
总而言之,这篇文章揭示了 Nix 包管理系统中 FOD 的一些令人惊讶的行为,强调了理解这些行为对于有效地使用 Nix 是至关重要的。
由于没有评论内容,这里就不做评论分析了。
- 原文: [Nix Derivation Madness](https://fzakaria.com/2025/10/29/nix-derivation-madness)
- Hacker News: [https://news.ycombinator.com/item?id=45772347](https://news.ycombinator.com/item?id=45772347)
- 作者: birdculture
- 评分: 8
- 评论数: 0
- 发布时间: 2025-10-31 22:28:35
---
## 香菇菌丝体:可持续高频生物电子忆阻器
本文探讨了利用香菇菌丝体开发可持续忆阻器的可能性,为神经形态计算提供了一种环保且可扩展的平台。研究表明,香菇菌丝体可以作为一种稳健且可持续的替代品,其自适应电信号类似于神经元放电,可用于构建生物电子器件。
研究人员通过与电极连接的菌丝网络展示了真菌计算,结果表明,真菌忆阻器可以生长、训练并通过脱水保存,在高达 5.85 kHz 的频率下保持功能,准确率达到 90 ± 1%。更值得注意的是,香菇还表现出抗辐射性,这表明它在航空航天领域具有可行性。
神经形态计算模仿大脑结构,在并行处理、存储和能效方面具有优势。然而,传统的半导体神经形态芯片依赖稀土材料和昂贵的制造工艺,而神经类器官需要复杂的生物反应器维护。香菇作为一种食用菌,具有易于获取、成本低廉和环境友好的特点,为解决这些问题提供了一条新的途径。
忆阻器作为一种具有记忆功能的电阻器件,在神经形态计算中扮演着重要的角色。通过模拟神经突触的行为,忆阻器可以实现高效的并行计算和低功耗运行。研究人员通过对香菇菌丝体施加电压循环,观察到了稳定的忆阻开关行为,并验证了其保持性和耐久性。
该研究不仅展示了香菇基忆阻器的可行性,也突出了其在可扩展、低成本和环境友好的神经形态组件方面的潜力。真菌计算机可以为神经形态任务提供可扩展的、环保的平台,从而连接生物电子学和非常规计算。
由于没有评论内容,因此跳过评论相关的输出。
- 原文: [Sustainable memristors from shiitake mycelium for high-frequency bioelectronics](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0328965)
- Hacker News: [https://news.ycombinator.com/item?id=45771796](https://news.ycombinator.com/item?id=45771796)
- 作者: PaulHoule
- 评分: 15
- 评论数: 3
- 发布时间: 2025-10-31 21:32:08
---
## AMD 将推出基于 ARM 架构的 Sound Wave APU,采用台积电 3nm 工艺
AMD 计划推出首款基于 ARM 架构的 APU,代号为 "Sound Wave",这款芯片将采用台积电的 3nm 工艺制造,目标功耗在 5W 到 10W 之间,直接与高通的骁龙 X Elite 竞争。这款 APU 的出现,预示着 AMD 正在积极扩展其处理器产品线,并可能在移动计算领域与 ARM 架构展开更直接的竞争。
“Sound Wave” APU 采用了 2+4 的混合核心设计,即两个性能核心和四个效率核心,并配备了 4MB 的 L3 缓存和 16MB 的 MALL 缓存。在图形方面,集成了四个 RDNA 3.5 计算单元,支持轻量级游戏和机器学习加速。这款 APU 还支持 128-bit LPDDR5X-9600 内存控制器,并可能集成 16GB 的板载内存,以满足现代 ARM SoC 对统一内存的需求。此外,它还搭载了 AMD 第四代 AI 引擎,可以加速设备上的推理任务,例如语音识别、图像分析和实时翻译。
这款 APU 预计将于 2025 年底投产,并在 2026 年出现在商用设备中,例如微软的 Surface 产品线。虽然 AMD 过去曾尝试过 ARM 架构,但这次的 "Sound Wave" 项目代表了一种更成熟和更具战略意义的尝试,旨在利用自身在图形和 AI 领域的优势,在 ARM 架构日益普及的背景下,实现产品组合的多样化。
- 原文: [AMD Could Enter ARM Market with Sound Wave APU Built on TSMC 3nm Process](https://www.guru3d.com/story/amd-enters-arm-market-with-sound-wave-apu-built-on-tsmc-3nm-process/)
- Hacker News: [https://news.ycombinator.com/item?id=45767916](https://news.ycombinator.com/item?id=45767916)
- 作者: walterbell
- 评分: 220
- 评论数: 152
- 发布时间: 2025-10-31 11:07:48
---
## Nim 2.2.6 版本发布:Bug 修复与性能提升
Nim 编程语言发布了 2.2.6 版本,这是 2.2 稳定版的第三个补丁版本,带来了诸多 bug 修复和性能改进。该版本距离 2.2.4 版本发布已有六个月,包含了 141 个 commits。
Nim 2.2.6 的亮点包括:对异常处理和 async 的结合进行了改进,使其更加稳定;编译器现在可以为 `return obj.field` 生成移动操作,避免了不必要的复制,从而提高了代码运行速度。此外,还修复了大量 bug,涉及 JS 后端、词法作用域、pragma 块、cstring 比较、垃圾回收、全局变量初始化、编译器崩溃等多个方面。
要安装 Nim 2.2.6,可以使用操作系统的包管理器,或者按照官方文档的说明进行安装。如果已经安装了 `choosenim`,则可以使用 `choosenim update self` 和 `choosenim update stable` 命令来更新到最新版本。建议同时更新 `choosenim` 到最新版本 v0.8.16。
该版本修复的 Bug 列表很长,涵盖了编译错误、运行时崩溃、内存泄漏、代码生成错误等多个方面。这些修复提高了 Nim 语言的稳定性和可靠性,让开发者可以更加放心地使用 Nim 进行开发。总的来说,Nim 2.2.6 是一个值得升级的版本,它修复了大量 bug,并带来了一些性能改进,可以提高开发效率和代码质量。
- 原文: [Nim 2.2.6](https://nim-lang.org//blog/2025/10/31/nim-226.html)
- Hacker News: [https://news.ycombinator.com/item?id=45772224](https://news.ycombinator.com/item?id=45772224)
- 作者: xz18r
- 评分: 33
- 评论数: 4
- 发布时间: 2025-10-31 22:15:12
---
## 软件安装位置选择的讨论
这篇文章讨论了软件安装过程中,用户是否应该被询问安装位置的问题,以及不同操作系统下的安装习惯和权限问题。文章引发了关于安装程序默认行为、用户权限管理以及跨平台安装体验的思考。
文章提到了在 Windows 系统中,安装程序常常默认安装到 `C:\Program Files` 目录,这需要管理员权限才能修改。在公司环境中,如果用户没有管理员权限,这会带来不便。有人提到使用 WSL (Windows Subsystem for Linux) 的一个原因是,至少在 WSL 中用户拥有 "root" 权限,可以避免权限问题。
Linux 用户则提到可以使用 Firejail,Windows 用户可以使用 Sandboxie,将程序安装到沙盒环境中,避免程序随意修改文件系统。这样可以更好地控制程序的行为,并保持系统的整洁。
在 Mac 系统中,应用程序通常默认安装到 `/Applications` 目录,用户很少需要更改安装位置。文章作者想了解 Windows 和 Linux 系统下,用户选择不同安装位置的原因。
评论区主要围绕以下几个观点展开:
*   **用户权限问题:** Windows 系统中,默认安装位置需要管理员权限,给没有权限的用户带来不便。
*   **安装位置的灵活性:** 有些用户希望能够自定义安装位置,以便更好地管理文件系统。
*   **沙盒环境:** 使用沙盒工具可以隔离程序的安装,避免程序对系统造成影响。
*   **不同操作系统的安装习惯:** 不同操作系统有不同的安装习惯,例如 Mac 系统通常将应用程序安装到 `/Applications` 目录。
总的来说,评论反映了用户对于软件安装位置选择的不同需求和偏好,以及不同操作系统在安装管理方面的差异。同时也体现了用户对于权限管理和系统安全性的关注。
- 原文: [Can we talk about the rude installers not asking for installation locations?](https://news.ycombinator.com/item?id=45772236)
- Hacker News: [https://news.ycombinator.com/item?id=45772236](https://news.ycombinator.com/item?id=45772236)
- 作者: breezk0
- 评分: 17
- 评论数: 10
- 发布时间: 2025-10-31 22:16:17
---
## John Carmack 谈论可变变量:单次赋值的重要性
John Carmack 在 X 上发文表示,在 Python 中他变得懒于使用“单次赋值”,并需要提醒自己注意这一点。他建议,除了循环中的迭代计算外,应尽量避免重新赋值或更新变量。
Carmack 认为,保留所有中间计算结果有助于调试,并避免因移动代码块而导致变量使用错误版本的问题。他提倡在 C/C++ 中,尽可能将所有变量在初始化时声明为 `const`,并希望 `const` 成为默认设置,而 `mutable` 成为一个关键字。这能显著提高代码的可读性和可维护性,减少潜在的 bug。在函数式编程中,不可变性是核心原则,它避免了副作用,使得代码更容易理解和测试。即使在非函数式语言中,尽可能地使用不可变变量也是一种良好的编程实践。
评论区里,大家对 Carmack 的观点表示赞同,许多开发者也分享了他们在实际编程中应用不可变性的经验。有人提到 Rust 语言就默认使用不可变变量,并称赞这种设计。也有人认为,在大型项目中,默认使用不可变性可以显著提高代码质量。还有人分享了在 Python 中避免变量重赋值的技巧,例如使用管道操作符来链式处理数据。
一些开发者指出,虽然完全避免变量重赋值很难,但可以通过一些技巧来减少这种情况,例如使用 shadowing 变量。此外,还有人希望 IDE 能够提供更直观的提示,例如在变量被修改时显示一个小的图标,以便开发者更容易识别可变变量。总的来说,评论区普遍认同 Carmack 的观点,并认为在编程中应该尽可能地使用不可变变量。
- 原文: [John Carmack on mutable variables](https://twitter.com/id_aa_carmack/status/1983593511703474196)
- Hacker News: [https://news.ycombinator.com/item?id=45767725](https://news.ycombinator.com/item?id=45767725)
- 作者: azhenley
- 评分: 277
- 评论数: 325
- 发布时间: 2025-10-31 10:34:36
---
## Affinity Studio 免费啦!Canva 出品,专业设计工具免费用
Affinity Studio 现在由 Canva 提供,并且完全免费!这款一体化的创意应用,集设计、图像编辑和排版功能于一身,无需离开文档或付费,就能满足你的所有需求。
Affinity 提供了全套专业工具,包括矢量、像素和排版工具,在一个应用中就能完成所有工作。你可以自定义工作室,混合搭配喜欢的工具,打造专属的创意空间。同时,它还支持无损编辑,让你尽情尝试,保留原始文件。另外,Affinity 还提供像素级精准导出,可以完全控制作品的导出方式。
如果你是 Canva Premium 用户,还能在 Affinity 中直接解锁 Canva AI 工具,获得更强大的工作流程。Affinity 兼容多种文件格式,如 PSD、AI、PDF、SVG、IDML 等,并能保持高保真度。它还支持一键导出到 Canva,方便快捷。
Affinity 提供了强大的照片编辑功能,包括实时滤镜和调整、完整的 RAW 编辑、色调映射和镜头校正。它还具备高级修饰功能,如修复画笔、修复工具、加深和减淡等。此外,Affinity 还支持批量处理、HDR 合并、全景拼接等功能。
在矢量设计方面,Affinity 提供了精准的绘图工具,包括钢笔、节点和铅笔工具。它还支持实时形状编辑、布尔运算和形状生成器。Affinity 还提供了灵活的渐变控制、像素图像追踪以及像素级精准的矢量工具。
在排版方面,Affinity 提供了链接文本框、智能母版页、专业的排版功能,如连字、风格集、首字下沉和可变字体。它还支持印刷就绪的输出格式,如 CMYK、专色、预检、出血和裁剪标记。此外,Affinity 还支持从 .csv 文件进行数据合并,以及图像合并和条件逻辑。
Canva AI Studio 提供了生成式填充、扩展和编辑功能,可以生成图像和矢量图,移除背景和主体选择,进行着色、深度选择和超分辨率处理,以及人像模糊和人像光照等功能。
关于 Affinity 的常见问题包括:Affinity 确实是免费的,但功能并没有缩水;Affinity 现在由 Canva 提供,可以使用 Canva 帐户访问;无需 Canva 订阅即可免费使用 Affinity 的矢量、排版和像素工具;Affinity 是一款全新的产品,提供了高级的照片编辑、图形设计和页面排版工具;Canva Premium 用户可以在 Affinity 中解锁 Canva AI 功能;Affinity 目前可在 Windows 和 macOS 上使用,iPadOS 版本即将推出;Affinity 针对最新的硬件进行了优化,包括 Apple 芯片;Affinity 可以打开 Affinity V2 或 V1 应用程序中创建的所有文件;Affinity 可以在任意数量的设备上安装;Affinity 支持导入 PSD、AI、IDML、DWG 等文件类型。
评论区有用户提到 Serif 是最初开发 Affinity 的公司,从 2014 年到 2024 年期间,Serif 开发了 Affinity 套件。
- 原文: [Affinity Studio now free](https://www.affinity.studio/get-affinity)
- Hacker News: [https://news.ycombinator.com/item?id=45761445](https://news.ycombinator.com/item?id=45761445)
- 作者: dagmx
- 评分: 1121
- 评论数: 726
- 发布时间: 2025-10-30 23:54:38
---
## psutil 7.1.2 发布:支持 Free-Threaded Python 的 Wheels
psutil 7.1.2 版本正式发布,该版本最大的亮点是提供了对 Free-Threaded Python 的 wheels 支持,这要归功于社区的共同努力,特别是 Lysandros Nikolaou 在代码重构方面做出的贡献。
Free-Threaded Python 是指在编译 Python 时禁用了 GIL(全局解释器锁),从而允许多个线程并行执行 Python 字节码。 这种特性对于 CPU 密集型应用尤其有利,因为它能更好地利用多核处理器。自 Python 3.13 之后,Free-Threaded Python 已经可用。
目前,支持 Free-Threaded Python 的 wheels 普及率还比较低。在 PyPI 上下载量最高的 360 个包含 C 扩展的软件包中,只有 128 个提供了为 Free-Threaded Python 编译的 wheels。这意味着,虽然取得了一些进展,但大多数流行的 C 扩展包仍然没有为 Free-Threaded Python 提供现成的 wheels。
对于用户来说,wheels 的意义在于可以直接安装预编译的二进制包,而无需从源代码构建。这对于像 psutil 这样主要用 C 编写的软件包来说尤其重要,因为它们通常具有复杂的构建要求,并且需要安装 C 编译器。提供 wheels 可以省去用户安装 C 编译器(例如 Visual Studio)的麻烦,简化安装过程。
对于库的作者来说,目前 Free-Threaded Python 的通用 wheels 并不存在。每个 wheel 必须专门为特定的 Python 版本构建。 这意味着作者必须为 Python 3.13 和 3.14 创建单独的 wheels,导致需要分发大量文件,同时也增加了 CI 作业的数量,减慢了测试速度。
未来的 Python 3.15 有望简化这一过程。目前有两个竞争提案 PEP 803 和 PEP 809,旨在标准化 wheel 的命名和元数据,从而允许生成一个支持多个 Python 版本的 wheel。这将大大降低库作者的分发复杂性,并且对于 Free-Threaded CPython 的成功至关重要。
现在,你可以通过 pip 直接安装用于 Free-Threaded Python 的 psutil:`pip install psutil --only-binary=:all:`,确保获得预编译的 wheels,而不会触发源代码构建。
- 原文: [Wheels for free-threaded Python now available for psutil](https://gmpy.dev/blog/2025/wheels-for-free-threaded-python-now-available-in-psutil)
- Hacker News: [https://news.ycombinator.com/item?id=45703860](https://news.ycombinator.com/item?id=45703860)
- 作者: grodola
- 评分: 18
- 评论数: 0
- 发布时间: 2025-10-25 21:46:35
---
## GitHub 发布正式支持不可变版本
GitHub 现在正式支持不可变版本发布,为软件供应链安全增加了一层保障。发布后,不可变版本可以保护资产和标签免受篡改,确保软件的安全性和可信度。
不可变版本主要有三个特点:一是**不可变资产**,一旦发布为不可变版本,其资产就无法添加、修改或删除,从而保护分发的工件免受供应链攻击。二是**标签保护**,新的不可变版本的标签会受到保护,无法删除或移动。三是**发布证明**,不可变版本会收到签名证明,方便用户在 GitHub 内外验证资产的真实性和完整性。
你可以在仓库或组织级别的设置中启用不可变版本。启用后,所有新的版本都将是不可变的(即资产被锁定,标签受到保护)。现有的版本仍然是可变的,除非你重新发布它们。禁用不可变性不会影响启用时创建的版本,它们仍然是不可变的。
GitHub 使用 Sigstore 捆绑格式进行发布证明,方便用户使用 GitHub CLI 验证版本和资产,或者与任何 Sigstore 兼容的工具集成,以自动化 CI/CD 管道中的策略执行。
关于评论区,有人表示惊讶之前 GitHub 的版本竟然不是不可变的,认为这是一个令人不快的意外。 另一些人则对 GitHub 将精力放在这类功能上感到不满,他们认为 GitHub 应该优先解决 PR 审查等核心功能体验不佳的问题。他们甚至愿意牺牲 Actions、项目看板、Copilot 等功能,换取更快速的代码浏览、问题和 Pull Request 体验。
- 原文: [Immutable releases are now generally available on GitHub](https://github.blog/changelog/2025-10-28-immutable-releases-are-now-generally-available/)
- Hacker News: [https://news.ycombinator.com/item?id=45772064](https://news.ycombinator.com/item?id=45772064)
- 作者: fastest963
- 评分: 31
- 评论数: 4
- 发布时间: 2025-10-31 21:59:25
---
## 电子护照背后的密码学原理
本文深入探讨了电子护照的工作原理,包括其威胁模型以及如何使用密码学来防范这些威胁,还讨论了电子护照在新应用中的意义,例如零知识身份证明。
电子护照是一种嵌入式设备,包含一个完整的文件系统、访问控制和对多种密码协议的支持。它使用密码学来防止未经授权的读取、窃听、伪造和复制。电子护照符合国际民用航空组织 (ICAO) 的标准,其中包含一个非接触式集成电路 (IC),用于存储数字信息。该芯片包含一个文件系统,具有一些访问控制,以保护未经授权的数据读取。文件系统架构包含三种文件类型:主文件 (MF),作为根目录;专用文件 (DF),用作子目录或应用程序;以及基本文件 (EF),包含实际的二进制数据。eMRTD 应用包含通用文件(包含通用或安全相关数据)和数据组 (DG),后者主要包含个人信息和一些额外的安全数据。所有电子护照必须包含 DG1 和 DG2,其余为可选。DG1 包含大部分书面数据,DG2 包含照片。护照页面底部的机读区 (MRZ) 包含 DG1 数据的另一个副本,带有校验位。
电子护照的威胁模型根据物理访问权限对攻击者进行分类:持有护照的人和未持有护照的人。即使持有护照,也不应能够伪造包含虚假数据的新护照,制作护照的数字副本,或读取指纹 (DG3) 或虹膜 (DG4) 信息。电子护照使用短程 RFID 进行通信,通信距离为 10-15 厘米,但窃听可能在几米的距离内进行。由于电子护照是嵌入式设备,因此需要能够承受攻击者可以物理访问设备的攻击,例如精密的侧信道和故障注入攻击。
最早的电子护照缺乏大多数密码机制。虽然电子护照的有效期很长(通常为 5-10 年),这意味着传统系统会继续与现代解决方案一起运行。并非所有检查系统/终端都支持所有协议,这意味着护照可能需要支持多种协议。传统的电子护照保护机制比它们所取代的机制(无)提供了更好的安全性,即使它们在机密性和(在较小程度上)复制方面存在关键缺陷。
- 原文: [The cryptography behind electronic passports](https://blog.trailofbits.com/2025/10/31/the-cryptography-behind-electronic-passports/)
- Hacker News: [https://news.ycombinator.com/item?id=45770875](https://news.ycombinator.com/item?id=45770875)
- 作者: tatersolid
- 评分: 22
- 评论数: 3
- 发布时间: 2025-10-31 19:33:41
---
## Git 分支命名利器:gibr
`gibr` 是一个 Git 命令行工具,旨在帮助开发者更智能地创建分支名称。它可以根据当前工作内容,自动生成具有描述性的分支名,提高团队协作效率。
这个工具的主要功能在于简化了分支命名流程。开发者不再需要手动思考如何命名分支,`gibr` 可以根据当前目录、文件修改等信息,自动生成建议的分支名称。这不仅节省了时间,还能确保分支名称的一致性和可读性。通过使用 `gibr`,可以减少因分支命名混乱而导致的问题,提升代码管理效率。它通过分析上下文来建议分支名称,例如基于当前目录或修改的文件。这有助于保持代码库的整洁,并使团队成员更容易理解每个分支的目的。该项目使用 MIT 许可证,表明其开源和可自由使用。目前有 17 个 star 和 1 个 fork,说明有一定的用户关注度。
- 原文: [Git CLI tool for intelligently creating branch names](https://github.com/ytreister/gibr)
- Hacker News: [https://news.ycombinator.com/item?id=45771843](https://news.ycombinator.com/item?id=45771843)
- 作者: Terretta
- 评分: 10
- 评论数: 5
- 发布时间: 2025-10-31 21:37:10
---
## 使用 MiniZinc 进行轮班排班
本文介绍了如何使用 MiniZinc 解决轮班排班 (Rotating Workforce Scheduling, RWS) 问题,这是一种常见的优化问题,旨在为员工创建公平且满足业务需求的轮班表。
文章首先解释了轮班排班的定义,即为 n 个员工创建 n 个不同的每周班表,每个员工轮流遵循一个班表,每周轮换到下一个班表,确保每个人最终都能体验到每种班表模式。文章将问题简化为包含日班 (D)、晚班 (E)、夜班 (N) 和休息日 (·) 四种类型。
然后,文章逐步构建了一个基本的 MiniZinc 模型,首先定义了数据结构,包括 `Days` (星期几)、`ShiftsAndOff` (班次类型) 以及 `requirements` (每天每种班次的需求人数)。接着,定义了核心变量 `schedule`,它是一个二维数组,表示每个员工每天的班次类型。为了方便处理跨周的约束,文章还创建了一个 `repeated_schedule` 数组,将第一个员工的班表重复添加到末尾。
模型的核心约束是使用 `global_cardinality` 确保每天每种班次的员工人数满足需求。最后,文章展示了如何求解该模型并打印结果。总而言之,文章提供了一个使用 MiniZinc 解决轮班排班问题的清晰示例,并为后续添加更复杂的约束奠定了基础。
由于没有评论内容,因此无法进行评论分析。
- 原文: [Rotating Workforce Scheduling in MiniZinc](https://zayenz.se/blog/post/rotating-workforce-scheduling/)
- Hacker News: [https://news.ycombinator.com/item?id=45772153](https://news.ycombinator.com/item?id=45772153)
- 作者: mzl
- 评分: 3
- 评论数: 0
- 发布时间: 2025-10-31 22:09:04
---
## 使用 Result Monad 简化代码逻辑
本文探讨了如何使用 Result Monad 来优雅地处理异常和空值,从而简化代码逻辑,提高代码的可读性和可维护性。尤其是在 API 和 Web 应用开发中,Result Monad 可以帮助开发者摆脱大量的 `try-catch` 和 `if-else` 语句,使代码更加简洁和易于理解。
文章首先指出,尽管 AI 在代码生成方面取得了进展,但代码组织仍然是关键。作者分享了自己的一些代码组织原则,包括使用类/模块/命名空间对函数进行分组,区分数据类和逻辑类,以及将接口代码与服务代码分离。接口层代码负责处理外部交互,如 REST API 控制器、数据库访问、HTTP 客户端等,而服务层代码则提供基于接口代码的业务逻辑。
文章的核心是介绍 Result Monad 的使用。作者通过一个用户注册和登录的例子,展示了如何使用 Result Monad 来处理可能出现的异常和空值。在传统的命令式编程风格中,需要大量的 `try-catch` 和 `if-else` 语句来处理这些情况,使得代码冗长且难以维护。而使用 Result Monad,可以将这些处理逻辑封装在 `flatMap` 操作中,使得代码更加简洁和易于理解。虽然初看之下,使用 Result Monad 的代码可能显得更加繁琐,但它实际上提高了代码的安全性、一致性和可读性。通过链式调用,开发者可以清晰地表达业务逻辑,而无需担心空值和异常的处理。
总而言之,文章强调了 Result Monad 在处理异常和空值方面的优势,并鼓励开发者尝试使用这种函数式编程技巧来提高代码质量。虽然学习曲线可能比较陡峭,但一旦掌握,就能显著提高代码的可读性和可维护性。
- 原文: [Result is all I need](https://rockyj-blogs.web.app/2025/10/25/result-monad.html)
- Hacker News: [https://news.ycombinator.com/item?id=45703063](https://news.ycombinator.com/item?id=45703063)
- 作者: rockyj
- 评分: 84
- 评论数: 54
- 发布时间: 2025-10-25 19:40:58
---
## Bertie the Brain:早期电子游戏的先驱
这篇文章介绍了 "Bertie the Brain",一个在电子游戏早期历史中开发的开创性游戏。它是 1950 年由 Josef Kates 为加拿大多伦多国家展览会设计制造的巨型电脑,让参观者可以与人工智能对战井字棋。
Bertie the Brain 高约 4 米,玩家通过键盘输入坐标,在顶部的灯光网格上显示游戏进程。这台机器最特别的地方在于它使用了 Kates 发明的 additron 真空管,虽然这种技术很快就被晶体管取代。尽管 Bertie 仅能玩井字棋,且视觉呈现方式较为原始,但它作为早期具有视觉展示的电脑游戏,为电子游戏的发展做出了贡献。
Kates 在二战期间曾在 Rogers Majestic 设计雷达管,之后在多伦多大学继续深造,并参与了早期计算机 UTEC 的建造。为了推广他的 additron 真空管,Rogers Majestic 推动 Kates 开发一个展示该技术的设备,于是就有了 Bertie the Brain。在展览期间,很多人排队体验这款游戏,喜剧演员 Danny Kaye 甚至在多次尝试后击败了它,并登上了《生活》杂志。
Bertie the Brain 的游戏方式是玩家通过按钮选择位置,屏幕上会显示 X 或 O。电脑会根据难度级别做出反应,最高难度下几乎无法战胜。虽然 Bertie 使用的是灯泡而非实时图形,但它仍然是早期电子游戏的代表,展示了电子游戏发展的早期形态。
- 原文: [Bertie the Brain](https://en.wikipedia.org/wiki/Bertie_the_Brain)
- Hacker News: [https://news.ycombinator.com/item?id=45691697](https://news.ycombinator.com/item?id=45691697)
- 作者: breppp
- 评分: 56
- 评论数: 9
- 发布时间: 2025-10-24 15:00:57
---
## 影视作品中的电话号码使用规范
本文介绍了澳大利亚通信和媒体管理局(ACMA)为影视等创意作品预留的电话号码,以避免现实生活中的号码被不当使用。这些号码可以自由地在虚构作品中使用。
文章主要针对在电视节目、电影和其他创意作品中如何使用电话号码进行了说明。ACMA 专门预留了一些电话号码,确保这些号码不属于任何个人或企业,可以安全地在虚构作品中使用,而不用担心会打扰到真实用户。文章详细列出了可用于创意作品的电话号码类型,包括地理号码、手机号码以及免费电话和本地费率号码。
地理号码通常以 "02"、"03"、"07" 或 "08" 开头,但某些特定范围内的号码是被保留的。手机号码方面,也有专门为虚构作品预留的号码段。同样,免费电话和本地费率号码也有相应的规定。文章还提醒大家注意避免使用真实存在的电话号码,以免造成不必要的困扰。如果需要了解更多关于电话诈骗的信息,可以查阅 ACMA 提供的相关链接。
- 原文: [Phone numbers for use in TV shows, films and creative works](https://www.acma.gov.au/phone-numbers-use-tv-shows-films-and-creative-works)
- Hacker News: [https://news.ycombinator.com/item?id=45765787](https://news.ycombinator.com/item?id=45765787)
- 作者: nomilk
- 评分: 242
- 评论数: 119
- 发布时间: 2025-10-31 05:49:11
---
## 耳朵如何进行计算:揭秘耳蜗的频率分析机制
这篇文章深入探讨了耳蜗的工作原理,挑战了长期以来认为耳朵执行傅里叶变换的观点,并阐述了耳蜗实际上执行的是一种介于小波变换和Gabor变换之间的频率分析。
文章首先介绍了声音如何通过耳膜和中耳骨骼传递到充满液体的耳蜗,以及耳蜗内的基底膜如何根据频率分离声音。基底膜的不同位置对不同频率的声音产生共振,高频声音在较硬的基部共振,而低频声音在较软的顶部共振。然后,文章解释了毛细胞如何将这些振动转化为电信号,通过机械电转导过程,毛细胞上的“弹簧”连接着离子通道,这些通道随着振动打开和关闭,从而释放神经递质。
文章强调,尽管耳朵的硬件设备非常适合进行频率分析,但耳蜗并非执行傅里叶变换。傅里叶变换缺乏明确的时间精度,而耳蜗的滤波器在时间和频率分辨率之间进行了权衡。在高频时,时间分辨率优先于频率分辨率,而在低频时则相反。这种权衡可能是为了减少自然声音表示中的冗余。研究表明,独立成分分析(ICA)应用于环境声音、动物叫声和人类语音时,会产生不同的滤波器,这表明人类语音占据了一个独特的时频空间。
文章最后提出,形成与生态相关的表示是有意义的,因为行为依赖于环境。对于听觉和其他感觉方式,我们都在这样做。这篇文章还暗示了高效编码的概念,并指出感觉编码过程的复杂性远不止于此,后续内容将会更深入地探讨神经元计算的生物物理学。总而言之,这篇文章以清晰的方式解释了耳蜗的复杂功能,并挑战了人们对听觉处理的传统理解。
- 原文: [How the cochlea computes (2024)](https://www.dissonances.blog/p/the-ear-does-not-do-a-fourier-transform)
- Hacker News: [https://news.ycombinator.com/item?id=45762259](https://news.ycombinator.com/item?id=45762259)
- 作者: izhak
- 评分: 452
- 评论数: 137
- 发布时间: 2025-10-31 01:01:20
---
## MoonshotAI 的 Kimi-Linear:高效的线性注意力架构
MoonshotAI 在 GitHub 上开源了 Kimi-Linear,这是一个高效且具有表现力的线性注意力架构。该项目使用 MIT 许可证,目前已获得 573 个 star 和 13 个 fork。
Kimi-Linear 旨在提供一种替代传统注意力机制的方案,特别是在处理长序列时,传统注意力机制的计算成本会变得非常高昂。线性注意力通过简化计算过程,在保证性能的同时,显著降低了资源消耗。该项目可能包含相关的代码、文档和示例,方便开发者理解和使用 Kimi-Linear 架构。开发者可以利用 Kimi-Linear 来构建更高效的自然语言处理模型,尤其是在需要处理大量文本数据的场景下。例如,可以应用于机器翻译、文本摘要、问答系统等任务中,提升模型的速度和效率。此外,开源也意味着社区可以共同参与到 Kimi-Linear 的改进和优化中,推动其发展。
该项目在 GitHub 上的存在,也方便了开发者进行代码贡献、问题反馈和功能建议,促进了技术的交流和进步。通过 Issues 和 Pull Requests,开发者可以参与到项目的开发过程中,共同构建一个更加完善的线性注意力解决方案。
- 原文: [Kimi Linear: An Expressive, Efficient Attention Architecture](https://github.com/MoonshotAI/Kimi-Linear)
- Hacker News: [https://news.ycombinator.com/item?id=45766937](https://news.ycombinator.com/item?id=45766937)
- 作者: blackcat201
- 评分: 182
- 评论数: 32
- 发布时间: 2025-10-31 08:07:36
---
## 深入了解压电晶体
压电晶体是一种特殊的晶体材料,它能够通过机械应力产生电场响应,并在传感器技术和能量转换等领域有着广泛的应用。其核心特性在于能够高效地实现电能和机械能之间的转换。
压电晶体是一种非中心对称的晶体,当受到机械力作用时会发生形变,导致晶体表面出现正负束缚电荷,产生压电效应。常见的压电晶体包括石英、闪锌矿、方解石等。压电晶体内部的电偶极子在自然状态下通常是随机分布的,不表现出宏观极化。然而,通过极化处理(加热到居里温度以上,施加强电场,然后冷却),可以使电偶极子在电场的作用下重新排列,从而使材料具有永久极化状态。
当对压电晶体施加机械应力时,晶体内部的电偶极子会发生微小位移,导致电荷中心重新分布,从而在晶体表面产生电荷。这种电荷分布会产生一个电势差,即压电电压,这个过程就是正压电效应。相反,当对压电晶体施加电场时,晶体内部的电偶极子会重新排列或旋转,从而导致晶体发生机械形变,这就是逆压电效应。
压电晶体的极化处理至关重要,它通过施加强电场使材料内部的电偶极子沿特定方向排列,从而赋予材料压电效应并最大化其压电性能。极化处理通常包括材料准备、加热至居里温度以上、施加强电场、在保持电场的同时冷却以及移除电场等步骤。在居里温度以上,电偶极子可以自由旋转和重新排列,施加强电场可以使它们沿电场方向排列,冷却过程则可以固定这种排列,使材料在没有外部电场的情况下仍然保持极化状态。极化处理对于压电材料的性能至关重要,未极化的材料几乎不具备压电效应。
- 原文: [A Closer Look at Piezoelectric Crystal](https://www.samaterials.com/content/a-closer-look-at-stressed-piezo-crystals.html)
- Hacker News: [https://news.ycombinator.com/item?id=45671336](https://news.ycombinator.com/item?id=45671336)
- 作者: pillars
- 评分: 38
- 评论数: 11
- 发布时间: 2025-10-23 00:12:16
---
                        
                        
                    
                    
                    
                    
                    
                    
                    
                    
                    
                        
                        🫵 来啊,说点有用的废话!
                        
                            
                    
                    
                    
                
            
        
        
        
        
        
    
    
    
    ▲