2025 08 09 HackerNews

2025-08-09 Hacker News Top Stories #

  1. GPT-5 是 OpenAI 推出的最新智能模型,具备深度思考能力,特别是在编程、写作和健康咨询方面表现出色,同时更安全、准确,减少了幻觉和错误信息。
  2. Nicholas-L-Johnson 的 flip-card 项目是一款超薄商务名片,内置流体隐式粒子(FLIP)仿真功能,项目代码开源并提供调试工具。
  3. Vibechart 强调数据可视化的主观解读,指出图表可能不真实、不美观或不实用,并提供了图表诚信相关的资源。
  4. Simon Willison 分享了 GPT-5 模型家族的特性、定价和系统卡,认为其稳定性和性能有显著提升,定价竞争力强。
  5. 历史技术树是一个展示从300万年前至今技术发展的互动式项目,目前包含1948项技术和2286个技术连接。
  6. GPT-5 是 OpenAI 推出的最新编程模型,专为开发者设计,在 SWE-bench Verified 基准测试中表现优异,擅长生成高质量代码和处理复杂任务。
  7. YouTube 用户 Talking Sasquach 测试了一款自定义固件,能够通过 Flipper Zero 绕过现代汽车的滚动码安全系统,导致钥匙功能失效。
  8. 在开发 Immich 过程中遇到的“诅咒知识”包括 Zitadel Actions、EXIF 元数据、YAML 空格等问题,提醒开发者在使用相关技术时需谨慎。
  9. 文章探讨了“本地优先”技术的概念,并介绍了 Linear、Jazz 等工具在本地数据存储和同步方面的应用及其挑战。
  10. OpenAI 发布了首个开源大型语言模型 gpt-oss-120b 和 gpt-oss-20b,这些模型在某些基准测试中表现出色,但在实际应用中表现有限。

GPT-5 #

https://openai.com/gpt-5/

GPT-5 是 OpenAI 最新推出的智能模型,它在数学、科学、金融、法律等多个领域提供更有用的响应。GPT-5 能够深度思考,尤其在编程协作、写作伙伴和健康问题回答方面表现出色。它还更安全、准确,减少了幻觉和假装知道的情况。ChatGPT 新增了个性化设置、语音改进、学习模式和与 Gmail 及 Google 日历的连接功能。GPT-5 在 API 平台中提供了不同规模的模型,包括 GPT-5、GPT-5 mini 和 GPT-5 nano,以适应不同的需求和预算。对于企业用户,GPT-5 能够更好地理解和处理工作任务,提高工作效率。OpenAI 还强调了 GPT-5 在安全性和隐私保护方面的努力。


HN 热度 2006 points | 评论 2405 comments | 作者:rd | 1 day ago #

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

  • 随着时间的推移和模型的进步,不同公司的 AI 性能越来越接近,竞争变得更加激烈。
  • 达到 AGI(人工通用智能)的 AI 将能够自我递归改进,迅速超越人类在所有领域的能力。
  • 我们目前并未在创造 AGI 的道路上,而是在创造复制和混合人类知识的软件。
  • AI 在非计算机领域实现革命性突破的可能性不大,因为它无法与物理世界互动。
  • AI 可能通过模拟一切来实现突破,而不需要直接与物理世界互动。
  • 提供给机器的完美模型来源是个问题,我们还没有完全理解生物体内的复杂交互。
  • 如果 AI 能够模拟所有生物和化学过程,就不需要解剖动物或进行实验。
  • 即使 AI 非常智能,没有与实际世界的广泛互动,也无法创建一个完美的世界模型。
  • 拥有完美模型的想法类似于“假设一个球形奶牛”,实际操作中难以实现。
  • 超人智能并不意味着能够拥有一个完美的世界模型。
  • 数学上不可能有完美的一切模拟,AI 需要在现实世界中进行实验来发现真相。

Ultrathin business card runs a fluid simulation #

https://github.com/Nicholas-L-Johnson/flip-card

Nicholas-L-Johnson 的 flip-card 项目是一个运行流体隐式粒子(FLIP)仿真的商务名片。该项目的 PCB 设计文件存放在“kicad-pcb”文件夹中,灵感来源于 mitxela 的流体仿真吊坠项目。流体仿真逻辑包含在一个独立的 crate 中,位于“fluid_sim_crate”文件夹,基于 Matthias Müller 的工作和他的 YouTube 频道“Ten Minute Physics”。项目中一个较难的功能是可充电电池,设计参考了 cnlohr 的 tiny touch lcd 项目。此外,“sim_display”文件夹中提供了一个 WASM 模拟器,用于调试仿真问题。RP2350 上的流体仿真实现位于“flip-card_firmware”文件中。更多细节可以在每个文件夹的 README 文件中找到。该项目采用 MIT 许可证。


