自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

July 01, 2004 [長年日記]

[Misc] それにしても....

最近、やたらと「始○書」で検索かけてこのページに来る人が増えてるのね。

みんなそんなに書いてるのだろうか。そういう時期とか?

[Ruby-GNOME2] Ruby-GNOME2でメモリリークを探す方法

ほー、なるほど。これはいい!


July 04, 2004 [長年日記]

[Ruby] Ruby-GetText-Package-0.6.0 released

リリースした。なんか、ますますリリース作業に時間がかかるようになってきてしまった....。いつになっても苦手な作業だ。

さて、今回の目玉は、対象文字列を抽出してpoファイルを生成してくれるrgettextが、rubyのソースだけではなくGlade-2の生成したXMLファイル(.gladeファイル)からも直接poファイルを生成できるようになったことだ。

rgettextは複数のソース、.gladeファイルをまとめて指定できるので、ソースがXMLだろうがrubyのソースだろうが関係なく1つのpoファイルにまとめることができるようになった。

これで、Ruby-GNOME2で国際化アプリを作るときの最後の障害が排除できた....かな?

以前、Ruby-GetText-PackageをRubyで再実装するときに、どうせ車輪の再発明をするくらいなら出力ファイルであるmoファイルをGNU GetTextのバイナリフォーマット互換にせずに、XMLかなんか(当時はYAMLが無かった)で表現した方が良いのではないかと一時期悩んだこともあった。

#ってか実装までしたんだよなー。

でも、最近は、Ruby/Libglade2等のようにGNU GetTextのmoファイルが前提となるようなライブラリがあることを知ったので、このmo互換路線は結果的には良かったなぁという気がしてきた。あまりいろいろなフォーマットが乱立するのもどうかなと思うしね。

おっと。こういう書き方すると、Ruby-GetText-PackageはまるでRuby-GNOME2のためのライブラリと思われる人もいるかもしれないけど、そうではないつもり。

是非、他のツールキット、コンソールアプリ、なんでも良いんだけど国際化をする際には使ってみて欲しいなぁ。

#とはいっても、moファイルの読み込み等で起動時のオーバーヘッドが

#あるので、CGIなんかには向かないかも知れないんだけどね。

あ、そうそう、もう一つ改善したところとして、rgettextが以下のようなフォーマットもサポートできるようになった(はず)。オレはあまり気にしない方なんだけど、案外、要望が多かったんだよな。

str1 = _("aaa
bbb
ccc")
 
str2 = _("aaa"
         "bbb"
         "ccc")
 
str3 = _("aaa") + foo + _("bbb")

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [Thanks ;)]

