Search Google

Friday, December 21, 2007

一切最後都向錢看

Meetic也開始收費了,雖然也沒什麼在上,但這的確是個令人失望的消息。原本還想趁有空的時候好好整修一下meetic帳號的門面,現在還是花時間在facebook上比較實在囉 :P

Wednesday, December 12, 2007

用純文字格式寫文件

最近越來越熱中於使用純文字格式寫文件了,原因是因為 --> 好看!因為採用RPG公略是手法書寫,因此整份文件看起來非常順眼,遇到需要樹狀說明的情況更是再適合不過,加上純文字檔案中的每個字體寬度都一樣,因此整齊度也比文書處理器還要優,雖然用LaTex或FrameMaker等排版軟體也能達到同樣效果,但是忽略格式tag直接使用text editor寫總是要快上許多,還不用背指令。等到長官需要的時候再一起copy & paste到word裡面調字體,這麼一來也不用在寫文件的同時跟word鬧脾氣。

而書寫軟體則是繼續採用我比較熟悉的vim,這也是為什麼最近多了一些vim的blog做為備忘錄,其實有很多以前都用過,只是久沒用還是要祭出google,於是趁這個機會記在blog中供以後參考。
另外還有一個不錯的vimrc設定可以參考:
http://moto.debian.org.tw/viewtopic.php?t=1061&sid=7d2b80e2ef26346e24ab96eae40098b2

有這樣的靈感都要感謝Willy,他從大約十年前就就這麼做了。。。他學生生涯的每份報告大概都是用notepad完成的吧~

Tuesday, December 11, 2007

vim charset/encoding

big5 = cp950
gb2312 = cp936
utf8 = utf-8

Monday, December 10, 2007

vim兩三招

g + Ctrl-G -- 計算檔案內文字(與byte)數
ggvG -- 全選
/\s -- 代表空白
/\s* -- 代表很多(multiple)空白
:s/{search_for}/{replace_with} -- single search & replace
:%s/{search_for}/{replace_with}/g -- multiple search & replace, "g" for global
:browse confirm saveas ++enc={encode碼} -- save file時指定encode格式
:1,$retab -- 將所有空格盡可能轉換成tab
:1,$retab! -- 將所有tab轉換成space

2007-12-13的vimrc (搭配TabBar plug-in):
set nu
syntax on
set spell
"color koehler " for latex
color evening " else
set cul
set shiftwidth=4
set softtabstop=4
set tabstop=4
set smartindent
set foldcolumn=4
set foldmethod=syntax
set foldenable
set backspace=indent,eol,start
set hlsearch
set lbr
map \ \(\<\w\+\>\) \1
"set wm=4 "wrapmargin
"set tw=72 "textwidth
"set expandtab
set shiftwidth=4
"set cscopetag
"cscope add cscope.out
set lines=30
set columns=110
"PS1. {小於符號}整個replace掉,因為blogspot不能打小/大於符號,只好這麼表示了!
set statusline=%{小於符號}%f%h%m%r%=%b\ 0x%B\ \ %l,%v\ %P
set laststatus=2
set lsp=0 "line space = 0
set hid "允許在save之前switch buffer
"PS2. 以下三行的作用是讓vim開啟檔案之後將utf-8的檔案以big5顯示(就中文字而言)
set encoding=big5
set fileencodings=ascii,ucs-bom,utf-8,ucs-2,ucs-le,sjis,big5,latin1
set termencoding=utf-8
set wrap!
"PS3. 設定存檔格式(utf8 & big5)的熱鍵
map u :w ++enc=utf-8
map b :w ++enc=big5

Monday, December 03, 2007

EeePC的誘惑

前幾個月聽到我媽提起Asus要出EeePC的時候我才跟他說硬碟空間這麼小,記憶體這麼少,不如多花一點錢買一台NB。沒想到沒過多久我就被EeePC的輕便性給打動!不到一公斤的重量+半分鐘內完成開機+固態硬碟的誘惑實在是太大了。目前我將它定位成workstation,只做輕便的工作(如上網,msn等),比較需要computing power的工作還是留給PC & NB去處理吧(使用遠端連線)。
只不過目前購買的實用性並不高,畢竟還沒脫離"國家的裝備"一職@@
看來還有好一段時間可以等了,只希望到時候EeePC能夠更物美價廉。

Thursday, November 29, 2007

function pointer type


typedef HINSTANCE (__stdcall *PFreeLibrary)( HINSTANCE );


以上是宣告function pointer type的範例,
PGetProcAddress是指到接受HMODULE, LPCSTR,產出FARPROC型態變數的變數指標

使用時
PGetProcAddress SomeFuncPtr;
SomeFuncPtr = AnotherFunc;

AnotherFunc的實做為
HINSTANCE AnotherFunc(HMODULE aa, LPCSTR bb) {...}

Monday, November 26, 2007

Visual Studio 2008 Setup - Part1

最近與VS2005奮戰許久之後依舊無法克服部份WinAPI的困擾讓我決定啟用VS2008,沒想到一裝好之後之前遇到的問題通通不見了!
只是愈到了一個新的問題,那就是不知道該如何debug(以前都用gdb),稍微摸索之後終於讓我找到解決之道,下面是一些設定的screenshots。



[1] & [2]記得填寫


Saturday, November 24, 2007

gcc還是在Linux下用會比較好

最近在Windows上使用MinGW時遇到幾個挫敗:
1. 總是無法順利呼叫叫做SendInput的Win32 API,總是給我類似這樣的錯誤訊息

C:\Documents and Settings\user\My Documents\code\api_sendinput>make
gcc -I. -IC:\MinGW\include -g -mwindows -o api_sendinput.exe api_sendinput.o -
Wall -LC:\MinGW\lib -Lc:\MinGW\bin -luser32
api_sendinput.o: In function `main':
C:/Documents and Settings/user/My Documents/code/api_sendinput/api_sendinput.c:5
3: undefined reference to `SendInput'
collect2: ld returned 1 exit status
make: *** [api_sendinput.exe] Error 1

2. 今天寫了一個程式parse掃毒程式產生的Log file,執行後跟沒執行一樣,於是使用gdb除錯,進入gdb後我用set args給參數之後還沒設break point就馬上開始執行,結果跑出來的卻是正確的結果,同樣的src code丟到lab server上編譯過後執行的再正常不過。

所以gcc還是比較適合在Linux下使用。。。
話說從gcc轉換到VC++原來還是有overhead,原本gcc編譯的好好的code丟到VC++裡編譯的結果執行總是怪怪的,經過研究之後把#define換成宣告global variable才正常,而且有時候使用#define還會產生error,使用linux的list.h時就是一個例子。

現在電腦中的開發環境亂成一團,自己都快搞糊塗了,看來下星期再回覆重新來過吧!

Sunday, November 11, 2007

完成第一支使用win32 api的程式

今天完成了我生平第一支使用win32 api的程式,我叫他做autop2p
他的作用是控制滑鼠、鍵盤讀取檔案中的關鍵字,一一丟進p2p軟體的搜尋欄位後按下搜尋紐進行搜尋,過程中家齊學長在尋找適合的API方面幫了我很大的忙。
同時學到window handle與process handle雖然都是HWND type,但是是兩碼子事。
也在msdn上看到使用fscanf()一次scan一整行的方法:

fscanf(fIn, "%[^\n]%*c", keyWordBuf)

總體來說,autop2p的功能算是automate的一個小subset,使用automate多年之後總算也知道它是怎做出來的了!

Thursday, November 08, 2007

command for removing windows messenger

RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove

undefined reference to '_GetProcessId'

Got the w32api package installed in Cygwin, but the build process still doesn't go through.

w32api package installed

compilation error

Wednesday, November 07, 2007

cygwin's clear

安裝ncurses lib之後就可以在cygwin下執行clear清除畫面。
安裝路徑為:Libs --> ncurses
可以順道一起將libncurses*也裝起來 :-)

run DDD in cygwin

利用

x -multiwindow &
開啟x-server,
之後要記得
export DISPLAY=localhost:0
因為開啟x-server時預設的display是0,
接下來就可以快快樂樂的輸入
ddd &
開啟並使用ddd了。

Tuesday, November 06, 2007

mingw + winapi

古人云:小人恆立志
果然一點也沒錯!
今天學長告知隊上使用的p2p不只一種的同時也建議研究一下winapi
這樣只需要寫一個程式就可以控制多個p2p clients讓他們自動搜尋,
於是乎,我將改寫使用Java的LimeWire計畫置一旁,開始研究起winapi來,
又因為手上這台電腦的記憶體實在太少(256MB - 內建顯卡 = 240MB),
安裝VS系列可能會跑到死,所以決定走cygwin/mingw路線。
這個連結就是使用mingw編出呼叫winapi的執行檔introduction~
沒想到最後還是要碰以前打死都不想看的winapi@@

