本实验旨在评估指示 AI 编程代理使用特定测试技术(如测试驱动开发 TDD、形式化方法、基于属性的测试)或预置库“技能”是否能提高软件的正确性。通过对 Zstd 和 IMAP 的 Rust 实现进行 26 种不同条件的测试,结果表明:**明确的指令通常无法提高正确性。** 主要发现包括: * **应用无效:** 当被要求使用形式化方法或基于属性的测试等高级技术时,代理通常只是表面地应用它们——编写“冒烟测试”或无效证明——而仍然过度依赖标准的单元测试。 * **技能表现:** 大多数现成的测试技能表现不佳,往往在没有带来任何好处的情况下显著增加了 Token 消耗。这些技能描述读起来更像是人类教程而非可执行的约束,未能引导代理改变其默认的无效行为。 * **“默认”偏差:** 不提供任何指令通常能获得高于平均水平的结果。指示代理使用它们并不从根本上理解的技术,往往导致它们将精力浪费在低效的工作流上。 * **TDD 的失败:** 正如预期,测试驱动开发(TDD)导致了更差的结果,引导代理编写了大量低质量、平庸的测试。 最终,该研究表明代理缺乏对测试的深层理解;若没有专家级的人类指导来构建其方法,通用的测试指令在很大程度上是无效的。
Jellyfin 12.0 是一个重要版本,采用了新的版本编号方案,进行了重大的性能优化,并扩展了对书籍和漫画的支持。
**关键升级说明:**
* **备份:** 升级前请对数据和配置目录进行完整的手动备份。
* **先决条件:** 升级至 12.0 前,必须先处于 10.10.7 或 10.11.x 版本。
* **数据库迁移:** 本版本包含重大的数据库模式重写。升级后需要进行完整的媒体库扫描,耗时将比平时更长。
* **兼容性:** 升级后请清除网页缓存。请移除第三方插件(它们需要更新),并确保您的客户端已更新至最新版本,因为旧版 API 支持(/emby/ 和 /mediabrowser/)已被移除。
**主要亮点:**
* **数据库性能:** 重新组织了播放列表和收藏集的存储方式,显著提高了浏览速度和资源管理效率。
* **内容支持:** 现在支持剧集的替代版本。书籍和漫画现具备原生元数据支持、改进的阅读界面,以及现已作为默认设置的“现代”布局。
* **增强自定义:** 用户现在可以按媒体库配置推荐来源和搜索提供程序。
* **安全性:** 实施了多项安全补丁。
作者研究了 90 年代 Netscape 4.51 等浏览器所内置的 512 位根证书,旨在探讨早期弱 RSA 密钥的脆弱性。作者在普通台式机上使用 CADO-NFS 分解工具,成功破解了 E-Certify 的 512 位 RSA 密钥,并据此还原了私钥。
由于现代基础设施已不再支持 90 年代的加密标准,作者专门用 Go 语言编写了一个“复古”的 TLS 服务器来测试这些密钥。该项目托管于 e-certify.fly.dev,展示了冒充这些已失效证书颁发机构的理论可能性。尽管此项工作纯粹出于历史好奇心和趣味,但它凸显了计算能力的进步是如何让曾经的标准安全措施彻底过时的。作者已将实验中使用的密钥和工具发布在 GitHub 上,供有兴趣进一步探索这些古老且不安全根证书的人士参考。