星期四, 6月 11, 2009

閱讀

我看書不會很快,大概只有中文小說比較快,一小時一百多頁吧,其他都慢到爆炸 XD

我的英文大概退化到大家說英語的程度,讀原文書的時候,我還是蠻習慣拿鉛筆和直尺畫線,我認識的頗多老師都是會畫線的,不過常看到誇張的時候,如果書的密度夠高的時候,整頁都是線也是不太舒服的 XD 所以有關程式設計的書我還是不免俗的畫個線,以 Thinking in Java 4/e 為例,在說明 Concurrency 時,以浴室和洗澡人當例子,我只在該段的旁邊註,略 XDXD。 所以其實要不要畫線,端看該本書的資訊密度為何,太高就不用畫了,不過也是有認識接近不畫線的,Josh Ko 我記得是如此(錯了要跟我說 XD), ycma 也是喔 XD,不過我自己仍是想畫就畫,不想畫就不要畫,偶爾寫個自己的註記是我的習慣 XD

看看別人的閱讀習慣也蠻有趣的,有時候看看別人,會覺得自己沒什麼效率,只好努力的用時間和改變習慣來換了 XD


---
雜記 XD

星期一, 6月 08, 2009

最近

在此,跟最近覺得我很衝的人道歉,是我不會控制自我脾氣,如果有什麼話直接的冒犯到,請直接跟我說,我會虛心接受。

最近還是覺得自己是一個一無是處的人。縱使不管再怎麼努力就有如不會游泳而溺水中不停掙扎卻越來看不見水面上的光亮。除了自己什麼都不會以外,我不知道怎麼幫自己下註解。

今天比較早回宿舍,因為一些讓人覺得不會生氣,但是無奈的事,我不是一個很重要的人,不要對人呼之及來,喚之及去,要給其他人給予應有的尊重。也很感謝馬麻,是一個很好的人,我還是會持續的感謝及幫助,若要說我學會什麼,我得說,感謝是一個很重要的力量,學會感謝,才有可能學會前進。然後


繼續寫作業,我不要我的期末炸掉啊啊啊~~~~~


---
所以其實重點是最後一句 XDDX

筆記: ssh 登出後 process 持續執行

nohup ./a.out > test.txt &

有這種指令,以後就方便多了 XD


---
我不要再用自己的電腦跑了啦...Orz

星期三, 6月 03, 2009

yen3: 家人跟我說,我會講話的第一句話是 "媽" XD
gb014388: 你確定後面沒有 "的" XD?


---
如果有,我從小就看的出潛力了...XD

出錯

#include <iostream>
#include <boost/shared_ptr.hpp>

class TestA;

void printTestA(TestA* a){
std::cout << a << std::endl;
}

void printTestA(boost::shared_ptr<TestA> a){
std::cout << a << std::endl;
}

class TestA{
public:
TestA():x(0){}
void test(){
printTestA(this);
printTestA(boost::shared_ptr<TestA>(this));
}
private:
int x;
};


int main(){
boost::shared_ptr<TestA> x(new TestA());
x->test();
std::cout << x.get() << std::endl;
}

這樣子的程式碼會出錯,正在想怎麼解決 XD
好像有解,下午來菸酒菸酒~


---


這個問題其實是 boost::shared_ptr 遇到 this 會發生什麼有趣的事 XD
大鳥 在 comments 中解釋了為什麼會錯,感謝他(感覺比自己寫的還清楚,我就不重寫了 XD) fr3@K 有提到 enable_shared_from_this 是最佳解

對我而言,我利用這個機會好好看了一下 Boost smart ptr,看完才發現,離自己夢想中的 memory management ,還是有一段距離,這個問題在 mailing list 有人討論,也有人提出解法,官方建議兩種解法,一種是加入 weak_ptr,在建立此 object 時,利用 weak_ptr 指向自己,另外一種是 fr3@K 提的,其實這兩種方法殊途同歸,只是後面有包裝,當然,就我自己而言,我實在是不想為了解決這個問題再繼承一個 XD,但是自己寫也沒有多好。

