Tag Archives: Linux

Cygwin的Crontab

在Windows Server上装cygwin的Crontab,老是装不上去。cron-config提示/etc/passwd里边没有该用户,让我创建一个。而运行mkpasswd时又提示“the specified domain either does not exist or could not be contacted”。查了n久,越查越迷糊。
后来到今天,忽然就装上去了。
原来俺以前都是用ssh连过去运行cron-config的,从本机上打开cygwin安装cron就没有问题,但ssh过去就不行。晕……

乱七八糟的笔记

俺确定那几台SUSE的服务器在/etc/profile里边有 “ulimit -Sc 0″ 这一行,可是为什么系统还要生成core文件呢?夸张的时候,根下面会有数万个core文件。这个时候用”ulimit -a”看一下,发现core文件大小的设置又变成了unlimited。使用root权限运行”. /etc/profile”后,发现ulimit还是unlimited……咋回事咧?单独执行 “ulimit -Sc 0″,发现还是有效的。但似乎过一阵子这个设置又会自己跑掉,反正过一阵子服务器上面又是一大堆core文件。
这些core文件的罪魁祸首是FalconStor的一个叫installation_sv的进程,好像是由于找不到某个文件出现segfault导致的。gdb是个好东东,但也只能看到这么一丁点信息……
打算试试下面这个办法:

echo "0" > /proc/sys/kernel/core_uses_pid

这样所有生成的core文件名字就叫“core”,后面就没有.$pid了,然后在根目录”touch core; chmod 000 core”,这样可比逼迫系统产生不出core文件,很笨的办法……至于/etc/profile为啥无效还是一个迷……

由一个文件夹,里边有3个月以来积累的上百万个文件,每个大约5k左右。(感谢ReiserFS,Ext3的每个目录只能有32767 32000个文件……)这么大的文件夹,进去随便执行什么命令,都会提示argument list too long,现在要把里边的东西按照日期封存起来,以后当然不在一个文件夹里边放这么多东西了。今天下班前写了一个script在那里运行,明天看结果……

for ((i=1;i>=120;i++))
do
find . -mtime $i -print | tar -czvf $i.tar.gz –files-from -
done

参考资料:

Controlling core files (Linux)
Avoiding tar’s (or any other commandline’s) argument list too long error

更新:看了服务器上的设置,本来core_uses_pid设置就是0,没辙了

腾讯Linux版QQ真搞笑

今天忽然想下下来看一下,于是找到这个链接,然后发现没法下载……
旋风下载?啥玩意儿?直接下载也不行。
接着看评论,原来是只有IE浏览器才能下载,搞什么呀,还是不下载了……

最初是命令行——陷阱?焦油坑?

