Friday, September 30

隔墙有耳

星期五照例有课,是校外的学者到这里来介绍他们的研究。我最喜欢这门课,能接触各种思路、各种风格的新东西。今天介绍的是社会群体交往的研究(类似swarm的东西)。讲完之后我问了一个知识分享的问题,老头特高兴,又兴致勃勃地说了十分钟;然后我又帮忙他回答了一个问题,搞得他在总结的时候说“今天的演讲让我有了新的思路”等等。

今天晚上我得到汇报,在游泳馆的女生洗澡间,有人指名道姓地说我:“要是没有xxx,我们这门课就会很冷场了。”

一定要搞清楚是哪个MM说的啊 :D
 

科学研究的方式

这个星期网上最热的是王垠的退学说明。我看到他推广LaTeX不遗余力的时候,心中一动,找到书签中的关于LaTeX的网站,因为我记得那个网站也是清华的。果然把网址http://learn.tsinghua.edu.cn/.../2001315450/tex_frame.html的最后一截删掉,http://learn.tsinghua.edu.cn/.../2001315450/就是这个家伙的网站。

从他的“paper, paper, 还是paper”开始讨论。
我主要进行集成电路布线算法的研究。看起来高深,其实是很简单的问题,一个平面上有一些点是电路里的电极,现在需要用铜线把它们连起来,怎么样让连线的长度或者时延最短?

我不明白他为什么说这是个“简单的问题”。这是一个标准的旅行商问题(TSP),只有随指数曲线增长的算法可以真正解决。对于这类问题,我们只能用一些近似算法,在有限的时间内找到可以接受的结果,就是最大的胜利。另一种方法就是找到各种特殊情况下的优化结果。

然后他改进了一片论文,得到一个不错的结果,但是“我认为我只是在挑别人的毛病时意外想出了一个改进的算法,并不会对将来的研究有什么启发。虽然程序快了一些,但是很少有那么大的线网需要这么快的算法,而且几倍的提高在我眼里不算是一个理论上的改进,而且这个算法不能推广到其他距离空间,可扩展性很低。”,所以不想写论文。其实写论文是与科学界交流的方式。你做出了东西,如果你不写出论文发表,势必要有别人来重复你的步骤,科学才能进步。后面他总算写出了论文,得以发表,这也证明科学界认可他的研究的价值。

几投不中,究其原因,评委说是没有和现在“最先进”的算法程序实验比较。而我没有比较的程序,是一个我觉得发paper动机不纯的人的程序。没办法,求他给我代码。

做出一个算法来,或者改进了算法,当然要跟原来的算法比较一下,或者是速度有了改进,或者是计算结果比以前的算法好,新算法才有意义。没有比较,你怎么能说清楚你的算法的好处呢?
说到算法的比较,有两种比较方式:
1,数学上证明A算法比B算法优越,空间复杂度、时间复杂度大大减少。一般说来,这个方式很难实现,大多数算法都是在同一个数量级上的。(因为很多天才已经思考过同一个题目,很难想出更简单的解决方法了,为什么我不早生20年?)
2,把两种算法用计算机实现出来,是骡子是马,拉出来遛遛。然后比较运行所用的时间和运行结果。当然,我们会使用相同的电脑、相同的编译环境、相同的程序风格来实现两种算法,这样才不至于引入系统误差。奔腾4上运行一个算法、486上运行另一个算法,得到的运行速度当然无法比较;用汇编语言写出来的算法,跟用Visual Basic写出来的算法,执行起来速度没有意义;高手与新手写的程序效率自然也不一样。

所以,我(和我所知道的朋友)在比较别人的算法的时候,都是根据别人的论文,自己实现程序,从来没有问别人要代码的时候。如果根据论文还写不出程序,才会联系论文的作者。王垠没有要到源代码,拿到执行文件,就直接跑起来,只能说他也是在糊涂交差。

我决定换一个题目研究。我就开始考虑zero skew tree. 找了20多篇paper来看,发现他们没有什么本质的改进。