HN 热度 837 points | 评论 170 comments | 作者:wompapumpum | 13 hours ago #

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

  • 超薄名片内置流体模拟的优势包括更真实的流体运动、成本更低、建造更易、调试更简单,但缺点是可能弄湿屁股和缺乏挑战性。
  • 有人认为名片尺寸过小导致流体运动过快。
  • USB-C 端口集成在板边缘是一个很好的创意,未来可能会流行。
  • 这种名片虽然很酷,但可能过于昂贵,不适合随意分发。
  • 有人可能会因为这种独特的名片而记住你,甚至在几周后还能记住你的联系方式。
  • 在面试嵌入式系统工作时,如果候选人能展示这样的名片,会留下深刻印象。
  • 有人认为这种名片在简历筛选和面试阶段可能不实用,但在视频通话中可能有用。
  • 这种名片在商务会议中可能留下持久印象,大多数人会保留而不是丢弃。
  • 有人认为名片并没有过时,而是人们没有正确使用它们。
  • 有人通过在简历上做特殊设计(如缩小尺寸、添加水印)来提高被注意的机会。
  • 这种电子名片可以作为作品集项目,用于吸引潜在客户或工作机会。
  • 如果要求归还,那么它就不再是名片,而是一个玩具。
  • 有人认为在简历或网站上指向这个项目同样能给人留下深刻印象。
  • 有人期待这种名片能显示自定义的 QR 码。
  • 有人认为可以在名片上显示姓名和/或电子邮件。
  • 有人询问这种名片的成本,并考虑将其用于黑客大会的嘉宾通行证。
  • 有人提到可以发送 BOM 和板文件给服务提供商,让他们不仅返回 PCB 板,还进行元件装配。
  • 有人认为每张名片 10 美元的成本对于贸易展览中的昂贵商品来说并不高。
  • 有人指出,根据 BOM,这种名片的成本并不高,尤其是如果批量购买 LED 的话。
  • 有人建议在名片正面添加 QR 码,以便传输 vCard,或者让背面的 LED 显示 QR 码。
  • 有人提出可以包含一个悲伤的电子宠物,如果名片不被归还,它会表现出心碎的样子。

Vibechart #

https://www.vibechart.net/

vibechart 是一个结合主观解读和数据可视化的概念,指的是根据个人想要看到的而非真实、美观或有用的内容来制作图表。这个概念与“谎言、该死的谎言和统计数据”相呼应。网页中提到了 GPT5 的发布,并感谢了 marvinborner.de 在发布后期捕捉到的图表犯罪行为。同时,网页鼓励人们了解图表如何撒谎,并查看数据可视化的耻辱堂。此外,还提到了 CSS 动画目前的痛苦之处,引用了一句话:“这个网页对我的手机来说就像癌症。差点就死了。”


HN 热度 836 points | 评论 186 comments | 作者:datadrivenangel | 1 day ago #

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

  • 有人质疑 OpenAI 在产品发布中展示的图表数据和条形图大小不准确,认为这是公司不负责任的表现。
  • 有网友认为,即使是备受期待的产品发布,也出现了不应该的低级错误。
  • 有人提出疑问,如果 OpenAI 的 AI 技术真的那么好,为什么没有用来制作更好的图表。
  • 有人猜测可能是 AI 生成的图表导致了这些问题。
  • 有网友认为,图表本身就是展示 AI 模型能力的证据,而不是图表中的数字或数据。
  • 有人讽刺地说,这可能是 AI 生成的 PowerPoint。
  • 有人提出,AI 可能让人们变得不那么愿意和能够进行批判性思考。
  • 有人担心 AI 在社交工程方面的能力,认为它们能够说服人们做出错误的判断和决策。
  • 有人指出,非常聪明的人有时会说服自己接受糟糕的想法,而 AI 可能会将这种能力普及给所有人,导致悲剧。
  • 有人提到 AI 完全取代思考是一种误用,同时担心 AI 可能造成心理伤害。
  • 有人强调需要考虑工具的实际使用情况和观察到的实际效果。
  • 有人指出,AI 被用来让人们看起来愚蠢,而不是让人们变愚蠢。
  • 有人讽刺地说,如果 GPT 生成了这些图表,那么它们就是人类错误的真实写照。
  • 有人表示,无论是人类故意制造还是机器生成未经审查,都是不好的情况。
  • 有人提出,机器生成的错误可能更糟糕,因为机器可以生成更多的图表。
  • 有人指出,如果一家公司的业务是生产大量错误的输出并称之为足够好,那么他们可能不会在乎这里的准确性问题。
  • 有人讽刺地说,这使得苹果的图表看起来严谨透明。

GPT-5: Key characteristics, pricing and system card #

