Demon's profileOnly Me and MePhotosBlogLists Tools Help
    June 30

    在路上

     
    有一些很难说明的情绪让我明白自己文字的浅薄。所以只能用别人的文字来代替一些自己的想法。好比我们在引用各式格言的时候,背后藏匿着的,无非是自己羞涩的思想。
     
    以下出自我在交大的一位学妹blog中的一篇:
     
    六点起床赶清早的飞机去曼谷,去年1月办的护照,签证页居然已经用完了,刚背下的新护照号码又要换一次。这这里记录一下这一年半来的足迹吧
     
    瑞士 07年5月
    美国 07年9月
    日本 07年12月
    泰国 08年3月,08年6月
    新加坡 08年3月
    韩国 08年5月
    以色列 08年5月
    埃及 08年5月
    浪费一张马来西亚签证+一张泰国签证+两张澳大利亚签证
     
    感叹这该是两年内的最后一次business travel了吧,从今以后就要乖乖坐回经济舱啦。话说Priority这个东西,有时真让人上瘾,甚至让人飘飘然地以为自己真的是号人物了。习惯了从check in到security check到boarding的一路绿灯,就算托个行李也会被贴上Priority的标签第一个滚出来,习惯性地以为自己的时间真的比别人值钱了,一分钟也耽搁不得。生活有时候就是这样,被别人贴上标签,然后以为这就是自己的价值了,从此以后就为了这一张标签上标价的升值欢欣雀跃,又为了贬值的风险而患得患失,然后慢慢地丢掉了自己。
     
    联想到杰克·凯鲁亚克的小说《在路上》,主人公一有借口就横越全国来回奔波,沿途寻找刺激,其实他们真正的旅途却是在精神层面的。如果说他们似乎逾越了大部分法律和道德的界限,他们的出发点也仅仅是希望在另一侧找到属于自己的信仰……
     
    很能理解这一群人,在路上,其实更是一种心理状态,是一种无论何时何地,都不断寻求自我价值的境界。而旅行,只是一种简单有效方式,让我们脱离日常的惯性力,摆脱对于标签的依赖,激发我们去发现和接受那个内在的自己。
     
    读万卷书,行万里路。转眼又要回到学校的生活了。希望Stanford的那片蓝天,让我可以安静自己的心,读书,走路,思考,感悟

     
    近日很迷恋Yanni的Tribute专辑中的一首Renegade,在需要力量时便播放它。
     
    June 29

    说明

     
    刚才Linna问起怎么看不到我的blog了。
     
    Well, 也许是说了敏感词汇,被和谐了。就这样,: )
     
     

    6.28 Rafting & Die Hard III

     
    Wei周三的时候说周六他们有一个Rafting活动,Level 5的,还缺一个人,问我要不要去。其实本想叫Xuan他们一起去一个Level 4的,不过后来Cynthia, Jessie, GL他们都说下次再一起组织好了,于是就决定和Wei他们一起。
     
    也没什么准备(疏忽到连Sun screen都没有带),到了那边才发现原来就是miaomiao一周前去过的Skykomish River。Skykomish上有一段Boulder Drop(后面的照片都是那段路的),据说比较难。周六的水量比较大(因为这周特别热,山上的雪都化了),有10000 cubic ft.
     
    我们一船包括guide一共6个,不过其中Vik比较混,基本就是啦啦队性质的船员。大家看后面的照片就知道了,呵呵。
     
    总之很顺利地完成了,Rafting去多了老实说没什么太大意思,一年去个1、2次就好。
     
    准备通过Boulder Drop了
     
    8DFD7380
     
    不见了
     
    8DFD7391
     
    又出现了
     
    8DFD7394
     
    我划
     
    8DFD7397
     
    我划....不到,船在半空了
     
    8DFD7399
     
    重新着“水”了
     
    8DFD7404
     
    我再划 (请注意看左舷最后的那位Vik君,那是在帮忙划船么?)
     
    8DFD7408
     
    Vik君最使力的就是他的笑容,我只能faint了
     
    8DFD7413
     
    结束了,Vik君摆pose很在行
     
    8DFD7427
     
    ========================================================================
     
    Rafting结束后直接去Xuan家,晚上说是Jessie来做手工饺子,我也懒得回家收拾了,直接去他那边淋个浴就好。然后两人便开始War Craft。
     
    Jessie和Yu来了后忙着在厨房里和面、切菜、剁馅。我们继续War Craft。
     
    GL和Cynthia来了后忙着包饺子。我们继续War Craft......
     
    饭后第一次在Xuan的家庭影院看电影(Halo是已经打过好几回了),决定看Die Hard III。然后发现影片在USC取景继而很无耻地把那里称作Rutgers (应该是New Jersey的Rutgers University)。
     
    12点半送走其他四位后我和Xuan开始Halo到3点多。本周勉强打了个50%,基本都是队友太弱。本来还想找到上周我们2打4获胜的那局录像的,结果发现暂存的实时录像都被删除了,唉,可惜了我那个精彩的半空狙射......
     
     
     
    June 27

    【转】数学家的争吵


    费马说:“我猜。”

    欧拉说:“我证。”

    怀尔斯说:“我终于证出来了!”

    泰勒说:“我展。”

    傅立叶说:“我也展。”

    拉普拉斯说:“我的展开式最复杂。”

    皮亚诺说:“我有余项。”

    柯西说:“我也有余项。”

    拉格朗日说:“我的余项最精美。”

    克莱姆说:“我法则。”

    洛必达说:“我也法则。”

    柯西说:“我准则。”

    文志英说:“我正则。”

    达朗贝尔说:“我的判别法强。”

    拉比说:“我的判别法更强!”

    高斯说:“我的判别法超强!”

    卓里奇说:“我能断定没有判别法最强。”

    狄立克雷说:“处处不连续。”

    黎曼说:“几乎处处连续。”

    范德瓦尔登说:“几乎处处连续却处处不可微。”

    康托尔说:“单调不减,处处连续且导数几乎处处为0。”

    皮亚诺说:“方块儿!”

    毕达哥拉斯说:“世界万物皆有理数。”

    希帕斯说:“根号2呢?”

    高斯说:“a+bi很复杂(complex)"

    哈密尔顿说:“a+bi+cj+dk浪费了我30年的时光!”

    伽罗瓦说:“不能再扩张啦!”

    若当说:“若当矩阵。”

    雅可比说:“雅可比矩阵。”

    希尔维斯特说:“希尔维斯特矩阵。”

    海塞说:“海塞矩阵。”

    史密斯说:“lamda 矩阵。”

    希瓦尔茨说:“我不会洗袜子。”( Schwarz与“洗袜子”音近 )

    库默说:“我很郁闷!” ( kummer英语中有郁闷的意思 )

    阿达玛说:“我其实和阿诗玛没什么关系。”

    牛顿和莱布尼兹说:“我们的公式是微积分的基本定理。”

    波尔察诺和维尔斯特拉斯说:“极限点引理才是分析的基本基础。”

    戴德金说:“没有我的实数构造理论,这些都做不了。”

    阿基米德说:“我的原理对此也有巨大的贡献!”

    康托尔说:“以上这些东西都是建立在我的集合论之上。”

    罗素说:“按康托尔的说法,理发师的头发谁理?”

    策莫尼和弗朗克说:“如此便需要我们的8条公理系统。”

    希尔伯特说:“可以建立这样一套理论,是任何一切命题都不能被证明也不能被否定。”

    科恩说:“中间势是否存在谁能告诉我?”

    维特怒道:“不要吵啦!不然把你们统统消去!”

    阿华:“你们有什么问题?”

    June 25

    再见喽,诗诗同学

     
    再见喽,诗诗同学。明天一路顺风。大家在一起的每一个周末都很开心,和一年前我总是一个人出去hiking不同,现在每个周六都有开心的冷笑话,好吃的饭菜,和一直玩不腻的Puzzle Fighter、Mario Kart等等。谢谢你一直忍受我和LX无休止的Halo mania,以及我周五周六经常逗留到凌晨的玩劲。
     
    希望你以后想起大家一起去Microsoft New Year Party,一起去Tulip Festival,一起去Seattle Art Museum,一起去UW的夜市,一起去PizzaHut却把Cartier的戒指丢了然后在雪地里找的时候,会和我们一样怀念这些时光。
     
    有机会的话,回Seattle来吧,大家其实都很不想你走,真的。我们会看好LX的......
     
    多保重啊,这个周末我们再聚会的时候就见不到你了,这么长时间了,大家还真会不习惯呢......
     
    - 谨代表CC, GL, Jessie, WY和我。LX就不代表了。
     
     
     长亭外
     古道边 
     芳草碧连天
     
     晚风扶柳笛声残
     夕阳山外山
     
     天之涯
     地之角
     知交半零落

     一壶浊酒尽余欢
     今宵别梦寒
     
    June 24

    Oh, all right...


    Office的machine连不上了,从test machine上也ping不通,是不是IT又自说自话装了什么补丁后系统没有重启?千万别是硬盘出问题整个挂了...

    也好,索性早些睡吧,明天早些去公司...  烦,想做点事也做不了了,这壶碧螺春也白泡了... 天意...

     

    June 22

    纵做鬼,也幸福

     
    对一切官僚机构,我都始终保持充分的警惕。这其中包括各级的政党宣传机器,上学的时候各类的教育主管部门,以及Seattle地区四处伏击的交通警察,等等。
     
    今天这个list上又要多出一个作协:
     
    山东作协副主席王兆山先生发表于齐鲁晚报的江城子:
     
    天灾难避死何诉,主席唤,总理呼,党疼国爱,声声入废墟。十三亿人共一哭,纵做鬼,也幸福。银鹰战车救雏犊,左军叔,右警姑,民族大爱,亲历死也足。只盼坟前有屏幕,看奥运,共欢呼。
     
    如此奇文,风头轻松盖过赵丽华,理所当然应该入选2008感动中华语录。
     
    在我们的历史上,忠君爱国是重要的,礼教名节是重要的,君父师法是重要的,唯独不重要的就是草民们的性命。所以只要是能体现党和国家的“疼”和“爱”,死了也就便死了,也很幸福。
     
    对一切蔑视人生存权力的言论,哪怕调子再高再宏大,我都报以最恶意的眼光。
     
    June 20

    All These Legends

     
    “我心目中的变成高手”曾经是CSDN上很有名的一个博文系列,今天闲逛时看到了一个图文版,觉得很好,转过来,原文见此
     
    那张著名的索尔维会议的合影标志着物理学的黄金时代的传奇,我在上学的时候,读起这段波澜壮阔的历史便每每暗自激动。而随着计算机科学的发展与成熟,这个领域也有了自己的传说般的人物。这些人是激励一代代后来的科学家或工程师的光荣与梦想,在一个理想缺失信仰无着大家各自为了生计奔忙勾心斗角不择手段的时代,这一点点的希望之光常常在不经意间提醒很多很多的后来者:理想,并非是可耻的话题。
     
    其实这些前辈们全都不是自作清高愤世嫉俗的人,相反,很多人都有出人意表的一面。比如John Carmack曾经被送去少年管教所(原因是他为了能上机就用自制的土炸弹炸掉了学校机房的门),Dennis Ritchie爱开野蛮的大卡车,而David Cutler则是Fxxk不离口的“粗人”。我也曾在Stanford校园里几次遇见Donald Knuth,咋看去是个带着不合适的自行车头盔的怪爷爷。但这些都并不妨碍这些人在他们的领域将内容演绎到极致,他们并不会向文体明星或者商业巨头那样四海皆知,他们只是自得于在自己钟爱的领域中满怀兴趣地耕耘,然后有一代代后背的程序员像讨论夜空中那些星座的传说一样诉说着他们的传奇。
     

    心目中的编程高手 (1)

     Joy_Colloquium   Bill Joy, 前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的BSD。他还是vi和csh的作者。当然,Csh Programming Considered Harmful 是另一个话题乐。据说他想看看自己能不能写个操作系统,就在三天里写了个自己的Unix, 也就是BSD的前身。当然是传说了,但足见他的功力。另一个传说是,1980年初的时候,DARPA让BBN在Berkley Unix里加上BBN开发的TCP/IP代码。但当时还是研究生的B伯伯怒了,拒绝把BBN TCP/IP加入BSD,因为他觉得BBN的TCP/IP写得不好。于是B伯伯出手了,端的是一箭封喉,很快就写出了高性能的伯克利版TCP/IP。当时BBN和DARPA签了巨额合同开发TCP/IP Stack,谁知他们的代码还不如一个研究生的好。于是他们开会。只见当时B伯伯穿个T-shirt出现在会议室(当时穿T-shirt不象现在,还是相当散漫的哈)。只见BBN问:你怎么写出来的?而B伯伯答:简单,你读协议,然后编程就行了。最令偶晕倒的是,B伯伯硕士毕业后决定到工业界发展,于是就到了当时只有一间办公室的Sun, 然后他就把Sparc设计出来乐... 象这种软硬通吃的牛人,想不佩服都不行的说。据Bill Joy的同事说,一般开会的时候B伯伯总是拿一堆杂志漫不经心地读。但往往在关键之处,B伯伯发言,直切要害,提出漂亮的构想,让同事们彻底崩溃。对了,他还是Java Spec和JINI的主要作者之一。

    心目中的编程高手 (2)

     John_Carmack   John Carmack,ID Software的founder和Lead Programmer。上个月和一个搞图形的师兄聊天,他竟然不知道John Carmack, 也让偶大大地晕了一把。不过也许搞研究的和搞实战的多少有些隔吧。想必喜欢第一人称射击游戏的都知道J哥哥。90年代初只要能在PC上搞个小动画都能让人惊叹一番的时候,J哥哥就推出了石破天惊的Castle Wolfstein, 然后再接再励,doom, doomII, Quake...每次都把3-D技术推到极致。J哥哥的简历上说自己的专长是"Exhaust 3-D technology",真是牛人之言不我欺的说。做J哥哥这样的人是很幸福的,因为各大图形卡厂家一有了新产品就要向他“进贡”,不然如果他的游戏不支持哪种卡,哪种卡基本就会夭折乐。当初MS的Direct3D也得听取他的意见,修改了不少API。当然,J哥哥在结婚前十数年如一日地每天编程14小时以上,也是偶们凡人望尘莫及的。对了,J哥哥高中肆业(?!),可以说是自学成才。不过呢,谁要用这个例子来为自己学习不好辩护,就大错特错了。那Leonardo Da Vinci还是自学成才呢(人是私生子,不能上学)。普通人和天才还是有区别的。对了,其实偶们叫“达分奇”是相当不对的,因为Vinci是地名,而Da Vinci就是从Vinci来的人的意思。换句话说,Leonardo Da Vinci就是“从Vinci来的Leonardo”的意思。叫别人“Da Vinci”就不知所谓乐。嗯,扯远了,打住。

    心目中的编程高手 (3)

    David_Cutler    David Cutler,VMS和Windows NT的首席设计师,去微软前号称硅谷最牛的kernel开发员。当初他和他的手下在微软一周内把一个具备基本功能的bootable kernel写出来,然后说:"who can't write an OS in a week?",也是牛气冲天的说。顺便说一句,D爷爷到NT3.5时,管理1500名开发员,自己还兼做设计和编程,不改coder本色啊。D爷爷天生脾气火爆,和人争论时喜欢双手猛击桌子以壮声势。:-) 日常交谈F-word不离口。他面试秘书时必问:"what do you think of the word 'FUCK'?",让无数美女刹羽而归。终于有一天,一个同样火爆的女面对这个问题脱口而出:"That's my favorite word"。于是她被录取乐,为D爷爷工作到NT3.5发布。

    心目中的编程高手 (4)

     Donald_E_Knuth   Donald E. Knuth。高爷爷其实用不着偶多说。学编程的不知道他就好像学物理的不知道牛顿,学数学的不知道欧拉,学音乐的不知道莫扎特,学Delphi的不知到Anders Hejlsberg,或者学Linux不知道Linus Torvalds一样,不可原谅啊。:-) 为了让文章完整,就再罗唆几句吧。高爷爷本科时就开始给行行色色的公司写各种稀奇古怪的编译器挣外快了。他卖给别人时收一两千美元,那些公司拿了code,加工一下卖出去就是上万上十万。不过也没见高爷爷不爽过,学者本色的说。想想那可是60年代初啊,高爷爷写编译器写多了,顺带就搞出了个Attribute Grammar和LR(k),大大地造福后人啊。至于高爷爷在CalTech的编程比赛(有Alan Kay得众多高高手参加)总是第一,写的Tex到86年就code freeze,还附带2^n美分奖励等等都是耳熟能详,偶就不饶舌乐。顺便说一下,高老大爷是无可争议的写作高手。他给Concrete Mathematics写的前言可谓字字铿锵,堪为前言的典范。他的技术文章也是一绝,文风细致,解释精当,而且没有学究气,不失轻快跳脱。记得几年前读Concrete Mathematics,时不时开怀大笑,让老妈极其郁闷,觉得我nerdy到家,不可救药。其实呢,子非鱼,安知鱼之乐,更不知那完全是高爷爷的功劳。说到写作高手,不能不提Stephen A. Cook。他的文章当年就被我们的写作老师极力推荐,号称典雅文风的样本。库爷爷一头银发,身材颀长,总是面带谦和的微笑,颇有仙风道骨,正好和他的仙文相配的说。高爷爷其实还是开源运动的先驱。虽然他没有象Richard Stallman那样八方奔走,但他捐献了好多作品,都可以在网上看到,比如著名的Mathematical Writing,MMIXWare,The Tex Book等,更不用说足以让他流芳百世的Tex乐。

    心目中的编程高手 (5)

     Ken_Thompson   Ken Thompson,C语言前身B语言的作者,Unix的发明人之一(另一个是Dennis M. Riche老大,被尊为DMR),Belle(一个厉害的国际象棋程序)的作者之一,操作系统Plan 9的主要作者(另一个是大牛人Rob Pike, 前不久被google挖走了)。Ken爷爷也算是计算机历史上开天辟地的人物了。1969年还是计算机史前时代,普通人都认为只有大型机才能运行通用的操作系统,小型机只有高山仰止的份儿。至于用高级语言来写操作系统,更是笑谈。Ken爷爷自然不是池中物,于是他和DMR怒了,在1969年到1970间用汇编在PDP-7上写出了UNIX的第一个版本。他们并不知道,一场轰轰烈烈的UNIX传奇由此拉开了序幕。Ken爷爷在1971年又把Unix用C重写,于是C在随后20年成就了不知多少豪杰的梦想和光荣。Ken爷爷还有段佳话:装了UNIX的PDP-11最早被安装在Bell Lab里供大家日常使用。很快大家就发现Ken爷爷总能进入他们的帐户,获得最高权限。Bell Lab里的科学家都心比天高,当然被搞得郁闷无比。于是有高手怒了,跳出来分析了UNIX代码,找到后门,修改代码,然后重新编译了整个UNIX。就在大家都以为“这个世界清净了”的时候,他们发现Ken爷爷还是轻而易举地拿到他们的帐户权限,百思不解后,只好继续郁闷。谁知道这一郁闷,就郁闷了14年,直到Ken爷爷道出个中缘由。原来,代码里的确有后门,但后门不在Unix代码里,而在编译Unix代码的C编译器里。每次C编译器编译UNIX的代码,就自动生成后门代码。而整个Bell Lab的人,都是用Ken爷爷的C编译器。

    心目中的编程高手 (6)

    Rob_Pike    Rob Pike, AT&T Bell Lab前Member of Technical Staff,现在google研究操作系统。罗伯伯是Unix的先驱,是贝尔实验室最早和Ken Thompson以及Dennis M. Ritche开发Unix的猛人,UTF-8的设计人。他还在美国名嘴David Letterman的晚间节目上露了一小脸,一脸憨厚地帮一胖子吹牛搞怪。让偶佩服不已的是,罗伯伯还是1980年奥运会射箭的银牌得主。他也是个颇为厉害的业余天文学家,设计的珈玛射线望远镜差点被NASA用在航天飞机上。他还是两本经典,The Unix Programming Environment 和 The Practice of Programming 的作者之一。如果初学者想在编程方面精益求精,实在该好好读读这两本书。它们都有中文版的说。罗伯伯还写出了Unix下第一个基于位图的窗口系统,并且是著名的blit终端的作者。当然了,罗伯伯还是号称锐意革新的操作系统,Plan9,的主要作者。可惜的是,Plan9并没有引起多少人的注意。罗伯伯一怒之下,写出了振聋发聩的雄文 Systems Software Research is Irrelevant,痛斥当下系统开发不思进取,固步自封的弊病。虽然这篇文章是罗伯伯含忿出手,颇有偏激之词,但确实道出了系统开发的无奈:开发周期越来越长,代价越来越大,用户被统一到少数几个系统上,结果越来越多的活动是测量和修补,而真正的革新越来越少。就在罗伯伯郁闷之极的时候,google登门求贤来乐。如果说现在还有一家大众公司在不遗余力地把系统开发推向极致的话,也就是google乐。随便看看google的成果就知道了。具有超强容错和负载平衡能力的分布式文件系统GFS(现在能够用100,000台廉价PC搭起一个巨型分布系统,并且高效便宜地进行管理的系统也不多哈),大规模机器学习系统(拼写检查,广告匹配,拼音搜寻。。。哪个都很牛的说),更不用说处理海量并行计算的各式google服务了。Rob在System Software Research is Irrelevant里萧瑟地说现在没有人再关心系统研究的前沿成果了。想不到他错了,因为google关心。google网络了大批功成名就的牛人,还有大量初生牛犊般博士做开发,显然不是没事耍酷,而是因为它们的开发总是试图吸取系统研究的最新成果。想必Rob Pike在google很幸福。愿他做出更棒的系统。

    心目中的编程高手 (7)

     Dennis_M_Ritchie   Dennis M. Ritchie 既然Ken Thompson是我的偶像,新闻组上人称DMR的Dennis M. Ritchie自然也是,毕竟两人共同缔造了UNIX,而Dennis几乎独力把C搞大(当然,C的前身是B,而B是Ken Thompson一手做出来的)。J D两人1983年分享图灵奖,是有史以来少数几个因工程项目得奖的工程师(本来是唯一的一对儿,但Alan Kay才因为SmallTalk得奖,所以就成了唯二的乐)。一个人一生能做出一个卓越的系统已经不易,DMR的C和UNIX长盛不衰近30年,至今生机勃勃,DMR此生可以无憾的说。D爷爷也算有家学渊源:他老爸在AT&T贝尔实验室工作了一辈子,并在电路设计方面卓有成就,还出了本颇有影响的书The Design of Switching Circuits,据说在交换理论和逻辑设计方面有独到的论述。当然,D爷爷和他老爸是不同时代的人:他老爸的研究成形于晶体管发明之前,而D爷爷的工作离了晶体管就玩儿不转乐。:-D不要看D爷爷搞出了C,其实他最爱的编程语言是Alef,在Plan9上运行,支持并行编程。Alef的语法和C相似,但数据类型和执行方式都和C大大不同。说到语言,D爷爷对后来人有非常中肯的建议:抱着学习的目的来开发你自己的语言,不要冀望于它被众人接受。这个建议不光对语言开发有用,也适用于其它大型系统的开发。别的不说,DMR后来领导自己的团队在1995年和1996分别推出了Plan9和Inferno操作系统,又用多少人知道呢?其实,D爷爷当初也没想过C会风行世界。他开发C的初衷和Eric S. Raymond在Cathedral and Bazaar里阐述的一样,就是要消除自己对现有工具的不爽之处。谁知D爷爷无心插柳,C竟然受到众多程序员的狂热拥戴,连D爷爷自己都大惑不解。在一次采访中D爷爷说大概那是因为C的抽象程度碰巧既满足了程序员的要求,又容易实现。当然C一度是Unix上的通用语言也是原因。但不管怎么说,D爷爷对编程语言出色的审美意识奠定了C广为流传的基础。最后八卦一下。D爷爷的业余爱好和NBA大牛Karl Malone一样:开卡车。不过D爷爷更喜欢开NASCAR,而KM独爱巨无霸。J D爷爷自称心中不供偶像,如果一定要说一个,那就是Ken Thompson了。现在Ken爷爷退休当飞机教练去了,而D爷爷当了贝尔实验室系统开发部的头,整日忙于开支票。他俩合作20年,屡屡创造历史。这段令人神往的佳话,也就长留你我心中乐。P.S.,很多人都以为Brian W. Kernighan是C的作者。其实BWK只是写了那本经典K&R C。据D爷爷说,他,Ken和Kernighan三人中,Kernighan最能写文章,他次之,而Ken写得最少;但说到编程,Ken爷爷才是当之无愧的老大。

    心目中的编程高手 (8)

     Edsger_Wybe_Dijkstra   Edsger Wybe Dijkstra 对,就是E.W. Dijkstra. 一提到EWD,很多人就会想起找最短路径的Dijkstra Algorithm,就好像一提到Sir. Tony Hoare,就想起Quick Sort一样。其实这些个算法不过是两个牛人在他们职业生涯中最琐碎的贡献。比如Dijkstra算法,无非是戴爷爷在1956年为了展示新计算机ARMAC的计算能力,初试身手的成果,属于他的算法处女作。据戴爷爷自述,他搞出最短路径算法的时候连纸笔都没用。当时他和他老婆在阿姆斯特丹一家咖啡厅的阳台上晒太阳喝咖啡,突然就把这个算法想出来乐。而且当时的算法研究还比较原始,牛人们忙着用计算机搞数值计算,对离散算法不屑一顾。那时连一个象样的专注于离散算法的专业期刊都没有。戴爷爷于是推迟发表这个算法。直到1959年,他才把这个算法发表在Numerische Mathematik的创刊号上,权为捧场。:-) EWD在多个领域牛气冲天,端的是理论和编程两手硬的高手。只不过他的很多工作比较深刻,学校的老先生们觉得本科生接受不了,不给本科生讲而已。戴爷爷大概因为最短路径算法一战成名,于是有人请他参加另一台计算机X1的设计工作,并且把设计实时中断系统的任务派给了他。现在看来实时中断也许不算什么,但要知到,X1前根本就没有实时中断的概念。实现它简直就是一场豪赌。戴爷爷起初还不情愿,但经不住项目负责人Bram和Carel的轮番“吹捧”:我们知道实时中断让您工作变得非常困难,但象您这样的牛人肯定能做出来的说。结果戴爷爷被糖衣炮弹彻底击穿,接下了这个烫手山芋。两三年后,他不仅搞出了实时中断,还围绕这个写出了自己的博士论文,顺利戴上博士帽。让戴爷爷真正成名立万的还是在X1上开发的Algo60,最早的高级语言之一。戴爷爷没日没夜地工作了8个月,就搞出了Algo60,也因此获得了1972年的图灵奖。因为Algo60,戴爷爷发表了一篇石破天惊的文章:Recursive Programming,于是人们才知道,原来高级语言也可以高效地实现递归,原来从此以后,所有程序员都不可避免地和戴爷爷发明的一个词(应该说是概念)打交道:堆栈。而且Algo60还让戴爷爷深入地思考多道程序设计的问题,最终发明了每个系统程序员都绕不开的概念:semaphore。当然,戴爷爷总是把他发明的概念严格形式化,极具科学家本色的说。和这些成就想比,他提出的吃饭的哲学家问题,也就没什么好说的了。说来好笑,当时的大学(忘了哪所了)还是觉得戴爷爷没有受过正统的数学训练,也不是专门搞数值分析的,所以最后不太情愿地给了他一个教职。这种小挫折并不能妨碍象戴爷爷这样的牛人创造历史。他一边教数值分析(:-D),一边开始开发一个新的操作系统,并培养计算机科学家。几年后,THE Multiprogramming System横空出世。THE是第一个支持松散耦合,显式同步的进程并由此使得严格证明系统没有死锁变得容易的操作系统。可惜戴爷爷任职的系不识货,还强行解散了他的研究小组(1972年戴爷爷给他的系主任说他得了图灵奖,系主任的第一反应是你们搞计算机就喜欢乱发奖)。这让戴爷爷相当郁闷,得了抑郁症。在极度郁闷之中,戴爷爷决定用写作来治疗自己的抑郁症。于是经典就诞生乐:Notes on Structured Programming。戴爷爷从此被尊为结构化编程的奠基人,而且他的抑郁症也被治好乐。EWD太牛,结果他的故事也太多。先到这里吧。1973起,他的故事就在美国发生了。

    心目中的编程高手 (9)

     Anders_Hejlsberg   Anders Hejlsberg,微软.NET的首席架构师,编程语言设计和实现的顶尖高手。他一手做出了Turbo Pascal,也是Delphi, J++(尤其是WFC),C#和.NET的主要作者。这些作品的名字足以为他立传。作为一个程序员,我在这样的大师面前实在无语。生子当如Anders的说。李维的《Borland传奇》里已详细讲述了Anders的传奇故事,我就不用费舌了:http://java.mblogger.cn/iexploiter/posts/1505.aspx。Artima上有Anders谈C#的系列访谈。MSDN上有一段Anders导游的录像。有兴趣可以去看看牛人的丰采。

    June 18

    Sleepless in Seattle

     
    疲惫不堪地关掉了remote desktop的窗口,努力使自己遗忘明天要处理的一堆事。
     
    直属的manager又要换了,一年时间,我换了两茬manager,组里有5个senior member离开(Danny, Koji, Yaron, Bill, 然后这次是Jon),都是和我最熟悉也私下里最关照我的人。也许,今年底我也真的该离开了。有人说都给你一个Gold Star了,你还吵吵什么。Well, Gold Star是我用心血拼来的,这和我是否快乐无关。
     
    昨天晚上翻看《文化苦旅》(大家喜不喜欢余秋雨是一回事,但这本书确实很好),看到《西湖梦》一篇,于是便止不住对杭州的想念。今年夏天是不可能了,可终会有一天,应该可以在这个季节的夜晚拿一本好书,施施然地坐在哪个hostel的课堂间里,泡一夜的茶看一宿的书听一晚的蝉鸣枕一季的西湖。
     
    疏影横斜水清浅,暗香浮动夜黄昏。怡然之乐,如此而已。
     
    我一直不懂自己为何如此溺爱这个城市。高二那年去桐庐回来仅仅在西湖边停留了2小时,我便从此无可救药地喜欢上了这个地方。那时只是在柳岸闻莺那边胡乱走了一通,周围的同学吵吵的,而我却奇怪地被这个地方的气息所吸引,努力地纵容自己的末梢去联络空气中那无名状的感动。
     
    若是我从小便长在杭州,还会有这般的感情么?
     
    想找人说说,但偌大一间屋子就是我一个。于是又想到若是在上海,这便方便的多,最不济,也可以一个电话过去把星星邀出来喝茶聊天,笑。
     
    好了,先睡吧。明天的事自然在明天去一件件应对。有时,未必一定要热血沸腾地高呼,记忆中一点温暖的内容也可以让自己安心下来,忘记现实中的烦恼。
     
    岂能尽如人意,但求问心无愧。
     
     
    June 11

    Passion

     
    That reminds me of something.  The first time I gave my bbpack to Bill for code review, he rewrote 75% of my code.  I still remember the one comment he made.  He said: "When 2 years from now, someone looks at this piece of code, I want him to think that it is the God that wrote this."  I have improved significantly during the time Bill was the Dev Lead because I always had the fear that Bill would be the one that reviews my work.
     
    Since Bill left the team, I have been taking on much more responsibilities outside just coding.  And the passion of writing robust and elegant code has been fading away in the mist of other things.  I guess I am too caught up with the fancy things like project planning, development schedules, scrum meetings, etc.  Today as I was looking at some of the recent code I produced, I was very much disgusted with how they turned out.  I suddenly realized that the key difference between a star programmer and an average programmer is not that how many languages he can work with or how many technologies he knows about.  The key differentiator is how much he understands about the principle of software programming and how much passion he has to push his work to the limit of perfection.
     
    After all, I am a programmer.  If I cannot write decent code, it is meaningless to talk about all these high-level things.  It is like talking about how to spin out a drift when having trouble to do a parallel parking.  You never have your car parked safely and you get killed when the first time you attempt a drift.
    June 09

    挨了大半夜

     
    心中一口恶气终于散了。
     
    可以安心睡觉了。明天继续上班去也。
     
    亲爱的code们,我已经想好怎么写你们了。
     
     
    June 05

    虚伪的生命关怀

     
    13年前阪神地震的时候是这些人在叫日本鬼子死得好,9年前921地震的时候是这些人在叫台独分子死得好,7年前911恐怖袭击的时候是这些人在叫美帝国主义死得好,4年前东南亚海啸的时候是这些人在叫印尼反华分子死得好。现在又是这些人在叫19年前政府杀得好。
     
    然后他们今天捣鼓一个企业捐款排名,明天指责某某人捐20万不够。今天要抵制这个,明天要封杀那个。满口仁义道德,张嘴就是“操XX”,“干XX”之类的污言秽语。他们在网络这个大暗室里搞得不亦乐乎,然后觉得自己很伟大为灾区献了爱心帮了大忙了。
     
    每当有人质问他们有多少是真的生命关怀,有多少是出于空虚的自我表达的需要时,他们就跳将起来指着别人鼻子骂:你这个卖国贼或你这个民族败类。
     
    这种虚伪的生命关怀让人毛骨悚然。在四川死于地震的,他们要用以表达自己的爱国情操和人性光芒。在纽约死于恐怖袭击的,他们要叫好说这是美帝国主义多行不义的业报,甚至还要为恐怖分子唱唱赞歌。而其余死于接连不断煤矿事故的死于豆腐渣学校偷工减料的,则是无法承载他们的抱负和观点,所以可以不关怀。
     
    这些人不遗余力地抨击美国对伊拉克的入侵,为死于战火的伊拉克平民为帝国主义的暴行义愤填膺。回过头来,他们高喊“打到台湾去”,那时候出动多少飞机死伤多少平民都是不重要的。关键是死于帝国主义之手的平民值得他们悲愤,死于恐怖主义的平民是咎由自取,而死于“爱国主义”的平民则是不值一提。
     
    所谓虚伪,再找不到比这更好的例子。
     
    ========================================================================================
     
    关于6.4,就不想说了,如果你有兴趣,可以看看这个,里面有我最近看到的两篇文章,还有我和好朋友Xuan的一段对话。
     
    另:我对政治不像很多人想象的那样感兴趣,我其实更关心的是June的Development schedule还应该包括些什么。
     
    June 04

    May 30, Rattlesnake Ledge, East Peak hike

     
    因为poker比赛的关系,这才是今年第一次的hike。Jessie今天才寄来那天拍的照片,我正好忙得不行,就不写什么具体的了。
     
    本来只打算走那个简单的到Rattlesnake Ledge的路线的,后来大家都很踊跃,就决定走比较长的到East Peak的路线。后半段的雪地不错,不过上面的view实在没什么,倒是Ledge那边的好些。总共8.8 miles吧,elevation? 2600, 2700的样子。
     
     
    注意到照片里除了四个人以外还有什么了么?那可不是PS上去的,: )
     
     
    Pic 061
    June 02

    意外的感想

     
    《战争与回忆》读到了第8章。罗达.亨利和巴穆.柯比在旅馆幽会完了后给她丈夫去了一封信,就像一个平常的战时军官家属那样唠唠叨叨了一通家里的事然后附带告诉在前线的丈夫自己如何如何爱他。“写好了这封信,信里的每一句都是她的真心话,罗达就熄了灯,象一个问心无愧的人那样睡熟了。”
     
    1. 做一件错事
    2. 用冠冕但未必真实的理由向别人解释这件错事
    3. 在解释的时候努力使自己相信自己说得都是真心话
    4. Feel good about oneself
     
    这就是生活中虚伪的一般行为模式。
     
    这样的认识让我心生寒意,因为我发现自己时常如此。
     
    我想我应该对那些能特立独行的人保持敬意,不论我是否赞同他们的生活方式,因为他们做到了一部分我时常做不到的事情。
     
    而如何让自己时时避免虚伪的盒子却是更困难的问题。
     
    ===============================================================
     
    另:
     
    多谢JJ在msn上的帮忙。我的SQL实在太差了,一个dimension table upsert的sproc就写得这么费劲。关键是一点感觉也没有。我觉得很惭愧......