HN Daily Reading · 每日阅读

HN 每日深度阅读 · 2026-06-19

本期五条线索折射出科技业的深层张力:一边是 Midjourney 跨界医疗、Epic 开源版本控制工具等扩张性叙事,AI 公司和游戏巨头都在向新领域伸出触角;另一边是微软新版 Outlook 因 Web 化架构沦为性能灾难。

2026.06.19 20 篇摘录

共 20 篇 · 约 13,380 字 · 约 33 分钟读完

1. Midjourney 进军医疗:用超声波”水疗式”全身扫描重塑健康成像

AI 图像生成公司 Midjourney 宣布进入医疗领域,计划开发一种基于超声波的全身扫描设备。该设备让用户进入一个浅水池,在约 60 秒内通过一个由约 50 万个微型超声波收发元件组成的环形阵列完成全身成像。每个元件既能发射超声波也能接收回波,每秒产生数 TB 数据,通过大规模计算集群将波形变化重建为人体内部的三维图像,精度可达亚毫米级,速度据称比传统 MRI 快近百倍。

公司同时推出”Midjourney Spa”概念,计划 2027 年在旧金山开设首家门店,将扫描设备与桑拿、冷水浴、热水池等水疗服务结合,让用户在放松过程中”顺便”完成健康扫描。其宏大目标是到 2031 年部署全球 5 万台扫描仪,月扫描容量达 10 亿次。监管路径上,公司表示初期仅提供身体成分图谱,并将逐步向 FDA 提交测试结果以获取更多诊断能力。

HN 评论呈现明显分歧。一位执业放射科医生指出,超声波存在固有局限:无法穿透含气的肺部、无法穿透骨皮质检查骨骼病变、腹腔内被肠气包围的结构也难以成像,因此所谓”全身扫描”在物理上就不完整。多位评论者质疑其健康哲学——把医疗等同于”每秒每美元能获得多少 MB 数据”,认为真正的医疗应聚焦主动预防与精准治疗,而非数据堆积。还有医生指出频繁的全身扫描往往会发现大量临床意义不明的偶发病灶,反而引发患者焦虑和不必要的后续检查。

技术层面,有 MRI 和相控阵波束成形背景的评论者认为该方案没有明显的技术红旗,毫米级分辨率可信,但提醒心脏跳动等运动伪影可能成为问题。最受质疑的是其对 FDA 监管路径的轻描淡写——有从业者明确指出 FDA 审批远非”定期提交测试结果”那么简单,需要严格的设计控制、大量合规人员投入和漫长的审批周期。也有人对 Midjourney 品牌从 AI 图像突然跨界到医疗硬件和水疗店表示困惑,认为更像”不知道下一步该做什么就到处尝试”。


2. Epic Games 开源 Lore:面向大规模二进制资产的新一代版本控制系统

Epic Games 发布并开源了 Lore,一个以 MIT 许可证发布的新一代版本控制系统,主要瞄准游戏开发等需要同时管理代码和大量二进制资产的场景。Lore 是中心化、内容寻址的系统,使用 Merkle 树表示仓库状态,构建不可变的修订链,并针对二进制优先存储、去重和按需稀疏数据加载做了优化。

其核心架构特性包括:基于内容哈希的存储与引用、不可变的修订链(通过父修订哈希和数据哈希形成密码学完整性链)、大文件的分块存储以减少重复并支持高效更新、按需水合的轻量级工作区、带缓存的中心化服务架构、以及轻量级分支实现快速切换。除了核心库和 CLI,Lore 还同步提供 JavaScript、Python、C# 和 Go 的 SDK。FAQ 透露 Lore 前身是 Unreal Revision Control,已在 UEFN(Unreal Editor for Fortnite)中作为内置版本控制系统使用,并正在被 Epic 内部团队逐步采用。

HN 评论第一时间澄清了 Lore 的定位:它不是 Git 的通用替代品,而是 Perforce 的竞争者。游戏行业广泛使用的 Perforce 虽然功能强大,但维护复杂、需要专门的工具工程师,且属于专有软件。Git 在处理纹理、3D 模型、音频等无法合理合并的二进制资产时表现糟糕——艺术家通常需要对资产加独占锁。Git LFS 是一种替代方案,但游戏开发者普遍更倾向 Perforce,尤其是 3-4 人以上团队项目。

多位评论者指出 Lore 对 Unreal 生态意义重大,因为 Unreal 引擎内对 Perforce 有最佳支持(Epic 自用),而 Git 插件长期不完善。Lore 由 Epic 主导,预期将获得引擎一级支持。也有评论提到 Perforce 云服务体验粗糙,是用旧模式套上新外壳。在用户友好性方面,有评论对比了 Git 推送时晦涩的输出(“delta compression”、“pack-reused” 等术语)和 Lore 更清晰的提示信息。还有人惊讶于 Lore 用 Rust 而非 Epic 惯用的 C++ 或 Verse 编写。


3. 瑞士议会解除新建核电站禁令,最终待全民公投决定

瑞士议会经过马拉松式辩论后,国民院以 100 票对 98 票通过了”防停电倡议”的反提案,决定解除新建核电站的禁令。在此之前,联邦委员会和联邦院已表示支持。该决定最终须由全民公投决定。

瑞士此举的背景是其特殊的能源结构问题:春夏季有充足的水电(融雪 + 阳光),冬季则严重不足。水电潜力还有 10%-20% 提升空间,但水域已被充分利用,且依赖随气候变化变得不可预测的冰川补给。在交通电气化的趋势下,瑞士需要更多稳定电力来源,尤其在冬季。

