hirax.net::Keywords::「Microsoft」のブログ



1998-11-12[n年前へ]

無限音階を作ろう 

上昇し続けるって何ですか?

- 上昇し続けるって何ですか? -
(1998/11/12)

無限音階を作りたい

 無限音階というものがある。ド・レ・ミ・・・と音がどんどん高くなっていくように聞こえるのだが、いつまでたっても終わらず、ふと気づくとずっと前と同じような音の高さだというものである。Escherの無限階段の版画は有名だが、あれの音階版である。
 とにかく、無限音階を作ってみようというのが今回の目的である。参考までに、Eshcerのことに関しては藤原康司氏のWEBhttp://www.pluto.dti.ne.jp/~fwhd5468/に詳しい情報がある。 ちなみに、このような版画である。
Esherの無限上昇(下降)シリーズ
「上昇と下降」(左図、1960年作)

「滝」(右図、1961年作)

 本題をますます離れるが、飯沼 敏夫氏のWEBhttp://www2.gol.com/users/atoz/index.html は一見の価値がある。上の2枚の版画をQuickTimeVRで実感できる。素晴らしい。

無限音階の仕組み

 人間の聴力にはもちろん周波数特性がある。
ニコンの補聴器のWEBhttp://www.nikon.co.jp/main/jpn/society/hocyouki.htm
によれば20Hz-20kHzが通常聞こえる周波数の範囲であるという。例えば、CDのサンプリング周波数はが約40kHzであるのは、この20kHzの倍だからである。つまり、ナイキスト周波数による。
 もし、ある高さの「ド」の1オクターブ下、そのまた下、...それだけでなく、1オクターブ上、そのまた上...が一度になったら、人間の耳にはどう聞こえるだろうか。それは、やはり「ド」である。その時のスペクトルはこんな感じである。なお、横軸は2をベースにした変形の対数軸である。また、実際には「ド」ではない。
音の画像スペクトル(水色が人間の耳に聞こえる範囲)

それでは、そのような「レ」が鳴ったとしたら?もちろん、それも「レ」である。そのようにして、「ドレミファソラシド」とやるとどうだろう?最初の「ド」と最後の「ド」は全く同じになっている。しかし、人間の感覚としてはどんどん音の高さが上昇していくように感じる。これが無限音階の仕組みである。
 図で示すとこのようになる。なお、下の図中で水色は人間の耳に聞こえる周波数領域である。また、振幅はたんなる相対値である。

上昇していく音
最初の音
少し高くなった音
もっと高くなった音
もっと、もっと高くなった音
もっと、高くなると、元に戻っている
上昇し続けるように見えて、結局同じ所を回っているだけである。

作成した無限音階

 今回は12音の平均率音階を用いている。音階そのものについては「音階について考える」という別の話である。また、基本波形としては正弦波を用いている。20Hz以下の正弦波を基本波形として、その倍音を20kHz超まで均等に足しあわせたものをただ作っただけである。正弦波を用いたのは話を単純化するためである。
 ここに今回作成したMathematicaのNoteBookを置いておく。また、下が作成する途中のデータである。どこか間違っているような気もする。少し不安だ。
左図は基底となる周波数を示す。X軸が周波数、Y軸が何倍音かを示す。右図は平均率の音階。440HzのAから1オクターブ上のAまで。
作成した音声データの波形 (左が全波形、右はデータの最初の1000個)
 聞く際の注意だが、音声再生ソフトの設定を「自動繰り返し」にして欲しい。

 さて、これが作成した無限音階である。それっぽく聞こえるだろうか。

1998-12-23[n年前へ]

流れている電子メールを解読してみる 

目的のためには手段は正当化されるか?



 今月のC MagazineのNetWatch Cool&Hotはセキュリティ特集だった。その中でEthernetに流れているパケットの中からMailに関するデータを表示するソフトの紹介があった。もちろん、自分宛てのものだけでなく、他人宛ての物も全て表示するソフトである。
 こういったソフトの正しい使われ方というものがあるとは思えないのだが、技術的には興味がある。ネットワークに関する勉強もしてみたかったので、同じようなことをしてみたい。

 言うまでもないが、今回の実験は家庭内のLAN内ですべて行っている。ただし、メールサーバーは外部のものを使用してはいる。

 自分宛てでないパケットを見る(sniffing)にはイーサーネットのインターフェースをプロミスカス・モードで動かしてやれば良いという。UNIXであればtcpdumpを始めとしていくつもフリーのソフトがある。Windows上で動かすことを考えても、いくつかのフリーソフトがあった。また、OpenDesighnNo.10にプログラミングの例があった。OpenDesighnはソース配布がディスクでしか行っていないのが残念だ。

 今回はWindows上でプロミスカス・モードでパケットをダンプしてくれるソフトを用いた。普通に探せば、すぐに見つかると思う。

 それでは、流れているパケットを見てみる。パケットのダンプ画面には部分的に伏せ字を入れた。また、ユーザー名やパスワードはオリジナルとは違う文字に入れ替えてある。

 LANに繋がっているLibretto50でメールサーバーに対してメールチェックを行った際に流れたパケットを同じネットワークに繋がっているPortege320で読み取ったものの一部が下のものである。

Packet No.: XX00000005Time: 0361530480 msec Length: XX
Ethernet Dest: XX.00.F4.5F.2D.F8 Src: XX.00.24.30.08.ACType: 0x0800
000000: XX XX XX 5F 2D F8 XX XX : 24 30 08 AC 08 XX XX XX..._-...$0....E.
000010: XX 34 58 05 40 XX XX 06 : B3 C2 AC 12 XX 02 D2 E6.4X.@. ..... ...
000020: B0 01 04 XX XX 6E XX 2C : 14 F7 XX AE 43 03 XX 18...f.n.,....C.P.
000030: 22 0B 98 18 XX XX XX XX : XX XX XX XX XX XX XX XX".....USER john
000040: XX XX:................

Packet No.: XX00000006Time: 0361530540 msec Length: 88
Ethernet Dest: XX.00.24.30.08.AC Src: XX.00.F4.5F.2D.F8Type: 0x0800
000000: XX XX 24 30 08 AC XX XX : XX 5F 2D F8 08 XX XX XX..$0....._-...E.
000010: XX 4A E0 27 40 XX EE 06 : 5D 89 D2 E6 B0 01 AC 12.J.'@...].......
000020: XX 02 XX 6E 04 XX XX AE : 43 03 XX 2C 15 03 XX 18..n.f..C..,..P.
000030: 22 XX 24 26 XX XX 2B 4F : 4B XX XX XX XX XX XX XX"8$&..+OK Passwo
000040: XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XXrd required for
000050: XX XX XX XX XX XX XX XX :john...........

Packet No.: XX00000007Time: 0361530550 msec Length: XX
Ethernet Dest: XX.00.F4.5F.2D.F8 Src: XX.00.24.30.08.ACType: 0x0800
000000: XX XX XX 5F 2D F8 XX XX : 24 30 08 AC 08 XX XX XX..._-...$0....E.
000010: XX 37 59 05 40 XX XX 06 : B2 BF AC 12 XX 02 D2 E6.7Y.@. ..... ...
000020: B0 01 04 XX XX 6E XX 2C : 15 03 XX AE 43 25 XX 18...f.n.,....C%P.
000030: XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX!./...PASS 12345
000040: XX XX XX XX XX:678.............

 このダンプ画面を眺めると、次のような

 Libretto:私はjohnですがメールチェックをさせて下さいな。
 サーバー:じゃぁ、johnさんのパスワードを言って下さい。
 Libretto:12345678です。
過程がよくわかる。パスワードの認証を「通常のテキストそのまま」で行っているため、パスワードが丸見えである。

 もう少し、各パケットの内部がどうなっているかを考えてみる。
