十年码工路——汤森路透的短暂停留

毕业之后的9年中,我一直在Linux/Unix系统上做开发,而在路透所做的项目是在Windows平台上做并发系统。对我来说,也是一个不小的挑战。

我面试的时候觉得路透的工作环境还是不错的,工位虽然比Sun的小了很多,但是应该比IBM的要宽敞 :) 等我入职的时候才发现,IT环境却不是我的预期。例如,我没有本机的管理员权限,好在我可以安装cygwin,可以安装一些gnu的software,可以忍;不过,我的笔记本只有1G内存,这个的确有点那个了,经常要对运行的程序精打细算。原本想和IT申请自己买内存加的,但是因为IT是外包给富士通的,IT说公司条例不允许私加内存,而且他们也不负责给加。没办法了… 不过后来新来的同事基本上已经都配备2G或者4G内存了,我赶上那一波儿了。

很多人知道我去了路透,都问我是不是转行做记者了。其实我也是在面试前才了解到,路透社是汤森路透下的一个部门,公司的主要业务是信息服务,包括金融、法律、科技等方面。新闻部门在整个公司的营收中,只占很小的比例。我加入的这个团队是一个很新的团队,其中只有三位比较资深的同事,另外7人(包括我们的一线经理),都是新加入的。而我们team负责的开发项目,进度还比较紧。所以,前半年的工作任务是比较紧张的,不过心里倒是很充实 :)

我本来设想,去路透可以学习一些金融方面的知识。然而在路透的1年时间里,却始终没有充足的动力去学习;另外,我渐渐发现,程序员在路透需要了解很多的domain knowledge,才可能有比较好的职业发展。但是我却一直对这些domain knowledge提不起兴趣,学习起来很被动,自己还是喜欢钻研技术多一些。

再后来,我原来所在Sun的部门(现在是在Oracle),有一个机会。因为这个职位是一个team lead的职位,而我也希望能在management方面多一些锻炼,希望将来能有一些发展的机会。虽然回来在经济上还小有损失,考虑再三,还是决定回原来的部门了。

感谢路透的同事们,这一年多来对我的关照和帮助,我在路透学习了很多并发编程方面的知识,也开始学习使用了许多TR1的库。在我离职的前夕,部门刚刚要开始采用VC10,也就是说可以玩C++0x了。对一个于金融方面有兴趣的C++程序员来说,路透的确是一个很好的选择。

黄山游小记

跟随老婆单位同事组织的黄山游,4天3夜,加来去两晚的卧铺。

周五夜里的火车,硬卧上铺,空调风力太足,吹得我头痛不已。龟缩在被子里,蒙头浅睡了一夜。周六早起到合肥,有小雨,很冷。用罢早餐,乘事先联络好的旅游巴士,出合肥奔黄山方向。至汤口用午饭,然后驱车到西递参观。西递的很多牌楼和古籍,在文革时被破坏的很严重 ... 傍晚到宏村入住在农家,吃农家菜。住宿条件很幽静,有热水可洗澡 ...

第二天早起参观宏村,已经有了在西递屋檐累累的熏染,宏村的阁楼不再那么令人兴奋,但风景仍然十分迷人。

短短2小时之后,乘车去黄山。至黄山,乘中转巴士,到紫光阁。我们这一队老弱病残的同学,坐缆车上山。然后循大众路线至白云宾馆入住。中途路过迎客松,有点失望。且山中雾气弥漫,只偶尔露了几片蓝天。不过宾馆的条件比预期好得多。夜里各路人马汇合于宾馆,研讨分组路线,我和老婆第二天去挑战一个比较有难度的路线。晚上观摩了两局三国杀 ...

第三天经光明顶,去北海看云海。8点钟至光明顶时,远眺云海很是壮观。遗憾的是,约1小时后,到达最佳观赏地,猴子观海时,已经消散了大半,很是遗憾。然后经排云亭,下西海大峡谷。经过4个小时的停停走走,终于回到了白云宾馆。因体力不支,没有继续随队去丹霞峰去看日落。晚上玩了两把三国杀。和另一队人马,相约隔天早起去看日出 ...

