useR! 2010会议流水账回顾

谢益辉 2010-08-30

本来这篇流水账日志早就该发了,一直懒得写,放在草稿箱里已有一个月,还是拖出来简单写一写算鸟。正好开学前老板说,你娃儿去开了useR!会议,那开学第一周的组会上就你和Marie来说说你们的观察吧。于是乎,我又绞尽脑汁回忆了useR! 2010。

公元2010年7月19日凌晨3:45起床,搭租好的车从农村去机场,一小时后到达。路上看见天边电光闪闪,非常吓人,我心想完鸟,这飞机还能飞么?机场一路进去,木有任何延迟或取消航班的迹象,早上6点,按时起飞,我心里捏着一把汗。这机长也不是盖的,拖着飞机掉头就往没有闪电的方向飞,绕道去芝加哥,幸好菩萨及圣母保佑,平安到芝加哥ORD机场,大约40分钟后,搭下一班飞机去DC里根机场,算是故地重游。出机场又找预定好的车,开了一个小时才开到马里兰NIST,路上又经过那华盛顿纪念碑啊、林肯纪念堂啊、造币厂啊之类的地方,也不稀罕。

这次张翔张主席也从国内不远万里漂洋过海到NIST开会,我琢磨着他可能是唯一一个从中国大陆来的参会者,报名的人当中还有另一位兄弟似乎也要来,但后来不知为何掉链子了。张主席本来订好了租车,结果到了美帝,驾照上木有对应的英文翻译,于是也木有办法租车,而本小子至今还没学开车,那么就地铁公交加“11路”车,总之找到了旅馆。张主席到了NIST附近,没直接去旅馆,而是气定神闲找了家餐馆吃饭去了,我只好吭哧吭哧去找他吃饭。主席就是主席,也不是盖的,不拖箱子不拎包,而是整个登山包背着,连睡袋装备都有,那是相~昂~当的专业。

从农村去了城市,自然是不便,虽说是城里,NIST周围似乎也是鸟不拉屎地不长毛,找了家超市胡乱买些食物水果,回旅馆歇着。下面进入正题。

会议三天,前面加一天主题培训,上午下午各一场,我报名的分别是Frank Harrell的统计图形和回归建模策略。图形一场,倒是开了不少眼界,主要是Cleveland和Tufte的一些观点,很多很多故事,听得悠哉悠哉,后来回来之后也开始借Cleveland的书翻翻(The Elements of Graphing Data),果然有趣。回归一场,速度太快,很多细节不熟悉,所以照旧收获不太大,这里“照旧”是因为08年在德国我听过一遍了,如今又听了一遍。不过我一直深为同意他的“不要把连续变量离散化”的观点,这一点我去年已经说过一遍了。虽说是讲回归,Harrell的讲法并不像传统的回归课,甚至几乎没有任何传统回归课的内容,比如他大量使用样条、光滑方法、Bootstrap、收缩估计(如LASSO)等。

开会三天就是跑来跑去到处听,到现在也没什么有深刻印象的报告了。几场邀请报告中,Harrell列举了种种统计应用(主要是医学中的)之误,以及分析可以怎样被改进;Luke Tierney讲了一些R在计算中的发展方向,主要是并行计算和Byte code编译,后一项工作他似乎已经做了十几年了,我们都知道R语言是一门解释性语言,也就是它不像C语言能编译为机器代码执行,所以在运算效率上会低一些,Byte code编译的效率比编译为机器语言差一些,但比纯粹的解释执行方式肯定要快,我不太了解其中细节,罢去不谈;关于并行,很多人总是问如何让R利用多核计算?Tierney认为这个问题的答案很简单,但这个问题本身是错误的,正确问题是,如何利用多核使得运算更快?对并行运算不了解的人可能会想象2核运算比1核快一倍,但事实不是这样简单,因为给各个核分配任务以及回收结果都要花时间,并不一定越多核越快,这是常识,也不谈,不过现在大家似乎都很追并行运算,其实并不是所有人都有必要并行的,据他介绍,普通的四则运算,若向量长度不到三万,则并行计算的意义不大;其它报告中,听了一些,其中在我的报告之前的那场报告还挺有趣,讲体视学(stereoscopy),那位兄台搞了两台投影仪,分别投上用R画的一些不同颜色的图,给观众发了一批立体眼镜,就是最简单的那种,一边镜片红色,一边蓝色,大家戴上看他表演,从一些平面图里看到3D图,报告完毕还在屏幕上打出滚动字幕(制片人、鸣谢之类的),观众哄堂大笑,他说下一场报告是动画,看样子咱们可以组建一个Pixar公司了;然后我登场,第一句话就是,嘿,兄弟,你打算啥时候建公司啊?到时候告诉我一声哈。我基本上是老调重弹,演示一些动画。讲完一个宝洁的人跑来给了个名片请我给他发一下幻灯片,也没啥问题。后来我在外面看到有一位Montana的本科生基于我的包做了一些应用,在走道上展示了几天Poster。其它报告也就是Notepad++/NppToR、Sweave等,回来之后我在Windows下的编辑器就成了Notepad++配上NppToR。

