星期三, 1月 23, 2008

發生

來的第一天發生很多事,不好的事居多,或許我會很直覺的認為,本當如此,不過接二連三有人資料被毀,恐怕就不是一件好事....

我寫的程式碼,由於沒什麼重要性,我全部丟Google Code(比較早期的丟gmail),相關文件丟GooglePage,知識累積電子化的寫在blog上(知識分享會有更大的利益),電腦上的資料用一顆外接硬碟備份,如果電腦和外接硬碟同時壞了,我就認了。偶爾會燒成DVD。從我壞了五顆硬碟之後,我深深相信資料備份的重要性。

今天很多事非我所能主導的,我頂多只是聽命行事而己,人和人溝通的問題是很難解決的,很多事是有對於不對的問題,但是在這之上,也有做的好與不好的問題,我想,很難兩全。

可以再說很多的,就說到此吧。

好啦,我知道有某位老師會看我的blogger,我幫他的Google Group打廣告一下,他說了一件事給我們聽,當他有一年他做的上課簡報不見了,想問學生有沒有備份,結果竟然找不到,他從此就把文件全部丟在Google上,當然,我覺得這位老師上課很有趣,我學到很多,他主要從事流感模式研究。

複雜適應性網絡與系統實驗室 黃崇源

---
Josh,除了學術之外,很多事的複雜超乎你的想像

星期二, 1月 22, 2008

網路

昨日至下個學期要坐的位子,發現網路線只有一條,兩個人要用,所以過了半天沒有網路的日子(去跟老師聊天也慶生,所以還算忙碌)。今早用自己的AP架起來,現在一切相安無事XD

似乎也宣告,下個比賽(這個?) 開始XD

---
不過現在發文的時間我還在吃早餐XD

星期日, 1月 20, 2008

最近

好啦,寫了那麼多有關程式的,我來寫一些事物,雖然這對我而言可能一點都不輕鬆。

有很多時候,我們會問自己一個問題,當喜歡一個女生時,女生為什麼要選你而不選別人? 比條件是比不完的,會有很多人條件比你好,也會有人比你更會當好人,那麼問自己,憑什麼?

廢話,我們對自己喜歡的女生好一定比其他人來的長久。

換個簡單的說法就是,自忖可以給女生幸福,但是嚴格說來,不是幸福,而是我們比別人更持久,真正喜歡一個人不是玩玩的心態,也不是說來賭賭看,真心喜歡一個人,失敗了會很累很累。只是這樣子的心情,女生並不容易看到吧。當然,我們這邊把單純只會比較外在的人忽略掉,我們也不應該喜歡如此膚淺的女生。

當我們喜歡一個人的,我們比別人好的就是,我們能帶給她幸福。那怕失敗了,我們都會希望她幸福。

---
加油, 我的朋友

懷念


剛剛去acm的submit一看,發現上傳系統移到新的Server去了,順利的轉移之後,截圖留念XD

No comment

這是我在學弟妹版上po了一篇文章的預期,這篇只是興之寫至,不會有任何reponse是預料中的事,不過,身為一個學長,該告知學弟妹的事,該幫忙的,我們還是得做,原文轉錄如下


[閒聊] 寫程式的兩三事

各位學弟妹好,我是資工三,知道我的可能不多,不過也
不重要(笑)。

我是一位喜愛寫程式的人,當然,我曾經也是遇到很多問題
最大的問題是,我平常該怎麼練習寫程式這件事?

多閱讀,多思考,多寫程式是很重要的事。

多閱讀是無法避免的,如果以後想要走資工這條路,就得看
原文書,當然,從高中上來要變成完全閱讀原文需要一點時
間,中文書是輔助你學習,但是不是主導你學習,最新的訊
息還是只有原文書才有(侯捷says: 不讀原文不是你混不
下去,不然就是你不想混了。)

換個角度來思考,如果想要做好一門學問,真是的該好好讀
完一本書的,如果長期適應補習班的填鴨式教學,是否已經
喪失自己學習好一件事的機會?如果只想應付考試,是一件
非常容易的事,重點是,這四年過去之後,對自己留下了什
麼呢?

讀原文書的方法很簡單,以Absolute C++ 3/e為例,相
信大家都知道for, if, else之類的語法了,不妨從此
看起,因為懂了,看起這些片段比較容易抓到重點,也比較
沒有懼怕感,看久了,就習慣了,當然,一開始需要花很長
很長的時間,我記得我第一次看原文書時,一小時只看了
兩頁XD 也可以自己先試著看懂程式碼,再看內文,相信對
於抓住文章重點很有幫助。

如果一件事一下子就可以做好,那麼相信別人也辦的到,
唯有自己做很久的事,才能一點一滴的創造出差異。

當然,如果想要進階閱讀的話,我推薦
# C++ Primer 4/e 中文版(寒假會出)
初學者如果有不懂之處,看個中文也不壞 XD?

多思考的話,我們略過,不然這篇文章會過長XD 有興趣
歡迎找我討論XD

多寫程式的話,不妨多練習,而我們可以有下列目標。
# 老師上課所提及的程式可以試著重寫
模仿老師上課的程式,不妨一個一個字的重打,增
加熟練度,學習是從模仿開始。寫完之後可以自己
把課本蓋上,自己再重寫一次,是一個可以讓自己
快速熟悉程式概念的方法。

# 寫寫書上的練習題
我不否認,教科書上的練習題都蠻無聊的(尤其是
Absolute C++ XD),那麼可以看看中文書上
的習題,都還蠻好寫的,簡單的可以寫一寫,多少
可以增加對語法的練度,困難的也可以當作磨練
自己嘍。如果真的覺得很簡單或者是想看看世界

推薦書籍
@ 名題精選百則-使用C語言 冼鏡光著

# 寫寫網路的練習題
事實上最直接推薦的還是ACM,上傳程式碼之後
會幫你執行該程式碼,判斷對錯,由於題目難度
參差不一,我蠻建議可以先從簡單題練習起,但
是也蠻複雜的,如果有興趣的歡迎與我聯繫XD。

如果想要了解,可以先看看這個網頁
http://axp1.csie.ncu.edu.tw/~rick/acmguide/

推薦網站
@ ACM http://acm.uva.es
@ Lucky貓的acm園地 (ACM 部分中文題目翻譯)
http://luckycat.kshs.kh.edu.tw/


事實上只是想閒聊一下,想不到還是寫太長了(笑),不過如
果對寫程式有興趣,歡迎與我聯繫,或者是來blog逛逛(笑)


---
美好的世界就是期待奇蹟

星期六, 1月 19, 2008

錯覺


剛剛把書架上的書都拿下來,才發現,原來學校的書架也蠻大的XD

---
為什麼以前一直覺得很小XD

HashTable - 以簡單的STL實作之

嗯,我還是覺得用template比較好,畢竟可以完全把事情抽象化是一件很有趣的事,在這一次的程式中簡單的使用到functor和template partial specialization(用在產生hash value)上,參考了不少書只能寫出這樣子的程式,甚感慚愧,事實上寫這個程式我只是想回復使用template的手感,不過感到的最可惜的是下面這個程式碼

template<class T, class EV>
ostream& operator<< (ostream& out, HashTable<T, EV> rhs){
for(unsigned int i=0; i<rhs.u.size(); ++i){
copy(rhs.u[i].begin(), rhs.u[i].end(), ostream_iterator(out, " "));
out << endl;
}
return out;
}


code

應該有辦法避開這個for loop,使用STL應該有辦法的才是,只能說自己能力不足,這個寒假可以好好玩一下

---
我還是玩心很重XD

hashtable的簡單實作

讓我們談談如何實作一個簡單的hashtable

嗯,剛好我最近在複習怎麼玩C++的STL,也有學弟問,我想可以討論一下hashtable怎麼使用C++實作。由於學弟妹皆沒有template的概念(這是很可惜的一點),所以我們就不用template啦。

首先,我們大概說明一下hashtable,大概需要怎麼樣的資料結構

  • hashtable(廢話XD)
  • linked-list
  • dynamic array
以這一次學弟妹問到的bookmark為例,如果我們要做一個hashTable,那麼我們會希望有一個array,來儲存整個hashTable,所以我們會寫如下的程式碼
class bookmark_hashtable{
public:
bookmark_hashtable(int s);
/* ... */
private:
int _size;
bookmark_linklist* u;
};

bookmark_hashtable::bookmark_hashtable(int s=57){
/*
* 當決定整個array的size之後,隨之動態分配一個新的linkedlist array
* 每一個array element 皆為 linkedlist,而array index即是自己需
* 產生的hash value。
*/
_size = make_next_prime(s); // int make_next_prime(int num)並未定義,自行撰寫XD
u = new bookmark_linklist[_size];
}

bookmark_hashtable::~bookmark_hashTable(){
/*
* 當object life time end,記得delete dynamic array
*/
delete [] u;
}


