More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Wesley's blogPhotosProfileFriendsBlog Tools Explore the Spaces community

Blog

July 01

GoKart Racer小结

昨天去Burlingame赛车了Auto心得如下:

[1] 戴上头罩(形象可参考CS的匪的造型)、再戴上头盔后,感觉视野变小了很多,再把风挡拉下来后,世界就变得不真实了。有多不真实呢,跟NFS之类的赛车游戏有一拼...

[2] 戴头盔的时候,发现貌似和戴眼镜是个race condition,于是差点就deadlock在那里...

[3] 赛车的时候,平时在马路上一直想做而不敢做的动作,比如甩尾之类的,做了个畅,到了逢弯必甩的地步。然后赛完后跟高手讨教经验时得知,甩尾是最低效的转弯方式之一 Disappointed (因为需要踩刹车,会损失动能.........)

[4] 怪不得我的比赛成绩惨不忍睹呢 Crying 我都有去买一堆橡胶轮胎撞死的念头了........ 我们这组开在第一的是个MMRed roseRed lips 可见,女人飙起车来也是很恐怖的 Sick

[5] 那么,高手们都是怎么转弯的呢。这个是八仙过海各显神通..
A同学:擦墙或者撞墙,靠墙施加的反弹力转向
B同学:撞别人的车子,把别人撞到墙上去,自己就转向成功了...
C同学:卡死后面的车子,他会撞你尾部,利用撞击力甩尾转向 (那个..C同学,我曾经在急刹车拐一个急弯的时候被人从侧面狠狠撞了一下... 是你吧...)
最令人orz的是,吨位看起来是我2倍的D同学的必杀秘笈:靠重心的移动转弯,右转身体就往右面倾斜,左转就往左面倾斜...
反正,总而言之,开车的时候就当刹车这个部件不存在就对了 Sarcastic

[6] 赛车45分钟(15分钟qualify + 30分钟supertrack race)的效果大致相当于做500个俯卧撑。之后做一些很需要臂力的事情(比如吃晚饭的时候要用筷子)的时候,酸胀的胳膊时刻在提醒我,哥们,悠着点,一次菜少夹点,还有,那个很重的带壳的啥啥啥菜就别夹了... 于是我想起了野狼说的话,在需要能量的时候,胳膊里面的一个麦芽糖会分解成2个乳酸...

[7] 然后,我就想起来好像报名参加公司的乒乓球赛了,貌似小组赛会遇到某号称曾经是当年浙江省冠军的同学。我忽然有一个很坏很坏的想法:Light bulb 在比赛前一天邀请那位前冠军同学来玩GoKart race...

[8] 吃完饭坐进自己车里的时候,扶着方向盘,热泪盈眶: power steering就是好啊......... 然后一路轻轻盈盈飘飘忽忽地回家了...

[9] 对了,推荐Millbrae的香满楼。菜不错 :)

June 27

推荐《功夫熊猫》

长大之后就很少看动画片了。前阵子好多同学都推荐这部片子,我就也去看了一下。

貌似跟《The Forbidden Kingdom》是一个类型的。但比The Forbidden Kongdom要好看多了。里面有些内容貌似还蛮有启迪意义的。哦,还有,无极拈花指很强大。

看完之后我有一个古怪的想法。Mac OS X的下一版不是叫Snow Leopard吗,下下个版本会不会叫Panda呢........ (如果我没眼花的话,后来被打败的“太郎”看起来像是一只snow leopard)

推荐《黑暗森林》

