MoreRSS

site iconHackerNews AI 摘要修改

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

Inoreader Feedly Follow Feedbin Local Reader

HackerNews AI 摘要的 RSS 预览

2025 06 23 HackerNews

2025-06-23 08:24:09

2025-06-23 Hacker News Top Stories #

  1. 美国对伊朗核设施发动轰炸,引发双方紧张关系升级及国际关注。
  2. 作者制作了机械表的爆炸视图模型,记录了从构想到完成的整个制作过程。
  3. Git笔记功能强大但不被广泛使用,适合在不修改提交的情况下添加元数据。
  4. LibRedirect浏览器扩展将主流网站重定向到注重隐私的替代前端服务。
  5. 深入分析了谷歌TPU的设计、架构及其在AI领域的性能优势。
  6. 美国袭击伊朗核设施,特朗普称其为军事成功,伊朗誓言回应。
  7. LaborBerlin项目旨在开发开源16毫米电影放映机,解决老式设备的维护问题。
  8. AI技术推动硅谷小团队时代,提升效率,使得小型团队能完成更大规模的项目。
  9. Sound As Pure Form是一种受多种编程语言启发的音乐语言,适合音频合成和处理。
  10. 通过优化,Linux管道的吞吐量提升了20倍,揭示了其内部实现和性能优化方法。

U.S. bombs Iranian nuclear sites #

https://www.bbc.co.uk/news/live/ckg3rzj8emjt

BBC 首页报道了伊朗和美国之间的紧张局势升级。

伊朗总统马苏德·佩泽什基安表示,美国对伊朗的侵略行为“必须得到回应”,此前美国轰炸了伊朗的三个核设施。美国总统唐纳德·特朗普则声称这些打击行动“将‘炸弹’从他们手中夺走”。联合国核监督机构表示,无法确定福特地下设施的损坏程度,而伊朗外交部长则表示,伊朗的核知识“不会被轰炸摧毁”。

BBC 核实了伊斯法罕和纳坦兹以及福特的卫星图像,以评估美国空袭造成的损害。

与此同时,伊朗和以色列继续相互开火,以色列声称击中了数十个军事目标,而伊朗红新月会指责以色列袭击了医院和医疗中心。

美国国防部长皮特·黑格斯表示,这些打击行动不是为了政权更迭,而是为了阻止伊朗获得核武器。

BBC 安全记者弗兰克·加德纳提出了一个更令人担忧的问题:伊朗是否仍有足够的高浓缩铀(HEU)隐藏在秘密地下位置,以及知识和手段将其武器化,从而决定制造一个原始的核弹?换句话说,美国和以色列的联合攻击是否消除了伊朗成为核武装国家的可能性,还是使其更有可能?

以色列驻联合国代表丹尼·达农表示,世界应该感谢唐纳德·特朗普。他说,有些人在联合国谴责美国和以色列,但他质疑“当伊朗的铀浓缩远超民用目的,当它在山下建造堡垒准备我们的灭绝时,你们在哪里?”

伊朗驻联合国代表阿米尔·赛义德·伊拉瓦尼指责美国对伊朗发动了一场“战争”,并称伊朗有权“自卫”对抗“公然的美国侵略”。他还指责以色列总理内塔尼亚胡将美国卷入“另一场代价高昂、毫无根据的战争”,并称美国和以色列的行为是“公然违反国际法”。

伊朗伊斯法罕省省长表示,以色列空袭导致一辆救护车被击中,造成三人死亡。伊朗国家电视台也报道了这一事件,当地居民表示以色列正在针对平民。以色列尚未对这一事件作出回应,但表示其在伊朗的行动是针对军事设施的。

美国总统唐纳德·特朗普在社交媒体上表示,对伊朗核设施的破坏是“巨大的”。他赞扬了美军的精准打击和技能。


HN 热度 1148 points | 评论 3500 comments | 作者:mattcollins | 24 hours ago #

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

  • 以色列轰炸伊朗核设施是针对未授权的武器级铀浓缩设施,这些设施位于人口中心之外的山区。
  • 内塔尼亚胡因腐败指控可能入狱,但只要他能领导以色列处于紧急状态,这些指控可以被推迟或绕过。
  • 新的对伊朗战争转移了人们对加沙发生事情的注意力,加沙的饥饿问题进入了一个新临界阶段。
  • 内塔尼亚胡的腐败指控可能无法证明,不应基于政治化的报道来假设其有罪或无罪。
  • 有人认为内塔尼亚胡应该因种族灭绝行为被监禁,而不仅仅是腐败指控。
  • 有人反对将以色列的行为称为种族灭绝,认为这种说法不诚实。
  • 有人提到加沙没有民主选举的政府,以色列作为占领力量阻止了选举。
  • 有人认为以色列的行为符合种族灭绝和种族清洗的所有标准。
  • 有人认为特朗普是法西斯倾向的独裁者。
  • 以色列明确针对平民、援助工作者、记者、难民营、食品分发点,甚至在教堂中射击藏匿的人,这些都不是合法目标。
  • 以色列在加沙的行为类似于种族灭绝,但以色列和哈马斯都有种族灭绝的意图,只是哈马斯能力较小。
  • 根据国际法,任何被敌方用于军事目的的物体,包括医院和学校,都是合法的攻击目标。

Mechanical Watch: Exploded View #

https://fellerts.no/projects/epoch.html

这篇文章是 Fredrik Flornes Ellertsen 关于他制作机械手表爆炸视图模型的经历和过程的分享。文章开始于他对 Bartosz Ciechanowski 博客中关于机械手表运动工作原理的解释的赞赏,特别是那些互动插图。作者表达了想要亲手制作一个真实的机械手表爆炸视图模型的愿望,但在寻找现成模型时发现市场上并没有符合他要求的产品。

文章接着描述了作者决定自己动手制作这样一个模型的过程。他首先考虑了要“爆炸”的机械手表运动类型,认为基于 ETA 2824-2 机械手表运动(或其克隆版本)的博客帖子是一个不错的选择,但考虑到其复杂性,他选择了更简单、更老式的怀表运动作为起点。

作者面临的挑战是如何将 50-100 个微小的组件悬浮起来,形成一个爆炸视图。他尝试了分层树脂铸造的方法,但由于树脂的黄色色调、固化速度慢和层间接缝明显等问题,这种方法并不成功。他尝试了使用 UV 光固化树脂和传统的双组分环氧树脂,但都遇到了问题。

在多次尝试后,作者决定采用一次性铸造整个模型的方法,并使用钓鱼线来悬挂每个组件。他选择了单丝尼龙线,因为它的折射率与环氧树脂相似,且价格便宜。他通过在烤箱中烘烤来矫正线的弯曲,并用 CA 胶将组件粘在线上,这个过程与真正的手表制作有些相似。

文章最后,作者提到了他在制作过程中遇到的挑战,包括需要精细操作和稳定的手,以及如何使用 CA 胶代替润滑油来处理微小的组件。尽管面临困难,但他对完成这个项目感到兴奋和期待。


HN 热度 555 points | 评论 83 comments | 作者:fellerts | 9 hours ago #

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

  • Bartosz Ciechanowski 的博客文章是关于机械手表的最佳网络资源之一。
  • 作者展示了许多类似的详细作品,可以在其个人网站上查看。
  • 这篇文章三年前在 Hacker News 上讨论过,获得了极高的评分。
  • 有人提到了将物品封入树脂并用水流切割机切割以创建“爆炸视图”的艺术家。
  • 有人提出了通过调整树脂的折射率来使钓鱼线完全消失的想法。
  • 作者回应称没有深入考虑过这个想法,但搜索后发现光学领域有很多先例。
  • 有人分享了使用不同粗细的砂纸打磨树脂铸件以获得完美立方体的经验。
  • 作者回应称自己可能会厌倦打磨工作,并提到了使用抛光/打磨工具的可能性。
  • 有人建议使用砂纸和玻璃片来获得非常平坦的表面。
  • 有人对作者使用 PT5000 机芯表示赞赏,并提到中国手表制造业的惊人之处。
  • 有人询问关于在 AliExpress 购买机械手表克隆版的最佳资源。
  • 有人提到了消费者电子产品的加工和组装过程对手表制造业的帮助。
  • 作者计划学习如何制作计时器,并赞扬了中国制造的可靠性和价格合理性。
  • 有人表达了对破坏这些精密机械的矛盾感,但也认为这种展示非常酷。
  • 有人提到了古董店中以黄铜重量出售的怀表,以及它们作为手表修复技术实践材料的价值。
  • 有人询问如何开始学习手表修复作为爱好。

Git Notes: Git’s coolest, most unloved­ feature (2022) #

https://tylercipriani.com/blog/2022/11/19/git-notes-gits-coolest-most-unloved-feature/

这篇文章是关于 Git 的一个不太为人知但非常强大的特性——Git 笔记(git notes)的介绍和讨论。

首先,文章指出 Git 笔记几乎是一个秘密,因为它们的易用性令人困扰,但它们被工程师们不断重新发现,用于在 Git 中存储元数据。Git 笔记允许你在特殊的命名空间中添加关于旧提交的新信息,而且它们的功能远不止于此。你可以为 Git 跟踪的任何对象(提交、blob 和树)添加笔记,而不需要修改对象本身。

文章接着介绍了如何为最新的提交添加笔记,并展示了如何在 git log 中显示这些笔记。例如,可以添加一个“Acked-by”的笔记,表示某个人确认了代码。

文章还提到了 Git 笔记在实际中的应用案例,比如 Git 项目本身将每个提交与其邮件列表上的讨论链接起来。其他人使用笔记来跟踪每个提交或分支上花费的时间、添加审查和测试信息到 git log,甚至进行完全分布式的代码审查。

文章特别提到了一个名为 reviewnotes 的插件,它允许用户在 git log 中看到谁审查了代码,以及运行了哪些测试,而不需要打开浏览器。

然后,文章讨论了如何使用 Git 笔记存储代码审查和测试结果,以及一个名为 git-appraise 的系统,它是一个建立在 Git 笔记之上的完整的代码审查系统,允许用户请求审查、评论变更、审查和合并变更,所有这些都可以在本地计算机上完成,即使 GitHub 宕机也没关系。

最后,文章指出 Git 笔记的使用并不普遍,因为它们难以使用,而且 GitHub 在 2014 年停止显示提交笔记,没有给出太多解释。尽管如此,Git 笔记是实现 forge 独立性的一种方式,它们可以使得项目的整个历史分布化,而不需要承受强制推送的风险。作者认为,Git 笔记是 Git 代码审查系统的一个分布式替代方案,它们可以分散代码的历史,也可以分散整个项目的历史。


HN 热度 409 points | 评论 103 comments | 作者:Delgan | 15 hours ago #

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

  • Git trailers 是一种在创建提交时附加的键值结构数据,用于添加元数据。
  • Gerrit 使用 git trailers 来附加 Change-Id。
  • PostgreSQL 的 COMMENT 功能允许在数据库对象上附加文本,但希望有更结构化的键值数据库对象元数据。
  • GitHub 的解析器无法正确解析 PostgreSQL 的 COMMENT 功能。
  • COMMENT 功能对于 VIEW、PROCEDURE 或 FUNCTION 并不适用,因为它们已经在服务器上的对象定义中支持内联注释。
  • COMMENT 功能主要用于添加注释到不保留注释的对象,如 TABLE、COLUMN、CONSTRAINT、ROLE 等。
  • 使用 git notes 标记已运行单元测试的提交,以便在 rebase 时跳过这些提交。
  • 希望 git 本身有 change ids,以便工具可以理解它们,而不是仅通过提交消息来识别提交。
  • 使用树哈希作为缓存键而不是附加元数据到提交本身,以避免在重新排序提交时丢失测试结果。
  • GitHub 使用 git trailers 作为 [skip ci] 的替代方案,便于下游消费者更容易地移除提交消息。
  • 手动添加到提交消息的 trailers 与使用 --trailer 标志的功能是等效的。

LibRedirect – Redirects popular sites to alternative privacy-friendly frontends #

https://libredirect.github.io

这个网页是一个关于“LibRedirect”的介绍页面,它是一个网络浏览器扩展程序,旨在将用户从 YouTube、Instagram、Reddit、TikTok 等主流网站重定向到更加注重隐私的替代前端。以下是该网页主体内容的详细中文摘要:

LibRedirect 提供了一种方式,允许用户在保持原有网站功能的同时,使用更加注重隐私保护的替代网站。这些替代网站被称为隐私友好型前端,它们可以减少用户数据的收集和追踪,保护用户的在线隐私。

以下是一些主流网站及其对应的隐私友好型替代网站列表:

  1. YouTube:Invidious、Materialious、Piped、Piped-Material、Poke、CloudTube、LightTube、Tubo、FreeTube、Yattee、FreeTube PWA、ViewTube、ytify。
  2. YouTube Music:Hyperpipe、Invidious、FreeTube。
  3. Twitter:Nitter。
  4. ChatGPT:DuckDuckGo AI Chat。
  5. Bluesky:Skyview。
  6. Reddit:Libreddit、Redlib、Teddit、Eddrit、Troddit。
  7. Tumblr:Priviblur。
  8. Twitch:SafeTwitch、Twineo。
  9. TikTok:ProxiTok、Offtiktok。
  10. Instagram:Proxigram。
  11. IMDb:libremdb。
  12. Bilibili:MikuInvidious。
  13. Pixiv:PixivFE、LiteXiv、Vixipy。
  14. Fandom:BreezeWiki。
  15. Imgur:rimgo。
  16. Pinterest:Binternet、Painterest。
  17. SoundCloud:Tubo、soundcloak。
  18. Bandcamp:Tent。
  19. Tekstowo.pl:TekstoLibre。
  20. Genius:Dumb、Intellectual。
  21. Medium:Scribe、LibMedium、Small。
  22. Quora:Quetre。
  23. GitHub:Gothub。
  24. GitLab:Laboratory。
  25. Stack Overflow:AnonymousOverflow。
  26. Reuters:Neuters。
  27. Snopes:Suds。
  28. iFunny:UNfunny。
  29. Tenor:Soprano。
  30. KnowYourMeme:MeMe。
  31. Urban Dictionary:Rural Dictionary。
  32. Goodreads:BiblioReads。
  33. Wolfram Alpha:WolfreeAlpha。
  34. Instructables:Structables、Destructables、Indestructables。
  35. Wikipedia:Wikiless、Wikimore。
  36. Wayback Machine:Wayback Classic。
  37. Pastebin:Pasted。
  38. 搜索引擎:SearXNG、SearX、Whoogle、LibreY、4get。
  39. 翻译服务:SimplyTranslate、Mozhi、LibreTranslate、Translite。
  40. 地图服务:OpenStreetMap。
  41. 视频会议:Jitsi。
  42. 文件传输:Send。
  43. 文本粘贴:PrivateBin、Pasted、Pasty。
  44. 吉他谱:Freetar、Ultimate Tab。
  45. 百度贴吧:Rat Aint Tieba。
  46. 论坛:Shoelace。
  47. DeviantArt:SkunkyArt。
  48. GeeksforGeeks:NerdsforNerds、Ducks for Ducks。
  49. Coub:Koub。
  50. Chefkoch:GoCook。
  51. Mastodon:Mastodon。

通过 LibRedirect,用户可以在享受原有网站服务的同时,减少对个人隐私的担忧。这个扩展程序为用户提供了一个更加安全和私密的网络浏览体验。


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

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

  • LibRedirect 可以将流行网站重定向到注重隐私的前端,但存在一些网站服务会阻止或限制重定向的问题
  • 隐私重定向是最早引入重定向概念的扩展,但后来被滥用来重定向到危险网站
  • Instagram 的替代前端目前都不工作,无论是自托管的开源版本还是其他版本
  • 有一个 Android 应用可以设置自定义重定向,功能强大,可以去除链接中的追踪元素,展开短链接等
  • Redirector 插件可以方便地设置自己的重定向规则
  • 用户脚本权限过大,可能存在安全风险
  • 使用 NordVPN 和 uBlock Origin 浏览 YouTube 可以提高隐私,但可能被 YouTube 识别并要求登录
  • 频繁更换 VPN 服务器可以作为解决 YouTube 登录问题的一种方法
  • SponsorBlock 不会将视频 ID 发送到服务器
  • 使用 VPN 比使用“隐私”实例更好,因为 VPN 只知道你连接到 YouTube,而不知道具体观看的视频
  • 指纹追踪技术强大,使用 VPN 只是给 Google 提供了更多的数据点
  • 替代前端通常不依赖于其他人的终端节点
  • 将观看历史给陌生人比给广告商更好,因为这些数据孤立时几乎无用
  • 有些人愿意为了不看广告而将观看历史给陌生人
  • 用户脚本过长,普通用户难以从中发现恶意代码
  • 应该使用简短、可检查、不可更新且由自己编写的用户脚本来提高安全性

TPU Deep Dive #

https://henryhmko.github.io/posts/tpu/tpu.html

本文深入探讨了谷歌的张量处理单元(TPU),与图形处理单元(GPU)在设计哲学上的不同,尤其是在可扩展性、能效和计算架构方面。

背景 #

TPU 是谷歌自定义的应用特定集成电路(ASIC),旨在实现极高的矩阵乘法(matmul)吞吐量和能效。TPU 的起源可以追溯到 2006 年,谷歌在当时评估使用 GPU、FPGA 或定制 ASIC 的可能性。2013 年,随着谷歌语音搜索功能转向神经网络,计算需求的预测促使谷歌开发 TPU。

如今,TPU 已支持谷歌大部分的 AI 服务,包括训练和推理模型。接下来,文章将深入分析 TPU 的内部架构。

TPU 单芯片级别 #

以 TPUv4 为例,每个 TPU 芯片包含两个 TPU 张量核心(TensorCore),每个张量核心有 128MiB 的共享内存(CMEM)和 32GiB 的高带宽内存(HBM)。每个张量核心内又包括多个计算单元和小型内存缓冲区:

  1. ** 矩阵乘法单元(MXU)**:这是张量核心的关键组件,使用 128x128 的脉动阵列(systolic array)。
  2. ** 向量单元(VPU)**:用于一般元素级运算(如 ReLU、点加 / 乘、归约等)。
  3. ** 向量内存(VMEM;32MiB)**:用于存储从 HBM 复制的数据。
  4. ** 标量单元及标量内存(SMEM;10MiB)**:负责控制流、标量运算和内存地址生成。

与 GPU 不同的是,TPU 的片上内存单位(CMEM、VMEM、SMEM)较大,而 HBM 较小,且 TPU 的计算核心数量远少于 GPU。

TPU 能够实现极高的吞吐量,如 TPUv5p 每个芯片可达到 500 TFLOPs/sec,完整的 8960 芯片组合可实现约 4.45 ExaFLOPs/sec 的性能。

TPU 设计哲学 #

TPU 的设计哲学基于以下两个核心要素和一个关键假设:

  1. ** 脉动阵列与流水线(Systolic Arrays + Pipelining)**:脉动阵列是一种硬件设计架构,由一组互联的处理单元(PE)组成。每个 PE 执行小型计算(如乘法和累加),并将结果传递给邻近的 PE。这种设计可以降低对额外控制逻辑的需求,并实现高效的数据流动。
  2. ** 提前编译(Ahead-of-Time Compilation)与较少依赖缓存 **:TPU 通过与 XLA 编译器的硬件 - 软件协同设计,避免使用传统缓存,以降低能耗。XLA 编译器能够在运行时分析计算图,从而优化内存访问,减少不必要的缓存操作。

TPU 多芯片级别 #

TPU 的可扩展性在多芯片配置中表现得尤为突出。一个 TPU 托盘包含 4 个 TPU 芯片,并通过 PCIe 与 CPU 主机连接,芯片之间则通过更高带宽的内核间互联(ICI)连接。

一个 TPU 机架由 64 个芯片组成,采用 4x4x4 的三维环形结构,芯片间的通信通过 ICI 和光电切换(OCS)实现。

TPU 的不同配置概念包括:

  • **TPU 机架 **:物理单位,包含 64 个芯片。
  • TPU Pod(超级 Pod):最大配置的 TPU 单元,连接多个机架(例如,TPUv4 的 Pod 包含 4096 个芯片)。
  • TPU Slice:介于 4 个芯片和超级 Pod 之间的任意 TPU 配置。

通过将多个芯片、机架连接在一起,TPU 的设计哲学显示出其在高并行处理和快速通信方面的优势,支持大规模的深度学习任务。

总结 #

TPU 的设计理念强调高效的硬件架构与软件编译技术的结合,专注于特定的计算任务(如矩阵乘法),从而在能效和吞吐量上表现优异。随着 TPU 技术的不断进步,其在 AI 领域的应用潜力将更加广泛。


HN 热度 358 points | 评论 68 comments | 作者:transpute | 21 hours ago #

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

  • 华尔街从一开始就低估了谷歌,市值并不等同于企业价值。
  • 出售 TPU 需要建立基础设施,而出租可以保持更高的利润率,同时避免增强竞争对手。
  • 谷歌的 TPU 与 TensorFlow 框架紧密绑定,导致软件支持不足,影响了 TPU 的采用。
  • 谷歌将 TPU 限制在自家云服务中,这限制了开源社区和学术界的贡献。
  • 谷歌可能已经是第二梯队的 AI 芯片制造商,市值可能已经反映了这一点。
  • JAX/FLAX 等软件支持 TPU,谷歌在研究工作中使用这些工具而非 PyTorch。
  • 谷歌通过 TRC 项目免费提供 TPU 资源,以增加 JAX 的使用和影响力。
  • Broadcom 参与 TPU 的制造和网络基础设施,其市值为 1.2T,可能需要将其与谷歌的市值合并考虑。
  • Nvidia 同时进行硬件和软件栈的开发,而 Broadcom 是无晶圆厂公司,主要负责硬件设计。
  • Nvidia 通过销售芯片获得利润,而谷歌通过制造 TPU 节省资金,长期来看可能更有优势。
  • Nvidia 可能被高估,但至少它们是盈利的,与 WeWork 和 Uber 不同。
  • 谷歌保留 TPU 作为竞争优势,有利于其核心产品的长期发展。

U.S. strikes Iran’s nuclear facilities #

https://www.axios.com/2025/06/21/us-strike-iran-nuclear-israel-trump

这篇文章报道了美国对伊朗核设施进行空袭的最新情况。

美国军方在当地时间周日上午对伊朗的核设施进行了空袭,目标是 Fordow、Natanz 和 Isfahan。美国总统特朗普在白宫发表的历史性讲话中称这次行动是“壮观的军事成功”,并声称伊朗的主要铀浓缩场所“已被完全彻底摧毁”。特朗普表示:“伊朗,中东的恶霸,现在必须寻求和平。”他警告说,如果伊朗不迅速实现和平,将面临比过去八天所见更大的悲剧。

这次空袭是特朗普直接支持以色列努力拆除伊朗核计划的决定,标志着中东地区的历史性升级。这一干预充满了风险和不确定性,特朗普和他的许多前任都试图避免,包括通过与伊朗的外交手段。这次袭击发生在以色列和伊朗之间前所未有的战争的第九个晚上,可能会引发德黑兰对美国在该地区的军队和军事设施的报复。

特朗普在 Truth Social 上发文表示:“伊朗对美国的任何报复都将遭到比今晚所见更强大的力量回击。”在周六晚上的讲话中,特朗普表示,空袭的目标是摧毁伊朗的核浓缩能力,阻止“头号恐怖主义国家赞助者”的核威胁。特朗普感谢以色列总理内塔尼亚胡,表示他们像前所未有的团队一样合作,已经消除了对以色列的威胁。

特朗普警告说,美国在伊朗还有许多目标,如果与伊斯兰共和国的和平“不迅速到来”,军方将“在几分钟内”将它们摧毁。以色列官员表示,特朗普政府在空袭前通知了以色列。白宫官员告诉 Axios,特朗普在行动后与内塔尼亚胡通话。另一位以色列高级官员告诉 Axios,空袭中使用了 B-2 隐形轰炸机。

伊朗伊斯兰革命卫队在周日威胁要对美国在中东的军队进行打击。伊朗外交部长阿巴斯·阿拉格奇在伊斯坦布尔的新闻发布会上表示,德黑兰“保留所有捍卫其安全的选项”,并表示伊朗目前对外交不感兴趣。他指出,美国越过了一个很大的红线,伊朗将根据自己的权利做出回应。阿拉格奇没有详细说明可能的伊朗回应,也没有明确表示伊朗是否会退出核不扩散条约或关闭霍尔木兹海峡。他表示,伊朗有多种选项。

伊朗原子能组织证实了三个核设施遭到袭击,并谴责“美国敌人”进行了“违反国际法的野蛮行为”。该组织表示,尽管敌人的邪恶阴谋,伊朗不会被阻止继续发展其国家核能产业。

特朗普在讲话中表示,伊朗 40 年来一直在说“美国去死”,“以色列去死”。他们杀害了我们的人民,用路边炸弹炸掉他们的手臂和腿。他继续说,中东和世界各地成千上万的人直接死于他们的仇恨。特别是,许多人被他们的将军卡西姆·苏莱曼尼杀害,他指的是伊朗军事领导人,特朗普在第一任期下令暗杀他。

内塔尼亚胡在发布的视频中用英语表示:“特朗普总统和我总是说:‘和平通过力量。’首先是力量,然后是和平。今晚,特朗普总统和美国展现了很多力量。”

在空袭前的几天里,特朗普和他的团队越来越相信外交已经走到了尽头——为了消除伊朗的核计划,必须采取军事行动。特朗普周四公开宣布,他将在未来两周内做出决定,给伊朗一个最后的谈判机会,但空袭的准备工作在周末加速进行。周六,多架能够携带 3 万磅“地堡破坏者”的 B-2 隐形轰炸机被检测到向西穿越太平洋,人们猜测美国将打击 Fordow。

特朗普公开质疑以色列是否有能力独自摧毁地下设施,他说:“他们可以突破一小部分,但他们不能深入。”在幕后,特朗普的“美国优先”基础对于是否加入以色列的战争一直存在严重分歧,但特朗普在一个问题上一直坚定不移:伊朗绝不能被允许获得核武器。他上周做出了最后的努力,以避免美国干预,探索在伊斯坦布尔与伊朗官员的秘密会晤,由土耳其总统雷杰普·塔伊普·埃尔多安促成。特朗普愿意派遣白宫特使史蒂夫·维特科夫和副总统万斯——或者如果必要的话,甚至亲自参加会谈。但当伊朗最高领袖阿里·哈梅内伊因担心以色列暗杀而躲藏起来,无法授权会面时,这一努力失败了。从那时起,伊朗拒绝与美国直接接触,除非以色列停止攻击。特朗普现在相信不可能达成协议,似乎已经采取了他曾经希望避免的军事选项。


HN 热度 276 points | 评论 2 comments | 作者:Liwink | 24 hours ago #

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

  • 该帖子讨论了美国对伊朗核设施的打击
  • 提供了更多讨论的链接
  • 评论被转移到其他帖子中
  • 提醒用户申请 YC 的 Fall 2025 批次,申请截止日期为 8 月 4 日

LaborBerlin: State-of-the-Art 16mm Projector #

https://www.filmlabs.org/wiki/en/meetings_projects/spectral/laborberlin16mmprojector/start

LaborBerlin:最先进的 16 毫米放映机

全球艺术家在使用胶片电影时,常常面临因设备老化和难以修复导致的不稳定放映条件。特别是电影放映机及其老化的机械部件变得越来越不可靠,这在许多情况下导致了胶片材料的破坏,而不是确保其最佳展示。最后一款商业化的 16 毫米电影放映机是在 90 年代生产的,但大多数艺术家、档案保管员和放映员不得不使用更老旧的设备,有些甚至可以追溯到 60 年代和 50 年代。与此同时,传统工业制造商已经消失或转向其他领域,服务人员退休,备件稀缺且价格不合理。老式放映机主要为标准电影放映而设计,未能满足当代艺术家在扩展电影制作中的需求,也通常不符合档案放映的需求。随着数字革命的到来,过去十年已经大幅减少了体验模拟电影放映的机会,老式放映设备的老化技术已成为模拟电影放映及其独特体验消失的一个重要因素。