前面我说了,因为很多天才已经思考过同一个题目,很难想出更简单的解决方法了。王垠看来认为自己是爱因斯坦式的天才,总想找到一步登天的方法,不屑于改良式的进步。况且,看20篇论文,远没有达到熟悉一个研究方向的程度。
他们研究美好新颖的问题去了,而我就这样陷落在充满陈旧问题的垃圾paper的海洋中。

一个人的天堂,是另一个人的地狱。

总的说来,王垠希望社会铺好路,然后研究30年,然后拿出一个爆炸性的研究成果。但是我觉得他还不懂得怎么做研究,还不懂得科学界的交流方式。我第一次看这篇“退学申请”的时候,他还提到说他感觉有一个方法能够提高质量,认为自己实现太浪费时间,于是问导师有没有人试过这种方法,导师没有回答,他也就不管了。(大意如此)其实你只要搜索一下论文,就知道有没有别人做类似的东西了,为什么非要导师来告诉你呢?导师一定要扶着你走路吗?如果别人做过的话,肯定会在论文里体现出来。现在我翻“退学申请”,找不到这段,也许他也觉得不好意思吧?

不管他的选择对错与否,我只说四个字:勇气可嘉。
 
Well, actually you are not familiar enough with theoretical computer science. Please read more background before comment.
 
anonymous: If you think my blog is wrong, say it. Don't say somthing like you know everything but you don't want to tell anybody.
 
王同学还说:

写GRE作文特别培养思维能力。
我为了写GRE作文,常常为了一个不明白的问题到图书馆翻阅英文的哲学书籍,
有关教育的书籍…… 对于很多问题我得到了完全不同的观点。大学的目的是什
么?人的价值观是由理性决定的吗?等等等等。


王同学把GRE看得太高了,我也怀疑他到底有多天才。
 
I think Wang is nothing but a daydreaming boy. I understand his frustration, as most of us have one period of knowing everying and being able to do everything. We call it teenage.

I think Wang has not grown up.
 

Saturday, September 24

现代诗歌

喧嚣的舞池
匝踏的人声
我容易醉在酒里
繁华中我是陷落的城池
人们拒绝我哭泣

今夜无人的角落
寂寞让我如此美丽
黑夜的星辰也灿烂得有一些些的玄虚

辗转的心碎落泪的乞求
我容易憔悴在梦里
丢失了钥匙的我游荡在风中
人们不会记得那是谁

今夜无人的空间
寂寞让我如此美丽
失去了牵挂的女人自由得想要飞



这是我最喜欢的诗。孤独、憔悴、高贵、自由,都能在这首诗里找到。

下面这首比较古典一些:

青青的山倒影照淡绿湖上 看水色衬山光
浮云若絮天空里自在游荡 笑苍生太繁忙

今天的她竟跟我泛棹湖上 美景仔细欣赏
平湖若镜水中的影子也双 这光景最难忘

闪闪金光轻飞跃淡淡湖上 晚风吹过水乡
斜阳又似胭脂染在面庞上 这一刻最难忘

在水中央有俪影一双仿似画在湖上
愿终此生永共她一对一双



有人认出来:第一首是陈明的《寂寞让我如此美丽》的歌词,而第二首是林子祥的《在水中央》。不错,这就是今天的主题:现代的诗在歌中

上星期有人说现代诗已经死了,其实,更多的诗在我们的生活中。最俗的人都能吟出

小河弯弯向东流
流到香江去看一看
东方之珠我的爱人
你的风采是否浪漫依然

月儿弯弯的海港
夜色深深灯火闪亮
东方之珠整夜未眠
守着沧海桑田变幻的诺言



所以,诗已经渗透到我们的灵魂中。

歌词,就是诗么?
你反过来想想:什么是诗、词?历史上五言诗、七言诗、婆萨蛮,就是为了套进当时流行的调子之中让人传诵、传唱。所以,本来诗和词就是歌词,只是那时候的音乐记载方式不成熟,没有把曲子流传下来,后人无法重现。白居易的《琵琶行》说的很清楚:

