2002年3月の日記。

counter

一覧。


2002年03月01日

UNC

Windows xpからWindows NTに対して接続テスト。

API \\server\share \\server\share\
SetCurDirectory() OK OK
GetDiskFreeSpace() OK OK
GetDiskFreeSpaceEx() OK OK
WNetAddConnection2() OK NG
WNetCancelConnection2() OK OK

という感じ。とりあえず末尾の\はない方がいいらしい。

条件式の書き方 #2

は論外だと思う。

DF

うーん、誰かWindows 95とか98系での動作テストをしてくれないものか。

FindFirstFile() / FindNextFile()

Win2k において CD-ROM 上では FindFirst/Next が最後まで検索されない事がある?

Sub Page - System AKT 公開捜査2より

だとするとDFも引っかかります。うーん、気になる気になる。

ドライバとCD-ROMドライブも同じなんでしょうか。

2002年03月02日

UNC

Windows 98からWindows 95に対して接続テスト。

API \\server \\server\ \\server\share \\server\share\
SetCurDirectory() NG(161) NG(67) OK OK
GetDiskFreeSpace() NG(123) NG(123) NG(123) NG(50)
GetDiskFreeSpaceEx() NG(123) NG(123) OK OK
WNetAddConnection2() OK NG(67) OK OK
WNetCancelConnection2() OK NG OK NG(1208)
50
ERROR_NOT_SUPPORTED / The network request is not supported.
67
ERROR_BAD_NET_NAME / The network name cannot be found.
123
ERROR_INVALID_NAME / The filename, directory name, or volume label syntax is incorrect.
161
ERROR_BAD_PATHNAME / The specified path is invalid.

という感じ。とりあえず末尾の\はない方がいいらしいけど、GetDiskFreeSpace()の結果が気になる。末尾に\がついている時にはエラーコードが50。接続先によってはうまく動くのかもしれない。その代わり、末尾に\があるとネットワークの切断ができない諸刃の剣。

Windows 95からNT系に接続するテストが必要か。そんな環境ねーぞ、コンチクショウ。

UNC #2

/*
   コマンドラインの解析

   ドライブがドライブ文字で、UNC パスではない場合、
   ドライブ文字とコロンの後にバックスラッシュを不可する。
   これは Windows 95 と 98 の制限である。
*/

SDK32:GetDiskFreeSpace と GetDiskFreeSpaceEx についてより

まるでUNCでなければバックスラッシュは要らないような書き方だ。でも、バックスラッシュがあるかないかでエラーコードが違うのは何故だ。

誤字が気になるけど(最初、逆の意味に解釈した)、それよりも混乱したのがこれ。

これは Windows 2000 がディスク制限管理機構によって、管理者がユーザー単くらいのディスク容量の制限を行えるからである

SDK32:GetDiskFreeSpace と GetDiskFreeSpaceEx についてより

単位の位をくらいと読んだのだろうか。どういう手順で文書を作成しているのか気になる。

って悩んでいたらそのものズバリを発見。

UNC 名を指定する場合、最後に円記号(\)を付けてください。たとえば、\\MyServer\MyShare を調べたい場合、\\MyServer\MyShare\ という文字列を指定してください。一方、"C:" のようなドライブ指定の最後に円記号を付けることはできません。

GetDiskFreeSpaceより

解決したよ、ママン!

でもWindows 95ってGetDiskFreeSpace()にC:とか突っ込んで動いたっけ。誰か試せー。今家にある無印Windows 95マシンって起動しないLibretto 30だけだ。

なんにしろ、\\server\share\でないと動かないAPIは何だったか、という謎は解けたのでよし。

つーか、

Drive and UNC Name Parameter

GetDiskFreeSpace on Windows 95 and Windows 98 requires a trailing backslash for both drive letters and UNC names. Although Windows NT does not require the trailing backslash, you should add one if your program can run on both platforms.

INFO: Understanding and Using GetDiskFreeSpace and GetDiskFreeSpaceEx (Q231497) より

と矛盾しているような。

どっちだー。やっぱり誰か試せー。

気になったから英語版読んだんだけど、

If this parameter is a UNC name, you must follow it with a trailing backslash. For example, you would specify \\MyServer\MyShare as \\MyServer\MyShare\. However, a drive specification such as "C:" must have a trailing backslash.

must haveをどう訳したら付けることはできないになるのだ。howeverに引きずられたか?

コマンドラインランチャ

以前、Windows 95β版で開発作業をしていた時に愛用(?)していたコマンドラインランチャを立ち上げてみる。

当時はまだWindows 95のExplorerが不安定だったのとDX4 100MHz程度のCPUとTridentのビデオチップの組み合わせでは遅くて堪えられなかったので作った代物。

初めて作ったWindowsアプリだけに愛着はあるのだが動かしてみたらしっかりと16ビットアプリの制限を食らってて使い物にならない。ちょっと寂しい感じ。

もっとも、コイツの持っている機能のほとんどはDFにも実装済みだし(DFに載せてないのといえば、コマンドラインの履歴をコマンドとパラメータと別々に持っているくらいか)要らないといえば要らないのだが、なんというか、思い出の一品。

さすがに今見ると、自分で見てもイタイので封印。つーか、アイコンとかリソースを書き換えればまあ、なんとか。

ヤフオク有料化

イーベイが撤退したと思ったら有料化。

Wyvern

なんか、記憶より音が低いような気がする。なんかエンコードのやり方を間違ったんだろうか。それともWyvernの設定が間違ってる?

2002年03月03日

ファイルの並び替え

NTFSでは文字コード順に並び替えられてしまうのでいくら頑張ってもムダ。

つーことでDFのは載せません。よろしく。

きりり

「オレンジの進化形 後味すーな きりり」とかいうのを飲んでるんだけど、これ、リンゴの香りがする。オレンジジュースなんだけど。

GetDiskFreeSpace()

Windows 95OSR2で試してもらったらGetDiskFreeSpace("C:", ...)では失敗してエラーコードは123。

