IronRuby発表
MicrosoftがカンファレンスMIXで、IronRubyの開発を公式発表しました。
RubyCLRの主要開発者で、今年からMicrosoftに入社したJohn Lam氏がブログで伝えています。
これまでは、守秘義務のため何もかけなかったとのことですが、IronRubyはIronPython同様、3週間に1回のリリースを目指すそうです。ライセンスはBSDライクなMicrosoft Permissive License だそうです。
また、Windows Presentation Foundation/Everywhere(WPF/E)と呼ばれていたリッチクライアント実行環境Silverlightでも、Python、JScriptに加えて、RubyとVBも利用可能になるそうです。
Ruby Quiz: LCD
勉強会の題材で、Ruby Quizを取り上げているのですが、わたしの拙いプログラムを、皆様の御参考に公開してみようと思います。 最初は、LCD Numbersです。コマンドライン引数として渡された数字を、電卓の液晶画面のように表示するのが課題。サイズ指定も出来ることが条件です。 本来の出題意図は、空白 と - マイナスと | で数字を表現するらしいのですが、通常のターミナルではあまり数字らしく見えなかったので、 - の代わりに _ を使ってみました。
require 'optparse'
class Digit
@@digits = Array.new
@@digits[0] = [[" ", "_", " "],
["|", " ", "|"],
["|", "_", "|"]]
@@digits[1] = [[" ", " ", " "],
[" ", " ", "|"],
[" ", " ", "|"]]
@@digits[2] = [[" ", "_", " "],
[" ", "_", "|"],
["|", "_", " "]]
@@digits[3] = [[" ", "_", " "],
[" ", "_", "|"],
[" ", "_", "|"]]
@@digits[4] = [[" ", " ", " "],
["|", "_", "|"],
[" ", " ", "|"]]
@@digits[5] = [[" ", "_", " "],
["|", "_", " "],
[" ", "_", "|"]]
@@digits[6] = [[" ", "_", " "],
["|", "_", " "],
["|", "_", "|"]]
@@digits[7] = [[" ", "_", " "],
[" ", " ", "|"],
[" ", " ", "|"]]
@@digits[8] = [[" ", "_", " "],
["|", "_", "|"],
["|", "_", "|"]]
@@digits[9] = [[" ", "_", " "],
["|", "_", "|"],
[" ", "_", "|"]]
def initialize(size)
@size = size
end
def row(n,row_num)
case row_num
when 0
" " + @@digits[n][0][0] + @@digits[n][0][1] * @size
+ @@digits[n][0][2]
when Range.new(0,@size,true)
" " + @@digits[n][1][0] + ' ' * @size
+ @@digits[n][1][2]
when @size
" " + @@digits[n][1][0] + @@digits[n][1][1] * @size
+ @@digits[n][1][2]
when Range.new(@size,@size * 2,true)
" " + @@digits[n][2][0] + ' ' * @size
+ @@digits[n][2][2]
when @size * 2
" " + @@digits[n][2][0] + @@digits[n][2][1] * @size
+ @@digits[n][2][2]
else
raise "Error"
end
end
end
size = 2
opt = OptionParser.new
opt.on('-s SIZE') {|v| size = v.to_i}
opt.parse!(ARGV)
number = ARGV[0]
out_digits = []
d = Digit.new(size)
0.upto(size * 2) do |i|
line = ""
number.each_byte {|c| line += d.row(c.chr.to_i, i)}
puts line
end
Typo 4.1にUpgrade
Typoのバージョンが4.1に上がっていたので、アップグレードしてみました。
手元のUbuntuでためしてからやったのに、データベースの移行が失敗したらしく、トップの最新記事がエラーに。
バックアップから戻しましたが、半日以上ダウンしてしまいました。
再度チャレンジしたらOKに。一体なんだったんだろう?
達人プログラマー
達人プログラマー―システム開発の職人から名匠への道を今読み始めたところです。
有名な本だとは知っていたのですが、最近できたジュンク堂に立ち寄った際に、Joel on Softwareと見比べて、こっちを先に買いました。
プログラマーだけではなく、ソフトウェア開発に携わる方すべてにお勧めです。
Ruby会議でDave Thomasさんの話が聞けるのが楽しみになりました。
Four Days on Rails 日本語 Rails 1.1.6対応版の最終修正版をリリース
Railsの1.2がリリースされてしまいましたが、Four Days on Rails日本語訳のRails 1.1.6対応版の誤りを修正しました。
これで、1.1.6対応版のリリースは最後としたいと思います。
Ruby on Rails 1.2リリース
ついにRuby on Rails 1.2が正式リリース です。
APIドキュメントの翻訳は全然進んでいないのにどうしよう。
CHANGELOGが大量にありますが、詳細はAgile Web Development With Rails (Pragmatic Programmers) を参照ということで、早速Amazonで入手。読まなくっちゃ。
Ruby declared TIOBE's Programming Language of 2006!
予想通り、RubyがTIOBE Softwareの調査での、Programming Language of 2006になりました。
TIOBE Programming Community Index
この選択基準は、人気指数の上昇度合いで決められているようです。Rubyは+2.15%で、2位のJavaScriptの+1.31%を大きく上回っての1位です。
1月のランキングでも、初のベスト10入りでした。9位にはその強敵JavaScriptが控えています。
あけましておめでとうございます
2006年は、Rubyの年でした。
Linux Journalの Editor’s Choice 2006 ではLanguage部門で、Ruby 1.8.5が、Web Application Framework部門ではRuby on Rails 1.1.6が受賞という結果でしたが、 TIOBE Softwareが毎月発表している、検索エンジンを使ったプログラミング言語のランキング、TIOBE Programming Community Index では、2006年12月のランキングで11位とベストテン入り目前であり、programming language of the year 2006でも、トップを走っているなど受賞はほぼ確実と思われます。
まつもとさんは、2006年11月28日のmatzにっき で、Editor’s Choice受賞を、Railsのおかげと謙遜されていますが、2006年はRailsのHypeから始まったにせよ、2007年はRubyの言語としての魅力が理解され、より普及が進むと期待しています。
SQLite3からPostgreSQLに変更
これまで、TypoのバックエンドでSQLite3を使ってきましたが、最近ロックによる障害が頻発してきたので、PostgreSQLに移行しました。
これで安定してくれるでしょうか?

