2007年12月30日 星期日

change

偶而改變一下環境似乎還不錯

Simple is best !

2007年12月29日 星期六

感謝

對於父母我實在是很感謝很感謝
尤其是母親
每次回家我總是會給她幾個擁抱
她犧牲了很多,我希望她能夠快樂
父親跟我話不多,但他對我的支持不少於母親
我實在是很幸運也很幸福,有這麼好的父母親
也對以前的不成熟,感到非常羞愧與抱歉

我是一個不太會表達感情的人,雖然我慢慢的在改進
我給母親的那幾個擁抱中,已經包含我無限的感激
我認為很多事情,不需要言語
用行動來表示不是比較好嗎,不需要花言巧語,只要一個擁抱

看到一張小時候父親抱著我的照片
他是多麼的驕傲,高興
我從沒有看過父親的那種表情

只是要讓你們知道,我很愛你們

畢業冊

不得不說大學的畢業測製作的太棒了
每看一次都很感動,精蟲很用心的在製作,實在了不起

大學四年,我得到了些什麼,不記得了
回憶總是回隨著時間消失,人生50年,如夢似幻

愛過一個女生,她若有似無的回應我,最後殘忍的對我
兩年多的時間,我的心忽冷忽熱
有很多痛苦只能自己吞下去

大學幾乎沒什麼參與活動
不知道為什麼,跟同學們間好像有一道無形的牆
我在大學"沒什麼朋友"
至少沒有一個畢業後繼續保持聯絡的
我想問題是在我本身,也很後悔
為什麼浪費了這四年,想不通啊

不過看了精蟲的畢業紀念冊,他們歡樂似乎也感染了我
很開心的翻著,翻著
慢慢勾起那點回憶

2007年12月28日 星期五

擁有什麼的人就提心吊膽擔心有一天會失去
沒有什麼的人又擔心永遠什麼也沒有
早一點覺悟的人應該努力變得稍微強一點
from 聽風的歌

2007年12月27日 星期四

今天MVP句子

我的人生像用來擦精液的衛生紙,悲慘的躺在垃圾桶發臭。

在跟高中一位朋友聊MSN時忽然冒出這一句話
他好像得了免疫系統的疾病,休學在家養病中

我其中的專長之一,就是會讓別人發笑,因為我常常會神來一筆想到一些有趣的事情
如果可以,希望可以把這些好玩的東西,分享給大家
看來我比較適合當漫畫家啊

專討心得

很快的一學期又進入了尾聲,這學期我只修了兩門課,分別是[嵌入式系統設計]與[結構動力學]。以前都沒什麼機會接觸硬體的東西,在嵌入式系統這門課,終於有機會可以玩了,修課同學兩人一組用一個開發板( Creator母板,PXA270子板, DSP 5520子板, FPGA 子板),這門課非常有趣,有趣的東西不是上課的內容,老師上課都是說一些理論而已,有趣的是作業內容(修改Boot loader, 修改Linux Kernel, 編譯Linux Kernel, 自己設計電路, 了解IO device如何中斷CPU並傳遞訊息, 了解Memory mapped IO, 修改硬體驅動程式, 了解數位訊號處理, trace Linux原始碼,了解IRQ運作…),期末project更要我們做一個網路電話, 大部分學到東西都是自己動手玩板子,查資料學到的,老師上課只是講個概念,我很喜歡這種教學方式,研一上修了另一門[網路程式設計],也是相當操的一門課,作業非常的重(自己寫http server, socks server … ),但我也學到不少東西。另一門[結構動力]這門課是還蠻有趣的,但後半段多自由度對我有點吃力,鄭老師在上面教得很賣力,可惜我只能望著黑板發呆,還好老師出了不少作業,我也很用心的完成,可以救回一些失分。
我很幸運跟了林昌佑老師,他並沒有給學生什麼壓力,雖然這樣做對某些人不太好,但我會自己去找東西從中學習,倒也蠻自得其樂。
這學期專題討論是曾仁傑老師,看起來很年輕,也充滿活力的老師(這不是拍馬屁)。大部分的演講都是跟管理組一起,雖然聽了不少演講,但總是對內容不太感興趣,也許是考量到管理組他們對IT方面較不熟,但我比較希望能夠聽到將IT技術運用於實務或研究方面的演講。

這禮拜學校請張陸滿教授來演講,以及交大校友周教授都有提到跨領域合作是目前的趨勢,身為IT組的同學,我感到相當自豪。系主任提到:IT對我們而言只是工具,土木的事情還是必須由專業土木人員來解決(上帝歸上帝,佛陀歸佛陀),洪主任講話總是非常中肯,是我很尊敬的老師。每個人興趣志向都不一樣,沒有必要為了跨領域而跨領域,跨領域的目的是為了解決問題,對很多人而言本科都得很吃力了,怎麼去跨領域?能夠很早就發現自己興趣,又有適當環境發展的人,實在是很幸運,興趣是非常重要的,能讓你再辛苦都撐得下去的就是興趣,所以跨自己有興趣的領域才是對的。如果知識不能拿來用,那它存在有什麼意義呢?管它是奈米還是生物時代。

題外話,那天副校長也來了,開玩笑說要不給土木系預算,看他一副舊式官僚的調調,自以為是的樣子,實在是令人厭惡。
至於我的論文方向,已經決定是做IFC, 資料標準化的東西,但這玩意真能在台灣行的通嗎? I can’t believe it.論文,不就是那麼一回事。

2007年12月24日 星期一

Lock Stock and Two Smoking Barrrels

我最喜歡的電影 "兩根槍管"
之前最喜歡"教父" 但你曉得,人心一直在變啊

昨天拍了一段 Boys don't cry, 男孩別哭
http://www.youtube.com/watch?v=SJa4lZYbECE
有一部電影也是這個名子,希拉蕊史旺主演一位男生但生理上卻是女性的角色
很悲傷的電影,但這部實在是經典

2007年12月22日 星期六

看了兩部電影

今天看了星塵傳奇還有飲食男女
我比較喜歡飲食男女:p
這部電影講述的主題不是美食
並沒有什麼撒尿牛丸之流的東西
探討了家庭、愛情、以及"男女"間的各種關係
一部讓我看了很感動的電影
看了這部電影,讓我想再看看李安的其他電影,真不虧是李安(斷背山、臥虎藏龍也不錯)

至於星塵傳奇的內容沒什麼新意
主要就是在說"真愛就在你身邊"這件事而已
加上許多元素:魔法、巫女、海盜...
包裝起來的娛樂性商業電影,老實說沒什麼感覺耶

