某日記

(中期)

平成13年11月11日(日曜日)

今日

夕方起きて、夕飯食って、寝て、起きて、irc で喋って、 酒カッくらって、でじこ全話見て、酒カッくらって、 ジャンプよんだ。もう寝るよ。無意味な一日。

ある意味、夏休み中で一番休みらしい日と言えよう。

ろりー

宮川賢か 。 だれなんだお前は。

てーかん

わはは 。 DoA2 のこの辺の話は一部には有名だったけどさ、 訴訟起こしたら会社の恥を全国一般公開するようなもんじゃん :D

平成13年11月12日(月曜日)

夏休みあけ

宿題はないが、仕事が溜まっていた…

BSS

「"uninitialized data" な bss が 0 初期化されるというのは、 一体どこを端に発しているのだろうか?」

本当にいにしえの UNIX では BSS は放置プレイ状態だったらしいですが、 ユーザ空間の BSS に関しては、割と早い時期から password snooping 対策としてゼロ初期化されるようになったらしいですな。 たぶん、その当時はカーネルの BSS までゼロ初期化する積極的理由は なかったと思うんですが、ゼロ初期化しない理由もないのと、 なんといっても今では ISO C で「静的変数はデフォルトでゼロ初期化」と 明記されてるから、 まあフリースタンディング環境なので守る必要はないものの、 混乱を避けるためにゼロ初期化しておくのでしょう。

平成13年11月13日(火曜日)

private

それは 、 深く考えずに Hoge::RETVAL Hoge::func(void) { ... } と書くだけ。 少なくとも、ISO C++ にちゃんと準拠してるコンパイラならこれで動きます。

ただ、うろおぼえな記憶だと、 gcc-2.7 あたりでは、この手の奴で的外れな error 吐かれて コンパイルできない場合があったようななかったような。 こういうケースでのアクセス制限の判定は、 コンパイラにとっては比較的複雑な処理になるような気がするので、 古いコンパイラで適切に処理できないことがあっても割と驚かない。 その場合は涙を飲んで public に移すしかないでしょう (普通は、スコープそのものではなくてアクセス制限で引っかかるだけなので、 わざわざグローバルスコープに移す必要はないことが多い)。

void