第四天3:45起床,4点多一些到达光明顶时,观赏日出的各个据点已经人满为患了。辗转爬上悬崖边上的一大块岩石,脚下即是深渊。我爬上去之后,本已显得拥挤的岩顶,陆续又爬上来4个人,其中包括3位女士和一个老外。大家为了拍摄日出,真的是置生死于度外了。本来还想再去北海看云海,不过从光明顶看过去,当天是不会有云海现身了。于是回宾馆睡了个回笼觉。早上9点多和老婆再次经光明顶,至云古索道下山。中午随便在景区外吃了点饭,然后回合肥。到合肥吃了顿丰盛的晚饭,然后乘夜里的火车返京。

第五天早起到京,回到家洗了个澡,然后就去单位上班了 ...

十年码工路——太阳下成长

2003年10月8日,国庆节后的第一个工作日,我来Sun中国工程研究院的北京国际化中心报到。我至今仍然十分感激当时的老板Scott,记得当初他面试我的时候,问我如果加入Sun有什么职业上的规划,我回答说“听闻Sun公司内部有transfer制度,员工可以在工作一定时间之后选择其他方向发展,如果有机会,我希望一两年后能transfer到浏览器组去做开发”。很感谢Scott,在听到我这么“二”的回答之后,还是给了我机会。

到Sun之后,第一个项目是接手Evolution的本地化和国际化,作为Evolution l10n/i18n项目的central engineer,要参与各种的项目会议,这对我来说的确是一个很大的挑战。我当初英文很差(当然现在也不好),很不习惯在电话里听别人说英文,口语的表达能力也很差。着实适应了一段时间。l10n/i18n的bug fixes有的可以很简单,有的则需要深入到程序内部,特别是有很多和输入、输出、DnD相关的问题,通常都很棘手。后来工作范围也扩展到了gnome上的l10n/i18n。为了管理测试用例和记录测试结果,学用Struts写了套很简陋的测试用例管理系统,不过因为其他site已经有同事写了一套类似的系统,而遭废弃。

04年6月份,有机会和同事(Gavin)到美国rotation两个月。我第一次坐飞机就是10多个小时的长途飞行,结果到了旧金山后发现无人接机。后来发现是同事把时差搞错了,告诉美国同事的接机时间,是当地的第二天。我们只好自己准备摸到公司租的公寓去。一路上先是坐Bart,然后坐Caltrain,好像当天Caltrain还因为是什么节日而免费,然后坐light-rail,最后坐bus,终于到了公寓附近。然后给国内的同事打电话,争取联系到接机的同事,恰好这位同事周末在单位加班,否则我们只有去办公室睡沙发了。我和Gavin都是穷苦孩子,过的很节省,都是自己做饭。一天两顿饭,晚上做好的菜,拨出一半留着明天中午带饭吃。两个月1000美元的补助(房租是公司付的),我买了100多美元的书,100多美元的化妆品(给老婆的),还老人家带了若干维生素,最后回国的时候,还剩了80美元的现金。美国的同事打趣说,500美元一个月的补助还是多了…

那段时间,我的同事张磊博士在独立开发一个基于统计语言模型的输入法,也就是今天的SunPinyin。我一下子就着了迷,找了很多NLP相关的论文和书来看。憧憬着有一天能够投入到这个输入法的开发中。后来,因为要弄一些自动测试的东西,又学了些shell脚本,还学了些python,以及pyrex,给python写扩展。业余时间,也翻译(或合译)了一些书,包括《Struts KickStart》,《Mastering JavaServer Faces》,《Agile Java》,《Programming Ruby》等一些技术书籍,对基于Web的企业应用开发也很有兴趣。我的一个最大的缺点就是兴趣太广,泛而不精。有时我很苦恼,有时又乐在其中,没办法了…