vim and cscope in windows

1. _vimr存放在"C:\Documents and Settings\[your_login]\"下

2. 使用cscope建立tag之前要先設定TMPDIR的path,不然不但不會有output,他連半點回應都不會給你, eg:

mkdir tmp
set TMPDIR=.\tmp

Sunday, November 04, 2007

重拾java?!

在PTT受到善心人士指點後得知foxy(不公開source code的可惡傢伙)"應該"是用gnutella protocolspec在此)搜尋檔案,因此特地google了一下這個神奇的protocol,發現眾多支援該protocol的clients中屬LimeWire支援得最齊全,因此決定用他來完成上級交付的任務:寫一個完全自動化的Foxy搜尋器(從輸入keywords到下載完全自動),只不過LimeWire是用java寫的,看來我又得重拾荒廢已久的java了嗎?
講到java,當然就要順道提一下eclipse!
今天也發現了一個解說如何用eclipse trace code的blog,對我接下來要完成的任務多少有點幫助。

Saturday, November 03, 2007

Use mget without answering Y/N

使用FTP的文字介面(eg. MS內建的ftp)抓多個檔案時就要使用mget指令,
但是要如何跳過回答Y/N而直接抓取檔案呢?
答案就是先輸入prompt將互動模式關掉,eg.

open [ip]
[login]
[passwd]
bin
prompt
mget *
quit

太久沒用都忘了@@

debug.exe

MS內建的debug.exe只支援到64KB大小的檔案,當檔案超過64KB的時候該怎麼辦呢?
很簡單,利用split之類的工具將binary file切割成多個64KB的檔案再使用debug.exe將這些檔案以hex格式dump出來,透過console傳到(眉角在此)目標主機上之後再利用debug所提供的db指令在debug將hex格式還原成binary file的時候把多個64KB檔案重新組合成為單一binary file(我知道有點繞口)。

主要的幾個步驟:
1. 將debug script餵給debug產生出第一個bin file, eg. debug < a.txt > a.bin
2. 使用debug開啟bin file, eg. debug a.bin
3. 在debug內移到a.bin的結尾
4. 使用db將其他幾個檔案的hex data倒到a.bin的後面,完成後記憶體中的內容就與原來的bin file一模一樣了!
5. 利用(1)的debug script中寫入檔案的指令將所有資料寫入b.bin
6. 完成
目前不確定(2)~(6)是否能夠寫到script讓debug自動執行,需要再做實驗&研究,eg.

debug a.bin < 3_to_6.script

以下幾個links有debug的相關資訊:
http://kipirvine.com/asm/debug/Debug_Tutorial.pdf
http://www.moon-soft.com/program/bbs/readelite553716.htm
http://www.itepub.net/html/kaifawendang/C__/wenjian_mulu_ziyuan/2006/0429/6758.html

Something about DOS and BAT

1. 在Dos下搜尋某個檔案並顯示full path的方式有幾種:

$ dir /s "file_name"
$ [drive: or path_2_folder\] && dir /s "file_name"
$ dir /s/b [drive: or path_2_folder\] | findstr "file_name"


2. BAT file中的每個statement必須寫在同一行,eg.
if ... () else ()
for %%i in () do ()

ps. ()等同C中的{}
%1~%9是input argument
%%x代表變數,x可為任何legal identifier
細節這裡有。

Monday, October 29, 2007

Something about mtrace()

quote from http://ace.acadiau.ca/math/ACMMaC/howtos/mtrace.html

Finding Memory Leaks Using mtrace

When testing code on small samples, small problems such as memory leaks are often undetectable. However, once the program is run on a larger scale, existing memory leaks become larger problems; they often will cause a program to crash or to swap extensively (slowing performance drastically), and also affect any other programs running on the same system by reducing available memory.

To help avoid, or more often fix, such memory leaks, there are many tools available. One within the GNU platform is called mtrace.

Steps to Profiling a Program

1. Add a call to mtrace() at the very start of your main function, and include mcheck.h in the file containing the main program.
2. Compile the program with debug options set (i.e. the '-g' switch)
3. export a variable called MALLOC_TRACE which contains a filename where the trace data should be stored. Example: export MALLOC_TRACE=mtrace.out
4. Run the program, once
5. Run 'mtrace my_program mtrace.out' to view the output

1. Add the mtrace() call

mtrace works by adding hooks into calls which allocate and deallocate memory, logging these calls, and reporting on any mis-matches between the recorded allocations and deallocations. In order to begin recording information, these hooks have to be turned on. Calling the mtrace() function does this. In order to work properly, you must do this at THE VERY FIRST ACTION of the program. As well, since mtrace() is declared in mcheck.h, you'll have to include that as well.

For example, let's look at a simple program: #include <stdio.h> #include <stdlib.h> #include <mcheck.h> int main() { char *string; mtrace(); string = malloc(100 * sizeof(char)); return 0; }

Notice declarations are before the call to mtrace(), but any executed code comes after. The best place to call mtrace() is the very first executing line of code in main().

2. Compile program with debugging options

Although not strictly necessary, in order to get best use of mtrace, you should compile with debugging options set. This consists of adding '-g' to your compiling and linking commands.

So, if you were to compile a program composed of a single file, let's say hello.c, you would compile it with a command line resembling: gcc -g -o mtrace_test mtrace_test.c

However, if you were to compile a program consisting of multiple files, or where you have to do separate compilation and linking, you would have to supply -g on all compilation and linking commands. For example, given the files mtrace_test.c and file2.c, the commands would resemble the following: gcc -g -c mtrace_test.c gcc -g -c file2.c gcc -g -o mtrace_test mtrace_test.o file2.o

Often in larger software, you would modify the flags variables (CFLAGS, CXXFLAGS, FFLAGS, LD_OPTS and/or LDFLAGS) in your Makefile to add these, or you would set and export these as environment variables before running configure. An example of this last approach: export CFLAGS='-g' export LDFLAGS='-g' ./configure make

3. export MALLOC_TRACE

mtrace() saves its data to whatever file is named in the environment variable MALLOC_TRACE. So, in order to have the data saved, you must set this before running your program.

For bash, you could set the variable to 'mtrace.out' by running the following: export MALLOC_TRACE="mtrace.out"

For C shell, it would be: setenv MALLOC_TRACE mtrace.out

4. Run The Program, Once

Now you just need to run your program as usual. While it runs, it will save all the necessary data to the file specified in the MALLOC_TRACE environment variable.

I recommend running the program in such a way as to cover as much of the program's functionality as possible. If there are any problems, you want to try to make sure you trigger them.

5. View The Data

You should now have a file containing the trace data. In the case of the examples above, it would be mtrace.out. To view the data in a readable format, run the mtrace command, giving the program name and trace file name as arguments. Using the above examples, with our program name being mtrace_test and trace file name being mtrace.out, our command would be: mtrace mtrace_test mtrace.out

Assuming the C code at the beginning was the code in mtrace_test.c, the following output would be produced: Memory not freed: ----------------- Address Size Caller 0x0000000000501460 0x64 at /array/home/dcurrie/test/mtrace/mtrace_test.c:11

The address column is mostly meaningless. Feel free to ignore that - it can vary from run to run. More importantly, the entries in the "Memory not freed" report contains the file name and line number the allocation call has been traced to, and also contains the number of bytes allocated (0x64 is hexadecimal for 100)

So, the information tells us that data allocated on line 11 of mtrace_test.c is never deallocated, and so we should take corrective action to deallocate that particular memory.

Wrap-Up

Although in very small programs like what is used in the example, a quick visual inspection works well, when you expand to large programs, using tools like mtrace to diagnose for you where memory is allocated but not deallocated is a wonderful tool to save both your time and sanity. It also allows you to know quantitatively that no memory leaks occur in your code.

Even more importantly, when you plan to package up libraries or sets of functions to be used by other people, you will want to make certain no leaks exist, and such tools are a vital part of checking the quality of the code you release to other people.

Disclaimer

Acadia University and the author claim no responsibility for anything resulting from the use or misuse of information presented here. Read and use at your own risk.

Sunday, October 28, 2007

取得電腦中已經安裝的套件清單

ls /var/lib/dpkg/info/ | cut -f1 -d. | uniq

以上是適用於ubuntu的路徑。

Saturday, October 27, 2007

open .svg files in Linux

The quote from http://www.mepislovers.org/forums/showthread.php?t=9972:

"Gimp can open SVG if gimp-svg is installed."

That's all

