xing's profile星夜未眠PhotosBlogLists Tools Help

星夜未眠

Yanni Concert

身处Dead Week的水深火热之中,今天还是万分愧疚的去看了Yanni的音乐会。规模比较小,场面不错,音乐也不错。有些新歌,还是延续了以前的风格,介于通俗和高雅之间,融合多种音乐元素,旋律要么婉转抒情,要么淋漓尽致。另外当然还有一些耳熟能详的老歌,以前就很喜欢,加上现场的气氛和音响效果,更是让人心潮澎湃。当这些以前的曲目响起的时候,还是免不了回忆起十多年前听他的CD的时候。也没什么故事,就是一种仿佛时光倒流的感觉。其实往往音乐真的能留住时光,它不像日记相片一五一十的记录,音乐封装的往往是一种氛围一份心境,好比现在听到雷光夏的黑暗之光,总仿佛回到了孤身一人在北京学新东方的时候,清晨的寒风、楼下的牛肉面,除夕的速冻水饺,情报中心的自习室、中关村的霓虹闪烁...听到范逸臣的I Believe,想到大学时候懒洋洋的上课下课,熄灯前的奶粉和方便面,熄灯后的卧谈,第二天早上熊猫的红河谷闹钟,以及风华餐厅的包子豆花荷包蛋;听到First Love和真爱一生,想到高中时候搞地下工作,偷偷摸摸却又如火如荼;听到胆小鬼和宽容,想到初中那些混沌的日子;听到小虎队,想到小学时候在家拼智力拼图...以前听雅尼的CD,听到中间雅尼的讲话,爸说等你什么能听懂这些内容,英语就不错了。而十几年后的今天,我不光能够听懂那些语句,还在大洋彼岸亲历了雅尼的音乐会,回过头去,似乎不知不觉已经走出了很远...扯远了扯远了,今天的雅尼音乐会,美中不足的就是唱段太多。两男两女,轮番上阵,各色乐器只得沦为伴奏,甚至连雅尼自己的钢琴也不例外,直到最后两曲才终于重新成为主角。而相比之下,我其实是更喜欢乐器的演奏,更加纯粹,更有表现力和感染力。而失败中的失败是我的相机没能混过门口的安检,错过了极佳的现场光摄影练习机会。

Dead Week, Algorithm, Hadoop Streaming, 希望一切尽快圆满结束,早点回到魂牵梦绕的成都。

Useless Voice Over from iPod Shuffle III

苹果推出了新版iPod Shuffle,并且号称使用了革命性技术Voice Over。不过在我看来,这个产品并没有带来任何令人惊喜的更新,更多的是制造噱头。苹果的宣传视频号称这款shuffle有4G容量可以容纳1000首歌曲,庞大的容量随即让我职业敏感地开始质疑它标榜的Voice Over。从视频看起来,Voice Over阅读歌名是一个一个读下去的,也就是链表,线性时间复杂度Θ(n)。举个例说,800首歌,阅读一个歌名平均需要2秒钟,找到想要听的歌最坏就需要1600秒,也就是约半个小时。考虑平均搜索时间,也要一刻钟,这样的功能有什么用处呢?更衰的情况是,有些一个字歌名的歌曲一读而过,等再回到这首歌,蜘蛛都开始结网了。幸好Voice Over允许先选文件夹,考虑单层目录结构,这样最佳情况下就演变成了Θ(n^1/2)。其实另一种可行的算法是按首字母排序,也就是类似于KTV的点歌系统,搜索时间最短可以缩短到歌名的长度。其实抛开前面的扯淡,语音播报歌名真的是没什么实际意义,一般愿意放在mp3里面的音乐,只要自己愿意关心歌名,早就已经知道了,而大多数时间歌名其实并不重要和急需。而基于语音播报的搜索并不比按向前向后键更方便。Shuffle体积变小了,控制移动到了耳机上,这样耳机就不能自由更换了,苹果又实现捆绑式的营利(另据悉,第三方耳机适配器已经出现)。考虑到使用苹果很大程度上还是为了时髦,并且也有显摆的成分,我的疑问是,Shuffle做太小了会不会不够显眼呢?还是说只要把白色的耳机线挂在外面晃晃悠悠的就达到目的了:)

笑傲江湖

经过旷日持久艰苦卓绝的观看,今天终于再一次看完了笑傲江湖(吕颂贤版)。记忆中,这已经是我第三次看这部笑傲江湖了,加上一次原著,笑傲江湖无疑是我最熟悉的一部金庸小说。

