MoreRSS

site iconHackerNews AI 摘要修改

使用 RPA 方案,每天自动获取 Top Stories ,使用 GPT 方式自动摘要,同时会一并摘要 HackerNews 网友的评论。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

HackerNews AI 摘要的 RSS 预览

2025 08 23 HackerNews

2025-08-23 07:30:18

2025-08-23 Hacker News Top Stories #

  1. DeepSeek 平台发布 DeepSeek-V3.1 版本,引入混合推理功能并增强工具使用能力。
  2. 文章探讨了在编程中使用 AI 工具时披露信息的重要性及相关法律争议。
  3. FFmpeg 8.0 版本发布,新增多项编解码器支持并增强硬件加速功能。
  4. 文章批评 Go 语言的设计问题,包括错误处理、可移植性和内存使用等方面。
  5. 文章介绍了使用 io_uring、kTLS 和 Rust 构建零系统调用的 HTTPS 服务器的方法。
  6. uv 工具包实验性引入代码格式化功能,支持通过 Ruff 格式化器简化开发流程。
  7. 4chan 拒绝支付英国 Ofcom 根据《在线安全法案》提出的罚款,称其无法律效力。
  8. 文章表达了对工程领域中过度依赖 AI 工具的担忧,质疑其实际价值。
  9. 文章介绍了一种通过手机播放特定音频文件来控制购物车轮子的锁定和解锁的方法。
  10. 文章讨论了管理中修复错误的重要性,强调承认错误并采取行动重新建立信任的关键性。

DeepSeek-v3.1 #

https://api-docs.deepseek.com/news/news250821

DeepSeek 平台发布了最新版本 DeepSeek-V3.1,标志着向代理时代的第一步。新版本特点包括混合推理功能,即一个模型具备“思考”和“非思考”两种模式;“思考”模式下,DeepSeek-V3.1-Think 能够更快地得出答案;经过后训练增强的工具使用和多步骤代理任务能力。用户可以通过“DeepThink”按钮在聊天界面切换思考和非思考模式。

API 更新包括将 deepseek-chat 设置为非思考模式,deepseek-reasoner 为思考模式,两者均支持 128K 的上下文长度,并支持 Anthropic API 格式。Beta API 中支持严格的函数调用功能。

工具和代理升级后,在 SWE/Terminal-Bench 上取得了更好的结果,增强了复杂搜索任务的多步骤推理能力,并提高了思考效率。

模型更新方面,V3.1 Base 在 V3 的基础上继续进行了 840B tokens 的预训练,以扩展长上下文,并更新了分词器和聊天模板。V3.1 Base 和 V3.1 的开源权重已在 Hugging Face 上提供。

定价方面,新定价将于 2025 年 9 月 5 日 16:00(UTC 时间)开始,之前的非高峰时段折扣将结束。在此之前,API 将遵循当前定价。详细的定价信息可在官方网站的定价页面查看。


HN 热度 739 points | 评论 254 comments | 作者:wertyk | 1 day ago #

https://news.ycombinator.com/item?id=44976764

  • DeepSeek-v3.1 需要至少 250GB 的 RAM 和 VRAM 才能有良好的性能表现。
  • 有用户发现文档中存在错误,如“Run with Ollama”部分错误地提供了运行 llama.cpp 的指令。
  • 文档主要由人类编写,偶尔会出现一些错误。
  • 有用户对 unsloth 使用 sudo 运行 apt-get 表示不满,认为应该让用户自己安装依赖。
  • 作者回应称正在改进文档,并提供了一些解决方案,如检查 llama.cpp 是否存在,以及在用户不执行 sudo 时提供手动编译的指导。
  • 有用户提出改进建议,如检查系统发行版并根据系统类型提供安装指令。
  • 作者表示正在考虑使用 Docker 来简化安装和运行流程。
  • 有用户认为如果用户同意,软件在运行时静默安装东西是可以接受的。

AI tooling must be disclosed for contributions #

https://github.com/ghostty-org/ghostty/pull/8289

GitHub 上的 ghostty 项目中, 作者 mitchellh 提出了一个议题,强调在使用人工智能工具辅助编程时应披露相关信息。他认为,尽管 AI 辅助工具可能产生质量不一的代码,但主要问题在于缺乏经验的人类使用者无法充分审查 AI 生成的代码,导致提交质量不佳的代码请求。mitchellh 提倡披露 AI 工具的使用,以帮助维护者评估对代码请求的关注程度,并表示他愿意协助经验不足的贡献者,但如果是 AI 在操作,则无需投入过多努力。他还提到,尽管他本人也使用 AI 工具,但我们需要负责任地使用,并尊重可能需要审查或维护代码的人类。

另一位用户 yawaramin 建议可以添加一个代码请求模板,明确要求披露 AI 工具的使用,并提到模板中还可以包含其他事项的检查列表,例如开发者证书起源。jcollie 和 yawaramin 均批准了这些变更。mitchellh 合并了这些变更,并删除了相关的分支。此外,还有用户提出了关于添加代码请求模板的建议,以及对文档改进和添加贡献指南的提及。整个讨论中,社区成员对 mitchellh 的观点和建议表示了支持和反应。


HN 热度 698 points | 评论 428 comments | 作者:freetonik | 1 day ago #

https://news.ycombinator.com/item?id=44976568

  • 来源很重要,大型语言模型(LLM)不能证明开发者证书的起源(DCO),开发人员也不能为 LLM 生成的代码证明 DCO,尤其是那些基于未知来源训练的 LLM。
  • LLM 有时会生成与训练数据几乎完全相同的副本,这些副本大多数情况下不能在没有归属的情况下使用,可能还有更严格的许可要求。
  • 法院如何对类似 Does v Github 的案件做出裁决尚不明确,LLM 系统甚至无法实践清洁室设计。
  • 接受 LLM 生成的代码会使整个社区处于风险之中,并支持一种嘲笑同意权的权力结构。
  • 对于大型 LLM,科学最终将证明逐字复制并非来自逐字记录,因为模型的结构并非如此设置。
  • 类似于 Alsup 在 Anthropic 书籍案例中的裁决,训练是“极其变革性的”,预计会有其他案例对此进行重新解释或不同意,这将是有问题的,并且可能最终被推翻。
  • 如果 Alsup 的裁决成立,那么在版权问题上,LLM 的出处并不是问题。
  • 版权局关于机器输出的版权性写道,如果输出中没有足够的人类参与,则输出不受版权保护,无论其“新颖性”如何。
  • 随着时间的推移,这可能会重新定义人类作品的版权性,从每个微小的衍生作品都可能受版权保护,转变为更强烈的独立性和创造性概念。
  • 在开源设置中,许多小的补丁贡献是否真的通过了 Feist 测试还有待商榷,它们可能没有通过,尽管一般指导是将标准设置得很低。
  • 如果 LLM 能够产生音乐歌词或书籍部分,这些将被认为是新颖作品。
  • 版权法在过去 30 多年中对人类的应用并非如此,版权法对“衍生作品”的定义和保护存在争议。
  • 来自逆向工程背景的人担心通过极其间接的方式无意中吸收“受污染”的信息,因为这可能在法庭上被用来对付他们。
  • ML 社区能够根据哪个对他们在任何给定时刻有利,快速改变他们对“AI 训练”是否类似于人类认知的看法。
  • 如果 LLM 产生的输出既独特又无人见过,可能是新颖的;如果输出对人们有感知或情感价值,也是可能的。
  • 在美国版权局的情况下,如果生产中没有足够的人类参与,那么输出就不受版权保护,无论其“新颖性”如何。
  • 小片段的版权问题可能不会成为一个问题,如果模型经常产生大量完全重复的内容,那可能是一个问题。
  • 对于大型模型,没有证据表明它们在普通工作提示下会产生大量重复内容,与研究中故意进行的主动搜索高概率案例不同。

FFmpeg 8.0 #

https://ffmpeg.org/index.html#pr8.0

FFmpeg 是一个跨平台的解决方案,用于录制、转换和流式传输音视频。最新版本 FFmpeg 8.0 “Huffman"已经发布,带来了许多新特性,包括对多种新编解码器的支持和性能提升。这个版本引入了原生编解码器,如 APV、ProRes RAW、RealVideo 6.0 等,并对 VVC 编解码器进行了改进,增加了 IBC、ACT 和调色板模式。此外,FFmpeg 8.0 还支持基于 Vulkan 计算的编解码器,例如 FFv1 和 ProRes RAW,以及硬件加速编解码,如 Vulkan VP9 和 VAAPI VVC。新版本还包括对新格式和过滤器的支持。

FFmpeg 项目还开始现代化其基础设施,升级了邮件列表服务器,并开始接受通过 code.ffmpeg.org 上的新 Forgejo 实例进行的贡献。FFmpeg 7.1 “Péter"版本也已发布,带来了 VVC 编解码器的稳定性提升、对 AAC USAC 编解码器的支持、MV-HEVC 和 LC-EVC 编解码器的新增支持,以及 Vulkan 编码支持。FFmpeg 7.0 “Dijkstra"版本则引入了原生 VVC 编解码器和 IAMF 支持,并移除了一些过时的 API。

FFmpeg 社区还宣布了德国主权技术基金成为其首个政府赞助商,这将有助于维持 FFmpeg 项目的维护。社区成员对于新赞助商的支持表示兴奋,认为这将有助于保持这个关键的开源多媒体组件的持续发展。


HN 热度 648 points | 评论 158 comments | 作者:gyan | 8 hours ago #

https://news.ycombinator.com/item?id=44985730

  • FFmpeg 是一个关键且不可或缺的工具,许多在线视频工具都在使用它。
  • FFmpeg.Wasm 也是一个有用的工具。
  • 有人使用 FFmpeg 提取视频帧、上采样和重新组合视频帧来制作 4K 视频。
  • 有工具嵌入了 FFmpeg,使得用户可以使用相同的编码参数。
  • 有人揭露了一些公司声称拥有专有压缩系统,但实际上只是使用 FFmpeg 进行重新编码。
  • 有人批评一些人将他人的东西稍作修改就声称是自己的创新。
  • 有人对 FFmpeg 引入基于计算着色器的视频编码器和解码器表示兴奋,认为这将有助于跨平台加速其他编解码器。
  • 有人提出疑问,想知道 GPU 加速对于视频解码的显示部分是否有益。
  • 有人对 FFmpeg 维护者的工作表示赞赏,认为他们做的是困难的工作,而且是无偿的。
  • 有人对 FFmpeg 维护者的工作表示好奇,想知道他们是否是作为工作的一部分在做这些贡献。
  • 有人对 FFmpeg 的 ProRes 编解码器实现表示兴趣,并询问是否是通过逆向工程实现的。

Go is still not good #

https://blog.habets.se/2025/07/Go-is-still-not-good.html

这篇文章是一位博主对 Go 语言的批评。博主认为 Go 语言存在多个问题,包括:

  1. 错误变量作用域问题:Go 语言强制开发者使用错误变量,导致变量作用域过长,增加了代码阅读难度。
  2. 两种 nil 类型:Go 语言有两种 nil 类型,导致比较时出现混淆。
  3. 可移植性差:Go 语言需要在文件顶部添加注释进行条件编译,这会导致维护可移植程序时出现问题。
  4. append 函数没有明确所有权:append 函数修改原切片,导致代码难以预测。
  5. defer 机制不合理:Go 语言的 defer 机制导致资源释放时机不确定,不如 RAII 机制。
  6. 标准库隐藏异常:Go 语言标准库会隐藏异常,导致开发者必须手动处理异常安全问题。
  7. 非 UTF-8 编码问题:Go 语言将非 UTF-8 编码的二进制数据视为字符串,可能导致数据丢失。
  8. 内存使用:虽然博主认为内存很便宜,但在云服务环境中,内存使用仍然需要关注,Go 语言在这方面表现不佳。

总的来说,博主认为 Go 语言存在许多设计上的问题,导致代码难以阅读和维护。


HN 热度 505 points | 评论 681 comments | 作者:ustad | 14 hours ago #

https://news.ycombinator.com/item?id=44982491

  • Go 语言简单易学,编译快,内置功能多,但存在一些设计上的固执和不便
  • Go 的并发模型虽然复杂,但经过学习后能够很好地表达数据流
  • Go 的类型系统大多数情况下方便,有时显得冗长
  • Go 的一些设计可能过于坚持老派原则,忽视了实际便利性
  • Go 在修复一些设计问题上有所进步,如引入泛型和自定义迭代器
  • Go 的内存使用和可移植性问题更像是个人抱怨
  • Go 的垃圾回收在大多数程序中不太可能造成问题,且不难调试
  • Go 支持的平台广泛,几乎可以在任何地方运行
  • Go 的错误/nil 处理仍然令人困扰,许多人希望能有 Result[Ok, Err]和 Optional[T]这样的类型
  • Go 的文件系统 API 简单直接,但对非 UTF-8 文件名的处理不够周到
  • Go 语言容易让人做出看似有效但实际上是错误的事情,导致代码中充满了潜在问题
  • Go 语言的 API 设计没有考虑到所有情况,导致用户数据丢失和程序错误
  • Go 语言的维护者没有从其他语言的错误中学习,重复了许多错误
  • Go 语言的时钟/时间处理问题导致了大规模的服务中断,最终不得不添加单调时间支持
  • Go 语言的时钟/时间库由于原始设计没有考虑到多时钟概念,导致程序中充满了错误
  • Go 语言的维护者对于硬件运行方式的建议不切实际,与大多数服务器的运行方式不符
  • Go 语言的代码版本控制建议不切实际,大多数项目无法采用单仓库模式
  • Go 语言在错误处理和内存安全方面存在许多问题,需要开发者自己解决
  • Java 的库虽然经过了实战考验,但并不意味着不容易被滥用
  • Java 的时间处理历史表明,它曾经有过糟糕的设计,但最终通过 Joda-Time 和 java.time API 得到了改善
  • Java 的时间库曾经是当时最好的,而 Go 的时间库问题则需要更多的时间来解决

Io_uring, kTLS and Rust for zero syscall HTTPS server #

https://blog.habets.se/2025/04/io-uring-ktls-and-rust-for-zero-syscall-https-server.html

这篇文章讨论了如何构建一个零系统调用的 HTTPS 服务器,以提高网络服务的性能。文章首先回顾了过去几十年中,为了应对高容量网络服务需求,人们如何从传统的进程创建转向使用线程、poll()/select()等技术来减少系统调用和上下文切换。然而,随着连接数的增加,这些方法也遇到了扩展性问题。因此,引入了 epoll(Linux 系统)和 kqueue(其他操作系统)来提高效率。

文章接着介绍了 io_uring 技术,它允许服务器将操作命令写入队列,由内核异步处理,从而避免了频繁的系统调用。这种方式使得服务器能够通过简单的内存写入来执行之前成本较高的系统调用,并且从另一个内存区域读取结果。为了减少忙等循环,内核和服务器都会在队列中检查新内容,如果没有新内容,服务器会通过系统调用来“休眠”,直到队列中有新内容。

作者提倡使用“每个核心一个线程”的模型,并确保线程不共享任何读写数据结构,以提高性能。同时,文章提到了内存分配问题,建议预分配固定大小的内存块给每个连接,以避免新的连接需要系统调用,减少内存碎片,并防止内存耗尽。

文章还讨论了 kTLS,这是 Linux 内核的一个特性,允许应用程序将加密/解密工作交给内核处理。这样,即使应用程序仍然需要执行 TLS 握手,但在启用 kTLS 后,可以像处理明文一样发送数据,从而提高效率。

作者还提到了避免在用户空间和内核空间之间传递文件描述符的优化,通过使用 register_files 实现无描述符文件,减少了开销。

最后,作者介绍了他构建的名为 tarweb 的实验性 Web 服务器,该服务器整合了上述技术。尽管 tarweb 还不完美,代码需要改进,且 TLS 库在握手期间可能进行内存分配,但它已经能够在每个请求的基础上实现无需系统调用的 HTTPS 服务。作者计划在代码清理后进行基准测试,并强调了 io_uring 的安全性问题,即任何缓冲区都需要在操作完成之前保持在内存中,这增加了编程的复杂性。作者呼吁开发更安全的 Rust 库来处理这些问题。


HN 热度 445 points | 评论 141 comments | 作者:guntars | 20 hours ago #

https://news.ycombinator.com/item?id=44980865

  • Rust 异步库围绕 io_uring 构建困难,因为 io_uring 的 API 不允许借用检查器在编译时提供保护,也没有运行时检查。
  • Rust 异步设计受 epoll 影响,与 Rust 的所有权/借用模型不匹配,导致与完成基 IO 合作困难。
  • 异步 Rust 代码可能在任何时候被丢弃,导致内核可能写入已丢弃的缓冲区,这是同步上下文中的问题。
  • 异步系统的目标是让用户能够编写看起来同步的代码,但实际上是异步执行的,但强制用户进行所有权转移显示了这一目标的失败。
  • 异步代码应该看起来像同步代码,但这种观点并不被所有人接受,因为同步代码在硬件架构上并不存在,且会导致性能问题。
  • 异步代码中,传递拥有权而不是可变借用,可能违背了零成本原则。

Code formatting comes to uv experimentally #

https://pydevtools.com/blog/uv-format-code-formatting-comes-to-uv-experimentally/

uv format 是一个新引入的实验性命令,它为 Python 开发者提供了直接通过 uv 工具包进行代码格式化的功能,从而无需使用多个工具来处理基本的 Python 开发工作流程。这个命令通过调用 Ruff 的格式化器在后台工作,自动按照一致的标准风格化代码。

要开始使用 uv format,确保你运行的是 uv 0.8.13 或更高版本。如果需要升级,可以参考升级指南。升级后,格式化项目中的所有 Python 文件变得非常简单:

  • 格式化项目中的所有 Python 文件:uv format
  • 检查格式化情况而不做更改:uv format --check
  • 查看将要进行的更改而不应用:uv format --diff

这个命令的工作方式与在项目根目录下运行 ruff format 类似,但是通过 uv 的界面进行。你还可以向 Ruff 传递额外的参数,只需将它们放在 -- 后面:

  • 设置特定的行长度:uv format -- --line-length 100
  • 仅格式化特定文件:uv format -- src/mymodule/core.py
  • 使用多个 Ruff 选项:uv format -- --line-length 88 --preview

这种灵活性意味着你可以自定义格式化行为,同时不失去 uv 的便利性。需要注意的是,由于这是一个实验性功能,可能会有一些不完善的地方,例如命令在未来版本中可能会变化,与 uv 项目模型的集成可能会发展,错误处理和输出格式化可能会改进。尝试在你的下一个项目中使用 uv format,并看看它如何融入你的开发工作流程。这个功能的实验性质意味着你的反馈可能会帮助塑造这个功能的发展。


HN 热度 352 points | 评论 242 comments | 作者:tanelpoder | 1 day ago #

https://news.ycombinator.com/item?id=44977645

  • uv 应该专注于包/项目管理,而不是代码风格,用户希望 uv 仅在更新依赖时编辑代码文件。
  • ruffty 合并,因为它们都是关于代码风格,并且会编辑代码以格式化或修复类型/lint 问题。
  • ruffuv 不会合并,它们保持为独立的工具,目的是简化用户不需要考虑格式化工具的体验。
  • 有用户希望使用 Rust 而不是 Python,并认为 Rust 在微服务方面具有优势。
  • Rust 的 API-first 或 API-only 后端、资源占用、维护长期性和性能特性使其在竞争中具有优势。
  • Rust 的并发原语易于学习,特别是对于请求-响应流的软件范式。
  • Rust 可以作为 Go 或 Python/Flask 的替代品,具有无 GC/裸机性能、更低的缺陷率和类型系统带来的安全性。
  • Rust 使得编写具有 C++ 性能的代码感觉像编写 Ruby,但具有无与伦比的低缺陷率和安全性。
  • Rust ORM(如 Diesel)尚未成熟,推荐使用 SQLx,它类似于 Java 的 jOOQ 框架,但更简单。
  • 用户询问 uv tool run ruff 是否已经存在,以及是否需要特殊的快捷命令。
  • 设计考虑周到,Ruff 在调用 uv format 时安装,而不是与 uv 二进制文件捆绑,这样如果用户从不使用 uv format,则没有实质性的负面影响。
  • 用户建议将 ruff 二进制文件与 uv 版本捆绑发布,以便于离线用户使用,并保持 uv/ruff 版本的兼容性。
  • 用户期待 uv 成为 Python 的 “cargo”,一个管理 Python 项目的瑞士军刀。
  • 用户对 uv 如何进行测试表示好奇,是在 tox 级别还是 pytest 级别,或者另一个级别。
  • 用户对 uv formatruff check 之间的差异感到困惑,希望 uv format 默认输出更改的文件列表。

4chan will refuse to pay daily online safety fines, lawyer tells BBC #

https://www.bbc.co.uk/news/articles/cq68j5g2nr1o

在线留言板 4chan 的代表律师表示,该网站不会支付英国媒体监管机构 Ofcom 根据《在线安全法案》提出的罚款。Ofcom 初步决定对 4chan 未能遵守其要求的行为处以 2 万英镑罚款,并在网站继续不遵守规定的情况下每日追加罚款。4chan 的律师认为,Ofcom 的通知在美国没有法律效力,他们认为监管机构的调查是对美国科技公司的“非法骚扰”。Ofcom 在调查期间拒绝发表评论。

4chan 经常因其 22 年历史上的在线争议而处于核心位置,包括性别歧视运动和阴谋论。用户匿名,这常常导致极端内容被发布。4chan 的律师声明称,作为一家在美国注册的公司,4chan 受到美国法律的保护,不受英国法律的约束。他们表示,如果必要,将在美国联邦法院寻求适当的救济以确认这些原则,并已向美国当局通报了他们对 Ofcom 调查的回应。

声明最后呼吁特朗普政府动用所有外交和法律手段保护美国企业免受“域外审查命令”的影响。Ofcom 此前表示,《在线安全法案》只要求服务提供商采取行动保护在英国的用户。美国一些政治人物,特别是特朗普政府及其盟友和官员,反对他们认为英国和欧盟对美国科技公司监管的过度干预。他们特别关注《在线安全法案》对言论自由的影响,但其他法律也是争议的焦点。

如果 4chan 在美国法院成功抗辩罚款,Ofcom 可能还有其他选择,例如要求法院命令其他服务中断提供商在英国的业务,例如要求从搜索结果中移除服务或阻止英国支付。如果 Ofcom 认为这不足以防止重大伤害,甚至可以要求 ISP 阻止英国访问。


HN 热度 340 points | 评论 368 comments | 作者:donpott | 13 hours ago #

https://news.ycombinator.com/item?id=44982681

  • 英国政府通过立法、罚款和封锁网站等手段试图控制网络空间。
  • 英国政府在现实世界失去控制,转而在网络世界中寻求权力。
  • 美国也在通过制造虚拟问题来实现政治目的。
  • 通过夸大问题并提供自己作为解决方案是常见的政治手段。
  • 英国政府对社交媒体的控制可能与保护政治家有关。
  • 英国因言论逮捕人数惊人,每年超过 12000 人因网络言论被捕。
  • 英国政府在互联网上的打压导致人们转向街头抗议。
  • 英国逮捕公民的标准与美国不同,英国更频繁地因冒犯性言论逮捕公民。
  • 英国的网络逮捕行为可能部分是由于警察过度执法和网络骚扰案件增加。
  • 互联网使用人数的增长可能解释了逮捕人数的增加。

What is going on right now? #

