November 26, 2005

隨手畫 - 融

上班等待 reporting chart 時,隨手畫的另一張: (click to enlarge)

嘗試將「熔」的感覺發揮出來,骨幹應該可以更鮮明些。

我想表達的意境是,一個具像逐漸被融蝕,或許在作垂死的掙脫,但末梢早已消逝,須臾,這一切將不複存在,徒留封印罷了。

群 於內湖瑞光路
Nov 24, 2005

由 jserv 發表於 11:00 AM | 迴響 (0)

November 21, 2005

Debian@Taiwan IRC Conference 2005

[Debian@Taiwan IRC Conference] 是一個年度的交流活動,今年度的場次將會探討 [夢幻軟體計畫] 以及 Debian@Taiwan 未來的發展,相關的資訊可參考 wiki page [IRCConf]。引述最近的訊息:
    #  時間: Dec 1, 2005 (週四) 20:00-21:30
    # 地點: #dot FreeNode 請參考 IRC
    # 題目: 夢幻軟體計畫 發展與 Debian 中文社群
    # 主講人: User:jserv
    # 方式:
        * 純文字介面 irc,UTF-8 編碼正體中文。
        * 自由發言、提問題。
        * 請勿使用注音文。 
    # 大綱:
        * Debian 社群在 2005 年的年度計畫
        * 夢幻軟體與自由創投概念
        * 實施辦法
              o 提案
              o 開發團隊與經營
              o 計畫進度 
        * 回顧
              o 字型處理
              o 輸入法系統與中文資訊處理
              o 網路應用程式 
        * 腦力激盪與明年度新計畫 
    
歡迎參與,更期待您的提案與投入開發,謝謝!
由 jserv 發表於 11:16 PM | 迴響 (0)

GNU screen 的 Unicode 修正

Tiberius 今天發表他的 [screen 補完計畫],引用部份內文:
    screen-4.0.2-uao.patch 會修正 Unicode 字寬判定 (解決中文全型符號被誤認成半型、顯示亂掉等問題) 以及位於 Big5 字碼區 0x8140-0x9FFE 的文字不能正常解碼的問題。
    18 就是給 screen 使用的新 Big5 - Unicode 轉碼表,此轉碼表與 Unicode 補完計畫 2.40a3 版使用的內容相同。
咱們來練習打包 Debian package:先將 patch apply 後,將 "18" 這個檔置入 source code 後,略為修改 debian/ 後,打以下指令:
    dpkg-buildpackage -rfakeroot -uc -us -sa -D
然後就做出來了,請參考 [修正的 Debian package]。

Great Work! 感謝 Tiberius
由 jserv 發表於 11:02 PM | 迴響 (0)

Have a nice day!

最近登入 [info.sayya.org] 後,都會有不同的 motd 畫面,剛剛看到的是這張:
覺得很可愛,就保存下來。

Have a nice day!

由 jserv 發表於 11:19 AM | 迴響 (0)

November 19, 2005

請愛用 XFCE

之前的 blog [XFCE -- 婀娜多姿的小姑娘] 寫完後,有時候會收到一些來信,詢問 [XFCE - Desktop Environment] 的設定與使用方式,而最近我發現連身旁的 [SoG 長輩] 與 [默默大神],都不約而同的把 notebook 從 KDE 轉換到 [XFCE - Desktop Environment] 了,如果再加上社群朋友,數量應該更多 :)

對了,這讓我想到今年七月 27 與 28 日,參加 [ESC-Taiwan] 舉辦的第五屆嵌入式系統研討會暨展覽會時,有一場由 [AXIOMTEK Co Ltd] (艾訊股份有限公司) 代表主持的議程上,提到該公司除了提供 Embedded Systems 的硬體建設外,還提供一組類似 Windows 2000 視覺表現的作業環境,某一張描述系統架構的 slides 就清楚的指出,[AXIOMTEK] 就是用修改過的 [XFCE - Desktop Environment] 與 Fedora/RedHat Linux distribution 來作客制化處理,滿足客戶多樣的需求。

XFCE 真是小而美的選擇。不過,我還是一個 KDE Fan,儘管我已經有一段時間沒使用 KDE 了,但我對 KDE 種種美妙的設計,還是難以忘懷,特別是閱讀 DQ Blue 的 [KDE 4] 介紹後,更是有頗多期待,不過如果只是簡單的應用,XFCE 應該可以滿足多數的需求。

由 jserv 發表於 04:23 PM | 迴響 (3)

程式碼的 Orz 之道

昨天在改一份 Intel Confidential 的程式碼,是關於多媒體應用效能調校的最佳化處理,首先,在檔案開頭很明顯的指出: (以下是從公開的 Intel Corporation Proprietary Information 複製過來的,或許跟原始程式碼列出的項目有出入)
    /*//////////////////////////////////////////////////////////////////////
    //
    //                  INTEL CORPORATION PROPRIETARY INFORMATION
    //     This software is supplied under the terms of a license agreement or
    //     nondisclosure agreement with Intel Corporation and may not be copied
    //     or disclosed except in accordance with the terms of that agreement.
    //          Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.
    //
    */
    
所以,我不可能也被不允許將該檔案全部複製列出,不過有趣的是在該檔案的開頭有以下程式碼片斷:(憑印象寫出的)
    #ifdef __ICL
    #pragma message("Warning: Don't use Intel(R) compiler to build this file")
    #endif
well,我們都知道 Intel C++ compiler 是在 Intel Xscale 平台上,擁有效能最佳化的 compiler suite,而我要修改的那份程式碼,自然也需要 Intel C++ compiler,才能彰顯其效能上的優越,但問題是,因為某種緣故 (Intel C++ compiler is buggy?),該檔案必須用 Microsoft C/C++ compiler 或 GCC 來編譯,最後再整到專案中...

聽起來很離譜,不過這種 workaround 還算常見,這讓我想到 b6s 前輩與 pcman 曾在 IRC channel 提到:
    11月 18 00:11:08 pcman  b6s: 當我發現 M$ 自己家也是用 dirty hack
    在處理 windows 的 bug 的時候,突然覺得我們並不孤單
    11月 18 00:11:17 b6s    pcman: 是啊
    11月 18 00:11:36 pcman  b6s: windows 9x/nt 還得用不同的hack方式
    11月 18 00:11:37 pcman  b6s: 我猜 M$ 自己的 developer 一定也在臭罵
    11月 18 00:11:55 b6s    有啊,的確有人在罵
    11月 18 00:12:16 pcman  b6s: 你說的那個狀況我是沒有遇到過
    11月 18 00:12:26 b6s    win2k 流出來的 source 裡罵的是不可以用 tab
    要用 4 個空白,不然他們的 version control server 會爛掉
    11月 18 00:12:54 b6s    write a solid code 作者罵的是他們被 compiler team 婊到
    
由此可見,當 workaround 累積到一定程度,就變成 Orz 的集合了,此乃「程式碼的 Orz 之道」。
由 jserv 發表於 03:37 PM | 迴響 (0)

好用的 zoto

昨天閱讀 GeekSoul 的這篇 [zoto - 哞 哞 哞 還有 哞 (more more more and more)],看著文內的描述,也跟著申請一個 [zoto] 帳號來玩。有趣的是,zoto 官方竟然有提供一個 open source 的 Picture Uploader,以 GNU GPL 發行,需要 libexif 與 xmlrpc-c 作相片管理與 XMLRPC,至於 UI 的部份,有我們最喜歡的 command line 與 Qt3-based GUI,稍微檢閱了 source code,看來這些 web service 都很開放,也容易使用,說不定未來會有新的 open source applications 出現。

順手把上個月去花蓮度假的照片上傳: [Hualien (Oct 2005)],速度頗快,而且還提供 post to Blog 的服務,該 uploader 的運作畫面如下:

預設的情況下,多數的 debug messages 是打開的,而我也在拜讀程式碼的過程中,學習到 [GUADEC - GNOME Developer Conference] 多次提及的 libexif 概略使用方式,之前的 blog [開放的數位攝影影像技術] 有該 session 的簡報資訊。
由 jserv 發表於 11:49 AM | 迴響 (5)

November 18, 2005

在 VIA C3/x86 上作 MD5 Collision

昨天閱讀 DK 大神的 blog [MD4 與 MD5 Collision 的 Source Code] 後,突然覺得全身熱血沸騰。作者 Patrick Stach 在 [MD5 Collision Generation] 提到:
    Old (Wang, et al.) average run time on IBM P690 supercomputer - 1 hour New average run time on P4 1.6ghz PC - 45 minutes Note: some block #1's don't have block #2 solutions
在 [jserv's lab] 盯著 VIA 送的 EPIA 機器時,好奇的我,就拿這個程式來試試,首先是硬體資訊:
    jserv@epia:~$ cat /proc/cpuinfo 
    processor	: 0
    vendor_id	: CentaurHauls
    cpu family	: 6
    model		: 7
    model name	: VIA Samuel 2
    stepping	: 3
    cpu MHz		: 601.385
    cache size	: 64 KB
    fdiv_bug	: no
    hlt_bug		: no
    f00f_bug	: no
    coma_bug	: no
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 1
    wp		: yes
    flags		: fpu de tsc msr cx8 mtrr pge mmx 3dnow
    bogomips	: 1199.30
    
用 gcc-4.1 mainline 編譯:
    jserv@epia:~$ /opt/bin/gcc -v
    Using built-in specs.
    Target: i686-pc-linux-gnu
    gcc version 4.1.0 20051013 (experimental)
    jserv@epia:~$ /opt/bin/gcc -O7 -march=i686 -static -o md5coll md5coll.c
順手找 [新酷音] 計畫的 release file 來產生 MD5,並作為輸入:
    jserv@epia:~$ nohup /usr/bin/time ./md5coll ca4a4834 daf92475 82de9813 250e8466 &
經過一段時間後,輸出如下:
    block #1 done
    block #2 done
    unsigned int m0[32] = {
    0xb198b1de, 0xa45a609e, 0x7a7c3e52, 0xdab6df48,
    0x33b44275, 0x13c23c04, 0xd23508c7, 0xdf653e22,
    0x0532ed35, 0x0173e9f5, 0x7c7cae1f, 0x53103f39,
    0xd7e25ee3, 0x8ffa8737, 0x9446295f, 0x91f91ac9,
    0x7e361423, 0xcd501685, 0xfab819b8, 0xd82035e9,
    0x4712341b, 0x4e797c88, 0x46384d16, 0xff648e54,
    0x7cf37f61, 0x89c1b36c, 0x88f37442, 0xfcd5c871,
    0x91cf7ccf, 0x5607f8a9, 0x51c1d5e0, 0x67689096,
    };
    unsigned int m1[32] = {
    0xb198b1de, 0xa45a609e, 0x7a7c3e52, 0xdab6df48,
    0xb3b44275, 0x13c23c04, 0xd23508c7, 0xdf653e22,
    0x0532ed35, 0x0173e9f5, 0x7c7cae1f, 0x5310bf39,
    0xd7e25ee3, 0x8ffa8737, 0x1446295f, 0x91f91ac9,
    0x7e361423, 0xcd501685, 0xfab819b8, 0xd82035e9,
    0xc712341b, 0x4e797c88, 0x46384d16, 0xff648e54,
    0x7cf37f61, 0x89c1b36c, 0x88f37442, 0xfcd54871,
    0x91cf7ccf, 0x5607f8a9, 0xd1c1d5e0, 0x67689096,
    };
    36524.32 user 0.00 system 10:08:44
    elapsed 99%CPU (0avgtext+0avgdata 0maxresident)
    0inputs+0outputs (42 major + 7 minor) pagefaults 0 swaps
於是,我們找到 MD5 Collision 的組合,不過這時間也有點久,等一下複習 x86 MMX instructions,看看能否進一步最佳化。
由 jserv 發表於 08:49 PM | 迴響 (1)

#&%&$^(^*$$

取標題很難,所以隨便打幾個符號充數。

剛剛閱讀 Richy's blog [科技與人文之旅],吸引我目光的是這段:
    今天最讓我驚訝的是,當經驗分享快要結束前10分鐘左右,第一排的學生傳上來一張素描,素描是畫在今天的講綱上面,用原子筆很快地將我的輪廓跟唐裝勾勒出來,而且連每天早上的翹頭髮都畫進去了。後來後綜高中的老師才跟我說,這位小朋友叫做陳奐中,是學校相當有名的少年藝術家,在中部地區的大小比賽都經常得名,而且創作範圍包括版畫、漫畫、水彩、素描等等,十分厲害。
資質駑鈍的我,在藝術創作不僅沒有天份,更是難以用極短的時間捕捉形貌,並轉化為可永續性的形式。我很慶幸,這輩子有機會認識這樣的一位高手,[首頁] 的素描照片: (click to enlarge)

是 [小貓] 所創作的。在我模糊的印象中,我只記得那時候在台南住所,交往期間,她來我房間唸書,而我則沈迷於數位世界中,只聽到小貓要求我轉頭看看她,但我不以為意,繼續盯著電腦螢幕並敲打鍵盤... 沒多久,遞來一份素描,只花了幾分鐘的創作,但卻把我的形貌勾勒得頗為生動,至今我仍相當欣賞她的天份,過去的故事就不需要多說了,小貓作為一個工學院背景的學生,事實上做過相當多藝術與人文創作。

同時對科技與人文領域感到貧困的我,這些日子來,除了空虛,就只剩下零星的文字與 source code,只得在紙上寫下:
    「群」居終日,好行小慧,難矣哉!
這個「群」用得有意思,讓我又陷入自嘲中。

既然無法規範本篇標題,自然沒有「離題」的問題,索性引用 William Yeh 前輩的 blog [別了,過往的愛] 中的文字作結:
    我的存在 之於你
    便已告一段落
    該謝幕了
    
由 jserv 發表於 12:59 AM | 迴響 (0)

November 17, 2005

Static Analysis and Dynamic Optimization of Java-Libraries

早上閱讀了 [Michael Thies] 博士的 PhD Thesis 簡報: [SAILDOWN: Static Analysis and Dynamic Optimization of Java-Libraries],以 Macromedia Shockware Flash 製作,相當生動的介紹提出的 SAM (Single Aspect Model) 概念,以及面對 dynamic compilation 最佳化途徑中,如何消除 dynamic method dispatch of call site 的議題,相當值得一看。在 Summary 提到以下特性:
  • on demand for covered code only
  • > 70% of static pedictions correct
  • invested effort easy to compensate
  • benefits from longer-running programs

由 jserv 發表於 10:42 AM | 迴響 (0)

November 16, 2005

為何要醉 coding?

認識我的朋友或許會知道,我時常把「酒」掛在嘴邊,雖然不是頗常喝 (這是自我安慰)。開始喝酒,是在入伍下部隊後,那時雖常陪「達官貴人」喝酒,但是那時候總用矇騙的手法,沒有真的醉過,大多知難而退,不然就是魚目混珠的閃躲敬酒攻勢。去年六月份生日時,在同事陪同下慶生,不小心被灌醉,當時... 好糗 (skip)

退伍後,在台北靠寫程式打零工,勉強糊口,無奈的我,除了唱著羅大佑在(一九)八○年代初期代表台灣X世代憂傷與失落、提到「台北不是我的家」的「鹿港小鎮」一曲外,就只能躲在寄宿的屋簷下,寫寫程式自娛,也因而先後混到幾個計畫的 write access & project admin。參與 Free / Open Source Software Projects,首先一定要對授權方式與相關的法律規範有足夠的認知,其次是溝通能力,技術才是最後幾個考慮項目,然而,除了希望 source code 能以 Public Domain 或所謂的 Copyleft 形式自由流通外,專利加諸的限制是不可忽略的。

之前的 blog [快快樂樂寫 Java VM],提到 Interpreter 實作上相當常見的 threaded-code 技巧,而去年我也在 Kaffe mailing-list 提交了 [Threaded code and quick instructions for Kaffe],這對效能大約有 10% 的提升。然而 Java 之父 James Gosling 在 United States Patent 有一份專利 [Method and apparatus for resolving data references in generated code],這影響了 threaded-code 技巧的實作方式,因為該專利的核心思想就是 "generating intermediate form code containing symbolic field references from said intermediate representation",如果要避過這個專利,事實上就限制最佳化的可能性,也因此,儘管 patch 已經準備好,但我基於更動應該要是 patent-free 的原則,至今還沒辦法 commit 到 CVS repository。

舉上述的例子,即是說明這樣的機會對我來說,是頗常遇到,甚至我還會因為工作的關係,不小心閱讀或修改了某個商業套件,但其授權方式或專利技術會「限制」我參與相關的 open source 計畫 (我白天有正常的工作,晚上才會有閒情作 open source),這是非常糟糕的。是此,去年的某一天,我索性就買了幾罐啤酒飲用,想把白天看到的那些「邪惡程式碼與文件」徹底忘掉,然後重新實做過,沒想到,不僅程式碼寫完,也意外發現 coding 如有神助,很快就把骨幹寫好了 (但是 debugging 還是要一段時間,這當然是酒醒時的工作)。寫程式這種事情很有趣,可以像是作家一般把工作與興趣結合,也可能會像是廉價勞工,對我而言,兩種都有可能,不過有時候就是想體驗 Hacker 的生活,所以就開罐暢飲,享受「醉 coding」的美妙感受。

稍早小貓送我一罐葡萄酒,新來的女同事 Vivien 送了一瓶清酒,上個月底南下到嘉義,去 [gaber] 家喝私釀酒,回程時伯父熱心的包裝了兩罐白葡萄酒,現在內湖住所的收藏如下: (click to enlarge)

這裡再度感謝各位朋友的贈送,但我還是最愛私釀酒,風味實在是沒話說:棒!

外頭飄著小雨,室內也冷颼颼,而我又要「醉 coding」了 :-)