概括一下,笑傲江湖是一部关于三个男人、三个女人、以及三个中性人的故事。令狐冲绝对是我最喜欢的金庸男主角,言而有信,重情重义,随机应变,逍遥洒脱,再加上武功高强、酒量惊人,不愧为金庸笔下之最。然而,在三个男人之中,我觉得更有必要一提的还是左冷禅左掌门。左掌门其实不是一个失败者,他甚至比岳不群更加成功,他是一个真正的活在现实中的阴谋家。左掌门数十年处心积虑筹划安排,第一步做了五岳派盟主,第二部逼死衡山刘正风和恒山三个老师太削弱其实力,又在华山派和泰山派安插内鬼,窥视各派的一举一动。待得实际成熟,左冷禅强行推动五派合并,并且亲自出任掌门。然后一举干掉日月神教,继而蚕食少林武当,最终称霸武林。然而,笑傲江湖是由中性人主宰的,所以左冷禅深谋远虑,却最终一败涂地。经过痛苦选择,最佳中性人奖还是要颁发给林平之----的岳父,岳不群。其实林平之并不是一个省油的灯,岳不群算计林平之,却被林平之一一识破并扭转局势最终练成辟邪剑法(并且附带骗走了小师妹)。但是岳不群在三场捕猎游戏中都成功的成为了黄雀,左冷禅想吞并五岳却最终让岳不群得手,青城派觊觎辟邪剑谱也最终被岳不群搞到,任我行一心剿灭五岳,最终五岳各派高手尽数丧命于华山思过崖。凭借着在剧情发展中突出的推动作用,岳不群最终在竞争激烈的中性人角逐中脱颖而出。然而,岳不群获得辟邪剑谱毕竟也有运气成分,加上他的计划显得过于精妙,不具备可操作性,所以我还是认为左冷禅更具有现实启迪意义。最佳女主角毫无悬念,当然是任盈盈。任盈盈特别好,对令狐冲生活上关爱备至,事业上鼎力支持,就连面对情敌小师妹的时候,都能把令狐冲的感受置于自己之上。特别好!

这些天来,思绪随着令狐冲的沉浮而跌宕,如今故事结局尘埃落定,武林纷争平息,有情人终于白头偕老,而我却有一丝怅然。这么好的一部电视剧结束了,每日相伴于餐桌旁的那些鲜活面孔就此离去,总还有些不舍。电影总有散场的时候,故事有了圆满的结局。春假也进入尾声,繁忙的学习又要开始。有的时候在想,自己何时才能练就绝世武功,笑傲于现实之中的这个江湖。

Live Space的七宗罪

心血来潮,来历数一下live space的七宗罪吧

缺乏开放精神
互联网的魅力就在于其开放性,web2.0的今天,开放精神更是大势所趋。但是windows live space就偏要逆历史潮流而动,搞出一个封闭网络。近期live的一大堆动作,搞相册,搞在线存储,搞人际网络,并且把文章和留言与msn关联,就是想从所有方面把用户栓在live的服务上,但是偏偏这些服务做得又实在不怎么样,光靠强行推送又怎能真正赢得用户呢。不过,这就是微软的经营方式啦,看看桌面那一套,不是同样的策略吗?

速度慢
这个问题好像现在已经好得多了,不知道是由于我在美国,还是live space真的改进了。不过老用户肯定不会忘记曾经蜗牛一般的msn space,开个网页开一两分钟是常有的事情,一大堆不知道有何作用的javascript把CPU和内存使用率死死地固定在100%,所以以前每次设置主题或者变换布局方式,我都要事先做好心理准备。

设计陈旧
live space就那么几个主题,多年不更新了,就那么几个布局方式,从来也就没有变过。其实客观的讲,live space的设计也不是完全乏善可陈,但是既不自己持续开发,又不支持用户上传自定义主题和模板,就是live space让人不爽的地方了。而那么几个仅有的布局方式,固定的宽度和模块,再剔除类似于等宽四栏这种不做hao123几乎永远不会用到的布局,实在是让人窒息。至于背景图片上传,图片的宽度,重复方式,起始位置又常常无法令人满意。好在live space还有若干简洁主题,再加上现在banner广告去掉了,总还算勉强可用。

屏蔽Javascript
这就是业余与专业的天然鸿沟了。现在而今眼目下,widget极大丰富,通过聚合给blog带来巨大活力,几乎是各大web2.0网站必须提供的功能。优秀的widget数不胜数,豆瓣,鲜果,google reader,picasa,twitter,lastfm,retaggr,flickr,clicki,friend connect,friend feed,delicious,box,好时光贴历,等等。但是偏偏live space就是不支持javascript,死猪不怕开水烫,就是不支持,弄死不支持。幸好还有些widget有flash版可以凑活使用,但是你会发现,flash里面提供的链接在live space的自定义html模块里是不起作用的。当然,live space自己也搞小工具,但是我翻看了几次就绝望了,惨不忍睹。

霸权主义
继续说live space的自定义html模块。别以为名字里面有个自定义你就真能自定义。代码长了,不支持!有js,不支持!css,不支持(支持一部分局部效果的css)!为什么不支持呢?不是处于安全考虑,微软的技术实力还是毋庸置疑的。而是因为微软提供live space服务是站在居高临下的角度,对用户的页面必须要有绝对的掌控。例如有一天微软想投放广告了,这些措施就可以让你想尽一切办法也无法把广告屏蔽掉。

UI拙劣
总觉得live那一套东西乱糟糟的,用起来也不是很方便。比如说你添加一个模块,必须要先保存整个布局,再通过大概四次左右的点击编辑这个模块的样式和内容。比如你想修改一个tag,相关的文章并不能修改,这时候你就只有来到文章列表,一篇一篇回溯,用全手动的方式逐一修改。再比如说现在搞了个叫profile的页面,导航栏让人迷惑、缺乏易用性,用户新鲜事杂乱无章的排列着,还理所当然的在显眼位置放一个大广告...