当Gates和Allen想出出售软件这个点子时,他们受到了黑客和商人的双重批判。黑客们懂得软件只是信息,他们反对将信息作为买卖的东西,这种 反对一方面是道德方面的,黑客们大都来自科学和各种学术领域,在这些领域里,工作成果的免费共享是必要的美德。另一方面,他们也有可行性方面的考虑,这么 容易拷贝的东西,怎么能作为商品买卖呢?而商人作为一个一向和黑客意见不同的群体,他们又有自己的顾虑,习惯了电烤炉和保险单之类的商品,他们自然很难理 解为什么一长串的0和1能用来买卖。
显然微软战胜了这些异议,Apple也一样。但这些异议依然存在。所有黑客中最黑客的黑客,我们过去,现在,以及永远的Richard Stallman,他对出售软件这种恶行实在是深恶痛绝,于是在1984年(Macintosh上市的同一年),他跑出去创立了一个叫Free Software Foundation的组织,他们开始着手搞一个叫GNU的东东。GNU是Gnu’s Not Unix的缩写,但这其实是一个多重笑话,因为GNU当然就是Unix。由于注册商标的顾虑(Unix被AT&T注册了),他们不能直说那就是Unix,所以为了非常保险起见,他们声称那不是Unix,尽管Stallman先生和他的同仁们在GNU上面投入了无可比拟的智慧和感情,但他们构建一个免费的Unix系统和Microsoft及Apple竞争的努力,有点像是要用汤匙挖一条地铁出来,直到Linux的降临,这个我一会就会讲到。
不过从零开始创造一个操作系统出来是一个听上去很不错,而且完全可行的主意。这样的事情已经发生过很多次了。这可以说是操作系统的固有属性。
操作系统其实不是完全必要的东西。只要程序员有足够的能力和时间,他完全可以从基本的低级层面写起,从控制磁盘读写的磁头,点亮屏幕 的像素,一直到整个项目的完成。最早的第一台电脑不得不这样去做,但现在还这么做就没理由了。因为计算机基础层面上的操作都是一样的,这样会导致太多重复 的工作。
对于黑客们来说,没有比重复的工作更令人讨厌的事情了。人们学习如何编程的时候,需要养成的第一个而且是最重要的习惯就是归纳,归纳,归纳。让他们 的代码尽可能模块化,从而可以被灵活应用;将大问题分解为可以在不同场合重复使用的子程序。这样一来,操作系统的开发,虽说从技术上讲并没有必要,但事实 上是无法避免的事情。因为从根本上讲,操作系统其实只是一个包含很多公用代码的代码库,一次撰写完成(最好还写得不错),然后发布出来供每一个需要的程序 员使用。
所以说,一个专有的,封闭的,秘密的操作系统从概念上就是矛盾的。这和操作系统的意义完全背道而驰。而且要将其封闭起来也基本上是不可能的。源代码 ——程序员写的文本代码——可以被隐藏起来,但操作系统作为分管各个专门任务的子程序的集合,每个子程序的功能必须是详尽准确公开的,否则操作系统对于程 序员就没有任何用处了;如果他们不能完全了解这些子程序的功能,他们就无法利用这个操作系统编写应用程序。
唯一没被公开的就是这些子程序如何完成他们的任务。不过一旦你知道了它的功能,对于黑客来说,写一个具有完全相同功能的程序是很容易的一件事情。也许会花点时间,也许很无聊而且没有回报,但大部分情况下,这个任务并不难。
写程序和写小说一样,难的不是怎样写,而是决定究竟要写什么。而商业版操作系统的开发商已经决定了,而且发不了他们的决定。
这个道理很长时间以来大家都明白。MS-DOS另一个竞争者ProDOS功能方面的复制品,只是重新编写了代码而已。换句话说,是有另外一家公司, 他们也有能力编写MS-DOS这样的东西并将其出售。如果你在使用Linux操作系统,你可以安装一个叫WINE的免费软件,它是一个Windows模拟 器,你可以通过它运行Windows平台上的软件。这表示在Unix中重新创造了一个完全可用的Windows操作系统,就像瓶子里的一艘帆船一样。而 Unix本身作为一个比MS-DOS更为纯熟的操作系统,已经被从零开始创造过很多遍了。Sun,Hewlett- Packard,AT&T,Silicon Graphics,IBM,以及其他厂商都在出售各种不同版本的Unix。
换句话说,传统(GUI之前)的操作系统已经被重写过很多次了,所有这方面的技术是如此的普遍,已经可以说是完全免费的了。Bill和Allen现在不但没法再出售MS-DOS,而且即使送人也没人要,因为已经有更强大的免费操作系统在那里看。即使是最早版本的Windows,现在也变得一文不值了,拥有一个可以免费在Linux里边模拟出来的东西还有什么意义呢?
从这方面讲操作系统这一行业和汽车行业是非常不同的,即使一辆老破车也有一些价值。你可以开着它运垃圾,或者拆了里边的零件在别处用。这些产品的命运就是逐渐老化贬值,最后无法再跟先进的产品竞争。
但操作系统的命运是免费。
Microsoft是一家了不起的应用软件公司。应用软件——比如Microsoft Word——是一个创新可以给用户带来真实直接的好处的领域。这些创新也许是来自研发部门的新技术,也可能是一些花哨的小功能,但不管怎样它们很多时候都 是有用的,而且可以让用户高兴。而Microsoft正在成为一个了不起的研发公司,相比而言,Microsoft并不是一个那么了不起的操作系统公司。而这并不是因为Microsoft的操作系统从技术上讲就那么差,它们是有很多问题,但比起过去已经强很多了,而且对于大部分人来说这已经足够了。
那为什么我还说Microsoft不是一家多么了不起的操作系统公司呢?因为就操作系统的根本属性来说,被某一家公司开发和拥有是一件很没意义的事 情。从一开始就不讨好。应用软件为成千上万天真的用户带来创造的可能性,而操作系统为上万成千的程序员带来的却是诸多限制因素,所以操作系统制造商在技术 领域的人眼里,永远都只能被放到垃圾名单里边去。应用软件用户面临的最大问题是如何弄懂它们的功能。而操作系统则被不满足于功能限制的黑客破解。就现在来 说,操作系统对于Microsoft的唯一意义是他们可以用赚来的钱开发更多应用软件,并且招聘更多有才华的员工。现在已经是该像火箭助推器一般,将操作 系统这块抛弃的时候了。最大的问题是Microsoft有没有能力做这件事情。或者Microsoft已经像Apple出售硬件一样,对出售操作系统上瘾 了呢?
记住Apple的这段历史,他们对硬件的垄断,曾经一度被认为是跟Microsoft相比的一项优势,但最后这一政策几乎让Apple遭受灭顶之 灾,或者说他们已经遭受过灭顶之灾了。Apple的问题是,几乎世界上所有的计算机用户都选择了便宜的硬件。但这些便宜的硬件无法运行MacOS,所以他 们选择了Windows。
将“硬件”换成“操作系统”,再把“Apple”换成“Microsoft”,你就可以看到,同样的事情就要再次发生了。Microsoft统治者 操作系统市场,这让他们赚钱,而且现在看来是个了不起的主意。但我们还有更便宜,更好的操作系统,而且它们正在一些不像美国一样计算机饱和的地方渐渐受到 欢迎。十年以后,也许世界上大部分的计算机用户都会选择拥有这些便宜的操作系统,但这些操作系统现在还不能运行Microsoft的应用程序,所以这些人 会使用一些别的应用程序。
更直接地讲:每一次某个人决定使用一个非Microsoft的OS,Microsoft的OS分部显然就失去了一个用户,但是,就现在的状况而 言,Microsoft的应用程序分部也失去了一个用户。现在几乎所有人都在使用Microsoft的OS,所以这似乎没什么大不了,不过一旦 Microsoft的市场份额开始下降,Redmond那些人就会觉得比较凄凉了。
如果Microsoft重新编译他们的软件,让其能在其他OS上面运行的话,也许可以避免这种变数,但这种做法和寻常的企业本能是相反的。我们再来 看看Apple这个富有教育意义的例子。事情开始对Apple不利的时候,他们其实应该把操作系统移植到便宜一些的PC硬件上面去,但他们没有这么做。他 们反而去挖掘他们硬件的潜力,添加新功能,扩展生产线,但这使得他们的操作系统更加依赖于这些特殊的硬件特性,从而让事情变得更加不可收拾。
一样的,当Microsoft在OS世界的地位受到威胁的时候,他们的企业本能会告诉他们为现有的操作系统增加更多功能,并让他们的应用软件依赖这些特殊功能。但这样做之后让他们的软件更为依赖一个市场份额逐渐下降的操作系统,结果也会变得不可收拾。
操作系统市场是一个死亡陷阱,是一个焦油坑,是一个没有希望的泥潭。投资Apple和Microsoft只有两个理由。(1)这两个公司都跟他们的 客户有一种互相依存的关系。客户们愿意相信,而Apple和Microsoft也知道如何给他们想要的东西。(2)这两家公司都花很大的精力为他们的操作 系统增加新功能,从而在一段时间内确保用户的忠诚度。
因此,这篇文章的大部分章节都会围绕这两个话题展开。

