我们生活在一个科技时代。即使是这个星球上大多数没有电视或手机的人也知道这些科技产品。它们是我们制造并为我们服务的。因此,你可能会认为,理解它们应该是我们共同遗产的一部分。它们的内部结构是开放供检查的,它们的设计者通常理解其背后的原理,并且有可能传达这种知识——尽管曾经流行的手册中的“操作理论”部分似乎不再包含在内。考虑到手册本身正在消失,留下闪闪发光的帮助屏幕,而这些屏幕往往只是为内行提供的参考资料,而不是为困惑者提供的指南,这也许并不令人惊讶。
信息的丢失是不幸的,因为任何涉及完全相同动作的活动都可能产生不同的结果——也就是说,凡是存在“随机强化”(正如心理学家所说)的地方,都是迷信迅速滋生的沃土。钓鱼就是一个很好的例子。当外出垂钓石斑鱼时,你通常使用和别人一样的鱼饵。没有什么技巧可言,所以你钓到的鱼的数量与你的鱼饵在水中的时间成正比。那些事先花时间摆弄设备的人钓到的鱼更少。这是一个数学上的必然。我选择我的设备有一个目标:消除麻烦。所以当我的钓鱼伙伴使用花哨的卷线器并与偶尔的缠结作斗争时,我使用你给年轻人用的那种封闭式卷线器,因为它们很少缠绕。每次出海,我钓到限定数量的鱼的速度都和船上任何其他人一样快或更快。他们不再嘲笑我的“原始”设备,但他们会问我是否在我的鱼饵上涂抹了一些特殊的东西来吸引鱼上钩,或者我是否有其他“秘密”。他们不相信真正的解释,我很乐意分享。这太简单了,我的成功背后没有“秘密”的东西或装置。
事实上,人们非常喜欢神秘和神话,以至于当一个解释看起来太简单或直接时,他们就会创造它们。“为什么Windows如此难用?”有人问我。
“因为它一开始设计得很糟糕,并且是通过反复修补和调整而不是从头开发而成长起来的。”
“但是,”好奇的人会说,“一定还有更多原因,”他们认为计算机固有一些深层问题迫使外在的复杂性产生。唯一涉及的力量是微软错误地认为市场想要什么——以及惯性。
特别是,当测试是主观的、困难的,并且(通常)根本不执行时,迷信会猖獗滋生。例如,人们纯粹是出于一种神奇的信念,认为自己可以听出不同品牌音频线之间的区别。你可以花几美元买一根简单的单米音频线,两端都带有镀金RCA连接器,或者你可以买一根带有“时间校正绕组”的线,制造商声称这将“为完整、自然的音乐再现提供准确的相位和幅度信号响应”。价格?40美元。或者,如果你特别没有安全感,可以从怪兽线材(Monster Cable,http://www.monstercable.com)购买一根单米长的线,它具有“3向带宽平衡®结构,可实现更流畅、更准确的声音”,仅需100美元。我曾饶有兴致地测试过人们是否能分辨出其中的区别——他们不能。在可听频率范围内,电缆中电容、电感和电阻的微小差异不会产生可听到的差异,并且流行品牌之间相关的电气参数没有显着差异。怪兽线材的另一则广告写道:“选择合适的电缆可能是一项艰巨的任务”(尤其是当你阅读广告文案时),并解释说“买得太少太常见了。” 就营销部门而言,这最后一句话是真的。
我给怪兽线材发了电子邮件,挑战该公司用其选择的设备和听众进行一个简单的测试。我提出的设置很简单:一台CD播放机、一根连接到功率放大器的音频线和一套扬声器。我所要做的就是更换CD播放机和功率放大器之间的电缆,抛硬币来决定我下一次测试要连接哪根电缆。所有听众要做的就是识别哪根是廉价的Radio Shack电缆,哪根是怪兽线材的电缆。我会录制实验的视频,以便观看者可以看到我正在使用哪根电缆,并听到听众说了什么。
我们进行了友好的电子邮件交流,但当我提出这个实验时,我就没有收到进一步的回复。在我看来,如果真的存在差异,该公司就没什么好害怕的。
所有的证明和大多数杂志评论都基于评论者知道正在使用什么音频设备的情况。业主和杂志评论员都有既得利益;前者需要证明所花钱是值得的,后者需要维护广告收入。
一个显然是错误的说法,无需测试就可知,涉及为音频CD销售的加重轮辋。制造商声称,增加的质量将有助于CD以不变的速度旋转。这是真的。懂一点物理学的人都知道,给定的力对质量越大物体的加速作用越小,因此任何干扰力对较重磁盘的旋转速度的影响都会较小。制造商还声称,这将使CD听起来更好,减少“哇音”或“颤音”,这在磁带录音或黑胶唱片中是不均匀的记录介质运动的结果。关于更好声音的说法是错误的,并且依赖于CD播放机所有者的无知。无知是迷信的向导。
购买这些轮辋的傻瓜不知道的是,CD播放机读取的位置超前于其正在播放的位置,并将音乐数据存储在半导体存储器中,该存储器充当缓冲器。存储器中的信息由不变的晶体振荡器定时输出。CD旋转速度的任何不均匀性(只要它向缓冲器发送数据的速度快于播放速度)都与声音无关。事实上,这是CD播放机设计中的天才之处之一,使声音质量独立于媒体旋转的机械质量。随着CD的引入,颤音和哇音立即消失到听不见的水平。加重轮辋根本无关紧要。
当我还是研究生时,我做了一个最简单的实验。我把一对放大器放在桌子上:一个花哨且昂贵,另一个普通且便宜。两者都有连接到开关盒的电线。开关清楚地标明了哪个放大器对应哪个位置。受试者被允许尽可能多的时间;他们自己操作开关,他们所要做的就是报告在开关的哪个位置系统听起来更好。除了少数人外,所有人都报告说他们可以听出区别,并且几乎所有人都更喜欢更昂贵的设备。一个人说,就他而言,开关“根本没有任何作用”。那个人是对的:我只使用了一个放大器,并且开关没有连接到任何东西。结果在统计学上是显着的,并且表明人们可以非常容易地自欺欺人。
计算机系统表现出最适合产生迷信反应的所有行为。你会尝试做某事,它不会工作,所以你再次尝试——完全相同的方式——这次它工作了,或者不工作。这就是随机强化。因此,许多编程和管理实践的有效性是无法衡量的。例如,大多数“极限编程”的原则在我看来似乎是合理的,而且早在它们获得现在这个荒谬的名字之前,我就已经使用了其中的许多原则。然而,提出这个想法的人也是创建该范例的人。大多数报告的结果甚至不是单盲的,更不用说双盲了。我们很少详细了解计算机上执行任务背后的过程。我们正在使用其他人编写的兆字节代码,这些代码文档记录不充分,测试不足,并且以其创建者未曾预见的方式和组合被使用。
难怪我们倾向于表现得好像计算机是由魔法驱动的。我们中的许多人(包括我)都使用完全相同的操作顺序来完成一项任务,因为该顺序曾经有效,并且我们不敢改变它(即使有人提出了不同的方法)。现在过时的SCSI(小型计算机系统接口)总线也是如此:某些配置可以工作,而其他似乎遵守电缆长度、终端和设备地址规则的配置则不行。一旦我们有一个工作正常的设置,我们就不会改变它;就好像我们已经实现了某种天上的安排。
我邀请读者与我分享技术世界中迷信行为的例子。与此同时,做一个怀疑论者:问问自己,你正在做的事情是基于事实、观察、可靠的基础,还是其中存在一些可疑之处——在你与技术的互动中是否带有一丝迷信。
杰夫·拉斯金最出名的是他的书《人性化界面》(Addison-Wesley,2000年),以及他在苹果公司创建了Macintosh项目。他拥有多项界面专利,为世界各地的公司提供咨询,并且经常被邀请在会议、研讨会和大学演讲。他目前的项目“人性化环境”(http://humane.sourceforge.net/home/index.html)正在计算机科学界和商界引起兴趣。
最初发表于Queue杂志第1卷,第9期—
在数字图书馆评论本文
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, John Wilkes - Borg、Omega和Kubernetes
尽管对软件容器的广泛兴趣是一个相对较新的现象,但在谷歌,我们已经大规模管理Linux容器超过十年,并在那段时间内构建了三个不同的容器管理系统。每个系统都深受其前辈的影响,即使它们是出于不同的原因而开发的。本文介绍了我们从开发和运营它们的过程中吸取的教训。
Rishiyur S. Nikhil - 硬件系统设计中的抽象
软件工程的历史是不断发展抽象机制以应对日益增长的复杂性的历史。然而,硬件设计并没有那么先进。例如,两种最常用的HDL可以追溯到20世纪80年代。标准的更新落后于现代编程语言的结构抽象,例如类型、封装和参数化。它们的行为语义甚至更加落后。它们是根据在单处理器冯·诺依曼机器上运行的事件驱动模拟器指定的。
John R. Mashey - 通往64位的漫长道路
莎士比亚的语言常常涵盖超出他最疯狂梦想的情境。即使人们提前计划,辛勤工作和麻烦也伴随着主要的计算转型。为了校准“今天的明日遗产”,我们应该研究“昨天的明日遗产”。明天的许多软件仍然将受到数十年前的决策驱动。过去的决策具有意想不到的副作用,这些副作用会持续数十年,并且难以消除。