https://catskull.net/what-the-hell-is-going-on-right-now.html

当前网页是一篇博客文章,标题为“What the hell is going on right now?”,作者在文章中表达了对当前工程领域中人工智能(AI)工具使用情况的担忧和批评。

文章指出,工程师们正在经历职业倦怠,组织期望资深工程师能够审查并参与那些不切实际的“氛围编码”功能。作者观察到,最优秀的工程师通常对帮助新团队成员贡献和学习充满热情,但他们的反馈并没有被真正采纳,而是被年轻程序员用作他们“人工智能”作品的下一个提示。

作者提到,在一个公司会议上,一群初级工程师展示了他们的最新工作,但作者无法理解这项工作的具体内容或目的,甚至这些工程师自己似乎也不理解。然而,在大型组织中,重要的不是做了什么,而是别人认为你做了什么。一位高级经理鼓励他们夸耀使用“AI”工具,他们回应说“这是由 Claude 编写的四千行代码”,赢得了掌声。

作者分享了自己的经历,他被要求对一个现有功能进行小改进,发现最近工作的是一名初级工程师。他联系这名工程师,希望了解他们最近的更改背景,但怀疑自己的问题和提交链接被直接输入到一个大型语言模型(LLM)中,然后被复制粘贴回来,这让作者感到被侵犯。

文章还提到了作者的一个朋友,他所在的团队在过去一个月里一直在审查一个由 LLM 产生的混乱代码。作者质疑,支付 ChatGPT 每月 20 美元的费用,然后让一个工程师团队尝试审查和合并代码的成本节约在哪里?

作者强调,工程师们想要提供帮助,想要构建能够正常工作、使人们生活更轻松的优秀产品,并教授软件工程。但作者质疑,如果这些投资只是被复制粘贴到最新的模型中,那么这些投资还有什么价值?作者建议,我们应该停止使用“AI”,尝试一天、一周或一个月不使用它。

作者分享了自己最近重置电脑的经历,作为这个过程的一部分,他剔除了不再使用的软件,包括他已经支付了 6 个月费用的 Claude Pro。他觉得这只是一个巨大的时间浪费,即使需要进行几次独立的互联网搜索和阅读一些 Stack Overflow 和文档页面,自己的结论也比 LLM 提供的任何东西更可靠和准确。

文章最后质疑这些工具的价值,并提出了一个关于 AI 行业的财务模型,即 AI 被应用于特定领域,公司因此而成立,因为它们更“高效”。AI 公司从风险资本家那里获得资金,然后支付给 AI 服务提供商如 OpenAI 使用积分,但最终 AI 公司消失。作者认为,这种模式与现有的风险资本管道没有太大不同,但区别在于,即使是 OpenAI 目前也没有盈利。作者认为这是因为技术本身存在缺陷,无法扩大规模以满足需求,它消耗的电力太多,永远无法在经济上可行,更不用说严重的环境问题了。

作者呼吁人们现实地看待这个问题,认为这是一个骗局,皇帝没有穿衣服。


HN 热度 308 points | 评论 275 comments | 作者:todsacerdoti | 16 hours ago #

https://news.ycombinator.com/item?id=44981747

  • AI 是一个变革管理问题,需要有能力的团队合作,建立有效平衡人类指导和 LLM 优势的流程。
  • 大型组织往往缺乏健康文化,AI 放大了这种毒性。
  • 95% 的 AI 试点未能带来投资回报,反映了现代管理的无效性。
  • 可能 AI 并没有被宣传的那么好,没有看到小团队用 AI 做出大事。
  • 一些团队将 LLM 用于概念验证,然后重写以确保代码质量。
  • LLM 在编码上并非无用,但让 LLM 编写代码不会得到生产级代码。
  • LLM 没有对底层语言的理解,只是根据模式生成令牌。
  • 人类是否真正理解他们所使用的语言也是一个问题。
  • 人类在沟通时往往也不深思熟虑,只是输出统计上最可能的下一个词。
  • 定义“理解”的含义很重要,因为它意味着 LLM 的能力有极大的限制。
  • LLM 即使能理解或创造语言,对它们谈论的主题也一无所知。
  • 人类在语言上的“半随机”行为与 LLM 相似。
  • 模型预测半随机结果的价值受到质疑。
  • 模型预测的准确性是关键,仅在“有效时有效”的说法并不有用。
  • 人们对智能的定义模糊,但对智能不是什么有强烈看法。
  • 一些团队通过 LLM 快速原型制作,然后投入时间进行完善。
  • 一些成功的公司并非完全由“氛围编码”创建,而是与 AI 炒作相关的公司。
  • 在能源领域的小型团队中,LLM 对于繁琐但不需要太多思考的工作(如配置管理、云基础设施管理、一次性脚本、小型仪表板等)非常有用。

Control shopping cart wheels with your phone (2021) #

https://www.begaydocrime.com/

这个网页提供了一种通过手机扬声器控制 Gatekeeper Systems 购物车轮子锁定和解锁的方法。购物车轮子通常通过检测地下电线发出的 7.8 kHz 信号来判断是否需要锁定或解锁。管理遥控器可以发送不同的 7.8 kHz 信号来解锁车轮。

由于 7.8 kHz 在音频范围内,可以通过播放特制的音频文件,利用手机扬声器产生的寄生电磁场来“传输”类似的信号。网页上提供了锁、解锁、臂和购买检查等不同功能的音频文件供下载。此外,还提供了一个链接到原始 DEFCON 29 演讲的文件下载。作者也在 Twitter 上分享了这一技术,用户名为 @stoppingcart。


HN 热度 266 points | 评论 125 comments | 作者:mystraline | 22 hours ago #

https://news.ycombinator.com/item?id=44980004

  • 荷兰及邻近国家不常见锁定购物车车轮的现象,因为大多数人不会携带现金,疫情期间许多商店直接取消了锁具。
  • 密歇根大学附近的学生宿舍距离 Kroger 超市约半英里,以前常有顾客将购物车推回公寓,导致超市不得不定期租用货车去回收,后来改用地理锁定车轮。
  • 有外国食品店故意偷窃其他商店的购物车以节省成本。
  • 瑞典的大型商店使用硬币系统,但使用趋势在下降,趋向于不锁定的购物车。
  • 瑞典商店提供塑料代币以方便不携带现金的顾客,这种设计使得顾客体验比安全系统更重要。
  • 购物车硬币系统的目的不是阻止盗窃,而是鼓励人们将购物车放回指定位置。
  • 有人为了方便,3D 打印了一个可重复使用的假代币。
  • 购物车不归还有时是因为懒惰,有时是因为带着小孩不方便。
  • 有人认为不归还购物车的人都是出于懒惰,即使带着小孩也不应成为借口。
  • 有观点认为,带着多个小孩的母亲可能因为照顾孩子而难以归还购物车。
  • 有人提出,每个不归还购物车的人都是出于懒惰,而且这种行为可能会导致其他人的汽车受损。
  • 有人建议,如果看到有人因为带着孩子而无法归还购物车,可以主动提供帮助。
  • 购物车理论认为,购物车被遗弃的位置可以反映社会和经济问题。

All managers make mistakes; good managers acknowledge and repair #

https://terriblesoftware.org/2025/08/22/the-management-skill-nobody-talks-about/

这篇文章讨论了管理技能中常被忽视的一项——修复错误。作者指出,成为管理者后,犯错是不可避免的,关键在于犯错后如何处理。文章引用了育儿书籍《Good Inside》中的观点,强调了修复错误的重要性,即承认错误、承担责任并重新建立联系。

作者通过自己的经历和观察,发现那些不愿意承认错误的管理者往往会失去团队的信任和优秀成员。相反,那些能够承认错误并承诺改进的管理者能够建立起信任。文章还提供了在实践中如何修复错误的具体建议:明确指出自己的错误、不以自我为中心、真正改变行为,并给予时间来修复信任。

作者认为,习惯于修复错误能让管理者变得更好,因为它让人更愿意做出决策、进行困难对话和承担合理风险。最后,作者强调,管理不是要求完美,而是要交付有价值的软件、帮助团队成长,并创造一个人们能发挥最佳工作的环境。当管理者在这些方面失败时,他们应该修复、学习并继续前进。


HN 热度 260 points | 评论 116 comments | 作者:matheusml | 11 hours ago #

https://news.ycombinator.com/item?id=44983986

  • 有人提到“Mochary Method”这套谷歌文档,它涵盖了很多管理技能,以一种非常人性化的方式讲解,适合非管理者理解。
  • 有评论认为管理与个人贡献者(IC)之间的差距在于责任感,好的管理应该识别问题并建立预防再次发生的系统。
  • 有观点认为过多的系统会导致事情无法完成,找到平衡很难。
  • 有人强调系统应该是持续改进和理解执行能力的单一系统,而不是仅仅依赖于检查清单。
  • 有评论指出,仅仅依赖于“打勾”文化的系统可能会导致问题,需要避免。
  • 有观点认为,虽然检查清单在医疗领域减少了死亡,但在其他领域可能不适用。
  • 有评论提到,好的管理者会因为承认错误而在办公室政治中处于劣势,可能比不承认错误的管理者晋升得更慢。
  • 有人分享了自己的经历,认为承认错误的管理者可能会得到团队的支持和尊重,从而实现超出预期的成果。
  • 有观点认为,是否能够因为承认错误而晋升,取决于上级管理者是否也具有责任感。

2025 08 22 HackerNews

2025-08-22 08:21:57

2025-08-22 Hacker News Top Stories #

  1. AWS CEO认为使用AI替代初级员工是愚蠢的,强调AI应作为辅助工具而非替代人类。
  2. 马克·扎克伯格冻结Meta的AI招聘,担忧AI投资泡沫风险和回报问题。
  3. Zedless是一个专注于隐私和本地优先的Zed分支,移除了云依赖和遥测功能。
  4. 谷歌发布Pixel 10系列手机,搭载Tensor G5芯片,提供更个性化和AI驱动的用户体验。
  5. 95%的公司在生成性AI投资上看不到回报,仅5%的试点项目创造了显著价值。
  6. 代码审查流程可以通过存储审查状态和改进工具实现更高效的开发协作。
  7. 澳大利亚联邦银行因AI生产力谎言被迫重新雇佣被解雇的员工。
  8. Podman、Compose和BuildKit的结合提供了一种无守护进程的容器化解决方案,适合本地开发。
  9. 一家公司要求工程师接听销售电话,结果工程师们改进了产品架构并简化了用户界面。

AWS CEO says using AI to replace junior staff is ‘Dumbest thing I’ve ever heard’ #

https://www.theregister.com/2025/08/21/aws_ceo_entry_level_jobs_opinion/

亚马逊网络服务(AWS)的首席执行官马特·加尔曼(Matt Garman)表示,因为人工智能(AI)可以完成初级员工的工作而解雇他们是“我听过的最愚蠢的事情”。加尔曼在与 AI 投资者马修·伯曼(Matthew Berman)的对话中提出了这一观点,他强调了 AWS 的 Kiro AI 辅助编码工具,并指出他遇到过一些商业领袖认为 AI 工具“可以取代我们公司所有的初级员工”。他反驳说,初级员工可能是“你最不贵的员工”,并且他们与 AI 工具的互动最为密切。

加尔曼质疑,如果 10 年后没有人学习任何东西,那么这种替代将如何运作。他认为,公司绝对应该继续招聘刚毕业的年轻人,并教导他们如何构建软件、分解问题和思考问题,就像以前一样。他自然认为 AI——特别是 Kiro——可以帮助教育他们。

加尔曼还对另一个关于 AI 的观点表示不认同——通过 AI 在组织中贡献的代码百分比来衡量其价值。他认为这是一个愚蠢的指标,因为组织可以使用 AI 编写“无限多的代码行”,但这些代码可能是糟糕的代码。他指出,“通常更少的代码行比更多的代码行要好得多”,他不确定为什么这是人们喜欢夸耀的令人兴奋的指标。

尽管如此,他看到的数据表明,超过 80% 的 AWS 开发者以某种方式使用 AI。有时是编写单元测试,有时是帮助编写文档,有时是编写代码,有时是与 AI 代理合作的“代理工作流程”。加尔曼表示,AWS 开发者使用 AI 工具的频率每周都在增加。

加尔曼还为 AI 时代提供了一些职业建议,建议当今的孩子需要学会如何学习——而不仅仅是学习特定技能。他认为应该强调的技能是“你如何独立思考?你如何发展解决问题的批判性思维?你如何发展创造力?你如何发展一个学习心态,让你去学习下一件事?”加尔曼认为,这种方法是必要的,因为技术发展如此迅速,不再合理期望学习狭窄的技能可以维持 30 年的职业生涯。他希望教育者教授“你如何思考以及如何分解问题”,并认为掌握这些技能的孩子将会蓬勃发展。


HN 热度 1130 points | 评论 450 comments | 作者:JustExAWS | 11 hours ago #

https://news.ycombinator.com/item?id=44972151

  • AWS CEO 认为使用 AI 替代初级员工是愚蠢的
  • 有人认为 AI 编写的代码是混乱的,存在性能和安全风险
  • 有人通过使用 AI 减少了 80% 的编码工作,认为 AI 在某些情况下很有用
  • 有人认为在某些行业,如 JIT 编译器、关键任务嵌入式系统或分布式数据库中,AI 表现不佳
  • 有人认为代码行数不是衡量代码质量的有效指标
  • 有人认为 AI 在高度定义和有严格自动化测试的代码库中表现更好
  • 有人认为 AI 在处理大量遗留系统集成时特别有用
  • 有人认为 AI 可能会加剧代码库的复杂性和技术债务问题

Mark Zuckerberg freezes AI hiring amid bubble fears #

https://www.telegraph.co.uk/business/2025/08/21/zuckerberg-freezes-ai-hiring-amid-bubble-fears/ Meta 公司的创始人马克·扎克伯格(Mark Zuckerberg)冻结了人工智能(AI)职位的招聘,这一举措标志着公司在 AI 领域的大规模招聘热潮戛然而止,原因是担心对 AI 的重金投资并未获得预期的回报。此前,有报道称 Meta 为了吸引顶尖人才,曾提供高达 10 亿美元的薪酬。这一决策反映出扎克伯格对 AI 投资回报的担忧,以及可能存在的 AI 泡沫问题。


HN 热度 655 points | 评论 669 comments | 作者:pera | 13 hours ago #

https://news.ycombinator.com/item?id=44971273

  • Facebook 的产品是用户注意力,正在被 TikTok、X 和 BlueSky 等平台取代。
  • 人工智能研究可能引起市场的巨大转变,Facebook 可能完全失去他们主要开创的平台。
  • 苹果在 AI 投资不足,可能会像黑莓一样如果不适应市场变化就会失败。
  • 苹果的 Siri 与 ChatGPT 相比显得落后,1/5 的错误率将是一个欢迎的改进。
  • 苹果正在将大型语言模型(LLMs)整合到操作系统级别,很快就会推出。
  • 谷歌和苹果不需要 AI,但他们的平台对其他助手封闭,因此必须提供有竞争力的服务。
  • 苹果允许其他公司在设备上操作的那一天,这个问题将变得无关紧要。
  • 谷歌在 AI 方面做得不错,而苹果还没有。
  • 没有看到回报的投资需要多久才会被认为是炒作。
  • 有些公司即使有其他收入来源,也可以进行未来进步的研究,这不会影响公司的存亡。
  • 这些公司对 AI 的未来方向变化表明,他们和其他人一样对 AI 的未来一无所知。
  • 媒体总是说 AI 是我们一生中最大的技术变革,但互联网才是。
  • 管理巨额资金/资源的人并不愚蠢,可能是在进行更长远的规划。
  • 元宇宙可能是一个例子,有时候你会输。
  • 除了收购之外,一切都失败了。
  • 抗衰老创业公司是 5D 棋局,第四维度是最不稳定的,很难实现 4D 截击,当你的想法愚蠢时。
  • 亿万富翁与普通人、普通员工、普通工作以及普通人拥有的技能和愿望有多少实际经验?
  • Meta 过去 12 个月的运营收入为 787 亿美元,是时候紧张起来了。
  • Meta 能够部署的现金比他们产生的要多。
  • Meta 的现金状况在今年上半年从 440 亿美元减少到 120 亿美元。
  • FAANG 已经被 Mag7 取代:Alphabet、Amazon、Apple、Broadcom、Meta、Microsoft 和 Nvidia。
  • Meta 的市盈率为 23:1,对于一个成熟公司来说仍然很高。
  • 这个数字令人震惊。
  • 如何与他们的数据中心折旧成本相比?

Zedless: Zed fork focused on privacy and being local-first #

https://github.com/zedless-editor/zed

Zedless 是一个以隐私友好和本地优先为设计理念的 Zed 软件分支。该项目目前仍在进行中,欢迎贡献。Zedless 计划与上游版本不同的变化包括:不依赖专有云服务,将移除严格依赖非自托管云服务的组件和功能;不包含间谍软件,将移除遥测和自动崩溃报告;优先考虑自带基础设施,任何使用网络服务的功能都将允许用户以标准格式配置使用哪个服务提供商,例如通过指定 API 的基础 URL,并且这些功能默认情况下将被禁用;不要求签署贡献者许可协议,贡献者的版权不会被重新分配;不允许出现 rugpulls(即项目方突然撤资或改变项目方向)。

在许可方面,第三方依赖的许可信息必须正确提供,以便持续集成(CI)能够通过。项目使用 cargo-about 工具自动遵守开源许可。如果 CI 失败,需要检查是否为新创建的 crate 显示无许可证错误,如果是,则需要在 crate 的 Cargo.toml 文件下的 [package] 中添加 publish = false;如果是依赖项的许可证要求未能满足的错误,首先需要确定项目的许可证是什么,以及当前系统是否足以满足该许可证的要求,如果不确定,可以咨询律师。一旦验证系统可以接受,将许可证的 SPDX 标识符添加到 script/licenses/zed-licenses.toml 中的 accepted 数组中;如果 cargo-about 无法找到依赖项的许可证,那么需要按照 cargo-about 书籍中的规定,在 script/licenses/zed-licenses.toml 文件末尾添加一个澄清字段。

Zedless 的主要编程语言为 Rust,占代码的 97.6%,其他语言包括 Inno Setup、Tree-sitter Query、Shell、Metal 和 WGSL。项目目前有 770 个星标,8 人关注,12 个分支。


HN 热度 534 points | 评论 305 comments | 作者:homebrewer | 1 day ago #

https://news.ycombinator.com/item?id=44964916

  • Zed 编辑器的隐私和本地优先特性受到欢迎,尽管目前还不够成熟,但用户愿意为其付费。
  • 许多用户对 AI 辅助编辑器并不感兴趣,认为它们并未显著提升工作流程。
  • AI 代码审查可能引入错误路径或轻易被反驳,可能导致审查过程的懒惰和不彻底。
  • 大型语言模型(LLM)本质上是文本生成器,而非验证器,需要人工复审作为最后步骤。
  • LLM 在代码库的文本和数值分析方面表现良好,尤其在遵循文档化标准和架构指导时。
  • AI 分析的价值在于分析结果后做出的决策,关键在于是否会实际改进代码库。
  • AI 审查在初步审查中可能有用,尤其是在小规模层面上。
  • AI 审查可以作为高级样式检查器,有助于评估超出标准 linter/分析器范围的标准。
  • AI 审查的总结比大多数审查评论更有用,但需要调整期望,因为 AI 不会因建议被拒绝而受伤。
  • AI 在代码审查中的目标应该是提高效率,而不是取代人工审查。
  • Zed 编辑器除了 AI 功能外,其快速、轻量级的特点和社区支持的插件和主题也受到用户喜爱。
  • Zed 作为 GPL 许可的自由软件,其 CLA 可能导致贡献者签署后所有权归 Zed 团队,从而在未来可能重新许可并转为闭源。

Pixel 10 Phones #

https://blog.google/products/pixel/google-pixel-10-pro-xl/

谷歌推出了第十代 Pixel 手机,包括 Pixel 10、Pixel 10 Pro 和 Pixel 10 Pro XL。这些手机搭载了全新的 Google Tensor G5 芯片和最新的 Gemini Nano 模型,提供了更加个性化、主动和有帮助的 Pixel 体验,并带来了刷新的设计和多项硬件更新。

Pixel 10 系列手机采用了现代设计和出色的制造工艺,改进了标志性的相机条,内置了 Qi2 无线充电功能,并提供了一系列新的磁性配件。这些手机使用了迄今为止最多的回收材料制造,首次采用了 Material 3 Expressive 用户界面,带来了更多的个性化和流畅的交互体验。手机将提供七年的 Pixel Drops 以及操作系统和安全更新,确保手机始终保持新鲜感和安全性。

Pixel 10 拥有缎面金属框架、抛光玻璃背面和标志性的相机条。用户可以从四种富有表现力的颜色中选择:Obsidian、Frost、Indigo 和 Lemongrass。其 6.3 英寸的 Actua 显示屏亮度提升至 3000 尼特,使观看更加容易。此外,手机还提供了改进的音频体验,包括出色的低音效果,让您喜爱的节目看起来和听起来都更好。Pixel 10 的相机也得到了显著提升,包括首次在该系列中引入的 5 倍长焦镜头,具有快速自动对焦、10 倍光学质量和高达 20 倍的 Super Res Zoom 变焦能力,使得远距离拍摄更加容易。

Pixel 10 Pro 提供了终极的 Pixel 体验,拥有最高端的设计、最亮的 Super Actua 显示屏和迄今为止最佳的三重后置摄像头系统。Pixel 10 Pro 和 Pixel 10 Pro XL 分别提供 6.3 英寸和 6.8 英寸的屏幕尺寸选择。颜色方面,除了 Obsidian 和 Porcelain,还新增了 Moonstone 和 Jade 两种颜色。Pro Res Zoom 功能使得 Pixel 10 Pro 和 Pixel 10 Pro XL 能够实现高达 100 倍的变焦。Pro 系列手机在几乎所有方面都进行了升级,包括更大的电池、升级的扬声器、16GB 的 RAM 和更快的有线充电,而 Pixel 10 Pro XL 支持 25W Qi2.2 无线充电。

Tensor G5 是谷歌最新的定制芯片,是 Tensor 芯片自首次亮相以来最重要的升级。它提供了快速的性能,并首次为 Pixel 用户带来了深度有用的体验。得益于与 Google DeepMind 的共同设计,最新的 Gemini Nano 模型将在 Tensor G5 上首次运行,解锁许多在设备上的生成性 AI 体验,使日常生活更加轻松。

Pixel 10 引入了 Magic Cue 功能,它能够在您最喜欢的应用中主动提供正确的信息,例如在与母亲通话时找到完美的猫咪照片。Magic Cue 不仅仅是一个单一的应用程序或功能,它是一种主动的支持,紧密地融入您的手机中,提供相关信息和有用的操作。


HN 热度 423 points | 评论 926 comments | 作者:gotmedium | 1 day ago #

