某日記

(後期)

平成14年12月22日(日曜日)

昨日

一日 RO 。サンタ帽ゲット。

今日

秋葉。

dd

dd(1) の count というのは、man を見ると

count=n Copy only n input blocks.
と書いてあるので、読まれるのは ibs*count と思いがちだがさにあらず、 実際には read(2) の回数なので、ブロックサイズに満たない read があるとこれより小さくなる。 こういう風なことが起こる一番明白なケースは、 実際に入力されるデータが期待されるサイズより小さい場合で、 これは全く問題ない。

ところが、パイプなどが絡むと必ずしもそうとは限らないことに注意。 たとえば、

for i in 1 2; do sleep 1; echo -n $i; done | dd bs=2 count=1 > hoge
とやると、予想では 2 バイトまるまる hoge に格納されそうだが、 実際には(ほぼ確実に)
0+1 records in
0+1 records out
1 bytes transferred in 1.013 secs (0 bytes/sec)
となる。これは、
  1. dd が read(fd, buf, 2) 相当を実行、ブロック
  2. for 側のサブプロセスはそのまま 1 秒待つ
  3. echo が write(fd, "1", 1) 相当を実行、ふたたび for 側は眠る
  4. やがてコンテキストスイッチが起こり、 dd 側のプロセスが wakeup し、read(fd, buf, 2) の処理が行われる。 このとき、read の性質上、2 バイト埋まるのを待たず、 バッファには先頭の 1 バイトだけ '1' が書き込まれ、 返り値として 1 をリターンする。
  5. dd は、count を減らす (そして、バッファが埋まらなかったので 不完全な読み込み済みカウントを増やす)。
  6. count が 0 になったので終了。
という動作をするからなのねん。 つまり、パイプに不完全な長さのデータが格納されているときに dd にコンテキストスイッチが起こると、その長さしか読んでくれない。

あるいは、パイプがらみだともう一つの問題がある。すなわち、 パイプの長さの制約。ブロック長をパイプの長さよりも長くしても、 決してそれよりも多くのデータを一度に読むことはできませんな。

ちなみに、ファイルの末尾に 0 を埋めようと、

cat hoge /dev/zero | dd bs=xxx count=1 > bar
とかやってハマった私であった。 あいぼに教えてもらったのだが、こういう場合には 0 で埋めるのとは違うけど、
cp hoge bar
dd if=/dev/null of=bar obs=1 seek=xxx
として末尾にホールを作ってしまうのがいいみたい。 これはまず、seek=xxx の指定によって ftruncate されて of が伸ばされる。 次に dd は、if から読んだデータを of の後ろへと付け加えようとするのだけども、 /dev/null なので 1 ビットたりとも付加されないというわけだな。 「(滅多にないが)実際に 0 が埋まっている必要がある場合」を除けば、 これで十分やね。

GC

Observer パターンと GC 。 GC が万能ではない一例。Java のように GC が整備されてる環境だと ついつい後始末は考えなくて良いと思いがちですが、 実際には GC というのはそこまで万能薬ではなくて、 プログラマはオブジェクトの生殺与奪に関しては常に 神経をとがらせてないといけないんですな。 GC があるだけで大分気が楽ですけど。

この手の人為ミスをどう防げばいいのかというのは、 結構やっかいな問題なのかもしれず。 いらなくなったオブジェクトを不用意に機械的な無効化をしたりすると、 C や C++ なんかだと死にポインタが発生して NULL 参照とかよりも ずっとタチの悪いバグになりかねない。

一つの解決法としては、C++ の boost ライブラリの方法がある。 この中に含まれている smart_ptr という一連の (リファレンスカウントベースの GC (これを GC と呼ぶかどうかは異論があるが)を実装した) スマートポインタライブラリでは、 shared_ptr と weak_ptr という 2 つの種類の参照があって、 前者は所有権があり、後者が所有権がない参照となっている。 で、前者から参照されているオブジェクトがなくなると、 後者はすべて自動的に NULL になるという仕掛けになってるのね。