GetDiskFreeSpace("C:\", ...)ならうまく動く。

ふわり

CDMP3聴きながら寝てたら、林原めぐみさまとゲームしたり林原めぐみさまと朝ご飯食べてる夢を見た。んあー(萌壊中)。

オフが無ければそのまま寝てたものをッ! 時間を確認するために目を覚ましてしまったではないか。

もう一度寝ていいですかッ!?

白い恋人BLACK

りゅうさんに押しつけようと思って買ってきた白い恋人BLACKを部屋に忘れてきてしまって残念な思いをしてしまう。

赤い方が良いじゃないか。

そんな広告を電車で見かける。

日記 2月27日分より

見ました。

たしかに3倍速いしなって思った人が二本にどれくらい居るだろうね。

残念ながら、私が先に連想したのはザンギエフの赤パンツでした。

ユニバーサルデザイン展2002

とりあえず行ってみる。

日曜日だとイマイチ電車の本数がない。思ったより遅く到着してしまった。

新宿駅まで辿り着いてからの道がよく判らず、てきとーに歩いてみたら予想通り迷う。

それでも無事にむらまささん、りゅうさんと合流することに成功。

会場のパークタワー。

乗り入れ用縁石どこがバリアフリーなのか判らない縁石をみていろいろ意見を出してみるものの、イマイチしっくり来ない。

車道との境界用縁石カタログがあったので見てみると、結局バリアであることが判明。車道と歩道を分ける縁石なのだけど、車イスが車道を走行している時に、ぶつかってもダメージが大きくならないように工夫されている。バリアはバリアなのだけども痛くないバリア、というところか。

エレベーター。日立の最新型エレベーター操作パネルが展示されていた。むらまささんが、移動先フロア指定ボタンの端を押しても反応しないと文句を言う。反応しないのも当然で、端の部分は保護用なのかなんなのか判らないけどボタンではなくてただの枠なのだ。枠だから押しても凹まない。

一つ旧世代のものだと、ボタン部分と、枠の部分で色が違うため一見して押す場所はココだ、ということを認識できるようだけども、新型は枠もボタンも同じ色になっているために違う部品だということに気づかない。

また、最新型だと、移動先フロア指定ボタンの左に点字も刻印されている。

この点字が、右のボタンに対応しているのか左に対応しているのか判りにくいのではないような気がした。

移動先フロア指定ボタンは、横に2列配置されていて左から

と並んでいる。

1のボタンと、左右にある1の点字、2の点字の距離が等間隔のでどちらのボタンに対応する点字なのか判りにくいのではないかと。点字を右からなぞって、点字の2を触った時、そのまま手を動かしていくと1のボタンを押してしまう。

点字は右から左に読むものだと記憶していたけど、違ったかも。

ポストの受け取り口ポスト。扉の角にゴムのクッションがあるくらいで特に目新しいところはない。開けたらそのまま重力に引かれて扉が落ちてくるので不便。扉のロックは磁石でおこなっていて、風で勝手に開いたりしないようになっている。だったら上にも磁石をつけて、重力に負けて勝手に閉じないようにして欲しい。

ちなみにどのへんがバリアフリーかというポイントは、設置している高さなのだそうだ。

あと、よくわからないのが携帯用リモコン。キーホルダーになっていて、外出する時にも持ち歩くことを想定している。

で、何のリモコンかというとオーディオシステムのリモコン。帰宅して、靴を脱ぐより先にCDを聴きたい、という人向けのようだ。ってどんな人だ。

っていうか、リモコンの出す赤外線が遮蔽物にさえぎられずにオーディオシステムまで到達できるのだろうか。

イマイチ需要と実用性が理解できない一品。

ボンバー

ボンバー

切られたボンバー

回す

あずまんが大王のアレ(どれ)を見かけたので回す。

ちよちちが気になってたまらなかったのでちよちちかまーんッ!という勢いでひねると、ちよちちゲット。

で、説明書をみていたらちよペンギンが欲しくなってきたので再度回すと、ちよぺんぎんゲット。日頃の行いが功を奏しているようだ。

光学マウスの反応がよろしくないのでマウスパッド欲しさにでじこマウスパッドもひねる。100円。

小銭が足りなくなって、亜美ちゃんのフィギュアとかが取れなかったのが残念。

2002年03月04日

DF マークファイル展開

元の作りがよろしくない。

マクロ展開部分を作り替える方向で考え直そう。

NetDeSoft

おお、徐々に復活中?

日付

まだ4日だってばっ。

DF マークファイル展開

おおむね作り直ったような気がする。

後はチューンチューン、チューンチューン。私の彼は…。

2002年03月05日

林原めぐみさま

巡礼先のひとつである友人のサイト http://homepage1.nifty.com/bee/(←こんな扱いでごめんっ!でもね、気が付く とサイト名が大きく変わってるんだもの。アドレス表記が一番いいかな〜、なんてね)

ウィークリーニュース 3月3日分より

名前に縛られていてはいけません。名前を付けることで識別できると思い込むこともよくない。

また、ページの内容は日々変化していくのだから、名前を変えないままだと名前と中身が乖離してしまいます。

ある人はリリアンオタのページと呼ぶかもしれないし、ある人はDF作者のページと呼ぶかもしれない。他人がどのように認識して、どのように呼ばれようとも私は私、あなたじゃないわということで後ろ指をさされながらも前向きに生きていきたいぞコンチクショウ。

で、林原めぐみさまっというと

思い出した分だけ書いたけど、思い出せてないものもあるハズだし、ゲームのほうは記憶に無いのでよろしく。

もちろん、椎名へきる様もよろしく。

UNC

友人の家で、かめさんの知られざる機能を発見・・・。

UNCパスになんと対応していた・・・。

何も考えずに作っていたのだが、普通にUNCパスを打ち込むと使えました・・・。

より

基本的には、何もしなくてもOSが善きに計らってくれます。

DOS版のLHA.EXEだって lha a arc \\server\share\dir\file.extなんて感じで動きます。

むかつくのが2文字目に「:」(コロン)があるかないかチェックしてパスが間違ってますとかいって勝手にエラーにしてしまうプログラムとか。

文句はアクセスしてからいえ、みたいな。

あ、そうそう、かめさんですが、UNCパスを開いたまま終了したらそれっきり起動しなくなってしまいました。どうしたらいいのでしょうか。

2002年03月06日

FindFirst/Next

おい!あふを語ろうぜ! Part3 >>101より、[Delphi-ml:36460] [report] FindFirst problem

予想通りFindNextFileがERROR_MORE_DATAを返してもそこでファイル名の列挙を止めなければうまくすべてのファイル名が取得できるようです。

[Delphi-ml:36460] [report] FindFirst problemより

あぁん!?

つまり、

If the function fails, the return value is zero. To get extended error information, call GetLastError. If no matching files can be found, the GetLastError function returns ERROR_NO_MORE_FILES.

FindNextFileより

ってこと? ってどういうことっていうか、GetLastError()がERROR_NO_MORE_FILESを返すまで回せってこと?

途中でこけた時が恐いけどなあ。

FindFirst/Next #2

Two Different Ways of Listing All Files in a DirectoryにあるVisual Basicのコード、


lNextRet = FindNextFile(lFirstRet, typFindData)
If lNextRet = ERROR_NO_MORE_FILES Or _
   lNextRet = 0 Then Exit Do

Two Different Ways of Listing All Files in a Directoryより

lNextRet = ERROR_NO_MORE_FILESはマズいような気がする。

ListBox

標準のListBoxでファイラー用にそのまま使えるほど速いものはないのでは?DelphiのListBoxは遅いです。

ファイラーを語ろう Part5 >>437

遅い。

簡単に比較するなら、DFの昔の版(ベクターにあるやつとか)の選択ファイル一覧ウィンドウがリストボックスなので、5000個くらいマークしてCを押すとか。SRX3で2000個マークした時でも違いが判るくらい遅いです。

今のβ版はリストボックスではなくて自分で描画しているのでほぼタイムラグ無しで開きますが、0.02Aとか0.03β3なんかだと少しもたっとします。

あと、Windows 95とか98などだと32700個くらいで登録できなくなるとか、まあいろいろ。

FIVAで2万ファイルコピーしようとした時にうんざりしたので私はListBoxを捨てました。

2002年03月07日

誕生日

今日でハタチになりました。嬉しいような悲しいような。

k.i.h.p - talk 21:20 02/03/06より

おめでとうございます。

という訳でさっそくページをパクってみるテスト。

@niftyのメールサーバ

接続できない。接続できても返事をしない。

スレ

うっかり発掘してしまったのでメモ。

冷静にかつ客観的にツッコミ

突っ込みは冷静にかつ客観的に書きましょう。

より

御意。

で、冷静にかつ客観的にお訊きしたいのですが、日紀というのは突っ込むところでしょうか?

2002年03月08日

関数の戻り値

某掲示板での質問。

とか言われてもなあ。

カレーライスでもラーメンでもおなかがいっぱいになりますが、何を食べたらいいでしょうか、というような感じ。もちろん食べたくなければ食べなくてもよい。関数の型をvoidにする。

DF 起動時の高速化

INIファイルの読み込みを、

に分けて、ウィンドウを作るまでの時間を短縮しようとした。

すると、空のウィンドウが出て、一瞬語に動作を始めるようになったので一応、それらしい効果はある模様。

ただ、ウィンドウが出てから動作が始まるまでのタイムラグがあるために余計に遅く感じる。理論上は、ウィンドウが出るまでの時間は短くなっているハズだが体感的には遅い。

元に戻すことにする。

IPA ISECセキュア・プログラミング講座

高速化

いい加減に実装していたファイルサイズを「,」で区切る処理を高速化(約20倍近く高速化したが、違いが分からないかも・・・)

まめFile2 Ver.2.54.0.2の更新履歴より

20倍ッ!

この間、いんどらさん、小松平さんとあれこれして倍速になった、というくらいなのにっ。

PHS

忘れる。

おかげでアレの問い合わせができなくて困る。

2002年03月09日

冷静にかつ客観的に

私がいつ「日記」と書きましたでしょうか?

何度も日紀と書いてあったのでアヤシイとは思ったのですが。

2月27日
体験談でもちょっくら明日の日記に書こうと思います。
2月15日
昨日の日記をアップし忘れるというバカなことをしました。
2月13日
ここの日記を見て いたらぜひとも更新お願いします。
明日のウチの日記は、ヴァレンタインという事で荒れること間違いナシです。
2月8日
日記見ると分かると思 います。

まあ、こんな感じ。

改竄するなら今のうちダッ!

ちなみに、

びいさんの日紀。

私のは「日記。」です。

TabFolder

メモ。

くじらオフ

アピールプレイが長引いたので、1時間遅刻。結局ふつーの休日出勤。

むらまささんにデンパを飛ばして1時間ほど遅れると伝える。

で、渋谷に到着。なんだこの人の群れは。もうね、ア(以下略)。

場所が判らないのでくじら屋のページでも見たいのだけども、人が多すぎてvaioを開ける状態ではない。FIVAならなあ。

で、誰もいないバス待合室を発見。ここなら誰にも迷惑をかけないだろうと思い、そこに座り込んでvaioを取り出したら、警備のおっちゃんに「バス待ち以外の人はダメだよ」とか言われて残念な思いを堪能。

せっかくだからそのおっちゃんにくじら屋の場所を訊く。

訊いたところでむらまささんからデンパ。「まだか〜?(ちょー意訳)」。せっかくだから言い訳してくじら屋があると思われる方向に移動。

しかしまあ、札幌では味わえない人の群れ。味わえないけど。駅から出た時にはマジで何か事件でもあったのかと思った。多分これが定常状態なんだろうな。

つつがなく店に到達。で、むらまささんにデンパを飛ばして到着通知。

自己紹介

座席は

むらまさ ばけら しょうたいふめいのもののけ(Mr.X)
しょうたいふめいのもののけ(Mr.Y) 空席 りゅう

こんな感じで、空席に座る。誰が誰やら(って2名だけど)判らないので「あー、誰が誰やら」と口走るとMr.Xが「じゃあ自己紹介を」と言いながら座り直して姿勢を整え始める。

私の視線は2時の方向、Mr.Xにクギヅケだっ。

ちなみに、私は人の顔を記憶するのが苦手である。複数人並べられて、「この中からヤツを探せ」と言われればまだ判るものの、単独で表示されて「これは誰だ」とか言われるとかなりとまどう。

小学生のころから知っている双子が二組いるのだけども、いまだにどちらの双子に対してもどちらがどちらか判らない。スト2で対戦してやっと判断できる、とかそういうレベル。人は外見では判断できない。

えむけいさんは某所で画像が公開されていて、その画像とMr.Xとでは相似点が多い。したがってMr.Xがえむけいさんかと思ったものの、Mr.Yを見た途端にこちらがえむけいさんもしれないと思ってしまう。頭が違うだけでどっちも目があって鼻があって口があるのでイマイチ区別がつかない。

っていうか、yuuさんも某所で画像が公開されていたのだけども、その画像とMr.X、Mr.Yでは全然違う。ここまで変化が激しいとMr.XもMr.Yもえむけいさんのように思えてくるし、どちらもyuuさんではないような気がしてきてならない。

はたしてMr.Xは当初の予想通りえむけいさんなのか、それとも予想を裏切ってyuuさんなのか。

そこでイキナリ「yuuです」と声が。Mr.Xはまだしゃべってない。すわ、腹話術かッ!

振り向くとMr.Yさんだった。えむけいさんがおとりになってこちらの注意を引きつけている間に自己紹介してしまうという高度な連携プレイ。

イキナリ意表を突かれまくり。

一人前分とおぼしき量が残されていたのでありがたく頂く。

なぜか肉が余りまくり。いやー素晴らしい。

今日は朝昼晩とまだ何も食べていなかったのでありがたく食らう。

これだけでは足りないので、くじらステーキ追加。

注文してからyuuさんが「みそにしておいたほうが」と。無念、一足遅かったようだ。

ついでにご飯とくじら汁も追加。

うまー。

DF

以前ファイラーを語ろう Part4>>955にあったマスクの動作が変、という話。

えむけいさんからSFNのご都合ではないかと指摘されたのだけども、


h = FindFirstFile(マスクパターン, &fd);
do{
    処理;
}while(FindNextFile(h, &fd);

h = FindFirstFile("*.*", &fd);
do{
    if(マスクパターンとfd.cFileNameを比較して一致したら){
        処理;
    }
}while(FindNextFile(h, &fd);

というようになっているので、今の版なら問題ないハズ、と答えておく。

せっかくだからソース見ますか?>各位 って花月漫遊記の時にも言いましたか。

話題

ばけらさんとむらまささん、yuuさんとで激しくXMLについての議論。

飲み屋でする話とはとても思えない。

他にも

二次会

場所を変えて二次会。

2002年03月10日

マーク

DFでCTRL+左クリックでファイルの選択をするとマークが見えない(画面が更新されない?)のは仕様でしょうか? >作者様

ファイラーを語ろう Part5 >>475より

仕様なわけ無いだろコンチクショウ。

バグだよバグ、直すよ、直せばいいんだろコンチクショウ。

回す

先週亜美ちゃんを取れなかったのが残念だったためリベンジ。

新宿西口側のヨドバシ付近で…無い。ココだと思ったのだけど。んがー。

仕方がないから東口さくらや方面に…。

気がついたら迷わずに歩けてる私。おおむね思い出してきたのだろうか。

とりあえずさくらやホビー館到着。亜美ちゃん…いない。んがー。ショーケースの中に陳列はされているものの…んがー。

残念な思いを堪能したのででじこのマウスパッドを全種類ゲットしてあずまんがのシール#1を全部とって、#2はかぶりまくったのであきらめて帰る。

んがー。

食事

昨日くじらやで食べてから何も食べてないのでいいかげんおなかが空いてきた。

駅前のラーメン屋台がうまかったのでソコにするつもりで…無い。んがー。

仕方がないのでコンビニで冷やしたぬきうどんゲット。

部屋に戻ってからいざ食事、というところで箸が無い。んがー。

そろそろ24時間何も食べていないという状態になるのですが…。

2002年03月11日

空腹

目の前にたぬきうどんがあるのに食べられません。

仕方がないので付け合わせの紅しょうがを食べる私。

腹減った。

昼ご飯

やっと固形物を…。

休みの日には食事を摂るための外部割込みが発生しないのでついつい食事を摂り忘れてしまう。

ミニノート

!

SRX捨てるぜコンチクショウ。

うわー、何やってんだよ、もっとキーピッチ詰めろ。Enterキーなんてそんなに大きくなくていいだろ。っていうか、なんでそんなに「1/ぬ」のキーがデカいんだよ。

あと、右シフトは付けろ。キーボードはただ付いているだけじゃ役に立たない。がんがん叩くためにキーボードはある。キーボードを使わないならCLIEでいいんだし。200LXでも問題ないという人もいるのだから、ここは変に媚を売るような中途半端な作りにしないで突っ走って欲しい。

ZONE

アルバム見かけたので買う。

なぜかKXL-808ANで再生するとプチノイズ(古)が乗りまくる。なせだー。

CDExでエンコードしてみると、ジッターエラー出まくり。ダメか。どっちが。音も歪みまくり…って元からこういう音なのかもしれないが。

買ったばかりのCDで音が飛ぶというのがスゴイ。

あー、カラオケ行きてー。いや、あまり関係ないけど。

イジメ

うわーん、AKTさんがいじめる〜。四捨五入とか言ってるにゅ〜。

2002年03月12日

4thいんぱくつ

ふぎゃあ。

情報がただ漏れね(リツコさんの声で)。

SunとMS,どちらもおかしいと思う理由がおかしいと思う理由

あるいは最低でも,途中で意志を変えないでほしい。

ZDNN:AnchorDesk:SunとMS,どちらもおかしいと思う理由より

変えて何が悪い。

それはともかくとして、Sun Microsystemsは一体何をどうして欲しいのやら。

Sun Microsystemsが、そんなものJavaってゆーなー、って言ってMicrosoftから2000万ドルふんだくった揚げ句にJavaを使う権利を打ち切ったのだからMicrosoftは使いたくても使えないだろう。

少なくとも、Microsoftは自家製のJVMを作ってもそれをJava互換とはうたえないわけだし、あと6年くらいしかJavaを使う権利が無い。そもそもSun MicrosystemsがMicrosoftにJavaをライセンスしていない。6年先には使えないと判ってて投資するとは思えない。どうせならその先の時代を目指そう、というのが自然な考えだと思う。

Windows xpにSun Microsystems製のJVMを載せて欲しいのなら、入れてくれるように頼めばいいのに。デフラグとかもSymantecからのOEMだったりしたわけだし。

で、頼むならあの時の和解金2000万ドル(ゲイツ的にははした金かもしれないけど)を返還して(利子も付けてな)、Visual J++の販売機会を喪失した分の損害賠償を行ったうえで、バンドル料払ってバンドルしてもらうのが筋なんじゃないか。Microsoft的には入れなくても困らないんだし。

むしろ、一社独占でデファクトスタンダードに過ぎないJavaよりもECMA標準になる予定のC#の方が未来は明るいかもしれず。

っていうか、こんなページ(ZDNN: News Special)もあったのね。

背景透過

しかたないなあ。

これでどうだッ!

Ctrl+Tで背景を透過。

次はツリーか。transparentにtreeで同じTだしなあ、どのキーにしようか。

こらー、笑うなっ! バレるじゃありませんか。

2002年03月13日

宗男

なんか、外務省の一切合財を鈴木宗男に押しつけて、彼一人を悪者にしてうやむやにしてしまいそうな勢いを感じる。

根拠も提示せずに嘘つきよわばりするのはどうよ。

背景透過

DFの背景透過版一発ネタで終わり、というのもアレなので背景に画像ファイルを指定できるようにしてみた。

みにくい。

あと、スクロールした時とか背景画像もスクロールさせてしまうのでアレだ。

他にもマーク付け背景が透過しているので反転しないとか。

[OPT]のBMP=で画像ファイル名。Susieプラグインが入ってればBMP以外もOk。ただし、反転表示とかができないので常用はできない。まあ、雰囲気だけ。

背景透過 #2

ちょっと直そうと思ったけど、結構根が深いね、これ。

描画部分のコードは大変なことになっているので大変だ。読みたくない。

どうしよ。

2002年03月14日

CD2WAV

CD2WAVでリッピングしたら特にエラーもなく取り出せた。

これで聴きながらAirH"で通信できる。ほっ。

ZONE萌え。

でも、なんでCDExでうまくいかなかったのだろう。

クレーム

あくまで、たとえ話

  1. 掲示板に判る人向けに内輪ネタが書かれる
  2. それを見た他の人が「そんなこと書かれても判らないよ」といったことを書く

だからどうしろというのだろう。俺に解らないことは書くな、とでもいうつもりだろうか。

パス区切り

DOSの頃からパスの区切り文字として/は使えました。command.comはオプション指定文字として/を使用していたので、command.com経由では/はパス区切りと認識してくれませんでした。DOS バージョン3あたりまではcommand.comのオプション指定文字を変更することができたのでオプション指定文字を変更すると/も\もパス区切り文字として認識します。

command.comを経由しなければまったく問題なく/をパス区切り文字として使えるので、#include<sys/stat.h>とかfopen("c:/autoexec.bat", "r+");なんてのもOk。

MS-DOSのシステムコールを使って、command.comのパス区切り文字を変更してもアプリのほとんどがソコを参照せずにcommand.comのオプション指定文字列は/だと決めつけて書かれていたのでDOSバージョン5あたりでこの機能は削除されたと記憶している。

DFは/はディレクトリ区切りだと認識してない。まずー。

袴っ娘

萌え…?

背景透過

スクロールした時に背景画像が消える理由は判った。はて。

ベクター

うが、更新日付順に並んでるッ!

やられたッ!名前だけで勝負できる時代は終わったのか…。

double free

CE 含めた Windows 環境は、 double freeing した場合は、メモリ壊す前に access vioration で異常終了するから特にセキュリティに甚大な影響を 及ぼすわけではない、という認識でよろ しいでしょうか。 (って、ダレに聞いてる?)

日々のつぶやき 3/14より

ダレじゃないけど。

Windows 98、Windows 95ではHeapFree()を二重に呼ぶとOS自体がおかしな挙動を示すようになりました。他のプロセスも落ちるようになるし。CEだと平気?

XPはそんなことしてても一週間ほどシャットダウンしなくても動いてますが。

ライブラリでフォローしてればいいけど、デバッグバージョンでもない限りそんなことしてないか。

再起動せざるをえない状態に陥る、という時点でセキュリティに問題があると言えるのでしょうか(って誰に訊いてる?)。

2002年03月15日

4th いんぱくつ

いつ、どこで、というようなことを漏らすと襲撃されそうな予感がするのでご遠慮願いたいところ。

迎撃したい人は…いますか(^^;)?

鼻パック

鼻パック買ったんですよ、毛穴の汚れとりシート。

一度で毛穴スッキリとか書いてあるんです。使い方は簡単、鼻を水で濡らしてシートを貼り付けてはがす。それだけ。

思わず風呂上がりに使ってみたら、なんでこんなのが付いてるんだっていうくらいいろいろ取れて驚いたのなんのって、もう。

思わず写真撮ってここに貼り付けてやろうかとか思ったくらい。

で、本当に一度でスッキリなのか試すために、もう一度実行。一度でスッキリ取れていれば二度目には何も取れないはずだ。

またすげー勢いで取れてびっくり。全然一度でスッキリ出来ないんです。もう一度やろうかとか思ったけど鼻が痛くなったので中止。

おもしれー。

ClearType

りゅうさんの所から小さな文字でも見やすく表示 フラットパネルディスプレイ用高精細文字表示技術を開発 - プレスリリース - FUJITSU

コレってClearTypeと何か違うの?

おしごと

この期に及んで仕様変更。

データの形式がごろっと変わる。マジですか。形式が決定して定義され直されるのが今夜。

月曜からは結合試験だというのに、本気ですかあなた。

明日はアピールプレイじゃなくてマジでお仕事かも。

2002年03月16日

名古屋

冴え渡る山本節。

おやつ

わたやんさんがキムチの封印を解きキムチと格闘を始めたので、こちらもショコラオムレットの封印を解いて対抗する。りゅうさんが白い恋人BLACK担当。

うんこ

「うんこ」という題名で送られてきた添付ファイルを職場で開くようなマヌケがいるのか、と思っていたらいたらしい。うーむ。

無闇矢鱈に開くな、と言いたいところだけども、私自身もワトソン博士のログですとか言われると開くかもしれず。

以前、何か忘れたけどソフトウェアの掲載依頼がWordファイルで届いて、読めないからテキストで送り直せとか書いて送り返した。で、テキストで再度届いたので掲載許可を出したものの、その後音沙汰なし。

アップデートツール

CraftLaunch使ってれば "&WinMessageAll;,DoubleWindowedFiler,273,3000,0","LHA E DF.LZH c:\bin\","del DF.LZH"みたいな感じで出来るんじゃないのかとか思ったけど、なぜか&WinMessageAll;,DoubleWindowedFiler,237,3000,0,0でDFがすべて閉じてくれない。

CraftLaunchのバージョンが古いせいかも。

273はWM_COMMANDで、DFでキーコマンドを実行した時に送られる数値。3000は問い合わせ無しで閉じるコマンド番号。

ネット口論がもとで中高生50人乱闘 中国・南京市

asahi.com : 国際 : 速報より。

中学生に言い負かされて集団で反撃する高校生。

リリアン

柏でリリアンのクリスマスパーティーバージョンをお迎えする。

ついでに昼ご飯。今食べないとまた食べ損なうからな。

変態

たとえ作者が変態でも、DFは最高のファイラだよ。

ファイラー使ってますか?>>300より

2ちゃんねるの変人は、世の中では普通の人間である。であるなら、私は喜んで2ちゃんねるの変人であり続けよう…。って変態ですか。そりゃないぜとっつぁん。

つーか、ギボンヌってなんかこう、宜保愛子さんが出てきそうでイヤ。

POSIXのthread

pthread_cond_wait()の仕組みって美しい。そうは思わないかね。

2002年03月17日

おしごと

おーわーらーなーいー♪

かーえーれーなーいー♪

おしごと #2

LinuxのPOSIX ThreadってなんかびみょーにPOSIX互換ではないような。私の知識が古い?

目覚め

起きた。寝坊するかと思った。

目覚め #2

寝てた。やばかった。

人身事故

柏で人身事故(?)。南千住で足止めをくらう。

柏はすでに通過しているのでそこで事故っても影響は無いのではと油断していたら上りも下りも動かない。やられた。

っていうかヤバイ。

目黒到着

目黒駅到着。

すでに

が待ち構えていたりして。言い出しっぺの私が遅れてくるとかいう。

ちょうどいんどらさんも到着したところでアンミラに移動。

事前に下調べして頂いたAKTさんに感謝。

アンミラ

だべる。

歌ってもらう。実は私の誕生日OFFとかいう。

この間が誕生日だから祝えこのやろう。

っていうか、アレは恥ずかしいかもしれない。笑うしかない。イジメだといっていたのがよくわかりました。ごめんなさい。もうしません。許してください。勘弁してください。

ソートがどう、とか。クイックだとどーのコームだとどーの。

以前、いんどらさんと話していた時の疑問で、ディレクトリが異なるファイルのShell Namespace経由の操作がうまくいかない、というのがあったのを思い出したので訊いてみる。なるほどー。

後でりふらふさんのソースからパクることにしよ。

そういえば、DFで仕組んでいる起動を高速化する裏技(伊藤家の食卓風)をいんどらさんがバラしていた。

他のファイラーのページで、ベンチマークをMediaGX 200MHz(FIVA 101)で取っていることにいんどらさんからクレームが。あのページを書いている時は、FIVA 101がウチにある最速マシンだったんだよー。他のマシンは

という感じでFIVA 101が一番速かったのだ。

他の方には割とユーザーさんからメールが送られているらしい。私のところは静かなものです。

しかし、「起動が遅いです。DFというファイラーはもっと速く起動します。DFより早くしてください」とかいう要望があったというのには笑わせていただきました。仕組みが違うからなあ。っていうか、あれはDFとの比較だったのか。イマイチこっちには反応がないので気付かないことばかり。言われてびっくり。

起動が速い、というのも考え物で、すぐに立ち上がるから必要になったら立ち上げて要らなくなったら消す、という補助的な使われ方をされてしまうというデメリットも。遅いほうがいいのか? とか思いました。

え、そんなこともあんなことも? うひゃ。ご迷惑をおかけして申し訳ない。

ってなんで私が謝るのだ? わーたーしーはわーるーくーなーいー♪(ということにしたいのです)

いんどらさんの所に送られてくるメールは面白いものが多いようだ。ソースください、というのがすでに100通以上届いたらしい。天野さんのところにも来ていたらしい。私のところには来ない。単にユーザ数の違いなのではないかという気もする。

いんどらさんからbMalloc()っていう関数はなんなのだと突っ込まれた。アレはデバッグ用で実は意味がない。__FILE__と__LINE__、要求したサイズをログにとっていってfreeしてない場所を探すのに使っている。あと、double freeの検出とか。それだけ。もう少し書き換えてbuffer overrunの検出も出来るようにした方がいいんだけど。やってない。

いんどらさんから(またかよ)仮想ディレクトリは付けないのか、と問い詰められる。面倒だからやらないと答える。

LHAの展開はunlha32.dllを使わずに、自前で展開した方が速い。じゃあ、なんでunla32.dllを使うのか、という話。

天野さんの回答

ユーザー多くてそれなりにこなれてるし。

私の回答

もしバグってても「私のせいじゃない」と言い張れるし。

人柄の違いか。

そういえば勤務先にページがバレてる人って結構多いのね。私はバレないように気をつけないと。

会計はりふらふさんが全額もってくれました。うひょ。漢だ。ごちそうさまでした。

目黒のアンミラは空いてるねーという話をすると某氏が「ここはいつも空いてますよ」。さすがである。敵わない。さっそく突っ込まれる某氏。ふーん。

寄生虫博物館

目黒だったら寄生虫博物館、というような流れに。

東京タワー

でもなぜか東京タワーに。

なんか変な生物が。

せっかくだから歩いて上ろうという剛の者がいたものの、なぜか階段は閉鎖されていて残念な思いを満喫。

うにょーんとエレベーターで上って、人ごみを満喫。

レイアースの光みたいに走り回ったりするようなスペースは無かった。

お別れ

とりあえず、飯塚さんと部員弐号さんとお別れ。

さあ、ココからは大人の時間だ。いやなにが。

大人の時間

ちょーしに乗ってアルコールを摂取する。普段はアルコールを飲むと喘息の発作がでたり、ビールだとジンマシンが出たりするのだけど今日は快適に飲めた。

とはいっても一杯だけだけど。いんどらさんがいい感じでボケたり突っ込んでくれたりしたので盛り上がった。ような気がする。

Operaのシェア

いんどらさんのページのアクセスログではOperaが5%くらいの割合を占めているらしい。Operaが吐き出すUAはデフォルトではMSIE5.0になっていたはずだから、実際にはもっと多いのかもしれない。

しかし、そのOperaの1つは間違いなく私。実はほとんど私なのではないかとかいう疑惑も。天野さんもOperaでしたっけ?

もしかして二人で5%叩き出しているかも。ニヤリ。

伊藤家の食卓

プログラムの起動を0.1秒速くする裏技。ネタばらししたら、「たった0.1秒」とか突っ込まれる。

ちなみに、ここで稼いだ0.1秒は他のところで時間がかかる。たとえばコンテキストメニューを初めて出す時には0.1秒遅くなる。二度目からは誤差。

夏休みの宿題と同じで、ギリギリまでやらない。

要はそういうこと。

ちなみに、この0.1秒はFIVA 101での0.1秒なのでSRXだと…どのくらい? MediaGX 200MHz→Celeron 650MHzで3.25倍(クロックのみ)。HDDがPIOからDMAになったことで…どれくらい速くなったんだろう。3倍くらい? 3.25 × 3で9.75倍になったと考えると0.01秒…。

わかんねーよ。

バージョンアップ

バージョンアップするとサーバが落ちるとか。すげー。

私のところではそこまですごくない。ようだ。@niftyが頑張っているのか。いやまさか。

Maniac Filter

言われるまで気付かなかったけど、ファイラスレの1。Maniac Filterになっている。

思わず確認してしまった。

某ファイラー

某ファイラーがスゴイという話なのでさっそくダウンロード。

起動しない。んがー。

皆様方のマシンにコピーしてインストールする。直前に噂のアーカイバの話をしていただけに、インストールを躊躇する方もいらっしゃったけど周りの勢いに流されてインストール。

他の方のPCでは起動する。なぜだー。なんで私だけ楽しめないんだー。

笑った。

こいつには勝てない。この道も奥が深い。背景透過で喜んでいる場合ではない。

つーか、ELF32もすごかった。256連打ってなんですかかかかっ!

オフ画像

後で。

2002年03月18日

アクセス不能

メンテナンス中らしい。予定では19日のハズなんだけど。

@nifty的には今が19日なのか?

それとも予定外のメンテナンス?

なんにしろなんのアナウンスもないようだ。何があったのだ。

2002年03月19日

アクセス不能

まだメンテナンス中かよ。

アクセス不能 #2

メンテナンス開始予定時間。アクセスできない。予定通りだが…。

アクセス不能 #3

メンテナンス終了予定時間。アクセスできない。予想通り。

@niftyダメじゃん。

ソート

DFβ47でコームソートを使ってみた。結局クイックソートよりも遅かったのだけども、この辺りはチューニングが足りないのかもしれない。クイックソートは先人たちのノウハウがあるのでかなり極められている。今のところ最強に強まったソートアルゴリズムといえる。

WATCOMのプロファイラ出力から。

アルゴリズム消費クロック呼出回数関数名
コームソート 38617358 1 DoSort
クイックソート23128651 1 DoSort

これはSRX3のWindows XP、システムディレクトリ(system32)にある2171個のファイル一覧をソートしたもの。

中で複数の関数を呼び出しているのでそちらの出力も。

関数名コームソート クイックソート
消費クロック呼出回数消費クロック呼出回数
DoSort 38617358 1 23128651 1
bsort 36443974 1 20769090 1
insertsort N/A N/A 3736779 317
xcomp 31074886 55756 17498708 30622
DotDirComp 3441577 55756 1920314 30622
NameComp 17307192 54959 9440889 29785
x_strcmpi 9521172 54959 5309624 29785
swap 913743 5461 714127 4274

DoSort()はソートするための準備をしてからbsort()を呼び出す。DotDirComp()は"."とか".."と特別扱いする。xcomp()はディレクトリを特別扱いしたうえで比較関数を呼ぶ。

クイックソート版では、途中からインサートソートに切り替えている。insertsort()がそれ。

コレを見る限り、何が遅いってxcomp()。ソートの際の比較関数。80%のクロックはここで食いつぶしてる。しかもコームソートの時には50万回呼び出している。この関数を1クロック削るだけで全体で50万クロック、0.1%速くなる。逆にswap()を1クロック速くしても5461クロックしか速くならない。

DotDirComp()は一回辺り60クロックしか消費していない。もしかすると関数呼出しのオーバーヘッドが無視できないかも。インライン展開してみる価値はある。

それがダメなら関数呼出しを少なくするしかない。クイックソートは、コームソートに比べればそもそも比較回数が少ない。

コームソートは今のところ馬鹿正直に実装してあるだけなので、途中からシェーカーソートに切り替えるようなトリックを入れるといいかもしれない。

つーか、コレを見ているとxcomp()が異様に時間を食ってる。

static int xcomp(SORTINFO *a, SORTINFO *b, int (*comp)(const void*, const void*)){
    int ret;

    ret = DotDirComp(a, b);
    if(ret){
        return ret;
    }

    ret = (*comp)(a, b);
    if(ret){
        return ret;
    }
    ret = b->rank - a->rank;

    return ret ? ret : x_strcmpi(a->fd->cFileName, b->fd->cFileName);
}

こんだけの処理。compはNameComp()をポイントしている。xcomp - DotDirCop - NameComp で求まるクロック数、10326117がこの関数で消費されていることになる。1回あたり185クロック。異様。

00A3                          xcomp_:
00A3    FF 05 1C 00 00 00         inc       dword ptr L$42
00A9    FF 05 20 00 00 00         inc       dword ptr L$43
00AF    75 12                     jne       L$11
00B1    52                        push      edx
00B2    50                        push      eax
00B3    0F 31                     rdtsc
00B5    29 05 24 00 00 00         sub       L$44,eax
00BB    58                        pop       eax
00BC    19 15 28 00 00 00         sbb       L$45,edx
00C2    5A                        pop       edx
00C3                          L$11:
00C3    51                        push      ecx
00C4    56                        push      esi
00C5    89 C1                     mov       ecx,eax
00C7    89 D6                     mov       esi,edx
00C9    E8 00 00 00 00            call      DotDirComp_
00CE    85 C0                     test      eax,eax
00D0    75 1F                     jne       L$12
00D2    89 F2                     mov       edx,esi
00D4    89 C8                     mov       eax,ecx
00D6    FF D3                     call      ebx
00D8    85 C0                     test      eax,eax
00DA    75 15                     jne       L$12
00DC    8B 46 04                  mov       eax,0x4[esi]
00DF    2B 41 04                  sub       eax,0x4[ecx]
00E2    75 0D                     jne       L$12
00E4    8B 06                     mov       eax,[esi]
00E6    8B 10                     mov       edx,[eax]
00E8    8B 01                     mov       eax,[ecx]
00EA    8B 00                     mov       eax,[eax]
00EC    E8 00 00 00 00            call      x_strcmpi_
00F1                          L$12:
00F1    5E                        pop       esi
00F2    59                        pop       ecx
00F3    FF 0D 20 00 00 00         dec       dword ptr L$43
00F9    7D 12                     jge       L$13
00FB    52                        push      edx
00FC    50                        push      eax
00FD    0F 31                     rdtsc
00FF    01 05 24 00 00 00         add       L$44,eax
0105    58                        pop       eax
0106    11 15 28 00 00 00         adc       L$45,edx
010C    5A                        pop       edx
010D                          L$13:
010D    C3                        ret       

00B3のRDTSCから00FDのRDTSCまでのクロックを集計しているハズ。74バイトのルーチンに180クロックもかかるか? っていうか分岐でパイプラインストールしまくりっぽい。P6なら遅延分岐するから大丈夫かと思っていたのに。

仕方がない、-ob(パイプラインを考慮する最適化オプション)つけてコンパイルしてみる。これ使うとサイズが増えるんだよなあ。

関数名使用前 使用後
消費クロック呼出回数消費クロック呼出回数
bsort 20769090 1 21561269 1
xcomp 17498708 30622 18324121 30622

遅くなっとるがな。

誰か、Visual C++6.0とか、Intel C/C++とかもっとイカスコンパイラください。

ポインタ

ポインタがイヤだからintに格納するバカ。

intをポインタにキャストするのもイヤなんだけど。

アクセス不能 #4

つーか、いつまでメンテナンスしてるんだ?

メンテナンス

終わった?

18時、アクセス可能なことを確認。

CPUID

CPUIDを実行するとレジスタの内容が変化してしまう。

そのため、コンパイラがEDXレジスタに変数のポインタを入れていた場合、CPUIDを実行した後には変数をポイントできなくなっていてアクセス違反を出したりする。

コンパイラは、レジスタがインラインアセンブラによって変更されていることなんて気付かないので、プログラマがちゃんとレジスタの面倒を見る必要がある。

この二種類のどちらかを使うパターンが多いけど、Delphiには変更するレジスタを通知する手段は無いので(根拠は脳内)自分で値を戻すように書かなきゃいけない。

Delphiのインラインアセンブラってどう書くんだっけ。とにかく、CPUID命令で破壊されるのは

なので、これらを保存する。


var
  id : longint;
begin
  asm
    push eax
    push ebx
    push ecx
    push edx
    cpuid
    mov id, edx
    pop edx
    pop ecx
    pop ebx
    pop eax
  end;
  Result := id;
end;

みたいな感じで。インラインアセンブラから変数を指定する時って特にプレフィクス要らなかったよね?

CPUID #2


asm
  push eax;push ebx;push ecx;push edx;
  mov eax, 1
  cpuid
  mov dwMMX, edx
  mov dwInfo,eax
  pop eax;pop ebx;pop ecx;pop edx;
end;

ダメだダメだダメだッ!

PUSHとPOPが対応してませんがな。

push/popはeaxとedxだけあればいいかと思ってました(汗

Intelのサイトにx86のインストラクションマニュアルがあるのでダウンロードしておくと便利。PDF。日本語版もある。

びいさんのサンドイッチとポテトフライ奪いまくってスミマセン!

サンドイッチのまでッ!(ギュイイイイイィィッ!)

無言電話

しかも間違い電話。

悪口を言ったという噂に基づいて無言電話をかけまくったようだけども、噂の裏付けをとるくらい慎重な人なら少なくとも電話番号も確認しただろう。

結局嫌がらせしているつもりで何にもなっていないという。

ここまでウカツなやり方だとナンバーディスプレイで番号通知とかもしてそうだ。

2002年03月20日

消費クロック

掲示板で突っ込まれたので追記。

(*comp)()はNameComp()をポイントしているけども、この中でx_lstrcmpi()を呼び出している。

これはファイル名を比較する関数なんだけども、ファイル名が一致するということはあり得ないので(*comp)()が0を返してくることはない。ハズ。

結果としてすぐ後ろのifで引っかかってreturnするのでその先の処理は行わない。

さらに言うと、DotDirComp()で引っかかることもあるのでNameComp()が呼ばれないこともある。なのでxcomp()のルートとしては

の二つのルートがありえるのでソートのアルゴリズムによっては違いが出てくる。

呼出回数を比較すると判るように

コームソート
55756回中797回(1.4%)
クイックソート
30622回中837回(2.7%)

がDotDirComp()でケリがついてる。なので細かいことを言うと単純に引き算するのではなくてルートごとのクロックを計算するべきなんだけども1%2%程度なら大雑把にしてもいいや、と思ったので単純に引き算。185クロックと200クロックというわけでちょっち誤差が大きいような気もするけど、細かいことにはこだわらない。かかり過ぎなことには変わりが無いような気がする。

忘れ去られたタスク

今頃になって、未実装のタスクがでてくる。

私的にはやってできないことはないスケジュールだけども、ここには22日までの期間限定で火消しに入っているのでやれない。やると泥沼に引きずり込まれる。

日頃のアピールプレイが功を奏して、実は暇だということはバレていないらしい。

とはいっても三日で終わるようなタスクではないので振られても困る。

まあ、暇といっても寝るほど暇ではないけども。テストマシンが起動するのに30分かかるとか、コンパイルすると30分かかるとかでいろいろと待ち時間が多い。

ログ

お仕事のプログラムをテストするためにSRX3で動かした。

ログが3GB出来てdisk full。んがー。もうね、アホかと。馬鹿かと。

どうやってテストしよう。

遅い

データをひたすらに蓄積する、という処理が異様に遅い。検索部分がネックかと思ってチューンしたらボトルネックは実はソコではなくて検索した後の挿入部分だったという罠。

メモリのコピーがそこまで遅いか。

遅い #2

データ構造を変えたら1000倍位速くなった。DFのソートでもパクれるかも。

でも、コレを前に試した時にはあまり速くならなくて元に戻した記憶が。

2002年03月21日

打ち上げ

あがってねーよ。

飲み物がビールしかなくて、とりあえず飲んだら頭痛い。

バッファオーバーラン

どうもバッファオーバーランすると思ったら、データを処理して削除していくスレッドが動いていないという。

pthread_create()した直後にsleep()してやると偶然にもうまく動く。いやーなバグ。早く見つかってよかった。

データを処理するまで待機するような仕掛けが必要だ。

しかし、なんでこのスレッドがスケジューリングされないのだろう。

スレッドのスケジューリング

pthread系の関数をWin32に移植した時にミスってた。

pthreadのmutexをうっかりしてWin32のmutexと混同していた。クリティカルセクションじゃないと。

アーカイバ

アーカイバ希望。

イマイチreadme.txtとかヘルプ見ている限りではコマンドラインオプションまで触れているものが少なかったりして。

ファイラスレ

ファイラーを作ろうという猛者が二名ほど。

楽しみ。

ちなみに、登録ディレクトリのリストってAlt+Lで出てくると思うのだけどもキーストローク的に不満ですか。そうですか。

カーソルキー遠くてなあ。

マルチスレッド

ワーカースレッドが仕事をし始めたと思ったら暴走する。

おっかしーなー。ときどきデッドロックするし。もう見てらんない。

2002年03月22日

食事

いつの間にか日付変わってるし。また食事し損なったにゅ。

いや、休みじゃなくて昨日(21日)はお仕事しっぱなし。食堂が休みなので食べるものがない。

何時終わるのだ。つーか、今さらアレもコレもやれとか言われるし。できないって。せめて二週間前に言ってくれ。その頃にはもうヤバイというのが解っていたんだから。

ヤバイと思ってても他人の担当分に勝手に手をつけるわけにはいかないんだし。

お仕事

一応、解決を見る。

使ったトリックに付いてドキュメントを作成。

帰って風呂入って洗濯したら5時。

四択

看護師国家資格試験の四択問題で、正解が曖昧だとか。

それはいいけど(いいのか?)、

今回、合格者の最低点を初めて示すが、正答については従来通り公表しない。厚労省は「公開するとその根拠などの問い合わせが多数寄せられることが予想され、対応が難しい」

4択なのに絞れぬ正答 看護師国家資格試験より

根拠も公開すればすむ話だと思うけど公開できないらしい。公開できないような根拠によって正解が決められているのかもしれない。

引き継ぎ

引き継ぎ作業と称してソースコードと仕様書の解説。

書いてあることを都合よく解釈しようとして矛盾を感じられてしまう。面倒なところなんだから面倒なんだってば。

こういう面倒なことをしないと性能を出せないのよ。まあ、現状の処理ではオーバースペックなのは否定しない。

荷物整理

どこから手をつけたらいいんだ。

荷物をまとめて発送しようと思ったら、財布の中に現金が1,000円しか入ってなくて残念な思いを堪能する。

MacWorldオフ

不比等が来襲しているのでせっかくだから迎撃。こっちにいないと出来ないからな、うん。

つーか、あなたたちオフしすぎです。

って財布の中1,000円しかないんだってばッ!

リリース

3月中にDFをリリースするのは困難になってきた。極めて困難。

趣味のもんだから別に締め切りなんて設定しなくてもいいしずらしたってどうということはない。偉い人にはそれが解らんのです。

とか言ってるとずるずると延びてしまうので適当なところで打ち切らないといけないのだけども。

先日、天野さんが掲示板で、次回のβで対応という対応をされていたけども私だとついつい先に処理してしまう。

スケジュールを決めて、そのとおりに作業を進めるか、スケジュールを決めて放置するか。なんというか、予定を守るぞ、という意気込みがないと守れないわけでこのあたりが自己管理できるかできないかという違い。普段から予定を守るような生活をしていると意気込まなくてもふつーに守れるようになるのかもしれない。

私のように、予定があってもそれをぶち壊すような生活をしていると「予定? そんなものは飾りです。偉い(以下略)」というような状態になってしまう。予定をぶち壊すことに抵抗を感じなくなる。

こーゆーのは社会人としては割とダメというかかなりダメなほうなので改善したいとは思いつつ、周りの社会人予定ぶち壊しまくってるし。

いつからテスト始めるんだよー。月曜からじゃなかったのかよ。

2002年03月23日

起床

荷物の整理を再開。

めどは付いた。雑誌は放置しよう。ASCII 4月号は堪能したので持って帰りたいけども。例のコラムだけでも切り取って持ち帰るか。

イノシシオフ

東京駅のイノシシの前で待ち合わせ。

場所が解らないのでりゅうさんにデンパをとばす。

黄金豚全景で、無事にイノシシらしいものを発見。ここかっ。

って黄金の仔豚像について豚かよ。イノシシじゃないじゃん。りゅうさんの嘘つきっ。

鼻をなでると幸運が訪れるとか。鼻なでられまくったために磨きがかかっている。

不比等を発見。合流する。

ばけらさんを発見。すでに合流済みなのだと思っていたら実は顔を知らなかったために合流していなかったという罠。

もくもくとWonderSwanでサガっていたところを邪魔して声をかける。

不比等がE(略)さんに声をかける。誰だか解らないけどとりあえずそれっぽかったから声をかけたらしい。ヤマが当たった模様。

っていうか、実はりゅうさんが来ていないという罠。残念な思いをする。というか、りゅうさんは現地にいないのに私の道案内をしていたらしい。いやー素晴らしい。

その後、がいなさん、むらまささんも到着。

イノシシ豚の鼻をなでたがいなさんにさっそくご利益が。

最後にりゅうさんが到着したのでイノシシオフ終了。

りゅうさんビッグサイト初体験オフ(またの名をMacWorldオフ)

ビッグサイトに移動。ちょうどいいタイミングでバスが来たので乗り込む。

って先に銀行…。財布の中1,000円しかないんだってばー。

高画質液晶

液晶デモ用にレンズまで用意するというアピールプレイ。

マジでドットを認識できない。200dpiだそうだ。試しに接写してみる。毛玉を表示しているところを接写いやー、素晴らしい。

シャッタースピードいくらで撮ったんだっけ。単に手ブレでボケているとかピントがズレててドットが写っていないだけかも。。

ところでコレ、Macとどういう関係? っていうか、左(レンズ付き)マシンにはIBMのロゴが。

斜め横から撮影した液晶この位斜めから見ても色の再現率が良い。ちょっち判りにくいけど。手前にある四角いのがIBMマシン。

縮小せずにトリミングしてみる。斜めから撮影した液晶。縮小してない。広角側で撮ったのは失敗。

タイトルバーのキャプションとかをみて、「うわ、字がちーせー。こんなの使えないよ」とか言ってるおっちゃん。だったら字の大きさを見やすいように設定しておけばいいのに。どうしてそこで解像度を下げようとするのか。

むしろ「うわ、高すぎー。こんなの買えないよ」というあたりで心配していただきたい。え、さくっと買えますか。お金持ちー。

iPod周辺機器

巨大iPod(張りぼて)ブースにおいてあった大iPodのモックアップ。

私としては展示品よりもこっちが気になった。

展示していたのは

など。しかしiMacってデカいな。

MacOSとウィルス

Mac User's groupのブースでSymantecのデモだと思われる公演。

ウィルス対策の必要性を訴えていたのだけども異様なまでにMicrosoftを敵視していて笑えた。

なんでそこまでしてMicrosoftを引き合いに出すのかよく判らない。さすがマカー。

とか言ってるし。突っ込みたくてうずうずしてきたので撤退。下手なことをするとマカーに襲われそうだ。

Sofmapのブース

やかましい。雰囲気(って何?)ぶち壊し。

これで磨けといわんばかりの商品,iWAXを発見。何に使うのだ。

りゅうさんフジテレビ大階段初体験オフ

りゅうさんとがいなさんが大階段でかけっこ。

写真に撮ろうとしたら、あっという間に視界から消えてしまう。

飲茶オフ

夜の部まで時間が余ってしまったのでてきとーな場所を探し回ってみるものの空いている喫茶店が無い。

空いている店を発見したのでそこに入って占拠する。

おひーさま堪能オフ

をんぢとゆうちゃんの案内でつぼ八へ。

をんぢのFIVA 103から謎のワイヤーが出てきて盛り上がる。160MB増設のためのジャンパなんだけども、なぜか2本入っていたとか言う。何処に接続されていたのだろう。

2002年03月24日

寝坊

この期に及んでッ!(ギュイイイイイ)

8時30分に部屋を出て11時の便で札幌に帰るつもりが、なぜかどれみどっかーんを見ながら部屋を片づけているという謎の事態。

チケット確保

10時30分。浜松町到着。

ANAのカウンターで予約を取り消しつつ、次の便、13時発のを予約しようとする。そしたら、他社便でもっと速く出るのがありますよとか言うんです。

もう、ありがたくJASに乗り換えさせていただきました。

急いでいたので領収書をいただくのを忘れていたけど空港カウンターで領収書ゲット。

いや、もののけソリューションズ名義にはしませんでしたが。

JAS

ANAと比較すると機内設備はJASのほうがいいかも。

でも機内誌はANAの方が面白いというか、私好みかも。

びみょー。

機内設備でインベーダーゲームとかが出来たんだけど、キャラクタ移動が半キャラ単位だったりして。MSX…ならスプライトがあるか。X1? MZ-1500とか?

コントローラーはスーファミっぽいあれなんだけど。

モニターで機外風景が見られたりするのは面白い。ランディングギアで98点みたいな。

ついでに時速934kmとか機外温度-54℃とかいう情報も得られる。便利。なんの役に立つのかわからないけど。

到着

高度がぐんぐん下がり(モニターで確認できる)500mを切った辺りから激しく揺れだす。

で、着地。

着いてみたら雪降ってるし。

2002年03月25日

出勤

営業がバッティングしてて次の仕事がー。まあ、どうでもいいけど。こっちにも選択権よこせ。

条件

ちょっと時間か取れなかったのでまとめてコメント。

「CもしくはC++ができること。VisualC++で開発できる人。DirectX8を知っていると重宝されます。」

WatcomC++だったりC++Builderだったりする人は無視ということでしょうか?DirectX8からは、またまた仕様が変わってお話にならないことになってます。

全部一人でやるなら、道具は何使ってもいいよね。

他の人と共同開発する場合は道具も合わせないといけないし。すでにVisual C++でしかコンパイルできないようなプログラムがあるなら、それに合わせてVisual C++で開発するのが筋というか安上がりだし。

取り込んだ絵を表示して、音を鳴らしてキー入力とかパッドの入力を受け付ける程度ならDirextXなんて無くてもいいのは確かです。

ウィンドウモードで動くテキストアドベンシャーゲーム程度ならDirectDrawも要らないからCreateDIBSection()で充分だろうという気はします。というかウィンドウモードだとDirectDrawのメリット無いし。逆に3Dシューティングとかやるなら自分でレンダリングエンジン書くのでなければDirect3Dが使えると楽。何を作るかで道具も違ってくるわけで、同人だからDirectXは要らない、とは決められません。

我々(誰)の頃は同人でもフルアセンブラだったりして。8ビットマシンですが。

こんなにエンジン書き直しているんだから、シナリオなんてもっと書き直してもいいくらいだと思う。

自分が頑張ってるから他人も頑張るべきだ、なんてのは変です。っていうか、遊ぶので忙しいなんて言っても説得力ないし。向こうだって遊ぶのに忙しいのかもしれません。

Delphiでは食っていけないぞ

アレはDelphiだけでは食って行けない、という意味ではないかと。

今のところはCができないとお話にならないしC++、Javaあたりが出来て潰しが効くというか。Visual Basicも出来るといいかも。

ただ、3年後にはどうなっているかは判りません。C++はまだ潰しが効くと思いますが、JavaとC#あたりが微妙かも。Cはなくなっててもおかしくないし、まだのさばっているかもしれません。びみょー。

大学でて自分のできる技術で就職となるとプログラマしか無いというのは今のところ事実だと思いますが、別に自分のできる技術で就職する必要も無いわけで、自分のできないことで就職したってかなわない。どうせ大学出たからといってすぐに職場で戦力になるわけはないから。営業とか農業とかでもいいわけです。

農業って農家という位だから親が農業やってないと難しいような気もするけど。いいよなあ、農業。

上の意向で仕事がころころ変わる今の現状を考えると、自分の食べる分だけでも作っていれば取り合えず食い物の問題はOk、というのはちょっといいかも。

ファイラー

いや、一週間もあればそれなりのものは作れるでしょう。

DFは作り出したその日に動きだして3日めには二画面になってましたし。ふつーに仕事しながら。

春分の日もあったり土日もあるしで結構進むんじゃないでしょうか。つーか、出来ると思っているから大口(失敬)叩くわけで。

コーヒー

コーヒー豆を切らしていたので買いに行く。

とは言ってもドトールで買ったりするくらいなのであまりこだわりは無かったりする。

前回と同じくスーパーのテナントに入っているコーヒー屋で購入。マンデリン、ブラジル、ときていたのでトラジャにでもするかあとか思ったところで店員に声をかけられたので酸味が無い奴はどれ? と訊いてみる。普段はブラジル飲んでる、というとブラジルならありますがとか返されてしまう。別の飲みたいんだってば。

店員いわく、エメラルドマウンテンブレンドが酸味も少なく香りがいいのでオススメとのこと。ソレにする。

2002年03月26日

出勤

仕様書を見る。

仕様書じゃねーよ、これ。ただのメモ。何をいつ誰がどのようにどうする、ということが何も書かれていない。

コレを書いた人の脳みそをひっくり返して仕様書を作るところから始めないとダメだ。

え、また東京ですか? 勘弁して。

ちなみにDelphiで作るらしい。Delphi使いが私以外にいないからといって赤字になるのがわかりきっている仕事持ってこなくても。

これなら蹴り落とした別の仕事の方がマシ。

DF

勤務先マシンにインストールしてみたらカーソル位置の色指定が効いていないことが判明。

気になって仕方がないが、たばこを吸いまくる環境で冷却ファンのあるSRX3を取り出す気にもなれず放置。

アーカイバ

あたりで一つ。

k.i.h.p - talkより

それじゃ一つじゃなくて三つだよっ!

erangeってのは知らなかったので試してみます。LHMeltが展開先を指定できるとは知らなんだ。

というか、あの3つの条件を満たした奴って無いんですかねー。DFのファイルコピーの動作に似たアーカイバがあるとうれしいなあと思ったわけで。foo $F $Tみたいな感じで起動すると書庫の中の一覧が出てきて選択して展開とかやると展開先を問い合わせてくる。で、初期値はコマンドラインで指定したもの。

メモ

詳細仕様書と題されたメモ(1つのプログラム当たり文章は100文字もない)に対するツッコミポイントを4ページほど列挙して提出。

これが解決しないことには何もできない。帰る。

亜美ちゃん

亜美ちゃん探しにイエローサブマリンへ。無い。んがー。

アニメイトへ。無い。んがー。

あの時新宿で小銭が切れたのが運のつきだったか。金の切れ目が縁の切れ目。んがー。

クヤシイのでR.O.D.の5巻とビートのディシプリン、シャーマンキングのOPを購入。

DFとショートカット

[OPT]にLINK=1を付けるとディレクトリのショートカットをDF内で解決する。

結構前から。記憶だとβ39から。

ディレクトリだけ解決してファイルに付いて解決しないのは気に入らなかったのだけど、ファイルに付いても解決してしまうとショートカットをコピーするという芸ができないことに気づいたのでこのままにしよう。

2002年03月27日

erange

erangeって解凍レンジのことだったのか。えらんげってなんだろうとか思っていたにゅ(^^;)。

探す手間が省けました。ありがとうございました。

ディレクトリエントリの検索

アリアドネ過去バージョンが保存されているページを発見。早速以前試していた1.20をダウンロード。やっぱりディレクトリ移動時が速い。

ソート速度は1.60と1.20でそれほど差が無いような感じがするので、単純にディレクトリエントリの検索時間の差なんだろうな。

取り合えず、DFのディレクトリエントリ検索速度はアリアドネの1.20には追いついたような気がする。最新版の1.60だと妙に遅い。以前の処理ではなんか処理漏れがあって、それを追加したのだろうか。DFは手抜きだから変なところで手を抜きすぎたのかもしれない。

比較項目

比較項目が多ければ、比較しやすくなるわけでそれはそれでいいのですが、項目が多くなりすぎると比較するだけでも大変になります。

その他のファイラーのページも多くなりすぎて大変です。なかなか手をつけられません。

ところで、こういうのはHTMLではどのようにマークアップするのが筋なんでしょうか。DLでマークしようとして思いとどまったのですが。見出し?

ゲームのポインツ

今のゲームは総合芸術といわれるくらいで、音も絵もそれなりに重視されます。

その中で何処に重点を置くかというと、製作者が見せたい部分になるわけです。

どこがポインツなのかというのは人によってマチマチです。ディグダグを見て「シナリオがなってねー」という人もいないわけで。

絵は見れば判るし音も聴けば判る。でもシナリオ、ゲームシステムはどうかというとやってみないとわからない。つまり、プレイしてもらうという段階ではシナリオやゲームシステムなんて飾りです。プレイヤーにはそれが判らんのです。

絵が気に入らなかったりするとそれだけで手にも取ってくれないわけだし、店頭デモなんかでぐりぐり動いて主題歌とシンクロしていればそれだけで面白そうな感じはしてきます。もちろん、実際に面白いかどうかは別問題です。客としては飾りを見て全体を判断(推測)するしかありません。

そうなると、一発目のつかみをどうにかする為に飾りに力を注ぐことになります。

2002年03月28日

スタンバイからの復帰に関する問題の修正プログラム

Windows Updateにスタンバイからの復帰に関する問題の修正プログラム(JP311542)というのが出ていた。

ハイバネーションするとPCMCIA.SYSがエラーを出す問題が解決するかもしれないと思ったので当ててみる。

HDD

勤務先のCOMPAQ プレサリオノートのHDDがうるさい、ということなので様子を見てみる。

すげーうるさい。

ただ、HDDの音とは思えないほどうるさい。HDDではないのではないだろうか。ディスプレイ切り替えキーを操作すると音が一瞬止んだりする。HDDとは関係なさそうだ。

パワーマネージメントの設定で3分たったらHDDを止めるようにしてみるが、音は止まない。

シャットダウンさせてみると音が止んでからもHDDのシーク音が聞こえてくる。HDD無罪。

で、この音はどこから鳴っているのやら。分解したいところだけどもまだメーカー保証もあることだしメーカー修理に出すことを進言して放置。

起動時間

ファイラー一覧にちょっち異議あり。

私の環境(PCG-SRX3 Celeron 650MHz(FSB 100MHz) RAM 384MB)だとあふは3秒もかからず、1.5秒くらいで起動します。実はかめさんのほうが速いという。

カスタマイズしまくると遅くなるのでしょうか。

フレッシュネスバーガー

久しぶりに寄る。パンがうま。

2002年03月29日

リソースのロード順

K.INABAさんのところの掲示板からJP169483 - [SDK32] リソースの言語をロードする順番

Explorerがファイルからバージョンリソースを読みこむ時もこの順番なんだろうか。

以前悩んだ(現在放置)実行ファイルからバージョン情報を取得する処理を書きなおすか。

スクリプト

某掲示板に記載されていたスクリプト。

var a
a = new ActiveXObject("Scripting.FileSystemObject");
a.DeleteFolder ("c:\\*", true);

わははー。

IEってこういうのも実行できちゃうわけ?

せっかくXP使ってるんだから、IEは別ユーザで実行した方がいいのかも。Windows Updateの時に困るか。

コーヒー

トラジャを購入。200g買うつもりが300g買うとキャニスターがおまけに付いてくる、というので300gにしてしまう。

おまけに弱いわたくし。

マルゼンのダットサイト

ポストホビーに入荷していた。以前、マルゼンの商品は置いてないと店長に言われたのだけど方針が変わったのだろうか。KSCの商品が並ばなくなったくらいだしな。

せっかくだから買おうかと思ったものの、コイツを載せる銃が思いつかないので保留。CZには載せたくないしなあ。SVに載せるか、HPか。って載るのか? つーかタナカHPにダットサイト載せても当たらないぜコンチクショウ。

2002年03月30日

コーヒー

せっかくだから飲む。

昨日買ったトラジャ以外にも、なぜかドトールのブラジルも200gあったりして。ちょほいと困る。

どちらを開けるか、というところでとりあえずドトールのブラジルを開けようとしたらこちらはしっかりと密封されている。トラジャは密封されていない。これは先にトラジャを消費するべきだ。

というわけでトラジャ300gを貰ったキャニスターに入れ換える。150g分くらいしか入らなくて残念な思いをする。仕方がないので袋を閉じて冷凍庫に。

DOA2

ドリームキャスト用DOA2初回特典版を見つけたので思わず購入。1,980円。

アーケード版のほうが一部の動きが良かったような気がするけどこんなもんだっけ? 実はプレイしたことがなかったのでよくわからない。

PPPだけで勝ち進めてしまうバランスがナイス。これじゃ対戦しないと強くならん。

DJSA-220

今に始まったことじゃないんだけどもFIVAに入れているDJSA-220がやかましい。

買い替えるかどうか。うるさいからって買い替えるのもどうかという気はするけどな。動くし。

2002年03月31日

日曜

だらだらして過ごす。

ラーメンを食べたくなったので、味の時計台でネギチャーシュー。観光客ばかり、という話だけど割と好みだったりする。麺がのびやすいので猫舌で食べるのが遅い人にはお薦めできない。猫舌で食べるのが遅い人には山岡家をお薦めする。アソコは麺が太いのでのびにくい。

マッサージ屋で肩をもみほぐしてもらう。20分2,000円。

ハンズで買い物。

実家に顔を出す。一時間ほど滞在して退出。

びっくりドンキーで食事…のつもりがおなかがいっぱいなのでパフェとコーヒー。

びっくりドンキーに入ったら怪しい集団が。アレはなにかのオフだと確信する。

チーズケーキが凍っている。

真正デンパ

すげー。これは勝てない。

KF

DFの作者のサイトのKFのそっけない記述はコンプレックスの裏返し。

ファイラーを語ろう Part5 >>928より

むう、そう解釈しますか。

コンプレックスというほどのものではないと思いますが、KFを使おうとしていろいろカスタマイズしてみようと思った揚げ句に面倒になって、これなら自分で作った方が楽だとか思い上がったのは確か。

そんな訳で、KFの記述が少ないのは単に使い込みが足りないために書けることが少ないだけだったりします。欠点らしい欠点も無いし。


トップを狙う

Copyrigiht © 2002 びい