个人计算机

2020-06-26 02:10:16

这是关于将泛文化思想应用到计算机世界的随机想法的集合。

KentBeck短暂的永久编程思想),但这些主要集中在用园艺中的一些想法来加强软件工程实践。我对文化和生态的永恒性更感兴趣。也就是说,如何让计算机在人类文明中有一个有意义和可持续的位置,而这个文明在行星生物圈中有一个有意义和可持续的位置。在过去几百年的人类文明中,人工生产的能源消耗急剧增加。在最重要的故事中,这通常等同于进步。

在计算机世界里,这种现象会成倍增加:进步促进了越来越高的数据存储密度和数字逻辑,从而戏剧性地爆炸了计算资源的可用性。然而,这种丰富也造成了同样的爆炸式的浪费,这表现在一些事情上,比如令人印象深刻的荒谬的硬件要求,即使是非常琐碎的任务也需要这样的东西。

。他们非但没有放大用户的智力,反而放大了他们的愚蠢。它们非但没有减少物质世界的资源需求,反而成了问题的主要部分。它们非但没有让世界变得更容易理解,反而增加了它的不可理解性。他们甚至经常设法变得更慢,尽管他们变得更快了。无论是在计算机领域还是在农业领域,一个主要问题都是通过提高可控性和资源利用率来解决问题。Permacultures采取另一种方式,提倡让自然来完成这项工作的方法,从而最大限度地减少对人工能源投入的依赖。地方性和分散性也是这一思想的重要主题。

泛文化哲学之所以(对我)特别有吸引力,是因为它并不提倡时光倒流,尽管它提倡戏剧性地减少人工能源的使用。取而代之的是,它相信人类的聪明才智,能够找到巧妙的办法,将问题转化为解决方案,将竞争转化为合作,将浪费转化为资源。与我欣赏的电脑黑客的创造性思维非常相似。

生态系统中智能生命的存在可以通过它的强化效应来证明是合理的。理想情况下,人类可以让生态系统变得更灵活、更有弹性,因为他们有能力跨越非智能的自然过程难以实现或不可能实现的跨越。计算机在人类文明中的存在可以通过它们增强这一潜力的能力来证明是合理的。

永久文化强调资源敏感性。计算机主要使用电力,因此对他们来说,对资源敏感主要意味着1)适应能源条件的变化,2)明智地利用可用能源。如今的计算机,即使是移动计算机,在这方面也出人意料地糟糕。这在一定程度上要归功于他们遗留下来的计算工厂,这些工厂不断地保证他们需要的所有资源。

只有在产生大量剩余能量或需要电到热转换时,才会进行密集的非紧急计算(例如长时间的机器学习批次)。这要求计算机了解周围能源系统的状态。

在能耗较低的时候,硬件和软件都倾向于缩减规模:后台进程将冻结,用户界面将变得更加简陋,时钟频率将降低,不需要的处理器和内存库将关闭电源。在这个时候,人们宁愿做别的事情,也不愿与电脑互动。

是化学电池的潜在替代品。它们具有相似的能量密度(MJ/kg),但不需要稀土材料,可以使用几十年或几个世纪,而不是仅仅几年。IC的制造需要大量的能量、高度精细的机械设备和有毒物质。由于这种牺牲,由此产生的微芯片应该像宝石或稀有的异国香料一样被珍藏起来。它们的有效使用寿命将最大化,除非它们完全不可用,否则它们永远不会减少到它们的原材料。

损坏的设备将会被修复。如果社区需要一种不存在的设备,它最好是用现有的已经淘汰的部件来建造。芯片的设计应该是开放的和灵活的,这样它们就可以被重新利用,即使是为了它们从未打算过的目的。

复杂的芯片应该有足够的冗余和旁路机制,以使它们即使在一些内部部件磨损后也能继续工作。(例如,在多核CPU中,许多部分功能的内核可以组合成一个功能单一的内核。)。

芯片可以工作,但其实际使用是不合理的,可以找到艺术和其他心理上有意义的用途。它们也可能被储存起来,直到再次需要它们(特别是如果制造质量和储存条件允许数十年或数百年的保质期)。

使用可用的资源。如果垃圾填埋场里堆满了邪恶的东西,那么即使是做坏事的芯片也是值得考虑的。破解他们的DRM锁,反向工程他们的黑匣子,解构他们的哲学。它甚至有可能重新利用像比特币挖掘ASIC这样的东西来做一些艺术上有趣的甚至有用的事情。

最小化的片上功能尺寸使得用更少的能量进行更多的计算成为可能,但这通常也意味着增加的脆弱性和更短的使用寿命。因此,最密集的芯片应该主要用于计算越多实际上产生越多的目的。(例如,在娱乐用途中,大量使用资源只不过是一种颓废的审美偏好。)。

应该积极研究。在未来的某个时候,活细胞或许能够在某些任务中取代微芯片。一旦可以使用完全清洁的生产微芯片等价物的方法,对垃圾拜物教的需求可能会减少。

