雑な k|m の生態について

その 40 - 寝違えた人々

2003-08-27

WM_CREATE 以前

Win32 プログラマが ::RegisterClass(Ex)::CreateWindow(Ex) を用いて自分のウィンドウコントロールを生成した時に最初に処理するべきメッセージは WM_CREATE とされています。が,調べてみると WM_CREATE より前にもいくつかのメッセージが飛んできている模様。

WM_GETMINMAXINFO
ウィンドウの大きさを制限する場合にオーバーライドするメッセージ。
WM_NCCREATE
ウィンドウが生成された時に,WM_CREATE に先立って送られるメッセージ ( .. とちゃんと MSDN に書いていました )。ここで既に lParam には CREATESTRUCT のポインタが送られて来るので,CREATESTRUCT::lpCreateParams が使えます。
WM_NCCALCSIZE
ウィンドウのクライアントのサイズをコントロールするメッセージのようで。いまいち使い道が・・・

ここでもちろん hwnd にはちゃんとしたウィンドウハンドルが含まれています。

だから,WM_GETMINMAXINFO で,WM_CREATE での処理に依存していたようなヘタなコードを書いていると,わけのわかんないバグが起こるという事ですか。

2003-08-26

CD 放置プレイ

日なたで CD を放置しているとダメになったりするし,CD-R ならば日陰で保存していても数年でダメになってしまう事もあるし ( 泣 ),半永久的とは言いつつ意外に信頼できなかったりする不思議なメディアだったりしますよ CD ってやつは。むしろ私の帰省先にある,推定 30 年程前のレコードの方が信頼できるメディアです。

さる事情によりマジで Linux をインストールすることになりました。少し昔に CD 付きの Linux 解説本を買っていたので,そいつから Linux をインストールしようとしたのです。

CD,読めませんでした。

この CD を封入していた材質が塩化ビニールみたいな・・ちょっと詳しくないんだけど・・そのテのものだったためか,CD の表面に固くて透明な何かが膜を形成していたのです。この本は 4〜5 年ほど放置されていたもので,その間にわけの分からない化学変化が起きてしまったようです。

ヒトが情報を記録し始めてもう何千年経ちました? 未だに,石版よりも信頼できるメディアが存在しないのはなぜですか。

[ 膜を形成していた ]
・・ように見えたけど,もしかしたら CD 表面のプラスチックが融解,あるいは変質していたのかも知れません。

2003-08-25

打ち水のジレンマ

大江戸打ち水大作戦

面白い事を考えるなあ。今年は梅雨に大量に雨が降ったので,あんまし水不足の心配がありません。絶好の "打ち水大実験年" なのです。( ……とは言っても,風呂の残り水を使うように規定されていますが )

連日,私が悩み続けているのは,気温というよりは「不快指数」かもしれません。36 度でも気楽に過ごせる日もあれば,32 度なのにやけくそに蒸し暑い日があるのです。

気温/湿度と不快指数にはどんな関係があるのかな?

大量の人が打ち水を行えば,気温が 2 度ほど下がるという試算があります。問題は「湿度はどれくらいになるか」ですね。今の状態が (0) だとして,打ち水を行う事で気温が下がり,湿度が (1) までの上昇に止まれば成功。不快指数の等高線がだいたい 58 くらいですもんね ( てか,適当です )。(2) まで上昇してしまえば大失敗。不快指数ラインが 70 を超えています。

んで私,全く資料を調べもせずに,湿度についてこんな仮説をたててしまったのです。撒かれた水の量 ( それに伴う気温の低下も考慮 ) と湿度の関係は,こんなグラフになったらどうだろう?とね。

水を撒くと湿度は上がるが,だんだん上がりにくくなったりして

すると,気温/湿度と不快指数の関係は,次の図のようになってしまう事は OK?

気温/湿度と不快指数にはこんな関係が?

(1) はあまり水を撒かなかった場合。対して (7) は水をこれでもかと言うほど大量に撒いた場合。(0) が現在の状態として,あまり水を撒かなければ,気温は少しだけ下がるけど湿度もそれなりに上がるんで不快指数は増大。(1)〜(5) あたりなんかはもう大変です。そして水を大量に撒けば,気温も下がるし湿度はさほど上がらなくなるので,不快指数が下がります。要するに「参加人数が少ないならば打ち水はしない方がマシ」「参加人数が多ければ多いほど,打ち水は効果が出る」てな結論。社会的ジレンマがこんなところにも発生するわけですね。

無茶苦茶ですかそうですか。

2003-08-24

発熱の帝王「冷蔵庫」を窓際に