后来,Sun逐步削减了在JDS-Linux上的投入,将JDS上的一些开发都转移到Solaris上。我们和日本的一些同事,要负责将IIIMF的新版本(R12),从linux移植回solaris上。我还负责了简体中文、繁体中文、以及欧洲compose输入法的维护工作。这期间还代表公司参与了亚洲输入法标准的讨论和制定工作,结识了CJK许多输入法的开发者,例如James Su、Huang Peng、Wu Peng等等。我为日系和中系两路人马的沟通和交流做了一点点贡献。因为日本方面的主要负责人,Hideki Hiura,曾经是我们国际化部门的资深架构师,他是XIM协议的提出者之一,openi18n.org社区的奠基者。不幸的是,前不久得到他的噩耗,因病逝世了:( 同志们都要注意身体啊…

这个标准工作组最后同意开发一个全新的输入法平台,即imbus。但是由于种种原因,始终停滞不前。后来,我和Huang Peng一起提出了用python+dbus实现输入法平台的初步构想,也就是今天的iBus。很遗憾,我只是提了一个构想,贡献过一些很high-level的design,并没有贡献过什么代码。

后来,张磊同学去我们的宿敌M$做Bing去了 :) 便将SunPinyin的开发和维护工作转交给了我。随着OpenSolaris的开源计划,SunPinyin也一并以CDDL协议开放给了社区。为了吸引更多的开发者加入我们,我写了一系列的blog,介绍SunPinyin内部的实现细节。我的blog也因而经常出现在blogs.sun.com访问量的前60名(尾部)。也因为在博客上的交流,结识了tchaik0v同学。他很热心的帮助我们将SunPinyin从IIIMF移植到了SCIM平台上,现在仍然是SunPinyin社区中最主力的开发人员之一。为了让Linux各发行版能更好的接纳SunPinyin,我又建议和推动了将SunPinyin改为CDDL+LGPLv2的双授权协议(这一协议也沿用至今)。

后来迷上了Apple,买了台MBP。MacOS自带的拼音输入法着实很难用。QIM是收费软件,FIT虽然免费,但也不是很满意,就想能不能把SunPinyin移植到Mac上。随着Leopard的发布,基于IMKit框架开发输入法变得比较轻便和容易了。我花了四天三晚,照着苹果官方的例子,对着obj-c/cocoa的简明教程,将SunPinyin初步移植到了Leopard上。很感谢我的老板,允许我干这么一件看起来和Sun的业务毫无关系的事情。实际上,我们的这个移植还是非常划算的。Mac的用户都是一群完美主义者,给我们提了大量的意见和建议,极大地鞭策和促进了SunPinyin的继续发展。我也因此结识了jjgodLin Zhemingchumsdock等许多好朋友。

因为SunPinyin-1.0架构上的一些局限,要实现一些新特性很困难,因此我就开始了2.0版本的开发。在开发过程中,也把同事Xue Wei给involve进来,帮助我实现了双拼切分和用户词典的功能。直到这时,我仍然时不时地需要去fix一些IIIMF的bug;有时还要做很多RE(Releasing Engineer)的工作;还有其他一些小的项目。这些琐碎的工作有时真得让我感到很沮丧。后来同事帮我做了一个统计,我在Sun的这近6年时间里,周均要fix 1.5个bug,大概是我们北京国际化中心这边入职时间相当的工程师里,最多的一个。

08年的金融危机,成了压在Sun身上的最后一根稻草。Sun被Oracle以74亿美金收购了。一轮又一轮的裁员,部门里的人事和结构的不断变更,HR的一些“作为”,以及对并购后工作方向上的不确定性,让我渐渐有了离开的念头。后来,汤森路透这边有一个机会,是用C++开发高并发的金融应用。我对并发编程一直很有兴趣,虽然很犹豫,最后还是接受了offer。我的老板和二线老板都希望我能留下来,至少等收购完成看一看再说。我的老板们对我都很nice,一直很支持我,如果还没有签offer,我想我真的会选择留下来…

