星期五, 九月 10, 2010

[geekland]黑猩猩 祛魅

最近买了几本书,很有点意思,在我个人看来,至少有两本是祛魅之书,一本是黑猩猩的政治,另一本则是进化的大脑。还有一本《人类的猿性》,翻译的很不好,所以我也不知道算不算。
黑猩猩和大猩猩相信大家都已经很熟悉了,不过我以前也只是浮光掠影的看到一些转述,用来论证作者的观点,从来不是真正的主角。而这一次德瓦尔先生作为动物行为学方面的专家,特别是灵长类动物的研究权威,带我领略了异常丰富的类人猿世界。

---------------------------------------------------------------------------
进化的大脑呢,其实中文译名有点奇怪,英文名字其实是 The accidental mind,也许翻译成 意外的大脑,或者偶然的大脑 更符合书的内容。这本书一本不折不扣的祛魅之书,因为它的中心内容就是说,大脑的设计其实是胡乱堆积起来的功能集合,即没有效率,而且杂乱无章,虽然这一切都不妨碍大脑完成令人惊叹的,诸如现在最强悍的一些computer都不能完成的功能。
实话说,这和我以前的认识有点不一样,要知道所谓的AI,人工智能的最高目标就是像人一样的去解决问题,甚至在AI今天还有强AI和弱AI之分。而我个人也一直在看一些大脑的功能的科普书籍,以至于到了我一直在努力寻找computer在解决问题的策略上面和有机体的已经存在的解决之道,而且我居然发现了很多。不过再看了大约1/3之后,我就被作者说服了,的确,在漫长的进化的过程中,大脑进化的如此之强大,不过它还是进化而来的,有着它的路径依赖和历史包袱。也就是说,通常情况下我们都只会拿一个程序修修补补,而不是抛弃掉一切从头来起(不要重复发明轮子)。
我稍微考虑一下这个问题,也是自然的,虽然说大脑的功能结构之谜到今天似乎仍然是一个没有太多希望的问题,不过毕竟一直在进步,在发展。对不了解的东西我们自然充满了好奇和神秘,随着不断的了解,自然就是一个祛魅的过程了。
另外进化的大脑这本书结构异常清晰,描述的文字也非常富于逻辑,平易近人,没有太多的什么诸如神经科学上面的术语。读起来还是很引人入胜,解决了我以前看书过程中碰到的,比如下丘体,海马体,小脑,间脑,边缘系统等等的复杂的,令人眩晕的名词的关系和直观认识。书后更是列出了一长串的进一步阅读书单和内容简介,有时间的话我会做一个豆列,争取把这些书都收集全。
--------------------------------------------------------------------------

至于说到《黑猩猩的政治》,为什么说它一本祛魅之书呢?对我个人而言绝对是本祛魅之书,因为就在我写完了上一篇post之后,大约就在第二天还是第三天我就收到了amazon的包裹。而就在那一篇post我还信誓旦旦说我个人以为在社群中,合作才是主流,因为合作才能分取更大的蛋糕,才能导致共同的成功。但是《黑猩猩的政治》这本书虽然不能说颠覆了我的认识,至少让我重新认识了冲突,斗争和争取的重要意义。

很久以前,看过一本书《硬球》,大致的内容写的是在美国这种政治环境下怎样玩获取权力的游戏。一种可以说很草根的视角,在此之前我几乎不知道民主社会是这么玩政治的。我还记得ld评价这本书,美国人写东西不简洁,没有文言文来的简炼,其实就是说既要坚持原则底线,又要保持弹性。的确,这就是政治生活,不仅仅是可人类社会,的精髓啊。

《黑猩猩的政治》的核心论点就是在黑猩猩社会当中,有两个最重要的活动,就是权力和性,而权力的目的和最有用的表现其实就是性,所以这本书实际上讲的就是性权力。

这本书实际上是德瓦尔的博士论文扩充后形成的一本书,记录了从1975年~1979年间发生在荷兰阿纳姆动物园(近乎于野生,因为黑猩猩的圈养地是一个单独的小岛,人类观察者需要借助于望远镜来观察他们,而且岛上的笼子是为人类,工作人员们提供的)一个算是很大的黑猩猩群体当中发生的事情,黑猩猩的基因和人类的基因相似程度达到96%以上,和倭黑猩猩一起是人类最亲近的亲戚。不过只是在地理大发现时代以后才渐渐为人所知,人类对黑猩猩的认识过程复杂有趣,如果我是学哲学的,兴许我会按照福柯的观念史的概念去写一篇黑猩猩的论文。仅仅就是我已经看过的书中就提到了一开始以为是人类的一种,试图教他们用刀叉吃饭,遵守礼貌,再到金刚当中残暴的脚色,到现在试图教猩猩们语言的能力,从中研究小孩的学习能力,从中研究人类的起源问题,当然还有我一再提到的sex,等等。不过没有哪一本书是一种完全的黑猩猩视角,都是带着目的来借以论证的。

辛亏有了这本书,就拿推荐序中田松说的“阿纳姆的黑猩猩表现出了强烈的对于和平的渴望,对于暴力的克制,以及对于妇女和孩子的宽容和关爱”,好吧,接下来我们就看看黑猩猩们和睦社会吧。

雄黑猩猩们非常强壮,而且拥有强有力的犬牙,这是雌性所没有的,按照书中的说法,雄黑猩猩的犬牙几乎和黑豹的一样危险,但是在雄黑猩猩和雌黑猩猩的冲突当中,雄性相当克制,雄性从来不使用这种危险的武器,只使用巴掌,那怕被几只雌性围殴,也只会三十六计走为上。相比之下,想想我们社会当中一个根深蒂固的恶习,家庭暴力。

雄黑猩猩们会和未成年人嬉戏,这在动物身上非常罕见,因为就像我说过的,雄性从来只知道自己快活,从来不负担养育后代的责任,因为他们不知道谁是自己的后代,但是黑猩猩群体当中却不是这样,雄性毫无疑问分担了部分责任,而不是像以前我说的(当然我也是看别人的书才知道的)只有人类才是例外。

黑猩猩们能够维持长久的亲密关系,特别是雌性之间,也就是我们常说的闺蜜了,以至于两者从来不发生正面冲突。甚至黑猩猩在性伴侣关系上也有非常强烈的倾向性,而不是我们想象的一味滥交。

黑猩猩们的冲突和和解是其中最为有趣的部分,当然也是作者强调的重点。

每个黑猩猩都有相当独特的个性,有时候我都觉得发生阿纳姆的事情过于有说服力,我都怀疑是不是有数据作假,因为这个群体当中刚好有三只成年雄黑猩猩,耶罗恩,鲁伊特,尼基,因此发生过两次权利更迭,一次鲁伊特取代耶罗恩,一次尼基(联合耶罗恩)取代鲁伊特。一只青年大猩猩丹迪,他也刚好特别聪明,弥补了他在体力上的劣势。有一个雌性首领大妈妈,有几个雌性团体,其中有聋子,所以她自己的小孩不能存活,更令人惊异的是居然还有一个拉拉,普伊斯特,她体型健硕,而且不会怀孕,因为她拒绝性交(在作者的观察期间,后来普伊斯特成功的成为了一个合格的母亲)。

黑猩猩之间的冲突非常多,但是他们之间在冲突之后基本上都会和解,(他们和解的愿望非常强烈),方式是拥抱和亲吻,以及长时间的相互之间的皮毛护理,这是黑猩猩们之间最主要的社交方式,不过有趣的是,冲突越多,越激烈,这种花费在社交的时间也就越多,也就是说打归打,还是一家亲,典型的硬球原则啦。相比之下,人类口蜜腹剑的多了去了,腹黑也不在少数。另外一个启示就是千万别忽视身体接触的力量,也许会有你想象不到的力量。

另外还有一种特别有意思的和解方式,当两只雄性冲突之后,两只猩猩谁也不愿意第一个采取和解的姿态,目光游离,但是刚好不和对方做视线接触,这个时候会有一只雌性黑猩猩,通常是年纪最大最有威望的雌性,大妈妈,出来扮演调解人的角色,但是从来不会是一只年轻的雌性,原因很简单,这正是雄性冲突的根源。通常情况下,雌性会走向冲突双方当中的一方,给他做皮毛护理,过一会,她会站起来,走向另一方,通常情况下,,刚刚做过护理的这一方会跟在哪只雌性身后,虽然他们之间还是没有目光接触,然后就是三个人坐在一起,雌性坐在中间,相互皮毛护理,过了一会儿,那个雌性会悄悄地抽身而去,而剩下来的冲突双方就会给对方做皮毛护理,他们何解了。如果说一开始,那个雄性没有跟着雌性走,那么调解人会不厌其烦的返过身去,重新开始一次,直到雄性跟在她的身后为止。果然是永恒之女性引领我们前进啊,给我们的另外一个启示就是给台阶就要下,那种不合作的博弈策略基本上对自己和对别人都没有好处,比较有效地策略是“以牙还牙,以眼还眼”。

雄性的冲突根源当然是权力,三只成年雄黑猩猩都有担当首领的经历,耶罗恩是第一任,他年纪最长,也最老奸巨猾,鲁伊特是第二任,他是最强壮的,单打独斗他无需惧怕任何人,尼基也相当孔武有力,他也是最年轻的。耶罗恩纯粹是由于实力的原因遭到了鲁伊特的挑战,虽然他不会轻易束手就擒,但终究是实力稍逊。不过在此过程中,有一些细节非常有意思(具体的过程我就不写了,除非我打算把整章节整章节的抄下来)。

第一个是雌性对现有的首领支持,在冲突双方一方有一方处于劣势的时候,他通常会向其他人寻求援助,对于首领耶罗恩的请求大约有80%的得到了回应,但是相反方向的鲁伊特的请求则是一次都没有,从来没有。在一个等级社会当中(丢掉人人生而平等的幻想吧),所有人对于秩序的渴望非常强烈,所以革命者需要拥有强大得多的实力才能挑战统治者,所以千万不要再指责群众漠不关心,麻木不仁了,因为他们是在按照自己的利益行事。

在朝代更迭的时期,所有人都非常不安,直到耶罗恩承认鲁伊特的领袖地位以后的一个仪式之后(就是你在教父当中看到的亲吻boss的手了),整个猿群陷入了极度的狂欢当中,所有人都长时间的欢呼,翻跟头,庆祝。也就是所有人都希望稳定,早点结束吧,混乱。

而尼基取代鲁伊特的过程,则更是有意思的过程,尼基和鲁伊特在体力上差不多,查也差不了多少,但是它和耶罗恩形成了坚定的联盟,虽然鲁伊特极力反对,但是在这里1+1是大于1的,两个人联手之后,迅速改朝换代了。不过在此之后,尼基对于鲁伊特和耶罗恩的单独呆在一起也相当警惕,不过耶罗恩实际上就是装装样子,只是时刻敲打尼基这个领袖,没有他的支持,尼基的位子根本就做不稳当。所以鲁伊特一开始很积极,一旦他开始行动之后,耶罗恩马上就会重新和尼基联盟,鲁伊特后来知道是耶罗恩的诡计之后,也就不了了之了。所以书中才会把尼基和耶罗恩的联盟称之为长久的联盟。为什么会这样呢?书中的解释相当有趣,鲁伊特是一个相当强势的领导者,而且他的领导者角色也扮演的相当好,对于鲁伊特来说,至多只需要耶罗恩保持中立就OK了。不过对于尼基来说,他显然更需要耶罗恩的支持,因为他不但实力不是最强,而且他年轻,还不太能处理群众关系,耶罗恩显然能从支持相对弱的一方获得更大的利益。所以德瓦尔说这里实际上是强者实弱,弱者实强,所以强者千万不要以为自己天下无敌,可以倒行逆施,弱者也千万不要以为自己只是一介草民,联合的力量是巨大的。

说到领袖的角色,实际上还有一个比较有意思的现象,在耶罗恩和鲁伊特时期,对于猿群中的冲突,他们总是支持实力相对软小的一方,而不是按照关系的亲密或者个人的好恶。而在尼基统治的初期,尼基表现的实际上不够好,甚至达不到50%,这个仲裁者的形象实际上是由耶罗恩扮演的,所以从这个意义上,耶罗恩和尼基是联合统治者。当然这样做的结果也是显而易见的,耶罗恩的得到了更多的群众的自发问候和相应的性特权,所以统治者,一定要公正。

说到这个,还有一个bagua不能不提,在三头成年雄性加入猿群之前,社群实际上大妈妈领导的,不过就像前面提到过的,雄性在冲突之后很快寻求和解,而且表现的也更克制,而雌性却相当按照个人的关系来处理问题,而且受伤的猿的个数也要更多。不幸的是,相应的趋势我在人类社会当中也相当明显,女性领袖通常也会按照自己的想象行事,更难做到公正公平,我不是说反对女性担当领袖,相反的,就像我宣称的,我是一个女权主义的,至少可以说,一个同情者,我只是想说,作为女性领袖,应该更多的关注公正问题,尽量不要按照自己的想象行事,多考虑考虑实际情况。

不过,你是不是有点觉得这根本就不是猿类社会,分明是人类社会吗。好吧,我们再来一次冲击,在书中的后记当中提到,在1980年(作者的观察期是从1975~1979),发生了一起根本,一点都不和谐,非常血腥暴力的一幕,起因是尼基自我膨胀,他觉得自己不需要耶罗恩的帮助了,甚至因此阻止了耶罗恩的性权利,于是一夜之间,鲁伊特扬眉吐气,重新成为了领袖者,尼基不得不跟在鲁伊特后面俯首称臣,这是如此,他才意识到自己比以前任何时候都需要耶罗恩的支持,两个星期夫人密谋之后,一个风雨交加的夜晚,尼基和耶罗恩联合起来重创了鲁伊特,他们不仅咬掉了鲁伊特的脚趾和手指,还摘除了鲁伊特的睾丸。而行凶者一方,只有尼基有一些无关痛痒的伤痕,耶罗恩几乎毫发无损。实际上,这本书里只是轻描淡写提了一句“摘除了睾丸”,在《人类的猿性》当中,我看到是创口要小于睾丸的尺寸,这意味着,实际上它们是被挤出来的。最终的结果是当第二天工作人员发现了鲁伊特之后,他由于失血过多而死在了手术台上。

黑猩猩们无疑是非常高等的智慧生物,他们有着很多动物没有的移情能力,这意味着它们能意识到其他人的心理,能够感同身受,但是就像我上次说的,在《人类的猿性》中,德瓦尔说仁慈和残忍实际上是一枚硬币的正反面,对于人类所能表现出来的仁慈你有多想象不到,对于人类的黑暗邪恶也就有多出乎你的意料。所以我们每个人都应该时刻提醒自己,黑暗邪恶,一定要远离。我承认,在阅读了那段鲁伊特被杀死的那个早上,我的情感遭受了巨大的冲击。

好了,在这样一个结束之后,我是不能再说什么了。最好的方法的是找来书自己看吧(我有实体书),因为,书中的内容要精彩得多。

BTW:

最后 ,还有一段视频,是BBC制作的生命系列,其中第十集关于灵长类,最后部分是黑猩猩,花絮也是黑猩猩。

网盘链接:http://movie.douban.com/subject/discussion/21187505/

不过这里关注的是黑猩猩使用工具的方式,当然我还是从中看到了书中提到过的 雄黑猩猩和未成年人的嬉戏,黑猩猩的武力炫耀,虽然很多我想看到的这里没有,但是不管怎样,还是算有个直观认识。黑猩猩的个头远比我想象的要小,估计直立起来也不到1米,我曾经以为他们大约有1米6、7的样子,因为书中一再提到,熊黑猩猩非常强壮,力量大的令人难以置信,任何强壮的成年人都不是黑猩猩的对手。

星期日, 八月 15, 2010

[OnlyFor]Once for all

Graham在Great Hackers一文当中提到过hacker在碰到boring的问题的时候,会重新定义问题,把它变成一个有挑战,有野心同时也更有趣的问题。尹宣在《联邦论》的序言当中也说要“重构汉语译名(概念)体系”。

当然还有上一次提到的Knuth先生,说为了解Art这个词,他在图书馆泡上几天,这种行为被称为顶尖的geek范儿。

所谓见贤思齐,我也许不能做到一样好,但是至少想要做的一样好。上一篇blog其实早应该完成的,虽然说最后写的结果自己也不是很满意,但是是时候Once for all的给一个阶段性的交代了。我查了一下邮件,上半部分完成于5月24号,其实在写上半部分的时候就拖了一段时间了,实在是不像话,自我检讨一下。

今年到现在已经过了一半,虽然说是“如人饮水,冷暖自知”,但是我还是很感激诸位给我的关心。不过自己的问题要自己解决,从这样一个契机(虽然我很不愿意有这样的契机),就写了123。很欣慰的从再发现的过程当中,我了解到了我原来的行为还是基本上符合道的(也就是进化过程的那个道了)。

---------------------------------------------------------------------

曾经很多人问过我ex-gf分手的原因,我当时回答是说:

如果我说1+1=2,那就是说1+1=2。但如果要问我为什么broken up,我可以说出来你想要的任何一个答案。

不过现在我愿意稍微正面一点,来回答这个问题了,也许最大的分歧在于她认为生存的压力很大,“压力日趋沉重”,所以要竞争的,否则你就只能成为始终被动的哪一方。至于我呢,一向自由散漫,当我不开心的时候,只要一个人到夜市上看看那些勤劳的摊主和饮食男女,我就觉得活着真好。所以在我看来,还是合作更为重要,我一向不认为这是个你死我活的世界。

就像我上一次说的,虽然说两性间的竞争激烈非常,但是要知道为什么会有性别的产生,所以两者存在着一个最大共同利益,同时也是最大的个人利益的基础上的,所以我们更加彼此依赖,彼此需要。竞争只是在一个框架之内内部竞争,适可而止,如果一方完全压倒另一方,那么自己本人的存在也就是个大问题了。

----------------------------------------------------------------------------

再来看看人这个物种,就像Matt Ridley说的,没有那个物种像我们人类一样彼此依赖,需要时时刻刻和其他人聊天,嬉戏,信息共享对我们而言是如此之重要。很显然,我们人类正是由于相互合作才取得了作为一个物种极大地成功。最近再看《脑的进化》这本书,作者就提到了类似的观点,说到“利他主义”在现在人类社会无处不在,但动物界中似乎只有黑猩猩例外,但是就是黑猩猩,生物学家古尔多观察到一只在双腿瘫痪之后,被群体遗弃,最终在离原来同伴很远的地方孤独的死去。

当然这种类似的观点很多人都曾经表达过,比如Matt Ridley还写过一本《美德的起源》,所以说这里还真的有点像囚徒的困境,要想获得个体利益的最大化,我们就要保证群体利益的最大化,但是两者肯定是有冲突的,所以需要冷静的计算才能达到一个纳什均衡,所以我们往往要选择牺牲一点个人利益才能得到更多,因为群体的成功会带来更大的蛋糕。

-----------------------------------------------------------------------

最近发现了一个歌手James Blunt,听得很多。Blunt号称诗人,他的歌虽然基本上都是情歌,不过词曲俱佳,很是喜欢。Blunt歌词里出现的最多的就是love,不过不像那些苦情歌,比如撕夜什么的,我从中听到了更多的热爱和眷念和不舍,我想“哀而不怨”大约就是这样的吧。所以还请诸位放心,虽说是有压力,未解决,但我能够做到self-control,(除了有时候身体稍微有点失控之外)。

星期六, 八月 14, 2010

[Geekland]X|Y && X&Y && WHY

Knuth, the GOD,在他的Turning Award lecture Computer Programming as an Art里面这样写道:

While preparing this talk, I went to the library to find out what people have written about the word "art" through the years; and after spending several fascinating days in the stacks, I came to the conclusion that "art" must be one of the most interesting words in the English language.

如何开始呢?上一次讲了男性和女性在共同的利益下竞争合作的关系,这一次当然要更劲暴一点,否则不是没有看头了吗?不过,别急,还是慢慢来吧。

-----------come on some sciences && you finger-------------------------

西方有句流行语叫做“男人来自金星,女人来自火星”,(不过好像天朝也很流行了)这原本是一本通俗心理学的书名,大概是说(via douban)男人女人除了生理不同,心理也不同。不过今天我在这里还要加一句“除了心理不同,生理的确不同”。从男人女人的角度来说,有两种理解世界的模型,或者说心智能力,“系统化的”的技能和移情的技能。系统化意味着理解原因结果,而移情的能力则意味着合作,能够理解别人的意图。(有个很好玩的bagua,是关于镜像神经元的,可惜今天这里不是主体,下次有机会吧:)。虽然总的来说,男人要更擅长于系统化的思维,女人则在温柔体贴方面拥有不错的名声。但是对大多数人而言,这两种能力都是具备的(我怎么想到了文质彬彬),不过有些人极端善于,比如系统化的思维,并且缺少,不善于另一种方式,那么他就有点麻烦了,因为他不得不用用的顺手的那把锤子去解决自己的问题,也就是说,大脑功能的相互补偿(注:这种机制在大脑当中其实非常普遍,比如某些中风的病人,在经历初期的言语含糊之外,慢慢的恢复了一些,原因就在于死亡脑细胞的部分功能被其他的脑细胞取代了,虽然不一定有原来的好,但是总好过没有),这种猜想也许没有事实基础,但是不管怎样,那些试图用逻辑来解决社交问题的时候,应该会没有意外地可耻的失败了。OK,你想到了什么?雨人,是的,程度比较轻的就是俗称雨人的阿斯伯格症患者,程度比较重。的就是自闭症了。(说起来,我妹妹的一个好朋友的孩子就是阿斯伯格,这也是我个人开始从生理上关注的起点,mark)

在怀孕期间,母亲羊水中的睾酮激素的浓度一般来说是男孩高于女孩的,而出生以后呢,女孩更倾向于看人的面孔,而男孩呢,睾酮激素越高,在1岁左右也就越不愿意和母亲做眼神的交流。注意哦,对面孔的倾向,对人脸的识别是一个AI老难题和标杆,而对人脸的识别在大脑当中一个独立的模块,如果我记得不错的话,在找寻失去的自我这本书中,介绍一个大脑受损病人XYZ(心理学里案例的名字通常都是赫赫有名的,失敬则个)在记忆的任何方面都没有问题,唯独不能辨认人的面孔。(Alas,在医学,当然还有大脑结构中,每一个合适的案例都如此重要)。

比起这样一个只有在严格受控条件下有心人才能观察到的实验来说,还有一个更直观的生理特征也能看出在子宫中接触睾酮激素的水平,那就是你的无名指的长度。也许你早已经注意到,女孩子的食指和无名指的长度是差不多相等的,而对男孩子来说,如果你的无名指异乎寻常的长,那么你就是系统化的思维很强,很可能肌肉发达,但是也很可能患上孤独症,免疫机能障碍等等。而对那些无名指异乎寻常的短得那些男性来说,罹患心脏系统的危险要更大。(是的,在我上一篇的post当中介绍的chemistry.com中需要作一些测试题,我记得第一道就是几张图片,要你选择你的食指和无名指的长度)

我敢打赌,你肯定早已经在比较你自己的手指长度,不过也请不要过于在意,虽然在亚马逊河流域的某些部落中成年男子的非正常死亡率高达50%以上,不过上天保佑,我们是在一个文明社会中。

-----------Laday Gaga和李宇春-------------------------------

还是bugua点吧,话说有一天我很郁闷,Lady Gaga突然和李宇春以及刘著相提并论了,要知道,Lady Gaga以其狂野的造型,沙哑的嗓音不仅征服了我,还征服了…Cartman(毫无疑问,Cartman是个不折不扣的坏小子,但是要说Cartman对男女之事很有兴趣,我是怎么也不会相信的,印象中有一集Cartman是有个gf,但那也只是配合他小阿飞的形象,没有个把太妹怎么能说是阿飞呢?),什么?你也不相信,不如去youtube上的Lady Gaga的官方页面看看这段视频把,注意看1:10的片段,其实是注意听了。什么?没有听清,那么请到本文的最后寻找答案吧。

性别的决定我们知道是由XY染色体决定的,具体来说,男性是XY,而女性是XX。不过我们要知道X染色体是第八大的染色体,而Y是最小的一条,为什么要指出这一点呢?那是因为除了XY染色体外,其他22条染色体是按照大小来排序的。Y染色体不仅是最小的,而且异乎寻常的小,而且Y上大多数DNA是没有编码功能的。为什么呢?