それ void なのでわ。もし、誰かが戻り値使ってるなら、 0xDEADBEEF でも食わせましょう(ぉぃ

void

んで、「誰か void 氏の C 言語入門買った奴いるか」という話題を振ると、 当然 「void 氏の奥さんは不正にかわいい」 話題になるわけだ。

続 private

修正前のコードが未定義エラー になるのは正しい振る舞いです。

もしかしたら、 上で書いた gcc-2.7 の話で混乱してるのかもしれませんが、 クラスの外の関数定義におけるプロトタイプ部分のスコープは あくまでもグローバルなスコープを持ちます。 一方で、アクセス制限はこれとは独立していて、 件の部分ではあくまでも「クラスメンバ」としてのアクセス権が与えられます。 したがって、「修正前のコード」では、 「(プログラマが意図してる)RETVAL という型に対するアクセス権はあるけども、 関数定義部からはスコープ外なので見えてない」 というシチュエーションなんですな。 だから、スコープ解決するために、Hoge:: が必要になるのです。

なんでこんなことになってるかというと、 スコープという概念は、多分に構文解析と関係してるのに対して、 アクセス制限という概念は、完全に意味解析のみと関係してるのですな。 スコープくらいコンパイラの方で適切に処理してもらいたいところですけど、 C++ の文法だと前方参照が必要になってしまう。 C や C++ はこの手の前方参照をしない、というのが構文解析上のポリシです。 きっと yacc だと処理できませんし。 だから、こういうことになってるんですが、 まあ、C++ におけるクラス拡張の文法が腐ってるのが悪いっていう 気もしないでもない。

上で書いた変なコンパイラの話は、ここで「アクセス権すらない」 と判断するコンパイラがあるかもしれないけど、それは ISO C++ 違反だよー、 っていう話です。

そうそう、C++ を 1996 年より前に勉強した人 (つまり ARM 準拠あたりの知識を持ってる人)は、 1998 年以降の書籍で勉強し直すことをお薦めします。 上の話は ARM でもそのまま通用してた話のような気がしますけど、 今の C++ は ARM から大きく変わってますな。

平成13年11月14日(水曜日)

UA

うーん この方のこの記述 は 2 通りに解釈できるような: 「根拠は示されてないけど何らかの理由により生日本語が使えると主張している」 「単に、この段落の記述にリンクしてるだけ (で、後の話を見落としてる)」。 前者と仮定すると、「自明でないことを主張するわりに 根拠が全く示されてない」という点で不自然なので、後者と思われ。

後者だったとすれば、 典型的な「伝言ゲームの輻輳による誤謬の増幅」だな :D。 この手の誤謬は、マスコミの報道では、 (マスコミ側で自覚してる人はほとんどいないと思うが) 割とよく起こってると思うし、日記で起きても不思議ではない。

「何もしてないからやられるのだ」

あいかわらず多くの記述はトンデモだけども 、 しかしながら、 「アメリカ人の多くは、 『われわれは何もしてないのに、なぜわれわれがやられるのか?』 と怪訝な顔をしているそうだ。『何もしてないからやられるのだ』 と正しく自覚できるアメリカ人は、非常に少数の、本物のインテリだけだろう。」 のくだりは、非常に納得できる (「本物のインテリ」って何?とか、 そういう風なところで筆者に対する色眼鏡がちと入るが)。 まあ、日本人もこの点においては変わらんやね。

なんというか、アメリカの今の活動を、 「(正義ではなく)アメリカの利己を守るための活動だ」 とアメリカ自身が認めることができるような程度まで 人類の精神性(というと胡散臭いけど)が「進化」するだけでも、 テロリズムというものは少なくなると思うのだが。 この点において人類は、 (記録が残ってるという意味での)数千年前から全く進化してないし、 結局は「生物は数千年というスパンでは進化できない」っていうことを 証明してるのかもね。

ぷにおん

まあ不謹慎なネタですが、 狂牛病対策パッチ for NetBSD とかどうよ。

ナナ

いま一番熱いのはやっぱりこれですな。

これは企画物で、おそらく アニメの方 が先に決まってて(つーかそれよりも水樹奈々が先に決まってたのかもね)、 それにマンガをこじつけた、いわゆるメディアミックスものだけど、 上の Web で見れるアニメのキャラより、 マンガのほうが数段萌え度が高いのはどうよ。 「アニメは失敗するけどマンガは成功」なんじゃないかと推測…。

何を書いてもいいということは、何を書いても無意味

のような気がするのう。

つまり 、 その comment 部の仕様の意図をくみとれば、 「明示されてる例外を除けば何を書いてもいいけど、 そこをどう解釈するかは全く決められてないから、そこに書かれていることの 『意図』が相手に正確に伝わると期待することができない」 ってことですな。せいぜい product 固有の仕様を定めることはできますが、 まあ、この comment を「情報交換」という目的に使うのは不毛といえますな。

情報交換することをすっぱり諦めるという (つまりは、必ずウケがとれることを諦めるという) 割り切った考えができるならば、 S-JIS 、EUC-JP、 UTF-8 で書かれた日本語は、 (「TEXT」の定義において例外として指定されている「文字」を含まない限り) 自動的に上の条件が満たされますから好き勝手に書いていいでしょう。 もし、それでサーバ側がバグッても、それは仕様に従ってないサーバ側が悪い。 そのかわり、いわゆる文字化けを完全に回避することは 仕様上不可能だということを認識しておくべきでしょうな。

ごめん、全部嘘。

平成13年11月15日(木曜日)

UA

ああそうでした 、 その記述は comment 部分(というか TEXT だが)に対する記述でしたな。 すっかり忘れておりました←鳥頭。

全部読み直しました。 やっぱり、この部分にあいまいなところはほとんどありません (あいまいな部分とはつまり「RFC2047 に書かれている方法」 というのが何かという部分だけですが、 これとて下記のように判断して間違いないでしょう)。 つまり、次のように順序立てて解釈できます:

  • ctext 部の **オクテットエンコーディング** には、 一部の文字(LWS を除くCTL と 0x28('(') および 0x29(')'))を 除く任意のオクテットを利用することができる
  • TEXT のセマンティックに関する説明からわかるように、 ctext 部で利用される **文字コード** は、通常は ISO-8859-1 である。 ただし、「RFC2047 に書かれている方法」でエンコードすれば、 これ以外の文字コードを利用することができる。
  • RFC2047 において、文字列のエンコードを規定しているのは encoded-word のみなので、 「RFC2047 に書かれている方法」とは、encoded-word である。
  • product および product-version は、CHAR (つまり US-ASCII **文字**) から一部の文字(ここでは省略)を除いた任意の文字が使える。

よって、まったく解釈の揺れは存在せずに、 「product および product-version には、ASCII しかつかえない」 「comment の括弧の中は、生書きするなら ISO-8859-1 でないといけないし、 それ以外の文字コードを使いたい場合には encoded-word にしなければならない」 が正しいと断言できます。

PCMCIA

ああ 、 「試してみて」というのは、「無線 LAN カードを挿すための PCI ボード」に、 「無線 LAN 以外の普通の PCMCIA カード」が挿せるかどうか、という話です。 たぶん、無線 LAN カードが動けば無線 LAN 以外の普通の PCMCIA カードも 動くでしょうし、無線 LAN カードが動かなければ 無線 LAN 以外の普通の PCMCIA カードも動かないでしょうが。

大抵のボードには Ricoh の Intel 互換チップが乗ってるので、 ボード自体は NetBSD でも使えるはずですが、 マザーの BIOS によって問題が起こることがあります。 ここが ISA のボードと違うところ。 つまり、PCI-PCMCIA ブリッジは PCI BIOS の機嫌が悪いと動かなかったりすることがあるので、 そういう場合は PCIBIOS_INTR_FIXUP とか指定すると 状況が良くなることもあります。 かといって、ちゃんと動いてる時に指定すると、 状況が悪くなることもあるので注意。

平成13年11月16日(金曜日)

ううむ

X on Windows 。 Cygwin 一式と XFree86 on Cygwin を rpm-nize して CD に焼いて 箱に入れただけと思われ。これでお金取るのか :D。

たまご

たまごになる前のたまご はなかなかの珍味らしいですな。

そうえば、例の「鶏をさばく教育」は、 まあ、(教育論的には賛否あるかもしれんけど) 結果的にはやめた方がいいと思うよ。

根絶

ヲレもそう思った :D 。 あと、なんでここ数年うちの食卓にゴーヤが並ぶようになったのか、 という疑問が氷解。

XP

ななうみ XP 君深夜発売誕生おめでとう

ジェネレータ

吉牛コピペジェネレータ使ってもあまり楽になったような気がしないが…:

そんな事より 1 よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
一昨日、上野の燔楽行ったんです。燔楽。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか頭悪そうなカップルでいっぱいなんです。
もうね、アホかと。馬鹿かと。
お前らな、1500円食い放題如きで普段来てない燔楽に来てんじゃねーよ、ボケが。
1500円食い放題だよ、1500円食い放題。
なんか親子連れとかもいるし。一家4人で燔楽か。おめでてーな。
よーしパパ、カニ頼んじゃうぞー、とか言ってるの。もう見てらんない。
お前らな、太昌苑ガムやるからその席空けろと。
燔楽ってのはな、もっと殺伐としてるべきなんだよ。
鍋の向かいに座った奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと太昌苑に河岸を変えたかと思ったら、
隣の奴が、狂牛病は大丈夫ですか、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、狂牛病なんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、狂牛病、だ。
お前は本当にいまさら狂牛病を怖がってるのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、狂牛病って言いたいだけちゃうんかと。
燔楽通の俺から言わせてもらえば今、燔楽通の間での最新流行はやっぱり、
しゃぶしゃぶ後のスープでラーメン、これだね。
店員に「ラーメンでいいですよね」といわれて力強く頷く。これが通の頼み方。
スープは豆乳ベースで味もちゃんとついている。そん代わり塩味控えめ。これ。
で、このスープでしゃぶしゃぶした後にラーメン。これ最強。
しかし、肉を大量に頼んだ後にぺろりと平らげると次から店員にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、ダンピングで味が落ちた吉野家の牛丼でも食ってろってこった。

ボージョレ

ううむ 。 「ボージョレヌーボー」じゃなくて 「ボージョレ」をイベントと言ってしまうと、 ボージョレのワイン作ってる人々がかわいそうな気が…

平成13年11月17日(土曜日)

浮動小数点

うむ 。 これは「同じ数を変換して比較している」という特殊な例ですが、 これに限らず、一般的に「浮動小数点数が等しいかどうか」 という比較はしない方が身のためですな。

普通は、差が微小数 ε 以下になってるときに「同値」と判定しますね。 実際にεをどう設定するのか、 というのは理論的にも実践的にも難しい話題ではある。

昨日

会社では飲み会だったらしいが、私は夏休みのどさくさでエントリし忘れ。 私以外誰もいなくなったところで、 しろくまぺんぎん氏がやってきて、話し込む。 でも、ヲレの向かいの席の人のぬいぐるみとかいぢるのは、 ヲレが後で疑われるからやめれ :D

んで、GORRY さんちで呑み。 生まほろさんとか、逮捕とか、いろいろ。

今日

アキバ。マンガと雑誌だけで諭吉さんを飛ばす。

平成13年11月18日(日曜日)

ううむ

うはは、なんだこの記事は :D

「X端末とWordを同時に表示」は嘘 (表示されてるのは、 どうみても X とは無関係な xrvt の cygwin 版の日本語版 と WinNT の標準のコンソール)だし、 「また、Linux用のアプリケーションのインストールには、 RPMを使用することも可能だという」って、 Linux 用アプリケーションがインストールできるわけないじゃん (一応トートロジー?)。

いまは PC 用 X サーバには直接はかかわってないとはいえ、 本業では一応商売敵だから、 この話題にはあまり突っ込み入れたくは無いんだけど、 いくらなんでもこれは…

まあそれはともかく、Cygwin 一式は久々に評価してみるかね。 1200 円くらいで CD 売ってたら買うんだが。

一応リンク集:

TODO

上ので思い出したからアップデート。

平成13年11月19日(月曜日)

支持率

政治的に見ると 、 嫌煙者の敵は喫煙者じゃなくてタバコ農家と JT かな。

まあ、喫煙者が男女合わせて 52% とかいう高率な現状では、なかなかねぇ。 喫煙者がマジョリティの立場で安住してる現状では、 いつまでたっても日本は喫煙後進国を脱することはできんだろうなぁ。

特許

ううむ… 。 こんな、70 年代には既に存在してて、 80 年代には誰でも知ってたような技術が、 92 年に特許申請して通過するのは異常だろ。 なんつーか、もう、特許制度って本来の理念を失って破綻してるよな。

平成13年11月20日(火曜日)

はやりモノ

しいたけ

苦労したこと:UTF-8 ファイルのエディット。 Samba 経由で Win2000 のメモ帳を使った。

ライアン

ところで 、 魁クロマティ高校読んでフレディを見るたびに、 ライアンの BGM が脳内に流れ出すヲレは変ですか?