*1999年10月11日:DVD−RAMを買う
*1999年10月12日:思わぬミス
*1999年10月13日:手塚&吾妻用スクリプトについて
*1999年10月14日:「少年パンチ」当選
*1999年10月15日:天狗シフト
*1999年10月16日:サンエックスを叱る
*1999年10月17日:ある暗号
*目次へ戻る *先週へ *次週へ


*1999年10月11日:DVD−RAMを買う


 ということで、朝10時の開店にあわせてOAナガシマへ。PDドライブの修理出しである。一昨年の12月に買ったものなので、メーカー保証は切れているのだが、念のため保証書も添付しておく。

 これで、バックアップ用大容量ストレージが、(CD−Rは別にして)手元から無くなったわけだ。(デジカメ用に買ったコンパクトフラッシュ(48M)でも、急場の役には立つけれど。)潮時だろう、と、DVD−RAMの実勢価格を調べる。LF−D102が57800円(定価79800円)。5.2Gの両面メディア(TDK)が2780円。

 CompMartに車を走らせる。ドライブの値段は同じ。メディアは500円近く高い。

 どちらでも一緒、ということで、ドライブはここで買う。(あとから考えたら、値段が同じなら、OAナガシマの方が保証期間の点で有利だったはずだ。)OAナガシマに引き返して、両面メディアを2枚買う。(片面メディアが1枚、ドライブのおまけに付いてきたので、計3枚。)

 ドライバをインストールして、ざっと動かす。問題なし。DOS用のドライバも入っていたので、これを起動フロッピーに入れる。両面メディアは2枚とも、(片面2.6Gをフルに使うために)もちろんFAT32でフォーマットしたのだが、DOS用ドライバで認識出来るのはFAT16のみ、という制約があったので、片面メディアを、FAT16でフォーマットする。FAT16なので2Gまでしか使えないが、VFATBAK用であり、2Gで(少なくとも当面は、十分)こと足りるのだ。

 フロッピーから起動して、パラレルスカジー経由でDVD−RAMにつなぎ、VFATBAKでフルダンプする。現在、ダンプ領域が1.3G前後あり、PD(650MB)だとぎりぎり2枚(運が悪いと3枚)にまたがってしまい、不便を感じていたのだが、2Gのメディアだと一気に落とせるので具合が良い..

 ..のはいいのだが、異様に遅い。結局、1.3Gを落とすのに5時間もかかった。従来、同じパラスカ経由で、PD2(または3)枚に、70分で落としていたのに。

 理由は、いくつか考えられる。「DVD−RAM自体遅い」「DOS用ドライバがタコ」「パラスカとの相性が悪い」、等のうちの、いくつかのアンドだろうが..「DVD−RAM自体遅い」というのは、この場合は考えにくい。HDよりは遅いに決まっているが、PDの4倍も遅い訳がない。

 恐らく、ドライバがタコなのだ。(なにしろ、DOS用ドライバは“オマケ”なんだし。)しかしそれはそれとして、パラスカの使用をやめる、いい機会かも知れない。とにかくパラレルポート経由なので、正規のスカジー接続よりも、もちろん(遙かに)遅いのだ。(従来、遅いのは承知の上で、安定した動作実績を尊んで使ってきたのだ。)リブレット(というより、ノートパソコン)なので、SCSI接続はボードではなく、PCカード経由になる。DOSからPCカードを認識するためには、IBM製のPlayatWillというソフト(PC−DOS7.0J(以降?)にも付属しているらしい)を買えばいいはず。浜松には、あるまい。次の上京時かな。

*目次へ戻る


*1999年10月12日:思わぬミス


 バックアップメディアのごたごたで中断していた、ウェブページの修正を再開する。

 思わぬ伏兵。<A NAME=...> タグである。これが全滅。まさか、こんな基本的なタグを間違えているとは、思わなんだ。(大修正をかける前に「jweblint/sgmls gateway」で予備調査をしたページ(複数)には、たまたま、このタグが含まれていなかったのだ。)

 どういうことかと言うと..ペアにしていなかったのである。良く考えてみれば、<A HREF=...> は </A> で閉じているのだ。まともな文法ならば、同じタグがペアになったりソロになったりするわけ無いわなぁ。

 しかしこれは、影響がでかい。明晩の更新には間に合わない。まぁ今週は、もうこのままでいいや。来週の更新時までに直すことにしよう。

