1999-01-24[n年前へ]
■「私と好みが同じ人」
analog Windows版用のサブドメイン解析ソフトを作る
はじめに
http://www.hirax.net/(このサイト)にどのような人がアクセスしているか知りたくなった。何しろ、作者の私でさえ辿り着くのにかなり苦労するようなサイトである。そこにわざわざ辿り着くような人はどんな人なのか、知りたいと思うのは自然の摂理である。その人達は私と好みが似ている人かもしれない。analog windows版(日本語)
このサイトではhttpサーバーとしてApacheが使われている。このログ解析をするために、ログ解析ソフトであるanalogを使ってみる。そこで、まずはhttp://jolt.ime.yamagata-cit.ac.jp/
からanalogのwindows版(日本語)をダウンロードする。
これを使うと例えば、
というような解析ができる。もちろん、上の画像は結果のごく一部である。
ドメイン解析をするためには、analogの設定ファイルである"Analog.cfg"の中に、
DNSFILE dnsfile.txt
DNS LOOKUP
DNS WRITE
と記述をしてやる。これをしないとIPアドレスからドメイン名への検索をしてくれない。
そうすると、こんな感じになる。
canon.co.jp
sony.co.jp
atr.co.jp
infocom.co.jp
saitama-u.ac.jp
kokushikan.ac.jp
ritsumei.ac.jp
keio.ac.jp
rr.com
しかし、これでもまだよくわからない。日本人としては漢字で、しかも、もっとわかりやすい名前で知りたい。
そこで、"Analog.cfg"の中でサブドメインの指定をしてやる。こういう記述である。
SUBDOMAIN aichi-gakuin.ac.jp '愛知学院大学'
SUBDOMAIN aitech.ac.jp '愛知工業大学'
SUBDOMAIN anabuki-c.ac.jp '穴吹情報専門学校'
SUBDOMAIN ashigei '芦屋芸術情報専門学校'
SUBDOMAIN aist-nara.ac.jp '奈良先端科学技術大学院大学'
そうするとこうなる。
canon.co.jp
sony.co.jp
atr.co.jp
infocom.co.jp
saitama-u.ac.jp (埼玉大学)
kokushikan.ac.jp (国士舘大学)
ritsumei.ac.jp (立命館大学)
keio.ac.jp (慶應義塾大学)
rr.com
Whois解析プログラムをつくる
acドメインなどはanalogのwindows版(日本語)に付属のもので間に合うのだが、co.jpドメインなどはほとんど記述されていない。そのため、coドメインに関しては何らかの方法で"Analog.cfg"の中の記述を補充してやる必要がある。 そこで、ドメイン名から詳しい名称を調べて、"Analog.cfg"用に加工するソフトをつくることにした。
私の設定ではanalogはdnsfile.txtというファイルにアクセスしてきたdomainのリストを出力する。
DNSFILE dnsfile.txt
という指定のためである。そこで、このファイルを元に
whois プロトコル
でそれぞれドメインの詳細を調べてやれば良いだろう。
まずはwhoisプロトコルの情報を
rfc-jp ML (http://www.imasy.or.jp/~masaka/rfc-jp/)
から辿って
Referral WhoisProtocol (RWhois) (http://www.imasy.or.jp/archives/rfc/rfc1714.txt)
を手に入れる。また、whoisのサーバーとしては
whois.nic.ad.jp
にポート43でアクセスする。あとはプログラムを組むだけである。
今回はC++Builder Professional版を使うので、TCP/IP関連にはあまり気を遣う必要がない。日本語コード、改行コードの変換には、
EarthWave Soft(IKEDA Takahiro)氏作成の
Delphi 用 文字コード変換ライブラリユニット jconvert.pas 1.4
http://www.os.rim.or.jp/~ikeda/
を使用してやる。今回はjpドメインの検索だけにした。それ以外のドメインについては検索をしない。
以下の画像が今回作成したプログラムの動作中の画面である。ドメインの詳細について解析しているのがわかるだろう。
これが今回作成したプログラムである。
WhoisPro.exe (whoispro.lzh 165kB) プログラム本体
domain.txt (domain.lzh 2kB) ドメインの詳細のキャッシュファイル
これらを解凍したものを"analog.exe"と同じディレクトリ(つまり、dnsfile.txtと同じディレクトリ)において実行すればよい。解析のスピードはトラックバーで変えることができる(はずだ.しかし、.あまり早くすると動作しなくなるだろう。)。
解析が終わったら解析結果を手動でコピーして"Analog.cfg"に貼り付けてやれば良い。最後の所は手動の方が安心できて良い。何しろ自分のプログラムほど信用できない物はないからである。
このプログラムは解析が終了するのに、かなりの時間がかかる。何しろ一つのドメインあたり数秒かかる。したがって、このようなプログラムを使えるのはアクセスがほとんど無いようなサイトだけだろう。アクセスが激しいサイトでは、とても使えないと思う。また、whois.nic.ad.jpに負担がかかってしまうだろう。
「私と好みが似てる人」
さて、このプログラムを使い、"Analog.cfg"を補充した上でanalogで解析した結果の一部が以下である。これが「私と好みが似てる人」である。もっとも、この中の一つはそうとも言えないのだが... : 16.61%: canon.co.jp (キヤノン)
: 15.64%: sony.co.jp (SONY)
: 5.60%: atr.co.jp (株式会社国際電気通信基礎技術研究所)
: 4.22%: infocom.co.jp (日商岩井)
: 2.80%: waco.co.jp (ワコービジネス)
: 5.44%: odn.ad.jp (オープンデータネットワーク)
: 4.22%: nttpc.ne.jp (ISP事業者向けネットワーク提供サービス)
: 1.26%: att.ne.jp (日本AT&T株式会社)
: 5.76%: saitama-u.ac.jp (埼玉大学)
: 1.08%: kokushikan.ac.jp(国士舘大学)
: 0.90%: ritsumei.ac.jp (立命館大学)
: 0.50%: keio.ac.jp (慶應義塾大学)
関西系の大学が多いのは「鴨川カップル」のせいだろうか? また、慶應義塾大学といっても、全てがSFC(湘南キャンパス)であったのは面白かった。
1999-06-28[n年前へ]
■風呂場の水滴を考える。
オールヌードの研究員
風呂場の天井から浴槽めがけて、水滴がしたたって音がしているのはよくある風景である。ピーンという(もちろん人によっても印象は違うのだろうが)気持ちのいい音がしている。似たようなものとしては、水琴窟などもある。この音がなぜ鳴るかは、ロゲルギストの「物理の散歩道」に詳しい考察がある。それによれば、水滴が一粒落ちたように見えても、実は何粒かに別れており、ちょうどカルガモの親子のようになっているという。つまり、大きな親の水滴の一粒の後を、何粒かの小さな子どもの水滴が追いかけているという具合である。まず、水滴の親が水面に空洞をつくり、その中に子どもの水滴が飛び込むことにより音が出るという。結局、水滴の音を作っているのは、その子どもの水滴の方だという。「物理の散歩道」の中では、針をつたって水滴を落とせば、子どもの水滴ができないという。
風呂に入って、濡らした手から水滴を落としてみる。指の爪の先から水滴を落とすと音はほとんどしないが、指の「はら」から落とすと派手に音がする。ぜひ、自分でも確かめていただきたい。
爪先は比較的尖っているので、落ちる水滴は一粒だが、比較的平らな指の「はら」からの場合には、カルガモ親子のような水滴が落ちているせいだろう。
なぜ、このような違いが生じるかを推測してみたい。まずは、下の絵を見て欲しい。
上の上手な絵が言いたいのは、次のような推測である。
- 平らな表面から水滴が落ちる際には、長く伸びた水のブリッジが出来ていて、1つぶ目の水滴が落ちた後も、このブリッジ部分が「カルガモの子ども」のように小さな水滴となって後を追いかけていくのではないか。
- それに対して、尖った表面から水滴が落ちる際には、先のブリッジ部分のほとんどは水でないため、後続の水滴は発生しない。
計算モデルとしてどのようなものを使うかであるが、私の知っている範囲では大きく分けて2種類のやり方がある。
- 流体をモデル計算する。すなわち、Navier-Stokesの方程式を解く。
- 流体を粒子のようなものの連続体として解く(ex.格子ボルツマン法)
電気通信大学情報工学科情報数理工学講座渡辺研究室( http://assam.im.uec.ac.jp/fluid.html )
また、水滴が水面に衝突する状態の計算は、電気通信大学情報工学科情報数理工学講座渡辺研究室にもあるし、他にもNaSt2DというFreeの2次元Navier-Stokes方程式のソルバーを用いて行われた計算結果が
http://www5.informatik.tu-muenchen.de/forschung/visualisierung/praktikum.html
にある。
Michael Griebel氏らによるNast2Dのコードは公開されているので、その中身をいじりながら、計算を行う予定である。
とりあえず、今回はバックグラウンドを紹介する所までで、次回(といってもすぐではないだろう)に計算の本番に入りたい。
手のひらの実験から考えると、風呂場で水滴の音が聞こえるのは天井が平らなせいだということになる。ならば、鍾乳石のようなつらら形状の天井の風呂場では音がしないのだろうか?しかし、水滴は空気中で落下していく最中には空気の抵抗をうける。そのため、大きな水滴は落ちる最中に分裂し、複数の水滴になってしまう。
となると、
- 落ちる水滴の最初の大きさは、どう決まっているのか。
- 水滴は落下するスピード、水滴の大きさがどの程度になると分裂するのか?
ところで、インクジェット方式のカラープリンターも液滴で画像を描くのだから、液滴の様子は重要な筈である。液滴が飛び散ってしまっては困るし、位置がずれても困る。各社ともカルガモの子ども水滴をなくすために色々工夫をこらしている筈だ。
実は風呂場の水滴問題は重要で、奥が深いのだ。オールヌードで私は考えるのであった。
1999-11-01[n年前へ]
■踊る人形
郵便カスタマバーコードFontを作る
久しぶりの新宿の東急ハンズでこんなものを買った。
紫外線を発光する蛍光灯である。ブラックライトという名称の方が通りが良いかもしれない。ブラックライトを車につけている人も多いらしい(私の趣味には実に合わないのだが)。スケルトンという所が今風である。
さて、このブラックライトを使って「何か手元にあるものでテストをしよう」というわけで、はがきを照らしてみた。すると、「踊る人形」のような模様が浮かび上がる。
自宅に届いたはがきをブラックライトで照らしてみる。 | |
照らす前 | 照らしているところ バーコードが見える |
もちろん、これはバーコードである。これは、郵便局の新型区分機により印刷される不可視の「局内バーコード」と「IDバーコード」だ。真っ直ぐな線が続いているのが、「局内バーコード」で、「踊る人形」みたいのが「IDバーコード」である。
一番、目に触れているであろう「カスタマバーコード」(料金割引を受けようとする際に、差出者が郵便物に印字するバーコード)の写真を出したかったが、手元にないのだ。私の自宅にバーコード付きで手紙を出してくる人なんかいないのである。じゃぁ、勤務先はどうかというと、こちらは実に田舎で「字(あざ)」まであるのだ。困ったものだ。というわけで、こちらにも「カスタマバーコード」を印字したものは届いていない。
最初は、「局内バーコード」と「IDバーコード」を解読しようかと思ったのだが、探してみると詳細な情報がすでにある。
- 郵便バーコード (http://www2.biglobe.ne.jp/~t-iwata/barcode/bar_code.htm )
当初は、「局内バーコード」と「IDバーコード」のフォントを作成するつもりだった。不可視のフォントという所にロマンが感じられる。しかも、普通の人は使わなく、作っても無駄なところが本WEBにぴったりである。しかし、あまりに用途が限られてしまうので、まずは「カスタマバーコード」のフォントを作成することにした。もちろん、「局内バーコード」と「IDバーコード」も近いうちに作成する予定である。
それでは、まずは
- TTEditの紹介( http://www.interq.or.jp/www1/anzawa/ttedit.htm )
そして、作成したのフォントが以下である。「バーコード」のような、文字数が少ないものは作成するのは簡単である。 フォントの対応を下に示す。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | CC1 | CC2 | CC3 | CC4 | CC5 | CC6 | CC7 | CC8 | Start | Stop |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | : | ; | < | = | > | ? | @ | A | B | C |
ところで、カスタマバーコードの規格は結構厳しいらしい。このフォントが規格をみたしているかどうかは、怪しいものだ。自分で言うのもなんだが、テストすらしていない。テストするのは「またいつかの回」ということにしておこう。あるいは、動作確認、不動作確認などして下さった方がいらっしゃれば、ご一報頂けると幸いである。
1999-12-16[n年前へ]
■スキー場の特殊相対性理論
ジャンプの飛距離は何メートルだ?
突然ではあるが、HIRAX.NETのドメインレコードを調べてみると、
Record created on 16-Dec-1998.となっている。自分のドメインのレコードをわざわざ調べたのは、一体いつ取得したのか私自身が忘れてしまったからである。何しろ、「できるかな?」は当初異なる場所での二本立てで公開していたため、私の記憶がごっちゃになっているのである。あと各回の公開順序も実はかなりシャッフルされている。そのため、完全に忘れていたのである。
「できるかな?」はHIRAX.NETのコンテンツの一部である。しかし、HIRAX.NETの誕生日よりも、「できるかな?」の誕生日の方が実は早い。
で書いたように、「できるかな?」はすでに満一年を迎えていたわけである。そしてやっと、本日でHIRAX.NETも満一歳になったわけだ。何はともあれ、目出度いことである。子供の頃やらされた「ドリル」でも3日も続かなかったのに、1年続くとは、正に奇跡である。奇跡はそうそう続かないような気もするが... さて、関係ない話はここまでである。今回の舞台は万座温泉だ。なぜなら、先週末私は万座温泉でスキーをしていたからだ。何故だか理不尽な話しではあるが、私は万座温泉でローレンツ収縮を考える羽目になったのだ。もう少し正確に言えば、スキー場で特殊相対性理論を考える羽目になったのである。(先に断っておくが、私はトンデモ話をマジメな顔で言うことが多い。)
話の発端はスキーに行く前に遡る。職場の今年の新入社員であるタカノリ君(仮名)とスキーの話をしていた。彼は秋田出身であり、子供の頃からスキー三昧の生活をしていた。大学に入り京都へ行ってからは、スキーをやる頻度は下がったが、チョコチョコ行ってはいたという。
そのタカノリ君(仮名)と話していると、彼はさりげなくこう言った。
「10m位のジャンプはよくするスよ。」10mである。2mの身長の人の5人分である。それは、スゴイ。
「えぇ、本当かぁ〜〜」
「いやぁ、そんなのよくやることじゃないスか?」
今回のスキー&温泉旅行は職場(と何故か競合他社)の人達30人程で行った。ほとんどの人は、割にスキーは好きな人が多い。従って、スキーも上手い人が多い。その人達に囲まれながら、タカノリ君(仮名)は断言した。
「6,7mは簡単だけど、10mってスゴイなぁ。」タカノリ君(仮名)、ただ者ではない。
「本当かぁ〜〜」
「えっ、だってただ飛ぶだけじゃないっスか。」
そこで、スキー場でその確認をしたわけである。場所は万座プリンスゲレンデの下部である。リフトとコースが交差する辺りに、ジャンプできる場所があったのだ。そこで、彼は軽く滑り出し、力一杯ジャンプした。
果たして、タカノリ君(仮名)は何メーター飛んだのであろうか? それとも、ただのホラ吹き男爵であったのだろうか?
ところが、その答えをすぐに書くわけにはいかないのである。なぜなら、タカノリ君(仮名)がジャンプをしてみせた時に事件は起こったのである。
「どうスか!10mはいったんじゃないスか!」
「3,4mしかいってねーぞ!おイ!」
これは、一体どうしたことだろうか? しかも、会話はまだ続くのである。
「何でっスか!軽く1秒は宙に浮いてたっスよ!」ますます不思議なことに、時間感覚すら違っているのである。一体何が起こっているのだろうか?
「そんなことはねぇぞ!コンマ数秒だろう!」
私はここで気づいたのである。観測者の間で時間と空間の不一致が生じているのであれば、ここはもちろんアレの登場である。アレと言えば言うまでもない、もちろん特殊相対性理論である。
そう、万座温泉スキー場ではローレンツ収縮を実感することができるのである。「スキー場でジャンプする」という現象を考える際には、「スキー場におけるhiraxの特殊相対性理論」を導入しなければならないのであった。
それでは、簡単に「スキー場におけるhiraxの特殊相対性理論」を説明しよう。今回、生じている不思議な現象は以下のようになる。
登場人物
- タカノリ君(仮名) 速度vでジャンプをしている。
- 観客 静止している。
タカノリ君(仮名) | 観客 | |
飛んだ距離 | 10 | 3 |
飛んでた時間 | 1 | 0.3 |
つまり、速度vで飛んでいるタカノリ君(仮名)の感じる空間や時間といったものは、静止している観客に比べて、いずれも3倍程度に膨張しているのである。
通常の世界で生じるローレンツ収縮は、速度vで移動している観測者の空間軸も時間軸も
倍縮むのであるが(ここでは光速c=1の単位系を使用している)、
であるが、「スキー場におけるhiraxの特殊相対性理論」では、速度vで移動している観測者の空間軸も時間軸も静止している観測者に対して、逆に
倍に延びてしまうのである。もし、ミンコフスキーの時空図を書いて確認しようとする人がいるならば、座標軸の傾きの変化も通常のローレンツ変換と逆に考えてみてもらいたい(その延長で考えていくと、矛盾があるというご指摘メールはノーサンキューである。)。
さて、そもそもローレンツ収縮は、マイケルソン - モーリーの実験結果(エーテルの影響が検出できない)を説明し、なおかつエーテルの存在を認めるために立てられた。それは、「運動体はすべてその運動方向に収縮する」という仮説である。その仮説を理論的に完成させたのが、アインシュタインの特殊相対性理論である(考え方としては根本的に異なるが)。
今回の話の中で「エーテル」に変わるのは、「空気」だろうか? いや、違う。私はむしろ、速度そのものであると、考える。つまり、特殊相対性理論と同じである。スピードを出して飛んでいるという感覚、速度が与える感覚の変化、すなわち速度そのものが、「スキー場におけるhiraxの特殊相対性理論」を要請するのである。
今シーズン、スキー場でせっせとジャンプをする人がいるならば、ぜひ「スキー場におけるhiraxの特殊相対性理論」について考えてみてもらいたい。
このWEBへ来る人の中で、同時期に万座温泉スキー場にいた人はいるだろうか?12/11.12に万座温泉スキー場のプリンスゲレンデの下部でジャンプにいそしんでいたのが、私達の一行である。そして、その中の一人(ショートスキーでせっせと飛び跳ねていたヤツ)はこんなことをずっと考えていたのである。
さて、実際のタカノリ君(仮名)の飛距離がどの程度であるか知りたいと思う人も多いだろう。オマエらの主観的な評価でなくて、実測定した距離を教えろと思う人も多いに違いない。
「絶対的な基準など存在しないから、そんなことは私はわからない。」と言い放ちたいところだが、タカノリ君(仮名)の名誉のために書いておく。彼が飛んだ距離は、2m弱のスキー板で4本分はあった。実は、タカノリ君(仮名)の基準が一番正しかったのである。彼は、「やるときはやる有言実行の人」なのであった。
2000-01-21[n年前へ]
■数字文字の画像学
縦書きと横書きのバーコード
始まりはまたしても「物理の散歩道」である。
- 「新物理の散歩道」 第一集 ロゲルギスト 中央公論社
さて、その中の-横組・縦組と二つの目-という一節中の外山滋比古氏の発言が実に面白い。
「日本の漢字は横の線が発達してますから、横から読みますと目に抵抗が少なくて読みにくいですね。ヨーロッパの文字は縦の線が非常に発達していて、横に読むと非常に能率がいいわけです。数字でも縦の棒を引いて、Ⅰ、Ⅱ、Ⅲ、Ⅳ....としますが、和数字は横に線を引いて一、二、三...となります。...」という発言である。
- 文字は読む方向に対して垂直な線が多い
- また、読む方向に対して水平な線は少ない
- いずれも目のスキャン方向に対して垂直な線が多い
そこで、今回その確認と考察を行ってみることにした。サンプルとしては、外山滋比古氏の発言の通り、ローマ数字と漢字数字を用いることにする。
まずは、本来の書き方の方向に数字を並べた画像である。画像サイズは128x128である。後の処理のために、縦横比を同じにした。すなわち、本来の画像のアスペクト比とは異なる。
この二つの画像を読む方向に目を走らせると、まるでバーコードのようである。以前、
の時に作った郵便カスタマバーコードを参考に示してみる。考えてみると、バーコードは検出手段をバーコードの進行方向に走らせて、情報を読み取るわけである。人間が数字の羅列を読み取るのも、数字文字列上に目を走らせるのであるからまったくもって同じである。
一次元バーコードを考えた時、バーコードのバーは進行方向に対して垂直なものがほとんどである(若干のアジマス角を持つものもあるが)。バーコードを読み取る方向に対してのみ情報が書き込まれているのだから、それ以外の方向には等方的であるのが当然である。もし、そうでなかったらスキャン位置がちょっとずれただけでデータの読み取りができなくなってしまう。
そう考えると、先の数字文字に関する
- 読む方向に対して垂直な線が多い
- 読む方向に対して水平な線は少ない
また、本来の数字文字を並べる方向が読み書きの方向と異なる場合を以下に示す。
さて、画像を並べるだけではつまらないので、
- 本来の書き(並べ)方
- 本来の書き方と異なる書き(並べ)方
人間の目が数字文字列上をスキャンしていくときに、選られる情報量を考えるために、読む方向に対して画像を微分したものを示す。もう少し正確に言えば、微分値の絶対値を画像にしたものである。
まずは、本来の書き(並べ)方のものを示す。
818892 | 923836 |
微分画像の下に示した数字は微分(して絶対値)画像のピクセルの値の総和である。これをスキャン方向に対して選られる情報量の指標として扱うことにする。「スキャン方向に対して変化量が大きいということは、情報量が多い」ということだからである。
次に、本来の書き方と異なる書き方の場合を示す。
536383 | 632338 |
それでは、「微分(して絶対値)画像のピクセルの値の総和」を比較してみることにしよう。
本来の書き方の場合 | 818892 | 923836 |
本来の書き方と異なる場合 | 536383 | 632338 |
ローマ数字、漢字数字の両方で、本来の書き方の方が(読む方向に対する)画像の変化量が大きいことがわかる。すなわち、「目のスキャン方向に対して選られる情報量」が多く、そうでない方向には冗長なのである。エラー発生率が小さくなるのである。本当にバーコードそのものである。文字はバーコードの祖先だったのである。
さて、「文字の画像学」も色々と面白そうなので、これからちょこちょこ遊んでいこうと思う。