成立 PCMan Facebook 專頁

之前常被許多網友要求加 Facebook,但是數量過多難以管理,大部分也都不認識,無法一一加入,所以成立 PCMan FB 專頁。未來長篇的文章還是會放 Blog 上,而平常的小動態會放在 FB。
另外,現在也可以使用 http://blog.pcman.im/ 來連到本網站
顯示具有 Linux 應用 標籤的文章。 顯示所有文章
顯示具有 Linux 應用 標籤的文章。 顯示所有文章

2009年12月19日 星期六

發現好用的 Source Code Formatter

UniversalIndentGUI
http://universalindent.sourceforge.net/
這是圖形介面,支援 Windows, Linux, Mac


可以搭配各種不同的 indenter 使用
我是用這個
Uncrustify
http://uncrustify.sourceforge.net/

功能強大,搭配所見即所得的圖形介面,重整程式碼的時候相當好用

2009年11月23日 星期一

[軟體] PCMan Telnet/BBS for Firefox 2009 全新套件

最近突然心血來潮,想學習怎樣寫 Firefox extension,
順便學習之前一直沒有學的 Javascript,於是,就重寫了 PCMan 作為練習
經過長時間的研究 + 三天密集 coding + 參考 FireBBS,目前已經初步可用了

PCMan Telnet/BBS extension for Firefox,誕生!
專案網頁: http://code.google.com/p/pcmanfx/

功能還不夠完整,但是該有的基本功能都有了,彩色顯示也很正常
重點是可以支援中文雙色字,顯示效果也很接近原 PCMan 系列。
當然效能和記憶體用量遠不能和原版 PCMan 相比,但是對於用純
Javascript 寫成的套件來說,目前的執行效率還在可接受的範圍。

歡迎大家測試或給予意見,或者是...最好可以有熱血的朋友加入開發,
小弟最近很忙,可能會沒有時間繼續寫完。
目前程式碼相當短,而且最困難的核心部分我幾乎都已經寫完了,
剩下就是許多小地方的補強。 這次是純 Javascript,
有能力改寫的人應該就很多了吧! 快加入吧!

主要特色:
1. 使用 Javascript + XUL + 少量 html 開發
2. 程式簡潔,可讀性佳,模組化,初版僅 1000 行,
易讀,易改,相當適合想學習 Telnet 程式撰寫的朋友,
作為學習的參考。
3. 雖然是使用 Javascript,執行效率仍在可接受的範圍,
操作上有接近原生軟體的表現。
4. 支援一字雙色的顯示,畫面呈現效果優良,接近原生軟體。
5. 跨平台,目前確定可運作於 Windows (優) 和 Linux (可),
Mac 及其他 Firefox 能運作的平台尚未測試,理論上可用,
但顯示效果會略有出入,中文輸入部分可能會有些小問題。
6. 開放原始碼,以 GNU/GPL V2 自由授權釋出。

想加入開發的朋友,請和我聯絡,加入這個專案。

2009年8月19日 星期三

音樂播放程式 Aqualung 現在可以支援 PulseAudio 了

使用 Linux 系統已經很多年了,在上面有各式各樣開放程式碼的軟體可用
音樂播放軟體更是多如牛毛,但我一直找不到用起來順手的
直到我發現 Aqualung: http://aqualung.factorial.hu/
作者的介面設計還有很多設計理念跟我的想法幾乎是不謀而合
所以我很快就喜歡上這個軟體,但缺點是他無法支援現今廣泛使用的
PulseAudio 音效系統,於是我有很長一段時間沒有用他了
今天一時興起,想說把他的程式碼下載來看看好了。
沒想到作者真的很天才,程式碼架構之漂亮讓我這外行人也一看就懂
而且只需要很細微的修改就可以加入我想要的功能。
於是,我就花了一點時間,修改了他的程式,幫他加上了PulseAudio支援
自由軟體真是太棒了!

Patch 可以在這裡取得,可適用於 aqualung svn rev 1072
http://people.linux.org.tw/~pcman/aqualung/pulseaudio.patch

2009年6月20日 星期六

2009年6月18日 星期四

glib/gio 研究心得