我老了嗎?

這兩天在網咖收完信之後完全沒有玩game的慾望,最多只是看著其他人玩著SF Online回想當年跟一群朋友玩CS,SC的情景。但願是因為當場沒有其他有人在的關係。。。
BTW,今天是我的生日,休假就當作是國防部給我的生日禮物吧 :-D

轉行做hacker

為了認識hacking的一些常識(*),我特別趁本週休假到書局逛逛,很幸運的發現一本不錯的書,書名是駭客攻防實戰詳解,不同於一般市面的書只有介紹如何使用現成的駭客軟體(太low了!),這本書還有一些理論面的說明,雖然沒有很深入但是對於才要入門的我卻是不錯的工具書。
有趣的是,一開始看的時候並沒有發現什麼異狀,直到看到幾張screenshots之後才赫然發現這本書的作者是內地同胞,由電子工業出版社發行,松崗不過是把他引進並加以繁體化而已。
主要在探討Windows下的cases,兩位作者果然非常"愛國"地避談廣為大陸機關使用的Linux系統,我想手法應該大同小異,不過漏洞就要自己額外花時間去找了。此外,書中所談到的許多工具軟體本身都將大陸的網域排除在外,愛國心由此可見一般!

* 包含從資訊蒐集到種木馬、利用漏洞、隱藏蹤跡、清理善後、防火牆技術等入門資訊

Sunday, October 21, 2007

Overcome javascript:void(0);

以前看到javascript:void(0);的連結只知道是死路一條而無法將影音檔下載存到電腦中。今天則發現其實還是有辦法破解這個javascript成功下載影音檔案!
首先參考這篇安裝MediaPlayerConnectivity plugin(我將xine設定為external player),之後點擊播放影音檔的連結,這時候MediaPlayerConnectivity plugin會開啟xine播放檔案,然後將xine的playlist打開,在play list的最下面就可以看到該檔案的實際位址。
接下來可以使用任何下載軟體將檔案抓下來存在電腦中 :-)
當然,如果遇到streaming type的檔案,還是需要搭配mmsclient使用!

xine playlist中的資訊

New found utilities

mimms:mmsclient的套件名稱 (在Ubuntu上是這麼叫它),用來下載MS格式的線上影音檔案。
foto-mosaik:一個在windows上執行的軟體,用來製作Truman show海報那樣子的圖(用很多小圖拼湊成一張大圖),目前正在尋找Linux下的替代軟體。
==>找到了!
metapixel:在Linux下製作mosaic pictures/images的軟體,這個網站有使用教學。

An example of mosaic pictures/images

Saturday, October 20, 2007

MediaPlayerConnectivity

MediaPlayerConnectivity是給firefox用的plugin,其用途是補強firefox多媒體方面的表現。
例如,原始的firefox並不支援播放wmx格式的檔案,偏偏又有很多網站使用這種由MS制定的音樂格式,安裝MediaPlayerConnectivity之後就可以透過外部播放器(mplayer, totem, xine等。。。)播放firefox不支援的影音檔案。

今天會找到這個plugin完全是因為要聽漢聲電台上的軍歌(用javascript害我抓不下來@@)!
下星期督導長就要把我跟另一個菜鳥抓去考試,條文的部份都背完了,軍歌則要趁這兩天放假趕快聽一聽背起來~
可是到現在我還在聽線上音樂,望著需要1K~1K2字的作文題目"決定快樂,從心出發"發呆,真是沒想到放假還要寫回家功課,下一梯新兵什麼時候才要來幫我們做這些事情阿!!!

有點失望

轉眼間撥交到新單位已經一個星期,新單位還算輕鬆,跟很多單位比起來應該算是天堂(每天晚上還有時間打桌球。。。)!
只不過這個星期中聽到許多學長(義務役+志願役)分析著本中隊的未來,聽著聽著便覺得有點失望。
原本以為到這個單位可以經手一些有趣的業務,"順便"學到一點網路安全的實務經驗,但是因為上頭的政策改變,導致接下來的義務役通通都被編到"整備"組中,美其名是當種子教官教志願役官兵寫程式之類的工作,但是其實大部分的時間會花在打雜上面。
這樣子整個奇蒙子就不是很好,好像趁我們在服役的時候完全被吸乾而沒有得到任何新的東西,當然可以趁有時間的時候自修,但是如果上班時間就是做相關的事情似乎會比較理想。

其實從許多大大小小的事情都可以瞧的出些端倪,例如昨天長官來視導的時候督導長就叫我&宣文(跟我一起進去的菜鳥)到外面待命,說好聽是我們呆在裡面也無聊,但是我覺得是避免讓我們接觸到機敏資料~
這時候自我安慰機制再度開啟:其實上面會這樣想也是有道理啦,把國家安全放在役期僅一年的義務役身上太不可靠了,而且這樣的話退伍的時候也不用被管制出境(但換個角度想,海陸,空特那些人怎麼辦?!)。

看來我就認命的在接下來的十一個月乖乖打雜會過得比較快樂,雖然有人帶會學的比較快,不過反正到時候站安官的時候也有一堆時間可以自己看書自修,有道是天下無難事只怕有心人!

Wednesday, October 10, 2007

clever auto complete

今天意外發現一套Linux上開發的3D引擎(Cube & Cube2),由於該引擎所表現出來的效果十分優良讓我興起把他抓下來研究的念頭,抓完之後在解壓縮的時候輸入檔名之際忽然發現以往按下Tab就會出現的auto complete居然沒有發揮作用!
仔細檢查之後發現該壓縮檔的格式為bz2,而我下的指令參數為給gz用的tar xzf,改為tar xjf之後auto complete果然恢復作用。
沒想到現在連auto complete都會幫忙判別檔案類型,看來我們離星際旅行又近了一步 :-P

Monday, October 08, 2007

不幸中的大幸

不幸:
1. 放假兩天被颱風吃掉
2. 昨天才裝好nvidia driver的$0 PC正式退役(http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?topic_id=6321&forum=1&post_id=28872#forumpost28872)。

大幸:
昨天媽媽問我NZ passport什麼時候過期,要我到時候提前去換新護照,於是我上了department of internal affairs網站看更換護照的注意事項,看著看著便看到第一次申請護照必須準備certificate of citizenship,心中忽然一驚:"我把那張該死的紙丟到哪了?"
左找右找找遍了房間與地下室就是找不到,雖然護照過期只需要拿舊護照換新護照,但是總覺得那張證明還是該好好收著,於是便帶著安撫的語氣告訴自己一定是放在石牌,因為回台灣之後根本沒去碰它,所以忘了帶回三芝~
今天帶著忐忑的心情前往石牌偵查(請鄰兵以火力掩護我前去偵查@@),幸好它乖乖的躺在書桌的抽屜中,我也終於放下心中的大石頭 :-)

就是這張該死的紙


===== Update @ 2007-10-10 =====
昨天抱著姑且一試的心情做了memory test,經過一整天的測試之後發現memory的pass rate只有1%!於是採隨機抽樣的方式拔掉了一條256M的記憶體(共三條),結果居然就可以開機,原來還好好的記憶忽然就這樣掛掉,整個就是冏~
BTW,拔記憶體的同時順便把MX200換成前陣子從爸爸舊電腦拔下來的GeForce4 Ti4200,跑glxgears的時候performance增加十倍(從三百多提高到三千多)。

Sunday, October 07, 2007

video card driver v.s. cpu load

原本想說我又不會拿$0 PC玩遊戲因此而沒有在重裝xubuntu的時候安裝nvidia driver,於是在接下來的時日中常常覺得cpu load常常飆到很高的"啪數"造成系統lag,尤其是在看網頁的時候(eg. nvidia的官方網頁)。
一開始的時候還會安慰自己說這台電腦的配備本來就不好(1.6GHz + 768M ram + GeForce2 MX200),lag也是應該的,但是今天實在是再也無法忍受,於是抱著姑且一試的心情到nvidia官網把舊的driver抓下來安裝(上一篇的安裝kernel source其實就是為了裝nvidia driver)。
沒想到driver裝完之後整個系統還頗順暢,雖然還不到玩game的程度(不要太苛求MX200~),但是至少大幅改善原先光是看網頁就會lag的問題!

這件事情告訴我們,有driver就要裝。。。

install kernel-source in ubuntu

在ubuntu與debian的套件名稱有點出入,因此安裝kernel source的時候無法直接將debian那套搬過來用,google之後得知必須安裝套件linux-sourcelinux-headers(*)。
意外中發現ubuntu的apt-get越來越人性化,當我輸入apt-get install linux-headers的時候他會顯示所有有效的版本讓我選擇,當然,正確的版本還是要自行透過uname取得。