2007年12月21日 星期五

時間過得好快

在我認為所有的東西都會隨著時間改變
有那種時間是固定的地方嗎? 只有過去吧

2007年12月19日 星期三

...

很多人都會說一些莫名奇妙的話
我覺得我們老師很不錯,雖然跟他不是很熟
至少他的人格還不錯
我沒聽他說過什麼很白痴的話
我去找他時,他劈頭就說,你問我我可能也不懂
嗯,就是要這樣
很多人認為自己很懂,我想那些人就是因為懂得不夠多才會這樣認為
我覺得做人要實在啊,但是這個世界實在是骯髒的不得了 ( 或應該說是人 )

謙虛也不能太過度,否則會變成虛偽?
關於怎麼為人,孔子說了很多
也許該把論文看一看

有些人很自以為是
當身邊有這種人我常做的方法就是遠離他
我的想法是隨時在變的,牛到北京都還是牛,但是到廣州就變牛排了 XDXD我在說什麼

我花了2年多的時間看清楚一個人
也許不是很清楚,但是夠了
我不會有任何留戀

我發現當你知道那個人發出危險的氣息時
最好的方法就是遠離他,就像遠離猛獸一樣

2007年12月16日 星期日

case1快完成了
有學到東西嗎? 沒有 不過倒是把以前學的東西搬出來用
但是我對組織架構還是沒有很清楚
對目前的我而言,程式寫的快樂最重要,我才不要對著UML發呆呢
寫下去就對了
我也體悟到人生還有許多值得學習的地方
技術對我而言只是工具
我還有很多要學呢!

撕裂地平線

讓人喘不過氣的電影
有鬼店的風格的科幻片
宇宙之外是什麼東西? 超越科學範疇的領域?
我想我ㄧ輩子都不會曉得。
不要太相信科學,做那種聽到什麼就相信的人,一點意思都沒有。

2007年12月13日 星期四

一個學妹

---

December 6, 2007
算了

本來以為打算過19號再看
怎麼也要把生日過完
想想還是算了 就下禮拜一吧
看是凌晨三四點 或10點左右
應該沒有人才對....

---

就這樣在今天早上離開人世
死了就沒痛苦了嗎? 為什麼不能卑微的活下去呢 ?
我想我沒辦法也不可能選擇在"人生還沒有找到意義"時就離開人世
覺得不枉此生了,再死也不遲

2007年12月12日 星期三

相對

很多事情以我們目前眼光來看 是不變的
但長久而言它是在變的
似乎漸漸可以體會出"相對"這兩個字的涵義
"什麼都是相對的"
請你一定要記住這句話

在地獄有相對善良的鬼
在天堂有相對邪惡的神

2007年12月10日 星期一

接了一份小差事,幫寫前處理/後處理程式
希望不會很麻煩

2007年12月9日 星期日

牯嶺街少年殺人事件

牯嶺街少年殺人事件,一部好電影啊
雖然很長但非常值得一看,雖然看完心理很鬱悶
很多負面能量的電影?該怎麼形容,還是不要形容了
大概是我父親小時候的年代,196x年,如果有時光機真想過去走走

2007年12月7日 星期五

呼呼

今天練團還蠻開心的
雖然legacy一樣不太行, 但總算有run過一次
A certain romance,很不錯
Californication,也很投入
燒火,有點感覺
Jerk it out,被遺忘了..
接下來是 Gravity 跟 Boys don't cry !

pain

人事卑鄙的動物,什麼都會習慣的
慣性定律,物體不受外力干擾下會維持原來的狀態
想要改變他的狀態,必須擺脫他的慣性力
我想擺脫的東西可多了,但脫離的力量不夠,還是被拉回來

2007年12月6日 星期四

"每當生活煩悶,似乎告訴我應該要到海上闖闖了"這好像是白鯨記的主角說的
我...卻沒有什麼地方可以去
當個水手似乎不錯,在船上跳來跳去,呼吸新鮮的海風 ( 這純粹只是對大航海時代的憧憬 )
每天來到學校,盯著螢幕,想著接下來我要做些什麼
我想到各地去旅行,裝備愈簡單愈好
我向來不喜歡帶太多東西在身上,每天來學校只有帶錢包、鑰匙、手機
我想要成為自由、生活充滿樂趣、親切的人
老師意外的跟我討論到論文題目,嗯,寒假再說吧。
剩下一個學期就要離開這邊了,感覺真不捨。

今天在224看了
"不能說的秘密"、"變形金剛" ( 早上看了一集馬蓋先 ^^ , 剛好老師跑進來 ><)
兩部片以我來分等級,應該是差不多的
不能說的秘密拍得還不錯,因為我偏好音樂片,所以地位會高一點,但至於劇情我倒是沒什麼特別感覺
如果是以前也許會感動,現在好像就:"喔喔"就結束了,沒什麼特別的感動
變形金剛是嵌入式電影,嵌入一堆廣告 呵呵
當作娛樂片看看就算了

2007年12月5日 星期三

啊啊

這兩天過得渾渾噩噩,去學校不知道要做啥
論文沒什麼進度,也不太想碰
昨天跟阿輝看了"東京鐵塔" , 今天一個人看了"美味關係" 一直在看電影啊 我
電影是很不錯的東西,跟書一樣
有些東西就是會影響你一生( 這種東西很多, 可能是一句話, 一堂課, 一封信...)
不知不覺中我已經受到很多影響, 我真愛電影

2007年12月3日 星期一

依靠

我很討厭別人依靠我
那種我什麼都不做,全部靠你
很討厭那種人
我算是還蠻獨立自主的
那種想要依靠別人的人,被我認定為"無法信賴"
總之有什麼重大的事情沒有辦法交給那種人去做

2007年12月2日 星期日

ESD