无论从哪方面讲,Sun都是一家伟大的公司,公司的文化非常宽松和开放,给员工的自由度非常大,也非常鼓励员工的创新。我们部门可以全周在家办公,只需要周四到单位碰个面;不定期的有knowledge sharing的session,这个session可以讲任何大家有兴趣的topic,甚至包括摄影、装修、理财等和工作毫无关系的内容。这些都让我们部门成为一个充满家庭般温暖的、紧密团结的大家庭。如果不是因为收购的问题,我真的希望自己能在Sun做到退休…

2009年8月20日,在美国政府批准Oracle收购案的前一天,我从公司离职了。而到今天为止,Sun中国工程研究院还没有合并到Oracle中国研发部门。我所在的那个组,曾经10来个人的team,走得只剩下两个人了…

在Sun的近6年岁月里,我获益良多,这是我从业以来最开心的日子,我将永远铭记在心…

十年码工路——在红旗的日子

大四找工作的时候,本来谈好去北京一家做外包的公司,总工是天大的师兄。后来中科红旗来学校招聘,负责招聘的恰好也是天大的师兄,和实验室的老师相熟,我被推荐了去,因为是做linux方面的开发,而我本身对linux又很感兴趣,所以就定下来去红旗了。当时红旗还没有正式挂牌成立,没有人事权,是中科院与NEC的合资公司恩益禧给我们办理的进京指标。我们是红旗招聘的第一批员工,本人还是公司的第25号员工呢…

00年的6月底,我们几个同学租了一辆大面包车,从学校把计算机、书、行李直接拉到了北京,在巴沟一处平房的集体宿舍中安顿下来。我和一个同学被分配到了嵌入式产品部,我的第一份任务是,分析和优化MicroWindows/Nano-X,以及fltk在Nano-X上的porting。算是对嵌入式GUI系统有了些了解,写了份很详尽的文档,以及一些试验性的代码。后来因为可移植性的考虑,部门逐渐将重心转移到了X11平台,我的任务是修改一个基于fltk的窗口管理器,并为其加入桌面背景/快捷图标、程序菜单等功能。因为窗口管理器很多时候需要和X11的API打交道,而且还要将这些API和fltk本身的事件机制(event loop)结合起来,从中学习了不少。我用了两周,基本完成了主体功能。因为对X11 API使用的比较熟练,等第二年的新员工入职时,还是由我来培训X11编程呢。

我的部门经理觉得我比较好学肯干,在我入职半年的时候,开始让我带一个小的团队(大概4、5个人)负责应用程序的开发;半年间也给我涨了两次工资,从3300涨到了4200左右(具体数字我记不清了)。虽然那个时候,写网站的实习生都可以开出7/8000的价码。刚开始带团队时,我对项目管理一窍不通,最开始我都是自己绞尽脑汁的想,该如何划分任务,按自己的经验来估计每个成员的effort。后来的体会是,项目管理应该是一个,在符合整体利益的前提下、自底向上的过程,应该充分考虑个人的偏好和工作量估计,发挥个人的主观能动性。自己后来也买了许多软件项目管理的书,学习揣摩。

公司刚开始是准备到纳斯达克上市圈钱的,总体的氛围不是很扎实。后来因为有国有资本成份,无法将公司的全部资本转移到某个国外的小岛上借壳上市而搁置。再后来,又赶上2000年底网络经济泡沫的破灭,赴美上市是再无可能了。嵌入式部门前期投入的一些项目,也都因为自身技术积累的欠缺,以及其他的种种原因,遇到了很大的困难,基本都以失败而告终了。后来公司从蓝点请来了MiniGUI的创始人魏永明,执掌嵌入式部门,跟随他也来了几位经验丰富的工程师。那个时期,我也被借调到公司的软件工程过程组(SEPG,因为公司想过CMM2,去揽一些政府或国外的项目),所以暂时也离开了开发一线。

