Ruby言語やLinuxのネタが多いです。
July 02, 2003 [おもひで]
■ [Ruby-GNOME] Ruby-GNOME-0.33
やまださんからRuby/LibartがRuby-1.6.x環境でコンパイルできないと言うバグレポートを頂いたので、その部分を直してリリース。
これでRuby-GNOMEは放置できれば良いのだけど...。
■ [Ruby-GNOME2] Simple Text Editor
今さら気づいたけど、カット(コピー)&ペーストがバグってて動かなかった気がする。
実は、実験的なコードが入っちゃってたんだよね〜。これで大丈夫かな。
#にしても誰も言ってくれてなかったって事は誰も試してないって事か(T_T)。
July 03, 2003 [おもひで]
■ [Ruby-GNOME] Ruby-GNOME-0.33
またしても指摘されちゃいました。ぐっすん。
まだ、バグが取り切れてなかったみたいです。
やっぱり、平日リリースは良くないですなぁ。
でも、最近、土日はあまり時間ないし(^^;)。
■ とはいえ、とりあえず、今週末までに新版出します。もし、何かあったらそれまでに言ってください。
簡単に直せるものなら対応します。
July 06, 2003 [おもひで]
■ [Hiki] ANNEXを最新版に
英語サイトも用意。本家の方をぼちぼちと移していく予定。
hikifarm使おうと思ったけどやめた。管理者だけ追加できるようなインタフェイスだったら良いんだけど、管理者(=オレ)以外の人にも見えちゃうのがオレ的には都合悪いからね。
#もちろん、誰でも参加できてこそWikiということらしいからそれで良いんだけどね。
でも、ちょっといじればうまくプラグイン化して外出しできそうだな〜って思ったりして。思っただけだけど。
■ [Ruby] Ruby-GetText-Package-0.5.1
リリースした。6ヶ月ぶりだ(^^;)。
setlocaleの問題に対応。あと、Ruby-1.8.x対応も。
ってそれだけやるつもりだったんだけど、作業中に、
「インストールの際、肝心のmoファイルがインストールされてなかった」
っていうことに気づいたのでそれも直した。ガクッ。
■ というわけで、このバージョンからANNEXに置き場を移行。
■ [Ruby-GNOME] Ruby-GNOME-0.34
この前の問題に対応して0.34を出しました。もう、この手のバグは無いよね...。という自分が最近信じられない(^^;)。
まぁ、何かバグがあったらまた次出すだけなんで、なんか見つけた人はレポートしてください!
July 07, 2003 [おもひで]
■ [Ruby-GNOME2] 日本語の扱いと国際化
まとめてみた。
■ [Ruby-GNOME2] シグナルの動きを調べる
こっちもまとめてみた。ご意見夜露四苦。
■ どうでもいいけどやっぱり日本語だと楽だの。
July 08, 2003 [おもひで]
■ [Ruby-GNOME2] 昨日のドキュメント2つを英訳してみた
って、訳ではないですな。オレの知ってる言葉の範囲で似たようなことを書き直してみたというか。
おかしな英語てんこもりだろうけど、今のオレにはこれが精一杯、てかこれ以上はムリ。というわけで誰か添削してちょ > 英語得意な人。
■ [Ruby-GNOME2] さっそく
Evan Martinが添削してくれた(まだHiki上には反映されてないけど)。ふと思ったのだが、これってメチャクチャ効果的な英語学習法じゃないだろうか。
英語を書いてみる→ネイティブが添削してくれる。
しかもタダ!
■ ということで、誰か英語勉強したい人、きたさん作のRuby/GTK2 Tipsを英訳してみないか(オイ。
■ [Ruby-GNOME2] Ruby-GNOME2を使ったプロジェクト
最近、ぽつぽつとRuby-GNOME2を使ったプロジェクトが出てきたようだ。メンテナとしてはうれしい限りだ。とりあえず、2つほど見つけたので紹介しておこう。タレコミ歓迎。
FreeBSDなんかで使っているPortsというパッケージ管理(あってる?)用のツールportupgrade toolのGUIフロントエンドらしい。
#FreeBSDを使ったことが無いので間違えてたらごめんなさい。
ちなみにこのportupgrade toolの作者はFreeBSDはもちろんRubyでも活躍されてるknuさんだ。Ruby-GNOME2のPorts(って言い方でいいの?)もknuさんが作ってくれてる。感謝。
でもgPortupgrade自体の作者はRuby-GStreamerのLaurent Sansonettiだ。ちとややこしい...くもないか。
Ruby RSS aggregator。Pascal Terjan。これってこの前紹介した武井さんのRSSViewerと似たような感じ(?)。
こういうツールって今ハヤリなのかな。
そういえば、武井さんからその後連絡無いけど、Ruby/GtkHTML2どうするんだろう....。ま、いっか(^_^;)。
■ それにしても、Ruby-GNOME2ってなんとなく英語ネイティブじゃない人たちの割合が高い気がする。いや、日本人は除いたとしてもさ。
July 16, 2003 [おもひで]
■ [Ruby] Ruby developers
ChangeLogに載ってる人をあげてみよう、という企画(?)。なかなか興味深いなぁ。
というわけでRuby-GNOME2版を作ってみた。
#すみません、Ruby-GNOME2のバグは明日以降と言うことで...(^^;)。
devs = {}
dev_names = {}
Dir.glob("**/ChangeLog").each do |file|
File.open(file).each do |line|
if line =~ /^(\d+-\d+-\d+)\s+(.+) +<([^>]+)>/
dev_name = $2.strip.upcase
dev_names[dev_name] = $2.strip
devs[dev_name] ||= []
devs[dev_name] << $1
end
end
end
puts "Total devs: #{devs.length}"
puts(devs.sort{|a,b|
b[1].length <=> a[1].length
}.collect{|dev, log|
dev = dev_names[dev]
if log.length > 1
log.sort!
"[#{dev}]: #{log.length} checkins, "+
"#{log.first} to #{log.last}"
else
"[#{dev}]: 1 checkin on #{log.first}"
end
}.join( "\n" ))
Ruby/GTK-0.21以前はChangeLogのフォーマットが違うためカウントできてない。それでも、結構な人数なのを見ると改めてすごいことだなぁと思う。
■ これだけの人数と工数を(当社規定の上乗せ分掛けて)見積もって顧客に提示したら結構な金額になるんだろうなぁ、なんて考えてしまう野暮なオレ(^^;)。
July 20, 2003 [おもひで]
■ [Misc] Software Design 8月号
Hikiが出てるとのことなので記念に購入。Hiki/RD+にも触れて欲しかったけど枚数が少ないからしょうがないか。
表1の「Wikiを利用しているサイトたち」がかなり偏ってるような気もしないでもないが、そのおかげでRuby-GNOME2 Project Websiteを入れてもらってるのはラッキーと言うべきか(^^;)。
■ [Ruby] Rubyのメソッド名は「動詞は原形を使う」
Rubyのメソッド名は「動詞は原形を使う」というルールを採用しているので、has_sid?はhave_sid?またはsid?とかsid_available?などになるべきです。
■ うげげっ。Ruby-GNOME2では、Hoge#has_foo? とかってたくさんあるな。正直、今更変更は厳しいなぁ。Ruby/GTKの時代からそうだったわけだし...。
■ あれ、でも、Object#is_a?(mod)は、Object#be_a?じゃないのね。まぁ、be_a じゃなんのことかわからないか。
それにしてもbe動詞とhaveだけは例外でも良いような気がするんだけどなぁ。
■ [Hiki] rd+ style
久しぶりにイロイロと巡回してたら、うささんにHeadlineの仕様が変わったのはわけわからん(意訳)とおしかりを受けてた(?)のに気づいたので、オプション設定できるように以下のパッチを投げておきました。
近いうち採用されると思います。
--- old/rd2html.rb 2003-07-21 02:08:34.000000000 +0900
+++ rd2html.rb 2003-07-21 02:39:07.000000000 +0900
@@ -175,8 +175,10 @@
anchor = get_anchor(element)
label = hyphen_escape(element.label)
@toc.push({'level' => element.level, 'index' => anchor, 'title' => title.join('')})
- %Q[<h#{element.level}>#{a_name_href(anchor, title.join(""))}] +
- %Q[</h#{element.level}><!-- RDLabel: "#{label}" -->]
+ depth = element.level
+ depth += $options['rd.header_depth'] - 1 if $options['rd.header_depth']
+ %Q[<h#{depth}>#{a_name_href(anchor, title.join(""))}] +
+ %Q[</h#{depth}><!-- RDLabel: "#{label}" -->]
end
def apply_to_TextBlock(element, content)
hikiconf.rbに
$options['rd.header_depth'] = 2
と書けば以前と同じになります。
■ ところで、なぜ、HeadLineの深さのデフォルトが変わったかというと、MLではちょっと説明したのですが、Hiki本体にページタイトルという概念が導入されたことが関係しています。
通常はページタイトルに'='に該当する内容を書くことになるだろうと想定しました(つまりHiki/RD+内では=要素は使われなくなり、==が主に使われるようになる)。
とはいえ、好みもあるでしょうし、以前との互換性を考えるとオプションなしで変更してしまうのはちと強引すぎました。申し訳ないです。
■ #ご要望は直接言っていただけると対応も早いかと。最近、巡回頻度も減ってますので;)。
■ [Hiki] タイトル周辺
Hikiのタイトル周辺ってプラグイン化できないかなぁ。と思っていじり始めたんだけど挫折。
ここがいじれると結構自由度の高いWebページができると思うんだけどなぁ。
例えば、view.htmlで言えば以下の部分。誰かやってくんないかな。
<div class="adminmenu" id=tools></div> <span class="header" id=title></span> <div class="adminmenu" id=page_title></div> <h1 class="header" id=view_title></h1>
July 21, 2003 [おもひで]
■ [Hiki] 全ページ数表示プラグイン
というのを作ってみた。
さっそく各所につっこんでみたところ、
Ruby-GNOME2[en] = 187 pages
Ruby-GNOME2[ja] = 85 pages
MUTOPON7 ANNEX[en] = 6 pages
MUTOPON7 ANNEX[ja] = 30 pages
という結果に。Ruby-GNOME2関連はそれだけで272ページ。300ページまであと少しだっ。
July 25, 2003 [おもひで]
■ [Ruby-GNOME2] Ruby/GnomeVFS
CVSに追加されました。お試しアレ。
■ [Ruby-GNOME2] Ruby/GStreamer
結局、Ruby-GNOME2に統合することに。
#って無理して統合しなくても良いんだけどなぁ....(T_T)。
とりあえず、CVS版はリリース版に比べかなり開発が進んでいるので、気になる人は試してみては。
■ [Ruby-GNOME2] ところで
Ruby/GnomeVFSのNikolaiは23才、Ruby/GStreamerのLaurentは22才なんだそうだ。そういや、さかいさんも若いし、そろそろ隠居した方が良いのかも...。
体動かなくなってきたし筋肉痛があらわれるのは一日後だし(^^;)。
July 28, 2003 [おもひで]
■ Hash + 配列の場合
h = {:test => [[1,2],[2,3]]}
h[:test].each do |v|
p v
end
結果:
[1, 2] [2, 3]
■ Hash + Hashの場合
h = {:test => {1 => 2, 2 => 3}}
h[:test].each do |v|
p v
end
結果:
test4.rb:3: warning: multiple values for a block parameter (2 for 1)
from test4.rb:3
[1, 2]
test4.rb:3: warning: multiple values for a block parameter (2 for 1)
from test4.rb:3
[2, 3]
■ Array#each{|item| ... }とHash#each{|key, val| ... }の違い。
でも、きっとまたハマるんだろうな、これ(^^;)。
■ ちなみに、以下のように書くとものすごく当たり前に見えるかもしれないけど、実際コーディングしてると頭の中でごちゃまぜになっちゃうかも。
[[1,2],[2,3]].each do |v|
p v
end
{1 => 2, 2 => 3}.each do |v|
p v
end
結果:
[1, 2]
[2, 3]
test4.rb:4: warning: multiple values for a block parameter (2 for 1)
from test4.rb:4
[1, 2]
test4.rb:4: warning: multiple values for a block parameter (2 for 1)
from test4.rb:4
[2, 3]
■ [Ruby-GNOME2] gtk/extconf.rb
ruby 1.8.0 (2003-07-28) [i686-linux]に変えたら、変なMakefileができるようになっちゃったな。dependの関係?
うーむ。
July 29, 2003 [おもひで]
■ [Ruby-GNOME2]昨日の件
はとりあえず、ruby-1.8.0preview5にしたら直った。もしかしたらインストールに失敗してたのかもしれない。
でも、今度は終了時にsegmentation faultになることに気がついた。例によってGC時っぽい。
あいたたた。苦手なんだよなぁ、この手のデバッグ(^^;)。
ruby-1.6.7だとOKでruby-1.8.0preview5だとNGというのも気持ち悪い。うーむ。

Before...
▲ むとぽん [あ、ホントだ。]
▲ ま。 [Hashのhas_keyなどは互換性用です。 そのうち無くなると思います。]
▲ むとぽん [今後は、key?, value?を使うようにということですね。 なるほど。]