水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2003年のえび日記 > 2003年3月

2003年3月

2003年3月31日(月曜日)

闇黒の日

6時前に起きたわ Perl5.8 の Encoding モジュールは微妙に使いにくいわつまらない XSS は発見するわトラッキングサーバは容赦なく Cookie フィールドを改竄するわその上改竄の仕方が壮絶だわスクリプトは微妙にエンコードのタイミングがバグってるわ RFC2965 には Set-Cookie2 の書式しか出てないわ箱はでかいわリモコンは行方不明になるわ仕舞い込んだ箱の中にもないわ隣の席には飲みかけのリゲインが残されているわ……。

関連する話題: 出来事 / 内輪ネタ

2003年3月30日(日曜日)

またブリッツボールにハマる

FF10-2 (www.amazon.co.jp)。前作ではブリッツボールに没頭しまくって全然話が進まなかったという経験がありますが、今作にもまたブリッツボールが登場。システムが全然違いますが、これにもまた没頭するし……。

関連する話題: メモ / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

2003年3月28日(金曜日)

アニキ違い

私のすぐ近くに、昔から「アニキ」と呼ばれている人がいるのですが、「アニキ~」と声がかかったら私は何故か FF10-2 (www.amazon.co.jp) の「アニキ」を想像してしまい、思わず笑ってしまいました。

しかしアニキって良い味のキャラだなぁ。

関連する話題: 内輪ネタ / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

2003年3月27日(木曜日)

えび日記が鳩丸更新履歴を吸収合併

なんだかんだ言ってここに HTML や CSS の話題も書いてしまっている私。

昔は HTML/CSS 関係は鳩丸更新履歴 (www.ne.jp)に書くようにしていたのですが、なんか面倒ですし、HTML の話題でもジャンル別表示機能でフィルタリングできた方が良いでしょうから、今後は話題にかかわらずこちらに書くことにします。

そこで、今まで鳩丸更新履歴に書いてあった HTML 関係の話題もこちらにコピーする予定です。と言っても量が多いので段階的に。とりあえず今回は 2002年 4月以降に書かれたものをこちらに写しました。

関連する話題: えび日記

2003年3月26日(水曜日)

width: auto のフロート

CSS で画像以外のものをフロートしようとしたときに良くはまるのが、フロートには width の明示が必要という罠です。

10.3.5 Floating, non-replaced elements

If 'left', 'right', 'width', 'margin-left', or 'margin-right' are specified as 'auto', their computed value is '0'.

以上、CSS2 10.3.5 Floating, non-replaced elements より

というわけで、非置換要素をフロートするときには width を明示的に指定してやらないと、width の算出値は 0 になります。幅 0 のものがフロートすることになりますが、なにしろ幅 0 ですからうまくありません。まず読めませんし。

ところが、これが IE で表示させると何故か幅 0 になりません。幅を適当に算出してくれて、ちゃんと読めるようにレンダリングしてくれたりします。実は昔、私も某所でこの罠にはまったのですが、当時は Mozilla などインストールしていなかったので、えむけいさんに指摘されるまで気がつかなかったという逸話があります。

そのとき思ったのは、「なるほど仕様的には非置換要素のフロートには width の明示が必要ですけれども、むしろ IE の挙動の方が嬉しいんじゃないのかしら」ということでした。width: auto だと幅 0 というのは、どう考えてもスタイルを指定した者の意図に反する結果にしかならないと思うわけなのです。

……とまあそんな事を思っていたのですが、実はそう思ったのは私だけではなかったようで、最近の CSS2.1 のドラフトを見ると、その部分はこんな記述になっています。

If 'left', 'right', 'margin-left', or 'margin-right' are specified as 'auto', their computed value is '0'.

If 'width' is specified as 'auto', the computed value is the "shrink-to-fit" width.

以上、CSS 2.1 Specification W3C Working Draft 28 January 2003 / 10.3.5 Floating, non-replaced elements より

つまり width は 0 ではなくて、"shrink-to-fit"、すなわち「ぴったりフィットするサイズに縮んだ」幅になります。"shrink-to-fit" という幅については、その後に続けて書かれています。

Calculation of the shrink-to-fit width is similar to computing the width of a table cell using the automatic table layout algorithm. Roughly: calculate the preferred width by formatting the content without breaking lines other than where explicit line breaks occur, and also calculate the preferred minimum width, e.g., by trying all possible line breaks. CSS 2.1 does not define the exact algorithm. Thirdly, compute the available width: in this case, this is the width of the containing block minus 'left', 'right', 'margin-left' and 'margin-right'. (Omit 'left' and 'right' if they do not apply to this element.)

Then the shrink-to-fit width is: min(max(preferred minimum width, available width), preferred width).

以上、CSS 2.1 Specification W3C Working Draft 28 January 2003 / 10.3.5 Floating, non-replaced elements より

Roughly と言っていますが本当に Roughly で、特に気になるのは、既にフロートがある場合について考慮していないということです。これ、何も考えずにそのまま実装すると、既存のフロートの横にフロートするとき、既存のフロートを無視して幅を決めることになってしまいます。

まあ常識的に考えれば、フロートは決して重ならないという掟なのですから、既存のフロートが存在しているときは、当然その分の幅は新たなフロートのためには利用できません。ですからその分も "available width" から差し引くべきでしょう。※ちなみに IE の挙動だとちゃんと引かれているようです。

今までの私の経験からすると、フロートの幅を auto にしたい時というのは、複数のフロートを横に並べて擬似的な段組にしたい時だったりするので、肝心のそのときの説明が無いというのは何ともなぁ、と思いました。まあ、これはまだワーキングドラフトなわけで、この辺りの説明が変わる可能性は高いですし、この仕様自体がどうなるか分からないわけですが……。

関連する話題: メモ / CSS / CSS2 / CSS2.1

border の有無でマージン相殺が変わる

偶然にも CSS の話題が続きますが……。

