捷克之行(上篇)——身在Brno心在Shanghai。

对一个第一次出国的人来说,只要前往的国家没什么危险,我想或多或少都是神往的。我也不例外。
因为工作之需,我获得了一次去捷克公司总部培训加游玩的机会。算上来回共计8天。我很欣慰现在我还能坐在这里写博客,因为我走之前连遗书都写好了。

下面说一说这次行程的大致过程,我一直拖到现在才写,其实是因为一来不想有炫耀之嫌,二来出行时间较长东西较多,我也容易漏掉点什么,三来也一直找不到兴致。因为文字会很多,所以我分上下篇来写。这是上篇。

总体来说,这次去捷克之行的心态是有点复杂的。一开始得知要去捷克时充满了狂喜和忐忑。狂喜的原因自然不用多说,忐忑则是因为途经的国家都不是说英语的,我很担心自己的英语水平,而且第一次出去,就这么遥远且这么周折,谁还不提点心掉点胆。签证的申请也不是很顺利,但还还好走之前最后一天成功拿下。

踏上Air France的航班后,看到飞机上有不少中国人,我稍微平静了些。随后有几次与老外对话的机会,说的不错,所以慢慢的,英语的问题渐渐不再放在心上。十一个小时的飞行,是件挺折磨身心的事儿。我怀疑这样的航班坐多了,肯定会很厌倦。尤其是这十一个小时是在天上呆着的,并且还要倒时差。我坐在经济舱,所以苦上加苦,只能忍着,还好有新鲜感和兴奋感支撑着我。在飞机上的第一餐,要了个French meal,结果夜里别人在睡觉,我去了三趟厕所。快到巴黎的时候又吃了份早餐,依然是冷的蔬菜、香肠等等,所以这时候,担心英语的心放下来了,饮食问题却接踵而至。

于是终于到了巴黎——戴高乐机场。第一感觉,机场挺破,顿时觉得还是浦东机场好啊——刚踏上别国领土,爱国之心果然随之而来。出关的时候需要排一个小时左右的队,期间发现黑皮肤的亚、非洲人很爱插队。欧洲的可乐很贵,自动售货机里要买2.5欧一瓶,不知道是不是在机场里出售的缘故。热爱本国语言的法国人民不说英语,以至于我要买一杯hot drinks except coffee,服务员就是听不懂。机场上WIFI是要收费的,法国人民的狐臭原来和他们产的香水一样名不虚传。

弃魅族M8,入黑莓8900.

我在年初的时候,为了奖励自己,打算给自己换一部好一点的手机,能集合影音、照相、电话三个功能。这在我的2010plan中也有提到。因为以前一出门,包包里至少放了电话、PSP、Mp3,我嫌这三样太累赘了,使得包包也变得很重。

定下这个需求之后,基本限定在了以下几部手机:

iPhone,魅族M8,Nokia 5800,HTC G3。后来考虑到外观和个人偏好,淘汰5800和G3。

最后因为性价比,水果接口不通用,电池不能换,M8屏幕好,外放强这些客观原因,而且更主要的是,自己不是什么时候冒出来的民族感情,最后选择了M8。

语言种种。

今天从CB上读了一篇文章,讲述了一个程序员的编程经历,主线是PHP。原因似乎是因为最近网上又开始讨论ASP、PHP、C#孰优孰劣的问题了。

我趁机也随便回顾了一下自己学习程序语言的经历。
Basic,ASP,JavaScript,C++,Assembly,Java,C#,PHP,Python,Lua……似乎流行的语言我或多或少都略知一二。

如果你要跟我讲各种语言的特性和区别,我真的一时很难答上来。
但我会告诉你,我喜欢用C++开发应用程序;ASP真的很弱,虽然我经常用它做网页;我不喜欢Java,因为它没激情;C#很强大,风格也很好,但我就是经常想不起用它;虽然Asp.net跟Asp名字看上去很像,但是思想差很远;PHP功能强,上手快,但是我不喜欢阿帕奇;Python颠覆了我对语言的看法……框架经常能帮上很多忙,但是偶尔让我感到困惑,似乎让我误以为我在使用框架,而非语言本身。

其实这些都是一家之谈,里面也有我个人的一些小小偏激情愫。但我相信每个学了3门以上语言的程序员,都会有自己的独特感受,都有自己心目中神圣的语言。