https://simonwillison.net/2025/Aug/7/gpt-5/

Simon Willison 在他的博客中分享了他对 GPT-5 模型家族的初步体验。GPT-5 是他最近两周来的日常驱动模型,他觉得它很少出错,通常给人感觉能胜任或偶尔给人留下深刻印象。GPT-5 在 ChatGPT 中是一个混合体,能够在不同模型间切换,以适应对话的类型、复杂性、工具需求和明确意图。GPT-5 API 则更简单,提供三种模型:常规、迷你和纳米,每种模型都可以在四个推理级别上运行。这些模型的输入限制为 272,000 个标记,输出限制(包括不可见的推理标记)为 128,000 个标记,支持文本和图像输入,仅支持文本输出。

GPT-5 模型被设计为替代 OpenAI 产品线中的大多数其他模型。GPT-5 的定价极具竞争力,输入成本为每百万 1.25 美元,输出成本为每百万 10 美元,比 GPT-4o 的输入成本低一半,输出成本保持不变。GPT-5 还提供了显著的标记缓存折扣,对于在前几分钟内使用过的输入标记提供 90% 的折扣。

系统卡上的信息显示,GPT-5 模型在减少幻觉、提高指令遵循能力和最小化阿谀奉承方面取得了显著进步,并在 ChatGPT 最常见的三个用途:写作、编码和健康方面提升了 GPT-5 的性能。所有 GPT-5 模型都采用了最新的安全训练方法“safe-completions”,以防止生成不允许的内容。这种方法专注于助手输出的安全性,而不是对用户意图进行二元分类。OpenAI 还发表了一篇关于这一主题的论文,讨论了从硬拒绝到安全完成的转变,以实现以输出为中心的安全训练。


HN 热度 613 points | 评论 284 comments | 作者:Philpax | 1 day ago #

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

  • GPT-5 被期待为世界震撼的发布,但实际上只是稳定和渐进的改进。
  • 纯规模最大化主义可能正在消失,人们开始寻找新的方法来提高性能和降低成本。
  • 对于当前技术实现通用人工智能(AGI)所需的数据和计算量持怀疑态度。
  • 行业实验室的封闭和营销语言的泛滥使得人们难以了解这些模型的实际状态。
  • 与 20 世纪初的蒸汽机车类似,当前的大型语言模型(LLM)在提高效率的同时增加了成本和复杂性。
  • 未来可能需要不同的方法来实现世界震撼的发布。
  • F1 赛车的例子表明,尽管技术进步,但速度提升并不像过去那样显著。
  • F1 赛车的速度受限于旨在使比赛更具竞争力和娱乐性的规则。
  • LLMs 在某些任务上没有监督的情况下永远不够好,因为它们没有真正的智能。
  • LLMs 看到的语言是标记(tokens),而不是字母,这是 LLMs 的基本属性。
  • LLMs 不能阅读或写作,但这并不意味着它们不能准确模拟语言。
  • 智能和认知是复杂的,不能仅从一次不符合预期的行为就断定智能的缺失。

Historical Tech Tree #

https://www.historicaltechtree.com/

历史技术树是一个由 Étienne Fortier-Dubois 创建的互动式可视化项目,展示了从 300 万年前至今的技术发展历史。目前,这个项目包含了 1948 项技术和 2286 个技术之间的连接。


HN 热度 498 points | 评论 112 comments | 作者:louisfd94 | 1 day ago #

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

  • 这个技术树显然有盲点,低估了冶金和精密机械加工的进步对技术的影响。
  • 技术树的定义不一致,导致一些基于文化实践的技术如玉米碱处理被包括在内。
  • 技术树中纺织相关的技术非常稀疏,例如“服装”只被归为一项发明。
  • 新世界农业的技术节点出现和消失得莫名其妙,可能是因为没有明确表示“自然”边缘。
  • 应该最大化技术的定义,以便看到所有节点,并根据实际发生的事情解决依赖关系问题。
  • 技术树可能会变成一个以技术为中心的世界历史,这个历史导航起来会非常吸引人。
  • 技术树感觉非常“男性”为中心,许多纺织技术如各种缝纫方法和结都是技术,但这些大多是女性发明的,历史记录中往往被忽视。
  • 玉米碱处理是一种对生存至关重要的技术,但它并不直接促进技术进步。
  • 古代的许多技术,包括冶金,直到很晚才被真正理解。
  • 许多工艺传统是师徒相传,没有明确的理论依据,类似于软件世界中的库、设计模式和语言。
  • 许多工匠拥有秘密配方,这在现代仍然存在,例如 Zildjian 的钹制造技术。
  • 安德鲁·卡内基通过雇佣化学家测试矿石中铁含量,比其他钢铁制造商获得了优势。
  • 梅索美洲文明的发展与玉米碱处理技术紧密相关,这种技术对文明的影响不容忽视。