上线过早
上线过早其实才是最恶心人的。我不算最早的msn space用户,但第一篇文章也是06年初的了,那个时候年幼无知,盲目在msn开了博客,虽然低产也算是坚持不懈,虽然文笔拙劣也算用心耕耘,再加上大家一直以来的关注和留言,这个博客也算沉淀了一些时光,所以每每想迁移到其他优秀的BSP却又下不来这个决心。live space就像一个赖皮和骗子,把我困在了这里。

针对上面提出的live space挟持用户的问题,我提出两个解决方案。首先是rss托管,这样有一天想要搬家的时候,读者的订阅无需改动。第二是强行搬家,我曾经尝试过用sohu来搬live space,然后再用博客大巴搬sohu,但是留言搬不走,今天又发现一个叫Live Space Mover的东西,据说文章留言全部搞定,没有试用,但看上去还比较靠谱。这么写下来好像特别苛刻,希望live space能有所改进,提供让人满意的服务。

春节

想来想去,还是决定上来冒两句皮皮,毕竟是春节嘛。又是一个人单挑春节,说起来我也算是三年级学生了,第一年是在印度,第二年在北京。在北京那次最郁闷了,没的亲人朋友不说,还憋了一肚子气上新东方。大年三十晚上,借给我房子的熊哥和老大都回家了,留下我孤独一人。没得电视,只能在网上看春晚,十分流畅,后来才知道系统是我们实验室做的。没得团年饭,只有吃饺子。饺子是从家乐福买的速冻,下锅以后才发现没得酱油没得味精没得花椒面没得红油海椒没得麻油没得蒜没得白糖,还吃个铲铲。十二点的时候外面开始爆火炮,热闹非凡,刘杨杨也宗了个电话过来表示慰问,才总算有了一点过年的气氛。然后看了两集圣斗士冥界篇和一集北斗神拳,就睡了,第二天起来继续拥抱牛肉面和红宝书。这种惨剧的上演,有个叫睡神的人要负主要责任。

今年春节比去年还不如。啥子叫文化差异?文化差异就是当你每逢佳节倍思亲的时候,你的老板铁面无私一如既往的收周报开组会,弄得你只有通过看代码的方式守岁。我们都是文化差异的牺牲品,室友比我好一点,打开算法作业聊了一晚上QQ。而我喃,我先是写paper review,再死磕TA课程的Project的参考代码,然后现在准备开始弄实验室的东西。不过中国人民向来是不可战胜的,虽然今天被压迫得只吃了土豆排骨和番茄炒蛋,为了庆祝春节,我还是在洗完澡后和上床前的十分钟内整了一瓶喜力。喜力有点苦,正如我半年以来流毒甚广的一句口头禅:“很苦啊!”。然后我现在在床上,其实很想给家里和女朋友打电话,但是莫名其妙的又不太想打,难道是怕在这个特殊的时间听见他们的声音?还是只是由于时间紧迫不愿意浪费时间?没有搞醒火。明天早上的计划是看春晚。早上看春晚,生活在这个黑白颠倒的世界,如此荒唐的事情就确实可以发生。设想一下窗外烈日当空,门口车水马龙,然后董卿或者朱军之类的脸谱开口说话,说零点的钟声就要敲响云云,届时肯定会有一种时空错乱精神恍惚的奇异感受。春晚虽然年年被口诛笔伐,但毕竟看了十多年春晚,还是非常羞愧和无地自容地养成了这个坏习惯。独自在外,春晚就更成了必不可少的活动。今年的春晚有几个看点。第一,看那些只活跃在银屏不活跃在互联网和人们心中的明星们,比如说冯巩牛群黄宏蔡明就属于这种,久了不见,还很想念,想念他们过时的段子陈旧的包袱无聊的主题做作的表演。第二,看中国的歌舞节目,特别是那种民族的,几个古典美女往台子上一站,花枝招展满面(假)春风,声音圆润嘹亮,歌唱祖国太平盛世一片和谐人民安居乐业莺歌燕舞。第三,看主持人煽情,给我们讲地震和雪灾里的感人故事,讲奥运会中的振奋人心,讲党中央的亲切关怀,给我们宣读一封封来自远方的贺电和屡创新高的收视率。其实看春晚不是看节目,是看那帮活在裤衩中的人们怎样做节目,当你看到那些似曾相识的场景听见那些亘古不变的谎言时,不由得会心一笑,要的就是这种效果。唉,春节!

前不久去了趟华盛顿,没得时间写游记了,随便交待两句算是记录。从罗利开车过去,途径弗吉尼亚,总共不到五个小时车程。由于我们是在奥巴马宣誓就职前两天到的,所以见闻感受迥异于平常。白宫国会一带,充斥着游人、警察、军队、媒体、移动厕所,所有临时车位全部禁停,小商小贩大行其道,印有奥巴马脑袋的纪念品热销。这次旅行最大的失误是没有留下来观看林肯纪念堂外面的露天音乐会,据说有不少大牌明星到场,而且奥巴马也活生生的发表了演讲。不过好在我还是拍到了奥巴马的车队,当时我就像一个迟到的粉丝,奋力的在三层粉丝墙后面举起相机对着汽车呼啸而来和绝尘而去的方向一阵狂拍,终于皇天不负有心粉丝,让我拍到了奥巴马的座驾。在国家自然博物馆观看的IMAX很过瘾,我以前没有看过,第一次看就不断和恐龙对视。小时候看侏罗纪公园让我一度无比敬畏这种史前生物,这次的恐龙换成3D了,当锋利的牙齿和血淋淋的大嘴就逼真的凑在咫尺之遥时,虽然知道一切只是幻觉,还是不由自主的想要逃避那恐怖的眼神。很过瘾!然后还去了国家美术馆,看了达芬奇和毕加索的画,但是由于时间限制,错过了莫奈和梵高。其实我承认我看不懂,特别是毕加索,简直没看出来好在什么地方。不管怎么说,也算是一次不错的装逼行为吧。找个好时间再去DC,好好看一下林肯纪念堂,国家档案馆,以及灿烂的樱花。
   
