2008年12月11日 星期四

澎湖,我來了(Part 2)

假期總是過的這麼快,晚上六點四十五分的軍包機,我又要離開台北溫暖的家了,心情難免有些低落。因為這次回去後,再回來台灣就已經是春節了,算一算要在澎湖待將近四十天左右,這就是放長假的缺點吧。但該來的總是要面對,所以還是要好好調適一下心情,當作是去旅遊吧!
輔導長之前也叫我可以帶幾本書過來讀,不要在部隊後就變的腦袋空空,還是要多吸收一些知識。所以這次回去也準備帶一本書《Head First Design Patterns》過去。這本書很早以前就想買來拜讀一下的,但就是一直缺乏動力去買,這次放假特別到書局把這本書給帶了回來,本來是想說要買原文書,但看看原文和中文的價格,再想想二兵一個月不到六千的月薪,所以就選擇了中文版,希望翻譯的品質不要太差才好。

還剩九個月,gogogo~~

2008年12月10日 星期三

剪頭毛

今天下午終於去理髮廳把頭髮修剪了一下,自從新訓一進去被裡面的髮婆理過後,一直覺得怪怪的,參差不齊,尤其是現在頭髮變長後更是怪異。現在剪完後,感覺正常多了,下部隊後應該一個月剪一次就可以了,不用像之前新訓一個月就理了三次頭髮。
順便來討論一下入伍前到底要不要先自己把頭髮理了呢?之前在入伍前我也曾為這有所困擾,問了很多當兵的朋友,結果大家的說詞都不太一樣。有人說先理比較好,說是裡面的髮婆一次要理這麼多人都理很隨便,而且愈後面理的人,剃刀都鈍了會很痛;又有人說除非你把頭髮理的將近光頭,否則他還是會叫你去給他推一下,別多浪費一次的理髮錢。經過思考後,我最後的決定是到部隊再理。被理過後,我自己是覺得進去再理就好了,的確裡面的髮婆有些人理的超粗魯的,而且剃刀真的感覺都鈍鈍的,但其實一下子就理好了,忍一下就過去,就算頭髮被剪的不整齊也不會只有你一個而已。

2008年12月8日 星期一

平溪半日遊

還是跟往常一樣,假日的時候通常都會回宜蘭老家一趟,昨天一大早出發,大約下午一點就回台北。在回家的途中,爸說是要去平溪走走,因此也就展開了平溪半日遊的行程了。
整個行程也很單純,就是逛逛裡面的老街,我們先從菁桐老街開始,有買了一堆人在排隊的雞卷,但我個人是覺得普普通通,見仁見智囉!而這邊的老街通常也都在車站的旁邊,可以在鐵軌跑來跑去,但火車還是有在開的,還是要多留意。



逛完了菁桐老街後,下一站我們就繼續前往平溪老街。由於平溪最著名的應該就是放天燈了,所以處處都可以看到店家在賣天燈,很幸運的是剛好看見有人現場放了一個天燈。來到這當然也要拚一下經濟,只不過我們不是買天燈,而是跑去買了燒仙草取暖。

離開了平溪老街,最後一個行程就是十分瀑布了,本以為終於可以一探他的氣勢。然而到了那裡才發覺什麼都看不到。詳細的情節不太清楚,好像是那裡之前看瀑布要收錢,後來政府說不能收費,然後弄到最後就是看瀑布的位置被一堆鐵絲網、竹林擋住了,真是可惜阿。但我還是不氣餒,還是想盡辦法幫十分瀑布拍了照片,但也只能拍到這樣子了。






沒能完整的看到氣勢滂沱的十分瀑布是行程中最令人遺憾的~~

2008年12月6日 星期六

返台假

在澎湖待了二十天左右,我終於回家了。這次放的是返台假,總共有七天的時間,說起來是很長,但這一放也代表收假後,接下來要好長的一段時間沒假放了,下次再返台就是過年了。但既然現在是放假,就不去想收假後的事,該來好好想想該怎麼渡過這個假期才是。
星期四下午點完名後,就開始收拾行李,也就是上次點放買的一些澎湖名產,然後就跑去坐軍機了。有了上次來時搭軍機的經驗後,這次就比較不那麼陌生。雖說軍機坐起來並不那麼舒適,但既然申請到且又不用錢,當然還是我唯一的選擇。三點起飛,四點就到了台北松山,而門口又有617公車直達我家,不到五點就回到家了,感覺多賺了半天的假。
這次放假回來有一件比較重要的任務要做就是要先訂好春節時的機票,春節是管制時間,離島航線要到十二月九日才開放預訂,單位的長官之前就說了,要先確定你買好了機票才讓你放假,因此讓我也蠻煩惱的,從來都沒坐過民航機,更別說訂票了,真怕買不到票那時就頭大了。
除了訂機票外,有想要到書店去找幾本書帶去澎湖,因為站安官的時候可以看自己的書。但目前我最怕的就是安官時電話響了,常常都不太清楚到底對方在講啥,超怕漏掉什麼重要的事。不然我覺得站安官是蠻幸福的事,電話別打來阿!

轉眼間,已經放了兩天多的假了....

2008年11月29日 星期六

第一次點放

待了兩個星期後,終於等到放假了~~~

結訓假回去官田睡了一晚後,隔天凌晨三點就起床,然後大包小包的一路行軍到隆田火車站進行傳說中的撥交,從此我就真的變成空軍人了。本來還以為會坐船到澎湖去,結果是讓我坐軍機過去,讓我鬆了一口氣,不然坐這麼遠的船一定會受不了的。從來就沒搭過飛機,沒想到第一次搭機經驗就獻給了C130軍機。我的感想是,軍機真的很吵,而且我連飛機有沒有動都感覺不太出來,只有起飛和降落稍微有一點感覺,然後就莫名奇妙到了馬公。因為根本也沒有窗戶可以往外看。那天到了馬公已經是晚上了,一下軍機後,馬上就有一個長官和學長開車來接我,接下來就開始了我的部隊生涯了。
來到這個單位,最令我訝異的就是這個單位加上我就只有三個兵,其它全是士官和軍官,這也是我目前較不適應的地方。在新訓的時候,因為同時都是一堆菜鳥在受訓,所以一開始比較好相處在一起。現在這裡,見到的每個都是學長不然就是長官,隨時隨地都要問好,少了那種同袍的情誼,希望可以早日融入這個環境。
今天是我下部隊後第一次的休假,但並不是回台灣而是在島休假,雖說是放兩天假,晚上還是得回部隊睡覺。除了第一次的搭機經驗獻給了軍機外,第一次網咖經驗現在也獻給了澎湖。其實會來網咖也是不得已的,畢竟真的對這裡不熟,也沒有車,根本就不知道該怎麼走、怎麼玩。只好跟著學長一起來網咖上上網。
也許抽到馬公對我來講算是件好事,因為剛和同梯的同袍聊天時,發現他們非常的精實,比新訓的時候還要操。而我現在唯一比較不便的可能就是休假方面的事,不能常常回家,體能訓練就完全不能相提並論。所以看來我真的是抽到上上籤了,要多惜福,少點抱怨才是。

現在身旁很多朋友們也都在軍中,希望大家都能平安且順利退伍~~

2008年11月12日 星期三

澎湖,我來了

在軍中總感覺時間是渡日如年,但一放假後卻又感覺時間跑的好快。沒錯,長達七天的結訓假即將告一段落了,明天早上又要搭車回官田,然後睡個一晚就要撥交到自己所屬的部隊。
說起來也很倒楣,結訓假這些時間都在病痛中渡過,假期的前半段是感覺腰痠背痛,所以處在養傷的階段。本想說最後三四天的假期或許可以出外找朋友聚聚,只是萬萬沒想到,自從星期一和同梯到台大吃美食後,原本只剩下咳嗽的我,開始有發燒、四肢無力的現象,今天還被強迫去看了醫生。唉,只能說,七天的假期就這樣結束了。
面對即將到來的部隊生活,心情上感覺有些焦慮不安,但套一句軍中長官常講的一句話「既來之,則安之。」希望能早點適應部隊的生活。

澎湖,我來了~~

2008年11月10日 星期一

台大小吃

在新訓的期間內,認識了許多新的好朋友。也就因為有這些朋友,讓我在新訓的過程中不至於過於煩悶。
由於軍中伙食真的不太好,常常都覺得吃不飽,所以很早以前就約好說結訓假要去台大吃美食。而為啥要選台大呢?那是因為這些朋友中,兩個是台大而另外一個則是交大,好恐佈喔,都是高材生。
我們約了今天下午聚餐,然而今天天氣真是有夠冷,對於感冒還沒好的我,吃完這一趟後,整個人有點不舒服,有點發燒的感覺。好在,吃完晚飯後躺了兩個多小時後,整個人好多了。記得在軍中的時候,大家一直在討論說要吃什麼,結果真正到了台大,先吃了姐妹花雞排後,就感覺有點飽了,所以之前很多討論到的美食都沒有吃到。只吃了雞排、豆花、章魚燒和一杯金桔檸檬。

大家都戴帽子,就我一個人頂著雜亂的頭髮趴趴走


雖然好多美食都沒吃到,但能和同梯的好友一起出來走走也不賴,因為結訓假完後,大家即將到各自的單位去服役了,一個在台北、一個在花蓮、一個在嘉義,而我在澎湖,可想而知,當兵期間要再見面有點困難了。
祝大家都可以順利退伍囉!

2008年11月7日 星期五

籤王

終於結訓了,緊接而來是將近七天的結訓假。本來應該是要很開心的渡過這得來不易休息時間,沒想到昨天放結訓假前最後一天的抽籤,我竟然抽到籤王(外島籤 - 馬公),真是晴天霹靂。我這一組總共有一百二十人,就這麼三支外島籤也會抽中。最近實在是太奇怪了,都會抽到極度稀少的籤,像上次的空軍籤和這次的外島籤。唉!看來接下來沒辦法周休二日每個禮拜回家了。
這次在官田一待就將近二十天,還是沒有官田渡假村的感覺,每天就是不斷的趕、不斷的操,早晚三千在跑,好在當兵前有練過跑步,不然真的會受不了。新訓唯一比較輕鬆的應該就是打靶了,因為一打就是一個早上或是一個下午,幾乎都是坐在板凳上等待。但其實一開始打靶根本就是我的夢魘,因為前三次打都打不太到,都是不及格的一員,所以每次打靶不及格的人都會被叫去做射擊預習,有時候,早上打完下午又被帶去打一次。好在最後兩次的打靶好像抓到絕竅了,每次都打五、六發,更誇張的一次就是明明就六發子彈卻中了八發,連隔壁鄰兵都以火力來支援我。
現在終於放結訓假了,即將和官田說再見了。接下來外島的日子又是一大個問號,不知道是好還是差,但現在也無法想這麼多了,先好好把握這七天的結訓假才是最重要的。

2008年10月18日 星期六

懇親假

懇親假終於到了,感謝爸媽一大早六點半就到了營區早早把我領了出來,雖說都要到下午一點多才可以放人,但能先被領出去感覺還是不一樣,整個人放鬆好多。這十天真的是渡日如年阿,害我天天都在盼望懇親這天。

之前從網路上得知官田營區有官田渡假村的名號,經過我進去探查十天的結果,發現這根本就是騙人的。也不是說很操,但我覺得最不能適應的就是每次的集合都好趕,才剛上去寢室就要馬上衝下去集合。偏偏內務櫃在遙遠的一端,只要需要換裝或是拿碗筷的時候,都跑的相當匆忙,好幾次都差點趕不上集合。另一個感到痛苦的就是單兵戰鬥教練,也就是全副武裝,鋼盔、S腰帶、步槍,然後在看似草地上(其實都是沙土和碎石),不斷的臥倒、伏進、戰鬥蹲姿等(還有更誇張的以足節蟲方式移動)。其實若單純操這些課也就算了,但台南天氣真的是太熱了,好幾次都快暈了。

目前對我來講,新訓的熱趣僅剩下認識了新的朋友、午餐有冰棒、晚餐有甜湯,出外操單兵可以打小蜜蜂,其它的回憶都是痛苦的。

明後天是懇親假,但實際上也只有放明天而已,因為後天早上十一點半就要集體去搭車返營了。但也已經無法思考明天要做什麼,在家休息吧~~

2008年10月7日 星期二

國軍Online

在畢業和等兵單這段時間,總感覺渡日如年,時間過得好慢。但就在收到兵單後,沒想到一轉眼明天就要入伍了。既然這是應盡的義務,所以就趕緊調整好心情,玩玩大家所稱呼的國軍Online。
現在當兵不再像以前那樣兩年那麼久,一年再扣掉軍訓課折抵的役期,算一算,十一個月又八天,也許一轉眼就過了。
那入伍前一天的心情是如何呢?其實也不會特別緊張,反而感覺腦袋有點空空的。作息和之前沒什麼兩樣,烏龍派出所還是照看,電動還是照打。唯一比較不同的就是像程式要花腦力的東西這三四天都沒再碰了。
再沒多久就要去睡覺了,醒來後,即將面對的是截然不同的生活,或許一開始還不太能適應,但還是希望可以在軍旅生涯留下美好的回憶。

2008年10月5日 星期日

平安之旅

因為快入伍了,所以今天一早就被我爸挖起來,帶我回宜蘭老家拜拜,這對於那麼久沒早起的我真是一大折磨,因此我一路從台北睡到宜蘭,但其實也只是多睡了一個小時而已,雪隧實在是太快了。然而這次的回鄉之旅卻有一個意外的收穫,那就是姑姑包給了我兩千元紅包,在要回台北的時候,阿嬤也給我了一個兩千塊的紅包。這是自從畢業後,難得唯一的收入了,這段等當兵的日子,可以說是日不敷出,一直在花老本阿。 在要準備開車回台北的時候還發生了一個小插曲,那就是車子輪胎旁邊竟然有一隻蛇,這可真是嚇死我了。這還是第一次在宜蘭家看見有蛇的蹤跡。看了一下,感覺這條蛇沒啥攻擊性,我爸最後拿了竹掃把把他趕出家門口,然後他就很快從外面的大水溝的一個小洞跑走了。 在回家的途中,又順道去了行天宮拜拜,我爸還搞笑說他要去行天宮裡面收驚一下,說被蛇嚇到了。但可惜的是今天行天宮好像是有舉行什麼儀式,所以沒有提供收驚服務,只好做罷囉。 在離開行天宮就快到家的時候,又臨時提議要到二重疏洪道旁的微風運河走走,所以又繞到那去了。算一算,也好久沒來了,感覺變好多,雖然就在家附近而已,卻沒來過幾次。二重疏洪道現在真的變得蠻漂亮的,還有長長的腳踏車道,而且還可以直通八里左岸。以後有機會應該來騎一下的。

