星球

Blog:Jserv's blog


最後更新: 2012/8/30 20:08:00
RSS | RDF | ATOM

「Build Programming Language Runtime by LLVM」簡報上線

2011/4/6 1:20:00 | Jserv's blog
今年有幸又能在 OSDC.tw 介紹了編譯器相關的技術,今年選定的題目為 "Build Programming Language Runtime by LLVM",簡報已上線,可參考 [build-lang-runtime-llvm.pdf] Build Programming Language Runtime with LLVM View more presentations from Jim Huang 以下是議程提綱: Compilers on Rails 的時代:現今的運算模式已大幅變更,我們面對的重大挑戰,就是如何更有效且全面的克服諸多問題,而透過進階的編譯器技術,給予許多重要的解決方案 探索 LLVM:LLVM + Clang 內部運作與相關元件的整合 以低階/硬體變化的觀點,看程式語言的演化:傳統, 動態, 移動運算 LLVM 開發實例:打造 Brainfuck JIT compiler...

「from Source to Binary -- How GNU Toolchain Works」簡報上線

2011/4/6 7:00:00 | Jserv's blog
上個月底,跟 Luse 一同應臺北科技大學資訊工程所的邀請,做了一場關於 GNU Toolchain 運作原理的演講。原本想說,既然探討 GNU Toolchain 設計與運作概念的中文文件不多,藉機整理出一份入門等級的簡報資料,又因為這個題目比較冷門,實在沒保持太多期望,結果聽眾朋友竟然把整個演講廳的座位都佔滿了,看來台灣還是有很多對系統程式有熱情的開發者呢 當天的簡報已上線,請參考 [from-source-to-binary.pdf]。 from Source to Binary -- How GNU Toolchain WorksView more presentations from Jim Huang. 一開始的切入點是簡單的 "Hello World" 程式,觀察其編譯的方式,探討 GCC 這個 compiler driver 的行為,進而擴展到 binutils 與 libc。不同於教科書的理論呈現方式,我們探討實務上面對的議題,比方說,GCC 設計初期就考慮到多個前端與後端,以及繁複的優化機制,光是 IR...

透過 LLVM 打造 Brainfuck JIT compiler