突然想到,這樣下去,會不會有哪一天,我會發生「自燃現象」呢?參考《超自然異象大追蹤》的 p.181
由 jserv 發表於 12:39 AM | 迴響 (3)

November 15, 2005

Eclipse 搭配新的 Clearlooks-Cairo-engine

昨天看到 GNOME News [Clearlooks Gtk-engine cairo patch],裡面的幾個動畫真是吸引人,而沒多久又在 #classpath 看到以下對話:
    05:01 [ twisti] mjw: good news from the cacao front
    05:01 [ mjw] twisti, Tell us!
    05:01 [ twisti] http://www.complang.tuwien.ac.at/cacaojvm//screenshots/eclipse-3.2M3-powerpc-linux.png
    05:02 * Suvarov[work] cheers and whistles in support
    05:05 [ tashiro] I have another one: Eclipse with the new Clearlooks-Cairo-engine http://vern.chem.tu-berlin.de/~stephan/images/eclipse-new-clearlooks.png
    05:06 [ twisti] yay!
    05:06 [ fitzsim] tashiro: damn, that looks awesome!
    05:08 [ tromey] wow, it does
    05:10 [ tashiro] With all new funky stuff like http://gnomedesktop.org/node/2469 :-)
    05:13 [ mjw] twisti, Cool!
    05:14 [ mjw] tashiro, nice, what runtime is that?
    05:14 [ tashiro] Currently sablevm, but I run others as well.
    05:15 [ tromey] it would be nice if cacao had a proper eclipse setup so we could just check it out and start using it, like we do with jamvm
    05:15 [ tromey] hint, hint