https://news.ycombinator.com/item?id=44963939

  • 有人认为在设备上运行 AI 模型,如 Magic Cue,对于手机来说是非常有趣的用例。
  • 有人期待能够通过语音指令让手机智能地检查日历和数字钱包交易。
  • 有人表示自己并不像其他人那样将生活数字化,不使用日历和数字钱包,也不常带手机。
  • 有人认为如果没有日历,他们就不会去参加任何活动。
  • 有人因为有两个小孩,所以每周大约有 20-30 个“个人”事件需要记录在日历上。
  • 有人认为共享日历是管理家庭活动、体育赛事和工作日程的唯一方式。
  • 有人表示自己不使用个人日历,只在工作日历上记录工作会议。
  • 有人提到,由于忙碌的生活,日历事件、提醒和计时器是他们生活中完成任务的唯一方式。
  • 有人表示自己曾经是“技术控”,但现在对新手机和电脑的发布不再感到兴奋,因为它们没有解决他的问题。
  • 有人表示,他们对新手机的兴趣主要在于相机的改进,但智能手机相机已经足够成熟,他们愿意使用一部手机长达 4 年。
  • 有人提到,除非是通过邮寄信件,否则几乎可以肯定你的生活是以“数字格式”存在的,即使你不使用日历。

95% of Companies See ‘Zero Return’ on $30B Generative AI Spend #

https://thedailyadda.com/95-of-companies-see-zero-return-on-30-billion-generative-ai-spend-mit-report-finds/

过去三年中,全球公司在生成性人工智能项目上的投资介于 300 亿至 400 亿美元之间,但大多数投资并未带来实际的商业回报。麻省理工学院(MIT)的一项新研究发现,95% 的企业组织报告称采用人工智能工具没有可衡量的收益,只有一小部分看到了显著的好处。

报告指出,仅有 5% 的综合 AI 试点能够创造数百万的价值,而大多数企业则完全没有影响收入或盈利。许多公司急于测试 ChatGPT、Copilot 等大型语言模型平台,超过 80% 的大公司已经探索或试点了这些项目。近 40% 的公司报告称在某种程度上部署了这些系统,但研究发现大多数用例仅限于提高个人生产力,而不是提高公司的整体利润。主要原因是生成性 AI 工具常常无法与实际工作流程相匹配,报告描述了“脆弱的工作流程、缺乏上下文学习和与日常运营的不良对齐”。

与人类不同,大多数生成性 AI 模型无法保留过去的反馈或随着时间的推移建立新的推理能力。它们还难以适应上下文或将经验转移到不同的任务中。报告还降低了对生成性 AI 将在短期内导致大规模失业的担忧,相反,其影响更可能是减少公司的外部成本。这意味着企业可能会削减外包任务的开支,但不太可能很快用机器取代大量员工。这一结论与公众普遍认为生成性 AI 将迅速取代数百万工作的普遍看法相悖。

研究人员认为,这项技术远未达到这样的能力。专家说,许多失败来自于对 AI 能做什么和不能做什么的误解。一个程序可能快速生成文本或代码,但它不能像人类那样真正学习。例如,员工可以根据新指令、以前的错误和情境需求进行调整,而生成性 AI 模型除非重新训练,否则无法将这些记忆跨任务携带。投资者和高管仍然对 AI 表现出浓厚的兴趣,希望持续的进步能够弥补这些差距。但短期内的前景指向比许多人预期的更慢的进展。

研究结果表明,尽管 AI 的前景很大,但企业应该降低期望。这项技术尚未准备好在每个行业或工作流程中交付。报告还强调了围绕采用进行更智能规划的必要性。组织可能需要专注于 AI 可以带来即时、可衡量节省或生产力提升的狭窄用例。这可能包括客户支持脚本、编码辅助或文件起草,而不是全面的公司范围的转型。广泛的整合仍被认为为时过早,容易失败。


HN 热度 382 points | 评论 396 comments | 作者:speckx | 9 hours ago #

https://news.ycombinator.com/item?id=44974104

  • 报告指出,50% 的预算用于市场营销和销售,AI 自动化潜力巨大,但很多人对 AI 工具的采纳持保守态度。
  • 有人认为,AI 并不失败,而是许多现有员工不愿意采纳新工具,尤其是“影子 AI 经济”问题严重。
  • 有观点认为,个人订阅的通用 AI 工具往往比企业定制系统更受欢迎,因为它们更灵活、更易于使用。
  • 一些企业员工反映,公司提供的 AI 工具功能受限,不如个人使用的 AI 工具。
  • 有人担忧,AI 的发展可能会导致大量工作岗位的消失。
  • 有领导角色的人分享,AI 在呼叫中心的应用节省了大量成本,提高了效率。
  • 有人建议,不要立即写总结,而是存储通话音频,需要时再生成,以节省成本。
  • 有人认为,AI 在数据团队中的应用是直接与经济效益挂钩的。
  • 有人指出,一些看似由 AI 解决的问题实际上可以通过传统的机器学习模型解决。

Code review can be better #

https://tigerbeetle.com/blog/2025-08-04-code-review-can-be-better/

这篇文章讨论了作者对 GitHub 代码审查流程的不满以及他们尝试改进这一流程的经历。作者指出 GitHub 在处理堆叠拉取请求和 interdiff 审查方面支持不足,并且他认为代码审查的状态应该作为仓库的一部分存储,而不是通过远程的 Web 界面进行。作者描述了他理想的代码审查工作流程,包括在本地克隆仓库、使用编辑器和 magit 工具来导航代码和差异,并使用 git 暂存区标记已审查的文件。他认为,与代码而不是差异进行审查更为强大,因为这样可以运行测试、获取上下文、尝试重构建议等。

然而,当他需要在 PR 上留下反馈时,他必须打开浏览器,导航到 diff 中的相关行,并在等待多个 HTTP 往返后在文本区域中输入建议。作者认为,审查反馈与代码相关,最自然的界面应该是在代码中留下内联评论,甚至直接修复代码。由于数据存储在远程数据库而不是本地 git 仓库中,这导致了延迟和供应商锁定。

因此,作者开发了 git-review 工具,其核心思想是将代码审查作为一个单独的提交,位于 PR 分支之上,添加带有特定标记的代码评论。审查过程涉及作者和审查者修改这个顶部提交。当所有线程被标记为“已解决”并添加了一个明确的撤销提交时,审查结束,审查内容被保留在历史记录中。

尽管这个想法在理论上是有效的,但在实践中遇到了一些挑战。修改审查中的代码变得复杂,因为审查评论通常添加在块边界上,这导致了冲突。此外,尽管–force-with-lease 是可行的,但它也增加了摩擦。作者认为,代码审查可能需要更宽松的冲突自由合并规则,而代码则需要更强的、基于哈希链的状态转换序列。

最后,作者提到了 git 可能获得 Gerrit 风格的 Change-Id 来跟踪单个提交在重新基础上的修订,这可能会提供对每个提交的 interdiff 审查的一级支持。但这与 git-review 的方法不完全兼容,后者在分支上添加了整个单独的提交。作者希望有人能够受到启发,最终正确地解决这个问题,并提供了一些相关链接,包括 Fossil、NoteDb、git-bug、git-appraise 和 prr 等工具,以及 Jane Street 的代码审查实践,展示了一个更好的世界是可能的,只是尚未普及。作者还提到了 git-pr,这是一个类似项目,利用 git 的原生特性来替代整个拉取请求工作流程。


HN 热度 369 points | 评论 227 comments | 作者:sealeck | 1 day ago #

https://news.ycombinator.com/item?id=44967469

  • 代码审查通常在开发过程中发现问题太晚,导致需要重新设计或放弃项目。
  • 代码审查似乎是唯一让所有利益相关者真正参与并思考变更的时候。
  • 在软件工程领域,很少有工程实践,因为大多数软件的非关键性和可以即时修正错误。
  • 其他工程领域没有软件工程的这种灵活性,例如桥梁、制造厂或飞机引擎没有修正错误的机会。
  • 大型企业项目中存在设计审查,但被“真正的开发者”看不起。
  • 在许多国家,要自称为软件工程师,必须持有经过认证的大学或专业学院的正式学位。
  • 即使没有完成学位,也可以成为优秀的开发者。
  • IT 领域有可能自学所有知识,并且比一成不变的课程学得更好。
  • 有理论背景的学位在某些罕见时刻非常有用,而自学开发者可能意识不到自己缺少这些知识。
  • 学位并不能保证你具备特定技能或保留信息,只是说明你通过了考试。
  • 许多杰出的工程师没有毕业,例如达芬奇、卡马克、扎克伯格等。
  • 工程技能是通过学习意愿和解决问题的意愿获得的,可以通过电脑观看顶级课程来获得。
  • 在软件工程中,编写代码实际上是设计阶段,不需要为设计而设计的设计阶段。

Weaponizing image scaling against production AI systems #

https://blog.trailofbits.com/2025/08/21/weaponizing-image-scaling-against-production-ai-systems/

这篇文章讨论了一种新型的攻击手段,即利用图像缩放漏洞对生产中的人工智能(AI)系统进行攻击。攻击者通过发送一张看似无害的图片给大型语言模型(LLM),在图像被缩放后,图片中隐藏的提示注入(prompt injection)可以导致用户数据泄露。这种攻击之所以有效,是因为 AI 系统在处理大尺寸图片时通常会先将其缩小,缩放后的图片可能暴露出在原始分辨率下不可见的提示注入。

文章详细介绍了如何利用图像缩放漏洞攻击 Google Gemini CLI、Vertex AI Studio、Gemini 的网页和 API 接口、Google Assistant、Genspark 等生产 AI 系统,并解释了如何防御这些攻击。作者还介绍了他们开发的开源工具 Anamorpher,该工具可以帮助用户探索和生成这些精心设计的图像。

文章指出,图像缩放攻击过去主要用于模型后门、规避和投毒,主要针对那些强制固定图像大小的旧计算机视觉系统。尽管这种限制在新方法中较少见,但模型周围的系统可能仍会要求图像缩放,从而产生一个未被充分曝光但普遍存在的漏洞。

文章还提到了通过 Zapier MCP 服务器设置的数据泄露漏洞,以及如何通过图像缩放攻击在没有用户确认的情况下,将用户数据从 Google Calendar 泄露到攻击者的邮箱。此外,文章还展示了在其他平台上成功演示的图像缩放攻击,并强调了用户感知与模型输入之间的持续不匹配问题。

文章进一步探讨了图像缩放攻击如何利用下采样算法(或图像重采样算法),这些算法通过插值将多个高分辨率像素值转换为单个低分辨率像素值。文章介绍了三种主要的下采样算法:最近邻插值、双线性插值和双三次插值,并指出这些算法在不同库中的实现差异,以及这些差异如何影响图像缩放攻击的技术需求。

最后,文章解释了为什么图像下采样攻击是可能的,通过类比说明了采样率低于一定阈值时无法清晰重建图案的奈奎斯特-香农采样定理。Anamorpher 工具可以为上述三种主要方法开发精心设计的图像,文章展示了 Anamorpher 如何在双三次插值中逐帧利用这一技术。


HN 热度 307 points | 评论 80 comments | 作者:tatersolid | 12 hours ago #

https://news.ycombinator.com/item?id=44971845

  • 通过任务特定层级划分可以解决提示注入问题,上层 LLM 不需要知道下层任务的具体内容,可以对返回结果进行消毒。
  • 提示注入攻击通过在图像上隐藏文本实现,即使图像被缩放,文本依然可以被 AI 读取。
  • 利用图像缩放技术可以使图像看起来完全不同,这种攻击方式令人担忧。
  • 需要为 VLMs 制定 OWASP 指南,以覆盖所有可能的攻击方式。
  • VLMs 是结合了 LLM 和图像编码器的模型,可以识别图像内容并给出文本描述。
  • Dall-E、Midjourney 和 Stable diffusion 等模型是在 VLM 出现之前构建的,它们是匹配文本和图像输出的扩散模型。
  • VLMs 可以读取图像中的文本并信任它,这是一个严重的问题。
  • 攻击者可以利用图像在不同分辨率下显示不同内容的特性进行攻击。
  • AI 不需要运行外部 OCR 过程就能理解图像中的文本,这是其多模态系统的一部分。
  • 任何非提示部分都不应成为提示的一部分,除非触发了某些机制。

Bank forced to rehire workers after lying about chatbot productivity, union says #

https://arstechnica.com/tech-policy/2025/08/bank-forced-to-rehire-workers-after-lying-about-chatbot-productivity-union-says/

澳大利亚最大的银行——澳大利亚联邦银行(CBA)在声称聊天机器人能够处理更高的呼叫量并取代员工后,被迫重新雇佣 45 名员工。澳大利亚主要金融服务工会(FSU)声称这是 45 名工会成员的“巨大胜利”。CBA 曾宣布,推出聊天机器人导致每周呼叫量减少了 2000 个,但 FSU 表示这是“彻头彻尾的谎言”,实际上在解雇员工时呼叫量正在增加,银行不得不提供加班并重新分配管理层以应对增加的呼叫量。

在公平工作法庭的审理中,CBA 承认没有考虑到在解雇员工期间出现的呼叫量增加会持续数月,因此这些角色并非多余。CBA 向被解雇的员工道歉,并表示他们可以选择回到原来的岗位、寻找其他职位或带着离职补偿离开。全球银行预计在未来三到五年内因 AI 的预期应用将削减高达 20 万个工作岗位,CBA 的这一逆转表明,一些银行可能会急于推进 AI 项目而未经充分理解其对业务的潜在影响就解雇员工。

尽管如此,CBA 并未因此放慢脚步,上周宣布与 OpenAI 合作,探索先进的生成性 AI 解决方案,以加强欺诈检测并为客户提供更个性化的服务。CBA 表示,该银行的目标是“投资于员工及其 AI 能力,以便他们能更好地支持客户”并在其员工队伍中嵌入负责任的 AI 使用。


HN 热度 270 points | 评论 109 comments | 作者:ndsipa_pomu | 8 hours ago #

https://news.ycombinator.com/item?id=44974365

  • 聊天机器人处理客户支持问题的成功率很低,不到 5%,公司应将客户支持视为建立信任和加强业务关系的机会
  • 与聊天机器人互动通常只是更糟糕的搜索支持网站界面,无法解决问题
  • 对于技术人士来说聊天机器人不适用,但对其他 90% 的人来说可能适用,他们宁愿打电话浪费时间
  • 公司应提供“高级支持”选项,直接绕过聊天机器人和一线支持,对于因自身问题导致需要支持的呼叫收取费用
  • 客户支持应该是友好和支持性的,不应该主动对抗或挑战客户
  • 美国工人与外包工人的比例约为 1:3-8,雇佣美国工人管理高级客户服务的成本不值得
  • 有美国本土工人处理升级问题,建议允许用户自我升级并支付浪费时费用
  • 有些情况下,与聊天机器人的互动会导致循环,难以直接联系到人工支持
  • 与聊天机器人互动浪费时间,最终仍需联系人工代表解决问题
  • 客户服务中缺乏合格的升级途径,完全依赖随机分配的人工代表,无法自助解决问题
  • 客户服务体验糟糕,没有人能够升级处理,完全受制于系统随机分配的人工代表
  • 为了减少推销和保留客户的麻烦,有人谎称搬到另一个州来取消有线电视服务
  • 如果客户仍然每月支付费用,Xfinity 没有动力做出任何改变

Using Podman, Compose and BuildKit #

https://emersion.fr/blog/2025/using-podman-compose-and-buildkit/

本文介绍了作者在日常工作中如何使用 Podman、Compose 和 BuildKit 来构建和运行 Docker Compose 项目。由于 Docker 与 nftables 不兼容,作者选择了无守护进程、无需 root 权限的 Podman。Podman 提供了两种支持 Docker Compose 项目的解决方案:一种是将官方 Docker Compose CLI 连接到 Podman 套接字,另一种是使用 Podman 的替代方案。但这两种方法都有缺点,使用官方 CLI 时不会使用 BuildKit 构建器,而使用 podman-compose 替代方案时会缺少一些功能。

作者探索了如何让 Docker Compose CLI 在 Podman 下启用 BuildKit。通过直接使用 Docker Compose CLI 而不使用 wrapper,可以在 Arch Linux 上通过启用 Podman 套接字和创建新的 Docker 上下文来实现。这样,docker compose 就可以正常工作,并且会自动创建一个 buildx_buildkit_default 容器来运行 BuildKit 守护进程。

为了不使用守护进程,作者尝试了自己运行 BuildKit 守护进程,并使用 systemd 管理。然后,作者介绍了如何将 Compose 项目转换为 JSON 格式的构建命令描述,称为 Bake。通过设置 COMPOSE_BAKE=true,Docker Compose CLI 将使用 Bake 文件。作者开发了一个名为 Bakah 的小工具,它可以将 Bake 文件转换为 Podman 构建 CLI 参数,并使用 Buildah(Podman 底层使用的构建镜像的库)而不是直接调用 Podman。

Bakah 工具虽然缺少一些高级的 Bake 功能,但足以构建复杂的 Compose 项目。作者计划将来使用 Bakah 来更好地分割 Dockerfiles,并移除 CI 脚本中的 Podman CLI 调用。作者希望 Bakah 对其他人也有帮助。


HN 热度 237 points | 评论 76 comments | 作者:LaSombra | 13 hours ago #

https://news.ycombinator.com/item?id=44971212

  • Podman 可以利用 Kubernetes 风格的部署语法实现类似 docker-compose 的功能,并与 systemd 集成良好,方便管理容器化服务。
  • Podman 的 .kube 文件在指定容器网络时存在问题,但可以通过使用 Quadlet 文件解决。
  • Buildah 允许在单个层中运行多个命令,并支持循环和分支,因为它使用的是脚本语言而非 Dockerfile。
  • Podman 和 Incus 都利用 Linux c-group 技术进行容器化,性能大致相同,但 Incus 专注于系统容器,而 Podman 和 Docker 专注于 OCI 容器。
  • 可以使用 Ansible 和 Podman 作为 Kubernetes 的简单替代方案,通过 SSH 到服务器并使用 Podman 启动容器。
  • 在引入 Kubernetes 之前,可以通过垂直扩展和几个固定节点来实现相当程度的扩展。
  • Fedora CoreOS 作为不可变的基础操作系统,配合定期自动更新,可以很好地工作。

I forced every engineer to take sales calls and they rewrote our platform #

https://old.reddit.com/r/Entrepreneur/comments/1mw5yfg/forced_every_engineer_to_take_sales_calls_they/

我们那位资深的 DevOps 工程师以为我疯了。他加入一家初创公司可不是为了干销售的。于是我跟他谈条件:他只要打 5 通电话,我保证他以后再也不用干这事。来回拉锯了一会儿,但我坚信,这次经历从根本上改变了我们做产品的方式。

我旁听了几通电话,观察到几点:

  • 亲耳听他们解释为什么竞争对手的平台“对非技术用户来说太复杂”。
  • 亲耳听他们向客户保证持续监控确实在运行(我们有漂亮的日志和指标,但客户只想要一个绿色对勾)。
  • 亲耳听客户问“能不能直接帮我搞定?”时他们的回应。

我们团队大多数也是后端工程师,我觉得这让他们成了更出色的产品设计师。最后,他们没等我这个 PM 指手画脚,自己就画出了完全不同的架构图。因为他们终于明白到底是谁在用我们的产品。

重构只花了两周。我们砍掉了 60% 的功能,加了个简单的进度条,做了 Slack 集成来答疑,还推出了“交给我们搞定”的工作流。

工单量骤降 70%。

大多数工程师最大的毛病其实是过度设计。

用户不在乎你的方案多么优雅——他们只关心自己的问题有没有消失。

技术正确性 < 用户理解——如果他们用不了,代码写得再好也白搭。

每个功能都有成本——不是代码成本,而是让用户困惑的成本。

从那以后,我把这变成了团队的硬性文化:每个工程师每季度必须打 5 通销售电话。总会有点抵触,但当客户疲惫地说“我只想让这东西能用”时,一切都值了。我觉得这能帮他们养成直觉。


HN 热度 235 points | 评论 165 comments | 作者:bilsbie | 8 hours ago #

https://news.ycombinator.com/item?id=44974230

  • 工程师参与销售电话后能更好地理解客户需求,从而改进产品架构。
  • 产品经理可能没有很好地在客户和工程师之间沟通,导致工程师更了解用户需求。
  • 工程师可能过于自信,忽视了用户的实际使用体验和产品设计问题。
  • 工程师直接面对用户的反馈可以减少他们的自负,促使他们改进产品。
  • 工程师通常比产品经理更有产品开发经验,但缺乏对客户痛点的了解。
  • 许多产品经理缺乏产品开发、客户服务或业务扩展的实际知识。
  • 技术背景的产品经理可能因为过于关注技术问题而忽视了业务需求。
  • 产品经理的角色往往更侧重于企业政治和向高层管理讲述引人入胜的故事。

Hacker News 精彩评论及翻译 #

I forced every engineer to take sales calls and th… #

https://news.ycombinator.com/item?id=44974574

At the end of it, they were sketching a completely different architecture without my “PMing”. Because they finally understood who was actually using our product.

I cannot help but read this whole experience as: “We forced an engineer to take sales calls and we found out that the issue was that our PMs are doing a terrible job communicating between customer and engineering, and our DevOps engineer is more capable/actionable at turning customer needs into working solutions.”

dcastonguay

最终,他们没有我这个“产品经理”的参与,就设计出了一个截然不同的架构。因为他们终于明白了我们的真正用户是谁。我不禁将这段经历解读为:“我们强迫一位工程师去接听销售电话,结果发现,真正的问题在于我们的产品经理在客户与工程团队之间的沟通工作做得极其糟糕,而我们的DevOps工程师在将客户需求转化为实际可用解决方案方面反而更具能力、更高效。”


AWS CEO says using AI to replace junior staff is ‘… #

https://news.ycombinator.com/item?id=44972416

He wants educators to instead teach “how do you think and how do you decompose problems”

Ahmen! I attend this same church.

My favorite professor in engineering school always gave open book tests.

In the real world of work, everyone has full access to all the available data and information.

Very few jobs involve paying someone simply to look up data in a book or on the internet. What they will pay for is someone who can analyze, understand, reason and apply data and information in unique ways needed to solve problems.

Doing this is called “engineering”. And this is what this professor taught.

jqpabc123

他希望教育工作者转而教授“如何思考以及如何分解问题”。

完全正确!我信奉的是同一种理念。

我在工程学院最喜欢的教授总是进行开卷考试。

在现实的工作世界中,每个人都能接触到所有可用的数据和信息。

几乎没有工作是单纯为了让人去书里或网上查找数据而付钱的。他们真正愿意付费的,是那些能够以解决问题所需的方式,去分析、理解、推理并运用数据和信息的人。

这就叫做“工程学”。而这位教授所教的,正是这一点。


Sequoia backs Zed #

https://news.ycombinator.com/item?id=44963229

I love the spirit of Zed. From the principles to the low-level implementation details, it all screams “good taste”. It’s immensely interesting as an object of study (the code is great, from GPUI all the way up).

Having said that, I don’t think an editor should be VC backed. It’s the obvious pragmatic choice to get a team together to support a thing, but I’m concerned by it.

mccoyb

我很欣赏 Zed 的精神。从它的设计原则到底层的实现细节,都透露出绝佳的品味。作为一个研究对象,它特别引人入胜(代码非常出色,从基础架构 GPUI 直到上层都一样)。

话虽如此,我不认为一个编辑器应该有风投背景。这固然是组建团队来支持它的一个务实、明智的选择,但也让我感到担心。


2025 08 21 HackerNews

2025-08-21 08:24:15

2025-08-21 Hacker News Top Stories #

  1. AGENTS.md 是一个开放格式,用于指导编码代理,提供构建步骤、测试和约定等信息,帮助 AI 工作并保持 README 简洁。
  2. 微软 Copilot 存在安全漏洞,未记录文件访问情况,微软修复但未通知客户,可能影响安全和合规性。
  3. 作者探索了球面螺旋路径的可视化,从简单到复杂路径,展示了球面螺旋在三维空间中的移动轨迹。
  4. 教程介绍了使用 JavaScript 和矢量图形绘制太空侵略者的方法,并展示了动态生成动画的过程。
  5. D2 工具支持 ASCII 渲染,适用于源代码注释,提供了 ASCII 和 SVG 渲染选项,目前处于 alpha 阶段。
  6. Gemma 3 270M 模型在 PyTorch 中重新实现,适合本地实验,提供了性能数据和与其他模型的对比。
  7. SSO 耻辱墙列出了将单点登录视为奢侈功能的供应商,揭示了 SSO 定价差异和企业安全需求的问题。
  8. Zed 完成 3200 万美元 B 轮融资,开发最快 IDE 和 DeltaDB,支持实时协作和代码跟踪,计划开源并招聘人才。
  9. Tidewave Web 是一款浏览器内编码代理工具,支持 Rails 和 Phoenix 框架,提供深度框架集成和协作浏览器测试功能。
  10. 文章预测了 2025 年 AWS 各项服务的重大变化,包括 EC2、S3、网络服务等,强调曾经正确的知识可能不再适用。

AGENTS.md – Open format for guiding coding agents #

https://agents.md/

AGENTS.md 是一个简单、开放的格式,用于指导编码代理,被超过 20,000 个开源项目使用。它可以被视为代理的 README 文件:一个专门的、可预测的地方,提供上下文和指令,帮助 AI 编码代理在项目中工作。AGENTS.md 包含构建步骤、测试和约定等额外的上下文信息,这些信息可能会使 README 文件变得杂乱无章,或者对人类贡献者不相关。

AGENTS.md 的目的是为代理提供一个清晰、可预测的指令位置,保持 README 文件简洁,专注于人类贡献者,并提供精确的、代理专注的指导,补充现有的 README 和文档。AGENTS.md 采用一个名称和格式,可以适用于任何人。如果你正在构建或使用编码代理并发现这有帮助,可以自由采用。

AGENTS.md 文件与多个代理兼容,你的代理定义与不断增长的 AI 编码代理和工具生态系统兼容,包括 OpenAI Codex、Amp、Google 的 Jules、Cursor 和 Factory 等。

如何使用 AGENTS.md:

  1. 在仓库根目录添加 AGENTS.md 文件。
  2. 添加有助于代理有效工作在项目中的部分,如项目概览、构建和测试命令、代码风格指南、测试指令、安全考虑等。
  3. 添加额外的指令,如提交消息或拉取请求指南、安全问题、大型数据集、部署步骤等。
  4. 对于大型单体仓库,可以在子项目中使用嵌套 AGENTS.md 文件。代理会自动读取目录树中最近的文件,因此最近的文件将优先,每个子项目都可以提供定制的指令。

AGENTS.md 是由 AI 软件开发生态系统中的合作努力产生的,包括 OpenAI Codex、Amp、Google 的 Jules、Cursor 和 Factory。我们致力于帮助维护和发展这一开放格式,使其惠及整个开发者社区,无论使用哪种编码代理。

AGENTS.md 没有必填字段,它只是标准的 Markdown。你可以使用任何你喜欢的标题;代理只会解析你提供的文本。如果指令冲突,最近的 AGENTS.md 文件优先;明确的用户聊天提示可以覆盖一切。代理会自动运行 AGENTS.md 中找到的测试命令,如果列出它们,代理将尝试执行相关的程序检查,并在完成任务前修复失败。你可以稍后更新 AGENTS.md,将其视为活文档。如果需要将现有文档迁移到 AGENTS.md,可以将现有文件重命名为 AGENTS.md,并为向后兼容创建符号链接。


HN 热度 778 points | 评论 370 comments | 作者:ghuntley | 24 hours ago #

https://news.ycombinator.com/item?id=44957443

  • 使用文件夹结构而不是单个文件,可以为复杂项目提供结构,同时减少无关上下文的干扰,提高响应准确性,便于维护。
  • 隐藏重要文件和目录是传统做法,但这种做法使项目更不透明。
  • 为了避免与项目中实际存在的 agents/ 目录冲突,使用隐藏文件是有必要的。
  • 应该使用一个更独特的名称,如 .codebots.context,而不是 .agents
  • .gitignore 类似的文件可以嵌套使用,减少项目命名空间冲突的可能性。
  • 代理文件自动读取目录树中最近的文件,因此最近的文件优先级更高。
  • 使用下划线而不是点来命名可能更好。
  • 如果需要实际的 example.com/agents 路由和代理列表,.agents 目录或假装是目录的路由是有用的。
  • 现代 Web 堆栈已经将 URL 路由与源代码目录结构解耦。
  • 代码放在 /src 并不意味着 example.com/agents 不能作为路由。
  • 接受 2025 年不再遵循 Unix 传统,直接使用“source”作为目录名称。
  • 考虑到可输入性、屏幕空间、熟悉度/惯例等因素,路径长度和全单词命名有其优势。
  • 在 Windows 系统中,路径长度仍然是一个需要考虑的问题。
  • 通过配置可以启用不区分大小写的 Tab 补全功能。
  • 为了优化打字体验,短名称更快捷、更省力。
  • 路径中使用全单词而非缩写可以提高可读性和易用性。
  • 路径中包含空格没有问题,问题是由 Unix 和 Linux 的 shell 引起的。
  • 路径中加入表情符号可以代表创建者的情绪状态。

Copilot broke audit logs, but Microsoft won’t tell customers #

https://pistachioapp.com/blog/copilot-broke-your-audit-log

微软全力投入人工智能领域,其旗舰 AI 产品 Copilot 允许用户在日常工作中利用 AI 与微软服务互动并执行任务。然而,这也带来了新的安全问题。7 月 4 日,作者发现 M365 Copilot 存在一个问题:有时它访问文件并返回信息,但审计日志并未记录。进一步测试后,作者发现只需要求 Copilot 这样做,就能不留痕迹地访问文件。这对安全和法律合规性都造成了问题,作者立即通过微软的 MSRC 门户报告了这一问题。

微软提供了清晰的指南,说明报告漏洞时的预期流程,但在处理这一问题时并未遵循该指南。尽管微软修复了这个问题,并将此问题归类为“重要”漏洞,但他们决定不通知客户或公开这一事件。这意味着你的审计日志可能是错误的,而微软不打算告诉你。

文章分为三部分:第一部分解释了 Copilot 的漏洞及其可能造成的问题;第二部分概述了微软如何处理这个案例;第三部分讨论了微软不公开这一信息的决定,以及作者认为这对微软客户是一个巨大的不服务。

漏洞非常简单:通常,如果你要求 M365 Copilot 为你总结一个文件,它会给出总结,审计日志也会显示 Copilot 代表你访问了该文件。这是好的,因为审计日志很重要。如果有人离职前下载了一堆文件去竞争对手那里,你会想要一些记录,如果这个人可以使用 Copilot 而不被发现,那将是不好的。或者你的公司有敏感的个人数据,你需要严格记录谁访问了这些文件,以满足法律和合规目的;同样,你需要知道通过 Copilot 发生的访问。这只是两个例子。组织依赖于拥有准确的审计日志。

但如果要求 Copilot 不提供它总结的文件链接会怎样?在这种情况下,审计日志为空。就这样,你的审计日志是错误的。对于恶意内部人士来说,避免检测就像要求 Copilot 一样简单。

你可能在想,“哎呀,但我想没有多少人发现这一点,所以可能还好。”不幸的是,你错了。当我发现这个问题时,我并不是在寻找破坏审计日志的方法。相反,我只是试图触发审计日志,以便测试我们在 Pistachio 开发的功能性,我注意到它是不可靠的。换句话说,这可能会偶然发生。

作者从未向微软报告过漏洞,对流程的初步反应是相当积极的。能够提交问题已经感觉异常友好,按照微软的标准。而且,他们甚至有关于预期的指南。不幸的是,一切都没有按计划进行。7 月 7 日,我的报告状态被更改为“重现”,但当我在 7 月 10 日提供更多证据时,功能已经改变。这不是微软的政策;他们应该先重现,然后开始修复时进入“开发”阶段。看到功能在仍在“重现”阶段就改变,让作者认为微软会回复说他们无法重现问题,实际上他们已经根据我的报告修复了它。

作者询问 MSRC 发生了什么,他们没有给出简单解释,而是将报告状态更改为“开发”并保持沉默。直到那时,作者认为微软会遵循流程,并在需要偏离时与作者协调。相反,感觉流程不是真实发生的事情的反映,更像是 Domino’s Pizza Tracker 对安全研究人员来说。状态不是真实的。

8 月 2 日,微软通知作者,完整的修复将在 8 月 17 日发布,作者可以在 8 月 18 日自由披露。然后作者询问何时会发布 CVE 编号,被告知:CVE 是在客户需要采取行动以保持保护时,分配给安全发布中部署的修复的。在这种情况下,缓解措施将自动推送到 Copilot,用户不需要手动更新产品,也不会分配 CVE。

这根本不是微软的政策,作者通过链接到他们自己的政策向他们指出了这一点。MSRC 然后回复说,“我理解你可能没有完全了解 MSRC 如何处理这些案例”,好像作者是错误的。然后他们解释说,漏洞被归类为“重要”,而不是“关键”,这就是为什么他们不会发布 CVE。

如果微软不为这个漏洞发布 CVE,他们将如何通知客户?答案是他们不会。在 8 月 14 日的电话中,微软告诉作者,他们没有计划披露这一点。作者强烈认为这是错误的。如果这是一个深奥的漏洞,那么默默继续可能是可以的,但现实是它如此简单,以至于基本上是偶然发生的。如果你在一家在 8 月 18 日之前使用 Copilot 的组织工作,你的审计日志很可能是不完整的。组织不需要知道吗?那些受 HIPAA 管辖并依赖微软的审计日志以满足一些技术安全要求的公司呢?尽管微软声称 M365 Copilot 可以符合 HIPAA 合规性,他们不知道吗?几乎可以肯定还有其他受监管实体有类似的要求,他们也不会被告知。有如此多的案例,组织依赖审计日志来检测、调查和响应事件。在一些诉讼中,审计日志被用作重要证据。美国政府甚至对微软收取更多审计日志费用提出了问题,一位美国参议员羞辱了微软,并将审计日志记录称为基本的安全功能。现在微软说,尽管对于任何使用 Copilot 的客户来说,审计日志很可能是错误的,但没有人需要知道?这引发了关于微软选择默默扫除的其他问题的严重质疑。


HN 热度 751 points | 评论 277 comments | 作者:Sayrus | 24 hours ago #

https://news.ycombinator.com/item?id=44957454

  • 访问控制问题可以通过为每个用户创建向量数据库、搜索索引或“AI 搜索数据库”来解决,但这在实际操作中是不可行且无法扩展的。
  • 存在一种特定情况的“混乱代理问题”,即代理在执行任务时可能会无意中泄露敏感信息。
  • 企业级 RAG 解决方案可能会为每个用户创建索引来解决访问控制问题,尤其是在涉及复杂 ACLs 时。
  • 直接检索(例如数据库查询生成)可以避免向量 RAG 的时间消耗、成本和不安全性。
  • 跟踪用户访问权限是可行的,并且可以扩展,通过在向量数据库/索引中搜索匹配文档,然后检查当前用户可以访问哪些文档。
  • 银行电话服务的模式可以应用于此,即操作员只有在用户通过身份验证后才能查看账户详情。
  • 即使用户只能访问匹配查询的一小部分文档,基本实现也会返回大量文档,然后进行昂贵的访问检查。
  • 搜索必须在访问层面上有所意识,以合理地预先过滤用户可以访问的文档内容。
  • Google 的内部结构化搜索引擎几十年前就解决了这个问题。
  • 可以通过将访问检查移动到数据库层来避免许多问题,例如使用支持过滤和向量搜索的数据库。
  • 使用支持过滤和向量搜索的数据库可以简化问题,例如使用 pgvector 的 Postgres。
  • 通过在数据库层面进行访问检查,可以避免许多麻烦。
  • Apache Accumulo 解决了访问感知查询的问题。
  • ServiceNow 将访问控制问题推给用户,导致用户体验不佳。
  • 即使需要多次点击“更多”按钮,用户体验也很差。
  • 如果文档被按组/角色索引,并且有某种形式的 RBAC,那么匹配查询的文档数量过多的问题就不会发生。
  • 如果采取按组/角色索引的方法,当组/角色变化时需要重新索引,这并不总是可行的。
  • 只需要更新文档的元数据,而不需要完全重新索引。
  • 与原始提议相比,使用索引要好得多,并且更新索引的成本应该不高。
  • 只需要在元数据(角色访问)变化时重新索引文档,这比更新实际内容索引(向量嵌入)的成本要低得多。

Show HN: I was curious about spherical helix, ended up making this visualization #

https://visualrambling.space/moving-objects-in-3d/

这篇文章介绍了如何在三维空间中移动物体,特别是沿着球面螺旋路径的移动。作者最初对这个问题产生了好奇,并深入研究了相关文章和数学函数。文章从简单的圆形路径开始,逐步探索到螺旋形路径,最终实现复杂的球面螺旋路径。

在三维空间中,物体的位置由 x、y、z 三个坐标轴确定,分别代表水平、垂直和深度方向的移动。通过数学函数,我们可以设定物体随时间变化的位置。例如,通过设置 x 和 y 坐标的函数,可以使物体在二维平面上画出圆形路径。通过调整这些函数,还可以创造出更复杂的路径,如半径随时间增长的螺旋形路径。

文章重点介绍了球面螺旋路径的创建。与普通螺旋不同,球面螺旋是三维的,并且 z 坐标也会随时间变化。通过特定的数学函数,可以使物体的 x 和 y 坐标先增大后减小,而 z 坐标则持续变化,从而形成球面螺旋路径。

总结来说,通过将物体的 x、y、z 坐标定义为时间的函数,即参数方程,我们可以在三维空间中移动物体。这些参数方程使我们能够创造出从简单圆形到复杂路径的各种移动轨迹。作者鼓励读者发挥创意,利用这些知识在三维空间中移动物体。文章最后提到,visualrambling.space 是作者 Damar 的个人项目,他喜欢通过视觉方式探讨不同主题。如果读者喜欢这篇文章,可以关注他的 Twitter 或分享给朋友,并期待他未来的更多文章。


HN 热度 591 points | 评论 106 comments | 作者:damarberlari | 10 hours ago #

https://news.ycombinator.com/item?id=44962066

  • 海洋导航中使用球面螺旋路径可以保持恒定方位角,便于航行。
  • 球面螺旋路径在极坐标投影中呈现对数螺旋,在侧视图中呈现波包。
  • 球面螺旋路径不是斜线,因为斜线必须始终以相同角度穿过子午线,而球面螺旋路径在极点附近更密集。
  • 球面螺旋路径的参数方程和球坐标转换显示其不是斜线。
  • 提到了其他与球面几何相关的项目和讨论。
  • 球面几何在 Hacker News 上引起了广泛讨论。
  • 球面螺旋路径的可视化对于理解几何概念很有帮助。
  • 球面螺旋路径的可视化展示了数学的趣味性和实用性。
  • 要实现恒定速度移动,需要进行欧几里得参数化。
  • 恒定速度移动通常需要数值方法来实现。
  • 运动轮廓技术在控制理论中有广泛应用。
  • 弧长参数化是实现恒定速度移动的数学方法之一。
  • 对于游戏中的路径跟踪,可以采用迭代系统和基本的插值方法。

How to Draw a Space Invader #

https://muffinman.io/blog/invaders/

这篇文章是关于如何使用 JavaScript 绘制一个太空侵略者(Space Invader)的教程。作者首先介绍了他创建太空侵略者生成器的背景,这是为了参加创意编码阿姆斯特丹代码挑战而制作的。他通过这个项目,不仅为了乐趣,也为了展示如何使用 JavaScript 和矢量图形技术来生成太空侵略者的动画。

文章的开始部分,作者分享了他是如何开始这个项目的。他正在开发一个名为 Rayven 的矢量 3D 渲染器,并希望通过使用这个工具来绘制一些图案,而不是无休止地调整渲染器本身。他选择了太空侵略者,因为它们体积小,可以用 3D 块轻松渲染,并且作为电子游戏历史的一部分,它们具有很高的辨识度。

接着,作者描述了如何从草图到像素的过程。他首先在纸上涂鸦,然后使用 Aseprite 数字工具进行绘制。他绘制了 38 个不同的太空侵略者,它们都适合在一个 15x15 像素的网格中,比原始的稍大,但他对结果非常满意。

在确定了如何生成太空侵略者的基本模式后,作者选择了利用自己的优势——几何和矢量图形——来生成矢量太空侵略者。他很高兴地发现,他实现的方法可以生成他手绘的大部分太空侵略者。

文章详细介绍了如何构建太空侵略者的过程。首先,作者介绍了如何在视口中绘制一个网格,并在滚动页面时在其上绘制侵略者。他从身体的构建开始,几乎所有的身体都类似于一个低分辨率的多边形。他计划生成一个矢量多边形,并利用网格的低分辨率来掩盖矢量图形的不足。

作者接着描述了如何找到身体的中心点,定义顶部和底部点,并绘制左侧的身体。他最初限制在两个或三个点的凸形状,后来允许更多的点并放弃了凸规则,这产生了更有趣的结果。然后,他将左侧的顶点镜像到右侧,并连接这些点形成一个多边形,从而为侵略者构建了身体。

接下来,作者讲述了如何添加肢体。在代码中,底部的肢体被称为触手,顶部的被称为角。它们以相同的方式生成,只是参数不同。他展示了如何生成一个触手,然后使用相同的技术生成其他触手和角。

最后,作者讨论了如何将矢量图形转换为像素。他的第一个想法是计算每个像素有多少部分位于矢量形状内部,并据此进行绘制。这个过程涉及到将矢量图形转换为我们都熟悉和喜爱的像素化外观。


HN 热度 504 points | 评论 52 comments | 作者:abdusco | 1 day ago #

https://news.ycombinator.com/item?id=44956915

  • 空间入侵者生成器的界面和随机颜色调色板得到了用户的喜爱。
  • 用户认为这些生成的入侵者图案看起来非常接近于块印的中文或日文字符。
  • 早期互联网的杰作之一,与 Complexification.net 并列,尽管大多数示例由于 Flash 和 Java 的淘汰而不再运行。
  • 用户对文章的移动阅读体验表示赞赏。
  • OKLCH 颜色模型被认为是代码中处理颜色的一大升级。
  • 用户对于文章中保持一致的亮度表示赞赏,但同时对 HSL 中容易记忆的色调值的丢失表示遗憾。
  • 用户对于作者在文章中不使用 AI 而采用有趣的方式来创建内容表示赞赏。
  • 有人提到,通过刷新页面可以改变生成的入侵者图案。
  • 用户对于作者没有使用 AI 来创建这个项目表示赞赏,认为 AI 会从这样的项目中夺走创造的乐趣。
  • 用户对于文章的布局和设计表示赞赏,认为这是他们见过的最令人愉快的阅读网站之一。
  • 用户对于作者将 rayven 放在 GitHub 上的计划表示兴趣。
  • 用户对于文章中不使用 AI 的“有趣方式”表示赞赏。
  • 用户对于文章中生成的特定入侵者图案表示喜爱,并分享了链接。
  • 用户回忆起 80 年代使用遗传编程在 Atari Logo 上创建空间入侵者游戏的经历。
  • 用户对于文章的跟踪功能表示赞赏,认为这是一个在网页上不常见的好策略。
  • 用户对于文章中图像/动画在滚动时保持在顶部的设计表示赞赏。
  • 用户对于文章中不使用 AI 的“有趣方式”表示赞赏。
  • 用户对于文章中随机生成的入侵者图案表示喜爱,并分享了链接。

D2 (text to diagram tool) now supports ASCII renders #

https://d2lang.com/blog/ascii/

最新版本的 D2(0.7.1)引入了 ASCII 输出功能。任何扩展名为 txt 的输出文件都将使用 ASCII 渲染器进行写入。ASCII 图示在源代码注释中非常有用,简单的图示可以比文字描述更清晰地说明流程。

D2 的 Vim 扩展展示了如何编写 d2 代码并将选择的内容替换为 ASCII 渲染图。ASCII 渲染器默认使用 Unicode 字符集,如果需要最大可移植性,可以使用–ascii-mode=standard 标志指定标准 ASCII。ASCII 渲染器目前处于 alpha 阶段,可能会有许多改进空间和错误。如果用户在使用过程中遇到问题,可以通过 GitHub 提交问题。

ASCII 渲染器不支持样式,主题也不适用。由于 ASCII 渲染的离散坐标空间,某些输出可能看起来不如 SVG 版本均匀。某些特殊文本、图像和图标、UML 类和 SQL 表目前未特殊处理。

并非所有形状都支持 ASCII 渲染,一些形状如云和圆形的曲线在 ASCII 中难以表现,因此会以矩形形式渲染并在左上角添加一个小图标表示原本的形状。D2 Playground 中现已提供实时体验,用户可以尝试打开代码块进行操作。


HN 热度 426 points | 评论 71 comments | 作者:alixanderwang | 1 day ago #

https://news.ycombinator.com/item?id=44954524

  • D2 的新功能支持 ASCII 渲染,但存在暗色模式下渲染问题,已修复。
  • SVG 渲染器支持自定义节点 ID 和属性。
  • D2 从 ELK 下降,不需要指定 ELK,输出 .txt 时自动启用。
  • 用户对 D2 工具表示感谢,认为它满足了所有图表需求。
  • 提供了一个有用的文本到图表比较网站的链接。
  • D2 的网格布局功能被认为基本上无用。
  • D2 计划在下一个版本中解决网格布局问题。
  • 用户希望 D2 能集成到 GitHub 和 Notion。
  • ASCII 转换功能很好,但如何获取原始 D2 源代码以便更新图表?
  • D2 不能在浏览器中独立工作,需要后端服务器生成图表。
  • D2.js 是一个围绕 wasm 端口的 D2 的包装器,可以在浏览器中工作。
  • 用户对 D2 能够在托管平台使用感到兴奋。
  • D2 本地使用方便,有监视模式,可以实时开发图表。
  • 与 Mermaid 相比,D2 需要一个 web 服务器,而 Mermaid 可以直接嵌入链接。
  • 有人分享了一个文本到图表的工具列表。
  • 官方 Mermaid 游乐场同时支持 UI 和文本编辑,极大地改变了工作流程。
  • D2 的语法更简洁,支持更好的组合功能,如层和场景。
  • D2 允许更多元素混合,因为它使用特殊形状在一个通用图表类型中。
  • MermaidJS 的 WiiU 示例由于子图不创建命名空间而损坏。

Gemma 3 270M re-implemented in pure PyTorch for local tinkering #

https://github.com/rasbt/LLMs-from-scratch/tree/main/ch05/12_gemma3

这个网页是 GitHub 上的一个项目页面,名为“LLMs-from-scratch”,由用户 rasbt 维护。该项目提供了从头开始实现 Gemma 3 270M 语言模型的 Jupyter 笔记本。这个笔记本需要大约 2GB 的 RAM 才能运行。项目中还提供了另一个笔记本“standalone-gemma3-plus-kvcache.ipynb”,它增加了 KV 缓存以提高运行时性能,但增加了代码复杂性。文章还介绍了 KV 缓存的相关信息,并提供了一个关于 KV 缓存在 LLMs 中实现的文章链接。

