这门系统安全课程全面概述了该领域,深入探讨了隔离技术、权限分离和处理错误代码等关键领域。它还涵盖了网络/分布式系统、移动设备和网络安全,并着重关注人为因素和隐私。 课程内容包括可信硬件、CPU侧信道、缓冲区溢出防御以及WebAuthn等现代身份验证方法。客座讲座涉及供应链安全、网络安全政策和现实世界的信息安全挑战。 整个学期,学生将完成五个实验——分别侧重于缓冲区溢出、权限分离、符号执行、浏览器安全以及ACME/WebAuthn,并进行一次期中测验,涵盖前半部分的内容。阅读材料涵盖了从基础论文(1984年)到最新出版物(2024年)的各种来源。期末考试侧重于课程的后半部分,允许携带笔记本电脑。
## 代码贡献价值的变化
近期大量低质量、AI生成的拉取请求(pull requests)促使人们重新评估开源贡献模式,尤其是在tldraw项目中。作者最初提议自动关闭外部PR,这一举动获得了开发者社区的意外支持,他们面临着类似的问题。
然而,核心争论不在于*是否*接受AI辅助代码——作者自己也在使用它——而在于当代码生成很容易自动化时,外部代码贡献是否具有价值。传统价值在于贡献者对代码库*和*问题的理解,这通过深思熟虑的迭代和设计输入来体现。
这个问题被AI工具加剧了,这些工具基于定义不明确的问题(甚至源于作者自己生成的AI错误报告!)创建看似有效的PR。这些贡献缺乏关键上下文,并且经常解决不存在的问题,需要维护者付出大量精力来理清。
最终,作者认为在代码唾手可得的世界里,最有价值的贡献现在集中在报告、讨论和深思熟虑的参与上——将实际编码留给核心团队,他们拥有必要的上下文和对项目的关怀。在出现更好的工具来管理这种新形势之前,可能需要转向限制外部贡献。
## 氛围探索:无计划构建
本文详细介绍了一种名为“氛围探索”的新型软件开发方法,其目标*并非*预先定义。作者使用 Termux、Claude Code,以及快速构建-测试-迭代循环,在一部五年前的 Android 手机上完全构建了一个 WebGL 大理石游戏“Inertia”——一切都源于提示:“创建一个利用加速度计的创意网页游戏。”
与“氛围编码”(AI 实现已知想法)不同,氛围探索涉及通过迭代的 AI 辅助原型设计*发现*产品。作者最初并非打算创建一个大理石游戏;它是在六次迭代中产生的,每一次都响应于前一版本的不足。
速度和环境所有权是此过程的关键。直接在手机上开发,利用加速度计作为核心输入,并避免沙盒生成器或云端 IDE,可以获得即时反馈和完全的工具自由。作者设想利用分析、自动化测试和模拟用户来自动化人类反馈循环,最终创建一个完全自主的开发周期。该项目展示了 AI 如何不仅可以*构建*你想要的东西,还可以*帮助你弄清楚你想要什么*。
你可以在提供的链接中玩最终游戏并探索代码演变。
## macOS 亮度逐渐提升与深色模式的兴起
多年来,“浅色模式”一直是默认设置——电脑就是以浅色为标准。然而,最近的分析显示,macOS 的浅色模式在过去 16 年里一直在稳步变亮。通过分析 macOS 截图库的截图并计算平均亮度,作者证明了 UI 亮度持续增加,从雪豹 (2012) 的 71% 跃升到像 Tahoe 这样的最新版本的 100%。
这种亮度增加与作者持续使用深色模式相对应,最初觉得深色模式不吸引人,但最终为了避免过于明亮的显示屏而不得不使用。这一趋势凸显了设计上可能存在的偏向更亮元素的倾向,这源于对视觉上“更干净”的亮色选项的自然偏好。
作者指出深色模式的一个缺点——窗口之间缺乏对比度——并表达了对中灰色 UI 作为舒适替代方案的渴望。最终,他们呼吁设计师抵制最大化亮度的冲动,并考虑更平衡的色彩方案的优势,甚至建议将大胆的 50% 灰色作为起点。