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)