April 26, 2010

「0xdroid -- community-developed Android distribution by 0xlab」簡報上線

很榮幸今年又能在一年一度的開放原始碼盛會 [OSDC.tw] 發表最近的作品,算是對 [0xlab] 成立近一年的簡單回顧,題目訂為 [0xdroid -- community-developed Android distribution by 0xlab],簡報已上線,請參考 [0xdroid-osdc-2010.pdf]:

在簡報中,筆者強調 [0xdroid] 的兩項訴求:
  • 在開放的硬體平台,搭建開放的軟體 (Distribution)
  • 透過開放原始碼的力量,將成果累積 (Community)
0xdroid 不僅是個 Android 為基礎的專案,還是累積創新的社群平台,站在 [Beagleboard] 此等 open source hardware/software 巨人的肩膀上,我們得以更充分的揮灑。以昨日釋出的 0xdroid [beagle-eclair-0x4] 來說,已有若干使用者可明顯察覺的改變:

無論是系統效能、附加功能,還是整體的使用者體驗,都是我們可藉由與 open source community 合作的方式,讓一切開發得更快、更多元,最終這些改良也可引入其他的裝置中,讓更多人受益,這就是 0xlab 成立以來抱持的願景。期望您的協助與參與,歡迎指教討論,謝謝!
由 jserv 發表於 10:04 PM | 迴響 (0)

April 19, 2010

哀悼 XIM/IIIMF 設計者樋浦秀樹 (Hideki Hiura) 先生

偶然在日文版 Slashdot 瞥見這則訊息 [XIMの開発者、樋浦秀樹さん亡くなる],一時間無法相信自己的眼睛,但樋浦秀樹 (Hideki Hiura) 先生的確因癌症,四月 7 日逝世於美國。筆者與 Hideki 先生有一面之緣,這段故事紀錄於「Unihan (漢統輸入系統) 也採開源發展」一文,兩年前還企盼 OpenI18N 與其他專案的重整、去年還見到 Hideki 先生在 android-platform 郵件論壇討論 Android PackageManager,現在卻得接受這事實,只待成追憶了。

過去筆者無意處理 GNU/Linux 的中文資訊化議題,僅是在 2002 年與 Tim Hsu (crazykid) 一起從事 JMCCE 後續版本開發,貢獻了酷音輸入法模組,之後就入伍服役,自然無暇理會。而退伍後的 2004 年,意外發現當時輸入法系統有了頗大的轉變,樋浦秀樹 (Hideki Hiura) 先生的大名反覆出現在資料上,作為 UNIX 世界 X Window System XIM (X Input method) 一系列架構與協定的創建者的他,在檢視 XIM 諸多限制後 (可參考筆者的簡報「輸入法開發實戰」),決定徹底推翻 XIM,並重新設計 IIIMF (Internet/Inteanet Input Method Framework) 這個規模宏大的新架構。IIIMF 最初與 Solaris 國際化 (internationalization,簡稱 "i18n") 及 Java Input Method Framework 的迫切需求有關,服務於 Sun Microsystems 的 Hideki 先生領導 Sun 的同仁研發了一系列的軟體建設,並透過 OpenI18N,將這些成果匯集起來,積極整合到若干主流平台,包含 GNU/Linux。2004 年,整個 IIIMF 趨於成熟,GNU/Linux 的開發也因為 FreeDesktop 活躍主導與 Xorg / XFree86 分道揚鑣的影響,積極採納 IIIMF 與 SCIM 等嶄新的輸入法架構,期望一舉克服 Unicode 環境最後的一個環節,筆者就是在那時重新對輸入法開發產生興趣。在台灣,筆者發起 [新酷音輸入法] 計畫後,有幸能在 kanru, gugod, zonble, kcwu, seamxr, pcman, ... 諸位朋友的合作下,讓酷音輸入法在許多平台獲得支援,其中就包含 IIIMF。在 IIIMF 的支援上,筆者吃了很多苦頭,還好 Hideki 先生領導的 Sun 團隊與 Leon Ho 領導的 RedHat 團隊的工程師,都相當友善的用 email 與 IRC 討論,讓筆者少走了許多冤枉路,最後 Solaris 與 JDS (Java Desktop System) 都內建了新酷音輸入法,而 Hideki 先生也熱情地提及許多技術細節。猶記得,2004 年我們在台大體育館旁邊的咖啡廳相會,Hideki 先生與 Roger So 都是 TOSSUG 邀請的貴賓,侃侃而談 Linux 在桌面系統的巨變,之間穿插著頗多討論,那時,筆者就對這位細心又有風度的 Hideki Hiura 先生有著深刻的印象。索取親筆簽名後,我們禮貌地道別,只是,沒想到這一面之緣,竟成絕響。

