日記

3月 1日 (水)

1. RHEL

RHELといえば、Red Hat Enterprise Linux?

いやいや。Raising Heart Excelion …LOVE!

というわけで、魔法少女リリカルなのはA's レイジングハートを予約注文しました。フィギュアなんぞ滅多に買わない私ですが、レイジングハートなら買ってもいいです。

ただ、どうせ付属品を付けるなら、人型のアレ(「なのは」だっけ?)よりも、アクセル、エクセリオン、エクセリオン(ACS展開)モードをセットで付けてくれた方が嬉しかったなあ。

2. よみがえる夢幻戦士

知る人ぞ知る、いかにもなオタク向けゲーム、あのヴァリスが復活した、と思ったらエロゲ。泣けてきます。

ヴァリスシリーズはPC-Engine版のヴァリスIIと、SFC(だったかな?忘れた)で何か(たしか主人公が優子じゃなかった)をプレイした記憶があります。ゲームは面白くなかったのですが、PCE版のIIの音楽は割と良くできてました。

このシリーズでは、IIの「SACRED SACRIFICE」(PCE版)、ステージ1の曲(PCE版:曲名不明)、「パールモントWink」、一作目の「MISS BLUEに微笑みを」が好きですね。以前、CDDAで聴きたくて中古屋を探したのですが、PCE版のヴァリスIIIとIVは確保したものの、IとIIは手に入りませんでした。

ちなみに、PCE版のIは、島本須美がエンディングを歌ってます。

3月 2日 (木)

1. いまさら聞けないHTML

これはひどい。朝日新聞のアレの再来かと思いました。ざっと読んだところ、1TPS(Tsukkomi Per Sentence)くらいでしょうか。

いちいち突っ込んでるときりがないので、適当にピックアップしてみます。

また,HTMLソースのいたる所に < と > で囲まれた半角英数字*半角英数字が書かれている。

タグ開始子、終了子は< と >ではありません。<と>です。

WebブラウザがHTMLファイルを表示するときに,文字の大きさを指定したり,画像データを貼り付けたりする指示が書かれている。実は,Webブラウザが表示している文字以外の情報は,すべてタグで指示されている。

ほかにもあちこちに書かれていますが、タグでは指示も指定も宣言もできません。ただのマーク(印)です。

HTMLソースを見ると,最初に<html>タグが書かれている*書かれている。また最後には</html>タグが書かれている。HTMLファイルは必ず,これら二つのタグでHTMLの始まりと終わりを宣言する。

嘘。最初に書くのは文書型宣言です。タグでは宣言などできません。

ヘッダー部はWebページのタイトルを指定したり,HTMLファイルを記述している文字コードを宣言したりと,Webページの付加的な情報を記述する部分である。

文字コードではなくて符号化方法ですし、宣言なんてできません。

一方のボディ部はヘッダー部の後ろに続き,<body>と</body>タグで囲まれた部分である。ここが,WebブラウザのウインドウにWebページとして表示する本体部分である。

表示する部分を決めるのは、Webブラウザ自身です。ヘッダ部を表示してはいけないという決まりはありません。というか、ウィンドウとか表示を前提にしている時点でアレです。

ボディ部の最初には,「<b><font size="+3">我が家の掲示板</font> </b>」と書かれている(図1-2(1)[拡大表示])。

いきなり物理マークアップの説明です。普通は論理マークアップから説明しませんか?

横線を引くだけなので,適用範囲を指定する必要がないため,終了タグを使わずに単独で使っている*単独で使っている。

HR要素では指定する必要がないから終了タグを使わないのではなくて、終了タグが存在しないから書いてはいけないのです。

あるいは,開始タグの後ろ側を「/>」のように書いて(例えば「<hr />」),開始タグに終了タグの意味も持たせる。

開始タグに終了タグの意味も持たせることなどできません。XHTMLのアレはヌル終了タグ(Null End Tag)です。

