22(土)

rebuild.fm

Tatsuhiko Miyagawa さんが配信している rebuild.fm を 1 回目の配信から聴き始めた.1回目は, naoya さんのLSTV の話・デプロイの話・RubyMotion の話.rebuild.fm は丁度1周年くらいなんだね.RubyMotion の話を通して,自分の作りたいソフトウェアの開発を続けていくにはどういう方法が良いかと言う話があって興味深かった.放送の中では,以下の2つの方法が話題になっていた:

  1. オープンソースにし,企業にスポンサーになってもらい,開発を続ける.
  2. お金を自分で稼いで,開発続ける.

RubyMotion の開発者は元々 MacRuby の開発者で,1. の方法をとっていたらしい.しかし,Apple からの投資がなくなると,開発が困難になり,1. の手法の有効性に疑問を感じ始めたそうだ.そこで, RubyMotion はライセンス課金で 2. の手法をとっているとのこと.オープンソースの場合,必要性とユーザ数の多さによって,スポンサーがつくかどうか,コミュニティが広まるかどうかが決まる.つまるところ,MacRubyApple 以外の投資を受けるのが難しいというソフトウェアの特性が問題だったように思う.これとは別に,コンパイラのような比較的専門性の高いソフトウェアでは,貢献者が増えず,オープンソースにする意義が薄かったという話があったが...gcc/Ruby/Python etc. が生き残っているから,この主張には無理がある.

Tez のコミュニティ

Siddharsh/Bikas/Hitesh が土曜日にも関わらず開発をしまくっている.私も参加.

rbenv on homebrew

rbenv + ruby-build が homebrew からインストールできるようになっていたので,古い rbenv 環境を削除して再構築.

$ brew install openssl libyaml
$ brew install rbenv ruby-build
$ echo export RBENV_ROOT=/usr/local/var/rbenv > ~/.bashrc
$ echo if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi > ~/.bashrc
$ rbenv install 2.1.0
$ rbenv global 2.1.0
$ gem install bundler

ここで,ある Ruby のプロジェクトで Bundler を使おうとしたらエラーが発生.

$ bundle install
 /usr/local/var/rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/var/rbenv/versions/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish (LoadError)
...(以下 stack trace につき略)...

この問題,OS X 上で rbenv + ruby-build を使って Ruby 1.9.3 以降をインストールするときに毎回はまっていた問題だったのだけど,C_INCLUDE_PATH を外すことで動作することが判明.どうやら古いヘッダを見に行ってシンボルが解決できなくなってしまっていたようだ.

Hive Beer を楽しむ会

Hive Beer を楽しむ会が開催される.私も参加予定.