Yet Another Year

又是超快的一年过去了,特别是从7月份开始,都觉得没有怎么喘气,一下子就2012了,翻了一下去年的新年愿望,发现完成度依然很低啊,但是其实过去这一年收获很大,在多年觉得自己没有太大成长之后,又有了升级涨经验值的感觉,在30之前再次找到这种感觉,还算是很不错的。

去年对于今年设想中,除了给Mahout打了几个超级简单的Patch之外和飞的海南过了个周末之外,其余都没有达成,生活变化得太快。忽然又开始重新承担技术管理者的角色,于是对于自身技术研究的很多设想只好放下不少,其实到现在我也还会有点怀疑回到管理者角色而不是专心写代码对我究竟是合适还是不合适,但是被逼着同时run好几个项目和模块反而在这上面重新有了不少的成长。负面效应是,集中思考记忆的能力大大下降,以前一天看个一两百页英文技术书籍不成问题,最近看个十页精神就集中不起来了,这个需要自己好好调整一下了。

想看的技术书籍没有一本看完的,SICP没动,PRML只是少量温习了去年看过的一部分,POSA完全没看,不过现在反而觉得POSA没有必要看了。但是还是一贯漫无目的的看了一些其他的,Mahout In Action看了半本,不准备接着看完,Manning的In Action系列也没有必要预先看。DSL看了一半,有点Boring,目前看到的都是我知道的内容,但是从来没有整理过知识体系,The Joy Of Clojure看了个开头。今年所有的成长感都来自”Learning By Doing”,唯一和工作相关性比较大的书是Behind The Closed Door,让自己重新找回了点感觉。

如果说每年学一门新的编程语言的话,今年能勉强算得上的就是Pig这门DSL了,相当好用啊。明年的话,应该是尝试用点Clojure,继续多用用Ruby,少用用“新时代的汇编语言”Java。

新的一年,有一些过去的目标要放弃,我自己可不是什么天才,新的一年里,争取翻一遍PRML吧,不敢说看完了,其他的,看到哪里算哪里,The Joy of Clojure估计可以轻松看完,其余的预计也抽不出太多时间。另外,争取每两周写一篇Blog吧,除了类似新年这种事情,不写生活类了,多做点有实际价值的东西吧。

对于工作,很高兴和很多超级聪明勤奋的人一起工作,希望今年能真真正正用技术手段帮公司多挣到一点钱。希望团队里的同学们都能觉得每天来上班是高兴的一件事情,少点由于我的混乱带来的加班,多点让人兴奋的新系统,新模型,新Feature带来的效果。

过去一年比较糟糕的是,忽然开始有白发,长了10斤肉到肚子上,真的要开始锻炼了,不然蹦跶不了几年了。要去把已经过期了的护照和港澳通行证办好,无论如何带儿子去趟香港,少上网,少上微博,多读书,多走动,多运动,多思考。

去年说不再多花钱在电子产品上的,但是最终还是年前签了个iPhone,然后瞬间安逸了,明年真的没有什么可买的了,把买来的书都看看完吧。

最后,祝福某两人啊,很为你们感到高兴:-)。


入手了个Kindle

一方面是收到K总蛊惑,一方面是决定调整下多看点书,不能每天浪费太多时间刷微博,但是天天带iPad一是沉,而是的确很费眼睛。于是小长假前未经领导批示,大出血入了Kindle 3G+官方带灯皮套,目前看来,Kindle物有所值,受K总忽悠入了3G版其实意义不大,带灯皮套很好,但是价格太坑爹了。

3月份过完年的时候给老妈买了个百看,这次本来也是在各类电子书之间犹豫的,买了Kindle主要还是看重有些书可以直接在Amazon买Kindle版,排版比自己用PDF转的要好多了。到手之后,发现做工上Kindle还是比百看强出一条街的,翻页响应也快不少,不过就是保修麻烦,而上次那个百看买了两个月都没怎么用过就花屏了,寄回京东重新换了个新的。所以这回干脆狠狠心入了个皮套,想想3G版都买了,于是干脆入了个带灯的皮套,于是最后花出去的钱基本可以买两个广告版的了,还是比较烧包的。

