2008年12月30日 星期二

lftp , disable ssl

plain ftp doesn't use ssl , so it stucks at "Making Data Connection..."

the solution is,

set ftp:ssl-allow no

2008年12月29日 星期一

Coralie Clément / Bye Bye Beauté


Coralie Clément 風格說也許應該說是 french chanson 但又有點 bossa nova. 這張 bye bye beauté 則比之前的 "Salle des pas perdus" 加了許多 rock 的元素,如 "Beau Jour un pour mourir" 或 "Kids".

哎呀我還是比較喜歡 Salle des pas perdus.

2008年11月20日 星期四

Rsync and bandwidth shaping

SSH is a UNIX app that follows the idea of small simple tools that can be used together for a greater good. One of the lesser known features is that the old rsync command/protocol can be run over SSH. This provides authentication and encryption, plus some other goodies. What you can also do is force maximum compression, a different crypto cipher such as Blowfish instead of the default of 3DES, and bandwidth limiting.

BWLIMIT=23 # in kbyte/s
RSYNC_RSH="ssh -C -c blowfish -p 22"
alias rsync="rsync -avz --bwlimit=$BWLIMIT"

rsync wim@remote:/path/to/something/big ~/downloads

2008年11月19日 星期三

Build Subversion 1.5.4 on Ubuntu Linux

Download Subversion-1.5.4 source code here.

Install dependencies first.
sudo apt-get build-deps subversion

Download libneon here,and unpack the source to the subversion-1.5.4 directory.
tar xvf neon-0.28.3.tar.gz
mv neon-0.28.3.tar.gz subversion-1.5.4/neon


because of dav_svn apache module is loaded in mods-enable/mods-avaliable directory
so we need to insert some dummy code to let the installation successful.

cd /etc/apache2
sudo -s
cat mods-available/dav_svn.load >> httpd.conf
vim httpd.conf


comment the "LoadModule dav_svn ... "

Then compile our subversion
cd subversion-1.5.4
./autogen.sh
./configure --prefix=/local/usr --enable-shared
make && sudo make install


remember to prepend /local/usr to your path env variable.

if you want to install lastest SVK , you need to build SWIG binding of svn.

download SWIG here. unpack it and make , make install
back to the subversion-1.5.4 directory , re-configure it , then

make swig-pl
make check-swig-pl
make swig-pl-lib
cd subversion/bindings/swig/perl/native
perl Makefile.PL EXTRAOPTIONSHERE
sudo make install

2008年10月11日 星期六

Blogger Comment Hack v2

早上花了一些時間做了一個小 hack, 之前的那個 comment loader 實在是太遲鈍了。
這次改用 jQuery 做。

在 head 內加入:
<!-- BCH - blogger comment hack css -->
<style>
.show { display: block; }
.hide { display: none; }
#bch_waiting { background: #fff; height: 100%; width:100%; position:absolute; top: 0; left: 0; text-align: center; z-index: 1000; }
#bch_waiting #preload { color: #ccc; position:absolute; top: 50%; left: 39%; }
#bch_waiting #preload img{ vertical-align: middle; }
</style>
<!--[if IE]>
<style>
body { height: 100%; }
</style>
<![endif]-->
<script src='http://c9s.lya.googlepages.com/jquery.pack.js' type='text/javascript'/>
另外在 body 開頭加入
<script src='http://c9s.lya.googlepages.com/bch-jquery.pack.js' type='text/javascript'/>

即可。

2008年9月28日 星期日

Vim - 設定外部編排程式

在 irc 上頭有朋友問是否有自動編排程式碼的程式,答案是有的。若要寫 C 你可以使用 GNU 的 Indent ,寫 perl 則有 perltidy 。

在 Ubuntu/Debian 皆有套件可直接安裝使用 GNU Indent。

$ sudo apt-get install indent
GNU Indent 預設為 GNU Style 若要調整程式碼風格,可以在 ~/.indent.pro 內設定。(請參見 man indent 或參考 GNU Indent Manual )

GNU Indent 的使用方式為:

$ indent [filename]
這樣會顯示編排後的程式碼,若用

$ indent file1 > file2
則會在 file2 存入編排後的程式碼。

如果你有使用 vim ,你也可以將 GNU Indent 與 vim 的 [==] 功能做結合 ( 請參見 :help [==] ),vim 內有有名的 gg=G 大絕招可以編排整個檔案,預設是用 vim 去編排的,若要使用外部程式編排,可以使用 set equalprg 功能,在 .vimrc 內設定:

set equalprg=/usr/bin/indent
則在 vim 內選取區域後可按下等號,則 vim 會將此區塊傳至外部程式,再將外部程式的輸出結果替換。

另外透過 autocmd 可以搭配不同的檔案類型設定不同的 indent program。

譬如說我常用 perltidy 那麼可設定

au Filetype perl :set equalprg=perltidy
我所使用的 .perltidyrc:
-l=78
-i=4
-ci=4
-se
-vt=2
-cti=0
-pt=1
-bt=1
-sbt=1
-bbt=1
-nsfs
-nolq
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
以及 .indent.pro:
-br -nce
-cdb -sc
-bad
-i8
-ci4
-di8
-nbc
-bfda
-bls
-ip0
-hnl

2008年8月11日 星期一

Lalo Schifrin / Bossa Nova Groove



聽 Lalo Schifrin 可以看見他在寫曲時嘴角洋溢著幸福的微笑。

2008年7月13日 星期日

,這是一本講海的小說,厚度近八百頁的一本小說。吸引我帶他回家的原因,卻只是因為他封面那神秘的眼。

今晚我打開此書閱讀,卻沒想到欲罷不能。

一個迷戀海的人、迷戀鯨魚的人,他們都被海洋以及海洋中神秘的事物所吸引著。比起吸引著我的電腦中的精緻小巧的世界,怎麼在短短幾分鐘內,我突然覺得海的吸引力比我想像中的大的多。

更令人著迷的是,他們仔細的描述著那些海洋生物的種種。

Links:
群-真的還假的?

衝動

近日購入一本 Security Warriors,由 O'Reilly 出版,挺不錯。接下來應該還會購入兄弟書 Security Power Tools。

另外有幾本我後悔了,所以就擱在某便利超商,沒有領回。不過按照某網路書店的遊戲規則,取貨之後要退還就需要自己負擔郵資、處理費,何不放著等他十日之後自動收回?不過此舉會留下未取件紀錄就是了。