tashiro 提到的圖片如下: (click to enlarge)

Awesome !
由 jserv 發表於 10:18 PM | 迴響 (0)

November 14, 2005

ICOS 2005 見聞錄

因為前一篇 [ICOS 2005 落幕] 實在是錯字百出,所以乾脆弄個新 entry。以下是透過 Google 找到,關於 [ICOS 2005] 的 blog: 至於另與會人士眼睛為之一亮兩位 cosplayer,當然殺了不少在場男士相機的底片,[jimmytp] 提供了幾張,引用如下: 而根據 [魔法設計] 的說法,原來 [KJ 大姊] 就是 [中文維基百科] 相當知名的大人物,那我沒有效法 [睡大長輩] 與 [皮皮長輩] 跟這兩位美女合照,實在是太可惜了,沒辦法,我不是長輩 :(

嗯,這次又認識新的朋友,激發出新的想法,看來下次放長假的時候 (估計是明年春季),就有事情作了。
由 jserv 發表於 11:30 PM | 迴響 (0)

November 13, 2005

ASCII Art 測試

剛剛閱讀 [Philipz學習日誌],瞥見這篇 blog [台灣最早的ASCII Art],提到北美館正展出普立茲克建築獎(Pritzker Architecture Prize)(2005.9.17-2005.12.4),意外地看到楊英風展(2005.8.27-2005.11.13)(楊英風數位美術館),知名的朱銘就是他的徒弟,而展覽中有福用打字機所印出的陳鶯鶯像,可以說是 ASCII Art。

這讓我想起外祖母家中,曾掛著一幅用點陣印表機打出的「慈母圖」,是過去任職於中國鋼鐵的舅舅,用閒暇時間,撰寫 PC program 轉換照片,做出來的 ASCII 圖,距離現在已經十幾年了。在 UNIX 上有很好用的 [libcaca - Colour AsCii Art library],可以產生許多美妙的 ASCII 效果,在 Debian 中,直接安裝 [Package: caca-utils] 即可,如以下的展示:

而如果拿 [Homepage of Jim Huang] 的圖片當輸入,可產生以下的效果:


well,看倌一定會說,這樣的處理看起來變帥了,因為整個臉都看不到.... XD

由 jserv 發表於 10:16 PM | 迴響 (0)

GTT: A GUI Testing Tool for Java applications

昨天晚上去台大附近的酒吧時,就讀於台北科大的 SnowWolf 提及他們實驗室的一個計畫 [GTT: A GUI Testing Tool for Java applications],剛剛看了網頁,這個 GUI 測試工具和測試的方法相當吸引我,英文簡介可參考 [An Introduction to GTT],而且看來可以跟 JUnit 整合,說不定未來可以拿來驗證 GNU Classpath 的 AWT/Swing 實作。

排入 hacking 項目 :-)