我在学到第2、3门语言的时候,就经常听到一句话类似这样的话,“学程序语言要专攻一门,不要多学”。我现在可以告诉你,这话基本上是不对的。如果你是个技术狂热者,如果你热爱程序,但是如果你没有掌握最热门的语言中的大部分,那么,你顶多是个“伪狂热者”。

业界经常会有月X贴讨论“语言”与“思想”的关系。有人说,语言只是工具,思想才重要。这话固然没错。但思想从何而来?如果你学了3种以上的语言,对每种语言都了解它的规范,以及它要表达的精神(思考方式),我认为这时候你才有能力来谈论思想这个话题。可是如果你C++很厉害,用记事本就可以写个1W行的代码,但是你就懂个C++,那么你永远不知道Full OO的好处,你也不知道Python的清晰度的伟大。

把多种语言融汇起来,是件很幸福的事情,你能体会到思想的火花爆发的那种喜悦感。语言之间的差异、关联,能让你与语言设计者产生共鸣。当有一个需求摆到你面前,你能知道用哪种语言来实现它效率最高。这就谓之思想。

掌握多种语言有一个好处。就是当你再去学习一门新语言的时候,你知道哪些地方需要重点体会,哪些地方一笔带过即可,这样可以帮助你快速掌握一门新的语言,也就是我们常说的“学习能力”?我称之为“Study Pattern”。

说到这里,仿佛我的这篇文章的命题是“掌握多门语言的好处”……其实我就是看了那篇文章有点感慨,随便写点文字而已,不必当真。

说了半天,那篇博客的链接如下:
一言难尽话PHP,兼谈我的编程经历
http://liut.cc/blog/2010/04/all-about-php.html

世界是守恒的。

我不否认我是个敏感的人,我动不动就会对身边的一事一物进行短暂迅敏的思考。

我最近越来越发现一个道理,就是世界是守恒的,基本囊括所有的能量。只不过有些能量是看得见摸得着的,有些是无形的。
而我们常常只会重视节约那些可见的能量,消耗无形的能量。

举个简单的例子,比如你要买一瓶饮料,离你家最近的超市的标价是2.5¥,可是你知道远一点的超市卖2¥。结果你选择了去远一点的那家去买,你以为你节省了0.5¥,可是事实上你消耗了你的精力。而这部分被多消耗掉的精力,势必在其他渠道通过消耗其他可见的能量给弥补回来,于是也许你以为你节省了0.5¥,可是在其他形式上,这0.5¥又被消耗掉了。

这个例子其实不太好,也许你会说万一最近的超市卖的就是最便宜的呢。

我承认有这个可能,但是就算在这个假设成立的情况下,这个道理还是成立的。也许你转了一圈之后,发现确实是离你最近的超市卖的最便宜,那此时你获得的有形的能量就变成了“你买到了你附近最便宜的”,消耗的无形的能量是“你走了那么多的路,消耗了精力去寻找”。

再举个例子,假如现在有两个选择摆在你面前,你要做个决策。但是这两个选择对结果的影响的差异其实并不大。而你为了选择最优解,花了一番心思去考究。可是,事实上也许在你花这些心思的时间里,用这些精力就可以填补这两个选择之间的差异了。不是吗?

像这样的例子在我们的生活周围屡见不鲜,我们不停地用时间、精力与金钱作交换。而在大部分的情况下:金钱富足的一方牺牲金钱,来换取时间,或者节省精力;相反缺少金钱的就花费时间或精力去谋取、节约金钱。

那金钱和时间来作比,这个道理就会变得显而易见得平易近人。但是并不局限于上面所说的金钱与时间精力的交换。它的外延很广阔,如果你结合你的身边,简单想一想就会发现确实如此。

其实这个道理的背后隐藏着另一个道理:世界是公平的,有得必有失。而这是毋庸置疑的。
所以,能量是守恒的,如果哪一天你正在为得到了一个有形的事物(能量)而沾沾自喜时,想想你消耗的无形的能量吧。

倘若继续往下思考,既然能量守恒且有得必有失,那我们为何还要计较得失呢?如此一来,人就会变得不计较得失,是不是就是“和谐”之最高境界了。