私の脳内で“デューク・ヒート”として畏れられていた発熱の帝王「冷蔵庫」を窓際に追いやったところ,室温が 37 度から 34 度に。室温の異常はまさしく彼であった事が完全に証明されました。

・・・23 時現在で 34 度なんですけどね。

[Perl] サブルーチン CHECK

こーんな話を仕入れました。Perl 5.6.1 以降では,CHECK というサブルーチンはコンパイル後に自動的に実行されます。

print "hello world.\n";
exit;

sub CHECK {
	print "complied.\n";
}

ここで面白いのは,オプション -c による文法チェックでも,いちおうコードはコンパイルされるという事実。

E:\>perl -c test.pl
compiled.
test.pl syntax OK

E:\>

実際にコンパイル,少し動かしてみないと分からないようなチェックが行える……という意図なのかなあ?

2003-08-23

おっと,blockquote...

xhtml1.0 strict において,blockquote 内ではナマの文字列 = "PCDATA" は登場できません。

<!ELEMENT blockquote %Block;>

<!ENTITY % Block "(%block; | form | %misc;)*">

<!ENTITY % block
     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">

<!ENTITY % heading "h1|h2|h3|h4|h5|h6">

<!ENTITY % lists "ul | ol | dl">

<!ENTITY % blocktext "pre | hr | blockquote | address">

<!ENTITY % misc "noscript | %misc.inline;">

<!ENTITY % misc.inline "ins | del | script">

よって,blockquote 内に登場できるのは

以上の要素のみ。この雑記,全部書き直したくなりました

……どうせ,blockquote に PCDATA を書こうが何しようが,それで不具合の出るようなソフトを使う事はまずないんですけどね:これが strict な (X)HTML が普及しない原因だっつーの。

2003-08-22

Lost in the patches forest...

最近のワーム騒ぎを受けてか何なのかは知らないけど,Windows 上では最近またいくつかのパッチが出たらしくて。

で,そろそろどのパッチをあてるべきなのか / もうあてたのかが分からなくなって来たんですが。

お前もう Windows 使うな > 自分

でも,ワームは来ない……

あれだけ騒がれているにもかかわらず,sobig だか何だかは私には届いていません。130kbytes 近いファイルはほとんど klez ばかり。

平和だけど,退屈です。

2003-08-21

整数 log2

元ネタは「まるも製作所」( by 茂木 和洋 さん ) の日々の戯言より。log2 の整数での結果を得るには,次のコードが最速でしょう。

#include <stdio.h>
#include <math.h>

int main( int argc, char *argv[] ) {
  int src;

  printf("input integer:");
  scanf( "%d", &src );

 // math.h の標準関数を使って log2 を計算
  double d = log10((double)src) / log10(2.0);

 // アセンブラで log2 を計算
  int i;
  _asm {
    bsr eax, src
    mov i, eax
  }

  printf("\n double: %lf\n    int: %d\n", d, i );

  return 0;
}

bsr は,MSB からビット列を走査し,最初に 1 が見つかった場所を指定したレジスタに格納します。

あー,今日は脳みそがすっかり気持ち良くなったです。

2003-08-20

住民票を入手せよ [ソーシャルワーク]

東京都中野区は「住民基本台帳ネットワークシステム」,いわゆる「住基ネット」からは離脱しているため,インターネットで住民票を請求できるだとか,そういうサービスは無いようです。ちょっと残念な気もしましたが,しかしよく考えれば私はそういうサービスがあっても使いたがらない人間でした。

さて,ハローワークでいろいろ手続きをするために住民票が必要です。別に住民票でなくてもいいんだけど,「私」を証明するモノといえば,私にはこれしかありません。車の免許などは持っていないのです。

区役所に行きました。申請書にちょこちょこっと書いて押印し,窓口に並びます。

「身分証はお持ちでないですか?」

ははは,こんなところで面白いジョークが聞けるとは思いませんでした。私は身分証が欲しくてここに来たのです。他に身分証などありゃしません。

「無いですかー,うーん……」

え,マジだったですか? ……やばい,脇の張り紙を見ると確かに「身分証が必要です」と書いてあります。私マジやばい。我想うけど我なし〜みたいな。デカルト先生助けて。

「本籍はどちらですか?」

え,いきなりそんな……確か東京に来た時に区役所に何回か出入りした事があったし。。。多分東京に移したんじゃなかったかなあ? ……って私はアホの子ですか。完全に混乱し,しどろもどろです。

「移されては……ないようですね」

え,まじすか。じゃあ大分の……私の実家の住所を答えます。

「ええと,そちらは元の住所の方ですね……」

ぐはっ……私の記憶している住所は「本籍」ではなかった模様。そう言えば,私が生まれた直後は別の所に住んでいて,それから数ヶ月程で現在の実家に引っ越したと聞いた事があります。私の本籍は……どこなんだろう……。