HN 讨论激烈分化。支持方认为核能是化石能源向可再生能源过渡乃至核聚变实现之前的重要选项,认为反核话语充满误导:核电的高成本是政策选择而非固有属性,核废料并非真正问题,辐射伤害在大多数情况下接近零。一位评论者推荐了 gordianknotbook.com 等资源。还有评论强调 AI 和自动化对电力需求的指数级增长。

反对方观点同样强烈。多位评论者指出核电在经济上已不具竞争力——美国 Vogtle 项目和加拿大安大略 5000 亿加元的核电支出被作为反面案例。反对者认为新建核电站从启动到投运需要十年以上,等建成时可再生能源加储能方案已足以承担负荷。也有人提到核电几乎从未在没有数十亿美元国家贷款和担保的情况下建成,本质是把纳税人资金输送给特定行业。瑞士国情方面,有评论认为瑞士、挪威、奥地利是欧洲最不需要核电的国家,但启动讨论本身对其他欧洲国家有积极意义。也有意大利评论者表达遗憾,认为切尔诺贝利后不久举行的全民公投让意大利至今无法建设核电站。还有评论将核能游说与烟草、孟山都的历史话术类比,质疑 HN 上的核能讨论被游说者影响。


4. 微软新版 Outlook 从通知打开邮件需 10 秒,旧版本几乎瞬时

Windows Latest 报道揭示微软新版 Outlook 存在显著性能问题:点击 Windows 11 新邮件通知后,新版 Outlook 需要约 10 秒才能显示该邮件,而经典版 Outlook 几乎瞬时完成同样操作。更荒谬的是,如果忽略通知直接从开始菜单打开 Outlook 手动找到邮件,5 秒内即可完成——比走通知路径还快。

性能差距的根源是架构选择。新版 Outlook 基于 WebView2 运行时(Chromium 渲染引擎),本质上是包装的 Outlook.com 网页应用。每次交互都需要初始化或恢复 web 层、认证、加载邮件线程并渲染。在任务管理器中,新版 Outlook 显示为 10 个独立进程(WebView2 Manager、多个 Utility 进程、GPU 进程、Service Worker 等),空闲时占用 490-636 MB 内存和约 4% CPU;经典版只是单一进程,空闲占用 117-148 MB 内存和不到 1% CPU,差距约 4 倍。微软已意识到此问题,正在测试名为”Delayed Message Timing”的新 API 诊断 WebView2 性能,但点击 Outlook 通知时尚未见到该 API 的实际应用。微软已将强制企业切换的截止日期从 2026 年 4 月推迟至 2027 年 3 月。

HN 评论几乎一边倒地批评微软软件质量下滑。有评论者分享 2019 年从 Windows 切换到 Linux 的经历,称从那以后再没遇到需要切回 Windows 的场景。有人指出固态硬盘普及前 Windows 在机械硬盘上还可用,现在 20+ Gbps 的 NVMe SSD 也撑不起打开一封邮件。另一位 Mac 上”经典版 Outlook”用户提到最新版有严重 bug——回复或转发邮件时不包含原邮件正文,被迫切换到新版后发现同样难用。有评论指出 Windows 11 上记事本启动需 3-4 秒还内置 AI 付费功能。

关于质量原因,评论提到微软长期对性能不重视的文化——一位前员工朋友曾说”买英特尔股票,人们必须升级电脑”。也有评论指出 WhatsApp 桌面版用 web 技术重写后空闲占用 1.2 GB 内存,说明这是整个行业的问题:原生应用质量普遍因 web 跨平台诱惑而下降。


5. 研究者在 GitHub 发现一万个分发木马的恶意仓库

一位独立研究者发现 GitHub 上存在约 1 万个分发木马恶意软件的仓库。事件起因是作者在 Bing 搜索自己项目时发现完全相同名称和描述的他人仓库,是其项目的克隆——作者被列为贡献者,但近期一次提交在 README 中加入了 ZIP 压缩包链接。监控后发现这些仓库每隔几小时就删除上一个提交并推送相同内容的新提交,唯一改动就是 README 中的恶意链接。

ZIP 压缩包内容固定为 4 个文件:一个 .cmd 启动脚本、一个 .exe 可执行文件、一个加密的 .cso 或 .txt 文件、以及 lua51.dll。直接将 ZIP 链接提交到 VirusTotal 检测不出病毒,但提交 ZIP 文件本身能检出木马。作者向 GitHub 提交了删除请求,等待数周无果,社区论坛回复也只是 AI 生成的无用建议,最终历经一个多月才获处理。

为了大规模检测,作者下载了 gharchive 的最近 5 天 GitHub 事件存档(包含 1600 万次提交推送),筛选出每 10 小时被更新 2-10 次的活跃仓库,再通过 GitHub API 进一步检查。最初严格过滤只找到 14 个匹配仓库,但调整参数后(24 小时内更新 1-24 次),共找到约 4 万个候选仓库,其中 1 万个完全符合恶意模式,占比 25%。许多仓库已存在数月甚至超过一年,GitHub 未自动检测删除。作者已在 GitHub 公开完整列表和检测脚本。

HN 高赞评论提出关键洞察:这些恶意仓库的目标可能不是人类而是 AI Agent。Agent 在自动添加依赖时会进行搜索,只要在一小部分搜索结果中出现就有机会触发感染。有作者本人也分享类似经历,发现自己名字被关联到从未参与的项目。也有评论引用《纽约杂志》报道的迪士尼工程师案例——从 GitHub 下载 AI 工具时,亲自审查了代码看起来合法且评价良好,结果其中包含特洛伊木马,导致 1Password 凭据被盗。多个研究者表示曾向 GitHub 报告恶意仓库被长期无视,认为 GitHub 在恶意软件治理上”根本不在乎”。

关于”每几小时删除并重新推送”的行为,评论推测可能是为了让仓库出现在”最近更新”排行前列,提高被克隆的概率,或是测试和绕过 GitHub 安全检测算法的限制。


6. 本地 Qwen 不是较差的 Opus,而是不同的工具

OpenFaaS 创始人 Alex Ellis 撰写长文,基于真实业务使用经验讨论本地大模型的实际能力。作者运营多个基础设施产品(OpenFaaS、SlicerVM、Actuated、Inlets),用 Go 编写为主,购置了 RTX 6000 Pro 显卡运行本地模型。其核心论点是反驳”本地 Qwen 27B 接近 Opus 水平”的流行说法——本地模型确实在 SWE-Bench Verified 上得分 77.2 vs Opus 的 88.6,看似差距仅 12%,但前沿模型参数量在 0.5-2T 之间,而 Qwen 只是 27B 量级,本质完全不同。

作者强调 SWE-Bench 等基准存在”benchmaxxing”问题,且该测试基于 Python(线程和异步为主),与作者实际写的 Go 分布式系统(通道、context、struct 跨执行域)差距很大。本地模型最大的问题是无限循环和幻觉风险,量化到能塞进消费级 GPU 时尤为明显。但本地模型在特定场景下确实有价值:一台显卡两三个月就能通过省下的 API 费用回本;对处理客户敏感数据的企业、对主权和隐私有要求的场景、以及大量重复或长循环的智能体任务有不可替代价值。Uber 最近将员工 AI 工具支出上限设为每月 1500 美元/工具,按 33 万美元年薪计算占 12%,证明云端 API 成本对重度用户并非可忽略。

HN 顶部评论补充了使用不同模型如同演奏不同乐器的体会:Claude 对礼貌的语气有反馈,倾向镜像用户语气;GPT 需要精确指令以减少歧义,否则会过度防御性地处理所有边缘情况;Qwen 则需要给出形状让它填充,更善于按模板严格执行。也有评论质疑文章像 AI 生成——“容器、Kubernetes、Firecracker microVM 和网络协议”被称为”低级 Linux 原语”的表述不准确。

技术层面,有评论建议作者用 vLLM 替代 llama.cpp,在多用户负载和缓存方面 NVIDIA 硬件上差异巨大;也有人推荐用同等预算购买 NVIDIA SPARK(约一半成本),运行 DeepSeek v4 Flash 效果远超任何 Qwen,预填 2K tokens/秒、生成约 50 tokens/秒。有评论指出文章低估了本地模型一年内的改进速度——一年前的本地模型完全不堪用,而当前已经可以部分胜任,未来发展方向不应过早锁定。另一些评论则呼应作者观点,认为本地模型在长上下文、复杂任务、智能体场景下仍然容易陷入循环或遗忘任务,且综合成本(硬件 + 电力 + 时间)并不低。


7. Emacs 31 即将发布:作者每日使用的新特性预览

Rahul Juliato 撰文介绍即将发布的 Emacs 31 中已经在他的”零外部包”配置 Emacs Solo 中日常使用的新特性,每个新特性在配置中都用 ; EMACS-31 注释标记。

最受作者称道的改进是 Tree-sitter 的”开箱即用”。多年来启用 *-ts-mode 需要手动配置 treesit-language-source-alist、调用 treesit-install-language-grammar 并祈祷工具链能编译语法。Emacs 31 中将 treesit-enabled-modes 设为 t 即可自动切换有 tree-sitter 变体的主模式,treesit-auto-install-grammar 让 Emacs 在语法缺失时主动获取并构建。TypeScript、TSX、Rust、TOML、YAML、Dockerfile 等语言的语法源已迁移到模式自身定义。需要注意:自动安装的语法不按架构隔离,跨架构机器共享配置会有 .so 文件冲突。

第二个亮点是内置的实验性 markdown-ts-mode,源于作者 2025 年初向 emacs-devel 提交的提案,后与 Stéphane Marks 共同开发。该模式提供与 Org 类似的键位和编辑体验、围栏代码块的真正语法高亮(即使是非 tree-sitter 的内部 Emacs 模式如 elisp 也能正确高亮)、以及内联图片显示。目前需要 M-x load-library 手动加载,未自动绑定到 .md 文件。Eglot 在 Emacs 31 中也可使用 markdown-ts-view-mode 渲染 LSP 文档。其他改进还包括 eldoc at point、kill-region-dwim(无活动区域时 C-w 默认删除上一个词而非报错)等。

HN 评论以”是否还有人用 Emacs”为话题展开。多位 30 年以上 Emacs 用户表示无切换计划,强调其速度、可配置性、用户控制权——不会突然”被升级”加入大量未请求的功能,新功能均为 opt-in。有评论强调 Emacs 在 80x24 终端时代构建的高密度信息显示理念在 4K 屏上仍然适用,可同时显示三个垂直窗口、六个上下文。另一位称在 Claude Code 能在 Emacs 中工作后从 VSCode 回归。

也有评论指出 LLM 与 Emacs 的高度可配置文本配置文件天然契合,Agent 在维护 init.el 上表现优异,可帮助初学者跨过陡峭学习曲线。多人呼吁 Emacs 应提供预设(如 preset-base-ide-1),让用户无需 200 行配置即可获得现代 IDE 体验。还有用户因为 tree-sitter 自动安装能终于删掉一段长 csh 脚本而欣喜,许多人对终于可以丢掉用了几十年的手动配置感到由衷高兴。


8. DeepSeek 推出视觉理解能力

DeepSeek 在其聊天产品中上线了视觉理解功能,使模型能够理解图片内容并对其进行描述,而非仅做 OCR 式的文字提取。需要明确的是,这并非图像生成系统,用户无法要求其修改或生成图片。