GPT-5 for Developers #

https://openai.com/index/introducing-gpt-5-for-developers

今天,我们发布了 GPT-5,这是我们 API 平台中迄今为止最好的模型,用于编程和代理任务。GPT-5 在关键编程基准测试中处于最前沿,SWE-bench Verified 得分 74.9%,Aider 多语言测试得分 88%。我们训练 GPT-5 成为一个真正的编程合作伙伴,它擅长生成高质量代码,处理修复错误、编辑代码和回答复杂代码库问题等任务。该模型可操控性强,能够准确遵循详细指令,并在工具调用前后提供行动解释。

GPT-5 在前端编程方面也表现出色,内部测试中 70% 的时间击败了 OpenAI o3。我们与初创企业和企业中的早期测试者合作,训练 GPT-5 处理现实世界的编程任务。Cursor 表示 GPT-5 是他们使用过的“最智能的模型”,“非常易于操控,甚至具有其他模型中未见的个性”。Windsurf 分享说 GPT-5 在他们的评估中处于最前沿,并且“与其他前沿模型相比,工具调用错误率降低了一半”。Vercel 表示“这是最好的前端 AI 模型,在审美和代码质量方面都达到了最高性能,使其独树一帜”。

GPT-5 还在长期代理任务中表现出色,在 τ2-bench 电信(96.7%)上取得了最前沿的结果,这是一个两个月前发布的工具调用基准测试。GPT-5 改进了工具智能,能够可靠地串联数十个工具调用,无论是顺序还是并行,都不会迷失方向,使其在执行复杂、现实世界任务方面更加出色。它还更精确地遵循工具指令,更好地处理工具错误,并在长上下文内容检索方面表现出色。Manus 表示 GPT-5“在他们的内部基准测试中取得了他们见过的最好表现”。

我们还在我们的 API 中引入了新功能,让开发者能够更好地控制模型响应。GPT-5 支持一个新的冗余参数(值:低、中、高),以帮助控制答案是否简短直接或长篇全面。GPT-5 的 reasoning_effort 参数现在可以取最小值,以便在不进行广泛推理的情况下更快地获得答案。我们还添加了一种新工具类型——自定义工具,让 GPT-5 可以使用纯文本而不是 JSON 调用工具。自定义工具支持通过开发者提供的上下文无关文法进行限制。

我们在 API 中发布了三种大小的 GPT-5——gpt-5、gpt-5-mini 和 gpt-5-nano,以便开发者在性能、成本和延迟之间有更多的灵活性。GPT-5 在 ChatGPT 中是一个推理、非推理和路由器模型的系统,而在 API 平台中的 GPT-5 是推理模型,为 ChatGPT 提供最大性能。值得注意的是,ChatGPT 中最小推理的 GPT-5 与 ChatGPT 中的非推理模型不同,更适合开发者。ChatGPT 中使用的非推理模型作为 gpt-5-chat-latest 提供。

GPT-5 是我们迄今为止发布的最强大的编程模型。它在编程基准测试和现实世界用例中超越了 o3,并被微调以在 Cursor、Windsurf、GitHub Copilot 和 Codex CLI 等代理编程产品中大放异彩。GPT-5 给我们的 alpha 测试者留下了深刻印象,在他们的许多私有内部评估中创下了记录。


HN 热度 453 points | 评论 259 comments | 作者:6thbit | 1 day ago #

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

  • GPT-5 在长任务中的上下文意识和持续性表现良好
  • Charlie Labs 通过实际测试发现 GPT-5 在解决 Github 问题上表现出色
  • 网站动画背景对光敏性用户不友好,建议改进
  • 网站背景动画问题已得到解决
  • GPT-5 在处理复杂任务时的上下文管理能力是关键
  • Github Copilot 在代码辅助中被低估,其“spaces”功能可能有助于管理上下文
  • GPT-5 可能在聚焦上下文方面有所进步,尤其是在代码文件、问题、讨论和 PR 中
  • 需要将问题分解成可以后续整合的上下文窗口
  • GPT-5 是否真的有 400k 的上下文能力还有待验证
  • 拥有大的上下文窗口与有效使用大量上下文是两回事
  • 即使有大量上下文,也存在收益递减的问题

Flipper Zero dark web firmware bypasses rolling code security #

https://www.rtl-sdr.com/flipperzero-darkweb-firmware-bypasses-rolling-code-security/

最近,YouTube 上的 Talking Sasquach 测试了 Flipper Zero 的自定义固件,该固件能够完全破解大多数现代汽车使用的滚动码安全系统。滚动码安全系统通过在发射器和接收器之间同步算法来为每次传输生成一个新的、独特的代码,以防止重放攻击和未经授权的访问。