這個 library 的邏輯我猜想是如此,要嘛你就全用(使用 boost::make_shared<T> 建立更好),使用 shared_ptr<T> ...etc 來管理,然後從頭用到尾,weak_ptr 就會出現在這種時候(在我下筆的此刻,雖然我知道它的用法與目的,但是還是不知道使用時機為何),如果想要在 C++ 使用懶人的方法來用記憶體,我們必需更努力的學會這個 library XD,身為一個學生,不太知道外面世界怎麼樣,只能說,盡量學習嘍 XD


補充一下修改後的程式碼:
#include <iostream>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/make_shared.hpp>

class TestA;

void printTestA(TestA* a){
std::cout << a << std::endl;
}

void printTestA(boost::shared_ptr<TestA> a){
std::cout << a << std::endl;
}

class TestA{
public:
//TestA():x(0){}
void test(){
printTestA(this);
printTestA(boost::shared_ptr<TestA>(weak_this));
}

static boost::shared_ptr<TestA> create(){
boost::shared_ptr<TestA> u = boost::make_shared<TestA>();
u->weak_this = u;
return u;
}
private:
int x;
boost::weak_ptr<TestA> weak_this;
};


int main(){
boost::shared_ptr<TestA> x = TestA::create();

x->test();
std::cout << x.get() << std::endl;
}

星期一, 6月 01, 2009

片段

昨天開始寫回顧,卻很難寫出隻字片語,我的回憶總是存在於片段,也睡不太著,邊睡邊想出我想要寫的架構為何,希望今天能寫出比較完整的東西。


---
回顧。


11:39 大綱大概擬定出來了,看來要寫好多天 XD

星期日, 5月 31, 2009

復工

不知道自己己經頹廢多久了,從今天開始復工吧 ... 積極休息後總是要更積極的前進。


---
一堆事可以做了 XD

星期三, 5月 27, 2009

邯鄲學步

寫 C++ 的只有四種人

  • C++ 當 C++ 寫
  • C++ 當 C 寫
  • C++ 當 Java 寫
  • C++ 亂寫

---
看別人 code 有感...Orz

星期一, 5月 25, 2009

單眼相機、腳踏車與 ipod


其實這些都是現在很紅的東西 XD。

我沒有單眼相機,不過我有一台很複雜的相機 Nikon Coopnix 5000 ,這台是我國中考上高中之後我爸送我的相機,基於它沒有壞而且很好用的理由,我一直用著它到現在,不過電池都沒有電了,一直是我很大的困擾 XD。我一直到高中畢業前,我都在彰化就讀,所以騎腳踏車對我而言也是一件很稀鬆平常的事 XD。我沒有小筆電,不過我前後有 Acer TravelMate 3210 (現在是 efang 在用),與現役的 MacBook 2.16g ,我也有一台 ipod touch 32GB,很不巧的,我買完就一路漲價漲到現在還沒有跌回來過 XD

先從數位單眼來說好了,在 Canon EOS300 D 出來前(第一台以 30k 的價格破壞市場的單眼 XD ),我看著父親用 D100 (父親是個攝影師),其實貴的是鏡頭,我本來也很喜歡攝影,但是在紅了之後,我反而不想碰了XD 關於攝影這件事我跟父親爭論過,我的論點其實很簡單,如果執著於攝影技巧與美感,反而忽略了相片本身所要表達的,我一直都很佩服國家地理頻道的小女孩照片,但是我覺得我拍不出來這樣子的照片,所以我就不照了XD

我從國中後開始有了自己的腳踏車,但是自己一直到高中後才會放雙手騎單車,我的高中是彰化第二高學府,所以其實我還蠻享受騎腳踏車飆上去的快感 XD 到了北部之後,想騎腳踏車卻沒有辦法 (我不想跟砂石車搶路,台北的公車太恐怖...Orz),到我大二大三之後,騎單車紅了,我也不想騎了,總覺得我對於現在紅的東西,並不是這麼喜歡。

我在升大四的時候買了一台 ipod touch,它可以上網沒有錯,不過我喜歡的只是很單純的音樂同步,其實我連遊戲都很少玩 XD 我喜歡 itunes 帶給我的音樂體驗,真的還蠻方便的,就跟我很久很久之前說,我買 MacBook 是因為有一個良好的 GUI 和很好的 BSD Kernel 可以用,我覺得這一切都很方便。當然, Mac 很貴是一個既成事實,或許下一次會考慮用 ThinkPad + Linux ,現在的 GNOME 也可以做到非常方便的地步 (如果驅動程式沒有問題,我真的覺得現有的 Linux 相當的不錯)

