2009/12/31

[生活] WiMAX 新聞整理


在 PTT 發的文,這邊再發一次:

大眾電信WiMAX服務 明年新竹啟動 【19:35】

〔中央社〕大眾電信取得北區WiMAX執照後,在台北已架設完成52座基站,並致力將PHS與
WiMAX進行雙網整合,明年將先在新竹啟動WiMAX服務。

由於大眾電信PHS超低電磁波特性,在新竹有超過90%以上的高科技產業青睞。大眾電信表
示,WiMAX 服務明年將選擇在科技之都新竹正式起跑。

大眾電信日前已與摩托羅拉簽署WiMAX基站設備採購合約,大眾電信表示,明年將積極投
入WiMAX無線寬頻網路建置,預計3月可通過國家通訊傳播委員會(NCC)審驗,取得WiMAX特
許執照。

市場策略方面,大眾電信近期推出「PHS幸福分享專案」,以家庭為概念,推出3倍通信費
回饋全家共享以及家庭網互打不用錢優惠,未來還將推出一系列家庭服務及活動,深耕家
庭及群聚市場。

--
<下面是我的評論跟上面的新聞無關>

所以明年初不只是全球移動 http://g1.com.tw 提供 WiMAX 連網服務,大眾電信也會在
新竹加入戰場。另外新竹也會變成全台首先有兩家以上的營運商同時角力的地區,在多
重選擇的情況下,新竹地區的民眾應該會有比原先 ADSL 與 Cable Modem (新竹振道)
更多的選擇。

附帶資料:
台北:威邁思
新竹:全球移動
台中:遠傳
高雄:大同電信

花蓮:大同電信

六家電信業者僅剩大眾與威達超舜還沒開台。

新聞來源:
http://iservice.libertytimes.com.tw/liveNews/news.php?no=314162&type=財經
http://www.zdnet.com.tw/news/comm/0,2000085675,20143460,00.htm

--
資費比較:
威邁思:  16M Down / 4M Up  $1,199 / 月
全球移動: 4M Down / 1M Up  $679 / 月
遠傳:         ?     /      ?       $599 / 月
大同:         ?     /      ?       $349 / 月

資費比較我是隨便找的,目前看起來是大同的最便宜,但是它的資費方案在官網我竟然
找不到,而且官網的 FAQ 寫只提供一種頻寬: Flat Rate ...
這是啥?統一價?各憑本事搶頻寬嗎?

小結:我討厭我們家的 cable modem ,所以想換了,但是全球移動的資費我還沒有很滿
意,所以想再調查一下。歡迎幫忙補充。

感恩。

--
資料來源:
http://www.vmax.net.tw/news/find.do?id=125b5247c490000026c0
http://g1.com.tw/rateplan.html
http://www.mobile01.com/newsdetail.php?id=8675
http://tw.myblog.yahoo.com/tatung-infocomm

http://www.m-hl.com.tw/Default.aspx?tabid=328

2009/12/05

[Linux] Ubuntu 9.10 不能播 encrypter DVD

昨天晚上跟閃光租了亞藝的片子想看 DVD , 不管是 vlc 還是 totem 通通都給我回復
libdvdread: Encrypted DVD support unavailable.

拿這個當關鍵字去拜 google 大神還沒辦法很快的找到解決方法的時候,不禁讓我覺得 Ubuntu Linux 其實也沒那麼多人在用。尤其是這麼常用的東西,應該早就有人發現了才對啊?

還好,找到最後在Ubuntu 的論壇上面有人在討論這件事情,給了一些方法,讓我安了心下來,但是這些通通都是 patch ,而且套件重裝也沒有作用。(或許也有可能要重開才能讓這個 libdvdread 生效嗎?)

我心灰意冷之餘,(沒辦法,在閃光面前我不允許自已連這點小事都辦不到) 在 Vivek Gite 的 blog 裡面終於找到了解決的辦法,他說道:

 Many DVDs use css for encryption. To play these discs, a special library is needed to decode them, libdvdcss. Due to legal problems, Debian and most Linux distro cannot distribute libdvdcss, but it is available on other places on the internet. If it is legal for you to use css, you can download & run install-css.sh script (same script may be installed at location
'/usr/share/doc/libdvdread3/examples/install-css.sh').

大多數的 DVD 都有 css 的加密,為了播放這些光碟,你得使用一個特別的函式庫就是 libdvdcss。 因為會牽扯到法律的問題, Debian 跟大多的 Linux 發行版都不能在它們的版本裡面釋出這個函式庫,不過在網路上有很多地方都可以抓的到。如果你可以合法的使用它的話,你可以用這支 script 來安裝這個函式庫,它也被放在 "/usr/share/doc/libdvdread3/examples/install-css.sh" 。

