K2の言いたい放題

2000年2・3月



3月2日(木)  SETI  晴れ

ほんとに遅ればせながら、SETIをはじめました。

インターネットに接続しているコンピュータの余力を利用して 地球外文明捜査(SET)に活用するという科学的実験。誰でも参加可能。 SETIで検索してみよう。

コンタクト(カールセーガン原作)を読んだり、 映画を見たりした人はわかると思いますが、 宇宙から来た電波を受信して、それを解析し、 有意だと思われるパターンがあるかどうかを調べて、 宇宙人からのメッセージを捉まえようとする試みがSETIプロジェクトです。

解析するデータは膨大で、これを大学の計算機だけでやっていてはおっつかない、 だから、インターネットに接続しているコンピュータを使わせてもらおうと いう考えから、このプロジェクトは生まれています。

元宇宙少年、電波少年のK2は真っ先に夢中になっていてもよかったのですが、 なかなか試せませんでした。今回、やっとSETIのプログラムをダウンロードして、 インストールしてみました。 インストールから実行までの手続きは簡単。インターネットに接続して、 SETIサイトからデータを受信したら、後はインターネットを切断してもOK。 この後、スクリーンセーバーとしてこのプログラムは動作し、 データ解析が始まります。 1度に受信したデータを解析し終わるのは数日かかります。 その後、再度インターネットに接続し、 解析データをSETIサイトに自動的に送ります。

基本的にプログラムが何をやっているかは公開されていないので、 セキュリティー的な問題から、信用できないと思う人はやらない方がいいでしょう。 また、企業などの内部でもやらない方がいいでしょう。

自分が、宇宙人探索計画に参加しているという事実だけでも、超わくわく状態。 どうして、こんなに幸せになれるのか、自分でもよくわからないのですが、 あぁ、もっと早くやっておけばよかったと思います。


しかし、このわくわくは、わからない人には全然わからないでしょうね。 説明できるとも思いません。ということで、ここに書くことは書いたけど、 あまりつっこんで書けないのが現状です。 興味のある人は自分で調べてやってみましょうね。やるだけならすごく簡単です。

2月25日(金)  メールと情報管理  晴れ

K2Editorも収まって、そろそろTaskPrizeの新版に取りかかろうと思ってます。 あんまり新しいことをやりすぎると、これまた収束しそうにないので、 現状のTaskPrizeのコンセプトをベースに、 完成度を上げるという方向を目指そうと考えるようになりました。

新版TaskPrizeの方は、まぁこれから徐々に明らかになっていくでしょうけど、 今日はメールの話。 現在、メールは、個人同士の情報のやりとりだけではなく、 メーリングリストやメールマガジンなど、 情報を集積していくタイプの使い方も多くなっています。

一例を挙げると、たとえば生活裏技のMLに入っていて、 そのMLでは生活での裏技をいろいろとみんなが紹介するような場であったとしましょう。 そのMLからやってくるMLには有用な情報もあるでしょうが、 雑談をしているようなメールも多数混じっているはずです。 その中で、「お、これは今後使えるゾ」と思ったメールは、 後から参照しやすいようにしておきたく思うはずです。 その時どうするか。

一つ目の方法は、そのメールにブックマークをつけておくという方法です。 ブックマークはメーラーの機能を使います。 そのメーラーの機能が完璧なものなら、これでもいいのですが、 まぁまず完璧なものは無理でしょう。それは今ある著名なメーラーが、 そういう目的をにらんで設計されていないからです。

2つ目の方法は、そのメールをメーラーで別のフォルダに移動しておくことです。 有用な情報はすべて別のフォルダに入れる。 しかし、MLなどでは話がつながるため、 そのメールの前後のメールを見たい場合があります。そんな場合、 別のフォルダに入れると、あまりうまくありません。 エリアスという手法を用いて、実体は元の場所においておき、 エリアスだけを別のフォルダで管理するという方法もあるでしょう。 しかし、エリアス機能を搭載しているメーラーは、有名どころでは存在しません。

3つ目の方法は、そのメールをコピーして、 別のソフト(たとえばTaskPrize)に貼り付けて管理する方法です。 これは、貼り付ける側のソフトが整理しやすい構造を作ることが可能なので、 1つ目の方法より結構応用範囲が拡がります。 しかし、やはり2つ目と同じ理由で、 そのメールの前後を参照することができなくなるので、あまりうまくない。

僕が理想的だと思うのは、メールへジャンプできる文字列(ポインタ)だけを、 外部ソフトで管理するという方法です。 その使用イメージをちょっと書いてみましょう。

こうなってると理想です。 この方法を実現するには、問題点がいくつかあります。

ということで、メーラーに負うところが非常に大きい。 ちょっとでも、こういうことを考慮したメーラーが出てくることを、 望んでやみません。

2月23日(水)  それは文字が違うの  晴れ

Yahoo!のニュースをよく見ているのだが、 毎日新聞がソースになっているニュース中で、あるURLが出てきた。 ハイパーリンクになっていないのもとんでもないが、 なんとこれが全角文字で書いてある。

なぜ、全角文字になっているんだろう。 紙面を文字認識させて読みとっているのだとしたら、 文字認識ソフトが悪いのか。英文字は普通半角にするでしょ。 それとも、もともとがオンライン情報なんだとしたら、 書いた人が、この辺のことに気を使わない人なのか。

半角英文字を全角にしてしまうというのは、 細かいところでは数字で多く見られます。 僕自身もよく使ってしまう。 ただ、英文字は基本的には半角で書いて欲しいですよね。 検索するときに、 「あいまい検索」なんてものを使わないと当たらなくなってしまうし、 全角を使ってもいいことはありません。 上記のURLなんて、誰がそこに行くんだろう。手で打ち込むか、 半角に変換するなんて誰もしないぞ。毎日新聞恥ずかしいぞ。

でも、全角と半角を区別しないのは、 きっとプロポーショナルフォントに原因があるんだと思う。 Wordで英文を書くと、全角でもそれなりに読めてしまうんだな、 これが。 全角で書いた単語と半角で書いた単語の長さの差がほとんどない。 Netscape Comunicatorについているメーラーは、 基本的にプロポーショナルフォント。 こんなメーラーで日本語メールを書くと、 英文に関して、 あまり気をつけないで全角を使ってしまうなんてこともありそうですね。

事実、同僚にそういう人がいるんです。 こっちは固定ピッチフォントで読んでるから、 なんちゅうお間抜けなと思っちゃいます。
もひとつすごいのは、 Delphi-MLなんていうプログラミング言語のMLに流すメールに、 全角文字で書いたソースを送ってくる輩がたまーにいます。 ちょっと何考えてんだか。あまりに常識ないよ。あんたプログラマ? ほんとに?

個人的な考えかもしれないけど、 2バイト文字のプロポーショナルは必要ないんじゃないかな。 今までの日本語文化には全く必要なかったんだし。 全くと言うと語弊があるか。広告業界では、そんなことはないかもね。 でも、それは特殊な場合として、 基本はプロポーショナルじゃない方がいいと思うんだけどね……

2月17日(木)  中休み  晴れ

K2Editorのリリース1も、ようやく安定し、 これで一段落。現在中休み中。 週末には、ちょいと旅行にも行くので、温泉に入ってゆっくりしてきます。 会社からもらった旅行クーポンを消費しなきゃいけないので、 1泊の豪華旅行になりました。お金くれても休みをくれないと、 どこにもいけないよね。まぁもらうのに文句もないからやめておきましょう。

これから、K2Editorを単純化して、 他のアプリに使い回せるようなものに仕上げないといけません。 これが、当初の目標だったのですが、あまりに複雑なものを作ってしまったので、 この作業も結構時間がかかりそうです。

平行してTaskPrizeの新バージョンの構想を練ります。 一応7月完全休業宣言をしているので、6月までには正式版をリリースしたい。 果たしてそんなにうまく行くか、非常に不安ではありますが……

試作版を作ることをプロトタイピングといいますが、 この期間中は、外に情報はほとんど発信できません。 外から見れば中休みに入っているように見えるでしょうが、 まぁ春頃には、またいろんな情報を発信できるようになると思います。 年度末はみなさんも忙しいでしょうから、 ちょうどいいと言えばちょうどいいのでしょうね。

2月16日(水)  レジストリなしの効用  晴れ

K2Editorは、当初から、 「レジストリを使わない」というテーマを掲げて開発してきました。 レジストリを使うことは、Microsoftによって推奨されています。 Win95ロゴアプリケーションを作るためには、レジストリを使わなければなりません。 それなのになぜ使わないということを選ぶのか。それにはもちろん理由があります。

理由、一つ目。 レジストリは、データベースになっていて、すべてのアプリケーションが使用します。 そのため、肥大化しがちです。 肥大化すると、どういうことが起きるか。知らず知らずのうちに、 OSのパフォーマンスが落ちてきます。 これは、NTであろうが、Windows2000であろうが、すべてに共通のことです。

現在のアプリは、ほとんどがレジストリを使用します。 ユーザーがカスタマイズした内容やら、ウィンドウの位置やらを保存しておいて、 必要な時に取り出します。 レジストリは比較的アクセス速度が速いので、ほとんどのアプリケーションは、 必要な時にレジストリを読みに行きます。

ところが、レジストリが肥大化してくると、 この読み込みに時間がかかるようになってきます。 ちょっとだけ時間がかかるようになっても、すべてのアプリがレジストリを開くため、 総合的なパフォーマンスがだんだん落ちてきます。 だから、なんでもかんでもレジストリを使うというのも考え物です。

理由その2。 レジストリは、ログオンユーザーごとに設定を切り換えられるので、非常に便利です。 ところが、レジストリのバックアップを取るのは、結構面倒です。 アプリケーションのファイルバックアップは比較的取りやすいけど、 別のパソコンにインストールしたり、再インストールするときに、 前と同じ環境を実現するためには、 レジストリのバックアップを取ることが必要になります。 面倒ですよね。


これらの点を考慮して、プリンとK2Editorに関して、レジストリを使わず、 なおかつログインユーザーごとの設定を保存するという試みを、僕は行ってきました。 K2Editorに関しては、インストールフォルダをまるまるコピーしておけば、 それを別のパソコンに持っていっても、基本的にはそのまま動作します。 ただし、ログインユーザー名を使って情報を保存しているので、 もし違うユーザー名を使用するなら、 設定を保存しているフォルダの名前を変えないといけません。まぁささいなことです。

副産物として、ネットワークでつながれたパソコン間で、 同じログインユーザー名を使用するなら、 K2Editorをインストールするパソコンは一つでいいです。 そのフォルダを共有し、他のパソコンからK2Editorを起動すれば、 自分の設定がそのまま別のパソコンで再現されます。

この辺の、フォルダさえちゃんとしてれば、すべてOKという感覚は、 なかなか健康的とさえ言えます。K2Editorでは、設定できる項目がかなり多くて、 自分なりのカスタマイズをしたら、その設定はぜひ保存しておきたいし、 いろんなところで再現したくなるはずです。そんな用途に、 レジストリを使わない開発方針は、非常に役に立つはずです。

2月9日(水)  左  晴れ

キャンプも序盤を過ぎ、またわくわくする時期になってきました。 今年は、左がなんかむちゃくちゃええぞ。

湯舟は昨年末に3000球の投げ込みを行って、背水の陣で望んでいる。 仕上がりはすこぶるよく、ノーヒットノーランシーズン以来だという。

球界を代表する左腕・星野の加入は、いったい何をもたらすのか。 非常に楽しみ。また縦縞が無茶苦茶似合うやん、この人。

新外国人のラミレズはまだこれからだが、期待はできる。

吉田豊彦。かなりベテランになったが、昨年前半の活躍を見ていると、 まだまだやれる。運さえなんとかなればなぁ。

新人吉野がいいらしい。現在も投手陣の中で、一番の投げ込み量。 頼もしい。先発もいけるかも。

キャンプを見ていると、弓長もそこそこいけそう。けががなければね。

昨年西武から来た杉山は、ちょっと打たれ弱い感があるが、 まぁそこそこ。

金さんは、今年もやる。遠山様。今年はシンカーで右打者もよろしく。

田村さん、まだキャンプでは見てないよ。昨年もだけど、あなたはどこにいるの? 一段と切れを増してください。

井川君。昨年のキャンプ一番の注目株だったが、制球力に難有りね。 今年はがんばるように。

とつらつら並べてきたが、この中で3人は先発に回れるだろう。 右に2枚いればローテーション完成。湯舟がいいというのが、 なんとも楽しみなシーズンになりそう。 セリーグは、読売を筆頭に、強烈左打者が並ぶので、左投手のいいところは有利。 ぜひがんばってもらいたい。(しかし、平均年齢高いなぁ……)

2月3日(木)  DIFF  晴れ

終わるつもりが、なかなか終わらない。僕もとことんひつこいな(笑)。

K2Editorの大きな機能追加としては、正式版までにはほんとに最後になる、 DIFF実行機能を追加しました。GNUのdiff.exeを必要としますが、 これがあれば、ファイルとファイルの違いを、 非常に簡単に調べることができるようになります。

出したばっかりなので、まだちょっと動作が不安定かもしれませんが、 僕のところでは完全に動作しています。 比較したいファイルを2つのK2Editorで開いておき、diffの実行を行うと、 行番号のところに色分けやマーキングで、変更点を知らせます。

diffのすごいところは、何行か追加されたりして、 ファイルの行数が変わっても、 ある程度インテリジェントにそれを検知してくれるということ。 よくあるWindowsエディタのファイル比較機能のように、 比較をはじめるところにカーソルを移動して、 比較開始なんていう面倒な手順は必要ないし、 ファイルを見比べながら、どこの行が変更され、また追加され、 あるいは削除されたかが一目瞭然なので、 ソースファイルなどの変更履歴を見るにはぴったしです。


ファイルの違いを見る機能をなんとか追加したいと思っていたのですが、 どうせやるなら、この手のツールの中で僕が一番気に入っているDIFFを使おうと思いました。 ソースファイルが公開されているので、 Delphiに移植して内蔵することも考えましたが、 時間が限られていることと、GNUのライセンス規約に違反するかもしれないので、 diffを外部から使うことにしました。

使ってみれば便利なこと請け合い。diffをダウンロードして、 ぜひ使ってみてください。diffの所在はReadme.txtの中に書いてあります。

この機能、viviにも登載されているんですよね。 ちょっと比べてみましたが、GNU diff v.2.5とは、ちょっと結果が違うみたい。 やってることは同じなんですが、vivi独自の改良がなされているのか、 diffのバージョンが新しいのか。 それとも全く別のアルゴリズムなのかは不明です。