マージンの相殺という、なかなかマニアックな点に触れているところに期待が持てる連載なのだが、ひとつ気になる点があった。ボーダーの有無でマージンの相殺の挙動が変わるようなことが書かれていることだ。私の記憶によると複雑なルールではなかったはず。

以上、りゅうさんの偽偽夜食日記 2003年03月24日 より

元記事を読んでいないので想像ですが、これはおそらく、あるボックスの中に別のボックスが入れ子になっていて、両方にマージンが設定されている場合の話でしょう。この場合、外側のボックスに border も padding もないと、マージンは重なります。しかし border や padding があると重なりません。

CSS2 の "8.3.1 Collapsing margins" には、冒頭に以下のような記述があります。

In this specification, the expression collapsing margins means that adjoining margins (no padding or border areas separate them) of two or more boxes (which may be next to one another or nested) combine to form a single margin.

以上、CSS2 8.3.1 Collapsing margins より

(no padding or border areas separate them)という注意書きが味噌で、2つのマージンの間に padding も border もなければマージンは重なり得るし、そうでなければ重ならないわけです。

※もっとも、仕様のこの記述にはちょっと微妙なところがあります。padding or border areas という言葉の解釈の仕方によっては、「border: none; padding: 0; であっても、そこには幅 0 の border 領域や padding 領域が存在しているので、マージンは重ならない」と解釈することも出来そうです。しかしそう解釈してしまうと、ネストされた要素のマージンは決して重ならない事になってしまいます。(which may be next to one another or nested) と書かれているからにはネストされていても重なり得るということですから、そのような解釈は間違いと言えるでしょう。

具体的な例を出しますと、たとえば以下のようなマーク付けに対して……

<div id="div3">
<div id="div2">
<div id="div1">
<p>foo</p>
</div>
</div>
</div>

以下のようなスタイルを適用します。

#div1{
margin: 1em;
}
#div2{
margin: 2em;
}
#div3{
border: red solid 1px;
bckground: #fff; color: #000;
}

すると、中のブロックのマージンによって、あたかも div3 に padding: 2em 3em; が指定されているかのような見た目になります。上下のマージンは重なるので、div1 の 1em と div2 の 2em が重なって合計で 2em となります。※ちなみに左右のマージンはこの場合でも重ならないので、1em と 2em は重ならずに 3em になります。

このスタイルを以下のように変えると……。

#div1{
margin: 1em;
}
#div2{
margin: 2em;
border: #fff solid 1px;
}
#div3{
border: red solid 1px;
bckground: #fff; color: #000;
}

1px の border が指定されただけなのですが、もはや上下のマージンは重なりませんので、div1 の 1em と div2 の 2em は合わさって 3em となります。まるで div3 の上下 padding が 1em 増えたかのように見えます。※ちなみに左右の距離は 1px しか変わりません。

関連する話題: メモ / CSS / CSS2 / CSS2.1 / もののけ / りゅうさん

鳩丸トップの謎カウンタがリセット

久々に鳩丸のトップを見たら、謎のカウンタのようなものの数字が 8144 に。

これ、いつもあんまりよく見ていないのですが、たしか 30万は超えていたはず。いつのまにかリセットされていたようです。

せっかくなのでこの機会に告白しておくと、この謎のカウンタのようなものは、そもそも「FPROG 会員ホームページ存在確認カウンタ」を設置しようとしたときに、フィンローダさんの ID である "SDI00344" を誤って "SDIO0344" としてしまったのが発祥です。そうしたら何故か独自のカウンタっぽく動作してしまい、それでそのまま放置してあるというとんでもない代物。

その typo された ID は存在しないものなので、誰もこのカウンタの管理を行うことが出来ないのでした。つまり、理論的にはリセット不能なはずなのでして、どうしてこの数字が減ったのかは全くの謎です。単純にデータファイルが吹っ飛んだのかもしれません。

関連する話題: 出来事

2003年3月25日(火曜日)

UDP のポート

TCP のポートは適当にフィルタリングして必要最低限のサービスだけに限定したつもりですが、UDP のポートをどうすれば良いのかいまいち。とりあえず UDP/53 は DNS の問い合わせに使われるので開けておく必要がありますが、他の UDP ポートというと、slammer が使った 1434 くらいしか知らなかったりして。

JPRS の「ウィルス・ワーム等への対処としてフィルタリングを行う場合の注意 (jpinfo.jp)」を見ると、少なくとも 1024 番以降の UDP ポートは開けておいた方が良さそうなので、とりあえず何も考えずに全開にしてあるのですが……。

関連する話題: 出来事 / コンピュータ / サーバ / altba.com / ネットワーク / TCP/IP / セキュリティ

/bakera/robots.txt

/robots.txt を持って行く人がいるのは分かるのですが (ってたぶんそれ人じゃありませんが)、なんだかしつこく /bakera/robots.txt を持って行こうとしている人がいるようです。サーバのルートをいじれない人でも robots.txt を置けるようにという配慮なのかもしれませんが、謎の 404 がログに残るのはちょっと……。

関連する話題: 出来事 / Web / UA

2003年3月24日(月曜日)

チート小僧

FF10-2 (www.amazon.co.jp)。序盤に何故か 100万を超えていた所持金が、ギャンブラーのドレスを入手したとたんにあっという間に底をついてしまいました。原因は言うまでもなく「わいろ」なのですが……。

というわけで、贈賄資金を獲得するため再びスフィアブレイク。ちなみに謎の現象をメモしておくと……

というものです。従って、

この繰り返しで素早く大量にに稼げます。もっとも、負けているわけですから、エントリーしたコインは一回につき一枚ずつ減って行きます。何度か繰り返したら、楽な相手と普通に勝負して枚数を回復させてやる必要があります。

※何故こんな現象が起きるのか謎ですが、おそらくポインタがらみのバグだと思います。スフィアブレイクで負けると、勝負中に変化したコインの価値・枚数は勝負前の値に戻ります。おそらく勝負前の値をどこかに保存しておき、負けた際にはそれを現在の値に書き戻しているのでしょう。その処理の際に、4番目のエントリーコインの値を、誤ってヘルムコインの値を保持するメモリ領域に書き写してしまっているのではないかと思われます。

