20110118

为什么世界不围着你转

为什么世界不围着你转

这类的话,可能你也经常问吧。

比如我今天早晨跟人约了9点。我起床就晚,撒腿奔车站。结果20分钟的寒风中,
我放过了多辆空载的出租车,然后认识到形势的严峻--估计再过20分钟228路车
这不靠谱的也不一定能来。那样,我就铁定迟到啦。

打下一辆车,转轻轨,疾走。8点58分,到达。

9点45分,我约的人来了。

9点50分,我必须到考场,因为我是主考,而且卷子锁在我的柜里,钥匙在我身
上。

当时我也想大呼:为什么啥啥。

为是很多人经常说的一种表达模式吧。为什么228车还不来,为什么我约的人要迟
到,为什么我这么笨把约会定在考试前。还有类似的,为什么这科那么难啊,为
什么她不喜欢我啊,为什么李宇春也有人喜欢啊。

如此种种。听过N多以后,我才明白,其实,这不是个疑问句。

如果你试图回答,比如论证为什么世界没有围绕他转,那你就败了。

这句类似于孩子说"为什么天要下雨啊。"他希望的答复是"唉,我们去不了老虎
公园了",而不是雨本来是受热气流上升托起的小液滴。

不信,你试试对这么问话的女士作如上回答。

世界不围绕任何人转,是个简单的道理,所以大家只是感叹一下。可是偏偏很多
设计,工程的和组织的(泛指,不是你以为的意思),却不按这个套路出版。

比如邮件。

很久以前,在著名的QQ产生以前,有一种交流工具,叫做邮件。关于QQ和邮件的
关系,以后另文单说,这里先打住。总而言之,现在不少人还得用邮件。这种东
西有个好处,就是你不能在邮件的开头写"在么?"这样的礼貌用语,直接谈事,
省了N多时间。

你用啥收邮件呢?

有些同学用师大的信箱,就是mail.nenu.edu.cn或者首页进去的那个。那个其实
只是邮件的一种,它和163,263,gmail(google的mail)等都是同一种,叫做基
于web的邮件。

好处不提了,它最大的坏处在于,如果有一天服务端(就理解成你登录的那个页
面吧)挂了,你就颗粒无收,啥也找不回来啦。

如何证明某某天你确实给你的女友发去过祝福邮件呢?如何证明你确实没收到你
导师的重要指示呢?

所以,能把邮件整到手里攥着,非常重要。所有重要的资料,一定一定要留在自
己手里,全世界谁也不可靠,多大的公司也不可靠。如果在自己手里硬盘损坏导
致数据丢失,那就不用埋怨别人了。

那时你就不会仰大叫:为什么google mail也会被墙啊。

因为世界不是围着你转的。至于它围着谁转,我也不知道。问开普勒去。

怎么应对硬盘损坏?备份啊。备几份?那取决于你的数据到底有多么重要。

书归正传。把邮件整到本地,就是你的计算机里,的工具,是一个复杂的东西。

这种复杂的东西,通常被集成在了一起,以致于很多人认为那是一个完整的东
西,叫做邮件客户端。比如foxmail(国人产品,非常不错)或者outlook。

集成的方案有啥问题呢,这其实与 世界到底围着谁转 有关。

如果你用outlook,你就会发现,如果你想批量的处理邮件,想要某个特定的功
能,比如"先按时间,再按主题,老板写来的邮件优先级加100,女朋友发现以上
排序以后,女朋友写来的邮件优先级加1000,并每天定时给女朋友发封邮件,每
天晚上14点以后给导师发邮件,内容是9点你睡前写的",你就得等微软公司大发
善心开发这一功能。

期限,我估计是一万年。

如果你想自己实现,却发现无法下嘴。为什么你无法插手进去呢,因为这个软件
是完整的。从邮件收到处理到显示到写到发送,你都无法干涉。

因为它认为你是外人,不是内部人,不了解情况,是不明真相的,所以不希望亦
不相信幼稚如你,也能参与进来。

邮件客户端这样的程序也不是约无与其他人交互。但是要它认为你有资格。比如
操作系统,就说windows吧的进程管理工具啦,底层TCP/IP协议栈啦,GDI啦,反
正这些你可能没听说过的东西,都是有资格和它谈谈的。

至于你,得等了解啦情况。

如果你想了解情况呢,就要首先运行一些程序,成为他们中的一员,然后你就可
以听啦。甚至可以发现,其实内部挺乱的,随便谁都可以发言,你也可以,因为
没有足够的权限控制。

注:win7的权限控制已经不错了,不过,软件们还未来得及遵循这些权限规则。
在《让子弹飞》里,屁民一见清官,就习惯性地下跪;清官用强权才能制止。此
四海一也。
注完了。

万幸的是,因为这个世界不围绕着某种体系转--当然,因此很不幸,它也不围着
你转;幸的,它也不围着别人转--所以,还有别的方案。

在古代,UNIX时代,现在这种方案也在某些地方隐秘地存在。

就是以一种叫做管道的机制把各个程序连接起来。它的特点是:1.管道中流过的
东西,是纯文本的,也就是说,你拿记事本就可以看,不需要特殊的工具,只需
要读懂的知识;2.这些程序每一个只完成非常常简单的功能,比如收邮件是一个
程序,显示邮件是一个程序,过滤邮件是一个程序,排序邮件是一个程序,写邮
件是一个程序,发送邮件又是一个程序.

用这么许多程序有什么好处呢.

首先每个程序都很小,我们不会对他提出更复杂的要求,它的行为较为容易监控.就
像,我们不靠某个学生干部优秀的道德品质保证他不贪污我们的68.9的助学金,
而是因为小A只负责领钱,不能管账,小B只负责记账,不能接触一分钱,钱发给
谁,发多少,是由另一个人定的.每个人的任务都足够小,让傻瓜也能完成,免
得犯了错误.

其次,每个小程序,都靠与其他程序沟通来完成任务.即,任何一个程序都是容
易替换的.你觉得收邮件太难了是么,有人能做得很好.收邮件可选的,getmail,
fetchmail;发邮件可造的 esmtp, msmtp, sendmail; 写邮件可选的, emacs,
vim等不一而足.

最后,这些小程序是以起到粘合剂作用的程序结合在一起的.这个程序最好的一
个是mutt.如果它不好,我们也可以换掉.

当出现问题时,我们可以观察总体的行为,即mutt的行为,它表现得和一个集成
为统一的一个的邮件客户端是完全相同的;或者,我们可以观察每个小程序的行
为,因为把它们结合在一起的是类似管道的东西,我们每个人都有能力都允许去
看.

这个世界,不是以地球为中心的,也不是以太阳为中心的.当然,也不会以某种
方案为核心.

所以,北京不是全世界的首都.

想起N久以前的对话.

"国家大剧院就应该在首都啊,它不在国家的中心又该在哪里?"

"听说有个建筑叫做悉尼歌剧院,另外,悉尼不是澳大利亚的首都."

国家大剧院就必须在首都么?

操作系统就必须以这个公司开发的软件作为核心么?

世界就该围绕什么转么?

其实,在这个世界上还有一种机制,是以平等合作为基础的.

美帝说:人生而平等.有人说:人生而平等,有些人之间更加平等.我发现很多学
生不仅没有听过,而且也不能理解这到底是什么意思.

程序,生而平等.

No comments: