February 26, 2008

演講:快快樂樂學 GNU Debugger (gdb) Part II [台南]

三月份將應 [酷!學園] 之邀,延續上個月的演講 [快快樂樂學 GNU Debugger],本次的 Part II 重點就是「實務與應用探討」,以下節錄 [報名網頁] 的資訊:
  • 簡介: 延續一月份舉辦的「快快樂樂學 GNU Debugger」,將之前對 Debugging (偵錯分析) 所建立的概念與初體驗作更進一步的擴展,以「作中學」途徑探討實務與概念應用。 使用情境與案例分析。
  • 議程主題:
    • 實用 GDB 指令
    • macro 與技巧
    • 當 GDB 遇上 C/C++:具體的範例
    • (選擇性) Eclipse CDT 整合
  • 時間:三月 8 日,時段有兩個:
    • Part I 回顧:10:30-12:00
    • Part II 議程:14:00-17:00
  • 地點:百達文教中心1樓 (台南市勝利路 85 號) [與往常不同,請留意]
  • 講師特別交代之注意事項:
    • 本議程基於知識共享之原則,提供免費教育訓練,但僅限於 x86 硬體平台,若有 ARM 與 MIPS 平台需求者,請進一步聯繫講者
    • 本議程在台北與台南各有一場
    • 事先提交問題,可優先解決與討論
    • 歡迎招待當地名產,或廣結善緣
台北場次大約在三月下旬,細節還待敲定。以上,歡迎指教,也請利用 [討論區],謝謝!
由 jserv 發表於 07:29 PM | 迴響 (0)

February 24, 2008

電子書《使用開源軟件-自己動手寫操作系統》免費下載


今年農曆年,在網路上認識了對岸的高手 [solrex],耳聞他的寫作計畫,主要針對于淵所著《自己動手寫操作系統》一書的革新,改以 free software 工具來設計自己的作業系統,後者也是 free software (GPL'd),現在第一個預覽版本已出爐,可參考 [免費電子書《使用開源軟件-自己動手寫操作系統》的官方主頁],以 Creative Commons 授權釋出。

[solrex] 示範了如何用 GNU as 的 AT&T 語法來作 IA32 程式設計,並採用 VirtualBox 進行系統模擬驗證,讓讀者得以透過 GNU Toolchain 發展系統程式,並談及 x86 開機程序、FAT 檔案系統實做、boot loader 原理等等,很值得一讀。
由 jserv 發表於 01:51 AM | 迴響 (1)

February 22, 2008

我強烈支持慣C

注意:各位鄉民朋友,若看到這個標題,請別過度反應,內文有解釋。

原本今天打算南下到台中一趟,可惜早上貪睡因而錯過,懊惱不已。下午則為下個月的 talk 準備一些題材,挑選了 Mozilla 與 OpenOffice 一類的大怪物來當開刀對象,以 GNU gdb 利刃來搏鬥,就這樣,一直弄到傍晚才罷休。OpenOffice 與 Mozilla 都以 C++ 撰寫,後者還比較好追蹤,前者就真是盤根錯節,扯到 STL,就沒完沒了。

拖著疲倦的身軀,心中的怨念卻無止息,就打開 GIMP 繪製了以下這圖片:

是的,我就是愛「慣 C」,習慣用 C 寫程式才是王道阿,照樣能寫出 OOP 的程式,而且寫什麼,就執行什麼,直覺又有效率。沒有 syntax sugar,樸實真誠的呈現,但又有強大的記憶體操作,是多數系統程式的「母語」,這就是 C 語言,冠軍 C 語言!

嗯,我強烈支持「慣 C」、擁護「冠 C」 :-)
由 jserv 發表於 08:49 PM | 迴響 (10)

演講:100% 開源手機與法律議題 (自由軟體法律研討會)

應中研院之邀約,我將會出席於三月 25 日 (週二) 舉辦的「自由軟體法律研討會」,此次議題專注於嵌入式應用。科技法律原本就是極為複雜的議題,特別在集研發、設計,與生產製造於一役的台灣產業來說,更是如此。尤甚者,當採用 GPL 一類的自由軟體涉入系統設計時,所引發的 FUD (英文 Fear, Uncertainty, Doubt 等詞的縮寫,也就是心理恐怖戰術) 更是不絕於耳。

以採用 Embedded Linux 為產品開發的 ODM 公司來說,基於過去已有許多成功紀錄,所以國外客戶交付訂單,並要求使用 Linux 平台與若干自由軟體。如此一來,過去的經驗反而成為一種障礙,公司從總經理、法務、產品經理、專案經理,或各大小主管,無一對這其中引來的授權與法律議題有概念,結果最後竟然由基層工程師擔任解讀 GNU GPL 條款、臆測科技法律議題的工作,工程師沉浸於技術深淵已經夠苦了,還得逼去研究法律,更需要對管理階級作負責?!聽起來是如此荒謬,但此等困境不斷在台灣的產業中發生。