过去,我们讨论过一种名为 RollJam 的攻击滚动码安全系统的方法,该方法通过干扰原始钥匙信号使车辆无法接收,同时记录信号以备后用。然而,这种攻击在现实中很难实施。

这种新的攻击只需要从钥匙上进行一次按钮按压捕获,无需任何干扰。仅凭这次捕获,就能够模拟所有钥匙的功能,包括锁定、解锁和打开后备箱。这样做的后果是原始钥匙会失去同步,将不再起作用。

据 Talking Sasquach 称,攻击的工作原理是通过对滚动码序列进行逆向工程,无论是通过序列泄露还是事先对大量已知代码的序列进行暴力破解。然而,另一篇文章提到,固件基于“RollBack”攻击,该攻击通过以特定顺序回放捕获的滚动码来启动同步系统的“回滚”。

无论采用哪种方法,展示攻击的视频显示,只需要一次捕获就能完全模拟一个钥匙。

受影响的车辆包括克莱斯勒、道奇、菲亚特、福特、现代、吉普、起亚、三菱和斯巴鲁。目前似乎没有简单的解决方案,除了大规模召回车辆。


HN 热度 449 points | 评论 275 comments | 作者:lq9AJ8yrfs | 1 day ago #

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

  • KeyLoq 系统有一个制造商密钥,如果已知该密钥,只需两个样本就能确定序列密钥
  • 没有制造商密钥的情况下,可以通过干扰重放攻击,但暴力破解序列密钥成本过高
  • 可以设计一个不需要固定秘密主密钥的系统,而是为每个接收器生成一个独特的随机密钥,并在钥匙和接收器之间建立物理连接来配对
  • 通过 Diffie-Hellman 密钥交换可以在无线通信中安全地配对密钥,无需暴露密钥
  • 物理接触可以证明用户合法控制车辆,而非随机路人
  • 物理接触不够证明某人合法控制车辆,因为小偷可以通过破坏车窗获得物理接触
  • 制造商内置的密钥无法被小偷提取,但其他评论指出实际上可以被提取
  • 需要提高安全门槛,比如需要破坏车辆才能提取密钥,这使得安全等同于物理锁
  • 攻击需要在配对时发生并留下证据,因此这不是一个现实的问题
  • 担心中间人攻击,但一旦攻击者离开范围,钥匙将停止工作,用户会注意到
  • 可以使用 RFID 芯片作为次要通道,虽然不是 100% 安全,但中间人设备需要在车内才能拦截配对请求
  • 现代汽车已经有一个复杂的配对模式,需要在车内和钥匙上按按钮,这增加了安全性
  • 车库门开启器也类似,需要某种类型的物理访问来阻止任何人发起配对
  • 一些汽车要求钥匙物理插入点火开关才能配对,这增加了额外的安全障碍
  • 配对不应该以方便为主,不需要帮助小偷快速配对
  • 通过 OBD2 端口可以轻易绕过安全措施,但有人指出这不是 OBD2 端口而是 CANBUS,而且更安全的车辆设计可以限制其功能
  • 在欧洲车上尝试通过 CANBUS 进行攻击会失败
  • 可以在车内按按钮,不需要电缆
  • 现场编程的主要目的是制造物流,即在工厂中一次性配对钥匙到汽车
  • 如果丢失车钥匙,现场编程也能工作
  • 需要在两端都采取一些行动,比如在开启器上按按钮,然后在开启器处于配对状态时配对遥控器
  • 需要某种物理方式来证明用户有资格配对,而不是钥匙本身需要硬连线进行配对过程

Cursed Knowledge #

https://immich.app/cursed-knowledge/

