2008年1月31日 星期四

XD! 科技人也是很迷信的


  這兩天,我因為要解絕某個燙手山芋、大家避之唯恐不及、鬼魅般難解的系統與網路問題,勤跑某金控的機房...到門口如下圖,有沒有察覺什麼不對嗎?



  轉頭看向另一邊,似乎機櫃上有某種降頭壓在上面...



  靠!乖乖病毒已經徹底感染佔據某金控機房!( 噓~~不要說出去是哪一家... )



  滿坑滿谷在機房繁殖的乖乖....





  銀行資訊人員的心聲:『乖,小的我今年能否安心回鄉過年就靠您了。眾資訊系統請慢用,吾等絕不敢怠慢,請高抬貴手。』



  來個乖乖供養系統大神的合照吧。



  等等,這邊是...?



  靠!連空調冷氣機也要吃乖乖啊!是啊,要是大小眼惹得空調大神不爽,空調大神一罷工,可是會連帶牽連資訊系統大神跟著不爽,然後集體罷工...有道理,說得過去。



  離開前看著這滿坑滿谷的乖乖,沒想到以往和同事間的玩笑話竟然在這邊親眼所見血淋淋地上演著,哪天我是否會遇到一個客戶的機房,所有的機櫃外都貼上『勒令禁止當機』道士黃符?我相信在某個角落一定有這樣的機房存在。高科技人士的迷信程度其實並沒有比較低啊...



[ 轉貼 ] 十年一覺程設夢 ( 中 )


