头晕和踢踏舞

  最近我把pFind搜索引擎的并行版逐步由传统“单Master/多Slave”模式向多Master的机制重构,Master的模式很接近 MapReduce。这是为了提高千核CPU并行下的I/O效率。两周前又着手准备pFind Studio 2.4的发布。累坏了。上周六开始偏头痛,周一凌晨甚至从梦里疼醒过来,早上10点才爬起来。这几天脑袋一直晕晕的。硬扛。

  经过周扒皮对长工们的剥削,pFind Studio 2.4的Bug逐渐消失。明天Release Candidate版,最后征集意见。

  从昨天开始抓住瓶子双人编程,在集群跟同步异步消息反复纠结。今天下午结果终于对齐了。神清气爽,头也不晕了。晚上回来还停不下来,继续敲键盘重构代码。

  (原来MPI也提供像MPI_Reduce这样的机制,和Hadoop比起来编程细节繁琐些,运行效率还不错,就是老土一点。)

  最近一两年和人打交道比机器多,从Code里体会到的乐趣也没有高中时代写游戏、大学时代hack美女上网密码那么high了。不过我还是喜欢编程,还是为“软件工程师”的称号而骄傲。巴菲特说,只给那些每天跳着踢踏舞去上班的人投资。愿老天保佑俺们和俺们喜欢的工作吧。

流水2010.05.05

  RCM把我论文的Proof发过来,刚浏览了一遍,打算明天早上再动手写邮件回信。上来敲点流水帐。

  先八卦一句,Silverlight和.NET负责人在BLOG里宣布跳槽去Google了,MS又得郁闷。貌似从来就没人相信Silverlight会打败Flash。不过最近Google、MS、Apple几个巨头力挺的HTML5和H.264,倒真抢了不少Flash的风头。

  5月15日pFind Studio 2.4正式发布,其中pBuild和pLabel都有巨大变化,更重要的是,这一次Win32单机版会在pFind官方网站上提供免费下载。所以最近都在忙测试和修正Bug。目前BugFree里还有接近20个Bug没改完,压力。不过兄弟们战斗力很强悍,俺还好,还没到砸车吃纸的地步。

  还在抽时间重构pFind引擎的并行版,希望提高在千核集群上的I/O效率。今天倒是跑通了,可结果还没对齐。

  最近临睡前都要读一段《奇鸟行状录》,感觉好多文字很亲切。今晚下班后去光合作用逛。买到了阿兰·德波顿的《哲学的慰藉》《工作颂歌》,许知远的《祖国的陌生人》,翁贝托·埃科的《玫瑰的名字》

      

这帮悲剧的RCM编辑

  刚收到RCM邮件,让我们确认最后排版proofs。这帮悲剧的编辑,又一次弄错,把别人的文章发给我了。俺发邮件过去问,回答说搞错了。总说有些中国科学家不靠谱,看来欧美的也未必能做到100%严谨。

  这论文历程就是一部高潮迭起的悲喜剧呀。像《岁月神偷》里说的,一步难,一步佳。反正,不到最后平平安安公开发表,俺是睡不踏实了。

朝圣大会里的中国

  昨天Berkshire股东大会(不如说是朝圣大会)刚结束,满网都是帖子了。

  Buffett和Munger两个老爷子的口才还是那么犀利,高盛的官司当然是提问焦点,但关于中国也说了不少。其中对腐败问题、房地产泡沫、华人赌性的点评,真是惊心动魄。

