2004年12月31日星期五

〖转〗一位数学工作者对二进制的看法

一位数学工作者对二进制的看法
东郭先生
先说一个好玩的题目。假设有一块金子重n克,n是小于等于15的正整数。给你一架天平,你至少需要几块砝码才能确定这块金子的重量?
莱布尼茨说你只需要四块分别重1克,2克,4克,8克的砝码就行了。为什么?想必你已经知道答案了。
如果你喜欢耍点小聪明,你会说只要后三个就行了。不需要那个1克重的砝码。不过,这有什么关系呢?莱布尼茨只是想告诉你二进制是有点用处的。
其实不是莱布尼茨最早发明了二进制。当然我们也不知道伏羲是否真的发明了二进制。有据可查的是比毕莱布尼茨还要早1500多年的印度人Pingala,这个人还明确写出了二进制和十进制之间的转换公式。而我们却找不到任何证据能说明伏羲真地把那些短短长长的符号当成数字加加减减过。最气人的就是我的一个本家,非要说那些符号只代表生殖器,长的代表男人的,至于中间有缝隙的,那就不用说了。如此一来,那些符号只是一大堆生殖器而已。
从数学的角度来看,如果承认那些符号是二进制,就要承认我们早就有了0的概念了。这可是不得了的成就。外行人可能不知道,0的出现在数学史上是惊天辟地的事情。而且是非常非常晚的事情。
以前的人也可以处理0,但是他们是当成"无"来处理的。比如弄一个字,一个怪怪的符号或者空出一个位置来表示0。比如印度人就宣称他们在3000多年前就开始使用0了。但是,好,我们承认你有了0,那为什么距今不到两千年的Pingala的二进制系统是从1开始的呢?而与之形成鲜明对比的是在莱布尼茨的文章里,非常明确,非常明显,二进制的第一个数字是0。以一个数学工作者的眼光来看,只有当你把0和1,2 平等看待的时候,你才真正理解了0。
罗马曾经有足以自傲的文明,可是我们现在写的罗马数字里面有0吗?在公元8世纪的时候,在罗马数字记号系统里才开始有一个符号代表0,这就是"N",代表虚无。说明在这个时候,人们依然把0看成一个怪物。
实际上真正将0和其他数一样平等看待,一起运算的历史不过几百年而已。
如果说坤卦代表0的话,那真的是不得了的事情。因为从形状里可以看出这个0跟其它的数字是平等的,完全看不到一点点特殊性。仅此一点给中华文明带来的光荣将远远超过"四大发明"。

2004年12月29日星期三

dream maker, you heartbreaker

在路上的时候,偶然从iPod里听到一个女生翻唱的moon river。这是一个寒冷的清晨,松树林里有散不开的雾气
第一次听到这首歌,是在一部电影里。不是那部《Breakfast at Tiffany's》,而是《双城故事》,那还是录像机流行的年代。
曾志伟带着新认识的张曼玉去看谭咏麟唱歌。张曼玉想点一首歌却想不起歌名,然后谭咏麟就开始唱起曾志伟在前一天晚上告诉他的《moon river》。张曼玉听得如痴如醉,曾志伟却只能叹息了,谁让他是配角呢?那时候,三个朋友刚开始他们的漂流,There's such a lot of world to see,只是当时已惘然。
多年以后,我才看到《Breakfast at Tiffany's》的VCD。始终没有看完这部电影,只是快速的浏览,去看Hepburn包着白色的头巾坐在阳台上,用一把小结他弹唱《moon river》,在浩瀚的NY,哪里才是她的河湾。
然而,到现在,我也不知道,要到什么时候,我才能crossing you in style。Someday,我不知道那是哪一天。
Oh, dream maker, you heartbreaker, wherever you're goin', I'm goin' your way.

电影结束,故事还不会停止。香港和旧金山,哪个生气时鼻子会变红的女生,现在在哪里?


To my Huckleberry friends

2004年12月26日星期日

A Christmas Story