今天晚上玩了一下 那台Creator,我想這幾天都會摸一下這台玩意
對memory map I/O有些基礎認識( 果然從實做中學習是很棒的 )
FPGA <=> Creator <=> PXA270
slave bus master bus
FPGA有相對應的pin接上Creator的slot, 每個pin都有其相對應的功能
#define PS2_DATA (*(volatile unsigned short *)(FPGA_IO_BASE+(0x0100<<1)))
#define A2D_DATA (*(volatile unsigned short *)(FPGA_IO_BASE+(0x0200<<1)))
像這種用法常會出現在driver裡面
FPGA_IO_BASE是實體位址( 沒有在mmu的管轄下 )
FPGA的IO被map到這個位址, 當你對這區記憶體做存取時, 等於在透過slave bus對FPGA做存取
slave bus主要的部份為:ADDR, DATA , CONTROL
ex:
PS2_DATA = 2;
這一行c code藏的東西可多了
記憶體位置 =0x0100
資料 = 2
控制 = 寫入
當FPGA對這個寫入動作做判別時是利用記憶體位置, 例如0x100是要將資料做運算, 0x200是要將資料傳送出去 之類的
還有
int a;
a = PS2_DATA;
這個就比較玄, 他是送出讀取的控制, FPGA必須放資料然後由CPU讀取。
記憶體位置 = 0x0100
資料 =
控制 = 讀去
FPGA必須判斷記憶體位址,然後決定要放什麼資料到DATA中
我在猜DATA會mapped到記憶體位置下的連續位址
另外還有中斷處理
FPGA會透過另一個訊號 xInt中斷cpu, cpu受到中斷, 會檢查這個中斷有沒有register在table中
在尋找table的Interrupt Handler
..還在研究中

懶惰成為習慣

話說我做過最有毅力的事情,應該是持續兩個月幾乎每天晚上跑3000公尺以上(有時候4000)
但現在似乎又失去動力了
為什麼?
懶惰吧
人總是喜歡安逸
明明知道走那一條路會害死你,但偏偏要走

有什麼東西是不會變的嗎?
我不知道 我正在找

我很弱

承認自己的弱點不是什麼丟臉的事情
甚至我認為是一種榮耀
沒錯 我很弱

感覺我在精神崩潰的邊緣了

2007年12月1日 星期六

legacy

每個人的音域都不同
legacy實在是心有餘而力不足, 3個多禮拜來, 每天都聽個好幾次, 實在是沒辦法唱那麼高
Life ~ is wearying me in

2007年11月30日 星期五

鬆餅很好吃

學校計中前有在賣鬆餅
外酥內軟的很好吃
巧克力口味的 吃了整個心情都好起來
我算還蠻容易滿足的 不一定需要什麼大魚大肉 簡單的東西也不錯

lol

該死的
不要在自私自利了
多為別人想想,這樣世界才能更美好

2007年11月28日 星期三

好像常被誤解

被誤解就被誤解我能怎樣?
因為連我都搞不清楚我是誰了
如果我有能力改變世界,I will
打嘴砲都是輕鬆的啦
關於我的個性,或是說我想成為人的個性
像年輕的麥克。柯里昂
像麥田捕手的男主角
像少爺的男主角
哈哈 我又在發瘋了 胡言亂語
看到一堆道貌岸然 死守成規 說話虛偽 的人實在很討厭
我想要成為誠實的人 有做就有做 沒做就沒做
像少爺說"惡作劇和懲罰是連在一起的,沒有懲罰的惡作劇就不好玩了"真有道理
世界上就是一堆想要惡作劇 但不要懲罰的人 才會這麼邪惡

被說"不夠圓滑, 不知變通"
我勒幹你娘機掰,我說啊,關你屁事

幹 我就是要這樣活下去 , 哈哈哈哈

有時候明明根很多人在一起
但我卻覺得只有我一個人
我馬上陷入自己的世界中
好噁心的感覺

2007年11月26日 星期一

我是個討厭的傢伙

有時候很寂寞需要人陪
就算是討厭的人我也會忽然對他親切
但身邊有人時我又覺得很煩,可不可以讓我一個人?
這時我常做的不外乎
擺臭臉、
不理、
不厭煩模樣、
講話尖酸刻薄、
挑釁、
我真是討厭的傢伙

MSN這種東西很邪惡,我想先封他1禮拜看看。
不想被什麼東西綁住
我想做到就算身邊什麼東西被奪走或是消失也能處之泰然。

2007年11月25日 星期日

階段性的朋友

人一生會遇到許多人
在這些人中可以成為階段性朋友然後成為有再聯絡的朋友再成為可以互訴心事的朋友的機率有多少呢?
以我而言
大概是0.01*0.001*0.0001
所以說我只有有在聯絡的朋友 沒有什麼知心的朋友
所有我呈現在朋友面前的東西,都不是真正的我
或許有時候會出來說一下"哈囉"然後就躲起來了
我認為要了解自己都很困難的,實在沒什麼心力去了解別人啊
對於所有虛偽的人際關係我都很討厭
愛情也沒什麼感覺( 或許時間還沒到 )
我有時候想要一個人在一個沒有人認識我的地方生活著,我需要的只有親切就夠了

nothing really matters to me

出自Bohemian Rhapsody, 我很喜歡的一首歌
雖然不太清楚歌詞在講什麼, 但聽一次就喜歡了
最後一句歌詞便是 Nothing really matters to me , 帶點無奈的感覺
有點 "什麼對我都不重要了,因為我已經失去最重要的東西" 這種感嘆
對我而言什麼才是最重要的東西呢? 我不清楚,而且我正在尋找。

2007年11月23日 星期五

吃太多

昨天..
早上吃了泡麵
中午吃了很多蛋糕麵包,還有便當( 感謝對面研究室的 )
晚上吃了三媽臭臭鍋
隔天起來肚子就很不舒服
中午吃了滷味
晚上吃了皮蛋粥
算一算這兩天吃了半公斤的熱量
要小心了

2007年11月22日 星期四

likely, unlikely

這兩個東西在linux kernel裡面常常出現
用在做最佳化程式碼的工作,避免long jump的overhead
#define likely(x) __builtin_expect((x),1) ,expect x ==1
#define unlikely(x) __builtin_expect((x),0) ,expecy x ==0

__builtin_expect((x),1) 是gcc的buildin function

用法:

if ( likely( int ) ){
比較可能
}else{
比較不可能
}

if( unlikely( int ) ){
比較不可能
}else{
比較可能
}

DS

傳說linux kernel 雖用C寫的,但是寫得很OO,又很有效率,果然不假,裡面用了很多嘆為觀止的程式碼。 真是藝術 只能這樣說。
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
簡單的說,就是在做記憶體的shift從目前的pointer shift到struct的位址
讓你可以操作該struct
這種寫法 我絕對想不出來Orz
//這真是太神奇了 傑克

#define size_t unsigned int
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

struct a{
int ab;
int ac;
};

int main()
{
struct a c;
c.ab = 10;
c.ac = 100;
int *ptr = &c.ab;

struct a *b;
b = container_of(ptr, struct a, ab );

printf("%d", b->ac );

return 0;
}

印出100, 這種東西 , 可以用來把介面抽出來, 並實做在很多資料結構上!