用了两天,总结如下:

  • 从看书来说,E-Ink秒杀一切,除了随手写写画画和快速翻页比不上纸质书,其余都远远超出,而且如果是用来看非技术类书籍,因为基本不需要记录,可以认为是完美,甚至可以说超过了纸质书
  • Kindle最大的优势应该是Amazon背后强大的内容,这个其实和iPad是一样的,我先是下了个Kindle版的Domain Specific Languages的sample,看完了Chapter1.1于是掏出信用卡买了全本电子版。
  • 3G对美国人民可能很有用,但是对中国人民意思不大,会检查你的ip所在的国度,要求传真验证地址身份,看看到时候麻烦哪位在美国的同学把Kindle挂到他名下去
  • 皮套的保护很不错,可是太厚重了,加了皮套单手持着就有些中了。灯很有意义,特别是晚上坐公车回家的时候,供电设计也很有意思,只是不能均匀照射到整个屏幕
  • 6寸的Kindle,用来看技术书,如果是Kindle版的或者正版制作好的mobi版可以接受,但是Kindle DXG应该会更加完美
  • 键盘加bookmark和note还是有一定意义的,内置字典非常有用,没有必要刷多看,原生系统用来看书足够了
  • 原生的PDF阅读功能基本没用,书还是要转成Mobi,因为PDF的不能重排也不能调字体,所以等于没用,专门制作的6寸的PDF太罕见了,而且如果是专门制作的,完全可以搞Mobi么

Anyway,结论是,重度阅读者必备工具啊,让随时随地的阅读体验大大提升。

回过头来说,书籍电子化已经发展了很多年了,然而作为一个中国人民,想舒舒服服看电子书仍然只有糟糕的两个选择,盗版,或者装作一个美国人民。就像我前面说得,Kindle对我来说,最有吸引力的并不是3G上网或者硬件设备,而是在良好的阅读体验之上,Amazon拥有的无数Well-Formatted的书,这样我就不再需要买纸质书占地方了,而且所有的书,我都可以在看完sample之后决定要不要买,从这个角度来说,Kindle 3G可以提供的可以说是最佳的购书体验了。不需要你没有看过书就决定买不买(目前国内网上买书最大的缺点是很多书不知道值不值得买来看),也不许要跑到书店里去买(我已经多年没有进过书店了,但是这几年),甚至都不需要等快递送上门了(有时候想看书买了之后等快递要一个礼拜)。

可惜,这些优势都是只有美国人民有,中国人民只能 1. 装作美国人掏美刀跑到Amazon上买还要受歧视不让你买 2. 盗版,而且那么多年,这些国内的出版商和零售商真是完全不思进取,严肃书籍,除了China-Pub搞了些没人看的技术书籍电子版之外,就没有人有动作的。我一直认为,最蠢的一种想法就是惧怕盗版,要知道,这个阵地他们不占领,就会被盗版占领,现在互联网上已经有大量的自制的盗版版本了,质量虽然比不上Amazon Kindle的那种,有些错字,但是完全可以看了,不出电子版,就只能坐等大家去看盗版。如果真能够做到像Amazon在北美那样,可以试看,购买,同步,记笔记,同步笔记,然后绑定好设备来给盗版增加麻烦,我相信虽然不可能是一个iPad这样的市场,也会完全是一个有得做的市场,事实上,国内目前的iOS的App也有不少的正版软件消费量了。

当然,其实大家都知道,国内的出版商和在线零售商是没有足够的技术支撑来干这事儿的,唯一有点指望的是卓越能够跨过外资这道门槛把Amazon在美国的服务复制到中国来,或者,用脚投票投奔U.S.A.去。如果国内的电子书渠道能够像Amazon在美国这样,我想我就会考虑再入一台Kindle DXG的。


Go Back to the Fundamental

这周LJ发现系统里有大量的缓存没有清掉,一开始误以为是我的定时提交的Job中有什么问题,虽然最终发现是因为系统对于验证阶段不能通过的Job就会缓存Job文件供日后分析,但是在怀疑自己提交的Job有问题的时候,花了两天时间清理掉了以前没有解决的Bug,并且进一步发现了某些Bug的深层原因。这事儿又是给自己一个教训,一是凡是出错必有原因。二是所有新功能都应当在显然是Bug的东西修复了之后完成。其实这样的错误不是第一次犯了,而且从道理上也清楚的知道该怎么做,但是时不时总会觉得自己已经有足够的经验去把握各种优先级了,于是时不时就会再犯一次,希望这是最后一次了。大部分事情要做好其实很简单,按照自然规律,一步一步仔仔细细做完,Over,可惜总是急躁地想抄近道,最后在事后付出代价。好在的确工作年限多了点,现在犯的错误往往不是致命的,最多也就是多浪费了那么一点时间罢了。

