google code-beautifer

星期日, 6月 03, 2007

skype linux 1.4 終於現身

基本上相對於其他完全開放/半開放(只開放client端)原碼的VOIP如gizmo,我不是很喜歡用skpe 。純粹是為了在Linux 上保有跟其他平台的人通話的使用自由,才在用被迫用skype。相對於其他Linux上的VOIP軟體,skype 的Linux 1.3 版作的不好,跟skype自己 windows 版穩定度,功能...,也差上一大節。Linux版大半年沒改版了,還是蠻期待基本的音效穩定度可以加強。

現在1.4 還在 alpha 階段。改進了不少東西,audio裝置的選擇變多了,而且開始有支援API/dbus 。使用介面用最新的QT4 改寫過了
不過介面的分群暫時無法顯示,看來怪怪的。有些功能像OSS 支援暫時拿掉了。不過不礙事。

有分兩個版本:
skype-alpha_staticQT-1.4.0.64-generic.tar.bz2
需要 libdbus-1.so.2 可是Mnadriva 2007 64bit 系統裡的是 libdbus-1.so.3,所以要
cd /lib; ln -s libdbus-1.so.3 libdbus-1.so.2

需要 32bit libsigc++2.0 所以要手動安裝
urpmi libsigc++2.0_0-2.0.17-1mdv2007.1.i586.rpm

假如是skype-alpha-1.4.0.64-generic.tar.bz2 (for static release) 還要多裝 32 bit libqtdbus4
urpmi libqtdbus4-4.2.3-3mdv2007.1.i586.rpm

並且把在 /lib 建立對應的 symbolic link
cd /lib;
ln -s /usr/lib/qt4/lib/libQtGui.so.4 libQtGui.so.4
ln -s /usr/lib/qt4/lib/libQtNetwork.so.4 libQtNetwork.so.4
ln -s /usr/lib/qt4/lib//libQtCore.so.4 /libQtCore.so.4
ln -s /usr/lib/qt4/lib//libQtCore.so.4 libQtCore.so.4

不過 skype 官方說
* Qt 4.2.3 contains a bug that if unpatched will cause expanded contact details to be displayed incorrectly.
* Qt 4.3.0-beta is considered not yet release worthy, and may cause unpredictable side-effects with the Skype 1.4 client.

所以我還是改用靜態連結版本。

詳細參見
https://developer.skype.com/LinuxSkype#head-3fc9435082cb4f65fac2d0cc058d4265ccceb7d7

星期六, 6月 02, 2007

Mandriva 2007.x 3D desktop 啟動速度比較

Mandriva 2007.x用了 parallel init,開機真的不慢,到gdm/kdm 這段都算快
用了雙螢幕好久一段時間,但2007.0 開機+desktop啟動速度感覺上是用過最慢的一個。即使CPU 一直在提升(現在是AMD 4000+, 1M L2 cache), video 保持在nvidia Ti-4200 128M RAM
不知是雙螢幕,compiz,2007.0,還是我沒設好?試過CPU 3000+/4000+差距不成問題。但換成2007.1新的組合就沒事了,又回到以前那種啟動神速。所以我認為是 2007.0 系統設定/xgl/舊版nividia 驅動的問題。

我反覆測試的結果,發現就算同樣的設定,數值也有數秒(n<5))的波動,也許是parallel init/硬碟cache hit 所照成的,留幾個數據供大家參考:

舊的2007.0(nvidia 96xx twinview + gxl +compiz + gnome 2.16)
1. 從 grub 按 enter 開始到圖形介面progress光條完成: 33 sec
2. GDM 出現 再加7 sec (中間有出現 nivida logo畫面,可以在xorg.conf裡把他拿掉 )
3. 從GDM 打完密碼到compiz 把 gnome menu(包含網路的服務)全部load 完
再加2分24 sec
0:33+0:07+2:24=3:04

其中第三段:
gdm 打入密碼後螢幕變黑,中央出現gnome 2.16 載入中的小視窗
視窗裡有幾個icon ,全載入後才會進入gnome 桌面(開始載入桌布/選單之類的。)光是gnome 2.16 載入中的小視窗第一個icon 出現,就在那裡停了2:21所以我的menu 服務icon雖多,一共也才幾秒 (2:24-2:21=0:03)這幾秒內可以看得到網路服務icon先畫出沒資料,再畫出網路資料,瓶頸不在畫menu那。雖然我的menu 很多,光包含網路的服務(天氣)就好幾秒,但gnome desktop 完成絕對要2分多,大瓶頸