最初是命令行——桌面的阶级斗争

既然已经紧紧地卡在电轨上了,这里有必要回顾一下一些基本事实:和其它任何公开交易的赢利公司一样,Microsoft其实也从人们(股票持有者) 手上借了一些钱,从而在比特贸易中立足。作为企业的管理人员,Bill Gates只有一个责任,那就是将投资效益最大化。这一点他做得好得令人难以置信。Microsoft的任何动静——例如发行任何软件——都只是并发症而 已,如果不放在Bill Gates执行他唯一责任的角度去看,就无法被真正理解。
事情就是这个样子的,如果Microsoft出售外表难看,也不怎么好用的产品,那不是因为Microsoft的人没品位或者没智商,而是因为 Microsoft卓越的经营已经算出来,发布这些有明显已知缺陷的产品,和发布完美无瑕的产品相比,能为他们的持股者赚来更多的钱。这是一个很令人不爽 的事实,但到头来,看着Apple用高深莫测的手法残酷地毁灭自己会双倍的令人不爽。
在网上到处都有针对Microsoft的敌意,这些人可以分为两种,一种是觉得微软太强大的愤恨者,一种是觉得微软太犯贱的鄙视者。这些让我们想起 了共产主义和社会主义的全盛期间,资产阶级两头不讨好的情景:无产阶级不喜欢他们,因为钱都在他们手上;知识分子不喜欢他们,因为他们把钱都花在了修整草 坪上面。Microsoft作为现代高科技繁荣的体现——用一个词讲,就是资产阶级——自然会吸引到同样的怨言。
一个简单的例子是Microsoft Word 6.0时的初始化界面:当你启动程序时,你会看到一支华丽的彩色笔横在几页精美的手工信纸上面。这显然是一种想让软件看上去更为高档的努力,但对我来说根 本没达到这个效果,因为那是一支圆珠笔,而我是一个钢笔男人。如果Apple做这件事情,他们会使用一支布朗克钢笔,或者没准是一支中国毛笔。而我怀疑这 不仅仅是意外。最近我花了一阵子给家里的一台电脑重装Windows NT,整个过程需要双击Control Panel图标很多次,出于常人无法理解的原因,这是一把起子和一把凿子或者螺丝刀放在文件夹上面的一个图案。
这些审美方面的失常让人不由自主地想嘲笑Microsoft,但我们扯远一点——如果Microsoft有专门的团队测试各种可能的外观图案,他们 也许会发现一般的中层办公人群会将钢笔和管理层的大爷们联系在一起,而他们自己会更喜欢圆珠笔。同样的原因,一般的年轻人,或者家里秃头的老爹,在负责安 装配置一台家用电脑时,可能会更认同起子的图案——没准他们会想象拿着一把真锤子来收拾他们那些冥顽不灵的机器。
这是我对现在操作系统市场的某些奇怪现状的唯一解释,比如说为什么免费的坦克摆放在路边,而90%的客户还会从Microsoft选择买旅行车。
分发一串0和1对Bill Gates来说不是什么难事,只要能想到就能做到。困难的是如何出售它们——如何确保客户真正买到了值钱的东西。
买过软件的人都有过这种奇怪的漏气般的经验,把塑料包装的盒子搬回家,撕开,发现里边95%是空气,丢掉里边所有的小卡片,小礼品,小垃圾,然后将 碟片载入电脑中。结果(把碟片弄丢以后)无非就是电脑屏幕上的一些图像,还有一些之前没有的功能。有时你甚至连这些都没有,有的只是一条错误信息。但你的 钱确实是花出去了,现在我们已经习惯这些了,但20年前这可是《赌场风云》般的主题。无论如何,Bill Gates还是让这种模式运行起来了。并不是说他出售了最好的软件,也不是他出价最低,而是他让人们相信,他们买到的东西是物有所值的。
纵观整个世界,每个城市的每条街道都充满了这些丑陋而且响个不停的旅行车。手头没有旅行车的人感觉总有些怪异,而且想着是不是什么时候该去买一辆回来,而买了旅行车的人,都相信自己得到了一件有意义的财物,即使修车行门口排满了车子,也不会改变他们的主意。
所有这些都符合资产阶级的特点,将精神状态和物质状态等同起来。这也解释了为什么在网上,不论站在哪个角度的人,都把Microsoft当作攻击的 对象。有些人认为自己是穷人,受到了压迫,他们会将Microsoft做的每件事情都解释为邪恶的极权主义阴谋。有些人认为自己是IT达人,他们会 Windows的笨重而抓狂。
对于见多识广的人来说,没有比看到那些因为钱多而变得没品位的人更烦的事情了——除非,过了一阵子,又意识到他们不但没品位,而且知道自己没品位,而且不在乎自己没品位,而且打算永远做一个快乐的没品位的富人——这可更叫人讨厌。因此,Microsoft和别的硅谷精英的关系,跟Beverly乡巴佬[1]跟吹毛求疵的银行家Drysdale先生的关系差不多,Drysdale先生对于Clampetts称为他的邻居倒不是很不满,但他头疼的是,当Jethro到70岁时,他还是穿着围裙工作服,满嘴的乡下口音,而他还是比Drysdale先生有钱的多。
即使把运行Windows的硬件跟Apple出来的相比,前者也更像是白色垃圾之类的东西,而且一直没什么改观。这是因为Apple一直是一家硬件 公司,而微软一直是一家软件公司。因此Apple垄断着运行MacOS的硬件平台,而兼容Windows的硬件则来自于自由市场。这个自由市场似乎认为人 们不会去买看上去很酷的电脑。下功夫做外观设计的PC硬件制造商会被台湾生产煤渣盒子的克隆厂商打得满地找牙。而Apple可以做出很漂漂的硬件,然后拿 一个不错的价格卖给那些和我一样中毒的用户。就在上周(这篇文章写于1999年1月初),所有报纸的技术版块还都在狂捧Apple的新出了蓝莓色和橙子色 等彩色的iMac。
Apple一直坚持着硬件垄断,只有1990年代中期有一段时间他们允许克隆厂商和他们竞争,但很快又将他们清出行业。因此,Macintosh的 硬件当然会很贵。你不会拆开它胡乱摆弄,因为这回让质保失效。事实上,最早的Mac被故意设计成了很难被打开的机器——你需要一些很不常见的工具才能打开 它。Mac上市后几个月,一些计算机杂志的背后就开始出现这些工具的小广告了,这些小广告名声一向不怎么好,就像一些侦探杂志背后的开锁工具广告一样。
这种垄断政策至少有三种不同的解释:
善意的解释是说硬件垄断政策可以让Apple做到硬件、操作系统和软件的无缝兼容。这么说还是有一定道理的,本来嘛,即使给自己家人 设计的硬件做一个支持它的操作做系统就很困难了,让一个操作系统在不同时区厂商生产的N种硬件上面运行更不用说有多难,而这也是人们使用Windows出 问题的一个很大的原因。
经济的解释是说Apple和Microsoft不一样,他们一直是一家硬件厂商,离开出售硬件的盈利,它没办法经营下去。
不怎么善意的解释是说这就是Apple的企业文化,从Apple创业之初就根植其中了。
现在,由于我要讲一点关于文化的话题,而且可能会揭别人老底,为防止有人说我主观偏见或者道德败坏,我先声明如下:(1)地理上讲我是西雅图人,属 于气候阴湿的地带,因此我讲起酒神气质的旧金山湾区来,口气可能会酸酸的,正如同他们也倾向于被我们厌烦或者吓到一样。(2)时间上讲,我是创业潮后期的 一代,我感觉至少是因为我没有机会体验整个创业潮时期的乐趣和兴奋——我只是花了很多的时间,尽职尽责地窃笑暴发户们索然无味地讲他们是如何如何地在各种 场合下喝得酩酊大醉,然后礼貌地记下他们的音乐是多么了不起的自吹。不过即使从这么远的距离,也可以拾到一些端倪。其中一条发生最多的都市传奇,是关于有 人误入了一个很多穿着拖鞋,做着V手势的小朋友圣餐聚会中,结果发现,在外表的掩盖下,主持集会的其实是一群控制狂;这个团体的每个人都要花很多口头功夫 赞美他们的秩序,爱心和和谐,但其实他们已经被控制狂们剥夺了正常的出路。
把上面的描述应用于Apple Computer公司就算给读者的一个作业吧,这也不算是很难的作业。
一开始,把Apple想成一个控制狂有点令人不快,因为这和他们公司的形象相去甚远。这不是那家在超级杯上面打广告,展示着一队西装革履的盲目主管 像要跳崖的旅鼠队伍一般向前行进图片的公司吗?这不是那家用Dallai Llama【译注:过滤词,会被盾,逼不得已】(香港除外)和爱因斯坦等离奇的反叛者头像做广告的公司吗?
是的,就是同一家公司,而且他们能在那么多聪明的不轻信媒体的人头脑里植入了他们这一创新的反叛的自由思想者的印象。这就是昂贵的广告宣传的潜在力 量,而且,也许这是很多喜爱他们的人的想象吧。这种现象也引出了一个问题,Apple已经展示了这么一个事实,只要给几家好一点的广告经销商写几张大额支 票,就可以在人们头脑中植入和现实大相径庭的公司形象。但为什么Microsoft的公共关系还就这么差呢?(这里给不喜欢临场问题的人们公布一下答案: 因为Microsoft已经赢得了沉默的大多数的心——那些资产阶级——所以跟尼克松一样,他们才不会在乎什么形象。《X档案》中的Fox Mulder在他办公室墙上挂着一条格言写着“我愿相信”,这条格言能以不一样的方式应用在这两家公司上面,Mac的支持者愿意相信Apple在广告中展 示的形象,Mac跟别的电脑是如何从根本上不一样,而Windows人群愿意相信他们买到了物有所值的东西,完成了一项正当交易。)
无论如何,到1987年的时候,MacOS和Windows都已经面世,分别运行在完全不同的硬件平台上面——不是说MacOS使用的是 Motorola的CPU而Windows使用Intel的CPU,而是从长远角度将,Apple的硬件市场是严格的垄断,而Windows的硬件市场是 一场喧闹的混战。
但是直到最近,这些方面的分歧才变得清晰起来,事实上,它们还在以各种奇怪方式逐渐显露的过程中,在我们讲到Linux时我会进一步解释这些东西。 结果是几乎所有的人都习惯了使用某一种或者另一种GUI。这让Apple和Microsoft赚了很多的钱。这种很多人指望着并依靠着一两家公司产品的模 式,究竟会有什么样的前途呢?
[1] the Beverly Hillbillies,美国电视剧,讲乡下一家跑到发现石油的Beverly Hills镇的故事。