今天又和好久未见的Mars同学聊了一阵,现在我们算是一个行业里了,聊到目前飞速发展的互联网和电子商务,一边感慨的确入对了行,一边也都觉得行业里大部分的人还都是过于浮躁了,机会虽然看起来很多,但是大家都急冲冲地做的结果就是门槛看似很低,但是大部分都会死。然而很多死者,无论是做技术还是做市场做商务的,其实都没有真正做到把自己的事情做好,也许真是要退潮了,才能看出谁是裸泳者。

其实这个和写程序是一样的,问题暴露出来之前,各种抄近道导致的Tech Debt都不会被意识到的,所以还是告诫自己,有耐心地,一点一滴的把事情做好。

看了看春节里写的今年看三本书的计划,当时我还觉得时间还蛮宽裕的,但是仔细算算,其实也不怎么够用,如果每天看个一两节,其实看完这三本书一年都不够,不管了,每天1-3节吧,多了也坚持不下来的。


不对自我设限与来自未来的挑战

话说我是一贯认为程序员是个很有前途的职业,因为工作的这几年来,最大的感触就是好的程序员太少,好的程序员的供给,其实是远远小于市场的需求的。这个原因有两方面,一方面是,贵国发展太快,聪明的孩子们现在的选择太多,当PM的,当Dev Manager的,甚或是转行去读MBA的,考公务员的,搞金融的,总之是聪明人的挣钱过舒服日子的实在不少,于是,程序员这个很有前途的职业就被大家放弃了;另一方面,互联网行业在贵国发展太快,现在需要好的程序员的公司实在太多。这样一两面夹击,您要真是能做个优秀的开发人员,过过中产生活应当是绰绰有余(当然,您要在北京二环买房,没有个叫李刚的爸爸可能买不了)。而且,您要真是个优秀的程序员,也是可以干到60岁的,常见的所谓30岁怎么办,其实是个巨大的误区,这个问题,因为不是本文的主旨,所以就不展开讨论了,下次专门写个文章说一下为啥这行业可以干到60岁。

然而尽管我如此认为,我最近也时常想,也许20年后我也不一定每天写程序了,虽然每天写程序的概率仍然很大。之所以这么想,其中有一部分是因为这个链接。想想几十年前,汽车业也是最NB,最伟大的行业啊,虽然现在也算不上夕阳行业了,但是远不如那时候那么激动人心了。想想福特的蓝血十杰,要搁现在应该都去华尔街或者干互联网了吧。所以虽然现在的互联网仍然是风起云涌,是各位好人们挥洒大好青春的领地,但是在等20年,可能最刺激的时代就会过去了吧。而我之所以现在仍然自称喜欢写程序,无非是三方面的原因,一是求知的乐趣,二是看得到奔头的物质回报,三是觉得自己好歹在创造点有用的东西的成就感。而每当看到这样的文章的我,就容易头脑发热,觉得自己死活应该去读个博士。

所以我想,虽然我接下来四五年一定是在做程序员这个很有前途的行业,但是几年以后如果能像Elon Musk或者John Carmack一样参与到发射火箭的活动中,我会毫不犹豫跑去吧,所以为了这个,我也应该做个学好数学的程序员吧,对于擅长逻辑思维和计算的我,写程序和数学算是我未来有机会跨行业干活的重要工具吧。

说到这里估计会被人当作少不经事太爱幻想,不过这几年我越来越发现人不能对自我设限,自我设限通常结果不是让你脚踏实地而是容易让你原地踏步。本来我想我大学没好好念书,也就不想啥再去读个PhD了,但是看了Paul McKenney老人家的简历,我觉其实准备准备也可以考虑三四十去读个PhD么?以前总觉得没指望名片上从Mr.改成Dr.的限制其实都来自自己么?其实,工作了这几年,越来越发现,其实身边的大牛们,并没有比我多个脑袋,或者一定每天只需要睡4个小时,无非是天赋、机遇、眼界,加上日供一卒的努力罢了,大部分身边的大牛们,和你我的差别不在天赋上,不在机遇上,而往往是在眼界和每日持续的努力上。而自我设限,一是愣把眼界降低一层,非觉得别人能拿一等奖能读博,自己不能总只想着卖烧饼;二是往往主动放弃了每天向前一点点的努力,因为觉得读不了博了干脆就不学点儿难的数学GRE或者Lisp了。最后是啥也没干成,但这种自我预言的实现是十足地犯傻呢。