在胚胎的早期,实际上都是雌性的,大约在受孕后的第11天,在Y染色体上有一个被称为SRY的Gene,非常小的Gene,只有612个字母,会在胚胎发育期的大脑中和一个组织中打开,也许你已经猜到了,是的,睾丸。这个SRY的功能就是让你的身体男性化,SRY相当于一个启动因子,会打开一个名为SOX9的Gene,然后SOX9会打开和关闭一系列的Gene,做掉所有的工作,让你的身体和头脑变成男人(是不是有点象init0和init1进程的关系)如果不幸SRY没有打开,那么很显然,这个老兄很有正常的女性身体,却同时拥有Y染色体。当然也有些老兄也很不幸,虽然有睾丸,但是由于后续的序列的其他部分出现问题,结果导致看起来有女性的身体,实际上却没有卵巢(and more:wikipedia).

好了,了解了SRY基因,我们再来看看为什么Y如此之短,如此之不活跃。道金斯有个很有名的观点是自私的基因,大意是说人体,或者说任何生物体都是DNA的载体,只是按照Gene意志运行着的被动体,所有一切都是以Gene意志,Gene利益为前提的。这虽然说不能确切地被证明,而且颇具争议,但是却是一种相当吸引人的信念。

从这种说法出发,我们来看看XY上包含着的众多的Gene,X和Y上Gene团各自有各自的利益。X和Y存在着竞争的关系,X上积累了对雌性有有好处而对雄性没有好处的Gene,而Y上积累了对雄性有好处而对雌性没有好处的Gene。我们来看看这样一个小小有趣的事实,在X染色体上有一个名为DAX1的Gene,通常情况下,这个Gene只有1个,而这样的XY组合会正常的发育成为男性,不过如何DAX1出现异常,如果X上拥有两个DAX1拷贝,那么这个人还是会发育成正常的女性。也就是说SRY和DAX1是对抗的,一份SRY会击败一份DAX1,而两份DAX1会击败一份SRY。好了问题来了,为什么X上的DAX1没有进化成double的形式?为什么这么问,还是回到男人女人得问题,男性是XY,女性是XX,男女比例大约相仿,在所有的性染色体中,X站到了3/4,而Y只有1/4,那么就是说X有三倍的概率进化出攻击Y的手段方法,这种性别间的对抗不断升级,不断激化是非常麻烦,非常要命的事情。毫无疑问,Y染色体这一次在Gene间的军备竞赛当中又是弱势群体。

这就是为什么Y染色体如此之短,如此之不活跃的原因,尽量摒除不必要的基因,以防止X染色体的攻击,这样X攻击的目标就很有限了,而且在所有人类的Gene,SRY异乎寻常的一致,几乎没有点突变(一个字母的差别),也就是SRY几乎是一个没有变化的Gene,但是我们SRY和黑猩猩大猩猩很不相同,也就是说SRY是进化地最快的Gene。这是什么意思呢?举个例子,如果说DAX1进化成double的形式,那么可能有一个SRY Gene的个体通过变异(进化)战胜了DAX1的double形式,那么这个SRY会毫无疑问在种群中快速流行开来,最后会占领整个族群。

如果你上面的这些说法太过天方夜谭,那么还是来告诉你一些让你shocking的bagua,在自然界有一种蝴蝶,雌性的比例高达97%,原因就在于这种蝴蝶的X具有把Y干掉的能力。这就是性别冲突中的一例,被称为“性染色体的推动力”。好吧,也许你还会说这只是巧合,那么在《基因组》的第八章还提到了另一个非常让人信服的实验,有一个科学家赖斯(当然是疯狂的科学家了)提出了一个如下的实验:

他让29代之后的公蝇和初代母蝇交配,结果是公蝇的精液对母蝇已经变成有毒的了,它可以把母蝇杀死。原因就在于公蝇的精液的作用在于控制母蝇的行为,让它提高排卵率,并减少对于其他公蝇的兴趣。但是在自然选择的作用之下,正常情况下的母蝇(29代vs 29代,至少也是28代,27代)是能够和公蝇一起进化,所谓“魔高一尺,道高一丈”。不过29代之后的公蝇相对于最开始的母蝇,那就好比是原子弹对刀耕火种,毫无一点胜算了。

怎么样,这个实验,人为受控条件下的实验,是不是具有非常强的说服力呢?如果其他说法不能拿出更有力的证据来,我想我是不会改变我的想法了。

----------------------多莉 &子宫&胎盘----------------------------------

(本节内容来自于人种自传这本书的第十六章,真是恨不得把整章都摘抄在这里,这本书是名副其实的bagua之书,到处都是bagua,而且ba的极有水平,极有深度,太赞了)

事情是不是开始有点诡异?那么好了,其实还有更多,更多的科学事实。首先来看看什么叫哺乳动物吧,这里是wikipediabaidu百科,可以看得出来,哺乳动物普遍认为最重要的两个特征分别是哺乳和胎生,然而正是这个胎盘(12)有着不同寻常之处。因为胎儿的DNA有一半是来自父亲一方的,对于母体来说,这是外来物种,而人体自身的免疫系统按道理应该会对这种入侵者发起攻击了(也就是淋巴细胞了??),之所以没有发生排异反应,是因为胎盘实际上由两个部分构成,其中一部分由母体产生,实际上是母体的一部分。而胎儿的那部分胎盘就跟奇特了,它几乎是由来自父亲的基因制造的。疯狂的科学家这次试图造出有两个父亲或者有两个母亲的染色体,换句话说,也就是23条染色体全部来自于男性,或者女性。但是,结果却让人大吃一惊,只有母亲胚胎本身有正常的结构,但它却无法制造一个胎盘来给自己获取营养。而只有父亲的胚胎制造出了一个又大又正常的胎盘,也基本上有围绕着胎儿的膜。但是,在膜里面胚胎应该在的位置上,只有一小团没有结构的细胞,看不出头在哪里。这些实验结果引向了一个不寻常的结论。遗传自父方的基因负责制造胎盘;遗传自母方的基因负责胚胎大部分的发育,特别是头部和大脑。(想起来有人劝告女孩找男朋友的时候,如果男孩比较聪明,那就得小心了,因为那意味着你未来的婆婆也很聪明,好像是说因为智力其实是遗传自母亲的,不知道这个结论是不是就是来自这里,或者说跟这个结论密切相关呢?)

但是为什么呢?终于说到了这一节的主题了,基因印迹,或者说gene imprinting(在书中称为基因标记,好像与中文术语不太符合)。什么意思呢?说的是有些gene在表达的时候(?)是要区分自己是来自于父亲一方,还是母亲一方。两个一样的基因的居然会区分自己是从哪里来的,omygod这真是(按照书上的说法)对我们来自孟德尔老先生的遗传学规律的迎头一击。搞什么飞机,这不都乱套了吗,原来我们只是说减数分裂由两个亲代,是1+1备份。(还记得癌症的原因么?)

从这个意义上来说,在多莉羊诞生之前,大家普遍认为从体细胞克隆是不太可能的,因为没有方法避开这种基因印迹,但是多莉羊居然成功了,这对多莉羊的制造者本人都是一个还没有搞清楚的难题。因为每个人在继承了来自父母的印迹之后,在体内都会有一个甲基化的过程,从而给基因打上自己的印迹。

当然这一章的bagua很多(其实每一章都很多),比如两种由于基因缺陷引起的遗传病,安吉尔曼综合症和普拉德·威利综合症就是由于同一个基因缺陷引起的,虽然变现很不一样,但是分别是由于来自母亲和父亲一方的基因缺陷,变成了两种变现非常不一样的病症。还有我们所谓带着母亲的思想和父亲的感情在这个世界上生活。还有诸如女性特有的行为就应该只从来自父方的X染色体上表达,还有诸如唐氏综合症等等。

Alas,为什么会这么奇怪,有关性别的一切东西。为什么有这么复杂的机制呢?真是太有意思了,看那些科学家的努力和创举,真是丝毫不亚于福尔摩斯的侦探故事,甚至还要好得多。因为在这里,有时候甚至没有案情,你要自己发现案情,在解决它。

-----------------------why sex || why gender---------------------------------

不错,我自己承认上一节的内容很混乱,我到底想要说什么呢?其实我想要说明既然gene都是自私的,为什么基因把程序设计的这么复杂?简单点说,既然gene的冲突那么严重,为什么生物会进化到性别,通过有性繁殖,减数分裂来获得自身的利益最大化呢?

幸亏我也买了同一系列盗火者译从的另外一本,孟德尔妖,作者是马克·里德利(Mark Ridley),而先天后天和人种自传的作者是马特·里德利(Matt Ridley),两者其实没有任何亲戚关系,一个是科普作家(Matt),写的文采斐然,非常引人入胜。另一个(Mark)则是“当今杰出的进化学家之一”“牛津最深邃的思想家之一”,所以内容就不是那么轻松了。(瞧这名字,多有文化,多有哲学底蕴,至少我就知道还有笛卡尔妖,拉普拉斯妖,都是极有名,极有影响的命题,有机会在再ba,另外书中的前言还提到了麦克斯韦妖)

好吧,回到主题,这本孟德尔妖就是试图解释为什么生命会如此复杂的原因,我尝试简单的介绍一下(BTW:说实话,这本书太过复杂和略显晦涩,我到现在也没有完成的读过一遍,sign~~~),我们知道我们人体就是一台蛋白质制造机,大部分Gene的作用也是用于编码蛋白质的。

不过蛋白质合成是以氨基酸为原料,而氨基酸的制造密码就是DNA上的三联子,然后通过转录RNA(mRNA)的在核糖体中来合成,就好像一种分子锁(科学松鼠会上有一篇极好的文章描述了这一过程,当然youtube上面有更多更直观的动画过程,比如这个),不过这种分子锁其实精度不是很高,大约只在1:5左右,不过这个时候合成酶出场了,合成酶在蛋白质合成的过程中消耗能量,根据热力学第二定律,这种过程是不可逆的,从而将精度提高了大约1:50000左右,不过这还远远不够(比如人体总细胞数大约是500~600兆),在合成完了蛋白质之后,还有一种修复酶有出场了,也就是复查结果,可以将精度提到到大约10亿的数量级(OMG,这简直就是就是…宏伟的软件工程实施法啊)。

好了,有了上面这个大概的概念之后,我们来看看书中提到的突变熔毁吧,比如我们知道再怎么精确的程序照样会引入错误,不仅在于程序本身,甚至还有执行程序的人,所以生物学上遗传和变异才会并称,不过当然是遗传为主,变异为次要的,但是问题在于什么样才是一个均衡的状态,按照书中的分析,只要每一个子代平均有一个错误,那么这个物种就不能保证物种的持续发展(恩,使得,这不是很直观,需要点统计学知识,不过想不清楚也没有关系,只需要知道这个结论就好了)我们回过头再来看看上面那一段的错误率就有意义了,个位数的错误率显然不能造就任何生命体,这个时候还应该是一锅原始汤的时候,而万分之一对应这是RNA病毒,大约几万个蛋白质组成,而10亿数量级对应的就是简单生命体,比如细菌。

但是,对于复杂生命体来说,他们其实依赖的蛋白质合成技术并没有进一步改进,所以从这个意义上讲,复杂生命的确是个不解之谜,悖论,它居然没有发生突变熔毁。比如说人,Mark推测错误值应该在200左右,很显然,人类几乎不可能拥有200个孩子(除了那些荒淫无度的阿拉伯酋长们:),但是人类这个物种却保持了很好的物种稳定性(不光人类),这是为什么呢?

说到这里,我们这一节的主角终于出场了,sex,sex的存在也许是现在生物学当中最大的一个难题。不过Mark介绍了俄裔生物学家Alexy Kondrashov的一个理论,性(sex)有助于消除不好的基因。还提到了一个绝妙的譬如:两台汽车,一个发动机坏了,一个刹车坏了,你能怎么办?当然是把两台汽车能用的部件组合到一起,这样你就又能开车了。所以我们的DNA才是双倍体,一半来自母亲,一半来自父亲。按照组合的原则,随意分配,当然有可能碰巧两个都坏了的Gene传给了一个人,这样的人只好面临着自然选择的残酷事实,事实上,母体有着不同寻常的检测次品的能力。

这就有点好像生命的起源,比如人类的DNA有大约30亿个字母(ATGC),如果说一个一个字母这样不断派出来的,虽然有生命的迹象大约是35亿年,但是这样还是远远不够用的,可能情形是有了好多事情已经连接起来的比如ATTTAACC,GTACCC,等等,有些就连接起来,有些就被自然选择淘汰了(当然,学计算机的可能有个更直观的理解,二叉树排序)。在有性繁殖当中,情况也应该类似。

-----------------------------Conclusion--------------------------------

好了,说了这么乱七八糟的之后,终于快结束了。是应该给点结论的时候了,不错,Gene是自私的,X和Y都有不同的利益诉求,但是X和Y是从哪里来的呢?原来其实是没有XY的,只是由于一个共同的利益诉求,才产生了XY,所以 XY之间的矛盾应该是在共同利益之下的内部矛盾。

男人来自火星,女人来自金星,男人和女人似乎有着永远的争吵,但是,更重要的是我们相互依赖,我们先有共存,才有相互竞争。也许这种竞争比你想象的要更加激烈,更加不可思议,更加意想不到,但是,你应该庆幸有这种竞争,因为这就是生命的常态,要学着去适应它,从自己最大利益的基础出发,毕竟共同发展才是符合我们的最大利益。

按:

1.首先附送两个有关于Matrix的bagua,在《先天后天》当中提到了子宫其实是人类最重要的后天环境影响因素之一。

2.在《脑的进化》当中提到了这样一个有趣的事实,所有人猿进化过程中,婴儿出生的大脑容积差不多,大约300cc,不同时成年后差别较大,人类有大约有1400cc,而猩猩只有大约500cc,但是头颅不可能发育的太大,否则产道不可能容纳,所以人类的大脑在出生以后还有显著的发育,于是人类的童年期相对来说比较漫长。这也间接例证我上次说的幼齿拖累了男性:) wakaka

3. 好了,那段youtube的视频没有听清楚“I told you, she didn’t have a ****”

星期一, 七月 05, 2010

[Geekland]癌细胞,癌基因,抑癌基因

这是一篇旧文,我是想说知道了癌症是这么一回事之后,你还恐惧吗?人或有一死,不过是自私的DNA使然。

--------------------------------------------------------------

隆重的向大家推荐一本书
《人之书》
http://www.douban.com/subject/1309231/
douban上也没什么人读过,年代也有点久远,不过这本书的内容用英文说是facinating,中文说就是心旷神怡。应该是我看过的写的非常好的科普著作:

先来讲其中的一章:
关于癌症的,就当自己温习了:
癌症的本质是细胞的无限繁殖。但是细胞为什么会疯狂的生长呢?也就是癌症的起因是什么呢?
概括来讲,有两种,外因性的内因性的
第一种是外因性的,也就是病毒引起的。染色体上的某些基因在书中被称为癌基因,看起来有点混淆,实际上的意思是这些基因就是容易被病毒攻击的DNA片段。病毒本身的DNA和这段Gene非常类似,细胞受到病毒攻击以后,病毒就会替换这些癌基因。但是为什么这种变化最终会导致细胞无限增长呢?
答案就在癌基因上,这些基因本来的作用就是细胞生长因子受体,如果还记得我以前说过的细胞自动机的话,那么是否还记得细胞的DNA在起作用的时候是有时序的。这些生长因子受体基因就是接受化学信使,生长因子的,一旦接受到这种生长指令以后,相信的细胞就,比如上表皮细胞就开始生长。最简单的例子,在你看到小猫小狗受伤以后舔伤口,唾沫里就含有一种生长因子,可以促进伤口的愈合。
不幸的是病毒把染色体上癌基因替换掉以后,或者说生长因子受体的DNA片段替换掉以后,这些细胞失控了,他不再需要外来的指令,或者说化学信使,自己就可以发动,于是乎,这种细胞就开始不断的分裂,变成了不死的细胞。

多么精彩的攻击技术啊,这些病毒为什么就恰恰和这些生长因子受体很相像呢?这需要经过多少年的共生演化,才能找到合适的攻击点啊。还是再推荐一下以前推荐过得菌城旧事吧

http://songshuhui.net/archives/15277.html

说完了外因性的癌症,也就是病毒形的,虽然可怕,毕竟是外来客,不过几乎也是防不胜防,很多职业病在这里有很合理的解释。不过还有内因性的癌症起因,这个在我看来是更加要命的。

在开始之前,不知道多少人还记得孟德尔的遗传定律。好,测试开始
条件:大家知道,人有四种主要的血型,O A B AB
问题:父母一个是A, 一个是B, 那么孩子的血型可能?

答案:可能是O A B AB
为什么?因为O是隐形性状,A,B则是显性性状,也就是说A,既可以是AA,也可以是AO
B则是BB和BO,孩子从父母那里各获取一个。

复习了一点遗传知识以后,再来看内因性的癌症起因。前面说了癌基因被替换,也就是说缺失,从而导致了病毒入侵,导致癌症。在内因性的也有相似的基因,书中称作抑癌基因,不过这种基因的作用控制细胞生长的基因/DNA片段。不过这种基因如同血型一样,是成对的,从父母那里各继承一个。而且可以看作是显性的性状,只要有一个起作用就会不让细胞生长。不幸的是,啊哈,不幸又来了。很多人从最开始的时候,也就是精子和卵子结合的时候,就只有一对抑癌基因的一个。

细胞是需要不断分裂的,而遗传通常会以 遗传变异合称的,也就是在分裂的过程中不仅有遗传也有变异,一旦另一个抑癌基因在变异过程中消失了,那么这个细胞就变成了什么?是的,不死细胞,癌细胞。然后,比如这个这个细胞是属于眼球细胞的一个部分,那么他就迅速的开始生长,把其他的细胞替代掉。最终变成了癌症。

这也就是为什么我们要特别注意息肉的原因。也许他就是这种过程的开始阶段。不过,通过外科手术,基本上会消除隐患。
另一点要注意的是我们应该清楚自己的易感性,每一个人都应该从家族病史中了解自己应该注意的方面,因为从一开始,在遗传的积累赌注上,你就已经下了一些筹码的。其实,在我个人,所有重要的内脏器官癌症应该都有这种遗传倾向,除了你工作在比较特殊的环境下。
长期压力过大,或者常期失眠,营养不良等等也是要注意的,一句话,不要为细胞的变异创造亮好的条件。(蛋白质合成的时候,会根据条件,出场的次品率是不同的,有的时候,营养不够也不要紧)

好了,两种内因性和外因性的说完了,稍微看看区别,一个主明显的区别是内因性的癌症可能是因为缺少抑癌基因造成,而外因性的则是因为癌基因被替换了,而不是缺少。
而且这两种方式通常是联合起来起作用,首先,病毒入侵,细胞变异,然后周围细胞生存环境恶劣,自身变异,导致抑爱基因丧失,内因也开始起作多了。这也解释了,癌症通常是一个老年病,积累的赌注累计后,终于输掉了整个比赛。所以,年轻的时候欠的债也是要还的。

科学通常是90%的事实加上10%的精妙推断。不过也有人说说谎话的最高境界是10句话里9句真话1句假话。所以科学和big忽悠看起来颇为类似。我写这篇文章的目的是希望大家关注那90%的事实,(好吧,也许是50%),哪怕是引起你的一点点好奇心。好了,胡言乱语了这么多,最妙莫过于自己捡起书来看看了。

星期四, 七月 01, 2010

[读书]死于七月四日

导演奥利弗 斯通(one of my best favor director)有一部很有名的片子叫《生逢七月四日》,其实是一部好莱坞式的主旋律片,大约讲的是一名生于7.4的一名男孩子郎尼,从小便是一副社会精英的模样,长大后便参军报国,参加了越战,不想不幸负伤,成为一名半身不遂的军人。在经历了一番炼狱般的折磨洗礼之后,终于意识到了政客和国家概念的欺骗性,变成了一名坚定的反战人士,以自己的亲身经历控诉战争的残酷。

不过这些都是艺术的虚构,历史上有两个非常有名的大人物,虽然不是生于七月四日,但刚好是死于七月四日。不过这两个人刚好和郎尼相反,一生为国家(美利坚)的独立竭精殚虑。这两个人就是美利坚的开国之父们中的两人,杰弗逊和亚当斯。杰弗逊是独立宣言的起草人,亚当斯和富兰克林是审阅人(虽然据说两人只做了极少的润色和调整)杰弗逊是第一任国务卿,亚当斯是第一任副总统。杰弗逊是第二任副总统,亚当斯则是第二任总统。杰弗逊更是第三任总统。但是两人却是终生的朋友和对手。而两者之间的情谊和敌对更是只能用跌宕起伏的传奇来形容了。这里我只能推荐林达二位先生的雄文上帝安排的通信(请一定要读)。

我是怎么知道这一切的,我以前的确知道亚当斯和杰弗逊个人都按照自己的政治理念组织了两个政党,而华盛顿总统对两人的政党行径深恶痛绝。也知道杰弗逊和财长汉密尔顿之间的独立。但是对亚当斯我的确知道不多。而在我少不经事的时候,杰弗逊几乎是我心目中的偶像。但是,要多亏老田推荐的这部HBO出品迷你剧《约翰亚当斯》(感谢HBO),这部精彩的历史剧选取了亚当斯这样一个特别的视角切入美国独立这样一个人类历史上重要历史时段,我才虽然刚刚看了三集,不过再看第一集的时候我就知道,这绝对是一部非常精彩的剧集,在这里强烈推荐一下。因为这里不光有精彩的历史事实,更有活生生的细节,比如华盛顿的高大和谦逊,我们就可以从摩斯精彩的表演当中看到是怎么一回事。再比如富兰克林的老于世故和精于手腕,我们更是可以领略一二。虽然我以前也知道在制宪会议(后面还会再提到)的时候,一到谈不下去的时候,富兰克林就会号召所有人一起做祈祷,就好像有人点评西游记(金老先生)的那样,一到剧情无法推进的时候,就是南无观世音菩萨了。然尔我却不知道杰弗逊先生原来是那么沉默寡言的一个人,我还以为想他那么有文采而又思想激进的一个人,自然应该是慷慨激昂,口若悬河的一个人呢。(唉,我早该想到)

不过在看这部片子的同时,我还是愿意做些善意的提醒,现有大纲概,后才有细节传奇,这也是一位大姐(姑妄言之)教导我的,要观念正确,才可以bagua bagua。

(原文如此:

先看正史,再看野史,有个比照才不至于偏差太远。

)

我自己的观念是来自于这样的一本书,辩论-美国制宪会议实录,实际上是另一位美国之父麦迪逊的在制宪会议期间的个人日记。当然还有另一本麦迪逊和汉密尔顿以及杰弗逊合写的一本极有名的联邦党人文集,还有托克维尔的惶惶巨著《论美国的民主》,后两本我自己还没有研读过,不过至少大方向不会错。

辩论这本书还是极有些特点的,首先它是第一手资料,不像联邦党人文集是为了宣传,自然有些观念现行,可以说是浪漫理想主义更多一点吧,辩论这本书呢则是谈话体,而且各州代表都有利益诉求,自然要更真实一点。而托克维尔的那本则是学者的研究文本,虽然也是能道人之所为道,发人之所为发,但是毕竟是一家之言,难免有倾向性。不过最好还是都读一下吧。

最后,这部HBO的片子片头曲还是很震撼的,这里也推荐一下。当然还可以看到很多细节,比如片头当中那幅有十三段蛇构成的旗帜,号称是富兰克林手绘的,还有那个口号“Join or Die”都颇有令人回味的地方。电视当中的荷兰Vs斯洛伐克也马上九十分钟,有些东西还是留待以后和大家分享吧。

update:

http://blog.sina.com.cn/s/blog_65c68c850100iwza.html
这个blog不错,比如原片里面一再出现亚当斯的表兄,非常激动的一个人,原来是这个人:
美国独立革命之父:塞缪尔·亚当斯
http://www.chinaelections.org/newsinfo.asp?newsid=146889

这里还有第一集的背景
http://blog.sina.com.cn/s/blog_43ba0db0010006fu.html

update2:

辩论这本书的翻译者 尹宣先生 在此书之前似乎不大为人所知

但是翻译工作做得相当细致出色。

除此之外,尹宣还特地加了很多脚注,为每一位参见制宪会议的大陆代表写了一篇小传,颇为传神。可读性很强

可惜杰弗逊和亚当斯都没有,一个出使法国,一个在英国,所以并不能看到他们的发言。

update3:

今天下午via twitter,一叹一致敬

RT @tanboniu: 何帆 :译林出版社新近出版《联邦论:美国宪法述评》,即《联邦党人文集》,译者尹宣先生用两年时间重译这部经典巨著。与传统译本不同的是,尹用词考究,言语简洁,行文极富节奏感。译完,还未出版,尹先生即因心脏病突发辞世。

星期三, 四月 28, 2010

