2002年2月の日記。

counter

一覧。


2002年02月01日

復活。

アップロード大会。死ぬ。

高負荷時のテスト

しかし高負荷時のデバグって難しいですねぇ ^^;

X68K の頃は omoi.mdx(だったかな?)流していれば良かったんですが(笑)

Sytem AKT - Scribble 不可(2002.01.30)より

難しいというか、想像してなかったりとか、想像を超えてみたりとか(^^;)。

元々ロースペックなマシンで開発、使用していたために負荷にはそれなりに強いです。マシンを買い替えてしまったので、これからが不安です。

WyvernでBGM聴きながら作業していればきっとそれなりに…。

PC-88の時には裏で何か走らせるというのは大変なことだったので気にしなくてもよかったり。

もう一つの対処法。

ぜひ DF を(笑) (←多分ココも見ちゃいない)

Sytem AKT - Scribble 不可(2002.01.30)より

いや、あふユーザなら一日5回は祈りをささげているハズ。

小銭

小銭が無い。コレでは自販機で飲み物が買えない。ピンチ。

仕方がないので、購買で適当に本を。てきとー、となると何を買ってもいいのだけど余計に悩む。

発売日に見かけて、まあどうでもいいや(失礼)と思ったインターフェース3月号を購入。特集が

組み込みむけCプログラミングの基礎

なんとなくDFを改良するのに役立ちそうではないか。なんとなく。

一時停止の感想

まさかあんなことになるとは思いませんでした。

辺境というか、マイナーなところに位置していると思っていたので、一日ちょっとでこれほどまでに反響があるとは思っていませんでした。たくさんの叱咤激励安否の確認罵倒ウィルススパムありがとうございました。ウィルスとスパムは通常の三倍という程度でしたが。

個別にも返答いたしましたが、

ということで一つ。

別に落ち込んで消した訳ではなくて、気に障るって言うなら消してやるぜコンチクショウ、どうでぇこれで文句はあるめぇ、という勢いで消しただけです。

驚かれたかもしれませんが、私も驚きました。

DF

テキストビューアからテキストエディタが起動しなくなっていた問題解決。

ファイル名をタイトルバーから持ってくるという手抜きな作りだったもので、ここに文字コードとかを表示させるとファイル名が取れなくなっていたのだな。

2002年02月02日

キムチ

コンビニで見かけて無性に食べたくなったので買って帰る。

カラっ。下のほう、漬かり過ぎ。

読書

昨日買ったインターフェイスを読んで、ダブルブリッド再読していたら出かける気力がなくなった。

台湾の方からメーられる

特訓をくれとかメーられる。

幸い、台湾語(?)ではなくて英語だったので助かる。台湾にも広がる特訓。びっくり。

つーか、この間からびっくりしてばかりだ。

このメールをいただいて初めて特訓の実行バイナリをアップロードしそこなっていることに気づく。ついでにXPで(NT系で?)タイマーのタイミングが微妙にずれていたのを修正したものをアップロードする。

台湾人だ、というりにはfromが co.jp で charsetがISO-2022-JPだったりして。でもreceivedは.tw。よくわからない。

特訓の国際化ってやったほうがいいのかなあ。「ん!?」ってなんと訳せばいいのだ。what!?

DDRに飽きたから瞑想修行は消したけど。ftpコマンド生成ツールも使いみち無さそうだし、HTMLのタグ入れ子チェッカもAnoter HTML lint使えばもっと詳しく出てくるしってことで削除。

日記だけで4MBくらいくらってるので容量をあけないと。

2002年02月03日

柏買い出し紀行

気がついたら24時間ほど何も食べてないぞ。昨日、日付が変わった辺りに食べたキムチが最後だ。

コンビニにゴー。横浜まで買い物に行けば横浜買い出し紀行とかいってネタになったのになあ。

というか、どうして毎週休みになると食事を忘れるのだろう。

記念日

コンビニに向かう途中、記念日であることに思い至る。

だからどうする、というものでもないけど。

柏買い出し紀行 戻り

というわけで、とんがらし麺 石鍋風ラーメン。

秋葉原

もうね、アホかと。

T-ZONE、なんで入り口がそれですか。

つーか、もっと入りやすい店内にしてくれ。でも、ターゲットの客層がコレなんだろうなあ。

インターフェイス3月号の感想

Cの処理系が裏で何をやっているか、ということの列挙で終わってしまっている。

の存在を知っていれば読まなくてもいい感じ。

そもそも組み込み系だとターゲットでやることが違ってくるので、一般的な事柄というのはものすごく少ない。秋月あたりで適当なキット買ってきて、それで実習してみる、という記事のほうがいいかも。具体的な内容は違っても、やることは似ているから一つやったことがあればそれなりに応用が効く。

無理に組み込み系でなくても、標準ライブラリを使わずに、スタートアップから作ってみればCの処理系が何をやっているか、何をしなければならないのかが判るのでその程度で応用は効くかも。

移植性の高いコーディングにて、#if を使えみたいなことが書いてあったり。そりゃ#ifで分けちゃえば複数の環境で動くものが作れるのだけど、複数のコードを書いているのだから動いて当然というか。

みたいな記事を期待していたのでちょっと残念。

そんな都合のいい話は無いけども、ある程度条件を限定したら不可能ではないかなとか。

みたいな。

オープンソース

面倒。

儲からないから(どうやったら儲かるの?)企業ではやりにくいし、個人では手間がかかり過ぎる。

私が何かするとしても、送られてきたコードやパッチを検証したりするのが手間。ただソースを公開するだけ、というところまではできても共同開発、というところまではとてもじゃないけど手が回らない。

というか、他人のコードを読み下すだけの能力が私にあるかどうか非常に疑問。自分のコードですら面倒見切れていないのに。

他人のコードを読み下して評価できるだけの能力を持つ人がいないとすぐに破綻する。

BSDではコードを読み下して評価するcommiterを複数人割り当てているし、LinuxではLinus氏がこの役割を果たしてきたけど一人ではそろそろ限界らしい

ソースを書く人、検証する人に対して報酬を支払うような仕組みができないと商売にはならないだろうし、それが実現しないと商売にはならないだろうな。

GNU

GNU

The GNU Project was launched in 1984 to develop a complete Unix-like operating system which is free software: the GNU system.

Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as ``Linux'', they are more accurately called GNU/Linux systems.

まるでGNUがLinuxを作ったような主張はなんだかなあ、とか思う。

Linuxの上でGNUのソフトウェアが走っているのは事実だけども、それをGNU/Linuxというのはなんか変。Linuxを作った、という功績を横取りしているように感じる。

なんでGNU/BSDとは呼ばないのだろう。WindowsでもGNUのソフトウェアは走っているけどGNU/Windowsとは言わないし。

教えてえらい人。

FIVAPM

DOSのLHAで圧縮したらファイル名が大文字になってた。結果404。

FIVA OFF

待ち合わせ場所はNecca。ってどこだ。

15:00待ち合わせ。まだ時間があると思って洗濯したら洗濯が終わったのが15:00。ダメじゃん。

とりあえずほりかわさんにデンパ飛ばしてNeccaの場所を教えてもらう。無事合流。

いろいろ突っ込まれてしまう。

一人裏切ってCASIO製品を持っていない私。今回のお仕事にSVGAマシンはツラかったんだよー。

ほりかわさんとのツーショットほりかわさんと記念撮影。なぜか分解されている。

matbaaさんのタイピング、はやい。日記を書いていらっしゃったようだけど、ネタを考えながらだと思うのだけどタイピングが速い。

対抗しようと思ったけど、ネタが出てこなくて手が止まる。負け。

18:00まで待ってみたものの主賓(謎)がいらっしゃらないのでそのまま雪崩式に解散。

あっ、matbaaさんにラーメンおごり忘れた。なんてこった。

ちなみに、matbaaさんがNeccaのメイドさんに訊いてみたところ、Neccaでは半田づけOkだそうです。マジですか。

Neccaの利用規約では、著作権で保護されたROMイメージをダウンロードしてはいけないので、BIOSアップデータなどをダウンロードしてはいけない模様。無念。

買い物

チチブデンキでLibretto SS 1000のバッテリ購入。

秋葉館 PDAでCLIEの横開きケース購入。

ただでさえ分厚いCLIEがますます厚くなる。こりゃ考え物。

次のCLIEは買うかもしれないなあ。次を買わなければさらにその次。

うわ、MAGIC GATE メモリスティックが安い。64MB 6K台。んがー。しくじった。

でも2つ目を買っても使わないだろうからメモリスティックWalkmanを買うまで保留。

ついでに、SRX3のキーボードかバーも購入。すでに3枚め。へたるの早すぎ。

って私の使い方が荒いのか。

Necca

ActivePerlをダウンロードしたくてNeccaに舞い戻る。っていうかこの日記もNeccaで書いてアップロード。

