星期一, 九月 24, 2007

星期六, 六月 23, 2007

星期一, 六月 18, 2007

相机哟,相机哟~~我来了



快毕业了,开始蠢蠢欲动,想要买个相机,虽然奖学金没有拿到预期(5555~~~就只差了一点点呀),但喝几天粥应该是可以撑下来的吧。

品牌的选择:
根据pconline,中关村在线等主流网站的排行数据显示,在相机这一领域,佳能的口碑非常不错,各种数据排行均遥遥领先,受关注的程度也比较高。所以,受这些因素的影响,个人也倾向于购买佳能的数码相机。

卡片机还是其他?
原本很想买卡片机的,便于携带,但随着后来看的资料越来越多,觉得卡片机变焦倍数比较小,拍摄距离不是非常远,同时卡片机使用的是充电锂电池,同普通充电镍氢电池比较起来有一定的性能差距(详细对照可以参考:http://tech.sina.com.cn/other/2003-07-09/1318207453.shtml),如此一来,基本上相机的购买范围就缩小到佳能的A系列了。

A710?
在佳能的A系列中,A710在网上的关注程度比较高,性价比比较高,具体的评测文章可以参考:http://www.pconline.com.cn/digital/dc/pingce/xfl_dc_pcyyr/0611/903974.html 。还有更加深入点的评测文章,可以参考:http://www.pconline.com.cn/digital/dc/pingce/xfl_dc_pcyyr/0702/962187.html
感觉机型的确定有点太快了,主要是看到各个主流网站的关注排行都是A710作为榜首,性价比的评价也比较高。也许还会再看看其他的牌子,例如奥林巴斯(据说镜头做得非常好)。但基本上就确定在A710这款机子上了。不过又听闻A710的涨价指数很高呀,得赶紧去看看货,真郁闷。

确定了机型之后,应该就开始了解该款机型的一些特性,还有购买技巧。以下就列举一些需要关注的问题(当然,太平洋网站已经出了该款机型的购机指南,可以参考:http://www.pconline.com.cn/digital/dc/daogou/baodian/0611/908275.html):

如何辨别相机是否是正品行货?
1、国内行货的特点是:说明书、保修卡及包装盒上的文字都是简体中文的。必须注意,包装盒一定是未开封,盒内的随机附件也都是未开封的,在包装盒的正面有一个印有佳能中国的圆形防伪标签,揭开后可以看到16位(两行四组)的防伪码,可以当场上网或拨打800电话查询真伪。 这个防伪码和机身底部的机身号不是一回事,机身号是10位的。国内行货机子都标的是MADE IN JAPAN,如果标的是MADE IN CHINA肯定是假货。
2、如何辨别购机时候附赠的金士顿SD卡是假冒的(竟然为了假货设立了专门的热线电话和短信查询,汗)?
真正的查询电话是8008201399,短信为9160919。

购机步骤:
准备:SD存储卡(如果有条件的话);deadpixel软件
1、在拿到一台新机子的时候,需要关注的是该包装盒是否已经开封(详细检查防伪封条,看看是否有损毁的痕迹)。
2、为了检查机子的真伪,揭开包装盒右上角的防伪标签表层,拨打800电话查询。
3、核对产品的条形码,查看包装盒、机身、保修卡三者的条形码是否一致。
4、检查包装盒内的物品,除了机身外,还有用户手册(密封透明塑料袋包装)、保修卡、光盘(光盘也是有简单封装,一旦拆开,便无法复原);以上三项为印刷品类,除了印刷品外,包装盒内还有就是附件(也即通俗来讲的标配吧,我猜~~),包括有(以下附件均为密封包装)AV视频音频线,USB连接电缆,2节一次性使用的5号碱性电池,1张16MB的试机SD卡,还有一条挂绳。
5、检查机身右侧的凹槽和顶部扬声器,如长期在外摆放或使用,里面难免会有灰尘。同时还要观察电池仓的盖子,检查是否有灰尘,以及使用过的擦伤痕迹。
6、模式拨盘,初始一般处于auto位置。
7、需要关注镜头盖,检查镜片是否通透,无灰尘,同时检查镜头的伸缩,镜头盖的开闭情况,看看是否流畅,此处比较容易产生故障。
8、在完成了以上的步骤以后,接下来要做的就是进行多个不同环境的试拍,主要有面对光亮环境(全白成像),面对全黑环境(纯黑成像),对拍摄下来的照片,可以用deadpixel软件来检查坏点。
9、成交之后,记得索要联系方式,并且谈妥出现问题机的退还,保修期,保修方式等等。
A710图片见本文篇首。
专业术语解释:
光圈(以及光圈优先、快门优先):http://tech.sina.com.cn/digi/2004-09-23/1500430722.shtml
其他相关帖子:

佳能IXUS850 IS选购指南

http://www.pconline.com.cn/digital/dc/daogou/baodian/0611/912630.html

星期五, 六月 15, 2007

满世界都是混乱

石油涨了,
股票涨了,
人民币涨了,
猪肉涨了,
青菜也涨了,
美国人又在叫嚣了,该强制中国政府提高RMB汇率了。
多事的世界,惨淡的人生。
今天我又回学校了,感觉跟家里一样,没事情做。
逛了一下,打了一下台球,玩了会麻将,出去吃了点宵夜,已经是深夜两点了。
事情总是愉快的,不愉快的一起来,祝明天考算法的同学顺利吧。

星期三, 六月 06, 2007

匆匆溜过的大学,淡淡的伤感

我毕业了,
看着窗外渐渐亮起的晨曦,我突然有股凉意,淡淡的伤感。
恍惚间,我还在准备着最后一门体系结构的考试,但第二天我就完成了毕业答辩。
而现在呢,我已经完成了毕业答辩后的第一个通宵。

脑筋已经僵化了,睡眠严重不足。
带着那即将离去的伤感,真的有种挥之不去的懊恼在心头。

四年了,两年海对岸,两年海这边,再有两年是在那珠江边,
人长大了,但却洒脱不起来了,变僵硬了,变沉寂了,没有办法再无忧无虑了,
有了难受,但却只能来这里发泄一下,写写东西,但这又能怎么样?一切照旧。

时常安慰自己,已经够了,努力已经够了,已经达到了极限了,但心里明白,自己仍是忍受不住极限之外的诱惑,变本加厉,无限量的压榨着自己的能量,以便靠近那可望不可及的极限。
想到来大学之前,自己曾经对自己说过:“尽力吧,接受极限的到来,接受某种程度的失败!”当时自己并不了解自己,原来自己是如此的愚顽,并不晓得有些命运中的东西是不可抗拒的。但我是如此的不服气,如此的想要去征服命运。四年了,我23岁,老了吧?但还是得继续在追求中生存下去,但谁晓得哪天就因为跳出了追求而发现了错误,让人扼腕叹息呢?

我是如此的愚昧无知,不堪教化。

星期二, 五月 15, 2007

关于线程的创建和自定义消息的设置

可怜的毕设,加油咯。
线程创建:http://www.yuanma.org/data/2006/1209/article_1923.htm
自定义消息:http://blog.vckbase.com/sjdev/archive/2006/07/25/21506.html
信号量的使用:http://www.vckbase.com/document/viewdoc/?id=762
今天检查了一天的内存泄漏,竟然一无所获,很让人郁闷的一件事情。最后又花了大半夜的时间,把声音控制实现了,主要用的东西就是线程的创建和消息机制的传递(自定义消息)。觉得除了那个内存泄漏的问题还存在以外,其他的东西我就不太想再去弄了。再熟悉一遍算法,把论文给完善一下吧,能够顺利毕业就满足了。嘿嘿~~God~~

星期六, 四月 21, 2007

噪声,白噪声,加性噪声

噪声:不期望接收到的信号(相对于期望接收到的信号而言)
---------------------
白噪声(白杂讯),是一种功率频谱密度为常数的随机信号或随机过程,是功率谱密度在整个频域内均匀分布的噪声。此信号在各个频段上的功率是一样的,由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的这种具有平坦功率谱的性质被称作是“白色的”,此信号也因此被称作白噪声。相对的,其他不具有这一性质的噪声信号(功率谱密度不均匀分布)被称为有色噪声。
---------------------
一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽。理想的白噪声具有无限带宽,因而其能量是无限大,这在现实世界是不可能存在的。实际上,我们常常将有限带宽的平整讯号视为白噪音,因为这让我们在数学分析上更加方便。然而,白噪声在数学处理上比较方便,因此它是系统分析的有力工具。一般,只要一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽,并且在该带宽中其频谱密度基本上可以作为常数来考虑,就可以把它作为白噪声来处理。例如,热噪声和散弹噪声在很宽的频率范围内具有均匀的功率谱密度,通常可以认为它们是白噪声。
-------------------------------
加性噪声一般指热噪声、散弹噪声等,它们与信号的关系是相加,不管有没有信号,噪声都存在。而乘性噪声一般由信道不理想引起,它们与信号的关系是相乘,信号在它在,信号不在他也就不在。一般通信中把加性随机性看成是系统的背景噪声; 而乘性随机性看成系统的时变性(如衰落或者多普勒)或者非线性所造成的。

星期四, 四月 19, 2007

我的父亲母亲

题引
朦朦胧胧中,隐约听见舍友正在同女友聊电话,低声的叙述着我最近又开始做梦大声喊叫的事情,让我啼笑皆非,心里想着,人总是生活在评论中的。看了下时间,凌晨4:30。最近因为毕设的事情是有些烦躁了,不经意间,思绪开始飘到了远方:那是曾经的我,曾经的我的生活。
印象
清晨,破旧的四合院大厅里,父亲写下了一页算术题,交给了我,这是你今天要做的,接着他匆匆离开了,开始了他一天的工作。那年,我还小,不到上学的年龄。
我哭着跑回了家,因为跟小玩伴玩耍的时候,不小心掉进了齐腰深的臭水沟里,母亲狠狠的打骂了我一顿,帮我换上了衣裤。那年,我八九岁。
一整个早上,我都觉得我肚子不舒服,二伯一面安慰着我,一面教我画飞机,画五角星,我也不敢说我到底怎么了。好不容易熬到母亲下工回来,我站在天井旁边,脱下裤子想小便,半晌之后,我哭丧着脸跟母亲说,我尿不出来。匆忙间,母亲拉出了自行车,独自将我带到了医院。那年,我十二三岁。
同年,我刚病愈出院,父亲带着我回家,路过一家牛肉粳店,拉着我进去,给我点了碗牛肉,看着我吃完。
在四合院的厨房里,我看着母亲把鸡下到了锅里,那是我第一次吃到鸡肉,可惜,没有给我留下什么好印象。
在四合院的房间里,我不小心把镜子掉地上弄碎了,我哭着坐在房门口,不断地摆弄着镜片,想要把它们重新粘到一起,父母回来后大发雷霆。那镜子是一对的,另外一只现在仍然在我房间里。
在还未装修的新家里,父母吵架,母亲躲到三楼,我跟了上去,母亲赌气的说,别跟你爸说我在这里,我听话的下楼去了。
夏天,天气太热,睡不着,父亲出去拿了瓶冰啤酒,鱿鱼干,跟我坐在二楼的阳台上,一起吃喝了起来,那是我第一次喝酒。
我躺在一楼的楼梯口大声的哭着,父亲拿着毛巾抽我,母亲在旁边心疼的劝阻,那是父母亲最后一次出手打我。
父亲见我不时摆弄他结婚时的上海表,将表链卸了几个下来,将手表戴到了我的手上,大大的表盘跟稚嫩的小手完全不成比例,虽然后来发现它根本不准,但我还是很高兴地戴着它,每天都傻傻的给它对时间。
我成绩下滑,父亲气得将我所有的课外书撕成了碎片,问我到底还想不想读书。那是父亲最后一次因为学习的事情跟我生气。
我升了初三,父母跟我说,读书都是为了你自己,你看看你周围那些不读书的都在做些什么,你长大了,自己应该可以想得通。
我高三,父母跟我说,读书不要有压力,你能读到什么程度就到什么程度,我们也不能帮你什么,也不对你要求什么,一切都靠你自己。
我上了大学,父母亲跟我刚从别人的喜宴上回来,父亲喝了点酒,一屁股做在楼梯上,语重心长地跟我说,你能到这样,我们也已经满足了,以后就靠你自己好好努力,我们也就不再管你的事情了。母亲在旁边欣慰的看着我。父亲已经好几年没有喝酒了,他说他高兴。
半夜,父亲觉得身体不太舒服,血压不稳定,到医院去了,我留在家里焦急的等待着。
父母的房间墙上挂着满满的奖状,那是我从开始读书时积累起来的,每次我跟父母说,这样不太好,他们说,这样他们看着高兴,也让家族里的孩子看着好好努力读书,以后都跟你一样。
成长
随着年龄的长大,印象开始模糊了。偶尔想抓住,但隐隐觉得力不从心。
离家快四年了,做了很多事情,对的错的,我都很坦然面对着,因为这一路走过来,已经是十分不容易,哪能再去计较那么多的得失呢?但我的心绪却越来越焦躁,每次回去看着父母慢慢老去,就暗自责备自己,什么时候才能让父母省心呢?作为一个儿子,我很惭愧。每拿一次荣誉,做一件事情,我都会让家里知道,每个周末,我都会给家里打打电话,因为我知道他们对我做的实在太多了,我现在只能这样让他们感到高兴,作为回报。这次推免研究生,违背着父母的意愿,我跑到了更远的广州,当时是想着,上不了就可以去工作了。没想到,事情出奇的顺利。命运又让我有了两年的学生身份。
两年后,我能做些什么来回报他们?这样的压力,随着时间的流逝,慢慢扩散开来。

星期五, 四月 06, 2007

谷歌的新输入法

用起来还算不错吧,只是在打字的时候如果速度过快就会有点卡。但是相信他的词库是比较牛逼的。再用段时间看看效果吧,至少现在打起来挺顺手的,速度还可以接受。

星期六, 三月 31, 2007

人心不足蛇吞象

以此为戒。

星期一, 二月 26, 2007

提高查询速度方法总结

这个帖子主要总结提高查询速度的方法,涉及到减少连接数据库次数、建立索引、优化语句等方面。

关于索引,推荐转载的这篇文章
http://blog.csdn.net/dutguoyi/archive/2006/01/10/575617.aspx

改善SQL语句的效率
http://community.csdn.net/Expert/topic/5087/5087396.xml?temp=.345669
数据量很大怎样加快索检速度
http://community.csdn.net/Expert/topic/5058/5058320.xml?temp=.1229517
索引建立方法的区别
http://community.csdn.net/Expert/topic/5068/5068154.xml?temp=.3010218
频繁插入删除数据需要更新索引
http://community.csdn.net/Expert/topic/4937/4937910.xml?temp=.8428614
测试了一下sql server 2005 全文检索
http://community.csdn.net/Expert/topic/4878/4878430.xml?temp=.6049311

其他关于效率的高频问题

判断一个表的数据不在另一个表中最优秀方法?
http://community.csdn.net/Expert/topic/5038/5038742.xml?temp=.4704553
删除千万级表中重复记录的办法
http://community.csdn.net/Expert/topic/5089/5089261.xml?temp=.7907068

数据库数据查询变得不正常类型问题

大数据量,稳定运行一段时候以后无法得到查询结果。
http://community.csdn.net/Expert/topic/4810/4810464.xml?temp=9.014529E-02

星期三, 二月 14, 2007

情人节前夜,收到了个书包哦。

哈哈,光线比较不好,不然它很光鲜哦,以后大量的书就装得来了。发文纪念一下。

星期一, 二月 12, 2007

Tsinghua students are all writers, not scientists.

在寒假快度过一半的时候,我开始想静下心来好好的看材料,看文章了。
这样说其实跟这篇帖子没有太大的实质性关系,标题的话是援引自王珢在2005年9月22日写的《清华梦的粉碎--写给清华大学的退学申请》。具体是什么意思呢?我想,我会转贴他的原文在帖子的末端的,看过后,你就能很清楚的了解他是什么意思了。这是个很旧的帖子了,但内容却仍然能让我们震撼,至少是让我感到震撼,是时候了,我们该搞懂,我们学了那么多年计算机为的到底是什么?是混生活还是为了自己的那丝追求?我不是显然的天才,但我是执著的追求者,在接下来将要开始的毕设,将要开始的研究生阶段,我要理清自己的思路,虽然不能摆脱迷茫,但,追求的轨道终究是要不断校准的。希望王珢的文章能给予阅读者更多的思索。也希望在一两年内,我不会为了自己的paper而有同样的感想。

清华梦的粉碎—写给清华大学的退学申请 2005.9.22

清华梦的诞生

小 时候,妈妈给我一个梦。她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲。长大后,你也要进入清华大学读书,为我们 家争光。我不知道清华是什么样子,但是我知道爱迪生和牛顿的故事。清华,大概就是可以把我造就成他们这种人的地方吧。我幼小的脑海里就想象出我能在清华做 的事情……我的脸上浮现出笑容。我说我要实现这个“清华梦”。这就是清华梦的诞生。

小小科学家

我相信每个人在小时候都跟我差不多,对这个世界充满了好奇。

鲁 迅有他的百草园,我也有我自己的"实验田"。如果说小时候的鲁迅是一个艺术家,那么小时候的我就是一个科学家。这么说可能有人要说我口气太大,张口闭口就 是这家那家。然而在我的字典里,"艺术家"和"科学家"并不是什么了不起的人,它们只是贴在人内心的一个标签。如果一个小孩专注于内心对世界的感觉,那么 他就是一个艺术家。而我不是。我的大部分兴趣是在了解世界是怎样运转,甚至不惜代价。也许大部分男孩子都是这样。

我小时候住在父母执教的中学里。两间平房,门口有一小块地,妈妈在里面种了一些菜。我们一家三口虽然穷,但是过着宁静舒适的生活。我们在这个地方一直住到上初中的时候。这些房屋记录着一个年幼的科学家的探索和实验,直到它们被夷为平地。

妈 妈拒绝让我养猫狗,她说凡是会拉屎的都不养---除了我。所以我小时候就喜欢与蚂蚁作伴。我总是试图用各种各样的办法去了解蚂蚁的生活习性。我可以一整天 的观察我家屋檐下的蚂蚁来来去去。看见他们用触须碰一碰,然后各自分头走开,我就会想它们到底说了什么。我在想,能不能用一种方法解开蚂蚁语言的密码。我 从书中得知蚂蚁洞里有蚁后,她有很大的肚子。为了一睹芳容,我开始试图水漫金山,把水往蚂蚁洞里灌。我有时一个下午就干这种事情,却没有一次成功看到蚁 后。后来才知道蚂蚁是如此精明的下水道工程师,水大部分都渗到地底下去了。可是我不甘心,我开始试用别的办法。比如在洞口放一块糖。可是蚁后架子太大,终 究不肯出来,让别人帮她送饭进去。

有人说,这个世界最后不是毁在疯子手上,就是毁在科学家手上。世界上如果只有科学家是很可怕的,比如 他们会发明高效的杀人武器。我发现疏松的棉絮可以迅速的燃烧,就想出一种惨绝蚁寰的大屠杀实验。我先把糖水滴在地上,等蚂蚁把那个地方围个水泄不通的时 候,铺上棉花,点火……现在想起那些勤劳的小黑头都变成灰烬,我仍然心惊肉跳。他们的灵魂会来找我报复吗?后来这个实验有一个升级的版本用的是浸泡过一种 化学药品溶液的纸,文火燃烧,由于燃烧速度慢,杀伤力不大,这个实验可以测试蚂蚁的逃跑路线。我还用活蚂蚁进行过心理实验。首先用破袜子摩擦塑料尺产生静 电,然后放在一只正在行走的蚂蚁身后不远处。蚂蚁走不动了,我就开始推测它在想什么,它感觉到什么。它可能会觉得有外星人?但是由于尺子拿开以后,它若无 其事继续走,我猜它只是有点纳闷,而不惊慌。但是反反复复几次之后,它明显有罢工的意思,似乎忘了自己要去干什么。后来我又发现蚂蚁被吸到塑料尺上之后会 由于带上相同的电荷而被"发射"出去,就像人间大炮一样。注:"人间大炮"是日本电视剧《恐龙特急克塞号》里的一种可以把人当作炮弹发射的威力很大的电磁 装置。

一点微小的发现,就可以引发大量的探索和实验。这就是我在那个年代的特点。虽然妈妈也逼着我练习书法,绘画,还多次获奖,但我不 喜欢这些东西。我似乎生下来就是科学家,不是搞艺术的,不过也许只是妈妈的强迫让我反感了艺术而已。物理是我最喜欢的,因为它让我了解到世界的奥秘。我一 般开学前几天就会把物理书上的实验都挑出来,费尽辛苦找到材料实践一番,心里美滋滋的。上学真是快乐!

失之交臂

上了 高中,由于课业的压力,我的生活逐渐改变了。为了考上清华大学,我努力的学习。抛下我的毛笔,抛下我用来做实验的蚂蚁,电池和线圈,抛下除了考试科目的一 切。在老师眼里我是一个听话的好学生,在妈妈眼里我是一个听话的好孩子。每天早上按时起床,吃一大碗妈妈做的面(为了补充一上午学习需要的体力),然后冲 进教室,按照预设的程序开始读书,做练习题。似乎一切都有条不紊,顺利进行。可是……

忽然有一天我发现,我的一切活动都是在纸上进行 的,看书,做习题。试卷和复习书让我变得变得麻木。我想这样下去我就不再像爱迪生和牛顿了。于是我开始调皮起来。我不但要做考试的题目,还要做更难的题 目。做了物理奥林匹克的题目,接着就想看大学的物理书,接着就想恢复我小时候的实验的爱好。老师辅导自习时经常被我缠住问一些不着边际的问题,那其实是我 在实验中发现的问题。终于有一天,在我要求他跟我合作制造一个磁悬浮陀螺的时候,他显示出了不耐烦:“王垠,你让我先回答别的同学的问题好不好?你的问题 对考试没有好处。” 我呆住了,启发我让我爱上物理的人,尽然对我说出这样的话。后来想一想,他也是无奈啊,不过我从此再也不想问他任何“超纲”的问题。

高 二的时候妈妈就拿回一份前一届的高考题让我做,我随手一做就得了一个当时可以考上清华的成绩。我的心里想,清华我来了。明年的这个时候,我就会拿到录取通 知书了!从此我就不再把高考放在眼里。我开始钻研越来越难的题目,进行越来越离谱的实验。我想,清华里面应该都是我这样的学生吧,我会有很多志同道合的朋 友,不用再跟这群只会做题的呆子在一起了。

可是我的行为总是受到老师的压制,他们要把我们变成考试的机器。他们告诉我,沉下心来做习 题,考试才能有把握。妈妈也帮着老师劝导我。看,一班的某某某这次模拟考试数学成绩比你高,多努力一下吧。我哪里听得进去,我才不在乎这点分数,我能解决 更难的问题,老师都没法解决的问题。我开始有了逆反心理,开始早上懒床,装病请假不去上课。班主任,校长多次找我谈话,说我要沉下心来准备考试云云。但是 我根本就听不进去,我鄙视高考,觉得他们没有资格出题来考我。然后我就有了心理疾病,大概是强迫症。高考语文的时候我居然怀疑监考老师认为自己在作弊,接 着好像真的怕被抓住了一样,手发抖,头冒汗。然后我又想要是考不好,以前的优秀会不会也被人怀疑?他们会不会以为我以前的成绩全都是作弊得来的?手就抖得 更厉害了。这时候,监考老师可能发现了我的情况,真的走了过来,站在我身后。害得我好几分钟不敢写一个字,因为手已经完全不听使唤。不过他还是走开了,这 可怕的高考终于结束了。

我们是考试前填的志愿,我根本不考虑其他学校就只填了清华。后来妈妈研究了一下,帮我添了一个天津大学在第二志 愿。以下的志愿全部空白。大家觉得我真够大胆,可是我的心理状态让我发挥完全失常,比清华的最低分数线还差两分。特别是语文,才96分。天津大学第一志愿 收满不要我。昔日的好学生,居然到了落榜的下场。我真的那么好吗?我问自己。我太骄傲,才落到如此地步吧。我开始怀疑自己是否应该那样瞧不起高考。看着爸 爸的愁眉苦脸,妈妈的唠唠叨叨,真是生不如死。复读吗?那会是噩梦的继续。我不能再在这个学校待下去。再面对题海,我的心理疾病会让我自杀的。碰巧四川大 学来招收高分落榜的学生,还给了我随便选择专业的机会。妈妈说,计算机现在很火热,出来好找工作。我虽然对工作不感兴趣,但是我比较喜欢写程序,于是就进 了川大计算机系。

两度退学失败

不能不说进川大是个没有选择中的好选择。大学生活自由一些,我至少不会走上自杀的道路。可是我的毛病仍然在继续,我永远不满足学校里能学到的那么点东西。老师基本是照本宣科,我逐渐不再满足这种知识灌输式的教育。我觉得完全没必要上这个大学。

川 大的环境我实在无法忍受。军训的时候受够了同学和教官的委屈,我就想退学。我们的军训是在一个戒备森严的炮兵基地里,心里的苦向谁说啊!有一天我们正在路 上齐步走的时候,我忽然看到一个女人挽着一个军官走了过来。那个军官的老婆怎么长的这么像我妈妈!要是妈妈来到我身边该多好!没想到回到营地,团长(原来 是连长,我们来军训他就升一级做团长了)说有人来探访。我走过去,居然发现是妈妈!因为听说我想退学,她急忙向学校打听了军训的地点,几经周折跑过来,是 那个军官带着她混进来的。我想我妈妈要是转行当间谍一定是个好料子。她说已经帮我办了退学,学校同意了,回去好好复习,准备考上清华…… “好好复习,好好复习”……我的脑海里又浮现出高三的情景,这次我要跟一群更没用的复读的人在一起。脑子一阵疼痛之后,我说:“妈妈,我不想退学了。”

可是军训回到学校,发现宿舍如此差劲,我又想退学。妈妈又来帮我办理手续,可是结果我还是由于懦弱反悔了。害得学校办事的老师都骂我: “你这个人简直神经病!” 对啊,我确实是有病,不过我的是精神病,不是神经病。我恨我的高中,我恨我的大学,我恨高考,我恨中国的教育!是你们让我生病的。可是妈妈,她为了我已经 费尽了辛苦。我不能再这样周折下去。我自己在学校里好好努力,准备考上清华的研究生吧。

学校住宿环境很差劲,又经过好多麻烦事,我终于决定在校外去租房子住。后来我开始玩滑板,它让我变得勇敢。我心里逐渐平静下来,可以用心看书了。大二以后,我的学习生活才逐渐进入正常,自信开始恢复。

梦的复苏

记 得川大教Pascal语言的老师第一堂课就对我们说:“我们学校就是落后啊。外面公司里都用C, C++了,我们还在教Pascal。你们以后要出去工作恐怕还是得学学VC什么的。” 于是有的同学开始抱起一本本像“XXX圣经”之类的书开始学习,上数学课也在看这些东西。我当时自愧不如啊。自己就是小学的时候玩过一下学习机,可以说没 有任何计算机基础。辅导员也经常夸他们几个动手能力强,以后公司就需要这样的人。他们出口就是Bill Gates, 世界首富云云。军训的时候听着他们说什么DOS, 温95,我就只有张着嘴崇拜的份了。才想起我高中计算机竞赛的时候一道有关DOS命令的题没有做出来,现在听他们说才知道原来DOS是个“操作系统"。那 操作系统又是什么,他们说每个电脑上都必须有一个操作系统……我真是愧不如人 -_-!

正在我决定鼓起勇气后来跟上,准备拿起一本 DOS大全从头啃起的时候,一次偶然的机会我接触到了Linux。后来又因为The Art of Computer Programming,接触到了Knuth。我才发现,课堂上讲的那些东西原来如此低级,有些东西学了就过时,学它干吗?我并不比别人落后多少。我一再 的思考,什么是计算机科学?是什么让我们计算机系的人不同于其他系的。我有时候认为有了答案,但是后来答案又被我自己推翻。在思想的混乱中,我发现我逐渐 摆脱了旁人的标准。我不再想像别人那样去考计算机等级考试,对微软的认证也不屑一顾。我自己学会了Linux,还会很多种当时别人听都没听说过的计算机语 言。我学会了LaTeX,还因为找出Knuth书里的错误得到两张支票。上课要不就逃掉,背地里拿着大部头的“龙书”之类的原版英语书啃。要不就看我打印 出来的GNU的一些资料,完全不听老师讲。期末划重点的时候也不去,考试却总能考个八九十分,总有几个女生排名在我上面。不过我不在乎这点分数,考试和分 数不再能评价我。同学们大概都觉得我是一个怪人,后来毕业了我才听他们说,他们管我叫“怪才”。我如此努力的学习着,对别的事情充耳不闻。我只有一个目 的,就是毕业就离开这个鬼地方,进入清华大学上研究生。虽然大家不理解我在干什么,清华的老师应该挺在乎我学的东西吧。

可是我没有想 到,在我死啃书本的时候,我的创造力正在离我远去。在我盲目接受我认为高深的材料的时候,我失去了自己的创造。我成了比别人稍微好一点的技术工人,不再跟 爱迪生和牛顿是一类人了。我高中的时候拼命想保存的创造力已经在苦读之下消失殆尽。我看书的方式变得顺序化,总想从头看到尾。我的高中老师们的目的,中国 教育的目的,终于快达到了。

清华,我来了

大三的暑假,我来到清华想拿一些考研的资料。这是我梦中的地方呀,美丽的校园,比川大要大上好多倍吧,脚都走痛了才走到招待所。去系办,一个办事员态度很不好的给我一份资料。哎,学校好,人脾气就该大啊。忍了吧,要是真能考进来就好了。

后 来听一个老师说清华有一种学生叫“直博”,可以硕博连读,五年拿到博士学位。只要面试通过就可以进来学习。我心想这种方式好啊,我平生最讨厌的就是考试 了。出高考题的那帮人,他们有什么资格考我!考研资料也是遍地飞。写了几本复习材料就自称什么“一代名师”,我最看不起这种人了,就会赚钱。我如果可以获 得“直博”的名额,就可以永远摆脱他们了。想一想,要是硕士三年,博士三年,就要六年。现在五年就可以拿到博士学位,还不用考试,真是太好了。可是我又有 什么资格获得清华的直博?我在川大从来没听说过这种东西。

于是我就开始打电话联系老师,跟他们谈谈。面对他们的眉头,面对他们的笑脸却 无可奈何的说“没有名额”,我都感觉没什么希望了。一个院士甚至对我说:“你们四川大学是什么学校?二流都算不上,最多算个三流大学。你怎么能来我这 里!” 我深受打击,可是我还是没有放弃。最后我找到了一个老师,我们一开始就谈的挺投机。他听说我跟Knuth有联系,挺高兴的说,哦我知道他,好多年前来我们 这里做过报告呢。我终于觉得找到了知音,于是决定就跟着他学习。老师找好了之后还有一个面试,是别的老师参加的,我说什么他们似乎没有认真听,就一个劲看 我的考试成绩这种我不屑一顾的东西。我面试时特意穿上了Knuth送我的MMIX T-shirt,他们大概根本不知道是什么,我也没有提起。

不过老师只对我的体育成绩提出了疑问,说你怎么才80多分?你的身体能不能胜任繁重的学习任务啊?我笑着回答,我每天还跑5000米呢,我们学校打分比较严,难道清华的学生体育都考90?面试就这样通过了。

推荐信与散伙饭

面 试通过后回到学校还要办一些手续。成绩单,推荐信等等,跟申请外国大学研究生院差不多,让我感觉挺正规的。院长对我挺好的,同意帮我签推荐信。可是签完字 之后他对我说:“你别以为他们觉得你是个人才。他们是根本招不到人!他们那里像你这样的学生都出国了,剩下的是最差的。谁想读博士啊?你别太高兴了。” 我笑着应付这突如其来的打击,在心里却不断为自己的选择辩护。清华一定是好样的,不会让我失望。它是我的梦啊。

很多麻烦的手续之后,终于拿到了我梦想的大学的录取通知书,可以离开川大这个鬼地方了。毕业的散伙饭上,看着大家喝得酩酊大醉,还有人在咆哮说居然连川大的文凭都没拿到,我一个人默默地想象着即将到来的清华的快乐生活,暗自庆幸。

散 伙饭到了尾声的时候,我诧异的看到一个平时不太熟悉的同学拿着一杯啤酒走过来。我挺紧张,我最不喜欢别人给我敬酒了,说是客气,其实很虚伪。没想到他说: “我敬你一杯,大牛人。听说你被清华大学录取作了博士。我干了,你随意。” 我不知如何回答,我一向不知如何应付别人的恭维。还好他没有让我也干杯,倒是够尊重人。没想到喝完他接着说:“我知道你是怎样的人。我很仰慕你,你是真正 喜欢研究的人。可是我要告诉你,清华的人并不会比我们好多少。大部分人也只是想混一个学位,将来找个好工作。没有多少人可以跟你一起研究的,你去了必定很 孤独。我就很奇怪你这样的人怎么不出国呢!你会后悔的。”

我有点不高兴了。一个人说你的选择是错误的,你的反应是什么呢?反正我当时为我的“清华梦”作了一番辩护,说我进去自己好好研究,应该还是能够很好的,毕竟这是我从小的梦啊。可是没想到,他说的居然是对的,我现在开始感谢他了。

计算几何,创造力的复苏

清 华还是一样的上课方式,大部分课也是很多人一起上,一起打瞌睡。老师也是照本宣科,我居然发现他们其实跟川大的老师没什么区别。清华的不同之处就是,一到 考试的时候原来进行的一切娱乐活动都不见了人影。原本每天晚上都有人一起玩轮滑,考试的时候就只剩下我孤零零的一个人。因为大家都怕考试,开始熬夜复习 了。还有就是上课不容易逃课了,有些老师会突然点名,缺席会严重影响最后的成绩。

对于博士生,传说还有一个规定,那就是后10%淘汰。 也就是说,不管你成绩如何,如果成绩排名在课程的后10%,那么就要重修。而如果两门功课重修,就会被开除。面对如此残酷的规定,很多同学都惶惶不可终 日。我就是在隔壁同学的唠叨声中度过了第一期。不过我还是没有把考试当回事,所以我也没有去验证这个说法的官方真实性。我仍然不去听老师划重点,我仍然不 觉得老师出的题目有什么好,我仍然讨厌有人让我们用手算矩阵。可能觉得太残酷,还是觉得要是开除了博士生谁来干活,这条规定后来改成了如果博士生上了80 分就可以不重修。我也不知道为什么我觉得考砸的科目也上的了80,故意放我过去的吗?

但是我的生命中出现了这样一门课程。它改变了我对 老师的看法,让我觉得上课原来也可以如此有趣。这就是计算几何。上课的人很少,只有十来个人。因为听说这门课很难,很多同学都没有选。但是我就是那种知难 而进的人。老师上课的方式跟别的课程很不一样,大家坐在一个小教室里,老师有精美的幻灯片,有动画,不时还插入一段大科学家,大哲学家的名言。上课时老师 会停下来很多次让学生提问题,下课大家都积极踊跃的讨论新奇的问题。课程的评分方法也很特别,平时成绩占到30%的分量,作业分为几种分值,可以自己选择 做不做,作业的总分数乘以30%,加上最后大作业的分数乘以70%,就是最后的得分。说真的,这门课太有趣了,我就只逃过一次课。但是还是有时候人数不到 一半,因为其他课程压力太大,有人都去复习别的课程了。但是邓老师从来不点名,还对逃课的同学表示同情。还问我们在座的有没有其他课特别紧张的,下次课可 以不来。真是让人感动。

我就是在这门课上认识了王益,我们亲密无间的合作,让我领略到了什么叫做研究。大作业的时候我们在一个小组,其 实是三人一组,但是那第三个人其实什么也没干。我和王益决定写一个3D的Voronoi图扫描算法演示程序。王益的3D图形编程能力很强,所以他做界面, 由我负责算法生成数据作为后端。我们分别在自己的机器上编写程序,不时的打电话讨论接口的设计问题。我找到了Bell labs 的 Steven Fortune 的算法程序,决定看懂它,然后改造成演示需要的分部运行的算法。但是 Fortune 的程序几乎没有注释,而且使用了一种奇怪的数据结构,很难理解。Fortune 还在程序里说到,这个算法虽然有效,但是对于程序员来说是一个挑战。所以我email请他给我一份算法论文的拷贝,他同意了。但是一个月之后,信才到我手 里,那时我们已经完成了作业。因为我花了一个星期看懂了他的程序,还换掉了他的麻烦又低效的数据结构。随后成功的把后端与王益的前端设计好接口联合。等我 看到 Fortune 的论文,发现程序里面其实已经改进了论文的核心内容。我深深体会到实践的重要性,也许有了他的论文我反而会被误导,写不出实际可以运行的程序。

由 于我们的团结努力,老师对我们的大作业非常满意,他给了我们最高的分数 100。由于我们两个都在课下超额完成作业,所以总的分数我们两个都是满分。这是我阔别已久的100分。只有在小学我才拿到过这种分数啊!对于一个对考试 成绩满不在乎的人,100 又意味着什么?如果是别的课程我会毫不在乎,就像我得了80分一样。可是这个100分是我们团结研究而来的,它包含了对我们的合作意识,对我们的友谊,对 我们的热情的肯定。虽然我觉得我们的东西还有改进的余地,但是我接受这个100分!也只有这样的课程,我才可能得100分。

从此我感觉 到了什么叫做研究。这跟我小时候干的那些事情没有什么两样。你在身边发现一个问题,想知道为什么。然后你就想去获得解决这个问题的知识。你去看书,你去问 专家,你上网去搜索。如果没有发现答案,那么好啦,你就可以自己试图去发现为什么,这是最有趣的部分。知道了为什么,就想让这个东西有用处,对人们的生活 产生好处。这就是研究。

《完全用Linux工作》与TeX的推广

这么说来我还是对清华有些好感。遇到一个好老师让我 从呆头呆脑的技术工人的状态恢复过来,开始追求自己的梦想。可是第一年把所有的课程上完之后,我就发现原来清华所谓的“研究”是如此混沌。其实清华大部分 人进行的所谓的“研究”是什么呢?其实就是写作,不是科学研究。这一点以后我会详细叙述。

远远看去外观华丽的有着先进的工作站的实验 室,却没有可以安心看书的地方。机器挨着机器人挨着人,书都没地方放。师兄师姐们都在忙着用 word写论文,不时有两个人隔着几行机器大声谈话。实验室通风不好,还有一个大型工作站在嗡嗡作响,我进去一会儿就觉得头晕,所以后来就不想去了。PC 机以前都是公用的,每次都会用不同的机器,却没有我想用的软件,麻烦死了。好不容易实验室买了新机器分配给个人,装上一个 Linux 系统开始写程序,还在Sun工作站上安装了多达1G的GNU程序。却被一个师兄嘲笑说那种跟DOS一样落后的东西你居然也用。于是我写了一篇文章叫做《完 全用Linux工作》,放在主页上驳斥这种观点,引起网上linux界轩然大波。后来我又发现几乎全校的论文都是word排版的,我本科毕业论文就用 LaTeX了,清华居然这么土!我对word排版的论文质量恨之入骨,所以又写了文章宣传 TeX,打击 word 在论文排版的市场。这下子我出名了,真没想到,出名不是因为我的研究成果,而是因为这些业余的东西。我起初其实不希望我因此出名,但是看到旁边的人都用上 了 TeX,我觉得我还是做了一件好事,至少让论文看起来漂亮了一些。

可是论文的内容,却是我永远的痛!

培养计划

我 在第一年就把功课全部上完了。本来我想多选几门课,比如法语,可是清华的博士要选课需要提交一个“培养计划”给导师签字。导师同意之后才能修改。导师看到 我选了法语,就说这个第二外语还是自己学学就行了吧,旁听也行啊,我主要是怕你课太多了考试不通过就麻烦了。我当时没有说什么,就把法语去掉了,只留下刚 够学分的课程。其实我还想选很多的,体育,音乐什么的,都不好意思跟导师说。后来才知道宿舍对门的硕士生选了钢琴课他们导师都不管。为什么我们就受到如此 待遇?

可是没有把法语加到培养计划却成了我的遗憾。有一个新学期我去旁听了第一节法语课之后老师就说,我知道很多同学是来旁听的,这样 教室里人太多了,效果不好。这对自己对大家都不好,下次请旁听的同学不要来了。我脸皮薄,下次就没有去了。后来自己想自学却又没有老师教,看了十集 reflet之后就此作罢。

后来我终于明白了,清华不需要全面发展的博士生,而其实导师还会在某种程度上削弱学生的能力。导师并不是真 的为我们好,而是不喜欢我们上课,因为上课不但会花掉研究(或者干活)的时间,而且让他们眼界太开阔,这样学生会很容易有别的选择而走掉。所有的活动:助 教,实习,都必须有导师签字。而大部分导师就会找借口不让学生干这些事情。不给他们助教和实习的机会,让他们以后不好找工作,只能为自己服务,或者为自己 的熟人服务。甚至这次我去西藏,要办边境证都要有导师签字。办事的老师说,没有导师签字,你跑出去了不回来怎么办?大妈,我跑那种鬼地方干吗?

除 了这些,还有两大法宝就是博士学位和违约金。清华的博士学位有多值钱知道吗?不知道?那么博士退学要交30000块钱的违约金,这下大部分穷苦学生怕了 吧。这就是你们的卖身契。清华就是这样把研究生牢牢地控制在自己的掌握之下。我对一个如此害怕学生跑掉的不自信的学校还能说些什么?如果你是好样的,就不 会害怕我们跑掉!该跑掉的最后终究会跑掉。

我的自我培养

在学习上,我永远是个吃不饱的人。选不了课,我就去旁听。旁 听后觉得老师讲的不好,我就自学。在我有空的时候,我就会去图书馆借书看。在我本科的时候,我就已经发现自己的一个特点,我会很快发现新的东西,并且学会 使用它。虽然这些东西并不是创新,但是它们丰富了我的技能,让我有更大的能力去进行创新。

计算几何课的一次作业,我为了写一个算法的演 示程序,花了3天时间学了一点Java语言,正好能够完成那个程序。我开始接触到TeX的底层细节,看完了The TeXbook,并且找出一道练习题答案的错误。开始移植gbkfonts程序,作为我的CWEB语言的练习。看完了几乎所有 Xlib 的手册,了解了 XWindow 的工作原理。我接触到 Scheme,并且做完了 SICP 的大部分习题。我领会到 LISP 的强大,改变了多年以来对这种古老语言的误解。它让我感觉到在看似纷繁复杂,不断更新的计算机语言的世界,还有那么一种永恒的美!接着我又学会了 Common LISP,并且开始用它来设计研究计算几何的一个函数库。另外还找了一些希奇古怪的程序来玩,写了一些心得体会放在网上给别人看。

我 意识到自己数学还不够强,就开始看一些数学方面的书。Concrete Mathemtatics, What is Mathematics?, Science and Hypothesis, Godel Escher Bach, ... 虽然每一本都没有看完,但是我逐渐相信自己的数学能力,发现数学原来如此有趣,并不是做习题那么枯燥,也不像一辈子就拼命证明一个定理那么清高。

我 看了电影 A Beautiful Mind 之后深受感动,就去买了一本原著的书,它是数学天才John Nash的传记。它描写了20世纪初的Princeton,一群科学家生活的情景。我眼前浮现出在一个房间里,一群人在喝茶聊天下棋讨论问题激烈争论。我 发现我从小内心向往的,就是那样的地方。我看到Nash是如何用“头脑暴力”解决一个他没有任何基础知识的问题。原来只要有了问题和探索的精神,就会有动 力去获得解决它所需要的知识,最后将问题解决。发现有用的,重要的问题,而不只是寻找困难的问题,这样才会对人类有价值,才会有动力。我还看到一个真正的 数学天才是怎样的喜欢恶作剧,又怎样因为过度的傲慢狂妄,想向世人证明自己的天才而发疯。我发现世界上有远比科学更宝贵的东西。我开始悔悟我高中时对待成 绩不好的同学的态度。

但是我的研究却没有多少进展,至少我自己这么认为。我发现问题的根源,就是没有真正的讨论,没有真正的问题。

我们也有讨论,原来是这个样子

上完课,就该开始搞研究啦。可是研究什么呢?老师给我几篇论文看,意思是让我看看有没有什么想法。

我 开始感觉没有头绪,就跟导师说能不能找师兄师姐跟我讨论讨论,还有别的人在做这个吗?他说,就你一个人做这个,每个人做一个题目,独立思考,这就是研究。 我觉得是啊,我应该独立思考。可是过了一段时间发现不行啊,我想实现一个想法,但是我不知道是不是已经有人试过失败了。实验的时间开销会比较多,所以我想 知道那么多厉害的人,为什么都不用这种明摆在那的方法?当我再次提出需要讨论的时候,他似乎有点生气的说:”你为什么总是想有人跟你做一样的东西啊?你不 是想抄袭别人的论文吧?” 我不发话了。继续做我的实验,结果确实不理想。虽然自己实践很重要,可是要是能利用别人的经验,何乐而不为呢?这并不是偷懒。如果有人讨论,很多时候一个 人提出一个问题,另外的人可能就会告诉他这个问题是不是有人做过,有什么重要性,凭直觉告诉他有什么难度。可是如果没有讨论,连问问“有没有人做过”的机 会都没有!

后来我就经常上网看看国外的大学怎么搞研究,发现他们都有 seminar,讨论组。A Beautiful Mind 描述的 Princeton 以前的天才们每天都在一个地方喝茶,讨论问题,争得面红耳赤,回家分头思考,做实验,第二天喝茶时再讨论。那就是我从小梦寐以求的生活啊!计算几何课已经 让我爱上了与人合作和讨论的方式,现在却孤零零一个人了。我必须告诉导师,合作和讨论是非常重要的。在我据理陈述之后,他说:“好吧。反正师兄师姐各自有 自己的事,你要讨论什么就跟我和你副导师讨论吧。” 于是我就开始了跟他们两个星期一次的见面讨论。每次讨论都感觉他们不知道我在说什么,他们心里想的都只是这个能比别人的好多少呢?能不能投到这个会议呢? 如此宏观。我觉得跟他们讨论完全是浪费时间。

后来课题逐渐有了新的同学加入,导师决定跟中科院数学所的人一起申请一个项目来研究。于是 我们两个星期一次去中科院讨论。不过感觉他们那边也差不多。中科院的老师觉得他们的研究太理论,期望我们能给他们带去一点实际的东西。可是我们也没有什么 实际的东西,所有的问题都是从别人的paper 里看到的。副导师就开始跟他们说这个问题有多么多么重要…… 他们也借此机会开始研究以前放下的一些问题。总之讨论的感觉就是没有目的,没有主题。有时有人说他在想一个什么问题,说了一会儿就被否决了。有时候就是一 个人看了一篇paper之后做一个感想。我坐在那里就在想,我们到底在干什么?我们甚至都不知道什么东西值得研究,还研究什么?后来师弟师妹们就开始考虑 把问题变一变,看看能不能产生新的问题。他们的做法,我跟他们开玩笑说就是“有问题也要解决;没有问题,制造问题也要解决!” 他们笑着点点头,“本来就是这样嘛。没办法啊。”

博士生论坛的时候,同学们都觉得有类似的问题,讨论不足,交流不足。所以我提议成立一 个类似国外大学的 Common Room,用来讨论问题。可是大部分老师说:“这样一个房间,天天都要有那么多人在里面待着。谁来出这个钱?” 是啊,老师自己的办公室都要钱,哪里可能有什么 Common Room?就算有了 Common Room,在里面讨论的无非还是文章发到哪里的问题。制度决定了行为,我的设想太理想化了。

分析一下,为什么老师不提倡讨论呢?因为问 题是有限的。老师辛辛苦苦这么多年搞来搞去都在搞这些问题,分配给你们每人一个,互不冲突。要是两个人都搞一个问题,这下好了。出了成果论文归谁?学校要 求必须第一作者才算论文数。要是两个人都写论文,那么投到同一个会议肯定有一个要被 reject。这样对集体发展不利嘛,大家不就是发几篇论文混毕业吗?何苦?

paper, paper, 还是paper

说 到paper我就痛心。我的方向上我至今还没有看到几篇我觉得像样的文章。我主要进行集成电路布线算法的研究。看起来高深,其实是很简单的问题,一个平面 上有一些点是电路里的电极,现在需要用铜线把它们连起来,怎么样让连线的长度或者时延最短?这个问题跟几何上一个有名的问题 Steiner tree 问题有关系。我的导师就是以前写了一篇这样的paper发到IEEE transactions。

已经毕业的一个师兄就在他研究的基础 上修改来修改去,发了好几篇paper。英文的不够还翻译成中文,投到国内的期刊。后来一个师姐又在这个师兄的基础上进行修改,又发了好多篇。可是在我看 来,他们的论文纯粹就是炒冷饭,没有什么创新。一个问题解决了,那么解决问题的人显示了他们的聪明,至于这个问题对人有什么用,他可以暂时不管(虽然我也 严重反对这种做法)。后来又有人来搞这个问题,多半是被老师分配来的。他也小修改一下,修改想法其实不费工夫,主要是你怎样把你的 Introduction 写好?可以让别人觉得你的工作有意义?这就是功夫。作家的功夫。我有一次面见INRIA的头目 Jean-Claude Paul 时,他就对我说:“Tsinghua students are all writers, not scientists.”

现在清华研究生做的事情无非就是,写好paper,然后找个地方投出去。SCI 的最好,EI的其次。偏僻的没人看的杂志也没关系,交钱也没关系。我就知道日本的一个SCI索引的期刊收1000美元的版面费。导师出钱,不投白不投,投了好毕业呵!

现在我也被“分配”来做这个问题。虽然说是一个有名的问题,但是这个有名的问题已经被研究了好几十年了。有很多挺厉害的人做出了很重要的贡献,但是我们为什么研究这个问题?我至今没有搞懂。

开 头导师只是给了我两篇paper,据说是以前他一个得意门生写的,美国某大学的副教授。其中有一篇说是如何在不构造 Delaunay triangulation的情况下生成 MST (最小生成树)。看到这篇文章开头说在 rectilinear metric下, Delaunay triangulation 就不能用来构造 MST 了,所以他设计了一个新的算法。这个算法比起 Leo Guibas 的算法更加简单。文章里还提到一次 Matroid,让初出茅庐的我觉得高深莫测。可是我对“Delaunay triangulation 不能用来构造 RMST” 这个说法产生了怀疑。经过理论分析我觉得即使在 rectilinear metric下,Delaunay triangulation 也可以用来构造 MST 的。我觉得作者只是故意这么写,想为他设计算法的动机找一个借口。我决定实践我的想法,写一个程序从Delaunay triangulation 构造出一个 RMST。这本身不是什么创新的工作,可是我却在想,这样一个东西能不能用来构造 Steiner tree 呢?后来我真的就想出一个办法。实验表明我的算法比以前的算法要快几倍。

这是不是说我的算法是一个值得写paper的东西呢?导师说我 应该写一篇,但是我认为我只是在挑别人的毛病时意外想出了一个改进的算法,并不会对将来的研究有什么启发。虽然程序快了一些,但是很少有那么大的线网需要 这么快的算法,而且几倍的提高在我眼里不算是一个理论上的改进,而且这个算法不能推广到其他距离空间,可扩展性很低。所以我内心觉得这个结果不令我兴奋, 不想写论文。但是在老师的一再要求下,我居然把这个研究写成了两篇 paper。按照他的说法:“应该分阶段总结你的成果。” 起初投出去的时候评委总是说这个东西不实用,导师说这是评委的问题,他们觉得不实用我们就投到理论一点的会议。经过几次投稿,还是失败了。我终于忍不住 了,对副导师说出我的想法,我说:“看一个作家的水平,是看他扔在垃圾筐里的纸。就让我把这篇paper永远藏在我的垃圾筐里吧。” 但是他不甘心,说你要相信自己的实力,然后把我的算法胡乱夸奖了一番。我说我不管了,随便你怎么办。我就开始研究我自己喜欢的东西去了。之后他居然真的投 中一个欧洲的会议,是被 LNCS 收录的,LNCS 是 SCI 索引的,所以我居然有了一篇 SCI 文章!我自己不喜欢的文章也是 SCI 了!

第二篇论文就更传奇了。几投不中,就其原因,评委说是没有和现在“最先进”的算法程序实验比较。而我没有比较的程序,就是那个让我觉得发 paper动机不纯的人的程序。没办法,求他给我代码。比了一下,确实比他快。不过我估计他程序写的有毛病,老是 core dump。但是没办法,他只给 binary,也不给源代码。不过还是记录下数据,添到论文上。一投就中,得了一个最佳论文奖。然后就有一篇校内新闻宣传:“我校王垠同学获得XXX会议 最佳论文奖。这是大陆学者首次在如此高级别的会议上获得如此高的奖项。” 这个“高级别”的会议,在我看来就是个垃圾。美国人都把最差的论文投到这里,就是为了来旅游一圈而已。

我见过的这种低级别的会议,低质量的论文几乎都是从 IEEE 那里出来的。道理很简单,IEEE 会议多,会议论文集都像两大块砖头,还是双列小字排版,当然能容纳下这么多的垃圾了。所以我对 IEEE 也没有好感。

火山小规模爆发

第一篇投中了会议之后,副导师很高兴的说“代替我去开会”,到希腊Santorini岛玩了一圈。回来还跟我说希腊不好玩,好苦啊,幸好你没去。然后就继续要我为算法申请一个专利。

写 这个论文我都已经焦头烂额了,一点都不感兴趣。现在还要写专利,“要像教小学生做这件事一样,一步一步的把算法写清楚,举出实例”。我觉得快不行了,再这 样折腾下去,我到博士毕业也许也就只搞出这些小儿科东西吧!我终于小规模爆发了一次。我坦荡的告诉了副导师我的想法,我觉得做学问应该是什么样,我觉得这 么点东西不值得申请专利。我还告诉他我对国内的研究环境很失望。

他慌了,可能以为我想要退学,赶忙找我谈谈。对我说,我知道你心中有很 大抱负。所以这次就不写专利了。我知道你想有更好的研究环境,但是不踏踏实实做好现在的工作,又怎么能有大的创造呢?然后就开始举爱因斯坦,居里夫人的例 子…… 然后说,其实你在这里好好努力,将来出国的机会多的是,你想去Harvard也行,你想去Princeton,都行啊!

你说行就行?你去去给我看看?我们实验室从来就没有去这些地方的。继续这样做下去,以后哪个真正的科学家还会要我?

全面发展

在 对清华的研究完全失望了之后。我就准备考GRE,TOEFL出国了。我去上了一个新东方的班,没学到什么英语方面的东西,倒是接触了很多新的思想。老罗的 言论特别有趣,虽然我不是完全赞同他的意见。写GRE作文特别培养思维能力。我为了写GRE作文,常常为了一个不明白的问题到图书馆翻阅英文的哲学书籍, 有关教育的书籍…… 对于很多问题我得到了完全不同的观点。大学的目的是什么?人的价值观是由理性决定的吗?等等等等。我读到了亚里士多德,柏拉图,康德等人的言论。甚至有个 哲学家说 "All Animals Are Equal". 我看了他的文章觉得有很多可以批驳的观点。我看到迪卡尔的文章,说“要掌握科学就要掌握它的全部”,这句话真合我心意,我就是想做一个懂很多东西的人啊。 我想结合艺术与科学。虽然我这个观点得到一些人的批判,但是我仍然相信迪卡尔。

从这些互相矛盾的观点中,我有了自己的判断力。我开始能 够揭开从小蒙在我眼睛上的有色眼镜看问题。我开始检查我自己的思维,我以前的观点。看看它们是否是未经判断就盲目放进去的。我检查到很多很多的错误。我的 待人接物,我对他人的理解上,都有不足之处。我还检查到妈妈传递给我的一些有色眼镜,小学课本给我们的有色眼镜。我开始学会用自己新的方式对待他人,看待 事物。我不再盲目相信权威,哪怕他是诺贝尔奖得主,图灵奖得主。我有了自己的自由思维。

在那段时间,我感觉我的心智大门被开启了。我开始尝试从来没有做过的事情,以及从来不认为我能做好的事情。我一次又一次的相信我能。我能学会画画,我能打好太极拳,我能理解古典音乐…… 世界还有那么多美好的事情等着我去学习去开发啊!

可是,我们却像囚犯一样被判了5年在清华。博士学位就是我们的枷锁。

醒悟,paper的奥秘

清 华研究生谈论的重点是什么?是 paper。吃饭的时候谈,喝茶的时候谈,睡觉的时候也谈。隔壁的同学在进校第一年就为paper惶惶不可终日,说:“你知道吗,他们要求我们发SCI, 怎么办呢?我几个师兄都是因为没有paper延期毕业的。” 这恰好就是那个为后10%淘汰惶惶不可终日的同学。他的老师是个院士,可是他在手下就干一些写word文档之类的杂活还忙得要命,根本没有时间思考问题。

后来听说学校有规定,博士生必须发4篇paper才能毕业,其中必须有一篇是SCI索引,或者两篇EI索引。看上去冠冕堂皇的SCI, EI,不就是跟 google 差不多的东西吗?被它索引了怎么样了?特别是对文章的篇数作要求,而对质量没有判断。我其实读了两年都还不知道学校是这样规定毕业标准的。当我知道的时 候,已经有人告诉我SCI=Silly Chinese Index。真是让人啼笑皆非。

学校没有能力评价学生的水平,就拿文章数来衡 量。这样的毕业标准造就的是怎样的学生,怎样的实验室呢?难道导师真的没有能力判断 paper的好坏吗?有些是,但是有些不是。即使他知道你的论文没什么价值,也会叫你发表。我发现paper数量的背后,是某些人的如意算盘。想一想是怎 么回事吧。国家看什么来拨款研究?看paper。看什么来评价一个学校的水平,也是paper。国家没有能力评价你的能力,当然只有看你有多少 paper。所以有了paper就有了钱。只要你能写paper,培不培养你,你将来的发展,关我们什么相干?你写的paper别人能不能看懂,能不能转 化成生产力,管我们什么相干?怪不得有的院士想尽办法也要多收学生,宁愿自己帮学生出学费也要他进来。因为学生就是财源。paper可以带来基金,可以在 美国买小车洋房,没有基金就让学生干活吧。一个月几百块钱吊着一条命在那里为你拼命,谁叫他们想要那个博士学位呢!

该清醒了,博士无产阶级!

告别清华的博士学位

现在我已经厌烦了国内所谓的“学术”。我准备放弃清华的博士学位,出国找个好老师,进行真正的研究。博士第4年了,做出这样的决定真是不容易。有人告诉我不要放弃,你知道有多少人正在羡慕你?你知道一个清华的博士学位有多么值钱吗?但是我不能这么沉默下去了!

博 士学位,累坏了多少年轻的中国人!我不再为它浪费我的青春。如果国外也找不到好的老师,我就找一个简单的工作,和我心爱的人一起生活。有人说这是浪费人 才?在清华混沌的过日子才是浪费呢!当一个侍者至少也让我感到对社会有贡献,看着顾客满意,我会露出笑容。可是做一个博士却没有。我感觉自己是个没用的 人。

我已经完全看透了中国教育的失败。我高中的时候就受到它的伤害,这种伤害延续到现在。中国教育已经成为埋没人才的祸首。留在这个圈子里就是屈服,我不出声,大家都不出声,这个世界就会继续这样郁闷的运转下去。我今天要对这个系统大声地说一声“不!”

我离开了。可是中国永远也不缺少为清华拼命的人!因为他们的妈妈会告诉他们,清华是全中国最好的学校。你要考上清华,为我们光宗耀祖……

行动

2005 年9月22日下午3点,我在东主楼导师的办公室里跟导师和副导师再次重申了我的想法。包括以上的一切,和我准备退学,准备10月份考托福的打算。导师经过 一番举例爱因斯坦,居里夫人,叫我踏踏实实的说教无效之后,严厉的批评了我只顾自己,不顾及教研组为我付出的心血。然后说:“要是你不能再为实验室作研 究,我们就不能支持你了,前两个月实验室发的钱我收回。你可以马上写退学申请,我们实验室没有什么损失,我们有的是人干你的事情。不过我要警告你,你一旦 退学,连学校的住宿都要被收回!”

接着是副导师尖声的咆哮:“是啊,你瞧不起我们。我们是没有你聪明,可是我们勤勤恳恳……你知道你得的那个best paper award,我们付出了多少努力吗?你认为这么容易拿到吗?那是多少国外专家鉴定……”

我安静的等他说完。真像是一场闹剧,一场梦。他平息下来之后,我说了一声“再见”,然后默默地走出了办公室。

你们要退学申请?这里就是我的退学申请。

尾声

晚上收到副导师的email说:“还有一件事需要向你说一下:你在学校学习期间所取得的成绩包含你的努力、导师的指导帮助、同学们的帮助,还有学校和国家的支持。你作为博士生学习阶段取得的成果属于教研组、学校和国家。正如同我们作为职务发明的专利属于学校一样。

你 在MST、SMT等方面取得了结果,它属于教研组、学校和国家。单位有责任进行合理的应用,为国家建设、国家荣誉服务。有责任进行进一步的整理丰富、向高 水平的刊物投送。这里我们想说明一下上述的情况,同时,也告诉你一下:你若愿意将这些成果进行进一步的整理、我们已经给你提出了具体的修改意见,欢迎你按 照进行修改。你若放弃,我们将进行具体的改进、投递。我们将尊重你的意见。谢谢。”

最后还是没有忘了paper的剩余价值。进一步验证了我的判断,他们在乎我吗?不。他们只在乎paper。至于我流离失所,又有何相干?我不知道有多少无知的弟弟妹妹又会把他们的研究建立在我不屑一顾的paper之上。

星期五, 二月 09, 2007

mad world...

郁闷的时候总是无聊的,看到草上线,想到前几天让翻的mad world,
突然就想听听看,alex parks的歌曲,听着听着,想起了scarborough fair,
不是很懂音乐,但那幽怨的,低沉的声音却让我不自禁联想起来了。
那诗经一样的美国民歌,歌词生涩难懂,但曲调却如高山流水一样,能在寂静的夜里慢慢流入你的内心。曾经,那也是我百听不厌的一首歌曲。总能在不经意间钩起幽幽的惆怅。

在最近比较郁闷的日子里,也许这样的曲调会让人共鸣吧。我一直搞不清楚的事情很多,总是在为了活着而忙碌中的间隙,在心里隐隐带出了点惆怅,when people run in circles,going nowhere,going nowhere...I'm one of them,busy with something I don't understand,aims at nothing,aims at nothing...总是希望时间会带来答案,但带来的是更大的疑惑,看诛仙,看小凡,也想问问自己,为什么活着?期待的是什么样的生活?对于一个大四的学生,问这样的问题倒似有点可笑,但问与不问,自己心里都明白,还是没有答案。很可悲的感觉,不愿自己世俗,但在不自觉的追逐中,自己已经世俗了。不是吗?曾经稚嫩的自己,无忧无虑,现在的自己呢?千疮百孔,真怀疑自己能不能给自己治愈的时间了。呵呵,记得陈sir自诩擅长于做思想工作,也说,人活着总是要带着理想的,有着那个盼头,人活着才有意思。但自己的盼头呢?莫非是不久以后投入工作?陷入轮回,周而复始,终日奔波,但却漫无目的?

all around me are familiar faces, worn out places, worn out faces,bright and early for their races...going nowhere,going nowhere...

不象是一个合理的答案。但终究不会是无解。等待吧,在这寂寞的冬日里,疯狂的世界中。

it's a mad world,
mad world...
mad world......

星期日, 二月 04, 2007

我可怜的眼镜啊,五年了。

就这样离我而去了,哀悼一下,让我丧失了基本生活能力了。唉。悔不该当初呀,估计是受压过多了,上次在篮球场上就彻底变形过一次了,今天一早要戴的时候就觉得有点不大对劲,拿在手上观察的时候它就突然罢工了,镜框啪的一声自己断掉了,唉,镜片碎了一地,要好也要花个四天的时间,这日子没有办法过了,嘿嘿,过几天盲人生活咯。浪费时间了呀。

星期二, 一月 30, 2007

回家了,觉得挺爽的。

呵呵,今天回家了。晚上好好睡一觉,嘿嘿。开心的过几天吧~~

星期四, 一月 18, 2007

终于考完三门了

到早上结束的时候软件构架考完了,嘿嘿,终于只剩下网络了。
恩,下午玩了一个下午的游戏,嘿嘿,从明天开始看书,还有六天,问题应该不大。
哈哈,考完就爽了~~

星期六, 一月 13, 2007

看内核分析看到晕

选修课也看成这样,我郁闷了,明天千万要过呀~~@@,陈老师最近也是心情好呀~~孩子刚生出来,呵呵,希望大家皆大欢喜。

上自习前,祈祷一下,@,明天考试了。。。


休息时间开始有一群人在踢毽子了,呵呵,好现象,该不是大三的吧,以前都没有见过这样玩的。嘿嘿,看书去了,希望今天能把内核主体框架理一遍,明天考试不要出太大问题。嗯,加油。

星期六, 一月 06, 2007

LINUX下获取IP地址和MAC地址

#include stdio.h
#include sys/types.h
#include sys/param.h
#include sys/ioctl.h
#include sys/socket.h
#include net/if.h
#include netinet/in.h
#include net/if_arp.h
#ifdef SOLARIS
#include
#endif
#define MAXINTERFACES 16
main (argc, argv)
register int argc;
register char *argv[];
{
register int fd, intrface, retn = 0;
struct ifreq buf[MAXINTERFACES];
struct arpreq arp;
struct ifconf ifc;
if ((fd = socket (AF_INET, SOCK_DGRAM, 0)) >= 0)
{
ifc.ifc_len = sizeof buf;
ifc.ifc_buf = (caddr_t) buf;
if (!ioctl (fd, SIOCGIFCONF, (char *) &ifc))
{
//获取接口信息
intrface = ifc.ifc_len / sizeof (struct ifreq);
printf("interface num is intrface=%d\n\n\n",intrface);
//根据借口信息循环获取设备IP和MAC地址
while (intrface-- > 0)
{
//获取设备名称
printf ("net device %s\n", buf[intrface].ifr_name);

//判断网卡类型
if (!(ioctl (fd, SIOCGIFFLAGS, (char *) &buf[intrface])))
{
if (buf[intrface].ifr_flags & IFF_PROMISC)
{
puts ("the interface is PROMISC");
retn++;
}
}
else
{
char str[256];
sprintf (str, "cpm: ioctl device %s", buf[intrface].ifr_name);
perror (str);
}
//判断网卡状态
if (buf[intrface].ifr_flags & IFF_UP)
{
puts("the interface status is UP");
}
else
{
puts("the interface status is DOWN");
}
//获取当前网卡的IP地址
if (!(ioctl (fd, SIOCGIFADDR, (char *) &buf[intrface])))
{
puts ("IP address is:");
puts(inet_ntoa(((struct sockaddr_in*)(&buf[intrface].ifr_addr))->sin_addr));
puts("");
//puts (buf[intrface].ifr_addr.sa_data);
}
else
{
char str[256];
sprintf (str, "cpm: ioctl device %s", buf[intrface].ifr_name);
perror (str);
}
/* this section can't get Hardware Address,I don't know whether the reason is module driver*/
#ifdef SOLARIS
//获取MAC地址
arp.arp_pa.sa_family = AF_INET;
arp.arp_ha.sa_family = AF_INET;
((struct sockaddr_in*)&arp.arp_pa)->sin_addr.s_addr=((struct sockaddr_in*)(&buf[intrface].ifr_addr))->sin_addr.s_addr;
if (!(ioctl (fd, SIOCGARP, (char *) &arp)))
{
puts ("HW address is:");
//以十六进制显示MAC地址
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)arp.arp_ha.sa_data[0],
(unsigned char)arp.arp_ha.sa_data[1],
(unsigned char)arp.arp_ha.sa_data[2],
(unsigned char)arp.arp_ha.sa_data[3],
(unsigned char)arp.arp_ha.sa_data[4],
(unsigned char)arp.arp_ha.sa_data[5]);
puts("");
puts("");
}

#else
#if 0
/*Get HW ADDRESS of the net card */
if (!(ioctl (fd, SIOCGENADDR, (char *) &buf[intrface])))
{
puts ("HW address is:");
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)buf[intrface].ifr_enaddr[0],
(unsigned char)buf[intrface].ifr_enaddr[1],
(unsigned char)buf[intrface].ifr_enaddr[2],
(unsigned char)buf[intrface].ifr_enaddr[3],
(unsigned char)buf[intrface].ifr_enaddr[4],
(unsigned char)buf[intrface].ifr_enaddr[5]);
puts("");
puts("");
}
#endif
if (!(ioctl (fd, SIOCGIFHWADDR, (char *) &buf[intrface])))
{
puts ("HW address is:");
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[0],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[1],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[2],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[3],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[4],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[5]);
puts("");
puts("");
}
#endif
else
{
char str[256];
sprintf (str, "cpm: ioctl device %s", buf[intrface].ifr_name);
perror (str);
}
} //while
} else
perror ("cpm: ioctl");
} else
perror ("cpm: socket");
close (fd);
return retn;
}
编译:gcc 文件名即可