这次R会议专门安排了一个R在商业应用中的讨论,出席的有宝洁和REvolution等公司,在那里见到了Norman Nie,说实话,见到这个活人之后我的印象并不太好。REvolution真是大肆打广告啊。

会议期间遇到不少中国人,其中还惊奇地发现竟然有一位群众大学统计学院的老早以前的师兄,聊起群大,甚好甚好。另一位Boan同学,我见他总觉得面熟,上前搭话,又貌似不是见过的人,不过搭过话当然就认识了,互通姓名,Boan说,“哦,我知道你,我系你粉丝啊”,嗨,哪里哪里,不敢当不敢当。我感觉我这小站里潜水的美帝留学生还挺多的。我总琢磨着咱们留学生可以组织组织,平时抽抽空给统计之都网站写几篇好文章啊,不说啥报效祖国,但报效人民总是应该的吧。还有Shentu啊,Jinzheng啊等等。还有些美帝之外的,像Jing Hua Zhao老师啊,Xuefei Mi啊,都是2008的熟脸。

22号晚上在National Zoo晚宴,很奇怪,为啥晚宴安排在动物园,是去吃狮子呢还是吃老虎啊?一群人浩浩荡荡杀到动物园,一看也就是个露天的场地和一个大棚子,碰巧我在车上坐在Harrell旁边的旁边,下车了吃饭就和他坐一桌了,听了不少关于SAS的八卦故事。对Harrell了解的人都知道,这老爷子69年开始用SAS,91年用了一个月S-Plus就放弃SAS了,因为SAS编程效率低得惊人,后来又转入R阵营。凡是R-help邮件列表中有出现SAS的讨论,他几乎都会出场。老爷子当年为SAS贡献了很多程序,后来SAS都抹掉了他的名字,过河拆桥。还有关于SAS CEO的种种故事,这里不便乱说,免得告我诽谤,总之他对Jim Goodnight的人品很不齿。听这样一些故事,再看如今SAS那些发言人的话,难免觉得真是冠冕堂皇:

Boswell added, “SAS invests hundreds of millions of dollars in research and development every year. Protecting the intellectual property created by the dedicated and talented employees of SAS is of paramount importance. We will vigorously pursue the remaining issues in this case and look forward to getting clarification from the ECJ.”

最后一天下午安排了Richard M Stallman演讲,我吃完午饭看见RMS一个人在那里看书,我心想怎么到现在还没有粉丝前来围观,于是赶紧抓紧机会和这位大仙合影一张(按照惯例,我依旧不会放正面清晰照,哈哈):

RMS and Yihui at useR! 2010

我跟RMS说,您老人家揍是俺们的神呐,他说,不,我只是个圣人(Saint)而已。看上面的照片,果然很圣人,照相时头上都顶着光圈(不是我特意涂上去的),而我就没有。

RMS演讲从下午1:30开始,一直到4点多(包括提问环节),此公果然大小演讲经历无数,讲起来滔滔不绝。他的英语非常清楚,不像一般的美国人,一句话省略音节无数,而且他用词也比较正式而常见,所以听他演讲还是比较轻松的。在外人看来,RMS似乎什么都反对,确实,他反对的事情太多太多了:Linux(注1)、MS Windows、Mac、iPad(他故意读作iBad)、Amazon Kindle(注2)、Adobe Flash(注3)、Facebook(注4)……

说到“SAS is bad不要用SAS”的时候大家哄堂大笑,但实际上他指的是“Software as a Service”的缩写SaaS,关于这一点,本小子也是在大家哄笑完之后才突然意识到,同时也听见前排有一位老先生“啊哈”一声可能也突然明白过来了,不过我估计还是有相当一部分人误会了,很多R的用户都对SAS没什么好感。可能RMS自己也不知道听众为什么会笑吧。SaaS的问题在于你把你的数据上传到服务商的服务器上,他们可能用你无法了解源代码的软件做了计算,并且对你的数据有完全的控制权,在RMS看来这和后门程序本质上没什么两样。

