Search Google

Saturday, June 30, 2007

Tuesday, June 26, 2007

畢業典禮的照片

今天將畢業典禮當天跟家人照的照片放到我的相簿中
http://picasaweb.google.com.tw/cyu021/20070623
等到口試完再跟同學到校園裡面拍照吧。。。

為什麼要今天上傳呢?
因為要慶祝今天學期終於結束了!
再也不用當那吃力不討好的助教 @.@

Monday, June 25, 2007

Sunday, June 24, 2007

換湯不換藥?

因為最近似乎有需要接觸windows CE,於是趁這個周末上網看看CE的相關文件,就在這個網頁中我看到了以下的敘述:

Priority inversion. Refers to a situation in which the use of a mutex, critical section, or semaphore resource by a lower-priority thread delays the execution of a higher-priority thread, when both are contending for the same resources. To correct this situation and free the higher-priority thread, Windows CE allows the lower-priority thread to inherit the more critical thread's priority and run at the higher priority until it releases its use of the resource.

最後一句話透露出換湯不換藥的意思。。。問題還是沒有解決,因為lock還是在low priority thread的手上啊!

只要lock存在的一天priority inversion就不可避免,換個方式講會比較高明嗎?
或許吧?!畢竟鄉民到處都是~

Saturday, June 23, 2007

我們應該恢復唱國歌!

今天參加大學以後的第一次畢業典禮,典禮中最令我意想不到的事情是:
典禮開始之前居然還要像小時候一樣起立唱國歌~
根據我的記憶,我上一次唱國歌好像是國中朝會的時候。
不過今天唱國歌的時候突然有種奇妙的感覺,感覺好像應該好好幫這塊土地做些什麼事情。
或許唱國歌跟唱軍歌一樣有凝聚眾人向心力的功用吧?!
我想,如果想要防止台灣繼續向下沉淪,恢復唱國歌或許是個不錯的點子吧。。。

另外還有一件事,今天畢業典禮請到了李遠哲,原來他是學長!

第一次看到這種語法

很少碰C++的我今天看到一段C++的code,大意是:

- 5 void DoubleArray(int **a) {
| 6 int * &b = (*a);
| 7 //b = (int *)malloc(sizeof(int)*4);
| 8 b = new int[4];
| 9 b[0] = 1;
| 10 printf("--\n");
| 11 }
12
- 13 int main(void) {
| 14 int **a;
| 15 DoubleArray((int **)a);
| 16 printf("==\n");
| 17 return (0);
| 18 }


以上是我自己寫的示範,compile過後沒錯,但是執行到第八行的時候就出現記憶體區段錯誤,用第七行代換第八行也得到同樣的結果。
用GDB dubug的時候將breakpoint設在第八行所看到的資訊是:
(gdb) p a
$1 = (int **) 0xb7cd8c8c
(gdb) p b
$2 = (int *&) @0xb7cd8c8c: 0x489d

看起像是把b當作pointer使用(因為可以new / malloc),不過又多了些資訊,比如記錄了b所記錄的值是位於a的address。但是為何在動態取得記憶體的時候會出現錯誤卻不得而知?!
看來C++跟C還是有"商當"大的差別。。。
最後,*&b到底是什麼東西 @@

Thursday, June 21, 2007

xming設定備忘

WindowMode="MultiWindow" ClientMode="NoClient" Display="1" Clipboard="true" ExtraParams="-ac -keyhook -winkill -unixkill -clipboard"

Monday, June 18, 2007

農夫們果然有先見之明

今天下午忘了採菜,到傍晚的時候被我媽提醒才想到,於是便匆匆忙忙的拿了個菜盆就到後院採菜去,才蹲下來沒兩分鐘身旁已經圍繞了十數隻蚊子,其中有五六七八隻已經停在我的四肢上。。。
經歷了一會兒一邊採菜一邊趨蚊終於把晚上要吃的地瓜葉採完,四肢上也多了十數個包~
從國小以後就很少被叮這麼多個包了 @@~
這時候才想到為什麼農民們下田的時候大部分都穿長袖長褲,真是有見地!

Wednesday, June 13, 2007

M$真的比較惹人厭嗎?

這兩天Apple的Safari正式跨入Windows平台,對於使用中文的使用者來說第一個發現的問題就是Safari無法顯示/輸入中文,至少無法"簡單又順利地"顯示/輸入中文,因為已經有網友找到解決之道[1,2]。再來就是漏洞問題,才發表沒幾天就有人發現Safari的安全漏洞[3,4]。
我自己親身試用過之後的確發現不少的bug,最明顯的就是點選bookmark之後馬上crash >。<

一向以品質著稱的Apple居然也寫出這樣子的軟體,雖然號稱beta版(我覺得其實比alpha還不穩定),但是整體上仍是破綻百出,大家是否該停止或減少對M$的韃伐了呢?
或許有人會以open source為攻擊的理由,但是請讓所有人都嘗試在Linux或其他open source的OS中setup自己的工作環境之後再來跟我講這個理由,我相信絕大部分的民眾還是會回頭接受M$的solution。電腦、軟體,不就是為了增加工作效率的工具罷了?為什麼要替少數的基本教義派搖旗吶喊呢~
當然,自己用的開心就好了 :-)

Tuesday, June 12, 2007

貓頭鷹碩士


話說距離畢業越來越近,今天把幫實驗室的貓頭鷹戴上碩士帽拍照。
雖然自小以來的記憶貓頭鷹都是博士,但是沒辦法,我們只有碩士帽,只好委屈他了~

Vacancy, Latency 傻傻分不清楚

這是今天在實驗室上演的真實故事(主角:信安),由我&Punk合力以四格漫畫的方式記錄起來。

Saturday, June 09, 2007

chown & chmod範例

從來都沒有好好研究過chmod & chown,總是在火燒眉頭的時候亂用一通,
反正可以access files就好了,不過剛剛在ptt上看到了一個不錯的範例,
特此記錄一下以備不時之需 :-)

我的習慣是
chown david:users /n5200/users/david -R
chmod 755 /n5200/users/david -R

如此一來 群組users裡面的account 都可讀取/n5200/users/david
唯有david 可寫入 /n5200/users/david
另外還需要再增設一個東西 就是umask 不過我沒時間去弄

terminal字型

terminal字型:
xfonts-terminus
xfonts-terminus-dos
xfonts-terminus-oblique

Thursday, June 07, 2007

原來double也是可以取pointer的~

寫了N年只有整數的程式,我完全忘記double也是可以用pointer傳/接址 ><
今天試了半天想用long來接double的address,
卻以為double是64-bit所以沒有(double *)這種東西,
於是百思不得其解到底該如何在function中更改double array的值。。。
後來發現原來是自己腦帶秀逗 @@
隨著(double *)的unleash,也不用那麼麻煩的用long來接啦!

ps. 完全沒想到struct裡面x百個byte的東西都可以傳pointer,double當然也行!

Tuesday, June 05, 2007

blog search

隨著在blog中記錄越來越多東西,我漸漸覺得應該建議google在blog中也放個搜尋功能。
不然每次想要找什麼東西還要把過去的blog逐月打開檢查~
實在有點吃力不討好。

排口試啦!

慶祝昨天晚上rehearsal完之後得到老闆首肯得以安排畢業口試!
特別po文慶祝 :-)

ps. 順便悼念一下值得紀念的6/4天安門