## 理解 Gzip:一个从零开始的解压缩器
出于真正理解压缩的愿望,作者用 Rust 构建了一个 250 行的 gzip 解压缩器。现有的实现,如 zlib(25,569 行 C 代码)和 zlib-rs(36,003 行 Rust 代码),对于学习来说过于复杂。即使是一个更小的实现,miniz(1,261 行 C 代码),也缺乏理解核心概念所需的清晰度。
Gzip 基本上依赖于 DEFLATE 算法,从文件头开始,然后是压缩数据块。这些块利用哈夫曼编码(为频繁符号分配较短的代码)和 LZ77(用对先前数据的反向引用替换重复序列)。解压缩器解析 gzip 格式,处理哈夫曼解码的位操作,并实现 LZ77 的滑动窗口来重建原始数据。
作者强调了 gzip 的分层结构——LZ77 构建在哈夫曼之上,哈夫曼构建在原始字节之上——并强调一个可工作但基本的实现是理解的关键。他们的版本缺乏错误检查,但成功解压缩了有效的 gzip 文件,展示了核心原理,而没有过多的复杂性。源代码可在 GitHub 上获取。
香港国安法近期修订,将于2026年3月生效,严重侵蚀数字隐私。当局现在可以无需搜查令即可访问加密设备——手机、笔记本电脑等,包括密码、生物识别数据和解密方法。 拒绝合作可能面临一年监禁和12,700美元的罚款,提供虚假信息则可能导致三年监禁。这不仅影响设备所有者,还影响任何拥有访问权限的人,例如家庭成员或IT专业人员。 这些修改绕过了传统的法律保护,赋予警方和海关官员广泛的权力,可以基于模糊定义的“国家安全”问题查封材料和冻结资产。专家批评这些措施“严重不成比例”,是对隐私权的严重侵犯。 香港政府为该法辩护,称其对安全至关重要,但对于旅行者和居民来说,它将加密设备变成了潜在的法律责任,使得标准隐私工具在该地区变得危险。
关于按住版权联系我们创作者广告开发者条款隐私政策和安全性YouTube的工作原理测试新功能© 2026 Google LLC
这个故事讲述了一次令人沮丧的经历,与政府的“持续残疾复审”部门打交道。他们要求提供终身残疾——失明——的证明,尽管已经存在数十年的相关文件。作者面临着福利被暂停的风险,被迫在一个不必要复杂的系统中周旋,该系统拒绝接受电子邮件提交,坚持使用传真。 作者没有被吓倒,反而采取了“恶意顺从”的方式。他整理了一份巨大的512页PDF文件,其中包含与他的病情相关的所有医疗记录,可以追溯到童年时期。然后,他利用在线传真服务发送了这份文件,故意用无休止的纸张淹没了接收方的办公室。 由此产生的混乱——传真机卡纸、墨盒耗尽以及一位惊慌失措的政府雇员——最终导致他的档案被更新。作者在迫使官僚机构面对其要求的荒谬性,并实际承认他残疾的广泛证据方面获得了满足感。这是一场小小的胜利,对抗的是一个旨在设置障碍的系统,它由一点技术能力和大量的合理愤怒所驱动。
## Go 的垃圾回收器:总结 Go 的垃圾回收器 (GC) 能够高效地管理内存,而不会使程序长时间停止。它是一种**非移动、并发、三色、标记-清除**回收器——这意味着对象保持在原地,它与你的代码并行运行,使用颜色编码来跟踪对象,并识别/回收未使用的内存。 GC 在四个阶段运行:**清除终止、标记、标记终止与清除准备、以及清除**。**标记阶段**从“根”(goroutine 栈、全局变量)开始追踪可达对象,利用工作队列和一种新颖的**基于 span 的扫描**方法(Go 1.26 引入)以提高效率。**写屏障**在标记期间拦截指针更新,以确保不会遗漏任何存活对象。**清除阶段**延迟地、按需地回收未标记的对象,在分配期间进行。 GC 周期由 **GC 调速器**(基于堆增长和 `GOGC` 设置)、**系统监视器**(用于空闲程序)或通过 `runtime.GC()` 手动触发。 像 **内联标记位** 和 **基于 span 的扫描**(GreenTea GC)这样的关键创新通过增强缓存局部性和启用 SIMD 优化来提高性能。**标记协助** 通过招募应用程序 goroutine 来帮助 GC 在高分配速率期间保持同步。 这使得 Go 能够提供自动内存管理,并最大限度地减少对正在运行的应用程序的干扰。
安迪·诺特正致力于保护英国本土蘑菇的遗传多样性,效仿植物的种子库工作。他意识到真菌保护方面存在不足,正在努力克隆和保存野生品种。 这个过程向志愿者展示,包括小心地从蘑菇(在这种情况下,是灰色的牡蛎菇)上提取一个无菌组织样本,并将其放置在琼脂平板上。如果保持清洁和温暖,样本将生长成一个新的、基因相同的培养物。 这种克隆技术是保护本土真菌遗传资源的一小步,但至关重要,确保这些重要生物不会因环境变化或栖息地丧失而消失。诺特希望提高认识,并为真菌争取与植物和动物同等的保护关注。
本文提出了经典伯恩斯坦不等式的局部版本——关于多项式和函数导数的估计,最初的动机源于埃尔德什提出的关于拉格朗日插值的问题。作者修改了伯恩斯坦的原始论证,发展了这些“局部”不等式,适用于在狭窄矩形内解析的函数。
这些局部结果随后被应用于分析实根单项多项式,这类多项式虽然全局无界,但表现出局部的指数型行为。这项分析最终解决了埃尔德什提出的两个长期存在的问题:确定拉格朗日插值中勒贝格常数的精确下界,分别在标准区间和更一般的情况下,并解决一个相关的积分界问题。
这项研究显著受益于人工智能的辅助。ChatGPT提供了关于内万林纳两常数定理的见解,而AlphaEvolve则帮助验证了猜想。最终,人工智能建议的方法与传统的数学技术(轮廓积分、留数定理)相结合,对于获得最终结果至关重要。这项工作展示了现代人工智能工具如何补充和加速数学研究。
## 工程质量保证的未来
许多工程领导质疑专门的质量保证 (QA) 团队的必要性,提倡“工程负责质量”,以避免因交接和 perceived 的激励不足造成的延误。然而,完全取消 QA 会忽略其价值——熟练的测试是一项独特的专业知识,自动化测试至关重要,并且某些情况*需要*专门的质量监督。
共识倾向于将质量责任*融入*工程团队内部,强调“左移”方法,即 QA 专家充当顾问,改进流程而不是充当把关人。一个关键原则是“测试金字塔”:优先考虑工程师创建的大量快速单元测试,以及较少且较慢的 UI 测试。
新兴的一种潜在演变是“自动化验证工程师”(AVE) 的角色。这侧重于利用人工智能来大幅改进自动化测试,提供更快的反馈并提高整体开发速度。AVE 将专注于测试人工智能生成的代码,识别“幻觉”和错误。
最终,理想的方法取决于组织。虽然从没有 QA 开始通常是最好的,但现有的团队应专注于自动化,将 QA 嵌入到工程工作流程中,并可能重新定义角色,以拥抱自动化验证,并成为战略资产,而不是瓶颈。
## 负担得起的技术的终结:一场迫在眉睫的硬件危机
数十年间,消费者一直享受着越来越便宜、越来越强大的技术产品。这个时代正在结束。硬件行业正在发生结构性转变,将大规模数据中心——受“人工智能”需求推动——置于个人消费者之上,导致价格上涨、选择减少以及潜在的长期短缺。
制造商越来越专注于与谷歌和亚马逊等超级规模公司签订有利可图的合同,实际上扼杀了消费者市场。西部数据和美光等主要厂商正在减少或退出面向消费者的生产,导致竞争有限,并推高了RAM和SSD等组件的成本。这不是暂时的短缺;预测表明这些问题将持续到未来很长一段时间。
结果?预计设备价格会上涨,配置会减少,可修复性和可升级性会下降。拥有硬件可能成为一种奢侈品,可能导致未来通过订阅和云服务租用计算能力——失去数字独立性。
虽然中国制造商可能成为未来的供应来源,但地缘政治因素使情况复杂化。建议很明确:维护现有的硬件,如果可能的话,有策略地升级,并认识到轻松负担得起的技术升级的日子可能已经结束。