页面标题为 “Cursed Knowledge | Immich”,主要内容介绍了一些开发过程中遇到的 “诅咒知识”,即开发人员在使用或构建 Immich 时发现的令人沮丧或意想不到的问题。这些知识点反映了技术中的一些不便和陷阱,开发者希望自己没有了解到这些内容。以下是页面中提到的一些具体问题的总结:

  1. Zitadel Actions:Zitadel 的自定义脚本功能使用的 JS 引擎不支持正则表达式命名捕获组,导致脚本执行时受到限制。
  2. Entra:Microsoft Entra 支持 PKCE(Proof Key for Code Exchange),但在其 OpenID 发现文档中没有包括这一点,导致客户端误以为 PKCE 不可用。
  3. **EXIF 元数据中的图像尺寸 **:图像的 EXIF 元数据中尺寸可能与实际尺寸不同,造成裁剪和调整大小时的问题。
  4. **YAML 的空格 **:YAML 格式中的空格处理常常不够直观,容易引发错误。
  5. **Windows 中的隐藏文件 **:Windows 中的隐藏文件无法使用 “w” 标志打开,加上 SMB 选项 “隐藏点文件”,造成许多混淆。
  6. **bash 脚本中的回车符 **:Git 可以配置为在检出时自动将 LF(换行符)转换为 CRLF(回车换行符),这会破坏 bash 脚本的执行。
  7. Cloudflare Workers 中的 Fetch:Cloudflare Workers 中的 Fetch 请求默认使用 http,即使明确指定为 https,这可能导致重定向循环。
  8. ** 移动设备的 GPS 共享 **:一些手机在应用程序没有位置权限时,会静默删除图像中的 GPS 数据。
  9. PostgreSQL 的 NOTIFY:PostgreSQL 在事务中执行所有操作,包括 NOTIFY,这意味着使用 socket.io postgres 适配器每 5 秒都会向 WAL(写前日志)写入数据。
  10. **npm 脚本 **:每次运行 npm 脚本时都会向 npm 注册中心发起 http 请求,因此用 npm 脚本来执行健康检查并不是一个好主意。
  11. ** 额外的 50 个包 **:在 JavaScript 社区中,有一个用户通过向项目添加 “向后兼容性” 来增加额外的 50 个依赖包,造成项目的复杂性。
  12. ** 长密码问题 **:bcrypt 实现只使用字符串的前 72 个字节,后面的字符将被忽略。
  13. **JavaScript 日期对象 **:JavaScript 的日期对象对于年份和日期是从 1 开始索引的,但月份是从 0 开始索引的,这容易造成混淆。
  14. **ESM 导入 **:在 Node.js v20.8 之前,在 CommonJS 项目中使用 --experimental-vm-modules 导入 ES 模块时,会导致 Node.js 崩溃。
  15. **PostgreSQL 参数限制 **:PostgreSQL 对参数数量有限制(65,535 个),因此在处理大数据集的批量插入时可能会失败。
  16. ** 安全上下文 **:某些 Web 特性(如剪贴板 API)仅在 “安全上下文”(即 https 或 localhost)中工作。
  17. **TypeORM 删除 **:TypeORM 的 remove 实现会修改输入对象,删除原始对象中的 id 属性。

这些 “诅咒知识” 展示了在软件开发过程中可能遇到的各种复杂情况和潜在问题,提醒开发者在使用相关技术时需谨慎。页面同时提到该项目仍在积极开发中,用户不应仅依赖此项目来存储照片和视频。


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

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

  • 有人喜欢这种记录“诅咒知识”的方式,认为它将问题转化为积极的学习经验,并有助于团队成员之间的共鸣和预防问题。
  • 有人认为应该在提交信息中包含这类信息,以便日后查阅。
  • 有人指出,提交历史并不是所有人都会查看的地方,尤其是当代码被移动后,查找原始提交变得困难。
  • 有人提到,通过生成一个公开的 URL 并包含提交链接,可以解决查找问题。
  • 有人通过 git blame 功能来发现可疑代码行的变更历史。
  • 有人认为没有理由不训练大型语言模型(LLM)来处理提交信息。
  • 有人提到,有些系统允许 LLM 访问 git 仓库信息,例如 GitHub MCP Server。
  • 有人指出,即使模型被训练时使用了提交信息,当前的用户界面并不支持使用提交信息作为提示。
  • 有人建议,如果想要帮助项目,应该关注自己的贡献是否产生影响,而不是将信息倾倒到无关紧要的地方。
  • 有人批评某些 JavaScript 开发者在项目中添加了大量不必要的代码和包,浪费了带宽和磁盘空间。
  • 有人提到,涉及“诅咒知识”的维护者是 TC39 的成员,对 JavaScript 和软件开发持有一些争议性观点。
  • 有人猜测,涉及争议的维护者可能因为某些财务动机而坚持使用某些 polyfill。
  • 有人提到,尽管该维护者在社区中经常被批评,但他也做了一些重要的维护工作。

Linear sent me down a local-first rabbit hole #

https://bytemash.net/posts/i-went-down-the-linear-rabbit-hole/

几个月前我开始使用 Linear,这是一个项目管理工具,其速度之快令人难以置信。点击一个问题,它瞬间打开;在另一个浏览器中更新状态,几乎可以实时看到更新。没有加载状态,没有页面刷新,只有即时的交互。

Linear 的成功让我深入研究了“本地优先”技术。我发现了大量工程深度解析,包括 Linear 同步引擎的逆向工程、他们的同步协议解析、Linear CTO Tuomas Artman 关于架构的演讲等。简而言之,他们构建了自己的同步引擎,将浏览器的 IndexedDB 视为真正的数据库。所有更改首先在本地发生,然后后台使用 GraphQL 进行变更和 WebSockets 进行同步。