myprompt:$ sudo apt-get install linux-headers
讀取套件清單中... 完成
了解套件依存關係中
Reading state information... 完成
虛擬套件『linux-headers』的提供者是:
linux-headers-2.6.20-16-server-bigiron 2.6.20-16.32
linux-headers-2.6.20-16-server 2.6.20-16.32
linux-headers-2.6.20-16-lowlatency 2.6.20-16.32
linux-headers-2.6.20-16-generic 2.6.20-16.32
linux-headers-2.6.20-16-386 2.6.20-16.32
linux-headers-2.6.20-16 2.6.20-16.32
linux-headers-2.6.20-15-server-bigiron 2.6.20-15.27
linux-headers-2.6.20-15-server 2.6.20-15.27
linux-headers-2.6.20-15-lowlatency 2.6.20-15.27
linux-headers-2.6.20-15-generic 2.6.20-15.27
linux-headers-2.6.20-15-386 2.6.20-15.27
linux-headers-2.6.20-15 2.6.20-15.27
請您明確地選擇一個來進行安裝。


* http://tech.givemethe.net/node/9

Friday, October 05, 2007

終於盼到結訓假了

上次探親假收假之後便時時刻刻盼望結訓假的到來,這下終於盼到了!
這九天之中"密集"操課六天因為接著有三天的鑑測,說到鑑測鑑測成績就要老王賣瓜一下,本連的成績應該是全旅第三名(因為打靶成績是第三名,而這向成績的比重最重),終於喝到連長從外面泡沫紅茶店買來的飲料。
最後就是今天的抽籤,本人的運氣還不錯,小抽的時候就一舉中籤得以在10/12向國防部參謀本部資電作戰指揮部本部報到,聽說是在機房裡面做事,這麼一來應該等同在冷氣房裡上班了。
開始放結訓假的時候有種時空錯亂的感覺,整個心情放鬆的狀態讓我以為我已經退伍了~~"
心中的喜悅形於色,喜悅的不是脫離班長以上的長官,而是終於能夠離開那個鬼地方&一群無法控制自我行為能力+疑似智商低落的人。
唯一美中不足的地方是每次休假都遇到颱風@@

Tuesday, September 25, 2007

不開心

(1) 明天就要收假了,下午一點二十分發車前往位於嘉義的新訓中心,一點之前就要到圓山捷運站待命,出門前還要先跟班長報備說要去搭車,放假的時間果然過得特別快!

(2) $0 PC的硬碟似乎也快撐不下去,這幾天常常用firefox看網頁看一看CPU狂飆到100%然後整個hang住,reboot後就kernel panic,前幾次是vfs not sync,今天晚上更誇張,出現err=2(compress format有問題,無法將kernel解到ram中執行)的訊息,沒想到過一下再去開機又順利開到登入畫面,希望$0 PC可以撐到我退伍~

於是(1) + (2) = 不太爽

PS. 有放假專車似乎是新訓唯一的好處@@

Sunday, September 23, 2007

xubunbu + zyxel-g220

今天抱著姑且一試的心態幫我的$0 PC裝上usb介面的無線網路卡(zyxel-g220),照著ubuntu的how-to頁面下去設定還蠻簡單的,唯一要注意的地方是如果設定當時是用網路線上網的話,要記得ifdown該網路卡,不然當我們將網路線拔除的時候無線網路是不會work的,另外要記得要在/etc/network/interface中設定essid(我們幫無線AP設定的名字),例如 wireless-essid hinet。
最後就是在切換網路卡結束之後要記得重新登入msn,不然msg永遠傳不出去(或收不到)。

休假一餐吃的量 = 在連上吃三天的量

難怪我會肥,第一天休假中午就跑去吃火鍋,拿的料加起來等同於在軍中吃三天的量!
之後又吃了一堆阿哩不搭的東西,例如:
粿仔、蔥油餅、紅豆餅、月餅、鳳梨酥等
看來這四天假期就會把前三個星期所消去的四公斤給補回來了@@

Saturday, September 22, 2007

新訓生活

入伍三個星期之後,今天終於放假了,這是入伍接受新訓以來的第一次休假,因為本梯次剛好遇到中秋節,因此原本應該跟懇親排在一起的探親假就延後一個星期與中秋節一起實施休假(一共四天),歷經四個小時的車程回到台北看到路上車水馬龍,街上燈火通明,心中頓時感慨無比:已經好久沒有看到這麼感人的畫面!

套句新訓長官的話,我們是中華民國最菜的兵(聽說我們的學第三天前已經入伍了),因此新訓階段完全屬於自己的時間大概就是每天用完餐到集合與睡前的時段,前後加起來應該不超過一個小時。休假也要照三餐回報,好讓各級長官能夠確實掌握大家的行蹤(好像假釋犯)。

到目前為止還不算太操,第一個星期幾乎天天下雨,因此幾乎都是室內操課,第二個星期開始在戶外操課,第三個星期(本週)室外操課的頻率略為增加,刺槍數與單戰的所有流程都走完了,而各位弟兄也慢慢抓到各位長官說話的精髓,隨時都可以模仿,例如:
(1)XX連新兵,樓下連集合場集合
(2)不要碎動!
(3)我跟你講阿
(4)聽有沒有懂!
(5)大學生、碩士!
(6)你們都會嘛!為什麼不一次做好勒?

雖然說本梯次屬於大專兵,但是我始終覺得大家跟小學生一樣,雖然知道會被班長電,但是總是要嘰嘰喳喳的聊天,好像回到國小教室一般,班長像老師拼命使用手段維持班上秩序。不過班長們也是蠻奇怪的,好像一定要把大家搞得匆匆忙忙才開心一般,下達指令很少一次下達完全,例如,
第一次:用完餐之後上樓換裝,XXXX時於連集合場集合
第二次:著整齊服裝,戴小帽
第三次:帶鋼盔、S腰帶
第四次:著全副武裝,不帶上衣
第五次:板凳不用帶
第六次:。。。等
因此有些跑得比較快的人變成要上上下下跑好幾次,導至於大家最後都要等班長催人才動身集合。經過反映之後,班長們的卻有改進,但是似乎還有改進的空間。
另外就是之前每個班長手錶的時間都不一樣,因此有時候班長會覺得大家怎麼超過時間還沒有集合好,這個問題之後得到非常良好的改善,那就是每個班長的手錶統一快五分鐘~

新兵之間也會有問題,總是有些天兵拖累全連的人一起受處罰,想到就氣。
還有些人明明有B肝,洗餐具的時候還跟大家用同一缸子的水,真的很想從他頭上尻下去!
接著就是槍,以前總覺得槍是很好完的東西,電視上得壞人怎麼那麼遜,開那麼多槍還打不到人,等自己拿到槍以後才發現原來槍還蠻重的,第一次練習射擊的時候才體會到原來電影裡面壞人拿槍打不到人不是唬爛的,後來多練習幾次與刺槍多次幾次之後才慢慢習慣手上步槍的重量。
每次射擊/操課完一定要擦槍,拆解槍枝是蠻好玩的,但是要把槍中的積碳擦掉就麻煩了,有些還是前人遺留下來的污垢,擦了兩個小時還是擦不乾淨。
在雨中穿雨衣行軍到靶場與操課場地的時候還蠻有搶救雷恩大兵的感覺,當時蠻希望自己就是可以馬上退伍的雷恩@@

其實還有蠻多事情,只是事發當時馬上寫在筆記本上比較有感覺,因此今天就先紀錄到這裡,入伍才三個星期,我的小筆記本(可以放進胸口口袋的大小)已經被我寫完一半,還好當初買了四本~

Monday, September 03, 2007

入伍囉~

再過十個小時我就要搭上前往嘉義中坑的火車入伍去了,在此特別po上入午前的最後一篇文章。
總之,希望各位親朋好友們好好保重,基於我極能夠忍辱負重,我想我經該可以平安度過軍旅生涯吧!
下次看到我po文應該是至少兩個星期以後了,或許有些人慶幸耳根子終於能夠清淨也說不定 :P

So long my friends~

Gmail貼紙產生器

常常在網頁上看到大家都有漂亮的gmail貼紙,如下:



但是一直苦無機會得知如何獲得這樣的貼紙@@
今天在jserv的網頁上也看到這樣的貼紙,抱著姑且一試的心情在貼紙上點了右鍵,選擇"properties"後將貼紙來源的網址去掉特定帳號後貼上瀏覽器輸入URL的地方(忽然忘了它的名字)。
沒想到竟順利來到產生gmail貼紙的網頁
因此特別在此向個為看官報告,我想應該還有其他網頁也可以找到同樣的功能,總之閒來無事看到gmail貼紙的時候也可以這麼試試喔!

