首页 » 技术分享 » 疯狂的程序员1-40

疯狂的程序员1-40

 
《疯狂的程序员》1

天已经七分黑了,屋里却还没开灯。这个全身黑衣服的男子突然像想起什么,从包里掏出烟,抽出一只,递给旁边的人:“兄弟,抽烟么?”――那烟是红塔山。

旁边那人连忙一边摆手,一边说:“不,不。”语气有点紧张,好像那黑衣服递过来的不是烟,是海洛因。

这个黑衣服的男子,后来的网名叫“绝影”。他旁边那个,后来被他们称为“土匪”。这件屋子,就是他们大学寝室。



第一天到学校,其实没有一点新鲜的感觉。绝影的舅舅和舅妈就在这里教书,早在这学校还不叫“大学”的时候,绝影已经在学校足球场学骑自行车了。

要说念大学,最忌讳的就是在自己家门口念。哪怕你就住北大院子,也一定要去清华。土匪觉得这学校不错,不光是土匪觉得不错,看就业形势,也的确不错。但是绝影就一肚子憋屈。

其实这间寝室和别的寝室也没什么特别,也就四张床四张电脑桌。电脑桌当然有,但是电脑就要自己往上面放。既然没有电脑,那要电脑着有什么用呢?还占着地方。唯一不同的是寝室里的一个人――和别的不一样,这间寝室有个不属于这个班的人――他叫王江。

王江他特别,不仅因为他不是这班的,还因为他吹的牛皮很特别。

大一晚上谈什么?当然是谈高考。

于是王江就叹息:哎呀,差一分呐。

土匪附和道:哎呀,就差那么五分。

王江:老天无眼,把我弄到这么个学校来。

土匪:凑合吧,四年后考研,又是条好汉。

王江:不行,我要让我老爸再想想办法。

土匪:都怪我老子没本事。比我差的都去了那学校。

王江:我老爸没问题。但我就是这么一个人,不轻易去找他的。

土匪:那你这辈子就给毁了。

王江:明天就去办退学。

土匪:你去退,我跟你一起去退。

……

两人谈得热血沸腾,仿佛他们老爸一个是教育部长,一个是清华校长,想去清华北大还不易如反掌耳。仿佛大好前途就在向他们招手,只等明天退学。

绝影跟另一个后来被叫做叫“超薄”的人一直没发话。超薄是因为听不懂他们的四川方言。绝影呢,心里一直在郁闷:要没有舅舅和舅妈,还有舅妈的爸爸,他根本就进不了这学校。不光进不了这学校,甚至进不了中国和外国任何一所大学。



第二天,王江去退学了。土匪没去。问土匪为什么?土匪说:“他太不成熟了。唉,年龄小,办事不牢靠。”

后来,王江的爸爸到了学校。绝影觉得王江的老爸怎么看也不像教育部长,甚至连自己的老爹都没法比。虽然经过这几天王江的洗礼,应该算是“如雷贯耳”了,但就是咋看咋不行。

他老爸不停的说:“儿哟,再考个大学要多少钱哟。这学费都交了8000多了哟……”

所以最后,王江也没能退成学。不过因为这次退学风波,王江一举成为专业上的名人。为啥?为啥要退学?此地不留爷,自有留爷处。所以,退学是小事,但是敢退学就是大事了。至少有办法退了之后再弄个大学念去。

再后来,土匪和王江都当了各自班的学习委员。绝影什么也不是。绝影本来想弄个生活委员当的。因为生活委员不需要什么技术含量,而且绝影是本地人,在竞选上应该有很多优势。可是偏偏在竞选的时候,绝影住院了。



所谓红颜祸水。要不是因为红颜,绝影就不会住院。

说那天绝影终于约到那妹妹吃饭。那妹妹是谁?隔壁专业的。长什么样?没见过。怎么认识的?网上。所以没见过才有神秘感,绝影才那么激动。

那天中午,绝影拍了拍土匪:“走了!约会去了!”于是换鞋。这时候,一个炸雷响起,哗~~天花板上日光灯断成两截,一截摔成碎片,另一截直接插到绝影的脚背上。绝影拔出这一截,脚背上立刻露出直径两公分大的窟窿。绝影正在纳闷,这么大个洞,怎么就不见流血呢?正想着,血就开始扑扑地往外喷。

土匪傻了,但还是知道叫寝室管理员。寝室管理员也傻了,说外面下着雨呢。楼长说:你背也得把学生背到校医院去。

绝影没傻。绝影说:“等等。”拿起电话:“我来不成了。我脚上现在有个洞,正在往外喷血。”

那妹妹一听急了:“少来了第一次约会你就找借口。”

绝影仍然很平静:“真的。唉,血还在喷,真不行了。管理员要送我去医院,要不你在你们楼下等我,去校医院要从你们楼下过。你看是不是真的。”

管理员背起绝影就走。到校医院有两条路,一条是正道,直通医院。一条还得上个坡又下个坡,不过能从妹妹寝室楼下路过。绝影说:走坡路。管理员也真傻了,径直往坡上爬。

路过妹妹楼下,绝影往四周看了五遍,一个人也没有。来不急多想,就到了校医院。

因为是外伤,情况并不是很严重,也就是清洗伤口,缝针。绝影心里惦记着那妹妹,可那时候手机手机还没现在这样普及,普及的是传呼机。也就是有人找你,给你打个传呼,那小机器就滴滴地叫,上面有他的电话,你再给他打回去。

绝影跟办公室的医生说:我要打两个电话。

第一个电话,打给妹妹。妹妹又在那边说:“你肯定是骗人的,我去了,一个人也没有,还下那么大雨。”

绝影连忙解释:“真的,我已经到医院了,管理员跑的太快,比你下楼还快。要不你亲自到医院来看,我在这等你。”

第二个电话,打给舅妈:“舅妈我脚上被砸了个洞,在医院呢,你赶紧通知我妈。”

打完了。绝影就坐那等妹妹。土匪来了,超薄来了,王江来了,妹妹也来了。绝影傻了。因为这个妹妹长的实在有点抱歉。后来因为这个妹妹,绝影被他们三个,不,是全班,嘲笑了四年。

那妹妹说:“我叫朴素”。所以,以后每次嘲笑绝影的时候,只需要说两个字:朴素。

所谓红颜祸水。本来只缝了两针。没想到当天晚上就开始剧痛。绝影痛得下不了床,除了上厕所,打饭什么的都让土匪代劳,土匪不愿意,不愿意也得去,因为土匪是学习委员。后来连上厕所也不行了。干脆弄了个可乐瓶子,每天让土匪倒三次瓶子。

绝影的妈妈终于第一次来了学校。说的第一句话是:注意锁好柜子。接着就让寝室管理员背着他往校医院跑。

医生还是那个医生,说:“X光都打了,没有任何问题,再吃两道药就好了。”

绝影说:“痛的不能走路“。医生说:“那就租副拐杖去吧,押金十元,每天租金两毛。”

从校医院出来,绝影就拄了双拐杖。他说:“妈不行我还是痛,带我去城里的医院吧。”
去了城里的医院,绝影就开始住院了,因为伤口已经严重感染。

《疯狂的程序员》2

两周后绝影出院了。出院的时候还是拄着拐杖。

这两周里,发生了两件大事:一、绝影决定追一个妹妹;二、土匪和王江开始做生意了。

和每个念大一的学生一样,土匪和王江想做生意。于是他们就真开始做生意。“批发商”说:“乒乓球拍2元一副。想要吗?”要。要就先买圆珠笔芯,500元买一万根。

为了拿到2元一副的球拍,他们就真买了一万根圆珠笔芯。

绝影回到寝室,他们已经卖到第三天,总共卖掉8根笔芯,每根卖1毛钱。绝影说:“你们就是傻的阿?这个学校总共多少人?3万。就算有3000人买,每人每月买1根,都要3个月才卖完。你们都不是做生意的材料。看我去弄个大CASE过来。”

绝影这么说,就这么去做了。正好到学校开运动会,校园里凡是能挂的地方都挂了赞助商的广告。他觉得做广告这个CASE不错。怎么说广告设计制作也算是个有技术含量的工作,总比蹲街头卖笔芯强。

绝影不会做广告,王江有个朋友到是会做。但事情就是这样,你不会造车,但可以去卖车;你不会下蛋,但可以炒蛋炒饭卖。而且卖车的肯定比造车的更会卖车,炒蛋炒饭的肯定比母鸡更会炒蛋炒饭。

绝影决定要做一个广告代理商――其实就是拉广告的,用现在比较流行的话,就是一托儿,广告托儿。他是这么幻想的:有一天,他穿着笔挺的西装,打好领带,掏出名片,彬彬有礼地递给土匪,上面赫然印着:XX广告公司XXXX大学总代理。就这个派头,告诉土匪他们:你们也就只配摆路边摊卖笔芯。

比如卖车的找个好的造车的不容易,炒蛋炒饭的找只好母鸡不容易,拉广告的要找个好的做广告的更不容易。大的广告公司,别人瞧不起你;小的广告公司,绝影瞧不起别人。

一直过了半个月,这事情才总算落实,还像模像样跟人家签了代理合同。其实这家广告公司整个还没有他们寝室大,公司就两人:一个男的,一个女的。没办法,绝影想就这么一个小的公司,人家在容易就范。人家想,就这么一个小小的大学生,才容易就范。

事情到最后,绝影没有穿西装打领带,也没有名片。他同学给他打电话说要打印点资料,绝影在电话这头说:“打什么打?拿给我到公司去打,不要钱的。”其实在学校外头用激光打印,每张A4是3毛钱,到那家公司,就是6块钱,不过因为他是代理,就给他算4块钱。

这时他才知道,有时候生意就是亏着本也得做。

一个月下来,绝影陪了15块钱。土匪他们卖掉100多根笔芯。绝影还是觉得他算赢了。因为他做了2笔业务。

这个月,他跟广告公司那两人也混熟了些。那两人原来是一对,男的以前在她学校教书,女的就是他学生。后来因为她,男的也教不成书了,于是就出来开了这么一家广告公司。

绝影打心眼里佩服他,因为能泡妹妹就是很牛B,如果能从学校泡到妹妹,那就更牛B了。因为佩服他,跟他说了很多客套话,没想到一客套,让那男人更牛B起来:“想我堂堂一个程序员,现在却在搞这个。唉……”

这时候,绝影才第一次听到“程序员”这个词。程序员是什么?他不知道。他问:“程序员能找到教书的工作吗?”

“当然,一点问题都没有。随便哪个学校都能教。想我那个年代,这城市有多少程序员,数都能数出来。我还报了高程,唉……差一点。”

能去教书当然好,因为去教书才有可能从学校里泡个妹妹出来,才有可能和他一样牛B。这么想着,绝影说:“我也想做程序员。”

“你不行,你连程序是啥都不懂。”

“我不懂,你可以教我,你不是很牛B吗?”

“那是,可是好多年没教书了。废了。”

……

绝影和他畅谈了一个下午,事情终于定了下来。那男人教绝影怎样做“程序员”,报酬是每节课60块钱,一节课是45分钟。

谈到钱的事情,大家都有点不快乐。绝影一周的生活费是100元,而那男人却反复说,当年我上一节课是80块钱。“知道不,程序员的课,都是高级课,除了我,没几个能上这课的。”

人最怕听到“高级”这个词,比如“高级工程师”,“XXXX高级技术”。那东西,听起来就是离凡人很远的。听他这么说,绝影咬了咬牙,“好吧,就每周我过来上一节课。要些什么东西?”

“一支笔一个本儿还有60块钱。”

末了,他还补充一句:“程序员,还是有前途滴。”



回到学校,绝影跟土匪他们说:“我要做程序员。”土匪用很鄙夷的眼光把他打量了一转:“广告做倒闭了?”

“跟你们说了也没用,你懂吗?程序员比做广告,那就相当于做广告比摆地摊,十倍也。这是高级技术。以你现在的智商,跟你说了,怕你理解不了。”

这次,土匪换了种眼光,不是鄙夷,是怀疑。

周六,绝影去了广告公司,说实话做代理这个事他实在撑不下去了。正好借着这个机会向他摊牌:“没时间,要学习,还要上课,代理的事情就先缓一缓。”

那男人也没多说什么,因为让绝影做代理他也没赚到多少钱,还不如花45分钟动动嘴皮子好。

第一堂讲基础,什么是基础?基础就是“DOS”。什么是“DOS”?“DOS”就是“Disk Operation System”“磁盘操作系统”。那男人这样讲着,“DOS”有些啥命令?往本上记。

绝影也不知道,只管往本上记,说实话什么是“DOS”,他也没见过。因为那个年代,计算机早就被“Windows”占领,“DOS”流行的年代,他还在念小学。但什么是牛人,绝影知道:牛人就是坐在黑背景显示器前,嗒嗒嗒往键盘上敲着字符,然后屏幕不断地向下滚。这就是“高级技术”,或者“专家级工程师”。那男人说,“DOS”就是这玩艺。他想那要是这玩艺学好了,在土匪面前往电脑里面把这些命令一敲,那还不迅速展现出他“专家级水平”。那比穿西装打领带递上名片神奇十倍。这么想着,他记得更认真了,并且坚定不移地认为这60块钱还是花的值得的。



从那以后,绝影总是抱着他那个本。虽然上面的东西,什么“DIR”呀,“MD”呀,“RD”呀他早就背得滚瓜烂熟,但本还是每天都抱着,并且每天都在看。为什么?就是给土匪神秘感。他不懂,你越不给他看,他越觉得那技术真是“高级”。要让他看到就这么几个简单的命令,那还不被他笑死。

可寝室里谁也没有电脑,那感觉就像刚拿了驾照却没有车开――手痒。这个时候如果谁有电脑,在他面前这么一坐,嗒嗒嗒往键盘上这么一敲,屏幕网上一翻滚,肯定成偶像,谁叫他们什么也不懂,做就要做别人都不懂的。不过这年头,懂“DOS”的还真没几个。“Windows”害死人咧!

没条件,只好纸上谈兵,他对土匪说:“知道什么是‘DOS’吗?‘DOS’就是‘Disk Operation System’,磁盘操作系统。”有时候,你跟别人讲出一个英文简写的全称,会让人对你刮目相看。比如大家都在说“TMD”,“NMD”,你跟他们说:“‘TMD’是‘战区导弹防御系统’,‘NMD’是‘国家导弹防御系统’。”这样保证引起别人的注意。现在的社会就是,谁吸引了眼球,谁就吸引了Money。



绝影又去上了2次课,他明显感觉有点撑不住,因为每月就剩下40块的生活费。土匪问:“去上个课多少钱阿?”他总是说:“要什么钱?就凭和我老师的感情……”你要跟土匪说45分钟花60元钱,还不被他笑死,在绝影眼中,土匪就是一个只配摆地摊卖笔芯的粗人。话是这样说,可是他自己感觉真的是越来越撑不下去。想想,程序员也是人,也还是要抽烟吃饭,总不能一个程序员活活给饿死吧。不去上课了,那也不行,那还是会被土匪他们笑死。因为不去,就表示当初的决定是错误的,那个什么程序员的神话也就是假的。

绝影不能轻易承认自己的错误,特别是这么高调的错误。


他又去上了2次课,还是每天抱着他那宝贝本,这一天,土匪兴奋地冲进寝室,对着绝影扬起手中一张单子吼道:“你神奇个屁呀,咱们马上开程序课了,还有上机呢。”绝影拿过那单子,那是一张新的课表,星期二下午第二讲和星期四上午第二讲上写着:数据库原理与应用(宴斌)。下面盖着教务处的红印。

《疯狂的程序员》3

这个宴斌,大家都说长的像刘仪伟。后来看了《天天美食》绝影才真觉得刘仪伟和宴斌简直一模一样。所以你在脑子里想想《爱情呼叫转移》的那个俏皮的天使,就能知道宴斌的模样。

《数据库原理与应用》实际就是《数据库应用》,像“原理”这么高深的东西,不能说,不能说,说了你们也无法理解。这话是宴斌自己说的。

开发工具用的VFP,也有人叫VP,绝影还是喜欢叫“Visual Foxpro”,还是因为有时候,你跟别人讲出一个英文简写的全称,会让人对你刮目相看。宴斌说这东西很好用,拿微软的广告语来说:Nothing run fast than fox。

绝影特别羡慕宴斌,首先是因为他可以一边望着投影仪,一边往Command窗口中敲打命令――不是敲打,是游走,仿佛并不是用手指头去敲打命令,而是命令是为他手指头的游走而设计。唯一不一样的是引号:如果一个命令包含一对引号,他会先打上两个引号,然后再往中间插入字符。

后来绝影知道,宴斌的指法还是不标准的,他不能用左手的SHIFT和右手的引号配合,而总是用右边的SHIFT,这样打,可以减少指法的乱套的次数。



又去学了几次“DOS”,绝影决定再不去。他感觉自己还真有点傻,微软已经把“Windows”升级到“XP”,连那个DOS窗口也只不过是个虚拟机,要早两年,他在电脑前面这么一坐,嗒嗒嗒往键盘上这么一敲,屏幕网上一翻滚,肯定成偶像,但现在,别人只有可能嘲笑你那486的老爷机应该淘汰了。时代在改变,技术和人们对技术的看法也在改变。比如早二三百年,唱歌跳舞的都是下九流等于是做鸡的,现在那职业都是大腕阿,哪个不是后面跟一大群“粉丝”;再早二三十年,穿百大挂的都是“救死扶伤”的天使,现在却成了人见人怕的“魔鬼”;再早二三年,穿西装打领带的都是牛B的白领,现在都成了卖保险搞推销的代名字。

而且那男人虽然长像厚道但心也太不厚道,60块钱一节的学费足足顶得上重修一个学分,等于他每周去他那里重修一个学分。起码在学校里重修了还有张成绩单结业证,他那里就连个评语什么也没有。

不去,一定是要有交代的。他跟土匪说:“已经结业了。凭着我的激情和智商,普通人练一二百年的上乘武功,我也就一两年。那老师都说了:教到这,已经没法教了。”土匪只是对他微微一笑,仍然用鄙夷的目光打量着他,仿佛今天的结果,正好证明了他当初的猜想。尽管在绝影心里,总觉得土匪笨得无可救药,但有时候不得不承认,土匪还是有很多正确的思想。

他跟那男人,什么也没说,在他那边看了,这人昨天还好好的,今天就人间蒸发了。



大家都觉得《数据库原理与应用》这课是门鸡肋课,每周就两讲,还只有两个学分。在这个大学里面,或者说这群人里面,往往用多少多少学分来评价一门学问的重要性。比如《高等数学》,多达六个学分,那么谁都不敢怠慢,因为考不及格的重修费是60元每学分。

什么是鸡肋课,就是每个人都在他自己的课表的这门课旁边标注一个“可旷”或者“选修”。至于怎么过考试,大底有3种办法:一、正道:认真上课,老师讲什么记什么,老师写什么抄什么,老师勾什么背什么;二、小道:考试前一天,有钱人将课本缩引,成本在十元钱左右,没钱人抄写课本,字迹工整,井井有条;三、旁门左道:借口问一高深的题目接近老师,饭是一定要请吃的,有可能还要送西瓜或者烟,钱一定不能送:首先作为学生你送的那点钱还不够老师买两包烟,他看不上,再有就是送钱的性质恶劣,比如你拿板砖砸伤一人,那充其量就算打架斗殴,违反《治安管理处罚条例》拘留15天。要是你拿刀捅人了,那刀可是凶器,故意伤害罪,最少入狱3年。

说实话,绝影对这门课还是比较失望,那课本的15章标题明明是《简单的程序设计》,但宴斌说期末考试只考到14章,好像宴斌故意跟他有仇。虽然离放假还有一个多月,但期末考试题目已经出来,让所有人大吃一惊:用Visual Foxpro做个简单的通讯录。这根本不在上面三点应付考试的办法当中,打倒一大片阿。

大家恐慌了。

绝影不怕。

自己往后看,什么是程序?书上说“程序就是把一系列命令合起来”。书的最后一章是个例子:《简单的人事管理系统》,从随书光盘打开那个例子,绝影的手在抖。那明明就是个软件,就像他平时在电脑上看到的Word,Visual Foxpro一样,都有个窗口,有菜单,点点鼠标,居然有反应。这简直跟黑洞洞的DOS窗口有天壤之别。你要有一天,忽然做了这么把“简单”的通讯录做成这个样子,拿给土匪他们看,他们肯定会惊得目瞪口呆。

这就是程序员。绝影一边看一边想一边忍不住哈哈大笑,这时候对宴斌又有了点好感,要是把课往后面一讲,大家都能做这么个出来,就没那么大的震撼效果了。

要做别人做不到的。



“小时候家里穷……”绝影跟朋友聊天总喜以这句开头,小时候家里穷,现在怎么怎么样,这样话题一下就可以展的很开。所谓“放之四海皆准”,就是和VB里面的万能变量一样。

不过那时候的确也很穷,35个人一个班,人人寝室里的电脑桌都空着,上机课又相当于学驾照:虽然学驾照就是学开车,但往往要几天才能看到一次车,而且你刚上去连档都没推上去后面的人就不停的说:好了好了,你已经可以了,把机会留给我们。

没有条件创造条件也要上。去网吧。

网吧好,又有空调,冬暖夏凉。绝影大大咧咧地做过去:“网管,给我找台有光驱的机子。”有些网吧好,还有那么一两台CS服务器有光驱,他就把Visual Foxpro的光盘小心翼翼地交给网管,让网管把里面的东西弄到他这台机器上来。大部分网吧都条件简陋,没有光驱,就从网上下。Microsoft的主页上就能下到Visual Foxpro,6.0的版本,还英文版的。所谓便宜没好货,既然都免费下载了,难道绝影就没想到Visual Foxpro最终会倒闭,没有前途的。

网速好,可以2个小时下载出来,装上就可以做一个通宵,说不定明天来都还在,那时候网吧根本没有什么“万象管理系统”,“还原精灵”,对于大多数Windows 98的系统,甚至按F8启动到DOS下面,就可以直接把C盘Format掉。



半个月,绝影天天这样跑着网吧,土匪也天天跑着篮球场。土匪他们不急:车到山前必有路,试肯定要考,东西肯定也要教,但是法不责众,每个老师每月期挂的学生人数是有指标的,自己还不一定这么倒霉。

再过半个月,绝影终于等到这一天,就是他扬眉吐气的一天。这个有窗口,有菜单,可以用鼠标点,可以弄成一个exe,随便拷贝到哪台机器上――当然,要先装Visual Foxpro――都能运行的通讯录诞生了。

他小心翼翼地把这门个1.3M的exe压缩好,拷贝到磁盘,回想起这一个月来的种种困难,有3点:一、如何去掉运行时那个Visual Foxpro窗口。在网上查了资料,可是没有。那时候的网可不像现在,要什么有什么,甚至连叫鸡的电话都有。没办法,给宴斌发个邮件,自从发了那封邮件,宴斌就成了他心目中的偶像。为啥?他竟然回了邮件,并且还告诉他怎么做。二、如何调用API。调用API,那可是Visual Foxpro里面的高级技术,因为太高级了,其实他也没弄懂什么是API,你能想像API竟然是Armor Piercing Incendiary吗?不过书上有例子,依样画葫芦。这一调用,就可以把当前时间显示出来,也就在通讯录里面多这门点附加功能。三、如何把那东西弄成exe。想像一下,要是每个软件运行的时候都要你先装上Visual Foxpro,把它打开,然后把你那一大堆项目文件装载进来,再点“Debug”或者“Run”,那不把人都累死,那还不如自己拿纸做的通讯录记好了。好在这个问题也不难,书上最后一章。做成exe,表示他已经把这本书能讲的全学了,也算功德圆满了。

这次他很鄙夷地看了看王江做的通讯录,虽然王江经过他朋友一个学期广告制作的培训,在IT界也算有点名气,而且功课的成绩也很好,但在他看来,王江做那个通讯录也不过尔尔。当然,这就许就是宴斌心目中标准的期末考试答案。他幻想着当宴斌打开他的磁盘,双击鼠标运行,立刻露出的惊讶的表情。所以,他很有道理用鄙夷的目光来审视王江的期末答卷。



陆陆续续的开始交期末考试答卷。绝影是最早的一批。于是和交答卷一样,陆陆续续有人来找他,他也就陆陆续续地出名了。
“做程序员就是好。”绝影这样想,他的第一个梦想实现了。

《疯狂的程序员》4
王江向来对绝影腹诽就很多,眼看这学期的风光又被绝影抢尽,心里很是不爽,他是一个不甘于位居第二的人,显而易见,一处和二处就有本质上的区别。他郑重地告诉大家,他要买个电脑。

这是一件振奋人心的事情。王江往寝室搬电脑的那天,楼梯走廊和过道都围满了人,就差给显示器上戴朵大红花。虽然到最后在这栋楼里,电脑已经普及到几乎人手一台的地步,而且档次越来越高,但人们的心里,为啥要追求处女和美女,往往只有第一个和最贵的一个能给人留下深刻印象。

要么你做第一个,要么你做最好的一个,其他的都没啥大意思。

王江第一次点亮电脑的时候,绝影看见显示器左上方显示了个32M,他终于可以鄙夷地对王江说:“才32M内存,那也太垃圾了。”王江什么也没说。

很多时候就是这样,不需要钱的人往往有钱;不需要美女的人往往周围美女成群;不需要电脑的人往往有电脑。就这样人把大好的资源都给霸占了。绝影知道他比王江更需要一台电脑,但他不能问家里要,要也不会给。从小到大,他学的就是学校教的,什么奥数阿,少年宫阿,钢琴阿,画画阿,这些增值功能,父母都是不可能同意的,当然,父母会很赞成,但是不同意。比如现在手机,给你订一大堆彩铃阿,GPRS阿,天气预报阿,笑话阿,你心里自然也十分不爽。

绝影老说:“事已至此,不必难过,好在天无绝人之路。”果然天无绝人之路。学期结束的时候,他得到一个打工的机会。



工作是在一家超市里做“办事员”。 “办事员”听上去挺不错,至少比叫“服务员”好。上班的第一天,课长跟他讲:“你就做‘办事员’,‘办事员’上面是‘组长’,‘组长’上面是‘课长’,‘课长 ’上面是‘处长’,‘处长’上面的你就不用知道了。下面的必须完全服从上面的安排。当然,可以保留意见,但不得当面顶撞。”

“那‘办事员’下面是什么?”

“‘办事员’下面没有了。”

正视现实,现在随便一个搞推销的,都会自称 “销售顾问”。绝影这样想,觉得待遇也不错,每天20元的工资,还能管一两顿饭,关键是自己还是大学生,跟这群“办事员”比起来,他还是有些莫名其妙的优越感。特别感觉自己《数据库原理与应用》拿到了90分的高分,别人问:“学啥的?”他就可以大大咧咧地说:“搞数据库的。”

处长说:“今天第一天,就上个通班吧。”那语气,仿佛上通班就是对他照顾有加。当天,绝影就发现他上当了,本来这工作是两班倒,所谓上通班,就是早班和晚班一起上。他想去争取点加班费,因为这样实在不公平。

处长说:“新来的吧,难怪不懂规矩。上通班锻炼人,懂不。头发剃了,搞服务行业的,不像样。”

第二天,绝影6点就起床了,晚上回家是11点。人躺在床上,就像散了架。好在一个月很快就过去了。

在这一个月里,发生了几件重要的事情:

一、旁边部门负责卖“红泥花生”的花生妹跟他说:“我喜欢你。”

二、在超市里碰到一次自己的辅导员。她说:“听宴斌说你计算机很不错阿。”

三、在超市里遇到了自己初中的暗恋的女同学。那可是个才女,正因为是个才女,所以班主任棒打鸳鸯,让他请了家长。那女同学很惋惜地看着他,问:“你现在怎么这样?”她想他应该没有念书了。他很平静的说:“这样也有很多乐趣。”她要他的电话,他没给,他说他们以后也不会联系的。

四、课长让发给他一张农行卡,里面有600元人民币。

离开超市的时候,绝影在那一刹那决定信仰马克思并且决定信仰一辈子,他真实具体地体会到资本家是如何榨取工人的剩余价值。



拿到600块钱,绝影妈妈又给了他600,因为之前说好,只要他去打工,妈妈也再给他开一份工资。他用这1200大洋换到了他人生中的第一件大件:一台崭新的赛扬366二手电脑。第一次点亮电脑,他看见显示器左上方显示8M。卖电脑的不断跟他解释这8M是显卡显存不是内存。现在他才意识到王江的32M,他又输给他了。那天晚上,他把电脑放凳子上,自己躺在床上,给机器装了个Windows XP Profession,装了两次,一夜没睡。



开学的时候,又有几个人的电脑桌上摆了电脑。绝影跟别人说机器是从家里搬来的,因为别人的机器都是新机器,而且在那一年,Windows XP和P4普及已成事实,你要跟他们说你用的赛扬366而且还是二手的,那还不被人笑死。严格的说,绝影非常庆幸电脑没有实行年检和强制报废制度。

一辆宝马7X,你敢开230Km/h的速度在马路上跑么?不敢。奔奔呢?是奔奔就敢,只要人不出事,别说跑230,就是跑320都不怕?什么是牛B?把卫星放上天那不叫牛B,把汽车放上天才叫牛B。所以,绝影就经常在他那赛扬366上快乐地跑着极品飞车。

可好日子总是那么短暂,他的机器终于点不亮了。好在还算是正规渠道购买的,去找他,那卖电脑的人看来也经验丰富。拿几个卡往上面一插:“BIOS坏了,重新刷个吧,估计中了CIH病毒。”

刷个BIOS 30块钱,可机器总是只能坚持那么几天,看来这CIH确实恐怖。网上去查,说CIH只感染Windows 98。绝影又觉得上了大当,看来这机器也不能再叫那人去弄,自己来拆。拆开机箱,他又体会到第一次打键盘的感觉――生怕不小心碰个按钮电脑就爆炸了。其实都没他想的那么复杂,没想到把机箱拆了又装上,机器居然又点亮了。



晚上睡觉的时候,土匪问他天天对着电脑最近在干啥。

“研究CIH。”

“算了别浪费时间了,还不如花点时间去泡妹妹。强哥他们班上唯一一个妹妹转学;昨天开会的时候没戴眼镜,居然跟电子班上那个恐龙坐到一排,后来差点把我吓死……”

“你不懂。研究CIH,准备做病毒了。”

“你那点水平我还不知道,你忽悠别人行,骗不了我,装精!”

“装精”这个词好像是土匪专门为他发明的。他就怕他说这个词。他想不给他展示点大才华他是不肯就范的。

“你懂么?CIH,唯一可以攻击硬件的,通过中断门还是调用门进入0环……”他这样说,其实都是网上讲的,中断门调用门0环是啥?他也不知道,他想直接跟他说“Call Gate”,“Ring 0”,觉得这样太抽象,不专业。那时候,对他来说所谓研究“CIH”其实就是在网上看看什么是“CIH”,怎样避免中招。

“我要做个病毒,就藏电源里面,电源总不会断电吧,哈哈。就一直藏那里面。”

他说的时候,也做着这样的梦:有一天,他可以做个病毒,藏电源里面,电源总不会断电吧,哈哈。就一直藏里面。

直到有一天,他看到一篇文章上面写着:请记住,病毒永远不可能藏在电源里面。

他想:这是为什么呢?

《疯狂的程序员》5

周五晚上,绝影和往常一样回家。这是他和他们这些大学生唯一不同的地方:他家和大学在一个城市,每周五就可以回家。这样做的好处有两点:一、每周只有五天要用生活费;二、可以不用自己洗衣服,冬天的衣服,直接穿回家换就好了,夏天的,打包回家换。

这周过来,他和平时有点不一样,土匪见他提了两本书,一本《鲁迅杂文全集》,一本《PC汇编语言程序设计》。

土匪对这两本书没都没啥兴趣,他喜欢看武打小说,是“武打”小说,不是“武侠”小说。虽然“打”和“侠”只有一个字的差别,很多时候人的水平都是在一个字之间体现得淋漓尽致。

两本书都不算厚,《鲁迅杂文全集》本来就是家里的,因为现在流行拉屎最低配置:晚报一份;建议配置:体坛周报一份+草纸一张;豪华配置:中华一根+花花公子一本+草纸若干。无非就是嘴上刁和手上拿,中华绝影肯定是抽不了,楼下的小卖部根本没有卖中华的;对于手上拿的,他认为报纸肯定没有书好,寝室那个小小的厕所,当你把报纸铺开后,根本就没有其它余地了。而书架上什么稍微有意思一点的书要算《思想道德修养》,这本书已经快被翻烂了,其实很多人上学期的《思想道德修养》学习都是在厕所里完成的。不得不看《高等数学》、《普通物理学》这些,难度可想而知。《高等数学》还算好。最不服气的就是《普通物理学》,连这也叫“普通”,那妓女的都可能是北大清华毕业。

《PC汇编语言程序设计》是星期天去书店买的。小时候妈妈不准绝影出去玩问他去哪里,他说:“去书店。”这样妈妈就会放他出去。星期天妈妈问他去哪里,他说:“去打游戏。”这样就出去了。他觉得有点可笑,真的去打游戏的时候要说去书店,真的去书店的时候就可以说去打游戏。



买这本书,他其实下了很大决心。早在开广告公司那男人那里学习时,他就已经学到:编程语言分为:“机器语言”、“汇编语言”、“C语言”……他回想起念初中的时候,班里就有几个有钱人家的孩子去少年宫学计算机,学什么?就学的C语言,上完了就回来跟他们背copy con autoexec.bat…….

他问:“啥语言最难?”

“机器语言。”

“那就学机器语言。”

“没用,学那玩艺,比如你自己坐在‘奔驰’里面,前面再套两匹马给你拉车。那是不仅费力不讨好的事,关键是还被人耻笑。”

“那就学汇编语言。”

那男人就没再说什么,只对他笑了两声。

对绝影来说,要么就做第一个,要么就做最好的一个。当你已然做不成第一个,那你就努力去做最好的,要是你感觉也做不到最好,那就不要做了。现在姑娘的心理就是:她深深地爱着她认为最好的男人,但心里永远想着她的第一个男人。她没有错。

现在他有个绝佳的做第一的机会:在这个班、这个专业有可能整个学校,应该还没人能用汇编语言写程序。所以这一次他不惜一次性花掉半周生活费买了这本书。交钱的时候,他迅速打量了周围的人,有人拿着《天龙八部》,有人拿着《第一次亲密接触》。他十分体面地把这本《PC汇编语言程序设计》往收银台上一放,掷地有声,收银小姐以为他对长时间排队有很大意见,一边跟他说对不起,一边迅速打单。



这是绝影买的第一本关于编程的书,虽然上学期学了《数据库原理与应用》,他也想买几本书来提高提高,奈何那种书页数和价格都太离谱,平均下来每页0.15元,截图大概占到10%。

但是土匪仍然无情地对他进行了打击,对土匪来说,能够成功地无情打击别人是他最快乐的事情。人无非有两种方法提高自己,一是真的提高自己,二是打击别人提高自己。自从上次绝影去广告公司学习“DOS”失败,土匪更可以以事实为基础,有理有据地对他进行打击。这次不仅是土匪,王江也发动了强大的攻势。

自从绝影也有了电脑,王江改变了自己的战略,不再在《数据库原理与应用》上跟他斗,他成功转型到平面设计上,他有个朋友会广告设计,这是得天独厚的优势。并且平面设计这个东西本来就是从视觉上震撼别人。所以王江的转型相当成果。对一个搞平面设计成果的人,书架上摆几本《Flash设计与制作》,《Photoshop入门与提高》那是相当正常并且能跟自己的身份很好配合的事情。现在寝室夜谈要讨论的重点就是:对于绝影这样的人,往书架上摆《PC汇编语言程序设计》是不是卖弄或自我炒作。



据说《相对论》刚刚出来的时候世界上只有三个人能看懂它。人生最大的痛苦莫过于没人理解你。绝影没法跟他们讲“技术”,因为他们根本就不懂“技术”。比如你跟猪讲《普通物理学》,要是猪能成功计算出杀猪刀进入身体时力量有多大,压强有多大,能够通过给定的猪皮的厚度和强度计算出自己应该以多大速度向后缓冲才能成功让杀猪刀无法穿透猪皮,那么你就可以跟土匪和王江讲什么是汇编语言,为什么要学汇编语言了。

所以对于这些人,要让他们闭嘴唯一的办法就是拿出成果来让他们看。虽然全世界大部分人都不懂《相对论》,但用那理论做出原子弹了,全世界的人就都相信它。

领导都说:“顶着压力上。”学习应该是很值得提倡的,绝影没想到现在学习也要顶着压力上。他看那本《PC汇编语言设计》,前面几张都很无聊,后面有些例子,当初他买这书的一个重要因素就是这书里面有很多例子。什么进制阿,原码反码补码阿,他还是没搞懂,虽然这学期《计算机文化基础》也讲这些,但是他还是没懂。他有时候有点恨最早设计计算机的人,他不知道是谁,就恨冯.诺依曼吧,书上都说几十年了,计算机一直都用冯.诺依曼结构,这个是考试常常要考的,就恨他吧。他恨他:人的指头都是十根,十进制好端端的,为啥非要在计算机里面用十六进制阿,二进制阿这些抽象的东西,送进去要转换一次,算出来还要转换一次,那不是没事找事吗?

再有就是1024的进制,广告公司那男人跟绝影说:“计算机里往上进都是1024,1024是1K,1024K是1M,1024M是1G,G往上还有T什么的,不过说了也没用,现在硬盘阿,内存阿还没达到T计数的水平。至于为什么进位是1024,等你结业的时候再来问我,那时候我再来告诉你。”后来绝影没去找他,自己给自己结业了,也就失去了知道这个进位数值的机会。不过那堂课对他还是用有的,至少让他知道现在造硬盘的,卖硬盘的都是奸商。你跟他说:20G的硬盘,实际按照1024一除,不过18.6G。他们忽悠人最成功的地方在于他的算法肯定也是对的,而且是大多数甚至所有人的计算方法。

再往后面一点讲些简单的指令,什么数据传送指令这些,让他找到一点感觉。有句话说的好:“来”是come“去”是go,“是”yes不是“no”,英语就是顺口溜。mov就是传送数据,add就是加sub就是减。这一切简直太简单了,不用理解,就算全背下来又如何。当然,这都是“简单的指令”。到后来的寻址方式又要人命。十六种寻址方式,那名称又不像mov,add那样简单,不是不简单,简直是绕口:什么基址变址后面居然又有相对基址变址。

首先他就不明白什么是寻址,为什么要寻址。偏偏书上说这点又很重要。这就好比驴拉磨:驴蒙了眼睛去拉磨,只晓得往前跑,不知道为什么。这是最痛苦的事情。就像中国大学的大部分教材,根本不告诉你为什么要这样,为什么要这样我们下几章再讲,不明白就死背,背了又不理解,这一章不理解下面几章就更不理解,下面几章更不理解就根本不明白为什么要这样。最后到头来整本书学完了也就一锅粥糊里糊涂知道里面有些啥东西而已。

这章确实把他弄的很头痛,以至于很长一段时间,问他在干啥,都说:“在研究寻址方式。”他爱不爱用“学习”这个词,爱用“研究”。因为很多东西他觉得他都是自己在学,没人教他,自己学,就叫“研究”。

绝影想认真研究,不能搞成一锅粥,他想:先放一放吧。

这一放就放了一学期。

《疯狂的程序员》6

在这学期里,绝影他们班上又出了个不得不提的人物――鸡哥。

鸡哥本来长相很老实,也就是“中国传统式的农民”,但他的不安分和他的长相成鲜明的反比。他老爸极其神秘,是个有正当工作并且很有钱的人,这样来看,莫非是XXX银行行长。后来绝影也有机会见到了他老爸,他和他老爸唯一的区别是他有个好老爸,而他老爸没有。

毫无疑问,鸡哥的电脑在班上甚至这栋寝室都是最好的,那19寸的Samsun显示器就充分说明了问题,据说是CPU还是P4 1.7G的。绝影在心里算,自己的366MHz,他那运算速度就比自己的快4.75倍,就算冒死超频超到800MHz,也比人家慢2.17倍,而且还光死机。所以说什么程序上的优化啊,都抵不上有钱,有钱就是最好的优化,现在说什么效率就是金钱,其实金钱就是效率。

鸡哥曾经私下里找过绝影三次,表明自己要走IT发展线路的心迹,他说刘备也就三顾草庐差不多了。绝影说《出师表》那是文言文,文言文,“三”是多的意思,上了二都叫三,那意思是“多顾草庐”。他不想跟鸡哥讲关于IT的事情,道理很简单,现在很多人不得不找他,因为除了他,就没人可找。还记得高中历史里面讲为啥中国必须走人民民主革命,走社会主义道路而不能走资本主义道路么?在中国不是没人尝试走资本主义道,那是因为外国资本主义、帝国主义不允许中国走资本主义道路强大起来。他不能让鸡哥走IT道路强大起来。因为他还清楚的记得那次《计算机文化基础》上机课班花的机器突然不行了,DOS下打什么命令都是“Memory Overflow”,找到他,歪打正着敲了个“exit” 进去居然就弄好了,班花对他深情地说:“高手就是不一样。”因为有“高手”这个词,又因为是班花,又因为是“深情”,绝影心里舒坦了一周,想在广告公司那男人那里花的钱也还有点用,这不找回了点投资。你想要是把绝招都教给鸡哥,以后班花对他视若无睹把这词送给鸡哥了,那不等于自己搬了石头砸自己脚。

鸡哥碰壁了几次,自己也觉得没啥希望了,觉得一个人干,还是靠自己踏实些。像绝影那样搞程序,没前途,自己做不了第一个,估计也做不了最好的一个,因为他心里清楚他不可能有绝影那么多时间来看书,来研究。像王江那样搞广告设计,也没前途,自己的专业是理工科,这东西大家都不会用,不会用的东西你学了也没用,一不能让你出名,二不能给你带来经济利益。

最后琢磨着,搞系统算了。鸡哥还是比较有预见性的。照现在的趋势,计算机的普及大一点说在中国,小一点说在他们班都是必然的。有大规模的普及,必然对搞系统的人才有大规模的需求,自己就在这上面迅速抢做到第一。

事实鸡哥的想法和做法是相当正确,就在这一学期间,计算机像爆发一样迅速在班上普及开。原因有二:一、现在人们的生活水平提高了,而且大部分都是独身子,花几千块钱买台电脑为自己的儿子女儿装饰一下寝室那张电脑桌已经不是什么难事,而且在那个网络游戏并不是很普及的年代,家长们还一门心思认为电脑只是个学习工具,可怜天下父母心;二、据本专业上一级传来的消息,大二上学期极有可能要开程序设计课,应该是C语言。

说实话,望着鸡哥那经常出入女生寝室的身影,绝影有说不出的羡慕。从念大学到现在,他在女生楼下站的时间加起来没有超过5分钟,在女生寝室里站的时间加起来为0分钟,因为学校有规定,男生不得进入女生寝室。

鸡哥有着很正当的理由进去:装电脑。你想一台电脑搬回寝室,先摆好位置、接线、弄电源、装操作系统、装软件,这样一弄下来,还不一两个小时。鸡哥就可以在女生寝室充分欣赏里面的风光,回来后跟大家说:“知道女生书架上一般摆什么吗?知道女生是如何晾衣服的吗?知道女生上电脑都干啥吗?”

绝影还清楚地记得有几次在路上碰到鸡哥,腋下夹本书,问他:“上哪去?”鸡哥平静地说:“装系统。”

后来绝影一直鄙视他说的内容和他当时说话的神情,鄙视了四年。



电脑普及开了,网络也随之普及。中国电信这次脑子还是转的很快,在第一时间为这个学校的学生推出了一个套餐:40元每月每2G流量。意思就是,交40元你就可以上一个月网,但是流量不得超过2G,超了就停网。

2G,放到现在还不整死人,随便一部好一点的DVD就1,2G还不算听歌打游戏下载些无聊的东西。不过你要理解在那个BT和P2P还处于试验阶段的年代,2G仍然算得上是“海量”。

网络普及开了,问题也随之来了。这个问题――现在的程序员喜欢称为BUG――最早是王江发现的,这天,他打开电脑,还没拨号居然就可以上网。那一天,王江的电脑一直开到晚上11点寝室熄灯,整整下载了300多首MP3。

后来绝影也有个重大发现,原来整个学校所有上网的机器都在一个局域网中。这也是个重大的发现,上网搜一下,有个叫“蓝精灵”的小工具,大概就是“LAN”什么什么的,可以探测局域网中的共享。他拿这玩艺跑了一天,有时候差点笑死,这居于网中,学习资料啊,毛片啊,照片啊,MP3啊,电影啊,什么都有,特别是从几个女生的机器中搜出的QQ号码联系资料,让他如获至宝。他就觉得好笑,好端端的为啥要把这些资料放共享里面,而且还不加密码。不过话又说回来,即使在今天的中国,仍然有很多人犯着这样的错误。犯这样的错误不要紧,要紧的是他们往往还附和着去怪微软操作系统存在巨大漏洞和安全隐患,好笑这些资料是Windows XP发到绝影手上去的。

那以后,他们几个天天开着电脑等免费上网,没免费网的时候就用“蓝精灵”去局域网上淘淘宝。中国人和外国人很大不同就在于外国人总想是热衷于在第一时间把自己的新发现公布出来以此向广大人们群众展示自己的水平;中国人往往喜欢把自己的新发现阴在心里,自己偷偷垄断享用,唯恐被第二个知道,公布出去,相关部门肯定马上解决,到时候自己也享用不成。

不管怎样,纸包不住或,没多久,免费上网的问题还是暴露开了,相关部门果然立即着手解决了问题。绝影和王江他们几个是定了攻守同盟,肯定不会泄漏,想是让其它人发现并上报了。局域网共享的问题电信还是没有解决,只是在楼下宣传栏张贴了通知,大意就是说请保护好自己的资料,设置密码,不要轻易共享,即时升级杀毒软件。这样看来,当时学校上网的技术应该是小区宽带,电信根本无法解决大家都在一个局域网内这样的问题。可是,这个小区宽带竟然囊括了整个近3万人的学校,也太大了。



后来绝影想还是要感谢电信的忠告,因为他自己的机器就中了两次病毒。他承认他是开了几个共享,那共享名都是骗人的,什么“XXX18禁呀”,“XXXX科目期末考试题”呀,其实里面什么也没有,他也不知道怎么就中了病毒。

病毒这东西就是厉害,一个人发现了,没多久,打死一大片。这下鸡哥可成了大红人,频繁出入于女生寝室,男生这边要找他,还得装孙子请他吃饭喝酒,明明他吃了喝了,可是完了还得跟他说谢谢。没想到装系统的也能这样牛B。

绝影和王江他们坚决不找他,大不了自己重装,虽然重装系统很耗时间,但是坐在电脑面前看下面的进度条不断前进,上面的倒计时不断减小,也觉得十分充实。

两次中病毒的教训还是让绝影吸取了经验,他马上花了98元大洋买了套正版金山毒霸。钱是学校退的上学期书费,本来他是想等到放假的时候用的,因为一旦放假,妈妈就不会给他生活费了,这也就意味着他要断烟。

那金山毒霸用户授权书上写着:本软件限一台机器使用。后来,绝影的那套至少装了10台机器。



从那以后,绝影对病毒有了新的看法。CIH是破坏力大,但现在都上XP了,也就没用武之地,没用武之地那破坏力再大也没用,所谓好的病毒,就是要“持续时间特别长,波及范围特别广,破坏力特别大”,这是高中历史上讲20世纪30年代资本主义经济危机时用到的词,绝影觉得用在对好病毒的评价上刚刚好。

所以病毒再好其实也没用,没人种病毒,病毒就没用。想到这里,他一直琢磨最近在网上研究的局域网入侵,那上面就说的特别悬,说什么黑客能进入你计算机,控制你计算机,还可以控制你鼠标怎么动,控制你开机关机。要正能这样,给他种个病毒还不易如反掌耳。黑客听说过吧?谁没有听说过,记得他把电脑搬到学校的第一天,爸爸就给他说:“注意了啊,别去搞黑客,要被抓的。”

绝影觉得爸爸太有才了。他决定去做黑客。

《疯狂的程序员》7

越是神秘的东西人们就越好奇,越好奇就越羡慕。为啥老说别人的老婆比自己的好,肤浅地说是因为“审美疲劳”,有深度一点,那是因为你天天对着她,早没了神秘感。比如黑客。黑客是啥?其实黑客还不是人,还不是要吃饭睡觉泡妹妹。但是因为他神秘,为什么神秘?因为你不知道他在干什么,更不知道他干那些是用的什么技术方法,但是他又能干些你想都想不到的事情,所以好多人就羡慕黑客。正如鲁迅先生说的:“看不懂的文章,至少别人不会说是坏文章。”

绝影也是羡慕黑客中的一员。与其去羡慕别人,还不如让别人羡慕,所以他立志要做个黑客。

他要做一个黑客,就真觉得自己是一个黑客。每次当他看《黑客文化》、《黑客守则》、《黑客精神》的时候他就热血澎湃,自信心极度膨胀。因为做黑客不像入基督教那样还有一大套仪式,所以他理所当然认为自己已经是个黑客。他始终觉得自己比别人对黑客的理解要高得多,当大部分人认为黑客是搞破坏搞恶作剧的代名词的时候,他真实地理解到黑客应该是这世上充满著等着被解决的迷人问题,他们包括他自己存在着是为了发现更多的问题,帮助别人解决更多的问题,当做到这些,他感觉自己的内心得到极大的满足。所以黑客精神有时候有点像雷锋精神:人活着是为了更多人更好地活着。

于是在网上,别人问他做什么,他总说:请叫我黑客。事情往往是这样,当你不是黑客的时候,总说:“我是个黑客。”但当你真正成为黑客,你往往会说:“我不是黑客。”



没有技术是做不了黑客的,至少别人不会承认。所以一定要学点技术。网上介绍黑客的东西可谓五花八门,绝影觉得太杂了,把黑客弄得不伦不类,说找漏洞,入侵,说的就像个贼。在他心中,黑客应该是大大咧咧走进别人系统,把漏洞全部找出来,然后很有绅士风度地给别人留一封信:你的系统存在XXXX漏洞,请尽快修补。落款是“绝影”。能进别人系统偷东西,那就是小偷;能进别人系统又不偷东西,那就是黑客。

网络就是这样,有好的,也有坏的,就比如MSDN,说他东西太多了,根本无从看起,但这也总比什么都没有的耗。所以对黑客的学习,绝影就停留在《黑客文化》、《黑客精神》这些东西上。直到有一天,他在食堂旁边的书亭发现了一本杂志。

本来绝影一般是不去书亭的,书亭的书都是花花绿绿,而且大多数都是为了博看客一笑,比较适合上厕所用。这样的书,绝影往往能在两个小时内就读完,而且还卖好几大块钱,绝影想:不化算。

这次不一样,土匪吃过饭肚子突然痛起来,他认为是食物中毒,但是绝影也吃了,什么事也没发生。他去上厕所,绝影在外面等他。从食堂到寝室有很大一段路程,还是等他出来两人一起回去比较好。绝影没事的时候,就去这家书亭转转,忽然让他发现了一本杂志――《黑客防线》。

这书一看就知道是黑书,因为封面封底的主要基调都是黑色。好在绝影没有被外表所迷惑,拿到手上随便翻了几页。他震惊了:那是相当强悍啊。里面都是牛人高级技术,虽然他什么也看不懂,但凭感觉这也是相当高级的技术。

他来不及多看就大大方方地掏出10元钱大洋,放在老板面前说:“就要这本。”

土匪出来了,问他拿了本什么书,他说:“没啥,杂志一本。”

他不想跟土匪说买了本《黑客防线》,这样土匪一定又会打击他,土匪就是那种心理:自己不懂的,要尽一切可能让别人也不懂;自己懂的,也要尽一切可能让别人不懂。

回到寝室,他偷偷躲在床上看这本杂志,更加坚定了这是本好书的信念,因为他看到这里面有很多实际操作和例子,好多文章的标题都叫《一步一步入侵XXXXX》。对很多初学的人来说,依样画葫芦是最好的入门方法。

杂志里面有张光盘,绝影小心翼翼地在F盘建立了依个目录:“Hacker”,在下面再建两个目录,一个“Tools”,一个“Docs”。做完这些,他又小心翼翼地把那张光盘的东西归类到这两个目录下。从此以后,他的这两个目录就在不断充实着。后来有很多次要用某个工具或者阅读某篇文章,他费尽心机从网上扒下来,却发现这些东西本来就在他那两个目录里面。



《黑客防线》的大多数文章对他来说还是太难了,比如上面讲怎样扒肉鸡,以XXXX论坛为例,有个什么什特征,就存在什么什么漏洞,绝影就去网上找,可哪里找得到XXXX论坛,有这样的特征啊?所以大部分东西还是只有纸上谈兵。破解的文章还算比较好看,上面已经地很明白,破解XXXX软件,版本多少多少,直接去网上找下来行了。破解要什么?SoftICE是必装的,坏就坏在SoftICE对Windows XP兼容性太差,或者是他机器本身就有问题,每次按下Ctrl-D那个调试窗口弹不出来反而弄得他死机。

最后干脆把XP格式化掉,重新装个Windows 98,SoftICE 4.01在上面跑起来顺畅多了。不过破文还是看不懂,好在大部分作者非常照顾绝影这类的读者,往往都在后面写上:一个有效的序列号的例子是:XXXXXXXX。绝影用这些序列号去注册软件,真的能用。所以他机器上有好多注册版的软件,有的还是有用,但大多数他都没怎么用。



绝影一直学着黑客,他觉得老在自己机器上研究实在太没劲了,比如你自己机器上有什么漏洞,你肯定都去打了补丁,你自己去控制自己机器呢?那更无聊。大概研究了2个月,他决定去网吧试一下身手。

学校的网吧分两种,官方网吧和野网吧。所谓官方网吧,就是学校自己开的,在计算机学院的办公楼,网吧很大,大概有80多台机器,除了可以正常上网,上面还装一些学习软件,比如Word啊,TurboC啊,有时候也兼上机课或者考试课。这还是比较好,因为考试的时候,如果去正规的机房,起码要8点钟就去排队,而且排到10点都不一定有位置。这时候,你就可以去这家网吧,花1块5毛钱,理所当然地找个位置坐下,等你做完作业或者完成考试的时候,你还可以看见同学们还在那里排着队。

他觉得官方网吧比较好,因为这里的机器装了很多软件,有些还有光驱,而且因为是官方的,如果做出了什么实质性的工作就可以迅速引起轰动。

他去了网吧,很大方地掏出10元钱,跟网管说:“通宵。”

网吧不比自己的机器,啥基本的东西比如端口扫描啊,漏洞检测啊这些东西都要自己下载。绝影还是大大咧咧把这些都全部下下来,然后一个一个运行慢慢搞,他想反正别人也不知道他在搞啥,他就嘲笑那些正打着红警,CS的人,大好的时间和父母金钱都让他们给浪费了。

在他自我感觉良好的时候,冷不丁的,网关在他身后冒了一句:“Hacker?”

这短短的一句话,给了绝影极大的震撼,因为这种语气和语调,是一种鄙视,嘲笑,还是轻蔑。那分明是在说:“你也搞Hacker?”或者“又是一个搞Hacker的?”

人幼年的心理阴影往往会伴随着他成长,一直到他长大,一直到他老。对绝影来说,他正处在学习黑客的幼年,所以,在打今后的成长中,一直都伴随着这次的阴影。以至于到最后,到现在,网管一直都是他最鄙视的职业:没有一点技术含量,还自以为自己就是做技术的。



有句话叫“无意插柳柳成荫”,前段时间绝影逢人便说自己是搞病毒,可越说越没人相信他,大多数还会露出鄙夷的神态或者耻笑他几句。这次,极其低调地研究着黑客技术,可没多久,大家都知道他是黑客了。

就有人慕名而来向他请教。

那是别专业的学生,计算机专业的,他不认识他们,但他们已经认识了他。这种被人认识的感觉相当好,后来我们往往说:“XXX,那个人我当然认识…….可是,他不认识我。”如果有一天,你跟别人说:“什么XXX?我不认识,但是他认识我。”那种感觉,就是不一样。

他觉得展示自己成果的时候到了,没想到他再一次受到打击。

他很热心地回答他们什么是黑客,怎么学,学什么,当然,这都是他自己的想法,其实很流于表面,不过他们倒是听得头头是道。这种滑稽的场面,很像现在大部分外行领导内行的公司,上面的人说得眉飞色舞,下面的人听个半斤八两,也不管什么,都只管一个劲的说:“对,对,有道理,说的太好了……”

最后,他们说:“给咱演示一下吧。”

这是绝影盼望以久的,比如学开车,你讲半天那都是空话,就像嘴上刁根笔当烟抽,那都是过干瘾,非要真正上车去开一把,那才算心里一颗石头落地。

绝影慢慢打开他的Hacker目录,生怕打开快了里面的东西一不小心都飞了。那几人在旁边也看得小心翼翼。等到东西真正露脸的时候,绝影没听到惊叹的声音。他们说:“是这样啊,那是别人做的工具。我还以为你都是自己写的程序来做黑客呢。”他们几个对视几秒中,大概觉得再往后看下去也没啥意思,于是一起说:“久仰久仰,告辞告辞。”

绝影忽然觉得好失落。



但是他仍然没有退缩,《黑客防线》还是一期一期买着,他那个“Hacker”目录还是不断地充实着。

有一天,他在一期《黑客防线》上看到一句话,就现在来看,这句话改变了他的一生。

《疯狂的程序员》8

上面是这样写的:程序员是值得尊敬的,程序员的双手是魔术师的双手。他们把枯燥无味的代码变成了丰富多彩的软件……

绝影忽然感觉很震撼。他想起最开始的时候他为什么想做一个程序员?因为程序员就可以去教书,教书就可以从学校里泡妹妹出来,这是很牛B的事情。再想想,为什么要去学黑客,到底是自己追求黑客的那种精神还是为了追求向更多的人展示自己,让他们来崇拜自己。大部分时候,带着不一样的目的去做同一件事,结果往往大相径庭。

他还是想做程序员。为什么?不是因为这个职业是天底下最伟大的职业。你想,当你爱好着某件事情并且去做的时候,你心里当然会非常舒坦。但如果这事情是你的工作,你不得不面对BOSS的面孔,不得不在规定时间内完把它完成,又不得不用做这件事来换取你明天吃早饭的钱,打车的钱,喝咖啡的钱的时候,你当然会感觉很累。所以有时候兴趣固然重要,兴趣能给你动力去做一件事,但最重要的却是热情,热情能给你动力去一直做这一件事。

在中国,人多少都要受十几年的教育,最后归根结底,十几年的教育也许就教会了你那么一两句话。对绝影来说,有三句话:一、把自己的东西分一半给小朋友。这是幼儿园老师告诉他的;二、实事求是。这是高中哲学老师告诉他的;三、程序员是值得尊敬的,程序员的双手是魔术师的双手。他们把枯燥无味的代码变成了丰富多彩的软件。这是《黑客防线》上写的。



放假了,绝影只带了一本书回家――《PC汇编语言程序设计》,电脑实在太重,就让他放学校。王江的电脑也放学校,不过是花了五元钱放寝室管理员那里保管。他没有。其实带那本书回家多半还是给妈妈看的。寻址那部分实在太抽象,卡在那就一直动不了。

整个假期他就想好好收拾一下心情。啥也没做,就跟“三陪”下了32盘国际象棋,胜21,平5,负6。

三陪是他从小玩到大的伴。追溯起来可以从幼儿园说起,俩人坐到一起,总是以:“唉,家里穷……”开始。不过他们俩家里也确实穷,不然他们为啥天天坐楼顶上下棋,有钱早跑去网吧上网去了。

绝影想跟三陪讲一些黑客啊病毒方面的东西,毕竟经过在学校这么一年,感觉自己还是多孤单,有时候就有那种没人理解,就是“高处不胜寒”。但是三陪对这个不感冒,他喜欢听音乐,弹吉他。



开学的时候,土匪也俨然一个搞IT的。桌上摆了一台电脑主机,和绝影他们不同,那是台品牌电脑,整个机身相当小,只有绝影的三分之一,所以他的主机摆在桌上,绝影他们的摆在桌下。那显示器也相当小巧精制,不过摆放的位置刚好遮挡了他的镜子。主机旁边是本绿色的书,绝影远远看了一眼,好像是本介绍Visual Basic的。

土匪很得以地看着绝影和王江笑,所以技术的进步有时候也不是啥好事情,以前的文化人和文盲很好区分,起码有胸间别几只钢笔,夹个文明包,那就是文化人,而文盲是怎么学也学不到这一步来。现在可好,电脑一下普及进文盲的社会,像土匪这样的文盲也能迅速用它来作装饰,迅速步入文化人之列。绝影感觉像他这样的文化人,一下失去了以前文化人的优越感。

王江说的第一句话是:“课表在哪?”他没有第一个关心土匪的电脑,这让土匪多少有点失望,他慢条斯理地把课表递给王江,王江迅速扫视了一编,用周星驰式的笑声干笑了两下:“果然有C语言!”

绝影凑上去看,课名是《C语言程序设计》,老师还是宴斌,每周2讲。现在人常说那人牛B,说:“那斯,给他卫星他也能放上天。”这真是大学老师的真实写照:比水平?别人能上两门课,我就上四门五门。VFP?能教!C语言?也能教!高数物理不能上?创造条件也要上!最后其实哪一门都不精通,大部分照书讲。作业?有参考书――教书专用参考书,不给学生看,什么作业啊考试啊随便五六分钟就从上面扒下来一套。你想上一门课多少钱?要是能上五门八门的,那工资还不顶天了!

下午土匪就去教务处领了课本,绝影迫不及待从他手中接过一本《C语言程序设计 第二版》,谭浩强,清华大学出版社。用这种《XXXX 第X版》,XXX,XXX出版社的方式来描述一本书是绝影的习惯,这样能给人非常专业的感觉,你想连第几版谁写的哪个出版社出版的都了解这么深入,说明他已经对这本书有了深入研究。

绝影跟宴斌算是老朋友了,去年《数据库原理与应用》期末考试完了后绝影想请宴斌一起吃个饭,宴斌说比较忙拒绝了,这当然有可能是借口。后来绝影还是有点庆幸宴斌没有来,否则他90分的期末考试成绩肯定要被绝大多数同学置疑,不过他还是对他这种不给面子的行为耿耿于怀。

去上课,他就和土匪王江坐第一排。绝影当然要坐第一排。王江呢?讲心里话,他是很想学好这门课,毕竟大一的时候他《数据库》也学得不错,宴斌对他的印象还是很好。土匪呢?他必须坐第一排,他深深知道这门课自己要过肯定困难不小,跟他们一起坐第一排首先能给宴斌留下良好的印象,其次从现在开始就跟他们俩混,到期末肯定会对自己照顾有佳。听课的时候,绝影睡觉了,王江认真地记着笔记,土匪在发呆。

回来寝室,王江说:“宴斌瞅了你好几眼,好像几次都想把你弄醒,但是没弄。”绝影当然知道宴斌不会把他弄醒,宴斌不傻,要是把他弄醒骂他一顿,或者让他“Go out”,到期末成绩一出来万一绝影又是全年级最高分,那就等于狠狠扇自己一耳光。

绝影呢?他从小到大就这性格。要像王江那样,天天认真听课做笔记背书回来还使劲把习题拿着做,考了100分,那又怎么样?那是应该考100分的,考不到是你智商有问题。如果你天天上课睡觉不做笔记回来不看书不做作业最后还是考了100,那才能让人刮目相看。别人就想:这是咋的啊?他不学都能得100,我好好学了还不及格,是不是我智商的问题?

有一天你要是让别人对自己的智商都产生疑问了,你在他们心目中就是神童。

但是,不看书是肯定要不得的,本来绝影以为C语言,不过尔尔嘛,凭自己平时的技术积累,还有过不了的?但实际上才上了几节课他就发现不对了。原来一门课看起来容易,你要真的把它当课去学,问题就多了。很多事情都是这样,比如公司里,BOSS跟你说:“小李啊,那个软件客户还想要个功能啊,我看也不复杂,估计就一二十行代码,就当场答应了,你就去看看吧。客户就是上帝,他们的合理要求我们当然要首先考虑。”可是当你把那要求拿来一看,妈呀!这数据库也要重新设计,界面也要改,配置文件要增加,好多结构又要重新设计,一算下来,一两万行代码也解决不了问题,而且估计又要制造一二十个新BUG。

再这样忽悠下去,别说拿全年级最高分,就是考及格,都有很大问题。迫不得已,绝影开始C语言学习计划。当然,他不敢明目张胆地拿出来学习,那就破坏了他在同学心目中神童的形象。

他就偷偷地学。把《C语言程序设计 第二版》,谭浩强,清华大学出版社的封面撕了,粘上《PC汇编语言程序设计》,先在电脑上开一大堆应用程序,什么QQ啊,Flastget啊,记事本啊,计算器啊能开的都开上,再偷偷开个TurboC的DOS窗口,一有人来,马上切换。

所以说人活得很累,有很多事情,像学习,在很多时候都不是为自己学,是为别人学。为什么?因为你在别人心目中是个高手。你不得不花比别人更多时间去维护你在别人心目中高手的形象。你做到了,但那又有什么,别人认为你理所当然应该是个高手,那是你应该,他才不会管你比自己多花了多少时间和精力而来赞扬你刻苦,值得学习。

这一点被资本家充分利用。BOSS总说:“小张啊,你从来没让我们失望过。”你听了心里自然舒坦。然后他说:“哎呀现在公司里这个编译器不好用啊,你想想办法,给咱们开发个编译器吧,两个月时间够了吧,这点东西对你来说算啥啊?你从来没让我们失望过啊。”你听他这么说的时候又恨不得立刻给他两耳光,但是没办法,谁让你从来没让别人失望过。最后反正不管你用什么办法千辛万苦终于把这编译器搞出来了,BOSS又微笑着对你说:“小张啊,你真是从来没让我们失望过啊!”那你就等着他下一次让你开发操作系统吧。

话说回来,绝影认真学了下C语言,觉得很有意思,他就不明白别人为啥老不懂,像土匪,背数据类型,背关键字,背函数甚至去背程序,每天累得要死。其实C语言这东西,只要你天天上机,经常摸着代码很多东西不用背甚至不用看就知道了,反而是那些天天背不上机的人,一旦上机,写的东西又全是错的。写程序,不比其它的学科,动手才是硬道理。

往后一点是讲的指针。指针这东西,绝影开始还有点害怕,早在他还在学“DOS”的时候,广告公司那男人就说:“指针啊,是C语言最复杂的东西,也是C语言的灵魂。”这话估计是他抄的,因为现在很多前辈都用这句话教导后辈。不过到后来,也觉得就那么回事,不就是存放个变量的地址么?就像学校的信箱一样。你跟别人说,给我写信,寄到XXXX大学509号信箱,别人怎么知道509信箱是啥?不过他不用管,只管把信发过来,到时候你去箱子里取东西就是了。只要这么想,就拿指针当信箱吧,往那里送信行了,其它不管,一切问题就简单了。

想到这里,绝影突然又想起来一个问题,他的心跳开始加快,呼吸急促,手开始战抖,胡乱往桌上摸索着,他在找一本书。


《疯狂的程序员》9

他在找那本《PC汇编语言程序设计》,那书封面已经被撕掉,还好没被当废纸扔掉。他赶紧翻到寻址那章。

原来如此!寻址方式原来就是寻找数据的方法。比如要除法,被除数在哪里,除数在哪里,商放哪里,余数放哪里,要么在寄存器要么在内存。就这么简单个道理,不如就叫“数据寻找方法”那让人一看就明白,多直观。非要叫个大家都不熟悉的“寻址”。就算叫“寻址”,也完全可以在旁边加以解释,或者写上句:“XXXX寻址方式类似于C语言中的数组。”在C语言指针那一节中加上句:“指针实际反映了CPU的XXXX寻址方式。”

可中国的教材就是这样,好像搞汇编的人和搞C语言的人有仇,大家各自为政,我专门出书讲汇编,可不能便宜了那些搞C语言的,更不能在书里给他们打免费广告。最后的结果就是:寻址是汇编中最难的,指针是C语言中最难的;学汇编不懂寻址,学C语言不懂指针。害的是真正来学习的人。

明白了这个道理,绝影觉得寻址那些东西就不过尔尔,什么寄存器寻址,就当寄存器是个指针,里面放地址;什么基址变址,就相当于数组,放个首地址,加几就相当于访问后面几个字节。



C语言的课继续上着,对大部分人来说,到后面越来越难,特别是学了函数,你想他们要去背那么多库函数,还要记关键字,甚至宴斌跟他们讲个For循环,他们都要把例子背下来才行。然后是上机练习,那本《C语言程序设计 第二版》,谭浩强,清华大学出版社还附带有本上机练习。

不过这都难不到他。他觉得这本书很不错,当初刚领到书的时候他就觉得不错,因为是清华大学出版社的。记得以前什么图书博览会他去买书,到最后书都是论斤卖,清华大学出版社的最贵,16块一斤。现在他也不怕了,干脆把《PC汇编语言程序设计》的封面也撕掉,书弄到这个地步,叫读书破万卷。

他想谭老教授凭这书也赚了不少钱吧。这也没什么不好,能够真正给别人带来好处的东西就是应该让人赚到钱,当然,如果你的东西真的有价值,你也不用愁赚不到钱。可现在的人一天到晚还是愁:哎呀物价涨了,啥时候才能赚大钱啊?这样想的时候你自己好好反省一下:你真的有多高的技术么?你真的有多高的智商么?你做的东西真的有那么大的价值么?



慢慢地,和去年一样,陆陆续续有人来找他。基本都是做上机作业。这些人很干脆,关系好的直接扔给他,补充句:“千万别跟别人搞成一样咯!”;关系不好的,要么请他吃顿饭,要么先站那讲一大堆溢美之词,最后也要补充句:“千万别跟别人搞成一样咯!”

对于这些请求,绝影一般不会拒绝。关系好的,可以加深关系;关系不好的,要不可以免费吃顿饭,要不可以听些让自己开心的话,买个好心情。关键是他们最后补充的那句:要每个人都不一样。他很乐意尝试同样的题用不同的解法。这个用指针,那个就用数组,这个用函数,那个就用宏,这个用For循环,那个就用While循环,一道题也许练不完整本书的内容,但是一道题如果用N种方法去解,那就有可能练完整本书的内容。

你想两全其美的好事,绝影怎么会不做呢?

所以那段时间他就特别忙。土匪说:“走走,吃火锅去。”

他说:“莫空,莫空。”

“干啥?又在编程啊?”

“写程序。”

现在大部分不搞程序的人都会这样说:“他,是个编程的。”绝影不喜欢用“编程”,喜欢用“写程序”。比如你去问一个作家:“最近在干啥啊?”他说:“写小说。”要是他说“编小说”,你心里会怎样想?那人也太不厚道了,编造些小说来忽悠看客。在绝影心中,写程序是“创造”,不是“编造”。

这样说的时候,土匪还是很鄙视绝影。虽然他自己断然写不了程序,但是他仍然可以鄙视他。为啥?他自己说:“我啥都不懂,我认了。可是你凭啥就说你水平高呢?”

这种可怕思想存在于现在大部分人的头脑中。别人就算真的好,那也不是真的好,因为我不懂,你跟我讲你水平高,没用,我不懂啊。除非你给我出具一份专家的鉴定书。所以,你比他好一点,他不会承认你,会嫉妒你。要是你比他好很多,他才会承认你,然后会很崇拜你。所以你要做,就应该比别人做得好很多。



后来绝影觉得这书上和宴斌讲的也没啥学的了。书就这么多章,就算你再用功学的东西也不可能超过书的内容。宴斌就讲那么多,除非学校再给他开工资,他不会讲更多,就算讲,也没几个人能听。他忽然想起那汇编语言一放就给放了大半年,反正学校的课也是那样,只要你能够去上课,要挂科还是比较困难,每个老师挂学生都是有指标的,指标早让那些点名不到的人占满了。

于是他又从书架的角落翻出那本没有封面的《PC汇编语言程序设计》。

把这本书拿在手里,想到周星驰的《国产零零柒》,那阿柒辗转沦落为街头卖肉的,这一天,终于来了个人,拍拍他的肩膀说:“阿柒,国家需要你的时候到了。”

过了寻址这一关,汇编学来也容易了一些,至少那后面的什么分支程序设计阿、循环程序设计阿、子程序设计阿这样东西他在学C语言里面已经有了概念,但是他又试想一下,要是没学C语言,这些东西还不是像寻址一样抽象,这样一想他就有点冒冷汗。计算机这门学科,确实和其它的不一样,看来语言都是相通的,要相辅相成,不像那英语就是英语,就算你数学拿到100分,英语还是有可能得0分。

黑客也不能放,黑客还是他心目中的理想。《黑客防线》还是每期都买,又买了四期,期末考试到了。

念大学怕啥?天王老子都不怕,反正大学又不请家长。就怕期末考试。不仅是成绩差的怕,成绩好的也怕,而且越是成绩好的越害怕。成绩差的,担心又要挂科,一个学分60元钱,而且那钱多半不敢问父母要,只好从自己生活费中省吃俭用省出来。成绩好的,担心题目太难了,或者出到自己没有准备的题目,怕自己考不到90分考不到100分,更怕那些成绩差的来找自己,给点提示,传份答案,哪怕就是把卷子稍微往旁边挪点也行。

绝影倒也不怕什么。C语言自己是胸有成竹,其它科,反正就那样子,挂是不会挂,但就算立即发奋,也不会好到哪去。

每学期到这时候,就会出现一种奇怪的现象,人们会蜂拥着去找成绩好的――买座位。绝影没去买过,不过那种被人团团围住的感觉他猜想非常好。这次,他体会到了这种感觉。其实也不是他想的那样好。因为别人找你买座位的真正目的是什么?并不是因为他们真的觉得你好,真的能跟你从你身上学到东西。他们那是在利用你,这和普通公司的BOSS利用你没有实质上的分别。因为你现在有能力让他们得到他们想要的东西,他们就会对你好,给你小头,他拿大头。绝影忽然很鄙视这样的人。

不过他还是在自己旁边预留了一个VIP位置,那位置留给一个妹妹。

那妹妹是绝影忠实的崇拜者,土匪追她追的很紧,她老是跟他说:“你怎么就这个样子阿,你看人家绝影怎么样怎么样……”

知道了这个原因,你就能理解为什么土匪总把绝影视为敌人而处处跟他作对,与他为难。

最后,理所当然地绝影仍然拿到了C语言全年级最高分,他周围的人也顺利通过了考试,土匪也过了。虽然他没有跟绝影买座位,但王江也不赖。经过这么久的学校生活,他和王江已经时时处在同盟的战线上。他们俩心里都很清楚,如果不这样,绝影做黑客,做程序员的想法就会成真,他就会成功。他们不能让他成功。很多时候,别人的成功就是自己的失败。如今社会上的风气早已吹进了大学校园。



C语言也学完了。绝影觉得自己学得还不错。新的学期他感觉是自己大展宏图的时候。

可这次发生了一件事情。后来他每次跟朋友提到这件事情,就说:“我大二一年基上算是废了。”


《疯狂的程序员》10
说绝影刚进大学的时候就住了一次医院,那次从医院出来发生了两件大事:一、绝影决定追一个妹妹;二、土匪和王江开始做生意了。

他决定要追的那个妹妹名字叫肖潇,其实是他的初中同学,也是他的高中同学,也是他的大学同学。

进医院的第二天主任就把他调到VIP病房,他觉得真是太大面子了,因为他三叔也就是这医院一个小小牙科医生。

不过刚进去他就发现是自己太自以为是。普通病房有四张床,那VIP病房只有两张,其中一张床上睡着个王局长(公安局的)。像局长这么大的人物主任肯定要把他伺候周到。王局长说:“不好不好,旁边那个重伤员天天晚上闹,自己一个人占个病房,影响又不好,给弄个不闹的过来吧。”

主任把所有病房查了个精光,还是觉得绝影的病情最好,就脚上破了个洞,不但晚上不闹,大小便都还能自理。于是这才把他调过来。

所以,你以为人家真把你当做VIP吗?即是在现在,仍然有很多地方:电信阿,民航阿,银行阿,人家叫你VIP,实际是叫你“Very Import Pig”。为啥?因为你老给别人送钱去,所以你就是VIP。

人比人比死人。绝影家穷,妈妈要上班,也没啥亲戚朋友来照顾他,他只有天天躺病床上。王局长呢?专门有两个人照顾他,好像是局里配的,这也就罢了,关键还配的是两个美女,这也就罢了,毕竟女人比较心细,关键是每天还有不一样的人过来看他,送水果阿,送花阿,送东西阿什么的。绝影高中是班上物理科代表,说实话,他还是比较敬佩他的物理老师:年轻,有文化,而且有个性。没想到这么唯一一个让绝影敬佩的老师居然也趁这个时候来送礼。

老师看见绝影,很尴尬地笑了笑,胡乱聊了几句,大概就说他早就知道绝影会非常有前途的客套话。

王局长让他的手下给弄了台电视,弄了个VCD摆病房里,没事了就看碟,看《黑洞》。他们喜欢看这个,反正也是反映他们公安干线的片子。看了《黑洞》,她们也叫他“王局”。绝影也喜欢看,因为除了看电视剧没其它娱乐项目,脚受伤又不比其它的,想去哪都不行。

这天中午,绝影和王局他们正看着电视剧,护士进来说有人探望病人,本来是再平常不过的事情,可这次来的人是来看绝影。

肖潇来看他,绝影感动得不得了,在这个时候,他太希望有人来看他了。

肖潇来看他,带了饭,说你行动不方便,还是不要动了,就一口一口喂他吃了饭。绝影想你王局也不过如此阿,虽然有两个美女来照顾,可是也没享受到我这等待遇阿。

那一刻,他就觉得要追求他面前这个女孩。

后面的事情很顺理成章,因为两人从小就是同学,可谓“青梅竹马”。现在评价一个美女,大概有两种:一、小美女;二、大美女。肖潇就是属于那种大美女类型,眼睛特别大,不过土匪他们说像牛眼睛。

所谓“春风得意”大概就是说绝影这样,在IT界小有成就,又能抱得美人归,这两样随便哪一样也能把土匪他们比下去。所以他那时候活得很简单快乐:写程序,约会。至于去不去上课,那要看自己的心情,说实话有些课真没啥好上的,老师不就是照着书讲吗?那既然发了书还去上什么课呢?

这样的幸福生活一直持续到C语言程序设计考试结束。

肖潇跟他说:“我们还是分手吧。”

绝影说:“好吧。”

他没有问她为什么,因为他知道她的答案会让他伤心。所以人太聪明了也不好,人太聪明了知道的东西多了就会伤心,好多智商挺高的人还变成疯子。还是白痴好,小时候家院子里有个白痴,天天抱个收音机在那里呓呓呀呀地笑,那收音机没有声音,但是他很快乐。

但是绝影后来还是知道了答案。

发生了这事,说:“没什么大不了的。”那是在骗人更骗自己,你自己经历过你就知道,除非你是个情场老手会玩弄感情,但是那是在学校不是在社会,感情怎么玩弄,绝影和他很多同学都还不知道。



那段时间绝影的心情一直低落,每天就漫无目的地上网。这次土匪好像变成好人了,时常来安慰他,开导他。土匪是真心来开导他的,因为他心情好。为什么心情好?因为绝影的心情不好。他觉得经过这次这个事情,绝影和以前不同了,他和他们现在是一个水平上的,他没有什么了不起。

月底的时候,绝影查了一下,自己2G的流量还剩1.4G,虽然剩1.4G和剩0.1G的效果一样,都是31号网到期就不能上了,但中国人总是那种心态,比如你要了一碗饺子,最后实在撑不下了,可还得撑,一边撑一边说:“吃了吃了,不吃浪费,不能对不起这1块5毛钱。”

事到如今,只有疯狂下载。下MP3,不行。一个MP3只有4M,下300个才够本,而且MP3连接分散,不断去搜索,扒连接,那还不累死人。再说了,那个时候绝影连说出100首歌名的水平都还没有。

什么东西最好?当然是游戏。一个游戏少说都几百M上G。但在BT还处于试验阶段的年代,要找到游戏的下载连接实在困难。网上挂的《三国志VII》几乎全是骗点击的。就一种游戏好下――网络游戏。营运商总得给玩家提供下载吧,而且你还得提供高质量的下载,你想要是你那游戏光下载就得让人等7,8个小时,鬼才有耐心等那么久来玩你的游戏。人家玩家是来“试玩”的,不是来“试下载”的。

就下网络游戏。绝影在网上搜了一遍,觉得《精灵》这个游戏刚刚好,1.38G,还3D的,而且据说是国内第一款3D的游戏。下了下来就不能浪费,再说绝影反正也没啥心思干其它的事情,还不如玩玩游戏过渡一下心情。

这么一过渡,就过渡差不多两个学期。

所以后来绝影总对自己很好的朋友说:“网络游戏,害死人,千万别去碰。”他怎么不说:“美女,害死人,千万别去碰呢。”呢?要没有肖潇那档子事情,鬼才会花那么多时间来玩网络游戏。真的,恋爱的感觉比玩游戏好得多。



两个学期中,绝影也换了好几个游戏,从一个“试玩级”的玩家成功升级到“骨灰级”玩家。他的电脑就是个明证。

绝影换了电脑,这个时候他很容易换到电脑。他可以大大咧咧地妈妈说:“我要换个电脑,我要学写程序,那个电脑太破了。”

这台电脑震撼了全班,这是一台P4 1.8G,带15寸LG液晶显示器的电脑。他抚摸着显示器,第一次知道“LG”就是“Life’s Good”的意思。

这时候,班里很多同学才第一次见到液晶显示器。居然可以做得那么薄那么轻,而且还有个“Auto”按钮,自动就把画面调到最好。绝影跟妈妈说:“我要写程序,经常对着电脑,那CRT辐射太大了,不行。”妈妈当然很心痛他,花了CRT两倍的价钱给他买了班上第一台液晶显示器。

最终,绝影说:“我不玩游戏了。”在玩传奇的时候,他用辛辛苦苦挣到一根“裁决之杖”去换别人的“无极棍”,在那时候这是笔很化算的买卖,结果放上去是“无极棍”,到自己手上就变成了“木剑”。他跟同学说:“我不玩游戏了。”他没有说自己被骗的事情,因为这是很丢脸的。

绝影这样说,就这样做。他不玩游戏了。



大二大三的课程本来就是很关键的,绝影却只顾了玩游戏。有一次正上课,辅导员来查寝室结果当场抓住绝影正在玩游戏。绝影吓得要死,但辅导员没说什么。辅导员说:“绝影阿,第二界机器人大赛要开始了,你去我那报个名吧。”

他不想去,他说:“这个事这么大,我还是和土匪商量下吧。”

辅导员说:“土匪虽然是学习委员,但是他懂什么阿?你就过一会去我那里拿张表填了吧。”

绝影还是不想去,没去她那里拿表,他跟班长说:“你去跟辅导员说下,就说要考试啦,我就不报名了。”

班长回来说:“她说你不去算了。”



这两学期里,学校没开什么计算机相关的课程,绝影的成绩也急速下滑,那速度比股市还跌得快。慢慢地,班里的同学对他的看法发生了改变,他们开始鄙视他,瞧不起他。因为他成绩最差,从来不上课,天天玩游戏。同学们去聚会,他不去;同学们去泡妞,他不泡;同学们计划考试作弊,他不参加。总之,好像他已经脱离了他们,他虽然还在班上,但是已经被他们抛弃。

土匪也慢慢觉得没有意思了。他现在根本不把绝影作为他的打击对象,没意思。他要打击更有打击的价值人。

绝影呢?他知道自己是什么样的人,学习对他来说是最简单的事情。他不想去跟土匪他们证明什么,有时候,什么也不去证明就是最好的证明。

他一直在等待一个机会。

《疯狂的程序员》11
其实也没怎么等,机会就来了,好像是机会一直在等他,等他决定不玩游戏了,来把机会拿走。

现在很多人总是抱怨:“苦恼阿,没机会阿。”好像自己就是那个才华横溢又无法横溢才华的大诗人。其实机会就像羊,满地都是,关键是你自己要知道怎么去剪羊毛挤羊奶。――难道你还等着羊自己把毛和奶送到你手上,那才叫机会?

大三的课就是比较多。刚进大学的时候,绝影想,大一应该轻松吧。没想到大一课多到超出了他的想像。就算是大一打基础吧,那大二课应该少一点。没想到大二又加了两门课。再想基础也学差不多了,大三专业课应该不多吧,结果专业课比基础课还多。绝影拿课表看了一下,有两门课他比较在意:《微型计算机原理与应用》和《数据结构和算法》。

《微型计算机原理与应用》用的书就是《微型计算机原理与应用》,杨有君,史志才,机械工业出版社,书不算厚,只有300多页。《数据结构和算法》用的书也就叫《算法与数据结构――C语言描述》。两个老师比较有意思,都是年轻人,一男一女。男的姓谭。

绝影对这个谭老师印象不错,因为他很年轻,而且大家对他评价就一个字:狂。就这一点,他从他身上隐约看了到了一点自己的影子。不过绝影也觉得他实在太狂了,愤世嫉俗,自以为是,总觉得自己水平就很牛,鄙视学校那些报课题的,鄙视公司那些搞研发的。绝影想这大概就是为什么宴斌已经升到教务处副主任而他还在做讲师的原因吧。

他上课也从来不带书,想到哪讲到哪,并且讲的都是他自己的。他常常说:“书上那个,跟你们讲,那是大错特错,这个XXX哪里有这样的用法。”开始绝影也不相信他,后来他觉得谭老师水平可能确实比较高,因为他让他帮自己改过一段C语言程序,硬是把200行的代码改到68行。

绝影学了一段时间汇编,他知道微型计算机原理这东西跟汇编语言是不可分割的,大部分讲微型计算机原理的书表面上是在讲微型计算机原理,实际上是在讲汇编语言。他们的区别在于,讲汇编的书就只讲汇编,一般很少讲其它的,包括微型计算机原理。而讲微型计算机原理的书总是爱东拉西扯,什么电路阿,数电阿,模电阿,汇编语言阿,能讲的都讲,所以绝影还是很庆幸自己当初买的是《PC汇编语言程序设计》,要是当初去买本《微型计算机原理》,那电路都能把他卡死。

绝影觉得谭老师讲得比较好,他就一直去听他的课,虽然像C语言一样他觉得自己过这门课肯定不成问题,而且凭自己的能力,就算自学也有应该有实力拿到全年级最高分。这样看来,在大学里面很多时候并不是去听课,而是去听人。特别是上了几次课后,他忽然又有重大发现,觉得上课还是值得的。

说以前他看原码反码补码硬是没看懂,反正这个概念也好背,就背下了:正数的反码是它本身,负数的反码是首位为1其它取反;正数的补码就是它本身,负数的补码首位为1其它取反最后加1。他背了,但他也不知道什么意思。但是听了几次谭老师的课,他知道“数字加法器”这个东西,比如两个数,高电平低电平输入进去,就得一个结果,还是高电平低电平表示。这么看来,拿二进制十六进制来表示数据真是个好方法,想起以前骂了冯.诺依曼,给他承认个错误。接着他就明白,为什么要补码,因为加补码就等于作减法,这样把减法转成加法来做,把乘法也转成加法来做,把除法转成乘法来做,整个CPU就只需要一个“数字加法器”就够了。

他觉得自己发现了一个惊天大秘密,这时候很多同学还在背:正数的反码就是它本身……

谭老师也比较喜欢绝影,因为他可以提出一些比较专业的问题,比如为什么不支持内存到内存的寻址?他在解答这样的问题是会非常有成就感。同时他也会跟他讨论些很有创意的东西,比如:题目是做64位加法,他就跟他说,用ADD怎么怎么做,用MMX指令怎么怎么做。最后归纳一下,还是用ADD做效率比较高,因为用MMX指令太少,指令对齐还没出来,效率提高不了多少。

MMX是绝影偷偷学的。当然他觉得非常有必要,这些指令是现在书上阿,老师阿都不会讲的,好多同学听都没听说过。但是他知道应用非常广泛,所以你学大家都知道的东西有什么用呢?要学就学大家都不知道的东西,这样你才能做大家都做不到的事情。

所以我们有时候也要理解老师,他们天天在讲台上讲,对他来说下面坐的有80%都是文盲――有文化的文盲,当然他们会很认真地记着笔记,甚至能预感到那些是重点,那些是考点。你以为老师喜欢这样的人吗?他觉得他在对着一群猪讲课,他觉得自己心中的东西比起书上来,那都是至理名言,可是,以他们的智商,他们无法理解。这时候当他发现了绝影,他感觉终于找到一个知音,所以,他对绝影也许更多的是感激。



在土匪他们眼中,谭老师和绝影一样是无法让人理解的。其实他们心眼里也鄙视这样的老师,很简单像《微机原理》这样的鸡肋课本来大家就抱着可上可不上的态度,但老师他们非要一再强调这课对于XXXX有多么重大的意义,并且还坚持考勤布置作业,好像这课过不了大学就毕不了业。同时,土匪觉得绝影疯了,在他们班上,说某人没救了或者某人的想法完全错误通常用:“他,疯都疯了。”

绝影自己心中有套理论,他没有跟土匪他们说,因为以他们现在的智商,他们无法理解。你知道程序是啥玩艺吗?程序是给谁用的?他们肯定说:“程序当然是给人用的咯,用来解决问题嘛!”其实程序真正是拿给计算机用的。你写程序给计算机看,就得照他的想法去写,多跟它交流。计算机这东西,说它怎么怎么好,运算速度快,但毕竟它不像人那样有智商,说起来就是白痴,你跟它交流久了,也慢慢变得像白痴。



又说《数据结构》这课,上课的是个年轻漂亮的女老师,绝影反而不知道她的名字。最近CSDN上不是老讨论什么女开发人员,女程序员怎么样怎么样吗?所以人就是这样,按常理,在这种情况下,他应该更加去套近乎,毕竟自己C语言也学的好,数据结构也难不住他而且老师都喜欢优秀的学生,当然在一起可以有长时间深层次的交流。不像土匪他们,没事找事跑上去套近乎,问个问题:“#define是啥意思。”

她说:“下去吧下去吧,我下节课讲。”

下节课的时候,她就说:“现在有很多同学,自己不动脑筋,又不好好学习,像‘#define’是什么意思都拿来问,难道你们没学过C语言?”

绝影想:你们越是认为我会去干什么,我偏偏不去干。我根本就不是你们想像中的绝影。

《数据结构》的课他也不怎么去上,上了一次,他爬教室中间课上着上着就睡着了。老师非常不客气,点杀他起来回答问题。

她自以为出了个很简单而又充满杀机的问题:pop eax指令计算机执行了哪些操作?

这时候,好多同学笑了。她不知道,但他们知道,甚至好多老师都知道,他们知道这些问题根本难不到绝影,想用这种办法整他,那是自己给自己找麻烦,不会让他下不了台,只会让自己下不了台。

像土匪这样的人,肯定说:“把栈顶的值送eax。”

成绩好的会补充:“把栈顶指针往下移4字节。”

绝影说:“mov eax,dword ptr [esp] add esp,4”

显然老师对他这个题的回答非常不满意,她的原意是他答不出来,好当场羞辱他:什么都不懂还敢公然上课睡觉。她还是很无奈地让她坐下,其实她本来还有道题,前面几个人都答不上来,但是她没敢再问。她也不傻:你想正儿八经坐那听课的人都答不上来,让个睡觉的人答出来了,那不等于说自己讲课没水平。

所以女人的心思和男人不一样。女人就是太软弱了,男人一比她强,她就屈服。绝影想,要我是个老师管你答出来答不出来,都让你“Go out。”

绝影想罢了,你不给我面子我也不给你面子了,从那以后,他就不去上数据结构课。

他觉得《算法与数据结构――C语言描述》这书也实在写得太菜,表面上说是C语言描述,实际上大部分都是用的伪代码描述,以至于很多同学跑来问他:“这个语句是啥意思阿?为啥以前学C语言的时候没学过?”这样的话自己上机去练习就麻烦,还要自己把程序写一遍,不过写过之后自我感觉良好:反正考试就考写程序,自己写了,有印象,比那些死背的人好多了。而且那些死背的人坏就坏在常常忘记在语句后面加“;”,硬生生扣2分。



期末考试没啥好说的,绝影让谭老师给点提示,谭老师说:“那就算了吧,你赶紧复习其它科目去。这微型计算机原理对你来说没啥好考的。”这样,他轻轻松松又拿到一次全年级单科最高分。数据结构就不一样了,大概是那女老师受了一次绝影的羞辱跟他有愁,本来绝影自我感觉良好,结果才得了个65分,连抄他卷子的人都得了82分,弄得他自己都不好意思跟别人讲。王江问他,他就马马虎虎说:“过了过了,还可以。”他知道,王江得了90分。

他气氛阿:公报私仇,虽然过肯定会让他过,但就是要让他过得不舒坦。这就是男人和女人的区别。比如男人之间谁借了谁钱,到期他就大大咧咧跑过去,有时候还当着一大群人的面:“喂,还钱,还不还?不还把你吉他给我弹两个礼拜。”这种事情到女人身上就不一样了。钱虽然是小事,但是她们不会跟你要,提都不跟你提,你不要以为她大方,她就老是说:“哎呀,月底了,又没钱了阿。想去买件衣服都买不成了。”或者跟她朋友说:“XXX,那人人品有问题,借了钱好久都不还。”你想这样多可怕。所以记性不好的人还是尽量不要去跟女人借钱,宁愿把吉他当了也不要去借女人钱。



这时候王江的感觉良好,他数据结构得了90分,其它科也不错,反正成绩就是他们班前几名。他跟土匪和绝影说:“下学期我有个大计划,你们一定要支持我,这可能是我人身的重大的转折点。”
这件大事,后来的确成为人生的重大转折点,但这个转折点不是他的,是绝影的。
《疯狂的程序员》12
现在来看,王江应该是属于那种成功的大学生。好多人后来都后悔:“四年大学白念了,什么也没学到,什么也没做成。”在他们心目中,大学四年应该像王江那样渡过:一、成绩中上,另外有那么一两门课特别好;二、交际广泛,特别是跟女同学的交际,手机里面全是妹妹的电话,QQ上全是妹妹的头像;三、课余活动丰富,打球、唱歌、泡妞、吃饭喝酒天天都安排得满满的。

高中的时候王江就会弹吉他,那时候绝影天天早上6点钟起床,晚上11点才回家,学习压力大,不要说学弹吉他,就是听吉他的时间也没有,就算有时间,也没那心情。也许大部分人都是这样的吧,所以大学里面能弹吉他的还真没有几个。像王江,那就是物以稀为贵,本来会弹吉他的人就少,他就召集了几个会弹吉他或者搞音乐的人,像模像样就组成了一只乐队,任乐队队长。

乐队的名字绝影不知道,王江虽然跟他说过N次,但他始终没在意。他从小就没啥音乐细胞,尽管在大一的时候他还正儿八经跟王江学了几天吉他,最终还是放弃了。――主要是周边几间寝室对他意见很大。

像王江这样的人,在学校很容易成为妹妹关注的对象。本来在大学里面女生对男生的评价就差不多,大家都穷人,大不了一个月就五六百生活费,都是一样,除非你老子特别有钱,像鸡哥那种,那是万中无一的。

不像现在走上社会上贫富分化出来了,男人一有钱,女人就喜欢。当然这并不是说女人庸俗,女人当然喜欢成功的男人,这是很正常的,生存竞争嘛,适者生存。当她第一次见这个男人怎么才知道他成不成功?你说我多么多么成功,在公司做了个首席XX官;有才华,在XXX刊物发表论文多少多少篇。那都是屁话,谁知道你是不是在吹牛。只有钱,只有钱才能让女人看出你成不成功。你们去喝咖啡你买单的动作,你送她回家开车的动作,才是真正吸引她的。当然,随着她更深入地了解你,她也许最终欣赏你的是你事业上的成就或者是你的才华人品等。所以对男人来说钱什么都不是,但是你没钱,你就失去了让她了解你的机会。

说到这里,好多女人又要说男人也不是什么好东西,就喜欢美女。这也很正常。凭良心说,男人都希望找个体贴的懂事的女人做老婆,不一定要漂亮。但是你们第一次见面你那恐龙般的造型已经把他吓得半死,你根本不要指望他会再约会你,更不要指望他能慢慢了解你的确是个体贴的、懂事的女人。所以对女人来说漂亮什么都不是,但是你不漂亮,你就失去了让他了解你的机会。



新学期开学的头几天里,王江一直早出晚归,土匪终于忍不住问他:“在干啥?神神秘秘的,是不是在泡妞?”

王江郑重地把土匪和绝影召集到一起,说:“这学期我有个大计划,也许这会成为我人生的重大转折点。”

王江要说的大计划是他想拍电影。要放到现在大学生拍DV是再平常不过的事情,别说拍部正儿八经的DV,就是“寝室写真”也有女生敢拍。但王江绝对不是个风往哪边吹就往哪边倒的人,那时候除了胡戈的几个朋友,这世界上还没几个人知道“胡戈”这个名字,“恶搞”这个词也还没有发明。所以王江的想法绝对是个大胆地、超前的、破天荒而且很有前途的想法。

土匪听着没劲,他是个没有艺术细胞的人。男生嘛,当然还是希望自己有点出众的地方可以多吸引点女生,他自己没有艺术细胞,就努力去培养运动细胞,爱运动的,阳光型的男生也很受女生青睐。所以他那时候的课余时间基本上是往返于篮球场和食堂。

绝影听着也没劲,那时候他正一门心思重操旧业研究黑客技术,学了点C语言,特别是汇编,他感觉应该有能力研究黑客技术了。数据结构和算法也学了,他又想往密码学加密算法方向发展。毕竟搞黑客入侵还是比较危险,而且实用性不大。电影里面描写高手的镜头往往不是他如何攻破别人的系统盗取别人的东西,而是他如何在离爆炸还有3分钟的时间内成功破解了登录密码或者一张存有几十亿美元的银行卡,然后上交给组织。

那时候QQ开始大规模流行,对QQ的破解、盗号也开始有越来越多的人来研究。说要盗QQ号,当然是做木马来盗。

绝影不会这样做,木马那是偷东西的,那是贼不是黑客。他的设想是放一个程序出去,比如要盗一个QQ,就发动所有中了这个程序的机器去尝试用不一样的密码登录,一个机器也许要跑好几年,但是一万台十万台机器就快了。在今天来看,他这种想法里面包含了在线暴破、分布式处理的思想。事实上现在好多人在线跑MD5码也就用的这种思想。

你要是去过看雪论坛肯定就会知道高手门对于暴破其实是很不齿的。绝影去了看雪论坛也开始对他以前的想法很不齿。既然登陆后的QQ密码一定会保存在本机,那么他就研究本地破解。

就是把那几个文件拿来分析来分析去。因为那段时间的分析,他渐渐熟悉了EditPlus这些十六进制编辑器。后来分析了一段时间,发现网上有结论:QQ的本地密码是不可能反算的。

他就想不明白,既然你能够算过去,怎么就算不回来了呢?他不管,继续去研究。后来当他知道“单向散列算法”这东西,才恍然大悟。于是他跟土匪他们说:“QQ本地密码是不可能反算的。知道为什么吗?因为用的单向散列算法。”

了解了这些,他对加密算法开始感起兴趣来,立刻兴冲冲跑去买了本《应用密码学》。但是书还没把前言看完就掉在自习室了。



他们没有表现出极大的兴趣,这让王江很失望,自己又独自跑出去联系了几天的业务,进展不大。

后来土匪跟绝影说:“王江也挺可怜的,尽想些不切实际的东西,又没人支持他。好歹我们也是一个寝室的,要是我们也不支持他,估计他的大计划要流产,这不是多打击人的阿。”

绝影想也是。

当天晚上他们就向王江表态。

土匪问:“王江你准备得如何?还缺些啥阿?”

王江很自信地说:“啥都好了,摄影师,主角差不多都就位了,就缺个男二号。”

土匪说:“那肯定我上了。不能让你丢脸呀。”

王江当然很高兴。男二号本来又是个反面角色,在这戏里男二号为什么要存在?纯粹就是为了衬托他这个男一号。

土匪又说:“戏份都不是很重要,关键是演技有没有发挥的空间?”

王江说:“绝对有!”

这简直是《喜剧之王》中的对白。

土匪拍拍胸脯说:“你放心你拍电影兄弟们肯定大力支持。但是你总要在字幕里面给点头衔嘛。”

王江说:“这是肯定的,一个寝室的,你不说我都知道。你就作‘总监制’吧。”

土匪听了脸都笑烂了,估计除了在王江可能出的这部电影里,他还从来没体会过“总监制”这种感觉,关键是一个“总”字。

轮到绝影。绝影肯定不会去演戏他没这天赋也觉得演戏好丢脸,除非给他领衔主演的位置而且女主要漂亮。他很大方地跟王江说:“王江你搞吧。要是缺少资金啥的就跟我说就是了,我给你资金上的支持。”

这学期绝影总是给土匪他们俨然一个暴发户的形象。的确他这学期是暴发户,那是因为他这学期没交学费。他没跟他们说,这种事怎么说得出口。4000多元的学费他花100元买了个音响因为他以前那个“玩具”音响效果实在太差劲了,又花了1050元买了个Nokia 3530手机。那是那个年代为数不多的1000左右的彩屏手机啊。那里面有个MIDI音乐是蛐蛐叫,绝影觉得很有意思,就把它设成铃声。后来同学们就把他的手机叫“电蛐蛐”。

资金上支持的效果要远远大于精神上的支持。王江当场高兴得手舞足蹈,他说:“没问题,没问题,那你就是‘总策划’吧。影总!”

这是绝影第一次听到有人叫他“总”。他没有想到,在今后的好多年里,好多人都这样称呼他。



后来绝影没有继续“策划”,一直是王江在跑拍电影的事情。直到他觉得都差不多可以开机了。像所有电影开机一样,王江说:“我们在X月X号,举行个开机仪式吧,主要是开会,把所有工作人员召集起来,部署下工作。”

绝影没说话,土匪满口答应,拍着胸口说:“兄弟们肯定支持!”

王江说:“好,有7,8个人都要去的。”



离开会还有半个小时了,绝影坐在电脑面前研究非对称加密算法。王江还是一个人,看得出来他比较焦急。他拿出手机给土匪打电话,土匪说他现在来不了了,他正跟晔哥打PS,赌晚饭。

土匪不去,绝影也不想去了,他还没有吃晚饭,他正把一个C++的大数运算库翻译成汇编,他想看看翻译成汇编后效率能提高多少。王江说:“走吧,我们一起去。”说得多可怜。绝影一下心就软了,人要是做一件自己认为很大的事情又没人支持那真是很可怜的。他关了电脑,便跟他一起往外走。

路上,王江接了个电话,很得意地说:“走,我们去找她一起走。”

“她是谁?”

“应聘演员的。”

于是他们放弃了原先的路程,绝影跟王江一起走。

远远地,绝影望见了那个女孩。王江介绍完后他赶紧找机会躲到一边给土匪打了个电话说:“快过来,这里有美女。”

《疯狂的程序员》13

王江说的开会地方离这里还有点距离,那时候刚开始搞“教育产业化”不久,银行是请客吃饭求学校贷款,所以学校胆子也大起来,不断贷款扩大规模。最后苦的是绝影这样的大学生,找女同学不方便――从男生寝室走到女生寝室起码要半小时。所以土匪他们才不原意去开会。

去那边有两个选择:一、坐校园交通车,每人1元钱,凑够5个人就发车,5分钟后到达目的地;二、走路,走得快20分钟到达目的地。

说实话王江人实在太节约,他肯定不原意花1元钱去坐车,因为坐车和走路的结果都是一样的,都能到达目的地;绝影当然也不想坐车,跟美女在一起,时间就是金钱。王江说:“那我们就走路过去吧,反正还有时间。”

绝影说:“那也行。”

美女虽然不想走路,奈何少数服从多数,也就没说什么。



程序员泡妞的技术其实和写程序差不多。比如你拿到一个题目上手就去写,那多半要糟糕。也许就在还有几行代码就要完了的时候你忽然发现写不动了,这样写根本写得不到结果;或者你忽然发现走了冤枉路,用这个方法写了二三百行代码,但是C标准库里本来就已经给你提供了这个函数,直接调用就完事。所以泡妞和写程序一样,要有计划,有设计,甚至要去写文档,画流程图。当然随着你自己的水平不一样,泡妞的技术也不一样,刚才那种方法是程序员的方法,如果你是BOSS了,你就可以直接端杯咖啡过去说:“小姐,可以请你喝一杯吗?”然后随便侃几句就要她的电话,一定要会讲话,多讲话,记住美女永远喜欢开朗的人这正如她们比起QQ游戏的代码来说更喜欢QQ游戏本身。

两年多下来,这种写程序的思想已经深深地印在绝影脑中,所以虽然当他第一眼看到这个女孩的时候他就觉得去追她,但是他不急,先计划。

说美女不外乎有两种:大美女、小美女。她是和肖潇截然不同的类型,属于小美女。或者说乖或者可爱。

走在路上,绝影的“电蛐蛐”响了,是土匪发的短信,说有美女他马上到。放到哪里,绝影的“电蛐蛐”都绝对吸引人的――那铃声确实太有创业。这时候他心中对土匪有说不完的感激,眼看进入冷场阶段,他这条短信来的太及时了,“电蛐蛐”马上会吸引到那个美女。

果然,那小美女听到“蛐蛐”声非常好奇,绝影大大方方地把手机递给她:“拿去看吧。”后面绝影没再跟她怎么说话,这是泡妞的第二个要点:当你不是BOSS的时候,就不要去多讲话,虽然美女喜欢开朗的人,但准确地说她们喜欢开朗的BOSS,一个小小的程序员如果过于开朗,只会给她们留下哗众取宠,不踏实的感觉。



开会开的什么内容,绝影也记不太清楚,要不是因为遇到一个美女,他肯定要后悔死来到这里:其它人他都不认识,别人也不认识他,感觉自己就是一个傻子。并且土匪还一直在旁边埋怨他,说明明都是恐龙还把他骗过来,还害得他和晔哥一人花了1元钱坐车,要找他报销。

会开完了,他离开会场的时候,回头看了一眼那美女。她正哭,眼睛红红的。

晚上在寝室夜谈,王江问:“觉得我的计划如何?”

绝影说:“NND你手上早有美女,不拿出来。”

王江说:“不知道阿,一直以为你喜欢肖潇那种类型的。”

他问王江要了那美女的手机号,就躲被窝里开始发短信。那天晚上,他和她发到4点多。

土匪总是对绝影很不服气,他每次认为绝影不能成功的事情大部分他都能做成功。为什么?就比如泡妞这事,为了约美女出来一起看场电影,连讲一句话,他都能够在寝室里排练整整半天,那句话的内容是:“听说你喜欢看电影,不如一起去看电影吧。”

他对着王江和土匪排练,讲这句话,总共有四种比较好的语气:一、超哥型;二、老实型;三、满不在乎型;四、认真型。每种语气都把它讲好,然后尝试讲给他们听。他们给出意见。然后再分析美女可能的几种回答:一、好阿,当然可以;二、对不起那天晚上有课;三、我们刚认识不久,还不是很熟呢;四、我能带个朋友一起去吗?再想出针对以上四种回答的应对方案。

所以程序员不管是做程序还是做事,都应该有这种习惯:一个问题要尽量在做之前就把所有的结果想出来,分别对每种结果进行分析,找到较好的应对措施再去做。这样,整个问题都尽量在你的控制中,不至于做出“Out of control”的事情。一件事,如果你决定去做,就要尽力让它在你的控制中。

后来,绝影成功了。在2003年的光棍节那天,他和她正式告别了光棍生活。这个女孩他叫她燕儿。

土匪总是不服气,他觉得他没有他帅,也没有他爱运动,成绩也没他好,为什么他就能成功。绝影对燕儿说:“我在决定追你的时候就知道我一定会成功。因为我决定追你,我就会用心去追你。自己用心又有计划去做事,是很难失败的。”土匪耿耿于怀,他自己什么也没有,他就觉得绝影得到的就都是坏的,他老是叫燕儿:小胖妹。



男人为什么喜欢美女?那还是要分析男人的思想,其实男人自己的女朋友自己的老婆多半还是给别人看的。你可以给别人说:“看我老婆多懂事,每次我工作到很晚她都能理解我。”或者说:“看我老婆多勤快,虽然每天工作很累但回家都能吃到可口的饭菜。”或者说:“看我老婆多漂亮,身材多好。”女人和女人在一起,多半是比自己的男人;男人和男人在一起,最重要的是比事业,如果事业都差不多,也就比老婆。

绝影当然也有这样的心理。他还深刻地记得班上一个同学跟他说:“你?也能找到女朋友?”所以他就给班上所有的人宣布:“这事就这么算完了,我们请大家吃饭。”从此以后,他开始挺起胸膛从班上所有人面前经过。

有了女朋友,日子自然开始滋润起来,绝影更加用功去学习黑客技术。他深深地懂得一个道理:天下几乎所有的男人都会有自己的老婆,但不是所有的男人都能拥有自己的事业。要有事业,一定要花比找老婆更多的时间和心血。



过了段时间,他忽然发现他不是学黑客的材料。学校肯定不会教黑客相关技术,虽然他在《黑客防线》上看到消息说XX国家开设了世界上第一所黑客学校,那可是在国外,而且是世界第一所,你就不要指望中国能在一二十年之内出现这样的官方学校了。其次他感觉黑客技术非常复杂。比如找漏洞:那需要网络、HTML、SQL、CommandLine、操作系统等多方面知识,比自己在大学要学的科目还多。大学里还是官方学习自己都难免有几门掌握不好,更别说自学了。再加上他高三的时候看的韩寒的一篇文章,名字忘了,整个文章的中心思想就是全才等于庸才。

所以到这里他果断作出一个决定:不再研究黑客。人的精力是有限的,与其这样去多方面横向发展,不如找一两样自己擅长又喜欢的科目往纵深发展。这两种发展方式都是很有前途的。

他决定把汇编作为自己的发展目标,理由有三:

一、自己有很好的汇编基础,至少在这所学校里,他是最好的。说Bill.Gates很成功,为啥?别人不知道他知道,Bill.Gates的Basic语言相当好,他自己说过:“在Basic上,我敢于挑战任何人,也敢于接受任何人的挑战。”所以绝影经常跟土匪他们说:“在汇编上,我敢于挑战任何人,也敢于接受任何人的挑战。”

二、这学期他学了单片机原理,他深刻地体会到汇编的好处:比如大家都去开发一款新出来的芯片,用C语言的人要先找到C编译器,往往花几百美元买一个,当然也有可能会有gcc移植过来的,但那要等这芯片已经多出好几年了才有好心人做这样的事情,然后还要去买资料,不然你从哪里去查找这款芯片的C语言编译器提供的库函数?用汇编就不一样,一本包含指令集的开发手册,一个汇编器就完事。开发手册和汇编器是每个芯片厂商都免费提供的,他要不提供这些,就没人能给他开发程序,他的芯片就卖不出去。

三、通过对黑客技术的学习,他很羡慕那些能搞软件破解的人,不是“破解”,是“逆向工程”,如果有机会,他当然也想去搞这个。对大多数人来说,知道别人在想什么是很有意思的;同样地,对于大多数程序员来说,知道别人程序在想什么也是很有意思的。他知道,要想搞“逆向工程”就必须学习汇编。



主意一打定,他立刻停止了购买《黑客防线》。这里面还有一个原因就是谈恋爱了,生活更加拮据了。

人在很多时候都是这样,很多东西都舍不得放弃,但是你一旦痛下决心放弃了,也许会立刻得到一个更好的东西。放弃了《黑客防线》,绝影忽然发现了一本极好的书,现在网络上不是流行《双截棍.程序员版》吗?里面有句话:一个写得好的库函数,一用好多年,拷贝好带身边。这本书,在以后几年里,绝影确实一用好多年,随时带身边。

《疯狂的程序员》14

没多久,绝影干脆在学校外面租了房子自己搬了出去。

超薄早在上上学期就在外面租了房子,本来超薄话不多,看起来又热爱学习,大家都以为他是个老实人,根本没想到他居然是寝室第一个谈恋爱的,更没想到他居然会租房子同居。上学期王江也出去租了房子,他有足够的理由:要搞音乐,搞乐队,还要搞平面设计,比如搞音乐的搞设计的标志是什么?当然是有一家属于自己的工作室。――所以租间房子作工作室是很让人信服的。

绝影也想出去租房子,那肯定比在寝室住自由得多,关键是晚上11点以后可以不用熄灯。而且现在技术发达,就是那些10平米一间的单间都牵了小区宽带。但是他没有好的理由。

他跟土匪说:“我要养只猫。”

土匪说:“不行,要养自己租房子养去。”

于是他去宠物市场买了只猫,去“通联布艺”买了床单和被子,去学校外面租了房子。

这时候土匪又后悔了。三个人都出去住,就他一个人在寝室,你想那滋味他肯定不好受的。他那样说的时候心想打死绝影也不可能出去,他不相信绝影会为了养只猫花那么多钱买床单,每月还得花那么多房租,他不知道绝影上学期没交学费。他跟绝影说:“莫名其妙,算了回来住,大不了把猫养寝室。”

绝影说:“不。”

绝影不会做自己“Out of control”的事情,但是喜欢让别人有“Out of control”的感觉。土匪认为他不会出去,他偏要出去。

他租的房子还不错,至少厕所是内置的,不像王江他们,厕所外挂不说还要好几个人共享。其它东西都没有,有间房有厨房但是贵10块钱,反正他肯定又不会用厨房心里琢磨着省了10块钱,好像拣了很大便宜。

他的猫有一个很大众的名字――“咪咪”。现在你要看一个宠物的主人对他的宠物感情深不神,最主要还是看名字。要是主人特别喜欢他的宠物,一定会挖空心思认真给它起个很特别很有创的名字,要是随便一个大众的名字,那他多半对它没啥感情。

表面上他自己喜欢“咪咪”喜欢得不得了,其实他心里有另外的算盘。你要凭空出去租个房子别人会怎样想?燕儿会怎样想?那摆明了是要骗燕儿出去同居,那是人所不齿的。现在他有很好的理由:他要养“咪咪”。所以表面上是养猫,实际上是养人:租了房子当然就不能浪费,当然就要去住,当然就可以让燕儿一起去住,久了当然就习惯了,就同居了。

事情都如他想的那样发展,一切都是顺其自然,目的达到了,他觉得自己还是没把“咪咪”养好。所以现在也有很多大学生养狗阿养猫阿,绝影看见了就想骂狗男女:你一个大学生懂个屁,你知道狗的体重和每天进食量的标准吗?你知道狗在什么时候换牙什么时候换毛吗?你知道“发育宝”,“钙喂能”这些东西吗?你甚至不知道给狗吃骨头是很不好的,不但不能补钙还会导致便秘。关键是他们还花着父母的钱做他们一点都不懂的事情。就比如要了父母的钱去搞所谓的“权证”,你知道 “权证”是什么东西吗?

他觉得他养不好“咪咪”,反而“咪咪”老是给他添麻烦。于是他就以1块钱的价格把“咪咪”卖给了表妹,去见表妹花了2块钱坐公交车。



出去以后自由多了。他自己可以想干啥干啥,也可以想干到啥时候就干到啥时候。别以为他在学校汇编很牛B,随便一上网才发现高手多的是,人家写的文章他看都看不懂,于是疯狂加群,加汇编群,加C语言群。

可是汇编语言学了到底是为了什么?你说搞开发,那是瞎扯的。学校里学的80x86学得再好也就开发个DOS下面的exe,高级点的技术就是把exe变成com。说搞破解搞反汇编,其实在学校里面大部分同学都还停留在只认识ax不认识eax的阶段。

不知道他从哪里知道了32位汇编还可以开发Windows下的exe,也许是在网上,也许是在别的群里,总之知道了,他就疯狂地去找资料。就算那谭老师自认为汇编语言很不得了了,他懂32位的么?

你去Google上搜索一下“32位汇编语言”,搜到的什么最多?《Windows环境下32位汇编语言程序设计》,罗云彬,电子工业出版社。对付这些绝影有经验,直接又去Google里面搜索“Windows环境下32位汇编语言设计”或者“Windows环境下32位汇编语言程序设计 下载”,基本上就可以把这书扒下来。

可是这次不行了,网上居然没这本书下载,只有目录,前4章和附书光盘。

前4章他看得津津有味,总共看了5遍,自己也把光盘下载下来按图索骥,果然写了一个Windows的窗口和对话框,编出来一看,才2.5K。你想那VFP的Windows程序随便联编一个出来也至少100多K,这实在太神奇了,以至于他在很长一段时间都认为用汇编语言的目的就是优化可执行文件的大小。

他跟燕儿说:“我想买本书,《Windows环境下32位汇编语言程序设计》,罗云彬,点子工业出版社。”

燕儿说:“只要你觉得有用,就买吧。”

他说:“要78块钱。”

燕儿说:“只要你觉得有用,就买吧。”

周末去城里最大的书店,居然没有这书,又跑了好几家还是没有。燕儿跑得很不耐烦了,说:“都没时间逛街了,不买了。”

所以你自己跑得多起劲的时候要知道女人的心思是和你不一样的。你要买一个东西到处找,急得要死。对她们来说,她们只想去逛,逛她们喜欢的东西,也许那东西她们根本就没想过要买,光是逛一下看一下就能让她们很满足。男人呢?总是要拿到手里才会满足。所以男人逛街目的性是很强,女人逛街就没目的。

买书这事情,要到现在你办法还不多得很,要么网上支付货到付款还打8折,要么超星上注册个会员一年100块钱几十万本书随便读,要么淘宝上一搜还大大咧咧地跟卖家说:“马上发货,3天内不到就退钱,2天内不到就差评。”问题是在那个时候,绝影还不知道“网银”、“支付宝”这些东西。

所以现在要学习什么的方便得多,技术进步了,东西还买,学习交流的群也多,社区也发展起来,哪点都比那个时候好。

绝影说:“好好,再跑最后一家,要还买不到就不买了,托同学从他那里带过来。”



最后一家没让绝影失望,居然还有2本。显然是别人在几十本里面选剩的,绝影又从这剩余的两本里面精心挑选了一本,78元,736页。付了钱取了光盘小心地包好揣在怀里,记下这家书店的名字:西南科技书店,然后兴冲冲开始跟燕儿逛街了。

燕儿和别人永远都不知道这本书对他的意义有多大。晚上回去,燕儿说:“我们出去走走吧。”

燕儿说的是往农田那边走。学校在郊区,本来以前都是田的,后来因为有了学校,附近的农民可发财了,就是随便找个地方天天买水果都要发财。更多的人把地拿来修了房子然后租给绝影这样的人。绝影就看见自己的房东修这么小个房子都有了私家车那更别说开馆子的开饰品店的了。因为有了这些让人发财的东西,农田也就不得以往离学校更远的地方挪,不过那边一般人少,空气好,景色优美,的确是泡妞的好地方。

绝影说:“不去了。”

他迫不及待地打开书从第5章开始往后看。

后来燕儿对这本书的腹绯很大,因为绝影把大部分时间都耗在这书上了。以前他们俩还在热恋的时候他们可以从天亮开始就躺在床上聊天,饭也不吃,一直聊到晚上天黑,绝影起来出去买饭回来,吃了饭要么继续躺床上聊天要么开电脑玩QQ游戏。燕儿就说也不知道那时候怎么会有那么多话聊。

现在可好,燕儿每天起床的时候绝影一般刚睡觉,或者他叫燕儿起床后再睡觉,燕儿就自己走老远去上课,中午等绝影醒了一起去吃饭,下午两人各上各的课,晚上吃了饭绝影就对着电脑,逼得燕儿每天都得早睡。

所以现在的女人面临的最大的敌人是啥?不是别的女人。你要是自己够体贴够理解男人说实话鬼才原意去外面找女人。――不但浪费钱,还容易把自己搞得众叛亲离。她们最大的敌人是电脑。搞IT的就不说了,想起码有80%的女人很想砸电脑。搞其它的呢?要是男人迷上了游戏,迷上了上网怎么办。所以女人们,现在就得学:有一天,我们必须和游戏一起争夺男人,该怎么做?



绝影呢?他觉得这些都很有意思。他把那个C++写的大数运算库成功翻译成了32位汇编,两个程序运行一比较,做1000次1024位乘法速度居然快了200倍,这个结果让他自己都感到惊讶。然后他又去了罗云彬的网站,看到那个水波特效的例子觉得很有意思又花了些心思把它做到一个DLL里面,就这个DLL一用好多年,拷贝好带身边。

燕儿呢?她觉得自己受不了这样的日子,她跟绝影说:“我们谈谈吧。”

《疯狂的程序员》15
说“鱼和熊掌不能兼得”就是说你想要老婆对你好,对你百依百顺,你就要花时间在老婆身上,要陪她逛街,陪她散步,陪她去买菜。所以像绝影这样天天把所有时间花在电脑上的,要指望老婆对你好,只有一跳路:你有很多钱,并且都给她。但是他没钱,所以燕儿肯定要跟他谈判。

最后绝影对燕儿说:“好吧好吧,以后每天晚上我尽量跟你一起睡觉。”他把“尽量”这两个字说得特别重,那样能让人感觉他是下了很大的决心而且只能是“尽量”,不能保证100%,由此可见要他陪着一起睡觉对他来说是下了很大的决心,对她来说是很大的荣幸。

到这一步,别以为绝影就没办法了。所以说女人有时候很笨,比如老公有外遇,别以为你控制了他的手机控制了他的经济就万无一失,其实他办法多的很。没手机,就在办公室打;工资被没收,就偷偷藏奖金,或者只缴2/3,说剩下的因为迟到给罚款了。其实有时候女人越是看得紧反而越不好。他以前从来不偷偷在办公室打电话不偷偷藏奖金,都是让你给逼出来的。

绝影当然每天晚上都“尽量”跟燕儿一起睡觉。他在床上翻来覆去不睡着,不是睡不着,是不睡着。等到燕儿睡着了,就偷偷溜下床,灯也不开,继续坐电脑面前。

这时候他想起大一在寝室熄了灯坐电脑面前练盲打“abcdefg……”,那时候果然没白练要不现在怎能应付不点灯的情况。

这样的情况最开始他还真不适应,你想像一下你学倒车:手要把稳方向盘,脚要踩好左右踩离合器右脚踩刹车,头还要扭过去看到后面,眼看后面方向不正手就乱了方寸,方向盘也不知道改往哪个方向打,手一乱脚也乱,刹车油门一起踩,最后搞得自己都怀疑自己根本就不是块开车的料。所以最初几天,绝影脑子里要想怎样写程序,手还得盲打,又必须时时刻刻注意燕儿的动态,她一动,马上手要停下,眼睛不能回头,脑子不能停,要随时关注她下一步的动态。

日子持续了几天,绝影也有了经验。女人和男人不一样,在睡觉上这一点体现得特别明显:要是男人醒一下发现女人居然偷偷爬到电脑面前去了,首先会很严厉地跟她说:“快睡,怎么还不睡?熬夜可不好。”如果她仍然没有动作,那么就冲上去直接拔了电源抱她一起睡觉。女人就不一样,她睡熟了,一般雷都打不醒她。第二天,她问绝影:“怎么昨天那么晚了你还在电脑面前?”

绝影说:“昨天晚上失眠了,反正睡不着,忽然又想起一个问题,就打开电脑看看。反正也睡不着。”

燕儿问:“那啥时候睡的?”

绝影说:“没开多久,大概半小时就睡了。”



这样的日子过了好几个月,也一直相安无事。绝影继续研究32位汇编语言,在这几个月中,他还是出了两个成果:一、用汇编做了个高档计算器,所谓高档,就是至少能计算1024位的大数;二、在网上搜索到一个叫KmdKit的包,可以用汇编来开发内核模式驱动程序,他很想学下写驱动,于是把KmdKit帮助文档全部下载下来,可惜全是英文,于是他开始尝试把它翻译成中文。本来他想让燕儿帮他翻译,毕竟燕儿是英语专业的,奈何专业英语对她来说还是太难,老是把“driver”翻译成“司机”把“register”翻译成“注册人”,还不如他自己翻译。这样折腾了半个于,总算翻译完了,水平确实不敢恭维,也就是鲁迅先生说的“硬译”。正得意的时候忽然发现罗云彬他们几个也已经翻译完都挂主页上了。两个一对比,绝影还是觉得自己翻译还是可以了,以后他经常跟别人说:“KmdKit那个文档,我以前也翻译过,不比罗云彬他们的差。”

有一天,燕儿跟绝影说:“我一个朋友跟我介绍有个公司,请会写程序的给他们兼职,不如你去试试看呀。好像他们报酬还很高。”

绝影问:“招哪方面程序的?”

燕儿说:“不清楚,好像是ASP方面的。”

绝影说:“ASP我不会,什么ASP啊,Java啊,做网页之类的这些我都不会,一点都不会。所以以后有这样的消息就不用去关注了。”

几次过后,燕儿跟绝影生气了。她问:“学ASP难吗?”

绝影说:“不难,很简单,两个月就好了。那玩艺很高层的。”

“那你为什么不学呢?你天天坐在电脑面前写程序,学了这么久了也写了这么久了。可是你写的程序有什么用呢?有人买吗?还不如去学ASP呢。”

那时候的确是这样,很多公司刚开始有了网络的意识,开始做公司网页,论坛啊,社区啊应运而生,整个IT届确实很需要做ASP,做Java的程序员。但是绝影不会盲目跟风,他觉得走汇编这条道理也是经过深思熟虑了的。他跟燕儿说:“我学的汇编,这是很地层和基础性的东西,是学的很慢,但高层的东西老是会变,比如ASP,一下升级到ASP.NET好多东西就又要学。基础性的东西就不一样了,除非微软把操作系统都全换了,把API全换了,否则变化都不大,至少不用全部重新学。”

燕儿听不懂这些,她反而更讨厌他,她觉得她这是在为自己找借口。

绝影深信自己是对的,他相信有一天他会很快乐的用汇编工作,并且他的工作能带给他不菲的收入。但是他不能给燕儿说,人有时候就是这样明明知道事情肯定是这样,但是不能跟别人说,成果出来了你跟别人说,那是你的成功,成果没出来你就跟别人说,那是你狂想,反而被别人笑话。



这段时间土匪啥也没做,他是学习委员,学习他自然不怕,就“学习委员”这个头衔顶在那里也没几个老师会去挂他科。要说在写程序方面,虽然他也学了C语言啊,微型计算机原理啊,单片机啊这些东西但实话实说他的水平也就和燕儿差不多。好歹燕儿还考了二级VB。他也去考了二级,考了两次,但是没过。说到考二级这件事他一直对绝影耿耿于怀。

本来大家说好一起去考二级的,鸡哥,王江,土匪,但是绝影说:“考就考个大的。”自己一个人去报了四级。报了他就后悔了。四级和其它级别不一样,二级还分VB啊,C语言啊,三级还分PC技术啊,网络啊,可四级什么也不分,学校外面的书店参考资料又少得可怜。――几乎所有人都考二级,最多考个三级,所以四级的书根本卖不掉。比如三大男高音歌唱家的演唱会在哪开?当然是要到北京上海这样的大城市去,你要开到青海西藏边远地区,连路费的成本都收不回来。――人家需要的是圆圆的馒头,不是音乐。

本来土匪认为要是一起考二级,凭他和绝影的感情,就是绝影有一万个不愿意都必定会帮他过关,没想到他居然一个人跑去报了四级。

那次的结果是,土匪没过二级,绝影没过四级。

第二次,土匪还报二级,他跟绝影说:“一步一步来,先过二级,至少有个本本了,再去冲三级四级。”

绝影说:“考就考个大的。”

土匪报了二级C语言,还是没过。

土匪没过二级,他也并不伤感,反而是兴高采烈地跑到绝影租的房子大呼:“我挂了。你呢?”

绝影还不知道成绩已经出来了。土匪说:“来来来,我帮你查。”一查,绝影过了,这时候土匪倒是有点伤感,说了句恭喜,摇摇头走了。

燕儿说:“你以为土匪真是来恭喜你过的吗?他是来看你挂的。”

绝影不在乎这些,只要自己过了就好。



这一天绝影和燕儿一起吃过午饭,燕儿下午还要上课,他就一个人往回走,远远看见一大群人围在张贴栏那里。在平时,他肯定不会去看的,记住越是人多的地方越别去,首先人很多,去了未必能看到什么东西,其次人多的地方贼也多。

但这次他确鬼使神差跑过去了。好多人都围那里看,那是个招聘启事,本来招聘启事贴在张贴栏是很平常不过的,可那落款上是家很大的牛B的公司。上面写着:因项目需要,招聘兼职程序员一名。要求能熟练使用C/C++,有团队精神,有一定的项目经验……

《疯狂的程序员》16

绝影在心中把那招聘信息上的电话默念了两遍,拔腿迅速往住处走,走几步又把刚才记的电话回味一次。到租的房子下面的公话超市,马上找个最角落的电话拨起刚才的号码,好像要是拨慢了那电话就会飞走。

接电话的是个中年男人,操着普通话,这有点出乎绝影的意料,他原以为这么大个公司招兼职程序员肯定应该排个专门的接线员。那边说:“喂,你好,找哪位?”

由于刚才那一点点出乎意料,再加上一点点紧张,他对着电话竟然不知道说什么好,好像应该先打招呼但该死的是他只忙着记号码,根本没注意下面的联系人:XXX。

他说:“哦,我是看了你们的招聘信息……”

那边那男人仿佛努力回忆了好久,才说:“对,是有那么回事?”

他问:“那你们招够人了吗?”

“人是来了几个了,不过你也可以过来再面谈。时间是XXXX,地点是XXXX。你做X路车到XX站下车就看见了。”

“好,那我到时候过来。”

正要挂电话,那男人忽然又问一句:“对了,你会什么?”

这才说到问题的重点。对于这个问题的答案,绝影已经在心中演练了一千遍,他早就梦想着,有一天,一个BOSS级的人问他:“你会些什么?”

他从容不迫地答到:“语言主要是汇编、C、C++、VFP,32位汇编是强项,另外对密码学加密算法,驱动开发和逆向工程有一定的研究。”

其实密码学加密算法和逆向工程这两样是拿来忽悠人的,要问他知不知道?当然知道,不仅是他知道,就是稍微看过点书,上过看雪论坛的人都知道。要问他懂不懂?懂个屁!不过说实话除非是研究院级别和杀毒软件公司,还有几家公司能搞加密解密和逆向工程?有几家公司敢搞加密解密和逆向工程?

“那你有什么实际项目经验没有?”

这个问题也正中他下怀,他感觉这一切就像电视台记者采访人一样。记者采访人之前,先跟他说:“一会我会问你这个这个问题,你要这样这样答……,来我们先演练一遍……”

于是他胸有成竹地说:“当然有,大一时我用VFP开发了Windows下的通讯录,大二和小组用16位汇编开发了计算机串口通信软件,大三用32位汇编语言独立开发了一个高档计算器,至少能完成1024位大数运算。”

“那你会用C++ Builder吗?”

这下绝影惊出一身冷汉,C++ Builder?网上看过介绍,不过是英文版的,他英文本来就菜,你想仅仅完成KmdKit帮助的“硬译”工作他就逢人变吹嘘自己英语好,他的英语水平能好到哪去?用他自己的话来说,他说得最好的一句英语就是:“My English is very proo.”

正因为是英文版的,他看了一眼就丢了,用他自己的话来说:“学这东西,我光花在学英语上的时间都够我大学念到毕业了。他本来想跟那人说没用过,没想到一开口却说:“用过,但不是很熟。”

“这样阿?我们这个CASE要求是用C++ Builder来开发。”

听那口气,绝影想要不补救怕要失去这次机会,赶紧补充:“我VC++用的很好,C++ Builder嘛,我觉得解释执行的东西不太好,效率太低,所以不经常用。”

“C++ Builder?怎么会是解释执行的呢?”

其实绝影也不知道C++ Builder是解释执行还是编译执行,他知道VB是解释执行的,后来大概看了下C++ Builder,觉得也是一个窗体往上面放东西,估计跟VB差不多,就信口说是解释执行的,没想到这次当场被别人识破,这是多没面子的事情。比如说你一回家,老婆就说:“来,把洗脚水给我倒了。”你都屁颠屁颠跑过去给她倒,这都没啥,反正家里就两个人。要是换成在外面,在朋友面前,哪怕老婆跟你说句:“来,帮我把这张纸扔那边垃圾桶。”你都会觉得好丢脸,脸一沉,厉声说:“自己没长腿么?”虽然你知道这样说了回去肯定要掉一层皮,但在外面你肯定还会用很大的声音这样跟她说。

所以人不怕被识破也不怕丢脸,怕就怕当场识破和当众丢脸。

眼看被当场识破,绝影赶紧转移话题:“我VC++很好,其实语言嘛都没什么区别的,VC++编译的Library在C++ Builder里面一样可以用。 ”

其实这句话,绝影也是忽悠人的,不久以后他才知道,Borland的编译器和Microsoft的编译器目标文件的格式不一样,根本无法兼容。不过这次运气好,那男人居然没识破。

那边那男人可能手头上还有要紧事,忙说:“好好,那你先来吧。把你做的小CASE也带上。”



挂了电话绝影一想,其实那招聘启事上写的清清楚楚:招聘兼职程序员一名。也就是说只要他们能招到一名,就招够了。刚才那人说人来了几个,你也可以来,莫非是他们根本就没招到人,但是又怕这么大个公司一个写程序的人都没招到,说出去是多么丢脸的事情,所以故意跟他说还有几个人的。事实就是这样,比如学校开招聘会,各大公司都在招聘,别人公司顾客盈门,你公司门可罗雀,搞得你公司自己都会不好意思。

再说了,虽说这学校是有这么大,而且也还不错,但就绝影来看学校里学这些东西真的都是用来应付考试的,说实话现在随便调查,在这个学校里面有几个人会写Windows下的应用程序?计算机学院有几个会,那都是牛B得不得了的人物了。

这么一分析,他觉得他去应聘这个兼职简直是板板上的钉钉,铁定了的,那工作就是放那等他来拿的。



找到那家公司还是颇费了些周折,来接他的就是跟他通电话的人。他把他带到这家很有名气的公司,那是一家拥有5层办公楼,一个停车场,一个篮球场,一个食堂,两条狼狗的真正的大公司。他们一起来了到“研发部”。

他说:“你在电话里不是说自己做过小CASE的吗?能展示一下吗?”

绝影把磁盘递给他,里面装的高档计算器。那人运行了一下,程序居然当场崩溃。这下他的脸一下变色了,仿佛是在自言自语:“明明在我那里都能运行。”

他说:“算了不看了,也许是我系统的问题。说实话,你不会C++ Builder吧。”

这次绝影很自然地说:“嗯。”

“我们这个CASE必须要求用C++ Builder做。”

绝影想都没想就说:“那个我可以学的,很快的。再说,说实话现在在学校里,除了我,没人能给你们做CASE。”

这话好像将了他一军,他沉默了一会说:“那好吧,你先做个面试题吧。”

他把绝影叫到跟前,打开Excel给他演示:“这里面是个矩阵,计算三元线性回归,Excel里面有工具可以直接计算。你用C语言写个程序来做,从文本里面读入矩阵,把结果输出出来。本来是让用C++ Builder做的,既然你还不会,那你就用TurboC做吧,最好是直接做个函数出来。”

绝影问:“要多长时间?”

“最多给你一个星期,当然越快越好。别下看这题,很多人都做不出来。”

“那三元线性回归怎么算阿,总要把公式给我阿。”

那人让前面的秘书从文件框里报了出一大堆资料,自己从里面选了一些出来,对绝影说:“走,跟我去复印资料吧。”

绝影跟他走下楼,他印好资料,足足有30厘米高,他把它郑重地递给绝影说:“就这样,里面有原理有公式,你自己去研究吧,最后计算精度要求是double,你可以用Excel验证结果是否正确。”那神态,仿佛在跟绝影说:“维护世界和平就靠你了。”

搞技术的人就是这样,事情说完就散,绝不东拉西扯。临走的时候,那男人突然说:“哦,对了,我姓杨。”

绝影说:“我姓绝。”



燕儿问他:“你去哪里了?怎么一下午都不在?”

绝影说:“补做物理试验去了。那老师非要判我不及格。书上都说了,任何理论都需要试验来验证,试验做出的数据才是可靠的,如果理论和试验的数据不符,应该以试验数据为准。我去做那个单摆的试验,明明测出的数据是这么多,老师非要说我测错了,说和公式不符合,我跟他说要以试验数据为准,如果公式和试验数据不符那只能说明公式错了。最后我还是忠实我的试验数据,没去修改它,结果就给他判不及格了。郁闷。”

燕儿没多说他什么,她知道他是个死脑筋,做试验还不就是求个及格,既然想及格当然是老师要什么就做什么了。这个世界上就只有他一个人明知道要死,还是要去坚持。

因为燕儿明天有课所以晚上他就回自己寝室去住,绝影正求之不得,吃过晚饭他就去外面租光盘的铺子租了张Borland C++ Builder 6.0的光盘,回到屋子翻出那30厘米厚的资料一边装C++ Builder一边看资料。

走在路上他就在想,老杨说他不会用C++ Builder,他就偏偏要用C++ Builder把这道题做出来,他想像着他把用C++ Builder做好的题目交给老杨时他那吃惊的眼神。

这次他可错了,等那Borland C++ Builder 6.0安装完他试了一下,完全不是他想像的那么回事情。整个全是英文就不说了,关键是他手上一点参考资料都没有,更别说教程,那自带的帮助文档又全是英文,起码有KmdKit帮助文档的10倍那么多。

最后他还是放弃了这个想法,一周嘛,还有时间,可以先去书店买本书再来慢慢研究。于是开始做三元线性回归。

这东西果然也不是那么简单的,看了一会资料居然没什么眉目,可越是这样他做得越来劲,资料看完了,用笔算能够算了,就开始写程序,哪里有错就改哪里。当然时间也在慢慢流逝,好几次他不想做了,他想起老杨那句话:“最多给你一个星期,当然越快越好。”要是他明天就给他打电话很若无其事地跟他说:“那个三元线性回归,我昨天晚上就做完了。”保准他也会吃惊得合不拢嘴巴。这么想,他就越来越来劲,最后还是在那一夜给做完了。后来绝影回忆,那是他写程序到现在唯一一次使用了3个For循环嵌套。

做完了,优化一下代码,总共50行,他小心地把代码拷贝到磁盘里面,又编译出一个exe,也拷贝到磁盘里面,看看表,已经是上午的10点多。燕儿也应该下课了。

他给老杨打了个电话很若无其事地说:“那个三元线性回归,我昨天晚上就做完了。”然后他去等燕儿,他们一起吃午饭。他对燕儿说:“下午我要去XXXX公司。”

“去哪干嘛?”

“上次我去面试了,给我一周的时间,我一天就做完了,下午去交给他。”

“情况怎么样?待遇怎么样?”

“肯定没问题,至于待遇,还没谈,估计那么大个公司,待遇差不到哪去。你还老是说我不会ASP,挣不了钱,那小钱有啥好挣的?要挣就去大公司挣大钱!”

那天吃饭的时候燕儿给他夹了好多肉。



绝影把磁盘里的东西交给老杨,测试成功后,老杨问:“你觉得100块报酬怎么样?”

他这样说,这招聘的事情应该就已经定下来了,可这报酬也实在太离谱。绝影说:“那要看这个CASE有多大。”

老杨说:“现在不谈CASE,咱们就谈这个三元线性回归的代码,你觉得100块行不行?”

这很好算,50行代码,100块钱,一行代码2块钱。绝影觉得老杨开了个对他来说天文般的数字,他第一次知道一行代码居然这么值钱。在过去的一年中,他至少用汇编语言写了30万行代码。

但是他还是很镇定地说:“这个就这样吧,但是我从学校过来要花很多车费的,还有学C++ Builder要买书。”

老杨很大方地说:“你去楼下办公室领张公交卡,里面有50块钱,不够又来报销,另外再给你100块钱作为资料费。”
没料到绝影义正词严地对他说:“不行!”

《疯狂的程序员》17
老杨很吃惊地看着绝影。

他缓缓地说:“不好。一张公交卡里面有50块钱,车上贼又多,不小心掉了就全没了。我觉得还是折现好些。”

绝影还算是聪明人。这就好比现在BOSS总跟你说:“小张啊,好好干,再干两年就分点公司股份给你。”你要是真信了就傻了,这句话完全有资格收录到十大谎话里面。你要是够聪明你就应该跟BOSS说:“BOSS啊,股份这东西太高级咱懂不起,还是不要了,折现吧。”

这么一说没想到老杨又大方起来,同意给他300块钱。他说:“你安排下,每周什么时候能来?”

绝影没怎么去上课,记不得课表,他说:“还是让我回去先看看课表,跟老师打个招呼吧,到时候我给你打电话。”



去财务室领了300块钱,坐在回学校的公交车上绝影心情无比激动,他给三陪发了个短信说:兄弟我已经找到工作了,在XXXX公司,哈哈。

那时候他大四上期。

回到学校已经是吃晚饭的时间,燕儿问他:“待遇谈得如何?”

“没谈,不过还没做就领到300元钱,你觉得待遇能低吗?特别是昨天做那个三元线性回归,50行代码就给了我100块钱,你看做ASP的做Java的谁能拿到这么多?我当初跟你说你还不相信。”

燕儿没再说什么,吃过晚饭绝影突然很想把这事告诉土匪,他也确实很久都没回寝室了。

土匪喘吁吁从篮球场回来,老远就跟绝影打招呼:“怎么样?外面住习惯不啊?不习惯就回来嘛。”

“不能回来了,现在事情多,又找了份工作,晚上寝室要熄灯没时间做事情。”

土匪想找个工作有啥好牛B的,班上还是有好多人吹嘘自己找到了工作,自豪得不得了,一调查,不是去发传单就是去搞促销。土匪认为,与其去丢那个脸,还不如好好学习。

他鄙夷地问:“啥工作啊?又去下苦力?有时间还不如想办法帮我把计算机二级过了,我给你现大洋!”

绝影在书架上拿了课表,平静地对他说:“你懂个屁,这次我是去XXXX公司,研发部,研发员,懂不?我走了,忙去了。”

没等土匪答话,他就离开了寝室。按照他的推测,土匪听到他报出“XXXX公司”这个名字肯定会继续追问他更多细节,反正他觉得他和土匪不是一个档次,跟他讲也讲不明白。这里面的细节就留给他一个人去体会吧。

出了学校又去那个公话超市对照着课表给老杨打电话,大概就是告诉他每周去两天半,分别是什么什么时候。老杨在电话那头不住的嘱咐:“好,好,好好看C++ Builder,你一来,我们的CASE就开工。”



三天后绝影去了那公司。去的时候带了本《C++ Builder入门与提高》,这书也是从西南科技书店买的。他对老杨说:“C++ Builder已经没问题了,可以开工了。”

其实绝影自己都没想到才三天时间,他就可以从什么都不懂变成“没有问题”。所以有时候人的技术啊,知识啊也许并不是学出来的,是逼出来的。比如你去考软件设计师,本来至少有半年的时间来准备,可以那编译原理里面什么词法分析语法分析什么正则表达式啊看得你头都大了,这很正常,毕竟你是数学专业的就不是计算机专业的,是计算机专业的就不是数学专业的,甚至你跟这两个专业都不沾边。最后想算了还是放弃了,反正考试还有那么多内容,其它的学好点,一样能过。后来工作了,有一天,你BOSS跟你说:“小张啊,你从来没让我们失望过啊,最近很多程序员反应咱们那编译器不好用,你看干脆咱们自己开发个编译器算了。给你一个月时间够了吧,你可从来没让我们失望过啊。”他这么一说,尽管在那一个月中你每天都在心中骂他,可最后你自己都吓了一跳――居然还是把编译器给搞出来了。就这么一个月的时间逼一下,比那半年的效率都高得多。其实就算做不出来也没什么,做不出来很正常,做出来了你是牛人,这一个月要这么累死累活地工作是为什么?不是为了钱,是为了别人对你的信任和肯定。所以你骂完BOSS,偶尔回想起来也许你还是会感谢他的。

你说一个编译器里面有多少技术含量,论技术含量得值多少钱,可是你在公司还是只拿那么一点钱,最多BOSS再发给你2000块项目奖金。所以这样来看很多时候程序员工作真的不是为了钱,至少他在写那个程序的时候想得更多是如何去解决某个技术上的难题,当然,东西做完一交他有可能马上就会想到:呓,我的钱呢?才这么一点?所以你就不难理解很多人――像燕儿这样的人,他们不能理解你甚至嘲笑你居然可以天天坐那写一分钱都赚不到的程序,并且还写得很快乐。

对程序员来说,大部分快乐是从解决问题特别是独立解决问题中来的,不是从这个CASE有多大,奖金有多少中来的。



当时正好是星期一公司的例会,老杨说:“走跟我一起去开会。”

反正开会的人除了老杨绝影一个都不认识,绝影自己坐那觉得挺无聊,倒是最后老杨跟大家介绍绝影:“这是新来的‘技术外援’绝影,很厉害,一天就把三元线性回归解出来了。”绝影站起来跟大家点点头,那一瞬间他想起:惨了今天早上起床后没梳头。

开完会,老杨跟他BOSS请示了几句,对绝影说:“走咱们先去看车间。”

车间不大,绝影老远看见上面有大大的放射性三棱形标志,老杨一边挡住绝影一边说:“小心点,别碰,远远地看。就这东西有放射线太危险了,所以我们要做的软件就是实现对这机器的远程操作,比如我们坐在值班室里就可以监视机器的运行情况并且能够对它们进行控制,也就是说,我们的软件是一台完全仿真的机器。”

回到研发部,老杨让绝影坐他旁边的办公桌,桌子前面已经贴了一张CASE进度表,这个CASE总共会持续两个月。绝影看见“上位机”上总共有3个人的名字,“绝影”也在其中;还有一个姓周的做单片机部分。桌上摆了台电脑,操作系统居然是Windows NT 4.0英文版。这让他有点失望,上次他就见老杨用一台笔记本电脑在工作,以为去了公司也会给他配台笔记本,他甚至已经给燕儿放了话:“公司会给我配台笔记本电脑。”

毕竟是第一天去上班,老杨让绝影自己去参观一下公司,绝影首先问:“哪里可以抽烟。”老杨说:“隔壁的隔壁,研发部办公室和开发部办公室之间。”

他跑过去,那里果然有间休息室,休息室旁边果然是开发部办公室。他就觉得奇怪,研发和开发到底有啥区别?居然硬要分成两个部门。抽了只烟,绝影去二楼策划部转了一圈遇到几个美女跟他打招呼,都操普通话。问他:“新来的吧?以前都没见过。”他说:“是。”再很自豪地补充一句:“研发部的。”他恨不得马上跟她们再补充一句:“我叫绝影,现在在哪里哪里念书,电话是多少多少。”他觉得讲普通话的美女就是好,讲话都好听。

回到办公室,老杨问:“熟悉了吧。”

他说:“还行,就是厕所有点远。”

老杨说:“还有点时间,你来帮我做个事情。给定一个时间:年月日,算出是星期几。”

绝影不知道C++ Builder里时间用的什么类,就知道API中有个SYSTEMTIME结构,就拿API来做,低层一点就是好,汇编啊VC++啊BCB啊VFP啊里面都可以用。依稀记得读高中的时候看了张报纸上面有个公式可以可以通过年月日计算出星期,用到了取整函数,学了高等数学才知道学名叫高斯函数,在网上拿 “计算星期”作关键字搜索了一下找了几个公式,人家又讲得复杂,光原理就讲了好几大千字,又没有现成的代码。当然有了这些资料完全也可以用公式计算出来。老杨说的是:“还有点时间。”你要真拿这些公式来做,就不是“还有点时间”了,是“没有时间”。

于是再想办法。反正是给你年月日计算星期,其它又没什么要求,先用GetLocalTime保存现在时间,再用SetLocalTime把系统设置成要计算的时间,再用GetLocalTime取时间,然后取SYSTEMTIME的wDayOfWeek,最后用SetLocalTime设置成原来的时间。操作系统都帮你把星期计算好了的,你自己还去算,那不笨死了。

东西交给老杨,老杨说:“这也太另类了。”

绝影问:“不行吗?”

“倒不是不行,就是太另类了,反正我们是应用,又不是考算法,这办法很好。”

所以写程序有时候就是很有意思。比如你搞数学的,一就是一二就是二绝不可能出来三,但程序就不一样,方法自由,很多时候解决一个问题的方法直接反应出这个程序员的性格和思想。

老杨收好绝影的代码说:“下次来你就正式开工了,你回去可以先研究一下,这就是下面那机器的图,你要做个VCL组件,把这个机器的图放在窗体上像下面的机器一样可以左右运动,运动的速度和最大距离可以调整,把属性都给Publish出来。”

绝影想这玩艺还不容易,还用花那么多时间,拿回去我一天就给搞出来。


回到学校把那玩艺从磁盘拷贝出来,C++ Builder打开,大概过了10分钟,绝影傻眼了。

《疯狂的程序员》18

摆弄了大概10分钟,绝影就知道老杨交给他的这东西绝对不是他一天两天就能完成的,虽然看上去很简单,真开始做才知道麻烦,很多时候往往都是这样,把书看完了,觉得什么知识点都掌握了,C++ Builder也会用了,但真的一个CASE上来才发现真的什么都不会,什么都不懂。

反正要下周才去公司,时间还算充足,一边学一边做还来得及。总之等他去公司的时候他也真把东西做了出来,交给老杨,老杨还算满意,拿给他一本书:《C++ Builder编程实例》,他说:“其实我也不会C++ Builder,接到CASE的当天,我把它的帮助文档全部看了一遍。还有这本书,也看完了,给你看吧。”

他说得倒轻松,以至于绝影都不好意思跟他说自己英语很菜,C++ Builder帮助文档自己一个字没看。

绝影恭恭敬敬收好书,老杨说:“今天你帮我把几个函数做完,函数的原型我都写好了,功能很简单,主要就是一些字符串处理,要求写在注释中,你看看就明白了,不明白的来问我。”

整个上午,绝影都没能好好工作。他喜欢在安静的环境里工作,要一点声音都没有,连音乐也不能放,可旁边那老杨收音机一直开着,放的什么歌也听不清楚,反正感觉就像寺庙里天天放那种。当时绝影就怀疑这老杨莫非是个信佛的?

一直熬到中午12点半,老杨好像终于解决出一个大难题,如释重负地说:“走吧,吃饭去。”绝影其实早饿得不行,早上来的时候就没吃饭,现在肚子又饿,又饱受老杨收音机的摧残,根本没办法写程序。本来食堂是11点半开始放饭,他早想一个人去,可是老杨不动他不敢动,老杨不说话他不敢下楼。

总的来说食堂的效果还是不错,四份菜一份汤,要什么要多少自己去取,比起现在某些公司所谓的“管饭”就相当于一个5块钱的便当,这家公司显然要大方得多。绝影一个人先打了两大碗牛肉,碗里装得满满地。他往座位走的时候大家都小心让着他,这时候他又后悔起来――其它人都很自觉,量力而食,就自己好像从来没吃过牛肉似的。――不仅是后悔,简直就是丢脸。

老杨的举动更奇怪,他不去前台打饭菜,径直去了后台,出来的时候碗里装得满满的。绝影想老杨不厚道,自己一个人开小灶,肯定是什么好东西,望过去一看全是素菜,总算知道这个老杨真是个信佛的。他开始注意这个老杨。

怎么说在这么大一个公司研发部工作,工资没有5000也有3000,天天穿件和守门大爷差不多的衣服,脚上蹬一双布鞋,稀须的胡渣,蓬乱的头发,经常变魔术似地从包里抓出一把果冻或者糖,像宝贝似地,但有时候也给绝影几颗,一只手提台IBM笔记本电脑另一只手拎着个收音机,里面放的音乐让人极不协调。

难道搞技术的人注定就是这副德行?



后来绝影又去了几次公司,每次都是坐公交车去,来回一次要4块钱,最初他们是在研发部办公室工作,后来他、老杨、老周三个人干脆就把办公桌电脑搬到下面的车间对着那机器现场办公。车间里面进进出出还是有好多工人,都穿着一致的脏兮兮的衣服,他们也在食堂吃饭,不过比绝影他们晚一些。公司的组织结构在食堂体现得淋漓尽致:首先是领导吃饭,一人一桌,专人专菜,然后是中层干部,提供点菜服务,再然后是老杨绝影这些办公室工作人员,就那五个桶里自己选,最后才是车间里的工人,桶里还剩什么就吃什么,桶里没有就没得吃。

每次他们从绝影身边过,或者绝影从他们身边过,他都要立刻作出一副沉思的样子,恨不得把他们拉过来一个一个告诉他们:“我和你们不一样,我是搞技术的,你看我穿的都是便衣”



到五一节前最后一次去公司之前,绝影和燕儿在食堂吃饭,燕儿问:“应该发工资了吧。”

“是阿,干了一个月了。今天他不发,我就问他要。”

“能拿多少呢?”

“还不知道,这么说吧,要是500以下,我就立马走人不给他干了。你想写50行代码都拿100呢。这个月我给他们做了多少东西。”

绝影这样说他的确没有吹牛。进度表上的工作他是按质按量的完成了,那本《C++ Builder编程实例》他也看得差不多,里面有很多东西还是很有用的。相反倒是老杨很不够专业,进度一直没跟上,每次去他总说:“这个,先别忙,先别忙,你上次给我的东西,我得先用起来。”

这次去了,老杨和平常没什么两样,写程序的时候绝影一直在想一会应该怎样跟老杨开口要钱,眼下就是五一节,因为绝影找到这么个兼职的工作,他和燕儿花钱就大方起来,想反正到时候有工资领,要是这次拿不到工资两人还真的就没法活了。

下班的时候,绝影还没开口,老杨先说话了:“一个月了,来,咱们结算一下工资。”绝影还没来得及高兴,他就从包里掏出一大把钱,一二三四五数了五张递给绝影:“怎么样,对报酬还满意吧。”

说实话那一刻绝影的心情跌落到谷底,但是他能怎么说?他能跟老杨说:“才这么一点呀,上次写50行的代码都拿了100元呢?”就算你真想这样说,你也不能说。就像现在在公司里和小组奋战3个月终于拿下一个价值300万的大CASE,想这下好了,1/1000的奖金总该要发的吧。结果BOSS过来拍拍你的肩膀,和蔼地说:“干的不错阿,小张,按时安量完成项目了。去会计那里领1500奖金吧,直接去领就行了,我跟他们打了招呼了。好好休息几天阿!”那一刻你恨不得当场给他几个耳光。

所以他只能违心地说:“嗯,满意满意。”

你要明白程序员想要的是什么?是肯定。钱也许是次要的,但是凭良心说,自己做了CASE,并且做得很好,自己觉得自己的劳动可以值3万快钱,但是他们就拿1500来打发你,不管他嘴上怎么说,首先这就是对你工作成绩的不肯定。所以后来绝影总跟朋友提起那50行三元线性回归的代码,他说:“写50行代码,1块钱,知道怎么写,99块钱。”他觉得就算给他100块也不多,因为有很多人花一周的时间也写不出来。



回到学校,燕儿还没问绝影就跟他说:“领钱了,领了500块。”说完拿出5张崭新的百元钞票:“就是这个,看。”

虽然离想像中还是有点距离,不过燕儿还是很高兴,毕竟这相当于他们每人一个多月的生活费。

“下个月我不去了。”

“不去也好,反正都很累,表面上是每周去两天半,实际在学校也常常在做。”

“不是因为累,是因为我觉得我所做的工作价值不止500元。”

吃过晚饭,绝影给老杨打了个电话。他说:“老杨,下个月我不来了。”

老杨有点吃惊,问:“为什么?是嫌报酬低了吗?“

“这倒不是,我觉得压力太大了。我回学校都要做,而且时间很长。”

说心里话,虽然他嘴上这么说,还是希望老杨能留一留他,就算仍然是500元一个月,他还是愿意继续做下去,只要他留他。

“哦,这样阿。那好吧,不过你要把你的东西跟我交接一下。”

说心里话,虽然他嘴巴上这么说,还是希望绝影能留下去,就算他要1000元一个月,他还是愿意他留下,只要他愿意。

“东西都没什么,我今天打的包中已经包含了我所有的东西。都在里面,你清点一下。”

挂了电话,绝影还是觉得心里很哽,他幻想这事情还有转机,想起老杨《C++ Builder编程实例》还在自己这里,连忙又打个电话过去。

“你的书还在我这里呢。”

“没关系,我也看完了,你方便的时候拿过来吧。”

又挂了电话,绝影还是觉得心里很哽,但是没有什么理由再打电话过去了。



五一长假绝影和燕儿都没什么事情做,那本《Windows环境下32位汇编语言程序设计》,罗云彬,电子工业出版社中远程线程那节和PE文件那章他还没看,他觉得这两个内容非常重要,隐藏进程和感染PE文件的方法就在这里面介绍,这正病毒必须具备的特点,高级技术阿,所以一定要好好看,看懂,所以,放到最后来看。

这时候,绝影突然发现自己的QQ终于升级到有一个太阳,他一直盼望这一天。以前挂QQ按小时来算,他就后悔那时候天天开着电脑写程序不养成习惯挂QQ,好多人早就有太阳了,他还挨了这么久才有。有太阳就是好,可以建群。他迫不及待地去建立一个群,叫什么名字呢?自己正研究32位汇编的,觉得自己技术还算行吧,就建个群叫“Win32汇编”,说做汇编有时候还是挺尴尬的,你看CSDN的论坛和Blog,就没有汇编专区,不得不把自己划分到“其它”分类里面去,QQ群也是这样,分类只有“技术联盟”,“其它”比较合适。

第一个进这个群的是“绝影”,第二个是“清影”,那是燕儿的网名。过了一周,终于有第三个人加入他的群。后来,绝影的群里人慢满多了,再后来,绝影成了QQ会员,再后来,绝影的群里人满了,他把群名字改成“Win32汇编总群”又新建了“Win32汇编第一扩展群”,“Win32汇编第二扩展群”,再再后来,人实在太多了,绝影就把“Win32汇编总群”升级成高级群。



五一假还没放完,这一天,土匪突然给绝影打电话说:“惨了这次我惨了,这次你一定要帮我。”
绝影想:你个土匪,五一假就顾自己出去玩理都不理我,没想到也有你求我的时候,哈哈。


《疯狂的程序员》19

这次土匪的确不得不得低三下四地求绝影,开始他认为单片机技术基础是门很简单的课程,你想51单片机指令就那么多条,比80x86的背起来不知道容易多少,微机原理自己都能过,还怕这个。

他这么想的后果就是考试前不得不又一次来找绝影。

他说:“你出去住,大家也好久没聚了,来一起吃饭,去吃鱼。”

吃鱼的时候,他用力拍着绝影的肩说:“单片机,就靠你了。”他这样说的时候,那神情跟现在资本主义公司老板没啥两样:我给你发了钱,你就应该给我干,并且是我让你干啥你就得干啥,我让你干到啥时候你就得干到啥时候,因为我给了你钱。土匪的意思就是:我给你吃了鱼,你就得帮我过单片机技术基础,因为我给你吃了鱼。

所以现在很多公司的老板们们都没搞懂这个情况,别认为只有钱才是东西,技术就不是东西。并不是说你给了别人钱,别人就必须按照你的任何要求给你做事情,应该是别人给你做了事,作为回报,你应该给别人钱。

土匪这样说,绝影自然很不爽,他说:“这个恐怕还是要靠自己阿,我单片机都自身难保。”

这下土匪急了:“啥不行阿?你肯定有办法,就凭你的技术,那课就是不上闭着眼睛也能过。”

所以说你越是跟别人证明你行,别人就越不信,相反什么也不证明就是最好的证明。

土匪想绝影也是个聪明人,如果不给他点实质上的东西看来他是不会轻易帮助自己的。他说:“哎呀绝影阿,眼看快毕业了,学院还有两个保送研究生的名额,今天曹妈还在让我推荐。我觉得你又聪明自学能力又强,不就是英语菜了点,努把力其实也没啥大碍,现在给你说下,推荐你去,你愿不愿意?”

听了这话,绝影欣然点头,这笔买卖就算成交。

土匪想自己也真够聪明,一眼就看出绝影的死穴,所谓投其所好,送其所要。念研究生,谁不想去念?至少以后拿出去跟别人说:“我乃XXXX大学XXXX硕士研究生毕业。”说起来也觉得倍儿有面子。但是以绝影的英语成绩他要想考研,那难度等同于让土匪这样的人去考系统分析师。

这样看来土匪还真有点聪明,但其实他真的很笨,他最大的笨就是不知道自己很笨。绝影根本不是他想的这样,他说的话绝影只听了一半,他就觉得前面夸他的话很中听,至于后面念研究生什么的他根本没往心上去。道理很简单:帮忙考个单片机又不是啥大难事,有这么好的事情你土匪早自己去了,还会放到这里?就算真要放到这里,至少也要让绝影帮他考个十科八科才能成交。

他望这土匪得意的神情,冷不防对他说:“你呀,当你有一天知道自己笨了,你就有点聪明了。”

话音一落,土匪的笑脸突然间好像有点抽筋。



土匪顺利地过了单片机技术基础,了却了他一桩大事:如果大学四年有挂课的就没资格申请保研。当然土匪也够有自信,他理所当然地自己占用了保研推荐名额。

那几天土匪就像欠了绝影一大笔钱似的,整天躲着他。绝影也没跟他计较这些,他知道就算土匪真的钱了他钱,他也要不回来。所以只要人心态好心情就会好,本来那东西就不属于你,你要真把他往心上放了到时候整的还不是自己。



新学期的时候王江跟大家说:“最后一学期了,大家还是经常回寝室住吧。毕竟四年同学,就快散伙了。大一大二的时候还经常开下卧谈会,现在住回来,再回味一下年轻的时候吧。”

土匪见绝影从来没跟他提起保研的事情,以为他已经把这事忘记了,觉得还是有点对不起他,也诚恳地说:“就是就是,绝影你也回来住段时间吧,大家同学一场,说实话有时候还是多想你。毕业了,你老婆肯定还是会跟着你,兄弟伙就不一样了,得各奔东西找钱呢。”

晚上躺在床上,他们三个又开始开卧谈会。本来寝室应该住四个日人,但是超薄实在太不和群。他不是本地人,性格也跟大家有点不合,加上语言又不通以前开卧谈会他们三人谈得兴高采烈的时候往往就伴随这超薄的鼾声。而且他对自己的女朋友很满意,尽管他们三个看了之后都只用了一个字来形容:丑。但他就是觉得她很不错,觉得他们没欣赏水平,所以就越发地鄙视他们,所以他不回寝室也在他们的预料之中。

王江说:“一毕业,我就要创业。”

土匪稳:“你找好项目没有?”

“还没有。找项目还不容易,关键是如何找钱找投资。不过这个你放心,根据我多年拍电影跑市场的经验,找投资对我来说不是啥难事情。”

王江就是这样,他就是不相信“事在人为”这些简单的道理,总是认为事业阿,成功阿这些东西总是为他准备着,不管干哪行哪门,只要他王江上马事情就做成了。对他的这种思想土匪和绝影都不好说他,他们就沉默着,等他去做,等他失败,等着笑话他。他去做了,失败了,可是他的理由也来了,他的理由能让失败也变成成功。因为那事情没有失败,是他自己在关键时候放弃了。为什么要放弃?因为他突然对这事又没了兴趣。所以他的事情总是在想像中成功,在实践中失败。

这次土匪却发表了不同的观点:“创业当然也好,但是刚毕业就去创业太没经验了要吃亏。还是想再念几年研究生,多充点电,以后走上社会才吃得开。绝影,你的打算呢?”

土匪这样一问,绝影不免有些惭愧。他不像王江那样要雄心勃勃地去创业,一是经济上不允许,二是他真的没有什么好的CASE可以去创业,也不可能像土匪那样去考研,因为他英语实在太菜,考研等于去浪费钱。他说:“我嘛,我就想找个可以天天上网的工作。”

土匪突然很激动:“那你也太没追求了。别拿出去说,真给我们寝室丢脸。”

王江也说:“就是!我要去创业,自己开公司,等到开招聘会那天我一定会去,不过不是去参加招聘,是去招聘人。”

大四的招聘会,如果我也参加,但是不是去被招聘而是去招聘人,那该有多好。绝影把王江的这句话深深地记在了心中。



大四下期没有课学校都管得很松,巴不得大家都认真去找工作,顶级大学互相比什么?比研究水平,比课题,比863计划。像绝影他们这个高不成低不就的大学比什么?比招生规模,比就业率。所以学校巴不得每个学生都不要上课,不要待学校里,都去认真找工作都去创业。

土匪天天抱着书往图书馆跑,王江一到白天人影子都找不着,估计是去跑创业的事情去了。绝影还是有空就坐电脑面前写写程序,跟群里的人聊聊天,反正就是天天都呆网上,顺便在网上找找工作。

技术进步了就是好。高考结束的时候绝影和三陪觉得自己都没考好感觉肯定念大学没戏了,于是一起去找工作。那个年代网吧都还在用猫拨号,他们不得不头天晚上就跑城里网吧上个通宵网等着早上人才市场开张。结果两个高中毕业生,论人才又算不上人才,自然碰了一鼻子灰。现在可好,天天就坐电脑面前边聊天或者边打QQ游戏的时候边翻翻招聘网页比在那人才市场站一天见识到的公司还多。

这天他翻着招聘网,看见有这么一条信息:XXXX公司是XX省科技厅认证的高新技术企业,专门事医学影像软件开发,与GE,Siemens,Kodak等公司有多年合作经验,现面向学校招收实习生,初级程序员,要求能熟练使用C/C++,掌握VC,MFC,有数字图像处理经验者优先。有意者请将简历邮寄至XXXXX,所有资料将保存至人力资源库。

看了绝影就想笑:招大学实习生还有数字图像处理经验者优先。别的不说就这个大学里面有几个人会搞数字图像处理?当然学校也的确开了数字图像处理这门课,不过那是选修课,纯粹是给学生混学分的。上课的30多个人老师都知道,就绝影还算合格,其它人都可以给他挂了。

话又说回来,这时候绝影才想起自己真的对数字图像处理还有些研究。什么计算灰度阿,中值虑波阿他还是懂,就是小波变换这些高等数学的东西他弄得不是很明白。不过上学期为了让别人知道自己技术又进步了,他专门去买了本《遗传算法》。遗传算法是什么?谁知道?学校里面谁都不知道,数据结构和算法反正是没讲这个。没人知道的东西就是高档技术。你想你听都没听过的东西我绝影都在研究,我绝影的水平那比你不知道高多少。

书买了他也没浪费,还是看了一些。特别是选修数字图像处理之后,注意到遗传算法最后一章居然讲到图像歪斜校准,觉得很有意思,认真看了一下,居然还看懂了一点。那一天他又有一个梦想:现在网上不是有很多图片或者翻拍的老照片不是很清晰么?哪一天我用遗传算法做个优化照片或者去马赛克的程序,你运行了就放那里,让它慢慢进化,慢慢优化,最后居然能得到一张清晰的照片,那这个软件肯定能卖不少钱。

这么想,他就给那公司去了一封邮件,想不去白不去,反正他们做医学影像,谈到数字图像虽然我没啥真正水平但比起其它的大学生来说我至少还能说出点专业术语。

没想到第二天一早,绝影就街到一个电话,号码他不认识,电话那头的人说:“你好,我是XXXX公司总经理,你能到我们公司面谈么?”

《疯狂的程序员》20
绝影放下电话,对燕儿说:“XXXX公司让我过去面试。”

“有把握吗?”

“当然,你不知道刚才那人打电话的语气,简直就是求着我去。”

“你简历还没做好呢。”

“要啥简历阿,人去,行就行,不行就走人。此地不留爷,自由留爷处。”

“那总该去把头发理了吧,早就让你理了,就都说没时间,这次去面试不管怎样总要给别人留个好印象吧。”

绝影想燕儿说的也是,本来头发就已经长了两个多月,并且发型和脸型一点也不配合,脸型又和衣服完全不一致,平时大多数时间都呆住的地方上网写程序,反正又不用出去见人,就算见也就见土匪王江他们几个。对他们来说评论哪个妹妹脸上多了一颗豆豆,走路的姿势完不完美比评论绝影头发的长短来说有意义得多。

绝影去外面转了一圈找了个可以理发的坐了下了。店主见了他老远就打招呼,高兴得不得了,似乎很久没有顾客光顾他们。他对小工摆摆手:“让开,这次我亲自操刀!”

既然亲自操刀,自然要充分展示自己的实力。他一边理发一边滔滔不绝地跟绝影讲理发的理论,比如他怎么剪,他就讲为什么要这样剪,这样剪有什么好处,有什么样的效果。理完之后,前面要留一小撮长的,这样人看起来才有个性。

那人小心翼翼地围绕绝影转了一圈,一边打量着绝影的头一边不住地点自己的头,对自己的作品很满意。俨然一个艺术家在欣赏自己精心设计的作品。

绝影说:“算了吧大哥,我是去应聘的,能不能给弄正式一点?”

艺术家和程序员有一个共同点就是对自己的作品宝贝得不得了,像自己的儿子似的,就算自己的儿子有一点瑕疵,但终归是自己的儿子,不到万不得已也不愿意轻易去修改它。这就是为什么在公司里面开会的结果是大家一致认为程序应该这样这样改,就是程序员不同意修改。

显然那店主也极不情愿修改自己的作品,但碍于客户的要求,还是稍微修正了一下,两剪刀下去从外观上来看其实修正效果并不大。绝影想反正这样也不丑,感觉那店主和自己一样自以为是,还是少跟他打点交道,大不了以后永远不来了。但是还是很礼貌地跟他说句:“不错不错,这样很好。多少钱?”听到表扬,店主大方起来:“12块钱,给10块钱行了。”

回去见了燕儿,她厉声说:“不行不行,前面留那么长一撮,都是要工作的人了又不是混混,不能这样,再去找他!”

绝影觉得再去找那店主不好,再说实在不想再跑一躺,他说:“懒得麻烦。反正我是去写程序的,又不是跑业务见客户的。”

“不行,不行,一定要去弄好。这是个人形象问题。走,我带你去。”

又见到那个店主,燕儿一上去气势汹汹地跟他理论,把他的作品贬得一文不值。绝影一句话也不说,店主听了十分尴尬,想反正跟她讲理发的理论她又不懂,女人还是少去惹比较好,终于极不情愿地同意把绝影前面那一小撮头发剪掉。

绝影上公交车的时候,燕儿还叮嘱他:“一定要注意形象!”



那家公司离绝影原来做C++ Builder的公司不远,其实很多高科技企业都集中在这附近。第一次进去公司还是让绝影有点失望――比起原来那家公司肯定要失望。公司很小,人也不多,任何人很难想像就这么巴掌大一点的公司居然跟GE,Siemens,Kodak有长期合作关系。

进去公司遇到的第一个人大概就是个程序员,他头也没抬,眼睛始终盯着显示器,手不断在键盘上敲打,只说了一句话:“面试的吧?里面去。”

里面的人看上去就成熟多了,或者叫“老练”吧。他站起身,一边说:“你好你好,我就是公司的总经理,我叫Ivan Zhou,叫我周总就是了。”一边跟绝影握手。绝影很少跟人握手,印象中这好像是第一次,所以握得极不自然。

绝影说:“这是我第一次面试,有点紧张。”

“没事,没事,没啥好紧张的。”

那人让绝影坐下,叫外面小李给他倒了杯水,继续说:“你就是绝影吧。我看了你发的邮件。你提到你熟悉底层,擅长汇编。很好很好。会用VC++吗?”

有个笑话说小白兔去问副食店老板:“有100个包子吗?”老板说:“没有。”小白兔走了。第二天,小白兔又问:“有100个包子吗?”老板说:“没有。”小白兔走了。第三天,小白兔又问:“有100个包子吗?”老板高兴地说:“有。”小白兔说:“那我买两个包子。”

这种情况就绝影深恶痛绝的。既然你要招的就是会VC++的,会C/C++语言的,那你还说“熟悉底层擅长汇编”好。那不是用高射炮打蚊子么?

想虽然这样想,不过看起来周总还是一脸真诚,绝影还是很客气地对他说:“VC++接触过,但是用得不多,不过我学起来很快的。学校里面一边都是用TurboC或者TurboC++,这两样用得比较多。”

“行,那数据结构算法怎么样呢?”

“这个我们在学校学过了,我还行。关键是我对驱动开发啊、逆向工程啊、数字图像处理啊这些有些研究,我觉得这才是我的强项。”

“OK,你可以现场用VC++做两道题让我看看吗?用VC++有问题吗?”

“当然没问题。”绝影这样说的时候心里有点虚。VC++这个微软出的东西很有名气,绝影自然有所接触,但他还真没用VC++像模像样地做出过东西。你想天天用32位汇编根本没啥好的IDE,大部分都是用ml、link在汇编链接,搞成了习惯,最后明明放着好好的VC++的IDE不用偏偏要用cl去编译C/C++程序。要换成IDE了,反而还不会用了。

周总让小李给绝影安排了一台电脑,他觉得这台电脑好破,起码连机箱的盖子都少了一边,穷得都没钱穿衣服了当然是很破的电脑。小李帮他打开面试题的文件夹,题目有两道:一道指针的填空题,第二道很变态:限时1分钟用冒泡排序法排序10个数字。

指针的填空到是很简单,反正你记住几个原则:一、处始化;二、注意空指针和野指针。基本上学校考试题啊,面试题啊的考点就这些。不过绝影还是花了一些时间,首先是来熟悉VC++的环境,怎样建立New Project,编译在哪,链接在哪,点什么才能运行。他又不会用VC++来调试,那时候他用32位汇编对他来说基本上就是没办法调试,最多用个MessageBox输出结果来看看,要输出数据还得用wsprintf格式化一下,而且格式字串又没办法弄成局部变量,所以那样的开发实际上和瞎猫逮老鼠没啥区别,你就得不停地希望这次遇到的老鼠是只死老鼠。

排序可难倒了绝影,不过限时基本没用,做完了指针的题花半小时来检查,其实就在心中想排序的事情。以前数据结构和算法肯定是学过冒泡排序的,奈何那时候什么冒泡排序法,快速排序法,插入排序法,希尔排序法确实学得太多,名字都记不住。他也搞不清楚到底哪个该怎样排,鳖了半个小时干脆自己写了个排序法,好歹还是把结果给排了出来。

交给周总,绝影心里惴惴不安。他运行了一下指针的程序,没问题。看看排序结果,也没问题,便说:“嗯。排序我不具体看了,反正是两个For循环嵌套,应该没问题。做还是做出来了,可以先到公司来实习。”

听他这么说,绝影算是松了口气,没等他说话,周总继续说:“至于待遇问题,既然你是来实习,就没有工资这个概念,给你发生活补助,一个月250块钱。先有2个月实习试用期,完了之后转正式实习,如果实习没有问题等你毕业了,可以留在我们公司试用,如果干得好咱们就签合同。你今天先回去,把你的时间表整理一下,看看每周什么时候能来公司。”

所以现在资本家就是聪明,先是2个月实习试用期,完了又是几个月实习,然后又是几个月试用,真要是干得好签上正式合同那起码也要等大半年,要是BOSS觉得不爽最后连合同也不跟你签,那你就亏大了。绝影想也没啥,反正现在自己还正在念书,不过那250块的生活补助也太少了,亏这个跟GE,Siemens,Kodak有长期合作关系的公司开得出来。既然这样,那我也不客气,本来一周可以来两天半的,我就来两天。

绝影点点头表示同意,起身跟周总说:“那我先走了。”

周总突然像想起了什么,说:“哦,那一起走吧,正好我要出去办点事,顺便用车送你一程。”

两人一起出门,走到门口,周总又补充了一句:“小绝啊,还不熟练。”

了车上,反正路上也没事,绝影首先打破沉默:“现在有好多人做ASP啊,Java啊,可是我没学那个,我一直就学的是汇编啊,SDK啊这些比较底层的东西,经常用命令行编译,所以有些工具用起来不是很熟悉。”

周总突然问:“会写makefile吗?”

“当然会。”绝影这样说,因为在那本《Windows环境下32位汇编语言程序设计》中第二章就讲了makefile的写法。他天天用汇编写程序,哪里有不用的。

“VC++的编译器可执行文件名是什么?”

“cl.exe。”

“不错不错,我很较喜欢研究底层的人,什么VB这些根本不可能用在具体的应用软件中,有时间的话我们可以详细探讨探讨。对了,我们公司还有一个董事长,叫Steven Chen,我们都不是四川人,你跟我们讲普通话有时候听不懂,以后在公司还是尽量讲普通话吧。会讲吗?”

“会讲。”



周总把绝影送到公交车站,坐在车上,虽然这个公司不是很令绝影满意,但想想一周才去两天,一月才去八天,有250块钱,要按一个月出勤24天来算,也有750块钱。这么想,他又按赖不住激动的心情,掏出“电蛐蛐”给三陪发了个短信:兄弟我又找到工作了,250块钱一个月,一周去两天。

回到住处,燕儿还在上课,绝影迫不及待地跑去CSDN的汇编论坛。那上面经常有人因为考试过了、升学了、就业了,甚至生孩子了这些喜事来发些散分贴。绝影在其中接了不少分,老早也想自己有啥喜事也去发篇散分贴回报一下各位网友顺便炫耀一下自己。
这次跑去论坛,他发表了一篇名为《还没毕业,当上程序员了,散分100》的帖子。散分贴就是火热,不一会就很多人回复,其中二楼的回复是“用汇编写程序的不叫程序员,叫工程师”,绝影看了心中美滋滋地,好像自己就已经是一个工程师了。

《疯狂的程序员》21

绝影第一次去公司周总先给他介绍同事:“小李是秘书,小周是程序员……以后你就跟着小周,他很厉害的,要好好跟他学习。”

他对小周点点头,本来想跟他打个招呼,但实在又不好称呼他。周总当然可以叫他小周,自己总不能这样叫他,叫“周哥”,绝影又觉得特别别扭,以前他还很少这样称呼一个人,所以他也就只好跟他点点头。

介绍完,周总安排绝影就坐小周旁边的办公桌,说:“那你们先忙吧,我就不打扰你们了。遇到什么问题要多问小周。”

小周一直没说话,也一直没抬头,等周总走了,他只说了句:“听说你汇编不错。”

绝影忙说:“不敢当不敢当,就是学了一点,了解一点。”他看这办公桌上的电脑正是自己面试时做题的那台机器,连衣服都没得穿,破得不得了。他问小周:“那我现在做什么呢?”

“先看MFC。”

先看MFC,MFC这个东西绝影倒是知道,其实只能算是了解,不就是Microsoft Foundation Classes――微软基础类库么。具体是什么他不知道,总之一个东西你只要知道他的全称是什么至少能给别人留下非常专业的印象,你问小周:“你知道MFC全称是什么吗?”他还不一定答得上来。

MFC在哪里看?从哪里开始看MFC?看MFC什么?绝影都不知道。他本来想问小周,但看他一直神情专注一丝不苟而且貌似他又是个不爱答理人的人,至少说的第一句话“听说你汇编不错”感觉有点藐视绝影的感觉,他不想去碰壁,干脆就开了电脑对着它发呆。

最后终于还是小周沉不住气了,他说:“我在你共享里拷了个Project,你先打开看看,有什么不懂就问我。”

他双击打开那Project,VC++的进度条唰唰唰跑了好几躺终于才看到它的真面目,尝试编译一下,乖乖,居然用了将近一分钟,有时候就编译一个cpp文件居然就要用好几秒。还是汇编好,你看一个ASM文件拿来汇编,基本就没有停顿,汇编器来得快,写起程序来也来劲。拉开左边的Source Files列表,里面密密麻麻都是cpp文件,看得绝影头都大了,程序入口点在哪里,哪个文件干什么,他都不知道。你想用32位汇编来做,做再大也就放在一个ASM文件中,技术好一点,分成几个ASM文件用include包含进来,技术再好一点,分别把几个ASM文件汇编成obj再连接,要找入口点,直接去搜索“end xxx”,这个Project可好,居然连WinMain都找不到。

可他又不好意思开口问小周,作为一个程序员,虽然只是实习试用期的程序员,你跟别人说你连入口点都找不到那还不被同行笑死。于是就装模作样一个人看,似乎看得仔仔细细津津有味。



燕儿问绝影:“第一天去工作感觉怎么样?”

他不敢跟燕儿说自己去做了一天啥都不懂啥都没做,只能说:“行,还不是那样,不就写程序吗?”

他这样说,自己还是偷偷去书店买了本《MFC入门与精通》,得亏大家都还不知道他对MFC一点都不懂,要不这工作八成没希望。虽然公司不怎么样,但拿出去跟同学说:“工作吗?这个问题我已经落实了,程序员。”还是感觉很有面子,特别是新闻上老是讲毕业生就业率怎么怎么不乐观,说得多了,看得多了,让他们这些大四学生还是挺有压力,前几届毕业生还互相比谁谁谁的工作单位好,待遇高,前途大,最近几届就比谁谁谁找到了工作,谁谁谁已经签了合同。

所以那段时间绝影一遇到同学聊天不到两句就把话题扯到找工作上来,他问他们:“怎么样?工作的事情有眉目了吗?”

他们说:“还没呢。”然后一般会反问一句:“你呢?简历做好了没有?”

这就是绝影要的。他可以大大咧咧若无其事地说:“做啥简历阿,工作我已经落实了,程序员。直接去做了个面试题就过了,简历什么的做都没做,自己有技术有东西就不用去骗人,还要简历那东西干啥阿?”



很多时候程序员中的前辈讲一个人学写程序有没有前途,总说:“学程序,不光要能吃苦能用功,还得看有没有‘sence’,没sence的人就是再怎么学再怎么给他讲效果都不好。”

本来绝影挺相信这话,毕竟是前辈说的,他总想自己应该算有sence的吧,至少很多人都还是夸他智商高聪明。要换成另外一个人听了这样的夸奖肯定高兴得不得了。但绝影不这样,别人越夸他聪明他越反感。

初中的时候有一个星期五班长对大家说:“明天是星期六大家去放松一下我组织大家一起去看场电影吧。”绝影没去,他回家一个人背政治,就在家里踱步从客厅这头踱到那头一边踱一边背政治。星期一政治考试他考了94分全班最高分。于是同学们开始夸奖他:“哟,真是太聪明了,看几遍就能背了,就能考94分,智商高就是不一样。”

绝影觉得他们那样说简直是对自己的侮辱。凭良心说我背书的时候你们干啥去了?看电影去了。我考到94分你们就说我智商高聪明来为自己没考好找借口,同时把我的刻苦用功给我全部抹杀掉。

其实“sence”这个东西也是这样。

有时候想学个东西比如KmdKit开发驱动程序吧,学了好几天都没啥进展,头脑里全是调用API,想凭着经验去套用驱动程序,结果帮助文档是看完了可自己头脑里还是一点印象都有甚至连Kernel Mode Driver是啥东西都还不清楚。

又说用VC++,MFC,本来知道这东西是有用以后工作阿开发的肯定要用,还是去看了一两天,觉得还是没一点头绪,想算了还是放弃了也许自己真的是没有“sence”。

所以“sence”就像跟你捉迷藏,开始你以为肯定找不到他了或者他根本就没在你这里,等到你急着要用的时候它突然又不知道从哪里一下蹦了出来,让你突然欣喜若狂。

绝影也是这样,没想到这几天突然“sence”出来,他看MFC如有神助两三天时间居然看出点门道。不过这东西还真不是一般人能看的,比如土匪,这学期都学了C++了,你跟他说“微软基础类库”他还是照样理解成“微软基础内裤”。这样理解也就算了,可他还一脸虔诚地问绝影:“你说微软没事了搞内裤做啥阿?他们不是搞软件开发的么?”



又去了几次公司,土匪突然给绝影打了个电话:“C++的杨老师到处找你呢,说你好几次没来上课,问你C++还想不想考试。”

绝影突然意识到问题的严重性,上次本来数字信号处理这门课他铁定能过的,就因为旷课又没给老师打招呼结果给挂掉了。后来他给那老师写了封信,告诉他我现在是计算机XXXX三级,软件设计师,我在一家公司兼职就是做数字信号处理的(当然这个是为了增加说服力虚构出来的),如果这门课连我都挂了,估计这个学校能过的人不超过3个。后来也许那老师去了解了具体情况,还是给绝影回了封信,大概就是很遗憾什么什么的,但是他也没办法了,因为成绩已经入了教务处的数据库是没办法修改的。

后来绝影一个很好的朋友也是他数字信号处理试验课的老师跟他说:“以后什么课不去上,先去给老师打个招呼。”

他立刻找到杨老说,说:“我现在在一家公司实习了,程序员,用的就是C++和MFC,所以C++这门课肯定没问题,因为公司的事情比较多,可能来上课的时间就比较少了。”

那时候工作是头等大事,就算拿到院长校长那里去他们都是鼓励和支持学生就业的,再有可能杨老师还是觉得自己的学生挺有出息,这么早就找到了实习工作,还是搞开发的,凭良心来说在公司用C++实习两个月肯定比在学校念半年书有用得多。于是和蔼的说:“没关系没关系,考试的时候来就是了。要是考试的时候来不了,就提前给我打个招呼。好好工作去吧。”

绝影觉得这个杨老师挺好挺讲道理,还是去上了他几节课。下课的时候他问杨老师:“我定义了一个类,如果用‘new’来动态创建它,编译器会分配空间,自动调用构造函数等对它进行初始化,如果我用GlobalAlloc这个API来为它分配空间,系统会自动调用构造函数来对它进行初始化吗?”

杨老师用粉笔在黑板上比划了半天最后说:“还是去试一下吧。”

那时候他忽然觉得学校很忽悠。当时他真的不知道这个问题的答案,但他没想到教C++的老师也不知道这个问题的答案。



公司里面跟小周学了一段时间,绝影也觉得特别鳖,那小周看起来每天都很忙,忙得没有一点时间回答他的任何问题。他总是说:“等一会,你自己先看看。”这一等往往就等到他下班,他又说:“下班了,工作上的事情先不谈了,下次你来我给你说。”于是扔给绝影一本VC++的书,书绝影没怎么看没有印象。

没办法还是要自己学,虽然累,但成绩还是有的,那个他自己做的读写注册表的Demo就是证明。他把这个东西交给周总,周总脸上露出一点笑容:“不错不错,小周还是让你进步很快嘛。行,实习试用期就算过了,现在开始正式实习。”

过来国庆节,周总又把他叫到办公室:“由于种种原因,小周要暂时离开公司,以后你要在公司发挥更大的作用。看看能不能多点时间来公司。虽然你在学校也可以做点东西,但我们主要还是想让你尽快融入这个环境中来。”

绝影想这不是整死人吗?就这巴掌大点的公司,对外还宣称一个医疗软件公司,年利润多少多少实际上真写程序的人也许就小周这么一个,现在他都走了不如关门算了。还让自己发挥更大的作用,自己还指望过来学点东西呢。

这么想,绝影还是跟周总点点头。他说:“马上毕业了,学校事情还有点多,下周马上体育期末考试了,我考完了就多抽点时间来公司。”

回到学校的几天,绝影一直在思考还要不要去公司。去,那公司实在没什么前途,也许让同学知道公司是这么个破样还会被耻笑;不去,同学都知道自己找到了工作,现在工作丢了还是会被他们耻笑。
这天,正好是体育期末考试,绝影刚跑完1000米感觉气都接不上来,突然“电蛐蛐”响了,一看,是公司打来的。

《疯狂的程序员》22

这次周总的语气显得有些焦急,绝影预料都有什么重要的事情发生。他说:“小绝啊,那个KIPACS的BUG你现在能不能抽点时间加紧修一修。明天我们就要去为一家医院安装,时间很紧啊。”

周总说的KIPACS是公司一个软件产品,以前一直是小周在做,虽然名字叫PACS,后来绝影才发现,这个软件产品其实还算不上真正意义上的PACS。小周一直拿它当宝贝似的,还记得前不久刚刚把视频卡模块加进去的时候他一个人在那兴奋得不得了,还让公司好几个员工都来拍张照片留念。绝影也拍了一张,比摄像头效果好得多,因为视频采集卡是9bits的。

“本来以为没什么问题了,今天下午我在公司测试了一下,发现还有好几个BUG,现在再去把小周找来肯定是来不急了,你先看一看,我把源代码和BUG列表已经Email给你了。”

绝影觉得这事情来得太突然,自己在公司现在最大的成就莫过于用MFC做了一个注册表读写的Demo,现在突然要他来修改一个商业化产品的BUG他实在没什么底气。他说:“KIPACS代码我看过,但从来没往里面写过代码,不知道行不行。”

“你就试试吧,能改多少改多少。”

“好的,我去看一下,改完了我给你电话。”

显然周总也处于十分被动的局面,明天就要给别人医院安装,现在都已经是下午六点,公司原来负责这个CASE的程序员又不在,他也只好死马当活马医了。

事情来得紧急,绝影也顾不得吃饭,他给燕儿打了个电话,说:“晚上公司有事,要写点程序,我刚跑了1000米,及格了,反正现在也吃不下饭,你先一个人去吃饭吧。”

周总的邮件里面列了5条KIPACS的BUG,绝影看了一下问题都不大,他这才第一次认认真真地看KIPACS的代码。虽然老早之前小周就把KIPACS的代码发给他,当时也就是让他看看,没啥其他要求,所以他也没压力,看了几眼觉得代码又复杂,结构混乱,各个cpp文件中都随处定义的全局变量,没用匈牙利命名法,注释也很不完整,才看了几眼就感觉头都大了,所以他也没怎么认真去看。

这次不一样,你要真刀真枪去修改BUG,于是从APP类开始,顺着程序流程往下看。以前绝影的思想中基本没有“类”这个概念,所以看MFC的工程就看得累,一个一个cpp地文件去寻找实现这个功能的函数在哪里。后来周总交他一个法子:别去看那文件列表,直接把类视图展开,从APP开始,从类成员函数中去寻找,特别注意那些OnXXX函数,一般就是处理消息的。

时间一点一点过去,绝影修完一个BUG就在那BUG列表文档相关的项目上打个钩,修改一会又去看看那个文档,刚才打的钩还在,打钩的越来越多,没钩的越来越少,看一看觉得还是很有成就感,又埋头继续看代码,有时候一边看一边骂,骂谁?骂小周。代码得这么混乱,根本没想过给后人留点方便。所以要是以后自己写代码,就一定好好写,写规范,写好注释,免得别人骂我。

不知不觉就到了11点,绝影在骂人和成就感交替的心情中终于把所有BUG都修改完。他仔细地在BUG列表的文档中每条BUG后面打上括号,写上“已修正,X年X月X日,绝影”,然后把KIPACS工程打开,从头到尾把自己修改过的代码旁边打上注释:changed by Hamber, yyyy-mm-dd。

Hamber是后来燕儿帮他起的英文名,燕儿英语专业出身,给她们讲课的也都是老外,老外就是迂腐,非要给全班每个同学都起个英文名,名字不过就一个符号,但他们好像只记得住英文的名字。

燕儿也觉得很有意思,虽然没留过洋,但有个英文名感觉还是要牛B一点,于是兴高采烈回来也给绝影起个英文名。以前绝影就有个英文名叫Hitetoshi,那是从一个日文名字演变过来的,想1998年世界杯几乎全中国球迷都支持日本,所以用个日本名字还是比较洋气。后来小日本越来越过分,绝影对他们的腹绯也越来越多,最后腹绯变成愤怒,终于决定采纳Hamber这个名字,跟小日本彻底决裂。

现在考个驾照比以前严格得多,就路面行驶如果视线离开正前方超过三秒钟就直接不合格。这个要求对很多人来说的确有点难,路上那么多人啊,车啊,或者突然蹦出来个美女,难免打点晃晃,稍不留神就让考官“Go out”。后来绝影去考,一考就过。为啥?因为他在那个时候就练了出来,那天,整整四个小时中绝影的视线从来没有离开显示器超过三秒。

绝影小心地把东西全部打个包给周总发了封Email,再个周总打个电话。周总问:“改了几个BUG?”

他平静地说:“全改了。你看看代码。”

做完这一切,他才想起肚子好饿,外面有点冷,馆子差不多已经都已经关门。他去楼下烤了几串烧烤一边吃一边给燕儿打电话:“我吃了饭了,东西也给周总做完了,超额完成任务。”



绝影没啥音乐细胞,不过《同桌的你》这首歌他还唱得不错,大一的时候他本来想和王江学弹吉他,就学的这首,边弹边唱自我感觉良好,可是别的寝室对他意见很大,后来吉他没学成歌倒是唱得滚瓜烂熟。

正如那歌词一样:你总说毕业遥遥无期,转眼就各奔东西。虽然大四还没结束,但同学们都各忙各的,你就算在学校里转个三天,也不一定能见到几个同学。好容易选毕业设计的时候到了,大家回来聚一聚,各自比比谁选的毕业设计水平高些。

最开始绝影选的题目是汽车车牌号识别系统。这个课题还是很有价值。比如你创红灯啊,啪给你拍下来,把车牌号识别成字符直接放数据库,交警同志们本来就多困苦的,这下好了,一个“select”语句就把你检索出来。再说,自己去那家公司本来也搞数字图像处理,说不定有些技术积累还能帮上自己的忙。本来题目也不难,好像就是用高通率波就行了。所以这个题目他实在是十拿九稳。

过了两周,辅导员曹妈给他打来电话,先是打工问问工作可好适应不适应,然后马上转到正题:“毕业设计的题目太少了,有些题目选的人多,有些题目选的人少,你看你能不能把你选的那题让出来重新去选一道啊?”

绝影想重选就重选,反正自己有能力,哪题不会做?关键是我都把摄像头啊这些器材都买了你才让我重选,这不是浪费我钱吗?

想是这样想,他还是很客气地跟曹妈说:“当然没问题。我选哪题都有把握过的,你放心好了。”

挂了电话,绝影越想越不服气,凭啥就要我让他们啊?反正后面毕业设计题目也就那么几道,看一看再也找不出来难度合适又能体现自己水平的了。干脆给教务处打个电话说:“我是绝影,我已经在公司实习了,公司的意思是我能尽可能多地呆公司里面,所以他们希望我毕业设计自己选题,由公司派导师带我做。”

由公司派导师带学生做毕业设计按规定也是可以的,那时候宴斌已经是学院教务处主任,他跟绝影说:“行,当然没问题,但按规定,公司派的导师至少要有工程师以上的职称。改天你把你导师资料的复印件、职称证明、公司的意见该公章还有你自己的申请送到教务处就行了。”

绝影过了软件设计师,就怕宴斌不知道,毕竟他以前是宴斌的学生,还是多希望自己这个学生在老师眼里是个有出息的学生,赶紧给宴斌说:“我不是考过了软件设计师吗?那软件设计师就是个工程师的职称了,我自己带我自己不就够了吗?”

说了以后,绝影开始等宴斌来赞扬自己,不料也许宴斌那边特别忙,他说:“那还是得按规定来,就那样,不说了,我还有点事情。”

挂了电话好几天绝影都有点失落,想几年过去了,宴斌是不是当了大官就不认自己了。

后来,公司给绝影排了一个“研究员”做绝影的导师,“研究员”是个多大支持绝影也不知道,因为不知道他决定应该不小,那职称证明上写着:王X,航空工业大学研究员。他觉得这么大个头衔应该是很牛B的,所以他自己也很牛B地把资料交到教务处,心想:你们算什么职称呢?

最后学院还是给绝影划分了一个校内导师负责联络,是个女的,姓王,据说是一个很牛B的教授级别的人物,她没给绝影上过课,绝影对他的印象不是很深刻。

她问:“毕业设计的题目确定了吗?”

绝影说:“定了,《DICOM传输的原理与应用》。”

这题目是周总给绝影定的,当时公司刚完成了一个DICOM传输模块的调试也许周总也带了点给学校炫耀的心理吧,忙让绝影上这个项目。他说:“DICOM方面我们都有好多年的技术积累了,代码啊资料啊论文啊都有现成的,除了核心代码你要什么拿什么就行了。那毕业设计有什么好怕的?花个两周写写论文就行了,要不你让秘书帮你写也行。”

绝影跟王老师报出这个题目,他想她应该没有什么意义,她是搞自动控制的,对医疗方面懂个P,DICOM是什么她可能都不知道。
可是这次王老师却说:“不行,不能用这个题目。”

《疯狂的程序员》23

绝影觉得有公司和周总在后台撑腰,自己做这个题目是十拿九稳。不要说眼前这个王老师,就是放在整个学校,能懂DICOM的又有多少人?就算懂,他们只搞研究不搞应用,理论和实际严重脱钩。

所以他很郑重地跟王老师说:“王老师,你放心,我做这个题目肯定没问题,我们公司就是搞这个的,什么技术资料、代码例子都有的是。”

王老师说:“这你就不懂了。什么问题凡是跟‘原理’沾上边这题目就大了。原理性的东西你懂得了多少?再说就算你真懂一点写出来又有几个人能看懂?原理性的东西有多大?就凭你那几万字的毕业论文能够阐述清楚?我们报课题报项目多了,这方面经验比你多,这个题目太大了不行,必须换个题目。”

绝影想想也是,DICOM标准里面那么多东西,就DICOM传输这里面就包含什么消息交换、消息交换的网络支持、消息交换的点对点通信支持还有什么协议数据单元、联系控制协议、DICOM消息协议这些东西。东西太多,说实话绝影也搞得不是很清楚,大概觉得这个DICOM传输就和ISO-OSI模型一样分层,下层是物理介质标准,上层就是一些数据结构之类的。所以你要让他说“原理”他还真说不出来。正如大一时候宴斌说原理这东西:“不可说,不可说,说了你们也不能理解。”估计关键不是不能理解,是他也说不出来。

这样想,于是便说:“要不把题目换成《DICOM传输的应用》吧。讲应用应该讲得清楚,再配合一些代码例子,应该也容易过关。”

“这个也不行。要具体,具体到一个应用。题目太大了破绽就多,稍不留神就挂了。你再想想,想个好的应用报上来。”

凡事跟学校一沾边做起来就是麻烦,比如在公司有个什么CASE,管你用什么方法只要能把结果算出来东西做出来交出去你就行。管你用冒泡排序快速排序还是希尔排序,哪怕是你自己写的一个排序算法,只要方便效率高就行。跟学校要讲究的就多了。单是这毕业设计题目就有大把文章在里面,更别说后面的论文格式、英文摘要、致谢这些东西。绝影还是给周总打了个电话,把情况给他说了一下,毕竟周总做医疗有些年头了知道的东西比他要多得多。

周总说:“这样吧,题目就定《DICOM传输在CT机上的应用》,这个够具体了吧,CT机总不可能再拆了吧。反正我们最近这个CASE是跟CT配套的一个工作站,机器阿什么的都有你也有机会亲自去现场参观调试。”

得了周总的指点,绝影犹如捧了圣旨,他胸有成竹地跟王老师说:“题目就定《DICOM传输在CT机上的应用》,最近公司做的也是CT的CASE,联调那些都比较方便,这次一定万无一失。”

王老师终于点点头,毕业设计的题目算是定了。



回到公司绝影发现办公室多了一个人,周总把他叫进去说:“来,我给你介绍一下,这是咱们公司的董事长:Steven Chen。”

两人互相说:“你好你好。”绝影毕恭毕敬跟他握了手,觉得这人挺有意思,一口北京腔。在四川人来看,北京腔就很有意思,说它是普通话吧,但语气助词运用太多,感觉每一句话都带了极大的感情色彩。这两人有怪怪的,明明一个是上海人一个是北京人,在公司里面互相介绍还用英文名,又不是外企,搞得不伦不类。当然后来绝影才知道虽然这两人的确是中国人,后来去加拿大工作几年有了经验,又混了加拿大国籍,于是就回来开公司,这么来算就是外资企业,在国内有很多优惠政策。

陈董说:“小绝阿,听周总说你虽然是新来的,但技术水平不错阿。我这事多,全国各地到处跑的,事情顾不过来,往后你要多帮帮周迅。”

绝影忙说:“哪里哪里,我进来公司也是来学习的,有很多东西都不懂,那小周才是厉害的。”

说到小周,陈董的语气变得语重心长:“可惜小周离开了公司,唉,这是他们职业生涯中的一大损失阿。小绝往后你就是公司重点培养对象了,刚才我跟周总商量了,看就最近吧,独自让你负责代码了。你可要好好提高自己。那小周走留下的代码你要多看多学习,尽快上手。”

陈董这么说,绝影没有高兴,自己刚来实习才一个多月就给我这么大的重任,莫非公司真的没人了?

所以你要明白公司和学校的区别是什么。在学校,你不懂就是不懂,不行就是不行,老师只管把书讲完把你送毕业。所以你不行,老师就直接跟你说不行,骂你笨,并且好多老师骂起学生笨来还很高兴,要是人人都很聪明人人都比老师还学得好了,那老师就不好当了。在公司就不一样。你以为公司真的是给你免费培训的?才不是!高一政治就学了,公司是以赢利为目的的。所以公司用你,就是希望你给公司创造价值。说技术阿,知识阿都是给逼出来的。公司给你讲这些,其实就是在逼你。明明你根本不行,但是他说你行,于是你自信心极度膨胀,还真以为自己行。当然后果就是你必须拼命去学习,证明给别人看你行。结果,你有用了,公司的目的达到了。当然,你自己也得到了提高。

就这样,绝影算接手了小周的工作,于是他也坐到了他以前的办公桌前。这机器用起来感觉就舒服得多,虽然配置阿内容阿可能一样,但衣冠至少整洁,位置也比以前那个好,机器里面的代码也多了,上次那个KIPACS,还有KIIMAGE,当然除了代码都归到F盘的WDIR目录里面,其它都乱七八糟地摆着。

中午陈董请大家吃饭。这家餐馆的老板好像跟陈董他们很熟,笑呵呵地说:“又回来啦?”公司人不多,整个吃饭期间差不多就陈董一个人在发话,从石油事业谈到医疗事业,谈到公司今年收入又翻了多少,谈到其它公司,谈到股份阿上市阿什么什么的。

绝影听得津津有味,他第一次听一个老总级别的人物跟他谈将来,而且将来是如此美好。其他人只顾自己吃饭,对他们来说受陈董的熏陶已经不少了,他们缺的不是对将来的憧憬,而是实实在在的一顿饭。

过了几天,陈董就走了。临走的时候他对绝影说:“小绝阿,多帮帮周总。”



几个月里,虽然绝影天天都住在学校外面租的房子中,但除了交毕业论文目录他基本上没怎么跟老师和同学打交道,有时候进去学校一趟就是跟燕儿一起吃顿饭。

燕儿跟她寝室的同学说:“绝影现在找到工作了,忙了,所以来的时间就少了。”她们听了都羡慕不已。

在公司呆的时间稍微长了点,周总慢慢让绝影开始加班。每次加班管他饭,管他打车回学校。绝影也老实巴交地说加班就加班,反正他一个人回去也是研究KIPACS的代码在公司加班也是研究KIPACS代码,而且还有免费的晚餐和打车的钱,等于说就是现在通常说的加班费。而且在公司加班也好,至少你坐那里工作周总是看在眼里。等你回去了,管你怎样砸巴砸巴的啃数据结构写代码搞到天亮,老总又没看见。第二天去了公司,你把昨天晚上做的一大堆成果往上一交。老总当然还是很满意,但是你给了他错误的信号:他以为那都是你把小时之内做的,所以他就觉得你很牛B,以为你把小时就能做那么多,所以要是你下次回家不做了,任务没完成,他反而觉得你是在公司那把个小时里面偷懒了。

每次加班了燕儿就说他笨,说人家加班都有钱拿的,国家规定每天上班不得超过多少多少小时。这时候绝影就把他这套理论讲给燕儿听,讲来讲去燕儿还是不明白,每次仍旧说他笨。

像绝影这样的好员工周总自然也十分喜欢,用他的理论就是绝影这样的人写程序是很有“Sense”的,说不会VC++,不会MFC,结果一学就会,说没看过代码不会写程序,结果一看就会,一改就成功,特别是那次让他修KIPACS的BUG解了燃眉之急,所以没过多久,他又故伎重演,他对绝影说:“小绝阿,明天你恐怕要把学校的事情放一放跟我一起去出趟差。”

对于“Sense”这个概念当然是老总的看法,你要是真听进去了,飘飘然觉得自己真的在写程序上有“Sense”那你就完了。你以为自己有“Sense”比别人聪明比别人学得快,于是你就放慢了学习的脚步。本来回家还要看三个小时的代码结果你去打了三个小时游戏,第二天去了公司当然就什么也不知道。这就是看三个小时代码和打三个小时游戏的区别,也是有没有“Sense”的区别。看了,你就有,没看,你就没有。

虽然绝影很明显看出来周总和陈董对自己的期望很大,但是他没料到这么快周总就要他一起去出差跑工程,他忙说:“学校那边当然没什么问题,就是不知道要去哪里,去多久,我是不是该准备一下?”

“不远,就去成都,一两天就回来了。要是情况好,我们当天就回来。”

绝影松了口气,看来是个小CASE。

“我们去双流一家医院给他们的新X光机装一套KIPACS,上次小周留下的代码感觉在运行中还是很不稳定,所以你今天晚上还得加下班,把代码再好好检查一下,明天早上七点咱们就走,早去早回。要不你今晚就在公司的宿舍住,我给你安排一间,什么东西都有。”绝影点头表示同意,周总便进了他的办公室。

绝影一早就知道小周他们住公司的宿舍,想公司还不错,至少还管住,好多公司都是不管住的。他给燕儿打了个电话说:“今天晚上我不回来了,我就在公司宿舍住,明天一早我还得跟周总出差呢。去成都。”他把“出差”两个字特别强调了一下,以前你们不就听过“出差”么?这次我真的要出差了,我就做你们没做过的事情。所以说起来还带点骄傲。

燕儿说了些注意安全之类的话,绝影也听不进去,匆忙挂了电话就开始看KIPACS的代码。其实那代码有些地方明显有问题,比如按“最近三天的病例”来检索,小周是用SYSTEMTIME的wDay相减来做的,那1月30号到2月1号这样的病例根本就无法检索。

绝影发现了问题,他也想不到什么好的办法来解决,总不可能用SystemTimeToFileTime换算成秒来相减再把结果换算成天,这个办法太笨了,代码也会写很多。有时候体现两个程序员的水平往往就是解决同样一个问题的思路和代码长度。好在看了段时间的MFC,他知道CTime这个东西,CTime不是重载了加法减法吗?用CTime去减应该万无一失。可是减的结果是什么呢?事到如今哪里还有时间自己去研究,于是问周总,周总说:“CTimeSpan。”

也许是今天情况比较特殊,到了吃饭的时间周总还是没动静,绝影肚子饿得咕咕直叫。一直到晚上9点,周总才如释重负地从办公室出来,说:“走,大家一起去吃饭吧。”

这时候绝影反而不饿了,说:“你们去吃吧,我这里还有点问题,先弄了再去,抓紧点,早点弄完。”

周总又劝了他几句,便带着其他人去吃饭,回来的时候给他带了份平菇肉片。



第二天在大巴车上绝影昏昏沉沉睡了一觉,昨天晚上为了解决周总所谓的“一点小问题”他们一直搞到三点,当然这是很正常的情况,以前自己在家还不是经常搞到三四点。关键是早上又要出差,六点多就起床,而且第一次在公司宿舍又睡得不舒服,哪里有自己家那张大床温暖阿。一直到了目标医院,“电蛐蛐”的声音才把他从昏昏沉沉中唤醒。

电话是土匪打过来的,没等绝影说话,他就说:“在哪阿?”

“我在成都,出差呢!”

“现在电磁波与电磁场在考试呢,老师让我找你。”
听到“考试”这么敏感的词语,绝影突然惊出一身冷汉,瞌睡顿时全无,他赶紧给土匪说:“快把电话给老师。”

《疯狂的程序员》24

教电磁波与电磁场的瘦高老头绝影也不认识,因为最后这学期他压根就没去上过课,绝影跟他说自己在出差实在不知道考试这回事,土匪负有不可推卸的责任,他是学习委员,但没把考试的事情即时通知给绝影。本来他最后抱希望与瘦高老头能够通情达理给他一次缓考的机会,没想到瘦高老头忽然又大方起来,答应他可单独预约考试。

接完电话,绝影对周总说:“学校打来的,现在正在考试。”其实他言下之意是:“看吧,我学校里的事情还多呢,总不可能让我天天呆公司又无条件跟你出差。毕竟我还没毕业,学校的事情才是头等大事。”

他这样说,周总紧张起来,忙问他要不要公司给开个证明。绝影摇摇头说:“老师宽宏大量,答应给我安排一次单独考试。”

第一次去现场联调软件和设备一点都不顺利,那KIPACS在自己电脑上明明运行得上好可是连到X光机上就是传不过来图像,周总首先认为是程序的问题,于是他在那检查程序,搞了大半天,又用采集卡自带的Demo测试视频信号,最后他坚定地对周总说:“程序没问题。”周总只好打电话调来X光机的安装工程师看,原来是“三通”有一个口子坏了。

两人又打车去城里买好新的“三通”,觉得这次一切都完美了,医生又不满意,说:“这个‘工作单位’啊”,‘邮政编码’啊这些信息我们基本上不可能填写,你把它放在界面上,我们按‘Tab’键要好几下才能跳到下一个,太不方便了。”

没办法,绝影只能改,他一边改一边骂,多按两下“Tab”要死啊?就你们想偷这么一个小小的懒,知道会带给我多大的工作量么?

程序就是这样,你永远不能按照自己的思路来让客户使用你的软件,因为他不是程序员。

这KIPACS代码本来就不是绝影写的,又都是写的“Hard Coding”真正是牵一发而动全局,改起来的难度可想而知。在现场改代码又不像坐办公室里,改完了,扔给测试员:“拿去测,有什么BUG一二三四五描述清楚,BUG要可重现。”

周总头上冒着汗,终于还是看到绝影一点一点改完。他对绝影说:“小绝啊,现场就是这样复杂,有很多问题都是我们不可能想到的。这次我带你来现场,就是想让你来熟悉一下现场的情况,没想到你还真帮上了大忙。以后来到现场就不要叫我周总了,叫周工,行业里面习惯这样的叫法。你呢,就叫绝工。”绝影觉得这样的招呼很搞笑,什么XX工XX工,感觉就像计划经济时代的周车工绝钳工,很土。

一天工作下来对方医院放射科主任似乎对工作站很满意。毕竟在大部分家庭中计算机还在扮演游戏机和多媒体中心的角色,即使在办公室,所谓的OA也就是用Word打印点文档。所以在这么个小小县医院放射科居然安装了“影像工作站”,主任觉得很洋气。他说:“华西医院放射科的工作站我也去参观过,不过尔尔,报告还得用手写。看咱们这个,从拍片到出报告,根本不需要纸。要不是医生必须签名,连笔都可以不用了。真是辛苦周工了,走,一起去吃饭吧。”

所以程序员实际上就是一个幕后工作者。你程序写得好,客户用得很满意,他们会说:“哦,这个KIPACS软件不错,软件很好用。”不会说:“哦,这个绝影写的KIPACS软件很不错,绝影很厉害。”如果你程序写得不好,虽然他们不会说:“哦,绝影这人写的软件很糟糕。”但是你自己知道。很多时候,别人说你技术不行你都可以接受也可以理解,再牛B的程序员也会有自己不擅长的方面,但是如果别人说你做的东西不行,你往往会非常失望和难过,因为这不仅仅意味着你在某一方面的技术不行。

听到主任说起吃饭,绝影这才想起已经八点多了大家都还没吃饭,本来都不知道饿,这么一想还真的饿得肚皮咕咕叫。于是一起吃饭,主任给绝影倒上一小杯酒说:“干了,不干就是不给我面子。”绝影连连摆手说:“不行不行,我酒精过敏。”

“小伙子不知道,我们这里有个说法叫敬酒不干就娶不到媳妇。”

这主任还真够狠的,娶不到媳妇等于就是说绝后,绝影想想学校里的燕儿,一仰脖子干了酒,又吃了几口菜,就什么也不知道了。再醒来,已经是凌晨四点多,他给燕儿发了个短信:我昨天喝酒了,因为他们说不喝酒娶不到老婆。



出差回来,公司又多了个新面孔,长得一脸老实像简直和鸡哥一个模子印出来的,也是大四的学生,不过是另外一所学校的。后来公司大部分人对绝影有三种称呼:周总陈董叫他“小绝”,程序员叫他“影头”,其他闲杂人员叫他“影哥”,只有他和别人格格不入,周总他们在的时候就叫他“绝影”,不在的时候就叫他“BOSS”。绝影跟他说了好多次,这样称呼影响不好,可是他依然我行我素,为了报复绝影也叫他BOSS,他姓刘,绝影叫他“BOSS Liu”。

在公司最困难的时候,几乎就只有他们俩写程序,当然,除了写程序还兼打杂。公司成立后为了做成第一个CASE不得不跟本市一家医院签订了计算机系统维护合同,所以那边医院的电脑一有什么问题,立马就给公司打电话,算是真正落实了诸葛亮的“事无大小,悉以咨之”的意见。绝影算比BOSS Liu资格老一点,所以他来了,就把绝影从这事上解脱出来。一个电话把BOSS Liu叫过去,不到10分钟他又回来,说:“电脑上弹了个警告窗口,我过去按下‘确定’便回来了。”



眼看交毕业设计的日子一天一天临近,大家都在忙,也在慌,只有两个人不慌不忙:绝影和BOSS Liu。绝影本来也慌的,但周总总是很镇定地跟他说:“不急不急,我们5月1号要验收的项目先把它做好,毕业设计的东西都是现成的,论文让秘书给你写行了。BOSS Liu说:“毕业证我肯定是拿不到了,挂了11科还欠学校8000多学费那投资太大。我妈要是知道还不把我打死。”

听他这么说,绝影第一次在学习上有了优越感,由于大二打了一年的游戏,自己也挂了不少科,算算到毕业还有15.5个学分要重修,是15.5个学分,不是15.5科。虽然自己也欠了学校3000多学费,但至少还有希望能还上,哪像BOSS Liu,他是天文数字。于是他开始五十步笑百步:“我说BOSS Liu啊,你妈给了你那么多钱让你念大学,居然你连个文凭都拿不到,这生意也太不化算了。”

“你懂个P,我搞过成本分析,大学我基本没交过学费,投资不算大。等工作几年有钱了再花钱去买个文凭。这叫‘透支’懂不?也就是现在流行的‘按揭’。”

几年之后,“透支”和“按揭”这两个概念真正流行起来,绝影才发现,BOSS Liu虽然没文凭没啥文化,但真的很有超前意识,不得不对他另眼相看。



陈董又从外地回来,他拍拍绝影的肩说:“小绝啊,多帮帮周总。”又拍拍BOSS Liu的肩说:“小刘啊,多帮帮周总。”

“这次我从北京回来,连接了几个大CASE,公司要发展壮大,还要补充新鲜血液。你们呢,把你们这次的CASE做好。我这次回来的目的就是来招人,小绝你是个人才啊,所以我这次就是想去你们学校多招点人。”

听陈董这么说绝影和BOSS Liu高兴得不得了,再招来新人,他们就算“前辈”,绝影呢,可以多有几个同学进来也算多几个伴。BOSS Liu呢,琢磨着自己从繁重的“系统维护”工作中解脱出来。

对BOSS Liu来说那“系统维护”就好比I/O操作,什么定期给那医院上门服务,那叫“程序查询”方式,最原始最落后效率最低。上门服务期限到了又有事没事打电话让他过去,虽然改成了“中断”,但仍然没有把CPU从繁重的I/O操作中解放出来。招了人了就好,好比加个DMA控制器,工作安排妥当让DMA控制器去搞去,回来报告个结果,自己这个CPU终于可以用到最需要自己的地方。

陈董也是个实干的人,没几天就跟学校那边把专场招聘的事情落实好了。他对绝影说:“小绝啊,我们对学校环境不熟悉,到时候你陪我和秘书一块儿去。”

陈董当然觉得无所谓,但听他这样说,绝影却兴奋得不得了,巴不得现在马上就去学校招聘。你想,同学们都是来应聘的,他却是来招聘的。以前在寝室里跟土匪王江们谈自己的理想,那王江不是很想扮演这个角色吗?他做不到,但是我能做到。不知道土匪和王江来应聘的时候会是什么感想,会不会找自己开后门。

结果陈董的食言水平和他的实干水平不相上下,几天以后他就因为华北那边一个大CASE而离开了公司。绝影以为这次招聘的事情铁定打了水漂不免有些失望,失望的事情还是别去想越想越失望。本来就快把这事忘掉,陈董又从北京打来电话说:“已经跟学校说好了,人一定要去,那就小绝你和秘书一起去吧,去了只收简历其它你就不管了。”

那天下午,绝影像模像样地提了个公文包兴奋地跟秘书跑到学校,他不断跟她说:“这是几号几号教学楼,那边是体育场,那边那边是什么什么湖。

来到学院办公室却绝影没有看见想像中火爆的招聘场面。办公室外一个人也没有,里面有几个老师在办公。绝影老远望见了曹妈,走过去跟她说:“曹老师,今天下午这里是不是有个招聘会。”

曹妈问:“你不是找到工作了吗?这样,你先把简历交给我,我帮你重点推荐。他们正是来招程序员的,你很符合他们的要求。”

绝影看见曹妈的办公桌上已经摆了厚厚一摞简历,他不慌不忙从包里掏出公司的介绍信,递给曹妈,平静地说:“我就是来招聘的。”他原以为曹妈肯定会大惊失色,没想到她也是见过大风大浪的人,她也平静地接过绝影的介绍信,说:“跟我来吧。”

曹妈领着绝影去了一间教师,那里面已经密密麻麻等了很多学生,见了这场面,绝影脑中突然浮现出高中历史书上的美国黑奴市场,心中一阵恶心。

本来陈董给他交待让他收了简历就走,等真去了现场,人人可能都会有周星驰《喜剧之王》中的心理――多一点发挥演技的余地,再多给两秒钟,就死定了。所以他一边接简历,一边很正经地问:“C++怎么样?数据结构怎么样?用过VC++吗?独立开发过什么应用?”经过这么一次,绝影感觉其实问问题也很考验人。如果每个人都问千篇一律的问题那就显得这个考官太粗糙了,要每个人都问不同的问题,又都是恰到好处的问题,他自己起码要具有相当专业的知识和经验。

所以很多时候面试官活得很累,不断提高自己设计高水平的面试题目当然是他们份内的事情,问题是一个好的面试官每一道题目都是他的劳动成果,就像你写的程序一样。可是那些回答问题的人根本就管这些,他们的唯一的目的就是把这题答出来,为了达到目的,往往不惜编造假话。有些回答一听就知道是错误的,或者是骗人的,可他们回答得怔怔有词,好像在他们眼中你这题就是专门为他们准备的或者你出这题没有一点技术含量,想到自己花了那么多心思来准备的题目被搞成这样,搞得你自己都开始怀疑自己的智商。
不过到最后,绝影在这么多人中还是对两个人印象很深刻。一个女生,一个男生。

《疯狂的程序员》25
说那男生,个子不高,其貌不扬,说话声音极小,样子老实本分,问他:“会C++吗?”还便真老老实实地回答:“不会,我会VB。”总之怎么看怎么像块踏踏实实做技术的材料。

再说那女生,问她:“会C++吗?”她答:“我编程的水平在这个城市应该是数一数二的,怎么不会C++。” 这真是语不惊人死不休吓了绝影一跳,想自己在这学校里呆了四年,论写程序的水平,自我感觉还不错,至少在学校里没有他看得上的人,听了这女生的回答一方面认为她在吹牛,另一方面又开始怀疑自己:难道自己离高手的境界还有一定距离,要不为什么连学校里一个如此高手都不认识。

因为开始怀疑自己,后面的人绝影都没怎么认真问,其中有几个是自己同班同学,说实话就那几个人的水平也来应聘做程序员,那绝影都可以去《环珠格格》当领衔主演了。换成平时绝影肯定劝他们不要来丢这个脸,再说简历也是花花绿绿好打印了好几大页,封面还彩色打印,来这里应聘还不如把那几个钱节约起来。但今天是自己来招聘,当着同学的面不好意思让他们下不了台,还是勉强把他们的简历都收走了。

简历收得差不多,绝影像模像样地对大家说:“大家都回去吧,我们会在两周内通知大家来面试。”

人陆陆续续散开,绝影想起以前在寝室和土匪王江他们讨论毕业后的打算,好久不见了不知道他们工作落实得如何,还是挺想念他们的,于是让秘书一个人先回去,自己抱着简历回了寝室。

绝影前来招聘的消息已经被那几个同学传开,土匪拍拍绝影的肩说:“小伙子不错嘛,没想到在公司还是很有前途的。”他这样恭维着绝影,眼睛却打望着他手里那堆厚厚的简历,一边帮他接来过来一边说:“来来,王江,来鉴赏一下有没有美女!”

绝影说:“美女到是有一个,她居然说她写程序在这个城市是数一数二的,你们听说过没有?”

土匪哪里管这个,一份一份翻起简历,一会评论这个人发型不好,一会评论那个人两个眼睛不对称,总之人人都有自己长相上的缺点,仿佛正因为这样才能凸现出他土匪与众不同之处:论长相,他才是个完美无缺的人。

当他到那女生的简历,绝影才认真看起来,简历其实写得很平常,就凭这份简历,放到哪里都很难把她和顶级高手联系起来。

写过程序的人其实都知道一个人水平如何从他的简历很容易看出来。你学了什么东西,会什么东西,做过什么CASE,你就原原本本写到简历上,或者你就把VC++阿,MFC阿,VCL阿,KMD阿这些专业术语写上去,至少表明你接触过那东西,这都很震撼人。那简历少说也要写个七八百字吧,哪像现在有些学生,为了让自己的简历显得充实一点,挖空心思编虚构事实凑字数,其难度不亚于让土匪写200行代码。

显然土匪对简历上的照片比简历更感兴趣,一边掏出笔记了那女生的姓名和电话一边说:“不错不错,还是有收获。”



到了公司,周总一边翻那堆厚厚的简历一边问绝影:“怎么样?有没有印象比较深刻的?”

绝影说:“有个男生还行,就是不会C++,我看他电路阿单片机这些还行。”一边说一边帮周总找出他的简历。

“那也好,我们公司今后也要朝嵌入式方面发展,正好储备一些人才。”

看来周总是审阅简历的高手,他说:“这个不行!”为啥?那人简历主要技能第一条便是:能够熟练使用Office办公软件。“我们这是在招聘程序员,用Office那是最起码的,你想他还把它放到第一条,看样子真是没什么其它擅长的了。”

“这个也不行!”为啥?简历上写程序设计语言96分,高数物理都是90多分。“根据经验来看,成绩太好的不一定有很好的技术,在学校他把全部时间都拿去学习考高分去了,哪里有时间来真正动手实践?”

“这个也不行!”为啥?学生会主席,什么什么协会干事,什么什么校报主编。“这样的人,比较适合去当官。”

翻到那女生,周总说:“不行!不要女生。”

绝影说:“她很有意思,她跟我说了一句话:在这个城市论编程,她应该是数一数二的。”

本来周总已经把她的简历放到左边,听他这么说,又拿了回来,绝影赶紧又说:“不过我看她的简历,应该没这么高的水平,肯定是吹牛的,所以不推荐。”

周总缓缓地说:“小绝阿,这就是你不对了。她既然敢说出这样的话,多少还是有点水平吧,对于人才,我们绝不能放掉一个。可以让她来面试。”

绝影还想跟周总说几句,想了一下还是算了,他是八几年大学毕业,根本不知道现在学校的情况。说实话就绝影他们班,有几个人敢拍着胸口打保票说我的简历百分之百真实可靠?就说来应聘的几个自己的同班同学,你看他的简历一样写得充满诱惑力:凡是主流技术都会,凡是公司需要的东西都会,成绩优异经验丰富能吃苦耐劳有独立解决问题的能力。总之他写简历的标准就是除了工作经验,完全符合微软总部对软件架构师的招聘要求。



很多时候越忙事情越多,事情越多就越来越忙,眼看要毕业了学校本又要做毕业设计,又要搞体检又要搞结算又要准备搬寝室,公司里事情也多来,最重要的是5月1号要验收的一个CASE。其实这个CASE也不是很大,主要还是上个KIPACS,不过那医院和大部分医院一样,部门特别大,所谓部门大,就是说挂号在一楼,看病要跑到五楼,交费去三楼,取药又得跑一楼,搞不好住个院还得去另外一栋大楼办理。后来医院倒不是觉得病人麻烦,反而是觉得医生麻烦,你想跑到大楼这头去给病人照个X光,又得到那头评片室去看胶片写报告,最后还得跑去把报告交到前台。意见几次三番地反应给主任,于是主任就说:“好,那你们就再给我搞套RIS。”反正医院能贷款,有钱,要不要RIS也就是主任的一句话,但是主任的一句话有可能就和公司两三个月的收入相当,所以周总自然不敢怠慢。

周总让绝影去忙一下招聘的事情,把RIS的CASE交给BOSS Liu,其实也就是一个极小的零头――RIS中的登记工作站KIREGIS。比如放射科主任掏出一大把花花绿绿的钱,抽出一小份交给周总,周总又从这一小份中抽出一张交给BOSS Liu。

BOSS Liu自己也知道周总把这个CASE交给他其实就是对他的一个考验,行,可能就转正了,不行,那就继续考验。

一大早绝影去公司开门,发现BOSS Liu已经在门外抽着烟。绝影还是第一次见他来这么早,平时他都是要接近10点才到公司,反正周总也懒,有时候甚至下午才到公司,在这样缺乏监管的情况下大家自然是能多睡会多睡会。他老远就跟BOSS Liu打招呼:“早阿。”

“早个P,我昨天晚上是通宵。”

他这么说绝影突然想起在哪里看到的一个笑话,说程序员都是习惯晚上工作的,你要上午九点前看到一个程序员,那是因为他工作了一个通宵。后来老是三更半夜绝影QQ上有人问:“怎么还不睡觉呀?”

“睡觉?工作才刚开始呢。”

于是那边叹口气道:“你也是做娱乐行业的呀?”

又或者你跟别人说:“唉,身体不行了,年纪轻轻就腰椎间盘突出。”

于是别人拍拍你的肩道:“兄弟,开出租车的吧。”

绝影这才认真打量起BOSS Liu,一脸憔悴,好像头也没梳脸也没洗,皮肤比平时黄多了,特别是左手食指和中指之间让烟打上的黄色标记特别显眼。他关切地说:“那还不如给周总请个假,下午再来。”

“不行,我昨天晚上研究出个大问题,KIREGIS这个CASE又有突破性进展,今天专门来早点给周总看。”

“啥大问题,拿出来分享一下。”

“现在不行,一定要保证周总那里首发!”

绝影一边朝他撇撇嘴,一边打开了公司大门。

进去公司,BOSS Liu就立刻一头爬在他的电脑上,绝影去里面房间启动服务器,让他把周总出的几个面试题目拷贝到每个机器上,他嗯了一声,绝影从里面出来,他没动,又叫了他一次,他说:“我知道了。”等绝影跑到休息室抽了只烟出来,他还是没动,绝影问:“拷好了吗?”BOSS Liu这才转过头,一脸茫然地问:“你刚才说什么?”绝影叹口气,自己开始一个机器一个机器拷贝。



下午来面试的人还不少,人来得多就显得公司特别小,公司一显得小绝影就有点自卑――谁不希望自己是在一家有头有脸的大公司工作阿。要是让土匪知道自己就在一家小小的软件公司打工那还不被他笑死。所以每次土匪问起他公司,他也只有东一句西一句大概大概如此如此这般来打哈哈。要是以前能留在老杨他们那个大公司,现在自己就敢去土匪他们面前牛B了。

其实面试的题目还是以前考绝影的那两道,一道链表的填空题一道冒泡排序法。周总做事也是很有计划的,计算机专业的安排成一组非计算机专业的安排一组。想计算机专业的做其这个题了应该问题不大,人才大概就从他们中间产生。

在这些人中,绝影还是对两个人印象特别深刻,还是那个女生和那个男生。

说那女生一来绝影和BOSS Liu就立刻注意了她,不光是绝影和BOSS Liu,在场的所有人都立刻注意她,不仅因为她是唯一的女生,更在于她的打扮:脚上穿的高跟鞋,走一步就咯噔咯噔响,非常时髦的裙子,比起上次招聘这次显然是化了妆,总之非常漂亮。化妆的效果就是好,你现在去网上搜索一下,就算芙蓉姐姐也能给她化成杨臣琳。

她这样的打扮很容易也理所当然能引起大家的注意,大家本来都是大学生,在学校里也都是那个样,虽然网上还是有报道说什么女大学生简历里贴写真集阿性感照阿不过绝影总认为那只是遽头而已。这次他算是亲自饱了眼福,原来自己身边的女同学经过这样的打扮竟然会如此成熟如此漂亮。

半个小说过去了,居然七八个人没有一个人交卷,等到一个小时的时候,几个计算机专业的也许觉得太丢脸,跟周总打了个招呼便走了。周总过来看看他们做地题,摇摇头自言自语道:“现在计算机专业的,到底学什么去了?难道数据结构和算法不学么?”

绝影看那女生也做得挺痛苦,想想就好笑,还说自己写程序是数一数二的呢。不过这也没啥,毕竟技术这东西努把力还是能学的,漂亮这东西就是你再怎么学也学不出来。于是他走到BOSS Liu跟前悄声说:“你去帮帮那妹妹吧。”

BOSS Liu露出诡异的笑容说:“这种事情还是BOSS你去吧。”
两人推来推去,眼看时间到了那女生就要被淘汰,绝影突然就在周总眼皮底下径直向她走了过去。

《疯狂的程序员》26

这也是很正常的事情。BOSS Liu在那里搞他的KIREGIS,绝影自己的电脑被他们考试占用着,于是他经常在他们中间走来走去,偶尔帮他们解决一点小问题,比如VC++从哪里打开阿,题目在哪个目录里面阿。所以周总也没怎么在意。等他回到办公室,绝影赶紧低声问她:“做得怎么样?”

“不行我今天有点紧张,VC++我也用得不多,在学校都是用的TurboC。”

绝影听了觉得很好笑,还自称编程数一数二的人物,居然就用TurboC,可惜那TurboC编译器是16位的,又没有API给你调用,当然你要真能拿它在Windows下绘制出一个窗口那也的确算用得出神入化,技术绝对是数一数二。

所以后来绝影经常问别人:“会写程序吗?”

“当然会,我会C/C++,汇编语言……”

“我说的是会不会写Windows下的应用程序?”

“Windows下的应用程序?那个用C语言能写吗?”

几句话弄得他哭笑不得,他们总认为C++就是VC++,C就是TurboC,语言就是工具,工具就是语言。

听她这么说,绝影心想:完了。本来说写程序的女的就少,更何况这个还是个美女,可惜技术不过关,这种水平肯定要被周总刷下来。其实绝影觉得就算招个美女不写程序又如何?至少能极大地提高他和BOSS Liu的劳动生产率,可是周总肯定不会这样想,美女不是他需要的,他需要的是程序员,他不需要的东西他就认为可能别人也不需要。

尽管这样想,他还是想再帮帮她,碰碰运气,还是那句话:技术都是可以学出来的,但漂亮学不出来。于是他对她说:“那你就用TurboC做吧。”这已经是宽宏大量仁至义尽了。

虽然绝影把声音压得很低,还是被旁边人听见,就是那个搞电路单片机的男生,他说:“那我也用TurboC做吧,VC++我也不熟悉。”

“你先等一下。”绝影走进办公室,对周总说:“那个搞电路的要求用TurboC做题,我觉得无所谓,反正你说招他进来以后主要做硬件方面的开发,只要他硬件方面真的好,不应该在软件上把他卡了。”

周总点点头说:“嗯,那你就去安排安排。”

这个事情他必须请示周总,现在周总批准了,要是那美女拿TurboC做题过关也算名正言顺。

可是那美女实在太另人失望,她临走的时候专门找到绝影问:“怎么样?”

绝影很平静地对她说:“先回去等我们通知吧。”

于是她仍然满怀希望地走了。

这时候BOSS Liu转过来对绝影嬉皮笑脸地说:“人家问你‘怎么样’哦。”

怎么样还用得着问吗?你要知道如果你去面试别人对你有意思,至少主管人员会留你下来哪怕跟只跟你谈两句,问问你一些情况和就业意向,要是只简单地跟你说“先回去等我们通知吧”,你就真傻傻地跑回去跟朋友们说:“还不错,他们让我回来等通知呢。”那你就慢慢等吧,没替补还好,有可能轮到你,有替补那你就等着坐一辈子冷板凳吧。

望着那美女的背影离去,绝影心里还是有点失落,不过想想也算了,毕竟人家是美女,至少还可以凭三围混口青春饭,自己还是应该像BOSS Liu一样爬电脑上凭思维吃饭。

后来土匪对绝影说:“上次你说招聘那个女生,回来后说肯定过关没问题,说你对她印象比较好,特别关照哦!”为那是绝影气得咬牙切齿,你说要是真让他偷到腥了他还没话说,问题是他什么便宜都没捞到,整成黄泥巴掉到裤裆里,还要不断地跟燕儿解释,女人这事情,越解释就越解释不清楚,越说自己清白就越不清白,害得他惨淡地渡过了好几周。



趁着他们做题的间隙,BOSS Liu迅速跑进周总办公室,绝影知道他肯定是去报告KIREGIS进展情况,出来的时候脸上果然一扫早上的倦容变得红光满面。

“BOSS Liu,你到底研究出啥大成果了?现在总可以说一下了吧,别小气。”

“也不怕给你说,说了你也不懂,我在KIREGIS里面用了多现成技术!前台那个登记的地方不断往数据库写数据,X光这边由要实时同步,那就必须过几秒钟刷新一次数据,前两天用的单线程,数据一多就把界面刷死,现在可好了,管他有多少数据,就在后台慢慢收,比如你BOSS Jue一个劲地在那写代码,我这在这里一边写代码一边聊QQ,两边都不误。”

绝影听他这么一说大吃一惊,想BOSS Liu的技术现在是不容小觑,说多线程自己早就听说过,理论上也会做,但一直没有机会应用到实践中,所以都是纸上谈兵,没想到BOSS Liu居然能活学活用,起码这一次他算输给BOSS Liu了,要是他那时候就知道触发器这东西,肯定能够在他面前成功体现出自己的水平――毕竟,就算用多线程做,那也是“程序查询”方式,比起“中断方式”来说起码落后了十年。仔细再回想一下罗云彬书上的多线程那章,总算想起点什么,于是对BOSS Liu说:“多线程这东西,搞得不好还是不要搞。那线程同步你做了吗?”

BOSS Liu仔细回想了一下,线程同步,好像听说过,不过到底是什么还不知道。但是总不能面子上过不去,于是打着哈哈说:“用啥同步?这个CASE这么小,把高档东西全部用上去还缺乏稳定性呢!我这个昨天晚上开着机跑了两个小说,万无一失。”

听他这么说,绝影觉得算是挽回一点面子,样样得意地说:“推荐一本书你去看,《Windows环境下32位汇编语言程序设计》,罗云彬,电子工业出版社。上面有专门的章节讲多线程。不过估计你看不懂,那是本汇编的书。”

这下BOSS Liu有点不服气:“你说汇编还得有C++难?我问你,汇编有多少条指令?”

汇编有多少条指令,绝影真还答不上来,于是也打着哈哈说:“大概一百多条吧。”

“那不就对了,就一百多条指令,还得有C++难?我去买一本,就一周,包过!”

后来有一天中午,BOSS Liu请了两个小时假,来的时候把一本书重重往桌上一拍,那是本崭新的《Windows环境下32位汇编语言程序设计》,罗云彬,电子工业出版社,他也同样重重地说:“怎么样,那西南科技书店还没这书了,我还是订的,订了一周。”

再后来,绝影再也没有听BOSS Liu说起过那本书。

最后面试结果周总原则通过了两个人,一个把两道题目都做了出来,人长得高高瘦瘦的,一个正是绝影先前看中的搞硬件的男生,姓张。后来那男生留在了公司里,再后来公司做大了,有一次陈董展望未来时说:“明年我们要在哪里哪里建个厂房,还要招多少多少工人,到时候小张你就来负责这个厂。”所以后来绝影和BOSS Liu管他叫“张厂长”。



从上次去成都出差以后,绝影干脆就搬到公司安排的房子住,反正学校又没课了,而且学校外面租房子每月还得付70块钱房租。公司的房子大大的2室2厅,卫生间还带一个大大的浴缸,比起学校外面70块钱的单间条件不知好多少倍。他跟土匪他们说:“我走了,公司分了房子,去公司住了。”后来就有一些同学来问:“什么公司阿?在哪里阿?真的管分房子吗?”绝影就得意地跟他们说:“XX科技,搞医疗软件的,当然分房子了,我不就在那住着吗?2室2厅呐,70多平米,我一个人住那感觉空荡荡的。”

眼看学校里同学们的毕业设计搞得风风火火,王老师打了几次电话叫绝影把论文的提纲交过去,眼看这事情拖得不能再拖,绝影才给周总请了几天假,说这毕业设计不能在拖了。周总还是不慌不忙地说:“不急不急,毕业设计的Demo我已经帮你做好了,马上就拷贝到你机器上去,你自己把界面改一改,不过按公司的保密合同那核心代码是不能提交给学校的。

绝影看周总给自己的材料,果然已经有了用VC++做的Demo资料也是应有尽有,光是那DICOM3.0标准就分中英文两中版本。看周总准备得如此细致,绝影心里有了底。

去学校驻扎了一周,二万字的论文也写得差不多了,本来在公司呆了几个月,那DICOM的基础知识绝影还是了解到不少,再说那DICOM3.0标准的文档里面有打段大段概念性的,概念这东西,放到哪都是这样描述,直接加到论文中,这起码就三四千字,再加上注释阿名词解释阿又是一二千字,对Demo的代码的解释又是三四千字,要写够两万字还是轻而易举。英文摘要请周总代劳,周总工作效率就是高,二三十分钟便交给绝影,于是满怀信心地去找王老师。

什么也不说首先王老师就对英文摘要充满了置疑,绝影的英文水平她是领教过的,什么“谁又偷猫肉”,要是没有点水平的人还真不知道他是在说“See you tomorrow”,但王老师就能听出来。她说:“不行,你这英文摘要翻译得太牵强,你回去找个英文好的给你指导一下,重写一遍,不光要翻译准确,还要做到信、答、雅,知道不?”

绝影也没跟她说什么?还有那么多同学在场,当面顶撞这位老教授还是很不给她面子。他深深地知道,越是高级的知识分子,对“面子”这东西看得越重要,所谓“高级”知识分子,不光说他技术高,也说他年纪高。

过了两天,他把摘要原封不动地再拿过去,说:“王老师,这次我找了个博士生帮我操刀,他在加拿大呆了好几年,这次翻译应该没什么问题了。”

王老师接过绝影的论文,瞟了两眼说:“不错不错,这次就好多了。”

说实话绝影觉得自己写文章的水平还不错,他最骄傲的事情就是高中的时候代写情书,50块钱一封,包成功,写了3封,还真的100%成功,所以他理所当然地认为王老师一定会被他论文的内容深深吸引,至少比起旁边那几个他认为话都说不清楚的同学的论文来要好十倍。

结果王老师压根没注意他论文的内容――就算注意估计她也看不懂,那也不怪她,老早他选这个题目的时候就是冲着这一点来的:你们老师不是很牛B吗?就是给你们搞点你们懂不起的东西――她反而不断地指点:摘要的字体不对,行间距应该是多少,段落应该多重,几号标题应该用几号字,什么地方要粗体什么地方要黑体,大纲视图应该怎样弄。其实不就是格式问题吗?跟内容毫无关系,用得着拔高到态度问题吗?半小时指点下来,绝影最大的收获就是知道了Word里面“刷子”怎么用。说来也惭愧,自己还是搞IT天天跟电脑打交道的,Word也用了好多年了,居然还不知道里面有“刷子”这么个好东西。

后来论文格式又修改了好几次,总算让王老师满意,光打印费就花了绝影34块钱大洋。终于绝影盼到答辩的这一天。

很多事情都是有人害怕也有人喜欢,比如考试和毕业设计,绝影听很多同学说:“要答辩了,紧张得要死,到时候大脑一片空白全忘了怎么办?还是先来排练几次。” 这也是人和人之间的区别,他不懂,学得马马虎虎的,或者干脆拼凑的论文,他当然还怕,因为他有可能挂,但如果你真的认真去研究了资料,亲自去做了,那还不是成竹在胸,脑子里的东西犹如滔滔江水连绵不绝,又如黄河泛滥一发不可收拾,通过答辩还不是易如反掌尔,反而那是一次展现自己的机会。

绝影是跃跃欲试,他答辩组的老师也是跃跃欲试,提问同样能反应出一个人的水平,好多老师正期待着这个机会向同行充分展示一下自己。可是当他把他的题目提交给他们,大部分人便沉默了。十分钟的自由发挥时间,绝影挺没趣地给他们讲什么是DICOM,什么是PACS,什么是SCU,SCP,下面异常安静,比上课还安静,居然没有一个人打断他。论坛答辩老师提问,同样是沉默,终于有个老师忍不住打破僵局,问:“你论文附件上DICOM传输Demo代码中的‘#deifine’是什么意思?”

如果是一个来面试的人问他这个问题,他二话不说就让他“Out”,居然这次还是个教授级别的答辩老师,想就算是来试我C++水平有几斤几辆,起码也拿个水平高一点的问题,至少问个函数模板类模板之类的问题,这也太失水准了。

最后,绝影给老师们鞠了个躬,他们却只给了他70分。

走出答辩室刚打开“电蛐蛐”,便接到土匪的电话。土匪问:“答辩怎么样?”

“当然过了。”

“几次?”

“一次。”
“妈的,我还过了两次,第一次格式不对。你过了就好,马上到寝室来一趟,寝室的都在,等你。”

《疯狂的程序员》27

绝影以为土匪又有什么大事,风风火火跑会寝室结果今天的议题是在哪里吃散伙饭。

回忆一下大学四年跟土匪在一起讨论最多的就是吃饭。

“今天我生日,大家一起吃顿饭吧。”

“今天国庆节,大家一起吃顿饭吧。”

“今天星期六,大家一起吃顿饭吧。”

“今天考试,大家一起吃顿饭吧。”

“今天啥事都没有,大家一起吃顿饭吧。”

毕业了,散伙了,按理说这也算人生中的一件大事,散伙饭肯定要吃的,而且这是各大学历届毕业生的惯例。因为吃饭的次数多了,学校周边的馆子也是有限的,平摊下来一家馆子难免已经吃上好几回了,像散伙饭这样的大事情肯定马虎不得,所以专门开会讨论一下在哪里吃。

会整整开了半个多小时,最后大多数人同意在“陈鱼头”吃散伙饭。说到“陈鱼头”,绝影想起上学期发生的一件事,那天他和往常一样睡到中午才起床,燕儿已经上课去了。还没打开电脑,忽然敲门声响起。他条件反射地问了句:“谁呀?”

“开门,公安局的。”

他的心嗝噔了一下,前段时间同学们正说现在公安局正在严打在学校外非法同居的,难道现在真的查过来了。好在现在燕儿上课去了,想他们也抓不到啥把柄,于是打开门。

公安局的同志进来第一句话却出乎绝影的意料,他们说:“好大一股烟味!电脑机箱也不盖好。”

最后虚惊一场,原来是后面楼居然发生了罕见的杀人焚尸的案子,死者就是那“陈鱼头”的老板,绝影在屋子里面闭门造车,要不是这次公安局的同志过来问他,他还真对外面毫不知情。

案子很快也破了,本来“陈鱼头”就是地理位置不好,再加上经营不善,都濒临倒闭,谁知这个事情发生后在老板娘带领下,它的生意又火爆起来,吃饭的人简直是人山人海。

所以现在赚钱就是这样,什么技术啊,水平啊,味道啊,服务啊对人来说都是瞎扯淡,48块钱一杯的极品南山和98块钱一杯的极品南山有几个人能喝出50块钱的价格差?要命的是明明啥都没喝出来,还故作深沉地说:“看,这就是98和48的差别,这个余味太带酸……”什么才能赚钱?是噱头,是眼球。哪怕你死了,你要死得其所,让人杀人焚尸,成了大案子,最好上了新闻头条上了公安厅挂牌督办。知道了这一点,你就能够明白为什么现在“芙蓉姐姐”火爆得不得了,也狠赚了一笔钱。

最后吃散伙饭的时候是7个人,超薄带了他的传说中的恐龙女朋友,土匪带了他据说是女朋友的女朋友,绝影和燕儿一起去,王江还是单身。饭吃到最后大家还是有些伤感,超薄要回老家,土匪是家里人安排去了成都电信,王江决定留下来继续考研,绝影还是老老实实呆在公司。



又在公司呆了几天,班长打电话让绝影回学校去领毕业证照学位照,绝影自己回想一下,英语又没过四级,还有15.5个学分没有重修――那都是大二是给拖下的烂账――不要说学位证,就是毕业证都拿不到。没想到班长又打电话给他,这真是晴天霹雳般的惊喜。

等他兴高采烈地跑到学校,班长又泼了他一头冷水:“对不起搞错了,没有你的学位服。”

绝影感觉这是当面对他侮辱,他没好气地对她说:“下次搞清楚一点,我和你们不一样,我在公司事情很多的,来一趟学校不容易,我回去了。”

班长本来不是故意整他,听他这么说,确实还是觉得自己有点对不起她,小心翼翼地说:“下午还要开毕业大会拿毕业证,你不去了吗?”

“不去了,公司忙,只有半天假。”

他边说边往回走,本来毕业大会他就没准备去参加,欠了15.5个学分肯定又拿不到毕业证还要在大会上丢脸。

那天下午是燕儿帮绝影去拿的毕业材料,硕大的信封里面只有一封给公司的毕业生推荐信。后来土匪他们给绝影说那天肖潇作为学校唯一两个省上重点培养的基层公务员之一出尽了风头。



毕业了,绝影就明正言顺地跟周总说要转正,自己已经在公司实习了八个月,每个月就是250块钱的补助,燕儿已经为实习跟绝影闹了好多次,就是觉得他太不化算,按照《劳动法》,实习期不能超过三个月。可是周总也有他名正言顺的理由:你没毕业,没毕业公司就不能跟你签订正式合同,否则公司就违法。绝影也没去详细研究到底违法不违法,总之好歹现在赖到毕业了,周总再没有理由再不签正式合同。

周总问:“小绝啊,你期望待遇是多少呢?”

绝影想也没想就说:“1500。”为什么想也没想就说,正是因为对这个问题他已经想了很多次了。那几年在这个城市,估计人均工资水平也就是1000左右,自己是写程序的,并且领导他们对自己貌似还比较满意,自己也确实在关键时刻帮他们解决了大问题,自然要价应该比一般人高一点,把跟一般人的差距体现出来。反过来说,自己又是应届毕业生,换到其他公司去说又没有一点工作经验,要价太高根本无法让人接受,所以也只好高不成低不就开个1500。

他以为周总会很爽快地答应他的要求,周总却说:“这个嘛,我先跟陈董商量一下。”

过了几天,周总才说:“小绝啊,你提的待遇我和陈董原则通过了。就是你准备合同签几年?”说完马上又补充道:“当然,签几年都无所谓,这应该由你自己决定。”

绝影想也没想就说:“2年。”为什么想也没想就说,正是因为对这个问题他已经想了很多次了。本来想就签一年,看看形势混点经验,用一年时间或许还能物色到一家更有前途的公司,可是你提的1500的工资他们都接受了你才签一年合同显得太没诚意,这样算来只有签2年比较好,既表示出一点诚意,又给自己留有一点余地。

合同顺利地签下来,周总整了一大堆材料交给董事会,当然那毕业证是假的,周总随便用一个应聘者的毕业证前面叠上绝影的照片,扫描下来再把名字改了就算给他做了张毕业证,但对绝影来说,正儿八经的毕业证还是要去拿,妈每年花了4000多元供他念大学,为的还不是这么一张文凭,要是毕业了连毕业证也没拿到,这生意也做得太亏了。于是就去参加学校的“换证重修”。

所谓“换证重修”,就是你给学校交钱,一个学分120块钱,交了钱就让你去参加补考,把学分都补考完就给你毕业证。本来这就是最后一次机会,监考老实要求也放得很低,比如你去咖啡厅喝咖啡,你给了钱你就是大爷,你要是交了很多钱,你就是上帝,就是VIP,别人进去就是:“先人您好。”,你进去就是:“绝先生您好。”别人喝普通的杯子,你的杯子还在上面刻上“绝影先生”,那感觉就是不一样,倍儿有面子。特别是有几门课本来就是自己学院的老师,以前在学校大家都是一个学院的学生,没啥特殊的,现在大家都毕业了,回来补考一下还遇上大家都是一个学院的,就比如原来大家都是四川人在四川打工,都没觉得有啥特殊,后来去北京,偶尔遇到一个四川同乡,那也不管你到底是哪里的都感觉亲切得不得了,有啥事情都会照顾有加。

所以绝影顺利地通过了前几门考试,不是顺利,是异常顺利。老师把卷子给他让他一个人在那做,自己估计跑出去打牌,大概打了两三个小时跑回来看看他做的卷子,指着上面的题说:“这个,是这样吗?书上怎样说的?翻书看看。”

等他翻书又做一遍,问:“这下能及格吗?”

“你自己算算能得多少分?”

算来算去:“大概能得67分。”

“67分,够了,及格了,你走吧。”

等到出成绩的那天一看,果然是67分,一分不差。

就是最后那门理学院的科目麻烦,那老师监考就特别严,有个代考的人就被当场揪了出来。老师说:“都认真做,只要你认真学了都能过,要是你觉得过不了,就要多跟老师联系沟通,我把电话写在黑板上。”

都已经毕业的人了,有几个还有水平能真的过?于是下来合计一下不如请老师吃顿饭,由绝影去打这个电话,老师在那边吞吞吐吐地说:“吃饭,有什么好吃的?天天都在吃饭。”

觉得这招不行,几个人再合计一下,不如送点东西,再由绝影去打这个电话,老师在那边吞吞吐吐地说:“送东西,有什么好送的?也不知道东西好不好,能用不。”

绝影本来就是个急性子,干脆一个人打电话过去,说:“要不,干脆就封个红包吧。”那老师才说:“好吧,你什么什么时候到我家来详谈吧。”

老师笑呵呵地收下绝影装了300元人民币的红包――那钱还是绝影从周总那里借来的――才拿给绝影一张空白的试卷和一张写满了正确答案的试卷,说:“你再做吧,别乱整,做个六七十分就行了,不要一模一样地抄,步骤变换一下。”

做完交给他,他说:“叫你不要做太好了,怎么全抄的标准答案?”这么说,他还是把新试卷收下。绝影跟他说:“告辞告辞。”走到门口,他突然叫住绝影说:“现在还有念研究生的,有一种叫先上车后买票的办法。”

从那天绝影开口提出“红包”的事情他就对这老师很恶心,现在他又这样说,绝影不得不继续装着很谦虚地问:“先上车后买票?老师您有路子吗?”

“我还是有一点的,要是你有意思,就再联系吧。”

绝影走出他的楼,那时候他在心里想,这辈子我也不会去念研究生。

就在这两周之内,绝影、BOSS Liu、张厂长都处理完了学校的事情,从现在开始,算是全日制员工,周总专门召开了一个会议,大概就是说从现在开始离开学校了,以后要全力把精力花在公司上,本来那个五一节验收的CASE一拖再拖都拖到了现在,虽然那边放射科主任拿了公司不少回扣,但拖了这么久也不好向上头交待,已经说了几次要尽快验收尽快验收,奈何那段时间正好又是毕业答辩离校手续这些事情多,大家都没什么心思,所以现在要全力投入进来,会上,周总专门表扬了BOSS Liu,说他以大局为重。

BOSS Liu洋洋得意,至少他把KIREGIS做得像模像养,张厂长新进去的人就不说了,可绝影居然什么都没做。
那天晚上,绝影正在公司分的房子里上网,办理BOSS Liu就住在绝影楼下,上来敲个门最多只需要半分钟,但他却打个电话过来,对绝影说:“走,陪我其喝酒!”

《疯狂的程序员》28

一般情况下人在什么情况下喝酒?多半朋友聚会聊到兴奋了,或者发生了什么刺激人的大事,比如恋爱了,失恋了,发财了,破产了……

绝影想这么晚了,又没有什么聚会,BOSS Liu找自己喝酒,肯定是受了什么刺激,毕竟同事一场,还是应该好好开导开导他,于是屁颠屁颠跟他跑到楼下烧烤摊。

BOSS Liu一来就大声武气要了两瓶啤酒,一碟煮花生,两条烤鱼。今天是他们俩最后一次领“生活补助”的日子,BOSS Liu显得特别大方,他点菜的口气就像武松的“老板,来三大碗酒,切二斤牛肉”或者孔乙己的“温两碗酒,这次是现钱,酒要好”一样。绝影跟他推辞不喝酒,土匪他们都知道他对那玩艺过敏出差的时候也有过惨痛的教训,BOSS Liu却不知道,他越是推辞,BOSS Liu越是觉得他不给面子,或者深藏不露,就越是让他喝。

所以这喝酒劝酒里面也有很多道理,比如喝醉了的人总说自己没醉,没醉的人反而不停地说醉了醉了不能再喝了。你说:“这个技术,我不会,没接触过。”别人反而说:“你肯定会,就是不愿意说!”

最后还是让绝影坚持了原则,BOSS Liu给他点了瓶豆奶。

两人坐定,绝影平静地说:“说吧,有什么事?”

“没事,就喝酒。”

后来绝影才知道,BOSS Liu就是很普通人不一样,就是喜欢没事的时候喝酒,当然,朋友聚会或者发生了什么刺激的人的事他也会喝,但还是以没事的时候喝为主。这习惯和他喜欢没事的时候写程序差不多。大部分人工作的时候写程序,他喜欢在不工作的时候写程序,虽然他工作也是写程序。

BOSS Liu喝酒也和普通人不一样,一般人几杯酒下去,酒力上来,就开始夸夸其谈,也就是所谓的“放开了”。BOSS Liu两瓶啤酒下去就像呷了两口茶,面不改色心不跳,仍然平静地对绝影说:“你有所不知,写程序,本来乃是我的副业,我以前真正的主业是下象棋。想当年我在棋院连摆二十几盘,杀得他们屁滚尿流失了魂……”

“既然如此,为何你现在不下棋了?”

“这个你就有所不知了。下棋,对大部分人来说毕竟是消遣,你要到棋院下棋,最多跟你下100块钱一盘,下几盘人家莫清楚了你的底就再也不跟你下了。那下棋的人也就那么多,最后人人都莫清了你的底,就没人跟你下了。就算进了专业队,补助也就是那么多,这辈子都没有翻身的机会,人就完了。”

绝影想这话的确说得有道理,想当年高中的时候自己叱吒文坛,还自诩为“XX四大才子――之首”,居然还像模像样地在学校张罗一个文学社,居然还得到文联副秘书张的亲笔信,可后来到了大学在大一一个风雨交加的夜晚,他向超薄借了5块钱,去楼下小卖部买了10根散烟――红塔山,等寝室熄灯,土匪他们都已经入睡,熬更受夜地写了一篇文章:《我和电脑》,得了学校唯一一个一等奖,拿了500元奖金,还差点加入了作协。可从此以后,他就封笔了。别人不知道为什么,他知道:你一篇文章从动笔写到修改到再修改到发表到拿到稿费,真可谓是费尽千辛万苦。可那稿费是顶天了一个字一块钱,那几个钱不要说养家糊口,就连烟草费可能都赚不回来。再说了,现在网络发达,随便十一二岁的那些小娃娃写点几百个字的 “印象派”文章发到网上都敢跟你一比高下,枉你看了那么多书知道那么多典故满脑子天文地理知识,一点用处都没有。

所以他还是觉得写程序好。起码写程序要学,不像那写文章,只要你会说话,把说的话写出来就叫文章。而且写程序的收入也颇丰,虽然现在在公司体现得不是那么明显,但那50行100元的三元线性回归程序却坚定了他的信念。

绝影这样想着,BOSS Liu继续说:“我现在最大的心愿就是自己写个象棋程序,你知道不,象棋程序最关键的就是局面优劣判断……”

他这样说,绝影还想起自己研究过一点遗传算法,于是接着他说:“如果能把遗传算法用到里面去就爽了。这样就可以简化好多计算。”

说起遗传算法,好几年后绝影都觉得没白研究,虽然他的“研究”仅限于“知道”,以后随便别人说起什么,他都能说:“如果能把遗传算法用到里面就好了。”

别人说:“这个SSR就是太复杂。”

他说:“如果能把遗传算法用到里面就好了。”

别人说:“这个图像识别技术就是太复杂。”

他说:“如果能把遗传算法用到里面就好了。”

别人说:“这个三维重建技术太复杂。”

他说:“如果能把遗传算法用到里面就好了。”

反正别人也不懂遗传算法,就算懂,也就仅限于“知道”。他一讲“遗传算法”就仿佛讲大道理,就仿佛在念《心经》:“是大神咒,是大明咒,是无上咒,是无等等咒…..”

等BOSS Liu吃饱喝足,他站起来很大方地喊:“老板!买单!”

他这是典型的四川人性格,哪怕就是吃碗一块钱的酸辣粉,吃完后都要大大咧咧地喊:“老板!买单!”

绝影抢着去买单,一把被BOSS Liu推开。后来在任何场合绝影总是会抢着买单,唯独不抢BOSS Liu的,因为经过那么一次教训他知道他抢不赢他。明明两个人都是穷人,也许身上的钱还没有他年龄多,都还要抢着去买单,不知道这是不是程序员的习惯。

第二天两人还是睡到楼下幼儿园放《小哪吒》才起床,那是九点十五分准时。公司规定九点钟就要上班,他们俩却总是在放《小哪吒》才起床,如果不是那声音太大把他们吵醒也许他们还要睡。

学校的事情已经了结,周总让他们把所有心思都放到五一节验收的这个CASE上来。其实五一节已经过了很久了,CASE却拖到现在,那边放射科主任几乎是每天一个电话,BOSS Liu负责做登记工作站,绝影做KIPACS影像采集部分,原来那个KIPACS在影像采集功能上实在太不完善,BUG又多,绝影不得不重新来做,也是边做边骂以前的程序员。

BOSS Liu一直因为自己KIREGIS中的多线程技术洋洋得意,可是KIREGIS老是只在公司中内部测试,他说:“公司里这点数据,根本无法体现出多线程技术的优越性。我那KIREGIS设计容量是十万级别的数据!”

等待的日子是辛苦的,终于有一天,周总说:“小刘啊,今天咱们一起去XXX医院,先把软件全部装上去,他们的机器已经到位了。小绝,这次你就不用去了,在家多休息休息。”

这正是BOSS Liu期待的。他忙接着说:“就是就是,绝影你回家好好休息吧,这次我去,应该没什么问题。”

绝影回到家,没想到燕儿今天也来了。本来他们还没放假,这边离学校又远,她平时就难得来一趟,这次来还顺便买了菜正在做饭,在这种情况下,最浪漫的事莫过于从后面搂着她的腰说:“亲爱的,你辛苦了。”可绝影偏偏不懂浪漫,他心里惦记着KIPACS的安装要领不知道BOSS Liu听进去没有。当时本来想给他写个文档,BOSS Liu觉得太浪费时间,给他说了几句要点,他又一直在那里摆弄KIREGIS也不知道他听没听,反正他最后是拍着胸口给绝影打了保票。

吃完饭,他对燕儿说:“今天公司去安装软件,我忙了这么久,周总让我今天早点回来休息,估计现在他和BOSS Liu还在医院呢。今天在家我不用工作了,好好陪陪你。”话刚说完,绝影最担心的事情便发生了。周总电话打过来,说:“KIPACS测试好了吗?怎么在这边视频出不来呢?”

绝影一听就急了,KIPACS捕捉视频是绝对没问题的,肯定是他们在安装上出了什么问题,他又耐心地跟周总讲了一遍装要领:要把 “bin”目录中的东西拷贝到安装目录,然后运行regist.bat注册采集卡和报告格式的ocx,再安装采集卡驱动,然后在DSN中添加一个KIPACS数据源,驱动程序为“MS Access”,文件指向“DB”目录中的KIPACS.mdb。说完了,他小心翼翼地试探道:“要不我来一趟吧。”

“嗯,你还是来一趟把,打车过来。”

一听周总这么说绝影气得要死。你早想要自己来那我讲那么多要领有个屁用啊。要不你就直接让我来一趟,要不你听了要领自己在安装一次,不行再让我来。这就好比明明路标上已经标明“解除60公里速度限制”,你开到70公里,交警刷刷就是一张罚单。你下车来指着标志耐心地说:“警察同志,已经解除60公里限制了呀。”那交警点点头若有所思地说:“是呀。你说得很对呢。”他这么说你以为OK没事了刚要转身上车,可他话锋一转:“可是罚单都已经开了。下次吧,下次不罚你了。”那有屁用啊,下次,下次我超速的时候你都不知道哪去了。

燕儿听到他们的电话,对绝影说:“你还是去吧,早点去早点回来,都已经十点了。下次再陪我。”

于是他满怀对燕儿的愧疚打车去了医院。果然是安装的问题,最早的KIPACS用的SDK2000采集卡,但那东西效果实在太差,这次医院的要求要高一些,于是换成了SDK3000。为了这次更换绝影还专门重写了于采集卡相关的代码,原来那个程序员用的ocx开发,搞得像VB,这是他最忌讳的,于是他全部改成了API调用。没想到BOSS Liu聪明一世糊涂一时,偏偏去装个SDK2000的驱动程序。驱动没装对,视频出不来,两人又怪绝影的程序没写好。对他们来说这是个小小的问题,绝影两分钟就可以解决,可就这么一个小小的问题却要绝影大半夜打车10公里跑到医院来。对绝影来说,平常大半夜打车10公里来解决这个小小的问题也是小小的问题,可今天,燕儿还在家里等着自己,对他来说,这就是大事。他们永远不能理解这事对他来说有多大。

换个驱动,KIPACS果然如在公司测试环境中一样流畅地运行起来。绝影拍拍BOSS Liu的肩说:“小伙子,下次注意点!”这话的言外之意是:“出这个问题责任不在我,在你。我写的程序,怎么会有问题呢?”回头看看周总,他还是丝毫没有让绝影回去的意思,看来他最后的一丝幻想也落空了,想想反正这么晚都已经出来了,就算现在回去燕儿也还是对他有意见,还是跟他们一起搞完再回家算了。

那天晚上,绝影三点才回家,燕儿已经睡熟了。

再一次去医院,是验收的日子。那放射科主任手忙脚乱。医院上头的领导要来视察,如果领导不满意,责任肯定都在主任头上,主任又把责任下放到周总头上,周总又把责任下放到BOSS Liu和绝影头上,所以绝影他们也是手忙脚乱。

KIREGIS的测试效果还是让人满意,BOSS Liu一路顺畅地给领导表演了如何登记,这边登记的数据如何从X光机上调出来,如何从CT上调出来。KIView测试效果也不错,这个软件由周总负责,本来就是历经考验的成熟产品,直接装上用就行了。走到X光机这里,周总胸有成竹地说:“下面是KIPACS工作站,它从KIREGIS数据库中读取登记的记录,将TH600拍摄的图像数字化并转换成DICOM图像,可以进行图像处理,然后可直接打印报告,拍摄的胶片可以直接打印到包工中。下面由公司小绝来演示下使用流程。”

绝影也胸有成竹地走过去,从前台登记,调阅记录,拍X光,待图像进入KIPACS他开始演示调窗。调窗本是放射科医生的专业他自然不懂,只能胡乱地衡窗宽纵窗位地大幅度调,图像也跟着大幅度变化起来。正在医院头头准备点头的时候,突然,屏幕黑了。


《疯狂的程序员》29

见屏幕一黑,绝影也不知道是怎么回事,以前在公司测试的时候从来没出现这种情况,反正肯定是程序出了问题,坏就坏在还是全屏,图像一黑,整个屏幕就黑了。他用眼角的余光瞟了瞟周总,还好周总正在兴致勃勃地给医生们介绍KIPACS是如何如何好,只有医院领导一个人发现了问题。他赶忙退出全屏关掉KIPACS,再次打开。

医院领导正要开口,绝影抢在他前面说:“这是正常现象,一般KIPACS用久了就要重启一次。”那言外之意就是:“这黑屏的事,没啥大不了的,我们早就知道了。并且这又是不能解决的,要能解决我们还不早就解决了。就比如手机一样,就算是Nokia N95,够高档了吧,可是你能拿它放DVD吗?放不了,还是将就着用吧。所以还是麻烦你们偶尔重启一下吧。”

周总听他这么说,回过头来,丈二和尚摸不着头。

最后医院领导还是在验收报告上签了字,一行人撤回公司的时候,周总问:“小绝阿,那个KIPACS重启是怎么回事呢?以前怎么没听你说过?”

绝影哪敢给他讲很话,忙说:“没什么大不了的,回去我调研一下,估计还有些小BUG。”

在公司做CASE就是这样,虽然公司要求所有BUG的发现和修正都要最终体现到软件开发文档里,但实际操作起来,往往是程序员发现了自己的BUG能隐瞒下来的都隐瞒下来,自己抽个时间或者加班把它修改了,这样给领导的印象要好一些。这和现在很多小煤窑的做法差不多,虽然上头三令五申要杜绝安全隐患,但事故总还是要发生的,虽然又说发生事故要如实上报及时补救,但小老板们总是能隐瞒不报就隐瞒不报,自己私下处理了事。你想真要是如实上报你一个小小煤窑一年12个月就报了二十多个事故上去明年的开采许可证还怎么可能拿得到?

绝影说是小事,回到公司又看了半天都还是没搞明白,问题就出在调窗上,这个调窗原理说简单点其实就是把图像的一些属性调整一下然后重新绘制到DC上,小幅度地调整都没有问题,就是大幅度长时间调整最后显示图像的部分都会黑掉。先他以为是对WM_PAINT消息的处理有问题,这个就比较麻烦,系统经常要发送WM_PAINT这个消息,在里面下个断点或者加个MessageBox就一直要不停地弹出。搞了半天还是找不出个所以然。你想要是真是对这个消息处理出现了问题,那应该一早调窗就有问题才对。

调试了几次,绝影发现系统变得越来越慢,打开任务管理器,乖乖,KIPACS居然占用了300多M内存。要知道KIPACS刚启动时不过只占用了17M内存。看样子像是内存泄漏。这样想,他继续调窗,调一下发现内存涨上去可又没降下来,果然是调窗的时候发生了内存泄漏。

知道了原因解决起来就要快得多,原来是GetDC获取DC后没有使用ReleaseDC把它释放,这部分在WM_PAINT消息中,WM_PAINT消息又频繁发送,所以那内存泄漏起来真是要命得很。

加上ReleaseDC,KIPACS终于可以流畅地调窗,看看任务管理器,内存占用基本稳定在20M。

搞完这个BUG,绝影看看时间,已经是晚上9点多,公司的人早不知道什么时候都走光了。这次的事情还是给绝影留下了深刻的教训以至于在很常一段时间,别人问他:“影头,你看看我这程序,怎么老是出问题阿?”他都会跟别人说:“先看看是不是有内存泄漏。”

问题解决了,等到第二天周总来到公司,绝影便轻描淡写地对周总说:“昨天那个KIPACS需要重启的问题我已经解决了,是个小问题,内存泄漏。”

所以什么叫打肿脸充胖子。明明昨天花了5,6个小时憋得几乎走投无路终于解决出的问题现在在老总面前却轻描淡写地说:“是个小CASE而已。”想BOSS Liu也许也是这样,自己不知道熬了几个通宵脑细胞不知杀死多少终于给做出个多线程出来,却轻描淡写地说:“多线程嘛,那个还不容易,二三十分钟就搞出来了。”两个人都是爱吹牛,好像自己能耐大得不得了,什么技术阿方法阿算法阿解决方案阿还不一切都尽在掌握中,原以为牛这样吹了,大家就决定自己有多了不起,结果最后受苦的是自己,开心的是老板,老板们正是利用了这种心理,他们会说:“不错不错,这么个大问题能这样快地解决,这个程序里面还有二十多个BUG,都是小问题,给你一天的时间够了吧。”

周总对绝影反映的问题还是比较关心,他说:“内存泄漏这个问题是广泛存在的阿,这种问题又最不好调试。我给你介绍个软件吧,BoundsCheck,专门测试内存泄漏。”

在以前,绝影绝对不会去关心别人介绍的什么软件,首先那软件是别人介绍的,自己又不熟悉,软件好不好阿,怎么用阿都要自己去摸索,特别是这个BoundsCheck一听就知道是个英文版的软件,还要拿金山词霸去翻译菜单或者网上到处去找汉化版,本来以为用这个软件能极大地提高劳动生产率,结果反而花在学习上的时间都远远超过了它提高的劳动生产率,这叫“磨刀误了砍柴工”。

可这次绝影还是比较慎重,昨天虽然把问题解决了但实在把自己搞得太痛苦,也幸亏昨天开了任务管理器发现了问题,要不说不定把代码跟踪到太平洋还不知道问题在哪里。

去网上下个BoundsCheck6 for VC,原来是大名鼎鼎的Numega公司出的,想能出SoftICE这样的软件的公司出的东西还能有假吗?就比如今天微软宣布出了一个新的操作系统,那还不成为各大网站的头条新闻。所以不仅是衣服,就是软件也有个品牌效应。

那天在公司又调研了一整天,绝影第一次知道了“纯化测试”这个词。以后每次周总说:“OK,明天我们进行Purification。”绝影就跟大家翻译道:“好,明天我们进行纯化测试,没装BoundsCheck的把BoundsCheck装上,不会用的找我。”



最近几天BOSS Liu在公司颇为得意,看来医院对KIREGIS试运行非常满意,要他修改的地方也很少。KIREGIS的代码一直是BOSS Liu在负责,绝影从来没去看,这也好,世界上最幸福的事情就是你把事情交给别人别人做好了交给你居然和你的要求一模一样,根本不用改。因为没什么事做,BOSS Liu正好潜心研究起C++来。

本来有好多事情都是一样,会做容易做好难,就说这C++就算你是写了五六年程序的程序员,说函数模板、类模板、纯虚函数、虚基类这些东西你又用上了多少。BOSS Liu研究了一些这方面东西,再加上KIREGIS在医院取得了成功,觉得差不多火候已到,绝影也不过尔尔,不过就是汇编好一点吗?还是那句话,汇编不过100多个指令,有什么难的。

可绝影总以为他对C++的研究应该仅限于“理论”上。

两人见了面,BOSS Liu问:“你知道这个XXXX基类的构造函数会被调用几次么?”

绝影自知肯定回答不上来,在这种情况下最好就不要去回答,BOSS Liu是有备而来故意刁难你,不是带着请教的,所以就算你侥幸答对了,也并不能让他对你钦佩的感觉油然而生;要是你答错了,就正中他的下怀,从此以后凡是有技术上的讨论,他总是会拿“你XXXX这个问题都不知道,还说个P呀”来压你。

这正如鲁迅先生说的,一家人生了孩子,你说:“这孩子好呀,以后要当什么什么大官有多少多少钱。”那你是骗人的,可人家父母爱听。你说:“这孩子最后会死。”这是真话,可人家父母不爱听。怎么办,你最好就说:“呵,这孩子……你看……呵……哈哈……”

所以绝影避开问题地重点,也打起哈哈来:“研究C++阿?有什么好研究的?我告诉你,C++能做到的,用汇编都能做到。汇编能做到,C++还有些做不到哦。”

这是绝影的杀手锏。首先把问题转移到汇编上来。这方面他有几年积累,算是个小行家。再说的确在自定位和精确计算代码长度这两个技术上只有汇编能做到,这是高级语言的死穴。管它什么语言,他用这两点都能把它杀了。

BOSS Liu很不服气地说:“我知道你那汇编,在Windows下不过是换成‘invoke’来调用API罢了。还能唬我。BOSS Jue,你去各大公司看看。你那玩艺过时了。”

“你懂个P,存在就是合理,懂不?这是哪个大哲学家说的。”

“我知道我知道。可你那玩艺就快连存在的价值都没有了。我问你,除非你搞病毒,还能有什么汇编能做高级语言不能做的?”

这又将了绝影一军,每次他跟别人说:“我嘛,擅长汇编。”就最怕别人问:“你搞病毒的?”别人这样说,就好像说:“你这人,真长得就像个贼。”所以每次他都不得不跟别人讲一大堆什么汇编不一定搞病毒,除了搞病毒汇编还有什么什么用途,还能写什么什么程序。想了半天,绝影实在想不起汇编还有什么优势,但沉默下去就是认输,从此以后,BOSS Liu就可以名正言顺在他面前显摆C++,从此以后自己和汇编语言在公司中就再没有什么地位。请急之下,他忽然又想起大学时候做过的大数运算库,终于洋洋得意地说:“谁说没用了,我曾经把一个C++做的大数运算库算法原封不动地翻译成汇编,算1024位乘法速度居然提高了200倍。我用汇编,可以把大部分操作数都存到寄存器中,可怜的C++阿,还得全部存到内存中,做高级运算还是应该在一旁休息去吧。”

说完这话,BOSS Liu沉默了。这是理论论据和事实论据都充分。本来汇编速度快这是毋庸置疑的,再加上绝影有写好的程序摆在那里,BOSS Liu从哪里驳都驳不倒。见他不说话,绝影大模大样往自己桌子上一坐,心里嘀咕着:“还跟我比C++,我汇编是通吃。”

大概过了10分钟,BOSS Liu忽然跳起来大声说到:“BOSS Jue我差点让你给忽悠了,刚才忘记了CACHE。现在的CPU都有CACHE,CPU对CACHE的访问速度和寄存器差不多,C++会把经常使用的变量放CACHE里面,速度应该和汇编差不多才对。”

绝影本来以为可以稳坐钓鱼台了,没想到BOSS Liu就是这么个不见棺材不掉泪的人,听他这么说还是有道理,至少从理论上讲应该是这样,这下他又解释不了实践上200倍的速度差,现在没有理论作为依据,就是牵强地去跟BOSS Liu解释也会把自己在这次争论中置于非常不利的地位。最后,还是绝影沉默了。

从那次争论以后,BOSS Liu再也没给绝影夸过C++的好,也没再夸自己在C++上的造诣有多深。绝影也没再在BOSS Liu面前显摆汇编有多无所不能,自己汇编有多炉火纯青。两人都心知肚明,他们俩水平一般,要是继续在这语言孰优孰劣上争论,谁都没必胜的把握,如果输了,脸就丢大了。还不如好好再深造几年,到时再一比高低。

很多年以后,绝影终于想到当初想不出来的问题:汇编语言使用寄存器并不是对寄存器访问比对内存访问更快,而是对寄存器寻址比对内存寻址更快。很多时候他想把这个告诉BOSS Liu,但他终于还是没告诉他。



一晃两个月过去,绝影和BOSS Liu去医院对他们的软件系统作了两次例行维护和更新,医院的规模还算大,登记数据已经有三万多条,KIREGIS还是经受住了耐力测试。KIPACS经过绝影两次更新基本上也运行比较稳定。在领工资的时候,周总对绝影说:“XXX医院的CASE已经验收合格,这个月给你发500元的奖金。因为这个CASE的收入也不多,就你KIPACS贡献最大,所以奖金也就你有,对其它的人就不要声张了。”

本来绝影觉得这么大的CASE忙了这么久才500元的奖金周总也真是太扣门了,但听周总这么说,绝影还心里笑着走出了他的办公室,恨不得立马当众大声宣布:“知道吗?XXX医院项目奖金500元,就我绝影一个人有!”

BOSS Liu也进了办公室。周总还是说:“XXX医院的CASE已经验收合格,这个月发给你500元的奖金。因为这个CASE的收入也不多,就你KIREGIS贡献最大,所以奖金也就你有,对其它的人就不要声张了。”

当然,BOSS Liu在出来的时候也恨不得力马当众大声宣布:“知道吗?XXX医院项目奖金500元,就我BOSS Liu一个人有!”

大家一个二个领完工资,脸上都喜气洋洋。公司的电话响了,张厂长积极地抢着去接了电话,说了几句,回过头来说:“医院打来的,找绝影,好像程序有些问题。”

绝影一下傻了。傻的不是程序有些问题,是医院居然指名点姓要找绝影,而且医院居然还知道“绝影”的名字,自己麻烦了。

《疯狂的程序员》30
见绝影吓得脸都变了色,BOSS Liu打趣的说:“想不到BOSS还是从原始部落出来的!据说有些原始部落就是怕别人知道你的名字,别人知道就能用咒语让你死。”

绝影白了他一眼,接过电话。

电话是放射科主任亲自打过来的,在那头急得要死,说系统不能用了。

明明去安装的时候都是好好的,这BUG再怎么严重也不至于让整个系统都不能用了吧,事情要真有那么严重自己刚到手的奖金估计又要泡汤。忙跟他说:“什么时候发现问题的。”

“前几天就开始了,不过还勉强能用。今天他们说不能用了,我跑过来看,果然不能用了。”

“是什么情况?”

“前几天是登记的时候速度太慢,登一个人起码都要等5分钟,还不如以前用纸登记快。到今天,简直是不能登记了,估计起码要等一个小时。”

听他这么说,绝影终于松了口气。这是意料之中的事情。想医院一天做的病人起码有几百个,就算如BOSS Liu所说KIREGIS设计容量是10万级别数据量那最多也就几个月就撑爆了。再加上那些X光机,CT机拍的片子转换成DICOM图像一张动辄就是好几十M,这么大的数据量不慢死才怪。本来在这种情况下应该配套一个数据备份和刻录的软件,奈何CASE的时间太紧,验收的时候也就是勉强才做完连Beta测试都没有这些增强要求自然没时间去给他考虑,周总的意思是先等验收过了,钱到手了,大家闲下来了,再花点时间慢慢给他做个备份系统。

虽然话说“顾客就是上帝”,现在好多顾客认为自己付了钱,还真把自己当成了上帝,东西出一点小问题就蹦炸起来:“坏了!不能用了!你们赶紧给我搞好!”绝影和BOSS Liu以前给别的医院做系统维护的时候听多了这样的抱怨,反而反感起来。那时候没办法上头有命令必须要去做,现在又不一样了,东西验收是你签的字,钱我也拿了,老子现在就是上帝!

于是他慢条斯理地说:“别急别急,那是因为数据量太多了,正常情况。你想想用了那么久了,机器里面装了那么多数据,哪有不慢的道理,就是你自己机器时间长了你还不是得拿Windows优化大师搞一搞。”

“那现在怎么办呀。”主任这么说,声音有点变调,绝影忽然又有点可怜起他来。

“这样吧,你们自己不是有网管吗,让他把硬盘里的数据拷出来刻成光盘然后删掉,数据少了速度自然就快了。”

“这种事情我们怎么敢搞啊,万一把系统搞坏了是小事,数据掉了我们都交不差,现在卫生部规定所有医学数据都至少要保存5年,这个事情谁都马虎不得啊。你给想想办法帮帮忙啊!”

绝影当然知道这事情他们不能搞,这样说就是想吓吓他,以前东西还在做的时候周总总是说:“小绝啊,今天主任打电话过来,说那个KIPACS还需要个什么什么功能。”所以他肯定地认为KIPACS搞那么长时间加那么多功能出那么多BUG罪魁祸首都是这个主任。他一个小小的要求在那时候就能让绝影起码多加三天的班。

见主任说话都哆哆嗦嗦,想像着他人在那边全身像筛糠似地打着颤,绝影的虚荣心忽然得到极大的满足,全身都自在起来,于是用很大方地口气说:“这样吧,这事情我我给上面反应一下,我们再调研调研,看能不能给你们做个工具专门来备份。这样对数据就比较安全了。”

“那就最好了。但是这几天我们怎么办呢?”

“这几天?你们以前没装我们系统的时候是怎么做的现在就怎么做。等到我们把东西做出来吧。机器先不要开了,要再开机器出了什么问题数据掉了那就是你们的事情了。”绝影知道那主任怕的根本就不是系统坏了,按照合同,坏了你绝影得再给我装,装到我满意为止。他最怕的是数据丢掉。现在哪个软件的License上不是写的:由于用户操作导致的数据丢失,公司概不负责。绝影他们公司也是这样写的。数据掉了就你自己的事情,你得自己想办法给医院领导给卫生部交待。

主任在那边唯唯诺诺地说:“好,好。那你们尽量快点。急死人了。”

放下电话,绝影对BOSS Liu说:“你懂个P。名字这东西,让别人知道了不得了,其他人他都不认识,以后每次事无巨细他打电话过来都说:喂,找绝影。那还不把整死啊。



下班回家的路上,BOSS Liu从路边的邮政储蓄那里给家里寄了300块钱。绝影觉得他也太扣了,要寄就多寄点,至少都得1000,你300块钱,自己都不好意思拿出手。他迫不及待给燕儿打了个电话,说:“你今天过来吧,我有重要的事情跟你说。”

这学期燕儿也是大四了,绝影在哪个时候别人早不知道他行踪在哪里。但女生不一样,胆子比较小,每天还是老老实实呆在学校,虽然学校里课也没多少事情也没多少,每次来绝影这边好像还得下很大的勇气似的。

将近两年的时间过去,绝影也深深地摸清了燕儿的脾气。要想把她哄过来还得对她说:“有重要事情要跟你说。”至于什么重要的事情,当然是“重要”到要当面才能说,好像就怕电话里一说这事便让全天下人都知道了,肥水流了外人田。

燕儿也不懂吃一堑长一智,虽然每次过来听绝影面授机宜结果都大失所望,原来就这么屁点大个事情还劳驾自己亲自跑过来。女人就是这样,同样一个花招只要你愿意继续耍,就可以让她永远上当下去。

等她来绝影这里已经差不多八点了,晚饭也还没吃。绝影神秘兮兮地从钱包里掏出一把人民币,先一二三四五六七铺开,说:“看见没有?RMB2000大洋,这个月工资。看2000有多少!”说完又把人民币合拢,掂了掂重量,比了比厚度,突然把钱往天上一撒,又赶紧一张一张拣起来,边拣边说:“快拣钱啊!”等钱全部拣完,绝影把它紧紧撰在手里,好像那不是2000,是二十万。

燕儿心里想着他有重要事情要说,对RMB兴趣不大,问:“有啥大事情,快说啊。”

“就这个事情。”

“就这个事情?”

“就这个事情。工资1500,加上XXX医院的奖金,总共2000大洋整。”

“就这个事情?”

“就这个事情。那500奖金全公司就我一个人有,因为我贡献最大。别以为BOSS Liu的KIREGIS做得好什么多线程,那都是忽悠人的,周总都说了,KIREGIS等于是送给他们医院的,真正的重点是我的KIPACS。”

本来燕儿还是有点不高兴,自己大老远跑一趟原来就说这么个事情,在电话里面完全就可以说清楚。不过看见绝影手里撰着钱乐得傻笑,她还是很替他开心。她挺关心他,问:“吃饭了吗?”

“没吃,等你来一起吃。今天领了工资去吃火锅,哈哈。去那家‘刘一手’,没想到他们表面上不咋的,生意还火爆得不得很,我去观察了几天,几乎夜夜都爆满。”

本来两人都穷,难得上一次馆子,不过火锅店却例外。想绝影每次说话都以:“小时候家里穷……”开头,两人以前在学校的时候每周都得算计着明天还有多少钱,该吃什么,有时候钱还真接不上来,于是就去吃火锅。学校外面的火锅消费满10元就发张1元的代金券,下次来的时候抵1元钱,没钱了,就约几个同学说:“走,今天没事,一起吃火锅。”吃完火锅AA制,别人付现金,他们付代金券。

所以今天吃火锅,两人感触还是很深。绝影从来不喝酒,今天也没喝酒,却像喝醉了的人一样,一直跟燕儿滔滔不绝地说话。

他说做那个KIPACS以前的程序员做得要多糟糕有多糟糕,十几个cpp文件到处都是定义的全局变量,又没用匈牙利命名法,没有注释,甚至书写代码连缩近都没有,自己居然给他改好了。亏得周总他们以前还说那个人是个高手,自己还崇拜了他起码半年。

他说那个放射科主任,挺着大肚子,脑袋上光光的,要求还挺不少,又不一次性提完,一会给他提一个一会给他提一个,害得他反过来复过去修改。就像放屁一样,你要么一次性把屁放完,好像屁还是宝贝似的还节约着放,一会放一个一会放一个,你自己到是爽了,可把别人整惨了。

他说调窗的时候内存泄漏,差点把他害死,那天晚上他加班加到晚上九点,饭也没吃,好歹给搞了出来,周总都还不知道。要是换成BOSS Liu,还不一定能做出来,这项目多半就给挂了。

他说那数据库备份,本来当初就应该做,周总硬是说不做。现在想来还是周总老谋深算。要是真给他们做了,今天他们也不会打电话过来孙子一样求公司。想起自己在大学的时候,老师说他们以前给别人公司搞电话交换机,搞好了把钱收了里面留个后门,保修期一到马上拨过电话过去,那交换机就不工作了,别人公司急得不行让他们去修。修,当然行,过了保修期,得付钱。周总他们虽然还没有这么恶毒,但终归可以在维护这方面卡他医院一下。他们态度好,就送一点,他们态度不好,就紧一点,反正我已经收了,你吃屎的还得听咱拉屎的话。

绝影只管自己滔滔不绝的说,有很多东西他也知道燕儿听不懂。她不知道什么是cpp什么是全局变量什么是匈牙利命名法,也不知道什么是内存泄漏什么是GetDC,ReleaseDC,可他还是给她说,对他来说,除了燕儿,再也没人可以这么和他分享他的工作和他成功的喜悦。这2000块钱是什么?对别人来说,就是普通的一个月工资加奖金,对他来说不是,这是他第一次一个月工资加奖金。

燕儿什么话也没说,一边不断给他夹菜一边静静地听他讲。



医院数据库备份工具很快就做好了,本来周总老早就计划了这个东西,验收完回来就让绝影来做,工具很简单,就是把KIREGIS用的MS SQL数据库中的数据导出到Access数据库中,把原来的数据删除了,把Access数据库的内容刻录下来就OK。本来MS SQL好像自带有导出成Access的功能,写个脚本就能实现,但绝影和BOSS Liu对这个实在不太熟悉,两人又懒,不愿意去网上搜,更不想去论坛上提问。首先网上搜没针对性,人家写的东西,又不是专门量身为你这个CASE打造。一句话,麻烦。去论坛上提问,那是守株待兔,还要看大虾们今天有没有时间心情好不好来给你解答。

于是就自己做,把MS SQL数据库的内容读出来,再写到Access数据库中去,反正当初在开发的时候就用ODBC,其实这一读一写代码差不多。

绝影再去医院给他们装这个备份工具,主任再不像从前那样趾高气昂,反而对绝影有点毕恭毕敬,起码对他说了五个“谢谢”。走的时候绝影说:“怎么用也写到文档里面去了。你们最好还是派专人来操作,免得人多手杂把数据给损坏了,另外要是出了问题也容易追究责任。”

忙完了这些,大家差不多可以暂时闲下来,BOSS Liu继续研究他的C++,每天还是坐在他的电脑面前看代码写代码。张厂长去负责KIPACS遥控器的CASE,这也是个增强功能,不用很急。周总又天天坐办公室了估计又在调研什么大CASE。

绝影一时找不到什么事情好做,在公司摆弄汇编也不太合适,再说也没什么东西还摆弄的,汇编那东西,就是写个“Hello World” 的窗口都要摆弄好久,实在不好“抽时间”来摆弄。不过“抽时间”去书店转转还是可以的,于是又去西南科技书店买了本书:《加密与解密》,看雪编著,电子工业出版社。本来绝影在看雪论坛上转悠了一阵,觉得那上面都是高手,好多东西都还是看不懂,他看不懂的就觉得别人是高手,其实他也看不懂《史记》,于是他也觉得司马迁是高手。

正当绝影、BOSS Liu、张厂长三人悠载悠载地过着小日子的时候,有一天,周总把绝影叫到办公室,严肃地说:“小绝啊,我很少批评你,可这次你犯了个严重的错误!”


《疯狂的程序员》31

听周总这么说,绝影吓了一跳,不光他吓了一跳,BOSS Liu和张厂长也吓了一跳。在他们印象中,周总脸上总是带着平静地表情,即使偶尔批评起人来,也还是带着平静地表情。这时候,绝影突然想起念大学的时候,本来和燕儿在校外租了房子悠闲地过着小日子,没想到有一天公安局会突然来敲他的门,想到公安局肯定是来查自己非法同居来了,吓得要死。想在来看,周总一定是来清算平时不按时到公司,作风懒散的事情,果然是“出来混,迟早是要还的”。

周总毫不留情地说:“你看看你写的代码,这个备份工具里面,你居然一次性把SQL数据库里的数据全部读出来放到内存,再写到Access数据库中,为什么要这样,为什么不读一条写一条?”

一听不是清算作风的事情,绝影又带着庆幸地送了一口气,就像当初打开门,原来公安局是来了解杀人焚尸的事情,跟非法同居完全不沾边,自己一下从犯罪嫌疑人变成证人,其中的成就感不言而喻。

再说周总问的这个问题绝影也早就想到过,于是胸有成竹地说:“这个问题我当初也想到了,考虑到读一条写一条可能太浪费时间,还不如一次性读到内存中,那样肯定要快得多。”

听绝影这么说,周总慢条斯理地说:“小绝啊,这就是你经验不足了。你在公司里测试有多少数据?就一百多条,一百多条数据能测出什么?要是数据有几万十几万呢?你全部读到内存中,内存根本不够,操作系统只好频繁地使用交换文件,这样速度不但不会提高,反而会慢很多,你自己看看,你系统每次用久了后是不是慢得很?那就是因为用的时间长了,内存占用多了,系统使用交换文件,最后慢得不得了。”

绝影一边听周总说,一边注意他的表情,仿佛还带了点洋洋得意的神色。虽然传说中周总写程序还是很牛B的,但绝影从来没见过他写的代码,对这个传说还是持了点保留意见。没想到这次分析问题周总还是讲得头头是道,这个问题,没点经验的人还真发现不了。于是他唯唯诺诺地说:“有道理有道理。是我没考虑周到。”

“既然这样,那就赶紧改吧,别等问题暴露出来才来忙,我们要防患于未然。你赶紧改,我在旁边看着,改好了重新送过去。”

周总说完,泡了杯茶,端了根板凳坐在绝影旁边。

绝影突然觉得不自在起来。大家在公司各忙各的,就算实在没事可做也要装出很忙:打开一个Workspace,选中一个内容比较丰富的cpp文件不断把滚动条拖来拖去,特别是周总出来,就故意用手托住脑袋,做出痛苦的冥思苦想状。在这种状况下,绝影能够很容易“偷偷地”把程序写出来。现在周总坐到旁边看着他,他反而不知道程序该怎么写了。

所以有时候写程序就像放屁。放屁这个事情毕竟是件不雅的事,所以大部分人还是要偷偷地放。比如几十个人挤在公交车里,冷不丁谁偷偷放个屁,于是大家一边捂着鼻子一边互相指责:“你放的,你放的。”而真正放屁的人看到这情况,为掩人耳目,也充当起南郭先生,不断说:“谁放的?谁放的?”在这种情况下,屁很容易就放出来了。要是真正让你在大庭广众众目睽睽之下来放屁,怕就算你吃下两斤豌豆也放不出也不敢放出一个来,最要命的是肚子咕咕姑不断叫,就是不敢放。

最后绝影终于还是把程序憋了出来。周总满意地点点头,说:“这还差不多,这还差不多。”



原以为这个问题解决了世界从此就太平了,绝影和BOSS Liu又变本加厉起来,以前他们是早上听到《小哪吒》才起床,奈何那幼儿园实在太准时,每天都是九点十五分放《小哪吒》,看来在起床这方面是没什么回旋的余地,于是他们只好中午吃了饭再回去睡个午觉才去公司。

终于有一天,周总说:“公司慢慢壮大起来,管理也要跟上。这样吧,以后大家早上9点签到上班,中午12点吃饭,下午1点又签到,6点下班,刚好每天工作8小时,签到两次,没问题吧。”

大家唯唯诺诺地点头,绝影估计周总已经知道了自己和BOSS Liu懒散的作风,可是他不好发作。进一步思考,肯定是有人告密了,多半是张厂长干的好事,因为每天就他来公司最早,9点就到了。

看家都没什么意见,周总继续说:“公司当然要有公司的纪律,这两天我已经制订了公司的一些相关规定,就把它贴出来,这里面要特别讲的一点是上网。你们的合同里面已经写了,上网必须在服务器上上,而且必须与工作相关。最近我发现有人在上网的时候做一些与工作完全不相干的事情,以前我没说,今天就特别说一下,特别是上QQ,这个是要坚决杜绝的,大家也知道,现在QQ的那些病毒多得不得了,要是把服务器打夸了就不好了,主要是那上面有很多重要的东西。”

绝影和BOSS Liu他们都知道,什么QQ病毒啊那些都是周总忽悠人的。一个搞IT的公司,不要说绝影这种早在大学时代就和病毒斗争的人物,就是随便一个倒茶的秘书也知道如何避免在上网时中病毒这个基本道理。本来工作就是工作,工作就是不应该上QQ,这根本不需要什么理由,现在周总又找些非常占不住脚的理由来说,反而让大家觉得非常好笑。所以有时候很多事情找个不那么充分的理由还不如不找理由。

末了,周总拍拍绝影的肩说:“大家没什么意见就这样吧,以后就先由绝影就来负责早上签到这个事情。你把公司员工的名单打个表,每天大家就在表上签,月底把表交给我,按就照签到的次数来核算工资。”

绝影狠狠地点点头,就差没说一句:“包在我身上。”其实他心里最清楚,周总让他来负责,根本就不是因为对他的信任。你想刘备白帝城托孤,对诸葛亮说:“我那个儿子,你能扶就扶,不能扶就把他废了自己上位吧。”他这么说了,诸葛亮就算有这个心也再没这个胆,本来可能心里还想着:那小子,过两年就把他废了吧。现在还怎么敢!只好诚惶诚恐地一边磕头一边说:“臣哪敢不效肱股之力啊!”诸葛亮是聪明人,他知道说不定两边都埋伏好了刀斧手就等着砍他呢。正因为刘备有这本事,所以管你诸葛亮头脑如何如何聪明,关羽武功如何如何高强,他永远都是他们的领导。

于是绝影又无奈地对BOSS Liu说:“明天还是早点来吧。”

本来BOSS Liu对绝影一直都不服,论技术他也不输,论酒量自己肯定比他大,这次绝影跟他说话语气却很软,于是他的心也软了一下,说:“嗯,BOSS的事情,是应该配合一下。”

稳稳当当又过了几个月,这天刚上班不久,BOSS Liu忽然对绝影说:“BOSS不好,出大事了!”

绝影慢条斯理回过头来,说:“啥事,曰。”他知道“不好”,“出大事了”这是BOSS Liu的语气助词,无实意,去掉这些助词,BOSS Liu实际说的是:“BOSS!”也就是喊他一声,所以他也回应得不慌不忙。

“周总今天早上把U盘还我了。”

绝影正忙着优化KIPACS的代码,过几天他又要和周总出差去另一家医院安装,这次他头也没回说:“你的U盘是应该还给你嘛。”

“问题是我U盘上有QQ。”

“你U盘上有你的裸照又如何,反正是你的U盘又不是我的U盘,是你的裸照又不是我的裸照。”

“问题是我昨天晚上把U盘插服务器上上QQ了。”

“你不跟周总说他咋会知道你在服务器上上QQ了?”

“问题是我昨天晚上走的时候忘记取U盘了,今天早上周总还给我的。”

听他这么说,绝影提他捏了把汗,放下手上的代码,回过头来问:“周总咋说?”

“周总说:‘小刘啊,这是你的U盘吗?’我当时还想,里面不是有我的照片吗?你都看了还问。”

“那周总知道你在服务器上上QQ了不?”

“不知道――我不知道他知不知道。”

“周总太狠了。我觉得他多半知道了。”

“那我不是完了。”

“管他的,反正他又没说啥,稳起,他不说你不说,装傻。对他这种人,就得装傻,懂不?”

“嗯!装傻。先把U盘上QQ删了。”

过了半个小时,绝影走到BOSS Liu面前,小心翼翼地说:“我考虑了半天,还是告诉你个秘密吧。”

“曰。”

“走,咱们先出去抽根烟。”

BOSS Liu极不情愿地跟他跑到厕所,说:“赶紧说赶紧说,我手头上事情还多。厕所好臭,干啥跑这来说?”

“这次是个惊天大秘密,我怕我说了吓死你。”

“又是惊天大秘密,你哪次说的事情不是惊天大秘密。”

“是真的,这次如假包换的大秘密。”

“快说吧少废话!”

“其实我在服务器上偷偷装了个CCProxy。”

“考,你当周总白痴啊?你看周总天天在他自己电脑上上网,VPN他都会用,你还CCproxy呢。你就等着死吧。”

“BOSS此言差矣,我用的服务方式启动,隐藏了界面,又把exe名字改了,改成svchoost.exe,天都不知道我在里面干的啥。实话告诉你,我那代理已经成功运行两周了,看来还是经受住了考验。就比如你,你知道我装了这个吗?”

BOSS Liu想想也是,自己天天去那服务器上转悠,有时候晚上下班了还假装加班去上面上上QQ,绝影那代理服务器就在自己眼皮底下工作居然都没能发现,虽然这方法比U盘上QQ要笨十倍,不过好像还真有用,看来不管你周总武功有多高,还是明枪易躲,暗箭难防啊。

“既然BOSS有路子,那就拿出来共享了嘛。你想我哪次领了工资没照顾你?”

“这是当然,所以我思来想去,最后还是决定把这个秘密告诉你。一会回去周总不在的时候我把你机器的IP添加上去。不过千万要小心,万一被周总发现了嘴巴一定要紧,别说是周总,就是公安局的,只要你嘴巴咬得紧他们都不能把你怎么样。”

“BOSS你当我刘某啥人啊!你放心,这事到了我这里就算进了保密局了。”

BOSS Liu斩钉截铁地这样说,绝影忽然想起个事情,当初康有为找袁事凯计划大事,说:“你要想发达,就到老佛爷面前告我造反吧。”袁事凯拍着胸脯说:“君视袁某为何如人也!”没想到袁事凯转过背就把他们告了。想到着,绝影感觉这事悬了。



陈董又风尘仆仆回到了公司,到公司的时候还拖着他的箱子。加上他蓬乱的头发,简直是个专业出差人员,谁也想不到他会是公司的董事长。

到了公司,陈董第一件事是拍着绝影的肩语重心长地说:“小绝啊,多帮帮周总。”第二件事是拍着BOSS Liu的肩语重心长地说:“小刘啊,多帮帮周总。”

放下包,陈董水也没顾得喝,说:“你们不是想做大CASE吗?这次我带大CASE回来了。”

《疯狂的程序员》32

陈董一脸严肃又略带洋洋得意,绝影和BOSS Liu在心中盘算着这个大CASE能大到什么程度,100万,500万还是1亿,于是都期待着陈董继续往下说,恨不得拍着胸脯说:“陈司令,你就下命令吧!”

陈董掉足了两人胃口,才缓缓地打开自己的电脑,摆弄了一阵,向二人招招收,说:“过来,过来。”

两人探过头去,屏幕上是个国外的软件,全是英文。陈董说:“这是个石油上的软件,叫PVT2000,因为油田那边还需要个功能这上面又没有,我们必须给它加上去,其实也不难,简单地说,就是根据两个二次函数在坐标系上绘制它们的图像,求出交点并把坐标标示出来。”

本来两人看那PVT200看得兴致勃勃,心里琢磨着该不会让咱们也做这么个大象出来吧,没想到陈董这么一说,就相当于让咱们做一根大象的尾巴,也许只算尾巴上的几根毛。就比如你看周正龙拍老虎一炮走红,想起当年自己还拍了不少,那周老虎算啥,也不过尔尔。于是将自己的老虎报上去,梦想着自己也凭着这老虎一炮走红,没想到几天后你的老虎让上面给刷下来,领导批示:这分明是只猫嘛!

陈董看出两人有点失望,立刻说:“别急,这只是一小步!首先,这是个收费的软件,就让你用一个月,所以咱们还得先把它破解了。要是不破解,后面的都没意义。所以这才是大头,考验人的地方。小绝阿,你进公司的时候就听说你汇编不错嘛,这次可是你发挥的时候到了。”

听到后半部分,绝影顿时精神振奋,他长期跟别人吹牛说:“对加密算法,软件逆向工程有一定的研究。”但吹牛毕竟是吹牛,就算你把牛吹到天上去,毕竟还是有掉下来的一天。他总是梦想着有一天他跟别人说:“对加密算法,软件逆向工程有一定研究。那XXXX软件知道吗?那个软件多牛B,也让我破解了。”事实胜于雄辩这是显而易见的道理。

和绝影相反,BOSS Liu反而像泄了气的皮球。自己对汇编和逆向一窍不通,想充其量陈董也就是让自己做那个求交点的部分,那还不是弄个DC画几根线算下数学函数就完了的事情。亏得自己多C++研究了那么久,就像让他去做饭,可惜自己满脑子天文地理IT知识,竟然一个也用不上。

顿了顿,陈董问:“小绝阿,当初我就想到你说你汇编有把握,才冒险把这个CASE接下来,你看看,怎么样?”

本来绝影准备说:“没问题这事就包在我身上。”但听陈董这么说,意识到这个事情还是很严肃,保守一点比较好,于是说:“嗯,破解这个东西,7分技术3分运气,我还是只能试一试,不能说一定能做出来,不过做出来的几率应该还是比较大的。”

开完会,陈董把PVT2000拷贝到绝影的U盘上,和周总继续在办公室讨论更大的事情。他们俩走出来,到厕所里一人点了根烟,BOSS Liu对绝影自嘲地说:“BOSS,维护世界和平就靠你了。”

“哪里哪里,还是要靠你。”

“不不不,靠你就行了。”

“太失望了,原来这就是陈董的大CASE,看来在公司没机会做真正的大CASE了。”



星期六,燕儿又来了绝影这里,给他做了绝影最爱吃的鲫鱼汤。绝影喝着汤说:“陈董又回来了,说带了大CASE回来,原来就是指头那么点小项目,满以为有机会锻炼一下,不知道又要等到何年何月了。好再还有个破解的工作可以作作,勉强打下牙祭。”

“既然有机会,就好好给他们证明一下嘛。”

“不是我不想给他们证明。破解这个事情,我给他们说的7分靠技术3分靠运气,实际是完全颠倒过来――3分靠技术7分靠运气。我要运气好,十分钟就搞出来了,要运气不好,搞个十天八天都啥都没有。关键是写程序,写个十天半个月,你至少知道大概还要多久能搞出来,搞破解,你搞了十天八天,还是不知道啥时候能搞出来,到底能不能搞出来。”

“那就加油吧,尽力去做。”

“好,那我就去做了。”说完,赶紧爬到电脑面前。

绝影这招相当聪明,以前是燕儿做饭他洗碗,今天用这招刚好把洗碗的工作也推掉。

本来破解就是个细致工作,那时候技术又不发达,调试器还得用SoftICE,面对那个黑洞洞的窗口,还得记一大堆命令。好在有本《加密与解密》,本来看其实也没看什么,就这时候查查SoftICE的命令,权当工具书来看。哪像现在有Ollydbg,还可以边听mp3边调试,什么反汇编代码,直接一个复制粘贴到记事本中然后慢慢分析。不过话又说回来,正因为技术不发达,那时候软件也大多不加壳,就是加也基本都是些菜壳,哪像现在什么ASProtect,Armadillo,Themida还带虚拟机保护,不过就是个1.3L的VVT-i发动机,还给加个悍马的壳子,发动机价格3万,壳10万。

这PVT2000看来又比较简单,试用一个月,到期就给个对话框提示不能运行,好像要一个序列号,绝影自己知道,就他现在这技术,要找到序列号或者做个注册机那这项目应该算得上是个大CASE。但很显然以陈董他们给他的时间,他们并没把他当做大CASE来看,所以管你白猫黑猫抓到老鼠就是好猫,只要让他能运行就好。

从这个MessageBox下手,下了断点往前翻应该在就附近,再把断点往前下一点,一步一步跟,代码他大多没看懂,遇到CALL跟进去转老半天也不知道它的意思,干脆把CALL全部忽略掉,遇到跳转就去修改一下试试,JL改JNL,JE改JNE,反正都说了7分靠运气,高手破解,多半是把程序看懂了,就算看不懂,也大致有点了解,所谓暴利破解,没有一点技术含量,说出去只有被同行耻笑。绝影自认为不是高手,全凭猜测也无妨,三四百行汇编代码,跳转也就那么几十个,一个一个去改来看看还不行?所以穷举法还是个很有意义的方法,至少对绝影来说很有意义。

说幸运总是垂青有准备的人,可是绝影一点准备也没有幸运居然垂青了他。就在他把那个JZ XXXXXXXX改成JNZ XXXXXXXX后,PTV2000居然顺利运行了。再试一次,又成功了,程序被断下来,连G命令也没下,赶紧手舞足蹈对燕儿说:“出来了出来了,破了!”喊完了,觉得不过瘾,马上给陈董打个手机,反而平静地说:“陈董,那个PVT2000,破解出来了。”

这次是陈董兴奋地喊道:“太好了!”

打完电话,记下那断点位置,新建一个文本文档:破解记录.txt,在上面写到:一、bpx messageboxa断下后F12找到地址XXXXXXXX。二、重新运行PTV.exe在XXXXXXXX处下断点,断下后将JZ XXXXXXXX修改为JNZ XXXXXXXX。

内存破解做完了,总得做个补丁,反正又没加壳,就做个文件补丁,到看雪论坛上去下载个CodeFusion,小心翼翼地将XXXXXXXX处的JZ改成JNZ。再写个Readme.txt,使用说明:将目录中pvt.exe拷贝到安装目录替换原文件。

做完这些,绝影把所有东西用WinRar打个包,拷贝到U盘中,觉得这次便万无一失了。



陈董收了绝影的U盘,笑得合不拢嘴,连声说:“小绝阿,真是从来没让我们失望过。”

接下来,BOSS Liu当然开始忙着做那个函数绘图,以他现在的技术,那东西根本难不到他不就是用GDI往DC上画曲线吗,MSDN上给你写得清清楚楚,你要是菜得连英文也看不懂,就到百度google上去搜,现成的代码多的是。

等BOSS Liu把东西做完,陈董交给了油田,满以为又有奖金可领,谁知人家装上软件就不能用急得陈董团团转:“不是破解了么?怎么还是盗版的运行不了。”

绝影想了老半天说:“对了,刚装上去,应该还是正版可以用,哪知道我把JZ换成了JNZ,反而变成了盗版。”

“那怎么办?”

“早知道当初应该直接改成JMP,要不我重新改一个给人家。”

“那不行,人家那边领导正参观呢。”

“要不这样,你让他现在先用原来的exe,等一个月时间到了变成盗版的了,再换成我的exe。”

“也只有这样了。”



最后验收通过,这个陈董所谓的“大CASE”的结果是绝影领了300元奖金,BOSS Liu领了100元。发了钱,陈董又去跑业务去了。



公司领导的分工很明确,陈董负责跑业务和石油项目,周总负责公司日常管理和医疗项目。早先周总就让绝影优化KIPACS代码准备跟他去安岳出差,结果计划被陈董的“大CASE”打破,没办法,就得乖乖等,等陈董的“大CASE”忙完,周总说:“小绝,PVT2000的工作到此为止,先放一放,去安岳的事情准备好了吗。”

本来人都有这样的心理:一个CASE做完不管多大多小,都想休息一下,其实做完CASE只是个借口,就是想多休息一下。本来绝影也想懒散一下,但考虑到跟周总去出差又不用绞尽脑汁去想办法贪污食宿费交通费还有100块出差补助,加上PVT2000的奖金,这个月又能至少拿1900大洋,他还是对周总说:“没问题,可以去了。”

跟周总去出差,是非常安逸的活,大事都有周总顶着,自己只需要帮他打打杂,在医院安装调试都比较顺利,就是医院要求标配的19寸CRT显示器换成17寸液晶显示器。其实这简直是扯淡,稍有常识的人都知道,对医学图像的显示,CRT显示器效果远远好于液晶显示器。但是稍有常识的人也都知道,对放射科的医生来说,影像工作站也都是扯淡,他们拿电脑来干啥?辅助诊断是小事,打游戏看电影也许才是正事。

周总一个电话打到公司,原本想让BOSS Liu去跟电脑公司谈一谈换显示器的事情,谁知道他竟然没在公司,现在正是下午三点,公司的人说小刘下班了。s



回到公司,BOSS Liu还是好好的,周总说:“小刘阿,你昨天下午怎么不在公司?”

“我有点事情。他们说可以下班了,我就先走了。”

听他这么说,周总来了火气,大家不都好好在工作吗?怎么会说下班了,你小刘凭空污人清白,也太不厚道了。于是严肃地说:“小刘阿,对你的技术我们没什么好说的,但是你这样做太没纪律性了。公司无法满足你这种自由的弹性工作制。我看你还是先回去反省一段时间吧。”

听他这么说,BOSS Liu大吃一惊,做得好好的,怎么说走人就走人,充其量就是旷工半天嘛,顶天了扣我两天工资。还说我不厚道,看来你周总才最不厚道。这么想,他说:“嗯,我知道你的意思了。”

“那你什么时候把寝室的钥匙交给我?”

“明天吧。”

BOSS Liu出了办公室,本来他借了绝影一本《数字图像处理》,说好借两周,现在他还给他,绝影很大方地说:“拿去看吧,看好了再还不迟。”

“不用了。我走了。”

“走了?不回来了?”

“嗯。”

听他这么说,绝影觉得他挺可怜的,等于是被周总炒了鱿鱼,周总也确实有点过分了。BOSS Liu平时也做得挺好,虽然老和自己斗,但一是一二是二技术和项目上绝对没有含糊的地方。

此刻BOSS Liu也觉得绝影挺可怜的,这么大一个公司――陈董描绘得很大――本来就只有两个人在写程序,现在走一个,不是只有他BOSS Jue一个人写了,以前资本家对两个人剩余价值的榨取现在转移到他一个人身上了,你说他多可怜。不过自己也觉得很郁闷,第一次失业,还是被老板炒鱿鱼。

回到寝室,BOSS Liu越想越不是滋味,立刻收拾好东西打个车到公司把钥匙交给周总,回头便走,周总忽然说:“小刘啊,以后如果你觉得自己不错了,我们随时欢迎你再回来。” BOSS Liu很想很生气的回答说:不用了。但是想了想,还是留点后路以防万一,所以还是假装很平静的回答:好的。



BOSS Liu离开了公司,绝影忽然觉得有点寂寞,晚上给燕儿打了个电话,没等他开口,燕儿说:“有个事情,我想你帮我想想办法?”

“大事?”
“嗯。”

《疯狂的程序员》33

问个“大事?”本来是绝影的客套话,其实不管是谁只要说跟绝影讲事情,他都去问个“大事?”一来表示自己已经作好准备听,二来表示自己对这事已经有了足够重视的准备,完全是出于礼貌。

自己客套起来,没想到燕儿却当真了。就像大家朋友几个客套起来,不免夸奖你老婆几句:“夫人真是漂亮阿。”你说:“哪里哪里。”本来也是句客套话,那人却当真起来:“全身上下,哪里都漂亮!”

绝影想一个女人家,在学校念书还能有屁点大的事情,于是大大咧咧说:“有什么事,尽管说,看看啥大事,还能难到我。”

“其实给你说也没多大用,我自己的事情,估计你也帮不了我什么。”

他这么说绝影急了。男人阿,就怕别人说这个这个事情你做不了,这个这个事情你帮不了忙。自己明明是忙得焦头烂额还要胸口拍得像大猩猩似的说:“有事您说话!”特别又是在自己女人面前,命可以不要,但脸不能丢,于是绝影忙说:“有啥事,说,我连PVT2000都能破解,看还有啥做不到的!”

“还不是找工作的事阿。这几天寝室都在讨论。我们英语专业的又不像你们出来好歹还算有个技术,找工作什么的也要容易得多。”

“啥叫学的技术?我跟你讲,我都是自己学的,想当年我天天在租的房子里写通宵程序,你又不理解,你忘了?现在大学,你以为还像以前真能学到东西?”

“就算编程是你自学的,但你以前自己说过你还能做手机,管你是不是吹牛的,总之就是你们的专业比我们好。”

燕儿这么说,绝影想起以前确实老跟她吹牛说自己能做手机。毕竟自己学的通信工程专业。别人问通信工程学些啥阿,绝影也说不上来什么数电模电单片机DSP电磁波C语言样样都来,学到后是门门懂样样瘟,自己都不知道到底学的啥,更别说给别人说,于是只好说:“通信工程嘛,就是造手机的。”这么说别人也倒容易理解。

但说到做手机,他心里知道自己的分量,不要说手机了,就是朋友让他帮忙焊个天线收卫星电视他都摆弄了半个月毫无进展,只好推说买不到材料做不出来。朋友问啥材料买不到,他也说不上来,依稀记得大一的时候教焊收音机,里面有个材料叫“中周”,于是还像模像样说买不到中周。可朋友说仍然死咬住不放说要什么型号的中周我去城隍庙给你买过来。没办法,绝影只好说:“那型号的比较特殊,我去看了,四川可能还没有卖的。谁叫你要收美国的台!”

见燕儿提起自己丑事,绝影忙让她打住,说:“那到也是,你们英语专业的就是恼火。你知道我英语为什么那么菜吗?关键是那玩艺实在太没用了。你想你英语学得再好能比得上美国一个种田的农民吗?你随便到加拿大美国去看下,一个四五岁的小娃娃都哇啦哇啦满嘴流利的英语。”

“那有什么办法?当初专业就是报的这个,如今都要毕业了,难道让我重新去念个大学?好了好了,知道你能干行了吧,你说我现在该怎么办呢?”

其实重新念个大学又有啥用,反正在大学念什么专业也不一定能学到多少东西。你想想,英语那东西,不过一个工具耳,有啥不懂的,直接去网上在线翻译一下,或者直接把金山词霸打开就行,特别是那些单词,明明字典上都有,还要一个一个去背,字典上有的东西为啥还背呢?那不成了背字典了,传出去还不被人耻笑。再说了,现在社会上不都流行装么?绝影正是利用了人们这样的心里,虽然自己英语菜一样在大家面前讲英语,反正他讲的啥大家又多半听不懂,听不懂就越觉得他讲的是高级英语。

“那你准备做哪方面的工作阿?”

“还没考虑好,现在情况都不好,我们班好多同学签了工作都是文员方面的,我也想先找个这方面的工作做着,先学点经验。”

“文员说起来就复杂了,小公司打杂你肯定又不愿意,大公司要的又是高级人员,人家英语动辄就是6级8级,还要求‘身量苗条,体格风骚’,多少多少年工作经验。”

“就是阿,所以说找工作难阿。”

“要不这样吧,反正你还暂时没找到工作,我跟周总他们说,让你先来我们公司实习着,还能有钱拿,这样咱不就成了丁克家庭了。”

“要是能去你们公司就太好了,反正陈董周总他们也是加拿大回来的,说不定以后还有机会。亲爱的,你真是太好了。”

“我又没钱又没权,再不对你好点,你能跟我?”

绝影给燕儿打完保票,又想起今天给燕儿打电话的目的,反而讨论“大事”用了这么长的时间,完全偏离了电话的主题。所以女人就是比较容易大惊小怪,不就是找工作么?屁点大个事情,想当初自己同学还在参加招聘的时候咱就已经是面试人员去学校招聘人了,尿还能把活人憋死?工作还能把活人难死?关键是你刚毕业第一份工作应该报着什么样的态度?就是学点经验长点见识用功一点学点实用的技术。怕就怕那些人一上来就是:公司有多大阿?有多少人阿?薪水多少阿?――更牛B一点的直接问年薪多少阿?――管吃管住吗?保险买多少?

他失落地对燕儿说:“唉,今天BOSS Liu离开公司了,让周总炒了鱿鱼。”

“所以你也是,不要以为自己能写点程序就多不得了,现在能写程序的人多的是,你不来写程序,有的是人排着队来写;你这个公司不去做这个项目,有的是公司排着队来做。”

“那到不是。毕竟跟BOSS Liu一同进退,还是战斗了这么久了。我阿,还是有点军人情节……”

挂了电话,绝影又开始犯起愁来,该怎么跟周总他们说燕儿工作的事情呢?



陈董又风尘仆仆地回到公司,虽然脸上依稀还有点倦意,但看得出来这次出去还是很成功的。走进公司,他第一件事是拍着绝影的肩说:“小绝阿,多帮帮周总。小刘走了,以后公司就靠你了。”

后来陈董又滔滔不绝讲了老半天,讲这次PVT2000现场客户很满意,讲今年公司在石油方面保持了去年的发展势头,医疗方面也慢慢开始走上正轨,讲BOSS Liu无视公司纪律擅自离开岗位,而且还是在周总出差的时候,情节特别恶劣。他讲的绝影一也没怎么听进去,一心想着燕儿托付的事情,本来想插话进去,想想还是算了,这个事情,还是在公司之外说比较好。

按惯例,每次陈董回来,总会和周总绝影一起用晚餐,公司其它员工是没资格去的,不是没资格,是陈董根本就不跟他们说。由此可见公司高层对绝影的重视程度,也正因为这样,绝影有时候也迷迷糊糊地真把己也当成了公司高层,一般人说:“我们公司,怎么怎么怎么……”有点自豪的感觉。绝影说:“我公司,怎么怎么怎么……”好像那公司就是他开的。

这次心里有事,出门前绝影主动说:“陈董,今天就让我来买单吧,以前总是你们请我吃饭,次数太多了,我自己都不好意思,以前嘛还在公司实习,现在也转正了工资也不低,这么久一来你们对我特别关照,请你们吃顿饭也是情理之中的事情。”

陈董哪里知道绝影心中的算盘,满口夸绝影成长了阿,懂事了阿。

吃饭的时候,绝影极力劝两位老总喝点酒,说一年下来做几个CASE也不容易,好歹大家辛辛苦苦一年下来还是有了一点小小的收获,陈董回来一趟又不容易,是时候稍微放松一下。

喝了点酒,陈董来了兴致,又开始给绝影描述公司未来的宏图大业,说公司要发展,要壮大,要招人,要不断补充新鲜血液。讲到这,绝影不失时机地插入燕儿工作的话题,生怕陈董一口拒绝自己的脸可就丢大了。

没想到陈董反而大方地说:“小绝阿,你是公司的重要员工,你的问题,当然就是我和周总的问题,这事情别说你跟我说了,就是你不说,我倒要主动要请小龚到公司里来。让你们小俩口在一起工作,方便。回头咱们就来详细落实一下她来公司的事情。小绝阿,你不要觉得我今天喝多了,话有点多,我跟你讲,我确实有点醉了。”

听他这么说,绝影心里的一块石头算是落地了,又后悔起来:早知道这事情他会主动安排,猪才花这么多钱请领导吃饭还喝这么好的酒,按照BOSS Liu的观点,自己这个成本核算做得实在是太失败了。

其实地球人都知道,喝醉了的人往往说自己没醉,反而没醉的人却一个劲说自己醉了不能喝了。陈董心里打的算盘绝影根本不知道。正如他所说,公司要发展壮大,不做CASE壮大个屁,没人写程序做个屁的CASE,这样推理下来,加上BOSS Liu又离开了公司,两人的关系领导还是心知肚明,要是绝影也跟他跑了,这公司还搞个屁,总不能让燕儿来公司写程序。

所以资本家确实有值得我们学习的地方:一、可以招个文员进来,应付公司打杂的琐情;二、本科刚毕业,工资不用开很高;三、可以和绝影安排在一个宿舍,节省了公司开销;四、最关键的,还让绝影觉得自己像欠了他好大一个人请,以后就得巴心巴干跟着他干。此乃三十六计中借刀杀人的最高境界――借了别人刀,把别人杀了,还让别人掉下的头给自己说声:谢谢。



回到宿舍,绝影马上给燕儿打了个电话,平静地告诉她她托付的事情已经顺利解决,燕儿在电话那头激动万分,与绝影的平静形成鲜明对比。

绝影刚放下电话,“电蛐蛐”又叫了起来,到现在,那“电蛐蛐”由于超期服役再加上年久失修,声音听起来已经没有原来那样清脆。

电话是BOSS Liu打来的,绝影拿起电话说:“我正要给你打电话呢。”

“哪里哪里,还劳烦BOSS亲自给我打电话。我这次是专程来给BOSS汇报工作的。”

“少来抬扛了,最近这么样阿?工作落实了吗?”

“BOSS你也是明白人,你晓得,干咱们这行的,混了点经验了,哪里有你去落实工作的,都是工作来落实你。此地不留爷,自有留爷处,啥简历阿,学历阿,都是瞎扯淡的,你直接把你写了几年程序,做了些啥CASE写进去,别人不招你才怪,哪像那些大学生,什么‘熟练Office办公软件’都还写到简历里去。”

“哦,哦。你对,你有道理。新工作不错吧。”

“工作要是不行,我咋好意思给BOSS汇报呢?我现在到成都了,这边公司给海事局搞船舶GPS,有几个人貌似还很牛,搞过神舟五号的,正儿八经是放卫星的。”

“还神舟五号呢,给我一个亿,我给你搞个神舟十号!”

“BOSS,我给你说正经的,你要不要过来我们公司,待遇比周总那边好多了,管吃管住3K,以后还能涨。老总问我有没有什么人才可以推荐,我首先就想到你。”

听他这么说,绝影有点心动,觉得多感动,毕竟自己还是挺惦记BOSS Liu,难得BOSS Liu也有惦记自己这份心,两人在一起时间虽然不长,但相处还很好,至少不像某些公司里面为了那么几百千把块钱的奖金去费尽心机勾心斗角。那管吃管住3K对他来说也是极的诱惑,3K阿,自己在公司拼了老命最多一个月才拿到2K。

再说了, BOSS Liu说:写程序,不是一个人的运动。可自己现在在公司就比如一个人踢足球,踢不赢别人不说自己踢着还很没劲。踢足球还得找好球队,队员水平不用说,至少要能默契能打点配合,自己水平要是高点,起码也得去个英超意甲,你要是在国内踢超级联赛,几年下来自己一身好武功反而都给废了。

想到这,绝影热血澎湃对BOSS Liu说:“BOSS这次可要感谢你的关照了,回头我想办法给周总他们说一声,那边就麻烦你帮忙关照一下。”

“那是肯定的嘿嘿,我在老总面前都把你吹上天了,老总现在就怕你不来,说工资的事情还可以商量。”



放下电话,绝影在床上翻来覆去一夜没睡,第二天一早打个电话给BOSS Liu说:“我想了一夜,还是不来你们公司了。”

《疯狂的程序员》34
BOSS Liu吃了一惊,问:“昨天不是说得好好的吗?今天怎么又不来了?”

“我考虑了一下,我刚让陈董帮忙把燕儿工作落实了,马上就走人,实在太不人道了,传出去肯定会被人笑。”

“BOSS不对阿,这不是你的作风阿。你想就算陈董把你老婆弄到他公司去,充其量就千儿八百一个月,你自己还受制于人,你老婆还要受人鄙视。你现在直接跳槽过来,两边工资的差价早就弥补了你老婆工资上的损失。”

“算了。特别是现在你走了,你也知道公司能写程序的就剩下我一个人,我不是那种人。这个事情以后就不要再提了。让周总他们知道不好。”

“BOSS你这不是把我整惨了阿。昨天晚上听你说要去,我马上又给老总打了个电话,老总又把我夸奖一翻。你看我都把你吹到天上去了。你要是过来,前途肯定是大大的,退比你现在待遇好,进还可以谋求更大的发展。你现在又说不来了,让我怎么去向上头交待?”

“我晓得我晓得,这次我是把你整惨了,下次你整回来。我这次是真的走不掉了,都是人家的人了。BOSS,前途还是留着你自己用,好好把握吧。这次实在对不起了。”

“算了。怪就怪我吹牛吹早了。唉,BOSS你要记住教训,吹牛害死人呐。”

放下电话,绝影暗自得意,那千把块钱工资差价算个啥?公司没人写程序算个啥?帮燕儿落实工作这个人情算个啥,关键是你BOSS Liu比我先去那公司,那你就是我前辈,永远都是我前辈,永远都可以压着我。给我升职,你就得先升职,给我加薪,你就得新加薪。就像搞传销一样,管我做到一个月三五十万,只要你是我上线,你赚钱就比我多。赚钱都是小事,关键是我绝影不能在别人下面做事,特别是在一个技术不比自己高的人下面做事,宁做鸡头,不做凤尾。



来到公司,陈董和周总早就坐在办公室里,看看BOSS Liu走后空下的位置,绝影不免有些自责,想起BOSS Liu平时待自己也不薄,昨天晚上一时欠考虑答应了他估计现在他正想办法给领导交待。他那位置本来就有点背,但是过不了多久还是会有人来坐,正如燕儿说的:“这程序你不去写,有的是人来写;这项目你公司不坐,有的是公司来做。”进来资本家的公司,你就永远不要指望自己能把这个位置坐稳了。

本来最近公司里也没啥事好做,绝影发了半个小时呆,陈董忽然叫他进办公室。办公室里除了陈董和周总,还有一个女人,四十岁上下,个子很矮,小时候绝影妈妈说:“矮子多做怪。”所以绝影一直对矮个子特别有成见。陈董用地道的北京腔介绍道:“小绝阿,这是公司新来的会计,侯老师。”

出于礼貌,绝影还是和她握握手,心想不就是一个会计吗,还老师老师的,说我一个软件设计师,拿出去至少也是个中级职称――工程师,称呼我一句绝影老师尤不失下曹从事,那会计,顶天了一个注册会计师,还能有多大能耐?会计还能下蛋?还能教出一大群会计?

侯老师却对着绝影做了一个很专业的微笑,说:“你好你好,以后工作上还请多关照。”绝影听了,反而茫然不知所措。

两人寒暄一阵,拉拉扯扯说了些无关紧要的话,没话找话,绝影感觉非常痛苦,侯老师同样感觉非常痛苦,只是陈董在一旁不断说:“嗯,对,工作上的事情,你们俩多聊聊,多沟通沟通。”他这么说,绝影就想抽他,你想作为一个程序员,跟一个连C语言是哪国语言都不知道的人在一起聊工作,还能能聊出个什么?

平时周总催项目像催命似的,总说:“小绝阿,加紧点阿,前紧后松前紧后松。”其实他自己最知道,哪里有前紧后松的,前面你要是紧了,后面多出的时间还得干其它的,就是前紧后也紧。有了经验,你就知道该怎么做,要么前松后紧,要么前松后也松,休息完全是自找的,你永远不要指望资本家会主动对你说:“小绝阿,工作挺累的,多休息休息,今天就别上班了,玩游戏吧。”今天陈董放了大把大把时间让绝影和会计聊天,周总竟然像没看见,坐在那里居然一直一言不发。

等陈董觉得差不多了,这才缓缓地说:“小绝阿,今天让你进来,公司还要个重要决定要跟你宣布,你到公司这么久了,做出的成绩我和周总也一直看在眼里,经过我们董事会研究,决定从下个月开始给你加薪300,希望你继续努力,只要你努力,我们就会看在眼里的。另外,加薪这个事情,暂时只针对你,先不要跟别人说。”

本来陈董期待着这个消息能给绝影带来一点震撼效果,没想到绝影并不买账,只是平静地回了一句:“嗯,我知道了。我会继续努力的。”

其实不就是加薪300吗?屁点大个事情还“董事会研究决定”。就算是“董事会研究决定”吧,那董事会还不就你和周总两个人开的,又想到上次陈董说的芝麻大个大CASE,气不打一处来,最烦的就是他这种拿鸡毛当令箭的脾气。再说了,BOSS Liu也离开了公司,本来以前可以两个人做的工作现在全得我一个人来做,你要加薪,也得把以前BOSS Liu那份全部算到我头上,至少也要算二分之一吧,搞到现在才加薪300,这买卖还不是公司赚了。

所以资本主义从尼德兰革命发展到现在已经是相当成熟了,资本家对工人的剥削是越来越隐蔽,表面上看起来你还占了便宜,其实更大的便宜早让他们赚去了,坏就坏在大部分人根本就不知道,要不物产阶级早就在世界范围内把资产阶级打垮了。

办公室里沉默了一阵,周总觉得气氛有点不对头,才抬起头来说:“小绝阿,成都那边还有个公司也要装个KIPACS,就在近期过去。你看看还有什么补充的工作要做没有,没有的话就把东西装备一下,特别要注意一些细节方面的,虽然这次CASE比较小,但有另外几家医院来参观,面子工程,对推广我们公司的产品还是很重要的。陈董也和我们一起过去。”

绝影接到了命令,想终于可以脱离跟会计聊天的苦海了,忙说:“好,好,没事我先出去准备了。”



KIPACS的安装绝影已经重复了很多次,这次的CASE是轻车熟路,加上陈董添油加醋对软件功能的描述,其他几个医院对KIPACS是佩服得五体投地,当即表示了购买意向。回到宾馆,陈董拍着绝影的肩说:“小绝阿,看到了吧,做产品不仅仅需要技术。做成功的产品更不仅仅只需要技术。”

绝影若有所思地点点头,他深刻的体会到,这个KIPACS到后期基本全由他一个人负责,这里面有些什么技术含量他最清楚,可最后KIPACS安装出去,或者给别人演示,别人在对它赞叹的时候有几个人会想到陈董背后的这个小伙子?

看到绝影的认同,陈董又来了劲,说:“反正都来了成都,我也很久没来了,这边我还有个很好的朋友钟工,以前在GE工作,想约出来见个面聊几句,绝影你也和我们一块去吧,你们都是年轻人,聊得来。”

绝影本想拒绝,想自己一个搞技术的,从学校出来就呆在公司,每天就和电脑、代码、BOSS Liu、周总打交道,说实话有点怕生,再想起那天和会计无聊的谈话,心中又恐怖起来。但是陈董又盛情难却,毕竟他还是董事长,就算牺牲一下自己,满足他的虚荣心,于是勉强应承下来。

几个人约在一家茶馆见面,成都街上什么最多?就美女和茶馆最多。工作、谈生意、吹牛、打牌、泡妞这些事情都可以放在茶馆进行,当然,为了适应不同的需要,茶馆也就有些变种,有些偏重打牌,于是机麻一套一套的,反而茶水成了次要。有些偏重泡妞,便一间一间隔开,点上个蜡烛,弄得不伦不类。有些偏重工作,于是小吃阿无线网络应有尽有。有些偏重谈生意,于是加上西餐阿工夫茶之类的中西结合。

钟工和他一个朋友一起来,初看上去,绝影并不觉得他有多么年轻神奇,怎么会被陈董如此推崇。整个聊天过程果然如绝影所预料,除了刚见面的互相介绍,绝影就只能一个人坐在那吃牛肉干喝茶,算是真正的喝茶。陈董跟钟工谈得滔滔不绝,从钟工的辞职谈到GE公司的现状,谈到现在医疗设备的利润、市场和售后服务,根本没有想过要扯点话题给绝影一点发挥的余地。这些问题他都不大关心,自己是个写程序的,用BOSS Liu的话说,写程序的,走到哪里都是写程序,走到哪里写到哪里。如今在公司做医疗,说不定明天就出去做GPS,做游戏。

两个小时终于熬了过去,天已经全黑了。钟工站起来说:“走吧,我送你们。”绝影跟着他们走在最后,几个人上了钟工的车。

这是辆黑色的本田车,因为前面有个大大的“H”,说成“本田”是他的习惯。如果是周总,他会说“Honda”,他是从加拿大回来的。如果是陈董,他会说“ホンダ”,他是从日本回来的。

绝影事先并不知道钟工有车,现在来看,他的确很年轻,大部分男人在他这样的年纪还正做着车房的梦想。

成都的绕城高速修得很好,车跑在上面异常平静平稳,打开前照灯,车里的仪表都亮起来,打开天窗,凉风从车顶嗖嗖地灌进车。绝影望着窗外,想起初中的一个大年初一和朋友一起出去玩,到凌晨两点大街上一辆车也没有,几个人唱着歌,大模大样地像汽车一样走在马路正中间,从火锅店走到家,这是他第一次走马路的正中间,马路真的很宽敞平坦。他想像着,自己什么时候能驾着车,正儿八经地从马路中间走过,应该驾驶一辆什么车从这条路成都绕城高速上驶过。现在说什么谈恋爱散步就“压马路”,如果真的能够压着马路谈恋爱,是一件多么幸福的事情。



回到公司,陈董问:“怎么样,觉得钟工怎么样?”

“听你们谈话,觉得他真是个不错的人。我喜欢他那辆车。”

“一辆本田车算什么?现这样的车在路上多的是。”

“那是不算什么,但如果是自己的,一辆就够了。陈董,那车多少钱呢?”

“也就二十多万吧。不值钱。”

“嗯。就算二十万也很了不起了。”

“是阿,他本来在GE工作,也算很不错了,后来硬是辞职自己来做,做医疗器械的维修。我们这儿好几家医院的维护都是他在做。一年四季到处跑,还是很辛苦,很不容易阿。”陈董说完顿了顿,仿佛又回忆起自己当年的辛苦和不容易,过了一会,才又说:“小绝阿,知道这次为什么让你和我们一起去见钟工吗?”

“不知道。”

“我想了很久,很多事情终归还是要你们年轻人去做。我是老了,以后很多事情都不可能亲力亲为,这次有个事,我想让你独自去做。”



《疯狂的程序员》35
本来绝影就对陈董说的话不抱什么太大的希望,感觉他总是夸夸其谈,而且会把芝麻小个事情描述得西瓜那么大,所谓希望越大失望越大,久而久之绝影便学会了:若要不失望,就不要抱希望。

陈董还不知道绝影竟然是这样想的,他要是知道了,还不把他气死,人都是这样,你跟别人说什么,特别是你自己觉得很有意义很重大的事情,总希望别人也认为这事很有意义很重大。很多领导讲话,讲到自认为重点的地方,总是习惯停下来,留几秒钟等待掌声。如果该到掌声没有掌声,次数多了自己也就觉得没有意思,或者认为下面听讲的人层次太低,还没领会到讲话的精神。所以一般领导的秘书深喑此道,总是在讲稿某段话后面打个括号标注:此处可能有掌声,略微停顿二三秒。

他呷了口茶,缓缓地说:“公司必须要发展,市场规律如此,逆水行舟,不进则退。现在正是公司非常紧迫的时候,我们还需要大量的程序员。项目我来拿,如果拿不到项目,小绝你们可以骂我。但我拿到项目了也要人做,你一个人是远远不够的。所以我们还要招人,还要大量招人。我和周总商量了,小绝你在公司呆了这么久,技术上我们觉得你没有任何问题,而且希望你以后能在技术上负起主要责任。所以我想这次让你来独自负责一次招聘的事情,我和周总都还有自己的事情,很难兼顾,希望你能把它做好。”

陈董说完,绝影心中一惊,他万万没想到陈董会把这个事情交给他单独来办。在他心中,陈董办事一向相当谨慎,凡是稍微关乎公司的事情他和周总一定亲力亲为,正因为这样,很多时候他觉得他们反而不像老板,一个老板,居然自己亲自计算员工的工资并且亲自发到员工手上,那也太没有老板的气质了。

一个女人,如果在一群男人面前不拘小节,那说明她为人放荡邋遢,但是如果她只在一个男人面前不拘小节,那只能说明她对这个男人完全信任,换句话说:在她心里,她就是他的人了。在公司也一样,如果领导把一些重要的事情交给员工去做,那说明这个公司管理制度太不健全,领导太粗糙,但是如果领导把一些重要的事情只交给一个员工去做,那只能说明领导对这个员工是完全信任。

绝影明白这个道理,所以他心中一阵暗喜。写程序算什么?说实话,在公司写的程序能有多难?如果真的要说难,那只是说给用户听的,程序员心中自己知道有几斤几两。公司的程序需要多高的技术水平?不需要,也就是说,只要给他足够的时间,公司程序上的问题他都是有把握解决的。

但是不光是程序员,对所有员工来说,在一个公司应该怎样发展,这本身就是一个问题。从到公司的第一天,绝影就告诉自己不能在公司写一辈子程序,至少不能在公司一辈子只写程序,技术总是要进步的,新人总会出来取代旧人。你要保持自己的技术不落后不被淘汰,你就得不断地和新人竞争,不断地去学习,新人们刚毕业,对他们来说除了工作的时间都可以拿来学习,但是老一辈不一样,你要结婚,有老婆有家有孩子,客观因素决定你不可能有他们那么多时间。

想起BOSS Liu热衷于中国象棋,而绝影自己更喜欢国际象棋,这两种棋本身就体现了中西方文化差异。中国象棋和国际象棋最大的两点区别是:中国象棋中老王永远都只在自己的城中,运筹于帷幄,国际象棋残局中,老王反而是战斗的主力;中国象棋中兵永远是兵,从你一生下来就是兵,等你拱到对方的底线,你就失去了你所有的价值,国际象棋中,只要兵能够成功冲到对方底线,甚至就可以变成后,正是拿破仑说的:不想当元帅的兵不是好兵。

陈董说完,大家沉默了几秒,绝影平静地说:“没问题,我会好好去落实的。”

听他这么说,陈董点点头,说:“既然让你去做,就要给你权利,我和周总商量了,先让你做技术主管,之后凡是新招聘进来的程序员,都由你负责,包括现在的小张,呆会我会把这个事情告诉他。”

听到这个决定,绝影心中异常兴奋,好几年之后,绝影和BOSS Liu混成了老油条,总有以前的小弟打电话来报告他们:“影哥,刘哥,我现在在公司升职了,做了XXXX。”他们总会马上问:“加薪了吗?”

“没加。”

“没加说个P啊。这个世界,薪水才是王道,那个什么什么职位公司多的是,只要老板高兴,今天给你一个明天给你一个,甚至随便一个跑销售的推销员,名片上都印的‘业务经理’。小伙子啊,你还高兴呢!太没经验了啊!”

不过当时毕竟还是绝影第一次升职,所以他还是像小弟一样高兴得不亦乐乎。出了办公室,他马上给燕儿打了个电话。

原以为燕儿也会为他高兴,没料到燕儿也只是很平静似乎不经意地问了句:“加薪了吗?”

一句话又说到绝影的硬伤,他只好支支吾吾地说:“薪水嘛,按理应该是在年底才加薪的。今年应该会加吧。”

“我马上就放假了,可以来公司工作了。还不知道陈董他们给我开多少工资呢。”

“回头我帮你问下,他们的意思是你现在还没毕业,所以是实习,估计和我当初实习差不多。”

“那他们也太扣了,现在随便出去问哪家公司,250块钱的工资人家都拿不出手,亏他们还说得像模像样的。”

“算了,反正抱着混点经验的态度去嘛。”

燕儿的表现和他预料的不一样,这让绝影非常失望。



暑假的第二天,燕儿便来公司正式报道。陈董说:“现在公司条件好了,250块钱的实习补助就不再实行了,以后一律涨到300。”

燕儿的工作不难,但是杂,杂到除了写程序和老总们必须亲自做的工作,其他的都需要燕儿去做。又是打扫卫生又是接待访客又是写材料又是跑国税地税又是做汇报。要是换到现在,员工们的办法多得很。工作多,工作杂,工资低是不是?工资低我们就联合起来集体搞罢工,你公司就两个老总总不可能事无巨细都去处理,更不要指望能让下面这帮搞技术的人去给你报税――他们连去国税局坐几路车都不知道。你说不加薪是不是?不加薪我就跳槽,反正我啥事都在做,对你公司是知根知底,我一跳跳到其他公司,你公司不养我我就做你竞争对手,看我一招一招尽往你软肋上打。

可是那个时候人就是老实啊,人善被人欺,燕儿自己一天到晚累得要死也只能回家跟绝影发发牢骚,两个人对着空气把老总骂得狗血淋头,第二天还是得把闹钟调到七点半按时去上班。

周总让燕儿把公司招聘广告拟好发到学校社区上去,效果还真不错,第一天绝影就收了十几封简历。简历看多了,绝影也看出一点门道:你说公司招VC++程序员,再怎么简历上也应该出现VC++啊,MFC啊,SDK啊之类的,要是连这几个关键字都没出现,那多半基础太差,也就是尚停留在TurboC的基础上,这样的人你就不要对他抱多大期望,招聘这个事情,对周总他们来说没什么大不了的,对绝影来说可就大了,招进来的人总要能够帮自己分担一部分工作,要是真招上几个抱这“学习”目的进公司的人,自己不但工作上要累,教他们更要累。所以家庭联产承包责任制就是好啊,凡事都要跟自己的利益挂上钩,做起来才积极才有效率才能严格把关才能做得好。

几天下来,绝影精心筛选了七八个简历,让燕儿一一打电话通知他们来公司面试,本来应聘的都是大学生,外地的多,再加上公司的位置又确实不好找,燕儿一次一次不厌其烦地跟他们讲从学校出来坐几路车,做到哪里哪里哪一站又转几路车,到终点又怎么怎么走。毕竟是面试的学生,大家态度都比较好,只是一个牛人竟然直接问:“自己开车怎么走?”问得燕儿竟一时语塞不知如何回答。

大学生们陆陆续续来到公司,绝影按照事先的计划一一问了他们一些问题。这和很多大公司面试不一样,大公司面试大多是专业人事人员,出的题都比较有水平,但正因为他们是专业人事人员,招技术人员就是外行面试内行,结果往往是把那些有面试经验技术一般的人招进了公司却错过了真正的技术高手。绝影和他们不一样,他不会出什么题,干脆就出些跟技术本身相关的题,他说他懂Platform SDK,就问他取窗口标题用什么函数,要是这个问题都答不出来,再简单一点,GetWindowText函数有什么作用,要是连这都不知道,那就直接让他走人。

两个小时的面试下来,七八个人中竟然只剩下三个,再上机做到链表的程序填空踢,居然又淘汰两个。也不知道这群学生是抱着什么态度来参加面试的。其实对他们来说也很简单,大学还没毕业,你要说在学校学到什么,其实也没学什么,就算学到了,真正又有几家公司能对上口?反正现在招聘信息也是满天飞,于是便广泛撒网重点培养,管他会不会,去面试了再说,如果面试不上,再等另外一家,如果上了,再进公司去学,其实自己本来是不会的,进去学了,便也就会了。

这次招聘的结果还是让绝影感觉到BOSS Liu的离开对公司来说是个很大的损失,这群大学生的水平和BOSS Liu的水平比起来差远了。什么真本事没有,回答起面试问题来却头头是道。遇到答不上来的问题便顾左右而言他,打起哈哈;运气好一个问题正中下怀便添油加醋东拉西扯借题发挥。

那剩下的一个人叫小王,绝影对他印象也相当不错,如果他自己说的水平属实,绝影觉得他应该可以培养成第二个BOSS Liu。他自己说他对MFC相当熟悉,几个简单的问题也马马虎虎回答了上来,好像确实还懂MFC,想起自己刚进公司对MFC一窍不通,后来还不是到了这个水平。绝影便给他一周时间,还是让他做个读写注册表的Demo,想当年自己也是靠这个读写注册表的Demo取得公司信任,终于一步一步做到技术主管这个位置。

本来绝影还是对下面的人非常信任,既然你自己接任务的时候胸口拍得比大猩猩还响,那你肯定表示你有把握,既然你自己有把握,我就应该让你自己充分去发挥。周总却不这样认为,他总趁没人的时候对绝影说:“小王啊,任务布置下去你还是要盯紧点,不能让他闲着。”

一周下来,绝影想那Demo应该也做得差不多了,但小王也没来汇报,便忍不住问:“小王啊,读写注册表的做出来了吗?”

“还没有。快了。”

“一周了,还没做出来,遇到什么问题了吗?”

“是有点问题……”

“那让我看看。”

绝影走过去,小王极不情愿地把他建立的工程打开,工程还是做得像模像样,小王在旁边说:“就是不知道怎么回事,编译不过。”

绝影编译一下,VC6的Output窗口显示:error C2065: ‘Cstring’ : undeclared identifier。就这么一个错误,双击上去看,那一行的代码是:Cstring str;。

很显然是把“CString”写成了“Cstring”。绝影气不打一处来,指着上面问:“‘Cstring’是什么?”

小王战战兢兢地回答:“字符串处理类。”

“MFC中字符串处理类是这个吗?”

小王用手摸着头,看着绝影,似懂非懂地摇摇头。

“我再问你,MFC中字符串处理类是什么?”

再摇摇头。

绝影起身,走进周总办公室,周总问:“怎么样?”

绝影摇摇头:“不行。”

“你让他进来。”



周总再让绝影进办公室的时候,对他说:“小王的工资我已经跟他结算了。你送他出去一下吧。”

绝影把小王送到电梯,所:“回去再好好学习一下吧,你觉得可以了,再跟我联系。”

小王很尴尬的点点头。

回到公司,绝影忽然感觉很失落,想起小王说的自己对MFC很精通,更有一种被骗的感觉。他对燕儿说:“周总让小王回去了。”

燕儿抬起头说:“周总也真是,应该等到下班,大家一起走。”
正说着,周总走出办公室向大家招招手,说:“大家先把手头工作放一放,进来开个会。”

《疯狂的程序员》36
一干人各自收拾了自己的东西来到周总办公室,燕儿还没在公司开过会,特别谨慎,专门备了笔记本和笔。

周总的桌子上乱糟糟地摆满了资料,烟灰被风从烟缸里吹出来飘得满地都是。他耸耸鼻子慢吞吞地说:“半年下来,我们到好几家医院做了CASE,总体情况还不错,客户对我们的印象很好。现在看来时机算是成熟了,我们不能总搞KIPACS这样的小CASE,没多少技术含量,总是被动挨打。小绝,小张,这段时间,你们也积累了一些技术,按照陈董的长远发展方针,是时候搞点自主知识产权的大东西了。你们意见如何呢?”

不等燕儿和张厂长反应过来,绝影抢先说道:“嗯。我觉得周总您这个决定十分正确。现在KIPACS做得多了,的确感觉这里面没多少技术含量,而且产品单一,公司毕竟是要发展的,总这这个东西也不是办法。”

绝影抢着说,是因为周总说的一直以来也是他心中的想法。现在随便一个七八岁的小孩,问他长大了要干啥,他都说:“要做大公司,做什么都不重要,但一定要大,大鱼吃小鱼,小鱼吃虾米。”绝影没周总那么高瞻远瞩,在他来看,KIPACS已经开发得差不多,老是把代码搞来搞去小修小改,或者把if/else换成“?”运算符实在提不起他写程序的兴趣。程序员,一定要做大程序,做什么都不重要,但一定要大,写了几年程序,别人问你做了些什么,你要说就做翻来覆去改了几年KIPACS,自己都不好意思。

周总点点头,说:“小绝说得很对。咱们公司的目标就是以PACS作为发展方向,但严格的说KIPACS并不是真正的PACS。下一步我想做的就是自己真正的PACS。之前由于公司的发展方向还没确定,这个事情也就一直没提上来,半年项目做下来,公司算是解决了温饱问题,也暂时闲下来,现在我们就要看长远一点了。小绝,你觉得现在来做PACS怎么样?”

绝影犹豫地点点头说:“行到是行,不过到目前为止,我对PACS还一窍不通啊。”

“这个不要你操心,PACS我和陈董之前已经搞过好多年,对这个基本上有所了解,这段时间我又调研了一下,搜集了很多资料。让你做,我当然会把一些东西教给你。”

“那应该没问题。只要您布置下来。”

“好,我先说说我的想法。PACS是基于DICOM标准的,现在要我们自己实现对DICOM的支持是不可能的。绝影你以前做过毕业设计,DICOM标准你可能大概看了一下,那东西太复杂,让专家们去搞吧。以我们的实际情况,我们应该尽可能利用现有资源。有个DCMTK的开发包提供了对DICOM标准的支持,但这个开发包我看了一下也比较复杂,主要是C风格,未来的开发方向现在还无法精确的预期,但我认为我们至少要有个自己的开发平台提供对DICOM的支持,所以我建议我们在这个开发包上先做点工作,我们就可以直接在这个基础上做DICOM图像处理方面的应用,当然,以后我们可能会扩展到DICOM传输、归档、打印、成像这些方面,但图像处理要最先做,可以直接先用到KIPACS中。现在KIPACS中图像处理并不是基于DICOM,太不专业了。你们明白我的意思吗?”

周总滔滔不绝讲了半天,听得张厂长和燕儿找不着东南西北。他们能明白什么?这时候,也只有绝影若有所思地点点头。

见绝影点头,周总释然地收:“好,好。小绝啊,这个CASE是个长期项目,就像炒股一样,我们这次是长线,事实证明,股市里面赚钱的总是长线操作的人啊。现在你既然已经是技术主管了,这个项目就由你去负责。DCMTK我已经放到共享里面,你先去看一看,有什么不明白的就来问我,还需要些什么支持直接跟我讲,我会尽可能提供条件。你先去把计划做出来,觉得准备得差不多了可以开工了,就告诉我。”

绝影坚定地点点头,仿佛终于接到了维护世界和平的大任务。



出了办公室,张厂长对绝影说:“周总等于是跟你一个人开会。我还是去忙我的了。”

燕儿谨慎的神情从开会一直持续到现在,绝影走过去,问:“怎么样?记了些什么?”

“什么也没记。”

公司里就绝影一个人心情激动,热血澎湃,什么DCMTK他也顾不上去看,反正迟早都会去看的,现在要紧的是先把计划做出来,CASE先上线,其它的问题是车到山前必有路,到时候再想办法解决。

其实周总开会时一边讲,绝影就在一边想,他那个思想,绝影很容易理解,毕竟以前搞KmdKit的时候接触过一些驱动方面的开发。那驱动也是分这样层那样层,上层通过调用下层提供的接口来实现某些功能。这办法就是好,只要好好把下面这层写好了,就不用变了,以后要用,直接在这个基础上往上开发,改一改,实现这个功能,再改一改,又实现那个功能,要是像以前DOS时代那样每个品牌的打印机都去设计一套直接操作硬件的驱动,那还不把程序员累死。

花了半天的时间,绝影终于在Word上把自己想的层次图画好,他迫不及待地拿给周总,说:“周总,我计划好了,你说的是不是分层设计的思想?我的想法是我们把系统分层三层,最上层是应用程序,包括图像处理啊、归档啊这些,中间一层就是我们要开发的,针对不同的应用,分成不同的模块,比如管图像处理的,管归档的,最下面一层就是DCMTK。现在我们要做的,就是开发中间这一层。”怕周总不明白,他又在黑板上边讲边画,讲到重点,便在上面标记一下,或者打上箭头,不一会,画的层次图便被他涂改得面目全非。

周总一边思考一边点点头:“很好,很好。这就是我的想法。你说的中间这一层上很重要的,首先直接用DCMTK开发应用太烦琐,如果我们有中间层支持,再按照你的思想分成模块,那以后开发应用就如同搭积木一般简单了。你的想法很好,我完全同意。”

听到周总的表扬,绝影更来了劲:“我想就想API或者驱动一样,我们这一层设计好统一的接口,把它写好,以后就不用改了,要什么功能我们直接调用就好了,应用程序的开发绕过了DCMTK,要方便得多,直观得多。”

“嗯。没问题。你觉得行就准备开始干吧!”

“那这个CASE叫什么名字呢?”

“就叫DAP吧,之前就想好了,DICOM Application Platform,DICOM应用平台。所以这是个平台性的项目,长期的项目啊。现在你说到分模块设计的思想,我想根据DICOM的内容,我们初步分一下,至少要有图像处理模块、传输模块、查询模块、归档和打印模块。现在想到的就这么多。先做图像处理的部分,我看这个模块就叫DcmImage吧。小绝啊,你要尽力去做,还有什么问题吗?尽管提出来。”

听周总说DICOM Application Platform,绝影觉得有点好笑,现在啥东西管他芝麻绿豆大都爱冠个Platform的大名,QQ里面的TXPlatform就是证明。大概就是受微软Platform SDK这个名字的影响吧。虽然现在说菜鸟崇拜微软,高手不屑微软,但从这点上来看,微软对中国写程序的影响还是不小,现在好多写程序的,问他会啥?答:Win32 SDK,MFC。好像C++就等于MFC,对他们来说,万一哪天微软倒闭了,C++也就倒闭了。

再说周总给项目起名字也太没有创意,老总和程序员不一样,程序员做出一个项目,往往宝贝得像儿子似的,给儿子起名字,那肯定要精挑细选,说不定还要去问问周易,就像BOSS Liu,绞尽脑汁起码也能想出“Shiny”这种有意义的名字。周总大概是受了鲁迅先生的影响,总喜欢“硬译”。

不过话又说回来,在公司终于有期待的大CASE来做了,你还要求什么?好多练武的人练了一辈子武连《降龙十八掌》秘籍的封面都没见过,比起他们,绝影觉得自己还算幸运得多,于是说:“其它没什么了,我就是担心人手不够。”

“这个你放心,这是长期项目,你慢慢去做,就尽管去做行了,我承诺你在两周内给你解决人手的问题。”



出了办公室,由人手的问题,绝影又想到了BOSS Liu。好几个月没联系,不知道他现在如何。于是溜到厕所,给他打个电话。

BOSS Liu接电话的声音还是那样底沉,好像他老板就在他旁边看着他接电话,绝影也用低沉的声音问:“怎么样,BOSS,几个月不见了,混的如何啊?”

“累啊,天天加班。还是以前公司好啊。可以十点钟才上班。”

“现在做啥CASE啊?拿出来交流一下嘛。”

“我哪能做什么大CASE啊!说出来还不让BOSS你笑话。”

“少来了,别小气。拿出来交流交流。”

“真没啥大的,还不是在做GPS的。那GPS数据收起来好慢,收一个包得好几分钟,BOSS你有没有啥好办法啊?”

“我能有什么办法!你那GPS我还一窍不通。做出来了你给我个,我也来研究研究,给燕儿整一个带脖子上。”

“算了吧,我一个人要能整出来,早发财了。对了,BOSS,你最近又在忙什么啊?KIPACS的BUG修完了没有啊?哈哈。”

“什么KIPACS,做那玩艺有啥意思,现在我做大CASE了,DAP懂不?”

“DAP?”

“说出来吓死你!DICOM Application Platform!”

“动不动就是Platform,是够吓人的。”

“唉,BOSS啊,如果你当初没离开公司,估计发展也多好的。现在我都升职做技术主管了。”

“那是应该恭喜你咯。主管,管多少人呀?”

绝影仔细想想,技术主管,管技术,公司现在搞开发的就他一个,就算生拉硬扯把张厂长也算进去,那也才两个,自己是主管,最多也就只管一个人,要是老老实实给BOSS Liu说,肯定被他笑死。于是打着哈哈说:“现在都啦,新招进来的人都归我管呢。”

他这么说,BOSS Liu反而扑哧一笑:“行了吧BOSS,少忽悠我了,估计你也就是个光杆司令,如果我在公司呢,你还能多管一个人,还好我走了。不然你一个光杆司令加我一个光杆兵,那传出去我们俩都够丢人的。”

“胡说!”

“行行,BOSS你放心,光杆司令的秘密我绝对不告诉别人。你放心,事情到我这就算进了保险柜了。升职了,周总给你加薪了吧?”

“没加,估计年底才加。”

“那他不是哄你呀。周总他们也太小气,你还一个主管,我现在在公司一个小兵,工资都有3K了。”

“那不错嘛,不过你大城市,消费太高,要没3K打死我都不会去的。”



放下电话,绝影越想越想不通。BOSS Liu说得对,现在公司要是没有自己,还能活吗?要说技术,虽然自己不一定在BOSS Liu之上,但一定不在他之下,要说到贡献,自己对公司的贡献就更大了。别人张厂长每天朝九晚五上班下班,自己有时候还为了项目进度自觉地加班。说心里话,有时候项目压下来,自己首先想到的就是如何去解决,如果帮公司渡过难关,从来没想过自己应该怎么怎么样。刚才听BOSS Liu这么一说,就觉得委屈起来,自己辛辛苦苦地干,无非就是希望公司看到自己做出的成绩,会给自己应得的回报,但除了一个光杆的“技术主管”,公司到现在什么也没给他。

这么想,绝影觉得BOSS Liu说得非常正确。自己虽然天天在公司闭门造车,水平到底怎么样说实话自己也不清楚。但BOSS Liu毕竟经历过跳槽和求职,他都说自己没有问题,那多半没什么问题,再说了,实在不行还能进他公司,工资也不会比他低。怎么也比呆在公司强。
打定主意,绝影把燕儿叫到外面很认真地对她说:“我想辞职了。”

《疯狂的程序员》37
燕儿一把拉住他,低声说:“你疯了。隔墙有耳朵,这种事情,回家再说。”

回到家中,绝影一直闷闷不乐,燕儿也在一旁帮他下决心说:“你想想,你在公司足足实习了八个月,才250块钱的工资,你说我来公司实习300块钱尤不失下曹从事,毕竟那是打杂的工作。陈董每次回来都说:小绝啊,从来没让我们失望过。可见对他们来说你还是非常重要的,但是说实话你那待遇也太低了。就说我们寝室一个同学的男朋友吧,人家在一家卖场跑采购,每月都有3000块工资,那还只是工资,加上回扣啊出差补助啊通讯补助啊算下来,怎么着也得过5000吧,而且那还纯粹就是个体力活,让我去我也能做得下来,可是你自己写的程序呢?那可不是人人都能写的,也不是人人都学得会的。”

一席话说得绝影又热血沸腾起来。早几年人们都觉得做技术的人很牛B,往往给人的印象是生活粗糙,不修边幅,做的又尽是些匪夷所思的事情。那毕竟是做的脑力劳动,中国几千年的思想下来就是“劳心者治人,劳力者治于人”,所以搞技术的莫名其妙有了优越感,越是有优越感,就越是不修边幅,鲁迅先生能做到把喝咖啡的时间都拿来工作,我还不能做到把梳头洗脸的时间拿来工作?

所以封建社会的腐朽思想害死人:人人都认为搞技术好,于是人人都来搞技术,搞到最后技术实在太多了,反而如何把技术销售出去才成了摆在人们面前的最重要的问题,于是慢慢地搞销售才成了王道。

燕儿的话说得一点不假,与其自己在公司天天写代码累得要死要活才这么点工资,还不如人家搞销售的天天在外面跑。想到这里,绝影坚定地点点头说:“嗯。我主意已定,不必多说了,睡觉吧。”



第二天一起床,燕儿问:“怎么样?想好怎么给周总说了吗?”

绝影又猛然想起昨天晚上的事情,眼看DAP项目已经上纲上线,再想想虽然自己认为在公司待遇不怎么样,但比大部分同学还是高出一大截,关键是公司还管住,还给他这么大套房子。那卖场跑采购挣三千五千一个月毕竟还是少数,要不是少数,燕儿也不会专门拿他来举例子,人比人是比死人,那他怎么不去跟Bill.Gates比去?毕竟是毕业没多久,燕儿也还在念书,啥事都还没稳定下来,难得公司对自己这么信任,可以说只要公司不倒闭,自己就不会失业,还是稳定压倒一切。

又说BOSS Liu跳了几次槽,工资也慢慢上去了,但打游击打一枪换一个地方始终不是长久之计。你看看现在各大大公司的CXO,不是公司创始元老至少也是在公司呆了十年八年的。

这样想,绝影又动摇起来,他对燕儿说:“辞职的事情还是先放放,先做DAP,现在说走就走太不人道了,那不是我的作风。”

“怎么睡了一觉变得这么快啊?”

“我又好好想了想,人家跑采购的虽然工资是要高些,但毕竟不稳定,今天公司可以让你跑采购,明天就可以让我去跑,这个月跑得好给你五千块钱,下个月销售淡季没有业绩一分钱也不给你,压力还是大啊。不比我们,每天朝九晚五就够了。”

“昨天什么都不好,今天怎么又全变成好的了?真是奇怪。”

“不奇怪不奇怪,反正你还没毕业,好歹咱们俩都呆在公司还算稳定,辞职这个事情还是个大事,等你毕业了咱们再打望打望。”



打消了跳槽的念头,绝影开始认真盘算起DAP来,周总也不食言,果然在一周内就给他招了个新人小李。招聘的事情绝影完全不知道,周总说那小李厉害得不得了,绝影去问了问他,他劈里啪啦什么“熟悉C/C++,VB,VC,VFP,Dehphi,最擅长的还是Visual C++”。他这么说,绝影突然想起周杰伦的《双截棍》:什么刀枪跟棍棒,都耍得有模有样,什么兵器最喜欢,双截棍柔中带刚。可绝影怎么看怎么也想像不出他有多厉害。

按照先前跟周总的规划,要把DAP分成好几个模块,正好模块之前的藕合很低,于是绝影自己做DcmImage,让小李做DcmPrint。周总问:“这个DAP,预计多久能做完啊?”

绝影想了想说:“大概要三个月吧,主要是人手不够,要是再有一个人,估计两个月就够了。”

“既然这样,让小张也来做DAP吧,反正现在公司没有其它的项目,总不能让他一直闲着,让他也来做,能做多少做多少。”

绝影分给张厂长DcmConfig模块,他第一句问的是:“可以用VB做吗?”

绝影狠狠地说:“这又不是做玩具。”

这样说,绝影想还不如不让张厂长参与到DAP项目中来,以他C++入门级水平来做DAP,只怕到时候做了又要返工,返工还好,就怕周总说:“小绝啊,时间是不等人的,你看看,就在小张的基础上修改一下吧。”

这一改,还不把人改死?



其实DAP这个项目说起来难度也不大,那DcmImage也就是搞个CDCMIMAGE类,把DCMTK的函数封装一下从DLL中导出来。对绝影来说,也无非就是把惯用的DEF的EXPORTS换成__declspec(dllexport),唯一的难点就是这DCMTK,函数多,看起来复杂。如果是微软,财大气粗,就一个MSDN也至少得写出好几十G,什么目录、索引、搜索、书签功能一应俱全,你说这光打字就得多少人?好在这么做多多少少也能让人看出点门道,那DCMTK帮助文档看起来却更像Word文档,看得他头都大了。

周总说:“别看文档,看Demo!”

可里面的Demo也完全是外国程序员的风格:管他屁点大个功能,都写得异常复杂,C++里面管他函数摸版、抽象类、重载、throw/tray/catch,能用上的全给他用上,仿佛他的目的就是不让你看懂。

如果只是写个DcmImage.dll倒也罢了,绝影自认为自己不是微软里的牛人,一次性就成功,总得写个exe来测试。于是自己这模块一来二去便花了一个多月。写到这里,绝影惭愧起来,原以为那KIPACS自己耍得头头是道,DAP还不是个程序,能难到哪去,真正写起来,才发现自己实在自不量力,按照现在的评估,别说三个月,就半年都还有点危险。

自己这边进展不大,估计小李那边也好不到哪去,两人平时各干各的本来磨合就少,这天中午吃饭,小李突然对绝影说:“影哥,我准备辞职了?”

绝影以为他只是准备要走,随口问了句:“准备什么时候走呀?”

“明天。”

这可让他吃了一惊,一个多月下来,虽然绝影总认为他没周总说得那么厉害,但看得出来他也的确是个能做事的人,看看公司现在这些人,表面上张厂长也能写点程序,可绝影和他心里都清楚,他那些不过也只是些玩具而已。

现在小李突然跟他说要离开,以后DAP的事情还不是全部落到自己头上,那还不把自己累死。他小心翼翼地问:“怎么了?有什么不满意的?”

“其实也没什么不满意的,就是来的时候周总就承诺我办个月做下来就给我转正。到现在都一个多月了,每天他只是催我好赶紧做,要好好干,转正的事情提都不提,也太不厚道了,我也刚毕业不久,不想再浪费时间了,所以前几天我另外找了个工作,明后天我就要过去。”

所以还是年轻人狠啊,本来这DcmPrint写到一半,也就只有他自己最了解自己的思路。先不说小李走了自己要多做多少工作,就让自己现在去接着写DcmPrint那难度也足够大了。

所以现在的年轻人确实比较前卫,啥事情都是先斩后奏:先同居再谈恋爱,先怀娃娃再结婚,先到工作再辞职。

人一定要有骨气,所以绝影也只是象征性地对他说了几句惋惜的话便把事情上报给周总。

周总问:“你有什么意见?”

“没什么。他要走就让他走咯。我原以为他技术有多厉害,看了一个月也不过如此,比起以前的小刘都还差远了。小刘不是也离开公司了吗?我觉得他没什么好留的。”

“行,那我原则上也同意了。只是项目的进度你能把握吗?”

“当然,我先做着,不过我也希望能尽快补充人手。”

“你觉得再要多少人合适?”

“两到三个吧,但是如果是熟手,一个也就够了。”

“那没问题。这事情我来安排,你安心去做DAP吧。”

出了周总办公室,绝影才感觉压力突然来了。刚才是站着说话腰不疼,现在想想,DAP那么多模块要做,又要一点一点去研究DCMTK,关键是还要接着小李做DcmPrint做KIPACS的时候就恨死了以前的程序员,现在又要再重蹈一次覆辙。但是刚才在周总面前自己又不得不表现得对小李的离开不屑一顾,否则,自己和公司受制于人,以后会非常被动。



虽说周总又承诺解决人手问题,但绝影想还是不要对他抱太大的希望,正如小李说的,一个多月下来周总也没跟他谈转正的事情,周总要是诚心希望他能留下,哪有不谈转正的道理,莫非周总报着节约成本的目的故意招的试用期员工?

绝影还是想到BOSS Liu,想以前跟BOSS Liu一起配合多快乐啊,什么东西交给他做,管他花多少时间你都不用操心,到时候直接问他要东西,拿过来就能直接用,这和自己的风格有点像。像张厂长这种,你还得祈祷着他最后交上来的东西可以不修改可以不返工。

这么想,看来人手的事情还是要靠自己,先给BOSS Liu打个电话,看他有没有好的人选可以推荐。

BOSS Liu接了电话,还是用低沉的声音问:“BOSS,有啥事啊?”

绝影说:“没啥,问下你现在好不好。”

“还不是那样,天天写着程序呢。BOSS,有没有啥新技术,拿出来讨论讨论嘛。”

“我哪有啥新技术啊,以前没好好学C++,现在要用了,正后悔呢。还是你有先见之明。”

“我早就说了,要想饿不死,就得学C++,怎么样?DAP还是得用C++吧。”

“是是是,还是你厉害,说正经事,你有没有认识的人能写程序啊?给我推荐几个,我这里正缺人手呢!”

“人到是有,不过BOSS给你说实话,一个都达不到你的要求。你想要是有好的,我早介绍到我公司来了,我现在还不是愁得要死。”

“少来了,有好人就拿出来,别藏着自己用。”

“唉,真的没有。你看我周围的人,天天都是吃饭喝酒,昨天晚上才喝了,今天又喝,别人喝了酒唱歌,我们喝了酒下棋,几个人可能是故意整我,把我灌醉还要我让两先,害得我今天又输了50块钱。”

“唉,这可愁死我了。BOSS你不知道啊,本来有个小李的,做了一个月又走了,我还得给他收烂摊子。”

“你也别愁了,我跟你说,凡事还是得靠自己,你想BOSS你要是一个人就把DAP做出来了,那你就立马升级成牛B人,以后在朋友面前一提到BOSS Jue,独自完成了DAP的开发,那都是响当当的名字,再怎么也能跟求伯君有一比吧。”

“算了不跟你说了,看你真是醉了。”

“你放心,我没醉,晚上回去还要写程序。”

挂了电话,绝影仿佛还闻得到BOSS Liu的酒味。看来BOSS Liu的小资生活还是过得有滋有味。本来他以为自己做了技术主管也能做上这样的滋润生活,奈何事事还得亲力亲为,既然要亲力亲为,那这主管的头衔有何用?



两周下来,人手的事情还是没有落实,绝影也怠慢起来,就慢慢做吧,等人。

又等了几天,周总对绝影说:“小绝啊,DAP是个长期项目,做到这里我想我们还是先放一放吧。”

《疯狂的程序员》38
周总一说放一放,绝影就怕得要死。天知道这一放又要放多久。比如馒头这东西,刚做出来的时候热气腾腾还带点甜味确实蛮好吃的,放一会凉了也还能吃,要是你放个一天两天,那馒头就变成了石头,还如何能吃?

程序也是如此,好端端一个程序,若能一直写下去,倒也像香喷喷的馒头,越写越多,越写越有劲,要是哪一天突然让你停下来,N个月后再让你来看,明明是自己写的东西,反而全都不认识了,程序员又不是狗,靠鼻子认东西。再来写等于从头再来,从头再来还好点,至少思路都是自己的,现在还要顺着以前的思路写,接别人的活写着写着就骂以前的程序员,接自己的活写着写着就骂自己。

绝影强压住心中的怒火,周总慢条斯理地说:“上次医院那套系统用了这么久了,最近根据他们的反馈,效果还不错,还有好几家医院来参观过,正好给咱们免费打广告。一套系统做好了,我们不能仅仅满足于系统本身,也应该再做点增值产品,一来可以扩展KIPACS的功能,二来还可以再给我们增加点收入。”

本来绝影认为KIPACS确实没有什么技术含量,基本上没有什么再开发的价值,相比起来,DAP的价值要大得多。如果是别人这么说,他肯定拿出一大套说辞来有力地反驳他,奈何这话又是周总说,现在公司收入的大头还是得靠KIPACS,于是继续听周总往下说。

“最近我调研了一下,发现一个很简单也很实用的功能,就是遥控器。比如以前我们在KIPACS上点击‘拍摄’按钮来拍片,医生一边要兼顾病人的体位,一边又要到控制台上来操作,实在不方便,离放射源也近,不如拿个遥控器,远远地就可以拍摄了,你说多方便。”

他这么说,绝影几个人不约而同地点点头,周总也确实想到独到之处。现在什么东西都有人做,做的多了,竞争就激烈起来,本来大家的技术都差不多,比就比什么?比谁的设计新颖,谁的设计更人性化,系统是越来越复杂,操作要越来越简单,就比如Photoshop,东西是好,但学起来太难,起码得买三五本书,要想稍微提高一点至少还得报上一个培训班,比学写程序还难,所以尽管早在大一的时候绝影就打算学Photoshop但直到今天还是什么也没学会。

程序员的想法往往是所有人都是程序员,这么简单一个程序,不说你看一眼就懂,至少你摆弄个三五天也应该耍得有模有样。有这种想法,设计起来就粗糙了,能省的地方就省了,比如软件配置,就不专门做配置模块了,你自己去修改ini文件吧,大不了给你写个文档,哪个Section哪个Key是什么什么功能。

可是用户偏偏和你想的不一样,想想傻瓜相机这个概念刚出来的时候多火爆,所以你就得把用户都当成傻瓜,你永远不要指望他会把鼠标移到工具栏上停留个三五秒自己去发现上面的Tooltip,最好啥都做成一键式,一键拍片,一键恢复,一键出报告,然后在大大的按钮上把这些用红色字体都标注得清清楚楚。

周总见大家都很赞同他的观点,颇有点得地说:“现在遥控器的优先级要高一些,小绝你先把DAP的项目放一放,这个属于硬件方面的开发,小张你应该比较了解,你好好去调研一下,有什么问题让小绝多提供些支持。”

张厂长听了周总的话,胸有成竹地使劲点头,想在公司这么久,被绝影嘲笑自己做玩具都不直到嘲笑了多少次,奈何自己一个搞硬件的偏偏身在软件公司,有一点鹤立鸡群的味道,那些鸡不但不觉得自己漂亮,反而嘲笑自己长得太丑。这次可是一次扬眉吐气的机会。

绝影心里还是有点不舒服。他觉得周总心里有偏见,不要说周总,全世界对软件都有偏见,都觉得硬件好,念初中的时候,老师就说:什么是硬件?硬件就是看得见摸得着的东西。什么是软件?软件就是看不见摸不着的东西。人们的心态就是这样,往往更喜欢实实在在捏在手中的东西。早些年布雷顿森林体系的时候,你跟他说金属本位制,美元也是硬通货,直接跟黄金挂钩的,可人们还是偏偏喜欢黄金,眼看金融危机一来,赶紧把美元全部换成黄金,搞得美国也没了那么多金子,不得不放弃美元,美元也变成了货币符号,最后害了谁?还不是害了自己,自己辛辛苦苦挣再多钱,不过是货币符号而已。



张厂长兴冲冲去城隍庙电子市场出了几次差,每次都抱回一大堆电阻啊,电容器啊,电路板啊这次材料。本来他就爱捣鼓这些玩艺,加上这次都是公费报销,虽然以他的人品肯定不会中饱私囊,但放在公司里也差不多就是自己一个人用,当然要尽可能多地充实自己的工具箱。

绝影见他每天都忙得不亦乐乎,忍不住问:“怎么样?有眉目了吗?”

“当然当然,一周下来,还是小有收获。”

“有啥收获啊?拿来见识见识。”

听他这么说,张厂长小心翼翼地从箱子中翻出手机大一个遥控器,递给绝影说:“就这个,如何?九键的遥控器!”

绝影掂了掂,感觉轻飘飘的,想起小时候买钢笔,妈妈说要买重的,重的好,从那时候开始,就觉得轻的东西不牢靠。你想黄金啊白金啊这些值钱的东西,哪样不是沉甸甸的,要说轻,就塑料这些不值钱的东西才轻。于是问:“这么轻呀?顶用吗?”

“当然顶用了。发射功率大,有效范围30米。”

“不会吧,我家的电视机遥控器拿到门口基本就不能用了,这玩艺能有这么厉害?”

“我怎么可能吹牛呢?来我给你试验一下。”

张厂长说完,从绝影手中接过那个遥控器,三步五步跑到公司外面,绝影跟着他跑过去。出了公司,张厂长说:“不要说10米20米,就是隔道墙,信号都能过去。”

他一边说一边按下上面的键,两个人再进到公司里面,果然,张厂长桌上电路板上的灯亮了。

绝影见那桌上的东西堆得是七零八落,好多东西都没见过,原来画电路图,电阻一个个都花生那么大,亏得这次张厂长从城隍庙带回一大串电阻,才直到原来现在科技进步了,电阻都做得米粒这么小。

绝影一边大量张厂长的办公桌一边忍不住伸手去拿,张厂长赶紧喝道:“小心,别碰!”吓得绝影又赶紧撒手。

“这东西就是单片机,小心,别给我碰坏了。”

“就这么点大,就是单片机?”

“当然了,AVR Mega16芯片!”

就轻轻碰了一下,张厂长居然对自己大呼小叫,绝影觉得他也太小气了,他狠不得告诉他:不要说区区一个单片机,就是数字信号处理器,老子在大学也早就学过了,而且成绩还不奈。虽说张厂长是搞硬件软件的,可说不定自己一样也能搞硬件开发。坏就坏在自己当初把学电路的时间都拿去学写程序去了,要不今天也不至于在张厂长面前如此无知。

周总听到呼声,也从办公室走出来,见张厂长桌上摆满了电子元件,好像进展不小,便问:“怎么样?小张,进度如何了?”

张厂长认认真真地回答:“材料都已经差不多了,就差芯片的开发了。”

“还有什么问题吗?”

“目前还有两个问题。一是还没有开发板,二是还没有集成开发环境。”

“那你有什么打算呢?”

“开发板有三个方案。现在我这里有一个我同学自己做的开发板,不过他应该不会免费送给我们;二是我们可以去买一个现成的,估计差不多100块钱;三我们也可以尝试自己做一个。”

张厂长说完顿了顿,似乎在等待周总。周总皱了皱眉头问:“自己做,有把握吗?”

“没做过。”

“那我们还是不要冒险了。就跟你同学说一下,看他能不能便宜点卖给我们。反正他的东西都借给你用了这么久了,你上手起来也比较快。”

“嗯。还有集成开发环境。现在有两个选择,一是用BASIC语言,有现成的BASCOM,相关的资料和教材我都有;二是用C语言,对这个我不是很熟,网上查了一下,可以用KeilC。”

“BASIC肯定不能用,这里先否决了。我们一直是用C/C++做开发,技术要能够为以后做积累。你就去调研下用C语言做吧。有什么不懂的多问问小绝,他对C语言比较熟。”

用C语言来开发显然是张厂长不愿意,他本来就擅长BASIC,用起来可谓轻车熟路,正因为自己擅长这个,所以虽然在公司呆了这么久,C/C++方面他还是没怎么提高,让他用C语言来开发,等于是让他从头开始学。

不过项目既然已经下来,自己就必须得顶上去,张厂长也是焦头烂额突击C语言,居然在一周内有了突飞猛进。原以为应付这么个小项目应该没有什么大问题,但真正做起来,方才觉得书本上的知识实在太有限了。好在公司里还有绝影撑腰,周总说了,有什么问题,找他。

绝影看了他的程序,忍不住在心里笑,所有的变量居然全部定义成全局变量,写一个函数判断第一个参数是否大于第二个参数明明一个return a>b;就行了,他非要写成if(a>b) return TRUE; if(a<=b) return FALSE; 好在虽然程序写得糟,但逻辑思路还是正确的,问题就出在和芯片相关的函数调用上,那C语言,光一个芯片类型就花了整整几十K的头文件来定义,看得绝影也是晕头转向,只好给他说:“应该是芯片定义的问题,你再好好看看。”

绝影一席话,让张厂长如获至宝,赶紧又埋头忙他的去了。反正绝影又闲得无事,于是向张厂长要了一份芯片官方的开发手册研究起来。

看了一个下午,想这AVR单片机开发哪里有那么复杂,一本开发手册,一个汇编器,一个下载器足矣。那汇编肯定是难不住自己,大不了要用什么指令,要怎么设置标志位到手册上查就是了,亏得张厂长还装个50多M的开发环境。反正现在有流行玩单片机,普通小市民见面打招呼不外乎就是:“吃饭了吗?“大老板们打招呼往往是:“怎么样?官司打赢了没有?”搞技术的人,特别是搞硬件的,打招呼却是:“最近玩啥板子呢?拿出来研究研究!”绝影虽说学了点单片机的毛皮,但这种流行的玩艺的确还没有实际玩过,这次正好什么条件都有,于是下班的时候,把张厂长拉到一边,低声说:“今天晚上,就把你那开发板借我用用吧,我也去过过瘾。”

平时难得有绝影向张厂长请教,所以张厂长倒也大方,叮嘱了几句也就把开发板借给了他。

回到家,绝影望着那开发板和芯片感慨万千,好不容易有个实战的机会就这么给浪费了,那太可惜了。要干就干个大家伙,就把那遥控器的芯片程序用汇编写出来,也拿给张厂长和周总瞧瞧。

其实用汇编来做芯片开发也并非想像中那么复杂,主要还是这个项目太小,也就是从I/O口取到遥控器的输入,编码一下再从I/O口发出去,关键是用汇编,中断控制得自己来做,好在自己当初在学校就专攻了汇编,这玩艺也难不到他。

忙活到半夜三点多,这程序居然还写了出来,其实总不过一百来行,汇编成HEX再烧到芯片里,居然才占了4K空间。

绝影洋洋得意地收起自己的作品,想像一下,你张厂长能做出来又如何?毕竟是你是搞硬件专业的,我不跟你比这个,但是我一个搞软件的,也还不是一样做出来了,你能来跟我比软件开发么?所以说,拯救世界,征服宇宙,得学汇编。



说有志者事竟成这话一点不假,用在张厂长身上特别适合,经过周总这次委以重任,他还是很快从C语言文盲进步到独自完成了芯片程序开发的水平。

上交任务这天,他和绝影心里都揣着小九九。张厂长是基本上独自一人完成了整个任务,绝影呢,用汇编做出芯片的程序,在BIN体积上占了很大优势。这可难到了周总,本来绝影的任务应该是辅助张厂长做上位机的开发,他却偏偏要抢张厂长的功劳,奈何他又是技术主管,于是他耸耸鼻子说:“小绝用的汇编,小张用的C语言,这样吧,咱们明天来开个会,决定用谁的程序。”

《疯狂的程序员》39
自己做的东西,就是怎么看怎么满意,绝影和张厂长都觉得自己写的程序好,周总肯定要用自己的。

周总还是决定用张厂长的程序。绝影用汇编做的,公司以前没尝试过,他还是不想冒这个险,毕竟C语言才是入门语言,大部分程序都懂,以后万一出了什么问题要临时维护也不愁找不到人。

这个决定后来在很长一段时间里让绝影一直耿耿于怀。现在单位里特别是国有单位,年轻人往往对年长的领导腹绯很多,而上了年纪的领导又对这些年轻人意见很大,归根到底,人老了,不求有功,但求无过,凡事畏畏缩缩,又觉得年轻人办事不牢靠,太激进太冒险。

绝影原以为周总从国外回来,靠技术起家大刀阔斧创办这么个公司应该是年轻有为敢想敢做的人,当然公司创业初期周总也确实是这样,没想到公司过了最艰难的时候稍微稳定下来,周总的思想也开始陈旧。一方面要他负责技术减轻他和陈董的压力,一方面又不给他机会充分发挥他想法。



遥控器的CASE搞完了又要搞DAP,想起来绝影就头痛,暑假的时候燕儿在公司还要好点,现在开学了,燕儿也走了,周总就知道布置任务,验收代码,张厂长就知道摆弄他那堆电子元件,现在整个公司连个跟自己谈得拢的人都没有,苦水都没地方倒。

做这DAP就像打麻将,反正四川人爱打麻将是出了名的,说在飞机上听到麻将的生音就知道成都到了。

说到打麻将,在每把开始之前人人都是踌躇满志,想这把要和就和个大的,屁和?屁和根本就不和,至少也得和个大对子清一色的,还非得自摸,关三家,家家都关他个三翻五翻的。

这么想,等牌上手了,才发现原来生活并不是想像中那么美好。牌虽然是烂了点,好在自己技术还不错,总还是有点希望,于是按部就班地打,谁知是打啥来啥,越打牌越烂,烂到最后,算了,破罐子破摔,本来都已经到了绝望的地步,忽然发现自己居然和了个十三烂。

原以为DAP嘛,不过简单的C++封装,当初想得热血沸腾,真上手做了,才发现这样问题那样问题又冒了出来,既然问题都已经来了,没办法,想凭自己的技术尽量去解决吧,结果是修改一个BUG,又制造两三个BUG,越解决问题越多,弄到最后,这CASE估计就死了,没法做了。可是和打麻将又不同,打麻将打到最烂的时候还有个十三烂的和法,就比如日本流行的“败者复活战”,本来都败了,居然又可以复活,等于是天上掉下的机会。可是程序写烂了,又没有“复活”这么个机会。所以,写程序,前期不搞好设计,不写好文档真是害死人啊。

周总还是相当相信绝影,只说让他自己控制一下进度便进办公室去做他的事情,绝影自己在电脑面前倒是相当苦恼,这DAP确实是做不下去了,但是不做又不行,周总也没让他停下来的意思,而且他现在还肯定地认为:小绝啊,从来没让我们失望过。

于是绝影只好一边赖在电脑面前打发时间一边期待着周总又有新的任务交给他,没想到到真有这么一天,周总又对他说:“小绝啊,DAP是个长期项目,做到这里我们先放一放吧。”

周总这样说,他并不知道绝影心里的小九九,绝影却故意问:“怎么了?有什么问题吗?”

周总向他挥挥手,示意他进自己的办公室,在自己电脑上,他一面摆弄一个软件一边说:“也没什么。DAP这个平台性的东西,对我们来说是非常重要的,但是我想我们对应用上的开发也不要放了,毕竟这是我们近期收入的来源。我又琢磨着再做一些应用上的开发,最近我正调研一个软件――X-posure,用来计算骨密度的,这软件做得相当不错,可以外接扫描仪,直接把X光胶片扫描或导入进去就能将上面选定部分的骨密度计算出来。你看我给你示范一下。”

绝影对周总摆弄的东西并不感兴趣,他琢磨着周总这次要让自己做什么呢?莫非要模仿这个X-posure做个计算骨密度的软件出来?那难度也太大了。这也并非不可能,以前做KIPACS的时候周总就经常找些软件让他们模仿别人的界面。现在好多东西都有什么包装专利、外观专利、防伪专利,你一专利了,别人就不能用,好在软件还没有这样那样的限制,所以周总就总找些现成的来让他们参考,自己又不是用户,又不是医生,要是让自己绞尽脑汁去想那界面该如何布置,那还不想死人。不过好像正因为没有这些约束,助长了不正之风,终于微软忍不住指责金山抄袭Office界面,那只是“抄袭”,谈不上什么“侵权”,不知道这事后来对周总有没有影响。

他点点头对周总说:“嗯,是很不错,那我们要做些什么呢?”

“最近我正调研这软件,举一反三,看看我们有没有什么可挖掘的,可做的,但这软件还是个共享版,老是要我输入序列号,否则就不让我接扫描仪,还有很多限制,不好调研啊。你上次不是帮陈董破解了一个PVT么?这次这个,你看能不能帮我破解了。”

绝影吃了一惊,严肃地说:“周总,这可是商业软件啊!”

“别着急别着急,我们又不搞商业用途,就是自己研究研究,法律上应该说得通的。”

绝影考虑了一会说:“嗯,那好吧,不过破解这个东西,我上次也说了,没有百分之百的把握,运气还是占了很大成分。”

“这个没问题,你尽量去做,做不出来大不了就不调研了。”



绝影从周总办公室出来,拷贝了一份X-posure,这才算个像模像样的商业软件,七七八八在安装目录中安装了一大堆文件。

上次那个PVT毕竟是绝影第一次做破解,虽然最后还是破了出来,但用的还是暴力破解,那是内行人所不齿的,弄得他自己都不好意思跟别人讲,暴力破解也确实不过瘾,找出一个位置把Jxx改成Jmp就行了。这次又来了破解的CASE,还是官方的CASE,当然要好好发挥一下。这么想,他打定主意,要么做不出来,要么就把注册机做出来,网上不是那么多牛人么?一会发布个XXX注册机一会发表篇XXXX破解笔记,你说自己牛,有什么证据?以前BOSS Liu在公司,天天跟自己明里暗里比技术,自己又确实比不过他啊,没有事实说话。这次要是把注册机做出来,也跑到看雪论坛去发一篇,东西放在那里,看你BOSS Liu这次还有什么话说。

这样美好的想像着,绝影开始破解起X-posure。

上次破PVT绝影给机器上装了SoftICE,结果弄得系统异常不稳定,新版本的DriverStudio在Windows2000下莫名其妙下不了断点,老版本的4.05还算好,可系统老是莫名其妙的重启,所以破完了就重装系统。这次却又得再安装一次。

破解本身不需要对这软件研究得有多透彻,只要知道他是哪个exe在负责输入序列号就行了,还是从MessageBox下手,思路不难,麻烦的就是这SoftICE。现在随便问一个搞破解的或者搞逆向工程的,谁不知道SoftICE?SoftICE牛不牛?当然牛。正因为太牛了,所以似乎专门给牛人用,或者只能给牛人用,因为操作实在太复杂了。IceDump这些插件绝影没装,就算装了他也不会用。你想从念大二第一次用SoftICE到现在,才学到勉强能用它调试东西的程度,你说要是再加个IceDump那还不知道得学到哪年哪月。

既然IceDump不会用,就用笨一点的办法,直接拿纸把前面的代码抄上,地址、机器码、汇编代码注释什么的都一字不落地抄下来再慢慢分析。

第一天做了些准备工作,第二天绝影开始认真的破解,本来作为一个程序员,在他身上是很难找到纸笔的,甚至久而久之很多汉字都只会用电脑打不会用笔写了。但是那一天,绝影却整整写了十六张A4打印纸的代码。张厂长在一旁有点不服气,说:“上次我打印个资料,才用六张纸,都领了个周总的口头警告,怎么你一会去拿一会去拿他都不说你啊?”

“我这是工作嘛。你以为我要是有废纸会去拿打印纸?废纸早让我做演算用完了。”

下班的时候张厂长叫绝影一起走,说是去泸州面馆吃面,绝影想了想说:“你自己去吃吧,现在正是关键位置,我要好好跟一下。”

“吃了饭拿回家再跟吧,现在肚子饿,一不小心就跟飞了,那损失就大了。”

“不行不行,家里电脑还是不要装SoftICE,不稳定。”

绝影说这些的时候头也没回,张厂长有点失望,不过想想也算了,他这种情况,多半是走火入魔了,现在不要说自己,就算燕儿肯定也喊不动他。



人都走完了,绝影干脆关了公司的门,十几张打印纸的代码铺在面前,眉目也有了点,毕竟那几年水平只有那样,再加上又是国外的软件,国外软件特别是成熟的大型商业软件在反逆向工程上一直都做得很菜这是公认了的。这跟国内形成了鲜明对比。在国内,随便一个“无敌剪贴板”之类的芝麻大点的软件都壳加了一层又一层,加了壳又压缩,压缩了又加壳,什么Anti-Debug,Anti-DAsm,虚拟机,花指令,密码学加密算法凡是能沾边的能用上的都用上,用不上的创造条件也要用上。比起他们,那X-posure的序列号算法确实算得上有失水准,字符有效性的判断都很简单,要么是0-9的数字,要么是“-”,关键的算法又全部写在一个函数中,找到这个函数基本上等于大功告成。

说起来也容易,但真的找到还是费了他不少心血。SoftICE用起来实在太复杂,现在搞破解的前辈教育晚辈一般都说:“SoftICE用过吗?我们那几年,只有SoftICE用,你那OllyDBG又如何?毕竟是三环调试器,你用着是方便,可是毕竟是三环啊,对付你的办法多得很,什么检测调试寄存器,什么Hook调试API,什么浮点指令漏洞,哪像我们那时候SoftICE基本横扫天下。所以啊,工具多了,人就懒了,要学真技术,还是要在Kernel上多下点工夫啊。”

所有位置找到,绝影开始琢磨这个注册机,想明天到了公司,周总问:“小绝啊,工作进展如何啊?序列号找到了吗?”他就大大咧咧拿出这个注册机说:“还行吧,注册机也写出来了,你用用看行不行吧。”这样,周总肯定又要对他刮目相看,肯定又要拍拍他的肩说:“小绝啊,从来没让我们失望过!”

其它什么难的,就是那个关键函数,虽然汇编代码不是很复杂,但这明显是高级语言写的,那些数据的计算要还原成C语言代码还是麻烦,想起网上一篇文章,好像就是介绍直接用Windows优化大师的反汇编代码写注册机,给了点思路,不如就直接用汇编语言来写注册机得了。

这样一直忙到晚上三点多,绝影用自己写的注册机生成了三个序列号,居然都能用。他才收拾好打印纸出了公司。

街上的店差不多都打烊了,只剩几家烧烤店,绝影去了离自己住处最近的一家,喝了两杯豆奶,吃了两条烤鱼,想起以前跟BOSS Liu在这里喝酒吃烧烤,自己这个CASE算是做完了,几百块的奖金基本上算到手,不知道他在成都混得如何。

回到家,绝影还是没有一点倦意,他也不想睡,现在睡了明天肯定又起不来,于是拿出写满代码的打印纸,整理好思路,打开Word,题目写上《X-posure序列号破解》,写完这篇又花了两个多小时,于是在看雪论坛上注册一个ID发上去。

看雪论坛在搞破解的人当中那可是技术的圣殿啊,所以他还算比较人道,可以不注册就去看帖子,绝影也一直没有自己的ID,这次要发文章了,才去注册一个。没想到几天以后,这篇帖子居然被看雪大大批准为精华贴,更没想到,几个月以后,这篇帖子竟然收入了《看雪论坛精华》。

绝影洋洋得意看着自己论坛上面帖子:1,精华:1,想以后要么不发,要么就有成果了再发,发就发精华贴,100%看雪论坛精华,还说我不牛么?

这么想了,所以从那以后,绝影在看雪论坛上始终只有一篇帖子。

《疯狂的程序员》40

绝影迫不及待地把X-posure的注册机交给周总,给他的时,他努力让自己显得平静一点,但他等到的并不是周总激动的神情,他平静地说:“不错不错。这也算个小项目,这是200块奖金,你给我签张工资单。”

出了办公室,绝影感觉很不服气。200块钱奖金就不说了,自己辛辛苦苦好容易做出个注册机来,随便讲给谁,只要是业内人事,大都会发自内心赞扬他几句,就算不是发自内心,至少也会说几句恭维的话,可周总居然就像没看见一样。

所以说人跟人不同,狗和狗有异,同样一个妹妹走在学校里,西师的瞅也不瞅一眼,川大的说:“美女呀!”要是放到绝影他们学校,土匪多半会惊叫:“快看,女的!”

对周总来说,要一个注册机,要十万个序列号和要一个序列号没什么两样,反正他是自己研究又不出售,所以不管你武功有多高强技术有多高深,还按一个序列号的标准发奖金。老总做到这一地步,算是相当成功了,自己就开个类把头文件写好,具体实现就让绝影他们去写吧,至于说实现这个功能用了些啥算法啥API啥高级技术,咱就不管了,反正我接口开了,你就管给咱封装好交上了就行了,于是老总门终于从繁重的开发中解脱了出来。

绝影正心情不爽,张厂长却丢下手上的活凑过来问:“怎么了?这个破解做下来,又拿了多少奖金啊?”

“你懂啥啊?这不叫破解,叫逆向工程。”

“行了,我还不知道,现在流行这样嘛,妓女都兴叫‘小姐’,我们出个差纯粹跑腿的都叫‘张工’,‘绝工’,你那破解当然换个学名叫‘逆向工程了’”。

听他这么说,绝影气又不打一处来,所以说没问化,真可怕,还是物以类聚人以群分。公司里自从BOSS Liu走后,基本没人再跟自己讨论技术上的东西,周总虽然是做技术出生,开始的时候绝影还对他敬仰有加,可不多的几次亲眼看到周总写的代码,又觉得和他神奇的经历有点不相符合,又想大概是真人不露像,露像不真人吧。再等,还是一直没见周总出什么大成果。

好在自己还有个汇编群,把这逆向工程的成果往上面一发,果然激起强烈反响,有互相讨论技术的,有向他请教的,几个小弟当场就冰天雪地裸体跪求:“绝影大哥,收我做徒弟吧!”

下面的人一奉承,绝影便真觉得自己是个大哥,想当初在学校的时候多多少少有同学来找他帮忙写程序,做课程设计,学校就是和公司不一样,进了公司特别是资本家的公司,你就不要指望能花一顿饭一桌酒来请谁帮你做CASE,这样的人老早就被BOSS开了,于是绝影的一身武功就给废了大半,再加上如今周总又对他的CASE不感兴趣,高处不胜寒啊,还是在群里总算能找到一点感觉。



自从做出个注册机来,先到群里宣传一通,又给BOSS Liu打个电话,然后管他认识的还是不认识的,都把看雪论坛那精华贴的地址发过去,其实包括BOSS Liu在内大部分人都还是看不懂的,即时能看懂,既然都懂了,还去看它干啥。不过出于礼貌,大家都还是或多或少说些让绝影觉得好听的话。

于是绝影觉得自己牛B起来。

于是在群里,他就理所当然摆出一副大哥模样,别人正在探讨什么什么,他凑过去说:“你这个,错误太明显了,应该如此如此,这般这般。”其实到底是不是如此这般,他多半也不知道,要是以前,他会说“可能是如此如此,这般这般”,现在便成了“应该”。

所以人啊就是这样,明明你摸遍全身就一块二毛钱,但是你可以穿得周五正王,说话大大咧咧,举手投足一副一切尽在我掌握中的样,开口闭口就是中石化中石油国航移动连通的合同定下来了,接个电话就若无其事地平静地说:“没啥,我账上又多了两亿。”

你这么做,别人就真把你当大款了。说现在到处都是谁谁谁冒充什么大老板骗了多少多少工程款,骗了多少多少订金,说谁谁谁冒充富商骗了多少多少美女,这不是因为骗子有多聪明,是因为上当的人实在太笨。所以说世上是本没有大款的,忽悠得多了,也便成了大款;程序员本没什么高手的,吹捧的人多了,也便成了高手。

绝影也是如此,在群里被公认成牛人了,于是找他帮忙的,指点的人多了起来,成了公众人物,反而又有了压力,本来技术就有限,吹牛吹到了无限, 一次两次你跟别人说自己忙没时间,但这个借口破绽太大,总不可能永远都没时间,再说了,上群里吹牛的时间都有还不能抽出一点来帮别人解决实际问题?以前在学校的时候虽然也有人来找自己帮忙,但那时候毕竟自己还是有点真本事,解决那帮同学的问题还算游刃有余。现在群里的毕竟还有些是专业人士,你就不要指望自己还能忽悠住他们。

实在没办法,只好把做DAP的时间拿出来研究问题。

X-posure的注册机做出来,周总没再给绝影布置什么新任务,那意思就是继续做DAP。这也正戳到绝影的软肋上。做吧,进展起来难度实在太大,程序写得越多,代码越乱,今天写了,明天又找不着北;不做吧,公司和自己还没这个先例,一个CASE,居然做了几个月才说做不出来。再说了,比起逆向工程,这正向的开发能难到哪去,不存在什么解决不了的技术难题。

正如周总说的:DAP啊,是个长期的项目,慢慢来吧。倒是周总沉不住气了,有几次忍不住问:“怎么样啊?DAP进展如何了?预计还要多长时间啊?”

这个时候,绝影只有打着哈哈说:“嗯,一切都在计划中,但是估计还需要点时间,主要是人手不够啊。”

反正这DAP又不赶时间,正好拿它打个幌子做些自己的事情。

所以人活着累,自己技术菜,首先是被同行、老板看不起,挣的钱不多,还被老婆同学看不起。几个同行走到一起别人都兴高采烈讨论inline hook,你插一句:SSDT用什么函数获取?你自己都不好意思。

混了几年,好不容易技术高了点,也就是比上不足比下有余吧,顶级高手又不屑你,正如美女都不在街上逛一样,高手根本不混群。美女去哪里了?多半在私家车上。高手去哪里了?多半在写程序。即使这样,菜鸟也有有求于你的时候,菜鸟毕竟是菜鸟,出招都不按常理,有些问题问得你自己都吃紧,但是没办法,谁叫你是程序员呢?谁叫你技术比人家高点呢?你就得想办法帮别人解决。

再混几年,终于到顶级高手的地步了,突然发现群里没法混了。你想一个资格的大学教授可能去幼儿园教小朋友吗?即使你给他8000块钱一个月,人家还不一定愿意去教,好钢得用在刀刃上啊。于是自己来研究问题。先前那两个阶段,都还有很多东西可以参考,群上啊,网上啊,什么问题都能找到点资料。现在自己到了这个阶段,啥事都只能靠自己,费尽心机研究点成果出来又不敢独自偷偷享用。谁叫你是高手呢,你总得经常发表点研究成果吧。这是什么精神?这就是新时代的雷锋精神。



在公司干私活还是相当冒险的,得眼、耳、手、脑并用。眼睛要盯住显示器,耳朵要听周总的动静,手要敲键盘,脑袋还得想问题。做逆向和写程序又不一样,写程序一般就开个VC,再把工程的Release目录打开以便运行,做逆向至少得开个SoftICE;一个或多个记事本,随时记录断点或者数据位置;一个目标exe目录,方便观察;一个W32DAS方便反汇编顺便计算RVA;一个UltraEdit查看文件十六进制;一个Exescope分析目标文件的资源和导入表。

在这种情况下,如果周总突然出现那是相当危险的。好在从周总办公室出来到绝影电脑上的视线并不好,于是再把VC打开,装入DAP的Workspace,随便找个比较大的cpp文件,定位到一个复杂的函数中,一有情况,力马切换。

在这种艰苦的条件下,绝影还是帮群里的人解决了一几个问题,最著名的要算浩方多开补丁。以前做PVT的破解,用CODEFS做的文件补丁,但觉得这样不爽,你给别人发布出去还得加上一个几M的exe文件,尽管现在硬盘做得越来越大,价格越来越便宜,但是绝影他们这些用汇编的还是常常比谁的文件生成得小,谁的程序效率高。

于是在摸索一下,琢磨着还是内存补丁好。反正罗云彬的书上都有现成的内存补丁的例子,不过就是几个调试API调用一下。要换成BOSS Liu肯定觉得这调试API难得不得了,其实不是它难,是他不用他,不管什么技术,只要你必须去用它,学起来也就不难了。

做逆向和写程序不一样,还有一点就是写程序你也能知道大概的进度,这个CASE有多大,要多久能做完,心中也有个眉目,就算最后忙了几个月没做出来,至少也写了一大堆代码,多多少少算是给后人做了点贡献,留了笔财富。逆向工程不一样,运气好了,灵感来了,断点位置对了,十分钟搞定。断点找不出来,任你雨打风吹在那做个十年八年什么也没有,成果为0。



星期一的例会,周总终于对绝影的进度有点不满意,他说:“小绝啊,这DAP都做了这么久了,还没个像样的东西拿出来。本来我计划在十月份做完,十一月我们还有个比较大的CASE要出差,你说说现在怎么办吧?”

绝影听了头上直冒汗,明显压力就来了,幸好周总还不知道自己在公司做私活,要是知道,肯定比BOSS Liu的结果要惨。尽管BOSS Liu后来也觉得他现在的公司不错,比绝影他们公司好得多,但是人就是这样啊,呆在公司就好比跟妹妹谈恋爱,最后实在谈不下去了,但你对她说分手和她对你收分手却有本质的区别。分了收,尽管你后来又有了更好的妹妹,总之比她好,可是当初分手却是她说出来的,让人憋得慌。

于是他战战兢兢地说:“嗯。这次主要责任还是在我,在开始前对项目缺少正题的把握,错误地估计了形势,设计也没做好,做到现在确实是进退两难。”

说完,他等待着周总的严厉批评。等了几十秒,周总突然开口说:“算了,这也不能完全怪你。只要你能够面对失误有勇气承担责任,不错了。其实我也有一定责任,你经验还不足就放你一个人去负责。这事我们现在就不说了,先放一放,说下我们十一月的CASE,等今年完了,我们重新计划一下DAP的事情。”

绝影本来已经做好死的准备,没想到又没死成,这感觉就像临上刑场突然包大人的捕头策马奔来,高呼:“刀下留人!皇上有旨,刀下留人!”想起当初BOSS Liu离开公司,其实现在看来他犯的错误也并不严重,计算旷工半天也绝不至于到解雇的地步,问题就在他当初给自己旷工找了个借口。所以说,人还是要老实啊,至少自己的责任就要自己来承担。这么想,他忙顺着周总说:“周总说得对。往后还要周总不论在设计上和实施上都多给些意见。”

周总耸了耸鼻子缓缓说:“我们还是来说下十一月的CASE吧。其实也就是个KIPACS的安装。为什么说比较大呢,因为这次KIPACS是装在体检车上,这是第一次,所以这次我会亲自去。而且这次地方比较远,在南京。这次CASE参与的单位比较多,有汽车改装厂、DR硬件生产商、医院还有我们。时间也会比较长,预计会有一两周。我们这次去两到三个人,具体小绝和小张谁去,或者两个一起去我暂时还在考虑,我想问你们都有问题吗?”

张厂长赶忙说:“当然没问题。”

绝影考虑了一下说:“嗯。应该没问题。”

绝影这样说,其实是有问题的。今年KIPACS完成了十几家医院的安装,因为装得多了,周总也便不再亲自去现场,原则上说只需要一个售后过去安装培训了就行,可是绝影还是每次都得去,因为有好几次医院都临时需要调整软件界面,周总又匆匆忙忙把绝影调过去,算是吃了些苦头,所以后来每次都让绝影一起去,以备不测。

这一年CASE跑下来,绝影已经疲惫不堪,关键是他觉得一个程序员,就应该埋头在公司里面写代码,什么销售啊、安装啊、维护啊,那应该派其它的人去,程序员,不能掉价啊。

周总看了绝影一眼,仿佛看出了他的心事,他关切地问:“小绝,你有难处吗?”

 

转载自原文链接, 如需删除请联系管理员。

原文链接:疯狂的程序员1-40,转载请注明来源!

0