昨天,在我这里还是24号,我出门去吃晚饭,走在路上的时候,突然一部电影跳到了脑海中。我只记得他是一个以小男孩为主角的圣诞电影,最后一段是一家人在圣诞夜去一个中餐馆吃鸭子,整鸭子上桌,鸭头犹在,把一家人吓坏了。厨师就一刀垛下去,把鸭头连着脖子一块垛了下来,又把家人吓了一条。最后是男主角的话外音,我永远记得一家人去吃中国鸭子的那个圣诞。 我怎么也想不起这电影的名字,当时想只有第二天去go坛问问了。 晚上在家里随便乱翻电视台的时候(TV Surfing)突然看到一个台正在放这电影,哇,当时觉得太神奇、太感动了,犹如是我点播的电影一般。我端端正正地坐在电视机前看完。嗯,我已经很久没有这样看过电影了。
这部电影的名字是A Christmas Story。IMDB得分8.1,在Top250中排名150。
A Christmas Story最有意思的地方在于,他始终用一个9岁男孩Ralphie的眼光来看这个世界。电影的主线是,9岁四眼男孩Ralphie特别想要一只BB枪。当母亲问他想要什么圣诞礼物时,他把愿望告诉了母亲,可是母亲拒绝说,“you'll shoot your eye out” 。
于是Ralphie把这个愿望写成了作文。他自以为这是一篇Masterpiece。在把作文交给老师的时候,他陷入幻想,幻想中,老师被这篇作文感动,在黑板上写下了Ralph A+++(n个+),所有的同学都为他欢呼。可是最后,这篇作文却得了C+,老师的评语是“you'll shoot your eye out”。
Ralphie灰心失意,走出校门又被小混混嘲笑。Ralphie竟然暴走了,把小混混推到在地,暴打一顿,嘴里还嚷嚷着一个9岁男孩能够说出的全部粗话(含F---)。同学们吓坏了,把Ralphie的母亲都叫来了。Ralphie被母亲带回家后,自己也很害怕,他觉得他父亲一定会杀了他。可是,晚上,母亲只是简单地对父亲说了句Ralphie打了一架,事情就过去了。Ralphie想,太神奇了,“有些事在来临之前,你觉得那简直就是世界末日,可是真的来了以后,其实也没有什么大不了的”。
Ralphie在圣诞前夕,突然想到了一个主意,圣诞节谁最大?圣诞老人最大!向圣诞老人要BB枪!于是,Ralphie在商场里排队去见圣诞老人。圣诞老人会抱起每个孩子,问她们要什么,然后把她们从滑梯上扔下去。Ralphie排了好长好长的队伍,几个小时后才来到圣诞老人身边,旁边的小丑把Ralphie在空中旋转着扔给了圣诞老人。这个圣诞老人好可怕,笑声更胜怪物。Ralphie吓得out of mind。圣诞老人问他想要什么,Ralphie却一句话也说不出来。于是圣诞老人说,a perfect football如何。Ralphie想,足球,蛮好的,就点头了。圣诞老人就把Ralphie扔到了滑梯上。Ralphie在这个时候突然清醒了,嘿,不是足球,是BB枪。他在滑梯上挣扎着,不肯滑下去,对着圣诞老人说,我不要足球,我要BB枪。圣诞老人说“you'll shoot your eye out”,然后把Ralphie从滑梯上蹬了下去。
终于到了圣诞节,一家人围在一起拆礼物。Ralphie的一个一直想把他打扮成女孩的阿姨送了Ralphie一套粉红色的连体兔子装,哈哈(粉可奈)。最后,在圣诞好像就要这样过去的时候,父亲对他说,Ralphie,桌子后面好像还有一个礼物,你去看看那是什么?哈哈,当然了,谁都能想到,那是Ralphie梦寐以求的BB枪。粉可奈的爸爸啊。Ralphie想“人生就是这样,在不顺到了极点的时候,事情就会变顺利了”。
Ralphie拿着BB枪到外面去试枪,第一枪的BB弹就反弹回来打在了Ralphie的脸上,把Ralphie打到在地,眼镜也被打飞了。Ralphie在找自己的眼镜时候,竟然自己把眼镜踩碎了。哦,怎么办,母亲早就说过,“you'll shoot your eye out”。Ralphie想“人生就是这样,在最幸福的时候,不幸就来了”。
Ralphie突然想到,我可以假装是被冰块砸到了。于是他开始哭,把母亲招来,告诉母亲他被冰块砸到了,连眼镜也坏了。母亲安慰他,带他去洗伤口。哈哈,这样也能过关!(请参看Ralphie的感想1和2)
然后,邻居家的狗突然闯进家来,把火鸡狂人Ralphie父亲最爱的火鸡整只刁走了。一家人没有火鸡晚餐了。(请参看Ralphie的感想3)。
Ralphie的父亲在怒气暴发地诅咒了邻居家的狗后,回过头来说,上楼,换衣服,我们出去吃饭。一家人就这样去了中国餐馆。

后来,多年以后,Ralphie在写下自己童年故事的时候,他会想起那个久远的圣诞节,父亲带他去第一次吃了中国鸭子。

2004年12月24日星期五

灵异村,真的是桃花源吗?

今天是12月23日,我到了公司,才发现公司里已经正式放假了。大楼里好像就剩下了我一个人。晚上抽时间看了电影灵异村《the village》
灵异村是M. Night Shyamalan今年的新作。这个Shyamalan很善于编恐怖故事,玩心理悬念颇有一手,看看最近几年来他的电影,the sixth sens,unbreakable,Signs就能知道他是那类的导演。故事无论如何怪异,镜头总能把她拉到身边来,抑或非常平淡的故事,镜头却能带出心跳感觉。
the village的评价似乎不如前几部好,但我觉得还不错,要好过unbreakable和signs。至少,电影中的几次转折,我都没有能够事先看破。恐怖气氛的营造也算成功,把那几分钟去掉,电影犹如在讲述平凡乡村生活,可是加上那几分钟,就变得杀机暗藏了。把电影看完后,才明白,在恐怖背后,这竟然是个桃花源的故事。
受了伤害的人们,由于对世道的恐惧,于是建立了自己的村庄。而用来保护桃花源的方法,依然是用人们内心的恐惧。人们只是换了一种恐惧而已,原来,恐惧竟然是维持这个世界的背后力量。
然而,桃花源是虚幻的,恐惧也依然是虚幻的,伤痕心痛却是真实存在而无法逃避的。灵异村也许可以逃过世态炎凉,但还是逃不过受伤的痛苦。

关于vim,ctags的一个小技巧