[Geekland]天生情人十六种 vs 化学物质

剩男剩女剩斗士,这年头真是一不小心就剩下了,不过这么有才情的女孩子都剩下了,在不禁感叹天公不作美的同时,不禁有些无奈罗,请看(via:twitter)

Fenng 在北京和几个老同学见面,大家聊起大学时的一句口头语 “找个自己的女朋友吧,光看别人的也不好意思...” 其实是来自胡吗个的专辑。这句话送给推友们
押沙龙share:“一个女人说:‘几年了,我家的马桶圈都从没掀起来过……’听着很伤感。”

 

当然更犀利,更恶毒,更下流的就更多了,我也就不好意思在这里转述了。

------------------来点科学吧-------------------------------------------

不过,love到底是什么,也许每个人都有自己的解释,这不,科学家也跑出来凑热闹了,在TEDChina上有这样一篇文章海伦·费舍尔: 大脑中的爱情,讲的就是love的生理基础,作为geek baguaer,当然要看要介绍了。

大脑中三个区域与爱情息息相关

  • 在大脑底部附近有一块活跃的微小的区域——腹侧背盖区,和大脑的奖励系统相关。它运作在潜意识中,也不受情绪控制。腹侧背盖区也是被我们称作爬虫类脑核的部分,它关系到欲求、动机、专注和渴望(也就是说love是多巴胺的作用,可卡因也是这样,wakaka)
  • 大脑中计算得失的区域也与爱情有关
  • 最后,我们还在一块区域中发现了与深度依恋有关的大脑活动

怎么样?是不是挺bagua的,love可以让你更有成就感,不过还有更bagua的内容呢?

多巴胺、血清素、雌激素和睾丸激素的性状。我相信这四种物质在大脑中的不同配比让人类演化出了四种非常普遍的人格类型。所以我在Mating.com上创建了一个子站:Chemistry.com。首先网站通过一组问题来确认上述四种物质在你的大脑中是如何显现性状的。最后网站记录下是谁选择了谁。

当然我就按图索骥,来到了Chemistry.com,看到了吧,名字就很蹊跷,化学.com,原来爱情是你的大脑中产生的化学物质决定的,这个就太扯了吧。
chemistry首页我发现不了什么,于是我就本着bagua的精神,不厌其烦的注册,不厌其烦做测试题,终于(哦也)到达了个人页面,可惜我没有发现clear url for my profile,只好拷贝一些出来了,如下

Your results based on Dr. Fisher's research

Huaiguay, your personality type is:Director / Explorer


                                            you primary type / you secondry type

 

下面这个是类型的解释
Personality Types Explained »
Explorers are spontaneous, creative and open-minded.
Directors are decisive, focused and independent.
Negotiators are imaginative, empathic and nurturing.
Builders are social, loyal and dependable.

 

不过我还是有点拎不清,幸好bagua人自有bagua的方法,从ted的那篇文章的最后,我又找到了这个

幸福课博客:“谈谈情,说说爱”系列帖子(1234

第四篇里有:

爱情人格
对于爱情的态度人与人之间并不是完全一致的,不同的人对爱情有着不同的理解。Fisher阿姨顺便提出了四种不同的爱情人格,认为每种人格都对应着身体内的一种化学物质。我觉得还蛮有道理的,顺便介绍一下。请对号入座。
探索者(艺术型)——多巴胺dopamine
协调者(直觉型)——雌激素estrogen
执行者(理智型)——雄性荷尔蒙testosterone
建设者(感性sensible)——复合胺serotonin。代表人物,俺。


好吧,那么我就是雄性荷尔蒙+多巴胺主导的类型人了,haha

 

还有个E文的解释,可惜术语太多,我也没有细看。

----------------------------------天生情人十六种-----------------------------------------

好吧,我承认,我一开始也不知道这个site的名字chemitry到底是什么意思,我也是在看了幸福课上得那篇文章才猜到了大概。


好吧,其实还有一个bagua,我发现和twitter,youtube,google,facebook们一样, 国内有一个chemitry.com的clone网站,百合交友网


不过baihe依据的不是我们Fisher老师的化学物质理论,它依据的是MBTI人格,气质,心理的理论。也就是是天生情人十六种了,不过MBTI可能更多的是用于职业生涯的分析。个人感觉还是isher博士从生理学基础上来的靠谱,而且F老师怎么也是研究love权威啊。


但是不管怎么说,我还是觉得有点太扯了。权当个话题吧 :)

星期一, 四月 05, 2010

[geekland]小3、办公室恋情、wired sex

作为一个资深的bagua人士,虽然号称专注于geek bagua,科技bagua,但是对前一段时间沸沸扬扬的所谓的渣打小三门自然不会没有耳闻。不过和网上的一片的感叹不同“如今这年头真不容易,搞个婚外情都要把英语学的这么好”,我首先发现这其实是一个办公室恋情。

不如回到我更熟悉的geek bagua领域,让我们首先来回顾一下一则旧闻,NASA女宇航员飞车千里袭情敌,三人有两人是宇航员,另一人是空军工程师,大体上都可以算作是同事,也就是这一起桃色事件也是办公室恋情。记得当时有人感叹,要成为一名NASA的女宇航员,得经过多么苛刻的选拔啊,他们一定是在测试当中表现出了异于常人的智商和心智,甚至是生理机能,正如在这里人们津津乐道的是莉萨·诺瓦克在如此情形下,还记住了换上了航天专用的纸尿布,以防开车途中方便的时候,但是可怜的的莉萨·诺瓦克还是让人们震惊了。

好吧,我们说过了“永恒的女性”,自然应该接下来说说poor boys了。

研究证实男性会为美女做蠢事

《快递邮报》报导,昆士兰大学心理系教授Bill von Hippel与博士生一起调查年轻男子的冒险行为与周围是否有美女出现之间的关系。

Hippel表示,自古以来,男性就会互相竞争,以获得和女性交合的机会。竞争中的赢家就可以和女子一起创造下一代,延续基因。因此冒险对于男性而言,就是一种赢得竞争的方式。他们在附近的滑板运动公园进行观察,发现年轻男子滑板玩家在美女出现在时,更容易做出危险的举动。这项研究还检验了这些年轻男子的唾液,发现当女性出现时,睪丸素也跟着上升。玩滑板的年轻男子虽然想耍帅博得美女的注意,可惜很多时候也会摔跤,反而在美女面前出丑。Hippel指出,尽管从事冒险活动的男子在进化过程中较占优势,容易吸引女性目光,不过这些行为却也可能会影响男性的生存机会。

难怪男人有钱就变坏,不过幸好也还有这样的消息:

研究称智商高的男性比较忠诚
《每日电讯报》报道,伦敦政治经济学院的科学家发现,智商较高的男性对配偶的忠诚度较高、较少出轨。但同样的结果不适应于女性,研究人员没有发现任何证据,能证明聪明女性比智商平平的女性来得忠实。 报告发表在《社会心理学季刊》上,报告作者金泽教授分析2项美国的调查,查明数千名青少年、成年人的社会价值观与智商。他得出结论: 聪明的男性比较重视一夫一妻制,在性方面较为专一。男性的智力与忠诚度之所以有关,源自于人类的演化发展。男性性行为的排他性是一项“演化创新”特性,对滥交的早期人类没有太大帮助。

这又说明了什么?找男朋友的时候优先要考虑智商?呵呵,可惜这些都不是我今天要说的重点。

开始之前

在正式开始之前,我需要多说几句,根据《性趣探秘》这本书的作者戴蒙德的说法(这老大还有一本很棒的书,枪炮,病菌和钢铁),在人之所以为人的过程当中,除了大多人公认的直立行走和大脑容积变大之外,还应该加上人类独特的性行为,也就是说,下面我们要堂堂正正的谈谈sex。

很早以前,在我个人观念发生改变的时候,我阅读了欲望之源,从中我就知道了雄性黑猩猩有着和其生理需要不相匹配的,甚至可以称为“硕巨”的性器官,相形之下,大猩猩大约只有3~4cm,一样足够用了,换句话说,可以满足各种体位的需要,甚至于挂在树上。而我们人类的size呢介于两者之间。

有趣的事情是在一本我最近正在读的先天后天当中,也提到了这个事实,不同于欲望之源的地方时,欲望之源当中只是提到了这个事实对我们的影响,我们完全不必惧怕婚外情,因为按照人类睾丸和阴茎的尺寸,每个人一生当中平均有3、4个(?)性伴侣,我们知道人类男女的比例大致是1:1,也就是说…大差不差了。换个角度说,如果你被dump了,千万要淡定,千万不要Anti-nature,特别是女孩子,我要多说一句,因为你们有天然的优势,就像戴蒙德转述的那句谚语“再丑的女人都有一个丑男人和她相配”,为什么?后面会再次提到的。

不过在先天后天当中却给出了这个事实背后的精妙的逻辑,大猩猩是一夫多妻制,当一头雄性大猩猩当家以后,他会杀死所以族群中其他的幼年猩猩。因此雄性的个体几乎有着雌性个头的两倍大小,同时他的性器官却不是很大,因为他知道,只要他有交配权,他就能保证出生的小猩猩身上就是他的基因。不过黑猩猩就不同了,发情的雌性几乎和族群中每一个成年的雄性交配。所以雄性的个头比雌性大不了多少,但是睾丸的大小却尽力保证他们的精子活力十足,以便赢取生物学意义上的胜利。

但是为什么大猩猩是一夫多妻,而黑猩猩则是多夫多妻呢?haha,good quesion,这还要从他们的生活习性说起,大猩猩的食物主要是树茎等等,虽然数量很多,但是蛋白质含量不是很高,只要占领一块地盘,应该就饿不死了。而黑猩猩呢,主要是食物是果实,虽然蛋白质含量高,但是不是很好找,有赖于群体之间的相互协作,信息共享。正是他们不同的生活习性进化出了他们的生存策略和性行为。

而我们人类呢?就像DNA表示的证据那样,人类和黑猩猩的谱系关系要更接近一点,我们和黑猩猩的共同祖先和大猩猩是从同一个物种进化而来的。人类更有赖于信息共享,甚至因此产生了语言。不过为什么我们拥有不是那么多的性伙伴呢?而且大多数人类社会还是以一夫一妻制为基础上的偶尔红杏出墙呢?

一夫一妻

在欲望之源当中还曾经提到了一只成年森林雄性田鼠在其短暂的一个月成熟期当中除了维系生存以外,就是尽可能的四处游荡,寻找一个可以交配的对象,完事之后马上转身就走。可以说是,东奔西走,惶惶不可终日。

有趣的是性趣探秘当中,也谈到了一次作者接受了一次会议邀请,会议的组织者是一位女性,从邀请信,到会议日程安排都非常出色,并且发表一次精彩的演说,和蔼可亲,“她的惊人美貌也是我今生少见的”。但是猜猜看,这位女士抱怨的是什么?

“我丈夫从未给我买过任何礼物”

“跟男人一个德行”

戴蒙德不禁感叹道:

“这位女士是如此美丽、动人、聪慧,任何一个人都会当然地认为那个有幸娶她的男人定会与她常相厮守,乐此不疲的。”

也许这位女士应该看看上面森林田鼠的故事,心里就会好受多了。不过这里要说的是,在哺乳动物当中,人类还是很奇特的以一夫一妻制的社会组织。虽然有些时候法律容许一夫多妻的情况,可是这显然是达官贵人,王公以及巫师酋长们的专属权利。为什么呢?还是从生理特性说起吧。

哺乳动物是体内受精的,因此雄性并不能确切得知道在雌性体内的胎儿是不是包含了自己的DNA,也就是母系社会吧。所以从这个角度出发,大多数哺乳动物的雄性更倾向和更多的异性发生关系。而雌性就不同了,首先这个胎儿肯定是她自己的后代,而且她还经历了,比如人类的十月怀胎的更大的付出,所以她更倾向于细心的照顾后代。当然还有很多一系列的行为特征,这里就不多说了,最好去看书吧。

不过在人类这里,情况有点不同,比如一只非洲羚羊生下来就可以行走,人类的幼年时期是非常长的,想想你一次发现自己变声是在什么时候吧?我还记得在人脑之谜中关于幼儿如何第一次学会抓握东西的精彩描述,当然还有追寻记忆的痕迹里面那个让人诧异的人体感觉和大脑皮层的对应图,手指和嘴巴占据了不成比例的大的感觉皮层。

我们每一个人都要经过漫长的学习和训练首先让自己的生理成熟,比如感觉,视觉,听觉,运动能力,身体协调能力,也就是小脑的发育,这和大多数动物类似,不过我们要更困难一点,因为我们需要直立行走。但是不幸之处在于我们人类除了这种生理发育以外,还有心智的发育,还记得我们前面说过的我们需要信息共享,产生了语言吗?人脑之谜中好像说大约到20岁左右我们大部分人大脑中的神经仍然处于生长之中。我们需要接着学习语言能力,逻辑能力,也就是大脑的发育(顺便bagua一下,就容积而言,其实动物的小脑相当于大脑,大脑相当于小脑)。也就是虽然我们有着骄傲的智力水平,但是也必须付出相应的代价,长于其他物种的成熟时间,也就是说一个单身母亲的处境是非常艰难的。因此上,我们的社会组织中,男人不得不共同承担其抚养后代的职责。因此这种一夫一妻制的类似社会形态处了人类之外,在大多数哺乳动物中并不多见,倒是大多数鸟类也是这种形态,其实想想很简单,鸟类需要飞行,这种技能无疑比直立行走要困难多了,雏鸟的喂养是件非常辛苦的事情,需要父母双方的共同努力才行,所以才有“只羡鸳鸯不羡仙”。

永恒的战争

正是对DNA的延续要求的共同利益才使我们异性相吸,但是作为哺乳动物,我们仍然是体内受精的物种,这种内在的冲突使得两性间有一种内在的,永恒的,来自DNA的冲突。所以男人更倾向于多样化的性,这就有点像足球中的进攻队员,失误多少次都没有关系,只要一次得手,就可以造成很大的麻烦了。女性则要保守很多,因为放纵一次的可能结果要严重很多。但是千万不要以为女性束手无策了,想想男人会怎么样?

Today is a sunny day, do you want a sex?

Today is a rainy day, do you want a sex.

Today is a lovely day, sex.

Sex, sex, sex…

但是和大多数动物有明显的发情期不同的是,人类的排卵周期是隐秘的,也就是说这会欺骗一个男人,让他以为你随时都可以怀孕。这样就可以保持一种持续的关系,以至于他不会那么快就离开你。所以你我其实是为了fun,而不像黑猩猩,雌性黑猩猩会在非发情期严辞拒绝任何性要求。

所以男人虽然未婚姻束缚,但是他还是偶尔会尝试一次,不成功对他不会有太大的损失。而女人的婚外性行为的动机是对婚姻不满,她需要的是一种崭新的持续的性关系,从这个角度说,女性不太容易变心,但是一旦变心了,挽回的余地就很小了。那句话怎么说来着“女人心,海底针”。

回到开始吧

好了,七扯八拉这么多,我们回到最开始提到的现象,努力做个解释吧。首先小3不是什么丢人的事情,因为这就是born nature,你的天性如此。

其次为什么男性看到美女会作傻事,而女性在看到帅哥的时候仍然能够保持理性的计算。这使因为男人更愿意尝试,因为他的代价很小,而女性其实更需要一段持续的关系来共同养育后代,所以女性在选择的时候要做更多的判断,要求标准也更高,除了健康的身体和美丽的容貌之外,也许还要考虑财力方面的因素。

第三点,为什么智商高的男性比较专一,而在女性却没有类似的联系,很多人都认为这是由进化导致的,有的人解释为这是一种更优的生存策略,的确这样,虽然在如今的生命方面的危险威胁要小很多,但是还是一件很让人头疼的事情,不信看看瞧瞧那个渣打的可怜男人吧。不过温情一点的解释是智商高的男性更能体会到女性的需要,她不过要求找一个共同养育后代的伴侣而已,何况她已经承担了绝大多数责任,投入了更多的精力和时间。否则的话,看下一节吧。但是要让我个人从geek方面来做一个解释的话,我想说也许智商高的男性在除了sex,似乎还有很多地方可以寻找乐子,社会进步了,人类驯化了,DNA方面的要求多少降低了一点,毕竟,多巴胺的产生除了love,除了sex,还有很多行为可以让你产生出这种化学递质的。

Be careful…

戴蒙德说道了一个统计数据,作为一夫一妻制的注脚:在北美洲和欧洲仍然有高达86%的婚姻生子。不过我也从中看到了很多男人的头顶上绿的发亮,有钱怎么了,很帅又怎么了,大家都知道有钱买不到love,而sg的绿帽几率也要高于正常人,因为女性在这种情况下压力更大,安全感要差很多。be careful,not only for woman, but aslo man.

那么了解了所谓born nature之后,那么我们能做些什么呢?下面的纯粹属于个人意见

For Man:

  • 努力工作,努力赚钱,明白你就是要提供经济支持,因为你既不能怀孕,也不能哺乳。如果你gf,lp要求大房子,车子,或者其它什么,不要想当然的说,甭提钱。即使你现在不能做到,也要时时记在心上
  • 追逐财富,有钱就有一切。 
  • 明白她的需求,尽量负担一点家务。
  • 如果你被飞了,没什么大不了,如果你觉得有问题了,仔细考虑考虑。

For Woman:

  • 管好男人的钱袋子,特别是他很有钱很有钱的时候,不过这种时候通常也比较难。
  • 想想前面说过的人类隐秘的排卵周期的策略吧,满足他的需要,通常这样就是说,提高自己,让他离不开你。不幸有了其它人,怎么办,那句话叫什么“打得过2n,斗得过小3”,不要去找他,因为那就是本性。
  • 如果你被飞了,没什么大不了,如果你觉得没感觉了,考虑一下,如果他对你很不好,请坚定一点。不要害怕。因为你才是延续DNA这个最大共同利益的掌控者。
  • 尽量独立一点,有了经济基础,也许你就可以不必指望那些男人了。事实是,很多人认为以一夫一妻制为基础的社会正在塌陷。

呵呵,怎么说来说去好像我变成了一个女权主义者了,不得不澄清下了,其实我也没办法的,因为作为体内受精的物种,我们男人天生就是弱势群体,又由于幼齿的成熟期太长太辛苦,我们又不能像其它大多数哺乳动物那样,所以从这个意义上来说,男人才是被小孩拖累了。最好“金龟换酒,苦中作乐”吧。

结束语

首先要做一个无责任申明,我转述的不一定准确,而且书上的内容也不一定对,最重要的信不信由你。但是我想说,open mind,我只是想打开一个窗口。

还有我们应该学会做一个冷静的利益权衡者,当然我不是叫你冷血,因为情感实际上也是进化的产物,要看开不看破,如果不幸电视剧中的事情发生在了你的身上,千万要淡定,但是你也不应该努力制造电视剧。

最后再bagua一下,为什么我们那么喜欢bagua,按照欲望之源中的说法,我们其实都是爱bugua人的后代,那些纳言寡语的早期人类的DNA都消失了,所以请尽量共享信息吧,以bagua的精神为荣,以bagua的能力为荣,以bagua之名,bless u

星期三, 一月 13, 2010

[nothing]无题

昨天晚上还是前天晚上在看 《Futurama》第二季的最后一集,The Cryonic Woman,忽然就想到了南方公园的一集,上网查了一下,原来是0611,Child Abduction Is Not Funny

顺录嗣宗《咏怀》一首:
登高临四野,北望青山阿。
松柏翳冈岑,飞鸟鸣相过。
感慨怀辛酸,怨毒常苦多。
李公悲东门,苏子狭三河。
求仁自得仁,岂复叹咨嗟!

星期六, 十月 24, 2009

[Geekland]Proud to Be a Programmer(翻译)

via here

ppt作者Tatu Ylönen是芬兰大牛,ssh的发明人,毕业于赫尔辛基理工学学,创立过好几家公司,按照ppt中的说法,从来没有真正给其他人打过工,角色也在programmer,cto,ceo之间换来换去。上面的那个原始link中也有一些他的轶事,不能略人之美,自己去看吧

虽然不能说是雄文盖世,但是不管是paul graham还是Peter Norvig,Marc Adreessen还有我所看过的startup经验谈,所传达出来的信息都是一样的,而且好像北欧人跟实诚,说的都是大实话?

----------------------------------start now----------------------------------

不是每页都翻译,而且也不是完全翻译。

一开始ppt自报家门,ssh的发明人,从没有为其他人打工,blabla

