zhulink logo
自动夜间模式 日间模式 夜间模式
侧栏
0

【HN中文日报】AI爆火!微距摄影黑科技、LLM推理加速、编程语言新玩法...你关心的都在这儿!

意外富翁的头像
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251012 今天的新闻有点意思!先是有人用AI技术把昆虫微距照片玩出了3D效果,细节爆炸!然后Together AI搞了个大新闻,LLM推理速度飙升,据说比Groq还快!还有能跑在裸机上的Scheme编译器、像魔法书一样的编程语言... 科技圈真是脑洞大开!当然,也别忘了关注安全问题,Copilot被爆出漏洞,小心你的代码被偷!想了解更多?赶紧点开看看吧,保证不让你失望! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## 使用高斯溅射技术进行微距摄影 Dany Bittel 使用高斯溅射 (Gaussian Splats) 技术,创造了令人惊叹的昆虫微距 3D 模型。这种技术通过从不同角度拍摄物体,再利用类似 AI 训练的方式进行优化,最终生成可自由旋转观看的 3D 图像。 文章介绍了作者如何将高斯溅射技术应用于微距摄影,并克服了微距摄影中景深极浅带来的挑战。作者采用了焦点堆叠 (focus stacking) 技术,即从同一角度拍摄多张焦点略有不同的照片,然后将它们合成为一张完全清晰的照片。为了捕捉昆虫的各个角度,作者将昆虫安装在旋转盘上,并使用自动化焦点导轨拍摄了 111 个视角,总共拍摄了 1776 张照片。拍摄完成后,使用 COLMAP 重建相机位置,然后使用 Postshot 进行训练,最终生成了高斯溅射模型。作者还分享了免费的 cluster fly 模型,供大家学习和使用。这种技术特别适合捕捉昆虫毛茸茸的纹理和复杂的结构。 评论区对这项技术赞不绝口,认为它结合了精湛的微距摄影和计算机图形技术,并对实时渲染效果表示惊叹。有人提到高斯溅射技术在游戏主机中的应用潜力,也有人好奇这种技术如何捕捉昆虫身体上的虹彩反射。此外,还有用户反馈网站的配色方案(黑底灰字)影响了阅读体验,希望作者改进。有人提问关于模型中出现的“鬼影腿”伪影是如何产生的。总的来说,评论区对这项技术展现了浓厚的兴趣,并提出了许多有价值的问题和建议。 - 原文: [Macro Gaussian Splats](https://danybittel.ch/macro.html) - Hacker News: [https://news.ycombinator.com/item?id=45556952](https://news.ycombinator.com/item?id=45556952) - 作者: danybittel - 评分: 175 - 评论数: 22 - 发布时间: 2025-10-12 18:08:02 --- ## Together AI 推出 ATLAS:运行时学习加速器赋能 LLM 推理新范式 Together AI 推出了 AdapTive-LeArning Speculator System (ATLAS),这是一种新型的推测解码系统,它能够在运行时动态改进,无需手动调整,从而显著提升大语言模型的推理速度和效率。ATLAS 能够根据实际使用情况自动演进,通过学习历史模式和实时流量,持续与目标模型的行为保持一致,这意味着使用越多,性能越好。 ATLAS 基于 Together Turbo Speculator 构建,在完全适应的情况下,DeepSeek-V3.1 上的速度高达 500 TPS,Kimi-K2 上的速度高达 460 TPS,比标准解码快 2.65 倍,甚至优于 Groq 等专用硬件。推测解码是加速推理的关键技术之一,它使用一个更快的“推测器”(也称为草稿模型)来提前预测多个 token,然后由目标模型并行验证这些 token。整体速度取决于接受率(即目标模型同意推测器生成 token 的频率)以及草稿模型相对于目标模型的延迟。 ATLAS 包含一个在广泛语料库上训练的重量级静态推测器,以及一个允许从实时流量进行快速、低开销更新的轻量级自适应推测器,可以即时专门针对新兴领域。此外,还有一个置信度感知控制器,用于选择在每个步骤信任哪个推测器以及使用什么推测前瞻,当推测器具有高置信度时,使用更长的推测。静态 Turbo Speculator 作为一个始终在线的速度下限,在流量转移或自适应路径冷启动时,TPS 不会崩溃。在 ATLAS 中,它用于快速启动速度并提供故障安全回退——如果检测到置信度下降或漂移,控制器会缩短前瞻或路由回静态路径,以在自适应推测器重新学习时保持延迟。 - 原文: [Faster LLM inference](https://www.together.ai/blog/adaptive-learning-speculator-system-atlas) - Hacker News: [https://news.ycombinator.com/item?id=45556474](https://news.ycombinator.com/item?id=45556474) - 作者: alecco - 评分: 101 - 评论数: 25 - 发布时间: 2025-10-12 16:37:01 --- ## Loko Scheme:裸机优化的 Scheme 编译器 Loko Scheme 是一款能够优化 Scheme 代码的编译器,它不仅支持 R6RS 和 R7RS Scheme,还能交叉编译到 Linux/amd64、NetBSD/amd64 以及裸机 amd64 平台。 Loko Scheme 的亮点在于其对并发的支持,它基于 Concurrent ML,并且编译后的代码具有不错的性能。它还提供了一些硬件支持,包括网络、磁盘、视频、串口、PS/2 键盘鼠标以及 USB 栈。这意味着你可以用它来构建静态链接的并发应用,或者进行系统级语言的开发,甚至可以尝试 Unikernel 和锁无关内核的实验。Loko Scheme 并非要取代其他编译器,而是专注于特定领域,例如在裸机上运行 Scheme 代码,或者探索新的用户空间到内核的接口。 该项目提供了一个可引导的硬盘镜像,只需一台配备至少 1GB 内存的机器即可启动并进入 REPL 环境。Loko Scheme 使用 EUPL-1.2 或更高版本的许可协议,这是一种具有 SaaS 条款的 copyleft 许可,但对于编译器来说效果很好。 评论区里,有用户称赞了 Loko Scheme 能够运行在裸机上的特性,并询问是否支持 macOS(目前尚无法确认)。另一位用户表达了对文档和教程的需求,并找到了官方文档链接。还有用户认为 Loko Scheme 是一个了不起的成就,是对 Lisp 工作站梦想的延续,并希望看到更多类似的项目,而不是更多的 C 语言 UNIX 克隆。总的来说,社区对 Loko Scheme 在系统编程和底层探索方面的潜力表示了浓厚的兴趣。 - 原文: [Loko Scheme: bare metal optimizing Scheme compiler](https://scheme.fail/) - Hacker News: [https://news.ycombinator.com/item?id=45500422](https://news.ycombinator.com/item?id=45500422) - 作者: dTal - 评分: 52 - 评论数: 4 - 发布时间: 2025-10-07 15:41:59 --- ## Nostr 与 ATProto:去中心化社交协议的比较 本文深入探讨了 Nostr 和 ATProto 这两个新兴的去中心化社交协议,对比了它们的起源、设计理念以及与现有社交网络(如 Twitter 和 Mastodon)的关系。文章旨在分析它们的异同,而非简单地将二者对立。 文章首先回顾了 Twitter 的发展历程,指出其在文化和社会层面的巨大影响。然而,Twitter 的中心化特性也引发了诸多问题,如审查、管理困境等。这促使人们开始探索去中心化社交协议的可能性,ATProto 和 Nostr 正是这种探索的产物。ATProto 源于 Bluesky 最初的目标,即构建一个 Twitter 可以采用的去中心化协议。Nostr 则更多地被视为对 Twitter 上“审查”的回应。 文章还提到了 ActivityPub 和 Fediverse,它们代表了另一种去中心化社交的思路,即强调紧密联系的社区而非全球网络。与 Nostr 和 ATProto 相比,ActivityPub 采取了一种更为集体主义的方法。文章作者也承认自己不是 ActivityPub 专家,对该协议的理解可能存在偏差。 作者认为,Nostr 和 ATProto 在技术上存在相似之处,未来可能会逐渐融合。文章还提到,在开始撰写这篇文章之前,作者曾在网上搜索过关于 Nostr 和 ATProto 的比较,但没有找到满意的结果,这促使他决定自己动手撰写。 由于没有评论内容,因此跳过评论相关的总结与分析。 - 原文: [Nostr and ATProto (2024)](https://shreyanjain.net/2024/07/05/nostr-and-atproto.html) - Hacker News: [https://news.ycombinator.com/item?id=45556763](https://news.ycombinator.com/item?id=45556763) - 作者: sph - 评分: 44 - 评论数: 6 - 发布时间: 2025-10-12 17:24:43 --- ## Meta Superintelligence 实验室首篇论文:REFRAG,一种新型 RAG 方法 Meta Superintelligence (MSI) 的首篇论文 REFRAG 提出了一种优化 RAG (Retrieval-Augmented Generation) 的新方法,旨在显著提升 RAG 系统的速度和效率。该论文的核心在于将检索到的文档块转换为紧凑的、与 LLM 对齐的块嵌入 (chunk embeddings),从而减少 KV 缓存和注意力成本,实现更快的首字节延迟和更高的吞吐量,同时保持基准测试中的困惑度和任务准确性。 REFRAG 的工作原理是,首先将知识库中的文档分割成小块(约 128 个 token),然后使用轻量级编码器将每个块编码成一个紧凑的块嵌入,并将其投影到 LLM 的嵌入空间中。这些嵌入是可预先计算和缓存的。在实际应用中,系统首先嵌入用户查询并检索候选块。与传统 RAG 不同的是,REFRAG 不会将每个块的完整 token 序列发送到 LLM,而是向 LLM 提供一个混合输入:(a) 大多数块的投影块嵌入,以及 (b) 策略选择扩展的少数块的完整 token 序列。 一个小型策略网络负责根据扩展预算选择要扩展到 token 的块,该策略网络可以通过强化学习 (RL) 进行训练,以最大程度地降低生成过程中的困惑度。LLM 接收到的是一个短 token 序列(扩展的块 + 查询)以及一些单向量占位符(未扩展的块),然后 LLM 像往常一样生成文本。 论文的核心观点是利用策略网络来压缩 RAG 过程中不太相关的块。更深层次的理解是:如果嵌入是由 LLM 内的层生成的,那么将它们转换回自然语言,然后再让另一个 LLM 将这些 token 压缩回嵌入是没有意义的。这解释了为什么 REFRAG 能够在不降低准确性的前提下实现速度提升。 MSI 发布 RAG 效率论文表明,他们可能会关注具有实际 ROI 的问题,并利用其研究和基础设施专业知识来推动创新。对于企业和产品团队而言,REFRAG 是一个有潜力的生产试点项目,可以评估 TTFT(首个 token 的时间)、吞吐量和每次查询的成本,从而实现更高的 GPU 查询量、更低的 infra 支出和更好的用户体验。 虽然目前还没有 REFRAG 的工作实现,但可以预见一些潜在的局限性,例如训练和工程复杂性、压缩上限、新鲜度问题以及用例限制。 总而言之,REFRAG 提醒我们,并非所有突破都来自更大的模型。通过优化 RAG 流程,我们可以以更低的成本获得更好的性能。 - 原文: [Meta Superintelligence's surprising first paper](https://paddedinputs.substack.com/p/meta-superintelligences-surprising) - Hacker News: [https://news.ycombinator.com/item?id=45553577](https://news.ycombinator.com/item?id=45553577) - 作者: skadamat - 评分: 342 - 评论数: 180 - 发布时间: 2025-10-12 07:16:05 --- ## Django ORM 在不同数据库中的支持情况对比 本文旨在对比 Django ORM 在 PostgreSQL、SQLite、MariaDB、MySQL 和 Oracle 这五种官方支持的数据库后端上的功能支持情况,帮助开发者了解不同数据库的适用场景和局限性,并为 Django 的改进提供参考。 文章首先简要介绍了 Django 官方支持的数据库,包括它们的开发者、发布时间、最新版本、许可证以及最低支持版本。作者受到 GeoDjango 兼容性表的启发,希望创建一个类似的矩阵,清晰地展示 Django ORM 在不同数据库上的功能支持情况,避免开发者在选择数据库时进行猜测或查阅大量文档。文章使用一个虚构的特性矩阵作为示例,展示了各种 ORM 特性(如字段类型、约束、高级查询功能、事务完整性、空间 GIS 功能)在不同数据库上的支持程度,分为完全支持、部分支持和不支持三种状态。例如,PostgreSQL 在大多数特性上都表现出良好的支持,而 SQLite 在某些高级特性上则存在限制。作者还提供了一个图表,直观地展示了每个数据库后端支持的特性数量。文章最后以全文搜索为例,说明了某些特性在不同数据库上的支持情况差异,强调了拥有一个清晰的特性矩阵的重要性。 文章中没有评论内容。 - 原文: [Django: One ORM to rule all databases](https://www.paulox.net/2025/10/06/django-orm-comparison/) - Hacker News: [https://news.ycombinator.com/item?id=45489347](https://news.ycombinator.com/item?id=45489347) - 作者: pauloxnet - 评分: 38 - 评论数: 33 - 发布时间: 2025-10-06 17:11:39 --- ## 微流控技术量化儿童长新冠患者血浆中的纤维蛋白 clots 本文介绍了一项使用微流控技术量化儿童长新冠患者血浆中纤维蛋白 clots(微血栓)的研究,旨在解决长新冠诊断不精确的问题。研究人员开发了一种微流控设备,用于量化患者血液样本中的微血栓数量,克服了传统方法的局限性。 研究发现,与健康儿童相比,长新冠患儿的样本中微血栓水平显著升高。在包含 45 名长新冠患者和 14 名健康儿童的队列中,该设备的准确率高达 94%,远高于传统显微镜下微血栓计数的 66%。更有趣的是,研究人员发现,持续存在 SARS-CoV-2 刺突蛋白的患者样本中微血栓计数最高。这项研究为长新冠的诊断和治疗提供了一个新的方向。未来的研究将评估该方法在大规模人群中作为长新冠筛查测试以及评估治疗反应的效用。该研究使用微流控技术,能够更准确地量化微血栓,为长新冠的诊断提供客观依据。研究结果表明,微血栓可能在长新冠的发病机制中发挥作用,针对微血栓的治疗可能具有潜力。 评论区主要围绕长新冠的患病率和研究结果的解读展开讨论。有人质疑文章中 1/5 的儿童感染后出现长新冠的比例与实际感知不符,并引用维基百科上较低的数字。评论还提到,不同研究对长新冠的定义和患病率的统计可能存在差异。另一条评论则分享了放血疗法改善个人健康状况的经验,并对相关研究未引起广泛关注表示不解。另有评论指出标题可能存在误导,认为应更明确地表达该测试是 94% 准确地计数微血栓,而非检测长新冠。这些评论反映了对长新冠患病率、诊断标准和潜在治疗方法的多样化观点。 - 原文: [Quantification of fibrinaloid clots in plasma from pediatric Long COVID patients](https://www.researchsquare.com/article/rs-7483367/v1) - Hacker News: [https://news.ycombinator.com/item?id=45557267](https://news.ycombinator.com/item?id=45557267) - 作者: thenerdhead - 评分: 96 - 评论数: 78 - 发布时间: 2025-10-12 19:08:58 --- ## 探索 Flummoxagon:一款融合 Pentominoes 和 Sudoku 的几何谜题游戏 Flummoxagon 是一款由 Nervous System 推出的全新几何谜题游戏,它巧妙地结合了 Pentominoes 和 Sudoku 的元素,旨在挑战玩家的空间推理和逻辑思维能力。这款游戏的核心玩法是将所有拼图块放入六边形框架中,但增加了一个限制条件:相同颜色的拼图块不能相邻。 Flummoxagon 包含 48 个拼图块,这些拼图块由最多 5 个六边形组合而成,涵盖了所有可能的形状。拼图块共有 4 种颜色,每种颜色有 12 个拼图块,并且每种颜色包含 54 个六边形(绿色除外,因为网格中的六边形数量为奇数)。游戏的挑战在于,如何将所有拼图块放入框架中,同时确保没有两个相同颜色的拼图块接触。虽然存在成千上万种解决方案,但仅凭个人能力找到其中一种几乎是不可能的。 为了增加游戏的可玩性,Flummoxagon 引入了预先填充的棋盘,这些棋盘只存在唯一的解决方案,类似于 Sudoku。每个棋盘都构成了一个独特的谜题,等待玩家去解决。游戏附带 13 个难度各异的棋盘,并且 Nervous System 还在其网站上每周更新新的谜题,为玩家提供源源不断的挑战。 Flummoxagon 的诞生源于 Jules 对 tiling patterns 的兴趣。他构建了一个求解器,用于在网格上放置拼图块,这实际上是 "exact cover" 问题的一个变种。最初的版本没有颜色,但 Jules 很快意识到,即使存在数百万种解决方案,玩家也没有太多理由去寻找另一种解决方案。因此,他加入了颜色,为解决方案赋予了意义。 然而,即使有了颜色规则,找到一个可行的解决方案仍然非常困难。这促使 Jules 提出了一个关键的创新:与其解决完整的彩色谜题,不如寻找只有唯一解决方案的局部拼图块集合。这增加了问题的约束,使其变得可行。通过这种方式,Flummoxagon 从一个 tiling puzzle 变成了一个更像 Sudoku 的游戏。 Flummoxagon 的核心在于其 tiling solver。该求解器基于计算机科学家 Donald Knuth 的算法,采用巧妙的问题表示方法,可以高效地搜索解决方案。该算法基于 "exact cover" 的概念,将拼图块的放置问题转化为选择子集的问题,以确保网格中的每个单元格都被精确地覆盖一次。为了表示相同颜色的拼图块不能接触的约束,该算法引入了 "optional columns",表示颜色接触网格中的边缘。 Donald Knuth 推广了一种名为 Algorithm X 的简单算法来解决这个问题。Algorithm X 基于以下观察:在搜索解决方案时,可以按顺序考虑每一列。选择要覆盖的列,然后选择覆盖该列的行。然后,沿着您选择的行查看并删除与该行共享列的每个其他行,因为这些行不能成为与您已选择的行相同的解决方案的一部分。 Knuth 引入了一种称为 Dancing Links 的技术,可以大大提高这种搜索的效率。该技术的关键在于从链表中删除元素的可逆性。在双向链表中,每个元素都指向其邻居,并且要向左或向右移动,只需按照箭头从一个元素移动到下一个元素即可。 - 原文: [The Flummoxagon](https://n-e-r-v-o-u-s.com/blog/?p=9827) - Hacker News: [https://news.ycombinator.com/item?id=45504540](https://news.ycombinator.com/item?id=45504540) - 作者: robinhouston - 评分: 74 - 评论数: 16 - 发布时间: 2025-10-07 23:40:09 --- ## Jeep 2024 Wrangler 4xe 车型因软件更新变砖 Jeep 刚刚推送了一个软件更新,导致所有 2024 款 Wrangler 4xe 车型“变砖”,包括作者自己的 Willys。这意味着车辆可能无法启动或正常运行,给车主带来极大的不便。 根据用户反馈,这次更新可能导致车辆在行驶过程中突然失去动力并熄火,仪表盘上的档位指示器开始闪烁,电源模式指示器消失,并出现“换入驻车档并按下制动器 + 启动按钮”的警报,同时发动机故障灯和红色扳手灯亮起。在车辆完全失去动力之前,驾驶员可能还有大约 30 秒的时间来控制方向和刹车。这种问题如果发生在高速公路上,后果不堪设想。 目前,Jeep 官方尚未对此事做出回应,但已经有用户在论坛上发帖讨论此事,并寻求解决方案。这次事件再次引发了人们对汽车软件更新安全性的担忧。虽然软件更新可以修复漏洞、提升性能,但也可能带来意想不到的问题,甚至导致车辆无法使用。 评论区对此事件的反应不一。 * 有人对软件更新导致车辆出现严重故障表示担忧,认为这可能会危及驾驶安全。 * 也有人质疑消息的真实性,认为需要提供更可靠的证据。 * 还有人感叹现代汽车过于依赖软件,失去了原本的简单和可靠。一位老车主表示,他更喜欢老款的 Wrangler,因为它们没有那么多电子设备,更加耐用。 * 另一些人则对汽车行业的发展趋势感到无奈,认为软件化是不可避免的趋势。 - 原文: [Jeep pushed software update that bricked all 2024 Wrangler 4xe models](https://twitter.com/StephenGutowski/status/1977055831720862101) - Hacker News: [https://news.ycombinator.com/item?id=45558318](https://news.ycombinator.com/item?id=45558318) - 作者: PKop - 评分: 20 - 评论数: 9 - 发布时间: 2025-10-12 22:07:13 --- ## PostgreSQL 18 中 psql 的流水线技术 本文介绍了 PostgreSQL 18 中 psql 引入的流水线 (pipelining) 技术,该技术允许客户端在不等待先前发送的查询结果的情况下发送后续查询,从而提高吞吐量。流水线技术通过并行处理和更有效地利用网络资源来实现性能提升。 文章详细解释了流水线的工作原理,包括客户端、网络和服务器的并行工作方式,以及如何将多个查询分组到同一网络数据包中以减少数据包总数。文章还对比了流水线技术与使用 `\;` 语法将多个查询分组在同一请求中的方法,指出流水线是扩展查询协议中多语句查询的演进。通过性能测试,文章展示了在不同网络条件下(localhost, LAN, WAN)使用流水线技术导入数据的加速效果,结果表明,在较慢的网络连接上,加速效果更为显著。 评论区主要讨论了流水线技术带来的性能提升的原因,以及实际应用中的一些考量。有人认为,性能提升的关键在于减少了等待往返确认的时间,而不是简单地发送更大的数据包。也有人指出,许多应用使用交互式事务来“批处理”多个查询,但忽略了流水线或批处理的优势,网络往返是造成延迟的最大因素。此外,还有开发者表示,他们维护的 Python 驱动 pg8000 尚不支持流水线模式,并已为此创建 issue。总的来说,评论区从不同角度探讨了流水线技术的价值和应用前景。 - 原文: [Pipelining in psql (PostgreSQL 18)](https://postgresql.verite.pro/blog/2025/10/01/psql-pipeline.html) - Hacker News: [https://news.ycombinator.com/item?id=45555308](https://news.ycombinator.com/item?id=45555308) - 作者: tanelpoder - 评分: 125 - 评论数: 21 - 发布时间: 2025-10-12 12:46:57 --- ## Konrad Zuse的螺旋塔:自动化建造与拆卸的设想 本文介绍了康拉德·楚泽(Konrad Zuse)设计的可连续伸缩的螺旋塔(Helix-Tower),探讨了其自动化建造和拆卸的理念。楚泽在1989年开始设计这种高度可调的塔,并在1993年完成了1:30比例的HT1原型,用于测试其结构。 楚泽最初设想将螺旋塔用于风力发电装置、观测和无线电传输。HT1原型可以扩展到2.7米的高度,而完整尺寸的塔计划达到120米。螺旋塔由金属组件组装而成,是一种纯机械自动机。其可伸缩的主体由多个外壳段组成,这些外壳段排列成螺旋形,并存储在径向布置的弹匣中。塔的建造由一个齿轮驱动,该齿轮控制控制面以启动塔的建造。随着塔的升高,各个组件通过特殊设计的形状连接在一起。塔的延伸和收缩过程相同,依靠电机驱动进行提取,并利用重力进行收缩。 螺旋塔的设计特点在于其元件化和模块化,这使得它能够用少量的工人在短时间内,使用易于运输的组件建造,而无需起重机或脚手架。该塔的组件可以大规模生产,并以模块化概念组合。HT1原型由6295个独立部件组成,其横截面呈八边形。HT2的设计比例为1:10,完整尺寸的塔将达到76.8米的高度,其横截面呈十二边形。楚泽计划建造一座高度为80-120米的实际塔。 螺旋塔的核心部件包括中央单元和弹匣。中央单元包含一个升降装置,该装置配备定子和转子。转子上安装了多个杠杆,这些杠杆通过凸轮盘驱动,从而控制升降臂的运动。弹匣用于存储外壳段,并通过转子的控制面控制其进出。外壳段是塔的构建组件,其切口与升降臂滑动连接,从而将其向上移动。 - 原文: [Konrad Zuse's Helix Tower [pdf]](https://www.iaarc.org/publications/fulltext/The_helix-tower_by_konrad_zuse_automated_con-_and_deconstruction.pdf) - Hacker News: [https://news.ycombinator.com/item?id=45508611](https://news.ycombinator.com/item?id=45508611) - 作者: xg15 - 评分: 15 - 评论数: 2 - 发布时间: 2025-10-08 04:44:34 --- ## C++ 反射 (P2996) 与 Qt MOC 的未来 本文探讨了 C++26 的反射机制对 Qt 和 moc 的潜在影响,以及是否能用纯 C++ 解决方案替代 moc。 文章指出,C++26 引入的编译时反射可能不足以完全取代 moc。Moc 从 QObject 子类、gadget 和命名空间中提取元数据,用于实现 QMetaObject 的各种功能。C++26 的反射有望让编译器完成 moc 的工作,从而减少技术债务,并开启模板化 QObject 等新可能性。然而,要实现这一点,还需要解决一些问题,例如标准 C++ 是否缺少 moc 所需的功能,以及 API 变更可能带来的影响。 文章深入研究了 C++ 反射提案,包括 P2996、P3394、P3096、P3491、P3294 和 P1306,并分析了 moc 提取的关键信息,例如类名、父类名、属性 (Q_PROPERTY)、invokable 方法 (Q_INVOKABLE, Q_SIGNAL, Q_SLOT)、Q_CLASSINFO 元数据、Q_ENUM 和 Q_FLAGS,以及 Q_INTERFACES。针对每个部分,文章都探讨了如何使用 C++ 反射来实现相同的功能。例如,对于属性,文章指出 P2996 的反射机制可能不支持基于字符串的查找,这使得直接替换 Q_PROPERTY 变得困难。文章还提出了使用更结构化的方式来声明属性的替代方案。 文章还讨论了 moc 的触发机制和构建系统集成,以及如何使用宏 (例如 `Q_GENERATE_METAOBJECT(Class)`) 来触发反射,并生成必要的元对象数据。总的来说,这篇文章对 C++ 反射在 Qt 中的应用前景进行了全面的分析,并提出了许多有价值的思考方向。 - 原文: [C++ Reflection and Qt MOC](https://wiki.qt.io/C%2B%2B_reflection_(P2996)_and_moc) - Hacker News: [https://news.ycombinator.com/item?id=45521584](https://news.ycombinator.com/item?id=45521584) - 作者: coffeeaddict1 - 评分: 45 - 评论数: 10 - 发布时间: 2025-10-09 06:59:09 --- ## I/O 多路复用技术:select、poll、epoll/kqueue 的比较 本文深入探讨了 I/O 多路复用技术,对比了 `select`、`poll` 和 `epoll/kqueue` 这三种机制,旨在帮助开发者理解它们之间的差异以及各自适用的场景。 文章首先介绍了 I/O 多路复用的基本概念,即通过单个事件循环处理多个 I/O 事件。然后,详细分析了 `select` 的工作原理,指出其性能瓶颈在于需要遍历所有文件描述符,时间复杂度为 O(n),并且存在文件描述符数量限制以及潜在的栈溢出风险。接着,文章讨论了 `poll` 作为 `select` 的改进版本,解决了文件描述符数量限制的问题,并引入了更多的事件类型,但其性能仍然受限于 O(n) 的时间复杂度。最后,文章重点介绍了 `kqueue` (macOS) 和 `epoll` (Linux),它们是更为高效的 I/O 事件通知机制,通过订阅内核事件并在事件发生时接收通知,从而实现了更高的可扩展性,特别适用于处理大量并发连接的场景,例如 Web 服务器。文章还通过代码示例展示了如何使用 `kqueue` 结构体,包括 `kevent` 结构、flags、`kqueue` 创建和 `kevent` 系统调用,并提供了一个使用 `kqueue` 实现流媒体服务器的链接。 评论区中,有开发者指出在 C 语言中使用 I/O 多路复用时,回调和状态机可能变得非常复杂,并分享了使用 C++ 或 Zig 语言通过 closures 和 fiber runtime 来简化异步 I/O 编程的经验。另有评论指出 `poll` 和 `select` 并未被弃用,它们在某些特定场景下仍然适用,例如只需要监视少量文件描述符的 CLI 工具。同时,评论也提醒开发者注意 `epoll` 的潜在风险。 - 原文: [I/O Multiplexing (select vs. poll vs. epoll/kqueue)](https://nima101.github.io/io_multiplexing) - Hacker News: [https://news.ycombinator.com/item?id=45523370](https://news.ycombinator.com/item?id=45523370) - 作者: pykello - 评分: 86 - 评论数: 27 - 发布时间: 2025-10-09 12:06:43 --- ## Spellscript:一款像魔法书一样阅读的神秘编程语言 这款名为 Spellscript 的编程语言旨在提供一种独特的、类似魔法书的编程体验。它通过使用特定的关键词和结构,让代码看起来像是某种咒语,为编程世界增添了一丝神秘色彩。 Spellscript 的核心理念是将编程指令转化为更具表现力和趣味性的形式。 开发者可以通过定义自己的“咒语”,并使用特定的语法结构来执行不同的操作。 这种方式不仅可以提高代码的可读性,还能激发程序员的创造力,让他们在编写代码的同时,感受到一种类似施法般的乐趣。 该项目目前托管在 GitHub 上,并已吸引了一些关注者。虽然它可能不适合用于实际的生产环境,但作为一个实验性的项目,Spellscript 提供了一种全新的编程思路,鼓励开发者探索编程语言设计的更多可能性。 此外,它也为那些对魔法和奇幻感兴趣的程序员提供了一个独特的平台,让他们可以将自己的兴趣与编程技能相结合。 由于没有评论内容,这里就不进行评论分析了。 - 原文: [Show HN: I made an esoteric programming language that's read like a spellbook](https://github.com/sirbread/spellscript) - Hacker News: [https://news.ycombinator.com/item?id=45555523](https://news.ycombinator.com/item?id=45555523) - 作者: sirbread - 评分: 78 - 评论数: 18 - 发布时间: 2025-10-12 13:31:00 --- ## Python 依赖锁文件规范历时四年终面世 本文作者回顾了 Python 锁文件规范(`pylock.toml`)从 2019 年到 2023 年的漫长演变过程,详细阐述了制定锁文件规范的复杂性和挑战。锁文件旨在记录代码运行所需的所有依赖及其安装方式,涉及源文件目录、源码发行版(sdist)和 wheel 文件等多种形式。 文章指出,关键在于确定安装时机,例如区分 `pyproject.toml` 中的 `project.dependencies`(始终需要的依赖)、`project.optional-dependencies`(可选依赖,即 extras)和 `dependency-groups`(非终端用户依赖,如测试依赖)。依赖项的说明符允许限制版本,并指定依赖项的应用场景(例如,特定于 Windows)。最终形成一个依赖关系图,其边决定了依赖关系是否适用于特定平台。多用途锁文件可在不同平台和用户选择的选项之间移植,而单用途锁文件仅支持单个平台和输入依赖项集。获取完整的依赖项列表是一个 NP-complete 问题。 作者希望锁文件格式既能由软件编写,又能被人阅读,默认安全,安装快速,并且允许编写锁文件的 locker 与执行安装的 installer 不同(甚至可以用 Python 以外的语言编写)。作者在 2019 年开始思考这个问题,当时社区对 `requirements.txt` v2 进行了讨论,但没有得出明确结论。2021 年,作者与 Tzu-Ping Chung 和 Pradyun Gedam 共同研究了其他语言生态系统的锁文件,并提出了 PEP 665,但该提案在 2022 年被拒绝,原因是许多人的工作流程依赖于 sdist,并且不愿意在带外构建 wheel 文件。2023 年,作者决定独自解决这个问题,并开始编写概念验证代码,包括从索引服务器获取元数据、解析项目所需的所有依赖项(至少来自 wheel 文件)以及了解在任何给定平台上将安装的内容。 文章还提到了 uv 的出现,它在一定程度上影响了作者的计划。最终,经过多年的努力,`pylock.toml` 规范得以发布。 - 原文: [Why it took 4 years to get a lock files specification](https://snarky.ca/why-it-took-4-years-to-get-a-lock-files-specification/) - Hacker News: [https://news.ycombinator.com/item?id=45556741](https://news.ycombinator.com/item?id=45556741) - 作者: birdculture - 评分: 82 - 评论数: 48 - 发布时间: 2025-10-12 17:21:29 --- ## 那些本应有更大作为却被放弃的项目 这篇文章讨论了那些因为各种原因未能充分发挥潜力就被放弃或停止开发的项目,引发了人们对技术发展方向和市场机遇的思考。 文章列举了一些被认为过早消亡的项目,并分析了它们失败的原因。例如,Plan 9 操作系统被认为是 Unix 的优秀继任者,但由于法律问题、市场定位不佳以及 AT&T 的衰落而未能获得广泛采用。Lytro 光场相机虽然技术先进,但图像质量未能达到专业摄影师的要求,最终未能成功。Adobe Flash/Shockwave 则因其易用性而备受怀念,但随着技术发展而被淘汰。Google Wave 作为一个具有实时翻译和消息集成功能的开放源代码项目,最终因市场反应不佳而失败。Ricochet 网络作为一个无线分组网,虽然技术先进,但由于市场定位不准确而未能获得成功。最后,作者还分享了一个在 2015 年开发的聊天机器人项目,该项目集成了多种功能,但最终未能商业化。这些项目都代表了技术创新和市场机遇,但由于各种原因未能取得成功,令人惋惜。 评论区也贡献了很多有趣的观点: * **Plan 9 的拥护者** 认为它在分布式系统方面具有优势,可惜未能适应时代发展。 * **对旧 Macintosh 系统** 的怀念,认为其无命令行设计本可以简化用户体验。 * **对 Adobe Flash 的惋惜**,认为至今没有工具能像它一样便捷地开发游戏和多媒体内容。 * **对 Google Wave 的追忆**,认为其集成的消息功能和实时翻译非常出色。 * **对 Ricochet 网络的分析**,认为其市场定位失误导致了失败。 这些评论反映了人们对不同技术的偏好和对技术发展方向的思考,也提醒我们,技术创新需要与市场需求相结合,才能取得成功。 - 原文: [Ask HN: Abandoned/dead projects you think died before their time and why?](https://news.ycombinator.com/item?id=45553132) - Hacker News: [https://news.ycombinator.com/item?id=45553132](https://news.ycombinator.com/item?id=45553132) - 作者: ofalkaed - 评分: 206 - 评论数: 579 - 发布时间: 2025-10-12 06:16:18 --- ## Anthropic Prompt Engineering 交互式教程 Anthropic 在 GitHub 上开源了一个交互式的 Prompt Engineering 教程,旨在帮助开发者更好地理解和运用 Prompt Engineering 技术。这个教程通过实践案例,深入浅出地讲解了 Prompt Engineering 的核心概念和技巧,非常适合想要入门或者提升 Prompt Engineering 能力的开发者。 这个教程涵盖了 Prompt Engineering 的多个重要方面,包括如何设计清晰明确的指令、如何利用上下文信息、如何避免常见的 Prompt Engineering 陷阱等等。它还提供了一些常用的 Prompt Engineering 技巧,比如 Few-shot Learning、Chain-of-Thought Prompting 等等,并结合实际案例演示了这些技巧的应用。通过学习这个教程,开发者可以掌握 Prompt Engineering 的基本原理和方法,从而更好地利用 LLM (大型语言模型) 解决实际问题。 教程采用交互式的方式,让学习者能够边学边练,加深对知识的理解和掌握。每个章节都包含练习题和示例代码,学习者可以根据自己的进度进行学习和实践。此外,教程还提供了一些额外的资源,比如 Prompt Engineering 的相关论文、博客文章等等,方便学习者进一步深入研究。总的来说,Anthropic 的这个 Prompt Engineering 教程是一个非常优秀的学习资源,值得每一个对 LLM 感兴趣的开发者学习。 - 原文: [Anthropic's Prompt Engineering Tutorial](https://github.com/anthropics/prompt-eng-interactive-tutorial) - Hacker News: [https://news.ycombinator.com/item?id=45551260](https://news.ycombinator.com/item?id=45551260) - 作者: cjbarber - 评分: 252 - 评论数: 52 - 发布时间: 2025-10-12 02:06:40 --- ## 温哥华证券交易所:昔日的“诈骗之都” 本文回顾了1989年温哥华证券交易所(VSE)的乱象,揭示了其如何成为臭名昭著的“诈骗之都”。文章指出,VSE 上市的公司质量参差不齐,投资者面临着极高的风险,高达 84% 的概率损失部分投资,40% 的概率血本无归。 文章通过引用当时的报道和数据,揭露了 VSE 存在的各种欺诈行为,例如虚报资产、操纵股价等。这些行为导致大量投资者损失惨重,也让 VSE 的声誉一落千丈。尽管后来 VSE 进行了改革,并更名为 TSX Venture Exchange,但温哥华仍然是小型矿业公司的中心,而这些公司往往容易出现欺诈行为。文章还提到,即使在交易所关闭后,一些人仍然沉迷于过去的“拉高出货”游戏,将目标转向其他热门领域,例如大麻、加密货币和 NFT。 评论区也对此话题展开了热烈的讨论。 一些评论提到,温哥华至今仍存在 VSE 时代的遗留问题,小型矿业公司诈骗行为屡见不鲜。有用户分享了自己在温哥华的经历,例如投资者只关心股价而不关注公司估值,以及 IPO 公司收入极低却能成功上市等怪象。还有人指出,这些公司在矿业不景气时,会迅速转向其他热门领域,例如大麻和加密货币,本质上是从一个骗局转向另一个骗局。 另一些评论则从更广阔的视角看待这个问题。有人提到,高风险投资本身并不等同于诈骗,但 VSE 的问题在于欺诈行为过于普遍。还有人分享了自己或家人在 VSE 投资失败的经历,以及一些投资者对加拿大公司持怀疑态度的现象。总的来说,评论区对 VSE 的历史和现状持批判态度,认为其曾经的“诈骗之都”的称号并非空穴来风。 - 原文: [Vancouver Stock Exchange: Scam capital of the world (1989) [pdf]](https://scamcouver.wordpress.com/wp-content/uploads/2012/04/scam-capital.pdf) - Hacker News: [https://news.ycombinator.com/item?id=45553783](https://news.ycombinator.com/item?id=45553783) - 作者: thomassmith65 - 评分: 116 - 评论数: 48 - 发布时间: 2025-10-12 07:43:42 --- ## GitHub Copilot 漏洞:CamoLeak 泄露私有源代码 本文揭示了 GitHub Copilot Chat 中一个严重的安全漏洞,该漏洞允许攻击者悄无声息地从私有仓库中窃取密钥和源代码,并完全控制 Copilot 的响应,包括建议恶意代码或链接。 该漏洞利用了一种新颖的 CSP 绕过技术,结合了 GitHub 自身的架构和远程 prompt 注入。攻击者可以将恶意指令嵌入到 pull request 描述的隐藏评论中,这些指令会被 Copilot 执行,即使访问该 pull request 的用户不是恶意指令的发布者。Copilot 使用与用户相同的权限运行,因此攻击者可以利用这一点来访问用户的私有仓库,并将内容编码后通过 URL 泄露出去。 GitHub 使用 Camo 代理来处理外部图像,以防止恶意 URL 泄露数据。Camo 会将外部图像 URL 重写为带有 HMAC 签名的代理 URL。但是,研究人员发现,他们可以创建一个包含所有字母和符号的 Camo URL 字典,并让 Copilot 使用这些 URL 以“ASCII 艺术”的形式渲染要泄露的内容。由于这些 URL 都是有效的 Camo URL,因此 GitHub 的反向代理会获取这些图像,从而实现数据泄露。 攻击者可以利用此漏洞窃取私有仓库中的零日漏洞描述,甚至搜索代码库中的敏感信息(如 AWS 密钥)。GitHub 已于 2025 年 8 月 14 日修复了此漏洞,通过完全禁用 Copilot Chat 中的图像渲染。 这个漏洞展示了 AI 助手在开发环境中的安全风险,以及 prompt 注入攻击的潜在危害。开发者在使用 AI 助手时需要保持警惕,并采取适当的安全措施来保护自己的代码和数据。 由于文章中没有评论内容,因此无法提供评论观点的分析。 - 原文: [CamoLeak: Critical GitHub Copilot Vulnerability Leaks Private Source Code](https://www.legitsecurity.com/blog/camoleak-critical-github-copilot-vulnerability-leaks-private-source-code) - Hacker News: [https://news.ycombinator.com/item?id=45553422](https://news.ycombinator.com/item?id=45553422) - 作者: greyadept - 评分: 93 - 评论数: 14 - 发布时间: 2025-10-12 06:58:30 --- ## Lisp Shell 脚本解释器:Redstart Redstart 是一个用 C++ 编写的 Linux Shell 脚本的 Lisp 解释器,项目地址在 GitHub 上。这个项目提供了一种使用 Lisp 语法编写 shell 脚本的方式,为开发者提供了另一种选择。 Redstart 旨在将 Lisp 的强大功能引入到 shell 脚本编写中。它使用 MIT 许可证,允许开发者自由使用和修改。该项目目前有 34 个 star 和 1 个 fork,表明它在开源社区中受到了一定的关注。Redstart 允许开发者使用 Lisp 风格的语法来执行常见的 shell 操作,例如文件操作、进程管理和命令执行。 该项目可能对那些熟悉 Lisp 并且希望在 shell 脚本编写中利用 Lisp 语法的开发者特别有用。通过使用 Lisp 的抽象和表达能力,Redstart 可能会简化某些类型的 shell 脚本的编写,并提高代码的可读性和可维护性。此外,Redstart 也可以作为一个学习项目,帮助开发者了解如何使用 C++ 构建一个简单的解释器。 - 原文: [Show HN: A Lisp Interpreter for Shell Scripting](https://github.com/gue-ni/redstart) - Hacker News: [https://news.ycombinator.com/item?id=45520585](https://news.ycombinator.com/item?id=45520585) - 作者: quintussss - 评分: 78 - 评论数: 17 - 发布时间: 2025-10-09 04:58:37 --- ## 使用 WireGuard、Pi-Hole 和 Unbound DNS 设置 VPN 指南 本文主要介绍了如何使用 WireGuard 搭建 VPN 网络,并集成 Pi-Hole 广告拦截和 Unbound DNS 解析服务,从而实现对 DNS 查询的细粒度控制和网络设备的便捷连接。文章详细阐述了搭建该 VPN 网络的必要性,并提供了一份详尽的配置指南,适合有一定 Linux 基础,并希望深入了解网络配置的读者。 文章首先解释了作者选择 WireGuard、Pi-Hole 和 Unbound 的原因,强调了其对 DNS 查询的控制能力和简化设备连接的需求。然后,文章详细描述了网络设置和客户端配置,包括 VPN 服务器、家庭服务器、桌面设备、笔记本电脑和移动设备等,并使用 Hub and Spoke 网络拓扑结构,其中 VPS 作为所有设备间通信的中转站和互联网出口节点。在 VPS 选择方面,作者建议选择物理位置靠近、带宽高、延迟低的 VPS 提供商,并推荐了 LowEndBox 和 VPSBenchmarks 等资源。 接下来,文章逐步指导读者完成初始服务器设置,包括 SSH 密钥认证、自动更新配置等。通过创建 SSH 密钥,可以提高 VPS 的安全性,并简化连接过程。配置自动更新可以确保服务器及时安装安全补丁,降低安全风险。文章还详细介绍了如何安装和配置 WireGuard,包括生成密钥、配置服务器端和客户端等步骤。同时,文章还介绍了如何配置 Pi-Hole 和 Unbound,以实现广告拦截和 DNS 解析功能。 总而言之,这篇文章提供了一个完整的 WireGuard VPN 搭建指南,帮助读者构建一个安全、可控的网络环境。通过集成 Pi-Hole 和 Unbound,可以进一步提升网络的安全性和隐私性,并实现对 DNS 查询的细粒度控制。 由于没有评论内容,这里跳过评论分析。 - 原文: [A Guide for WireGuard VPN Setup with Pi-Hole Adblock and Unbound DNS](https://psyonik.tech/posts/a-guide-for-wireguard-vpn-setup-with-pi-hole-adblock-and-unbound-dns/) - Hacker News: [https://news.ycombinator.com/item?id=45552049](https://news.ycombinator.com/item?id=45552049) - 作者: pSYoniK - 评分: 121 - 评论数: 21 - 发布时间: 2025-10-12 03:41:27 --- ## Coral Protocol:连接智能代理互联网的开放基础设施 Coral Protocol 旨在构建一个开放和去中心化的协作基础设施,为智能代理互联网提供通信、协调、信任和支付功能。 随着越来越多的组织部署专业化的 AI 代理,它们需要在不同领域和供应商之间协同工作,互操作性变得至关重要。 该协议作为多代理 AI 生态系统的基础平台,通过建立通用的语言和协调框架,使任何代理都能参与到复杂的工作流程中。 Coral Protocol 的设计注重广泛的兼容性、安全性和供应商中立性,确保代理之间的交互高效且可信。 Coral Protocol 引入了标准化的消息格式,用于代理之间的通信,并提供模块化的协调机制来编排多代理任务。 此外,它还具备安全组队功能,可以动态地组建可信的代理团队。 这些创新共同将 Coral Protocol 定位为新兴“智能代理互联网”的基石,通过开放的代理协作释放新的自动化水平、集体智能和商业价值。 这篇白皮书共 46 页,包含 7 个图表,深入阐述了 Coral Protocol 的设计和功能。 该论文被归类为多代理系统 (cs.MA) 和人工智能 (cs.AI) 领域的研究。 - 原文: [Coral Protocol: Open infrastructure connecting the internet of agents](https://arxiv.org/abs/2505.00749) - Hacker News: [https://news.ycombinator.com/item?id=45555012](https://news.ycombinator.com/item?id=45555012) - 作者: joj333 - 评分: 36 - 评论数: 8 - 发布时间: 2025-10-12 11:41:29 --- ## Paper2Video:科研论文自动视频生成 这篇论文介绍了一个名为 Paper2Video 的项目,旨在解决学术报告视频制作耗时的问题,并提出了一种自动生成科研论文演示视频的框架。 Paper2Video 的核心在于创建一个能够自动将科研论文转化为引人入胜视频的系统。 论文作者指出,制作学术演示视频非常耗时,通常需要花费大量时间来设计幻灯片、录制和编辑。 为了解决这个问题,他们构建了一个包含 101 篇研究论文的数据集,这些论文都配有作者制作的演示视频、幻灯片和演讲者元数据。 这个数据集被用作 Paper2Video 框架的基准,该框架旨在自动生成学术演示视频。 该框架的核心是一个名为 PaperTalker 的多智能体系统,它集成了幻灯片生成、布局优化、字幕添加、语音合成和说话人头像渲染等功能。 PaperTalker 通过一种新颖的有效树搜索视觉选择方法来改进幻灯片布局,并并行化幻灯片生成以提高效率。 为了评估生成的视频质量,作者设计了四个定制的评估指标:Meta Similarity、PresentArena、PresentQuiz 和 IP Memory,用于衡量视频向观众传达论文信息的效果。 实验结果表明,PaperTalker 生成的演示视频比现有基线方法更忠实、信息量更大,朝着自动化和即用型学术视频生成迈出了切实的一步。 此外,论文还开源了数据集、智能体和代码,方便其他研究者使用和改进。 这项研究对于学术交流和知识传播具有重要意义,可以帮助研究人员更有效地分享他们的研究成果。 (由于没有评论内容,跳过评论相关的输出) - 原文: [Paper2video: Automatic video generation from scientific papers](https://arxiv.org/abs/2510.05096) - Hacker News: [https://news.ycombinator.com/item?id=45553701](https://news.ycombinator.com/item?id=45553701) - 作者: jinqueeny - 评分: 68 - 评论数: 17 - 发布时间: 2025-10-12 07:32:25 --- ## 全球建筑足迹数据集:探索地球上的27.5亿栋建筑 本文介绍了由慕尼黑工业大学(TUM)的研究人员发布的一个名为“GlobalBuildingAtlas”(GBA)的数据集,该数据集估计地球上有27.5亿栋建筑,与联合国估计的40亿栋有所不同。GBA数据集分为两部分:一个是1.1 TB的LoD1数据集,包含922个未压缩的GeoJSON文件,已被转换为210 GB的Parquet格式并托管在AWS S3上;另一个是35 TB的栅格高度图数据集。 文章详细介绍了如何使用Python 3.12.3和一系列工具来分析LoD1数据,包括JSON Convert (jc)、Parquet调试工具pqview和DuckDB。DuckDB配合H3、JSON、Lindel、Parquet和Spatial扩展,可以方便地处理和分析地理空间数据。此外,文章还介绍了如何使用QGIS 3.44下载和可视化建筑数据,包括安装QuickMapServices插件、GeoParquet Downloader插件,以及配置图层样式以显示2.5D建筑表示。 文章还分享了作者的工作站配置,包括AMD Ryzen 9 9950X CPU、96 GB DDR5 RAM、Crucial T700 4 TB NVMe M.2 SSD等,以及使用的操作系统和软件环境。通过这些工具和步骤,读者可以轻松地访问、分析和可视化全球建筑足迹数据,从而更好地了解地球上的建筑分布和特征。 - 原文: [The World's 2.75B Buildings](https://tech.marksblogg.com/building-footprints-gba.html) - Hacker News: [https://news.ycombinator.com/item?id=45506055](https://news.ycombinator.com/item?id=45506055) - 作者: marklit - 评分: 91 - 评论数: 48 - 发布时间: 2025-10-08 01:26:20 --- ## Datablocks 白标 18TB SATA 硬盘评测 本文作者测试了从 Datablocks 购买的两块 18TB 白标 SATA 硬盘,分享了购买理由、开箱体验和性能测试结果,为有大容量存储需求的读者提供参考。 作者原本使用全 SSD 存储方案,但考虑到小容量存储带来的焦虑,开始关注机械硬盘市场。在比较了 ServerPartDeals 和 Datablocks 后,他选择了后者,因为 Datablocks 在欧洲运营,且白标硬盘价格更具优势。白标硬盘没有品牌标识,可能存在轻微划痕或凹痕,但功能完好。作者购买了两块 18TB 的硬盘,以方便日后替换。 硬盘的包装完好,内部有防静电袋和气泡膜保护。硬盘外观有轻微划痕和凹痕,符合描述。作者使用 `badblocks` 命令对硬盘进行了格式化,耗时 24 小时,写入性能从 275 MB/s 降至 123 MB/s。他还提到,由于硬盘容量过大,需要使用更大的块大小才能被 `badblocks` 命令识别。 虽然作者没有保存收到硬盘时的 SMART 数据,但表示数据正常,通电时间很短。作者也提醒说,SMART 数据是可以重置的,因此不能完全相信。硬盘运行噪音较大,但作者认为可以通过使用泡沫来解决。 作者将存储分层,使用 SSD 存储对速度和延迟敏感的数据,使用机械硬盘存储大容量数据和备份。他表示,在日常使用中,性能下降并不明显,只有在查看 Prometheus 节点导出器图表时,才能看到服务器有时会因为较高的 `iowait` 而等待磁盘。总的来说,作者对这两块白标硬盘的性价比表示满意。 - 原文: [Testing two 18 TB white label SATA hard drives from datablocks.dev](https://ounapuu.ee/posts/2025/10/06/datablocks-white-label-drives/) - Hacker News: [https://news.ycombinator.com/item?id=45489497](https://news.ycombinator.com/item?id=45489497) - 作者: thomasjb - 评分: 198 - 评论数: 123 - 发布时间: 2025-10-06 17:36:08 --- ## LineageOS 23 发布:基于 Android 16,拥抱未来 LineageOS 23 正式发布,它基于 Android 16,并带来了诸多改进和调整,以适应 Google 在 AOSP 更新和安全补丁发布策略上的变化。这次更新的重点在于及时性、安全性和对未来 Android 版本发布的适应性。 LineageOS 团队选择基于 Android 16 的初始版本(QPR0)发布 23.0,而不是等待 QPR1 的源代码。这是因为 Google 延迟了 QPR1 的 AOSP 发布,仅向签约合作伙伴提供。同时,Google 调整了 ASB(Android 安全公告)的发布方式,不再每月完整发布安全补丁,而是改为季度发布,并且仅公开高风险漏洞的补丁。 这意味着 LineageOS 的安全补丁级别可能会出现延迟,只有在所有补丁公开后才会更新。尽管如此,LineageOS 23.0 仍然包含了可获取的最新安全修复,并承诺在 QPR1 发布后尽快合并或重新构建。 此外,Google 还限制了 Pixel 设备的源代码访问,不再提供完整的设备树、HAL 和配置,这使得 Pixel 设备的支持变得更加困难。不过,借助 CalyxOS 等项目的努力,Pixel 设备仍然可以得到良好的支持。 对于旧设备,由于 Android 16 依赖于更新的 eBPF 功能,支持 Linux 4.4 和 4.9 内核的设备变得更加困难。LineageOS 团队正在努力寻找解决方案,并鼓励开发者参与 backport 工作。 LineageOS 23.0 还带来了一些令人兴奋的更新,包括合并了 2024 年 9 月至 2025 年 8 月的安全补丁,更新了 SeedVault 和 Etar,以及将 WebView 更新到 Chromium 140.0.7339.51。同时,开发者们也在积极开发新的工具来简化设备移植过程,并扩展对 VirtIO、Cuttlefish 和 mainline Linux kernel 的支持。 总而言之,LineageOS 23 是一次重要的更新,它不仅带来了 Android 16 的新功能,还适应了 Google 在 AOSP 更新和安全补丁发布策略上的变化,为用户提供了及时、安全和可靠的自定义 ROM 体验。 - 原文: [LineageOS 23](https://lineageos.org/Changelog-30/) - Hacker News: [https://news.ycombinator.com/item?id=45553835](https://news.ycombinator.com/item?id=45553835) - 作者: cdesai - 评分: 281 - 评论数: 111 - 发布时间: 2025-10-12 07:53:17 --- ## HTML鲜为人知的秘密:`<output>`标签 `<output>`标签是HTML中一个常被开发者忽略的元素,它能够以语义化的方式展示动态计算结果,并为屏幕阅读器提供更好的可访问性支持。 开发者们常常使用`<div>` 结合 ARIA 属性来实现类似功能,但实际上 `<output>` 标签提供了一个更简洁、更原生的解决方案。 `<output>` 标签主要用于显示应用程序计算的结果或用户操作的结果。它在可访问性树中映射到 `role="status"`,这意味着当其值发生变化时,屏幕阅读器会自动播报其内容,无需额外的 ARIA 属性设置。 使用方式非常简单,只需将动态值放入 `<output>` 标签中即可。`<output>` 标签还可以通过 `for` 属性与相关的 `<input>` 元素建立语义连接,从而帮助辅助技术用户理解输入和输出之间的关系。 文章列举了几个 `<output>` 标签的实际应用案例,包括:简单计算器应用、范围滑块的格式化显示、表单验证反馈以及服务器端计算结果的展示。这些例子表明,无论是在前端还是后端驱动的场景中,`<output>` 标签都能发挥作用。 此外,文章还提到,`<output>` 标签自 2008 年以来一直是 HTML 规范的一部分,因此在浏览器和屏幕阅读器中的兼容性都非常好,并且可以与 React 或 Vue 等 JavaScript 框架无缝集成。文章作者建议,在某些屏幕阅读器上,可能需要显式添加 `role="status"` 属性,以确保最佳的兼容性。 总而言之,`<output>` 标签是一个强大而易于使用的 HTML 元素,可以帮助开发者创建更具可访问性的 Web 应用,同时减少代码量。 尽管它经常被忽视,但它代表了 HTML 规范中仍然存在的许多有价值的特性。 评论区有用户指出,`<output>` 标签的功能还不够完善,例如缺少像 `<input>` 标签那样的 `type` 属性,如果 `<output>` 标签能够支持数字、货币等类型的格式化输出,将会更加实用。 - 原文: [The <output> Tag](https://denodell.com/blog/html-best-kept-secret-output-tag) - Hacker News: [https://news.ycombinator.com/item?id=45547566](https://news.ycombinator.com/item?id=45547566) - 作者: todsacerdoti - 评分: 786 - 评论数: 174 - 发布时间: 2025-10-11 16:27:26 ---

  

🫵 来啊,说点有用的废话!