宇宙真奇妙呀。

二三事。

美好的一天,从一杯蜂蜜水,一个热水澡开始。一晃还有半个月就要过年了,How time flies,我居然还觉得北京奥运过去没几个月,韩日世界杯好像也就是去年的事儿?

最近过得平淡无奇,工作的事情有了着落之后,人难免有点松懈。所以博客也就变成了零散的思绪梳理:

1· 在淘宝买了6个大大的纸箱子,用来收拾自己的东西。平时用的极少的,纯粹装饰性的东西,全部装进箱子里,用胶带封起来。这些东西不会被扔掉,搬家的时候我都会带上,但是不会被拿出来,也许只有哪天真正需要了才会拆开。这个想法是看了《Up in the air》之后突然萌生的。还是轻松上阵的好,随身的牵挂太多,人就会被这些琐碎的身外之物所累。

2· 一个人最炫耀什么,表示他前一段时间最缺少什么,最近刚刚拥有;一个人看别人炫耀就觉得不爽,表示他现在最缺少什么;一个人看别人炫耀而一笑了之,表示他已经拥有了他曾最缺少的;一个人看别人炫耀却没啥感觉,表示他要么是智者,要么是S13。

3· 以前电视节目少的时候,一个台能看上一整天;现在电视台多了,切来切去却不知道看什么。人呐,只有一个选择的时候,倒不会去胡思乱想什么,选择多了,反而抱怨起来了。

4· Anyway is not a bad way out.

5· 朋友真是分三六九等。关系最好的,彼此说真心话,却难免闹得不愉快;关系依赖于利益的,表面上谦和,背后暗留一手,大家反而和睦相处;关系凌驾于时空的,只要超过某个三八线,磕磕碰碰就会浮现。

6· 我们的文学界,不管杂志、报刊,还是小说,杂文,换了各种形式,用各种修辞,借各种事例,翻来覆去地来回表达的,无非就那几个道理。所以,关键不在于懂得什么道理,而在与把你懂的道理贯彻到你的行为准则当中。

7· 我以前觉得人受的教育所在的环境不同,只要受的教育体制一样,那么最后的差异应该不会太大,至少是在可以被接纳的范围当中。现在我终于承认我错了。人受的教育,最大还是取决于周遭环境潜移默化的影响。我承认可能会有那么为数不多的概率发生类似“出淤泥而不染”的事迹,但是谁愿意去赌几把呢?——恭喜你中奖了。

8· 最近我也看了网友借魔兽世界而拍的一部电影《网瘾战争》。平心而论,拍的真是好,我好几次都感动得不行。强烈推荐大家看,耐着性子看完。p.s.牛人果然都在民间;但是为啥这些民间牛人一被提拔了就蔫儿了?

http://www.tudou.com/v/82jefeYStys

9· 借《网瘾战争》里的一句话——“岂因声音弱小就不呐喊?”。我不知道我们的人是怎么了,社会的进步就是一具尸体一滩热血慢慢堆砌成的,而我们的人现在只会说“没用的,你改变不了的”。从这种意义上来讲,我敬佩那些因为强拆迁而自焚反抗的人。而我现在能做的就是:不买房。

我就是想过个简单幸福的小生活。

不知不觉,已经半个月不博。右边的Calendar满屏白色,煞是难看。
我不是不勤劳,也并非无所事事,大脑停滞。

最近来了几个offer,在取舍之间,我突然又不得不重新开始思考那些沉重的东西。

一个offer将要面对的工作,是目前兴趣所在,各方面条件也适合自己,比如地域,待遇等等。但是放眼望去,觉得前景并不是那么深远。况且正如N兄所说,兴趣也是会变的。

另一个offer涉及到目前如火如荼的云计算,是云计算平台下的安全。众所周知,将来是云计算、虚拟化、WebOS的天下。但是,这东西更侧重于框架、架构等概念,而且还偏向一些运维,而我目前兴趣并不在此。更重要的是,由于这些概念也正是刚刚兴起,所以我对这个offer的工作具体要做什么事情并不清楚,而是要自己去摸索,所以风险与机遇并存。待遇跟前一个offer差不多,但是可惜地点在杭州。

另外其他几个杂七杂八的offer就直接pass,居然还有让我去做“理财分析师”的,顺带鄙视一下所谓的“加拿大中宏保险”。