最初是命令行——图形用户界面

如今的程序员在编写软件时第一件要做的事情,是决定如何让程序接受需要处理的信息,(比如图像软件以图片为处理对象,制表软件以表格为处理对象)然后将其转换为线性的字节串。这些字节串通常被称为“文件”或者(某种程度上更酷的叫法)“流”。它们和电报相比,与现代人和克罗马农人相比没什么不同,都是同一样东西,只不过有着不同的名字。你在电脑屏幕上看到的所有的东西——你的《古墓丽影》,你的数字语音邮件,传真,用37种不同字体的富文本文档——从计算机的角度来看,和电报码没什么区别,只不过更长,而且需要更多运算而已。
要体味一下这些玩意,最简单的办法是点开一个网页浏览器,访问一个网站,然后在菜单中选择“查看源文件”,这时你会看到一堆和下面类似的计算机代码:
<HTML>
<HEAD>
<TITLE>Welcome to the Avon Books Homepage</TITLE>
</HEAD>
<MAP NAME=”left0199″>
<AREA SHAPE=”rect” COORDS=”16,56,111,67″ HREF=”/bard/”> <AREA SHAPE=”rect” COORDS=”14,77,111,89″ HREF=”/eos/”> <AREA SHAPE=”rect” COORDS=”17,98,112,110″ HREF=”/twilight/”> <AREA SHAPE=”rect” COORDS=”18,119,112,131″ HREF=”/avon_user/category.html?category_id=271″> <AREA SHAPE=”rect” COORDS=”19,140,112,152″ HREF=”http://www.goners.com/”> <AREA SHAPE=”rect” COORDS=”18,161,111,173″ HREF=”http://www.spikebooks.com/”> <AREA SHAPE=”rect” COORDS=”2,181,112,195″ HREF=”/avon_user/category.html?category_id=277″> <AREA SHAPE=”rect” COORDS=”9,203,112,216″ HREF=”/chathamisland/”> <AREA SHAPE=”rect” COORDS=”7,223,112,236″ HREF=”/avon_user/search.html”> </MAP>
<BODY TEXT=”#478CFF” LINK=”#FFFFFF” [...]