在性能方面,页面列出了不同硬件配置下 Gemma3Model 270M 的性能数据,包括在 Mac Mini M4 CPU 和 GPU 以及 Nvidia A100 GPU 上的表现。数据显示,使用 KV 缓存的版本在 Mac Mini M4 CPU 上每秒可以处理 130 到 224 个令牌,而在 Nvidia A100 GPU 上则为 26 到 99 个令牌。

此外,页面还提供了与 Qwen3 0.6B 模型的对比,并提供了一个链接到 Qwen3 0.6B 的独立笔记本。对于对架构差异感兴趣的用户,页面推荐了一篇关于现代大型语言模型架构设计的文章,提供了从 DeepSeek-V3 到 Kimi K2 的比较。页面底部包含了 GitHub 的版权信息和相关链接。


HN 热度 283 points | 评论 45 comments | 作者:ModelForge | 10 hours ago #

https://news.ycombinator.com/item?id=44962059

  • Gemma 3 270M 模型的 PyTorch 重新实现对于非机器学习专家来说,具有在本地进行实验和调整的优势。
  • tflite 模型在 AI 边缘画廊应用的 GPU 上执行时输出异常,但在 CPU 上完全正常工作。
  • 在小规模模型中,嵌入层是一个重要的焦点,因为它们可以减少设备处理的输入和输出令牌数量,降低计算成本。
  • 使用 PyTorch 训练模型时,可以考虑将矩阵标记为稀疏并使用 SparseAdam 来提高性能。
  • 训练 Gemma3 需要特定的硬件配置和时间,具体细节可以在技术报告中找到。
  • 模型已经在不同的任务上进行了微调,并且有相关的性能数据可供参考。
  • 模型可能能够执行基本的提示功能调用,但不要期望在大规模上下文窗口的多玩家聊天(MCP)中有很好的表现。
  • 对于复杂的自然语言处理任务,如命名实体识别(NER),可能更适合使用编码器模型。
  • 模型可以用于私有的、设备上的模型,算法研究,以及低成本的任务,如分类/归类。
  • 模型需要根据特定任务进行调整,以使其成为一个灵活的起点,并且需要合作伙伴将其放入正确的框架和位置以便用户进行定制。

Vendors that treat single sign-on as a luxury feature #

https://sso.tax/

这个网页是一个名为“SSO 耻辱墙”的列表,它列出了一些将单点登录(SSO)视为奢侈功能而非核心安全需求的供应商。SSO 是一种将网站(或其他产品)的认证外包给第三方身份提供商的机制,例如 Google、Okta、Entra ID(Azure AD)、PingFederate 等。SSO 允许企业客户通过自己的身分提供者管理用户账户,而不需要依赖供应商提供强大的认证和审计日志,并且能够集中创建和删除所有用户账户。

对于拥有超过几名员工的组织来说,SSO 对于 IT 和安全团队来说至关重要,因为它可以帮助他们有效地管理跨多个供应商的用户账户,其中许多供应商不支持诸如 TOTP 2FA 或 U2F 等功能。如果员工离职,IT 团队可以立即禁用他们对所有应用程序的访问,而不必登录 100 个不同的用户管理门户。

简而言之,对于拥有超过五名员工的任何公司来说,SSO 是核心安全需求。然而,SaaS 供应商似乎没有收到这一信息。SSO 通常只在“企业”定价中提供,这假设了用户数量巨大(最低座位数)或与其他“企业”功能捆绑在一起,这些功能对使用软件的公司可能没有价值。

如果公司声称“认真对待您的安全”,那么 SSO 应该作为一个特性可用,要么是核心产品的一部分,要么是合理的额外付费选项,或者与价格层级相关,但非 SSO 层级和 SSO 层级之间的差距应该很小。许多供应商对 SSO 的收费是基础产品定价的 2 倍、3 倍甚至 4 倍,这阻碍了其使用并鼓励了不良的安全实践。

网页上列出了多个供应商及其基础定价、SSO 定价以及价格增加的百分比,更新日期从 2018 年到 2024 年不等。例如,Adobe Acrobat Pro 的基础定价为 23.99 美元,SSO 定价为 27.99 美元,增加了 17%;而 Appsmith 的基础定价为 15 美元/用户/月,SSO 定价为 250001 美元/用户/月,增加了 16567%。这些数据展示了不同供应商在 SSO 功能上的价格差异。


HN 热度 279 points | 评论 181 comments | 作者:vinnyglennon | 1 day ago #

https://news.ycombinator.com/item?id=44955457

  • SSO 税与技术或支持成本关系不大,更多与市场细分有关,大型客户因 SOC2 认证需求而需要 SSO
  • 大型价格不敏感的客户为价格敏感的客户支付费用,这是普遍的市场细分做法
  • 没有市场细分的情况下,单一价格会更接近企业价格而非非企业价格
  • 价格歧视使生产商能够从支付意愿高的消费者那里获取消费者剩余,并以更低价格向支付意愿低的消费者提供产品
  • 垄断下的价格歧视可能导致供应量增加,但不会超过完全竞争下的水平
  • 价格歧视可能会减少固定价格下的非社会最优生产量
  • 软件服务提供商是否拥有不当定价权是一个隐含的争议
  • 提供 SSO 折扣或向所有人收取企业价格以消除市场细分是一个值得探讨的问题
  • 将 SSO 称为非企业折扣与提供学生折扣没有区别,不应受到质疑
  • 将 SSO 视为非企业折扣的语义问题,实际上不会改变人们最终支付的金额
  • 框架很重要,可以参考特斯拉因不同软件而对相同硬件收取不同价格的投诉
  • 没有人质疑非营利组织折扣或初创企业折扣
  • 一些公司提供有限技术支持的折扣计划,而其他公司则为相同产品收取高额支持费用
  • 大型企业客户除了支付额外费用外,还必须为支持服务支付费用,而这些支持服务往往质量不高
  • SSO 税的讨论忽略了 SSO 带来的支持成本,SSO 是支持负担最大的部分
  • 一些供应商即使不提供自定义 SSO,只提供 OIDC,也会收取高额 SSO 税
  • 身份支持的主要成本是 2FA,而不是 SSO

Sequoia backs Zed #

https://zed.dev/blog/sequoia-backs-zed

2025 年 8 月 20 日,Zed 公司宣布完成了由红杉资本领投的 3200 万美元 B 轮融资,使得公司总融资额超过 4200 万美元。在过去四年中,Zed 致力于构建世界上最快的集成开发环境(IDE),这仅是他们宏伟蓝图的基础。Zed 的最终愿景是创造一种全新的软件协作方式,让关于代码的讨论与代码本身紧密相连,而不是分散在不同的工具中。

Zed 正在开发一种新型的操作级版本控制系统 DeltaDB,它能够以编辑级别的粒度增量跟踪代码的演变,并将其集成到 Zed 中,使与代理和队友的协作成为编码体验的首要部分。DeltaDB 使用 CRDTs(Conflict-free Replicated Data Types)来实时记录和同步更改,支持与 Git 的互操作,但其基于操作的设计支持 Git 快照不支持的实时交互。对于异步交互,细粒度的更改跟踪还支持字符级别的永久链接,使得讨论可以锚定在代码库的任意位置,而不仅仅是最近更改的代码的快照。

Zed 的目标是将代码库转变为一个活生生、可导航的历史记录,记录软件是如何演变的,人类和 AI 代理的讨论与它们引用的代码持久链接,并且始终保持最新。这不仅仅是版本控制的演变,还包括了代码如何以及为何达到特定状态的背景信息,AI 代理可以查询这些信息以做出更明智的编辑,理解塑造现有代码的假设、约束和决策。

Zed 是开源的,并提供可选的付费服务。公司计划对 DeltaDB 采取相同的策略:构建它,开源它,并提供可选的付费服务。随着开发的进展,公司将分享更多细节。Zed 正在招聘,涵盖工程和产品设计领域,无论是对 IDE 中的协作、核心 Zed 项目(如跨操作系统字体渲染和 GPU 着色器)感兴趣,还是希望改进世界上最好的开源开放数据语言模型以进行编辑预测,都有适合的职位。Zed 邀请志同道合的人加入,共同塑造软件开发的未来。


HN 热度 265 points | 评论 178 comments | 作者:vquemener | 12 hours ago #

https://news.ycombinator.com/item?id=44961172

  • Zed 的理念和低层实现细节都展现出“好品味”,作为一个研究对象非常有趣
  • 编辑器不应该接受风险投资支持,虽然这是组建团队支持项目的实用选择,但对此表示担忧
  • Sublime Text 17 年前通过古老的共享软件模式解决了这个问题,并且比 Zed 快,支持多个操作系统,且可定制性不错
  • Sublime Text 2 时期几乎每个人都在使用,但后来被其他编辑器超越
  • Sublime Text 因为长时间没有更新而被 Atom 和其他编辑器赶上
  • Sublime Text 4 的用户对 LSP 插件感到满意,认为性能和可定制的 UI 使其比 VSCode 更有价值
  • LSP 插件的使用使得一些人从 Sublime Text 转向 Zed,因为语言集成现在是编辑器的基本要求
  • 有人认为 Sublime Text 并没有死,仍在更新且工作良好,愿意为其付费
  • 根据 Stack Overflow 的调查,Sublime Text 不再拥有过去的市场份额
  • Sublime Text 的插件化特性使其易于变得不可用
  • Emacs 和 Sublime Text 都存在插件过多导致的问题
  • VS Code 可能是编辑器/IDE 的最佳平衡点,简单功能内置或通过官方插件提供
  • VS Code 无需创建整个项目即可执行快速的临时命令
  • Emacs 通过 eglot 提供了良好的 IDE 功能
  • Sublime Text 4 存在许多插件问题,不再值得手动修复
  • 有人因为 Sublime Text 语言插件的维护者难以合作而回到 Emacs
  • Atom 和 VS Code 因其 JavaScript 扩展能力而超越了 Sublime Text
  • Sublime Text 在升级提示中使用了暗模式,导致用户感到不满
  • Sublime Text 4 采用了新的 3 年更新许可模式,让人感觉不舒服
  • Zed 在 Linux/Win/MacOS 上运行,速度非常快,比任何 Electron 应用都快
  • 有人对 Sublime Text 的速度表示怀疑
  • 有人认为接受风险投资会导致 Zed 最终被商业化,可能会看到越来越多的功能被锁定在付费订阅后面
  • 有人怀疑其他编辑器会跟随 Zed 的脚步,因为大家都在使用 Electron,对 Rust 的接受度不高,且 Rust 人才有限

Tidewave Web: in-browser coding agent for Rails and Phoenix #

https://tidewave.ai/blog/tidewave-web-phoenix-rails

Tidewave Web 是一款针对 Rails 和 Phoenix 的浏览器内编码代理工具,它能够在开发者自己的开发环境中直接运行,与网页应用并行工作,提供完整的页面和代码上下文。与传统编码代理不同,Tidewave Web 能够理解用户界面状态,知道框架结构,并在实际的开发环境中运行,无需用户描述屏幕内容或手动追踪代码路径。

Tidewave Web 的主要特点包括:

  1. 共享页面上下文:Tidewave 可以直接访问当前用户界面状态,并自动将其映射到相应的控制器、视图和模板,避免了描述所看内容或手动追踪代码路径的需要。
  2. 深度框架集成:Tidewave 能够在运行中的 Rails/Phoenix 应用中执行代码,查询数据库,监控日志,访问文档等,提供与开发者相同的工具。
  3. 协作浏览器测试:Tidewave 在浏览器中构建完整的功能并验证其工作情况,用户可以使用点击式检查器提出改进建议和请求更改。
  4. 在开发环境中运行:只需在 Rails/Phoenix 应用中添加一个包,连接现有的 GitHub Copilot 或 Anthropic 账户,然后在浏览器中访问 /tidewave 路由。

Tidewave Web 提供免费试用,用户每月可以发送 20 条用户消息。通过订阅 Tidewave Pro,每月支付 10 美元,用户可以解锁无限消息。目前,Tidewave Web 主要针对全栈 Rails 和 Phoenix 应用,不支持 React 或 Vue 等客户端框架,但 React 支持已在开发计划中。团队还在努力集成更多网络框架,如 Django、Flask 和 Next.js,并邀请用户加入等待列表或 Discord 服务器以获取最新信息。

Dashbit 团队拥有数十年构建、维护和贡献开发者工具、网络框架和编程语言的经验。Tidewave 旨在探索 AI 开发工具的新方向,使 AI 工具能够更深入地理解不同领域的技术和环境。Tidewave Web 为 Rails 和 Phoenix 提供的浏览器内编码代理只是开始,团队对未来的发展充满期待。


HN 热度 256 points | 评论 47 comments | 作者:kieloo | 15 hours ago #

https://news.ycombinator.com/item?id=44960316

  • Tidewave Web 作为 Rails 和 Phoenix 的浏览器内编码代理,能够更好地集成语言运行时和应用程序界面,提高开发效率。
  • Tidewave Web 能够识别视图和模板,与渲染页面相关联,自动化浏览器实现和验证功能,减少开发者的工作量。
  • 有用户认为 Tidewave Web 的浏览器集成可能带来一些好处,但不足以放弃现有的 IDE/CLI 工具和工作流程。
  • 有人提到 Playwright MCP 作为浏览器扩展运行,可以覆盖开发设置和登录部分,但不确定是否支持点选交互。
  • 有用户询问 Tidewave Web 是否支持 Ash 框架和 Django,开发者表示 Ash 框架应该可以正常工作,Django 也在开发计划中。
  • 一些用户在测试 Tidewave Web 时发现它在执行某些指令时存在困难,对大型任务的信任度不高,但认为它在处理 UI 部分的工作时表现出色。
  • 有用户提到在使用过程中遇到了 Anthropic API 的限制问题,并且对 Tidewave 的上下文窗口使用限制表示疑惑。
  • 一些用户对 Tidewave Web 的订阅费用表示犹豫,认为虽然不贵,但作为不完整的解决方案,需要与其他订阅服务叠加,可能会造成额外的经济负担。

AWS in 2025: Stuff you think you know that’s now wrong #

https://www.lastweekinaws.com/blog/aws-in-2025-the-stuff-you-think-you-know-thats-now-wrong/

AWS 在 2025 年的发展已经改变了一些我们曾经认为正确的知识。以下是一些关键的演变:

  1. EC2 服务的改进

    • 现在可以在不关闭实例的情况下更改安全组和 IAM 角色。
    • 可以在线调整实例大小、附加或分离 EBS 卷。
    • 可以强制 EC2 实例停止或终止,无需等待干净的关闭或超时。
    • 实例现在可以实时迁移到其他物理主机,减少了实例降级通知的出现。
    • 实例的可靠性显著提高,几乎不再出现突然消失的情况。
    • 现货实例的市场竞争不再激烈,价格波动更平缓。
    • 专用实例的需求减少,自 HIPAA BAAs 以来已近十年不再需要。
    • AMI 默认阻止公共访问,新账户默认启用,旧账户在 2023 年也已启用。
  2. S3 服务的变化

    • S3 现在是读后写一致的,不再是最终一致性。
    • 不再需要随机化对象键的第一部分以避免热点问题。
    • ACLs 已被弃用,新桶默认关闭。
    • 新桶默认启用阻止公共访问。
    • 新桶默认启用透明静态加密。
    • Glacier 曾是与 S3 无关的服务,现已被 S3 团队吸收为一系列存储类别。
    • Glacier 的恢复费用不再高昂且难以预测,恢复速度也不再缓慢。
  3. 网络服务的更新

    • EC2-classic 已淘汰,公共 IPv4 地址不再免费。
    • VPC 对等连接已改进,有 Transit Gateway、VPC 共享、资源共享等更好选项。
    • VPC Lattice 和 Tailscale 允许忽略 AWS 网络问题。
    • CloudFront 更新时间从 45 分钟缩短至 5 分钟。
    • ELB Classic 已弃用,ALBs 和 Classic Load Balancers 不再收取跨 AZ 流量的额外数据传输费用,但 Network Load Balancers 仍然收取。
    • Network Load Balancers 现在支持安全组。
    • 可用区 ID 现在可以通过 Resource Access Manager 确保跨账户一致。
  4. Lambda 服务的增强

    • Lambda 的超时时间延长至 15 分钟,支持 Docker 镜像,可以使用 EFS 共享存储,内存可达 10GB,/tmp 存储也可达 10GB。
    • 在 VPC 中调用 Lambda 不再缓慢。
    • Lambda 冷启动问题得到改善。
  5. EFS 和 EBS 服务的优化

    • EFS 不再需要在卷上放置大量无用数据以获得可用的 IO 配额。
    • EBS 新卷在空时提供全性能,从快照创建的卷需要预读整个磁盘以避免首次读取缓慢。
    • EBS 卷可以同时附加到多个 EC2 实例(仅限 io1 类型),但通常不建议这样做。
  6. DynamoDB 服务的改进

    • 现在可以在项目中包含空字段。
    • 性能变得更加可靠,不再需要使用 NDA 背后的支持工具来查看热键问题。
    • 定价变化使得 On Demand 运行成为更优选择。
  7. 成本节约工具的变化

    • 预留实例逐渐被淘汰,节省计划成为新的方向,但折扣不如以前。
    • EC2 现在按秒计费,短时间运行不再按小时计费。
    • 成本异常检测器擅长标记支出模式的突然变化,且免费。
    • 计算优化器也适用于 EBS 卷等,其建议值得信赖。
  8. 认证方式的更新

    • IAM 角色应存放权限,IAM 用户主要用于遗留应用程序。
    • IAM 身份中心取代了 AWS SSO,是人类与 AWS 账户交互的方式。
    • 可以为根账户配置多个 MFA 设备。
    • 组织成员账户不再需要配置根凭据。
  9. 其他变化

    • us-east-1 和其他区域的稳定性提高,中断变得罕见。
    • 虽然淘汰仍然少见,但 AWS 确实在淘汰一些服务。

HN 热度 243 points | 评论 151 comments | 作者:keithly | 9 hours ago #

https://news.ycombinator.com/item?id=44962844

  • S3 默认启用“阻止公共访问”是正确的决定,可以防止因配置错误导致的大量数据泄露。
  • 即使每年需要创建具有公共读取权限的 S3 桶,也会发现规则有所变化,需要重新学习。
  • “阻止公共访问”设置是一个冗余设计,可以防止人们犯大错误。
  • 如果启用了“阻止公共访问”,即使桶策略或 ACLs 配置不当,也不会允许公共访问。
  • 如果关闭“阻止公共访问”但桶策略设置得当,仍然可以控制访问权限。
  • 需要清晰的图表来展示哪些规则覆盖了其他规则。
  • AWS 的权限设置可能没有实际的“覆盖”,而是规则始终生效,可能与其他规则重叠。
  • 可以开发工具来描述当前生效的规则,以帮助开发者理解权限限制。
  • 使用 LLMs(大型语言模型)来阅读文档并提取 AWS 文档中的基本信息和示例代码。
  • 面试中询问技术熟悉度时,需要考虑技术的变化。
  • 如果了解变化,应该解释随时间变化的情况。
  • 更多人倾向于不使用 CloudFront,以避免额外成本和复杂性。
  • S3+CloudFront 非常流行,可以找到各种技术自动化设置的示例。
  • CloudFormation(云形成)设计糟糕,使用起来非常困难。
  • 如果亚马逊知道什么对他们有好处,他们应该用其他东西替换 CloudFormation。
  • 最后一次尝试使用 CloudFront 时,第三方 IAC 工具比 CloudFront 本身的功能更新得更快。
  • 将 CloudFront 放在 S3 前面比正确设置 S3 的权限和静态共享更简单。
  • S3 对于存储和提供静态网站非常简单,询问是否有好的廉价替代品。
  • 传统的网络托管商可以作为 S3 的替代品。
  • 通过 S3+CF+R53 托管静态网站的成本非常低。
  • GitHub Pages 仍然允许免费使用自定义域名,但商业网站是禁止的。
  • 软件分发成本非常低,每月大约 2 美元。
  • CloudFront 可以帮助将 S3 映射为签名 URL 和默认公共文件,提高网站速度,降低成本。
  • 对于中低流量,CloudFront 与 S3 结合使用成本较低,但对于高流量,CloudFront 成本可能会迅速增加。
  • 需要通过设置障碍来使桶公开可用是一个功能,而不是错误。
  • 每次尝试设置这些障碍时都会感到烦恼,因为障碍总是在变化。

Hacker News 精彩评论及翻译 #

Vendors that treat single sign-on as a luxury feat… #

https://news.ycombinator.com/item?id=44955882

This pops up on HN about once a year, and it’s worth calling out that the SSO tax has mostly nothing to do with technology or with support costs and mostly everything to do with market segmentation. One of the clearest segmentation signals you get is that bigger, less price-sensitive customers all require SSO (because their SOC2 attestations require it).

You can get irritated about pricing systems that soak price-insensitive customers, but remember that the big price-insensitive customers pay for the price-sensitive customers, which is why this kind of segmentation is practically universal.

Previously, on this, from me:

https://news.ycombinator.com/item?id=29892664

tptacek

这个话题每年大约会在 Hacker News 上被提起一次,值得指出的是,所谓的“单点登录税”基本上与技术或支持成本无关,而完全是市场细分策略的体现。其中最清晰的一个细分信号就是,所有规模更大、对价格不敏感的客户都要求提供SSO(因为他们的SOC2认证需要这样做)。

你可以对那种“盘剥”对价格不敏感客户的定价体系感到不齿,但要记住,正是那些大型的、对价格不敏感的客户,补贴了那些对价格敏感的客户,这也是为何这样的细分策略几乎是普遍存在的。

之前我就此发表过评论: https://news.ycombinator.com/item?id=29892664


2025 08 20 HackerNews

2025-08-20 06:55:03

2025-08-20 Hacker News Top Stories #

  1. Obsidian Bases 是一款核心插件,允许用户将笔记转换为强大的数据库,支持表格和卡片视图,方便组织和管理各种内容。
  2. Kudelski Security 研究团队利用 CodeRabbit 的安全漏洞,通过恶意配置文件实现远程代码执行,获得了对 100 万代码仓库的读写访问权限。
  3. 美国联邦上诉法院驳回了 T-Mobile 对 9200 万美元罚款的上诉,维持了其非法出售客户位置数据的处罚。
  4. 有一个拉取请求提议从 HTML 规范中移除对 XSLT 的提及,尽管有反对声音,但多数浏览器供应商支持这一决定。
  5. 克罗地亚自由潜水员维托米尔·马里奇在氧气辅助下创造了 29 分钟 3 秒的屏气世界纪录。
  6. 特德·姜被认为是当今最优秀的科幻短篇小说作家,其作品以哲学深度和情感共鸣著称,探讨人性与技术的关系。
  7. 质数网格是一个可视化工具,允许用户设置不同行列和起始数字,展示质数的分布模式。
  8. Tiny-TPU-V2 是一个开源项目,模仿谷歌 TPU 的架构,展示了张量处理单元的工作原理和功能。

Obsidian Bases #

https://help.obsidian.md/bases

Obsidian Bases 是一个核心插件,它允许用户将任意一组笔记转换成强大的数据库。通过使用 Bases,用户可以组织从项目到旅行计划、阅读列表等各种内容。Bases 插件让用户能够查看、编辑、排序和过滤文件及其属性。每个数据库可以包含多个视图,并且支持不同的布局,例如表格和卡片。例如,表格视图将每个文件作为一行,每个属性作为一列。