這時候就興起一個疑問了,bookmark_linklist從那裡來,呃,基本上第一份作業有關url的實作,稍做改變即可,不過基本架構如下。
struct bookmark{
/* ... */
};

struct bookmark_node{
bookmark data;
bookmark_node* prev, next;
};

class bookmark_linklist{
public:
/* ... */
private:
/* ... */
bookmark_node* start;
};


那麼我們還需要做什麼? hashTable的架構已經完成了,接下來就只有增加功能,如果bookmark_linklist的功能寫的足夠,bookmark_hashtable應該都能直接支援。例如說

void bookmark_linklist::add_data(bookmark data){
/* ... */
}

/* 如果bookmark_linklist::add_data已實作之則我們可以寫 */
void bookmakr_hashtable::add_data(bookmark data){
int index = hash_value(data);
u[index].add_data(data);
}


匆促之下臨時寫成,有問題歡迎多多討論XD

---
還是有template比較好玩XD
08/01/19 05:58PM 聽說很多學弟妹對linked-list不熟,我想起來我以前寫過XD

星期五, 1月 18, 2008

計畫

寒假計畫好像很簡單,就三本書吧XD

  • Introduction to Algorithm 2/e
  • Computer Orgranization and Design: the hardware and software interface 3/e
  • C++ Primer 4/e 中文版(基本上是當故事書看,如果寒假拿的到的話XD)


就這樣,希望能開一連串的連載嘍XD

---
希望不要跳票 XD

星期四, 1月 17, 2008

寒假

開始啦,不過很多事情尚未確定,預計的計畫都是讀書,所以暫緩po出XD

星期二, 1月 15, 2008

以後再說

看到學弟妹的版上說一個學期五次作業很多...? 我自己試程式的次都遠遠超過

---
算了,考完再說...Orz

星期一, 1月 14, 2008

早晨

其實現在也不算早了,只是剛好這是期末考前的空檔XD 天氣轉冷的當下,其實很怕自己睡過頭XD

有時候仔細想想,每個人總是會有想把自己的事做好的時候,有人做好了,有人做不好,心有餘力而不足的事其實常發生,對我而言,其實這算不了什麼,我有些科目可以high pass,有些科目可以被當掉,我可以玩VHDL玩到整夜沒睡,我也有翻到書就掛點的記錄。

學生的最大好處就是,學校允許學生犯錯,但是不代表可以一直犯錯XD,應該是說,當我們在做多種嘗試時,可以由於很多因素犯了錯誤,進而學習,到了社會,可能就沒這個好處了。所以在我們當學生時,記得多嘗試,多學習,多接觸不同的人群,我覺得這樣子還蠻有趣的。

事實上PageRank升到1我還蠻高興的(看清楚,我沒有廣告XD),因為總覺得很平凡的自己,可以因為這個blog認識更多的朋友,從以前到現在,我還蠻喜歡抽學伴的(交了女朋友之後也是XD),因為我從他人身上,看到不同的人生(我只是愛聊天XD),不然我怎麼可能知道,政大無熱水XDDD。

有時候常常在想,我做的跟資工無關耶,我要不要改行當張老師算了XD DJ也不錯,還是,無業遊民每天嘴炮 XD

就算閒聊一下嘍XD

---
早起會讓心情好一點~

星期六, 1月 12, 2008

YUI


這是一個日本歌手,從Music Static 2007.2006 SuperLive 看起來很安靜的樣子,但是一看她演唱起來,整個人有亮起來的感覺,這次因綠際會,聽到她的第一張專輯 FROM ME TO YOU ,聽她的歌不能只聽太陽之歌喔,她可是有很多歌可以聽的,推薦 Merry Go Round(FORM ME TO YOU), CHE.R.RY(Can't Buy My Love)

---
我不懂日文,別問我歌唱什麼XD

Page Rank


這個是Josh的pagerank,我覺得有這個分數是很正常的事,恭喜恭喜,然後接下來是....
這是怎麼一回事...Orz 我又做了啥壞事了XD

---
開始懷疑pagerank了XD

星期五, 1月 11, 2008

小聊一下

雖然我不是頂認真的做知識管理的CMS,但是如果使用XAMPP + Drupal ,的確可以很輕鬆的把CMS架好,讓架好一個CMS的付出成本降至極低。

anyway,架站那麼容易了,架CMS的重點是什麼呢? 是你想讓這個CMS所扮演的角色,我蠻認同老師在課堂講的一段話

Web 2.0是以使用者為主的應用,但說穿了,這是將Client-Server架構發展到極致下的結果。

結果是一個很簡單的,當我看到PC World上的年度最讓人覺得失望的科技,Social Network名列第八,倒也不是一個讓人覺得太訝異的結果。只是發展到一種極致,我的興趣不是網路,不然以我不怎麼靈光的腦子來思考,網路的下一個未來在那裡? p2p似乎還是存在一點問題,並不是每個人都有固定的實體ip,只要這個問題存在,Server還是有必要存在的,但是如果每個人都有實體ip,具有不可變更性的話,你在網路上的所做所為是受到監控的,每個人該不該有自己的ip也是一個兩難的問題,誰喜歡被監控呢?

回到正題,當我們架設CMS時,定位是什麼呢,我跟老師說的是,我不想做大眾市場,市場機制很早就證明,把市場做大不一定會賺,但是如果做出市場區隔,或許可以保有一定的活力,所以我跟老師說了,該做的CMS是小眾的固定的,知道對方是誰的,和現有的存在CMS大異其趣。有一個原因是,被人做爛了,還有一個很大的原因是,當把一個知識市場做大時,貢獻的相對比例就降低了,如果不考慮從中獲利的因素,我比較喜歡小眾市場。因為一旦把市場做大時,就有人想要從中建立屬於自己的影響力,在小眾市場中,比較不需要這樣子的角色。

台灣的獨立音樂,就是一個很好的例子,看起來很小,但是加以分析,可以從中得知,如果可以做到一定的市場分隔與規模,獲利百分比不見得會比流行音樂來的低,如果今天獨立音樂有著一群有著mp3仍然會買正版CD的人,跟流行音樂,大家抓就好的人而言,我相信獨立音樂買CD的人較多,與其阻擋盜版,不妨試著建立屬於自己的市場,消費者是可以被教育的(這就讓我想到,張懸把聽歌的人稱之為聽眾,而李玟稱之為歌迷,兩個皆為我親耳聽見:) ),又扯遠了

只是閒聊,就當作廢話一則吧


---

只是有人說聽不懂我說的,我就隨興說說...XD

做壞事

昨日與Josh討論到很多事,有時候,能當上教授,除了本身的實力,還有一些額外的因素,當然,這會顯示這些事情很複雜,我們就跳過吧。

至於志向問題,我想不論是一個理論家,實作家,理論與實作並重的人,都有其發展的空間,決定好就去做吧。

另外也順便討論一下到底要怎麼樣的程式才能灌爆別人信箱,他之前試著做過,用Ruby做的,因為有內建套件,所以很方便,我想想,就用Java的Socket Programming部分做出來,也很簡單(不到三十行),不過事實上會卡在一些問題,現在大部分的Mail Server並不支援直接登入使用SMTP寄信,不過倒也還好,如果用一個浮動ip,然後再隨機尋找可以的就好了,比較大的mail server不行,我想還是有很多中小企業或中小學校沒有關掉? 這也是有可能的,不過當然,這是就技術層面來討論,實際上不會去做的,當然,也不會放程式碼XD

----
測試時,我的信箱多了好多信XD

星期四, 1月 10, 2008

看到鬼

這是真的嗎?

---
從Josh那邊看到的XD


印刷廠的排程趕不上,到一月底才會上架,譯序很讓人期待,雖然沒有某些東西我會很想炸人,那麼現在是預購時間嗎,書商應該要,預購有特價啊,送海報之類的(敲碗~)XD

星期一, 1月 07, 2008

最近

最近,沒啥大事發生,就是一直寫程式吧!? 聽說還有兩隻程式要寫 XD 不過都算是小事了,只是最近朋友寫程式落入一個我難以理解的狀況,我只能說,做事乃循序漸近之行為,絕對不是瞻之在前,忽之在後,君不見萬丈高樓平地起,豈有蓋空中樓閣的道理。

雖然擔心,但是也無法說什麼,只能說繼續努力了。期末考近啦,也希望自己翹課能翹少一點了XD

---
我為什麼要寫的文言不文言,白話不白話呢...Orz

星期日, 1月 06, 2008

Google Code

今天小摸一下,可以把程式碼集結成一個地方,也可以讓人搜尋,不太清楚怎麼用,但是一個project有100mb的檔案空間,我想我可以用很久很久,然後也可以直接下載,我想以後檔案會放這裡,比較好整理。

也因應Google Code和Picasa,訪客留言區,所以小小的調整的一下sidebar的版面配置

---
當然,還是全部都是free

