June 24, 2012

《黑客列傳:電腦革命俠客誌》讀後

Steven Levy 的經典著作《Hackers: Heroes of the Computer Revolution》,以平實的口吻,娓娓道來 1960-1970 年代那些無懼權威並勇於挑戰的電腦科技革新者背後的故事。「黑客」曾是種榮耀,一種追求真善美的傳統。在 Jedi 與 Pluto 的努力下,這部經典著作終於有中譯本,並在實體通路可取得,如博客來《黑客列傳:電腦革命俠客誌(25週年紀念版)》。譯者 Jedi 亦撰文談論翻譯過程的點滴,可見 blog 文章 [《黑客列傳》,譯者序及其他]。我有幸成為中譯本早期的讀者,受到黑客以精湛的技術為支點、撼動整個人類文明的震撼之後,寫了簡短的推薦文,貼附如下:

來自狄克崔西的讀者推薦文

對筆者來說,拜讀《黑客列傳》的經驗,與其說回顧這幾十年來資訊技術的發展,不如說是黑客們以其有限精力、全然付出的勇敢舉動,從硬體系統、軟體設計,從而到思想體系等巨大變革,一再地撼動這世界。孔丘嘗言:「微管仲,吾其被髮左衽矣」,本書提及跨越三個世代的黑客雖有截然不同的立場與行事作風,卻同樣地捍衛著追求完美境界的執著與純真,沒有他們,今日的世界將不僅枯燥,甚至失去再創新的可能。

1990 年上映的迪士尼電影《狄克崔西》,改編自知名漫畫,敘述一位神探英雄 Dick Tracy 本打算退出江湖、與女友過著清閒日子之際,邪惡勢力再度猖狂,具強烈正義感的神探於是周旋到底。而機智警探狄克崔西所向無敵的秘密武器之一,即是一支「會說話、振鈴、防水、防震、防盜、防身」的高科技手錶,儼然就是今日幾乎人手一隻的 3G 手機翻版,想來著實令人吃驚。22 年前我們大概連「手機」這個概念都很難想像,遑論漫畫版本出現的年代遠在 1931 年,80 年前精準預知今日科技生活,估計也該收錄在《推背圖》解讀之中。

《狄克崔西》原本是不折不扣的科幻作品,漫畫家天馬行空地勾勒著 3G 手機的藍圖,但正因有《黑客列傳》眾多黑客與當代科學家長期的投入,科幻成為事實,而書中不提那些揚名國際的人物,反而論及長年在幕後奮鬥的黑客天才,他們的生活、技術,以及夢想等三者原本貌似不關聯的項目,緊密地交織著。今日我們或許無從得知,當初 Altair 電腦轟動全世界時,究竟以哪本科幻小說為藍圖?眾多黑客當年在 PDP-1 開發出鬼斧神工的電腦程式時,是如何超越當時想像力的極限呢?當 Siri 人工智慧助理服務悄悄融入我們的生活時,我們又怎能想像在五十多年前,一群黑客運用計算能力非常受限的系統,以指導電腦下西洋棋為志業,逐步發展出人工智慧理論與真正黑客的「母語」-- LISP 語言呢?種種疑惑,都可在本書生動的闡述中獲得解答,不過在作者筆下,箇中人物好似現身於一齣美國西部牛仔動作大片中一般生動,很大程度要歸功於譯者 Jedi 與 Pluto 的用心與堅持。見到此一大作時,本人竟然也跟譯者 Jedi 一般激動萬分。

因為工作的緣故,筆者曾有機會與本書提及的「最後的真正黑客」Richard Stallman (RMS) 討論自由軟體 (free software),這位「大叔」(沒有貶抑的成份,只想描述其隨和又趣味的一面) 談到若干共同技術話題時,還真的多次上演書中的激昂亢奮的情節。書中也解答筆者過去與 RMS 用餐時,其對中國餐的特別情感所生多年的疑惑,原來有一整個世代的黑客還真的與中國餐廳非常投緣,看來他們以專注熱情改變世界的同時,也是一位位大頑童。