未来还很长呢,想想十多年前上大学的时候,我还没手机呢,现在手机3G上网都比我家上网快了,又有谁会知道15年后我会去干什么,虽然多半我仍然在写着我那很有前途的程序,兴许外星人真来了我去当翻译了呢。虽然,图灵奖我估摸着的确应该是拿不了了,但咱们怎么也这辈子读个博士,发两篇有点儿意义的论文先吧。


又一年过去了

又一年过去了,一年一年真是快啊,其实应该在元旦时候写总结的,只是实在忙得没有精神去思考总结些什么,只好拖到过年了。办公室里基本已经没什么人了,没到过年的时候,大家都无心工作,冷冷清清,窗外又是阴沉的小雨,真有些凄风苦雨的味道呢。

2009年对我来说最重要的一件事情,就是有了2.0了,一下次所有的业余时间都被占据了,基本没有了自由时间,睡眠时间也常常足足,好处是不会随便挥霍时间感到心理内疚了,坏处是也完全没时间搞点有意义的事了。2.0长得很可爱,不过我到也没有别人常说的见不到特别想的感觉,在身边的时候挺喜欢,忙得时候见不到感觉也还好,我一向是个没心没肺的家伙,看来有了孩子,也变不了多少。

然后今天年中来了这家新公司上班,写了很多代码,写了很多文档,写了很多PPT,数量比我以前写得多多了,质量写得比我以前写得差多了,希望2010年,数量稍微少一点,质量能比之前多一些吧。技术角度来说,按照去年的计划,完成度大概只有20%吧,基本上把简单的javascript和jquery摸熟了,然后今年大量的时间都浪费在无聊的struts2,spring,hibernate和axis2上了,本来想好好看看hardcore的东西,结果大半年全在折腾应用层的和项目管理的内容。Ruby和Rails在3月之后基本没怎么在看过,现在Rails3都出来了,也没精力跟了,10年应该也不会把公司的Web开发迁移到Rails上来。

今年的话,计划新学的语言应该是Objective-C和iPhone/iPad开发,顺便拾起一点基本的C,不出以外的话,应该会入手一台iPhone或者iPad。然后预计仍然要花不少时间折腾Java的服务器端,只是期望能把精力主要放在引擎和框架上,应用端,都交给手下的工程师吧。产品上,预计还是有大量的产品设计,方案PPT要做,虽然不是我喜欢的工作内容,但是总还要勉为其难地做下去,也就这一两年的时间了,如果折腾成功了,旧考虑计划计划40岁之前退休。如果成不了,也只好放弃折腾,以后就打工赚钱,养家糊口,混吃等死了。


飞来飞去

先到贵阳,再到北京,然后天津,然后回上海。过去几个月,安安心心做点事的时间太少了,一旦在路上,就只能什么东西都只看个大概了,希望年后能够摆脱这样的状态。

在贵阳在路边摊吃牛肉粉,臭豆腐;在北京半夜街边吃卤煮。当时想想,总怕自己拉肚子,想想前两年可能都不会吃这些,但是要再早几年,也就又爱吃路边摊了。话说,很多时候,人都是在被外部世界改变的,要做到君子不器,还真不是一件容易的事。

工作不算顺利,整个团队需要弥补,需要专注,虽然老板们都很清楚我们要专注,但似乎大家还是忍不住,有机会总要去试那么一下,过去半年,试的太多,好好做的东西太少。有时候,遵守自己给自己的纪律都是如此之难。

看了看一家据说还算不错的竞争对手的产品两年前的演示,发现也不过尔尔,话说两年前,我正在把时间浪费在一个最后毫无意义的项目上。想一想,这时间过得还真快,大概从2007年11月之后,做的事情都不太让自己满意,希望今年,会是一个新的起点。

飞机上大致翻了一遍 iPhone 3开发基础教程,和之前看的Android的Tutorial比较起来,真的一个是设计师文化,一个是工程师文化。iPhone始终专注在于各个View之间的转化,而Android则是喜欢讲Service,Activities,Receivers,教程关注的焦点都不一样,真是很有意思呢。当然,现在的Android是远远不行的,我手上的G2就是动辄没响应,浏览器Bug无法点击,如果再来一次的话,定然会选择多出点血入iPhone的。