以下引用 XTech 2008 研討會中,關於 Hideki Hiura 先生的簡介資訊:
    "Hideki Hiura is chief scientist and CTO of JustSystems, Inc. He is a founder and chairperson of OpenI18N.org/Free Standards Group, an independent, nonprofit organization dedicated to accelerating the use of free and open source software by developing and promoting standards. He is also a founding member of W3C I18N WG. As an architect at Sun Microsystems, he was involved with variety of standards and standard organizations including ISO, W3C, OMG, The Open Group, OSF, Unix International, X Consortium and Unicode."
感謝 Hideki 先生為今日的資訊系統做出了巨量的貢獻,因為他,我們這些非英語系語文地使用者,得以自然地創作、分享、修改,或者從事各類資訊應用,鮮少遇到問題,這都是因為 Hideki 等先驅踏著荊棘,在一次又一次的改良與重新設計下,慢慢促淬鍊為現今資訊系統架構。讓我們體會學習什麼是無悔的付出、追求完美並充分考量現實的工程突破。縱使,人生在用盡一切努力過後,生命依然選擇與我們道別離,然,死亡並不是終點,而是前往下一個旅程的開始,作為一個電腦資訊從業人員,筆者踏著 Hideki 先生的步伐,不勝感激。

群 於台北新店
由 jserv 發表於 1:35 AM | 迴響 (0)

April 18, 2010

演講:0xdroid -- community-developed Android distribution by 0xlab


一年一度的 [OSDC.tw] 研討會即將展開,小弟將代表 [0xlab],分享我們這幾個月在 Android 開發的部份成果,其中最具代表性的項目就是 [0xdroid],此專案專注於引入 Android 與相關的 open source 技術,整合在 [Beagleboard] 一類開放的硬體平台上。換言之,0xdroid 是 0xlab 所開發維護的 Android 發行版本,以開放、協同發展的模式,引入若干實驗性的技術、功能層面的修改,以及提供多種硬體平台的支援。這樣說來,到底跟一般的移植 (porting) 有什麼分野呢?在回答這問題,先看看我們之前的實驗影片紀錄:[Android 3D effect ]

這動畫展示著貨真價實的 Android,只是多了一些變化。[0xlab] 創立時有個標語為 "Connection you device to application",意思就是說,我們專注於硬體裝置與 open source 技術的整合與再應用,目前首要的支援平台即開放的平台,比方說 Beagleboard (建構於 TI OMAP353x SoC),透過開放原始碼的力量,改善無線通訊、系統效能、圖形處理、人機介面、多媒體,以及系統整合等項目。如此一來,讓 Android 有更穩健的基礎建設後,才能納入更多元的應用,比方說前述的 3D 特效或進階的 UI 設計,希望往後還有類似的機會,能為大家作些分享。OSDC.tw 暫定的議程時間為 4 月 25 日,地點為中央研究院人文科學大樓,詳情可參閱 [OSDC.tw] 網站,期待您的指教,謝謝!
由 jserv 發表於 11:27 PM | 迴響 (0)

「以 GDB 重新學習 C 語言程式設計」簡報上線 (成大電機)

上個月底,有幸能回到母校成功大學演講,分享今年規劃的系列議程之一的「以 GDB 重新學習 C 語言程式設計」,現在簡報已上線,可參考 [clang-using-gdb-2010-03-27.pdf ]:
對於接觸過 C 語言程式設計的朋友,小弟想指出一個事實,在當前軟體開發的趨勢來說,程序員有必要比過往更熟悉開發工具,善用工具給予人們的便利,就算是低階系統開發也是如此。試想,F-22 戰鬥機的機載軟體已經達到 1700 多萬行程式碼的狀態,難道還要茹毛飲血的開發軟體嗎?這也是此系列演講的目標,透過 GNU Debugger (gdb) 一類強悍的 source-level debugger,並貫徹「作中學」的概念,重新檢視自己對 C 語言的認知,最重要的是,要知曉實際系統是如何運作,而不是死板地接受書本上固定的圖表。