go to my Picasa Web Albums >>


Trip to Las Vegas

尽管短暂,这个冬歇期应该来说还是腐败得有声有色,去了两趟gym,吃了两顿火锅,重温了暗黑,最重要的还是完成了来美国后的第一次远行,游览了雄伟壮观自然天成的科罗拉多大峡谷(Grand Canyon South Rim),感受了灯红酒绿纸醉金迷的赌城拉斯维加斯(Las Vegas),参观了见证一个时代的胡佛大坝(Hoover Dam)。如果说大峡谷代表了美国雄奇的自然景观,拉斯维加斯就体现了夸张的美国式的奢靡和享乐,而胡佛大坝则凝聚了美国人的不屈和奋斗精神,这样看来,这次旅行绝对算得上是一次全方位大纵深多视角的美国体验之旅。

Dec. 24, 飞机从罗利(Raleigh)起飞,经停天寒地冻白雪茫茫的芝加哥(Chicago),降落在座落于内华达沙漠中的拉斯维加斯。虽然气温依然很低,但是进了候机楼还是分明感受到一股热力袭面而来,棕榈树、老虎机、topless的show girl、还有金光闪闪的"Welcome to Las Vegas"...这一切都在告诉你这里就是罪恶之城拉斯维加斯。
  
go to my Picasa Web Albums >>

在国内,高档酒店抓住了成功人士的购物心理,就一个字,贵。而在维加斯,就像洗头用了菲斯,情况就完全不同了。这里的酒店,金碧辉煌、富丽堂皇、涉赌涉黄。来来往往的全是世界名车,而且要么是彪悍的加长版,要么是底盘贴地英气十足的跑车,当然,也有专供我们这种局外人的shuttle和cab。谈笑有俊男,往来无恐龙。进进出出的大部分都是美女,身材高挑,穿着性感,相貌出众,但是往往当你正准备要纵情欣赏的时候,旁边就会出现一个同样出色的“成功人士”,于是兴致全无。酒店通常是欧式风格,尽显贵族气质。在Las Vegas Blvd(the Strip)上,各家酒店都主题鲜明,风格迥异,从南至北,有金字塔,有自由女神,有大喷泉,有凯旋门和埃菲尔铁塔,有威尼斯水城,有海盗船...每一处景点都惟妙惟肖美轮美奂。夜晚,彩灯和广场电视登场,整个Strip更是灯火辉煌流光溢彩,移步易景,让人目不暇接。你说这样的酒店住一晚上得要多少钱啊?其实不贵。究其原因,还是老罗的一番论述精彩:非旺季,五星级酒店两星级价格,狂便宜。一楼是狭长的赌场大厅,二楼往上全是花花酒店。一楼赌场从一侧进门,另一侧是电梯,中间的门除非着火永不打开,回房间必须穿过整个赌场,两边全是哗啦哗啦数钱的声音,不时伴随着一个神经质的声音尖叫“哇,中奖了!”,造成心灵冲击,结果再怎样意志坚定的人都会最终崩溃,最开始是用钱包里仅有的现金赌,很快就输光了,然后就上信用卡和支票,几个小时下来,血本无归,酒店赚去的早已不止一夜的房钱。

我曾经在临走前夜抱着体验的心态小赌了几把,直到输光身上的现金。我只会老虎机,就是文曲星上的777。诚如老罗所言,赢钱的概率比一辈子被雷劈中两次高不了多少。虽然算法设计不一定是基于混沌数学,但是效果确实是总让人在输得心灰意冷的时候给人一个惊喜让人看到转机,然后又大义凛然的砸进去更多的美元。所不同的是,老虎机没有硬币掉出来,而是吐出一张打印着余额的票据。其实我完全应该在输到最后一分钱的时候cash out,带着票据回家,这无疑是游览维加斯最好的纪念品。只可惜当时我一心沉醉于老虎机简单一拉带来的无限期待中,输光了所有的credit。感谢维加斯没有wachovia的ATM机,要不我肯定会把持不住,取出更多的钱继续玩下去。