Sunday, September 02, 2007

鬼馬飛人(1985) vs. 少林足球(2001)

昨天(2007-09-01)晚上獨自看著第四台的時候忽然看到一部叫做"鬼馬飛人"的老片,由鐘鎮濤,鐘楚紅二鐘領銜主演,劇情內容敘述一名私立學校的體育教練從來沒有贏過一場球賽,校方要求他贏得中學運動會冠軍作為校董七十大壽的生日禮物。
看著看著發現原來王晶很早就很喜歡在自幾的片裡面客串,接著看到足球賽的時候忽然發現許多動作非常眼熟。
沒錯!就是跟"少林足球"中的動作完全一樣。
例如,鐵頭功的頭搥,金剛腿的射門,還有那個禿頭老的馬鞍運球法,。。。等等。
果然天下文章一大抄,只要不抄近幾年的就安然無事,畢竟老片也不是天天在放,放了也只有極少數的人會看到。
看來周星星演了這麼多王晶的戲也算是有偷學到一兩招阿!

十五年咻一下就過了~

上個星期五(2007-08-31)與國小三四年級的同學聚會,一共有十個人到,聚會主題是替剛從新加坡回台灣休假的同學(但敏)洗塵,另外歡送兩位即將入伍報效國家的弟兄(我+林倍群)。
一聚首大家便聊個不停,除了聊近況之外,從前的恩怨情仇通通變成當天的話題。
沒想到十五年一下就過了,有趣的是居然還能找到這麼多同學,希望以後參加的人能夠越來越多,把目前失聯的人也一起找來 :)

以下是國小畢業的畢業照與當天的部份照片,大部分的人都還認得出來,完整的照片集起洽這裡

我,即將入伍

吳卓穎,在南亞上班

官大為,服務於富邦金控香港分部

曹哲豪,在西門町工作

林俊仁,台北榮總內科醫生,專治五分珠可以治的病

謝銘修,剛退伍,正在找工作,應該會朝金融業發展

林倍群,即將入伍

林亮君,剛從會計師事務所離職準備當賢妻良母

但敏,從新加坡回台灣放假的主角,服務於通訊業

林逸珮,像陳孝萱,但走搞笑藝人風的正妹一枚,目前留職停薪讀TOEEL & GRE準備出國讀phD
(原是本服務於"The One"的設計師)

大合照

十五年前的畢業紀念冊

Friday, August 31, 2007

Kscope vs. SourceInsight

雖然以前就聽過Kscope,但是為了效率(不需要用到滑鼠)我一直都是用vim + cscope在trace code,不過最近念頭一轉,決定不要繼續虐待自己而開始使用滑鼠 :)
於是首先就要裝Kscope,使用過一小段時間過後發現他還蠻像Windows上的SourceInsight,而搜尋速度與要價台幣六千元(2004左右的價格)的SourceInsight相比也不相上下,操作方式也大同小異。

以下是KscopeSourceInsight的Screenshots:

Kscope

SourceInsight (*)


*
摘自:http://weblogs.java.net/blog/staufferjames/archive/2007/07/littleknown_but.html

pidgin's msn support

放空好一陣子之後這幾忽然想來寫點code,但是左想右想就是想不出該做什麼東西,總是這樣,越是想要寫點什麼東西的時候越是沒有點子。
不過昨天洗澡的時候忽然天外飛來一筆 -- 目前pidgin還不能傳送MSN的offline msg阿!
於是便設定了一個目標,幫pidgin寫個patch支援MSN offline msg。
今天便在pidgin的官方網頁上搜尋一些開發所需的資訊,同時也看看pidgin的roadmap以及一般使用者的反應。
看著看著,發現pidgin正在merge MSN P14 (protocol 14)的code,其中包含了傳送自訂表情,以及我想做的offline msg支援(*)。
別人要求支援offline msg也沒有很久,是三個星期以前的事情,當時我正在放大假呢@@
看來我的雄心壯志又再一次的被澆熄,不過我還是決定把pidgin的src code抓下來慢慢看,說不定等我看完他們的MSN P14還沒有merge好,而我剛好可以幫忙寫offline msg那個部份的patch :D

PS.
pidgin的主軸原來是glib mainloop而非thread,還蠻有意思的(**)!
Yet another PS.
MSN protocol的非官方網頁


*
官方回覆要求支援MSN offline msg的說法:

The problem here is that MSN did not support offline messages *as of the protocol version we currently implement.* As the servers enforce different rules based on protocol version, this means we cannot send offline messages over MSN, and thus can reply to invisible people only during the very short time the switchboard connection is open.

This cannot improve until the MSNP14 branch is ready to be merged in.


**
官方的support & development說明

Thursday, August 30, 2007

我是愛打嘴泡的人

為了慶祝2007年八月單月的po文數超過2006年全年的po文數,今天特別在左邊多增加"Labels"欄位,並將過往的po文加以分類。
完成分類之後忽然發現被歸類在"mumble"的文章數遠超過名列第二的"linux note",由此可見我是個愛碎碎念+打嘴泡的人(雖然我很不想承認@@)~
真是抱歉,這一篇po文看來又要落在"mumble"類別中了!

什麼東西沒有漲?

最近看到遠傳的廣告覺得還蠻機車的,但是他機車的有趣~

記者:請問部長,有什麼東西沒有漲?
部長:(詢問秘書之後,帶著幸災樂禍的表情)有,你的薪水沒有漲!

很機車,但是也很貼切。
不過昨天又發現一樣東西沒有漲價,那就是眼鏡
昨天參加完"役男入伍說明會"之後,依照過來人的建議馬上到眼鏡行配一副備用眼鏡。
驗光之後發現左眼近視加深50度,閃光好像也加深25度,因此除了多配一副眼鏡之外,連現役的左眼鏡片都要換。
詢問價錢以後光是新的眼鏡就要四千多,加上多一片鏡片,一共五千二百元整。
基於要殺價原則,當然馬上跟老闆反應怎麼這麼貴(其實四年前我配的時候一副眼鏡也差不多四千出頭)!
經過一陣拉鋸之後,總算硬生生的殺了$200(我想老闆本來就多講兩百打算給我殺!)。

沒想到一副看起來不起眼的眼鏡也要四千多元@@

Wednesday, August 29, 2007

pdf/ps viewer

evince是個不錯的選擇,顯示比xpdf/gsview漂亮,load檔案的時間也比較短,UI也好看 :)
這一行是為了避免一行文而打的。。。

治標與治本的迷思

昨天到台大找Tomme敘舊,從以前的公司聊到未來的打算,其中也聊到我的畢業論文 -- Just-in-time Device Scheduler(JDS)。
Tomme聽完我說明JDS如何幫助系統省IO部份的耗電之後便說,這就是迷思阿,並以交通管制為例。
他說,他們電機系有一派在做車流量控管,利用交通號誌幫助提高行車速度,而土木系也有人在做車流量控管,而他們的主張是,反正路就是這麼大條,要提高行車速度的最根本辦法就是拓寬道路。
於是土木系那一派的人則是非常瞧不起電機系這些利用交通號誌的人,因為土木系的人認為電機系的人根本沒有從根本解決問題。
的確,任何問題都有治標與治本的方法,不過並不是所有時候都適合用治本的方法解決問題。
例如,現在的硬體擺明就是耗電,因此我們無法寄望硬體本身會幫忙省電,這時候只能暫時透過軟體治標。
同理,道路不是說拓寬就拓寬,拓寬之前要先徵收土地,一定會遭遇當地居民抗議,因此在成功拓寬道路之前總要有個機制幫忙疏通車流量。
不過換句話說,如果讓居民飽受塞車之苦的話不知道他們會不會比較願意讓國家徵收土地進行道路拓寬?

題外話。。。
我始終覺得民主國家是很難推動國家建設的,因為人民太機掰了,動不動就要抗議,以後應該要這樣,要推動國家建設的時候就像玩Civ2一樣,把政府改成專制體系,我相信國家建設一定能夠快速完成,待建設完成之後在改回民主體系!
不過想想也奇怪,現在阿扁大總統也算是專制政權阿,怎麼會國家建設一直做不起來(之前他剪綵的那些工程沒有一個是他開始的,其中大多數還是他在當立委的時候大批不應該做的),"人民的荷包"年年縮水,還每年拿納稅人的錢買別人的恥笑與輕視?

聽說最近警察很閒,不知道憲兵是不是一樣閒,如果大家在未來一年都沒有我的消息的話,可能要到亂葬崗去幫我祭墳吧@@

lsb_release

有個問題困擾了我很久。
我們都知道,用uname可以得到現在正在跑的Linux kernel的版本資訊。
但是要用什麼指令才能知道現在正在跑的Linux的distro資訊呢?
今天意外的在ubuntu的forum中看到,該篇post在教人如何從release codename A upgrade到release codename B,所以我用"意外"兩個字。
重點就是lsb_release這個指令,以下是範例,詳情請google:

cyu021@cyu021-desktop[1]:$ sudo lsb_release -a
Password:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 7.04
Release: 7.04
Codename: feisty

Tuesday, August 28, 2007

blogspot的中文搜尋

Google果真是天天在進步,前一陣子才在想說如果blogspot的search blog可以連中文一起搜尋有多好,剛剛試了一下搜尋關鍵字"三部曲"果然找到昨天寫的Bourne trilogy。

Monday, August 27, 2007

Bourne trilogy

===== !!!小雷!!! =====

Bourne三部曲:Bourne identity --> Bourne supremacy --> Bourne ultimatum。
看完這三部曲之後覺得Bourne系列的編劇真的不錯!
三部之間連接的非常順暢,而第一部的結局也做的非常好,怎麼說呢?
第一部結局表面上看起來事情都告一個段落,但是其實大家都知道 CIA怎麼可能會放任一個殺人武器在外面到處亂走呢?
因此,如果第一部(identity)票房不好,則整個故事也有個完整的結尾,若是票房好,後面第二、三部則是出得順理成章。

第二部(supremacy)則是替第三部(ultimatum)做了很好的鋪陳,在結局的時候告訴Bourne他的原名為David webb,當然Bourne一定不會只想知道自己的姓名,因此第三集終於"合理地"把整個故事說完。
就整個CIA體系來說,則是以cover up為主軸,而出包的層級也慢慢的往上拉,因此不論就哪個方面都堪稱循序漸進。
另外,第二部最後的幾幕在第三部再度出現,讓這兩部曲有更緊密的聯結(有點無間道故事線相互穿插的感覺)。

第三部則是幫整個系列則是完成一個圓的最後一個環節,整個故事線依舊圍繞在Bourne默默的尋找自己的過去(向受害者的親人致歉)的同時莫名其妙又被追殺,一直到最後終於理出頭緒,並且打算在開始的地方做了結,在故事中他回到了一開始加入CIA program的地方,也回想起之前所有的一切。
拍攝手法上也符合"it ends where it started",Bourne在最後從十樓高的地方跳海逃逸的時候被CIA副局長開槍射殺,之後在海面上載浮載沉,這裡則呼應了第一集的開頭,Bourne在逃逸途中被Wombosi開槍射殺之後落海一直到被漁船救起。

我非常欣賞三部曲中的武打,因為都是招招致命(像落日殺神中Tom cruise的打法),這才是身為殺手(軍人、特勤、whatever)該有的打法,我最不喜歡看到的就是動作片裡拖泥帶水的打了半天,人都可以被打得飛遠卻又好像不痛不癢一樣。。。
最後要提到的是,為什麼每次跟Bourne走的女人一定要先染頭髮、剪頭髮之後才閃人,而Bourne則是老神在在什麼裝都不必換 :P

整體而言,Bourne三部曲值得推薦大家租DVD一口氣看完!

Canonical在台徵才

Canoical就是提供Ubuntu的公司。
今天看到Ubuntu的網站上面寫著Ubuntu is hiring in Taiwan,於是就點進去看看,看完之後覺得自己對"Sales Engineer"這個位子蠻感興趣。
Sales Engineer除了要跟客戶(泛指需要使用Ubuntu的個體)打打嘴泡,還要真的拿出solution給客戶,我想這個位子的背後應該還有一個tech team可以靠,主要的功能為ensuring there's a single point of contact through the whole project,感覺上有點像PM要對整個project負責就是了(able to take responsibility for delivering to customers and enjoy a challenge)。
終於對自己想做什麼事情開始有點頭緒,只是下個星期就要入伍當14個月的大頭兵,因此原本想投履歷的念頭也就此打住,就趁這一年多的時間好好研究各家公司的位缺吧。
總之,所謂的"外商list"中又多了一家:Canonical it is!
接下來要多學習public speaking,當然也不能忘了tech這塊本業。

從the pirate bay看新聞

昨天在某新聞網站上得知一個名為the pirate bay的網站
報導的內容大略在說該網站是由三位瑞典工程師所發起,負責提供p2p下載搜尋服務,近年來已經被許多企業警告,或採取法律行動,不過至今仍然營運正常,屹立不搖。

剛看到報導的我當然也湊熱鬧的連上該網頁一探究竟,發現他還特別規劃一個頁面負責刊登各企業寄給他們的信,他們稱之為"legal threats",同時他們也把他們的回覆一併放上網頁供世人"參觀"。
很明顯的,這三位瑞典籍工程師找到存在於copyright law中的漏洞,並加以發揮。
他們聲稱該往站上面並沒有任何侵權的檔案,因為存在server上得檔案都不過是一堆hash table,而世界上有數百萬個檔案有可能產生出相同的hash table。
因此,他們對所有所謂的"legal threats"都採取高姿態的回覆,幾近於挑釁。
但是從中其實也不難看出他們幽默的一面,就讓我quote他們的一些文字片段:

Unlike certain other countries, such as the one you're in, we have
sane copyright laws here. But we also have polar bears roaming the
streets and attacking people :-(.

This raises the question of the reach of Swedish and European copyright
law. It is the opinion of us, and the Swedish Supreme Court, that
information about WHERE to obtain copyrighted material, which is the
case with Bit Torrent, is not illegal. The '.torrent' files that are
offered for download at the site in question contain nothing more than
hash and checksum information. How this information could, in itself,
possibly be an infrigement of your copyright is beyond us and apparently
the Swedish legal system agrees.

當然,他們並不是一昧托大,他們還是有請律師的。

最後,這篇blog的名字是"從the pirate bay看新聞",好像還沒說到"新聞"@@
我想說的是,如果新聞不報導這個網站的話,我相信有很多人到死都不會知道有the pirate bay這麼一個"便利"的網站!
所以,當新聞一直說他們在盡社會責任的時候自己是不是也正在敗壞社會風氣(如果用p2p抓東西算是敗壞風氣的話。。。)呢?

好啦,我知道我又再說一件大家早就知道的事實,其實只是為了blog停了兩天感到些許的罪惡感,於是上來充充版面,順便跟各位舊雨新知分享the pirate bay這麼一個"便民"的網頁 :P

Saturday, August 25, 2007

關於星光幫的統計數字交叉比對結果


這張圖很清楚的告訴我們偶像是國中以下的小朋友們捧出來的。
最近又看到台灣生育率即將創新低,但是我想生育率下降這個問題應該不需要政府傷腦筋,因為各經紀公司會努力讓社會大眾生育以支持自家的"偶像"。

Friday, August 24, 2007

無聊的人真多

=============== auth.log ===============
Aug 23 20:18:54 cyu021-desktop sshd[10754]: Failed password for invalid user web master from 211.180.228.238 port 50500 ssh2
Aug 23 20:53:26 cyu021-desktop sshd[10779]: Failed password for invalid user test from 61.146.178.13 port 36386 ssh2
Aug 24 01:01:33 cyu021-desktop sshd[11815]: Failed password for invalid user and rew from 218.22.45.71 port 44647 ssh2
Aug 24 01:15:06 cyu021-desktop sshd[11829]: Failed password for root from 125.64.24.62 port 49812 ssh2
Aug 24 01:57:49 cyu021-desktop sshd[11879]: Failed password for root from 138.190.24.48 port 60296 ssh2
Aug 24 07:47:35 cyu021-desktop sshd[12463]: Failed password for invalid user test from 61.142.113.126 port 51766 ssh2
Aug 24 07:53:45 cyu021-desktop sshd[12472]: Failed password for root from 202.55.180.12 port 52135 ssh2
Aug 24 20:00:38 cyu021-desktop sshd[14917]: Failed password for invalid user admin from 218.91.236.93 port 50428 ssh2
=============== auth.log ===============

以上是最近24小時被try用root login的紀錄。
根據openBSD創始人(Theo de Raadt)的說法:"Linux很糟糕"。
但是,Theo這麼說會不會因為是這件事情呢?

Anyway,很簡單的可以看到log中的那些無聊人士還沒有辦法hack進Linux,而有辦法hack進去的人應該也不會把目標放在我們這些市井小民身上,我相信各大跨國銀行遠比我們有吸引力。
此外,hack說穿了也只是利用漏洞,除了Theo之外,我想很少人會天天把kernel src攤開來看(full-time喔),因此我相信一般小市民只要保持更新就可以遠離hacker的威脅 :)

