# 56 反匯編器
說實話絕影就等著張廠長把他的研究成果公布出來,這樣才能當場找出其中的紕漏并當場將他駁回。你想我絕影做到這里能弄出個反匯編器來,已經是突破性進展了,張廠長還能比我牛?
于是他平靜地說:"說來聽聽,看看你有啥好法子。"
張廠長哪里知道絕影心里的算盤,他還是和平時一樣一本正經嚴肅認真一絲不茍地說道:"這幾天我去他們車間調研了,其實開始我們都想復雜了。他們的芯片和主機通過穿口通信,類似于一問一答……"
"這是結構化數據,或者叫'協議'。"不等他說完,絕影就很有成就感地打斷他,在他看來,描述一個問題要用準確的專業術語,所以張廠長的水平如何,也就不言而喻。
"是,是,是協議。"張廠長連忙更正道,"這個協議呢,我粗看了一下,還比較簡單,按照我最開始的設想,其實我們根本不需要在芯片I/O口上測量,直接把所有可能的通信協議測量出來并自己用另外的芯片實現就行了。"
張廠長說完,大家都沉默了好一會,陳董才突然大聲說:"好辦法!這真是個好辦法!虧得小張還去車間調查了,毛主席說得好阿,沒有調查,沒有發言權。"
絕影再仔細推敲一下,這里面實在沒什么紕漏,因為張廠長描述得實在太簡單了。是程序員的人人都懂得這個道理,除非規模很小的代碼,都是有BUG的,那怎樣才能沒BUG?辦法只有一個,寫少代碼。
說到寫代碼的風格,江湖上大底有兩派,一派認為寫代碼就如同下象棋,寫之前一定要深思熟慮,成竹在胸,寫的時候要正襟危坐,規規矩矩,總之一句話,代碼就要寫得規范,格式要比畢業論文還標準,措詞要比紅頭文件還嚴謹。BOSSLiu大概就屬于這一派,而且他還不僅僅只滿足于屬于這一派,更熱衷把他的思想強加到別人頭上,所以總是對新人說:"看看你寫的代碼,我說了好多次了,注意縮近,注意縮近,還有匈牙利命名,你看你寫得一團亂糟糟的,還讓不讓人看?"
而另一派認為代碼就如同美女的裙子,既然是裙子,當然要越短越好,要不你還不如就穿長袍。雖說代碼寫在電腦上,又浪費不了多少紙張,但寫得短小,畢竟能節省不少打字的時間,而且根據上面BUG的理論,說不定還能減少一些BUG。當然,超短裙也不是一般女人都敢穿的,你要是身長五尺腰圍五尺,腰上就像套個救生圈,那就奉勸你不要穿了――不但穿不出性感,反而還被別人笑話,說一句"東施效顰"還算客氣的了。所以這一派的人不算多,但大部分在程序上都對自己特別有信心。絕影大概就屬于這一派,而且他還不僅僅只滿足于屬于這一派,更希望把這一派發揚光大,要是全世界的美女都穿超短裙,絕影就笑死了。所以他總是對新人說:"你看看你寫的代碼,就這么個簡單的邏輯判斷還switch/case,我說了多少次了,要精簡要精簡,你看我來給你壓縮一半。"
每當這時候,BOSSLiu就一本正經地對絕影說:"我說BOSS阿,你面試了那么多人,每次都先問人家:'有多少行代碼經驗阿?'經驗當然是要越多越好,但真寫起代碼來,又盡讓人家往'迷你裙'里寫,你這不是自相矛盾嗎?"
絕影也一本正經地回答道:"你不懂,多少行代碼,那是給面試的人看的,'迷你裙',是給自己看的,自己看的東西,當然要好!"
雖說平時在公司,張廠長對絕影明里暗里打壓自己心里很清楚,但近朱者赤近墨者黑,久而久之也受了絕影"迷你裙"理論的熏陶,講起話也是滴水不漏,言多必失阿。
今天聽了張廠長這一席話,絕影在心中暗暗嘀咕:"小張阿,又進步了!"
陳董回過頭來,對絕影說:"我說吧,硬件方面,小絕阿,你還是要多請教請教小張阿,小張,你這個法子不錯,就用這個法子!"
絕影不甘心,試探著問陳董:"那我那個反匯編器呢?"
"你那個先放一放,先集中力量用小張的方法。"
本來絕影期望著陳董給點肯定,挽回點面子,結果反而把僅剩的一點面子都丟掉。所以說有時候阿,不去刻意地挽回面子就是最好的挽回面子。
正如陳董所說,在硬件方面絕影確實該多請教請教張廠長,以前沒用的時候不覺得,總想著在學校里還學了幾年數電模電單片機,瘦死的駱駝比馬大,怎么也比一般人要好一些。到現在真用起來的時候他才發現自己硬件真的很菜,大規模的電路就不說了,張廠長抱來一臺示波器,他竟然像沒見過似地問:"這家伙是啥阿?還挺大的呢!"
張廠長頭也不抬:"示波器。"
"示波器?咋跟書上畫的不一樣呢。"
菜到這個程度,當然只好給張廠長打打下手,平時在公司當慣了頭頭,一下子打起下手來還極不適應。但人就是如此,哪怕你一方面牛上天了又如何?你還不是有不懂的地方。比爾蓋茨不會拍戲,張藝謀不會唱歌,周杰倫不又不會寫程序。
有不懂的地方就要多去學,其實打打下手也無關緊要。怕的就是又不懂又死要面子不愿意多學習多向別人請教。到頭來害了誰,還不是害了自己。別人東西沒少,你自己卻有很多東西沒有得到。
張廠長興致勃勃地又搞了半天,忽然像丟了錢包似地對絕影說:"糟了!"
"怎么了?"
"忘了個重要事情。"
"什么阿?"
"串口通信參數是多少?"
串口通信絕影還是知道的,大二在學校的微機原理課程設計就是做的雙機串口通信。眼看張廠長落了難,絕影現在反而有點幸災樂禍地說道:"當初你講得頭頭是道,我還以為一切盡在你掌握中,還得我放棄反匯編器屁顛屁顛跑來跟你搞,結果你連這個都還不清楚,串口通信參數都不知道還搞個P阿,什么波特率奇偶位停止位數據位,這么多參數,難道一個一個排列組合來試?"
"事到如今,恐怕只有一個一個來試了。"
"不好,窮舉法,最笨的辦法,我不用這個。"
"那你再想想別的辦法吧,我先一個個試。"
說實話絕影喜歡把代碼寫得短,在一定程度上和他的懶是息息相關,比如遇到這檔子事,張廠長肯定會一個一個去試驗,別說這事,就是16根I/O引腳讓他去測所有輸入輸出說不定他都會去做,他也不先算算有多少排列組合。
張廠長說完便埋頭忙他自己的。絕影還是覺得自己做的反匯編器是個寶,扔了實在覺得可惜,趁著張廠長埋頭的時候又拿出來把玩一下,看著反匯編出來的一行行熟悉的代碼,突然想起什么似地對張廠長說:"別去瞎整了,我有辦法。"
張廠長疑惑地回過頭來。
絕影樣樣得意地說:"看我的反匯編器。"
"都到現在了,你還想這把代碼全部反編譯出來?我問你,那得多長時間?"
"沒兩三個月肯定反編譯不出來。"
"那就對了,陳董還會等你兩三個月?"
"我說的兩三個月,是反編譯出全部代碼,翻譯成C語言的,但是如果只把這里面串口通信參數設置相關的部分反出來,最多只需要要半天。"
雖然絕影說話的語氣非常自信,但張廠長還是疑惑地看著他:"你那反匯編器,反匯編出來的代碼真的是對的嗎?"
"對不對看串口的設置就知道了。"
事實證明絕影的反匯編器是對的,因為從反匯編代碼中正確找到了串口參數,他們后來的工作進展得非常順利。張廠長用ARM芯片成功地替代了Motorola芯片并做出一個控制端的雛形,陳董又要求絕影用VC在PC上做了一個軟件控制端。
絕影沒料到陳董還有這個要求,原以為只要全心全意輔助張廠長把硬件搞完,大家就可以皆大歡喜回家過生日,但陳董看著項目進展順利又提出附加要求,所以說員工阿,你無論如何努力都沒法讓老板滿足的,今天你給他拉了一車磚,明天他就琢磨著看你還能不能再多拉半車出來,但是你又不能拉得太少了,別人能拉一車,你只拉半車,拿要不了多久老板就會抄你魷魚。CASE的進度如何拿捏,在員工和老板之間,看來還是個復雜的博弈過程阿。
絕影本來想告訴陳董自己對燕兒有承諾,過生日之前一定要回家,但他還是沒有說,正如他對燕兒說的,要是過生日前回不去,我就直接辭職了。放不放我回去,由你說,辭不辭,還得我自己做主,關鍵是我在過生日前能把CASE做完,也就問心無愧了。
抱著這樣的心理,絕影又投入到了日以繼夜的開發中。這時候張廠長卻有閑了下來。其實以前在公司大多時候也是這樣,軟件公司嘛,軟件上的CASE肯定要比硬件多,張廠長和絕影都已經習慣了這樣。只是這一次,張廠長忍不住說:"你干嘛把自己弄得那么累呢?"
"不累就做不完。"
"做不完你可以跟BOSS重新要求時間嘛,你把進度拖快了,搞得我們以后做什么CASE都得按照你的進度來。再說了,你天天加班加點,又沒有更多的獎金給你。"
這時候,絕影一本正經地說:"我知道,也許我用十倍的努力只能比別人多出一倍的收入,但是我也知道,如果我不用上這十倍的努力,我連一倍都多不出來。"
他這樣說,其實心里在想:我只想早點做完,過生日之前回去。
用這么短的時間,軟件可以做得很漂亮,但硬件又要制版又要安裝的,也只出來一個雛形,張廠長也沒心思去優化他。驗收那天,陳董和對方徐總整整談判了一上午,到中午吃飯的時候,兩個老總來到車間,看了兩人的成果,徐總拍著絕影的肩說:"小伙子,不錯阿,這么短的時間里,做出這么好的東西。"
那一刻,絕影突然感覺很久都沒感覺到的幸福,也許上一次,還是50行代碼100塊錢的那件事。這是第一次,不管是BOSS還是用戶對他說:"小伙子,不錯阿。"這不是他一直以來追求的別人的肯定么?
晚上興奮得睡不著,給燕兒打個電話,抑制不住內心的喜悅對她說:"CASE驗收通過了,很成功,非常成功。我明天就往回走,生日之前肯定能到家。"
其實,自己的成果能得到別人特別是用戶的肯定,又能和自己心愛的人分享,這已經是世界上最幸福的事情了。幸福都是有限度的,如果你想的幸福是自己在一個月里就做出的東西既能得到別人的肯定,又能賺到這輩子都花不完的錢,還能由此得到某個心儀已經的MM的親睞,那恐怕你這輩子都得不到幸福。
這次燕兒卻沒像以前那樣和他一起高興,她避開這個問題反而問絕影:"我們家的電腦,怎么才能和別人的共享上網阿?"
"干嘛要共享上網?"
"我一個朋友,他帶了筆記本來我們家,想一起上網。"
"朋友?這么晚了,男的女的?"
他正這樣問的時候,聽見電話里有人叫她,是男的聲音,于是不等燕兒回答,搶先說:"你不用說了。"說完便重重地掛了電話。
忽然間,絕影感覺渾身的血都在涌動,他想也沒想,馬上給媽媽打個電話說:"你明天去燕兒那里把房鑰匙拿回來,讓她把她的東西都收拾好,讓她滾!"
媽媽聽得摸不著頭,看絕影的語氣又氣又急,忙說:"什么事?怎么回事?慢慢說。"
"還有什么好說的?這么晚了,我不在家,她居然留別的男的在家過夜,讓她滾!"說完,不等媽媽繼續說什么,又重重的掛了電話。
那一夜,他又沒睡著。
附記:哀悼日
到今天,地震已經整整過去了十天。我發現我自己的心態也在隨著時間的變化而變化。
回想一下,最開始,心里總是害怕,從來沒遇見地震,覺得真的很害怕,以至于每次剛回家,就覺得地又動了,真是膽戰心驚。
19號,20號,21號是全國哀悼日。這一天,很早我就坐在收音機前,等待著和全國人民一起默哀。這幾天來,電臺也一刻不停地直播著。就在離2點28分大約還有半小時的時候,忽然又來了次比較大的余震,我感覺到地又動了起來。這時候,我也聽到收音機里傳來嘩啦嘩啦的聲音,大概是播音室也搖了起來。又本能地感覺到害怕。
廣播里停頓了一下,大概一兩秒,接著又繼續播音,像什么事情也沒發生過,廣播里繼續傳來嘩啦嘩啦的聲音。
這一刻,我忽然很感動,其實這次震災中,有許許多多感人的故事,我和大部分人一樣對這些事情都沒有親歷,即使這樣我們還是覺得很感動。這一次,我卻是親歷的。我們一樣在這個城市,我們一樣經歷過地震,我們一樣也正經歷著余震。但是播音員還是盡職盡責得繼續播音,從他們的語氣中我沒有聽到絲毫的害怕和退縮,為什么?因為堅定的意志,因為他們是在為大家服務,在這個時候他們不能害怕,他們害怕,我們就更害怕。
人們站了起來,汽車停了下來,汽笛和防空警報都響了起來。這是我一生中第一次聽到防空鈴,鈴聲中沒有恐怖,只有悲奮。我們悲傷了,但更要振奮。這個時候,我感覺到全國人民,還有世界上許許多多的人們都和我們在一起,都在親歷這場地震。還有什么好害怕的呢?我們不能害怕,如果我們害怕,大家就都害怕。
所以鼓起勇氣,從害怕中走出來。去幫助更多的人,去鼓舞更多的人。
地震阿,撼山易,撼人心難
- 1 Hello World
- 2 DOS
- 3 第一個夢想
- 4 電源里的病毒
- 5 尋址方式
- 6 黑客
- 7 《黑客防線》
- 8 魔術師的雙手
- 9 又是尋址方式
- 10 墮落
- 11 轉折點
- 12 “影總”
- 13 告別光棍的光棍節
- 14 女人的敵人
- 15 魚和熊掌
- 16 兼職
- 17 另類的方法
- 18 RMB500
- 19 天天上網的工作
- 20 應聘
- 21 MFC
- 22 畢業設計
- 23 出差
- 24 BOSSLiu
- 25 應聘的美女
- 26 多線程
- 27 畢業
- 28 黑屏
- 29 C++和ASM
- 30 RMB2000
- 31 大CASE
- 32 BOSSLiu的離去
- 33 燕兒的工作
- 34 HONDA
- 35 技術主管
- 36 DAP
- 37 動搖
- 38 張廠長的遙控器
- 39 真正的注冊機
- 40 精華和糟粕
- 41 網吧
- 42 工資和房價
- 43 背出來的面試題
- 44 真正的大CASE
- 45 向業主致敬
- 46 DHTML
- 47 先進性
- 48 非洲
- 49 技術經理
- 50 BugYang
- 51 游戲
- 52 大棒和胡蘿卜
- 53 Architect
- 54 EB失敗
- 55 北京
- 56 反匯編器
- 57 貧民窟
- 58 大爺
- 59 BugYang的心事
- 60 Nothing Impossible
- 61 周總的斷言
- 62 曹操的馬
- 63 BugYang進京
- 64 BugYang離去
- 65 辭職
- 66 球不是一個人踢的
- 67 短信
- 68 外掛
- 69 小朱
- 70 分手
- 71 New
- 72 西班牙布局
- 73 100萬用戶
- 74 Bayerische Motorenwerke J
- 75 搞IT的民工
- 76 瘋狂的程序員
- 77 開店
- 78 土匪的新工作
- 79 fatal error
- 80 夭折
- 81 丁骨牛排
- 82 資本家的艱辛
- 83 相親
- 84 BOSScLiu和VB
- 85 王老板
- 86 裝孫子
- 87 CASE Closed
- 99 后記