我们的想法是开发一款使用开源技术和非专有/普遍可用备件的最先进的、模块化的 16 毫米电影放映机。我们认为,老式放映机的中央机械部件——爪机制、快门轮和胶片输送——在大多数情况下都设计得非常好,重新开发这些部件将是一种时间和能量的浪费。相反,我们希望在现有的、易于获得的放映机机制基础上构建放映机。光学部分也是如此:与 Eiki、Bauer、Bell & Howell 和 Hokushin 生产的放映机兼容的镜头在全球范围内都可以找到,且状况良好。这款放映机应该能够满足当代电影艺术家、档案保管员和放映员的需求。

技术特性(愿望清单): 设计:模块化设计、开源技术、非专有和普遍可用备件(可 3D 打印)、可调高度和倾斜度、轻便便于旅行和放映期间的携带、可选择垂直格式投影(90° 倾斜或棱镜系统)。 电源:110V 和 220V,可选:电池用于户外和便携式放映。 光源:超亮、可调光 LED、色温调整以适应不同时间的印刷品,钨丝灯或氙灯或红移电影印刷品、数字快门(闪烁)。 胶片格式:16 毫米——超 16——超 16——开放门(可切换格式掩模)。 光学:宽变焦范围镜头 25mm – 150mm,兼容 Bauer、Eiki 和 B&H 镜头(适配管),蜗轮齿轮对焦,变形镜头支架,Elmo 查看器类型 100 的支架(无屏幕查看)。 输送:水晶同步速度:12 – 15 – 16,66 – 18 – 23,976 – 24 – 25 – 29,97 – 30 FPS,手动变速从 <1 到 30 FPS,独立于 FPS 的变速快门轮,数字帧计数器,记忆计数器用于进出点,双向快速倒带。 音频:光学和磁性音频(无内置放大器——仅输出),现场语音麦克风输入,耳机插孔,集成数字音频同步系统。 连接性:与数字音频、视频和 MIDI 同步,多个放映机之间的同步,可从主控切换到从属,与 Elmo ESS 系统同步,可选:准备好进行电视电影制作,遥控器:红外/有线/蓝牙。 配件:开发兼容的循环设备,线轴臂扩展。

我们的项目将在两年半的时间内进行,并计划在 2025 年 9 月完成,届时将在鹿特丹的 Back To The Future Festival 上展示原型。作为第一步,我们两人团队拆卸了四款电影放映机模型,我们发现这些模型提供了适合进一步开发的机械系统。我们确定了三个需要与不同专家合作的开发领域:光源、胶片输送机制和电子设备。但在我们采取下一步之前,我们也意识到我们正处于一个需要决定走哪条路的十字路口: A. 开发一个灵活的升级系统,适用于各种现有的放映机型号。这将确保艺术家能够升级他们自己的放映机型号,无论他们住在哪里,拥有什么放映机。我们的担忧是,开发能够适应各种现有机械部件的部件可能很困难。 B. 仅为一种广泛可用的放映机型号开发升级系统。这将使我们能够开发更具体的部件,并为该型号创建一个集成概念。缺点是,许多放映机型号在世界各地并不同样可用。 C. 开发一个 DIY 套件,复制各种现有型号的机械部件,使用 3D 打印、CNC 和激光切割等技术。这将使全球的艺术家能够从头开始构建自己的模块化和最先进的放映机。最终,我们可以提供和运输那些难以单独生产的现成部件。 一旦这个关键决定做出,我们希望聘请一位机电专家加入项目,陪伴项目直到原型完成。同时,我们希望建立一个在线社区,与他们分享我们的想法,他们也可以测试和改进各个部件。我们已经与几位独立进行类似开发的人士取得联系,他们正等待最终分享他们的知识和经验。最后,我们将聘请一位工业设计师与我们合作,以构建一个原型。


HN 热度 206 points | 评论 34 comments | 作者:audionerd | 1 day ago #

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

  • 有人赞赏该项目保留了 16mm/35mm 胶片的兴趣,并尝试解决一些问题,尤其是转向可调光 LED 和开源/3D 打印部件。
  • 有人提出 16mm/35mm 胶片正在逐渐消失,每年因胶片变质或丢失而减少,认为项目应该简化,专注于制作一个基本的开源投影仪。
  • 有人提到尽管 35mm 胶片在一些城市仍有市场,但 35mm 胶片的存储和运输成本使得放映不太经济。
  • 有人回忆起自己作为放映员的经历,对老式机器有深厚的感情,并认为数字投影仪的普及使得胶片放映变得罕见。
  • 有人指出老式胶片在色彩保持方面比老式投影仪更好,这改变了人们对老式 16mm 投影色彩褪色的看法。
  • 有人提到该项目对于电影保存领域很重要,可能标志着该领域运作方式的重大转变。
  • 有人表示这是一个很棒的项目,作为嵌入式工程师,希望能早点知道并参与其中。
  • 有人提到自己有很多 8mm 和 16mm 胶片需要存档,认为这可能是开源胶片扫描仪的好起点。
  • 有人提到 8mm 胶片扫描仪很常见,但如果想要从边缘到边缘扫描 8mm 胶片并获得每帧的 TIFFs 或类似格式,情况就不同了。
  • 有人警告说,使用 AOI CPU 散热器用于其他目的时要小心,因为它们是封闭单元,容易蒸发和空气渗透,且重新填充困难。
  • 有人对该项目的散热方案表示怀疑,认为 800 瓦特的功率通过一个双风扇散热器可能不足以应对高温环境。

AI is ushering in a “tiny team” era #

https://www.bloomberg.com/news/articles/2025-06-20/ai-is-ushering-in-the-tiny-team-era-in-silicon-valley

在硅谷的创业环境中,随着人工智能(AI)的发展,创业公司的运作模式正在发生显著变化。从之前的 “快速扩张”(blitzscaling)时代,即 2012 年 Facebook 上市到 2023 年 WeWork 破产期间,创业公司通常重视市场估值和融资总额,尤其是追求 “独角兽” 身份(即估值达到 10 亿美元)。而如今,越来越多的创业者开始重视员工人均收入这一新指标,这被视为成功的新的 “圣杯”。

随着 AI 助手、顾问、程序员和市场营销工具的崛起,创业者们能够在保持低人力成本的同时,实现更高效的增长。OpenAI 的 CEO Sam Altman 曾表示,未来可能出现单人即可达到十亿美元估值的公司,这在过去是难以想象的。Flybridge Capital Partners 的合伙人 Jeffrey Bussgang 强调,这种现象可以称之为 “在不扩张的扩展”(scaling without growing),即 “机器人扩展”(botscaling)取代了传统的 “快速扩张”。

AI 的进步使得创业者能够利用人工智能进行编码、市场研究、营销、以及初步的商业构想。越来越多的创业者开始依赖 AI 作为 “联合创始人”,以便在资源有限的情况下,快速进行产品开发和市场验证。例如,创业公司 Portrait 的联合创始人 Roo Harrigan 表示,AI 使他们能够迅速生成产品原型,而不必依赖传统的技术合作伙伴。

在创业过程中,AI 不仅能够充当工具,还可以扮演 “数字合伙人” 或 “导师” 的角色。研究表明,利用 AI 的个人在产生创意方面的表现,甚至可以与没有 AI 的团队相媲美,且团队使用 AI 的表现更优。

尽管 AI 能在很多方面取代人力,创业者仍需保持人类的判断力与决策能力。许多创业者开始尝试使用 AI 来提升决策效率,例如通过 AI 预测不同商业决策的成功几率。然而,AI 的局限性仍然存在,它在某些情况下表现良好,而在其他情况下则不尽如人意,形成了所谓的 “锯齿状前沿”(jagged frontier)。因此,创业者需要不断探索 AI 的优势与不足,以便合理分配任务。

最后,文章探讨了在 AI 高度发展的未来,是否会出现完全由 AI 运营的公司。虽然当前 AI 仍然面临许多限制,但随着技术的进步,完全由 AI 主导的创业公司可能成为现实。这要求创业者在利用 AI 的同时,找到平衡点,确保 AI 能更好地理解和执行他们的商业愿景。


HN 热度 187 points | 评论 174 comments | 作者:kjhughes | 1 day ago #

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

  • AI 技术提高了个人开发效率,使得小团队能完成以往需要更多人力的项目。
  • 历史上,技术进步如 Rails 框架已经使得小团队的效率大幅提升。
  • AI 技术可能会导致小团队不再被看作等同于大团队,因为其他人也能通过 AI 提升效率。
  • 亚马逊和微软等大公司通过提高产出标准和使用 AI 辅助工具来应对技术变革。
  • 开发者可能会因为 AI 技术的发展而离开大公司,转向小公司工作。
  • AI 技术使得开发人员能够快速达到“更高”的低垂果实。
  • 一些人通过 AI 技术能大幅提升效率,而大多数人的效率提升有限。
  • AI 自动化和增强可以扩展个人的开发能力,提高项目质量。
  • 严格的代码规范、AI 代码生成、自动化部署和测试等技术可以加速开发流程。
  • AI 辅助可以快速生成 ETL 代码,但仍然需要人工进行领域研究和需求收集。
  • AI 技术可能会让开发者花费更多时间在工具选择和学习上,而不是实际工作。
  • 选择 AI 工具时应考虑避免锁定,确保项目可以在命令行中构建、测试和运行。
  • 通过尝试和比较不同 AI 工具,可以找到适合自己的编辑器和 API。

Sound As Pure Form: Music Language Inspired by Supercollider, APL, and Forth #

https://github.com/lfnoise/sapf

这个网页介绍了一个名为“Sound As Pure Form”(简称 sapf)的项目,它是一个用于音频合成的 Forth 风格的语言。sapf 使用懒加载列表和类似 APL 的自动映射功能。以下是对网页主体内容的详细中文摘要:

项目介绍:

  • sapf 是一个解释器,用于创建和转换声音。
  • 该语言主要是功能性的,基于栈,使用后缀表示法,类似于 FORTH。
  • 它使用懒加载的可能无限的序列来表示音频和控制事件。
  • sapf 的目标是为懒加载序列提供高级函数,具有普遍的自动映射、扫描和归约操作符,类似于 APL 对数组的处理。
  • 这使得 sapf 成为一个简短程序就能实现与其大小不成比例的结果的语言。
  • 由于几乎所有程序员可访问的数据类型都是不可变的,因此该语言可以轻松地运行多个线程,而不会出现死锁或数据损坏。

灵感来源:

  • 启发 sapf 的其他语言包括 APL、Joy、Haskell、Piccola、Nyquist 和 SuperCollider。
  • APL 和 FORTH(Joy 衍生自 FORTH)因其奇特的符号或语法而广受诟病,但还没有一种语言能像 APL 或其衍生语言那样具有简洁的表达力。
  • APL 之所以强大,并非因为其奇怪的符号或语法,而是因为它自动将操作映射到数组上,并允许在数组内部进行深度迭代。
  • Alan Perlis 关于 APL 的名言也反映了对这种编程方式的兴趣,即通过 APL 可能开始获得我们在自然语言中所尊敬的编程维度,比如优雅的表达、简洁、诗意和艺术性。

编程风格:

  • Joy 语言引入了组合函数式编程,通常意味着基于栈的虚拟机和由函数组成的程序,这些函数接受输入栈并返回输出栈。
  • 后缀是自然产生的语法,后缀是可能的最小语法。
  • 作者喜欢组合式编程的几个原因包括:函数组合是连接、通过函数流水线传递值以获得新值是最自然的习语、函数从左到右应用而不是内外、支持多返回值是免费的、不需要操作符优先级、需要的分隔符更少。

快速设置:

  • 将 sapf 程序放入~/bin 或您存放命令的地方。
  • 由于这个二进制文件是未签名的,您需要移除苹果的隔离属性。
  • 在终端或您的 shell 配置文件中设置环境变量。
  • 例如:export SAPF_HISTORY="$HOME/sapf-files/sapf-history.txt"等。
  • 阅读这个 README 文件,查看一些示例,启动 sapf 终端,打开 sapf-examples.txt 文本编辑器,将示例复制到命令行。

命令行使用:

  • sapf [-r sample-rate][-p prelude-file]:设置会话采样率,默认为 96000 Hz。
  • -p prelude-file:在进入读取-评估-打印循环之前加载代码文件的路径。如果未提供此参数,则从环境变量 SAPF_PRELUDE 存储的路径加载前奏文件。
  • -h:打印命令行帮助。

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

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

  • SAPF 是一种受 Supercollider、APL 和 Forth 启发的音乐语言,其独特的 concatenative 方法非常适合创意音频 DSP 处理。
  • SAPF 的设计非常精心,加入的 APL 风格函数元素与堆栈方法相得益彰。
  • SAPF 的示例听起来很不错,这是一个好兆头。
  • 有人提议 APL 和 Forth 的粉丝(或者说数组语言和 concatenative 语言的粉丝)应该更多地合作,因为这两种范式非常互补。
  • SAPF 在 Supercollider 论坛上有专门的讨论区,作者 James 偶尔会出现回答问题。
  • SAPF 的作者 James McCartney 是 Supercollider 的原始作者。
  • 有人提到了 Glicol,这是一种硬件启发式的、所见即所得风格的懒图更新音乐语言。
  • 有人分享了一个在 SQL 中的乐器合成器项目 NoiSQL。
  • 有人觉得 SAPF 的概念非常酷,即使没有音乐语言的背景。
  • 有人询问是否有可能在 Linux 上编译 SAPF,因为项目看起来是基于 Xcode 和 OSX 的。
  • 有人提供了一个 GitHub 链接,指向一个可能的 SAPF 的 Linux 版本。
  • 有人提到了 TidalCycles、Strudel、Sardine、Bacalao 和 Overtone 等使用 SuperCollider 的不同方式。
  • 有人提出 AI 可能有助于翻译或编写翻译器。
  • 有人询问是否有 SAPF 的 Linux 二进制包,因为他们在 Ubuntu 上遇到了困难。
  • 有人推荐 Supercollider,因为它的 UI 组件在 Mac 和 Linux 上都能很好地工作。
  • 有人建议尝试 kxstudio,这是一个为音频工作配置 Ubuntu 或 Debian 的软件包集合。
  • 有人推荐了 Strudel,一个只需要浏览器的音乐语言。
  • 有人表示 Supercollider 在 PopOS(一个基于 Ubuntu 的发行版)上可以无问题运行。

How fast are Linux pipes anyway? #

https://mazzo.li/posts/fast-pipes.html

这篇文章探讨了 Linux 中 Unix 管道的性能,并逐步优化了一个测试程序,该程序通过管道进行数据的写入和读取。文章从简单的程序开始,其吞吐量约为 3.5GiB/s,并将其性能提高了 20 倍。优化过程基于使用 Linux 的 perf 工具对程序进行性能分析。文章中提供的代码可以在 GitHub 上找到。

文章首先介绍了一个性能测试程序,该程序通过管道传输数据,并展示了性能图表。作者受到一个高度优化的 FizzBuzz 程序的启发,该程序能够以大约 35GiB/s 的速度将输出推送到管道。文章的目标是达到这个速度,并在过程中解释每一步。文章还提到了一个额外的性能改进措施,这在 FizzBuzz 中并不需要,因为在作者的机器上,瓶颈实际上是计算输出,而不是 IO。

文章的主要内容分为以下几个部分:

  1. 一个初始的慢速版本的管道测试台;
  2. 管道在内部是如何实现的,以及为什么从它们读写数据会很慢;
  3. vmsplice 和 splice 系统调用如何让我们绕过一些(但不是全部!)慢速问题;
  4. Linux 分页的描述,以及使用大页面的更快版本;
  5. 最终优化,用忙循环替换轮询;
  6. 一些结束语。

文章的第四部分深入 Linux 内核内部,即使对于熟悉文章中讨论的其他主题的读者来说,也可能很有趣。对于不熟悉这些主题的读者,文章假设他们至少具备基本的 C 语言知识。

文章首先测量了传说中的 FizzBuzz 程序的性能,并遵循 StackOverflow 帖子中规定的规则。FizzBuzz 程序以 36GiB/s 的速度产生输出。作者的机器上的 L2 缓存是 256KiB,文章中的程序也将输出 256KiB 的数据块,但不会进行任何“计算”。作者尝试测量合理缓冲大小的程序写入管道的上限。

文章提供了 write.cpp 和 read.cpp 两个程序的代码,分别用于写入和读取。write 程序不断写入相同的 256KiB 数据,而 read 程序读取 10GiB 数据后终止,并打印吞吐量。两个程序都接受各种命令行选项以改变它们的行为。

使用 write 和 read 系统调用进行第一次尝试,使用与 FizzBuzz 相同的缓冲区大小。文章展示了 write 端的代码,并解释了 memset 的作用。write 调用负责所有工作,其余部分确保整个缓冲区被写入。read 端非常相似,但读取数据到缓冲区,并在读取足够数据后终止。

文章通过 perf 工具分析了程序的耗时,并发现大部分时间都花在了 pipe_write 上,这是 write 调用解析到的,如果我们正在写入管道。在 pipe_write 中,3/4 的时间用于复制或分配页面。为了完全理解发生了什么,我们需要首先了解管道是如何工作的。


HN 热度 174 points | 评论 21 comments | 作者:keepamovin | 17 hours ago #

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

  • Linux 管道在 Windows 上的性能表现不佳,尤其是在等待连接时
  • Windows 后来添加了 AF_UNIX 套接字,可能性能更好
  • POSIX 只定义行为,不定义性能,每个平台和操作系统都有自己的性能特点
  • POSIX 无法定义管道这样的性能
  • 在 Linux 上,splice()是最快最有效的管道数据传输方式,特别是在大量数据传输时
  • 在 BSD 系统上,readv()/writev()可能是最高效的方式
  • sendfile()在 Linux 和 BSD 上都具有高性能,但只支持文件到套接字的传输
  • 在 Linux 上,sendfile()使用 splice 实现,可以用于文件到块设备的传输
  • Netflix 曾因 FreeBSD 的 sendfile 性能优越而使用它作为内容服务器
  • 使用共享内存和文件描述符传递可以更快且完全可移植
  • 现代 Linux 是否有类似于 Doors 的技术,用于低延迟的数据交换
  • AF_UNIX 可能在音频应用中不够低延迟
  • 共享内存提供最低延迟,但需要处理任务唤醒,通常通过 futexs 实现
  • Google 曾研究 FUTEX_SWAP 调用,允许任务间直接交接,但不清楚进展如何
  • 文章讨论了 splice 的安全影响和 ABI 破坏,询问 splice 是否有长期保留计划
  • 询问是否可以将默认管道修改为总是使用 splice 以提高性能

2025 06 22 HackerNews

2025-06-22 07:55:37

2025-06-22 Hacker News Top Stories #

  1. YouTube 推出了新反广告拦截措施,包括“假缓冲”技术,用户可通过修改 API 请求绕过部分限制。
  2. 三星在西亚和北非地区强制安装无法卸载的间谍软件AppCloud,引发隐私和安全担忧。
  3. Harper 是一款免费开源的语法检查工具,专为开发者设计,强调隐私保护和离线使用。
  4. 微软因特朗普行政命令暂停国际刑事法院检察官的电子邮件账户,暴露欧洲对美国科技公司的依赖。
  5. 研究表明,大型语言模型在识别文档中故意遗漏的信息方面存在显著局限性。
  6. 欧盟考虑将云服务从微软Azure转移到法国OVHcloud,以增强数字主权和减少对美国科技公司的依赖。
  7. 一家公司通过迁移到Hetzner并使用Ansible,成功削减了90%的云服务成本,同时保持ISO 27001认证。
  8. 研究显示,塑料袋禁令和收费政策显著减少了海岸线上的有害塑料垃圾,尤其是全面禁令效果最佳。
  9. Delta Chat 是一款去中心化且安全的即时通讯应用,支持多设备和多个人档案,提供端到端加密技术。
  10. SEGA 不慎泄露了多款热门游戏的销量数据,包括《如龙:无限财富》和《女神异闻录5皇家版》等。

YouTube’s new anti-adblock measures #

https://iter.ca/post/yt-adblock/

YouTube 近期推出了新的反广告拦截措施。目前,这些措施正在进行 A/B 测试,作者的一个账户被分到了实验组。作者编写了一个过滤器,可以在 uBlock Origin(以及 Brave 浏览器,因为它使用相同的过滤规则)上部分绕过其中一项反广告拦截措施——假缓冲(fake buffering)。这个过滤器已经包含在默认的过滤列表中,用户不需要手动添加。

所谓的“假缓冲”是指视频在开始时会因为多次缓冲而加载缓慢,但这种缓冲只发生在视频开始时,不会在视频播放中途出现。作者解释说,假缓冲的时间长度是你本应看到的广告长度的 80%,因此即使有假缓冲,使用广告拦截器仍然能节省时间。

文章接着介绍了 InnerTube,这是 YouTube 的内部 API,用于客户端和移动应用与视频交互并获取视频详情。InnerTube 的端点看起来像 https://www.youtube.com/youtubei/。其中一个端点是/youtubei/v1/player,当你点击视频时,网页客户端会调用这个端点来获取 URL 和 GVS 流媒体 URL 的数据。

GVS(Google Video Services)是为 YouTube、Google Drive 和 Google Photos 提供视频流服务的平台。要从 GVS 流媒体服务中播放视频,你需要从 InnerTube(或 Drive/Photos 的内部 API)获取一个签名的、有过期时间的 GVS/videoplayback URL。GVS URL 不能自行构造,需要从 InnerTube 获取。GVS 的一个特点是,它不仅托管在谷歌的数据中心,ISP 也可以在其基础设施中放置 Google Global Cache 服务器,以便在不将流量发送到 ISP 网络外部的情况下提供 YouTube 视频(只有公开/未列出的 YouTube 视频由 GGC 提供;私有 YouTube 视频和 Drive/Photos 视频始终从谷歌数据中心提供)。GVS URL 看起来像 https://rr1—sn-gvbxgn-tt1e6.googlevideo.com/videoplayback?expire=1750321185&...(但有更多的查询参数)。

最初,网页客户端通过向 GVS URL 添加一些查询参数来流式传输视频,GVS 会响应视频内容的特定范围。但出于复杂的原因,YouTube 决定通过 SABR(服务器 ABR(自适应比特率))来改进这一点,这是 YouTube 的专有二进制协议,用于流式传输视频数据,比现今的开放格式(例如 MPEG-DASH)更擅长避免缓冲。SABR 支持的一件事是服务器向客户端发送回退,指示客户端在再次尝试之前等待一段时间,而不是发送视频/音频数据。

文章指出,假缓冲的来源是 InnerTube 提供的 GVS 流会在第一个/videoplayback 请求(针对内容视频,而不是广告)时给予 80% 的广告时长的回退。例如,如果广告是 15 秒,你在屏蔽广告时会得到 12 秒的回退。如果有一个 6 秒的不可跳过广告和一个 15 秒的不可跳过广告,回退将是 16.8 秒。需要明确的是,这不是服务器端广告插入;广告和内容流仍然是分开的(YouTube 正在进行服务器端广告插入实验,但这与假缓冲是分开的)。“遇到中断”对话框很可能是由 GVS 的长回退触发的。

这种回退总是在 A/B 测试中发生,不管 YouTube 是否认为你在使用广告拦截器。你只是没有注意到它,如果你没有屏蔽广告,因为网页客户端在广告播放时开始加载内容视频,所以对于非广告拦截用户来说,唯一的区别是内容视频直到广告 80% 播放完毕才开始缓冲。

作者还提到了网上的一些说法,称 YouTube“通过提高 CPU 使用率来破坏计算机,如果你使用广告拦截器”。这完全是虚假的;YouTube 在等待回退到期时并不使用 CPU(即使他们使用自旋循环来实现等待,使单个核心达到最大值 <30 秒也不会损坏任何 CPU)。

文章最后讨论了如何避免在不可跳过广告结束后才被回退。如果你没有被提供广告,就不会被回退。如果你在播放器请求中设置 playbackContext.contentPlaybackContext.isInlinePlaybackNoAd 属性为 true,InnerTube 就不会为你提供任何广告,因此也不会在 GVS 流中包含任何回退。

作者可以编写一个过滤规则,使得每当网页客户端将 JSON 字符串化以用于服务器请求时,我们都会在字符串化的 JSON 中添加"isInlinePlaybackNoAd":true。

文章还提到了如何通过 req2proto 工具从 Google 的内部 API 中提取 protobuf 定义,以获取/youtubei/v1/player 调用中使用的完整定义,并找到 isInlinePlaybackNoAd 属性。

这种方法只适用于热导航,即你已经加载了 YouTube 单页应用并在其中点击。当你直接导航到观看页面时,YouTube 后端会将播放器响应直接嵌入页面作为 ytInitialPlayerResponse。由于播放器请求是在后端进行的,我们无法在它上面设置 isInlinePlaybackNoAd。

文章还讨论了如何通过移除初始数据来强制 YouTube 进行我们可以控制的球员请求,但作者警告说这是一个坏主意,因为它会完全破坏直播流,并可能影响其他未测试的功能。它还会导致视频播放器短暂闪烁,并减慢页面加载时间。

最后,文章讨论了如何绕过锁定脚本。有时 uBlock Origin 没有钩住 JSON.stringify,作者进一步调查发现 YouTube 正在进行 A/B 测试,有时会在前端 HTML 的<head>标签中的第一项添加以下内容:

<script id="bc-def" nonce="[variable]">'use strict';function a(b,c){try{Object.defineProperty(b,c,{writable:!1,configurable:!1})}catch(d){}}a(window,"fetch");a(window,"JSON");a(window.JSON,"stringify");a(window.JSON,"parse");a(window,"Array");a(Array.prototype,"push");a(Array.prototype,"forEach");try{const b=document.getElementById("bc-def");b&&b.remove()}catch(b){};
</script>

这段脚本通过使用 Object.defineProperty 将一些全局对象锁定为不可写,阻止后续代码用代理改变它们的行为。因此,uBlock Origin 只能在锁定脚本之前运行时代理 JSON.stringify。在 Firefox 上,这可以通过 HTML 过滤器很容易解决——在页面开始解析之前从源 HTML 中过滤掉脚本标签。但这依赖于 Chromium 不支持的扩展 API。

文章最后提到,目前对锁定脚本的“修复”是钩住 Object.assign 而不是 JSON.stringify。Object.assign 是另一个在请求体被获取之前处理它的函数。作者表示,如果能有一种方法实际解除锁定脚本,而不是绕过它,那将会更好。钩住 Object.assign 的过滤器更复杂,因为 uBO 的脚本片段不允许你在对象的键上替换文本。


HN 热度 863 points | 评论 1182 comments | 作者:smitop | 1 day ago #

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

  • 广告之所以不受欢迎,是因为它们与观看内容的上下文无关。
  • 人们讨厌广告是因为它们是巨大的、丑陋的注意力抢夺者,即使与驾驶相关也会令人讨厌。
  • 广告在 Costco 等地方是相关的,因为它们销售的是顾客可能需要的产品。
  • YouTube 上的广告被讨厌是因为它们打断了用户想要观看的视频内容。
  • 路边的小广告如果与当地产品相关,可能会得到支持,而大型广告牌则被视为干扰。
  • 政治广告和商业广告牌被视为城市垃圾,没有得到有效管理。
  • 广告牌的存在减少了人们的生活质量,只为了让某些人或公司获得额外收益。
  • 广告商本质上是窃取你的自我满足感,然后将其卖回给你。
  • 广告牌在某些城市是违法的,但这一规定被完全忽视。
  • 通过在线支付小额费用来放置广告牌可能是一个解决方案,费用可以分配给城市、杆子所有者和负责移除广告牌的人员。
  • 在某些地区,广告牌有严格的规定,使其不太引人注目,更多地作为导航辅助工具。
  • 在美国南部,教堂的广告牌很有趣,但高速公路上的广告牌则被认为阻碍了商业计划。
  • 华盛顿州的法律规定,公路旁的广告必须是同一物业内可以购买的商品,这有助于平衡当地商业宣传和广告泛滥的问题。
  • 一些小镇没有常规广告,但商店可以有与城镇标志相匹配的美观木制标志,这样既能找到路,又能发现事物,而不是被广告牌大声呼喊。

Samsung embeds IronSource spyware app on phones across WANA #

https://smex.org/open-letter-to-samsung-end-forced-israeli-app-installations-in-the-wana-region/

