Archive for the ‘科幻’ Category

LEGO 与光剑

2013/03/28

永远不要低估的黑暗面。

数据迁移

2011/11/20

这周末开始把过去六年存到几十张 DVD 上的数据挪到一块移动硬盘上。六年前为了共享数据和备份买了第一台外置可写光驱(当时的 Dell 笔记本还是 DVD ROM)。那时 DVD 看起来是个完美的备份方案。

六年过去,很多事情改变了。有了宽带,有了数码相机,而且平时都用一张照片 20 MB 的 RAW 格式。MP3 从一首歌一两兆变成了七八兆,还要内嵌专辑封面。另一方面,DVD 作为存储介质快死了。单张容量还那么大,盘片越积越多(为了节省放置空间不得不从单盘单盒装变成了多盘一盒)。下一代 MacBook Pro 估计就没有光驱了。从 Snow Lepoard 的 64-bit kernel 开始,早先在 Windows 上刻录的 DVD 有一大半不能被 OS X 系统识别,而且我想 Apple 也不打算修复这个问题了。

更重要的是想法的改变。当年开始备份这些数据只是出于任何东西都不愿轻易扔掉的习惯。把它们按照时间顺序贴上标签,想着以后还可以怀念一下旧日时光。至于说几年以后从这上百 G 数据,甚至十几年之后从几 T 数据中找出所需资料,我是不抱太大希望的。所以即使读取光盘不是个非常顺畅的操作,当时也没当个问题多加考虑。而现在 OS X 的 Spotlight(还有 Windows 上的仿制品,导致 Microsoft 最终放弃 SQL 和文件系统结合的 WinFS 设想)已经超过了被 Google 杀掉的 Desktop Search,达到了可以从本地海量数据里挖掘有用信息的水平。也许我没法理清存下的每一条数据,但是仍然可以像利用 Internet 一样有效的利用它们。像《实时放逐》的高科技时间旅行者,或者《深渊上的火》的「纵横二号」飞船,每个人的数据都是一生受用的资源,只要先进的 indexing 技术引入个人电脑。

黑客的闲暇

2011/07/12

有时候空闲下来不知道该干些什么。这时要是能找到一个有意思的问题来研究会感觉很充实。若面对的不是纯粹知识理解的难题而是一个有实际需求的问题,并且又能做出点什么东西满足这个需求,那心情就更好了。但更多时候是,即使闲着难受,也会觉得时间太短不够解决意料之中和意想不到的困难而难以鼓起勇气真正动手。

上周一整周都在休假,其中不少时间花在读剩下的少半本《 Snow Crash 》上。这本书断断续续读了一年半的时间。这类小说让我兴奋的地方在于看过之后,再面对普通工作时感觉那些东西多多少少带了一点向 cyber 世界慢慢前进的味道。主人公 [1] 用代码构建和打破 Metaverse 的规则或者拿着电脑 hacking 是我最喜欢的情节。讲到 hacker 和 hacking [2] ,作者 Neal Stephenson 是个行家,虽然这是本带有很大政治和文化成分的科幻小说而不是像《 Hackers & Painters 》那样的专门讨论 hacker 文化的文集,而且是在 1992 年的 IT 石器时代 [3] 写成,但是其中蕴含的很多 hacking 的精髓是这两年我才渐渐了解的。这是我近一年来越来越喜欢这本书并且决心在一周里读完剩下半本的原因。

在小说里最后一场大战开始之前,Hiro Protagonist 乘坐的 Mafia 游艇被 Raven 所在的潜艇击沉,他们一行四人的救生艇飘荡在太平洋上。一个无聊的 hacker 会做的自然是 Hacking !

Hiro does not know what he is doing, what he is preparing for. That’s okay, though. Most of programming is a matter of laying groundwork, building structures of words that seem to have no particular connection to the task at hand.

Metaverse 是个三维的虚拟现实世界。不过在救生艇上,为了延长电池续航,Hiro 特地进入了自己的纯二维工作空间 Flatland。让我觉得自己为了节省电池在 09 款的 MacBook Pro 上 re-login 的切换到集成显卡是个挺酷的举动。读完整部《 Snow Crash 》,我最喜欢救生艇上这段情节。因为背个笔记本电脑到处乱跑就是我在大学读书就有的梦想。写完一个简单的工具之后,Hiro 开始准备在 Metaverse 里最重要的工具,一个『隐身』的 avatar :