前情提要點此


  2007 年四月某晚 8 點多時, 接到 Jerry 秘書的電話, 說要找我一起吃飯. 搭著 Jerry 的 Lexus 460 LS 加長豪華版, 去台北藝術大學吃飯. 席間才得知, 原來 Jonney 交代 Jerry 去執行百元電腦計畫, 但 Jonney 一直對軟體部分放心不下, 要 Jerry特別留意, Jerry 就請 HC 推薦合適的軟體人員來幫他看軟體這一塊.


  雖然 HC 大力推薦, 但 Jerry 擔心我常跟其他軟體部門有磨擦, HC 反問他, 是要找一個會打仗, 攻山頭的人 ( 對啦, 這種人死的最快, 無法享受勝利成果 ), 還是守成, 注重部門和諧圓容的主管 ( 割稻尾最在行, 處世圓融, 見縫插針 ). 幾經思考後, Jerry 最後還是找上我.


  其實在 2007 年 1 月時, Jerry 因底下的 PM 不懂軟體, 就叫我幫他看數位像框的發展機會, 我經過 2 天的技術 survey 後, 建議他取消, 因以其成本, 大可做一台 Thin Client 或 WebPAD. 如果真得要做, 建議 PM 考慮用 VIA C3 CPU + Linux 來開發.


  而邀請 VIA CPU Sale 來開會時, 負責 AMD 百元電腦的 PM 也跑來插花. 後因華碩跟 VIA, AMD 價格談不攏, 最後連百元電腦的案子都停矲. 所幸 Intel 看到 AMD 在 OLPC 上的聲勢, 為防止 AMD 鹹魚翻身, 就跟華碩合作, 進入百元電腦市場, 而使這台小電腦起死回生.


  餐敘後隔天就跟 PM, MID 等相關人員, 一起被關到北投春天酒店. 2 天後趕出百元電腦的UI/軟體功能規格初稿. ( 吃了兩天的生魚片, 真得有點反胃 )


  那時候公司內部並不看好百元電腦的前途, 只好用我們這群從四處徵招來的散兵游勇來執行. 但因這是 Jonney 非常重視的案子, 使 Jerry 認真執行, 一個星期開 3 次會, 常常開到凌晨.


  當時也不知道百元電腦會不會起來, 但與其繼續待在 NB team 被冰凍, 到不如把握這個機會闖一闖. 百元電腦是個人人不看好的案子, 沒有高官想進來插旗佔山頭, 完全沒有歷史包袱. 只有一群笨蛋, 傻傻的做. 有點像在公司內部創業的感覺, 如同 VGA 部門剛成立時一樣, 大家只想把東西做好. Just Do It! 而不會去想些有的沒的, 非技術性的事情.


  出關後, 上網查一下 Intel 對百元電腦的策略, 結果發現另一個消息, 原來 Intel 老早把 Xscale CPU 賣給 MARVEL, 全力專攻 X86 CPU 的省電技術, 並在以色列海法分部進行該專案.


  雖然那時 HC 知道我想換部門, 叫我去幫他看車用電腦這一塊, 但他底下也有山頭問題, 犯不著跟那些人玩政治. 而且我覺得跟隨 Intel 腳步比較有搞頭, 如同宏達電跟隨微軟般. 新興的產品, 有大公司在背後推, 才有機會成功.


  所以就接受 Jerry 的邀約, 加入百元電腦團隊. 忙了 1 個月多月後, 在 2007 年台北電腦國際展上, Jonney 拿出這一部百元電腦亮相, 並正式命名為 Eee PC.


  EeePC 會不會是曇花一現, 或是乘勢崛起, 我不曉得. 但我個人相信, 在 UMPC/MID 這塊領域能存活下來而且能獲利的, 必定是強調系統整合功能的公司, 絕對不是只相想靠低價成本搶單的公司.


  我非常佩服宏達電, 死死跟著 MS 的 Window Mobile 平台. 跟到第 4 年時, 公司差點倒閉. 因而引進王雪紅的資金. 但等到 WinCE 3.0 夠穩定, 能拿出來賣時, 宏達電是第一家有量產能力的公司. 同時它也聘請許多軟體工程師來做系統整合.


  當宏達電推自有品牌時, 一堆分析師看衰. 但因系統整合難度高, 其他手機代工公司是看的到, 吃不著. 後來連原先解約的電信公司, 迫於市場現實壓力, 也回頭找它代工, 甚至直接貼牌.


  我是天生反骨, 在 WinTel 體制下討生活討了 10 年, 因為了解所以不滿, 對其架構, 越看越不順眼. 在我眼中, EeePC 應是屬消費性電子產品, 但又需具有 PC 般的擴充能力. 能執行現有 Linux/Windows 龐大的 X86 base 軟體, 讓 User 可以自行添加自己慣用的軟體. 而不會像 PDA, 手機般, 被綁得死死.


  若按照傳統 NB 的觀念來設計, 鐵定無法持續穩住目前的地位. 競爭對手只要猛攻低價化, 體積小的罩門, 很快就追上來.


  現階段 EeePC 競爭對手, 都是以硬體成本來挑戰 EeePC . 談硬體成本 ( CPU, Panel, Battery ) 的功力, Acer, HP, Dell 會輸華碩嗎? 談垂直整合生產製造, 鴻海會輸華碩嗎? 更何況還有 Apple 神秘的 iBook.


  等 2008 年 Q2/Q3 這些重量級廠商的類似產品陸續出籠後, 必定是一場大廝殺. 策略不對, 研發能力不強化的話, EeePC 鐵定被痛宰! 或許現在一些的好消息, 讓華碩一些人飄飄然, 我可是蠻憂心, 挫著等.


  若 EeePC 朝更輕更薄, 更穩定, 更省電, 更快速開關機, 影音品質更好, 螢幕更大, 操作介面更人性化, 而且能控制住價格. 或許能產生許多差異性系統功能來持續吸引 USER 的眼光.


  其中系統穩定/省電功能/影音品質/人機操作介面, 軟體都可以幫的上忙.


  當然, 打嘴砲想當官性格的我, 一定會考慮到:

  沒人逼你做, 卻笨到自己主動挖個洞, 往下跳. 給自己找麻煩.

  做出來, 沒人感激你, 反而還惹毛一些人.

  做不出來, 別人逮到機會落井下石, 說你是大嘴巴, 愛吹牛.

  若乖乖按照現有 NB 業界的安全方法來做, 跟大家都一樣.

  老闆拿不出對照組來評估, 當然滿意你的績效.


  如同銀行的資訊長愛用 IBM 的軟體, 如果出問題, 他可說國際級銀行都用 IBM, 拿其他銀行來當擋箭牌. 採用一家名不經傳, 可以省 200 萬成本的本土資訊廠商方案, 萬一出錯, 讓銀行賠上幾千萬時, 鐵定被迫辭職或降級. 老狐狸的資訊長當然打安全牌.


  但工程師性格的我會想:

  如果在相同硬體成本下, 能用軟體充分發揮整所有硬體功能, 創造出更多附加價值, 而且軟體成本是在人事上, 賣 1 萬台跟賣 100 萬台, 是相同的成本. 當 CPU/VGA 硬體能力成長時, 軟體功能也隨之成長, 而且是以加速度來成長.


  另一方面, 軟體也可用來壓低硬體成本. PS3 因用軟體搞定 PS2 相容問題, 而省下 PS2 Chip 的成本. 那 EeePC 可不可以如法泡製? 若有 5 成把握, 我就放手一搏. 只要一台省下 1 塊美金硬體成本, 賣 300 萬台 就省下台幣 9000 萬, 若失敗, 只是多花 2 個人月的成本, 這個算盤實在是太划算!


  而這些觀念也獲得一名協理的支持, 幫忙我跟 BIOS/HW 部門溝通. 要是我出面的話, 根本沒人鳥我.


  這位協理, 以前華碩還小時, 我就跟他有過幾次合作經驗. 這次被關到北投春天酒店, 他 review 某個卡了1 個多月的軟體問題時, 我馬上提出解法. 2 個小時後, RD 回報已經解掉問題, 給他留深刻下印象. 後來在正式成立 EeePC 事業處之時, 他在 Jerry 面前也幫了我不少忙.




  一些 PM 開規格時, 因沒有深厚的技術背景, 為打安全牌, 常常就是:

  1. 照抄大廠 (DELL, HP, Acer) 的規格

  2. 照收 WinTel 的 roadmap.

  3. 照收 component/software 廠商的 solution.


  例如每家都配訊連的 PowerDVD, 在 UI 上打上公司 LOGO 來自欺欺人這種做法只能做到消極防禦, 無法積極攻擊競爭對手. 搞到最後, 大家功能都一模一樣, 只爽到訊連.


  而 Microsoft 在 MCE 2005 上推的 SideShow, 其起因是 PortPlayer 的 MP3 chip 被 Apple 取消用在 iPod上, 而改用 Samsung 的. 為了活下去, 它就跑去向 Microsoft 努力推銷 SideShow 觀念.


  SideShow 說穿了, 就是把 PortPlayer 的 MP3 Player ( 成本 US $50 ) 黏在 NB 背板上, 讓 NB 同時有 X86 CPU 跟 ARM CPU. 當 X86 CPU 關掉時, 可用 ARM CPU 的 SideShow 功能來看 picture, 聽 MP3, 和看 e-mail 通知.


  有沒有搞錯 ? 隨身攜帶的手機都可以做這些事. 一般 User 根本不需要這種華而無用的功能, 而且 SideShow 一直開著會耗掉 NB 電源. 在 NB 上加 SideShow, 獲利者是 PortPlayer, 而倒楣的是 NB 廠.


  在 EeePC 會議上, PM 計畫導入某家 PCI-E 3G 無線網卡, 內建在 EeePC. 同時要求軟體團隊來協助. 有沒有搞錯? 應該是這家公司要從頭包到尾, 自行負責, 它如果做不來, 還有其他家的方案. 哪有動用內部資源去幫外面公司賺錢的道理. PM 到底是領 EeePC 部門的薪水, 還是外面公司的薪水?


  在會議上我就開砲, 認為最重要的是, 趕快推出內建 BlueTooth, 跟能輕鬆與各家 3G 手機連線的軟體. 不必為 3G 上網的功能, 還要讓 USER 負擔 3,4 千元去買額外的 USB/PCI-E 3G 硬體. 況且用 3G 手機, 可馬上解決:

  1. 全球各國 Field Test 的問題

  2. 高速移動時的連線品質.

  3. 讓 3G 手機的電池去負擔天線/3G Chip 的電源, 不用耗掉 EeePC 的電力.


  便宜, 好用 又省電. 對 EeePC 價格, 軟體團隊, 及 User, 是三贏的局面.


  就是這種雞婆個性, 常常撈過界, 挑戰別人的專業, 無意間就得罪別人. 但我覺得, 工作除了賺錢, 還要有理想, 外帶對自我技術的提升, 看看自己的底限為何. 如果自己多花些時間, 從使用者的角度, 來改善產品品質, 幫 user 省錢. 而不是已交差了事的心態來做事. 當參與開發的產品能大賣時, 多分些 Bonus, 能獲得工程師最好的工作滿足感跟合理報酬


  Jerry 看到 EeePC 大受歡迎, 衝到 Amazone 網站最受歡迎 NB 的第一名時, 決定把這堆妾身未明的散兵游勇組織起來, 成為正規軍. 於是成立EeePC 事業處, 地位跟規模將與 NB/MB/手機事業處平起平坐.