「では,筆頭者のお名前は……」

筆頭者とはつまり私の父の事。名前と,その漢字を説明します。しかしこんなもんで本人確認などが成立するわけがありません。なんだか面倒な事になりそうです。ハローワークに行かなければならない時間が迫っています。とほほ,私の無職生活は相当厳しいモノになりそうな予感。

「はい,ではこの札を持って,あちらでお待ちください……」

……あれれ,なんだかよく分かんないけど,難関をクリアしてしまいました。ええの? こんなに簡単に本人確認できてええの?

というわけで結論。ソーシャルワークはわりと簡単だよ,と。

[ 使いたがらない ]
別に住基ネットに反対しているわけではありません。でも,インターネットでオンラインで便利でアハハハなサービスは一切信用しません。

中野区,住基ネットに再接続?

あ,今ちょっと中野区のページを見てたら「住基ネットに再接続するよ」とか書いてます。法整備がそこそこ (昨年 8 月に比べれば) 整ってきたから,らしいです。。。

2003-08-19

[日記] 帰還

昨日の疲れを癒せないまま,今日も元気に各駅停車の旅ですアハハハハ。なんだかクールなクスリでもキめたかのようなヤバさ加減です。

そんな私の覚悟をあざ笑うかのように米原,名古屋,金山,塩尻,甲府,そして高円寺へ,何の障害もなくあっけなく到着。人生なんてこんなもんです。

そうそう,今日の関東甲信越地方の気温はかなり低かった模様でした。甲府駅なんかあんた,寒くて震えるくらいだったんですよマジで。

2003-08-18

[日記] いざ京都

大分 〜 宇佐

大分駅を出発したのは朝 6 時 50 分くらいの列車。宇佐で降り,しばらくの暇の後に小倉へ行きます。……失敗です。宇佐を通り越して柳ヶ浦まで行けば,すぐに下関行きの列車が出たのです。時刻表を見落としていました。

この失敗も,今思えば軽いジョブだったわけですが。

岡山 〜 姫路 〜 京都

しかしまあ大したトラブルもなく,夕方には岡山に到着しました。山陽本線は意外に混んでいるので疲労がたまっていましたが,ここを抜ければ今日の目的地,京都です。

噂どおり,岡山 〜 姫路間は閑散線でした。四国と本州を結ぶ接点,さらに近畿地方への通路である岡山 〜 姫時間が,大分 〜 別府間よりも閑散としているのだから驚きです。

姫路 〜 京都間はやはり混んではいましたが,しかし 11 日に比べればまったりできたかも知れません。この旅は満足でした。

[日記] 屈辱の京都戦

一気に米原まで行こうかなとも考えましたが,しかし米原にはカプセルホテルがありません。京都駅付近にはカプセルホテルがかろうじて 1 件だけある事が分かっていたので,今日はここで宿をとるのです。地図上では歩いて 30 分。「線路に沿っている道」を辿り,途中の大きな道を曲がって一直線。カプセルホテルで食べるカップラーメンが異常に美味いのは 11 日の夜に立証済みです。待ってろマイ・ヌードル。

……いきなり第一の難関。「線路に沿っている道」が存在しません。なんだか複雑に入り組んでいます。目の前の道は,ささくれたデンタルフロスのように,線路に近づいたりはぐれたりしています。

めげずに歩いていると,第二の難関。なんだかお風呂屋さんが見つかりました。私の疲労はかなりピーク間近だったのでここでくじけてしまいそうでしたが,しかしがんばりました。もう少し歩くと三十三間堂。闇夜に浮かび上がる巨大な壁や柱は怖かったです。そしていよいよ。。。

このあたりです。ついにカプセルホテルがあるらしきブロックまでたどり着きました。どうもこのブロックはかなりの大きさらしく,100 件くらいの民家やアパートが密集していませんか? 目指すホテルはどこだ。今私はどこに立っている? 民家についているはずの住所のプレートを見て,現状を分析するべきです。

そして第三の難関。どの家にも,住所のプレートがついて無いんです

住所のプレートがない……

無いんです……

[ デンタルフロス ]
歯の隙間を掃除する糸。私は Johnson & Johnson 製の "REACH" を愛用しています。

[日記] 再び,京都駅

京都駅の路上に佇む,疲れ果てた男が一人。あのブロックを周ったのは……10 周? 11 周?…… 途中で見つけた風呂屋さんは,営業を終了していました……。

アイルビーバック。

2003-08-17

R6002

元ネタは mfc-ml より。こんなコードで

#include <stdio.h>