瞬時にダウンロードできる。びっくり。

ついでにAirH"では実行する気が起きなかったWindows Updateを実行。あっと言う間。楽だー。

家にも光引きたいぞコンチクショウ。

つーかso-netのADSL申し込んだくせに自分の家の電話番号間違えてアウト。もうね、アホかと。馬鹿かと。

晩ご飯

おなか空いてきた。

てんやの天ぷら定食を食べたくもあり、sagamiさんが教えてくれたラーメン激戦都市・柏からてきとーに一軒入ってみたくもあり。

GNU #2

結局柏に移動中。気分はラーメン。

その周辺のシステムを作ったのはGNUプロジェクト、という主張だそうな。 >びいさん

K.INABA talk 17:00 02/02/03より

その辺りは判っているのです。LinuxカーネルとGNUソフトウェアのセットで「GNU/Linux」と呼ぶ。で、GNUソフトウェアが動いているWindowsをGNU/Windowsと呼ばないのはなんでだろう、と。

Linuxという言葉だけではカーネルしか指さないから、周辺ソフトウェアも含めてLinuxと呼ぶのは変だ、というのは判ります。Ok。

だからといって、GNUはOSを作ってきました。その成果がLinuxです、というのはなんか違和感が。

誰かが柱を立て、壁を塗り、屋根をふいたところに、住人が使うであろう家具を運びこみ、じゅうたんを敷いて「我々は家を建てました」と主張しているような感じ。

誰かが作った家に対して、彼らは住めるように環境を整えただけであって「家を建てた」と主張するのは変だなあ、と。

Windowsは GNUソフトウェア 無しでも全く普通にWindowsですし、OpenBSDやNetBSDも、GNUソフトウェアを抜いたら カーネルが丸裸に なっちゃう、ということはないんじゃないでしょうか。

K.INABA talk 17:00 02/02/03より

Linuxデストリビューションも、カーネルとGNUソフトウェアだけで構成されているわけではありませんし。なんかもやもやとしてた違和感がっ。

掘立小屋のLinuxカーネルを人が住める状態までに持っていった、というのはすごいことです。だからといって、最初の掘立小屋まで作ったことにするのは変だし。

今、仕事ではFreeBSDのカーネルにカーネルドライバつっこんでごにょごにょして実験しているわけですが、周辺アプリが全くなくてもやっぱりそれはFreeBSDなんです。

以前はITRONでごにょごにょしてました。こちらはITRONとこちらで作ったプログラムしかなくてシェルも何も無いので動き始めてしまうと直接触ることはできないのですが、やっぱりドコから見てもITRONでした。

ドコからドコまでがOSなのか、これがなくなったらOSではなくなる、という部分はなんなのか、と考えると、それはカーネルとシステムコールなんじゃないかなという気がします。

WindowsもシェルがPROGMAN.EXEだろうがFILEMAN.EXEだろうがExplorerだろうがLiteStepだろうがWindowsだし。

爆旨ラーメンたか

とりあえずここに決める。

爆旨ラーメンたかって2Fはテレクラか。入りにくいな。

っていうか、シャッター降りてる。閉まってやがる。遅すぎたんだ。

手打ちにしてくれる、というわけですぐそばの手打ちラーメン珍来で坦々麺。

うま。っていうか、久しぶりにおいしい水を飲んだ。この間いった新宿の新高揚も水はマズかったし。

2002年02月04日

起動時間

気がついたら連続24時間稼働中。

そろそろ寝るか。

特訓

送りつけた人から返事がきていた。届いたらしい。

なんだか合格するまで頑張るよっ!的なことが書いてあったんだけど、どう返事しよう。合格しないし。

つーか「白衣の天使」とかって通じるんだろうか。これで日本語の勉強されるとちょっちなあ。Internetって恐い。

長過ぎる文

Norton Anti Virusのメッセージ。

インストールした更新版の一部を有効にするには今すぐコンピュータを再ブートする必要があります。未保存のすべてのデータを保存してコンピュータを再起動するために[OK]をクリックしてください。

長い。OKを押すと自動的に未保存のすべてのデータを保存してコンピュータを再起動してくれるような気がするけど、Norton Anti VirusがWZエディタを操作して、今書いている未保存の日記。を保存してくれるわけがないので大丈夫。

未保存のすべてのデータを保存してコンピュータを再起動するために[OK]をクリックしてください。

とでもして、順序があることを示すか、もっと明示的に

未保存のすべてのデータを保存してから、コンピュータを再起動するために[OK]をクリックしてください。

としたほうが誤解されにくい。OKをクリックすると何が起こるのかわからない。

のどちらにも解釈できる。むしろ、データの保存と再起動が自動的に行われるようにすらみえる。たまたま私は「Windowsでは、あるプログラムが別のプログラムを自動で操作するのは難しい」ということを知っているから、OKをクリックすると再起動だけが行われるだろうと推測できる。

私なら

未保存のすべてのデータを保存してからコンピュータを再起動してください。[OK]をクリックすると再起動します。

とするかな。

の二種類の言葉が出てくるのも気になる。ブートなんていう専門用語を使わずに全部「再起動」でいいじゃん。

Digital Mars C/C++

smakeとかobj2asmとか出てきたからびっくり。

Symantec C++の子孫なのね。ほしいなあ。引数のレジスタ渡しはできるようになったのだろうか。Symantec C++7.21Jではできなかったのだけど。

300MBか。昨日Neccaにいた時にダウンロードしておけばよかった。って何時間かかるんだろう。

っていうか、リソースエディタは無いのかな。Fearure listには特に何も書かれていないようだ。

まあ、今週帰るんだからカスタマイザを作るのは帰ってからでもいいか。

Digital Mars のリソースコンパイラが日本語化け化け。 -j オプションなんてのでちゃんとShiftJISに従って 解析するようには出来るのに、何故か最後にUnicodeに変換するところでアウト…。 誰か情報持ってたら下さい。

talk 11:34 02/02/04より

Symantec C++7.21Jのと同じであれば、 rcc -j -32 $*.rc -o$*.resでいけるハズ。

今、実行ファイルはOPTLINKとOBJ2ASMしか持っていないので確認できませんけど。

-32 を付けてないとWindows 3.1用のリソースファイルが出来上がります。こちらはUNICODEじゃなくてネイティブコードをそのまま突っ込むので。

つーか、このことが判ってWATCOMのリソースエディタでも編集できるようになったり。このリソースエディタ、NT用の実行ファイルのくせしてWindows 3.1用のリソースファイルしか読みやがらない。

バイナリのしか読んでくれないので、リソース識別子がイミディエイトになってしまって#define定義が使えない。まあ、レイアウトだけてきとーに処理してから自分で#define書けばいいという話も。

面倒だし、帰ったからにしたいよなあ。つーか、Visual C++を捨てられない理由ができてしまったり。

一応、Borland C++とWATCOM C++からの乗り換え版もあるんだよな。昨日見つけたけど。高くて手が出ない。Visual C++とVisual Studioで差額1万円。Visual Basicが1万円と思えば安いものか。インストールしないから無駄かも。ライセンス的には別マシンにインストールしてもいいのだろうか。メインマシンにはVisual Basicを入れたくない。

寝る

眠くてたまらん。寝る。PHSの電源も切ってしまう。

2002年02月05日

寝坊

PHSの電源切ってたら、目覚まし時計代わりにならなくて寝坊。

忘れ物

マウス忘れた。

カウンタ

最近気がついたのだけど、16,000ではなくて160,000だったのね。

rcc.exe

その辺は指定してるんですが、駄目でした。

K.INABA talk 08:50 02/02/05より

失礼。昨日の書き間違い。-j ではなくて -j0。数値を省略したら-j0だったと思うけど。-j1、-j2で韓国語と…もう一つ何だっけ。なんか別のDBCSに切り替わったハズ。忘れた。WATCOM C/C++だと

-zk0
日本語Shift_JIS
-zk1
中国語/台湾語
-zk2
韓国語

となっているから、多分中国語/台湾語。

-32を付けるかどうかでUNICODE変換が入るかどうかが決まるのではないかと思っていたのだけどはずれか。

ちなみにSymantec C++を使っていた時は.DEFファイル書いてました。

NAME		"BKEY"
DESCRIPTION	'BKEY'
EXETYPE		NT
SUBSYSTEM	WINDOWS,4.0
STUB		'BSTUB.EXE'
CODE		 EXECUTE READ
DATA		 READ WRITE
HEAPSIZE	10240, 4096
STACKSIZE	10240, 4096

SUBSYSTEM指定しておけばウィンドウモードで動くアプリができたり。DLLのエクスポートテーブル作る時はDEFファイルあったほうが楽だし。

Digital Mars - Compiler & Tools Guide - RCCを見ていたら、-l なんていうオプションがある。Symantec C++の時には無かったような気がする。少なくとも、以前使っていたmakefileには書いてない。

