SLED 是一个为 DOS 设计的极简 LISP 解释器。其数据结构由“原子”(符号、闭包、特殊符号)和“序对”组成。S 表达式既用于表示数据,也用于表示代码。值得注意的是,SLED 没有原生数值类型,而是通过计数风格的列表来模拟自然数。 主要特性包括: * **不可变性:** 符号、特殊形式和标准库函数均不可变。 * **求值:** 未引用的数据会被解释为代码。SLED 使用及早求值策略,通过 `lambda` 和 `let` 支持词法作用域,并利用尾递归优化(TCO)和蹦床求值器来避免栈溢出。 * **环境:** 系统启动时会加载 `sled.scm`。用户通过 REPL 进行交互。 * **内置函数与库:** 核心功能由内置函数和标准库提供,包括基本的列表操作、谓词和输入输出。 * **限制:** 作为实模式 DOS 应用程序,它仅限于较小的堆空间(12,288 个节点)和符号表。文件名必须遵循 8.3 格式规范。 * **控制:** 系统支持通过递归而非迭代进行控制,并允许通过命令行参数进行交互,包括批处理(`/B`)和忽略错误(`/I`)模式。求值错误会将用户返回至顶层。
最初作者使用 Cuttle 进行激光切割设计,后来转用 OpenSCAD,以获得更好的自主权、开源便利性,并能轻松分享参数化文件。尽管 OpenSCAD 的学习曲线较为陡峭,但其基于编程的方法在电缆隐藏盒和猫咪主题纸巾架等项目中展现了强大的功能。
作者强调了以下几点实用心得:
* **激光切割:** 务必保留遮蔽胶带以减少烧焦痕迹;选择胶合板而非刨花板以获得更好的效果;记得计入“切口”(切割过程中损失的材料),以确保接缝吻合。
* **OpenSCAD 工作流:** 作者建议使用外部编辑器(如 Neovim)进行开发;在同一文件中定义独立的 2D 和 3D 模块,以便在导出前验证装配;并利用 BOSL2 库实现高级几何功能。
虽然 OpenSCAD 因其独特的函数式逻辑而具有挑战性,但对于推崇代码驱动设计过程的创作者来说,它是一款非常有价值的工具。文中提供了两个项目的源文件(包括 SVG 生成脚本),供有兴趣自行制作的人参考。
许多人注意到随着年龄增长会出现一种独特的“老人味”,但专家强调,这是一种自然的、普遍的生物学过程,而非卫生习惯不佳的标志。这种气味是由一种叫做 2-壬烯醛的化合物引起的,它是皮肤油脂随年龄增长发生氧化而产生的。这一过程通常始于 40 岁左右,并随时间推移逐渐增加,是人生这一阶段正常的特有气味。
尽管这种变化无法避免,但研究表明,这种气味往往比刻板印象中认为的要淡得多,也不那么令人不快。由于 2-壬烯醛是皮肤生理活动的持续副产物,无法通过清洗或除臭剂彻底消除。不过,专家指出,保持健康的生活方式——特别是摄入富含抗氧化剂的食物、保持水分充足以及戒烟——可能有助于控制氧化压力。归根结底,科学家呼吁人们不必为这一自然的转变感到难为情,并指出人生的每一个阶段,从婴儿期到成年期,都带有其独特且由生物学决定的气味。
在《数据帝国》(*Data Empire*)一书中,鲁皮卡·里萨姆(Roopika Risam)探索了从古代美索不达米亚的泥板到现代生物识别监控长达11,000年的信息史。里萨姆提出,人类本质上是一个“数据物种”,将记录、普查和分类作为治理与管理的主要工具。
尽管她承认这些信息系统可以提供稳定性,但里萨姆的核心观点是,从历史上看,数据一直是掠夺、强迫和统治的工具。无论是通过殖民地土地调查、种族分类,还是算法定位,数据的积累始终将权力集中在少数人手中。她将这些自上而下的压迫性制度与以口述和社区为基础的知识传统进行了对比,后者将社会联系置于控制之上。
虽然里萨姆偶尔将数据归结为具有自主权——这一点评论家洛林·达斯顿(Lorraine Daston)认为值得商榷——但她最终强调数据并非生来邪恶。相反,它是人类意图的反映。本书结尾对反乌托邦式、高监控未来的必然性提出了质疑。里萨姆认为,尽管我们的信息历史是由控制定义的,但我们的未来取决于我们能否从被数据驱动转变为主动且合乎道德地驱动数据。