リファレンスカウントを被参照オブジェクトの外部に持つ方式の スマートポインタ実装だと、これは比較的簡単に実現できる。 一方で、むしろ conservative mark-and-sweep だと難しそうな気もするが、 結局 shared_ptr と weak_ptr に相当する 2 つの文脈を 用意するというだけの話かもしれない。 もっとも、この二つの参照を持ち出すと mark-and-sweep の 利点が今ひとつ不明瞭になるし、 この使い分けをすべてのケースで注意深く行えば、 そもそも mark-and-sweep 自体が必要なくなる気もするのだが、 「注意深くすれば」を言いはじめると GC そのものが要らなくなるので、 まあ程度問題かのう。

平成14年12月24日(火曜日)

EVE

少女のたまごではなくてクリスマスイブ。でも当方無関係。

DirectX9.0

出たにょ

助かる

思わぬ効用 。 この件に関し、日本美乳学会および日本貧乳協会は共同で、 「これで豊凶手術が加速するのではないかと危惧している」 と公式声明を出した。

むむ

「3 年後の計画」が「日本で 5 指に入る」。笑うところですかこれ。

じゃあオレも計画:「ボク、将来は総理大臣になるの」

こんなのは計画とはいわない。百歩譲っても「目標」だ。 計画とは、目標達成のためのプロセスの設計を伴ってはじめて計画なのであって、 目標を立てることではない。

Sun vs MS

お前らおちけつ :D

今回の話ってば、要するに MS が Windows の独占基盤を利用して、 Java を潰す目的で競合技術であるところの C# (あるいは .NET)を Windows にバンドルした、というところに争点があるのであって、 Windows に特定の言語をバンドルしなければならない、という話ではない。

まあ、この件に関してはかなり MS のやり方が露骨だったんでねぇ。 反トラストという観点からは、 MS にはちゃんと打撃を与えないとダメだと思うんだが、 どうも今のアメリカというのは過剰な市場原理主義が支配的なので、 この裁判も今後どうなるのかわからんのう。

平成14年12月25日(水曜日)

布一枚

そんな 全国 1 千万人の三角巾ファンのために再掲: ((c)Guts!)

あれはいいものだ。

ここにサインしろ

それ見て 思ったこと。 「ミッキー税関で捕まったらどうしよう」<忘れてやれ

説得

えーと 、 彼らはまさにその慣習に対して異議を唱えようとしてるので、 その論拠として理屈を持ちだしてるのではないかと思います。

まあ、その理屈の正当性に関して私のような門外漢が うんぬんするのはおこがましいので専門家に任せるとして、 その理屈が正当かどうかは多くの人にとっては興味がないという事実と、 多くの人にとっては(純粋に慣れてないという点で)旧かなづかいが 読みづらいという事実は事実として存在していますな。

言語の変遷というのを考えたときに、ある種の人為的圧力がない場合には、 基本的に平易な方向に進むのが自然なのですな。 「今のかなづかいが言文一致だ」なんてのは妄言に過ぎませんが、 程度問題として旧かなよりは現代口語の音と各文字が 一対一対応に近いのは事実で、 多くの人にとってはこの点で旧かなよりも平易な表記だということは 異論がないでしょうし、多くの人にとっては今のかな表記で ほとんどの場合に困らないという点にも異論はないでしょう。

一度平易で、なおかつ(より複雑な表記と比較しても)実用上大して困らない表記が 普及してしまったら、元の表記に流れを遡行させるのは容易ではないでしょうね。 いや、それどころか、急激な変化を起こそうとする場合には、 たとえ平易な方向に進めようとするにしてもそれはそう容易な話ではなくて、 事実現代かなに関しては、 強い人為的圧力をもって移行を実現したという経緯があるわけです。 もちろん、少数の人々が遡行したり、あるいは言語のごく一部分に限って 遡行することはままあることでしょうが、 その手の変化が、言語全体かつ社会的な規模で起こるときというのは、 言語黎明期を除けば、今までの歴史だと、ナショナリズムの台頭とか、 そういう動乱の時しかなかったのよねぇ。