所以我也才發覺我最近許多事情怎麼總是依賴著『衝動』兩字來行動?凡事真該三思而後行。總不能讓 "閱讀" 這個標籤都放滿了雜七雜八的紀錄。

而且我發覺我讀小說的慾望似乎沒有比讀技術書籍的慾望來得大?不過,我正在努力培養中...

前些陣子也弄了一本 Common Practical Lisp 來讀讀,Lisp 確實非常獨特,不過我想這些東西都先擺在觀望的位置就好了。

不用等夏天到,我的房間就已經非常悶熱,我很難想像北極冰山融化之後,全球溫度繼續高漲,我的房間又會是什麼樣的一個情形。 -__- 雖然每天都有天然的冰烏龍茶可以緩和我身體的溫度,讓我好點閱讀,但這總不是長久的避暑之計阿。

2008年7月6日 星期日

男人都該知道的女人秘密

男人都該知道的女人秘密的圖像

今天在書局翻了一下這本書,前面有個部份列出了一個女主角一整天在想些什麼的紀錄表,真的是整天都想著伴侶。看完,還真的有種 "老天,你們該不會都是這樣想的吧?" 好像很多女生都是這樣想的嗎? ( 迷之音: 對阿!我就是這樣想的阿!)

2008年7月5日 星期六

Chopin Nocturne Op62 No1


昨天去誠品時,一進大門,就聽見從遠方音響傳來微弱的琴音,細細一聽發現這是蕭邦的 62 號夜曲作品,Nocturne 為夜神之意,稱之為夜神一點也不為過,聽著旋律宛宛道來,冰晶一般的顫音穿透大理石的地板。

當時突然有種遇見老朋友的感覺,聽見了許多回憶。

2008年6月21日 星期六

『孩子阿,現在已經沒有人在讀詩了,大家都看電視,所以別當詩人,去當修電視工人吧』

2008年6月7日 星期六

我渴望能見你一面,
但請你記得,我不會開口要求要見你。
這不是因為驕傲,你知道我在你面前毫無驕傲可言,
而是因為,唯有你也想見我的時候,我們見面才有意義。
          Simone de Beauvoir (1950)(法國作家)

Easytag 2.1.5


以編輯 Mp3 Tag 來說,我覺得最好用、最 Powerful 的工具就是 Easytag 了,但在 Windows 下也找不到比他好用的軟體。

前一陣子一直遇到 Tag 改完之後寫入,用 Rhythmbox 讀卻無法讀出的問題,弄了許久都無法修正好。另外 Easytag 2.1.4 有一個 Bug 就是你如果選擇多個檔案,然後選 Settings -> Preference ,Easytag 就會掛掉。 XD

於是上官網抓了最新的 2.1.5 來用,沒想到問題迎刃而解。

以下是方便以後重編的 Script:
#!/bin/bash
mkdir tmp
cd tmp
pkg_name=easytag-2.1.5
wget -c http://nchc.dl.sourceforge.net/sourceforge/easytag/$pkg_name.tar.bz2
tar xvf $pkg_name.tar.bz2
cd $pkg_name
sudo apt-get -y build-dep easytag
sudo apt-get -y install libid3-3.8.3-dev libogg-dev libflac-dev libflac++-dev libmp4v2-dev libmp4v2-0 libwavpack-dev gettext
sudo apt-get -y install libgmp3-dev libvorbis0a libvorbis-dev libogg0 libogg-dev
sudo apt-get -y install libfaad-dev libfaad2-0 libmp4v2-dev libfaad2-0 libmp4v2-0
sudo apt-get -y install libid3tag0 libid3tag0-dev libspeex-dev
./configure
make
sudo make install

2008年6月6日 星期五

在 Linux 下使用 GNU AS 編寫組合語言 - 使用 gdb 進行除錯

日前有寫一篇『在 Linux 下使用 GNU AS 編寫組合語言』,現在以 cpuid 的範例來示範如何使用 gdb 除錯。

首先我們在組譯的時候,需加上 -gstabs 參數,as 會將除錯所需要的資訊編進去,以便 gdb 除錯。
[ cpuid:c9s-desktop : 19:05:43 ] $ as -gstabs -o cpuid.o cpuid.s
[ cpuid:c9s-desktop : 19:05:58 ] $ ld -o cpuid cpuid.o
除錯,只需要將連結完的執行檔丟給 gdb 即可:
[ cpuid:c9s-desktop : 19:06:04 ] $ gdb cpuid
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb)
這樣就進入 gdb 了。

接下來我們可以在 _start 標籤之位址插入中斷點,然後將此程式執行,程式應在 _start 中斷
(gdb) break *_start
Breakpoint 1 at 0x8048074: file cpuid.s, line 7.
(gdb) run
Starting program: /home/src/asm-code/cpuid/cpuid
The processor Vendor ID is 'GenuineIntel'

Program exited normally.
(gdb) quit
怎麼回事,中斷點無效了?這是 gdb 一個 Bug,他把一開始的中斷點_start忽略了。XD

經過測試發現似乎是在一開始的第一個指令中斷點會無法作用?解法是,在 _start 後加入一個 nop 指令。nop 指令並沒有功能,他不做任何事情。
.globl _start
_start:
nop
movl $0, %eax
cpuid
movl $output,%edi
movl %ebx, 28(%edi)
接下來重新組譯後,使用 gdb 除錯:
(gdb) break *_start+1
Breakpoint 1 at 0x8048075: file cpuid.s, line 8.
(gdb) run
Starting program: /home/src/asm-code/cpuid/cpuid

Breakpoint 1, _start () at cpuid.s:8
8 movl $0, %eax
Current language: auto; currently asm
因為 nop 只有一個 byte ,我們將中斷點設置在 _start 位址後的一個 byte ,就會停在中斷點了。

接著你可使用 s 或 n 來作單步執行。 (s for step , n for next )

gdb 的基本指令:
info registers顯示所有暫存器內容
print印出特定暫存器或者變數的值
x印出特定記憶體位置的內容

print 可搭配不同的修飾符來選擇以何種格式印出 ( print/d 印出十進位數值 , print/t 印出二進位數值 , print/x 印出十六進制數值 )

此外 x 指令也可搭配修飾符來選擇格式

x/nyz
  • n 代表要印出幾個欄位 ( 1 , 2 , 3 ... )
  • y 為輸出格式,可為 c (字元) , d (十進制) , x (十六進制)
  • z 為大小