昨天N兄从杭州来上海,三人一直聊到深夜一点才肯休息。半年多不见,只觉N兄谈吐比以前更能抓住重点,眼界也更宽广。
我跟他说起这两个offer的事情,便被他问倒:“三到五年之后,你想要达到个什么层次,什么领域的Expert?”

相对来讲,他毕竟是Ali的雇员,所以他更看重云计算安全。而我,自从接触电脑之后,一直没有改变的小理想就是做一个技术牛人,尽量不碰管理或其他。

不过在趋势快三年,我很多时候似乎真的忘记了自己的目标,也不曾时刻提醒自己,几年之后自己要做到一个什么层次,而是已经满足了每个月拿点薪水,朝九晚五三点一线的生活,习惯了这种“过日子”般的生活态度,只图开开心心地生活,不去想那些沉重的东西。

所以,改变真的是很重要的。如果不是要在这两个offer之间做取舍,我真的不会逼自己去想这些有点陌生但很真实很血性的事情。

“三到五年是个坎;
做File分析没什么前途,File分析就是个搬运工,在安全界要想有发展,必须做Research;
如果一直做技术,你就满足将来你的title上加个senior/staff?做不到一个没你不行的层次,就差不多该改行了;
做技术的通常都不是做大事的,做大事的通常都是做管理的;
一定要弄清楚自己的方向;
……”

在这些问题中辗转反侧,我就会觉得在TG无论生活和工作都很难。仿佛所有事物都被其他很多并不相干的事物连累,这样一来就组成一个强大的网,在这个网中年轻的人们,要么变得麻木不得不放弃理想,要么尚坚持着理想但苦闷、愤青、不得志。

我也不得不发个牢骚,我就是想有个待遇尚可的工作,工作几年有点积蓄,然后结个婚,买个房,生个娃,顶多再买个车,图个安安稳稳幸福的小生活,可咋就这么难呢。

周五晚上和白头鹤国际援助的负责人吃饭。期间她给我看她在欧洲各国周游拍下的照片,给我讲欧洲的生活、人文风情。我看了后说“唉,将来有钱还是移民吧”。她并不惊讶地笑着说“大家都这么说”。

Damn it!

12.24 我一个人不孤单。

http://sunjianyin.com/mp3/say-forever.mp3

圣诞夜。和砖头,以及砖头的准女友度过。
在Costa咖啡和砖头聊将来创业的事,然后砖头的女友出现。三人一起走到云南路吃饭,那片地区居然停电。一片漆黑中在鲜得来点着蜡烛吃排骨年糕。然后在85度C疯狂买了160块钱的面包蛋糕和奶茶,买了豆喜欢的甜甜圈和蛋糕。折回到人民广场,坐到喷泉旁边,和一群陌生人互相点缀节日的节奏和旋律。三个人点着烟花,拍照,嬉笑。

回来的路上,车上放“我一个人不孤单”。想起初中那会儿因为这个MTV,自己傻傻流过泪。现在想来说起这件事,心里一阵暖暖,不禁笑出声来。

孤单是一个人的狂欢,狂欢是一群人的孤单。
我一个人不孤单。

12.19《 十月围城》

最近有去电影院看电影的习惯。只要是部口碑不错的片子,或者自己本能上向往,就会去电影院看。

今天虽然很冷,上海也少有地出现零下,风刮在脸上还有点刀割的感觉,但是我、Frank、呈哥还是约好一道出去,先是去科技馆的耐克工厂店买鞋,然后去南京东路吃饭,看电影。说到那个耐克工厂店,有必要顺带提一下,东西不错,价格也可以,重要的是所处的位置周遭无论环境还是设施都很不错,大概是外国人密集的缘故吧。所以我突然有点搬到那里去住的想法,想法而已。

总体来讲,《十》是部不错的电影。2个小时,还是物有所值。虽然18号刚上映,不过貌似影评已经出来很多,而且虽褒贬不一,但是目前来看,褒多贬少。我个人也觉得确实如此。