……というわけで、贈賄資金 400万ギルゲット!

何ともズルい稼ぎ方ですが、まあ、普通に勝負して価値と枚数を増やして売る、の繰り返しでもかなりのハイペースで稼げるので、これは単なる時間短縮でしかなく、それほどズルくもないような気もします。

※個人的には、タイムアップ待ちの時間が有効に使えるのが嬉しかったり。

ちなみに、こういうのをネットワークゲームで行ったりすると、それは「チート」と呼ばれ、軽蔑の対象になったり処罰の対象になったりすることがあります。ご注意を。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

FF2 と FF10-2

FF10-2 (www.amazon.co.jp) を検索するつもりで「話題『ファイナルファンタジー2』を含むえび日記」にたどり着いている人がいるようなので、話題「ファイナルファンタジー2」と話題「ファイナルファンタジーX-2」両方を含むトピックを追加しておきます。

FF10-2 の話題が読みたい方は、「話題『ファイナルファンタジーX-2』を含むえび日記」をどうぞ。

関連する話題: ファイナルファンタジー / ファイナルファンタジー2 / ファイナルファンタジーX-2

2003年3月23日(日曜日)

C# で何かを Shift_JIS にして保存する

System.Text.Encoding の派生クラスには ASCIIEncoding, UnicodeEncoding, UTF7Encoding, UTF8Encoding の 4種しかありません。しかし、実は System.Text.Encoding の GetEncoding() メソッドで、任意の文字符号化方式に対する Encoding を取得することができます。

たとえば、何かを Shift_JIS で出力したい場合は以下のように書けば OK です。

FileStream fs = targetFile.OpenWrite();
Encoding enc = Encoding.GetEncoding("Shift_JIS");
StreamWriter sw = new StreamWriter(fs, enc);

同じようにして EUC-JP も出力できますが、ISO-2022-JP はこの書き方では無理みたい……。

関連する話題: メモ / コンピュータ / プログラミング / C#

小林幸子

FF10-2 (www.amazon.co.jp)、ユウナがスペシャルドレス「フロラフルル」にドレスアップしたところを見て、ある人が一言。

「小林幸子」。

これによって、私のフロラフルルの愛称(?)確定。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

2003年3月20日(木曜日)

拡張子 .swf を IE に関連づけるレジストリ

Windows のデフォルトでは .swf という拡張子は特に何にも関連づけられていません。Flash をインストールすれば Flash に関連づけされるのでしょうが、Flash Player のプラグインだけが入っている環境では、.swf ファイルをクリックしても表示できません。ブラウザのウィンドウを開いておいてそこにドロップすれば表示できますが、それも面倒なので、.swf を IE に関連づけておくと便利です。

以下のような内容のレジストリを結合すれば OK。

[HKEY_CLASSES_ROOT\.swf]
@="swffile"

[HKEY_CLASSES_ROOT\swffile]
@="Flash"

[HKEY_CLASSES_ROOT\swffile\shell\open\command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome \"%1\""

関連する話題: メモ / コンピュータ / Windows / レジストリ / Flash

IIS Lockdown tool で残念な思い

というわけでもちろん IIS も再インストールしたわけですが、その後以下のような順番にインストールしました。

すると、最後のステップでもって、.NET Framework と Active Perl によって関連づけられていたものが全て元に戻ってしまったという……。おそらく IIS Lockdown tool はインストール時点の設定を覚えておいて復元したため、IIS Lockdown 適用後の設定変更が元に戻ってしまったわけです。

というわけで、IIS Lockdown tool は最後に適用するのが吉。

ちなみに、IIS の設定だけなら .NET Framework を再インストールする必要はなく、.NET Framework のインストールディレクトリにあるはずの aspnet_regiis.exe を -r スイッチ付きで実行すれば復元できます。Active Perl の方は……再インストールしないと無理かも……。

関連する話題: 出来事 / Microsoft / セキュリティ / httpd / IIS / サーバ / altba.com / ASP.NET

2003年3月19日(水曜日)

MSのパッチで残念な思い

丸一日くらいこのページが見られなかったと思いますが、何が起きていたかというと、思いっきりサーバが死んでいました。

しかもこの死に方がまたひどい。「緊急」と称する MS03-007 のパッチを当てたら、サーバ再起動時にブルースクリーンで停止。セーフモードで起動しようとしても起動せず、コマンドプロンプトのみのセーフモードですらも起動せず、二進(にっち)三進(さっち)も行きません。

まあもともと Windows 2000 SP3 が当たらないなどの謎の症状を見せていたサーバなので、これを機会に再インストールすることにしました。

……で、後になって Microsoft のサイトを見たら、こんな「警告」が。

5.0.2195.4797 から 5.0.2195.4928 (5.0.2195.4928 を含む) までの ntoskrnl.exe のバージョンはこの修正プログラムとの互換性がありません。これらのバージョンはプロダクト サポート サービスの修正プログラムのみで配布されたバージョンです。

この問題に対する修正プログラムが、ntoskrnl.exe のこれらのいずれかのバージョンが存在するシステムにインストールされる場合、最初の再起動にコンピュータでエラーが発生し、Stop 0x00000071 メッセージが表示されます。このため、Windows 2000 回復コンソールを使用して “\winnt\$NTUninstallQ815021$” ディレクトリに保存されている ntdll.dll のバックアップ コピーを回復する必要があります。

以上、http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/security/bulletin/MS03-007.asp より

……言うの遅いって……。

関連する話題: 出来事 / Microsoft / セキュリティ / サーバ / altba.com

2003年3月18日(火曜日)

ガンシューティング

FF10-2 (www.amazon.co.jp)、少し話を進めたらまた新しいミニゲームが出てしまい、またしても没頭。

そのミニゲームというのはガンシューティングなのですが、簡単に言うと、モンスターを撃ちまくりながら制限時間内にビサイド島の海岸まで行けば OK というゲームです。

とりあえず 2000点まで行ったのですが、それで結構良いものが貰えたので (ダイヤの小手やらブレイクが使えるリザルトプレートやら)、もっと頑張ればもっと良いものがあるのかも。次のレベルは 2800 点なのだそうで、まだしばらく没頭しそうです。

せっかくなので、ばけら流のコツをいくつかメモしておきます。

関連する話題: メモ / 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

スペシャルドレスで残念な思い

FF10-2 (www.amazon.co.jp)。とりあえず現在のところ、パインとリュックがスペシャルドレスアップ可能になっているのですが、このスペシャルドレス、「リボン」というアビリティがついています。なのでステータス異常はへっちゃら……と思いきや、マキナリュックが雑魚オオカミの「キラーファング」で一発昇天。どうも「リボン」には即死耐性はないようです。

さらに衝撃的なことに、そのときリュックは、まさにこの雑魚オオカミ対策として、即死耐性のアクセサリ「天使のイヤリング」を装備していたのです。つまり、スペシャルドレスアップするとアクセサリの効果はなくなるものと思われ……。そう言えば、リザルトプレート「再起の心」の効果で使えるはずのケアルとレイズも使えなくなっています。スペシャルドレスだと、装備品の効果は全て無くなるのかもしれません。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

秀丸で特定ディレクトリ以下を grep

秀丸には grep の機能があってなかなか便利なのですが、特定ディレクトリ以下のファイル全てを対象に grep するとき、ディレクトリを指定するのが面倒だったりします。そこでこれ。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\bakera2]
@="秀丸で&grep"