int main( int argc, char *argv[] ) {
  double d;
  scanf( "%lf", &d );
  return 0;
}

DOS コンソールでランタイムエラーが発生してくれます。VC++5.0 learning edition では何が起きているのかが分かりませんが,VC++6.0 では "R6002" というランタイムエラーを報告してくれるとか。

InfoView を探してみたところ,えー,よく分かりませんでした。とりあえず理由としては InfoView より引用:

関数 printf や scanf で使用される書式文字列に浮動小数点指定が含まれていますが、プログラム中では浮動小数点の値や変数が使用されていません。

が該当する模様。だから例えばこうする事で

#include <stdio.h>

int main( int argc, char *argv[] ) {
  double d = 0.0;                     // 明示的な初期化
  scanf( "%lf", &d );
  return 0;
}

エラーを回避する事が出来ます。

で?

[ VC++5.0 ]
ノートパソコンにはインストールしてません。実はこの日の雑記,ネタだけこの日に仕入れておいて,詳細は東京のアパートで書きました。。。
[ InfoView ]
私の VC++5.0 には MSDN の CD がついて来ていません。その代わり IDE の脇に "InfoView" というツリーが存在しています。
[ で? ]
なぜこんなエラーが?(;´Д`)

2003-08-16

[日記] 今年も終了 〜 来年に向けて

今年は残念な事に,田舎が暑くありませんでした。外を散歩して汗かいて,お風呂に入りたいと思いつつ風呂 〜 五右衛門風呂 〜 を沸かして大量に汗をかくのが毎年の年課だったのに。

私の中で今年の楽しいこと全ては終了しました。また来年に向けて頑張ろうと思います。

2003-08-15

N.Y. 大停電!

悔しい事に,こんな時に限って PHS の電波が届く場所に行く用事がありません。そこまで歩いて 1 時間以上かかるため,親の車が不可欠です。私がただ PHS を使うためだけに親を使って車を走らせるのは,いくらなんでも不孝が過ぎるし。

てか,ネット上でどのように“祭り”が発生しているかを見たかったのです。すいません。不謹慎です。

ところで東京は大丈夫なのかなあ? 週明けは気温が上がるらしいので,警戒しなければ。

ブラスター・ワーム 続報

再起動を繰り返すってまじですか。あと,microsoft.com にパケットを送りつけるって。

犯人はかなり精神年齢が低く,なんとなくマイクロソフトを叩きたいだけの厨房だとプロファイルしてみましたがどうよ。

2003-08-14

ブラスター・ワーム

私が田舎でまったりしている間に,文明の利器に染まりギスギスの都会では面白そうなワームが出回っている模様。テレビのニュースからの情報では

開きっぱなしのポートにへんなパケットを送りつけて感染するタイプ? 詳細はよく分かりませんが,まあ大変ですこと ( 他人事かよ

だから私はいつも言ってるんすよ。WinMe は世界最強の OS だって

2003-08-13

モバイル環境の例

私はこんな感じで,どこに行っても雑記を書く用意はあるわけです。そんな私の環境は次の通り。これ,2000 年秋当時はそれなりに最新の環境だったんすよ。。。

マシン本体
VAIO (SONY)
OS WindowsMe
CPU celeron 500MHz
メモリ 64MBytes
HDD 10GBytes
ノートパソコンは体が疲れるとかなり重く感じるため,なるべく軽いものを選ぶと吉。またバッテリは意外にもたないものと覚悟する事も必要。
PHS H" えっぢ……( すいません。あんまし詳しくありません ) PHS は山奥や離島では電波が届きません:例えば,大分県は国東半島の双子山とかね。
ケーブル USB-AH64 (I-O DATA) "α-DATA64" とか書いているトコロとマシン本体の USB を繋ぎます。H" 用だとか J-PHONE 用だとか Docomo 用だとか,機種によって違う ( らしい ) ものが売られているので注意。また特に H" 用の製品は少ないように思えたんですが,どうなんすか?
FTP クライアント FFFTP (by 曽田 さん) 定番。最新のバージョンはネットワークが不調でもアプリケーションが固まらなくなったので良。
WWW ブラウザ Mozilla nightly ID:2003080704 バグが徐々に少なくなっています。1.5 正式リリースも近い……?
テキストエディタ サクラエディタ ( by Norio Nakatani さん他 ) いつのまにか,開きor閉じカッコに対応する閉じor開きカッコの強調表示のバグがとれています。

これに私は MinGW をインストールしています。eclipse はさすがにマシンパワーが足りません。。。

Written by kuri|minima(tkuri {at} fat.coara.or.jp) - all rights reserved.(warai
このリソースの位置情報は http://www.coara.or.jp/%7etkuri/D/040.htm で安定しています。