2008年 02月 03日


写真の順番が flickr にあげた順と全然違うのは、戦略的なものとかそういう高等なものじゃなくて、単に「今日はこんな気分だなぁ」というだけです。

Lingr メモ

1000speakers を観察

  • あんがい anon なユーザは少ない
  • 結構同一アカウントで別々のセッションをはっている人がいる
    • (o_id が違う==現行の lig.rb だと nick 一覧で重複する)
  • ログインしない状態でルームに入ったあと、ログインすると、o_id は同一のまま、セッションが更新されて認証済みユーザに昇格する
    • このときの system:enter/system:leave が謎い……発生しないっぽい?
      • ログイン済みかどうかで lig.rb は nick を変えているので enter/leave が発生しないなら処理いれてあげないといけない


lig.rb は human かどうかで nick の表示をかえれるようにしたい。というか nick の表示でやるより op でやったほうがいいかなぁ。human だったら @ でそうじゃなかったら @ なし。AWAY かどうかでもいいけどクライアントによっては @ よりわかりにくい。

Suppress system messages にチェックが入ってるチャンネルだと system:enter とかもおくられてこないっぽい?ので、system:enter/system:leave とかはユーザ管理に使用すべきじゃないっぽい。

そのかわり、occupants のリストが更新されると入ってくるので、それをつかって管理すべき

2008年 02月 02日

Requiem for a rendering engine

Requiem for... までみたところで Innocence がうかぶアート厨

指にささくれをつくってはとり、つくってはとり、という神経質な癖があって嫌だ。その神経質さも嫌だけど、なによりキーボードがよごれるのが嫌だ。

gerry++

2008年 02月 01日

citrus, UriInformation の分離

いま mixi とか plagger の db から情報とってくるとかが一つのファイルにつっこまれてて非常にダサイので、どうにかする。たぶん UriInformation の中でさらに Plugins インスタンスをもつようになる。

plugins/uri_handlers/{mixi,plagger,image,ftp,http,urn,amazon}

これらは、実行順を持っていて、あるプラグインで処理が確定したら後続のプラグインは実行されない。


ということをやりたいけど眠くてしかたないのでねる……テストどうやってかこう。

リロード可能なぷらぎん

もっといい実装ないかなぁ……

今の方法

  • 匿名モジュールでロード
    • プラギンクラスは、そのファイルとしてはトップレベルの定義になる module::Foobar
  • グローバルな環境からこのクラスにアクセスには困難 (匿名モジュールなので
  • ロードする環境がいつも必ず別々になるのでリロードのときに問題がおこりにくい (とおもう)
  • プラギンがさらにプラギン機構をもとうとするとめんどい。(ベースクラスも匿名モジュール内に入るので、直接参照できず、class_eval とかでロードする必要がある)

つけかえする方法

  • グローバルな名前空間にロード
    • プラギンクラスは Plugin::Foobar みたいになる
  • どこからでもアクセスできる
  • インスタンス化のタイミングとか参照状況によってはリロードしても GC きかない可能性があるかも (デバッグむずい)
  • リロードするときは remove_const / const_set
  • 継承とか依存があるときはそれらもよみなおさないと前の参照がのこる