2009年10月13日 星期二

用A4紙 折出CD套

一搜尋都是影片,可是我想要看圖片分解,
才不會編摺邊停,每次都找好久,
快記下來吧~
改天有空再自己來拍圖片分解教學XD

http://geeksoul.org/15

2009年6月18日 星期四

How to sort the reference by author in EndNote

EndNote, reference 按照作者姓氏排序

1. Open EndNote, Choose the Bibliography style you want on left hand side corner.
I choose the "IEEE" for example.
打開EndNote,在左上角選擇想要的bibliography格式。




















2. Select: Edit → Output Styles → Edit "IEEE"
選擇 Edit → Output Styles → Edit "IEEE"




















3. Choose the Bibliography → Sort Order, and change it to "Author + Year + Title".
Then the sort order of the reference will first by Author Last Name, then Year, and last the Title.
選擇 Bibliography → Sort Order,改選成 "Author + Year + Title"。
這樣reference 的順序就會先按照 Author,年,最後才是Title.




















4. Edit → Save As, save the style as a new style.
Edit → Save As,存成你想要的新檔。




















5. Now when insert the citation, the bibliography will sort by author last name :)
這樣,插入的citation都會按照作者姓氏排序啦~


2009年6月13日 星期六

Conference List

正在找conference
發現有人跟我的領域相關,做了個網頁把 upcoming conference 都記下來了耶^^"

Thanks for your list :)

2009年6月3日 星期三

網路鬧鐘

簡單好用的網路線上鬧鐘,
免安裝,免下載,記得把網頁開著就可以。
http://kukuklok.com/

2008年9月13日 星期六

NS2內DSDV疑似bug造成無窮迴圈的修正

最近在跑NS2,一開始跑很久都跑不完,
我還不以為意,以為是scenario太複雜,所以要跑很久...。
直到那天我放著模擬跑,人出去看電影,回來發現竟然還在跑(驚!),
我才覺得不對勁(也太遲鈍了吧.....囧)
反覆檢查後發現,程式在DSDV內會進入無窮迴圈,導致怎麼跑都跑不完。
於是就把dsdv.cc打開來修改一下:
ns-2.x/dsdv/dsdv.cc

在 void DSDV_Agent::processUpdate (Packet * p) function內,
約791行附近,有個 if 判斷這麼寫著:

// see if we can send off any packets we've got queued
if (rte.q && rte.metric != BIG)
{
Packet *queued_p;
while ((queued_p = rte.q->deque()))
// XXX possible loop here
// while ((queued_p = rte.q->deque()))
// Only retry once to avoid looping
// for (int jj = 0; jj <>length(); jj++){
// queued_p = rte.q->deque();
recv(queued_p, 0); // give the packets to ourselves to forward
// }
delete rte.q;
rte.q = 0;
table_->AddEntry(rte); // record the now zero'd queue
}


猜測這邊就是infinite loop形成的原因。
本來應該是要將queue裡面積存的packet取出然後送出,
可是會造成while永遠為true,形成無窮迴圈,bug就產生啦。
將它改成以下,應該就沒問題了


// see if we can send off any packets we've got queued
if (rte.q && rte.metric != BIG)
{
Packet *queued_p;
printf("DEGUB => in DSDV_Agent::processUpdate:795, rte.q->length()= %d\n",rte.q->length() );
//printf is only for debug :P

Packet** temp_array = new Packet*[rte.q->length()] ;

for(int i=0; i< rte.q->length(); i++){
temp_array[i] = rte.q->deque();
}

for(int i=0; i< rte.q->length(); i++){
recv(temp_array[i], 0);
}

delete rte.q;
rte.q = 0;
table_->AddEntry(rte); // record the now zero'd queue
}


//--
萬分感謝千益學弟,以及gdb的幫忙^_________^

至於blog中顯示程式碼區塊的方法,請參考:p
http://hdj-berkeley.blogspot.com/2008/06/blog.html
Related Posts with Thumbnails