星期四, 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


---
很有趣的體驗。

星期二, 5月 05, 2009

Programming Tool's Note for a Primer

很不幸的,我在 programming tools 上還算是初學者,不過我希望在此做個筆記。

Open Source 界最大的好處就是,你可以自由組合出你要的工作環境,但是也因為太自由了,所以像我這種人反而不知道怎麼下手 XD

簡單的來說,一開始只要會用 gcc(g++) + vim 就可以把 ACM 等級的程式寫的很好了...如果真的不習慣這種 console mode 的話,用個 Eclipse 當成你的過渡期吧(現在電腦夠快了...XD),Eclipse 雖然主力是 Java, 但是同時也支援 C/C++, Python, Ruby 等等,這些都需要裝 plug-in,但是並不難裝,可以自行 Google 一下

make: 一定要會,沒有什麼理由說不想學 make ,這是你的基本吃飯工具啊XD 那怕是 IDE 幫你 compile, IDE 也是先產生 Makefile 再呼叫 make 啊XD,在一般的狀況下,看到有其他的source code 需要編譯大抵也只有三步啊

./configure
make
make install

如果你的 linux 夠好的話,基本上不要是太複雜的軟體,應該以「套件管理員」為優先考量,真的不行,再考慮自己編譯應該都行的通,行不通的時候呢 XD? 請記得你還有套件管理員 XD

如果想要產生足夠強大的 Makefile,要怎麼做? 有autoconfig, automake 可以幫你產生 Makefile, 當然現在還有 cmake, bjam 可以用,不過這是後話,先試著自己練習寫 Makefile 比較實在,Makefile 說穿了只是一個相依性的指令編輯器,願意的話,LaTeX 的多檔編譯也是可以用它啊,不要把 Makefile 的功能簡單化 XD

how to use code to generate document ? 其實也不難,找一下 doxygen ,註解按照一定的格式撰寫,相信我,當你產生過一次文件之後,你會喜歡寫註解的,因為可以產生這種文件還蠻爽的 XD (我都利用這個機會訓練我的爛英文)。

那麼怎麼做 Source Code Management ? 有很多工具可以選啊,從古早的 cvs 到流傳最廣的 svn ,到現在最火紅的 git ,選一個來用,再也不用擔心 code 的一拖拉庫問題了,programming 就會變成一件很爽的事

當然,這些在 Windows 上都有解,只是,對我而言不是這麼順手吧,我想,還是在 Linux 下 Progarmming,會方便很多,而且我們還有一個 sourceforge.net 可以看可以玩,為什麼不在 linux 下寫程式 XD?


---
某人要我寫循循善誘文 XDXD

星期一, 5月 04, 2009

買書

大家都知道,如果是資訊相關科系,可能去天瓏找書是最快的選擇(如果是教科書可以看一下愛因斯坦、華通,理論上會比較便宜 XD?) 我稍微簡單的想了一下如果跟系上老師的狀況。

現在跟的是ycma,他列的書只有 (1) 天瓏買不到,amazon買的到 (2) amazon 買不到

如果跟系上做模擬的,可能要去大陸書店...

如果跟系上做 Data Enigeering 的,可能常在團購...

如果跟的是生物資訊,書應該是買不起...Orz

如果跟的是平行運算,書只有盜印或 amazon 兩條路...


---
其實,跟誰書都不好買...