HN 评论区围绕该功能的定位与可用性展开讨论。多位用户指出该能力实际测试效果不错且响应迅速,训练集覆盖面足够广,能识别照片中的物体与场景。也有用户对比认为这是中国厂商对 OpenAI、Anthropic 等美国公司的直接竞争,证明中国同样可以推出高质量模型。

社区讨论的另一焦点是 API 可用性问题。多位开发者表示迫切希望该视觉能力开放到 API,尤其是 v4flash 版本。一位开发者提到,使用 Claude Agents SDK 需要支持视觉的 API,目前不得不依赖比 DeepSeek 更贵的 Qwen 和 Gemini Flash Lite;如果 DeepSeek API 支持视觉,便可完整驱动 Claude Code 和 Claude Agents SDK。也有人提到可以将其与本地运行的 Apple Vision 框架 CLI 工具结合,先做本地初筛再调用 API 做详细分析,从而以合理成本为 HTML 图片生成有意义的 alt 文本。

价格优势是另一项被反复提及的特点,评论者普遍认为 DeepSeek 的成本控制能力是其主要卖点。

部分用户还反映 DeepSeek 近期出现了一些行为变化,比如越来越频繁地使用中文回复甚至中文推理,怀疑是否进行了静默更新。还有评论者希望 DeepSeek 能像其他厂商一样发布技术博客,详细说明视觉模型的能力、质量、准确度等参数指标。此外,有用户提到 DeepSeek 聊天应用至今仍缺少文字转语音和语音转文字功能,尽管开源社区已有不少 ASR 模型可供整合。也有用户反馈访问页面时只看到登录界面,缺少功能介绍信息。


9. AMD 在新版固件中悄然移除消费级 Ryzen CPU 的内存加密功能

Tom’s Hardware 报道,AMD 在较新版本的 AGESA 固件中静默移除了消费级 Ryzen CPU 的内存加密(SME)功能,用户在升级固件后可能在不知情的情况下失去这一安全特性。当被问及此变更原因时,AMD 工程师保持沉默,未作公开说明。这一做法引发了用户对透明度和市场分层策略的不满。

HN 讨论呈现出明显的分歧。一部分评论者认为这一功能对消费级用户的实际价值有限。理由是 AMD 从未将该功能作为消费 CPU 的卖点进行营销,且对普通用户而言,攻击者获得物理访问权后通过冷冻 RAM 读取内存内容并非主要威胁;如果攻击者拥有硬件访问权限,更可能通过 USB 或 PCI 入侵而非攻击内存。也有用户指出该功能在实际使用中并不稳定,常与 VFIO、NVIDIA 驱动、amdgpu 等产生兼容性问题,导致系统冻结。

另一派观点则强调安全意义。有评论者指出该功能可防御 RAMbleed 攻击和 ECC 错误,因此并不局限于物理攻击场景。还有人提出担忧:如果攻击者获得已开机但已锁定计算机的物理访问权,是否可以绕过全盘加密读取存储在内存中的解密密钥?这意味着即便启用了磁盘加密,入侵住所的攻击者仍可能获取数据。

更广泛的批评聚焦于厂商的市场分层做法。有评论者认为,企业为了产品分层而人为限制消费级硬件功能(类似 GPU 虚拟化的情况)的做法值得质疑,企业用户支付溢价是为综合价值而非单一独立功能。也有评论者认为这恰恰说明 CPU 市场需要更激烈的竞争。还有人质问:如果一项功能可以被静默移除,它真的算是安全功能吗?多位评论者要求 AMD 公开说明当初为何悄然加入、如今又为何悄然移除,并质疑是否存在美国政府干预的因素。也有人无奈地指出,企业从来不会主动宣布自己移除功能或降级产品。


10. Craigslist 创始人累计捐赠超 5 亿美元,担忧美国慈善文化倒退

Craigslist 创始人 Craig Newmark 自创办该网站 30 年来累计向慈善事业捐赠超过 5 亿美元。在接受《独立报》采访时,他对当前美国社会从慈善转向强硬个人主义、炫耀财富的趋势表示担忧,并希望其他富人能采取类似的捐赠态度。

文章提及,特朗普在第二任期内净资产从 43 亿美元增至 73 亿美元,计划花费 6 亿美元修建白宫舞厅。风险投资家 Peter Thiel 据报道在劝说富人撤回 The Giving Pledge(捐赠誓言)承诺,声称捐款会流向”左翼”非营利组织,并将该组织称为”与 Epstein 相关的虚伪婴儿潮俱乐部”。Newmark 去年签署了 Giving Pledge,并撰文表示对 Thiel 等亿万富翁的立场感到难以理解。

Newmark 的价值观源自其童年在新泽西犹太社区中心听 Holocaust 幸存者讲授的”待人如己""知足""做兄弟姐妹的守护者”的教诲。1999 年 Craigslist 起飞时,他拒绝了风投提供的数十亿美元,选择仅向企业收费、对普通用户保持免费的模式。如今 Craigslist 仍位列全球访问量前 500 的网站之列,4 月访问量超过 1 亿。Newmark 称自己从未成为亿万富翁,没有车,在纽约市搭乘公共交通。

HN 讨论较为分化。一部分评论者赞赏 Newmark 的低调与价值观,引用其多年前一句”我现在水压挺好,还需要什么呢”来说明其朴素心态。也有人对其经济模式感到好奇,想了解 Craigslist 如何在仅对少数交易收取适度费用的情况下产生数亿美元利润。

但也有相当多批评声音。有评论者指出 Craigslist 长期容忍诈骗,约 25% 的房源询价是骗局,平台甚至不允许真实房主声明自己房产未出租。还有人认为 Newmark 本可以通过改进网站、减少垃圾信息为社会做出更大贡献,比如解决重复发布、关键词堆砌等问题。也有评论者认为他”放弃了把 Craigslist 做大”的机会本身就是另一种形式的巨大捐赠。还有用户观察到 Craigslist 在许多地区已被 Facebook Marketplace 取代。多位评论者赞赏其简洁的”野兽派”网页设计,认为其 UI 甚至优于 HN。


11. Transformer 论文核心作者 Noam Shazeer 加入 OpenAI

Noam Shazeer 在 X 上宣布将加入 OpenAI,表示这是一个艰难的决定,对 Google 团队和共同成就感到自豪。Shazeer 是《Attention Is All You Need》论文的主要作者之一,该论文奠定了 Transformer 架构基础。他的职业轨迹颇为曲折:2000 年加入 Google,2021 年离开创办 Character.AI,2024 年通过约 27 亿美元的人才/授权交易被 Google 重新招回并担任 Gemini 联合负责人,如今再次离开投奔 OpenAI。

HN 讨论的核心是这一人才流动对各方的意义。多位评论者强调 Shazeer 的传奇地位,引用 Wired 报道描述他在 Transformer 项目中如何凭借”魔法”般的工程能力快速实现了核心代码。还有人转述 Paul Buchheit 的故事——Shazeer 在面试时被问及如何写拼写检查器,给出了超越当时最先进水平的方案,并在入职头两周作为 Noogler 项目交付了 Google 的拼写纠错系统。

对各家公司影响的分析占据了讨论重心。评论者普遍认为这对 Google 是重大损失,尤其在 Google 刚以巨资将其招回仅约 2 年后;Gemini 2.5 Pro 去年的短暂回升据信由 Shazeer 推动,对 Gemini 长期发展不是好消息。同时 Shazeer 必然会将 Google 大量商业机密带到 OpenAI,但也有人认为 Google 的人才储备深度不止于此。对 OpenAI 而言这是一次重大胜利,社区也好奇此次招揽究竟花费多少。

讨论中一个有趣的问题是:为何 OpenAI 选择从财力充裕的 Google 而非财务受限的 Anthropic 挖人?这与近期 Karpathy 加入 Anthropic 的消息形成对比,有评论者将 AI 行业的人才流动比作体育明星自由市场。

也有评论者引述 Reddit 帖子(已被删除但评论仍可见)暗示 Shazeer 离开可能与其政治立场较为强硬、公开表达争议性观点有关,但相关讨论尚无定论。


12. Ubiquiti 推出基于 ZFS 的企业级 NAS 产品

Ubiquiti 发布了基于 ZFS 的企业级 NAS 产品 ENAS。硬件配置包括 8 核 Arm Neoverse N2 处理器、64GB ECC 内存、双 NVMe 缓存(可选 M.2 NVMe L2ARC)、16 个硬盘位、最高可扩展至超过 1PB 原始存储、双 25Gb SFP28 端口和冗余电源。软件特性包括与 UniFi 平台集成、无许可证费用、基于角色的权限控制、与现有身份提供商集成、跨站点备份编排、原生 iSCSI 共享块存储以及对 Proxmox、VMware、Hyper-V 集群的支持。Ubiquiti 强调该产品支持开放硬盘兼容性,不限制硬盘型号。售价为 3999 美元。

HN 评论围绕几个核心点展开。首先是对 ZFS 选择的认可。有评论者认为 ZFS 在容错性和高效增量备份(基于 Merkle 树)方面远优于其他选择,市面上少数 COTS(商用现成)ZFS 方案普遍性能不足,QNAP 等支持 ZFS 但备份配置不完善。Ubiquiti 长期为 15 年前的 EdgeRouter 提供安全更新、UI 清晰易用,这些都是加分项。

另一受关注的优势是”无月度订阅费用”,这在当前订阅制盛行的产品环境中显得突出,评论者希望 Ubiquiti 能坚持这一定位。

然而对 Ubiquiti 软件质量的担忧也很普遍。有评论者列举其历史问题:曾允许员工访问静态 AWS root 密钥;曾声称”远程访问”端到端加密但实际可能只是 TLS;曾因配置错误使部分用户能访问他人摄像头流但从未公开根因或架构改进。在”企业级”标签下使用 Ubiquiti 产品仍被部分用户视为高风险。

价格方面争议较大。有评论者表示 3999 美元偏高,对比可以用约四分之一价格购买二手 Supermicro 服务器加 X10 时代主板,并获得更多硬盘位;安装 TrueNAS 即可获得优秀的管理体验。也有评论者质疑该机型搭配机械硬盘时能否真正跑满 25Gb 链路,分享了自身使用 12 块 HDD + 128GB RAM + L2ARC 仍难以达到理想速度、最终改用 NVMe 才解决问题的经验。

技术细节层面,评论者询问该系统底层基于哪种操作系统(xBSD 还是 UniFi OS/Debian),并指出控制器本身似乎未做冗余、64GB 内存对 ZFS 去重等高级功能可能不足、缺少对象存储与 NVMe-oF 支持。但总体仍被视为适合工作组和中小企业的可靠选择,达不到 NetApp/Pure Storage 的”企业级”水平。


13. 列出可提交网站的网站目录

Submission.Directory 是一个手工策划的网站提交目录,汇总了可供提交自己网站、初创公司或产品的各类平台,目的是帮助用户获取高质量反向链接,提升搜索引擎和 AI 答案中的排名。列表涵盖 Medium、Crunchbase、Hacker News(Show HN)、Product Hunt、Reddit、Slashdot、G2、Awwwards、Capterra、Dev.to、AlternativeTo、Hashnode 等数十个知名平台,每个条目附有简短说明,指出该平台特点(如 dofollow/nofollow 链接、是否需付费、目标受众等)。列表还包括 Marginalia、Wiby、Kagi Small Web 等面向独立小型网站的搜索引擎与目录。

