6/25/2008

Python Hackthon 遭到保護動物組織的抗議

http://www.javaeye.com/news/2697

http://techfaux.com/2008/06/17/peta-targets-computer-programmers-with-string-of-bizarre-protests/

間單講就是好好的 Python Hackthon 聚會,闖入一堆 30位女生,突然全部脫光衣服,然後舉牌子「How many lives just for a coat?」,意思是要殺掉多少蛇才能有一件蛇皮大衣。

這些天兵似乎還不知道自己在幹麼,她們大聲疾呼「We know what they’re doing in there. They’re hacking pythons. It’s barbaric and we won’t leave until the last snake has been saved」,秀才遇到兵,有理說不清。


改天 Ruby 聚會也有一堆人進來抗議,「停止虐待採紅寶石的勞工」怎麼辦....



6/06/2008

Rails 2.1 新特色:打包 Gem

顧客:老闆, Web 2.0 網站一份,Rails 要 2.1 的,還有幫我加香菜,還有所有的 Gem Package 都要包在一起,要快點,等等 10分鐘要上 Production Server。

老闆:好好好,馬上來,要不要順便叫個啤酒呀?

Rails 2.1 加入了一個新功能 Gem Dependencies ,相當的優。像是上述需求,只需要下達

$ rake rails:freeze:edge
$ vi config/environment.rb
$ rake gems:unpack
$ rake gems:build
即可完成將 Rails 原始碼,Gems 原始碼包入到 Rails app folder 裡面,這樣 deploy 超方便呀。

以下是詳細解說

$ rake rails:freeze:edge
把現在的Rails Version 打包入 vender/rails/

$ vi config/environment.rb
把所有有關的 Gem package 加入設定檔

Rails::Initializer.run do |config|

# Require the latest version of haml
config.gem "haml"

# Require a specific version of chronic
config.gem "chronic", :version => '0.2.3'

# Require a gem from a non-standard repo
config.gem "hpricot", :source => "http://code.whytheluckystiff.net"

# Require a gem that needs to require a file different than the gem's name
# I.e. if you normally load the gem with require 'aws/s3' instead of
# require 'aws-s3' then you would need to specify the :lib option
config.gem "aws-s3", :lib => "aws/s3"
end



$ rake gems:unpack
把所有的 config 裡面設定相關的 Gem Package 都打包入 vender/gems/

$ rake gems:build
非一定要用,只是如果你相關的 gem package 不一定是純 Ruby Code,有些會相關一些 C Lib,這時候就可以用這個指令來 build native gems。



6/05/2008

Gettext 在 Rails 2.1 下面的問題

Gettext 1.19 遇到 Rails 2.1 會發生以下的問題
NoMethodError (undefined method `file_exists?' for #):


解決方式就是寫一個 config/initializers/gettext.rb

require 'gettext/rails'
module ActionView
class Base
delegate :file_exists?, :to => :finder unless respond_to?(:file_exists?)
end
end



重起即可。