之前本來覺得 glib/gio 的 local 檔案系統實做有點問題
後來發現,其實沒有 gvfs,本地端檔案確實還是可以運作的,
只是會不太完整。 因為雖然 g_local_file_copy 裡面
只會顯示「不支援此操作」的錯誤,但 g_file_copy 裡面還暗藏了
fallback 的程式碼,而這部份是可以運作的。
所以大體而言,沒有 gvfs,glib/gio 的檔案 I/O 還是可以
對本地端的檔案提供最基本的支援。

不過,經過實地測試,gio 即使是操作本地端的檔案,
在某些操作上,效能都不是很理想...也比使用 POSIX
的 system call 要慢上非常多倍。看來 gio 還是需要加油啊。

2009年5月18日 星期一

之前寫的網路廣播收聽程式 Hinedo 修好了

我很久以前開發了一個用來免看網頁廣告,即可輕鬆收聽 Hinet 網路廣播的軟體
叫做 Hinedo,有不少愛用者

下載網址:http://of.openfoundry.org/projects/814/download
相關介紹:http://azo-freeware.blogspot.com/2007/06/hinedo-hinet-radio-10.html

但因為 Hinet 的 HiChannel,經常在變更收聽方式,
所以同類軟體經常會失效。
這次 Hinet 的 HiChannel 廣播又大改版,所以我們的程式也要
做出對應的更改。
最近工作有點累外帶有點提不起勁弄程式的東西,所以就暫時沒去動他
今天總算還是把他修復了! 使用者不需要重新下載安裝,
只需要重新啟動 Hinedo,相關的部份會自動線上更新。 (如果有正常運作)

目前坊間有許多用來收聽 Hinet 廣播的軟體,那 Hinedo 特別的地方在哪?
Hinedo 和其他同類程式最大的差別就是,改版不用重新下載新版程式。
當下次重新啟動 Hinedo 的時候,程式會自動線上更新用來抓廣播網址的指令檔。
對使用者來說完全不用重新安裝程式。

就程式開發的觀點來看,Hinedo 的設計還是很獨特,是唯一同時提供雙平台支援的
Windows 版本用 Win32 SDK + MFC 以 C++ 寫成,抓網址的部份是 VBScript,
都是系統內建元件,程式輕巧,且不需要依賴額外的程式庫。
C++ 和 VBScript 的異質性媒合是很有趣的新嘗試,很少人這樣做。

Linux X11 版本我則是用 gtk+ 以 C 語言寫成,抓網址的部份則是 Python,
透過這樣獨特的設計,可以達成常駐的主程式極輕巧,不需要依賴額外元件
而經常需要變更的抓取網址程式,是用 scripting language 寫成
可以經常線上更新,並且非常易於維護、閱讀和更改。

所以這個簡單的小程式,看似簡單,其實是有很微妙的神奇設計在其中的 :)

2008年12月6日 星期六

2008年11月20日 星期四

騙人的 glib/gio

Glib 在新版當中引入了 GIO,作為檔案操作和 streaming 的 lib
官方網頁寫了一大堆的優點,並且宣稱得多好多好,其實...
雖然號稱是 Glib 的一部分,而 Glib 理論上是跨桌面跨平台,
但少掉了 GVFS,GIO 其實就完全的不會動了...
而 GVFS,其實前身就是 GNOME VFS。
GIO 雖然宣稱可以在沒有 GVFS 的環境下運作,其實真相並非如此
Volume management 的部份就不會動了,而且磁碟的掛載
內部是直接「寫死」呼叫 gnome-mount,沒有這些 gnome 的工具程式
存在時,相關的部份根本完全都不會動。
沒有 GVFS 它是可以「編譯」沒錯,但實際上幾乎所有功能都廢了...
另外像是檔案操作的部份,雖然文件上宣稱,少了 GVFS,GIO 仍然可以運作,
只是會剩下只支援本地端檔案,而不能支援各種通訊協定,但是...
讀過程式碼之後,就會發現這是謊言...

glib-2.16.5/gio/glocalfile.c, line: 2305

static gboolean
g_local_file_copy (GFile *source,
GFile *destination,
GFileCopyFlags flags,
GCancellable *cancellable,
GFileProgressCallback progress_callback,
gpointer progress_callback_data,
GError **error)
{
/* Fall back to default copy */
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "Copy not supported");
return FALSE;
}