星期六, 1月 05, 2008

怪

用GooglePage存的檔案,最近又可以下載了,似乎是在我把音樂移掉之後的事,看來Linkin Park魅力不小,大概以後不敢放音樂在上面啦,保持可以正常下載就好。

所以我之前猜的是錯,原來google還是開放自由連結的,所以我還是會繼續放在那裡吧XD

---
剛好可以偷懶了XD


12:06 PM 發現好像蠻多人在找我放的新版個人代表圖(這絕對不是我畫的,不過我很喜歡),會不會再爆掉啊...Orz
01/06 06:39 PM把圖移回學校了,應該不會有事了XD

以UDP實作RDT

花了很多時間之後,實作出以UDP實作reliable data transfer的半成品(因為我覺得並不是那麼完美),檔案僅供參考嘍,以Java實作之。

code(Google Code)

還是一樣,歡迎自由轉載,無需告知,不過最近班上在寫這個作業,應該不會有人找到這裡來XD?

好像變成某些關鍵字第一名了XD

---
但是還是因為這個東西搞了一個禮拜...Orz

星期三, 1月 02, 2008

RDT二三事

建立在一個假設上,ack packet完全不會loss掉的話,那麼事實上單個packet transfer的RDT,已經做的差不多了,所以接下來該考慮實作如果連ack packet都不見時該如何處理。課本事實上用了一個偷懶的方法,反正在一定的時間內沒有收到ack就重傳,也是一個不錯的選擇XD

---
事實上有點語無倫次的感覺


02:29 AM 事實上sendPacket設定一下就可以達成這個要求了,我剛剛在想什麼,竟然認為很難,看來腦袋有錯亂的傾向XD

星期二, 1月 01, 2008

寫程式

寫程式就是一個可以把阿匹婆變成林志玲的魔術

---
但是寫程式不是魔術靈XD

星期一, 12月 31, 2007

寫程式之餘

RDTACKPacket ackSizePacket = null;
do{
sendPacket(sendPackets.get(0), clientSocket, IPAddress);
ackSizePacket = receiveACKPacket(clientSocket);
}while(!(ackSizePacket.getPakcetNumber() == 0 && ackSizePacket.getACK()));

寫RDT之餘,看到這一段程式碼,發現每一個function 都是自己撰寫的,也就是說這一段程式碼是我寫的程式碼的組合技XD 看起來也蠻有趣的

---
寫完會更有趣XD

星期五, 12月 28, 2007

RDT

經過一晚之後,總於做出一個基本來,要進行下一步,checksum and ack and retransfer XD 如果用UDP實做的話,事實上第一件事要做的是把每一個超長字串(這邊預設的支援大小約80mb (8192-9)*10000/1024 ),會把這80mb分割成約10000個封包加以傳送之,再接受端根據pakcet number再加以重排。

會搞那麼久的原因是,我對Java的String index不熟..Orz

---
對,沒錯,就是 String.substring(beginInex, endInedx) ...Orz

星期三, 12月 26, 2007

GooglePage

原來以為這是一個不讓Google注意的服務,所以我就放心的使用他來放一些有關blog的檔案(程式碼、文件、我的個人圖片),結果這幾天發現,好像不能直接連結啦XDXD,只好先暫時移回學校的個人空間,為什麼要放Google呢?想說都一起,也蠻方便的,也不用怕學校的空間什麼時候會倒掉,看來現在只好再另尋他處了。

---
這年頭放資料有點麻煩XD


有找到Google Code - Project Hosting,好像不錯玩,改天來試試看

星期二, 12月 25, 2007

沒有頭緒

過了好幾天,我依舊對RDT implement沒有頭緒,或許會邊做邊寫? 也是一件很有可能的事。

昨夜學弟在讀Degital Design時,發生的問題是就是不懂課本在說什麼,老實說,我覺得有Flip-flop的狀況下,若為synchronous ,也就是所有的電路皆聽同一個clock的狀況下,先用 finite state machine 規畫之,再把 state diagram 轉成 truth table,再把truth table 的每一個output使用k-map簡化出電路,即可實作之,一氣呵成,一次解決,所以我還蠻喜歡Flip-flop這個部分,可謂之把sequencl circuit 與 combinational circuit結合的美麗之處的開始。

說多了,回到正題,目前對Java熟練度有大大的提升,不過自己也很清楚,有些概念也只是自己硬用C++轉換,還是得再努力才行,目前已經回復至正常的生活。

---
keep going

星期六, 12月 22, 2007

最近

一個禮拜沒有寫blog了,囧XD

不過也過的還算平淡,就是因為平淡,學習的速度不明顯,心情也沒有太大起伏,所以也什麼事都沒有發生,不過今天也不算有什麼動力想寫作。

所謂的生活,就是不斷的精進努力,不是嗎

這幾天看efang在寫程式,自己也試著寫一寫,發現STL這一塊的概念比以前更好,但是有什麼好工具可以用卻快忘完了,而且還有boost尚未安裝,雖然C++是我最愛的語言,總有一種越離越遠的感覺,不過也無妨,現在正在學Java,學完再回來看,也是一個不錯的選擇,哈

Java的概念並不難(以學過C++而言),不過因為少了很多東西,才能夠發揮他的威力,但是也因為如此,在很多地方就顯的綁手綁腳的,也是很可惜的一點。不過在GUI Programming, multi-thread Programming, Socket Programming都是一些蠻有趣的發展。Boost已經有portable thread library,也是值得期待的XD。

anyway,現在的我可能是處於一個觀望期吧,但是多多少少什麼都看,也是一件不錯的事XD。

---
流水帳XD

星期五, 12月 14, 2007

大三下課表

一二三四五
1
2軟體工程平行演算法軟體工程
3資料結構演算法平行演算法軟體工程Unix程式設計
4資料結構演算法平行演算法Unix程式設計Unix程式設計
5智慧財產權嵌入式系統概論嵌入式系統概論
6智慧財產權嵌入式系統概論軟硬體協同設計
7計算機網路實驗體育網路服務應用系統軟硬體協同設計
8計算機網路實驗體育網路服務應用系統網路服務應用系統軟硬體協同設計
9計算機網路實驗資料結構演算法

隨性排了一下,大概是這個樣子,不過是24學分,紅色代表是大四碩士班選修,老實說,目前覺得課表很滿,修了可能會爆,也可能不會,不過這樣子一排,大概就決定大四上才能準備考研究所吧,所以目前還在想要怎麼排

---
好歡樂的課表XD

星期四, 12月 13, 2007

三天

三天之內寫了大約500行Java,但是也沒什麼了不起的,因為寫出來的大都是一些很普通的程式,只要能夠了解語法概念就可以,而且還是在Console Mode下的開發,GUI Mode還是沒寫(真不曉得為什麼我對GUI那麼執著幹麻XD)。

重要的是,和一群不錯的人合作愉快,雖然尚未開始,但是我的感覺是如此。

---
就是這樣

星期二, 12月 11, 2007

jbuilder2007

搞了老半天,終於搞懂如何使用內建的視覺化編輯器來撰寫GUI了,在老師的推薦下去查了一下Jbuilder 2007,原來不經世事真的是一個蠻有趣的後果,jbuilder 2007全面採用Eclipse做為修改,有分為turbo版,個人版,商業版,其中的turbo版為免費免註冊下載(謝天謝地,終於不用註冊了XD),抓下來的感覺,考,這就是Eclipse嘛XD,不過對其檔案可開啟為程式碼編輯器或視覺化編輯器(也就是GUI editor),算是蠻方便的一種方案,不過我初步安裝CDT於其上,似乎不行...有點可惜,有空再來試試。

---
這樣子我同學應該可以很快速的開發GUI了

星期一, 12月 10, 2007

畫圖


花了一整晚,參考了老師所給予的程式碼,畫了一個簡單的類別圖,第一次使用UML覺得不錯,第一次覺得Microsoft Visio,覺得有微軟的味道(我還記得這軟體以前很好用XD)。

---
算蠻順利的XD

星期日, 12月 09, 2007

project

剛剛稍微計數了一下,有期末project如下

  • 程式語言:用lex, yacc 寫一個很簡單的東西?!
  • 計算機網路:用UDP實作出簡單的RDT,還有一個簡單的Application,我們使用踩地雷
  • 物件導向軟體設計:畫所給予的程式的類別圖和物件圖
  • 網路應用程式設計:做出一個firefox外掛,主 是url聊天室
  • 知識管理:利用CMS,架出一個知識入口網站


看起來很多,事實上從現在開始做,時間排好,應該可以順利完成。

---
應該吧XD

星期五, 12月 07, 2007

恭賀

我很少在blog上提及家人的事,不過這次要特別提一下XD

恭賀姊姊高中台科大高分子研究所

想想,她念書比我還認真,卻比我還辛苦(陽明國中 -> 中台醫技 -> 崑山高分子 -> 台科大高分子),頗有峰迴路轉,柳暗花明又一村的感覺XD

---
結果我還是在打混中,anyway 恭喜

星期三, 12月 05, 2007

dirty work

這兩天幫好友灌筆電,由於所附光碟是Vista光碟,我上官網尋找XP驅動程式,一個一個的尋找整理是不難,只是有點落入dirty work的感覺。

---
還好做完了XD

星期日, 12月 02, 2007

Maze with Simple Implementation C++

今天整理程式碼時發現前陣子efang問的迷宮程式碼,我說明了,只是一個簡單的stack,沒有花很多心思寫,不過就這樣子釋出吧。

code

---
有點充版面的感覺

星期五, 11月 30, 2007

type traits

在經過一年之後!?!? 今日再翻 "STL源碼剖析" (應該七八次了),終於對type traits有所感覺,於是寫了測試碼如下。

template<class T> class Node;
template<class T> class LinkList;
template<class T> class iterator_traits;

template<class T>
class Node{
friend class LinkList<T>;
typedef T value_type;
};

template<class T>
class LinkList{
typedef typename Node<T>::value_type value_type;
};

template<class I>
class iterator_traits{
typedef typename I::value_type value_type;
};
簡而言之,type traits 就是一種type 截取機XD,一個type 可能經過class template的層層包裝,導致我們原本所想要處理的type得知變成隱性,這時候就需要type traits來追蹤出原本的type,相當有趣,當然,在STL中,並不是所有的iterator都是class type,而原生指標(ex: int*) ,可以用template partial specialization 來解決

(ref: STL源碼剖析 chapter 3.4 p.85~p.92)

---
一年前覺得不怎麼有趣XD

Android

前陣子看到一則新聞是有關Google Android的千萬美金比賽雖然,這麼高額的獎金,我大概贏不了,但是開發平台是Java + Eclipse 再加上Google自己開發的套件,這就變的非常吸引人了,或許會試著開發看看 ?

---
我承認我是被錢吸引才去看的XD

最近

期中考終於結束了(笑)

對我而言,期中考結束代表的意義是,可以寫自己的程式,潛心於學習(本來想要說研究,後來發現稱不上,哈),當然我還是對機率與統計老師充滿了抱歉,因為我並沒有認真念。事實上,只要一到考試時,我就有資源被抽空的狀況,大部分的精神得拿來準備考試,而想要寫程式卻又動彈不得,這對我而言是一個很糟的狀況。

無妨,現在寫程式也來的及。

昨日與竹竹相談甚歡,得知她在最近獲得了一個充實的學習生活,甚為恭喜,而我自己只是不上不下,哈哈, 聊一聊之後,對班上的狀況有些釋懷了。人並不總是如此,但是仍有其美好的一面。總而言之,還是很謝謝她,還有推薦柴琦幸的歌,我會盡快整理好的。

---
撥雲見日,再下一城

星期一, 11月 26, 2007

上課

上課在即,因為Josh的blog,我跑去看了看隨機客今年的上課網頁,看到了覺得很想流淚,原來,我真的找到自己想要的是什麼了。

我會認真的,讓我們來應付學校該死的考試之後,專心做好自己的事吧。

---
感動之餘才會流淚才不是嗎(笑)

親愛的

親愛的(張懸, 親愛的...我還不知道, 2007) 現場版

深深的話要淺淺地說
長長的路要揮霍地走

大大的世界要率真地感受
會痛的傷口要,輕輕地揉

被抱緊的時候去
勇敢地祝福─

不被了解的時候,
相信自己值得
永遠心疼做過的夢

在乎的人要傻傻地愛
經歷的事,就慢慢地來

想法很多的時候,要細膩地用
擁有一切之後,就讓它走

在某個角落放一首歌
別忘了,要快樂
別忘了,要溫柔

---
一週年嘍,呵

星期六, 11月 24, 2007

今日成果


目前整理歌曲的進度如上XD

---
今日暫告一段落XD

星期五, 11月 23, 2007

James Blunt

這是好友mandy推薦我聽的一個人,在2007年的專輯 "All The Lost Souls" 整張專輯聽起來,可以讓人靜靜的喝咖啡欣賞,就我個人而言,是一張可以聽數十次到數百次都沒有問題的專輯,其中以 I Really Want you 以快步調進行到中段再慢步調的高音貫穿全歌,高低交錯,非常美麗

---
一次兩篇XD

mihimaru GT

這是一個日本團體,就我手上有的兩張專輯來看(mihimagic, The best of mihimaru GT),這個兩人組合毫無疑問的是流行音樂的團體,不過就我個人而言我還蠻喜歡聽的,在2006年時,因 心情high翻天成名,也有人說是因為 回家歌 而出名,no matter,就我聽The Best of mihimaru GT 這張專輯時,每一首的曲風不同,值得推薦

為什麼不寫裡面唱的怎麼樣,聽了就知道了,不過不喜歡high的人就別聽了,雖然大部分歌的曲調都不長且重覆,不過值得一聽了。

---
有空再寫長一點

星期三, 11月 21, 2007

Google Ads

有人跟我提過,有人跟我問過,為什麼不在blog上放Google Adsense,我想很主要的原因是,我想放了也很少人按(我也不是那麼缺錢),而且我覺得放在blog上蠻破壞版面的,所以應該暫時不會放?

---
或許我欠錢時就會放了XD

超英趕美

這幾天被期中考纏身,所幸考到現在沒有太大的爆炸,雖然有些事出乎預料之外就是了,在此還是特別感謝eating和mandy,平常有積陰德,不然Operating System Mid-exam應該是炸定了,所幸沒炸:)

今天Computer Netwrok提到的期末project,要在一個月之內用UDP實作出TCP的相關功能,而且還要有Application Software ,給我的感覺很像是,剛學完一元一次方程式,然後告訴你一月後考微分一樣,重點是,中間完全沒有任何提示,感覺很像要學生超英趕美。

抱怨也沒有用,這個禮拜的返家取消改至下禮拜,一方面是期中考使然,一方面想要先找找資料。

---
要為生活而努力:)

星期五, 11月 16, 2007

補充

我真是個瘋子,兩天看完25集的GTO漫畫...Orz

---
聽了下面那一首歌之後睡不著..Orz

墜落

每當我想墜落時,我就會聽這首曲子,Linkin Park - Announcement Service Public(Underground v6)

這首歌嚴格算起來還是有人聲,不過人聲是背景聲,也就是說,這首歌,事實上是沒有歌詞的? 或許這樣子的認知是錯的,不過在聽歌上我並不想做太嚴謹的定義。

聽完這首曲子,告訴自己更努力,以期待下次的墜落,再重新見到光明時,我要回到自己。

---
謹紀念三個禮拜的生活。

星期三, 11月 14, 2007

聊天

我從不否認,我很愛與人聊天,應該是個性使然XD。

聊天可以獲得很多訊息,昨天,就覺得對學弟非常的抱歉,雖然聊的很開心,但是他們今天還有課XD 還是不知不覺聊的很晚,也很對不起小祥,一直吵,讓他沒有辦法睡覺,但是,還是獲得了不少訊息。

人際關係永遠是一個很複雜的事,就看過的書及體會到的,懂的規則和其原理,好像,一切都變的很簡單一樣,但是,no matter what,都應該堅持專心做好自己的事,那怕是玩遊戲,我玩遊戲從不堅持,誰叫我都一直死的XDXD

外面對我的負面傳聞,大概還是多到爆炸吧,人不可能不在意,多多少少還是會有點在意的,我不是聖人,不過,我還是只能對自己說,專心做好自己的事,現在的我沒有辦法顧慮太多,呵呵。只是對efang就有點抱歉了,我會再繼續努力的。

聊了很久才發現,原來,現在的我已經比起一年前,或者是兩年前,好了非常多。但是還不夠好,還是得繼續衝下去。

---
大家辛苦了。

星期二, 11月 13, 2007

decay生日

呵,小花是我見過很心服的女生。

祝小花變成大帥哥兼大美女啦,好好加油,強者就是你的~

不要忘了有我們這群不要命的組員啊,哈哈哈

---
幫她慶祝生日的地方(快,按這裡)

星期一, 11月 12, 2007

高興

雖然不是多難的程式,看著efang寫的很高興,我也高興了起來

---
但是不要因此自滿,要努力前進喔~:)

想法

最近花了一些時間與efang念資料結構,有些感觸

最近重念fundamental of data structure in c++,感覺到贅句不少,應該是說,我喜歡Introduction to Algorithm 2/e的明快風格(雖然有時候嚴謹了些,但並不是一件壞事),我跟efang討論時,總是跟他說,有些事並不是那麼重要,data structure,有些部分是該懂細節,但是有些部分,真的不宜細讀。

有些想法是不宜細想的,不論是寫作或做其他事時,我們必需懂的因地制宜。所以當我聽到efang的朋友們把這本書抱著細讀時,覺得並不是那麼妥當,或許,該花時間在思考,如何彈性變動想法以適合真正的實作環境?

理論很重要,但是實作也很重要,目前的我是這樣子想的。但是可以分開發展,再結合,應該也是一個不錯的想法

---
所以更應該好好的研習資料結構演算法

星期六, 11月 10, 2007

最近

秋冬之際,我的寫作量(廢話量? XD)會隨之熱漲冷縮XD

沉潛之餘,省視自己過去所寫,雖有進步,但不大,這也不讓人憂心,因為有進步就好,有很多事急也急不來,不能要求太多的。還以為最近能寫一些技術文件的,想不到還是寫不出來,看來念的書都太無聊嗎 XD?

最近因為上課的機會,讀了一些有關網路的規格書,事實上建立在application layer之上的傳輸協定不會太難,最主要是在制定data format,所以不會很難,倒也沒有扯到太多底層的技術實作細節。所以我換個腦子想想,為什麼要寫這些規格書? 有人創造規則,而大家就遵守創造之,事實上這就跟language一樣,大家都說同一種話時才能溝通,說不同種話時大可以不理,這對創造人員是一種限制,也是一種仁慈,這樣子使得寫程式的人不需思考太多種輸入資料的可能性。舉個例子來說,光要判斷使用者輸入是不是一個在range內的數字,就很煩了(雖然程式不長,但是看見一串程式碼只是為了處理user的問題,著實會煩),回到技術層面,由於網路傳輸協定不是end user,所以我們可以定的死一點,這對使用的人才是一種寬容(所以我們知道html對於browser實在是不怎麼寬容XD)。

人是具有無限可能性的。

最近也兼伴讀寫程式,盡量以不幫人的幫人為目標,希望有所幫助,因為,真的很深刻的覺得,有時候,程式寫不好,問題不一定發生在自身,有人幫助是一件好事,我以前也曾經被人這樣子幫過的

想到什麼再寫吧。

---
發些生活文也不錯XD ?

星期二, 11月 06, 2007

Web Server

昨晚利用Java Socket Programming 實作了一個簡單的Web Server,但是參考的文件還不少,晚點把整份說明寫完放上來

---
但也因此欠了很多科作業XD


2007/11/06 11:54
課本的說明文件,自己寫解答釋出
如果嫌這份文件太長,可參考 陳鍾誠先生 所寫的教學文件 如何設計簡單的 WebServer?

星期一, 11月 05, 2007

如何清除grub

最近一堆朋友開始試著灌ubuntu desktop,但是要移除分割區的時候,似乎不約而同遇到了一些問題,我以前是Windows XP 的修復主控台使用

fdisk /mbr
即可順利把grub清除掉

但是最近這招似乎失效了,稍微查了一下資料,似乎是從Windows XP修復主控台下使用
fixboot
fixmbr
就可以順利了,此方法在ubuntu desktop 7.04/7.10有效

---
做個小筆記

星期日, 11月 04, 2007

記性

話說,繼鑰匙之後,我又把錢包忘了...Orz

---
還好撿回來了XD

星期三, 10月 31, 2007

備份

外接盒確定購買,可以好好準備備份工作了,接下來的問題是,何時主機板送修回來方能進行桌上型的備份。

btw,這個月已經五次把鑰匙插在機車上忘了拿了...Orz

---
這年頭,笨事永遠很多XD

星期一, 10月 29, 2007

book list

今天不想念書,於是稍微整理一下

  1. C++ Primer 4/e
  2. C++ Primer 3/e 中文版
  3. Thinking in Java 4/e
  4. Thinking in Java 2/e 中文版
  5. C++ Template 全覽
  6. Concrete Mathematics 2/e
  7. The C++ Programming Language 3/e
  8. The C Programming Language 2/e
  9. Effective Java 中文版
  10. Design Patterns
  11. 物件導向設計模式 Design Patterns
  12. Computer Systems: A Programmer's Perspective
  13. C++ 標準程式庫(The C++ Standard Library)
  14. Effective STL
  15. Effective C++ 3/e
  16. C++ Coding Standard
  17. Effective C++ 3/e 中文版
  18. Effective C++ 2/e 中文版
  19. More Effective C++ 中文版
  20. Exceptional C++ 中文版
  21. Modern C++ Design 中文版
  22. STL 源碼剖析
  23. 泛型程式設計與STL
  24. 深度探索C++物件模型(Inside The C++ Object Model)
  25. The Design and Evolution of C++
  26. cwTeX排版系統
  27. The TeXBook
  28. Introduction to Algorithm 2/e
  29. 演算法導論2/e
  30. Fundamenttal of Data Structure in C++ 2/e
  31. 實戰C++: 8個別具特色的實作經驗(The Art of C++)
  32. Object-Oriented Analysis and Design 2/e
  33. 世紀末軟體革命 復刻版
  34. Assembly Language for Intel-based Computers
  35. Computer Organization and Design: The hardware and software interface 3/e
  36. Operating Systems Principles 7/e
  37. 重構 - 改善即有的程式設計
  38. 精通vi 6/e
  39. 名題精選百則: 使用C語言
  40. 鳥哥的linux私房菜: 基礎篇
  41. 鳥哥的linux私房菜: 進階篇
  42. FreeBSD 6 架設管理與應用
  43. 駭客與畫家
  44. 人月神話
  45. Digital Design 2/e
  46. System Software:An Introduction to System Programming 3/e
  47. Java學習筆記
  48. The C# Programming Langauge 2/e
  49. Computer Science an overview 8/e
  50. Word排版藝術
  51. 深入淺出MFC 2/e (Dissecting MFC)
  52. Java 網路程式設計(Java Network Programming)


---
理論上應該還有遺忘的XD

最近

返家回來過後,買了一顆硬碟,應該會跟進Josh ? 這是一件非常有可能的事(笑)

最近和好友小聊了一下,才發現很多事不如自己原來所想像的美好,不過亦無妨,隱居是一個不錯的選擇,至少這學期到現在,我還過的不錯。有時候,事情仍舊靜靜的沒有改變(笑)

最近可以說看了很多東西,但是也可以說,根本就沒有看什麼東西,不然我怎麼會半篇技術性的討論都寫不出來(學伴也要求寫少一點XD ?) 雖然看到efang的程式碼有感,可以利用class 來做到proxy class的技巧,不過我覺得這更偏向STL functor 的做法,說穿了不值一兩銀,所以不提也罷。Java是我第二次接觸,老實說,沒什麼很特別的感覺,唯一的感覺就是,他變簡單了,不過也很正常,經過比賽之後,學習任何東西比較沒有那麼害怕,更不會為自己預設立場,所以學習的算蠻愉快的。

課業勝任愉快,雖然會有些課上的很糟,有些課跟不上的情形,每次花個小時間總能輕鬆追上,我因此滿足,因為我還是想好好的看自己想看的書,或許這樣子下去,我還真的不容易升學,不過無妨,人生過的快樂就好,至少我知道我沒有在偷懶的前進就是了。不過我還是很懶的把主機板送修就是了XDXD

最近接觸的人女生居多,還好大部分都脫團了,相處愉快,總而言之,最近也沒啥大事發生。

---
又是生活文一篇XD

星期三, 10月 24, 2007

variable

這個的標準意義是多變化的,不過在編程中,一般被稱為變數,事實上大家都知道,有良好的變數命名是一件非常重要的事,如果命名不好,大概就跟你在書上貼標籤,卻寫了無意義的代碼,那麼勢必要跳到該處看懂,那麼這個標籤似乎沒什麼用,當然,善用scope rule等等,都可以讓程式的可讀性大大的提高,不過,在暑假的時候,我看到這樣子的程式碼


#define km 3
#define mm 160
#define nn 120
double f1[mm][nn][km], f2[mm][nn][km], hxu[mm][nn],
hxv[mm][nn], hmmx[mm][nn], hmmy[mm][nn];
double vecinv[kk][kk], am7[kk];

main(){
double u1[mm][nn][kk], v1[mm][nn][kk],
ps1[mm][nn];
double d7[mm][nn], d8[mm][nn],
d00[mm][nn][kk];
double clock, sumf1, sumf2,
gsumf1, gsumf2;


int i, j, k, ka, nnkk;
int nproc, myid, istart, iend, icount,
r_nbr, l_nbr, lastp, iroot;
int itag, isrc, idest, istart1, icount1,
istart2, iend1, istartm1, iendp1;
int gstart[16], gend[16], gcount[16];
}


老實說,我一開始看到差點暈倒XD 老師上課提到,有可能非科班出身的會寫出奇怪的變數命名,誰說的,科班出身的照樣寫出讓人暈倒的程式碼。

---
這程式碼真噁心...Orz

星期二, 10月 23, 2007

聰明與智慧

我蠻常聽到某人好聰明,有人好厲害,卻不常聽到某人有智慧。日前家人提起"能者多勞"的這種問題,持著反面態度,我笑了。

世界上沒有所謂的能與不能的問題,也沒有聰明與否的問題,我碰到的人或許有聰明一點的,Josh ko和我,絕對不是聰明人。為什麼? 當你做的到每天七個小時以上專心做同一件事,而這件事做不好的機率,太低了,最近我可以花三四個小時做一份作業,事實上不用那麼堅持的,只是想做好一件事。

這社會,聰明人很多,而聰明只是泛指可以很快速的解決問題,提出想法,但是,就僅止於此,而能夠從聰明中,提出開創性的見解進而改變這個社會,可謂被稱之智慧。什麼是天才?我不知道,我知道這個社會有天才,但是我沒有遇到過,我遇到一般人所稱為的強者通常都是花很長很長的時間專注在某一件事情上的結果。

或許我們可以慢慢的知道,一般人所謂的大師是如何產生的,因為他們跳越了聰明的藩籬,而跨越到了智慧開創性的領域,我或許不太能成為大師,但是,我永遠可以向大師學習(笑)。

走出來,才看的更遠,學的越多永遠只會覺得自己會的越少。

---
雖嚴重警告自己不要再寫,但是似乎沒什麼用(笑)

maibells0 生日

事實上,這就是別人不愛看我很愛寫的一種文章之一。

maibell0現在就讀台大外文系,是我高中同學,對我而言也是一個特別重要的人,當然,也可能是我朋友中少數一類組XD 雖然我很難理解為什麼他的英文會那麼好(相較於我的破英文而言XD),我也很難理解為什麼他總是說自己不好XD 可能高手都這樣?

不過在我的認知中,他曾經在我最困難的一段時間陪我渡過難關,這是誰也無法取代,但是現在總是覺得很抱歉。他的生日,我也只能慢慢的待在電腦前鍵入文字,紀念他的21歲生日。

我還是寫一段難以理解的話吧。

當生命成長趨近於毀滅,即是新生
新生,不再一代名詞
唯實際行動,重構生命


---
refectoring

星期一, 10月 22, 2007

朋友到訪

今日(昨日)哈密瓜到訪,甚為高興,稍微調整一下MacBook,使其使用更為方便,之後帶其認識環境,吃個長庚最常見的餐點,相談甚歡。

---
感謝哈密瓜幫我帶書來,我少跑了一趟台北

星期五, 10月 19, 2007

Friday

我想這不是指一家很有名的餐廳,當然也不是指牛郎,更不是魯賓遜漂流記XD

這個學期開始期待禮拜五了,呵呵,倒也不是想偷懶,雖然我從不否認偷懶在我的生活因子中,我想,禮拜五之後可以較無顧慮的做自己想做的事是一件讓人高興的事吧,雖然有時候會有拜訪朋友,或朋友來訪打斷,但無妨。

最近想買幾本書,都不便宜

  • The TeX Book
  • Compiler
  • Java Networking Programming 3/e
  • The Art of Computer Programming: Volume 1
可能等有錢的時候再去買? 最近一直都很沒錢,不如說成把錢全部花在吃的上面,說到這個,昨天又吃十元燒烤好多串XD。

這個假日沒啥大事,應該可以把預計的作業系統筆記完成,雖然做的不好,但是可以好好的練習一下。當然,有朋友來訪也是一件讓人欣喜的事,在偏遠的地方,說真的,也沒有什麼人肯來。

---
糟,懶的把桌上型電腦的主機板送修了XD

有關debug的兩三事

身為一個愛寫程式的小孩,常常debug是常有的事,為了不讓有人罵我專門寫火星文,我稍微說明一下好了,非專業解釋就是

debug 就是驗證你寫出來的程式對不對,跟算出來的數學式子驗算是同一個意思

不過很不幸的是,我從小就是一個連加減乘除都很容易算錯的小孩,這個問題一直到寫程式的時候才改善,因為算錯了,可以說式子是對的,算錯沒關係,程式錯了,總不能說我的想法是對的,但是自己寫的程式總是錯的XD 所以我的逼的自己得好好的看著自己寫的東西好好的varify一下(寫到這裡,Josh 會跟你說literate programming, functional programming language都是不錯的選擇XD),久而久之,當然有自己的一套看自己錯誤的方法,寫程式的時候,我還蠻笨的,犯的錯誤總是那幾項,總是不能記取前人(這前人還是自己)的教訓。

當然,一般人會的deubber工具,我都不會,我永遠只會一招,印出一些資訊來看看,然後自行看看是不是對的,事實上很多開發工具都有提供debugger工具,Visual Studio.Net啦,Borlad C++ Builder啦,甚至我現在愛用的Eclipse都有,但是我都不會用... 老實說,這沒什麼好炫耀的,那麼我的問題出在那? 呃,可能我太常換環境了,在這之前雖然沒啥能力但是總不想被微軟綁住,於是我就很安份的用了Dev C++好多好多年,直至我知道MinGW XD 當然,還有一個很大的原因,有時候迫不得己,程式得用vi寫,很多個檔的時候,makefile也得自己來(我還是不會寫,有沒有人要教我的XD)。

說到印出來的訊息就千奇百怪了,不過大部分我都很安份的守已的印出我想要看的,有沒有專門搞的,我室友fire7617 就蠻喜歡印 "yen3 is handsome." 或 "handsome yen3" 這種東西,呃,這種話代表非常的虛假,不過在寫苦悶的程式能搞笑的也是好事,但是我曾在笨版看過一個故事,有人印過這種訊息。

某一程式員寫程式寫到後面壓力大,又跟上司(老頭)很好,所以常在程式的除錯訊息開玩笑,有一天程式好了之後,上司拿去跟客戶demo,結果發生錯誤,跳出了如下訊息

我想台下應該是一片囧臉吧XD 不過有時候也可以知道,不一定把寫程式的人看的很神奇一樣,大家都有搞笑的一面XD


---
我下次來寫 "cllee 早生貴子" 然後給他demo ? XDXD

星期三, 10月 17, 2007

輸了,不帶遺憾的

呵呵,我想,不論是輸贏,這篇總是難以下筆的。

雖然滿懷著期望,但是總是讓大家失望,總是要說一聲抱歉的。只能說自己實力真的不足,或許當下那一刻我以為我們的演算法實作是輸人的,但是李春良老師告訴我,還有SIMD這個重要的東西被我們忽略了,一個會導致三倍的差異的指令集。

是我自己的問題,學了那麼多硬體,似乎也沒有派上用場,或許,可以藉此說服別人,我沒有什麼,我自己也知道,我也真的沒有什麼,只有一身的不要命,但是有時候得承認,我聰明才智不如人,會再努力的

下個比賽,中華電信比賽,拿第一名吧!!

---
呵,總是要有企圖心的前進

Eclipse with C/C++, Java

如何在 Windows 底下使用Eclipse 進行 C/C++,Java 進行開發
Eclipse 本身是針對 Java 的一個開發工具,但是經由 CDT(Eclipse C/C++ Development Tooling) 的載入,亦可開發 C/C++ 專案。

要安裝的有



安裝提醒
  • Java Runtime Enviorment: 直接線上安裝即可
  • Java Standard Edition: Accept後,下載安裝即可
  • MinGW: 選擇Automated MinGW Installer下載,安裝時請選擇candinate,加選g++ compiler, mingw make
  • Eclipse + CDT: 下載Eclipse Classic,和其 CDT,兩個解壓縮至同一資料夾即可,Eclipse是綠色軟體,解壓後執行Eclipse.exe即可執行


那麼接下來就是設定環境變數了
在 我的電腦(右鍵) >> 內容 >> 進階 >> 環境變數 >> 系統變數 中設定,path和classpath(如果沒有自行新增),將下列路徑新增至該值的尾端(以Java SE 1.6 Update3, JRE 1.6.03為例),以;區隔
pathclasspath
Java Runtime EnviormentC:\Program Files\Java\jre1.6.0_03\binC:\Program Files\Java\jre1.6.0_03\lib
Java Standard EditionC:\Program Files\Java\jdk1.6.0_03\binC:\Program Files\Java\jdk1.6.0_03\lib
MinGWC:\MinGW\binC:\MinGW\lib


在這邊簡單解釋一下
  • path: 為comand line底下尋找執行程式的路徑,一般而言,從所在的資料夾尋找,若找不到則開始尋找path所列出的路徑
  • classpath: 為連結程式庫時所需的路徑,一般而言,從所在的資料夾尋找,若找不到則尋找classpath所列出的路徑


上述都做好,可以享受一下Eclipse嘍

---
雖然不難,但是常跟別人說明,寫一下也好

星期日, 10月 14, 2007

念書

第一次覺得念書是一件很輕鬆的事,雖然今天沒有念到什麼,不過還是有疲倦感,事實上這個假日還是拿來念書了(笑)