星期三, 一月 03, 2007

写在年前~~

这几天惶惶不可终日,始终在看书,看书~~不是因为兴趣,而是在担心期末考会过不了。
07了,再半年我就毕业了~~顺利的话,我就该去研究时态数据库了,不晓得是什么东西,
但终究还是要去看的。就在这个寒假吧。
前几天,做网络实验,写了个linux聊天室,参考着别人成型的系统构架,跟同学一起写了一个架构还算严谨的软件,但也才发现,其实我还是不懂什么是编程,搞不太清楚那是什么样的面向对象,搞不懂框架该怎么仔细去设计。也许该多做点东西吧?但心里却又有点不太甘愿,想着往那个方向发展,该是会怎么样的一个光景呢?会不会一辈子就干苦力了?其实心里还是向往着同样的东西的,不然也不会一直这样的努力了。
其实,还是搞不懂,什么样的生活是我想要的,搞学问不知道我适不适合?
晚上回来前,看了道题目,求矩阵内最大子矩阵和,果然是不懂,想着,暴搜?
后来问了一下,才恍然大悟,原来是动态规划~~一学期的算法白学了!!!
好读书,而不求甚解~~我的弱点。
唉~~路啊,路啊~~一年又一年。
加油吧~~

星期二, 一月 02, 2007

元旦~~新年快乐。。。搓了两顿~~




班搓~~私搓~~上火时肯定的了,等死吧~~