現在我慢慢喜歡上跑步了,我對於現在會紅的東西始終沒有興趣,希望跑步不會紅才好 XD


---
雜想

小精靈


gb014388: 小精靈屬性就是,當有需要的時候都會存在,然後問問題都會有回答與幫忙的屬性。
yen3: 幹,聽起來很像好人啊 XD


---
謝謝 snake 畫圖送我 :)

星期日, 5月 24, 2009

YAMAHA YST-M101

YAMAHA YST-M101 是我電腦第一付比較好的電腦音響,也是我一直用到現在的電腦音響,我有很多篇想寫,偏偏先寫這篇了XD

在很久很久以前(大概十年前 XD?),我是一個國中小毛頭,我不知道錢怎麼用,音響有多貴的年代,我看到這一付 YAMAHA YST-M101 單純只是覺得 YAMAHA 聽起來不錯的樣子,一對 990,好像不貴,我就買回來了XD 結果沒有想到,是陪伴我到現在最久的電腦配備,用久了也捨不得換,電腦都不知道換幾台了。但是不得不說,這個音響,表現的聲音非常清楚,或許我是木耳也有可能,如果有人有看到在賣的話,歡迎跟我說,我想再買一個回來XD


---
亂寫一通XD

星期日, 5月 17, 2009

很多天飲食

禮拜四: 晚餐: 燒烤8支 @ 泗元燒烤 ($80), 刨冰 @ 某店 ($40)。 合計: $ 120


禮拜五: 早餐: 炒麵 + 中杯奶茶 @ 牛角坡 ($60) + 午餐: 培根雙層牛肉堡套餐 @ 實踐大學正門附近的好吃漢堡店 ($210) + 晚餐: 羊肉炒麵($40)。 合計: $ 310


禮拜六: 早餐: 炒麵 @ 牛角坡 ($40) + 晚餐: 水餃15粒 @ 桃園火車站附近的水餃店 ($60), 烏龍綠 @清新 ($25) + 點心: 雞蛋糕 @ 路邊攤 ($30)。 合計: $ 155


禮拜日: 午餐: 大麥克餐, 四塊麥克雞塊 @ 麥當勞 ($140) + 晚餐: 豬肉炒麵 @ 醬騷有味 ($70), 烏龍綠 @ 清新 ($25)。 合計: $ 235


---
都還吃蠻貴的XD

星期六, 5月 16, 2009

Star Trek


Space, the final frontier.
These are the voyages of the starship Enterprise.
It's continuing mission: to explore strange new worlds,
to seek out new life and new civilisations,
to boldly go where no one has gone before.


---
美好未來。

簡報字體

看見好友 Zeroplex 做簡報,我突然想到我受到 Josh Ko 影響的簡報風格,我做簡報一個是 keynote,不過能用 XeLaTeX + Beamer 做我還是盡量用這個做,其實字體會影響觀感蠻深的,當然,排版是另外一個重點了。

Beamer 的預設字體是 Computer Modern Font (designed by Knuth),目前這套字體可供下載,載點在這裡(請下載 Open Type Fonts) 檔,簡報比較適合使用的字體是 CMU Sans Serif, 中文的話是黑體(我是用華康黑體W5),網路上有 cwTeX 提供的黑體還有王漢宗 XD? 我沒用過,我不清楚,Apple 的黑體是看起來比較漂亮,但是實際上用在簡報我卻覺得很怪 XD。大抵上而言我都用這兩個字體,所以可以試試看嘍。當然,我比較不會生動的簡報,這就要期待強者補完了XD


---
雜記型筆記 XD

星期三, 5月 13, 2009

今日飲食

早餐: 炒麵 + 中杯奶茶 @ 牛角坡 ($60) + 晚餐: 腿排飯 @ 來客快餐 ($50), 烏龍綠 @ 清新 ($25)。 合計: $ 135