next

列一下我有興趣 接下來會做的事情
device driver
embedded system
assembly language / Computer architecture
Operating System / tracing linux kernel
having fun :D

2007年11月21日 星期三

安逸是一條危險的道路

人總是想走安逸的道路
我也是
但走了之後總會心理不安
走安逸的道路對自己是沒什麼幫助的
現在有點後悔 但走都走了 只好繼續走下去
實在是很討厭這樣

2007年11月20日 星期二

back to school

人們都是被奴役著
而且習慣被奴役了
畢竟,人是卑鄙的動物

2007年11月19日 星期一

虛榮

覺得很寂寞時,我最好的方法就是去睡一覺
對身邊任何虛假的東西都感到厭惡
要有覺悟,你要有覺悟
您瘋了,您又在說胡話了

詩經

從國中到高中唸了6年的文言文,老實說都只是在應付考試,實在是很討厭
真想用別的角度再重新復習一下以前唸的東西
但是我要什麼時侯才有時間重拾古文觀止呢

父兮生我!母兮鞠我!拊我畜我,長我育我,顧我復我,出入腹我,欲報之德,昊天罔極!

2007年11月17日 星期六

we can work it out

Life is very short, and there is no time.
生命很短暫,請好好把握。

"不要浪費時間"這是大一時當時歡送學長畢業時,他留給我一張卡片上面寫的字
到現在真的有這種感觸,想一想我把許多時間花在很多事情上,而那些大多是雜事

我一直告訴自己不要在浪費時間了,去追求自己想做的事吧。

hmm

"少爺:看完了,真是一部好小說
接下來拿出"卡拉馬助夫兄弟" 是杜斯陀也夫斯基的作品
看俄國文學最討厭的就是人名
費XXX . XXXX . 卡拉馬助夫 , 真要命, 每個人的名子都超過10個字,人物又多...
不像"少爺"那樣用"紅襯衫" , "貍貓" , "半熟瓜" , "馬屁精" , "暴風" , "瑪丹娜" 用這種簡單綽號呢

我特別喜歡描述中低下階層人民生活的小說或是某種特別時期的小說( 例如戰爭 )
還有描述人性,像是心理黑暗面、溫暖的一面、情慾、仇恨,還有有趣的lol
杜斯陀也夫斯基正是其中描寫人物心理面最強的小說家,目前看過他的"罪與罰"跟現在看的這本
我想以後還會找一些他的書來看^^

2007年11月16日 星期五

free

有時候很想逃脫這一切

你不會有時覺得很無趣嗎

有點想要一個人到國外工作 哈哈 我又亂說話了

home

現在在高雄老家
躺在睡了多年的床上,看著小說 感覺真不錯
重新複習"少爺"這本小說
我很喜歡夏目漱石的敘事風格,平鋪直敘,有點像是西方的海明威吧?
也許會抽個空到書局去逛逛,我不太喜歡圖書館緊張的氣氛,到了圖書館好像連呼吸都要放輕

聲音還沒回復 禮拜一要練團耶 囧 行嗎?

2007年11月13日 星期二

more effective c++

最近在玩C++, 前幾天在玩C++ STL
今天找了effective & more effective C++兩本書來看
這兩本書很早就塞在我的硬碟了,只是以前一直看不懂
現在總算可以從裡面讀出點趣味來了

// show stack and heap
// malloc and new 的差別在於 malloc只是單純的allocate記憶體但沒有call constructor!
#include
//#define PI 3.1415926 avoid this

//item 11
//write your own versions of the copy constructor and the assignment operator if you have any pointers in your class.
//當你的class有pointer ,而你使用預設的assign or copy operator你很可能會造成memory leak的error, 某個obj可能delete某個memory, 在你不知覺情況下

using namespace std;

//item 1
const double PI = 3.14;

class test {
public:

//item 9 最好提供一個空的constructor ! , 否則在多載建構子時, 若直接使用new 會發生錯誤
test()
{
this -> myNumber = "000";
}

test( char* P )
{
this->myNumber = P;
}

//item 1
static const double PI = 3.1415926; //save space!

// item 1 more flexible
friend ostream& operator<<( ostream& a, test& b);

//item 6
~test()
{
delete myNumber;
}

int magic;
private:
char* myNumber;
};

ostream& operator<<( ostream& a, test& b )
{
a << b.myNumber;
return a; // << << << <<
}


int main()
{
//item 2
test* me = new test( "0910883869" );
cout << *me << endl;

//item 3
test* p = ( test* ) malloc( sizeof( test ) * 10 ); // no construct .. gabarge?
test* p2 = new test[ 10 ]; // shound use this, call the constructor for each objs in ary
delete [] p2; // shound use the, call the destructor for each objs in ary
free( p );

//item 5, avoid using typedef for arys!
string *str1 = new string();
string *str2 = new string[100];
delete str1;
str1 = 0;
//use delete [] str1 causes error!
delete [] str2;
str2 = 0;

//item 7 out of memory condition , 很深入的探討記憶體不足的問題(例外處理), 當要alocate大量記憶體時,值得借鏡
try {
p = new test[1000];
} catch( std::bad_alloc &p) {
cout << "out of memory";
// 實際上不知道在哪時發生的,但記憶體已經分配到空間了
}

return 0;
}

2007年11月12日 星期一

much better

好多了!
今天很早就跑回家^^
希望大家都要多保重自己~

忽然很想看小說
想想我已經多久沒有看自己真正想看的書了

我還蠻喜歡看小說的^^
準備找時間看一下 "西線無戰事" :P

感冒了

從懷疑到確信大概花了半天
我感冒了 哈哈

AutoHotkey

一個很好用的鍵盤滑鼠marco軟體
這種類似的軟體很多,但不是功能不全就是要錢的
auto hotkey不但功能齊全,免費,更是open source!
早上在找一個可以控制Up Down Left Right的軟體
寫程式常常要這樣移動很麻煩( 如果用vi 就可以進入control mode )
改一下果然很令人滿意:)

2007年11月10日 星期六

lol


