Ruby言語やLinuxのネタが多いです。
September 30, 2003
■ [Ruby] (続 x 4) 2つの文字列の先頭から等しい文字列を抜き出す
ZnZさんがRWikiにまとめページを作ってくれました。ありがとうございます。
まとめページにあるZnZさんの2つ目のは楽しいですね。二分探索って言えば良いのでしょうか。
オーバーヘッドがあるので小さい文字列には向かないですが、大きい文字列を扱ってもスピードがあまり落ちないのが良いですね。
■ メソッド名ですがmatch_firstは確かにおかしいかも。でも、shared_prefixですか...。prefixって言葉はこういう場合にも使うのかな。
■ [Ruby] (続 x 5) 2つの文字列の先頭から等しい文字列を抜き出す
シンXさんがsed版の解説をしてくださっています。実はよくわかっていなかったので(^^;)大変勉強になりました。
ちなみにRubyは楽しいですよー。デビュー(?)お待ちしております(^^)。
■ [Ruby-GNOME2] Musicextras
音楽のextra情報(詞やアーティスト画像、アルバムカバーなどの情報らしい)を表示するツール。GUI frontendとしてRuby/GTK2, Ruby/Libglade2を利用する。
■ 最近、Ruby-GNOME2を使ったアプリケーションがちょこちょこ出てきている。それを紹介できるのはとてもうれしいことだ。
やっぱり、ライブラリは使ってもらってなんぼだもんねぇ。
■ [Ruby] Etcモジュール
Etc.passwdとEtc.groupって使いづらいような気がする。Rubyっぽくないというか。何より一度イテレートした後にまた最初に戻る方法がわからない(-o-;)。ひとまず/etc/passwdファイルの情報だけ欲しかったので以下のようなモノを作ってみた。
require 'etc'
module Users
extend Enumerable
@users = []
while user = Etc.passwd
@users << user
end
module_function
def each
@users.each do |user|
yield user
end
end
end
Users.each do |v|
p v.name
end
September 30, 2006
■ [Misc] BetaBrite
RedHanded経由。このライブラリはBetaBriteというLEDパネルを操作するものみたいなんだけど、DRbを使った例が面白い。
まずはgemでbetabriteをダウンロードする。んでもって上記Blogにもあるサンプルを実行。送信するメッセージだけYotabananaに。
require 'drb'
require 'rubygems'
require 'betabrite'
DRb.start_service()
obj = DRbObject.new(nil, "druby://eviladmins.org:9000")
File.open("out.jpg", "wb") { |a|
a.write obj.write_simple("Yotabanana")
}
んで、右の画像が結果。
なんと、メッセージを作者のAaron Patterson氏が持つサーバに送るとそれを彼のBetaBriteに写しだし、webcamで写真を撮って送り返してくれるのだ!
おもしろーい。
P.S. これ、時間帯によって背景の明るさとか違うのかなー。
P.S.2. 日本語はダメでした。当たり前か<ってか試すなよ(苦笑)。

Before...
▲ むとぽん [なるほど。 でも、揚げ足を取るようですが、その引用だと、MはMasaoの長さ1のinitial subwordを指し..]
▲ kjana [情報数学用語ですかね.上の引用は有限オートマトンの本からだし. ふつうああいう書き方だと initial subwo..]
▲ むとぽん [なるほど。 一般的な用語の使い方とはちょっと違うぞということですね。]