一部の信者の文章を見てると、試合に勝って勝負に負けてるというか、 要するにミクロな議論では勝てても、情報戦略的には完全に失敗してるなぁ、 という感じがしますね。言語というのは(本人は意識してなくても) 人間のアイデンティティと密接に関連しているものです。 人間のアイデンティティに対して干渉する場合、 一見ささいなことでも大きな干渉となることがありますし、 ましてや理詰めというのは逆効果だったりすることもあるわけです。 その辺を考えてないとしか思えない意見を読むにつけ、 私は「無邪気だなぁ」などと思ったりするわけですが。 少なくとも、 他人を見下してるという雰囲気がその文章にありありとあらわれてるうちは、 他人を言葉で打ち負かすことはできても他人を説得することはできないでしょう。

きっとね、仮に敗戦時に漢字かな全廃されて、 全部ローマ字表記になってたとしても、 日本人はそれにちゃんと適応できたと思うし、 あるいはローマ字表記に都合がいいように 日本語の方が変化してたんじゃないかと思います。 ただ、さすがにローマ字化あるいは漢字廃止ですらも、 社会的リアクタンスが大きすぎて実現できなかった。 そこにあるのは結局ある種のパワーバランスだけで、 言語学的正当性とかの理屈は(全く無関係とは言わないまでも) あまり関係ないんじゃないかと思います。 それが正しいかどうかは別として、世の中の流れというのはそういうものです。

戦略的には、とりあえず旧かなのいい点を 現代かなで説明するところからはじめないとダメでしょうねぇ。 賢明な人はここで馬鹿らしくなるんじゃないかという気がするんだけど、 思想の啓蒙というのはえてしてその手の心理的困難を乗り越えて (「バカになって」)初めて達成できるんじゃないかと。 まあ失敗したら単なる「バカになり損」かもしれないけど、 そんなことを考えてるうちは崇高な思想の啓蒙なんてできやしません。 バカになる覚悟がないんなら、 個人的嗜好の範囲で済ませておいて、他人には干渉しないのが賢明でしょう。

それは曲解ですよ…… 。 少なくとも私は上の文章をそんな意図で言ってるわけでも、 あるいは、正字正かなを普通に使ってる人に向けて言ってるわけでもありません。 また、江洲さんが個人的に正字正かなを使ってることとか、 あるいは江洲さんの過去の正字正かなの論理的な意見を見たうえでの見解として 私は江洲さんが上で述べたような「一部の信者」に当たるとは思ってません。 もしそう勘違いされたのならば、 少なからず私の文章にも問題があるのだろうと思うのでとりあえず謝ります。

そりゃ、世の中の人には、 正字正かなを使うということ自体に偏見を持ってる人がいるので、 そういう人々と私を同一視して感情的な反応をされる気持ちも わからなくはないんですが、私にはそんな意図は全くありませんし、 私のスタンスを勝手に決めつけて、その偏見に満ちた目で 私の意見を読んで揚げ句その意図を曲解されても困るんですよ。

いつも江洲さんは私の意見に対して、 「屁理屈」だの「そんなことばっかり言ってると信用されなくなりますよ」だの、 そういうレッテルを貼るのでうんざりして そこで反論する気が失せてやめてしまっていたんですが、 「屁理屈」とかその手の評価は、 他人の意見に対して貼る「レッテル」としては 「信者」並に便利過ぎる言葉なので注意して使ってもらいたいところです。 少なくとも人の意見に反論する際のマナーとして誉められないと思います。 そういう色眼鏡にやられた状態で人の意見を見たら、 そりゃ曲解もするでしょう。とりあえずおちつけと。

で、そんなこといちいち気にしてもしょうがないので話を戻すと、 どちらかといえば私は上で、 「正字正かなを使うということ自体に偏見を持ってる人がいる」 ということそのものにスポットを当ててるんですってば。 私自身が正字正かなについてどう思ってるか、 というのは完全に棚に上げてるんです。 あるいは、正字正かなが言語学的に正しいかどうか、 ということすらすっぱりと分離しています。 そういうレベルの話をしだしても、 もはや単なる水掛け論にしかならないような気もしていますし、 やっぱり私ごときがそういうレベルの話を云々するには知識が足りない。 上に書いたようなことというのは、 確かに世の中の偏見が悪いといえばそうなんですが、 でも真に正字正かなを普及させたいと思っている人は、 その偏見でさえも正面からとららえておかなければいけないことです。 そういう観点から、世の中の一般的な背景としては、 上に書いたような話というのは全く屁理屈ではないと思っています。