vim可以使用ctags制作的tags文件来浏览程序源文件。问题是,当源文件存放在目录树(也就是所谓的source tree)的时候,该怎么办呢?
在缺省情况下,ctags只会处理当前目录里的源文件,而且vim也只会参考当前目录的tags文件。这时候,如果当前目录里的源文件引用了其他目录里的定义,那么vim就无法利用tags文件自动跳转了。解决这个问题主要依靠两个技巧:
一,在目录树的根目录里,使用命令:
ctags -R 或 ctags --recurse
这两个命令应该是等效的,但是在我目前使用的ctags(版本5.5.4),ctags -R似乎无效。--recurse参数会让ctags遍历整个目录树,分析所有子目录里的文件。最后形成的tags文件会放在根目录里。
二,编辑vim的设置文件(_vimrc或.vimrc),添加两行

set tags=tags;

set autochdir

注意第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目录中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。
使用这两个技巧后,就可以在目录树中自由的浏览源程序了。
另外,几个相关的话题:一个是,我发现用这种方法跳转到别的目录,只对ctrl-]和g ctrl-]有效果,而:ta或:ts命令,却还是只使用当前目录的tags文件,不知道这算不算是vim的bug。
另外,就算是在根目录使用了ctags命令,最好也还是在常用的目录里再使用一次ctags命令。因为vim总是首先在当前目录中寻找tags文件,所以如果第一次搜索就能找到的话,那么速度就会快多了。
另外一个话题是,尽管用g ctrl-]来跳转是非常方便的命令,但是因为这个命令要搜索整个tags文件来找出所有的匹配定义,所以速度上就比只找出第一个定义的ctrl-]要慢多了。如果对于定义比较确定的话,那么最好还是用ctrl-]来执行吧。

2004年12月19日星期日

〖转〗最可怕的东西

〖按:王小波曾经提过,什么是最大的邪恶,大意是让人变得愚蠢是最大的邪恶〗

