Working Remotely (via SSH) Rocks! from Kent Chen @ Speaker Deck
Apple, Mac OS X, Linux, Embedded System, Vim Rocks, Blogger Hack ... VIVOTEK nOOb
| [+/-] |
[Slide] Working Remotely (via SSH) Rocks! / 偽遠距工作之在家加班寫程式超爽der(誤) |
| [+/-] |
[Slide] TMUX Rocks! / 地表上最強終端复用器(Terminal Multiplexer) |
| [+/-] |
[Slide] Comet in VIVOTEK Network Camera / 應用於VIVOTEK網路攝影機的Comet技術 |
| [+/-] |
[Slide] Vim Rocks! + Slideshare vs. Speaker Deck / 地表上最強編輯器Vim |
| [+/-] |
[GEEK] My new toy - ASCII Art / 新玩具 - ASCII 圖 |

.icat - image cat: https://github.com/atextor/icat
.Intro: Outputs an image on a 256-color enabled terminal with UTF-8 locale, such as gnome-terminal, konsole or rxvt-unicode (urxvt).
.ASCII Art(Generated by ME): https://github.com/chenkaie/DotFiles/tree/master/ascii-photo
接著就來分享幾張令人著迷的256色ASCII Art:
| [+/-] |
[轉載] 十年一覺程設夢 |
自從2/11日退伍之後,就好久沒有發文了,因為要開始找工作賣肝啦..●.●,最近一直都在104,PTT tech_job版晃來晃去的,希望能找到個好頭路呀!因此也亂看了不少文章,來轉貼一篇好文唄,推薦給所有的電腦工程師看看,看完(很長,內容很充實)保證讓人熱血沸騰。
發信人: weber1217.bbs@bbs.cis.nctu.edu.tw (weber), 看板: Programming
標 題: 十年一覺程設夢
發信站: 交大資科_BBS (Mon Jan 14 00:42:42 2008)
轉信站: ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.ee.ttu!csnews.cs.nctu!
十年一覺程設夢
本文可視為 “我的 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 就暗中幫了我一把.
---------------------------------------------------------------------
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/手機事業處平起平坐.
---------------------------------------------------------------------
原先我喜歡當工程師, 獨自躲在安靜的角落, 把上級交代的事做完後,
就天馬行空想新點子, 上網找資料看論文, 然後動手實作出來.
坦白說, 軟體工程師是蠻幸福的, 只需一台 PC, 有上網環境, 就可以
實踐創意. 不需像硬體工程師需要一堆設備跟很多單位配合, 才能動手.
然而經歷過 6 年不受重視被冰凍的職場生涯後, 我的態度改變了.
公司規模變很大後, 一些事情都慢慢變複雜, 日後能給我自由空間發揮
的直屬高級主管恐怕也不多見. 而且遇上一些案子, 高層會先考量需求
的研發/維護人力, 來交給一個 team, 而非一個人來執行.
工程師的我永遠是邊緣人, 只有發生問題解不掉時, 才會想到我.
而論功行賞, 封官加爵時, 根本忘記我的存在, 鐵定沒我的份.
成立有戰鬥力的研發團隊, 是很費時費力, 還要靠運氣(產品大賣).
但要摧毀它, 只需派個只會打嘴砲的主管, 不出半年, 很快就搞定.
與其如此, 倒不如自己出任管理階層, 參與高層主管決策, 來爭取預算,
在自己業務範圍內, 營造出良好軟體開發環境, 吸引志同道合的 RD,
將所學 10 幾年的軟體經驗承傳下去, 為公司培養具執行能力的中階幹部,
來擔任士官長的角色. 只要具工程師性格, 有創意跟執行力的中階主管,
越來越多時, 我在公司內部, 才不會到處被視為麻煩製造者.
若 EeePC 打算要衝出 500 百萬台的大量, 需要成立更多課級單位,
應付現階段出貨需求, 著手開發未來次代機種, 以及研發新軟體技術,
拉高技術競爭門檻, 降低生產成本. 到時候就急需一群能獨立作戰,
充分授權的士官長來貫測執行.
軟體產業不是比人多, 而是比頭腦好的產業. 派個沒實務經驗的
軟體主管, 馬上去大陸找一堆 2, 3 百個軟體人員來成立軟體部門,
沒有 20 幾個中階幹部來有組織規劃, 落實執行, 鐵定是一場災難.
我原本打算只成立小型團隊, 從 2007 年 7 月時慢慢找, 才找到一些
合適人員. 但因接下來 EeePC 的延生機種, 系統客制化, 以及相關
軟體的開發, 讓高層一直催促我要儲備更多的軟體人才, 來應付未來
的產品規劃.
要加人可以, 但我要高層先答應, 以後分 Bonus 時, 是要看部門績效,
而不是數人頭. 如果我夠厲害, 其他軟體部門要用 10 個人做的績效,
而我能用 4 個人搞定. 到時就分 7 個人的 quota 給這 4 個人.
如此公司可省 3 個人事成本, 而有實質貢獻的 RD 可拿到較好薪水,
願意長期待下來, 自我提升技術, 創造更多競爭力. 造成雙贏局面.
另一方面, 若 EeePC 未來銷售不如預期, 養不起這麼多軟體工程師時,
我還能確保部門內 RD 的薪資能優於其他部門, 不用辭退多餘人力.
為了引進更多志同道合的夥伴, 極力向高層推薦老戰友 Alex,
Alex 在華碩任職期間, 曾做過 WebPAD, PDA, SmartPhone 等案子,
後因政治因素辭職去 BenQ, BenQ 的第一代 MP3 Player, 就是他做起來的.
最後也因政治因素, 鬥不過 BenQ PM 而回鍋華碩.
(也就是有他這個案例, 我才打消辭職念頭, 繼續龜縮在華碩內, 等待機會)
他對 Embedded System 硬體架構/省電功能相當清楚, 我跟他合作過
2 款 WebPAD, 彼此具強烈工程師性格, 在系統功能設計上有相同看法.
而他歸到 EeePC 事業處後, 馬上就抓出一些硬體線路漏電問題,
作為改版及次代機種的改善目標.
我建構軟體部門的想法是:
1. 以驅動程式或跟硬體綁在一起的應用程式為主, 向外延伸.
2. 用軟體手段來求系統穩定, 省電.
3. 用軟體手段來降低生產成本.
4. 用軟體來降低硬體設計成本, 並能提供更多的附加功能.
5. 成立 “軟體 IC” team, 研究 algorithm 搭配既有的硬體設計,
在不增加任何硬體成本下, 用軟體手段提升 EeePC 影音品質.
越老鳥的 Programmer 越謙虛, 因為越清楚自己的能力底線.
全球 Open Soucrce 高手的功力是遠遠勝過華碩軟體工程師.
要跟他們拼純軟體應用程式開發功力, 無異以卵擊石.
但因公司機密, 無法讓他們取得 EeePC 硬體設計圖及相關 IC 規格.
而這就是華碩軟體工程師能發揮最大價值的所在點:
幫 Open Soucrce 高手解決硬體相關問題, 提供 Library 讓他們使用.
使他們隨心所欲改機, 修改軟體, 很容易將其他 OS移植到 EeePC.
---------------------------------------------------------------------
雖然 EeePC 事業處另有軟體部門負責 Linux, 而我是負責 Windows,
但我極力爭取在部門內成立 2 個 Linux 開發課.
為此, 找到網通大廠及 IC 公司的兩位中階軟體幹部, 來負責 Linux
系統穩定度, 驅動程式, 跟工廠生產測試軟體等開發工作.
工欲善其事, 必先利其器. 為了趕快進入狀況, 花了 1 個多月,
評估 MontaVista 的系統開發工具, 並派 RD 與其合作, 把該套工具從
MontaVista Linux kernel 移植到到 Xandros kernel 上.
有個 source code level, remote debugging 的開發環境,
遠比用 printk deug kernel/driver 方法來的精準快速.
打算用 Embedded Linux 手機穩定度的水準, 來要求 EeePC Linux 系統穩定度.
Linux 上沒有像 MS 在上億台 PC 上執行過的 WHQL/HCT/DTM 系統測試程式.
商用專業軟體工程師跟志工性質工程師做出來的系統測試程式,
兩者在性能,可靠度, 後續維護, 跟技術問題諮詢上, 是有很大差距的.
而且 MontaVista 有多款 Embedded Linux 手機的成功開發經驗.
雖然花上百萬來買這套開發軟體, 我覺得非常值得.
現在隨便一個沒經驗剛畢業碩士的人事成本, 鐵定比它還貴,
而對案子的幫助鐵定遠遠比不上這套工具.
如果 EeePC量夠大, 這些 Linux Device Driver RD 也都 tune 上來時.
到時候計畫成立一個 EeePC Linux Device Driver Certification 課,
要上 EeePC Linux 的 device driver 需先經過這個課來驗證.
並同時為 Ubuntu 跟 Google Andriod 的移植來鋪路.
從 Google 放出 Android 的 source code 後, 我就一直對它念念不忘.
不出 5 年, Google 必定取代 MS, 而且還會比 MS 更恐怖.
Google 不對 user 收任何費用, 它是向廣告廠商, content provider 收費.
只要 Android 舖的越多, 內建到更多能上網的前端便宜 device
(手機, Settop Box, MID, UMPC, PC, NB, Game consle), 提供更好更快速的
後端 server 功能及頻寬. 那還有誰想想用手機的視訊, 訂票, 看電視,
查餐廳/停車場等付費數據服務 ? 更何況還有跟 Google Map 結合的
免費地圖導航功能.
打不過對方, 就加入它, 利用它的力量. 站在巨人的肩膀, 才能看的更遠.
不然就會被巨人一腳踩死. 等量產相關工作都搞定後, 我一定親自下海,
加派人力來做這一塊.
對工廠軟體下載跟自動化測試軟體的開發, 我非常注重.
軟體不只可以增加附加價值, , 還可以降低生產成本.
12 月因 EeePC 生產不順, 兩次去上海工廠看問題, 發現有太多改善的空間.
負責生產的工廠單位, 以前接過 Apple Mac NB 的代工案, 見識過 Apple 的
軟體生產測試工具的效能. 當我提出這個觀念時, 他們極力贊成,
還一直逼問我何時可以導入, 完全不像其他單位的極力抵抗.
有執行單位主管的全力配合, 這個案子已經成功一半了.
接下來就看我這個部門爭不爭氣, 來兌現支票.
2008 年大陸頒布的新勞動合同法, 會增加生產成本, 現在一堆台商
搬去越南來避開, 那是不是以後遇到相同問題時, 要搬去孟加拉 or 非洲 ?
而且以後衝量時, 有可能下單到其他代工廠. 如果能將生產相關的
軟體技術, 掌握在手裡, 可以避開人力成本跟加快其他代工廠上線速度.
若每台生產成本因而省下 1 元美金. 200 萬台就可省下 6400 萬台幣.
只要公司撥一半給我這個部門當 Bonus, 大家雖然累, 但是會累的很快樂,
累的很有成就感. 不會累的很幹.
現請一位主任, 先在台北架起一個工廠軟體下載生產測試的模擬環境,
等把相關軟體開發測試過, 覺得有把握時, 再去大陸工廠實地上線測試.
PM 規劃下一代 EeePC 時, 決定加入 TouchPanel 功能.
找來廠商來報價, 結果報一個離譜價格, 對方解釋是因
需要一顆 USB IC 跟相關觸控軟體程式.
XD! 是欺負華碩沒有懂軟體的人, 來亂開價的嗎 ?
會後馬上交代一位高工, 叫他把 USB IC 拔掉, 照以前寫 WebPAD
觸控螢幕的驅動程式觀念, 來降低 Touch Panel 成本.
程式設計俱樂部網站 (www.programmer-club.com)上,
在“用軟體模擬虛擬攝影機的硬體” 討論串中, 我就提出類似用
軟體模擬來節省硬體成本的觀念. 結果引起某家 IC RD 的對嗆,
說要尊重 IC 公司的智財權等等.
就是系統廠 PM 沒經驗, 太好騙, 才讓這些公司獲取暴利.
同時也讓 IC 公司的 SW RD 瞧不起系統廠 SW RD 的功力.
在 EeePC 上, 如同在 NB 上用 Video Splendid 取代 Jepico IC 般,
我鐵定盡全力, 用軟體手段, 讓這些公司只能獲取合理報酬.
同時萬一要發動價格仗時, 也讓華碩有更多本錢跟對手硬拼.
為達到人盡其才, 落實 RD 要幹 RD 的事, 而不變為領高薪的 QT,
我從 QT 部門挑出兩位學士測試工程師, 交由華梵大學畢業的副課長帶領,
讓他們負責 WHQL Test, WinXP image, 在 WinPE/XPE 上撰寫測試程式,
而他們表現完全不輸碩士級工程師. 讓我意外驚喜, 有物超所值的感覺.
我給他們的任務是, 盡量用軟體手段改善流程, 來應付大量 XP image 製作,
而不是用人海戰術來應付. 薪水分紅將比照碩士工程師水準來調整.
為了用以往 DVD Recorder/LCD-TV 的開發經驗, 來改善影音品質,
我找了交大應屆畢業資訊工程博士跟另一名寫 3D Game 的學士,
合作開發 "軟體 IC".
原本給他們的 schedule 是半年將 Video Splendid 1.0 移植到到 EeePC
(為了 7 月打考績時能向高層證明), 一年後推出Video Splendid 2.0.
結果花 3 個月他們就移植出來, 並且還寫出第 2 代 的 prototype.
真的是江山代有人出, 讓我突然覺得老了.
OLPC 的 EC firmware RD 也應邀加入. 為等他把 OLPC EC 處裡完,
我等了 3 個月. 因他有 x86 BIOS, Window Application, 及 EC 的經驗.
只需把他教會 ACPI Driver 跟 device driver 相關技術, 以後我就可以
專注規劃從 Window Application/ Device Driver/ ACPI BIOS/EC Firmware
一路打通的架構跟介面, 而由他去操刀執行, 配合 HW RD 的修改線路,
希望能將以往在 Bulverde VC上 學到的省電設計經驗, 落實到 EeePC 上.
---------------------------------------------------------------------
或許有人認為我是在吹牛說大話, 但如同史蒂芬周說過的,
''做人如果沒夢想 , 跟鹹魚有什麼兩樣...."
做 RD 就是要有這種 Guts. 做不出來, 頂多浪費 2,3 個月, 大家走回頭路,
繼續當 WinTel 的順民, 乖乖照傳統 NB 的路子走,
但若做出來, 競爭對手想要照抄, 可沒那麼容易抄.
硬體線路或許可以照抄, 但散落藏在 App/Driver/ACPI BIOS/EC 中的軟體,
可就沒那麼容易抄. 如同威騰可以抄襲聯發科的 DVD ROM server chip,
但無法抄襲其韌體. 於是原封不動將聯發科韌體套到自家的 chip 上,
結果被活逮, 判賠美金 5 千萬元.
我沒有名校情節, 不會非台清交不用. 我在清交大的學業成績是吊車尾.
因為知道自己程度差, 所以非常用力拼研究所考試.
在 "我的 DDK 學習經驗”中說只要黑手工程師. 10 年後我還是說同樣的話.
部門只有 2 位是清交畢業的. 我重視的是做事態度, 學習能力以及最重要的績效.
現在這些同事在加入團隊之初, 我就先說不保證高薪, 也不要以為 EeePC
可以一直熱賣下去. 要有較好的薪水, 就要靠大家努力, 為公司創造利潤.
為防止保障年薪後, 馬上就在公司內擺爛, 讓主管對他無可奈何的現象.
我是不會採保障最低年薪的手段來聘人.
鴻海處理這類應徵者是: 你敢拿我就敢給, 要高薪可以, 先達到業績再說,
沒達到就一路打折下去, 從 1 千萬打折到最後只剩 100 萬, 天天逼進度,
讓那些自以為身價非凡的人, 待不滿一年, 沒等到股票, 就主動辭職.
就有個手機團隊從工研院跳到廣達, 然後跳到鴻海, 結果不到一年
就辭職回工研院.
連我這個大頭目都要親自下海 coding,
不准團隊中存在只會打嘴炮, 不會做事的人.
就算以後幹到管理階層, 也絕對不能放掉技術的本. 自己沒技術能力,
如何去帶領更菜的工程師, 看出部屬的錯誤之處.
又如何能著規格變化來持續改善或推出全新的軟體功能 ?
沒有一套軟體功夫能讓你吃一輩子, 除非你壟斷產品的某個研發流程,
建立山頭完全不讓別人進入來取代你. 讓上面的人想動你時,
考慮到陣痛期的成本, 就不敢輕易開刀.
自己的官位跟薪水遠遠凌駕在公司整體利益之上.
大公司一代不如一代, 技術斷層, 山頭林立的現象, 就是這樣造成的.
也告訴他們, 總經理公開宣示, 在華碩分家後, 會以績效作為分紅主要考量,
大幅拉開 RD 間的待遇差距, 全力留住具競爭力的員工, 並且每年會 fire
不合適的員工, 來促進人才流動.
若 EeePC 能在 2008 Q2/Q3 繼續站穩腳步, 我鐵定在大陸成立軟體團隊.
現在上 Google 查 device driver 相關的文章, 都出現一大堆量多質精
大陸軟體工程師寫的技術文章, 遠遠超過台灣軟體工程師的文章.
5年前在蘇州成立軟體團隊時, 就感受到大陸工程師在困境中,
力爭上游的精神. 在東北老家, 父母務農一個月才賺人民幣 200 元,
隻身到蘇州, 四個人擠在一間破套房內. 只能靠寫程式才有出頭的一天.
那種拼勁, 置死地而後復生的精神在台灣已不復見.
當初還沒進華碩, 每月領資策會35 K 的死薪水, 租間在三重貧民區
的頂樓房子. 老婆懷孕 8 個月, 夏季時太陽曬在屋頂, 頂樓房子熱的像烤爐,
怕開冷氣花錢, 就只穿條內褲, 吹電風扇, 假日窩在電腦前寫程式賺外快.
幫一家 CNC Controller 廠商寫 Win95 Device Driver, Sample Code, SDK Library,
Document, InstallShield 安裝程式. 那時候真的是拼勁十足, 程設功力突飛猛進.
我想現在大陸還有一大群這種有拼勁, Programming 能力夠水準的軟體工程師.
如果把他們組織起來, 好好訓練, 並給予合適報酬. 只要抓住趨勢, 全力猛攻.
這個團隊的戰鬥力會相當驚人.
---------------------------------------------------------------------
在台灣, 繼前波藍領階級失業潮後, 白領階級也開始失業.
我就常收到失業的美國 40, 50 幾歲華裔軟體經理的履歷.
Andrew Grove 在 "Only the Paranoid Survive" 中寫到,
"公司沒有天生就欠你一碗飯, 想吃飯就要靠自己去爭取".
台灣的軟體工程師憑什麼要求高薪 ? 現在有些工程師是躲在大樹底下好乘涼,
公司大員工多, 可以混水摸魚, 濫竽充數. 但你能躲多久 ?
等到 40 歲被辭退又找不到工作, 小孩教育費, 全家生活費, 20 年房貸都要錢.
到時候要怎麼辦 ?
華碩低月薪, 高分紅(不一定高, 要看績效)在業界中是出了名的,
當初兩位有家累, 房貸壓力, 30 好幾歲的高工, 衝著我畫出來的大餅,
甘願減薪加入團隊. 對他們, 我有一份道義責任, 以前幹工程師,
搞砸就只有自己吞苦果, 現在搞砸就有一堆人跟著倒楣.
分家後, Jerry 定下遊戲條件: EeePC 事業處未達業績標準, 核心主管減薪 40%,
基層工程師不受影響. 相反地, 若超出預訂業績標準, 就以比例來多發分紅.
不久後就要跟他畫押留證據, 免得分紅時候, 空口無憑. 害慘底下這批工程師.
我寧願用比華碩股票低的公司離職員工. 又套句史蒂芬周的話:
"只要有心, 人人都是食神"
就算台清交畢業的 RD, 一星期就能搞定的案子, 只要有耐力, 有毅力, 有興趣,
若他願意花 2 個月來搞定. (況且現在網路上一大堆 open/sample code 可供參考)
1個, 2 個, 3 個案子.. 一直做下去, 到最後他的技術能力決不亞於偷懶的台清交碩士.
我只聽過玩 Online Game 玩到暴斃, 還沒看過寫程式寫到暴斃的案例.
如果部屬寫程式寫出興趣寫到上癮, 就像玩 game 殺終極大魔王般,
我根本不用管, 他自己就把案子做出超過我預期的效果.
聯發科的開國元老原本在聯電中, 是被當皮球踢來踢去.
宏達電開張第 4 年, 資金燒光, 差點倒閉掉.
華碩在 Intel 放出要做 MB 消息時, 走掉一大批 RD.
在初創階段, 上述公司哪有本錢請素質超好的 RD ?
(華碩現在有兩位協理, 是光武工專跟淡江大學畢業的.)
但還不是最後被他們搞起, 做到股王.
我想找的, 就是有理想, 肯學肯拼, 愛寫程式的 programmer.
因自知條件比不上台清交, 所以會謙虛會認命去拼未來.
而不是畢業名校, 待過大公司, 自命身價不凡的 programmer.
我就是要這種拿穿草鞋的精神, 去跟穿皮鞋的公司拼.
用龍蝦鮑魚做出好菜不稀奇, 用青菜豆腐做得出來才厲害.
只要肯學, 程度不要太差, 我願意花上 1 年, 傳授 coding 經驗,
把他帶上來. 依績效給他對稱的待遇.
我印象非常深刻的事是, 有記者訪問朱經武博士(超導體先驅學者),
說一星期只有一個晚上能休息, 會不會覺得太累, 結果他回答,
有人肯幫我買數億元的設備, 讓我做我喜歡做的事, 我高興都來不及了,
怎麼會覺得累, 還覺得時間不夠用.
所以有幾個這種部屬, 我就可以天天到其他部門, 串門泡茶啃瓜子.
---------------------------------------------------------------------
最近看的一本書 "科技頑童沃茲尼克", 感受相當深刻, 心有戚戚焉.
Worziak 提到他非常喜歡在 HP 當工程師, 而當 HP 成立專案,
派出至少 5 個人以上的團隊, 來研發類似 Apple I/II 的產品時, 一些經理人
覺得受到威脅, (因 Apple I/II 的軟硬體是 Worziak 獨自開發出來的)
完全將他柄除在外, 即使他卑微到只想當個小小印表機介面工程師都不行.
(當妒才, 不求長進, 壟斷山頭的經理大量冒出時, 就是公司停止成長的徵兆)
因 Worziak 做過 Artira 的Ping-Pong(乒乓)/BreakOut(打磚塊)電動遊戲,
將其 TV output, 搖桿, 影音效果的技術, 運用在 Apple II 上.
而他也做過盜打長途電話的藍盒子, 將其音頻技術,
運用在錄音帶來儲存 AppleI/II 程式的技術上.
(以前做過亂七八糟案子的技術能量, 總有一天, 會在某個產品上整合)
又他知道如何用軟體去控制硬體(寫電動遊戲時累積下來的軟體功力),
把原先以純硬體觀念設計, 花 22 顆晶片組成的軟碟控制器, 改成只花 2 顆晶片,
搭配複雜的軟體設計, 在 2 星期內做出安靜超快的軟碟控制器.
(不要傻傻聽信 IC 廠 Sale 的話, 去買又貴又耗電, 性能又差的 IC,
只要肯動頭腦, 了解基本原理, 軟體的確可以省下許多硬體成本)
在設計 AppleII 時, 用最便宜的方法, 支援現有美國電視機輸入頻率,
讓 user 不用花錢另外買 monitor.
而且只用 Apple1 一半的晶片數目, 就做出功能大幅超越 Apple1 的 AppleII.
(不要花錢裝內建的 3G 網路卡, 利用藍芽連接 3G 手機的能力, 幫 user 省錢,
而不是害 User 多花錢, 讓一堆 IC 公司利用華碩去賺暴利)
為了堅持 Apple II 應該有 8 個擴充槽, 與賈伯斯起第一次爭執.
而被豬頭高階主管主導的 Apple III, 則慘遭開放式的 IBM PC屠殺.
(不要為省 connector 的錢, 而把 EeePC MINI PCI-E/DRAM 擴充槽拔掉).
現在 Jerry 非常忙, 比周杰倫的牛仔還要忙, 根本沒時間看我的規劃方向,
只要解決掉他覺得 EeePC 不好用的地方, 就不會被他釘到牆壁上.
另一位硬體出身的協理相當 Open mind, 這本書就是他推薦我看的,
還蠻支持我對軟體附加價值的想法.
最後只要滿足每個 PM 的出貨 schedule, 就不會天天來煩我.
只要部屬有 meet 進度, 我根本不會去管他們要做什麼.
讓他們自由發揮創意, 或者提早下班.
反正最後是看績效, 而不是看你每天待在公司的時間, 來決定升遷.
績效是很模糊的東西, 做立即影響出貨的 XP image, 跟做花 1,2 年
才看得到績效的 Algorithm. 何者孰重 ? 有些人就是運氣好, 撿到輕鬆,
主管誤以為績效高的案子, 而有些笨蛋就是想挑戰 mission impossible.
又套句史蒂芬周說的話:
"貪官要奸,清官要更奸,不然怎麼去對付那些壞人?"
當主管的, 要比部下更精, 不然怎麼去打出公平考績.
在程式設計俱樂部上, 我有注意過一位 Harrison 網友, 他持續 2 個多月
問我有關 ACPI Driver 的事, 我叫他去看一些公開資料, 從他問的問題,
越來越接近核心. 我就知道他真的有看這些資料.
而且他說, BIOS RD 的他想搞 ACPI Driver, 是個人興趣, 不是公司硬逼.
我就是想找這種人來加入團隊. 但因他誤以為, 能進華碩的RD 都是高手,
想繼續練功, 練到更有把握. 所以婉拒我.
但我告訴各位, 公司一大後, 有高手也有濫竽充數的夾雜其中.
而能撐到最後的, 通常是那些有毅力, 有耐心, 有危機感, 有執行力的人.
只要放在以技術為主, 沒亂搞政治的工作環境中. 他們就會自動自發,
甚至發揮出出乎意料的表現. 也不用管理階層天天在後面逼他們.
況且我會先給舊版程式的 code, 讓他們 trace 打基礎, 有段緩衝期,
還有老鳥可以問問題, 然後再要求他們開發下一代的新功能.
像我現在, 除了開一堆會, 回一堆 E-MAIL之外, 還有時間寫 code,
上網查技術資料, 就是靠他們自動自發, 讓我省下許多時間.
---------------------------------------------------------------------
因 104 人力網站只能列出簡短描述, 導致我無法細說要求條件,
也無法讓應徵者充分了解我的規劃跟行事風格.
因不想浪費彼此時間, 若有意應徵的人, 請先評估個人期望待遇與發展方向,
是否能符合我提出的這些條件, 才來投履歷.
若有興趣的, 請到104 人力銀行, 或華碩人力網上留下聯絡方式.
並註明應徵 EeePC 事業處軟體第五部軟體工程師.
我只管 EeePC 事業處軟體第 5 部, 其他 EeePC 軟體部門不是我管轄.
我不辦考試, 有意者請拿做過的作品, 來跟我閒聊.
目前我需求的人力有:
1. 美術設計人員: (1名)
需會操作 MAYA 等 3D 軟體並轉成 Direct3D 的格式, 會平面設計及網頁撰寫.
需跟工業設計中心(MID) 合作. 重點在設計 Application 的外表圖案.
在相關產業有 2 年以上的經驗.
2. Window 應用程式開發人員: (2名)
需 MFC 2 年開發經驗, 工作項目初期負責 WinXP Image 製作,
開發 WinPE上 的工廠測試程式. 及開發次代安裝光碟程式,
若學習能力強, 不排除日後從事 Windows Device Driver 開發工作.
3. Windows Display 驅動程式開發人員: (1 名)
有在 IC 公司從事過 Windows display device driver 開發經驗.
工作項目: 初期負責充分發揮 EeePC VGA chip 的硬體功能,
撰寫 VGA Memory/3D Engine 測試程式 on WinPE or XPE.
後期負責維護/升級 ASUS VGA Display Driver Hooking 技術.
(這一塊技術我可以下指導棋)
4. Windows LAN/WLAN/WiMax 驅動程式開發人員: (1 名)
有在 IC 公司從事過 Windows WLAN/LAN device driver 開發經驗,
具 NDIS, WinSocket 等相關技術背景.
初期負責 EeePC 網路(LAN/WLAN/WiMax) 相關問題並 trace IC 公司提供的
device driver source code, 撰寫 WLAN/LAN/3G 相關測試程式 on WinPE or XPE.
後期負責 EeePC Window base 通信標案的相關技術.
5. Linux LAN/WLAN/WiMax 驅動程式開發人員: (1 名)
同上, 只把 Window 平台換成 Linux 平台.
6. Linux Device Driver開發人員: (2 名)
初期負責 trace and modify Linux device driver open source,
確保在 EeePC 上的穩定度, 後期撰寫 Device 測試程式.
7. Linux OpenGL開發人員: (1 名)
有在 Linux 2.6.0 版以上 開發過 OpenGL 的經驗.
最後若認為自己有潛力但不符這些條件的人,
3也可以拿自己寫的程式碼或產品來跟我談.
有個副課長說我, 這樣搞法, 恐怕沒幾個人來面試.
但我告訴他, 我就是要這樣惡搞, 找不怕死的人進來.
寧願這陣子, 咬緊牙關先撐住 EeePC WinXP 量產的壓力,
也不要急就章, 找到不合適的人. 若在台灣找不到, 就去大陸找.
若 2008 年 Q2/Q3 跟 HP/Acer/Apple 對幹後, EeePC 還能在領先群中.
確定 EeePC 事業處有足夠盈餘來養更多軟體工程師時,
軟體第 5 部會擴大營業, 在台灣跟大陸, 再做一次徵才活動.
---------------------------------------------------------------------
工程師性格強烈的我, 因在網路上留言直言不諱. 多年在
BBS, www.23xx.com, www.programmer-club.com 上留下多篇文章,
公司內部早就有人看我不爽, 多次寄這些文章給 HC, Jerry 來背後告狀.
我相信這篇文章, 不久就有人背後告狀, 轉寄給他們.
為了節省他們的麻煩, 我自己經先寄給 HC, Jerry.
被公司受聘, 只要不涉及公司商業/技術機密, 並不代表就沒個人發言權利.
連 MS 都有個內部員工網站, 可開放給外人觀看, 我常常看到有 MS 員工
在裡面幹醮自家公司.
主管跟部屬下班後, 大家都是普通的老百姓. 沒有誰比誰大.
我也做好隨時離職的準備, 手上的資金, 讓我 30 年不工作都不成問題.
只要創意/執行力還在, 到其他公司還是可以發展出進階或全新的系統功能.
我也相信還是有其他公司的總經理, 有雅量來容納我這個異類.
華碩不就是因 4 位創辦人不爽老東家宏碁, 離職後自行開業.
我敢肯定說, 華碩絕不會是最後一家, 因這種原因而成立的成功公司.
微星老闆就非常有危機意識, 我上經濟部辦的 “ 94 年研發經理養成班”時,
就有 7, 8 個微星員工參加, 公司補貼全部費用, 也不用加班來補上課時間.
而技嘉老闆跑去開寶嘉, 代理標誌汽車.
從這點, 我就斷言微星會贏過技嘉.
當老闆都開始不務正業時, 你還能期望公司會有多好 ?
已經脫離 ”為五斗米折腰” 階段, 若是沒人收留我, 那就自己當自己的老闆,
開 Window 驅動程式教學課程. 或當自由職的技術顧問, 日子還是一樣快樂.
未來我可不想像 HC, Jerry 般, 天天開會從早開到晚, 坐飛機全球跑來跑去,
錢夠用就好, 生命中也不是只有寫程式這項樂趣. 等女兒上大學後, 我就不幹了.
要去她的學校唸博士, 反正現在考博士, 只要準備書面報告跟口試就可以.
最後祝大家都有個滿意工作, 而我希望下次長篇大論時, 就是說退休後要做什麼事.
看著桌上兩隻 BANDAI MG 版 Hi-Nu/UNICORN, PG 版攻擊剛彈的素組模型,
跟一堆變形金剛: 柯博文, 大黃蜂, 飛輪, 黑魔, 毀滅者, 判官, 密卡登.
哦, 對了還有藏在櫃子裡的 1/350 大和號, X-Wing, Y-Wing, AT-WALKER,
何年何月才能幫他們改裝甲, 黏蝕刻片, 來上色, 做舊化 ?
雖然網路有人代做模型上色. 但做模型的樂趣, 就是看一片片塑膠片,
在手中慢慢成形, 而且一台比一台做的更細緻更逼真.
寫到這裡各位大概猜出我的性格, 沒錯, 是宅男型工程師.
我找的部屬, 都是宅男型工程師.在我們這邊, 鐵定沒有鶯鶯燕燕, 讓你分心,
只有超安靜的環境, 讓你專心工作.
| [+/-] |
[Notebook] Toshiba M600 PPM61T-01900Q & Tips |