第二天,Dec. 25, 我们暂时告别了维加斯,沿着冰冻的US-93和I-40,踏上了去往亚利桑那州(Arizona)境内科罗拉多大峡谷的旅途。晚上七点,天已经全黑,跟随着遥远的前车的红色尾灯,我们终于摸索着抵达了大峡谷国家公园以南60mile的gateway city: Williams。然而,此时漫天飞雪,路边也积了一尺有余,寒风呼啸,发出诡异的哭声,这样的天气为第二天的大峡谷之行蒙上了阴影。不过我们下榻的Holiday Inn倒是给人另一番感受。假日旅馆,虽然规模不大,却也精致舒适。穿过两层隔离冷空气的小门,进入几十平米的“大堂”,黄晕的灯光驱走了寒冷的黑夜,温暖的空气顿时带来春天的感受。大堂一侧是简单的reception,另一边是已经关门的纪念品店。大堂中央是相对摆放的两个沙发和茶几,旁边是电视、圣诞树、以及免费饮用的咖啡;茶几和靠墙的小桌子上是盛开的鲜花和绿色的植物以及房屋和小人的雕塑;墙上挂着逼真的扭头和鹿头、木质滚轮、以及一些装饰画...这里的一切都透着小巧和温馨,与维加斯的豪华酒店形成了鲜明对比。而整齐陈列在架子上的几十种旅游手册和广告,则彰显了这座大峡谷gateway city(其实只是个小镇)的独特地位。

结果第二天早上起来,天气格外晴朗,窗外整个世界银装素裹一片雪白。好不容易铲掉车上十厘米厚的冰雪,我们开始向大峡谷进发。这一路就是典型美国西部片的景色,万里无云的天空中飘着几朵白云,蓝天下道路在辽阔的荒漠间起伏、向远山延伸过去,只不过这时候荒漠和远山都是一片白色。阳光从背后照过来,汽车行进方向上的景物颜色明亮饱满,煞是好看。临近大峡谷,路边开始由荒漠变成森林,应该是松树,反正是高大古老的针叶树,树上盖着积雪,很有感觉。

大峡谷就是电视里面看到的样子,古老的岩石,深浅不一的红色和黄色,巨大的裂缝,很是壮观。而我相信我们看到的大峡谷又更胜一筹,因为大雪初晴,大峡谷又多了两道色彩。向阳面依旧是深浅不一的红色岩石分层磊出的一级一级的峭壁。阴面则是积雪,谷顶的积雪在阳光照射下呈现明亮的白色,谷底的积雪在天空的映衬下则反射出淡淡的蓝色,再加上太阳斜射在座座山峰上投下的大片阴影,整个大峡谷光阴交织,明暗忽见,色彩格外绚丽。除了丰富的色彩,大峡谷的岩石不说千奇百怪,也算是造型各异。有的地方整块巨大的岩石浑然一体,有的地方明显能看出一层一层的颜色不一,有的地方干脆就像由多块岩石堆积而成,加上常年风化和雨水冲刷,形成了各种姿态。很多地方能明显看出断裂的痕迹,类似于智力拼图,一边的山壁向外凸出另一边则相应地向内弯曲。而绝壁上的树木和峡谷间翱翔的鸟则为坚硬的岩石增加了些许生机。其实我们游览大峡谷只能算是走马观花,除了站在谷顶俯看,要真正体会大峡谷,还应该hike到谷底的科罗拉多河畔,在河上漂流,从河面仰望,唯有这样才能真正感受大峡谷的壮观和自然界的伟力。所以尽管我看到了积雪覆盖的大峡谷,我还是认为春秋才是游览大峡谷的最佳时节。

Dec. 27深夜到Dec.28凌晨,我们星夜未眠,风尘仆仆的赶往Utah一个滑雪场(Brian Head)。其实这是这次旅行相对没有太大意思的一个活动,不过好歹这也是美国最好的滑雪场之一,而且也是我第一次滑雪。我滑雪,就靠个勇猛,不会刹车,就任他速度越来越快,最后以一个惨烈但是唯美的摔倒作为结束。不过这样搞了几次,也可以在初级道上初步控制速度和方向了,想必找个教练再多练习几次,应该就能略有小成。

Dec.29回到拉斯维加斯,Dec.30参观了胡佛大坝。关于胡佛大坝的历史,可以在这里复习一下。在游览过程中,导游的讲解其实就是爱国主义教育,讲了很多胡佛大坝体现的不屈与顽强以及大坝创造的世界第一,虽然胡佛大坝比起今天的三峡大坝和伊泰普水电站已经不值一提,但是它确实是具有开创性的壮举。在当时,大坝的修建带动了美国西南部经济的发展,为走出经济危机做出了贡献;在今天,大坝依然输送着源源不断的电能,大坝蓄起的米德水库(Lake Mead)是全美第一大水库,它孕育了拉斯维加斯这座沙漠中的绿洲,滋润了科罗拉多河流域的万顷良田。其实,来到胡佛大坝,首先映入我眼帘的并不是大坝,因为大坝在公路下面视角并不是太好,而是与大坝相连的几座塔楼。这些塔楼看着眼熟,是因为变形金刚中拯救威震天的那场戏里就出现了这些塔楼,YY一下脚下大坝的深处说不定冷冻着霸天虎的头头,还是挺有意思。