最可怕的东西
作者 石青《三思科学》电子杂志2004年第5期2004年12月15日
  世界上最危可怕的东西不是克隆人,不是转基因生物,不是干细胞,不是人工智能,更不是核武器。
  这个故事发生在一次研讨会上。有人在台上谈论转基因作物的“可怕”,但是我实在没有兴趣去与他辩论。作为一个成天与科学新闻打交道的人,那些关于转基因作物耸人听闻的说法,除了用陈词滥调来形容,实在找不到更好的说法了。
  研讨会结束之后大家一起吃饭,有一道菜摆上了桌子。那是乳猪腿。我总是认为吃小猪是一件很不经济的事情。瞧,一只小猪只有四条腿,为了做这么一盘菜,就要用掉好几只小猪作为原料。如果生产一种转基因猪,让它多生几条腿,那该多好啊。我知道确实有些基因能控制动物脚的数量。沉浸在这个幻想中,我在饭桌边上脱口而出:我觉得应该用GM小猪。
  但是这句话就像一把叉子刺中了旁边的人。“转基因的?那还能吃吗,”有人转过头来问我。这句话也把我从思考中拉了回来:我虽然在网上或者报纸上驳斥过关于反转基因的陈词滥调,但是在生活中却是第一次遇到。我用筷子夹起一块乳猪腿,转过头去问他:你为什么觉得转基因可怕?
  每个时代都有流传着各种可怕的东西:上千年前是日食和月食;几百年前曾经是吸血鬼和狼人,后来是蒸汽机和照相机。但是现在这些“可怕”的东西都变了味 ——日食和月食发生的时候是天文爱好者的节日;吸血鬼和狼人仅仅出现在电影和电视上,供人取乐;人们不再把蒸汽机视作不祥之物,事实上人们已经很少见到这种落后的机械了。至于照相机,在一个花几十元就能买一个傻瓜相机的时代,“照相会被摄魂”这种说法,只能是一个非常冷的笑话。
  不过可怕的传说本身却不会消亡。如果要建立一个排行榜,评选出这个时代最可怕的传说,那么我敢保证,克隆、转基因会排在榜首,如果你愿意,机器人技术和人工智能也可以入选。
  很显然,关于转基因的一些说法,从科学角度来看就如同狼人的传说一样荒谬。但是这些说法仍然并且正在流行。在网络上搜索一下“转基因”,容易发现“拒绝转基因”、“某某产品不含转基因”、“选择健康,不要转基因”这样的说法。很显然,这里的“转基因”变成了一种实实在在的物质,就如同二恶英或者 DDT。想吃点DDT吗?当然不想!那么转基因呢?
  答案可能是很简单明了的:事实上转基因不属于DDT一类,严格的说它甚至不是一个名词。“转基因”(从英文字面意义上,意思是“修改基因的”)生物是经过生物学改造的生物,通常是向某种生物的基因组中导入了它原来没有的基因。例如一种著名的转基因作物——通常被称为“金米”——就是把促进胡萝卜素制造基因导入了大米的基因组。由于胡萝卜素是人体合成维生素A的“原料”,而在很多发展中国家,儿童常常因为缺乏维生素A而死亡,这种转基因大米的作用如同在缺碘地区给食盐加碘。换句话说,吃这种“转基因”,实际上就是吃下了额外的胡萝卜素。你会对胡萝卜素恐慌吗?应该不会。但是如果把它的名字前面加上“转基因”呢?
  当然,并非所有的转基因生物都是有益的,但是“转基因”这个词肯定不是“有毒”的另一种说法。如果说关于转基因的什么东西是确实危险的话,那么它应该是对转基因技术的不了解。无知才是最危险的。
  另一个著名的例子是克隆。当1996年世界上第一只克隆羊“多利”出生之后,“克隆”这个词突然变成了一个常用词,与之相关联的是各种可怕的传说:克隆希特勒、克隆恐怖分子,甚至是克隆普通人的恐怖。流行的画面是许许多多一模一样的婴儿挤在一起——很明显那不是克隆的产品,而是图像处理软件 Photoshop的杰作。
  但是如果仔细考察克隆技术,这些可怕的传说事实上都不可怕:克隆希特勒几乎是不可行的,因为没有人特意妥善保存过他的DNA。即便他的DNA完好无损地存在,记忆是不能遗传的,所以即使希特勒被克隆出来,他也不可能兴风作浪。至于克隆普通人是否会造成什么恐慌,这也是不太可能的,因为克隆的个体仍然需要生长发育的时间。当然,来自宗教的反对是另一回事,但是宗教作为一种信仰不能干扰科学。
  简单的说,尽管今天的克隆技术并不完善,它并不是毁灭世界的技术。如果你理解克隆技术是怎么一回事,你就很难相信关于克隆的可怕说法,正如你很难相信照相机会摄走你的魂魄。(当然,有一次我和别人讨论克隆人问题的时候,当我排除了宗教因素,并解释了克隆的含义之后,对方还是以“不自然”的理由否定了克隆人。我放弃了进一步的争辩,心里想问:“那么你为何不同样拒绝‘不自然’的青霉素?”)
  标题是报章杂志非常独特的一个组成部分,比如一语双关的标题就能为文章增色。但是标题同样也能变成无聊的噱头。例如上个月(11月)某报刊登的一篇新闻“美国科学家秘造人兽混血动物”,描述了一些美国科学家“秘密地”制造出了许多“人兽赫迈拉”(希腊神话中的怪兽),这让人觉得新一代的狼人或者吸血鬼在实验室里诞生了。
  “如今的美国科学家和威尔士科幻小说《莫鲁博士岛》上炮制半人半兽怪物的医学狂人有什么本质区别?”这篇新闻在最后质问说。当然有区别,区别在于:作者本人把一个本来很严肃的话题写得乱七八糟。事实上,这篇新闻所提到的实验,都是关于干细胞研究的正常实验,例如把人脑细胞移植到实验小鼠脑中,可以研究诸如帕金森氏症这样的神经系统疾病;把造血干细胞移植到猪的体内,可以检验把猪的心脏移植给人的安全性。考虑把猪作为人类器官移植的供体并非新的想法,而且通过对猪的改造可以让器官更适合人体。
  即便是一个普通的事实,如果用不同的方式描述,也可能产生骇人的效果。考虑一下下面这个标题:“科学家培育出与人类基因组90%相同的猪”。也许有些人立即会想到“猪人”(或者“人猪”,随你怎么说)混血。听上去有点可怕,但是事实在于,猪的基因组与人的基因组的相似程度大约就是90%。还有一些物种比猪更接近人,用它们作标题,吸引眼球的效果可能更好。  如果你知道人和其他动物并没有那么黑白分明的界限,那么关于把人类干细胞移植给动物的话题就不那么可怕。拥有人类脑细胞的实验小鼠当然也不是怪物,因为它们的神经原数量太少了,否则为什么不是脑容量更少的直立人,而是我们建立了文明?
  出现在另外一份报纸上针对这条新闻的评论说“这绝对是一件令人不寒而栗的事……当科学的发展超越了人类伦理的界限,并且变得不可阻挡时,我们将如何面对威尔士科幻小说《莫罗博士岛》上那些本性凶残,却是被无辜改造出来的兽人?……人类除了等待传说中杀死赫迈拉的英雄柏勒洛丰降临,还能等待什么?”
  这样的评论和它所评论的那条新闻一样离题。如果说除了等待那个柏勒洛丰降临之外还能等待什么的话,我希望简单的生物学知识(高中的似乎足够了)能够降临到大多数人的头上。我写这篇文章的主要目的不是解释转基因或者克隆人,更不是阐述干细胞研究的进展,有一种东西比它们都危险,它叫做无知。我当然尊重公众参与讨论科学问题——这本身是一种时代的进步。但是任何讨论都应该建立在清楚理解问题的事实和本质的基础上:如果你不理解一件事,你如何能够得出关于这件事的正确结论?克隆技术、转基因和干细胞都是可讨论的话题,并且是非常有趣的话题,但是无知和某些人的以无知为荣,正在毁掉讨论的基础。
  让我回到文章开头的那件事上。当我向其他人解释了转基因意味着什么,至少有几个人缓和了他们对于转基因的敌意,甚至有一个人还对我说“我也觉得转基因没有那么可怕”。这是个有趣的例子。我无法一下子说服所有的人,但是它显示了事实对于讨论的重要性。

2004年12月18日星期六

〖转〗我不是博客

我不是博客
Zheng