最初是命令行——位掼机

当我坐在那辆MGB上面的时候,我还没想过汽车和电脑界面之间的联系。我报名参加了Ames高中的计算机编程课,几节介绍性课程过后,我们一堆学生被带到一个小房间,里边有一台电传打字机,一部电话,还有一台老式调制解调器(铁壳子顶上有两个橡皮圈的那种)。(注:很多人读到前面的最后一句时,可能会觉得这篇文章接着会开始无聊而冗长的怀旧,放心吧,其实我只是在给棋盘上摆放棋子而已,等一切准备好了,我会开始讲那些很新很酷的技术,比如开源软件。)那台打字机实际上就是几十年来收发电报用的那种类型,打字时声音很大,而且只能打大写字母出来。在它的旁边是一台小机器,上面架着一个很长的纸卷,下面是一个塑料纸架。
要把这不是计算机的东西连到爱荷华州立大学的主机上面,你需要拿起电话来,拨那台主机的号码,等着那些奇怪的噪声回应,然后把听筒扣到调制解调器的橡胶圈上面,如果你没扣歪的话,听筒的收话端和送话端会被橡皮圈紧紧扣住,合成一个69式通信节点。电传打字机会开始振动,似乎被遥远的主机附身一般,然后开始敲打出一些奇怪的信息。
由于那时候计算机还是稀缺资源,我们使用了一种称为“批处理”的技术。在拨号之前,我们会先启动纸带穿孔机(电传机的一个附属设备),然后把我们的程序敲进去,每按一次键,电传机就会在纸上打一个字母出来,这样我们就能知道究竟有没有打错;而同时每个字母又会被转换成为一组8位的二进制码,或者称为一个字节,然后在纸带上面打出一系列对应字节的小孔。打好孔的纸袋又会传到塑料纸架里边,然后我们看着纸架逐渐被字节填满。在毕业的前几天,班上最聪明的孩子(不是我)跳出来,把好几大包打孔的纸条像丢彩纸屑一样地丢向我们的老师,以表达我们的爱意。我到现在还记得我们那可怜的老师疯狂地从头发里,鼻子里,口里揪纸带出来,脸色逐渐变得铁青,最后终于爆发的情形。这是我校园时代里最难忘的场景。
不管怎么说,那个时侯我跟电脑打交道的过程,可以清楚地分成下面几步:(1)坐距离计算机好多里路的家里,拿着纸和笔,绞尽脑汁想我要让计算机干什么,然后把我的意图翻译成计算机能懂的语言,在纸上写满一串串的字母和数字符号。(2)带着写好的东西穿过那片非正式隔离带(在鹅毛大雪里走3英里地)到达学校,然后将纸上的东西输入到一台机器里边去,当然,不是计算机,而是一台可以将字符转换成二进制码并记录在打孔纸带上的机器。(3)通过那台橡胶环调制解调器,我把这些代码发送到远在大学里的计算机主机。(4)接着那台计算机会做算术运算,然后把结果送回到电传机。(5)电传机将传回的信息转换成字符然后打印出来。(6)我在那里观察判断那些返回的信息是否有意义。
整个过程中的责任分工再清楚明白不过了:电脑针对包含信息的字节做算术运算。人将包含信息的字节翻译为有意义的文字符号。但这种分工现在正在变得模糊,或者至少是变得更复杂了,现代的操作系统使用并经常滥用“形象化”这一强有力的工具,这使得更多人可以接受计算机,而也许正因为这些形象化的努力,使得计算机操作系统某种程度上成了一种艺术作品——人们开始投入情感,就跟我朋友的老爹喜欢他的MGB一样地喜欢软件了。
只使用过MacOS或者Windows这样的图形界面的人们——也就是几乎每一个使用过计算机的人——听说我在1973年那会使用电传机连接电脑的故事,都会觉得有些惊愕,或者至少觉得有些困惑。但一直以来,使用这种技术由一个很好的理由。人类有很多互相交流的方法,比如音乐,艺术,误导,还有面部表情,但是有些交流的内容更适于用成串的字符表达出来,理所当然,最简单的就是书写的语言,因为书面语言本来就是由成串的字符构成的,对于表音字符(不同于表意字符)来说,将其转换成字节是轻而易举的事情,实际上在19世纪早期,随着莫斯代码和其它形式电报的到来,就意味着这种技术已经成熟了。
我们在计算机出现前一百年的时候就有了一个人机交流界面。当二战前后计算机到来的时候,我们自然而然地将现成的字节转换工具应用到计算机上面,也就是电传打字机和穿孔卡片机。
这体现了两种完全不同的计算方法。当你使用穿孔卡片时,你需要准备一整摞卡片然后让他们顺次通过读卡机,这种方法称为批处理。你也可以使用电传机进行批处理,就象我之前描述过的,使用纸带读取机,而且我在高中的时候,这种方法也是受到鼓励的。不过有一个某些人想藏住的事实,那就是其实电传机可以做到读卡机做不到的事情。一旦调制解调器连接上以后,你可以用电传机输入一行,然后点回车键,电传机就会将这一行传至计算机,这时计算机就可能会传回一些信息,这样,电传机就会记录下你和计算机交流的整个过程。在那个时候,这种做法连一个名字都没有,但后来,过了很久,另外一种类似的方法出现了,这种方法被追加命名为“命令行界面”(Command Line Interface)。
上大学以后,我和几十个同学得坐在庞大闷热的房间里,对着和原来差不多,只不过略微升级了一点的机器写计算机程序:这些机器使用的是点阵打印技术,但其实(以计算机的角度看来)和之前的老式电传打字机没有什么不同——主机还是主机,只不过更擅长于同时连接多个终端。正因为如此,批处理就变得不必要了。读卡机被丢弃在走廊和锅炉房里,批处理变成了怪叔叔的怪玩具,而且在我们这些用过批处理的人眼里也显得有些怪异了。我们都抛弃了批处理,投入了命令行界面的怀抱,这可以说是我的第一次操作系统模式变更,当然我那会还没意识到这点。
在每一台电传机下面都有手风琴褶皱一般堆起来的庞大的纸堆,数英里长的纸卷通过它们的滚筒。几乎所有的纸在丢掉或者回收掉之前都没有碰过一滴墨水,这种破坏生态的暴行是如此的引人注目,以至于它们很快被视频终端取代了,也就是所谓的“玻璃电传机”,它们工作起来更安静一些,而且不会浪费纸张。当然,从计算机的角度来看,这些显示器和二战时的电传打字机没什么区别,事实上我们一直使用着维多利亚时代的技术和计算机进行交流,直到大约1984年,Macintosh引入了它的图形用户界面(Graphical User Interface,GUI),即便在这个图形界面兴盛的时代,命令行界面依然以基层界面的形式——类似于人的脑干反射系统——存在于很多操作系统中。