HN 讨论非常热烈。BetaList 创始人分享了一段 16 年前的故事:他建立了早期的产品发现平台 BetaList,当流量增大无法逐一回应被拒绝的创始人时,建立了 submit.co 作为替代去处,这个”竞争对手列表”反而越来越受欢迎,最终又把流量带回了 BetaList。

另一位评论者维护了一份独立/个人网站提交目录的元列表,包括 blogroll.org、blogs.hn、indieblog.page、Kagi Small Web、Marginalia、Minifeed、Wiby 等。

ListenNotes.com 的运营者指出了一个不那么乐观的副作用:垃圾营销人员为获取反向链接,利用 RSS feed 一键分发机制大规模创建假播客填充链接,导致 Apple Podcasts、Spotify 等平台充斥大量虚假节目。

多位评论者从历史角度评论,认为这种”列表的列表”的做法本质上是 90 年代 Submit It、Yahoo、Excite、Lycos、Web Ring、StumbleUpon、Delicious、Technorati 等服务的复兴,但目标从搜索引擎转向了垂直社区。

也有批评声音。有人指出公开发布这类列表实际上是 SEO 套利配方,会引来大量低质量垃圾提交。真正有效的做法是融入特定社区、理解其文化后再分享内容,而非到处”打了就跑”地发链接,否则容易被封禁域名。还有评论者半开玩笑地表示需要一个”自动把网站提交到所有列出可提交网站的网站的网站”。

一位 rateyourreads.com 创始人分享了实际使用体验,称这是不错的起点,但大多数目录的 CAPTCHA 验证非常耗时。也有人分享了一份更大的 1057 站点列表。


14. 马德里如何低成本建造地铁系统(2024)

《Works in Progress》文章分析了马德里地铁如何在 1995 至 2007 年间实现 126 英里(203 公里)扩张、几乎三倍延伸至全球第六长(中国之外)地铁系统的成因。1995 至 1999 年间的 35 英里扩张项目耗资约 28 亿美元(2024 年价格),与纽约 7 号线延伸至 Hudson Yards 仅 1.5 英里的成本相当;同期伦敦 Jubilee 线延伸的每英里成本接近马德里方案的十倍。世界银行评价马德里的成本”远低于国际公认的可能水平”。

文章总结了四条经验:第一,城市级权力奖励快速廉价交付——马德里自治区将规划、资金、建设权力集中在合适层级,使政治人物的政治命运与基建承诺挂钩;第二,时间就是金钱——区政府简化环评和规划流程,承建公司全天候 24/7 隧道施工;第三,权衡需要明确考虑——在车站设计、信号复杂度、新技术与成熟技术之间做出明确取舍;第四,项目管线推动国家能力建设——内部聘用经验丰富的工程师和管理者,公共建设公司可支付额外费用招募专家,并基于成本与质量双重标准而非最低价采购。

1995 年区议会选举中,左翼 PSOE 与右翼 PP 不是争论是否扩建地铁,而是比拼能建多少。PP 候选人 Ruiz-Gallardón 承诺四年内新建 30 英里地铁,赢得多数席位后兑现承诺。

HN 讨论既有印证也有反驳。一位曾在 20 年前为该项目工作的工程师指出,文章对工程师”高薪”的描述不符实情:自己还在大学时就承担了大量核心技术工作,薪水低廉,毕业后跳槽收入翻了三四倍。该评论者还提到,当时存在研究外国系统、修改专利以规避支付的”借鉴”做法,如电力铝梁和隧道掘进机部件的内部复刻。

另一关键讨论是关于内部专业能力的价值。评论者认为,相比英美依赖外部顾问的做法,将专业知识保留在政府机构内部能产生更好的规划和管理结果。

也有评论提到该模式的政治瑕疵。例如 10 号线向北扩展明显是为了拉票而非工程合理,导致线路在多个城镇间”之字形”绕行,本应 20 分钟的路程变成 1 小时 15 分钟;7 号线 B 段在 San Fernando de Henares 的延伸导致约 50 栋房屋因建筑结构裂缝被拆除。还有人质疑文章中”75% 乘客非常满意”的数据,指出当前发车频率正在恶化(除非教皇来访),高峰期非常拥挤。

地理因素也被多次提及——马德里位于花岗岩基底之上,比巴塞罗那、阿姆斯特丹或伦敦的地质条件更利于挖掘。还有评论者将话题引向旧金山湾区的对比:拥有市值数十万亿美元科技公司的湾区却拥有不兼容、缓慢且不完善的公共交通系统(BART、ACE、Caltrain 各自独立),与马德里形成鲜明反差。也有人指出欧洲与美国的成本差距很大一部分源自工资水平——纽约或旧金山的建筑工人工资是马德里的 2 至 3 倍。


15. 医院与大学以90%更低成本重新利用现有药物

伦敦国王学院发布消息称,医院和大学正在通过药物再利用(drug repurposing)的方式,以比开发新药低90%的成本为患者提供治疗方案。该做法将已批准用于某种疾病的药物应用于其他适应症,避开了新药研发漫长且昂贵的流程。

HN讨论中出现了多个具有代表性的案例。最受关注的是眼科领域使用Bevacizumab(商品名Avastin,原为抗癌药)治疗黄斑变性的案例。Avastin与专门用于眼内注射的Lucentis在分子层面是相同的药物,但前者每剂约50美元,后者却高达约1500美元。然而许多眼科医生不愿使用Avastin,因为复合药房重新分装的过程可能引入污染风险,眼内感染是医生最担忧的后果,节省1450美元是否值得承担这种风险成为一个伦理与实际并存的难题。