我原本对项目管理只有一个很粗浅的认识,通过在SEPG组的工作、学习,慢慢对项目管理有了一个比较系统的认识。我当时负责的是SPP(软件项目计划)这个KPA,写了很多的文档和模版,可惜后来CMM2的认证计划也不了了之了。其间也粗浅的接触了一些XP,RUP等观念。

从SEPG回到开发团队后,调研了一段时间的组件模型(COM/XPCOM/KParts)。又去调研了一段时间的J2ME/KVM,准备将KVM移植到Qt/Embedded上。这些浅浅的调研,都因为没有项目上的需求,就停掉了。也有一段时间,去帮助浏览器组,改善他们基于Mozilla(最初开源版本)的fltk前端。再后来,老板让我组建了一个小组,和另外两个同事调研Konquer/Embedded,准备将其移植到MiniGUI平台上,后来也无疾而终,只留下了几篇分析的文档,在公司的允许下开放了出来,美其名曰不仅要开放代码,更要开放思想。其中《Konqueror-Embedded 之结构分析》是我的拙作,现在还可以通过google检索到。

浏览器组解散之后,我参与到一个电子书的项目,是基于Intel的xscale处理器的。现在看起来有点MID的意思。我重新回归到了团队的普通一员,负责QT/Embedded的本地化和优化,以及部分小应用程序的开发。随着嵌入式部门生存环境的逐步恶化,人员的流失也越来越严重,人员的士气都很低落。随着电子书项目的草草结束,我慢慢陷入一种无事可做的境地,每天在公司里晃。我对自己和部门都很失望,有点想换换环境。桌面部门的老板本来希望我内部transfer,我那时天真的觉得会折自己老板的面子,所以就最终决定离开了。

我当时也是犹豫了很久,毕竟那是毕业之后的第一份工作,其中浸透了自己的很多努力(虽然基本上我接触的所有项目都失败了),对公司有很深的感情。那时候生活简单,女朋友也不在身边,经常晚上10点多才和一起租房子的同事从公司离开;有时会甚至连续一两个月住在公司里,看书查资料。一开始只是铺张床单睡在地毯上,或者睡在会议桌上,可能我的过敏性鼻炎就是那时候落下的。后来,我买了张行军床放在桌子下面,晚上睡觉时舒服多了。公司里的卫生间还有淋浴,HR一度想给我们买一台洗衣机。那些年也因此看了不少书,特别是C++类的,effective/exceptional系列,设计模式,COM,STL等等;还有linux kernel,我买了当时市面上几乎所有的kernel分析书籍,也读了些代码、做过些调试(主要基于UML,user-mode-linux)。因而对操作系统的各个子系统有一个粗浅的认识,不过一直没有机会从事kernel的开发,虽然曾经短时间的维护过一个单工串口驱动。

我发现程序员都有受虐的倾向,喜欢复杂的东西,并乐于将其拆解清楚,呵呵…

总之,在03年的非典时期,我离开了红旗公司,去了西门子中国的手机软件开发部门。而5个月后,在试用期内,我又离开了西门子,有幸加入了Sun中国工程研究院。其中一个原因是,我那时准备和老婆结婚,买了清河附近的房子,做班车去望京实在是太不便了;更重要的原因是,Sun一直是我最向往的技术型公司(没有之一),虽然03年的时候,已经风光不在了。不夸张的说,Sun公司改变了我的职业轨迹,让我真正成长为一个专业程序员;而在Sun公司工作的6年,是我从业以来最快乐的时光...

待续 ...

十年码工路——大学篇

看了@tinyfool同学的从业总结,想想自己也工作10年了,一时手痒,不顾东施效颦之忌,也准备写上几篇,以做纪念 ...


转眼间工作10年了 …

