2008年12月24日 星期三

一個奇怪的bug:linux沒法login

最近改了2.6的skbuff.c,由於我code寫錯了,造成skb會永遠要不到,且會產生memory leakage
而bug的結果就是,沒法login(就是輸入對的密碼後,linux會一直跟你說密碼錯誤,看起來就像密碼被改掉一樣),即使是使用console

這個結果跟bug不太好關聯,你很難從沒法login察覺到是由"要不到skb"會是"memory leakage"造成的

一開始我還覺得奇怪,為什麼其他的kernel都可以login,就是我改過的這個kernel沒法login………

我把這個bug紀綠下來,以茲紀念

.

假髮與語言真實性的關係

2008年的12月,邱毅的假髮在鏡頭前被扯了下來,證實了一直以來的謠言:邱毅帶假髮

我想邱毅說的沒錯,大庭廣眾下被扯下假髮,就跟當眾被脫下衣服一樣難堪

我看到綠委召開記者會說:邱毅的頭髮是假的,所以他爆的料也都是假的

這中間的邏輯,顯然我不能理解,也許這並不屬於科學的範疇,我想,或許神學或哲學能夠解釋這個邏輯吧

依照綠委的話,其邏輯應該是這樣:若一個人身上有某樣事物是假的,那麼他說的話的真實性就要打折扣

如果這個邏輯成立,那麼我們可以這樣理解:
如果一個人帶眼鏡,那麼顯然他的視力是假的,所以他說的話的真實性要打折扣
如果一個人有染髮,那麼顯然他的髮色是假的,所以他說的話的真實性要打折扣
如果一個人有貼假指甲,那麼顯然他的指甲是假的,所以他說的話的真實性要打折扣
其他的,依此類推………


好吧,我承認我知道他們的目的只是想召開記者會上電視增加曝光率,不讓大家忘記這些人
所以這一陣子在電視上看到的新聞都是這些人
我只是受不了他們的顛倒是非,指黑為白

鄉民說的對,跟小白認真你就輸了
對不起,我認真了

.

2008年11月19日 星期三

修改輸入法順序的好工具:IMETool

我在很多地方有很多電腦,這些電腦上都會裝三個以上的輸入法
而奇怪的是,這些電腦上的切換輸入法的順序都不一樣,切換的按鈕也不盡相同
不知道為什麼會產生這種問題,而且winxp也沒地方可以設定,比如說,我有一台Toshiba的M30,不管怎麼設定,就是沒辦法用ctrl + space在中/英文輸入之間切換,我也不知道為什麼
這個問題困擾我很久………

直到有一天我受不了,問google

嗯,在試用後,我想我找到解答了,那就是IMETool

細節就不講了
總而言之,他就是一個修改輸入法順序的工具程式,不用安裝,免費

cisco 2950 mirro port設定

這幾天為了做實驗,要把電腦教室的流量mirror出來,無奈,系計中的技師太龜毛,不讓我們用機房,我們只好自己從實驗室找出兩台cisco 2950在教室出口端把流量mirro出來

從沒碰過cisco的東西,然而老師有令,實驗還是要做,只好一步一腳印的將cisco的mirro port的設定方法試出來

首先,一定要有cisco專用的console線,然後,cisco console的bouad rate是8192

連上後,要執行en進入supervisor mode才能設定,輸入en後會要你輸入密碼,敲入密碼後後就進入supervisor mode了,此時,提示符號會從>變成#

cisco的指令輸入有點像linux的bash,輸入前幾個字後,按tab會幫你補完,另外,好像常用的指令都會有縮寫,如en就是enable的縮寫,f0/1,就是fast ethernet 1的縮寫(f0/1的意義是別人告訴我的),有縮寫的打縮寫也可以用

另外,由於指令都很長,若不知道接下來該打什麼,可以按?
他會將下一個指令的選項都列出來
如,monitor後面不知要接什麼,則可以打monitor ?
它就會列出monitor後可能的選項,而我們就可以從其中挑出session,接著再打monitor session ?
它又會列出monitor session後可以用的選項