[HKEY_CLASSES_ROOT\Folder\shell\bakera2\command]
@="\"C:\\Program Files\\Hidemaru\\Hidemaru.exe\" /d\"%1\" /g"

これを結合すると、フォルダ右クリックで、そこを起点とした grep ができるようになります。

関連する話題: メモ / 秀丸エディタ / Windows / レジストリ

2003年3月17日(月曜日)

辞書掘り

FF10-2 (www.amazon.co.jp)、砂漠で延々とアルベド語辞典を発掘。ってこれもある意味ミニゲームなわけで、今日もまたミニゲームで話が進まないという……。

ときどき変な飛行物体がやってきて戦闘になります。これがまたでかい。魔銃士で「みやぶる」と、その HP はなんと 33万超えてます。こっちの与えるダメージは 200 とか 300 とかなので、そう簡単には倒せません。あまり厳しい攻撃はしてきませんが、時間が経つと吹き飛ばされて戦闘終了。どうも FF6 のデスゲイズと同様にダメージが蓄積されて行くようなので、頑張って戦い続ければいつかは倒せるのでしょうが……。

しかし、こいつからはなんとラストエリクサーが盗めるのでラッキー。発掘できる他のどんなアイテムよりずっと貴重なんですが……。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

2003年3月16日(日曜日)

気の毒な鳥

FF10-2 (www.amazon.co.jp)、引き続きミニゲームに没頭しまくり。ナギ平原では謎のアトラクションが楽しめるのですが、まず所持金の 1割ほどを使ってポイントを 9999点購入し、「ウィングスロット」というスロットマシン風のゲームに入れ込んでみました。

ドラクエのスロットではスライムの絵が回っていたりしますが、このゲームでは飛行系の鳥、昆虫系モンスターそのものがぐるぐる飛び回っています。「○」ボタンを押して止めるのですが、ドラクエのそれなどと違って目押しがきくので、アンリミテッド:サガで鍛えた目押しのスキルでガンガン行けます。……と思いきや、目押ししてちゃんとそろえてもちゃんと止まってくれないことがあります。パインに言わせると「魔物だからな」ということらしいですが、まったくもって魔物らしいことに、リーチが出たあと最後の一匹がそろったところで、後ろのモンスターが攻撃してきて退かされてしまうことがあります。

この被害を受けるのはいつも青い鳥君 (そろうと 100倍) なのですが、あるいは弱いモンスターほど攻撃されやすいのかもしれません。って、そもそも私は青い鳥しか狙ってないのでよくわからないのですが。

ちなみに青い鳥君は今までに 2回ほどそろいました。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2 / ドラクエ

2003年3月15日(土曜日)

リサーチスフィア使用不能?

FF10-2 (www.amazon.co.jp)、はじめてビサイドの村に行ったときに 90万で掘り出し物が買えます。普通この時点で 90万なんて持ってないんだろうと思いますが、私は持っていたので買いました。で、寺院に行くとそれが必要な宝箱があったので、あっさり開けて「リサーチスフィア」というアイテムを入手。使い方は向かい側にいるじいさんが知っているというので訊きに行くと、「洞窟に行ってきたら教えてやる」とか言われたので、ほっといてシナリオを進めることにしました。

寺院を出ると画面右下に青いスフィアが表示されていて、「×」ボタンを押すとインジケータが表示されるようです。これがリサーチスフィアの効果らしいのですが、使い方が分からなかったし、使い方は後で聞けるようだったので、そのままシナリオを進めて洞窟クリア。

で、再びビサイドの村に戻ります。リサーチスフィアは島を出ると自動的に宝箱に戻されるということだったので、さっきの宝箱をもう一度開けてリサーチスフィアを再入手。すると向かいのじいさんがこれの使い方を教えてくれたので、では使おうと寺院を出ると……。

前回は出ていたはずのインジケーターがどこにもない。

画面右下には何も表示されていないし、「×」を押しても何も起きません。じいさんの説明を聞いたらリサーチスフィアは箱に戻るのかと思って取りに戻りましたが、宝箱は空。どうやっても使えず……。

結局リセットしてやり直し。洞窟クリア前だと説明は聞けませんがインジケーターは出ます。説明はさっき別の人生で聞いたので、それに従って操作して情報ゲット。って、なんかひどく間違っているような気がするのですが、ひょっとすると、初回で 90万払ってキーを買うなどという行動は想定外だったのかもしれません。なんか将来にわたって悪影響があると嫌なのでまたリセットして、キーを買わずに進めてみたり。

