2008-11-12(水) [長年日記]
■ MSC3 30秒本戦
午後に出張があるときは外で昼食をとるので、iPodでMSC3の動画を見る余裕がある。というわけで、30秒本選(準決勝)は早めに投票完。おれルールで「ヤスタカ除外」を決めてあったので(笑)、選択肢の残りが少なくて、あまり悩まずに済んでよかった(ってよくねーよ。いくらなんでも偏りすぎだ)。
写真は、20秒予選までガチだと思っていたら、いきなりネタ化してびっくりしたのでおもわず撮ってしまった。すごい度胸だ。
そうそう、本選からはIMMWSでもvoteを呼びかけてみたのだけど、何人くらい参加するかなー。
■ eval怖い
tdiary-develの方に「キャッシュを無効にするとツッコミを受けるたびにTrackBackが非表示になる」という謎のバグ報告があり*1、追いかけていったら、データを読み込んでCommentインスタンスを生成したときにすでに非表示にされていた。なんで!?
そこでちょっとprintデバッグ(はい、まだprintデバッグです)してみたら、このコードで「false」が表示されて青くなった:
def initialize( name, mail, body, date = Time::now ) @name, @mail, @body, @date = name, mail, body, date @show = true $stderr.puts( visible? ) # ←コレを挿入 end def visible?; @show; end
直前でtrueにしてるじゃん! なんじゃこら!?
まぁ、TrackBackがらみだということでtb-show.rbを見れば一目瞭然、visible?メソッドを上書きしていて、TrackBackの時だけ無条件にfalseになるようになっていたからなんだけど。
いやー、自分の記憶にないところでevalされると超アセる。記憶にないだけで、実装したのは自分なのに。つか、こんな無茶な実装をしてるTrackBackはもうやめたいなー。というか、そろそろTrackBackそのものを捨てたいよなぁ。
*1 キャッシュ無効化ハックにまで対応する義務はないんだけど、まぁなんとなく。