如果你正在创建谜题图书馆、免费小艺术画廊、种子交换或其他“人行道上的快乐”地点,并且需要保持内部物品干燥,那么你需要考虑防水问题。以下是我多年来学到的一些技巧,以保护你的“人行道上的快乐”地点免受炎热、雨水、雪和冰的侵袭!
如果你正在创建谜题图书馆、免费小艺术画廊、种子交换或其他“人行道上的快乐”地点,并且需要保持内部物品干燥,那么你需要考虑防水问题。以下是我多年来学到的一些技巧,以保护你的“人行道上的快乐”地点免受炎热、雨水、雪和冰的侵袭!
Percepta/实地笔记
加入我们
大型语言模型能成为计算机吗?
在Transformer中执行程序,推理速度呈指数级提升
Christos Tzamos 及 Percepta 的其他成员 · 2026年3月11日
条款与条件
职业生涯
© 2026 Percepta
版权所有。
## Async Rust 中的“休眠”错误 本文深入探讨了 Async Rust 中一个微妙但关键的错误:**休眠 (snoozing)**。与取消或饥饿不同,休眠发生在 future 准备好继续执行,但未被轮询 (poll) 的情况下,导致挂起和死锁——最近的“Futurelock”问题就是一个例子。作者认为休眠*几乎总是*一个错误,源于按引用轮询 future 的模式(例如使用 `select!` 或 `poll!`)而不是拥有它们。 核心问题是,当一个任务轮询一个 future,然后在其完成或销毁之前继续执行,使其“休眠”并无法释放资源(例如锁)。这类似于在持有锁的情况下暂停线程,这是传统线程编程中一种已知的反模式。 提出的解决方案包括使用 owned future(通过像 `join_me_maybe` 这样的 crate)来避免引用,以及可能修改 `Stream` trait 以确保取消安全性。一个关键的结论是,为开发者提出的规则:**避免在 async 函数中处理 `Pin<_>` 值**,因为 pinning 通常表明 future 没有被拥有,并且容易受到休眠的影响。最终,防止休眠需要仔细设计 async 代码,并专注于拥有而不是借用 future。
最近重新发现的经典电视剧《神秘博士》剧集“噩梦的开始”,被粉丝誉为“圣杯”。这些剧集遗失了几十年,提供了罕见的机会,得以一窥该剧早期、快节奏的制作过程——一个没有后期制作的“工厂流程”。 恢复的故事讲述了博士为受伤的同伴寻求帮助,导致与达雷克及其与马维克·陈的联盟发生对抗,他们正在策划征服地球。博士设法偷走了一个关键部件,但发现自己被追赶到惩罚星球德斯佩鲁斯。 4月4日在伦敦举行的一次特别放映会,与在BBC iPlayer上的发布同时进行,预计将非常受欢迎,一位粉丝宣称它将超越格拉斯顿伯里音乐节的销量。这次发现对长期观众来说意义深远,提供了与童年记忆的强烈联系。
启用 JavaScript 和 Cookie 以继续。
这段文字讨论了优化前缀和(或扫描)操作,该操作计算数据集中值的累积总和。简单的迭代方法可以达到接近处理器最大速度,每秒处理数十亿个整数。然而,单指令多数据(SIMD)指令,例如ARM的NEON,*可以*提供进一步的改进。 最初使用朴素的SIMD实现尝试时,出乎意料地*慢于*标量方法。成功的关键在于处理更大的数据块——一次加载16个值,并并行执行局部前缀和。然后,再对这些局部和进行前缀和计算。 在苹果M4处理器上,这种“快速SIMD”方法达到了每秒89亿个值的速度,大约比标准的标量方法快2.3倍。该优化利用了交错加载和存储,以及用于向量运算的高效SIMD内联函数。
## 意想不到的互联网与过度期待的人工智能 科幻小说在很大程度上未能预测互联网,尽管它设想了相关技术,如可视电话和在线信息访问。这种去中心化的互联内容网络,除了鲜为人知的一篇1945年备忘录外,基本上未被预见。相反,人工智能在科幻小说中已经存在了几十年,几乎总是被描绘成反乌托邦的威胁。 这种差异源于我们对技术的预期方式。作家阿瑟·克拉克区分了“预期”技术(如人工智能和机器人,长期以来一直梦想着)和“意想不到”的发明。人工智能属于“过度期待”的范畴,这意味着几个世纪以来对它到来的想象主要集中在潜在的危害上,从而加剧了公众的焦虑。 虽然当前的人工智能应用令人印象深刻,但尚未提供公众能够切实感受到的变革性益处——像Waymo这样的自动驾驶汽车是一个值得注意的例外。这导致了基于想象风险的先发制人的监管,可能扼杀创新。作者建议转变关注点:与其仅仅为潜在的危害做准备,不如积极设想人工智能的积极可能性,并考虑真正“意想不到”的技术可能出现在地平线上。
## Vite 8:性能大幅提升,采用 Rolldown
Vite 8 已稳定发布,这是自 Vite 2 以来最重要的架构更新。核心变化是采用了新的、统一的、基于 Rust 的打包工具 **Rolldown**,取代了先前的双打包系统(开发环境使用 esbuild,生产环境使用 Rollup)。这一转变带来了 **10-30 倍更快的构建速度**,同时保持了完全的插件兼容性。
在社区反馈的推动下——包括 Linear(快 83%)和 Beehiiv(快 64%)等公司报告的可衡量的构建时间缩短——Rolldown 提供了与 esbuild 相当的性能,并解锁了诸如完整打包模式和改进的拆分块等高级功能。
除了 Rolldown 之外,Vite 8 还引入了插件注册表(registry.vite.dev)、集成的开发者工具、内置的 TypeScript 路径别名支持,以及对关键插件(如 `@vitejs/plugin-react`)的更新。
Vite 承认自己欠 Rollup 和 esbuild 一份情,它们的基础对 Vite 的成功至关重要,并邀请贡献者进一步改进生态系统。对于大多数项目来说,升级预计会很顺利,并提供详细的迁移指南。
## 终端超链接:一项新功能 一项新功能允许在终端模拟器中直接链接URL,类似于网页。该功能由GNOME Terminal和iTerm2(基于VTE小部件)的更改发起,使用OSC 8转义序列将超链接嵌入到文本输出中。预计其他基于VTE的小部件的模拟器将很快采用它。 该系统通过识别URL并允许通过点击或菜单选项打开它们来工作。它支持各种URI方案(http、https、ftp、file、mailto)。一个关键的补充是“id”参数,它能够将多个文本片段链接为单个超链接——这对于编辑器和复杂输出非常有用。 虽然提供了便利,但也在考虑安全性。终端模拟器可能会实施保护措施,例如确认对话框或默认禁用该功能,以及URI长度限制(约2000-2083字节)。该功能旨在通过从终端直接快速访问资源(如错误跟踪器、提交ID或本地文件)来增强可用性。
## 金色数据集:自信地发布人工智能 在没有彻底评估的情况下发布人工智能是有风险的,但对增长有价值。“金色数据集”是将主观改进(“似乎更好”)转化为可验证改进(“*确实*更好”)的关键。它们不仅仅是数据集,而是**带有明确评分协议的版本化案例**——超越模糊的基准,以 pinpoint 回归。 一个金色数据集包括代表性输入、预期结果和评分标准,以及与特定“变化面”(提示、模型、检索等)相关的验收阈值。 关注**与失败类别相关的多指标门槛**,而不是单一质量分数。 生产事故是宝贵的测试用例——每一个严重的事故都应该添加到数据集中。金色数据集有助于在客户、工程师或合规部门发现问题*之前*发现问题。 **主要用途:**发布前回归测试、比较变体以及确保更改不会降低关键行为,例如安全性、准确性或成本。从小处着手,关注行为类别(成功、拒绝、回退),并在可能的情况下利用确定性断言。 最终,金色数据集并非监控的替代品,而是至关重要的发布门槛,确保人工智能的改进是真实的,并且不会带来不可接受的成本。