學校的作業系統上的七零八落,或許還不足以形容,那麼做人只好自救了,沒有好老師也要有好用心,花了一整天念書兼整理重點,在冼鏡光先生所寫的簡報的幫忙下,我也才念了三小節,或許沒有抓到要訣,但是筆記用XeLaTeX,真的需要一點時間來適應就是了,也第一次覺得,書自己一個念念不完的感覺,或許會尋求合作之道。當然,會非常希望重點有做完的一天,這樣子又有一項資料可以開放啦,呵呵,就盡量努力嘍

呵呵,這個blog一般時候會偏向閒聊,當然還是希望偶爾可以po出一些有趣的東西

---
寫作有助於解壓XD

星期五, 10月 12, 2007

最近

又到了禮拜五,雖然還沒上課,總有喘口氣的感覺。efang回家,沒有朋友來訪,這個週末可以一人較為隨性。

最近總有追著時間跑的感覺,雖然不再像從前天天作息不正常了,但是總有一股無法帶走的疲倦感,或許,從高中以來,沒有花那麼多時間在念課內書? XD

有時候會想問自己,到底可以把心思分給多少人呢? 分給太多就忽略我覺得很重要的人,不分的話,總覺得自己過於自私,什麼時候要分給自己呢? 或許,這答案顯然不那麼重要,呵。

有一個寧靜的早晨不錯,至少還可以胡思亂想XD

---
又是廢話一篇XD

星期四, 10月 11, 2007

小考


傳說中,這是以小考聞名的學校XD

---
我該說什麼XD

星期三, 10月 10, 2007

Desktop

桌上型電腦竟然掛了,經研判是掛在主機板,是我太久沒有用了嗎...Orz

---
只剩MacBook ??

星期二, 10月 09, 2007

The Matrix Game: 16 Matrix Multiplication

最後的程式碼釋出,比賽的文件分享也告一段落啦!!

打包嘍

稍微說明一下

  • document.pdf: 此次比賽最後繳交的文件,李春良老師指導(不然我們應該寫的很難看...Orz)。
  • MatrixMult.c: 主程式,最主要用來執行16個矩陣相乘
  • Matrix.h, Matrix.c: 矩陣的相關基本工具。
  • MCPT.h, MCPT.c: Matrix Chain Product Tree,但是在此比賽中是簡化版,已建比賽資料,彈性非常低。
  • utility.h, utility.c: 一些通用工具,包括產生讀檔檔名。


事實上此次程式不甚完備,不過時間有限,但是我自己目前尚無時間修改,所以就容許我這樣子偷懶釋出吧XD

---
歡迎自由取用,轉載不需告知

Matrix Chain Product Tree with Parallel Modify

事實上整個程式和簡報參照

Heejo Lee, Jong Kim, Sungje Hong, Sunggu Lee, "Processor Allocation and Task Scheduling of Matrix Chain Products on Parallel Systems, " IEEE Transactions on Parallel and Distributed Systems vol.14 no.4, pp. 394-407, April 2003.

相關資料如下


---
歡迎自由取用,轉載不需告知

MPI Programming & MPI_Group

MPI 本身是message passing interface,是一個專門為平行運算所規範的Library interface,目前較有名的實作體有Open Source的MPICH,而幾個cluster的大廠IBM, hp 也有各自的implemenatation,不過稍微查一下,在天瓏並沒有中文書籍說明相關MPI,而英文書籍也不多,在這個比賽中,我並沒有使用任一英文教科書,我使用的書如下

  • MPI 1.1: 這份文件是Standard,所幸並不難讀,我的MPI_Group就是利用Standard和老師的協助完成學習的。MPI 1.1支援C和Fotran
  • C語言平行計算程式設計: 此份文件極具參考價值,一開始看這份會有很大的幫助,雖然在後面二維陣列的平行計算切割時,變數定義不明,但仍暇不掩瑜,此份文章由國網人士所撰寫,極具參考價值,當然,此份文件也有Fotran版
沒有列出MPI 2.0是一件極遺憾的事,MPI 2支援C, C++, Fortran,支援超過500個function,也支援一些更好的平行運算特性,不過在此次的比賽中國網主機是不支援的,所以並沒有特別去研究,不過大概看了一下,有很多向下相容的function,在C++中只是多了一層包裝去呼叫C所實作的function。

MPI_Group是一個極為有趣的function series ,雖然MPI支援針對所有的CPU進行集體通訊的動作,但是若將母群體的CPU分割成數個子群體進行類集體通訊的動作,卻得依靠MPI_Group_xxx 等的function來進行子群體的定義。

一些相關function如下
MPI_Group_size()取得目前這個Group共分得幾顆CPU
MPI_Group_rank()取得目前這顆CPU在此Group的編號
MPI_Comm_Group()建立一個Group
MPI_Group_incl()從一個Group中選取一些CPU建立一個sub-group,而被選取的CPU 仍在原來的Group
MPI_Group_excl()從一個Group中選取一些CPU建立一個sub-group,而被選取的CPU不在原來的Group
MPI_Group_free()針對此Group的CPU做釋放動作,但是同時此CPU也不再屬於任何一個Group,只屬於MPI_COMM_WORLD
MPI_Comm_create()針對某一個Group(MPI_Group),建立一個Communcator(MPI_Comm)
當然,這邊只是提起一些function,還有一些很有趣的Group相關動作,例如說可以針對兩個Group做AND, OR, XOR,還有比較,再提起兩個常數
  • MPI_COMM_NULL: 用於Commucator為NULL的狀況
  • MPI_GROUP_NULL: 此CPU不屬於此Group,即會傳回NULL


範例使用方法

MPI_Group universalSet, subset; /* 宣告母群體和子群體Group */
MPI_Comm universalComm, subComm; /* 宣告母群體和子群體Communcator */

/* 設置母群體 */
MPI_Comm_group(MPI_COMM_WORLD, &universalSet);
MPI_Comm_create(MPI_COMM_WORLD, universalSet, &universalComm);

/* 設置子群體 */
int ranks[] = {0, 1, ,2, 3};
MPI_Group_incl(universalSet, 4, ranks, &subset); /* 設置完後,此4顆cpu仍在原來母群體中 */
MPI_Comm_create(universalComm, subset, &subComm);

/* 針對子群體的集體通訊動作範例 */
int a, subID;
MPI_Group_rank(subset, &subID);
if(subID==0) a = 5;
if(subComm!=MPI_COMM_NULL) MPI_Bcast((void*)&a, 1, MPI_INT, subComm); /* boardcast a 資料給subset這個子群體 */

當然,還有很多很有趣的使用方法,不過我比賽中所使用的技巧僅此而已,呵呵,有錯誤歡迎指教嘍。

---
歡迎自由取用,轉載不需告知

星期一, 10月 08, 2007

how to save a life

經過兩天的休養(睡著的時間比醒著的時間多),一餐吃下兩餐的份量(我有偉大的老媽),比賽後的身體調養算是告一段落了XD

下一步,如果聽了Josh Ko的建議,這將會是無敵大的計畫XD

星期日, 9月 30, 2007

Matrix Multiplication

在這次比賽中,我用簡單的實作碼實作出兩種Matrix Multiplication Algorithm,分別是

Matrix Multiplication: Naive Algorithm
Matrix Multiplication: Strassen's Algorithm

其中參考Introduction to Algorithm 2/e Ch28.1 28.2所做出來的簡報如下(LaTeX + beamer)
Strassen's Algorithm: Slide

---
歡迎自由取用,轉載不需告知

The Matrix: Reloaded

The Matrix: Reloaded
長庚大學資訊工程學系
指導老師: 李春良 cllee 助理教授
學生: yen3, fire7617, decay

這次的比賽對我,第一次這麼投入一件事(笑)
首先要感謝李春良老師,我很愛找他聊天,他也常常告訴我一些很有趣的事,當然不乏對於人生的態度,最該感謝時,在於我們沒有放棄時,他拉了我們一把,可謂是一代神手級老師,老師,謝謝你m(__.__)m

小祥和小花是我難得一見的好隊員,辛苦大家了,三人常常一同奮戰到四點,程式的乘法與轉Fortran的功勞居不可沒,我只想說,沒有互相,我們不能不帶有遺憾完成這個比賽,小祥小花,你們是我遇過最好的夥伴~呵

父母和宜芳在這次比賽中陪伴我一路走來,雖然在學校時,我一有心煩就會尋求避難之地,這三個月來,麻煩了

scorenn 和 Josh Ko 是我的朋友兼明師 ,在我轉C Programming Language時,兩人在編程上的概念助我甚多,讓我少走許多不冤枉路,平常或許有時間會自己走,只是比賽要節省時間,能不厭其煩被我一直詢問,是需要相當高的耐心(笑)

竹竹是一個相當神奇的學伴,她只有抽過一次學伴,呃,我自己亂抽抽了好幾次就是XD 一路上樂當後援會兼啦啦隊,常常給予鼓勵,非常感謝,mandy對於小花有非常決定性的幫助,唉,都怪我們兩個大男生不會照顧人,下次你要不要來當個隊醫之類的,專醫小花一人XDXD