Obsidian Bases 中的所有数据都存储在本地的 Markdown 文件及其属性中。视图通过 Bases 语法描述,可以保存为 .base 文件或嵌入在 Markdown 文件中的代码块里。

如何使用 Bases:

  • 创建数据库:学习如何创建和嵌入一个数据库。
  • 视图:探索过滤器、属性和布局。
  • 函数:在公式和过滤器中可以使用的函数。
  • Bases 语法:数据库文件的格式化方式。

链接到本页的内容包括 Bases 路线图、Bases 语法、核心插件、创建数据库、函数和视图等。本页面还提供了一个交互式图表,展示了如何使用 Bases。Obsidian Publish 提供了页面的发布支持。


HN 热度 661 points | 评论 226 comments | 作者:twapi | 1 day ago #

https://news.ycombinator.com/item?id=44945532

  • Base 是一个表格,每一行代表一个文件,每一列代表一个属性,可以管理、排序和过滤文件及其属性。
  • Base 并不提供手动无法完成的功能,但它可以更快地完成这些操作。
  • 属性以纯文本形式存储在 Markdown 文件顶部。
  • Base 以类似 YAML 的格式存储在 .base 文件中。
  • Base 功能刚刚公开发布,之前只对付费用户开放。
  • 有用户询问是否可以在使用 Base 的“新建”按钮时使用模板或设置默认的 frontmatter(如创建日期)。
  • 有人推荐使用 Obsidian Copilot 作为 AI 插件。
  • 有多个 AI 插件可供选择,但“好”的定义取决于个人用例。
  • Base 可以看作是一个静态搜索,自动更新,并且可以添加其他属性,如修改日期。
  • Base 允许用户在 Obsidian 应用内直接编辑数据,是一个用户友好的数据库视图替代方案。
  • 对于那些将笔记作为主要知识存储机制的人来说,Base 提供了一个更强大的数据库功能。
  • Base 适合那些不需要深入了解数据库就能进行丰富搜索的用户。
  • 有人质疑 Base 的解释不够清晰,不明白如何将笔记转换为数据库。
  • 有人要求展示 Base 的强大之处,以及为什么要使用它。

OpenMower – An open source lawn mower #

https://github.com/ClemensElflein/OpenMower

OpenMower 是一个旨在将廉价现成的机器人割草机升级为现代智能 RTK GPS 基础的割草机器人的项目。该项目由 ClemensElflein 发起,他拥有软件工程、嵌入式编程、硬件设计和机器人技术的背景。项目的目标包括实现自动割草、确保安全、无需边界线、低成本、开放知识共享、外观美观、避障能力和雨水检测。

目前,基本割草功能已经实现,机器人能够按照预期进行地图教学和割草,甚至能在电量低时自动返回充电站,并在充满电后继续工作。项目鼓励技术爱好者自行构建,因为这是一个昂贵且复杂的项目,所以有任何问题都可以通过 Discord 服务器寻求帮助。

硬件方面,项目已经有了稳定的主板和两个电机控制器(xESC mini 和 xESC 2040)。软件方面,基本软件已经完成,原型按预期工作,但尚未实现避障功能。软件代码可以在另一个仓库中找到。

项目还提供了一个 Open Mower App,以及一个网站,上面有购买零件、安装软件等信息。如果发现缺少信息,可以通过 Discord 服务器或 OpenMower Wiki 寻求帮助。


HN 热度 549 points | 评论 177 comments | 作者:rickcarlino | 22 hours ago #

https://news.ycombinator.com/item?id=44946996

  • 当前一代的机器人割草机性能不佳,大多数机器人割草机随机移动直到碰到草坪边界,然后随机旋转并重复此过程。
  • 许多割草机器人实际上并不随机移动,而是系统性地覆盖整个草坪。
  • eufy E15 机器人使用摄像头无需布线,能够创建地图后系统性地割草,用户无需额外操作。
  • 开源的机器人割草机项目如果能够正常工作将更受欢迎。
  • 该机器人使用 GPS 作为唯一的导航和定位技术,但在 GPS 信号不佳的地方可能不可靠。
  • 摄像头在白天总是有效,可能可以作为项目的补充,尽管使用摄像头可能更复杂且容易出错。
  • Husqvarna 机器人割草机随机割草,用户三年未支付园艺服务费用。
  • 机器人割草机容易被人偷走,如果不使用电线或 GPS。
  • GPS 对于防止割草机被盗是必要的,可以将其与位置绑定,如果被盗,它将无法工作。
  • 需要一种方法来在割草机被移动到指定区域外时发送短信通知用户。
  • GPS 在树下不可靠,许多草坪都有树,因此需要其他解决方案。
  • 可以考虑使用多个 GNSS 系统,如 Garmin 自行车计算机,其精确度令人惊讶。
  • 作者的草坪不易接近且不可见,因此不太担心被盗问题。
  • eufy 机器人有可选的 GPS 模块用于跟踪,但不用于导航。
  • 可以考虑添加一个小型 LLM 和语音合成器,以便在陌生人危险情况下割草机可以呼救。
  • 第三定律:机器人需要自我保护。
  • 可以考虑使用本地定位系统,如在院子里安装三个小型太阳能信标。
  • eufy E15 适用于最多 800 平方米的草坪,eufy E18 适用于最多 1200 平方米的草坪。
  • 作者的花园相对平坦,有一些小的凸起。
  • 可以轻松标记草坪的某些区域为永久排除区域,这样割草机就不会去那里。
  • 随机移动的割草机实际上非常有效,一旦安装了周边线,它们是确保机器人不会逃到邻居家或更糟的地方的实用且无懈可击的方法。
  • 障碍物检测也是一个不错的功能,可以避免割草机破坏孩子偶尔留下的玩具。
  • Mammotion Yuba 割草机可以割出网格状或线条状的草坪,甚至可以割出标志,看起来比随机模式的草坪更美观,速度也更快。
  • 作者拥有旧款和新款的自动割草机,新款的割草机割出的草坪看起来更像地毯,而旧款的随机模式看起来更自然。
  • 障碍物避免似乎是软件待办事项中的关键事项,对于定位,可以选择 RTK GPS 传感器,同时支持导线以防止“逃跑保护”。
  • 尽管周边线机器人割草机性能不错,但更先进的一代割草机也并不逊色。
  • 作者拥有 Mammotion Luba 2 割草机,硬件和定位都很好,软件方面虽有小问题,但总体上也很好。
  • 这个项目类似于 Valetudo,但用于割草机,使用割草机的底盘和电机,但补充了机器人吸尘器的功能。

How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos #

https://research.kudelskisecurity.com/2025/08/19/how-we-exploited-coderabbit-from-a-simple-pr-to-rce-and-write-access-on-1m-repositories/

这篇文章讲述了 Kudelski Security 研究团队如何发现并利用 CodeRabbit AI 代码审查工具中的一个安全漏洞。CodeRabbit 是一个在 GitHub 和 Gitlab 上广泛使用的 AI 应用程序,用于分析代码变更并使用 AI 进行代码审查。研究者通过参加 Black Hat USA 会议披露了这一漏洞,并希望借此提高人们对此类安全问题的认识,帮助避免类似问题的发生。

文章介绍了 CodeRabbit 的功能和安装过程。用户在安装 CodeRabbit 时,需要授权它对选定的 GitHub 仓库进行读写操作。研究者通过注册 CodeRabbit 的免费试用,并在个人 GitHub 账户中创建私有仓库,授予 CodeRabbit 访问权限,开始探索其安全性。

研究者发现 CodeRabbit 支持运行多种静态分析工具,包括 Rubocop。Rubocop 是一个 Ruby 静态分析器,可以通过配置文件加载并执行扩展脚本。研究者利用这一点,通过在私有仓库中创建一个包含恶意代码的 Rubocop 配置文件,成功地在 CodeRabbit 的生产服务器上执行了远程代码(RCE),泄露了 API 令牌和秘密,并获得了对 1 百万代码仓库的读写访问权限,包括私有仓库。

CodeRabbit 在得知安全漏洞后迅速采取了补救措施,包括禁用 Rubocop、轮换受影响的凭证和秘密、将 Rubocop 部署到安全沙箱环境中,并进行全面系统审计以确保没有其他服务在沙箱保护之外运行。CodeRabbit 还自动化了沙箱强制执行以防止再次发生,并增加了强化的部署门。CodeRabbit 在其博客上提供了更多关于他们对这次安全漏洞披露的响应和持续改进的信息。


HN 热度 434 points | 评论 142 comments | 作者:spiridow | 7 hours ago #

https://news.ycombinator.com/item?id=44953032

  • 云平台分析用户代码时必须在隔离环境中运行分析器,CodeRabbit 的漏洞表明了这一点。
  • 公司在问题发生后才承认问题,缺乏透明度,导致用户取消订阅。
  • CodeRabbit 的博客中没有提及这个漏洞,也没有新的帖子,缺乏对问题的及时回应。
  • 安全不应该只是勾选框,而应该是公司使命的基础。
  • CodeRabbit 的 CEO 在帖子上 HN 后发布了一些细节,表明公司对问题的回应。
  • 一些评论认为 CodeRabbit 的回应听起来像是在撒谎,质疑为什么一个任务会在不同的架构环境中运行。
  • 人们对于 CodeRabbit 能够在被利用的同时评论自己的拉取请求表示惊讶。
  • 评论者认为,CodeRabbit 快速响应和修复漏洞是现代快速环境中解决漏洞的关键部分。
  • 有人指出,许多 GitHub 应用拥有广泛的权限,用户盲目添加这些应用是一个问题。
  • 有人担心 GitHub 应用可能是一个坏主意,因为它们可能被用来进行供应链攻击。
  • 评论者认为 GitHub 需要允许更细粒度的应用访问权限,并提供更细粒度的权限控制。

Left to Right Programming #

https://graic.net/p/left-to-right-programming

这篇文章讨论了编程语言在编写代码时的用户体验问题,特别是关于代码的即时验证和编辑器辅助功能。作者不喜欢 Python 的列表推导式,因为它在编写时缺乏良好的人体工程学设计,导致编辑器无法提供有效的自动完成和方法建议。

作者通过比较 Python 和 Rust 的代码示例,展示了 Rust 在代码编写过程中提供了更好的编辑器支持和用户体验。文章还提到了设计中的“逐步披露”原则,即用户在完成任务时只应接触到必要的复杂性,并且复杂性应该在与用户相关时自然显现。作者批评了 C 语言和 Python 中的方法和函数的不可发现性,认为这增加了编程的难度。

最后,作者强调了代码应该在编写时就保持有效,这样编辑器和 REPL(Read-Eval-Print Loop)才能更好地辅助编程工作,提高编程效率。文章由 Graic 用 🍉 符号结束,可能是作者的签名或品牌标识。


HN 热度 416 points | 评论 341 comments | 作者:graic | 1 day ago #

https://news.ycombinator.com/item?id=44942936

  • SQL 的查询顺序应该从 FROM 开始,以便快速确定涉及的实体,并让智能编辑器帮助更快地编写合理的查询。
  • PSQL 和 PRQL 使用这种顺序,并且 BigQuery 最近也添加了类似的管道/箭头符号。
  • DuckDB 社区扩展支持这种顺序,但缺乏能够利用这些信息进行补全的编辑器插件。
  • DuckDB 的本地 UI 支持这种顺序。
  • Elixir 语言通过 ECTO 实现了类似的管道和组合。
  • SQL 的写法源于关系代数,其中投影通常(总是?)首先被写出。
  • 在 SQL 标准中,不能在 WHERE 子句中使用列别名,因为选择(再次,关系代数)发生在投影之前。
  • 在 MySQL 8 中可以使用 TABLE ,它是 SELECT * FROM
    的别名。
  • 关系代数的发明者在其查询语言中首先放置了"FROM"。
  • SQL 的 WHERE 语句与 SELECT 在操作顺序上完全不同,因此不能简单地说"SELECT 首先出现是因为关系代数"。
  • SQL 的写法受到关系代数和关系演算的混合启发,SELECT 放在第一位是因为作者希望它读起来像英语。
  • SQL 实际上是"关系 > 操作符",而不是操作符在前。
  • SQL 的设计更接近于英语句式结构,而不是关系代数。
  • 按照 SQL 标准,不能在 WHERE 子句中使用列别名,但在大多数主要供应商的 SQL 实现中这是可行的。
  • 在许多数据库引擎中,实际上可以使用列别名,包括在 SELECT 和 ORDER BY 中。
  • 许多数据库引擎已经半标准化(有时非常专有)的方式来处理这些现在常见的模式。

  • T-Mobile claimed selling location data without consent is legal–judges disagree #

    https://arstechnica.com/tech-policy/2025/08/t-mobile-claimed-selling-location-data-without-consent-is-legal-judges-disagree/

    美国联邦上诉法院驳回了 T-Mobile 试图推翻因出售客户位置信息给第三方公司而被罚款 9200 万美元的请求。去年,联邦通信委员会(FCC)对 T-Mobile、AT&T 和 Verizon 进行了罚款,理由是这些运营商非法共享客户位置信息而未经同意,并且没有采取合理措施保护这些敏感数据免受未经授权的披露。这些罚款涉及 2018 年被揭露的实时位置数据共享,但 FCC 花了多年时间才最终确定这些处罚。

    T-Mobile 和其子公司 Sprint 在 2019 年之前将客户位置信息(CLI)出售给位置信息聚合商 LocationSmart 和 Zumigo,而没有验证购买者是否获得了客户同意。一些不良行为者滥用 Sprint 和 T-Mobile 的程序,在客户不知情的情况下非法访问 CLI。即使在 Sprint 和 T-Mobile 意识到这些滥用行为后,他们仍然继续出售 CLI,而没有采取新的保护措施。

    运营商声称出售数据并未违反法律,但上诉法院认为 FCC 的行为是正确的。FCC 对 T-Mobile 和 Sprint 的罚款分别为 8010 万美元和 1220 万美元。T-Mobile 在 2020 年收购了 Sprint,最近一个季度报告服务收入为 174 亿美元,净利润为 32 亿美元。

    AT&T 和 Verizon 分别被罚款 5730 万美元和 4690 万美元。FCC 去年表示,主要运营商在未经客户同意或法律授权的情况下,通过 Securus 运营的“定位查找服务”向密苏里州警长披露客户位置信息,Securus 是为监狱提供通信服务的供应商,用于追踪多人的位置。

    运营商放弃了陪审团审判的权利,法院规则。AT&T 和 Verizon 在挑战罚款时提出了类似的关于陪审团审判权利的论点,并引用了最高法院在 2024 年 6 月对证券交易委员会诉 Jarkesy 案的裁决。该裁决认为,当 SEC 因证券欺诈寻求对被告的民事处罚时,第七修正案赋予被告陪审团审判的权利。在对 T-Mobile 的裁决中,DC 巡回法庭小组认为,运营商在“选择支付罚款并直接在本院寻求复审时”放弃了任何潜在的陪审团审判权利。运营商本可以通过不支付罚款并等待被起诉来获得陪审团审判,裁决称。即使第七修正案适用,也没有被违反,因为运营商有机会将案件提交给陪审团,法官写道。

    运营商还对敏感数据的定义提出了异议,声称设备位置信息在法律上不属于客户专有网络信息(CPNI)。运营商认为法律涵盖的是“电信服务的使用位置”信息,而只有通话位置信息符合这一描述。法官批评 T-Mobile 和 Sprint 依赖“牵强的解释”。法官们认为,客户“使用”电信服务的每一次他的设备连接到运营商的网络,以便随时发送和接收电话。因此,运营商的解读并不将“使用位置”缩小到客户积极进行语音通话的时候。


    HN 热度 368 points | 评论 89 comments | 作者:Bender | 1 day ago #

    https://news.ycombinator.com/item?id=44944291

    • T-Mobile、AT&T 和 Verizon 等运营商提供了隐私设置选项,用户可以通过这些设置来选择是否分享个人位置数据。
    • 有用户反映在尝试完全禁用所有跟踪选项时遇到了困难,有些选项需要多次尝试才能成功关闭。
    • 有用户提到了关于德克萨斯州的讽刺评论,暗示该州有关于堕胎的严格法律,可能会涉及到位置数据的共享。
    • 有用户建议将账户标记为儿童账户,以减少数据收集,直到账户生日满 18 岁。
    • 有用户询问这些隐私设置是否会影响手机功能或支付能力。
    • 有用户对于 MVNO(移动虚拟网络运营商)的隐私政策表示疑问,特别是那些运行在 T-Mobile 网络上的 MVNO。
    • 有用户提到 Google Fi 作为 MVNO,可能不会受到 T-Mobile 数据收集政策的影响。
    • 有用户质疑这些隐私设置是否真的有效,怀疑即使设置了隐私保护,运营商仍可能在后台收集数据。
    • 有用户提到 Verizon 的身份验证服务,询问其必要性以及是否真的有助于防止身份盗窃。

    “Remove mentions of XSLT from the html spec” #

    https://github.com/whatwg/html/pull/11563

    GitHub 上的 whatwg/html 仓库中,有一个编号为#11563 的问题(issue),讨论的主题是“从 HTML 规范中移除对 XSLT(可扩展样式表语言转换)的提及”。这个问题由用户 mfreed7 提出,并希望合并到主分支。这个合并请求(PR)包含了 2 个提交,旨在删除 HTML 规范中所有关于 XSLT 的内容,并关闭了与之相关的#11523 问题。

    mfreed7 提到,至少有两个实现者对此感兴趣,且没有人反对。相关的测试已经编写好,可以供人审查和评论。他还提到了几个浏览器的实现错误报告链接,包括 Chromium 和 Gecko,以及对应的 HTML AAM(可访问性权威模式)和 ARIA(可访问性富互联网应用)的问题和 PR(Pull Request)。此外,他还提供了一个 MDN(Mozilla 开发者网络)的问题链接,以及一个核心文档的起始链接。

    对于这个 PR,有 71 个用户表示了反对,7 个用户表示了困惑。用户 gucci-on-fleek 在评论中提出了对 XSLT 使用情况的疑问,包括使用 XSLT 的页面的年龄和“大小”(流行度)。他担心,如果 XSLT 主要用于大型商业网站,那么废弃内置支持是合理的,因为这些网站会迅速更新以包含 polyfill(垫片)。但如果 XSLT 主要用于小型个人网站,这些网站可能永远不会更新,那么移除 XSLT 支持将意味着这些网站将永远无法使用。

    gucci-on-fleek 还提到,良好的网页设计应该使用渐进增强,即使某些 JavaScript/CSS 特性出现问题或被移除,页面仍然应该能够部分工作。然而,移除对 <?xml-stylesheet … ?> 的支持似乎特别有问题,因为这将导致用户只能看到未格式化的 XML,对于非技术用户来说,这会使页面完全无法使用。

    他指出,以前的网络平台废弃主要影响 JavaScript,偶尔影响 CSS。许多旧的 HTML 特性已经被废弃,但据他所知,它们仍然可以在所有现代浏览器中工作。他提到了一些例子,如 <font><xmp> 标签。他认为,移除 <?xml-stylesheet … ?> 似乎是前所未有的,因为许多传统文档使用这个特性,移除它可能会导致这些文档停止工作。

    gucci-on-fleek 个人维护的网站使用了 XSLTProcessor()进行交互,并使用 <?xml-stylesheet … ?> 处理 RSS feeds。他表示,如果需要添加 polyfill,虽然会有些麻烦,但他会在任何浏览器变更之前更新网站,确保用户不会遇到任何问题。但他主要担心的是网络上的“长尾”——许多重要信息只在 2005 年之前更新的大学/个人网站上可用,或者只在互联网档案馆中可用。这些网站使用 <?xml-stylesheet … ?> 和其他未在此讨论的过时特性,如 <frameset><font>,如果这些网站停止工作,将是一个真正的遗憾。


    HN 热度 325 points | 评论 393 comments | 作者:troupo | 8 hours ago #

    https://news.ycombinator.com/item?id=44952185

    • 这不是 Chrome 单方面的行为,所有浏览器代表都支持移除 XSLT,并且已在标准会议上讨论过。
    • 打开 PR 并不意味着会被合并,还有很多工作要做,但鉴于跨供应商的支持,看起来可能会继续进行。
    • 有 XSLT 的更好替代品,如 xee。
    • libxslt 与 libxml2 紧密集成,替换它不仅仅是替换 libxslt 那么简单。
    • 浏览器使用的是 1999 年版本的 XSLT,改变这个会破坏兼容性。
    • 如果社区想要影响这些决策,应该在早期就使用 XSLT,并在 libxslt 需要维护时自愿参与。
    • 社区对这些决策的影响有限,因为这些决策是在封闭会议中做出的,而且 bug 跟踪器不是用来收集社区反馈的地方。
    • 如果人们真的对可能添加或移除的特性感到不安,他们应该公开提出问题,组织支持者,并采取抗议行动。
    • 如果人们因为 XSLT 被移除而感到不安,他们应该在 Web 上显著地使用它,并自愿维护 libxslt。
    • WhatWG 有一个相当完善的功能请求流程,问题通常不是在封闭会议中决定的。
    • 如果你决定在你的网站上使用什么技术,并且没有选择在浏览器中使用 XSLT,那么你就已经影响了这个决定。
    • 如果 XSLT 在 Web 上被广泛使用,我们就不会有这样的讨论。
    • 统计上,使用 WebUSB 的网站数量可能少于使用 XSLT 的网站,如美国国会网站。
    • 文档模板化并不是一个小众用例,与几乎所有现代 JavaScript API 相比。
    • 许多年轻人不知道 XSLT 的存在,人们经常抱怨 HTML 缺乏客户端包含或可扩展的组件系统。
    • 在 XSLT 中实现客户端包含并不比在 JavaScript 中更容易。
    • 大多数网站都没有用,如果 XSLT 被移除,可能会转向 PDF 或将渲染转移到服务器端。

    Croatian freediver held breath for 29 minutes #

    https://divernet.com/scuba-news/freediving/how-croatian-freediver-held-breath-for-29-minutes/

    克罗地亚自由潜水员维托米尔·马里奇(Vitomir Maričić)在氧气辅助下创造了新的吉尼斯世界纪录,他在水中自愿憋气的时间达到了 29 分钟 3 秒,超过了之前记录超过四分钟。这项壮举于 6 月 14 日在克罗地亚奥帕蒂亚的布里斯托尔酒店 3 米深的泳池中进行,有五位官方裁判和约 100 名观众现场见证。

    马里奇在潜水前按照吉尼斯世界纪录的指南,进行了不特定时间的纯氧预呼吸。他躺在泳池底部,双手放在头后。在达到 20 分钟标记后,他感到精神上变得更轻松,但身体上越来越困难,尤其是横膈膜因为收缩而感到不适。他将这一成就归功于团队、家人和朋友的支持。

    此前的记录由同样是克罗地亚人的布迪米尔·绍巴特(Budimir Šobat)保持,他在 2021 年以 56 岁的年龄憋气 24 分 37 秒,打破了当时的记录。2008 年,魔术师和耐力艺术家大卫·布莱恩(David Blaine)在奥普拉·温弗瑞秀的现场直播中创下了 17 分 4 秒的吉尼斯世界纪录。

    与此相比,法国人斯特凡·米福德(Stéphane Mifsud)在 2013 年创下的官方 AIDA 静态呼吸暂停(在空气中的水下憋气)世界纪录为 11 分 35 秒。吉尼斯世界纪录的静态呼吸暂停记录由塞尔维亚人布兰科·佩特罗维奇(Branko Petrović)在次年创下,为 11 分 54 秒。

    马里奇的 AIDA 静态呼吸暂停最佳成绩为 10 分 8 秒。他还在 2021 年创下了一呼吸下最长的水下行走吉尼斯世界纪录,达到了 107 米。氧气预呼吸是一种在一些水下电影拍摄中使用的技巧,允许演员更长时间地保持浸没状态。通过将肺中的氮气替换为氧气,可用氧气量可以从约 450 毫升增加到近 3 升。减少二氧化碳的积累可以延迟呼吸的冲动,并延长在氧水平降至危险水平之前的“安全呼吸暂停时间”。在呼吸准备阶段需要高度控制的膈式呼吸,并且身体必须深度放松以保持心率低,这需要非凡的身体意识、呼吸技巧和精神控制。


    HN 热度 281 points | 评论 144 comments | 作者:toomanyrichies | 23 hours ago #

    https://news.ycombinator.com/item?id=44946762

    • 克罗地亚潜水员通过呼吸纯氧将体内可用氧气从 450 毫升增加到 3 升,实现了 29 分钟的屏气记录。
    • 好莱坞有时会使用呼吸纯氧的方法来延长水下拍摄时间,如《阿凡达 2》中西格妮·韦弗训练屏气 6 分半钟。
    • 好莱坞曾因《深渊》和《水世界》的水下拍摄事故而放弃水下拍摄,转而使用特效。
    • 詹姆斯·卡梅隆是深海潜水器的专家,有能力安全地进行水下拍摄。
    • 詹姆斯·卡梅隆制作《泰坦尼克号》的动机之一是为了获得资助进行泰坦尼克号的探险。
    • 演员和女演员不需要承担这些风险,他们为此得到了丰厚的报酬,并签署了非常严格的免责声明。
    • 通过训练,自由潜水员可以很好地了解自己的身体和极限,尽管比赛中仍然可能发生昏厥。
    • 潜水员在水下时,教练或安全员会通过信号(如捏手臂)检查潜水员是否清醒,潜水员通过反应(如抬手指)来回应。
    • 潜水员出水后需要执行表面协议(如摘掉面罩、做 OK 手势、说“我很好”)以证明他们仍然清醒。
    • 潜水员可以通过身体肌肉收缩的次数来了解自己的极限,这些收缩发生的时间对每个人来说都是相对一致的。

    Ted Chiang: The Secret Third Thing #

    https://linch.substack.com/p/ted-chiang-review

    这篇文章对特德・姜(Ted Chiang)的作品进行了深入的评价,认为他是当今最优秀的科幻短篇小说作家,甚至可能是最佳短篇小说作家。作者反复阅读姜的作品,认为许多读者和评论家往往忽视了姜作品中的一些关键要素,从而未能完全领悟他的天才。

    文章提到,科幻小说通常被分为 “硬科幻” 和 “软科幻”,但姜的作品常常超越这两类,创造出一种 “真实的科幻”。在姜的作品中,科学原理虽然与现实有所不同,但内部逻辑自洽。例如,在《奥姆帕罗斯》中,年轻地球创造论是 empirically true,科学家们发现的证据都支持这一理论;在《七十二个字母》中,技术源于犹太教的卡巴拉。

    姜在探索哲学和人际关系时,不仅关注自然科学,还涉及社会科学。例如,在《你生命的故事》中,强萨丕尔 - 沃尔夫假说(语言影响思维)并非被广泛否定的理论,而是与外星人接触的关键。姜通过这些构想挑战了许多读者的期待,提供了对科技和人性的全新视角。

    作者指出,姜的作品避免了当今科幻小说中对新技术的悲观描绘。他的作品中,技术往往成为理解复杂人性和世界的工具,而非反派。例如,在《事实的真相,感觉的真相》中,记忆增强技术使主角能够理解自己的自欺欺人,进而努力变得更好。

    文章还探讨了姜对自由意志与决定论的处理。他通过角色的体验展示了 “兼容论” 的概念,即即使选择是预定的,但这些选择依然是由个人的内在状态(如欲望和意图)所决定,从而具有道德责任。在《商人与炼金术士的门》中,角色在面对时间旅行的结果时,通过悔恨、宽恕和接受获得了深刻的自我理解。

    尽管姜的写作风格简单而优美,但他在如何描绘整个社会与技术的关系方面表现相对薄弱。他的想象力在微观和宏观层面表现得非常出色,但在中观层面,即如何描绘社会对新技术的集体反应时,他的作品常常缺乏深入。

    最后,作者建议读者阅读姜的《你生命的故事》和《呼吸》,并强调姜的作品值得反复阅读,因为每次阅读都能带来新的理解。尽管姜在某些方面有所不足,但他仍然是一位极具天赋的作家,其作品深具哲学深度和情感共鸣。


    HN 热度 272 points | 评论 132 comments | 作者:pseudolus | 23 hours ago #

    https://news.ycombinator.com/item?id=44946774

    • Ted Chiang 的作品通过探索反事实情境,批判性地探讨宗教信仰,认为如果某些宗教信仰为真,世界将与我们所知大相径庭,从而暗示这些信仰是错误的。
    • 《Exhalation》通过一个外星科学家的故事,探讨了心智的本质,并接受了熵增的不可避免性,寻找理解中的意义。
    • 有人不认为《Tower of Babylon》是对宗教的批判,而是表达了天堂和地球可能是同一事物的观点,与许多宗教信仰相一致。
    • 故事中的主人公认为世界的圆柱形拓扑结构是上帝设计的奇迹,人类揭开这一设计本质的努力使他们更接近上帝。
    • 有人提出,展示地平说或年轻地球创造论的错误并不足以构成对宗教本身的深刻批判。
    • 如果上帝无疑存在,信仰(在需要上帝宽恕的意义上)将变得更加困难,或者至少会改变人们对信仰的感受。
    • 信仰不仅仅是对上帝存在的信仰,而是涉及到对上帝宽恕的需求,这是一种超越知识的信任。
    • 有人引用特里·普拉切特的话,将信仰与对桌子存在的认识相比较,认为信仰是不必要的。
    • 有人推荐阅读 D.B. Hart 的《上帝的经验》或 C.S. Lewis 的作品,以更深入地理解信仰和上帝的概念。

    Prime Number Grid #

    https://susam.net/primegrid.html

    这个网页是由一系列符号组成的图案,允许用户设置不同的行和列的数量,以及起始数字,显示质数的分布情况,


    HN 热度 262 points | 评论 90 comments | 作者:todsacerdoti | 15 hours ago #

    https://news.ycombinator.com/item?id=44949162

    • 可视化工具非常有趣,可以帮助发现重复的模式和数字之间的关系。
    • 添加鼠标悬停显示质数的功能可以提高用户体验,但可能会影响渲染速度。
    • 通过改变列数可以观察到不同的图案,特别是当列数是 6 的倍数时,垂直聚类更加明显。
    • 质数的分布与列数的选择有关,特别是当列数是 6 的倍数时,除了 2 以外的所有质数都会落在相同的列中。
    • 通过设置列宽为 6 可以验证质数分布的模式。
    • 使用不同的列数(如 210)可以观察到更强烈的图案。
    • 通过改变列数,可以发现质数分布的有趣变化,特别是当列数可以被 6 整除时。
    • 通过观察整数的“包”并根据是否包含质数来着色,可以创建出类似象形文字的图案。
    • 质数的分布和图案与最大公约数(gcd)有关,而不仅仅是质数本身。
    • 根据素数定理,随着数字增大,黑色方块(代表质数)的密度趋向于零,红色方块(代表非质数)的密度趋向于 100%。

    Tiny-tpu: A minimal tensor processing unit (TPU), inspired by Google’s TPU #

    https://github.com/tiny-tpu-v2/tiny-tpu

    tiny-tpu-v2 是一个受谷歌 TPU V2 和 V1 启发的最小化张量处理单元(TPU)。该项目包含详细的文档和代码,旨在展示 TPU 的架构和功能。

    项目动机和架构:

    • 设计一个简化版的 TPU,以便更好地理解和学习其工作原理。
    • 架构包括处理元素(PE)、脉动阵列、向量处理单元(VPU)、统一缓冲区(UB)和控制单元。

    处理元素(PE):

    • 功能:每个时钟周期执行一次乘累加操作。
    • 数据流:输入数据与存储的权重相乘,加上输入的部分和,产生输出和;输入数据也传递到下一个元素,实现阵列间的传播。

    脉动阵列:

    • 架构:从 2x2 开始的网格状处理元素。
    • 数据移动:输入值水平流动,部分和垂直流动,权重在计算期间固定。

    向量处理单元(VPU):

    • 在脉动阵列之后执行逐元素操作。
    • 控制:模块选择取决于计算阶段。
    • 模块:包括偏置添加、Leaky ReLU 激活函数、MSE 损失、Leaky ReLU 导数等。

    统一缓冲区(UB):

    • 双端口内存,用于存储中间值。
    • 存储数据:输入矩阵、权重矩阵、偏置向量、后激活值、激活泄漏因子、MSE 反向传播的逆批量大小常数。

    控制单元:

    • 指令宽度:94 位。
    • 详细指令集信息可在文档中找到。

    指令集:

    • ISA 宽度为 94 位,详细图像可在 images 文件夹中查看。
    • 指令总线分为直接控制子系统的字段。

    示例指令序列:

    • 指令直接从测试台文件加载到芯片上的指令缓冲区。
    • 详细的前向和反向传递指令序列可在 tests/tpu.v 文件中查看。

    设置和运行:

    • 提供了 MacOS 和 Ubuntu 特定的设置指南。
    • 介绍了如何向 tiny-tpu 添加新模块的步骤,包括创建模块文件、转储文件、测试文件、更新 Makefile 和查看波形图。
    • 还提供了如何从 Makefile 运行命令和在 gtkwave 中查看固定点的指南。

    HN 热度 259 points | 评论 13 comments | 作者:admp | 1 day ago #

    https://news.ycombinator.com/item?id=44945008

    • 芯片制造技术非常复杂,目前不可能在家实现。
    • 通过打印寡核苷酸指令和使用无细胞提取物来合成蛋白质组装计算基底可能是一个更好的分布式计算生产方法。
    • 在家进行光刻技术制造芯片还很远,但 PCB 制造可能更快实现,可以通过在线订购和标准化流程来实现。
    • Nano Dimension 公司正在研究类似 3D 打印芯片的技术。
    • 通过 SVG 动画和网站设计,实现了美观的视觉效果,但希望有更多交互性和可组合性。
    • 网站看起来像是多个 excalidraw 输出的叠加。
    • 询问需要多少 TPU 来运行 Gemini flash 2.5 和 pro 2.5 模型。
    • 询问是否可以获得带有多个单元和简单接口的 PCIe 卡。
    • 对于使用 RAM 条与内置 VRAM 的速度差异有误解,但仍然想尝试。

    Hacker News 精彩评论及翻译 #

    Anna’s Archive: An Update from the Team #

    https://news.ycombinator.com/item?id=44943389

    Shadow libraries maintainers deserve a Nobel prize for their contributions to humanity. Satoshi would be proud.

    ofou

    影子图书馆的维护者们为人类做出了贡献,理应获得诺贝尔奖。中本聪会感到骄傲。


    Counter-Strike: A billion-dollar game built in a d… #

    https://news.ycombinator.com/item?id=44948602

    I’ve lurked on HN for years, but I had to create an account just to respond to your post. I operated these servers – perhaps my handle is still familiar. I remember you for sure! I’m touched that you and so many others still have fond memories of that time.

    It was such a gratifying experience to build out that server network and the accompanying integrations that attracted so many and built such a great community. I miss the days in college when I had time to work on stuff like that just for the love of it. I hope you are doing well!

    racemic

    我在HN上潜水多年了,但为了回复你的帖子,我专门注册了账号。我运营过这些服务器——或许我的用户名你还记得。我当然记得你!看到你和这么多人对那段时光依然怀有美好的回忆,我真的非常感动。搭建起那个服务器网络以及相关的集成功能,吸引了这么多人,并建立了一个如此棒的社区,那真是一次非常有成就感的经历。我怀念大学里那段时光,当时我有足够的时间纯粹出于热爱去搭建那样的东西。希望你现在一切都好!