-lnnnn Specify the default language ID for Unicode conversions. nnnn is a hexadecimal number of the form 0xnnnn, nnnnh, or nnnn. Valid only if -32 is also specified.

rcc -j0 -32 -l0x0411でOk?

ちょほいと戻って。

IDE付きの300MBのはCD版のみで、ダウンロードは出来ない模様。

K.INABA talk 08:50 02/02/05より

失礼。また桁読み間違えていました。

Digital Mars C/C++ Compiler Version 8.26 (2,862,000 bytes) (NEW!)

とあって、なぜかコレを286MBと読んだようです。2.8MBじゃん。なんか最近数え間違いが多いなあ。

うっかりしてVisual Studioが8,000円? 安いっ! とか思わないようにしないと。

Digital Mars C/C++

__declspec(naked)をサポートしてるって。すげー。

これ指定して自分でプロローグ/エピローグ書いたりするのって変態特殊な状態だと思うし、たいていはアセンブラを使うような気が。

こんなものサポートしなくても、関数の呼出規約、パラメータに使用するレジスタを指定できるように作っておけばいらないし、全部Cで書けるのでよっぽどうれしい。WATCOMだと#pragma auxでパラメータをどのレジスタに突っ込むか、右から入れるか左から入れるか、スタックを呼出側がクリアするのか関数がクリアするのか、といったことまで指定できるのでnakedが無くても困らなかったり。

せっかくだから、ダウンロード。10分くらいで終了。

呼出規約の指定に-P と -Pzしかないということはまだfastcallはついてないのか。レジスタ渡しにすることで変数をレジスタに割り当てられなくなることを嫌っているのか。

でもsmakeの書式とか忘れた。@<<でテンポラリファイルのリダイレクトってできないんだっけ。

ああっインラインアセンブラ部分でエラーが出る。直すの面倒だ。

仕事の手が空いてからにしよう。

rcc.exe

コレ、-lオプション聴いていないような。-l0x411 付けてコンパイルしたものと-l409付けてコンパイルしたものと比較しても差が出ない。おーい。

それはそれとして、ではどうしたらいいのだ。自分でUNICODEで書いておく?

ExitWindowsEx

This behavior is caused by the design of the hardware or driver.

INFO:ExitWindowsEx() Does Not Shut Down or Restart Win 95/98/Meより

んがー。

どのドライバがワガママ言っているのか調べる方法は無いのだろうか。

あふ

あふのダイアログ私が文句を言う筋合いは全くないのですが(^^;)、文字の色をclBlackから読める色にしてください。なんだっけ。clWindowText?

2002年02月06日

DF

オプションを追加するためにソースを見ていたらイヤなもの発見。

df -hogehoge と指定すると、hogehogeディレクトリを起点として起動しやがる。無視しろ。

アワビ

安い回転寿司で回ってるアワビのように見えるアワビではないナニか

お笑いパソコン日誌 2002/2/6 AM 8:38より

って何だろう。食ってみたい。ドコにあるのだろう。果たして私は、それをアワビではないと認識できるだろうか。

食べ比べれば判るような気もするけど、単独で食べた時に認識できるかどうかは自信が無い。

二重起動

  1. 設定ファイルの読み込み
  2. コマンドライン解釈。コマンドラインによる位置指定で設定ファイルの内容を上書きするためこちらが後。
  3. ウィンドウ作成。位置を決めてからウィンドウを作るためこちらが後。
  4. 作業用メモリ割り当て。ウィンドウと関連づけるため。こちらが後。

二重起動の防止を行うには、ウィンドウで判定させたいからウィンドウの生成を早めにして、コマンドラインの解釈を一番先にしたほうが誤動作が少ないような気が。

  1. コマンドライン解釈。
  2. ウィンドウ作成。
  3. 設定ファイルの読み込み。
  4. 作業用メモリ割り当て。

辻褄があわない。ウィンドウを作っても隠しておく、という手もあるけど無駄な処理だ。

ユーザに対するフィードバックを考えると、まずはウィンドウを表示するというのが最優先なんだけども。

ウィンドウを表示するには位置が決まらないといけないし、位置を決めるには設定ファイルを読んで、コマンドラインを解釈…。

あと、どうやって別プロセスのDFに、カレントディレクトリ変更を通知するか。

あ、

  1. 設定ファイルから位置の読み込み。
  2. コマンドライン解釈。
  3. ウィンドウ作成。
  4. 設定ファイルから読み残した部分を読み込み。
  5. 作業用メモリ割り当て。

これでどうよ。

二重起動 #2

ダメ。ダメダメ。

設定ファイル読まないと表示色が決まらないから、描画が変。戻す。

ベクター

Windows終了用アプリを探すためにベクターへ。

ホームページ(d:\doc\todo.html)からベクターのファイラーのページにリンクしてあるのでとりあえずソコにジャンプ。

やられたっ!

ベクターでは文字コード順か辞書順か判らないけど、とにかく題名で整列されている。というわけで、@niftyのデータライブラリでは「二画面〜」になっているけども。先頭になるようにDFは「2画面ファイル管理ソフト DF」という題名に修正して登録した。「二画面」ではアルファベットよりも後ろになるだろうから、「2画面」としたわけだ。

名前が数字から始まるファイラーはそれまで無かったので、一覧表の先頭に表示されていた。

それが、今見たら0絵描きが作った!超使える便利なフォルダというファイラーに先頭を取られてしまった。0とは予想外だ。参った。

ところでなんと読めばいいのでしょうか。「れいえかき」?

ちなみにBKEYは、ベクターに「ブラインドタッチ要請ギブス」と登録されたのでバージョンアップ時に「BKEY ブラインドタッチ要請ギブス」と題名を変えてリストの上に来るようにしたとかいう。

すげー小細工。こんな小細工するよりも中身に突っ込めという話もある。

2002年02月07日

FIVA 10x登場?

FIVA MPC-103ベースカスタムモデル。

部屋で吹き出してしまったので勢いに乗ってfiva-mlに流してしまう。こんな時間でも反応がっ。

アイコン

使用頻度の高いツールはデスクトップ上にショートカットを置くわけですが、良くあるデスクトップの図「iriaとRarutyとSusieの女の子達が仲良く並んでいたりする」ってのがあり、お堅い職場だとちょっと浮いてみたり。

連邦 02/02/06 Irvine 0.3.29 betaリリースより

そうか、女の子かっ! お堅い職場でも女の子アイコンOkですかかかかっ!

ではDFのアイコンを…

あ、お堅い職場ではそもそも並べませんか。

連邦 02/02/06 Irvine 0.3.29 betaリリースより

んがー。

お仕事

終わんないわ。

この試作品の使い方が判らん。作った人もどうやったら動くのか試行錯誤している。

エラー発生条件をどのように設定したらいいか、なんて訊かれても困る。お前は何をエラーにしたいのか問いたい。問い詰めたい。

こっちは作ってもらったエンジンを操作できるようにアクセルやらハンドルやらを付けているだけなのだから、どのようにアクセル踏んだりハンドル回したら目的地に付けるかというのはそちらで考えていただきたい。

つーか、こちらにも目的地と目標時間なんかを教えて頂けると、それに見合った使いやすいハンドルとアクセルを提供するのだが。このハードウェアでナニをしたいのかさっぱり判らん。

2002年02月08日

おしごと

今日が千葉最後の日(予定)。

間に合うのか、おい。

DF環境設定

作りかけのDF環境設定ツール左側にリストボックス付けてみたけど、よく考えるとこんなに大きいの付けると余ってもったいない。

で、右側のほうはWS_CHILDなダイアログを貼り付けてあるんだけど、これがTabキーでフォーカス動いてくれない。どーしたらいいんだ。なぜかTabを押すと親ダイアログのコントロールにフォーカスが移動してしまう。

プロパティシート使うしかないのか。面倒だけど。

日本語版Opera

今英語版使っているから別にどうということはないけど、日本円でレジストできるのはありがたいかも。

日本語版販売元。ライセンスはどうなっているのだろう。一人で複数マシンに突っ込んでOk?

飛行機予約

予約取るの忘れてた。Webからてきとーに15時の便を予約。

15時以前の便は空席が無いと聞いていたけど、空いてる。少ないけど。

おしごと

終わらん。

てきとーに引き継いで撤退。

わざわざ送別会まで開いていただいたが、個人的にはそんなことよりも荷物をまとめたい。まとめさせて欲しい。

飛行機を予約した時に、午前中の便が空いていたことを伝えると、そっちにしようということになる。

飲み屋でVAIO開いて予約変更。横ではザウルスからWebにアクセス。ザウルスいーなー。

SONYはメモリスティックスロットに入るCFアダプタを作れ。要望であって強制ではありません。

むしろメモリスティックとCFスロットを同時に使えるCLIE作れ。作ったら買う。

DDIPocketも1契約1端末ではなくてFOMAみたいに1契約n端末にしてほしい。そしたら通話用端末とAirH"を揃えてもよくってよ。

送別会が終わったら0時ちょい前。勘弁していただきたい。

2002年02月09日

DF日記

マークアップが信じられないほど乱れていた。例の中途半端な自作ツールでチェックして修正。

そういえばAnohter HTML lintを使うと、Shift_JISでJIS X 0201の1バイトカタカナが警告されるのはなぜだろうか。

撤退準備

疲れ果てたので一眠りしてから荷物をまとめることにする。

予定通り4時に起床。目覚まし無しでコレができるのもすごいと自分でも思った。やればできる。

荷物をまとめ始める。

おわらねー。片づけている最中、なぜかRAGNAROKのレベルが一つ上がる。

荷物を送りにコンビニに。後から後から客が入ってきてなかなか受け付けてもらえない。私の伝票を処理している中に他の客の対応に切り替えやがる。

電車

電車に乗っていると、子供連れのお母さん(?)と、もう一人の女性の会話が耳に入ってくる。「どっちがいい?」「んー、毛かな」「毛?」「うん、毛のほうが好き」

毛? なんの話だーとか思っていたら蟹の話らしい。

略称

日本トランスオーシャン航空
JTA
AirDo
ADO

亜土電子工業もADOだったような気がする。てきとーにこじつけられないかなとか考えるわけだが、定番としてAは兄貴以下略。

空港

ごめーん、カウンターがモロ混みで。

なんでこんなに人が。キャンセル待ち?

11時発。10時40分にカウンターに着いた。30分待たされた。後ろでいらついているのかぶち切れているおっちゃんがいるし。怒鳴ったって列が短くなるもんでもないし、飛行機が増えるわけでもない。ぱっぱと出発したかったら一人でセスナでもチャーターしてとっとと行ってしまえこの貧乏人とか思ったけど口には出さない。こっちもイライラしていたので隣とか、もう2mくらい近くに居たら口に出したかも。

カウンターで3人ほどが対応に当たってる。このおっちゃんが怒鳴ることで、係員が一人足留めくらっている。このおっちゃん、怒鳴るのやめたらカウンターの人手が3割増える。このおっちゃん、怒鳴ることで待っている50人を3割ほど余計に待たせていることになるのだが気付いていないのだろうか。もちろん、この50人の中におっちゃん本人も含まれている。

なんでイライラしたかって、空港のカウンターでホテルの予約ができるかとか列車のチケット買いたいとか訳のわからんことを抜かす爺さんが居たり(みどりの窓口に行け、とか言われてる)、おばちゃんがまだ時間のある便についてぐだぐだ行っていたり。そんなことより聞いてくれよ、係員よ。こっちはあと5分で手荷物預けられなくなるんだってば。搭乗手続きさせてくれ。

あと、チケット渡してからの待ち時間が異様に長かったりしてイライラする。私のあとから7人札幌行きの手続きをしていたけど、私の対応をしていた兄ちゃんが隣のカウンターに行ってて8人中最後になってしまっていたり。名前は覚えたけどここに書くのもどうかと。書かないと忘れるけど。

ふつー、チケット渡した時点で予約番号訊かれるんだけど、今回訊かれないし。予約してても意味ない。

彼は隣のカウンターで端末叩いていたけど何をしていたのだ。

結局手荷物は預けられず、機内持ち込み。出発まで時間がないので優先検査ゲートを通る。出発のときに引っかかったノートもこちらでは引っかからない。

持ち込むなら、時間ぎりぎりを狙えということか。そういえば手荷物を預けなかったので機内にナイフも持ち込めてしまった。

2002年02月10日

CLIE

シスアドの試験問題にIPアドレスのクラスの問題が。

説明するのに関数電卓を使いたくてCLIEを取り出そうとしたら…無い。んがー。

昨日の機内に忘れたのだろうと思ってANAに電話。電話番号が判らん。

サイトマップを見ると北海道にお住まいの方へというリンクを見つける。これかっと思ってみると、ANAの札幌カウンターの住所と地図は見つかるものの、肝心の電話番号が見つからない。んがー。

Webページから見つけることができなかったのでGoogleって検索。

なんか航空券の予約ページばかりヒットする。んがー。

たどっていったら空港の案内の電話番号が見つかったので掛けてみる。休日は休みだっ! んがー。

その後で遺失物はこちら、というページを発見したので電話。なかなか出ない。休みか? と思ったところでつながる。

PDAとかCLIEとか言っても通じないような気がするので電子手帳と言っておく。発見されたらしい。ほっ。

明日、札幌駅前のANAに回収しに行く。

ファイラー

Liquidz Onlineで、Lizardというファイラーが開発、公開されている。

こちらの方は高校生とのこと。こちらも今後に期待。

今のところ、カーソルキーを押しっぱなしにするとCPU負荷が異様に高まるというのが気になる。

プログラミングのページにいくつか突っ込みたいところがあったのでメーる。

Opera

6.01日本語版をインストール。

ブックマークが増えててぐんにょりする。こんなにあっても見ないよ。見たいものが埋もれてしまって探しにくくなるし、邪魔なだけ。

で、もう一度起動した時に出たダイアログ。OperaのTipsダイアログだと思われるもの。読めないので不明。何が書いてあるのか。

だーかーらー、背景色を黒以下略。

再起動要求

Windows Updateを行った。

インストールを完了するにはコンピュータを再起動する必要があります。>
後で再起動するか、または、ほかのプログラムを最初に閉じる場合は、[キャンセル]をクリックし、コンピュータを手動で再起動してください。
今すぐ再起動しますか?再起動を要求するダイアログが表示された。Norton Anti Virusのダイアログに比べればはるかにマシだと思った。

再起動するかと書いてあるのだから、後に続くまたは、はくどい。読点も多いし。

あと、ボタンは

の組み合わせではなくて

の方がいいと思う。

ふつー、再起動しますか?という問いかけにキャンセルとは応えない。

2002年02月11日

RAGNAROK Online

呪文詠唱中に固まる。

こりゃ死ぬなー、とあきらめていたらヒールをかけてくれた人がいた。

おかげさまで無事に生き延びていた。いやー、うれしいね。

CLIE

回収。

日記のネタが入っていたので追記。

紀伊国屋

本を買いに。

結城さんの日記を見てからキングの「小説作法」を読んでみたくなって。

結局一万円以上を書籍に変換した。

雪祭り

祭ってくれよー。

今年は暖冬だったらしく、かなり崩れている。

雪祭りの雪像
なんだかよくわからないが、軸が見えている。
拡大図軸拡大。
おじゃる丸の雪像
生え際が激しく後退している。
ミカン星人
地元テレビ局のキャラクター、onちゃん。ミカン星人のようだ。やけに落ち着きがなくてなかなか撮影できなかった。寒いのか舞台袖に移動した時に激しく震えていた。
雪祭りの雪像
なんだかよくわからないが、耳がない。耳をかじられた直後のドラえもんだろうか。
雪祭りの雪像
なんだかよくわからない。すでに原形をとどめていないような気もする。
すしあざらしの雪像
すしあざらしの雪像口の下に穴があいているので、そっちが口にみえる。まるでチョビヒゲ。
鼻から氷柱
鼻から氷柱。
∧ ∧>
( ゚Д゚)
うわさのブツ。
∧ ∧>
( ゚Д゚)∧ ∧>
( ゚Д゚)割と人気。

マスク、マーク

DFなんか動作が変です。

ファイラーを語ろう Part4>>955より

んがー。

とある時は、*1.jpgのマスクでちゃんとabcdef-1.jpg,bcdefg-1.jpgになるのですが

とある時に*1のマスクをするとabcdefg-5.jpg,abcdefg-6.jpg,abcdef-1.jpg,abcdefg-1.jpg,bcdefg-1.jpg になります

ファイラーを語ろう Part4>>955より

再現しねー。abcdefg-5.jpgなんて選択されねー。どこだー。何が悪いんだー、日ごろの行いかーっ!

2002年02月12日

おたく度チェック

せっかくだからぷるうぇい。

びいさんお疲れ様でした。あなたの総合おたくパワーは919パワーです!

詳細は次の通りになっています。

結果値(単位:パワー)
マニア度 147パワー
危険度 141パワー
萌え度 175パワー
煩悩度 145パワー
さわやか度-24パワー
迷惑度 127パワー
潜在能力 208パワー

おたく度チェック測定結果より

さわやか度のマイナスってなんだよ。っていうか、さわやかな方がおたく度が上なのか?最強のおたくは強烈にさわやかなのか?

せっかくだからツッコミ。

<問1>自分はオタクじゃないかな?って思った事はありますか?

のどちらの意味なのか理解不能。

そもそも自分がオタクなのかそうではないのか、という疑問を抱いた時点で敗北しているのかもしれない。

