メモの日々


2003年03月31日(月) 大島理森農相辞任、後任は亀井善之氏

生活

  • 古江がでっかい家に住んでいる夢を見た。ただ、豪邸というわけでもない。
  • 農協で家賃を払う。送られて来ていた振込みカードを初めて使った。今までは窓口で払っていたから、カードで随分便利になった。
  • 渋谷へ行き色々買い物。旭屋書店西武ロフト東急ハンズ大盛堂書店ブックファーストザスーツカンパニーなどへ行った。歩きすぎて疲れ果て、帰ってきたらすぐ寝てしまう。
  • シャツのサイズは39-82で大丈夫なようだ。
  • 早くも会社へダイアルアップできなくなっているようだ。会社のメイルアドレスももう使えないみたい。さびしい。うちの会社、意外ときちんと処理しているんだな。
  • 社員最後の日は終わった。明日から失業者。

やること

  • 退職後の手続きをまとめる

2006年03月31日(金)

  • 物忘れが気になる。健忘症なのか?
  • 最近Googleのキャッシュが文字化けすることが多い。不便。
  • NSURくんとSTUさんの送別会に参加させてもらった。SKIくんが日ハム小笠原にもっと注目せよと熱く語り鼻血を出した。

[security] 「開発者のための正しいCSRF対策」 (JUMPERZ.NET)

セキュリティホールmemo MLより。CSRFについて丁寧に解説している。IEにはCSSXSS脆弱性があるのでCSRF対策として「セッションIDをトークンとして使う方法」はよくない、という主張が重要。困ったな。CSSXSSのことはよく知らないので調べないと。

高木さんの見解を待望している人は多いだろうな。

(追記)

リンクしたページが読めなくなってしまった。後日書き直されたものが公開されるようだが。

ページが読めないと関連MLのアーカイブのURLが分からなくなってしまうので、履歴に残っているうちにメモ。

freemlのアーカイブってちょくちょくエラーになる。そのときはURLの後ろに付いているsessionidを削除すると読める。どういうバグなんだ。

あと、関連した話題をちょっとメモ。

ややこしい。整理して考えないと間違える。

(追記2)

件のページはリライトされ再公開された。高木さんの文章が公開されたのでメモ。

[dev][db] 「PostgreSQLにおけるJIS X 0213サポートに関する考察メモ」 (PostgreSQL Information Page)

PostgreSQLでは(8.1現在),JIS X 0213はサポートされていません.このページでは, PostgreSQLでJIS X 0213をサポートする際の問題点などを検討します.

というページをなんとなくメモ。pgsql-jp MLより。

[java][ruby][db] 「境界を越える: アクティブ・レコードを探る」 (developerWorks)

正直に言うと、私はRailsを最初に試した時、かなり傲慢でした。アクティブ・レコードなど丸で役に立たないと思い込んでいたのですが、実は一部の問題に対しては、あらゆるものが用意されていることを知ったのです。

読んでない。メモだけ。

やること

  • 家賃
  • 稼働
  • インストーラ生成
  • テーブル生成
  • ダミー測定

2008年03月31日(月)

  • やっとzshに手を出してみた。
  • IE7で見てみた。レイアウトが結構崩れているな。
  • Firefoxだとpreの表示が時々おかしくなる。何故だ。
  • Operaだと問題ないみたい。

[howto][shell] screenのキャプションにディレクトリ名 or コマンド名を表示

screenのキャプションにディレクトリ名やコマンド名を表示するための設定を調べたのでメモ。

キャプションの表示形式

まず、screenのキャプションがごちゃごちゃしていたので整理することにした。ウィンドウの番号と名前だけが表示されればよい。.screenrcに次を書く。

caption always "%?%F%{= wk}%:%{= ww}%?%-w%{=u Wk}%n %t%{-}%+w"

以前にメモした アキレス亀日記 と、マニュアルの文字エスケープの節を参考にした。

ウィンドウ名の変更

screenのキャプションには、ウィンドウの名前として実行されたプログラム名が入るみたい。なので普通に使うとシェルの名前(bashとかzshとか)が表示される。

ウィンドウの名前は「<esc>k名前<esc>\」というエスケープシーケンスで変更できる。例えば

echo -ne '\ekhello\e\\'

を実行すると「hello」に変わる。

カレントディレクトリ名の表示

zshの場合は、カレントディレクトリが変わるとchpwd()が呼ばれるようなので、chpwd()内で

echo -ne "\ek$(basename $(pwd))\e\\"

を実行するようにしたらウィンドウ名にカレントディレクトリ名が設定されるようになった。これだけだとディレクトリを移動するまではzshと表示されちゃうけれど。

bashの場合はプロンプトが表示される度に環境変数PROMPT_COMMANDの内容が実行されるようなので、ここに上のechoを設定したらうまくいったみたい。

実行中のコマンドの表示

screenには、ウィンドウ名に実行中コマンドを設定するのをサポートする機能があるようだ。screenのマニュアルのタイトル (ウィンドウの命名)の節に説明がある。

  • シェルのプロンプトに「<esc>k<esc>\」を含める。例えばbashなら「PROMPT_COMMAND='echo -ne "\033k\033\134"'」とすればいいみたい。
  • .screenrcに「shelltitle '$ |hoge'」などと書く。$ の所はシェルのプロンプトの末尾の文字を指定する。

とすると、何も実行していないウィンドウにはhogeが、何かを実行しているウィンドウにはコマンド名がウィンドウ名として表示された。

最後に実行したコマンドの表示

zshなら、最後に実行したコマンドを常に表示することができた。コマンドの実行前にpreexec()が呼ばれるようなので、ここで

echo -ne "\ek${1%% *}\e\\"

を実行するようにすればよい。「${1%% *}」の所でコマンド名を切り出しているんだろうけど意味は分かっていなくて、Setting the title to the name of the running program にあったものそのまま。

実行中のコマンドまたはカレントディレクトリ名の表示

んで、コマンド実行中はコマンド名を、未実行ならカレントディレクトリ名を表示したい。zshなら、

  • preexec()内で「echo -ne "\ek${1%% *}\e\\"」を実行
  • precmd()内で「echo -ne "\ek$(basename $(pwd))\e\\"」を実行

としたらできたみたい。後者は上でchpwd()内で実行していたのをprecmd()内で実行するように変えただけ。preexec()が設定した値をprecmd()で上書きするようにしている。

まとめ

現在は最後の「実行中のコマンドまたはカレントディレクトリ名の表示」となるようにして試用中。 関連する設定を抜き出しておく。

.zshrc

case "${TERM}" in screen)
    preexec() {
        echo -ne "\ek#${1%% *}\e\\"
    }
    precmd() {
        echo -ne "\ek$(basename $(pwd))\e\\"
    }
esac

.screenrc

caption always "%?%F%{= wk}%:%{= ww}%?%-w%{=u Wk}%n %t%{-}%+w"

screenshot

やること

  • シュレッダー
  • 健康保険料
  • 請求書