感謝中研院資訊科學所的籌劃,邀集國內一些先進,以法律為主軸,漫談自由軟體授權法律概念、相關的法院案例、開發實例,以從著作權法與專利法角度來介紹自由軟體與相關問題,詳細議程可參考 [自由軟體法律研討會]。誠如冬梅姐所言:「不管是RD人員、公司法務或者只是對自由軟體有興趣的人,都歡迎來參加這場研討會!」,在實務上面臨的問題遠超過議題範疇,透過實體接觸,應該更能深入去探索。

以下是小弟的議程資訊:
  • 議題名稱:「100%開源手機與法律議題」
  • 簡介:作為虛幻的軟體,是如何與法律發生高度互動?近在咫尺的案例就是你我隨身攜帶的手機。於 2006 年創立的 openmoko 專案/公司致力建構 100% 開放原始碼的手機平台,並於 2007 年推出實體手機,一轉普羅大眾對手機的刻板印象。但,來自傳統電信法令與若干專利技術等衝擊不斷造成威脅,本議程試圖揭露此開放原始碼專案所面對的挑戰,並由解決之道思索未來的科技產品與法律議題。
如果說去年的演講 [Linux 走入電信通訊領域 -- OpenMoko 帶來的新革命] 是從理念面切入,那麼此次議程就是從嚴苛的法律現實面,進行分享與探討,歡迎指教,謝謝!
由 jserv 發表於 03:32 AM | 迴響 (0)

February 21, 2008

演講:許我們一個 Keroro 的桌面 (OSDC.tw)


本 blog 有一部分的流量是來自搜尋引擎,而其中竟然也跟 Keroro 軍曹有關,大概是曾發表過 [Keroro Desktop Environment (2)] 一類的文章,而我也不時會收到網友的來信,詢問此專案的近況。

感謝 hcchien 的牽成,今年 [OSDC.tw] 上,我將會公佈 Keroro 桌面系統,並探討其中的設計,詳情可參考 [OSDC.TW 2008 議程]。以下是暫定的議程資訊:
  • 議程名稱:許我們一個 Keroro 的桌面
  • 議程簡介:
      目睹近幾年自由軟體桌面系統的重大突破,諸如 3D 桌面各式辦公應用軟體均已趨成熟,此時,自由軟體桌面系統的賣點就不再是「免費」,而是該認真思考,還有哪些獨特的價值?Keroro Desktop Environment 就是如此的概念呈現,透過既有成熟的自由軟體圖形技術,以 Keroro 軍曹中的卡通造型,來重新塑造新的桌面環境的樣貌,改變一般大眾過去對電腦冷冰冰的印象。
  • 議程大綱:
    • 軟體自由了,那桌面呢?
    • 探討以 Keroro 為主題的桌面設計
    • 回顧圖形技術: Cairo 與 Clutter
    • 桌面技術整合與既有標準回顧
OSDC.tw 2008 的日期為四月 12 與 13 兩日,如同 Rex 所言:「根據經驗,只要一公開沒多久就爆滿了。所以想報名要快阿!」,歡迎指教!
由 jserv 發表於 05:02 PM | 迴響 (4)

February 16, 2008

鴻飛那復計東西

整理工作桌時,瞥見牛皮紙上的寫字習作:
書自宋蘇軾《和子由澠池懷舊》:
    人生到處知何似?應似飛鴻踏雪泥。泥上偶然留指爪,鴻飛那復計東西?
去年年底,去大陸蘇州工廠處理產品量產的事宜,在生產線上與若干操作員有互動,在離去 前夕,有幾位女操作員要求贈物留念,一時不及準備,後來提議寫寫較少見的繁體字,當時 就想到蘇軾這首作品,遂書寫。因為原本使用牛皮紙,效果不好,所以又謄寫一次到白紙上 作為贈予,而這份就夾在若干資料中,直到今天才留意到。

成語「雪泥鴻爪」的典故即出於此,遺留下的痕跡,靜靜的看著萍水相逢的過客。其實,與 此刻的心境,何嘗不是相生呼應呢?寫下 [別了,台北] 後,方驚覺自己將太多的時間和精力,用於懷念與憑弔,何時才能霑濡幾分東坡先生的灑脫通達,高遠遼闊的天空裡,如同蒼鷹一般,拋開 著憂慮和過往雲煙,振翅翱翔呢?
由 jserv 發表於 07:13 PM | 迴響 (4)

February 13, 2008

C 語言的 trigraph/digraph