其中 z 可為:
  • b 為 byte
  • h 為 16 bit word (halt-word)
  • w 為 32 bit word
譬如:
(gdb) x/42xb *_start
0x8048074 <_start>: 0x90 0xb8 0x00 0x00 0x00 0x00 0x0f 0xa2
0x804807c <_start+8>: 0xbf 0xac 0x90 0x04 0x08 0x89 0x5f 0x1c
0x8048084 <_start+16>: 0x89 0x4f 0x24 0xb8 0x04 0x00 0x00 0x00
0x804808c <_start+24>: 0xbb 0x01 0x00 0x00 0x00 0xb9 0xac 0x90
0x8048094 <_start+32>: 0x04 0x08 0xba 0x2a 0x00 0x00 0x00 0xcd
0x804809c <_start+40>: 0x80 0xb8

(gdb) print/x $ebx
$1 = 0x756e6547

(gdb)
其中 x/42xb 代表印出 _start 標籤開始之後的 42 個 Byte ,並以 16 進制印出。 print/x 代表以 16 進制印出。 print/d 以十進制,print/t 以二進制。

以上簡略介紹至此。

2008年6月3日 星期二

Muzik


在 blue97 Music Daily 看到的。台灣唯一的古典音樂雜誌。
不過市面上好像還是很少見阿?

2008年6月2日 星期一

aMule 是很讚的


經過調校後速度也可以很快!
#!/bin/bash
apt-get build-dep amule

cd /tmp
wget -nv -c http://www.hirnriss.net/?area=cvs -O tmpfile
URL='http://www.hirnriss.net/'`grep -oE -m 1 'files/cvs/aMule-CVS-[0-9]+.tar.bz2' tmpfile`

wget -nv -c $URL -O amule.tar.bz2
tar xvf amule.tar.bz2
cd amule-cvs
cd src

perl -i.bak -pe 's{(\s+CheckUlDlRatio)}{// $1}g' Preferences.cpp
perl -i.bak -pe 's{\s+thePrefs::CheckUlDlRatio();}{}g' PrefsUnifiedDlg.cpp
cd ..

./configure --prefix=/usr --enable-optimize
make
make install

如何在 Linux 下使用 GNU AS 撰寫組合語言(1)

在 DOS 下寫組合語言有 MASM 組譯器,那麼在 Linux 下呢?我們有 GAS (GNU AS) 以及 NASM 等等。

NASM 一開始是為商用軟體為導向而開發的,但最近已經為開放原始碼釋出。NASM 支援 Windows 以及 UNIX 環境,能夠產生 UNIX , 16-bit MS-DOS , 32-bit Windows 格式的執行檔。

GAS 是由 GNU 所開發的自由軟體,在 UNIX 上是最受歡迎的跨平台組譯器。基本上組譯器都是針對特定處理器所設計的,但 GAS 特別之處在於他支援多種處理器,可產生不同種處理器的指令碼( instruction code ),通常 GAS 能夠自動的偵測硬體平台並產生相對應的指令碼。關於 GNU AS 所支援之處理器可參考 gas Manual ( Machine-Dependencies )

當然不同組譯器,語法也都不相同,NASM 和 GAS 語法是有差異的,稍後會說明。在此我們選擇 GAS 為組譯工具。

如何在 Linux 底下使用 gas 撰寫組合語言呢?首先,必須先安裝 binutils 這個套件,若你是在 Debian 或 Ubuntu 底下可透過 apt 安裝:

sudo apt-get install binutils