當然,我不否認我是一個非常愛聊天的人,這段日子中,聊天的次數大幅度的下降,感謝大家讓我專心比賽,應該是說,讓我戒掉了這個好與不好的毛病,哈哈哈

呃,事實上從第一版180秒到第二版的111秒,到第三版的90秒,可謂是進步良多,不過90秒是不是一個好成績,我也不知道,當然,有關比賽的文章不會就此結束,我想我會發一系列的文是有關這次比賽中所學到的東西,可能一兩篇,可能五六篇,看學習的有多少了,不過,這篇才是我認為最重要的,學會感謝,人才有可能走的更遠

若要說我從這場比賽中學到什麼,程式一路走來轉換了三個語言(C++ -> C -> 一點點的Fortran) ,學了一點點MPI Programming,老實說,還真的沒有學到什麼東西,不過我從李春良老師和小祥小花上學到

堅持不放棄,才能不帶有遺憾向前衝
這點或許不難,實作起來或許就很難了(笑),中間也發生許多搞笑事,我們三個玩在一塊(還好比完小花就可以恢復女兒身了XD),也辛苦在一塊,當然,把桌面炸的跟鬼一樣也是我們的專長之一XD,這次比賽對我而言是一個美好的經驗。半夜可以唱忠孝東路走九遍,一直有人叫我請Friday,哇哈哈,至少,我們撐過來了

我也想對李春良老師說,並不是所有學生都會放棄的,相信你,我們撐過來了,雖然我們很混,但是我們不想因為一些事,就少了一位好老師,我們從來都不是好學生,但是至少,我是一個為了事情可以不要命的學生。

當然,中間身體紅燈一直亮起來,我想,賽後是該休養一陣子了,不過我又是一個閒不下來的人,天知道我那天又開始忙起來了XD

---
好零碎的感想,事實上是太多話想說了XD

星期六, 9月 29, 2007

Some Photo about The Matrix Game

這裡

用手機照的,品質不怎麼好,故且看之 XD

---
有好老師就有不要命的學生XD

星期四, 9月 27, 2007

ver 3.0A

完工

---
效率進步了20%

星期日, 9月 23, 2007

ver 3.0

開工XD

---
聽說是相對而言最難的一版XD

星期六, 9月 22, 2007

ver 2.0

finished

---
效能進步了100% XDXD

星期五, 9月 21, 2007

感觸

雖然我到現毫無鬥志,不過我只有一個心情---我不想輸給以前的自己

---
一行文好多...Orz

ver 2.0

debuging

---
希望有突破性進展


4:31 AM 發現只快了15%..Orz

星期三, 9月 19, 2007

ver 1.0

現身

---
三天沒睡好了XD


7:32 PM 有想法了,繼續動工了

極限

挑戰吧

---
v1接近完工


7:02 AM 結果睡不到兩個小時就被蚊子虰起來看程式XD

星期五, 9月 14, 2007

錯誤

或許又因此失去了 ...

星期三, 9月 12, 2007

進度落後

衝吧

星期五, 9月 07, 2007

三行

有三人成虎,但是我的main function 只有三行 XD

---
當然,這要去掉一些有的沒的

星期一, 9月 03, 2007

加油聲


我想,這對我而言真的非常具有POWer

---
呵呵,同時也感謝許多幫我加過油的的人

星期五, 8月 31, 2007

階段

完成Matrix的建構和Tree的建置,雖然後者能改善的效能不如預期,不過還算是在預料之內,明天要參加研習營,現在唯一要做的兩件事就是,MPI(跟去年一樣 XD) 還有 Program Framework 的建構(這可以等到明天)

也就是說,今天可以稍微的歇一口氣

---
繼續看MPI

星期日, 8月 26, 2007

雜記

首先發現,blogger好像能更夠更快速的插入影片了,這是無意見的發現,不過我想為了版面起見,我想還是會以外部連結為主

恭喜Josh Ko受到scm的邀請到sinica做研究,身為朋友深感為他高興,至少對他而言,這對他想要研究的東西比較近一些。

自己在昨日半夜搬完宿舍之後,遇到班上同學都會問,半夜搬不會很累嗎,我的感覺是,再累都沒有程式寫不出來的壓力累,對於長時間看paper寫程式而言,這真的輕鬆許多

比賽的效應漸漸出來,最近有感覺到對於一件事情(CS上的)能夠做更快速更完整的思考,專心的時間可以拉的更長,這算的上是一種進步。不過對於生活的事還是一樣白癡就是XD

開始期待開學了,因為說不定可以早點見到,呵XD

---
最近的blog都很不技術XD

程式嗜睡症

傳說中,只要把程式寫完或告一段落的人之後,人就會一直睡一直睡XD

---
程式告一段落啦 XD

星期四, 8月 23, 2007

返家

今天將要返家,真的不知道上次回家是什麼時候了,而且這次回家之後,要等到九月底之後才能再回家了。

---
事實上帶了兩篇paper回家

星期二, 8月 21, 2007

重來

花了一個禮拜看paper,花了兩天建立程式架構,花了兩天實作,花了兩天debug

然後再花了一天證明自己寫的是錯的

現在重來吧XDXD

註:有沒有人要跟我解釋IEEE A級論文是什麼XD

---
難得我還是保持高度鬥志XD

星期日, 8月 19, 2007

第三天

過了第三天睡在實驗室的日子,今天應該會回去睡(吧)? 老實說睡實驗室有著一定的好處與壞處,習慣了,睡實驗室還蠻不錯的(假設你每天都有很多事要做的話,所以九月是個不錯的考慮XD) 有圖一張 XD

星期六, 8月 18, 2007

記錄

這兩天破紀錄了,第一次花了一個禮拜看懂(嚴格來說,不能算看懂)一篇paper(這也是我第一次看paper,不過跳過許多proof沒看就是),第一次很認真很真的把latex bemaer用到實戰上XD,第一次想了兩天花了兩天就把一個完全沒寫過的東西寫出來,我寫assembler也沒有那麼認真XDD

---
不過現在是颱風天XD

星期五, 8月 17, 2007

Is It a good news ?

看這,看來出版計畫有可能是真的

---
不過也是拖了一年多..Orz

星期二, 8月 14, 2007

Anything But Ordinary

Anything Not Ordinary (Avril Lavigne, Let Go, 2002, live - 似乎找不到MV)
Sometimes I get so weird
I even freak myself out
I laugh myself to sleep
It's my lullaby
Sometimes I drive so fast
Just to feel the danger
I wanna scream
It makes me feel alive

Is it enough to love?
Is it enough to breath?
Somebody rip my heart out
And leave me here to bleed
Is it enough to die?
Somebody save my life
I'd rather be anything but ordinary please

To walk within the lines
Would make my life so boring
I want to know that I
Have been to the extreme
So knock me off my feet
Come on now give it to me

Anything to make me feel alive

Is it enough to love?
Is it enough to breath?
Somebody rip my heart out
And leave me here to bleed
Is it enough to die?
Somebody save my life
I'd rather be anything but ordinary please

Let down your defences
Use no common sense
If you look you will see
that this world is this beautiful
accident turbulent suculent
I'm feeling permanent
No way I won't taste it
Dont wanna waste it away

Sometimes I get soweird
I even freak myself out
I laugh my self to sleep
It's my lullaby

Is it enough?
Is it enough?
Is it enough to love?
Is it enough to breath?
Somebody rip my heart out
And leave me here to bleed
Is it enough to die?
Somebody save my life
I'd rather be anything but ordinary please

Is it enough?
Is it enough to die?
Somebody save my life
I'd rather be anything but ordinary please
I'd rather be anything but ordinary please.

---
我決不平凡(笑)

起床

呃,暑假的起床時間還算正常,除了偶爾會非常晚睡隔天睡到自然醒之外,大部分時間都是七點到九點之間(range還真大XD)

過著固定起床就洗澡的生活也不錯,不過每天都要叫室友兼隊友起床,就會發生一些事

yen3: fire fire 起床了,要去實驗室了
fire: 再給我兩分鐘(哀怨的眼神)
yen3: ok
fire: 那再給我二十分鐘(苦求的眼神)
yen3: 誰理你啊(翻桌)
(兩分鐘過後...)
yen3: fire 兩分鐘到了
fire: zzz
yen3: ...


接下來發生什麼事請自行想像XD

---
絕對沒有喋血暴力事件XD

星期一, 8月 13, 2007

進度

雖然寫了一個小程式,看起來進度超前,事實上進度落後,得再認真

---
這個禮拜再看一篇paper趕回來吧


11:31 pm
發現paper不用看,心情愉快,不過又遇到實作上的問題,繼續克服,這禮拜的壓力不知道是變大還是變小XD