其實不能釣魚,卻還是一堆人手裡拿著釣竿

2008年10月4日 星期六

久違的球賽

自從收到兵單後,就想說應該要多出去走走,不能老待在家裡。所以阿,當初就想說一定要在入伍前到現場看一場棒球賽,而今天終於如願以償了,和阿佑、小武一同去新莊看了統一獅出戰米迪亞暴龍的比賽。同時這也是他們兩個人現場看職棒的處女秀。
距離上次在新莊球場看棒球是我高中的時候,感覺好久遠喔。新莊球場不管外野還是內野都有椅子,蠻乾淨的,坐起來也舒適,不像在台中球場或是以前的台北市立棒球場都只能坐水泥地。
而距離上次到現場看棒球的時候,是在台中球場看統一上半球季封王那場比賽。所以一年也才只看了這麼兩場,好像太不給他捧場了。而以後當兵、出社會後看的機會不就更少了。

來說說今天的比賽好了,今天是暴龍的主場,但到現場後很明顯看到獅迷人數還是多很多。今天依舊是坐在外野,遠離那加油聲,同時也比較便宜囉。不過,今天的比賽真的很神奇,兩隊總共加起來得到十分,但竟然只花了兩小時又十二分鐘就結束比賽了。還有今天覺得比較可惜的就是布雷今天沒有發揮,害我多帶了兩個幫手也沒機會撿全壘打球。





比賽結束後,大家就提議去船老大吃大餐。記得以前也在這歡送同學們去當兵,現在換他們歡送我了。

2008年10月2日 星期四

bool

在C99有新增了bool型態,定義在stdbool.h。然而若所使用的編譯器還沒支援到C99的話,可以用:
enum bool {false, true};
如此也可以達到同樣的目的。

2008年10月1日 星期三

memcpy() memmove()

若要執行字串複製的話,可以使用strcpy()和strncpy()來達成。然而,若非字元陣列型態的該如何複製呢?一般可能會想到用迴圈一個接著一個複製過去。在string.h裡其實還提供兩個好用的函式:memcpy()和memmove(),他們的prototype分別為:

void *memcpy(void * restrict s1, const void *restrict s2, size_t n);
void *memmove(void *s1, const void *s2, size_t n);

這兩個函式都是將s2複製到s1,差別在於memcpy()是假設s1與s2沒有重疊區域,所以若將memcpy用來有重疊的區域上的話,會造成無法預期的結果。最後一個參數是總共要複製多少個Bytes。

qsort

Quick sort是非常有效率的排序演算法,而C也有實作了quick sort的演算法,名為qsort。我們可以用它來快速的排序陣列。

qsort的prototype為
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));

總共有四個參數,第一個參數為指向我們要排序的陣列第一個位址的指標;第二個參數則是總共有幾個元素要排序;第三個參數為陣列裡的每一個元素的大小;最後一個參數是一個指標函式,用來決定排序的方法。此函式要回傳一個整數,正數表示第一個元素應該在第二個元素後,等號表示兩者相同,負數表示第一個元素在第二個之前。

在這我們可以看到型別幾乎都是void *,主要是因為ANSI C允許任何指標型態轉型成void *,使用void *則可讓qsort支援任何型態的排序。

以下用小程式來說明,對一個整數陣列做由小到大做排序:

#include
#include
#define NUM 15

void random_array(int array[], int number);
int mycompare(const void *p1, const void *p2);

int main(void)
{
int array[NUM];
random_array(array, NUM);
qsort(array, NUM, sizeof(int), mycompare);

return 0;
}
void random_array(int array[], int number) {
int i;

for(i = 0; i < number; i++)
array[i] = rand() % 100;
}
int mycompare(const void *p1, const void *p2) {
const int *v1 = (const int *)p1;
const int *v2 = (const int *)p2;

if(*v1 > *v2)
return 1;
else if(*v1 == *v2)
return 0;
else
return -1;
}

2008年9月30日 星期二

取得圓周率值

math library提供了許多常見的數學運算函式,其中也包括三角函數。然而對於圓周率(pi)值並沒有常數的定義,我們可以利用反三角函數來取得pi值:

圓周率 = 4 * atan(1)

在數學運算中,我們比較熟悉的是夾角的角度,而math library的三角函數回傳值皆以弧度(radian),所以我們可以自行定義一個常數來轉換。

#define RADIAN_TO_DEGREE (180 / (4 * atan(1)))

2008年9月29日 星期一

ldd

ldd可以用來顯示每個程式所使用到的shared library。ldd其實是一個shell script而不是執行檔。

在linux,我們可以將程式編譯成靜態連結或是動態連結,在這以hello.c來解釋。

#include 
int main(void) {
printf("Hello world!\n");
return 0;
}


用gcc編譯
# gcc hello.c -o hello
則會產生hello的執行檔,而其預設是使用動態連結的方式:

用file指令來檢視其屬性
# file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

用ldd來檢視共用了哪些shared library
# ldd hello
linux-gate.so.1 => (0xb7f6a000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7dfd000)
/lib/ld-linux.so.2 (0xb7f6b000)

此外,此檔案的大小為
# ls -l hello
-rwxr-xr-x 1 howard howard 6256 2008-09-30 00:00 hello

上述為程式使用動態連結,我們也可以將程式編譯成靜態連結:
# gcc -static hello.c -o hello

用file來檢視,可以看到顯示為靜態連結
# file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.8, not stripped

用ldd來檢視,自然沒使用到任何shared library
# ldd hello
not a dynamic executable

再來檢視檔案的大小
# ls -l hello
-rwxr-xr-x 1 howard howard 564881 2008-09-30 00:07 hello

我們可以看到檔案大小為564881 Bytes,相對於之前用動態連結只用了6256 Bytes,足足大上快一百倍。可見使用動態連結能大大節省空間。

2008年9月28日 星期日

Linux Library

Program library指的就是包含已編譯好的程式碼和資料,可以拿來被其它程式來運作。可以依程式與library結合的時間將library分成三類:

  • static library:
這些library必須先和程式結合成為執行檔,才能執行。static library其實就是一堆object file集合在一起,以.a為副檔名。
  • shared library:
在程式啟始時,這些library才被載入。library和執行檔是分開的,以.so為副檔名。
  • dynamically loaded library:
可以在程式執行的任何時間內載入這些library,就像Windows下的DLL。

2008年9月27日 星期六

願者上鉤

姜太公釣魚,願者上鉤。

今天是第二次和朋友們一塊去釣蝦,但與其說我去釣蝦,不如說是陪釣員,因為我不吃蝦子,所以我甚至希望朋友們釣到可以把他們放生回去,不過看來遊說是失敗的。
自從有了上次很悲慘的經驗,就是兩支釣竿共三小時竟然只釣到了三隻蝦子,就覺得釣蝦還真是需要一些技術阿,蝦子們看起來是會上鉤,但吃到了餌就跑了。

由於我在釣蝦場無所事事,只好來幫他們記錄第一隻釣到的蝦子。




不過,今天在釣蝦場遇到了一個阿伯,他非常的熱心的傳授他的釣蝦經驗給阿佑。結果阿,這次釣的量大約就十五、六隻左右,遠大於上次的三隻。


果然姜太公的釣法在現實生活是行不通的

2008年9月25日 星期四

三聚氰胺

毒奶粉事件愈演愈烈,主要的原兇就是三聚氰胺。那就來對三聚氰胺做個簡介:
摘錄自衛生署網站

三聚氰胺(Melamine):
它是一種白色化工原料,無味、略溶於水,可溶於酒精、甲醇,常用於製告美耐皿餐具、建材、塗料,具毒性,不可添加於食品。

對人體的危害:
經腸胃吸收後,可能於腎臟中結合沈積,形成腎結石,嚴重者會造成腎臟功能受損;這種現象較易發生在腎臟尚未發育完全的嬰幼兒。

不肖廠商為什麼要在奶粉中添加三聚氰胺?
奶粉主要以蛋白質含量高低為品級分類,為通過奶粉中蛋白質含量檢測,不肖廠商才加入三聚氰胺。

macro與inline差異

C99標準新增了inline function的定義,標準說:「Making a function an inline function suggests that calls to the function be as fast as possible.」其中由suggest一詞就可以知道實際的運作要看compiler如何實作,也許真的會讓function的呼叫變快,也可能什麼事都沒發生。

而macro與inline的差異:

  • macro是由preprocessor處理,由inline則是compiler來負責
  • macro對於檢查傳入參數的型別,而inline則會檢查型別

假設定義平方的巨集如下:
#define SQUARE(x) x * x
若執行
SQUARE(3+2);
則答案並不會預期印出25,而是11,因為macro只是當純的文字替換,所以式子將會變成:
3 + 2 * 3 + 2

因此,正確安全的寫法如下:
#define SQUARE(x) ((x) * (x))
而inline的寫法就和一般的function寫法一樣:
inline int square(int x) {
return x * x;
}

取得Macro的參數字串

除了一般function的寫法外,function也可以用macro來定義,例如定義一個可以印出某數的平方值:

#define SQUARE(x) printf("The square of x is %d\n", ((x)*(x)))
當程式碼始用
SQUARE(5);
則會輸出
The square of x is 25

我們可以利用#來取得macro參數的名字
#define SQUARE(x) printf("The square of " #x " is %d\n", ((x)*(x)))
輸出結果則會變成
The square of 5 is 25

2008年9月23日 星期二

就是愛計較 (Java版)

記得在幾個月前,曾經也動手要寫一個記帳的程式,來記錄每一天的開銷。但寫了一小部份後,開始對於該如何存放資料感到煩惱,感覺用一般的檔案讀寫,不是很符合程式的需求,因為隨時都可能須要對過去的資料做查詢、刪除及一些處理,用資料庫系統來管理會比較適合。但說到資料庫,若要求每個使用者都自己先建好一個可用的資料庫又不太可能,所以這個程式就開始停擺沒寫了。

前些日子,看到昔日的強者同學剛好也寫了一個記帳程式,發現他是用一種嵌入式的資料庫SQLite,也就是可以和所開發的程式包在一起,程式啟動時同時也啟動資料庫,感覺蠻適合用來開發程式的。但由於SQLite是用C寫的,所以便開始想找找看有沒有用Java寫的嵌入式資料庫系統,很幸運的被我找到了,原來在Java 6本身就已經包含一個名為Java DB(Apache Derby)的資料庫系統,所以就開始著手找一些相關的文件,學學如何使用Java DB。

既然資料庫的問題解決了,所以便打算重新繼續開發記帳程式,在寫程式之前,有先參考了這位強者同學寫的記帳軟體,因為我使用者介面的設計能力真的很差,所以介面就有點模仿他的,但功能還是沒有他寫的完整就是了,大家可以到下面網址使用他的軟體。

豬頭記帳


接下來就來簡介一下自己寫的程式,當然是不能和強者同學寫的相提並論,我只是單純練習用的。

程式下載區

程式外觀主要有四個分頁

  • 新增記錄 - 可用來新增每一筆的收入與支出,類別的部分可以自行修改,下面會列出最近十筆的輸入資料。

  • 資料統計 - 列出本日、本月、本年以及全部的收入支出總額,另外以圓餅圖來顯示所有支出中,各類別所佔的比例。


  • 檢視/刪除 - 可以用來查詢任何一天的記錄,並刪除該筆記錄。



  • 類別設定 - 可以修改、新增、刪除類別與子類別項目,若修改或刪除的類別或子類別包含已存在的記錄,則該筆記錄的類別或子類別項目會變成不分類。




第一次寫程式用到資料庫系統,雖然研究所時修過資料庫系統,但真的都忘的差不多了。害我趕緊把書給挖了出來,但由於我把系統寫的很單純,所以也沒有用到什麼複雜的查詢。資料庫系統真是一門很深的學問,我還要再多學學才行。

在寫這一個程式時,漸漸發覺當程式功能愈多的時候,還是多人一起開發會比較輕鬆吧,雖說這個程式沒有很大,但因為很多東西都第一次碰,所以寫到最後,開始有點討厭程式。其實本來預期的功能應該不只這些,只是有點累了,就先寫到這樣吧!

2008年9月22日 星期一

記得這裡的愛最多

為了去辦役期抵免的證明,今天又重新踏進永春高中的校園。在一路往永春高中的路途上,漸漸喚醒我快遺忘的記憶,公車路線依舊不變,但卻已經隔了五年之久。299號公車坐到最後一站就到了。對於高中時候的我,這公車可是我天天的夢魘。由於我家下一站就是台北車站,所以每次公車到了我家這一站的時候,乘客可以說是滿滿滿,每個人都要各憑本事才能擠上299。因此為了避免遲到,每天都六點就起床了,六點二十分就去等公車,但因為我沒有搶公車的本領,所以常常還是會錯過好多班才搭上公車,有一次最扯的就是竟然遲到了。
高中生活除了等公車這個不好的印象外,另一個比較有印象的就是永春的校歌『記得這裡的愛最多』。到現在我還是會唱喔,這可是我從小到大唯一記得的一首校歌,常常閒來沒事也會來啍個幾句。詞曲是小蟲所創作的,大家若有興趣的話,可以按下面的連結聽聽看。

這裡的愛最多


到了永春高中,就先到教務處先申請成績單,然後就到旁邊的教官室蓋個章就完成,過程蠻快的。不過,走在永春校園,我發現一切都好陌生喔,怎麼會這樣呢?懷疑我真的在這讀了三年嗎?
今天要特別感謝大山貓陪我一起到永春去,不然一個人去有種近鄉情怯的感覺。拿到證明後,本來想要順便在校園逛逛的,但天公真的是不作美,只好作罷。拿起手機隨手拍了幾張照片記念一下,因為不知下次何時才會再回來了。

操場


永春高中其實有很多階梯,這只是冰山一角


永春高中就位於象山上


將照片放到電腦上才發現原來階梯上排了YC二字,就是永春啦

2008年9月21日 星期日

倦怠期

沒想到寫部落格也會有倦怠期...

記得以前閒來無事,可能一天就發個一兩篇的心情文;一出去玩,回家就找個一兩張照片寫個遊記;學會新的事物,馬上就寫個教學文來幫助自己記憶。

但最近這些文章愈來愈少了,感覺少了一點動力。最近新學會了許多關於程式方面的用法、前天晚上烤肉從半夜烤到天亮,還有剛和一群朋友看完海角七號回來。以前的我,早寫了好幾篇文章了,只是到現在一篇都沒有。好在現在正在打這一篇。

會感到這麼沒動力,我想可能是因為最近在寫一個記帳程式,從開始寫到現在,無時無刻都在想該怎麼寫比較好,這樣寫會有什麼問題,搞到自己都開始有點討厭寫程式了。朋友都說當兵前還寫什麼程式,應該讓自己放鬆才是。其實這麼說好像也有點道理,而且自己也沒多會寫程式,與其說寫給別人用,不如說是寫給自己用,想了太多自己不會遇到的問題。總覺得自己太急了,想要很快的寫好每一個功能,犯了欲速則不達的大忌。

以前開始寫部落格的原因,最主要的就是想記錄生活的點點滴滴和一些自己的學習歷程。看來不能再偷懶了,改天趕緊補上幾篇自己學會的新事物。

2008年9月14日 星期日

防禦SQL Injection

SQL Injection一般指使用者藉由輸入的資料內嵌的SQL指令來攻擊系統。

例:一個登入系統要求使用者輸入帳號密碼

若程式碼為下:
String sql = "select * from user where username='" + username +"' and password='" + password + "'";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);


若使用者已知某帳號如admin,可輸入admin'--。或是用未知的使用者登入,可輸入'or 1=1--,密碼欄位亂填,則SQL語法將變成:

select * from user where username='admin'-- and password='xxxx'
select * from user where username=''or 1=1-- and password=' '

即可成功登入系統,--為註解。

Java程式語言可以用Prepared Statements來解決,也就是預先參數化你想要的SQL語法。

例:
String sql = "select * from user where userId = ? ";
PreparedStatement preparedStmt = con.prepareStatement(sql);
preparedStmt.setString(1, userId);
ResultSet rs = prepStmt.executeQuery();

如此便不用擔心userId變數包含SQL語法了。

2008年9月13日 星期六

Key

資料庫的Key簡介

  • super key:屬性的集合可以用來唯一辨識資料表中的每一筆紀綠
  • candidate key:最小的super key都稱為candidate key
  • primary key:資料庫設計者選擇其中一個candidate key來辨識每一筆資料
  • foreign key:資料表的某些屬性剛好對應到其它資料表的primary key,稱為foreign key

2008年9月8日 星期一

樂透機(Java版)

最近怎麼開始都在寫簡單的程式了呢?主要是因為恰巧有這個需求,所以就順手來寫了一個。像若是單純只寫文字介面的話,只要短短幾行就寫好了。不過,我想或許其它人也有這個需求,所以就把它寫成視窗程式,有興趣的可以下載使用看看。

程式下載區 (若不能執行表示你的系統未安裝JRE 6)

IE好像下載時會將以.zip儲存,若要正確執行,請將附檔名改成.jar。


例:希望從1到1000中,隨機產生5組號碼,且這5組號碼可以重複。

執行畫面如下:




所以,功能很單純。就是使用者可以自己設定一個範圍,並選擇想要產生幾組數字,按下好運氣,結果會產生在下面。像大樂透的玩法是1到49任選六個號碼,所以就可以在程式中輸到1和49,選擇6組數字,千萬別勾選可重複號碼喔!

p.s. 要是真的那麼好中就好了,所以千萬別這樣就簽下去了,除非你是抱著做公益的心態去簽^__^

2008年9月7日 星期日

蝴蝶效應

記得當時在看求婚大作戰的時候,小書書有推薦我看一部電影「蝴蝶效應」,一樣是透過照片而回到過去,但可惜的就是目前還沒機會看到這部。不過今天晚上cinemax要播出蝴蝶效應二,所以我當然就守在電視機前,沒看過一,不能再錯過二了。
電影的情節大致就是男主角的女朋友在一場車禍身亡後,男主角偶然透過照片回到了發生車禍前的那段時間,閃避了那場車禍,回到現在的時間,過去的確被改變了。於是他便發覺他具有回到過去的能力。因此,往後只要發生不滿意的事,他便想回到過去再改變...。然而事情當然沒他想得那麼簡單,每當他回去改變了某件事,對未來便會產生層層的連鎖效應。哪怕只是小小的改變,便足以影響許多人的命運。

或許很多人都一樣,對於過去的某些事感到懊悔,多麼希望過去能重新來過,改變這一切。但實際上,你我並沒有回到過去的能力,與其想改變過去,不如學習接受過去的一切,活在當下。「改變,從現在開始。」

不過,我也多麼希望我能有回到過去的能力阿~~~但要真的有這種能力,那還真是恐佈阿~~

2008年9月4日 星期四

calloc()

C有提供在程式執行時,可以向系統要求分配記憶體,如常用的malloc(),用法如下:

double * ptr;
ptr = (double *)malloc(20 * sizeof(double));

上例是向系統要求20個記憶體空間,每個空間可以存放double值。除了malloc()外,還有另一個要求記憶體的函式calloc()。用法如下:

double * ptr;
ptr = (double *)calloc(20, sizeof(double));

差別在於calloc需要兩個參數,第一個是多少個記憶體空間,第二個則是每個空間所需要的大小。calloc()的另一個特色是他會將所有bit都設成0。

2008年9月2日 星期二

firefox 3.0.1異常

自從Debian(Lenny)的firefox升級到3.0.1後,開啟firefox時,系統就會出現回報錯誤的視窗。造成這個問題的原因主要是在gcin和firefox相容的問題。目前Lenny的gcin版本停留在1.4.0,只要升級到1.4.2以上的版本便可解決此問題。

指標常見的錯誤

先看以下的例子:

int *ptr;
*ptr = 5;

這程式碼有什麼問題呢?第二行是要將5存在ptr指標指向的位置,然而實際上ptr並沒有做初始化的動作,所以裡面的值存的是一個亂數值,所以5會不知道該存在哪,可能導致資料會覆寫或者讓程式crash。要記住的一點是當宣告一個指標變數時,系統只分配了儲存此指標的記憶體空間,我們應該還要將它初始化,如指派已配置空間的記憶體位址或者使用malloc()。


印象中我好像常常犯這個錯誤~~

陣列相加

若要計算陣列的總合,可以用以下簡單的function解決:

int sum(int array[], int size) {
    int i;
    int total = 0

    for(i = 0; i < n; i++) 
        total += array[i];

    return total;
}

然而,我們也可以用指標的方式來達到這個效果:

int sum(int *start, int *end) {
    int total = 0;

    // 這邊的end是指向陣列最後元素的下一個
    while(start < end) {
        total += *start;
        start++
        // 也可以用*start++來取代上述兩行
    }

    return total;
}

其中*start++的意思就是*(start++),加上括號可以讓程式碼更清楚明瞭。

2008年8月26日 星期二

%f vs. %lf

關於double型態的變數,在printf()和scanf()的用法有些許不同。在printf()中對於float和double都可以使用%f來印出數值。然而在scanf()如下例,便會出現問題:

double a;
scanf("%f", &a);

正確的用法應該使用%lf

為何scanf()和printf()對於double的處理方法不一樣?
在printf()裡,float型態會被promote成double型態。而在scanf()裡,並沒有任何的promote,而且透過指標來儲存double和float相異非常大,所以才會區分出%f和%lf。

2008年8月21日 星期四

單字王(Java版)

自從高中畢業後,就發現自己的英文程度每況愈下。除了文法忘光光外,這幾年在大學或是研究所,增加的英文字彙就僅止於電腦領域。所以,就突發奇想,寫了一個小程式來幫助自己多記憶一些單字。

這次寫的這一個程式(單字王)相當簡單,所以整個程式連一行註解都沒寫,但我知道這是個很不好的習慣啦。

程式下載區 (若不能執行表示你的系統未安裝JRE 6)

程式的功能很單純,主要有三個:

  • 新增:將想背的單字與中文解釋加到單字庫裡。
  • 刪除:可以將單字從單字庫移除。
  • 隨堂考:可隨機從單字庫挑出單字來測驗。

程式執行畫面如下:


註:一開始我有先在單字庫加上一個scarf的字彙在單字庫裡,使用者可以自行刪除。由於隨堂考是採取隨機選取,所以若單字庫的字彙很少的話,很容易會出現複的單字出現。相信隨著時間,大家的單字庫也會滿滿滿的。

2008年8月15日 星期五

中華隊加油

有人說「今天是台灣棒球史上最黑暗的一天!」

的確,看完今天這場比賽後,相信很多人也和我一樣到現在心情還是很難平復,不敢相信中華隊今天竟然輸給了中國隊,但它確實發生了。然而,中國棒球的實力真的已經追上台灣了嗎?

以下是我自己的觀點,我是覺得中國的棒球水平應該還是差台灣一截。然而為什麼會輸呢?我是覺得今天發生了許多隱形的失誤,不管是跑壘還是守備方面。或許真的短時間連續兩場比賽,導致專注力不夠或是有不能輸中國隊的那種壓力才打的綁手綁腳的,但就像賽後洪一中接受訪問時講的,輸了就是輸了,沒有理由。

緊接而來的賽事場場都是硬仗,希望中華隊能打起精神來,努力的奮戰到最後一刻吧!


大家都說棒球是台灣的國球,然而棒球真的有這麼普及嗎?我身旁的朋友會想打棒球的人可以說是少之又少。棒球的實力最重要的還是基層的培養,哪天我們的小學生都像大雄技安一樣,放學後就跑去打棒球,相信台灣棒球水平也能趕上甚至超前日本的。

2008年8月8日 星期五

兵種抽籤

千呼萬盼終於等到抽籤的日子了,之前就一直卡在還沒抽籤所以沒辦法申請提前入營,總算讓我等到了。抽籤是在市公所九樓的大禮堂,到了那裡,就發現有好多都有家長陪同,可見父母對小孩的關心。然而我都這麼大了,這種小事就自己來囉。
現場抽籤的人比我想像還要多,好在我是第十四號,一開始就輪到我了。總共有一百八十隻籤,其中,一百三十支是陸軍、十六支海軍艦艇兵、十六支海軍陸戰隊以及十八支空軍。對我而言,下下籤當然就是海軍陸戰隊囉,其次就是海軍艦艇兵,除了感覺會很操的樣子,再來就是我不習水性囉。
開始抽的時候,因為都會唱名抽到的兵種,就在我抽之前竟然前面就有人中海軍艦艇兵和海軍陸戰隊了,真是恐佈。輪到我抽的時候,想說沒這麼幸運吧,機率那麼小的籤還會抽中。沒想到,我真的中了機率非常小的籤----空軍。




雖然感覺上空軍好像比較好的樣子,但我在抽籤時從沒想說要中空軍,想說陸軍就好。沒想到竟然中了空軍。我同學就是空軍退伍的,當初就在松山機場那服役,要是也能在這麼近的地方該有多好。

不過,好像空軍也有很操的單位,但一切都是命囉,以後就知道了,現在就真的要等兵單了。

2008年8月7日 星期四

surveillance

surveillance
n. 監視、監督

video surveillance system 監視系統,如路邊的監視器

2008年8月5日 星期二

華盛頓州與華盛頓特區

我果然是地理白痴,原來華盛頓州和華盛頓哥倫比亞特區(Washinhton, D.C)是沒啥關係的。光地理位置就離很遠。
華盛頓州位於美國西北部,東鄰愛達荷州(Idaho),西鄰太平洋,南鄰奧勒崗州(Oregon),北與加拿大接壤,著名的西雅圖(Seattle)就在這。而華盛頓特區則是美國的首都,位於美國東部,白宮就在這囉。

zero in on

zero in on

phrase 向...集中注意力

The police zeroed in on the suspicious man.

2008年8月4日 星期一

entree

entree

n. 美式用法代表主菜的意思

2008年8月3日 星期日

大稻埕煙火節

因為大稻埕煙火節有點像是為了迎接七夕而主辦的,所以我就找了我姊,偽情侶一起去看煙火了。由於很不巧的是忠孝橋就在我家隔壁,所以不管是國慶煙火還是現在的大稻埕煙火節,都可以親自到堤防旁和煙火做近距離的接觸。
煙火施放時間是晚上八點半到九點,但我記錯成八點,所以大約七點四十分就到了現場,害我一直被我姊唸。不過,雖說是早到,但現場已經是人山人海了,很多人看起來都是有備而來,感覺就是來野餐的,更扯的是,有人早就卡好位置在那裡烤起肉來了。
大稻埕煙火規模雖比不上國慶煙火,但我還是很期待煙火瀑布的出現。煙火開始的第一砲有點讓大家嚇到,沒想到發射地點竟距離大約百公尺左右,難怪一開始覺得很奇怪,那裡為什麼要封起來。這次比較特別的煙火,除了煙火瀑布外,就是還有大樓煙火秀,心形、笑臉等特別圖案的煙火了。





有用相機錄了幾段,稍微將影片合併一下。

2008年7月31日 星期四

反式脂肪

反式脂肪(Trans Fat)屬於不飽和脂肪酸,反式脂肪的主要來源是以氫化植物油。然而反式脂肪不僅對於健康沒有益處,而且還會提高罹患冠狀動脈心臟病的機率,因為它會使俗稱壞膽固醇的低密度脂蛋白增加,也會降低高密度脂蛋白(好膽固醇)。因此,應避免攝取過多的反式脂肪。

2008年7月29日 星期二

通用的編核心方式

之前介紹過如何用Debian的方式來編譯核心,將它變成deb檔。現在要介紹的是用傳統的方法來編譯,適用於各個不同版本的linux下。

下載所需的核心並解壓縮在/usr/src裡
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
# tar jxvf linux-2.6.25.tar.bz2
# cd /usr/src linux-2.6.25
# make clean

編輯所要編譯核心,設定是靜態還是動態連結到核心裡。最後會產生一個.config檔
# make menuconfig

開始編譯核心,產生一個壓縮的boot image,如果是x86的電腦,會產生在arch/x86/boot/bzImage
# make bzImage

編譯及安核心模組。模組會被放置在/lib/modules/`uname -r`/這個目錄裡
# make modules
# make modules_install

將產生的boot image複製到/boot,並改名成vmlinuz-2.6.25
# cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.25

更新bootloader,在這,我們是使用grub。
# update-grub

重開機即可。


若在開機的過程發生問題時,可能核心還需要initrd的幫助。

Initial ramdisk (initrd)是一個初始的root file system。它會在真實的root file system可使用之前被掛載使用。initrd是依附在Kernel上,他的載入視為是Kernel開機程序的一部份。Kernel然後將此 initrd掛載進來,載入相關的模組,讓真實的root file system可以使用,並取得真正的root file system。
initrd包含一個極小集合的目錄和可執行檔來完成它的工作,如insmod來將Kernel module載入。然而,initrd只是一個短暫的file system,用來橋接真正的root file system,一旦完成任務,它將會被卸載,釋放記憶體。

所以,可以利用工具(mkinitramfs來建立initrd檔案
# cd /boot
# mkinitramfs -o 2.6.25-initrd 2.6.25
# update-grub

即完成。

2008年7月28日 星期一

2008-07-26~27 溪頭二日遊

還記得去年才參加了爸公司的谷關二日遊,轉眼間,一年一度的員工旅遊又到了,這次的目的地恰巧就是我一個月前才去過的溪頭。這次的陣仗又更多人了,大概有八十幾個人。此次的行程安排兩個主要景點,第一天是在杉林溪,第二天則是遊溪頭。我喜歡這樣的安排,不用趕時間走馬看花,可以這樣的自由活動。

第一天:
由於六點半就要從公司出發,所以我們全家大概都在五點半左右起床開始準備,好在我前一天一早就睡了,精神特別好。坐上遊覽車後,就一路南下到杉林溪去,到達的時候大約十一點多吃午飯的時候。吃完午飯就開始了遊杉林溪了。

路線大致如下:松瀧岩瀑布→99吊橋→先民隧道→千古紅檜→天地眼→樂山步道→藥花園

松瀧岩瀑布


99吊橋(感覺蠻普通的)



先民隧道


千古紅檜


天地眼


在這,還難得拍下了全家福照


大約在這待到四點半左右,就前往溪頭的立德飯店。這次的飯店和上次實驗室不同的地方是它就是位於溪頭森林遊樂區裡。晚餐過後,飯店有提供夜間導覽的服務,介紹了一些這裡的生態環境和看螢火蟲了,不過不多就是了。其實最吸引我注意的是不是地上的星星,而是在天空的星星。好久沒看到這樣滿天的星空了。可惜,拍不下來。

第二天:
因為只有一個早上的時間,所以就只挑幾個重要景點來走,大學池和空中走廊。


大學池


空中走廊



本來還很擔心這次出遊的天氣,因為颱風要來了。好在天氣都一直不錯,玩得很盡興~~

2008年7月24日 星期四

xargs

xargs:將標準輸入之分行字串轉換成指令參數,也就是用來將某個輸出的結果當作另一個輸入的參數。以下面例子來解釋:

例:刪除檔名包含.bak的所有檔案
# find / -name "*.bak" | xargs rm -rf

2008年7月23日 星期三

俄羅斯方塊(Java版)

隔了好長的一段時間,終於又寫好了一個Java的小遊戲。這次要挑戰的是俄羅斯方塊。
這次的程式設計技巧上是有用到貼圖(Sprite)的概念,好像很多遊戲都是用貼圖,像是瑪莉兄弟之類的。

程式下載區 (若不能執行表示你的系統未安裝JRE 6)

本來是想另外畫方塊的圖來表示各種圖形,但由於懶惰的關係,所以都是用內建的畫圖函式畫的。

下圖就是遊戲執行的畫面,畫面陽春了點,不過真的可以玩喔。



操作方法: 左、右鍵控制方向,上鍵旋轉方塊、下鍵急速下墜,以及空白鍵可以暫停。

遊戲規則:每一萬分後會升一級,速度會加快。十萬分就全破了。


自己寫遊戲的好處除了是練功外,另外一個就是規則都可以自己訂喔,呵~~
美中不足的地方就是遊戲沒加上音效,不過我覺得大家開電腦多半都會開音樂來聽~~

2008年7月19日 星期六

桃園慈湖、小烏來一日遊

每次和朋友的行程都很臨時,就在昨天晚上九點多的時候,阿佑和昱銓就說要開車去玩,經過一翻討論後,就決定來個桃園一日遊。雖然我還比較想來看看長毛象之類的活動,但一票不敵兩票,所以長毛象就看緣份了。
其實出發時,我完全不知道行程是啥,我只被分配到一個工作,就是帶我爸的導航機就好了。一問之下,才知原來第一個行程是要到慈湖。前一陣子,有關於慈湖的新聞還真不少。以前都只是從新聞看見,這次終於有機會一窺究竟了。

一想到慈湖,當然就少不了兩位蔣總統了,所以一開始就找他們一起合照。 我耶比錯邊了。


在前往陵寢的途中,巧遇一隻可愛的鳥,所以順手給他拍了下來,不過有點遠就是了。


以前只有在中正紀念堂就看過了衛兵交接的畫面,今天很幸運的也看到了交接儀式,不過人潮實在太多了,我只能把手舉高高的,拍了幾張照片。


慈湖旁還有一個特別的地方,那就是慈湖雕塑紀念公園,裡面放的全是蔣公的銅像。


在慈湖逛了一陣子後,就決定前往下一個目的地小烏來風景區。途中有經過一個復興橋,好像也是一個景點,所以也在這停留一下下。


小烏來這個地方根本就像是爬山,都是階梯,比較有名的好像有風動石和瀑布吧,所以就把整個區域繞了一大圈。




很少有機會可以到外縣市玩,雖然累但感覺很值得。不過說真的,出門有導航系統在手,去哪都方便多了。

2008年7月14日 星期一

Arrays.asList()

我們可以利用java.util.Arrays.asList()來將陣列轉成List。

例:若要初始化一個ArrayList name,包括Howard、Ashley、John

ArrayList name = new ArrayList(Arrays.asList("Howard", "Ashley", "John"));

2008年7月13日 星期日

赤壁有兩集

昨天,和國中好朋友們:阿佑、蒜督、昱銓約好去位於西門町的樂聲戲院看赤壁。本打算看八點那一場,由於沒有事先買票,所以我們約好六點四十五分就驅車前往。果然如預期的,人好多,光排隊買票就大排長龍,雖說這個戲院可以容納八百多人,但直覺就是好位置都沒了。最後,我們就決定把電影的場次往後移,看十點半那一場。
因此,就莫名多了將近三個小時的時間,總是要打發掉。由於大家都還沒吃晚餐,所以就決定找個店吃個晚飯。接下來就是耍白痴時間,三個小時吃個晚飯應該綽綽有餘才是,沒想到我們這段時間一直再走路,從西門町繞到台北車站又往回走到塔城街,最後又跑回西門町去吃肯德雞。
雖然吃個晚餐繞了一大圈,還是跑回原地,但我其實覺得蠻有趣的阿。「人生總是充滿驚奇,偶爾繞一下遠路也不錯。」

對於三國迷的我來講,赤壁當然不能錯過。整部片看完後,最失落的就是赤壁之戰還沒打完就播完了。都怪自己沒事先調查,沒做好心理準備,不然整部片拍攝是算蠻不錯的。對話的部份感覺是有點現代化了一點,而且諸葛亮這個角色多了些搞笑的成份。不過還算是可以接受。我比較有意見的應該是赤壁之戰前的那場陸戰。鋪陳太多,像一開始就將曹兵包圍住,應該一下子就可以全部殲滅,沒想到竟然讓武將一個一個上場殺陣,誇張的是,關羽一開始就把他的武器丟掉,然後搶別人的武器殺敵,還有更扯的就是張飛赤手空拳用撞的。到最後連周瑜也跳進去,還被射了一箭,真是無言。
不過,這部片相對於我之前看的三國之見龍卸甲,就好太多了。三國之見龍卸甲的劇情改的太扯了。
電影院看電影果然和在家裡看的感覺差好多,這麼大的電影院的聲光效果真是一級棒。然而,赤壁下集我就不確定會不會再去電影院看了。

2008年7月9日 星期三

跑步

當兵印象中就是要跑步,對於跑步最不在行的我來講,可真是頭痛。所以決定趁入伍前,每天晚上都來練跑一下。這禮拜一就已經開始跑了,今天是第三天了,感覺好像抓到一點訣竅。
跑步的第一天來本就預計只跑八百公尺,很順利的跑完,但感覺有點累。第二天就決定多跑個兩百公尺,跟第一天跑的速度一樣,跑是跑完了,但跑的上氣不接下氣的,累死我了。心想,這樣的話,我何時才能跑到三千公尺呢?所以阿,今天決定做個小改變,決定再放慢速度,然後跑個一千兩百公尺。沒想到,跑著跑著,非常的順暢,不知不覺就跑了兩千公尺,而且也沒有像之前兩天跑完那種疲累感。
看來這樣下去,三千公尺應該不是問題。高中後就很少在跑步了,所以體力感覺一直在走下坡,所以還是別操之過急,放慢速度雖然讓時間增長了,但我還是希望能先達到目標距離。
這幾天晚上都到運動場跑步,才發現運動場竟是如此熱鬧,用人山人海來形容一點也不誇張。我要加把勁才行囉~~~

2008年7月6日 星期日

好久不見的基隆廟口

今天的行程還真是滿滿滿,一大清早就被挖起來,到鄉下宜蘭看阿公阿嬤。下午一點左右在回台北的途中,又突然說要去逛一下深坑老街。回到家後,本來是說還要去逛饒河街夜市,但最後又改去基隆廟口。
對於我來講,也可以算是半個基隆人,但卻對基隆不是很熟,所以阿,廟口自然也沒去過幾次,所以這次去還蠻期待的。
說到廟口的小吃,印象中比較有名的好像就是天婦羅和鼎邊趖。但感覺每次都吃這幾樣,所以這次鼎邊趖就沒去吃了,吃了一些其它的的美食,包括一口吃香腸、泡泡冰等等。




最後走著走著,很幸運的在港口看到了麗星郵輪天秤號,現場看果然是驚人。但看起來應該是沒啥機會坐,所以只能在旁邊拍個幾張照片了。




回來後,雖然有點累,但還算是個蠻充實的一天。

2008年7月5日 星期六

珍重再見

花了一整個星期,昨天終於順利將畢業證書拿到手,果然事情常常都不如人意,總是會出現一些驚奇。
星期一好不容易從老師手中騙到老師手上的口試通過書和老師在離校手續單上的簽名,然後就將這頁通過書掃描到論文上去,再按照圖書館的需求,將論文轉成PDF檔並加上保全後,然後到圖書館的論文上傳網頁,登入論文資料、上傳電子檔案審核。第一次覺得學校超有效率,我晚上七點多傳上去,沒想到八點就審好了,成功拿到授權書。
星期二就將論文拿到正門口旁邊的影印店去印論文,一次總共印了七本,三本要交給圖書館,三個口委各一本,最後一本留給自己。花了不少的錢錢。
星期三拿到論文後,就準備拿去辦完所有的離校手續了,萬萬沒想到十多個該蓋的章只剩最後註冊組的兩個章的時候,被註冊組打了回來,原來是老師還沒把其中一門課的成績上傳上去,這樣就不能辦離校手續了。於是就跑回實驗室去找老師,啊,老師不在,學長打電話也打不通...,然後一天就這麼過了。
星期四,學長幫我們跟老師說成績還沒上傳,老師就說他忘記了,說會來上傳。所以阿,我們就等阿等,等到下午兩三點的時候,還是遲遲未看到成績,於是想再去找老師問問,結果,老師回家了。阿,不是說要上傳嗎?老師說晚上再傳上去。看來這一天又沒辦法辦離校了。其實今天不能辦也還好,反正本來就打算星期五再回家,因為這一天晚上已經和實驗室的同學們約好去吃趣味一下,結果阿,就在出發前幾分鐘,老師竟然出現了,而且是來找我,叫我來改一下期刊的東西,然後約明天中午一起吃飯。哇,整個心情盪到谷底。一直認為我這篇論文沒寫什麼特別的,竟然要為它一直改來改去,要去投期刊。真怕最後沒有投上,一切都做白工。晚上終於看見成績上傳了。
星期五一大早就和周伯通跑去註冊組辦最後的離校手續,終於,我拿到畢業證書了。


這次,真的要離開台中了,在這生活了六年,有好多好多的回憶。能畢業當然很開心,然而,要離開這裡更是令人感傷。朋友們,何時才能再聚首呢?珍重再見了~~

2008年6月28日 星期六

集集溪頭二日遊

為了歡送今年的畢業生,所以安排了27、28兩天的溪頭之旅,原星期五晚上的Meeting沒有延期,而是改在溪頭的飯店內舉行,真是有趣。
在還沒決定說要去溪頭前,其實我好幾個月前就被我媽拉去參加七月底我爸工作的公司舉辦的員工旅遊,好巧不巧,地點就是在溪頭。呵,本想說溪頭從沒去過,去一次也好,沒想到,短時間就要去兩次。
實驗室安排的行程很簡單,27中午出發,先到集集玩一個下午,然後晚上五點半到達溪頭的下榻飯店,吃完晚餐,來個Lab Meeting,然後KTV時間,準備睡覺。第二天,一早爬起來,吃早餐,進溪頭森林遊樂區。大致上是這樣,當然中間偶爾還是會安插一些其它的景點,非常彈性。
集集我也從沒去過,所以也有點期待,雖然到了目的地,好像跟自己期待的有些落差。不過,我終於也可以跟別人說我去過集集了。然而,要怎麼渡過這一整個下午呢?所以大家都租了腳踏車papago。我覺得呢,這邊租的腳踏車品質好像都不太好,光一路上,身邊就看過有三個人腳踏車落鏈,害我騎的也是膽顫心驚,而且非常不好騎。




騎了將近兩個小時的路程,只有一句話,「累」。結束了集集之行,就準備前往飯店去check in。一到了飯店第一個行程並不是去放行李,而是先來做竹筒飯。說是晚上九點會送到每個人的房間去。



晚餐過後,就開始進行了非常特別的一件事那就是Meeting。我是覺整個氣氛非常怪異,地點是一間KTV包廂舉行,同時呢,桌上看到的,除了是今天報告者準備的投影片外,還有高梁酒和啤酒。這一天應該是有始以來我喝的最多的一次了,第一次有那種昏昏的感覺。然而,我也終於親眼見識到喝醉酒後的人會有什麼的行為了。所以阿,喝酒的話,一定要知道自己的底限才好。報告結束後,包廂大致還剩一個半小時的時間可以唱歌。唉!不太會唱歌,點了伍佰「愛情的盡頭」,音太高唱不上去。結束後,就各自回房自由活動了。




第二天本來預計是六點半起床,六點五十分吃早餐,結束後,去溪頭森林遊樂區。沒想到,我五點多就莫名奇妙的醒來了,而且外面還下著不小的雨勢,本想說今天的行程可就辛苦了。好在,在入園後,天氣漸漸好轉,而且還感覺有點熱。簡單幾句話來描述這裡的感覺好了,就是不斷的爬階梯,然後就結束了。在這,主要就是欣賞風景囉,拍了不少的照片。





也許這會是我和實驗室的最後一次出遊了,但也是有可能像已畢業兩年的建佑學長特地回來一起參加這次的活動。但不管如何,這些都是珍貴的回憶~~~