Monthly Archives: May 2008

著名书店和《九故事》

  1. 刚刚把Firefox升级到3.0 rc1试用一下,速度提升很明显,尤其是在Gmail这样JS代码很重的应用上。很多界面改进也很贴心。不过目前有些重要插件还不兼容,比如Google Gears和gladder。预计final版推出,就会解决。

     

  2. 向小秀推荐《布鲁克林的荒唐事》,他决定找来读一读,投桃报李,他又向我推荐正在读的《九故事》,这是塞林格在《麦田守望者》之后出版的第二本书。最初没听清名字,在豆瓣搜索,错找到了情色电影《9 songs》。昨天回家路上到光合作用买,照例在轻轨上读完第一篇,没太看明白,不过叙事很流畅,今天宅在家里把它读完。
  3. 刚刚注意到,小秀他们几个主要通过图书馆借书。挣工资好处就在于买书没有经济压力。记得本科时,不得不限制每月购书费用上限;而每次做软件项目打工挣来零花钱,除了连续N天请朋友们暴饮暴食涮羊肉,就是去西单图书大厦或海淀图书城大摞大摞往回搬(当然追女孩子的阶段是不同的);每到新学期,总得挑些书送人或扔掉,腾出柜子空间放课本。

     

  4. Gunshy豆瓣上搜集世界知名书店的照片,简直是梦幻,发誓这辈子一定要去一次。特此记录。

     

葡萄牙波尔图,莱罗书店

葡萄牙波尔图,莱罗书店

阿根廷布宜诺斯艾利斯,雅典人书店

阿根廷布宜诺斯艾利斯,雅典人书店

荷兰马斯特里赫特,教堂书店

荷兰马斯特里赫特,教堂书店

Google App Engine开放了

  好消息是,登录Google App Engine后,终于不再显示请等待审批的提示。开通帐号需要手机短信确认。

  坏消息是,兴冲冲建立第一个应用时,发现joyfire、我自己的姓名、pBuild和pLabel这些标识都已被抢了,我只抢回了pFind。哇啦哇啦。

  说到这个,感觉第二次网络创业热潮开始降温了。之前一两年,总有域名中介联系我,希望购买lehuo.comlehuo.net系列,单域名价格最高谈到三万。但是从今年春节以后,我就没有再接到这种电话了。看样子机会真来了,追求财务自由的虫子们,准备逢低吸纳

