2008年10月4日 星期六

面試靠 google

c 同學最近準備離職,也已經在找工作中,他說今天去面試了某某証卷,面試官還問他是不是單身,c 同學回答是,結果面試官說,沒關係他們這邊女生很多,哈!聽到這裡,我想同學他心裡應該是非常的渴望進到這間公司了,所以接下的表現得更賣力點。

之後面試官給了他一份 code,要他回家看,看這份 code 到底內容在做什麼,用途為何,可以有啥應用,描述個大概就可以了,今天是禮拜五,下禮拜一前要回信給面試官給答案。

這份 code 是 c# 寫的,由於 c 同學沒寫過 c#,臨時安裝 .Net 來試試看,發現程式不能執行,又想到明後天要出去玩,沒時間惡補,整個人急的像熱鍋上的螞蟻,不知如何是好,一直喊他這下死定了!完蛋了!

後來過了一個小時,他興高采烈的 q 我,說他快笑死了,他說他用關鍵字去 google 找時,居然發現有一模一樣的 code,而且那篇文章還介紹蠻詳細的,天那,這簡直是喜出望外,他整個樂不可支的,一直笑說這也太搞笑了,面試官也太混了,隨便拿網路上的一篇文章,就拿來唬弄, 所以這下子,他明後二天又可以出去玩了,也可以很順利的交差,這真是多虧了 google,google 可真是功不可沒阿。

2008年10月2日 星期四

嚇我ㄧ大跳的投影片

剛剛傍晚十二點多,有個朋友 - 紫,msn 傳了個投影片檔案給我,
說是她朋友的故事,還蠻感人的,叫我要看看,
於是我就這樣,傻傻的一頁一頁看下去,
大概是述說著一個宿舍發生的鬼故事,
結果看著看著,突然間蹦出來一張很嚇人的鬼臉照,
而且還搭配著很嚇人的聲音,
當時我 Notebook 還是開著喇叭,開到最大聲,
所以我整個超震撼的被嚇到,
脫口而出了很大一聲,
靠~~~~~~~~~~~~~~~~~~~~~~~~

這樣一嚇,本來眼睛瞇瞇的,這會兒睡意全消,
結果連我媽都衝來我房間,急忙問我發生什麼事了?
我因為怕丟臉,支支吾吾的,說沒什麼事情啦,
然後,等我稍稍鎮定心情後,
開始一直罵朋友,幹嘛傳這種東西給我,
可惡咧!嚇的我六神無主的,
沒想到我敢一個人在高山上呆了好幾天,
也在半夜沒燈時走在墳墓堆過,
竟然,被這個投影片給嚇到,
真的是.......

然後我傳給了同學 chunju,我已經跟他說我看這檔案有嚇到,
先給他心理建設了,結果他看完,也是驚嚇了一大跳,
之後,也跟我做我嚇到時一樣的事情,就是一直臭罵啦!

然後要去睡覺了,我傳訊給嚇我的那個朋友,
『你早點去睡吧,
沒關係啦,嚇到我這件事,你不用放在心上,
我真的沒事,我很堅強的,
你只要,改天出來,讓我打幾拳』

如果有人想被嚇一嚇的話,請跟我索取,我再給您這投影片,但本人一蓋不負責喔!

2008年9月3日 星期三

請假爬嘉明湖

剛剛午睡醒後,在茶水間遇到主管,於是我趁機跟主管說禮拜五我要請公假,然後主管一臉狐疑的問我?公假?你是有什麼事嗎?我說,沒啦,就跟一群朋友去爬山,接著我回到座位才發現,我剛說錯了啦!我是要說請年假的,怎嘴巴說出來變成公假了,害我本來不想說請假原因,這下子全都招出來了,難怪主管當時表情怎不大一樣,害我以為主管不准假咧!笨到死了我!阿呆!

另外跟大家預告,我這週五六日要去爬嘉明湖啦!

2008年8月30日 星期六

剪頭髮膽顫心驚

今天下班後我去剪個頭髮,老闆跟我聊了起來,聊到明天 8/30 剛好有嗆馬的遊行,然後老闆就越說越氣,說什麼人家馬英九才做一百多天而已,就要去嗆他,阿扁都有機會做了八年,那馬英九才做一百多天,大家再給他機會嘛,做不好再換掉阿,浪費這麼多資源去遊行,那些人真的是吃飽沒事做。

我當時還跟老闆說,就大家表達一下心聲嘛,這也合情合理。不過老闆越說越氣,他手上拿著剪刀揮來揮去的,也真的讓我有點小害怕,不過我也大概得知他是深藍的,所以後來我都不敢插嘴,免得我被他插個幾刀。

2008年8月29日 星期五

同事的便當被整

我跟幾個同事都習慣帶便當到公司蒸,中午吃飯時間到了,同事小T去拿了便當回來準備飽餐一頓,結果他一打開,赫然發現裡面只有一條魚,而且還半生不熟的,經他調查才知,原來是他媽昨晚把魚放另一個便當裡再放到冰箱,結果同事帶錯便當,就拿到放有這條魚的便當。

超好笑的,我說,你是不是得罪你媽,被你媽整了,結果我跟同事,還特地來圍觀這條魚長啥樣子,最後因為魚也沒熟,所以同事很悲情的去便利商店,買了個麵包回來當午餐。

以上故事各訴我們,不要得罪幫你煮飯做菜的人。

附圖給大家參考。

2008年4月4日 星期五

早餐店老闆把妹對話全都錄

今天早上正在買早餐時,聽到男老闆跟一個女客人的對話:

老闆:小姐,你有沒有 45 公斤阿?
小姐:當然有阿!
老闆:是喔!我覺得你好像隨時都會被風吹走耶!

聽到這裡,我在竊笑老闆還真會把妹呢...

2008年3月27日 星期四

為 Fedora 8 裝上 kernel source

為 Fedora 8 裝上 kernel source

March 26th, 2008 by Chuan-Hsien Lin
Last Modified on March 26th, 2008

Fedora 8 裝好之後,會發現 kernel source 目錄是個空殼,只留下一堆 Makefile 卻不見 source code,當想要看 kernel source 時才驚覺 code 到用時方恨少,所以本文在此介紹如何在 Fedora 8 下安裝 kernel source。

首先,先確認一下系統裡的 Linux kernel 版本,

[root@chtest i386]# uname -r
2.6.23.1-42.fc8
[root@chtest i386]#

然後再到 http://download.fedora.redhat.com/pub/fedora/ linux/releases/8/Fedora/source/SRPMS/ (請自行將網址接起來) 尋找我們要的 kernel source rpm。接著在這網頁可以發現到 kernel-2.6.23.1-42.fc8.src.rpm 這個檔案存在,大約 46MB,確定了版本無誤之後,將它下載。

接著,使用 rpm 工具將它安裝,過程中會看到一堆 warning: group kojibuilder does not exist - using root 訊息,不用去理會它。

[root@chtest i386]# rpm -ivh kernel-2.6.23.1-42.fc8.src.rpm

接著執行 rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel.spec, kernel source 就會安裝到 /usr/src/redhat/BUILD/kernel-2.6.23 了,在這個目錄裡面有兩個子目錄 linux-2.6.23.i686 及 vanilla,vanilla 這目錄是存放原始的 kernel source, 而 linux-2.6.23.i686 則是 Fedora 團隊為原始的 kernel source 上些 patch 及 updates。

經過以上動作後,如此一來就有一份完整的 kernel source,以便要 trace 或是要寫些 driver 使用。

參考資料,Personal Fedora 8 Installation Guide , http://www.mjmwired.net/resources/mjm-fedora-f8.html

2008年3月26日 星期三

Hello world by Assembly

Hello world by Assembly

March 25th, 2008 by Chuan-Hsien Lin
Last Modified on March 25th, 2008

不免俗地,也要來寫個 Hello world 組合語言版本,本範例是使用 DOS INT 21h/AH=09h 去顯示字串,只要將字串的 offset 帶給 dx,將 09h 帶給 ah,再呼叫 DOS INT 21h 即可,要注意的是,字串要用 $ 符號來表示字串結尾,完整程式如下,

       .MODEL TINY
       .CODE       
       ORG 100h       
begin: jmp show
message  db 'Hello, world!$'
show:  mov dx, offset message
       mov ah, 09h
       int 21h
       mov ah, 4ch
       int 21h
       END begin  

執行 ml /AT hello.asm 編譯後,執行程式結果如下,

C:\masm>hello
Hello, world!
C:\masm>

關於 DOS INT 21h/AH=09h 的介紹,可以參考 Ralf Brown's Interrupt List 裡的 http://www.ctyme.com/intr/rb-2562.htm 這篇文章。

最簡單的一個 Assembly 程式

最簡單的一個 Assembly 程式

March 24th, 2008 by Chuan-Hsien Lin
Last Modified on March 25th, 2008

本篇介紹寫一個最簡單的 Assembly 程式,首先你得有 Assembler 以及 Linker,才能將你的組合語言程式組譯及連結成執行檔,本文中是使用 Microsoft 的 MASM 6.11。

本範例是以使用 DOS INT 21h/AH=02h 中斷去顯示一個字元 'A' 來作為練習,接下來使用文字編輯軟體將下列幾行程式編寫並存檔成 test.asm,

       .MODEL TINY
       .CODE
       ORG 100h
begin: mov dl, 41h
       mov ah, 02h
       int 21h
       .STACK
       END begin  

然後執行 ml /AT test.asm 就會將程式組譯並且連結成執行檔了,

C:\masm>ml /AT test.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993.  All rights reserved.

 Assembling: test.asm

Microsoft (R) Segmented Executable Linker  Version 5.31.009 Jul 13 1992
Copyright (C) Microsoft Corp 1984-1992.  All rights reserved.

Object Modules [.obj]: test.obj/t
Run File [test.com]: "test.com"
List File [nul.map]: NUL
Libraries [.lib]:
Definitions File [nul.def]:

可以看的出來已經產生出 object file 以及 .COM 格式的執行檔了,

C:\masm>dir test*
 Volume in drive C is system
 Volume Serial Number is 9488-6570

 Directory of C:\masm

2008/03/24  ?? 05:17               218 test.asm
2008/03/24  ?? 05:32                 6 TEST.COM
2008/03/24  ?? 05:32               123 test.obj
               3 File(s)            347 bytes
               0 Dir(s)   5,750,042,624 bytes free       

這就來執行看看,果然執行成功,正常顯示出我們欲顯示的字元 'A'。

C:\masm>test
A 

但是別高興的太早了,因為你可以發現剛剛的程式一執行後就當掉停住了,一動也不動,這是因為 DOS 下執行的程式,都還需要呼叫一個 DOS INT 21h/AH=4ch 這個中斷來告訴 DOS 作業系統該程式已經結束了,這樣執行完程式後,才會把控制權交還給 DOS,所以完整的程式如下:

       .MODEL TINY
       .CODE
       ORG 100h
begin: mov dl, 41h
       mov ah, 02h
       int 21h
       mov ah, 4ch
       int 21h
       .STACK
       END begin  

這次執行果然程式正常結束,而且返回 DOS 的提示符號下,可以繼續別的動作了,

C:\masm>test
A
C:\masm>

附帶一提,可以看到 .COM 格式的執行檔可真是小巧精美,以上的程式只佔用 10 bytes 空間呢!下面即在 Cygwin 的環境下來顯示該執行檔內容。

$ od -t x1 test.com
0000000 b2 41 b4 02 cd 21 b4 4c cd 21
0000012

關於 DOS INT 21h/AH=4ch 的介紹,可以參考 Ralf Brown's Interrupt List 裡的 http://www.ctyme.com/intr/rb-2974.htm 這篇文章。

2008年3月20日 星期四

HTTP 方式安裝 Fedora 8

HTTP 方式安裝 Fedora 8

March 19th, 2008 by Chuan-Hsien Lin
Last Modified on March 19th, 2008

本文將介紹如何使用 HTTP 方式來安裝 Fedora 8,先來說明為什麼我需要這樣做,因為主管抱了一台 Pentium III 等級的舊電腦給我用,我打算將 Fedora 8 裝在這台機器上,但是這舊電腦上的光碟機是 CD-ROM 而不是 DVD,而我手上僅有一片 Fedora 8 的光碟片,以及它的原始 ISO 檔 Fedora-8-i386-DVD.iso。

既然沒辦法使用 CD-ROM 來吃 Fedora 8 的 DVD 光碟,只好用別的方式來安裝了,依稀記得以前有用過網路來安裝 Redhat,當時是透過 FTP 方式來安裝的,這次就來依樣畫葫蘆,改用 HTTP 試試。可能有人會說為什麼不把這台電腦的 CD-ROM 拆下來,換上一台 DVD 就好了,因為,一來我懶,二來不喜歡照著既有的方式去做,有時喜歡嘗試別的路線,就像平常回家的路有很多條,但有時你會故意走別條看看,尋找些驚奇。

不多說廢話了,直接來看整個過程吧,首先得去網路上抓 Fedora 8 救援光碟 ISO 檔 Fedora-8-i386-rescuecd.iso,將之燒成一般 CD,然後用它來開機,開機後會出現 boot:,然後輸入 linux askmethod 或 linux text askmethod,前者是圖形模式安裝,後者是文字模式安裝,接著就會有一個選單是問你要用何種方式安裝,有 NFS, HTTP, FTP 等等,再選擇了 HTTP 方式之後,會詢問你 HTTP Server 的位址及路徑。

這時候,我先到別台 Server 把 Fedora-8-i386-DVD.iso Mount 起來,放在我個人網頁空間底下,路徑像是這樣 /home/chlin/public_html/fedora,然後將 Apache 的設定,改成可以瀏覽檔案,然後再回到正在安裝 Linux 的那台機器上,將 HTTP Server 位址填入後,再將目錄路徑輸入像是 ~chlin/fedora/ 就可以了,至於其他的安裝設定,比照一般的安裝情況即可。

最後,建議大家多使用網路安裝的方式,就可以不用燒一堆光碟,以響應環保。