我不是文人,自然没有资格和博客世界的文人们相轻;我更没有门派,有和山大王们抢夺地盘的用心。我不喜欢这个名称,因为它切切实实的让我感到不舒服:当别人介绍我是“博客”或者和我大谈“博客”的时候,我会浑身不自在,让我没有了说话的兴致。我不“博”,也非“客”,为什么要被强加一个名字叫“博客”?!
单纯从字面上来说,博客还算是Blog的一个比较好的翻译。但问题是,从“博客”诞生的那一刻起,就已经被人、被某些个追风的媒体发挥并利用于自己的“事业”了。
现在,它几乎已经脱离了Blog本身的含义被当作了一种精神,而精神或者灵魂是相当厉害的,能够在任何陈旧的东西上附身。不是么,博客被用在了房地产的企划中、被当作一个时尚的词汇用在标新立异的摇滚乐队的唱游里。仅仅因为中国农民调查一文被转载到BKZG,因此该文的作者也被当作博客被某些人攀枝引为同类。这种状况,正好是始作俑者所期望的,因为这样,就让自己占山为王,扯起精神领袖或者导师的大旗来。
这个万能的博客在勃起来之后,借用了种种事件,暗度陈仓的把众多中文Blogger们纳入到了自己的门下,让人们认为所有的Blogger都是他们博客,由此他们借以壮大起自己的队伍。人嘛,总有些人喜欢虚荣(博客,多时尚多前卫多性感的词儿),也有些人见机逐利,由此大好机会,自然后头屁颠屁颠的跟上了好些个兵将们。
我不喜欢莫名其妙的被划归到他们一类,所以,我要标记上“我不是博客”的图标,不是针对他们,而是善意的告知除他们之外的其他人们一个事实:  我不是他们说的博客,我只是在记录、在分享,在胡思乱想或者高谈阔论,偶尔也发点小牢骚的普普通通的人。


〖转〗别怕,不是要转你的基因

别怕,不是要转你的基因
·方舟子·
两年前,对转基因食品的恐慌从欧洲蔓延到了中国。绿色和平组织在中国的代理人指控雀巢产品含有未表明的转基因成分,愤怒的消费者因此控诉外国大公司试图拿中国人当小白鼠做试验。最近,由于中国有关部门启动大规模种植转基因水稻的评价程序,再次在中国掀起了反对转基因作物的风波。这回的矛头所指却是中国研究转基因作物的科学家,《南方周末》12月9日头版头条的导言很好地概括了这种指责:“在转基因稻米的安全性存疑的情况下,中国一些科学家大力推动这种产品的商业种植,让人怀疑其中关联的利益。”
大米做为中国人的主食,其安全性问题要比任何一种食品都更能触动中国人的神经。但是我们并没有见到转基因食品的反对者有什么证据来支持他们对安全性的质疑,反而有许多证据表明目前上市或准备上市的转基因食品是安全可靠的。反对者只能采用“现在证明是安全的并不能说明将来就没有问题”这种狡辩。
如果我们接受这样的逻辑,那么我们也可以质疑任何食品的安全性。比如,我们更有理由质疑杂交水稻的安全性。转基因水稻转入的不过是一种或少数几种我们已知其功能的基因,而杂交水稻却是把成千上万个我们还一无所知的基因混杂在一起,尽管我们目前没有发现这会有什么隐患,但是谁敢保证将来就一定不会被发现有问题?我们甚至还有证据表明普通水稻是有害健康的。大米中含有肌醇六磷酸,这种分子能和食物中的铁结合使铁不容易被肠道吸收,因此以大米为主食的人容易患上缺铁性贫血。那么我们是不是应该宣布大米是不安全的食品而反对种植水稻?事实上,用转基因技术恰恰可以克服大米的这个害处。目前正在推广中的“金大米”,为此转入了三个外源基因,分别用于破坏肌醇六磷酸、制造用于储存铁的铁蛋白和帮助肠道吸收铁。
我接触过很多反对转基因的人士,发现他们有一个共同点:并不知道转基因是怎么回事。许多人望文生义,误以为转基因食品要转变人体的基因,为此忧心忡忡。从上面举的金大米例子可知,转基因指的是把外源基因转入作物之中发挥有益的作用,并不是要转变人的基因。那么,如果人吃了转基因大米,会不会无意中也把人的基因给转了?这是不可能的,因为所有的基因,不管是大米原有的,还是人为转入的,化学成份都一样,都是由核酸组成的,在人的消化道中都会被消化掉,而不会被人体细胞直接吸收、利用。如果你担心转基因大米中那一两个外源基因会在你的体内作怪,那么大米中原有的成千上万个基因同样值得你的担心。因为所有基因的化学成份完全一样,如果人体有可能吸收、利用某个外源基因,也就可能吸收、利用其他外源基因。那样的话,我们吃任何食物,都有可能被转了基因!
这就是为什么这种对转基因食品的恐慌会让专业人士哭笑不得。那些反对转基因最激烈、嗓门最大的人,往往并不知道自己在反对什么。甚至连绿色和平组织也难以搜罗到懂行的分子生物学家充当科学顾问。这次为绿色和平组织撰写《中国转基因水稻对健康和环境的风险》的两名科学顾问,一个是兽医,一个是土壤专家;接受《南方周末》专访的另一科学顾问是美国一所野鸡大学的政治学教授,他们懂多少分子生物学,在转基因问题上有何权威性可言?
正因为这些专职反对转基因技术的人士自己也知道无法从学术上赢得辩论,所以只能散布阴谋论,把支持转基因技术的分子生物学家全都妖魔化为利欲熏心之徒,而无视这样一个基本事实:并不是所有的分子生物学家都从事转基因技术的开发,更不是都有商业利益在里头,他们之所以支持转基因技术,不过是因为比一般人更明白什么是转基因罢了。
反对转基因的活动家把自己打扮成反抗科学界阴谋、为公众代言的勇士。他们的立场早已确定,并不只是要反对某种转基因作物,而是要反对一切转基因产品,在甚至连基因是什么都不甚了然的公众中制造恐慌、煽动仇恨。所以试图用更多的证据说服他们是无济于事的。但是如果我们听任他们在媒体上愚弄世人而不加以反击,那么这项刚刚起步、有着无限美好的应用前景、甚至可能最终解决饥饿和营养不良问题的新技术,就可能被以正义的名义扼杀掉。
2004.12.12.(《中国青年报》2004.12.15.)


