## Emacs 作为 Lisp 运行时:系统设计视角 本文深入探讨 GNU Emacs 的系统设计,将其定位为一个用 C 构建的 Lisp 运行时,而不仅仅是文本编辑器。它从回顾 Lisp 的基本原理开始,强调数据和操作可以互换的核心概念。现代编译器,如 LLVM 和 MLIR,也秉持这一原则,专注于通过中间表示将高级操作降级到机器码。 Emacs 的核心数据类型 `Lisp_Object` 采用“带标签指针”技术——将类型信息嵌入到未使用的内存地址位中——这是系统编程中常见的优化手段。这允许动态类型,而无需单独的元数据存储开销。本文将麦卡锡最初的七条 Lisp 公理直接映射到 Emacs 中使用的 C 宏,说明了 Lisp 的基本概念如何在低级别实现。 最终,作者认为理解 Emacs 需要从其数据表示 (`Lisp_Object`) 开始,并将操作视为对该数据的转换,这与函数式和数据导向编程范式相符。下一篇文章将探讨带标签联合在各种语言的系统编程中的更广泛应用。
在代码中处理时区向来非常复杂——最好的方法是利用现有的、虽然错综复杂的IANA时区数据库,而不是尝试从头开始构建解决方案。该数据库现在在GitHub上公开跟踪,细致地记录了世界历史和正在进行的时区变化。
除了简单地列出时间,该数据库还揭示了这个复杂主题中令人惊讶的人性化一面。它包含历史轶事,例如一位加拿大知识分子在1947年对夏令时的诙谐批评,反映政治分歧的“对峙”时钟面故事,甚至还有调查工作以确定偏远地区的时区历史。
虽然时区本身是编程难题的来源,但管理时区的数据库却是人类尝试组织和理解我们与时间关系的一次迷人记录。
## 科幻景观的变迁
书面科幻正面临着一个有趣的悖论:虽然该类型在电影、电视和游戏中蓬勃发展,但在书店货架上的存在感却在下降。然而,科幻理念正在触达*新的*读者,渗透到主流文学中,以时间旅行、人工智能和反乌托邦未来为主题——出现在被提名享有声望的文学奖项的作品中,而不仅仅是科幻奖项。
这种“后科幻”不同于该类型的传统形式。虽然经典的科幻小说诞生于20世纪初的廉价杂志,并受到雨果·格恩斯巴克等人的倡导,培养了一批忠实的粉丝和迭代发展理念,但如今的科幻小说往往缺乏这种专注的、类型驱动的创新。奇幻小说目前在类型奖项中占据主导地位,掩盖了科幻小说的光芒。
主流接受度的提高是一把双刃剑。虽然扩大了影响力,但也面临着失去历史上推动该类型的忠实社群和实验精神的风险。作者们正在为普通读者写作,优先考虑散文和角色发展,而不是复杂的世界构建和思辨概念。
最终,科幻的未来取决于这种理念的传播能否持续下去,或者失去专门的“类型机器”是否会导致停滞。尽管存在潜在的衰退,作者仍然表达了对后科幻小说持续发展以及传统类型在潜在终结前迸发最后一次创造力的希望。
## 云计算虚拟机比较 (2026) - 摘要
本次全面比较涵盖了7家供应商(AWS、GCP、Azure、OCI、Akamai/Linode、DigitalOcean、Hetzner)的44种虚拟机类型,分析了CPU性能和性价比。测试重点关注2vCPU配置,以评估可扩展性和价值,并显著扩展了区域测试,以考虑性能不一致的情况。
**主要发现:** AMD的EPYC Turin CPU在性能方面占据主导地位,尤其是在AWS的非SMT C8a实例中。Intel的Granite Rapids比Emerald Rapids有了显著提升,解决了之前稳定性问题。Google (Axion)、Azure (Cobalt 100) 和 Ampere 的 ARM 解决方案正变得越来越具有竞争力。 **Hetzner 和 Oracle 一直提供最佳性价比**,Oracle的免费层是一个显著优势。
**性价比:** 竞价实例提供最具成本效益的计算资源,而1-3年预留实例则提供大幅折扣。GCP和Azure在价值方面经常竞争激烈,而AWS往往价格较高。
**建议:** 对于预算解决方案,请考虑Hetzner或Oracle。对于最大性能,Turin驱动的虚拟机是明确的赢家。利用竞价实例和预留实例来优化成本。
**总而言之:** 云计算格局正在迅速发展。升级到现代CPU并仔细考虑定价模式对于最大化性能和价值至关重要。本次比较为明智的决策提供了详细的资源,但还应考虑各个工作负载的需求和供应商的具体因素。
原文链接:[https://dev.to/dimitrioskechagias/cloud-compute-vm-comparison-2026](https://dev.to/dimitrioskechagias/cloud-compute-vm-comparison-2026)
## 自主AI研究:一个新时代
前沿AI研究已从人类主导的实验转向在庞大计算基础设施上运行的完全自主AI代理。该项目于2026年3月启动,展示了核心原则:使AI能够通过连续、自动化的实验来自我改进语言模型。
该系统通过为代理提供一个最小的LLM训练设置(nanochat)和一套指令(`program.md`)来工作。代理修改训练代码(`train.py`),运行5分钟的训练周期,评估结果(使用每字节验证比特数),并重复——有效地“编程程序”而不是直接编程代码。
该仓库故意保持简单,包含三个关键文件:固定的数据准备脚本(`prepare.py`),可编辑的训练循环(`train.py`),以及代理的指令(`program.md`)。这允许集中实验和可管理的代码更改。目前需要单个NVIDIA GPU,该项目旨在展示一种新的范式,即AI驱动自身的进化,目前已进行到第10,205次代码生成(尽管无法验证)。