なんだかなぁ。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

2003年3月14日(金曜日)

待たない戦闘

というわけで FF10-2 (www.amazon.co.jp) です。個人的にはあまり期待していなかったのですが、プレイしてみると予想以上に出来が良く思います。とりあえず個人的に注目したいのは、戦闘のテンポが驚くほど良くなったという点です。

ATB というのは以前からありましたが、結局のところ、行動しているのは常に一人だけでした。誰か一人が走っていって、剣をふりかざし、敵にすぱっと斬りつけます。そのモーションには何秒かかかりますが、その時に動いているのは攻撃している本人と、攻撃を受けてのけぞっている敵だけです。その何秒かの間、仲間たちもそのほかの敵も、その場でじっとたたずんでその結果を見守っていわけです。魔法や召喚などモーションの長い行動になるともっと長い時間がかかりますが、その間ずっと戦況は硬直しています。これが戦闘のテンポをかなり悪くしているのです。

……と私が思ったのはリトルプリンセスをプレイしたときの事ですが、今回の FF では敵も味方も入り乱れて同時にアクションします。三人で同時に襲いかかる、などというシーンもありで、この臨場感は一人ずつ行動していたら絶対に出ません。敵が弱いと、こちらの三人がさくさくさくっと同時に攻撃して文字通り瞬殺でき、かなり爽快です。

いちおうシステムのメインとなっているのはドレスアップというシステムですが、これもなかなか良い感じです。要はセーラームーンやらキューティーハニーやらのように変身するのですが、この変身シーンには、変な意味ではなく見ている者をわくわくさせるものがあります。そういう感じが良く出ていて、なかなか良いと個人的には思います。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

全てを破壊するスフィアブレイク

FF10 (www.amazon.co.jp) のときもブリッツボールやりまくりで全然先に進まなかったりしましたが、FF10-2 (www.amazon.co.jp) にもミニゲームがやたらたくさんあります。とりあえずルカに行ったら「スフィアブレイク」というミニゲームの練習が出来たのですが、練習でもコインを成長させて売ることができます。数時間やっていたら所持金が 20万に……。

しかも、たぶんバグだと思いますが、タイムアップで負けると何故か 1番目のコインの枚数と価値が 4番目のコインのそれと同じになります。4番目のコインの価値と枚数を上げてからタイムアップで負けると 1番目のコインが増殖し、価値も上がっています。それを売り、またタイムアップで負けると……。

……所持金 100万超えました。ってこれ、たとえバグが無くてもコインはすぐ増えるので、普通に価値を上げて枚数を増やして売ればガンガン稼げます。

関連する話題: 出来事 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

2003年3月13日(木曜日)

FF10-2

まだアンリミテッド:サガ (www.amazon.co.jp)プレイ中なので別のゲームを買う気はあまり無いのですが、今日は FF10-2 (www.amazon.co.jp) の発売日ということで、いちおう池袋のビックカメラに寄ってみました。並んでいたり売り切れていたりしたら、あっさり見送って素直にアンリミテッド:サガをプレイしておこうという心づもりです。

※ちなみにゲボバンスピーはこのアルゴリズムによって見送りました。

で、いきなり入り口前に謎の行列が。立て札を見ると FF10-2 で並んでいるようです。並べば買えそうですが、並ぶんだったらサガ、というアルゴリズムによって見送りモードに移行。せっかくなので、ちょっとゲームソフトコーナーを見ていこうと 3階に移動。

なんか、FF10-2 が大量に置いてあって、特に行列も出来てないんですが……。

レジの前に二人並んでいたので、普通にその後に並んだらすぐに買えてしまいました。入り口の行列っていったい……。

ともあれそんなわけで、しばらくの間さようならアンリミテッド:サガ。

関連する話題: 出来事 / 買い物 / ゲーム / スクウェア / ファイナルファンタジー / ファイナルファンタジーX-2

SEO

昨日からログを取り始めましたのでチェックしていたのですが、Referer を見るとけっこうサーチエンジンからやってきている人が多いようです。どういう単語で検索されているのかも分かるのですが、それが結構面白かったりします。

結構多いのが、google で「ファイナルファンタジー??2」を検索して FF2 関係の日記がヒットしているケース。この「??」は、ほぼ間違いなくローマ数字「Ⅹ」の文字化けだと思います。要するに FF10-2 を検索しようとして FF2 がヒットしているという……。

あと、「住宅 特別控除 50m 以上 理由」なんてキーワードで探している人がいました。まあ時期的に言って検索されそうなところではあります。床面積が 50平米を超えないと住宅特別控除の対象にならないというのには、私も残念な思いをしました。

関連する話題: 出来事 / hatomaru.dll / えび日記 / サーチエンジン / SEO

証人の出頭拒否

第150条〔出頭義務違反と過料・費用賠償〕

召喚を受けた証人が正当な理由がなく出頭しないときは、決定で、十万円以下の過料に処し、かつ、出頭しないために生じた費用の賠償を命ずることができる。

(2)前項の決定に対しては、即時抗告をすることができる。

以上、三省堂 『模範六法2002平成14年版』 刑事訴訟法 第150条 より

「できる」って誰がするのかというと裁判所です。したいなぁ、即時抗告。

もっとも問題はこれではなくて、続く 151条にはこんな条文が。

第151条〔不出頭罪〕

証人として召喚を受け正当な理由がなく出頭しない者は、十万円以下の罰金又は拘留に処する。

(2)前項の罪を犯した者には、情状により、罰金及び拘留を併科することができる。

以上、三省堂 『模範六法2002平成14年版』 刑事訴訟法 第151条 より

これがあるので、「協力を断ると喰らうぞ」という脅しが有効なのですね……。

関連する話題: メモ / 法律 / 内輪ネタ