簡報貌似相當多頁,不過其實就是 Step-by-Step 操作 GDB (奇怪了,小弟從未在市面上的書籍看過這樣基本的指引),在不修改原始程式碼的前提下,逐一追蹤記憶體與程式執行流程的變化,中間穿插一些小實驗,並透過 Web 2.0 常見的 AJAX 作為 C 程式的 I/O 處理,寫程式本來就要作能用且有趣味的東西,不是嗎?筆者的設計,就期望讓 C 語言學習能多一些趣味,不時要透過工具,去理解寫出來的程式,在真實系統中是如何展現。

記得十年前,我還是大一新生時,就在國立成功大學自強校區電機大樓的令洋廳,聆聽過陳之藩教授的演說,沒想到如今能在同一個地方演講,雖然我只能談論些不入流的小技倆,但仍希望能對前來指教的朋友有助益。最近會將延伸的教育訓練課程資訊,陸續公佈其細節,也歡迎您的指教,當然,還是免費分享,謝謝!
由 jserv 發表於 7:53 PM | 迴響 (0)

April 7, 2010

「身騎 LLVM,過三關:淺談編譯器技術的嶄新應用」簡報上線

昨夜很高興能在 TOSSUG 分享「LLVM 力 -- 軟體的價值由編譯器決定」這個議題,才赫然想到,去年約莫此時,也在 TOSSUG 分享 [身騎 LLVM,過三關:淺談編譯器技術的嶄新應用] 的介紹性演講,重心則在嶄新的編譯器技術與 LLVM 相關應用,簡報檔可參考:
至於昨晚的議程「LLVM 力 -- 軟體的價值由編譯器決定」,主要是透過實做的方式去切入 LLVM,可作為「身騎 LLVM,過三關:淺談編譯器技術的嶄新應用」的續集,而小弟打算寫新撰寫一份簡報檔,讓與會的朋友可以實際演練及體驗 LLVM 帶來的威力。這裡先紀錄議程簡介:
  • 簡介: 當今資訊建設中,無論硬體架構為何,軟體開發可說清一色為 framework 導向,從 iPhone、Netbook、到大型伺服器交易系統,無不都思考如何更多元、更安全、更有效率地發揮硬體特性。當編譯器技術走入新的層次時,就需要更強大且多元的 Toolkit/framework。去年筆者已在 OSDC.tw 的〈窮得只剩下 Compiler〉探討過資訊技術的典範移轉 (paradigm shift) 與突破限制的可能性,今年則打算透過實務的開發,探討編譯器嶄新的革命。改編女王的話:「請您一定要相信:軟體的價值由編譯器決定,我們當然可以活到老、 Coding 到老」。
  • 議程大綱:
    • 如火如荼發展的 LLVM
    • 動手用 LLVM:不是為了取悅硬體而寫編譯器,而是為自己而寫編譯器
    • LLVM 為基礎的自由軟體專案回顧
小弟才疏學淺,但覺得 LLVM 實在是值得大書特書的重要資訊技術與開放原始碼專案,所以就到處野人獻曝,期待您的指教與建議,謝謝!
由 jserv 發表於 10:05 PM | 迴響 (0)

April 6, 2010

作該做的事

從未想過,得以存活至今,並再次給自己一些新期許。我一直相信,再長的路,一步步向前,能走完;再短的路,不邁開雙腳,仍無法到達。只有一條路不能選擇,是放棄的路;只有一條路不能拒絕,那是成長的路。

整整四年前,Ubuntu Linux 創辦人 Mark Shuttleworth 在我的筆記型電腦留下 [Follow your dreams] 的話語後,即反覆思考該如何實現所謂的「夢想」。沒有一種不通過蔑視、忍受和奮鬥,便可征服的命運,特別在台灣的資訊科技業更是如此,我們被 (業主) 賦予高度的期望,而可用的資源總是短少,專案時程的壓力卻不曾減輕,人人求自保都來不及,還談什麼「夢想」呢?無從否認,而對我這種企盼「世界大同」或「建構理想的社會主義世界共同體」的「夢想」來說,更不知是要等待幾百、幾千年,或許期待第四次世界大戰前夕,人類的覺醒,還比較可行。然,盤據於心那些「該做的事」,在這幾年思索後,卻越來越明朗。愛默生說過:「鞋匠能作好鞋子,因為他只做鞋,不做別的」,作為一個電腦軟體工匠,捫心自問,到底專心做好幾雙「鞋子」呢?智慧是知道接下來該做什麼,技術是知道如何做,美德則是實地去作,我們之中或許不少人兼具「智慧」與「技術」,但去實現的「美德」卻不時被打折扣,這些該做的事到底怎麼了呢?