“本地优先”的概念根据阅读的内容不同,可能是一个使应用程序感觉本地化的用户体验策略(即时更新等),或者是一种关于保持数据本地化并在设备间同步的哲学。在大多数情况下,这个概念非常简单:与应用程序作为一个发送数据到服务器的花哨表单不同,它有自己的本地数据库。有时服务器只是另一个需要同步的客户端。

在传统的 Web 应用程序中,服务器是唯一的真相来源: 客户端 → HTTP 请求 → 服务器 → 数据库 → 响应 → 客户端

在本地优先/同步方法中,每个客户端可能都有自己的(几乎)完整数据库: 客户端 → 本地数据库 → UI 更新 ↓(异步) 同步引擎 → 服务器 → 其他客户端

关键点是通过将数据库移动到客户端,可以从用户交互路径中消除网络延迟。更新瞬间发生,因为它们只是本地数据库的读写。

理解 Linear 的方法后,我的第一个直觉是构建类似的东西。然后现实打击了我:即使是他们同步引擎的基本版本也可能代表数月的工程努力。

复杂性来自于:

  • 优雅地处理离线/在线转换
  • 在分布式客户端间解决冲突
  • 部分同步(你不想下载整个数据库)
  • 在缓存数据上进行模式迁移
  • 在分布式系统中进行安全和访问控制

幸运的是,2025 年的本地优先社区已经构建了解决方案。这里有当前的格局:

  • Electric SQL - 基于 Postgres 的同步引擎
  • PowerSync - 面向企业的解决方案
  • Jazz - 引起我注意的一个(见下文)
  • Replicache - 最初的(RIP)
  • Zero - Replicache 团队的新方法
  • Triplit - 基于 TripleStore 的同步
  • Instant - 专注于开发者体验
  • LiveStore - 为 Electric 和其他提供商提供的反应层

我首先尝试了 Jazz,因为它做出了一个荒谬的承诺:像更新本地状态一样轻松地构建本地优先应用程序。

Jazz 引入了“协作值”(CoValues)-为分布式实时协作设计的数据结构。你从使用 Jazz 和 Zod 构建的模式开始:

// schema.ts
import { co, z } from "jazz-tools";
const ListOfComments = co.list(Comment);
export const Post = co.map({
title: z.string(),
content: z.string(),
comments: ListOfComments,
});Copy

强大的是,这些不仅仅是类型定义 - 它们是实时、可响应的对象,可以自动同步。

// 使用订阅钩子检索值
const post = useCoState(Post, postId)
// 然后就像使用普通对象一样使用它
const setTitle = (title: string) => {
post.title = title
// 就这样。它同步了。我没开玩笑。
}Copy

没有 API 路由。没有请求/响应周期。没有 DTO。只是…神奇地同步的对象。这感觉就像是作弊。

Jazz 在幕后使用了一些巧妙的技术:

  1. 内置唯一性 每片数据自动分配一个唯一 ID。这避免了冲突,并允许高效同步。
  2. 事件溯源 更改似乎被存储为事件,具有完整对象图的物化当前状态。这使得同步操作快速,只同步更改。
  3. 端到端加密 数据在客户端加密后再同步。服务器只看到加密的 blob。这在架构上非常有趣…但正如我稍后讨论的,也具有挑战性。
  4. 通过组的权限模型 Jazz 不使用传统的 ACL,而是使用组:
const group = Group.create()
group.addMember(alice, 'admin')
group.addMember(bob, 'writer')
Post.create(
{ title: "a new post"},
{ owner: group }
);Copy

这种架构特别高效,尤其是对于原型制作。没有典型的流程中断干扰,你不会在编写 API 操作或 DTO 时停下来。

尽管如此,它也创造了一些有趣的限制:

  • 你的服务器是盲目的 一切都是端到端加密的。你的后端实际上无法读取用户数据,除非通过组与服务器账户明确共享。这对隐私来说很棒,但如果你没有想到你的服务器需要能够访问什么数据,那就不那么棒了。如果你想要进行审核或防止恶意数据存储,这也是一个问题。
  • 时间旅行是强制性的 Jazz 似乎使用事件溯源。每个更改都被永久存储。那个“删除”按钮?它只是移除了引用。对于撤销/重做很棒。当考虑到像 GDPR 合规性这样的事情时,就不那么好了。
  • 存储空间不断增加 由于没有东西被删除,你的存储使用只有一个方向:向上。对于一个小项目?谁在乎。对于有数千用户的 SaaS?你的 AWS 账单可能开始看起来像一个电话号码(或当 Jazz Cloud 有付费产品时的 Jazz Cloud 账单)。

尽管有这些考虑,Jazz 仍然令人印象深刻且有趣。开发者体验是独特的,非常高效。这也是 Jazz 的早期,我相信这些项目中的许多将在时间中得到很好的解决方案。