最初是命令行——MGB,坦克,蝙蝠车

当Jobs,Wozniak,Gates,还有Allen在构思那些看起来不大可能的方案的时候,我还是一个十几岁的娃子,住在衣阿华州的Ames。一个朋友的老爹在他车库里有一辆生锈的老MGB赛车。有时候他竟然真能让这辆车跑起来,这时候他就会载着我们绕着街区附近转悠,脸上带着令人难忘的年轻的笑容,在提心吊胆的乘客看来,他简直是个疯子,一边开着时不时熄火或者逆火的破赛车,一边吃着铁锈和尘土。而他会觉得自己正在跨海大桥上飞驰,头发飘扬在风中的Dustin Hoffman。
现在回想起来,这里边包含了人们和技术的两种关系。一种是可以塑造他们观点的那种浪漫和印象。如果你怀疑的话(或者如果你手上有很多空闲时间的话),只要问一下随便哪个有一台Macintosh的人就可以了,他们会把自己想象成被压迫的少数人群中的一员。
另外一种某种程度上更加微妙的是,界面是非常重要的。当然,不论从哪方面讲,MGB都可以称得上是一辆烂车,又大又笨,不稳定,而且马力不足。但是它开起来很有趣。车子的响应性很好。路上的每一块小石子的感觉都可以由身体感觉到,路面的每一点坑洼都可以传到司机的手上。司机可以从引擎的声音听出来它出了什么毛病。换挡的响应也是即时的。对乘客来说,这都是些毫无意义的实践,就跟看别人往表格里边填数据一般“有趣”,但对于司机来说,这就是真正的体验。在这段时间里,他把自己的身体和他的感觉扩展到了一个更大的范围,从而做到单独无法做到的事情。
把车子和操作系统比较确实不错,所以我还是继续比较下去,就算是对我们现况的一个综述吧。
想象一下在一个十字路口,有四家互相竞争的车行,其中一家(Microsoft)比其他几家规模大很多很多。它在数年前以出售三档变速的自行车(MS-DOS)起家,这些车子并不完美,但还算是能跑,而且坏了以后你可以很容易地修好它们。
这家的隔壁,是一家晚一些以摩托车起家的竞争商,他们的车子很贵,但设计很吸引人,而他们的车身内部是全封闭的,而他们的车子是如何跑起来的在某种程度上一直是一个谜。
作为回应,那家大车行向市场推出了升级版的机动脚踏两用车(最初版的Windows),将一台设计精巧的Rube Goldberg机器安装在三速自行车上面,使其可以勉强和Apple的车子相抗衡。使用这种车子需要戴护目镜,而且总有虫子飞到口里。而在旁边的车道上,Apple的用户一边坐在封闭车窗里嘲笑他们,一边轻易地超了过去。不过话说回来了,这种车子比起Apple的车子来还是很便宜,而且坏了还是很容易修理,而且它们的市场份额增长了。
这家大车行最终总算生产出了一种成熟的汽车:一种巨型的旅行车(Windows 95)。它有着苏维埃工人宿舍区一般的审美外观,它会漏油,还会掉螺丝,而且它取得了巨大的成功。不久以后,他们又为商业用户推出了一种笨重的越野车(Windows NT),它不比之前的旅行车漂亮,只是略微稳定可靠一点而已。
从那以后事情一直很热闹,但基本上没什么变化。小一点的那家车行继续生产光亮的欧式轿车,而且在广告战中砸很多钱进去。他们在窗子上贴的“GOING OUT OF BUSINESS!”标记已经发黄变卷了。而那家大车行一直在生产越来越大的旅行车和越野车。
路的另外一边是两家更晚一些才出现的车行。其中一家(Be, Inc.)出售全功能的蝙蝠车(the BeOS)。它们比欧式轿车更漂亮更时髦,设计得更好,技术上也更先进,而且和市场上的任何车型相比稳定性都不差——即使如此,也比别的车型便宜。
只有一个例外,那就是Linux,就在它的隔壁,而且那完全不是一门生意。那是一块由房车,蒙古包,帐篷,还有基于测量学设计的小屋子扎在一块地面上,然后以他们之间的共识组织在一起,在那里的人们制造的是坦克。这可不是那些老式的铸铁机身的苏维埃坦克,它们更像是美国的M1坦克,然而却是由太空材料融合了各种先进技术制成的,他们比军队的坦克更为高级,他们被改进到从来不会坏掉的程度,而且他们的轻便和高机动性足以让它们应付寻常的街道,而且使用的燃料甚至不比超小型汽车多。这些坦克现在正在被以飞快的速度生产着,而且很多的坦克插着钥匙一排排停在路边,想要的人可以随时爬到里边去免费把它开走。
成群结队的客户每天路过这个十字路口,不分昼夜。90%的人直接跑到最大的那家车行去买旅行车或者越野车,他们甚至连看都不看一下另外几家车行。
剩下的10%里边,大部分去买了闪亮的欧式轿车,他们鄙视那些买旅行车和越野车的俗气鬼,偶尔他们也会注意到对面路上出售更便宜,技术更先进的车子的车行,但他们认为那些人是变态和白痴。
那家蝙蝠车行偶尔能向一些买了旅行车而且想搭配第二台车子的疯子卖出几辆蝙蝠车,但看样子,他们现在自己也接受了自己的边缘地位。
生产免费坦克的那一家之所以还活着,是因为它的员工都是志愿者,他们会在街边站成一排,拿着扩音器以吸引人们的眼光。一段典型的对话差不多是这样的:
黑客拿着扩音器:“不用花钱的免费坦克!永不损坏!可以在沼泽地和岩石地上可以跑90mph,一百英里耗油只有1加仑!”
想买旅行车的顾客:“我知道你说的不假,可是……嗯……我不知道怎么养一辆坦克啊!”
扩音器:“你也不知道怎么养旅行车啊。”
顾客:“但他们有客服专员啊。如果我的旅行车出问题了,我可以在哪天有空时把车子开过来花钱给他们修,我呢可以坐在会客室里边等那么几个小时,一边听听商店的背景音乐。”
扩音器:“可是如果你开走我们的一辆坦克的话,我们会让志愿者免费上门服务,在你睡觉的时候把它弄好。”
顾客:“离我房子远点,你这变态!”
扩音器:“可是……”
顾客:“你没看见大家都在买旅行车吗?”

