某日記

(後期)

平成18年6月22日(木曜日)

昨日

池袋でビアーをテイクするフェスティヴォー開催。

二次会豆腐屋三次会ビール屋。

山手線内回りで渋谷。久々にミッドナイトアローで戻ってきた。

Amazon から ノートン・アンチウイルス 2006 特別優待版 が届いてたのでインストール。

平成18年6月25日(日曜日)

昨日

ドトールでマターリ。

ファイト一発!充電ちゃん!!(1) / ぢたま某 - 例によって立ち上がりは悪くないのだが、今回は弛れずにどこまでいけるか。それはそうとはこねちゃんの入浴シーンで鼻血吹いた。

宙のまにまに(1) / 柏原 麻実 - 最近アフタヌーン読んでないから店頭で手に取って中身見ないで買ってみたけれども、「アフタヌーン連載の天文部学園物」でだいたい想像がつくその通りの内容。アフタヌーンの雑誌カラーおそるべし。

あみーご×あみーが(1) / 瀬口 たかひろ - 難聴の女の子が国立を目指すサッカーまんが。だいぶ無茶な設定ではあるけれどマンガなのでそれはそれ。

たかまれ! タカマル(10) / 近藤 るるる - 最近ファミ通読んでないのだが、るるる先生なんかやらかしましたか。

今日

週末はずっとシヴィラーになっておったよ。

平成18年6月26日(月曜日)

今日

だるい。

#!/usr/bin/env - んー、優劣みたいな二元論者的立場を取るのであれば、 /usr/bin/env メソッドがダメだという前にまず #! 行がダメだと言い放って悦に入るのが正しい(そして俗世のことは気にしない)。そうでないのならば、 /usr/bin/env メソッドにはメリットとデメリットがあるというだけの話に還元されると思う。各々のメリットやデメリットがトータルの優劣に占めるウェイトは状況によって大きく異なるので、 /usr/bin/env メソッドが一概に優れてるとか劣るとか言うのは難しい。ま、 /usr/bin/env メソッドは怠惰の産物なので、「よくない」とか言うと「うるせいわかっとるわい」的な反論(というより反発)を食らいやすいので注意。

んで、メリットとデメリットを整理すると次のような感じか。
メリット:

  1. パスを気にしなくてよい
デメリット:
  1. どのインタプリタが使われるかわからない
  2. #! 行の解釈に互換性が無い
  3. 二回 execve するのカナするのカナ

「パスを書き換える必要がないおかげでほとんどの場合にダウンロードしただけで動く」というのはやっぱり大きなメリットだと思う。その一方で、「/usr/bin/env メソッドのデメリットは往々にして事態を悪化させるから良くない」という意見はもっともで、したがって「お手軽スクリプト以外に /usr/bin/env メソッドを使うのはやめとくに越したことはない」とは言っておこう。だからといって役に立たないかというとそんなこともなくて、お手軽スクリプトの類では私も重宝して使っている。逆に CGI とかそういうところで使うのはやめといたほうがいい。なにごとも適用範囲の問題であろう。

いずれにしても要注意物件であるというのは強調しておいていいかもしれない。メリットがわかりやすい割にデメリットがわかりにくい例だとは思うので、啓蒙が必要かもしれぬ。CGI スクリプト配布時に /usr/bin/env メソッドを使うのならば、ドキュメントに「書き換えた方がいいよ」と書いておくのが親切。ドキュメント読まない奴はシラネ。

会社やめたい病がだいぶ熟成してきた。

平成18年6月27日(火曜日)

昨日

朝までシヴィってた。このゲーム、序盤はまあまあ面白いのだが、後半は飽きてくるな。

平成18年6月29日(木曜日)

昨日

ちょこッとSister(6) / 雑破 業, 竹内 桜 - 従兄弟登場。大ゴマ多いけど手抜きというよりもまず先に効果的なのでよい。思うに挿絵的効果。

機工魔術士-enchanter(11) / 河内 和泉 - 面白いけど、このところずっと鬱展開なので読んでて疲れる。

今日

