筆者認識胡岳偉是在一年多以前,當時他在網路上發表由他個人所自行開發的嵌入式系統模擬器:ARMware,讓嵌入式系統的開發人員可以在這個平臺,測試自己所開發的系統與應用程式,胡岳偉本人也因為這支程式,而在嵌入式系統的領域裡小有名氣。
對於胡岳偉的人格特質,筆者認為可以用「外向健談」四個字形容,相當的熱情活潑,和許多木訥寡言的資訊工程師具備截然不同的特質。寫程式除了是他的工作,也是平日最大的嗜好,只要有片刻空檔,他便埋首閱讀程式開發的相關文章、書籍,或者致力於將腦海中的想法付諸實現,直接撰寫成為可以實際使用的應用程式。在胡岳偉的個人網站上,記錄了他歷年所完成的各項程式創作,如果有機會造訪他的網站,你就能發現筆者的所言不虛,在專長、興趣兩相合一的情況之下,讓他十分享受目前現有的工作。
對於需要長時間工作的IT人來說,若是生活裡沒有其他興趣作為調劑,可能會讓人覺得單調乏味,因此除了電腦之外,參觀美術展、到各地旅遊,以及從小玩到大的樂高積木,便是胡岳偉除了電腦之外,平日所喜好的休閒活動。其中關於樂高積木一項,據他本人表示,可以有助於學會如何最底層開始去分析一項事物,對於他日後鑽研嵌入式系統有著相當大的幫助。
和嵌入式系統的第一次接觸
大學四年,胡岳偉就讀的是交通大學的資訊科學系,由於個人的潛質使然,因此很自然地一頭栽進程式語言的世界,就此埋首於程式語言的開發寫作,之後則是繼續進入臺灣大學的資訊工程研究所,從這裡開始,胡岳偉和嵌入式平臺之間產生了第一次的實際接觸。
就讀研究所期間,由於胡岳偉自己具備Unix系統的管理基礎,於是被教授指派維護由所上的開放系統整合實驗室自行開發出來的嵌入式系統。系統本身的開發,主要是參考美國卡內基大學在嵌入式系統上的一連串研究成果,它本身具備圖形化介面,在核心之外,系統的主要功能就是內建了一個瀏覽器,以便讓使用者瀏覽網頁,瀏覽器是以Java開發而成。在維護系統的這段時間裡,胡岳偉替瀏覽器寫了一支外掛程式,以便支援Flash動畫的播放。
自行打造Linux小型套件
雖然嵌入式系統在安裝方式以及規模上,和一般桌上型的作業系統差異甚多,但如果沒有對於後者有著一定程度的認識了解,想要驟然跨進嵌入式系統的開發絕非是一件易事。
所以在臺大資訊工程系就讀研究所期間,胡岳偉曾經嘗試以Linux核心為主要架構,自行製作出一個僅有30多MB大小的Linux套件,系統本身的運作方式,和最近幾年相當熱門的Live CD其實有著幾分異曲同工之妙,整個系統是以單一檔案的形式儲存在電腦硬碟裡,除此之外,胡岳偉還以lilo設計了一個多重開機的簡易選單,在電腦準備載入系統的時就會自動出現,這個時侯可以選擇從原有的Windows系統開機,或者是載入Linux。
考量當時的電腦硬體等級不高,記憶體普遍只有32MB、64MB不等,因此小巧簡約便成了套件開發時的主要考量,而未加入太多的系統套件,所以Linux本身自然不具備圖形化介面,系統載入完成之後,大約只佔掉數百KB大小的系統記憶體。
獨力完成ARMware模擬器,節省嵌入式系統開發成本
從臺大畢業,取得碩士學歷後,胡岳偉進入資策會服國防役,往後的四年時間,可以說是胡岳偉從校園理論轉進實務的重要關鍵。
胡岳偉曾先後在資策會的嵌入式系統實驗室擔任過副工程師,以及後來的網路多媒體研究所擔任工程師的職務,並且實際參與多項專案計畫。上述的ARMware模擬器,就是胡岳偉在這段期間裡所完成的嵌入式平臺模擬器,利用每天下班之後的空檔,胡岳偉以九個多月的時間,撰寫完成內含將近20萬行程式碼的ARMware模擬器,模擬的核心為Intel StrongARM SA-1110。
在不考慮軟硬體之間相容性的情況下,透過ARMware的運作,讓嵌入式系統的開發人員毋需準備一張所費不貲的ARM開發版,就能測試自己開發的應用程式與系統是否可以在ARM的相容環境下正常執行,對於加快嵌入式系統的開發流程與節省成本具有一定程度的幫助。
胡岳偉提到,ARMware不是唯一的嵌入式平臺模擬器,功能類似的應用程式在大陸以及國外網站上頭,其實還可以找到好幾個,不過在臺灣,ARMware則是目前為止的唯一一個,至於談到當初開發ARMware的動機,胡岳偉笑著說這是使用過VMware之後,所帶來的啟發,所以連軟體的名字都取得很像。
如果說嵌入式系統是胡岳偉的看家本領,那麼Java程式開發則是他眾多專長當中另一項值得介紹的部分。在資策會的服務期間,胡岳偉也出版了第一本書《深入嵌入式Java虛擬機器》。他提到這本書的由來,其實是某次在參與專案計畫的時候,為了解決Java虛擬機器的技術難題,所整理下來的工作筆記,一位有過出版經驗的同事看過之後,覺得相當不錯,於是鼓勵胡岳偉將筆記集結成冊。在出版之前,胡岳偉還特地請當時仍於昇陽服務、在Java領域頗有份量的王森,為這本書撰寫了一篇序文。經由此次的接觸磨合,胡岳偉和Java社群的交流也日趨緊密,同時也擴展了自己的人脈關係。日後更在王森的穿針引線之下,胡岳偉連續兩年獲邀在昇陽所舉辦的JavaTwo大會上,以J2ME為主題發表演說,獲得與會者相當不錯的迴響。
將一堆不人性化的工作人性化是IT人員的天職
目前胡岳偉在聯發科技的工作內容,主要是負責3D函式庫的設計開發,然後將程式碼封裝,嵌入至晶片裡,這項工作其實和之前在資策會所做的專案開發有著一定程度的關連,舉例來說,若是把函式庫應用在手機、PDA等消費端產品,則可用來秀出螢幕保護程式、遊戲動畫,以及其他各式各樣的視覺效果。
他認為,構成函式庫的各種程式語言其實對多數人來說,並不是很人性化,而程式開發人員所要做的,就是把這些宛如火星文般的字串給合理化,以可以被多數人接受的形式呈現出來,而這就是程式開發人員的使命所在。文⊙楊啟倫
站在巨人的肩膀上看世界 |
訪談過程中,胡岳偉提到無論是嵌入式系統,或者是Java,只要是有人使用過的技術,在網際網路,或者是坊間的書籍雜誌,就會有相關的技術資料可供參考,我們將這些資料裡的精華部份汲取吸收之後,就能以此為基礎,繼續往前發展其他人所沒有的部份,所以他認為閱讀資料,其實就是一門「站在巨人的肩膀上看世界」的基本功。
和許多人的看法一樣,胡岳偉認為真正有深度的文章,十之八九都是用英文撰寫的,因此他十分強調語文能力的重要性,中文資料雖然沒有閱讀上的障礙,不過大部份都是節錄國外技術文章的二手資料,閱讀起來,效果往往就沒有原文資料那麼地直接有效,胡岳偉每個月會固定閱讀一到兩本原文書,除了訓練自己的英文能力之外,同時也能吸收到最新的電腦資訊。文⊙楊啟倫 |
IT人物-胡岳偉
聯發科技資深工程師
●學經歷:交通大學資訊科學系,臺灣大學資訊工程研究所畢業,曾任職於資策會嵌入式系統實驗室,以及資策會網路多媒體研究所。
公司檔案-聯發科技
●成立時間:1997年
●網址:www.mtk.com.tw
●以生產消費性IC晶片為主,其中包括光儲存晶片組、高階數位消費晶片組、無線通訊晶片組及數位電視晶片組等。