Ruby言語やLinuxのネタが多いです。
March 02, 2005 [おもひで]
■ [Ruby-GNOME2] Rucd
ルシード、と読むそうです。Ruby/GTK2で書かれたCDからのリッピング(cdparanoia)、MPエンコード(lame)を行うGUIフロントエンドとのこと。
March 03, 2005 [おもひで]
■ [Ruby-GNOME2] Rabbit-0.0.7をWindowsで使ってみよう
日本語がトーフ(□)になってしまっていたんだけど、lib/rabbit/theme.rbのset_font_family()メソッドを無効化してあげれば文字化けしなくなるYO!
--- theme.rb 2005-02-12 15:12:02.000000000 +0900
+++ theme.rb.new 2005-03-03 20:25:25.707180594 +0900
@@ -213,7 +213,7 @@
end
def set_font_family(target, family=@font_family)
- target.prop_set("font_family", family) if family
+# target.prop_set("font_family", family) if family
end
def windows?
■ もちろん、フォントが常に同じになっちゃうけど、サイズは普通に変わるし実用上は問題なさげ。
この辺を工夫したテーマを書くと良いかもしれない。
#どうもデフォルトで取得しているフォントが英語フォントっぽい。
■ [Ruby-GNOME2] フォント選択
そのシステムでどんなフォントが使えるのかなぁ、と思ったら以下のようなone-linerが便利。
$ ruby -rgtk2 -e 'Gtk.init;Gtk::FontSelectionDialog.new.run'
March 05, 2005 [おもひで]
■ [Misc] CD-ROMの内容をファイル(ISO9660イメージ)にコピー
あ、そうか。なるほど。実行終了時に「dd: reading `/dev/cdrom': 入力/出力エラーです」と言われるけど問題ない模様。
$ dd if=/dev/cdrom of=foo.iso
March 06, 2005 [おもひで]
■ [Ruby-GNOME2] Ruby-GNOME2-0.12.0
リリースしました。GTK+-2.6.x、フルサポートです!
今回からはOne-Click Ruby Installer向けのバイナリを最初から用意しました。MS Windowsな人も、ぜひ、お試しあれ。
■ [Ruby-GNOME2] スクリーンショット
というわけでたまには画像でも。派手目なサンプルを選んでMS Windows XPでキャプチャしてみましたYO!
※イメージクリックすると拡大できます。
March 07, 2005 [おもひで]
■ [Ruby-GNOME2] GnomeFilesのRuby-GNOME2エントリ
更新されたので再度Voteできます。さぁ、あなたの清き一票を是非。もちろん10で!(^^;)
March 10, 2005 [おもひで]
■ [Ruby-GNOME2] スペイン語サイトスタート!
by Angel Carballoさん。チュートリアルをスペイン語化していきたいそうです
それにしても、これで7カ国語目です。もはや私自身、何を書かれても全く理解できない状態です(苦笑)。スペイン語を勉強したい方・読める方は是非参加してください!(って言ってもなぁ(^^;))。
■ [Ruby-GNOME2] Gtk::MozEmbed
まだCVS版だけど、とりあえず試してみた。以下のコードで超シンプルWWWブラウザいっちょあがり。
require 'gtkmozembed' Gtk.init moz = Gtk::MozEmbed.new moz.location = ARGV[0] Gtk::Window.new.add(moz).set_default_size(1024, 768).show_all Gtk.main
上記をtest.rbという名前で保存したとして、以下のようにURL付きで実行する。
$ export MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.7.3 $ export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME $ ruby test.rb http://www.yotabanana.com/
最初の2行は環境によって変更する必要アリ。
Back/Forwardも無いけどリンクをクリックすればリンク先に遷移はできるしJavaScriptも有効になってるみたい。うーん、これは楽だ。
March 22, 2005 [おもひで]
■ [Ruby-GNOME2] Ruby/GtkMozEmbed-0.3 is out!
私も知らなかったのですが(苦笑)、密かにRuby/GtkMozEmbed-0.3がリリースされてます。
サンプルもAPIリファレンスもすでに用意されていますし(英語だけど)、ぜひ、お試しください!
March 25, 2005 [おもひで]
■ [Ruby-GNOME2] MozEditor HTML toy-editor
Ruby/GtkMozEmbed(とRuby/GtkSourceView)のサンプルスクリプト。左ペインにHTMLを書いていくと、それがリアルタイムで右ペインに反映されていく。おもしろい。
これで100ステップ程度。保存処理とかちょっと追加すればそれなりのものになりそうな気がする。ぜひ、そのパワーを試してみてください!
March 29, 2005 [おもひで]
■ [Ruby] Ruby-GetText-Package-0.8.1
リリースしました。いくつか頂いたレポートのバグを修正しています。
March 31, 2005 [おもひで]
■ [Ruby] Using Gettext To Translate Your Rails Application
著者のSascha Ebachさんから、こんなん作ったよ、どう?というメールが来たので読んでみた。Ruby on RailsでRuby-GetText-Packageを使おうてな話。
■ よくできてるとは思うけど、このまま一般的なフレームワークとして推奨するとしたら、相当制限がきついと思う。というのも、gettext本体に手を入れて「全てのスクリプトが扱うメッセージカタログ(moファイル)は一つしかない(以降案1)」という前提にしているから。
Ruby-GetText-Packageでは、1つのスクリプトごとに1つのメッセージカタログ(moファイル)をバインド(bindtextdomain)するようにしている(以降案2)。
最初は、1クラス単位、モジュール単位、といったことも考えたのだが、Rubyのように既存クラス・モジュールに、後から別の機能を追加できるようなものを前提とすると、ファイル単位にメッセージカタログを持たせるのが一番現実的だと判断したからだ。なので、1つのスクリプトファイル中で1回は「bindtextdomain」を呼ばないといけない。もちろん、実装上は、同じメッセージカタログ名であれば使い回すという風にしているため、通常のアプリケーションであればせいぜい1、2個のメッセージカタログを複数のスクリプトから参照するということなので、ファイルを読み込む処理とかメッセージカタログが占めるメモリ使用量といったところで激しく性能劣化が出ないようにしている(つもり)。
■ で、案1にしてしまうと、すぐに問題として思いつくのが、BBSとBLOGの2つの機能を持ったアプリを作る場合でもメッセージカタログを1つにしないといけない、ということだ。プラグインのような機能もメッセージカタログはパッチで提供する形になってしまう。これはイケテナイ。
もう一つ、Ruby-GetText-Packageを使った他のライブラリ等が使えなくなってしまう(厳密にはローカライズされずに英語で表示されてしまう可能性が高い)。現状、そのようなライブラリは存在しないと思うのでちょっと杞憂すぎるかもしれないけど。
■ 案2の問題点として、Saschaさんが指摘してるのは、毎ファイルごとに宣言するやり方はDRY(Don't Repeat Yourself)の法則に反する、このようなものは1カ所で宣言したいというものだ。
気持ちは分からないでもないが、案1の問題がクリアできない以上、共通的なフレームワークとして採用するのは厳しいと思う。
もちろん、Saschaさんの指摘をクリアできるような何か良いアイデアがあるといいのだけど...。
■ RoR界隈では、他にもYAML/XMLを使った独自実装のアイデアも出てるらしいけど、言語リソースは(特に頻繁に変更があるようなアプリケーションでは)、GetTextが提供している各種ツールのようなメンテナンス用のツールが充実していないとメンテが大変になるので、そういったものが用意できない場合はGetTextを使った方が良いような気もする。
対象となる文字列が少ない場合は、もっとライトウェイトにHikiやtDiaryが使っているメソッドや変数に言語リソースを設定するやり方も良いと思うけど、RoR界隈でその辺の実装をチェックしてる人はいないのかなぁ。
■ ちなみに、彼が改造したRuby-GetText-Pacakgeのいくつかは今回の指摘箇所以外ということでも有用だったのでその部分はいただくこととしよう。


▲ kou [Windowsの場合はデフォルトでフォントを指定しないようにしておきました. # うーん,フォント周りは鬼門だ...]
▲ むとう [まぁ、フォント周り等の機種依存部分は難しいところですよね。]