*目次へ戻る


*1999年10月13日:手塚&吾妻用スクリプトについて


 昨日からのヒキであるが、「どうして、<A NAME=...> タグの修正が、そんなに大変なのか。片端から </A> で閉じてしまえばいいだけではないか。量が多いとしても、sed&awkスクリプトか、エディタのキーボードマクロ機能で、スイスイ直せるだろうに」、と、思った人は多かろう。

 確かに、それだけならば話は簡単なのだが、かいつまんで言えば、“「自動生成しているページ」の「ソースページ」、及び、自動生成されたページ、双方に、このタグが大量に含まれており、この「自動生成スクリプト」は、かなり複雑な処理をしているので、迂闊に手を入れると、自動生成に失敗してしまう恐れがある”のが問題になったのであった。

 いい機会だから、私のウェブページの(上記の自動生成スクリプトを含む)処理スクリプト群が、何をしているのか、紹介しておこう。

 それはまた、何故私が、ホームページビルダーの類(あるいはWYSIWYG環境のソフト)を使わずに、DOS窓でVzエディターで書いているのか、その理由の説明にもなるはずである。いや全く、以下で説明する処理が可能な(ホームページビルダー系、または、WYSIWYG系の)ソフトがあれば、お目にかかりたいものである。

 まず、この「廃墟通信」をはじめとする大多数のページは、問題ではない。ややこしいのは、「吾妻ひでお 著作リスト」と「“手塚治虫漫画全集”解説総目録」である。後者から説明する。

 「“手塚治虫漫画全集”解説総目録」の特殊性は、プレーンテキスト形式のリストが3本、含まれていることである。即ち、「“手塚治虫漫画全集”総目録」「全集未収録作品リスト」「全作品発表年代順リスト(アニメを除く)」である。オンラインで読むためのHTML文書と、ダウンロードしてエディタで開いたりプリントアウトしたりするためのテキストファイルを、並行してメンテすることなど、考えられない。データは一元管理するに限る。どちらか一方は、もう一方から自動生成するべきである。この場合、情報量の低い側から高い側への変換は(その逆よりも)難しく、そしてHTML文書の方が情報量が多いので、HTMLをソースとしてテキストファイルを生成しているのである。

 さて、3本のリストのうち、「全集未収録作品リスト」は、どうということはない。HTMLからヘッダ/フッタやタグを切り落とすだけである。「“手塚治虫漫画全集”総目録」も同様。HTMLは(50冊分ずつ)8つの文書に分かれているので、これを連結するところが違うだけ。

 やっかいなのが、「全作品発表年代順リスト(アニメを除く)」である。これは、「“手塚治虫漫画全集”総目録」と「全集未収録作品リスト」をマージしてソートしただけのものなのであるが、この“ソート”が問題なのだ。

 ソートキーは、もちろん発表年月日フィールドであり、同一年月日ならばタイトル、タイトルが同一ならばサブタイトルでソートされる。この「サブタイトル」が曲者なのである。

 早い話が、文字コードでソートされてしまうのである。先頭に「第1章」とか「第1話」とかついていないと、(実際の章立ての進行順とは関係無い)無意味な順番になってしまう。章番号がついていても、安心は出来ない。容易に想像されたかと思うが、「第1章」「第2章」..「第10章」をソートすると、「第1章」「第10章」「第2章」..になってしまう。「第01章」「第02章」..とすれば(このケースにだけは)対処出来るが、これは本来の(正しい)サブタイトルでは無いし、どのみち章番号のついていないサブタイトルには対応できない。

 そこで、ソースとなるHTML文書(直接これがアップロードされるわけではない)では、「全ての」サブタイトルの先頭に、二桁の半角数字を付けて管理することにした。この数字は、その作品ごとの「00」からの連番である。タイトル:サブタイトルの例をいくつか挙げると、「ジャングル大帝:00序章 パンジャの死」「ジャングル大帝:01第1巻 第1章 レオの誕生」「ロック冒険記:00発端19XX年」「ロック冒険記:01ヒドロ博士所有権に敗れること」、等。

 そして、この連番が付いた状態で、マージ&ソートし、しかるのちに(邪魔な)連番を外すのである。

 以上、まとめると、以下のようになる。

* 「総目録」を構成する8本のソースのそれぞれから、ヘッダとフッタ、連番、及びタグを外し、8本を連結し、新たなヘッダとフッタをつけて、これを「“手塚治虫漫画全集”総目録」(テキストファイル)とする。
* 「全集未収録作品リスト」のソースのヘッダとフッタをつけ直し、連番とタグを外して、これを「全集未収録作品リスト」(テキストファイル)とする。
* 連番を外す前の「総目録」の8本のソースからタグを外し、jgawkで作品名レコードのみ抽出して、発表年月日が先頭に来るよう項目(フィールド)の順序を入れ替え、巻号フィールドを付加したものをAとし、これとは別に、連番を外す前の「全集未収録作品リスト」のソースからタグを外し、jgawkで作品名レコードのみ抽出して、発表年月日が先頭に来るよう項目の順序を入れ替え、巻号フィールドとして“0”を付加したものをBとして、AとBを連結し、ソートし、jgawkで項目順を元に戻し、連番を外して、これを「全作品発表年代順リスト(アニメを除く)」(テキストファイル)とする。
* 保存してある直前のバージョンの上記3リスト(テキストファイル)と、各々差分を取る。

 「“手塚治虫漫画全集”解説総目録」のアップロード時に動くスクリプトが実行している自動処理の概要は、以上である。(半自動的な手作業(各リストのサイズの注記等)は、省略した。)

 これよりも 遙かに 厄介なのが、「吾妻ひでお 著作リスト」なのである。

 まず、要求仕様を明らかにしておこう。

 今から約4年前、これを初めてウェブページに登録した時には、1本のファイルだったのである。240K以上のテキストファイル。(HTML化すら、していなかった。)アクセスログを読むと、半数以上の人が、途中で転送を打ち切っている。ISDNが普及する前の話だ。当たり前である。

 そこで、複数ファイルに分割した。「単行本 ア行」「単行本 カ行」..「CD−ROM」「共著」「単行本未収録作品」、など。一部の非常に短いファイルを除けば、各ファイルは大体20Kないし50Kと、手頃なサイズになった。このとき、「注釈」の扱いが問題になった。(現時点で489項目ある、この豊富な注釈が、「吾妻ひでお 著作リスト」の、大きな付加価値なのである。)

 ファイルを分割した当初は、もちろん、注釈群は独立して、「注釈」というファイルを作った。約60K。そして、「単行本 ア行」「単行本 カ行」等のファイルからは、この注釈ファイル内の各注釈項目へ、リンクを張った。完璧な解決であり、全くなんの問題も無いはずだった。論理的には..

 実際に、ウェブページ上で、注釈をクリックして表示させてみて..愕然とした。遅すぎて、使い物にならないのである。

 理屈の上では、この60Kの「注釈」ファイルは、PCの中のキャッシュに入るはずだ。最初にクリックする時には、確かに60K転送するだけの時間がかかるが、2回目からは回線上を流れることは無く、「単行本 ア行」「単行本 カ行」等のあちこちに戻って、注釈へのリンクをクリックしまくっても、ストレスを感じることは無いはずだった。

 現実には、そうではなかった。当時のブラウザのキャッシュ管理がタコで、(というか、まともにインプリメントされていなかったのではないかと思う、)毎回毎回、「注釈」ファイル(に限らず、「単行本 ア行」「単行本 カ行」等の全てのファイル)を、転送していたのである。これではたまらん。

 そこで、オンラインで注釈をクリックをしても、ファイルのリロードが発生しないように、「単行本 ア行」「単行本 カ行」等の各ファイルに、“そのファイル内から呼び出している注釈に限り、そのファイルの中に書き込む”ようにすることを考えた。全注釈を各ファイルの末尾にアペンドすると、(上述のように60Kあるので、)重すぎるのである。これは、実例を見ていただく方が早いだろう。「単行本 ア行」の末尾には、このファイルの中から呼び出されている注釈のみ、アペンドされている。(一方、「注釈」には、全注釈が含まれている。)こうすることによって、「単行本 ア行」「単行本 カ行」等で注釈をクリックしても、そのファイル内にジャンプ先があるので、リロードが起こらないのである。

 もう一段進んだ高度な要求として、“その注釈を呼び出している箇所に、アクセスしたい”ということが挙げられる。つまり、注釈からの「逆引き」だ。例えば、「単行本 サ行」の中の「好き!すき!!魔女先生」には、注釈「※87」が打たれている。で、この「※87」をクリックすると、(上述のように、全注釈を収録したファイル(ページ)ではなく、この「サ行」ファイルの末尾の「抜粋された注釈」に飛ぶのだが、)「原作:石森章太郎」と書かれている。するとあなたは当然、「では、石森章太郎原作の作品は、他に何があるのだろう?」、と、知りたくなるに違いない。そこで、この注釈行の「※87」を再度クリックすると、今度は、その注釈(「※87」)を呼び出している行が列挙されているファイル(コメントジャンプページ)にジャンプする。そこに並んでいるのは、「好き!すき!!魔女先生」が5件、「星の子チョビン」が4件。よって、この2作品が、「石森章太郎の原作による、全作品」であることが判る、という寸法だ。便利でしょ?(さらにこの列挙ページから、個々の注釈の呼び出し元にジャンプすることも出来る。完璧である。

 注釈は、一般に、「多対一」になる。つまり、注釈から逆引きをすると「一対多」になる、ということだ。これを解決するために、「その注釈(例えば「※87」)を呼び出している行が列挙されているファイル(コメントジャンプページ)」を、一段階、かませているのである。

 さて、利用者の立場から見た要求仕様は、上記のとおりだが、もうひとつ、重要なことがある。手塚リストのところでも書いたが、「データは一元管理しなければならない」。(これは、リスト作成者の立場から見た要求仕様だ。)500近くもある注釈群を、「注釈ファイル」と「単行本 ア行」等の個別のファイル群とで、別々に管理するわけにはいかない。(例えば、「※1 初出時には、サブタイトルは無い」などは、ほとんど全てのファイルから呼び出されており、すなわち、ほとんど全てのファイルの末尾に埋め込まなければならないのだ。この「※1」の内容を修正する時に、それらを個別に修正するのは、全く現実的では無い。)当然、メンテ/更新するのは「注釈ファイル」のみにして、他のファイル群には、この集中管理ファイルから「必要なものだけを切り出して」貼り付ける、という作業をしなければならない。自動的に。

 それでは、上記要求仕様を実現するために、具体的にはどういう処理をしているのか..

 ..先述の手塚リストと同様に、フィールド操作レベルで説明しようと思ったが、あまりにも複雑な処理をしているので、説明を断念するに至った。(スクリプトの解読を断念するに至ったのでは、ないぞ [;^.^]。)

 そこで、やや大まかな説明になるが、

* 注釈を集中管理している「注釈ファイル」から、注釈ごとに別々の中間ファイルに切り出し、(現時点で489ファイル、)
* 注釈を呼び出しているリンク元(<A HREF=...> タグ)には、そこにジャンプして来れるよう、<A NAME=...> タグを(同じ注釈番号でも、呼び出し元ごとに区別が出来るように、固有の名前を生成しつつ)埋め込み、
* それら固有の名前群を注釈番号ごとにかき集め、それら固有の名前を参照する <A HREF=...> を付加して、「コメントジャンプページ群」を生成し、(非常に膨大なものになるので、注釈番号10個ずつ、別ファイルとした。すなわち、現時点で49ファイル、)
* その「コメントジャンプページ群」の中の、それぞれの注釈番号(「※87」など)のブロックの先頭には、そこにジャンプして来れるよう、<A NAME=...> タグを埋め込んでおき、(これを仮に「コメントフック」と呼ぶ、)
* 元々の「注釈ファイル」(全注釈を集中管理しているファイル)の、各注釈ごとに、上記「コメントフック」へのリンクを埋め込み、
* 最初にばらばらに分解した(1コメント/1ファイルの)中間ファイル群にも、それぞれ、上記「コメントフック」へのリンクを埋め込み、
* ここまでやってから、(手塚リスト同様に、)各ファイルのタグをはずして全て連結した、ダウンロード用のテキスト版ファイルを生成しておき、
* その一方で、(「単行本 ア行」「単行本 カ行」等の)各ファイルごとに、そのファイルから呼び出している注釈の番号表を作り、その番号表に従って中間ファイルをかき集め、各ファイルの末尾に付加し、
* その時、各ファイルの元々の、注釈を参照しているリンク元(<A HREF=...> タグ)は、自ファイル内の注釈を参照するよう、リンク元の <A HREF=...> タグを書き換え、
* かきあつめられた各注釈には、それに対応する <A NAME=...> タグを埋め込み、
* 最後に、保存してある直前のバージョンのテキスト版と、差分を取る。

 いささか端折ったが、「吾妻ひでお 著作リスト」のアップロード時に動くスクリプトが実行している自動処理の概要は、およそ上記のとおりである。(半自動的な手作業(各リストのサイズの注記等)は、例によって省略した。)

 いや全く、sed&awk等の(今日びはperlやtclなのだろうが)テキスト処理系のツール群によるスクリプトでは“無しに”、これらの処理が可能な(ホームページビルダー系、または、WYSIWYG系の)ソフトがあれば、お目にかかりたいものである。

*目次へ戻る


*1999年10月14日:「少年パンチ」当選


 N書店に、抽選結果の確認電話を入れる。「少年パンチ」誌は、見事に両方とも当選。(他に買う人はおらんのか。)皮算用、あたり。これで残るは、あと1冊(1966年9月号)である。

*目次へ戻る


*1999年10月15日:天狗シフト


 最近は、会社からの帰路にある「T八」よりも、帰宅してからバスに乗って、駅前の「天狗」で飲むことの方が、多い。

 時間的には、不利である。ロスが多い。帰宅してからバス停まで、徒歩10分弱。バス停での待ち時間が5分から10分。バスに乗っている時間が15分弱。浜松駅前のバス停から「天狗」まで、徒歩3分。残業せずに帰宅しても、天狗に着くのは、どうしても19時を少し回る。さらにこの店は、ラストオーダー22:30、閉店23:00、と、店じまいが異様に早い。(もっとも、自宅方向に向かうバスの最終が、22:55(金・土は23:20)なので、丁度いいと言えば丁度いいのだが。)つまり、この店には(平日は)4時間も居られない。(22:55のバスに乗るためには、22:50前には店を出ている必要がある。)対して、T八だと、残業をしないと18時前には確実に着くし、閉店は24時。(金・土は25時。)どうせ代行運転を呼ぶので、時間いっぱい飲んで(正確には、読書だの文書書きだの調べ物だのウェブページのメンテだのして)いられる。つまり、6時間強。

 にも関わらずT八から天狗に切り替えつつあるのは、その「代行運転」の料金が惜しくなって来た、と言うのが、第一の理由であるが、その他にも、天狗のメリットは、多々あるのだ。

 T八よりは(いくらか)料理のコストパフォーマンスがいい。

 廉いデカンタワインがある。(1080円/1リットル。)

 比較的“静か”である。これは、渋谷等の天狗を知っている人には、異な事と思われるかも知れないが..私の印象では、(数年前の印象であるとお断りしておくが、)渋谷の天狗は、「うるさい」ではなく「けたたましい」である。恐らく、客層の違いだ。渋谷の天狗には、学生が非常に多かった。対して、浜松駅前の天狗の客は、場所柄故か、ほとんどがサラリーマンなのである。また、BGMがかかっていないことも、大きい。(これは助かる。あれは結構、読書の邪魔になるのだ。)

 そして最後に、何よりも大切なことだが、T八よりもウェイトレスのクオリティが(平均値、ピーク値とも)高い。目に優しい。(日によって、レベルの変動はある。)

 もっとも、T八にもいいところはあるのであって、カウンターの端の席を確保できれば、天狗よりも落ち着くのである。(天狗のカウンターは、いささか落ち着かない。)これは結構、大きい。腰を据えて読書や調べ物やウェブページの更新をする時には、有り難い。要は使い分けかな。

 ..で、今夜も天狗。帰宅するためにバスに乗って..

 ..眠った..[;^.^]

 ふと気が付いたら、降りるべきバス停を遙かに乗り過ごして、館山寺温泉。ま、飛び降りたついでに払ったバス代は500円弱だったから、そんなに遠くまで来てしまったわけではないのだが、(終点は、もっともっと先なのであって、館山寺温泉で目が覚めたのは、むしろ幸運だったと言うべきだ、)しかし23:30。浜松駅方向に帰るバスは、と〜〜〜っくの昔に、終わり。

 タクシーで3700円弱。代行運転の方が、遙かに廉かったっ [/_;]

*目次へ戻る


*1999年10月16日:サンエックスを叱る


 昨夜、タクシーで帰ってから、ニフのRTで知った、とんでもない事実。なんと、「めかたれぱんだ」(顔を開けるとぷちたれ(「好き」バージョン)2匹つき)は、商品として存在していないどころか、現段階では企画すら無い、というのである! 愕然とした。何考えてるんだ、こら!>サンエックス! 絶対に売れることは、目に見えているのに..

 恐らく、マーケティングの基本方針の問題だ。メインターゲットは、女の子なのだろう。(そう言えば先日、サンシャインシティの「たれぱんだや」を視察したときにも、そう思ったことだった。)サンエックスのオフィシャルページ(「サンエックス/キャラクター(たれぱんだ)」)には、たれぱんだの広告企画も紹介されているが、全て、少女誌に掲載されたものである(..と書いてから、該ページを確認しに行ったら、広告企画のページは無くなっていた)。

 そして、「めかたれぱんだ」(顔を開けるとぷちたれ(「好き」バージョン)2匹つき)が、「“少女”の夢」ではなく「“少年”の夢」であることは、言うまでもない。たれぱんだグッズは、まだまだ拡販できる。“少年”をターゲットとして、改めて練り直すべきだ。(私が“少年”であることもまた、いまさら言うまでもないだろう。)

*目次へ戻る


*1999年10月17日:ある暗号


 かつて、ニフのある会議室で、ちょっとした悪戯をしたことがある。私の発言(メッセージ)に、「暗号」を仕込んだのである。「そこに暗号がある」とは、一言も明言しなかったが、「何かあっても不思議ではない」、と、(勘のいい人には)気づかれる程度に、さりげなく置いておいたのだ。

 しかし、誰一人、反応しなかった..

 それは極めて単純な、ふたつの記号を使って文字列を表したものであり、到底暗号とは言えない程度の代物だった。ふたつの記号。これが昔ならばモールス符号だったりするのだろうが、私は(当然?のことながら)文字コードとした。例えば、「01001011」と続く記号列は「4Bh」であり、すなわち「K」である。つまり、それが文字コード(アスキーコード)である、と見抜かれた時点で、解読されたことになる。

 何故、誰にもこれが読めなかったのかと言うと..私は、「1」と「0」を、それぞれ「全角スペース」と「半角スペース」に置き換えたのであった。

 つまり、解読出来る出来ない以前に、そこに暗号があることを、誰にも気が付いてもらえなかったのであった [/_;]。文字端末の盲点をついた、(しかも、閃けば誰にでもその存在を探し出せる、)現代的で見事な隠し方だと思ったんですけどねぇ..

 ウェブページの修正の件。

 <A NAME=...> タグを </A> で閉じるのは、ほぼ全ての箇所で対応終了。但し、「吾妻ひでお 著作リスト」の「コメントジャンプページ」群(自動生成されたファイル群)の中で、</A> で閉じていないのは、しばし(少なくとも、来週の更新でも)見送ることにした。スクリプトの修正が、いささかやっかいなことになりそうだからである。(腰を落ち着けてやれば、別に難しい仕事ではない。腰を落ち着けている余裕が無い、というのが、実際のところ。実は、昨日も今日も、休日出勤していたのである。)

*目次へ戻る *先週へ *次週へ


*解説


MASK 倉田わたるのミクロコスモスへの扉
Last Updated: Oct 21 1999 
Copyright (C) 1999 倉田わたる Mail [KurataWataru@gmail.com] Home [http://www.kurata-wataru.com/]