Beta技术沙龙:Go语言

  大半年折腾,好久没参加啥公共场合的活动了。这期的Beta技术沙龙Googol LeeGo语言,所以一定要去参加。

  Googol Lee讲得很清晰,我就不重复具体内容了,视频和ppt会很快放出来。与并发编程有关的goroutine和channel部分最吸引我,听到兴奋处,不禁抓耳挠腮胡思乱想,居然比较起goroutine和CUDA block的异同来了。

  Q&A环节,我问了个关于多语言粘合的问题。Go语言支持C的粘合,也就意味着支持与大多数语言相互调用。实际想问的是,有没有混合编程的成熟案例,不过Go推出不长。有个外国工程师(普通话真流利)问Go语言自带的Web app framework如何,Googol Lee认为架构和风格上很接近django

  参加沙龙的lvscar用Go语言和HTML5 websocket开发了一个实时web的demo。他拿上来show了一把。果然很酷。以前对HTML5没深入玩过,websocket果然比AJAX顺眼多了。lvscar认为随着HTML5的推广,实时交互的web应用成为主流,Go语言非常适合开发这种维护对话上下文的重负载Http Server端。

  现在看来,相对D语言,Go更有希望继承C/C++的衣钵,成为下一代主流“硬核”(系统级语言)。从设计哲学上来说,D语言很像“更好的C++”,而Go的负责人是Ken Thompson,风格简洁明快,有很多C的痕迹,例如OO with struct。

  搜索了一下,GNU刚宣布允许gccgo增加到gcc主分支,计划在GCC4.5之后的版本中体现。也就是说将来Go语言将是Linux和MinGW的标配。

  八卦1:看到霍炬,嗯,听说在上海呀。ppt听完就走了。朱朱还怪他不主动和大家多交流呢。

  八卦2:Ken Thompson老爷子是少数几个获得图灵奖的软件工程师(而不是计算机科学家)之一,原因是创造了C语言和UNIX。他投奔Google以后,一举一动都是技术社区的八卦话题。例如最初他没通过Google内部的编程考试,所以无权向源码库提交补丁。再如,有粉丝从google code里搜索到了他提交的补丁,给CREAT加了一个E,弥补了几十年前的遗憾(终于知道很多代码写错这个拼写的源头了)。

列书单.20100421

  在光合作用买到了村上春树的《奇鸟行状录》(好厚的一本),还有刘瑜的《民主的细节》

  

  按说最近应该清闲点,却莫名其妙地陷到debug里去了。看到西乔刚刚发表的漫画,说得就是俺呀!zhw说,每种职业都会形成条件反射。我总是推测周围一切自动机器(例如电梯、红绿灯)的编码逻辑,她只要看到带字的(例如电线杆上的小广告)就想寻找法律漏洞。新版的拧螺丝的卓别林

Ru27机器人穿越大西洋

  在回家地铁上浏览3月10日这一期的IEEE Spectrum杂志。目录之后的Back Story名为“They all live for a Yellow Submarine”。翻到相关正文,详细介绍了新泽西州立大学研制的Ru27机器人历时221天穿越大西洋的实验。回来Google到了华盛顿邮报上的新闻维基百科直播实验进展的twitter,翻译共享些好玩的内容。

  Ru27机器人(昵称是Scarlet Knight)外表不起眼,看似带翅膀的鱼雷。但这家伙没有螺旋桨,像鱼一样游动:浮力泵吸入海水,头部下沉,吐出海水,头部上浮,同时“鱼翅”上下摆动。这种独特的仿生学驱动方式非常省电,所以它能在7个多月里仅依靠电池,从美国一直游到西班牙。考虑到Ru27过一段时间,就要浮出水面,通过卫星报告位置,发回海水温度、盐浓度等科研数据,利用GPS校准方向……其能源效率的确很高。

  一些有趣的数字:

  • Ru27的“肺”(浮力泵)总共“呼吸”了22,000次,和“家里”联系了上千次(科学家说,就像等待上大学的女儿周末来电话),传输了16MB数据(数据不多,但是很珍贵,上浮到海面很耗费能源,也比较危险)
  • 每年圣诞节,洛克菲勒大厦都有一棵巨大的圣诞树,2007年前,其彩灯每天耗电大约3,510千瓦时。Ru27穿越大西洋用的能源,大概够这棵圣诞树亮上3分钟。2007年以后,圣诞树开始用节能LED光源,所以能多撑一会儿:8.1分钟。

  这是IEEE Spectrum采访录音和照片:

