點進http://moto.debian.org.tw/posting.php?mode=quote&p=55201後請選"預覽"即可。
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
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
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 不過我沒時間去弄
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當然也行!