買這台Notebook的過程可說是相當的崎嶇,之前小寶的那群「菸酒生」朋友在九月中時買同樣這台NB再加"創見 1G RAM"的價位大概是NT 43xxx左右,於是我們大概就有個底。而我們是在九月底去買的,一開始先到八德路上的"崑基"問問價錢之後,大概是NT 43000再少了點,於是我們再繼續走,到了"華克"(後來才知評價好像不太好..囧rz),但這家裡面的一個死胖子業務,給的價位還真的是很令人動心 NT 40200,從一開始的NT 42500,下殺到 NT 41700..一直到底價NT 40200 (他給我們看了他手上的單子)令我和小寶都感覺相當的Shock,應該是他看穿我和小寶要買的決心(自以為哈哈..),已經鎖定好這台了,只差在價錢的問題...在談價期間我們週旋了很久,一直猶豫不決,因為在價錢是NT 417000時,我們想說還是再多逛幾家好了..畢竟這才是第二家,後來死胖子狠下心直接擺明的說我知道你們在意的就是價錢而已啦,什麼再多看一下都是假的之類的...(呵呵,其實當時真的還在考慮HP的機器,有幾台外型也都蠻喜歡的,價位也比較低一些),於是乎死台客胖子直接開價NT 40200...呼呼..這價位買起來,比他同學便宜了3000元左右吧...心動不如馬上行動,後來就直接下訂金500元囉,原來他說要給1000的,但我和小寶難免會覺得其中必定有詐,怎麼可能便宜那麼多,該不會是啥Demo機之類的吧,於是假裝沒那麼多錢,先給500就好,到時有問題,500送他也罷。
回家後,上PTT nb-shopping版,根據熱心版友LinkiNParK帥哥(在光華賣電腦的)的可靠消息來源,原來是TOSHIBA原廠10月份有降價,因此這價位是合情合理的。原來是這麼一回事呀,後來就放心多了,接著過幾天要去拿電腦,為讓自己更心安些,順道又到別家問問,我們到了他同學買的那家"秉毅科技"(科大?!)去問問,直接表明說我們就是要買那台,是來比價的,店員當然直截了當問我們問到的底價是多少,就跟他說是NT 40000 (嘿嘿...當然不能說 NT 42000呀,您說對吧..),後來他也開出了NT 39800這個漂亮價錢,當然他會說這已經很便宜了...但我們很不好意思的跟他說,早知你們這麼便宜就找你們買就好,但我們已經在華克付了500元訂金了,於是乎他為了吃下這訂單,開出NT 393000這個更令人心動的價位,吃下我們那張500元訂金的單子,轉給他們處理。最後就在"雙贏 Double Win"的情形下,雙方達成了這筆交易 ^_^。講那麼多費話,還是趕來欣賞這台未來的畢業論文小幫手 - 藍營最愛的Toshiba Notebook吧...
※這台NB剛入手時,有什麼該注意的事項 & FAQ呢 ?!
※至於系統上的調教留到下一篇再來寫,因為原廠的硬碟分割C槽占了快100Gb,D槽才5Gb左右....OMG,太鳥了。以及關於使用Windows Vista Home的一些Tips&Tweak...敬請期待!!
| [+/-] |
[Blogger Hack] Comment Photo Hack (在Comment處顯示回應者圖片) |
這個Blogger Hack我已經使用很久了,也是我個人非常喜愛的一個Hack,在我的Kubrick版型中,也有提供之功能!我覺得在回應文章時,同時顯示回應者的圖像是很酷的一件事,看圖片很快就可以辨認出是某某某,同時此iCon也具有特別的意義,像徵著你的Blog Spirit..等同於一個人的網路身份..口桀口桀 (XD..當我在亂講就好...是我個人特別癖好罷了),當初在找這個Hack的時候,覺得明明Blogger就可以自行提供個人Profile Image的link,很簡單就可以辦到了,沒什麼技術上的問題,但為啥不提供...後來在Google Groupgs有看到,聽說官方的回應是,會有關於安全性方面的問題,所以不提供...至於問題是如何,當然就沒提到囉...※Demo1: example
※Demo2: 以這篇回應較多的文章來看看吧...
因為之前較沒空,所以一直懶得翻譯...並且有不少網友來信問說是如何弄的,所以就直接來篇翻翻教學吧,請往下看吧...參考資料來源:Step1.首先開啟你的Template(記得要是完整的,也就是到"Edit Html"頁面勾選"Expand Widget Templates"),找到底下的code
New Comment Photo Hack (Blogger) (新方法,較簡易,底下講解此方法..)
comment photos and highlighting hack (這篇是舊方法)<dl id='comments-block'>在這段code底下插入下面的code
<b:loop values='data:post.comments' var='comment'><div style="clear:both">
<dt style="float:left;margin-right:5px;clear:both;" expr:id='"commentphoto" + data:comment.id'></dt>
<!--底下這段,針對IE修正了些小bug-->
<b:if cond='data:comment.authorUrl'>
<script type="text/javascript"> if(typeof(commentPhotoIds) == 'undefined') var commentPhotoIds = []; commentPhotoIds.push({'id':'commentphoto<data:comment.id/>', 'url':'<data:comment.authorUrl/>'});</script>
<b:else/>
<script type="text/javascript"> if(typeof(commentPhotoIds) == 'undefined') var commentPhotoIds = []; commentPhotoIds.push({'id':'commentphoto<data:comment.id/>', 'url':''});</script>
</b:if>
Step2.接著往下滾,你會找到一個相對應的</b:loop>,在</b:loop>之前新增底下的code</div>
Step3.在tempalte中,找到</body>,接著將底下這段code貼在</body>上面,底下有maxwidth(限制最大圖像寬度)和defaultimage(若在Profile中沒有圖片時,所使用的預設圖片)參數供你自行調整<script type='text/javascript'>
//<![CDATA[
function commentPhotoDo() {
var tag;
for(var i = 0; i < commentPhotoIds.length; i++) {
//上面那行,相較於原文,也作了些小修正了,解決一些怪異的行為
tag = document.createElement('script');
tag.type = 'text/javascript';
tag.src = 'http://scrape.singpolyma.net/avatar.php?maxwidth=70&url='+encodeURIComponent(commentPhotoIds[i].url)+'&id='+encodeURIComponent(commentPhotoIds[i].id)+'&defaultimage='+encodeURIComponent('http://img139.imageshack.us/img139/1011/defaultavatarad7.png');
document.body.appendChild(tag);
}//end for var i in commentPhotoIds
}//end function commentPhotoDo
if(typeof(commentPhotoIds) != "undefined") commentPhotoDo(); //在首頁不執行此script
//]]>
</script>
Step4.接著就是存檔,就ok啦...快去看看你的成果吧..
| [+/-] |
[Template] Neo + Kubrick = Neobrick |
跟大家介紹一個新的Blogger Tempalte,此Template的特色就如同他所取的名子(Neobrick)一樣,設計者:阿倫哥將我之前釋放出來的Kubrick版型和Ramani所提供的光速Neo版型給他整合在一起....真是可喜可賀呀..囧rz..對於喜歡追求速度感的Blogger而言,又多了一個新選擇囉...推薦給大家! (之前的Neo Template不是我的菜,這次可就對味囉...^_^).安裝教學:New Blogger Template - "Neokubrick"
.Demo Blog:http://neokubrick.blogspot.com/
| [+/-] |
[公告] 更新之前發佈過的一些 blogger 相關網頁 |
由於之前所發佈過的一些blogger hack,原作者已經不再hosting此javascript file ( http://www.anniyalogam.com/widgets/hackosphere.js ) ,所以牽涉到了底下幾個hack是否能夠正常運作,所以有使用到下列相關功能的人,請更新一下!
(只要看底下各篇中有註明 [Updated 2007/07/14] 的部份即可)
※還有一個重點就是,我之前porting到Blogger的kubrick ([Template] Kubrick style for Blogger beta) 這個template,也由於我所使用的googlepages空間,和 http://hackosphere.blogspot.com/這個站的作者 Ramani 糟遇到同樣的問題..."Bandwidth exceeded",也就是超越了googlepages所提供的頻寬上限,導致很多放在 http://chenkaie.googlepages.com 底下的東西都load不出來了..OMFG,所以我想有很多有使用Kubrick template的網友,可能要忍耐一下了(好像要過個兩三天,權限才會復原),囧囧囧囧rz.... 因此你的Blog暫時會醜個幾天,見不得人!!
若怕再遇到此情形,請自己host所使用到的檔案(也就是以http://chenkaie.googlepages.com/ooo.xxx 這個型式存存的檔案),比較保險...
(謎:到底是啥檔案將我的googlepages帳號搞掛的...兇手快出來自首,自首無罪,抓到絕對嚴懲 >"< )
| [+/-] |
[Software] HFS ~ Http File Server |
我懶得寫介紹,但又不得不分享這個好東西給大家...那麼他的好,就交給PTT上有名的NelsonT大來介紹吧...根據"CC License",轉貼於底下(加上小幅度的增修):
HFS - HTTP File Server,這是一個免費且開放原始碼的軟體,主要目的是用來分享檔案(上傳/下載皆行)。HFS 讓你自己的電腦就是一台伺服器,它有虛擬檔案系統(Virtual File System)讓你方便分享目錄跟檔案,它也可以管制來源 IP、限流、限最大連線數,也可以設定密碼,也可以讓對方用續傳軟體多線程下載 (像是FlashGet,WellGet),還有很多貼心的功能...。
簡單的講,就是個 FTP,只不過用網頁的形式表現出來。
你會說 "我用 zFTP 架站就好啦,要這幹嘛?".官網: http://www.rejetto.com/hfs/
.載點: http://www.melauto.it/public/rejetto/hfs.exe
| [+/-] |
[Software] PhotoZoom Pro 2 |
最近在編本會的日晷雜誌,所使用的排版軟體就是鼎鼎有名的阿「阿斗比」公司所開發的Adobe InDesign CS2,真是個功能強大的好東西…編雜誌免不了要插入一些精美的圖片...此時我們便會求助於Google大師的圖片搜尋或Flickr之類的(在使用前,當然要先徵求到原攝影者的授權同意才行),但總會找到些你很喜歡的一張圖,卻只有那麼一丁點兒大小,若強制放大的話,卻又會失真...最後輸出的效果鐵定會 sucks...囧。
後來求助於Google大神之後,找到了 PhotoZoom Pro 2 這項神器,主要是利用了一些演算法,讓圖片在放大時幾乎可以不失真地呈現出原貌,表現的效果非常之好,此軟體共提供了十種演算法供你選用,但還是主打"S-Spline XL"這一個,在我的肉眼看來,這一個似乎是十個裡頭表現的最佳的,所以"S-Spline XL"也是此軟體的預設使用演算法。
此網站有提供了一些演算法的比較表,官網有提供使用"S-Spline XL"所Run出來的Demo,可以去瞧瞧...保證讓你驚豔!!
※借用一下官方提供的Demo:
.原圖大小
.放大後
| [+/-] |
[Hardware] 2.5" Enclosure Qback-25 |
很久前就想買個外接盒來用了,於是survey了一下,大部份的人都提到2.5吋外接盒選購效能最佳的「NEC晶片組」就對啦,但對我的需求來說,速度倒是其次,我要求的是功能性,後來就想到了最愛勸敗的Mobile01,這個站的人所推的C/P值可能不是最高,"罷特"功能強、性能佳是少不了的..於是找到了[評測]備份至極-2.5吋QNAP(威聯通) QBack-25外接盒 這篇,在原Po的勸敗文洗腦下,終於受不了誘惑,買了這款新臺幣1290元的QNAP(威聯通)所推出的產品。
※官方的產品簡介如下:QBack-25自動檔案備份裝置(以下簡稱QBack-25)為市面上唯一結合簡易操作、速度、便利及安全的自動備份方案,節省備份時間及提高備份效能。
還有很多很棒的功能,實在說不完…請詳見[評測]備份至極-2.5吋QNAP(威聯通) QBack-25外接盒 這篇的討論,保証讓你更想敗下去...^_^,更多的敗家文請見:Mobile線上購物、摩買線上購物
QBack-25包含以下的主要特色:
※外觀如下所示:
.這就是Qback-25的真面目,看起來還頗有質感的吧!!帶得出門...贊!
.這張是Qback-25的內裝,那四塊小玩意兒,就是此產品的防震墊!
用到目前的感覺,的確是一款值得推薦的好外接盒,此產品所提供的許多功能感覺都很貼心,有站在使用者的角度用心思考過,確切能夠提升使用者的工作效率,讓備份速度變得迅速、有效率,既省時又省力。By the way, QBack-25在國外很多外接盒評比中獲得不錯的成績,最近官網的最新消息中有提到,此產品在德國CHIP magazine的產品評測中,擊敗各大廠牌,在28家競爭激烈的比較中得到第一名...我只能說「你好神」
| [+/-] |
[AJAX/JSON] Kaie's Blog 2.0 (beta) |
之前所提到的「Neo for everyone」這個Cool Template,離釋放出來的時間,已經過很多天囉。最近終於手癢忍不住,下海啦...再度花了我不少寶貴時間惡搞 XD...
幸好效果還蠻滿意的,真低素很快很快低內…至於美中不足之處,在 Neo FAQ 和 Installing Neo template in your blog 此兩篇文章中有提到,作者說,為了追求更快的反應速度,於是在單篇文章Label部份以及Comment部份的功能,可能較不完整…但不影響整個BlogSite的操作..有興趣的人,也趕緊來動手作看看吧...改天若真的太閒時,再來把功能改修改得完整一些,那麼以後就可以直接切換成此平台了,使用Google所提供的Blog平台,當然就要跟上Google的腳步,Hack成Google所提供的服務[Google Reader,GMail...]一樣,這些利用AJAX所implement出來的產品,Page Loading時間超短、反應迅速、互動性高,這些賣點太吸引我鳥...果然能留住客戶的腳步
感謝Ramani免費提供的Neo Template,我Hack完之後,所展視出來的效果,請點擊底下連結 操作方法相當簡單,如下:
| [+/-] |
[Flash] Mp3 Audio Player |
最近在「黃色小說」系列文章中,有嵌入「MPEG Audio Layer3」的檔案(故意打個全名,避免和「M P 3」(再故意來個全型+空白…一整個成府也太深了吧,囧rz..)這個敏感的字眼扯在一起,哈哈…這樣子Search Engine總找不到這個走在法律邊緣的Post了吧,吼吼吼……(但由於嵌入Example,被Spider爬到這篇Post的Source Code還是會破功的…不管三七二十一了 XD),言歸正傳,敢快來記錄一下如何嵌入這個「相當優美」的Audio Flash Player之語法。我測試過了,即使是個約3Mb大小的檔,也是可以在短短幾秒內,很順暢的播放出來...Cool!資料來源:
.1 Pixel Out » Audio Player Wordpress plugin [官方站]
.Best Albums of 2006. [某個使用此Player的站]
快來瞧瞧底下的Demo吧...
.Example 1 (預設配色) :<!--[if IE]>
<object width="290" height="24" type="application/x-shockwave-flash">
<param name="movie" value="http://chenkaie.googlepages.com/FlashMusicPlayer.swf?soundFile=http://YourFilePath.mp3" />
<param name="wmode" value="transparent"/></object>
<![endif]-->
<!--[if !IE]> -->
<embed src="http://chenkaie.googlepages.com/FlashMusicPlayer.swf?soundFile=http://YourFilePath.mp3" type="application/x-shockwave-flash" wmode="transparent" height="24" width="290"></embed>
<!-- <![endif]-->
.Example 2 (自訂配色) :<!--[if IE]>
<object width="290" height="24" type="application/x-shockwave-flash">
<param name="movie" value="http://chenkaie.googlepages.com/FlashMusicPlayer.swf?&bg=0xCDDFF3&leftbg=0x357DCE&lefticon=0xF2F2F2&rightbg=0xF06A51&rightbghover=0xAF2910&righticon=0xF2F2F2&righticonhover=0xFFFFFF&text=0x357DCE&slider=0x357DCE&track=0xFFFFFF&border=0xFFFFFF&loader=0xAF2910&soundFile=http://YourFilePath.mp3" />
<param name="wmode" value="transparent"/></object>
<![endif]-->
<!--[if !IE]> -->
<embed src="http://chenkaie.googlepages.com/FlashMusicPlayer.swf?&bg=0xCDDFF3&leftbg=0x357DCE&lefticon=0xF2F2F2&rightbg=0xF06A51&rightbghover=0xAF2910&righticon=0xF2F2F2&righticonhover=0xFFFFFF&text=0x357DCE&slider=0x357DCE&track=0xFFFFFF&border=0xFFFFFF&loader=0xAF2910&soundFile=http://YourFilePath.mp3" type="application/x-shockwave-flash" wmode="transparent" height="24" width="290"></embed>
<!-- <![endif]-->
若你想讓他自動播放的話,那就多加「autostart=yes」這個參數吧!也就是加在上頭語法中的 .swf? 頭,要加更多參數的話,請以&連接,語法如下(更多的參數請見官網):<embed src="http://chenkaie.googlepages.com/FlashMusicPlayer.swf?autostart=yes&soundFile=http://YourFilePath" type="application/x-shockwave-flash" height="24" width="290" wmode="transparent" ></embed>
[Updated 2007-05-09]
1.補充一下,有關底下留言問到的,會有白底的問題,如何設為透明色,方法就是,加上wmode="transparent"這項參數即可,上面的語法我已經以紅色字補充上去了...如此便不會破壞整個Blog的美感了,太棒了!!
2.感謝.Riviera網友所提供的資訊,使得此Flash Player在Firefox及IE皆能正常運作
| [+/-] |
[CSS] Magazine Style Drop Cap |
來分享一下,我們時常在雜誌常見的一個首字放大(drop cap, dropped capital letter),是很受歡迎的設計元件,用來做為商業通訊、雜誌文章、書籍章節或其它公開文件的開頭…之前看到某個教學,於是也跟著玩了起來囉...底下來看幾個範例吧!參考資料來源:
Mandarin Design -> Magazine Style CSS Drop Caps
.Example1:<span style="margin:5px 7px 0 0; float:left; background: #fff; border:2px dashed #aaa; line-height:55px; font-family:華康POP2體W9,華康POP1體W9,標楷體,times;font-size:50px;color:white;">旅</span>
旅美投手王建民6日對西雅圖水手隊差一點完全比賽,投了7.1局無安打、無人上壘的比賽,鈴木一朗形容王建民「有著冷靜的外表,但內心卻是火熱的。」他說:「我喜歡他。」原本鈴木一朗想在七局上成為打出第1支安打的打者,不過左外野深遠飛球遭到松井秀喜美技接殺。
.Example2:<span style="border: 1px solid darkkhaki; padding: 3px; background: khaki; margin-right: 6px; margin-top: 5px; float: left; line-height: 55px; font-family:華康POP2體W9,華康POP1體W9,標楷體,times;font-size:50px;color:white;" >鈴</span>
鈴木一朗在6日的比賽中,直到七局上才意識到王建民有可能會締造完全比賽,在該局第一位上場打擊之前,他詢問隊友城島健司:「現在是完全比賽嗎?」城島回答說:「是的。」鈴木一朗便告訴城島,他要擔任打破完全比賽打出第1支安打的打者。
.Example3:<span style="float: left; line-height: 70px; padding-top: 2px;">S</span>
Sometimes all we need is a big first letter for a paragraph. No drop cap, just a big cap. It looks best when followed by way too much text. We used a font size of 56px for the first letter. If there is enough text an even bigger first-letter size looks good. The code can be adjusted for a slight overlap by adjusting the letter spacing. The color name chocolate tastes good today. There are more edible color names here.
.Example4:<span style="border: 1px solid black; background: firebrick; margin-right: 6px; margin-top: 5px; float: left; line-height: 60px; padding-top: 2px; padding-right: 5px;">M</span>
Mike Golby might like the background color firebrick better than gold. Golby changes text colors for emphasis but if we don't specify the color for the text it will default to normal text color for that page. By the way, thanks for the Strunk and White Plumerias Mike. I noticed them when visiting your place to find an example of a color to use.
.Example5:
...
...
要如何有型,由你決定...
※以上Code中的CSS參數請自行客制化吧 >_^
| [+/-] |
[Template] Neo for everyone |
哇呼…這是個天大地大的好消息呀!! 我曾經有提過一個國外的Blogger Hacker所設計出的新Template,利用 AJAX/JSON 的技術,使得整體Blog的速度飛快,就好像在操作本機端所架設的網站一般,幾乎沒有什麼Page Loading的感覺,(在此篇中 [Blog] A not only Awesome but Lightning Fast Blog),如今此位Hacker免費釋放出此template供大家使用(之前可是要價10美金的唷!!),有興趣的人快來嚐試一下吧...
更屌的是,作者有提提供一個叫「Neo demo blog」的站台,讓你輸入你的Blogsite URL之後,即可讓你馬上體驗一下,利用 AJAX/JSON 所帶來的那種全新的「快感」體驗...就算你不喜歡它的template style(我就是這種人..哈哈),也一定要去親身體驗一下「自己的Blog能夠有光速般飛快」的fu...嘻
我想所帶來的衝擊將會是引領更多的人,親身感覺到 AJAX/JSON 的Power...套用一句古人的話:「師父 Neo 引進門,修行靠個人」,我想若有機會並且有時間的話,我的Blog下一步最大的改版,將是跟著 Neo 師父走,盡可能將我的 Blog 運用更多的 AJAX/JSON 技術,避免Reload一些重覆性的部份,加速網頁開啟的速度...(希望不是光說不練...XD) ※資料來源:
Hackosphere -> Neo for everyone!
| [+/-] |
[Javascript] Style Sheet Switcher |
由於上次使用朋友的電腦,是屬於「16:9 WideScreen」,忽然覺得我的Blog的版面在WideScreen的螢幕底下看,似乎有點浪費空間,好空虛的感覺 ...XD,WideScreen也是未來的趨勢,以後應該買不到一般「4:3」的螢幕了吧..囧rz,看來我的 Eizo L365 可以退休了...於是改成「三欄式」或是「寬版面」Template的趨勢,似乎是不可或免的!
※根據 Google Analytics 的「螢幕解析度」分析數據如下:結論是閱讀此Blog的人,大概還是有五成以上是使用「1024x768」,所以目前的版面配置樣式,似乎還可以再撐一陣子..^_^,但為了照料那些使用「1280x???」解析度的人,還是得將版面給加寬些,降子看起來比較順眼些(純屬個人自以為),所以就目前的情況來說,讓使用者能夠自行選擇版面大小是再適合不過的了,「力供丟嗯丟呀!」,並且Yahoo也有寬窄頁面切換的功能,看來我有跟得上時代的潮流..呃...
※使用方式,請見下圖:
※如何取得此功能資料來源:
英文:Dynamic Drive DHTML Scripts- Style Sheet Switcher (v1.1)
中文: Ben's 部落不及格: Blogger進階玩-如何即時切換版型
註:懶得看英文的話,就看Ben兄的說明吧,生動又好懂低..
| [+/-] |
[Javascript] Encrypt your private blog post |
資料來源:
Vincent Cheung -> Encrypted blog posts <script language='JavaScript' src='http://vincentcheung.googlepages.com/blogjscrypt.js'></script><a href="javascript:Decrypt_text('unique_name');">Click to Decrypt text (點擊此處解開火星文)</a>
<div id="unique_name">此段內容為由上面Step1.所產生出來的一整段火星文(例如:wRxSwskrWsmohc1...之類的文字)</div><a href="javascript:Decrypt_text('unique_name', '此段內容為由上面Step1.所產生出來的一整段火星文(例如:wRxSwskrWsmohc1...之類的文字)');">Show encrypted text</a>
<div id="unique_name"></div>| [+/-] |
[Javascript] Add Digg vote button on Blogger Template |
為了順應目前網路的趨勢,我也要來跟大家一起Digg一下...有興趣的人一起來吧,若不懂Digg是什麼碗糕的人,簡單的說: Digg就跟台灣的"HEMiDEMi 黑米" 是同性質的站台,只不過Digg算是此類中的佼佼者,應該是世界最大站!!
其實...真正原因是,我是覺得這個「Digg Button」還蠻美的,很有質感,相當有「Web 2.0」的feeling..XD 可以拿來裝飾我的Blog,哈哈,會不會很像智障呀... :x 並且由於嵌入Javascript語法,所以又會再拖慢開啟網頁的速度....but 不管三七二十一了,我的 Blog 本來就不怎麼快了,再慢一點也無妨啦,大家就忍耐一下吧.. :p
雖然Digg.com在台灣不怎麼有名,因為台灣網路族群主要還是以"HEMiDEMi 黑米"為主,而且Digg.com裡頭被Digg的文章幾乎都是英文為主的網頁...但我還是堅持要這個"有質感的裝飾品" :D
想要跟我一樣惡搞的人,就跟著底下作吧..很簡單低
在你的Blogger template裡頭找到<p><data:post.body/></p>取代成底下的code<p>
<!-- DIGG -->
<div style='float:right; margin-left:10px;'>
<script type='text/javascript'>
digg_url = '<data:post.url/>';
</script>
<script src='http://digg.com/tools/diggthis.js' type='text/javascript'/>
</div>
<data:post.body/>
</p>
就這麼簡單...感謝底下這位帥哥提供的資料資料來源:
Ajaxcold: Add Digg vote button on Blogger Template
| [+/-] |
[AJAX] AJAX Labels Cloud Reloaded |
繼之前的[AJAX] AJAX Labels Cloud之後,原作者Deepak又再度的補強了「AJAX Labels」的功能囉,趕緊來瞧一瞧吧...資料來源:
Deepack -> AJAX Labels Reloaded
※新功能如下:
※至於所展現出來的效果,請直接點選我的Blog上方"AJAX Tags Cloud",再隨便選個分類即可一目了然...
底下直接講解如何安裝此Hack到你的Blogger中,至於有使用之前舊版本 AJAX Labels的玩家,請自行至"原著網站"看,有詳細的解說,教你如何「升級」到新版本的AJAX Labels(本人就是從舊版升級到新版本的),要不然直接"砍掉重練"也是可行啦.. :p
Step 1. 為了以防萬一,先備份一下你原來的template吧! 再就就是編輯你的template,找到</head>這個keyword,再將底下code貼到</head>上方。<style type='text/css'>
#indicator {position:fixed;z-index:1000;padding:15px 0;top:40%;background-color:#FFFFFF;border:1px solid #AAAAAA;width:176px;left:50%;margin-left:-88px;text-align:center;}
#search-result {border:1px solid #AAAAAA;padding:10px;padding-bottom:30px;font-size:85%;}
.search-result-meta {background:#EFEFEF;padding:2px;}
.search-result-meta img {border-width:0;vertical-align:text-bottom;}
.search-title {font-size:1em;padding-bottom:3px;font-weight:bold;text-align:left;text-decoration:underline;}
.search-cat {display:block;padding:3px;font-size:1em;margin-top:5px;margin-bottom:5px;border-bottom:1px solid #C0C0C0;font-weight:bold;}
.search-close {color:silver;float:right;border:1px solid #F5F5F5;margin-top:10px;cursor:pointer;}
.search-result-nav {font-size:1.4em;font-weight:bold;padding:5px 0pt;text-align:center;}
</style>
<script type='text/javascript' src='http://bloggerhacked.googlepages.com/prototype.js' />
<script type='text/javascript'>
//<![CDATA[
// User customisable parameters
// ----------------------------
// maxresults - Number of results to show per page
// navFlag - Set Navigation ON or OFF. Give 1 for ON and 0 for OFF.
// feedLabel - Text to show for the label feed link.
// catLabel - Label for categories.
// closeLabel - Label for Close button. You can use hypertext also.
var maxresults = 5; //一次顯示幾筆資料
var navFlag = 1; //是否使用分頁(導灠)功能
var feedLabel = "Subscribe to"; //...該怎麼解釋呢..
var catLabel = "Sorted into:"; //...沒什麼好解釋的..
var closeLabel = "Click to close"; //...這也一樣.. XD
//]]>
</script>
<script type='text/javascript' src='http://bloggerhacked.googlepages.com/ajaxlabels.js' />
上面5個粗體字的變數,根據個人喜好,可以自行再客制化一下.. :D
Step 2. 找到底下code <b:loop values='data:post.labels' var='label'>取代成下方
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:loop values='data:post.labels' var='label'>
<a href='#sres' expr:onclick='"javascript:getCat(\"" + data:label.name + "\",null)"' rel='tag'><data:label.name/></a>
Step 3. "假如" 你在sidebar有Label Widget的話,再作這一步驟,找到底下code
取代成下方<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a href='data:label.url'><data:label.name/></a>
</b:if><b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a href='#sres' expr:onclick='"javascript:getCat(\"" + data:label.name + "\",null)"' ><data:label.name/></a>
</b:if>
Step 4. 按下此Button,再隨著說明步驟,一步一步完成...新增此Widget的目的就是,當你點選分類標籤時,更新的內容所要顯示的地方.. ^_^,看你想放哪邊就放哪邊囉!!
Step 5. 儲存範本,結束啦...快去看看吧!! 多了..Navigation-System是不是很Cool呀!
| [+/-] |
[CSS] hideFocus Property |
如何避免超連結在點選時會出現"虛線外框"呢?! 因為我的Blog裡有一些由圖片組成的"Navigation Icon"及"Navigatin Bar"...所以一當點選此類連結時,便會出現預設的"虛線外框(如下圖)",個人覺得那虛線相當的礙眼...XD,破壞整個美感!!
若你跟我有相同感受的話,那你就跟著底下作吧... :p
有底下兩種作法:
1. 針對單一超連結的作法: 加上 hidefocus="true" 屬性 (For IE only)
Example:<a href="http://www.google.com" hidefocus="true">Google</a>
2. 透過CSS的作法 (For IE & Firefox )
Example:<style>
a {noFocusLine:expression(this.onFocus=this.blur())} /* For IE, onFocus 的 F 要大寫*/
:focus {-moz-outline-style: none} /* For Firefox */
</style>
※若是使用Blogger的話,那就將方法2.的code加在</head>的上方即可 ^_^,若是別的Blog平台請自行摸索啦…
[UPDATE 2009/05/22] 資料來源 : http://www.wowbox.com.tw/blog/article.asp?id=3310<style type="text/css">
.wrap{position:relative;}
.btns{zoom:1;}
.btns *{outline:0;zoom:1;background:#f2f2f2;}
.btns button::-moz-focus-inner{border-color:transparent!important;}
</style>
<div class="wrap">
<div class="btns">
<button type="button">確定</button><button type="button">取消</button>
<a href="#">確定</a><a href="#">取消</a>
</div>
</div>
| [+/-] |
[Programming] Sick Program by Mekka '97 4k - mni.com |
據說這支程式(omni.com)是97年的Mekka'97 4K Intro比賽的一等獎作品,忘了出處是哪了...不小心關了視窗,懶得找..XD,整個程式全長4095 Bytes,其中包含133 Bytes 的自解壓程式(類RAR壓縮),未解壓的程式長4782 Bytes。3D場景包含144個立方體,367個面,362個點,15個不同的64*64的紋理 Blah Blah...(網路上看來的..誰知道這多呀..),費話別多說,快來試試吧,保証讓你有驚豔的感受...
※程式碼如下:e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1
e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20
e134 0 3d 0 1 74 1a 7f 3 aa eb f3 2d ff 0 50 e8 f 0 5a f7 d8 8b d8 26 8a 1 aa
e14f 4a 75 f9 eb de cb 57 bb 21 13 8b c1 40 f7 27 f7 f5 8b fb ba 11 1 4f 4f 4a
e168 39 5 7f f9 52 8b c5 f7 25 f7 37 2b c8 95 f7 65 2 f7 37 95 2b e8 fe e fe
e181 10 79 6 c6 6 fe 10 7 46 d0 14 d1 d1 d1 e5 79 ec 5a b8 11 1 ff 7 4b 4b 48
e19b 3b d0 75 f7 5f c3 83 f7 83 a6 5d 59 82 cd b2 8 42 46 9 57 a9 c5 ca aa 1b
e1b4 4f 52 b4 92 3f ab 6e 9e a8 1d c6 3 fc e 6a e7 ae bb 5f 7b 10 b8 b4 f7 8
e1cd e2 bf 36 4e 39 9d 79 29 3f a f9 36 52 16 fb 5 e8 e5 a6 c2 e9 b0 43 d3 a3
e1e6 cf d3 fd fd cb d1 4c 5e e0 63 58 86 bb 3e 9 c1 20 bc cc 91 a3 47 81 70 b3
e1ff d6 1a 9e c2 c9 12 e7 4e ad f4 5f e3 30 e9 9 39 d7 e8 f9 f4 d2 44 e8 d7 22
e218 be e2 ce 88 25 cf 30 4a a8 29 ae 3f 47 c6 2d 85 e9 73 54 13 b e6 e0 34 65
e231 e2 50 8a 89 18 5f ce 70 99 3 5f 42 bf eb 7 ae d0 ca 5 22 8d 22 a5 b7 f0
e24a 90 81 bc 7a bc dc 5 db c0 6a 2 e5 57 38 be 60 cb ac ba a5 3b 9d f1 77 38
e263 a6 84 d1 3c af 49 d8 6a 45 a2 76 60 21 12 c0 c2 44 f2 5e bb e5 37 a9 2b
e27b ec 4a 8c 4c f2 f7 a9 58 71 2b ba 6d d6 6a e5 60 46 e0 da e5 b9 90 e5 a3
e293 f7 7f 31 60 58 f0 c4 88 10 4e 3c a3 ee 4e 11 55 8f a 92 eb db ad 7a 9c f
e2ac db 5a 28 96 da 87 ae 91 91 2d e3 5e ea df 6 95 71 67 71 40 ce d1 2e 31 6d
e2c5 c1 9c d8 6a 76 9b 4a e8 36 44 d6 76 d 30 5 ff d4 1b ac 1f 32 65 31 bf 55
e2de 26 b a4 55 e1 5d 5e 16 ed 97 48 6c 77 fb 81 86 e f9 18 bd d4 f4 8b de 1d
e2f7 ba d 47 75 3 89 4b 3e dc 27 86 1c d0 17 89 48 d1 a6 8d d4 2b 54 4e 8f b0
e310 2 e1 6b 1a 75 78 ea 21 91 13 c0 cf 78 a0 ab f3 35 c6 b4 c8 90 8d d7 45 e7
e329 c 5b a4 ba 52 10 64 f5 4a 50 b7 ec 46 22 15 23 84 30 81 5c df 61 5a 8f 67
e342 c4 63 57 6d f7 26 92 a3 1f e5 3 a5 0 54 41 8 48 7c 26 90 33 82 9c 91 b0
e35b ab 78 5d df 99 e0 b9 fc 5 36 ac d9 49 91 ab 20 a2 63 48 89 ce 5c 60 64 f0
e374 63 d9 a8 38 3b d3 e6 4c 8c 23 34 4e 20 51 93 5e 6d b4 7a 22 9b 4c f2 d3
e38c c4 f8 3 6f 47 40 f4 f8 45 9b 83 f3 83 6 31 d0 0 17 82 83 dc 67 f9 62 77
e3a5 90 3b d9 ec f3 55 96 b8 d9 db 79 55 f1 e5 8c 5e f2 e5 2e b0 b 6e e2 81 25
e3be 93 8e b5 dd 5b 46 f9 af ed 6 12 cf c9 1d f0 f7 3b 16 2d c6 58 73 8d e9 5f
e3d7 fd 5a b6 a1 94 4d 1a 8 ff eb b7 6 80 c7 86 83 b6 b9 fd 1c e0 c c3 2e a0
e3f0 2f b 3e 3 6b 29 e1 27 85 1c ea 6d df b3 a3 ed 65 4a 9a 59 3b 54 e 4b ae
e409 9e 27 f0 4d 3b c 4c 46 b7 e5 57 1b 1f 1f bb 80 86 f5 b7 ef 73 52 bf 2c c7
e422 ed a b7 81 2 f3 90 3e ee cc 6c eb f 38 1 6c 68 b1 d 45 78 b2 f f6 83 b0
e43c c4 33 df b1 d1 91 98 1e 81 a5 e2 59 9f f4 8c b6 72 8 a7 8c f6 e a3 b2 1f
e455 d9 d3 23 f0 7c 5e 5f 68 61 8b 45 da 1d 91 ec 8d 4e ea 1a 38 85 94 aa ac
e46d f2 4 f6 c4 e5 92 8e 9a 4e 83 e1 73 e8 cf 2a 5c 2b 7e f1 30 2 8a e6 28 1a
e486 3b ce bc 96 aa 7f eb 87 cd 8b 96 2d 9 59 7a a0 1a 43 62 9a 9e 4f ff 8e d9
e49f ce d6 a4 70 79 cd 65 fa 2e 92 14 29 f7 6c 74 4b 49 60 80 bb ff 41 bb 2d
e4b7 60 33 3f 98 77 9a 1 ee a6 a3 da bc ba e9 f3 72 f4 7c c3 59 2 a6 44 a4 c8
e4d0 c8 54 93 ce bd 69 bb b9 43 21 2c c4 ea 4a 5c 3f 75 60 f2 b4 91 ca 9 82 e3
e4e9 a e9 a6 20 b9 76 50 ed 47 e9 fe 6d 41 34 13 2f 28 2f 4e f4 da e 3c 78 6c
e502 b1 79 87 45 98 a4 d4 c3 b3 29 c2 4a 8b ed a6 54 e2 1b 31 62 60 ff 2c 1d
e51a 21 0 15 b2 4e 5c c 2 d 83 fa a2 f3 8a 5 12 72 4a c7 44 7c 91 d4 be b a f2
e535 70 52 fb b4 a2 df 89 de ff c4 96 73 c9 c ed d3 c9 8e 5c dc 8e d1 3b de 8c
e54e 53 a2 8b f9 e9 91 dd d6 df 6e 74 d1 dd 34 60 8f 9e 32 7f 3b ec 79 a3 83
e566 45 78 b4 2f 1c 50 7b 7a 97 b0 9d 2d c dd 8a 26 cd 7d 8c 4c 5a 8a 4c f9 a4
e57f 11 f9 2c 6c 92 e9 b5 cb 56 89 8c be f6 64 fa 25 43 fa 6f e2 c8 3a 18 a8
e597 f0 e9 f4 c2 86 e6 2b 44 67 4a b9 34 9 ed 5f 33 42 62 d4 8a 1e 5b 31 67 cd
e5b0 3d 71 6d 83 fd 36 20 69 ea 1 c3 e6 e6 de 99 aa 7 11 5b 59 8a 1f 43 83 52
e5c9 ea 5d 8c 6a 69 c7 3 eb 4e 3b 88 a5 5f b1 6e 27 5f 3 5c 28 c 9b 6c c3 f8
e5e2 e5 b9 d6 11 d6 8b fa 5c 8 c7 1 eb 45 db f3 6c 9f 16 46 61 51 ed df f bb
e5fb c0 c4 1e 64 68 98 4 79 30 94 72 df d4 cd 1f 7f 72 c6 82 2e 79 47 4e 8c 4b
e614 a2 c7 e2 36 df 76 fd a4 b6 4e db 96 40 3b 8b b5 d4 85 64 c6 0 2c ad 9d 27
e62d 14 99 82 4b bc 9 fa 94 b5 db 7c 98 eb b 13 a7 b0 79 1d 7e c5 45 aa 20 49
e646 be ff 9d 64 0 5d c ec 6 5 ad f2 38 6b ed 7a d6 b2 c7 2e 6a a6 12 4b ff 55
e660 20 3b a 77 f b9 0 9d 57 4a ad ce a4 d3 ff 1 4f fb 53 54 88 f 1 ed 4b 56
e67a 15 c8 dc 28 bf f2 72 d4 10 1f 99 42 69 9e 78 e2 47 82 93 31 d0 2d be 9f
e692 93 93 9a 1b 80 c0 10 c 53 78 a0 26 2a 96 4f 74 4b 16 c7 9c 8d ad ac fb 16
e6ab 15 c6 fd c9 a4 14 48 62 47 20 c9 41 ed 61 f8 9b f8 ff ba 39 50 65 87 ee
e6c3 bd ce 95 c0 fb a5 7e d8 cd 27 fd 2c 74 3 c1 1b 89 b9 51 d5 e3 da ef 9e 6
e6dc f0 aa a9 a7 fb 87 4c 5d cd ff 65 36 8c 73 6f 9 c6 78 9a b6 77 db df 81 68
e6f5 3b b8 ae 5d e1 af d4 e6 66 8c d6 a4 83 9f 37 3c 1 dc a2 a6 57 c2 20 1b 90
e70e 75 df cd a5 62 a5 36 79 fb 35 8a 9b b0 a0 a5 c3 37 6f 80 72 bc 52 30 8d
e726 9f 7a 64 d3 7 41 45 d8 68 97 f2 aa 1c a1 6c 7c 9d 32 7d ad 15 b1 53 e3 33
e73f 8a ed e9 49 d4 cf dc 96 22 37 36 11 9d 7f f0 4d e0 62 31 b1 c7 69 c4 79
e757 ac 20 1 e8 3c 6a 8c 32 cb 52 63 36 68 f4 10 2b 9c 21 4f df 5d 60 92 39 91
e770 e2 f9 c9 7d ca 48 3 3f 21 dd 6c f 23 2e 61 3a 9f ba c3 f9 4e 7 ea ed ef
e789 71 4a 72 3a ed 23 3d 77 b5 ed d5 1d f6 a4 99 fa ef 98 dd 2 98 80 b6 7c a3
e7a2 62 96 7b 8e bf 7b 81 9f 9a ce 3f 12 40 2e 25 db 84 16 dd 2e 86 f f4 b2 7e
e7bb 5e b4 14 6a f3 29 b1 a4 57 d5 a8 17 6f 87 a4 74 5b 9b 17 79 f1 ec 33 c8
e7d3 f0 1d b2 7e a8 4d 95 7f 5f 9 d5 1a 5a 45 f4 41 c6 d 3f eb 66 2a c0 e8 5b
e7ec 3c bd 50 ad f1 53 9d 2e 45 9a d8 7d 2c 17 a8 6e 15 48 13 39 53 ed 3d 78
e804 ad f 3a 65 a3 3e 2e fa ca 7 94 4a 1f b4 d8 7e 47 8a 8e de e7 7e 34 c1 69
e81d 7f 6a aa 66 58 18 31 24 72 13 22 34 8a 56 36 87 df c2 d 8e 3f 71 a2 5f 25
e836 8b 8d 4 78 fd c9 45 d1 55 79 c1 9f 13 84 1b c8 5 db 95 d0 7c 64 96 20 51
e84f c4 e0 5e ee 47 8a 11 ac fb 9 e0 bb 40 db 86 84 12 93 b9 c9 f2 9c 63 47 c9
e868 eb ad 1 3e fa 6d 3f a 64 5b 58 56 27 f ca 5d e0 30 bc 3e 10 5d ec 17 28
e881 85 5 51 8e 95 a3 94 3a a8 f1 96 f2 f 29 5c 97 dc 47 db 9d 6c 63 e8 e7 f0
e89a e4 a 70 f8 f1 47 54 d3 2d 32 7c ef bb 9a b4 1b 0 2b d6 dd e7 30 b a2 75
e8b3 c7 f5 d0 31 d7 d2 8a b0 ac 1c 6d 60 3a f7 c2 db 1e 6d 7 f6 8f 35 88 e5 7f
e8cc 3c 26 81 34 a0 32 a3 25 18 6e 73 b2 a0 f1 cb 86 61 e7 65 8b 76 98 19 6f
e8e4 c0 62 9b a3 cc 18 5e 40 12 97 2b d0 15 79 de 19 ea df 7a 59 2f b5 d7 39
e8fc 52 e2 6 f1 3 a0 a5 d9 1b 88 93 4d 30 c8 2d f5 db 55 ea 85 6f a 3f dc bd
e915 57 15 6a a3 a3 3e 8e ad 2d da a0 ca 75 7c 57 8b c5 cb b 1d 2c 8e c6 96 2e
e92e 6d 59 83 7d 64 72 ca 80 2e 6 a4 ff f6 f2 d5 1e 7 4 ba 34 6e 9 86 25 aa 4e
e948 e0 7f f5 32 47 3e 7c 43 d8 28 c4 1c 11 1d bd 33 3 b5 ca 13 43 34 2 b1 a0
e961 57 ed 9d 3c 23 d4 45 b2 6e 81 6e af 3e 67 90 be 59 a5 45 34 53 46 85 d1
e979 25 ee 7d cb a4 db 12 c3 aa 17 61 9a fb 66 40 76 fe 3a 69 96 c0 91 14 a7
e991 5d cc 9f f6 73 59 ee b8 55 97 20 26 ff 99 ec 72 41 b5 27 21 6e ae 8a d0
e9a9 e4 d3 da 6f c4 53 c5 f8 b3 a7 a1 5d 66 93 d8 b1 89 40 23 92 c0 90 fb cb
e9c1 e7 6b 4e 51 0 5d 57 f7 cd 1 e2 88 bf 44 9f ef c4 33 ce fa 46 46 a1 86 b
e9da 7a 84 66 66 b9 2 ec 10 c6 a1 d4 c1 18 33 b1 d1 2 18 ad 2f 53 e4 b9 33 59
e9f3 be 3c af 80 4c 8a d5 76 c 3b a7 e2 97 94 15 75 4d 17 d5 97 cf f9 4a d0 6e
ea0c bb 27 20 fc f1 f5 9 a8 df 4d b6 5d f0 1d 69 3b 76 35 82 a4 f3 56 64 39 5b
ea25 6b b3 7 e7 5 8e 82 11 22 a8 1a db c8 3e 67 4a 3 7e 72 51 d6 3d 1a 1c f6
ea3e b8 da 4b 18 8a 15 9d d0 a4 84 96 3e cd 3 f9 3a 30 f3 fb 8f 6e 2 73 eb 52
ea57 93 95 cf dc 6f 48 fb ab d2 a9 70 b4 e2 23 8d 72 86 a8 fa 78 98 1d c5 fe
ea6f 8a 51 88 2b b7 58 b0 ca ae 40 8a 33 32 75 1 6 c0 d4 b7 da 2a a7 bb ad f7
ea88 48 98 5a bc d3 d1 e6 16 97 c3 80 ab 73 ac 32 11 41 1f d 5d aa 0 dc d9 6e
eaa1 fc 30 6 ef 11 60 27 a2 5f eb 5f b9 35 8 23 4 be 10 c0 85 3e 55 b3 82 fd
eaba f7 c3 24 9f 2d 83 94 32 36 de ff 7c 87 7f 4a 80 7 2 23 cf a4 52 eb 3e 19
ead3 a0 b4 a 94 1a 40 58 d9 16 6d c0 64 c4 69 ed 60 46 65 cb df 58 38 0 51 c3
eaec ad a0 37 e4 cf ab f7 6c 24 7d 9 48 65 4a 9f 91 ad 1c 79 a4 a1 78 55 c e8
eb05 44 5b d ef 51 bd ea 2d a7 42 57 ab 3a 4f 2 b 3 19 6a 4d 72 76 5c 97 0 6c
eb1f c5 5d bc dd e7 81 cf 8d 34 38 50 3c 98 58 cc 41 aa 99 90 af fe 4e 96 77
eb37 ed 54 18 ce 2c d1 5d 34 cb 79 50 ff 28 96 44 e0 51 64 6 a8 b7 6e 8c 62 c4
eb50 66 95 81 4f 8c f6 26 ba ea 5d d2 79 b1 e4 e9 29 fc a fd b3 85 8c e6 52 dd
eb69 33 bd 5d c7 39 ef 6 ef 9e a6 6a 61 9c 9f d5 54 b4 fa a1 d4 10 9b ff 7e 33
eb82 11 52 99 c7 26 6e a1 36 8a ad ee 48 7a 2c 7f d5 b7 27 8a 6b 37 c 71 39 85
eb9b 9c ba a8 a 17 b9 d0 51 56 95 c2 3b 5 a7 31 c5 8b 5c 95 6e 4c 89 6f 17 ef
ebb4 d4 5a a 77 65 e1 49 b2 e8 72 ac 3c f0 6b 71 fa 3 c7 ca fc ad f9 55 22 ec
ebcd 58 2f 1c fa 29 cf 73 b4 ad 51 5c f8 66 70 59 5d 70 3e d1 3f c4 eb ec f1
ebe5 7 78 6a 93 67 9f 44 fc cb 5b 95 ff 74 c0 b7 42 77 26 c9 aa 8c ed 39 a2 db
ebfe 9c b3 eb 3d 4a 1e 9b 89 e4 d8 a8 27 74 ef a3 ed a5 24 5d bb ab d0 fe a1
ec16 29 ab df 75 a a6 23 0 cc f1 14 72 9b 1a 55 7e e5 d1 da 98 dc c4 cf ab 34
ec2f ba 8d de 4a 59 6 13 dd d8 44 3c e bb 56 95 ae 97 e2 3b 49 e5 9a 6b a2 53
ec48 c1 33 35 24 1b 33 17 c3 8a 8c 12 3d 3d 4e 5b 75 22 30 67 4f a0 5d 3a 78
ec60 88 a 11 35 7 b1 77 42 32 a8 c3 bb 20 fb 98 5 d6 ac e7 3a 63 35 90 93 9e
ec79 44 24 2e 1b d7 8c aa 29 53 4d d9 ab eb e6 1 56 c4 fd 54 a3 bd 14 5b b0 8f
ec92 ce be 23 24 93 c4 48 18 a3 e7 4 5 4b 78 cc 79 dd 3 56 a4 ed dd 5f 98 41
ecab 1b 68 4c c1 bb 41 c2 1e 3e 94 8e ef 28 1e b 76 e 4f 36 b1 c 6e e2 18 17
ecc4 20 fc 35 40 1f e4 6d a4 18 bb bc d5 9e ea 85 86 af af 63 d4 13 66 92 c4
ecdc 2b 69 84 ca 23 2b d3 66 81 6b 81 73 26 4 85 36 21 4c 49 44 75 64 39 16 3c
ecf5 ed e0 6d 44 75 45 30 43 68 c0 78 fc d0 17 b eb 81 3e c3 ba 1b f 4d ae c5
ed0e 55 1f c 39 12 5d 8 65 f1 34 59 de dd 98 56 17 43 38 66 49 9a eb db c1 87
ed27 51 38 cc b7 5f 98 fd 43 be 2d bb 74 f3 f8 f2 36 3d a4 34 a5 7e d2 26 cc
ed3f 84 1f ea 56 f0 80 18 69 4d 88 41 fc 56 fd 41 3b 1e e 9 27 4f f6 3b 62 4e
ed58 5a 1b 2a 4e 85 8c b2 4f 79 ef 59 4e e 73 3d bd c4 ca 60 e7 4a 47 90 b5 8
ed71 2a f0 4e dc ba 66 ae 48 2b 31 73 a2 11 c 32 ff 54 14 77 6b d6 58 4b bf ee
ed8a f6 6a bc dd 1 88 d da a9 f 81 24 c5 f8 72 9a db d5 c8 2a 80 a9 16 d7 c6
eda3 b1 91 c0 a9 95 40 b5 b3 a8 2a 28 c6 92 16 ab 54 7d f8 93 5f 3a 17 c8 45
edbb a9 f0 e0 71 23 76 53 38 a5 a1 cc d4 f1 f2 3c 2b 46 43 a1 d5 ba e d7 19 7a
edd4 c2 e1 8f 67 1d d 98 9d a1 79 9d 1b 20 7f 4d e7 bf f9 ff fe aa 28 ab 8f c
eded 4d 50 33 e3 26 fc 3c 3 3a 2b 26 12 f7 1 8f ee 97 4c e6 6 2b d9 1f a1 4a
ee06 77 44 d4 8b b7 3e 5e 2d 18 c3 54 68 99 a8 8d 92 96 9e 9d ab 33 38 ff b8
ee1e ee 78 c6 7b b5 84 95 d3 6 27 ae 5d 27 38 a 38 8e f0 1 a5 96 4b d7 9b 42
ee37 e5 6f 57 75 4c e9 78 2d 5b ec b6 d2 29 e2 a8 92 95 9c 65 2a 3e bf 8d e0
ee4f bf b3 ac c8 e 7e 13 af 88 26 7d 48 5a c7 39 29 36 d2 90 e8 3b 3 d0 61 1a
ee68 d2 e8 a8 f ba 8e a1 9f df 12 ab 54 7 23 98 de 62 af 4c 7e d4 fb 6b 2 6e
ee81 40 40 37 b7 73 f2 d8 81 be 29 d2 99 c0 73 25 1a 3c 92 75 6e bd d7 79 79
ee99 4 14 c0 4e 99 57 66 93 74 ec b0 29 7c df 61 b0 3 3a d1 c3 fa a4 f7 f 9f
eeb2 d3 f 0 b9 2a 5a 3a c5 88 25 b8 b9 cc 82 3 57 3a e1 7b 51 75 70 a6 74 1a
eecb ca cb 3 18 68 ca 77 fe 1b ad cd 68 7f 36 85 fc b7 4f a0 11 da 69 fa 79 87
eee4 d6 b9 21 dd 3e 70 db dc 84 d4 6e d1 20 4 af f6 32 a2 8e d 54 25 fe 7 54
eefd e 7a 74 4b a0 4b f7 f4 e8 74 22 e9 98 70 fb 25 2e f4 64 57 75 28 85 45 53
ef16 3a 2e e2 3c 54 36 e9 29 6 67 59 43 10 7e c1 49 cd 5e f9 97 a 58 5f 8a 11
ef2f 4f 3d 9a e2 2b 22 58 fa be fc 69 91 7a 8c 3f 77 9f c9 3b 54 26 23 93 b3
ef47 85 de ae f5 bd c5 47 4c c4 cd 5e ad bc 8f ba 31 f6 e4 70 fb 6e a7 96 d5
ef5f ad 10 80 39 43 97 4f 10 cc 1b 8f 8d cd 4c 63 4 d8 1e 85 70 41 6c a8 eb df
ef78 7f 36 c5 60 a7 12 9 16 73 fe 75 3a 2d 40 29 7d aa a 5c 2 29 23 0 a6 e5 6b
ef92 24 6d 9b 20 e5 7 cb 40 b0 38 59 9c a7 69 6a 70 d3 38 ef e2 b2 11 3e ea 2a
efab f9 2b 2e 43 1d 65 cf d6 1b ef 83 5a 5f e6 c5 62 16 ca 5e 4c a6 39 e4 53
efc3 2d 23 d2 5e 7e 15 54 8a 8 b7 3d bb 88 59 b9 9e a2 7c 42 1f a2 77 3c 5b 9
efdc 6d fa 8f 21 46 1a 3e ed ce 49 56 1d 29 2d 70 3 a7 6f 75 ac 1 87 ff 27 86
eff5 73 49 28 85 2d 97 7a 84 e 37 3d 86 10 21 4c e2 74 62 6b 51 70 8f 15 72 f3
e100e 81 b2 a9 9d 8a 63 ad 1b d5 aa 8a dc 96 3c e7 47 16 51 fc 87 50 9 b7 60
e1026 29 33 52 fb b0 df 70 c5 65 4a 60 3b c d7 a8 29 47 51 f7 8a 77 f3 99 3f
e103e 38 16 60 de 68 27 b2 24 7 62 a2 fd 40 86 b2 75 c3 3c 2f 3d fa 9 d9 a9 9a
e1057 71 3c ce 46 94 0 f9 bc 46 7f b8 2e 85 7f 7d d3 8d ea b4 63 81 59 10 bb
e106f 57 d0 b6 ab e1 83 74 1e 25 d5 73 78 18 b1 60 62 c f4 76 8d 17 d5 ed 23
e1087 23 e4 f6 32 64 5a 61 9 63 f6 92 57 d5 29 40 d6 3b ba 63 72 18 0 25 1b 7
e10a0 ee 7f 25 4a fa 6 74 19 46 e3 e8 89 7a c6 56 54 a7 43 13 4e bf 97 a5 6f
e10b8 99 2f ac 33 4d fa 58 3a 5a a a4 1a 74 62 c8 4f 3b 78 9 d7 ee 7e ee 2d 69
e10d1 30 40 ea 47 82 3b 85 8e 3 23 8f 74 4e 8 35 ab 74 4 1 57 d5 85 b1 6b 1e
e10ea f4 7d 1e d2 1e b3 fe f3 12 10 32 39 51 48 2d 6f e5 d3 a3 8c 8 8
g
rcx
fff
n1.com
w
q
※使用方法:
Step1. 把程式碼存成 1.txt (放在C:\底下)
Step2. 開始→執行→cmd(進入DOS Mode)
Step3. 輸入指令 "debug < C:\1.txt",再來就開始欣賞這變態的程式吧...
畫面是遊戲天旋地轉(Descent)的一個場景!這個生成的1.com程式只有4K,可是卻實現了3D動畫的效果,還有一段背景音樂!真是見鬼了...神人是也,完全搞不懂他怎麼寫的...><"
[Best viewed in non-IE browser & This Font]
©2006 Template ReDesign by Kaie | Template Design: Blogger Templates by GeckoandFly.
Original design by Michael Heilemann
