どうしてこう、私が「洗濯物が……」とか言うと何か奇妙な事が起きたかの様な顔をするんだ。
私だって洗濯もするし食器も洗うし、たまに掃除すらする。 ごく普通に生活しているんだよ。まるで幽霊の様に。
ずっと前に放りっぱなしだった、いわゆる Webリダイレクタ(ime.nu みたいなの)ネタです。
既に公開されている物は tach.arege.net: リンク元を知られないようにするために や HTTP リダイレクタ、 Referer-Sweeper などなど色々あるのだけれど、ここでは SSI を使ったお手軽&高速バージョンを紹介。
以下の内容のファイルを SSI の有効になったディレクトリに redir.shtml みたいな名前で置くだけ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!--#if expr="$QUERY_STRING = /^\(https?|ftp\):/" --> <!--#set var="TARGET" value="${QUERY_STRING}" --> <!--#endif --> <html> <head> <title>SSI Redirector</title> <meta http-equiv="refresh" content="5; <!--#echo var='TARGET'-->" /> </head> <body> <p> Redirecting to: <a href="<!--#echo var='TARGET'-->"> <!--#echo var='TARGET'--> </a> </p> </body> </html>
リダイレクト時間や、HTMLの表示なんかは好きに弄って下さいな。あとは http://sugi.nemui.org/redir.shtml?http://www.google.co.jp/search?q=ime.nu の様に呼び出せばおしまい。
SSI だから早いし、エスケープは apache が勝手にやってくれるし、とにかく楽。 ただまあ、未読管理とか拡張しようと思っても出来ないわけですが。
LockFile::Simple.pm の実装を見ていて知ったのだけど、 ある pid を持ったプロセスの存在を確認するのに0番のシグナルを 送るという方法があるみたい。zsh からも出来た。
sugi@tempest:~% kill -0 123 kill: kill 123 failed: そのようなプロセスはありません
/bin/kill も exitcode 1 で終わってくれる。へー。
しかしどの位ポータブルなんだろう。 検索かけても perl の話しか出て来なくてよく分からない。 proc ファイルシステムがある前提なら /proc/$pid の存在をチェックした方が早そうな気もする。
POSIXで規定されていることを教えてもらいました。 ShellScript 等では結構便利そう。
Moodle のお話。
締め切り寸前に思い出して行ってきました。 福山さんとか声をかければよかった……と後で後悔。
(途中から)
使ってみると割と便利だ。 USBドライブやメディアの挿入に応じて自動的にアクションを起こす仕組み。
Windows の「自動起動」は全部セットで付いてくるわけだけど、 これは mount / nautilus 起動 / CD player 起動 ……なんかをそれぞれ個別に有効に出来る。 デジタルカメラの画像があった時の起動コマンドも設定可能。
/usr/bin/pmount を起動しているので Debian では使うユーザを plugdev グループに 入れておく必要がある点だけ注意。
sudo adduser sugi plugdev
みたいに。