hotmail硬起來了

今天好不容易用了一次hotmail,突然發現hotmail真的是下定決心要跟google爭天下!
首先,hotmail的容量由原先的1G/2G大幅提昇至5G。

Hotmail首次大手筆提供5G容量

再來就是維持了一貫的"設定優先權"功能,這是本人覺得比較方便的部份,想要強迫對方先開你的email時,set priority to highest是個好方法。
Set priority是個好用的功能

相較於google提供的2.8G空間,hotmail可是吃了秤坨鐵了心呢!
Gmail的空間種於"長"到2.8G了

不知不覺gmail也被我塞超過一半的空間

冷眼看新聞

今天阿扁大總統又上新聞了!

其實大家在嘲諷阿扁大總統拿錢做外交的時候,別忘了這下面張圖片真正的意義。

阿扁大總統屈膝彎腰對宏都拉斯大總統陪笑臉,為什麼呢?
並不是感謝宏國跟我們保持友好關係,阿扁大總統怎麼會關心這種議題呢~
陪笑臉是因為感謝宏國接受他的援助,一旦有錢可以花,阿扁大總統+那群狐群狗黨的荷包馬上又股了起來。
大家一個勁批評金援外交的時候剛好正中阿扁大總統的下懷,因為也就沒有人會注意到他"ㄛ ㄙㄟ"了多少。。。

連阿扁大總統的零用錢都要宏都拉斯大總統的幫忙,台灣則變相成了宏都拉斯的附屬國,有宏都拉斯撐腰,還要怕阿共仔嗎?
親愛的鄉親阿,你們說ㄉㄧㄡ ㄇㄨ ㄉㄧㄡ!

這又讓我想到某部電影的對話:
每件事情的表象是用來掩飾背後真正的意義。

Thursday, August 23, 2007

沒落中的美帝國

今天有個朋友傳了這個連結給我。
看完之後真的覺得最近美金狂跌不是沒有原因的,當然次級房貸是個問題,但是跟原油出產國不打算繼續讓美金獨佔市場相比,次級房貸顯得小巫見大巫。
想要投資美金的朋友們,請先看看下面這張圖:

請配合連結使用,取自:http://www.mondovista.com/money.html

當沒有人要繼續用美金的時候我想美金是不會止跌回升的,尤其是當美國早在1970年就超印紙幣。
我想,如果要投資外匯的話下一波或許是歐元吧。
至於美金什麼時候垮台,應該不會太快吧,畢竟之前宣佈可以不用用美金買石油的國家都被美國+其他擁有許多美金的同盟攻陷,打完之後建立新政權,又只能用美金買石油了~~

戲子治國論

昨天看的一篇新聞,標題是:抗議美國 扁不打領帶不下機
一時好奇之下便點進去看,越看只是越覺得當今真的是蜀中無大將,不,是台灣無大將(免得被扣上親共的帽子)!
特別將幾段描述擷取下來讓大家了解我為什麼會這樣想。

好像還沒有李前總統屌,上次李前總統可是穿睡衣抗議呢!

讓我想起"人必自重而後人重之",會落到這個地步從來都沒有檢討過自己!沒落中的美帝國(晚一點再說明)是在懲罰你,兩千三百萬人是被颱風尾掃到。

這是在玩伴家家酒嗎?Come on,用拳頭握手又如何,整天只會搞這種意識形態的東西。

Linux日用小手札

convert picture/photo format:

convert input.bmp output.jpg


在vim中把ls的結果直接貼在編輯視窗中:
:$!ls

於linux (utf8)中mount windows shared folder (big5)

google到的古老方法:

sudo mount -t smbfs -o iocharset=utf8,codepage=unicode,unicode //IP/分享名 掛載目錄

分享名如含有空白或特殊字元請在前後加上"

Wednesday, August 22, 2007

utf8 --> big5筆記外加發發牢騷

iconv -f utf-8 -t big5 "input filename" -o "output filename"
eg. iconv -f utf-8 -t big5 file.utf8 -o file.big5

筆記完畢,牢騷開始。。。

從前天開始幫爸爸改網頁,原因是爸爸想加一些新的東西進去,而網頁是三年前請朋友幫忙做的,所以我總是要先熟悉一下目前的code才知道怎樣加可以花minimum effor(前老闆最愛用詞之一)。
稍微看了不出五十行之後實在是再也看不下去了!
因為網頁製作軟體所產生出來的code實在是太太太太太(的exp的n次方)醜了,比楊宗萎還醜。
於是我在找出需要修改的頁面之後馬上開始對他展開重組作業,逐行的改,花了一個半的工作日之後終於大功告成,不但在瀏覽器中看了覺得滿意,連直接看html code都會嘖嘖稱奇 :-P
就在我準備加入新content的時候忽然天外飛來一筆,想說我都是在linux下用firefox看,不知道在windows下用ie看會變成什麼樣子?
原因是昨天無意看到一篇敘述該如何寫一個真正cross platform網頁的網頁(我知道很饒口,辛苦大家了)。。。

不出意料,馬上格式整個不對,字型大小也跑掉。。。說來慚愧,這是我除了大一暑假修課之外第一次寫網頁(真的要給"人"看的) @@
東調調西調調之後總算是稍微可以接受,過程中還發現了一件好玩的事情:
firefox與ie顯示上面有出入已經不是新聞了,長期使用firefox加上從來都沒有仔細觀察,這倒是我第一次發現ie 6與ie 7的顯示畫面也可以不一樣!

今天學到什麼呢?
* 要寫一個在哪裡看起來都一樣的網頁實在不容易,尤其是寫中文還有big5與utf8的困擾(常常花很多時間在想到底藥用哪個~)。
牢騷發佈完畢,cyu021 out!

PS. 順便打一下廣告:
http://renx.myweb.hinet.net/product.htm
用1280x1024的firefox(最小字型16)看最漂亮 @@"

Tuesday, August 21, 2007

楊宗委侵犯幕張的智慧財產權!

其實我久聞漫畫"幕張"的大名,只是一直沒有機會親眼見識到他的威力。
今天在Jack(前NSA會長!)的協助之下終於大開眼界。
首先,白爛自是不在話下,常常使用別部漫畫來表示年代以及相關的kuso,看到目前看到了灌籃高手,北斗神拳,連魁男塾的王大人都被搬出來。
還有許多稻中裡面的點子,一時之間我也搞不清楚是誰參考誰@@

今天最重要的發現是:楊宗委侵犯幕張的智慧財產權,哭哭!
相信各位看官看過下面的圖之後應該也會有相同的感受。

應該找個人好好幫她化妝+打燈

化妝+打燈之後她應該會是正妹

太經典了,再補一張!

Monday, August 20, 2007

msn messenger疑似在做置入性行銷

今天華航又燒錢了,所幸無人罹難,如圖:

錢太多,我可以幫忙花阿!

剛好今天有個朋友他跟家人到日本玩,在msn上遇到他的時候馬上問他是不是上新聞了!
還好他們今天是到東京,跟這起意外一點關係也沒有 :-)

隨後我們小聊了一下,但是今天總覺得哪裡怪怪的,問題就出在msn messenger,如圖(again):
被抓包不是用正港msn messenger

一開始我以為那一串日文是我朋友把日本的新聞報導copy & paste給我,詢問他之後才發現他根本看不懂日文,而且他除了聊天的msg之外沒有再多傳東西過來。
仔細觀察後發現每當他傳msg來的時候總是會辦隨著一篇一模一樣的日文,後來點入連結才知道是msn messenger的網頁。
看來msn messenger越來越聰明了(?!),會在偵測出對方使用非正港msn messenger的時候發出廣告訊息~
這樣算是置入性行銷嗎?

Ubuntu counter project

google到了某個人的網頁上面放了一個標誌,看起來蠻有意思的,仔細一看發現是Ubuntu counter project
在好奇新的驅使之下我也sign up了,於是我正式成為的16874個sign up的Ubuntu家族使用者。

使用utf-8系統連結Big5的ftp網站

最簡單的方法就是使用filezilla Linux version!
可到官方網頁下載,或是用各自distro的repository安裝。
某好心人的blog清楚點出該設定什麼地方,看圖說故事即可。
為了預防連結死掉,我借他的圖案貼一下好了 ^^

Linux人性化的一面

今天突然發現當輸入無效指令的時候Linux會告訴你該安裝什麼套件!
eg.

另外就是當突然無法輸入文字的時候在輸入的地方點選滑鼠右鍵 --> 輸入法,然後選擇應該使用的input method即可。