なかだ [ヒアドキュメントはダメですか。 $ rgettext -v /usr/bin/rgettext 1.12 (200..]

むとぽん [そこまで考えてませんでした...(^^;)。]


July 07, 2004 [長年日記]

[Misc] 家のPCのHDDが

ブート時に異音がしてBIOS起動時のHDD認識に異様に時間がかかるようになってしまった...。しかもどうやら2つあるHDDの両方がダメのようだ。

一度BIOSからOSを起動すると音が収まり、普通に動作するのでひょっとしてBIOS自体が何かおかしくなっちゃってるのかなぁ。

夏を迎える前にいやな感じだ。うーむ。


July 10, 2004 [長年日記]

[Misc] 文章公開システムとしての Wiki - ょゎさん

を読んで、実はオレも似たようなことを考えてたことを思い出した。

と言ってもオレが考えたのはもっと単純で「著者とコメントを入れる人(読者)」の役割を明確に分けて考えると言うもの。著者のみが文書を編集でき、コメントを入れる人は文書自体を編集できるわけではない。

システム的には、アクセス権つきのWikiで、その上に、wemaみたいな感じで付箋紙の形でコメントをつけることができる、という感じ。

wemaで付箋紙が追加されるとメールでWikiに書き込みできる人に通知が行くので、そのコメントを順次吸収して行くと。

実際、Hikiにプラグインとしてwemaをくっつけちゃうような感じでちゃちゃちゃとやればできそうな気がするんだけど、今、自分がとっても忙しいので取り掛かれず。誰かやってくんないかなー。

本日のツッコミ(全1件) [ツッコミを入れる]

eto [こんな文章があったのですね。たむらさんに教えてもらいました。かなり近いような感じのものを作ってみました。 http:..]


July 12, 2004 [長年日記]

[Ruby-GNOME2] サンプルスクリプト3題

3つのサンプルスクリプトが同時に公開されました。どれもこれもすばらしい。一見の価値アリです。

Analog Clock by Geoff Youngs

Ruby/GnomeCanvas2, Ruby/GNOME2を使った簡単な時計プログラムです。きれいですよ。

Scrolling Credits display by Geoff Youngs

こちらもGeoffの作品。テキストが縦にエンドロールが流れるように表示されるものです。こちらもきれい。Ruby/GnomeCanvas2, Ruby/GNOME2。

Tabbed Notebook MDI by Sam Stephenson

いわゆるタブ用のコンテナウィジェット。Mozillaやgedit等のタブと同様の動きをするウィジェットで、きちんとシグナルなんかも出して(emitして)くれる本格派で実用的なウィジェット。Ruby/GTK2

Samが、どうしてこういうウィジェットがGTK+にないんだろう、と嘆いていたけど、そういったウィジェットであっても、Ruby-GNOME2ならこれだけお手軽に作ることができるのだ、という好例だと思う。

こういうPure Ruby-GNOME2なウィジェットを集めたお手軽拡張ライブラリを作りたいなぁ。


July 20, 2004 [長年日記]

[Ruby-GNOME2] Rabbit-0.0.1

Ruby/GTK2によるプレゼンテーションツール by 須藤さん (via lrz's diary)

すげー。ここまでRuby/Pangoを使う人がいるとは正直考えてなかった(汗)。

ちなみに、サンプル用のsample/rabbit.rdはEUC-JPなファイルなのでUTF-8に変換してから使わないとダメみたい。例えば以下のようにすると試すことができる。是非試してみて!

$ cd sample/
$ iconv -f euc-jp -t utf-8 rabbit.rd |rabbit

本日のツッコミ(全2件) [ツッコミを入れる]

kou [lrzにもツッコミをもらったのですが,実は, % rabbit -e eucJP --type file sam..]

むとぽん [なるほど〜。気づきませんでした<アホ。]


July 22, 2004 [長年日記]

[Ruby] Ruby-GetText-Package-0.6.1

リリースしました。インストールできないという不具合があったのに、対応が大変遅くなってしまいました。ご迷惑おかけした方がいらしたらすみませんでした。

今回はWin32版に簡単なインストーラをつけてみました。今までは自分でコピーする必要があって結構面倒臭かったんですが、今度は、DOS Promptでruby install.rbとすれば一通りインストールされると思います。

なかださんに指摘されたヒアドキュメントに未対応の件ですが、まだ対応できてません。ちと試してみたんだけどダメでした。腰を落ち着けてやらないとダメみたい。


July 25, 2004 [長年日記]

[Misc] <=>

UFO演算子、ですか。知らなった...(汗)。

[Ruby-GNOME2] 天元

GNU Goのフロントエンド by Laurent。次から次へとよくやるなー、すごい。

ちなみに、Laurentは「ヒカルの碁」というアニメを見て碁を覚えようと思ったらしい。

そうそう、天元見て気づいたんだけど、Gdk::Pixbuf.newがSVGファイルを読み込めるなんて知らなかった...(汗)。

[Misc] UFOキャッチャー演算子

斬新!?

-+-
 |
<=>                

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

むとぽん [うーむ、そう言われると肝心な右辺/左辺の書き方がわからないですね、3行にすると(^^;)。 なにか良いアイデアありま..]

ささだ [こんなのどうでしょう。(笑いました) -+- | <=> expr]

むとぽん [なるほど。やはりこうなったら縦で攻めるというわけですね!]


July 30, 2004 [長年日記]

[Ruby] RPA-base

Ruby Production Archiveだそうだ。rpmみたいなもの?

なんか作者の人から、ObjectPoolをrpa化しないかい?っていう誘いのメールが来た(なぜRuby-GetText-PackageではなくObjectPoolなんだ...(-o-;))。なんかメンドッチーのでとりあえず無視。ちなみにGemsとやらとは違うの?誰かその辺のことまとめてる人いないかな〜、日本語で(夏なので英語読むのが辛くなって来てる(^^;))。

ところで、rpa化する場合、以下のようなinstall.rbを書くらしい。

require 'rpa/install'
 
class Install_objectpool < RPA::Install::PureRubyLibrary
    name "objectpool"
    version "0.2.0-1"
    classification Library.Development
    build do
        installdocs %w[COPYING COPYING.ja ChangeLog README]
        installdocs "docs/html/en", "html/en", true
        installdocs "docs/html/ja", "html/ja", true
        installtests %w[test.rb]
        installmodules %w[objectpool.rb]
    end
    description <<EOF
Enables sharing of instantiated objects.
 
ObjectPool provides a mechanism for pooling objects and resources.
EOF
end

なんか、青木さんのsetup.rbに体が馴染んでしまったオレ的には、installxxxxとかいう感じでインストール対象を指定してること自体が面倒臭い。ホント、ディレクトリ構造固定で良いじゃん!って思う。

パッケージ管理するなら、青木さんのsetup.rbはそのままで、ルートディレクトリにXMLファイル(YAMLでも良いけど)を作って上記のような情報を書くだけでうまくやってくれるものにしてくれないかなー。

っつーか、別にRuby専用のものを作らずともrpmとかでいいじゃん、とか思うんだけどなぁ。ダメ?

本日のツッコミ(全2件) [ツッコミを入れる]

MoonWolf [うちにも来ました。>RPA やっぱdebとかrpmでいいじゃん?とか思っちゃいますよね。]

むとぽん [片っ端からメールしてるんでしょうねぇ。MoonWolfさんところはたくさん来たんじゃないですか?(^^;)]