To write a really good invisible avatar from scratch would take a long time, but he puts one together in serval hours by recycling bits and pieces of old projects left behind in his computer.

什么都从头写起也许是有些人刚出道时的野心,不过对大多数干过几年的程序员来说,有东西能被『 recycle 』并且能用这些零碎『 put one together 』才是真正的资本。所以,在有时间有精力的大项目里要 leave behind 什么东西,才能有朝一日在『救生艇』上 put together 一件趁手的兵器?这是个严肃的问题。

除了看书,休假的这一周还受朋友之托要写个简单的小工具。我没有大块时间可用。倒是如上所讲,有些时间看小说,不过休假前半个多月的工作到了这样的程度,那些时间不用来看看小说其实也支撑不了什么脑力活动。但答应的东西要做,好在不是什么和 Apple 竞争的商业界面。我决定用而且只用 Adobe Bridge 的 ExtendScript [4] 来搞这件事情。编码和读小说是交替进行的,当读到 Hiro 救生艇 hacking 这段的时候,小说和现实仿佛重叠了。最后我终于 put together 出一个还说得过去的东西。作为正式工具来说太粗糙了。我觉得很大一部分原因是以前从未真正考虑为这样的『 put together 』leave behind 什么像样的东西。

我考虑从现在开始应该为 leave behind 做点什么准备。看来最终在『救生艇』上 put together 一定是用『高级动态语言』来完成。但太粗糙的东西不行。最后用『高级动态语言』拼接的『 bits and pieces 』必须是称手的、精致的。所以得用『集成污染』最少的语言 [5] 打造最好的模块。所以,我要再深入的学习 Lua ,而且开始考虑给我的所有 code base 加上 Lua 集成。

脚注:

  1. 主人公就叫 Protagonist。
  2. 这里的 hacking 和 security 没有直接关系。是《 Hackers & Painters 》里说的那种 hacking 。
  3. 1990 年的时候父母要给我买台电脑,我为他们乱花钱感到极大的惊恐。1993 年我有第一台电脑,以为要解决问题必须用 BASIC 来编写程序。
  4. 一个 JavaScript 的定制版本。和普通的 JavaScript 不同,ExtendScript 运行在 Bridge 而不是 Web 浏览器中。DOM 也和一般操作 HTML 和 CSS 的 DOM 完全不同。它基本上是用来编写桌面 UI 的。
  5. 集成污染

Prime Ridant

2011/01/26

Asimov《基地》系列的主线『心灵史学』(psychohistory)是不可能的科学。Asimov 年轻时受热力学启发构思了『心灵史学』。他自己后来坦承,热力学的简单分子运动和人的行为毕竟有天壤之别,如果稍稍年长一些可能就没有勇气仅凭这么牵强的启发构想如此宏大的科学。

步入老年之后,Asimov 开始创作《基地》三部曲的前传。第一部《 Prelude to Foundation 》描写 Seldon 还是一个从边远星系来到银河帝国首都的年轻数学家,虽然提出了『心灵史学』的概念但是自己都不相信它能成为预言的实用科学。守护人类的机器人 R.Daneel 用了几个月帮助他建立了把这门科学推向实用的决心,而那之后十多年的时间里尽管有 R.Daneel 作为帝国首相的全力协助,『心灵史学』的实用化进展甚微。

前传第二部《 Forward the Foundation 》中的一个转折点之后,『心灵史学』的实用化开始稳步前进。这个转折点是 Prime Ridant 的发明。通过 Prime Ridant ,所有参与『心灵史学』研究的数学家能够随时地持续地对其全部公式进行修改和审查。『心灵史学』的实用化程度逐步达到可以被称为『 Seldon 工程』的地步。