接下来我要探索的是 Electric SQL 和 Zero。当 Jazz 从头开始构建新东西时,Electric 和 Zero 采取了更渐进的方法:


HN 热度 408 points | 评论 197 comments | 作者:jcusch | 19 hours ago #

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

  • Zero 是一个基于查询驱动同步的系统,适用于需要灵活同步数据的应用程序。
  • 客户端应无状态,除了会话令牌、当前 URL 和 DOM 外,服务器渲染页面响应速度快。
  • 网络和服务器速度将提升,但客户端渲染可能更快,因为渲染逻辑复杂度可能超过数据大小。
  • 应根据具体需求选择服务器端渲染(SSR)或客户端渲染,没有统一的最佳实践。
  • 客户端资源可能比服务器资源更丰富,SSR 并非唯一合理的选择。
  • 有些应用如酒店预订不需要实时更新,而有些应用则需要。
  • 即使网络条件改善,低带宽需求始终是一个有价值的特性,特别是在第三世界国家和偏远地区。
  • 通过添加一个 50kb 的库实现离线/低带宽使用和自动状态同步可能是有价值的。
  • 从信息理论角度看,额外的 50kb gzipped 数据与 8kb 的纯文本 HTML 响应相比显得较重。
  • 即使网络条件改善,一次性加载本地优先布局引擎可能比重复加载数据更有效。

OpenAI’s new open-source model is basically Phi-5 #

https://www.seangoedecke.com/gpt-oss-is-phi-5/

OpenAI 最近发布了其首个开源大型语言模型 gpt-oss-120b 和 gpt-oss-20b。这些模型在某些基准测试中表现出色,但在其他方面,如 SimpleQA,表现不佳。人们对这些模型的看法不一,它们在技术上是有能力的,但缺乏许多领域外的知识,例如对流行文化了解不多。预测这些模型可能在实际应用中的表现不如基准测试中的表现。

2024 年,Sebastien Bubeck 领导开发了微软的 Phi 系列开源模型,这些模型仅在合成数据上进行训练,而不是从书籍或互联网上获取的文本。合成数据不如普通数据常见,因为需要花钱生成每个标记,但优势在于可以完全控制训练数据。然而,这些模型在实际应用中的表现远不如基准测试所显示的那样出色。

Phi 模型之所以在基准测试中表现突出,是因为它们很容易针对特定任务进行训练,因为训练数据是自行生成的。但是,由于“为测试而教”,预计它们的表现将不如其他在广泛数据上训练的语言模型。Sebastien Bubeck 在 2024 年底离开微软加入 OpenAI,虽然我们不知道谁参与了新的 OpenAI gpt-oss 模型的制作,但可以推测 Sebastien Bubeck 参与了这些模型的训练,并且这些模型可能在大量过滤或合成数据集上进行了训练。使用合成数据(或高度控制的数据,如教科书)可以更容易地产生安全的模型。如果训练数据中没有颠覆性或不良内容,模型就永远不会学习以颠覆性或不良的方式行事(至少,这是目标)。

对于 OpenAI 来说,训练 Phi 风格的模型以进行开源发布是非常有吸引力的,他们需要一个在基准测试中击败中国开源模型的模型,同时也不会以导致另一场丑闻的方式行为不端。与 Meta 不同,他们不需要他们的开源模型实际上很好,因为他们的主要业务在他们的闭源模型中。这就是为什么我认为 OpenAI 选择了合成数据路径来制作他们的新 gpt-oss 模型。无论好坏,它们可能和 Phi-5 和 Phi-5-mini 一样。


HN 热度 382 points | 评论 205 comments | 作者:emschwartz | 1 day ago #

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

  • 新开源模型在翻译时拒绝讨论未成年人性化内容。
  • 模型有时会拒绝回答或在讨论日常生活话题时删除整个段落。
  • 模型在知识方面表现不佳,尤其是在与数学或编程无关的创造性写作任务中。
  • 模型可能因为过度审查而降低了性能。
  • 模型在处理包含性少数群体内容的文本时会回避敏感词汇。
  • 模型在承认错误信息方面表现不佳,不如其他模型灵活。
  • 道歉并不是评估模型好坏的有效指标,而更多反映了模型训练内容的类型。
  • 模型在处理日常对话、聊天摘要、邮件重写或翻译时会因为性话题而关闭。
  • 有些模型在讨论性话题时表现得很愿意,并且表达清晰。
  • 有些用户更倾向于使用未审查的模型,因为它们更符合需求。
  • 有些用户对云服务提供商不信任,更愿意在本地运行模型。
  • 有些用户对模型在处理性相关话题时的表现感到不满,因为会影响日常使用。