Vim 7.0 Released!

大家都在幫忙公佈這個消息,我目前使用的 Ubuntu Linux Dapper Drake 6.06 Beta 還沒有把它放入套件中,所以我就自行到了 vim 的官方網站下載 source 回來編譯。

新功能的列表可以在官網找到,不過最令我開心的是有了 tab page 這個功能,這樣就不用再使用可憐的 vsplit 或 split 切割螢幕了。

於是乎,我將我的 $HOME/.vimrc 檔案加了以下的 Mapping,這樣就可以方便切換 tab 了!(大心)

map <M-1> <ESC>:tabn 1<CR>
map <M-2> <ESC>:tabn 2<CR>
map <M-3> <ESC>:tabn 3<CR>
map <M-4> <ESC>:tabn 4<CR>
map <M-5> <ESC>:tabn 5<CR>
map <C-W> <ESC>:tabclose<CR>
map <C-N> <ESC>:tabnew<CR>
map <C-O> <ESC>:open<CR>

這樣就可以用 alt+{1, 5} 來切換 tab,然後用 Ctrl+w 關 tab,用 Ctrl+n 開新的 tab。

有沒有必要造輪子?

今天看到了 Google Data API ,發現它目前只提供 Java/C# 的 library 下載(下載來會發現其實有 open source)。於是我開始思考,我要怎麼利用這些 API...

其實對於平常工作環境就處在不同系統的我(Linux及 Mac OSX,偶而也會用 Windows),看起來 Java 的函式庫是讓我開發的首選,但其實我對於 Java 開發的 desktop app. 還是有點小過敏,而且在 Mac 上 Apple 也打算 drop 掉 Cocoa-Java 的 binding,這無異是要我自己硬幹嘛 XD

可是硬幹常常會幹到一半就不想寫下去了,根本沒辦法體驗到造輪子之美,真不知道有什麼更好的解決方法 :/

IronPython 初體驗

之前就聽過 Microsoft 要整合 .Net FrameworkPython 語言,不過一直沒有時間玩,直到因緣際會之下看到了 MSDN 上推廣 IronPython 的影片-「MSDN TV: IronPython: Python on the .NET Framework」,所以就花點小時間玩玩它。

首先到了 IronPython網站 下載了 1.0 beta 0.6 來玩,開啟了內附的 IronPythonConsole,一切就像 Python interactive mode 一樣,用起來跟普通的 Python 沒什麼兩樣,至於要使用 .Net framework 的話,必須要注意的是:

記得要 import clr,然後透過 clr.AddReference('xxxxxx') 來加入 .Net framework 的 API,比方說我想使用 System.Windows.Forms 的話就必須要 clr.addReference("System.Windows.Forms")。至於之前用 import sys 然後 sys.LoadAssemblyXXX 已經過時了。

影片中也看到了他們用 Visual Studio 2005 Express Edition 來整合 IronPython 進 C# 的 code 裡。因為我會一點 C# ,所以就試著用 C# 來寫,大致的步驟如下:

  1. 開啟一個 Project 後,首先要記得 Add Reference... 來把 IronPython 裡的 IronMath.dll 及 IronPython.dll 加入,否則不能使用 IronPython。
  2. 要使用 using 加上 IronPython.Hosting 這個 namespace
  3. 宣告一個 PythonEngine 的 object,如此一來就可以用這個 engine 來 Execute 你的 Python script囉~

跟 Python 結合融洽的 API Framework 非常多(開發GUI的就有:Gtk、Qt等等),現在 Microsoft 也把 .Net framework 跟 Python 緊密結合,看來要在各平臺開發程式,都可以好好考慮全面使用 Python 了!

學習、學習、不斷學習

很久以前在 Ruby on Rails Weblog 中看到了這張圖片:

J2EE vs. Rails

這張圖片是為了比較在作 web application development 時,用 RoR solution 跟 J2EE 所需要學習的東西。

昨天因緣際會下看到這個影片:

http://oodt.jpl.nasa.gov/better-web-app.mov

還記得我在唸大二時,一堆前輩就不斷在推 J2EE,然後爆出一大堆技術,沒想到現在要做一樣事情時,只需要幾個簡單的工具。真是覺得學軟體的人總是有學不完的 language, frameworks,還是要一直很有興趣才行啊!

可是我們本身學資訊的,眼光應該是要放在「發展這些 tool、language及 framework 」才是呀!