簡介
成功大學資訊工程系 92 級,蘇文鈺教授 的導生
台灣苗栗人,任教於國立成功大學資訊工程系
成功大學分散式帳本實驗室
英文名: Ching-Chun (Jim) Huang / 花名: 宅色夫
Google:// jserv
工作經歷
開放原始碼專案參與
課程和講座資訊
作業系統核心作品
編譯器和虛擬機器作品
AMaCC : 用 1500 行 C 程式打造出能夠編譯自己 並支援 ARMv7-A 架構的 C 語言編譯器,可輸出 ELF 執行檔或者 JIT 編譯執行
MazuCC : 支援部分 C99 規格的 C 語言編譯器,可輸出 x86_64 組合語言
shecc : 針對 ARMv7-A / RISC-V 32-bit (RV32) 架構的 C 語言最佳化編譯器,可編譯自己 並輸出 Linux ELF 執行檔
rubi : 類似 Ruby 程式語言的精簡實作,可由 JIT 編譯執行,原始程式碼相當精簡
jitboy : 針對 Game Boy 掌上遊戲機和內建 GBZ80 處理器發展的 JIT 編譯器,可動態將 GBZ80 指令轉換為 x86-64 指令
rv32emu : 針對 32 位元 RISC-V 處理器架構發展的指令集模擬器,支援多項延展指令
semu : 極精簡的 RISC-V 64 位元指令集和硬體系統模擬器,可執行 Linux 核心和相關的套件。原始程式碼不到二千行
kvm-host : 利用 Linux 核心的 KVM,建構精簡的系統模擬器,得以在運作另一個 Linux guest,支援 x86-64 和 Arm64 微處理器架構
pitifulvm : 高度簡化的 Java 虛擬機器實作
網頁伺服器
cserv : 針對靜態網頁的處理,接近甚至超越 NGINX 的表現,原始程式碼不到四千行
編撰的電子書
科普筆記
軟體缺失導致的危害
1970 年代推出的首款廣體民航客機波音 747 軟體由大約 40 萬行程式碼構成,而 2011 年引進的波音 787 的軟體規模則是波音 747 的 16 倍,約 650 萬行程式碼。換言之,你我的性命緊繫於一系列極為複雜的軟體系統之中,能不花點時間了解嗎?
軟體開發的安全性設計和測試驗證應獲得更高的重視
解讀計算機編碼
人們對數學的加減運算可輕易在腦中辨識符號並理解其結果,但電腦做任何事都受限於實體資料儲存及操作方式,換言之,電腦硬體實際只認得 0 和 1,卻不知道符號 + 和 - 在數學及應用場域的意義,於是工程人員引入「補數」以表達人們認知上的正負數
您有沒有想過,為何「二補數」(2’s complement) 被電腦廣泛採用呢?背後的設計考量是什麼?本文嘗試從數學觀點去解讀編碼背後的原理
圖解傅立葉分析
傅立葉 (Fourier) 分析不僅是個數學工具,更是種徹底顛覆一個人以前世界觀的思維模式
不幸的是,傅立葉分析的公式看起來太複雜,以至於很多人囫圇吞棗,並從此對它深惡痛絕
本文在不需要特別熟悉數學工具的狀況下,讓讀者體會到藉由傅立葉分析看到世界的另一個樣貌
從 Revolution OS 看作業系統生態變化
2001 年,J. T. S. Moore 以自由軟體和開放原始碼軟體發展為主題,導演了相當可貴的紀錄片《Revolution OS 》,訪談了若干先鋒者,是理解駭客 (hacker)、 GNU 計畫、自由軟體基金會 (FSF)、Linux 核心、開放原始碼 (open source) 和自由軟體 (free software) 基於不同理念各自發展、Netscape 宣佈 Mozilla 開放原始碼專案、基於 Apache 和一系列開放原始碼技術的公司、在 NASDAQ 上市等等歷程的第一手資訊
因應教學需求,試圖透過共筆,選錄部份內容作資訊更新和補充
看漫畫學 Linux
Daniel Stori 經營的網站 {turnoff.us} 提供一系列關於資訊技術的漫畫,其中 inside the linux kernel 生動地展現 Linux 核心的部分機制和相關的套件
漫畫以房屋的側面剖面視角,以房屋為載體,小企鵝、小狗、小丑等成員組為大家庭,各自分工,藉此展現 Linux。由於漫畫針對 Linux 核心的比重不算高,本文標題變更為通用的 Linux 系統,即核心加上關鍵應用程式的組合
資訊科技詞彙翻譯
考慮到科技文化延續議題,我們尊重台灣資訊科技前輩的篳路藍縷、理解詞彙背後的考量因素,和使用精準詞彙,其實後者也是工程素養的一環,只是很多人忽略
了解詞源、語境,謹慎選擇用詞,是一種必要的態度
藉由有向圖理解矩陣運算
近期研究
Android 相關
過往在成大
更多資訊
Please enable JavaScript to view the comments powered by Disqus.