@かまいたち/LogSplit

 パソコン通信をやっていて困ったのは、過去のログがたまりまくり取り回しが悪い、ということです。何メガにもなったファイルに検索をかけるのも大変だし、やっぱり処理速度は遅くなるし、ハードディスクもどんどん食ってゆく。それを考えると前に使っていたAVALONはよかったなあ、会議室別のログをダウンロードした月別に整理してくれた。(これはAVALONのログ読み込みが極端に遅いので、ログファイルを細かくしないと耐えられないという事情があるようだ)。
 Macintoshの場合は魔法のナイフでログ分割ができます。Windowsでも似たようなのがないかなと考えあちこち探し回りましたが「ない」。無ければ作ってしまえ!ということで、Nifterm用に書きはじめたのが"LogSplit"であります。そしてこれが自分の作った最も便利な(もう定番化しているのではないかな)しかしもっともバグを出しまくったソフトの始まりでありました。

 最初は、毎月忘れずに分割するという前提で、対象の会議室のログファイルを指定すると、今月以前の部分を別ファイルに切り出すという比較的簡単な仕様でした。
 しかし使い勝手が悪い。各会議室を一個ずつ指定するのは、こりゃ自分でもやらなくなるなと思うほど面倒な作業です。かくして、Niftermのフォルダを指定すれば、巡回対象となっている会議室を調べて、そのログファイルを探して分割するという仕様に変更となりました。さらに、分割バックアップ先のフォルダにフォーラムごとのサブフォルダ/会議室ごとのサブフォルダを自動で作ってくれるます。さらに同じファイルを何時、何回分割しても、ログが消えず、二重書き出しにもならないように制御する機能もつけました。このへんのきめこまやかさはメインフレームで業務プログラムをかかされた経験がものをいいます。
 さらに会議室ごとのサブフォルダ名は"MES13"などというものではなく、分かりやすくも会議室名をそのまま使ってくれます。はっきりいって楽です。めちゃくちゃ便利です。しかし、この仕様がのちのちまで尾を引くことになりました。つまりファイル名に使用できない文字が会議室名に使われていた場合の問題です。
 当然、そういった文字はちゃんとチェックして"_"に置き換えるという作りにしていたのですが、なんじゃこれは!というような会議室名に後々まで悩まされることになりました。「発言ヘッダーが文字化けしていると異常終了する」といった初期バグはすぐにつぶしたんですけどね。

 残念なことに初期バグがつぶれたころにNiftermの使用期限がきれてしまいました。丁度、AirCraft97のβ版が発表されたので,これを試してみるとかっこいい。というわけで乗り換えることにしました。ニョーボがNiftermを使っていたのでNifterm版もそれなりにメンテしてはいましたが(例えば巡回会議室を記録しているバイナリファイルがバージョンアップによって形式が変わった時とか)それからはもっぱらAirCraft97版への移植と改良を行っておりました。
 Nifterm版を使っていて不便だなと自分で感じたところを作り直していると中身は別物のように変わっていきました。はっきりいってAirCraft97の方が動きが素直でこういうツールが作りやすいです。
 Niftermバージョンではバックアップ元と先をGUIで設定しiniファイルに保存するという無難な作りでしたが、ここが不便に思われるようになりました。AT互換機は特にリムーバブルメディアを使うとドライブ名がころころ変わる、分割バックアップを取る先はリムーバブルのMOでしたのでその度ごとに設定を変更しなければならない。
 そこで考えました。230MBのMO容量に比べればプログラムサイズの300KBなんか小さいものだ。どうせバックアップするMOは専用のものを用意するのだ。かくして、バックアップ先にプログラムを置いておき、ログの入ったフォルダをDrag&Dropすれば中にあるものを片っ端から分割バックアップしてゆくという仕様に発展しました。ますますもって使うのが楽です。
 またこうすればログを収納するフォルダがデフォルトでなくともきちんと動くという改善もできるわけですな。

 さすがDOSの時代から多くのユーザーに好かれてきたAirCraftです。調べてみるとこんな場合に会議室がうまく切れない、と参考になるバグレポートがサポート会議室にすぐに上がってきました。こちらでデバッガーを働かせてみると、名前が”."で始まる、または終わる会議室名のフォルダが作れない、”:”の文字があるとドライブ名と誤認識するといった自分一人では到底発見できないような仕様上の問題点が見つかりました。
 もちろんNifterm版にも反映させました。結局AirCraft97版の再移植となりましたが。ふーやれやれ。
 なお、AirCraft97版の名前を"@かまいたち"にした理由は「Airを切る」というイメージで「かまいたち」。バックアップディレクトリにプログラムがあるから名前順でソートしたとき一番最初にあると見つけやすいようにと「@」をはじめに付けました。
 名前としては「バタフライナイフ」も候補に上がりましたが、キムタクがテレビで使って以来、社会問題化していましたので却下されました。

公開場所
AirCraft ユーザーズ・フォーラム Lib3. [WIN] AirCraft 周辺ツール&プラグ イン 141
NifTerm Users' Forum Lib3.Nifterm周辺ツール 334
フリーソフト開発秘話、目次
ホーム