这篇文章是一封公开信,由 SMEX(一家注册在黎巴嫩的非政府组织,致力于在中东和北非推进自我调节的信息社会)写给三星,要求三星停止在西亚和北非(WANA)地区强制安装以色列创立的 AppCloud 应用程序。

近期,SMEX 收到许多来自 WANA 地区用户的报告,他们对三星 A 和 M 系列智能手机上预装的 AppCloud 应用程序表示担忧。这款应用程序在用户不知情或未经同意的情况下收集敏感个人数据,无法在不损害设备安全的情况下移除,并且没有提供清晰的隐私实践信息。

AppCloud 是由有争议的以色列公司 ironSource(现为美国公司 Unity 所有)开发的,它被嵌入到在法律上有此类关联的国家销售的设备中。尽管存在严重的隐私和安全风险,三星并未提供关于 AppCloud 如何运作、收集哪些数据或为何用户无法选择退出的透明度。

公开信要求三星立即提供透明度、承担责任,并进行对话。用户有权知道他们的设备上安装了什么,以及他们的数据如何被使用,尤其是在以色列在该地区进行间谍活动的情况下。

信件中提到,自 2022 年三星与 ironSource 合作扩大以来,AppCloud 已成为在该地区分发的新 A 和 M 设备上默认嵌入的软件。根据分析,这款侵入性软件与设备的操作系统深度集成,普通用户几乎无法在不获取 root 权限的情况下卸载它,这会违反保修并带来安全风险。即使禁用了这款软件,它也可能在系统更新后重新出现。

AppCloud 的隐私政策不透明,用户对收集的数据和使用方式一无所知,也没有直接的退出机制。该软件收集包括生物识别信息、IP 地址、设备指纹在内的敏感用户数据。AppCloud 的安装未经用户同意,违反了欧盟 GDPR 规定和 WANA 地区国家的相关数据保护法律。

AppCloud 由以色列创立的 ironSource 开发(现由美国公司 Unity 收购),在以色列公司被禁止运营的国家(如黎巴嫩)引发了额外的法律和道德问题。ironSource 因其在用户同意和数据隐私方面的可疑做法而声名狼藉。

三星的服务条款提到了第三方应用程序,但没有特别提及 AppCloud 或 ironSource,尽管这款软件被授予了显著的数据访问和控制权。

强制安装 AppCloud 侵犯了中东和北非地区及以外用户的隐私和安全权利。鉴于三星在该地区的重要市场份额,对个人数据缺乏透明度和控制尤其令人震惊。

鉴于这些担忧,SMEX 恭敬地请求三星:

  • 披露 AppCloud 的完整隐私政策和数据处理实践,使所有用户都能轻松获取这些信息。
  • 提供一个简单有效的方法,让用户可以退出 AppCloud 并从他们的设备中移除它,而不损害设备功能或保修。
  • 为在 WANA 地区所有 A 和 M 系列设备上预装 AppCloud 的决定提供清晰解释。
  • 根据《世界人权宣言》第 12 条确立的隐私权,重新考虑未来设备上继续预装 AppCloud 的决定。

SMEX 还请求与相关三星团队会面,详细讨论这些问题,并更好地了解公司在 WANA 地区对用户隐私和数据保护的方法。SMEX 期待您的及时回应,并期待共同努力确保所有三星用户的隐私和安全。


HN 热度 679 points | 评论 397 comments | 作者:the-anarchist | 21 hours ago #

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

  • 大规模监控与伊朗核科学家和军事官员被暗杀之间存在联系,隐私问题不仅是人权问题,也是国家安全问题。
  • 隐私问题在无人机时代是公民防御的问题,现有国家结构和机构依赖于大规模个人信息数据库,这使得他们容易受到利用这些数据库进行目标定位的叛乱活动的攻击。
  • 在俄罗斯,官员因贿赂出售包括敏感数据库在内的任何东西,这些数据库被用来揭露克里姆林宫运营的刺客,然后乌克兰特种部队利用这些数据库针对俄罗斯高级军事官员。
  • 普京如果不想贿赂泛滥,他应该以身作则,迫使其他高层领导人也这样做,但他反而炫耀自己的财产、游艇和女人。
  • 反无人机技术(counter-UAS tech)并不能解决所有威胁,因为无人机不是唯一的威胁,而且所谓的“反无人机技术”只是对抗昨天的无人机技术。
  • 30 毫克的高爆炸药足以致命,有上千种方法可以将其送到目标人物那里,如藏在寻呼机电池中、爬行、游泳、漂浮、埋伏、搭乘候鸟、藏在汽车底盘下、亚马逊快递中、从平流层的氢气球掉落等。
  • 人们对于屠杀机器人(Slaughterbots)的接受度正在增加,这可能会导致更广泛的屠杀行为。
  • 屠杀机器人只是开始,现在阻止这一场景已经太晚,因为屠杀只得到土地,而土地并不稀缺。
  • 暴力威胁只有在能够可信地撤回暴力作为对遵守的奖励时才有效。
  • 自主寻求和摧毁爆炸物的群体可能是提供外科手术式暗杀威胁的最有效方式,可能结合毒药、固体穿透器和/或燃烧剂。
  • 自主无人机被用于战争中杀害人们,这个视频本意是警告却被完全忽视。
  • 过去几十年,人们对种族灭绝的态度一直如此,人们对于非争议案例只是认为不好但耸耸肩。

Harper – an open-source alternative to Grammarly #

https://writewithharper.com

Harper 是一款免费的开源语法检查工具,专为开发者设计。它能够快速检查用户的写作,不会侵犯用户的隐私。与传统语法检查器相比,Harper 在某些情况下更加实用,特别是在处理技术文档或正式通信时。它能够检测不当的大小写和单词使用等多种问题,及时提供反馈。

Harper 的一个显著特点是可以在离线状态下工作,这意味着用户的数据不会离开他们的设备,因此无需担心个人信息被出售或用于训练大型语言模型。最重要的是,Harper 能够在大多数文档中提供迅速的建议,通常在 10 秒钟内完成检查,为用户的写作提供即时的帮助和支持。


HN 热度 553 points | 评论 145 comments | 作者:ReadCarlBarks | 1 day ago #

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

  • Harper 利用数十年的自然语言研究来分析文字组合,但实际上它只是一系列硬编码的规则。
  • 有人对 Harper 的宣传表示怀疑,认为 LLMs 完全掩盖了十年前的 ML NLP 方法,而这些方法又取代了数十年的统计 NLP 工作。
  • 有人表示,尽管基于 transformer 的方法很流行,但 LLMs 并没有取代大部分 NLP 研究。
  • 有人建议对 NLP 的演变感兴趣的人学习相关知识。
  • 有人觉得 Harper 不错,因为它比 Grammarly 更少地依赖 LLMs,并且不会过度修改句子。
  • 有人希望有一个能够根据句子上下文来建议单词的拼写检查工具。
  • 有人更愿意使用开源程序中的硬编码语法规则来检查写作,而不是依赖于 LLMs。
  • 有人认为语言的演变速度很慢,手动编写和编辑规则是可行的。
  • 有人提到,将俚语纳入正式写作的语法检查工具可能是一个挑战。
  • 有人指出,“noughties"这个词汇在英国和澳大利亚是常见的,用来描述 2000 年代。
  • 有人提到,尝试模仿 GenZ 的写作风格可能会导致尴尬的结果。
  • 有人强调,手动添加新词汇和语法规则到语法检查系统中是快速且可扩展的。

Microsoft suspended the email account of an ICC prosecutor at The Hague #

https://www.nytimes.com/2025/06/20/technology/us-tech-europe-microsoft-trump-icc.html

这篇文章探讨了美国前总统特朗普如何可能利用美国的科技优势来影响欧洲,以及这种情况所引发的担忧。文章开头提到,微软在特朗普于 2025 年 2 月发布的行政命令后,迅速暂停了国际刑事法院(I.C.C.)检察官卡里姆・汗的电子邮件账户。卡汗正在调查以色列的战争罪行,这一行为引发了欧洲政界的震惊。

文章指出,I.C.C. 的总部位于荷兰,长期以来与微软合作,依赖其提供的数字服务。特朗普的命令打乱了这一关系,令许多欧洲政策制定者意识到美国科技公司在全球范围内的影响力以及他们对美国政府政策的脆弱性。荷兰前国防部网络安全负责人巴特・格鲁特豪斯表示,这一事件使他意识到,欧洲在科技上的依赖性可能会被特朗普政府用作政治工具,进而影响盟国的独立性。

微软在这次事件后表示,他们已与 I.C.C. 协商决定暂停卡汗的账户,但随即对其政策进行了审查和调整,以更好地保护客户免受类似的地缘政治风险。微软的总统布拉德・史密斯指出,这一事件反映了美国与欧洲之间信任的削弱。

文章还提到,自从爱德华・斯诺登 2013 年泄露有关美国大规模监控的文件以来,欧洲国家一直在努力减少对美国科技公司的依赖。然而,由于缺乏可行的替代方案,许多机构仍依赖于美国的数字服务。数据显示,亚马逊、谷歌和微软等美国公司在欧洲的云计算市场占有率超过 70%。

在特朗普发布命令后,微软与 I.C.C. 进行了会谈,决定继续提供其他服务,但暂停了卡汗的电子邮件账户。对于这一决策,很多人认为这将对企业和组织的合规性带来困难,因为美国政府的制裁和命令会迫使公司在商业选择中面临艰难抉择。

为应对这种情况,欧洲各国开始探索本土技术解决方案。荷兰、丹麦和德国等国都在积极寻找减少对美国科技公司的依赖的方法。同时,欧盟也计划投入数十亿欧元在新的人工智能数据中心和云计算基础设施建设上,以增强独立性。

总的来说,文章揭示了欧洲对美国科技主导地位的恐惧,以及在未来可能出现的更大力度的科技自主与独立的努力。许多欧洲科技公司认为,这是赢得客户、替代美国科技公司的机会,整个科技环境正在经历显著的变化。


HN 热度 477 points | 评论 329 comments | 作者:blinding-streak | 12 hours ago #

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

  • 美国继续消耗其软实力资本以保护以色列,这位检察官因为调查以色列战争罪行而成为目标。
  • 以色列已经买通了所有之前的美国总统和国会议员,美国一直将以色列视为第 51 个州。
  • 特朗普在任期内批准将大使馆从特拉维夫迁至耶路撒冷,消耗了大量政治资本,似乎没有得到任何回报。
  • 1995 年通过的《耶路撒冷大使馆法案》是美国国会的法律,得到了参众两院的压倒性多数通过,特朗普只是没有像前任总统那样使用推迟搬迁的豁免权。
  • 特朗普可能是在对待以色列问题上与前任总统不同的一个特例。
  • 美国可能不再有“国家安全”的理由来推迟搬迁大使馆。
  • 以色列实际上并不希望大使馆搬迁,因为这引发了巴勒斯坦人的愤怒和暴力。
  • 耶路撒冷像冷战时期的柏林一样被分割,美国将大使馆设在西德的波恩而非柏林,搬迁到柏林将被视为侵略性举动。
  • 美国是否曾拒绝承认其他国家选择的首都?
  • 特朗普可能比前任总统更友好地对待以色列。
  • 特朗普的女婿兼顾问库什纳是内塔尼亚胡的个人家庭朋友,特朗普可能认为以色列是美国的一部分,他在选举中也得到了来自游说团体的大力支持。

AbsenceBench: Language models can’t tell what’s missing #

https://arxiv.org/abs/2506.11440

标题:AbsenceBench: 语言模型无法识别缺失信息 作者:Harvey Yiyun Fu, Aryan Shrivastava, Jared Moore, Peter West, Chenhao Tan, Ari Holtzman 摘要:大型语言模型(LLMs)越来越能够处理长文本输入,并在其中定位特定信息,这在“Haystack(针堆)”测试中得到了证明。然而,尽管模型在回忆惊人信息方面表现出色,它们在识别明显遗漏的信息方面仍然存在困难。我们引入了 AbsenceBench,以评估 LLMs 在三个领域:数字序列、诗歌和 GitHub 拉取请求中检测缺失信息的能力。AbsenceBench 要求模型在给定原始和编辑上下文的情况下,识别文档中哪些部分被故意删除。尽管这些任务看起来简单,但我们的实验揭示了即使是像 Claude-3.7-Sonnet 这样的最新模型,也仅在平均上下文长度为 5K 令牌的情况下达到了 69.6% 的 F1 分数。我们的分析表明,这种糟糕的表现源于一个根本性限制:Transformer 注意力机制无法轻易地关注文档中的“空白”,因为这些缺失并不对应于可以被关注的任何特定键。总体而言,我们的结果和分析提供了一个案例研究,即模型在某些任务(如 NIAH)中已经超越人类,而在某些任务(如 AbsenceBench)中却意外崩溃。

评论:论文共有 23 页,包含 8 个图表。代码和数据可在以下链接公开获取:[链接]。

主题:计算与语言(cs.CL)

引用方式:arXiv:2506.11440 [cs.CL](或 arXiv:2506.11440v1 [cs.CL] 表示此版本)

DOI 链接: https://doi.org/10.48550/arXiv.2506.11440

提交历史:由 Harvey Yiyun Fu 提交,时间为 2025 年 6 月 13 日。

这篇论文讨论了大型语言模型在处理长文本时的一个特定问题——识别文档中故意遗漏的信息。通过在不同领域进行实验,作者发现即使是最先进的模型也难以准确识别这些遗漏信息,指出了 Transformer 模型的一个基本限制。论文提供了代码和数据的公开链接,方便其他研究者进一步研究和验证。


HN 热度 308 points | 评论 79 comments | 作者:JnBrymn | 1 day ago #

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

  • 语言模型可能无法识别旋转后的图像中缺失的部分
  • 数据增强是训练神经网络以提取实际意义的一种方式
  • 人类学习数字的过程与语言模型的训练方式不同
  • 多模态输入(如图像、视频、声音)有助于完善意义和增加时间感
  • 智能的本质在于识别复杂信息中的简单模式
  • 语言模型在处理图像方面还有待提高,大多数视觉能力是后期添加的
  • 我们对计算的理解还远远不够

EU Eyes Ditching Microsoft Azure for France’s OVHcloud #

https://www.euractiv.com/section/tech/news/scoop-commission-eyes-ditching-microsoft-azure-for-frances-ovhcloud-over-digital-sovereignty-fears/

欧洲委员会正在与总部位于法国的欧洲主要云服务提供商 OVHcloud 进行深入的商业谈判,计划将其云服务从微软转移到 OVHcloud。这一基础设施转变是由推动欧洲在云市场实现数字主权的努力所驱动的,此前一项美国行政命令导致微软服务对一家欧洲机构的员工关闭,引发了担忧。此举的目标是确保欧洲机构对其数字基础设施和数据拥有更大的控制权,这一理念得到了 EuroStack 倡议的支持。这对美国科技巨头微软来说是一个打击,该公司在过去几周一直在努力安抚其欧洲客户。

一旦欧洲委员会“整理好自家事务”,预计它将为国家公共行政部门树立一个先例,将公共采购资金投向本土云服务提供商。委员会认为自己是一个趋势的引领者,这与其增强欧盟数字自主权和减少对非欧洲科技巨头依赖的更广泛战略相一致。据了解,委员会已经与 OVHcloud 进行了数周的讨论。然而,包括德国的 IONOS、法国的 Scaleway 和意大利的 Aruba 在内的其他一些欧洲云服务提供商也被视为潜在的替代选择。

这种情况的独特之处在于,这是首次由一位负责技术主权组合的委员(Henna Virkkunen)监督委员会的两个关键数字部门——起草和执行数字政策的 DG CNECT 和 IT 部门 DG DIGIT。这种整合使得欧洲执行机构的政治和技术优先事项更容易协调,消息人士告诉我们。

OVHcloud 的发言人在接受 Euractiv 评论时表示:“讨论确实正在进行中,既与委员会进行,也与其他正在评估迁移到主权云项目的公共和私人机构和组织进行。”委员会发言人回应 Euractiv 的评论请求时表示,委员会“一直在扫描市场”,并且“已经与 OVHcloud 签订了合同”,但没有确认委员会是否真的会从微软 Azure 转移出去。

今年 1 月,Euractiv 披露了委员会对其依赖微软的担忧,并引用了内部文件。此外,欧盟机构监督机构——欧洲数据保护监督员去年发现,欧盟执行机构在使用微软 Azure 云存储部分数据时违反了适用于欧盟机构的数据保护规则。


HN 热度 261 points | 评论 183 comments | 作者:doener | 1 day ago #

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

  • 欧洲国家投资本国技术服务业是必要的,可以通过本土消费促进技术成熟。
  • 外国政府依赖他国关键技术基础设施是因为成本和质量优势。
  • 欧盟没有自己的“FAANG”公司部分是因为反商业/创业政策。
  • 缺乏真正的金融联盟是欧盟没有大型科技公司的一个因素。
  • 欧洲国家语言和法规的多样性使得本土科技公司难以成长。
  • 欧盟国家尝试多元化技术来源,但资源和政治意愿不足。
  • 欧洲国家可能缺乏资源,需要与邻国合作。
  • 保护公民的政策被误认为是反商业/创业政策。
  • 其他国家也没有与美国相同的能力和资源。
  • 欧盟内部贸易壁垒和金融部门的不足是企业发展的主要障碍。
  • 美国的成熟软件也有很多问题,如 Epic Systems 在多国的失败。
  • 欧盟有能力开发开源的电子医疗系统,与 Epic 竞争。

We moved from AWS to Hetzner, saved 90%, kept ISO 27001 with Ansible #

https://medium.com/@accounts_73078/goodbye-aws-how-we-kept-iso-27001-slashed-costs-by-90-914ccb4b89fc

这篇文章讲述了一个技术领导者面临的困境,即如何在保持 ISO 27001 认证的同时,从 AWS 迁移到欧洲云服务提供商,以降低成本并遵守数据保护法规。文章的主要内容包括:

  1. 合规性和成本问题:作者提到,尽管 AWS 提供了强大的 ISO 27001 认证服务,但美国云服务提供商无法完全保护欧洲客户数据免受美国政府管辖。这违反了 GDPR 的规定,并且作者对每年 24,000 美元的 AWS 账单感到不成比例。
  2. 战略风险:作者质疑将公司的未来与单一的美国云服务提供商绑定是否是一个负责任的选择。
  3. 迁移到欧洲云服务提供商的好处:通过迁移到欧洲的云服务提供商,如 Hetzner 和 OVHcloud,作者获得了真正的数据主权,云成本降低了 90%,并且被迫进行创新,建立了更强大的基础设施。
  4. 迁移策略和教训:文章分享了作者的迁移策略和从中学到的宝贵经验,包括使用 Ansible 作为合规引擎,建立与 ISO 27001 Annex A 控制直接相关的服务器配置,以及使用 Prometheus、Grafana 和 Loki 进行监控,以替代 AWS 的 CloudWatch。
  5. 业务转型:这次迁移不仅是一个技术项目,也是一次业务转型。作者通过减少对美国监控法律的合规风险,将欧洲托管作为销售工具,增强了品牌信任,并将 90% 的云支出返还给业务。
  6. 迁移策略是否适合你:文章最后,作者提供了一个迁移策略,帮助其他 CTO 和创始人面对类似的挑战。作者提供一小时的会议,讨论当前 AWS 设置与欧洲替代方案的成本分析,特定情况下的关键合规和 ISO 27001 风险,以及潜在迁移计划的实际时间表和前三个步骤。

文章最后,作者邀请有兴趣探索这一策略的公司通过 LinkedIn 联系他,或直接在他的 Calendly 上预约初步聊天。


HN 热度 249 points | 评论 152 comments | 作者:sksjvsla | 15 hours ago #

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

  • DIY 式托管的成本通常被低估,自己维护可能需要投入大量时间和资源。
  • 云服务商并不提供 24/7 的应用支持,他们只确保基础设施的基本运行。
  • 云服务商的账单并非总拥有成本(TCO),用户仍需专家来确保服务的正确使用和避免高额费用。
  • 云服务商的所谓 24/7 支持并不包括对用户逻辑和集成问题的支持。
  • 云服务商的支持仅限于基础设施,用户如何使用服务的问题仍需自行解决。
  • 云服务商的高成本与他们带来的价值相比可能并不划算。
  • 对于某些公司来说,使用云服务商可能因为业务原因而非成本节约。
  • 云服务商的某些功能可能过于复杂,对于小规模设置来说可能没有必要。
  • 云服务商的某些功能可能无法完全复制,但可能只需要 80% 的功能。
  • 云服务商的某些功能可能比自建的更好,例如 Grafana 等。
  • 云服务商的“客户至上”原则是他们的一种企业文化。
  • 云服务商的某些支持可能仅限于他们自己的基础设施问题。
  • 对于某些公司来说,自建基础设施可能在长期内总拥有成本(TCO)更高。
  • 在中型公司中,使用和管理 AWS 资源仍然需要一个或多个运维/SRE 团队。

Plastic bag bans and fees reduce harmful bag litter on shorelines #

https://www.science.org/doi/10.1126/science.adp9274

这篇文章是关于塑料购物袋禁令和费用对减少海岸线上塑料垃圾的影响的研究。文章由 Anna Papp 和 Kimberly L. Oremus 撰写,发表在《Science》杂志上,日期为 2025 年 6 月 19 日。

引言: 塑料污染已成为全球性问题,占据了海洋垃圾的大部分,对野生动物和生态系统构成威胁。塑料购物袋是海洋垃圾中最常见和最麻烦的类别之一,它们经常通过风力飘走而逃避废物管理,可能会缠绕或阻塞海洋动物的消化系统。全球已有超过 100 个国家通过了塑料购物袋禁令和费用政策。尽管研究表明这些政策可以在某些情况下减少塑料消费,但它们在减少环境中塑料垃圾方面的有效性尚未得到系统评估。

研究理由: 塑料购物袋政策是否能够减少海岸线垃圾取决于它如何影响消费和废物管理。例如,部分禁令可能无法减少塑料消费,但如果顾客用不太可能被风吹走的厚塑料袋替换薄塑料袋,仍然可以减少垃圾。或者,如果最有可能成为垃圾的袋子被排除在禁令之外,它可能会减少消费但不会减少垃圾。为了直接测量政策对环境中塑料垃圾的影响,研究者利用了 2017 年至 2023 年间在美国各地采纳的数百个州和地方塑料袋政策,结合了超过 45,000 次海岸线清理活动中的众包公民科学数据,参与者计算并分类了他们发现的物品。

研究结果: 尽管在研究期间塑料购物袋在清理物品中的比例总体上有所增加,但在有袋子政策的地区增加的幅度明显较小。研究发现,塑料购物袋政策导致塑料购物袋占总收集物品的比例比没有政策的地区减少了 25% 到 47%。这种相对减少在政策实施后随时间增长,没有反弹或溢出效应的证据。全面禁止塑料袋和收费都能减少塑料垃圾,而部分禁令由于对厚塑料袋的豁免,导致最小和最不精确的效果。所有地理尺度的政策都是有效的,州级政策最为稳健。袋子政策在沿海和河流地区产生类似的效果,有迹象表明在湖泊地区的效果更大。它们在塑料购物袋垃圾最普遍的地方产生最大影响。最后,研究发现在有塑料购物袋政策的地区,纠缠动物的出现减少了 30% 到 37%,尽管不能完全排除零效应的可能性。

结论: 研究结果表明,塑料购物袋政策在限制但未能完全消除以前普遍存在的海岸线塑料购物袋垃圾方面普遍有效。如果分析中使用的样本具有代表性,那么扩大塑料袋禁令或收费将继续减少塑料购物袋垃圾,并可能与业务常态相比减少野生动物纠缠。在废物产生预计增加的情况下,塑料碎片进入水域仍将是一个重要的全球问题,除非发生大规模的政策转变。


HN 热度 237 points | 评论 154 comments | 作者:miles | 24 hours ago #

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

  • 塑料禁令和收费减少了海岸线上有害的塑料袋垃圾。
  • 加州的塑料禁令导致更重、更难降解的“可重复使用”塑料袋使用增加,可能导致海滩上微塑料增加。
  • 瑞典的塑料袋禁令有效减少了塑料袋和塑料垃圾,禁令解除后效果持续。
  • 澳大利亚的塑料袋禁令中,许多额外付费的袋子是纸质的。
  • 需要禁止一次性餐具和大部分一次性塑料食品包装,通过征税减少塑料垃圾。
  • 应该只针对有塑料替代品或至少塑料使用较少的产品实施禁令。
  • 应该对不耐用的塑料产品征税,以减少塑料垃圾。
  • 聚乙烯很少含有塑化剂,不会硬化或开裂,除非持续暴露在阳光下。
  • 过去的镀锌桶含有铅,并非所有过去的产品都比现代的好。
  • 塑料垃圾的外部成本应该通过征税来弥补,而镀锌金属则不需要。
  • 通过提高塑料物品的税收来减少塑料污染,但担心税收最终不会被用于减少塑料污染。
  • 争论哪种袋子对环境更糟是浪费时间,因为乱扔垃圾才是根本问题,应该通过罚款和执法来解决。
  • 即使总质量相同,100 个旧的一次性薄塑料袋可能比 5 个可重复使用的塑料袋产生更多的微塑料。

Delta Chat is a decentralized and secure messenger app #

https://delta.chat/en/

Delta Chat 是一个去中心化且安全的即时通讯应用。

  1. 可靠的即时通讯功能,支持多个人资料和多设备使用。Delta Chat 提供了可靠的即时通讯服务,用户可以在不同的设备上使用多个个人资料进行交流。
  2. 快速注册并使用安全的聊天邮件服务器或传统电子邮件服务器。用户可以快速注册并使用 Delta Chat 提供的安全快速的聊天邮件服务器,也可以选择使用传统的电子邮件服务器。
  3. 在聊天中集成互动式网络应用,用于游戏和协作。Delta Chat 的聊天功能中集成了互动式网络应用,用户可以在聊天中进行游戏和协作。
  4. 经过审计的端到端加密,安全防护网络和服务器攻击。Delta Chat 提供了经过审计的端到端加密技术,能够有效抵御网络和服务器攻击,保护用户的通讯安全。
  5. 免费开源软件,基于互联网标准,避免 xkcd927 问题。Delta Chat 是一款免费开源的软件,它基于互联网标准构建,避免了 xkcd927 漫画中提到的问题。
  6. 支持移动设备和桌面设备。Delta Chat 可以在移动设备和桌面设备上使用。
  7. 提供相关资源链接。网页还提供了源代码、捐赠、版权声明和隐私政策等资源链接。
  8. 支持多种语言。Delta Chat 支持包括中文在内的多种语言,方便不同语言的用户使用。
  9. 提供 RSS 订阅和 Mastodon 社交媒体链接。网页还提供了 RSS 订阅和 Mastodon 社交媒体链接,方便用户获取最新信息和参与社区讨论。

HN 热度 229 points | 评论 120 comments | 作者:Bluestein | 17 hours ago #

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

  • Delta Chat 虽然去中心化和“安全”,但不匿名,因为 IMAP 和 SMTP 并非为隐私或匿名设计。
  • Delta Chat 不是安全的,因为它没有前向保密和元数据隐私。
  • “桌面赌注”(table stakes)一词源自扑克牌游戏,指的是参与一手牌局所需的最小下注额。
  • Delta Chat 基本上是带有更好用户体验的 GPG。
  • GPG 是 GNU 隐私保护,是 PGP(相当好的隐私)思想的开源实现。
  • 现在我们应该称之为 OpenPGP。
  • PGP、OpenPGP 和 GnuPG 都是共享生态系统的一部分,但并不相同。
  • Delta Chat 开发者正在致力于前向保密,并且通过 TLS 连接发送的消息元数据只能在两个服务器上访问。
  • 如果使用个人电子邮件服务器发送消息,元数据只能被这两个服务器访问,但如果使用 Gmail,Google 就会拥有社交图谱。
  • Delta Chat 的价值在于能够重用现有基础设施,不需要(但允许)建立一套新的服务器。
  • Delta Chat 可能发展出不同的方向,开发者有能力跳出初始框架进行思考。
  • Delta Chat 的点对点协议目前仅用于实时通信,不保存消息,不取代常规存储消息。
  • 相对于 Signal 或 Matrix,Delta Chat 的价值在于它能够重用现有基础设施,不需要建立新的服务器集群。
  • 要求所有现代安全消息设计都具备前向保密和元数据隐私可能限制了实际安全改进的采用,因为这些功能的工程和用户体验影响很大,甚至 Signal 也没有完全实现。

Sega mistakenly reveals sales numbers of popular games #

https://www.gematsu.com/2025/06/sega-mistakenly-reveals-sales-numbers-for-like-a-dragon-infinite-wealth-persona-3-reload-shin-megami-tensei-v-and-more

SEGA 公司在 2025 年 6 月 18 日发布的一份名为“SEGA SAMMY Management Meeting 2025”的演示文稿中,不慎泄露了包括《如龙:无限财富》、《女神异闻录 3 重制版》、《索尼克:边境》、《真·女神转生 V》以及《女神异闻录 5 皇家版》在内的多款 SEGA 和 ATLUS 游戏的销售数据。这些销售数据原本隐藏在演示文稿第 25 页的一个灰色块中,但由于 PDF 文件格式的问题,通过高亮页面可以揭示文本内容,进而复制粘贴。

以下是泄露的销售数据完整表格:

游戏名称 FY2020 FY2021 FY2022 FY2023 FY2024 FY2025 总计
如龙:无限财富 0 0 0 0 1.18m 480k 1.66m
如龙外传:抹去名字的男人 0 0 0 0 740k 220k 960k
女神异闻录 3 重制版 0 0 0 0 1.22m 850k 2.07m
索尼克全明星 0 0 0 0 1.81m 620k 2.43m
索尼克:边境 0 0 3.2m 760k 610k 4.57m
全面战争:战锤 3 0 960k 580k 420k 380k 2.34m
真·女神转生 V(包括真·女神转生 V:复仇) 0 990k 150k 10k 960k 2.11m
如龙:光与暗的去向 450k 720k 410k 240k 680k 360k 2.86m
女神异闻录 5 皇家版(包括重制版) 1.03m 700k 350k 1.82m 1.6m 1.75m 7.25m
索尼克团队赛车 1.38m 870k 520k 310k 200k 220k 3.5m
全面战争:三国 2.1m 410k 230k 230k 170k 70k 3.21m

*注:《女神异闻录 5 皇家版》包括 2023/3 财年发布的重制版销量。《真·女神转生 V》也包括 2025/3 财年发布的《真·女神转生 V:复仇》的销量。

此外,文章还提到了一些即将举行的活动,包括“Little Nightmares Showcase”、“Digimon Times”、“Capcom Spotlight”和“Anime Expo 2025”。同时,文章还提到了一些其他相关内容,如《Persona 4 Revival》和《STRANGER THAN HEAVEN》预计将在 2026 年 4 月 1 日之后发布,以及《怪物猎人:荒野》的“Title Update 2”将于 6 月 30 日推出,还有《Metaphor: ReFantazio》的出货量和数字销量超过 200 万。


HN 热度 195 points | 评论 187 comments | 作者:kelt | 17 hours ago #

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

  • Sega 误将热门游戏销量数据泄露,Persona 5 Royal 销量达 725 万,但 Sega 仍将其视为小众动漫副业。
  • Sega Sammy 的内容业务仅占公司总收入的三分之一,包括所有游戏、动漫、授权协议等。
  • 有人开玩笑提到 SonicTax(音速税务)软件,想象 Sonic 成为税务软件角色。
  • 有人怀念 90 年代 Sonic 的辉煌时期。
  • Sega 已经推出了多种 Persona 5 衍生游戏,包括地牢探险、节奏游戏、砍杀游戏、战术游戏和手机游戏,以及 TV 动画和漫画。
  • 有人期待 Persona 6 的发布。
  • Sega 的模式是精心设计主要游戏,不急于推出,一旦 Persona 6 发布,其他工作室可以制作衍生作品来赚取大钱。
  • 有人提到 Metaphor 游戏作为等待 Persona 6 期间的绝佳消遣。
  • 有人对 Persona 6 如何超越前作表示怀疑,认为 P5R 作为游戏有些薄弱,尤其是与其他回合制游戏相比。
  • 有人提到 P5R 是一个漫长的游戏,不要求玩家在社交属性或角色友谊上做出选择,新游戏 Plus 模式因为游戏太长而变得难以想象。
  • 有人提到过去在 PS Vita 时代有很多游戏的 NG+ 模式非常有趣,如 Akiba’s Trip 2 和 Neptunia 系列。
  • 有人建议不要给 Sega 任何将 Sonic 变成税务会计师的想法。
  • 有人抱怨使用某些网站时广告太多,影响体验。
  • 有人推荐使用 Adguard DNS 来屏蔽广告,使得网站变得可用。
  • 有人指出,除了自己之外,其他人都在使用广告拦截器。
  • 有人指出,文档红 action 的失败尝试是这个故事的真正重点,这种情况经常发生。
  • 有人分享了自己在工作中利用不良红 action 技术赚钱的经历。
  • 有人提出,将文档数字化红 action 后打印在纸上再扫描可能是最可靠的方法。
  • 有人提到,使用特定类型的墨水可能会导致红 action 文本的反射率略有不同,从而留下可以用于重建文本的人工制品。
  • 有人回忆起一个在图像中红 action 的技巧,通过使用两种不同的黑色来隐藏信息。

2025 06 21 HackerNews

2025-06-21 08:11:15

2025-06-21 Hacker News Top Stories #

  1. Hurl 是一个命令行工具,用于运行和测试纯文本格式中的 HTTP 请求,支持链式请求、捕获值和响应评估,适合 API 测试和 CI/CD 集成。
  2. ExTracker 是一个用 Elixir 编写的 BitTorrent 追踪器,支持多个 BEP,提供高性能和低内存使用,适合开发和测试使用。
  3. Phoenix.new 是一个远程 AI 运行时环境,支持浏览器交互和直接部署,旨在改变开发者工作流程,减少对本地开发的依赖。
  4. 通过将大型语言模型编译为 MegaKernel,可以实现低延迟推理,适用于单 GPU 和多 GPU 配置,优化了计算和通信开销。
  5. 文章以讽刺方式探讨了美国无家可归问题,批评了那些不愿采取实际行动解决问题的人和政策。
  6. 作者在模拟早期 Mac OS X 系统方面取得进展,通过优化和调试解决了 PearPC 模拟器的运行问题。
  7. 曼哈顿的拥堵收费政策成功减少了交通拥堵,提高了出行效率,公众支持率显著提升。
  8. 这篇 Makefile 教程详细介绍了 Makefiles 的用途、语法和使用方法,帮助用户管理大型项目的编译过程。
  9. 文章通过照片记录了六月节的历史及其庆祝活动,展示了这一美国联邦假日的文化意义和社区参与。
  10. 呼吁欧盟委员会拆分大型科技公司,促进数字经济的多样性和公平竞争,保护公民利益。

Hurl: Run and test HTTP requests with plain text #

https://github.com/Orange-OpenSource/hurl

Hurl 是一个命令行工具,用于运行定义在简单纯文本格式中的 HTTP 请求。它能够链式请求、捕获值以及对响应头和响应体进行查询评估。Hurl 功能多样,既可以用于获取数据,也可以用于测试 HTTP 会话。它能够轻松处理 HTML 内容、REST/SOAP/GraphQL API,或者任何基于 XML/JSON 的 API。

获取首页 #

使用 Hurl 发起一个 GET 请求来获取首页:

GET https://example.org
HTTP 200
[Captures]
csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)"

登录操作 #

通过 POST 请求进行登录,并使用之前捕获的 CSRF 令牌:

POST https://example.org/login?user=toto&password=1234
X-CSRF-TOKEN: {{csrf_token}}
HTTP 302

链式请求 #

Hurl 支持链式请求,例如:

GET https://example.org/api/health
GET https://example.org/api/step1
GET https://example.org/api/step2
GET https://example.org/api/step3

HTTP 测试工具 #

Hurl 不仅可以运行 HTTP 请求,还可以用于测试 HTTP 响应。它支持不同类型的查询和断言,包括 XPath 和 JSONPath 在响应体上,以及对状态码和响应头的断言。Hurl 特别适合用于 REST/JSON API。

HTML 内容测试 #

使用 XPath 对 HTML 内容进行测试:

GET https://example.org
HTTP 200
[Asserts]
xpath "normalize-space(//head/title)" == "Hello world!"

GraphQL 和 SOAP API #

Hurl 也支持 GraphQL 和 SOAP API 的测试:

POST https://example.org/graphql
{
human(id: "1000") {
name
height(unit: FOOT)
}
}
HTTP 200
POST https://example.org/InStock
Content-Type: application/soap+xml; charset=utf-8
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:m="https://example.org">
<soap:Header></soap:Header>
<soap:Body>
<m:GetStockPrice>
<m:StockName>GOOG</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
HTTP 200

性能测试 #

Hurl 还可以用于测试 HTTP 端点的性能:

GET https://example.org/api/v1/pets
HTTP 200
[Asserts]
duration < 1000
# Duration in ms

以及检查响应字节:

GET https://example.org/data.tar.gz
HTTP 200
[Asserts]
sha256 == hex,039058c6f2c0cb492c533b0a4d14ef77cc0f78abccced5287d84a1a2011cfb81;

集成 CI/CD #

Hurl 易于集成到 CI/CD 中,支持文本、JUnit、TAP 和 HTML 报告。

为什么选择 Hurl? #

  • 文本格式:适用于开发和运维
  • 快速 CLI:适用于本地开发和持续集成
  • 单一二进制文件:易于安装,无需运行时
  • 由 curl 驱动 Hurl 是用 Rust 编写的轻量级二进制文件。Hurl 的 HTTP 引擎由 libcurl 提供支持,这是最强大和可靠的文件传输库之一。通过其文本文件格式,Hurl 为运行和测试 HTTP 请求添加了语法糖,但它仍然是我们所爱的 curl:快速、高效,支持 IPv6/HTTP/3。

反馈 #

支持 Hurl 的发展,可以在 GitHub 上为 Hurl 点赞!欢迎反馈、建议、报告 bug 或提出改进意见。

资源 #

  • 许可证
  • 博客
  • 教程
  • 文档(下载 HTML、PDF、Markdown)
  • GitHub

目录 #

  • 样本
  • 获取数据
  • HTTP 头
  • 查询参数
  • 基本认证
  • 传递数据
  • 发送数据
  • 使用 GraphQL 查询
  • 使用动态数据
  • 测试响应
  • 测试状态码
  • 测试响应头
  • 测试 REST API
  • 测试 HTML 响应
  • SSL 证书
  • 检查完整主体
  • 报告
  • 其他
  • HTTP 版本
  • IP 地址
  • 轮询和重试
  • 延迟请求
  • 跳过请求
  • 测试端点性能
  • 使用 SOAP API
  • 捕获和使用 CSRF 令牌
  • 红行动密
  • 检查响应中的字节顺序标记 (BOM)

HN 热度 414 points | 评论 97 comments | 作者:flykespice | 20 hours ago #

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

  • Hurl 对于执行 HTTP 请求测试非常有用,支持测试套件模式和单独调用模式,有助于接口和实现的分离。
  • Hurl 的配置语言不够直观,文档中的断言支持不够全面。
  • Hurl 作为一个工具,有助于 LLM 辅助开发,强制执行客户端视角,没有后门数据访问。
  • Hurl 可以与 Rust 语言集成,提供与 cargo test 工具的集成功能。
  • Hurl 帮助团队版本控制测试,提高了透明度和责任追踪。
  • 有人对 Hurl 的必要性表示怀疑,认为 Django 等框架已经提供了足够的测试钩子。
  • 语言无关的 API 测试可以作为文档使用,有助于团队间共享和测试合同的重用。
  • Hurl 作为 Postman 的替代品,避免了启动 Electron 窗口的繁琐。
  • Hurl 在服务器堆栈转换期间提供了独立的规范测试套件,有助于减轻工作负担。
  • Hurl 的样本部分很好地展示了工具的用途,尤其是对于那些可能快速判断工具实用性的人。
  • Hurl 可以像 IDE 扩展那样运行,支持引用 JSON 文件作为预期输出,并在目录中运行多个文件。

Show HN: I wrote a new BitTorrent tracker in Elixir #

https://github.com/Dahrkael/ExTracker

这个网页是关于一个名为 ExTracker 的 Elixir 驱动的 BitTorrent Tracker 项目。以下是网页的中文摘要:

项目状态和特点: ExTracker 项目目前仍在进行中,虽然还未完全准备好用于工业级使用,但已经可以正常工作。项目有一个测试实例在 extracker.dahrkael.net:6969 运行,启用了所有当前功能(实时统计)。

功能实现: 项目的实现进度使用不同的图标表示:

  • 🔲 表示尚未实现
  • 🔰 表示部分实现
  • ✅ 表示已完成
  • ❌ 表示不会实现

重要的特性包括:

  • ✅ 高性能(使用所有可用核心,内存存储)
  • ✅ 低内存使用(每 100 万个节点约 200MB RAM)
  • ✅ 零配置(启动即用)

与 Tracker 相关的 BitTorrent 增强提案(BEPs)包括:

  • ✅ BEP 0: BitTorrent 协议规范
  • ✅ BEP 15: UDP Tracker 协议
  • ✅ BEP 23: Tracker 返回紧凑的节点列表
  • 🔲 BEP 27: 私有 Torrent
  • ✅ BEP 7: IPv6 Tracker 扩展
  • 🔲 BEP 21: 部分种子扩展
  • ✅ BEP 24: Tracker 返回外部 IP
  • 🔲 BEP 31: Tracker 失败重试扩展
  • ✅ BEP 41: UDP Tracker 协议扩展
  • 🔰 BEP 48: Tracker 协议扩展:Scrape
  • ✅ BEP 52: BitTorrent 协议规范 v2

其他特性:

  • ✅ HTTPS 支持
  • ✅ 数据库备份到磁盘
  • ❌ WebTorrent
  • 🔰 信息哈希白名单/黑名单
  • 🔰 节点管理(间隔执行、清理、禁止等)
  • 🔰 指标
  • 🔰 GeoIP 支持(统计,节点限制)

设置方法: ExTracker 有三种主要的运行方式:

  1. 直接从源代码运行:需要在系统上安装 Erlang 和 Elixir。
  2. 从发行版运行:目前没有官方发行版(即将推出),但可以自己制作并部署。
  3. 使用 Docker:可以直接运行可用的 docker 镜像,或作为 docker-compose 的一部分。

版权和许可: ExTracker 由 Dahrkael 版权所有,根据 Apache License,Version 2.0 条款分发。详情请参考存储库根目录下的 LICENSE 文件。

关于: ExTracker 是一个 Elixir 驱动的 BitTorrent Tracker,涉及的主题包括 torrent、elixir、p2p 和 bittorrent-tracker。


HN 热度 370 points | 评论 68 comments | 作者:dahrkael | 1 day ago #

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

  • 作者使用 Elixir 编写了一个新的 BitTorrent tracker,并提供了 Docker 镜像以便快速尝试。
  • 尽管有人认为 tracker 是过去的产物,但作者认为它们在现代互联网中仍有其用途。
  • 作者计划继续开发,并添加一些可选的高级功能。
  • 有人建议作者学习如何使用 OTP 设计服务,推荐了相关书籍。
  • 作者回应称,虽然最初尝试了 OTP 风格,但为了提高扩展性,选择了当前的设计。
  • 有人认为使用 ETS(Erlang Term Storage)是可以接受的,因为它是一个内置于 OTP 的内存存储系统。
  • 有人对“OTP-first”设计表示好奇,并质疑使用 ETS 是否不符合“OTP-first”原则。
  • 有人分享了学习 Elixir 后对编程思维的影响,包括状态隔离、无共享数据、失败和重启、模式匹配、结构体优于类、管道等。
  • 有人建议使用 Logger 和 Telemetry 应用程序,而不是直接使用 IO.puts,并考虑添加 OTel。
  • 作者回应称,除了表格打印外,项目中使用了 Logger,并且 Telemetry 可选地以 Prometheus 和 HTML 格式提供。
  • 有人询问作者最喜欢的 OTel sink 是什么。
  • 有人表示正在使用 Elixir 构建一个出色的通知引擎,并认为 Elixir 非常适合这项工作。
  • 有人询问这个通知引擎是私有的还是开源的,并表示 Elixir 需要一个更好的通知引擎。
  • 有人回应称,使用 Phoenix 的 PubSub 实现通知引擎是很容易的,并且已经经过了实战测试。
  • 有人提到了 Knock.app,这是一个用 Elixir 构建的通知引擎。
  • 有人询问 DHT 和 PEX 是什么,有人提供了维基百科链接进行解释。
  • 有人解释说 DHT 和 PEX 允许 torrent 客户端在没有中央 tracker 的情况下找到 peer。
  • 有人指出,尽管有了 DHT 和 PEX,但在连接到网络时仍然需要一些中央节点。
  • 有人澄清说,这些中央节点仅在初始的 peer 发现阶段起作用,之后 peer 可以自行找到 torrent 群组。
  • 有人提到,如果连接到 DHT 网络,就不需要中央服务器,除非是为了 DNS 等。
  • 有人提出,即使有数百万的 bootstrap 节点,也可以通过嵌入 torrent 文件或使用 SRV DNS 记录等方式找到它们。
  • 有人讨论了如何找到 IPv6 的 bootstrap 节点,提出了一些可能的方法。

Phoenix.new – Remote AI Runtime for Phoenix #

https://fly.io/blog/phoenix-new-the-remote-ai-runtime/

这篇文章由 Elixir 的 Phoenix 框架的创造者 Chris McCord 撰写,介绍了他在 Fly.io 公司进行的一个秘密项目——Phoenix.new。Phoenix.new 是一个为 Elixir 和 Phoenix 量身定制的全在线编码代理,旨在成为构建协作、实时应用程序的最快方式。

文章首先介绍了 Phoenix.new 的特点。Phoenix.new 完全在浏览器中运行,为用户和代理提供了一个 root shell,在一个临时的虚拟机(Fly Machine)中,代理可以自由地安装软件和运行程序,而不会破坏用户的本地机器。用户只需打开 VSCode 界面,点击 shell 按钮,即可进入与 Phoenix.new 代理共享的隔离机器。

其次,Phoenix.new 是一个专为 Phoenix 设计的代理系统,Phoenix 是关于实时协作应用程序的,Phoenix.new 理解这一点。因此,Phoenix.new 在其 UI 和代理工具中都包含了一个完整的浏览器。Phoenix.new 代理使用这个浏览器“无头”模式来检查自己的前端更改并与应用程序交互。由于它是一个完整的浏览器,代理可以看到真实的页面内容和 JavaScript 状态,无论是否有人操作。

文章接着讨论了 root 访问权限带来的好处。代理以与人类开发者相同的方式构建软件,它们不精心设计 Docker 容器层,也不真正进行发布周期。代理想要弹出一个 shell 并开始工作。一个完全隔离的虚拟机意味着 Phoenix.new 可以任意地“弄脏”。如果它想要向 mix.exs 添加一个包,然后运行 mix phx.server 或 mix test 并检查输出,这是可能的。如果它想要向基础操作系统添加一个 APT 包,它也可以做到,并确保它工作。它拥有整个环境。

文章还提到了 Phoenix.new 如何帮助开发者将应用程序在线部署。Phoenix.new 产生的应用程序从启动时就生活在云端。它们有私有的、可共享的 URL(我们检测代理生成的任何绑定端口,并在 phx.run 下提供预览 URL,集成端口转发),它们与 Github 集成,并继承了 Fly.io 的所有基础设施保护:硬件虚拟化、WireGuard 和隔离网络。

文章最后讨论了 Phoenix.new 的未来。作者认为我们正处于开发者工作流程的巨大变革中。代理今天就可以实际工作,无论是否有人类在场。作者预测,开发的未来可能看起来更少像是打开一个 shell 并找到一个文件来编辑,而更像是进入一个 CI 环境,代理在那里全天候工作。本地开发不会消失,但大部分迭代将发生在哪里将会发生转变。作者已经使用 Phoenix.new 来分类 phoenix-core Github 问题并挑选问题来解决。他关闭笔记本电脑,喝杯咖啡,等待 PR 的到来——Phoenix.new 也知道 PR 的工作方式。我们已经开始,这个领域才刚刚开始。


HN 热度 351 points | 评论 160 comments | 作者:wut42 | 9 hours ago #

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

  • Phoenix.new 提供了一个容器化环境,允许远程代理运行而无需用户任务的批准,这被认为是一项创新。
  • Phoenix.new 与 fly.io 的深度集成使得用户可以直接与产品交互,而无需通过聊天工具复制粘贴输出。
  • Kasm 工作区可以作为 AI 开发环境,支持远程 Docker-based Linux 桌面。
  • 远程代理的创新在于它允许异步代理工作流程,这对于许多人来说是新鲜的。
  • Phoenix.new 的创建者表示,这是一个全球性的 Elixir 集群,跨越整个星球。
  • Phoenix.new 可以被视为一个完整的开发 IDE 环境,但它更像是一个远程运行时环境,代理在这里完成工作。
  • Phoenix.new 包括一个无头 Chrome 浏览器,代理可以驱动它来测试前端功能。
  • Playwright 提供了一个 MCP 服务器,可以实现类似的功能。
  • Phoenix.new 不进行模型训练,只使用现有的开源或托管模型,代码被发送到这些提供商那里。
  • Phoenix.new 的 UI 没有专门的无障碍测试,开发者需要指导代理进行无障碍建设或测试。
  • Phoenix.new 处理第三方库的问题,代理可以通过某种方式访问库文档。
  • 使用 Fly API 进行环境配置的经验表明,fly-replay 在路由和代理方面发挥了重要作用。

Compiling LLMs into a MegaKernel: A path to low-latency inference #

https://zhihaojia.medium.com/compiling-llms-into-a-megakernel-a-path-to-low-latency-inference-cf7840913c17

这篇文章介绍了一种新开发的编译器,该编译器可以将大型语言模型(LLM)的推理过程转换成一个单一的“超级内核”(megakernel),这是一种融合了所有必要计算和通信的 GPU 内核,能够在一次启动中完成所有操作。这种方法通过减少 LLM 推理延迟 1.2-6.7 倍,显著提高了性能。编译器易于使用,只需几十行 Python 代码即可将 LLM 编译成高性能的超级内核。

文章的核心思想是,传统的 LLM 系统通常依赖于一系列 GPU 内核启动和外部通信调用,导致硬件利用率不足。新开发的编译器自动将这些操作(跨越多个层、迭代和 GPU)融合成一个超级内核。这种设计消除了启动开销,实现了跨层的细粒度软件流水线,并允许在 GPU 之间重叠计算与通信。

尽管有这些优势,将 LLM 编译成超级内核极具挑战性。现有的高级机器学习框架(如 PyTorch、Triton 和 TVM)并不支持端到端的超级内核生成。此外,现代 LLM 系统由多种专门的内核库构建:NCCL 或 NVSHMEM 用于通信,FlashInfer 或 FlashAttention 用于高效的注意力机制,CUDA 或 Triton 用于自定义计算。这种碎片化使得将整个推理管道整合到一个统一的内核中变得困难。

文章接着介绍了 Mirage Persistent Kernel(MPK),这是一个由 CMU、UW、Berkeley、NVIDIA 和清华大学的团队开发的编译器和运行时系统,它能够自动将多 GPU LLM 推理转换成高性能的超级内核。MPK 在开发人员只需最少手动努力的情况下,解锁了端到端 GPU 融合的优势。

文章的优势在于,MPK 通过消除内核启动开销,并最大化地重叠计算、数据加载和跨 GPU 通信,实现了极低的 LLM 推理延迟。图 1 展示了 MPK 与现有 LLM 推理系统在单 GPU 和多 GPU 配置上的的性能比较。在单个 NVIDIA A100 40GB GPU 上,MPK 将每个 token 的解码延迟从 14.5 毫秒降低到 12.5 毫秒,接近基于 1.6TB/s 内存带宽加载 16GB 权重的理论下限 10 毫秒。

文章还讨论了 MPK 如何工作,分为两部分:第一部分介绍了 MPK 编译器,它将 LLM 的计算图转换为优化的任务图;第二部分涵盖了 MPK 运行时,它在超级内核内执行任务图,以实现高吞吐量和低延迟。

在 MPK 任务图中,每个任务代表分配给单个 GPU 流式多处理器(SM)的计算或通信单元,每个事件代表任务之间的同步点。任务图允许 MPK 发现在计算图中会被遗漏的流水线机会。MPK 还自动为每个任务生成高性能的 CUDA 实现,使用 Mirage 内核超级优化器确保每个任务在 GPU SM 上高效运行。

最后,MPK 包括一个在 GPU 上运行的运行时系统,它在单个 GPU 超级内核内完全执行任务图,允许在推理期间对任务执行和调度进行细粒度控制,无需任何内核启动。MPK 静态地将所有流式多处理器(SM)划分为工人和调度器两种角色,它们的数目在内核启动时固定,并与物理 SM 的数量相匹配,避免了任何动态上下文切换开销。


HN 热度 300 points | 评论 76 comments | 作者:matt_d | 1 day ago #

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

  • 将大型语言模型(LLMs)编译成 MegaKernel 是实现低延迟推理的有前景的路径。
  • CUDA 编程模型可能限制了硬件资源的有效利用,尤其是在低延迟和批量小的情况下。
  • 将工作集成到 PyTorch 作为实验性后端的可能性令人兴奋。
  • MPK 项目与 Stanford 的 MegaKernel 项目相似,但 MPK 采用编译器驱动的方法,更易于编程。
  • 训练优化可能不如推理优化重要,因为训练通常涉及更大的内核。
  • FlashDMoE 论文实现了在单个内核中快速分布式 MoE 模型。
  • 通用 CPU 将继续作为协调 GPU 的小脑存在。
  • 直接将软件编译成硬件的想法可能不会成为主流。
  • 将 LLM 直接映射到硬件在未来可能是有意义的,但目前保持权重在内存中并重用共享计算块更有意义。
  • AI 硬件初创公司已经在做类似的事情,但它们更通用,主要在架构上专业化,而不是权重上。
  • 将 LLMs 部署在本地并拔掉网线可以轻松实现空气隔离工作。
  • LLM-in-a-box 的想法对于需要空气隔离的工作来说非常有用。
  • 将 LLMs 部署在类似比特币挖矿 USB 设备的专用设备上是一个有趣的想法。

I will do anything to end homelessness except build more homes (2018) #

https://www.mcsweeneys.net/articles/i-will-do-anything-to-end-homelessness-except-build-more-homes

这篇文章是由 Homa Mojtabai 撰写的,标题为《I Will Do Anything to End Homelessness Except Build More Homes》,发表于 2018 年 5 月 9 日。文章以讽刺的口吻探讨了美国无家可归问题的严重性,并批判了那些不愿意通过改变自身行为或政策来解决这一问题的人。

文章开头,作者表达了自己对无家可归问题的关注,并声称愿意尽一切努力解决这个问题,但前提是不改变分区法律、不影响自己独自驾车上班的能力,或者不改变任何现状。作者讽刺地描述了自己愿意偶尔给饥饿的人一个三明治,并在朋友面前炫耀,但前提是他们不要在自己的视线范围内吃东西。

作者强调每个人都应该有床睡觉,但同时指出无家可归者对房产价值的破坏。他自称是一个创新者,通过创立公司利用技术制造智能茶壶等产品来为社会做出贡献。他认为自己是一个赢家,社区也是赢家,但解决无家可归问题的方式是避免直接面对问题,比如写信给当地报纸编辑、在社交媒体上发表歧视性帖子,以及经常报警。

文章中,作者提到自己拥有一个从父母那里继承的单家庭迷你豪宅,或者是一个豪华的公寓,他不愿意因为建造更多的房屋而破坏自己的生活方式。他讽刺地描述了自己的家是如何被杂物填满或者出租给来自其他城市的年轻人,同时强调自己是一个努力工作、慷慨的人,他的一切成就都是自己努力得来的。

作者还提到了美国财富集中的问题,但他更关心的是在 Whole Foods 购物时不得不对乞讨者说不。他对声称是退伍军人的无家可归者表示怀疑,并质疑他们的真实性。

最后,作者讽刺地表示,如果给无家可归者提供住房,他们可能会开始整理生活、找到工作并组织起来,这可能会导致医疗保险普及、公共交通建设等变化,最终导致汽车消失、空气变干净,而这是作者不愿意看到的。因此,他宁愿保持无家可归危机,也不愿意建造更多的房屋。

文章最后呼吁读者支持作者和保持网站无广告,通过成为赞助人来支持。同时,提供了订阅 McSweeney’s Internet Tendency 的 Substack 和新闻通讯的链接,以及其他相关文章的推荐阅读。


HN 热度 262 points | 评论 376 comments | 作者:2color | 16 hours ago #

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

  • 有些人认为,无家可归者的问题不仅仅是房屋成本问题,更多是心理健康、药物滥用和缺乏支持系统的问题。
  • 有些人指出,许多无家可归者是因为临时的经济困难、家庭问题或法律问题而流落街头。
  • 有人认为,无家可归者中许多人并非因为精神健康或药物问题而无家可归,而是这些问题导致他们无家可归。
  • 有人提出,即使住房免费也无法解决无家可归问题,因为存在免费避难所但无家可归现象依然存在。
  • 有人通过极端情况的假设,认为如果取消所有分区限制,可以建造胶囊旅馆,降低住房成本。
  • 有人担心,这样的旅馆最终会充满精神健康问题、药物依赖和暴力的人,导致大多数人宁愿住在帐篷里。
  • 有人提出,大学宿舍似乎能够解决类似的问题,也许成年人也可以。
  • 有人指出,大学宿舍与无家可归者的情况不同,因为宿舍里没有精神健康问题和药物成瘾者。
  • 有人认为,拥有屋顶应该是一项权利而非特权,房地产被视为投资导致了这一问题。
  • 有人强调,许多无家可归者因为避难所中的问题(如暴力、药物滥用、盗窃等)而宁愿选择街头。
  • 有人提出,将住房视为权利而非特权是一回事,但将其纳入法律并确保不破坏其他领域是另一回事。
  • 有人指出,无家可归者的精神健康问题往往是因为无家可归而加剧的。
  • 有人根据研究指出,无家可归的主要原因是租金上涨,而非心理健康问题。
  • 有人提到,许多无家可归者被称为“隐形”无家可归者,因为他们看起来正常,甚至可能有工作。

Infinite Mac OS X #

https://blog.persistent.info/2025/03/infinite-mac-os-x.html

这篇文章主要介绍了作者在模拟早期 Mac OS X 系统方面的工作和进展。

  1. Infinite Mac 现在可以运行早期的 Mac OS X 系统,其中 10.1 和 10.3 版本支持最好。虽然运行速度并不快,但作者表示,这与当时实际硬件上的表现相差无几。Infinite HD 也经过重建,增加了一些那个时代的知名独立软件。
  2. 作者之前一直在跟踪 DingusPPC 的进展,并尝试将其用于在 Infinite Mac 上运行 Mac OS X。但在去年夏天,他遇到了瓶颈,尝试运行时要么出现内核崩溃,要么出现图形损坏。他尝试通过确定性执行模式来减少问题,但下一步的方向并不明确。因此,他决定暂时放下这个模拟器,探索其他途径来运行 Mac OS X。
  3. PearPC 成为了一个明显的选择,因为它在 21 世纪初就是为了在 x86 Windows 和 Linux 机器上模拟 Mac OS X 而创建的。尽管在英特尔转型后兴趣减弱,但 PearPC 在一段时间内成功地完成了这一任务。作者最初认为 PearPC 是一个“死亡”的代码库,但后来决定尝试使用它,以获得让事情工作的满足感。他发现 kanjitalk755(Basilisk II 和 SheepShaver 的实际维护者)最近在 PearPC 上设置了一个实验分支,可以在现代 macOS 上构建和运行。作者能够复制他们的工作,然后开始了他的第六次模拟器移植到 WebAssembly/Emscripten 和 Infinite Mac 运行时的工作。
  4. PearPC 不再积极开发,这让事情变得更容易,因为作者不需要担心合并上游的更改,也不需要纠结如何结构化他的修改以便于贡献回去。PearPC 已经是一个多平台代码库,因此添加另一个目标相对容易。此外,它没有广泛使用线程或其他难以移植的概念。在几天内,作者成功让 PearPC 构建、输出视频、加载磁盘映像,并连接鼠标和键盘输入。能够在浏览器中更可靠地运行 Mac OS X 10.2,这让他感到非常满意。
  5. 尽管 PearPC 运行 10.2 更可靠,但感觉比 DingusPCC 慢。作者去年花了一些时间对后者进行了优化,部分灵感来自 SheepShaver 分支中的 TinyPPC 模拟器。他移植了 DingusPPC 的基准测试框架,然后开始在 PearPC 中复制性能工作(两个模拟器都是由查找表驱动的纯解释器,因此过程相对简单)。他成功将 10.2 的启动时间缩短了大约 15 秒,虽然这有助于节省生命,但考虑到完全启动需要近 2 分钟,这仍然不够。最后,他不得不在用户界面上添加一个免责声明,说明 Mac OS X 启动可能较慢。他还回忆起 Mac OS X 早期的“它现在快了吗?”讨论——它确实慢,但没那么慢。
  6. 性能仍然不如 DingusPPC 好,最大的瓶颈是 MMU 中没有任何缓存,因此所有加载和存储都很贵,因为它们涉及复杂的地址计算。DingusPPC 有一个更成熟的分层缓存,看起来非常有效。更一般地说,尽管 PearPC 在运行 10.2-10.4 时可能比 DingusPPC 更稳定,但它的代码库原则性较差(作者遇到了许多神秘的提交),并且在许多方面“作弊”(它有自定义固件和视频驱动程序,并且只实现了 Mac OS X 所需的 PowerPC 指令子集)。作者仍然希望 DingusPPC 能成为长期快速、稳定和正确的选择。
  7. 作者在 PearPC 的解释器中逐个操作码族实现了“统一解码表”方法。当他处理浮点操作时,本以为这将是另一个机械变化。然而,他惊讶地发现行为出现了退化——Dock 出现了一些渲染故障,Finder 窗口根本无法打开。经过一些调试,他注意到操作码组 59 和 63 的调度不仅仅是对相关指令位进行基本查找。它首先检查机器状态寄存器(MSR)的 FP 位,如果未设置,则会引发“浮点不可用”异常。
  8. 作者最初认为这是模拟器过于挑剔——所有用于 Mac 的 PowerPC 芯片都有 FPU,所以这应该永远不会发生。然而,设置断点显示异常在 Mac OS X 启动期间频繁发生。当时的 xnu 内核源代码是可用的,尽管作者不熟悉细节,但有地方清除了 FP 位并注册了处理结果异常的处理程序。他假设这是一种优化,以避免在上下文切换期间保存/恢复 FPU 寄存器(如果它们没有被使用)。结果是,一旦他在优化的调度代码中实现了等效的 FP 检查,渲染问题就消失了。
  9. 这让他想起了在 DingusPPC 下运行 Mac OS X 时遇到的渲染故障。即使从 10.2 安装 CD 启动(它不会内核崩溃),他最终也会遇到缺少文本和其他问题:检查 DingusPPC 源代码显示它从未检查 FP 位,并始终允许浮点指令通过。他做了一个快速的黑客攻击来检查它,并在需要时引发异常,故障就消失了!
  10. 适当的实现更加复杂,他最终对其进行了一些修订以避免性能损失(另一位贡献者又进行了一次修订)。但最终,DingusPPC 变得更加稳定,这是一个不错的副作用。更好的是,它可以可靠地运行 10.1,而 PearPC 不能。他最终使用两个模拟器的组合来运行更广泛的早期 Mac OS X(不幸的是,10.0 仍然不稳定,公共测试版内核立即崩溃,但他对未来抱有希望)。
  11. 重建 Infinite HD:Infinite Mac 的吸引力之一是模拟的机器还挂载了一个“无限硬盘”,里面有很多适合那个时代的软件可以尝试。随着 Mac OS X 的运行,是时候构建一个超越 80 年代和 90 年代经典 Mac 应用程序的替代版本了。他有他的最爱,但也征求了建议,并得到了很多想法。
  12. 对于实际构建磁盘映像,他扩展了最初启动网站时的自动化方法。磁盘映像在 Mac OS X 的早期比今天更受欢迎,所以他添加了一种将.dmgs 作为附加文件夹导入到生成的映像中的方法。然而,他很快发现,尽管具有相同的扩展名,但有许多变体,现代 macOS 附带的 hdiutil 并不总是能够挂载 20 多年前生成的映像。最后,他最终采用了一种鲁布·戈德堡方法,首先通过 dmg2img 提取原始分区,然后重新创建一个可以挂载和复制的“现代”磁盘映像。
  13. 至于获取实际软件,像 Macintosh Garden 这样的常规网站确实有一些来自那个时代的内容,但这不是他们的优先事项。早期到中期 2000 年代的 Mac OS X 软件似乎是一个小小的盲点——它太新了,不能算是真正的“复古”,但太老了,以至于不能从原始供应商那里获得(尽管有例外)。他最终使用了…

HN 热度 260 points | 评论 118 comments | 作者:kristianp | 24 hours ago #

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

  • PearPC 项目因原维护者意外去世而失去了大部分动力
  • 有观点认为一些技术高超的开发者可能被外星人带走了
  • 有人提到自杀的可能性
  • CherryOS 被指控抄袭了 PearPC 的工作
  • 怀念“DrunkenBatman”博客,该博客在 2019 年后消失
  • DrunkenBatman 因在 C4 会议上发表被认为是“觉醒”的演讲后退出公众视野
  • 有人对“DrunkenBatman”的消失表示遗憾
  • 有人提到 Infinite Mac 网站,提供经典 Macintosh 和 NeXT 系统软件
  • 有人批评文章没有提供 Infinite Mac 的超链接或定义
  • 有人指出链接到项目是有用的,但简洁的项目描述更有帮助
  • 有人对文章中提到的 PPC CPU 模拟器代码简洁性表示惊讶
  • 有人解释说 RISC 架构的模拟器通常代码量较小
  • 有人提到 PowerPC 指令集复杂,有大量指令
  • 有人提到 POWER 是 Power Optimization With Enhanced RISC 的缩写
  • 有人提到麦当劳在新西兰是一个房地产公司,其网站地址是 eieio.co.nz
  • 有人提到一个 ISA 指令集有一个名为“EMACS”的指令
  • 有人讨论 RISC 和 CISC 架构的区别
  • 有人提到编码方式影响指令集的复杂性
  • 有人对现代 macOS 与 OS X 10.4 的比较表示怀旧
  • 有人认为现代 macOS 与 OS X 10.4 在行为上有所不同,但变化不大
  • 有人觉得现代 macOS 与旧版 MacOS 在外观上差异巨大

Congestion pricing in Manhattan is a predictable success #

https://www.economist.com/united-states/2025/06/19/congestion-pricing-in-manhattan-is-a-predictable-success

这篇文章主要讨论了纽约市曼哈顿区实施拥堵收费政策的成功案例,并探讨了为什么这一政策迟迟未能实施。

文章开头提到了纽约市的语音治疗师 Maura Ryan,她最初对拥堵收费政策感到愤怒,因为这意味着她每天需要支付 9 美元的过路费。然而,自从政策实施后,她的出行时间从超过一个小时缩短到了 15 分钟,她的态度也随之发生了变化。现在,更多的纽约人支持这一收费政策,而不是反对。

文章指出,拥堵收费政策在曼哈顿取得了可预测的成功,这让人不禁要问,为什么这项政策花了这么长时间才开始实施。文章通过 Maura Ryan 的例子和其他纽约市民的反馈,展示了拥堵收费政策如何有效地减少了交通拥堵,提高了出行效率。

文章还提到了其他与美国相关的新闻和话题,包括民主党在权力运用上的表现、明尼苏达州的袭击事件、特朗普总统在摇摆州的支持率,以及纽约市长竞选中民主党内部的功能障碍等。这些内容虽然在文章中有所提及,但不是文章的主要内容,因此没有详细展开。

总的来说,这篇文章通过具体的例子和数据,展示了拥堵收费政策在纽约市的成功实施,并对政策实施的延迟提出了质疑。


HN 热度 259 points | 评论 444 comments | 作者:edward | 10 hours ago #

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

  • 曼哈顿的拥堵收费政策取得了可预测的成功,交通状况得到改善,城市环境变得更加宜人。
  • 伦敦的拥堵收费区在晚上 6 点结束,因此周五或周六晚上仍有人驾驶昂贵的汽车炫耀。
  • 伦敦是一个适合步行和公共交通的城市,自拥堵收费实施以来,城市变得更加适合步行。
  • 拥堵收费政策带来了一些意想不到的好处,比如减少了街头犯罪。
  • 拥堵收费只是解决方案的一半,另一半应该是对 MTA 进行改革,因为 MTA 一直是一个管理混乱、浪费资金的机构。
  • MTA 开始投资于内部专业技能的建设,以减少对外部承包商的依赖。
  • 美国公共部门普遍存在将工作外包给私营部门的问题,这导致成本增加和效率低下。
  • 私有化实际上是为了将政府资金转移到私人口袋中,而不是为了提高效率。
  • 私有化是现代版的庇护政治,可以持续地将政府资金转移到特定受益者手中。
  • 给失业工人提供资金或免费公共服务是不被接受的,因此需要通过虚假工作来洗钱。
  • 选民是否真的推动了外包,还是咨询公司和工会在推动这一过程。
  • 美国政府机构依赖于私营公司来执行政府任务,这导致了成本增加和缺乏长期内部专业知识。
  • 许多声称私有化能提高效率的公司实际上主要依赖政府合同,导致同样的问题只是外包了。

Learn Makefiles #

https://makefiletutorial.com/

这个网页是一个关于 Makefiles 的教程,旨在帮助用户理解和掌握 Makefiles 的使用方法。以下是网页内容的中文摘要:

Makefiles 的用途: Makefiles 主要用于大型程序中决定哪些部分需要重新编译。大多数情况下,涉及 C 或 C++ 文件的编译。其他语言通常有自己的工具来实现类似 Make 的功能。Make 也可以用于编译之外的场景,比如当需要根据文件变化来执行一系列指令时。本教程将重点放在 C/C++ 编译的使用案例上。

Makefile 的替代品: 流行的 C/C++ 替代构建系统有 SCons、CMake、Bazel 和 Ninja。一些代码编辑器,如 Microsoft Visual Studio,有自己的内置构建工具。对于 Java,有 Ant、Maven 和 Gradle。其他语言如 Go、Rust 和 TypeScript 也有自己的构建工具。解释型语言如 Python、Ruby 和原生 Javascript 不需要类似 Makefiles 的工具,因为当这些语言的文件变化时,不需要重新编译,程序运行时会使用文件的最新版本。

Make 的版本和类型: Make 有多种实现版本,但本指南主要适用于 GNU Make,这是 Linux 和 MacOS 上的标准实现。所有示例适用于 Make 版本 3 和 4,这两个版本除了一些深奥的差异外几乎相同。

运行示例: 要运行这些示例,你需要一个终端和安装了"make"。对于每个示例,将内容放入名为 Makefile 的文件中,并在该目录下运行 make 命令。以一个最简单的 Makefile 开始:

hello:
echo "Hello, World"

运行上述示例的输出如下:

$ make
echo "Hello, World"
Hello, World

如果对 Makefiles 的结构还不太了解,有一个视频可以介绍这些步骤以及 Makefiles 的基本结构。

Makefile 语法: Makefile 由一系列规则组成。一个规则通常看起来像这样:

targets: prerequisites
command
command
command

目标是文件名,由空格分隔。通常每个规则只有一个目标。 命令是一系列步骤,通常用于创建目标。这些步骤需要以制表符开始,而不是空格。 前提条件也是文件名,由空格分隔。这些文件在运行目标的命令之前需要存在。这些也被称为依赖项。

Make 的本质: 以一个 hello world 示例开始:

hello:
echo "Hello, World"
echo "This line will print if the file hello does not exist."

这里有很多内容需要理解。让我们分解一下: 我们有一个名为 hello 的目标 这个目标有两个命令 这个目标没有前提条件 然后我们运行 make hello。只要 hello 文件不存在,命令就会运行。如果 hello 文件存在,命令就不会运行。 重要的是要意识到,这里将 hello 既作为目标也作为文件来讨论。这是因为两者直接联系在一起。通常,当运行目标(即运行目标的命令)时,命令会创建一个与目标同名的文件。在这个例子中,hello 目标没有创建 hello 文件。

更多快速示例: 以下 Makefile 最终运行所有三个目标。当你在终端运行 make 时,它将分步骤构建一个名为 blah 的程序: Make 选择目标 blah,因为第一个目标是默认目标 blah 需要 blah.o,所以 make 搜索 blah.o 目标 blah.o 需要 blah.c,所以 make 搜索 blah.c 目标 blah.c 没有依赖项,所以执行 echo 命令…

这个网页通过提供详细的解释和示例,帮助用户理解 Makefiles 的基本概念和语法,以及如何使用 Makefiles 来管理大型项目的编译过程。


HN 热度 242 points | 评论 120 comments | 作者:dsego | 16 hours ago #

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

  • 1985 年,有人在波士顿大学图形实验室使用 Makefiles 生成 3D 渲染器,非常优雅,仅 10 行代码。
  • 有人提到了 Brian Gardner,一个 3D 渲染领域的专家,曾参与《铁巨人》和《卡罗兰》的 3D 渲染工作。
  • 有人分享了一些不太为人所知的 make 命令行选项,如 --output-sync--load-average--shuffle
  • 有人建议 make 的作者可以整理一个选项列表,方便用户查阅。
  • 有人认为,既然大家都能找到手册,就没有必要再整理一个选项列表。
  • 有人指出,make 的手册中已经列出了所有选项,可以通过 make --help 查看常用选项。
  • 有人提到 -B 选项用于无条件构建所有目标。
  • 有人质疑在多用户系统上,操作系统调度器是否可以处理并行任务。
  • 有人反映 make -j 会导致系统不稳定,认为这是一个 bug。
  • 有人认为如果 make -j 导致系统饱和,说明系统没有严重的瓶颈。
  • 有人建议 --jobs 的默认值应该是一个有限的数字,而不是无限大。
  • 有人提到,使用 --jobs 时,最大的瓶颈是随机 IO,而不是 CPU 或内存。
  • 有人认为,如果 make -j 导致系统不稳定,应该归类为“使用不当”。
  • 有人强调,专业使用工具的人应该阅读该工具的手册,尤其是对于基础工具。

Juneteenth in Photos #

https://texashighways.com/travel-news/the-history-of-juneteenth-in-photos/

这篇文章是关于美国德克萨斯州的六月节(Juneteenth)的历史和庆祝活动的视觉记录。以下是文章的中文摘要:

关于六月节: 1865 年 6 月,联邦军队少将戈登·格兰杰抵达加尔维斯顿,宣布德克萨斯州政府非法,并发布了包括解放奴隶在内的一系列命令。其中,第 3 号将军令涉及德克萨斯州的奴隶制。该命令宣布所有奴隶获得自由,并指出前主人和奴隶之间的权利和财产权利现在平等,他们之间的关系转变为雇主和雇员。尽管这一命令在《解放宣言》发布两年半后才传达到德克萨斯的非洲裔美国人,但许多听到消息的前奴隶离开了种植园前往北方。留在加尔维斯顿的人则在第二年的 6 月 19 日举行了庆祝活动,这一天后来被称为解放日,逐渐演变成“六月节”。庆祝活动逐渐扩展到邻近的州。

1979 年,休斯顿的民主党众议员阿尔·爱德华兹提出了一项法案,要求将六月节定为州假日。该法案在 1979 年通过,并由共和党州长威廉·克莱门茨签署成为法律。1980 年举行了第一次州赞助的六月节庆祝活动。2021 年 6 月 17 日,美国总统乔·拜登签署法案,将六月节定为联邦假日。

六月节庆祝活动: 文章展示了从 1900 年到 2018 年不同年份的六月节庆祝活动的照片。这些照片记录了在奥斯汀、休斯顿和科珀斯克里斯蒂等地举行的庆祝活动,包括乐队表演、日记记录、艺术俱乐部游行花车、公主和王子的庆祝、西部表演、网球比赛、小六月节小姐比赛等。这些照片展示了六月节庆祝活动的多样性和社区的参与。

前奴隶的故事: 文章还介绍了几位前奴隶的故事,包括鲍勃·莱蒙斯(Bob Lemmons)和安娜·摩尔·施维恩(Anna Moore Schwien)。鲍勃·莱蒙斯大约在 1847 年出生,1854 年被带到德克萨斯,解放后成为德克萨斯牧场主邓肯·莱蒙斯的学徒,并最终购买了自己的牧场。安娜·摩尔·施维恩 1856 年出生在新布朗费尔斯附近的一个羊场,她曾短暂地嫁给一个德国移民,后来因嫁给黑人女性而被赶出城镇,但她并不怀恨在心,她说过:“你不能带着恨意去天堂。”安娜于 1946 年去世。

文章通过这些故事和照片,展现了六月节的历史意义和庆祝活动的发展,以及前奴隶们的生活和他们对自由的珍视。


HN 热度 221 points | 评论 203 comments | 作者:ohjeez | 1 day ago #

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

  • 有人觉得“Juneteenth”这个名称不如“Emancipation Day”直观,因为很多人不知道“Juneteenth”的含义。
  • 有人支持“Juneteenth”这个名称,认为它体现了非裔美国文化,迫使人们去了解和记住黑人的历史。
  • 有人认为“Juneteenth”听起来像是一个现代词汇,而不是一个历史悠久的术语,可能不会激发人们的好奇心。
  • 有人指出“Emancipation Day”在美国可能会引起混淆,因为不同州有不同的“Emancipation Day”纪念不同的事件。
  • 有人提到,很多国家的节假日名称都很晦涩,需要查资料才能了解其含义。
  • 有人强调,节日的名称是为了纪念那些祖先获得自由的人,而不是为了让外人容易理解。

Break Up Big Tech: Civil Society Declaration #

https://peoplevsbig.tech/break-up-big-tech-civil-society-declaration/

这篇文章是一份来自欧洲及全球民间组织和人民的宣言,呼吁欧盟委员会立即采取行动,打破大型科技公司(Big Tech)对数字世界的垄断。这些科技公司不仅控制了市场,还对欧洲民主构成了威胁。文章强调,欧洲需要一个繁荣多样的数字经济,服务于欧洲公民的需求,而不是亿万富翁科技 CEO 的利益。

文章指出,欧盟委员会有一个千载难逢的机会来拆除谷歌的广告垄断,这一垄断破坏了新闻媒体,剥削了消费者,并在美国的一项具有里程碑意义的判决中被裁定为非法。大型科技公司的垄断力量对民主构成威胁,它们集中控制了我们的核心数字基础设施,包括搜索引擎、社交媒体、应用商店和云服务。这些公司的不受限制的权力使它们能够滥用人权、剥削企业和压垮竞争对手。

西班牙首相佩德罗·桑切斯警告说,科技亿万富翁想要“推翻民主”。当少数亿万富翁和科技巨头控制互联网时,他们利用自己的权力和巨额利润来影响政治话语和干预民主法律。今年,科技 CEO 和特朗普政府密切合作,试图阻挠欧盟的标志性数字法律,这些法律要求大型科技公司承担责任。

文章呼吁,为了解决大型科技公司的危害,必须首先面对它们的力量。欧盟竞争事务主管特蕾莎·里贝拉认识到,拆分可以防止大型科技公司获得过多的市场力量。这些公司将数十亿欧元的罚款视为做生意的成本,而行为补救措施无效且经常被公司忽视。迫使这些巨头出售部分业务将减少利益冲突,平衡数字竞争环境,并使公司更容易对其日益增长的社会危害负责。

文章特别提到,打破谷歌的广告垄断是欧盟的一个明显目标,得到了十八位前欧洲总统和总理的支持。谷歌的垄断不公平地从出版商那里吸取收入,扼杀新闻业和新闻媒体,同时通过“广告技术税”迫使消费者向行业中间人支付更多费用。在对谷歌广告技术的最终裁决中,委员会必须重申,只有谷歌强制剥离部分服务,才能解决竞争问题。

文章最后强调,打破科技垄断是迈向一个更自由、更公平的互联网的一步。欧洲可以并且必须抵抗大型科技公司和特朗普政府的威胁,坚定地维护欧盟法律对抗大型科技公司。文章呼吁拆分谷歌,拆分大型科技公司,并列出了一系列签署该宣言的组织和机构。


HN 热度 194 points | 评论 158 comments | 作者:janandonly | 16 hours ago #

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

  • 要求欧盟强制拆分美国公司是对抗疯狂的行为,应该通过禁止美国服务来促进本土替代品的发展
  • 如果公司在欧盟开展业务,它们必须遵守欧盟法规,要求拆分是合理的
  • 技术本身并非固有垄断性,而是集中式运作的公司导致垄断,解决方案是采用去中心化的技术
  • 去中心化系统在达到大规模吸引力后最终会变成中心化,因为普通用户倾向于选择简化他们生活的服务
  • 去中心化协议构建的系统可以避免中心化,用户可以自由选择服务,避免供应商锁定和垄断
  • 服务问题如账户被盗、交易逆转、欺诈追索等,在去中心化系统中并非不可能解决,只是公司没有动机去发明或使用这些解决方案
  • 即使去中心化协议在规模上趋于中心化,用户仍然可以选择不同的服务提供商
  • 通过要求互操作性和遵守标准,可能找到一种中间地带来减少大型科技公司的影响力
  • 标准变化缓慢,不利于快速演变的用例,有限、通用且允许上下游创新的标准更成功
  • HTTPS 证明了其成功,适用于大多数用例,更复杂、高效的标准可能无法如此通用
  • 应该像 CERN 那样,由学术界产生简单的标准,然后由行业在社区/监管机构的推动下发展,最后发布标准

2025 06 20 HackerNews

2025-06-20 07:47:36

2025-06-20 Hacker News Top Stories #

  1. Andrej Karpathy 讨论了AI对软件行业的深远影响,指出LLMs正在成为软件的新范式,但仍面临技术和应用挑战。
  2. Unregistry工具允许用户直接将Docker镜像推送到远程服务器,无需使用外部仓库,通过SSH隧道传输,适用于生产部署和CI/CD流水线。
  3. Zed调试器发布,尽管功能尚不完善,但已支持多语言调试,未来计划添加更多高级功能。
  4. 美国新签证规则要求外国学生解锁社交媒体账户以供审查,引发对隐私和言论自由的担忧。
  5. 研究发现网站通过浏览器指纹技术秘密追踪用户,即使用户清除cookies或选择退出跟踪,追踪仍在发生。
  6. Bento项目将Steam Deck OLED主板集成到键盘下方,适合配合外部显示器使用,旨在提高便携性。
  7. SpaceX Starship 36号飞船在静态点火测试前爆炸,原因尚不明确,可能影响发射计划。
  8. 德州仪器计划在美国投资超过600亿美元制造基础半导体,支持关键领域需求并推动美国创新。
  9. OCR识别错误导致Google Ngrams数据库中月份的11日被提及频率异常低,主要是由于数字“1”与字母“I”或“l”相似。
  10. Windows 10即将结束支持,建议用户通过安装Linux操作系统延长旧电脑的使用寿命,提供更好的隐私和社区支持。

Andrej Karpathy: Software in the era of AI [video] #

https://www.youtube.com/watch?v=LCEmiRjPEtQ

Andrej Karpathy 视频内容的总结:

一、软件的变革与 AI 的推动

  • 软件正经历根本性变革,AI 技术进步是关键驱动力。
  • 软件从传统代码向可编程神经网络转变,通过提示来操作。

二、LLMs(大型语言模型)的新范式

  • LLMs 成为软件新范式,像电力一样是基础工具。
  • 它们类似公用设施和芯片制造厂,塑造智能,需大量投资。
  • 个人计算在发展,但经济上仍不可行。

三、技术民主化与应用挑战

  • LLMs 使技术更普及,使用从政府转向个人。
  • 但 LLMs 缺乏情境学习能力,需谨慎设定其限制。
  • 部分自主应用通过整合 LLMs 提高编码效率。
  • LLMs 需人类监督,同时增加产品自主性。
  • 需平衡 AI 辅助与编码安全、控制。

