Yearly Archives: 2008

汶川地震

看到报道,温总理跑四川灾区最前线亲自指挥,真是很感动,看到为国为民的好总理的形象。08年好事不少,奥运会要办了,但好像不好的事情也不少,天灾人祸,又是雪灾又是地震还有列车事故,每每都看到60多岁的温总理忙碌的身影。感动之余,不免感叹除了总理外的大小官员们都到哪去了?我宁愿看到总理坐阵北京,指挥一批得力干将,让他们去最前线冲锋陷阵,以最高的效率去解救受灾的群众。然而现在的情况看来是,总理每事事亲躬,一方面反映总理关心受灾人民心切,另一方面仍然缺少一个高效运作的政府体系,后者对于一个总理来讲更是一个艰巨的任务。看着60来岁还这么操劳的身影,免不了担心他的身体情况,经不起这样的折腾呀。

灾害也反应了太多的事情,地震局的职能多大程度上得到了体现,据说当地的地震监测站都被开发商给拆了,地震消息居然还是美国的地质调查局先于发布。而据朋友观察,当CNN、BBC等外媒网站都第一时间发布这个重大事故,CCTV网站还兴高采烈的庆祝奥运火炬。中国红十字会动员大家捐款,我试图登陆它的网站,却发现总也连接不上。公布的帐号是工商行的,却被网友说,银行还要收他们的手续费。他们肯定会说系统还没有更新过来,然后推上一天两天再公告说免捐款手续费。只是那一两天已经足够将银行本身捐的一千来万给挣回来了还有余利呢,真是两面讨好呀,不用出一分钱,又捐了款,又说是为大家最快时间推出了免费的绿色捐款渠道。

无论如何,看到不足的,我们更是看到了太多感人的内容,全国人民空前的团结起来,论坛上基本都是祝福和关心的帖子,谁说中国人的素质不高了?

Expensive sun?

看到网易上的一个新闻,太搞笑了。成都铁路局贵阳客运段将贵阳翻译成“expensive sun”,警(路)风翻译成“Police road breeze”等低级错误(想乐请见新闻原出处)。这也算了,承认个错误,说不懂英语,重新改过就好了。当记者采访他们的领导,这位可爱的主任居然说,“贵阳客运段的列车也有外国友人乘坐,但此前没有接到来自外国乘客的反映”,“当初这些标牌制作时曾经请教过外语方面的专家,但可能由于中英文理解上有出入,所以出现了以上的问题”。言外之意难道是想说,你们这些人懂不懂,老外和外语专家都看过了,(没问题,你们瞎起哄什么呀)。

老外没报告,我可以理解,大多数老外来中国是找乐子的,看到这么好玩的,这趟也没白来,回去跟朋友吹更有谈资了。另外老外的性格也是不愿意说三道四,更没有义务向你什么政府的报告。只是这些“外语方面的专家”我就奇怪了。任何一个学过英文的,即使理解再有出入,也绝不会翻译成这样,除非根本没看过,又或者那专家根本就不认识中文。说“曾经请教过外语方面的专家”是百分之二百的睁着眼睛说瞎话。这位主任想着这回出漏子了,想给自己扯点借口而已,却不想这借口也太无知了。

读取网站的Alexa排名/Get Alexa ranking data for your site

南卓铜(Zhuotong Nan, [email protected])

由于网站自己设置的网站访问数有时不真实,为了比较网站的访问量,我们一般使用权威的第三方网站来比较访问量。Alexa网站提供被大家认可的排名数据。比如,访问http://www.alexa.com/data/details/traffic_details/westdc.westgis.ac.cn,可以看到“西部数据中心”目前排名访问。

Alexa提供了收费的Web service允许大家使用其数据,大概是每1000次请求0.15美金(见这里)。收费并不高,而且包括众多的功能。

然而作为程序员,有时候宁愿挑战一下自己的能力。比如有没有一种免费而且合法的手段来获取它的排名数据,比如Westdc.westgis.ac.cn目前排名1,080,823里的这个名次(May 06 2008)。

Alexa为了挣钱,使用了一些方法来防止简单的页面数据获取。比如我们看排名的HTML片断:

<span class=”descBold”> &nbsp;<!–Did you know? Alexa offers this data programmatically.  Visit http://aws.amazon.com/awis for more information about the Alexa Web Information Service.–><span class=”c669″>1,</span><span class=”cbf1″>34</span>0<span class=”cd05″>80</span><span class=”c9d1″>,8</span><span class=”c2e8″>23</span></span>

直接从Web页面拷贝的结果是1,34080,823,而不是正确的1,080,823。这是因为Alexa增加了一些<span>标签来混淆HTML代码,这些<span>的CSS被设置成display:none,所以在浏览器里显示却是正确的。而且这些混淆的<span>标签是随机任何组合的。

解决方案可以从模拟浏览器显示出发,逐步剥离没用的信息,最终获取排名数字。

a. 获取整个HTML源代码;分析获取源代码中有关排名的HTML片断;
b. 下载干扰的CSS表,取得display属性为none的全部css类名;
c. 利用css类名列表,从HTML片断中移去对应的<span>标签和标签内的数字;
d. 移去剩余的HTML标签;
e. 转成数值输出。

以下代码演示了此方法,使用了c# 2.0,在Visual Studio 2005编译运行通过。代码里使用了正则表达式。

/* Purpose: to get Alexa ranking data by using c#
* Author: Zhuotong Nan ([email protected])
* Date: May 06 2008
*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace wml.stat
{
class AlexaRanking
{
public static int Rank(string url)
{
int ret = -1;

Uri uri = new Uri(url);
string newUrl = “http://www.alexa.com/data/details/traffic_details/” + uri.Host;
System.Net.WebClient wc = new System.Net.WebClient();
string html=wc.DownloadString(newUrl);

//pattern for obtaining html codes in relation to ranking data
string htmlpattern = @” about the Alexa Web Information Service.–>(.+?)</span><!–“;
string snipet = Regex.Match(html, htmlpattern).Groups[1].Value;

//get css file which store css classes preventing from scrambling
string cssUrl = “http://client.alexa.com/common/css/scramble.css”;
string cssfile = wc.DownloadString(cssUrl);

//css class pattern for getting CSS class listing with no display to the browse
string cssclassPattern=@”.(.*?) {“;
MatchCollection cssmc = Regex.Matches(cssfile, cssclassPattern);
//css classes without display, forming reg patterns
List<string> css_nodisp_patterns = new List<string>();
foreach (Match m in cssmc)
{
css_nodisp_patterns.Add( “<span class=”” + m.Groups[1].Value
+””>.*?</span>”);
}
//remove those classes from html snippet
foreach (string p in css_nodisp_patterns)
{
snipet=Regex.Replace(snipet, p, “”);
}

//see html snippet left
//remove span tags
string tagPattern = “<[^>]*>”;
snipet=Regex.Replace(snipet, tagPattern, “”);

ret = Int32.Parse(snipet, System.Globalization.NumberStyles.AllowThousands);
return ret;
}

static void Main(string[] args)
{
AlexaRanking.Rank(“http://westdc.westgis.ac.cn”);
}
}
}

本文独立实现,但后来google发现有人利用了差不多的方法,只不过在实现上用了PHP,最终产生的结果稍有不同,见 http://plice.net/?p=10

爱,是要表达的

上午跟一个朋友讲家里情况。才想起又是很长时间没给家里打电话了。

每次打过去,我爸接的一般都很快转到我妈手里。我一般只会说,妈,都好着吧?你跟爸的身体都好着吧?她就说,都好都好。然后再问问朵朵的情况,接着说电话费贵,不说了,接着挂掉。前后一般不到3分钟。

我爸妈从不将家里发生的事讲给我听。比如我妈跟我弟吵架,都是从我堂妹或表妹那知晓的。当打回去的时候,问及这些事,总是讲没事,小事,已经过去了。也许真是没事小事,但我知道其实他们有时候是很渴望有人听他们讲。这人不是我。他们总是怕我在外面担心他们的事情——所以从来不跟我讲。

而我过的总是很平淡的生活。科研的事情是没法跟他们讲的,他们搞不清楚。讲到最后,一般他们很茫然的问,那今年挣了多少钱?温州人的思维都是将什么事情都要换算成钱来衡量做事是否值得。自从有了朵朵,情况稍有改善,因为多了朵朵的话题。

所以听到孩子妈妈给她家里打电话,总是有说不尽的话,感觉特是羡慕。也许女孩这点天生比男孩强,女儿跟父母会比较亲昵一些。

有时候想起来给家里挂个电话,但想想没啥话讲,摇摇头作罢。所以发展到现在,除非有什么事情,比如买房子要向他们借款,再比如出国了,才能给家里打个电话,顺便问候一下老人的身体情况——尽管毫无例外他们会告诉我,都好。

以前有时候看电视小说,看到亲人团聚,双方都不吝表达他们的亲情。大学时尝试学学他们,跟妈妈说几句爱她的话,鼓起勇气。妈听了呵呵的说,问我,你是不是读书读傻了?从此,我没敢尝试。父母那辈不会说爱儿女,听着儿女说爱他们也会怪怪的感觉肉麻。虽然他们无时无刻不牵挂着在外的儿子。

也许等朵朵长大,可以大方的跟我和她妈妈说,爸妈我爱你们。

我跟朋友说,我是爱他们的,他们明白。朋友说,那也是需要表达的。

所以决定今天还是打个电话回去报告一下我在这边的生活吧——因为朵朵和她妈妈回兰州了,也算个大事了。

爱国

韩国逮捕了一名21岁的中国留学生,起因是这名留学生在奥运圣火传递期间的集会上暴力攻击韩国民众。我没看到攻击的图片,但我同事告诉说打的头破血流,很是血腥。中国外交部发言人此前就韩国声明要严惩此次集会中的暴力行为发言说,中国留学生只是为了保卫圣火,请韩国考虑实际情况。

这些被逮捕或者将被逮捕的留学生面临的韩国法律的惩罚,可能导致驱逐出境。这后果估计是这些学生事先没有想到的。我不知道这位被逮捕的学生现在是怎么想,会怨恨国家没出面救他吗?

由于奥运会,大家爱国热情大涨,这本是好事,我感觉也是政府在努力倡导的。有了凝聚力是好事前提是爱国得用到合法的事情上去。如果借爱国的名义干违反法律的事情,或者扰乱正常的社会和经济秩序,不管在国内还是国外,估计都是被禁止的。事实上对中国的形象也不见得是好事情。有这样一句话,我可以不赞同你的观点,但坚决悍卫你说话的权利。民主社会里你有集会的权力,同时也赋予别人有不同声音的权力。暴力是不对的。

我并不为留学生感到惋惜。然而,外交部发言人不痛不痒的发言也许是种外交辞令,但总让我不是很开心。但凡说话示弱的只有三种情况,有求于人,有把柄示于人,或者人格或国格的缺失。外国人在国内处在大老爷的位置就很不正常,政府是要代表自己民众的利益。胶济铁路事故后,几个法国人受了轻伤但被迅速转移到北京协和医院,铁道路副部长还亲自去看望,而且全免治疗费,弄的几个法国人很惊讶,说想不到,他们在淄博医院已经受到很好的治疗。然而不和谐的是,有报道指出由于床位紧张,一些中国伤员得不到很好的休养,要转院却面临医院不接收的问题。类似例子比比皆是,外国人可以在中国的土地上恣意妄为,处在高级公民的位置,有时候让外国人自己也惊讶。韩国人在国内也是乱来惯了,作为表达中国的一种态度,我更希望政府就逮捕几个违法的韩国人也赶了出去,未必不是种强势的外交手段。

离别

时间好快。才记得过去机场接她们过来的时候,又到了离别的时间。上午将两位lady送到了机场。有点不大敢回家了,怕面对空荡荡的房间。有时候烦朵朵的不听话或者缠人,但其实如果没有她的声音会少掉好多的乐趣。

然而为了生活总得放弃一些东西,不能总是在一起,好在剩余的时间也不很多了,盼望着5个月后回家再见她们了。

祝旅途一切都顺利了,当妈妈的只有辛苦着多担待一些了。

洗衣服

LP终于单独行动去laundry,将quarter塞进去,却不见洗衣机运转。又到了去幼儿园接朵朵的时间。于是接了朵朵本想回家给我电话问怎么回事。路上跟朵朵说及此事,朵朵说,那上面三个按钮(其实是三个指示灯,不是按钮),你是不是忘了按。她妈一想,那再去试试吧。结果跑去再试,还是不动弹。朵朵同志建议说,是不是哪个按钮按的时间不够长(烘干的时候才有按钮要按住5秒钟以上,朵朵同志张冠李戴了)啊。妈妈再折腾,发现原来是塞quarter的那块板没有拉出来。LP回来跟我说,朵朵小朋友今天给了她信心,将朵朵得意的又是蹦又是跳,尾巴不知道翘到哪去了。

Niagara Falls

周末去Niagara Falls。感谢S,开了8小时的车。感谢T教授和小tina。tina成了朵朵的好朋友,尽管在车上时不时会争吵,甚至哭泣。也要感谢W同学,没能跟我们一起去,却为租车的事跑了几趟机场,肯定是个很累的周末。当然也要感谢我,陪在副驾上说了8小时的话,免得驾驶员犯困。

这是个精彩的旅游。磅礴的瀑布,迷人的风景,友好的游客,我们记录下一切。虽然因为季节的关系没能下河体验轰鸣的气势,但足够了,我们大家的感觉都十分的好。这里的一切跟国内的名胜景点是这样的不一切。没有人山人海,没有门票,没有垃圾,没有到处的维修(S在03年来过,告诉我们说跟03年除了季节不一样,基本没有任何变动),没有威风的管理人员,没有横冲直撞的特权人员。不过这是别人的,可为什么我们就学不到(收钱的活都是与国际接轨,接轨后的却是中国特色),别找人多难管理缺资金的借口,不行就是不行。

Niagara河是美国和加拿大的分界线,对面就是加拿大的多伦多市。看到电视塔和casino。苦于没有带护照,不能跑到对面。于是跑到Buffalo的casino参观了一把,里面的buffet十分好,20块吃上了很可口的螃蟹,据说这是W同学的最爱。

DSC_0311DSC_0527

一个心理学专家

从同学BLOG上看到,一个心理学专家到她小孩幼儿园给家长做报告,据说讲的不错。
可能是新语丝看多沽名钓誉的报道,也可能是基于某种骄傲,对所谓的专家我总是很谨慎。据同学BLOG介绍,这是中国科学院的心理学专家。所以可能还因为我也是在这个大系统中。
查证google,相关消息并不多,也基本证实此人不属于那种牛人,但经常到各地幼儿园作报告,并推销相关教育儿童的光碟。另有报道这位专家原来是科学院某所的研究生,又查证CNKI期刊库,居然没找到署名文章。估计还没毕业吧,因为科学院的研究生毕业是要有核心期刊署名文章的。没有查英文期刊。用“常理推断”是没有必要查了。
这种“专家”往往口才了得,讲的天花乱坠,让人听的云里雾里。但仔细回想,讲的都是大多数家长知道的东西。道理都是对的,但没有可操作性,“专家”自己也不知道要如何真正去做。这些“专家”干的就是这些活,有点象小时候见买艺的江湖郎中,就拿来蒙老百姓的。然后就推销自己写的或别人的资料,以此卖钱。
所以见着类似专家,尽可以扫地出门,没浪费家长们的钱了。

* 接到此专家的信息,信息里说明了一下他的情况,并表明他自己从来没有夸大自己的身份,报道不实说是“公司宣传需要或者幼儿园断章取义”所致。或许吧,再次咨询过我同学,介绍是说“中国科学院心理学专家”,怕跟中科院的研究生还是有些区别吧,而我们大多数人没有能力也没必要去区别这样的信息是公司或者幼儿园的故意还是来自本人的介绍。另外,公司宣传或者幼儿园宣传不合适的地方,作为当事人有义务去更正不合适的地方,对吧。

好吧,我将帖子里的名字隐去,作为对此专家专门捎来信息的回应,但不能认为我就认可这件事。我的学生(不管在职还是脱产)是决不允许在学期间出去搞这些商业行为,多给我发几篇文章才是要做的事情。保留此帖的意思是所描述的现象绝非个例,无论自然科学还是人文科学,不管是有意还是无意,都有太多的“专家”了,独独我们国家不缺这些“专家”。

谁输谁赢

看到文学城上转帖的说合肥家乐福前人山人海抗议抵制。突然一下子感觉到大家特别有爱国热情,所以奥运看来也有个好处,将一些事情一下子就放大了,清楚的摆到了大家面前。
只是在想,网友号召大家在5.1不去家乐福,到5.1那天会出现两个极端的情况,一则门可罗雀,一则门庭若市。前者爱国主义得到完胜,后则不知道爱国的网友会做何感觉,又如何收场。