2006/12/28

利用 SVG 建立 UI

SVG 拿來建 UI 其實有很多範例,這邊拿兩個來供各位參考。
「嵌在頁面裡」的時鐘
嵌在頁面裡的俄羅斯方塊

最近在思考想要用 XUL, SVG, AJax 等來建立 UI, 不過若考慮 RUI 的話,應該還是要用一般 HTML 而非 XUL.

網站備份

以前用過 httrack, 但是感覺參數太多,用沒二、三下就沒再用了,今天發現有 webhttrack, 當然它會順便安裝 httrack. 至於怎麼用?可以參考一下 /usr/share/httrack/lang.def 可以發現正體中文是第十四個,因此命令可以這樣下:

# /usr/lib/httrack/htsserver /usr/share/httrack/ path /var/www/htt lang 14

之後就可以透過網頁操作,至於網址,請注意上面執行後的訊息即得。感覺還不錯用,推薦。

圓剛 Volar 數位棒試用報告

跟圓剛的業務通了二、三回信後確認該公司的產品 Volar 數位棒(內部型號 A808)有 Linux driver, 就去買了二支。試用如下:
一、driver 在該公司技術頁面下,或從 此處下載
二、請遵照該公司關於 Linux 說明網頁的步驟及 FAQ 做。
三、安裝 mplayer, 及 dvb-utils 兩個套件。
四、執行命令 scan -x 0 /usr/share/doc/dvb-utils/examples/scan/dvb-t/tw-Taipei > ~/.mplayer/channels.conf
五、可能要編輯一下上面產生的 channels.conf,這個檔可以參考一下 comments
六、mplayer dvb://ch1 <-- ch1 是該檔第一欄位的頻道名稱

2006/12/26

Server Push

Server Push 技術存在已經很多年,主要有三個方法,第一種最古老的用法就是利用 HTTP Header 一直定期更新網頁。另外二種可以參考 http://xulplanet.com/tutorials/mozsdk/serverpush.php. 該文二種作法都需要 netscape 相容瀏覽器,也就是 IE 不支援。其中前一種是由 Netscape 制定的,利用 Content-type: multipart/x-mixed-replace 表頭,這種方法的CGI 比較方便撰寫。最後一種則是較新的 server socket.

這邊利用 perl 來實作第二種作法,若你的伺服器是 apache, 檔名要存成 nph- 開頭:

#!/usr/bin/perl
# 若 www server 是 apache,檔名要設定成 nph- 開頭
use File::Find;
use CGI qw/:push -nph/;
# turn off io buffering
$|=1;

my $Pictures = "/home/wade/Pictures";
my $sleep = 2;

print multipart_init(-boundary=>'--magicalboundarystring');
find (\&wanted, $Pictures);

sub wanted
{
my $f = $File::Find::name;
next unless $f =~ /\.jpe?g$/i;
if (open FILE, "$f") {
print multipart_start(-type=>"image/jpeg");
while () { print; }
close FILE;
}
else {
print multipart_start(-type=>"text/plain");
print "File: $f";
}
print multipart_end;
sleep $sleep;
}
exit 0;

2006/12/21

專案管理的免費軟體 dotproject

這兩天又突然想要架專案管理的軟體,之前架 egroupware 沒架成功,設定太複雜了,而 Xoops 早期玩過一陣,是還不錯用,不過印象停留在先前的使用經驗上,它並不怎麼適合專案管理,當然,遠遠超過一年沒用,是否現在還是如此不得而知。

有看到一套 Joomla 據說也不錯,不過我沒裝,就先試用 dotproject, 一裝就成功,因此就是它了。它的中文包要另外下載,而我的環境下還得改 modules/tasks/tasks.php,原來是
$tsql = "SELECT $select FROM $from $join WHERE $where" . 要改成
$tsql = "SELECT $select FROM ($from) $join WHERE $where" .

沒錯,就是差了個刮號。還有個更大的問題,不知道會不會有人問,安裝好之後我一開始不知道怎麼登入!當然看 source code 會知道,帳號是 admin, 密碼是 passwd。這邊就不多說了。這套軟體拿來給多人共同開發專案目前覺得還算 Ok, 希望大家使用愉快。

2006/12/20

UPnP Remote UI with vnc

UPnP remote ui 有一種實作方式是透過 VNC, 這在我思考 GUI/RUI 時也提供另一種解決方案。因此就拿來玩玩,有幾點心得分享:
.debian testing 的 vncserver 預設當然會讀 /etc/vnc.conf
.上述可以透過 $HOME/.vncrc 蓋過,因為預設的 vncStartup 是 /etc/X11/Xsession, 為了使用自己的畫面,改成 $HOME/.vnc/xstartup, 這一點是為了我們的特殊需求,照理說不必改。
.我自己有編譯 Embedded Mozilla, 因此可以讓它一啟動就是只有 Embedded Mozilla on X.

如此一來就可以用 directvnc 來做 GUI,也可以在遠端用 vncviewer 來做 RUI.

2006/12/01

firefox on directfb

After build the GtkDFB in Gtk on DirectFB, do as followings:

1. cd $PREFIX/src
2. get firefox-1.5.0.3 source
3. get TEL_Moz_Dfb_1_5_0_3_Nov17_patch1.dat, the gtkdfb patch for firefox 1.5.0.3
4. extract them(in $PREFIX/src, ie. in /usr/gtkdfb/src)
5. cd mozilla; patch -p0
6. create the .mozconfig
7. make -f client.mk build

很不幸,編譯的成功沒錯,我執行 TestGtkEmbed 也算「看得到畫面」,但是感覺就是「當掉」了,還得從別台登入 chvt # 到別的 vt 後再切回來,否則都不會有任何動作。<-- 不會動作不代表整台當掉了,希望您別太衝動重開機。

繼續玩玩看,若能跑得起來,那我就....打算開始...hehe....