《十》 跟《风声》有点一唱一和的嫌疑。两部片子都是抽取旧中国革命事迹里的一个片段,然后放大,浓妆淡抹地进行刻画。不过,《风》有点像小家碧玉,《十》则类似大家闺秀。大概一个是源自于小说,一个是真实历史?我不清楚,也不愿去考证。两部片子里都时不时有画龙点晴的旁白,烘托感情和抒情达意得恰到好处。区别在于,《风》重在营造悬念,让人急于知道真相;《十》旨在描述事态,让人紧扣心弦。两者各取所需,异曲同工。

片中刻画的几个人物都代表了社会当中几个典型的人群,所以很多场景都可以在观众的生活中找到缩影,这大概也是《十》能引起观众共鸣的原因。
阿四,社会底层人物,善良勇敢,知恩图报,有自己喜欢的女人,日子简单且喜悦;
重光,有独立思想的富家子弟,渴望走适合自己的路,为了革命不惜违抗父命和牺牲自己;
郁白,为爱长期自责,虚度人生;
重阳,因嗜赌而妻离子散,惶惶不可终日,最后终因骨肉之情,牺牲自己,死而无憾;
胡军,虽身处负面阵营,但仍有自己笃定的态度,从一而终
……

因此,我曾在片中好几个片段差点流泪。为什么要让阿四死,他还要回去结婚;为什么要让重光死,他的父亲已经为他做了那么多的牺牲;为什么要让重阳死,他明明已经自我救赎?片后在大家讨论这些的时候,我反问了自己一句“谁又是该死的呢?”

我一直奇怪地认为目前很少有影片能让我有当初看《最后的武士》时的满腔热情。所以我偏见地会认为《十》最多也就算“还不错啦”。但是看完之后,我确实觉得物有所值,而且途中我也的的确确有几次流泪的冲动。所以真的应该是自我偏见了。后来我想,今天连续发生的几件事都不错,所以几个“还不错”叠加起来,就是个“很好”了,所以便是最后自己开心的原因吧。谓之赏心乐事,此事古难全。确实如此。怪不得Frank兄也意犹未尽地还想烤烤串,喝点小酒了。

p.s. 上海地铁站里那个叫做“易拍得”的用来拍照片的机器确实不错,连我这个IT专业人士也不得不连连感叹“高科技呀”,方便易用,物美价廉。因为最近办理去台湾的手续,所以在那个机器里拍了张2寸照片,直接导致某人拿着照片自恋了好几次。可见我们还是要尝试新鲜事物的,说不定尝试尝试就发现个宝贝了。

突然发现我左边下巴比右边肥,看来以后吃饭要换右边嚼了……杯具[cry]

我离10000个小时还差多远。

这里所说的10000个小时,指的是10000个小时定律。所谓10000小时定律,讲的是但凡一个人要精通某种事务,前前后后大概要经历10000个小时的锻炼。

具体可以看这里

如果从07年5月份开始算起,平均下来就以每天4小时来算,到09年12月,我从事病毒行业已经 (365 * 2 + 30 * 7) * 4 = 3760 个小时了。而且我扪心自问地认为这个数字只会多算不会少算。

如此看来,还不到10000的一半,假如继续以4小时一天的速度前进的话,至少还要三年才能到10000。
难怪我还是个菜鸟了。路漫漫不容乐观兮。[cry]

趋势闪电杀毒手3.0 项目经验总结。


官方网站:http://cn.trendmicro.com/cn/mini/cleantool/index.html

自从上周四,闪电杀毒手3.0正式release之后,我一直想静下心来写一些关于3.0的项目经验总结。毕竟,这是我第一次完完全全负责一个项目的开发管理。

但是上周五和南京研发中心过来的几位大牛——见到了传说中的为数不多的staff engineer之一——只可惜是QA——开了一天的会之后,我发现其实所谓的项目管理并没有多少的玄虚,或者说并没有多少的可以拿得上台面讲的东西,所以也就更不用说我所在的这个不正规的开发团队,和不正规的项目管理了。

由于我是软件工程专业出来的科班生,所以期间我问了个Sr. Manager一个略显青涩的问题:“你们的开发团队有没有走正规的软件工程流程”,答案或多或少出乎了我的意料:“正规的软件工程谈不上,就是通常的几个步骤会做,项目调研,产品分析,使用说明书是必须有的”“文档永远赶不上代码”“流程永远为进度让步;为了赶进度,就忘记了流程”。其中尤其说到了文档和代码的问题,大家都说“国内基本上都是这样,文档永远赶不上代码”,后来一个经常往国外跑的Sr. Architect补充说“全球基本都这样”。我听了只能在一旁心中默默感叹,说不出什么滋味。