同樣列於本書的電腦科學大師 John McCarthy,在 1955 年的研究論文指出:
    「若機器可以執行工作,那麼電腦也可以透過程式化來讓它像機器一樣的工作。 現今電腦的處理速度、記憶體的容量可能不足以模擬人類大腦的高級功能, 但主要的障礙不在電腦的效能,而是我們無法寫出可以用盡電腦處理能力的程式」
每每思及此觀點時,作為參與開發「21 世紀初的狄克崔西手錶」(即 3G 手機) 的工程人員,筆者都受其熱情與勇於突破的冒險情操所激勵,就是這股前仆後繼、以想像力與黑客精神對抗現實侷限的歷程,讓機器有機會理解人類的語言和思維,進而解決人類的問題,黑客倫理就如 孔丘所讚揚的管仲一般,捍衛著今日我們創新的根基。謹此推薦本書給身處於資訊世代的朋友們。

jserv 於台南成功大學工學院大道,使用 3G 上網的同時,向諸位黑客致意 / May 14, 2012
由 jserv 發表於 3:06 PM | 迴響 (0)

June 13, 2012

演講:PyPy -- Runtime and Dynamic Compilation Framework

6 月 18 日,我將應 [新竹 Python 使用者聚會] 的邀請,分享題為 "PyPy: Runtime and Dynamic Compilation Framework" 的演講,地點在新竹清華大學育成中心,詳細資訊請見:[PyHUG June Meeting, 2012],以下摘錄相關訊息:
  • 時間:June 18 2012 (週一), 7:00 PM
  • 地點:Room 115, Innovation Incubation Center, National Tsing-Hua University
  • 摘要:PyPy is not just another Python interpreter. It is rather a compiler framework of dynamic languages that exploits the abundant resources of Python. This talk will discuss the architecture of PyPy, RPython used by PyPy, translation, PyPy toolchain, and the new applications enabled by PyPy.
我預期以一個 virtual machine 開發者的角度 (背景主要是 Java,不過近年來開始關注 Ruby 與 Python),探討 [PyPy] 的若干設計原理與多元的應用,而 [PyPy] 與其說是另一個 Python 執行引擎,還不如說是 "toolchain",一整套用以開發 virtual machine 的 framework。可一併參閱以下: 換言之,PyPy 著重於動態編譯的基礎建設,儘管一開始只是研究性質的專案,但逐漸完善起來,也有跑多效能評比的報告,甚至藉由 PyPy 的 JIT,可建構出 dynamic language 的執行環境,這個議程就是探討從 PyPy toolchain 設計到多元的應用。期待您的指教,謝謝!
由 jserv 發表於 5:06 PM | 迴響 (0)

June 12, 2012

演講:作業系統之前的程式與 x86 保護模式 (MOSUT)

在去年 [JuluOS 開發中文社群] 建立後,吸引了若干熱衷於系統程式的朋友,其中就包含長期在此領域鑽研的 [descent] 兄。在前文 [演講:打造類似 Arduino 的開發環境],我提到在南部與若干 open source 的同好,搞了一個每兩週一次的例行性小型聚會 [MOSUT],取自 "Meeting of Open Source Users in Tainan" 之意,而 [descent] 兄即將在 6 月 16 日 (週六),在台南大學的場地,跟大家談談作業系統與 x86 保護模式議題,報名方式與詳情可見 [MOSUT: 作業系統之前的程式 & x86 保護模式]。

此議程預計會探討透過 nasm (Intel 組合語言語法), gas (AT&T 語法), C 語言 (使用 gcc) 等來撰寫作業系統之前的程式,並使用 bochs 內建的 debugger 來追蹤整個程式流程。接著,就切入到 x86 保護模式,介紹 GDT, descriptor, selector, segmented addressing 等項目。在作業系統之前的程式加入保護模式的程式碼,嘗試從 x86 真實模式切換到保護模式,並觀察 C pointer 在真實模式和保護模式下的差異。

而其他議題也歡迎在 [MOSUT] 分享。除了參與實體活動外,可訂閱位於 Google Groups 的 [MOSUT 討論群組],以得知最新的活動資訊並參與討論。
由 jserv 發表於 11:28 PM | 迴響 (0)

「Implement Checkpointing for Android」簡報上線