另一位评论者分享了Spravato(艾司氯胺酮)的案例,揭示了美国医保体系的扭曲激励机制。氯胺酮本身已过专利保护期,制药公司因此修改分子结构推出了艾司氯胺酮以重新获得专利保护,尽管有证据表明后者疗效不如前者。保险公司每月为该治疗支付约1.7万美元,而更便宜更有效的氯胺酮因未获FDA批准而被排除在外。

讨论中反复提及一个核心结构性问题:现行监管路径不允许在未经原制造商同意的情况下扩展现有药物的新适应症。这意味着即使研究证实某种超说明书使用方式有益,也无法成为正式批准的用法。有评论者建议,纳税人资助开发的药物应该开源,由政府资助透明的临床试验,私营制造商则在生产环节竞争。

也有评论者提出现实警示,认为药物再利用虽好,但无法替代新药开发——例如长新冠和ME/CFS等疾病目前仍无治愈方案,再利用现有药物难以从根本上解决问题。还有人提到非营利组织Cures Within Reach专注于罕见病的药物再利用,对大型药企不愿投入的小众病症患者意义重大。


16. Windows 2000的UI为何至今仍被怀念

作者通过QEMU/KVM运行Windows 2000,回顾了从Windows 3.0到2000时代UI设计的诸多优点。文章逐一展示了那个年代界面设计中的核心原则:清晰可辨的视觉提示、一致的交互模式、明确的可点击元素标识。

文章重点指出几个关键设计细节:开始按钮被点击后呈现”凹陷”状态,模拟现实中按钮被按下的感觉;菜单项右侧的小箭头明确表示存在子菜单;菜单展开方式以树状结构清晰呈现,用户无需记忆来源路径;可交互元素总是通过按钮造型或白色背景与界面其他部分明确区分;滚动条在可滚动区域始终可见,而不是为节省空间而隐藏;选项对话框中相关选项被分组在”框架”内,逻辑关系一目了然。作者将这些与现代Firefox设置等界面对比,后者只能通过字体大小差异来辨识选项分组。

HN讨论非常热烈。多位评论者认同Windows 2000代表了Windows UI的巅峰,此后所有的UI变化都是退步。一位评论者指出,70年代到80年代微软、IBM等公司投入大量HCI(人机交互)研究,但90年代中期高彩色显示普及后,UI专家逐渐被艺术学院出身的设计师取代,导致功能性让位于”少即是多”的肤浅审美。

一条高赞评论引发深思:现代扁平化UI让”非技术用户”赢了——他们一直把电脑视为”不可预测的魔法”,靠死记硬背操作序列使用,现在所有用户都和当年的他们一样面对不可预测的界面。也有人提到隐藏文件扩展名是计算机历史上的”原罪”,催生了”virus.jpg.vbs”之类的恶意文件。SerenityOS创始人Andreas Kling表示Windows 2000是其灵感来源,目标是”晚期1990年代生产力软件美学与晚期2000年代Unix高级用户可访问性的结合”。

不过也有反对声音,认为Windows 2000虽然功能性好但视觉上”像工程师设计的”,过于刻板冷峻,缺乏圆润感和友好感。


17. 除了.gitignore,Git还有两种忽略文件的方式

作者分享了Git中三种忽略文件的方式,超出了大多数开发者只知道.gitignore的认知范围。

第一种是常见的.gitignore,会被提交到仓库中,对所有协作者生效。第二种是.git/info/exclude,存在于每个Git仓库的.git目录内,不会被提交,适合个人针对特定仓库的忽略需求——例如想忽略个人笔记notes.txt,但又不想把这个个人化的文件加入项目的.gitignore污染其他协作者。第三种是~/.config/git/ignore,在用户机器上全局生效,不与任何特定仓库关联,是添加.DS_Store等系统文件的理想位置。可以通过git config —global core.excludesFile命令自定义全局忽略文件路径。

文章还介绍了git check-ignore -v命令,可以查看某个文件具体被哪个文件中的哪一行规则所忽略,便于排查忽略规则的来源。

HN讨论补充了大量实用信息。多位评论者强调全局忽略文件被严重低估——许多人提交PR将IDE、操作系统、AI工具的临时文件加入每个项目的.gitignore,但这些应该放在用户全局配置中。原则上仓库内.gitignore应只包含与仓库相关的内容(构建输出、依赖目录等),用户工具配置应放在用户自己的全局配置里。

一条高赞评论补充了.gitattributes这个”准忽略”功能,可以让git忽略某些文件的diff显示——例如Node项目的package-lock.json,加上”package-lock.json -diff”后该文件仍会被提交,但git diff不再显示其大量噪音。

其他实用技巧包括:使用update-index —assume-unchanged和—skip-worktree处理已追踪文件的本地修改;在全局忽略中加入”attic”目录名,方便在任何项目创建临时存放目录;使用.git/info/exclude存放只在本地使用的脚本和Makefile。也有评论者指出”global”实际指”用户级别”而非”机器级别”,机器级别配置应使用”system”参数。


18. 编译器的不确定性:可复现构建为何如此困难

作者在为Anubis(一种反爬虫工作量证明系统)添加基于WebAssembly的工作量证明检查时,需要打包一份wasm2js工具的副本,以确保构建结果的可复现性。文章详细记录了在追求字节级可复现性过程中遭遇的各种意外。

第一个常见的不确定性来源是C/C++中的__DATE__和__TIME__宏,会将编译时的时间嵌入二进制,导致每次编译结果都不同——但评论者指出这本身是有意的功能,是被有意使用的特性。

更隐蔽的问题是Clang会在背后悄悄从$PATH调用wasm-opt进行WebAssembly优化。作者的DGX Spark上的wasm-opt版本(108)过旧,无法处理新版本Clang生成的WebAssembly异常处理指令,导致构建失败。解决方法是在链接阶段传递—no-wasm-opt参数。

第三个问题更深入:Clang的异常处理代码生成依赖于地址布局,原始指针值泄漏到try_table块的输出顺序中,导致每次构建之间约有29字节的差异。

HN讨论中,多位评论者提出了不同视角。有人认为更恰当的标题应是”可复现构建很难”而非”我讨厌编译器”——编译器恰恰是项目得以实现的基础。有评论者指出,类似Clang因指针地址产生非确定性输出通常是bug,常见原因是迭代DenseMap(无序),修复方法是切换到MapVector以保证确定性迭代顺序。

多位用户推荐Nix(NixOS)作为解决方案,Nix沙箱甚至会拦截时间调用并替换为epoch 0以保证确定性,构建环境本身就追求hermetic(封闭性)。

低层工程的本质讨论也颇有深度:低层代码即使简短,隐含假设却很多,对程序员认知负担巨大。例如C语言中”int value = (int)buffer”需要理解4字节对齐、int是否恰好32位等隐含前提。有评论者批评Anubis本身的设计哲学,让每个浏览器都进行能耗密集的哈希计算来阻挡同样能耗密集的LLM爬虫公司,反而造成可访问性问题。


19. 《麦克斯威尼》:一个疲惫的埃及人解释金字塔是人类建造的

《麦克斯威尼互联网倾向》(McSweeney’s Internet Tendency)发表的一篇幽默讽刺短文,以一位古埃及金字塔工地监工的口吻,记录了”第4382天”再次向访客解释金字塔是由人类建造的疲惫日常。

文章以荒诞夸张的笔法回应了”古代外星人理论”。作者借监工之口指出:建造是有组织的人类社会的常规活动;人们严重低估了数千名”被充分喂养、严格监督、且没有其他职业选择”的有组织人类能够完成的事情;古埃及人在试图避免错误搬运石头的过程中”意外发明了几何学”;如果真有掌握宇宙先进技术的外星人,他们为什么要选择建造金字塔,而不是发明室内空调或符合人体工学的椅子。

文章的核心讽刺在于:人类建造了税收制度、有组织的战争、葡萄干,显然具备”可怕的坚持力”,建造金字塔反而成了不可思议之事。作者还提到工人本身会对这些理论感到愤怒——花二十年在沙漠高温下搬运石灰岩,结果未来的人却得出”感觉像火星人干的”的结论。

HN讨论延伸出多个角度。一位评论者点明了”古代外星人理论”的真实逻辑:“我个人无法想象怎么建造这个,而我肯定比4500年前的人聪明一百万倍,所以这不可能是人类建造的”。多位评论者直接指出种族主义嫌疑:如果金字塔在欧洲,没人会质疑其人类起源,正因为在非洲(以及南美)才有人质疑。

有评论者推荐了《地球如我们所知》关于印加石匠技术的文章,详细驳斥古代外星人式的猜想。还有人略带刻薄地指出,如果是外星人建造,他们干得相当糟糕——折角金字塔(Bent Pyramid)显示古埃及人在建造途中发现高度过高而临时调整角度,如果有计算机和几何学不应该这样。

也有评论者从另一角度反思:基础科学和历史知识的缺失正在蔓延,“外星人”成为某种无知的代名词。还有人将此与解释如何在不使用大型抽象库的情况下构建简单网页的职业经历类比。


20. 康奈尔CS 6120高级编译器:自主学习在线课程

康奈尔大学Adrian Sampson教授的CS 6120是一门博士级编程语言实现课程,现已开放完整的自主学习版本。课程涵盖编译器通用主题——中间表示、数据流、经典优化——以及更具研究性的并行化、即时编译、垃圾回收等内容。课程作业包括阅读论文和开源黑客任务,使用LLVM和专为该课程发明的教育用IR——Bril。

课程结构呈线性时间轴排列,每个课时都有视频和笔记,部分课时包含实现任务。任务都是开放式的,目的是通过编写真实代码巩固抽象概念的理解。课程总共14节课,从程序表示、本地分析与优化、数据流、全局分析、静态单赋值(SSA)、LLVM入门,到循环优化、过程间分析、别名分析、内存管理、动态编译器、并发与并行、快速编译器等。

每个课时配有相关论文阅读清单,包括ASPLOS 2009的《不做明显错误事情却产生错误数据》、PLDI 2015的《用Alive证明窥孔优化的正确性》、OOPSLA 2004的《垃圾回收的统一理论》、Massalin的开创性论文《超级优化器:最小程序之观察》等经典文献。

与”真实”CS 6120的区别在于:自学版本可以忽略任务截止日期,无法参与Zulip上的讨论线程,期末项目也变成了”通过编译器的魔力改变世界”这一抽象任务。

HN讨论中有专业人士点评内容深度。一位评论者指出动态编译器章节几乎全部聚焦于追踪编译(trace compilation),但追踪编译实际上是一条已被反复放弃的死路,更重要的概念应该是类型反馈、推测与去优化、快速编译器和分层编译。也有人质疑课程名称中”高级”的标签——大部分主题如死代码消除、数据流、支配者分析、SSA形式等通常属于第一门编译器课程的内容。

帖子还显示该课程曾在2020年、2023年、2024年多次登上HN首页,反映出社区对优质开源教育资源的持续关注。有人询问是否有针对”基础编译器”的类似自学课程,也有人对Rust编译器是否引入机器学习算法表示好奇。