至於一些有的沒的東西就要記得安裝ubuntu-restricted-extras套件。
在/etc/apt/source.list中加入:
deb http://medibuntu.sos-sts.com/repo feisty free non-free
deb-src http://medibuntu.sos-sts.com/repo feisty free non-free
就可以安裝w32codecs :-)

xfce的lock screen short key

找了半天才找到xfce lock screen的按鈕~
更令人感到意外的是,xfce lock screen的short key居然是"ctrl+alt+del"!
一開始是在祖國同胞的blog中看到,以為是在胡搞(像丁丁駭客那樣~),沒想到上xfce官方網站查詢之後發現竟然是真的!
今天又學到一課,果然被MS洗腦洗太久,誰說"ctrl+alt+del"就一定是重開機?!

nvidia-glx

除了到nvidia網站下載driver自行安裝之外,ubuntu的respository裡面也已經有一系列的nvidia driver:
nvidia-glx - NVIDIA binary XFree86 4.x/X.Org driver <-- 目前使用這一個
nvidia-glx-dev - NVIDIA binary XFree86 4.x/X.Org driver development files
nvidia-glx-new - NVIDIA binary XFree86 4.x/X.Org 'new' driver <-- 依舊不支援V7100。。。
nvidia-glx-new-dev - NVIDIA binary XFree86 4.x/X.Org 'legacy' driver development files
nvidia-new-kernel-source - NVIDIA binary 'new' kernel module source
nvidia-glx-legacy - NVIDIA binary XFree86 4.x/X.Org 'legacy' driver
nvidia-glx-legacy-dev - NVIDIA binary XFree86 4.x/X.Org 'legacy' driver development files
nvidia-kernel-source - NVIDIA binary kernel module source
nvidia-legacy-kernel-source - NVIDIA binary 'legacy' kernel module source

Sunday, August 19, 2007

在Linux中使用Windows的共享印表機

範例印表機為HP Deskjet 1180c。

1. 找到共享印表機所在電腦的IP

192.168.0.2

2. 使用smbclient找出該IP所共享的資源
smbclient --list 192.168.0.2
Sharename Type Comment
-------------- ------- -----------
HP1180 Printer hp deskjet 1180c printer

3. 在CUPS中加入新印表機,設定完印表機名稱之後要選擇Device,這時候選擇"Windows Printer via SAMBA"

4. 在Device URL中輸入:smb://192.168.0.2/HP1180

5. 選擇HP Deskjet 9300的驅動程式安裝 [2]

6. 設定完成,可以列印測試頁了 :-)


Reference:
[1] http://www.faqs.org/docs/Linux-mini/Debian-and-Windows-Shared-Printing.html#netprint
[2] http://www.linuxprinting.org/show_printer.cgi?recnum=HP-DeskJet_1180C

Xubuntu-take 1

繼今天稍早遲遲找不到修正方塊字的方法後,決定給Xubuntu一次機會。
其實我想用Xubuntu已經很久了,只是當時已經灌好Ubuntu,於是暫時將這個念頭壓下來。
這次的方塊字事件剛好給我充分的理由用Xubuntu替換原先的Ubuntu!

由於上次安裝Ubuntu的時候選擇英文為預設語系,事後還要對輸入法做調整,因此這次在安裝Xubuntu的時候特別將預設語系調成繁體中文 :-)
安裝的過程相當順利,唯一有可能出問題的地方是partition HD,在partition HD的時候千萬要選擇"手動",然後記得將某個partition設定為"/"(又稱root partition)。
如果使用"自動"的話會遇到:
"無法建立檔案系統"的錯誤訊息,細節為:
"在建立SCSI1 (0,0,0) (sda)裝置的第一個分割區上的ext3檔案系統時失敗了。"

安裝完之後在"/etc/X11/Xsession.d/"加入"74scim"(數字應該74之後都可以),內容是:

export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="xim"
export QT_IM_MODULES="xim"
scim -d


雖然Ubuntu內建的中文自行看起來已經頗清楚,但是基於心理因素還是自行安裝firefly的ttf-arphic-newsung字型

接著到http://www.getdeb.net/下載pidgin與pidgin-data,先安裝pidgin-data在安裝pidgin。

Vualla!
嶄新的Xubuntu就活生生熱騰騰的展現在世人(我)的眼前!


xfce果真是light weight,開機後執行scim,pidgin,兩個terminal,還有一些monitors(network+system+time & date+...etc)只使用了115M的RAM。
雖然沒有特別安裝Nvidia的驅動程式,拖移視窗的時候依舊非常順暢,完全沒有lag的感覺 :-)
我目前是非常滿意,但是還要等用了一個月還沒有重灌回Gnome/KDE才能見真章。

Saturday, August 18, 2007

領悟:從一而終

昨天晚上寫完blog之後決定要把pidgin會segmentation fault的問題解決,因為backtrace總是停在gdm的某個lib上,心想可能是因為版本的問題,於是將source.list中的dapper全部換成新版本的feisty並進行upgrade。
今天早上卻看到螢幕上有些字已經變成方塊,當下並沒有特別留意,只不過在重新啟動pidgin時還是發生了seg fault,確定跟lib版本無關。
只不過心中還存著一絲絲的希望,冀望重開機之後一切海闊天空。。。
開機之後更慘,login畫面上的所有文字都變成方塊(包括我的login & passwd),login進X之後只能在terminal下做事,因為所有gnome介面上的文字都變成方塊!
心想可能是因為在兩個版本之間切換一定要dist-upgrade,於是又花了將近五個小時徹底的跑了dist-upgrade。。。
沒想到方塊依舊取代應該好好顯示出來的文字!

重金懸賞看得懂的人


屋漏偏逢連夜雨,這時候moto也掛了。。。
似乎每當我要向他求救的時候他總是掛點 @@
總之,這件事情讓我學到:沒事不要冒險切換版本!

Friday, August 17, 2007

2007-08-05番外篇:失意衝浪手

補充:2007-08-05下午於白砂灣的"short stay"


話說南台灣之旅第三天下午我們在白砂灣待了一個下午,在稍早的blog中只作簡短的說明就簡單帶過的原因是因為手邊沒有"真相"可以說明我們的見證(聽起來好像在傳教 @.@)。。。
今天信安終於安分守己的把照片上繳國庫好讓我有故事可以說。

原來安排的衝浪行程因為大家意興闌珊而自動取消,沒有人開口,但是大家有著盡在不言中的默契!
為了不辜負千里迢迢跑到墾丁,我們還是選擇到白砂灣看人衝浪,自己不想衝總可以看別人衝過過乾癮。
一開始只看到小貓兩三隻,隨著時間一分一秒的流逝,衝浪的人也漸漸增加。

一望無際的海洋

終於有人認真了

漸漸熱鬧起來


就在這個moment,我們看到一個衝浪手,他手持紅色衝浪板一副具有雄心壯志的往還海裡鑽。
他帥氣的身影將我們的目光都吸引過去。。。
只是看他辛苦了好一陣子始終沒有辦法離開沿岸到較遠的地方等浪,過了一會兒便看他鳴金收兵往岸上走來。
划水划到筋疲力盡就是出不了海的衝浪手

有愈挫愈勇的精神,很好!


不久之後他的同伴似乎是要教他如何划水離開沿岸,只不過當他朋友順利的在外海等浪的時候,他依舊在沿岸奮鬥,這次他又失敗了。
好友決定親自示範

絲毫沒有一點幫助~


經過多次的觀察與嘗試他始終無法順利出海站上浪頭,最後他終於放棄了!
於是我們便幫他取了個綽號:出不了海的失意衝浪手。
休一個喘,觀摩別人怎麼划,再出發

放棄,落寞的坐在岸邊


除了失意衝浪手之外,我們也看到帶著浮淺蛙鏡想一展身手的老伯。
由於他在衝浪海岸帶著浮淺蛙鏡實在是太突兀,岸邊的救生員十分緊張的注意著他,一看到他興奮的往海水跑去哨音即刻響起。
逼逼逼!逼逼逼!就是要把老伯叫回岸上。
救生員口中還喃喃自語到:有十分把握再下水,沒有的話千萬不能下水~
而老伯也跟救生員玩起躲貓貓的遊戲,當救生員不注意的時候還是會一頭跳近海水中大展身手,只是三不五時還是會回頭注意救生員的動向,準備隨時上岸。
老伯,別鬧了

隨時注意救生員的動向


總之,當天我們在沙灘上盡情的觀察每個遊客,盡興打嘴砲之中度過了一個下午。
嘴砲中(又是一張被偷拍的)


ps. 想衝浪的"new hand"們千萬要先練好體力+臂力,還有不要帶顏色太鮮艷的衝浪板~