我是96年考入天津大学计算机系的,上大学之前仅在高一时短暂的接触过Basic,老师手里的5寸软盘只见过没摸过。高三的暑假,找了一本薄薄的C++的书硬啃,只记得了一点点点的皮毛,知道了有这么一门带class的编程语言。刚入学,老师给我们扫盲时,看到老师手里的3寸软盘,觉得好生羡慕,从贩假软盘的师兄手里买过一盒10张的软盘(当时不知是假,Maxwell,好牌子的)。和其他有一定基础的同学相比,简直是相差太远了;许多同学是用过C的,也有同学是参加过编程比赛的。仗着在小霸王学习机上突击学的指法,还不至于在TT(80后的同学们可能没机会用到了)练习上被甩下太远。

刚上大学时,觉得学习是次要的,锻炼自己的各方面能力更重要,凡是社团活动都积极参加。大学第一学期期中考试,险些挂科,终于警醒,开始上晚自习了。第一学期期末考试时,终于追赶上来,在班里排在4名女生的后面,加上其他乱七八糟的总评分,混了个班级第三。下半学年,和同寝的哥们儿凑分子,买了年级里的第一台电脑(二手的奔75,好像是6或8M内存),去取电脑时,南开的师兄给我们show了一把红警,把我们都给震住了。其他寝室的同学们也陆续买了机器,大家用同轴线缆连局域网打红警,晚上接走廊的灯泡偷电通宵打游戏。走廊里的电据说是半副的交流电,CRT屏幕接上电四角会有奇怪的彩虹纹,而且有源音箱一接就会烧。我们寝室,慢慢从最整洁寝室,变成了最脏乱差寝室。原先班里开班会,都是到我们寝室来的。后来,大家懒到晚上洗完脚都不倒洗脚水的地步了,地上堆满了报纸和烟头,呵呵 …

在校期间,正式学习的第一门编程语言是Pascal,第二门是汇编,数据结构也是基于Pascal的,甚至大二暑假实习的时候要用Pascal写一个Pascal的小型编译器(很遗憾我当时被借调到实验室去做项目了,没赶上)。大二时,为了进学校的IBM中心实验室,我自学了点C/C++和Java。学C++时,找了本《Visual C++从入门到精通》,照着书上的例子敲进去,呼呼呼,编译器报了好几百个错,仔细地一点一点查看,有的是自己的typo,也有是书籍的印刷错误。从此,我就特别痛恨书名是从入门到精通的书籍,绝对是伪劣书刊的代名词。在实验室给老师做项目,还是学了不少东西,我们一帮同学还给实验室写了个网站,参加全国高校IBM中心实验室的比赛,拿过个一等奖呢。当时去参赛时,老师是把网站的前端后台刻了张光盘带去参赛的,呵呵…

在实验室一开始,跟着两个高我一年的师兄搞Java+VRML,大三下半年的时候,还帮两个研究生做毕设来着,由那开始,我就特瞧不上研究生教育,决心坚决不上研究生。后来,大四上半年的时候,阴差阳错和同学参加了一个语音传输的小比赛,是一个什么日本公司赞助我们学校搞的。当时用了多线程、多播等,调用Windows ACM来压缩音频,还自己臆想了一个类似freelist的缓冲区管理。据说我们这一组总评排第三来着,后来为了鼓励本科生的参与精神,颁给我们一个一等奖。到毕业设计时,我和搭档开始弄视频传输,主要也就是用Windows VCM来压缩视频,据说后来评了个优秀毕业设计,还据说当年老师手下几个研究生在继续完善我们的系统,拿这个东西毕业呢。

我很痛恨学校里的教育方式,总体来说是,学不“知”用。还好二年级就学了基础物理,要不然我都不知道微积分有啥用。还有计算数学,虽然会用到微积分,但是还是不明白,计算数学是干啥用的。典型的还有,线性代数、概率论等等。现在回过头来看,这些数学多重要啊,真后悔当初没好好学。好不容易离散数学是真章吧,老师又忒离散,把我们这些学生搞得神经分裂,最后才考了60多分。如果当初能从一个比较前沿的应用领域入手,例如基于统计的自然语言处理,我们肯定会有很大的兴趣,把这些基础学科都学好。还有C语言,大三才开始教,我仗着自己C++/Java都很熟,满不在乎,结果考试时尽是考查错题和输出题,险些不及格。害得我找工作时,每每说自己擅长C/C++时,都被很严格的盘问…