Dec.30下午从大坝返回,这天晚上是在维加斯的最后一夜,除了先前提到的小赌怡情,我们还去看了一个show,其实本来是计划去看strip show的,但是最后决定还是选择更为高雅和著名的Bally’s Jubilee。正所谓25 years of nothing to hide,Jubilee其实也是topless的,有几场戏女演员是上空装登场,不同的是,Jubilee不诱惑,而是“正规”的百老汇式的歌舞剧,再加上我们坐在最后一排,所以露不露其实并没有区别。Jubilee的服装和舞台效果的确很漂亮,但是我觉得表演内容并没有太大创意,反而是穿插的小杂技更有意思,可能这是由于我不懂歌舞剧吧。很对不起大家的是在观看Jubilee过程中,照相机是严格禁止的,所以未能带回女演员们惊艳的照片。

Dec.31一觉醒来就开始往回飞了,由于美国东西部的时差,这一天就像被偷走了三个小时,过得特别快。其实,事实是当我们飞来拉斯维加斯的时候已经享受了27小时的超长的一天,所以说出来混迟早要还。

TA点滴 -- regrade

昨天太郁闷了,都放假了,还被小朋友纠缠了一天要求regrade project3。我还以为美国小孩都举重若轻,对成绩这种事情看得很开,结果得了B-心里面还是罩不住了,发邮件骚扰我要求重新判分。但是我又怎么能轻易修改自己判过的分数,于是打出一组漂亮的三连击,KO了美国小孩。

其实TA Java这门课并不轻松,很多人觉得编译不过直接零分就搞定。但是事实恰好就不是这样,由于本来就是一门教写程序的课程,改作业的时候就还必须一步一步的跟程序,找点给步骤分,也就是今天这个小孩一直声称的partial credit。所以说每次改作业就相当于帮半个班debug,小孩儿们常常搞些稀奇古怪的逻辑,弄的我直想掏刀子杀人。不过今天,说实话,我还是有点心虚,因为这个project我是在期末阶段好不容易挤出一晚上搞定的。批改的风格背离我一贯的稳健精准,而是粗犷豪放。这个小孩想必就是倒在我大规模杀伤性武器下的一例冤魂。

起初没有仔细看他的程序,但是运行了一下,抛出空指针异常,毫无疑问是有问题的了。然后回邮件告诉他程序确实只值49分,想开点,早死早超生。不料一顿午饭功夫,他又回邮件,开始给我闹partial credit。由于最终的ABCD已经确定,我只好给任课老师发邮件问能不能重新判分。不过想要从我手上要分又谈何容易,纵然我之前没有仔细看过他的程序,还是仗着多写几年程序和TA的淫威,毫不留情地施以拳打脚踢外加一顿乱棍。我上来就是一通强盗逻辑,说步骤分是按照模块给的,我怎么可能每条语句每个变量都给你算分。完了还加一句“对吧”,要是面对面谈话,这句话就十分阴损,相当于诱着或者逼着别人同意自己心里面其实反对的观点。过后我就十分装逼的描绘了一个大场面,说现在你还有我这样天性善良又乐于助人的TA给你步骤分,今后进入社会谁TM给你partial credit呢,还不是行就行,不行就做掉,残酷着呢!瞬间给人一种我来自江湖的沧桑感...最后,我还说,你TM交个程序上来,编译都通不过,既然你自己都不care,难道我还有任何理由帮你care吗?其实这是我到这边发现的一个现象,老美和部分老印对作业真的很洒脱,做到什么程度就算什么程度,做不起就交一个空文档给你,而中国人就是和你死磕,用尽所有时间和一切办法,保证一切perfect。其实我知道读到这里,那个美国小朋友肯定已经在心里默默的把我操上了很多遍了,但是依然正如我所料,他还是压抑着心中的怒火,恭恭敬敬地回信过来一番appreciate。哈哈哈,我TM要的就是这种效果,手握生杀大权就是这么过瘾。

晚上,酒足饭饱,我决定还是认认真真的看一下他的程序,了他个心愿,让他去得瞑目。打开Eclipse,我开始一行一行的分析程序。天啦,这个小孩不知道在想什么,明明循环得很好的地方,全部是递归,归来归去的把他自己都整昏了。但是我不能昏,知己知彼才是制胜的关键。我一直看,半个小时过去终于略有小成,除了我扣掉的分数,更多的错误也被我找到。又经过一番小心求证,我觉得时机成熟,该祭出最后一击了。于是我就撰写了一封超长的mail,既有分析又有举例,晓之以情动之以理,在结尾处以很高的姿态说多出来的错误我就不扣你分了,就算是圣诞礼物吧,然后又在一天内装了第二次逼,说我行走江湖几十载,无数残酷的bug让我明白,能用循环的地方就不要去递归,因为一旦把握不住,终将害人害己。最后我徐徐盖上盖子,死死地钉上钉子,掷地有声地下了定论,49分就是49分,不商量了。

放假了

Raleigh的天气是从thanksgiving开始回暖的,而我的生活是从thanksgiving开始恶化的。两个星期的疲劳作战,直到昨天下午好不容易爬上一辆wolfline把自己的躯体运回家里才算宣告结束。我觉得有必要把这几天写下来,纪念一下自己在NC State的第一个期末,或许以后回过头来看会觉得稀松平常,那就证明Permanent Head Damage(PHD)已经不可逆转了。