新的2007.1 (nvidia 96xx twinview + aigxl +compiz + gnome 2.18)
1. 從 grub 按 enter 開始到圖形介面progress光條完成: 35 sec
2. GDM 出現 再加12 sec (中間有出現 nivida logo畫面,可以在xorg.conf裡把他拿掉 )
3.1 從GDM 打完密碼到螢幕變黑,中央出現gnome 2.18 載入中的小視窗完成消失: 再加4 sec
3.2 gnome 2.18 載入中的小視窗完成消失: 再加10 sec
3.3 gnome 桌面全部載入(桌布/選單之類跟畫出額外的網路服務icon跟網路資料 )再加11 sec(假如螢幕都很乾淨,沒有放大量的捷徑的話,則只加 4sec)
2007.1 起動桌面的時間
0:35+0:12+0:04+0:10+0:11=1:12
對照2007.0的 0:33+0:07+2:24=3:04快了一倍

我沒力氣去追glx 的問題。我之前遇到一些與舊程式不相容的情況。如nvidia-settings 不會正確顯示的問題,讓我 決定放棄glx。一度我想裝beryl 來取代 compiz 但是不管2007.0/2007.1 ,nividia 或ATI 上全裝不出來,還把gnome 給搞砸了。雖然beryl 有一些外掛如火燄特效很酷,不過至少在compiz 上,最重要的視窗縮圖預覽(MacOS X 上的 expose') 功能,aiglx 跟xgl 速度差異根本感覺不出來。所以決定先用 aiglx 的 compiz 來工作。

另外 2007.1 只跑單螢幕+沒 3D 桌面的情況:
第1, 2段也是約 40 sec (36+9=45)
第三段: (10+8)=18 sec

關於雙螢幕3D 桌面的設定,則會再另外刊出

星期日, 5月 06, 2007

"不負責"自由軟體中文輸入法改進規劃:

下面是我目前比較關心的: (我之前還列出重覆輸出,後來不知道怎樣了。)

1. 列出同音字待選
2. 編打編唸 (用語音確認)
3. 放大輸入緩衝區 (這樣user 可以少按幾次輸出鍵)

第一個 在我提出feature request 後, gcin 的作者已經實作出來了,太帥了。新酷音好像還沒看到。
第二個 工程浩大,但我一直有在設法集合各方力量去實作,包括結合圖書館界想要作無障礙閱讀環境的資源。除了基本的收集標準語音外(402 個基本音,加上四聲變化,會少於 400x5=2000個音),
在Linux 上,還需要聯接Alsa API,我覺得最好能支援用Jack IT ,因為怕多工環境下延遲
第三個 其實我沒很大把握,因為我還沒從頭到尾trace 過gcin 跟新酷音的原碼,不瞭解取詞的演算法 ....先當我是小白好了,所以這篇取名"不負責"...規劃。已經做好心裡準備被罵搞不清狀況,不過至少當豬頭拋磚引玉,應該比光要人改進,但連實作規畫都沒有的來的強一點點。

想法從下面節錄新酷音兩位網友的討論引申出來,要在便利跟效率中取得平衡:
有沒有可能改成,把大的緩衝區分成兩部份,在M 字輸入緩衝區中(比如說 M=45),只look ahead 最接近游標的 N (=15)字主緩衝區? N <=M 。一直輸入不後退超過了N 字的話,緩衝區前面(M-N) 字就暫時放到次緩衝區去 (移 link-list 的指標就好,其實沒有copy 資料的動作) 次緩衝區暫時不能改。假如使用者游標一直退到前 m-n 個字串範圍裡,主緩衝區跟次緩衝區會跟著變動,主緩衝區只look ahead 最接近游標的n 字

這樣只會constant-time slow : up to 2^N = 2^15 外加上 "雙緩衝區" (這我不知該如何解釋)的overhead, 應該是 linear time

能不能實做還是要看新酷音的原碼,其實不是不想,但以前就說了,沒有註解的C程式 我實在吃不消

---------------------------

windows_usr wrote:
> > 我用的是win32的最新win32-chewing-0.3.4.2.exe版本,說明裡寫著輸入一整句後按Enter,但我發現每輸入15個字就會
> > 自動送出超過此長度的字串。句子一般長度也有25-50個字吧,15個字真的太少了,打字時常常需要翻看,因為怕字自動送出了,沒有修改的機會,這樣很
> > 大地影響打字速度。酷音輸入法真的很好用,希望開發組可以加入自訂自動送出字串長度的功能。

Kuang-che Wu wrote:
> > On Thu, Apr 26, 2007 at 04:28:35AM -0700, windows_usr wrote:
>> >> 普通句子長度是25-35個字,加上夾雜一些英文。我想最好有45個字的buffer。
> >
> > 現在 libchewing 的運作原理, 當太長的話可能會很慢 (接近 2^n 的速度成長)
> >
> > 你可以試試看輸入
> >
> > 程式程式程式程式....
> >
> > 一整串, 越長會越慢, 在 input line 快滿那時, 速度已經慢到可以察覺.
> > 再更長的話, 可能就會慢到無法接受了

星期六, 4月 28, 2007

高等教育的數學開放原碼軟體

以下這兩套軟體在 Mandriva Linux 2007 上都有現成的RPM 供安裝

Maxima


Maxima是一個自由軟體, 首頁在 http://maxima.sourceforge.net/

這是一個強大的電腦代數系統 (Computer Algebra System, 簡稱 CAS) 。功能相當完整:微積分, 矩陣計算, 二維三維繪圖等都有, 可以做符號計算與邏輯推理, 不像平常的計算機系統都只能做數值的計算。可以用以取代 Mathematica 。新版裏也推出了極具親和力的介面wxMaxima,也可以用其他的介面如TeXmacs,甚至在emacs 裡用 Imaxima 。Maxima 在主要平台如 Windows, Mac OS, Linux 上都有。

Maxima 的前身 Macsyma 是第一套 CAS 軟體。Macsyma 原本是 MIT 實驗室裏發展的軟體, 後來 MIT 將這個軟體商業化。University of Texas, Austin 教授 William Schelter 從1982 年起自行開發 Macsyma 的自由版本, 也就是 Maxima。這個版本在有商業版 Macsyma 的情況, 難以得到正式授權。Schelter 教授在這情況下仍堅持理想繼續開發 Maxima 長達 16 年。 1998 年, Maxima 得到美國能源部授權得以用GPL 釋出成為自由軟體 ,所以可見得出生是不是自由軟體不重要,重要的是能不能堅持理想把非自由軟體逐步轉成自由軟體。Maxima 不包含商用版 Macsyma 1982 – 1999 (至少50人年)的發展內容,不過仍然足夠一般教育使用,而且繼續成長中。Mathematica, Maple 等也都是受到 Macsyma 影響而來的。因為 CAS 基本學習觀念是一樣的, 要改用 Mathematica, Maple 也很容易。

參見 http://zh.wikipedia.org/wiki/Maxima
http://en.wikipedia.org/wiki/Maxima

Scilab


Scilab是一個開放原碼軟體,首頁在 http://www.scilab.org/

他是由INRIA 與ENPC開發,與 MATLAB 功能非常相似,在繪圖和處理線性代數問題都非常的出色,但也可以解ODE之類的問題 。Scilab也有類似Matlab裡Simulink的工具,稱為Scicos。無法100% 相容MATLAB的m-files, 不過在網路上有不少延伸函式庫可以增加他的功能。內附的工具箱有:
2D 及3D 繪圖、模擬
線性代數、稀疏矩陣
多項式及有理函數
模擬:微分方程隱式解和顯式解的求解器
Scicos: 混合動態系統建模器和模擬器
經典及韌性控制,LMI 優化
可微分與不可微分的優化
訊號處理
圖及網路
使用PVM 的平行Scilab
統計
電腦代數(Maple,MuPAD)介面
Fortran, Tcl/Tk, C, C++, Java, LabVIEW 介面

相關介紹與入門參見
http://en.wikipedia.org/wiki/Scilab
http://mail.nkmu.edu.tw/~crlin/SciLab_Tutorial/SciLab_tut.htm
http://science.openfoundry.org/scilab.html

星期六, 4月 21, 2007

光碟燒錄程式比較

在mandriva 2007 上試了幾個光碟燒錄程式,下面是試用心得:

k3b 一向公認是功能最強大的,不過有介面掉中文字的問題,理論上可以改掉字型,但在gnome 下改KDE字型設定不方便
Gname CD baker 跟Graveman還不錯,唯一美中不足的地方是沒有像k3b 提供再讀取檔案檢查
三者都支援超燒/多臺燒錄器,其他功能及介面設定則各有千秋。

Brasero 還不錯,但會自動產生md5sum資料檔到光碟上,而且沒有選項可以關掉

下面的則不推薦

  • CD mason 無法便利的改光碟名稱
  • X-CD Roast 跟 Gnome CD master 無法建立資料光碟
  • tkdvd 無法建立音樂光碟
  • ECiPt Roster 跟simple cdrx對新kernel的IDE CDRW 介面的支援不好