《布鲁克林的荒唐事》和《费城风云》

  开发进度比较顺利,不过没啥可记录的,全都是测试、代码审核和重构,繁杂琐碎的细节。我今天刚发邮件,把pFind 2.1 Beta1里程碑推迟到6月15日。

  今天到五道口“光合作用”买了保罗·奥斯特的《布鲁克林的荒唐事》易中天的《费城风云》。回来的轻轨上读完了前者的前两章,没走眼,是好书。(补:又搜索了一下,发现mindmeters上有一篇值得推荐的书评

    

  春节开始积累的购书小票总算到了500元,换来一张会员卡。除了买书打折,还可以在“光合作用”里的小咖啡馆获得优惠,任何咖啡买一送一。上次去还是年前的事。以后可以多找机会躲进去看书。其实无论“第三极”、“中关村图书大厦”、“海淀图书城”、“单向街”还是“光合作用”,即使有会员卡,打折幅度都不会比网上多。只不过,在密集的书架里淘书,喝着咖啡看刚买的新书,时时抬眼偷瞅旁边的mm,体验不同,更让人平静放松。

  交款时遇到一个法国大美女,想找人帮忙推荐“和孔夫子有关的书”,收款员mm居然找出两本中法文对照的鲁迅来。#@$%,汗,也算有关吧,里面有批判封建礼教的杂文。光合作用很多员工是勤工俭学的大学生吧,口语不错,总喜欢捉弄那些汉语磕磕绊绊,局促不安的老外。

哈利·波特

  现在看到了《火焰杯》,打算今天回去买《混血王子》。

  总是更喜欢性格怪异一点的角色。比如《哈利·波特》里的Luna LovegoodSeverus Snape,《老友记》里的Phebe、《银英传》里的奥贝斯坦和罗严塔尔……

  说到有个性,前两天外祖父的老战友去世借这个机会缅怀外祖父

准备拽着2.1怪兽出去吓人

  刚刚改进了pFind 2.0的N端可变修饰生成的递归部分的代码,发布2.0.003补丁。

  五月份主要工作就是用pFind 2.0和pFind 2.1(流程2)进行大规模的伴随测试。经过对答案,两者都修正了不少BUG。pFind 2.1 Alpha 2估计会于下周一19日发布。我们会带着2.1去用户那里进行Beta测试,这比原计划提前了将近10天。

  fy领导的pFind M版也有进展,M是面向未来的版本,已经实现了对ETD的支持,多母离子窗口等梦幻特性。马上就要展开M版和2.1版(流程1 )伴随测试。

  按照计划,6月发布pFind 2.1 Beta 1。到7月底,在至少两家生物实验室完成Beta测试,8月8日,正式发布pFind 2.1的final release,“奥运献礼版”。另外,pFind 2.2也会很快着手,预计在12月1日发布,这就是这么多年传说中的集群版。

  最近压力很重,hchi昨天请病假,我还一直欠着pLabel和pScan的设计审阅和双人编程没空展开。不过也很有成就感,pFind 2.0陪着pFind 2.1跑了接近百万张质谱数据,每张谱、每个候选肽、每个打分、每个EV值……一直精确到小数点后五位,确保完全一样。有一次,18万张谱里只有1张不同,结果是1.000007对0.999998,但是hchi穷追猛打,一口气追下去,最终修正了一个很隐秘的BUG。

  pFind 2.1 Alpha2 目前还没有界面,8万行C++代码;pFind 2.0经过大规模整理删除,11万行C++代码;正在彻底重写的pLabel 2万行C++;等待大规模重构的pBuild,2万5千行C++;pScan接近1万行C++。这些代码都是在将近18个月里完成的。

  接下来这个夏天,拽着2.1怪兽出去吓人,把Mascot打得满地找牙。

希望震区平安

  昨天捐款时,听说北京各献血点都排很长的队。今天早上,由于血库容量已满,不再接受无偿献血。

  我的家乡甘肃,是除四川以外伤亡人数最多的省区。陇南地区在地震中受到重创。

  希望所有受困和受伤的人平安,感谢所有提供帮助的人。

  最后一条短信。

  Dead was she, when the rescue team found her, overwhelmed by the landslide from crushed house. Through a gap of a pile of rubble, her position can be seen, kneeled down, entire upper body creeping with support from two arms pushing from ground, as in worship on bended knees. But the body was deformed by the pressure, somewhat looked weird. Rescue personnel reaching into the gap of the ruins has confirmed she had died. They still called toward inside, and hammered on the bricks, but no response. When people moved to the next building, the rescue team leader suddenly ran back, while shouting “come over here fast”. He once again came to her, searching underneath the body. “somebody, a baby, still alive” shouted he. After some effort, ruins were carefully removed, exploring her baby son, wrapped in a little red sheet dotted with yellow flowers. Only 3, 4 month-old, the baby is intact and still sleeping, thanks to the protection from his mom. He slept in the face of all the people at the very warm scene. Doctors found a cellphone inside the sheet, when they were about to inspect the baby. Found on the screen is an already-written message “Dear baby, if you can live along, don’t forget that I love you”.
  

刚刚发生了地震

  我在北京生命科学园。10分钟前有明显震感。

  在实验台旁看lz做实验,旁边同事说电子天平无法调平,总在跳,lz教她:去掉手套,用手掌放掉静电;另一个mm在液相前面配置设备,突然后退两步,问她怎么了,她说突然头晕站不稳,怀疑不慎吸入了甲醛……

冰激淋和B/S结构

  大一在jiuqi打工,喜欢带着冰激凌去找oyy,总架构师,他的屋里有舒服的空调和沙发。oyy爱吃冰激凌,但没几个人知道,大概是因为喝咖啡才符合程序员的职业形象。oyy很和 气,所以我经常在沙发上放肆地手舞足蹈。(曾经竭力模仿身边的职业程序员:昼夜颠倒,喝很浓的不加糖的咖啡,染红色的头发,甚至一边点鼠标一边心不在焉抓 起杯子喝水的神态……直到有一天发现oyy偷偷去买冰激凌,哈哈)

  当时刚学会CGI和ASP,觉得会有越来越多的软件采用WEB方式。身边的朋友说不明白,决定有机会问问oyy的看法。可是没说两句,老板闯进来,把我客气地轰出去:总架构师应该做些更重要的事。临走oyy说“有意思,但我猜不会很快变成主流”。

  跑到身份不符的地方胡闹,被老板当胸抓住,还有什么话好说,回工位老老实实写我的ETL代码,这才对得起薪水。

  没过多久,在展会上见到用友的新一代ERP,完全使用Web UI,宣传手册里有个新鲜的名词叫B/S结构。

Google App Engine视频

  Google App Engine不顾俺三番五次申请,就是不给试用帐号。郁闷呀。

  这里有一段视频,演示了简单的Google App Engine开发步骤。尤其是用GQL调用传说中的MapReduce海量分布式存储,看得俺直掉口水。趋势不可逆转,很快多数软件都会以ASP(Application Service Provider)方式提供服务。我很想知道微软首席架构师Ray Ozzie看到这东西是什么感觉。

  按一般观点,类似俺们pFind这种计算密集型应用,核心模块必须使用C/C++ API,否则慢得难以忍受。然而,一旦基础架构的分布式规模达到Google所谓的“云计算”这种级别,就算有几十万张谱,也可以充分地分而治之,被分解到巨大的PC Farm里,让集群节点一对一PK,甚至进一步按蛋白数据库再细分任务。这种情况下,即使单个节点的线性效率稍差,也可以接受,可能用Python就够了(对比:按我们现在的经验,没经过精心优化的Matlab代码鉴定一张质谱大约5分钟,当然可以进一步采用各种优化加速手段,例如psyco)。到时候,最主要的速度限制也许就来自网络带宽,上传多少即时鉴定多少。

  未来某天的软件创业故事:逃课的小孩在大学宿舍里编写了一款网路游戏(比如,也许是跑在iPhone或Android上的多人联机MMORPG),上传到Google App Engine,再到常去的论坛发个帖子,邀请大家来试玩,结果这个游戏一炮而红,Google和中国电信作为基础服务提供商,对利润进行分成。这个故事不会很快变成现实,但是也不会很慢,技术演化总是被低估。

出色的软件工程师什么样?

  最近一期《程序员》开头有篇关于招聘的经验,第一条要求就是“对技术细节有激情”,赞同。其实也是老生常谈了。记得还看过一篇国外文章,提到很多网络创业失败的原因在于,发起者是不了解网络和软件技术的商人,没有接触过优秀的职业软件工程师,甚至根本不知道出色的程序员和架构师应该是什么样。他们仅仅想找人把自己的idea实现出来,这就注定招到的人没有判断和反馈能力。Google的招聘邮件说,“技术天才是喜欢扎堆的物种,别让哪怕一个二流货色混进你的团队”。

  类似的事,我们身边每天都在重复上演。作为老牌“人贩子”,我从大学二年级开始参与各种推荐、面试和考核。总见到招聘者出于各种原因(比如资金、关系、性格、印象、说辞)选择了不合适的人,给未来挖下大坑。

  《程序员》还有一篇MMORPG架构师的文章,里面提到“赞成某位同行的单线程多进程思路”,一看就知道说的是云风。文章提到“分布式对象系统VS自定义协议”的选择问题,不过他坚持认为,分布式对象系统是更好的选择,专门提到了ice。也许他参加了SDChina2.0,搞不好,我问云风为什么不考虑ice时,他也在场。

  一直感觉我和云风很像:年龄、经历、爱好和技术观点。云风刚发了一系列回忆职业生涯的BLOG,看了以后这种“相像感”更强了(这个,往牛人身上硬扯,实在有点傻)。“没有哪个程序员的代码一开始就能写的成熟稳健,我们都经过幼稚的年代”。选择太多,很多人无法坚持工程技术的积累,过早改变了职业生涯的方向。狐狸和刺猬最终谁会赢?