周记

先讲个笑话,然后回顾一下这个星期。

这个星期从周四晚上开始,和一位外国朋友一位台湾女士聊天。第一次经历这样的场面,忐忑得很,起初还尝试和大家说英文的,奈何我的口语和听力实在是难以支撑,最后不知不觉间大家都平滑过渡到中文了。后来我想着听力还可以通过看InfoQ上的会议录像什么的练习一下,口语就鲜有机会和场合提升了。进而又想到长期在一个小环境里做重复的事情,有些能力的退化你甚至都感觉不到,更不要说原先不具备的能力了,你甚至都不能觉察到自己缺乏某一方面的训练。

今天下午又和原先在IBM实习的同事聚会,正好在五角场附近转转。比起张江这种近乎边缘的生活环境,五角场实在是强太多了,更难能可贵的是如果你在附近转一转,询问一下房租,那里的生活成本实际上并不比张江高,生活质量实在是没法比。这是为什么呢?不理解。另外今天看到了samson理解不了的沃尔玛,还有传说中那一片Oracle / EMC / eBao / 百度。上海真是大,地铁走几站就是一个完全不同的世界。

从同事那里了解到了团购网站的一些事情,这年头,好像不做个团购网站都不好意思跟人打招呼似的。于是有了这种东西,又是一窝蜂,这就是我们的互联网,你有什么意见呢。

昨天本想写一个对 Continuous Deployment 的理解来着,结果不料电脑过热死机了。什么原因呢,原来是浏览器里开着一个崔永元的网站,一个基于flash的网站,你懂的,CPU一直占满。这么明显的、严重的、高能耗的问题,这么多年了,Adobe一点动作都没有。另外我发现今天禁用了Adobe的Flashplayer居然Firefox的Ctrl+C/Ctrl+T等等几个快捷键突然恢复了,对于这种情况还是不说什么吧。最近听说开源的实现gnash已经可以播放Youtube的视频了(当然严格地说这事跟咱们没什么关系),一会写完blog我决定配置一下试试。

这周另一个重要的事情是Kindle 3上市了,第一次对一个手持设备产生这么强烈的兴趣。而且尤其是发现你没有那么容易的渠道能够买到它的时候,这种兴趣膨胀得更厉害了。半年前电子墨水的电子书都还在2000人民币以上,这次6寸不带3G的Kindle 3只要139美元,折合人民币连950都不到,这个领域很快又要炸开锅了。

最后,我把Bason放到Sonatype的OSS Repository上了。Sonatype提供了一个免费的Maven仓库,你可以把自己的开源项目deploy到这个仓库中方便分发。详情您可以去看sonatype提供的文档

The post is brought to you by lekhonee v0.7

Update

  1. 搬家了,搬了一条街,从马路这边搬到马路那边。从二楼搬到四楼,告别了潮湿发霉的小屋,换了新环境迎接工作第二年。本来想搬出这个玉兰香苑,但是看了一圈不是太远就是太贵。都说现在是不炒房价改炒房租了,别的不知道,反正我原来那屋房租就涨了200,而且我搬出去那天就租出去了。
  2. 妈妈来上海,晚上可以一起玩桌游。妈妈对卡卡松还挺感兴趣的,我们一开始玩基础版,然后加河流扩展、旅馆教堂扩展。卡卡松绝对是家庭娱乐的好工具,各位常年在外的童鞋休假回家可以带一个和父母一起玩,调节气氛,增进和谐,居家旅行,必备良方。
  3. 周五盛大创新院,人间网介绍mongodb实践。人间网的用户不多,数据量不大,mongodb用来存储timeline里的status id,至今有不到900M的数据和900M的索引。交流活动持续一个小时,最火爆的环节是Q&A。人间网用mongodb的经验也不是非常丰富,很多问题也解释不清楚,最后多亏了我们组一位上海程序员界的新星救场,除了解决了四面八方有意义无意义的问题以外,也引来了全场的叹为观止,以至于都有人说这是SDO的人嘛。其实不完全是,其实人家才大三。
  4. 工作一年了,下周安静下来总结一下吧。