所謂的沒有 GVFS 還剩下本地端的支援,只是秀個錯誤跟你說:「對不起,不支援這個功能喔...」
所以,雖然宣稱是 Glib 的一部分,雖然表面上作成跨桌面,不需要 GNOME,但實際上,
少了 GNOME/GVFS,基本上你很難讓 GIO 真正發揮功用,大部分的功能,其實都是故障的。

2008年10月14日 星期二

libunique, 協助撰寫 single instance application 的好物

之前沒有用過,今天才發現有這個,看來是個有趣的東西
透過這個小 lib,處理 single instance 的 gtk+ 程式
就變得非常的簡單了。
http://live.gnome.org/LibUnique

2008年8月7日 星期四

我們的 LXDE 計畫,順利到舊金山 LinuxWorld 參展

今天,我的心情非常複雜。
兩年前,我因為一些因素,意外創立了 LXDE 計畫 (http://lxde.org/)
希望可以提供一個輕量級的 Linux 桌面環境。
2006 年剛開始那時候,很淒涼,幾乎 95% 程式只有我自己一個人在寫,
大部分的東西也處在沒辦法用的狀態,中間更是因為私人因素停頓一年多。
到了 2008 年,因為有新血的加入,我們重新投入了這個專案的研發,
經過幾個月的奮鬥,和無數的熬夜,半年內我們完成了真正可用的解決方案
我已經記不清楚我前後到底花了多少私人的時間在這上面,
雖然沒有時間,但難得有機會把它做起來,還是得犧牲重要的私人時間來弄。
畢竟現在我還是得維護 LXDE 裡面超過六成的程式,而專案目前還在長大當中...
最核心的部份,還是有許多待解決的問題,但目前也沒有人能夠接手。
幸好,這些努力並沒有白費,最後的成品終於得到一些使用者(和廠商?)的肯定
雖然投入超過兩年,我個人除了有拿到一兩台贊助的機器之外,口袋沒半毛進帳,
但我最大的心願並不是錢,而是這個來自台灣的作品,有機會躍上國際舞台。
今天,我們做到了。

在某些單位的贊助,和 Joy Tang 等許多朋友的努力奔走之下,
我們的作品終於有機會,參加在舊金山舉行的 LinuxWorld Expo
向國外的朋友介紹來自台灣的自由軟體專案,正式的走向國際化
原本,這天我應該是最開心的,因為多年的心願之一,在這幾天,終於實現了,
但今天,我其實心情有點失落。

專案的重要成員 Andrew Lee 和 Fred,和我們的好朋友 CW,目前人在舊金山
和來自美國的 Glen 和德國的 Mario 正非常努力的,在跟參觀的國外朋友介紹。
而在這個對我們來說最重要的一刻,這次,我卻缺席了。
看著 Fred 拍攝的展場照片,看著 Andrew 等人發出的 Press Release
身為專案創始人及主要開發者,本來我應該要在會場和大夥一起努力的
但現在,我卻像個局外人,除了透過網路,偷看他們的進度之外,
一點都無法參與了。 有點不知道該感到高興還是難過。
最近都不敢開 E-mail 信箱,太多關於軟體開發的信了,
國外翻譯者寄來的軟體翻譯,我到現在沒有時間整合進我們的專案
我真的深怕一開啟這些東西,就會玩個沒完沒了,打亂我的讀書計畫。

今天,我是內科住院醫師了,我正在醫院上班,手上有需要照顧的病人
無論發生什麼事情,我有責任,在這裡堅守我的崗位。
想要雙重身份,就是需要付出雙倍代價。外人所看到的光鮮亮麗永遠只是表面
現實和夢想,有時不能兩全,而工作,就是這麼回事。
因為責任,所以得放棄很多自己喜歡的事。
我想,離開學校後,我失去的不只是一張學生證而已。

接到好友訴說新工作不順的電話,我還可以若無其事的給予安慰
但實際上,我心理現在也有種說不出的失落感...
也許再過幾年,我就會忘了程式要怎麼寫了吧...

今天下班前,又去巡了一次我負責的病人,確定他們狀況都穩定
閒聊了幾句,看到病人笑著說謝謝,心理的失落感也少了些。
晚上 call 機響了,本以為是醫院的事情,卻意外發現是接到某好友的簡訊
人生有些事情很無奈,但在無奈之中,還是會有些事情讓人感到溫暖的吧。
加油了!明天是要值班的日子,希望一切順利。

2008年6月17日 星期二

[程式] PCMan 私房密技 - 用 glib 的 GKeyFile 來處理 IPC

不知道我是不是第一個發明這樣搞的人,但這絕對是個有用的密技

在 C 語言裡面,處理程式的命令列參數,一直是很討厭的事情。
在 UNIX 類系統上,伴隨 GTK+ library 而來的 glib,很方便的提供了現成工具
GOption commandline parser

這在每一台 Linux 桌面的機器上都有,所以不用裝額外的 library
加上在寫 gtk+ 程式時本來就是直接用 glib 現成的工具比較方便
GOption 可以很方便的幫你把 argv 翻譯成各個變數的數值,大幅度簡化程式
不過,這樣方便的工具,還是有他的限制。

當你需要做 single instance 程式時 (我不知道正確的名稱,總之,就是讓
同一個程式多次啟動時,可以共用同一個 process,避免資源的浪費,
例如你打 firefox 指令,並且傳給他網址當參數,他會去找執行中的 firefox
process,然後把參數傳過去開新視窗,避免再重複執行另一個 firefox)
在這種情境下,GOption 變得不方便了,因為他無法處理由其他 process
傳過來的參數,只能處理 main() 裡面的 argv,而且只能處理一次。
第二次再傳給他另一個 argv,就會出問題了,所以無法用在這種用途。
這種設計上的缺陷,大大的限制了他的可用性。

於是,你有兩個選擇:

1. 不用 GOption,自己寫個函數來處理 argv 的參數,這樣從其他 process
透過 IPC 傳過來的參數,也可以用同樣方式處理。

2. 使用 GOption,但是在每個啟動的 process 都先用 GOption parse 過
把 argv 轉成你程式當中的變數,再透過你自己設計的方式,用 IPC
把這些變數傳遞給 single instance 的主 process

不管是哪一種,都很累,也很麻煩。
但是,透過 GKeyFile 的協助,第二種方式將變得簡單。以下是密技:

在 main 當中,先用 GOption 把 argv 翻譯成在程式內有意義的變數
然後,要透過 IPC 傳給主 process 之前,先把他寫成 INI 格式!
這樣一來,在主 process 收到的參數,就不再是一堆無意義的 argv
而是形同收到一個有 key/value pairs 的 ini 檔案。

這時候,透過 g_key_file_load_from_data 這個 glib 提供的 ini parser
可以很容易的,把收到的參數,轉回程式可了解的變數。
使用起來不但簡單,而且程式相當的可讀,乾淨。
比起實做自己的資料編碼/解析方式,透過 GKeyFile,以 ini 格式編碼
IPC 時傳輸的資料,要簡單的太多了,程式可讀性也會好很多。
因為是 UNIX socket 傳輸,而不是寫入 on disk 的 ini 檔
所以實際運作並不會有明顯的效能損傷,但會大幅簡化程式的設計。
適當使用手邊現有的工具,做讓人意想不到的結合,就可以創造出新的價值

以上是對很多人沒有任何用處的 PCMan 私房 GTK+ 密技,
亂無章法,隨手記下,也沒時間寫範例,但希望對看得懂的有緣人有幫助...

2008年6月15日 星期日

發現有趣的新軟體 - MyPaint

很有趣的新繪圖軟體,有 Linux 和 Windows 版本
http://mypaint.intilinux.com/
操作很簡單,有很多種有特色的筆刷
據說,有支援壓力感應的裝置,我沒有所以無法測試
對專業軟體來說,這很陽春,
但是以一個相當於小畫家等級的軟體來說,這個棒透了!

Screenshot: http://mypaint.intilinux.com/wp-content/uploads/2008/04/mypaint_sshot_v04.jpg

2008年6月9日 星期一

EeePC 701 實測

今天我實測了手上這台 EeePC 701 的效能,以及電池
Asus EeePC 701 + 重灌 Debian lenny 系統,LXDE 桌面
CPU: Celeron 600 MHz, RAM: 512 MB, 原廠硬體設定,未改裝
用 EeePC 播放 xvid 影片,全速操 CPU

影片是從 DVD 直接用 mencoder rip 下來,
影片長度 1:50,480 x 320,檔案大小約 600 MB
影像用 lavc codec 壓縮 (壓縮率不詳),
音效用 lame mp3 壓縮 (br:128)
在充滿電的情況下,連續全螢幕播放,非常流暢沒有 lag

放完全片約兩小時,還剩下 30% 電力
我重開檔案,重新播放,又放了四十分鐘掉到 10%
出現低電量警示,為了避免損壞,我沒有硬撐到完全沒電為止

昨天我也實測過播放 rmvb 檔案
還外接到投影機 1024 x 768 全螢幕播放,
大致上也還算流暢,沒有明顯的延遲,和網路謠傳的並不一樣。

由此可知到,EeePC 701 的效能表現,在日常用途上
跟一般筆電無異,不但不會慢,而且還非常夠用
電力表現也不輸給一般在3萬到4萬元等級的筆電。

非常低階的硬體規格,相當於七八年前的老電腦
被很多網友批得一無是處,彷彿不升級硬體就完全不堪用
但實際測試的結果,卻相當讓人滿意。

我很好奇這些到處宣稱記憶體一定需要加到 2G 才夠,
CPU 一定要超頻到 900 還嫌慢的玩家,到底都做什麼用途?

在盲目的升級硬體前,不妨先實地測試過,了解自己的需求
而不是跟著網路上的謠言,胡亂的砸錢升級硬體。
像那樣胡亂升級,淘汰很多還很好用的硬體設備,
不過是在浪費錢,又製造更多污染而已。

2008年5月20日 星期二

rdate & ntp servers

大家都聽說過用 ntpdate 或 rdate 指令,可以幫 UNIX 系統進行網路校時
不過,ntp server 到處都有,國內也很多,rdate server 卻非常的難找
在某些受到封鎖的網路環境下,可能會無法使用 ntpdate
這時候比較不精確的 rdate 就派上用場了
紀錄一下 Andrew 幫忙找到的 rdate servers:

stdtime.gov.hk
clock.psu.edu
ntp0.cornell.edu
salmon.maths.tcd.ie

原始資料來源:
http://pank.org/blog/2004/08/time-server-list.html

2008年5月14日 星期三

[紀錄] 5/9 再度應邀,展示 LXDE on EeePC

最近的生活,是不折不扣的不務正業...
上次在華碩總公司展示過我們開發的 LXDE 桌面環境 (http://lxde.org/) 之後,
這次又受邀參加 EeePC Developer Day
(http://seminar.oss.org.tw/eeepc970508-en.html)
主題當然又是展示我們的開發成果,加上一些上次回去後特別做的調校
和這個活動相關的紀錄,可以參考tad 的 blog
http://blog.yam.com/tad0616/article/15107543
(下面用到的照片,全部都是引用自 tad 的 blog)

5/9 號是上班日,所以必須要請事假。
當天早上早早起來 (其實是沒睡,前一晚都在修理我的 EeePC)
馬上衝到行政單位去辦理請假手續,接著拿到單位找人蓋章
弄一弄,到九點,好不容易終於可以從台中出發,馬上趕往高鐵站
本來是可以搭接駁車的,但是要等又很趕因為是 9: 30 的票,
而且反正有人出車錢,我於是... 搭上了小黃,還交代司機開快點。
最後順利在 9: 20 進入高鐵月台,鬆了一口氣。

第一次搭乘高鐵,舒適度還不差,服務也不錯,但速度沒有我預期的快
到台中烏日高鐵站 20 min,等待 10 min,搭車到台北 1 hr,
如果搭乘客運,騎機車到朝馬不到 10 min,等車也很快,行車也 1:40
只快了不到半小時,票價差了 4 ~ 5 倍,實在沒有覺得好多少
但好處是非常舒適,所以我終於在累了一個晚上沒休息後,
可以在高鐵上休息一下,順便「開始」為等一下的演講打草稿
以前是都不用打草稿的可以臨場即興,但這次有點太累,
腦筋有點不靈光,所以只好在高鐵上先想好,做了點小抄...

從台北車站下車後,馬上又上了小黃,直奔會場,偏偏遇到塞車....orz
但最後還是在 10:55 分抵達民生科技服務大樓會場,趕上了我在 11:00 的展示

(照片經作者同意,引用自 tad 的 blog)
不料... 因為現場活動有延誤,加上我的搭檔還沒到,所以賺到了休息時間

從 tad 的照片上可以看到,會場果然充滿了阿宅工程師...



然後,11:20 中場休息,我們就開始準備


接著,在其他團隊成員的協助下,我做了一些 LXDE 的 live demo
其中一項是放了三張簡介專案的投影片

可以發現,用來對照的華碩 Xandros 系統,光是起動檔案總管就要將近 20 秒
更不要說找到簡報檔然後播放了,那樣的使用經驗只能用「非常痛苦」來形容
我們的,當然是一秒起動。在未經過改裝的低階 EeePC 701 硬體上照樣順暢!

誇大的廣告詞,我想我就不用寫太多了,有試用過的人就會知道。
結論:賀 5/9 演說大成功 + 這又是一篇沒營養的流水帳...

2008年5月3日 星期六

[紀錄] 4/26 到華碩總公司進行 EeePC 駭客秀的演說

2008-04-26 下午我在北投的華碩公司總部,進行了 20 分鐘的英文演說
介紹了我和朋友一起開發的一套新桌面環境: LXDE ( http://lxde.org/ )

這個活動,是由歐洲團體 OHI 在台灣舉辦的 Open Tech Summit 2008 的一部分
與會的朋友來自世界各國,主要是歐洲、其次也有美國、甚至有印度的工程師
在一些民間單位和廠商的贊助下,他們來到台灣,和我們本地的社群交流
進行為期四天的 Open Tech Summit Taiwan 2008 活動。
http://wiki.openpattern.org/index.php/OpenTechSummitTaiwan2008

4月26 號的議程,是在華碩總部舉辦,而主要的主題是 Asus 最新產品 EeePC
下午的 EeePC 駭客秀,讓一些程式開發者展示在 EeePC 上的開發成果
(我後來才知道,原來有很多人沒有聽過華碩 EeePC.... orz
看來,是我和我身邊的朋友們太宅了啊... 不知道EeePC的請看:
http://eeepc.asus.com/tw/ <--- 華碩真應該付我廣告費
總之,這是一台目前最紅的迷你筆記型電腦。)

之前有幸在友人介紹下,免費拿到華碩贊助的低價 EeePC 701 機種,
在上面進行一些軟體的測試、修正和開發,最終有了一些成果
我們把先前開發的 LXDE 桌面環境,成功的裝上 EeePC,完全取代原本的系統
在硬體不做任何升級擴充的情況下,不論速度、系統資源消耗、或操作介面,
都遠比華碩原本搭載的 Xandros Linux 系統要優異許多。

這次受邀參加 4/26 下午的 EeePC 駭客秀,終於有機會讓大家看看研發成果
當天在場的,也有原先負責 EeePC 系統,加拿大 Xandros 公司派來的人員。
因為該公司的產品品質不良,但該公司的代表面對質詢又睜眼說瞎話
所以我們決定要好好嗆他,不給他們保留任何面子。
馬上跟華碩商借了一台未經改裝的原版 EeePC 701,搭載 Xandros 系統
然後我們借了另一台投影機,把我們的系統,和原本的 Xandros 系統
同時投影到畫面上,然後在會場,當場 Live! 進行非常殘酷的性能比較

一上台,我就對台下說:

"First, I would like to say sorry to the Xandros representative because
I deleted your system immediately after I got my EeePC!" (台下傳出笑聲)

(中文翻譯:首先,我想跟 Xandros 的代表說聲抱歉,
因為拿到 EeePC 後,我馬上就把你們的系統給砍了! )

不過顯然那時,Xandros 的代表,還在低頭做他自己的事情


這裡有某外國朋友當天拍的照片:

我正在台上,用破爛的英文,向來自各國的朋友,介紹我們開發的 LXDE
台下的聽眾主要是台灣人,但有許多來自其他國家的朋友,所以得用英文
坐在最前排,有 EeePC 部門的主管,和某位來自華碩其他部門的主管


在下面這張照片,右邊有一個外國人的頭
這位,就是 Xandros 公司派來的代表。原先不理我,低頭做自己的事情
但後來還是忍不住抬起頭來,看我們痛宰他們家的產品...
在最前面的是我們另一位開發者 Fred,由他幫我們操作原版的 EeePC 供比較


雖然我們的開機速度,因為沒調校過,比華碩原先搭載的 Xandros 系統慢一些,
但進到桌面之後,就輪到我們痛宰 Xandros 了。

首先比較的是記憶體用量,開機後我們用 100 ~ 140 MB,Xandros 早就超過 200 MB

接下來是啟動檔案總管,在 LXDE 上,我們的 PCManFM,在按下滑鼠的瞬間,
一秒內立即啟動完成,沒有延遲,並且載入目錄非常的迅速,介面又美觀。
而 Xandros 的系統,經過了 18 秒鐘的漫長等待,終於顯示出檔案總管視窗
這時候 LXDE 的記憶體用量幾乎沒有顯著增加,仍然只用一百多 MB

接著開始進行殘酷的 OpenOffice 連發測試,連續開啟多個 Office 檔案
可以看到,Xandros 的系統呈現一個極忙碌的卡狀態,而 LXDE 明顯較流暢
在開啟多個 Office 後,LXDE 仍然可以流暢的操作,系統完全沒有減慢
同時開啟龐大的 Firefox 瀏覽器,上網查詢資料,也還是游刃有餘
而華碩隨機搭載的 Xandros Linux 系統,不管做什麼操作,就是只能
「等等等等....等等等等....」 (請自行配上音樂)

接下來我用很短的時間,重點式的介紹了 LXDE 的其他元件
原先還擔心自己英文很破,但下台後朋友才跟我說,方才的演說相當熱血
當看到台下有許多雙來自國外的眼睛,在盯著我們的研發成果看,
台灣土產的東西,能受到國際有人的肯定,那種感覺,很難讓人不熱血啊。
來自一個地圖上找不到的國家,我們的努力,終於有人看到了。

講完之後,在現場有些國內外的朋友,很有興趣的提出了不少問題
我也很努力,也很吃力的,用我的破英文,嘗試著逐一回答。
雖然英文不好,講的結結巴巴,但這次真的是個很好的訓練機會

其中最讓我印象深刻的,大概是來自印度的工程師 Pradeepto 的提問
印度發音的英文,實在讓我很震撼。他講的每句都是英文,可我就是聽不懂。
會後我跟 Pradeepto 又進行了很多交流,還在他的 EeePC 上裝上了 LXDE
Pradeepto 自己是 KDE (另一個強大的知名桌面環境) 的開發者之一,
但是仍然願意跟我們交流,甚至還掏腰包贊助幫我們申請 http://lxde.org/ 的網址
這次參加這個大會,除了終於有機會在華碩總公司,展示我們的研發成果之外,
最大的收穫,就是交到 Pradeepto 這位印度朋友 (我好不容易才學會念他名字)

跟來自不同國家的人交流,真的是一件非常有趣的事情,尤其當大家有共同的興趣。
會後的晚餐,教了兩位來自美國和澳洲的朋友如何用中文數一二三四五...,
也試著跟他們解釋了正體(繁體)中文,以及簡體中文的差異所在。
這群老外也學著使用筷子。最後除了那位印度人以外,剩下的人筷子都用得很好
看這些外國朋友對我們的文化很感興趣的樣子,不禁覺得很感動。
有時候,連我們自己,都還不見得這麼關心自己的文化啊。

總之,我又很囉唆的,記了一大堆流水帳。
這次參加 OTSTW 2008,對我而言,主要的收穫,並不在資訊技術上
和外國友人的文化交流,以及練習如何用英文介紹自己的產品,
才是讓我很難忘,也覺得獲益良多的經驗。

2008年1月25日 星期五

[文件] curlftpfs 和 sshfs 掛載遠端檔案系統

今天首度試用了使用 FUSE 的 curlftpfs 和 sshfs
順利把 ftp 站和 sftp 遠端站台掛到本機 Linux 的目錄底下了

太久沒使用到這些東西,差點忘了 mount 指令怎麼下
最後發現

curlftpfs -o iocharset=utf8, codepage=big5 <本機目錄>
就可以正確顯示 big5 編碼的遠端檔案系統
以前常常在設定 fstab 的時候還記得,現在很久不用改那個,都忘光了...

FUSE 在 ubuntu 下預設無法用一般使用者操作,只能用 root
需要把使用者加入到 fuse 群組

有時可能會需要這個
sudo chmod o+rw /dev/fuse

好像還要這個
sudo chgrp fuse /dev/fuse

搞半天,也不確定最後是怎樣才會動的....
總之,需要一點小設定。

2008年1月24日 星期四

睽違一年多,PCMan 檔案管理程式 0.3.5 Beta,新版釋出

首頁: http://pcmanfm.sourceforge.net/
GnomeFiles 首頁: http://www.gnomefiles.org/app.php/PCMan_File_Manager



改版說明:
There is no exciting new feature, but this release comes with lots of important fixes.

* The underlying mime-type system was completely re-designed and
re-written from scratch. Now it's faster, more robust, and more standard
compliant. The memory usage was reduced, too. By installing a xml file to the
shared-mime-database, mime-type detection was enhanced.

* Add some new locales: tr, eu, ja

* Folder views are correctly updated when files get deleted or created.
Some FAM-related bugs were fixed.

* Command line arguments handling was improved. Now you can open multiple
files with pcmanfm through command line.

* Correctly handle desktop directory in the side pane. (Get the path of
desktop directory from ~/.config/user-dirs.dirs. Hide the item if the
directory didn't exist.)

* config files were moved to ~/.config/pcmanfm to follow the new standard.

* Better-looking about dialog, a must-have for every program. :-P

* BTW, personally I think this is the most suitable default file manager for
EeePC. Anyone wants to try it?

現在沒空搞這些,好久沒出新版本了,這次改完我就又要消失一陣子了。
我個人相信 PCManFM 是最適合給 EeePC 使用的檔案總管,如果換用這個,
速度一定會比 EeePC 內建的那個快上非常多,不知道有沒有人要測試看看?

2007年12月23日 星期日

[文件] Linux 下轉換各種影音格式

HOWTO Convert video files
http://en.linuxreviews.org/HOWTO_Convert_video_files

HOWTO Convert audio files
http://en.linuxreviews.org/HOWTO_Convert_audio_files

RM、RMVB、RV、WMV9等媒体格式转换为FLV
http://www.toplee.com/blog/303.html

線上轉FLV
http://blog.xuite.net/napmas/worknote/10780352

範例 flv 轉 DIVX AVI 格式:
http://forum.shareget.com/sitemap/t-250651.html
mencoder -noodml source.flv -o target.avi -mc 0 -ofps 29.970 -vf-add
crop=0:0:-1:-1 -vf-add scale=640:480 -vf-add expand=640:480:-1:-1:1 -srate 44100
-ovc lavc -lavcopts vcodec=mpeg4 -lavcopts vbitrate=300 -ffourcc DIVX
-oac mp3lame -lameopts vbr=3 -lameopts br=64 -lameopts vol=0
-lameopts mode=1 -lameopts aq=7 -lameopts padding=3 -af volnorm

2007年12月10日 星期一

修復 FreeYM 免費軟體站 + PCMan 站台列表線上更新服務

經過一段時間的奮鬥,把之前掛掉的 FreeYM 免費軟體 wiki 修復了
資料庫是重建過的,內容已經正確轉碼為 UTF-8
mediawiki 也升級到最新版本,並且刪除了很多錯誤的內容。

現在用 http://free.ym.edu.tw/ 可以直接連線到 wiki
比較好記,反正這台超級古董老機器,也沒辦法承受其他服務了,
乾脆換上 lighttpd 減輕負擔,然後把整個 server 都給 wiki 用了

另外隨著這台 server 的修復,PCMan 站台列表更新服務也重新上線
之前因為 wiki 更新,舊列表產生程式無法使用,剛剛用 python 重寫了一個
花的時間不到之前用 C++ 寫的一半,python 真的是好物!
所以,這項服務終於又跟大家見面了。

值得慶祝的是,這台老 server,從上次開機到今天
uptime 剛剛好滿 365 天,中間歷經幾次系統更新和升級
至今仍然屹立不搖,很難相信這是一台被學校淘汰下來的古董桌機
Pentium 200 的 CPU,上面架著 debian GNU/Linux,雖然很慢但是超穩
跑 php, MySQL, mediawiki,全都是自由軟體。
Linux rules! :)