这次演讲他拒绝了录像,但接受录音,因为录音发布的音频格式是ogg,也就是最常见的开源音频格式,而会场的录像没法用开源格式。

以中国人的处世原则来看,RMS简直就不可能活下去,他总是旗帜鲜明挑战最强大的机构,反对很多流行的软件和事物,在老百姓看来可能不容易理解。如此排他性地坚持“自由”,最终结果如何,我也无法预料,至少目前看来,不喜欢RMS的大有人在。

四天会议结束,下午Qihao开车送我和张主席去地铁站。尽管去年坐过DC的地铁,可还是忘记了怎么买地铁票,还是主席厉害,初来乍到啥都搞明白了。我们坐着地铁况且况且前往DC本来要去宾馆,但主席路上突然身体不适,我想了想先到China Town出车站,就近找个泰国餐馆坐下休息吃饭,好歹身体恢复,吃完晚饭继续地铁去宾馆;主席一路掏出胶卷相机照相(我还以为胶卷相机已经从摄影江湖消失多年了,主席说单反还不如胶卷呢)。再出地铁站的时候,主席见到一指路的向导MM站在那种两轮平衡车上很好玩,就上前问能不能借他玩玩,结果被回绝了……走去宾馆的路上,主席大谈那车的NB之处,高科技玩意儿,我不懂。

宾馆离机场不远,因为我是早上7点飞机,所以挑了家可以走去的,但第二天早上5点爬起来告别主席走去机场,半路上走到高架桥底下去了,而去机场的路在桥上,环顾四周,貌似木有上桥的地方,慌了神,好不容易碰到个晨练的,问了个上桥的地方,才走到机场了。从机场外到登机口也就花了大约五分钟时间,非常顺利。飞到芝加哥,发现天气恶劣,去得梅因的飞机晚点了,一会儿是晚半小时,一会儿变成一小时、一个半小时……本来上午11点到得梅因,结果下午1点才到,正好赶上租的车。那司机在机场看见飞机晚点,还给我打了个电话(当然手机关机中,给我留言),结果飞机落地过了不到10分钟我就出现在他面前,吓他一跳,嘿嘿,本小子坐在第一排,飞机落地开门就走,当然快。那段日子经常下雨,得梅因的水也很大,有些地势低的地方也被淹了。我回来的时候已经天晴了。

到了农村,休息几日,便搬家了。再过些日子,农村发洪水了;再过几天,开学了。暑假期间的大事至此基本记载完毕!退朝~~


注1:此处有两点解释,首先,他觉得那位Linus Torvalds先生写的Linux只是GNU自由软件中的一种,我们不能把一个操作系统直接称为Linux,而应称作GNU/Linux;其次,他不认同Torvalds的实用主义观点,他坚决反对非GNU的软件被包含到GNU/Linux系统中。所以,确切地说,他反对把Linux看做一个完整的操作系统。

注2:从某种意义上来讲,Kindle给你的书不算真正给你的,Amazon有权力收回电子书,有些客官可能听说了,去年7月的时候Amazon远程删除了所有用户的《1984》(很有讽刺意义——删去的偏偏是一本著名的讲极权主义的书),包括用户记的笔记。如果别人能控制我们手中的东西,我们的东西真的算是我们自己的么?Kindle这个词本来的意思是点火,于是RMS讽刺它是用来“烧书”的。

注3:Adoble Flash很“聪明”地发明了一种超级Cookie,它不受你的浏览器控制(因此无法从浏览器删除)、文件大小无上限、可以永久存在于你的电脑中,更可怕的是,这种Cookie中记录的信息可以不受电脑主人控制而被发送出去。若各位客官不知道Cookie为何物的话,可以自行搜索一下,简单说来,就是网站用来写入一些用户信息的文件,比如你的用户名密码什么的,普通的Cookie可以从浏览器中清除,而且有很多限制。

注4:又是一个不顾用户隐私的应用,看看它这些年来的默认隐私设定的变化就知道了:“The Evolution of Privacy on Facebook”。默认情况下,除了生日和联系方式,已经没有任何一项个人信息不能被所有互联网用户看到了。当然,我们希望网上的笨蛋很少、大家都会保护隐私。