2004年12月17日星期五

一步跨出既成天涯

刚才leader找我谈话,看看我的进度,当然更重要的是看看我下两周可以作什么。
因为,从下周开始,这个开发组里的其他人都要去休假了。最短也有一周的时间。而我会留下来工作。leader说,没有人在这里,你可以随意一点,遇到问题也比较难找到人帮你,作多少算多少了。
我今天刚刚拿到了代码的访问权限,所以这两周里,应该有很多事情可以作的。照leader的解释,因为我的profile中注明我是在北京的员工,所以系统不能自动地把权限给我,他们绕了很大个圈,解释说我现在在Redmond干活,才拿到这个权限。
办公楼里的人越来越少了,这几天不断地收到同事的邮件,说从X日星期X开始休假,一月多少号再回来。而公寓里的人也少了,一个一个地都回北京了。周一的时候还有五个人,周二的时候有四个人,昨天就只剩下三个人了,到下周一还要再走一个。然后留下两个人,在这里作Condo守望者。
突然,有点感慨,一步跨出,既成天涯。
我听着iPod,谭咏麟在二十年前唱的老歌,走在冷清的街头,去办公室,去那里读文档写code。第一次听这首老歌,是中学时,从同学那里翻录的磁带。这之间,似乎真的只有一步的距离,而实际上,那却是十六个小时的时差。

中国人把遥远的地方叫做天涯,还是把自己所在的那一小块当做了中原。
对于Redmond这里的人来说,中国是个遥远而神秘的所在,去北京出差,到有点猎奇的意味。对他们来说,中国才是真正的天涯。

2004年12月14日星期二

2004年12月12日星期日

找一个RSS Reader

就像人们常说的,一夜之间RSS Reader变得流行了。
当然,这和BLOG的流行有关系。
我想就技术层面来说,RSS是blog的核心,没有rss,就不算blog。
嘿嘿,前面那句话是乱说的。
但是用rss来提取内容,把信息聚合在一起,确实是很棒的东东。

嗯,RSS是什么?简单的说吧,就是用XML来描述site的内容。现在去浏览blog,常常都能看到聚合或者RSS Feed的标志,链接到的就是这个blog的XML。
RSS Readr就是把从你指定的地址去读取XML,然后显示出来。
用户可以从RSS Reader去读自己喜欢的blog或者网站,而不用再去一个一个地打开链接了。
对于,喜欢读新闻或专栏的人来说,这是一个宝贝。

我今天用了一个下午的时间,来寻找一个好用的RSS Reader。
找到的第一个东西,是plunk,这是一个IE的插件,功能其实非常强,可以在网上保存个人的收藏夹。她内置的RSS Reader是rssreader。多棒的名字,可惜,不支持中文,只有放弃了。

第二个是Sharp Reader。界面很简单,嗯,傻瓜级的,但是好像需要的功能都满足了。支持中文,支持定时同步(我不知道她多长时间同步一次,好像也没有设置选项),可以导入或导出Subscribed List。能够打开页面。能够通过blog内的链接定位到别的blog。非常好,我最后的选择就是这个。
有人说sharp reader的缺点是必须安装微软的.net framework。哈哈,我可不觉得这是什么缺点。
我觉得sharp reader的缺点是,不支持搜索。

然后是Feed Deamon,我觉得这东西是很有前途的软件,功能强大,可以把导入导出suscribed list,而且可以把feed分组,也支持搜索。缺点是,对中文的支持有点问题,虽然在正文中也能显示中文,但是在列表中却把中文显示成了?。

Ampheta Desk,这个软件从形式上来说,是我最喜欢的。她在本机上作了一个html服务,然后用ie来打开这个端口,用html页面来作界面。google也爱这么作。我也一直觉得这是UI的发展方向。后来,看到微软的Avalon,哈哈,才明白,那才是UI的发展方向。话说回来,Ampheta的问题是,在我的机器上,这个界面根本就不能访问,嘿嘿,啥都看不到。

NewsIsFree,Novobot,RocketInfo,Blogline都是在线的blogreader,都不能导入导出subscribed list,嗯,不好用,全都放弃。

使用这几个东西已经花了我一下午的时间了,所以,不想再去试别的东西了,就用sharp Reader好了。

其实,我的感觉是,RSS Reader是个很有用的东西,从技术上说,也不算复杂,但是现在并没有真正的杀手级软件,所以,这里其实是一个空白。有志之士,可以试着作一个出来,应该还有出头之日。

《Stan Lippman:“C++/CLI全景体验”开栏致辞》的读后感

在CSDN的《程序员》专栏中看到一篇Stan Lippman关于他的C++/CLI的致辞。其实这篇文章还很新,上个月的文章而已,但是由于发布以来,网上出现了无数的评论,所以,到像是一篇旧作了。我是先看到别人关于C++/CLI的评论,然后才看到Lippman的这篇文章。尽管有不少C++程序员骂Lippman是叛徒,然而Lippman的这篇文章却让我非常的欣喜和鼓舞。另外,Lippman确实是那种大拿,写起东西来,深入浅出,虽然谈论的问题已经是语言前沿的东西,但是并不卖弄词汇概念,故作高深,把事情讲得非常清楚。看看他以前得《C++ Primer》就该明白他的风格。
我有些怀疑,骂Lippman的那些人是否真地看懂了Lippman的这篇文章。如果看不懂,那么只能说是水平太差了,根本没有资格对Lippman说三道四。如果看懂了,亦然这么说,那么应该是过于保守顽固了。