若沒有,可於 GNU 官方網站(http://ftp.gnu.org/gnu/binutils/)取得程式碼,解壓縮之後編譯,安裝他

./configure
make
make install


binutils 套件除了有 GNU as 之外,還有其他工具如:addr2line ar c++filt gprof nlmconv nm objcopy objdump 等等,可參考此說明(中華民國軟體自由協會),或者參考 GNU 官方文件 binutils 的說明

一支以 GAS 為組譯器之程式的基本架構如下:
.section .data
# 已初始化的資料

.section .bss
# 未初始化的資料

.section .text
.globl _start
_start:
# 程式碼由此開始
其中 .data 區塊,為放置初始化資料區塊,也就是變數已經有了初始值。.bss 則為未初始化資料區塊,此區塊為非必要。.text 則為程式碼區塊。 _start 為程式一開始的進入點,在 Linking 的時候會自動找到 _start 這個標籤為進入點,若是沒有 _start 標籤的話,Linking 時會出現以下訊息:

$ ld -o test test.o
ld: warning: cannot find entry symbol _start; defaulting to xxxxxxx


對於 GNU AS 所使用的語法在此針對幾點說明:

GAS 的原開發者選擇實做 AT&T opcode 語法作為此編譯器之語法,是因為 AT&T opcode 語法是由 AT&T Bell Labs 所發展,在當時是為那些實做 UNIX 系統的處理器而設計的。

也因此以 GNU AS 來撰寫 Intel 平台的組合語言程式是比較令人容易混淆。

有幾點差異如下:
  • 立即定址( immediate operands) 使用 $ 符號作為前綴,譬如說要使用數值 4 作為值,則寫作 $4。
  • 暫存器名稱一律使用 % 作為前綴,譬如說 EAX 則寫做 %EAX
  • 來源與目的之運算元位置與 Intel 語法不同之在於,AT&T 之來源運算元在前面,目的運算元在後。譬如將十進位數字 3 放入 EAX 暫存器,AT&T 寫作 movl $3, %eax ,Intel 寫法則寫為 mov eax, 3。
  • 為表示資料位址,AT&T 語法寫做 movl $test, %eax ,Intel 語法則為 mov eax, dword ptr test。
  • 跳躍或者呼叫使用不同的語法來定義區段(segment)以及偏移量(offset values),AT&T 使用 ljmp $section , $offset 而 Intel 使用 jmp section:offset。
如想知道的更清楚,這裡有一篇文章討論 NASM 與 GAS 之差異 (Linux assemblers: A comparison of GAS and NASM)

先寫一個最基本的小程式,此範例為一程式之最基本的架構,在此以 cpuid 為範例:
# cpuid.s Sample program to extract the processor Vendor ID

.section .data
output:
.ascii "The processor vendor id is 'xxxxxxxxxxxx''\n"
.section .text
.global _start
_start:
movl $0,%eax
cpuid

movl $output,%edi
movl %ebx, 28(%edi)
movl %edx, 32(%edi)
movl %ecx, 36(%edi)

movl $4, %eax
movl $1, %ebx
movl $output, %ecx
movl $42, %edx
int $0x80

movl $1,%eax
movl $0,%ebx
int $0x80
接下來做大略的解說,為示範整個編寫程式的流程,在此不闡述太多細節。第一段
.section .data
output:
.ascii "The processor vendor id is 'xxxxxxxxxxxx''\n"
在資料區塊裡頭宣告一個名為 output 的字串變數。
 movl $0,%eax
cpuid
movl $output,%edi
movl %ebx, 28(%edi)
movl %edx, 32(%edi)
movl %ecx, 36(%edi)
其中第一行, movl $0, %eax 將 0 移至 EAX 暫存器,執行 cpuid 時,會判斷 EAX 的內容取得相對資料。EAX 為 0 時,cpuid 是取得廠商之 ID,譬如說 Intel , Geniue 等等,cpuid 執行後,會將資料分別放入 EBX , EDX , ECX 。第 3 行,將 output 字串之起始位址存至 EDI 暫存器 ( EDI 暫存器是用來存放操作目的字串指標之暫存器 ),接著將 EBX,EDX,ECX 裡面存放之結果字串放入 EDI 暫存器指向之位址加上偏移量的位置內。
movl %ebx, 28(%edi)
此行代表將 %ebx 內四個 Byte 之內容搬移到 EDI 存放之位址 + 28 Bytes 之位址,其 28 剛好是 xxxxxxxxxxxx 之起始的位址。因此 28,32,36 這三行搬移指令剛好將 12 個 x 補滿。

現在我們有等待輸出的字串了,接下來要做的事情就是要將字串印出來。
 movl $4, %eax
movl $1, %ebx
movl $output, %ecx
movl $42, %edx
int $0x80
這五行為執行系統呼叫 ( 何謂系統呼叫?可參見此 ),其中 EAX 存放系統呼叫之值,EBX 存放要寫入之檔案敘述元 (STDOUT),ECX 存放字串起始位址,EDX 存放字串的長度。其等同於 write() 系統呼叫。關於系統呼叫,可以在以下定義的檔案找到:

/usr/include/asm/unistd.h

譬如說上頭使用的 write 可以在裡頭找到這麼一行:

#define __NR_write 4

4 就是這麼來的。(其他系統呼叫可參考 System Call Table)

最後以 0x80 之值執行軟體中斷。( Kernel System Call )
 movl $1,%eax
movl $0,%ebx
int $0x80
這三行等同於 exit(0) 系統呼叫。傳回 0 作為程式執行結果。

輸入以下命令,組譯

$ as -o cpuid.o cpuid.s

執行 Linking 的動作 (在此就不闡述何謂組譯以及連結,可參考 System Software )

$ ld -o cpuid cpuid.o

最後便可以執行了。

./cpuid

[1] gas 官方文件
[2] System Software / Beck

Norah Jones - Don't Know Why



Live 的,超有感覺。重點是,我居然弄到了這首歌的譜。

手放開 / 李聖傑

我把自己關起來只留下一個陽台
每當天黑推開窗 我對著夜幕發呆
看著往事 一幕一幕 再次演出你我的愛

我把電視機打開聽著別人的對白
也許那些故事可以給我一個交代
你要的愛 我學不來
眼睜睜看情變壞 人怔怔看情感慨

不能給你未來 我還你現在
安靜結束也是另一種對待 當眼淚流下來
傷已超載 分開也是另一種明白

我給你最後的疼愛是手放開
不要一張雙人床中間隔著一片海
感情的污點就留給時間慢慢漂白
把愛收進胸前左邊口袋

最後的疼愛是手放開
不想用言語拉扯所以選擇不責怪
感情就像候車月台 有人走有人來
我的心是一個站牌 寫著等待

2008年5月24日 星期六

Bon Jovi - All about loving you

這麼久了的歌,卻還是覺得很好聽。
Bon Jovi-All about loving you (YouTube)

Looking at the pages of my life
Faded memories of me and you
Mistakes you know I've made a few
I took some shots and fell from time to time
Baby, you were there to pull me through
We've been around the block a time or two
I'm gonna lay it on the line
Ask me how we've come this far
The answer's written in my eyes

Chorus:
Every time I look at you, baby, I see something new
That takes me higher than before and makes me want you more
I don't wanna sleep tonight, dreamin's just a waste of time
When I look at what my life's been comin' to
I'm all about lovin' you

I've lived, I've loved, I've lost, I've paid some dues, baby
We've been to hell and back again
Through it all you're always my best friend
For all the words I didn't say and all the things I didn't do
Tonight I'm gonna find a way

Chorus:
Every time I look at you, baby, I see something new
That takes me higher than before and makes me want you more
I don't wanna sleep tonight, dreamin's just a waste of time
When I look at what my life's been comin' to
I'm all about lovin' you

You can take this world away
You're everything I am
Just read the lines upon my face
I'm all about lovin' you

Guitar Solo

Chorus:
Every time I look at you, baby, I see something new
That takes me higher than before and makes me want you more
I don't wanna sleep tonight, dreamin's just a waste of time
When I look at what my life's been comin' to
I'm all about lovin' you

All about lovin' you

2008年5月18日 星期日

Thinkpad survey

最近有開始在 survey 筆記型電腦,但不急著買就是了,因為現在買了也沒什麼機會能用。但,要考慮的細節還真是多啊,要考慮 Linux 相容性、性能、價格、用不到的功能、想用的功能、電池續航力。

不知怎麼雖然之前有一陣子很喜歡蘋果電腦,但其實我心中最 prefer 的還是 IBM,唯一讓我失望的就是 IBM 怎麼就把 Laptop 賣給大陸去做,讓我很擔心產品的品質。沒辦法,大陸人做的產品,品質就是沒辦法讓我信賴。

會想選擇 IBM 的原因是,我老爸從以前就也都使用 IBM 的電腦,IBM 耐用耐操,就外型來講比較有男人味。但 Lenovo 在我心裡品牌的形象並不深刻,就算筆電只是換了一個 Mark ,但對他們的東西就是有點懷疑。

抱著對 IBM 的倚戀,還是下去 survey 了一下。而我整個結論就是,若要選擇電力續航力好、輕薄短小,可選擇 X 系列,若要選擇性能較好,就是 T 系列,倘若不著重性能、重量、大小,則可選擇 R 系列,算是比較便宜一點的機種。

順代一提,ThinkPad X 系列有新出 X300 機種,使用 SSD 硬碟,減少了不少噪音、散熱的問題,不過代價就是貴。關於 X300 可以參考看看 Engadget 的兩篇文章 我的 ThinkPad X300 使用日記(一)我的 ThinkPad X300 使用日記(二)

此外不同的系列都可搭配不同型號的 CPU ,可參考 Intel Core 2 Duo 筆記型處理器 的 spec,Benchmark 方面可在此參考。

選擇在 Thinkpad 上使用 Ubuntu Linux ,唯一缺點就是在沒有經過調整的狀況下,電力控管方面比 Windows XP 弱了些, X61s 使用 8-cell 電池,Ubuntu 約可用 6 小時左右,XP 則可到 8 小時左右。若是 R61 使用 4-cell 電池,XP 約 2 小時半,Ubuntu 則更短一些。

關於 Power Management 的文章可以參考 Gentoo - Power Management Guide , Current trends in Linux Kernel Power Management , 變更3945ABG參數以降低X61腕托溫度@ Ubuntu 7.10 , Intel 新玩具 — PowerTop! ,enable power management ipw3495 on ThinkPad T60 Ubuntu 7.10 , ibm-acpi - IBM ThinkPad ACPI Extras Driver , LessWatts.org

若想看看 Ubuntu Linux 對 Thinkpad Support 的情形,可以看看 R61 ,T61, X61 相容的報告。 這裡也有份 Ubuntu 對於各種品牌的筆記型電腦支援的情形。 或者可參考看看 Linux on Laptops 這個網站。

這裡有些在 Thinkpad 上安裝 Debian 的筆記,也有提到一些對 Power Management 的設定。ThinkWiki 也有許多 ThinkPad 相關的資訊。

2008年5月4日 星期日

交通手札-台北

從台北車站北一門,每隔整點有一班免費的接駁車到五股。
從五股至台北車站,508(正線)、637、638 。無直達台北車站,637 可轉至捷運西門站,638 可轉至 捷運南京東路站、民權西路站轉至台北車站。

從林口憲兵學校至台北車站,可搭乘三重客運 由長庚醫院至台北車站。
由台北車站至林口憲兵學校可至國道客運中心搭乘三重客運至長庚醫院。

交通手札-高雄

從高雄火車站搭 60 號公車 ( 鹽埕站─鳥松 ),坐到長庚醫院。

班次表:
1715
1820
1900
1940
2020
2140

車次挺少的,40分鐘才一班。

2008年5月3日 星期六

Twitter



最近想想還是把平常碎碎念的東西-Twitter 切換成 Protected 好了。不然很多 Private 的東西讓人隨便看到還真是會不好意思。

所以想 follow 的朋友請申請個 Twitter 帳號 Follow 我吧

2008年4月16日 星期三

Blogger in draft


剛剛用了一下 Blogger in draft, 發現沒想到一段時間沒用已經豐富成這樣了...
在 Layout 頁可新增 Gadget ( 不再是 Widget ),點進去一看多了好多東西阿。

2008年3月24日 星期一

儒書言:淮南王學道,招會天下有道之人,傾一國之尊,下道術之士,是以道術之士並會淮南,奇方異術,莫不爭出。王遂得道,舉家升天,畜產皆仙,犬吠於天上,雞鳴於雲中。
想像這畫面真是好笑。
我喜歡最後一句。

Yann Tiersen - Les retrouvailles

Dolores O'riordan - Are You Listening

Music And Lyrics, "Way Back Into Love"

居家清潔小方法

我於 http://www.safety-home.com/newclean.htm 看到的,挑了幾個應該蠻實用的來參考一下。

如何清潔大理石?

大理石上沾有水果汁、咖啡水、飲料及尼古丁等污點時,用加了幾滴醋的洗衣粉水就可將其擦掉,擦完后再 用清水認真沖洗干凈。要除去大理石上的煙灰,可用肥皂水擦洗。用汽油可洗去大理石上的油垢。大理石上 沾有墨水等污點時,可在用20份水對一份雙氧水的水中加幾滴氨水,用軟布蘸此溶液擦拭,然后再用軟布揩干磨光。

( 清潔大理石還真是他媽的有夠麻煩 )

怎樣清洗紙皮石及地磚?

可買罐裝片狀的燒鹼,那時一種強力鹼劑,不可用手接觸,先傾出約兩湯匙,放在膠盆內,加入熱水一公升溶化, 然後用棉紗或碎布纏在一條小木棍頂端,蘸取溶液涂在地面污漬上,愈濕愈好,約半小時才用濕布抹去.

居室異味消除法

1.香煙味: 用濕透了醋的毛巾在室內揮舞或點燃兩支蜡燭,煙味即消除.
2.霉味 抽屜,壁櫥,衣箱里散發霉味時,可往里放一件香皂.
3.室內: 室內通風不暢,常有怪味,如嫌空氣清新劑味道不好,可將檸檬切半,放在角落處,即可消除.
4.盆栽臭味: 室內盆栽若用發酵的溶液作肥料,會散發出臭味,把橙皮放入肥料液中臭味就可消除.

醋的妙用

1. 玻璃上的油漆,可用醋浸軟後擦掉.
2. 煮肉和薯仔(馬鈴薯),稍加一些醋,就容易煮爛,味道也好.
3. 鐵或鋁生鏽,可用醋擦干淨.
4. 在墨汁加點醋,可使墨汁黑而發亮并不易褪色.
5. 洗綢緞時加小量醋,可使絲織品保持原有光澤.

澎湖713事件

澎湖713事件小檔案

一九四九年,澎湖發生七一三事件。

國民黨政府撤退來台,山東煙台聯中校長張敏之帶著八千名學生流亡到澎湖,但卻因澎湖駐軍缺兵,政府強迫徵兵,師生極力反抗,軍方使用私刑殺傷學生,張敏之為保護學生,被誣陷為「匪諜」,於一九四九年十二月十一日在馬場町遭槍決。

張敏之正是王培五的先生,當時未滿四十歲的王培五,頂著「匪諜之妻」的冤屈與難堪,帶著六名被污名「匪屬」的孩子,吃盡各種苦頭。畢業於北京師範大學英語系的她,在友人協助下,輾轉在台灣多個中學教書,最後成為建國中學的英文老師,現存最老的學生都已經九十歲了。

子女都是台大畢業,赴美獲博士學位,定居美國。如今已是百歲人瑞的王培五,也在美國安享天年,雖然耳朵幾近全聾,但精神矍鑠、中氣十足。她不以怨恨看待世間,不以仇恨教導子女,選擇寬容來對待一切,正是長壽健康的秘訣。

(資料來源:和平草根聯盟籌備會執行長高丹樺/記者鍾麗華整理)
----

校長遭槍決 學生被投海

白色恐怖時代最大單一事件中的澎湖七一三案,受害者多達數千人,由於牽連者全是當年隨國府轉進的山東流亡師生,因此也被歷史定位為「外省人的二二八事件」;但由於當年威權時代,加上流亡師生都是澎湖過客,並未留下太多史料。

當年懷著讀書報國理想,隨著國民黨轉進來台的山東流亡學生,由當時的澎湖防衛司令官李振清派船在六、七月間分批將他們接運到澎湖,並成立煙台流亡聯合學校,學生人數約八千人。原盼就此安頓,但民國三十八年七月十三日,卻發生了改變了這群年輕學子人生方向的「七一三案」。

當天,三十九師師長韓鳳儀在李振清的陪同下來到煙台流亡聯合學校,韓鳳儀集合所有學生,要求從軍報國,不料當場引發學生反彈,現場騷亂,校長張敏之上前與韓理論,盼能遵守當初在廣州協定,「只有十八歲以上男同學編成『青年軍』,半天軍訓半天上課;未及齡的男女學生,一律進澎防部所設的子弟學校就讀」的約定,但卻被韓認為是「率領學生,反對政府」,混亂中,士兵連續對空鳴槍,學生嚇得不知所措,只好無奈參軍,這就是著名的「七一三」事件。

事發後,校長張敏之、鄒鑑和五名同學,被以莫須有的匪諜罪名,以船運往台北青年公園「馬場町」槍決,還有數不清的學生,雙眼被矇住,套上麻袋丟入海中,失蹤者達二百餘人,直到半世紀後,政院通過「戒嚴時期不當叛亂暨匪諜審判案件補償條例」,才重新平反。

【新聞摘自:】自由時報記者劉禹慶/澎湖報導
----

2008年3月22日 星期六

Chopin Etude Op10 Nr2



我還在練這首練習曲...
真他媽的難。能訓練 345 指的技巧,自從練這首後我 Op66 Fantasie Impromptu 音也彈的比較清楚些了。

這影片是上屆華沙蕭邦鋼琴大賽錄的。

2008年3月8日 星期六

親密

早上讀完的一本小書: 親密:進入親密關係的20種方法

覺得還不賴。提供許多維持感情的好方法,拉近彼此的距離。( 不過我是用不到了,有興趣的去找來讀讀吧,對於已經在危險期的情侶或是夫妻應該會很有幫助 )

作者簡介
瑪麗•傑克斯• Mary Jaksch是一位專業的心理治療師,十多年來致力於協助更多人擁有圓滿幸福的人際關係。她是著名“春福人際關係訓練課程”(Wellspring)的創辦人,也有教授禪坐及靜修的豐富經驗。

2008年2月29日 星期五

久戀症候群

這個回文實在是太好笑了。
----------------------
作者 IceLeo (里歐) 看板 Boy-Girl
標題 Re: [求助] 我的心好像變了 該怎麼辦? >"<
時間 Fri Feb 29 13:08:02 2008
───────────────────────────────────────


女孩 你要勇於追求你自己的幸福

所以快跟你男朋友分手吧 不必管別人怎麼說

順便再把你前男友介紹給我 >///<



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.249.125
→ jason0925:XD 02/29 13:12
推 rfireptt:看完我只想推這一篇 XD 02/29 13:13
→ forgiveness:看完一系列的文章..好想笑.鄉民們太寶了!心情變好了:p 02/29 13:13
推 vacahung:吃碗內,看碗外~~ 02/29 13:20
推 boayeye:他是真的不錯^^ 02/29 13:29
推 morph:看完這一系列的文章 覺得原PO可以跟昨晚的男主角湊對試試 02/29 13:37
----------------------
作者 kimkim (金金) 看板 Boy-Girl
標題 Re: [求助] 我的心好像變了 該怎麼辦? >"<
時間 Fri Feb 29 13:52:43 2008
───────────────────────────────────────

像這種症狀呢
在戀愛病理學上有種文雅的名詞叫做"久戀症候群"
就是說患者在經歷了長久穩定的感情之後
很容易被一些外在的力量
尤其是新鮮的.曖昧的.客觀條件好的
引發上開的病症

至於本病症最明顯的症狀
就是患者會覺得自己已經不愛現任的對象
然後開始對外來的對象充滿害羞與喜悅
出現某種光芒乍現應該放下世俗之見去追求真愛的幻覺

關於本病症的治療辦法
據多年的臨床治療經驗顯示
除了因患者本身體質甚佳可自行康復外
唯一的辦法就是置之死地而後生
也就是直接讓患者和外來者在一起
並且希望外來者只是隨便玩玩的

當患者心碎之後
從今以後就會取得對該病症之抗體

喔對了
久戀症候群是正式學名
還有一種對本病的俗稱是
~過太爽~

※ 引述《boayeye (寶最近有點累)》之銘言:
: 我有位交往4年的男朋友 這四年當中自己偶有追求者
: 但我自己絕對深信自己深深愛著男友 甚至很想嫁給他
: 就在近兩個月 在上班的地方遇到一位男同事
: 很有內涵 也很有禮貌 也很聰明 也很謙虛
: 跟他交集並不多 因為上班很忙 很難有機會好好聊天
: 經過有次聊天知道他的名字 有知道他剛當完兵 等等
: 前幾天上班他來我們單位 單位女同事問他這麼愛來我們單位?
: 他回說:{因為他喜歡boayeye} 當時我正忙著 根本沒聽清楚
: 我問他們發生什麼事 我單位女同事再說一次 我頓時覺得超級尷尬
: 那位男同事也手足無措 突然我發現我對他也很有好感
: 為了這件事還想跟我男友分開 也發現自己並不是很喜歡我男友了
: 為了這件事煩惱滿多天 我之後再問我單位女同事 他說本來同事間會開這種玩笑
: 但我認真了>"< 我好想去問那位男同事說 你當時是認真的嗎?
: 因為我覺得他很優秀 很想跟他當朋友
: 這件事我內咎很久 也跟我男友說 他也很心平氣和說 {留不住心留住人沒有用}
: 所以讓我自己決定 我好煩惱唷>"<
: 每次上班都很期許看到那位男同事 很久也沒有談戀愛的感覺
: 那種很單純羞澀的感覺 希望板上各位大大可以給我指點迷津
: 謝謝

※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.19.38
※ 編輯: kimkim 來自: 220.133.19.38 (02/29 13:56)
在 aNobii 逛到這本書 巴別塔之犬,我很喜歡這個 comment
在感情或人與人之間的相處中,我們到底能了解對方多少,那些自以為是的情感投射,那些不經意的細微動作,都會決定著下一句脫出口的話 或改變彼此的命運。
保羅尋找亡妻的死因,而我們也總在感情莫名其妙結束時,尋找"變" 的理由,總會想想是不是有些蛛絲馬跡可以了解對方的心意,好安慰自己。
或許結果不重要了,而是過程中的探索,我們更了解自己這一切的動念

2008年2月16日 星期六

Sunny Weather / Lisa Ekdahl

Sunny weather
Tastes much less sweeter
Since you went away
Sunny weather ain't no sunny anymore

Sunny weather
Seemed so much brighter
Now colors just fade
Sunny weather ain't no sunny anymore

All day
Rain falls
And i'll fall like a feather
'Till i can kiss you once again

This sunny weather
Feels colder than winter
My heart's turned to snow
Since you had to go
Sunny weather ain't no sunny anymore

2008年2月14日 星期四

房客

賴皮的房客
合約到期還不走
整整賴一年多的帳

用去所有水電
卻不繳錢

時間的大輪,請你快轉
我還在等待我的血,流光的那一天

2008年2月12日 星期二

色戒

我只能說王佳芝好傻,整部片都是她在煎熬。

一群滿腔熱血愛國的大學生魯莽的策劃行動,想混進易家,殺了漢奸易先生。王佳芝為了要能當易先生的情婦,當然就要懂男女之事,她的朋友們決定讓他和一個愛嫖妓的酒鬼練習做愛,於是王佳芝把她的第一次奉獻給一個酒鬼,而這一切只因為那酒鬼有經驗。

( 看到這就覺得好痛苦,整個身體都在吶喊,你們怎麼可以這樣做! )

( 因為其實一開始魯莽的鄺裕民提議要暗殺易先生,可以看的出來王佳芝並沒有很積極的想參加他們的行動,只不過在愛國的大帽子下,她沒辦法拒絕... )

一連幾天不堪入目的『練習』後,王佳芝接到易家要搬家的消息。只覺一切準備都白費了,王佳芝的犧牲也都白費了。

然而事件並無終止,經過三年的沈澱,王佳芝繼續麥太太的身份,做為易先生的情婦,開始了他們倆情愛的糾葛,也就是王佳芝煎熬的開始。

後頭易先生和王佳芝的三段床戲,整個給我好強烈震憾的感覺。

張愛玲寫道,到女人的心裡去的路通過陰道。我想是這樣的,在情慾之間,王佳芝與易先生彼此的關係因此而改變,哪些男女不是因為床第之事而更加的親密?最後,易先生的那六克拉鑽戒打碎了她的心防。

『快走』她說。

於是暗殺行動因此失敗。

傻呼呼的鄺裕民,只會說『我不會讓你受到傷害』,等了四年才給他臨別一吻。最後王佳芝恨他,恨他四年前的不願自薦的膽怯。

『鄺裕民,你光只會擺個不捨的表情又有什麼用!』

看完了電影,總覺得心還是糾結在易先生與王佳芝複雜的關係之中。

李安的電影總是把感情刻劃的極為細膩,沒有灑狗血的哭喊和哀嚎,只有眼神,以及許多不起眼的動作,所以總是扣人心絃。

然而我想李安人太好了,找了一個梁朝偉這樣帥的人來演漢奸,也難怪合理了王佳芝後來愛上了他。若是真的一個漢奸,大概就是滿臉豬哥樣吧,那就真是苦了王佳芝了。

而後接著的那片『倒數第二個男朋友』,就整個破壞了看完色戒的心情,低俗粗線條的美國佬拍片就是這樣。(攤手)

最後評分!

色戒 A+
倒數第二個男朋友 C

2008年2月10日 星期日

年末

時光的發條,被遺忘在遙遠的天際
太陽再也不從東方的小山起來

黑暗的一年
怎麼也觸摸不著你的光芒

睜開眼,我不見青島
只見濕漉漉的小石巷

三月的雨,不停
誰在霧中哭泣

淚 / 敻虹

為著一叢叢
水芹菜一樣的哭
要彎繞好多的路阿

那煙水雲霧的
山深處
愛和傷害
同一個泉脈

夢 / 敻虹

不敢入詩的
來入夢

夢是一條絲
穿梭那
不可能的
相逢

死 / 敻虹

輕輕的拈起帽子
要走
許多話,只
說:
來世,我還要


結婚

贈 / 敻虹

焚身於一片水光
用蛾的垂首、化灰
在那堪靜中我必然要消失
好像從我的心中,你堅要把自己移走

2008年2月8日 星期五

聽不到

夜 黑夜 寂寞的夜裡
氣 生氣 對自己生氣
軟弱的電話 又打給你

想 聽你 那邊的空氣
有 什麼 精采的話題
你還是溫柔 給我婉轉的距離

我的聲音在笑 淚在飆
電話那頭的你 可知道

世界若是那麼大
為何我要忘你 無處逃

我的聲音在笑 淚在飆
電話那頭的你 可知道

世界若是那麼小
為何我的真心 你聽不到

會 很會 偽裝我自己
你 不該 背我的秘密
沉重都給我 微笑給你

奔 狂奔 空曠的感情
走 暴走 暴走的傷心
透明的嘆息 最後還是我的秘密

我的聲音在笑 淚在飆
電話那頭的你 可知道

世界若是那麼大
為何我要忘你 無處逃

我的聲音在笑 淚在飆
電話那頭的你 可知道

世界若是那麼小
為何我的真心 你聽不到
你聽不到 你聽不到 喔~

聽不到 聽不到我的執著
撲通 撲通一直在跳

直到你有一天能夠明暸
我做得到 我做得到

我的聲音在笑 淚在飆
電話那頭的你 可知道

世界若是那麼大
為何我要忘你 無處逃

我的聲音在笑 淚在飆
電話那頭的你 可知道

世界若是那麼小
為何我的真心 你聽不到

你聽不到 你聽不到 喔~ 哦~
~~ 你聽不到 你聽不到 你聽不到..


( 作詞:阿信 作曲:阿信 )

2008年1月6日 星期日

SVK 速成

在 clkao 的推薦下使用了 SVK ,原本我是 subversion 的使用者,在 Linux 的 Command-Line 底下使用 subversion 體會到諸多不便,用過 svk 之後便愛不釋手。

有鑑於 svn 許多令人詬病的地方,長長的 URI、Commit 的時候無法挑選哪些檔案 ci ( command-line )、以及調閱 log 的速度慢,要做離線版本控制也相當不便 ...etc。 ( 所謂離線版本控制的白話就是說,你可以到深山裡面一邊泡溫泉寫 Code , 也可以在火車上、飛機上、草原上,快樂的使用 SVK。 )

SVK 提供了一個快速有效的解決方案,使用方式相當簡單。

安裝

在 ubuntu 下安裝 svk ( 已經有包好的套件了 )
$ sudo apt-get install svk
如果要從 CPAN 裝的話也可:
$ cpan SVK

設定自動完成 (completion script)

相關作法可以參考 SVKPathCompletion

Mirror

假設要 checkout http://svn.xxx.org/svn/foobar ,在 svk 裡,checkout 之前要先進行靜射(mirror),以及 同步(sync) 的動作,首先 mirror 指令是這樣下的:
svk mkdir //mirror -m "for mirror depots"
svk mirror //mirror/foobar http://svn.xxx.org/svn/foobar/trunk
//mirror/foobar 你可以把他想成是一個虛擬路徑,但是事實上他是建立在 ~/.svk/local 內 svn 的 filesystem 內。
而因為 //mirror 的路徑尚未建立,所以要先使用 mkdir 先將之建立,在進行 mirror 到 foobar 這個路徑上。 其中 //mirror/foobar 命名隨你方便即可。

[註1]: 當然你也可以直接用 co ,SVK 會問你要設定的 depot,然後自動做 mirror,sync,checkout 等動作。

[註2]: 將 jifty 鏡射到 //mirror/foobar 上之後,以後便不需再輸入網址,並且 svk 有 completion script (deb 已經將 completion script 包好了,因此裝完直接可用,CPAN 的版本要自己設定 completion script ),你可以透過 Tab 鍵自動輸入 depot 位址。

譬如:
$ svk co //mi   # 此時按下 Tab 鍵
$ svk co //mirror/ # 自動補齊。接著按兩下 Tab
//mirror/Foo //mirror//Bar
$ svk co //mirror/ # 自動會顯示其他可能的 Completion

Sync

我們 mirror 完了,接著做 sync ,將遠端的修定版下載回來:
$ svk sync //mirror/foobar
另外要注意的是 sync 所做的動作會將所有的修改下載回來,如果你只要 head version (最新的修定版) ,可以加上參數 -s HEAD ,或全部 -a。 ( 可用 svk help [command] 查詢 )

Checkout

接著將 checkout 出來:
svk co //mirror/foobar foobar

Add, Delete and Revert

切換目錄進去之後( $ cd foobar
),可能做了一些編輯:
$ touch Foobar
新增檔案:
$ svk add Foobar
刪除檔案
$ svk rm Book
復元檔案:
$ svk revert SomeThing.pm

Commit

要提交我們所做的修改可以下 ci 或是 commit :
$ svk ci
如果只要 commit Foobar 一個檔案,可下:
$ svk ci Foobar
Commit 指令會進入編輯器,這時候可以選擇將不想 Commit 的檔案去掉,直接將那行刪除即可 ( SVN 不能喔 )。或者要新增檔案也可直接將 "?" 號改成 A,SVK 自動會將此檔案新增,或者 D (Delete) , R (Revert) 等等 ...
some log message
=== Targets to commit (you may delete items from it) ===
=== You may change '?' to 'A' to add unversioned items ===
M /home/svk/foobar/lib/Foo/Bar.pm
A Makefile.PL
A Foobar
D Useless_File
R DontModifyMe.pl
? MANIFEST
[註]: 如果不想進入編輯器也可用 -m "log message"。

Update

接著如果別人 commit 了,要更新 repo 只需要
$ svk up -s
-s 代表 sync 的動作,意思就是從遠端更新回來。

Local Branch

如要做一個 local branch (這樣就可以做離線 commit 了),首先將 //mirror/foobar 複製到 //local/foobar ( svk 會記住這個 //local/foobar 從那邊複製過來 ):
$ svk mkdir //local
$ svk cp //mirror/foobar //local/foobar
接著 switch 到 //local/foobar 上:
$ svk sw //local/foobar
等到連線的時候只要做:
$ svk push -C   # dry-run , 檢查看看有沒有 conflict
$ svk push # 便將修改 merge back 回 //mirror/foobar

Create a branch from trunk

如要從 trunk 建立一個 branch:
$ svk cp //local/Bar/trunk   //local/Bar/branches/y-feature
如要 merge branch (將 x-feature merge 到 y-feature 去):
$ svk smerge //local/Bar/x-feature   //local/Bar/y-feature
要刪除 repo
$ svk rm //local/Bar/y-feature

Import

假設現在有一個叫作 Foo::Bar 的模組放在 /home/src 下,完整路徑是 /home/src/foo-bar/。我們若要將此 foo-bar 資料夾匯入進去,我們可下
$ svk mkdir -p //mirror/foo-bar/ -m "create mirror depot"
$ svk import /home/src/foo-bar //mirror/foo-bar/ -m "import source from foo-bar"
下 -m "訊息" ,是一個很快速並且簡潔的方法,因為你不需要再進入編輯器輸入訊息。
而 mkdir 後面的 -p 代表要建立父層的資料夾 ( parent directory )。

Diff

在 Commit 之前若是要查看自己修改了哪些變動,可以使用 svk diff
$ svk diff
若要和上兩個 revision 比對,可下
$ svk diff -r -2
以上,基本上 svk 用起來 svn 大同小異,但是 svk 用起來便利許多。 ;-)

其他相關文件:
SVK 使用心得
OSDC.TW 2007 - SVK / clkao
方便實用的分散式版本控制系統-SVK
使用 svk 建立開發分支 / jserv
An SVK primer
SVK in a nutshell