もちろん私は、自信と自覚を持ってオタクであると思っているのでこのような疑問は抱かない。全くもって問題なし。

よって解答は

そんなわけないにょ♪

<問1>カラオケに行ったらアニソン7割他3割くらいだ

もちろんいいえだ。アニソン9割他1割。場合によっては10割アニソン。いいえに決まっておる。アニキソング万歳っ!

問い合わせ

そもそも「再起動」と「キャンセル」にすれば「再起動しますか?」は要らないような気がする。

偽偽夜食日記 2002年2月11日より

ちょー御意。

単にMessageBox() API のご都合によるものだと思われます。

このあたりについてのアレについて、むらまささんと一緒に買ったWin32エラーメッセージなんちゃらとかいうオライリーの本が参考になると思いますが、まだ触りしか読んでません。

この問い掛けってコマンドラインのプログラムでよく見る「再起動しますか?(Y/N)」のノリではないだろうか。

偽偽夜食日記 2002年2月11日より

だったら

のボタンの組み合わせにしておけばいいわけで。これならMessageBox()でもMB_YESNOフラグで出せる。

PEフォーマットの解析

部員弐号さんの掲示板の話題。

PEフォーマットを解析して、実行ファイルのサイズを調べたい、という話。

exe.Position:=$3c;
pebase:=0;
exe.ReadBuffer(pebase,2); // PEヘッダ位置
exe.Position:=pebase;
v:=0;
exe.ReadBuffer(v,2); // 'PE'
exe.Position:=pebase+6;
v:=0;
exe.ReadBuffer(v,1); // Object Count
exe.Position:=pebase+(v-1)*40 + $f8 + 16;
exe.ReadBuffer(Fixup,4); // Phys. size
exe.Position:=pebase+ (v-1)*40 + $f8 + 20;
exe.ReadBuffer(v,4); // Phys. offset

より

ちょっとしたことで可読性はもっとよくなると思う。

40
セクションテーブルのサイズ。
$f8
COFFファイルヘッダのサイズ(PEヘッダ、標準ヘッダ、Windows拡張部分のヘッダの合計)
16
セクションテーブルのSizeOfRawDataへのオフセット。実データのサイズが格納されている。
20
セクションテーブルのPointerToRawDataへのオフセット。に含まれる実データのサイズ。

ばっと見た時に、なぜ40を掛けているのか、$f8足すのはなぜか、16という数値はなんの根拠があるのかというのが判らない。

作法にあるように、#defineなりconstでもう少しまともな名前を付けてやれば、人間にとって読みやすくなる。

sections := 0;
exe.ReadBuffer(sections, 1);//  Number of Sections

offset := pebase + SIZEOF_FILEHEADER + (sections-1) * SIZEOF_SECTIONTABLE;

exe.Position := offset + OFFSET_SizeOfRawData;
exe.ReadBuffer(ExeSize, 4); // Phys. size

exe.Position := offset + OFFSET_PointerToRawData;
exe.ReadBuffer(tmp, 4); // Phys. offset
Inc(ExeSize, tmp);

このように書き換えたところで効率が悪くなるものでもないし。

Delphiで定数を宣言する時ってどうするんだっけ。{$Define }だっけ? これは条件コンパイルか。var const int?

サクラ大戦メモリアルパック

ヨドバシに買いに行った。そこでまた品切れですよ。

あー、アキバで買っておけば良かった。

仕方がないからサクラ大戦2メモリアルパックを購入。

先に2をプレイするのか? うーん。

2002年02月13日

一回休み

宅配便の受取のため、休暇。

Japanist 2002

せっかく平日に休みを取ったので、富士通ミドルウェア株式会社に電話。Japanistの機能に付いて問い合わせる。

なったくもって謎だった「前変換」。これは、ひらがなとかカタカナに変換する機能らしい。何がどう前なのか。

変換キーを仮名漢字変換のON/OFFと変換に割り当てる方法は無い、とのこと。んがー。

どの機能が優先されて発動するか、という資料もないとのこと。んがー。

他にも問い詰めたい訊きたいことがあったような気がするけど、思い出せなかったので終了。

2002年02月14日

可読性

定数にして置き換えると、確かに可読性が上がって良いですね。一人で作っているとそういう、可読性を忘れてしまいます。

より

実はオチがありまして。

この間DFのコマンドラインオプションを増やしましたが

static const struct option_param tab[]={
    {"d"   , CL_NOP},
    {"f"   , CL_STRING},
    {"pos" , CL_POSITION},
    {"size", CL_POSITION},
};

p++;/*  スイッチ文字列スキップ  */

for(stat=0; stat < (sizeof(tab)/sizeof(tab[0])); stat++){
    len = lstrlen(tab[stat].param);
    if(_memcmp(p, tab[stat].param, len) == 0){
        p+=len;
        goto FOUND;
    }
}
goto NOTFOUND;

DFのソース、CMDLINE.Cより

この部分なんですがforの継続条件が最初

for(stat=0; stat < 2; stat++)

だったんです。

書いた時は2個しかないし、面倒だし、と手を抜いたんですが、書き換える時に手を抜いたことをすっかり忘れてました。

で、オプションをテーブルに追加した時にこの部分を2から4に書き換えるのを忘れたので-posと-sizeが無視されると。

こういうのは定数にするよりは機械に計算させたほうが間違いは無いので、#defineで定数を作るよりは、今回書いたような式にするのが吉。というか定説。

判っちゃいるけどやめられない。

他のファイラーのページ、ロマンスファイラの1.36と、現在のかめさん、桁違いの性能差なのでぜひとも修正してもらうべく、勝手に自分で下書きを書きますので、ここの日記を見ていたらぜひとも更新お願いします。

より

あいや、しばし待たれい。

測定していたノートパソコンにかめさんを入れるところから始めますので。

他のファイラーと同等の条件で計測しないと行けないので、同じマシンじゃないと。

とりあえず、日付が変わった辺りにダウンロードだけはしておいたり。

ムネオ

ということで、ムネオパソコンなるものが提唱される。

売り上げの一部は非政府機関を通じてムネオ個人の懐に入る仕組み。

マウスはムネオの顔を象ったムネオマウス。手触りも本物を忠実に再現。

ちなみにマウスは消耗品である。

お仕事

復帰。

午前中、ちょっち打ち合わせしてから客先。ということで、客先には午後から行くことに。

そしたら、打ち合わせが予定より早く終わってしまって暇にゅ。

とりあえずマウスを買う。

この間買ったe-mouseだとローラーが内側過ぎて使いにくい。指をかなり曲げないと指先で操作できないのだ。

というわけで購入したのはArvelのトーポというマウス。

こっちだとローラーが前のほうにあるので指先で操作しやすそうだ。

マッサージ

ついでに、肩こり解消のためにマッサージ屋に。10分1,000円。20分で頼む。

もう、20分間目眩く快楽の波が押し寄せてきて本誌記者も昇天という感じ。

仮名漢字変換

なんだよWXG4。Japanistと同居してから面白おかしい変換が多いぞ。

ゲーマーズ

そごうの跡地にあるビックピーカン。あそこの11Fにゲーマーズが入るらしい。

これでヨドバシカメラの時代も終わったか。

ヨドバシカメラの利点
おおむね安い
先に出店した分、既存の客が多い(?)
品揃えが少ないので迷わない
トイレがきれい
エアガンがある
ビックピーカンの利点
地下鉄駅直結
品揃えが多い
おもちゃ
複数フロアにまたがっている

今までだと、ポイントが貯まっているからという理由でヨドバシに行くことも多かったけど、一ヶ所でもろもろ買えるとなるとビックカメラに乗り換えるかも。おもちゃ売り場にリカとかジェニーもあるし。

  1. ヨドバシ
  2. アニメイト

の連続だったのが

  1. ビック
  2. ゲーマーズ
  3. アニメイト

という構成になりそうだ。

でもビックのおもちゃ売り場にはリリアンがいない。

この間まではアニメイトの後にリリアンのいる長崎屋、でドトールで休憩という流れだったのだけど長崎屋もつぶれたし。

札幌のヨドバシって、売場面積が狭い割には1Fにも2Fにもデジカメが置いてあったりして客から見て無駄だなーとか思うことが割と。電池もあっちこっちにの柱にかかってるし。

ビックだと1Fで購入したものの周辺機器とか必須オプションを買いに3Fに移動、なんてことがありそう。電池とかはレジ付近にあってもいいと思うが。

トイザらスはレジの付近に電池が置いてあって好感度高し。

なんてことを考えながらプリンタケーブル購入。3.5m。デスクトップの位置を変えたらケーブルが届かなくなったのだ。コレで届くかどうか不明。

2002年02月15日

メールにてDFの作者であるびいさんに本人にはそんなつもりはないだろうけど力の差を大いに見せ付けられたため今日から初心に戻ってCを改めて勉強開始です(笑)。