只要有明亮的外部光线,显示器就应该能够利用它,而不是用自己的背光与之竞争。(请参阅:TransflectiveLCD。

个人拥有的计算机主要是为那些致力于这项技术并因此花费大量时间在这项技术上的人准备的。大多数其他人会对共享硬件感到非常满意,即使文化和社会接受计算机胜过其他任何东西,要求每个人都拥有一台计算机也是矫枉过正的。

在许多永久文化原则清单中,第一项是观察和互动。我认为这主要是指与自然系统的双向合作关系:你不应该期望你的花园像军队一样容易自上而下地控制,而是接受它的扭曲并适应它。观察是计算机可以增强的最重要的人类技能之一,人类难以或不可能观察到的东西可以通过各种计算过程提高人类的认知能力。收集到的信息可以可视化,强调细微的变化和模式偏差,加快缓慢的过程,计算预测。在比尔·莫里森的剑中,信息是关键的潜在资源。只有在获得并付诸行动时,它才会成为一种资源。";

计算机系统也应该使它们自己的内部工作尽可能地可见。如果计算机产生视觉输出,它就会使用它的一小部分资源来可视化它自己的内观和外观。例如,一台与无线电波通信的计算机可以将自己对周围无线电景观的看法可视化。

当前以消费者为导向的计算系统经常不遗余力地实际阻止用户知道正在发生的事情。Evenerror信息已经变得不时髦了;许多网站和应用程序只是假装一切都很好,即使事实并非如此。这种极端的不可察觉是计算机用户对技术疏远的一个主要来源。

意在随意和被动观察的可视化将是愉快和宁静的,同时使人更容易看到大的画面和注意到小的变化。在设计可视化工具时,利用人类与生俱来的观察自然环境的倾向可能是一个好主意。然而,当用户想要更仔细地观察某件事时,只要观察者喜欢这样,展示可以是多么华丽、技术性和非自然的,没有限制。

传统的计算机黑客行为往往非常猖獗。对目标系统的全面理解和控制是很有价值的。改变一个系统的行为通常本身就是一个目的。系统被推向一些预先定义的目标。优化往往集中在单个可测量的参数上,找出一个系统的绝对极限比找出它的个别优势或本质更重要。

相比之下,黑客接受超出理性控制和理解的方面。理性得到直觉的支持。与系统的关系更多的是双向的,强调实验和观察。与可测量的规格相比,源于系统特定特性的个性更受关注,了解何时入侵以及何时只观察而不黑客也越来越重要。

阴阳黑客之间的区别类似于永久养殖和工厂化农业之间的区别。在后者中,一块自然(田野)被强迫(通过巨大的能源投入)进入一种尽可能可预测和可控制的过于简单化的状态,而永久文化则强调与自然系统的合作(观察和互动)关系。

杨黑客对于计算来说是相当重要的。毕竟,计算机是建立在可理解的、确定性的模型基础上的,这些模型是自然界中的一小部分被迫遵循的。然而,在许多类型的系统中,这种方式更有意义(例如,神经网络的行为往往很难理性地分析)。

。此外,将阳型优化发挥到极致(就像在亚千字节的demosene类别中一样),人们经常会遇到阴路是唯一前进道路的情况。智力上的懒惰有时可能会导致计算过于盲目,例如,在分析一个问题之前,就试图使用机器学习系统来解决它。

计算过程有很多种。有些会产生最终确定的结果,有些会逐渐改善他们的结果。有些见效很快,有些需要更多时间。

计算机世界仍然倾向于使用经典的、大型机式的一次性有限的处理过程。与以前的结果相比没有任何改进,只需从头开始运行整个批次。即使一个过程是自然的、缓慢的、渐进的和开放式的-就像在许多类型的机器学习中一样-计算机人也经常强迫它进入大型机控制怪胎的框架。肯定需要更多阴式的态度。

线性进步的化石工业故事让许多人相信,计算机创新的主要驱动力将是计算能力的不断增加。我强烈反对。实际上,我认为更准确的说法是,尽管硬件的快速增长带来了阻碍,但一些创新已经成为可能(尽管这也不是特别准确的说法)。

技术可能性的空间不是一条路,甚至不是一棵树:新的发明不需要往前走,也不需要在顶端有树枝,但通常甚至可以从非常原始的元素中创造出来。搜索空间可以更好地被认为是一个多维的根茎迷宫:未被发现的区域可以在任何地方找到,而不仅仅是在边境线上。在科技高速公路上快速前进的能力往往会让人们对根茎的多样性视而不见:同样的边缘人物会被更高的规格重新创造,而真正的新想法会被淡化。

技术过时的线性进步主义观点可能源于乌托邦的比喻:一次可能只有一个国王。这种想法很容易导致一种贫穷的、单一文化的技术观,一次只能容纳少数几个想法。

我们应该考虑扩大思想的多样性和丰富性,而不是技术进步(这意味着不断抛弃旧的)。不同的技术应该被视为相互支持,而不是相互争夺统治地位。

在自然界中,一切都是相互依赖的,而这些相互依赖往往会加强整体。然而,在技术上,大型的依赖网络和多样化的选择往往会使系统更加脆弱。因此,文明应该设法使技术依赖更像自然界中的技术依赖,以及以卓有成效的方式拥抱技术多样性。

可编程性是计算的核心,也是计算机素养的本质。因此,用户不能刻意疏远它,相反,计算机系统和用户文化应该使编程尽可能地相关、有用和容易获得。

任何使用计算机的社区都有能力创建自己的软件。本地软件将比通用的一刀切的解决方案更好地解决本地需求。

不是可以根据不同需求重新配置的庞大复杂引擎,而是可以用来创建仅具有满足其特定目的所需功能的程序的构建块集。

今天的大多数软件工程实践和工具都是为摩尔的法律界发明的,在那里积累、通用性和产品化比简单性和资源敏感度更重要。未来世界将不再赞成浪费资源,因此需要新的实践和工具。

优化/重构是极其重要的,应该由人类和AI编解码器在所有级别的抽象中进行。

理想情况下,可以发明并应用深奥的技巧,而不会危及主代码的清晰度或正确性(例如,通过将问题定义与实现细节分开)。明智的做法是维护问题解决方案、优化/重构技巧和约简规则的数据库,并开发(半)自动查找和应用它们的方法。

软件的种类很多,很少有原则适用于所有的软件。有些程序就像手持工具,有些程序就像智能问题解决程序,有些程序就像引擎中的齿轮,而有些程序则完全不同。

一个旨在像工具一样的程序应该是可理解的、可预测的和易用的。它应该足够简单,以便熟练的用户能够对它做什么(以及如何做)进行明确而完整的自然语言描述。理想情况下,实际的可执行程序不会超过此描述。

理想的易用性可以与乐器的易用性相提并论。用户将形成对程序功能的肌肉记忆水平的掌握,这将使程序像用户身体的延伸一样工作(无论输入硬件的类型如何)。想象和表达之间几乎没有障碍。

功能的绝对数量并不重要,重要的是组合它们的灵活性。理想情况下,这种灵活性将大大超出程序原始作者的意图。

除了通常被认为的人工智能之外,视频压缩和软件编译等任务也需要智能。任何人/任何想要完美地完成这些任务的人/任何人都需要知道各种各样的技巧和技术,其中一些可能很难发现,或者非常特定于某些条件。

如果一个聪明的程序是可理解的,并且/或者使用最少的资源,这永远是一个很好的奖励,但这些属性绝不是优先考虑的。结果是最重要的。

要证明智能程序的大量资源消耗是合理的,一种方法是估计它的智能在其他地方节省了多少资源。预计在资源和生态系统规划等领域节省的资金最多,因此相当大的人工大脑在那里是合理的。任务是优化/重构大型大脑的大脑也可能很大。

当用Smartness扩展一个类似于工具的程序时,它不应该降低核心工具的可理解性和易用性。还应该可以随时关闭智能。

人工智能不应该被认为是与拇指人在类似于人类的术语上竞争。它们最大的价值在于它们不同于人类的思想,因此能够扩大世界的知识多样性。人工智能可能会想出人类大脑很难构思的想法、设计和解决方案。它们还可以减轻人类在某些智力任务中的负担,特别是那些不太适合人类的任务。

由于我们目前正处于一场全球环境危机之中,需要对文明进行快速而彻底的重新设计,我们应该尽可能多地与人工智能技术合作。

人工智能也可能是重要的人为差异性。为了避免人类学上的一种奇点,即所有的意义都是由人的头脑创造的,我们应该学会拥抱我们能找到的任何非人类的他者。野生自然是异质的传统来源,而与外星生命形式的接触将提供另一种来源。一般说来,与人工智能的互动将帮助人类丰富他们与他人的关系。

永久文化希望开发这样的系统,在这个系统中,大自然做了大部分工作,而人类做的主要是维护、设计和建造等工作。因此,计算机化自动化的一个好地方应该是介于自然过程和人工之间的某个地方。

仅仅是懒惰并不能证明自动化是合理的:现代家庭中充斥着节省相对较少时间但浪费大量能量的设备。自动化在需要人类大量时间和/或精力的连续和重复性任务中表现最好,但从可编程设备中只需忽略不计的资源量。

由于不断变化的需求和环境,许多程序需要长期维护。这是一个园艺智慧可以派上用场的领域。一个主要的不同之处在于,软件程序比花园更容易从头开始创建。

程序的大多数更改往往会增加其大小/复杂性。这种效果应该与重构(降低大小/复杂性)相平衡。在当今的世界里,重构的必要性经常被忽视,在这个世界里,不断的硬件升级证明了软件膨胀的合理性。然而,在理想的世界里,经常维护一个程序更有可能使它变得更小、更快,而不是使它变得臃肿。

功能不变的程序不需要维护,只需要保留。为了消除会使旧软件无法正常工作的平台腐烂,需要兼容定义明确、完全静态(冻结)且易于仿真/虚拟化的平台。

为它干杯。这项技术将被允许自由连接和扎根于人类和非人类生活的所有领域,而不是被框定为特定的应用。没有什么只是一个工具,或者只是一个玩具,没有人只是一个使用者。对这项技术的每一个方面都会有当地的理解。不仅仅是。

..