但是,我想,不管走什么模式,也不管依赖什么管理制度,只要最终能赶上项目进度,保证项目质量,开发团队始终融洽,That's fine。所以,我觉得我还是有一些自己身体力行的独特感受。

1·我在项目开始之前做了很长时间的需求分析,并且与老大保持密切沟通,定期Update,而且写了很正规的需求文档。后来我发现这个文档带来了两方面的问题:(1)这个文档对大家带来的帮助很少,目前我只发现一个作用:QA lead在写测试用例的时候会参考。这是个小而敏捷的团队,所以面对面几分钟的沟通的效果好过十几页的文档。(2)由于需求一直在变,所以文档也要时刻更新维护。但是后来我发现这文档我已经懒得维护了。如果我以后只会整理出一份需求清单,然后跟组员保持充分的沟通就可以。

2·正如1里提到的,这是个小而敏捷的团队,所以资源匮乏的问题也随之而来。在分工的时候,就出现了一个人担当多个角色的问题。就拿我自己来说,我是JM+Architect+RD。而且就一人担当多个角色,最后还是出现了彼此之间的Gap,导致一些事情没有人做。这些Gap的产生,其实归根到底是因为经验缺乏,导致有一些方面没有考虑得到。怎么解决?后来我发现,把这些没有人做的事情分配给有经验的人来做更好,而不是严格地按照职能划分。因为把这些事做TOI的成本,远高于做这些事情本身的成本,而且让一个没有经验的人来做些事情,质量不能保证。虽然这样做可能导致分工不均衡的问题,但是为了让保证项目质量,赶上项目进度,我觉得这样做是值得的,关于分工问题,可以用奖惩来解决。

3·杀毒手3.0主要是在稳定性、兼容性下了功夫。在做的过程中我们发现,Windows 7真是个好东西,实际上你不用在你的代码上做多大的改变,就可以兼容它。而Vista SP1/SP2却真是个娇气的系统。另外,如果真的涉及到Driver层面,很多东西要谨慎,因为Driver的兼容性很严格,而且一旦出了问题,后果严重,并且难收集信息。

4·相对项目管理,其实我到现在还是认为自己骨子里更倾向于做开发。不过在做项目管理一段时间之后,我也发现确实是可以学到很多东西,尤其是可以跟China Region的Technical Director直接沟通,看待问题的角度和层面完全是个质的飞跃。事实上,管理一个项目确实有很多事情要做:与PM沟通,做需求分析,分配任务和资源,与组员讨论模块,把握项目进度,保证测试质量,发布项目并且收集反馈,推广产品等等,这些有些是我之前没有想到的。做这些事情给我带来的感受,与写代码相比,简单点来讲,前者侧重与“想”,后者侧重与“做”,仿佛一个用左脑在做事,另一个则是在用右脑。感觉有点奇妙。

5·我认为软件工程科班出来做管理项目还是有很大优势的。我的前任是WD计算机系的牛人,但是在他手里做了几个项目之后,我总结出他身上的几个问题:“多变,随性”,“爱较真”“不少事情没有自始至终做完整”,总体感受让人suffer。谁都不喜欢突如其来的变化,就算有不好的改变,也要至少让人有心里准备。这些我在做项目管理的时候,都有注意到。我不清楚这些意识是因软件工程大环境整个氛围的熏陶影响,还是个人性格问题。但是我认为,学习软件工程起码是有价值的,尽管现实中我们不能严格地贯彻。思考问题的模式不同,角度也不同。角度决定深度,眼界决定世界,确实不假。

6·AVG的CTO曾问我一个看似简单却又不是一句两句能说清楚的问题“你如何管理你的团队,以保证他们能为你做事”,我也用蹩脚的英语给了他一个看似简单粗俗却十分中肯的回答“I will try to make them happy. If they are happy, they will work for me and do it better”。后来我猜测,他应该很满意我的回答。

以上六点。大概是因为有感而发的缘故吧,一不小心写得长了点。希望对你、对我都有所帮助。