中國人的觀念老人就該含飴弄孫,享天倫之樂
但我倒是希望我能一直工作到死。
不想成為工作狂,也許不是工作,但我希望一直有個目標
像兩津他爺爺一樣或是烏龍派出所的作者一樣,他說我要畫烏龍派出所畫到死
事實上去日本玩的時候他們老人卻一點都不老
不太像台灣的老人一整天聚在公園賭博唱卡啦OK
我看到許多老人都在工作( 那個機場的指導遊客如何填寫入境單的人 至少70歲)
有人認為老了就應該退休,這我也認同,但退休應該有計畫的退休
而不是每天很無所事事的活,那我寧願工作( 我指的是有意義的工作 )
像在不忍池看到的那位老人一個人扛著沈重的攝影器材,自得其樂的觀察野鳥
像John Lennon有提到
Life is what happened to you while you busying making other plan.
或是刺激1995的主角說道
Get busy living or get busy dying.
都給我相當多的啟示

2007年11月9日 星期五

世界很多人需要幫助

當你快樂的、舒適的活著時
很多人在受苦
有人吃不飽
你能夠活著心安嗎?

Orz

從這學期開始常常會找對面研究室的一起去吃飯
中午晚上 順便在那邊看看電視
但我以前絕對不會這樣,總是一個人默默吃飯
也許我也逐漸在改變吧?

the fool on the hill 一首我蠻喜歡的歌
說到一個沒有辦法被人家了解的人默默坐在山坡上的故事
我想成為這樣的人嗎? maybe , 並不是想要成為怪咖, 只是我要走自己的路
不想被別人的想法干涉,想要盡量靠自己
就算有另一半我也希望她是想法非常獨立的人

到目前為止接受了不少人的幫助,心理很感謝,也希望有一天可以幫助別人
像pay love forward電影一樣,一個小男孩竟然可以想出這種概念
還努力的執行

《道德經》:
上士聞到,勤而行之;中士聞到;若存或亡;下士聞到,大笑之。

我想目前還是中士吧努力往上士前進。
活著,我只希望能夠死而無憾!
you may say I'm a dreamer but I'm not the only one
I hope you someday will join us, and the world will be as one.

2007年11月8日 星期四

Debug的重要性

寫程式 大概有1/3時間 或更多是在debug
debug的工具非常重要(除此之外test case也很重要)
我認為一個成熟的程式需要經過相當多的測試
聽一個老師說過在台灣測試工程師都是菜鳥,但國外相反
反而測試的人相當重要( 這點我相當同意 )
用visual studio有提供相當方便的debug 工具( 唉 人總是會想往安逸的道路走 )
雖然GDB也很好用 但實在是不夠user friendly
IDE整合開發式環境 還是有其存在的必要的 !

ACM 101 第二次就過了,有兩個秘訣 1. 先找Test Case自己測試 2. 多用Debugger

// ACM101.cpp: 主要專案檔。

#include

using namespace std;

class Block {
public:
Block( int i )
{
myNum = i;
CurrentNum = i;
Nstacks = 0;
Stacks = new Block*[ 24 ];
MyBase = this;
}

void ReturningMe() {
CurrentNum = myNum;
Nstacks = 0;
MyBase = this;
}

void ReturningStacks() {
for( int i = 0; i < Nstacks; ++i ) {
Stacks[ i ]->ReturningMe();
}
Nstacks = 0;
}

void StackLeave(bool MeLeave) {
if ( MyBase != this ) {
MyBase->Nstacks -= ( ( int )MeLeave + Nstacks );
for( int i = 0; i <>Nstacks; ++i ) {
if( MyBase->Stacks[ i ] == this ) break;
MyBase->Stacks[ i ]->Nstacks -= ( ( int )MeLeave + Nstacks );
}
}
}

int myNum;
int CurrentNum;
int Nstacks;
Block **Stacks;
Block *MyBase;
};

struct instruction {
char action[5];
char style[5];
int a;
int b;
};

bool Parse(struct instruction &o) {
cin >> o.action;
if( !strcmp( o.action, "quit" ) ) return false;
cin >> o.a;
cin >> o.style;
cin >> o.b;
return true;
};

/* move onto */
bool operator-( Block &a, Block &b )
{

// puts block a onto block b after returning any blocks that are stacked on top of blocks a and b to their initial positions.
a.StackLeave(true);
a.ReturningStacks();
b.StackLeave(false);
b.ReturningStacks();

a.CurrentNum = b.CurrentNum;
a.MyBase = b.MyBase;

b.Nstacks = 1;
b.Stacks[ 0 ] = &a;

if( b.MyBase != &b ) {
b.MyBase->Nstacks += 1;
b.MyBase->Stacks[ b.MyBase->Nstacks - 1 ] = &a;
for( int i = 0; i <>Nstacks; ++i ) {
if( b.MyBase->Stacks[ i ] == &b ) break;
b.MyBase->Stacks[ i ]->Nstacks += 1;
b.MyBase->Stacks[ i ]->Stacks[ b.MyBase->Stacks[ i ]->Nstacks - 1 ] = &a;
}
}

return true;
}

/* move over */
bool operator-=( Block &a, Block &b )
{

// puts block a onto the top of the stack containing block b, after returning any blocks that are stacked on top of block a to their initial positions.

a.StackLeave(true);
a.ReturningStacks();

a.CurrentNum = b.CurrentNum;
a.MyBase = b.MyBase;

for( int i = 0; i < b.Nstacks; ++i ) {
b.Stacks[ i ]->Nstacks += 1;
b.Stacks[ i ]->Stacks[ b.Stacks[ i ]->Nstacks - 1 ] = &a;
}

b.Nstacks += 1;
b.Stacks[ b.Nstacks - 1 ] = &a;

if ( b.MyBase != &b ) {
b.MyBase->Nstacks += 1;
b.MyBase->Stacks[ b.MyBase->Nstacks - 1 ] = &a;
for( int i = 0; i <>Nstacks; ++i ) {
if( b.MyBase->Stacks[ i ] == &b ) break;
b.MyBase->Stacks[ i ]->Nstacks += 1;
b.MyBase->Stacks[ i ]->Stacks[ b.MyBase->Stacks[ i ]->Nstacks - 1 ] = &a;
}
}

return true;
}

/* pile onto */
bool operator|( Block &a, Block &b )
{

// moves the pile of blocks consisting of block a, and any blocks that are stacked above block a, onto block b. All blocks on top of block b are moved to their initial positions prior to the pile taking place. The blocks stacked above block a retain their order when moved.
a.StackLeave(true);
b.StackLeave(false);
b.ReturningStacks();

a.CurrentNum = b.CurrentNum;
a.MyBase = b.MyBase;

for( int i = 0; i < a.Nstacks; ++i ) {
a.Stacks[ i ]->CurrentNum = b.CurrentNum;
a.Stacks[ i ]->MyBase = b.MyBase;
}

b.Nstacks = 1;
b.Stacks[ 0 ] = &a;
for( int i = 0; i < a.Nstacks; ++i ) {
b.Nstacks += 1;
b.Stacks[ b.Nstacks - 1 ] = a.Stacks[ i ];
}

if( b.MyBase != & b ) {
b.MyBase->Nstacks += 1;
b.MyBase->Stacks[ b.MyBase->Nstacks - 1 ] = &a;
for( int i = 0; i < a.Nstacks; ++i ){
b.MyBase->Nstacks += 1;
b.MyBase->Stacks[ b.MyBase->Nstacks - 1 ] = a.Stacks[ i ];
}

for( int i = 0; i <>Nstacks; ++i ) {
if( b.MyBase->Stacks[ i ] == &b ) break;
b.MyBase->Stacks[ i ]->Nstacks += 1;
b.MyBase->Stacks[ i ]->Stacks[ b.MyBase->Stacks[ i ]->Nstacks - 1 ] = &a;
for( int j = 0; j < a.Nstacks; ++j ) {
b.MyBase->Stacks[ i ]->Nstacks += 1;
b.MyBase->Stacks[ i ]->Stacks[ b.MyBase->Stacks[ i ]->Nstacks - 1 ] = a.Stacks[ j ];
}
}

}

return true;
}

/* pile over */
bool operator|=( Block &a, Block &b )
{

// puts the pile of blocks consisting of block a, and any blocks that are stacked above block a, onto the top of the stack containing block b. The blocks stacked above block a retain their original order when moved.
a.StackLeave(true);

a.CurrentNum = b.CurrentNum;
a.MyBase = b.MyBase;

for( int i = 0; i < a.Nstacks; ++i ) {
a.Stacks[ i ]->CurrentNum = b.CurrentNum;
a.Stacks[ i ]->MyBase = b.MyBase;
}


for( int i = 0; i < b.Nstacks; ++i ) {
b.Stacks[ i ]->Nstacks += 1;
b.Stacks[ i ]->Stacks[ b.Stacks[ i ]->Nstacks - 1 ] = &a;
for( int j = 0; j < a.Nstacks; j++ ) {
b.Stacks[ i ]->Nstacks += 1;
b.Stacks[ i ]->Stacks[ b.Stacks[ i ]->Nstacks - 1 ] = a.Stacks[ j ];
}
}

b.Nstacks += 1;
b.Stacks[ b.Nstacks - 1 ] = &a;
for( int i = 0; i < a.Nstacks; ++i ) {
b.Nstacks += 1;
b.Stacks[ b.Nstacks - 1 ] = a.Stacks[ i ];
}


if( b.MyBase != & b ) {
b.MyBase->Nstacks += 1;
b.MyBase->Stacks[ b.MyBase->Nstacks - 1 ] = &a;
for( int i = 0; i < a.Nstacks; ++i ){
b.MyBase->Nstacks += 1;
b.MyBase->Stacks[ b.MyBase->Nstacks - 1 ] = a.Stacks[ i ];
}

for( int i = 0; i <>Nstacks; ++i ) {
if( b.MyBase->Stacks[ i ] == &b ) break;
b.MyBase->Stacks[ i ]->Nstacks += 1;
b.MyBase->Stacks[ i ]->Stacks[ b.MyBase->Stacks[ i ]->Nstacks - 1 ] = &a;
for( int j = 0; j < a.Nstacks; ++j ) {
b.MyBase->Stacks[ i ]->Nstacks += 1;
b.MyBase->Stacks[ i ]->Stacks[ b.MyBase->Stacks[ i ]->Nstacks - 1 ] = a.Stacks[ j ];
}
}

}
return true;
}
int main()
{
int Num_Block;
struct instruction ReadIn;

cin >> Num_Block;
Block **Blocks = new Block*[ Num_Block ];
for( int i = 0; i < Num_Block; ++i ) {
Blocks[ i ] = new Block( i );
}

bool Valid;

while( Parse( ReadIn ) ) {

Valid = true;

if( ReadIn.a == ReadIn.b ) Valid = false;

for( int i = 0; i <>Nstacks; ++i ) {
if( Blocks[ ReadIn.a ]->Stacks[ i ]->myNum == ReadIn.b ) {
Valid = false;
break;
}
}
for( int i = 0; i <>Nstacks; ++i ) {
if( Blocks[ ReadIn.b ]->Stacks[ i ]->myNum == ReadIn.a ) {
Valid = false;
break;
}
}

if( Valid == false ) continue;

if( strcmp( ReadIn.action, "move" ) == 0 ) {
if( strcmp( ReadIn.style, "onto" ) == 0 ) {
*Blocks[ ReadIn.a ] - *Blocks[ ReadIn.b ];
}else if(strcmp( ReadIn.style, "over" ) == 0 ) {
*Blocks[ ReadIn.a ] -= *Blocks[ ReadIn.b ];
}
}else if( strcmp( ReadIn.action, "pile" ) == 0 ) {
if( strcmp( ReadIn.style, "onto" ) == 0 ) {
*Blocks[ ReadIn.a ] | *Blocks[ ReadIn.b ];
}else if(strcmp( ReadIn.style, "over" ) == 0 ) {
*Blocks[ ReadIn.a ] |= *Blocks[ ReadIn.b ];
}
}
/*
//Debug
for( int i = 0; i < Num_Block; ++i ) {
cout << i << ":" ;
for( int j = 0; j < Num_Block; ++j ) {
if( Blocks[ j ]->CurrentNum == i && Blocks[ j ]->MyBase == Blocks[ j ] ) {
cout << " " <<>myNum;
for( int k = 0; k < ( Blocks[ j ]->Nstacks ); ++k ) {
cout << " " <<>Stacks[ k ]->myNum;
}
break;
}
}
cout << endl;
}*/

}

for( int i = 0; i < Num_Block; ++i ) {
cout << i << ":" ;
for( int j = 0; j < Num_Block; ++j ) {
if( Blocks[ j ]->CurrentNum == i && Blocks[ j ]->MyBase == Blocks[ j ] ) {
cout << " " <<>myNum;
for( int k = 0; k < ( Blocks[ j ]->Nstacks ); ++k ) {
cout << " " <<>Stacks[ k ]->myNum;
}
break;
}
}
cout << endl;
}

system( "pause" );
return 0;
}