未完待續...

2008年1月27日 星期日

[ 轉貼 ] 十年一覺程設夢 ( 上 )


  一向充斥垃圾的 BBS 的 Programming 版,難得出現一篇不錯的文章。看完後才發現這原來是華碩 ( ASUS ) EeePC RD 主管的一篇徵才文,但因為寫得實在用心良苦,就將他收錄至此。


  但是因為篇幅實在太長,我重新排版成合適 HTML 顯示的 Layout 後,會拆成分上中下三篇貼出。這篇文章,真正能激發熱血的宅男工程師,讓我們體會到宅字的真諦:


  宅,因為專注!宅,因為無人能及的執行力!宅,因為無與倫比的熱情與信念!宅,因為萬代的鋼彈模型!


  總之華碩急徵宅男,不夠宅者勿入!





發信人: weber1217.bbs@bbs.cis.nctu.edu.tw (weber), 看板: Language

標 題: 十年一覺程設夢

發信站: 交大資科_BBS (Mon Jan 14 00:42:42 2008)

轉信站: SimFarm!zoonews.ee.ntu!news.kkcity.com.tw!ctu-peer!news.nctu!csnews.cs


  十年一覺程設夢


  本文可視為“我的 DDK 學習經驗”的續篇, 不談軟體技術, 而是寫我在華碩 10 年的職場經驗. 描述學會了 DDK 這套工具, 我是如何運用它, 在工作上落實創意, 供各位參考. 另外我的為官經驗, 可說是失敗中的失敗, 各位可引以為鑑.


  我在華碩的第一位老闆是 HC, 我日後對軟體價值的想法, 受到他的影響極深.


  他以前在宏碁是 Jonney 的助理, 參與天龍中文終端機開發計畫. 當時工作, 是用宏碁自行開發的 ASIC, 搭配 firmware 來處理中文顯示.


  這份工作累積的經驗, 讓他日後有能力自己開一家 VGA Chip IC 公司. 而也使他成為在華碩中最了解軟體價值的董事.


  他在華碩第一份工作, 是從無到有成立 VGA 部門. 當時 3D VGA Chip 霸主是加拿大 ATi , PM 大主管屬意這家公司, 預計與其全面合作. 但 HC從 Chip 架構及規格, 反而看好另一家風中殘燭的 nVidia. 那時候 nVidia 找過麗台跟其他家 VGA 卡廠商, 都吃閉門羹, 沒人想理它.


  部門內成立 3 條產品線, 分別使用 ATi , nVidia, S3 公司的晶片.


  當時與其他部門最大的不同處是, VGA 部門 RD 是以軟3: 硬1的分配. 成為公司部門中, 擁有人數最多, 水準最整齊, 都是台清交碩士畢業的軟體人員. 連我跟他面試時, 還被他嫌在資策會待太久, 怕染上不好習性.


  HC 的個性是, 技術不願受制於人. 他逼 nVidia 吐出所有的 VGA source code, 命令底下一組軟體工程師來做效能最佳化的工作. 我分配到的工作是, 做安裝光碟程式, 及用 X86 組合語言來加速 VGA Driver執行效能 ( 因當時有許多 2D/3D 指令是用 CPU 先處裡過, 然後再傳給 VGA 晶片處裡 ).


  因解掉 1 個 nVidia 驅動程式的 Bug, 使華碩 V3000 繪圖卡領先其他對手, 早 1 個月出貨, 打響公司在 3D VGA 市場的名號. 因為這一點貢獻, 經 HC 推薦, 而獲得 Jonney 額外的獎勵獎金.


  VGA 部門在所有同仁努力下, 不到 2 年時間內, 就擠下原先在台灣第一名的麗台.




  因在驅動程式這個領域的耕耘, 我獲得在資策會時, 做夢也不敢夢到的高額報酬, 有感於當時 ( 1997 年 ) BBS, 雜誌文章皆是財團法人, 學術界人士, 學生的論調, 鮮少來自工業界的聲音. 而且是一面倒向 MIS, 資料庫. 於是在 BBS 上寫篇 " 我的DDK學習經驗 " 文章, 鼓勵其他軟體從業人員, 朝驅動程式發展, 而不是只押寶在 MIS, 資料庫. 當時在 BBS 上引起支持 RAD Tool, MIS, VooDoo 學生的筆戰, 搞到連 HC 去交大演講招募工程師時, 現場都有學生嗆聲點名, 說要找我單挑. 回來後問我是不是覺得時間太閒, 沒事做. ( XD! 現在是 nVidia 還是 VooDoo 活下來 ? MIS 公司還是 IC 公司錢賺的多 ? )


  事隔 3 年後, 在台灣微軟 WinCE 技術研討會上, 有一名微軟工程師趨前自我介紹.


  他原本是在交大擔任助理, 看過該文後, 放棄原有安穩待遇的工作, 自願降薪一半, 投身驅動程式開發領域. 我相信, 經過 MS SmartPhone, SoC 的興起, 聯發科, 宏達電躍昇為股王後, 他現在應居要職領高薪, 遠比當交大助理, 來得更有成就感.


  HC 深信公版公 Driver, 絕對無法支撐起產品競爭力. 於是在不增加任何硬體成本下, 極力要求我們要用軟體來增加附加功能. 而我們也不負他所望, 連續推出 3D Glass, Game OSD, 3D See Through, Time-Shift, Smart Doctor, OverLock 等特殊軟體功能, 讓 Sales 在報章雜誌上, 有材料來連連為華碩繪圖卡創造話題.


  在不到 5 年內, 他成立的 VGA 部門, 成為世界第一品牌的VGA 卡公司. 而以往稱霸的外國 VGA 卡公司, Diamond 跟 Elsa 公司, 一個倒閉, 一個縮編.


  當 Win95 問世, 引發一波 MB 大換潮, 得以讓華碩連續蟬聯 3 年股王 ( 但套句台語, 搖擺沒落魄的久, 10 年內, 股價從 800 多元變成現在的 80 幾元 )


  而 MB 也需要搭配 Win95 驅動程式的安裝光碟出貨, MB 的主管 Jerry 向他要求軟體人力協助. 他就派我去成立 MB 軟體支援課. 我雖然心中不願, 但卻也不得不捨下喜歡的 VGA 驅動程式工作.


  當時的 MB 部門是以 EE 及 BIOS RD 為主導. 軟體支援課形同雞肋般, 扮演的角色, 僅比 QT 部門高一點而已. 工作內容僅是製作安裝光碟, 檢查驅動程式的穩定度. 不過因 MB 種類日益頻繁, 使這份工作變成繁瑣的制式工作. 也讓我心中不時思考, XD! 自己是 RD 還是高級 QT ?


  然而繁瑣工作還是要做, 最後受不了, 我模仿 Win95 Plug and Play 的 driver 安裝機制, 寫出半自動安裝程式, 將公司所有的 Chipset, Audio, Lan 等等 driver 全部放在一張光碟. 當放進光碟機時, 安裝程式自動啟動來偵測 MB 上所有 Device 的 PID/VID, 挑出正確的 driver 供使用者安裝.


  這套方法, 不僅讓這個軟體支援課逃出繁種無聊的工作, 也大大減少 PM 的安裝光碟庫存壓力. 不用一種 MB 就要準備一張光碟, 而是 Intel, SiS, VIA 晶片組系列的 MB, 各一張安裝光碟.


  而我就利用這多出來的工作時間, 私下做一些自己感興趣的題目. 因沒影響到 MB 出貨, 所以 MB PM Joe 跟 Jerry , 根本都不曉得我私下在搞什麼東西.




  有鑑於 Win95 後, MS 宣稱要停止支援 DOS. 我就將 DOS 版的 MB BIOS Flash 程式, 改寫成 Win 版的 WinFlash. 大概撈過界, 惹毛負責 DOS 版 Flash 程式的 RD, 而讓 BIOS Team 不願導入. 完成的 WinFlash 只好靜靜躺在硬碟中.


  過了半年, 當時公司為康柏 ( Compaq, 現被 HP 併購 ) 製作一款無軟碟機, 安裝 WinNT 的 PC. 原先的 DOS Flash 程式無法在其上使用. ( NT 上無法在 DOS 模式下去存取硬體, 也沒有軟碟可以 bootup DOS ).康柏限期要提供解決方法, 藉由康柏施加在 PM 的壓力, 讓這套塵封的 WinFlash 程式, 得以應用到產品上, 在市面流傳.


  而另一家 MB 公司微星, 在我完成 WinFlash 的 2 年後, 也做出做法不同但相同功能的程式, 並在雜誌上大打能在 Win 上作 BIOS flash 的廣告. 看見其他公司的重視程度, 想起自家公司的態度, 真覺得 MB 軟體部門只是個打雜部門, 絲毫不受重視.


  完成 WinFlash 後, 當時 WWW 網路剛興起不久, 洞悉到網路潛力, 我跟部屬合作開發 Asus LiveUpdate, 利用網路, 在 Win95 下來自動更新驅動程式跟 BIOS. 由於 Asus LiveUpdate 是由 Client 跟 Server 兩部分程式組成的. Client 端的檢查, 下載機制完成後, 尚須要後端 Server 的配合, 才能啟動. 但初期 MIS 部門根本無配合意願, 最後透過 HC 的影響力, 總算幫 VGA 部門 架設更新網站. 經過 3 年後, 微軟把類似概念的線上更新功能, 直接內建到 Win 2000. 而現在華碩官方軟體下載網頁, 及 MB/NB/VGA/EeePC 的安裝光碟上, 都存在著這套軟體.


  同一時期 Intel 在 MB 上推出 Health Monitor 的功能, 用來偵測 CPU 溫度, 風扇轉速, 及機殼入侵. 同時推銷網管軟體 LDCM ( Lan DeskTop Configuration Management ) 給公司來 bundle 在 intel 系列主機板上. 而 maintain LDCM 的工作就落到我頭上.


  因 LDCM 既有的 InstallShield 安裝程式, 需事先提供硬體設定檔, 註明 MB 有幾顆風扇, CPU 溫度範圍等資料. 我的天啊 ! 若每一片 MB 都要這樣搞, 那我豈不是被 LDCM 搞死?

  於是修改既有的 InstallShield 程式, 讓它能掛上 device driver. 在安裝過程去偵測有多少顆風扇, CPU 現在溫度, 然後動態產生硬體設定檔, 餵給後面的 LDCM 設定程式去正確執行安裝.


  後來上 LDCM 訓練課程時, 聽到 Intel 人員提到 Acer 一個軟體部門, 正在進行於 LDSM Client-Server 架構下, 從 Server 端把 BIOS / Application / Driver 安裝到 client 端. 於是自己獨力將 WinFlash 修改成 LDCM 能使用的 PLUG-IN module, 提供 MIS 人員直接在 Server 端更新 Client 端 BIOS 的功能.


  因為 Intel 限制 LDCM 只能用在 Intel chipset 系列的 MB 上. HC 叫我想辦法, 在 SiS / VIA Chipset MB 上提供相同功能的軟體. 於是就開發 PC Probe 這套軟體, 但也發現讓問題越來越複雜. 3 家晶片組公司 ( Intel, VIA, SiS ) 有各自不同的介面 / 地址去讀取 Health Monitor, 甚至同家不同系列的晶片組也有所不同, 有用 SMB Bus, 也有用 I2C Bus 的. 而 Health Monitor IC 來源, 也有 3 家 IC 公司提供. 產生一堆晶片組加 Monitor IC 的不同組合.


  做第一片 MB 時, 還覺得有趣. 但做到第 10 片 MB 時, 就覺得又煩又無聊. 所以一直在想, 有沒有一勞永逸的解決方法.




  當初是 1999 年, Win2000 beta 版還在測試, WDM DDK beta 版首度出現在 Win98 ME 上, ACPI BIOS 1.0 spec 也剛出爐.


  看完 ACPI Spec 後, 加上幾年的 Window Programming 經驗, 我察覺到 MS 想利用此一規格, 迫使各硬體系統廠商必須提供 ACPI BIOS, 來讓 Windows OS 能直接控制硬體. 並且把 BIOS 角色壓縮成 Boot Loader. 一但 OS 啟動後, 讓 BIOS 沒有主控權, 以避免 BIOS 影響 OS 運作. ( MS 夠邪惡, 但很明顯並未得逞, 直到現在, 在 Vista 上, programmer 還是可以用 device driver 下 SMI 指令, 讓BIOS 取得控制權 )


  看過 ACPI BIOS 規格跟 WDM DDK beta 版後, 我終於找到處理 Health Monitor IC Access 跟 BIOS Flash 的一勞永逸方法. 讓所有硬體存取相關的動作, 全部集中在 BIOS 的 ACPI ASL code 中, 由應用程式透過 ACPI driver 來讓 ACPI.SYS 執行對應的 ASL ocde. 如此就不用三天兩頭為 SMBus I/O port來改device driver.


  於是一頭栽進去, 偷偷在 Win98 ME 平台上開發 Asus ACPI Driver. 同樣的, 因為有把該做的工作完成, HC 檢查進度時, 沒發覺異樣, 所以才不會對我碎碎唸, 說做這個東西有什麼用.


  但是 ACPI Driver 需要 ACPI ASL code 配合才能啟動. 自知惹毛過 MB BIOS Team, 他們是不會幫忙的. 求人不如求己. 於是找剛成立的 NB BIOS RD 部門, 向其要了 Lotus NB 的 BIOS 原始碼, 自己邊看 ACPI BIOS Spec, 邊在 Lotus 上修改 ACPI ASL code.


  當花了 3 個月時間, 寫出 Asus ACPI Driver 跟對應的 ASL Code 時. 因深知此技術的發展潛力, 便主動開技術介紹會, 邀請 NB/MB BIOS RD 來參加. 但會議結束後, 沒有一個 BIOS RD 感到興趣.


  但我並不灰心, 因 Win2000 WHQL Logo program 規定 BIOS 一定要支援 ACPI. 我知道總有一天, Asus ACPI Driver 會派上用場. 只不過卻沒料到, 這 " 總有一天 ", 卻是在 3 年後才來到.




  2002 年, 公司 的 NB 種類增多. 原先 NB BIOS RD 是直接 program VGA, 在各家 VGA Chip 的 Frame Buffer 上畫 OSD ( On Screen Display ), 但多種不同的繁瑣 VGA Frame Buffer 定址, 讓 NB BIOS 主管 Jason 受不了, 因他有聽過我的 ACPI 技術介紹會, 於是私下請我幫忙解決.


  我當時也沒多想, 本著同公司就應互相幫助, 將 Asus ACPI Driver 原始碼提供出來, 做投影片, 並教 NB 軟體工程師如何移植到 NB 平台. HC 常跟我說, 我是做事的人, 但卻不是做官的料, 有股 RD 的技術狂熱, 卻不懂職場的遊戲規則. 但我毫不在意, 老是把他的話當耳邊風. 但這次無私的 ACPI 技術提供, 不僅沒有獲得任何回饋, ( NB 部門可沒因此而多發薪水股票給我 ). 反而種下 4 年後不愉快的起因.


  雖然那時是在做 MB 的事, 但還是會關心 VGA team 的發展. 把 MB 上學到的 Health Monitor 跟動態超降頻的概念, 介紹給 HC. 在大家一遍喊 VGA 超頻的時候, 逆勢提出降頻觀念. 我認為做文書處理或上網時, VGA 根本不需要啟動 3D Engine 跟拉高頻率. 於是在 VGA 上實作出 Smart Doctor 軟體, 依據 VGA/CPU 實際工作負荷, 來動態超降頻, 以避免 VGA 長期處於高熱超頻狀況, 降低正常使用期限.


  事隔 1 年半後, nVidia 公司受到其他 VGA 卡製造商的壓力, 將這項功能, 直接內建在 Driver 中. 可惜當初沒人告訴我要申請專利. 不過雖然如此, 這套動態超降頻功能, 已經領先其他對手早 1 年半.


  當 VGA 部門闖出名號後, HC 為了尋求下一波成長動力. 將目光擺在當時熱門的 IA 題材: Setop Box 跟 PDA 上. 但因 VGA 軟體人力不足, 想將軟體人力從 MB 部門抽回來, 於是詢問我的意願.


  但他同時也點出, MB 軟體支援課雖然工作無趣繁瑣, 但會影響 MB 出貨, 公司不能沒有這個課, 而且未來將會隨 MB 產能大幅成長變成一個大部門. 但我二話不說, 自廢武功, 自動解散 MB 軟體支援課. 將底下的台清資訊碩士, 從無趣工作中解放出來, 投入 Embedded System 研發專案中. 我也不再想當管理階層, 跟 PM review 進度跟開會, 我覺得是浪費生命.




  在 2002 年時, 掀起一股 IA 熱潮. " PC 已死, IA 當道 ". Embedded System, 如 WinCE 3.0, Embedded Linux, VxWork 紛紛跳上檯面. 我被分派去做以 Embedded Linux 為主 的 Setop Box 跟 Thin Client.


  當時曾接觸過 Luxsonor IC 公司, 原想用其 IC 在 Setop Box 上. Luxsonor 的華裔羅副總, 因意識到 PC 運算能力提升, 以硬體為主的 MPEG2 decoder 將倍受威脅, 後因理念不合, 於是自立門戶, 成立 InterVideo (IVI) DVD 播放軟體公司. 而 Luxsonor 在將 MEPG2 decoder IP 授權給聯發科後, 被 Cirrus Logic 併購.


  因 IA 口號正熱, 一些軟體工程師很容易從傳產股金主募得資金, 在國內外, 小型 Embedded Linux 公司如雨後春筍, 陸續冒出. 連 Mr. Taiwan 谷月涵, 也插花當網虎國際的執行長, 來搞股票上市上櫃. 就可知道這些公司分名是擺明想 A 錢, 用股票換鈔票.( XD! 我打電話給網虎 Sale 問些事情, 結果隔天他就發新聞稿, 說華碩即將採用網虎的 embedded linux )


  在 Setop Box 上的 Embedded Linux 上執行的 Browser 功能很陽春, 涵蓋 PC NetScape/IE 的功能不到 30%, 而他們又無法克服 TV resoultion 及 interlacing 問題. 最後淪落為無實用性的玩具. 我也因而勸阻 HC 入股某家美國 Embedded Linux公司的念頭.


  Settop box 做半年後收起來, 改做 Web Pad, 一共用 Transmata TM5400, NS GEODE, VIA C3 3 家 CPU 來開發原型機.


  開發Transmata TM5400 WebPAD 時, 我負責 BIOS 與負責硬體的同事 Alex, 僅僅兩人完成該 Prototype. 當時我們好像是在搞家庭代工, 什麼事都自己來, 我邊下 BIOS 命令, 他就用 LA 去抓硬體訊號. 那陣子, 雖然壓力大, 但也學到 Phoneix NoteBook BIOS 架構, 並得知更多 Window 與 BIOS 溝通介面.


  當時觸控面板的介面 IC 並無支援傳統 PS2 介面, 於是我寫個 Win98 驅動程式, 用南橋晶片空出來的 GPIO pin 去接收介面 IC 的輸出資料, 透過驅動程式將其轉化成 PS2 Mouse Event, 去模擬出一個 PS2 Mouse Driver. 這是我第一次用軟體驅動程式模擬出特定硬體介面的經驗.


  5 年前的 SoC 剛萌芽, 硬體省電能力很弱, LCD-TV, 跟 LCD Panel 價格昂貴. 原型機完成後, 因暸解成本昂貴, 功能有限. 我向 HC 建議, 不要導入市場. ( 有夠呆吧! 如果煽動成功, 讓老闆投錢投人, 起碼可以撈到個副理官位來做, 至於賺不錢, 那是他家的事, 反正有其他賺錢的部門在養, 怕什麼! )


  結果同時期有兩家公司, 大眾電腦跟旺? 做出 WebPAD 商品, 想也知道, 都賠賠賠, 成了 3 賠產品.


  IA 熱潮的泡沫, 不到 2 年就消失. 但 PDA 因有 Palm 及 WinCE PDA 的銷售成長, 得以繼續生存下來.




  HC 意識到趨勢變化, 停止 Steop Box, WebPad 開發, 將所有軟體人力投入 PDA 開發. 於是我被指派去做 Intel Bulverde VC ( Validated Customer ) 計畫.


  Bulverde 是顆 SoC, 非 CPU. 它將 ARM base CPU, VGA, Peripheral, Memory Controller 全部塞到 1 顆 Chip 中. VC 計畫是, 在 Intel 提供的 pre-alpha SoC 板子上, 架上 MS WinCE 3.0 OS, 寫程式去測試功能.


  當時是利用 ICE, 透過 JTAG 介面來 program SoC, 使 SoC 發出預期的控制訊號, 接著用 LA 去量訊號, 檢查是否正確. 然後每星期回報 Bug 給 Intel 做除錯之用. 簡言之, 就是寫程式幫 Intel 作 SoC 硬體功能驗證測試.


  在參與過 Setop Box, Thin Client, 及 Bulverde VC 計畫, 讓我無意中充實對 IC 規格和硬體設計方面的知識, 有時候當下看是不相干的工作經驗, 往往是日後技術提升的基石. 經歷這時期實作經驗, 對日後軟體設計, 有極大幫助. 但因部門政治因素, 外加 VGA 軟體主管離職. 不得不放下喜歡的 Bulverde VC 計畫, 再度聽從 HC 的安排, 轉任 VGA 軟體主管.


  HC 一直想為 VGA 部門尋找另一波成長動力. 於是指派我去執行 DVD Recorder 及 LCD-TV 專案.


  初接任 VGA 軟體副理一職時, 一位負責維護 Display Driver Hooking 機制的 RD, 提出可以將 Video 結合 3D Game 的點子時, 我贊同他的想法, 並加碼加派一位 RD 去做 MPEG4 壓縮跟網路即時通訊功能來配合. 做出全球首套支援 3D Game 的視訊軟體. Sale 部門看到這套軟體後, 取名為 Game Face 來大力促銷. 隨後因 HC 想在大陸成立一個軟體團隊, 我暫時放下 LCD-TV 案子, 前往蘇州, 武漢, 西安等地的大學去招募員工. ( 有人跑大連, 哈爾濱的路線, 11 月, 還好不是我 ) 因老婆不願舉家遷移到大陸, 在蘇州華鼎成立團隊雛型後就返台.


  在 LCD-TV / DVD Recorder 這些專案中, 我陸續接觸到 WIS, LSI, TI OMAP, Sigma Design, Trident, OPlus, Genesis, PixelWork, Morning Star 等各家的晶片. 這段期間大量接觸各類的 IC 公司, 也讀了一堆相關的 IC spec and datasheet, 我試著去比較各家晶片性能. 遇到不懂的規格名詞時, 就上 Google, 翻 paper, 從基礎理論去了解其規格背後的含義. 而墊下對消費性電子 IC 方面的知識.


  因為國外 IC Design 公司的規格書寫得非常詳細, 我從中接觸到MPEG 2/4, H.264, Scaler, DE-INTERLACE, 視訊規格, 以及色彩學等方面的知識.


  記得當時 Trident 代理商的某個 FAE 很臭屁, 欺負我沒摸過 LCD-TV Chip, 還說 LCD-TV Chip 很有深度, 技術很難懂, 要像他這樣的人才才能搞懂. 結果事後 K 過 paper 跟 Video Demystified後, 才知道他誇口的那些知識, 根本是入門級.


  做這些案子期間, 我觀察到一些 IC 公司只專注在硬體開發, 如 LSI, TI. 而其 IC 所需的 DSP firmware 或 embedded system 卻要系統廠商, 花錢向其他家軟體公司購買, 相關的 Video/Audio codec 授權問題, 也是由系統廠各自向 MPEG2/Dobly 談判. 對玩慣 WinTel 的我為此深感不解. 為何無法提供一套完整的方案, 卻還要系統廠到處張羅硬體,軟體,權利金等事項?


  相同時期, 隨著 SoC 蓬勃發展, 聯發科洞悉到系統廠的需求, 招募眾多軟體工程師, 搭配自家晶片, 提供完整的 solution, 在不到 4 年時間, DVD Recorder 方面就打敗 LSI, 手機晶片方面, 則是嚴重威脅到 TI. 逼得 TI 也出 Davanci SDK for WinCE. 如果 TI 還不親自提供完整 TurnKey Solution, 中低階, 甚至高階手機晶片, 被聯發科攻陷是指日可待.




  在 2000 年, 華碩獲利大幅衰退, Jonney 意識到主機板高毛利時代, 已經一去不返, 連精英都嚴重威脅到華碩 ( 股價 130 : 70 ), 一堆 VGA 部門的軟體工程師, 集體跳槽到精英.


  Jonney 開始推動巨獅計畫. 進行公司組織重整後, VGA 部門被劃給 Jerry. 我因而失去重視軟體功能 HC 的支持, 我曾經因案子無預警被中斷, 當面對著 HC 拍桌子, 但他心胸寬大有雅量, 沒把這件事放在心上, 日後反而常常在暗中拉我一把.


  直屬長官變成 VGA 部門的硬體經理. LCD-TV 專案也被迫停擺, 由 Jerry 新成立的數位家電部門來主導. 而底下的一些軟體工程師看苗頭不對, 全部跳去負責 VGA 卡的軟體單位.


  但上帝關起門時, 同時也為你開了另一扇窗. 2004 年時 MS 推出 Media Center, 並且全球數位電視陸續開播. 雖然處於冰凍狀態, 算是苦中尋樂吧, 花時間 K 數位電視訊號規格, 去了解 RF, IF, BF, demodulator,及 OFDM 編碼的原理. 從這些規格跟通訊編碼原理中, 找到屬於技術人員的樂趣. ( 數位電視訊號規格有牽涉到視訊壓縮, 因有看過 MPEG2/H.264 資料, 所以蠻快就進入狀況. 有燒香就有保佑, 有讀書就有收穫 )


  不久後, Jerry 對 Barebone 部門報以高度的期許, 於是我轉移陣地, 設立一個軟體團隊來支援 Barebone 部門, 雖然還掛在 VGA 部門, 但 VGA 部門最高主管早就不理我, 考績被打得很爛.


  在 BareBone 部門初期幫忙接 Samsung 的代工案及自有品牌 E-Spreso. 但後期 Barebone PM 部門換主管後, 無意朝創新發展, 以衝產量為優先. 也不管軟體功能, 把底下的工程師當工具來使用.


  為了不讓底下的軟體工程師閒閒沒事幹. 加上看到 MB/NB 朝消費性電子化的發展趨勢, 同時也知道 LCD Panel 的色彩缺陷性. 我不想浪費在 LCD-TV 專案上獲得的一些研究經驗, 於是開案子, 將 LCD-TV 色彩處理功能導入到 VGA/NB 上.


  初期我將這個概念跟專利草稿給另一家 IC 設計的子公司參考, 希望能共同開發. 但後來子公司毫無分享意願. 認清現實一面後, 靠人不如靠己, 我分配 2 名 RD, 成立 Cameleon ( 變色龍 ) 專案,從事 NB 上的色彩功能開發, 並將此觀念介紹給某位 NB 高級 PM.


  因為這位高階 PM 是工程師出身, 有過 TV CRT 的相關開發經驗, 知道此功能的實用性. 雖然NB 內部有阻力存在, 但他仍盡力協助我在 NB 部門內介紹這項功能.


  幸運的是, 當時 Toshiba 推出強調色澤鮮艷的 Qosmio NoteBook, 該 NB 加裝 1 顆我以前摸過的 Trident LCD-TV Chip, 用來處理色彩運算. 而公司代工的另一家日系公司也想要有類似功能. 要求 NB team 評估用日本 Jepico 影像處理 IC 在其代工 NB 上的可能性.


  就在日系公司派出技術科長來台灣, 討論代工 NB 的技術相關問題時. IC 子公司透過高層主管安排, 向其 demo 他們開發的色彩軟體功能. 而我是幸好有該 PM 的私下安排, 向日本科長展示 Cameleon.


  雖然IC 子公司想透過高層主管的政治影響力, 來左右日系公司的選擇. 但在看過 IC 子公司, Cameleon, 及 Jepico 3 種解決方案後, 基於擴充性, 效能, 及價格的考量. 日系公司決定採用 Cameleon, 並派出其 TV 部門技師, 提供調校色彩參數, 來配合 Cameleon 使用, 正式導入在日本銷售的 NB 上.


  因為日系公司採用, 形成強而有力的背書, 原先反對的人都默不出聲, 順利消除 NB 部門內部阻力, Sales 部門將 Cameleon 改名為 Video Splendid, 如同 Asus ACPI Driver 般, 成為公司 NB 的基本功能.


  由於 Jerry 所轄的 VGA/Barebone 部門主管, 無意朝創新發展, 只優先衝產量. 外加看到 XBox 360/ PS 3 研發售價消息不斷冒出, 以及 LCD-TV 低價化. 魔獸爭霸也放出消息要移植到 Xbox 360 上時, 我判斷高階 VGA 卡, DMA 及客廳式 PC, 絕對不是 Xbox 360 / PS 3 的對手.


  試問當一台 Blue-Ray BD, 40 GB HDD, WLAN 801g 無線上網, 3 顆 CPU 的 PS3 只賣台幣 1 萬 4 千時, 還會有多少人去買 1 張 1 萬多元的高階 VGA 卡 ?


  MS 跟 Sony 可以賣一台虧一台, 以後靠 content service 跟 game license 來獲利. 但 Dell, HP, Acer, Asus 有可能虧錢賣 PC/NB/VGA 嗎 ?


  NB 市場的 VGA 方案都是內建, VGA 卡公司是看的到吃不著. 同時 NB 長力道已經逐步趕上 Desktop 時. 看不出有其它位來發展機會, 於是離開 VGA 部門, 轉調到以系統為主的 NB 部門.




  公司一變大, 一些事情再也不是以技術優劣來考量. 原先以為在 NB Team 可以開發第 2 代的 ACPI Driver 及 Video Splenedid, 尤其是 ACPI BIOS 已經出到 3.0B 版, 而 ASUS ACPI Driver 還停留在 7 年前的 ACPI BIOS 1.0 時.


  但這些想法都被 NB 軟體大主管拒絕. 有次討論工廠測試流程時, 還跟我解釋 ACPI Driver 的功能. 當時心想, 他還以為 ACPI Driver 真的是他手下自行開發出來的.


  在不被重用, 近乎被冷凍的狀況下. 又開始自己找事做, 看到大部分人用 NB 時, 通常是用 Mouse 居多, 而 TouchPad 就白白浪費在那邊. 加上當時 iPod的觸控螢幕功能造成熱門話題. 所以交代部下去搞個將 TouchPad 當 Touch Panel 用的程式並申請專利.


  結果搞出來後, PM 對其興趣缺缺. 但卻沒料到,過 1 年半後, 在 2008 年 CES show 展上, NB Sales 把這個 TouchPad 功能當成一個賣點.


  因從 2004 WinHEC 資料得知, 微軟即將力推 MCE 2005 跟 Vista Premium (code name Diamond), 會拉升 NB 對 TV 功能需求. 又看到大陸工資成長的趨勢, 及公司內部如火如荼的 LSS 精實運動. 我想到用軟體自動化來做工廠檢測.


  當時 NB工廠大多依賴人工作檢測, 無法有精確的量化數據. 在 6 Sigma 的 DMCIA 步驟中, 需有 M (Measurement) 步驟提供量化數據, 以統計手法分析, 作為方案效果評估, 來找出引起品質差異化的關鍵.


  假想若能提供每月數十萬台的 NB 測試量化數據來加以分析, 又能加速測試流程, 減少作業員需求量. 對公司的硬體設計, 供應商的電子元件良率控制, 應當有所幫助.


  於是實際到工廠待一個下午, 發現作業員真辛苦, 因為工廠沒能力去寫測試程式, 為了測試 TV, Camera, Audio 的功能, 須操作繁複設定的商用應用程式 ( IVI Home Theate, Cyberlink Power Cinema, 3D Mark 2003), 以人眼人耳去判斷, 而長期沿用 DOS/Assembly 的單工觀念, 將刺是測試幾個小站, 一站一站去測, 絲毫沒利用到目前 CPU/Windows 的多工能力, 也無法執行驅動程式來測試 device 功能. 而在測試聲音時, NB 啦叭跟機具運轉的噪音, 此起彼落, 真是個惡劣工作環境.


  於是回來後寫個快速測試 TV/camera 的程式, 交給部屬, 由他修改介面, 依工廠需求, 協助導入 Digital/Analog TV 軟體檢測, 因 MCE 2005/Vista Premium 的 NB 產量持續成長, 對 TV 的檢測需求, 大幅成長. 這套方便的 TV/Camera 檢測程式很快就正式導入 NB 生產線, 頗受作業員的歡迎.


  受到順利導入的鼓舞, 我計畫接下來開發 Audio, WLAN, BlueTooth 等檢測功能. 再度請出 Google 大神, 上網查聲音相關的論文跟原理文章, 最後使用麻省理工學院的快速複利葉轉換程式庫( MIT FFTW), 以及參考普林斯頓聲音研究室 ( Princeton Sound Lab ) 的公開原始碼, 在 DirectSound 上寫一個可同時測錄放音功能的快速聲頻檢測程式, 來檢測 NB 聲音輸出入 的 Channel Balance, Frequency Response, Total Harmonic Distortion, Back Ground Noise Level 品質. 為了確保聲音檢測的正確性, 我拿商用音頻測試軟體 SpectraLab 來比對.


  但是要導入時, 又發生政治因素, 讓快速音頻檢測程式無法上線. 軟體主管單位擺明, 要導入的話, 就把原始碼全部公開給他們, 並提供訓練課程. 不然的話, 就別想導入.


  大概因接 2 連 3 惹毛其他軟體部門, 造成 NB 新主管在管理上的困擾. 最後他丟個 PC Camera 的案子給我做. 並告訴我只准做這個案子, 不要再亂想或亂碰其他案子, 免得跟其他部門起衝突. 好吧, 反正不是第一次, 我再度發揮苦中尋樂精神, 自我尋找技術人員的樂趣.


  於是跟幾家 Camera USB IC 公司接洽, 初期因剛接觸 PC Camera 領域, 對相關技術不懂. 於是把 PC Camera 整個軟硬體架構拆解掉, 從 Lens, CMOS sensor, 步進馬達, USB IC, UVC/WDM Capture driver, KsProxy, DirectShow 等硬韌軟體功能, 從頭到尾走過一次.


  知道影像清晰度跟色彩對 camera 非常重要, 就花時間做快速 Auto Focus, 因嫌 USB IC 的清晰度判斷能力太爛, 自己寫 MTF base 清晰判斷程式來取代. 並上網去讀 Glass/Plastic Len 鍍膜對色彩的影響, 以及 CCD vs CMOS sensor 的色彩處理物理特性的優略點分析.


  甚至到最後, 覺得 CMOS sensor 的硬體色彩處理功能 (3x3 matrix process), 還是無法真正解決色偏問題, 還找到 Nikkon 的色彩處理晶片專利文章, 來了解 Nikkon 單眼相機對色偏的解法.


  在看過 Micron CMOS Sensor 2020 的 datasheet 及 USB UVC Spec 後, 花了 2, 3 個月, 去修改 USB IC 8051 firmware, 利用 UVC Extension 介面從 Windows App 關掉 USB IC 的功能, 直接去 program CMOS sensor. 才發覺原來一開始被 USB IC 公司的 sales 給呼攏了.


  原來 USB IC 公司把 Micron 2020 優異的硬體功能關掉, 只開自家 IC 的影像處理功能. 而 Sales 宣稱其因 IC 具有特殊的附加功能, 如 AWB, Scaling, Sharpness detection 等, 所以要賣得比較貴.


  但單純從運算速度來看, USB IC 的 8051 根本比不上 Micron 2020 的 68H11. 而這些功能可以被 CMOS sensor, VGA Scaling 及 Window App 所取代, 而且效果遠遠超過它.


  因 PC Camera 硬體設計進度一直拖延, 要做不做的. 一直等也不是辦法. 為了證明自己不是只會放砲愛吹牛, 寫虛擬攝影機驅動程式, 用 UVC Extension 介面去控制步進馬達, 做出快速自動對焦. ( 1.2 秒, 可以更快, 但受限於馬達步進機構精密度的缺陷 )


  將擷取到的畫面導入 VGA Vertex/Pixel Shader, 去做 face detection. 同時研讀微軟北京軟體學院的電子白板相關論文. 想將電子白板的功能導入虛擬攝影機驅動程式. 但最後還是看出主管並無心去推動這個案子.


  經過 WinFlash, Asus ACPI Driver, Video Splendid 的推動經驗後, 我已經對由內部推動創新的方法絕望, 都要靠外部的市場壓力, 來彌平內部阻力, 一些被 PM/RD 主管輕視的軟體功能才能出頭.


  這時興起辭職去其他系統廠發展的想法. 但就如同電影 " 東方不敗 " 中所說 :

  "江湖在哪裡? 有人的地方就有江湖 !"


  其他系統廠也會存在相同狀況, 如果沒有總經理級的支持, 到時候鐵定也是被排擠的份. 在華碩起碼還有 HC 知道我是會做事的人. 還好過沒多久, 果真 HC 就暗中幫了我一把.


=== 未完待續 ===

Google+ Badge