在十二月的头四天内,主要是炮制了一篇无线网络MAC协议的report,搞定了并行系统的project和presentation。眼看着12月8号的OS考试步步逼近,我就像热锅上的河马,偏偏这时候又被用刀架在脖子上抢去了宝贵的一夜用来批改Java的project。这样一折腾,真正坐下来复习就只剩三天了。也是从这时候开始,我开始通过削减吃饭睡觉时间,成功地每天复习16个小时,把三天用成了五天。到12月8日os考试之前,四篇paper,实时调度,I/O和文件系统,分布式系统...居然在基本没有听课的前提下全部神奇地搞定。星期二中午开完实验室的组会后的24小时是备考计算机网络的时间。恰好24小时,咽下了三顿汉堡,喝淡了整杯浓茶,成功地学习了20个小时,完成了70%的复习计划。遗憾的是考试的时候还是出了一些低级失误,或许这就是连续熬夜的代价。考完了,就像以前考完各种大考试一样,其实并没有觉得如释重负。晚上泡在网上消磨时光,感觉却就像刚放出来的摩根弗里曼,总是充满一种不安和负罪感。受虐成了一种习惯。

这个期末让我体会到两个道理,第一,《黄金甲》诚不我欺,时间挤一挤总会有的。第二,《24》脱离现实,Jack Bauer不是正常人。就这样,在美国的第一个学期结束了,忙碌、郁闷、失落、挫折,伴随着小小的成功和成就感...不管怎样,结束了!

考后杂谈

今天终于把并行系统期末考试搞定了,虽然课还要继续上,课程设计还要继续做,总算是结束了一门期末考试,还是值得高兴的。从半期考试到今天,一个月看了15篇分布式系统和并行系统方向的paper,说起来不多,摆在面前也差不多快有现代汉语字典厚了,还是小有成就感。

Gmail昨天晚上讨论paper的时候,Divya还在炫耀她的Gmail可以换肤,搞得纪风又是清cookie又是搜文章。结果貌似到了今天大家都可以了。不过目前可选择的皮肤还是不多,比来比去还是觉得经典蓝色比较好看。最近Gmail似乎动作不小,除了换肤,前段时间开始的对gadget的支持也是一个很有用的功能。看看如今的Gmail,早已不是一个传统的电子邮箱了。Gmail应该是第一个大规模深度使用Ajax技术的邮箱,舒适的用户体验不光颠覆了web应用开发的模式,更实实在在地宠坏了用户,造成的结果就是当我打开NCSU的邮箱的时候,不假思索地就觉得惨不忍睹。除了用户体验上遥遥领先,Gmail明显有一种取代桌面应用的野心,事实上,Gmail在功能方面已经具备了这种可能。Gmail在邮箱里面加入了聊天工具,简单的网页版Gtalk干净利落的胜过MSN,再加上最近提供的视频聊天功能,MSN真的就只剩用户群上的优势了。Gmail又加入了Google Doc,Google Calendar小工具,Word,Excel和Outlook的基本功能也就包括了。而对gadget的支持,事实上彻底开放了Gmail环境,这就好比把Gmail变成了一个操作系统,可以往上面安装自己想要的任何第三方工具,Google Reader, Yobo, Rememberthemilk...,一切皆有可能。相对而言,换肤可能算不上大的功能性完善,但是又回到用户体验,换肤绝对是个性化方向上的一大步。

今天考试的最后一道题是hava a nice thanksgiving, 才发现传说中的感恩节就这样阴区区的到了。Thanksgiving不仅意味着购物,更意味着花样繁多层出不穷的deadline和final终于大兵压境,一个纯朴的愿望就是给这学期画个完整的句号。Thanksgiving买点什么好呢?据说ipod是美国年轻人play zhuangbility时的必备道具,我是不是也应该搞一个呢?设想一下,有了ipod touch,坐厕所的时候就可以鲜果,而不是反动刊物《大纪元》,感觉这个世界毕竟还是又美好了一些。去Gym的时候也可以用胶带把touch固定在手臂上,然后一边听老罗一边跑两个mile,不知道跑完会不会轻松一些。还有就是衣服可以买,不过这边实在没有好看的衣服。要说Nike在这边不吃香那也是情有可原,款式做工比起我们伟大的天朝,那简直差远了。Northface无疑是年轻人最喜欢的运动品牌,但是就是贵,真正好看的衣服不见得比国内便宜。作为对比,CK就是另一个极端,上次去了一个会员超市,见识了传说中$19.9一条的CK牛仔裤,如果这是正品,那么国内上千一条的CK就太惨绝人寰了。

有趣的作业

三个月前的今天,我拿到签证,随即买行李箱,换美金,买国内国际机票,请客吃饭,理发,去医院看爷爷,退邮箱,收拾行李,看奥运会开幕式...忙碌一整天,睡眠三个小时,次日清晨就和爸妈一起去天津,然后到北京,然后就来到了蛮荒的raleigh开始了与世隔绝的残酷生活。