(page 8)

  • 两种startup途径,第一种是有个idea,找人投资,实现。第二种是从技术改良革新开始,做出来,再找到赢利模式,找投资,再商业化。
  • 而且指出两种方式联合最好,(是不是和meebo的创始人说得有点像?meebo是第一种?)不过也指出第二种往往是big deal。
    (page 9)
  • 这一页这句话足矣:good implementations of old ideas
  • 伟大的产品往往是新品装旧酒
    (page 10)
  • 程序员的效率,百倍,而且还不止如此,正如paul graham说得,有些问题只有great hacker才能解决,而在问题甚至都没有的时候呢?
    (page 11)
  • 产品的核心部件是由1~5个人搞定的
  • 成熟产品要求的技能是完全不同的,大团队,面对更苛刻的用户还有更严格的流程
    (page 12)
    成为顶尖程序员的必须条件
  • 良好的(技术)基础:算法,语言,os,硬件,网络
  • 雄心和完美主义,再加上审慎的自我评估(haha)
  • 练习和经验
  • 不同的经验(十年如一日的经验不行,)
  • 搭建全新的复杂系统的能力
  • 在顶尖团队工作的经验和如何相处
  • 理解客户需求,创造完美产品
  • 看到周期,艰难时刻,失败,好时光,成功
    (page 13)
    充分条件:
  • 对技术感兴趣并且有能力快速学习
  • 学习新事物,构造新事物,programming
  • 面对未知未来,有系统的工作框架
  • 在压力下工作,不被压垮
  • 可以多线程工作,不仅仅指编程,甚至包含市场,销售等等
  • 10-20年经验(想到了什么?outlier)
  • Programmer,那些在大的组织中,也叫programmer,不过,这截然不同
    (page 14)
    技术能力:
  • 编程能力:三种类型语言,C,高阶语言(垃圾回收,一阶函数,闭包...),OO(java/c++/c#/...);数据机构和算法
  • DB(sql),网络编程(tcp/ip),安全,本地化(unicode),内核
  • OS:*nix,widonws,kernel,最好加上嵌入式和微控制器(bsp?)
  • 硬件:(内存架构,现代多处理器架构,通讯,DSP,线程,汇编,编译器)
  • 处理抽象层,硬件
    (page 15)
    其他
  • 工作技能:于人为善,尽心尽力,不畏艰难
                               提出意见,接受决定
                             不要违章,特别是公司的决定
  • 每周一天学习新技能,长久关怀(太难罗)
  • 热爱技术和学习
  • 面对压力
    (page 16)
    技术路线和管理路线(甚或是市场路线):
    (类似于公司的H型发展路线了,所不同的是在公司内在两者上的回报是完全不同的。)
  • 不过记住,从技术-〉管理易,管理-〉技术难(或者说不可能:)
    呵呵,humor附送一个:
  • 管理路线:为那些像成为经理的,并最终失去技术的感觉人准备
  • 技术路线:为那些持续作技术,包括亲手写code,准备做20~40年的人准备
    (page 17)
    三种程序员向往的角色之CTO
  • 只考虑startup快速发展企业中的CTO
  • 角色可以偏向技术也可偏向管理
  • 需要深厚的技术能力和经验,通常是10到20年经验,不过有多年轻的创业者干的很不多
  • 对公司的领域有全方位的,透彻的了解,技术,标准,知识产权,产品,客户,竞争对手等等
  • 人际关系,领导力,组织卓越团队的能力等等
  • 与成熟公司的cto角色很不同
  • 工作时间可能非常长,压力巨大,身心健康很重要

    (page 18)

    产品经理:

  • 这个角色很难找到,市场背景的不能很好的理解产品,一些最好的产品经理都是很优秀的工程师
  • 不过不鼓励工程师在很年轻的时候就转去做产品经理,不过一两门市场课程很好,产品经理这个领域人才短缺

    (page 19)

    项目经理:

  • 今天每个cs学生都梦想的职业,为什么?钱多人傻
  • 甚至一些HUT的教授也认为编程应该让阿三和中国人去做,芬兰人只需要做让人兴奋的设计,规范和项目管理就OK了
  • 那些比你更聪明,工作更努力的阿三和中国人,若干年后也比你更有经验。他们巴不得把那些设计,规范,还有项目管理的重担交掉呢,更别提还有市场啊,销售啊,制造啊,管理啊,所有权啊等等(啊,是的,也许那些以前的项目管理者转换了角色,变成了本地客户的采购者-如果那时这些客户还有钱的话)
  • 那些顶尖的项目管理者应该有很多年的实际工作经验
  • 软件项目里,称职的项目经理非常重要
    (刚好前几天有人问为什么他不太乐意,更愿意自己亲手做,我想page 19,项目经理这一页也许是这个问题答案的一个很好的脚注: )
    (page 20)
    洗净浮华
  • 看透喧闹是重要的
  • 大公司和很好资金支持的startup画大饼的能力是惊人的
  • 不需要认识所有的缩写。(OMG,你认得几个)
  • 大多数技术对于适当基础的人不难掌握
  • 独立思考最重要,不要随大流
    (page 21)
    喊口号:
  • 技术专家需要经验,自由,构想,灵感,激励和财政支持
  • 营销专家和最高管理者努力把这些变成生意
  • 环境应该鼓励成功和承当风险,并回报成功
  • 比任何时候,成功都取决于在合理时间内在技术上实现绝妙构想的专家(快速原型的能力)
  • 每一年我们都需要几十个芬兰人成为顶尖程序员(是的,他说的是几十个,self-esteemed,呵呵)
  • 拍马屁
    (page 22)
    其他人:
  • 仍然需要研发工程师
  • 锻炼多种技能,管理,市场,销售,项目管理等等
    (page 23)
    未来:
  • TB级别的机器成为寻常事,甚至PB机器
    (page 24)
    个人观点:
  • AI的回归
    (这丫的太乐观了,仅仅是速度的提高应该不能改变现状,凡事的转变)
    (不知道算不算创业方向指导,随便列一下吧)
  • 可用的自然语言借口
  • 知识表示和自然语言
  • 智能代理
  • 思维机器(??)
    (OMG,完了,最好自己看原文吧)

     

     

  • 星期一, 九月 14, 2009

    [Geekland]C60之个人往事

    话说兄弟是1997的高考,算起来,十年有奇,早已经是尘封的往事了,不过记忆就是这般奇妙,往往在你不经意间就悄悄的溜了回来。

    1996年的高考化学试题当中就有这样一道让我记忆深刻:

    C60的发现者是当年Nobel化学奖(1996)获得者,而在1996年高考试题中就出现了两道和C60有关的考题。之所以说印象深刻是因为Noble奖,多么深奥的东西,在那些当年还没有经过社会的大染缸的脑袋中,科学仍然是一个终极梦想吧,不过他居然能够让你,一个初窥门径的能够触摸的到。fantasy!

    其次,这个试题反复被老师来说明,C60并没有在高中化学的任何材料中出现过,为了证明高考的素质教育性,还是需要你有一些猜想推理的能力的。

    -----------time passed----------------

    突然有一天,纳米这个词忽然就充斥了你的生活,作为一个被社会大众传播的被毒害者和一个伪科学青年,我知道,就是物质在纳米层次变化会很不同。有什么作用?没有灰尘,不油腻的新型材料,或者是纳米机器人,可以进行微创手术。Am I right?

    可是纳米到底是什么呢?怎么就出来了呢?

    --------------完美的对称----------------

    陆陆续续地在朋友和图书馆看到了这样一套丛书,哲人石丛书,感觉很是不错,就把能买到手的、比较感兴趣的全都买了下来。大约有十几本吧。

    其中的一本是完美的对称-富勒烯的意外发现,差不多连续花了三个下午读完了,依靠着可怜高中化学知识居然读了下来,说句实话,一点也不比情节紧凑,剧情悬疑的科恩兄弟的片子差。

    再一次在细节之中我知道了什么叫做顶尖的科学研究,(上一次是在坎德尔老大的书,追寻记忆的痕迹),听着娓娓道来的历史,你才体验到bagua的快感,原来凡事都有来由,科学家也和国内一样,要争取科研经费,也不知道问题的答案,学生也都在老板的压迫下水深火热,老板们之间也有合作和竞争…大家都是人,传奇原来都是传说来的。

    -----------------C60-----------------

    说了半天了,富勒烯到底是什么呢?原来就是C60,这个完美的球形结构分子。12个五边形和15个六边形构成的足球。当然,如果说纳米科技不全是富勒烯的话,至少可以说纳米科技的引爆点是从纳米碳管开始的,这个碳管,当然也是富勒烯家族的成员了。via wikipedia

    对于纳米或者说化学,我只能勉强理解分子的键价力,化学家的本领是制造有用的东西外,就不能在前进了。不过我对几位科学家角色趣味盎然。

    1996年的Nobe Prize是颁给三个人的,SmalleyKroto,Curl。毫无疑问,Smalley精力充沛,想象力和理论基础都具备,类似与一个Leader的角色。正是他用纸板搭出了Buck ball的足球结构,虽然他一开始认为实验没有必要,同时也不十分热心,不过正是那台他的机器才使得一切成为可能。Kroto是,按照书中的说法,最先并且一直受到富勒宏伟的建筑的影响的,正是他的坚持,才给出了方向,同时也是他的五边形提醒给了Smalley关键的提示,睿智,但是有那么一点优柔,可以看作是导师的角色,他喜爱休斯度的旧书店,并且和Smalley的学生们关系非常好,而Smalley自己,那当然是以严厉著称。Curl虽然不那么突出,但是理论扎实,一直提醒可能的错误。而Smalley的几个学生,据说Smalley一直为Nobel只能颁给三个人而耿耿于怀。

    不过,结果是Smalley和Kroto不欢而散,但是Smalley后来一直致力推广纳米科技,Rice大学也有个以他的名字命名的学院,Smalley Institue,应该是纳米科技的重镇。

    -------------------------------------------

    科学研究的手段很重要,仪器的力量

    灵感来的很快,只需要一周的brain storm就可以了

    团队也很重要

    美丽的事物总是那么简单而又相通

    星期三, 六月 10, 2009

    [Geekland]Reflection之名词害人

    刚刚说了调控Gene的调控Gene,就看到了徐宥老大的这篇讲Smalltalk bagua的文章,其实也就是讲Reflection了。

    ----------------------释义-----------------------------------

    Reflection,现在约定俗成的翻译是反射,怎么都觉着别扭。还不如翻成“镜像大法”呢。当然,想取个有文化的名字,我觉得桑林志老大blog以前的那段注解就是现成的

    桑弧蓬矢

    haha,开个玩笑了。

    我个人觉得这个reflection呢,是带着点揭示的意思,所以要是我的话应该会翻译成揭示,当然也很不好,只有期望那位老大能给出眼前一亮的说法了。

    ---------------------------------------------------------------

    徐宥大大的bagua固然说的好,可惜我等资质鲁顿,我对他下面这段话产生了点疑问:

    关于反射的基本概念在脚本语言里面是屡见不鲜的了. 大家都知道, LISP 里面的 eval 后面可以加任何的字符串, 构造出一个运行时对象. 脚本语言实现反射也很简单: 本来就是解释执行的语言, 多一个 eval 等价于多调用一次解释器而已. 而编译型语言就麻烦了, 因为解释器已经在编译期用过了, 运行的时候解释器是不存在的. 这样, 就造成了编译型语言没有运行时信息这个本质困难.

    疑问来自于我不理解,因为我还没有达到这个层次,幸好徐老大在底下放出了wikipedia的link,研究了半天,先抄一段如下:

    Programming sequences can be classified in one of two ways, atomic or compound. Atomic operations are those that can be viewed as completing in a single, logical step, such as the addition of two numbers. Compound operations are those that require a series of multiple atomic operations.
    A compound statement, in classic procedural or object-oriented programming, can lose its structure once it is compiled. The reflective programming paradigm introduces the concept of meta-information, which keeps knowledge of program structure. Meta-information stores information such as the name of the contained methods, the name of the class, the name of parent classes, and/or what the compound statement is supposed to do. Using this stored information, as an object is consumed (processed), it can be reflected upon to find out the operations that it supports. The operation that issues in the required state via the desired state transition can be chosen at run-time without hard-coding it.

    那么好了,回到开头,这些和调控Gene有什么关系?

    ---------------------------------------------------------------

    上次我说:

    但是且慢,前面我也一再强调了调控Gene也就是类似于程序的东东,准确地说,是程序段。那么合成蛋白质的Gene就是,是的,数据段。

    不过我也说:

    Aha,那是因为还有调控Gene的调控Gene(Wooo递归,My best favorite:)

    调控Gene的调控Gene显然也是程序,那么它是什么呢?也许你已经猜到了,是的,它就是Reflection

    因为从冯·诺伊曼体系角度来说,计算机是程序段和数据段混杂,程序段消费数据段。不过这里程序和数据都是相对的,当程序段消费是另一端程序的时候,这是OK的。

    也许你会说c语言函数指针,不过在Reflection中,那一段作为数据的程序段,它包含的数据信息是它本身(当然,它不仅仅包含这些)元信息,也就是mate-information.

    为虾米徐老大说解释型的语言好实现Reflection,而编译型语言麻烦呢?

    meta-information要想起作用,显然是需要一个context的,不过很不幸,编译型的语言在编译的过程中把这些所谓的meta-infomation消除了,在它运行当中不再需要这些context了,而解释型的语言的解释器无疑就是这种context,这也就是SICP里面所说的environment。这个应该也就是诸如lisp,scheme所谓自解释编译器。

    当然也许你会说在c语言里面我们不是还可以有debug信息,只要没有strip掉,我们不是知道函数的入口地址在什么地方吗?我想这个问题理论可以实现,虽然说不至于象破解人类基因组那么费力,不过这个工作量是巨大的。

    星期二, 六月 02, 2009

    [无题]9875321

    What this? 9875321

    首先,它是一个质数。
    第二,它的各位数字是依次递减的。
    第三,把它的数字逆转过来,变成各位数字递增的1235789,仍然得到一个质数。
    第四,它是满足以上三条性质的数字中最大的一个。via dd
    第五,它是一个在天朝完全合法的数字。
    第六,在数字键盘上输入这个数字,既是用手画出了佐罗记号。

    6+4 = 20

    不得不跳一下了,发现GFW有越来越强的趋势,以前通过proxy还能搞定,不行了

    以前的google阅读器里面还能读到,现在click –> down

    我更新上一篇的时候,不得不通过所谓的在线代理http://www.sneakme.net去更新。

    God demn it.

    *** it.

    星期一, 五月 25, 2009

    [Geekland]Kandel Gene 细胞自动机

    在看Kandel老大的这本,其中说到生物学的一些发展历史。有点意思。


    我们知道克隆技术的依据是每个体细胞都包含完整的DNA序列,每一个。但是长久以来困惑我的是为什么有些细胞的组合就变成了手,而有些就变成了肝呢?而在这本书里我找到了答案,DNA序列可以分成很多段,其中一些包含了合成比如手指表皮细胞所需的蛋白质的信息,当然也包含了合成肝细胞所需的蛋白质的信息。但是为什么有些细胞变成了手指的一部分,另一些则变成了肝细胞呢?原因在于DNA序列里另一段,称为调控Gene,调控Gene的含义就是控制了那些合成蛋白质的DNA段要不要起作用,什么时候起作用。


    怎么,觉得不太明白?简单点说,就是说手指表皮细胞在DNA序列里就指示他要合成为表皮细胞!#$%是不是好像有点循环论证的味道。表皮细胞怎么知道他的细胞核当中DNA那一段关于合成为表皮细胞的序列要被激活呢?OK,调控Gene。但是这段调控Gene怎么知道DNA中我这段要起作用呢?Aha,那是因为还有调控Gene的调控Gene(Wooo递归,My best favorite:)而且这种调控Gene不仅包含结构方面的信息,还包含了时间序列的信息。想想吧,生殖细胞(也就是一个卵子+一个精子)都是单细胞,变成一个所谓的生物,不知道需要多少的细胞分裂。也就是DNA里信息包含了一个完整的生长过程。包括每个时序和结构。Alas多么完美的程序段啊。


    ------------6+4 20-----------------------------


    这几天公司里用到了twiki,做了一次persentation,为了说明格式良好,不小心说了小bagua,古埃及的纸草文字是由语言天才商博良破译的,其中的故事就是埃及文字中一些是表意的符号,一些是表音的符号,两种符号放在一起组成了完整的语言。


    wiki的语法,乃至emacs的org mode,还有html,xml,当然还有TeX,这其中的逻辑关系不言而喻。附送小bagua一个



    1
    1; 1
    2 1
    1  1  1  2
    3  1  1  2
    2  1  1  2  1  3
    what the next sequecne of the number?


    --------------- 5.35 -------------------------------------


    为什么每一个体细胞当中都包含了完整的DNA信息呢?那些不光是合成蛋白质的元数据,还包含了控制这些元数据是否生效,什么时候生效的调控信息呢?OK,因为生殖细胞是单细胞。那么又是为什么进化论会选择单细胞生殖的方式呢?那些异常复杂的,冗长的调控表达DNA序列,在复制过程显然非常容易出错。可以想象,为了达到现今的程度,进化在其中付出的艰苦卓绝的努力。也许Kandel老大在书中一再强调的进化是保守的,或者说“路径依赖”。也或者是遗传需要变异,不过这是缘起还是结果很难说。一起期待生物学家的答案吧。


    ------------------------------------------------------


    不过,令我个人最感兴趣和兴奋的是,CS科学和这一大摞子有什么关联?


    从前面描述的DNA序列的复杂程度上,我还是觉得AI的暂时无前景。但是且慢,前面我也一再强调了调控Gene也就是类似于程序的东东,准确地说,是程序段。那么合成蛋白质的Gene就是,是的,数据段。想想冯·诺伊曼的计算机体系吧:


    (1)把计算机要执行的指令和要处理的数据都采用二进制表示
    (2)把要执行的指令和要处理的数据按照顺序编成程序存储到计算机内部让它自动执行


    DNA的双螺旋结构,四种碱基配对,4进制,DNA序列就是要让细胞自动机执行的程序段+数据段,我们称只为程序的东西。当然这里有点区别,就是细胞自动机只是一个单片机,上面只有一个硕大无比的程序。只有一个main函数,在精子和卵子刚刚结合的时候调用。


    还有什么?别急,随便说一条。DNA序列的metadata,在合成蛋白质的时候发生了什么作用?恩,把运送来的物质合成它要合成的蛋白质。也就是,这些metadata在这里又变成了程序段,


    搞不定的时候,就给他加上一个层。


    -------------------------------------------------------


    正像我以前说的,硅晶文明和炭晶文明是不同的文明,我从来不认为他们之间应该存在什么必然的联系,特别是硅晶应该模仿炭晶的方式,但是。诺伊曼在思考的计算机体系架构的时候,DNA的双螺旋结构甚至都还没有发现呢!


    最近一段时间的阅读体验,让我的观念有所改变,生物学和CS的结合,特别是对于AI的启示,不能肯定的说是一条最优路径,至少是同时也是非常有吸引力的路径。


    -------------------bagua时间 && 此非彼也---------------------------


    当然最近很火的wolframalpha的发布,号称理论依据就是细胞自动机。据称


    “这个产品,就好像针对人类知识所展开的“基因组计划”。而其野心,则有过之而无不及。”


    对细胞自动机理论感兴趣的同学可以看这里( ).

    星期日, 十二月 21, 2008

    [Geekland]Tanenbaum V.s. Torvalds Debate(Zh_v0.10)

    多少年前的老gabua啊,居然被我翻出来了。^-^

    火星四射,一个绵里藏针,一个锋芒毕露,都是角。这里有个解读的版本,可惜不够详细。我愈看愈觉得有趣,下面是个小小的尝试。

    Appendix A

    The Tanenbaum-Torvalds Debate

    What follows in this appendix are what are known in the community as the Tanenbaum/Linus "Linux is obsolete" debates. Andrew Tanenbaum is a well-respected researcher who has made a very good living thinking about operating systems and OS design. In early 1992, noticing the way that the Linux discussion had taken over the discussion in comp.os.minix, he decided it was time to comment on Linux.

    {一些背景介绍,1992年在Usenet上的comp.os.minix上面已经充斥着linux的相关讨论了,Tanenbaum 先生为了捍卫自己的领地,决定开火了}

    Although Andrew Tanenbaum has been derided for his heavy hand and misjudgements of the Linux kernel, such a reaction to Tanenbaum is unfair. When Linus himself heard that we were including this, he wanted to make sure that the world understood that he holds no animus towards Tanenbaum and in fact would not have sanctioned its inclusion if we had not been able to convince him that it would show the way the world was thinking about OS design at the time.

    {我们之所以把这些mail包含在这个附件中,不是想冒犯Tanenbaum 先生,连Linus本人对Tanenbaum 先生怀有极大的敬意}

    We felt the inclusion of this appendix would give a good perspective on how things were when Linus was under pressure because he abandoned the idea of microkernels in academia. The first third of Linus' essay discusses this further.

    我们只是想说明当时Linus,/社区领袖/,在linux发展的开始时期承受了非常巨大的压力,因为linux不是按照学院派微内核的方式来开始的。

    {叛逆,独树一帜,good as we expected}

    Electronic copies of this debate are available on the Web and are easily found through any search service. It's fun to read this and note who joined into the discussion; you see user-hacker Ken Thompson (one of the founders of Unix) and David Miller (who is a major Linux kernel hacker now), as well as many others.

    {看看还有些谁吧!下面我们也可以看到他们的精彩演出}

    To put this discussion into perspective, when it occurred in 1992, the 386 was the dominating chip and the 486 had not come out on the market. Microsoft was still a small company selling DOS and Word for DOS. Lotus 123 ruled the spreadsheet space and WordPerfect the word processing market. DBASE was the dominant database vendor and many companies that are household names today--Netscape, Yahoo, Excite--simply did not exist.

    注意,这一切都是在1992年发生的,只有386,486还没有出现,m$只是一家买买dos和word的小公司。应用软件市场被Lotus123,WordPerfect还有DBASE统治。而网络,Netscape,Yahoo,Excite都还没有出现{更别提google了}


    {馒头由Tanenbaum引发,主题鲜明,linux是过时的/linux是陈旧的/linux是**}


    From: ast@cs.vu.nl (Andy Tanenbaum)

    Newsgroups: comp.os.minix
    Subject: LINUX is obsolete
    Date: 29 Jan 92 12:12:50 GMT 

     

    I was in the U.S. for a couple of weeks, so I haven't commented much on LINUX (not that I would have said much had I been around), but for what it is worth, I have a couple of comments now.

    最近我在美国呆了几个星期,所以我没有对LINUX发表什么评价,(这不是说我不大来这儿)但是LINUX是值得我来评价一下的,下面就是我个人的几点意见。

    {山中无老虎,猴子称大王,现在,我要踏着五彩祥云,穿着金色盔甲,在神的注视下对你们这些****发出秒杀的一击了,来吧...}

    As most of you know, for me MINIX is a hobby, something that I do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems.

    正如你们大多数人知道的那样,对我而言,MINIX只是一个爱好,只是当我在晚上写书写累了的时候,或者CNN没有直播诸如战争,革命,听证会等等的时候,MINIX是我的一种消遣。我的工作是一名教授,研究方向就是OS。

    {教授!懂吗?Prof.¥^%……*摆明身份,拉开距离}

    As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. Two aspects stand out:

    出于一种职业敏感,对于OS在下一个十年当中如何发展的我多少还知道一点。两个方面:

    1. MICROKERNEL VS MONOLITHIC SYSTEM Most older operating systems are monolithic, that is, the whole operating system is a single a.out file that runs in 'kernel mode.' This binary contains the process management, memory management, file system and the rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS, and many more. 

    1. 微内核 VS 宏内核

    大多数老的系统是宏内核的,就是,整个系统就是一个a.out文件运行在‘内核模式’下的。这个二进制文件包含了进程管理,内存管理,文件系统以及其它等等。比如{…}

    The alternative is a microkernel-based system, in which most of the OS runs as separate processes, mostly outside the kernel. They communicate by message passing. The kernel's job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yet-released Windows/NT. 

    另一种就是所谓的微内核系统,OS的大部分都作为内核之外的独立进程运行。他们之间通过message交互,内核的工作主要是处理message传递,中断处理,底层进程管理,也许还有一些I/O处理。例如{...}

    While I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won. The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as fast as monolithic systems (e.g., Rick Rashid has published papers comparing Mach 3.0 to monolithic systems) that it is now all over but the shoutin'.

    对于两种设计的优劣我可以长篇大论一番,足以那些真正有能力设计OS的人满意。这里我只给出结论,争论已经结束,微内核已经赢了,唯一可以商榷的是宏内核系统具有一些性能方面的优势,但是也有证据表明微内核系统可以跑得和宏内核系统一样快(e.g.,...)

    {直接给出结论,微内核更好,为下一波攻击奠定基础}

    MINIX is a microkernel-based system. The file system and memory management are separate processes, running outside the kernel. The I/O drivers are also separate processes (in the kernel, but only because the brain-dead nature of the Intel CPUs makes that difficult to do otherwise). LINUX is a monolithic style system. This is a giant step back into the 1970s. That is like taking an existing, working C program and rewriting it in BASIC. To me, writing a monolithic system in 1991 is a truly poor idea. 

    MINIX是一个基于微内核的系统。文件系统和内存管理都是单独的进程,运行于内核之外。I/O drivers也是单独的进程(在内核之中,不过要不是脑残的Intel CPUs,也是可以做到的)。而LINUX是一个宏内核系统,这是一个向着1970年代的巨大退步。就像拿BASIC去重写一个现有的,并且可以运行的C程序一样。对我来说,在1991年还是以一个宏内核的方式去写一个OS是一个非常差的主意。

    {喝酒吃肉骂娘,把矛头对准商业公司肯定不是一个坏主意

     

    我怎么想到了肯尼迪的人类一大步?

    }

    2. PORTABILITY

    Once upon a time there was the 4004 CPU. When it grew up it became an 8008. Then it underwent plastic surgery and became the 8080. It begat the 8086, which begat the 8088, which begat the 80286, which begat the 80386, which begat the 80486, and so on unto the N-th generation. In the meantime, RISC chips happened, and some of them are running at over 100 MIPS. Speeds of 200 MIPS and more are likely in the coming years. These things are not going to suddenly vanish. What is going to happen is that they will gradually take over from the 80x86 line. They will run old MS-DOS programs by interpreting the 80386 in software. (I even wrote my own IBM PC simulator in C, which you can get by FTP from ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a gross error to design an OS for any specific architecture, since that is not going to be around all that long. 

    2.可移植性

    有的一段时间是4004,然后变成了8008,8080。8086,80286,80386...与此同时RISC芯片业出现了,有些已经超过了100MIPS。200MIPS也有望在不久出现。类似的状况不会突然消失。很可能将来会有新的产品取代80x86产品线。他们将不得不从软件上模拟80386来运行老的MS-DO程序(我本人甚至就用C写过IBM PC模拟器,从...得到)我认为设计一个运行在特定硬件架构上的OS是一个根本性的错误,因为任何一个硬件架构不可能永久存在.

    MINIX was designed to be reasonably portable, and has been ported from the Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016. LINUX is tied fairly closely to the 80x86. Not the way to go. 

    MINIX的移植性设计合理,已经从Intel产品线移植到了680x0...而LINUX和80x86结合的太紧密了,这条路不大行得通。

    Don't get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a **MODERN** "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that. 

    Andy Tanenbaum (ast@cs.vu.nl)

    别误会,我不是对LINUX不爽 。我只是想让试图从MINIX转到BSD UNIX那些人别来烦我。不过我要真诚地对那些希望得到一个**现代的**"自由的"OS的人说,去找一个基于微内核的,可移植的,也许GNU或者类似的东东是一个选择。

     

    Andy Tanenbaum (ast@cs.vu.nl)

    {ast就是Tanenbaum

    可以看出,当时GNU在做了那么多的准备以后,雄心勃勃的准备开发的OS应该是一个微内核的OS,可惜胎死腹中,也许下面的持续讨论会有一点结论

    }

    P.S. Just as a random aside, Amoeba has a UNIX emulator (running in user space), but it is far from complete. If there are any people who would like to work on that, please let me know. To run Amoeba you need a few 386s, one of which needs 16M, and all of which need the WD Ethernet card.


    {Torvalds登场,锵锵锵锵...}


    From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
    Subject: Re: LINUX is obsolete
    Date: 29 Jan 92 23:14:26 GMT

    Organization: University of Helsinki

    Well, with a subject like this, I'm afraid I'll have to reply. Apologies to minix-users who have heard enough about linux anyway. I'd like to be able to just "ignore the bait", but ... Time for some serious flamefesting! 

    对这样一个主题,我恐怕不能不有所回应了。不管怎样,还是要对那些听够了linux的minix用户致歉。我希望大家能够做到“让狗叫吧”,不过...是时候来点严肃的论证了。

    {Torvalds开始谦逊几句,没办法,谁叫那时Torvalds还是小弟呢!不过马上就可以看到他的伶牙俐齿了...}

    In article <12595@star.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes:


    >>I was in the U.S. for a couple of weeks, so I haven't commented much on
    >LINUX (not that I would have said much had I been around), but for what
    >it is worth, I have a couple of comments now.
    >>As most of you know, for me MINIX is a hobby, something that I do in the
    >evening when I get bored writing books and there are no major wars,
    >revolutions, or senate hearings being televised live on CNN. My real
    >job is a professor and researcher in the area of operating systems. 

    You use this as an excuse for the limitations of minix? Sorry, but you loose: I've got more excuses than you have, and linux still beats the pants of minix in almost all areas. Not to mention the fact that most of the good code for PC minix seems to have been written by Bruce Evans.


    > ...

    你用这个借口来掩饰minix的不足?对不起,你输了:我可以有比你更多的借口,但是linux还是几乎在各个方面都打败了minix。更不要说似乎大部分运行在PC上minix上不错的code都是我的朋友Bruce Evans写的

    {首先一样表明态度linux才是赢家,然后打蛇打七寸...教授有什么了不起,还不是不会写代码

    Bruce Evans此公也是一角,据说Torvalds从他那里学到了很多Unix的知识}

    Re 1: you doing minix as a hobby - look at who makes money off minix, and who gives linux out for free. Then talk about hobbies. Make minix freely available, and one of my biggest gripes with it will disappear. Linux has very much been a hobby (but a serious one: the best type) for me: I get no money for it, and it's not even part of any of my studies in the university. I've done it all on my own time, and on my own machine. 

    Re 1:你做minix只是出于爱好 - 看看到底是谁从minix中间收钱吧,而谁又把linux完全免费。说道爱好,让minix完全免费,那么我最大的一个桎梏就会消失。Linux对我而言,很大程度上是一种爱好(不过是认真的:最好的一种):我没有从中得到经济利益,甚至都不是我大学学习课程的一部分。我完全用个人时间,在我个人机器上完成的

    Re 2: your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of minix. I can only hope (and assume) that Amoeba doesn't suck like minix does.

    Re 2:你的工作是教授和研究员:这倒是minix有些脑残的好借口。我所能期望的是Amoeba不要像minix那么稀烂。


    >1. MICROKERNEL VS MONOLITHIC SYSTEM

    True, linux is monolithic, and I agree that microkernels are nicer. With a less argumentative subject, I'd probably have agreed with most of what you said. From a theoretical (and aesthetical) standpoint linux looses. If the GNU kernel had been ready last spring, I'd not have bothered to even start my project: the fact is that it wasn't and still isn't. Linux wins heavily on points of being available now.

    >1. 微内核 VS 宏内核
    诚然,linux是宏内核的,我也认可微内核的优美性。作为一个较少争议的话题,我会同意大部分你说的。从理论角度上(以及美学角度),linux输了。如果GNU内核去年春天就已经就备的话,我是不会开始我的项目的:事实是它没有而且至今没有。在可用性上Linux赢了很多分。

    {不是说GNU吗,不过还没有呢。minix?我提都不提,为什么,接着看}


    > MINIX is a microkernel-based system. [deleted, but not so that you
    > miss the point ] LINUX is a monolithic style system. 

    If this was the only criterion for the "goodness" of a kernel, you'd be right. What you don't mention is that minix doesn't do the micro-kernel thing very well, and has problems with real multitasking (in the kernel). If I had made an OS that had problems with a multithreading filesystem, I wouldn't be so fast to condemn others: in fact, I'd do my damndest to make others forget about the fiasco.


    >MINIX是一个基于微内核的系统。[删掉吧,...]LINUX是一个宏内核系统。

    如果说,这是判别OS“好坏”的唯一标准,你就是对的。你怎么不提minix实际上的微内核做的不是那么好呢,并且在真正多任务(在内核中)上面有很大的问题。如果我的OS在多线程FS上面有问题,我不会那么着急的去骂别人的OS的:实际上,我把我的咒骂送给那些让别人忘记这一点的人。

    [ yes, I know there are multithreading hacks for minix, but they are hacks, and bruce evans tells me there are lots of race conditions ]

    [是的,我知道有很多针对minix多线程的hack,不过那些只是hacks,bruce evans还告诉我有很多资源竞争]

    {译的不好,这一段火星四射,看看原文的语气和出现的单字吧。

    虽然承认微内核更优美,但是指出minix做的并不好,关键是指出了minix自身技术上的缺点,这一点从后面其他人的发言可以得到验证

    }


    >2. PORTABILITY 

    "Portability is for people who cannot write new programs" -me, right now (with tongue in cheek)


    >2. 可移植性

    “可移植性是为那些不会写新程序的人准备的”

    -我, 现在(以调侃的语气)

    The fact is that linux is more portable than minix. What? I hear you say. It's true - but not in the sense that ast means: I made linux as conformant to standards as I knew how (without having any POSIX standard in front of me). Porting things to linux is generally /much/ easier than porting them to minix.

    事实上linux的移植性比minix要好。什么?我似乎听见你说。不过这是真的 - 不过不是在ast所说的意义上:我让linux兼容于我知道的正确(?)标准(没有任何POSIX标准在我面前)。比起minix,向linux移植软件通常/非常/容易。

    {Prof.? 我就叫你ast}

    I agree that portability is a good thing: but only where it actually has some meaning. There is no idea in trying to make an operating system overly portable: adhering to a portable API is good enough. The very /idea/ of an operating system is to use the hardware features, and hide them behind a layer of high-level calls. That is exactly what linux does: it just uses a bigger subset of the 386 features than other kernels seem to do. Of course this makes the kernel proper unportable, but it also makes for a /much/ simpler design. An acceptable trade-off, and one that made linux possible in the first place.

    我认同可移植性是个好东西:但是这只在它确实能够有作用的地方。让一个OS过度的支持移植性是没有意义的:保持一个可移植得API足矣。OS的一个重要/观点/就是充分使用硬件的能力,并把硬件隐藏于一层高层调用的后面。这正是linux所作的:比起其他OS,看起来它使用386一个大得多的特性子集。当然使内核不大具有可移植性,不过这也使设计要简单/很多/。可接受的交换,并且可能使linux处于较好的位置。

    I also agree that linux takes the non-portability to an extreme: I got my 386 last January, and linux was partly a project to teach me about it. Many things should have been done more portably if it would have been a real project. I'm not making overly many excuses about it though: it was a design decision, and last april when I started the thing, I didn't think anybody would actually want to use it. I'm happy to report I was wrong, and as my source is freely available, anybody is free to try to port it, even though it won't be easy.

    Linus

    我也认可linux把不可移植性带到了一个极端:去年一月我拿到了386,linux项目部分的让我意识了这一点。在一个真正的项目中间,让它具有移植请之前有很多事情要做。我不是找借口:这是一个设计决策,去年4月我开始时,我没有想到有谁真的想用它。我很高兴宣称我错了,不过既然我的源码公开,任何人想移植它都是可以的,尽管这可能不容易。

    Linus

    {这一大段,Torvalds讨论可移植性,首先表明写code才是王道,移植性再好,也意味着要写新code。进一步表明,移植性保持接口一致就OK。同时表明自己的理由,充分利用硬件的能力。最后说明linux是open source的,在接口一致的情况下,要移植谁都可以改它丫的

    }

    PS. I apologise for sometimes sounding too harsh: minix is nice enough if you have nothing else. Amoeba might be nice if you have 5-10 spare 386's lying around, but I certainly don't. I don't usually get into flames, but I'm touchy when it comes to linux :)

    PS. 有些话可能有些刺耳,我为此道歉:如果你什么都没有,minix足够好了。如果你有5-10个空闲的386,Amoeba也很好。我平时不大发火,涉及到linux我有点暴躁 :)

    {Torvalds现在都知道他大嘴了,不过那时还是小弟,还是小弟

    Torvalds这封信逐条反驳,特别是从一些纯技术的角度指出了一些问题,不像Tanenbaum第一封邮件那样光说不练

    }


    {ast反击的号角}


    From: ast@cs.vu.nl (Andy Tanenbaum)
    Subject: Re: LINUX is obsolete
    Date: 30 Jan 92 13:44:34 GMT 

    In article <1992Jan29.231426.20469@klaava.Helsinki.FI> torvalds@klaava.Helsinki. FI (Linus Benedict Torvalds) writes:


    >You use this [being a professor] as an excuse for the limitations of minix?

    The limitations of MINIX relate at least partly to my being a professor: An explicit design goal was to make it run on cheap hardware so students could afford it. In particular, for years it ran on a regular 4.77 MHZ PC with no hard disk. You could do everything here including modify and recompile the system. Just for the record, as of about 1 year ago, there were two versions, one for the PC (360K diskettes) and one for the 286/386 (1.2M). The PC version was outselling the 286/386 version by 2 to 1. I don't have figures, but my guess is that the fraction of the 60 million existing PCs that are 386/486 machines as opposed to 8088/286/680x0 etc is small. Among students it is even smaller. Making software free, but only for folks with enough money to buy first class hardware is an interesting concept.


    >你用这个(教授)作为minix的借口?

    minix的局限性至少部分地应该归因于我是一个教授:最主要的设计目标就是让minix运行在便宜的硬件上,以便学生也能负担。具体点说,这么多年来minix可以运行在没有硬盘的4.77MHz的机器上。你能做的是任何事情,包括修改和重新编译整个系统。准确起见,大约1年前,minix有两个版本,一个用于PC(360k磁盘空间),一个用于286/386(1.2M)。PC版本买的更多,而286/386版本大概是二比一。我手边没有数据可查,我估计在6000w台PCs比起8088/286/680x0等等,386/486是很少的,在学生中他们可能会更少。让软件免费,但是这只是为那些有钱买得起第一流的硬件的人提供,这可真是个好主意。

    {表明因为自己是个教授,minix主要用于学生,同时嘲讽linux虽然免费,但是它其实要求的硬件配置太高,大家实际上还是玩不起。

    这里Tanenbaum老先生似乎对摩尔定律估计不足,而且软件开发比起硬件来,是个本质上困难的问题}

    Of course 5 years from now that will be different, but 5 years from now everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5.

    当然,5年之后情况将会截然不通。不过5年之后每个人都会在他们的200MIPS,64M的SPARC station-5机器上运行自由的GNU了。

    {也表明自己的态度,相信免费是最终的方向,不过要在5年以后}


    >Re 2: your job is being a professor and researcher: That's one hell of a
    >good excuse for some of the brain-damages of minix. I can only hope (and
    >assume) that Amoeba doesn't suck like minix does. Amoeba was not designed to run on an 8088 with no hard disk. 
    >If this was the only criterion for the "goodness" of a kernel, you'd be
    >right. What you don't mention is that minix doesn't do the micro-kernel
    >thing very well, and has problems with real multitasking (in the >kernel). If I had made an OS that had problems with a multithreading
    >filesystem, I wouldn't be so fast to condemn others: in fact, I'd do my
    >damndest to make others forget about the fiasco.

    A multithreaded file system is only a performance hack. When there is only one job active, the normal case on a small PC, it buys you nothing and adds complexity to the code. On machines fast enough to support multiple users, you probably have enough buffer cache to insure a hit cache hit rate, in which case multithreading also buys you nothing. It is only a win when there are multiple processes actually doing real disk I/O. Whether it is worth making the system more complicated for this case is at least debatable.


    >...(引一大段话)

    多线程FS的问题只需要一个性能上的hack。再说在性能受限的PC上,通常只有一个job是激活的,多线程FS除了在code上带来复杂之外,不会带来什么。而在机器足够快的足以支持多用户的系统之上,可能有足够大的缓冲区来保证缓存命中率,在这种情况下多线程也不会带来什么。唯一有用的情况是,多个进程确实在磁盘I/O。在这种情情况下,让系统变得更加复杂是否是值得的至少是有争议的。

    {Tanenbaum轻描淡写的反驳了一番Torvalds指出的minix中的问题,得出不是个真正问题的结论。从后面将看到,这是一个失败的策略,从其他人的反馈来看,这是让Tanenbaum在后面的辩论中占据不利地位的一个因素}

    I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-)

    我依然坚持在1991年依然设计一个宏内核的系统是一个根本性的错误。感谢老天你不是我的学生,要不然这样一个设计是不会得到高分的:)

    {坚持基本观点,不过还是光说不练,保持了一种轻松的心态,似乎认为自己必胜。并且终于忍不住露出了学霸的嘴脸;-}


    >The fact is that linux is more portable than minix. What? I hear you
    >say. It's true - but not in the sense that ast means: I made linux as
    >conformant to standards as I knew how (without having any POSIX standard
    >in front of me). Porting things to linux is generally /much/ easier
    >than porting them to minix.

    MINIX was designed before POSIX, and is now being (slowly) POSIXized as everyone who follows this newsgroup knows. Everyone agrees that user-level standards are a good idea. As an aside, I congratulate you for being able to write a POSIX-conformant system without having the POSIX standard in front of you. I find it difficult enough after studying the standard at great length.


    >...

    MINIX在POSIX之前设计,在这个新闻组中的人也都知道,minix正在(缓慢的)POSIX化。任何人都认同在用户层面的标准是个好东东。说句题外话,恭喜你有能力在POSIX标准出来以前,就能写与POSIX兼容的系统。您别说,在学习标准标准一段时间后,我发现它还是很难的。

    {haha,Flame真的是蛮有意思的,看看骂人觉得挺过瘾,Tanenbaum呢是老派绅士的讥讽,Torvalds呢就是新时代青年的怒火,原文二人的语气和用词遣句都可以参悟参悟,绝对提升功力}

    My point is that writing a new operating system that is closely tied to any particular piece of hardware, especially a weird one like the Intel line, is basically wrong. An OS itself should be easily portable to new hardware platforms. When OS/360 was written in assembler for the IBM 360 25 years ago, they probably could be excused. When MS-DOS was written specifically for the 8088 ten years ago, this was less than brilliant, as IBM and Microsoft now only too painfully realize. Writing a new OS only for the 386 in 1991 gets you your second 'F' for this term. But if you do real well on the final exam, you can still pass the course.

    Prof. Andrew S. Tanenbaum (ast@cs.vu.nl)

    对于重新写一个与一个硬件架构紧密地联系的 OS,特别是Intel这样一个奇怪的产品线,我的观点是,这是根本错误的。一个OS自身应能够容易的移植到新的硬件平台上。在25年前,IBM 360选择用汇编在编写OS/360,他们可能还有借口。10年前MS-DOS只为8088写,这就要逊很多了。而IBM和M$现今也只能痛苦的面对现实。在1991年只为386重新写一个OS,会让你在这门课上得到第二个‘F’。不过如果你在期末考试中表现出色,你还是可以通过的。

    Prof. Andrew S. Tanenbaum (ast@cs.vu.nl)

     

    {又一次露出了学霸的面目

    咦,怎么落款也变了?前面多了什么?}



    From: feustel@netcom.COM (David Feustel)
    Subject: Re: LINUX is obsolete
    Date: 30 Jan 92 18:57:28 GMT
    Organization: DAFCO - An OS/2 Oasis 

    ast@cs.vu.nl (Andy Tanenbaum) writes:


    >I still maintain the point that designing a monolithic kernel in 1991 is
    >a fundamental error. Be thankful you are not my student. You would not
    >get a high grade for such a design :-) 

    That's ok. Einstein got lousy grades in math and physics.

    {这是来打酱油的}


    From: pete@ohm.york.ac.uk (-Pete French.)
    Subject: Re: LINUX is obsolete
    Date: 31 Jan 92 09:49:37 GMT
    Organization: Electronics Department, University of York, UK 

    In article <1992Jan30.195850.7023@epas.toronto.edu>, meggin@epas.utoronto.ca (David Megginson) says:>
    > In article <1992Jan30.185728.26477feustel@netcom.COM> feustel@netcom.COM (David
    > Feustel) writes:
    >>
    >>That's ok. Einstein got lousy grades in math and physics.
    >> And Dan Quayle got low grades in political science. I think that there
    >> are more Dan Quayles than Einsteins out there... ;-) 

    What a horrible thought ! 

    But on the points about microkernel v monolithic, isnt this partly an artifact of the language being used ? MINIX may well be designed as a microkernel system, but in the end you still end up with a large monolithic chunk of binary data that gets loaded in as "the OS". Isn't it written as separate programs simply because C does not support the idea of multiple processes within a single piece of monolithic code. Is there any real difference between a microkernel written as several pieces of C and a monolithic kernel written in something like OCCAM ? I would have thought that in this case the monolithic design would be a better one than the micorkernel style since with the advantage of inbuilt language concurrency the kernel could be made even more modular than the MINIX one is. 

    Anyone for MINOX :-) 

    -bat.

    {来挺Torvalds,认为宏内核和微内核在实现上区别有限,甚至宏内核是一个更好的选择}


    {肯爷爷也来了...}


    From: kt4@prism.gatech.EDU (Ken Thompson)
    Subject: Re: LINUX is obsolete
    Date: 3 Feb 92 23:07:54 GMT
    Organization: Georgia Institute of Technology 

    viewpoint may be largely unrelated to its usefulness. Many if not most of the software we use is probably obsolete according to the latest design criteria. Most users could probably care less if the internals of the operating system they use is obsolete. They are rightly more interested in its performance and capabilities at the user level. 

    有用性是与我们{**研究和开发人员**}所应该秉持的观点很大程度上是不相干的。根据最新的设计标准,如果不是大部分,至少是很多我们使用得软件都是过时的。大多数用户是不会关注他们正在使用的OS的内核是否过时,他们只会关注用户层面的性能和能力。

    {用户体验才是王道,而不是设计理念。隐约批评了Tanenbaum,不过在第一句,肯爷爷就说有用没用不要紧,哈~~

    后面大部分人会支持这个观点}

    I would generally agree that microkernels are probably the wave of the future. However, it is in my opinion easier to implement a monolithic kernel. It is also easier for it to turn into a mess in a hurry as it is modified.

    Regards, Ken

    我同意在一般意义上微内核是未来的发展趋势。但是,我个人以为实现一个宏内核要更容易一点。但是宏内核在需要修改的时候也更容易掉进泥潭。

    Regards, Ken

    {看看,什么叫两边都不得罪,什么叫和稀泥,看不出来肯爷爷居然这种主,话说得是真有水平啊,都快赶上领导了}



    From: kevin@taronga.taronga.com (Kevin Brown)
    Subject: Re: LINUX is obsolete
    Date: 4 Feb 92 08:08:42 GMT
    Organization: University of Houston 

    In article <47607@hydra.gatech.EDU > kt4@prism.gatech.EDU (Ken Thompson) writes:
    >viewpoint may be largely unrelated to its usefulness. Many if not
    >most of the software we use is probably obsolete according to the
    >latest design criteria. Most users could probably care less if the
    >internals of the operating system they use is obsolete. They are
    >rightly more interested in its performance and capabilities at the
    >user level.
    >
    >I would generally agree that microkernels are probably the wave of
    >the future. However, it is in my opinion easier to implement a
    >monolithic kernel. It is also easier for it to turn into a mess in
    >a hurry as it is modified. 

    How difficult is it to structure the source tree of a monolithic kernel such that most modifications don't have a large negative impact on the source? What sorts of pitfalls do you run into in this sort of endeavor, and what suggestions do you have for dealing with them? 

    I guess what I'm asking is: how difficult is it to organize the source such that most changes to the kernel remain localized in scope, even though the kernel itself is monolithic? 

    I figure you've got years of experience with monolithic kernels :-), so I'd think you'd have the best shot at answering questions like these. 

    Kevin Brown



    From: rburns@finess.Corp.Sun.COM (Randy Burns)
    Subject: Re: LINUX is obsolete
    Date: 30 Jan 92 20:33:07 GMT
    Organization: Sun Microsystems, Mt. View, Ca. 

    In article 12615@star.cs.vu.nl ast@cs.vu.nl (Andy Tanenbaum) writes:
    >In article <1992Jan29.231426.20469@klaava.Helsinki.FI > torvalds@klaava.Helsinki.
    >FI (Linus Benedict Torvalds) writes:  
    >Of course 5 years from now that will be different, but 5 years from now
    >everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5. Well, I for one would _love_ to see this happen.  
    >>The fact is that linux is more portable than minix. What? I hear you
    >>say. It's true - but not in the sense that ast means: I made linux as
    >>conformant to standards as I knew how (without having any POSIX standard
    >>in front of me). Porting things to linux is generally /much/ easier
    >>than porting them to minix.

    .........
    >My point is that writing a new operating system that is closely tied to any
    >particular piece of hardware, especially a weird one like the Intel line,
    >is basically wrong.

    First off, the parts of Linux tuned most finely to the 80x86 are the Kernel and the devices. My own sense is that even if Linux is simply a stopgap measure to let us all run GNU software, it is still worthwhile to have a finely tuned kernel for the most numerous architecture presently in existance. 


    > An OS itself should be easily portable to new hardware
    >platforms.

    Well, the only part of Linux that isn't portable is the kernel and drivers. Compare to the compilers, utilities, windowing system etc. this is really a small part of the effort. Since Linux has a large degree of call compatibility with portable OS's I wouldn't complain. I'm personally very grateful to have an OS that makes it more likely that some of us will be able to take advantage of the software that has come out of Berkeley, FSF, CMU etc. It may well be that in 2-3 years when ultra cheap BSD variants and Hurd proliferate, that Linux will be obsolete. Still, right now Linux greatly reduces the cost of using tools like gcc, bison, bash which are useful in the development of such an OS.


    {Torvalds再度出击}


    From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
    Subject: Re: LINUX is obsolete
    Date: 31 Jan 92 10:33:23 GMT
    Organization: University of Helsinki 

    In article <12615@star.cs.vu.nl > ast@cs.vu.nl (Andy Tanenbaum) writes:
    >The limitations of MINIX relate at least partly to my being a professor:
    >An explicit design goal was to make it run on cheap hardware so students
    >could afford it. 

    All right: a real technical point, and one that made some of my comments inexcusable. But at the same time you shoot yourself in the foot a bit: now you admit that some of the errors of minix were that it was too portable: including machines that weren't really designed to run unix. That assumption lead to the fact that minix now cannot easily be extended to have things like paging, even for machines that would support it. Yes, minix is portable, but you can rewrite that as "doesn't use any features", and still be right.

    >...

    什么都对:一个真正的技术观点,这使我的批评无可置疑。你正是搬起石头砸了自己的脚:现在你承认minix的问题在于它太可移植了一点:甚至包括了那些根本就不打算运行Unix的机器 。这个假设必定使minix不容易扩展到诸如支持分页,甚至是打算支持分页的机器上。是的,minix可移植,你可以用“不使用任何{**新硬件**}features”的方式来重写,这依然是对的。


    >A multithreaded file system is only a performance hack. 

    Not true. It's a performance hack /on a microkernel/, but it's an automatic feature when you write a monolithic kernel - one area where microkernels don't work too well (as I pointed out in my personal mail to ast). When writing a unix the "obsolete" way, you automatically get a multithreaded kernel: every process does it's own job, and you don't have to make ugly things like message queues to make it work efficiently.


    > ...

    这不对。这是一个在/微内核/上的性能hack,但是在宏内核上这是一个自然而然的feature - 这是一个微内核做的很差的一个地方(正如在我写给ast的私人邮件里那样)。按照“过时的”方式写的unix,你自然而然的会得到一个多线程的内核:每个进程都有自己的工作,你不需要诸如消息队列这样丑陋的东西来让一切工作的更有效。

    {继续抓住技术问题,穷追猛打}

    Besides, there are people who would consider "only a performance hack" vital: unless you have a cray-3, I'd guess everybody gets tired of waiting on the computer all the time. I know I did with minix (and yes, I do with linux too, but it's /much/ better). 

    除此之外,那些认为“只是一个性能上的hack”重要的人:除非你有一台cray-3,我猜任何时候所有人都厌倦了等待机器。我知道我对minix就是如此(啊,是的,对linux我一样如此,不过这要好得/多/)。

    {cray-3是一种超级计算机,用于上世纪80年代末期}


    >I still maintain the point that designing a monolithic kernel in 1991 is
    >a fundamental error. Be thankful you are not my student. You would not
    >get a high grade for such a design :-) 

    Well, I probably won't get too good grades even without you: I had an argument (completely unrelated - not even pertaining to OS's) with the person here at the university that teaches OS design. I wonder when I'll learn :) 

    > ...

    这样吧,即使我没有你,我也很可能拿不到好成绩:在这儿的那些在大学里教OS设计的人,我有一点异议要表达(完全没联系 - 不光OS什么事),我好奇什么时候我才要学习:)

    {富贵功名与我如浮云,你想叫我还不学呢

    又:瞧他最后一句说的多BH,天做衣裳地做席,我就不知道我还有需要学习的时候,牛人啊...}

    >My point is that writing a new operating system that is closely tied to any
    >particular piece of hardware, especially a weird one like the Intel line,
    >is basically wrong. 

    But /my/ point is that the operating system /isn't/ tied to any processor line: UNIX runs on most real processors in existence. Yes, the /implementation/ is hardware-specific, but there's a HUGE difference. You mention OS/360 and MS-DOG as examples of bad designs as they were hardware-dependent, and I agree. But there's a big difference between these and linux: linux API is portable (not due to my clever design, but due to the fact that I decided to go for a fairly-well-thought-out and tested OS: unix.) 


    >...

    但是/我/的观点是OS/不/系于任何一条处理器产品线:UNIX可以运行在大部分现在存在的处理器上。是的,/实现/是硬件相关的,但是这中间有巨大的区别。你说OS/360和MS-DOG{**WTF**}是个硬件中立设计的坏样板,我同意。但是这些OS和linux之间是不同的:linux的API是可移植的(不是因为我明智的设计,而是因为我决定跟随一个慎重考虑的,经过验证的OS :unix)

    If you write programs for linux today, you shouldn't have too many surprises when you just recompile them for Hurd in the 21st century. As has been noted (not only by me), the linux kernel is a miniscule part of a complete system: Full sources for linux currently runs to about 200kB compressed - full sources to a somewhat complete developement system is at least 10MB compressed (and easily much, much more). And all of that source is portable, except for this tiny kernel that you can (provably: I did it) re-write totally from scratch in less than a year without having /any/ prior knowledge. 

    你今天为linux写的程序,当你发现在21c,只需要为Hurd重现编译下就可以了的时候,请不要太惊奇。正如已经提到的(不仅仅是我一个人),linux内核只是整个系统的一小部分:现在linux全部的源代码压缩后只有200kB - 完整意义上的系统的源代码压缩后至少有10MB(很容易就多的多)。所有{linux现今的}源代码都是可移植的,除了这个微小的内核,也就是说你可以(可以查明:我就做过),在完全没有/任何/基础知识的情况下,1年以内你可以重头开始重新写出来。

    {Hurd,就是GNU project中那个传说的kernel}

    In fact the /whole/ linux kernel is much smaller than the 386-dependent things in mach: i386.tar.Z for the current version of mach is well over 800kB compressed (823391 bytes ccording to nic.funet.fi). Admittedly, mach is "somewhat" bigger and has more features, but that should still tell you something.

    Linus

    实际上,比起386架构相关的mach,/整个/linux内核要小很多:mach现今的压缩过的版本i386.tar.Z大于800kB(据nic.funet.fi,823391字节)。诚然,mach“某种程度上”是要更大,也有更多的features,不过这个事实依然可以说明一点什么。

    Linus



    From: kaufman@eecs.nwu.edu (Michael L. Kaufman)
    Subject: Re: LINUX is obsolete
    Date: 3 Feb 92 22:27:48 GMT
    Organization: EECS Department, Northwestern University 

     

    I tried to send these two posts from work, but I think they got eaten. If you have seen them already, sorry. 

    ------------------------------------------------------------------------------- 

    Andy Tanenbaum writes an interesting article (also interesting was finding out that he actually reads this group) but I think he is missing an important point. 

    He Wrote:
    >As most of you know, for me MINIX is a hobby, ... 

    Which is also probably true of most, if not all, of the people who are involved in Linux. We are not developing a system to take over the OS market, we are just having a good time. 


    > What is going to happen
    > is that they will gradually take over from the 80x86 line. They will
    > run old MS-DOS programs by interpreting the 80386 in software. 

    Well when this happens, if I still want to play with Linux, I can just run it on my 386 simulator. 


    > MINIX was designed to be reasonably portable, and has been ported from the
    > Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016.
    > LINUX is tied fairly closely to the 80x86. Not the way to go. 

    That's fine for the people who have those machines, but it wasn't a free lunch. That portibility was gained at the cost of some performance and some features on the 386. Before you decide that LINUX is not the way to go, you should think about what it is going to be used for. I am going to use it for running memory and computation intensive graphics programs on my 486. For me, speed and memory were more important then future state-of-the-artness and portability. 


    >But in all honesty, I would
    >suggest that people who want a **MODERN** "free" OS look around for a
    >microkernel-based, portable OS, like maybe GNU or something like that. 

    I don't know of any free microkernel-based, portable OSes. GNU is still vaporware, and likely to remain that way for the forseeable future. Do you actually have one to recomend, or are you just toying with me? ;-) 

    ------------------------------------------------------------------------------ 

    In article 12615@star.cs.vu.nl ast@cs.vu.nl (Andy Tanenbaum) writes:
    >My point is that writing a new operating system that is closely tied to any
    >particular piece of hardware, especially a weird one like the Intel line,
    >is basically wrong. An OS itself should be easily portable to new hardware
    >platforms. 

    I think I see where I disagree with you now. You are looking at OS design as an end in itself. Minix is good because it is portable/Micro-Kernal/etc. Linux is not good because it is monolithic/tightly tied to Intel/etc. That is not a strange attitude for someone in the acedemic world, but it is not something you should expect to be universally shared. Linux is not being written as a teaching tool, or as an abstract exercise. It is being written to allow people to run GNU-type software _today_. The fact that it may not be in use in five years is less important then the fact that today (well, by April probably) I can run all sorts of software on it that I want to run. You keep saying that Minix is better, but if it will not run the software that I want to run, it really isn't that good (for me) at all. 


    > When OS/360 was written in assembler for the IBM 360
    >25 years ago, they probably could be excused. When MS-DOS was written
    >specifically for the 8088 ten years ago, this was less than brilliant, as
    >IBM and Microsoft now only too painfully realize. 

    Same point. MSoft did not come out with Dos to "explore the frontiers of os research". They did it to make a buck. And considering the fact that MS-DOS probably still outsells everyone else put together, I don't think that you say that they have failed _in their goals_. Not that MS-Dos is the best OS in terms of anything else, only that it has served their needs. 

    Michael

    {这个老兄从工程学的观点支持linux,指责minix/Tanenbaum光说不练}



    From: julien@incal.inria.fr (Julien Maisonneuve)
    Subject: Re: LINUX is obsolete
    Date: 3 Feb 92 17:10:14 GMT 

    I would like to second Kevin brown in most of his remarks.

    I'll add a few user points :

    - When ast states that FS multithreading is useless, it reminds me of the many times I tried to let a job run in the background (like when reading an archive on a floppy), it is just unusable, the & shell operator could even have been left out.

    - Most interesting utilities are not even compilable under Minix because of the ATK compiler's incredible limits. Those were hardly understandable on a basic PC, but become absurd on a 386. Every stupid DOS compiler has a large model (more expensive, OK). I hate the 13 bit compress !

    - The lack of Virtual Memory support prevents people studying this area to experiment, and prevents users to use large programs. The strange design of the MM also makes it hard to modify.

    The problem is that even doing exploratory work under minix is painful. If you want to get any work done (or even fun), even DOS is becoming a better alternative (with things like DJ GPP). In its basic form, it is really no more than OS course example, a good toy, but a toy. Obtaining and applying patches is a pain, and precludes further upgrades.

    Too bad when not so much is missing to make it really good. Thanks for the work andy, but Linux didn't deserve your answer. For the common people, it does many things better than Minix. 

    Julien Maisonneuve. 

    This is not a flame, just my experience.

    {果然,这个老兄就从肯爷爷说的,用户体验的角度谈了几个minux的缺陷,同时也是Torvalds所说的多线程,缺乏虚拟内存管理,页式管理}


    {此君好像是个猛人}


    From: richard@aiai.ed.ac.uk (Richard Tobin)
    Subject: Re: LINUX is obsolete
    Date: 4 Feb 92 14:46:49 GMT Reply-To: richard@aiai.UUCP (Richard Tobin)
    Organization: AIAI, University of Edinburgh, Scotland 

    In article 12615@star.cs.vu.nl ast@cs.vu.nl (Andy Tanenbaum) writes:
    >A multithreaded file system is only a performance hack. When there is only
    >one job active, the normal case on a small PC, it buys you nothing 

    I find the single-threaded file system a serious pain when using Minix. I often want to do something else while reading files from the (excruciatingly slow) floppy disk. I rather like to play rogue while waiting for large C or Lisp compilations. I look to look at files in one editor buffer while compiling in another. 

    (The problem would be somewhat less if the file system stuck to serving files and didn't interact with terminal i/o.) 

    Of course, in basic Minix with no virtual consoles and no chance of running emacs, this isn't much of a problem. But to most people that's a failure, not an advantage. It just isn't the case that on single-user machines there's no use for more than one active process; the idea only has any plausibility because so many people are used to poor machines with poor operating systems. 

    As to portability, Minix only wins because of its limited ambitions. If you wanted a full-featured Unix with paging, job-control, a window system and so on, would it be quicker to start from basic Minix and add the features, or to start from Linux and fix the 386-specific bits? I don't think it's fair to criticise Linux when its aims are so different from Minix's. If you want a system for pedagogical use, Minix is the answer. But if what you want is an environment as much like (say) a Sun as possible on your home computer, it has some deficiencies. 

    -- Richard {同样指出minux在多线程文件系统上糟糕的用户体验,

    另外,指出minux在可移植性上较好的原因,正是Torvalds所说的有限的features实现,要简单,没有页式内存管理等等}


    {ast,第三次出现}


    From: ast@cs.vu.nl (Andy Tanenbaum)
    Subject: Re: LINUX is obsolete
    Date: 5 Feb 92 14:48:48 GMT
    Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam 

    In article 6121@skye.ed.ac.uk richard@aiai.UUCP (Richard Tobin) writes:
    >If you wanted a full-featured Unix with paging, job-control, a window
    >system and so on, would it be quicker to start from basic Minix and
    >add the features, or to start from Linux and fix the 386-specific
    >bits? 

    Another option that seems to be totally forgotten here is buy UNIX or a clone. If you just want to USE the system, instead of hacking on its internals, you don't need source code. Coherent is only $99, and there are various true UNIX systems with more features for more money. For the true hacker, not having source code is fatal, but for people who just want a UNIX system, there are many alternatives (albeit not free).

    Andy Tanenbaum (ast@cs.vul.nl)  

    这里好像另一个观点被忘记了,那就是购买UNIX或者克隆它。如果你只是需要使用系统,而不是从内部去hack他,那么你不需要源代码。两者加一起需要$99,更多其他的有着更多features的UNIX系统需要更多的钱。对于一名真正的hacker,没有源代码是致命的,而对那些仅仅希望一个UNIX系统的人,还是有很多其他的选择的(albeit不是免费的)

      Andy Tanenbaum (ast@cs.vul.nl)



    From: ajt@doc.ic.ac.uk (Tony Travis)
    Subject: Re: LINUX is obsolete
    Date: 6 Feb 92 02:17:13 GMT
    Organization: Department of Computing, Imperial College, University of London, UK. 

     

    ast@cs.vu.nl (Andy Tanenbaum) writes:


    > Another option that seems to be totally forgotten here is buy UNIX or a
    > clone. If you just want to USE the system, instead of hacking on its
    > internals, you don't need source code. Coherent is only $99, and there
    > are various true UNIX systems with more features for more money. For the
    > true hacker, not having source code is fatal, but for people who just
    > want a UNIX system, there are many alternatives (albeit not free). 

     

    Andy, I have followed the development of Minix since the first messages were posted to this group and I am now running 1.5.10 with Bruce Evans's patches for the 386. 

    I 'just' want a Unix on my PC and I am not interested in hacking on its internals, but I *do* want the source code! 

    An important principle underlying the success and popularity of Unix is the philosophy of building on the work of others. 

    This philosophy relies upon the availability of the source code in order that it can be examined, modified and re-used in new software. 

    Many years ago, I was in the happy position of being an AT&T Seventh Edition Unix source licencee but, even then, I saw your decision to make the source of Minix available as liberation from the shackles of AT&T copyright!! 

    I think you may sometimes forget that your 'hobby' has had a profound effect on the availability of 'personal' Unix (ie. affordable Unix) and that the 8086 PC I ran Minix 1.2 on actually cost me considerably more than my present 386/SX clone. 

    Clearly, Minix _cannot_ be all things to all men, but I see the progress to 386 versions in much the same way that I see 68000 or other linear address space architectures: it is a good thing for people like me who use Minix and feel constrained by the segmented architecture of the PC version for applications. 

    NOTHING you can say would convince me that I should use Coherent ... 

    Tony

    {ast的拥趸,从侧面反映了广大Unix用户对AT&T的不满,热切地希望替代品,特别是PC上的替代品的出现。也许这也能解释BSD和linux的命运差异吧,当然社区领导人的因素也可能是原因之一}



    From: richard@aiai.ed.ac.uk (Richard Tobin)
    Subject: Re: LINUX is obsolete
    Date: 7 Feb 92 14:58:22 GMT
    Organization: AIAI, University of Edinburgh, Scotland 

    In article <12696@star.cs.vu.nl
    > ast@cs.vu.nl (Andy Tanenbaum) writes:
    >If you just want to USE the system, instead of hacking on its
    >internals, you don't need source code.  

    Unfortunately hacking on the internals is just what many of us want the system for... You'll be rid of most of us when BSD-detox or GNU comes out, which should happen in the next few months (yeah, right). 

    -- Richard

    {早期用户都是高级用户,特别是PC用户,都是hacker,看看这个发言人的身份吧}



    From: comm121@unixg.ubc.ca (Louie)
    Subject: Re: LINUX is obsolete
    Date: 30 Jan 92 02:55:22 GMT
    Organization: University of British Columbia, Vancouver, B.C., Canada 

     

    In <12595@star.cs.vu.nl > ast@cs.vu.nl (Andy Tanenbaum) writes:  
    >But in all honesty, I would
    >suggest that people who want a **MODERN** "free" OS look around for a
    >microkernel-based, portable OS, like maybe GNU or something like that.

    There are really no other alternatives other than Linux for people like me who want a "free" OS. Considering that the majority of people who would use a "free" OS use the 386, portability is really not all that big of a concern. If I had a Sparc I would use Solaris. 

    As it stands, I installed Linux with gcc, emacs 18.57, kermit and all of the GNU utilities without any trouble at all. No need to apply patches. I just followed the installation instructions. I can't get an OS like this *anywhere* for the price to do my Computer Science homework. And it seems like network support and then X-Windows will be ported to Linux well before Minix. This is something that would be really useful. In my opinion, portability of standard Unix software is important also. 

    I know that the design using a monolithic system is not as good as the microkernel. But for the short term future (And I know I won't/can't be uprading from my 386), Linux suits me perfectly. 

    Philip Wu pwu@unixg.ubc.ca

     

    {再次看到在PC革命刚刚开始的时候,可供PC机上运行的类Unix系统选择不多,solaris和BSD一个由于商业策略,一个由于不关心PC(我猜的:),错过了发展的绝佳机会,而其他同时代的众多原形,包括文中提到的众多OS,最典型的如Hurd过于雄心勃勃,没有注意到诸如ken爷爷说的UI问题,推出速度不够快,WIB

    还有早期用户,可以看到这些人的能力都是非常强的专业人士,几乎是打着灯笼也难找的用户,他们关心的是一个真正可以运行的系统,linux占的了先机

    linux上的另一个优势是和GNU项目的紧密结合,应用软件也是很重要的UI,GNU项目雄心万丈,由于PC革命的过早开始,或者GNU推出OS的速度赶不上PC革命,使得GNU的发展有点变样了}



    From: dgraham@bmers30.bnr.ca (Douglas Graham)
    Subject: Re: LINUX is obsolete
    Date: 1 Feb 92 00:26:30 GMT
    Organization: Bell-Northern Research, Ottawa, Canada 

    In article <12595@star.cs.vu.nl > ast@cs.vu.nl (Andy Tanenbaum) writes:  
    > While I could go into a long story here about the relative merits of the
    > two designs, suffice it to say that among the people who actually design
    > operating systems, the debate is essentially over. Microkernels have won. 

    Can you recommend any (unbiased) literature that points out the strengths and weaknesses of the two approaches? I'm sure that there is something to be said for the microkernel approach, but I wonder how closely Minix resembles the other systems that use it. Sure, Minix uses lots of tasks and messages, but there must be more to a microkernel architecture than that. I suspect that the Minix code is not split optimally into tasks.

    > The only real argument for monolithic systems was performance, and there
    > is now enough evidence showing that microkernel systems can be just as
    > fast as monolithic systems (e.g., Rick Rashid has published papers comparing
    > Mach 3.0 to monolithic systems) that it is now all over but the shoutin`. 

    My main complaint with Minix is not it's performance. It is that adding features is a royal pain -- something that I presume a microkernel architecure is supposed to alleviate.  
    > MINIX is a microkernel-based system. 

    Is there a consensus on this?

    > LINUX is
    > a monolithic style system. This is a giant step back into the 1970s.
    > That is like taking an existing, working C program and rewriting it in
    > BASIC. To me, writing a monolithic system in 1991 is a truly poor idea. 

    This is a fine assertion, but I've yet to see any rationale for it. Linux is only about 12000 lines of code I think. I don't see how splitting that into tasks and blasting messages around would improve it.

    >Don't get me wrong, I am not unhappy with LINUX. It will get all the people
    >who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would
    >suggest that people who want a **MODERN** "free" OS look around for a
    >microkernel-based, portable OS, like maybe GNU or something like that.

    Well, there are no other choices that I'm aware of at the moment. But when GNU OS comes out, I'll very likely jump ship again. I sense that you *are* somewhat unhappy about Linux (and that surprises me somewhat). I would guess that the reason so many people embraced it, is because it offers more features. Your approach to people requesting features in Minix, has generally been to tell them that they didn't really want that feature anyway. I submit that the exodus in the direction of Linux proves you wrong. 

    Disclaimer: I had nothing to do with Linux development. I just find it an easier system to understand than Minix.

    Doug Graham dgraham@bnr.ca My opinions are my own.

    {这个老兄认为minux不能算作是真正的微内核的OS,说明微内核的OS在实现上非常困难,实际上,早在1991年的环境下恰恰是微内核的OS的实现是不大可能有着像样的结果的 也提到了GNU OS并没有推出,而linux的诱惑在于提供了足够多的features}


    {作者的link}


    From: hedrick@klinzhai.rutgers.edu (Charles Hedrick)
    Subject: Re: LINUX is obsolete
    Date: 1 Feb 92 00:27:04 GMT
    Organization: Rutgers Univ., New Brunswick, N.J.  

    The history of software shows that availability wins out over technical quality every time. That's Linux' major advantage. It's a small 386-based system that's fairly compatible with generic Unix, and is freely available. I dropped out of the Minix community a couple of years ago when it became clear that (1) Minix was not going to take advantage of anything beyond the 8086 anytime in the near future, and (2) the licensing -- while amazingly friendly -- still made it hard for people who were interested in producing a 386 version. Several people apparently did nice work for the 386. But all they could distribute were diffs. This made bringing up a 386 system a job that isn't practical for a new user, and in fact I wasn't sure I wanted to do it.  

    I apologize if things have changed in the last couple of years. If it's now possible to get a 386 version in a form that's ready to run, the community has developed a way to share Minix source, and bringing up normal Unix programs has become easier in the interim, then I'm willing to reconsider Minix. I do like its design.  

    It's possible that Linux will be overtaken by Gnu or a free BSD. However, if the Gnu OS follows the example of all other Gnu software, it will require a system with 128MB of memory and a 1GB disk to use. There will still be room for a small system. My ideal OS would be 4.4 BSD. But 4.4's release date has a history of extreme slippage. With most of their staff moving to BSDI, it's hard to believe that this situation is going to be improved. For my own personal use, the BSDI system will probably be great. But even their very attractive pricing is likely to be too much for most of our students, and even though users can get source from them, the fact that some of it is proprietary will again mean that you can't just put altered code out for public FTP. At any rate, Linux exists, and the rest of these alternatives are vapor.

    {第一句话开明综意,软件的可用性要比技术上的考量更重要,指出minux有两个劣势,第一是可用性,第二是许可证。虽然minux的设计他很喜欢。 linux其他竞争者GNU要求的资源太高,还是太雄心。BSD4.4陈旧,开发者流失,BSDI在价格和许可证上都有点问题}


    {大名鼎鼎的Ts'o,linux kernel专家,fs专家,牛人都是牛,看看这封信的语气和口吻,此君也不是善茬}
    From: tytso@athena.mit.edu (Theodore Y. Ts'o)
    Subject: Re: LINUX is obsolete
    Date: 31 Jan 92 21:40:23 GMT
    Organization: Massachusetts Institute of Technology In-Reply-To: ast@cs.vu.nl's message of 29 Jan 92 12: 12:50 GMT


    >From: ast@cs.vu.nl (Andy Tanenbaum)   
    >ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a >gross error to design an OS for any specific architecture, since that is
    >not going to be around all that long.  

    It's not your fault for believing that Linux is tied to the 80386 architecture, since many Linux supporters (including Linus himself) have made the this statement. However, the amount of 80386-specific code is probably not much more than what is in a Minix implementation, and there is certainly a lot less 80386 specific code in Linux than here is Vax-specific code in BSD 4.3. 

    >...

    认为Linux和80386架构是捆在一起,这不是你的错。太多人(包括Linus本人)都这样宣称过。{Linux}与80386架构相关的代码并不比Minux实现中要多,而且比起BSD4.3种和Vax架构相关的代码来说,{Linux}和80386相关的代码也肯定要少。

    {一上来就拿code说事,表明了一个真正programmer的自豪感和不屑}

    Granted, the port to other architectures hasn't been done yet. But if I were going to bring up a Unix-like system on a new architecture, I'd probably start with Linux rather than Minix, simply because I want to have some control over what I can do with the resulting system when I'm done with it. Yes, I'd have to rewrite large portions of the VM and device driver layers --- but I'd have to do that with any other OS. Maybe it would be a little bit harder than it would to port Minix to the new architecture; but this would probably be only true for the first architecture that we ported Linux to.  

    虽然{Linux}向其他架构的移植尚未完成。如果要打算想要一个新的架构移植一个类Unix系统,我情愿从Linux而不是Minux开始,因为在做这个工作时,我简单的希望对这个系统有所控制。诚然,我必须重写很多VM和设备驱动---对于其他任何OS我也不得不这样做。也许比起Minux,移植到一个新的架构这要困难一点,但是这只发生在我们第一次移植Linux到一个新的架构时。 {坚持一种工程学观点,下面还有反映}
    >While I could go into a long story here about the relative merits of the
    >two designs, suffice it to say that among the people who actually design
    >operating systems, the debate is essentially over. Microkernels have won.
    >The only real argument for monolithic systems was performance, and there
    >is now enough evidence showing that microkernel systems can be just as
    >fast as monolithic systems (e.g., Rick Rashid has published papers comparing
    >Mach 3.0 to monolithic systems) that it is now all over but the shoutin'.  

    This is not necessarily the case; I think you're painting a much more black and white view of the universe than necessarily exists. I refer you to such papers as Brent Welsh's (welch@parc.xerox.com) "The Filsystem Belongs in the Kernel" paper, where in he argues that the filesystem is a mature enough abstraction that it should live in the kernel, not outside of it as it would in a strict microkernel design.

    >...

    这并不是必需的,我认为你这是一种实际上不必要的非白即黑的观点。我得向您指出这样一篇论文Brent Welsh's (welch@parc.xerox.com) "The Filsystem Belongs in the Kernel",论文中作者认为fs是一种足够成熟的抽象层,如果是一个严格的微内核设计,fs应该实现于内核之中,而不是其外。

    {观念也许不重要...起码我不关心}

    There also several people who have been concerned about the speed of OSF/1 Mach when compared with monolithic systems; in particular, the nubmer of context switches required to handle network traffic, and networked filesystems in particular.

    还有一些人在把OSF/1 Mach与宏内核系统比较的时候,关注运行速度;特别是在网络文件系统上,在上下文切换时需要去面对更多网络处理。

    I am aware of the benefits of a micro kernel approach. However, the fact remains that Linux is here, and GNU isn't --- and people have been working on Hurd for a lot longer than Linus has been working on Linux. Minix doesn't count because it's not free. :-)

    我很清楚微内核方式的好处,但是现实是Linux就在这儿,而GNU不存在---在Hurd上的老兄比在Linux上的老兄工作的时间要更久。Minix不能位列其中,因为它甚至不是免费的:-)

    I suspect that the balance of micro kernels versus monolithic kernels depend on what you're doing. If you're interested in doing research, it is obviously much easier to rip out and replace modules in a micro kernel, and since only researchers write papers about operating systems, ipso facto micro kernels must be the right approach. However, I do know a lot of people who are not researchers, but who are rather practical kernel programmers, who have a lot of concerns over the cost of copying and the cost of context switches which are incurred in a micro kernel.

    我怀疑在微内核和宏内核系统之间存在一种平衡,取决于你要做什么。如果你兴趣在做研究上,在微内核系统上拿掉并替换掉一个模块显然要更容易,因为研究者只需要写写OS的论文,{在这种意义上}微内核是理论正确的。但是我知道这里很多人不是研究者,使一些更实际的程序员,比起拷贝的代价或者上下文切换的代价这些在微内核上需要关心的问题来,有很多其他的问题更值得关心。

    {瞧瞧,这几段话写的,完全符合一个牛人在我心目中的形象啊,囧}

    By the way, I don't buy your arguments that you don't need a multi-threaded filesystem on a single user system. Once you bring up a windowing system, and have a compile going in one window, a news reader in another window, and UUCP/C News going in the background, you want good filesystem performance, even on a single-user system. Maybe to a theorist it's an unnecessary optimization and a (to use your words) "performance hack", but I'm interested in a Real operating system --- not a research toy.

    另外,我不是故意的说在一个单用户的系统上你就不需要多线程的fs。如果你打开一个窗口,另一个窗口中编译,在后代还有UUCP/C读新闻组,甚至在单用户系统上你也需要很好的fs性能。不过,也许在一个理论家的眼中者是不需要优化的或者(用你的话说)“性能hack”,但是我只对一个真正的OS感兴趣---而不是一个研究玩具。

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Theodore Ts'o bloom-beacon!mit-athena!tytso

    308 High St., Medford, MA 02155 tytso@athena.mit.edu

    Everybody's playing the game, but nobody's rules are the same!

    {我觉得Tso也许是到目前为止的最挺Linux的一个,或者说是对ast持批评态度最激烈的一个,甚至Linus本人都没有Tso那么强烈

    Tso不单言词犀利,而且观点鲜明,并且保持/强调了一个程序员的强烈自豪感}



    From: joe@jshark.rn.com
    Subject: Re: LINUX is obsolete
    Date: 31 Jan 92 13:21:44 GMT
    Organization: a blip of entropy 

    In article <12595@star.cs.vu.nl
    > ast@cs.vu.nl (Andy Tanenbaum) writes:
    >
    > MINIX was designed to be reasonably portable, and has been ported from the
    > Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016.
    > LINUX is tied fairly closely to the 80x86. Not the way to go. 

    If you looked at the source instead of believing the author, you'd realise this is not true! 

    He's replaced 'fubyte' by a routine which explicitly uses a segment register - but that could be easily changed. Similarly, apart from a couple of places which assume the '386 MMU, a couple of macros to hide the exact page sizes etc would make porting trivial. Using '386 TSS's makes the code simpler, but the VAX and WE32000 have similar structures. 

    As he's already admitted, a bit of planning would have the the system neater, but merely putting '386 assembler around isn't a crime! 

    And with all due respect:

    - the Book didn't make an issue of portability (apart from a few "#ifdef M8088"s)

    - by the time it was released, Minix had come to depend on several 8086 "features" that caused uproar from the 68000 users.  
    >Andy Tanenbaum (ast@cs.vu.nl) 

    joe.

    {也是来bs Tanenbaum的,居然细扣到了代码的地步,虽然显得有些墙倒众人推的意思,但是代码这个最重要,最能说明问题的地方,minux看来是做得有些不够...

    惨烈阿,到此为止的论战几乎是一种半场攻防演练...}



    From: entropy@wintermute.WPI.EDU (Lawrence C. Foard)
    Subject: Re: LINUX is obsolete
    Date: 5 Feb 92 14:56:30 GMT
    Organization: Worcester Polytechnic Institute 

    In article <12595@star.cs.vu.nl
    > ast@cs.vu.nl (Andy Tanenbaum) writes:
    >Don`t get me wrong, I am not unhappy with LINUX. It will get all the people
    >who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would
    >suggest that people who want a **MODERN** "free" OS look around for a
    >microkernel-based, portable OS, like maybe GNU or something like that.    

    I believe you have some valid points, although I am not sure that a microkernel is necessarily better. It might make more sense to allow some combination of the two. As part of the IPC code I'm writting for Linux I am going to include code that will allow device drivers and file systems to run as user processes. These will be significantly slower though, and I believe it would be a mistake to move everything outside the kernel (TCP/IP will be internal).    

    Actually my main problem with OS theorists is that they have never tested there ideas! None of these ideas (with a partial exception for MACH) has ever seen the light of day. 32 bit home computers have been available for almost a decade and Linus was the first person to ever write a working OS for them that can be used without paying AT&T $100,000. A piece of software in hand is worth ten pieces of vaporware, OS theorists are quick to jump all over an OS but they are unwilling to ever provide an alternative.    

    The general consensus that Micro kernels is the way to go means nothing when a real application has never even run on one.    

    The release of Linux is allowing me to try some ideas I've been wanting to experment with for years, but I have never had the opportunity to work with source code for a functioning OS.  

    {不出意料,又是反对Tanenbaum的人。 事态从Tso开始似乎有点失控,几乎上升到了人身攻击的地步,出现了一个名词,OS理论家。难怪下面ast要跳出来了...}


    {ast第四次出现,有点愤怒,不过还好,还能开玩笑}

    From: ast@cs.vu.nl (Andy Tanenbaum)
    Subject: Re: LINUX is obsolete
    Date: 5 Feb 92 23:33:23 GMT
    Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam 

    In article <1992Feb5.145630.759@wpi.WPI.EDU > entropy@wintermute.WPI.EDU (Lawrence C. Foard) writes:
    >Actually my main problem with OS theorists is that they have never tested
    >there ideas!

    I'm mortally insulted. I AM NOT A THEORIST. Ask anybody who was at our department meeting yesterday (in joke).  

    >我认为OS理论家的主要问题是他们从来不去验证他们

    >自己的想法。

    我被严重冒犯了。我不是一个理论家。问问任何一个昨天参加我们系会议的人(开个玩笑)。

    {这个笑话有点冷,大概得意思我猜Tanenbaum是说自己和那些正统教授不是一路人}

    Actually, these ideas have been very well tested in practice. OSF is betting its whole business on a microkernel (Mach 3.0). USL is betting its business on another one (Chorus). Both of these run lots of software, and both have been extensively compared to monolithic systems. Amoeba has been fully implemented and tested for a number of applications. QNX is a microkernel based system, and someone just told me the installed base is 200,000 systems. Microkernels are not a pipe dream. They represent proven technology.  

    事实上,这些观点在实践中都有很好的验证。OSF把他所有的事务都赌在微内核上(Mach 3.0),USL把赌注下在另一个上(Chorus)。这两个都有很多软件要运行,并且他们都对宏内核系统作了深入广泛地比较。Amoeba也快完成,并且很多应用都作过了测试。QNX是一个基于微内核的系统,有人告诉我装机量大约在200,000台。微内核不是白日梦,而是一种证明了的技术。

    {摆出一些事实,对上面众多人等的质疑做出有力的反击}

    The Mach guys wrote a paper called "UNIX as an application program." It was by Golub et al., in the Summer 1990 USENIX conference. The Chorus people also have a technical report on microkernel performance, and I coauthored another paper on the subject, which I mentioned yesterday (Dec. 1991 Computing Systems). Check them out.  

    Andy Tanenbaum (ast@cs.vu.nl)

     

    Mach的那些家伙们写了一篇论文,"UNIX as an application program." 由Golub等人完成,提交在1990年夏天的USENIX会议上。Chorus的那些人也有一个关于微内核性能的技术报告,我也和他人合作了一篇论文,就是我昨天提到的(1991/12,Computing Systems)请自行察看。

    Andy Tanenbaum (ast@cs.vu.nl)



    From: peter@ferranti.com (peter da silva)
    Subject: Re: LINUX is obsolete
    Organization: Xenix Support, FICC
    Date: Thu, 6 Feb 1992 16:02:47 GMT 

    In article <12747@star.cs.vu.nl
    > ast@cs.vu.nl (Andy Tanenbaum) writes:
    > QNX is a microkernel
    > based system, and someone just told me the installed base is 200,000 systems.  

    Oh yes, while I'm on the subject... there are over 3 million Amigas out there, which means that there are more of them than any UNIX vendor has shipped, and probably more than all UNIX systems combined.



    From: peter@ferranti.com (peter da silva)
    Subject: Re: LINUX is obsolete
    Organization: Xenix Support, FICC
    Date: Thu, 6 Feb 1992 16:00:22 GMT 

    In article 1992Feb5.145630.759@wpi.WPI.EDU entropy@wintermute.WPI.EDU (Lawrence C. Foard) writes:
    > Actually my main problem with OS theorists is that they have never tested
    > there ideas!  

    I beg to differ... there are many microkernel operating systems out there for everything from an 8088 (QNX) up to large research systems.  
    > None of these ideas (with a partial exception for MACH) has ever
    > seen the light of day. 32 bit home computers have been available for almost a
    > decade and Linus was the first person to ever write a working OS for them
    > that can be used without paying AT&T $100,000.  

    I must have been imagining AmigaOS, then. I've been using a figment of my imagination for the past 6 years.  

    AmigaOS is a microkernel message-passing design, with better response time and performance than any other readily available PC operating system: including MINIX, OS/2, Windows, MacOS, Linux, UNIX, and *certainly* MS-DOS.  

    The microkernel design has proven invaluable. Things like new file systems that are normally available only from the vendor are hobbyist products on the Amiga. Device drivers are simply shared libraries and tasks with specific entry points and message ports. So are file systems, the window system, and so on. It's a WONDERFUL design, and validates everything that people have been saying about microkernels. Yes, it takes more work to get them off the ground than a coroutine based macrokernel like UNIX, but the versatility pays you back many times over.  

    I really wish Andy would do a new MINIX based on what has been learned since the first release. The factoring of responsibilities in MINIX is fairly poor, but the basic concept is good.  
    > The general consensus that Micro kernels is the way to go means nothing when
    > a real application has never even run on one.  

    I'm dreaming again. I sure throught Deluxe Paint, Sculpt 3d, Photon Paint, Manx C, Manx SDB, Perfect Sound, Videoscape 3d, and the other programs I bought for my Amiga were "real". I'll have to send the damn things back now, I guess.  

    The availability of Linux is great. I'm delighted it exists. I'm sure that the macrokernel design is one reason it has been implemented so fast, and this is a valid reason to use macrokernels. BUT... this doesn't mean that microkernels are inherently slow, or simply research toys.

    {难得的为Tanenbaum和微内核说几句公道话的人}



    {mail作者的link} From: dsmythe@netcom.COM (Dave Smythe)
    Subject: Re: LINUX is obsolete
    Date: 10 Feb 92 07:08:22 GMT
    Organization: Netcom - Online Communication Services (408 241-9760 guest)  In article 1992Feb5.145630.759@wpi.WPI.EDU entropy@wintermute.WPI.EDU (Lawrence C. Foard) writes:
    >Actually my main problem with OS theorists is that they have never tested
    >there ideas! None of these ideas (with a partial exception for MACH) has ever
    >seen the light of day.

     

    David Cheriton (Prof. at Stanford, and author of the V system) said something similar to this in a class in distributed systems. Paraphrased:

    "There are two kinds of researchers: those that have implemented something and those that have not. The latter will tell you that there are 142 ways of doing things and that there isn't consensus on which is best. The former will simply tell you that 141 of them don't work."

    He really rips on the OSI-philes as well, for a similar reason. The Internet protocols are adapted only after having been in use for a period of time, preventing things from getting standardized that will never be implementable in a reasonable fashion. OSI adherents, on the other hand, seem intent on standardizing everything possible, including "escapes" from the standard, before a reasonable reference implementation exists. Consequently, you see obsolete ideas immortalized, such as sub-byte-level data field packing, which makes good performance difficult when your computer is drinking from a 10+ Gbs fire-hose :-).

    Just my $.02

    D

    {还有做俯卧撑的}



    {Linus的第三次出现}

    From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
    Subject: Apologies (was Re: LINUX is obsolete)
    Date: 30 Jan 92 15:38:16 GMT
    Organization: University of Helsinki

    In article 1992Jan29.231426.20469@klaava.Helsinki.FI I wrote:
    >Well, with a subject like this, I'm afraid I'll have to reply.

    And reply I did, with complete abandon, and no thought for good taste and netiquette. Apologies to ast, and thanks to John Nall for a friendy "that's not how it's done"-letter. I over-reacted, and am now composing a (much less acerbic) personal letter to ast. Hope nobody was turned away from linux due to it being (a) possibly obsolete (I still think that's not the case, although some of the criticisms are valid) and (b) written by a hothead :-)

    Linus "my first, and hopefully last flamefest" Torvalds

    >...

    我的确回应了,完全没有细想,没有顾及到好品味和网络礼节。向ast道歉,并感谢John Nall友善的来信---“这不是怎么完成它”。我有点反应过度了,而且正在给ast写一封(不那么尖刻的)私人信件。希望不要有人因为linux(a)可能过时(我仍然不那么认为,尽管一些批评是合理的)(b)是一个头脑冲动的家伙写的而放弃它:-)

    Linus “我第一次,希望也是最后一次网络论争” Torvalds

    {看到自己几乎大获全胜,Linus也准备收手了

    不过他的签名...能说什么呢...

    }



    From: pmacdona@sanjuan (Peter MacDonald)
    Subject: re: Linux is obsolete
    Date: 1 Feb 92 02:10:06 GMT
    Organization: University of Victoria, Victoria, BC, CANADA  

    Since I think I posted one of the earliest messages in all this discussion of Minix vs Linux, I feel compelled to comment on my reasons for switching from Minix to Linux. In order of importance they are:

    1) Linux is free

    2) Linux is evolving at a satisfactory clip (because new features are accepted into the distribution by Linus).

    The first requires some explanation, because if I have already purchased Minix, what posssible concern could price have for me? Simple. If the OS is free, many more people will use/support/enhance it. This is also the same reasoning I used when I bought my 386 instead of a sparc (which I could have got for just 30% more). Since PCs are cheap and generally available, more people will buy/use them and thus good, cheap/free software will be abundant.

    The second should be pretty obvious to anyone who has been using Minix for for any period of time. AST generally does not accept enhancements to Minix. This is not meant as a challenge, but merely a statement of fact. AST has good and legitimate reasons for this, and I do not dispute them. But Minix has some limitations which I just could no longer live with, and due to this policy, the prospect of seeing them resolved in reasonable time was unsatisfactory. These limitations include:

    no 386 support

    no virtual consoles

    no soft links

    no select call

    no ptys

    no demand paging/swapping/shared-text/shared-libs... (efficient mm) chmem (inflexible mm)

    no X-Windows (advocated for the same reasons as Linux and the 386).

    no TCP/IP no GNU/SysV integration (portability)

    Some of these could be fixed by patches (and if you have done this yourself, I don't have to tell you how satisfactory that is), but at least the last 5 items were/are beyond any reasonable expectation.

    Finally, my comment (crack?) about Minix's segmented kernel, or micro-kernel architecture was more an expression of my frustration/ bewilderment at attempting to use the Minix PTY patches as a guide of how to do it under Linux. That particular instance was one where message passing greatly complicated the implementation of a feature.

    I do have an opinion about Monlithic vs Message Passing, but won't express it now, and did not mean to expresss it then. My goals are totally short term (maximum functionality in the minimum amount of time/cost/hassle), and so my views on this are irrelevant, and should not be misconstrued. If you are non-plussed by the lack of the above features, then you should consider Minix, as long as you don't mind paying of course :)

    {Linus想收手,可惜如此口水的话题不会就此甘休的

    这个老兄继续打击minux,两点,第一minux不免费,第二指出minux对开发者不友好,前面有人小心翼翼的提到过这个问题了,就是许可证的问题

    }



    From: olaf@oski.toppoint.de (Olaf Schlueter)
    Subject: Re: Linux is obsolete
    Date: 7 Feb 92 11:41:44 GMT
    Organization: Toppoint Mailbox e.V.

    Just a few comments to the discussion of Linux vs Minix, which evolved partly to a discussion of monolithic vs micro-kernel.

    I think there will be no aggreement between the two parties advocating either concept, if they forget, that Linux and Minix have been designed for different applications. If you want a cheap, powerful and enhancable Unix system running on a single machine, with the possibility to adapt standard Unix software without pain, then Linux is for you. If you are interested in modern operating system concepts, and want to learn how a microkernel based system works, then Minix is the better choice.

    It is not an argument against microkernel system, that for the time being monolithic implemenations of Unix on PCs have a better performance. This means only, that Unix is maybe better implemented as a monolithic OS, at least as long as it runs on a single machine. From the users point of view, the internal design of the OS doesn't matter at all. Until it comes to networks. On the monolithic approach, a file server will become a user process based on some hardware facility like ethernet. Programs which want to use this facility will have to use special libraries which offer the calls for communication with this server. In a microkernel system it is possible to incorporate the server into the OS without the need for new "system" calls. From the users point of view this has the advantage, that nothing changes, he just gets better performance (in terms of more disk space for example). From the implementors point of view, the microkernel system is faster adaptable to changes in hardware design.

    It has been critized, that AST rejects any improvements to Minix. As he is interested in the educational value of Minix, I understand his argument, that he wants to keep the code simple, and don't want to overload it with features. As an educational tool, Minix is written as a microkernel system, although it is running on hardware platforms, who will probably better perform with a monolithic OS. But the area of network applications is growing and modern OS like Amoeba or Plan 9 cannot be written as monolithic systems. So Minix has been written with the intention to give students a practical example of a microkernel OS, to let them play with tasks and messages. It was not the idea to give a lot of people a cheap, powerful OS for a tenth of the price of SYSV or BSD implementations.

    Resumee: Linux is not better than Minix, or the other way round. They are different for good reasons.

    {来和稀泥的,发表了一些自己的看法,这种观点看起来中庸,但是近似于扯淡

    不过但是说出了minix的用途,教学工具,ast无意使它过于复杂,没有什么雄心,没有看到在minix的周围,由于PC革命的开始,已经聚集了一些真实的用户,这也是前面一再提到的许可证的问题根源。

    }



    {此人也是开源社区的老大,SAX的leader}

    From: meggin@epas.utoronto.ca (David Megginson)
    Subject: Mach/Minix/Linux/Gnu etc.
    Date: 1 Feb 92 17:11:03 GMT
    Organization: University of Toronto - EPAS 

    Well, this has been a fun discussion. I am absolutely convinced by Prof. Tanenbaum that a micro-kernel _is_ the way to go, but the more I look at the Minix source, the less I believe that it is a micro-kernel. I would probably not bother porting Linux to the M68000, but I want more services than Minix can offer. 

    What about a micro-kernel which is message/syscall compatible with MACH? It doesn't actually have to do everything that MACH does, like virtual memory paging -- it just has to _look_ like MACH from the outside, to fool programs like the future Gnu Unix-emulator, BSD, etc. This would extend the useful lives of our M68000- or 80286-based machines for a little longer. In the meantime, I will probably stay with Minix for my ST rather than switching back to MiNT -- after all, Minix at least looks like Unix, while MiNT looks like TOS trying to look like Unix (it has to, to be TOS compatible). 

    David

    {支持微内核,但是也指出minix在代码上的不足,又表示要继续使用minix

    }



    From: peter@ferranti.com (peter da silva) Newsgroups: comp.os.minix
    Subject: What good does this war do? (Re: LINUX is obsolete)
    Date: 3 Feb 92 16:37:24 GMT
    Organization: Xenix Support, FICC  

    Will you quit flaming each other? 

    I mean, linux is designed to provide a reasonably high performance environment on a hardware platform crippled by years of backwards-compatible kludges. Minix is designed as a teaching tool. Neither is that good at doing the other's job, and why should they? The fact that Minix runs out of steam quickly (and it does) isn't a problem in its chosen mileau. It's sure better than the TOY operating system. The fact that Linux isn't transportable beyond the 386/AT platform isn't a problem when there are millions of them out there (and quite cheap: you can get a 386/SX for well under $1000). 

    A monolithic kernel is easy enough to build that it's worth doing it if it gets a system out the door early. Think of it as a performance hack for programmer time. The API is portable. You can replace the kernel with a microkernel design (and MINIX isn't the be-all and end-all of microkernel designs either: even for low end PCs... look at AmigaOS) without disturbing the applications. That's the whole point of a portable API in the first place. 

    Microkernels are definitely a better design for many tasks. I takes more work to make them efficient, so a simpler design that doesn't take advantage of the microkernel in any real way is worth doing for pedagogical reasons. Think of it as a performance hack for student time. The design is still good and when you can get an API to the microkernel interface you can get VERY impressive performance (thousands of context switches per second on an 8 MHz 68000).



    {ast第五次,愤怒了}

    From: ast@cs.vu.nl (Andy Tanenbaum)
    Subject: Unhappy campers
    Date: 3 Feb 92 22:46:40 GMT
    Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam 

    I've been getting a bit of mail lately from unhappy campers. (Actually 10 messages from the 43,000 readers may seem like a lot, but it is not really.) There seem to be three sticking points: 

    1. Monolithic kernels are just as good as microkernels

    2. Portability isn't so important

    3. Software ought to be free 

    我已经从一些不高兴的社区参与者中得到了一些邮件(实际上从43,000名读者中10条消息看起来有点多,但这不是真的)。看起来有三个关键点:

    1. 宏内核和微内核一样好

    2. 可移植性不那么重要

    3. 软件应该免费/自由

    {第三点才是重点}

    If people want to have a serious discussion of microkernels vs. monolithic kernels, fine. We can do that in comp.os.research. But please don't sound off if you have no idea of what you are talking about. I have helped design and implement 3 operating systems, one monolithic and two micro, and have studied many others in detail. Many of the arguments offered are nonstarters (e.g., microkernels are no good because you can't do paging in user space-- except that Mach DOES do paging in user space). 

    如果大家想认真的讨论微内核vs.宏内核,那好,我们可以去comp.os.research。但是如果你们对讨论的东西没什么概念,你们就不能明确的说出什么。我曾经帮助设计和实现了三个OS,一个宏内核和两个微内核的,并且仔细研究了很多其他的OS。很多的争议都是没意义的(比如,微内核是不好的因为在用户空间上不能作paging--除了Mach已经在用户空间上作了paging以外)

    If you don't know much about microkernels vs. monolithic kernels, there is some useful information in a paper I coauthored with Fred Douglis, Frans Kaashoek and John Ousterhout in the Dec. 1991 issue of COMPUTING SYSTEMS, the USENIX journal). If you don't have that journal, you can FTP the paper from ftp.cs.vu.nl (192.31.231.42) in directory amoeba/papers as comp_sys.tex.Z (compressed TeX source) or comp_sys.ps.Z (compressed PostScript). The paper gives actual performance measurements and supports Rick Rashid's conclusion that microkernel based systems are just as efficient as monolithic kernels. 

    如果你对微内核vs.宏内核不那么了解,这儿有一篇我和Fred Douglis, Frans Kaashoek and John Ousterhout和写的,发表在1991年的USENIX期刊上的论文COMPUTING SYSTEMS。如果你没有这本杂志,你可以FTP到ftp.cs.vu.nl (192.31.231.42),目录amoeba/papers 有一个comp_sys.tex.Z(压缩过的TeX的源)或者comp_sys.ps.Z (以PostScript压缩)。这篇论文给出了确切的性能衡量,支持了Rick Rashid的结论:基于微内核的系统比宏内核系统要更加有效。

    {讨论第一点,还是不能拿代码说事,还是有点学霸的面孔}

    As to portability, there is hardly any serious discussion possible any more. UNIX has been ported to everything from PCs to Crays. Writing a portable OS is not much harder than a nonportable one, and all systems should be written with portability in mind these days. Surely Linus' OS professor pointed this out. Making OS code portable is not something I invented in 1987. 

    至于说到可移植性,不再需要认真的谈论了。UNIX已经被移植到了从PC到Crays的任何机器上。写一个可移植的OS并不比不可移植的OS难多少,而且所有系统在未开始之前,脑海中首先就要考虑移植性的问题。很显然Linus's OS教授先生已经指出了这一点。让OS的代码具备一致性并不是什么我在1987年才发明的东西。

    {不得不说,老先生还是很让人尊敬的,老派的绅士风度}

    While most people can talk rationally about kernel design and portability, the issue of free-ness is 100% emotional. You wouldn't believe how much [expletive deleted] I have gotten lately about MINIX not being free. MINIX costs $169, but the license allows making two backup copies, so the effective price can be under $60. Furthermore, professors may make UNLIMITED copies for their students. Coherent is $99. FSF charges
    >$100 for the tape its "free" software comes on if you don't have Internet access, and I have never heard anyone complain. 4.4 BSD is $800. I don't really believe money is the issue. Besides, probably most of the people reading this group already have it. 

    然而大多数人在讨论内核设计和移植性的时候还算理性,但是涉及到免费/自由时却是100%的情绪化表现了。你不会相信近来在MINIX不是免费/自由这个问题上我收到了多少[咒骂省略]。MINIX价值$169,但是许可证允许两个备份的拷贝,所以实际价格在$60以下。更重要是,教授们用于学生的拷贝时无限制的,统一都是$99,FSF对于那些不能访问Internet的用户为自己“免费的”软件磁带要价是>$100,对此我没有听到过任何抱怨。4.4 BSD要价$800。我真的不认为钱是重要的问题。除此之外,可能大多数阅读这个新闻组的人都已经有了{MINIX?}

    {提什么别提钱啊,千万别提钱。

    老头急了,真的急了

    }

    A point which I don't think everyone appreciates is that making something available by FTP is not necessarily the way to provide the widest distribution. The Internet is still a highly elite group. Most computer users are NOT on it. It is my understanding from PH that the country where MINIX is most widely used is Germany, not the U.S., mostly because one of the (commercial) German computer magazines has been actively pushing it. MINIX is also widely used in Eastern Europe, Japan, Israel, South America, etc. Most of these people would never have gotten it if there hadn't been a company selling it. 

    我不认为所有的人都赞赏的一点是,通过FTP方式提供最广泛的分发不是必然的方式。Internet仍然是一个相当精英的团体。大多数的计算机用户在上面。如果我从PH{??,patch,补丁??}中得到的理解不错的话,MINIX在在各个国家中,以德国使用的最广泛,而不是美国。主要的原因可能使一家德国的(商业)计算机杂志曾经卖力的推广过它。MINIX在东欧,日本,以色列,南非等等国家使用的都不是很广泛。如果没有一家公司来卖它的话,那么它也就不可能为大多数人得到。

    {ast宣称MINIX除了在德国,根本就没有做过MINIX的商业活动,也就是说他本人无意于此。

    而且指出FSF有挂羊头之嫌,这个不好说什么,似乎在1990年不大明朗的时候,还是有点暗流的。当然事后的发展证明一个口号,一个信念还是颇有鼓舞人心的功效的。

    随便可以看看在1990年左右发达的计算机国家有哪些:)

    }

    Getting back to what "free" means, what about free source code? Coherent is binary only, but MINIX has source code, just as LINUX does. You can change it any way you want, and post the changes here. People have been doing that for 5 years without problems. I have been giving free updates for years, too. 

    回到自由意味着什么这个议题,那么源代码呢?{抱歉}只有二进制文件奉送。不过MINIX是带源代码的,就像LINUX那样。你可以按照你想的任何方式更改代码,然后在这里公布更改的内容。人们已经这样工作了5年,没有任何问题。我也好多年持续的给出了免费的更新。

    {很可能FSF在1990年的做法,或者说目的值得怀疑}

    I think the real issue is something else. I've been repeatedly offered virtual memory, paging, symbolic links, window systems, and all manner of features. I have usually declined because I am still trying to keep the system simple enough for students to understand. You can put all this stuff in your version, but I won't put it in mine. I think it is this point which irks the people who say "MINIX is not free," not the $60. 

    我认为真正的问题不在这里。我多次提交了诸如VM,分页,符号链接,窗口系统,以及各种features。我通常的倾向因为我尽量试图保持系统的简单性,以便学生的理解。你可以把所有这些都整合到你的版本之中,但是我不会把它们放到我的版本之中。我认为这才是那些说“MINIX不是免费的”苦恼的原因,而不是$60。

    {还是要说MINIX的雄心不够,或者ast没有看到PC革命带来的契机和巨大需求。

    }

    An interesting question is whether Linus is willing to let LINUX become "free" of his control. May people modify it (ruin it?) and sell it? Remember the hundreds of messages with subject "Re: Your software sold for money" when it was discovered the MINIX Centre in England was selling diskettes with news postings, more or less at cost? 

    一个有趣的问题是Linus是否准备让LINUX自他的控制中“自由”出来。人们可以修改(毁掉)它吗?记住上百条的消息是这样的主题“Re:你的软件为钱出售”,它表明在英格兰的MINIX中心在卖磁带的同时,也附带着新闻跟新,这也或多或少值点钱吧?

    Suppose Fred van Kempen returns from the dead and wants to take over, creating Fred's LINUX and Linus' LINUX, both useful but different. Is that ok? The test comes when a sizable group of people want to evolve LINUX in a way Linus does not want. Until that actually happens the point is moot, however.

    假定Fred van Kempen复活{这个老兄好像没有挂啊}并且准备拿到控制权,创造一个Fred版的LINUX和Linus版的LINUX,这两个都有用但是互不相同。这样OK吗?当有一票人希望参与LINUX的发展,但是不是按照Linus自己希望的方式,这个假定就会变成现实。虽然在这一切没有发生的时候是没有意义的。

    {这一段的指责很有力,看看现在有多少linux的发行版吧...

    不过内核的开发还是在有序之下开发的。Linus真的是一个强有力的社区领导。

    }

    If you like Linus' philosophy rather than mine, by all means, follow him, but please don't claim that you're doing this because LINUX is "free." Just say that you want a system with lots of bells and whistles. Fine. Your choice. I have no argument with that. Just tell the truth. 

    如过你喜欢Linus的而不是我的哲学,尽力跟随他,但请不要声称你是因为LINUX是“自由/免费”而这样做的。只需说你需要一个花哨的系统。很好,你自己的选择。我对此毫无意见。只要说出事实。

    {应用为王啊,花哨就是说可用的东西多。ast还是没有搞清楚迎合用户才是重要的,而不是研究教学。特别是在微内核还是一个概念产品的情形下。

    }

    As an aside, for those folks who don't read news headers, Linus is in Finland and I am in The Netherlands. Are we reaching a situation where another critical industry, free software, that had been totally dominated by the U.S. is being taken over by the foreign competition? Will we soon see President Bush coming to Europe with Richard Stallman and Rick Rashid in tow, demanding that Europe import more American free software? 

    Andy Tanenbaum (ast@cs.vu.nl)

    顺便说一句,那些没有读新闻邮件头的人,Linus是芬兰的,我是荷兰的。在自由软件美国长期霸占的的关键产业,是否进入到一种被他国竞争者抢占了地位的情形下吗?我们是不是很快会看到Bush总统带着Richard Stallman,Rich Rashid座着拖车来到欧洲,恳求欧洲输入更多美国的自由软件呢?

    Andy Tanenbaum (ast@cs.vu.nl)

    {

    发泄完了,ast又恢复了派头,依然尖酸的讲着冷笑话。虽然事实会让他大跌眼镜。

    U.S.当然还是无可争议的no.1但是Linus却无人不识了

    }


    {ast第六次,意犹未尽,马上又跳出来了...}
    From: ast@cs.vu.nl (Andy Tanenbaum)
    Subject: Re: Unhappy campers
    Date: 5 Feb 92 23:23:26 GMT
    Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam

     

    In article 205@fishpond.uucp fnf@fishpond.uucp (Fred Fish) writes:
    >If PH was not granted a monopoly on distribution, it would have been possible
    >for all of the interested minix hackers to organize and set up a group that
    >was dedicated to producing enhanced-minix. This aim of this group could have
    >been to produce a single, supported version of minix with all of the commonly
    >requested enhancements. This would have allowed minix to evolve in much the
    >same way that gcc has evolved over the last few years.

    This IS possible. If a group of people wants to do this, that is fine. I think co-ordinating 1000 prima donnas living all over the world will be as easy as herding cats, but there is no legal problem. When a new release is ready, just make a diff listing against 1.5 and post it or make it FTPable. While this will require some work on the part of the users to install it, it isn't that much work. Besides, I have shell scripts to make the diffs and install them. This is what Fred van Kempen was doing. What he did wrong was insist on the right to publish the new version, rather than diffs against the PH baseline. That cuts PH out of the loop, which, not surprisingly, they weren't wild about.     If people still want to do this, go ahead. 

    的确是可能的。如果有些人希望这么做,很好。我个人认为让散布在世界各地的1000个主角一起合作就像放养猫那么简单,但是不存在合不合法的问题。当一个新版本就绪以后,只需要作一个diff列表{??},然后把它贴出来或者能够通过FTP得到。不过这需要用户花点功夫安装软件,这不是什么大不了的事。别急,我还有一个shell脚本制作这些diff补丁并且能自动安装。这正是Fred van Kempen做的事。坚持拥有发布新版本的权利上,而不是与PH基线作比较,产生diff补丁这件事上,他做错了。这把PH从循环中去掉了,这毫不惊奇,因为他们对此毫无兴趣。   如果你们还想这么做,没问题。

    Of course, I am not necessarily going to put any of these changes in my version, so there is some work keeping the official and enhanced ones in sync, but I am willing to co-operate to minimize work. I did this for a long time with Bruce Evans and Frans Meulenbroeks. 

    当然,我完全没有必要把任何这些改变放到我的版本中来,在保持官方版本和增强版本之间,会有一些同步工作要做,不过我很愿意积极合作,以最小化工作量。我和Bruce Evans以及Frans Meulenbroeks已经很长一段时间这样工作了。

    If Linus wants to keep control of the official version, and a group of eager beavers want to go off in a different direction, the same problem arises. I don't think the copyright issue is really the problem. The problem is co-ordinating things. Projects like GNU, MINIX, or LINUX only hold together if one person is in charge. During the 1970s, when structured programming was introduced, Harlan Mills pointed out that the programming team should be organized like a surgical team--one surgeon and his or her assistants, not like a hog butchering team--give everybody an axe and let them chop away. 

    如果Linus想保持控制官方版本,而一群热心人却想向另一个方向发展,相同的问题就会出现了。我不认为版权问题是一个真正的问题。问题是合作。诸如GNU,MINIX,LINUX这样的项目只有当一个人领导时才能很好的团结在一起。在1970年代,结构化编程被引入的时候,Harlan Mills指出编程团队应该像一个外科手术团队那样去组织——一个主治医师以其助手,那不是像屠猪的团队——每个人都有一把斧头,各自劈杀。

    {ast的确指出了OSS社区的普遍问题,但是很可惜,在只认代码的社区,他没有看到自己和Linus的差别所在。还有热情。

    也许Linux社区的成功正是因为Linus本人的才能。

    }

    Anyone who says you can have a lot of widely dispersed people hack away on a complicated piece of code and avoid total anarchy has never managed a software project. 

    任何宣称能够避免在很多人修改一块复杂的代码的所产生的混乱,那么他肯定没有管理过一个软件项目。

    >Where is the sizeable group of people that want to evolve gcc in a way that
    >rms/FSF does not approve of?

    A compiler is not something people have much emotional attachment to. If the language to be compiled is a given (e.g., an ANSI standard), there isn't much room for people to invent new features. An operating system has unlimited opportunity for people to implement their own favorite features. 

    Andy Tanenbaum (ast@cs.vu.nl)

    >…

    编译器不允许人们附带感情色彩。如果一个语言需要编译(例如,一个ANSI的标准),没有太多的空间让人们发明什么新特性。但是OS却有无限的空间来让人们实现他们自己喜欢的features。

    Andy Tanenbaum (ast@cs.vu.nl)

    {这是一个无力的反击。很容易引起口水。}

     


    {Torvalds第四次}

    From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
    Subject: Re: Unhappy campers
    Date: 6 Feb 92 10:33:31 GMT
    Organization: University of Helsinki

    In article <12746@star.cs.vu.nl
    > ast@cs.vu.nl (Andy Tanenbaum) writes:
    >>If Linus wants to keep control of the official version, and a group of eager
    >beavers want to go off in a different direction, the same problem arises. 

    This is the second time I've seen this "accusation" from ast, who feels pretty good about commenting on a kernel he probably haven't even seen. Or at least he hasn't asked me, or even read alt.os.linux about this. Just so that nobody takes his guess for the full thruth, here's my standing on "keeping control", in 2 words (three?): 

    I won't. 

    已经第二次了,我看到了来自ast的这个“指控”,对于一个他可能从未见过的内核加以评论,他的感觉相当不错。至少他没有问过我,甚至没有读过alt.os.linux上面的相关内容。当然不会有人把他的猜测当作真相,这是我对于“保持控制”的立场,俩个字(还是三个?)

    我不会。

    The only control I've effectively been keeping on linux is that I know it better than anybody else, and I've made my changes available to ftp-sites etc. Those have become effectively official releases, and I don't expect this to change for some time: not because I feel I have some moral right to it, but because I haven't heard too many complaints, and it will be a couple of months before I expect to find people who have the same "feel" for what happens in the kernel. (Well, maybe people are getting there: tytso certainly made some heavy changes even to 0.10, and others have hacked it as well) 

    唯一的控制是我一直让linux有效的发展,我知道我比其他任何人做的要好,并且我把我的更改发布到ftp站点上。这些造就了高效的官方版本,我期望在一段时间内不要改变这种模式:不是因为我觉得自己有天然的权利这样做,而是因为我听到了太多的抱怨,对于在内核上正在发生什么,几个月前我就期望找到有相同“感受”的人。(那好吧,也许那个人就在这儿:tytso甚至对0.10就作出了一些重大的改进,还有其他几个人也作出了贡献)

    In fact I have sent out feelers about some "linux-kernel" mailing list which would make the decisions about releases, as I expect I cannot fully support all the features that will /have/ to be added: SCSI etc, that I don't have the hardware for. The response has been non-existant: people don't seem to be that eager to change yet. (well, one person felt I should ask around for donations so that I could support it - and if anybody has interesting hardware lying around, I'd be happy to accept it :)

    事实上,我在“linux内核”的邮件列表发过一些试探性的邮件,关于发布的版本需要做的决定,比如那些本/应该/被添加的features,例如:SCSI等等,因为我没有相应的硬件。正如我期望的,我没有得到完全支持。回应好像没有:人们看起来还不急于改变。(那好,有人觉得我应该寻求支援,这样我就能支持这些特性 - 如果有人对底层硬件非常有兴趣,我很乐意接受它:)

    The only thing the copyright forbids (and I feel this is eminently reasonable) is that other people start making money off it, and don't make source available etc... This may not be a question of logic, but I'd feel very bad if someone could just sell my work for money, when I made it available expressly so that people could play around with a personal project. I think most people see my point. 

    版权禁止的唯一一件事(我觉得这合乎情理)是其他人通过它来牟利,并且不提供源代码等等…这在逻辑上不是个问题,如果有人通过买我的作品来赚钱的话我会感觉很不爽,我只会让它直接可用以便人们能够工作在一个个人项目上。我认为大多数人已经了解我的观点。

    That aside, if Fred van Kempen wanted to make a super-linux, he's quite wellcome. He won't be able to make much money on it (distribution fee only), and I don't think it's that good an idea to split linux up, but I wouldn't want to stop him even if the copyright let me.

    另外,如果 Fred van Kempe想做一个super-linux,他将会得到欢迎。他不需要在这上面花费很多(只需要分发费) ,虽然我不认为把分裂linux是个好主意,但我不会阻止他,即使版权允许我那样做。

    >I don't think the copyright issue is really the problem. The problem is >co-ordinating things. Projects like GNU, MINIX, or LINUX only hold together
    >if one person is in charge. 

    Yes, coordination is a big problem, and I don't think linux will move away from me as "head surgeon" for some time, partly because most people understand about these problems. But copyright /is/ an issue: if people feel I do a bad job, they can do it themselves. Likewise with gcc. The minix copyright, however, means that if someone feels he could make a better minix, he either has to make patches (which aren't that great whatever you say about them) or start off from scratch (and be attacked because you have other ideals). 

    >…

    的确,协作是个大问题,不过我认为,一段时间内,我不会远离linux“主治医师”这个角色的,部分是因为大多数人都意识到了这一点。不过版权也/是/一个问题:如果大家认为我的工作做得不好,他们可以自己干。同样的,使用gcc。而minix的版权意味着如果有人认为自己可以制作一个更好的minix,他要么制作补丁(不管怎么说,总不那么大好)要么重头开始(由于你有其他的理念而被攻击)。

    Patches aren't much fun to distribute: I haven't made cdiffs for a single version of linux yet (I expect this to change: soon the patches will be so much smaller than the kernel that making both patches and a complete version available is a good idea - note that I'd still make the whole version available too). Patches upon patches are simply impractical, especially for people that may do changes themselves. 

    分发补丁不是那么有趣的:我从未为单一版本的linux制作过cdiffs(我期望变成这样:很快补丁将会大大小于内核,这样,同时提供补丁和一个完全版的就会是使一个不错的主意 - 注意我仍然保持了完整版本可用)。补丁摞补丁是不切实际的,特别是对那些需要自己去做这件事的时候。

    {用户体验啊…}


    >>Where is the sizeable group of people that want to evolve gcc in a way that >>rms/FSF does not approve of?
    >A compiler is not something people have much emotional attachment to. If
    >the language to be compiled is a given (e.g., an ANSI standard), there isn't
    >much room for people to invent new features. An operating system has unlimited
    >opportunity for people to implement their own favorite features.

    Well, there's GNU emacs... Don't tell us people haven't got emotional attachment to editors :) 

     

    Linus

    >…

    那好吧,还有GNU emacs…别告诉我对于编辑器人们没有感情倾向:)

    Linus

    {这封mail是Linus对ast的一些反驳,可以看出来OSS本身也有其固然的一些问题,不过我以为这都不是重点了…

    }

     



    From: dmiller@acg.uucp (David Miller)
    Subject: Linux is Obsolete and follow up postings
    Date: 3 Feb 92 01:03:46 GMT
    Organization: AppliedComputerGroup  

    As an observer interested in operating system design, I couldn't resist this thread. Please realize that I am not really experienced with minux or linux: I have been into unix for many years. First, a few observations:  

    Minix was written to be an educational tool for ASTs' classes, not a commercial operating system. It was never a design parameter to have it run freely available source code for unix systems. I think it was also a statement of how operating systems should be designed, with a micro kernel and seperate processes covering as much of the required functionality as possible.  

    Linux was written mostly as a learning exercise on Linus part - how to program the 386 family. Designing the ultimate operating system was not an objective. Providing a usable, free platform that would run all sorts of widely available free software was a consideration, and one that appears to have been well met.  

    Criticism from anyone that either of these systems isn't what *they* would like it to be is misplaced. After all, anybody that has a computer that will run either system is free to do what Linus and Andrew did: write your own!  

    I, for one, applaud Linus for his considerable effort in developing Linux and his decision to make it free to everybody. I applaud AST for his effort to make minix affordable - I have real trouble relating to complaints that minix isn't free. If you can afford the time to explore minix, and a basic computer system, $150 is not much more - and you do get a book to go with it.  

    Next, a few questions for the professor:  

    Is minix supposed to be a "real operating system" or an educational tool ? As an educational tool it is an excellent work. As a real operating system it presents some terribly rough edges (why no malloc() ?, just for starters) My feeling from reading The Book and listening to postings here is that you wanted a tool to teach your classes, and a lot of others wanted to play with an affordable operating system. These others have been trying to bolt on enough features to make it a "real operating system", with less than outstanding success.  

    Why split fundemental os functions, such as memory management, into user processes? As all good *nix gurus know, the means to success is to divide and conquer, with the goal being to *simplify* the problem into managable, well defined components. If splitting basic parts of the operating system into user space processes complicates the function by introducing additional mechanisms (message passing, complicated signals), have we met the objective of simplifying the design and implementation?   I agree that *nix has suffered a bad case of feature-itis - especially sysVr4. Perhaps the features that people want for either functionality or compatibility could be offered by run-time loadable modules/libraries that offer these features. The micro-kernel would still be a base-level resource manager that also routes function requests to the appropriate module/library. The modules could be threads or user processes. (I think - os hackers please correct me :-) )  

    Just my $.04 worth - please feel free to post or email responses. I have no formal progressive training in computer science, so I am really asking these questions in ignorance. I suspect a lot of others on the net have similar questions in their own minds, but I've been wrong before.  

     

    -- David



    From: michael@gandalf.informatik.rwth-aachen.de (Michael Haardt)
    Subject: 1.6.17 summary and why I think AST is right.
    Date: 6 Feb 92 20:07:25 GMT Reply-To: u31b3hs@messua.informatik.rwth-aachen.de (Michael Haardt)
    Organization: Gandalf - a 386-20 machine  

     

    I will first give a summary of what you can expect from MINIX in *near* future, and then explain why I think AST is right. 

    Some time ago, I asked for details about the next MINIX release (1.6.17). I got some response, but only from people running 1.6.16. The following informations are not official and may be wrong, but they are all I know at the moment. Correct me if something is wrong: 

    - The 1.6.17 patches will be relative to 1.5 as shipped by PH. 

    - The header files are clean. 

    - The two types of filesystems can be used together. 

    - The signal handling is rewritten for POSIX. The old bug is removed. 

    - The ANSI compiler (available from Transmediar, I guess) comes with compiler binaries and new libraries. 

    - There don't seem to be support for the Amoeba network protocol. 

    - times(2) returns a correct value. termios(2) is implemented, but it's more a hack. I don't know if "implemented" means in the kernel, or the current emulation. 

    - There is no documentation about the new filesystem. There is a new fsck and a new mkfs, don't know about de. 

    - With the ANSI compiler, there is better floating point support. 

    - The scheduler is improved, but not as good as written by Kai-Uwe Bloem. 

    I asked these things to get facts for the decision if I should upgrade to MINIX 1.6.17 or to Linux after the examens are over. Well, the decision is made: I will upgrade to Linux at the end of the month and remove MINIX from my winchester, when Linux runs all the software I need and which currently runs under MINIX 1.5 with heavy patches. I guess this may take up to two months. These are the main reasons for my decision: 

    - There is no "current" MINIX release, which can be used as basis for patches and nobody knows, when 1.6.17 will appear. 

    - The library contains several bugs and from what I have heard, there is no work done at them. There will not be a new compiler, and the 16 bit users still have to use buggy ACK. 

    - 1.6.17 should offer more POSIX, but a complete termios is still missing. 

    - I doubt that there is still much development for 16 bit users. 

    I think I will stop maintaining the MINIX software list in a few months. Anyone out there, who would like to continue it? Until Linux runs *perfect* on my machine, each update of Origami will still run on 16-bit MINIX. I will announce when the last of these versions appears. 

    In my opinion, AST is right in his decision about MINIX. I read the flame war and can't resist to say that I like MINIX the way it is, now where there is Linux. MINIX has some advantages: 

    - You can start playing with it without a winchester, you can even compile programs. I did this a few years ago. 

    - It is so small, you don't need to know much to get a small system which runs ok. 

    - There is the book. Ok, only for version 1.3, but most of it is still valid. 

    - MINIX is an example of a non-monolithic kernel. Call it a microkernel or a hack to overcome braindamaged hardware: It demonstrates a concept, with its pros and cons -- a documented concept. 

    In my eyes, it is a nice system for first steps in UNIX and systems programming. I learned most of what I know about UNIX with MINIX, in all areas, from programming in C under UNIX to system administration (and security holes:) MINIX grew with me: 1.5.xx upgrades, virtual consoles, mail & news, text processing, crosscompiling etc. Now it is too small for me. I don't need a teaching system anymore, I would like to get a more complicated and featureful UNIX, and there is one: Linux. 

    Back in the old days, v7 was state of the art. There was MINIX which offered most of it. In one or two years, POSIX is what you are used to see. Hopefully, there will be MINIX, offering most of it, with a new book, for people who want to run a small system to play and experiment with. 

    Stop flaming, MINIX and Linux are two different systems with different purposes. One is a teaching tool (and a good one I think), the other is real UNIX for real hackers. 

    Michael



    From: dingbat@diku.dk (Niels Skov Olsen)
    Subject: Re: 1.6.17 summary and why I think AST is right.
    Date: 10 Feb 92 17:33:39 GMT
    Organization: Department of Computer Science, U of Copenhagen   michael@gandalf.informatik.rwth-aachen.de (Michael Haardt) writes:  
    >Stop flaming, MINIX and Linux are two different systems with different
    >purposes. One is a teaching tool (and a good one I think), the other is
    >real UNIX for real hackers.  

    Hear, hear! And now Linux articles in alt.os.linux (or comp.os.misc if your site don't receive alt.*) and Minix articles here. 

    eoff (end of flame fest :-)   Niels

    {正式昭告comp.os.linux的成立}