在学校4年,最大的收获是,交了女朋友,也是我现在的老婆。我们是同班同学,从大二开始确定恋爱关系。在那时,我们是很认真的、本着将来结婚组建家庭来谈恋爱的。当时追她的时候,在食堂凑到她身边吃饭,因为我吃得快,她吃得慢,为了不至于我吃完了不好意思不闪人,我那个时期的饭量很大,吃7两米饭,然后还喝一大盆粥。大四时,她希望考研究生的,我就帮她复习,也去陪考了。最后她如愿考上了本校的研究生。我的总分太低,英语还不及格,以至于实验室的老师本来想特招我,都没办法。毕业后,我就到北京工作了,两地分开的两年半,我的电话费花了很多,呵呵…

现在想想,如果不是在校期间就情定终身,我们这种社交圈子小而又小的IT民工,还真很容易变成剩男剩女。现在,我们结婚已7年,小孩儿都快3岁了…

进入M4/3的世界

家里的D700太沉,加上个24-70/F2.8就接近2公斤的重量了,拍些生活中的小品有点over,而且目标太明显,不利于扫街。要是有一台比较轻便的、画质出色的相机,该有多好啊。莱卡的M8/9就算了,那是富人们的奢侈品。Sigma的DP1/2是不错,就是操控性让人诟病良多,且不能更换镜头。一直关注M4/3机型,终于在年底磨到了老婆的批准。

M4/3的机型主要是松下的GF-1和Olympus的E-P1/2系列,性能和价格都相当。Olympus新发布的E-PL1,虽然价格上估计会便宜一些,不过塑料机身和缩水的操控性能,让我对它提不起兴趣。

在网上查了些资料,对比GF-1和E-P1/2三款机型。貌似松下和奥林巴斯也在玩错位竞争的把戏。松下的GF-1,有机身内闪,背面的LCD像素比E-P1/2要高不少,显示画面比较精细,对焦速度快,20/F1.7的光学防抖套头,也受很多M4/3玩家的推崇。相比之下,E-P1/2好像找不出什么优势,也就是机身操控性方面稍好一些,造型比较复古,有机身防抖。不过,E-P2的VF-2电子取景器,是O的一记杀手锏。144万像素的高分辨率、100%取景视野、1.15倍的放大倍率,对于一个习惯用取景器观景拍摄的人来说,这太有吸引力了。相比之下,GF-1 22万像素的电子取景器(DMW-LVF1),就像是个玩具。也正是由于VF-2的缘故,E-P1也被我排除在外了。E-P2 17/2.8套(带VF-2),比E-P1的同等套机贵了接近1500元左右,不过VF-2还是值这个差价的,淘宝上的单价基本都在1800以上。总之,候选的机型就是GF-1和E-P2了。

到中关村转了转,只有GF-1有货,E-P2问了几家都没货,要么就是报E-P1的价来忽悠我。但是我和老婆比较了一下GF-1和E-P1的外观,可能是机身偏短的原因,GF-1显得有点短胖,而且握持的手感也不好。还是O记的外观比较有型、耐看。而且GF-1套机基本报价在6500左右,加上取景器价格比E-P2套机还要贵了。最后,目标锁定E-P2。给五棵松的锐意打了好几通电话,一直没人接。天色也见晚,也不敢贸然跑过去了,只好作罢。第二天早起,给锐意打电话,得知E-P2仅剩一台17/F2.8套机了,连忙让店家帮我预留,中午吃完饭就杀过去提货。

交钱开箱,映入眼帘的是乌黑色的机身,很有质感。开机玩了两下,操控性和对焦性能,比我的D700还是有差距。不过,真的是很轻巧。后来回到家,又研习了一下说明书,调整了一些转盘和按钮的设置,感觉好多了。E-P2的一些艺术滤镜,还挺有意思的,新增的那个3D滤镜,有点移轴的味道。另外,在网上看到,我的SB-800在手动模式下是可以工作的。只是这么小巧的机身,加上硕大的一个闪光灯,有点头重脚轻,呵呵 ...