The post is brought to you by lekhonee v0.7

近日琐事

最近创作激情很是强烈,又赶上大家在博客上踊跃留言,我继续无聊闲扯吧。

做现在这个项目以来,我总是被需要同时处理多件事情的状况困扰。多任务处理,今天终于发现自己是LIFO的方式,后进先出,总是在做最近发生的事情,之前的就压栈,栈满了没准栈底就自动丢失了(策略就是java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy)。用这种方式,耗时较长的任务往往花掉的时间非常长而且不断被打断。

今天公司新鲜事,我们的工牌的带子终于换掉了。这以前带子的颜色表明了森严的等级制度,员工深蓝色,中层红色,高层黄色,访客绿色,外包白色,物业粉色,平时走在公司里花花绿绿的实在是他妈的一道景观。这事还在twitter上被冯大辉retweet了一下搞得地球人都知道了,今天通通换成了统一的红色。对于一个员工来说,今天看见自己领子上挂着一个鲜艳的中层颜色的带子,时常还是有那么一点错觉。

还得说说世界杯,这是我看得第四届世界杯了,已经说不上自己支持哪个队了,为此我都怀疑自己已经是伪球迷了。眼看着当初看球时候的球星现在陆陆续续当了教练,那种沧桑感啊。98年的时候还在收集方便面里的球星卡,那时候法国的5号布兰科,人家今年世界杯以后就要上任了。而像比埃尔霍夫这样96年欧洲杯一战成名的,现在都是德国队领队了。大伙再瞧瞧踢了四届世界杯的球员:

  • 亨利 法国 1998/2002/2006/2010
  • 布冯 意大利 1998/2002/2006/2010
  • 卡纳瓦罗 意大利 1998/2002/2006/2010
  • 李云在 韩国 1998/2002/2006/2010
  • 楢崎正刚 日本 1998/2002/2006/2010
  • 川口能活 日本 1998/2002/2006/2010
  • 里戈贝特-宋 喀麦隆 1994/1998/2002/2010

98年大家都说法国队锋线不行,其实那是是亨利和特雷泽盖的组合,不过这二位确实从2000年欧洲杯才开始成熟。布冯98年的时候还是打酱油吧,卡纳瓦罗那时倒是已经有点名气了。李云在,包括十多年来轮着换的楢崎正刚和川口能活现在都打不上主力了,不过一个个都算是现象。

昨天收到了新买的桌游“全球传染病”(PANDEMIC,名字是恶心了点),这是一个合作性质的游戏,参与的人扮演不同的角色拥有不同的技能为达到相同目标。昨晚自个玩了一局,难度不小,一颗CPU是搞不定了,下回小聚的时候和大伙一起玩吧。话说不知不觉现在我有卡卡松(加四个扩展),三国杀,UNO,矮人金矿和全球传染病,这发展下去要开店了。。。

都是玩的事情了,正经事都没提。最近准备看Practical Clojure,看看Clojure如何Practical吧。

The post is brought to you by lekhonee v0.7

我在那里吃拉面

“终于找到一家和我身份地位品味收入都相符的拉面馆。” 这条本来要发到twitter上的,结果不料哪哪出了问题,没发出去,却被我吃面条的时候记下来了。自从有了饭否twitter,只言片语多了,真正坐下来搞创作的动力却没有了,咱虽然比不上极少部分搞艺术的男青年,但追求上进也不该含糊是吧。

纵然再有追求,也比不上清真拉面馆热卖鱼香肉丝面。上海郊区天高真主远,远亲不如近邻,再不创个新,小小的拉面馆恐怕连在这里匹配我的身份地位和品味的可能性也没有了。但是在首都的时候就不一样,同样是少数民族兄弟开的面馆,人家可不含糊,别说是买鱼香肉丝了,门都不让进。