莫辞更坐弹一曲,为君翻作琵琶行。


用通俗的话说,就是:“小姐你别走,这首《琵琶行》写好了,你再给大爷弹一曲。”

最后送给寻觅现代诗的人:

美丽,就在生活之中

Labels:

因为BEN这个名字发现你的网页, 很不错...
 
Welcome. I'm glad you like it.
 
你好象去看过我的网页了呵呵...
北岛翻译的诗歌我很喜欢发给你:
十月的诗
这是我去天堂的第三十年
醒来我倾听港口和附近树林
贻贝聚集、苍鹭
为岸布道
早晨召唤
用水的祷告和海鸥白嘴鸦的啼叫
而帆船敲击网织的墙
我自己踏进
那瞬间
依然沉睡的小镇, 动身。


我的生日始于水
鸟和展翅的树木之乌鸦飞我的名字
在那些农庄和白马之上
我起身
在多雨之秋
在我所有日子的阵雨中外出。
潮水涨, 鹭下游, 当我上路
越过边界
而城门
在小镇醒来时关闭。


涌动的百灵鸟在滚滚
云中, 路旁灌木丛溢满乌鸦
的呼哨, 十月的太阳
夏天一般
在山冈的肩膀
天气宜人, 甜蜜歌手们突然
走进我游荡其中并倾听
雨水淋湿的早晨
寒风吹透
我脚下远处的树林。

苍白的雨在缩小的海湾上
在大海弄湿的蜗牛大小的教堂上
用触角穿透迷雾,而城堡
棕褐如枭
但春天和夏天的
所有花园都在吹牛中怒放
在边界那边在百灵鸟充斥的云下

在那里我会为
我的生日而惊奇
但天气突变。


它避开那欢乐的国度
随另一气流而下, 蓝色改变天空
再次流出夏天的惊愕
和苹果
梨及红醋栗一起
在转变中我如此清楚地看见一个孩子
那些被遗忘的早晨, 他和母亲
穿过阳光的
寓言
和那绿色小教堂的传说


以及两次被告知的幼年田野
他的泪灼烫我的脸, 心跳在我胸中。
在树林河流和大海之处
一个孩子
正倾听
死亡之夏把欢乐的真理
悄悄告诉树石头和潮水中的鱼
而神秘
还在
在水中在啼鸟中欢唱。

