著作権の適法マーク
d:id:rubikitch:20070926#1190810855の続き。
偽装した適法マークをつけているサイトを利用した場合、利用者は適法だと信じているから、たしかにどんな拡大解釈をしても違法にはなりえない。しかし、無数の違法サイトが偽装適法マークを付けちゃったら、ダウンロード禁止法が適用できなくなるからいたちごっこになりそうだ。
それにしても著作権保護ってここまでしないといけないものかね。俺が著作権者の立場でもそこまではやりすぎだと思うけどなぁ。たんに無欲な性格だからかもしれないけど。でも、利用者にそっぽを向かれてしまったら利益は上がらんと思うな。
カスラックが著作権法の本来の目的を忘れて拡大解釈しまくりで暴れてることからも、インターネット産業の萎縮効果が期待できる。音楽生演奏とインターネットの差はあれ同じ著作権法だもん。
はぁ‥これが鬱苦しい国日本か…オワタ。
6日生存
http://d.hatena.ne.jp/rubikitch/20070916#1189909004 以来fast-emacsではなくて普通にemacsを立ち上げてみることにした。
今日で生存6日目。最初の頃はいろいろhackしてて再起動してたので途切れていた。
ただ、昨日今日でメモリ使用量が増えまくってるのが不気味だ。昨日の朝120MBだったのに夜160MB、そして今195MBになっている。でかいファイルを開いているわけでもなく、バッファ数も190ほどだというのに。メモリ2GB積んでるので200MB占有しててもわずか10%なんだけど、以後昨日の割合で太ったらそろそろEmacs再起動したほうがいいな。
history-menu - 最近入力したコマンドを現在位置に挿入
最近実行したコマンドをつなげて再実行したい場合みんなならどうする?直前のコマンドならば!!で実行できるね。zshならば!!のあとにTabを押すと実際のコマンドに展開されるし、!!などを使ってコマンドを実行しても展開された形で履歴に登録される。さすがzshだ。
2つ前のコマンドも!-2で展開される。けれど、打ちにくい上Tabも入れると4ストロークと多いので俺は好きではない。
そこで俺はirbsh風のヒストリメニューwidgetを作ってみた。C-vで過去20個の履歴が表示され、asdf〜とホームポジションのキーで選択するとカーソル位置に挿入される。これなら2ストロークでなおかつ履歴が一覧できるので効率的かつ直観的だ。
C-vはquoted-insertでEmacsならC-qなのでC-qに移しておいた。
[*]の位置でC-v s C-v a Enterを押したところの様子はこんな感じだ。zshは複数行にわたるコマンドを編集できるので、履歴の後に改行を入れておいた。これで長ったらしくならずに見やすくなる。
スクリプトに含まれる\021はC-qなのでquoted-insertをデフォルトのC-vで使っている人は\026に書き換えればいいです。
% echo bake bake % echo boke boke % [*]echo bake echo boke bake boke
ソースは以下だ。もってけ!
HISTORY_MENU_LENGTH=20 typeset -A HISTORY_MENU_KEYS set -A HISTORY_MENU_KEYS a 1 s 2 d 3 f 4 g 5 h 6 j 7 k 8 l 9 q 10 \ w 11 e 12 r 13 t 14 y 15 u 16 i 17 o 18 p 19 @ 20 history-menu () { zle -M "`history -n -$HISTORY_MENU_LENGTH | tac | \ ruby -e '%w[a s d f g h j k l q w e r t y u i o p @].zip(ARGF.readlines){|k,l| print %[#{k}: #{l}]}' `" zle -R read -k key if [ -n "${HISTORY_MENU_KEYS[$key]}" ]; then zle -U "`history -n -${HISTORY_MENU_KEYS[$key]} | head -1 | perl -pe 's/\\\\n/\\021\\n/g'``echo \"\021\"` " else zle -R -c fi } zle -N history-menu bindkey "^V" history-menu bindkey "^Q" quoted-insert
学校でデスクトップLinux
http://gigazine.net/index.php?/news/comments/20070926_adapt_linux/
外国の話だが、学校でデスクトップLinuxを導入する利点の話。俺は10年前からLinuxを使っていたけど、もうすぐみんなが使う時代に。
正規表現履歴検索
d:id:rubikitch:20070925#zshicicles で考えていた正規表現による履歴検索。isearchになっていない代わりに id:rubikitch:20070927#1190850678 同様20個の選択肢から選ぶ形を取った。
# ここからはhistory-menuと共通 HISTORY_MENU_LENGTH=20 typeset -A HISTORY_MENU_KEYS set -A HISTORY_MENU_KEYS a 1 s 2 d 3 f 4 g 5 h 6 j 7 k 8 l 9 q 10 \ w 11 e 12 r 13 t 14 y 15 u 16 i 17 o 18 p 19 @ 20 # ここまで autoload -U read-from-minibuffer HISTORY_GREP_TEMPFILE=/tmp/hmgrep.tmp history-grep-menu () { read-from-minibuffer "history grep: " if [ -n "$REPLY" ]; then history -n 1 | egrep "$REPLY" | tail -100 | uniq | tail -$HISTORY_MENU_LENGTH | tac > $HISTORY_GREP_TEMPFILE zle -M "`ruby -e '%w[a s d f g h j k l q w e r t y u i o p @].zip(ARGF.readlines){|k,l| print %[#{k}: #{l}]}' $HISTORY_GREP_TEMPFILE`" zle -R read -k key if [ -n "${HISTORY_MENU_KEYS[$key]}" ]; then zle -U "`head -${HISTORY_MENU_KEYS[$key]} $HISTORY_GREP_TEMPFILE | tail -1 | perl -pe 's/\\\\n/\\021\\n/g'`" zle -R fi zle -R -c rm -f $HISTORY_GREP_TEMPFILE fi } zle -N history-grep-menu bindkey "^[r" history-grep-menu
使い方はM-rでプロンプトが出るので正規表現を入れればメニューが出てくる。メニュー左のキーを押すとコマンドが挿入される。history-menuと違いわざと改行は入れていない。
502 Bad Gateway
[2007/09/27 13:43]現在、はてダラで日記を更新しようとしたら「502 Bad Gateway」と言われて更新できない。[観] 502 Bad gateway、あるいは Proxy Errorによると、ユーザではどうしようもないエラーなのでしばらく放っておく。
俺版Emacsはてな環境では内部的にM-x compileで更新しているが、こういう予期しないエラーが出たときもわかるので、これでいいかと思ってる。
バケモノチェーンソー
http://gigazine.net/index.php?/news/comments/20070925_v8_chainsaw/
V8エンジンを塔載したバケモノ神殺し。俺はチェーンソーなんて一生使いたくはない。下手したら切断事故になるから。