宝盛里的半年,我发现最贴近我们民工生活的就要数西北拉面和成都小吃,碗大量足(当然也不会有拿着筷子在碗里一粒一粒拣肉末吃的男士)。就为了第一次在成都小吃发现盖浇饭里鸡丁可以比花生多,我在那家店里活活吃过了夏秋冬,后来我每每想起这事都难免情绪激动。而之所以没能熬到冬去春来,也是因为老板时间长了实在看不下去,问我要不要换点别的。我是受宠若惊,才不得不转战拉面店。那家叫不上名字店,名字不重要你知道它在哪就成,墙上还挂着清真寺的画,就像很多湘菜馆会挂毛主席像一样。你可以想象这样一家店是绝对做不出卖鱼香肉丝的勾当的。十三块一个的烤羊腿是他们冬天的热门;端菜的小孩最多也就初中年纪,解析几何他大概是不会清楚了,但是你不催他他也还是不会给你上菜。

另一家印象深刻的面馆是中关村软件园北门对面的,名字好像叫老马拉面,店的规模还不小,在那个鸟不那啥的地方算是鹤立鸡群了,是软件园民工,西北旺、西二旗一代租住户,应届大学毕业生理想的消费场所。我就在那吃过一次,印象深刻仅仅是因为一位服务员长得好看。那是北门最美好的两件事物之一,另一件是那里成排的杨树,我每次在那里等642路等会被这两件事物陶醉。

思绪万千了又。其实我就是感叹能找到一家10块钱以内打发晚饭晚上十点还不会饿的地方,抑制不住内心的喜悦,又回忆起以前了。

最后标题是借名记唐师曾的书名。

The post is brought to you by lekhonee v0.7

五月一号

今天值得说的事情挺多的。首先,Ubuntu 10.04发布以后,Sun JDK 被放到了partner 仓库里,要使用Sun JDK,添加这个仓库:
sudo apt-add-repository “deb http://archive.canonical.com/ lucid partner”

这是悲剧的开始,早晨七点四十起床,添加了这个仓库,把机器上的Sun JDK升级到6u20,为此到了八点三十五才出门。现在没有自行车不比从前了,等公交加上下来走到公司最后九点零六分打上卡。进了办公室一看大家整整齐齐地坐着了,这才听到悲剧:三薪工作日不能迟到,否则只算半天。就为了6分钟,一天半的工资没了。这事现在想起来我都郁闷,发自内心的郁闷啊。

在上班的公交车上恰好收到邮件,是rubyforge的更新,昨天提交的patch已经被接受了,放进了svn仓库,会随Alexandria的0.6.6版本发布。项目的负责人修改了代码,把我那些\t都换成了空格。另外,豆瓣的API接口是json格式的,解析需要依赖libjson-ruby1.8这个库,这段代码被负责人修改了,真的很神奇,原来json可以就这样被转换成yaml

def json2yaml(json)
    # insert spaces after : and , except within strings
    yaml = json.gsub(/(\:|\,)([^A-Za-z\/\\])/) do |match|
        "#{$1} #{$2}"
    end
    yaml.gsub!(/\\\//, '/') # unescape forward slashes
    yaml
end

震惊了,不过我之前也太了解yaml,也许这个技巧在ruby世界是众所周知的吧。这下json模块的依赖就可以去除了,真没想到会这么简单。

想起来我给另一个开源软件fantasdic提交的google translate的patch,作者已经认可了,但是至今还没有被加进仓库里。这位作者在日本读书不亦乐乎看来心思已经完全不在这个项目上了。

下午下班回家又是坐公交车,越想越忿忿,晚上又去买了一辆新自行车,于是今天基本上就算是白干了。之前的自行车被偷,多半的原因是后来买的锁强度太弱。先前的锁呢又因为生锈最后没法用了,归根结底,还是我保养地不好。其实保养锁很简单的,买个肉包,把里面的肉吃掉之后,那钥匙蘸蘸剩下的油,放到锁眼里捅捅就成。

五一了,世博了。和奥运会一样,还是和我没有什么直接关系。