身為「慣 C」迷,喔,我是說「天習C 語言」者,每每在拜讀 Linux kernel 原始程式碼後,都能感受將 C 語言發揮得淋漓盡致的美妙,無怪乎,Linus Torvalds 本人就說 [Stick to C for kernel coding],端看用 C 語言實做 OOP、garbage collector、mixin、... 等高級特性,令人大呼過癮與打從心底的讚嘆。

不過,今天要談的 C trigraph 卻是基於歷史因素的產物,看看以下程式碼: (trigraph.c)
??=include <stdio.h>
%:include <stdlib.h>
 
int main(int argc, char *argv<::>) ??<
    char msg??(:> = {'O', 'r', 'z'??>;
    printf("Hello world!??/n");
    return 0;
%>
這是貨真價實的 C99 合法程式,編譯並執行看看:
    $ gcc --std c99 trigraph.c
    $ ./a.out
    Hello world!
以上展示了 Trigraph (ANSI C) 與 Digraph (C99 規範),此乃一種特別的表示法。依據執行的結果,我們可以推論置於 "include" 之前的 "??=" 與 "%:" 都表示 '#' 字元,為何如此設計呢?我們得思量 C 語言發明的年代,也就是 1970 年代,儲存與運算設備都相當匱乏,1972 年 ISO 標準 ISO 646 被提出,以 7-bit 編碼表示字元,但缺乏九個 C 語言所需的字元,也就是 '#'、'\'、'^'、'['、']'、'|'、'{'、'}',以及 '~'。儘管在後續的資訊系統已著手修正,但總得克服透過終端機連線到 Unix 主機時,鍵盤上的字元可能會闕漏以上九個字元 (早期依據 ISO 646 標準去設計) 而無法 coding 的窘境,所以 ANSI C 委員會就提出「以三個字元構成的 trigraph」來表示上述字元的語法,到了C99,除了予以納入外,還提出修正性的 digraph,也就是簡化為「以兩個字元構成的 digraph」來表示之中五個字元,詳情可參考 wikipedia [C trigraph]。

話說,「慣 C」迷如我,好像也很喜歡偷窺,至少是偷窺 C99 spec 啦 *笑*
由 jserv 發表於 05:32 PM | 迴響 (4)

February 02, 2008

Keroro Desktop Environment (2)

我一直認為,寫程式是很好玩的事情,特別是能創造一些特別的東西,哪怕只是像 [Gtk+/Cairo 倒影效果展示] 這種小玩具,也能帶來雋永的樂趣。一年半前,在 blog [Keroro Desktop Environment] 與 [Desktop Invader 概念展示] 揭露過當時的作品,試圖以 Keroro 軍曹中的卡通造型,來重新塑造新的桌面環境的樣貌。前天,入睡前突然靈光乍現,猛然 hacking 了一兩下,現在的進展如下圖: (click to enlarge)

新增的修改是 Keroro 風格的 gtk-theme-engine、用 Cairo 描繪的視窗外框,以及 dock panel。另外,[Fred] 也貢獻了他製作的桌布: (click to enlarge)

當然,顯然這樣的桌面環境,不能只是桌布與佈景主題弄成綠色一片的感覺而已,更重要的是,需要用 Keroro 的方式去詮釋,所以,我將待改進的項目列出:
  • 清楚大方的 Notification 機制:有點像是漫畫文字的呈現
  • Avatar 動態物件:像是 MS-Office 的「小幫手」,但互動性更強,而且可以協助使用者找尋桌面物件
  • Auto zoomer:希望能透過視角的轉換,有效降低滑鼠的點擊的操作,切換視窗或者工作區的動作應該可以更直覺些。
呈現的技術,應該會儘量使用 Cairo 來描繪,並且希望對運算能力較差的硬體也有足夠的支援,以可愛又友善的視覺呈現,改變一般大眾過去對電腦冷冰冰的印象。
由 jserv 發表於 11:55 PM | 迴響 (4)

February 01, 2008

即將到來的 OSDC.tw 2008

剛剛 hcchien 兄來信告知,訂於 Apr 12-13 登場的 [OSDC.tw 2008] (Open Source Developers' Conference in Taiwan),其徵稿即將截止,最後期限是 Feb 15 (農曆年後),今年主題為「創新與實做」,是個分享新計畫與想法的好機會,有意願者請把握時機。

難得最近可休假一段時間,大多花在社交、閱讀寫作,還有學習新的技術領域上,至於 [今年度的計畫],則在心情調適好後,該來繼續衝刺。稍有突破的項目是 NetBSD 與 embedded/RT,如果時間配合得上,或許會在 [OSDC.tw 2008] 上分享。嗯,今年也要認真!
由 jserv 發表於 01:44 AM | 迴響 (0)