2003年3月12日(水曜日)

hatomaru.dll 0.8

IIS のログでは PATH_INFO が取れないので、自前でログを取るようにしてみました。ローテートはもとより排他制御のことすら考えていないので、ログファイルに書けないと残念な思いをしますが……。

これで 0.8。つぎは外部リンクチェック機能かしら。

関連する話題: 出来事 / hatomaru.dll / コンピュータ / プログラミング / C#

いやな連携

アンリミテッド:サガ (www.amazon.co.jp)では敵の攻撃とも連携するのですが、敵の攻撃には結構微妙な名前の物が多いので、できあがる連携技の名前も微妙なことになったりします。

こちらが HOLD した「体落とし」のあとに、トレジャースライムの「溶解液」が繋がって「体液」。なんか嫌な名前……。

あと、敵の技には「チンクラッシュ」というのがあって、これが二つ繋がるとまたヤバい感じの名前になったり。単純に「ひっかき」が繋がっただけでもかなりヤバいです。狙ってるのかしら……。

関連する話題: 出来事 / ゲーム / スクウェア / Sa・Ga / アンリミテッド:サガ

2003年3月11日(火曜日)

ブルガリアからのメール?

From: が support@mcafee.com になっているメールが来ていました。McAfee (www.nai.com) から英文のメールを受け取る心当たりは全くないわけで、これはもちろんウィルスなのですが (具体的には W32.HLLW.Oror.AG@mm (www.symantec.com))、Recieved を見ると

dialup140.plovdiv.spnet.net

なんて耳慣れないところから来ています。plovdiv というのはブルガリアの都市の名前で、Whois で調べてみると spnet.net の所有者の住所もブルガリアのソフィアになっています。ブルガリアのアクセスポイントからブルガリアの ISP に接続しているユーザから発信されたようです。

ブルガリアからウィルスが発信されること自体は不思議でも何でもないのですが、ブルガリアで動いているウィルスがどうやって私のメールアドレスを入手したのかが気になります。

関連する話題: 出来事 / セキュリティ / メール / MTA

巨大ファイルは POST できない?

IIS に限らないのかもしれませんが、4MB を超える巨大なデータを POST しようとすると 400 Bad Request が返ってしまう模様……。

関連する話題: メモ / コンピュータ / Web / Microsoft / httpd / IIS / サーバ / altba.com

文化シヤッター

キヤノン (canon.jp)が「キャノン」ではなく「キヤノン」だということは知っていましたが、文化シヤッター (www.bunka-s.co.jp)も「文化シャッター」ではなく「文化シヤッター」なのですね。ちなみに ATOK16 だと「ぶんかしゃったー」でちゃんと「文化シヤッター」に変換されます。凄い。

……なのですが、google で「文化シヤッター事件」を検索しても全然ヒットせず、「文化シャッター事件」で検索 (www.google.com)するとたくさんヒットするというのはなんとかならないのでしょうか。

※事件名としては「文化シャッター事件」なのかも……。ちなみに事件は、ちょっとアレゲだった静岡地裁浜松支部の判決の後、平成11年 (1999年) 5月11日に名古屋高裁で和解が成立しています。

関連する話題: メモ / 法律

11日午前7時20分ごろ、東京都千代田区五番町の東京中華学校から、「不審な物がある」と警視庁に通報があった。同校敷地内の北端から、金属弾の時限式発射装置とみられる鉄製パイプ2本とリード線が見つかった。現場の北側約500メートルに防衛庁本庁などがある市ケ谷駐屯地があり、警視庁公安部は、過激派によるゲリラ事件とみて調べている。

調べでは、金属製パイプは直径約6センチ、長さ約60センチ。同校の北端の壁と植え込みの間に約1メートルの間隔で並べられ、北へ向けて地面から80度の角度で設置されていた。発射用のタイマーなどが発火装置で焼かれていた。金属弾は発射された跡があったが、周辺からは見つかっていない。

公安部は、パイプの底に雨水がたまっていたことから、設置されてから少なくとも数日は経過しているとみている。

以上、asahi.com : 社会 千代田区の東京中華学校で金属弾発射装置 ゲリラ事件か より

……どこかの国の真似のつもりとか?

過激派だかなんだか知りませんが、ひたすら迷惑。封鎖された地区がもう少し広かったら、例の荷物の搬出に深刻な影響が出ていた可能性もあるわけで。

関連する話題: 出来事 / 内輪ネタ

スタートメニューの中にフォルダへのショートカットを作る

何気なくえむけいさんのハードリンク/ジャンクション作成ツール (emk.name)を読んでいたらさりげなく更新されていましたが、さらに何気なく読んでいると、スタートメニューの中にフォルダへのショートカットを作成したときの挙動が通常のショートカットと異なるという話が。

実際に試してみると、フォルダ内部がスタートメニューの中で展開されて、なかなか便利。正直、これ知りませんでした。

※ちなみに内部構造としては、ホンモノのディレクトリを作成した上でそのディレクトリ内に target.lnk というショートカットが置いてある模様。

関連する話題: メモ / コンピュータ / Microsoft / Windows / もののけ / えむけいさん

ジャンクションの罠

ハードリンク/ジャンクション作成ツール (emk.name)で思い出したのでついでにメモしておきますが、ディレクトリに対するジャンクションにはとてつもなく大きな罠があります。

ジャンクションを利用している間は特に問題ありません。しかし、後でジャンクションが不要になり、しかしながら本体のディレクトリとその中のファイルは必要というとき、ジャンクションだけを削除したいと思うことがあります。そのとき、何も考えずにジャンクションを削除してはいけません!

普通にエクスプローラから削除すると、ジャンクションはごみ箱に入ります。この時点ではまだ問題はありません。ジャンクションはごみ箱の中に隠れていますし、本体は普通に利用できますから、目的が達成された状態になっています。

恐ろしいのはここからです。この状態でごみ箱を空にすると……。

ごみ箱を空にした瞬間に、本体の中のファイルが全て消えます。