2009年的最后一天

今天,终于完成了年底的最后一个build,可以稍稍歇一口气了。

回首2009年,对我影响最大的事,是我离开了工作近6年的Sun公司,加入了汤森.路透。这4个多月来,工作比以前紧张了不少,不过倒也充实。只是对Sunpinyin2开发上的投入是少之又少了,甚感惭愧,希望来年能多贡献些力量。

小小昨天开始发烧,直到今晚还未退烧。虽然去医院诊断是普通感冒,还是很担心他。希望他明天能好起来,给2010年开个好头。:)

最后,祝愿各位朋友,新年快乐 ...

iMac 27/i5 入手

今天中午接到三里屯Apple Store的电话,说i5的iMac昨晚已经到货。晚上一下班,就急急忙忙跑过去提了,到快10点才回到家。

iMac的Setup真是相当的简洁,只需要一根电源线,电源模块在机器内部。键盘和鼠标也都是蓝牙的。不过我还是比较喜欢有线的那款键盘,因为键盘的两侧有两个USB接口,可以很方便地接U盘等小设备,而不必跑到机箱后面。鼠标的手感还不错,有点沉,还是觉得前代的那款,握在手里更舒服。

屏幕真是惊人的大啊,刚开始还觉得有点头晕,现在已经基本适应了。

后面几天有得玩了,正在下载Xcode 3.2.1 ... 不过近期工作很忙,估计周末要加班了 ...

Home NAS basing on OpenSolaris/ZFS

shuttle_SG33G5和很多第一批的Time Capsule用户一样,18月过后,我的TC-1TB死了,估计是电容击穿了。拿到苹果维修中心,人家说只能采用调换维修的方式,因为过保,要收费4,800元,而买一台全新的才2,300多。回到家,把TC拆了,将硬盘取出来,放到刚买的一个USB外置硬盘盒里,硬盘盒居然点不亮,心里一下就毛了,直想骂娘。要知道,我给儿子拍的照片和视频,还有积攒的很多电子书和资料,可都在里面呢。极其后悔,当初没把重要的数据刻盘备份。

第二天早起去鼎好,发现是店家给我的电源线有问题。插在Windows上,发现分区格式不支持。又一阵紧张,万一USB硬盘盒不能支持EFI分区,难不成我得找一台Mac Pro?在鼎好找了家苹果专卖店,将USB硬盘盒接到MBP上,结果能认出来,总算放心了。Time-Capsule是不敢买了,和老婆商量了一下,不如搞个准系统,用opensolaris/zfs自己攒一台Home NAS。在网上搜到了一家“北京准系统大本营”的店家,上周末和朋友约好一起去转转。

我起先买的是AOpen S180机箱(最多可放3块3.5寸的硬盘),加翔升的Atom 330套板(支持4个SATA-II接口)。回到家发现,CPU的风扇和机箱的风扇噪音比较大。问了下朋友,他买的浩鑫的SG33G5整机噪音比较小。不过价钱也贵出一大节,机箱/电源+主板就要1,950。和老婆合计了一下,咬了咬牙,换!第二天去E世界,换了SG33G5,上的是E1500双核赛扬处理器(330元)。

回到家,发现板载的Marvell网卡,solaris缺省不支持,需要第三方驱动。安装好了之后,以为总算是大功告成了。不过发现,Leopard上的Finder访问NFS巨慢无比。绝望地以为,是网卡驱动支持得不好。后来发现,从solaris上scp,速度还是很快的,google了一下,发现是Mac OS的固疾,再次鄙视Apple一下!最后花了一晚上,把TC硬盘上的东西,scp到solaris上。下一步,是要给rpool做mirror,被吓怕了。貌似有些麻烦,放假时再整了 ...

最近去村里买东西,都很不顺利,总要跑两遍,郁闷 ...