2006年 03月 29日

Riece, emacs vs xyzzy

コンソール上で IRC するのに Riece を入れてみた。というのも、りなざう使用時にいちいちウィンドウ切り替えるのがめんどいから、端末内で全て完結させたいのだ。

新しいフレームを作るのが、xyzzy だと C-x 5 2 で、emacs だと C-x 6 2 ってところに激しくハマる。いぢめだ。いぢめだ。

うーん。フレームの名前ってひたすらインクリメントされるのかな。一覧の出し方がわからない。

問題は、SKK の確定キーを RET にしていること。ぼーっとしてるといちいち▼と一緒に変換文字列を送っちゃうのだ。困った。C-j を送信にして RET は RET のままにすればいいかな。

レポートやれよ

レポート書けよ。レポート書けよと書く暇があったらレポート書けよ。あと数日でどうやってレポートやるつもりなんだろうか。まだ一文字も書いてないうえに本も読んでない。本気でやばいんだけど、本気でやる気にならない。困った……いやだなぁ。直前になるまでやらないで。直前になってあひゃあひゃいいながら (実際言うのだ) 課題をやるわけだけど、これでどうにかなってしまう。どうにかならないほうがいいってわけじゃないけれど、もっとやる気を出して生きたい。もう、そういう風に育ってしまったから、今更どうにかできることではないのだけれど。まぁでもほんと留年しなくてよかった。後回しになっただけ感があるし、必修授業のことを考えるとすごくいやな気分になるけど、とりあえずはよかった。

よくわからないかもしれない話をするけれど、まっすぐ歩くというのはめちゃくちゃ難しい。眼を開いていようが閉じていようがまっすぐ歩くのってすごく難しい。磁石があっても難しい。まっすぐ歩いていればいつかたどり着くというのはよくわからない。たどり着く先が目的地ではない可能性のほうが高いように思う。

へりくつなら、なんとでもいえる

やる気のない畑から出してくれようとする人と、やる気のない畑に叩き戻す人がいる。これは良い悪いの問題じゃなくて、そういうシステムのようで、こちらからは (彼らにも) どうにもできない。絶妙のタイミングで叩き戻されたりするから、ちょっと「上手くできたシステムだなぁ」と感心するぐらいだ。これはこれでバランスがとれてしまっているから、もし最初にやる気のない畑に生まれてしまったら、死ぬまでやる気のない畑から出ることは出来ない。でようとしても、ひっぱられたり、たたきもどされたりするだけだ。

へりくつなら、なんとでもいえる

ある展覧会に (レポートのため) 行ったのだけれど、やる気に満ち溢れていてなんか疲れた。それと、すごくいいものを作っていたりするのに、ウェブに公開していないことを残念に思った。もっと楽に公開できるシステム (と検索するシステム) が必要だと思った。今よりもっと楽にならないと、作品作りに集中している人は公開する気にならないと思った。でも、デジタルならともかく、アナログな作品ってどうやったら楽に公開できるんだろうか。

無駄に長いことを書けるようになった。

2006年 03月 28日

Shibuya.js でライトニングトークするみたい

Shibuya.js Technical Talk #1

俺だけ存在がおかしいですが気にしないように努めます。わろすわろす。

人前で喋るのは中学の部活紹介以来かな。何喋ったかは覚えていないけれど、同級生の部員が俺含めて3人だったのはよく覚えている (内訳:やる気ない部員2, 幽霊部員1)

シェルスクリプト, test で変数をクオートする理由

BASH Programming - Introduction HOW-TO: 参照テーブル, 11.2 文字列比較の実例

なんで if [ "$X" = "$Y" ] とか if [ x$X = x$Y ] にするのかわからなかったけど、変数がセットされていないときにエラーになるらしいからだった。へー

2006年 03月 26日

色じゃなかったんだ。タブだったんだ。

emacs がなかなか使えなかった理由はタブインデントをデフォルトでちゃんとしてくれないからだった。今までは色の設定を変えるのが面倒臭いからだと思ってた。

class Foo
\tdef initialize(hoge, huga)
\t\tfoooooooooooooooooooo(aaaaaaaaaaaaaaa,
\t\t                      bbbbbbbbbbbbbbb)
\tend
end

本当は上記のようにインデント (環境が変わってタブ幅が変わっても問題が起きないタブインデント) をさせたいんだけど、さすがに無理っぽいので、タブの部分だけちゃんとできていればいいことにした。

人それぞれ読みやすいインデント幅は違うから、誰にでも読みやすいソースを書くならタブでインデントすべきだと思ってる。でも全部タブにすればいいってわけじゃなくて、文字幅が重要なところには、ちゃんとスペースを使いたい、みたいな。

そんなにこだわる必要はないんだけど、少なくともタブインデントじゃないとコードを書く気がしないことに気付いた。いやむしろ、タブインデントにすると書きたくなる (謎)

2006年 03月 25日

ドメインの削除プロセス

要するに期限切れの日から 35 日たつと開放されるってことかな。30 日の RGP (取り戻し猶予期間) のあと、5 日間の削除保留期間がある。

レジストラのキャッシュ?とかがよくわからない。

screen backtick with Ruby

なんかうまくいかねーってごちゃごちゃやっていたけど、$stdout.flush しないとだめだった。

あーあーあー CLON - 2005/12/05 に書いてあった……全部読んどくべき!!

Ruby の場合 $| にあたるのは $stdout.sync かな?

Good Dog Happy Men , tearbridge?

screen, zsh, 処理終わったか見たい

スクリーンのスクリーンショット

長い処理させてウィンドウ切り替えたとき、バックグラウンドのウィンドウの処理が終わっているんだかいないんだかが気になるので手を入れた。

何かいい方法があるのかもしれないけど、よくわからないのでごちゃる。

ari's diary - ステータスライン のスクリプトを使っている。

if [ "$TERM" = "screen" ]; then
chpwd () { echo -n "^[_`dirs`^[\\" }
preexec() {
# see [zsh-workers:13180]
# http://www.zsh.org/mla/workers/2000/msg03993.html
emulate -L zsh
local -a cmd; cmd=(${(z)2})
case $cmd[1] in
fg)
if (( $#cmd == 1 )); then
cmd=(builtin jobs -l %+)
else
cmd=(builtin jobs -l $cmd[2])
fi
;;
%*)
cmd=(builtin jobs -l $cmd[1])
;;
cd)
if (( $#cmd == 2)); then
cmd[1]=$cmd[2]
fi
;&
*)
echo -n "^[k$cmd[1]:t^[\\"
prev=$cmd[1]
return
;;
esac
local -A jt; jt=(${(kv)jobtexts})
$cmd >>(read num rest
cmd=(${(z)${(e):-\$jt$num}})
echo -n "^[k$cmd[1]:t^[\\") 2>/dev/null
prev=$cmd[1]
}
precmd() {
#local prev; prev=`history -1 | sed "s/^[ 0-9]*//" | sed "s/ .*$//"  `
echo -n "^[k$:$prev^[\\"
}
chpwd
fi

みたいにした。precmd を追加しただけ。

これで、実行が終わったら$:prevcmd みたいなウィンドウ名になるので一目でわかりやすい気分。

上のスクリーンショットだと、0 が入力待ち (前回のコマンドは sleep) 1 がアクティブで emacs, 2 が sleep 実行中

preexec の処理を利用するようにした。cd の場合にちゃんとディレクトリになるように。