我的几点感想,嘿嘿,其实和Lippman的这篇文章关系并不大。Lippman的这篇文章已经说得非常清楚,我实在是没有资格来评说。
最大的感想,关于动态性。其实,我没有怎么接触过动态性的语言。在C++中,跟语言动态性沾点边的大概是RTTI吧。这是一个为广大OO程序员所不齿的一个东西。我以前也一直这么认为,一直到学习到了一点Java的Reflection的时候,才明白RTTI是个好东西,但是C++中的RTTI不够好。
按照OO的思路,对象和对象之间不需要了解对方究竟是什么样的对象,只要知道对方是什么接口就可以了。而RTTI却是要从接口还原出具体的对象出来,这当然和OO的思想背道而驰。
然而,我们应该明确的是,为什么要OO。我以为,OO的利益来源于OO的principle。例如,以OCP为例,对功能的扩展要Open,对代码的修改要Close。因此,如果只是操作接口的话,那么可以通过修改实现来扩展功能,而不需要对接口的调用。
如果使用RTTI,在运行时,判断对象的具体型别,然后根据不同的型别作不同的处理,这将完全破坏OCP。当对实现进行扩展时,也就必须扩展对不同型别的处理,这就直接破坏了对接口调用的封闭性。
然而,RTTI不只是这么一种用法,另一种用途是,在运行时,决定要生产什么样的对象,甚至在编写代码时,都不曾声明的对象也可以在运行时生成出来,这是拜Reflection和动态语言所赐。
我们回过头来,看OCP。实际上没有绝对的OCP。设计者可以把变化抽象成接口,并用不同的实现来提现变化,还可以用多种设计模式来把这些对不同实现的处理集中在一起,例如factory模式。可是归根结底,总有个地方,需要知道,要知道究竟有多少种不同的对象,究竟要生成什么样的对象,如何生成这些对象。把这些过程全都放在一个factory里面,这就是从语言层面上来说,C++的尽头了。如果还要更进一步,就要用到COM这样的东西了。
RTTI中的Reflection可以通过一个标识符来动态的生成对象,从而解决这个问题。一个貌似完美的OCP解决方案。Java利用Reflection,在这个方面,把C++远远的超越了。
所以RTTI也许不是OO,但是他比纯粹的OO更加符合OCP,从而使我们的程序更加优雅。有什么理由来拒绝如此优雅的设计?
而终于,在C++/CLI那里,我们得到了有Reflection的C++。就为了这个,也值得为C++/CLI欢呼。

另外,看到Lippman提到追踪句柄和STL的时候,我的心头一惊。以前没有想过这个问题,但是就这么一说,也能马上想到,这是一个非常复杂的问题。复杂到什么程度?千头万绪,无从说起。如果让我来解决这个问题,要作的第一件事,就是再去读一次STL的源码,在所有会被托管堆引起麻烦的地方作上记号。我估计这么一来,STL的源码中,可能会被密密麻麻的记号所充满。
看到后来,Lippman说要让追踪句柄和普通指针有互操作性,又说到关于C++/CLI对模板的支持。我才觉得松了口气。如果解决了这两个问题,那么对STL的支持,大概也就迎刃而解了吧。
唉,大师就是大师,看问题是高屋建瓴,从根本上解决问题。回过头来,看我的想法,只能说是一个修补匠的思路。
以后如果有面世人的机会,可以用这个题目来考人。如果回答逐行修改STL源码的,嘿嘿,立马拒掉,哈哈。
不过,提到C++/CLI对模板的支持。我隐约感到,这是一个意义非常重大的东西。模板和动态语言,金风玉露一相逢,这里好像有不可思量的潜力,也许会出现对设计模式革命性的扩展。哦,真的是不敢想像,也无从想像。
我非常期待,C++/CLI……

点击下面的链接,可以阅读Lippman的原文:
http://editblog.csdn.net/programmer/archive/2004/11/25/931.aspx

2004年12月10日星期五

受伤的马,你的价值跟胜负根本就是两回事!

电影《奔腾年代》(Seabiscuit)里,有句重复了两次的台词:你不能因为他受了点伤,就抹杀他的价值。
白马的腿断了,再也不能参加比赛,但是它还可以运货,可以领路,而且它还长得很漂亮。

现实中,在更多的时候,是人因为受伤而抹杀了自己的价值。

