这是一篇基于 2023 年 9 月 22 日在Strange Loop上的演讲转录的博客文章。演讲者 Devine 感谢了 Strange Loop 的组织者、Jack Rusher 提供的柠檬和蜂蜜饮料以及 Josh Morrow 借出的用于演讲的电脑。
受永续农业启发的计算与可持续性方法
- 多年前听说 Strange Loop,其介绍性演讲Programming Should Eat Itself让演讲者深受触动,之后 Amar Shah 的Point Free or Die演讲让他找到可以交流神秘编程想法的安全之地。
- 演讲者与伙伴经营一家小型设计和研究工作室,原本计划制作视频游戏,因各种情况转而探索现代技术的失败之处,8 年来一直使用捐赠设备进行操作,以探索不同设备的故障及修复方法。
- 一些幻灯片是 Rek 的作品,他们一起制作书籍、工具和游戏,并用插图记录感兴趣的事物,以帮助人们更好地理解相关材料。
- 演讲主题为受永续农业启发的计算与可持续性方法,可持续性并非一个明确的概念,这里指能够持续做某事,永续农业也是一个模糊的概念,这里指对生态系统有强化作用的事物。
- 演讲者关注计算机作为创造工具的作用,而非消费工具,因此不考虑服务或应用,而是专注于开放规范和构建自己的软件的知识。
- 如今人们倾向于购买解决方案,导致知识真空,解决方案会掩盖知识,使人无需思考问题,不利于知识的积累和传承。
- 演讲者提到 Kolmogorov 对复杂性和优雅的研究,以及 Sabotage(破坏)的概念,即“效率的撤回”,认为技术应造福社会,应让人们对统治生活的技术系统有控制权,并了解其整个叙事的知识。
- 将复杂性、简单性和可持续性三个概念结合起来,希望计算系统能尽可能匹配所需的复杂性,避免使用过大的工具解决简单问题。
- 以在帆船上的生活为例,说明要了解自身生态系统的限制,如船上的电池和太阳能容量等,做出权衡,找到平衡。
以日本的备灾犀牛 Bosai 为例,说明人们应适应自身生态系统的限制,如在门口放置包含基本物资的“沟渠袋”以应对自然灾害,这种 resilience(恢复力)值得借鉴。
模拟与保存
- 在研究过程中,演讲者进行了各种系统的模拟,发现模拟的系统比现代原生软件运行更快、电池使用更久,如在 Hypercard 中绘画的时间比在 Gimp 中更长。
- 对 THINK Pascal 的探索改变了他对编程的看法,他曾使用等宽字体编程,后来发现比例字体更常见的时代,人们用 Acme 编程,这表明事物的兴衰往往是趋势所致。
- 保存工作在模拟系统中更容易,如 NES 等冻结平台的游戏可以长久运行,因为不会被补丁更新,且有很多模拟器实现。
- 演讲者在研究中发现很多计算历史被遗忘,学校没有计算历史课程,这导致人们对过去的系统产生误解,认为失败的系统是因为不好。
- 模拟系统改变了演讲者对计算机的看法,曾有一段时间计算趋势是不编辑文本文件,而是基于图像的系统,但后来发现可以通过保存系统状态的图像来实现类似功能,如 Smalltalk 的图像。
- Smalltalk 80 代码仅 12kb,实现它需要“一年的工作量”,演讲者由此思考“一周计算机”或“一个月计算机”的概念,试图找到平衡和优雅的实现方式,同时允许未来的自己重新实现。
- 软件保存成为演讲者实践的核心,他对游戏保存感到失望,约 87%的 2010 年前的商业游戏现在不可用,这是计算领域的失败。
- 介绍了数字保存的四种策略:迁移、模拟、封装和通用虚拟计算机(UVM),并以 Java 和 Another World 游戏为例说明 UVM 的作用。
- 演讲者展示了为游戏制作可移植性层的尝试,以 Oquonie 游戏为例,设计了一个基于 6502 芯片的虚拟机,包含 32 个操作码,采用栈机结构,同时设计了自己舒适的汇编语言,映射到字节码,避免过度抽象。
- 介绍了各种计算架构,如 Lisp 机器、Tag 机器、Interaction Nets 等,强调不要直接选择栈机,要多了解其他选择。
- 最后提到在编程语言设计方面,不追求所谓“好语言”的标准,而是注重与硬件的映射和实际应用,避免过度关注编程语言而分散对计算机科学的注意力,整个演讲的后半部分较为技术化,感兴趣可观看视频[https://youtu.be/T3u7bGgVspM?...]。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。