目次
前のページ
2017-02-11 リチャード・ハミング 誕生日(1915)
2017-02-13 ウイリアム・ショックレー 誕生日(1910)
2017-02-16 パソコン通信が生まれた日(1978)
2017-02-20 ケン・オルセン 誕生日(1926)
2017-02-21 在庫処分
2017-02-28 コアメモリ特許 成立(1956)
2017-03-05 レイ・トムリンソン 命日 (2016)
2017-03-06 アダム・オズボーン 誕生日(1939)
2017-03-07 スティーブン・クーンズ 誕生日(1912)
2017-03-08 ラルフ・ベア 誕生日(1922)
2017-03-09 BSD 初リリース日 (1978)
2017-03-10 QV-10 発売日(1995)
2017-03-15 世界最初のドメイン登録(1985)
2017-03-16 タネンバウム教授(1944) ストールマン(1953) 誕生日
2017-03-22 2つの特許の出願日(1971)
2017-03-28 X68000 発売日 (1987)
2017-03-30 ルータ不調
2017-03-31 西角友宏さん 誕生日(1944)
2017-04-07 プラスとピリオドの取り違え
2017-04-14 フィル・カッツ 命日(2000)
次のページ
今日は、リチャード・ハミングの誕生日(1915)
プログラミング…というより、情報理論をやったことのある人は、「ハミング符号」を聞いたことがあるかもしれません。
その考案者です。
他にも、ハミング距離やハミング重み、ハミング窓やハミング数など、彼の名がついた概念は多数。
ハミング符号については後で説明しようと思いますが、ハミング距離・重みは、ハミング符号に関連した概念。
ハミング窓は、通信における周波数特性などの問題改善に役立つ概念。
(応用は幅広いのですが、例えばインターネットで高速な通信ができるのは、こうした概念のおかげです)
ハミング数は、1,2,3,5 の掛け算だけで作られる数。
1,2,3,4,5,6,8,9,10,12,15... などです。
10,12,60 などを含むため、よく使われる「 n 進法」との相性が良い数値になります。
実は、昔からこれらの数は特別視されていたのですが、ハミングが「効率よくこれらの数字を作り出すアルゴリズムを求めよ」という問題を出したため、ハミング数とも呼ばれるようになりました。
#この問題に対する最初の一般解は、ダイクストラが出したようです。
さて、ハミング符号について説明しましょう。
大学の時に情報理論の講義でこれを知って、感動しました。
1980年代のパソコン少年にとって、「チェックサム」は見慣れたものでした。
雑誌に載っているプログラムには数値データが延々と続く場合があって、入力の際にどこか1カ所間違えただけで、プログラムは動かなくなってしまう。
でも、人間だから打ち間違いは当然生じます。
このミスを防ぐのがチェックサム (check sum) で、当時の雑誌プログラムではお馴染みでした。
sum は「集計」の意味。数値を全部足したものです。
例えば、メモリ上の 16進数を延々と打ち込むのだとしたら、16byte ごとに「全部足して、下1byteだけを取り出した数値」がついている。
数値を打ち込むためのツールの方にもチェックサムを表示する機能があるので、合っていれば打ち間違いはありません。
でも、打ち間違いがある、とわかった時には、どこが間違っているのかを自分で探し、訂正する必要がありました。
同じように「パリティ」という概念もあります。
こちらは、1byte とか 1word の範囲内でのチェックサムのようなもの。
1byte は 8bit ですが、この 8bit を、すべて XOR します。
XOR っていうのは、「2つのビットが違っていれば 1、同じなら 0」という単純な計算で、回路も簡単に作れます。
これを、8bit 分全部行います。
結果は「8bit 中、1のビットが奇数個あれば 1、偶数個なら 0」です。
この結果を「パリティビット」と呼びます。9bit 目として保存しておきます。
再びこのデータを使うときにも、同じようにデータ部分からパリティビットを求め、保存してあった結果と比較します。
合っていれば、データは壊れていません。大丈夫。
壊れていたら? …コンピューターに異常があった、と信号を出して、緊急停止でしょうね。
計算はやり直しですが、間違った計算を延々と続けて気づかない、というよりは良いでしょう。
このやり方だと、8bit のデータごとに 1bit のパリティが必要になります。データを保持する、という意味では、1/9 の無駄。
でも、16bit で 1bit のパリティ、でも構いません。それなら無駄は 1/17 です。
ただし、間違いが起きた個所を特定したい、と考えたときには、「8bit のどれか」まで絞り込めるか、「16bit のどれか」になるか、という違いがあります。
無駄を少なくすると、場所の特定はしにくくなるのです。
ここら辺までは「間違いがないかチェックしよう」という話です。
でも、ハミングが考案した「ハミング符号」(1950)はちょっと違いました。
「間違いがあるなら、直すところまでやってしまおう」というのです。
ハミング符号では、全体の長さに決まりがあります。
必ず、2^m-1 bit にならなくてはなりません。
7 とか 15 とか、今のパソコンで扱うにはちょっと中途半端な単位。
そして、この長さの中に「データ」と「誤り訂正符号」が入ります。
誤り訂正符号の長さは、m です。ということは、全体から mを引いたのが、使えるデータ部分。
全体が 7bit の場合、データが 4bit 、全体が 15bit なら、データは 11bit になります。
話を簡単にするために、ここでは 7bit で考えてみます。
データは 4bit あるので、それぞれのビットに小文字で名前を付けます。
abcd 、としましょう。
誤り訂正符号は 3bit なので、ABC とします。
誤り訂正符号は、全体の中の 1,2,4,8 ... 番目に入っているとします。
全体のビットの並びはこうなります。
ABaCbcd
これで 7bit です。
a は、3番目、2進数で書くと 011 番目に並んでいます。
b は、5番目、2進数で書くと 101 番目です。
c は、6番目、2進数で書くと 110 番目です。
d は、7番目、2進数で書くと 111 番目です。
A は、並び順の最下位ビット…1の位が 1 だった部分のビットのパリティです。
B は、2の位が 1だったビットのパリティ、C は、4 の位が 1 だったビットのパリティです。
XOR を + で表現することにすると、
A = a+b+d
B = a+c+d
C = b+c+d
となります。
これで計算終了。簡単です。
データの 4bit が、 1010 だったとしましょう。
全体の 7 bit は、次のようになります。
1011010
どこか 1bit がおかしくなったとしましょう。
例えば、先頭がおかしい。
先頭は誤り訂正符号ですから、データ部に影響はないです。
そして、データ部から「誤り訂正符号」を求め直すと、パリティ A が間違っている、ということが分かります。
ここで、A が 1の位、B が 2の位、C が 4の位の2進数(つまり CBA と並んでいる)と考えます。
「違った部分」を 1 、正しい部分を 0 として考えると、2進数で 001 という数値が現れます。
これが「1番目のビット」、つまり A が誤っている、という意味になるのです。
今度は、データ部分である a が間違っている、と考えましょう。
誤り訂正符号の計算式をもう一度書きます。
A = a+b+d
B = a+c+d
C = b+c+d
a の部分がおかしいのですから、A B が変化します。
すると、誤り訂正符号は 011 番目…つまり3番目のビットがおかしいことを示すようになります。
3番目のビットというのは、まさに a のことです。
bit の値は 0 か 1 しかないので、「誤っている」のであれば、反転すれば訂正できます。
これで訂正完了。
同じように、どこのビットを変えても、正しく誤りの位置を示します。
数学的に検証してみると、A B C はそれぞれ、ただのパリティにすぎません。
しかし、パリティを取る bit を巧妙に絞り込んであります。
そのため、A B C の誤り検出が、そのまま誤りの「位置」を示せるようになっているのです。
これにより、ハミング符号では、1bit が間違えていても正しく訂正できます。
ここでは、全体が 7bit でした。
誤り訂正符号は 3bit だから、8つの状態があるのだけど、エラーがない場合は「0」になるので、位置を示すのには使えない。
だから、残りの「7つ」の状態で、7bit の位置を示すのです。
これが、全体が 7 とか 15 とか、中途半端に見える長さになってしまう理由。
2進数の性質をうまく使い、非常に巧妙にできています。
大学生の時にこれを知り、ちょっと感動しました。
ちょっと話は違うのですが、室町時代から伝わる手品で、「目付字」というものがあります。
後から知ったのですが、これが、2進数の性質を巧妙に使ったもので、知った時に「ハミング符号」を思い出しました。
本当に、全く目的は違うし、やっていることも違う。
だけど、2進数の性質を同じように応用したトリック。
詳しく知りたい人は、上のリンク先を読んでみてください。
こういう数学トリックを思いつく人はすごいなぁ、と思います。
ハミング符号では、2bit 以上間違えると、誤りを訂正しようとして失敗します。
これを防ぐ「拡張ハミング符号」というのもあります。
「1bit のパリティを付加し、誤りが 1bit か 2bit かを検出できるようにしたもの」です。
長くなるので詳細は省きます。これ以上知りたい人は自分で調べて。
今ではハミング符号よりも巧妙でよくできた誤り訂正符号もあります。
でも、誤りの「検出」しか考えられていなかった頃に、最初に「訂正」という概念を作り出したのは、ハミング符号なのです。
最初にやってみせた、というすごさは、いつまでたっても変わりません。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、ウィリアム・ショックレーの誕生日(1910)
トランジスタ効果の研究により、ノーベル物理学賞を受賞した人です。
トランジスタは、今ではコンピューターの最も基礎的な回路に使われる素子。
彼が研究所を設立した地は、周辺に同業他社が増え、今では「シリコンバレー」と呼ばれています。
ショックレーの伝記とか見ると、どうもアスペルガーだった印象を受けます。
大天才なのだけど、変人で扱いにくい。常に自分が正しいと思い込んでいる。
トランジスタの発明者、として知られているのですが、実は発明者は別の人です。
彼は、発明者もいたグループの「マネージャー」で、彼自身の提案による実験は失敗していました。
でも、自分の失敗したアイディアを改良して成功したのだ、と言い張り、自分こそが発明者だと言い張った。
これで世間からも彼が発明者だと思われるようになってしまい、一緒に研究していた科学者は、彼の元を去っています。
もっとも、誰が発明したかはともかく、それを使いやすく改良し、「現代の形の」トランジスタを作り上げたのは、彼の業績です。
ノーベル物理学賞は、一緒に研究していた科学者との共同受賞でした。
さて、時間を巻き戻して最初から話を進めましょう。
第二次世界大戦は、「無線機」が活躍した戦争でした。
それまでは情報は伝書鳩などで伝えられていましたが、無線によって通信されるようになったのです。
#無線電波は敵側にも簡単に傍受されてしまうので、暗号技術も進みました。
こちらの話も面白いのだけど、今は関係のない話。
さて、第二次大戦中に問題となったのは、無線機の中で使われる「真空管」の扱いにくさです。
真空管は、無線にとって必要な「整流器」と「増幅器」の両方で使われます。
しかし、ガラス管で作られていて、大きく重いうえに、割れやすいのです。
整流器に関しては、「ゲルマニウムダイオード」の発明により、真空管ではなく、小さな素子をつかえるようになりました。
しかし、増幅器は相変わらず真空管が必要でした。
第二次大戦後、整流器をダイオードに置き換えられたように、増幅器も小さな素子に置き換えられないか、と研究が行われます。
ショックレーの率いるチームでもこの研究を行っていました。
しかし、ショックレーの試してみた方法では、増幅作用はおきませんでした。
その後、別の研究者が、ダイオードに対して3本目の電極をわずかに接触させることで、増幅作用を生むことを発見します。
今では「点接触型トランジスタ」と呼ばれるものなのですが、大発明でした(1947/12)。
大きくて重く、動作電圧が高くて動き始めるまでに「暖機運転」が必要な真空管と同じような動作を、小さく軽く、低い電圧で、すぐ使えるのです。
先に書いたように、ショックレーはこれを自分の発明だと主張します。他の人が発明したのに。
…結局、ベル研究所としてはこの主張を認めず、彼は特許書面に名を連ねることができませんでした。
その後の彼は、いつか自分単独の名前でトランジスタの特許を出す、と公言し、さらなる改良に励みます。
そして、僅か 5週間後に、接合型トランジスタを発明します(1948/1)
点接触型トランジスタは、針が「わずかに接触する」ことが大切です。
作るのにも微妙な感覚が必要で、使っていても壊れやすいものでした。
それに対し、接合型トランジスタは、量産も簡単で壊れにくいものでした。
彼の望み通り、単独の名前で特許出願が行われています。
トランジスタは無線用に開発されたものでしたが、数年後にはコンピューターが作られ始めます。
いわゆる「第2世代コンピューター」です。
先に書いたように、ショックレーは人の気持ちを考えない強引な性格で、一緒に研究していた科学者は彼の元を去りました。
マネージャーとしては失格です。ベル研究所でも、彼は昇進できずにいました。
ショックレーは、友人に支援されて「ショックレー半導体研究所」を設立します。
しかし、ここでも彼は傍若無人にふるまいます。
すぐに部下を疑い、脅し、信頼しようとはしません。
そんな環境で良い研究が進むわけがありません。
研究所では、シリコン基板の上に半導体を生成する技術…「集積回路」の作成方法について研究が行われていました。
これは非常に難しい挑戦で、なかなかうまくいきません。
とはいえ、研究者たちの間では「あと一歩で成功する」という確信がありました。
しかし、ショックレーはこの研究の打ち切りを決めます。
これに反発し、8人もの研究者が一斉に研究所を辞め、新たな会社を近くに作りました。
これが、世界初の集積回路を生み出した会社、フェアチャイルド・セミコンダクターです。
この顛末は、ロバート・ノイスの誕生日に書いています。
晩年のショックレーは、人種差別主義者でした。
具体的にいえば、優生学…子孫を残すに値する、頭の良い人間だけが子孫を残せるようにし、頭の悪い人間を去勢すべきだ、という考え方です。
これ自体は「頭の良さ」だけが指標であり、「人種」差別的ではありません。
もっとも、頭の悪いやつは子孫を残すな、と言っていること自体が差別的で、人権無視ですが。
彼は持ち前の科学的な分析能力を使い、さらに論を展開します。
それによれば、子供の数と知能指数の間には相反する関係があるそうです。
つまり、「頭が悪い人ほど子供を多く残す傾向にある」というのです。
さらに、職種や人種による子供の数を比較し、黒人は子供が多い、つまり頭が悪いのだから積極的に去勢すべきだ、という論に繋がります。
これ、統計データとしてはおそらく正しいと思いますが、その理解はおかしいです。
今の日本もそうですが、社会的な地位を高めようとするとキャリアを積む必要があり、晩婚化が進みます。
また、差別や偏見によって地位を高めようがない場合、キャリアを積む必要もないので早婚になり、子供を多く残します。
そして、知能指数は絶対的な「頭の良さ」ではなく、そうしたテストに対する経験も影響します。
キャリアを積んだ人は数字が高く出がち、というだけのこと。
でも、ショックレーはこの主張を行うことが自分の生涯の務め、と信じて、いろいろなところで論を展開しました。
ノーベル賞学者の論ですから、雑誌などでも面白おかしく紹介されるのですね。
もちろん、その考え方がおかしい、ということの揶揄も含めて。
ショックレーはどんどん孤立していき、妻以外の家族と疎遠になっていきます。
彼が死んだとき、彼の子供ですら、死んだことをマスコミの報道で知ったのだそうです。
最初に書いたように、おそらくはアスペルガー症候群。
知能は非常に優れ、世界を変えるような天才性を発揮します。
その一方で、自分だけが正しいと信じ、人の気持ちを察するなんてできない。
世界を変えた人なのに…いや、名声が高まりすぎたが故の、寂しい末路に思います。
同じテーマの日記(最近の一覧)
関連ページ
ハンス・アスペルガー 誕生日(1906)【日記 17/02/18】
ケン・オルセン 誕生日(1926)【日記 17/02/20】
ケン・オルセン 誕生日(1926)【日記 17/02/20】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は「パソコン通信」が生まれた日(1978)
当ページでは、古いコンピューターの話題も多数取り上げています。
だから、いわゆる「コンピューター通信網」は、これよりずっと前からあったよ、と言わないわけにいきません。
でも、1978 年の今日、「パソコン通信」が生まれたのです。
インターネットの前身となる ARPANET は、1969年には生まれています。
「テレタイプ」同士を電話線で繋げて通信を行うのはもっと昔からありました。
そして、テレタイプはコンピューターの入力機器としても使われました。当然、電話越しの利用もありです。
DEC の PDP-10 は1966 年に出荷されたマシンで、タイムシェアリング…複数のプログラムを同時に動かせる機能が特徴でした。
#今では複数のソフトが同時に動くなんて当たり前の話ですが、1990年代初頭までは一般的ではなかったのです。
このタイムシェアリング機能と、電話線越しのテレタイプ接続を使って、コンピューターを時間貸しするサービスが 1968年には存在しています。
1980年代には世界最大手のパソコン通信会社だった CompuServe も、1969年に創業したコンピューターの時間貸しサービスの会社でした。
とはいえ、コンピューターに電話線で接続してできることは、コンピューターのアプリケーションを利用すること、だけでした。
1975年、Altair 8800 が登場します。世界初の「パーソナルコンピューター」でした。
Altair は…作った MITS 社自身が売れるとは思っておらず、量産体制を整えてなかったため、入手困難な人気商品になりました。
そして、回路をほぼ丸ごと真似した「互換機」が大量に発売されることになるのです。
Altair の設計の特徴は、すべてを…CPU すらも、「周辺機器」と考え、それらを結び合わせるバスを巧妙に設計したことにありました。
このバスは S-100 バスと呼ばれ、互換機は S-100 コンピューターと呼ばれます。
シカゴに住むワード・クリスチャンセン (Ward Christensen) は、こうした互換機の内の一つを入手しました。
ワードは、近所のコンピューター愛好家の集会に顔を出すようになります。
Cicago Area Computer Hobbyists' Exchange、略称で CACHE と呼ばれる集会で、ランディ・スース (Randy Suess) と知り合います。
二人は打ち解け、仲の良い友達になりました。
1960年代末から普及し始めた「コンピューターの時間貸しサービス」は、電話回線越しにテレタイプやコンピューターを接続するための「モデム」を、一般的な電気製品にしていました。
コンピューターショップに買いに行けば、誰でも手に入れることができるのです。
ワードとランディは、この面白い機械を使えば、CACHE に顔を出して紙テープの受け渡しをしないでも、コンピューターのプログラムを交換できると考えました。
この頃の通信網というのは、それほど品質が高くありません。時々電気ノイズにより、ビットに「誤り」が起きるのです。
コンピューターの時間貸しを行っているだけであれば、それらは「文字が化ける」ことになります。
結果の数字が運悪く別の数字に化けたりすると困りますが、そんなに都合よく化けることはあまりなく、アルファベットなどに化けるので「おかしい」ことが分かります。
おかしいと思えば、再度計算させて確認することもできます。
しかし、コンピューターのプログラムで 1bit 間違える、というのは致命的です。
品質の悪い回線で、絶対にデータを間違えない転送方法を考案する必要がありました。
ワードは、300bps のモデムでデータ転送を行うための「MODEM」というプログラムを作り上げます。
128byte 転送するごとにチェックサムを送り、相手が「正しい」と信号を送ってくれば次を送ります。
もし「再送」という信号が来れば、同じ 128byte を送り直します。
これを最後まで繰り返せば、間違いなくバイナリプログラムを送ることができるはずです。
このプログラムは仲間内で話題となったようです。
それまで、パソコンは単体で使うもので、「電話線越しに接続する」なんて試みはなかったのですから。
やがて、パソコン同士を接続できるのであれば、みんなに伝えたいことなどを記録しておき、誰でも好きな時に確認できるシステムは作れないだろうか、という構想に発展していきます。
パソコンを相手とした留守番電話、というイメージでした。
ただし、メッセージは留守番電話の持ち主だけでなく、誰でも見ることができるのです。
とはいえ、構想だけでなかなか作成には入れなかったようです。
1978年1月中旬、シカゴは猛烈なブリザードに襲われました。
家の外に出るのもままならない状態。もちろん CACHE の集会にも顔を出せません。
しかし、家にいなくてはならないこの時間は、以前から考えていたプログラムを作る良い機会でもありました。
留守番電話のようなコンピューターを作るのであれば、普段使っている物とは別に、電話番専用の機械が必要になります。
ランディは、新しい S-100 コンピューターを組み立て始めました。
ワードは、MITS の 8K BASIC (ビルゲイツが作った Altair 用 BASIC)で、プログラムの試作を開始します。
試作段階では、メッセージはメモリ上にのみ残されました。
しかし、想定していたシステムは順調に動くようです。
ランディはさらにディスクドライブを入手して機械に取り付け、ワードは試作したプログラムを、アセンブラで作り直しました。
メッセージをディスクに残すために、CP/M 上のアプリケーションとなりました。
作業開始は、1月16日。
当初は2週間のつもりで作業していましたが、完成度を高めるためにさらに2週間の追加作業を行います。
そして、1978年の 2月 16日、システムは完成し、お披露目が行われました。
パソコン同士を接続し、メッセージを読んだり、新たなメッセージをみんなに見せたりできる。
コンピューター化(Computerized)された掲示板(Bulletin Board)のシステム(System)です。
頭文字を取って、CBBS と名付けられました。
世界で最初の、いわゆる「パソコン通信」 BBS と呼ばれるものです。
#C を、彼の属していたサークル CACHE の意味とする説もあるらしいが、彼自身が「CACHE は関係ない」と明言している。
ワードとランディは、自分たちの作成したシステムの概要を、Byte 誌に投稿します。
この記事は、11月号に掲載されました。
記事のタイトルは Hobbyist Computerized Bulletin Board。
記事中では、表記ゆれで Computerized Hobbyist Bulletin Board System になったり、単に Bulletin Board System になったりします。
実際に動作している画面イメージでは CBBS/CHICAGO とあります。
どうやら、これで「Bulletin Board System」、略して BBS 、というのが一般的な認識となったようです。
この後、BBS を名乗るシステムが多数同時発生します。
「パソコン通信」の時代が始まったのです。
ワードの作成したプログラム転送機能、MODEM は、後にプロトコルなどが改良されて XMODEM と呼ばれるものになりました。
後にもっと改良されたプロトコルが作られても、「パソコン通信ソフト」には、XMODEM で転送を行う機能があるのが普通でした。
パソコン通信のホスト側も、クライアント側も、すべてが対応する「最低限の共通プロトコル」だったのです。
#1990年代にはモデムが高機能化し、通信回線の品質も高まっていたので、Flying XMODEM とかありました。…何もかも懐かしい。
多くのパソコン通信は、インターネット接続が一般化した 1990年代にサービスを終了しています。
CBBS も、そのころ運用を終了しました。
しかし、BBS の精神は無くなっていません。
元々 BBS は、「草の根」と呼ばれる、友達や地域の人と話をするための小さなコミュニティが中心でした。
大手企業が運営しているものはあっても、それが文化の中心ではなかったのです。
インターネット時代には、小さなコミュニティは「CGI 掲示板」などの形で残され、現在の SNS にも影響を与えています。
同じテーマの日記(最近の一覧)
別年同日の日記
18年 Harley-Davidson & L.A. Riders
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、ケネス・ハリー・オルセン、通称「ケン・オルセン」の誕生日(1926)
コンピューターを大きく変えた会社、DEC の創業者です。
しかし、DEC 創業以前から、コンピューターを大きく変えるようなプロジェクトに多数関わっています。
「デジタル計算機」がすべて歯車式だった時代、デジタルは正確ではあるが遅いものでした。
いや、当時の計算機の一番重要な任務「弾道表」の作成に関しては、デジタルは遅いうえに不正確、でした。
弾道表の作成では、様々な条件で、多数の弾道を計算する必要があります。
そして、1本の弾道の計算だけで、動く弾の位置計算を、時間に沿って繰り返し何度も行う必要がありました。
速度が遅い、という理由から、少しでも計算を早くするためには、計算する「時間」の精度を荒くする必要がありました。
しかし、そうするとわずかな誤差が溜まってしまい、最終的には大きな誤差となるのです。
このため、第2次世界大戦中には「微分解析機」というアナログ計算機が開発され、活躍していました。
デジタルでも速度を上げれば十分な精度の計算ができるはず、と ENIAC が作成されますが、終戦には間に合いません。
まだ戦時中、アナログ全盛の時代に、マサチューセッツ工科大学(MIT)に海軍から「パイロットの養成のために」航空シミュレータの作成が依頼されます。
もちろん最初はアナログで作成しますが、要求された「本物の飛行機のような感覚」には程遠いものでした。
もっと複雑な計算を行う必要がありました。
しかし、アナログ計算機は「複雑な計算」においては、役に立ちません。
そして、デジタル計算機は「計算の速度」において、役に立たないのです。
このとき、まだ作成中だった ENIAC の噂が聞こえてきます。
デジタルでありながら、歯車を使わずに電気回路で計算を行う機械。
しかし、その予想される速度であっても、航空シミュレータの必要とする速度には足りません。
まだ完成もしていない ENIAC の技術面を参考にし、さらに高速化のための工夫が編み出されます。
最初に作られたプロトタイプが WhirlWind I でした。
真空管時代のものですが、いまでは「あたりまえ」とされるような技術を、多数最初に編み出したマシンです。
それ以前は、コンピューターは今とはかなり違うものでした。
WhirlWind 以前と以降で、コンピューターの姿が変わってしまったのです。
当時、ケン・オルセンは海軍研究局に在籍し、海軍の立場から WhirlWind I の作成プロジェクトに参加しています。
WhirlWind I は当時最高の性能を持つコンピューターでしたが、ただの「計算機」ではありませんでした。
グラフィックディスプレイとライトガンを備え、画面に図示した情報を「タッチ」することで操作できたのです。
航空シミュレーターを作る必要性からグラフィック機能が備えられたのですが、当時の「計算機」の概念を超える、対話できる機械でした。
ただ、このコンピューターを実現するための回路規模は膨大でした。
最終的に海軍ではなく空軍で使われるようになるのですが、量産された WhirlWind I … SAGE と呼ばれたシステムは、1台のコンピューターを「建設」すると、4階建てのビルが出来上がりました。
戦後、トランジスタが発明されると、真空管と同じようにトランジスタでもコンピューターが作れるのではないか、という可能性が示唆されます。
ただ、最新鋭の電子素子であるトランジスタは、非常に高価でした。
ケン・オルセンは、海軍を退役してMITリンカーン研究所に在籍していました。
そして、彼が参加した WhirlWind を参考としたマシンを、トランジスタで実現するプロジェクトの責任者となるのです。
しかし、先に書いたように、トランジスタでコンピューターが本当に作れるのか、まずはその確認から始める必要がありました。
そこで、最低限の機能だけに縮小したプロトタイプ機、TX-0 を作成します。
最低限…命令が、たった4つしかありません。でも、ちゃんとプログラムできます。
これはプロトタイプですから、狙いどおりに動作することが確かめられるとすぐに TX-1 の作成に掛かります。
…が、TX-1 は野心的過ぎて失敗。
責任者は交代して最終的に TX-2 が出来上がります。
実は、TX-2 ももう人間の手には負えない設計で、設計段階から TX-0 の計算力を必要としています。
そして、TX-2 の完成時点で、TX-0 は用済みになりました。
しかし、この「用済みのコンピューター」こそが、ケンの人生を、そして世界を変えていきます。
#TX-2 は、世界初の「コンピューターグラフィックス」を実現したことで有名です。
詳細はサザーランドの記事へ。
用済みの TX-0 は、MITに無償で貸し出されました。
MITにはすでに研究用の計算機として IBM 904 がありましたから、 TX-0 は学生が自由に使ってよいマシンとなりました。
そして、学生たちは TX-0 で自由に遊び始めます。
「計算機」のはずなのに、計算などさせず、絵を描いたりゲームを作ったり音楽を演奏したり。
ケンにはこのことが驚きでしたが、同時に「十分安くて自由に触れるのであれば、コンピューターの用途はずっと広がる」と気づきました。
ケンは、DEC社を設立。
当初は「装置」の名前通り、TX-0 や TX-2 の周辺機器をオーダーメイドで作っていました。
しかし、その裏で開発を進め、TX-0 を元としたミニコンピューター、「PDP-1」を作り出します。
ところで、DEC は Digital Equipment Corporation 、PDP は Programmed Data Processor の略です。
コンピューターを作っているのに、どこにも「Computer」の文字が入っていません。
これは、まだ広く知られておらず「一般人には関係のないもの」と考えられていた「コンピューター」の名前を使うことを、会社設立資金を提供したオーナーが嫌がったためです。
しかし、PDP-1 は明らかにコンピューターでした。
よく「世界初のテレビゲーム」と呼ばれる、「Space War!」は、この PDP-1 で作り出されています。
DEC は作る機械に順次番号を割り振っています。
そして、互換機もあれば、互換性のない機械もあります。
軍のオーダーで作られ一般販売しなかったものや、試作だけで終わったものもあります。
そのため、型番からでは互換性が分かりません。
PDP-1 は 18bit マシンで、4 7 9 15 が後継機。
PDP-3 は 36bit マシンで、6 10 が後継機。
PDP-5 は 12bit マシンで、8 12 が後継機。
PDP-11 は 16bit マシンで、後継機はシリーズ名も変わる「VAX-11」となります。
18 / 36 / 12bit って、今のコンピューターに慣れていると奇異に見えますが、当時は 1byte が 6bit です。
だから、3 / 6 / 2 byte を 1word とするマシン、ということになる。
でも、ASCII 文字コードが制定されると 1byte が 8bit になり、それ以降に作られた PDP-11 では 16bit / 2byte が 1word になっています。
このうち、特筆すべきは 1 7 8 10 11 …あたりかな。
7 は、初期の UNIX が作られた機械です。
後に、互換性のない PDP-11 に移植が行われ、その際に「アーキテクチャを問わないアセンブラ」として開発されたのが C言語です。
8 は 12bit で廉価だったのに加え、時代的にもコンピューターになじみが出てきたタイミングで発売されたため、大ヒットしました。
自動車を買うのと同じ程度の値段で買えた、と言いますから、現代の感覚からすればまだ高いのですが、当時としては「個人で所有できる唯一のコンピューター」でした。
商用としてはかなり初期のコンピューター音楽演奏システムなんかにも使われています。
「ミニコンピューター」「ミニコン」という言葉は、このあたりから出てきたもの。
10 は、電話回線でテレタイプを接続して時間貸し、というシステムでよく使われました。
ビル・ゲイツが初期のハッキングを楽しんでいたのもこのマシン。
11 は、当時のコンピューター命令セットとしては最も美しい設計だとされ、後の多くのマイクロプロセッサに影響を与えています。
6800/6809 や 680x0、V60、Tron-chip なんかも PDP-11 の影響を受けて設計されているそうです。
最も、PDP-1 以降はケンの手を離れています。
PDP-4,5,6 それに 11 は ゴードン・ベルが作っています。
PDP-11 から VAX-11 に機能が拡張されます。
VAX は Virtual Address eXtension の意味で、「仮想メモリ」をサポートしました。
また、この機能を活用した VMS という OS が作られました。
…使ったことがないので迂闊なことは書けない。
でも、UNIX に対する「回答」として作られた節があって、どの部分をとっても UNIX に似ていて、しかしそれよりも良いものだったそうです。
たとえば、UNIX ではすべてを「ファイル」として考えます。
そして、ファイルの入出力ですべてが行えるようにするのです。
キーボードは読み出し専用のファイルです。
プリンタは、書き込み専用のファイルです。
ディスク全体も特殊なファイルとして考えられますが、その中に実際のファイルが入れられ、これは読み書き共にできます。
しかし、UNIX でも「メモリ」まではファイルにしていませんでした。
プログラムが入っているメモリは、OSにとってはちょっと特別な場所。
VMS では、「仮想メモリ」によって、搭載している以上のメモリ空間を扱えます。
そして、足りなくなった際にはメモリの一部はファイルとして保持するのです。
ここで、ファイルとメモリも統一が行われたのです。
さらに、UNIX ではファイルはディスク上に置かれていることが前提でしたが、VMS では「ネットワーク」を前提としています。
ネットワークされたコンピューターのどこかにファイルがあれば、その保存形態は問いません。
今では UNIX にも、仮想メモリや NFS (ネットワークファイルシステム)という概念があります。
しかし、これらは VMS から取り入れた概念なのです。
VAX には公式 OS として VMS が提供された一方で、PDP-7 / PDP-11 で育った UNIX もまた、VAX に移植されていました。
だからこそ、UNIX を超える公式 OS を作ろうとしたのでしょうが、普及したものに対して「よりよいもの」で追うという戦略は、大抵うまくいきません。
VMS も例にもれず、普及しませんでした。
UNIX 上では、「グラフィカルな操作環境」として X-Window というシステムが作られています。
この開発者は、後に DEC に在籍していました。
VMS の UNIX に対する優位点は、先に書いたように仮想化やネットワーク化が OS 自体に組み込まれている点です。
UNIX は、後付けのソフトウェアで実現しているため、設定・管理が煩雑でした。
そこで、いっその事、VMS を大きく作り直して、X-Window も取り込んだ次世代のグラフィカル OS を作ろう、というプロジェクトが始まります。
一歩先ゆく次世代 OS として、V M S の文字をそれぞれアルファベット順に一つすすめた、コードネーム WNT 。
しかし、作成中に DEC が破産します。
WNT は、マイクロソフトが買い取り、大幅に手を加えて、後の Windows NT となります。
現在も広く使われている Windows は、 Windows NT の後継です。
さて、もしもケンがいなかったら、どうなっていたでしょう?
TX-0 は作られず、コンピューターが「計算」以外の仕事を始めるのは、控えめに言って、もっと遅くなったでしょう。
個人で所有できるコンピューターの実現にも時間がかかったでしょうし、当然コンピューターゲームの誕生だって遅れます。
Windows だって存在しません。
ケンの存在は、今の世の中に大きな影響を与えているのです。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
古いコンピューター関係のいろいろを、思い切って処分することにした。
世間的にはゴミです。ガラクタです。
そんなもの勝手に処分しなはれ、って話なのだけど、自分的には宝物だったりしたので、何か書き残しておきたいのだ。
X68k のゲームが数本と、マイコン BASIC マガジンが数十冊、Oh!X が数十冊。
あと、会社員時代に先輩から「いらないから上げる」ともらってから一度も遊んでなかった(ソフト持ってないから)NEO GEO 本体と、人から譲り受けた、自分で持ってなかったパソコンのゲームソフト数本。
まだある。
昔バンダイが発売して話題になった「Let's TV Play Classic」の4本セット。
定価 1本 3,500円だったから、これだけで 14,000円。
でも、1本 10円の 40円で入手した。
リンク先の昔の日記は「入手報告」だけだけど、その後ケーブル自作してちゃんと遊べたよ。
僕は古い PC が好きだ。僕の子供時代、1980年代の8bit機とかだな。
このページを見てくれている人は知っていると思うし、今でも好きなまま。
でも、上に挙げたものは、基本的にここ 10年箱に入りっぱなしのものだった。
「いつか何か書くときの資料に」と思って置いてあったのだけど、そんな機会はなかった。
数年前から Twitter を始めて、同好の士の存在を知った。
僕よりすごい知識量の人や、コレクションが多い人はざらにいる。
がっぷり四つになっても太刀打ちできない。
そんなわけで、最近は「自分が生まれる前のコンピューター研究」に興味が移っている。
昔より資料が入手しやすくなって、面白いんだ。
で、部屋の整理している時に、もう10年も開けていない箱は、処分してしまおうと決めた。
ただ、捨てるのはもったいない。価値があることを僕自身がよくわかっているから。
欲しい人がいたらただで持って行って、という状態なのだけど、引き取り手を探すのも面倒くさい。
何よりも、処分すると決めたら、決意が鈍る前にやってしまいたい。
そこで、買取り業者に任せることにした。
箱詰めして送ったのが先週中ごろだったかな。
先ほど査定の返事が来たのだけど、驚くほどの高値だった。
たぶんあまり公開しないほうが良いことなので、詳しくは書かない。
雑誌は、1年分揃っていると高く売れるようだ。
古いカセットテープのソフトなどは、案外高いようだ。動作するものが少なくなっているからだろう。
TinyXEVIOUS mkII があったのだけど、予想しなかった高値が付いた。
当時の人気ソフトで、中古もだぶついて安いだろうと思っていたのに。
別のテープソフトは、読み取れなかったからジャンク扱い、と言いながらも 3桁の値段がついている。
箱・説明書までそろっていれば、遊べなくても価値があるということだろう。
X68k ソフトでは、悪魔城ドラキュラが「箱に傷あり」の難あり品で、グラディウスIIは美品だったのだけど、ドラキュラのほうが高値だった。
グラIIは当時から人気が高く、ドラキュラより売れていたはずだし、今でも各種移植がある。
つまり、入手しやすいうえに、X68k 版にこだわる必要もない。
でも、X68k ドラキュラはマニア評価が高いにもかかわらず、他への良い移植がない。
そうした違いでドラキュラのほうが高いようだ。
先に書いた Let's TV Play Classic 、なにぶんワゴンセール品だったのでベタベタとバーコードやら盗難防止シールやら貼られていて状態は良くない。
にもかかわらず、入手金額よりずっと高い値段が付いた。
いや、入手値段が安すぎるだろ、って話でもあるのだけど。
雑誌は、ベーマガは高い。Oh!X は安い。ASCII とかは十把ひとからげ
まぁ、当時のベーマガは別格だし、ASCII は技術情報誌なので、古くなると価値がなくなる。
納得の査定だろう。
何でもかんでも売ったわけではなく、個人的においておきたいものはちゃんと手元にある。
僕の売ったものは近いうちに店舗に並ぶのだろうけど、買取金額がアレだということは、店舗での額はかなり高くなるのだろう。
その高値でも買ってくれる人は、価値がわかっている人だ。
そういう人に譲り渡したいから買い取り業者に任せた、という側面もある。
手放したのは多少寂しくはある。だからこんな日記書いているのだ。
でも、価値あるものが、その価値を判ってくれる人のところに収まってくれるなら、段ボール箱の中に入れっぱなしになっているよりも良いことだと思う。
別年同日の日記
19年 ファミリーベーシック V3(1985) ディスクシステム(1986)の発売日
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、コアメモリの特許が成立した日(1956)
最初に誤りの訂正から入らないといけませんね。
以前に、アン・ワング博士がコアメモリを発明した、という記事を書いたことがあります。
これ、間違いではありません。一般的にワング博士がコアメモリを発明したと言われます。
でも、今日の記事を書くために詳細を調べたら、実際には少し違っていました。
ワング博士が発明したのは、米特許番号 2708722 「Pulse transfer controlling device」です。
訳すなら「パルス転送制御装置」。
1949年に出願し、1955年に特許成立しています。
電話のダイヤルなどは「パルス」を発生し、自動交換装置はこのパルスで動作します。
電話パルスには、1秒間に10回のパルスを送る 10pps と、もっと高速に 20回のパルスを送る 20pps の2つの規格があります。
どうも、ワング博士が発明を行ったのは、新しい規格への移行期のようです。
交換機が新型で、高速パルスに対応していれば問題はありません。低速のパルスでも、同じように動くことができます。
しかし、交換機が古いのに電話機が高速だったら…交換機が速度に対応できません。
このため、「一度パルスを受けて、記憶した後で改めて速度を変えて送り出す」ような装置が必要だったのです。
当時は、真空管を組み合わせて記憶させたり、磁気ドラムを使って記憶させたりしていました。
しかし真空管は電気食いで放熱も大きく場所を取るし、磁気ドラムは物理動作を伴うので故障しやすい。
ワング博士は、ここに磁石などに使われる「フェライト」を使うことで、パルスを記憶させる装置を作り上げるのです。
この時点では、パルスを覚えればいいだけなので、フェライトコアはシーケンシャルに並び、シフトレジスタ(ビット列を順次ずらしていける装置)として動作させています。
以前書きましたが、WhirlWind I コンピューターが制作される際に、当時としてはあり得ないほど高速なコンピューターを目指したため、演算装置とメモリ装置を同時開発しました。
演算装置は、今でも使われる様々な工夫により、超高速なものが作られました。
しかし、メモリ装置は開発に失敗し、低速でした。演算装置の足を引っ張るくらいに。
そこで、いったん完成した後にメモリシステムの改良がおこなわれます。
多くのメモリを試し、その中でワング博士の特許が見出されます。
ただのフェライトコアで記憶ができてしまう!
しかも、特許によれば磁気の強さがある閾値を超えることで記憶ができます。
このことから、電線を縦横にクロスし、交点にフェライトコアを置くことで、多数のコアを少ない電線で制御する…という方法を考え付いたようです。
こうして作られたコアメモリは、非常に高速に動作するのに安く、駆動するのに必要な電力もわずかという、夢のようなメモリでした。
WhirlWind I の開発責任者、ジェイ・フォレスターの名前で特許が出願されています。
米特許番号2736880、「Multicoordinate digital information storage device」
訳すなら「多軸デジタル記憶装置」でしょうか。
出願は 1951 年で、特許成立は 1956年の 2月 28日でした。
特許の白眉は Multicoordinate、「多軸」の部分にあります。
先に書いたように、電線を縦横にクロスし、交点に記録を行う。つまり「多軸」による記録。
これ以前のメモリ装置は、基本的には 1bit に対して1組の配線が必要でした。
そのため、容量が増えれば線形にコストが増えます。
#ランダムアクセスメモリの場合の話。
当時の主流は、コストが安いが低速なシーケンシャルメモリだった。
コアメモリでは交点が重要です。
16本 × 16本の電線を用意すれば、交点は 256カ所もあるのです。
一般にはコアメモリは2次元に作られます。
しかし、フォレスターの特許では「3次元」の可能性についても言及しています。
コアの物理特性はある程度変えられますし、3本の線に電流が流れなくては反応しないコアを作ることも可能でしょう。
この場合、 16x16x16 の電線を用意すれば、交点は 4096カ所になります。
こうした特性により、コアメモリでは、容量が増えてもコストの増加を抑えられます。
ビット単価で考えれば、容量を増やすほど安くなるのです。
これが、特許の中心概念となっている「Multicoordinate」の意味です。
この考え方は現代の DRAM にも引き継がれ、容量が上がるほどビット単価を割安にしています。
ワング博士が特許を出願したのは 1949年。
その後コアメモリが 1951 年に発明され、特許出願。
ワング博士の特許成立が 1955年、コアメモリの特許成立が 1956年です。
これに対し、IBM がコアメモリを使用した IBM 704 を発売するのが 1954年。
704 作成時点では特許は成立していないため問題ありませんでしたが、特許成立後にトラブルとなります。
IBM は、対価としてワング博士に 50万ドル、フォレスターの所属する MIT に 1300万ドルを支払っています。
それぞれへの支払いの経緯も違いますし、この額の差がコアメモリに対する発明の寄与度だ、というつもりはありません。
どちらの発明が無くても、コアメモリは生まれなかったのですから。
しかし、コアメモリを完成させたのは MIT の WhirlWind I 作成チームで、ワング博士はその基礎となる、フェライトコアの物理特性などを研究したに過ぎない、というのは、ある程度事実でしょう。
最初に書いた通り、一般的には、コアメモリはワング博士が発明した…とされています。
しかし、ワング博士の特許ではなく、フォレスターの特許成立の今日を「コアメモリ特許が成立した日」とするのは、間違いではないと思うのです。
同じテーマの日記(最近の一覧)
関連ページ
ジェイ・フォレスター 誕生日(1918)【日記 15/07/14】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、レイ・トムリンソンの命日(2016)
昨年亡くなったので、1周忌です。
インターネット初期の…というか、インターネットを形作ったプログラマーの一人です。
まだ「ネットワーク」で何ができるかわからなかった頃、ネットワークを使って「いろんなものを送る」実験をしているのね。
ネットワークは、当然のことながら「文字」を送れるように設計されました。
それ以前から、テレタイプを電話線越しにコンピューターに接続して使う、というようなことは出来ました。
これでできることは、文字を送るだけ。だから、最初のコンピューターネットワークも、同じようなことができるように設計されたのです。
でも、彼はそのネットワークで「ファイル」を送る方法を作り出しました。
そして、文字を送るプログラムに、ファイルを送るプログラムを組み込み、「相手がいない時でも、相手に送った文字メッセージをファイルとして残す」プログラムを作り上げます。
当初は非常に簡単な仕組みだったのですが、便利で多くの人に使われたため、彼自身がさらに便利にするための仕様を策定しています。
この策定段階では紆余曲折あるのですが、最終的に完成したのが RFC 821 。「SMTP」です。
現在の電子メールの、一番最初の仕様です。
彼の同僚は、ネットワークで「プログラム」を送る方法を作り出しました。
単にプログラムの「ファイル」を送り付けるのではないよ。
そんなことは、彼の作った「ファイルを送るプログラム」でできるのだから。
そうではなくて、マシンAで動いていたプログラムが、マシンBに移動して動作を続けるのです。
レイ・トムリンソンは、このプログラムに「いたずら」を加え、「移動」の部分を「コピー」にしました。
プログラムは、マシンAとBの両方で動き続けます。
コンピューターからコンピューターへと「感染」しながら増殖するプログラム…世界最初の「コンピューターウィルス」でした。
彼は、このプログラムを除去するための、いわゆる「ワクチン」も同時に作成しています。
以上の話、詳細は以前に書いた誕生日記事をご覧ください。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、アダム・オズボーンの誕生日(1939)
オズボーン1(1981/4)を作った人です。
知らない? 知りませんね。僕も名前くらいしか聞いたことない。
基本的には欧米でしか発売されていないのだもの。
世界初の「ポータブルPC」です。
一応、ポケコンは、シャープの PC-1210が 1980年に出ているようです。
でも、BASIC が使えるプログラミング電卓、といった趣で、仕事につかえる「PC」ではありません。
オズボーン1は、当時の人気 OS である CP/M や、ワープロ・表計算・データベースなどが使える、立派な PC でした。
一応、オズボーン1以前にも「ポータブルPC」は存在しています。
世界初、というのは、商業的に成功した世界初、という意味合い。
オズボーン1の元となったのは、Xerox NoteTaker。
Xerox の PARC(パロアルト・リサーチセンター)で、1978年に10台だけ作られた「研究用」です。
パロアルトと言えば、アラン・ケイ。
「ダイナブック」という、未来にあるべきコンピューターの姿を構想した人です。
コンピューターが、高価で、重たく、テキスト処理が中心だった時代に、ダイナブックは
・子供が持てるほど軽く、薄い
・子供に与えても良いくらい安価
・グラフィック処理が中心
と言った、先進的な姿を描いていました。
この構想に基づいて、Alto というコンピューターが作られたのは有名です。
Alto 上で動作した Smalltalk という環境は、子供でもプログラムが作れるような、グラフィカルで扱いやすいものでした。
これが、後に Macintosh や Windows に発展していきます。
そしてもう一つ、持ち歩けるほど軽いコンピューターがあれば何ができるか、という研究もおこなわれました。
それが、NotetTaker 。名前の通り、ノートのように使えるコンピューターです。
CPU は 16bit の 8086。
これ、1978年のマシンですよ。日本では TK-80 が 8080 で動いていた時代。
その時代に、すでに 8086を採用しているのです。
メモリは 256Kbyte 。当時、AppleII の標準メモリは 4Kbyte です。
フロッピーディスクと、たった 7inch とはいえ、タッチセンサー付きのディスプレイを備えています。
バッテリーを備え、どこでも使うことができます。
そして、SmallTalk が動きました。ダイナブックの実験ですから。
…これ、「持ち運べる」とはいっても、気軽ではありません。
当時のバッテリーって、鉛蓄電池しかないからね。22Kg もあったそうです。
試作品なので値段は付いていませんが、プロジェクトの費用などから見積もると、1台5万ドルに相当するそうです。
AppleII は、当時 1298ドルで販売されていました。
オズボーン1は、NoteTaker の影響下で作られたマシンでした。
ただし、商業的に採算に合うように、大幅に簡略化されています。
重たい蓄電池はなくしています。だから、持ち運べるとは言っても、使う際にはコンセントが必要です。
ディスプレイも、大きいと重たくなるので、5インチになっています。タッチセンサーは無し。
#当時のディスプレイはブラウン管…中が真空のガラス管です。
大きくすると、空気圧に耐えるためガラスを厚くする必要があり、単に大きくする以上に重たくなりました。
こうした割りきりで、重さは 10.7Kg に抑えられています。
CPU は Z80。メモリは 64Kbyte 。フロッピーディスクは2基あります。
見た目は、NoteTaker にそっくり。
でも、値段は 1795ドルで、この値段の中にワープロ・表計算・ゲームなど、多数のソフトが含まれていました。
当時、AppleII plus は 1195ドル。ただしメモリは 16Kbyte で、本体のみです。
まともに使うには、別途ディスプレイも必要だし、ディスクドライブも必要。
メモリを 64K に拡張して…と、全部そろえると4千ドルくらいになったようです。
さらにソフトは別売り。
オズボーン1は大人気になりました。
発売すると、1ヵ月で1万台、100万ドルを売り上げたそうです。
しかし、オズボーン社にはそれほどの生産能力がありませんでした。
当初の予想では、数年かけて1万台売れればよい、と考えていたのですから…
結局、8ヵ月で実際にお客さんの手に渡ったのが、1万1千台。
この時点で、まだ5万台の予約が入っていたといいます。
…なんかどこかで聞いた話ですね。
そう、Altair 8800とそっくりです。
そして、この後の展開もそっくり。
互換機が発売されるのです。
1982年発売の、KayproII。
ほぼ互換機なのですが、ディスプレイは 9inch に改良されており、それに伴い表示桁数も増えています。
#当然重くなっていたそうです。
しかし、オズボーン1の人気は、「持ち運べる」ことよりも、「オールイン1パッケージで安い」ことでした。
同じ買うのなら性能がよくて、すぐ手に入るほうを…オズボーンの潜在顧客は、KayproII に徐々に奪われていきます。
もうひとつ、IBM は 1981年の8月…オズボーン1の発売から4か月後に、IBM PC を発売しています。
こちらも強力なライバルでした。
オズボーン社は後継機の開発を急ぎます。
そして、試作機ができた段階で…まだ量産機の発売日程などが決まらないうちに、発表を行います。
他社に対する牽制でした。話題を作って他社の機械を買おうとしている人たちを繋ぎとめようというのです。
しかし、これは逆効果でした。
オズボーン1を買おうとしている人達すら、新マシンを待とうとして、売り上げが激減してしまったのです。
発売された新マシンは IBM-PC と闘えるくらい高性能でしたが、値段も高いものでした。
思ったほど人気が出ません。
そこで、KyproII にターゲットを絞った「次のマシン」の開発に入りますが、こちらでも同じように速すぎる発表により、買い控えを起こしてしまいます。
結果、1981年に登場した「オズボーンコンピューター」は、1983年の9月に倒産します。
決して人気が無かったわけではありません。
人気があるにもかかわらず、近いうちにもっといいものが出ると消費者が期待し、買い控えが起こる…
当時の経済学では想定していなかった現象でした。
今では、この失敗にならって「オズボーン効果」と名付けられています。
#「発表による買い控えで売り上げ悪化して倒産」は都市伝説だそうです。
本当の理由は、もっとずっと後でわかっている。
でも、倒産まで行かずとも売り上げが落ちたのは事実だし、当時は本当の理由がわからなかったため、今でもオズボーン効果と呼ばれます。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、スティーブン・アンソン・クーンズの誕生日(1912)。
3Dコンピューターグラフィックスの基礎を作った人です。
今では、CG技術に貢献した人に贈られる「スティーブン・A・クーンズ賞」に名前を残しています。
(CG界のノーベル賞、と呼ばれる、権威ある賞です)
元々、CGを研究していたわけではないのです。
第二次世界大戦中、航空機の設計に携わった経験から、「3Dの自由な曲面を数式で定義する方法」を研究していただけで。
しかし、その「3D曲面」こそ、多くの人を悩ませていた難問だったのです。
1967年、クーンズ教授はついに「クーンズ・パッチ」と呼ばれるアルゴリズムを完成し、3D曲面の定義ができるようになります。
ただ、ちょっと扱いにくいところがありました。
後にクーンズパッチを改良し、「NURBS」と呼ばれるアルゴリズムが完成します。
現在、多くの3DCGで使用されている、曲面の定義方法です。
クーンズ・パッチや NURBS が開発される以前は、細かな板や、円筒・球などの単純な図形を組み合わせることで曲面を定義していました。
でも、この方法は手間がかかりすぎて、複雑な形状を作れないのね。
NURBS が完成した今でも、ゲームなどに使われる「ポリゴンモデル」は、板の組み合わせでできています。
曲面に見える部分も、十分に細かな板を組み合わせて、それらしくみせているだけ。
これは、NURBS が計算に時間がかかりすぎて、ゲームなどには使いづらいため。
でも、「ポリゴンモデル」を作成する現場では NURBS で作成されていて、最後に自動的に板に分割させているのです。
話はちょっと変わります。
CGは、アイバン・サザーランドが始めたものです。
彼は、TX-2 コンピューターを使い、「コンピューターで絵を描く方法」を研究しました(スケッチパッド:1963)。
ライトペンを使って直接画面に絵を描けるのですが、単にお絵かきではなく、論理的に絵を作り出し、最終的には「ページ記述プログラム」を生成します。
これ、現在の Illustrator なんかの基礎になった概念です。
偶然ではなく、Illustrator の開発者は、サザーランドの教え子です。
そして、サザーランドは、クーンズ教授の教え子です。
クーンズ教授は複雑な曲面を持つ航空機の設計などを研究していましたが、サザーランドは、設計図を描き出すためのプロッタプリンタを制御するためのデータ(先に書いた、「ページ記述プログラム」)を生成するツールとして、スケッチパッドを作っているのです。
CGを始めたのはサザーランドですが、それもクーンズ教授の影響があってのことでした。
CGの始まりに影響を与え、そこで出てきた「自由な形状が定義できない」という問題を見事に解決した。
クーンズ教授の名を冠した賞が最高の栄誉として作られているのは、このような理由によります。
クーンズ賞の第1回受賞者は、サザーランドでした。
第2回は、「自由曲面」の基礎概念となる自由曲線…いわゆる「ベジェ曲線」を開発した、ピエール・ベジェでした。
興味を持った方は、以前に書いた記事「自由曲面実現の歴史」もお読みください。
「数式で形を自由に定義する」というのが、茨の道であったことがわかります。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日はラルフ・ベアの誕生日(1922)
世界最初のテレビゲーム機を作った人です。
もっとも、テレビゲームはそれ以前からありました。
当時は非常に高価だったコンピューターで、一部の大学生とか技術者が遊んでいた。
でも、ラルフはそういう立場にはいませんでした。
全く独自に、「テレビの使い道は、テレビ番組を見るだけではないのではないか」と思いついただけ。
だから、彼のアイディア自体は物真似ではありません。
試作品である BROWN BOX を作ったのは 1968年。
ゲーム専用に特化された機械で、「世界初のテレビゲーム機」です。
「テレビゲーム」という言葉自体、BROWN BOX の特許を取る際に作られた言葉なのだから。
この後、コンピューター上のテレビゲーム「SPACE WAR!」を見たことのあるノーラン・ブッシュネルが、安価な専用回路を組んで「COMPUTER SPACE」を発表します(1971)。
これが、発売されたものとして、また、業務用として初のテレビゲーム機。
でも、ちっとも売れませんでした。
ラルフは、BROWN BOX を改良・量産し、ODDYSSEY として発売します(1972)。
家庭用として発売された、初のテレビゲーム機。
しかし、新しいものというのは理解されるのに時間がかかります。
発売時にはあまり売れなかったようです。
とはいえ、最終的には 35万台を売る大ヒット。
ノーラン・ブッシュネルは、この ODDYSSEY の中の1ゲームをみて、業務用に改良し、PONG として発売します(1972/11/29)。
これが空前絶後の大ヒット。
ブッシュネル自身の作った ATARI 社で売ったものだけで1万台。
違法コピー基盤も含めれば、10万台を超えると言います。
…家庭用の 35万台と比較してはいけないよ。業務用は、1台のゲーム機で数百人から数千人が遊ぶのだから。
遊んだ人の数でいえば、ODDYSSEY の比じゃない、ということ。
実のところ、先に書いたように ODDYSSEY は最初から売れていたわけではありません。
PONG を遊んだ人が「家庭でも似たゲームが遊べるから」という理由で ODDYSSEY を買い始め、結果としてヒットになったのです。
世界的には「テレビゲーム」ではなく、「ビデオゲーム」と呼ばれることも多いです。
ビデオゲームという言葉は、PONG の宣伝文句として考え出されたものです。
以上の話は、以前に書いた世界初のテレビゲームとPONG発売日を再度まとめたもの。
ラルフは、テレビゲームを見たこともないのに全く独自に面白いものを作り出した…
というわけではなく、彼はゲームを見たことがないが、彼の下で働いた技術者がゲームを知っていたようです。
この話は、ラルフ氏の亡くなられた際に書いた追悼文に書きました。
今回は、ODDYSSEY 以降の彼の最大のヒット作、サイモン(1978)について書きましょう。
ラルフ氏は ODDYSSEY の発明以降、「発明家」として転身しましたが、テレビゲームよりも、むしろ手に取って遊べる「おもちゃ」を作るのが好きだったようです。
サイモンは、単純明快で面白いので、当時大ヒットしましたし、その後もシリーズ作が続きます。
上の動画が、オリジナルの機械。
これに似た機械を見たことがあるとか、機械は知らないけど同じようなゲームを知っているとか、みんな何かしら覚えがあるはず。
動画を見てもらえば遊び方は一目瞭然ですが、記憶ゲームです。
機械が指示したとおりにボタンを押す。ただそれだけ。
最初は指示は短いのですが、成功すれば「前の指示に追加」される形で長くなっていきます。
だから、一度は覚えて成功したはずのものを、何度も繰り返し入れないといけない。
何度も入れてわかっていたはずの場所で間違えると、妙な悔しさがあります。
つい「もう一回」となってしまう中毒ゲーム。
このゲーム、優れているのは、攻略法がいくつもあることです。
指示は「押すボタン」のランプを連続して点灯することで行われます。
しかし、ボタンには色がついていて、光ると同時に固有の音階が出ます。
このため、「位置」「色」「音」の3つが、同じ指示を出していることになるのです。
最初は一生懸命ボタンそのもの(つまりは位置)を覚えようとするのだけど、慣れてくると色の連続として覚えたり、目をつむって音に集中したりもする。
不要な情報を遮断して集中することで、むしろ記憶しやすくなるのです。
そして、どの情報が不要になるかが、人によって異なります。
ボタンが4つしかないのもいい。
単純だからこそ覚えやすいですし、失敗した時の悔しさに繋がります。
ところで、1970年代末期に「サイモン」といえば、まだ外国人の名前に慣れていない日本人にとっては、サイモン&ガーファンクルでした。
(サイモン&ガーファンクルは 1960年代に世界的に大ヒットした音楽ユニット)
で、昔 X68000 用に、「ガーファンクル」ってゲームがあった。
まるっきりサイモンなんだけど。電脳倶楽部の創刊号に入ってました。
X68000 では、キーボードの7つのキーに、LED が埋め込まれていたのね。
それなりのプログラムを組めば、当たり前だけど点灯を制御できた。
この LED キーを使って「サイモン」を遊ぶ、というアイディアでした。
だから、PC ゲームなのに画面を使わない。キーボードだけで完結している。
単純なのだけど、ゲームなのに画面を使わない、というアイディアに驚いた覚えがあります。
「サイモン」という名前は、欧米の子供の遊び「Simon says」から来ているそうです。
Simon は、13世紀のイギリスの英雄、Simon de Montfort のこと。
日本で言うと「赤白旗揚げゲーム」が近いかな。
Simon says ~ と言われたら、これは英雄の命令ですから、従わなくてはなりません。
でも、命令の前に Simon says がついていない場合は、偽の命令なので従ってはならない。
サイモンは言う、回れ右! サイモンは言う、腕を上げよ しゃがめ!
この例では、最後の「しゃがめ」は偽命令なので、従ってはなりません。
みんなでこの遊びをやって、正しい動作ができてない人は脱落、最後まで残った人が勝ち、という遊び。
単純な遊びなので亜流もいっぱいあって、「やれ!」と言われるまで、命令を覚えるだけで動いてはいけない、というのもあったみたい。
だから、命令の真偽を判別する上に、覚えておかなくてはならない。
ここら辺が、記憶ゲームを「サイモン」と命名した由来なのかな、と思います。
今でもサイモンは人気があって、時々シリーズの新作が発売されます。
先日、お店に置いてあった「サイモンエア」を遊びました。
子供が興味を持ったのだけど遊び方がわからなくて、僕が説明しながらプレイして見せたのね。
基本的にサイモンですが、ボタンが無くて空中に手をかざすだけでいい、という不思議感覚おもちゃ。
内容はやっぱりサイモンでした。単純明快な良さがある。
遊ぶ前は「古いゲーム」と思ってたのですが、今遊んでも十分面白いです。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は BSD 初リリースの日(1978)
UNIX は、AT&T ベル研究所で作成されました。
別に商品として作られたわけではなく、ケン・トンプソンが「ゲームを遊びたい」という素敵な理由で作り始めた、趣味のシステムです。
でも、ベル研究所は「研究所」だけあって優れた人材が集まっていました。
仲間が寄ってたかって UNIX を改良し、優れた OS へと育ちます。
当初 PDP-7 でアセンブラで作られれていた UNIX は、PDP-11 に移植され、新たな言語「C」ですべてを書き直されます。
これにより、OS自体の構造も他の人に判り易くなりました。
この頃になると、ベル研究所も UNIX の商品価値に気付き始めたみたい。
でも、AT&T はあまりに巨大企業で、独占禁止法により本来の業務…電話以外の商売を禁じられていました。
だから、UNIX は「無償」で、ソースコードが大学などの研究機関に配布されます。
OSの研究用、という名目でした。
特に、カリフォルニア大学バークレー校では、UNIX の生みの親であるケン・トンプソンが直接出向いて講義を行うなど、積極的に UNIX を導入しました。
バークレー校に、ビル・ジョイという学生がいました。
彼は UNIX を積極的に改良し、オリジナルにはなかった各種機能を追加します。
そして、ある程度改良が溜まった時点で、これらをまとめて公開しました。
オリジナルに対するパッチ集です。そのため、使用するにはオリジナルが必要です。
しかし、これが「バークレイ・ソフトウェア・ディストリビューション」(Berkeley Software Distribution)、略してBSDです。
1978年の3月9日に配布された first BSD (1BSD) では、Pascal コンパイラと、ex エディタが含まれています。
この ex エディタ、以前に書いています。
UNIX の標準エディタだった ed を改良して、豊富な機能を持たせたものです。
特筆すべきは、ビデオテレタイプ…ブラウン管を使用した端末用に、「ビジュアルモード」を持っていたこと。
通常の「ラインエディタ」モードなら、テレタイプでも使用できます。
ビジュアルモードはビデオテレタイプでしか使えませんが、前後の行を同時に参照しながらファイル編集が行え、しかも編集位置を示すカーソルを、自由に動かすことができるのです。
…いわゆるスクリーンエディタ、今我々が「エディタ」と呼んでいるものの元祖ですね。
このモードは、起動後に切り替えることもできましたが、コマンドファイルの名前を変え(シンボリックリンクを作ればいい)、起動時からビジュアルモードにすることもできました。
ビジュアルモードの際は、コマンドを vi とします。Visual の先頭2文字です。
BSD はその後も版を重ね、便利になっていきます。
UNIX に初めて「仮想記憶」を取り入れたのは、3BSD。
UNIX はすべてを「ファイル」として統一しようという思想があるのですが、ネットワークすらも「ファイル」の一つにしてしまったのが 4.2BSD 。
BSD は本家 AT&T の UNIX を超え、広く使われ始めていました。
しかし、BSD は AT&T UNIX の派生品であり、AT&T のライセンスを受けたものしか使用できませんでした。
この不便を無くすため、AT&T 由来のコードが徹底的に排除されていきます。
1989 年には、4.3BSD Net/1 として、完全ライセンスフリーな BSD が作成されています。
こうした改良には DARPA も資金を提供し、バークレー校だけではなく、多くの大学から専門家が協力しています。
4.2BSD には、マスコットキャラも用意されました。
しかし、BSD が改良を続ける間にも、AT&T は「独占禁止法」により解体され、分社化しました。
分社化した AT&T は、もう大企業ではなく、「電話事業のみ」の縛りも無くなりました。
UNIX を商品化しようとする AT&T と BSD の間に訴訟が起こります(1992~1994)。
結局、この訴訟では UNIX の商標権が AT&T にあることが認められ、BSD は「UNIX」という名前を捨てます。
これ以前、BSD は「BSD UNIX」と呼ばれていたのですが、以降は単に BSD となります。
AT&T の UNIX … System V は、この間にも着々と「標準化」を進めていました。
ヒューレットパッカード、IBM、SCO、NEC、アップル、そして Sun など、多くのメーカーが「System V 準拠」の UNIX を作っていました。
特に Sun の System V 陣営への参加は決定的でした。
Sun は、もともと最初の BSD を作った学生たちが起業した会社で、BSD を搭載したワークステーションを作り続けてきた会社です。
その Sun が技術協力することで、 SystemV には BSD 由来の機能も数多く搭載され、それまでの「本家対元祖」のような戦いに終止符が打たれるのです。
1990年前後は、上に書いたように System V 対 BSD という構図が見られたのですが、90年代後半に入って Linux が勢力を持ち始めると、この構図も有耶無耶になってしまいました。
2大勢力がいがみ合っている間に、横からきて人気をかっさらう…漁夫の利の構図ですね。
でも、実際 Linux は、System V 互換を目指して開発が始まりながらも、最終的には両者のいいとこどり。
趣味で始めてプライドなんてなかったから、節操はないけど使いやすい実装を行いました。
BSD と System V がそれぞれのプライドで互換性が悪かったころには、これがウケた。
今でも、BSD の流れを汲む PC BSD はあります。
FreeBSD、NetBSD、OpenBSD が主な勢力だったのだけど、今では「Mac OS X」が一大勢力かな。
あまり、これを BSD だと思っている人いないのだけど。
同じテーマの日記(最近の一覧)
関連ページ
デヴィッド・カトラー誕生日(1942)【日記 19/03/13】
タネンバウム教授(1944) ストールマン(1953) 誕生日【日記 17/03/16】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は QV-10 の発売日(1995)
大ヒットし、「デジタルカメラ」を普及させた機械です。
写真は、QV-10 のマイナーバージョンアップ、QV-10A ね。
小さな改良があるのと、本体色が違います。
後で書くけど、初代も持っていたのだけど、壊れて今は 10A しか残ってない。
僕はいつも古いコンピューターの話ばかり書いているけど、今日は比較的新しい。
といっても 22年前の話だけど。(普段は 60年前とか…僕が生まれる前の話書いてるからね)
実のところ、QV-10 以前にも「電子カメラ」は存在しています。
ソニーのマビカが有名ですね。
これが市販された最初、ではないのですが、研究開発としてはソニーが最初(1981~)なので、製品としては人気が出ました。
マビカが発売された当時、僕は大学生で、 Oh!X という雑誌が愛読書でした。
ライターの一人(荻窪圭だったはず)がマビカを購入して、これがいかにパソコンと相性の良い、遊べる機械であるかを、楽しそうに書いてました。
マビカは電子カメラだけど、アナログ記録でした。
2inch フロッピーディスクにアナログで記録して、見るときにはオプションのアダプター経由でテレビに接続して見るのね。
X68000 はテレビと組み合わせて使うことを前提に設計されたパソコンで、オプションで「カラーイメージユニット」がありました。
テレビ画面をパソコンに取り込むための周辺機器。
だから、マビカとイメージユニットを組み合わせることで、撮影したものをそのまま X68000 で扱えます。
これが、パソコンと相性が良い、という理由でした。
…でも、イメージユニットは高価だったし(¥69,800)、マビカも本体だけでは使えず、テレビ信号を作り出すプレイバックアダプターなどを買うと10万円を超えます。
当時はまだ大学生だったので、楽しそうだと思う反面、とても手が出ませんでした。
1994 年には「世界初のデジカメ」である、Apple Quicktake 100 が発売されています。
…へー、そうだったんだ、ってくらいの話。
Mac の周辺機器として設定されていたので、Mac ユーザー以外には話題にならなかったみたい。
「11万8,000円」という情報が得られたので、国内でも販売されたのでしょう。
640x480 ピクセルなら 8枚、320x240 ピクセルなら 32枚撮影できます。
ズームもない、フォーカスも固定、写真を見るにはパソコンが必要、という純粋な「画像を取り込むための周辺機器」でした。
…なぜか一時期持っていたのだよね。
たしか、ヤフオクで Mac の周辺機器探していたら、Quicktake 100 も付属したセットで出品されていたのではなかったかな。
そのころはすでにデジカメの普及機で、こんな低性能な機械に興味はなかったので、即刻売り払ったと思います。
そして QV-10 の発売。
¥65,000 だったようです。
320x240 の画像が、96枚撮影できます。
液晶ディスプレイがついていて、撮影したその場で写真を見ることもできたし、パソコン側から画像を送り込んで、ビューワーとしても使えました。
発売前から情報を知り、先に書いたマビカの話などもあって、「ぜひ欲しい」と思ってました。
この頃はスキャナも欲しかったのだけど、とにかく画像が取り込めるのだから、本の挿絵とか取り込みたいなら接写すれば何とかなるだろう、とも期待を込めて。
でも、正直なところ、値段も結構高いし、画質も悪い。
こんな変なものを買う人は少ないだろう…と、発売日に量販店に行くと「大人気であっという間に売り切れました」と店員さんに言われます。
驚きました。こんな変なものを欲しがる人が、僕以外にもたくさんいるんだ、って。
次の入荷はいつになるかわかりません、多分1か月くらい後です、と言われましたが、その場で予約して帰ります。
…2日後に、「入荷しました」という連絡が来ました。
ずいぶんと速いな。
#当然ですが、スキャナ代わりにはなりませんでした。
スキャナは後で買った。
高校時代は写真部に在籍していました。かけもちの幽霊部員ですが。
一応文化祭の時には写真を出展していたし、暗室作業も一通りはやりました。
でも、写真ってたくさん撮らないとダメね。
上手な人は、躊躇せずにシャッターを押す。大量にとった中から厳選して、本当にいい写真を公開する。
もちろん、最初から構図を決める能力も必要ですよ。
どの写真も上手に取れていて、その中から厳選するのだから、人を感動させられるレベルの写真が生まれる。
でも、僕にはどちらもなかった。
構図を決める能力も、フィルムを湯水のように使う財力も。
#財力は、パソコンにつぎ込んでいたからだとも言えます。
写真やる人が金持ちなわけではなく、配分の問題。
そんなわけで、「フィルムを使わないから気軽に録れる」「96枚も録れる」というのは、なかなか快適でした。
普段から QV-10 を持ち歩き、何か面白いものがあれば気軽に撮影します。
バスの時刻表とか、メモしたいものを気軽にパシャリ。
今では当たり前ですが、フィルムカメラの頃には考えられない使い方でした。
QV-10 はフラッシュなんかついていませんでしたが、暗がりに強く、夜の街灯の下でも撮影できました。
電池食いではありましたね。
その上、電圧が足りないから充電池は使えない。
液晶の付いた本体部分とカメラ部分の角度が変えられる…カメラ部分が「回る」ことに関しては、今だと「独創的だった」とする解説が多いのですが、「液晶ビューカムの真似」というのが当時の率直な感想。
デジタルカメラに液晶を付けたのは世界初だったし、それによって気軽さが強調され、大ヒットしたのは事実です。
今のデジカメの方向性を示したのは、Apple Quicktake100 ではなく、QV-10 とされるのもそのため。
だけど、ビデオカメラで「液晶ビューカム」という機種をシャープが 1992年に発売していて、QV-10 と形がそっくりです。
QV-10 は安くするために、普及していたビデオカメラ用 CCD を使用した、というのも相まって「動画の撮れない、小さな液晶ビューカム」だと思っていました。
真似が悪いというのではないよ。
この「カメラ部分に角度がつけられる」というのは非常に便利で、QV-10 の後に続いたデジカメブームでは真似した会社も多かったし、むしろこの機能がついていない、普通のカメラのような形状だと不便だと感じていた。
ところで、ビデオカメラ用 CCD は、NTSC ですからデジタルに換算すると 640x480 程度の画像を撮影できます。
でも、縦方向はインターレース…奇数ラインと偶数ラインを交互に読む仕組みです。
だから、縦 480 で撮影すると、奇数ラインと偶数ラインの間に 1/60秒のずれが生じてします。
「静止画」としては、妙なことになってしまうのです。
これが、QV-10 が 320x240 で撮影する理由。
記憶容量を節約する意味ももちろんあるのだけど、安くするために「仕方ない」理由があるのです。
このWEBサイトは 1996年に作り始めていますが、初期の写真は QV-10 で撮影されています。
当時のインターネットは回線速度も遅く、320x240 でも「大きすぎる」くらいだったので、十分な性能でした。
でも、QV-10 だと料理中の写真撮りにくいのね。
赤外線フィルタが不十分で、熱い部分が「緑色」になってしまうの。
いろいろと欠点もあったけど、欠点を補って余りある楽しさもありました。
QV-10 がヒットすると、カメラ会社からもっと本格的なデジカメが発売され始めました。
デジカメの黎明期ですね。
カメラ会社としては、ちゃんとした「写真」を撮れないといけない。
最低 640x480 以上の画質にしたいのですが、そのためには CCD から専用品を設計しないといけない。
当然高価になります。
高画質にするためには、ピクセル数を増やす必要もありますが、それは「1ピクセルの面積」を減らすことでもあります。
そうすると、暗がりに弱くなる。
フラッシュを搭載しても、気軽な撮影は難しくなります。
何よりも、慌てて QV-10 の後を追ったカメラは、搭載しているソフトウェアがこなれていないものが多く、使いにくい印象でした。
僕も QV-10 のしばらく後に「もっといいカメラを」と思って DC-3 とか買いましたけど、使いにくかった。
暗いと撮れないし、撮影後にすぐ電源を切ると、画像が保存されていないことがある。
(電源はソフトウェア制御しているはずなのに、「データ保存」よりも「電源処理」を優先してしまっている)
そのころ、まだ結婚する前の妻から「デジカメ買いたい」と相談を持ち掛けられ、QV-10 を勧めました。
主な想定用途は WEB サイト作成だったから画質は十分だったし、何よりもそのころには安くなっていたから。
これが、冒頭画像の QV-10A です。
僕の QV-10 は、使い込みすぎて壊れてしまって捨てたのだけど、妻の QV-10A はまだ残っています。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、世界最初のドメイン名が登録された日(1985)
…と言ってしまって良いものかどうか。
一応、この前から「ドメイン名」は存在していました。
ただ、登録機関が作られ、最初に正規の手続きが取られたのは、 SYMBOLICS.COM で、1985年3月15日に登録されているのです。
インターネットは、初期の頃に IPv4 が完成し、IP アドレスを直接使ってコンピューターを指定していました。
しかし、これは覚えにくく、不便です。
そこで、HOSTS.TXT という仕組みが考えられます。
テキストファイルで、IP アドレスとホスト名(コンピューターの名前)の組を書いただけのファイル。
ホスト名を指定すると、自動的に HOSTS.TXT を調べて IP アドレスにアクセスを行います。
この HOSTS.TXT は、マウスの発明者としても知られるダグラス・エンゲルバートが管理していました。
彼はスタンフォード研究所(Stanford Research Institute)に所属していましたが、自分のマシンで、この HOSTS.TXT を FTP 公開していました。
ですから、時々 FTP で最新の HOSTS.TXT を取り出し、自分のマシンに入れる必要があります。
Stanford Research Institute's Network Information Center
「スタンフォード研究所 ネットワーク情報センター」の頭文字をとって、SRI-NIC と呼ばれます。
しかし、このやり方は、1980年代の初頭にはホスト名が数百件を超え、破綻気味でした。
そこで、ポール・モカペトリスが、ホスト名の分散管理を考案します。
Domain Name System …いわゆるDNSです。
1983年11月に構想の概要が公表されています。(RFC882,883)
1984年10月には、ドメイン名の名付け規則が決められます。(RFC920)
1987年11月には、プロトコルなどの詳細などが決まって実装されます。(RFC1034,1035)
SRI-NIC では、命名規則が決まった後の 1985年にはドメイン名の登録受付を始めています。
そして、現存している「一番最初の登録」が、1985年3月15日登録の、SYMBOLICS.COM なのです。
さて、話としてはこれでおしまい。
でも、折角なので SYMBOLICS.COM について書いておきましょう。
MIT にジョン・マッカーシーという計算機学者がいました。
人工知能の生みの親の一人であり、タイムシェアリングを普及させた人で、Lisp 言語の設計者です。
さて、Lisp という言語、非常にシンプル、かつ強力な処理構造を持ちます。
面白いので紹介したいところなのですが、長くなるのでそれはまたの機会にしましょう。
ここで重要なのは、Lisp は List Processor の略である、ということです。
List 構造は、プログラマーならご存知かもしれません。
1つのデータの塊に、次のデータの塊への「ポインタ」を用意し、次々繋げていくデータ形式です。
データを移動したい際に、実際のメモリ上から動かす必要はなく、ポインタのつなぎ変えだけで済む、という利点があります。
Lisp は List Processor なので、すべて…データだけでなく、プログラムもこの List 構造で作られています。
さらに詳細にいえば、Lisp では、ポインタのつなぎ方がすべて二進木になっています。
ポインタの2つ組みが非常に重要なのです。
さて、Lisp は非常に柔軟なデータ形式を持っているのですが、そのぶん処理は遅いです。
たとえば、Lisp では整数型と浮動小数点型の数値は区別はされていますが、問題なく加算できます。
これ、今の言語では当たり前ですが、当時としては画期的なこと。
代償として、加算の前に「型チェック」や、必要なら「型の変換」が必要になるので、速度が遅いです。
そこで、Lisp 処理に特化したコンピューターが、MIT で開発されました。
後に多くのメーカーがこの市場に参入し、一般に「Lisp マシン」と呼ばれます。
Lisp マシンでは、word を保持するのに必要なメモリよりも若干大きめのビット数を確保してあって、データと型を一緒に保持していたりします。(タグ付きアーキテクチャ)
これにより、ハードウェアが型チェック・変換をサポートし、速度の低下を抑えます。
先に書きましたが、List 処理では「ポインタ」の操作が非常に多いです。
Lisp マシンでは、型の一つとしてポインタを持っていて、データを読んだ時に「次のメモリ」を参照すると、自動的にポインタの示す先に進んだりもします。
アドレスの概念がハードウェア的に隠蔽されているのです。
#Lisp マシンは Lisp を効率よく実行できるようにはなっていますが、他の言語、例えばCだって動かせます。
しかし、アドレスを持たないため、「ポインタ」概念は混乱があります。
やっと今日の話に戻れます。
世界最古のドメイン、SYMBOLICS.COM を取得した Symbolics は、MIT で開発された Lisp マシンを商用で販売する会社です。
実際には MIT の研究所内で活動し、その代償として成果は MIT に無償提供されました。
つまるところ、商用販売するから組織を分けただけで、実体は MIT の人工知能研究所なのですね。
ちなみに、現在はこのドメインは売却され、ドメイン名管理会社が所有しています。
「最古のドメイン」を知らせるページが設置されていますが、その会社の宣伝を兼ねているのでしょうね。
ところで、Symbolics のキーボードは…なんというか、とても個性的です。
画像は、Retro Computing Societyから引用させてもらっています。
クリックすると別ウィンドウで同じ画像を開くので、細部まで拡大してご覧ください。
このキーボード、「Space Cadet Keyboard」と呼ばれます。
Cadet というのは「士官候補生」の意味。
このキーボードを使う君は、将来宇宙で活躍するヒーローの候補だ! ってことですかね。
SF映画に出てくる、すごい装置っぽさはあるよね。
キーボードには謎の記号がいっぱいついています。
∞⊂∀∂みたいな数学記号はまだいいとして、👍👎👈👉とかありますからね。
Shift や Ctrl に当たるような修飾キーにも、「SUPER」「HYPER」「GREEK」とか、いっぱいある。
注目すべきは「META」かな。これ、Emacs ユーザーなら知っている「METAキー」の本物です。
今のキーボードでは ESC で代用するのが普通だけど。
このキーボード、{ } …いわゆる「弓括弧」もある。
以前、弓括弧が使えた最初のマシンはどれか、という調査をやったのだけど、その時にこのキーボードを発見して「すごい!」って思いました。
リンク先に書いてあるけど、MIT の Lincoln Keybord も数学記号とか { } とか入れてあるんだよね。
Symbolics も、先に書いたように実態は MIT の人工知能研究室です。同じような記号が使えるのは、多分関係あるんじゃないかな。
ドメイン名を登録開始した 1985年中には、5つのドメインしか登録されていません。
2番目は bbn.com。これも MIT と関係の深い、初期のインターネットを形作った企業です。
続いて、think.com mcc.com dec.com …やっぱり、全部 MIT と関連のある企業。
5番目の northrop.com が、やっと関連のない企業(航空機製造業)です。
でも、空軍がらみの企業だよね。MIT って、空軍や航空業界ともつながりがあるので、やっぱその関係かも。
ドメイン登録は SRI の仕事でしたが、SRI 自体は 1986年になってから、7番目に登録しています。
6番目は Xerox 、8番目は Hewlett-Packard。1986年は、シリコンバレー企業が続々登録しています。
同じテーマの日記(最近の一覧)
関連ページ
タネンバウム教授(1944) ストールマン(1953) 誕生日【日記 17/03/16】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、アンドリュー・タネンバウム教授(1944)と、リチャード・ストールマン(1953)の誕生日。
この二人が同じ誕生日、というのはすごい偶然だと思います。
タネンバウム教授は、MINIX の設計者。
MIT の卒業生で、カリフォルニア大学バークレー校で博士号を得ています。
その後、オランダのアムステルダム自由大学で計算機科学の教授を行っています。
この過程で、学生にコンピューターOSの仕組みを教える教材として、MINIX を設計。1987年に完成させます。
UNIX は、そもそもミニコンピューター(と書くと小さそうですが、パソコン=マイクロコンピューターより巨大なもの)で動くOSでした。
MINIX は、その機能を厳選し、IBM-PC で動くようにしたOSです。
MIT のハッカー風土を知り、バークレー校のBSDを知っている教授が作った、誰でも使える UNIX でした。
と言っても、MINIX は機能を限定した UNIX です。
MINIX でOSの仕組みを学んだリーヌス・トーバルズが、後に「ハイエンドな」IBM-PC で動く、フルセットの UNIX を作ります。
これが現在の Linux 。
ただし、Linux はOSの一番重要な部分、「カーネル」だけです。
周辺ソフトなどを整え、OSとして使えるようにするには、別のソフト群が必要でした。
話は変わって、リチャード・ストールマン。RMS とも呼ばれます。(ミドルネームは「マシュー」)
ストールマンも MIT の学生でした。ただし、卒業はせず、中退。
MIT のハッカー文化が消えつつあるときの学生で、書籍「ハッカーズ」の中では、最後の章でやっと登場します。
ハッカー最後の生き残りとして。
ハッカーの倫理は、当時のブームであった「ヒッピー文化」に深く根差しています。
誰かが作ったものは、皆で共有されるべき。すべてを公開し、秘密を無くすべき。
金もうけのために働き、稼ぎを自分一人の財産にする、なんていうのは、最も忌むべきことでした。
しかし、学生の時はそのような理想を口にしても、社会人になれば金もうけのために働く必要があります。
ハッカーたちの多くは、MIT 内の「AI研究所」に所属し、政府の助成金で研究をするモラトリアムを送っていましたが、その助成金すらも制限があります。
そして、みな自分たちの技術や知恵を「商品」として、商売をし始めるのです。
特に決定的だったのが、先日も書いた「Lispマシン」でした。
AI研究所では Lisp マシンを開発しましたが、この商品化のために Symbolics 社が作られます。
そして、「金儲けは許さない」とした一派と分裂。
許さないとした一派もLMI (Lisp Machine Inc) という会社を作り、結局は Lisp マシンで商売を始めるのです。
これが、ハッカー文化の終焉でした。
ストールマンはハッカー文化の中心となった人達よりも若く、このどちらの行動も許せませんでした。
…まだ若かったのですね。
そこで MIT を飛び出し、「すべてのコンピューターソフトをフリー(自由、無料)にする」という活動を始めます。
これが GNU 活動。
UNIX の複製品を作り、無料で配布することが当初の目的でした。
OS自体を作るのはなかなか難しいことです。
そこで、GNU は「周辺ソフト」から活動を開始します。
UNIX の標準コマンドは、すべて GNU 製品として用意しました。
一般的な標準コマンドよりも性能が良く、機能が多く、ソースコードも配布され、改造も自由で、無料です。
ソースコードは「Cコンパイラ」で処理すると、コマンドとして使える「実行ファイル」が出来上がります。
このCコンパイラも、GNU 製品で用意しました。
ソースコードの作成には、テキストエディタが必要です。
実は、ストールマンは GNU 活動を始める前から、Emacs というエディタを作っていました。
これも GNU 製品として使えるようにします。
UNIX 上では、OSは「カーネル」の部分と、ユーザーが操作を行う「シェル」の部分に分かれます。
このシェルも、従来より高性能なものを作成しました。
とにかく、UNIX のありとあらゆるソフトを無料で使えるように。
ただ、周辺ソフトは全部そろえられても、カーネルだけは作れません。
カーネルというのは、ハードウェアに密着し、その違いを隠す部分です。
上に書いたようなソフトは、そうした「違いが隠された」上で動作するものなので、OSが整っていれば、ある意味どこででも動作します。
しかし、OSのカーネルは、マシンごとに作成しなくてはならず、手間もかかるし泥沼の作業になりやすいのです。
さて、ここで先ほどタネンバウム教授のところで出てきた話に繋がります。
タネンバウム教授の MINIX で勉強したリーヌスが、Linux という新しい UNIX 準拠のOSを作りました。
ただし、カーネルだけで、周辺部分が一切ありません。
ストールマンは、UNIX 準拠のOSを用意しようとして、周辺一式を揃えました。
しかし、カーネルの部分がありません。
この二つを組み合わせれば、UNIX として使えるようになるわけです。
実際、現在の Linux は組み合わせた状態で「配布」されています。
ストールマンとしては、リーヌスの名前を付けた「Linux」という名前でこのセットが呼ばれることを、快く思っていないようです。
GNU/Linux と呼んでほしい、と呼び掛けていますが、あまりこの呼び方をする人はいません。
リーヌスとしては、Linux を GNU のライセンスに従って配布することにしています。
だから、ここでも GNU 製品と呼んでも差し支えないことになる。
もっとも、GNU の考え方も一枚岩ではなくて、GPL の解釈だって、リーヌスとストールマンで違います。
ここら辺、GNU に関してはいろいろな話があるのですが、長くなるのでまたの機会に。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
1971年の今日、アメリカで2つの特許が出願されています。
まずは、米国特許番号 3,728,480。
「Television gaming and training apparatus」
テレビ受像機による、ゲーム・訓練装置
出願者は、ラルフ・ベア。
彼が、テレビ受像機を、放送を見る以外に使えないか? というアイディアを思い付き、ゲーム機の研究を行ったのが、1967~1968年。
最終的に「Brown BOX」としてまとまります。
これを量産品として販売した Odyssey は 1972年。
発売前に特許を出願したようです。まぁ、普通の判断。
世界で最初のテレビゲームの一つですが、詳細は上のリンク先をお読みください。
もうひとつは、米国特許番号 3,842,194。
「Information records and recording/playback systems therefor」
情報保持、記録/再生のためのシステム
出願者は、RCA の研究者であった、ジョン・クレメンス。
「静電容量ディスク」の特許です。
今では聞きなれない方式ですが、一時期非常に注目され、テレビゲームとも縁が深いです。
1959年には、RCA のトーマス・スタンレーによって「静電容量ディスク」のアイディアが考案されていたそうです。
これは、普通のレコード盤にビデオ信号を記録する、というもの。
レコードは、音…つまり、空気の揺らぎを、レコードの「溝」の揺らぎとして記録します。
しかし、ビデオ信号は音よりももっと周波数の高い「光」の波であり、この方式では記録できません。
光と電気・磁気信号は近いものなので、せめて電気・磁気で信号を記録できれば…というところ。
実際、ビデオテープなどは磁気を使いますし、DVD などはレーザー光線を使い、光で記録を行います。
#DVD は前段階として、デジタルによる信号圧縮も行われているので単純ではないですが。
静電容量ディスクは、レコードのような「ビニール樹脂」が、静電気を溜めやすい性質を利用したものです。
小さな穴を作り、そこに「静電気」を溜めようとすると、穴のサイズによって溜められる量が変わります。
この「静電容量」を信号として取り出せれば、電気的な記録が可能です。
物理的な溝の揺らぎで記録するよりも、高密度で、高速に読み出せる記録が可能でした。
1964 年には RCA で本格的に研究が始まり、1971 年までに技術を確立し、特許が出願されたのです。
アメリカでは、RCA から CED(Capacitance Electronic Disc :電気容量ディスク、の意味)として発売されています。
日本では、この方式をさらに改良した、VHD(Video High Density Disc :高密度ビデオディスク)として 1981年に発売されました。
ちなみに、根本的な部分の改良なので、CED との互換性はありません。
CED では、レコードのように1本のらせん状の溝があり、その溝に従う形で信号記録のための穴があけられていました。
しかし、VHD には溝がありません。完全に平らなディスク上に穴があけられ、読み出し針は自由に動くことができます。
これによって、ランダムアクセス…頭出しが可能なことが VHD の特徴でした。
また、溝がないことから「針が溝を削る」こともなく、摩耗しにくい…ともされましたが、それでも物理的な接触はあるため摩耗します。
ところで、CED/VHD のライバル規格として、レーザーディスク (LD) があります。
フィリップス/MCA が企画したもので、日本ではパイオニア1社のみが製造していました。
こちらは 1978年にはアメリカで発売、1980年に日本で発売しています。
名前の通り、レーザーで読み取ります。接触しないので摩耗はなく、ランダムアクセスも可能です。
ただし、記録時間は LD が30分、VHD が1時間でした。
LD は「両面ディスク」を発売し、1枚で1時間として欠点をカバーしましたが、途中で裏返すという手間が増えます。
(のちに記録方式を拡張し、片面1時間にも対応。)
レーザーという「新技術」を使っていたため、機械が高価なのも普及を妨げていました。
しかし…ここからが、今日の本題。
1983 年、「ドラゴンズレア」が発表となります。
世界初の、レーザーディスクを使用したテレビゲームでした。
まだゼビウスが「最も美しい」テレビゲームだった時代に、ディズニー風のセルアニメで遊ぶゲームは、まさに異次元のものでした。
LD の機械が高価でも、業務用として売れない値段ではありません。
例え 30分しか記録できなくても、業務用ゲームのプレイ時間としては十分です。
そして、すぐに再生画面が切り替えられる、というランダムアクセス性を活かし、操作に成功すればアニメが続き、失敗すればすぐに「やられた」画面を表示するようになっていました。
LD の欠点をカバーし、長所を伸ばす形で応用したゲームにより、LD の存在感を示したのです。
ドラゴンズレアは大ヒットゲームとなり、日本でも、サンダーストーム(DATA EAST)、タイムギャル(TAITO)、バッドランズ(KONAMI)などなど、多数の LD ゲームが発売されます。
#アストロンベルト(SEGA)は微妙な所。
ドラゴンズレア以前から開発されていた一方、背景を LD に任せただけの普通のシューティングゲームだから。
そして、これらの「家庭用」は、主に VHD で発売されました。
LD よりも VHD のほうが、本体価格が安くて普及していましたから。
#もちろん、LD でも出ましたけど。
ただし、ゲームで遊ぶにはそれなりの設備が必要になります。
主に、テレビとの親和性が重視されたパソコンだった、シャープの X1 と、VHD の開発元であるビクターも製造していた MSX 用にソフトが発売され、パソコンから制御できる機能を持った VHD プレイヤーも必要でした。
参考:VHD サンダーストーム
ランダムアクセスと言っても、読み取りヘッダの移動時間は物理的に必要です。
LD や VHD のゲームでは、特殊なフォーマットで記録を行うことで、こうした「移動時間」を最小にしています。
確か、当時のベーマガで、この技術を説明していました。
VHD は普通らせん状に1本にデータが記録されているのだけど、この「らせん」を2本にする、というもの。
通常映像のすぐ横の溝に、「失敗した時の分岐先」を用意することで、ヘッダの移動時間を最小化するのです。
これ、昔の「ひもを引くとランダムにしゃべる人形」…トイストーリーのウッディみたいなおもちゃで使われていた技術と似ています。
…って書いて判る人はほとんどいないでしょうね (^^;;
ウッディみたいなおもちゃは、中に非常に小さなレコードが入っています。
レコードには普通溝が1本ですが、4つの溝が刻まれていて、ひもを引いてバネを巻いたときに、たまたま針が落ちたところの音声が再生されます。
VHD ゲームは「オリジナルソフト」も多少はあったのですが、VHD ゲームを作るのは手間がかかるため、ほとんどは業務用の移植でした。
ただ、ビクターもパソコンとセットにできる VHD プレイヤー、なんて高価なものを売った以上はソフト供給の責任があるわけで、いろいろ変わり種も発売していました。
ゼビウスの背景が延々と流れるだけのディスク、というのがあったのを覚えています。
通常そんな画面が出るわけはないので、ゼビウスのソフトを書き換えて、わざわざ専用に収録したものだったそうです。
当時、ゼビウスは「移植不可能」と言われていましたが、最大の問題が背景のスクロールでした。
当時のパソコンにはスクロールのハードウェアなんてなかったため、すべてのドットをソフトウェアで書き換える必要があったのです。
ここに、ゼビウスの背景 VHD を垂れ流して、ゲームに関係するキャラクターだけ書けばよいとしたらどうでしょう?
きっとそんなソフトが発売されるに違いない、と思ったのですが…
…出るわけありませんでしたね。
パソコンだけでも高価だった時代、特殊な VHD本体と接続キット、さらにゼビウスの背景 VHD まで買った人しか遊べないゲーム、なんて需要あるわけありませんし。
LD ゲームは、画面はきれいかもしれませんが、その特性上「自由に動く」ようなことは出来ず、画面の指示に従ってタイミングよく操作を行うだけの、覚えるだけのゲームでした。
そのため、あっという間にジャンル自体が廃れます。
1984~1985 のわずかな期間に、ほとんどのゲームが発売されたのではないかな。
ちょっと特殊な所では、1990 年のギャラクシアン3。
あまり LD ゲームとはされません。
セガの「アストロンベルト」と同じで、背景が LD で、その上にキャラクターを重ねて3Dシューティングゲームを行う。
ただ、7年もたっているので技術は格段に上がっていて、背景とキャラクターの間に違和感を感じません。
1990年の、いわゆる「花の万博」で披露されたもので、28人が 360度スクリーンで同時に遊ぶという、大規模なものです。
後に6人で遊べるバージョンが作られ、ゲームセンターに置かれました。
…といっても、これも非常に高価で、置かれた店は限られていましたけど。
(大学の近くにあったので、仲間と一緒に遊びに行きました)
こんな大型機で、しかも LD なんて特殊なものを使っているので、保存しておくのも大変なようです。
2010年に大規模な「LD エミュレーション」を作成するプロジェクトが行われています。
LDプレイヤーが入手困難になっているので、全動画を PC に取り込み、LD 制御信号を解釈するプログラムを作ることで、PC に LD プレイヤーの代わりをさせる、というものでした。
これは、「アーケードゲーム博物館計画」さんの所有物で、年に数回開放しています。
そのタイミングで倉庫に行けば遊ぶことができるそうです。
僕も、昨年秋に友達と遊びに行ってみようと計画していたのですが、残念ながら昨年秋の開放は中止になってしまいました。
#今回「静電容量ディスク」の話のはずが、すっかり脱線してしまいました。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は X68000 発売日(1987)
ちょうど 30 年だ、というので記録しておきます。
X68k については、もう 20年前に言いたいこと言っているので、いまさら言うことは何もないです。
公開してから気づいた。
2年前にも X68k の発売日書いてるじゃないか…
鳥頭にもほどがある。
公開当日の内の追記。
シャープ公式の人のツイート。
当時は「この日」から全国一斉発売!という製品も多くなくX68000もその一つなのですが、いくつかの社内資料から「3/28」を誕生日としました。というわけで
— シャープ製品 (@SHARP_ProductS) March 28, 2017
30年前の今日3/28に、シャープからX68000発売。 #私とX68 で皆さんの思い出/写真共有してください。 pic.twitter.com/Kd2KVu4AYb
20年前に書いた僕の記事では、「春発売」と書いている。
当時の記憶では、発売日が明確になってはいなかったからだ。
2年前の日記は、公式に「3/28」となっていたのでその日に書いた。
僕が知らなかっただけで、ちゃんと発売日設定があったのかな、と思って。
しかし、上のツイートで疑問が解消した。
どうやら、今日が発売日、と明確に定まるわけではないようだ。
後日追記 2017.4.7
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
先日、なんだかネットの調子が悪いことに気付いた。
サーバーの調子かな、と思って調べてみたり、いろいろ絞り込むうちに、どうやらルータが何か変だ、と気づく。
ルータの設定が何かおかしいのかな、と見直してみる。
項目をいじったら、リセットを促された。そして…再接続しない。
げ! 困った。設定をいじってみたり、いろいろするけどなかなか接続できない。
使っていたルーターは、webCaster V120。NTT の純正品(?)だ。
ちなみに、この前は V110 を使っていた。順調なバージョンアップ。
でも、購入は9年前、機種としては10年前のものだった。
何かおかしい。設定はあっているはずなのに接続できない。
「すでにその ID でログインしている」と怒られる。
スマホで(LTE 電波で)情報を探す。
使っているプロバイダのページに、「接続できない場合は10分くらいたってから再接続」と書かれていた。
えーと、切断しても「ログインしている」とみなされてしまうような場合でも、10分くらいで強制切断されたりするのかな。
試してみると、接続できた。が、すぐ直後にまた切れてしまう。
やはり調子が悪い。いじった設定のせいかもしれない、と設定を元に戻し、また10分待ち、再接続。
しかし接続できない。
おかしい、と思っていじり始めたのが夜10時過ぎ。
何かするたびに 10 分まつ、というようなやり方をしているので、あっという間に深夜1時を過ぎた。
違うことを試してみる。
ルータは PPPoE で上流に接続しているが、この接続を2つ作れる。
1番目のプロファイルを2番目にコピーし、2番目で接続して見ると…接続できた。
全く同じ内容のはず。もう一度1番目で接続すると、接続できない。
PPPoE はソフト的に処理されていると思うので、この2つは等価であるはずなのだけど、なんで?
実はソフトではなく、それぞれの回路が作り込まれていて、片方だけおかしくなった? なんて考える。
しかし、もう夜は遅い。
外部公開しているサーバーなどは、どちらの接続を使っているかの影響を受けてしまう。
この設定を書き換え、問題なくなったところで就寝。深夜3時近かった。
#主夫なので朝5時には起きないといけない。
でも、春休みで子供の学校もないし、6時まで寝てしまった。
さて、翌朝。
ルータの調子が悪いのは事実だし、新しいルータを買うことにする。
V120 には IP 電話の機能がついていて、プロバイダの提供する、NTTコミュニケーションズ系(以下NTTC)の IP 電話を使用していた。
だから新しいルータにも同じ機能が欲しいが…ない。
NTT純正品は、古いものをいまだに売っていて、低性能で高い。
高性能なものを選ぶと、値段に関わらず、IP 電話機能は付いていない。
その代わりと言っては何だけど、今のルータには WiFi 機能がついているのが普通だ。
V120 はオプションで、このオプションが妙に高いので別の WiFi ステーションを使っていた。
そして、探すと IP 電話のアダプタはそれほど高くない。
今ルータのそばにある WiFi ステーションを無くし、代わりに IP 電話アダプタを置けばよい。
というわけで、ルータと IP 電話アダプタを購入。
ルータの置き換えは おおごと になるので、まずは IP 電話を設定しようと思った。
…設定がわからない。
詳しく書くと長くなるので書かないけど、NTT純正の IP 電話機能は、NTTCの設定に特化することで、使いやすくしてあった。
この言葉は嫌いだけど、「ガラパゴス化」だ。だから、新しい機種も出ない状態になっていたのだ、と気づいた。
NTTCが悪い、というのではなくて、電話って各国で少しづつ規格が違って、対応するのが大変なのだ。
購入したのは海外製のアダプタで、どこの国でも使えるようにやたら設定項目が多い。
それよりは、NTTCがNTT純正品として、国内用の設定を「固定化」させた機種を売っていても、良いサービスだと思う。
まぁ、ともかくたくさん情報を調べたのだけど、今のところ設定方法がわからずに頓挫している。
で、仕方がないからこの部分だけ今まで使っていた V120 を使えないか、と思った。
ルータの内側に、ルータ機能を殺した V120 を置いて、IP 電話アダプタとして使う、という案だ。
ここで調べていて、意外な一文と出会う。
「IP 電話機能は、PPPoE の1番目で接続している時のみ使用できます」
ルータとして動いていないといけない、というのであればまだ理解できる。
でも、1番目の接続でないと動かない。
ということは、PPPoE はソフトウェア処理で、1番目と2番目は等価である…と思っていたのが間違いなのかな。
1番目と2番目は別の回路で処理されていて、1番目の回路に IP 電話の機能がつけられている。
これなら、1番目が調子が悪くて2番目なら動く、というのも説明が行く。
いろいろと腑に落ちたのだけど、IP 電話は当面使えない、ということが確定した。
この電話、仕事用で、仕事では大抵メールを使っているので、数少ない相手が年に1度かけてくるかどうか、という程度のものなので、ダメならあきらめもつくのだけど。
#仕事電話番号にしていて、名刺に番号を印刷してしまっているのが一番の問題。
この名刺も、ほとんど配らないのだけどね。
ルータは、とりあえず家の中の WiFi ステーションとしては動き出している。
5Ghz 帯も使えるようになり、快適に動くね。
ルータを変えることで「固定 IP 接続」の IP が変わってしまうと困るので、DNS の ttl を短く設定し直した。
キャッシュが無くなったころに切り替えを行おうと思う。
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、西角友宏さんの誕生日(1944)
名前はあまり有名ではありませんが、作り出したものは多くの人が知っている。
スペースインベーダーの開発者です。
過去に世界最初のゲームについて書いていますが、まぁ、多くの人が世界最初のゲームは PONG だと考えています。
これは商業用として最初にヒットし、ゲーム業界を作り出した作品。
でも、その前に同じ作者による、「COMPUTER SPACE」というゲームがあります。
PDP-1 で遊ばれていた「SPACE WAR!」を業務用にしたもの。
…なのですが、もちろん業務用にするためにルールは違いますし、最大の違いは、SAPCE WAR! がプログラムで作られていたのに対し、COMPUTER SPACE は回路で作られているということ。
当時、コンピューターはまだ非常に高価でしたし、プログラムを解釈して処理できる機械を作ろうとしたら大変でした。
だから、安くするためには回路で組まないといけなかったのです。
PONG も回路ですし、その後の多くのゲームも回路で作られています。
しかし、タイトーから発売されたスペースインベーダーは CPU 8080 を利用して作られ、回路では実現できないような複雑な内容を持っていました。
そのために大ヒットしますし、同じように「プログラムされた」ゲームが大量に作られ、ゲーム業界を作り出すことになります。
#ソフトウェアで作られた初の業務用機、ということではない。
インベーダー以前に日本でもヒットした「サーカス」(風船割ゲーム)も 6502 を使用している。
ただ、サーカスは絵がきれいになり、遊びに幅は出たものの、ブロック崩しの亜流に過ぎない。
インベーダーは、ブロック崩しのブロックが動いたら面白いのではないか、というアイディアから着想されたそうです。
ブロック崩しは、ただでさえ狙うのが難しいゲーム。
動いたらとても狙ってられないので、直接「撃つ」ことにします。
ということは、ボールがないのだから、「落としたらダメ」にはできない。
そこで、敵からも反撃があるようにします。
このままだと戦争ゲームになってしまい、なんだか血なまぐさい。
当時スターウォーズが流行していたので、宇宙戦争ということにします。
これで大体インベーダーゲームの骨子の出来上がり。
非常に論理的に組み立てられていますが、「全く新しいゲーム」を感じさせてくれました。
プログラムで作られたゲームとしては最初期のものなので、バグも多いです。
ミサイルがインベーダーの「下」ではなく、「2つ下」から出てしまうため、密着するとやられない。
いわゆる「名古屋撃ち」です。
インベーダーは左右に動きますが、右に進むときは、左に進むときよりもわずかに速いです。
これもバグだったそうですが、微妙な速度の緩急により、ゲームを単調ではなくしていました。
ビットマップの画面にキャラクターを描き、動かすときには消す必要があります。
でも、インベーダーは左右にしか動かないのだから、左右の余白を大きくしておけば、新しく「描く」時に、以前のものも消してくれる。
…はずでしたが、一番大きな 10点インベーダーが、上に書いたバグにより、最高速で右に進むと軌跡を残しました。
いわゆる「レインボー」。
バグかもしれませんが、すべてがいい方向に動きました。
他社からも真似をしたゲームが多数発売されましたが、バグをとってしまったゲームは「つまらない」と言われてしまう始末。
PONG のコピー基盤でアメリカのゲーム業界が形成されたように、日本ではインベーダーのコピー基盤でゲーム業界が形成されます。
コピーというより「パチモン」と言ったほうがいいかな。
まるっきりコピーする、いわゆる「デッドコピー」ではないです。
(デッドコピーもありましたが)
任天堂も、セガも、コナミも、アイレムもニチブツも、インベーダーのコピーを作っています。
もちろん、今でも残るメーカーは「真似」だけで終わらずに、その後オリジナル作品などを作って生き残ってきたのですが。
インベーダー以前のゲーム機は、遊園地や、デパート屋上スペースや、映画館や、喫茶店などに置かれるようなものでした。
でも、インベーダーの大ヒットで、インベーダーだけをたくさん並べたお店、いわゆる「インベーダーハウス」が乱立します。
ブームの終焉と共に無くなった店も多いですが、これらの一部が「ゲームセンター」として生き残っていきます。
メーカー側、店舗側、どちらもインベーダーの出現で大きく変わったのです。
インベーダーが日本のゲーム業界を形成した、と言ってよいかと思います。
西角友宏さん個人については、実のところ僕はそれほど知りません。
まだ精力的に活動しておられる方で、実際にあって話をしたような人の記事も、ネットを探せばたくさん見つかります。
インベーダーが大ヒットしてしまったがゆえに、「アフターサービス」で、インベーダー基盤の交換用ソフトをしばらく作っていた…なんて話もあります。
他社製品ではスプライトが使えるようになったりする中ですから、羨ましくもあったようです。
でも、制約の中で作ったゲームは大ヒットとはいかずとも、よく考えられた面白いゲームだったと聞いたことがあります。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
恥ずかしながらケアレスミスによるバグを出した。
恥ずかしい話だし、黙っていればいいのだけど、思うところがあったので書いておこう。
PHP でサーバー側を、Javascript でクライアント側を動かすプログラムを組んでいた。
まぁ、良くある話だ。
両言語とも、いろいろと似たところのある言語だ。
データの型は比較的緩く、必要に応じて自動変換される。
たとえば、
32 + "1"
と書くと、33 になる。前の 32 は数値、後ろの 1 は文字列なのだけど、計算しようとしているのだから両辺を数値にしないといけない、と気を回してくれるのだ。
"32" - 1
と書くと、31 になる。これも、同じように文字列の 32 を数値に変換してくれるんだ。
では、次の式はどうなるだろう?
"32" + 1
これは、PHP では 33 で、Javascript では "321" だ。
PHP では + は計算に使われるものなので、左右にあるものを数値にする。
でも、Javascript では + は計算と文字列の連結の両方に使われる。
左側が優先されるので、左側にあるものが数値なら計算になるし、文字列なら連結になる。
PHP では、文字列の連結は . (ピリオド)で示す。
"32" . 1
これで、PHP では "321" になる。
同じことを Javascript でやると、エラーになる。
さて、PHP と Javascript では、文字列の連結方法が違う。
でも、同時に使っていたので、うっかりして Javascript で次のようなプログラムを書いてしまった。
var foo = "bar" . str;
ここで str は文字列の入った変数だ。
文字列を連結しようと思ったのだけど、間違えて PHP のやり方で書いている。
先に書いたように、Javascript では文字列の連結は + なのでエラーに…ならない。なってくれれば気づいたのだけど。
Javascript では、 . (ピリオド)はオブジェクトのプロパティへのアクセスを意味する。
オブジェクトっていうのは、まぁざっくりと言えば、名前を付けた複数のデータを保持する仕組みだ。
AWK や perl 、またはそれらの影響を受けた言語では「連想配列」や「ハッシュ」と呼ばれるものと同じだと思っていい。
var obj = {a:1,b:"Hi!"};
ここで obj.a は 1 になるし、obj.b は "Hi!" になる。
C言語系の言語では、配列のアクセスは [ ] で行われる。
Javascript では、こちらの方法も使えて、obj["a"] は 1 で、 obj["b"] は "Hi!" だ。
[ ] と . (ピリオド)は、少し違うけど「ほぼ」同じものなんだな。
「ほぼ」と括弧書きで書いたのは、完全に同じではないから。
ピリオドで書く場合、後ろに書かれるものが「名前」である必要がある。
[ ] で書く場合は、名前ではなく「リテラル」である必要がある。
多くの言語では、単語は「名前」と「直値(リテラル)」に分けられる。
リテラルには大きく分けて数値リテラルと文字列リテラルがある。
それ以外は、大体「名前」だと思っていいだろう。
(細かく見れば他にもいろいろあるのだけど)
さきに "32" . 1 という例を出したけど、"32" は文字列リテラルで、1 は数値リテラルだ。
だから、ピリオドの後ろには名前が来る、というルールに違反していて、エラーになる。
でも、ほぼ同じ書き方である "32"[1] ならエラーにはならない。"2" が返ってくる。
#最後の例はC言語と同じ動作を提供しているのだけど、案外知られていない。
文字列を配列アクセスすると、0 から始まる「位置」に応じた文字を、文字列として取り出せる。
先に書いた間違い、
"bar" . str
の場合、 str は文字列リテラルでも数値リテラルでもない。
これは変数 str の指定…正確にいえば、変数の内容を参照するために、 str という「名前」を書いたのだ。
意図としては、文字列リテラル "bar" に、変数 str に入っている内容の文字列を連結、だった。
ただ、連結の演算子を間違えて、PHP 風に表記してしまった。
すると、オブジェクトのプロパティアクセス演算子となる。
str は変数ではなく、"bar" オブジェクトのプロパティとなってしまう。
Javascript では、すべてのものは「オブジェクト」だ。文字列リテラルであっても例外ではない。
先に書いたように、オブジェクトの正体は連想配列に過ぎない。
そして、文字列オブジェクトの場合、関連情報が連想配列として保持されている。
例えば、「文字列の長さ」という関連情報は、length という名前で保持されている。
だから "bar".length とすれば、 3 が返される。
"bar".str は、定義されていない情報を参照した、というだけで、文法エラーではない。
この場合、定義されていないことを意味する、 undefined という値を返す。
恥ずかしいバグ、というのはこれなのだけど、長いコードの中にこれが混ざっていた。
ここで作りだそうとしていたのは、別サーバーにアクセスする際に渡すパラメーターだった。
さらに、このパラメーターはアクセス自体には影響がなく、アクセス理由などをログに残して解析するためのものだった。
結果として、正しい値を渡せていないにも関わらず、プログラムは動作した。
そして、別サーバーは僕の管轄ではなかったため、ログに正しく記録できているかを調べる術はなかった。
つまり、僕は自分で作ったこのバグに気付かなかったんだ。
ログがうまく取れてない、という報告があって付近を見回し、str の内容などが正しく来ていることなどを確認しても、+ と . を間違えていることに気付かなかった。
僕としては「文字列を連結したい」ところに、PHP で文字の連結を行う . を正しく書いているので、おかしくないと思っていたんだ。
でも、ログがうまく取れていないのはどうやら事実らしいし、バグの可能性範囲を絞り込んでいって…30分くらいたって、やっと自分の過ちに気が付いた。
恥ずかしい、と思うけど、プログラマなら誰でも同じような経験を持っていると思う。
自分が「正しい」と思っていることは、間違えていてもなかなか気づくことができない。
で、思ったんだ。
FORTRAN のことを「古い言語」と笑えないぞ、と。
FORTRAN の有名な「おかしな言語仕様」として、, (カンマ)と . (ピリオド)を取り違えてしまってもエラーにならない、というものがある。
見た目も似ているので、見直していても気づきにくい。
そして、金星探査機を失うわけだ。…いや、これは都市伝説に過ぎないのだけど。
そもそも PHP と Javascript の記法を間違えたからいけない、という話ではある。
でも、それをエラーにできず、構文の間違いに気づく機会を失うのは、FORTRAN と同じような言語の不備だ。
Javascript の場合、アクセスできないとなんでも undefined にする。
ここで、アクセスできないならエラーになるのであれば、構文の間違いに気づいただろう。
もっとも、アクセス違反があってもプログラムが動き続けてくれる気軽さは Javascript のよさでもある。
strict モードをつかったらどうだろう…と思ったけど、これもエラーにはできないようだ。
"32"-1 は計算になるのに "32"+1 は文字列の連結になる、という対称性の悪さも気になる部分ではある。
ここは、連結に . (ピリオド)を割り当てた PHP のほうが良いように思うが、そのせいで PHP は、オブジェクトのプロパティアクセスに -> という面倒な記号を割り当てることになった。
FORTRAN の時代に比べて、言語は便利になったと思うのだけど、こうした「単語の解釈」で足元をすくわれる、というのはあまり変わっていないのかもしれない。
"bar" . str の例でいえば、後ろが「プロパティ名」ではなく「変数名」だと判れば、文法違反でエラーにできる。
でも、文字で書くとどちらも名前であり、情報が足りないために類推するしかない。
例えば、PHP であれば変数名は $ で始まり、プロパティ名には $ がつかないため、こうした文法違反を検出しやすい。
まぁ、変数が必ず $ で始まる、という古臭い仕様が良いとは言わないのだけど。
結局、文字を並べてプログラムする、というやり方の限界だとも思う。
Scratch が良いとは言わないけど、「ブロック」を選んで組み込む方式なら、選んだ時点でプロパティか変数かは確定する。
表示上は「名前」だけを示してすっきりとさせつつ、内部的に情報を保持しておけばよいだけだ。
情報の違いによって、表示の色を変えるなどすれば、ユーザーもミスした際に気付きやすいだろう。
語句解析で情報を「類推」するのではなく、語句の中に見えない情報を埋め込んだ言語だな。
その情報によって、プログラマーのケアレスミスを未然に検出する。
そもそも、Scratch の場合は、「組み込めない」場所には、ブロックが入れられないようになっている。
子供向けだからこその配慮だけど、ケアレスミスは起こせない。
いつまでもテキストだけで書こうとするのではなく、これからはそういう方向の言語だってありだと思う。
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、フィル・カッツの命日(2000)
Phillip Walter Katz。
彼は自分の作ったソフトに、名前の頭文字を取って PKZIP と名付けました。
今でも使われる、拡張子 ZIP の圧縮ファイルのフォーマットを決めたソフトです。
詳しい話は、誕生日記事で書いています。
興味を持たれましたら、そちらをお読みください。
この日記は、ただ命日の日付を記録する目的です。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |