本文探讨了“竞争的规则论”,通过系统性的计算方法来确定迭代博弈中的制胜策略。作者没有依赖传统的、由人类提出的策略(如“以牙还牙”),而是采用计算方法枚举了所有可能的策略——将其建模为有限状态机、元胞自动机或图灵机——以观察它们在“猜硬币”或“囚徒困境”等重复博弈中的表现。
研究表明,竞争本质上受计算不可约性支配;由于这些程序的行为可能变得复杂且不可预测,通常无法通过定理推导出制胜策略。相反,必须运行程序以观察结果。虽然一些制胜策略利用了“简单的技巧”,但另一些则极为复杂。此外,适应性进化可以成功发现能够利用“不可约计算块”来智取对手的高性能策略。
最终,作者认为,由于简单的程序往往会产生复杂、周期性或不可预测的行为,系统枚举是理解竞争动态的唯一可靠途径。这种方法强调,与其通过静态的博弈论分析,不如通过基础计算过程的视角来审视生物、经济和人工系统中的竞争。
16位Windows内存管理旨在克服8086/80286硬件缺乏分页功能的局限性。由于系统规模超过了可用内存,Windows通过充当覆盖管理器,使用“新可执行文件”(NE)格式来按需加载、移动或丢弃内存段。 由于这些内存段是可移动的,它们是通过不透明的句柄而非固定地址来标识的。开发者必须使用 `GlobalLock` 将内存段锁定在内存中,并使用 `GlobalUnlock` 释放它们,这一过程需要严格的纪律以避免产生“隐蔽”的错误。该系统依赖于在运行时进行补丁处理的专用函数序言和尾声,以正确管理数据段(`DS`)寄存器和堆栈帧。 尽管OS/2利用286保护模式硬件来自动执行这些任务,但16位Windows要求开发者手动处理导入、导出以及特定的编译器开关(如 `/Gw` 和 `/Aw`)。因此,微软提供了如“Shaker”和“HeapWalk”等压力测试工具,以帮助程序员强制触发内存错误,并识别在内存充足时难以发现的内存段处理故障。归根结底,Windows内存管理是一种基于软件的复杂变通方案,旨在弥补当时硬件尚不支持真正保护模式内存虚拟化的缺陷。
随着大语言模型(LLM)的规模不断扩大,KV缓存的内存需求已成为瓶颈。尽管有损压缩(如降低位宽)可以缓解这一问题,但会带来模型质量下降的风险。“推测式KV编码”(Speculative KV coding)通过提供一种无损压缩方法解决了这一问题,在现有FP8方法的基础上实现了约4倍的额外压缩(总计约8倍)。 其核心思想是利用一个更快的“预测器”模型来估计目标模型的缓存。编码器和解码器并行运行此预测器,为每个缓存值生成统计模型(均值 $\mu$ 和方差 $\sigma^2$)。随后,算术编码器利用这些预测值将实际缓存值压缩为位流。由于双方都能根据提示词确定性地重建相同的 $(\mu, \sigma)$,因此原始缓存可以被精确恢复。 初步结果显示,尤其是在与预量化的FP8缓存结合使用时,该方法在比特率方面有显著提升。这种方法在带宽受限的场景下前景广阔,例如跨数据中心的分离式LLM服务或扩展主机RAM前缀缓存。下一阶段的开发重点将集中在更复杂的残差建模,并利用跨模型预测器,以进一步优化计算开销与内存节省之间的权衡。
最近的研究表明,可以直接从冻结的 Llama 模型的内部激活状态中提取算术能力,而无需依赖提示文本。这种被称为“Rune”的框架使用基于激活的读出机制来确定何时触发计算器以及传递哪些参数,从而成功绕过了对自然语言解析的需求。 在对超过 11,000 个案例的审计中,该系统在区分真正的算术请求与“困难负样本”(即看起来像数学问题但不应触发计算的文本)方面表现出极高的有效性。在针对 DeepMind 数学数据集的测试中,该框架的表现比仅使用冻结模型有了显著提升。对于带余除法、最大公约数(GCD)和最小公倍数(LCM)等任务,该路径能够持续绕过模型的内部限制,得出准确答案。研究结果表明,这些算术参数被编码在模型的内部状态中,为工具使用提供了一种既精确又能够抵御对抗性操作的稳健机制。
该作者的软件开发理念遵循一套明确的优先级层级,其最终的“北极星”目标是为终端用户创造实用且令人喜爱的软件。 这一目标通过以下三大基石来实现: 1. **实用性**:软件必须具备真正的价值并以用户为中心;无论技术质量如何,对用户不友好的项目都是失败的。 2. **正确性**:功能性至关重要,因为缺陷会直接损害软件的宗旨。如果没有稳健的设计流程来确保可靠性,技术安全特性将毫无意义。 3. **效率与可维护性**:软件必须具备高性能,并便于后续开发。如果过度设计的抽象导致性能缓慢或产生阻碍长期发展的技术债务,那么这些抽象是无用的。 虽然作者重视开发者体验,但将其仅视为达成目标的手段。每一项技术决策——从语言选择到架构设计——都完全是为了服务于终端用户。在面对挑战或分歧时,作者始终专注于主要目标:交付人们能够真正享用的高质量、可持续的软件。
第29届国际混乱C代码大赛(IOCCC29)已圆满落幕,本届比赛保持了极高的投稿量与卓越的质量。2025年的获奖作品现已在官网公布,用户可查阅源码、作者感言以及各程序的编译与运行指南。 本次更新的亮点包括为每位获奖者增设了“趣味挑战”板块,鼓励社区通过 GitHub 的 Pull Request 功能提交改进方案或技术解读。此外,IOCCC 对规则进行了大幅修订,并优化了内部文档处理流程,使赛事管理更加顺畅。 尽管竞争依然激烈,评委们仍鼓励未获奖的参赛者精进作品,并指出许多本届获奖作品其实都是往届参赛作品的优化版本。第30届 IOCCC 的计划定于 2026 年末举行。在赛后休整及处理完初步贡献后,评委们将继续维护相关代码仓库。欢迎各位参赛者探索获奖作品、在 YouTube 上观看颁奖展示,并为下一届比赛做好准备。
本文审视了一股令人不安的趋势:公众对知名软件开发者的心理健康危机怀有窥私欲,文中所指的案例为泰瑞·A·戴维斯(TempleOS)与肯特·奥弗斯特里特(bcachefs)。 作者认为,尽管戴维斯的操作系统属于小众技术项目,而奥弗斯特里特的文件系统是专业工程,但两人最终都沦为了公众审视的对象。在这些案例中,在线社区——从恶意挑衅者到看似好心的旁观者——通过骚扰、嘲弄以及对他们个人妄想的侵入性审视,将这些人变成了某种“娱乐”来源。 作者指出,这种行为常以将目标贴上“有问题”或“难以相处”的标签来开脱,从而为参与者提供了一种道德正当性,使其得以参与到实质上的现代羞辱仪式中。文章总结道,将这些危机炒作化不仅伤害深重,更强化了污名化的循环。作者主张,与其参与这种“马戏团表演”,不如给予同情与隐私,并尊重那些陷入挣扎者的自主权。若无法提供实质性的帮助,最合乎伦理的选择是转身离开,不去理会,而非助长对他人的痛苦进行公开剥削。
作为 Jane Street 的一名设计师,作者起初对大语言模型(LLM)持怀疑态度,但如今已通过利用人工智能构建功能性原型而非静态模型,彻底改变了自己的工作流程。通过使用 Claude 等工具编写陌生语言(OCaml 和 Bonsai)的代码,作者现在能够直接在代码库中对实时功能进行迭代,从而绕过了 Figma 文件和规格说明文档等传统的“辅助性”设计产物。
这种方法实现了快速、高保真的实验,能够在不占用工程资源的情况下验证可行性并改善用户体验。虽然作者也指出了潜在的挑战——例如确保合作者有权对“成品化”的原型提出批评,以及避免人工智能辅助迭代带来的创造性限制——但这种转变赋予了设计师巨大的赋能。
通过在实际媒介中进行构建,作者重新获得了创建工作概念证明的能力,而这曾是工程师的专属特权。这种演变绕过了复杂的正式设计流程,使作者能够专注于打磨最终产物,并促进了更流畅、更直接的“设计到实现”过程。
请提供您想要翻译的内容。