| Harry 的个人资料Harry's Coffee, Sugar an...照片日志列表 | 帮助 |
|
8月11日 2008 Beijing Olympic Openning Ceremony这是个值得纪念的时刻,我也附庸风雅一下。Damn NBC不现场直播,于是周五和office的美国人,罗马尼亚人,印度人和伊朗人讨论和期待了一整天。大家都觉得这次肯定应该办得很好。我周五在group有一个talk,结果talk时候也在想着等会早点回去看开幕式。于是乎,周五下午四点多就离开了office,往Philly赶,希望在7:30转播之前可以赶到。
终于还是迟到了~~ 等到欧们到了家中,把那个damn complicated的cable给调好,卷轴已经铺到地上了。 还是被雷到了,好惊艳~ 我觉得NBC的转播和解说都很好,确确实实把这些场景所表达的中国的文化给完完全全地介绍出来了,一点负面的东西都没有。细节的拍摄也很到位。 给了bush总统和美国队相当多的镜头,也是understandable的。 当然作为尊重东道主,给了中国队和姚明很多镜头。不足的地方是中间插了无数节广告,并且把一些关键性的东西给切掉了,比如春江花月夜和京剧,大概美国人觉得没意思,或者无法解释。 解释说的三位 (包括绝对是中国通的 Joshua)发出了无数的 wow, ohh,这大概完全可以代表无数美国人民的惊叹。
和全体在美华人的感觉一样,我觉得开幕式相当的不错~, exactly是外国人想要看的。MITBBS上无数的帖子都证实了这一点:美国邻居,朋友看过无不惊讶赞叹中国人的伟大,于是纷纷来赞叹,送花。大概有无数美国家庭都想把林浩小朋友给领养了,收归自己家呢~ 这个开幕式的效果就应该是这样,把人给镇住,一旦人被震到,他就开始敬仰和崇拜你了。至于网上对于开幕式的差评,我觉得大概出于两点:(1)崇洋媚外。觉得中国老套的东西太多~ 这一点我不想评论,是个脑不残的都知道这些才是这个国家在世界上被尊重的东西; (2)觉得场面太大,太空虚。 说过了,这样大型表演,又要在三个小时内把中国五千年的东西表现出来,能也只能这样拍;在展现文化的同时,给人以美的感觉。就算你不了解中国五千年文化,你也能知道中国的东西是美的,是值得全世界用心来听,好好来尊重的。大部分看过的美国人都表现出了这种尊重,这就是这台戏成功的地方。(3)人海战术,没有新意。还是老话,人多是咱的国情,劣势,但是某种程度上也是优势。不管用什么方法,只要让人震惊和叹服就行了。全世界发出了中国人真多的感叹,但是可能感叹的同时又觉得中国人有纪律,团结,以后便没有人敢说什么,欺负中国了。美国人排好莱坞千篇一律就那些情节都不觉得害羞,我们有什么觉得羞的~
Okay, 衷心祝福中国队和美国队都能在奥运会中取得好成绩~ 也希望中国给大家留下好印象
8月5日 problem fixed, 发文庆祝一下ohhh, my goodness, try 了好几天,crash了JVM上下300多次,终于将这个简单的array access的代码,在优化之后,给正确插到了生成的VM中间代码中。这些年在各种公司coding下来,发现一个有趣的规律--- 项目文档的完整性和一个公司的大小和过程的正规性有着戏剧性的关系。 小公司不用看,文档一律为0;然后随着公司变大,design doc和API说明开始逐渐变好。到了中等偏大的公司,文档和项目的可维护性达到了极致--- UML,需求和设计说明,code得注释,各种各样东西是应有尽有。等公司规模再往上升,这个文档的可用度又开始往下降了。 等到了IBM这等全球三十万人的公司,又降回为0了。
我很surprise,一个用作产品的JVM--J9,用了Toronto Lab几年的时间,竟然连一个API说明都找不到。整个VM用 C++和Smalltalk 写成。我的目标呢,是对大的application-level的程序进行优化--在VM中不同阶段,用不同的program analysis去降低由redundant instruction造成的memory bandwidth的开销以及增加可并发行。本来计划三个月结束可以把东西做好,paper写好,然后回家。结果呢,到现在为止光光implementation连1/2都不到。 其主要原因在于(1)没有文档,无法知道用什么东西干什么事情;(2)没有debug环境,连gdb都没法用;让我回想起以前写asp或者什么 VBScript网页,debug基本靠打印。一点点bug就让整个VM crash,dump出一堆heap snapshots,花时间看这些snapshot还不如自己肉眼看code呢。
不管怎么样,事情还得做,code还要写,VM还要继续crash,research还得继续进行。累累累,不过倒是对一点看得特别清楚-- programming language的革新对于programmer的productivity提高来说有着不可估量的意义。 如果纯用Java,这些事情可以在一个月内全部告定;如果纯用C++加一个好的debugger,可以在二个月内搞定;如果C++还有点C在里面, 可以在三个月内搞定 (因为你没法知道那些 extern是从哪里来的);如果C++掺C再掺Smalltalk (就是目前的damn nasty情况),无法预测能在多长时间内搞定。
引伸出去, programming language本身,尤其是functional language 就是一整套抽象数学模型,这套模型又有一个完整的推理体系 (type system soundness, contra-co-variants...), 归根到底,如果谁证明了一个定理,或者发展了这套抽象模型,这个人便很有可能foundamentally的提高 程序员效率和软件的生产力。 举例来说 整个C++德template或者 Java 5以上的 generic class都是有一套完整的 typing rules/constraints的。 很多property 比如说你这个程序有没有某种类型的bug 可以方便的在这套抽象模型上面被证明或者否定。可见抽象在计算机中的重要性。然后这么多年,似乎数学在计算机,尤其是软件学科中的作用长期以来被人忽视;大家都知道只要会写程序就行了,要知道那么多的定理公理干什么? 本科只上所谓的入门级的高等数学,忽视了对于数理逻辑和抽象代数的教育。 但是这些数学和软件之间本身内在就是相通的。 忽视了这些基础的东西,知其然不知其所以然就必定会导致了。 所谓国内的诸多软件学院走的就是这条模式;Computer science,它作为science,而不是纯engineering 的地方也就体现在这里。 |
|
|