四、软件自主性的发展

  • 自动驾驶技术发展缓慢,面临挑战。
  • 软件自主性从基础工具向部分自主系统演变。
  • 开发应用虽快,但部署需更多努力。
  • 出现为 AI 代理而非人类设计的软件需求。
  • 新工具助力语言模型获取数据。
  • 软件行业随 LLMs 发展,成为开发者必备工具。

HN 热度 1069 points | 评论 594 comments | 作者:sandslash | 23 hours ago #

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

  • LLM 可能存在安全隐患,无法进行病毒扫描,可能被恶意利用。
  • 通过使模型结构可理解,可以让 LLM 更好地理解应用的内部语义,结合传统代码和 AI 的优势。
  • 开发者需要在“人工智能优先”和“无后端”开发之间找到平衡,减少开发摩擦。
  • 通过 OpenAI 的“custom GPTs”或“Alexa skills”可以简化开发流程,提高易用性。
  • 存在对设备模型的需求,以便开发者不需要处理调用 OpenAI 等外部 AI 服务的复杂性。
  • 软件 2.0 和 3.0 可能不会完全取代传统编程,而是作为额外的工具共存。
  • 软件版本号可能引起混淆,因为它们暗示了某种改进,而实际上只是区分不同的软件类别。
  • 软件的发展可以看作是从无到有、部分到全部的 AI 角色演变。
  • 结构化输出/JSON 模式/受限解码是一种被低估的工具,可以解决 LLM 输出难以编程解析的问题。

Show HN: Unregistry – “docker push” directly to servers without a registry #

https://github.com/psviderski/unregistry

这个网页介绍了一个名为“unregistry”的轻量级容器镜像仓库工具,它允许用户直接将 Docker 镜像推送到远程服务器,而无需使用外部仓库。该工具的核心功能是“docker pussh”命令(注意额外的’s’代表 SSH),通过这个命令,用户可以将镜像直接推送到远程 Docker 服务器上,仅传输缺失的层,提高了效率。

问题背景: 当你在本地构建了一个 Docker 镜像并需要将其部署到服务器上时,通常的选择并不理想:使用 Docker Hub 或 GitHub Container Registry 意味着代码可能公开,或者需要为私有仓库付费;自托管仓库则需要额外维护、安全性保障和存储空间;使用 Save/Load 方法(即 docker save | ssh | docker load)会传输整个镜像,即使服务器上已有 90% 的镜像;而远程重建镜像则浪费时间和服务器资源,并且可能导致生产环境中构建失败的问题。

解决方案: 使用“docker pussh”命令,只需一行命令即可将镜像推送到远程服务器,无需设置仓库、订阅服务、中间存储或暴露端口,直接通过 SSH 传输缺失的层。

工作原理:

  1. 建立到远程服务器的 SSH 隧道。
  2. 启动一个临时的 unregistry 容器。
  3. 通过隧道将本地随机端口转发到 unregistry 端口。
  4. 通过转发的端口执行 docker push 到 unregistry,仅传输不存在的层。
  5. 传输的镜像立即在远程 Docker 守护进程上可用。
  6. 停止 unregistry 容器并关闭 SSH 隧道。

这个过程类似于 rsync,用于 Docker 镜像的简单高效传输。

安装方法:

  • 对于 macOS/Linux,可以通过 Homebrew 安装:brew install psviderski/tap/docker-pussh,然后创建一个 symlink 以将其作为 Docker CLI 插件使用。
  • 也可以通过直接下载最新版本的方式安装:使用 curl 下载链接,然后设置执行权限。
  • Windows 系统目前不支持,但可以尝试使用 WSL 2 和上述 Linux 指令。

验证安装: 使用命令 docker pussh --help 来验证安装是否成功。

使用方式: 推送镜像到远程服务器,确保 SSH 用户有权限执行 docker 命令。如果需要 sudo 权限,确保用户可以无密码提示运行 sudo docker。例如,使用 docker pussh myapp:latest [email protected] 命令推送镜像。如果使用 SSH 密钥认证且私钥未添加到 SSH 代理,可以指定私钥路径。也可以指定自定义 SSH 端口。

使用场景:

  • 部署到生产服务器:本地构建后直接推送到生产服务器,无需中间人。
  • CI/CD 流水线:在流水线中跳过仓库复杂性,直接构建并推送到部署目标。
  • 家庭实验室和隔离环境:在这些环境中分发镜像,无需外部仓库。

网页最后提到,unregistry 是为 Uncloud 创建的,Uncloud 是一个轻量级工具,用于在多个 Docker 主机之间部署容器。他们需要比完整仓库更简单的解决方案,但比 save/load 方法更高效。


HN 热度 616 points | 评论 135 comments | 作者:psviderski | 1 day ago #

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

  • 有人曾在 2015 年向 Docker 开发者提交 PR 希望添加类似功能,但被重定向到其他领域,因为不使用注册表与 Docker 的商业模式相冲突
  • pussh 命令被认为是一个优雅的双关语,容易记住且与标准命令仅一字之差
  • 建议使用更正式的别名,如 docker push-over-ssh,以避免在自动化协作中被误认为是拼写错误
  • Docker 允许在 ~/.docker/cli-plugins 目录下查找 docker-COMMAND 可执行文件,可以将 pussh 命令重命名为其他名称,如 docker pushoverssh
  • 有人担心工程师可能会误认为 pussh 是错误并进行更改
  • 有人提到额外的’s’是为了’sssh',但有人误以为是拼写错误
  • 有人分享了一个 YouTube 视频链接,但内容未提及
  • 有人提到命令别名容易冲突的问题
  • 有人认为这种艺术性的设计不是工程学的方法,工程学需要一个明显不同的命令来避免混淆
  • 有人分享了自己曾经因为别名而发生拼写错误的经历
  • 有人提到安装 sl(1) 终端蒸汽机车,每次误输入都会让他们发笑
  • 有人提到了另一个类似的项目 gti
  • 有人询问这是否与使用 Ansible 等推送部署工具集成得很好,以及是否需要在两端都有完整的 Docker 安装
  • 需要远程端有 containerd,客户端需要支持 OCI Distribution 规范的工具,Unregistry 重用了官方 Docker 注册表代码,使其看起来像 Docker Hub
  • 有人提到自己使用 Ansible 上传 Docker 镜像存档并恢复镜像,但这个过程比预期要长
  • 有人指出这只是一个巧妙的方法,通过 SSH 在两个守护进程之间共享层
  • 有人认为 Docker 注册表过于复杂,与黑客精神背道而驰
  • 有人提到构建一个 OCI 兼容的仅拉取注册表并不复杂
  • 有人提到 Docker 作为一家风险投资资助的公司需要赚钱
  • 有人推荐使用 GitHub 的注册表 ghcr.io 和 GitHub Actions,设置起来非常实用
  • 有人提出这是否与使用远程 Docker 上下文不同,并分享了自己的工作流程,认为这比使用 Docker Swarm 或 Kubernetes 更简单
  • 有人认为使用 Unregistry 的一个区别是它可以与已经构建的镜像一起工作,不需要在远程主机上构建,这样可以确保服务器上的镜像与本地测试的镜像完全相同,并且通常会更快
  • 有人认为这在大多数情况下可能是一个反功能

The Zed Debugger Is Here #

https://zed.dev/blog/debugger

这篇文章介绍了 Zed 调试器的发布,这是一个面向开发者的工具,标志着 Zed 向 1.0 版本迈进了一大步。文章分为几个部分,概述了调试器的特点、开发背景和未来的计划。

概述 Zed 调试器的开发聚焦于三个核心目标:快速、熟悉和可配置。它旨在减少上下文切换的时间,让用户更多地投入到调试工作中。调试器的设计语言与 Zed 保持一致,支持从典型调试流程中预期的一切功能,并且允许用户自定义用户界面、快捷键和调试配置等。Zed 默认支持多种流行语言的调试,包括 Rust、C/C++、JavaScript、Go 和 Python。通过扩展系统,Zed 能够支持任何实现 Debug Adapter Protocol (DAP)的调试适配器。

调试适配器协议(DAP)和定位器 Zed 通过 DAP 支持多种语言的调试,但仅仅实现协议还不够,Zed 需要一个能够扩展到协作调试、支持扩展,并有效缓存和管理来自调试适配器响应的架构。为此,Zed 构建了一个双层架构:一个直接与调试适配器通信的数据层,以及一个从数据层获取数据以渲染界面的 UI 层。Zed 还引入了定位器系统,它将构建配置转换为调试配置,简化了设置过程。用户可以在 tasks.json 中编写构建任务,并在 debug.json 中引用它,或者依赖 Zed 的自动配置。Zed 自动在内置或语言服务器生成的可运行文件上运行定位器,因此在许多情况下,用户甚至不需要编写调试配置即可开始调试。目前,Zed 支持 Cargo、Python、JavaScript 和 Go 的定位器,未来还会增加更多。

调试会话配置 文章提供了关于如何配置调试会话的更多信息的链接,并强调了在调试会话中,Zed 使得检查程序状态(如线程、变量、断点、调用栈等)变得简单。调试面板完全可定制,用户可以拖动和重新排列标签,甚至可以移动调试面板以适应工作流程。Zed 还支持键盘驱动的调试,方便那些更喜欢不使用鼠标的用户。用户可以仅通过键盘步进代码、切换断点和导航调试会话。

特别感谢 调试器最初是一个社区主导的项目,开发了 8 个月,提交了 977 次,编写了超过 25000 行代码。社区构建了核心基础,使得今天的发布成为可能。文章特别感谢 Remco Smits 在项目中承担了很多重要的工作,他的贡献对于项目的成功至关重要。

技术内幕 Zed 的调试器通过 DAP 支持多种语言的调试,但文章指出,仅仅实现协议是不够的,Zed 需要一个能够扩展到协作调试、支持扩展,并有效缓存和管理来自调试适配器响应的架构。因此,Zed 构建了一个双层架构:一个直接与调试适配器通信的数据层,以及一个从数据层获取数据以渲染界面的 UI 层。这种分离意味着 UI 层只请求它需要的信息,允许数据层懒加载信息并避免不必要的请求。这也使得数据层只负责维护会话状态、缓存响应和使过时数据无效。这种架构将使实现协作调试变得更容易,因为相同的 UI 代码可以跨多人会话重用,而且我们只发送必要的数据,节省了带宽。

扩展 API 和调试器集成 文章还提到,由于有超过 70 种 DAP 实现,每种都有自己的特点,因此不可能一开始就支持每一个调试适配器。为了解决这个问题,Zed 扩展了其扩展 API 以支持调试器集成。文章提供了一些代码示例,展示了如何获取指定适配器名称和配置的调试适配器二进制文件,确定适配器配置应该启动新的调试进程还是附加到现有进程,以及如何将高级调试场景定义转换为适合特定适配器的低级配置。

定位器 定位器是将 Zed 任务转换为调试场景的实体。即使不提供调试适配器的扩展也可以提供定位器。对于适用于给定缓冲区的所有任务,Zed 将查询所有定位器,以找到一个可以将任务转换为调试场景的定位器。转换后的调试场景可以包括构建任务(在这种情况下,它不应包含任何配置);构建任务的结果将稍后使用 Extension::run_dap_locator 解决。文章通过一个 cargo run 任务和假设的 cargo 定位器的示例,说明了如何将任务转换为调试场景,并在构建任务完成后找到要调试的程序。这个过程几乎就像是用户自己找到了工件路径。


HN 热度 466 points | 评论 181 comments | 作者:SupremumLimit | 21 hours ago #

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

  • Zed 的调试器是主要功能,但目前缺少观察窗口、堆栈跟踪视图和数据断点,不足以满足大多数调试需求。
  • Zed 调试器支持基本的堆栈跟踪视图,并计划在未来添加更多高级视图。
  • Zed 支持同时进行多个调试会话和多线程调试。
  • 有用户表示,对于他们来说,Zed 的调试器已经足够使用,因为他们主要使用简单的断点和步进。
  • 有用户认为 Zed 团队的工作速度很快,期待未来功能的完善。
  • 有用户希望 Zed 能进一步完善 Git 功能,目前基本功能已经存在,但尚未完全替代现有的 Git 工作流程。
  • 有用户认为,与其他编辑器相比,Zed 在 TypeScript、Rust 和 Go 项目上表现最佳。
  • 有用户担心如果 Zed 的受欢迎程度下降,社区支持可能会受到影响,与 JetBrains 等公司相比,Zed 的更新和支持可能不够稳定。
  • 有用户认为,依赖社区支持是好事,意味着插件 API 强大,人们可以实施功能。
  • 有用户指出,可以为 Zed 付费,但付费并不能保证扩展得到良好维护。
  • 有用户询问关于变量观察和数据断点的跟踪问题,并希望看到这些功能。
  • 有用户表示,Zed 的 Vim 绑定是他们尝试过的最好的非真实 Vim 绑定。
  • 有用户对 Zed 的 Rust 代码自动补全功能表示好奇,想知道它是否像其他语言那样快速准确。

New US visa rules will force foreign students to unlock social media profiles #

https://www.theguardian.com/us-news/2025/jun/18/social-media-student-visa-screening

美国国务院宣布了一项新的签证规则,要求外国学生在获得教育和交流签证之前,必须解锁他们的社交媒体个人资料,以便美国外交官审查他们的在线活动。不这样做的学生将被怀疑向美国官员隐瞒活动。这项新指导方针要求美国外交官进行在线存在审查,寻找“对美国公民、文化、政府、机构或建国原则的敌意迹象”。另外,外交官还被指示标记任何“对外国恐怖分子的支持、援助或支持”以及“对非法反犹太主义骚扰或暴力的支持”。

这项针对“反犹太主义”活动的筛查与美国国土安全部下属的美国公民及移民服务局给出的类似指导相匹配,并被批评为试图打击对以色列在加沙战争行为的反对。新的国务院检查针对的是 F、M 和 J 类别签证的申请人,这些类别指的是学术和职业教育以及文化交流。

一位高级国务院官员表示:“美国公民期望他们的政府将尽一切努力使我国更安全,这正是特朗普政府每天都在做的。”他还提到参议员马尔科·鲁比奥(Marco Rubio)“正在帮助使美国及其大学更安全,同时将国务院带入 21 世纪”。特朗普政府上个月暂停发放新的教育签证,同时考虑新的社交媒体审查策略。美国还特别针对中国学生进行严格审查,当时正值两国在关税和稀土矿物供应问题上紧张谈判。

国务院的指令允许外交使团恢复安排教育和交流签证的面试,但增加了对所有申请 F、M 和 J 签证者的“全面和彻底审查”。官方表示:“为了促进这种审查,所有申请 F、M 和 J 非移民签证的人将被要求调整他们所有社交媒体个人资料的隐私设置为‘公开’”。“加强的社交媒体审查将确保我们正确筛查每一个试图访问我们国家的人。”


HN 热度 447 points | 评论 591 comments | 作者:sva_ | 1 day ago #

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

  • 美国签证新规迫使外国学生解锁社交媒体账户
  • 这些定义故意广泛,旨在审查对以色列的批评
  • 有双重国籍的人会自豪地承认他们首先忠于以色列
  • 这些例子似乎适用于指责任何个人,而不仅仅是某个群体
  • 双重国籍的人并非只有以色列公民,也会承认忠于其他国家
  • 这种指责只针对犹太人,与其他国家的人不同
  • 所有种族主义都有特定群体的特征,限制言论自由将导致失去自由言论
  • 许多亚裔美国人被指责忠于他们的原籍国而非美国
  • 这种暗示只针对犹太人,与其他国家的人不同
  • 反犹太主义有悠久的历史,与其他种族主义或仇外心理不同
  • 并非只有犹太人被指责有双重忠诚,其他族群也常被指责
  • 美国福音派对以色列有奇怪的忠诚,他们并非犹太人
  • 印度和中国不允许双重国籍,因此支持这些国家利益的美国公民值得怀疑
  • 在加州以外,使用其他国家国旗被视为严重的失礼行为

Websites are tracking you via browser fingerprinting #

https://engineering.tamu.edu/news/2025/06/websites-are-tracking-you-via-browser-fingerprinting.html

由德州农工大学领导的新研究发现,网站正在秘密使用浏览器指纹技术——一种唯一识别网络浏览器的方法——来跨浏览器会话和网站跟踪人们。

“指纹技术一直是隐私社区关注的问题,但直到现在,我们没有确凿证据表明它实际上被用来跟踪用户,”德州农工大学计算机科学与工程教授、全球网络研究所副主任 Nitesh Saxena 博士说。“我们的工作有助于填补这一空白。”

当您访问网站时,您的浏览器会共享大量信息,如屏幕分辨率、时区、设备型号等。当这些细节结合在一起时,就创建了一个通常对您的浏览器唯一的“指纹”。与用户可以删除或阻止的 cookies 不同,指纹技术更难以检测或阻止。大多数用户并不知道这种情况正在发生,即使是注重隐私的浏览器也难以完全阻止它。

“想象一下,这是一个您不知道自己留下的数字签名,”Saxena 实验室的前博士生、共同作者 Zengrui Liu 解释说。“您可能看起来是匿名的,但您的设备或浏览器暴露了您。”

这项研究标志着计算机科学家对浏览器指纹技术在现实世界中使用的理解的转折点,将其与广告使用联系起来。

“虽然之前的研究表明浏览器指纹技术及其在不同网站上的使用,但我们的研究是第一个将浏览器指纹和广告行为相关联的,本质上建立了网络跟踪和指纹技术之间的关系,”共同作者、约翰霍普金斯大学计算机科学副教授、信息安全研究所技术总监 Yinzhi Cao 博士说。

为了调查网站是否使用指纹数据跟踪人们,研究人员不得不超越仅仅扫描网站上指纹代码的存在。他们开发了一个名为 FPTrace 的测量框架,通过分析广告系统对浏览器指纹变化的反应来评估基于指纹的用户跟踪。这种方法基于这样一个洞见:如果浏览器指纹技术影响跟踪,改变指纹应该会影响广告商出价——即基于查看网站的人的个人资料实时出售广告空间——以及 HTTP 记录——服务器和浏览器之间的通信记录。

“这种分析让我们能够超越表面,”Saxena 的博士生、共同作者 Jimmy Dani 说。“我们不仅能够检测到指纹技术的存在,还能证明它是否被用来识别和针对用户——这更难证明。”

研究人员发现,即使用户清除或删除 cookies,跟踪也会发生。结果显示,当指纹变化时,出价价值有显著差异,HTTP 记录和同步事件减少,表明对定位和跟踪有影响。

此外,这些网站中的一些将指纹行为链接到后端出价流程——这意味着基于指纹的个人资料正在实时使用,可能用于定制对用户的响应或将标识符传递给第三方。

更令人担忧的是,研究人员发现,即使用户明确选择退出隐私法规(如欧洲通用数据保护条例(GDPR)和加利福尼亚消费者隐私法案(CCPA))下的跟踪,也可能通过浏览器指纹技术在网络上被默默跟踪。

基于这项研究的结果,研究人员认为当前的隐私工具和政策做得不够。他们呼吁浏览器中更强的防御措施和对指纹实践的新监管关注。他们希望他们的 FPTrace 框架可以帮助监管机构审计参与此类活动的站点和提供商,特别是未经用户同意的情况下。

这项研究是与约翰霍普金斯大学合作进行的,并在 2025 年的 ACM 网络会议(WWW)上展示。

这项研究的资金由德州农工工程实验站(TEES)管理,这是德州农工工程的官方研究机构。


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

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

  • 浏览器指纹的持久性不长,几天就会变化,尤其是基于窗口大小或软件版本的指纹。
  • 大型广告网络更多依赖地理位置数据进行广告投放。
  • FPTrace 框架用于评估基于浏览器指纹的用户跟踪。
  • 广告网络可能根据设备设置而非单独的指纹进行广告分段。
  • 浏览器指纹技术的有效性被低估,许多信息不会快速变化。
  • 浏览器指纹对于建立长期用户行为档案不够有效,因为用户行为可能随环境变化。
  • 即使没有登录,也能通过浏览器指纹和行为识别用户。
  • 某些浏览器指纹特征如 Linux 用户代理和 Canvas 可能影响唯一性。
  • “NVIDIA Corporation"作为 WebGL 供应商的低百分比可能是因为大多数浏览器使用 ANGLE。
  • 移动设备用户多,集成 GPU 如 Intel 或 AMD 占多数,NVIDIA GPU 较为罕见。
  • 浏览器指纹需要结合多个变量才能有效识别用户。
  • 许多 JavaScript 属性与浏览器或版本直接相关,不会改变。
  • 地理位置相关的属性除非伪装,否则揭示的信息很少。
  • 设备相关的属性对于识别使用相同设备和操作系统的用户很有价值。

Bento: A Steam Deck in a Keyboard #

https://github.com/lunchbox-computer/bento

Bento 是一个电脑项目,其设计灵感来源于便当盒的外观,同时受到 Commodore 64 和 Reddit 上 r/cyberdeck 板块的许多作品的影响。Bento 可以完美地放置在键盘下,键盘作为盖子,方便用户访问内部组件,并提供了一个用于存放各种小型外设的隔间。Bento 没有内置显示屏,而是需要与外部显示器配合使用,特别是空间显示设备如 XREAL One,但也适用于任何带有 USB-C 接口的外部显示器。这样做的目的是为了消除冗余,因为内置显示屏在用户越来越多地使用 XREAL 时变得多余,增加了重量。Bento 去除了所有非必需的部分,减轻了重量,提高了便携性。

Bento 的这一版本由 Steam Deck OLED 的主板驱动,使用相同的冷却器和电池。选择这块主板是因为它是最薄且最强大的选择,但它也可以轻松适配其他更易获得的单板计算机(SBC)。建造 Bento 的初衷主要是出于对 XR 领域主导厂商的不满,他们将自己的硬件宣传为“电脑”,但实际上更像是戴在脸上的 iPad。这些设备超重且功能受限,如果用户想要进行真正的工作,最好的选择是从真正的电脑上镜像屏幕,这也是除了游戏之外最受欢迎的用例之一。因此,作者提出了创建一个专为空间显示而设计的空间电脑的想法,这就是 Bento。

在这个仓库中,用户可以找到 Bento 的所有 STEP、3MF 和 STL 文件,以及一些外设,如 Magic Trackpad 托盘。作者希望继续这个项目,但由于个人能力有限,所以开源了这个项目,希望社区能够提供帮助。作者目前正在开发一个带有类似 Switch 2 的安装系统的专业版本,以支持模块化。以下是一些需要社区帮助的事项:支持其他键盘、Raspberry Pi 5 版本(需要找到合适的电池解决方案)、框架版本(可能需要更大的基础键盘,并且可能会取消物理存储)、支持其他 SBC 以及外设(作者有一些游戏手柄和鼠标的设计草图,可以完美地放入隔间,但愿意让位给有电路板设计技能的人)。

如果有人决定创建自己的版本,作者请求他们将成果以 PR(Pull Request)的形式回馈到这个仓库,以便其他人也能从你的工作中受益。Bento 项目的话题包括 cad、3d-printing、xr、spatial-computing、xreal 和 steam-deck。项目遵循 CC-BY-4.0 许可证。


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

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

  • 该项目是一个将 Steam Deck OLED 的主板、散热器和电池集成到一个可以完美放置在苹果 Magic 键盘下方的电脑中,没有显示屏,而是选择使用 XR 显示眼镜。
  • 开发者将 CAD 文件开源,希望建立一个更好的版本,并分享了项目的起源故事。
  • 有人建议将项目的前几句话放入项目的 readme.md 文件中,因为很多人不知道“空间显示”或 XREAL 是什么。
  • 有人提出可以将外壳本身设计成触控板。
  • 有人提到 XREAL 眼镜对于工作来说是足够的,只要不涉及视频通话。
  • 有人询问长时间使用 XREAL 眼镜是否会导致视力疲劳或不适。
  • 有人提到 Xreal One Pros 比 Air 眼镜更清晰,可以整天工作。
  • 有人提到 XREAL 眼镜的视场角(FOV)可能是一个问题。
  • 有人提到有处方镜片可以适配 XREAL 眼镜,包括散光和屈光不正。
  • 有人提到看到有人因为每天使用 XREAL 眼镜而视力下降,但停止使用后有所恢复。
  • 有人询问 Ubuntu 24 与 Steam OS 相比是否有特定的问题,如电池消耗、性能或稳定性问题。
  • 有人感谢分享文件和经验,并询问在哪里可以找到 Steam Deck 的主板。
  • 有人对基于 Radxa Rock 5B 的版本表示兴趣,因为它更易于获取且性能更强。
  • 有人表示喜欢这种 Commodore 64 风格的键盘电脑,并认为这种形式既适合与 XR 眼镜一起便携使用,也适合在家中与 USB-C 底座一起使用。
  • 有人提到了基于 Framework 的版本,并分享了相关链接和信息。

SpaceX Starship 36 Anomaly #

https://twitter.com/NASASpaceflight/status/1935548909805601020

NASASpaceflight.com 在 X 社交平台上发布了一条紧急消息,称在 SpaceX 的马赛市工厂,编号为 36 的飞船在即将进行静态点火测试前发生了爆炸。这一突发事件引起了广泛关注,因为飞船 36 的静态点火测试是其发射前的重要步骤,爆炸的发生无疑会对整个发射计划造成影响。


HN 热度 269 points | 评论 474 comments | 作者:Ankaios | 19 hours ago #

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

  • SpaceX 近期的困难可能部分是因为人们对其使命的热情减退。
  • 可能不是热情减退,而是失去了对使命有热情的人。
  • 员工可能因为马斯克的高要求而筋疲力尽,导致项目出现问题。
  • 员工士气在企业中被低估,但对公司表现有显著影响。
  • 亚马逊尽管员工流失率高,但公司表现依然出色,说明公司成功和员工士气并非总是正相关。
  • 产品质量和盈利能力之间存在脱节,但最终会趋于一致。
  • 股价上涨能让持股员工感到高兴,但士气对不同公司的影响程度不同。
  • 马斯克的成功部分源于他能够激发自己和员工的“锁定”现象,即全力以赴的状态。
  • SpaceX 设定的期望过高,导致失败时更受关注。
  • Starship 的任务难度远超 Falcon 9,因此面临更多挑战。
  • 仍然有人出于职业精神和技能提升的愿望而努力工作,不完全受公司愿景影响。
  • 马斯克的政治行为可能让一些人离开 SpaceX,他快速决策的能力对组织至关重要。

TI to invest $60B to manufacture foundational semiconductors in the U.S. #

https://www.ti.com/about-ti/newsroom/news-releases/2025/texas-instruments-plans-to-invest-more-than–60-billion-to-manufacture-billions-of-foundational-semiconductors-in-the-us.html

德州仪器计划在美国投资超过 600 亿美元制造数十亿基础半导体 领先的美国公司苹果、福特、美敦力、英伟达和 SpaceX 加强与德州仪器的合作,释放美国创新的下一个时代 2025 年 6 月 18 日

新闻亮点:

  • 超过 600 亿美元的投资包括在美国德克萨斯州和犹他州的三个制造大区建设七个半导体制造厂,支持超过 60,000 个新的美国工作岗位。
  • 这是美国历史上最大的基础半导体制造投资,建立在德州仪器近 100 年的传承之上。
  • 德州仪器在德克萨斯州谢尔曼的最大制造大区包括高达 400 亿美元的投资,用于四个制造厂:SM1 和 SM2——已经开始——以及两个额外的制造厂,SM3 和 SM4。
  • 利用德州仪器作为全球技术和制造领导者的优势,推进从汽车到智能手机再到数据中心的关键创新。

德州仪器(TI)今天宣布计划在美国七个半导体制造厂投资超过 600 亿美元,这成为美国历史上最大的基础半导体制造投资。与特朗普政府合作,并建立在公司近 100 年的传统之上,TI 正在扩大其在美国的制造能力,以满足对半导体的日益增长的需求,这些半导体将推进从汽车到智能手机再到数据中心的关键创新。德州仪器在德克萨斯州和犹他州的新制造大区将共同支持超过 60,000 个美国工作岗位。

“TI 正在建立可靠、低成本的 300 毫米产能规模,以交付对几乎所有电子系统至关重要的模拟和嵌入式处理芯片,”德州仪器总裁兼首席执行官 Haviv Ilan 表示。“领先的美国公司如苹果、福特、美敦力、英伟达和 SpaceX 依赖于 TI 的世界级技术和制造专长,我们很荣幸能与他们以及美国政府合作,释放美国创新的下一个时代。”