2011/4/5 23:34:00 | Jserv's blog
本文是補充今年在 [OSDC.tw 演講〈Build Programming Language Runtime with LLVM〉的實做部份,並且透過逐步使用 [LLVM] 的方式,分析 LLVM 的應用途徑。 首先,回顧 Chris Lattner 與 Vikram Adve 在 2004 年提出經典論文 [LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation] 的結論,LLVM 是如何進行多階段的優化呢? 編譯時期優化:語言前端 (如 llvm-gcc 與 clang) 將原始程式碼轉為 LLVA...

新酷音進度報告 8

2010/11/22 23:34:00 | Jserv's blog
「我寧可做人類中有夢想和有完成夢想的願望的最渺小的人,而不願做一個最偉大的無夢想無願望的人。」 晚間忙完雜務後,鍵盤聲響尚未停歇之際,想起紀伯倫的這席名言。記得筆者十年前拿著 iPaq 作實驗,運行著 PocketLinux,讚嘆於 StrongARM 核心時脈高達 200 MHz 的效能,心想自己真是幸運兒;現在到處都能見到採用 45 奈米製程、時脈高達 1 GHz 的 iPad,只覺得自己心態還沒調適好,儘管自知這是 Moore's law 的必然結果。然而,軟體的進展卻沒有如此明顯,在中文輸入法的部份,普遍可說大多在「變老把戲」的狀態,對於一位 2001 年間斷修改酷音輸入法程式、到 2010 年還在零星維護程式碼的人來說,不得不有些感嘆。 難道輸入法開發就是老樣子、永遠在重新造輪子嗎?倒也未必。如前文 [手寫版酷音輸入法雛型] 所及,當使用者族群逐漸採用移動裝置時,需要一個易於書寫且容易讓輸入法引擎 (也就是 "Language Engine" 或 "IM Engine") 涉入處理的設計,現有的智慧型手機,比方說 Android 與 iPhone,都提供了全螢幕書寫的機制,要實現「何不直接辨識注音符號,然後導入新酷音輸入法引擎去作猜字處理?」這類簡單易用的方案,相當可行,也注入新的開發動能。兩年前的 [新酷音進度報告 7] 談到目前...

破除 Realtime GNU/Linux 的迷思

2011/2/5 23:57:00 | Jserv's blog
原文標題: Getting real (time) about embedded GNU/Linux 原文作者: Robert Berger 寫作日期: July 20, 2010 繁體中文翻譯:黃敬群 (Jim Huang) <jserv@0xlab.org> 譯註:本文翻譯自 [Getting real (time) about embedded GNU/Linux] 一文,標題是典型的美式幽默,"Get real" 一詞有「醒醒吧」之意,而銜接其後的 "time",則恰好為本文主軸 Realtime Linux 之意。作者為文立意是縱觀分析 GNU/Linux 系統現有 Realtime 的實做方案,從而破除一些迷思,譯者在翻譯過程中,也補充一些資訊及看法。 何謂 Real-time? "Real-time" [譯註:常見的中文翻譯為「即時」(台灣)...

FentISS : 專注於嵌入式系統虛擬化技術的新創公司

2011/2/7 23:26:00 | Jserv's blog
在介紹 [FentISS] 這間年輕的公司前,來看看歷史背景。 2006 年筆者在 [SA-RTL : Stand-Alone RTLinux] 一文提及「在 source tree 中還包含了XtratuM 架構的支援,其中 XtratuM 是相當特別的 nano-kernel / pico-kernel,SA-RTL 與其組合可帶來相當的 virtualization 彈性與效能,並且也可避開 FSMLabs 的 patent。」,當時對應的 [XtratuM] 是 0.3 版,由西班牙的 València 大學 (校名為 "Universitat Politècnica de València",簡稱 UPV) 的研究人員開發。2006 年十月,[XtratuM] 重新改寫,版本號定為...

新酷音專案發布 libchewing-0.3.3 與 scim-chewing-0.3.4

2011/2/27 13:53:00 | Jserv's blog
正如 [新酷音進度報告 8] 一文所及,我們已發布新版的新酷音,升級到 libchewing-0.3.3 與 scim-chewing-0.3.4,請參照 [新酷音] 專案網頁以取得相關資訊。目前處於相對穩定的開發狀態,沒有追加新功能,而我們也已將版本控制系統從 Subversion 移轉到 GIT,可透過 [GitHub] 的服務去存取相關的開發。 這段過程中,也有若干朋友貢獻了 Microsoft Windows 平台的更新,我們預計稍候提供相關的 Windows (32-bit 與 64-bit) 安裝檔案,並且透過這次移轉到 GIT 的過程,將開發資源集中。除了桌面的應用外,AZ Huang 則貢獻了針對 Qt 在 Embedded 應用的 [Qin] (input method framework for Qt-Embedded),展示影片可參考 [Embedded System Final...

演講:Build Programming Language Runtime by LLVM

2011/3/3 14:17:00 | Jserv's blog
在 OSDC.tw 2009 的〈窮得只剩下 Compiler -- 淺談編譯技術的革命〉議程,小弟提及編譯器相關的技術獲得空前的成功,我們可在手邊的裝置中發現 LLVM 一類編譯器技術的應用,如 Apple iPhone 與 Android 裝置 (RenderScript in Android 3.0)。而在運算型態多元的今日,如何跨越語言的藩籬卻又得兼顧底層平台的效能與安全,即是當前的重要課題。 在三月 27 日的 OSDC.tw 2011 議程 [Build Programming Language Runtime by LLVM],將探討如何打造架構於 LLVM Compiler Infrastructure 的程式語言執行環境,並分析傳統編譯/解譯式語言到當紅的動態程式語言在引入於移動平台時,值得深入探索的技術細節,最後也會一併發布最近的研究成果。另外,[0xlab] 再次贊助了 [OSDC.tw] 並分享五場技術演講,詳情可參考 [0xlab 在 OSDC.tw...

演講:from Source to Binary -- How GNU Toolchain Works

2011/3/4 16:52:00 | Jserv's blog
本月底 31 日,將應臺北科技大學資訊工程所的邀請,與同事前去給予一場關於 GNU Toolchain 運作原理的演講,詳細資訊可參考 [資工系網頁],以下是摘要資訊: 時間:三月 31 日 (週四) 下午 3:30 ~ 5:00 題目:from Source to Binary -- How GNU Toolchain Works 講者: Luse Cheng - Compiler Team Lead, Andes Technology Jim Huang (jserv) - Co-founder, 0xlab 簡介:...

"Guides To Analyzing WebKit Performance" 簡報上線

2011/5/29 3:42:00 | Jserv's blog
四月 28 日,小弟在 [Android System Development Forum] 分享了主題為 "Guides To Analyzing WebKit Performance" 的議程,簡報已上線,請參考: Guides To Analyzing WebKit Performance View more presentations from Jim Huang 一開始探討到 WebKit 專案的背景,以及 Google Chrome Browser 與 Android WebKit 之間的開發模式,再來就是重申 WebKit 開發者 Holger Freyther 一貫的訴求:"Measure",從架構設計去探討該如何在...