一方で、個人的な信念で正字正かなを使うということならば、 そんなことは一切考えなくてもいいと思いますし、 逆に言えばそういう人に向かって「正字正かなは悪だからやめなさい」 というのは到底まともな意見だとは思えないので、 そういうのに対して反論するのは構わないと思っています。 そういう人に対してこそ、「屁理屈」という言葉を使ってもらいたいところです。 ぜひ胸を張って正字正かなを使ってください。

繰り返しますが、少なくとも私の意図としては、 「世の中がそうあるべきだ」という話をしているんじゃなくて、 「世の中は実際そういうものだよね」という話をしてるんです。 そこに善悪基準とか、そういうのは持ち込んでません。 単なる私の現状認識を表明しているに過ぎません (まあ「一部の信者」に対する揶揄も多少は含んでいますけど)。 それを私が「世の中はそうあるべきだ」 と主張しているかのように曲解してませんか? もし、その現状認識そのものが間違いだ、というのならば、 それはそれとして受け止めます。 それは私の意見に対する正当な反論だと思います。 そうでないのなら、それは言いがかりなんじゃないかと思います。

なお、私が「一部の信者」っていってるのは、 たとえば某氏の日記の掲示板に突然乗り込んでいって よくわからない屁理屈書いた人とか、 そういう目に余る人のことなんですね。 ここまでいくと「正字正かなは悪だからやめなさい」 っていうような意見を言うのとどっちもどっちでしょ。

私の正字正かなに対するスタンスを表明しておかないと フェアじゃないというのは確かだと思うので表明しておくと、

  • 私は、正字正かなでかかれた文章は、 読めなくはないけど速度は遅くなります。 純粋に全く慣れてないからです。 古典は真面目に勉強しなかったし。 まあその不真面目なり無能なりを批判するのは自由です。
  • そういう理由から、 私とコミュニケーションを取る目的で正字正かな文を使うのは、 できればやめていただきたい、とは思っています。 「やめろ」と言ったことはありませんが。
  • それでも、どうしても必要とあらば読みます。 必要がなければ読まないだけです。 これは純粋に「必要かどうか」の問題です。
  • もし、日本の世の中全体が正字正かなに傾くというのならば、 とりあえずはできる限り反対します。 これは純粋に「慣れるのが面倒くさい」というエゴの問題です。 しかしながら、上で再三述べたような現状認識が正しいのならば、 このような動きはまず起こりえないと予測しています。
究極的には最後に述べたようなエゴの部分の衝突の問題でしかないんで、 両者ともそこを覆い隠して意見を言ったとしても 結局は欺瞞に過ぎないんだとは思いますが。 ただ、それは意見を言うことのモチベーションではあっても、 そこに正字正かなというものを擁護する意見を陥れようとする意図がないことは 念を押しておきます。

まあ読み返してみて思ったが、 なんとなく、上でちょっとだけ述べた「無邪気さ」という点では 私も人のことは言えんな。 こういう曲解を生むのを避けられなかった背景というのは、 結局のところ上で私が述べた「無邪気さ」と全く同質だわな。

OpenGL Widget Set Recommendations?

たまには本家記事にリンクしてみるテスト

うひ、 いつのまにか Berlin が Fresco に出戻りしとった 。 Interviews + CORBA → Fresco → Berlin → Fresco

外来語いいかえ

これも同様に難しい問題だわな 。 ちょっと立ち止まって外来語の言い換えに目に向けて考えてみるということは いいことなのではないかと思います。 一方で実際に使うかどうかは、各人の裁量にもよるだろうし、 コミュニケーションを取ろうとしている対象にもよるだろうし、 あとはそれぞれの言葉について固有の話でもあるんで、 決して紋切り型に決まる話でもないでしょうね。 漢字で書いたほうがすっきりするものは漢字で書くのもいいと思う。 逆に、漢字で書いてもよくわからないものに関しては、 どっちで書いてもいいから意味をわかりやすく説明しろ、という話かにゃ。

平成14年12月26日(木曜日)