在那里我会为我的生日惊奇
但天气突变, 那长眠的孩子
所歌唱的真正快乐燃烧
在太阳中。
这是我去天堂的
第三十年,站在夏日正午
而下面的小镇满树十月的血。
噢愿我心中真理
仍在这
转变之年的高山上`被歌唱。
( 北岛 译)
 
嗨,BEN 
刚和朋友在酒吧喝完酒,已经是北京时间凌晨3:30分, 呵呵, 一直在等那个BEN 的邮件, 不过看到你的留言还是让我感到很温暖, 即使,只是因为一个名字---BEN
 

Friday, September 23

XML and Java

In the early 90s, when the Java language was proposed, it was welcome by many people because of its clear structure and safe sandbox. It is not the first Object-Oriented language, but it sure is the first mature OO language. So it's easy to program, and it's easy to maintain too.

Soon people found Java was not a practical language at all. First, user has to download a 10M run-time library to support the language; Second, it's running so slow and using a lot of Memory! Java applet was adpoted by the Internet because it can run in all the operation systems. But I doubt its necessity because more than 90 % people were using Windows system at that time.

Anyway Java was treated as a pure OO language in academic, until the hardware is running faster to support it and people found it could be used in Server in the late 90s. Hardware is powerful to support Java as embeded system, and Java Servlet is widely used in websites now.

XML is facing the same problem. Yes, XML can denote data clearly, and it can maintain structured data without the support of database system. But it is wasting a lot of computing ability! Today using a java api I loaded a graph with about 9000 nodes from an XML file, tried to find some paths between the nodes. It took the program 2 hours to find 100 paths. If I design a text file structure, and develop a java program to do the same thing, it will not take more than 20 minutes to get the result.

Of course, it will take me 2 days to develop the program, and the program will not be reused anymore. XML and its api speed up the development, and make the program maintainable.

Maybe 2 years later faster hardware will help the spreading of XML, and maybe a killer application will put XML file everywhere.

Labels:

well, why don't you convert that 8000-node XML file to txt first?
 
Well, the project is for academic research, so running speed is not my first concern. I need to keep the same open standard file with others.

Also, as I mentioned, it will take a long time to develop the text file and program. The relationship between the 9000 nodes is very complicate, such as "subClassof", "part of", "has property of"... So it is hard to put that relationship in a text file.
 
When you working on an enterprise project, normally preformance is not a problem at all. Think about 40 clustered dual cpu servers running java. The speed is fast enough for business transactions. Of course, java or XML is not designed for scientific calculations, use Matlab for these project. Java is used when maintainable, transaction, security, modularity is more concerned.
 

家庭小记

今晚做的饭菜不好,所以刚吃完晚饭,妻子看见我爸妈的MSN上了网,就跟他们打小报告:“你儿子今晚做了两个菜,都忘记放盐”。

我正在厨房洗碗,忽然听见妻子笑了起来,大声告诉我说:“你妈妈真幽默,回复说‘特色菜’。”

我爸以前是中学英语老师,粗通英文,在MSN上就懒得打汉字;前几天我们跟他说中秋快乐,他就回复了个“The same to you”就完了。而妈妈会计工作需要输入一些中文,所以练就一手正宗五笔。因为这个缘故,妻子就认为这是妈妈回复的。但是我想了想,摇摇头,说,肯定是爸爸在那边电脑前面。这种幽默感是我爸特有的。如果是我妈,就会让我多做点饭,多练习。

不出我所料,妻子问过去,果然是爸爸,然后就告诉他,他儿子猜中了。

又一阵笑声从厅里传来,原来爸爸回复:“有其子必有其父”。

谢谢你把这些记下来,我都快忘了。
 

Friday, September 16

学术打假与网警

桂铭质疑新到的恒山悬空寺的文章(XYS20050916),我才往回翻了网络“打假”风波(XYS20050912),Google到南方周末的报道,从中闻到危险的味道。

案情回放:
2003年7月,皖南医学院校园网出现质疑院长宋建国博士学历的匿名文章。学校展开“人机锁定”调查,后来采取消极的办法关闭了校园网。
几天之后,类似的文章陆续出现在互联网上,不断传播。
2003年10月份,芜湖市公安局公共信息网络安全监察科发现网上对宋建国的攻击。
2003年10月21日,芜湖市公安局的几位网络警察在皖南医学院信息中心、教务处、保卫处相关人员的陪同下,对学校所有具备上网条件的计算机进行了检查。在汪萌芽教授所使用的电脑中发现大量与网上文章相同的文件和邮件。
2003年11月10日,宋建国起诉汪萌芽。
汪萌芽并不承认这些文章是他所散发的。
2004年2月27日,芜湖市中级人民法院对本案作出一审判决。判决结果
  一、汪萌芽在“皖医学术打假网”以“皖医人”名义发表的《可恨的假博士,可悲的院长(评论)》等七篇文章中存有诋毁、诽谤、侮辱宋建国的言辞,构成了对宋建国的名誉侵权。
  二、汪萌芽立即停止侵害,并在其个人网站上对侵犯宋建国名誉权的有关言辞进行删除,并在不能删除及传播范围内消除影响、恢复名誉、赔礼道歉。
  三、本判决生效之日起十五日内,汪萌芽向宋建国赔偿精神损害抚慰金一万元。

2004年7月23日,终审判决,维持原判。


宋建国取得日本的论文博士学位,这是无可置疑的。而《南方周末》的报道说:
国家教育部认证处一位负责日本学位认证的官员明确地答复说:“我们只能证明你是否有日本的论文博士学位,至于能不能享受博士的待遇,要看你们单位的具体规定。论文博士没有学历,它和博士是两个不同的学位。”

就比较公正。

其实整个案子就是:A抓住B的瑕疵,散布不利B的言论,因此B把A逮着,告上法庭并胜诉。

这样子看,事情很简单,但是我觉得很危险的是网警的介入

如果B院长在自己职权范围内把A揪出来,所有事情就顺理成章。如果B因为受到骚扰而报案,然后警察介入,把A找到,这也是正常的。但现在的情况是,B没有能力揪出A,但是没有报警;网络警察自觉地找上来,主动协助B查找所有校园网的电脑。现在它搜查的是学校的工作电脑,下一次它可能就搜查我们家里的私人电脑了。

但他(汪的律师沈曙光)坚持对原告从芜湖市公安局公共信息网络安全监察科获得汪电脑内证据的合法性提出质疑:这是一个民事诉讼案,公安机关怎么能用“因国家安全或者追查刑事犯罪需要”才能行使的干涉公民通信的权力协助原告取证呢?

法庭没有回复这个质疑。

汪萌芽一直否认是他散发的材料,因为公安机关涉嫌非法取证,因此所取得的证据不应该作为合法证据.

Saturday, September 10

服务器提升性能三方法

这里以Apache的httpd服务器为例,介绍提升性能的三个方法。

1,使用expire模块,告诉客户端软件:该图片在一个月内有效,因此如果用户重新访问这个图片,客户端软件就知道从本地的缓存里掉出来,不需要通过网络访问服务器,重新下载该图片。
一般来说,可以把文本文件设定为一天有效,图片设置为一个月有效。
这种方式能减少网络流量及服务器负载,牺牲服务器的灵活性:如果图片更新了,用户需要一个月之后才能看见。

可能在“有效期”内重复访问同一个网站的人很少,但是你对于服务器可以这样设置:在前端放一个代理服务器,当用户访问这个网站时,代理服务器向后台的真正服务器请求数据。在这里,代理服务器就成了前文提到的“客户端软件”,如果文件还没有失效,就不需要麻烦后台那个真正的服务器了,可以直接返回给用户。在这种服务器构架上,用户与服务器之间的网络流量没有减少,但是减少了真正服务器的负载。当访问量很高的时候,节省下来的CPU时间还是很可观的。

2,使用Cache模块,web服务器load一个文件之后就保存在内存,以后不需要再从硬盘里载入。晤,很浅显的技术。为什么还存在这种bug呢?
当然,这种技术也存在第一种的牺牲灵活性的缺点。

3,把文件压缩之后在发出去。对于Apache 1.3,应该采用gzip模块;对于Apache 2.0,采用deflate模块。这些模块自动把文件压缩(我的经验是对于文本文件能够压缩到原来的30%-40%),把压缩后的文件发给客户端,然后客户端解压之后显示给用户。现在流行的浏览器都支持这种方式。这种方法的优点是减少网络流量,缺点是对于服务器、客户端,在压缩和解压的时候都需要时间和CPU。而且对于图形文件,基本上压缩不了,纯粹是浪费时间。所以如果你的网站多数是图形文件的话,这种技术帮不上忙。

A bug in Apache Memory Cache Module

这两天观察到一个bug,就是应用了mem_cache_module之后,第一次访问rss.xsl,得到的Mime类型是application+xml,这是正确的,但是第二次访问就得到text/plain的类型,同时log显示这次是从cache中返回。也就是说,缓存的页面都被当作默认的mime类型(text/plain)。
这个bug对于IE客户端没有影响,因为IE不太在意这个类型,好像它自己按照扩展名“.xsl”自己再做处理。但是对于Firefox就成了问题,因为它比较刻板...

我懒得装一个干净的apache来测试,但是在当前的apache上面,只要停用Memory Cache Module就总是得到正确的application+xml类型,只要启用它就出现上面所说的问题。虽然这个模块是experimental的,但是这个bug也太弱智...我翻了一下原程序,没有发现明显的错误;Google一下,也没有发现别人讨论这个情况。

Friday, September 9

怪癖

怪癖游戏经过长久的旅行,到这里。

1,“我们内行”。“天黑之后照相要延长曝光时间,所以我们内行就知道把相机端稳一些,久一些,才能拍好夜景。” “残月是C形,初月是反过来的C形,所以现在这个月亮,我们内行能看出大概是农历初四,离中秋不远了。”都是生活细节问题,只是我们内行比较专注一些,找出别人不注意的地方。

2,左手用鼠标。左手用鼠标之后,右手可以剩出来写点东西;如果用右手操作鼠标,左手干嘛呢?
一般大家都是用右手食指点击左键,中指点击右键;Windows/Linux有个设置的地方,能改成左手食指点击左键,中指点击右键。但是我不喜欢这个设置。我仅仅把鼠标移到左边而已,因此用左手中指点击左键,食指点击右键。这样的好处是:随便我到哪台新机器,不需要修改设置,就可以很习惯地使用;别人坐到我的左边,就可以跟我一起操作电脑,讨论程序了。

3,没有了。我的怪癖就是没有多少怪癖。

I use left hand mouse at home, and right hand mouse at office. It all depends on the pile of junk on my desk.

It seems to me you've been hit by spam heavily. I am wondering if blogger has any mechnism to flag spam comments.
 
Spam... not quite heavy. Only one or two every week. :)
 

Tuesday, September 6

New York Trip

星期六在纽约街头转了一圈,星期天到波士顿哈佛走走,然后就回来了。



有空再把行程写清楚,先把照片放上来。
--------------

Sept, 2,星期五, 在新学期之前,加满油,开车去纽约。

几乎出了一次事故。那条路上只有两条线,我在右线循规蹈矩地走着,速度大概110km/h。前面这条线上有两辆车开得很慢,等我走近了,才发现它们太慢了!高速线上,你很难确定正前方的车的速度的。上个月有个兄弟也是在高速线上,前面堵车,整个车队都停下来了,他是最后一个;后面再上来一辆车,就是没有判断好速度和距离,就撞上来了。所以我刹车的同时,顺手把双蹦灯(Emergency Light)打开了,我后面的两辆车发现了异常,就换到左线,向前走了。
刚才我没有直接换到左线,是因为当我发现前车很慢的时候,已经离得比较近了,这时候手忙脚乱地查盲点然后转方向盘同时刹车会更危险,说不定还会跟后面的车相撞,所以我只是减速下来,让后面那两辆车换到左线之后超过我,看到再后面很远的地方才有一辆大卡车,一切正常,我才检查左边盲点,很平和地转到左边来。
踩油门,没反应;再踩油门,还没有反应。我一抬头,从后视镜看到,刚才后面很远的那辆大卡车,已经换到我这条左线,并且离我很近了!而这时候我的速度还只是60公里!刚才我猛刹车,速度已经从110降到一半,但是我判断后面车的距离,还是用110公里速度的感觉来判断,所以后面的车一晃就来到了!乘客一转身,看见后面的大车贴在后面,尖叫了起来!这时候我的破车救主,油门猛轰起来,把我们带离险境。
我应该在慢车后面再呆久一些,等到后面完全没有车,才转到左线来。

当晚到New Jersy的Motel6住下,又问了一圈去纽约的方法,未果。第二天冒死把车开进了纽约城!出发之前在新雨丝上咨询的时候,所有人都警告我们绝不要把车开进去,因为很难找泊车的地方;但是现在如果我们把车开到隧道旁边,还是要找泊车的地方,才能坐公交车进去。总之是要找地方,就开进去了。

在Lincon Tunnel过去,往uptown的方向一拐,正前方就有一个停车场,简直就是为我们准备的。正好是周末,所以15块钱停一天,我们就整理一下行包,踏上纽约的街头。


从42街9大道出发,我们走到时代广场

然后到凯莱斯勒中心,

以及旁边的St.Patric Church

途经Sex & City的楼


纽约的曼哈顿区,大多数大街是用数字命名的:东西走向的是Street,南北走向的是Avenue,比如说著名的第五大道, 世界名牌商店云集的商业大街。

Labels: