2008-09-03

【LP】程式讀取參數列

  在Linux下寫程式要讀取參數列的參數(值),最直覺的作法莫過於直接使用main()中的argc與argv變數,不過要自己在程式中處理參數列並且想要提供使用者靈活的參數組合,恐怕會是一個叫人頭痛的"超級任務"。
  以ls程式為例,其參數項目就已經玲瑯滿目(如:-l、-a...等),參數項豐富頂多就是在程式中的switch...case敘述多寫一點,但是再加上沒有參數值的參數項可以合併在一個破折號後面(如:-la),這就很麻煩了。
  在Linux下可使用getopt()函數來幫我們處理參數列的問題,其prototype如下:

int getopt(int argc, char *argv[], const char * optstring) ;
extern char *optarg ;
extern int optind, opterr, optopt ;
  使用上很簡單,getopt函數前兩個參數就將main函數宣告的參數項(argc與argv)填入就是了,重點在於optstring,直接用例子來說明:
#include <stdio.h>
#include
<unistd.h>

int main(int argc, char *argv[]) {
int opt ;


while( (opt=getopt(argc, argv, "x:yz")) != -1 ) {
switch(opt) {
case 'x':
printf("option: %c argument: %s\n", opt, optarg) ;
break ;
case 'y':
case 'z':
printf("option: %c\n", opt) ;
break ;
case '?':
printf("unknow option\n") ;
}
}


return 0 ;
}
  將此範例存檔為lab_arg.c並編譯成lab_arg:gcc -o lab_arg lab_arg.c
  此程式可接受參數x、y、z,並且參數x其後會接著一個參數值,可以先執行看看其效果。在optstring部分範例中用了"x:yz",其表示此程式接受參數有x、y、z,而在x後面加一個冒號(:)說明x參數將會帶一個參數值。
  getopt會依序解析使用者傳入的參數項,若符合optstring規則的參數會回傳對應的參數字元,當getopt函數解析完餐數個數後,會傳回-1表示結束,因此使用一個while迴圈將之包附並檢查傳回值是否為-1。
  使用getopt()我們僅需關注程式中對於各個參數項的對應行為即可,而不需費盡心思自己在程式中解析複雜的參數組合可能。
  更詳細的getopt()函數說明請參閱:http://fair.athost.net/main/linux_c/function/16.html#linuxc293

2008-08-26

建立Toolchain

  當我們在編譯某些Library或是open source的程式時,會遇到target board廠商所提供的toolchain版本過舊/新而產生版本差異引發的錯誤,此時可以藉由自己建構特定版本的toolchain來解決此類的問題。
  那究竟如何建構自己的toolchain呢?其實也不難,跟在一般的PC上建構編譯環境是一樣的,只是我們是要跨平台的編譯環境而已,因此不外乎就是安裝binutilsgccglibcheader這些編譯需要的元件。
  如果覺得很陌生也無所謂,網路上已經有高手寫好自動安裝編譯的script了,我們只需要取得該script檔案並且選擇想要的gcc版本跟glibc版本之後,就可以讓電腦自動完成安裝,接下來我們所需要做的事就是好好品味一下咖啡的香!

  1. 下載crosstool的build script
    開啟http://kegel.com/crosstool/連結,進入download頁面下載crosstool-0.43.tar.gz,記得一定要選擇0.43版本,0.42版在gcc版本驗證的正規表示式限制住只能安裝3.x版本。
  2. 將檔案解壓縮並進入該目錄
    # tar zxvf crosstool-0.43.tar.gz
    # cd crosstool-0.43
  3. 然後依據target的機器選擇script檔,在此選擇demo-arm.sh:
    1 TARBALLS_DIR=$HOME/downloads
    2 RESULT_TOP=/opt/crosstool
    3 export TARBALLS_DIR RESULT_TOP
    4 GCC_LANGUAGES="c,c++"
    ……
    5 eval `cat arm.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest
    1 安裝過程中會下載需要的tarball檔,選擇暫存這些檔案的目錄,預設為家目錄下的downloads。
    2 選擇toolchain的安裝根目錄,預設會裝在/opt/crosstool目錄下。
    3 只是把剛剛定義定變數暫時丟給環境變數,方便其他shell取用而已。
    4 這裡可以把需要的編譯語言加進去,比如java等。
    5 你會在這個script檔中看到很多行類似的敘述,這就依需要的版本做選擇就可以了,前面有加井號(#)的表是不採用,沒有加井號的就是我們選擇的版本,因此千萬記住只能有一行是沒有加井號!
  4. 接著建立安裝目錄,並且更改目錄的擁有者為目前登入的帳號:
    # sudo mkdir /opt/crosstool
    # sudo chown $USER /opt/crosstool
  5. 上述基本動作都做完後,下最後一道指令就可以去喝咖啡了!
    # sh demo-arm.sh
  6. 咖啡喝完回來發現:什麼還在跑!sorry剛剛忘了說要多吃一塊pizza,出去再回來後應該就差不多啦,當你看到DONE.提示字串,那就恭喜老爺賀喜老爺:是個活跳跳的toolchain。現在可以透過命令:
    #/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/bin/arm-unknown-linux-gnu-gcc
  7. 用這樣一長串命令來進行編譯了,每次編譯都打這一長串,只要是人一定會受不了的,因此我們將此路徑加入預設路徑(建議就把這路徑寫入~/bashrc這樣就不用每次登入都要設定路徑):
    # export PATH=$PATH: /opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/bin/arm-unknown-linux-gnu-gcc
【關鍵字:toolchain、cross compiler、ARM、跨平台編譯器】

2008-06-21

這才叫貪食蛇?!

  阿宅他們這學期在微處理機實習用8051單晶片完成貪食蛇遊戲,想必功力大增不少!不過看到下面這段波蘭學生用宿舍實作貪食蛇,恐怕還是得再加把勁才是...>"<

2008-06-16

【96-下】林志敏 => 作業系統II(期末考)

【關鍵字:林志敏 、作業系統II、考古題、期末考】

2008-06-04

用XOR交換兩個變數的資料

  『用XOR交換變數內容可以不用第三個變數唷!』這句話相信已經是老梗話題了,既然老梗那還寫這篇搞笑...這篇只是用數學來證明為何運用連續的互斥或運算就可以達成兩個變數的交換而且不必用到其他暫存變數。
  在遊戲開始之前先作此假設:運算式的敘述是從右到左。那麼遊戲就開始了,請直接參考下面這張用Tabel PC手寫的證明圖片吧!

<==============全文結束==============>
  好啦~我承認寫這篇其實是炫耀而已,我買了台Table PC耶!手寫功能真方便,ㄎㄎㄎ(喔不~宅男毛病又犯了...向殭屍會磨牙一樣~克制不了XD)

2008-06-03

【王壘-OS】上課筆記 - 排成演算法考試解答

上課範例:FCFS排程演算法→先到的先服務,非強奪式的排程演算法。

小考題目(1):SJF排程演算法→Job最短者先服務,非強奪式的排程演算法。

小考題目(2):SRTF排程演算法→與SJF相似,但是是強奪式的排程演算法。

2008-06-02

用Google檢查網頁是否為惡意網頁

  Google這家公司真的很妙,打從去年在搜尋結果頁面中針對可能為惡意、危險的網頁連結加上警示,並以間接連結取代原始連結,盡可能保護網路使用者免受惡意網頁攻擊,這也讓許多遭木馬植入的網站瞬間掉了好幾%的流量,當然這是好事 :)

  現在Google又提供了網頁測試網址供使用者檢查網頁是否正常,在瀏覽器中貼上www.google.com/safebrowsing/diagnostic?site=要測試的網址,這樣就會有報告頁面跟你說這網頁是否安全,有沒有什麼漏洞之類的安全報告,以後朋友用MSN傳網址給你時不妨用者網址先測試是否安全再決定要不要開吧!

  測了一下自己的部落格,很幸運的→安全啦!不信點看看:http://www.google.com/safebrowsing/diagnostic?site=new-acos.blogspot.com

2008-05-24

【SDL】在Windows下設置SDL開發環境-使用Dev C++

SDL相關介紹請參考前一篇文章:【SDL】在Linux下設置SDL開發環境

  1. 到官方網站(http://www.libsdl.org)下載最新版本的Library套件,撰寫此份文件時的版本為SDL-devel-1.2.13-mingw32.tar.gz(在Download區下的SDL1.2連結頁面下)。
  2. 下載完,解壓縮套件會得到SDL-1.2.13資料夾,接著開啟C槽建立一個名為SDL(當然資料夾名稱可以隨意取名,本文件一律以SDL稱之)的新資料夾,將解壓縮得到的資料夾中的include與lib完整拷貝到新建立的資料夾中(C:\SDL)。
  3. 接著設定Dev C++編譯參數:
     工具→編譯器選項
      編譯器
      在連結器命令列中加入以下指令填入:-lmingw32 -lSDLmain –lSDL
      目錄
       函式庫:加入C:\SDL\lib
       C引入檔(Includes):加入C:\SDL\include\SDL
  4. 參考【SDL】在Linux下設置SDL開發環境中的範例程式,進行編譯與執行。

【SDL】在Linux下設置SDL開發環境

  SDL(Simple DirectMedia Layer)是一個跨平台的多媒體Library,用來存取音效、鍵盤、滑鼠、3D與2D等多媒體裝,支援的平台也十分廣泛,有Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX。
  SDL Library是用C語言寫成的,因此C與C++都能很直接的進行函數存取,其他語言也可以透過binding來使用SDL的Library,最重要的授權則是採用GNU LGPL version 2授權!(寫到這忍不住又要高呼:自由萬歲)

#========== 打屁結束 ==========#

把官方網站的介紹文簡單翻譯後,接下來就進入正題:在Linux下設置SDL開發環境。
  1. 到官方網站(http://www.libsdl.org)下載最新版本的Source Code,撰寫此份文件版本為SDL-1.2.13.tar.gz(在Download區下的SDL1.2連結頁面下)。
  2. 下載完,解壓縮套件並且進行編譯與安裝($表示一般使用者身分;#表示root身分)
    $ tar zxvf SDL-1.2.13.tar.gz
    $ cd SDL-1.2.13
    $ ./configure ; make
    # make install
  3. 設置完成後就可以刪除下載的檔案與剛才解開的資料
    $ cd ..
    $ rm SDL-1.2.13*
  4. 到步驟3結束,就完成環境的設置了!接下來測試一下是否能夠正常運作吧
    編寫程式碼(Ex1.1 Initializing.c)如下:
    #include "SDL.h"/*  所有的SDL程式都需要引入此標頭檔 */

    #include
    <stdio.h>

    int main() {
    printf("Initializing SDL.\n") ;
    /* 初始化Video與Audio */
    if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO)==-1) {
    printf("Could not initialize SDL: %s.\n", SDL_GetError()) ;
    exit(-1) ;
    }

    printf("SDL initialized.\n") ;

    printf("Quiting SDL.\n") ;

    SDL_Quit() ;

    printf("Quiting...\n") ;

    exit(0) ;
    }
  5. 編譯程式
    $ gcc initializing.c -I /usr/local/include/SDL -lSDL -o initializing
  6. 正確執行應該會出現下列訊息:
    Initializing SDL.
    SDL initialized.
    Quiting SDL.
    Quiting...
    否則會出現下面訊息:
    Initializing SDL.
    Could not initialize SDL: No available video device.

2008-05-17

月眉馬拉灣 + 苗栗勝興 ~ GO!!

  今天陪Michael跟他美國認識的Adam(上海人)一同出遊,到出發前都還決定確切目標,管他的車子加滿油再說!油加好後"初步"結論是到后里馬場,恩~就這樣靠著GPS的指示上高速公路又下高速公路,喔喔!看到路標月眉世界,Michael:走啦~去水上樂園看妹妹。坳不過他,那就衝吧!(謎:我承認我也想顧眼睛XD)

  在什麼都沒準備的情況下~光是整裝費用就花了我一千大洋= =|||,進了月眉:看!妹妹呢?!妹妹呢?!難道妹妹都沒有放假嗎...(謎:搞笑了~園內設施跟四年多前去的時候一模一樣,妹妹玩久了也會膩阿!難怪沒妹妹XD)

  離開月眉,上哪?問GPS阿!去苗栗吃客家小炒如何?好啊!那要吃哪間?天曉得,GPS景點餐廳隨便點一個上路囉!GPS:到達目的地。ㄜ...這裡跟一般快炒店(謎:去富鯉魚還有機會獲得老闆娘熱情招待小菜一碟)好像沒什麼不一樣,算了~改去勝興如何?衝阿!點點點...GPS,GO!

  先到了一家"美濃客家..."餐廳,恩~風景不錯,就進去吃個飯吧(謎:其實是餓到忍不住了)風景是真的還不錯,還有歌手駐唱很有FU,很適合全家出遊捏!





  吃完飯天也暗了,晚上去勝興就只剩螢火蟲啦!好心的當地人熱心指引後就沿著山林小徑上山找尋螢火蟲囉,恩~還真的有螢火蟲耶!基於安全理由~前面的大姐姐好像很有經驗那...就決定跟著他們啦,有紅色螢火蟲耶!原來是同團裡面有個小妹妹鞋上的LED燈閃阿閃XD

  就這樣到了沒有其他人的地方,只有我們三個男生和兩位大姐姐外加一對母女,嘿嘿嘿...(歪了!拉回正題)恩...大姐姐很正,喔,不是!大家就隨地而坐關掉所有燈光,等待螢火蟲出現,閒聊一會兒後果然都回來了,那位媽媽突然興致來了,開始在抓螢火蟲,就這樣一、二、三!!恩,三隻螢火蟲GET,Michael:等一下下山就一人一隻吧。





  走回街道後,在老闆娘熱情推薦下就一人一隻紹興糯米冰,滿甜得不錯吃!坐在車站前面的木椅吃著冰,又遇到剛剛的大姐姐跟那對母女,大姐姐A:你們在等小妹妹吼?OS:其實我們等的是你們。最後就用熱情的右手揮舞著Say Good Bye啦!

2008-05-09

把man page 輸出成PS(PostScript)格式的檔案

  眾所周知的man page是初學者必讀的聖經文件也是高手查閱指令的精華文章,不過密密麻麻的文字印出來看可能會舒服一點,除了用重新導向輸出成純文字後印出,如果希望格式、縮排美美的話就必須輸出成postscript或是html格式的檔案囉!

  • 將man page輸出成ps格式指令如下
    man -t make > filename.ps
    make => 欲查詢的指令名稱
    filename.ps => 預輸出的文件名稱,副檔名請用.ps

2008-05-01

【轉貼】讓女友試用Ubuntu

原始文章請參考:
http://contentconsumer.wordpress.com/2008/04/27/is-ubuntu-useable-enough-for-my-girlfriend/

大陸翻譯的簡體版本:
http://forum.ubuntu.org.cn/viewtopic.php?t=119305&sid=e65b07666781757a4fb33e9f6e3fee0b

這篇文章點出了人機介面設計的重要性:好的軟體如果無法提供友善的使用介面,功能在強大也都將只是僅止於觀賞的藝術品,是吧?!

2008-04-25

【96-下】林志敏 => 作業系統II(期中考)


【關鍵字:林志敏 、作業系統、考古題、期中考】

2008-04-20

整理信箱好辛苦

  下午不知道哪來的幹勁,花了好幾個小時把電子信箱內容從頭到尾翻過一遍,把許多過期無用的資訊刪除約有五百多封,也發現幾年前的許多回憶,像是:照片、投影片等,真教人回味無窮,附上惠文高中新聞社的點滴回憶投影片(IE only...):http://myweb.fcu.edu.tw/~d9546376/journalism.htm

PS. 你今天清信箱了嗎!?

兵不厭詐,這是下棋

  最近跟阿宅、展哥等人閒閒沒事就會來盤"君子之爭"(其實還滿小人的,每次被抽都會互罵對方心機、陰險等...),目前有找到兩款不錯的象棋遊戲軟體:象棋巫師與淺紅。

  • 淺紅:
      名字取淺紅就是要跟IBM的深藍打對台啦,深藍是搞西洋棋的,當然就要有淺紅來玩象棋,照官方網頁上的描述: “淺”意味著這個象棋軟體目前並沒有太強的人工智慧,我試著跟電腦下,果然還真缺乏智慧...很嫩的我都幹掉電腦了,果然名符其實的"淺"!
      這款遊戲雖然AI不好,不過有興趣的高手可以自己寫引擎增強AI,而且有提供連線對打,因此我們都用這款遊戲在玩。
    網址:http://www.jcraner.com/qianhong/b5/b5_index.html
  • 象棋巫師
    這款遊戲功能很多,就是沒有連線對戰功能,如果要檢討棋局就建議使用這套軟體囉!提供棋局調整,中途更改下一步玩家等功能,對有心要研究棋局的人是很棒的軟體
    網址:http://www.elephantbase.net/

2008-04-19

【考前重點整理】顧偉倫 => 檔案結構(期中考)

  1. 解釋 file ->很多 record 組成
    解釋 record ->很多 field 組成(課本P1-Fig1.1)
  2. 解釋 cobol 4個 division 的功能(請看 cobol 程式)
    (1)識別部 IDENTIFICATION DIVISION.
    在商業通用語言程式中載明原始程式名稱、程式員姓名、編譯日期和註釋部分的段落。
    (2)設備部 ENVIRONMENT DIVISION.
    標明程式所使用的電腦設備及程式內部所使用的檔案名稱及特性。分為兩節:CONFIGURATION SECTION、INPUT-OUTPUT SECTION
    (3)資料部 DATA DIVISION.
    FILE SECTION:描述資料檔中每一記錄的資料名稱,形式及長度。
    WORKING-STORAGE SECTION:處理過程中暫時所需的資料項。
    (4)程序部 PROCEDURE DIVISION
    描述處理資料部資料的一種程序
  3. 課本p.8圖3.3
  4. 用虛擬碼畫 data process
  5. 寫出 input edit 的功用(講義中文字第二份<322>那張第一頁)
  6. 畫出 input edit 流程圖(中文字講義第二份<322>那張第二頁)
  7. undating program(中文字講義第一份p3.p4)
  8. 畫出 undating program 流程圖(中文字講義第一份p4圖9-5)
  9. 畫disk圖(課本p.36圖3.2)
  10. 解釋blocking factor (Physical、Logical record)課本P51
【關鍵字:顧偉倫 、檔案結構、重點整理、期中考】

【96-下】黃溪春 => 軟體工程(期中考)

【關鍵字:黃溪春 、軟體工程、考古題、期中考】

2008-04-13

20080413不安的夜晚

  就在剛剛,沒錯現在時間是午夜2點鐘!在二樓努力趕企畫的我,聽到如飛機降落的尖銳長聲鳴叫最後停於一聲巨響,帶來的是一場教我害怕的震動,真的震了好大一下。我發誓:絕對不是我在幌神,就算有~現在也清醒了!
  是車禍,真的是車禍!剛剛的強烈震動驅使我決定出門一探究竟,果然走到馬路上是一片凌亂,一個街區碎片四處散亂,而且有濃濃的燒焦味跟汽油味。附近大樓警衛說:「三台車在飆啦!車速都有夠快,應該是在切的時候失控撞到路邊啦。那台說是NISSAN的高級跑車,一台要幾百萬。現在一個人卡在車子裡面,一個還被彈出來勒!」
  可是現場我是只看到一台轎車爛在路邊,一個人倒在騎樓下,看起來不像是彈出來的,以我認知在這樣混亂的衝撞下被彈出來應該沒辦法在旁人攙扶下走上救護車,不過看他一拐一拐的就感覺很痛...。


  接著消防車來了兩台,先是對引擎蓋沖水降溫,人同時(從副駕駛座位置)被抬出來,在人出來之前我很掙扎要不要拍,心想:如果出來是爆漿還是斷手斷腳多可怕阿。最後還是因為太沒膽,等第二位被抬出車子送上救護車後才開始拍攝,雖然在這之前躲得遠遠的,但我還是看到一隻手~"~。

  上面這張是消防隊員撤走後拍的,車子就捲成一團了,前面兩個輪子都連同鋼圈噴在路上,兩個輪子掉落位置距離大概有五間房子遠。

  上面這張照片中穿白汗衫蹲在柱子旁的是該戶住家,他正在用鉗子把水源關掉(兩戶人家的水管被撞斷),撞擊力道多可怕這張照片可以清楚感受,那根柱子原本是有磁磚的,整根的磁磚都被震落,柱子底端也都露出鋼筋,騎樓下的碎塊原本都是建築物的一部分!

  除了那兩戶人家的柱子,這場車禍最無辜受害者大概就是這棵樹了,就這樣攔腰截斷...他原本的位置是在前面兩戶人家門前的人行道上,就這樣跟著飛噴了十來公尺。

  其中的一個輪胎,除了掉離車身外胎跟鋼圈也都分家了...


  消防隊撤走後拍的,我發現這樣好危險,路上到處都是散落零件,在拍這張照片有一台休旅車經過,輪胎把一個水泥塊的東西高速彈向我這邊來,還好有閃開...不然大概就掛彩了>"<
  昨晚回家才在說:路新鋪的這麼順,應該很好飆車。沒想到標誌都還沒劃,就發生這樣的大車禍真是可怕。
  繼續趕企畫,GO~!

後續:
  把這篇PO上PTT台中版後,有版友提出車輛資訊,請參考下方引用的推文:
推 digikoplus:報銷的那台是NISSAN 350Z 馬力破300ps 輪圈是原廠式 04/13 10:39
→ digikoplus:樣 從殘骸看不出來有無改裝@@ 04/13 10:41

2008-04-06

瘋狂騎機車

這幾天新聞吵很熱的塗面膜騎機車的瘋狂騎士...感覺比較好笑的是偷拍的人的笑聲,感覺真"機車"

【Ubuntu】使用tightvncserver開啟多人遠端桌面

  1. 安裝tightvncserver套件
    sudo apt-get install tightvncserver
  2. 安裝完畢後初次使用會要求設定密碼,此密碼可以跟帳號的密碼不同
    vncserver :1
    PS. 後面的:1表示開啟桌號的編號,如果不指定系統會依序累加!
  3. 設定完密碼後,先將剛剛開啟的虛擬桌面關閉,進行一些細部設定
    vncserver -kill :1
    PS. :1對應步驟2的數值
  4. 修改~/.vnc/xstartup設定檔
    vi ~/.vnc/xstartup
    將所有的設定值都註解掉(你要刪掉也可以),然後加上下面那段設定
    exec gnome-session
    PS. 如果你桌面是用KDE那上面敘述請改成exec startkde
  5. 設定完成後即可使用遠端虛擬桌面
    vncserver
    PS. 可以使用-geometry參數設定桌面大小,如vncserver -geometry 1024x768,如此會產生一個1024 x 768的遠端桌面
  6. 遠端連線方法:開啟vnc client軟體,在server欄位填入IP:n,例如我的IP是192.168.0.10而產生的桌面編號是3,那麼就輸入192.168.0.10:3即可連線
  7. 如果沒有意外的話,你連線後要從鍵盤輸入訊息時應該會到意外(好饒舌XD),目前版本似乎會在鍵盤對應上產生問題,解決方法如下:
    先在本機開啟指令視窗輸入
    gconf-editor
    會跳出設定視窗
    依序選擇
    Desktop -> Gnome -> Peripherals -> Keyboard -> KBDlayout參數值改成abfh,重新啟動vncserver就可以解決,不過本機登入後就會出現設定值錯誤的警告訊息>"<

2008-03-23

逢甲電機系考古題

甲班同學整理的考古題網頁→http://140.134.4.70/~D9367616/

  • 何子儀
    微處理機
    電子學(一)
    電子學(二)
    電子學(三)
  • 劉文豐
    電子學(一)
  • 鄭進興
    電路學(一)
    電路學(二)
  • 柏小松
    電磁學(一)
    電磁學(二)
    電磁波
  • 田春林
    工程數學(一)
    工程數學(二)
  • 孫海濤
    通訊系統概論
  • 曾彬淇
    導波理論
    高頻電路概論

2008-03-22

322選總統:重返黎明國小

  3月22日台灣第十二屆總統選舉,老樣子我的投票區還是在黎明國小,即使學區已經劃分進惠文,但選舉還是被排在黎明國小。


  黎明國小有很多小時候的回憶:二年級時一群乳臭未乾的小鬼頭依照性別分成男攻隊女攻隊,沒錯就是男生跟女生是互相對立的,只要下課鈴一響就要上演女生追打男生~男生復仇計畫...等精彩劇碼,而男生的頭頭正是在下我XD;三年級與班上一位熊姓同學一同負責擦玻璃,大家都說我們擦的玻璃很乾淨,好啦~我承認他擦得比較乾淨>"<;五年級時開始學生生涯的第一個職務:所長,當然不是烏龍派出所的所長,而是廁所所長...就是下面這張照片,這間就是我的廁所!!

  下面這張照片是高年級教室與前面的草皮,畢業前的水球大戰就是在這塊草皮上!

PS.今天去投票,遇到小狐狸一家人!

2008-03-15

跨平台的MSN軟體

從Windows轉換到Linux作業系統下最常發生兩種適應不良的狀況:MSN與Office的毒癮難戒。

現在在Linux下除了行之有年的屁精可以使用外,還出現了Mercury可以使用!而且使用上跟Windows上的MSN很相似,具有來電振動、圖像顯示、動畫...等,該軟體是用Java寫成的,因此具備良好的跨平台性。

官方網站:http://www.mercury.im/

2008-03-01

【94-5-上】薛念林 => 資料庫系統

以下資料來源:修OS2認識的學長()提供!

94期末小考


95期末考

【關鍵字:薛念林 、資料庫系統、考古題】

2008-02-29

【整合版】劉振緒 => 離散數學

以下資料來源:修OS2認識的學長()提供!

95期末考


96期中考


延伸閱讀:【整合版】黃秀芬 => 離散數學
【關鍵字:劉振緒、離散數學、考古題】

2008-02-28

Gmail的宣傳影片?!

  有看到網友形容是:起居室大小的Gmail操作視窗。這應該是Google拍攝的Gmail推廣影片,Google的東西只能說很妙、很酷、很好用XD。

2008-02-26

Linux Device Driver 3rd 電子書

Linux Device Driver 3rd(LDD)電子書檔案下載:
  →http://lwn.net/Kernel/LDD3/

註:

  1. 3rd版本以kernel 2.6為主題
  2. 可參考Jollen的「有效學習 Linux Device Driver (驅動程式)」文章。

2008-02-23

部落格文章加密設定

  1. 在Blogspot「版面配置」→「修改HTML」加入一段html描述:
    在標籤
    <head>
    </head>
    之間加入敘述
    <script src='http://yaushung.googlepages.com/encryptjs.js'
    type='text/javascript'/>
    ,如下圖所示
    PS. 你可以下載encryptjs.js敘述檔到自己的網路空間,並把紅色區域改成你的連結網址!
  2. 到加密網頁把文章加密,操作如圖所示:
    http://www.psi.toronto.edu/~vincent/blog/jscrypt.html

  3. 到部落格文章編輯區域貼上以下內容
    <a href="javascript:Decrypt_text('唯一的名稱', 'cipher');">
    加密的內容</a>
    <div id="唯一的名稱"></div>
    ※藍色部分請更改為適當的內容
    ※記得要切到「修改Html」模式後再把語法貼上!

    唯一的名稱:每篇文章必需有唯一的名稱,建議使用發文的日期時間,如:2008022300,表示在2008/02/23的00時發表的文章,千萬不要輸入密碼
    加密的結果如下(密碼為1234):
    按此顯示文章內容

台中元宵燈節水舞秀

用之前新買手機拍的影片 :)

2008-02-16

【CentOS】安裝Nvidia Geforce8500GT驅動程式

  1. 到Nvidia官網下載驅動程式,網址:http://www.nvidia.com.tw/Download/index.aspx?lang=tw
    依照自己的系統版本與顯示卡型號下載對應的驅動程式
  2. 接著修改開機模式惟純文字模式
    # vi /etc/inittab
    id:5:initdefault:這行敘述改成id:3:initdefault:
    # reboot
    重新開機後會停在在文字模式
  3. 修改步驟1下載的驅動程式型態為可執行
    # chmod +x NVIDIA-Linux-x86-169.09.pkg1.run
    註:紅色部分會因系統而異
  4. 查詢kernel版本
    # uname -r
    會跑出2.6.9-55.ELsmp類似的敘述
  5. 安裝顯示卡驅動程式
    # ./NVIDIA-Linux-x86-169.09.pkg1.run --kernel-name='2.6.9-55.ELsmp'
    照著步驟即可完成安裝,最後會選擇是否由程式幫你修改/etc/X11/xorg.conf設定檔,請選擇yes
  6. 驅動程式安裝完成後,把步驟2修改的開機模式改回原本的5,並且重新開機即可!
  7. 重新開機進入xwindow後,應該會在應用程式選單的系統工具中找到NVIDIA X Server Setting選項,就可以進去調整解析度等設定。
備註:
  1. 以上操作在CentOS 4.5 i386版本上可以正常運作。
  2. CentOS 4.5、4.6與5.2 的x86_64版本上會有不穩的現象,像是設定值會被改回初始設定等問題。

2008-02-14

慣C事件:一波未平,一波又起

  裸照風波還沒平息,網路已經出現踢慣C屁屁的遊戲了,看新聞好像還有當地鼠在打的...,公眾人物還是小心點才是。
  個人最高分數:20492...>"<

【CentOS】VNC多位使用者同時遠端登入

【Server端設定】

  1. 開啟VNC Server,第一次使用會要求輸入一組密碼供日後遠端登入使用,該組密碼不必與系統帳號的密碼相同。
    # vncserver
  2. 接著先關掉VNC服務
    # vncserver -kill :1
  3. 修改家目錄下的設定檔
    # vi /home/acos/.vnc/xstartup
    註:acos請改成自己的使用者名稱
    僅留下兩行設定,其他敘述註解起來即可,參考如下:
    #!/bin/sh

    # Uncomment the following two lines for normal desktop:

    unset SESSION_MANAGER

    exec /etc/X11/xinit/xinitrc

    #[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

    #[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

    #xsetroot -solid grey

    #vncconfig -iconic &

    #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

    #twm &
  4. 修改防火牆設定
    # setup
    選單依序選擇:防火牆設定 => 自訂 => 其他連接埠,填入5901:tcp
【Client端】
  1. 先使用SSH遠端登入電腦(推薦使用PieTTY),開啟VNC服務
    vncserver -geometry 1024x768
    註:第二個參數是解析度設定,可依需求自行調整。
  2. 輸入上面指令會有類似下面這段的訊息:
    New 'xxx:n (user)' desktop is xxx:n
    xxx:依系統的網域名稱不同而變化
    n:開啟的桌面編號,從1開始遞增。
  3. 使用VNC Viewer軟體開啟遠端桌面連線,於Server欄位填入IP:n,點選OK會詢問密碼,填入一開始設定的密碼即可開啟遠端桌面連線。
    如果沒有VNC Viewer軟體可用瀏覽器開啟連線服務,於網址列輸入http://IP:580n亦可。
  4. 使用完畢後,遠端桌面直接按右上角的'X'關閉即可,回到SSH連線視窗關閉開啟的VNC服務
    # vncserver -kill :n

2008-01-27

終於有點進度了...


  本來昨天想要去台南聽「快快樂樂學 GNU Debugger (gdb)」的演講,生性害羞的我~最後還是到實驗室宅了一天(其實是自己懶XD)。實驗室新買的電腦系統架起來一整個就是怪,安裝CentOS5.1網卡就是不肯就範,把驅動編入編核心又一直出包,換用Ubuntu7.10也是一整個囧,連號稱最容易使用的系統也吃不下這太新的晶片型號,只好先擱在旁邊積灰塵...等今早再過去裝windows,到時候模擬用的系統就裝在虛擬機器上來跑好了。
  雖然模擬環境建置進度令人氣餒,不過CDK發展板倒是有點進度了,期末前入手的實驗板一直到昨天,終於有個比較像樣的進度:把ASCII字元編碼表建好、寫了幾個函數控制字元(與字串)的列印。接下來就接續把螢幕的觸控部份給搞懂,還有SD記憶卡存取!

【96-上】王壘 => 計算機概論(期末考)


【關鍵字:王壘、計算機概論、期末考、考古題】

2008-01-25

【92-上】陳德生 => 數位系統設計(期末範圍)















【關鍵字:陳德生、數位系統設計、期末範圍、考古題】

【整合版】陳德生 => 數位系統設計

老師上課就照著投影片上下去,基本上難度不難,可以說是邏輯設計加上VHDL的教學而已,對邏設基礎不錯的同學來說這門課只是多學VHDL而已吧。
考試內容也幾乎都是邏輯設計的東西家上一兩題的VHDL考題,學期中會有幾次上機作業,做出來就給10分,通常做不出來留著屍體也有幾分同情分。
在考試分數上,期中老師有全班加分,不過加分會以最高分做為加分依據,比如最高分考95那老師大概最多就加10分(這樣最高分的人還是虧了5分>"<),整體來說分數很好拿。老師上課偶爾會點名,點名方式就是抽人回答問題,問題答不出來沒關係~但是人要到就是了!

【延伸閱讀】
【96-上】陳德生 => 數位系統設計(期中考)
【96-上】陳德生 => 數位系統設計(小考)
【9X-上】陳德生-數位系統設計(期末考)
【92-上】陳德生 => 數位系統設計(期末範圍)

【關鍵字:陳德生、數位系統設計、整合版、考古題】

【整合版】黃秀芬 => 離散數學

詳細的老師上課風格請參考【整合版】黃秀芬 => 演算法

【延伸閱讀】
【96-上】黃秀芬 => 離散數學(期中考)
【93-上】黃秀芬 => 離散數學(期末考)
【96-上】黃秀芬 => 離散數學(期末考)

【關鍵字:黃秀芬、離散數學、整合版、考古題】

2008-01-24

【96-上】黃秀芬 => 離散數學(期中考)


【關鍵字:黃秀芬、離散數學、期中考、考古題】