我当初读到这段的时候觉得 Asimov 描述的情节太过唐突。难道在 Seldon 困惑了十几年之后令『心灵史学』的研究一下子步入正轨的只是一个审查和存储工具?我记得,当时我把这段重新读了一遍,然后放下小说。过了几天,又读了一遍。这次我看到 Asimov 描写『心灵史学』的公式体系远远比现实中的数学复杂,突然豁然开朗 —— 当面对的复杂度超过某个程度时,高效稳定的持续集成和审查工具确实能起到让工作发生质变的作用。从复杂度来说,Asimov 笔下的『心灵史学』已经不太像数学,而是更类似今天的软件代码。所以一切明朗了:Prime Ridant 就是一个 version control 系统,拥有海量的存储,稳定的并发访问能力,方便的审查功能,以及优秀的用户界面(三维投射)。从小说的一些描写还能看出,Prime Ridant 还提供不错的 branching 功能,因为还未经过严格审查的修改只能进入相对不稳定的分支。

我不知道 Asimov 是否了解软件开发。即使他对软件开发的任何知识都闻所未闻,我也不会觉得把 Prime Ridant 和 version control 联系到一起有丝毫的牵强附会。在《 What Techology Wants 》一书中,《连线》的创始人已经说明了人类社会的技术和思想在并行独立发展中的自发汇聚现象:三个学者同时接近完成进化论(虽然达尔文第一个发表),20 个人同时独立接近发明电灯,非欧几何被至少三个数学家同时独立构建,三个物理学家同时接近完成相对论,等等。Asimov 作为一个对技术有独到见解的名家,在设想人类如何构建高度复杂系统的时候,描写的虚构工具和 version control 系统有众多相似之处,这种思想的汇聚本身就说明了 version control 在软件开发中的本质核心地位。

达斯勋爵

2010/12/27

周末逛街。

我在网上,虽然没有上网

2010/10/08

父母在郊外的新家刚刚重新装修好,还没有安装 ADSL 宽带。国庆要陪他们住几天,所以赶紧办了一个联通的 WCDMA 号码,以便用 3G tether 上网。同事看到我新办的号码,知道原由之后对我说『你就不能利用国庆假期休息休息戒戒网瘾?』

仔细想想,我是有轻度网瘾吧。可是还没有那么严重。这个假期我想好好读读朋友给我推荐的 alternative history 小说(怎么翻译呢?叫历史虚构小说如何)。偏巧这本书属于国内不大可能出版的那种 [1]。好在 Amazon 支持跨洋送货,等待了十几天之后,终于在国庆长假前送到我手上。

以我的英语水平用阅读中文小说一半的速度阅读没有问题,但词典是不能离手的。而且,今天网络词典和本地词库相比,前者中的中等水平产品对俚语和短语的解释也要比后者中的高级别专业产品好。所以我必须联网。

网络词典的需求仅仅是一部分原因,而且将就的话还勉强可以用 iPhone 来替代 [2]。这本小说讲述在柏林发生的故事,引用了大量二战前后的历史人物、历史事件(比如 Night and Fog)、各大洲地名,以及德语的专有名词(比如 Obergruppenführer)。即使是美国读者若非对欧洲和二战很感兴趣读起来也会颇为吃力。我必须要时刻访问 Google 和 Wikipedia 这样的资料。对于查阅资料的任务来说,iPhone 的屏幕大小或者 GPRS/EDGE 的网速太吃力了。

所以,我必须待在网上,即使没有上网。互联网不是消磨时光的好去处,但是这项伟大的技术让人能够而且敢于在没有背景知识的情况下去欣赏不熟悉的作品。时刻联网也许会削弱我们的智力,但是需要重建的是对其它事物的兴趣而非拒绝网络。

注释:

  1. 也许压根 alternative history 这类小说都没有在国内出版的可能。
  2. iPhone 可以用 GPRS 上网,但是不能用 GPRS tether 上网。Nokia 的手机倒是可以,不过那是另外一个话题。

技术的暴力美学

2010/04/27

When in doubt, use brute force.
—— Ken Thompson

Keep it simple, stupid!

在『天涯』上看到一个帖子提到米格-25。这个前苏联空军中神秘的家伙当年经常在北约的雷达上以三倍音速一闪而过。在以色列曾经遭遇 F-4 并且被后者占据尾追位置发射了空对空导弹,结果是 F-4 看到米格- 25 在导弹发射之后突然加速离开。以当时北约国家 —— 主要是美国 —— 对航空技术的理解,要达到米格- 25 展示出的能力,苏联非掌握钛合金加工工艺不可 —— 在三马赫速度下产生的高温中,除了钛以外,任何低密度金属都会变成橡皮泥,可是即使是今天人类对钛金属的加工能力仍然很有限,完全无法令其成型为航空器零件。还有,为了完成被赋予的防卫广阔的西伯利亚的任务,西方认为米格- 25 必然拥有精巧的机载电子设备。