是刘慈欣的科幻小说。《三体》的第2部。也是《地球往事》系列中的一部。5月下旬出版的,当时正好国内有同学要来加州,我还特地打电话叫他们帮我带。以前别人托我带书都是带美国才买得到的原版技术书(比如这本 http://wesleybao.spaces.live.com/blog/cns!B8C72620C46CF4CA!3983.entry )。我则从来都是让他们给我带闲书 Embarrassed

这本书如果要剧透的话,其实书名这4个字就概括了全部内容了,但如果不把这本书看一遍是不会理解书名是什么意思的(其实我看到咒语那一段就有点猜到了)。

这本书在我看过的科幻小说中可以列入最好的10部之一。具体评论懒得写了。豆瓣上有好多评论 http://www.douban.com/subject/3066477/ 。

推荐《审计风云》 (严重剧透,慎入)

看到yiyi推荐,就去看了一下。

刚开始就出现了很雷的一幕。某位很有才的奥迪特同学是这样描述的:
一排,大概有五六部很豪华的黑色车子,像国宾车队一样,浩浩荡荡地开到某大楼,下来了一群man in black的奥迪特,每人手里一只黑猪,大概十几二十个人,以大趴为首排成一个三角形向大厦内部进发。同时,大厦里面也迎出十几二十个人,以老板为首,情形请参照山口组斧头帮对拗。
于是我就觉得这个片子有戏。看完第一集,果然很雷... 我就不评论了,还是copy-paste一下别人的作业吧... 对了那个不算很PP但看着很有味道的MM有点面熟,应该是《日本沉没》里的女主角。
 今天在sophie的推荐下,我得知08夏季档日剧出现了一部描写奥迪特生活的巨作——审计风云!因此我迫不及待地问她考了过来,在回家的差头上就开始观看。
  
  这个片子目前只有第一集。我一开始就做好了很扯得准备,结果他的发展还是超出了我的预期,引起了我的抑制不住的暴笑。下面请允许我为大家介绍一下该剧集的BH的剧情!
  
  全剧开始之时首先介绍了一下什么是CPA,并强调说如果CPA否定了公司的报表,公司就名誉扫地,无法逃脱破产的命运。然后大家的视线中就出 现了一排,大概有五六部很豪华的黑色车子,像国宾车队一样,浩浩荡荡地开到某大楼,下来了一群man in black的奥迪特,每人手里一只黑猪,大概十几二十个人,以大趴为首排成一个三角形向大厦内部进发。同时,大厦里面也迎出十几二十个人,以老板为首,情 形请参照山口组斧头帮对拗。
  
  老板首先鞠了个躬,说:辛苦啦,请多关照!
  大趴也还礼道:我们是日本CPA firm,请立即让我们开展期末审计工作吧!!
  
  然后镜头扫过一群忙碌得CPA,casting的casting,抽凭证的抽凭证,盘点的盘点,盘现金的盘现金,极其的忙碌!
  
  马上final clearence meeting就开始了。奥迪特和客户面对面坐成两排。大趴说:现在我来报告一下本次审计结果。结合上次的现场审计,我们发现,我们上次指出的问题贵公司并没有整改!所以,我们对贵公司本年度财务报表将出具否定意见!!
  
  客户脸色大变!!
  
  然后这家上市公司就倒闭了,然后客户就自杀了。大趴显得极其不愉快,心事重重,后来借另一大趴的口中揭示,这个客户原来是大趴的从小一起长大的好朋友。
  
  ——顺便插花一句,那个大趴一出场我就觉得特别眼熟,我想啊想啊想,终于想起来了!!此人就是nodame中的折扇!!哦也,我的记性真是无比好。
  
  好,fieldwork结束,大家回公司了。此时出现了一个很壮观的场景:数以百计的auditor in black每人手里拖着个黑猪,从四面八方排着队很有秩序地进入公司大楼。此时幕后最大的趴,也就是大趴中的战斗趴出现了,他在一间黑屋子里遥望窗外,明确地表示了对前面那个大趴A坚持的“严格审计”的怀疑。此时我们知道了,大趴中分两派,严格审计派和放飞机派。由于战斗趴的不喜,严格趴被调职了,去了一 个很古怪的部门,然后他手下的两员干将,貌似都是sa的严格男和严格女被调到了另一个飞机趴的手下。该两人暗自表示非常不爽,以及对飞机趴的鄙视。
  
  所以这个firm没有m/sm,sa直接汇报给大趴!哦也~~~
  
  于是严格男女就跟着飞机趴出job了,去奥迪一家房地产公司。一出飞机场飞机趴就跟客户大老板打高尔夫去了,只剩下严格男女(共2人)去做 fieldwork。客户跟他们说:按以往的惯例,半天就可以搞定了!在这半天中,他们发现客户做假账,sales cut off出现了30几亿日元的问题。好吧,所以我们知道,一家sales>30几亿日元的公司,只需要2个sa,半天,就做完了。
  
  客户老板知道了此事,感到十分不爽,便向飞机趴complain。飞机趴感到压力很大,便准备把他们叫到吃饭的地方较较路子,于是就给他们打 了个电话:今天就到这里吧,过来吃个饭吧。严格男毫不犹豫地说:不行!我们晚上还要做sales test和AR test,没空!就这样吧!然后就坚决地把电话挂了。而此时这个飞机趴没有大怒,而是深深叹了口气,表示很无奈!!
  
  所以我们知道在这个firm sa可以随便扔大趴的电话!哦也~~~
  
  这个时候又出了个状况。他们是怎么发现客户sales cut-off的问题的聂,因为他们实地视察了现场,发现客户记sales的楼盘其实都没造好。各么他们第二天准备去视察客户最大的一个楼盘,也是有问题的一个楼盘。客户就急得要死,因为那个楼盘的脚手架还都在外面呢。为了伪装造完的样子,他们就组织了工人连夜拆除脚手架,结果一个工人从半空中掉下来,摔死了。
  
  然后这对严格男女就受到心灵的谴责了。到底要不要给他们clean opinion呢?都死人了也。此时,严格趴被别人告知,他的朋友自杀并不是因为被奥迪特出具了否定意见,而是他的贷款银行搞鬼,要让他们破产以得到他们 的优质资产,设了个圈套让他们的报表出了问题(这个逻辑我到现在还没搞明白)。严格趴心里终于爽了,马上发了封信给严格男女,信中写道:你们一定要相信自 己而努力奋斗,因为你们是审计专家!严格男女顿悟!
  
  clearence meeting开始了,严格男主讲。伊港我们发现你们公司的fraud了,如果你们不改报表,我们就出否定意见(此时终于出现调整了也,而不是直接否定 了)。然后客户就崩溃了。老板首先发飚道,你们滚把,我们换能出clean opinion得事务所。结果被旁边一个某人死死抱住,说不行啊,如果公众知道我们因为这个原因换事务所,我们就名誉扫地鸟!另一边一个人马上哭喊道,老 板,我们改报表把!结果老板崩溃了,说,这是银行贷款的最低要求,如果改报表我们就没有cashflow啦,我们就要关门大吉啦!
  
  结果全片最雷的一幕出现了。客户从老板到下属七八个人,统统对着三个奥迪特跪下了,哭着喊着说你们就行行好把,出个clean opinion把,否则我们的人就白死了,我们只好去死鸟~~~镜头久久地凝视着严格男,严格男眼中泛着泪光(我也不知道他在伤心个啥)。。。但是,他最终还是没有屈服!!在这全过程中,飞机趴就像没有这个人一样,一声也没吭,默默地呆在旁边。
  
  我们终于了解在这个firm里大趴的地位了。。。
  
  做出了这个决定后,严格男心里毕竟很不爽。他就跑回去咨询严格趴了。他说,我觉得这个工作毫无满足感,充实感,是因为你会这么做我们才没有放过他们的,但是你的好朋友都被你逼死了,你觉得这样有意义伐拉???
  
  严格趴缓缓地转过身来,痛苦地说道:满足感充实感与我无关。我那个朋友,是银行干了点什么破事他才会自杀的。
  
  严格男:个么跟你的严格审计美关系?
  
  严格趴:这我还不知道。但是我知道的是,我们只有深入现场,才能发现真相(柯南:真相只有一个!)。我们发现了真相就不能假装不知道。我们没有时间为这些事情掉眼泪!我们是日本CPA firm的CPA!
  
  严格男和严格女都感到深受教育且深深感动,眼里含着热泪,神情凝重且坚定地点了点头!
  
  ~~~第一集完~~~

看完第一集的印象,我还是觉得飞机趴比较有人性。做实业的应该是比较无辜的吧,他们是在做事和创造价值的,这一下就被搞破产实在是太于心不忍了。要怪就得怪银行太黑了。严格趴貌似是给银行当枪使了,借刀杀人。要是我去做奥迪特我就审银行的时候严格一点,审实业的时候放水一点。不过我也搞不懂为啥银行要把做实业的搞破产。按理说,企业破产了那么欠银行的钱不就是变成坏账了吗,莫非日本的破产制度不是这样的? Anyway,期待下一集~~

June 25

是沟通问题吗

<过几天再接着写信息社会的白银时代,今天先讨论一个其他的话题>
 
昨天开了一个会,讨论的主题是如何促进产品部门、core tech部门、IT operation services部门之间的沟通【注:每个部门都分布于几个不同的site,有些site位于不同的时区、不同的洲】。我一听到这个话题就犯困。这种讨论过一万次都没带来什么改变的事情,还不如讨论世界和平或者保护环境或者希拉里为何要退出总统竞选的问题更有意义一些呢。于是我准备第一万零一次给出我的招牌标准答案“多进行一些cross-functional team building(also known as 公款腐败)以增进感情促进沟通”之后就趴下睡觉。  

不过在睡着之前,我竖着耳朵听了一下,发现这次同学们其实是挂着communication的招牌在讨论collaboration和teamwork的问题... 于是我就又醒了...

首先,L同学和S同学倒了一下苦水:

1. L同学是负责A产品的project manager。A产品是以service的方式deploy在data center的,经常需要IT operation services部门的同学帮忙,但是她发出去的email经常隔好久才有人理睬,而且答复显然很没有营养,于是她只好escalate到对方的老板或者老板的老板,或者让自己的老板帮忙escalate。这样,要get things done就会感觉很费劲。

2. 跟L同学一向很搭调的S同学是做B产品的senior engineer,他诉苦说,他做的产品需要用到一些core tech部门提供的component,但是用最新的component有时候会遇到一些问题(可能是他的用法错误,也可能是component本身的bug,诸如此类),他写email给负责那个component的team的人询问,也经常是隔了一万年才有人理睬,而且解决办法通常都是凉拌,不解决问题。这样,如果遇到的问题会block他们的产品的下一步开发的话,这个事情还是蛮头疼的。

然后大家就开始七嘴八舌说要建立什么process或者提倡什么practice... L同学建议每个component team和service team都要有一个integration specialist来专门为产品部门提供服务,J同学说这样恐怕会增加很多headcount,估计老大不会批,要么设立这样一个role,让某些人身兼多职地扮演这个role吧。

我要说的是,这些都很有道理,都是很好的建议,但是别忘了,我们公司曾经是把R&D engineering部门和sustain engineering部门完全分开的啊,sustain部门的唯一职责就是解答同学们各种各样奇奇怪怪的问题,满足大家各种定制版本或者bug fix release的需求。我们曾经有过这样的process的,还有过非常详细的workflow。产品部门有啥问题吗? 在相应的系统里面创建和提交一个case好了,sustain team是一定会在规定的时间内答复的。这是那些专门做sustain的engineer的本职工作。 

【对了,顺便提一下,在我看来,R&D engineering和sustain engineering是完全不同的两码事,前者通常是project-based的,是创造,是打江山,是programmer做的工作;后者通常是daily operation的一部分,是守江山,基本上和创意无关,也不需要写程序(至少我不认为费半天功夫最后改掉半行代码把一个逗号改成分号修好一个bug这种事情称得上是写程序),不是programmer做的工作。两者对人的个性和特长的要求,以及管理和运作的方式都是很不一样的,所以分开有分开的道理。我知道的很多公司都是把两者分开的。在不少公司,前者report给CTO,后者report给COO。】

那么为什么我们公司后来要逐渐撤销sustain engineering部门(global的撤掉,各个regional的依然保留),把相应职能并入研发部门或者技术支持部门呢。也是有理由的。[1] 这样一来研发部门就比较有动力release质量比较好的产品(或者component),而不会为了赶工牺牲质量并指望sustain engineering部门帮他们擦屁股。因为如果有啥麻烦,最后是他们自己给自己擦屁股 [2] 研发部门有domain knowledge,是这个产品或者component领域的专家,解决问题会比较快,而且两个部门合并也可以省去一些转移某个产品或者component的ownership的开销 [3] 这样一来研发部门就会比较有动力build supportabilty into product/component(比如log功能要认真做,该提供的自检功能要提供,诸如此类),而build supportability into product/component是好的engineering practice。

当然这些都是摆在台面上的原因。台面下嘛,这么一折腾撤掉一个部门自然就可以把一些headcount省出来做其他事情啦,然后嘛有一些人会被promote啦也有一些人会被打压下去啦,诸如此类。

哦,请大家一定要留意“把一些headcount省出来做其他事情”这一句话。因为我觉得这才是问题的关键。

用屁股想也能想到啊,总体上要做的事情增加了,总的headcount却没变,那么除去效率提升的部分(这部分实在很有限),大概每人要做的事情也变多了吧,那么是不是有一些事情的priority只好降低一点,做起来只好敷衍一点了呢。我想,诸位同学都接受过高等教育,并且有着良好的职业素养,大家都不会缺乏沟通技巧,也不会缺乏团队合作意识。不过呢,大家也都不笨,都知道团队合作跟本职工作比起来,本职工作好像跟饭碗以及奖金更加直接挂钩一点,都知道要先完成本职工作然后如果有时间再去给其他team的同学帮忙的。锦上添花的事情大家都爱做,但如果赶着织锦都还来不及,那么“添花”往往就只好被忽略掉了。

所以,在一个大多数员工都100%时间在忙着做自己本职工作的组织里面,teamwork和collaboration的状况一定是不甚令人满意的。同学们自己想想是不是这样,不太忙的时候,有人来找你问问题或者请你帮忙,你是不是通常都会觉得很开心(啊,有人需要我耶,有人来请教我耶,这感觉真好啊...)都会很热心帮忙的。而忙得焦头烂额的时候,你是不是会恨不得在办公室门口挂上请勿打扰的牌子,把电话线拔掉,或者干脆在额头上贴个请勿打扰的标签。

果然,另一位倒苦水的同学的案例印证了我的想法。D同学是C产品的tech lead。这个产品需要用到某个component的某个改版(或者是要求那个component team提供一个bug fix release,具体细节记不清了),于是他就发email给那个team提出这个要求,于是那个component team的同学们把email给forward来forward去的拖了几个月之后某位group manager或者engineering director或者site director回复说“不好意思,这个事情我们目前没有resource做”。然后D同学就怒了,让他的老板把事情escalate给对方的老板的老板,最后就escalate到了Executive VP of Engineering那儿,然后EVP同学说没有resource么就找几个人先暂时把其他的事情放一放来做这个事情吧,然后这个事情就搞定了。

这里面是可以找出来沟通上值得斟酌的地方,比如那个escalate到EVP那儿的事情,事情是解决了,但是以后这2个team乃至这2个engineering site的关系会怎么样呢,呃,偶很professional的,所以偶以君子之心度君子之腹地认为,他们也会很professional的不会因此影响团结才对Sarcastic 不过那个事情如果不escalate到EVP那儿又能怎么办呢?继续“你好我好大家好”地玩上几个月的太极推手吗?有时候很难既get things done又不得罪人。不同的组织对于“能办事的人”和“老好人”有不一样的preference,我们是位于竞争激烈行业的以盈利为目的的公司,不是慈善机构或者政府机关。所以我不觉得这种做法有啥不妥。所谓project manager嘛就应该以敢上刀山下火海踩地雷阵的一往无前的气势勇敢地唱黑脸以最快的速度最雷厉风行的方式把任何project team遇到的阻碍搬开,让project team可以全速前进。That's their job.

啊扯远了,还是让我们来追溯到刚刚那个问题的一开始。当事情还没有escalate到EVP那儿的时候,为啥core tech component team或者IT operation service team的同学们要“打太极”呢?呃,因为......... 其实那个group manager被逼急了都把大实话说出来了啊,“这个事情我们目前没有resource做”,这不就是说他手下所有的engineer都忙得焦头烂额了实在没功夫来做这个计划外的事情吗。那么为什么EVP一插手这个事情就解决了呢,因为这样一来那个group manager就没有耽搁本职工作的责任了,“是老大发话说先把手上工作停下来把花锈上去再把锦织完的哦,最后如果锦没有按时织完大家可别怪我哦”。

那么,我们就很容易看到,如果不增加dedicated headcount而只是增加一个product integration specialist的role,让某些engineer兼任这个工作,其实并不能保证及时给产品部门答复,因为既然是兼任,那么具体到某一个engneer,他手头的事情还是要prioritize的,如果那时候他在忙于赶工做那个component的下一版,那么对于关于component的前一个版本的用法的疑问或者要不要出一个定制版本,他还是无法在不影响手头工作进度的前提下及时答复的。如果是增加一个甚至多个headcount专门做这个事情,并且对于这些人的考核指标就是“及时解答产品部门的问题”,那么本着you get what you measure的原则,会需要建立一个process和workflow,用一个case tracking system来管理每一个query或者request的submission -> assignment -> solution这整个lifecycle并且根据这些数据来评价这个人的performance,那么就会有一些overhead。而且除了report line不一样之外,其实又回到前面的sustain engineering和R&D分离的状况了。而且,当reuse的程度越来越深,越来越多的common feature被抽象成component,为每个component设立一个这样的headcount的overhead实在有点大。要知道,在比较大的engineering organization里面可能会有几百个这样的shared component供各个product team选用,而某些component的developer也就1个人,而且很可能是做某个产品时发现这块功能相对独立而且对其他人也有用就顺便拉出来的(我之前讨论过关于reuse的问题 http://wesleybao.spaces.live.com/Blog/cns!B8C72620C46CF4CA!2855.entry ),这样的component有owner但是没有dedicated headcount。

如果让每个component的owner都必须sign up某个query/request tracking system而且要measure他的response time,这实在不是好的做法。这样一来,肯定会有人觉得好心把component独立出来给别人用不是自找麻烦吗,那还不如不要这个component了,大家各做各的重复功能好了。但是,如果让各个用其他team的component或者service的team继续suffer from poor response time & quality的话,那么project manager们就会觉得这个external dependency很麻烦,是个很大的risk啊,本着降低risk的原则还是能不用就不用其他component吧。所以,上述这2种情况都是不利于促进reuse的,不利于engineering部门整体productivity的提升。

那么解决方案是什么呢?其实很简单,只要让大家用80%的时间做本职工作,有20%的空闲时间,那么所有问题都解决了。如果用80%的时间就能织完锦,那么剩下20%的时间,如果有人有需要的话,自然就可以用来添花了。有问题就回答其他team的人的问题,没有问题也可以看看书提升一下自己或者动动脑筋发明一些东西申请个专利什么的。这样,整个organization的teamwork、collabration水准,以及innovation的踊跃程度,以及大家工作开心和满意的程度,都会得到提升。也根本不需要花费很多功夫找人挖空心思设计什么复杂的process啊workflow啊什么的,再费心去实施performance tracking system什么的。话说回来我遇到啥问题需要找别人帮忙时还真不太喜欢去登陆那个内部的helpdesk网站然后很麻烦地submit case、update case,track progress然后最后close case时还要填一个survey来表达对对方的response的满意之情或者不满之处。有时候我一想到找人帮个忙要这么麻烦就觉得还不如自己死磕一下把事情搞定算了。这些可都是lost的teamwork和collaboration,也就是lost productivity啊。

如果问题是同一个site的同学能解决的,我喜欢跑去当面问。如果不是一个site但是同一个时区的另一个site,我会打电话。如果是地球另一头的site的同学才能解决,我还是习惯用email。这些是最自然的沟通方式。大家都是很professional的助人为乐的好孩子,无怨无仇的,只要对方没有忙到焦头烂额,通常都会很乐意向我提供帮助的。Teamwork和collaboration,本来就应该是这样很简单很自然的。

我们都知道,打球的时候,不管是篮球还是足球还是网球羽毛球乒乓球,投篮、射门、扣杀,都不要用10成力量。9分力量就差不多了,不然的话动作会变形,很容易投不进/射不进/扣出界。

我们也知道,额定载重8吨的卡车其实通常能装下10吨东西,但最好还是别超载,甚至不要装太满,8吨的卡车装个6吨货物就差不多可以开走了。

凡事留有余量总会有一些好处的。那么工作也是一样的,不要把员工的时间用得太满。

June 09

信息社会的白银时代, part 3

前面part 1中提到了“信息就是金钱”,讨论了信息和金钱的类似之处。让我们再来看一下信息和金钱不一样的地方。

1.信息是独特的、不可替代的。

你入住酒店的时候,刷A银行的卡刷不出来(因为A银行的结算系统正在维护或者升级中)。你只好对前台的MM抱歉地笑笑,说,那要不刷B银行的卡吧?或者付现金可以吗?前台MM会怎么说呢,她当然会说OK。这是因为金钱是可替代的。存在A银行的10圆和存在B银行的10圆没啥差别,和一张10圆的纸币或者2张5圆的纸币也没什么差别。

那么,假设你MM的照片存在Google的Picasa相册,你的ex-GF的照片存在Yahoo的Flickr相册。有一天你忽然想用你MM的照片做桌面,结果Picasa返回一行信息说“很抱歉,系统正在维护或者升级中,你MM的照片暂时无法访问。”这时候你会转而去访问Flickr相册用ex的照片做桌面吗?呃...后果可能会很严重...

这就引出了另一个问题。当你入住酒店的时候,你不会费心思去考虑应该刷A银行的卡还是B银行的卡还是付现金。随便选择一种支付方法都是可以的。但是,当你要找MM照片的时候,你就会回忆一下,究竟是存在Picasa相册还是Flickr相册,还是Facebook相册,还是Windows Live Spaces的相册,还是家里的书房里的电脑,还是客厅里的电脑,还是笔记本,还是办公室的电脑... 还是某个移动硬盘里,还是刻录在哪张光盘里了,还是在智能手机里,还是在哪张SD卡上... 如果记不起来了,那么可能得在每台电脑上搜索一下,再在每个移动硬盘上搜索一下,再去每个在线相册搜索一下... 这还是挺麻烦的。

2.信息是可以复制的,而且复制成本很低。
水果是不可复制的。我有一个苹果,你有一个桃子。我们交换一下,那么我有一个桃子,你有一个苹果。
金钱也是不可复制的。我有5张2圆,你有2张5圆。我们交换一下,我们还是每人手里有10元钱。
但是信息不一样。我有关于张三的八卦消息,你有关于李四的八卦消息。我们交换一下,那么我们就都有了关于张三和李四的八卦消息。

你可能会说,既然信息是可以复制的,那么岂不是可以解决前面说的“独特、不可替代”的问题了吗。干嘛要把MM的照片存在Picasa,ex的照片存在Flickr呢,把MM的照片在Picasa和Flickr各存一份,ex的照片也两边各存一份,不就解决问题了吗?要看照片的时候哪里可以访问就用哪里好了。记不起来放哪儿了也不用一个一个去找,随便选一个找一次就够了,反正哪里都可以找到。

那么,同学,Picasa虽然是免费的,但只有1G空间,或许不够你把MM和ex或许还有ex-ex的照片都传上去。另外,把同一张照片分别上传到各个在线储存空间,你不觉得很麻烦吗?照片还好说,如果是会经常更新的文档呢?如果费了很大功夫把一个文档到处复制之后,文档又更新了,是不是再到处重新上传一遍呢?

信息的复制成本确实很低。但依然是有成本的。

3.信息的拥有者不是很好确定
关于张三和李四的八卦消息的拥有者是谁呢?我们连制造者是谁都不一定能知道。有多少人听说过这些八卦消息,多少人传播过,这个实在是很难确定。另外,听说过这个信息的就是这个信息的拥有者吗?左耳朵进右耳朵出也算吗?我并不关心但在饭桌上不小心听到了也算吗?我并没有刻意去打听,但有人给我发了一封关于这个八卦消息的email,那么我算不算被动地拥有了这个信息呢?或者,保存到磁盘上才算拥有?保存一段时间又删了算不算呢?浏览器自动保存到缓存里算不算呢?这个实在有点难界定。

对于金钱,确定拥有者不是难事。除了掉在地上或者飘在空中的钱,其余的大概都是有主的,并且通常在某个特定的时刻只有一个主。但是,因为信息很容易复制,信息的所有权变就成了一个复杂的问题。就算可以弄清楚究竟哪些人(应该)拥有这个信息,如何确保其他人无法获得这个信息也是一个复杂的问题。

这可不是一个小问题。在进入信息社会之前,我们整个社会的游戏规则是按照“这个苹果如果属于你,那就不属于我”的思维模式来制定的。(或许好朋友可以分享一个苹果,但如果要细究,还是“这半个属于你不属于我,那半个属于我不属于你”。)这是我们立法和执法的依据。但信息的特征注定了这样的游戏规则不再适用。于是,在制定出新的游戏规则之前,很多人都在努力尝试让信息变得跟苹果一样不可复制,以便套用现成的游戏规则。

比如,软件复制之后就可以安装使用了,对于某些人而言,这可实在糟糕,于是人们发明了一种称作“序列号”的东西。但是,序列号本身也是信息,也可以很容易地复制啊,怎么办呢,于是人们又把序列号和不可复制的东西关联起来,比如电脑,比如软件狗(这是一种硬件装置),比如U盘。一个序列号在一台特定电脑上激活之后就不能在其他电脑上用了(甚至你的电脑如果换了主板或者其他主要的配件的话也无法继续用那个序列号了)。或者,如果没有插入那个含有密钥的U盘或者软件狗的话那个软件就无法使用,诸如此类。

不过,这些并不是什么好办法,也没有从本质上解决问题。(不信的话问一下陈冠希同学就知道了。)

所以,在新的游戏规则建立起来之前(耐心等一阵子吧,这个游戏究竟应该怎么玩,貌似那些负责制定规则的大人们还搞不太明白),对信息的所有权是一个比较复杂比较难界定也比较难强制执行的事情。

那么,以上这3点差别意味着什么?

这意味着,管理个人现金资产一个钱包就够了(里面放一些现金,放几个银行的信用卡和借记卡)。但是,个人数字资产的管理是一个更复杂的问题。

这意味着,对于小企业而言,管理企业现金资产一个老板娘一本帐本就够了。但是,对于数字资产的管理,一个老板娘显然是不够的。(呃,我可没有鼓励各位老板向韦小宝同学学习的意思哦...)

这意味着,无论GDP怎么增长、无论各国央行如何增发纸币、增加纸币的类型,银行和个人都不需要“钱币搜索引擎”。没人会关心我那张序列号是123456789ABCDE并且上面有我涂鸦的一双小脚丫的10元纸币现在究竟躺在哪个银行的哪个保险箱的角落睡大觉,还是在谁的钱包里等着被花出去。但是对于信息,我们已经不知道离开搜索引擎怎么过日子了。

这意味着,如果你在报纸上看到银行被抢了,那么就算你在这个银行有存款你也不会太介意。毕竟,银行被抢,那是银行的事,不关你的事。只要银行没倒闭,你不用担心自己的存款。就算银行倒闭了,还有银行的保险公司呢(同学们可以Google一下FDIC)。就算保险公司倒闭了,政府也不会坐视不管的吧。就算政府不管了,还有联合国呢... 但是,如果你在报纸上看到你保存个人数字资产的那家公司的数据中心被黑客侵入了,你就要担心了。如果碰巧你的重要个人信息被删除了,那么如果这个信息在别处没有备份的话,联合国也救不了你。即便你的个人信息没有被删除了,只是被不该看到的人看到了,那你也会有很大的麻烦(我忍不住又要提那位很有教育意义的陈同学了...)

这还意味着很多事情。不过我们就不一一去说了。下面我们会从管理数字资产(或者说管理信息)的角度来对另一种分布式操作系统“窥豹一斑”。之后再从管理计算资源的角度来“窥豹又一斑”。然后再来看一下现在有哪些已经推出或者研发中的产品长得比较像我心目中的那个“分布式操作系统”。然后我们来看一下现在桌子上都有哪些牌,又有哪些公司抢到了好牌,为什么我说它是好牌。然后我们再来看一下其中一些握有好牌的公司为什么会打出烂局。

<to be continued>

May 31

Status update - 很多事情都很让人无语

1. 新来了一位MM,我们就称她MM甲吧,之前是在FBI工作的。来这儿的原因是“在FBI的工作不够刺激”。
 
2. MM甲很苗条。于是Wesley同学在一次开会的时候,趁人还没来齐,问以前应该不认识MM甲的帅锅乙:“你说她苗条还是我苗条啊”? (我竟然会问这种问题,一定是最近忙晕了。)
最近也很忙的帅锅乙的回答很诚实:“不太好比较,因为没见过Wesley同学不穿衣服的样子”。
 
3. 今天是某个产品的demo day和sprint 1的postmortem。昨天晚上9点多还有很多show stopper bug。Developer都回家了。Manager都在加班,大概在忙着数bug。
 
4. 我半夜临睡前忽然心血来潮就remote desktop到office的机器,然后从那台机器再remote desktop到另一台机器,再ssh到一台Linux机器,试着做了一个build,结果发现有100多个编译错误。于是我决定赶紧去睡觉并希望今天早上一觉醒来一切问题都自动解决了。缓解压力的一大秘诀是“有些事情不太对劲吗? 重启一下大概就好了。”
 
5. 今天发现貌似问题真的都自动都解决了。过了一会儿,发现帅锅丙把女儿带来了,他的女儿很可爱。闲聊了一会儿,帅锅丙诉苦说他昨天晚上忙到半夜2点,然后今天早上6点起来继续忙,终于在9点45跟医生约好的送女儿去做routine check的时间前搞出了一个貌似可以work的build...
 
6. 中午肚子饿了,准备去吃饭,去叫帅锅乙,帅锅乙说,才得知有个feature貌似下午要demo,但还没开始做,看来得赶紧做了,饭就不吃了。
 
7. A同学说,多生几个小孩好,每次都可以休很长时间maternity leave... 这样就可以在有full time job的同时还做full time student读完一个master degree。(女超人啊............)
 
8. 经常毁人不倦的A同学对Wesley同学谆谆教导:“要多锻炼,不要像那个国家来的人那样一个个都那么胖”。(这也太未雨绸缪了吧,哪怕按照火星标准,我离胖也还差十万八千里呢...)Wesley:“哪个国家?”A同学:“厨房里不就有一个吗。”Wesley同学扭头一看,某位来自南亚某国的重量级帅锅正郁闷地看着我们... (我忽然很寒... 其实,在加州,懂中文的人还是蛮多的...)
 
9. 下午,demo很成功。然后,postmortem的时候,按照惯例,有一个议题是讨论what we've done well。J同学说,ah, let's skip this part.
 
10. 按照惯例,下一个议题是讨论我们在过去的日子里哪些地方做得不够好。貌似大家都有很多话要说,这个议题无休无止,以至于WebEx的conference bridge都看不下去了,我有史以来第一次在WebEx会议中听到那个不属与任何与会者的声音:“很抱歉打断一下,已经超过了预定的会议时间,要继续会议,请按1..." (原声为英文,貌似是conference bridge的超时自动语音提示功能。)话音未落,说时迟那时快,只见J同学以迅雷不及掩耳盗铃之势按下了1...
 
11. 晚上,还没吃午饭的帅锅乙饿得不行了,找我去吃饭,并且买单的时候很心安理得地说没带钱,让我结帐。
 
12. 吃饭时竟然遇到L同学了...... 她刚从一个有雨林有雪山的地方度假归来................
 
May 30

信息社会的白银时代, part 2

先让我们来复习一下本科计算机课程中关于操作系统的定义。其实定义有很多种,什么物理设备的抽象啦,资源管理者啦。不过我想大家都认可操作系统的一个主要功能是管理计算资源和储存资源(我们稍后再讨论带宽资源)。我们要做什么事情需要这些资源,操作系统会负责调度。单机版的操作系统就调度这一台计算机(或者其他有计算能力的设备)的资源,分布式操作系统则会统一调度很多计算机或者计算设备上的资源。

上次写参加VMware Forum心得的时候提到,我们其实需要一个分布式操作系统。今天我要更正一下,其实我们至少需要两个不同的分布式操作系统。就如同单机操作系统Windows成就了微软一样,在这5年里这两个不同的分布式操作系统也将成就软件行业的新一代霸主(们)。

我们先来说比较不重要的那个分布式操作系统:A Distributed Operating System For Datacenters。这个分布式操作系统负责管理一个或多个数据中心里面所有服务器上的储存资源和计算资源,以及服务器和数据中心的带宽资源。笼统的说,基本上没人会从头另起炉灶做,大家基本都是基于Linux做的。用Linux管理单机资源,然后自己改改加加写一些管理rack、管理data center的软件运行其上。整个系统,大家通常不用分布式操作系统这样的名号来称呼它。不过没关系,我们知道这是一个管理资源和提供infrastructure service的东西就行了,我觉着符合操作系统的定义。

很多公司(比如Google和Amazon)都做了不少相关工作,我们可以从网上找到一些相关的论文。我还知道很多其他公司也在做这样的事情,还有的公司的做法很别具一格(这些都是内线情报,可能会涉及这些公司的商业机密,就不在这里说了,欢迎有关的同学和我私下讨论。)

通常,第一步是做一个可以跨机器、跨rack、跨Data Center的支持storage hardware的分布式文件系统来管理储存资源,其次才是计算资源。因为计算总要以数据为材料的,数据总要有地方放的。

Google做的GFS和Amazon做的S3是beta成熟度的(虽然S3曾经至少挂掉过一次),其中S3已经release to public了。GFS也快release to public了(还记得我上次在blog里提到的那个目前只支持Python的AppEngine吗)。其他公司大都还刚刚起步,有一些公司试图借助open source的力量,颇为借重Hadoop的HDFS(Java写的),但我个人觉得HDFS现在的成熟度只能算pre-alpha,离production use还差得远。好像扯得有点远了,以后可能会撰文分析各种分布式文件系统的设计。

除了分布式文件系统,另一个很重要的分布式储存管理的组成部分是DHT(distributed hash table)或者类似的东西。这个基本上是放宽或者调整了一些需求约束的传统数据库的替代物。Amazon的Dynamo看起来长得有点像DHT。Google的BigTable不是DHT而是multidimentional sorted map,基本上是被Google当作传统数据库的替代品用的,大致也可归入这一类。Amazon有个SimpleDB现在在limited beta阶段或许也可归入这类。有个open source的实现叫HBase,用Java写的,基本是模仿BigTable的。HBase用HDFS做储存,这很类似BigTable用GFS做储存的关系。以后可能会撰文具体分析比较它们的设计。

很多较早进入互联网行业的公司,原本做的那些靠它们吃饭的online application都是自带backend的。这不利于data mining,不利于各个application之间的整合。于是这些公司现在正在做一个事情就是要从头做(或者基于open source的东西做)一个真正适合这些Internet-scale application的backend(也就是我前面说的那个分布式操作系统)并且要把原先那些应用程序移植上去。这让我想起了DOS时代的很多应用程序都是自己画界面的自己管理窗口自己管理鼠标键盘消息循环的,后来微软做了个Windows,于是大家都要纷纷把自己的程序移植到Windows用它的统一界面和统一窗口管理事件管理。

第二步是,基于分布式文件系统或者分布式散列表或者其他分布式储存服务,做一个分布式计算框架。目的在于统一管理很多机器上的计算资源。

计算资源可以以不同的粒度来分配。有一种做法是以虚拟机为单位来分配。Amazon有提供EC2,就是以虚拟机为单位,跟VMware的VI3/ESX Server颇有异曲同工之妙,每个虚拟机可以对应于一台或者半台或者更少的物理机器。EMC也会推出类似的服务,当然是基于VMware技术的。

这种做法的下一步发展是让每个虚拟机可以对应于超过一台的物理机器。其实让一个OS可以运行于多台物理机器并调度这些机器上的资源也可以达到同样的目的。这是一个老话题了。有一些厂商做到了实用化的程度(需要专用硬件),比如Crossbeam。

通常只有对公众开放的计算服务采用虚拟机粒度来分配资源。这些企业自己内部用的应用程序通常是专门开发的,以应用程序粒度来分配计算资源。不过这种做法要求应用程序必须针对类似Google的MapReduce这样的框架来写。Hadoop中也有类似的实现。(其实Hadoop的HDFS基本就是照搬了GFS的设计,计算框架也基本是照搬MapReduce的。)这样写出来的应用程序,可以占用一台或者半台或者更少的物理机器,但通常是占用几十台甚至几百台或者更多的物理机器。

这些应用程序都是特制的。更终极的目标是随便拿一个传统的应用程序过来,不需要做太多的修改(最好是原封不动),跑在这个分布式操作系统上,就可以占用从半台或者更少的机器一直到几百台几千台机器的计算资源。这个比较有难度,不过也有人在做这方面的尝试。

其实上面说的都是老生常谈。这样的分布式操作系统,很多互联网企业自己做自己用。或许有人会想成为掘金者的铁铲供应商做一个比较通用一些的分布式操作系统卖给各个互联网企业,或许有人想做通用数据中心出租给各个互联网企业(Amazon大概就有这样的想法,恐怕EMC也有)。这里面有很多各类各层次的企业,从电信基础运营商到租电信机房提供机架管理增值服务的IDC厂商到Akamai这样提供CDN的厂商到Amazon这样提供EC2、S3、SimpleDB等等基本web service的厂商。数据中心可以自己建,可以租。同一副牌可以有很多种玩法。围绕着这种分布式操作系统有很多商机,这些都不错,或许会成就几个明星企业。

但是,这些只是在讨论国家电网应该怎么建,自来水管应该怎么排,电力公司和自来水公司应该国有还是私有,诸如此类。最多再涉及一下什么电网管理智能化之类的话题。真正会在IT江湖中掀起惊涛骇浪并成就新一代霸主的,却是另一种截然不同的分布式操作系统。

<to be continued>

May 27

信息社会的白银时代, part 1

这篇“长篇blog”会谈论在信息技术领域“what matters in the coming 3 years”,为什么我认为某些领域有很大的商机,会解释为什么我认为目前很多厂商在这些领域做得还不够好,为什么我认为EMC年初收购的那家公司值那么多钱,为什么可能有些公司会握一手好牌却打不出好局。

让我们先从一个古老的比喻开始:信息就是金钱。

初中的时候大家就这样说了,而且貌似毫无争议的样子。时隔多年之后,让我们重新来审视一下信息和金钱的类似之处吧。

【1】 I don't want to lose any of it
数据的丢失和钱包丢了一样会让人不爽。不管是我辛苦写了半天的PPT还是出去旅行时拍的照片还是我刚刚写了1/5的blog。

【2】 It creates more value when it moves faster
学金融或者经济的同学都知道我在说什么。货币的价值要在流通中体现。信息也是一样。

【3】 收益与风险
投资的时候,我们都知道高风险往往和高回报形影相伴。很多人都原意冒一些在可承受范围内的风险去追求较高的回报。其实信息也是这样的。这个和【2】中提到的“在流通中创造价值”有关。约束信息的流通自然可以增加安全性(貌似现在在公司发邮件不可以用可执行文件做附件了,据说有的公司把笔记本发给员工时会把USB口禁用,诸如此类),但也会限制价值的创造,或者至少对效率有负面影响。

【4】 谁来保管的问题。
现在大概很少会有人在后院里挖个坑埋钱了,我们的很大一部分财富都会由银行保管。不过前提是银行要保证以下几点:
a. reliability 我托管在银行的钱不会莫名其妙丢失
b. availability 我需要花钱的时候就能很容易的花,银行要到处有分行到处有自动取款机并且最好24x7营业,我要取钱是能很容易取到。另外,最好在大多数需要花钱的场合可以不用取现直接刷卡就能消费。
c. security 别人未经我的授权没法从我的账户上把钱取走
d. sufficient bandwidth 其实这个应该归入availability,不过我想强调一下。没错,在ATM机是不能一下子取100万出来的。我出国之前好像大多数银行的每日提现限额是5000,听说现在有提高,不过还是有限额。刷卡也有个最高消费额度。但是只要这个额度足够日常使用,我就觉得perfectly OK。

尽管现在的银行都做到了以上几点,大多数人还是不会把所有的钱都存在同一家银行。也不会只办一个银行的信用卡。我曾经有一次凌晨抵达上海浦东要入住酒店,结果我的招商银行信用卡刷不出来(后来问了一下招行,好像正好那天凌晨招行的设备在维护或者升级,我的人品啊...)。不过幸好我身上还带了其他银行的卡。

另外,就算我们把钱存在好几个银行,办好几个银行的信用卡,我们通常还是会在口袋里揣一些现金。我记得在南京的时候我有一次去苏果超市买吃的东西,排队结账时忽然停电了(那么POS机当然也就不能刷卡了),幸好我还带了一些现金。

那么,我们的数据也是一样:现在很多人都会通过online service来保存数据。比如我已经用了一阵微软的SkyDrive了。还有GoogleDocs,还有Gmail和Live Mail。自然我们也会希望
a. reliability 我的数据不会莫名其妙丢失
b. availability 我想访问自己的数据时可以随时随地访问,24x7,从地球的任何角落
c. security 未经授权的人应该无法访问我的数据。陈冠希同学一定对这一点深有体会 :P
d. sufficient bandwidth 我能理解所有的online service都有带宽限制,但带宽要足够使用。比如我旅行时拍的1080线的高清DV最好可以吃饭的时候顺便就传到online storage,几个G的数据最好几分钟传完,而不是传一个晚上后早上醒来发现一个页面提示传输失败。

那么,显然,现在所有的online service vendor都做得不够好。

存在网上的数据真的永远不会失去吗?自己的数据真的会不管何处不管何地都available吗?看看这个: http://storagezilla.typepad.com/storagezilla/2008/04/rain-making-clo.html
HP是一家很大的公司,而且近来也没有破产或者经营不善的迹象。但是他们还是说suspend就suspend了那个HP Upline Service。当然他们给了那位同学通知,也给了他时间让他在永远无法访问自己的数据之前尽快把数据下载下来。不过如果那位同学去埃及度蜜月了几个月没上网没收到通知又会如何呢,如果他当时正好位于汶川,后来在医院一躺躺了几个月没及时看到Email通知去把数据下载下来又会如何呢,或者他只是每天都有很多Email碰巧忽略了这一封(或者被当作垃圾邮件给过滤掉了)又会如何呢,他会在稍后的某一天忽然发现访问不了自己托管在HP的数据了,可能是永远访问不了。

还有一个风险是,就算HP没有suspend那个upline service,但是... 嗯大家都知道我们在地球的某个角落能不能访问wikipedia或者blogspot并不仅仅取决于wikipedia或者blogspot的网站有没有挂掉的... 如果有一天有些人忽然觉得HP Upline Service长得不像互联网良民的话...

另外,顺带提一下,貌似去年年初海底光缆断裂了,抢修了好多天才恢复。不过这个不是啥大问题,因为可以mitigate,纯技术手段:到处建data center并把failover做好就行了。

另外,可能有些同学知道,今年2月份,Amazon的S3 service挂掉了2个多小时。大家可以用Amazon S3 down这几个关键字来Google一下。这个影响非常大,因为不少知名网站都用S3来储存一部分内容的,尤其是很多startup。而在这之前我们都以为S3是不会挂的。我们写商业计划书写到reliability和availability的时候都会这样一句话带过:因为我们的backend用Amazon S3,所以reliability和availability不是问题。不过现在大家再这样写时底气大概不会那样足了。

所以,大多数人选择在哪里存放自己的信息时,还是不会想“把所有鸡蛋都放在一个篮子里”的。可能会选择至少2个online storage vendor,这个和现在大家选择银行类似。或许在6、7家银行都开有账户的同学也不在少数吧。另外,然后还要在身边留至少一份copy(就像钱包里的现金,可能有些人还有家里的金条和某些地方的不动产)。

==============

“信息就是金钱”是个非常powerful的metaphor。或许有心的同学看到这句话就想到很多商机了。比如“银联”啦,“VISA”啦,“个人理财”啦。不过stay tuned,我们还没有开始讨论计算呢。

<to be continued>

May 24

火灾

昨天听见L同学大喊oh my god然后旋风般冲回家了.一问,说看到新闻说她家住的那个小山上森林火灾,她要回去看看房子有没有烧掉.
所以,同学们啊,住山上的豪宅也是有风险的,虽然推开门就是森林感觉很好... (同理,海边的豪宅推开门看见海很舒服,但是龙卷风来的时候... 所以beauty往往伴随着danger...)
今天起床后觉得嗓子疼
到公司后看到一封信说昨天Santa Cruz火灾了,连带Cupertino的空气也遭到污染,建议sillion valley的员工work from home
那么我家也住在sillion valley啊,不是呼吸着同样的空气么...
要么提前去度假算了... 我要去一个没有地震和火灾的地方...
========Update========
今天看到了乌云和火红的晚霞。这在bay area还是蛮难得的。
May 23

如果那一天

继不久前USD:CNY跌破1:7之后,又一个数字发生了历史性的突破:油价超过$4/gal大关。(指87号油。89和91号早过$4了。)

其实油价一直在涨。一年里大约从$3.09涨到$3.99吧,不过反正都是3开头也没啥感觉。前几天跟Y同学carpool去开会时回来路上Y同学在Shell加的油还是3.999/gal呢,今天我在同一个地方加的就变成4.079了。

回家路上特意留意了一下,看到的所有加油站(包括Shell、Chevron、Valero、Beacon、Union 76、RottenTomato)都超过$4了。

1年前加一箱油经常只要$30多,如果超过$40那通常是油箱彻底空了告警灯亮了才去加。今天这一次,$65.04。不知道会不会有加一次油要$100的那一天。(美国开始打伊朗了估计就差不多了。)等到那时候我就天天work from home。
May 20

推荐一本书

是Ian H Witten、Alistair Moffat和Timothy C Bell写的Managing Gigabytes: Compressing and Indexing Documents and Images。
虽然没有讲在数据不断动态追加的情况下如何去compressing和indexing,但是也蛮有用的。
 
L同学托我买,买了之后翻了一下觉得不错,于是自己也买了一本。
May 16

Back from VMware Forum

今天参加了VMware forum。一些思绪:
(1) 其实我们很需要一个分布式操作系统。不过现在主流的操作系统,包括Windows、Linux、Mac OS X,都不是分布式的。而分布式操作系统都停留在学术研究阶段,没有一个可以实用的。所以有各大厂商以各种各样的方式去试图实现部分分布式操作系统的功能。
(2) data de-duplication技术真的很重要很重要很重要。我决定增持一些掌握比较好的data de-duplication技术(以及专利)的公司的股票。比如EMC的。
(3) 下一个版本的VMware会提供初步的data de-duplication。这样比如所有以Windows XP SP2为guest OS的VM就可以共享Windows binaries了,相同的文件只是一个symbol link,做Windows Update也可以只做一次就更新所有VM。对个人用户来说这没什么。对企业用户来说这是一个飞跃。事实上这个idea去年L同学有跟我提过,显然VMware的同学们也都很清楚下一步该做什么。
(4) VMware最近并购了Thinstall公司。大家可以Google一下Thinstall公司是做什么的。
(5) 就像Java的VM一样,VMware的VM对于计算密集型的应用没啥问题,对I/O密集型的应用会有一些性能开销。不过对于磁盘I/O,ESX的VMFS已经是一个不错的解决方案了。而对于显示I/O(比如看电影、玩3D游戏),个人感觉不重要,因为VM主要的应用是服务器、数据中心、商用桌面,这些对显示I/O的要求并不高。对于个人用户的视频应用,WYSE给出了一个解决方案。至于游戏... 同学们可以装作不知道VM是什么。
(6) 我越来越佩服EMC负责收购公司的同学的眼光了。RSA是一笔好买卖。VMware也是一笔好买卖。这些现在地球人都知道了。其实EMC最近还收购了一家小公司,这个现在大多数人还不知道是不是好买卖,但那些知道我去年年初都在做什么的同学一定会猜到我要说什么。这家公司至少值一打Google + 半打微软 + 20斤苹果 + 1筐橘子 + 3车皮黑莓的总和,再平方一下。
(7) 其实这个是以前看社会行为学的著作的时候认识到的: unearned revenue = loss(或者cost). 可惜我们往往对后者很重视,对前者则经常忽视.
(8) 偶发现自己很容易对某种类型的女生crush.

May 06

推荐一部电影

名字叫《上海之吻》(Shanghai Kiss)。

不是什么知名导演知名演员的大制作,事实上男主角长得不怎么样。但是,个人感觉这部电影要比某些所谓著名导演编导的拥有豪华演员阵容的所谓大手笔的电影要好100倍。

对剧情不要太较真,这是一个寓言故事,寓言都是不拘小节的。

这部电影有点难归类。或许应该算喜剧,但... 让人有时候想流泪的喜剧还是蛮不常见的,而且通常喜剧也不会涉及太深刻的主题。不过显然和人鬼情未了或者泰坦尼克那样的爱情片也不