---
其實早餐被宜芳搶去吃了...XD

星期二, 5月 12, 2009

Haskell

昨天做夢,夢到我跟大家聲嘶力竭的推薦 Haskell ,但是沒人理我 ... Orz


---
不知道是好還是壞 XD

星期一, 5月 11, 2009

今日飲食

午餐: 原味鍋貼*10 + 辣味鍋貼*5 @ 八方雲集 ($65), 烏龍綠 @ 清新 ($25) + 晚餐: 魯味 @ 健康紅燒魯味 ($111)。 合計: $ 201


---
重新開始連載XD

星期日, 5月 10, 2009

修理

一直覺得我的 MacBook 硬碟不是很大 (120gb),在想了很久之後,我昨天終於決定要買一顆新的硬碟了,於是我買了 Seagate 320gb 和一個外接盒,雖然最近 Seagate 鬧的很大( 老實說我真的不知道 RMA 是什麼,我的外接硬碟也是 Seagate ...),但是就買啦,但是裝上去發現一個訊號都沒有,我以為我抽到籤王(就是壞了),結果硬碟一拔,硬碟兩邊的滑軌膠條就這樣子給我掉了一邊,怎麼裝都裝不上去,我今天只好再跑一趟台北了...

騎車到光華之後,檢修人員一測,抓的到硬碟啊(翻桌)。只好抱著 MacBook 去優仕了,一看之下,要修拆機費 1200 ,我也認了XD 不過修理人員很好心的本來想要幫我換電池(結果電池沒壞),換風扇(因為很髒,但是沒現貨),就變成什麼都沒換了,不過我覺得這鍵盤快壞了,我就申請換鍵盤了 XD ,整個優仕的服務很好,也謝謝辛苦的維修人員啦。


---
有一種故意寫成小學生作文的感覺 XD

星期四, 5月 07, 2009

紀念


為了禮拜五的比賽,用 VMWare 灌了 Windows XP + VIsual Studio .net 2008 with Windows Mobile 6 SDK 去年寫的程式碼今年 compile 還能執行順暢,看到這個畫面突然想到去年還蠻常在看的,留做紀念


---
這個比賽過完我幾乎就不用 Windows 了 XD

星期三, 5月 06, 2009

LLVM

昨天有幸去台北的 Mix Coffee& Tea 聽了 jserv 介紹 LLVM,在這中間很感謝 TOSSUG 的 FourDollars 和 pingooo 在 IRC 上熱心回覆,不然我還真的不知道時間,雖然沒有認識到人(演講完馬上被 efang 拖回家了XD),還是有一個蠻愉快的經驗。中間 efang 跟我說

efang: 都看不到用 Windows 的電腦耶。
yen3: 可能看到會被打 XD

anyway 很感謝有這場演講

LLVM 的價值有二,一個是拆成三段(Fron-end, LLVM, Back-end),我相信這種架構 LLVM 不是第一個,但是可能目前看起來最活躍的一個,如果只有這樣,或許還不足以介紹 LLVM,LLVM 在 Just-In-Time 上可以做到這樣子的地步,雖然我對 Compiler 的領域不懂,但是我猜,應該是一個很好的利基吧 XD

我還是沒有時間看 StreamIt ,看來是我太懶了,不過 StreamIt 的 C Compiler 已經做出來了,不然我覺得把 StreamIt 接到 LLVM 上也不錯,不然就是把 LLVM code 轉成 Raw Code XD? 這或許是一個更有趣的主意 XD 總覺得人要往前看,舊有的東西有其價值,但是在新的知識上,我們也可以看到有趣的一面。

jserv 在中間開了 Haskell 的玩笑,我該感謝他開了這個玩笑嗎 XD 總之,我覺得,Haskell 需要的是熱情,而不是有一點天份,我沒有天份,不過我認真學習,我總是會寫出 Haskell Program 的,當然,我相信他在開玩笑,他的意思是,如果像 Haskell 這種偏冷門的語言,掛在 LLVM 上,就可以使用 LLVM 的最佳化,可以說是相當省力,當然,還是沒有 gcc 這種一條龍生產線來的好,但是我們的人生也不知道可以做出多少個一條龍 XD


---
很有趣的體驗。