既然成長的路是無法抗拒的,那在前進的途中,主動搬開別人腳下的絆腳石,往往也是為自己鋪路。Steve Jobs 曾說:「並不是每個人都需要種植自己的糧食,也不是每個人都需要做自己穿的衣服,我們說著別人發明的語言,使用別人發明的數學... 我們一直在使用別人的成果。使用人類的已有經驗和知識來進行發明創造是一件很了不起的事情」,處於「後 IC 時代」的我們,有時也不免驚訝於這個產業發展的速度,一切都跟基於人類已有的知識背景,高度分工、跨領域密集發展,積極地進行創新,才有如此的局面。每次把玩手上這台由前公司設計生產的 3G 手機時,不經意就會讚嘆於電子零件的精巧、通訊技術的突發猛進,以及藏於其中、有如魔法的韌體。不光是硬體、射頻,軟體自然也是重點,但為人作嫁久了,重複進行著創新背後的瑣碎流程,還得安慰自己這就是高科技?稍早去某知名電子公司演講,談及產品開發經驗時,突然脫序地感嘆道:「其實只要待在電子系統廠,不必特別去追求,這些經驗值就會逐漸攀升,但是...」,當時未講完的部份,就是整體的技能,包含軟、硬體,到天線射頻等等的技術創新,往往很難突破,更甚者,成為如此的 [個案]:
  • 第一堂課:「我有 20 年的工作經驗。」
  • 最後一堂:「現在我才發現,我只有 1 年的工作經驗,只不過重複了 20 年。」
該是多麼令人怵目驚心的個案呢?在未上大學前,我有幸能有些打工經驗,若把大學那段荒唐的歲月算進來,勉強湊出十年工作經驗的假象,而論廣度與深度,除了無止盡的自責外,實在與一年經驗相距不遠。而何其有幸的是,有機會能與天才的同事共事,面對他們,讓我想起羅曼·羅蘭說過:「天才免不了有障礙,因為障礙會創造天才」,人才進行工作;天才進行創造。相當珍惜這些提昇自我能力的經驗,如今,應有自信說自己的實際工作經驗已大於一年,對我來說,所謂「該做的事」大致如下:
  • 繼續作技術回顧與分享,如 [自由軟體教育訓練與演講規劃] 一文所提,多分享多學習是提高競爭力最好的方式,而從 2004 年至今,個人的確在這過程中獲得不少指教與建議,也學習到頗多
  • 提昇台灣工程人員的技術水平:從細節做起,能專心「作鞋」的「鞋匠」為首要考量,不僅對內、對外演講分享,而更重視實踐,希望能從 [0xlab] 開始,踏實地掌握若干關鍵技術,並以完整專案開發的模式,引導台灣的工程人員相互提昇技術水平與態度
  • 在足夠的背景知識前提下,培養工程人員應有的自信,正如 [0xlab 成立半年回顧] 一文所引用俄國小說家屠格涅夫的名言:「先相信你自己,然後別人才會相信你」,台灣科技從業人員普遍的自卑心理是該被克服的,當然,這點有賴於前述兩點
十年前還是大一新生時,當時抱持著「台灣人當然能設計出世界一流的資訊系統,寫出世界一流的軟體」的信念,跌跌撞撞走過 server-side computing 與 mobile software,而今,更加堅定的是,這其實就是競爭力的關鍵,這「世界一流的軟體」乃是瞬息萬變的資訊世界中,重要的標的,世界的舞台很大,很多領域都有機會成為一流,但一定要堅定地走下去。下筆之際,想到朱經武教授曾說:
    「不要害怕失敗,即使是摔了一跤,也能抓回一把沙。」
或許我還不具備清楚知曉資訊社會未來走向的智慧、缺乏如何做的技術,但我相信有美德,不間斷地做下去。記得有句話說,歲月,帶給庸者的僅僅是發皺的皮膚,但對於智者,還另外附贈一份積澱的魅力,但願苟活到未來的我,在回顧以上狂言之際,真的沈澱了一些智慧,那抓著那把微不足道的砂粒,也無憾了。帶著責任感生活,試著為世界帶來點不同的事、作點貢獻,生活將更有意義,「活著就是為了改變世界,難道還有其他原因嗎?」,Steve Jobs 又提醒道,自勉之。
由 jserv 發表於 2:38 AM | 迴響 (0)