笨功夫和气场

  这几天都是很晚回家。加班很累。随便敲几句不知所云的。

  推进每日构建(Daily Build)和持续集成(Continuous Integration),每天搞一点:建立Trace机制、替代ACE库、升级GCC、剥离SVN版本分支、实现自动check out/make/make install脚本、调研Unit Test框架、选定集成测试数据集……

  人人都很忙,都有关键的deadline。你再逼大伙儿去执行看似傻乎乎的没有即时回报的软件工程,肯定有压力。只要自己动摇,事情就搞不成。

  《道德经》说“以正治国,以奇用兵,以无事取天下”。所谓不可替代的核心竞争优势,大多是笨功夫积累出来的平台效应。没什么秘笈,较真而已。肯不肯躬身入局挺膺负责,死磕出一个好软件产品?想清楚了,心态放平和慢慢来,自会逐渐形成与众不同的气场。

pFind并行版论文接收了!

  终于收到编辑的邮件:

  It is a pleasure to accept your manuscript entitled “An efficient parallelization of phosphorylated peptide and protein identification” in its current form for publication in Rapid Communications in Mass Spectrometry.

  从08年10月开始编写pFind集群版,到如今论文发表,好长好累的一段路。这是我从最低潮逐渐挣扎出来的一年半。所以,尽管同样是反复修改30稿,同样是RCMS英文期刊,这次比07年那篇论文,份量重了好多。如今扛过来了,自信暴涨。编辑邮件说:“thanks for your patience
as we worked to improve the manuscript”;不太轻易表扬人的BOSS H邮件说:“值得钦佩。我欣赏目标高远之人”。尽管人家是客气,我照单全收,哈。

  乌龟在兔子后面慢慢爬,感谢不离不弃的后援团。头一个就是老娘。向粉丝们报告一下老太太近况:1月1日飞去海南玩,上个月去上海看京剧(上火车当天上午,去UME看了IMAX《阿凡达》),本月在玩WII游戏,去钱柜唱K,参观城市雕塑展,到798看小剧场电影,最近忙着组织朋友去欧洲旅行(本来打算去非洲看动物大迁移,被胆小的儿子苦劝阻止),还刚去了中关村逛,准备买台新电脑(屋子里已经4台了)接到液晶电视上看高清Big Bang……

刺猬的两个偶像

  上一辈经历坎坷,上山下乡折腾,但老妈说,“每个人都有自己的精彩故事”。而我们以及更小的一代,吃全世界小孩都吃的KFC,看全世界小孩都看的Big Bang,玩全世界小孩都玩的星际2试用版,抢全世界小孩都抢的工作职位……这是前N代华人没有的幸福,也是一种致命的压力。对俺们来说,最重大课题就是必须搞清楚“我是谁,和其他人有啥不同”。

  马齿渐长,过了三十岁,同辈的朋友开始变:找到自己使命的,都安静下来不再焦虑了。

  说说俺的两个偶像:

  当初yang姐因某知名外企不准穿牛仔裤上班,愤而鄙视之,转投去了Google。每隔一段时间再联系,她总有成长。最近虽然公司卷在漩涡里,但yang姐嫁了人(恭喜,怨念),还支起了自己的iPod/iPhone软件生意,个人气场持续稳步增强。

  wl在2002年本科一毕业就果断买房,薪水减去房贷只剩几百块吃饭了。那时候班上其他同学根本没这根弦。反而到去年经济危机最厉害的阶段,他却卖掉了房子和汽车,开张了自己的女鞋买卖。现在也是做几十万流水的人了。

  我一向迟钝。yang姐提她的软件和Google AdWords时,Object-C还不像如今这么红得发紫;wl讲解女性消费,俺只能勉强跟得上。嗅觉灵敏的强人永远走在平庸之辈前面,悲剧呀。

  也好。连岳在一次访谈里讲:“我很晚熟,三十岁才差不多成熟”。这话给我不少信心。做不了狐狸,就老老实实做一只好刺猬吧。(也许是鸵鸟?哈)