發表文章

變更整合 Skype 後的 MSN 別名

圖片
原本 Skype 的聯絡人,可以按滑鼠右鍵 " 修改名稱 ",但匯入的 MSN 聯絡人卻無此功能。原來要把聯絡人打開,在名字的右邊有一個隱藏的 " 編輯 " 功能,按下去就可以修改了,藏得真好啊! 這樣總算可以 "正名" 了,不然聯絡人上面一堆 !@#$ 的名字,都不曉得誰是誰了 PS : MSN 修改後的別名似乎只存在 Local 端,在別台電腦還得再改一次才行 資料來源: 將MSN聯絡人匯入Skype中(名單群組|新增別名|傳送檔案)

智力測驗分享

有點像數獨,當初 Interview 時卡好久,等了好幾天都沒消息,所以決定把它公開了! 在飛機場的餐廳中,坐著四個不同國籍的旅客甲、乙、丙、丁。 他們每個人都會講英、法、德、日四種語言中的兩種 ,但是 這四個人沒有一種共同的語言 , 只有一種語言是三個人都會講的 , 沒有一個人既會講法語又會講德語 , 乙雖然不會講英文 ,但 當甲和丙對話時卻能充當它們的翻譯 , 乙會講德語 , 丁一點都不會德語 , 但是 甲和乙交談的很好 , 乙、丙、丁三人無法用一種共同語言交談 ,請問他們個人都會講哪兩種語言?

小小的 copy 大大的學問

平常都是直接在電腦上寫程式,結果面試的時候要在紙上寫,還真的寫不太出來。因為都習慣線上查資料,所以參數都沒有背,所以拿回家 compiler 後果然一堆錯誤,不是參數位置放錯,不然就是個數不正確。 以下是修改過的版本,錯誤檢查是一定要的,比較特別的是 fread  跟 fwrite  的第 2 & 3 個參數,其中第 2 個參數是 size,第 3 個參數是個數,而傳回值是成功讀取或寫入的個數而非 size。我原本的寫法是 length = fread(buf, sizeof(buf),1 , fp) 成功時 length = 1,但最後一筆不滿 buf size 的就讀不到了,所以才改成 length = fread(buf, 1, sizeof(buf) , fp) 這樣 length 就傳回實際讀到的長度了,不過不曉得有沒有影響效能就是了

重建 BeagleBoard-xM Angstrom

圖片
自從開始玩 BeagleBoard-xM  後,SD 卡不曉得被我毀掉幾次了 (原廠建議這一塊不要動,另外拿一塊新的 SD 卡來實驗,不過我沒有多的,只好 ...)。有幾次雖然有載入 Angstrom,HDMI 也有畫面輸出,LED 也是一直閃,但卡在登入畫面一個多小時 (Console 顯示 Uncompressing Linux...),實在是沒耐性就把它給關了。

Read Beagle Board xM RS-232 Serial output

環境設置 Beagle Board xM 使用 OTG USB 供電 Beagle Board xM RS-232 Serial output 連接到電腦 USB to COM 軟體修改老師的 ext_uart.c 如下

getfile

圖片
實現 getfile <ipaddr> <source filename> <destination filename> 例如 ./getfile 127.0.0.1 /etc/passwd passwd 顯示 成功 GET Success (12345 bytes) 失敗 Error! 參考 ch7/file ch7/wrapper/tcputils.c

Character bitmap with signal

圖片
#include <stdio.h> #include <signal.h> #include <unistd.h> //how_bitmap函式可將二維陣列的值輸出,輸出方式:當bit為1時輸出’*’,0輸出空白 //字元’ ’,每處理完2個byte輸出換行'\n' void update_time(int sig); char array[2][30] = { { 0x08,0x20,0x08,0x24,0xfe,0xfe,0x08,0x20, 0x00,0x00,0x08,0x20,0x04,0x40,0x04,0x40, 0x02,0x80,0x01,0x00,0x02,0x80,0x0c,0x70, 0x30,0x0e,0xc0,0x04,0x00,0x00 }, { 0x20,0x20,0x51,0xfc,0x88,0x88,0x00,0x50, 0xfb,0xfe,0x22,0x22,0x22,0x22,0xf9,0xfc, 0x21,0x24,0x21,0x24,0xa9,0x24,0x71,0x2c, 0x20,0x20,0xf8,0x20,0x00,0x00 } }; void update_time(int sig) { static int i = 0; static char *ptr = (char*)(void*)array; // change to one dimention char array int j,k; if (i < sizeof(array)) { for (j=0; j<2; j++) { for (k=7; k>=0; k--) { printf("%c", ( *(ptr+i) & (1 << k) ) ? '*' : ' '); ...