Shift_JIS/EUC-JPとUnicodeとの妥当な変換表 - 変換表が変だったのは規格原理主義とやらのせいではなくて単なる無知と怠惰じゃねえかな。理屈には全く見るべきところは無いので、「とりあえず CP932 と EUC-JP-MS 使っとけ」という tips だけ覚えておけ。

EUC-JP と Shift_JIS は状況が違うのよね。ここでいくつか用語を導入しておこう:

  • 混成コードセット: 複数の文字集合から成るコードセット
  • 混成文字集合: 混成コードセットを構成する文字集合の全ての文字からなる文字集合
  • 正規文字集合: 文字の重複のない文字集合
  • 非正規文字集合: 文字の重複のある文字集合
  • 文字集合の正規化: 非正規文字集合の重複を解決する
  • 文字集合の正正規化: 非正規文字集合の重複している文字のうち、一つを残して廃止する
  • 文字集合の準正規化: 非正規文字集合の重複している文字を別の文字として分離する
話の便宜のために今考えたものだから、世の中に知られた用語ではないので注意。

US-ASCII + JIS X 0208 + JIS X 0201 KANA + JIS X 0212 からなる混成文字集合は非正規文字集合なのだが、JIS X 0208 は US-ASCII を完全に包含しているので、これらの文字集合を混成した EUC-JP ってのは最初から準正規化されたものであるという暗黙の前提のもとで使われてる。世の中の EUC-JP → Unicode 変換表は、US-ASCII 範囲に対する変換(単なる無変換)と、Unicode コンソーシアムが昔配ってた JIS0201.TXT と JIS0208.TXT と JIS0212.TXT という 3 つの変換表、つごう 4 つの変換の合成で作られているのだけれども、 EUC-JP が「単に 4 つの文字集合からなる混成コードセット」ではなく、それを準正規化したものであるということを考えれば、もはやこの 4 つの変換の合成から期待しているものが得られないのは明らかでしょうな。俗に EUC-JP-MS と呼ばれている文字集合は、「明確に準正規化した EUC-JP +α」という位置付け。

一方、 Shift_JIS のほうは Unicode コンソーシアムが昔配ってた SHIFTJIS.TXT を使うのが一般的で、こっちはちゃんと準正規化した Shift_JIS で作られた変換表なので単射になる。こっちの問題は EUC-JP とは違って Shift_JIS の 0x21-0x7E が ISO-646-JP だというところに起因してる。みんな時と都合でこれを US-ASCII と解釈したり ISO-646-JP と解釈したりしてる。 SHIFTJIS.TXT をそのまま使うと規格どおり ISO-646-JP なのだが、経験則的に「US-ASCII のフォント違い」と解釈したほうが都合がいいことが多いので、実状と合わない。 CP932 は「ISO-646-JP の代わりに US-ASCII を使った Shift_JIS +α」と等価なので、こっちを使う方が問題が少ない。

混成文字集合の正規非正規という概念はいろいろ考えてみると面白い。たとえば、純粋な非正規文字集合は思惟の範疇に属すものであり、具体化しているときには必ず正正規化か準正規化がされていることとか、正規文字集合の文字から別の正規文字集合の同一文字への変換は単射になるとか、そういう感じ。

メモ: FAT FS フォーマットの実装についての覚え書き

今週のミミカさんの「ぐるぐる〜」は頭蓋骨に響いて脳内麻薬が出る。

平成18年6月30日(金曜日)

昨日

保健室で会いましょう! / いわおか めめ - 実質的な初コミック。今まで単行本出てないのがおかしいくらいの実力があったのだが、やっとチャンスが巡ってきたという感じ。やぶうちセンセイとか中堅どころが軒並ちゅちゅに抜けて格段につまらなくなった(逆にいえば重石がなくなった)ちゃお DX ではズバ抜けた存在だったので、時間の問題だったと思う。

「保健室で会いましょう!」は主に最近のちゃお DX に載った作品を集めた短編集で、基本的にドタバタラブコメです。猫部ねことかあのへんの系統に近い。絵の密度と動きだけでこれだけ読ませられる作家は珍しい。お薦め。

今日

とりあえず西へ向かうのよー。