塞斯·德·格鲁特创作了一部学术杰作。——理查德·P·加布里埃尔 《Lisp的天才》是伯克软件出版社出版的一本书,讲述了计算机历史上最有力的编程语言之一的历史。以下是作者塞斯·德·格鲁特(也就是我!;-)) 的背景介绍。此页面是补充书籍内容的起点。如果您想阅读样本,亚马逊可以满足您。
塞斯·德·格鲁特创作了一部学术杰作。——理查德·P·加布里埃尔 《Lisp的天才》是伯克软件出版社出版的一本书,讲述了计算机历史上最有力的编程语言之一的历史。以下是作者塞斯·德·格鲁特(也就是我!;-)) 的背景介绍。此页面是补充书籍内容的起点。如果您想阅读样本,亚马逊可以满足您。
## Go 1.26 改进的 `go fix` 命令
Go 1.26 引入了一个完全重写的 `go fix` 命令,利用 Go 分析框架来现代化代码库。`go fix` 识别改进代码的机会,通常利用较新的语言特性和库函数。它接受与 `go build` 类似的包模式,并静默更新源文件,跳过生成的代码。运行 `go fix -diff ./...` 会在应用更改之前预览它们,`go tool fix help` 会列出可用的“修复器”(分析器)。
此次更新旨在鼓励采用现代习惯用法,尤其是在 Go 1.18 引入泛型之后。新的“现代化工具”如 `minmax`(用 `min`/`max` 替换 if/else)和 `stringscut`(使用 `strings.Cut` 代替 `strings.Index` 和切片)已被包含在内,以及一个用于 Go 1.26 的 `new(expr)` 特性的修复器。
团队正在转向“自助服务”模式,允许开发者定义和共享他们自己 API 的现代化方案。未来的计划包括动态加载分析器,并探索基于注释的方法来强制执行编码标准和不变性。目标是简化代码维护,鼓励最佳实践,并确保 LLM 编码助手训练数据反映最新的 Go 习惯用法。
## 乐观与悲观的差距 尽管全球生活水平有所提高,但调查始终显示出对世界现状的广泛悲观情绪。人们通常对自己的生活感到乐观,但他们认为自己的国家和世界正在朝着错误的道路发展——这种脱节在较富裕的国家尤为明显。 这种“我很好,但你不好”的心态源于信息失衡。我们掌握着关于个人经历的详细了解,从而产生乐观情绪,但却依赖于有限且通常是负面的新闻报道来形成对更广泛的看法。这导致我们低估他人的幸福感和积极信念,并对全球问题感到无助。 这种集体悲观情绪不仅仅是“错误”的问题,它是有害的。它滋生对机构的不信任,阻碍合作,并降低解决气候变化或公共卫生等关键挑战的动力。缺乏能动性——相信我们可以带来改变——会助长愤世嫉俗和宿命论。认识到这种差距至关重要,因为培养能动性和承认进步对于推动积极变革至关重要。
启用 JavaScript 和 Cookie 以继续。
## Sixcy:下一代容器格式 Sixcy 是一种正在开发的容器格式,专注于高性能数据存储和传输,优先考虑流式效率、数据可恢复性和灵活压缩。目前旨在用于基准测试、研究和原型设计——**不用于生产环境**——它提供了一种流式优先的设计,具有自描述块和定期检查点,以实现强大的数据恢复。 主要特性包括支持多种压缩算法(Zstd、LZ4 以及通过插件接口支持更多算法)、元数据优先索引以实现快速访问,以及内存安全的 Rust 实现。该项目结构清晰,模块化地划分了核心库函数、编解码器、索引、恢复和 I/O。 目前版本为 v0.1.x,Sixcy 提供了一个参考实现和插件接口。计划在 v0.2.0 中提供稳定的运行时包和扩展的编解码器支持。规范采用 CC-BY-4.0 许可,而实现则使用 Apache-2.0 许可。
(Empty input provided. There is nothing to translate.)
## 国际象棋引擎训练对LLM的启示 现代国际象棋引擎,如Leela Chess Zero (Lc0),为大型语言模型 (LLM) 训练提供了宝贵的见解。 最初,引擎使用强化学习 (RL) 通过自我对弈进行训练。 然而,研究表明,RL 真正需要的只有 *一次* – 用于创建一个强大的初始模型。 后续引擎可以“提炼”来自该模型 *以及* 搜索算法的知识,从而绕过昂贵的博弈生成。 弱模型配合强大的搜索优于强模型不配合搜索,这使得搜索成为关键组成部分。 Lc0 发现进一步的 RL 实际上 *降低* 了性能,突显了从搜索中提炼知识的力量。 这与 LLM “n 选 1” 采样不同,后者相比于国际象棋搜索所带来的显著优势,收益有限。 进一步的改进来自于诸如 SPSA 之类的技术 – 随机扰动模型权重并选择导致胜利的变化,即使 *没有* 梯度。 虽然计算成本高昂,但 SPSA 能够带来显著的收益。 这一原理超越了权重,允许优化引擎代码中的任何参数。 最后,Lc0 向 Transformer 架构和一种新型注意力偏差系统 ("smolgen") 的转变,展示了这些架构的广泛适用性以及专门组件能够大幅提升性能的潜力。
⚠ 未授权想法检测 ⚠ 14:00 “警告:精神污染危险。请谨慎行事。” 全球基础设施锁定:失败阶段1:法拉第突破 阶段3:完美世界启动
## 业余隧道挖掘的魅力与挑战 越来越多的人在网上分享自制隧道的记录——从科林·弗兹的车库连接到“隧道女孩”的单人挖掘——这凸显了人类一种引人入胜的地下探索欲望。虽然创造隐藏的地下空间很有吸引力,受到探索精神甚至逃避规则的幻想驱使,但实际和法律上的障碍重重。 在拿起鹤嘴锄之前,有抱负的隧道挖掘者必须考虑土地所有权(向下延伸)并获得必要的许可,因为建筑规范优先考虑公共安全。隧道施工本质上是危险的,需要仔细关注地质稳定性、挖掘方法和结构支撑。 现代隧道挖掘采用诸如支护、岩石锚固和混凝土衬砌等技术来防止坍塌和管理土压力。至关重要的是,要管理排水、通风和潜在的火灾隐患。即使是小规模项目也需要付出大量努力来清除挖掘出的材料(“掘渣”)。 虽然业余隧道挖掘与大型基础设施项目大相径庭,但理解安全、持久隧道背后的工程原理至关重要。这是一项具有挑战性的事业,但通过周密的计划和对固有风险的尊重,“地下庭院”的梦想或许可以实现。
## VectorWare 使 Rust 的 Async/Await 在 GPU 上运行 VectorWare 正在开创 GPU 原生软件开发,并取得突破:成功地在 GPU 上直接运行 Rust 的 `Future` trait 和 `async/await`。这使得开发者能够利用熟悉的 Rust 抽象来构建复杂、高性能的 GPU 应用程序。 传统的 GPU 编程依赖于数据并行——将相同的操作应用于不同的数据。更高级的技术,如 warp 特化,可以实现基于任务的并行,但需要手动并发管理,这容易出错。像 JAX、Triton 和 NVIDIA 的 CUDA Tile 这样的项目旨在简化这一点,但通常需要新的编程范式。 VectorWare 的方法利用 Rust 现有的 `async/await` 系统,该系统编码了结构化并发,而无需新的语言或生态系统。Futures 代表延迟计算,允许编译器通过 Rust 的所有权模型优化执行并管理数据依赖关系。 该实现,最初使用简单的 `block_on` 执行器,现在利用 Embassy 执行器,证明现有的 Rust 代码可以在 GPU 上高效运行。虽然仍然存在挑战——例如协同多任务处理和寄存器压力——VectorWare 正在积极探索 GPU 原生执行器并进一步与 Rust 标准库集成。 最终,VectorWare 认为 Rust 在 GPU 开发方面具有独特优势,但计划在未来的产品中支持多种语言。