一開始可以打show running-config,看看這台switch的設定

接著,若我們想要把port 1的流量從port 24 mirro出來,我們要這樣輸入
config t
monitor session 1 source int f0/1
monitor session 1 destination int f0/24
輸入完要記得按ctrl+z存檔

要看有沒有輸入成功,可以輸入show running-config看狀態

最後,要記得write memory,這樣即使swith斷電設定也會保留

聰明的同學看到設定應可以舉一反三,若要mirro的port不只一個呢?假設我們現在也要將port 2 mirror到port 24呢?(也就是說,port 1和port 2的流量都mirror到port 24)
在前面的設定下,再加一個設定
config t
monitor session 1 source int f0/2
ctrz z

看running-config,你會看到source port變成[1-2],也就是說port 1到port 2的流量會被mirror出來


以下是推理
在2950下,若你輸入monitor session ?
可以看到只有1和2可以選,也就是說,2950只能mirro兩種不同的流量
也就是說我們可以同時做到將port 1~11 mirror到port 12 (session 1),port 13~23 mirror到port 24 (session 2)
但是卻無法有第三個session

man的用法

我是個linux使用的苦手,但還好我有個linux很行的學弟……為免我忘記,就順手記下吧

man是個好東西,可以用來查bash的指令,也可以查function的prototype和用法

但是問題是,若你要查的指令同時存在bash和stdio.h中,會發生什麼事?
答案是,會找到bash

比如說,rename同時在bash和stdio中都有,若你想找的是stdio.h中的用法,可是輸入man rename,卻只會出現bash的用法,怎辦?

答案是:man 2 renmae

學弟跟我說,man有九個section,man後面加個數字就是指定section,而不加的話,就會以第一個找到的為主

那麼,若第一個找到的不是你想要的,怎辦?

學弟跟我說,猜

man 2 rename 到 man 9 rename,總會有一個是你想要的……

另外,man應該是manual的縮寫,絕對不是學長所說因為linux是男生寫的關係

2008年11月5日 星期三

docx轉doc

自從office 2007推出後,身邊也漸漸的有人用
但是office 2007的副檔名為.docx,而非原來的doc

於是,就看到這些人,寄出來的附件就要附兩個檔案,一個是doc,一個是docx……
(我說,何必呢,用回office 2003不就好了 = =)

但是,偶爾也會遇到這些轉過的doc打不開的情形

昨天奉命幫老婆大人解決這個問題,發現微軟有出一個FileFormatConverters.exe,用來將docx轉為doc,有27.5mb,不小

檔名聽起來是轉檔用的,實際上
裝完後,重新開機,舊版的word就可以打開docx了

不過效果不甚理想………還是有些圖會消失

最後解決的方法是,用同事的電腦打開docx,再轉成pdf

在找solution的過程中,發現有人在推廣別裝office 2007
帶頭升級 Office 2007? 別當害群之馬
個人覺得蠻有道理的
每次看到同事同一個檔案要附件兩個(doc和docx),都會想到黃易在翻雲覆雨中人物的對話:這又是何苦來由呢?

2008年10月31日 星期五

修改linux網卡的設定

.

對linux使用實在是不熟,請容許我做個小筆記

ifconfig的script的位置在/etc/sysconfig/network-scripts下
想要對其設定做永久的變更,直接去改script即可

ifcfg-eth0為eth的cfg file,內容大致如下
DEVICE=eth0
HWADDR=00:1a:64:21:d3:11
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.2
GATEWAY=192.168.1.1
TYPE=Ethernet
若安裝時沒有設IP,預設則為IPPROTO=DHCP,並且會少一些設定,將該行設定拿掉後,補上相關設定,存檔後,執行service network restart,網卡就會有IP了

順帶一提,linux的開機script是rc.d
我一直不知道這是什麼的縮寫,也就一直記不住script的名字.....
學弟說,那是run command的縮寫,從此我就記住了…

.