ネットワーク・プロトコルとは何か(TCP/IP を例として) (http://www.kobe-u.ac.jp/~ipc/mage/mage24/terashima/terashima.html)

IPパケットの構造について(http://www.dtinet.or.jp/~torao/program/)

Hey!Java Programming! (http://www.dtinet.or.jp/~torao/program/protocol/pop3.html)

を参考に考えてみた。 例えば、先のイーサーネットに流れているメールに関するパケットの中からメールの内容を見るにはどうしたら良いだろうか。

 ひとまず、先頭54Byteと末尾2Byteを捨ててやればTCPの部分だけを取り出せて、良いように思える。また、TCPのポート番号のみでフィルターをかけてやれば、任意のプロトコルのみを取り出すことが出来るだろう。多分。ここでは、47,48Byte目か?

 そのようなフィルターを作成し、取得したパケットにかけてみたのが以下である。

. RETR 1 +OK 771 octets Received: from xxxx (xxxx.xxxx.ne.jp[xxxx.xxxx.251.14])
by xxxx.xxxx.ne.jp (xxxx.xxxx.1/3.7W) with SMTP id xxxx
for <xxxx@xxxx.ne.jp>; Wed, 23 Dec 1998 11:20:54 +0900(JST)
Message-ID: <xxxx@xxxxxxxx>
From: "xxxx" <xxxx@xxxx.xxxx.xxxx.xxxx>
To: <xxxx@xxxx.ne.jp>
Subject: test 試験
Date: Wed, 23 Dec 1998 11:43:38 +0900
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
Content-Type: text/plain;
charset="iso-2022-jp"
X-UIDL: 57c82a0ae2ea513ae1221c507123f459

This is a test.
これは日本語です。
さて、読めるでしょうか。

. DELE 1 +OK Message 1 has been deleted. QUIT +OK +OK Popserver at xxxx signing off. +OK

 見事にメールの内容が見えてしまう。
 今回はWindows上で全て行った。難しい所はあまりなかった。ネットワークのことなんかほとんど知らない私でも1から始めて半日で出来たのだから、きっと誰でも出来てしまうだろう。それにUNIX上であればツールは全て揃っているようだ。

 他人のメールの内容を見るのは私的利用であれ、公的利用であれ、許されるとは思えない。また、例えネットワーク管理者が行うにしても、「メールを盗み見する」という予告・了解なしに行って良いとは思えない。先のメールの内容を盗み見するソフトにどんな正当な使い方があるのだろうか?

1999-01-19[n年前へ]

小人閑居して... 

情報をポケットに入れて持ち歩きたい

ラテン語入門(http://www.hiei.kit.ac.jp/~taro/latin.html)

The Internet DictionaryProject (http://www.june29.com//IDP/IDPsearch.html)

によれば、「学者=scholar」はギリシャ語の「スコレー」を語源にしているという。語源を素直に訳せば、「暇人」となる。その中で、真理のために学ぼうとする人を「スコレー」と呼ぶのだという。
 また、教育する=educateはラテン語でerudioであり、 「外に引き出す」を意味するという。生徒一人一人の中に潜んでいる才能を外に引き出す、というのが本来の意味であるという。なんとも、深い意味である。

 とは言っても、昔のギリシャ人とは私は違う。「小人閑居して...」、と言う通りである。そこで、反省のために、「暇な時には真理を学んでみる」ことにした。といっても、何かを覚えるというのは面倒くさいし、無意味でもあるので、ポケットに情報を入れて持ち歩くことにした。

 今回使う道具は

である。InterGetで自動巡回してダウンロードしたさまざまな情報をPalm-sizePCであるCASIOE-55の中に入れて持ち歩こうというわけである。CASIO E-55には30MBytesのCF(コンパクトフラッシュ)カードが挿してあるので、容量には結構余裕がある。

InterGetの動作画面

Palm-size PCの便利な点であるmobile channelを自分で作成してやれば、更新も自動化できてとても便利なのだが、CFカードの領域にchannelのファイルを作成するやり方が分からなかったので、ひとまずあきらめた。大切なRAM領域を食いつぶす訳にもいかないだろう。

毎日のmobile channnel

mobile channelを自分で簡単に作成するためのMobile Channel Wizard
http://www.microsoft.com/windowsce/downloads/pccompanions/mcwizard.asp
からダウンロードすることができる。いずれ自分用にチャンネルを作成してみたい。

 まず持ち歩いてみたい資料は、RICOH情報通信研究所 有志による
英語技術文献の日本語要約(http://www.ricoh.co.jp/rdc/ic/misc/abs_club/index.html)
が面白くて良い。ここから、

  • Science
  • Computer Vision and Image Understanding
  • Graphical Models and Image Processing
  • IEEE Multimedia
  • IEEE Software
  • IEEE Transactions on Pattern Analysis and Machine Intelligence
といった雑誌のアブストラクトの和訳を読むことができる。有り難いことだ。まずは、Scienceでも持ち歩くことにする。
Scienceのアブストラクトを表示している。

 このボディーの中に1995-1999のScienceのアブストラクトが詰まっているのである。
 あと、ゲームも...

1999-05-09[n年前へ]

fvion.icoの正体? 

不思議なログファイル

 週間ASCIIを読んでいると、InternetExplorerにユーザーのプライバシーを侵害するような機能があることが新たにわかった、という記事が載っていた。その記事中ではfavicon.icoというファイルがカギであるらしい。favicon.icoというファイル名を見てびっくりした。

 本WEBサイトが立ち上がった当初から、ログファイル中に「favicon.icoという謎のファイルを探したが見つからない」というエラーが出ていた。例えば、最近のLogで示してみると、

Top 10 of 25 Documents Not Found

RankURLAccesses%
1/dekirukana/screensave/Image.lzh3930.23
2/dekirukana/toolplus/toolp.gif2015.50
3/robots.txt1612.40
4/favicon.ico1410.85
5/~sgsc793/index.htm64.65
6/dekirukana/java/index_e.html53.88
7/dekirukana/probe/index_e.html53.88
8/dekirukana/server/favicon.ico21.55
9/dekirukana/java/JypewriterBeanInfo.class21.55
10/dekirukana/onkai2/www.natinst.com21.55

となる(それは別にしてメンテしないといけないファイルがある...)。

そんなファイルは使用してもいないし、リンクしてもいない。不思議だったので、Infoseekなどでfavicon.icoを検索してみると、他のWEBサイトのログファイル中でも同様のエラーログが生じていることはわかった。しかし、その時はそこまでしか考えなかった。その時は、favicon-> Famiconかな?というような安易な発想しかしていなかったのだ。その時に、favicon-> favorite iconと気づくべきであった。そうすれば、何が起きているかもう少し把握することができたはずだ。あるいは、納得するまで止めるべきではなかった。

 こんな反省はおいておいて、とりあえず、週間ASCII中に紹介されてた詳しい記事のリンクを追ってみることにした。

 まずは、
http://www.hotwired.co.jp/news/news/technology/story/2322.html
で概要がわかる。さらに、
http://msdn.microsoft.com/workshop/essentials/versions/ICPIE5.asp
でMicrosoftのもう少し詳しい技術紹介がされている。以下のような内容である。

 ユーザーが「お気に入り(favorites)」にあなたのサイトを登録した場合に、ユーザーが使っているブラウザーの「あなたのサイトへのリンク」の横にロゴを表示させたいと思うなら、favicon.icoという名前のファイルをあなたのドメインのrootディレクトリにおけば良い。InternetExplorerは自動的にこのファイルを探して、全てのお気に入りとクイックリンクの横にアイコンを表示させる。
 もしも、rootディレクトリにfavicon.icoを置くことができないのならば、次のようなタグをページ中に加えることで、他の場所に置くことができる。

<LINK REL="SHORTCUT ICON" href="/path/foo.ico">

また、次のようなスクリプトを使うことで、InternetExplorerのユーザーにあなたのサイトを自動的に「お気に入り」に登録するように促すリンクをつけることができる。

<SCRIPT>
<!--
if ((navigator.appVersion.indexOf("MSIE") > 0)
&& (parseInt(navigator.appVersion) >= 4)) {
document.write("<U>
<SPAN STYLE='color:blue;cursor:hand;'
onclick='window.external.
AddFavorite(location.href, document.title);'>
Add this page to your favorites</SPAN>
</U>");
}
//-->
</SCRIPT>

 そこで、実験してみることにした。まずは、favicon.icoを作成し、サーバーに置く。また、本ページのトップに
<LINK REL="SHORTCUT ICON" href="/dekirukana/favicon/favicon.ico">
を記述しておく。そして以下に「お気に入りに追加するためのリンク」を貼り付けておく。ただしMicrosoftInternetExplorerのバージョン4.0以降でないとこのスクリプトは見ることができない。
 さて、このリンクをクリックし、お気に入りに追加する実験を行ってみた。しかし、何故かアイコンは表示されなかった。これは手動で「お気に入りに追加」してみても同じである。何故か報道されているようにはならない。私がどこか間違えているのかもしれない。もう少し調べてみる必要があるだろう。

念のために書いておくが、今回のこのページ(http://www.hirax.net/dekirukana/favicon/index.html)はお気に入りには追加しないで欲しい。変なアイコンが出る、と言われても困る。ただし、文句でなくてアドバイスであれば大歓迎である。

ところで、このサイトを気に入る方がいらっしゃれば、TopPage(http://www.hirax.net/)で登録して欲しい。このTopページならば安心である。

 と、書いたがTopのページにアイコンを置いて見ることにした(1999.08.31)。前は、バーチャルドメインの設定のせいなのか、上手く動作しなかったが、現在は専用のサーバーを使用しているせいかうまく動いている。IE5以降のユーザーにしか影響は無いから特に害はないだろう。

1999-09-23[n年前へ]

MiosoftはApple株でいくら儲けているか? 

価値観は線形なままで



 ユング心理学では因果関係が無い偶然の一致を「シンクロニシティ(共時性)」と呼ぶ。いろいろ意見の違いもあるだろうが、私は「シンクロニシティ(共時性)」は結局偶然のせいではなく、世の中の流れの要請による必然なのではないかと思うのである。
 と、いきなり訳のわからない話だが、今回の話は「今日の必ずトクする一言」の

と似て非なる話である。まず話は、「今日の必ずトクする一言」のwebmaster氏からメールを頂いたところから始まる。「株価表示グラフで値の軸を対数軸にできないか」、というものである。そこらへんのこと、及び、詳しい考察は「対数軸証券グラフのナゾ」を読んでもらいたい。というわけで、今回の話は残念ながら「シンクロニシティ」ではないのであった。

 ともあれ、webmaster氏のメールのおかげで、株価の値軸が妙に頭に残る最中に、私は「MicrosoftはApple株でいくら儲けているか?」という疑問が沸いて、Appleの株価を見に行ったのである。何しろ、MicrosoftはAppleの大株主である。

最近1年間のAppleComputerの株価変動(左)とアップルコンピュータの株価変動(右)

 一見似ているように思える。しかし、よく見てみると軸が違っている。左のAppleComputerの株価変動は対数軸で表されている。「株価表示グラフで値の軸を対数軸にできないか」という言葉が頭にあったせいで気づいたわけだ。そこで、この違いが新鮮で「今日の必ずトクする一言」のwebmaster氏への返信に至ったわけである。

 それでは、左のAppleComputerの株価変動をリニアな軸に変換してみよう。

対数軸のAppleComputerの株価変動(左)とリニア軸のAppleComputerの株価変動(右)

 印象が全く違う。右の線形軸のグラフは値軸の間隔が等間隔になっているのがわかると思う。それに対して対数軸で表されている右側は上に行くほど間隔が短い。右の線形軸では株価が急激に上昇しているのが実感できる(私は)。株取引的な考察は「対数軸証券グラフのナゾ」の方にあるので、ここでは本題の「MicrosoftはApple株でいくら儲けているか?」に戻る。

 さて、このグラフのようにApple株は急上昇中なわけで、問題の「MicrosoftはApple株でいくら儲けているか?」であるが、97/08/08当時の13ドル前後の株価で一億五千万ドル分のApple株を買っていたとしたら、現在は80ドルくらいであるから、およそ6倍。すなわち、一億五千万ドルから九億ドルになっていることになる。うーん、たまらん。800億円近い差が有る(線形的な発想)。

 さて、最初の疑問はこれで解決したのだが、わが「できるかな?」でも株価の軸の

  • 対数軸
  • 線形軸
の違いについて考えてみたい。いや、株価というよりは価値観と言い換えたほうが良いかもしれない。私は経済オンチである。株価の売買はしたことがない。すると、金銭に関する軸は線形軸が自然なのである。「hogehogeが何倍になった」というのが自然にわかるからである。しかも、単位は100円位なのだ。
 日頃、実験を行っている時などは
「たかだか一桁の変化だろう。」
などと対数軸の感覚に支配されているのであるが、こと経済になると線形軸の感覚に支配されるのである。これは私が貧乏であるからかもしれない。1万円はどんなときも1万円なのである。10万円と11万円の違いも、100万円と101万円の違いも同じなのだ。これが一億円と一億一万円でも同じである。何しろ、そんなお金と無縁なのである。であるから、貧乏な金銭感覚をそのまま線形で延長してしまうのである。「金銭に関する差の感覚」といってもよい。

 これは人によっても違うだろう。私と違うブルジョアジーな人であれば、例えば、車を買うときに

「300万円の車を買うから、30万円のカーナビを一緒に買っても誤差みたいなものだ。」
という人もいると思う。また、「一億円と一億一万円は同じだ」と言うだろう。これなどは経済に関する対数軸の感覚の一種だと思う。この人は「金銭に関する比の感覚」を持つ人である

 さて、こういうことを考えていくと、金持ちの1万円と私の1万円は価値が違うことにいまさらながら気づくのである。私は1万円もらったら大喜びだ。しかし、同じだけビル・ゲイツを喜ばせようと思ったら、九億ドル位は必要だろう。そういうことを考えると、経済社会は実に対数軸である。いや、むしろ世の中が対数軸だと言ったほうが良いだろうか?

 今回の話とやはり似て非なる話がロゲリギストの「第四物理の散歩道」の「理解の形式」に述べられているので、興味の有る方は読むと面白いと思う。

 さてさて、同じ題材をとってみても経済オンチの私が作る「できるかな?」は「「対数軸株価グラフのナゾ」」とは違い、ずいぶんと変な話になってしまったようである。しかし、それが個性というもの。みんなが同じではつまらない。

ともあれ、価値観に対する評価軸は線形軸の方が良い、と思う私であった。



■Powered by yagm.net