由 jserv 發表於 09:13 PM | 迴響 (1)

很棒的吉祥物集合

很多知名的計畫都有吉祥物,那麼,如果擺放在一起會是如何呢?剛剛在 [cnhnln's blog] 瞥見一張圖 [425aa5e61148acoffeeparty],作了一份複製:

這幅圖裡面看到 BSD Daemon、Linux Tux、Java Duke、Mozilla、FSF GNU、Java 之父 James Gosling,以及 Richard Stallman,真有趣!
由 jserv 發表於 01:26 PM | 迴響 (4)

ICOS 2005 落幕

今年被邀請參加 [ICOS 2005 / 2005 開放源碼研討會],除了跟熟面孔打招呼外,還遇到許多新朋友。本來想早上趕去,沒想到我的淑女車在八德路上,竟然整個鏈帶斷裂,所以我就乖乖的簽著淑女車找地方維修,無奈台北雖然這麼的大,找個店面還真難,最後只好找 Taxi 去會場。

在 [ICOS 2005 十一月十二日的議程] 中,主辦單位幫我想好題目「FreeJava / 夢幻軟體計畫」,因為這麼貼心,所以我必須在 30 min 中提到這兩個項目,當然就只能輕描淡寫,slides 可參考 [選擇 Free Java] (PDF格式),另一份關於夢幻軟體計畫與自由創投的部份,我會擇期撰寫詳細的 paperwork。

這次的紀念品除了主辦單位給的小禮物外,還要到 [廖長輩] 的親筆簽名、聆聽 sleep 大詳細的解說、看國家高速電腦中心與中研院在 Grid Computing 的展示 (這是我最感興趣的地方)、OpenVanilla 團隊精湛的演出與介紹、跟 cookys 討論 compiler backend optimizations、... 其他可參考 [PCMan 兄] 的 blog [紀念 - 2005.11.12 在國科會科技大樓參加 ICOS 2005]。

這次特別剪了頭髮,沒想到就跟 #im-dev IRC channel 的標題一般:
    ICOS 2005 圓滿落幕 | jserv長輩學生樣 | pcman現身
雖然一開始很低調,隨便找了角落坐下來,又因為我還在趕當天的 slides 與 Emulator 的進度,多半守在 notebook 前,但隱隱聽到「坐在那邊的就是 XXX」一類的話,過了一段時間,突然有人跑來說:
    長輩,我是你的 blog 的讀者... (後面就是奉承的話,省略)
這裡一定要釐清阿:
    我只是工讀生,每天省吃儉用,根本不敗家,對什麼技術都是三腳貓的功夫,絕對不是長輩阿!
由 jserv 發表於 12:52 PM | 迴響 (5)

EGui - 對岸的小型 GUI 系統計畫

剛剛在 [AKAE 嵌入式研究中心(互動論壇) » 開源項目-EGUI] 瞥見 EGUI 這個小型的 GUI system 計畫,看起來很有意思,作為體驗 GUI 與 Window System 的設計,應該頗有幫助。該專案在 SourceForge 註冊了 [cnix] 的項目,相關的程式碼也放到 CVS repository,而我順手作了一份 [EGui 的 mirror]。

目前 (2005-09-25) 看來已經可以成功在 Linux Framebuffer 運作簡單的圖形處理,展示畫面如下: (click to enlarge)

雖然比起之前 blog [lgui 嵌入式圖形系統] 提到的 lgui,實在是陽春許多,但是能夠看到一個專案的發展與成長,是相當美妙的經驗,希望 EGui 團隊能有更好的進展。

看到這些開發者的熱情,讓我想起小時候在學校唸書的時候,不是躲在成大書城看書,不然就是在宿舍裡面寫自己的程式,像是體驗一個 microkernel 的實作、規劃 application framework、設計 Java-like VM、... 那些都是玩具,完成度很低,但我卻在過程中培養出一些基本的技能,至今仍相當受用。

同樣的,我很喜歡找些非主流的 free / open source software 來作參考,雖然有時候連開發者都不知道何時才能達到「堪用」的程度,但「只有實地做過才會知道過程的苦澀與甜美」。每次看到 cvs commit log 的成長,repository 的變動,都會給我頗多新的感動。不是每個人都需要為技術產品作 marketing,但是沒有一定的技術背景,很難立足。

由 jserv 發表於 12:11 PM | 迴響 (0)

November 09, 2005

Linux 的 Binary-form Driver

Device Driver Development 一直是高難度的議題,小時候閱讀 [Writing Windows WDM Device Drivers] 時,就有高度挫折感,因而決定專心作軟體 (雖然現在還是只有三腳貓的計倆),而 Linux Device Driver 不僅會有 MS-Windows Device Driver Programming 的問題,還會衍生出許許多多難以克服的項目,比方說沒有足夠的硬體與韌體實作參考資訊、沒辦法乾淨的澄清授權方式 (很難做出 GPL isolation),以及不斷改變的 kernel API 等等。

來自 Turbolinux, Inc. 的 Go Taniguchi 與 NEC 的 Kenichi Hori 作了新的提案:[A Proposal of New Device Driver Structure] (OpenOffice.org 2.0 Presentation 格式),而這也是 Japan OSS Promotion Forum 中 [Generic Kernel API Interface (GKAI)] (OpenOffice.org 1.0 Presentation 格式) 的重要突破,換言之,允許廠商開發 Binary-form 的 Linux Device Driver,而 Linux Kernel 可以透過 GKAI 來驅動週邊裝置,至於這個提案是好是壞呢?可參閱 Linux Kernel hacker -- [Greg K-H] 的 blog [OSDL and a binary kernel driver layer] 與 [OSDL and a binary kernel driver layer - followup]。

由 jserv 發表於 11:51 PM | 迴響 (1)

美景不需遠求

Oct 3 時,公司部門由八德路搬遷到之前 blog [用 UrMap 找公司新地址] 提到的位置,我背著一些工作用的雜物,騎著淑女車趕回內湖時,順手拍攝幾張風景照,而剛剛測試 [CatFS] 才因為要測試檔案,赫然發現這美景是如此的鮮明:(click to enlarge)


欣賞變幻莫測的天空,任憑日月遞嬗,美景彷彿唾手可得,這時只有寧靜和享受...

美景不需遠求,且讓我繼續用淑女車繼續在這小世界挖掘吧。
由 jserv 發表於 10:24 PM | 迴響 (0)

November 04, 2005

看圖說故事:為何要使用版本控制系統?

之前的 blog [淺談版本控制系統] 張貼後,引來頗多迴響,信箱不時會有朋友來信交流,當然,就如許多開發者所知,版本控制系統 (Version Control System, VCS) 是相當重要的,而且隨著專案複雜度的提高,也逐漸需要 GNU Arch、svk、monotone、... 等具備分散式版本控制能力的新系統。在 Linux Kernel 中,有 git 的解方案,之前的 blog [在 Linux kernel 外應用 GIT,兼談分散式版本控制系統] 也作了介紹,而說了這麼多,到底重要性在哪?

撇開技術議題,咱們從文化的角度來看。在台中科學博物館中,有幅大型海報: (click to enlarge)

右下方的介紹文字是: (click to enlarge)

主人翁就是 [何傳坤] 博士,作為人類學家的專家,看待軟體產業這樣微不足道的小片段,不失作為繼往開來的參考,的確:
    昨天的垃圾是未來的考古遺物!
回頭看軟體開發,不是每個開發者都 [可以 / 允許 / 應該] 如同 王羲之創作的《蘭亭序》的過程一般,隨性寫完後,就不再更動,成為中華文化的瑰寶,相反的,軟體專案背後都是歷史故事,簡單的示意圖如下:
軟體專案中有許多細節,大致可以說是許多小模組或者文件所構成,這些項目依據需求與人力投入程度不同,會逐漸增長。

我深信「過程遠比結果重要」的說法,而且軟體專案開發的過程中,免不了會有相當多中間產物,也會有許多實驗性的改進或內部版本,這些都是努力的見證,但往往最後的專案會忽視這些歷程。更甚者,一旦智慧財產移轉或者邁入新的里程碑,而不再積極維護的時候,那些過程往往會被遺忘,用不到但佔空間的東西,可以算是垃圾,所以過去那些軟體成果,事實上也是「垃圾」,如果沒有妥善使用版本控制系統,要抱持「考古」的精神去「挖掘」就相當不容易,更別說印證「昨天的垃圾是未來的考古遺物!」。

所以,為了軟體專案開發的永續經營、為了我們當代的文化,以及為了未來的人類史,咱們快點使用版本控制系統吧!
由 jserv 發表於 12:43 AM | 迴響 (0)