2026-02-23 Hacker News Top Stories #
- 作者介绍一种将规划与执行严格分离,通过详尽研究与计划、注释循环和子代理分工提高代码质量与可追溯性的 Claude Code 工作流。
- 作者的经历提醒在申请安全许可时应避免过度详述难以归类的奇异事件,否则可能引发不必要的调查与不利后果。
- 文章分析 Claude 桌面端仍用 Electron 的权衡:跨平台和开发效率优于性能和系统集成成本,因工程现实而被采纳。
- ntransformer 利用用户态 NVMe 直通、分层缓存和流式 PCIe 传输等技术,把 NVMe 当作扩展显存,在单块 RTX 3090 上推进 Llama 3.1 70B 推理,但受带宽延迟和部署复杂性限制。
- Taalas 将 Llama 3.1 8B 的权重硬编码进定制 ASIC,通过极端量化与专用电路实现超高吞吐与低延迟,但面临可扩展性与验证成本问题。
- 前 CIA 分析师回忆多次测谎经历并批评测谎更多作为心理威慑与权力工具而非严格科学,导致滥用与职业伤害。
- 文章主张在 Rust 中通过“解析优于验证”和类型驱动设计将不变量编码到类型系统,以在编译期消除运行时错误并提升安全性。
- EDuke32 是跨平台的《毁灭公爵 3D》开源引擎移植版,加入现代渲染与模组支持,尽管授权对商业分发有限制但促进了社区复刻与扩展。
- Cloudflare 因 BYOIP 配置变更意外撤回大量 BGP 前缀导致多项服务中断逾六小时,暴露自动化、回滚与测试覆盖不足的问题。
- 研究在无语言经验的雏鸡中发现 bouba–kiki 效应,支持声音与形状的跨模态联结可能具有先天或进化性基础。
如何使用 Claude Code:规划与执行的分离 (How I use Claude Code: Separation of planning and execution) #
https://boristane.com/blog/how-i-use-claude-code/
本文作者分享了自己在近 9 个月中使用 Claude Code 作为主要开发工具的高效工作流。与大多数开发者直接输入提示、反复调试代码不同,作者的核心原则是:绝不让 Claude 在未经过审查和批准的书面计划前编写代码。这一分离规划与执行的策略,有效避免了低质量代码和系统性错误。
工作流分为六个阶段:研究、规划、注释循环、任务清单、实现与反馈迭代。 在研究阶段,作者要求 Claude 深入理解代码库,并将发现以详细的 Markdown 文件(research.md)形式输出。强调使用“深入”“详细”等措辞,确保 Claude 不流于表面,避免因理解偏差导致后续错误。该文件成为作者审查和纠正理解的关键依据。
规划阶段,作者要求 Claude 生成一份独立的 plan.md 文件,包含具体实现路径、代码片段、文件修改位置及权衡分析。作者不使用 Claude 内置的“计划模式”,而是用自定义 Markdown 文件,便于编辑、添加注释并长期保存。
最独特的是“注释循环”环节:作者在 plan.md 中直接添加行内注释,纠正假设、拒绝方案、补充领域知识。例如指出应使用 Drizzle 生成迁移而非原生 SQL,或修正 HTTP 方法为 PATCH 而非 PUT。每次修改后,将文档发回给 Claude,要求其根据注释更新计划。此过程重复 1 至 6 次,直到作者满意。
该循环的核心优势在于:以 Markdown 文档作为共享的可编辑状态,实现精准、高效的协作。相比在聊天中反复描述问题,文档能保留完整上下文,便于整体审查和决策追溯。
最后,在实施前,作者要求 Claude 生成一份细粒度的任务清单(todo list),作为开发过程中的进度追踪工具。整个流程强调“保持主导权”——作者始终掌控架构决策,AI 仅作为高效执行助手。
总结:通过严格的“研究—规划—注释—任务分解”流程,作者实现了高质量、低错误率的 AI 辅助开发,显著提升效率与代码质量。
HN 热度 716 points | 评论 454 comments | 作者:vinhnx | 1 day ago #
https://news.ycombinator.com/item?id=47106686
- 强调在编码前进行规划的价值在于迫使模型显式暴露其隐含假设,而非单纯地规划与执行分离。
- 大型语言模型本质上是“假设引擎”,其行为依赖于训练数据中的行业标准假设,若与实际需求不符,可能导致错误方案。
- 通过子代理分工(如规划、实现、审查)可提升模型推理的清晰度与可靠性,实现责任分离。
- 采用蓝队/红队对抗机制有助于模型更合理地进行推理,减少偏差。
- 与单一连续会话相比,使用子代理可避免上下文污染,提升执行效率并降低 token 消耗。
- 明确描述完整使用流程有助于防止模型产生不合逻辑的自主行为。
- 表面看似简单的“深入”“详细”等措辞,实则能引导模型关注更深层次的解决方案,而非表面内容。
- 模型对“深入”等词汇的响应源于其训练数据中专家级讨论的模式,而非单纯语法理解。
- 现代大模型的工具调用行为是经过强化学习后形成的,而非原始训练数据直接决定。
- 模型的工具调用能力依赖于特定平台的微调与框架设计,不同平台表现差异显著。
- “混合专家”架构可能使模型在处理复杂任务时更智能地分配注意力与资源。
申请安全许可表时千万别写的内容(1988) (What not to write on your security clearance form (1988)) #
https://milk.com/wall-o-shame/security_clearance.html
本文讲述了一位名叫莱斯·厄内斯特(Les Earnest)的作者在童年时期因一本关于密码学的书籍而引发的一段荒诞经历,最终影响了他日后申请安全许可的过程。
1942 年,作者与朋友鲍勃阅读了弗莱彻·普拉特所著的《秘密与紧急》一书,书中介绍了通过字母频率破解密码的方法,并列出英语中出现频率最高的字母顺序为 e-t-a-o-n-r-i。两人受到启发,设计了一套复杂的暗语密码系统,将加密密钥折叠后藏在眼镜盒底部,随身携带。
由于作者常穿泳裤,外出时很少穿衣服,因此眼镜盒常放在校服裤子口袋里。一次乘坐电车回家途中,眼镜盒不慎从口袋滑落,丢失。几周后,一位热心市民捡到眼镜盒,发现其中的密钥,误以为是日本间谍的证据,遂上交美国联邦调查局(FBI)。
当时正值二战期间,日裔美国人被强制迁离家园并关押,社会充满对间谍的恐慌。FBI 迅速展开调查,甚至追踪全圣地亚哥地区所有验光师的档案,只为确认眼镜的主人。六周后,一名 FBI 探员上门询问作者母亲,得知作者仅 12 岁,感到失望,但仍带走密钥“作为记录”。
尽管事件真相是两个孩子玩闹,但 FBI 并未完全相信。作者和朋友只好更换新的密钥,改用钱包携带。
多年后,作者在大学暑期于海军电子实验室工作,需申请安全许可。表格中有一项:“是否曾被 FBI 调查?” 他如实填写“是”,并在备注栏写明:“我曾被怀疑是日本间谍。” 结果,负责审核的安全官员看到后极为震怒,当场撕毁表格,要求重填,并警告他若再提及此事,将永远无法获得安全许可。
作者遵从指示重新填写,隐瞒了这段经历,最终顺利通过审查。此后,他始终未在任何安全许可申请中提及此事。
文章最后提到,后来他偶然得知,在安全许可表中加入某些“引人注目”的信息,反而能加快审批流程——这是另一个故事了。
HN 热度 465 points | 评论 207 comments | 作者:wizardforhire | 1 day ago #
https://news.ycombinator.com/item?id=47102576
- 在填写安全许可申请表时,应避免提及任何可能被视为异常或无法归类的事件,即使这些事件是无害的,因为政府机构倾向于将信息归入预设的类别中。
- 申请者应尽量“像政府一样思考”,即理解并适应其分类系统,选择最接近的类别描述经历,而非如实陈述细节。
- 某些看似无关紧要的经历(如童年被误认为间谍)可能因缺乏对应类别而引发严重后果,甚至导致申请被拒。
- 透明和详细说明反而有助于通过背景调查,尤其在现代安全审查中,允许补充解释以澄清情况。
- 安全审查更关注申请人是否隐瞒信息,而非具体事件本身,因此谎报比如实说明风险更高。
- 现实中存在大量通过欺骗手段获得安全许可的人,尤其是在酒精、药物使用、财务状况等敏感问题上。
- 即使是轻微的违规行为(如偶尔饮酒),若被怀疑有成瘾倾向,也可能导致清除资格,而严重的财务问题反而可能被容忍。
- 安全审查机制本质上是在平衡“完美候选人”与“已知有缺陷但可控”的人之间,过度严苛可能导致更多隐藏问题未被发现。
- 适度承认小错误反而能降低未来被利用作为勒索筹码的风险,因为组织已知晓并可管理该风险。
- 一些高保密级别的职位(如美国海军潜艇控制系统)确实会为实习生或合作项目提供顶级安全许可,这表明此类许可并非仅限于资深人员。
为什么 Claude 桌面端仍是 Electron 应用? (Why is Claude an Electron app?) #
https://www.dbreunig.com/2026/02/21/why-is-claude-an-electron-app.html
为什么 Claude 桌面端仍是 Electron 应用?尽管 AI 编码代理已能高效实现跨平台、跨语言的代码生成,但主流开发仍依赖 Electron 框架。Electron 允许使用 Web 技术(HTML、CSS、JS)构建支持 Windows、Mac 和 Linux 的统一应用,极大简化了多平台开发与维护,因此被 Slack、VS Code、Notion 等广泛应用。
然而,Electron 应用存在明显缺陷:体积庞大(通常几百 MB)、性能迟滞、与操作系统集成不佳。这些问题是可优化的,但因开发团队更关注快速迭代和代码复用,往往被忽视。
真正的问题在于:AI 代理虽擅长完成开发的前 90%,却难以应对最后 10% 的复杂性——边缘情况、真实世界中的意外行为、长期维护与支持。例如,Anthropic 曾投入 20,000 美元让 AI 群体尝试用 Rust 实现一个 C 编译器,虽进展迅速,但最终产物仍不可用,暴露出 AI 在稳定性、兼容性和持续维护上的局限。
此外,若为每个平台(Mac、Windows、Linux)分别开发原生应用,虽然性能更优,但测试、调试和维护的复杂度呈三倍增长。而 Electron 通过统一代码库,显著降低了这种负担。
尽管技术上已具备用规范驱动开发、由 AI 生成原生代码的能力,但现实中的工程权衡仍让 Electron 更具吸引力。开发者熟悉 Electron,能保证 Web 与桌面端体验一致,且开发效率更高。
结论:AI 编码代理虽强大,但“最后一英里”的挑战和维护成本,仍使 Electron 在当前阶段成为更务实的选择。未来或许会改变,但现阶段,权衡利弊后,非原生方案仍是主流。
HN 热度 392 points | 评论 402 comments | 作者:dbreunig | 1 day ago #
https://news.ycombinator.com/item?id=47104973
- Claude 桌面端使用 Electron 主要是因为团队成员有相关经验,且便于跨平台代码共享,确保 Web 与桌面端体验一致。
- 用户反映桌面版存在明显卡顿、CPU 占用过高问题,尤其在流式输出时,影响使用体验。
- 尽管存在性能问题,部分用户仍愿意接受,因为其功能强大,能显著提升开发效率。
- 有用户指出,类似问题也出现在其他 AI CLI 工具中,可能与底层渲染库(如 ink)有关,更换库后可改善。
- 有人认为,AI 应用的快速迭代比完美性能更重要,当前的“不完美”是技术演进过程中的正常现象。
- 有开发者担忧,AI 将催生大量低质量、快速上线的“生存类”游戏,导致应用市场内容泛滥。
- 一些用户提到,Electron 应用在 Linux 系统下与 NVIDIA 显卡驱动存在兼容性问题,容易导致显示异常或崩溃。
- 尽管存在性能问题,但相比 Gmail、Amazon、VSCode 等复杂 Web 应用,Claude 的性能问题并不算严重。
- 有人认为,现代 Web 技术已足够强大,不应再依赖 Electron,应推动原生应用开发以提升性能和稳定性。
- VSCode 虽基于 Electron,但通过大量原生插件和 WebGL 技术优化,已有效缓解性能瓶颈,证明 Electron 并非不可优化。
Show HN:通过 NVMe 直接访问绕过 CPU,在单块 RTX 3090 上运行 Llama 3.1 70B (Show HN: Llama 3.1 70B on a single RTX 3090 via NVMe-to-GPU bypassing the CPU) #
https://github.com/xaskasdf/ntransformer
ntransformer 是一个基于 C++/CUDA 的高效大语言模型推理引擎,能够在单块 RTX 3090 显卡(24GB VRAM)上运行 Llama 70B 模型。通过 PCIe 流式传输模型层并结合 NVMe 直接 I/O 技术,实现低延迟、高吞吐的推理性能。
核心特性包括:
- 支持 GGUF 格式模型,涵盖 Q4_K_M、Q6_K、Q8_0 等多种量化精度
- 三层次自适应缓存机制:显存驻留层(零 I/O)、内存锁定层(H2D 传输)、NVMe/mmap 回退层
- SLEP 流式管道技术:双缓冲设计,实现 NVMe 读取、PCIe DMA 和 GPU 计算的重叠执行
- gpu-nvme-direct 后端:用户态 NVMe 驱动直接将数据写入可被 GPU 访问的内存,绕过 CPU
- 层跳过功能:基于余弦相似性校准,可跳过冗余层(如阈值 0.98 时每 token 跳过 20 层),显著提升速度
- 自洽推测解码:利用显存中的层作为草稿模型,无需额外模型
实测结果显示,在 RTX 3090 + 48GB 内存环境下,使用 Q4_K_M 量化模型搭配层跳过与自动分层缓存,推理速度可达每秒 0.5 个 token,相比传统 mmap 方式提升 83 倍。
系统要求包括 Linux(Ubuntu 20.04+)、CUDA Toolkit 13.1、gcc-14/g++-14、支持计算能力 8.0+ 的 NVIDIA GPU。若启用 NVMe 直接访问,需修改 GRUB 参数并打补丁内核模块,存在一定安全风险,仅建议在单用户环境使用。
提供一键脚本 setup_system.sh 完成系统配置,支持检查、仅加载 NVMe 模块等模式。项目无外部依赖(除 CUDA 外),完全自主实现推理流程。
HN 热度 300 points | 评论 80 comments | 作者:xaskasdf | 1 day ago #
https://news.ycombinator.com/item?id=47104667
- 通过 NVMe 到 GPU 的直接数据传输可以绕过 CPU 和内存瓶颈,将 NVMe 视为扩展显存,利用 DMA 技术提升大模型本地运行效率。
- 与苹果 M 系列芯片的统一内存架构相比,该方法在 3090 上实现的性能虽低,但为消费级显卡提供了运行 70B 模型的新思路。
- NVMe 的读写速度远低于内存,尤其在延迟方面存在明显短板,对性能提升有限。
- llama.cpp 早已支持将 GGUF 格式模型通过 NVMe 直接加载到 GPU,该技术并非全新,但实际应用中仍具价值。
- 若将 M.2 接口的存储替换为 DRAM(如 CXL 内存),可大幅提升带宽,但成本高昂且灵活性降低。
- 使用 RAM 磁盘(ramdisk)可能比 NVMe 更有效,但受限于内存容量和成本。
- Intel Optane 曾是理想选择,但因未普及而错失机会,其低延迟特性对模型加载有潜在优势。
- CXL 技术(如 CXL 2.0/3.0)允许内存跨系统共享与一致性,未来有望解决大模型内存瓶颈问题。
- 云服务如 DigitalOcean GPU 实例支持部分自定义操作,但对内核修改权限有限,难以完全实现类似本地优化。
- 3000 tokens/秒的推理速度在 PS2 上实现,但其实际性能受限于模型大小和硬件架构,不具普遍实用性。
- 70B 模型在消费级显卡上运行速度较慢(约 5 秒/token),但对低内存设备而言是可行的替代方案。
- 模型推理速度主要受限于内存带宽,DDR4/DDR5 的带宽决定了理论最大吞吐量。
- 云上高端 GPU(如 RTX 6000 96GB 或 B200 180GB)虽性能强大,但难以满足深度定制需求,且成本高昂。
- 专业 GPU 支持 GDS(GPU Direct Storage)等技术,可直接访问存储设备,性能远优于消费级显卡的 NVMe 绕行方案。
Taalas 如何将 LLM“印”在芯片上? (How Taalas “prints” LLM onto a chip?) #
https://www.anuragk.com/blog/posts/Taalas.html
Taalas 公司发布了一款专为运行 Llama 3.1 8B 模型设计的 ASIC 芯片,实现每秒生成 17,000 个令牌的惊人速度,相当于每秒写出约 30 页 A4 文档。该芯片采用固定功能设计,仅支持单一模型,无法重新编程。
与传统 GPU 推理方式不同,Taalas 通过将模型权重“硬编码”到芯片硅基中,彻底绕过内存瓶颈。在 GPU 上,每次生成一个新令牌都需要反复从显存(VRAM/HBM)加载各层权重并存储中间结果,造成高延迟和高功耗。而 Taalas 芯片将 32 层神经网络结构物理刻蚀在芯片上,输入向量直接通过硬件逻辑门级联处理,无需外部存储,数据以电信号形式沿物理路径连续流动。
芯片的核心创新在于其“魔法乘法器”——使用单个晶体管即可完成 4 位数据的乘法运算,极大提升了计算效率。虽然不依赖外部显存,但芯片仍配备少量片上 SRAM,用于存储 KV 缓存(对话上下文)和 LoRA 微调参数。
尽管定制化芯片通常成本高昂且周期长,但 Taalas 采用可复用的通用逻辑阵列架构,只需修改顶层两层掩码即可适配特定模型。他们仅用两个月就完成了该芯片开发,在半导体领域已属极快。
这项技术有望大幅降低大模型推理的硬件成本与能耗,未来若能实现规模化生产,将显著推动本地化大模型应用的发展。
HN 热度 270 points | 评论 132 comments | 作者:beAroundHere | 1 day ago #
https://news.ycombinator.com/item?id=47103661
- Taalas 通过块量化技术将 80 亿参数的模型压缩至 530 亿个晶体管,实现约 6.5 个晶体管每系数,且利用 3 位量化和有限的系数块组合,大幅降低硬件需求。
- 该方法可能采用近似逻辑合成,通过自定义电路设计在保证精度的同时减少晶体管使用,相比传统深度可微分逻辑网络更具可扩展性。
- 尽管当前最大 FPGA 仅具备数千万逻辑单元,远不足以承载完整大模型,但可用于验证部分模块,且其高昂成本与低能效限制了大规模部署。
- 有观点推测,该芯片可能利用晶体管在亚阈值区工作的特性,实现类似“单晶体管 4 位乘法器”的高效设计,从而突破传统逻辑门功耗瓶颈。
- 该芯片的核心优势在于极低延迟,可实现微秒级首 token 响应,显著优于云端推理的数十毫秒网络延迟,适用于实时视频生成、交互式 AI 等对延迟敏感的应用场景。
- 模型虽经量化降级,但通过非存储比特的方式(如动态计算)节省晶体管开销,进一步提升硬件效率。
- 未来可能基于 FP4 精度扩展至更大规模模型,如 GPT-OSS-20B 或 120B 级别,其硬件架构对低精度浮点友好。
- 该技术本质是将通用计算结构转化为专用门阵列,类似于上世纪的“结构化 ASIC”,利用标准单元库和定制单元结合,实现高灵活性与可移植性。
- 本地化专用硬件不仅提升性能,还增强用户对数据隐私与系统控制权的掌控,形成与集中式云服务之间的长期拉力。
一位前 CIA 分析师的个人陈述 (Personal Statement of a CIA Analyst) #
https://antipolygraph.org/statements/statement-038.shtml
本文是一位前 CIA 分析师的个人陈述,详细记录了其在申请和任职期间经历的多次测谎仪测试过程与心理感受。
在首次申请 CIA 时,作者为准备测谎仪测试阅读了《血中颤抖》(A Tremor in the Blood)一书,了解控制问题与相关问题的设置,以及常见的反测谎手段。他秉持“坦白一切”的态度,未使用任何反制措施。然而,在测试中,他因在身高体重一栏填写了与实际不符的数据而被质疑,随后被要求回忆“是否曾对上司撒谎”,最终因一次真实但情绪复杂的回应(当时正经历癌症疑虑)而失败。
测试当天,作者在等待结果时情绪崩溃,怀疑自己是否真的如表面般诚实。次日重测时,他发现测试中存在“校准测试”环节,即故意要求他撒谎,而 examiner 对其生理反应表现出异常兴奋。作者虽未使用反制手段,但出于愤怒与好奇,故意配合测试,观察其运作机制。最终,经过近四小时的测试,他通过了。
入职后,他发现同事对测谎人员极度排斥,甚至在集体活动中被孤立。多年后,他接受职业心理测评(MMPI),结果显示其诚实程度达到极端水平,被评价为“诚实到近乎天真”,令他既反感又略感欣慰。
在五周年复审中,作者发现测谎测试存在严重偏差:许多员工被无端指控涉及毒品、黑客或间谍活动,而这些指控与个人背景完全不符。他举例称,有人被指控深陷债务,而 examiner 却未查其信用记录;另一人被怀疑与外国情报机构勾结,而他本人对海外旅行毫无兴趣。这些荒谬指控在同事间引发强烈讽刺与笑声,但对当事人却是沉重的心理打击。
作者指出,测谎仪测试并非科学严谨的工具,而更像是一种心理操控与权力展示。他质疑其有效性,并暗示机构内部对测谎结果的依赖存在严重问题。
HN 热度 226 points | 评论 156 comments | 作者:grubbs | 1 day ago #
https://news.ycombinator.com/item?id=47102975
- 聚焦于心理操控而非实际检测效果,多国情报机构使用测谎仪更多是作为一种心理威慑工具,其作用在于制造不确定性与压迫感。
- 测谎仪的真正价值不在于科学准确性,而在于被操作者和操作者自身对其“有效性”的信念,这种信念足以影响审讯结果。
- 一些评论指出,即使测谎仪毫无科学依据,只要它能让人产生心理压力或自我怀疑,就足以达到审讯目的,因此不会被淘汰。
- 有观点认为,测谎仪的存在是为了规避法律限制,使政府在合法框架内进行高风险人员筛选,避免直接滥用暴力或非法手段。
- 有人质疑为何一个无效的工具仍被广泛使用,指出只要它能制造心理不适,就具备实用价值,无需真正有效。
- 评论中提到,某些历史项目如“心灵致动”或“通灵间谍”研究虽荒诞,但源于对敌方可能拥有类似技术的恐惧,从而引发军备竞赛式的投入。
- 一些人将此类项目类比为现代科技泡沫,如人工智能领域中的“通用人工智能”幻想,暗示当前许多看似前沿的研究也可能缺乏真实基础。
- 指出历史上美国中央情报局曾进行过包括药物实验、精神操控等严重违反伦理的行为,说明其内部存在系统性非理性甚至疯狂倾向。
- 有人强调,军队与情报部门需要的是情绪稳定、可控制的人,而非极端反社会人格,因为后者在高压下反而不可靠。
- 反驳上述观点称,美军基层士兵普遍存在反社会特质,这恰恰证明了高强度训练会塑造出适应残酷任务的心理状态。
- 认为情报人员的核心工作并非战斗或监控,而是收集故事、编织叙事,本质上是“讲故事的人”,而非执行者。
- 提及心理操控类节目(如催眠秀)的真实性存疑,但若参与者自愿且无伤害,不能轻易否定其潜在真实性。
- 有读者表示,亲历催眠者反馈真实体验,支持催眠现象存在,不应因主流科学框架而否定其可能性。
- 强调所谓“心灵感应录音带”等证据并未经严格科学验证,不能作为确凿依据,需重新在可控条件下检验。
- 建议阅读《现实是塑料的》一书,以挑战常规认知,重新思考人类意识与现实之间的关系。
- 批评将大量资源用于探索“不可能之事”(如外星纳粹飞船、雪人),认为应基于可解释性和可行性来判断研究合理性。
解析优于验证与类型驱动设计在 Rust 中的应用 (Parse, Don’t Validate and Type-Driven Design in Rust) #
https://www.harudagondi.space/blog/parse-dont-validate-and-type-driven-design-in-rust/
本文讨论了在 Rust 编程中采用“解析优于验证”(Parse, don’t Validate)和类型驱动设计(Type-Driven Design)的理念,旨在通过类型系统在编译时捕获错误,而非依赖运行时检查。
文章以除零错误为例,指出传统做法如使用 Option 或 Result 返回类型来处理失败,虽然能避免 panic,但将验证逻辑推迟到函数内部,导致验证可能重复。例如,在 divide_floats 函数中,若使用 f32 作为参数,必须在函数内检查除数是否为零,而调用方仍需处理可能的失败情况。
为解决此问题,文章引入“新类型模式”(Newtype Pattern),定义 NonZeroF32 类型,其内部封装 f32,但通过私有字段和构造函数 new 保证值不能为零。这样,只有在构造时才进行验证,一旦成功构造,类型本身即保证非零,后续函数可直接使用该类型作为参数,无需再次检查。
通过对比 try_roots(返回 Option<[f32; 2]>)和 newtyped_roots(接受 NonZeroF32)的实现,文章强调:使用新类型可将验证逻辑前置,避免重复检查,提升代码简洁性与安全性。
文章还以 get_cfg_dirs 函数为例,指出即使在返回 Vec<PathBuf> 时已检查非空,调用方仍需再次通过 first() 匹配判断是否为空,造成冗余。若将 Vec 替换为非空集合类型(如 NonEmptyVec),则可确保运行时不会出现空值,从而消除重复验证。
总结:通过将不变量(invariants)编码到类型中,可以将运行时验证转化为编译时保证,提升程序安全性、可读性和维护性。这种“类型驱动设计”是 Rust 风格编程的重要实践之一。
HN 热度 220 points | 评论 59 comments | 作者:todsacerdoti | 1 day ago #
https://news.ycombinator.com/item?id=47103931
- “Parse, Don’t Validate” 的核心是通过类型系统实现“非法状态不可表示”,而不仅仅是封装验证逻辑,真正的理想是让程序在编译时就保证正确性。
- 用 newtype 包装非零整数等方法虽然能提供一定安全,但属于“模拟解析”的验证,不如直接通过类型系统编码不变量来得彻底。
- 非空向量(NonEmpty Vec)的例子比除零错误更适合作为“Parse, Don’t Validate”的范例,因为它通过类型系统强制要求至少有一个元素,真正实现了正确性构建。
- 即使无法完全做到“正确性构建”,使用新类型包装原始数据也能显著提升代码可读性和安全性,因为类型本身携带了是否已验证的信息。
- 真正实现“正确性构建”需要依赖依赖类型系统,如 Agda、Idris 等语言,目前主流语言如 Rust 和 TypeScript 仅提供部分支持。
- TypeScript 虽然没有原生依赖类型,但可通过高级类型技巧实现类似功能,尽管语法不够优雅,但已有实际应用案例。
- Scala 3 引入路径依赖类型,虽非严格依赖类型,但在某些场景下可接近依赖类型的效果,且生态更主流。
- Haskell 可借助 Liquid Haskell 实现范围约束的类型检查,与 GHC 编译器集成良好,适合在现有项目中渐进式引入。
- 在实际开发中,将 ID 等标识符封装为结构化类型,有助于避免混淆多个同类型参数,提高类型安全性。
- 对于算术运算溢出问题,也可尝试通过限制输入范围来避免,但需注意边界条件和闭包性质,否则可能陷入新的复杂性。
- 加法运算的溢出风险不能仅靠单个操作数小于一半最大值来判断,因为另一个操作数即使很小也可能导致溢出,因此设计需更谨慎。
- 两个 N 位整数相加的结果需要 N+1 位才能容纳,这说明单纯限制输入范围并不能解决根本问题,必须重新考虑类型设计。
EDuke32 – 免费开源的《毁灭公爵 3D》游戏引擎移植版 (EDuke32 – Duke Nukem 3D (Open-Source)) #
EDuke32 是一款免费开源的《毁灭公爵 3D》(Duke Nukem 3D)游戏引擎源码移植版本,由 Duke4.net 社区领袖 Richard “TerminX” Gobeille 及多位顶尖程序员共同开发,是目前最活跃、功能最强大的 Duke3D 重制引擎。
该引擎支持 Windows、Linux、macOS、FreeBSD 以及多种掌上设备,无需模拟器即可原生运行,兼容从 Windows 7 到 Windows 11 的所有主流系统。其核心亮点是“Polymer”硬件加速渲染器,支持实时动态光照、阴影映射、法线贴图、镜面反射、模型动画混合、细节纹理、雾效控制、全屏宽屏适配、VSync 等现代图形特性,显著提升视觉体验。
EDuke32 修复了原版游戏在现代系统中常见的崩溃问题,增强了稳定性,并引入了大量新功能:包括 Quake 风格的控制台、命令别名、智能补全、彩色文本、历史记录、WSAD 移动与改进的鼠标瞄准系统、现代 HUD 界面、支持 Ogg Vorbis 和 FLAC 音频格式等。
引擎还支持 HRP(Homebrew Release Project)全部功能,是唯一能完整运行该模组的移植版本。同时内置 VoidSW,即《影子武士》(Shadow Warrior)的完整移植版本,让玩家可畅玩经典作品。
EDuke32 由 GNU GPL 和 BUILD 许可证双重授权,适用于非商业用途。其开发团队长期深耕 Duke3D 场景,拥有深厚背景。该引擎也是独立游戏《Ion Fury》的技术基础,由原作者团队 Voidpoint 打造。
网页还强调其强大的脚本扩展能力,支持复杂模组开发,让玩家和开发者能实现媲美现代游戏的玩法创新。整体而言,EDuke32 不仅是怀旧经典,更是持续进化的现代游戏引擎。
HN 热度 196 points | 评论 71 comments | 作者:reconnecting | 1 day ago #
https://news.ycombinator.com/item?id=47104185
- 有人回忆起自己在 2004 年为 EDuke32 制作 Logo 的经历,当时活跃于 3drealm 论坛,参与过图标、网页设计等项目,对 Duke Nukem 3D 的关卡编辑器和像素化内容印象深刻。
- 有人表示虽然小时候没真正玩过 Duke Nukem 3D,但对关卡编辑器和像素化内容非常着迷,尽管其模组文化不如 Doom 或 Quake 繁荣,但仍有不少精彩创作。
- 有人提到 Duke Nukem 64 的移植版本也值得尝试,尽管与原版相似,但有独特变化。
- 有人回忆起使用局域网联机玩游戏的时光,曾用全息投影和管道炸弹制造恶作剧,充满乐趣。
- 有人特别怀念游戏中的各种“发怒”武器,如管道炸弹、激光陷阱、缩小射线、冷冻枪和 BFG,认为这些设计极具创意。
- 有人回忆起与朋友玩“喷气背包冷冻枪”对决的场景,直到对方被冻住从空中坠落碎裂才结束。
- 有人提到冷冻枪击中敌人后会碎裂的音效,令人印象深刻。
- 有人回忆起 Duke Nukem 3D 的关卡设计非常互动,例如在“死亡之行”关卡中操作监狱闸门和实时监控摄像头,体验类似都市探险。
- 有人分享自己曾想用游戏地图还原自己公司办公室,但因后来发生真实枪击事件而打消念头,但制作过程仍很有趣。
- 有人回忆起在公司深夜玩游戏时,能听到同事的惊叫,激光陷阱的预警音效让人记忆犹新。
- 有人认为 Duke Nukem 3D 在那个时代最具互动性,关卡设计直观,尤其是地球关卡,让人有探索都市的沉浸感。
- 有人提到自己 1997 年通过盗版光盘获得游戏,因缺少关卡编辑器而未能深入,直到后来才接触完整版本,但对游戏的热爱一直延续至今。
- 有人指出 Mac Source Ports 提供了适用于 Apple Silicon 的 EDuke32、Raze 和 JFDuke3D 等端口,支持 Steam 和 GoG 版本数据提取。
- 有人对 Mac Source Ports 的匿名性表示好奇,但发现其项目来源清晰,有 GitHub 和联系邮箱,信息透明。
- 有人指出 EDuke32 并非真正开源,而是基于 Build 引擎的授权协议,禁止商业分发,仅限互联网免费传播。
- 有人整理出多个 Duke Nukem 相关的网站,包括 Duke4.net、Infosuite.duke4.net、MSDN.duke4.net 等,构成一个完整的 Duke 社区生态。
- 有人分享了一个基于 WebAssembly 的 Duke Nukem 3D 演示,可在线运行,但目前仅支持软件渲染。
2026 年 2 月 20 日,Cloudflare 因配置变更导致服务中断事件 (Cloudflare outage on February 20, 2026) #
https://blog.cloudflare.com/cloudflare-outage-february-20-2026/
2026 年 2 月 20 日 17:48 UTC,Cloudflare 因一次配置变更导致服务中断,影响使用其 BYOIP(自带 IP)服务的客户。此次事件并非由网络攻击或恶意行为引起,而是由于对 BYOIP 网络管理机制的改动,意外触发了部分客户 IP 前缀通过 BGP 协议被撤回。
受影响的客户在互联网上无法访问其服务,出现连接超时和失败。同时,Cloudflare 的公共 DNS 解析网站 1.1.1.1 也出现了 403 错误。整个事件持续约 6 小时 7 分钟,主要耗时于恢复被撤回的前缀配置。
在事件期间,约 1,100 个 BYOIP 前缀被撤回,占所有 BYOIP 前缀的 25%。Cloudflare 工程师在发现异常后及时回滚变更,但部分前缀因软件缺陷导致边缘节点配置丢失,无法通过控制台自助恢复,需人工介入处理,最终于 23:03 UTC 完成全部修复。
受影响的服务包括核心 CDN、安全服务、Spectrum、专用出口(Dedicated Egress)、Magic Transit 等依赖 BYOIP 的业务,用户连接均出现中断。部分客户即使重新发布前缀,仍可能经历延迟或连接失败,原因是边缘服务器状态未及时同步。
该事故暴露出系统中仍存在依赖手动操作的高风险流程。为此,Cloudflare 正在推进“Code Orange: Fail Small”计划,目标是将更多操作自动化,减少人为干预,提升系统的容错能力与部署安全性。
HN 热度 180 points | 评论 118 comments | 作者:nomaxx117 | 1 day ago #
https://news.ycombinator.com/item?id=47103649
- 在 API 设计中,若未提供过滤条件,返回空结果比返回全部数据更合理,以避免服务器和客户端因数据量过大而出现内存溢出或性能问题。
- 若 API 的过滤条件是必需的,应返回 400 错误以明确提示客户端请求有误;若可选,则应返回全部结果并配合分页机制。
- 分页机制能有效防止用户意外获取全部数据,相比无限制返回数据更安全,是 API 设计的推荐实践。
- 对于确实需要获取全部数据的场景,应提供专门的接口(如 ListAllObjects),而不是通过省略过滤条件来实现。
- 从性能角度,应优先采用数据流式传输而非将全部数据加载到内存中,这能显著降低延迟并提升响应速度。
- 云服务商应加强系统集成测试,尤其是对边缘功能和少见配置的测试,避免因测试覆盖不足导致生产环境故障。
- 云服务的复杂性使得全面测试变得困难,但应通过模拟真实场景的测试环境来提升系统可靠性。
- 云服务的稳定性对用户至关重要,频繁的故障可能促使用户转向其他替代方案,尽管目前市场上替代品有限。
- 云服务的高可用性曾是其核心优势,但近期频繁的故障令人担忧,可能影响用户信任和长期使用意愿。
- 当前云服务市场缺乏足够竞争,许多用户即使对服务不满也难以找到合适的替代品,尤其是对 L7 DDoS 防护和全球 CDN 有高需求的用户。
- 一些替代服务商如 Bunny.net 虽具备基础功能,但在 WAF 等高级功能上仍无法与主流云服务竞争。
- 将所有关键业务依赖于单一服务商存在巨大风险,用户应警惕“鸡蛋放在一个篮子”的隐患。
- 部分用户认为当前云服务的高性价比和强大能力难以被替代,即使存在风险也难以轻易迁移。
雏鸡中存在 bouba-kiki 效应的证据 (Evidence of the bouba-kiki effect in naïve baby chicks) #
https://www.science.org/doi/10.1126/science.adq7188
这篇文章的标题为《声音与形状的匹配:在天真幼雏中的 bouba-kiki 效应证据》,由 Maria Loconsole、Silvia Benavides-Varela 和 Lucia Regolin 撰写。文章主要探讨了一种名为 “bouba-kiki 效应” 的现象,该现象描述了人类在多种语言中自然地将非词 “kiki” 和 “bouba” 与尖锐和圆润的形状相联系。
** 编辑摘要:**
在语言学研究中,跨文化的实验显示人类在直观上将某些无意义的词与形状进行关联。最著名的例子是 “bouba” 与圆形的关联,以及 “kiki” 与尖锐形状的关联。此现象被假设与语言和语言发展相关联,以及其他人类特征。Loconsole 等人的研究表明,这种现象在新生的小鸡中同样存在。这些小鸡在听到 “kiki” 声音时更倾向于选择尖锐的形状,而在听到 “bouba” 声音时则倾向于选择圆形的形状。这一发现提示这种形状和声音的关联机制可能并不仅限于语言,而可能是更古老且广泛存在于不同物种中的。
** 文章摘要:**
研究的核心是探讨 “bouba-kiki 效应” 的起源,是否仅限于人类。研究团队对家禽(Gallus gallus)的幼雏进行了实验,这种物种在孵化后不久就可以进行测试,从而能够控制其测试前的经验。结果表明,无论是 3 天大的幼雏(实验 1)还是 1 天大的幼雏(实验 2),都能自然选择与其听到的声音相匹配的形状。这表明,这种形状与声音的匹配机制可能是先天的,并且在许多物种中普遍存在。
** 研究方法和结果:**
文章中详细描述了实验的方法,包括如何对幼雏进行声音与形状的匹配测试,以及实验结果的数据分析。这些实验显示,小鸡能够在没有任何语言学习经验的情况下,展示出对声音和形状之间关系的直观理解。
** 研究意义:**
该研究的意义在于挑战了传统对 “bouba-kiki 效应” 仅限于人类语言发展的看法,提出这一现象可能是普遍存在于动物界的先天特征。这为我们理解声音与形状之间的关联提供了新的视角,并可能对语言学、认知科学以及动物行为学等领域的研究产生深远影响。
总结来说,Loconsole 等的研究通过实验证明了幼雏对声音和形状之间的关联有自然的偏好,提示了这种现象在动物界的普遍性,进而可能重塑我们对语言起源和发展机制的理解。
HN 热度 164 points | 评论 53 comments | 作者:suddenlybananas | 1 day ago #
https://news.ycombinator.com/item?id=47105198
- 尖锐物体在振动时会产生更高频率的谐波,因为小尺寸特征在高频下共振,而圆形物体仅在低频下共振,这解释了为何“kiki”音高频率内容更多,大脑会将其与尖锐形状关联。
- “kiki”音不仅音高更高,其声波包络也更尖锐,具有更快速的过渡,这与形状的视觉特征相匹配,因此这种关联并非显而易见。
- 婴儿虽然更圆润,但声音更高,这与尖锐物体产生高音的理论看似矛盾,但实际是由于谐波内容而非基频决定的,小物体自然有更高谐波。
- 声音的“形状”特征(如包络的陡峭程度)与视觉形状的锐利程度存在跨模态对应,这可能源于大脑对高频信息(细节)的处理方式。
- 低通滤波可平滑图像细节,类似地,声音中的高频成分也代表了“锐利”感,这支持了跨感官的频率对应机制。
- 鸡类在自然中通过敲击物体发出声音,如尖锐树枝刮岩石产生高音,圆润物体敲击则产生低沉声音,这可能影响其对形状与声音的联想。
- 语言并非完全任意,大脑在不同感官之间编码结构相似性,这可能为语言的形成提供基础。
- 尽管“bouba-kiki”效应存在,语言整体仍具有高度任意性,该效应只是少数例外,不足以改变语言任意性的总体结论。
- 该效应可能源自进化中对声音与形状的跨模态关联,而非后天学习,因此在无语言能力的鸡类中也能观察到。
- 实验设计中存在潜在偏差风险,如未控制试次顺序效应,且重复实验可能偶然得到显著结果,需更严谨的因果验证。
- 该研究团队常发表类似跨模态认知研究,存在“不断尝试直到出现显著结果”的嫌疑,需警惕实验设计中的系统性偏差。
Hacker News 精彩评论及翻译 #
I verified my LinkedIn identity. Here’s what I han… #
https://news.ycombinator.com/item?id=47103403
All of which is meaningless if it’s not reflected properly in their legal documents/terms. I’ve had interactions with the Flock CEO here on Hacker News and he also tried to reassure us that nothing fishy is/was going on. Take it with a grain of salt.
y-c-o-m-b
如果这些内容没有在他们的法律文件/条款中得到恰当的体现,那么一切都是毫无意义的。我曾与 Flock 的 CEO 在 Hacker News 上有过互动,他也试图向我们保证,没有任何可疑的事情正在发生或曾经发生过。对此姑且听之,姑且信之。
Claws are now a new layer on top of LLM agents #
https://news.ycombinator.com/item?id=47103337
All: quite a few comments in this thread (and another one we merged hither - https://news.ycombinator.com/item?id=47099160 ) have contained personal attacks. Hopefully most of them are [flagged] and/or [dead] now.
On HN, please don’t cross into personal attack no matter how strongly you feel about someone or disagree with them. It’s destructive of what the site is for, and we moderate and/or ban accounts that do it.
If you haven’t recently, please review https://news.ycombinator.com/newsguidelines.html and make sure that you’re using the site as intended when posting here.
dang
各位:本帖(以及我们合并过来的另一个帖子 - https://news.ycombinator.com/item?id=47099160)中包含了不少人身攻击的评论。希望其中大部分现在已经被 [标记] 和/或 [删除] 了。
在 Hacker News,无论你对某人有多强烈的看法或多么不赞同,都请不要进行人身攻击。这会破坏网站的目的,我们会对进行人身攻击的用户进行 [内容审核] 和/或 [封号] 处理。
如果你最近没有看过,请查阅 https://news.ycombinator.com/newsguidelines.html,并确保你在发帖时是按照网站的规定来使用它的。
How I use Claude Code: Separation of planning and … #
https://news.ycombinator.com/item?id=47109309
Revolutionary or not it was very nice of the author to make time and effort to share their workflow.
For those starting out using Claude Code it gives a structured way to get things done bypassing the time/energy needed to “hit upon something that several of us have evolved to naturally”.
vishnugupta
无论是否具有革命性,作者愿意花时间和精力分享其工作流程,这一点都非常值得赞赏。
对于刚开始使用 Claude Code 的用户来说,这提供了一种结构化的工作方式,无需耗费大量时间和精力去“摸索出我们很多人凭经验自然形成的某种方法”。
EU mandates replaceable batteries by 2027 (2023) #
https://news.ycombinator.com/item?id=47099069
The EU is displaying exactly the kind of political leadership we need in this topic: pro-consumer, pro-environment, and firmly against planned obsolescence. Removable batteries were the industry standard in the early days of mobile phones, and it worked perfectly. We only lost that standard when Apple’s ‘walled garden’ mindset infected the rest of the industry.
The amount of avoidable e-waste generated since then is unfathomable: We are talking about mountain-sized piles of discarded electronics, much of it exported to Africa and Asia. There, people (often children) burn those pieces to extract the remaining rare earths, inhaling toxic fumes in the process, while the remaining hazardous garbage is buried and left to poison the groundwater. It is an absolute moral failure that our society, and politicians beholden to Big Tech lobbyists, let this go on for so long in the name of pure profit for a few big companies at the expense of everything else.
mentalgear
在解决这个问题上,欧盟正展现出我们所需的领导力:以消费者为本、保护环境,并坚决反对计划性报废。可拆卸电池曾是手机早期的行业标准,并且效果很好。我们失去这项标准,只是因为苹果的“围墙花园”理念侵蚀了整个行业。
自那时以来产生的可避免的电子垃圾数量是难以想象的:我们谈论的是堆积如山的废弃电子产品,其中大部分被出口到了非洲和亚洲。在那里,人们(通常是儿童)焚烧这些部件来提取残留的稀土元素,在此过程中吸入有毒烟雾;而其余的危险垃圾则被掩埋,任其污染地下水。我们的社会以及那些依附于大型科技游说团体的政客,为了几家大公司的纯粹利润而牺牲了一切,任由这种情况持续了如此之久,这绝对是道德上的失败。
Attention Media ≠ Social Networks #
https://news.ycombinator.com/item?id=47110835
“Over time, my timeline contained fewer and fewer posts from friends and more and more content from random strangers. "
It still baffles me that Facebook fills up my feed with random garbage I have no interest in. I barely use it now because their generated content gets in the way of the reason why I opened facebook to begin with. These algorithmic feeds clearly work for someone but its not what I am looking for, I want to see what I follow and nothing else unless I explictly go looking for it.
PaulKeeble
随着时间的推移,我的时间线上来自朋友的内容越来越少,来自陌生人的内容却越来越多。
Facebook 用我完全不感兴趣的垃圾内容充斥我的信息流,这仍然让我感到困惑。我现在几乎不用它了,因为算法生成的内容妨碍了我最初打开 Facebook 的目的。这些算法信息流显然对某些人有效,但那不是我想要的。我只想看到我关注的内容,除非我主动去寻找,否则不想看任何别的东西。
Why is Claude an Electron app? #
https://news.ycombinator.com/item?id=47106368
Boris from the Claude Code team here.
Some of the engineers working on the app worked on Electron back in the day, so preferred building non-natively. It’s also a nice way to share code so we’re guaranteed that features across web and desktop have the same look and feel. Finally, Claude is great at it.
That said, engineering is all about tradeoffs and this may change in the future!
bcherny
我是 Claude Code 团队的 Boris。
应用的部分工程师过去曾从事过 Electron 开发,因此更倾向于使用非原生方式构建。这也是一种很好的代码共享方式,能确保网页版和桌面版的功能具有相同的外观和感受。最后一点是,Claude 非常擅长处理这类开发工作。
话虽如此,工程学本质上就是在各种取舍之间做选择,未来也可能会改变!
CXMT has been offering DDR4 chips at about half th… #
https://news.ycombinator.com/item?id=47105746
It’s amazing what can be achieved when you can plan 5 years in advance, instead of just making the line go up for the next quarter.
RobotToaster
当你能着眼于五年后的规划,而不是仅仅为了下一季度的业绩增长时,所能取得的成就真是令人惊叹。
Toyota’s hydrogen-powered Mirai has experienced ra… #
https://news.ycombinator.com/item?id=47104960
Kinda glad this is the case. When people go out of their way to avoid common sense they should be punished.
Hydrogen is such a terrible idea it was never getting off the ground. There seems to be some kind of psychosis around it being the next oil and therefore greedy people want to get in early on. But this blinds them to the basic chemistry and physics.
aunty_helen
还挺庆幸事情是这个样子的。当人们竭力回避常识时,他们就该受到惩罚。
氢能这个想法糟透了,根本不可能成功。似乎有种集体性的偏执,认为它会是下一个石油,所以贪婪的人都想趁早入场。但这蒙蔽了他们对基础化学和物理的认知。
I verified my LinkedIn identity. Here’s what I han… #
https://news.ycombinator.com/item?id=47103458
Why anyone would trust the executives at any company when they are only incentivized to lie, cheat, and steal is beyond me. It’s a lesson every generation is hellbent on learning again and against and again.
It use to be the default belief, throughout all of humanity, on how greed is bad and dangerous; yet for the last 100 years you’d think the complete opposite was the norm.
shimman
我实在搞不懂,为什么还有人会信任那些公司的管理层,因为他们唯一的激励机制就是撒谎、欺诈和偷窃。每一代人都执意要反复重蹈这个覆辙,真是令人费解。
过去,对于全人类来说,贪婪是邪恶且危险的,这曾是根深蒂固的观念;然而在过去的一百年里,情况却好像完全反了过来,仿佛贪婪才是常态。
Wikipedia deprecates Archive.today, starts removin… #
https://news.ycombinator.com/item?id=47095992
If they’re under an organised defamation campaign, they’re not helping themselves by DDoSing someone else’s blog and editing archived pages.
leonidasv
如果他们正遭受有组织的诽谤运动,那么攻击他人的博客并篡改存档页面,其实是在帮倒忙。
How I use Claude Code: Separation of planning and … #
https://news.ycombinator.com/item?id=47109042
The author seems to think they’ve hit upon something revolutionary…
They’ve actually hit upon something that several of us have evolved to naturally.
LLM’s are like unreliable interns with boundless energy. They make silly mistakes, wander into annoying structural traps, and have to be unwound if left to their own devices. It’s like the genie that almost pathologically misinterprets your wishes.
So, how do you solve that? Exactly how an experienced lead or software manager does: you have systems write it down before executing, explain things back to you, and ground all of their thinking in the code and documentation, avoiding making assumptions about code after superficial review.
When it was early ChatGPT, this meant function-level thinking and clearly described jobs. When it was Cline it meant cline rules files that forced writing architecture.md files and vibe-code.log histories, demanding grounding in research and code reading.
Maybe nine months ago, another engineer said two things to me, less than a day apart:
-
“I don’t understand why your clinerules file is so large. You have the LLM jumping through so many hoops and doing so much extra work. It’s crazy.”
-
The next morning: “It’s basically like a lottery. I can’t get the LLM to generate what I want reliably. I just have to settle for whatever it comes up with and then try again.”
These systems have to deal with minimal context, ambiguous guidance, and extreme isolation. Operate with a little empathy for the energetic interns, and they’ll uncork levels of output worth fighting for. We’re Software Managers now. For some of us, that’s working out great.
chaboud
作者似乎觉得自己发现了什么革命性的东西……
他们其实发现的,是我们很多人已经自然演变出来的东西。
大语言模型就像精力无限但不可靠的实习生。它们会犯些愚蠢的错误,掉进烦人的结构陷阱,如果放任不管,就得不停地帮它们收拾烂摊子。这就像一个近乎病态地曲解你愿望的精灵。
那该怎么解决呢?就像一个经验丰富的负责人或软件经理的做法一样:在执行前让系统做记录,让它把事情解释给你听,并让它所有的思考都扎根于代码和文档之中,避免在草率审查后对代码妄下断言。
在早期ChatGPT阶段,这意味着进行函数级别的思考并明确描述任务;对于Cline来说,则意味着使用Cline规则文件,强制要求生成architecture.md文件和vibe-code.log日志,并要求其研究基础和代码阅读。
大约九个月前,另一位工程师在不到一天的时间里对我说了两件事:
- “我不明白你的cline规则文件为什么那么大。你让大语言模型绕了那么多圈子,做了那么多额外的工作,简直疯了。”
- 第二天早上:“这简直就是抽奖。我无法让大语言模型可靠地生成我想要的东西。我只能接受它给出的任何东西,然后再试一次。”
这些系统必须在最小上下文、模糊指导和极度隔离的环境下工作。对这些精力充沛的实习生们多一点同理心,它们就能释放出值得为之奋斗的高水平输出。我们现在都是软件经理了。对有些人来说,这事儿干得相当不错。
What not to write on your security clearance form … #
https://news.ycombinator.com/item?id=47102991
The thing that is missed in most efforts to replace people with machines is how often the people that are being replaced are on the fly fixing the system the machine is intended to crystallize and automate.
roughly
在大多数试图用机器取代人工的努力中,人们忽略的一点是:那些被取代的人,往往是在不断地即时修正和完善着本应由机器来固化与自动化的系统。
AI uBlock Blacklist #
https://news.ycombinator.com/item?id=47102378
I like the idea and even considered contributing to the list, but this stopped me:
NAQ (Never Asked Questions)
My website is on your list!
Cry about it.
That’s quite a suspicious attitude. Clearly the maintainer believes he is infallible. I understand the emotions behind this, but this is not how a public blacklist should be maintained.
quiet35
我喜欢这个想法,甚至考虑为这份列表贡献内容,但这个回复让我打消了念头:
NAQ (从未被问过的问题)
我的网站在你的名单上!
那就哭去吧。
这种态度相当可疑。显然,维护者自认为是永不犯错的。我能理解这种情绪背后的动机,但这绝不是一份公共黑名单应有的维护方式。
Across the US, people are dismantling and destroyi… #
https://news.ycombinator.com/item?id=47096151
I’m surprised the flock cameras aren’t being disabled in a more subtle fashion.
All it takes is a tiny drone with a stick attached, and at the end of that stick is a tiny sponge soaked with tempera paint. Drone goes ‘boop’ on the camera lens, and the entire system is disabled until an expensive technician drives out with a ladder and cleans the lens at non-trivial expense.
A handful of enterprising activists could blind all the flock cameras in a region in a day or two, and without destroying them, which makes it less of an overtly criminal act.
Obviously not advocating this, just pointing out that flock is very vulnerable to this very simple attack from activists.
mullingitover
我很惊讶“群组”摄像头并没有以一种更隐蔽的方式被禁用。
只需要一架带有一根小棍的微型无人机,棍子的末端是一块浸了蛋彩颜料的海绵。无人机只需“砰”地一下撞在摄像头镜头上,整个系统就会瘫痪,直到一名收费高昂的技术员带着梯子开车过来,付出不菲的代价擦干净镜头。
一小群有进取心的活动人士一两天内就能让一个地区的所有“群组”摄像头失明,而且还不用破坏它们,这样也就算不上是明显的犯罪行为了。
当然,我并不是提倡这么做,只是指出“群组”系统对活动人士这种非常简单的攻击方式非常脆弱。
Claws are now a new layer on top of LLM agents #
https://news.ycombinator.com/item?id=47100945
I’m impressed with how we moved from “AI is dangerous”, “Skynet”, “don’t give AI internet access or we are doomed”, “don’t let AI escape” to “Hey AI, here is internet, do whatever you want”.
claytonaalves
我印象很深,我们是如何从“AI很危险”、“天网”、“不能给AI连上网,否则我们都完蛋了”、“别让AI跑出来”一路走到了“嘿,AI,给你互联网,你想干嘛就干嘛”。
How I use Claude Code: Separation of planning and … #
https://news.ycombinator.com/item?id=47107622
It’s the attention mechanism at work, along with a fair bit of Internet one-up-manship. The LLM has ingested all of the text on the Internet, as well as Github code repositories, pull requests, StackOverflow posts, code reviews, mailing lists, etc. In a number of those content sources, there will be people saying “Actually, if you go into the details of…” or “If you look at the intricacies of the problem” or “If you understood the problem deeply” followed by a very deep, expert-level explication of exactly what you should’ve done differently. You want the model to use the code in the correction, not the one in the original StackOverflow question.
Same reason that “Pretend you are an MIT professor” or “You are a leading Python expert” or similar works in prompts. It tells the model to pay attention to the part of the corpus that has those terms, weighting them more highly than all the other programming samples that it’s run across.
nostrademons
这是注意力机制在起作用,同时也少不了网络上的那种“争强好胜”心态。大语言模型已经吸收了互联网上所有的文本,以及GitHub的代码库、拉取请求、StackOverflow的帖子、代码审查、邮件列表等等内容。在这些信息源中,经常会有人会说“实际上,如果你深入细节来看……”或者“如果你仔细研究这个问题的复杂性……”或者“如果你深刻理解了这个问题”,然后紧接着就是对到底应该如何正确操作进行一番非常深入、达到专家级别的详细解释。你希望模型采纳的是修正建议中的代码,而不是原始StackOverflow问题里的代码。
同样的道理,为什么在提示词中说“假装你是一位麻省理工学院的教授”或者“你是一位顶级的Python专家”这类方法会奏效。这告诉模型要去关注语料库中包含这些术语的部分,并给予比它曾经接触过的其他所有编程示例更高的权重。
Why is Claude an Electron app? #
https://news.ycombinator.com/item?id=47105836
Because code isn’t free.
I can see it in my team. We’ve all been using Claude a lot for the last 6 months. It’s hard to measure the impact, but I can tell our systems are as buggy as ever. AI isn’t a silver bullet.
yodsanklai
因为代码不是免费的。在我团队里我能看到这一点。我们过去6个月一直在大量使用Claude。很难衡量其影响,但我能看出我们的系统和以前一样满是bug。AI不是万能解法。
CXMT has been offering DDR4 chips at about half th… #
https://news.ycombinator.com/item?id=47101725
As a outside observer, NAND and DRAM prices have skyrocket ed with the AI infrastructure boom just as the China-based fabs are coming online.
It is wise for these Chinese fabs to eventually use a very aggressive dumping strategy to price well below cost push out other players forever, especially in DRAM.
But right now it seems they can max out their supply capacity without selling below cost.
Appears to me like China’s endless state led (often unproductive) investment in semiconductor manufacturing subsidies (for decades) is about to pay off with some industry dominance soon.
Like the electric vehicle sector.
someperson
作为局外人,随着AI基础设施的兴起,NAND和DRAM价格飞涨,而中国的芯片制造厂恰好在此刻投产。 这些中国芯片制造厂最终采取激进的倾销策略,以远低于成本的价格将竞争对手彻底挤出市场,尤其是在DRAM领域,是明智之举。 但就目前来看,他们似乎无需低于成本就能充分利用其产能。 在我看来,中国几十年来由国家主导的(通常是低效的)对半导体制造补贴的持续投入,即将在不久的将来换来行业的主导地位。 就像电动汽车行业一样。
Why is Claude an Electron app? #
https://news.ycombinator.com/item?id=47106064
And after 12 months, most probably no one from your team will understand what the result of half of those bugs is.
When devs outsource their thinking to AI, they lose the mental map, and without it, control over the entire system.
reconnecting
十二个月后,你团队里很可能没人能弄懂其中一半的bug问题究竟是什么结果。
当开发者把思考外包给AI时,他们就失去了心智模型,而没有这个模型,他们也就丧失了对整个系统的控制力。
I verified my LinkedIn identity. Here’s what I han… #
https://news.ycombinator.com/item?id=47102992
I’ll note that Persona’s CEO responded on LinkedIn 1 pointing out that:
- No personal data processed is used for AI/model training. Data is exclusively used to confirm your identity.
- All biometric personal data is deleted immediately after processing.
- All other personal data processed is automatically deleted within 30 days. Data is retained during this period to help users troubleshoot.
- The only subprocessors (8) used to verify your identity are: AWS, Confluent, DBT, ElasticSearch, Google Cloud Platform, MongoDB, Sigma Computing, Snowflake The full list of sub-processors seems to be a catch-all for all the services they provide, which includes background checks, document processing, etc. identity verification being just one of them.
I have I’ve worked on projects that require legal to get involved and you do end up with documents that sound excessively broad. I can see how one can paint a much grimmer picture from documents than what’s happening in reality. It’s good to point it out and force clarity out of these types of services.
aylmao
我会指出,Persona的首席执行官在领英上做出了回应 1,指出:
- 处理的任何个人数据均不用于AI/模型训练。数据仅用于确认您的身份。
- 所有生物识别个人数据在处理后立即删除。
- 处理的所有其他个人数据会在30天内自动删除。在此期间保留数据是为了帮助用户排查问题。
- 用于验证您身份的唯一子处理商(共8家)是:AWS、Confluent、DBT、ElasticSearch、Google Cloud Platform、MongoDB、Sigma Computing、Snowflake 完整的子处理商列表似乎囊括了他们提供的所有服务,其中包括背景调查、文件处理等,而身份验证只是其中之一之一。
我曾参与过需要法务部门介入的项目,最终得到的文件措辞确实会显得过于宽泛。我能理解人们如何根据这些文件描绘出比实际情况可怕得多的图景。指出这些问题并迫使这类服务做出澄清是件好事。
How I use Claude Code: Separation of planning and … #
https://news.ycombinator.com/item?id=47110595
I think the real value here isn’t “planning vs not planning,” it’s forcing the model to surface its assumptions before they harden into code.
LLMs don’t usually fail at syntax. They fail at invisible assumptions about architecture, constraints, invariants, etc. A written plan becomes a debugging surface for those assumptions.
sparin9
我认为这里真正的价值不在于“是否规划”,而在于强制模型在假设固化成代码之前就将其明确地暴露出来。
大型语言模型通常不会在语法上出错,而是在架构、约束、不变量等方面的隐性假设上犯错。一份书面计划就成了检验这些假设的调试工具。
Why is Claude an Electron app? #
https://news.ycombinator.com/item?id=47106512
As a user I would trade fewer features for a UI that doesn’t jank and max out the CPU while output is streaming in. I would guess a moderate amount of performance engineering effort could solve the problem without switching stacks or a major rewrite. (edit: this applies to the mobile app as well)
hedgehog
作为一名用户,我宁愿功能少一点,也不希望UI在输出流媒体时卡顿,并且CPU占用率达到100%。我猜,投入适度的性能优化工作应该就能解决问题,而无需更换技术栈或进行大规模重写。(编辑:这也适用于移动端应用)
Why is Claude an Electron app? #
https://news.ycombinator.com/item?id=47105661
Free as in puppy
Edit: The title of the post originally started with “If code is free,”
Retr0id
像领养狗狗一样‘免费’
编辑:原标题最初是‘如果代码是自由的’,
Keep Android Open #
https://news.ycombinator.com/item?id=47102072
Exactly. The fact that we’ve all internalized “store” as the default distribution model is itself a win for the platform gatekeepers. On desktop, nobody calls a .deb repo or a download link a “store” — it’s just software distribution. Android sideloading should be the same: download an APK, verify the signature, install. The entire debate around “alternative stores” already concedes that distribution requires someone’s permission.
dhayabaran
没错。我们都习惯性地将“商店”视为默认的分发模式,这本身就是平台守门人的一大胜利。在桌面端,没人会把.deb软件仓库或下载链接称为“商店”——这只是软件分发。Android的侧载也应该如此:下载APK,验证签名,安装。围绕“替代商店”的整个争论,其实已经承认了分发需要获得某人的许可。
Across the US, people are dismantling and destroyi… #
https://news.ycombinator.com/item?id=47096392
The goal here by activists isn’t to directly physically disarm every camera. Like with any act of protest, it’s at least as much about the optics and influence of public opinion. Visibly destroying the units is more cathartic and spreads the message of displeasure better. Ultimately what needs to change is public perception and policy.
idle_zealot
活动人士的目标并非直接拆除每一台摄像头。就像任何抗议行动一样,这同样(甚至更多地)关乎公众舆论的影响和观感。公开销毁这些设备更能起到宣泄情绪的作用,也能更好地传播不满的信息。归根结底,需要改变的是公众的看法和相关的政策。
What not to write on your security clearance form … #
https://news.ycombinator.com/item?id=47103657
In case you want to read about the proactive information speeding up your security clearance: https://catless.ncl.ac.uk/Risks/6/50
grepfru_it
如果你想了解更多关于主动信息如何加速你的安全审查,可以阅读这篇文章:https://catless.ncl.ac.uk/Risks/6/50