2005-03-15 (Tue)
_ 会社の住所
(自分の)会社の住所を調べるのに前はhttp://www.netlab.jp/を見ていた のだが、
$ whois netlab.jp
の方が早いことに気付いた。 ちゃんと英語の表記まであるし、電話番号もわかる。
何で今まで気付かなかったんだろう。
2014-03-15 (Sat)
_ 松江Ruby会議05
松江Ruby会議05に参加してきた。参加されたみなさん、おつかれさまでした。
ライブコーディングがテーマだったので色んな人のコードを見られて楽しかった。まつもとさんも珍しく書き下ろしのコードを紹介してたし。
とくに圧巻だったのはDXRuby作者のmirichiさんのライブコーディングで、15分程度(?)でその場で一からブロック崩しを作られていた。 スプライトの衝突判定にSprite#===を使われていたのが印象的だったけど、たぶんcaseやgrepで使えるようにという設計なんだろう。
自分がライブコーディングで書いたコードは以下のURLに置いておいた。
このコードだと単純なpointcutしか表現できないけど、例えば、
class Foo def bar Bar.new.baz end end
のようなコードがあった時に、AspectJみたいにwithin(Foo) & call(class: Bar, method: :baz)みたいなpointcutの指定(Fooの中のBar#bazの呼び出しだけにアスペクトを織り込む)ができると使いやすそう。
しかし、Module#prependだとメソッドの呼び出し側でなく呼び出されるメソッドの側を置き換えるので、Fooから呼び出されたかどうかの判定に呼び出し元のクラスの情報が必要になるが、Rubyレベルではその情報を取るAPIがない。 気が向いたらrb_debug_inspector_open()とかを濫用して作るかもしれないけど、呼び出し元のクラスくらいは普通にRubyレベルで取れてもいいように思う。
_ たかはし [「Its use is restricted to network administration purposes...]
_ shugo [ぐは、うちのでもだめすか。]