“近一个世纪以来,德州仪器一直是推动技术和制造创新的基石美国公司,”美国商务部长 Howard Lutnick 表示。“特朗普总统已将增加美国的半导体制造——包括这些进入人们每天使用的电子产品的基础半导体——作为优先事项。我们与 TI 的合作将支持美国的芯片制造数十年。”

释放美国创新的下一个时代 今天,TI 是美国最大的基础半导体制造商,生产对智能手机、汽车、数据中心、卫星和几乎所有其他电子设备至关重要的模拟和嵌入式处理芯片。为了满足对这些基本芯片的稳步增长的需求,TI 正在建立其技术领导力的传统,并扩大其在美国的制造业务,帮助其客户开创技术突破的新浪潮。

与苹果一起点燃智能 “德州仪器的美国制造芯片帮助苹果产品焕发生机,我们将一起继续创造机会,推动创新,并投资于美国先进制造业的未来,”苹果公司首席执行官蒂姆·库克表示。

与福特一起推动未来 福特和 TI 正在努力加强美国的制造业,结合福特的汽车专业知识和 TI 的半导体技术,帮助推动创新并确保未来移动性的稳健国内供应链。“在美国销售的福特汽车中有 80% 是在美国组装的,我们为像 TI 这样的技术领导者继续在美国投资制造感到自豪,”福特汽车公司总裁兼首席执行官吉姆·法利表示。

与美敦力连接患者护理 美敦力和 TI 正在合作,在最重要的时刻改善生活。“在美敦力,我们依赖半导体来提供精确、性能和大规模创新的救生医疗技术,”美敦力董事长兼首席执行官杰夫·玛莎表示。“德州仪器一直是一个重要的合作伙伴——特别是在全球芯片短缺期间——帮助我们保持供应链的连续性,并加速突破性疗法的发展。我们很自豪能够利用 TI 在美国制造的半导体,因为我们致力于改变医疗保健并改善全球患者的结果。”

与英伟达一起推进人工智能 英伟达正在与 TI 合作,释放下一代人工智能架构。“英伟达和 TI 共享在美国制造基础设施以振兴美国制造业的目标,”英伟达创始人兼首席执行官黄仁勋表示。“我们期待继续与 TI 合作,为先进的 AI 基础设施开发产品。”

与 SpaceX 一起确保高速卫星互联网 SpaceX 越来越多地利用 TI 的高速处理技术,将其 Starlink 卫星互联网服务与 TI 在德克萨斯州谢尔曼制造的最新 300 毫米 SiGe 技术连接起来。“我们的基本任务是彻底改变全球连通性并消除数字鸿沟。这个任务的核心是不断推动可能性的边界,”SpaceX 总裁兼首席运营官格温妮·肖特韦尔表示。“SpaceX 每天在美国制造数万个 Starlink 套件——全部在这里——我们正在对 PCB 制造和硅封装进行巨大投资,以进一步扩大。TI 的美国制造半导体对我们来说至关重要,它们确保了我们产品的美国供应链,它们的先进硅制造能力提供了满足全球对高速互联网日益增长需求所需的性能和可靠性。”


HN 热度 268 points | 评论 141 comments | 作者:TMWNN | 22 hours ago #

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

  • Texas Instruments 投资巨额资金在美国制造基础半导体,有人怀疑其财务可行性
  • 有人质疑此类投资是否仅为营销噱头,实际并不会兑现
  • 有人提到政府宣布的投资项目往往没有后续,资金可能会被行政成本消耗
  • 有人反驳称已经看到一些基础设施项目因政府投资而得以实施
  • 有人指出,一些资金尚未花费,许多项目仍在审批过程中
  • 有人讽刺地提出,如果每年建一个数据中心,500 亿美元的投资需要很长时间
  • 有人澄清,500 亿美元的投资是由私营企业进行,与政府支出无关
  • 有人指出,这种将现有项目重新包装为新宣布的做法是一种政治手段
  • 有人通过公司对联邦政府的称呼来判断政治广告的真实性

The Missing 11th of the Month (2015) #

https://drhagen.com/blog/the-missing-11th-of-the-month/

这篇文章由 David R Hagen 撰写,发表于 2015 年 12 月 29 日,探讨了为什么在 Google Ngrams 数据库中,大多数月份的 11 日被提及的频率异常低。文章起始于对 2012 年 Randall Munroe 发布的 xkcd 漫画的讨论,该漫画以日历形式展示了每个日期的大小与其在 Google Ngrams 数据库中被提及的频率成正比。作者注意到,除了 9 月 11 日之外,大多数月份的 11 日似乎异常小。为了验证这一点,作者分析了 Ngrams 数据库中的数据,该数据库记录了自 1800 年以来每年书籍中提及特定日期的次数,并进行了标准化处理。

作者首先确认了 11 日的异常性,通过比较实际数字而非文本大小来验证这一点。他提取了每年每个月的日期提及次数,并计算了每个月中每个日期的中位数,以避免像 7 月 4 日这样的异常值影响结果。分析结果显示,11 日的出现频率显著低于其他日期(p 值 <0.05),且没有明显的解释。

文章进一步探讨了这一现象的历史趋势,发现自 1800 年以来,11 日的提及频率就一直低于平均水平。特别是在 1860 年代,11 日与其他普通日期的差距迅速扩大,直到 20 世纪初,11 日的提及频率大约只有预期的一半。尽管在 20 世纪下半叶这一差距有所缩小,但仍然存在。

作者还注意到,除了 11 日之外,还有四个日期(2 日、3 日、22 日和 23 日)的提及频率也异常低。这些日期在 1800 年至 1890 年间甚至比 11 日还要低,但从 1900 年开始,它们的差距开始缩小,直到 1930 年代完全消失。作者将这些日期的异常情况留待将来探讨,而专注于 11 日。

文章接着揭示了造成 11 日提及频率低的原因是印刷字体中的数字“1”与大写字母“I”或小写字母“l”或“i”相似,导致 Google 的算法在读取页面时将 11 日误读为其他词汇。作者通过搜索诸如“March llth”、“July IIth”、“May iith”等无意义的短语,发现有五种可能的组合(IIth、Ilth、iith、lith、llth)至少在一个月的数据库中可以找到。作者将这些错误统称为“xxth”,并将这些错误读回的实例加回到 11 日的计数中,发现在 1860 年代之前,11 日与其他日期的差距被消除。1860 年代之后,大约四分之一到三分之一的差距被消除。

文章进一步探讨了 1860 年代开始的另一个错误——Google 算法将 11 日误读为“nth”。作者将“nth”的错误读回加回到 11 日的计数中,发现这一错误几乎解释了所有缺失的 11 日。当将“xxth”和“nth”的错误读回都加回到 11 日时,整个时间线上的差距消失,11 日看起来像是一个普通的月份日。

最后,作者探讨了为什么 11 日的误读率不均匀,以及为什么在 1860 年代错误率急剧上升。作者推测这可能与 1860 年代发明的一种特殊设备——打字机有关。最早的打字机没有数字 1 的单独键,打字员被期望使用小写字母“l”来表示 1。随着打字机的普及,即使是印刷材料的字体也开始反映这种预期。作者通过比较 1850 年和 1920 年的字体,说明了 1 和 l 在字体中的相似性,这种相似性可能导致了 11 日的误读率上升。


HN 热度 207 points | 评论 34 comments | 作者:xk3 | 1 day ago #

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

  • 有趣的文章,值得一读,并且建议查看关于 2 日、3 日、22 日和 23 日的第二篇文章。
  • 怀疑异常值是正确的原则,因为它们可能不是真实的,会误导真实数据。
  • 怀疑 Twyman 定律:“任何看起来有趣或不同的数字通常是错误的。”
  • 应该意识到黑天鹅理论,即不可预测的异常事件。
  • 数据来源的调查是有用的,也是重要的。
  • 建议在科学期刊投稿时不要随意移除异常值,除非先检查它们存在的原因。
  • Twyman 定律并不是说要忽略异常值,只是预测它们更可能是错误而非真实。
  • 使用奥运会评分方式,去掉最高和最低分数以排除极端评分的影响。
  • 博客迁移到 GitHub Pages 后,不再担心流量问题。
  • 数据质量问题可能因为未考虑上下文相关的字形等价性。
  • 11 日的缺失可能因为扫描器错误,例如将“l2”更正为“12”,但“ll”没有更正为“11”。
  • 2 日、3 日、22 日和 23 日的缺失是因为人们过去有时会写成 2d、3d、22d、23d。
  • 阅读这篇文章非常有趣。
  • 简而言之,这是 OCR 错误。
  • 有时候,不是所有的“1”都会变得像“l”,特别是在打字机上。
  • 打字机上没有“1”键,需要用小写字母“l”代替。
  • 在英国,过去用“L”和退格键以及“=”键来打“£”。
  • GNU groff 在“ascii”模式下使用减号代替等号来制作英镑符号。
  • 打字机世界有一些特殊性,例如压力使得最小的物理键数量能够组成最大的字符范围。
  • Markdown 可以不依赖过击来写项目符号和下划线。

End of 10: Upgrade your old Windows 10 computer to Linux #

https://endof10.org/

Windows 10 的支持将在 2025 年 10 月 14 日结束。微软希望您购买新电脑。但如果您的电脑购买于 2010 年之后,那么您其实没有必要更换它。通过安装最新的 Linux 操作系统,您可以继续使用多年。安装操作系统听起来可能很困难,但您不必独自完成。幸运的是,您所在地区的人们可能愿意提供帮助!

找人帮助您安装 Linux → 自行安装 Linux → 您愿意帮助他人在 Windows 10 之后继续使用他们的电脑吗?注册成为维修集体 →

升级旧电脑到 Linux 的 5 个理由:

  1. 无需新硬件,无需授权费用:新笔记本电脑价格昂贵,但许多 Linux 操作系统可以免费获得。软件更新也是永久免费的。当然,您可以通过捐赠来表示您的支持!
  2. 增强隐私:Windows 带有大量广告和间谍软件。这会减慢您的电脑速度,让公司监视您,并增加您的能源费用。
  3. 对地球有益:生产一台电脑占其生命周期内碳排放的 75% 以上。延长功能设备的使用寿命是减少排放的有效方式。使用 Linux 操作系统,您可以更长时间地使用您的设备。
  4. 社区和专业支持:有当地的维修咖啡馆和独立的专业服务以及电脑商店可以为您提供帮助。您也可以在在线论坛中找到支持。
  5. 更好的用户控制:Linux 赋予您软件的四个自由。您可以自由使用、研究、分享和改进程序,只要您愿意。您控制您的设备。

支持者:这些组织加入了我们支持这一运动。

**信服了吗?**那么找到您最近的维修咖啡馆或独立电脑商店,享受您的全新旧电脑吧!

修理您的旧电脑 →

地点 事件 DIY 安装 媒体 团队 添加地点或事件 贡献 网站源代码

End of 10 网站内容在 CC BY 4.0 下授权

感谢 KDE 通过托管网站和提供基础设施支持此项目。您可以联系 KDE 网络管理员(公共邮件列表)或查看隐私政策和法律声明以获取更多信息。

语言:加泰罗尼亚语、捷克语、丹麦语、德语、西班牙语、法语、意大利语、匈牙利语、荷兰语、挪威语、乌兹别克语、波兰语、葡萄牙语、斯洛文尼亚语、芬兰语、瑞典语、土耳其语、俄语、乌克兰语、希伯来语、阿拉伯语、波斯语、泰语、韩语、日语、繁体中文、简体中文。


HN 热度 205 points | 评论 185 comments | 作者:doener | 10 hours ago #

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

  • 将 Windows 用户转换到 Linux 的一个用户体验问题是 USB 启动盘制作过程和需要外部工具如 Rufus。
  • 提出 Ubuntu 可以提供一个 Windows 应用程序来处理下载 ISO、格式化 U 盘、默认双启动安装 Ubuntu,并清晰解释每个步骤。
  • 有人提出不需要外部介质,可以直接在现有分区上创建新的 Linux 恢复分区或在 Windows 上通过 VM 安装 Linux。
  • Wubi 可以在 Windows 上运行并将 Ubuntu 安装到文件中,这种模式以前更常见。
  • 有人提出 Linux 发行版提供商可能缺乏资源或对 Windows 编程的热情来制作和维护 Windows .exe 安装程序。
  • 有人提出可以用 PowerShell 命令组合来制作 liveusb,但需要一个工具来避免写错驱动器。
  • 有人提到 Rufus 可以下载必要的 ISO 文件,所以过程并不那么复杂。
  • 有人认为如果用户觉得安装过程太复杂,他们可能也无法自己安装 Linux 或 Windows,并可能在后续遇到其他问题。
  • 有人提到 Windows PowerShell 没有直接的命令来完成特定的操作。
  • 有人分享了安装 Ubuntu 导致三星笔记本电脑变砖的经历。
  • 有人认为一些有缺陷的 UEFI 在清除或写入错误的 efivars 时可能会导致电脑变砖。
  • 提出 Ubuntu 应该提供一个 Windows 应用程序来处理一切,类似于 15-20 年前 Canonical 提供的工具。
  • 建议避免让用户自己进入 BIOS/EFI 更改启动顺序,可以使用 Windows API 操作 EFI。
  • 建议用更现代的启动管理器如 rEFInd 或 Clover 替换 GRUB,以改善用户体验。
  • 有人提出不需要 GRUB,可以直接将 Linux 内核和启动参数打包成一个可启动的.efi 文件。
  • rEFInd 基本上就是上述提到的解决方案。
  • 有人提出可以再次使用像 Wubi 这样的工具。
  • 有人怀念 Wubi,认为它当时是一个游戏规则改变者。
  • Ubuntu 和 Linux Mint 现在推荐使用比 Rufus 更易用的 balenaEtcher。
  • 有人提到使用 balenaEtcher 可能会导致 USB-SD 卡损坏。
  • 有人提出修复损坏的驱动器的方法,即清除启动扇区。
  • 有人担心普通用户可能会点击错误的链接,感染 Windows 机器并放弃安装。
  • 有人提出 Ubuntu 应该提供一个像 Windows 那样的下载媒体制作工具,将 dd 命令与图形界面结合。

2025 06 19 HackerNews

2025-06-19 07:36:13

2025-06-19 Hacker News Top Stories #

  1. 《大脑袋开发者》通过幽默自嘲方式,主张用80/20法则简化代码、避免过早抽象,并提出“中间测试”比单元测试更实用。
  2. 作者意外复活失效的torrent追踪器后发现310万对等体,揭示中心化风险与法律隐患,最终因信用卡支付域名选择关闭服务。
  3. 开源健身平台Workout.cool以MIT许可证复兴废弃项目,支持本地部署,但部分用户报告加载错误,原作者呼吁合作。
  4. Anthropic建议构建AI代理时优先使用基础LLM API和简单模式,强调理解底层代码并避免在简单场景中过度依赖框架。
  5. Scrappy允许用户通过拖拽对象和少量JavaScript快速制作个人应用,主张回归直接操作而非AI代码生成。
  6. 伊朗指控WhatsApp泄露用户信息并要求删除该软件,但Meta强调端到端加密,专家指出元数据仍存风险。
  7. 纽约市审计长Brad Lander因在移民法庭外陪同被ICE拘留者引发争议,联邦指控缺乏证据,事件被指标题误导。
  8. Rust重写的bzip2库实现压缩解压速度提升5-15%,消除C语言编译复杂性,或成Linux官方实现替代方案。
  9. MiniMax-M1开放权重模型参数达4560亿,支持100万token上下文,运行需多H200 GPU,量化后成本可降至1万美元内。
  10. 文章类比Google翻译与编程领域,指出LLMs虽能处理代码结构,但难以应对文化语境和抽象隐喻,需经历“AI寒冬”突破局限。

The Grug Brained Developer (2022) #

https://grugbrain.dev/

《Grug Brained Developer》是一本关于软件开发的幽默指南,由自称为“小脑瓜”的开发者 Grug 撰写。Grug 虽然不认为自己很聪明,但多年的编程经验让他学到了一些宝贵的教训。这本书旨在以轻松幽默的方式,为年轻的开发者提供易于消化的知识和建议,同时也帮助 Grug 自己记住那些重要的事项,比如早餐吃了什么或者是否穿了裤子。

书中首先讨论了软件开发中永恒的敌人——复杂性。Grug 将复杂性比作一个恶魔,它悄悄地潜入代码库,使得原本清晰的工作变得混乱和危险。Grug 认为,对抗复杂性的最好武器是学会说“不”,即拒绝那些不必要的功能和抽象,以保持代码的简洁。虽然这可能不利于职业发展,因为“是”是获得更多奖励和领导地位的魔法词,但 Grug 坚持认为“不”是他的魔法词。

有时候,妥协是必要的,特别是当没有足够的资源时。在这种情况下,Grug 建议使用“好吧”这个词,并寻找 80/20 的解决方案,即用 20% 的代码实现 80% 的功能。这样的解决方案可能不够完美,但足以满足大部分需求,同时避免复杂性的恶魔。

书中还讨论了代码的分解(或称为“因素分解”)。Grug 认为,不应该过早地分解应用程序,因为项目初期一切都是抽象的,很难把握。他建议先让系统“成形”,然后再寻找合适的分解点。一个好的分解点应该与系统的其他部分有狭窄的接口,能够隐藏内部的复杂性。

Grug 还提到了测试的重要性。虽然他尊重测试,但他对一些测试实践持怀疑态度,比如在编写代码之前就要求编写测试。他更喜欢在原型阶段之后编写测试,当代码开始稳定时。Grug 强调,这时候必须非常自律,不能因为“在我的机器上工作”就不写测试,因为这样的代码没有保证在其他机器或未来也能工作。

最后,Grug 认为理想的测试既不是单元测试也不是端到端测试,而是介于两者之间的测试。单元测试虽然有用,但随着实现的变化容易破裂,使得重构变得困难。端到端测试虽然能展示整个系统的运作,但当它们失败时很难理解原因,有时开发者会选择忽略它们。Grug 建议,测试应该在项目初期帮助启动项目,但不要期望它们能长期提供价值。


HN 热度 1010 points | 评论 496 comments | 作者:smartmic | 1 day ago #

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

  • 在小公司和大型科技公司中,很多人仍然使用打印语句进行调试,而不是使用调试器。
  • 学习使用调试器是一项小超能力,可以更容易地理解系统。
  • 一些经验丰富的程序员倾向于使用打印语句和自我检查代码,而不是调试器。
  • 调试器在对问题领域理解不足时最有用,而打印调试在对代码非常了解时更有用。
  • 游戏开发与 Web 开发在调试上有所不同,游戏开发更依赖于调试器,而 Web 开发由于其分布式特性,更适合使用日志。
  • 理解两种调试方法,并在适当的情况下大胆使用它们。
  • 即使在复杂的 AAA 游戏中,如果代码是自己写的,通常不需要使用调试器。
  • AAA 游戏不可能由一个人从头开始编写。
  • 在复杂、长期存在的可变状态、精确的内存管理和视觉渲染领域,调试器可能更有帮助。
  • 分布式环境也可以使用调试器,尽管需要一些额外的设置。

Resurrecting a dead torrent tracker and finding 3M peers #

https://kianbradley.com/2025/06/15/resurrecting-a-dead-tracker.html

Kian Bradley 在他的博客中分享了他复活一个已经死亡的 torrent 追踪器并发现 300 万对等体的经历。他开始时下载 Linux ISO 文件,但速度很慢,于是检查了 qBittorrent 中的追踪器标签页,发现大多数追踪器已经失效。这让他思考,如果接管这些失效的域名,会有多少客户端尝试连接?

他解释说,追踪器是 BitTorrent 协议的核心组件,它们指向其他对等体以共享 torrent 文件。没有追踪器,就没有人可以共享文件,这代表了 torrent 协议的一个主要中心化来源。如果追踪器不被维护或被迫下线,用户就会遇到问题。尽管有 Mainline DHT 这种更去中心化的对等体查找替代方案,但它并不完美,依赖于引导节点,容易受到 Sybil 攻击,并且在他的例子中,DHT 并没有找到任何对等体。

Kian 在检查标记为“主机未找到”的追踪器列表时,注意到 udp://open.demonii.si:1337/announce 域名可用。他通过 Dynadot 购买了域名,并启动了一个匿名 VPS。他将域名映射到 VPS,并设置了 opentracker,这是最广泛使用和健壮的 torrent 追踪器软件。他提供了在 Ubuntu 24.04 上安装和配置 opentracker 的详细步骤。

在启动 opentracker 之前,Kian 就看到了 UDP 端口 1337 上的大量流量。启动追踪器后,大约一个小时,它达到了约 170 万不同的 torrent 和 310 万对等体的高峰。他还提供了一个链接到 http://open.demonii.si:1337/stats?mode=everything,显示了详细的统计数据。

关于合法性,Kian 提到,当录音行业和其他诉讼组织追查 torrent 追踪器时,他们主要针对系统的公共部分。像海盗湾这样的网站的法律判决取决于它们如何突出流行电影、销售广告和提供.torrent 文件,这被视为诱导证据,即故意促进版权侵犯。他质疑,未经广告宣传地托管追踪器基础设施是否构成“诱导”?这是一个更难证明的案例。他意识到许多 torrent,无论是免费提供的还是受版权保护的,都使用这个追踪器。但他很快意识到自己已经犯了错误,因为他用信用卡支付了域名。在确认它有效后,他迅速关闭了 VPS 并删除了域名。

最后,Kian 提到这个域名现在又可用了,很容易找到像这样的未认领域名。如果你想为公众服务,open.demonii.si 等域名可以注册。


HN 热度 624 points | 评论 195 comments | 作者:k-ian | 1 day ago #

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

  • 运行一个追踪器本身并不违法,关键在于如何处理合法的取缔请求和周围的基础设施
  • 即使合法,也可能因为被起诉而遭受骚扰,诉讼费用高昂,对普通人不利
  • 理论上可以起诉,但实际上诉讼费用昂贵,尤其是律师费用
  • 即使赢了官司,也可能因为诉讼过程而遭受损失,因此最好避免诉讼
  • 政府或有权势的人可以通过无尽的法律程序来惩罚你,即使他们知道会输
  • 没有技术上的限制可以同时对一个人提起多少诉讼,但美国有反 SLAPP 法规
  • 发送停止和终止信可能比诉讼更有效,因为许多黑客会迅速采取行动
  • 版权法的寒蝉效应使得人们不敢从事完全合法的活动
  • 媒体行业可能会因为声称的损失而获得巨额罚款,导致托管服务提供商不愿为客户辩护
  • 公司可能会先尝试发送强硬的信件,以节省直接上法庭的费用
  • 即使不宣布出去,也可能收到取缔通知,但诉讼需要声称损害
  • 唱片业协会不需要诉讼就可以通过合法的律师信件使对方生活痛苦
  • 将骚扰者告上小额索赔法庭可能是一个有效的策略,因为对他们来说成本更高
  • 大多数情况下,人们不会采取行动,即使理论上可以
  • 唱片业协会不会采取可能导致他们风险的行动,因此他们避免这种骚扰
  • 寒蝉效应可以压制完全合法的言论,即使只是收到取缔通知也可能不采取行动

Show HN: Workout.cool – Open-source fitness coaching platform #

https://github.com/Snouzy/workout-cool

workout.cool 是一个全面的健身教练平台,允许用户创建锻炼计划、跟踪进度,并访问包含详细指导和视频演示的庞大练习数据库。

项目起源与动机: 该项目源于个人使命,旨在复兴并改进之前的健身平台。作为原始 workout.lol 项目的主力贡献者,作者见证了其旅程和被遗弃的过程。

workout.cool 背后的故事:

  • 原始贡献者:作者曾是 workout.lol 的主要贡献者。
  • 商业挑战:原始项目在建立练习视频合作伙伴关系时面临重大障碍,未能找到可靠的视频提供商。
  • 项目出售:由于这些合作伙伴问题,项目被出售给另一方。
  • 遗弃:新所有者很快意识到练习视频许可成本过高,开始生病并放弃了整个项目。
  • 复兴尝试:在过去的 9 个月里,作者一直在尝试与新的利益相关者重新联系。
  • 无回应:尽管尝试了 15 次,但没有收到任何回应。
  • 新的开始:作者决定创建一个全新的、现代化的实现,而不是让这项有价值的工作消失。

为什么 workout.cool 存在: 有人必须站出来。开源健身社区应该得到比破碎承诺和被遗弃的平台更好的待遇。作者不是为了利润而建立这个平台。这不仅仅是复兴,而是一种进化。workout.cool 代表了原始项目本可以成为的一切,具有可靠性、现代方法和健身开源社区应得的维护。

从社区中来,为社区服务: 作者不仅是开发者,还是一个用户,他拒绝让我们的社区失望。作者亲身经历了看着心爱的工具慢慢消失的挫败感。像你们中的许多人一样,作者有保存的锻炼、跟踪的进度和围绕平台建立的例程。作者的使命是拯救和复兴。如果你是原始 workout.lol 社区的一部分,欢迎回来!如果你是新来的,欢迎来到健身平台管理的未来。

快速开始:

  • 先决条件:Node.js 18+,Docker 或 PostgreSQL 外部数据库,pnpm。
  • 项目页面还提供了关于如何开始使用该项目的指南,包括安装依赖、设置数据库、运行开发服务器等步骤。

项目架构、路线图、贡献、部署和资源: 页面还包含了项目的架构、未来的发展路线图、如何为项目做出贡献、部署指南以及相关资源的链接。

许可和赞助: workout.cool 项目采用 MIT 许可证,并提供了赞助该项目的选项,以支持其发展。

贡献者: 页面最后列出了对该项目做出贡献的人员名单。


HN 热度 519 points | 评论 163 comments | 作者:surgomat | 11 hours ago #

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

  • 原作者 Vincenius 看到项目被重新维护感到高兴,并赞扬了 UI 的改进。
  • surgomat 表示愿意与原作者 Vincenius 合作,欢迎他的回归。
  • gnarlouse 认为 Workout.cool 可以集成到他的自动日历调度 API 中,用于规划生活和饮食。
  • repeekad 猜测可能是行业内部人士购买 workout.lol 以阻止免费替代品流行,并担心 Workout.cool 的未来。
  • koakuma-chan 认为帖子内容是 AI 生成的,并且点击继续时不工作。
  • surgomat 解释说服务器可能因为 HN 的高流量而无法处理,建议克隆仓库并自行运行。
  • xeromal 对整个讨论表示轻蔑。
  • minimalist 提到了 wger 项目和 body.build 项目,认为它们是 FLOSS AGPL 许可的自托管健身/锻炼/营养管理器。
  • Kovah 尝试了 Wget 但因为用户体验差和移动应用问题而放弃,现在使用 LiftLog。
  • riedel、gonzalohm、ElijahLynn 和 lucasverra 报告了“加载练习错误”。
  • toyetic 认为 Workout.cool 适合初学者,并建议开发移动应用和保存特定锻炼作为长期跟踪的例程。
  • gavmor 建议增加在不同用户界面之间导出和共享数据的功能。

Building Effective AI Agents #

https://www.anthropic.com/engineering/building-effective-agents

这篇文章由 Anthropic 于 2024 年 12 月 19 日发布,讨论了在不同行业中构建大型语言模型(LLM)代理的成功实践。文章指出,成功的实施往往不是依赖复杂的框架或专用库,而是使用简单、可组合的模式。文章分享了与客户合作和自身构建代理的经验,并为开发者提供了构建有效代理的实用建议。

什么是代理? 代理可以有多种定义。一些客户将代理视为完全自主的系统,它们可以独立运行较长时间,并使用各种工具完成复杂任务。其他人则用这个术语来描述更规范的实现,这些实现遵循预定义的工作流程。Anthropic 将所有这些变体归类为代理系统,但在工作流和代理之间画了一条重要的架构分界线:工作流是通过预定义的代码路径编排 LLM 和工具的系统,而代理则是 LLM 动态指导自己的流程和工具使用的系统,控制完成任务的方式。

何时(以及何时不)使用代理 在构建 LLM 应用程序时,建议找到最简单的解决方案,并只在需要时增加复杂性。这可能意味着根本不构建代理系统。代理系统通常为了更好的任务性能而牺牲延迟和成本,因此需要考虑这种权衡是否合理。当需要更多复杂性时,对于定义明确的任务,工作流提供了可预测性和一致性,而代理在需要灵活性和模型驱动的决策时是更好的选择。

何时以及如何使用框架 有许多框架可以使代理系统更容易实现,包括 LangChain 的 LangGraph、Amazon Bedrock 的 AI 代理框架、Rivet(一个拖放式 GUI LLM 工作流构建器)和 Vellum(另一个用于构建和测试复杂工作流的 GUI 工具)。这些框架通过简化调用 LLM、定义和解析工具以及链接调用等标准低级任务来简化入门。然而,它们经常创建额外的抽象层,这可能会掩盖底层的提示和响应,使调试变得更加困难。它们还可能诱使人们在更简单的设置就足够的情况下增加复杂性。建议开发者直接使用 LLM API:许多模式可以用几行代码实现。如果使用框架,请确保理解底层代码。对底层代码的错误假设是客户错误常见的来源。

构建块、工作流和代理 文章接下来探讨了在生产中看到的代理系统的常见模式。从基础构建块——增强型 LLM 开始,逐步增加复杂性,从简单的组合工作流到自主代理。

基础构建块:增强型 LLM 代理系统的基本构建块是增强了检索、工具和记忆等增强功能的 LLM。当前的模型可以积极使用这些能力——生成自己的搜索查询、选择合适的工具以及确定要保留的信息。建议关注实现的两个关键方面:将这些能力定制到特定用例,并确保它们为 LLM 提供简单、文档丰富的接口。虽然有许多方法可以实现这些增强功能,但一种方法是通过最近发布的 Model Context Protocol,它允许开发者通过简单的客户端实现与不断增长的第三方工具生态系统集成。

工作流:提示链 提示链将任务分解为一系列步骤,每个 LLM 调用处理前一个调用的输出。可以在任何中间步骤上添加程序检查(下图中的“门”),以确保过程仍在正确轨道上。提示链工作流适用于任务可以轻松且清晰地分解为固定子任务的情况。主要目标是通过使每个 LLM 调用变得更容易来交换延迟以获得更高的准确性。

工作流:路由 路由对输入进行分类并将其引导至专门的后续任务。这种工作流允许分离关注点,并构建更专业的提示。如果没有这种工作流,针对一种类型的输入进行优化可能会损害其他输入的性能。路由工作流适用于复杂任务,其中存在可以单独处理的不同类别,并且分类可以由 LLM 或更传统的分类模型/算法准确处理。

工作流:并行化 LLM 有时可以同时在任务上工作,并将它们的输出以程序方式聚合。这种工作流,即并行化,有两种主要变体:分割和投票。分割是将任务分解为独立子任务并行运行。投票是多次运行同一任务以获得多样化的输出。并行化在可以为速度并行化划分的子任务有效,或者当需要多个视角或尝试以获得更高信心结果时有效。

工作流:指挥者-工作者 在指挥者-工作者工作流中,一个中心 LLM 动态地分解任务,将它们委托给工作者 LLM,并综合它们的结果。


HN 热度 500 points | 评论 85 comments | 作者:Anon84 | 1 day ago #

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

  • 文章清晰定义了“AI 代理”的含义,即动态指导自身流程和工具使用的系统。
  • 区分了“代理”和“工作流”,并描述了一些有用的工作流模式。
  • 有作者通过视频分享了文章内容,反响良好。
  • 有人认为不使用框架从头构建系统是个好的教育尝试,但好的框架可以方便地尝试不同的 LLMs。
  • 有人认为更换 API 并不是瓶颈,而是模型之间的行为问题或能力差异。
  • 框架通常会增加复杂性、不透明性和 API 不一致性。
  • 有人认为在获得足够的可观察性、实验性等功能后,是否应该默认使用框架成为一个真正的问题。
  • 有人建议如果不是完全的初创公司,最好直接使用 API 来启动 V0 产品。
  • 有人觉得用未类型化的语言构建复杂系统令人费解,尤其是当唯一的 AI 或 ML 是 API 调用时。
  • 有人强调测试中更换 API 是一个巨大的痛苦,使用一套可以更换密钥和变量的设置可以大大简化这个过程。
  • 有人推荐使用提供不同 LLMs 抽象的库(而不是框架)。
  • 框架如果具有可观察性、评估、部署、云安全等结构,也可以帮助准备生产。
  • 文章对工作流的定义被认为不准确,现代引擎的工作流并不采取预定义的代码路径。
  • 有人认为工作流和代理之间的区分在于“引导程度”,工作流结构和规则更多,而代理更自由。
  • 有人通过一个语言标记的工作流示例强调了 LLMs 在没有“脚手架”的情况下不够可靠。
  • 有人认为现代系统中的工作流通常不可预测,它们经常根据前一个调用(例如 LLM 调用)的响应执行一组工具中的一个。

Scrappy – Make little apps for you and your friends #

https://pontus.granstrom.me/scrappy/

这篇文章由 John Chang 和 Pontus Granström 撰写,讨论了自制软件的概念和潜力。文章介绍了他们共同开发的一个研究原型工具——Scrappy,这是一个用于制作仅供个人及其朋友使用的“简陋”应用程序的工具。他们希望通过分享这个工具和一些用它制作的应用程序示例,来具体化自制软件可能的样子。

Scrappy 是什么? Scrappy 允许用户创建“Scrapps”,即针对特定需求的应用程序。文章通过几个例子来说明 Scrappy 的应用场景,包括为小学生练习算术、本地活动参与者计数器、会议成本时钟以及每周家务追踪器等。这些应用程序虽然可能不够精致或引人注目,但它们是根据个人喜好制作的,并且能够满足特定的需求。

制作 Scrappy 应用程序的体验 Scrappy 提供了一个无限的交互式对象画布,其工作流程类似于 Figma、Miro 或 Google Slides。用户可以在画布上拖动对象,如按钮、文本字段和标签,并通过检查器面板修改对象属性。例如,按钮对象有“点击时”属性,其中包含 JavaScript 代码。当按钮被点击时,会运行该代码,比如将文本字段的内容记录到作为日志的标签上。用户可以逐步构建应用程序,调整和重新排列对象,并为它们附加少量代码。

文章中还提供了视频,展示了作者如何制作一个活动参与者计数器。视频展示了添加数字字段、按钮、场地容量字段以及当人数过多时显示警告的过程。Scrappy 应用程序是多人在线的,应用程序状态被持久化和同步,类似于在线文档如 Google Sheets 或 Figma。此外,Scrappy 应用程序始终处于活动状态,编辑和运行之间没有区别,用户可以在朋友使用时编辑应用程序。用户还可以选择性地分享应用程序的特定部分,例如只分享进出人数的部分。

为什么制作 Scrappy? 该项目的驱动力是重新构想软件的创建和使用。作为“小计算”、“休闲编程”和“家常菜软件”运动的一部分,作者希望解放最终用户,让他们能够在不需要成为专业程序员的情况下表达自己。他们希望将世界从大众市场、工业化生产的软件转向更个人化、甚至一次性的工具,这些工具可以为特定的社会环境设计并容易修改和适应。他们受到 Notion、tldraw 和 mmm.page 等工具的简单性的启发,但希望赋予人们更丰富的交互性和编程能力。

Scrappy 的目标用户是谁? 在原型设计过程中,Scrappy 的理想用户并不明确。随着系统的构建,一些潜在的用户画像逐渐显现出来。这些用户包括希望使用软件改进业务流程的过程优化者、教师和学生,以及像作者这样的专业程序员,他们不喜欢编程,因为编程过程中的复杂性增加了摩擦。

文章最后提到,尽管他们认识到基于 AI 的系统利用 LLMs 进行代码生成的能力,但他们有意识地选择将设计重点放在直接操作和用户控制上。


HN 热度 408 points | 评论 130 comments | 作者:8organicbits | 18 hours ago #

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

  • 有人喜欢 Scrappy 的精神,但认为其作为一个托管解决方案,依赖于 SaaS 工具,不适合长期使用。
  • 有人倾向于使用 HTML/CSS/JS 和 PHP 等基本技术来构建个人项目,因为它们不依赖于浏览器,且维护成本低。
  • 有人提出 TiddlyWiki 的概念,认为它是一个完整的 Web 应用程序,可以自复制,适合小规模个性化需求。
  • 有人正在构建一个受 TiddlyWiki 启发的自修改 HTML 运行时环境,允许用户在单个 HTML 文件中构建“HTML 应用程序”。
  • 有人询问这种技术是否与超媒体方法相一致,并探讨了是否有相关书籍或工具来支持这种技术。
  • 有人提到 TiddlyWiki 的“写入原地”功能,强调其在家庭维护维基/手册中的终极生存能力。
  • 有人希望有一个框架,能够像 TiddlyWiki 那样自我复制,但更简单,并且能够更好地集成 Markdown 和 HTML。
  • 有人对 Hyperclay 的无应用安装需求表示赞赏,认为它结合了 TiddlyWiki 的简单性和共享网络的优势。
  • 有人对需要运行服务器来共享 TiddlyWiki 表示疑虑,认为这对普通用户来说并不简单。

Iran asks its people to delete WhatsApp from their devices #

https://apnews.com/article/iran-whatsapp-meta-israel-d9e6fe43280123c9963802e6f10ac8d1

伊朗国家电视台于 2025 年 6 月 18 日呼吁民众从智能手机上删除 WhatsApp,声称该应用在未经具体证据的情况下收集用户信息并将其发送给以色列。WhatsApp 对此表示关切,认为这些虚假报道可能成为封锁其服务的借口,特别是在民众最需要其服务的时候。WhatsApp 强调其使用端到端加密技术,确保消息只有发件人和收件人能够读取,而中间的服务提供者无法解读。

WhatsApp 在声明中表示:“我们不追踪用户的确切位置,不保留每个人的消息记录,也不追踪个人之间发送的消息。我们不会向任何政府提供批量信息。” 不过,康奈尔大学的网络安全专家 Gregory Falco 指出,WhatsApp 的元数据并不加密,这意味着可以获取有关用户如何使用该应用的信息。此外,数据主权也是一个问题,因为 WhatsApp 的数据中心并不一定位于用户所在的国家,这使得数据安全和信任变得更加复杂。

伊朗在过去几年中曾多次封锁社交媒体平台,但许多人通过代理和虚拟私人网络(VPN)绕过限制。在 2022 年因一名女性在道德警察拘留期间去世而爆发的大规模抗议活动中,伊朗曾封锁 WhatsApp 和 Google Play,但去年底这一禁令已被解除。WhatsApp 曾是伊朗最受欢迎的消息应用之一,除了 Instagram 和 Telegram。


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

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

  • Meta 的声明用词巧妙,实际上可能在追踪一般位置、记录群组消息,并在请求时向政府提供特定信息。
  • 如果 Meta 秘密向某些情报机构提供后门访问权限,就像微软对 PRISM 计划或 AT&T 对 641A 计划那样,可能没有人会发现,因此 Meta 没有实际的不利后果。
  • Meta 在其他事情上也撒谎,没有理由现在不撒谎,因为他们被抓到撒谎后似乎并没有受到太大惩罚。
  • 有人质疑 Meta 是否曾经故意撒谎,并要求提供例子。
  • 欧洲委员会发现 Facebook 在 2014 年收购 WhatsApp 时提供了“误导性信息”,特别是关于用户数据共享的问题。
  • 有人提到 Meta“不小心”重置用户隐私设置是一种撒谎行为。
  • 有人认为企业广告中的“高达 50% 的折扣”是一种技术性的真实说法,但实际上大多数产品只有很小的折扣。
  • 有人认为最好的律师为这些大公司工作,他们擅长起草条款和条件,使得公司即使有不当行为也不会在法庭上被抓住撒谎。
  • 有人认为在 GDPR 下非法的 Android 本地主机网络到应用跟踪可能算作 Meta 的撒谎行为。
  • 有人指出,即使人们发现了 Meta 的不当行为,也没有什么实质性的后果。
  • 有人强调,即使在发现不当行为后,也没有人真正关心。
  • 有人认为,尽管媒体被少数人控制,但仍有很多人关心隐私、健康保险、环境等问题。

Brad Lander detained by masked federal agents inside immigration court #

https://www.thecity.nyc/2025/06/17/brad-lander-arrest-ice-immigration-court/

这篇文章报道了纽约市审计长 Brad Lander 在曼哈顿的一个移民法庭外被联邦特工拘留的事件。Brad Lander 同时也是下周二民主党初选中的市长候选人。事件开始于 Lander 在移民法庭的最新访问,他试图陪同一名男子离开法庭。

Lander 在被拘留超过四小时后,最终在纽约州州长 Kathy Hochul 的干预下被释放,没有受到任何指控。他在获释后对支持者表示,虽然他知道自己会得到公正的审判和权利保护,但与他一同被拘留的移民 Edgardo 将被关押在 ICE 的拘留设施中,失去了公正审判的权利。

Lander 此前已经第三次观察联邦移民听证会,并陪同移民离开例行的法庭听证。在中午时分,他与 Edgardo 手挽手离开移民法庭,拒绝放手,即使联邦特工试图将他们分开。在混乱的场面中,Lander 反复要求特工出示司法令状,并声称“你们没有权力逮捕美国公民”,随后被戴上手铐。

联邦特工将他带进电梯,他的一名纽约警察局安全小组成员也陪同在旁。有记者听到一名特工在 Lander 被捕前对另一名特工说:“你想逮捕审计长吗?”

联邦当局确实想要逮捕他。国土安全部助理秘书 Tricia McLaughlin 在声明中表示,Brad Lander 因攻击执法人员和妨碍联邦官员而被逮捕,并强调“没有人可以凌驾于法律之上,如果你攻击执法人员,你将面临后果”。官方的国土安全部 X 账户在推特上也发表了同样的言论,并指责寻求更高职位的政治人物破坏执法安全以获得病毒式传播的时刻。

报道中提到,THE CITY 的视频显示 Lander 紧抓着 ICE 逮捕的人,但没有显示他攻击任何人。Lander 的逮捕引起了广泛的愤怒,许多民选官员和市长候选人聚集在 26 联邦广场,要求立即释放他。其中包括共同支持 Lander 竞选市长的议员 Zohran Mamdani。

州长 Kathy Hochul 在社交媒体上表示:“这是胡说八道”,并在当天下午晚些时候亲自前往 26 联邦广场,拥抱了 Lander 的妻子,然后进入大楼。她告诉记者,她来这里是为了支持 Lander 和所有处于这种情况的人,并表示这是不可容忍的。

市长 Eric Adams 的发言人 Kayla Mamelak Altus 在 Lander 被捕四小时后发表声明,表示“今天不应该关注 Brad Lander”,而是要确保所有纽约人——无论他们的文件状态如何——都感到足够安全,能够使用公共资源,如拨打 911、送孩子上学、去医院或出庭,而不是躲在阴影中。在此之前,至少有两位 Adams 的政治盟友在网上嘲笑了 Lander,包括前市长幕僚长 Frank Carone,他嘲笑这是一场“奥斯卡奖”表演。


HN 热度 323 points | 评论 295 comments | 作者:sjsdaiuasgdia | 1 day ago #

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

  • 文章标题与实际内容不符,Hacker News 上的标题被修改过。
  • 没有证据表明那些是联邦特工,因为他们拒绝透露身份。
  • 人们可能会因为误以为被绑架而拔枪。
  • 现在任何人都可以伪装成 ICE 特工在法院逮捕关键证人,而不受法律约束。
  • 他实际上是因为要求查看搜查令而被逮捕的。
  • 他被指控妨碍联邦执法行动和攻击官员。
  • 要求查看搜查令被视为妨碍联邦执法行动。
  • 现在我们生活在一个“后真相社会”。
  • 媒体制造假新闻是为了吸引点击、煽动情绪、销售产品或糟糕的新闻报道。
  • Hacker News 的标题已经更新为与实际故事相符。
  • 媒体制造假象是为了掩盖事实的缺失,而不是创造虚假事实。
  • 我们生活在一个超现实的世界里,其中每个符号都是一个掩盖事实缺失的模拟。
  • 没有所谓的好新闻或坏新闻,一切都是模拟。
  • 人类经验是复杂的,不能简单地将“事实”与“模拟”对立起来。
  • 鲍德里亚并不是后结构主义者或后现代主义者,他反对后结构主义,并与后现代主义保持距离。

Bzip2 crate switches from C to 100% Rust #

https://trifectatech.org/blog/bzip2-crate-switches-from-c-to-rust/

这篇文章由 Folkert de Vries 在 2025 年 6 月 17 日发表,主题是关于 bzip2 数据压缩算法的一个重大更新。文章宣布了 bzip2 版本 0.6.0 的发布,这个版本默认使用了 Rust 实现的 bzip2 算法,即 libbz2-rs-sys。这个更新使得 bzip2 crate(Rust 的包管理器中的一个包)在性能上有所提升,并且更容易进行跨平台编译。

文章首先提出了一个问题:为什么还要在今天关注这个 90 年代的算法,尽管它现在使用得很少?作者解释说,许多协议和库仍然需要支持 bzip2 以符合它们的规范,因此许多项目在其依赖树的深层仍然依赖于 bzip2。作者利用在 zlib-rs 项目中的经验,对 bzip2 的实现进行了现代化改造。

文章接着详细介绍了 Rust 实现相对于 C 实现的性能改进。在压缩方面,Rust 实现通常比 C 实现更快,尽管在某些情况下两者性能相当。对于 bzip2,压缩级别指示使用的内存量,但对性能影响不大。文章提供了一些具体的性能对比数据,显示了在不同压缩级别和文件类型下,Rust 实现在压缩和解压缩方面的性能提升。

文章还提到了跨平台编译的优势。使用 C 依赖的 Rust 项目通常可以开箱即用地进行跨平台编译,但如果出现问题,错误可能难以调试。通过移除 C 依赖并使用 Rust 代码,编译 C 的复杂性消失了,使得跨平台编译变得简单,尤其是在编译到 WebAssembly、Windows 或 Android 时。

此外,文章提到了默认情况下 libbz2-rs-sys 不导出符号,这意味着它不会与其他依赖项冲突。如果 Rust 项目需要导出符号,可以通过一个特性标志来启用。

文章还提到了使用 MIRI 运行测试的好处,MIRI 是一个 Rust 的实验性运行时,可以运行包含 unsafe 代码的程序。这不仅对 bzip2 实现本身有益,也使得使用 bzip2 的更高级别的库或应用程序能够运行在 MIRI 上。

最后,文章提到了审计结果,审计发现了一个逻辑错误(一个偏移量错误),并修复了 fuzzer 的一些限制。除此之外,没有发现重大问题。

文章以对参与项目的个人和组织的感谢结束,包括 Alex Crichton、Radically Open Security 和 NLnet Foundation。


HN 热度 323 points | 评论 171 comments | 作者:Bogdanp | 1 day ago #

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

  • Trifecta Tech 的 bzip2 实现有可能取代 Linux 发行版中使用的官方实现。
  • 官方 bzip2 实现自 2019 年以来没有更新,可能意味着项目已经完成。
  • 10-15% 的压缩速度提升和 5-10% 的解压缩速度提升是一个吸引人的新特性。
  • 代码优化提高速度的同时可能会牺牲代码可读性。
  • 将现有代码库翻译成 Rust 可能会使事情变得更复杂。
  • Ubuntu 已经开始使用 Rust 编写的 sudo,表明这种转变是可能的。
  • 有人需要做工作来实现 C ABI 兼容的版本。
  • uutils 项目旨在重写 GNU 工具。
  • 有人希望这些工具能成为默认工具。
  • 有人认为 MIT 许可证是一个错误,因为这意味着不能将 GPL 许可的代码移植到 MIT 许可的项目中。
  • 有人不喜欢 GNU 工具的复杂性,认为从头开始重写是一个特性。
  • 有人希望工具性能得到提升。
  • 有人提到 ripgrep 和 tokei 相比它们替代的工具性能提升很大。
  • 有人认为将工具称为“替代品”是不恰当的,因为它们并没有完全取代原有工具。
  • 有人指出 GNU 工具本身就是对 BSD 工具的替代,而 BSD 工具是对 AT&T 工具的替代。
  • 有人对 bash 表示满意,认为它不是过时的项目。
  • 有人同意“X 但用 Z 重写”是一种糟糕的营销方式。

MiniMax-M1 open-weight, large-scale hybrid-attention reasoning model #

https://github.com/MiniMax-AI/MiniMax-M1

MiniMax-M1 是一个全球首个开放权重、大规模混合注意力推理模型。该模型采用混合专家(MoE)架构和闪电注意力机制,基于之前的 MiniMax-Text-01 模型开发,包含 4560 亿参数,每个 token 激活 459 亿参数。与 MiniMax-Text-01 一致,M1 模型原生支持 100 万个 token 的上下文长度,是 DeepSeek R1 的 8 倍。MiniMax-M1 的闪电注意力机制使得测试时计算效率得到提升,例如在生成 100K 个 token 时,M1 消耗的 FLOPs 仅为 DeepSeek R1 的 25%。这些特性使得 M1 特别适合处理需要长时间输入和深入思考的复杂任务。

MiniMax-M1 通过大规模强化学习(RL)训练,涉及从传统数学推理到基于沙盒的真实世界软件工程环境的多样化问题。开发了一个高效的 RL 扩展框架,突出了两个视角:(1)提出了 CISPO 算法,该算法剪裁重要性采样权重而非 token 更新,表现优于其他竞争 RL 变体;(2)混合注意力设计自然提高了 RL 的效率,解决了在混合架构下扩展 RL 时的独特挑战。训练了两个版本的 MiniMax-M1 模型,分别具有 40K 和 80K 的思考预算。在标准基准测试中,这些模型在复杂软件工程、工具使用和长上下文任务上超越了其他强大的开放权重模型,如原始的 DeepSeek-R1 和 Qwen3-235B。凭借测试时计算的高效扩展,MiniMax-M1 为下一代语言模型代理提供了强大的基础,以推理和应对现实世界的挑战。

在核心基准测试中,MiniMax-M1 的性能如下:

  • 数学:在 AIME 2024、AIME 2025 和 MATH-500 等任务中,MiniMax-M1-80K 和 MiniMax-M1-40K 的表现均优于 Qwen3-235B-A22B 和 DeepSeek-R1-0528。
  • 通用编码:在 LiveCodeBench 和 FullStackBench 任务中,MiniMax-M1 的表现同样优于其他模型。
  • 推理与知识:在 GPQA Diamond、HLE(无工具)和 ZebraLogic 等任务中,MiniMax-M1 的成绩领先。
  • 软件工程:在 SWE-bench Verified 任务中,MiniMax-M1 的得分高于其他模型。
  • 长上下文:在 OpenAI-MRCR(128k 和 1M)和 LongBench-v2 任务中,MiniMax-M1 的表现优异。
  • 代理工具使用:在 TAU-bench(航空公司和零售)任务中,MiniMax-M1 的得分也超过了其他模型。
  • 事实性:在 SimpleQA 任务中,MiniMax-M1 的得分较低。
  • 通用助手:在 MultiChallenge 任务中,MiniMax-M1 的表现与其他模型相当。

所有模型均在温度为 1.0、top_p 为 0.95 的条件下进行评估。SWE-bench 方法论报告了从无代理脚手架得出的结果,采用了两阶段定位过程(不使用任何基于嵌入的检索机制):首先是粗粒度文件定位,然后是细粒度定位到特定文件和代码元素。模型的值是基于 n=486 个验证任务的子集计算得出的。


HN 热度 316 points | 评论 68 comments | 作者:danboarder | 17 hours ago #

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

  • 运行 MiniMax-M1 模型需要 8 个 H200 141GB 的 GPU,成本约为 25 万美元
  • 可以在配备 512GB 内存的 Mac Studio 上运行该模型,成本约为 8500 美元
  • 通过 Q4 或 Q8 量化可以在不到 1 万美元的设备上运行该模型
  • 重度量化的模型性能可能不如未量化的模型,但比同样大小的未量化模型要好
  • Q8 量化几乎没有质量下降,Q4 量化的质量下降是可测量的,但不是实际问题
  • 基准测试可能不代表真实使用场景,因此难以评估模型性能
  • 通过添加大量稀疏化处理,该模型应该可以在树莓派上运行
  • MiniMax-M1 模型已经从 150T 参数模型中进行了稀疏化处理
  • 150 万亿参数是指人类大脑中突触的数量
  • 六个月后可能会发现购买 H200 GPU 的人被诈骗了 25 万美元,因为只需要特定的量化和一些优化就可以本地运行模型
  • 除了全量化外,没有运行任何模型的必要
  • 量化是有效的,不应该被质疑
  • MiniMax-M1 模型大约有 4560 亿参数,大约有 460 亿参数在任何时候都是活跃的
  • MiniMax 公司在“发布周”发布了 M1 和 Hailuo 2 模型,技术报告值得一读
  • MiniMax M1 让人联想到苹果的 M1 芯片
  • MiniMax 是一个中国公司,他们的视频生成器有一个非常明显的中文名字(Hailuo)
  • 人们不期望公司在项目页面上提及他们的国家
  • 公司在其官方网站上不一定会公布他们所在的国家
  • 通常需要努力才能找到初创公司的所在地
  • OpenAI 在其使用条款中提到了他们的地址和注册地

What Google Translate can tell us about vibecoding #

https://ingrids.space/posts/what-google-translate-can-tell-us-about-vibecoding/

这篇文章讨论了大型语言模型(LLMs)对计算机编程的影响,并将其与翻译领域中机器翻译技术的发展进行了比较。作者认为,尽管有关 LLMs 将导致程序员失业的讨论很多,但这些讨论往往缺乏细微差别。文章通过分析 Google 翻译的发展,特别是自 2016 年转向神经机器翻译(NMT)以来的变化,来探讨这些观点。

作者指出,尽管有人认为 Google 翻译的出现意味着翻译和口译职业的终结,但实际上翻译和口译的工作机会却在增加。这是因为机器翻译技术虽然在某些方面做得很好,但它并不能像人类翻译者那样处理上下文、模糊性和文化敏感性。例如,尽管挪威语和英语非常相似,但挪威语缺乏礼貌用语,这在翻译时需要特别注意。Google 翻译可能会直接翻译出听起来傲慢的挪威语句子,而一个好的口译者会根据上下文提供更敏感的翻译。

文章还提到,即使是在翻译领域,机器翻译技术也不能完全取代人类翻译者。作者认为,程序员可以被视为翻译者,他们将人类的需求和文化细微差别翻译成计算机可以理解的代码。尽管编程语言中不断创造新的抽象概念,使得机器翻译在编程语言中的应用比自然语言稍晚,但现在已经有了很大的进步。

作者最后表示,虽然未来的 AI 可能能够像人类一样处理上下文和模糊性,但我们至少还要经历一个 AI 冬天才能达到那个水平。同时,作者也提到,尽管 LLMs 的工具有其局限性,但它们的负面外部性可能超过了它们的实用性。总的来说,文章强调了在技术发展中保持谨慎和对细微差别的认识的重要性。


HN 热度 277 points | 评论 160 comments | 作者:todsacerdoti | 1 day ago #

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

  • Google Translate 无法处理翻译中的上下文、模糊性和文化敏感性问题,但 LLMs 在给定足够上下文的情况下可以处理
  • LLMs 在翻译日语和英语时表现出色,尤其是经过适当提示后
  • 通过多模型翻译系统,可以生成比单一模型更好的翻译结果,甚至接近顶级专业人类翻译水平
  • 对于非面对面的口译工作,人类翻译者可能暂时还不需要担心被取代
  • LLM 翻译工具可以挑选最佳模型进行翻译,并由最终评判模型进行批评、比较和合成最佳翻译
  • 翻译时选择正式程度的功能很重要,Google Translate 倾向于使用过于正式的语言
  • 瑞典语默认使用非正式语域
  • 提供额外上下文、提出后续问题和对文本进行推理对于翻译非常重要
  • 翻译时需要足够长的提示,以减少歧义
  • 翻译应用的目的是指导不熟悉翻译问题和细节的人获得更好的翻译结果
  • 对于需要翻译的长文本,需要一种方法来处理上下文窗口过长的问题,可能需要对之前内容的总结和关于如何处理特定名称和术语的注释