漫画《铳梦》中,关于价值,有段更动人的台词。
沙勇原本是个普通的赏金猎人,能力低微,目光短浅,但却破坏了很多的幸福,是属于故事中让人讨厌的二流配角吧。他在多次被女主角凯丽击败后,丧失了记忆,却被美丽善良的莎拉收留。那是他一生中最幸福的时光。然而沙勇却错手杀死了莎拉。这让他完全地陷入了疯狂,变成了一个怪物。怪物把自己的苦难归咎于凯丽,然后向凯丽展开报复。凯丽在一场苦斗后杀死了它。那怪物在生命的最后瞬间,想起了自己变成怪物之前,和莎拉在一起的日子。
沙勇:我作了个恐怖的梦……因误会而杀了你……发狂的我变成了怪物,想要复仇的梦,什么希望也没有,杀害了很多人类……可怕的恐怖的梦……
莎拉:没关系啦!那是很普通的梦啦!你不会作那种事的!
沙勇:莎拉……我觉得很不安!恐怖而且令我受不了……如果你不在的话……我该怎么办才好呢?莎拉……请你告诉我!
莎拉:不管发生什么事……你都要重新接受那种事实……那跟别人没有关系……你要好好地接受你自己本身!你感到失败、懊恼时,也不要自暴自弃,而更应该勇敢地承认!你的价值跟胜负根本就是两回事!你忘了吗,我是最了解你的人……



2004年12月8日星期三

〖转〗一句话 COM - 给 C++ 程序员的 COM 入门指南

今天在网上看到一篇很棒的介绍COM的文章。
文章很短,但是深入浅出,对COM最重要的几个方面,包括接口,对象模型,聚合,线程都提到了。
我正好需要一点东西来帮助我回忆关于COM的内容,这就是正解。
我不在这里贴出来了,有兴趣的可以点击链接查看全文:
一句话 COM - 给 C++ 程序员的 COM 入门指南

2004年12月5日星期日

Sleep in Redmond

到达Redmond一周了。 Redmond是微软的总部,半个城都是微软的。刚到这里的时候,同事提醒我说,这里也还有些别的公司。 微软在这里大概有几十个楼吧,楼的编号已经到了一百好几。问同事,这里到底有多少楼,同事也搞不清。每个楼都只有三四层,但是层间很高。 这几天每天都是早出晚归的工作,我觉得有点封闭式开发的味道,对这个城市实在是没有什么认识。嗯,勉强说来的话,潮湿,每天都在下雨,空气很清洁,树林很多,且高大,人少车多。 在Redmond微软这里,还有很多很漂亮很昂贵的车,让我想到一件事。微软有全世界最有钱的老板,也就意味着,这是全世界贫富悬殊最大的公司,而我就是这个公司里处于最贫那一极的家伙。唉,想明白了这点,就是让人觉得很不爽。单就这边的工作环境来说,还是很舒服的。我第一次有了自己的办公室,哈哈,现在是在单间上班了。可以把耳机的声音开大,也不用怕会影响别人了。


我的办公桌

在Redmond这里,看到好几辆甲壳虫,而mini要少一些,就见过两三次。看到mini的时候,就想,如果能留在美国工作,也是很不错的一件事啊。 前几天,有个晚上我和同寝室的家伙是2:00下班的,回去后,发现公寓里有个家伙还没有回来。第二天吃晚饭的时候,我一问他,才知道,那家伙前一天晚上,干了一通宵,今天还继续上了一天的班。唉,怎么这里的人都爱把自己当驴使。 我刚到公寓的时候,被下了一跳,太乱了。后来才知道,那里是每周二打扫一次,而到的那天刚好是周一。第二天晚上回去时,看到的公寓就好多了。


我们的公寓

这里中午是在微软自己的食堂去吃饭。现在看来,pizza将会是我的长期午饭了。晚上一般是五六个同事一起去附近的中餐馆吃饭。怎么说呢,这里的中餐馆比我想像的要多多了。Redmond是个很小很小的城市,但是中餐馆还是多到足够在一周之类不重复的地步了。吃饭次数最多的饭店,是一个叫老四川的馆子,味道不错,我觉得比北京的大部分川菜馆要好。


最常去吃饭的老四川

2004年12月4日星期六

三厅五排一号

搬家前,收拾屋子,从各个偏僻的地方搜罗出来了形形色色的电影票。嗯,我喜欢把那种印有电影名字、时间、座位号的电影票收起来。但是又确实缺乏收集的习惯,弄得这些电影票就散落在屋里的天涯海角了。
电影票中,最常见座位号,就是新东安的三厅五排一号。
新东安电影院是北京第一家五星级电影院,不过我觉得他的音画表现都不如小西天的中影影院好,但是因为FESCO总是发新东安电影院的卡,所以那里是我看电影最多的地方。
新东安最初有四个电影厅,其中一、二、四厅能容纳100人左右,而三厅最大,能容纳200多人。在新东安扩容后,一共有八个厅,七厅比三厅多了十来个位置,成了最大的厅。
对于我来说,看电影的时候,最爽的是,整个视野都被银幕覆盖住,把头从左转到右,看到的都是电影的画面。这样看电影,对我来说,最有投入感了。
所以,我喜欢选择,大厅、靠前的座位、中间的座位。对新东安来说,这样的位置就是三厅五排一号
三厅五排一号对我来说,就是最舒服,最享受的地方。坐在这里,我就进入到了自己的世界,然后,我可以在两个小时内,忘记一切让我心烦不快的东西,专心的享受那纯粹的快乐。在那里,在三厅五排一号,曾经有我的快乐。
OMG,而现在,我想到的是天下无贼、功夫、咖啡猫。这些本来该在三厅五排一号享受的时间,我都看不上了。很不爽。
回到收拾屋子的那个晚上,我看着那一叠电影票,突然间,众多的往事在胸口堆积,我无言以对。难道生命中有些时间只能让人惋惜。至少,在三厅五排一号的那些时间,我很快乐。

突然想到,把看过的电影票收集起来和坐在电影院的前排,都是来自我一个朋友的习惯。