最初是命令行——引言

by Neal Stephenson
大约20年前,Apple公司的创立者Jobs和Wozniak想出了一个奇特的点子:向家庭用户出售信息处理机器。后来生意做起来了,他们赚了很多钱,而且以他们的勇敢和远见卓识名扬计算机界。差不多同一个时间,Bill Gates和Paul Allen想出了一个更离奇而不着边际的主意:出售计算机操作系统。这个主意比Jobs和Wozniak的更为奇特。一台电脑好歹也是个物质的实体,是装在箱子里卖给你的,你可以打开盒子,接上电源,然后看着一闪一闪的指示灯发愣。而操作系统这东西完全没有实体,当然,你买到的是一张磁盘,但实际上磁盘只不过相当于一个装产品的盒子,而产品本身则是一串很长的0和1组合,当你把它们在计算机里边装好以后,你就可以操作别的长串的0和1组合。那个时候,即使是那些为数不多的真正懂计算机操作系统的人,也倾向于认为操作系统是一个神秘的工程奇迹,就像衍生反应堆或者U-2侦察机一样,根本不是可以(用高科技行话讲)“产品化”的东西。
然而现在Gates和Allen创建的公司卖操作系统就跟吉利卖剃须刀一样火热。新操作系统的上市就跟好莱坞巨片一样,明星广告,记者招待会,全世界的巡回宣传,一样都不少。他们的市场是如此的庞大,以至于人们开始担心操作系统是不是已经被他们垄断了。现在就算一个计算机盲都对操作系统有那么一点概念,而且对操作系统的价值有自己的一套想法。而且即使是一个菜鸟都知道,如果把Macintosh上面的软件复制到Windows电脑里边是不能用的,事实上这是一个可笑的白痴式的错误,就像在别克轮胎上钉马蹄铁一样。
如果一个人在Microsoft成立之前昏迷掉了,直到现在才醒过来,然后捡一张当天早晨的纽约时报来看,他能看懂里边所有的新闻——几乎所有的新闻:

世界上最有钱的人是靠什么赚钱的?铁路?运输?石油?都不是,是操作系统。
司法部正在处理Microsoft的操作系统垄断嫌疑案,而使用的则是用来制约19世纪黑心资本家的法律条文。
我的一个女性朋友最近告诉我她中断了和一个男生的e-mail感情联系。她说,一开始他还像个机灵风趣的小伙子,可是后来他没完没了地和我讲PC vs Mac。

究竟发生什么倒霉事了?究竟操作系统行业有没有前途?或者即将成为历史?这篇文章会谈谈我的看法,完全是个人观点,不过我也算花了不少的时间使用过Mac,Windows,Linux和BeOS操作系统的机器,而且还花了不少时间为这些操作系统编写过程序,所以也许这些观点并不是那么的无知或者毫无价值。这是一篇主观性的文章,更倾向于是评论而不是研究论文,和杂志上的技术性评论文章比起来,我的观点可能会显得不公正,或者带有偏见,但自从Mac出现以后,我们的操作系统都是建立在比喻上的,而在我看来,任何可以被比喻的东西,都是可以用来开玩笑的。

Firefox在Linux下真很容易Crash啊

尤其是在看Youtube视频的时候,到底是Firefox的问题,还是Flash插件的问题啊。
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071719 Firefox/3.0.1
Shockwave Flash 9.0 r124
还有就是Ubuntu更新时选择哪个服务器啊?俺最近好像找不到下载速度大于10k的服务器……