当 1976 年一个叛逃的苏联飞行员给西方送来一架米格- 25 的时候,后者迫不及待的要看看心目中尖端的机身工艺和电子技术。结果,发现这个三倍音速飞行的家伙竟然是个大钢锭 —— 几乎完全用不锈钢这种在西方看来连普通飞机都造不了的重金属。整架飞机用可称为『狂暴』的发动机才体现出邪恶的航空特性。那个能蹲下一个成年人的喷口最能说明其狂野,不光巨大,而且固定在最大状态,完全没有任何调节机构 —— 在维持三马赫速度而产生的高温下,任何多余的机构都是巨大的不稳定因素。困扰了西方十几年的关于如何实现三倍音速的机身加工就这样被苏联用暴力一举攻克。

还有西方幻想中先进的机载电子设备,不过是把大量的电子管塞到硕大的机头中。如果在地面打开机头的电子管雷达,能把前方 100 米内的生物烤熟。

北极熊独一无二的风格把技术和暴力美学联系到一起。这是人类在技术有限的前提下追求极至的精神。如果有一天人类认识宇宙的能力走到尽头,还能够依靠这种精神在探索的路上走很远。刘慈欣的《三体II · 黑暗森林》和弗诺 · 文奇的《天渊》幻想的就是这种无奈但又令人神往的境地。只是半个世纪之前那个神秘的红色帝国已经在这个境界肆意驰骋了。

我为什么读科幻小说

2010/03/08

闲谈的时候,如果有人的主意让我想到读过的科幻小说中的事物,我一定会指出来。并不是因为我想表达『早就有人想到了』,而是想让人分享一下如果这些主意真的实现了会让我们的生活发生什么变化。

前不久有个朋友从西藏回来。他说在没有人类改造自然的痕迹存在的地方,会感到自己每天在城市里做的事情多么没有意义。我能理解这种感觉是真实而且值得体验的。但是,我也怀疑,如果我们没有创造并且体验今天的这种文明,我们是否还会有这种对纯粹的不加改造的自然的感觉;如果始终生活在那种环境中,我们是否会放弃好奇心最终达到今天的文明。

其实我们今天的生活和几个世纪之后比起来,又何尝不是今天的西藏和国际化大城市的差别?科幻小说并不是预测未来的晴雨计,但是明白没有水晶球的我们应该知道这是我们能够得到的最好的东西,那是我们某种可能的未来。回顾是一种特殊的感受。而科幻是让我们除了亲身经历自己的世界之外,还能回顾它的一种方式。

全球变暖和大肠杆菌

2010/02/03

前些天和朋友聊到中国在这次哥本哈根会议上被众国认为搅乱议题,朋友说搅合的人很多,还有一帮国外教授在说全球变暖是某些财团为了推动自己的低炭经济产品推出的骗局。我突然感慨,人类文明发展了几千年,还是没什么开化,都大祸临头了还在争论些没有意义的问题。

朋友突然说,前些天才知道大肠杆菌是怎么死的,是因为繁殖太快被自己的粪便淹死的。一个人和一个大肠杆菌的差别大到没有比较的意义。可是一亿人和一亿大肠杆菌似乎没什么区别。

恐惧的守护

2009/07/24

《守护者》(Watchmen)的结局说明唯一能够真正守护人类的东西是恐惧,说好听一点叫做敬畏。这个恐惧不能太逼近太猛烈,否则一部分,甚至可能是大部分人会像《世界之战》(War of the Worlds)或者《终结者》里的败类一样自相残杀。这个恐惧也不能太远太模糊,否则就会像全球变暖成为 “狼来了” 的故事。

所以人类需要神时不时敲打一下,但是随后又被允许舒舒服服的喘息和反思。那么多超级英雄不能解决的问题,只要让其中的一个英雄成为全人类 “共同的敌人” ,人类自己就可以应付了。