12/30/2007

Ruby 1.9 Release

Ruby 1.9 Release了,根據Ruby慣例,版本小數點後面的數字偶數是穩定版本,奇數是測試用的版本。所以 Ruby 1.9 算是 Ruby 2.0 之前的開發版本,現行的穩定版本還是 Ruby 1.8,所以請不要把你公司的 Production 機器都改成 Ruby 1.9。

1.9 除了語法上面的演進以外,最大的不同就是在於內建 YARV 這個 VM。對於 Ruby 整體效能有相當大的增快,如果 Ruby 跟 Python 2 Fibonacci Sequence 的測試,大概比 Python 2 快了三倍。However ,跟幾年前的 Release 比速度,還真的沒啥好誇耀的 :p

Download 點在這
ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.tar.gz

Change in Ruby 1.9
http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9

12/26/2007

Beast 在 Rails 2.0.2 不能啟動的解決方式

昨天 安裝Beast Trunk ,發現在最後 rake db:schema:load 遇到
rake aborted!
undefined method `whiny_protected_attributes=' for ActiveRecord::Base:Class
這樣的 error。根據網路上的回答,應該是 Rails 2.0.2 搞得鬼,解決方式根據這個網頁講的,在 config/enviroment.rb 裡面將這行 comment 起來即可
#config.active_record.whiny_protected_attributes = false
話說,beast 已經 800 多行了,乾脆改成千行以下的 forum 好了 :p

Ps.
Beast 安裝方式
1. 下載下來 beast trunk code
svn checkout http://svn.techno-weenie.net/projects/beast/trunk beast
2. cp config/database.example.yml config/database.yml 並且修改他
3. 建立 schema
rake db:schema:load
4. 修改 config/environment.rb. 裡面的 PASSWORD_SALT
5. 安裝額外的 Gem 像是 RedCloth 或是 ruby-openid

12/10/2007

Leopard,Terminal,Vim,and .... UTF-8

最近買了新的 MacBook ,Leopard 到目前感覺都還很不錯,尤其是大幅度改進的 Terminal.app 。不過,跟我預料的一樣,Terminal 的 UTF-8 問題依舊沒有設定好。所以花了點時間 survey ,順便把一直困擾我的 vim 中文問題一起解決。

Leopard 內建的 vim 是 version 7.0.234 ,GNU bash 是 3.2.17 ,這幾個版本支援 UTF-8 都沒有任何問題,所以其實只是設定檔的問題。

1. 修改 ~/.profile
加入
export LANG=zh_TW.UTF-8
2. ~/.vimrc
加入
if has("multi_byte")
set enc=utf-8
set fenc=utf-8
set termencoding=utf-8
set fileencodings=utf-8,ucs-bom,big5,latin1
else
echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
endif
不確定是否有沒有更好的設定方式,不過,我已經滿意了。