昨日早く寝たので眠くはないのだが、寒くて布団から出られない罠。

アレ

さすが日本一のガンダムサイト :D

TCP/IP Illustrated, Vol2

キターーーー!!

うーん

曲解しています

相手のこの手の曲解を一つ一つ訂正するような議論の流れになった時点で、 もうそれは疲弊するだけで不毛な議論にしかならないので、 私としては終わりにしたいんですけど、 単に終わりにすると逃げただけと思われるので一つだけ例に とって反論しときます。

ナショナリズムについて。私が書いたことを要約すれば、 「言語を大きく変えるのは難しい。 たとえば過去に言語が大きく変わったときには、 ナショナリズムの台頭のような大きな圧力が存在した」 要するに、「大きな圧力が必要だった」ということの傍証として 「ナショナリズムの台頭などの動乱」を挙げたわけです。 勝手にこれの逆をとって、あるいは、 ナショナリズムという言葉尻だけをつかまえて、 「ナショナリズムの台頭がなければ言語を変えることはできない。 よって、変えようとするやつはナショナリストである」 と私が主張してると勘違いしてますね。 これが曲解でないとしたらなんだというんですか。

「逆は必ずしも真ならず」というのが直感的にはわからないようなケースで、 巧妙に相手の論旨の逆をとって、それを相手の論旨であるとすり替える 詭弁術があるわけですが(そして話が感情論にシフトして議論が紛糾する)、 江洲さんが意図的にそれを弄してるとは 思えないので何かの間違いだと信じていますが。

あるいは、「一部の信者」という言葉への噛みつき方にしてもそうだし、 パワーバランスの話もそうです。 いずれにしろ、「私が悪意をもって主張している」 という前提の下に私の文章を読んでるとしか思えません。 だから、勝手に私の話の逆を取るんですよ。 こんな状態では何を言っても無駄でしょう。少しは頭を冷やしてくださいな。

まあ、あれだ、相手が感情的になるような言葉を無邪気に使ったのは 私の責任です。すまぬ。 あと、第一段落と第二段落以降は(全く無関係ではないものの) 別個のものとして読んだほうがいいでしょう。

しかし、こうことごとく書いたことが自分の意図とは違う風にとられまくると、 (昔いろいろあったおかげで慣れてるとはいえ) さすがの私もやっぱりへこむよ……

今週のチャンピオン

ラーメン(1)。いろいろお約束披露。

野球(2)。マリック、君なにを描いてるのかね :D

舞咲たんピンチ。なんか、敵のラクロス棒(?)がロボピッチャの腕に見えて、 思わず「ボスケテ」というフレーズが思い浮かんだマサルさんフリークの俺。

×。ぼ、ぼくは、メイドにとって、 ひ、ひ、ひ、必要な器官というのを、お、お、教えてほしいんだな。

サッカー。タイガーショット。

ラーメン(2)。餅玉は地味に危険かもしれない。

そういえば妹増

やっぱりおバカ満載でした。

良い方法

代わりにガソリンを置いておきましょう 。 そのガソリンは盗まれてしまうかもしれませんが、 きっと次からは盗まれません<やめなさい

って読み返してみたら最初から書いてあるやん。

よる

五反田さんと浅草橋わかきでステーキ。ウマー。

JASRAC がらみの面白い話を聞いたのだが、 上で大きな文章を書いた後で書くと埋もれそうなのでまた後日。 というか、本人が書くのがいいんじゃないか、とか言ってみるテスト。

明日は太昌園よん。

遡って昨日

妹増と一緒に「まほらば(4)」と「dear(1)」を買ってきた。

5 巻予告の白鳥君があまりにアレ。あと、今回は、 珠実ちゃんの極$B0-$C$W$j$KKa$-$,....no carrier

平成14年12月27日(金曜日)

終劇

そうですか

今回の件の時系列順まとめ:

夕方

仕事納めで大掃除。

このあと肉納め。

太昌園で肉納め。ウマーーーー。

気づくとリアル終電。当然タクシー待ちがひどく、 駅から歩いても時間があまり変わらないので歩く。 みなさん、 ここより先の駅に行きたいなら最初から 渋谷で深夜バスに乗るのが賢明ですにょ……。

