DisableJoyL3

東方心綺楼ジョイパッドキー11(俗にいうL3ボタン)無効化ツール
DisableJoyL3.zip

東方心綺楼1.04(本ツールリリース時最新)のネット対戦でジョイパッドのキー11がEsc固定になってしまったため、誤爆して対戦を抜けてしまう可能性が出てきました。
そこで、そのキーを無効化し、間違えても入力が入らないようにしたのがこのツール。
機能はそれだけ、他はなーんにもない。

自分でもなぜ作ったのが謎すぎるぐらい需要がない微妙ツール。
まぁPS系コントローラー以外を使っており、キー11が押しやすい場所にある人は使ってみてもいいかもしれない。
でも無効にするだけなので、キーコンフィグでキー11に何かを割り当てても使えない。
ダメダメですね!

wordpressコメントフィードでIf-Modified-Sinceがおかしいバグのパッチ出しました

該当チケット

If-Modified-Sinceはその日時より後に更新があった場合だけ本文をくれとお願いするHTTPの機能。
wordpressは今見ているここでも実際に使われているブログソフトウェア。
コメントのフィードはこのブログでは以下のurlで見れる。
rss
atom

バグの内容を簡単に説明すると、コメントのフィードにも関わらず、最後に記事を投稿もしくは編集した時刻を元に判定しており、If-Modified-Sinceを使用するといくらコメントしても記事を投稿するまで見えない、というもの。

気付いたのは、google readerからTiny Tiny RSSへと移行をしていた時。
漏れがあると怖いので両方をチェックするようにしていたのだが、なぜかgoogle readerの方にだけスパムコメント付いた旨が通知されてくる。

そこでTiny Tiny RSSの更新処理のログをチェックしてみたところ

[21:06:48/13726] local cache will not be used for this feed
[21:06:48/13726] fetching [http://#{domain}/?feed=comments-rss2]...
[21:06:48/13726] If-Modified-Since: Fri, 07 Jun 2013 05:15:00 GMT
[21:06:48/13726] fetch done.
[21:06:48/13726] unable to fetch: HTTP Code: 304 [304]
[21:06:48/13726] source claims data not modified, nothing to do.

との表示が。

自分でコメント日時より前のIf-Modified-Sinceをつけてアクセスしてみれば確かに304が返ってくる。
そこでwordpressのソースコードを読んでみて前述のバグを発見。
trunkでの再現チェック、パッチ作成、説明する英文書きを経て、開発チームのトラックへバグチケットを投げたという形だ。

出来ればテストコードも付けてパッチを投げたかったのだが、該当関数は現在ノーテストであったうえ、付与するheaderのリストアップから実際にレスポンスヘッダーに追加する処理までがひとつの関数内で行われており、さらに内部でexitまで実行していて、環境依存にならないテスト方法が思いつかなかったため断念。
リファクタリングしてまでテスト突っ込むのは気力的にも、初バグ報告という立場的にも難しかった。

以上、備忘録兼情報共有ということで記事を書いた。
バグなので、wordpress3.6には入るんじゃないかなと。
現在これで困っているという人は該当チケットのパッチを当てておけばいいかと思います。