有沒有搞錯啊?原來解法就「遠在天邊?近在眼前?」在我的電腦裡就有嗎?
跟著,我就用了這支 script ,執行
./install-css.sh
之後,重新登入後就可以正常在我的 vlc 或 totem 上面看我的 DVD 了。

2009/11/27

[VirtualBox] USB 不能用

這個問題好像犯了好幾次了,簡單的說,就是下圖中應該可以點的 USB 列表,變成了反白的情況,我檢查 /etc/udev/rules.d/10-vboxdrv.rules 才看到,原來它限定要 vboxusers 才能使用這些 usb 的裝置,所以就是把現在的使用者加到 vboxusers 裡面就可以正常使用 virtualbox 的  usb 裝置了。

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"


2009/11/11

[Linux] ibus 有問題啦~

話說,我的 ibus 輸入法最近一直有問題,老是點不開,不然就是突然就 crash 掉。
所以去 官網 下了新的 code (ibus-1.2.0.20091024.tar.gz) 回來 compile , ibus 的相依比起 scim 少了很多,所以只要: apt-get install libdbus-1-dev libdbus-glib-1-dev libdbus-qt-1-dev libdbus-1-qt3-dev libgconf2-dev 就夠了。

解開上面的包裝,按下面做就可以。
tar zxvf ibus-*.tar.gz
cd ibus*/
./configure --prefix=/usr #好孩子不可以學,應該要一步一步來的
make && sudo make install


--
參考:
Ubuntu Linux 底下 ibus 輸入法使用表格輸入法

2009/10/23

[Programming] Error page 403 不能在 IE 8.0 瀏覽器裡面做轉頁

