2009年2月の小ネタ

締切ラッシュ継続中 [id]

いろんな学会の論文投稿締切が断続的に続いていたお陰ですっかり小ネタの更新も滞ってます。おまけに花粉症の症状も出始めたし、つられて風邪までひいたりと、余裕のない生活を送っております。
2009.2.23

Clifford Stoll の講演 (2006年) [id]

何の気なしに、「カッコウはコンピュータに卵を産む」(amazon)の著者、クリフォード ストールのことを調べていたら、 2006年2月の TED での講演ビデオを見付けた。今まで彼の顔すら知らなかったのだが、ビデオを見る限りではえらくエキセントリックな感じだ。
2009.2.24

Ruby/GTK2 で幸せ GUI プログラミング [id]

最近またしても Ruby でちょこちょこプログラミングしている。実行速度への要求がシビアでない場合には、やっぱりこの種の言語は快適。さらに今回、Ruby/GTK2 を使って久々の GUI プログラミングをしているのだが、楽ちんなことこの上ない。いやもちろん、適当な Interface Builder を使った方がもっと楽であろうことは間違いないとは思うけど、今回普通の Interface Builder では扱えない、独自ウィジェットを多用しているので、手を汚してプログラミングせざるをえない。

幸い、GObject を使ったオブジェクト指向プログラミングはほどよく Ruby/GTK2 により Ruby 的に記述できるようになっているので、既存のウィジェットを継承した独自ウィジェットも簡単に書ける。普通に考えれば GObject によるオブジェクト管理と Ruby による管理とで色々と衝突しそうなものだけど、今のところ深刻な障害にはぶつかっていない。もしかしたらガベージコレクションまわりで何かしらあるかもしれないけど、未調査。

今回必要となったのは、背景画像つきレイアウトモジュールなど、主にグラフィックス回りをいじるもの。いつもならグラフィックスを存分に操るには SDL やその上で OpenGL を使ったりするのだけど、今回は一般的なウィジェット類を大量にマウスで操作できる必要があり、一からウィジェット類やそれらのためのイベント駆動プログラムを書いている余裕はなかったので、 GTK+ の上で無理矢理実現したのだった。ちなみにそれらのプログラミングの過程で、Ruby/GTK2 にいくつかのバグ、というかまだ完成していない部分を発見。できればこのあたりはゆったりと調べて修正コードを書きたいところなんだけど、時間的余裕に乏しい。

2009.2.27