JASRAC とか著作権とか

昨日五反田さんに聞いた話ね。

過去に、さだまさし公認で全歌詞集を Web 掲載していたページが あったらしいのだが、これに対して JASRAC から横槍が入って 掲載が中止されたらしい。 つまり、公認されてるにもかかわらず 「著作権料を払え」と JASRAC から言われたらしいのね。 詳しい話は五反田さんお願いしますと言ってみるテスト。

JASRAC のシステムを考えると、実はこれは当たり前の話ではあるものの、 「アーティストの権利を守るためにアーティストの権利行使を制限する」 というのはやっぱり本末転倒だわな。 まあ一応最近は、委託する範囲の選択をできるようではあるんですが、 こういう本末転倒さに関してはあまり解決してませんな。

「アーティストの権利を守る」というお題目を声高に語ってるけど、 結局は「業界を守る」システムでしかないんじゃないのかね……。

ここで、JASRAC の話からはちょっと離れるけど、 どうも最近は著作権というものを濫用する傾向があるんじゃないかのう。

坂本龍一も 「自分の作品の中でオリジナルな部分というのは全体の 5% 程度に過ぎない」 と言ってるように、 おおよそ著作と呼ばれるものはその性質上、 全くの無から作品ができあがるということはまずありえず、 多くの場合既存の作品からの明示的あるいは暗示的な引用の 積み重ねにちょっとしたオリジナリティを加えて初めて完成するものなのですね。 つまり、過去の著作というのは社会的な資本としての側面ももっています。 著作で飯を食う人間は、自分が多かれ少なかれこの社会的資本を借りてきて、 それに応用を加えることによって価値を創造しているのだ、 ということを忘れるべきではないと思います。 権利を利用してむやみに利益の囲い込みを行うのではなく、 適度に社会に還元するのが、著作権者の社会的責任なのでしょう。

……といっても、もはや性善説に頼っていては社会的無責任の拡大を 抑えられないところまできつつあるのも事実なんだよねぇ……。 たとえば、主要な音楽著作権者であるところのレコード会社というのは、 90 年代以降、むしろ権利で囲い込むことによって莫大な利益を得ることを 覚えてしまったフシがある。 これが消費者にとって初めて明確に有害な形で姿を現わしたのが、 このところの議論なき CCCD の導入なんじゃないかと思います。

平成14年12月28日(土曜日)

船橋で鳥料理。ウマーーー。

帰宅経路で(ごつくない)あかりちゃん母娘と途中までご一緒。 新日本橋でうっかり乗り過ごして東京→大手町経由。 でも、結果としてこれが歩く距離が一番少なくてタイムロスも 少ないんじゃないかという気も。 習い事とか幼稚園の話を聞く。

夜中

昨日(う)さんから言われたことを思い出したのですげー久々に見てみた。

それはいいとして、もうずっと前からの誤解で、 未だに言われつづけてるのがアレでナニなのだが、 わたしゃコミケには全く縁がないしアニオタでもないってば。 まあ日ごろの行いが悪いんだろう :D~~~~

……久々と思ってたけど、 よくよく考えてみたら「さすがだよな俺ら」とか 「こんな stallman 嫌」とかは最近読んだな。

平成14年12月29日(日曜日)

夕方

五反田さんと亀戸餃子。餃子以外の食い物が一切ないという潔さ。 ライスすらない。うまうま。

平成14年12月31日(火曜日)

昨日

NEWS 10 。つつがなく終了。

体調が今ひとつだったので直帰。 電車で寝ながら帰ったら眠いのは直ったが、 今ひとつ胃腸の具合がよろしくない。 ちと暴飲暴食気味なのが効いたにゃ。

今日

寝てました。

C-o

Phoenix と日本語 。 うちの NetBSD では、特に設定しなくとも Mozilla でも Phoenix でも C-o でちゃんと入力できてますにゃ。 もしかしたら GTK+ まわりがまずいのかもしれません。

次のような簡単なプログラム:

gcc `gtk-config --cflags` a.c `gtk-config --libs`
などとコンパイルして実行してみて、 ちゃんと日本語が入力できるか確認してみるといいかもしれません。