ただ,よく使うタグは40種類程度と意外に少ない(表1-1[拡大表示])。

40種類もあるんですか、へえ。開始タグと終了タグの二種類だと思ってました。Null End Tagはおやつに入りますか?

比較的よく使うタグを掲載した。

<! 〜 >はタグじゃなくてマーク宣言。bgsoundもembedもどっかのベンダーの独自拡張。h1〜h6は文字の大きさや太さを変えるものではない。…(以下略)

ここまで来れば,HTMLを読み解く基本は習得できたといってもいいだろう。

ハァ?基本のキの字も説明してないじゃないか。

ITproはIT(情報技術)にかかわる方々に向けた専門情報サイトです。日経BP社のIT系媒体の総力を挙げて,皆様にとって不可欠な情報を,いち早く,分かりやすく,そして詳しく,お伝えします。

総力を挙げて仕様書を読み、理解し、改訂していただきたい。

2. HTML講座

初学者向けだと、…

最低限、次の手順だけ覚えておけば、HTMLは書けます。

  1. 文章を書きます。
  2. 文章中の題名、見出し、段落をそれぞれTITLE要素、H1要素、P要素として認識します。
  3. 認識した要素を、タグを使ってマークアップします。
  4. 文書型宣言を記述します。

要素はTITLE、H1、Pの三つだけ覚えればいいです。ほかは忘れても構わないので、この三つだけは覚えてください。

TITLE要素は必須です。文書中に一つだけ書かなければいけません。見出しレベルを意識し始めると、H2、H3要素が出てきますが、これは「H1」という名称から連想すればよいでしょう。

文書型宣言は、「この文書は******という仕様に基づいたHTMLで書かれています」ということを宣言するためものです。これは意外と奥が深いので、初めのうちは「おまじない」程度に思っておけばいいです。書式には少々ややこしいルール *1 があるので、自分でタイプせずに、仕様書(和訳)からコピペした方がいいでしょう。

…みたいな感じになるんじゃないかなあ。

  • *1: 大文字小文字を区別する/しない部分が混在していたり、まあ、いろいろと。

3. なぜFirefoxは日本では普及しないのか

「日本では」を敢えて無視する。

普及しない、Firefox側の原因としては、

  • マイナーバージョンアップのたびに仕様が変わる。操作性が変わる。キーバインドが変わる。chromeが上書きされる。
  • 消費メモリが異常に大きい。
  • 重たい。

あたりが主じゃないですかね。個人的には

  • (Windows版で)メニュー周りの実装がタコ。なぜ独自実装?なぜWindows標準のメニューを使わない?
  • 標準でlink要素に対応していない。

あたりもダメだと思っていますが、普通の人は気にしないのかな?

ユーザは使い勝手が変わるのを嫌がるものです。Firefoxの場合、バージョンアップ勧告に従ってマイナーバージョンアップすると、操作性やら何やらいろいろ変わってしまうことがある。これはMozilla 1.xの頃からそうでした。IEはメジャーバージョンアップでもしない限り、使い勝手が変わることはありません。ユーザは、Firefoxであれ何であれ、統一された操作方法、一貫したインターフェースで使いたいと思うものです。それは同じアプリケーション内であっても、異なるアプリケーション間であってもです。同じソフトなのにバージョンアップのたびに使い勝手をコロコロ変えられたら、ユーザは戸惑います。開発サイドはせいぜい「ついでにキーバインドも変えてみようか」程度にしか考えていないのかもしれませんが、ユーザはそのたびに使い勝手を習得しなければならないので、嫌がるに決まっています。しかし、開発サイドにはそれがわからない。ユーザの立場で考えないからです。

Firefoxが普及しないのは当然の結果ですし、開発サイドがユーザサイドに立たない限り、これからも普及はしないでしょう。一部の物好き(私を含む)が、細々と使い続けていくだけだと思います。

3月 3日 (金)

1. Named Pipe

名前付きパイプはWindowsにもありますね。Windows APIのCreateNamedPipe、CreateFileで作成可能(Windows 2000以降のみ?)です。Perlからでも作成はできるようです。コマンドラインから作成する方法はわかりませんでした。Linux系だとmknodmkfifoで作成できるんですが。

3月 5日 (日)

1. 吉里吉里

吉里吉里のビルド環境を整備しました。少し改造しようかと思っています。

  • メニュー周りをちょっとだけ強化
  • クリップボード周りをちょっとだけ強化

いや、本当にちょっとだけです。しかも予定は未定。弱気。

1.1. 謎メモ

困ったよ。tTJSNI_MenuItem::WindowがNULLだよ。親まで辿るしかないのか?

3月 6日 (月)

1. THE ゾンビ V.S. 救急車

タイトルからしてバカゲーの香りが漂ってますが、実際にプレイしてみると、やはりバカゲーでした。救急車でゾンビが群がる夜の街に繰り出し、生存者を救出していくゲームなんですが…

  • 整備士を助けて病院まで連れて行くと、新しい装備を開発したり、より強力な救急車を開発してくれます。…整備士って、そういう職業でしたっけ?
  • ドリフトしてる救急車って、あまり見かけませんよね。
  • ロケットエンジン積んでる救急車って、あまり見かけませんよね。
  • 刃物をバンパーにしてる救急車って、あまり見かけ(略)
  • フロントガラスを、エンジンで防御してる救急車って、あまり(略)
  • 根こそぎタイヤで根こそぎです(謎)

だいたい、パラメータに殺傷力がある時点でどうかと。救急車って、そういう車でしたっけ?

いろいろ間違っていて素敵です。

3月 7日 (火)

1. 吉里吉里

本体改造。メニュー周りを弄くりました。以前、プラグインでメニューをポップアップさせる関数を実装しましたが、いかんせん、あの関数のインターフェースは格好悪い。chosen = objMenuItem.trackPopup(flags, x, y)と書けた方が美しい。美しい方を実装しました。

あと、副産物としてHMENU、index、window、rootMenuItemプロパティができました。MenuItemIntfにも手を入れてしまいましたが、window、rootMenuItemはIntfの方が相応しいでしょう。index、trackPopupは微妙だったので、とりあえずImplです。Intfでもいいかなあ。HMENUは明らかにImplです。

3月 9日 (木)

1. USBオーディオ

SE-U55GXが届きました。USB経由で音声データをやりとりし、再生や録音やする機器、つまりUSBオーディオです。今のところ、PC用のヘッドフォンアンプにしか使っていませんが、デジタル入出力系統が筐体の大きさの割に豊富なので、いろいろ遊べるかもしれません。

USBだからでしょうか、PCやバスの状態によっては音がヘナっとなります。CPUに負荷が掛かっている状態だと、時々耳障りなノイズが乗ります。SCMS対応でうざいです。それ以外はおおむねいい感じ。

2. YsF

Ys IIIのリメイクであるYsFは、BGMが非常に良い。Ys IIIのアレンジバージョンとして、素晴らしい仕上がりになっています。スーパーアレンジバージョンはちょっとアレですけど。

単独での入手は困難ですが、スーパーアレンジバージョンならYs IIIのものが良いですね。

3. 吉里吉里

イベント周りのコードを追ってみましたが、なかなか複雑そうです。トライアンドエラーでいろいろ弄ってみるしかないですかね。

4. THE ゾンビ V.S. 救急車

パトカーを開発。もはや救急車ですらない。

3月 11日 (土)

1. THE ゾンビ V.S. 救急車

クリアしました。ラスボス…何あれ?

続いて、ENDLESSモードにて戦車をゲットしました。が、走行速度は遅いし、改造できないし、砲身の向きを変えられないしで、いまいち使えないですね。隠し車輌なんだから、もっと強くしてくれよー。

2. makedoc.pl

吉里吉里のプラグインのスタイルシートをちょっと変更。HTMLドキュメント自動作成ツール(というか、TDF変換スクリプト)も少し改造。

ついでにTDSにも少し手を入れましたが、TDSのソースはいつ見てもよくわかりません。インラインコマンド直前の行末の改行を削除したかっただけなのですが、プログラムの構造上、なかなか難しいわけで。そもそもPRE要素中では改行は重要な意味を持ちますから、勝手に削除してはいけないわけで、さらにややこしくなって云々。

3月 12日 (日)

1. スパムリファラー

ここ数日、変なアクセスが急増しました。HTTPリクエストヘッダのRefererに変なURLが設定されています。変なといっても、別にRFC的にどうこうというわけではなく、単にうざったいだけです。自作のログ解析ソフトにかけたときに、出力結果が少々鬱陶しくなるので、Referer解析モジュールを改良して、スパム認定フックルーチンを追加しました。まあ、正規表現でひっかけるだけですが。

  • /\b(poker|insurance|doctor-tip|casino)\b.*?(com|net)\//
  • /\bpoc?ker\b.+?moved\.to\//
  • /\btexas\b.+?moved\.to\//

これだけでほとんど撲滅。

2. スパムUA

リファラーで思い出しましたが、さらに遡ること数日、変なUAを使ってうちのサイトのリソースをごっそり持って行った人(ロボット?)がいました。User-Agentにdsdl###(###は1〜3桁の連数字)とあったので、おそらくDS Downloaderでしょう。同じリソースを何度も取得したり、User-Agentをころころ変えたり、結構迷惑ですね。ログ解析ソフトのUAモジュールにも、スパム認定フックを追加しようかな。

3. キーワード

サクラエディタ用のキーワードファイルを公開しました。サクラエディタで吉里吉里のプラグインをC++で書くという、非常に限定された人向けです。

4. 「鉄道むすめ 栗橋みなみ」パスネットとマウスパッドを発売

日本はもう、アレだなあ。栗林みなみって誰だっけ。関係ないですかそうですか。

東武日光駅か。少々遠いが、行けない距離ではない。

3月 13日 (月)

1. tpdoc

吉里吉里のプラグインソースに、関数リファレンスを埋め込むことにしました。仕組み上は何となくjavadocライクです。書式は似ても似つかないですけど。

今日はそのための仕組み作り、というか既存のスクリプト改造です。

2. 東武日光駅

…って、家から往復するだけで五時間。交通費も五千円以上かかるんですね。挫けそう。orz

3月 14日 (火)

1. tpdoc

吉里吉里のプラグイン。関数リファレンスをソースに埋め込む作業をごりごりと進めました。文書と実装を同じ場所に記述することで、多少は管理しやすくなったかな。

3月 16日 (木)

1. plugin_classes.txt

内部の話。*.nccでコーディングした関数を、plugin_classes.txtにも書いて…というのは美しくありません。二重管理であり、作業漏れ発生因子でもあります。良くない。とは言っても、このファイルはMain.cppやヘッダファイルを自動生成させるためのファイルなので、うかつに排除してしまうと、別途Main.cppやヘッダファイルの自動生成方法を考え直さなければならなくなります。それは面倒くさい。*.nccに元ネタはあるので、このファイルからplugin_classes.txtを自動生成させ、あとは今まで通りにするのが妥協点かな、と。

問題はMakefileに書く依存関係で、これまたややこしいことに…

3月 18日 (土)

1. 自由変形

モーフィングで、変形後のレイヤにnullを指定すると、進行によって不透明度が変化しないように改変しました。ちょっとした機能追加です。ワーピングとはひと味違う、画像自由変形とでもいいましょうか。

3月 19日 (日)

1. 日の光、地を舞う雪

1.1. ネタ行動

朝、雨が降っていたので行くかどうか迷っていたところに、旅人さんから入電。要約すると、「行くんですか?」「ハイ、逝きます!」というわけで、日光まで行くことが確定しました。駅の近くに二荒山神社があるので、ついでにお参り(即ち巫女参り)&祢々切丸拝観でもしましょうか。

家でぼけっとしていたおかげで、現地到着が一時過ぎ。パスネットカードは手に入りましたが、限定600部だったマウスパッドは売り切れていました。残念。まさか売り切れるとは思っていなかった…そう、私はオタクパワーを侮っていたのです。奴らは、たとえ地の果てであっても買いに行くのです。これは完全に私の誤算。次回からはもっと早く出撃しよう、そう心に誓ったのでした。「次回」があるかどうかは謎ですが。

その場で旅人さんの車に拾われて(もちろん旅人さんもパスネットカード購入)、まずは中禅寺湖へ。観光地なのに中宮祠(中善寺局付近)には人がほとんどおらず、半ばゴーストタウンと化していました。確かに閑散期ですし、寒いし、風は強いし、WBC開催中だしで人が来ないのはわかりますが、それにしても寂しい。

ところで、湖面から蒸気らしき物が上がっていました。湖底から熱水でも沸いているのか、湖水温度と気温に差がありすぎたためか。ここって、そういう湖でしたっけ。

中禅寺湖を後にして、戦場ヶ原を抜けて湯元へ。ここで地吹雪初体験。視界が悪いのも困りものでしたが、何よりも寒い。風が冷たい。「地吹雪って天気記号あるんですよねー」なんて暢気な会話をしている場合ではありません。軽装で来る場所ではないと悟って撤退しました。

夕方、帰りに二荒山神社に寄りました。が、我々を待っていたのは、マウスパッドを買えなかったことよりもショッキングな現実です。巫女がいません。どうやら営業(?)時間を過ぎてしまったようです。本来、この時間帯なら箒を持った巫女が、せっせと境内の落ち葉を掃いているはず(?)なんです!しかし、これはいったいどうしたことか。こんなのは神社ではありません!巫女のいる場所が神社です!

ちなみに、私はどちらかというとメイド派です。

日光からの帰り、旅人さんの実家で夕食を頂きました。ご馳走さまでした。その後旅人さんの寮まで送ってもらい、二台並んだSpaceSaver IIを羨ましく拝見して帰宅しました。

1.2. 写真

3月 25日 (土)

1. 穴

必要に迫られて、ANAのastyleからマイレージクラブに登録したのですが、この登録フォームが典型的なダメフォームになっています。細かいことは書きませんが、要するに、

  • JavaScriptを有効にしないと何もできない上、その旨を示すメッセージすらない
  • 氏名の振仮名を片仮名で書かせる(変換する手間が増える)
  • メールアドレスを「確認のため」二度入力させる(どうせコピペするに決まっているから確認にならない)
  • 表示される「お客様番号」が全角(ログイン時には半角でしか入力を受け付けないので、コピペで再利用できない)

ということです。

なお、何の必要に迫られたかというと、限定フィギュ…

2. おてん

アキバ。出撃目的は鉄道むすめ vol2だと思われがちですが、残念ながら違います。これはすでに予約済みなので、わざわざ買いに行く必要はありません。

今日は友達の付き添いです。彼はキーボードやらプリンタやら、いろいろと買ってましたが…

私はADF-01F FALKENほかを買ってきました。おてんちゃんはおまけです。おまけなんだってば。

3月 28日 (火)

1. TJS

TJSのコマンドライン版。Abnormal program termination で逝ってしまうバグがようやくとれました。その他、いろいろ改良。

そろそろ、ごった煮プラグインで作成した機能を取り込んでしまおうかと画策しています。SQLiteやEncoderなんかは吉里吉里に依存しないので、ほとんどそのまま行けそうな気がします。

3月 31日 (金)

1. いわゆるビンテージものに関する特別承認制度について

一足早いエイプリルフールネタ。

え?ネタじゃないのこれ?