好吧,最后说一句,我想我们家2.0和Pretty大人了。

Dreanhost又到期了,我想我这个懒人,还会多花这些钱,再续个两年吧。


专注产品

被Mars同学留言说更新太少,一看……半年没写了……嗯,好吧,可以借口是有了2.0,没有时间了,不过今年居然没写年终总结,而且也没有未来展望,看来完全被2.0套牢了,人生没有希望了……回头想想,2009是瞎折腾的一年,越折腾越混乱,希望2010年能专注在公司的产品上,从无到有,打造出个像像样样能赚钱的产品,也是过去一年一直希望做但是总是没机会来做的事情。


心结

连续几周都很忙碌,反倒是让内心平复下来了。之前有一段时间总是急于改变现状,所以看到朋友们的变化,内心里总是羡慕和嫉妒,于是看别人去读MBA于是觉得自己是不是也该去读个MBA,别人去读个硕士博士,想自己是不是也该去读个硕士博士,别人去考个证啥的,自己的心里却充满着焦虑。

然而忙碌有时候真是一件好事,连续一个月每周都工作七天,每天11点睡7点半起,反而让我不用去想别人做什么。过了一阵子回过头来,发现自己明白自己究竟想干什么了,其实只要想想自己把钱都花在买哪些书,哪些“玩具”上,就知道其实想要的是什么。而身边的人的选择愈来愈多种多样,更让自己知道不可能什么都要。而在A项目上算得上是一场糟糕的失败的经历,更让自己容易接受一个事实,就是总有一天会输的,不可能什么都做得到。而这样的失败,其实以后回过头来看,也没什么大不了的。

知道自己其实只是碌碌之辈,努力生活,努力工作,可以做出一点成绩,但是自己不是Bill Gates,尽力做到自己能做到的,多一点时间做自己喜欢做的,就好了。想明白自己想要的第一位是自由,第二位是做出一点能让自己有点成就感的东西,钱对我本不是最重要的,心理反而畅快多了,而自己命还算好,反正有地方住有饭吃,也就够了,若是老是去操心需要钱买房子,反而没办法安安心心做事。钱固然要赚要攒,但是没必要为钱焦虑,每天可以写一点新程序,也就有了基本的快乐。


继续混乱中

两个月没有更新blog,理由是忙,但实际原因永远不会是因为忙得没有时间。花了太多时间在焦虑状态中,搞得心理很疲劳,压力很大,事情却没能做完多少,愈发发现一个人在家工作其实要求是很高的。虽然现在有电话,邮件,im,视频会议,skype,但是每天面对面的交流和随时可以沟通的好处是非常之大的,以后还是尽量避免远程工作,能用电话Skype就不用IM邮件,因为时差早晚开会也是很麻烦的一件事情,让生活和工作完全无法割裂。前两天正好看见一篇文章说个google的员工因为签证问题在加拿大和美国团队共同工作,也是对这种工作方式有很多抱怨,的确是没效率。

轻诺寡信,之前承诺了太多事情,结果不能好好完成每一件托付,比拒绝更加糟糕。要学会坚决拒绝必然失败的事情,还有就是,同时最多做两件事,再多的话,虽然工作量没多大,但是太容易互相感染,造成结果是一事无成。之前因为闲着养成的早睡早起生活健康的习惯再次遭到破坏,真是糟糕。

回头看看原来的打算,发现再次是被生活推着走,其实完全没计划,想想要是真的愿意十年磨一剑,必然能有点小成就了,可惜总是被眼前利益诱惑,结果做出来的都是四不像,浮躁啊浮躁。

这篇不是写给别人看的,写给我自己看吧,如果这是我生命中的最后一天,肯定就给每个人打个电话了,如果还有一个月,就出去玩了,可是如果还有5年,我该做什么?如果还有10年呢?如果幸运还有50年呢?


广告后继

对于你需要天使投资么?的补充:

在杭州和北京的民工们可以在以下时间地点来参加:

  • 3月3日 晚6:00-9:00 浙江大学紫金港校区国际会议中心139
  • 3月4日 晚6:30-9:00 清华大学西阶报告厅(清华大学二校门北200米左右,清华大学大礼堂西侧。可乘校内公交到二校门,步行至西阶)