Adaptive Referer Remover v0.2.1
拡張一覧のダイアログから,設定画面を開けないバグがあったので,v0.2.1にバージョンアップしました.
それだけでは,なんなので,http://addons.mozilla.org/に登録してみました.詳細ページは,これです.この拡張の更新確認ファイル(refererremover.rdf)を手元のサーバに置いているのですが,そのアクセスログを見ると,おなじみのja-JPやen-USなクライアントだけではなく,fr-FRとかde-DEとかen-GBとかzh-TWとか,さすがになかなか多彩です.
ちなみに,en-USとen-GBは,なにが違うんでしょう? en-USがいやだから,en-GBなローカライズファイルを作るなんていうのは,関西弁のローカライズファイルを作るようなもんでしょうか,ja-KSとかって.
Adaptive Referer Remover v0.2
特定のサイト(イントラネット上のサイトとか)のURLがリファラで漏れるのを防止するfirefox extension,Adaptive Referer Removerをバージョンアップしました.
ダウンロード
インストール - refererremover.xpi
使い方
ステータスバーのアイコンがグレーの時は,リファラを送ります.カラーの時は,リファラをブロックします*1.
ステータスバーのアイコンをクリックすると設定画面が呼び出されます.正規表現を" "(半角スペース)で区切って,入力してください.デフォルトでは,"http://127.0.0.1"もしくは,"http://localhost"で初まるRefererを削除します.
なお,有効になっているかどうかの確認は,LiveHTTPHeadersが便利だと思います.
変更履歴
- 2005/08/13 v0.2 ステータスバーに作動状態を示すアイコンを追加.設定ダイアログを追加.
- 2005/05/29 v0.1 最初のリリース
Googleの検索結果に他言語/他検索エンジンへのリンクを追加
はてなブックマークで上っている米語(英語)学習に関する私的メモとか,それに言及するkawasakiのはてなダイアリー - 英語学習とかを読んでいると,「あぁ,英語の勉強をしないとなぁ」と思ってしまいます.
普段,できるだけ英語に触れるように,Googleで検索するときは,http://www.google.com/で,日本語だけではなく,The Webから検索*1するようにして,英語のサイトを優先的に見るようにしています.ただ,軟弱なので,「見つけたい情報は,日本特有のものなので,日本語の検索結果が必要なんだ」などと言い訳しながら,Advanced Search→LanguageからJapaneseを選択して,検索しなおす,ということをしていました.
これがあまりにも手間なので,FirefoxのSearch pluginを作ったりしていましたが,ついにGreasemonkeyのuser scriptとして,他言語での検索へのリンクを追加するスクリプトを作ってしまいました.日本語での検索へのリンクだけでは,さみしいので,はてな検索とはてなブックマーク検索へのリンクも追加するようにしています.
- インストール -- Languageengineshortcutfo.user.js
- サポートページ -- http://misccs.dyndns.org/wiki/Language/Engine_shortcut_for_Google
これで,だいぶ楽になりました.楽になりましたが,当初の目的である「英語のサイトを優先的に見る」から離れてしまっているような気がするのが難点です.
そういえば,米語(英語)学習に関する私的メモで最後に挙げられているThe Elements of Styleは,持ってはいるけど,10ページぐらい読んで,放り出してあります...
The Elements of Style, Fourth Edition
- 作者: William Strunk Jr.,E. B. White
- 出版社/メーカー: Longman
- 発売日: 1999/07/23
- メディア: ペーパーバック
- 購入: 49人 クリック: 171回
- この商品を含むブログ (50件) を見る
*1:PreferenceでInterface Languageを"English",Search Languageを"Search for pages written in any language"としています.
WindowsでLinuxのファイルシステムにアクセスする
いままで,WindowsからLinuxのファイルシステムにアクセスする場合は,Explore2fsを使う必要がありました.ただ,この方法では,普通のアプリケーションとしてファイルシステムにアクセスできるだけですので,実際にファイルを操作する場合は,一端,手元にコピーする必要がありました.
ところが,ext2/3をVFATやNTFSのように,ドライブとしてマウントするツールがありました.
It provides Windows NT4.0/2000/XP with full access to Linux Ext2 volumes (read access and write access). This may be useful if you have installed both Windows and Linux as a dual boot environment on your computer.
これはなかなかよさそうです.ときどき,手元のPCにLinuxを入れようとするのですが...
- 手元のPCにLinuxを入れようする
- しかし,完全にWindowsをやめる踏ん切りはつかないので,デュアルブートにする
- すると使えるディスクサイズが半分になる.かといって,いまさらVFATはかんべんしてほしい
- しかし,サイズが半分になるのは,耐えがたいので,Linuxを諦める.
という流れで,無限ループにおちいっていたのですが,これをつかうと,ホームディレクトリをext3のドライブに置けば,LinuxからもWindowsからもシームレスに見えるので,ついにLinuxのインストールが実現できそうです.
と思ったのですが,やっぱり,いつもの落し穴,「文字コード問題」がありました.日本語ファイル名の場合,Linux側は,UTF-8かEUCなのですが,Windowsは,SJISです.日本語ファイル名のファイルをコピーすると,作成できませんでした,と怒られるのですが,エントリだけはできているようで,しかも,同じファイル名で,どんどん作られるので,かなり異常な事態となります.
というわけで,日本語ファイル名を使わなければ,かなり実用的だと思います.
シェル関数でタイムアウト その2
先日,シェルスクリプトでタイムアウト用の関数を作ってみたのですが,計測したアプリケーションは,デーモンのような挙動をするプロセスでした.先日のスクリプトでは,内部で起動したプロセスのpidを見ています.ですが,デーモンの場合,起動したら,子プロセスを作成して,親プロセスは,さっさと終了してしまいます.そのため,タイムアウト関数も監視対象のpidはいなくなっているので,正しく動作しなくなっていたのでした.
というわけで,だいぶadhocな実装になってしまいますが,対策として,pidではなくプロセス名で監視して,タイムアウト時にkillallで,そのプロセス名を持つプロセスを全滅させることにしました.おかげで副作用が強烈になったので,注意して使いましょう...
使い方は,前回は「timeout 5 sleep 10」でしたが,プロセス名対応版では,「timeout_name 5 sleep sleep 10」のように2番目の引数に,監視対象のプロセス名を入れてください.
#!/bin/sh timeout() { count_timeout=$1 shift 1; echo timeout: exec \'$@\' $@ & pid=$! count=0 while [ $count -lt $count_timeout ] do isalive=`ps -ef | grep $pid | grep -v grep | wc -l` if [ $isalive -eq 1 ]; then echo timeout: $pid is alive. count=`expr $count + 1` sleep 1 else echo timeout: $pid was disapeared. count=`expr $count_timeout` fi done isalive=`ps -ef | grep $pid | grep -v grep | wc -l` if [ $isalive = 1 ]; then kill -kill $pid wait $pid echo timeout: $pid was terminated by a SIG$(kill -l $?) signal. fi } timeout_name() { count_timeout=$1 pname=$2 shift 2; echo timeout: $pname exec \'$@\' $@ & count=0 while [ $count -lt $count_timeout ] do isalive=`ps -ef | grep $pname | grep -v grep | wc -l` if [ $isalive -ne 0 ]; then echo timeout: $pname is alive. count=`expr $count + 1` sleep 1 else echo timeout: $pname was disapeared. count=`expr $count_timeout` fi done isalive=`ps -ef | grep $pname | grep -v grep | wc -l` if [ $isalive -ne 0 ]; then killall -kill $pname echo timeout: $pname was terminated by a SIG$(kill -l $?) signal. fi }
ジョブズのスピーチ
少し前に,Stanfordでのジョブズのスピーチが非常に話題なっていましたが,原文とスピーチのビデオとオーディオを発見しました.
- 原文: http://news-service.stanford.edu/news/2005/june15/grad-061505.html
- スピーチのオーディオ: http://www.stanford.edu/dept/news/report_stage/news/2005/june15/videos/53.html
- スピーチのビデオ: http://www.stanford.edu/dept/news/report_stage/news/2005/june15/videos/51.html
ジョブズは,さすがに大勢の前でしゃべりまくっているだけあって,英語の発音がクリアなので,リスニングの練習にはもってこいだと思います.
ちなみに、ジョブズのスピーチは,WWDC05でのKeynote addressも見ることができます.(http://www.apple.com/quicktime/qtv/wwdc05/)