2025 08 19 HackerNews

2025-08-19 07:07:16

2025-08-19 Hacker News Top Stories #

  1. Anna’s Archive 团队更新了他们的最新动态,致力于保护文化遗产,发布了历史上最大的书籍元数据集合,并呼吁更多人参与志愿活动和捐赠。
  2. Hyperclay 是一种创新网页应用开发方式,将 UI、逻辑和数据集成到自修改的 HTML 文件中,简化了现代网页开发的复杂性。
  3. Claudia 是一款为 Claude Code 设计的优雅桌面应用,提供图形界面和多种工具,注重隐私和开源,支持 Windows、macOS 和 Ubuntu 平台。
  4. ArchiveTeam 已完成对所有 goo.gl 短链接的归档工作,通过志愿者和虚拟机分配任务,备份数据后上传到 Internet Archive。
  5. Zach Perkel 分析了 Hacker News 上 AI 话题的热度趋势,发现自 2019 年以来,AI 相关帖子数量持续上升,2025 年第三季度达到新高。
  6. 谷歌承认在澳大利亚涉及反竞争行为,并与 ACCC 达成承诺,移除相关限制,消费者将受益于更多选择。
  7. Doxx 是一个专为终端设计的快速文档查看器,支持 Microsoft Word 文件的美观渲染、智能表格支持和强大的导出功能。
  8. 本文讨论了如何增强 Linux 系统中 systemd 服务的安全性,提供了多项安全选项和方法来减少攻击风险和破坏范围。
  9. Whispering 是一个开源的语音转文字应用程序,支持本地优先的语音转录和转换,用户数据完全存储在本地设备上,免费使用。

Anna’s Archive: An Update from the Team #

https://annas-archive.org/blog/an-update-from-the-team.html

Anna 的博客更新了关于 Anna’s Archive 的最新动态。Anna’s Archive 自 2022 年成立以来,致力于保护人类文化遗产,通过 torrenting 技术解放了数千万册书籍、科学文章、杂志和报纸等,使其免受自然灾害、战争、预算削减等灾难的影响。团队近期遭受了更多的攻击,正采取措施加强基础设施和运营安全。

Anna’s Archive 组织了一些大规模的数据抓取活动,从 IA Controlled Digital Lending、HathiTrust、DuXiu 等多个来源获取了数千万文件。此外,他们还抓取并发布了历史上最大的书籍元数据集合,包括 WorldCat 和 Google Books,以便识别缺失的书籍并优先保存最稀有的版本。

团队对所有志愿者表示感谢,并提到与两个 LibGen 分支、STC/Nexus 和 Z-Library 建立了合作关系,通过这些合作获得了数千万额外文件,并帮助镜像文件。不幸的是,一个 LibGen 分支消失了,团队对此表示哀悼,但没有更多信息。

新出现了一个名为 WeLib 的平台,似乎镜像了 Anna’s Archive 的大部分收藏,并使用了他们的代码库分支。Anna’s Archive 已经采纳了 WeLib 的一些用户界面改进,但对 WeLib 没有分享新收藏或代码改进表示遗憾,并建议用户谨慎使用,因为 WeLib 没有显示出对生态系统的贡献。

目前,Anna’s Archive 有一些令人兴奋的项目正在进行中,服务器上有数百 TB 的新收藏等待处理。团队鼓励有兴趣的人访问他们的志愿者和捐赠页面,因为他们的预算非常有限,任何帮助都将受到欢迎。Anna 和团队呼吁大家继续为保护人类遗产而战。


HN 热度 731 points | 评论 347 comments | 作者:jerheinze | 6 hours ago #

https://news.ycombinator.com/item?id=44942501

  • 有些人通过 Anna’s Archive 等平台选择性购买书籍,同时也会支持实体店铺。
  • 法国漫画盗版场景有一个约 6 个月的时间延迟规则,这被认为是一个不错的折中方案。
  • 有些人通过盗版发现作品后,如果喜欢会购买正版以支持作者。
  • 有些人因为盗版能够接触到他们本来不会知道的作品,从而增加了对正版作品的消费。
  • 有些人认为,他们通过盗版发现并支持了更多的作品,因此认为自己的盗版行为是有益的。
  • 有些人通过盗版来预览作品,如果作品值得,他们会购买正版。
  • 有些人认为,由于版权问题,他们无法像以前那样轻松地分享或转卖他们购买的数字内容,这让他们感到不满。
  • 有些人认为,他们通过购买书籍支持喜欢的作者,但更倾向于在屏幕上阅读,因为可以调整字体大小。
  • 有些人认为,媒体公司不应该因为他们转换到数字格式而感到内疚,因为消费者购买的是媒介本身,而不仅仅是内容。
  • 有些人认为,由于无法像以前那样借出、交易或遗赠媒体,这是一个真正的损失,版权改革应该认真考虑这个问题。
  • 有些人通过 Anna’s Archive 等平台作为校园图书馆的替代品,如果作品值得,他们会购买自己的副本。
  • 有些人因为上传网站让他们接触到许多好电影,所以购买的电影比以往任何时候都多。

Web apps in a single, portable, self-updating, vanilla HTML file #

https://hyperclay.com/

Hyperclay 是一种创新的网页应用开发方式,它将网页应用的 UI、逻辑和数据集成在一个自修改的 HTML 文件中。这种技术允许开发者像编辑文档一样直接编辑运行中的应用程序,无需编译步骤,更改即时生效,并且可以即时分享更新后的页面。Hyperclay 的核心理念是简化现代网页开发的复杂性,摒弃配置文件、构建步骤、框架和部署流程,回归到更简单的模型。

Hyperclay 的特点包括直接操作,即在应用程序运行时编辑,无需刷新页面;所见即所得,UI 即是应用程序本身,修改界面或源代码直接改变应用程序;真正的便携性,可以将应用程序导出为 HTML 文件,在任何地方离线运行,且版本控制保护开发者免受不可逆错误的影响。Hyperclay 技术基于 NodeJS 服务器和前端 JavaScript 库,使 HTML 页面能够更新 DOM 并替换自己的.html 源文件。

开发者 David 通过 Hyperclay 解决了静态网站无法持久化更改的问题,使得数字对象能够像物理对象一样持久化。Hyperclay 允许开发者专注于创造实际的体验,而不是构建持久层。通过 Hyperclay,开发者可以像使用本地桌面应用一样轻松地在线编辑和保存更改,实现数字对象的可塑性、可分享性和持久性。

Hyperclay 适用于多种数字对象的创建和管理,包括网站构建器、文档、电子表格、演示文稿、多媒体编辑器、商业仪表板、博客平台、工作管理工具、调查问卷构建器、知识库构建器、思维导图工具、发票生成器、数据可视化工具、财务建模应用、创意资产生成器、交互式课程构建器、项目简介生成器、简历构建器、线框图工具和产品路线图制作等。Hyperclay 提供了一个简单、易于理解的堆栈,将 HTML 作为数据库/API/UI 的一体化解决方案,简化了开发过程。


HN 热度 582 points | 评论 205 comments | 作者:pil0u | 16 hours ago #

https://news.ycombinator.com/item?id=44937991

  • Hyperclay 是一个 NodeJS 服务器和前端 JS 库,允许 HTML 页面更新 DOM 并替换自己的.html 源文件,实现全局持久化。
  • Hyperclay 项目很有创意,适合单人开发和内容编辑使用,但在多人编辑情况下可能会出现问题。
  • 有人对 Hyperclay 需要 NodeJS 服务器表示疑惑,认为这与完全自包含的 HTML 文件相矛盾。
  • 有人推荐使用 startr.style/modernism 作为真正自包含的解决方案。
  • Hyperclay 为大众带来了“块编辑”能力,对于微网站和落地页来说,Carrd 是王者,Hyperclay 看起来很有前景。
  • 有人对 Hyperclay 的安全性和攻击面表示关心,并询问是否可以分配控制/编辑权限。
  • 有人提到 TiddlyWiki 作为灵感来源,但 TiddlyWiki 不需要服务器,对 Hyperclay 的实用性和差异表示疑问。
  • TiddlyWiki 可以完全包含在一个 HTML 文件中,也可以作为多用户、网络可访问的维基运行在 NodeJS 上。
  • 有人怀念过去浏览器允许直接文件系统访问的日子,认为这对 TiddlyWiki 等项目很重要。
  • 有人提到 Wiki on a stick 项目,但随着浏览器更新,这种自我保存的功能不再被支持。
  • 有人觉得 Hyperclay 的描述清晰,有助于理解项目。
  • 有人比较了 Hyperclay 和 localStorage 的同步层,好奇 Hyperclay 的解决方案如何更好。
  • 有人提到 TiddlyWiki 的笔记就是 HTML 文件,可以存储在文档文件夹中,通过任何服务同步,进行版本控制。
  • 有人将 Hyperclay 比作 Obsidian,但用于 HTML,文件本身提供动态功能和数据存储,需要引擎来使数据持久化和动态部分协同工作。

Claudia – Desktop companion for Claude code #

https://claudiacode.com/

Claudia 是一个为 Claude Code 设计的优雅桌面伴侣,它通过美观的图形用户界面(GUI)简化了 AI 编码工作流程。用户可以通过 Claudia 轻松管理 Claude 会话、创建自定义代理,并跟踪 AI 使用情况。Claudia 的主要特点包括:

  1. 视觉项目管理:在一个美观的界面中浏览所有 Claude Code 项目和会话。
  2. 自定义 AI 代理:在 Claudia 中创建可重用的代理,具有自定义提示和沙盒执行环境。
  3. 跟踪 AI 支出:通过美观的可视化工具监控令牌使用情况、成本和会话分析。
  4. 内置 Markdown 编辑器:使用语法高亮和实时预览编辑系统提示。
  5. MCP 服务器管理:直观地配置和管理模型上下文协议服务器。
  6. 会话时间旅行:创建检查点并像 Git 一样分支对话。
  7. 隐私优先设计:数据本地存储,无需云依赖或外部跟踪。
  8. 集成 Claude Code:在 Claudia 中直接运行 Claude Code 会话。

Claudia 的优势在于将终端命令管理转变为视觉清晰的过程,解决了终端混乱、无视觉浏览项目历史、难以跟踪令牌使用和成本、手动编辑 CLAUDE.md 文件以及难以重访和分支先前对话等问题。Claudia 的界面专为开发者设计,包括交互式会话、CC 代理、DIFF 视图和使用情况仪表板等功能。

Claudia 基于现代技术构建,使用 Tauri 2.0、React 18、TypeScript、Rust 和 Tailwind CSS 等工具,以提供快速、安全且美观的体验。Claudia 支持 Windows 10+、macOS 10.15+ 和 Ubuntu 20.04+ 平台,并且完全免费且开源。用户需要安装 Claude Code CLI 并配置 Claude API 密钥才能使用 Claudia。Claudia 注重隐私,所有数据都存储在本地,不会发送到外部服务器。


HN 热度 484 points | 评论 219 comments | 作者:zerealshadowban | 1 day ago #

