2011年9月26日 星期一

在Mac上編譯用GLUT寫的OpenGL程式

這篇文章主要寫給修3D遊戲設計的Mac User,在Mac上面編譯OpenGL有些部分不太一樣,所以特別寫這邊記錄下來也分享給其他人。

2011年8月12日 星期五

Build a pure Google App Engine environment on your Mac (virtualenv+PIL)

Update: this is unavailable for the current app engine SDK, will occur the cgi import error, the suggestion from experts is "do not use virtual environment with Google App Engine."
  1. Install Google App Engine at first (details at http://code.google.com/appengine)
  2. sudo port install py25-pil (this will install python2.5 and PIL)
  3. virtualenv --python=`python2.5` --no-site-packages appengine
  4. enable your virtual environment
  5. pip install PIL
that's all.

2011年7月13日 星期三

在Vim中指定執行用的Ctags

Vim如果要使用taglist這個plugin,就一定要裝ctags(如果你是用Mac,那你就要裝py-ctags,也就是Exuberant Ctags),但是你可能會遇到這個問題,尤其在Mac下,就是Ctags回應illegal argument error,其實是因為Mac抓到內建的Ctags,我們必須要把它指定為我們新裝的Ctags。

2011年6月10日 星期五

解決Emerald在Ubuntu 11.04 Natty底下Segmentation fault的問題

11.04出到現在也有一段時間了,用Ubuntu的大家應該也都陸陸續續升級到11.04了吧?我是從10.04升上來的,不過當我升上來的時候遇到了一個問題,有用Emerald的人應該都會遇到視窗的邊框已經變回gtk的樣式了,Emerald的華麗視窗裝飾怎麼樣也無法啟動。

2011年6月6日 星期一

從一個簡單的Haskell範例學習如何定義型態

這是我在網路上找到一個小小的範例,可以學習到在Haskell中如何簡單的定義一個型別,希望可以拯救大家的Programming Language作業。

(注意:這篇文章假設你已經裝好了haskell的撰寫環境,如果你還沒準備好,先去找Google大神求救)

更新:修復版範例檔clite.hs

2011年6月4日 星期六

判斷App Engine的Session是在Online或是Development server

有時候我們可能因為在線上和dev server上面環境的不同,所以造成部分設定值有些差異,舉個例子好了:我用App Engine寫個Facebook應用程式,大家都知道Facebook應用程式的開發是鎖domain URL的,如果每次都要一直去改domain的設定,豈不是很麻煩?我原本是用這招:申請兩個Facebook應用程式,一個當做正式上線用,另一個則作為開發實驗用的testbed,所以我就有兩組app id, api key, app secret,只要切換這兩組我就不需要一直去改Facebook那邊的設定,不過每次deploy之前還必須要把這兩組變數的註解toggle,也是有點麻煩。(而且要是不小心忘記就又要重新deploy一次,真麻煩!)

後來發現其實Google有提供一個method去檢視現在執行的程式是在App Engine上面還是dev server上,這隻method的位置在google.appengine.api.conf裡面,叫做_inspect_environment(),這支函式的spec是這樣:(摘錄Source中的註解)

2011年5月2日 星期一

在Mac和Linux平台上除錯wxPython應用程式的方法

wxPython的應用程式在執行時,會把stdout和stderr兩個管道的訊息都重導到介面上的一個TextCtrl,(反正錯誤程式就用不到了嘛,所以就拿來顯示錯誤訊息的意思。),但是有用過的人都知道,在Mac上和Linux上,這個TrackBack的錯誤訊息是顯示不出來的,只顯示一個標題而已,這樣子要我們人工debug真的很困難。

2011年4月26日 星期二

為什麼在雲端的世代我們不需要硬碟

Chrome OS 高層 Sundar Pichai 親自射殺 GDrive 項目,稱文件是 90 年代的產物
 這是今天在Google Reader的谷奧RSS看到的一則新聞,事實上也不算是新聞了,內容是這樣的:Google曾經花費一年多的時間研究類似Dropbox這類的雲端儲存服務,叫做「GDrive」,所以Sundar Pichai親自去找了Bradley Horowitz,當時研發GDrive的負責人說:「我覺得我們根本不需要GDrive。文件檔這東西是90年代的產物,我認為人們根本不需要文件了。人們需要的事情是將訊息放置到雲端,像是使用Google Docs的時候,人們根本沒有文件檔的概念,只是在線上編輯他們需要的內容。」,最後Sundar Pichai贏得了勝利,GDrive這樣產品在還沒問世前就消聲匿跡了。

2011年4月23日 星期六

微軟的IE9 Hackathon遊記


這裡禮拜六受到ericsk的邀約,參加了由台灣微軟舉辦的IE9 Hackathon,在這裡跟讀者說聲抱歉m( _   _ )m,NPNT(No picture, no talk)的概念我也是懂的,但是實在是忙到沒時間拍照,身為一個隨時帶著智慧型手機的人卻不好好使用照相功能,我會好好檢討的。

這時候你一定會有一些問題?你不問我就自己問了!

2011年2月19日 星期六

為Android帶來高速運算的API,Renderscript

這次Honeycomb(Android 3.0)更新的重點之一:Renderscript,將為開發者帶來更多的硬體資源,透過這套API,開發者可以得到更多high performance的運算,而不需要親自去撰寫底層的程式碼。

他提供了三套工具:

  • 一組簡單的3D硬體加速API
  • 類似CUDA模式的計算API
  • 類似C99的語言


底下有Google提供的Renderscript使用範例:900顆3D小球的碰撞模擬。


在之前的XOOM展示影片當中(這裡),可以看到了YouTube和Google Books的應用程式都擁有了新的樣貌,非常的酷炫、還有.....3D,就是使用了Renderscript的結果,執行起來的效能相當的不錯,相信這個新的API可以為Android的介面帶來更多的風采。