作者最初对 Kubernetes 持怀疑态度,随后总结其核心概念。Kubernetes 运行打包的工作负载,处理放置、扩展、自愈和服务发现。其主要价值来自控制循环(控制器持续协调期望状态)和 Services(稳定 IP/DNS,通过每节点 kube-proxy 进行负载均衡)。工作负载从手动创建的 Pod 发展到用于副本维护的 ReplicaSet,以及用于滚动更新的 Deployment。存储从短暂的 Pod 卷扩展到持久卷,以及具有稳定名称和有序生命周期的 StatefulSet。作者认为 Services 和控制器尤其可靠,但质疑集群可能永远无法稳定、缺乏内置自定义指标自动扩缩、网络/存储的树外方案与内置云提供商支持的关系,以及过度依赖 Helm 等字符串/YAML 模板工具。
AI 编码代理提高了开发速度,但高 AI 采用率与更多 bug、更长的 PR 审查时间以及更多事故相关。自动化软件验证被提出作为解决方案。方法范围从有纪律的代理式工作流(如 Superpowers)和通过 RoboRev 进行的本地持续审查,到 Claude、Codex、Copilot 和 Cursor Bugbot 的托管式 AI PR 审查器。一个全面的流水线增加了确定性检查——linting、类型检查、构建、测试、SAST、密钥和依赖扫描——加上代理式审查、基础设施与迁移检查,以及架构评估,覆盖 pre-commit、push、PR、预生产和生产阶段。大型科技公司的 AI 软件工厂自动化了大量实现工作,而人类仍然是守门人。作者的工作流结合了 spec 迭代、计划性实现、模型交叉审查、分层测试、人工审查和有针对性的手动检查。核心信息是:随着 AI 使代码生成变得廉价,验证必须成为软件工程的核心,人类对最终决策负责,尤其是在高风险变更上。
Parin 是一款面向 D 语言的轻量、代码驱动的 2D 游戏引擎,介于 raylib 这样的小型库与 Godot 这样的大型引擎之间。它提供灵活的内存管理(GC 可选)、基于 Joka 构建的模块化基础,以及开箱即用的功能,如像素级物理、灵活的对话系统、图集动画、瓦片地图和 UI 库(开发中),还有 Box2D、Steamworks、ENet 和 microui 等额外组件。它支持 Web、Windows、Linux 和 macOS。
通过 DUB 安装:`dub init -t parin`,然后 `dub run`;模板包括 basic 和 entity。Linux 需要若干用于声音、图形和输入的开发库。Web 构建需要 LDC 和 Emscripten。文档可通过示例、速查表、导览和 DDOX 获取。
FAQ 说明:没有内置场景/实体或脚本系统(提供示例),不支持热重载,资源可自由使用,raylib 仅作为后端(自定义后端为实验性),支持高清游戏。可通过附带的绑定实现 Steam 和多人游戏发布。
科学家在实验室中通过让白化碎片与同一珊瑚个体的健康碎片接触,逆转了珊瑚白化。在 Pocillopora damicornis 中,接触配对在八周内恢复;共生菌群到第二周每四天翻倍一次,一周接触即可支持后续独立恢复。分离的碎片在20周后死亡。显微镜显示碎片通过组织桥融合,实现共生菌转移,但仅限于同一珊瑚个体中基因相同的碎片。该发现表明可能实现可规模化的恢复,但适用性受限于需要同基因型碎片。