https://news.ycombinator.com/item?id=44933255

  • 目前出现了许多探索性的工具,但大多数工具功能重复,只是锁定了不同的服务。
  • 开源移动应用通过实时同步 CLI 编码代理状态到手机和实验性的声音代理,提供了 Roo 不具备的新功能。
  • 有用户表示这种移动设备连接到 Claude Code 的功能是他们一直在寻找的。
  • 一些用户通过 Termius 和 SSH 连接到工作机器上使用 Claude Code,但偶尔会遇到网络问题。
  • Termius 支持使用 mosh,可以减少网络中断和恢复会话的问题。
  • 使用 mosh 和 tmux 可以保持客户端之间的持久连接,需要推送通知来提醒审批或停止。
  • 可以自托管中继服务器,方便在不同网络和防火墙下工作。
  • 中继服务器的设置可以处理一些特殊情况,比如设备不在线时也能工作。
  • 多样性的工具是好事,但现在很多人似乎都在用相同的功能集填充相同的空间。
  • 如果不追求最新技术,最终只有少数优秀的选项会胜出。
  • 目前的情况类似于 Web 2.0 初期,许多小玩家通过不同的界面访问 Facebook 和 Reddit。
  • 大多数人已经意识到 Claude 是最佳选择,但不应该单方面决定用户必须使用它。
  • 如果没有 Claude 特有的功能,这种锁定就是不必要的,如果有更好的模型出现,用户可能会转向支持该模型的应用。

ArchiveTeam has finished archiving all goo.gl short links #

https://tracker.archiveteam.org/goo-gl/

ArchiveTeam Warrior 是一个虚拟的档案保存工具,用户可以通过运行它来帮助 ArchiveTeam 进行网络内容的存档工作。它能够下载网站内容并上传到存档中,操作简单且不会对用户的电脑造成风险。该工具仅消耗用户的带宽和部分磁盘空间。

用户可以在 Windows、OS X 和 Linux 操作系统上运行 ArchiveTeam Warrior,需要使用 VirtualBox(推荐)、VMware 或类似软件来运行虚拟机。使用 VirtualBox 的步骤包括:下载虚拟设备(357MB),在 VirtualBox 中导入文件,启动虚拟机,虚拟机会自动获取最新更新,并提示用户打开网络浏览器。

启动后,用户需要访问 http://localhost:8001/,检查设置页面,选择用户名以便在排行榜上显示进度。在“所有项目”标签页中选择一个项目进行工作,或者选择“ArchiveTeam 的选择”让系统自动分配最紧急的项目。

页面还提供了一些统计数据,包括已完成的存档量(3.75B),待处理的数据量(286.57TiB),以及不同存档者的进度和贡献,例如 fuzzy802、DLoader、darknavi 等,他们分别贡献了不同数量的数据和项目。


HN 热度 410 points | 评论 102 comments | 作者:pentagrama | 1 day ago #

https://news.ycombinator.com/item?id=44933401

  • ArchiveTeam 的效率和效果给人留下深刻印象,他们能够快速有效地备份网站数据。
  • ArchiveTeam 与 Internet Archive 不同,他们专注于备份即将关闭的网站,并提供脚本让志愿者参与备份工作。
  • ArchiveTeam 的备份工具在备份特定类型的网站时非常有用,例如使用 MediaWiki 导出功能备份 Wiki。
  • ArchiveTeam 在网站宣布关闭时会尝试以最快速度备份尽可能多的数据。
  • ArchiveTeam 通过志愿者和运行 Archive Warrior VM 来分配任务和执行备份,然后将备份数据上传到 Internet Archive。
  • 有人提到可以在 Docker 中运行 Archive Warrior,这使得设置过程更简单。
  • 有人提到在自己的 NAS 上运行 ArchiveTeam Warrior,只需简单设置即可在后台默默工作。
  • 有人提到曾经运行过 Archive Warrior,但因为 VM 被黑客攻击而不得不关闭。
  • 有人提出疑问,是否是运行 Warrior 软件导致了网络安全风险。
  • 有人比喻说,如果 Internet Archive 是图书馆,那么 ArchiveTeam 就是四处收集资料并交给图书馆保管的人。
  • 有人提到 ArchiveTeam 需要先收集链接进行处理,因为 Google 不会直接提供正在使用的短链接列表。
  • 有人提出是否可以建立一个基于区块链或 P2P 的网络爬虫,以创建整个网络的快照,并保持高完整性。
  • 有人提到 CommonCrawl 已经存在,它提供了一个庞大的网络数据集,但并不代表整个网络。
  • 有人提出疑问,是否有办法找出 Common Crawl 未能收录的内容的模式,并帮助它们变得更全面。

When did AI take over Hacker News? #

https://zachperk.com/blog/when-did-ai-take-over-hn

Zach Perkel 在 2025 年 8 月 17 日的文章中探讨了人工智能(AI)何时开始主导 Hacker News 的趋势。文章指出,2025 年 8 月,Hacker News 排名前十的帖子中有三分之一与 AI 相关,这并不令人意外。作者通过分析 Hacker News 大数据集,从 2019 年 1 月 1 日到 2025 年 8 月 15 日的 24910 个排名前十的故事,发现 AI 话题的热度自 2019 年以来一直在上升。文章通过使用 GPT-5-mini 对每个故事及其评论部分进行分类,生成了摘要、AI 提及(是否谈论 AI)和 AI 情感(正面、负面或中立)三个字段。

分析结果显示,AI 相关的帖子数量在 2025 年第三季度达到新高。第一个显著的增长并非在 ChatGPT 发布时,而是在 GPT-4 发布后,这可能是因为 GPT-4 是开发者首次能够访问高级语言模型。在情感方面,2021 年第三季度 AI 相关帖子的情感转向负面,主要是因为苹果公司宣布的 NeuralHash 引发了隐私争议,以及 GitHub Copilot 的预览版发布时,其复制许可证代码的行为引起了关注。

在 2816 个被分类为 AI 相关的帖子中,52.13% 的情感是正面的,31.46% 是负面的,16.41% 是中立的。2025 年第三季度对 AI 的情感稍微偏向负面,但作者认为这还不足以构成一个明显的趋势。作者期待在未来几个月更新这一分析。总的来说,Hacker News 对 AI 的兴趣并非由 ChatGPT 或任何消费产品引发,而是在 GPT-4 作为开发者工具解锁时达到高峰。尽管 Hacker News 上关于 AI 的讨论比以往任何时候都多,但自 2021 年苹果 NeuralHash 事件以来,对 AI 的情感大体上保持稳定。


HN 热度 301 points | 评论 218 comments | 作者:zachperkel | 1 day ago #

https://news.ycombinator.com/item?id=44934337

  • 这篇文章将一个提出合理质疑的帖子描述为“相当负面”,这影响了对作者文章的阅读。
  • 在 Hacker News 上,提出质疑或批评有时会被贴上“负面”的标签,导致讨论环境变得过于“只允许积极思考”。
  • 有些人通过使用正确的情感语言来削弱他人的思考能力,例如在技术讨论中用赞扬来压制批评。
  • 有时即使没有明显的负面或批评,也会有人发表“我对这里的负面感到惊讶”的评论,这可能是 Reddit 级别的评论操纵。
  • 有些人认为 Hacker News 上的评论充满了无意义的贬低,提醒人们讨论不仅仅是贬低事物和人是有益的。
  • 有人反对将 Hacker News 变成一个更加积极的社区,他们希望看到更多的争论和挑战。
  • 有人指出,Hacker News 的观众能够进行技术批评,但可能无法识别正确的情感反应。
  • 有人质疑,不发布每一个合理的批评就意味着读者的思考能力受到了削弱吗?
  • 有人强调,即使批评是正确的,也不一定是有用的、相关的、有意义的或有价值的。

FFmpeg Assembly Language Lessons #

https://github.com/FFmpeg/asm-lessons

FFmpeg Assembly Language Lessons 是一个公共的 GitHub 仓库,专注于提供汇编语言课程,特别是在 FFmpeg 项目中的应用。这个仓库由 251 人分叉,获得了 8.6k 的星标。该课程旨在教授学习者如何在 FFmpeg 中编写汇编语言,帮助他们深入了解计算机内部的运作机制。

课程要求学习者具备 C 语言知识,特别是指针的使用,如果不熟悉 C 语言,建议先阅读《The C Programming Language》一书。此外,还需要具备高中数学水平,理解标量与向量、加法、乘法等概念。

在这个 Git 仓库中,包含了与课程相对应的课程和作业(尚未上传)。完成课程后,学习者将能够为 FFmpeg 做出贡献。此外,还有一个 Discord 服务器供学习者提问和交流。

课程还提供了法语和西班牙语的翻译版本。FFmpeg Assembly Language Lessons 的资源包括 Readme 文件,但加载时出现了错误,需要重新加载页面。该仓库的活动显示,有 142 人关注,251 人分叉。目前没有发布任何版本,也没有发布任何软件包。共有 10 位贡献者参与了这个项目。


HN 热度 285 points | 评论 82 comments | 作者:flykespice | 9 hours ago #

https://news.ycombinator.com/item?id=44940485

  • FFmpeg 对性能的承诺是非常宝贵的,小的改进可以节省成千上万的计算小时。
  • 有人认为性能提升需要用汇编语言编写,但实际上并非如此,很多人抱怨性能问题是因为一些应用打开速度慢。
  • 有人通过分析 GTA Online 的启动问题,发现 95% 的时间都花在了 strlen() 调用上,通过简单的二进制补丁将启动时间从 5-15 分钟减少到 15 秒左右。
  • 有人认为,许多问题可以通过使用性能分析工具(如 Valgrind)来避免,但很多人并不使用这些工具。
  • 有人认为,AAA 级游戏的质量普遍较差,因为制作游戏的人想要制作高质量产品的愿望被最大化利润的愿望所压倒。
  • 有人认为,大多数软件不需要接近最优的性能,只需要不浪费资源即可。
  • 有人认为,许多软件明显浪费资源,问题通常在更高层次,而不是需要汇编语言微优化。
  • 有人认为,非性能关键程序应该关注其他方面而不是性能。
  • 有人认为,即使是非性能关键的程序,也希望它们能关注性能,比如快速启动和响应。

Google admits anti-competitive conduct involving Google Search in Australia #

https://www.accc.gov.au/media-release/google-admits-anti-competitive-conduct-involving-google-search-in-australia

2025 年 8 月 18 日,澳大利亚竞争与消费者委员会(ACCC)对谷歌亚太公司提起联邦法院诉讼,指控谷歌与澳大利亚电信公司 Telstra 和 Optus 达成了反竞争协议,涉及在 Android 手机上预装谷歌搜索。谷歌承认了与这两家电信公司在 2019 年 12 月至 2021 年 3 月期间的协议,该协议要求 Telstra 和 Optus 只在他们销售给消费者的 Android 手机上预装谷歌搜索,而不包括其他搜索引擎。作为回报,这两家电信公司会从谷歌搜索广告收入中获得分成。

谷歌承认,与 Telstra 和 Optus 达成的这些协议可能会大大减少竞争。谷歌及其美国母公司 Google LLC 还签署了一项法院可执行的承诺,以解决 ACCC 对谷歌自 2017 年以来与 Android 手机制造商和澳大利亚电信公司之间的合同安排的更广泛竞争关切。谷歌并不完全同意 ACCC 的所有关切,但已承认并提出承诺以解决这些问题。

在承诺中,谷歌承诺将从与 Android 手机制造商和电信公司的合同中移除某些预装和默认搜索引擎限制。谷歌的这一承诺是在去年 ACCC 接受 Telstra、Optus 和 TPG 的承诺之外的。这些电信公司承诺不再与谷歌续签或签订新协议,要求谷歌搜索服务在他们提供的 Android 设备上预装并设置为默认搜索功能。

ACCC 主席 Gina-Cass Gottlieb 表示,限制竞争的行为在澳大利亚是非法的,因为这通常意味着消费者选择更少、成本更高或服务更差。今天的成果,加上 Telstra、Optus 和 TPG 的承诺,为数百万澳大利亚人在未来拥有更大的搜索选择创造了可能,也为竞争搜索提供商赢得了澳大利亚消费者的意义曝光。

Gottlieb 还提到,随着 AI 搜索工具变得越来越普及,消费者可以在他们的手机上尝试不同的搜索服务。今天的诉讼是 ACCC 在数字平台服务调查报告中对谷歌搜索默认设置和选择屏幕提出更广泛关切后,经过长时间调查的结果。ACCC 鼓励与 ACCC 合作,这可以避免漫长和昂贵的诉讼,并促进更多竞争。在数字经济中,竞争问题是一个当前的优先领域,ACCC 致力于解决此类反竞争行为。谷歌的承诺副本可在 ACCC 公共登记册上查阅。


HN 热度 284 points | 评论 194 comments | 作者:Improvement | 20 hours ago #

https://news.ycombinator.com/item?id=44936945

  • 罚款应该与收入成正比,以实现公平
  • 罚款的目的是起到威慑作用,不同经济状况的人对罚款的感受不同
  • 按收入比例罚款可以确保罚款对所有人都有相同的威慑效果
  • 非比例罚款意味着达到一定财富水平后,法律实际上不再适用
  • 罚款应该根据犯罪对受害者的影响来定,而不仅仅是行为本身
  • 按收入百分比罚款仍然是相同的惩罚,但在经济上的影响不同
  • 讨论了边际效用和对不同收入人群罚款的合理性
  • 有人认为按固定金额罚款对富人影响小,对穷人影响大
  • 有人认为罚款应该根据个人的支付能力来定,以确保公平
  • 欧盟对企业罚款也采用与全球营业额挂钩的比例罚款制度

Show HN: Doxx – Terminal .docx viewer inspired by Glow #

https://github.com/bgreenwell/doxx

doxx 是一个专为终端设计的、快速的文档查看器,用于查看 Microsoft Word 文件。它使用 Rust 语言构建,以确保性能和可靠性,将 Word 文档带到命令行界面,并提供美观的渲染、智能表格支持和强大的导出功能。

主要特点包括:

  • 文档查看:支持语法高亮和格式化的精美终端渲染,支持 Word 文档文本颜色的色彩支持,专业表格显示,嵌套列表支持,全文搜索及高亮显示,文档大纲快速导航,多种视图模式。
  • 智能表格支持:高级表格解析,自动头部检测,智能对齐,数据类型检测,专业 ASCII 渲染。
  • 复制和剪贴板:支持从终端 UI 直接复制渲染内容,基于当前视图的上下文感知复制,跨平台支持。
  • 导出和集成:支持 Markdown 导出,CSV 数据提取,纯文本输出,JSON 导出,CLI 友好的脚本和自动化支持。

安装方法:

  • 预构建的二进制文件:通过 GitHub 发布页面提供所有主要平台的预构建二进制文件。
  • 包管理器:即将支持 Homebrew、Chocolatey、Cargo 和 Linux 的官方仓库包。
  • 从源代码构建:需要 Rust 1.70+ 和 Git,可以从 GitHub 仓库克隆并安装。

基本使用:

  • 查看文档:doxx quarterly-report.docx
  • 开始时使用大纲视图:doxx document.docx --outline
  • 搜索特定内容:doxx contract.docx --search "payment terms"
  • 启用颜色支持:doxx presentation.docx --color
  • 导出到不同格式:支持 CSV、Markdown、JSON 导出。
  • 强制交互式 UI:doxx document.docx --force-ui
  • 检查版本和获取帮助:doxx --versiondoxx --help

doxx 支持 Windows 10/11、多种 Linux 发行版和 macOS 10.12+(Intel 和 Apple Silicon)。


HN 热度 244 points | 评论 66 comments | 作者:w108bmg | 1 day ago #

https://news.ycombinator.com/item?id=44934391

  • 该项目速度和响应性很好,但请求确保任何计划中的"AI 集成"是完全可选的,最好是一个独立的项目。
  • 一些用户担心在线功能会让安全团队禁止使用这个工具。
  • 有人建议 AI 功能应该是一个可以单独使用的不同的工具,以保持核心工具的单一目的。
  • 有人建议安装和执行名为"doxx"的工具听起来像是一个糟糕的主意,因为这个名字可能会让用户感到不安。
  • 有人提到其他项目可能对开发者有用,如 OOXML-Validator 和 Visual Studio Code 的扩展。
  • 有人提到老式的 Word 文件(.doc)仍然很常见,建议集成 Antiword。
  • 有人建议使用 LibreOffice 的解析器来解决文档解析问题。
  • 有人分享了自己使用 pandoc 和 groff 在终端阅读文档的方法。
  • 有人期待在法律实践中尝试这个工具,但认为名字带有负面含义。
  • 开发者解释说"Doxx"这个名字是有意为之的双关语,意在"解放 Office 文档"。
  • 有人担心"doxx"这个名字可能会导致一些人不愿意在工作机器上安装这个工具。
  • 有人表示这只是一个名字问题,解释清楚工具的功能就可以结束对话。
  • 有人提到其他一些技术工具的名字也有争议,如 gitkillslackfsck
  • 有人提到 itsdangerous 这个 Python 项目依赖包也曾引起一些争议。
  • 有人好奇这个工具在法律实践中的用途,质疑有多少律师会 SSH 到服务器。
  • 有人表示非律师在审查大量内部文件时,这个工具的快速切换功能很有吸引力。
  • 有人提到他们讨厌 Word,但有时不得不处理 Word 文档,这个工具可以帮助理解文档结构。
  • 开发者表示正在努力改进复制粘贴功能。
  • 有人表示一些律师可能习惯于使用终端进行本地工作。

SystemD Service Hardening #

https://roguesecurity.dev/blog/systemd-hardening

这篇文章讨论了如何增强 Linux 系统中 systemd 服务的安全性。尽管 systemd 因其争议性而备受关注,但它提供了一个全面且强大的方法来控制服务。文章指出,虽然 systemd 在很多方面都是为了开箱即用的成功而优化的,但并非特别注重安全性。因此,作者提供了一些建议,帮助用户通过调整 systemd 服务单元和 podman 容器来提高整体的安全姿态,减少被攻击的可能性以及被攻击后的破坏范围。

文章首先介绍了如何使用 systemd-analyze security 命令来分析部署的服务单元的安全性,并展示了如何针对特定服务(例如 sshd.service)进行安全分析。分析结果会显示哪些安全措施已经到位,以及它们的风险评分。接着,文章解释了如何根据分析结果修改 systemd 服务单元文件中的安全设置,包括如何使用 stub 文件配置覆盖和手动配置的方法。

文章还提供了一个安全选项列表,这些选项可以在服务级别上进行调整,以增强安全性。这些选项包括但不限于:AmbientCapabilities、AppArmorProfile、CapabilityBoundingSet、DeviceAllow、DynamicUser、GroupInaccessiblePaths、IPAddressAllow、IPAddressDeny、LockPersonality、MemoryDenyWriteExecute、NoExecPaths、NoNewPrivileges、PrivateDevices、PrivateIPC、PrivateNetwork、PrivateTmp、PrivateUsers、ProcSubset、ProtectClock、ProtectControlGroups、ProtectHome、ProtectHostname、ProtectKernelLogs、ProtectKernelModules、ProtectKernelTunables、ProtectProc、ProtectSystem、ReadOnlyPaths、ReadWritePaths、RemoveIPC、RestrictAddressFamilies、RestrictFileSystems、RestrictNamespaces、RestrictNetworkInterfaces、RestrictRealtime、RestrictSUIDSGID、SocketBindAllow、SupplementaryGroups、SystemCallArchitectures、SystemCallFilter、TemporaryFileSystem、UMask 和 User。

最后,文章对这些安全选项进行了简要解释,并强调了在调整这些设置时需要注意的原则:如果服务在更改后无法启动,可能是因为你刚刚移除了它所需的权限/能力。作者建议读者根据这些信息做出明智的猜测,并开始尝试调整,以提高自己系统的安全性。


HN 热度 237 points | 评论 90 comments | 作者:todsacerdoti | 18 hours ago #

https://news.ycombinator.com/item?id=44937550

  • systemd 服务硬化可以通过 strace 分析自动进行
  • ProtectSystem=配置可以与 TemporaryFileSystem 和 BindReadOnly 一起使用,以限制服务的文件系统访问
  • 有些服务可能因为硬化设置过于激进而无法正常工作,例如 NetworkManager
  • 发行版可能因为担心破坏用户设置而没有启用更多的硬化开关
  • 发行版维护者需要在安全性和易用性之间找到平衡
  • systemd-analyze –user security 可以用来检查 systemd 用户单元的安全设置
  • 有提议创建一个包含常见服务硬化建议的仓库
  • 通过查看主流发行版的服务打包方式,可以了解如何对服务进行硬化
  • 发行版通常不会进行安全硬化,除非是专门针对安全的发行版
  • 旧的 init 脚本无法像 systemd 那样统一和标准化地使用内核特性
  • systemd 是复杂软件,而替代方案是简单软件加上复杂的脚本
  • systemd 不支持 musl,这限制了在构建小型嵌入式系统时的使用
  • OpenEmbedded 已经在 Yocto 中使用 musl 构建 systemd 的 patchset
  • systemd 在某种程度上受到了 macOS 的 launchd 的启发
  • Upstart 是 systemd 的直接前身,而 systemd 则是受 launchd 启发而创建的新项目

Show HN: Whispering – Open-source, local-first dictation you can trust #

https://github.com/epicenter-so/epicenter/tree/main/apps/whispering

Whispering 是一个开源的语音转文字应用程序。用户只需按下键盘快捷键,说话,程序就能将语音转录、转换,并复制粘贴到光标位置。开发者出于对封闭源代码的语音转录工具的不信任,创建了这个完全开源、本地优先、对用户数据透明的工具。所有数据都存储在本地设备上,音频直接从用户的机器传输到选择的云服务提供商(如 Groq、OpenAI、ElevenLabs 等)或本地服务提供商(如 Speaches、owhisper 等),无需中间人或供应商锁定。

Whispering 以其语音激活模式和可定制的 AI 转换功能脱颖而出,支持用户使用任何提示/模型进行转换。该应用程序使用 Svelte 5 和 Tauri 构建,体积小巧(约 22MB),启动迅速。代码库文档齐全,易于理解和审核,确保用户了解音频的去向、处理方式和存储的数据。此外,由于省去了中间环节,用户可以直接向服务提供商支付费用,从而节省成本。

Whispering 的使用成本如下:

  • 传统工具:根据不同的服务和使用时长,每月费用在 15-30 美元之间。
  • 本地服务:免费。

开发者认为,开源和本地优先的社区可以共同构建出比任何封闭源代码替代品更好的产品。Whispering 的代码开源,因为基础工具不应该要求用户信任一个黑盒子。公司可能会转型、被收购或关闭,但开源是永恒的。注意,Whispering 适用于快速转录,而不是长时间的录音。


HN 热度 220 points | 评论 53 comments | 作者:braden-w | 6 hours ago #

https://news.ycombinator.com/item?id=44942731

  • 所有数据都存储在本地设备上,音频直接从机器传输到用户选择的云服务提供商,没有中间人。
  • Whispering 提供了本地转录功能,支持用户选择的供应商或本地供应商。
  • 支持使用 Parakeet 模型进行本地转录,比 Whisper 更快更准确。
  • MacWhisper 用户认为 Parakeet 比 Whisper 更好,支持通过 Parakeet 进行推式转录。
  • 有用户询问是否支持使用 Parakeet 模型进行本地转录。
  • 有用户对 Epicenter 项目表示支持,认为应该有更多开源、本地优先的应用程序。
  • 有用户对 Whispering 的开源和本地优先特性表示赞赏,并希望探索更多类似的应用。
  • 有用户对 Whispering 的云版本表示兴趣,询问是否可以使用 AgentDB API 上传数据。
  • 有用户对 Whispering 的资源消耗和对专有服务的依赖表示担忧,询问是否有更好的开源语音转文本选项。
  • 有用户对 Whispering 是否适用于儿童语音表示好奇,认为这在教育应用中具有价值。
  • 有用户对开源软件表示支持,认为所有人都应该如此。