呃,簡單的說,就是 enum {
HTTP_OK = 200,
HTTP_PARTIAL_CONTENT = 206,
HTTP_MOVED_TEMPORARILY = 302,
HTTP_BAD_REQUEST = 400, /* malformed syntax */
HTTP_UNAUTHORIZED = 401, /* authentication needed, respond with auth hdr */
HTTP_NOT_FOUND = 404,
HTTP_FORBIDDEN = 403,
HTTP_REQUEST_TIMEOUT = 408,
HTTP_NOT_IMPLEMENTED = 501, /* used for unrecognized requests */
HTTP_INTERNAL_SERVER_ERROR = 500,
HTTP_CONTINUE = 100,
像這樣的 return code ,是 web server 會回給 browser 做為判斷的一個依據,在瀏覽器收到 200 的時候,它會很高興的把網頁內容吃進來,並且秀給使用者觀賞。

不過在收到 403 的時候,我手邊的 IE 8.0 會把網頁的內容吐掉,只肯秀它自已的 error page,連 location 都不吃,所以沒有辦法做 redirect ,這個情況在 firefox 上面就可以很正常的把 location 或下 html 的 redirect request。所以沒有辦法,為了符合行為,只能修改 web server 的反應,把對的改成錯的,讓 403 的時候是改秀成 200 ,才能讓 IE 8.0 把內容乖乖吃下去。

// 這個偏食的小孩,很讓人頭痛啊~~

2009/10/22

[Linux] 動態互換的滑鼠左右鍵

我的滑鼠消耗量很大,大概每年都會換掉一隻滑鼠,不知道是不是我每次都貪小便宜買一兩百塊的滑鼠有關。總之,我的滑鼠左鍵就是常常壞掉。這次這隻在 nova 買的 i-driver (p002) 也一樣是買了兩三個月之後就開始感覺左鍵不行了。於是乎我做了一個小小的動作,我寫了一個 script 動態交換滑鼠的左右兩鍵,如果本來是 左、右,現在就會換成右、左。

script 的內容如下:
#!/bin/bash
NOW=`xmodmap -pp | sed -e 's/\ *\ / /g' -e '/ [123] /!d'`
TEST=" 1 1
2 2
3 3"
if [ "$NOW" = "$TEST" ]; then
xmodmap -e "pointer = 3 2 1"
zenity --info --text "正常模式"
else
xmodmap -e "pointer = 1 2 3"
zenity --info --text "左右互換"
fi


蠻簡單的吧?不需要什麼額外的軟體輔助,就可以自由修改你的使用介面。
這就是自由軟體的好處。

[Linux] Ubuntu 9.10 (beta) 網路設定(Proxy)

話說, Ubuntu 9.10 (Karmic) 快要出來了。算算時間也差不多該是時候了,畢竟 2009 年的十月都快要過完了,再怎麼說, 9.10 也要 release 吧?不然要變成 9.11 嗎?這次的 9.10 改了不少東西,主要還是在 Kernel 跟 Gnome 2.28 上的改變,可以參考 Linux Toy 的介紹。

這次的改變裡頭,我最喜歡的,像新版的 gnome-do , GDM,開機速度加快了不少, compiz 的部份和我的 notebook 相容性增加了不少(雖然還是常常會出問題,以致於我最終還是為了穩定的理由,關掉了 compiz),在 network-manager 的部份也改善了不少以往會煩死了的無線網路設定會一直掉的問題。 iBus 聽說有很多好處,但是我還是 oxim 的愛好者,暫時沒考慮要改用別的輸入法。

扯太遠了,回來貼一張 Proxy 設定的圖:
點選 系統 -> 偏好設定 -> 代理伺服器,就可以看到下面:

從這張圖裡面可以看到好幾個很有用的功能,像是:
0. 這些設定用 profile 的方式儲存,所以可以根據你的位置來調整 proxy 設定,真帥啊,這樣公司設一設,回來家裡,只要選一下,就可以自動把 proxy 設定調過來了。
1. 以往沒得用的 socks proxy server 現在也可以在這邊設定了,這樣就可以很快樂的使用 socks proxy 穿過一堆惱人的公司的防火牆。
2. 設定完之後,也不用一個一個再設到 synaptic ﹑ firefox ﹑ chrome 之類的應用程式,而是直接就套用到全系統。(我猜應該是用 environment 變數 http_proxy 之類的套用進來)
3. 除了上面的方式之外,還有白名單可以使用,讓不想用的就不要用~~

衝著這個理由,我就非昇級到 9.10 (beta) 不可了。

2009/10/14

[Linux] Remember the Milk !! 在 Ubuntu 底下用 Tasque 做工作提醒

電腦玩物四月分的時候有寫了一篇 Remember the milk 的介紹,簡單扼要,如果不知道什麼是 Remember the milk 的同學可以先去看一下。

簡單的說,就是一個工作提醒的服務。它可以在網頁上面使用,用 gmail 的 plugin 方式加載使用,也可以付費註冊 pro 的身分使用(當然免錢的才優先用用看啊)。

在 Ubuntu Linux 底下,可以很簡單的裝上 tasque ,用 email account 註冊完 Remember the milk ,就可以開始玩了。

啟動後,會在 應用程式 -> 辦公 的資料夾底下新增一個 tasque 的項目,點選之後,在系統通知列(sysetm tray)上面會多一個 icon ,點下這個 icon 就可以看到 tasque 的主畫面,透過這個畫面你可以很清楚的知道自已目前有什麼工作還沒有完成,已經完成的,優先性(1~4),還有日期的部份可以拖拉顯示,不會讓整個畫面塞到爆,又搞不清楚自已哪件事情要先做後做的。

唯一的缺點是,這個軟體還不夠穩定的樣子,所以安小東在剛開始使用的時候,搞不清楚去哪邊註冊 Remember the milk ,所以沒有拿到對應用程式的授權,不過這個 tasque 也可以不用配合 Remember the milk ,直接使用電腦裡的檔案 (Local File System) 所以如果沒有需要在家裡跟辦公室同步這份工作清單的同學﹑或有安全顧慮的同學,也可以直接使用電腦裡的檔案就好了。

2009/10/13

[軟體] Firefox 網頁截圖

Firefox 上面要做網頁截圖,意即,把整張網頁截圖下來,而不是只截一個小小的視窗的部份,這樣的功能,如果不靠外力協助,就要把瀏覽器的視窗拉到最大,然後一部份一部份截圖下來,如果遇到很多張都是這樣,就費時也費力。

所以,我拜了一下 google 大神,看看大神有沒有什麼指示,結果大神給了我一個企鵝碎碎念的同學的網址,不過裡面是日本人的 firefox addons ,感覺沒有很好用,也還需要中文化的感覺,所以又跑去 mozilla addons 裡面尋找,果然找到一個 Screengrab 的 addons 可以用。雖然一樣沒有中文化,不過英文看起來就比較好查啊...

// 還是改天有空來做個中文化的 local rdf 呢?

2009/07/30

[Linux][Ubuntu] 再來一次, 9.04 的 madwifi

Ubuntu 9.04 新版釋出,我的 NB 還是不能好好的使用我的 atheros 無線網卡。所以要去抓 madwifi 的 code 回來重新處理:
svn co http://svn.madwifi-project.org/madwifi/trunk madwifi
cd madwifi
make
sudo make install


P.S 做這項動作,應該至少要有 build-essential 之類的相關套件才可以。

[Linux][Ubuntu] 登入 Windows Domain Server

在 Windows 上面, MIS 會用登入網域控制台的方式來控制底下的機器,或著甚至是這個身分認定來做檔案權限的控管﹑應用程式權限的控管之類的,所以如果沒有登入網域,就會有很多服務不能用。也因此半年前,我的 Ubuntu Linux 是被縮編到 virtualbox 底下,透過 nat/bridge 才連得上網路。

不過 likewise 的出現給了 Linux 上面的使用者一些登入網域使用服務的「希望」。
官方網址可以看這邊,目前是可以很順利的登入 domain server ,這樣就不會一天到晚被擋下來又唉唉叫。�唉

順道一提的是, likewise 需要 root 權限才能跑,所以安裝過後要用把 likewise-winbindd 的服務打開,有需要修改的時候,也是用 sudo likewise-open-gui 的方式去修改。
sudo aptitude install likewise-open-gui
likewise-winbindd
sudo /etc/init.d/likewise-open start
likewise-winbindd

2009/07/16

[Linux] 操作手冊的操作手冊

呃,說來諷刺,我們總是會叫某些新手在認識 linux 的第一步,就是要會自已看 man page ,看說明手冊。因為說明手冊上面總會留下很多可以使用這個指令的相關資訊,甚至有些還寫到了範例去,所以要熟悉一個指令,不能不先參考過它的 man page 。

man page 通常是這樣使用的:
man test
TEST(1) User Commands TEST(1)

NAME
test - check file types and compare values

SYNOPSIS
test EXPRESSION
test

[ EXPRESSION ]
[ ]
[ OPTION

DESCRIPTION
Exit with the status determined by EXPRESSION.

--help display this help and exit

--version
output version information and exit

但是,有時我們會在 man 後面再加上 -a ﹑ -2 -3 之類的數字,這些數字是什麼意思呢?
其實我們回到起初,就是一個很好玩的操作:「看操作手冊的操作手冊」
意即下:
man man
你就可以在「操作手冊的操作手冊裡」看到,這些數字所代表的意涵:
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conven‐
tions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]

2009/07/02

[Programming] Chrome 不合群 Javascript 不好寫。

話說 Google 大神出了自已的 Browser 的事情大家都知道,它的名字叫克隆美.. (是這樣唸嗎?)
好吧,還是用英文 chrome 好了。這個東西號稱可以跑得比 Firefox 跟 愛姨 快,不過相容性就沒有那麼好了。

這兩天在做多國語言的工作的時候才突然發現到,原來 chrome 在做 DOM createElement 如果是 script 的時候會出問題。不能動態新增 js 的片段。

意即:
var head = document.getElementsByTagName('head').item(0);
var script = document.createElement('script');
script.src = "a.js";
script.type = 'text/javascript';
head.insertBefore(script, head.childNodes[0]);

這段在 chrome 是沒有用的,但是在愛姨跟 Firefox 上面還是有用。(這樣就有 70% 的達成率了)

那?要新增 js 的片段怎麼辦?
用回最簡單的方式吧~
document.write

這個解法當然只有 60 分,勉強可以用啦。

2009/06/24

[Programming] IP 驗證 使用常規表示式

資料來源是這邊
function is_ip(strIP)
{
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g
if (re.test(strIP))
{
if (RegExp.$1<256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256)
return true;
}
return false;
}

做了點小修改:
var 提到最前面,const 改用大寫,function naming 改用 c style 。

[Linux][軟體] 避免 apt 升級部份套件的方法

debian 官網的說明 其實說的很清楚了,不過我還是怕自已記不住,所以寫下來比較妥當。而且,其實我的英文懶惰症一陣一陣的,所以趁現在沒有發作,把東西寫一寫也是不錯的。

Q: 如何避免 apt 雞婆的更新部份你想要裝不想要更新的套件呢?
A: 修改 /etc/apt/preferences 就好了,內容會像是:
Package: PACKAGE_NAME
Pin: PIN
Pin-Priority: PIN_PRIORITY


老大? 那個 PIN 跟 PIN PRIORITY 是什麼鳥啊?
官網有再舉例說明:
Package: sylpheed
Pin: version 0.4.99*


像這個 sylpheed ,針對 version 0.4.99* 的動作是設定它的更新優先順序為什麼,然後 apt-get upgrade 的時候,就會去比對優先順序,知道這個東西要不要更新。

所以優先順序填成下面的值,會造成不同的結果:

1001 # 永不更新,如果現存的版本比較新(優先順序比較低)還會作降級的動作
1000 # 跟 1001 一樣,不過 apt 不會作降級的動作
990 # 如果有比較高的版本用 "APT::Default-Release" 標示的會昇級
500 # 比 0.4.99 還高的版本就會昇級,不過 0.499 還是較低版本裡面的第一選擇
100 # Sylpheed 裡面有更高的版本就會不管 0.4.99 ,但如果沒有其它的版本先安裝了的話,就會先裝 0.4.99
-1 # 避免裝 0.4.99 這個版本

--
參考連結:
1. Ubuntu 的官網說明文件

2009/06/23

[Programming] 基本 C 應用 char[] to int

聽說有高手會看我的 blog ,我知道這很基本,不過我就是會搞錯,所以還是寫一下:

範例在這邊:
#include <stdio.h>

int
main()
{
char buf[] = "1234";
int *c = (int *) &buf;
printf("c = '%d'\n", *c);
printf("c = '%x'\n", ntohl(*c));
printf("%d\n", sizeof(int));
printf("%p\n", buf);
printf("%p\n", &buf[0]);

return 0;
}


1. 假設讀檔讀入的 buf 是 "1234";
2. 指定(int *) c 到 buf 的位置
3. 需要再反轉 byte order ,也需要注意 sizeof 的問題

2009/06/19

[軟體] Firefox 3.5 rc1 釋出

這邊有 firefox 3.5 未來會有的功能上的改變,包括有:

* 支援 HTML 5

  • 可以使用 audio 跟 video 標籤

  • 符合HTML5 標準離線運用網路的資源

  • 拖拉的 API (終於不用再自已搞一堆了)



* CSS 新的規格

  • CSS 2.1 裡頭提到的 :before 跟 :after

  • opacity 透明度支援 ,舊的 -moz-opacity 就不用再拿來用了。

  • text-shadow 陰影字

  • word-wrap 換行使用


不認識的一堆 selector :
:nth-child
:nth-last-child
:nth-of-type
:nth-last-of-type
:first-of-type
:last-of-type
:only-of-type


* DOM 的功能加強
* 字型下載支援
* SVG 新的功能支援 (不知道可不可以像 chrome 一樣播 SVG 動畫了)
* Javascript 也有新的功能支援 (XMLHttpRequest 支援了 progress)
...

靠,功能更新太多了,極力推薦下載啊。 (不是不想翻的關係嗎?)

載點可以點官網連結

2009/06/15

[Programming] awk 抓 cmdline

簡單事情簡單做,是程式寫作上面一個很基本的原則。所以我們常常看到在寫 shell script 的時候,會有用 awk, sed, perl, cut, xargs 這些指令出來跑龍套的時候。的確,這些指令是蠻簡單的,像在處理 cmdline 遇到要抓裡面的值的時候,我們會用這樣的手法來抓裡面的值:
$ cat /proc/cmdline
init=/etc/preinit root=/dev/mtdblock4 rootfstype=jffs2 rw mem=56M frst=n ubootver=U-Boot_10
hwaddress=eth0,00:aa:bb:cc:dd:ee console=ttyS0,115200 mtdparts=comcertonand:512k(cfg1),
$ cat /proc/cmdline | awk '{print $2}'|cud -d '=' -f 2
/dev/mtdblock4
ttyS0,115200
$ cat /proc/cmdline | awk 'NR==1{print $2}'|cud -d '=' -f 2
/dev/mtdblock4


呃…真是很爛的寫法。

其實只要一行就夠了:
awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' /proc/cmdline

Shell 真的是蠻簡單的,不過,就是要多練習,多用用,才會顯出老手與菜鳥間的差異。

2009/06/11

[軟體] vim 用 script 方式執行指令

雖然有很多工具可以用,不過 vim 始終有許多好處讓人愛不釋手。
這個「用 script 方式執行指令」就是其中之一。

狀況:
.txt 檔案沒有 bom header ,所以 Windows 記事本開的時候會有問題 or Windows 記事本存下來的檔案有 bom 開頭,所以讀取的時候還要特別 strip 掉 ef bb bf 這樣的東西。


我們可以利用 vim 的 -s scriptfile 的功能,加上一個 script file

:set bomb
:wq!


指令稿的內容是把文檔設成 bom 的格式然後存檔退出。

利用這方式,就可以很輕鬆的應用 vim 處理多個文檔。

2009/06/05

[軟體] Skype 4.0 快速鍵

今天亂玩時才發現,原來 skype 4.0 有綁定一些快速鍵:

alt + 1 顯示聯絡人清單
alt + 2 顯示對話視窗
alt + 3 顯示對話記錄

不過綁這個要幹嘛啊? 有點搞不懂 skype 公司在想什麼。
而且沒有人知道,也沒有可以自訂的說明。

如果改用 alt + 1 直接撥給連絡人不是很好嗎?

2009/05/26

[軟體] X--tag=CC: command not found

在 compile 的時候遇到這個
X--tag=CC: command not found
錯誤訊息,一時不知道怎麼處理。後來找到這邊 說用 libtool 1.5.22 的版本是不會跑出來這個 bug 的。(其實應該用 libtool --force 來做,不過這樣我還要去搞 Makefile ,做 patch ,有點麻煩,所以後來還是選用舊版的 libtool 來解決。

BTW, 是誰說我像這傢伙的?


補一下,舊版的 deb 可以在 官網 上面下載安裝。

[軟體] VirtualBox 無圖形介面使用方式

c:
cd "C:\Program Files\Sun\xVM VirtualBox"
VBoxHeadless.exe -s Ubuntu -p 3391

VirtualBox 是一款很好用的開源 Virtual PC 軟體,簡單的說,它可以讓你原本的 PC 在不重灌的情況下,重新以軟體模擬的方式跑另外一個 OS 出來。

這樣的方式就可以很輕鬆的在 Windows 上跑一個 Linux 或著是在 XP 上面跑一個 98 、在 Vista 上面跑一個 XP 之類的;也適合 Kernel 開發人員或著有平台相依需求的開發人員。

不過在自已的機器上面再跑一個 OS ,總是要花掉不少資源,因為我們會希望能省則省。所以會有不希望圖形介面跑出來的時候,我們就可以使用 Headless 的方式,以沒有圖形介面的方式來運行機器。

2009/05/22

[軟體] 再生龍

CloneZilla 是台灣國網中心所開發的自由,開放原始碼的還原系統,以快速與自動化聞名。可以快速同時複製多台電腦,或者免安裝單台備份還原。

本來覺得用起來會很麻煩。(本來嘛,CloneZilla 裡面用的 partimage 就是 opensource 的軟體,所以如果 LiveCD 裡面有附 partimage ,為什麼還要用 CloneZilla ?結果這兩天因為電腦送修、且 Ubuntu 的 LiveCD 裡面已經沒有附 partimage (當然,裝好是有的),要用 liveCD 備份硬碟變成了很麻煩的事情,四處去找 norton ghost / easy ghost 之類的 Bootable CD ISO 回來燒,找了半天,都沒有找到合適的。

最後想起來,還有 CloneZilla 可以用,才去把這個東西拿出來玩。

特點有:
多國語文介面 (不過用字沒有很好,我以為台灣人的用字在繁體環境底下,應該比大陸人要精確很多的,結果還是有很多…錯別字),。
一步一步來。 (這個算特點,相信它可以達成任務,然後就 follow 下去做)
儲存媒體可以放在 nfs 上面,例如 LAN 的 ssh server 上面。 (應該是用 sshfs 做的吧)
使用方法除了燒成光碟之外,也可以用隨身碟開機使用。

推薦電腦備份軟體首選。

2009/05/15

[軟體] 開始玩 openwrt

最近工作上的需要,想要開始玩 openwrt 了。
所以這一頁要拿來記一些 openwrt 的資料。
mobile one 上面的討論串

step by step 的教學
(唔... 這個內容是蠻簡單的,不過…不大精確,僅供入門就是。)

下面是 plurk2 的嵌入式內容:

2009/05/08

[軟體] Picasa 的人臉識別

不得不為 picasa 的人臉識別做一下宣傳,本來還沒有什麼感覺,直到今天重灌電腦,把照片什麼的都收掉的時候,才突然發現說,對喔,我的照片要怎麼整理才會有意義?用 picasa 做 index 嗎?光目錄名稱記錄當時的時間跟地點,好像還是很欠缺,如果可以記錄照片裡面有誰,是不是更好?

可是,這件事情要怎麼做呢?自已一個一個標嗎?

現在 picasa web 幫你做這件事情了:

如圖所示,你點選 picasa web 人物,新增名稱標記之後,它就會自動開始索引你的照片裡面的臉孔,並且,幫你做好肖像的 icon ,請你再加以分類就好了。這樣,事情就省事多了。

只是,它還是會幫我把一些看起來的確是人 (也難怪啦)
但是明明就不是人的肖像加進來。 (ex: 關公像... 祂... 是人,也不是人啦... )

這個功能真有趣。

2009/04/30

[軟體] Xmind 3.02 少了流程圖



如上圖,在我的電腦上可以發現 xmind 3.0.2 裝完了之後,建立新檔是沒有流程圖的。
這~~ 很怪耶,因為 flow chart 應該是早就有的東西才對。

我花了一些時間去重裝 xmind 跟 java jre 6 的部份,結果發現根本不是那麼回事。

xmind 的官網有一些 sample 可以讓人家下載,我下載了 test-flowchart 這個範例文件檢查是否可以正常開啟流程圖,看起來也是正常的。

所以結論應該是 xmind 忘了把 flow chart 放進 template 之類的錯誤吧。
現行如果要新增一個 flow chart ,應該就是把剛剛那個 test flowchart 加到範本集裡面,這樣就可以新增一份文件的時候,直接建構流程圖。

// 怪了,我記得 Ubuntu 底下沒這個問題過啊。

2009/04/22

[Linux] GPL 的簡報


唔,應該說是前幾天公司請了律師來講解 GPL 自由/開源軟體的法律座談。
結果去聽了一下,嗯,其實對於他講的東西沒有很滿意。
(也蠻難搞的,因為法律人不知道程式的部份,我們做軟體的不懂法律)

大致上用 Xmind 寫了這樣的連結圖,有需要簡報的時候,可以拿來擴充一下。

2009/04/21

[軟體] Yahoo Keykey 輸入法會掉條目



左邊是最新的 Keykey 1.0 build 2140 版本
右邊是香草輸入法 0.8b1 也是目前能用最新的版本(好啦,好像很久沒更新了)

我用的表格是自已建立的,不過有按照 keykey 的需求照作,而且香草可以使用,沒有理由 keykey 不能用才對。另外要抱怨一下,這個 Keykey 的使用者問題回報的頁面真的是有夠爛。

1. 需要 Yahoo 的帳號。 (雖然拎背有,但是拎背很不想給你知道。)
2. 明明自已的信箱才一堆垃圾信,不要牽拖到別人的信箱好唄?
3. 連 browser 都牽拖成必填的欄位下來,拜託,我只是用輸入法,不要亂搞到別人的 application 上面去,這個選項怎樣都應該是 optional 。

結論: Yahoo 很愛牽拖,而且,這個 Keykey 跟香草的關係一直沒有很正式的 announce 出來。

[Linux] Ubuntu 8.04 更新 dbus 有錯


anton:~$ deluser messagebus
Removing user `messagebus' ...
Warning: Removing group `messagebus', since no other user is part of it.
Done.
anton:~$ dpkg --configure dbus
正在設定 dbus (1.1.20-1ubuntu3.2) ...
Warning: The home dir /var/run/dbus you specified can't be accessed: No such fil
e or directory
Adding system user `messagebus' (UID 108) ...
Adding new group `messagebus' (GID 119) ...
Adding new user `messagebus' (UID 108) with group `messagebus' ...
Not creating home directory `/var/run/dbus'.
chown: cannot access `/var/run/dbus': No such file or directory
dpkg:處理 dbus (--configure)時出錯:
子程序·post-installation script·返回了錯誤號·1
在處理時有錯誤發生:
dbus

簡單的說,更新到一半, postinst 錯誤訊息先說 messagebus 這個 user 已經存在了。
(好吧,那我手動砍掉這個 user account 吧)
然後又說沒有 /var/run/dbus 這個目錄。
(好吧,那我手動新增這個目錄吧)
然後就可以下 dpkg --configure -a ,讓系統恢復正常更新的運作了。

呃... 不過這應該是 dbus 包裝的 postinst script 沒寫好吧?

[Linux] Debian 更新的時候發生的問題

99% [3 Packages bzip2 991232] [等待標頭] [等待標頭]
bzip2: Data integrity error when decompressing.
Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

錯誤 http://security.debian.org etch/updates/main Packages
子程序 bzip2 回傳錯誤碼(2)

早上更新某台 debian 的機器的時候發現了這樣的錯誤,不知道怎麼處理。
結果後來是把 apt/sources.list 註解掉 security 的部份

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib


再執行 apt-get update 後就可以動了。

當然, apt-get 可以動了,就要再把 security 拉回來用,不然沒有 security 蠻可怕的。

p.s 這個問題在 ubuntu 底下也有發生,看起來是 apt-get 的問題吧。

2009/04/14

[Programming] system 正確的抓取 return value

錯誤的抓法

#include <stdlib.h>

int main (void)
{
int ret;

ret = system("error: command not found");

return ret;
}


看一下 system 是怎麼寫的,就可以知道為什麼 ret 不一定是你想要的答案了。
這是正確的做法:
#define _GNU_SOURCE
#include <stdlib.h>

int main (void)
{
int ret;

ret = system("error: command not found");

if (WIFEXITED(ret))
return WEXITSTATUS(ret);
else
return -1;
}


// 以上不是我寫的,是公司裡的 eric 學長教的,看 code 才是基本功。

2009/04/10

[軟體] Vim 技巧 noeol 跟 binary 檔的處理

遇到一個很討厭的情況是 vim 在處理一些檔案的時候會自動把 no end of line (eol) 的檔案自動加上 eol 的情況,所以會讓某些需要沒有 eol 的文檔發生不可預期的錯誤。
當然 parser 可以再改進,不過有些時候情況很趕,所以不喜歡 vim 太雞婆的動作,這裡就需要在 .vimrc 裡面加上
setlocal binary
來處理,這樣就可以解決這個問題了。

2009/03/04

[軟體] Wireshark 修改呈現字型

像這樣的 wireshark 算是正常的:


不過如果不正常的時候怎麼辦?


答案是:
可以直接編輯
C:\Documents and Settings\你的帳號\Application Data\Wireshark\preferences
裡面找到:
gui.gtk2.font_name: Sans 12
調整成你想要的字體與大小就可以了。

2009/02/04

[微軟] WinRAR 排除 svn 檔案

標註一下,因為我用 winrar 還不如用 tar 來得方便,所以一直忘掉怎麼下:
參考連結: 真肥 所寫在這邊。

排除的檔案輸入:
*\.svn *\.svn\*

就可以。

2009/01/22

[Linux] wget post file (2)

這篇要獨立寫作一篇的原因是因為作 cgi 的開發的時候其實 shell 也是很好用的工具,然而怎麼使用 bash 來做上一篇提到的 up.php 這支 server page 做的事情呢?

其實很簡單,技巧說出來,就不值錢了:
#!/bin/bash
echo
echo

echo > /tmp/test.txt
while read data
do
echo $data >> /tmp/test.txt
done

[Linux] wget post file

我們在做 web 的時候,可以很簡單的在 server 上面寫這樣一個 php script 來 upload 一個檔案:
<?
$fn = $_FILES[test][name];
$temp = $_FILES[test][tmp_name];
$path = "/var/www/html/dl/a/";
copy($temp, $path.$fn);
?>


接著只要在網頁上建立這樣的標籤內容:
<form action="/dl/up.php" method="post" enctype="multipart/form-data">
<input type="file" name="test">
<input type="submit" value="submit">
</form>


一個簡單的 http file upload 模型就建起來了。

不過這樣的模式只適合有使用瀏覽器,有 GUI 的介面的使用者。今天如果是利用 wget 在 console 底下定時上傳檔案備份之類的行為,這樣就不適用 web 開上傳。

我們查看 wget 的 manpage 裡,可以查得到 --post-file 這個給 file upload 的參數,在實做上面,只需要加上 mime-type 的標頭就可以讓 server page 知道今天是要做 file upload 的行為,這個指令會像是:
wget http://192.168.1.128/dl/up.php --post-file=post.data --header="Content-Type: multipart/form-data; boundary=FILEUPLOAD" -O /dev/null --http-user=admin --http-password=test1234


post.data 在 manpage 裡面有說明到,其實 post data 就是 cgi post 處理時從 stdin 讀進來的資料,就長這樣:


--FILEUPLOAD
Content-Disposition: form-data; name="test"; filename="1.txt"
Content-Type: text/plain

12345

--FILEUPLOAD--


其中 boundry 的部份在 wget 送標頭的時候也要加上,這樣 server page 才會知道從哪邊開始讀。

2009/01/16

[微軟] 定時關機

這邊 有一篇文章可以參考一下。

簡單會用的幾個功能:
(凌晨)一點關機
at 1:00 shutdown -s
一個小時後關機
shutdown -s -t 3600
取消自動關機
shutdown -a

應該蠻簡單的,連我們家小猴子都會用說~~

2009/01/06

[Programming] sed 替換跨行內容

這篇蠻胡混的,因為主要的內容可以參考:用sed替换跨行内容 這篇文章。
不過還是讓我做一個註記,如何用 sed 清除 code 裡面像 /* tst */ 的註解呢?
sed -i ":begin; { /\*\//! { $! { N; b begin }; }; s/\/\*.*\*\///; };" $FILE
sed -i '/^$/d' $FILE


Shell 用得好,寫程式沒煩惱。

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...