這學期修了一門課"嵌入式系統設計"
非常不錯的課
接觸到以前沒有機會碰過的硬體
要知道,所有的software都是建構在hardware上的
在每個Clock跟每個bit之間觀察( PS/2 裝置每個cmd送出11的clock, 起始/終止/ACK 1bit+1byte data)
看看每個針腳的定義, CPU的運作, 裝置的驅動, 記憶體的Maping
bootloader, kernel, cross compile, 用Logic gate寫程式 ...很有趣耶
真是感動阿,雖然以後可能沒什麼機會碰了( VHDL 真是不好寫 哈哈, 要考慮什麼同時 循序性)

跟我們活著的世界一樣,什麼事情都是被一層層包著
把一層層都剝掉,看看裡面是長怎樣 呵呵 單純的好奇心

010101010101010101010101010101010101001101010101010101001010101010101010101

2007年11月6日 星期二

指標

C++的指標實在是很妙的東西
花了一下午做了個實驗
難怪Java不學C++弄指標這種東西(除此之外其他都很像)
弄了一大堆 最後還不是要變成Assembly code (天下武功出少林 哈哈)
不過指標可以用來實做一些特殊的資料結構倒也蠻方便的

#include
#define Size 10

using namespace std;

class Point {
public:
Point()
{

}

Point( int x, int y )
{
this -> x = x;
this -> y = y;
}

void print()
{
cout << "X:" << a0 =" 24601;" a1 =" &a0;" a2 =" (" a3 =" new" i =" 0;" a5 =" new" i =" 0;" a6 =" (" i =" 0;" i =" 0;" j =" 0;" a8 =" (" i =" 0;" i =" 0;" j =" 0;" a9 =" new" i =" 0;" i =" 0;" j =" 0;" b1 =" new">print(); //show 2, 4

Point *b2 = ( Point * ) malloc( sizeof( Point ) );
//b2->print(); //show garbage

Point b3[ Size ];
/*
for( int i = 0; i < b4 =" new" i =" 0;" b5 =" new" i =" 0;" i =" 0;">print();
}


}

自拍

youtube 真是一個有趣的東西
像這種網路服務相當的好玩
可以在上面找到許多有趣的影片, 也可以當作音樂播放器 呵呵

昨天回到家10點多,想說有點時間,把自彈自唱的過程弄下來放到youtube上
一放上去心理就有點緊張,會不會遇到某個外國人說我唱得不好 然後嗆我呢XD
也有點不好意思,會不會太愛現了? 又沒有唱多好
不過也算是往前踏了一小步^^
有時候想太多反而是枷鎖,何不以好玩的心情嘗試看看呢?

http://www.youtube.com/watch?v=q-bR3y5ifIM

2007年11月5日 星期一

....

明明沒有修什麼課啊
為什麼怎麼感覺沒什麼時間
我對時間的感覺似乎跟以前不大一樣了..

...

最近在看著jserv的blog, 真是一個了不起的人啊
無論是他對資訊科技方面的技術或是對文學藝術方面的造詣都相當高
年齡也跟我差不多,是一個值得學習的對象
想想自己就快25了,還是一事無成
活著只是在浪費資源,但我還是卑微的活著:-)

2007年11月4日 星期日

唱歌

我還蠻喜歡唱歌的
但有點不得要領就是
有時走音有時破音有時跟不上拍子
哈哈 但管他的呢 我高興就好

我什麼音樂都聽喔 :{
搖滾 古典 歌劇 音樂劇 輕音樂 民謠 芭樂歌 流行歌 國語歌 台語歌 什麼碗糕

just 4 fun

很多事情對我而言,最重要的是樂趣
我不在意分數這種虛偽的東西( 過去倒是有點在意,現在想起來有點愚蠢 )
這應該算是我的生活態度吧,每個人在追求的東西不一樣
我在追尋什麼呢? 樂趣吧!

2007年11月1日 星期四

nightmare

我常會做惡夢 也會說夢話
我很害怕別人聽到我的夢話, 因為那不是我, 我不能控制那個人說什麼東西

小時候, 總是聽長輩叫你不能做什麼
但現在, 我想要自己確認什麼能做什麼不能做
以抽菸為例, 我認為只要不上癮身體都還可以接受, 我不想要一昧聽從別人的指示活下去
能夠有自己的想法是多麼幸福的一件事
能夠自己做選擇也是很棒的事情

生命是很棒的

2007年10月30日 星期二

ACM102

用了很愚蠢的寫法 , 所謂的暴力解 ?
但最後還是眼睛長包皮, 沒有看清楚spec 囧

// Ecological Bin Packing
#include iostream

using namespace std;

struct bin {
int brown;
int green;
int clean;
};

bool input(struct bin in[])
{
for(int i = 0; i <>> in[ i ].brown ) ) return false;
if ( !( cin >> in[ i ].green ) ) return false;
if ( !( cin >> in[ i ].clean ) ) return false;
}
return true;
}

int main()
{
bin mybin[3];

while( input( mybin ) ) {

char condition[6][3];
int move[6];

condition[0][0] = 'B';
condition[0][1] = 'G';
condition[0][2] = 'C';
move[0] = mybin[0].green + mybin[0].clean + mybin[1].brown + mybin[1].clean + mybin[2].green + mybin[2].brown;
condition[1][0] = 'B';
condition[1][1] = 'C';
condition[1][2] = 'G';
move[1] = mybin[0].green + mybin[0].clean + mybin[1].brown + mybin[1].green + mybin[2].clean + mybin[2].brown;
condition[2][0] = 'C';
condition[2][1] = 'B';
condition[2][2] = 'G';
move[2] = mybin[0].green + mybin[0].brown + mybin[1].green + mybin[1].clean + mybin[2].clean + mybin[2].brown;
condition[3][0] = 'C';
condition[3][1] = 'G';
condition[3][2] = 'B';
move[3] = mybin[0].green + mybin[0].brown + mybin[1].brown + mybin[1].clean + mybin[2].green + mybin[2].clean;
condition[4][0] = 'G';
condition[4][1] = 'C';
condition[4][2] = 'B';
move[4] = mybin[0].brown + mybin[0].clean + mybin[1].brown + mybin[1].green + mybin[2].green + mybin[2].clean;
condition[5][0] = 'G';
condition[5][1] = 'B';
condition[5][2] = 'C';
move[5] = mybin[0].brown + mybin[0].clean + mybin[1].green + mybin[1].clean + mybin[2].green + mybin[2].brown;

int min = move[0];
int idx = 0;
for ( int i = 1; i < min =" move[i];" idx =" i;" idx =" i;" idx =" i;" idx =" i;">

2007年10月29日 星期一

求學

高中考完學測( 59級分,不高不下的分數 ),跟同學買了一份他不用的簡章
莫名其妙就申請上高雄第一科技大學的營建工程系,當時根本不知道自己的興趣是什麼,對於那些一開始就知道自己對什麼東西有興趣,並努力追求的人實在是很羨慕。

在大四我才發現我原來對電腦有濃厚的興趣,去修了一些程式設計的課,然後推甄上交大土木所的IT組( 當初只報了交大跟台科,交大上了台科就放棄了 )能到交大唸書,應該是我求學過程中最快樂,最充實的日子。

學習

學習什麼東西可以透過幾種方法
1. 自己去摸索
2. 別人教你
3. 從別人那邊偷學
我覺得最快的方法應該是3.但也是最難的
看過一本漫畫"將太的壽司",對那些學徒,老師傅們很少直接傳授什麼技術
都是叫他們"用眼睛學",看人家怎麼做,這也是考驗他們的細心、耐心的地方

我很少設立什麼目標
或是目標根本就是太淺短或是太遙遠(根本就做夢)

一天一天過去,這是非常恐怖的事情
訂定目標真的是一件很困難的事情,也許是我太混?

也許應該先來訂一些1,2年內可以達成的目標

2007年10月28日 星期日

Converse

我是一個不擅長說話的人
有時甚至會結巴
我真的覺得要把自己的意思傳達給另一個人事非常困難的
有點像TCP/IP Protocal 一樣你要經過好幾層的 pack/ depark
最後才是真正要的information
但是若不是傳達自己想說的話就非常容易
就像新聞主播念稿這樣子而已
我常被誤解, 也曾誤解別人
人與人溝通實在是一件非常難的事情啊

2007年10月21日 星期日

ACM V1 100

話說寫這個玩意 讓我死了不少腦細胞
常常就是認為沒錯 但就是少考慮了些什麼
給我的打擊不小, 看似非常簡單的小程式, 當你沒去注意一些小細節時, 你會失敗
也是我常常會犯的錯
從程式設計到做什麼事情都一樣
有些東西沒有說得很清楚, 例如人家給的規格
但你自己要去想到
從這個ACM test讓我領悟到不少東西 ^^


// ACM Voulme 1 100
// The 3n+1 problem


#include

using namespace std;

int iGetLength ( int num )
{
int iCircle_Length=1;

while ( num > 1 ){
if ( ( num % 2 ) == 0 ){
num = num / 2;
} else {
num = num * 3 + 1;
}
++iCircle_Length;
}

return iCircle_Length;
}


int main ()
{
int i,j,c;
int Max_Circle_Length;

while( cin >> i && cin >> j){

cout << i << " " << j << " ";

if ( i > j ){
c = j;
j = i;
i = c;
}

Max_Circle_Length = 0;

for ( int n = i; n <= j; ++n){
c = iGetLength( n );
if( c > Max_Circle_Length )
Max_Circle_Length=c;
}

cout << Max_Circle_Length << endl;
}

return 0;
}

2007年10月11日 星期四

EQ的老朋友

今天EQ的朋友星光之影來交大順便找我去吃飯
可惜我吃飽了XD早上去清大游泳順便午餐也解決了
玩EQ是在我大一下學期時開始的,現在已經研二...歲月不饒人
總之就是約在mos聊個天,星光看起來跟照片沒兩樣
不過白頭髮多了點,太多煩惱?
就聊東聊西,他工作好像蠻忙的一直在接電話
啊啊 好遊戲總是可以認識許多朋友

2007年10月8日 星期一

結婚

我不想要結婚
但我的意思是兩個人在一起不一定要結婚這種法律上,形式上的束縛
沒有結婚一樣可以生小孩, 生活在一起 ..
重要是兩個人的心是否真正在一起

也許等小孩都成年再來辦個結婚典禮, 找許多朋友來熱鬧一下也不錯

哈哈 雖然這麼說 但恐怕沒人敢跟我這樣玩

2007年10月4日 星期四

夜唱

昨天跟同學去錢櫃唱歌

花了大部分的時間再找要唱什麼歌

錢櫃我能唱的歌真的不多阿

感想 : 好的麥克風能唱出好的聲音

2007年10月1日 星期一

...

現在對很多事情都可以坦然接受, 也許有些還不行, 但心情起伏很平穩..

常常會想說: 這就是人生啊

不羨慕別人怎樣怎樣 只要求自己該怎樣怎樣

研究生活

跟我們老師就像上天堂一樣, 這一點都不假
但我自己一個人倒是還蠻快樂的做自己的研究
看看電影, 玩玩什麼東西
很快樂, 真的很快樂
有時候嘴角都會不經的微笑:)
也認識了一些新朋友, 雖然沒有跟什麼人特別好, 他們也都不錯

EQ

EverQuest 陪伴我整個大學生活
大學幾乎沒什麼朋友, 因為朋友都在EQ裡面, 也許你覺得很悲哀
但回憶這種東西, 非常美妙
好懷念啊, 看了youtube的一些raid 讓我又勾起EQ的一些回憶
喜怒哀樂
但我想會讓人感到回憶 "人"是非常重要的成份
人會跟人或是跟人有關系的物, 產生回憶這種機制
藉由什麼東西觸發下
腦部分泌某些化學物質讓人想要重溫過去
連悟空也會想念爺爺的枕頭啊 呵呵
也許過了幾年, 我也會回憶現在
回憶在交大的日子

2007年9月30日 星期日

很難過

今天看了新聞有四個小朋友死於火災, 很難過
所以說我不相信有什麼神, 我家的神壇就曾經引發小火災, 自己都顧不好了/ \
唉唉 生命如此無常,風光一時的人, 又可以維持多久呢?

我很喜歡john lennon的"imagine"
他的烏托邦理想, 也是我的理想
如果人類共享世界
每個人都是兄弟
沒有天堂,地獄
沒有國家...在我短暫的生命內應該是不可能達成

以我目前的情況 還在跟家裡拿生活費
對自己感到有點難過
我能對世界有什麼幫助嗎
我希望我可以
現在我打算開始捐血, 盡量幫助什麼人

幫助人不需要有什麼理由, 接受幫助不需要問理由
如果人人可以做到這樣, 我想就算不是烏托邦, 也很不錯了^^

2007年9月29日 星期六

everyone wants to go to heaven but no one wants to die

很有趣的一句話,之前在當工圖助教時看到一個學生穿一件衣服上寫這句話

人人都想[上天堂], 卻沒人想[死掉]

如果把[]中的字取代為什麼東西應該也行得通才是.
很好玩^^