前文 [演講:Implement Checkpointing for Android] 提到 kito 與我在 [FreedomHEC] 發表的新項目 -- DMTCP/Android,也就是架構在現有的 [DMTCP] 基礎上,實做出 Android 的 checkpointing 支持,可有效縮減 Android 裝置開機時間與系統除錯的困難。簡報已上線,請見以下:
目前針對 Android 特性,我們已支援的機制有:
  • Binder IPC
  • Ashmem
  • Logger
  • Properties
上述機制也是 Zygote (啟動 Android system server 與相關的服務) 所需,我們預期在 Binder IPC 的 server part 支援完成後,即以 GNU LGPL 授權釋出這一系列的成果。感謝您的指教!
由 jserv 發表於 1:08 PM | 迴響 (0)

演講:淺談 Linux 輸入法系統架構 (桌面系統 + 移動裝置)

兩年前,我在 TOSSUG 分享了名為 [回顧 GNU/Linux 中文資訊化進展與未來機會] 的演講,整理了這十多年來,GNU/Linux 作為桌面系統的發展過程中,中文資訊化處理的種種議題。而參與開發 [新酷音輸入法] 的這幾年,目睹了從系統架構、需求,以至於應用範圍層面的重大變遷,因此有了「淺談 Linux 輸入法系統架構」演講議題的動機。

預計在 6 月 24 日 (週日),我將在台中作技術分享,預計探討許多人幾乎每日都使用、卻也從未關注過的軟體:中文輸入法,背後的架構與設計與實現層面的技術挑戰,涵蓋 GNU/Linux桌面系統,以及 Tizen/MeeGo, Android, B2G 等基於 Linux 的移動裝置平台的輸入法架構,詳情可見 Study-Area 的公告 [2012 6月份 SA@Taichung 淺談 Linux 輸入法系統架構 (桌面系統 + 移動裝置)]。以下摘錄公告訊息:
  • 時間: 2012 年 6月 24 日 下午 02:00 ~ 05:00
  • 地點: 台中市西區五權路2-3號4樓 402教室 (朝陽科技大學五權推廣中心)
暫定議題大綱如下:
  • 21 世紀是華人的世紀:輸入法作為一種高滲透力、普及度的軟體
  • 中文資訊化處理的關鍵點
  • GNU/Linux 桌面系統輸入法架構
  • 基於 Linux 的移動裝置平台的輸入法架構
  • 區域性軟體專案回顧
期待您的指教與討論,謝謝!
由 jserv 發表於 12:47 AM | 迴響 (0)

June 1, 2012

Mini DebConf 2012

Debian Mini DebConf 顧名思義,是個小型的 Debian 研討會,通常在世界各地都會有當地的 Debian 社群成員,協助籌劃舉辦,預計完成一些當地的 Debian 相關議題。這次的 [DebianTaiwan / MiniDebConf 2012 ] 活動由本地團隊 Andrew Lee, Arne Goetje, Paul Liu 協助舉辦,活動日期從 2012/06/08 (五) 至 2012/06/10 (日),活動地點在台灣花蓮地區。關於詳細的交通資訊、住宿與行程,請見 wiki: [MiniDebConf2012]。

若想要報名參加,請直接編輯上述 wiki 頁面。依據現有登記的狀況,此次 miniDebConf 涵蓋了以下議題:
  • [Ezilla] - 快速簡單打造個人私有雲
  • 新酷音輸入法的手機與雲端開發進展
  • 自由軟體於部落發展中的潛力 - 以南安部落為例
  • 讓語言自由 - 台灣南島語系統成果發表
  • 自由軟體與偏鄉部落發展
  • [Clonezilla]
  • Haduzilla - Building hadoop cluster with Debian preseed
  • 自由軟體在偏鄉國民教育體制中的發展潛力 - 以萬寧國小為例
  • Progress on the virtual singer project.
  • Music production toolchain on a GNU/Linux
  • Debian Developer, Masayuki Hatta's Topic
與一般研討會不同之處,這些議題均可很容易找到第一手的開發者或主持人,面對面的討論交流,才是這個活動的重心。歡迎對自由軟體 Debian 系統開發有興趣者,一同來聚聚。
由 jserv 發表於 11:57 AM | 迴響 (0)