より

んがー、またそんな誤解を招くようなことを〜。

送ったのはこんなメール。

□ 複数のファイルを送ってみよう! □
http://www3.ocn.ne.jp/~liquidz/tips/tips_cpp001.htm

で紹介されているソースコードですが、

wsprintf(buf, "%c%s%c", 34, &sendlist[i][0], 34);

これは

wsprintf(buf, "\"%s\2", sendlist[i]);

でいいと思います。文字列中の「"」(ダブルクォート)は「\」(バックスラッ
シュ)でエスケープできます。

 *

□ ファイルのフルパスからディレクトリとファイル名を抜き出そう! □
http://www3.ocn.ne.jp/~liquidz/tips/tips_cpp000.htm
これは、Win32APIの CharNext() を使う手もあります。

char *p, *find;

find = NULL;
p = fullpath;

while(*p){
    if(*p ='\\'){
        find = p;
    }
    p = CharNext(p);
}
if(!find){
    /*  見つからなかった  */
    return 1;
}

という感じで、前から検索していって、最後に見つけた \ の位置を記憶する
というのがポピュラーです。

ちなみに、

hFind = FindFirstFile(fullpath, &wfd);
if(hFind == INVALID_HANDLE_VALUE)
{
    // ファイルが存在していない場合
    FindClose(hFind);
    return 1;
}

のように、オープンできなかったハンドルをFindClose()やCloseHandle()に渡
すとNT4などでエラーが出ます。
FindFirstFile()がINVALID_HANDLE_VALUEを返した、ということはオープンで
きなかったのでクローズする必要はありません。

□ ファイル名をソートしてしまおう! □
の比較関数、2バイト文字に対して誤動作しそうな気がします(^^;)。
たとえば、「ア」(8341)と「ヂ」(8361)だと、アの後ろ0x41とジの後ろ0x61を
toupper()してから比較するので同一として判断してしまいますよね。

自分宛にもbccしてMessage-ID拾っとくんだった。

そんなことよりも聞いてくれ、wsprintf(buf, "\"%s\2", sendlist[i]);の\2って何だよ。

先日、matbaaさんの日記、2002.01.31を見て、モノグラフ 公式集に興味を引かれて買ってきました。

この間の1万円と引き換えにしたものには含まれてませんが。

コレ、帰りの地下鉄の中でめくってみましたが、まず1ページに書いてある数の定義で目から鱗が落ちるというか、断片的に散らばっていた知識が組み合わさって4ラインそろって消えるというか、消えるな。

高校時代に読んでいればまた世界が変わっていたかも。というか、私は高校時代に一体ナニを勉強していたのだ? スト2か。

対ダルシムとかジャンプ大パンチ小足払いしゃがみアッパー小昇竜拳とか。ダメじゃん。

それはともかく、この本を読んで思ったのですが、学校の勉強がつまらないのは数学だからとか物理だからつまらないのではなくて教科書だとか教師が良くない。

私は文字があると読んでしまう質なのでうっかりすると国語辞典とか読み出してしまいますが、それでも学校の教科書は途中で飽きました。

ShellExecuteとウィンドウハンドル

きっと見ていないと確信しつつも反応してみるテスト。

CreateProcessでは、起動したときに得られるプロセスIDを使用して、EnumWindowを使って、開いている全ウィンドウの中から、そのプロセスID を持つウィンドウを探せばよいのです。(厳密には不可能なのですが、まぁいろいろな制限事項の中では可能)

ShellExecuteを使ったときのウィンドウハンドル取得方法は知らないので、Webで検索してみました。うーん、するとShellExecuteの返り値がプロ セスIDになるという記述が...

ほんまかいなとテストしてみると、やっぱりだめ。

K2雑記帳より

ShellExecuteEx()を使ってみてはいかがでしょうか。

NT3.5では使えなかったような気がしますが、NT3.51なら大丈夫ですし。

Visual BasicのShell()はプロセスIDを返してくるらしいのですが、私も玉砕してCreateProcess()使いました。

というか、Webで調べた時にはShell()の戻り値をそのままプロセスハンドルとして扱っていたり、OpenProcess()でプロセスハンドルを取得しているものもあったりと統一されていなかったので(VBのバージョンで違う?)当てにしないで、よく知っているやり方で書きました。

全然VBのありがたみが無いとかいう。

関係のない話ですが、Visual C++の_beginthread()、_beginthreadex()の戻り値をスレッドハンドルとして扱っているものが見受けられるのですが、これらのライブラリ関数がスレッドハンドルを戻すという記述が見つかりません。スレッドハンドルが返ってくると仮定してよいのでしょうか。Borlandなどの他のコンパイラは何を返してくるのでしょうか。

スレッドの終了待ちとかしなくていい場合は戻り値を見なくてもいいのですが、そうも行かない場合ばかりなので標準ライブラリの_beginthread()は使えないという。で、CreateThread()を使ってしまうとスレッドからは標準ライブラリが使えないので面倒なことになったり。

MSDNで検索すると、_beginthread、_beginthreadexスレッド コントロールのための C ランタイム ライブラリ関数がヒットする。

成功すると、どちらの関数も新しく作成したスレッドを指すハンドルを返します。

_beginthread、_beginthreadexより

何らかのハンドルらしい。ただ、これがAPIが返してくるハンドルと同じものであるという保証が無い。CreateFile()もfopen()もオープンしたファイルを指す何かを返してくるけどもこの二つは可換ではない。

_beginthread 関数は、新しいスレッドを作成して、スレッドが正常に作成された場合にスレッド識別子を返します。

スレッド コントロールのための C ランタイム ライブラリ関数より

こちらではハンドルではなくて識別子。

ちなみに、Visual C++のライブラリのソースを読むと、CreateThread()が返してくるものを返している。将来にわたって変更されないと期待してもいい? 期待したら裏切られる?

ダイアログ

というか手を抜かないで自前でダイアログ作れよって感じ。

偽偽夜食日記 2002年2月13日より

自前でダイアログ作ると、画面のプロパティで指定したフォントと異なるフォントで表示されたりして。

SetSystemPowerState

SE_SHUTDOWN_NAME特権が必要らしい。

DFを作った時にはNT4SDKを参照していたので、まだこのAPIがNT系OSには実装されていなかったため、そんなことは記載されていなかったのでDFではこの特権を有効にしていない。

ログアウトとかWindows 9x系の時にはSE_SHUTDOWN_NAMEはいらないので、処理の流れをねじ曲げてみる。訳がわからないことになる。

もう少しすっきり書けないものか。

ExitWindowsEx

Windows 98がシャットダウンできん。

uFlags
シャットダウンのタイプを指定します。次の値のいずれかを指定します。

ExitWindowsExより

日本語版MSDNだとこうだ。いずれかとなっている。select one、という感じ。

uFlags
[in] Specifies the type of shutdown. This parameter must include one of the following values.

ExitWindowsExより

こっちはinclude oneだ。んがー。

ちなみに、このページブラウザがIEでないと別のところに飛ばそうとするのでJava Scriptオフ推奨。

2002年02月16日

日付

間違ってた。

_beginthread、_beginthreadex

ついでに 終了を待ったりする話はQ132078 に。

BRAVOO! 見つけた人は神ッ!

やっと_beginthreadex()の戻り値をWaitForSingleObject()に突っ込んでもいい根拠を見つけましたよ。

For more information on these functions and multithreading, please see the following sources:

How to Use _beginthreadex() and _endthreadex()より

詳しくはソース読めって?(違)

DF

またデグレードしてるし。

Ctrl+Wで検索した後のコピーで、ディレクトリ付きコピーボタンが表示されていない。

goto使うのがイヤで、無理やりねじまがるようなコードを書いていたら見通しが悪くなってしまった。最初からgoto使ったほうがよっぽどキレイだ。

林原めぐみ

SHAMROCK聴きっぱなし。萌え。

後でコレもエンコードしておこう。ゴウザウラーのアレの途中にあるアレが聴きたくなったのだけども結局全曲聴いた上にリピートし続けてしまう。

2002年02月17日

ホームページ

公開しているホームページが、アクの強いものだと引いてしまう人がいるから要注意。

フリー、シェア作家のぐち…4>>288より

ぐはっ。

いや、私のホームページはd:\doc\todo.html(Opera)だし、IEのホームページはプリインストール状態のままhttp://www.vaio.sony.co.jp/だし。

メーラ

Becky!からDatulaに乗り換えを検討中。

Becky!の不満点は、メールの受信時や振り分けの時などにファイルの書き込みに失敗するとファイルが丸ごとなくなってしまう点。このため、同じファイルにまとめられているメールはすべて失われてしまう。

この現象は主にウィルス付きメールを受信した時に発生するので、最近のバージョンでは大きめのメールは単独のファイルの切り分けることで他のファイルが巻き込まれることを防いではいる。