本気で洒落になりません。しかも、このときファイルの消滅に気づかず、後日になってから気づいたりすると、原因に全く思い至らずにあらぬものに嫌疑をかけてしまうことがあります。……というか、ありました。ごめんなさい。

※おそらくこの原因はごみ箱を空にする処理にあります。ごみ箱を空にするとき、ディレクトリが捨てられていたら、まずはディレクトリ内の全ファイルを削除してからディレクトリを削除するという処理になっているようです。そして、おそらくはこの処理の中で「ディレクトリに対するジャンクション」は何の疑いもなくディレクトリだとみなされていて「ディレクトリの中の全ファイルを削除してからディレクトリを削除する」処理が実行されます。ジャンクションによって「ディレクトリの中のファイル」にアクセスして、対象のファイルをことごとく削除し、そして最後にジャンクションを削除するという結果になります。結果として本体の中のファイルがすべて削除されます。本体のディレクトリ自体は残りますが、それだけ残っても意味ありません。

ちなみに、Shift キーを押しながら「削除」するなどしてごみ箱に入れずに削除した場合、単純にその場で本体内の全ファイルが削除されます。

ディレクトリに対するジャンクションを安全に削除するためには、MS-DOS プロンプトで RD (RMDIR) コマンドを使います。通常は RD では中身のあるディレクトリを削除することはできませんが、ジャンクションなら問題なく削除できます。

※なお DEL コマンドで削除しようとすると、やはりディレクトリの中身をすべて消してしまいます。最近の DOS プロンプトは、DEL コマンドでディレクトリを指定すると、ディレクトリ内のファイル全てを削除しようとするのですね。それ自体知りませんでした。

関連する話題: メモ / コンピュータ / Microsoft / Windows / もののけ / えむけいさん

first-line 疑似要素に適用できないプロパティ

ジャンル表示を、一行に収まる時だけ右寄せ、二行以上になるときは左寄せにしたいと思ったのですが、うまい方法が思いつかず、試しに以下のように書いてみました。

div.genre p:first-line{
display: block;
text-align: right;
}

ちなみに仕様的には、これは効きません。CSS2 5.12.1 の最後の方に以下のように書かれています。

The :first-line pseudo-element is similar to an inline-level element, but with certain restrictions. Only the following properties apply to a :first-line pseudo-element: font properties, color properties, background properties, 'word-spacing', 'letter-spacing', 'text-decoration', 'vertical-align', 'text-transform', 'line-height', 'text-shadow', and 'clear'.

以上、CSS2 5.12.1 The :first-line pseudo-element より

そんなわけで display も text-align も効かないのが正解なのですが、ものは試しということでやってみました。

それを IE6 で見たら正しく無視されていたのですが、Netscape 7 で見たら、なんと他の部分も含めて全く何も表示されませんでした。適用できないと明確になっているものを無理に適用しようとして変になっているのか、エラー処理の方法がおかしいのか分かりませんが、いずれにしても残念な思いをいたしました。

関連する話題: 出来事 / CSS

2003年3月10日(月曜日)

梱包材のユーザビリティ

諸事情により巨大なテレビを梱包する羽目になったのですが、これがともかく大きく重く、周りの人にだいぶ手伝っていただいてやっとこさ完了。そもそも、端から一人では持ち上げられない大きさでしたが……。

それはさておき、私が感動したのはその梱包材です。このテレビ、段ボール箱の中に、緩衝材の発泡スチロール 7 つと一緒に入っていました。箱から出すのは何の問題もないのですが、問題は元通りに梱包する時です。形の異なる 7 つの発泡スチロールがそれぞれ箱のどこに位置していた物なのか、誰が覚えているというのでしょうか。

「箱から出す前に写真でも撮っておけば良かった……」などと思いましたが (思っただけでなく口にも出しましたが)、その心配は無用でした。発泡スチロールには全て、「L 左前下」などとその位置するべき場所が明確に書かれていたのです。

これだけならどうということもないのですが、それを実際に所定の位置に納めてみて感動しました。緩衝材を納めてみると、所定の位置に吸い付けられるようにぴったりとはまるのです。実は段ボール箱の底には小さな四角い穴が開いていて、緩衝材の側にはその穴にぴったりはまる大きさの突起があるのでした。

この穴は正方形ではなく長方形なので、緩衝材の向きを間違えるとうまくはまりません。前と後ろとでは異なる形状になっているので、前に使うべき緩衝材を後ろに置いてしまうとやはりうまくはまりません。そして上に使う緩衝材には突起がなく蓋には該当する穴はないので、上と下を間違えるとこれまたうまくはまらないわけです。シンプルな「制約」ですが、非常によく考えられていると思いました。

段ボールと緩衝材なんて普段は気にもとめませんが、こんなところにもユーザビリティを考慮したすばらしいデザインがあるのですね。

関連する話題: 出来事 / 内輪ネタ / ユーザビリティ

2003年3月9日(日曜日)

ヤコブ系

のこのこと出てきたら、Jakob Nielsen の謎の CD-ROM を見せてもらえて大ラッキー。とりあえず、ムービー中に出てきたリソースの中で、端から見ていても操作方法が分からなかったものをメモしておきます。

いずれも要 Flash で、前者はさらに JavaScript も必須。後者はいきなり音が出るので、音が出ると困る環境で見ている人は要注意です。※いちおう Sound on/off というのがありますが、何故かこれが全く効きません。ムービー中の被験者も OFF に出来ていなかったようなので、私の環境に依存する問題ではないようです。

関連する話題: 出来事 / Web / ユーザビリティ / Flash

ティンパーリー

南京大虐殺 覆す新事実

宣伝だとしても嘘だとは限らないわけで。“火の無い所に煙はたたず”の原則から言って、大虐殺は無くても中虐殺や小虐殺はあったと思うけど。ま、アメリカのやった空襲や原爆には負けるけどね。

以上、TOM neko さんのひまつぶし日記 2003年3月1日「足りない」 より