三个月的生活概括起来有一个中心,两个基本点,以及三个主要矛盾。中心显然是写之不尽、读之不竭的project和paper。两个基本点是家和学校,每天毫无悬念的往返于这两个地方。三个主要矛盾是学习,做饭,和睡觉。三个进程竞争我这具残存的肉体,在一段时间的此消彼长之后,慢慢达到了13:3:6:2(context switching overhead)的动态平衡。可见做饭洗碗终究还是很花时间的,尽管我已经吸纳了肖勇生两年以来赖以生存的乱炖的思想,每个周末烧一锅鸡翅或者土排吃五天。又可见进程切换是很昂贵的,这点和课上讲的倒是高度吻合,只不过在实际生活中压缩这部分时间似乎并不像替之以线程这么简单。每天中午回学校,在系楼前面红帽子门口,要步行经过一大片草地和灌木丛。北卡秋天的阳光迎面洒下,明媚且温暖,这个时侯闭上眼睛可以免费享受片刻的自由,不知道为什么,这种舒适常常让我想到《肖申克救赎》里面在屋顶晒太阳喝啤酒的情节。行文自此,我很无厘头地宕开一笔,国内的朋友们,风波渐渐平息,阴影却挥之不去,你们现在对牛奶是怎样一种纠结的情感呢?

好了,文章到此结束,后面开始总结最近的学习。

最近的三个project都很有意思。并行系统做了一个用mpi和openmp混合模型实现的同一个大矩阵反复连乘。矩阵是4096x4096的双精度,20个。机器是3.2GHz dual Xeon with 4G Memory的集群,用2-16个结点,要求是20分钟算完。最开始我低估了这道题的险恶用心,以为就是让我们熟悉熟悉mpi,所以就满脸傻气地去来个三重for循环,记下每次的运算结果,重复19遍。写完程序一运行,跑下楼吃午饭,然后无端轻浮地回来check任务状态,就出事了,计算跑了四十多分钟还没跑完,逼得我kill job。意识到问题的严重性,才开始在算法上动手脚。其实既然是同一个矩阵的连乘,大可不必做n-1次,反正4G内存,可以把计算顺序搞成一棵树,缓存中间结果,用空间换时间是绝对有科学道理的。结果显而易见,速度是提升了,但是还是没有进入20分钟。再一搜,原来这个看似简单的矩阵连乘,还有很多专门的算法和相关paper。这些研究主要是集中在cache利用的层面,而这是我以前从来没有想过的问题,难怪做application的人会被做system的人鄙视为使用office。经过调整三重循环的顺序,cache命中率提高数倍,整个程序耗时随之缩短到了5分钟。我估计如果再用上异步I/O和优化通信,应该能做到3-4分钟甚至更少。

操作系统做了个经典的题目:缓冲区溢出。虽然这个名字地球人都知道,但是要说能讲出其间的道理,甚至亲自尝试,恐怕又不是人人都做过。简单地说,函数的内存和寄存器被放在堆栈中,每次新调用,先在堆栈中压入返回地址,再保存数据(PowerPC),于是堆栈从高地址内存向低地址增长。这个时侯某个函数声明了一个一定长度的数组,然后往数组里面读数据,由于效率原因,c不做边界检查,如果恰好程序员也没做边界检查,读入的数据就可以超过数组的长度,就溢出了。由于数组是从低地址向高地址增长,溢出的数据就有可能覆盖(改写)调用此函数时压入的返回地址,如果这种漏洞被河马这样的居心叵测的坏叔叔利用,就可以把程序跳转到自己想要的代码上,然后就只有任其蹂躏了。作业出得也很有意思,说Princeton的老师用一个程序给学生打分,当且仅当你的名字是xxx,你可以得到C,其他人都是F,现在就要你来改变自己的命运。如果你把程序搞崩溃了,你可以得到D;如果你可以输入自己的名字(!xxx)让程序输出C,你可以得到C;如果你可以放一段shellcode进去并且变一个B出来,你可以得到B;如果被用作溢出的数组是变长的你还能随心所欲,就给你个A;最后还做了一个sandbox,让每次函数跳转都受到监控,消除溢出。记得大三的时候,软件体系结构讲溢出,韩博讲得眉飞色舞如数家珍,现在终于亲手实践了一次,真的是学到了不少东西。

还有一个又是并行系统的作业,移植BLAST到Hadoop。Hadoop好像相对不太出名,但是Lucene绝对是鼎鼎大名,似乎何博本科的毕业设计就是基于Lucene的。Lucene是Apache软件基金会的一个开源全文检索引擎工具包,说穿了就是一个开源的搜素引擎半成品。有了半成品,Lucene的创始人Doug Cutting觉得其牛人的本质还没有体现出来,就搞了个Nutch,一个开源的 Web 搜索引擎。要让搜索引擎真正跑起来,一台电脑是不够的,所以Doug Cutting从Nutch中剥离了一个分布式文件系统HDFS,又实现了MapReduce模型,并且将这二者合二为一,就诞生了Hadoop。简单地说,Hadoop就是一个并行计算和分布式存储的框架。说了这么多,商机就来了,一个开源的google摆在你的面前,看你珍不珍惜。Nutch提供抓取、解析等等搜索引擎功能;HDFS实现分布式文件系统让你存数据;Hadoop提供并行化支持;而且据我所知,HDFS和Hadoop就几乎完全是开源的GFS和MapReduce,这样的好事上哪去找...所以赶快投资几十个服务器,把这套东西一部署,找个做前台的搞个前卫的界面设计以及一整套无敌的Ajax,再炒作一个专搜xxx(美女?)的噱头,就能摇身一变成为“领先的搜索服务提供商”,搞不好今后你花的就是美国股民的钱了。

 
View my FriendFeed
 
 
follow wuxing at http://twitter.com