ただ、この対処方法はものすごく場当たり的な感じがするし、そもそもコピーに失敗したらコピー元がなくなってしまうというのが納得行かない。なんでファイルの書き込みに失敗した時点で処理を中断してくれないのか。ファイラーで言うところで、ファイルを移動しようとして複写、削除という手順を踏む時に複写に失敗しても削除してしまうような感じだ。

Datulaでは、一通受信するごとに作業用の一時ファイルに落とすようでウィルスメールはその時点で引っかかる。書き込みに失敗するのは作業用の一時ファイルなので保存用のファイルは無傷。設計的にファイルに書き込めないという事故には強いようだ。

このことだけを見てもBecky!からDatulaに乗り換える理由になるのだけど、イマイチ踏み切れないのが使い勝手の悪さ。

受信したメールにURLが書いてあったとする。コレをコピーしたい。

Becky!ではキーボードで本文の一部を選択してコピーできるのだけど、Datulaではできない。選択するにはマウスとかその辺の何かを使わないとダメっぽい。

振り分け(Datula語では仕分け)条件を登録する時も変。メールを右ボタンを使ってフォルダアイコンにドラッグすると仕分けに登録というメニューが出る。コレを選択したら仕分けに登録できるのかと思うのだけど、登録してくれない。登録条件編集画面が出るだけ。

で、編集結果を登録せずに閉じようとすると条件を変更したのに、登録するのを忘れていませんか? このまま閉じてもよろしいですか?などと訊いてくる。

最初から「仕分けに登録」するといっているのだから登録しとけ。

というか、この警告メッセージはなんだか気に障る。何が忘れていませんか?だ。お前はほんとにユーザーが忘れていると思っているのか問いたい。問い詰めたい。こっちが「仕分けに登録」と言っているのを忘れているだけちゃうんたと。

この警告メッセージが、設定→アカウント毎のダイアログで仕分けタブをいじくった時に出てくるのならまだ納得できるのだけど、私はすでに「登録しろ」という指示を出したつもりでいるから腹が立つ。

他にも、左のフォルダツリーからTabキーで右上のメール一覧リストにフォーカスを移してもフォルダの内容を表示してくれないとか(一度Enterを押さないといけない。メール一覧リストでカーソルを動かすと本文部分はすぐに変更される。フォルダツリーとメール一覧リスト部分で動作が違う)いろいろ操作に対して不満はあるものの、メールを喪失しないようなのでBecky!かDatulaかという二択になるとDatulaを選ぶしかない。

でも操作に違和感がありまくるのでもっといいのは無いのか物色中。

UI周りがBecky!で、受信の動作がDatulaなら安心なんだけど。

いつの時代も慣れこそ最高のユーザビリティ。とはいっても、本文の一部を選択するためにマウスに手を伸ばすというのは慣れてもうっとうしい。

DOSプロンプトみたいに編集メニューから範囲選択とかあればそれでもだいぶ楽になる。KTXがそんな感じだし。

2002年02月18日

その他のファイラー

更新する。

雪祭り

日記に追記する。

判断に二年

治療できるかどうか判断するのに二年もかかるのか。なんで専門家の判断を仰がないのだろう。

2002年02月19日

キ印

ふと気付いたのだが、知り合いの名前が「き」で終わる奴が多い。

せっかくだから「キ印n人衆」とか「キ印n人組」とか呼ぶことにする。あっちに書こうかと思ったけど、キ印n人衆のほとんどはこっちも見ているみたいだし。

アルファブレンド

pBit2[j] :=(((((pBit[i])*(256-r)+(g)*r) shr 8)*iA+iA2*(g)) shr 8);

ごめん、何やってるかさっぱりわかんない。

アルファブレンドって、透明度を0から1とした場合、合成結果 = 合成元1 * 透明度 + 合成元2 * (1 - 透明度) の演算でしょ?

上のコードだとrが透明度だとしたら合成結果 = (合成元2 * (1 - 透明度) + 合成元1 * 透明度) * IA + (iA2 * 合成元1) ? rgが赤、緑だとしても(となると青はpBit2?)意味不明。RGBを直接足したりはしないか。

出てくる言葉(ここでは変数)の意味が通じないから全体の文章(ソースコード)の意味も通じなくなる。

つーか、これ32bppなのか16bppなのか。

あと、256で割っちゃうと、画素値が255、透明度が255の時は 255 * 255 / 256 ってことで255にならない。そのためにrに1足してるんだろうけど。

iAとかiA2ってのはその辺の補正なのかな。やっぱり解らん。

合成元1
A
合成元2
B
透明度
a

とした時、大雑把な式はAa + B(1 - a)。あとはてきとーに変形して Aa + B - Ba、a(A - B) + Bとしてやれば計算量は減らせる。

アセンブラに頼る前に、もっとやることはたくさんある。というか、アセンブリで書いたらコンパイラが最適化してくれないので余計に遅くなるという。コンパイラにできないところをいじるとか、コンパイラ作者よりもスゴイコードを書ける場合にだけアセンブリを使わないと意味がない。MMX使う、というのはコンパイラにできないことだから(未対応なら)やる価値はある。

墓場

くろはたさんがとんでもないことを書いているのを見つけてしまい、コメントしておこうと思う。処理するついでに一ヶ月分たまった墓場を読む。

あまり過大評価しないでいただきたいっ。私にとやかく言われたからといって気にする必要はないし、気にしたほうがいいとも思えません。読んだ方が、私の言い分に理があると思って納得したらそのように対応すればいいだけだし、私の言い分には理由がないと思えば気にする理由もないわけで。

というか、私日本語の使い方関係で何かとやかくいいましたっけ。

Windows エラーメッセージ 実装ガイド

3章以降は特に価値なし。まあ、題名が実装ガイドだから仕方が無いといえば仕方が無いのだけども、実装方法に注目し過ぎていて、実装方のガイドラインにはなっていない。

1章、2章については、アプリケーションのエラーとはかくあるべし、エラーメッセージはかくあるべし、という思想的なものが主題で割と好感持てただけに残念。

2002年02月20日

MEGA MAC

爆笑。

BIG MACでも充分食いにくいんですけど。

T-ZONE

ただし、「原点回帰」とは言いつつも、これから自作に挑戦したいユーザー、特に女性ユーザーなどへの門戸を閉ざさないよう、店舗づくりには気を使っている。

asahi.com : ネット情報 : ASAHIパソコン NEWS 02/16より

それで店の入り口、1Fにあの品揃えか。

DFのソースコード

以前、企んでいたメールマガジン計画を再開。とりあえず何も考えずに書いたら10KBくらいのサイズに。長すぎ。

最初にコンパイルできるところまで持っていきたいのだが。

出張

また千葉だよっ。

一週間の予定。んがー。もう契約切るか。これなら千葉に住む方が楽じゃん。3日に1日は家に帰れない。

擬似関連付け

登録コマンドにキーを割り当てた場合、何が実行されるか解らなくなるという理由で拡張子別登録コマンドには割当たらないようにしている。

しかし、拡張子別登録コマンドを実行できるようにしておけば拡張子に応じたコマンドが実行できることになり、疑似的に関連付けを変更できるようになる。

さて、どうしたものか。

登録した順番でキーを割り当てる、というところに無理があるのか。

特訓

少し弾を速くする。

敵が多すぎぎというか弾が少なすぎる感じがする。最初、敵が体当たりするつもりで移動パターンを考えていたのだけど、気分が変わってしまったのが敗因か。

弾幕張られるのが欲しい感じ。別にいじめられたいわけでもないのだが。

光学マウス

んがー、テレポートするなー。

マウスパッド必要?

2002年02月21日

MEGA MAC

むらまささんによると、激しく既出とのこと。

昨日見たのはPowerTodayのぱくりかミラーということ?

PCMCIA

