3小时前
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251104
嘿,科技迷们!今天的新鲜事儿有点多,绝对让你大呼过瘾!首先,AI Agent终于要在企业生产环境里大展身手了,但落地挑战可不少哦。接着,Twitter又搞事情了,强制WebView打开所有链接,隐私安全亮红灯?还有,别错过超酷的CSS地形生成器,分分钟创造你的专属世界!另外,还有卡车上的写作空间、GPU加速Datalog、以及更多精彩内容等你来探索。快来一起看看,别掉队啦!

---
## 什么是流形?理解数学中的基本概念
本文介绍了流形的概念,解释了它在数学和物理学中的重要性,以及如何使用图表来研究流形。
文章首先指出,流形是一种局部看起来像欧几里得空间的形状。这意味着,如果你在一个流形上的任何一点放大,它看起来会像一个直线(在一维情况下)或一个平面(在二维情况下)。例如,地球的表面是一个二维流形,因为如果你在地球表面的任何一点放大,它看起来会像一个平面。
文章接着解释了流形如何帮助数学家避免歧义。形状的属性会根据它所处的空间的性质和维度而变化。通过关注流形的内在属性,数学家可以避免这些歧义。流形的关键属性,即在任何一点上看起来都像欧几里得空间,在这方面非常有帮助。
为了研究流形,数学家将其划分为几个重叠的区域,并用“图表”表示每个区域。图表是一组坐标,告诉你你在流形上的位置。所有这些图表的集合称为图册。你可以使用图册来测量和探索流形,一次一个区域。
文章最后指出,流形在数学和物理学中有很多应用。例如,爱因斯坦在他的广义相对论中将时空描述为一个四维流形。流形也被用于数据分析、动力系统等领域。总而言之,流形是数学中的一个基本概念,它在许多不同的领域都有应用。
- 原文: [What is a manifold?](https://www.quantamagazine.org/what-is-a-manifold-20251103/)
- Hacker News: [https://news.ycombinator.com/item?id=45809193](https://news.ycombinator.com/item?id=45809193)
- 作者: isaacfrond
- 评分: 145
- 评论数: 38
- 发布时间: 2025-11-04 17:58:14
---
## Zesfy:一款本地优先的 iOS 每日计划应用
Zesfy 是一款为 iOS 设备设计的本地优先每日计划应用,旨在帮助用户更高效地管理任务和日程。这款应用强调快速的任务安排和便捷的日程规划,通过会话分组、高亮显示、状态管理和任务进度等功能,帮助用户更好地组织和跟踪任务。
Zesfy 的主要功能包括:会话功能,允许用户将多个任务分组到单个日历事件中;高亮功能,方便用户突出显示重要任务;状态功能,帮助用户快速组织任务状态;任务进度功能,自动更新子任务的完成情况;日历组功能,过滤特定日历集的事件,保持日程的整洁。
该应用持续更新,近期版本增加了诸如循环任务、每日总结、子任务笔记等功能,并不断改进用户界面和性能。开发者积极听取用户反馈,并通过邮件与用户互动,解决问题并收集建议。Zesfy 强调本地优先,意味着数据存储在用户设备上,保障了用户数据的隐私和安全。
- 原文: [Show HN: I built a local-first daily planner for iOS](https://apps.apple.com/ca/app/to-do-list-planner-zesfy/id6479947874)
- Hacker News: [https://news.ycombinator.com/item?id=45810856](https://news.ycombinator.com/item?id=45810856)
- 作者: zesfy
- 评分: 14
- 评论数: 2
- 发布时间: 2025-11-04 21:34:45
---
## Google Cloud 因不同原因三次暂停客户账户
Google Cloud 因为三个不同的原因,三次暂停了一位客户的账户,导致该客户对其服务的可靠性产生了质疑。 这篇文章讲述了这家公司在使用 Google Cloud 过程中遇到的问题,以及最终导致他们放弃 Google Cloud 的原因。
这家公司最初因为违反服务条款(ToS)而被暂停账户,原因是他们被指控滥用资源进行密码破解。 尽管该公司否认了这一指控,并提供了证据,但 Google Cloud 仍然维持了暂停决定。 后来,该账户又因为违反出口管制规定而被暂停,原因是 Google Cloud 认为该公司正在向受制裁的国家出口技术。 然而,该公司表示他们并没有违反任何出口管制规定,并再次提供了证据。 最后,该账户又因为涉嫌欺诈活动而被暂停。 这次,Google Cloud 指控该公司参与了欺诈性交易,但该公司坚决否认了这一指控。
经历这三次暂停事件后,这家公司的老板表示,他无法再信任 Google Cloud 来支持他们的生产环境。 他认为 Google Cloud 的暂停机制过于敏感,并且缺乏透明度,这使得他们很难解决问题。 最终,该公司决定将他们的业务迁移到其他云服务提供商。 这篇文章引发了人们对云服务可靠性和客户支持的担忧,尤其是在依赖云基础设施的关键业务方面。
- 原文: [Google Cloud suspended customer's account 3 times, for 3 different reasons](https://www.theregister.com/2025/11/04/google_cloud_suspended_customers_account/)
- Hacker News: [https://news.ycombinator.com/item?id=45811624](https://news.ycombinator.com/item?id=45811624)
- 作者: bishopsmother
- 评分: 21
- 评论数: 1
- 发布时间: 2025-11-04 22:48:32
---
## 用代码来解析国境:解决旅行中的合规性问题
这篇文章探讨了如何使用技术手段来应对国际旅行中复杂的签证、税务和居留规则,旨在帮助旅行者在购买机票前预判潜在的合规性问题。作者分享了自己构建的工具,该工具像一个“旅行编译器”,通过模拟行程来检测是否会违反任何规则,从而避免不必要的麻烦。
文章指出,在购买机票前,人们常常需要快速确认签证要求、护照有效期、驾照规定以及申根区停留时间等问题。这些检查繁琐且耗时。作者构建了一个系统,用于回答“我在 2023 年 3 月 15 日在哪里?”之类的问题,并模拟行程以检查潜在的问题。核心问题在于,现有的系统无法告知用户他们的状态,例如申根区、英国税务或护照状态。不同的机构对“一天”的定义也存在差异。
文章进一步解释了规则的复杂性和特殊性,例如英国公民身份申请需要精确到五年前的申请日,以及在英国机场转机时,离开航站楼需要进行与旅行无关的消费才被计为停留。作者强调,关键不在于记录行程,而是预测计划是否会产生问题,并提供详细的解释,例如“你已经停留 56 天,因为阿姆斯特丹贡献了 12 天,布拉格 3 天,巴塞罗那 10 天,冰岛将增加一个月,而 2 月份不再计算在内”。
为了实现这一目标,作者将事实存储为瞬时状态,并在相关司法管辖区的本地日期中进行推理。他以都柏林到特内里费的行程为例,说明了不同国家/地区对同一行程的计算方式存在差异。该工具旨在回答“如果我这样做会发生什么?”之类的问题,例如“我是否可以在阿尔卑斯山预订圣诞节,并在欧洲计划三个夏季周末?”作者不硬编码规则,而是提供解释,每个司法管辖区都有一个小型版本化的 blob,用于说明哪些内容会计入,如何衡量窗口期,以及从何处读取规则。
- 原文: [You can't cURL a Border](https://drobinin.com/posts/you-cant-curl-a-border/)
- Hacker News: [https://news.ycombinator.com/item?id=45806263](https://news.ycombinator.com/item?id=45806263)
- 作者: valzevul
- 评分: 334
- 评论数: 164
- 发布时间: 2025-11-04 08:37:14
---
## GPU 优化 Datalog:使用哈希索引排序数组加速半朴素评估
本文介绍了一种针对 GPU 优化的 Datalog 实现,其核心思想是使用哈希索引排序数组来存储关系,并加速半朴素评估算法。Datalog 是一种声明式编程语言,由一系列关系和规则组成,其规则的评估过程可以类比为 SQL 的 Join 操作。
文章提出的哈希索引排序数组数据结构,包含数据数组、排序索引数组和哈希表。数据数组存储实际的元组数据,排序索引数组则存储指向数据数组的指针,并按照连接键进行排序,哈希表则将连接键的哈希值映射到排序索引数组中第一个包含该连接键的元素。这种数据结构允许在 GPU 上高效地执行 Join 操作,通过哈希表快速定位到匹配的元组,并通过排序索引数组实现连续的内存访问。半朴素评估算法通过维护 `new`、`delta` 和 `full` 三个桶来避免冗余计算,从而提高性能。`new` 存储当前迭代发现的元组,`delta` 存储前一次迭代添加的元组,`full` 存储所有迭代中发现的元组。在 Join 操作中,只需要将 `delta` 桶与 `full` 桶或者 `delta` 桶相互连接,而无需将 `full` 桶与 `full` 桶连接。
作者将他们的 GPU 实现 (GPULog) 与最先进的 CPU 实现 (Soufflé) 进行了比较,结果表明 GPULog 在性能上具有显著优势。此外,作者还将 GPULog 移植到 AMD 的 HIP 运行时,并在相同的 Nvidia GPU 上运行,进一步验证了其性能。
由于文章没有评论内容,所以没有评论相关的总结和分析。
- 原文: [Optimizing Datalog for the GPU](https://danglingpointers.substack.com/p/optimizing-datalog-for-the-gpu)
- Hacker News: [https://news.ycombinator.com/item?id=45811447](https://news.ycombinator.com/item?id=45811447)
- 作者: blakepelton
- 评分: 4
- 评论数: 0
- 发布时间: 2025-11-04 22:31:27
---
## 使用 Bloom Filter 构建搜索索引:一种不适合大规模数据的尝试
本文探讨了使用 Bloom Filter 构建空间效率高的全文搜索索引的方法,尤其针对小型文档集合。虽然最初的想法很有吸引力,但作者通过分析指出,这种方法在扩展到大型文档语料库时会遇到瓶颈,最终不如传统的倒排索引。
文章首先回顾了 Bloom Filter 索引的基本原理:为每个文档创建一个包含其所有单词的 Bloom Filter。查询时,只需检查每个文档的 Bloom Filter 是否包含查询词。虽然这种方法在小型静态网站上表现良好,因为可以将整个索引作为一个小图像文件分发,但在处理大型语料库时,查询性能会成为问题,因为需要检查每个文档的 Bloom Filter。
作者随后提出了一些改进 Bloom Filter 索引的思路,但都以失败告终。例如,对 Bloom Filter 进行排序或构建 Bloom Filter 树,都无法有效地减少需要搜索的文档数量。问题的关键在于,文本数据是高维的,很难将文档划分成互不重叠的子集。
最终,作者提出了一个基于倒排索引的 Bloom Filter 方案:构建一个包含整个词典的搜索树,每个叶子节点指向包含对应单词的文档 Bloom Filter 列表。这种方法类似于倒排索引,但使用树结构存储词典,并使用 Bloom Filter 编码单词,从而可能节省空间。
然而,即使这种改进后的方案能够工作,作者仍然认为它不是一个好主意。原因在于,Bloom Filter 需要为每个文档单独存储其包含的所有单词,而倒排索引只需要存储每个单词一次。随着文档数量的增加,Bloom Filter 索引的空间占用会迅速增长,最终超过倒排索引。作者通过一个简单的数学模型说明,在文档数量达到一定规模后,倒排索引在空间效率上将优于 Bloom Filter 索引。
总而言之,虽然 Bloom Filter 在某些特定场景下(例如小型静态网站)可能有用,但在构建大规模全文搜索索引时,传统的倒排索引仍然是更合适的选择。Bloom filters are good for search that does not scale
- 原文: [Bloom filters are good for search that does not scale](https://notpeerreviewed.com/blog/bloom-filters/)
- Hacker News: [https://news.ycombinator.com/item?id=45808998](https://news.ycombinator.com/item?id=45808998)
- 作者: birdculture
- 评分: 83
- 评论数: 14
- 发布时间: 2025-11-04 17:25:31
---
## 卡车上的书桌:一位工人的写作空间
这篇文章讲述了一位在石化工厂工作的机械师兼焊工,如何在工作间隙和各种意想不到的延误中,利用卡车、工棚甚至废弃的 cubicle 创造写作空间的故事。他称自己的卡车为“卡车书桌”,并在那里完成了许多故事和小说的一部分。
文章详细描述了作者在工作中寻找写作空间的经历。最初,他利用手机在休息时间写作,后来他梦想拥有一个属于自己的 cubicle。他偷偷溜进 payroll trailer,在废弃的 cubicle 里写作,甚至带了蓝牙键盘。然而,好景不长,他的行为引起了 site manager 的注意,最终他失去了这个 cubicle。之后,他开始在 machine shop 里用废弃的木材搭建自己的书桌,但这个书桌也经常被其他人占用。最后,他找到了一辆废弃的 F-150 卡车,并将其改造成了自己的移动办公室,也就是他的“卡车书桌”。
作者强调了对于像他一样的艺术家来说,如何在工作和照顾家庭的同时,挤出时间进行创作的重要性。他引用了一位老前辈的话:“你必须创造你自己的条件。” 这意味着即使在恶劣的环境下,也要想方设法为自己创造写作的条件。他提到,自从有了智能手机,他就可以在工作时给自己发短信,这些短信最终变成了故事和小说。即使后来有了真正的书桌,他仍然怀念在卡车上写作的时光。
文章也表达了作者对工作的复杂情感。他感谢工作带来的收入,但也渴望拥有更多的写作时间。他用“让你的钱包成为你的向导”这句话来提醒自己,不要轻易放弃工作。总的来说,这篇文章展现了一位工人在艰苦的工作环境中,如何坚持写作梦想的故事,以及他对工作、生活和艺术的思考。
- 原文: [My Truck Desk](https://www.theparisreview.org/blog/2025/10/29/truck-desk/)
- Hacker News: [https://news.ycombinator.com/item?id=45806903](https://news.ycombinator.com/item?id=45806903)
- 作者: zdw
- 评分: 238
- 评论数: 44
- 发布时间: 2025-11-04 10:37:01
---
## 定制 Nano 文本编辑器,提升终端效率
Nano 是一款预装在许多 Linux 发行版中的简单易用的文本编辑器,通过定制 `.nanorc` 文件,可以显著提升使用体验。本文介绍了如何通过配置鼠标支持、调整 Tab 宽度、显示行号等方式,优化 Nano 的使用。
文章详细讲解了 Nano 的一些实用配置选项。首先,启用鼠标支持后,可以使用鼠标点击来定位光标,双击设置标记,并执行快捷键操作。其次,可以自定义 Tab 键的宽度,以及将 Tab 自动替换为空格。另外,`positionlog` 功能可以记录最近编辑文件的光标位置,并在下次打开时自动定位到该位置。文章还介绍了自动换行、自动缩进、显示行号和滚动条等配置,这些都能让编辑体验更加友好。通过 `set softwrap` 和 `set atblanks` 可以实现更友好的自动换行,`set autoindent` 可以让新行自动继承上一行的缩进,`set linenumbers` 可以显示行号,`set indicator` 则会在右侧显示滚动条。
评论区里,大家对 Nano 的可定制性感到惊讶,许多人表示之前只用 Nano 做一些简单的快速编辑任务。有人提到 Nano 其实支持鼠标操作,可以通过 `Alt+M` 开启。还有人分享了自己的 Nano 配置,并推荐了 Micro 编辑器,因为它拥有更友好的默认配置和键绑定。不少用户表示,Nano 是他们在终端中进行快速编辑的首选工具,简单易用,无需学习成本。有人特别提到显示行号和位置信息是非常实用的功能。最后,有 Mac 用户分享了在 Mac 上配置 `.nanorc` 文件时可能遇到的问题以及解决方法,包括确认是否真正安装了 Nano 而不是 Pico 的链接。总的来说,评论区对 Nano 的实用性和可定制性给予了肯定,并分享了一些使用技巧和替代方案。
- 原文: [Customize Nano Text Editor](https://shafi.ddns.net/blog/customize-nano-text-editor)
- Hacker News: [https://news.ycombinator.com/item?id=45702316](https://news.ycombinator.com/item?id=45702316)
- 作者: shafiemoji
- 评分: 35
- 评论数: 13
- 发布时间: 2025-10-25 16:52:11
---
## 《The Farmer Was Replaced》:全版本预告片发布
Metaroot 发布了《The Farmer Was Replaced》的全版本预告片,这是一个关于通过编程自动化农场的游戏。玩家需要通过编程和优化无人机来自动化农场,收集资源以解锁更好的技术,并成为世界上最高效的农民。
这款游戏的核心玩法是利用编程技能来解决农业生产中的各种问题。玩家需要编写代码来控制无人机的行为,例如播种、施肥、收割等。同时,还需要优化代码,提高无人机的效率,从而实现更高的产量。游戏鼓励玩家通过解决实际问题来提高编程和问题解决能力。通过自动化农场,玩家可以体验到科技进步带来的便利,并深入了解现代农业的运作方式。
该游戏不仅仅是娱乐,更是一种寓教于乐的方式,帮助玩家在轻松愉快的氛围中学习编程知识。游戏中的挑战和任务能够激发玩家的创造力和解决问题的能力,让他们在不知不觉中掌握编程技能。
评论区里,大家对这款游戏的互动编程学习概念表示赞赏,认为它与同类游戏有所不同,已经加入愿望单,准备尝试。有人戏称这是程序员在 AI 战争后不得不务农以解决吃饭问题的场景,脑洞大开。
- 原文: [The Farmer Was Replaced [video]](https://www.youtube.com/watch?v=aP2WHQKJVsw)
- Hacker News: [https://news.ycombinator.com/item?id=45674676](https://news.ycombinator.com/item?id=45674676)
- 作者: surprisetalk
- 评分: 54
- 评论数: 19
- 发布时间: 2025-10-23 04:23:09
---
## 利用二极管的多种方法
本文探讨了二极管在电子学中的应用,着重介绍了这种常被忽视的元件的多种用途。文章首先回顾了二极管的基本原理,包括正向偏置、反向偏置和齐纳二极管的特性,然后深入探讨了二极管在电路保护中的应用。
文章详细解释了二极管的物理特性,包括N型和P型半导体的概念,以及它们结合形成PN结的过程。PN结的特性决定了二极管的单向导电性,即电流只能从P极流向N极。文章还解释了正向偏置和反向偏置的概念,以及二极管在不同偏置条件下的工作状态。在正向偏置下,当电压超过一定阈值(通常为0.6V对于硅二极管)时,二极管导通。在反向偏置下,二极管通常不导通,但当反向电压超过击穿电压时,会发生雪崩效应,导致二极管导通。
文章重点介绍了二极管在电路保护中的应用。例如,齐纳二极管可以用于过压保护,当电压超过安全限制时,齐纳二极管会导通,将多余的电流导向地,从而保护电路中的其他元件。瞬态电压抑制器(TVS)二极管也是一种常用的过压保护器件,它可以有效地抑制电压尖峰,保护敏感的半导体元件免受损坏。此外,二极管还可以用于反极性保护,防止因电源极性接反而损坏电路。
总而言之,二极管是一种功能强大的电子元件,在电路保护、信号整流、开关电路等领域都有着广泛的应用。虽然二极管的原理相对简单,但其应用却非常灵活多样。
- 原文: [Things you can do with diodes](https://lcamtuf.substack.com/p/things-you-can-do-with-diodes)
- Hacker News: [https://news.ycombinator.com/item?id=45805900](https://news.ycombinator.com/item?id=45805900)
- 作者: zdw
- 评分: 293
- 评论数: 78
- 发布时间: 2025-11-04 07:49:03
---
## Twitter 在应用内强制使用 WebView 打开所有链接
Twitter 现在强制在应用内使用 WebView 打开所有链接,无论用户是否点击。这意味着即使只是浏览推文,所有链接都会在 Twitter 内置的浏览器中打开。
这个变化引起了一些用户的担忧,他们认为这可能会带来安全和隐私问题。例如,有人担心这可能会被用于恶意目的,例如在用户不知情的情况下下载恶意软件或非法内容。 也有人担心 Twitter 可能会利用 WebView 收集更多用户数据,或者注入自己的 JavaScript 代码来操纵用户体验。
一些评论提到,这种做法类似于微信等中国“超级应用”的做法,旨在将用户流量留在应用内,并可能最终发展成一个“小程序”生态系统,绕过应用商店。 也有人指出,这可能会对网站流量产生影响,因为所有点击都来自 Twitter 的 WebView。
评论区里,大家对此褒贬不一。有人认为这侵犯了用户隐私,并可能带来安全风险;也有人觉得这是一种增强用户体验的策略。 还有人担心这会给网站带来大量无价值的流量。 此外,还有人提到了 Grok AI 训练数据的问题,以及大型语言模型在内容控制方面的挑战。 总之,大家对 Twitter 这一新策略的看法非常多样化。
- 原文: [Tell HN: X is opening any tweet link in a webview whether you press it or not](https://news.ycombinator.com/item?id=45807775)
- Hacker News: [https://news.ycombinator.com/item?id=45807775](https://news.ycombinator.com/item?id=45807775)
- 作者: stillatit
- 评分: 202
- 评论数: 133
- 发布时间: 2025-11-04 13:53:02
---
## CSS 实现地形生成器 Layoutit Terra
Layoutit Terra 是一个使用 CSS 实现的地形生成器,用户可以通过调整各种参数,例如世界大小、陆地覆盖率、地形类型和生物群落等,来生成独特的地形。
该工具还提供了相机设置,允许用户旋转、倾斜、缩放和平移视角,以便更好地观察生成的地形。用户可以调整 X 轴旋转 45 度,Y 轴倾斜 60 度,缩放 34%,X 轴平移 0 像素,Y 轴抬升 0 像素。此外,还提供了一个动画选项,可以动态展示地形。
这个工具允许用户导出高度图,方便在其他应用中使用生成的地形数据。目前版本是 v0.0.1。
评论区有用户表示这个工具让他们想起了 Populous 这款游戏,并称赞这个项目“看起来很棒!干得漂亮 :)”。这表明该项目在视觉效果和用户体验方面都获得了积极反馈。
- 原文: [Show HN: A CSS-Only Terrain Generator](https://terra.layoutit.com)
- Hacker News: [https://news.ycombinator.com/item?id=45811093](https://news.ycombinator.com/item?id=45811093)
- 作者: rofko
- 评分: 5
- 评论数: 2
- 发布时间: 2025-11-04 21:58:35
---
## AI 时代的“拨号上网”时刻
本文探讨了当前人工智能发展阶段与 1995 年互联网发展初期惊人地相似之处,并分析了对 AI 影响的乐观与悲观两种预测。
文章指出,就像当年对互联网的看法一样,现在对 AI 的看法也分成了两派。一派认为 AI 将迅速取代大量工作岗位,导致大规模失业;另一派则认为 AI 将创造更多就业机会。文章作者认为,这两种观点都存在一定程度的片面性。文章引用了 Geoffrey Hinton 早期关于 AI 将取代放射科医生的预测,但实际上放射科医生的职位数量和薪资都在增长。文章解释了 Jevons 悖论,即技术改进带来的效率提升反而会导致资源消耗增加。在放射科的例子中,AI 提高了诊断效率,降低了成本,从而增加了扫描需求,最终导致就业增加。
然而,文章也指出,并非所有行业都会出现这种情况。文章引用了计算机科学家 Andrej Karpathy 的观点,认为放射科并非 AI 影响就业岗位的最佳观察对象,应该关注那些重复性高、风险低的简单任务。文章还分析了纺织、钢铁和汽车行业在过去 200 年间的自动化发展历程,指出就业增长的关键在于行业未被满足的需求能否超过自动化带来的生产力提升。文章强调,AI 对就业的影响取决于具体行业的需求增长和自动化程度之间的平衡。
- 原文: [AI's Dial-Up Era](https://www.wreflection.com/p/ai-dial-up-era)
- Hacker News: [https://news.ycombinator.com/item?id=45804377](https://news.ycombinator.com/item?id=45804377)
- 作者: nowflux
- 评分: 377
- 评论数: 318
- 发布时间: 2025-11-04 05:01:09
---
## Flash 动画黄金时代:当小人打起来
本文回顾了 Flash 动画的黄金时代,特别是中国 Flash 动画师朱志强创作的《小小》系列,探讨了这部作品如何风靡全球,以及它背后的创作故事。
文章指出,在 YouTube、TikTok 等社交媒体兴起之前,Flash 凭借其轻量级的 SWF 格式,成为互联网动画和游戏的理想选择。Flash 的易用性和便捷的分享方式,催生了第一波网络动画浪潮。尤其在中国,Flash 成为了年轻一代表达自我的重要渠道,被称为“闪客”。朱志强的《小小》系列,以其火爆的打斗场面和简单的线条,迅速风靡中国乃至全球,成为一代人的回忆。
朱志强并非科班出身,他自学 Flash 动画,凭借对火柴人和动作片的热爱,创作了《小小》系列。其中,《小小3》耗时七个月完成,以其流畅的动作设计和火爆的打斗场面,迅速走红网络,甚至被西方媒体誉为“火柴人版的成龙电影”。《小小3》的成功让朱志强意识到了自己的作品的影响力,他收到了来自世界各地的观众的邮件,这让他深受鼓舞。
文章还提到,尽管 Flash 已经退出历史舞台,但《小小》系列依然是许多人心中难以磨灭的记忆,它代表了一个时代的互联网文化,也激励了无数人投身动画创作。
- 原文: [When stick figures fought](https://animationobsessive.substack.com/p/when-stick-figures-fought)
- Hacker News: [https://news.ycombinator.com/item?id=45806348](https://news.ycombinator.com/item?id=45806348)
- 作者: ani_obsessive
- 评分: 247
- 评论数: 80
- 发布时间: 2025-11-04 08:48:56
---
## 《Atari艺术》:回顾经典游戏的美术设计
《Atari艺术》这本书是对Atari公司40多年来游戏美术作品的官方收藏,展示了游戏包装、广告和目录中使用的独特插图。这本书回顾了Atari丰富的历史,包括游戏制作和概念艺术、照片、营销艺术,以及关于游戏如何构思、绘制和实现的幕后细节。
这本书涵盖了Atari的众多经典游戏,如《Asteroids》、《Centipede》、《Missile Command》等,展示了为街机、家用游戏机和电脑创作的数百款游戏的原创艺术作品。这些艺术作品旨在提升Atari游戏体验,吸引儿童和成人进入电子娱乐的新时代。书中收录了来自全球私人收藏的艺术作品,是对Atari独特视觉风格的全面回顾。
这本书不仅展示了最终发布的艺术作品,还包括游戏制作和概念艺术,让读者了解游戏是如何从概念到最终产品的。书中还收录了参与Atari历史的关键人物的见解,以及关于游戏开发的幕后细节。
评论区里,有用户提到Atari的盒绘常常激发他们的想象力,但游戏画面与盒绘的差距也让他们感到失望。也有人认为这些盒绘本身就是艺术品,可惜现在游戏包装盒已经很少见了。还有人评论了《Defender》游戏中的飞船设计,觉得比例有些奇怪。另有用户推荐了Bitmap Books出版的另一本关于Atari的书,该书更侧重于游戏本身的画面。这些评论反映了人们对Atari游戏美术的不同看法和怀旧之情。
- 原文: [The Art of Atari (2016)](http://www.artofatari.com)
- Hacker News: [https://news.ycombinator.com/item?id=45810676](https://news.ycombinator.com/item?id=45810676)
- 作者: ghtbircshotbe
- 评分: 20
- 评论数: 5
- 发布时间: 2025-11-04 21:15:52
---
## Linux 进程内存漫游
本文深入探讨了 Linux 系统中进程内存的管理机制,揭示了程序运行时内存的分配、映射以及与内核交互的底层细节。
文章首先介绍了虚拟内存的概念,以及它如何为程序提供连续内存的假象,而实际上,物理内存是分散的。文章解释了页表的作用,它将虚拟地址映射到物理地址,以及当程序访问未映射的内存时发生的缺页中断。`/proc` 虚拟文件系统被介绍为一种查看进程和内核状态的方式。文章还深入探讨了虚拟内存区域(VMA)的概念,它是具有相同权限和后备存储类型的连续虚拟地址范围。`mmap`、`mprotect` 和 `munmap` 系统调用分别用于创建、修改和删除 VMA。文章强调,内存的实际分配是延迟发生的,只有在首次访问时才会分配物理页面。
文章还介绍了 `vdso` 和 `vvar`,它们是内核映射到进程中的小共享对象,用于加速某些系统调用,如 `gettimeofday`。`mmap` 系统调用不仅仅是“分配内存”,更像是在内存布局图上绘制一个承诺。文章还讨论了 `MAP_PRIVATE` 和 `MAP_SHARED` 标志,它们分别控制写入是否会反映回文件以及是否对其他共享映射的进程可见。首次访问内存时,CPU 尝试转换地址,如果找不到条目,则会引发缺页中断。内核处理程序会检查地址是否在 VMA 内,权限是否允许访问,以及是否需要分配物理页面或从文件读取数据。文章还提到了零页,它是一个共享的只读零页,用于满足对新匿名内存的读取请求,直到首次写入时才会创建私有页面。
(由于没有评论内容,跳过评论相关的输出。)
- 原文: [A friendly tour of process memory on Linux](https://www.0xkato.xyz/linux-process-memory/)
- Hacker News: [https://news.ycombinator.com/item?id=45805539](https://news.ycombinator.com/item?id=45805539)
- 作者: 0xkato
- 评分: 188
- 评论数: 19
- 发布时间: 2025-11-04 07:04:22
---
## Tenacity:开源跨平台音频编辑录制软件
Tenacity 是一款易于使用的开源、跨平台多轨音频编辑器和录音器,适用于 Windows、Linux 等操作系统。它由志愿者团队开发,旨在提供一个免费且功能强大的音频处理工具。
Tenacity 具备从音频设备录音、导入导出多种音频格式(通过 FFmpeg 扩展)、支持高达 32 位浮点音频的高质量处理能力。它还支持 VST、LV2 和 AU 插件,可以通过内置的 Nyquist 脚本语言或 Python、Perl 等语言进行脚本编写。软件提供灵活的编辑功能,支持任意采样和多轨时间线,并注重可访问性,包括键盘编辑、屏幕阅读器和叙述支持。此外,Tenacity 还提供音频信号分析工具。
你可以从其代码仓库的 Releases 页面下载预构建版本,或者从源代码构建 Tenacity。开发者鼓励用户通过 Matrix 频道、Mastodon 或 Lemmy 社区参与讨论和获取帮助。贡献代码请阅读贡献指南。
评论区里,大家对 Tenacity 的看法不一。有人认为它是一个 Audacity 的分支,起因是 Audacity 尝试加入遥测和新的隐私政策。也有用户表示因为 Audacity 中加入了“云”功能而转用 Tenacity。
一些用户提到了其他音频编辑软件,例如 ocenaudio,并认为其功能更胜一筹。还有人指出 Tenacity 的 UI 不够好,希望可以用 raylib 重制。另外,有人询问 Tenacity 是否会合并 Audacity 的技术改进计划,以及多轨录音是否能在浏览器中良好实现。一位用户报告了在 Manjaro Linux + XFCE 环境下使用 Tenacity 时遇到的 UI 问题。
- 原文: [Tenacity – a multi-track audio editor/recorder](https://tenacityaudio.org)
- Hacker News: [https://news.ycombinator.com/item?id=45718710](https://news.ycombinator.com/item?id=45718710)
- 作者: smartmic
- 评分: 72
- 评论数: 21
- 发布时间: 2025-10-27 16:58:09
---
## 2025 年 11 月 "Ask HN: 谁在招聘?" 职位汇总
本文汇总了 2025 年 11 月份 "Ask HN: 谁在招聘?" 的帖子中的招聘信息,为求职者提供了一个了解当前科技公司招聘需求的窗口。帖子中,各公司发布了包括工程师、设计师、产品经理等多个岗位的招聘信息,工作地点和薪资待遇也各有不同。
Norm 正在构建 AI,用于理解法规以实现法规遵从。他们的 AI 目前可以自动确定联邦监管金融内容的合规性,但他们的愿景是构建一个可以处理任何行业任何法规的平台。他们正在纽约和旧金山招聘多个工程职位,包括全栈工程师、设计工程师、前端工程师、应用 AI 工程师、云基础设施工程师和质量工程负责人。
Hetzner Cloud 正在德国招聘一名 (高级) C++ 软件工程师(对象存储),可以选择远程或现场工作。Hetzner Online 在 Falkenstein 或 Nuremberg 招聘一名系统管理员 - GitLab。
Goody 正在远程招聘一名全栈 Staff 软件工程师,该公司致力于通过简化送礼流程来改善人们的生活,并为商业提供开发者 API。他们的产品被 Google、Stripe、Anthropic、Meta、NBCUniversal、Notion 等公司使用。
Zed Industries 是一家由开发者为开发者创立的公司,正在北美、南美和欧洲远程招聘后端 Rust 工程师、Rust 工程师、AI Rust 工程师、产品经理和产品设计师。他们正在开发一种新的基于操作的版本控制系统,该系统以编辑级别的粒度增量跟踪代码的演变,并将其集成到 Zed 中,以使与代理和队友的协作成为编码体验中的一流部分。
Optimal 正在伦敦现场招聘模拟和控制工程师以及全栈软件工程师 (Python, React)。该公司正在构建代理来控制世界上最关键的基础设施,例如工厂、数据中心和农场。
N26 SE 正在柏林和巴塞罗那招聘高级 SRE、高级云安全工程师和高级 JVM 后端工程师。N26 是一家数字银行,致力于通过技术和设计为用户提供卓越的银行体验。
ScenariumAI 是一家位于柏林的 ConstructionTech 初创公司,正在招聘一名创始软件工程师 (Python),以帮助塑造其后端和架构。
评论区主要提供了不同公司的招聘信息,方便求职者根据自身情况选择合适的岗位。这些招聘信息涵盖了不同的技术领域和工作地点,为求职者提供了丰富的选择。
- 原文: [Ask HN: Who is hiring? (November 2025)](https://news.ycombinator.com/item?id=45800465)
- Hacker News: [https://news.ycombinator.com/item?id=45800465](https://news.ycombinator.com/item?id=45800465)
- 作者: whoishiring
- 评分: 364
- 评论数: 405
- 发布时间: 2025-11-04 00:00:00
---
## 为什么状态页面的更新常常滞后?
这篇文章探讨了为什么许多公司的状态页面不能实时反映实际的服务中断情况,并分析了背后的原因。状态页面的延迟更新并非技术难题,而是涉及业务、流程和人为因素的复杂问题。
文章指出,即使公司内部有即时警报系统,但这些警报经常误报,需要人工判断。公司不希望轻易宣布服务中断,因为这会影响公司声誉、投资者信心,并可能导致法律诉讼和退款。因此,在确认问题真实存在之前,公司倾向于谨慎处理。此外,更新状态页面通常需要经过多层审批,涉及管理层、公关部门和法务部门,这进一步延长了更新时间。
更重要的是,状态页面与服务级别协议(SLA)相关联,更新页面意味着可能需要支付违约金。因此,公司有动机推迟更新,直到问题严重且无法快速解决。一些评论提到,公司可能会淡化问题,将“中断”降级为“降级”或“部分中断”,以避免触发SLA条款。
评论区也提供了多样的视角。有人指出,状态页面上的信息可能不准确,甚至存在虚报的情况。另一些人则认为,警报疲劳是一个重要因素,公司需要花费时间来验证警报的真实性。还有评论提到,Reddit曾经在其状态页面上提供实时图表,显示错误率、评论积压等信息,尽管没有具体数字,但仍然有助于用户了解服务状态的变化。最后,有人戏称,状态页面可以用员工手动更新的白板摄像头直播来代替。总而言之,状态页面的延迟更新是一个涉及技术、业务和人为因素的复杂问题,需要综合考虑各种因素才能找到解决方案。
- 原文: [Ask HN: Why are most status pages delayed?](https://news.ycombinator.com/item?id=45810127)
- Hacker News: [https://news.ycombinator.com/item?id=45810127](https://news.ycombinator.com/item?id=45810127)
- 作者: 2gremlin181
- 评分: 39
- 评论数: 38
- 发布时间: 2025-11-04 20:27:46
---
## Yourshoesmells.com:寻找最具气味的攀岩馆
Yourshoesmells.com 是一个有趣的网站,旨在帮助攀岩爱好者找到“最具气味”的攀岩馆。该网站利用 Protomaps 和 OpenStreetMap 提供地图服务,用户可以登录并参与投票,选出他们认为最臭的攀岩馆。网站还列出了各个地区(例如美国圣克拉拉)的“臭味排行榜”,以及“最远”和“最臭”的攀岩馆。
网站提供注册/登录功能,允许用户创建账户并进行投票。网站还提供了一个“Cave of Despair”的入口,以及反馈和捐赠链接。用户可以通过地图浏览各个攀岩馆的位置,并查看其他用户对攀岩馆气味的评价。网站还提供了一些统计数据,例如用户访问过的攀岩馆数量。
评论区对该网站的字体选择、密码长度限制以及网站的潜在用户群体进行了讨论。一些用户认为网站的字体难以辨认,建议更换字体。也有用户对密码长度限制表示担忧,认为安全性可能不足。此外,还有用户指出,该网站可能会吸引一些特殊兴趣的人群。不过,也有用户对网站的创意和名称表示赞赏。总的来说,评论区对网站的实用性和用户体验提出了一些有价值的建议。
- 原文: [Show HN: Yourshoesmells.com – Find the most smelly boulder gym](https://yourshoesmells.com)
- Hacker News: [https://news.ycombinator.com/item?id=45808918](https://news.ycombinator.com/item?id=45808918)
- 作者: boshenz
- 评分: 24
- 评论数: 18
- 发布时间: 2025-11-04 17:11:27
---
## 学习 Arthur Whitney 的 C 代码,变得更聪明 (2024)
本文探讨了著名计算机科学家 Arthur Whitney 的独特 C 语言编程风格,以及学习和理解这种风格的潜在益处。文章深入研究了他编写的 K 语言解释器的 C 代码,并分析了他使用简洁、紧凑的编码方式的原因。
Arthur Whitney 以设计 A、K 和 Q 编程语言以及高性能数据库 kdb 而闻名,他的代码风格以简洁和紧凑著称,目的是将所有逻辑保持在一个屏幕上。文章作者分析了 Whitney 的一段用 C 编写的 K 语言解释器代码,该解释器仅用大约 50 行 C 代码实现。作者提到,虽然这种编码风格可能难以理解,但学习它可以帮助开发者更有效地编写代码,并在更短的时间内理解更复杂的系统。文章还详细解释了代码中用到的一些宏定义和技巧,例如使用 statement expression 将代码块视为单个表达式。作者在阅读代码时,也遇到了一些挑战,例如对 `s Q=(s)128;` 的理解,最终通过参考注释才得以理解。
文章还提出了一个有趣的问题:是花 10 天时间阅读 10 万行代码,还是花 4 天时间阅读 1000 行代码?作者认为,Whitney 的紧凑代码风格将更多复杂性暴露在开发者面前,这可能一开始让人感到畏惧,但最终可能有助于更快地理解整个系统。总的来说,文章认为,学习 Whitney 的代码风格是一种挑战,但可以提高代码阅读能力,并启发开发者以更有效的方式编写代码。
- 原文: [Learning to read Arthur Whitney's C to become smart (2024)](https://needleful.net/blog/2024/01/arthur_whitney.html)
- Hacker News: [https://news.ycombinator.com/item?id=45800777](https://news.ycombinator.com/item?id=45800777)
- 作者: gudzpoz
- 评分: 317
- 评论数: 140
- 发布时间: 2025-11-04 00:23:11
---
## AI Agent 在生产环境部署的经验教训
本文探讨了在大型企业生产环境中部署 AI Agent 所面临的挑战和成功策略,尤其关注了用户体验和实际应用。文章指出,AI Agent 要想被广泛接受和使用,需要克服的不仅仅是技术难题。
文章强调,AI Agent 部署的最大挑战并非技术问题,而是工作流程整合、人机交互界面以及员工的抵触情绪。数据隐私和安全也是重要的考量因素。成功的部署策略通常从小处着手,选择低风险、中等影响、易于验证的任务,快速展示投资回报率。自动化用户不喜欢的任务,并将其定位为增强人类能力的助手,而非替代品,更容易被接受。
文章还提到,已有 62% 的 AI Agent 初创公司开始利用业务线或核心支出预算,表明该技术正从实验阶段走向实际应用。定价策略方面,混合定价和按任务定价较为常见,而基于结果的定价由于难以衡量和归因,使用较少。由于生态系统尚处于初期阶段,大多数初创公司选择完全或主要内部构建其 Agent 基础设施。在可靠性方面,初创公司非常重视,超过 90% 的公司报告其解决方案的准确率至少为 70%。医疗保健领域的初创公司报告的准确率最高,而对于简单的、低风险的用例,较低的准确率也是可以接受的,前提是高自动化量能够抵消较低的准确率,或者 AI 能够实现一种全新的、以前不可能实现的能力。
文章还提出了一个 3E 框架(教育、娱乐和期望管理),旨在帮助 AI Agent 初创公司克服企业部署的各种挑战。AI Agent 与传统的 RPA 相比,更适用于需要认知能力、推理和适应性的复杂、动态和非结构化任务。AI Agent 可以根据不断变化的环境做出动态决策,并随着时间的推移进行学习和改进,从而处理边缘情况和环境变化,而不会崩溃。
- 原文: [Lessons from interviews on deploying AI Agents in production](https://mmc.vc/research/state-of-agentic-ai-founders-edition/)
- Hacker News: [https://news.ycombinator.com/item?id=45808308](https://news.ycombinator.com/item?id=45808308)
- 作者: advikipedia
- 评分: 87
- 评论数: 79
- 发布时间: 2025-11-04 15:26:45
---
## 纽约市的 Mack Super Pumper:一台用火车引擎驱动的超级消防车
这台诞生于上世纪 60 年代的 Mack Super Pumper 消防系统,是为了应对纽约市日益严峻的火灾挑战而生的。它由五辆卡车组成,核心是一台由 Napier-Deltic 柴油发动机驱动的巨型水泵车,能以惊人的流量供水,被称为当时最强大的陆基消防车。
1963 年斯塔滕岛发生了一场大火,暴露了城市供水不足的问题,促使纽约市政府批准了 Super Pumper 系统的研发。从 1965 年到 1980 年代初,这套系统参与了超过 2200 次救援行动,共有 900 多名消防员参与操作。整个系统包含一辆核心水泵车、一辆装满软管和配件的补给车,以及三辆不带水泵的卫星车。
核心水泵车的动力来自一台二战时期英国开发的 Napier-Deltic 柴油发动机,这台发动机原本用于驱动舰船,拥有 2400 马力,通过三个曲轴和对置活塞设计实现轻量化和高转速。这台发动机每小时消耗 137 加仑柴油,噪音巨大,需要消防员佩戴防护耳罩。
Mack 在 1964 年获得了制造合同,并在当年年底完成了这台水泵车。牵引车头是一辆 Mack F715FSTP,配备 255 马力的 Mack END864 发动机。整套系统的最高时速为 42 英里/小时,但由于主要在城市中使用,因此更注重操控性。
水泵车配备由 DeLaval 公司制造的六级水泵,能够以低压每分钟抽取超过 10000 加仑的水,在高压 (350psi) 下也能达到 8800 加仑/分钟。补给车上装有一门巨型水炮,射程超过 600 英尺。在一次布朗克斯区的火灾中,消防员铺设了 7000 英尺长的软管,水泵车依然能像在海边一样供水。1967 年,在一次邮政大楼的火灾中,Super Pumper 系统同时为水炮、三辆卫星车、两辆云梯车和一个便携式歧管供水。
软管的压力测试值为 1000psi,通常在 350-800psi 范围内使用,远高于现代消防车。这些软管是二战时期海军高压软管的衍生品,虽然比现代软管重,但在当时是最先进的。
这台 Super Pumper 至今仍然存在,被保存在密歇根州的一家博物馆中,提醒着人们在面对危及生命和财产的问题时,人类具有惊人的创造力。
- 原文: [The Mack Super Pumper was a locomotive engined fire fighter (2018)](https://bangshift.com/bangshiftxl/mack-super-pumper-system-locomotive-engine-powered-pumper-extinguish-hell-often/)
- Hacker News: [https://news.ycombinator.com/item?id=45804122](https://news.ycombinator.com/item?id=45804122)
- 作者: mstngl
- 评分: 153
- 评论数: 105
- 发布时间: 2025-11-04 04:37:34
---
## 从数独解算器中学习:两种不同的编程思路
这篇文章对比了 Ron Jeffries 和 Peter Norvig 解决数独问题的不同方法,旨在探讨不同的编程思路和问题解决策略。文章指出,Ron Jeffries 尝试使用测试驱动开发(TDD)来解决数独问题,但最终陷入了数据表示的细节中,未能有效解决问题。而 Peter Norvig 则采取了一种更为直接和高效的方法,通过约束传播和搜索算法,用更少的代码解决了问题。
文章引用了 Peter Seibel 对 Ron Jeffries 编程过程的评价,认为 Ron Jeffries 在不清楚如何解决问题的情况下尝试使用 TDD,导致他陷入了无休止的循环,最终放弃。Seibel 认为,Jeffries 花费大量时间在数据结构的表示上,而 Norvig 只用了 12 行代码就完成了数据表示。Norvig 的方法侧重于分析和设计,然后编写代码,最终解决了整个问题。他拒绝了标准策略,而是选择了一种更有效的搜索方法。
文章还提到了 Andrew Dalke 关于 TDD 的问题,以及一些 TDD 支持者的评论,揭示了 TDD 的局限性。总体而言,这篇文章通过对比两种不同的数独解算器实现,引发了关于编程思路、问题解决策略和 TDD 适用性的思考。
评论区主要讨论了“预先设计”与“测试驱动开发”之间的差异。有人认为,解决难题需要预先设计。另一位评论者则认为,问题的关键在于程序员的思维质量。Ron 的思维过程混乱且草率,而 Peter 的思维过程则从分析到设计再到代码,有条不紊地进行,最终解决了整个问题。Peter 的洞察力在于他拒绝了标准策略,而 Ron 则尝试采用从其他地方获得的策略。评论强调了深入分析问题的重要性,以及选择合适的算法和策略对于解决问题的关键作用。
- 原文: [Learning from Sudoku Solvers (2007)](http://ravimohan.blogspot.com/2007/04/learning-from-sudoku-solvers.html)
- Hacker News: [https://news.ycombinator.com/item?id=45733410](https://news.ycombinator.com/item?id=45733410)
- 作者: buescher
- 评分: 4
- 评论数: 2
- 发布时间: 2025-10-28 22:34:07
---
## 对 PGVector 的反思:理论与生产环境的差距
本文深入探讨了在生产环境中使用 PGVector 进行向量搜索时面临的挑战,打破了“PGVector 是万能方案”的常见误解。虽然 PGVector 在概念上很吸引人,但实际应用中存在诸多问题,尤其是在索引选择和实时搜索方面。
文章首先指出,许多关于 PGVector 的文章都停留在演示层面,缺乏在生产环境中大规模应用的经验。作者强调,从简单的 Demo 到实际生产环境的平滑过渡,需要解决许多实际问题。
文章详细讨论了两种主要的索引类型:IVFFlat 和 HNSW,并分析了它们的优缺点。IVFFlat 的优点是内存占用较低,索引创建速度较快,但需要预先指定簇的数量,并且召回率可能不尽如人意。HNSW 的优点是召回率更高,查询性能更稳定,但内存需求高,索引创建速度慢。作者强调,在实际应用中,HNSW 索引的构建过程可能会消耗大量的内存,甚至导致数据库崩溃。
此外,文章还深入探讨了实时搜索的挑战。在需要快速更新索引的场景下,IVFFlat 和 HNSW 各有不足。IVFFlat 需要定期重建索引,导致服务中断或搜索质量下降。HNSW 在插入新向量时需要更新图结构,在高写入负载下可能导致锁竞争,影响性能。
文章还提到了元数据同步的问题。在实际应用中,向量数据通常与元数据关联,例如文档标题、时间戳等。保持向量数据和元数据的一致性是一个复杂的问题,尤其是在索引构建需要较长时间的情况下。
总而言之,文章并非否定 PGVector 的价值,而是提醒开发者在选择 PGVector 时要充分考虑其局限性,并做好应对各种挑战的准备。在生产环境中应用 PGVector 需要深入理解其内部机制,并根据实际情况进行优化和调整。
- 原文: [The Case Against PGVector](https://alex-jacobs.com/posts/the-case-against-pgvector/)
- Hacker News: [https://news.ycombinator.com/item?id=45798479](https://news.ycombinator.com/item?id=45798479)
- 作者: tacoooooooo
- 评分: 346
- 评论数: 132
- 发布时间: 2025-11-03 20:50:27
---
## 2025 年终端模拟器状态:杰出的挑战者
本文探讨了 2025 年终端模拟器的发展状况,重点关注 Unicode 支持和性能表现,并介绍了 ucs-detect 工具的最新进展。
文章指出,终端模拟器面临着将庞大的 Unicode 字符集映射到固定宽度网格的挑战,同时还要保证可读性。预测字符宽度、处理组合标记和 emoji 序列的复杂性是常见的问题。文章特别赞扬了 Ghostty 和 Kitty 两款终端模拟器。Ghostty 是 Mitchell Hashimoto 今年发布的全新终端,以 zig 语言开发,Unicode 支持非常出色。Kitty 则由 Kovid Goyal 开发,在测试中表现同样优秀,并且 Kovid 公布了文本分割算法,与 Python wcwidth 规范高度匹配。
文章还提到了其他终端模拟器,如 iTerm2 和 Extraterm,它们在性能方面表现不佳,消耗大量 CPU 资源。GNOME Terminal 及其 VTE 衍生产品也存在速度过慢的问题。文章作者还分享了优化 Python wcwidth 实现的经验,最终确定使用带有 functools.lru_cache 装饰器的二分查找是最佳方案。此外,文章还提到了 Terminology 终端模拟器,它在执行过程中会产生不一致的结果,可能存在状态损坏的问题。最后,文章指出 iTerm2 对所有 DEC Private Modes 都报告“支持但已禁用,且无法更改”的状态。
- 原文: [State of Terminal Emulators in 2025: The Errant Champions](https://www.jeffquast.com/post/state-of-terminal-emulation-2025/)
- Hacker News: [https://news.ycombinator.com/item?id=45799478](https://news.ycombinator.com/item?id=45799478)
- 作者: SG-
- 评分: 241
- 评论数: 224
- 发布时间: 2025-11-03 22:40:51
---
🫵 来啊,说点有用的废话!
▲