ティンパーリーと中国国民党とのつながりが立証されたという話ですが、面白いことに、google で「ティンパーリー」を検索する (www.google.com)と、まるで Web 上では「南京大虐殺はなかった」という見解が主流であるかのような錯覚に陥ります。ティンパーリーの資料を引き合いに出すのは虐殺を否定する人々ばかりで、その逆の立場の人は資料としてほとんど重要視していないということでしょう。

……ただ、1つポイントがあるとすれば、それは「戦争とは何か」という本が「30万人」という数字の出所でもあるということでしょう。この手の議論を見ているといろいろな主張をしている人を見かけますが、たまに「南京大虐殺」という用語に特殊な定義をしている人がいます。ちなみにエンカルタでは以下のような説明になっています。

南京大虐殺 ナンキンだいぎゃくさつ

日中戦争で日本軍が南京で中国人に対しておこなった無差別の大量虐殺事件。中国では南京大屠殺(とさつ)という。1937年(昭和12)12月、松井石根(いわね)大将を指揮官とする日本軍中支那方面軍が中国の首都南京を占領した際におきた。軍人・捕虜・一般市民など、虐殺された中国人は数万人とする説から43万人とする説まであるが、少なくとも20万人以上であったと推定されている。

以上、Microsoft(R) Encarta(R) Reference Library 2002. (C) 1993-2001 Microsoft Corporation. All rights reserved. より

まあこんなものだろうと思いますが、中には以下のような論理を展開している人がいます。

……多くのコメントは差し控えようと思いますが、そのような主張をしてそのような用語を使っている人々にとっては、「30万」という数字の出所の信憑性が重要になってくるのかもしれません。

関連する話題: メモ / 戦争 / もののけ / TOM nekoさん

2003年3月7日(金曜日)

Accept-Language: jp

あるブラウザで鳩丸のリソースがどうしても見られないのでおかしいと思ったら、Accept-Language: jp なんて値が出力されていたというオチが。鳩丸には Content-Language: ja なリソースしかないので、jp なんてものを要求されると 406 応答になります。

普通は 406 応答の画面で日本語版を選択することも出来るはずなのですが、400 系のエラーにあうとブラウザ側で勝手なエラーメッセージを出すという仕組みなので処置なしです。

関連する話題: Web / HTTP / UA / ブラウザ

Accept-Charset

「あるブラウザの」続き。

Accept-Charset に UTF-8 は含まれているけれど UTF-16 が含まれていません。ISO-8859-1 は含まれているけれど US-ASCII が含まれていません。UTF-16 はそもそも読めないのかもしれませんが、US-ASCII は含めておいた方が良いのでは……。

関連する話題: Web / HTTP / UA / ブラウザ

互換性重視のユーザエージェント

さらに続き。

User-Agent が Mozilla/4.0 (compatible; MSIE 5.0 compatible;…… となっているのが面白いと思いました。Mozilla コンパチブルは良くありますが、MSIE 5.0 コンパチブルというのがなんとも。

まあ意図としては、主に JavaScript のブラウザ振り分けで蹴られてしまって残念な思いをしたりしないようにということなのでしょう。理解はできますが、なんとも切ない感じではあります。

関連する話題: Web / HTTP / UA / ブラウザ

2003年3月6日(木曜日)

Cウィルス

Cウイルス作成罪 新設へ (www.nhk.or.jp)」。どうして C で書かれたウィルスだけ罪になるのかしら、と思ったら、どうも「コンピュータウィルス」を略した物らしいですね。紛らわしいというか、感覚が凄いというか……「Hページ」というのを思い出しました。

しかし、脆弱性の指摘のための exploit コードまで処罰の対象になるのではないかと少々不安。※下手すると私も喰らいかねませんし……。

それ以前に、ウィルス作成者を処罰する国内法を整備したとして、果たして効果があるのでしょうか。今まで、日本国内で作成されたウィルスがインターネットで猛威をふるった例ってあまり聞いたことがないのですが。

いわゆる一つの「つきあい」、なのかも。

関連する話題: コンピュータ / ネットワーク / セキュリティ

2003年3月5日(水曜日)

さらば大相撲

ああ、ブラウザが落ちると大相撲になるのが面白かったのに……。

そもそもブラウザが落ちなくなってしまいました。残念。

※って残念がってどうするんでしょうか。

関連する話題: 内輪ネタ / Web / ブラウザ

2003年3月4日(火曜日)

微妙に役に立つバッチファイル

たったこれだけのバッチファイルが異様に役に立つことがあります。

subst w: .
start w:\index.html

空で書けますが、まあ念のためメモ。

何の役に立つのかは知る人ぞ知る。

関連する話題: メモ / Web

五百家

奈良の方に「五百家(いうか)」という地名がありますね。うーん、難読。

関連する話題: 言葉

理不尽な会話

「バックアップからファイルを復旧してください」

「ファイルはありません。容量が足りなかったのでバックアップは削除しました」

「……」

ええと、バックアップって何のために取っていますか。

……ひょっとしたら良くある話なのかも。

関連する話題: 内輪ネタ

2003年3月3日(月曜日)

聞き違い

「15枚 450円」と言ったら、「15万 450円」と聞き間違えられました。

確かに似ているかも。

関連する話題: 言葉

RFC

「テキスト入力欄一つしかないフォームでは Enter キーで submit されなければならないと RFC1866 に書いてあった」などと発言したら、「RFC の番号が(そら)で言えるとは流石」などと反応されてしまったりしましたが、せっかくなのでメモしておきます。

When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form.

以上、RFC1866 より

とまあこんな感じ。見たら must ではなく should でしたね。さらに RFC1866 は破棄されているので、あまり強制力のある規定ではありませんが……。

関連する話題: 内輪ネタ / RFC

2003年3月1日(土曜日)

謎の内輪ネタ

未明に ECM とかモナーとかの話で盛り上がったり。

関連する話題: 内輪ネタ

最近の日記

関わった本など