イベント ID (10) (ソース Pcmcia 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる可能性があります。詳細については、ヘルプとサポートを参照してください。次の情報はイベントの一部です: \Device\Pcmcia0.

イベントビューア システムページのログより

どうやらハイバネーションからレジュームした時なんかにPCMCIAが異様な動作をしているらしい。

何が起きているのかは不明。

出張

一週間がずるずる延びて一ヶ月。

あっちの仕事しかないのならあっちに引っ越すぞ、マジで。

とにかく、現状の予定で3/25まで千葉。

well

台詞中に、間を取るための「well,」なんてのがあると、脳内で自動的に「あぁん?(語尾上げ)」とコンパイルしてしまう。

林太郎風。

PCMCIA

試しにVerifierでPCMCIA.SYSをテストしてみると死ぬ。すぐに再起動されてしまってエラーメッセージが読めなかった。

自動的に再起動のチェックは外しているのだけども。

2002年02月22日

2のぞろ目まであと220年。

Datula

本文からキーボードだけでコピーできない、というのは誤り。

設定の…どこだっけ、全域にわたる設定→構成タブ、ヘッダーペイン、ビューアー、ヘッダーウィンドウにカレットを表示するで解決。

あとは、メッセージを到着順に並べてくれれば。ソートにソートしない設定が無いのがなんとも。

R.O.D.4巻

読了。

買ったのいつだっけ。年末?

千葉に持って行くのを忘れて、あっちの本屋で見つけられずに今まで放置。

2002年02月23日

出張準備

いろいろ。

せっかくコーヒーメーカー新調したのにっ。

ここ半年で三ヶ月千葉にいるというのは行きすぎだと思いませんかっ!

3月17日には、札幌初(らしい)のドールイベントがあるというのにっ。

謎記念日も誕生日も棒に振りまくり空振り三振ですッ!

Libretto 30 BIOS

なんだか知らないが、Libretto 30のBIOSについての問い合わせメールが。そんなこと、おれに訊かれてもなー。

しかも英文。

Libretto 30のBIOSは持っているけど、どうやったら抜き出せるのかは知らない。つーか、抜き出せたとしても、どうやってコピーするのだ。ブロアで半田付けを解いて…?

まあ、複製権持ってないからアレだけどな。

我罵巣

嫁ねー…ってどういう変換をなさいますか、WXG4はっ!

ガバス? ファミ通の?

帰れない

ちなみに今の勤務先と契約して六ヶ月、そのうち三ヶ月が千葉。

二日に一回しか家に帰っていない計算になる。

たいへんですなぁ。3日間家に帰れない、というのもどうかと思いますが。

2002年2月21日 のえび日記より

また30日ほど家に帰れなくなります。

契約を打ち切らないと90日家に帰れなくなります。

予備機

だれか10万円くらいでSRX3を売ってくれないかなあ。修理中の予備機として。

HDD買い替えてFIVAを復活させるか。でもラグナロクできないしなあ。

2002年02月24日

眼鏡っ娘でいろいろ検索。google の画像検索で眼鏡っ娘検索して、うがっ、うががっ。

過ぎ行く今は星の瞬き 2002/02/23(Sat)より

うががうがっ。いやー素晴らしい。

Windows xpのテキスト描画

遅い遅いと言われているけど、理由にやっと心当たりが。

Windows 2000が出た頃に話題になったGDI+とか言うやつがxp(当時 Whistler)に搭載されているハズ。ウィンドウが平面ではなくて立体になったりするアレ。最近全然話を聞かないけどコイツのせいか?

でも結局GDI+って何が出来るのか判らん。

Windows 95用のGDI+もリリースされるハズ(予定通りならもうリリースされているハズ)なので、インストール前とインストール後でベンチマークとればGDI+のせいなのかどうかか解りそうだ。

我罵巣

ってゆーか、なぜガバス?

プログラミング

まだここには書けないようなことをがりがり書いてみる。意外といけるかも。

だから今日の日記は量が少なめ。

2002年02月25日

出張準備

聴きっぱなしで止めるのがもったいなかったけど、SHAMROCKを取り出してエンコード。

白い恋人BLACK

なんか仮面ライダーみたいな名前だが、とりあえずゲット。

オフがあったら持っていこう。

到着

暑い。

上野で、いつもと違う降り場に出てしまったらしく、目の前には見たこともない風景が。

気にせずずかずか歩いていくと案の定間違える。

おしごと

なんだか異様に疲れ果てる。目が痛いしくしゃみは出る、頭も痛い。異様に眠いし体もだるいので一瞬糖尿病か? とか思うものの否定する根拠も肯定する根拠も見つからない。

疲れている時には甘いものだよな。

2002年02月26日

シンナー

免許取得をシンナーで「お祝い」っていうのも馬鹿だなーとか思ったのだけども、下のほうのリンクに寺尾「こんなに気持ちいいとは」・悔いない笑顔なんてものがあったりしてうっかりすごい方向に思考がねじ曲がってしまう。

4th いんぱくつ

計画中。

こけるかどうかは知らん。

MAX COFFEE

北海道限定のアレと同じかと思って試してみたらびっくり。

アレより甘いとはッ!

4th いんぱくつ その後

ぼちぼち…?

思ったより皆さん反応が早くてびっくり。

2002年02月27日

条件判定の書き方

str.equals("");の方が,順番に読めてわかりやすいんじゃないかということです。

「iが3より大きい」という時、i > 3 と書く派ですか?

私は 3 < i と書きます。順番に読むと「3はiより小さい」となりますが、見た感じではこちらのほうがわかりやすくないですか?

[JavaHouse-Brewers:49049] Re: パラメータがないことを判定したい より

不等式の比較と、等式の比較を混同されてもなあ。

不等式の場合、

のどちらの書き方もそれなりの理由があって読みやすい。

iは3より大きいか、と書くのが前者でこれはこれで思考の流れに沿った書き方であり、思考の妨げにはならない。

後者は、数直線の書き方と似せた書き方であり、iは3より大きいか、という思考の流れとは反するもののパターン認識により解釈するためこれも思考の妨げにはならない。

後者の書き方が勝れているのは、0 < x && x < 10といった範囲の判定を行う時の書き方がスマートに表現できるところ。一瞥しただけで0から10の範囲内、という条件が読み取れる。また、これも思考の流れをそのまま表現したものだと思う。

比較される変数を前に書く場合だと、これがx > 0 && x < 10と、範囲のチェックを行っているのか一見して判別しにくい。

このたとえだとxと定数なのでまだわかりやすいが x > a && x < b だと何が何やらという感じになる。a < x && x < bと書く方が、aからbの範囲内ということがすっきりと表現できると思う。

なので、不等式での条件式は必ずしも注目する変数を前に書くのが見やすいとは限らない。小さい方を前に書く、という書式のほうが数直線の大小関係を連想させるため見やすいこともある。

では等式の場合はどちらが先か。それはやはり比較対象だろう。

この両者の書き方で、後ろのほうを見て a の値を判定していると読む人はアラビアに住んでいない限りちょっと変だと思う。

よほどのことがない限り、思考の流れをそのまま表現する方が書きやすい。書きやすいということは、書く時に間違えにくいということになる。また、読んだ時にも何を考えてかかれたのか読み取りやすい。記述した意図が読み取りやすいということは修正もしやすい。

時刻が三時になったらおやつを食べる、と考えるなら時刻を先に書くべき。もちろん、三時が時刻ならおやつを食べる、と考えるなら三時を先に書いてもかまわない。

クリティカルセクション

LeaveCriticalSection()の方が多いとフリーズする。

ジョークソフト

はじめは「ありゃ?ジョ ークソフトだったかな?」って思った

だいな奥義書より

ジョークソフト、いいねぇ。

削除する時に「削除しますか? [OK]」という感じのダイアログ出したり、「削除しました[OK]」とか。

コピーする時にはなぜかコマンドプロンプトが開いてそっちでコピーするとか。何か仕込みたくなってきた。

2002年02月28日

ネットワークドライブ

DFをちまちま書き直していたらファイルサーバにアクセスできなくなってびびる。

原因がさっぱりわからないので、無意識のうちに変なところをいじってしまったのかとおもってかなりあたふた。あーでもない、こーでもないといじくりたおしていたら、どうということはない、サーバの方の同時アクセス数制限にひっかかっていただけだった。

辺り全員ログイン不能。なんてこったい。

ネットワークドライブ #2

んが、DFもおかしかった。

イキナリWNetAddConnection()よんだらダメな場合もあるのねー。くそー。

バグ報告のガイドライン

「ベンダーが30日以内に脆弱性を解決するのが困難な場合もある」という点をバグ報告者が理解すべきだと指摘すると共に,そうした状況として次の3つのケースを挙げている。

「上記のケースに当てはまる場合には,ベンダーが誠意を持って脆弱性の解決に当たっている限り,報告者はベンダーに時間的猶予を与えるべきだ」とこの草案には記されている。

ZDNN:IETFのバグ報告ガイドラインに批判が集中より

ユーザー側で何らかの対策がたてられるようなものなら、どんなものであれとっとと公表してしまう方がメリットがあると思う。というか、隠すことによってメリットがあるという事例を思いつかない。

公表されることで攻撃手段が増えるとはいっても、それに対する防衛手段もあるのなら全く問題ない。公表されなくても攻撃してくるヤツは攻撃してくる。しかし、公表されてないと防御するのは至難の業だ。攻撃されていることにすら気付かないこともある。

UNC

UNCのルートって\\SERVER\\SHAREだっけ、\\SERVER\\SHARE\だっけ。GetCurrentDirectory()で取得すると\\SERVER\SHAREの形式なんだけど、なんかのAPIで\\SERVER\\SHARE\じゃないとうまく動かないものがあったような記憶がある。だけど日記に残ってない。

んがー。


トップを狙う

Copyrigiht © 2002 びい