11/29/2014

BCJのモツレク

日本が誇る古楽オーケストラ・合唱団、鈴木雅明率いるバッハ・コレギウム・ジャパン(BJC)演奏のモーツァルトの未完の作品「レクイエム」のCDを購入。レクイエムは未完なので、どの補筆版を使うかが一番気になるところ。補筆稿はかなりの数あるようだが、CDになっている代表的なものは次のようなもの。

  • ジェスマイヤー版: 未完のレクイエムを最終的に完成させたのが弟子のジェスマイヤー
  • バイヤー版: ジェスマイヤー版の音楽的に問題がある部分を音楽学者フランツ・バイヤーが修正
  • モーンダー版: 音楽学者リチャード・モーンダーによる補作。ジェスマイヤー部分を極限まで排除し、モーツァルトの作品で修正。そして、モーツァルトが8小節までしか作曲しなかったラクリモサの終結部分に、1961年に発見されたアーメン・フーガのスケッチを復元して導入
  • ランドン版: ハイドン学者ロビンズ・ランドンが当時補筆を行ったアイブラー、フライシュテットラー、ジェスマイヤーを再構成
  • レヴィン版: 音楽家ロバート・レヴィンによる補作。独自に復元したアーメン・フーガの導入、オーケストレーションを現代的に修正

今回、BCJが採用したのが、鈴木雅明さんのご子息の鈴木優人さんが補筆校訂したもの。ライナーノーツによると、ジェスマイヤー版をベースに、最初に補筆を行ったアイブラーのオーケストレーションを取り入れ(怒りの日)、更にラクリモサの後にアーメン・フーガを挿入している。パッと聴いて、驚いたのがラクリモサの最後が「アーメン」と歌われて終わるのではなく、「レクイエム」と歌われる点。続くアーメン・フーガを考えてのことなのかもしれないが、これはアーメンで良かったように思った。アーメン・フーガはやはりあった方がいい。

未完の「レクイエム」はモーツァルト自身が完成させることはできないので、今後も補筆校訂版が作られることだろう。

51TZ5OWKhBL

11/28/2014

昨日、Amazon CloudFrontが障害

日本時間11月27日の9時から10時半頃まで、AmazonのCloudFront CDNが、DNSの問題で日本を含む大規模障害があったそうだ。障害は約90分ほど続き、数千のWebサイトに影響があった。大きいところでいうと、Instagram、Voxメディア系(The Vergeなど)。落ちてはいけないサービスは、CDNは複数必要という事か...

TurboBytes blog、Hacker News threads

11/27/2014

LaTeX/TikZでエッシャー・イリュージョン

Hacker Newsを眺めていたら、TikZ描画例にエッシャーの不可能立体やペンローズの三角形があるそうだ。すっかりLaTeXを使うこともなくなり、恥ずかしながらTikZの存在を知らなかったのだが、英文のマニュアルは1100ページ以上もあるとか。まずは、チュートリアルで遊んでみようかしら。

Escher brick penrose triangle

NaNoGenMo (コンピュータプログラムに小説を書かせる)

アメリカでは11月、5万単語の小説を一ヶ月で書いて投稿しようという「NaNoWriMo (National Novel Writing Month」なるプログラムがあるんだそうだ。小説を書いてみたいけど、発表するのはちょっと...と、ためらう人に向けたプログラムとか。限られた時間で決められた量を設定することで、書くことに集中できるそうだ。恥ずかしながら知らなかった。

そんな中、The Vergeによると、コンピュータプログラムに小説を書かせるというプログラム「NaNoGenMo (National Novel Generating Month)」も行われているそうだ。このプログラムは昨年ダリウス・カゼミ(Darius Kazemi)氏によって発案されたもので、完成した小説とコードを一緒に公開する。昨年作られた中の傑作の一つに、Nick Montfort氏の「World Clock」があり、たったの165行のPythonコードで書かれている。なんと、印刷本として発売されているのには驚いた。

11/26/2014

Regin: 新手のミリタリーグレードのマルウェア

スタクスネット(Stuxnet)を思い起こさせるような「Regin」という高度なマルウェアが見付かった。Reginは中東やヨーロッパの政府機関、通信会社、企業などを狙って2008年から2011年の間、スパイ活動に使われてきたとのこと(シマンテックカスペルスキー)。InterceptはNSA/GCHQの作戦と報じている。

11/25/2014

この世は本物なのか? (シミュレーション仮説)

Aeonのシミュレーション仮説の超訳(Hacker News)。シミュレーション仮説は、タイムパラドックスのようなものなのかも。ジェインウェイ艦長も言っていた。「タイムパラドックスを解消する方法は簡単よ。考えないこと」。まさに、シミュレーション仮説も「考えないこと」なのかも。

人類は永遠には続かないだろう。いずれにせよ、人類は宇宙から消えることになるだろうが、その前に詳細なまで鮮明な人間としての体験をエミュレートできる十分な計算能力を集めようとするかもしれない。哲学者や物理学者は、すでにそれがあり得るかどうか考え始めている。我々はコンピュータシミュレーションの中にいて、経験する現実はただのプログラムの一部なのかもしれない。

現代のコンピュータ技術は非常に洗練されており、量子コンピュータの到来で、さらに洗練されていくことだろう。より強力なマシンで、我々は完全な生命体(人間でさえ)を含む複雑な物理システムの大規模シミュレーションを実行することができるだろう。しかし、どうしてそこでやめるのか?

その考えはそれほど馬鹿げているわけではない。ある哲学者は、我々がコンピュータハードウェアの最終的な複雑さを認めるなら、我々は既に「アンセスター・シミュレーション」(人間の過去の仮想施設)の一部である可能性が高いと主張した。その一方で、原子核物理学者らは、あらゆる科学的なプログラムは仮定を単純化しているという考えに立ち、この仮説を検証する方法を提案している。もし、我々がシミュレーションの中に生きているなら、その考え方は、これらの仮定を検知するための実験に利用できるだろう。

しかし、これらの論理的かつ実験結果の見方として、我々が違いを見分けることができず、シミュレーション内に生きているという可能性を残している。確かに、提案されたシミュレーション実験の結果は、可能性としてシミュレーション世界に住んでいないことを説明できるかもしれない。とはいっても、疑問が残る: 我々はシミュレートされた人生を生きているのか生きていないのかどうかを知る手段はあるのだろうか?

未来のある時点で、知っての通り人類は消滅するだろう。我々は進化した子孫がいなくなって絶滅するか、あるいは一人もしくは複数のポスト・ヒューマン種を我々の継承者として委ね、我ら人類は最終的にいなくなるかどちらかだろう。しかし、もし我々が子孫を残せば、子孫がアンセスター・シミュレーション(意識ある人間が居住する仮想宇宙)を作りたいと思うかもしれない。そして、そのようなシミュレーションを作る技術が十分に一般的なら、シミュレーションの一人の経験が実際に現実の中で存在している人類の一人の 経験を数で圧倒するということが非常に急増するだろう。

あなたが偶然にも一人の意識的経験を持っていることを自分自身で見つけたら、面白い問題を提示する: どのようにあなたは、自分が現物の人間の一人なのか、アンセスター・シミュレーションなのか、特に後者がはるかに多く存在するような場合、それを知るにはどうするのか? 哲学者のニック・ボストロム氏はこの問題についての考え方の枠組みを提供している。彼は三つのうち一つが真実であると判断しなければならないと主張している。人類もしくは人類類似の種がシミュレーションの開発技術レベルに達する前に滅亡している、またはポスト・ヒューマン文明がこの技術を作りまた使用することに関心を持たない、あるいは我々自身がおそらくシミュレーションの一部である、のいずれかである。おそらくなぜなら、万物は平等で、意識的経験がシミュレートされた経験であることの方が確率は大きい。他の二つの条件(消滅または無関心)が間違いなら、より多くの手段があるだろう。

提案されたシミュレータの本質は非常に多様だが、ボストロム氏ははじめに我々の知覚された現実が仮想である可能性を検討していない。哲学的で科学的なルミネーション(反芻)に加えて、人間の意識がシミュレートされているという考えはSFの世界では不可欠な要素である。映画「マトリックス (1999)」で始まる三部作の中では、生体の化学反応がエネルギーとして収穫されながら、我々の知る世界が人間の脳の活動を維持するためのコンピュータシミュレーションという設定である。マトリックスの中で、人間は完全に没入型の仮想現実環境の中にアバターとして世界を体験する。しかし、シミュレーションは、心構えができた精神がその異常を見破ることができるという欠陥があり、現実の世界から人々がマトリックスをハッキングできた。

ボストロム氏の考えはいくぶん異なる: 彼の考えでは、単に人類だけでなく全宇宙がシミュレーションである。人生の全ての側面がコードの一部であって、それは我々の心やプログラムの非知覚部分との相互作用を含んでいる。しかし、ボストロム氏は、すべてのレベルでの現実の完全なエミュレーションは、強力なコンピューティングシステムでさえ、非現実的だろうと認識している。ちょうど、我々の科学的シミュレーションが抽象化のレベルを含んでいるように、過剰なディテールは要求されない。シミュレーションはおそらくいくつかのルールと仮定を利用しているのだろう。そして、全てのディテールがシミュレーションされる必要はないのだろう。これらは我々が実験を行った時、関わってくるだろう。例えば、「人間が微視的世界を観察することについて考えてみると、シミュレーションは必要な場合に応じて、シミュレーションの適切な領域の中で十分なディテールを伝えることができる」。ボストロム氏は論文「あなたはコンピュータ・シミュレーションの中を生きているのか? (Are You Living in a Computer Simulation?) (2003)」の中で書いている。そのように、プログラムはディテールの中にすべての粒子あるいは銀河を追っていく必要はないが、それらのデータが呼ばれた際、プログラムの中の宇宙は完全に一貫性のある現実を提供する必要がある。人間でさえ常にすべてのディテールの中でエミュレートされる必要はなく、「自分自身」の主観的な認知度が環境によって変化する。漫画「ピーナッツ」の中のライナスと違って、我々は必ずしも自分の舌に気づいているとは限らない。従って、シミュレーションはフォアグラウンドで動作する「舌」のサブルーチンを維持する必要がない。

計算能力の問題にぶつかることなしに、一つの惑星の文明がシミュレートできるということが事実だろう。

これらの哲学的な暗示以外に、シミュレーション仮説はいくつかの科学的問題に答えるのを手助けできる。地球に似た惑星がそれほど稀ではないことから、恒星間の通信あるいは旅行が可能な宇宙では文明が生まれることが十分に可能である。我々は今までのところまだそれに出会っていないので、どこに宇宙人がいるのか?という疑問を残すことになる。しかし、もし我々がシミュレーションの中に生きているなら、単純に宇宙人はプログラムの一部というだけではないかもしれない。事実、計算能力の問題にぶつかることなしに、一つの惑星の文明がシミュレートできるということが事実だろう。

同様に、力の統一理論を見つけることを物理学者が失敗しているのは、シミュレーションの中では不適当なためかもしれない。シミュレーション仮説が「ファインチューニング(微調整)問題」を解決することもできる: 我々の宇宙パラメータは生命を許しているが、それらを変更したことが生命のない宇宙を持たらすかもしれない。シミュレートされた宇宙は最終的に生命の発生が設計されている、あるいは生命が可能になった前には多くの可能なパラメータがテストされ、成功した実験結果の成果なのかもしれない。宇宙論者は、我々の宇宙がどのようにランダムな開始条件から発生したのかを理解するために、同じような(より単純とはいえ)シミュレーションを実行している。

ボストロム氏は、シミュレーション議論を一歩前進させ、「プログラムの中ではエラーが起きてしまうため、ディレクターはシミュレーションを台無しにする前にアノマリーに気付く脳の状態を簡単に編集することができる。あるいは、ディレクターは数秒戻して、問題を回避できるように体験を戻すだろう」。しかし、もし我々が生きているシミュレーションにリアルタイムエラー訂正機能がある場合、見方によっては厄介である。確かに、潜在的に科学活動全体に疑問を投げ掛けることができてしまう。シミュレーションの物理法則を気まぐれに変更してしまうのを防ぐには何をしたらいいのか? テストパラメータ、あるいは単純に我々の頭に干渉することか? そのスキームでは、プログラマはその存在が決して検知されることがなくても、気まぐれでひょとしたら意地の悪い神様になってしまうだろう。

ボストロム氏は、我々がシミュレーションの中に生きていないことより、もっとありそうなことを示すことに主な興味を持っているが、この問題に直面する科学者らは別の疑問を持っている。主な差異は、科学は実験と観察によって検証できるという事実から導き出したものだ。そして、結局のところ、我々が住んでいるかもしれないシミュレーションを推測できる方法があるということだ。

まず、我々がシミュレーションの中に生きているなら、それは明確に定義された法則に従い、それらの法則へのいかなる動的な変更も相対的に小さいはずだ。それは数世紀に渡る科学的アプローチの圧倒的な成功に基づいている。事実、シミュレーション仮説は潜在的な説明能力を持っている。例えば、我々の宇宙が比較的単純な法則に従っている理由は、それがそうするようにプログラムされているからだ。プログラムの実行としてシミュレータを変更する場合、それが2011年に起こった光より速いニュートリノの解決法であったのだ。プログラムはエラーを含んでおり、我々はそのエラーに基づいた何かを計測してしまった。そして、バグはその後に修正された(アノマリーが平凡な説明かつ劇的な代案が無かったため、光より速い結果が事実だったと考える理由は今では無い)。

真相は我々がシミュレーションの中に生きているということかもしれない。しかし、非人間的な神の存在のように、この事実はどのように我々が人生を振る舞おうが関係無いということだ。

しかし、我々がシミュレーションの中にいるのかいないのかを我々に教えてくれるこの宇宙の正当性は何もない。もし、プログラムが明白な「イースター・エッグ」あるいは、デザイナーによって残された隠れたメッセージが存在しない十分な理由であるなら、我々が行ういかなる実験でもシミュレートされた宇宙にいてもいなくても同じ結果を返すだろう。このシナリオでは、どのように哲学者を納得させるかどうかに関わらず、我々が仮想世界にいるかを見分ける手段が無い。真相は我々がシミュレーションの中に生きているということかもしれないが、非人間的な神の存在のように、この現実がどのように我々が人生を振る舞おうが関係無いということだ。

我々はシミュレーションの中に生きている、しかしプログラマーの世界とは異なるという可能性もよく考えてみるべきである。結局のところ、科学者らは現実世界にそのまま一致はしないが、理論を改良することを手助けるモデルをずっと作り出し続けている。そして、そのようなシミュレーションが不完全なエミュレーションなら、コンピュータコードがその存在を示すのかもしれない。もし、宇宙が現代の原子核物理学者によって実行される数値シミュレーションと同じようなものなら、プログラムの必要な単純化が基礎物理学の予測する可能性なのかもしれない。

クォークで作られている陽子と中性子、それらで作られた原子核を考えてみる。全体の乱雑さは、全てを結びつける核の強い力を理解することを要求するが、複雑な相互作用は電子のような単体粒子の一貫性のある処理ではない。しかし、同時に二つ以上の粒子間の作用を、特に高エネルギー下の核の内部に関連する計算は物理学者にとっては非常に難しい。

どんな場所でも移動することを考慮に入れる代わりに、原子核物理学者は、固体結晶の中の原子のように、粒子が三次元格子上で存在するかのように考える。クォークが接近することでエネルギーが増加するので、数値を扱いやすくしておくために固定距離で離れるようし、我々が実験的に見る挙動を再生する。この手の数値計算法は格子量子色力学(LQCD)として知られている。

LQCDの単純な原理が、クォークを記述する方法を考え出した唯一の一貫した方法であるが、アルバート・アインシュタインによって提示された相対性理論を破ってしまう。相対論の中の時空は連続性があり、特別な方向は定義されていない。他方、LQCDの一つとして格子が特別なポイントで特別な方向(ノード間の接続に沿って)を持つ。宇宙線によって生成されるような高エネルギーの衝突が、相対論の予測よりもむしろLQCDに近い振る舞いを示すなら、プログラマーが現代原子核物理学者がやっているのと同じ近似を行っており、我々がシミュレーションの中にいるというサインである。

ドイツのボン大学のサイラス・ビーン教授(現在はワシントン大学)とその同僚らは、これらの道筋に沿って、他の試験可能な偏差を考慮した(重い電子の従兄弟分であるミュー粒子による変則な振る舞いを含む)。しかし、それらのスキームがうまく働かない可能性がある。シミュレーションを書いた人は必ずしも原子核物理学者がするような同じタイプのコードを使うとは限らないので、予想された偏差が現れないかもしれない。偏差は、予測可能な未来にそれらを発見できないような高エネルギー段階で起きていることもあり得る。最後に、時空はシミュレーションの中で生きていることとは違った理由で、格子のように振る舞うかもしれない(多くの物理学者によって真面目に可能性が検討されている)。

公平の立場でいうとで、ビーン氏、ダヴォウディ(Davoudi)氏、サベージ氏ら、原子核物理学者らは、これを承知の上でシミュレーション仮説を検証する方法を提案しているが、彼らのライフワークの中心だと考えるのは誤りである。INSPIREレポジトリ(高エネルギ物理学情報システム)でビーン氏の文献リストを見ると、彼がこの主題で書いた論文はただ一つであることがわかる。残りは標準的なLQCD研究である。私は彼と彼の同僚らは真面目に宇宙シミュレーションに関する研究をしていると確信しているが、ほとんどの研究者がそうである。そして、これらの疑問を興味深いと感じるかも知れないが、答えを調査するために研究生活を捧げてはいない。

一部それが現実的なことだからだ。現代物理学の標準パラダイム内で研究するために資金を得ることができるが、結論が出ないような哲学的な問題として解釈されるような研究にお金を払うのは難しいことである。また一方、問題自身が全く信用できないので、明確になんらかの利益を生むことを示すことはできない。その影響にも関わらず、しばしばポピュラーサイエンスで記事を読むことがあり、人生、宇宙やその他もろもろについての大きな疑問にあなたの人生を捧げるほどの成功のチャンスはほとんど無いといっていい。1920年代の量子力学革命のような大躍進がまれな理由は、それが困難だからである。科学はほとんど段階的に発展を遂げるもので、つまらない内容に見えたとしても、それは決して悪いことではない。

シミュレーションとしての宇宙を調査することの困難さは、求めるべき正しい科学的な疑問を探しだすことで、検証可能な結論を導けるものでなければならない。プログラム管理者が介入して問題をリアルタイムに修復するという宇宙のシミュレーション仮説では、我々は現実の宇宙とエミュレートされた宇宙を区別することができないかも知れない。同じことは検知可能な欠陥の無いシミュレーションにも当てはまる。我々が裏付けが取れる実験の証拠を得ることができなければ、コンピュータプログラムの中で我々が生きているという反論が難しい哲学的なテーマでは虚しく感じる。

我々はシミュレーションの中に生きているのか? 私の直感では「ノー」だ。反対も賛成もない、あるいは必要以上に不快なプログラムが知性の存在であることを信じたくないせいだけではない。(楽園はシミュレーションではないのか?)

科学の力はしばしば一般化、抽象概念化、単純化にある。たとえプログラムの基本的な原則が単純であっても、意識を含む十分にディテールを持つ全宇宙をシミュレートすることは複雑なことである。より単純なものから同じだけを学ぶことができるなら、それと同じ複雑さを持つものをプログラムすることは無駄でいびつに見える。

しかし、それらは直感的な考えであって、正しいかどうかを示すことができるわけではない。より良い避難所はエンピリシズム(経験主義)で、空想的な考えを持たないことだ。科学的視点で、もしシミュレートされた宇宙と現実の宇宙とを識別できなければ、シミュレーションの中に住んでいるという疑問は空論であり、この現実が我々なのであって、我々が全てなのだ。

スタートレックTNGのシーズン6の12話「甦ったモリアーティ教授」はシミュレーション仮説のような話である。

11/21/2014

Netflixがストリーミングの王者、アマゾンが勢いを増している

Sandvineが公開した北米のインターネットトラフィックレポートによると、Netflixがビデオストリーミングの王者で、続いてYouTube。この2つのサービスでトラフィック全体のほぼ50パーセントを占めているが、ストリーミングで遅れを取っていたアマゾンが上昇しているとのこと(ソース:re/code, arstechnica)。アップストリームでは、Netflixが10パーセント近いシェアを占めるようになってきており、これはACKパケットだとのことだ。

ACKが増えているとすれば、ABRビデオストリーミングによるチャンク化やモバイルからの視聴が影響しているのかな。

ダウンストリーム

昨年 今年春 今期
# アプリケーション シェア アプリケーション シェア アプリケーション シェア
1 Netflix 31.62% Netflix 34.21% Netflix 34.89%
2 YouTube 18.69% YouTube 13.19% YouTube 14.04%
3 HTTP 9.74% HTTP 11.65% HTTP 8.62%
4 BitTorrent 4.05% iTunes 3.64% Facebook 2.98%
5 iTunes 3.27% SSL 3.42% BitTorrent 2.80%
6 MPEG - Other 2.60% BitTorrent 3.40% iTunes 2.77%
7 SSL 2.05% MPEG 2.85% MPEG 2.66%
8 Amazon Video 1.61% Facebook 1.99% Amazon Video 2.58%
9 Facebook 1.31% Amazon Video 1.90% SSL 2.14%
10 Hul 1.29% Hulu 1.74% Hulu 1.41%
76.23% 76.24% 74.89%

アップトリーム

昨年 今年春 今期
# アプリケーション シェア アプリケーション シェア アプリケーション シェア
1 BitTorrent 36.35% BitTorrent 24.53% BitTorrent 25.49%
2 HTTP 6.30% HTTP 14.27% Netflix 9.48%
3 SSL 5.87% SSL 6.54% HTTP 7.18%
4 Netflix 4.44% Netflix 6.44% SSL 7.05%
5 YouTube 3.63% YouTube 5.52% YouTube 6.14%
6 Skype 2.76% Skype 2.23% iCloud 4.41%
7 QVoD 2.55% Facebook 2.17% Skype 2.77%
8 Facebook 1.54% FaceTime 1.50% Facebook 2.60%
9 FaceTime 1.44% Dropbox 1.20% FaceTime 2.38%
10 Dropbox 1.39% iTunes 1.15% Dropbox 1.48%
66.00% 64.40% 68.98%

11/19/2014

IPv6ルータ間をリンクローカルアドレスのみにする (RFC 7404)

IPv6ネットワーク内のルータ間のアドレスをグローバルあるいはユニークローカルアドレスではなく、リンクローカルアドレス(LLA)のみを使う際の注意点をまとめたRFC 7404「Using Only Link-Local Addressing inside an IPv6 Network」が公開された。

LLAは可能か

  1. ほとんどのコントロールプレーンのプロトコル(BGP, IS-IS, OSPFv3, RIPng, PIM)はデフォルトで動作し、LLAで動作するよう設定できる
  2. マネージメントプレーンのトラフィック(SSH, Telnet, SNMP, ping6)は送信先として、ループバックインタフェースのアドレスを利用できる。また、ルータの管理はアウト・オブ・バンドでの管理も可能
  3. ICMPエラーメッセージは送信元がループバックインタフェースについたグローバルアドレスとなる(ICMPv6リダイレクトを除く)
  4. データプレーントラフィックはリンクアドレスの種類とは無関係に転送される
  5. 近隣探索はリンクローカルユニキャストとマルチキャストが使われるので影響なし

LLAを用いることのメリット

  1. ルーティングテーブルが小さくなる、ルーティングの収束時間を短くできる
  2. ループバックだけになるので、グローバルアドレス管理が楽
  3. 設定が簡単になる
  4. DNSの逆引き設定が楽
  5. ルータのインタフェースアドレスが外部からアクセスできないので攻撃を軽減できる

注意点

  1. リモートからルータのインタフェースにpingできなくなる: これについてはRFC5837を使うことで、ICMPv6の応答に受信したインタフェース名を含めることが可能
  2. 同じようにtracerouteの応答が返らない: 外部からネットワークトポロジーがわかるより、ループバックアドレスを常に返すようにしておく方がいい
  3. ハードウェア依存(EUI-64アドレスはカードを交換するとアドレスが変わってしまう): LLAは静的に指定することができる

IXP

インターネットエクスチェンジポイント(IXP)は、インターネットの中でも特別に重要な場所であり、高いレベルのセキュリティが求められる。これには、プレフィックを広報 しないことと、リモートからIXPプレフィックス宛のトラフィックをドロップする方法がある。これをやってしまうと、uRPFを実施している場所では、tracerouteやPMTUDパケッ トを落としてしまうこととなり、特にPMTUDを落としてしまうのは非常にまずい。また、IXPのアドレスは/48よりも大きくなってしまうため、経路広報がフィルタされてしまうこ ともある。

IXPでリンクローカルを使うことで、この状況を救うことができる。この場合、何の設定をすることもなく、ICMPv6パケットはループバックのアドレスが使われるため、IXP上 のルータを攻撃するのが難しくなる。IXPの全ループバックアドレスはtracerouteで調べることはできるが、かなり大変だ。

複数の接続ポイントを持つサービスプロバイダは、IXPのアドレスを自網内にIGPで広報することで、トラフィックエンジニアリングを実施している場合がある。リンクローカ ルはこの目的には合わない。トラフィックエンジニアリングには別の手法を採用する必要がある。

Let's Encrypt

EFF、Mozilla、Akamai、Cisco、IdenTrust、ミシガン大学の研究者が共同で、2015年夏に認証局「Let's Encrypt」を立ち上げ、無料でサーバ証明書が発行することが発表された(ソース:TechCrunch)。無料で最新の暗号技術を使った自ドメインのサーバ証明書が、自動処理で発行され、証明書の発行と取り消しの全記録を誰でも見ることができるそうだ。この発行・更新処理のプロトコル(ACME)はオープンソースで開発される。

素晴らしい取り組みだと思う。サーバだけじゃなく、メールアドレス(個人)に対しても発行してくれれば、S/MIMEが自由に使えるのに...

EFFブログ、Slashdotスレッド、Hacker Newsスレッド

更新 (2014.11.20)

ACMEがターゲットにしているSSLサーバ証明書はドメイン認証(DV)で、企業実在認証(OV)やExtended Validation (EV)ではない。DV証明書の発行が正しくドメイン名の所有者からの行われていることの検証が求められるが、そのサーバ上で行うことで、オンライン処理が可能ということなのだろう。

11/18/2014

OS X 10.10.1、iOS 8.1.1、Apple TV 7.0.2

OS X 10.10.1、iOS 8.1.1、Apple TV 7.0.2がリリースされた。バグ修正としか書かれていないが、ISC SANSによると下記の脆弱性が修正されているそうだ。

OS X 10.10.1

CVE 影響 ISC評価 内容
CVE-2014-4459 Remote Code Execution Critical A vulnerability in Webkit could allow a malicious site to execute arbitrary code
CVE-2014-4453 Information Leakage Important The index Spotlight creates on a removable drive may include content from other drives. This vulnerability was recently discussed publicly in a blog and the author discovered e-mail fragment in the Spotlight index created on a USB drive.
CVE-2014-4460 Information Leakage Important Safari may not delete all cached files after leaving private browsing. If a user visits a site without private browsing after visiting the same site with private browsing enabled, then the site may be able to connect the two visits.
CVE-2014-4458 Information Leakage Important The "About this Mac" feature includes unnecessary details that are reported back to Apple to determine the system model

iOS 8.1.1

CVE 影響 ISC評価 内容
CVE-2014-4452
​CVE-2014-4462
Remote Code Execution Critical Webkit issues that will lead to arbitrary code execution when visting a malicious webpage
CVE-2014-4455 Unsigned Code Exeuction Important A local user may execute unsinged code
CVE-2014-4460 Information Leakage Important Safari doesn't delete all cached files when leaving private mode
CVE-2014-4461 Privilege Escalation Important A malicious application may execute arbitrary codes using System privileges.
CVE-2014-4451 Security Feature Bypass Important An attacker may be able to exceed the maximum passcode attempt limit to bypass the lockscreen.
CVE-2014-4463 Information Leakage Important The "leave message" feature in Facetime may have allowed sending photos from the device.
CVE-2014-4457 Code Execution Important The debug feature would allow applications to be spawned that were not being debugged.
CVE-2014-4453 Informtion Leakage Important iOS would submit the devices location to Spotlight Suggestion servers before the user entered a query

Apple TV 7.0.2

CVE 影響 ISC評価 内容
CVE-2014-4462 Code Execution Critical A memory corruption in WebKit may be used to terminate applications or run arbitrary code.
CVE-2014-4455 Code Execution Important A local user may execute unsigned code
CVE-2014-4461 Privilege Elevation Important A malicious application may be able to execute arbitrary code with system privileges.

Facebookの新しいデータセンター

Facebookがアイオワ州アルトゥーナに再生可能エネルギーのみで動くデータセンターが運用開始したとのことだ(ソース:WIRED)。ここでは、データセンター・ファブリックという新たな技術が採用され、ネットワークをモジュラー化して、「ポッド」と呼ばれるものに分割することで、拡張が交換が容易となり、CiscoやJuniperの高価なスイッチを使う必要が無くなったそうだ。詳細は、FacebookのAlexey Andreyev氏がブログに書いているが、ルーティングプロトコルはBGP4で構築されており、そのためのセンタライズドBGPコントローラーを開発したとのこと。

11/17/2014

ケーブルモデルとインターネットモデル

著名なベンチャー投資家フレッド・ウィルソン氏が、自身のブログ『AVC.com』にラストワンマイルを持つケーブル通信事業者モデルとインターネットモデルの違いを「The Cable Model and The Internet Model」に書いている(HN)。その超訳。

米国のケーブル業界は産業を大きくするため、次のモデルを利用した:

  1. ケーブルオペレータは、全ての家庭へのラストワンマイルネットワークの拡大のためのインセンティブにローカル独占を与えられた
  2. ケーブルオペレータは、どのチャンネルをネットワークで運ぶか運ばないかを決めるため、このラストワンマイル独占を活用した
  3. ケーブルオペレータは、しばしばネットワークで運ぶことを引き受けるのにチャンネルに巨大な投資を求めた
  4. ケーブルがデジタル化しても、ケーブルシステムはネットワークに1000チャンネル以上を運ぼうとはしない

一方、インターネット業界はその産業を大きくするため、全世界で次のモデルを利用した:

  1. インターネットは既存の通信インフラの上に作られた。最初は電話回線にデータを運ぶダイアルアップモデルであった
  2. 非独占がネットワーク大きくするインセンティブとして与えられ、それに起業家が飛び付き、ベンチャーキャピタルや他の自己資本市場が資金提供した
  3. 誰もがグローバルインターネット上にサーバを置くことができ、誰にでもサービスを提供できる。ゲートキーパー(管理者)がいなかった
  4. 起業家はグローバルなパブリックインターネットで通信するため、自分たちの投資を渡す必要がなかった
  5. グローバルインターネットには概算でアクティブなドメインが7億5千万から10億ある

これらは2つのとても異なるモデルですが、ある意味では一つにまとめられます。ラストワンマイルをもつ電話会社とケーブル会社は、ダイアルアップからブロードバンドへの移行のおかげで、インターネットアクセス(のラストワンマイル)市場を牛耳っています。そして、今日ではほとんどのローカル市場を複占化しています。これらのインターネットアクセスプロバイダがインターネット業界をケーブルモデルに進化させていることを示しています。

それでは、なぜテッド・クルーズ議員の言ったことがまちがっているのか(3分50秒付近):

全てのネット中立性のポイントは企業間、巨大な会社たちの一方と他方との間の戦いだ。

実際は、10億のアクティブドメインと、米国内のインターネットアクセス市場を所有する6、7の有線・ワイヤレスキャリアとの間の戦いなのです。これはダビデとゴリアテの争いで、ダビデは市場の中でゴリアテと肩を並べる能力を持っていません。そういう理由からネット中立性は慎重な(保守的な)考え方なのです。インターネット業界が、ケーブルモデルに移るのを許さず、インターネットモデルを維持していきましょう。そういう事です。チャンスがあれば、すぐにでもテッド・クルーズ議員と彼の保守的な同僚に自分の意見を伝え、行動したいと思っています。

関連

なるほど、こういう事だったのか...

11/15/2014

ストリーミング・ビデオ・アライアンス

オンラインビデオ市場で競合するコンテンツオーナー、プロバイダ、ネットワークベンダーなどが集まって「ストリーミング・ビデオ・アライアンス」を結成したとのこと(ソース:StreamingMediaBlog)。設立メンバーは次の通り。オンライン・ビデオ・エコシステムの事例、アーキテクチャ・ガイドライン、標準化などを作っていくそうだ。

  • Alcatel-Lucent
  • Charter Communications
  • Cisco
  • Comcast
  • EPIX
  • Fox Networks Group
  • Korea Telecom
  • Level 3 Communications
  • Liberty Global
  • Limelight Networks
  • Major League Baseball Advanced Media
  • Qwilt
  • Telecom Italia
  • Telstra
  • Ustream
  • Wowza Media Systems
  • Yahoo

11/14/2014

米政府、iOSユーザに「Masque Attack」脆弱性を警告

今週始め、セキュリティ調査会社FireEyeが、「Masque Attack (マスクアタック)」という脆弱性が存在すること報告していたが、米政府(US-CERT)がiPhoneとiPadユーザに警告を発したとのこと(ソース:MacRumors)。

Appleは、企業ユーザや開発者向けにApp Storeを経由せずにアプリを配布できるエンタープライズ/アドホック・プロビジョニング機能を提供しており、利用するにはユーザはプロビジョニングプロファイルをインストールしなければならない。ところが、同じバンドルIDを持つアプリは、認証が行われないという欠陥が見つかった。この脆弱性を利用すると、インストールしたアプリと同じバンドルIDを持つ偽アプリ(マルウェア)が、App Storeや本来配布されるべき場所以外からインストールさせて置き換えることが可能となる。

App Storeの外からマルウェアをインストールできるといっても、ユーザに偽アプリのインストールを誘導する必要があるのと、Appleの開発者として登録しないと、更に「信頼できない開発者」と警告されてしまうため、攻撃成功の敷居は高そうな気がする。

この脆弱性が修正されるまでの軽減策は、

  1. App Storeあるいは自組織のサイト以外からアプリをインストールしない
  2. ウェブページを閲覧していた時にポップアップ表示される「Install (インストール)」を絶対にタップせず、「Cancel (キャンセル)」する
  3. アプリを開いた際、「Untrusted App Developer (信頼できないアプリ開発者)」という警告が表示されたら、「Don't Trust (信頼しない)」をタップする。そして、そのアプリを削除する。

マスクアタックによって偽アプリがインストールされたかは、プロビジョニングプロファイルがインストールされているかを確認する。iOS 7の場合は設定アプリで「一般〜プロファイル」を見れば確認できるのだが、iOS 8ではプロファイルは表示されないのが難点で、確認には「iPhone構成ユーティリティ」あるいはXcodeを使わなければならない。

更新

  • 影響があるのは、プロビジョニングプロファイルをインストールしたiOSデバイスなのかと勘違いしていた。影響は脱獄しようがしまいが全ての端末にあるということか。
  • マスク攻撃→マスクアタック

プロバイダがTLS暗号化を妨害

電子フロンティア財団(EFF)が、プロバイダが顧客の電子メールの暗号化を妨害しているとレポートしている。つい先頃、Verizonがユーザのウェブリクエストを改竄して、super-cookieと呼ばれる新型クッキー(X-UIDHを利用)を挿入することで、1億人以上の顧客の行動追跡を行っていることが明らかになった。今度は、アメリカのプロバイダタイで、SSL/TLSで暗号通信に切り替えるために使われるSTARTTLSを妨害し、通信の安全性を脅かす行為をしているプロバイダの存在が明らかになった。STARTTLSフラグを除去することで、TLSでの接続を失敗させ、暗号化されていない状態で電子メールが送信されるように仕向けていた。

更新(2014.11.15)

AT&TがUIDHの挿入をやめるそうだ(ソース:ProPublica)。

11/13/2014

フィラエが彗星に着陸成功

欧州宇宙機関(ESA)の彗星探査機ロゼッタが10年65億キロの旅を経てチュリュモフ・ゲラシメンコ彗星(Comet 67P/Churyumov-Gerasimenko)に到達。ロゼッタから切り離された小型着陸機フィラエが彗星に着陸したNYTimes載の写真が素晴らしい(Flickr)。

78948267 78948266

11/12/2014

GNU Emacsのソース管理がGitに移る

今年始め、エリック・レイモンド氏がGNU Emacsのソース管理をしているBazaarが死にかけているので、Gitに移すべきと主張していたが、本日その移行が完了したとのこと。

更新

Welcome, New Emacs Developers: Emacsに新しい開発者を呼び込めるか。

アシモフの「ファウンデーション」の映像化は実現するか

アイザック・アシモフの「ファウンデーション(銀河帝国の興亡)」は、何度か映像化(映画化)の噂が上がって来た。今回、HBOとワーナー・ブラザーズ・テレビジョンがテレビ・シリーズとして映像化するとのことだ。そして、クリストファー・ノーラン監督の弟で、脚本家のジョナサン・ノーラン氏が製作に加わると報じられている(ソース:Slashdot)。

ファウンデーションの映像化については、最近だと2009年にソニー・ピクチャーズがローランド・エメリッヒ氏とともにオークションで権利を獲得、その2年後に脚本製作にダンテ・ハーパー氏も雇った。しかし、結局プロジェクトは失敗し、HBOが大金を出して権利を購入したそうだ。果たして・・・

11/09/2014

アマゾンのエコーチェンバー

アマゾンが「Echo」というBluetoothスピーカー兼据え置き型Siri/Google Nowのような製品を突如発表したが、それを受けてなのか、また独り善がりのガラクタを作ったというDustin Curtis氏のエッセイ「Amazon's Echo Chamber」。内容はかなり手厳しい。以下、その超訳。

以前はアマゾンのコンシューマーハードウェア戦略を善意に解釈してきたものだ。初代のe-インクを使ったKindleは、チープなプラスチック製だったが私は好きだった。最初のKindle Fireタブレットはポンコツだったけれど、多少は納得できた。しかし、Amazonが過去数年たくさんのガラクタを発売するにつれ、私はアマゾンへの信頼を失ってしまった。例えば、Fire Phoneは単にダメだというだけでなく、アマゾンのいいかげんさが出ている本当に酷い製品だ。Android携帯の代わりにFire Phoneを手に入れた方が幸せになれると思う人は、地球上に誰もいないだろう。大げさに言っているわけではなく、触ってみれば、あなたは理解できる。ハードウェアはとてもひどくて、ソフトウェアは厄介だ。Fire Phoneを発売し、皆によくできた携帯電話だと伝えるマネージャーと同じくらい誤った考えを持っているとみるべきだろう。アマゾンの消費者へのブランドと戦略について何かを言うべきではないだろうか?

アマゾンのコンシューマーハードウェア戦略を理解することは私にはかなり難しいことだ。会社が私の理解できない戦略を持っている場合、じっくり考え、従業に尋ね、あるいは会社の動きを推進しているかすかな目的を得るために、マーケットを分析する。しかし、アマゾンではそれができない。単純に、製品の合理的な説明が無いのだ。唯一私がこれを考え出した: アマゾンはおもねるということを知らない、そして根本的にメディアを理解していないので、ハードウェアを作り続けるのだ。Amazon.comでは、大量に上手に製品を宣伝して販売する。そして、誤った成功の尺度を与えているのだ。

それがエコーチェンバーなのだ。製品を作り、Amazon.comで売り出され、Amazon.comの顧客に売り、誤った成功の感覚を得て、カスタマは商品を引き出しに押し込んだきり、決して使わない。その後、Amazonは次の製品に取り掛かるのだ。結局、Fire Phoneで、カスタマは反発した。Fireタブレットと同じように、携帯を買われず、孤独な引き出しに押し込み、決して二度と使わない。携帯はユーザのアイデンティティーの一部になるので、くだらない携帯を販売することで顧客を騙すことはできないのだ。

モバイルの消費デバイス(アマゾンのメディアストアやプライムビデオ/ミュージックを備えた)を作るというジェフ・ベゾスを動かしているように見えるメディア戦略には欠陥がある。もはや、誰も消費を目的としたメディアの販売で利益を出していない。そのマーケットは急速にそして容赦なく終わろうとしている。メディアマーケットは今、全ての利益がかろうじて収支が合うポイントと消費配信システムで得られる時間によって、利益を吸い出せるようとても効率よくなっている。巨大な利益(Apple)でデバイス自体を販売すること、あるいはより大きなメディア体験(映画シアターあるいはナイスなスピーカ)を提供することで、メディアで利益を出すことができるだけなのだ。安価でつまらないタブレットや携帯電話は、どこにもその方程式に適合しないのだ。

たとえ、アマゾンの目的がタブレットや携帯電話を売ること、皆がアマゾンからたくさんの小売物を買うことであったとしても、私はどのくらいそれが将来にわたって機能するのか分からない。その戦略は、何百万の人々がアマゾンの小売物を買うためにアマゾンデバイスを使うような極めて大きなスケールで働くだけだ。アマゾンの投資は合計何百万ドルというハードウェア戦略で作られている。そもそも最初の段階で小売利益が無いのに、どのように投資を回収するつもりなのだろう? まず人々が欲しがるものを作らなければならないだろう。そして、アマゾンの過去の実績を考えると、それを期待して待つ気にはなれない。

利益を得ることが苦手というアマゾンの小売戦略は、ハードウェア生産に向かうことを説明できない。人々は生活にフィットするハードウェアを買い、どのように世界で自分たちを確認するかということの一翼を担うのだ。もし、ハードウェアを売りたければ、2年前のサムスンがやった、あるいはAppleが常にそうであるように、ファッショナブルでなければならない。アマゾンはファッションを理解できないのだ。なぜなら、アマゾンには味気がなく、そのハードウェアは完全にダサく、品がない。

アマゾンは、自身のエコーチェンバーを通して、決してつじつまが合わず、決してうまくいかないような戦略に取り組む事で、ゆっくりと内と外から自分自身を崩壊させているのだ。

ExaBGPを使ってBGPフル経路を注入

備忘録。ルータにインターネットのBGPフル経路を注入したくて、ググっていたら、いくつかツールが見つかった(1, 2, 3)。その中で、RouteViewsプロジェクトのMRTデータ(RFC 6396)とExaBGPを使ったやり方を試してみた。プラットフォームはメインメモリ4GBのXeonサーバで、OSはCentOS 6.5。Exabgpは「BGPの十得ナイフ」と名乗るだけあって、色々なことができそうだ。

Pythonのインストール

ExaBGPの最新版は、Python 2.7が必要なので、Python 2.7系最新版を次の手順でインストールする。CentOSに開発キットをインストールし、Pythonで必要になる開発ライブラリを入れて、Pythonをmakeするだけ。

# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \
readline-devel tk-devel
# curl -O https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
# tar xfz Python-2.7.8.tgz
# cd Python-2.7.8
# ./configure --prefix=/opt/local
# make; make altinstall

Pypyのインストール

このまま、ExaBGPを使ってもいいが、MRTデータ変換はPypyがあった方が速いということで、続いて、PIPとPypyをインストール。Pypyのインストールは鬼のように時間がかかるので注意。

# curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | \
/opt/local/bin/python2.7
# pip install greenlet sphinx
# wget https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-src.tar.bz2
# tar xvfj pypy-2.4.0-src.tar.bz2
# cd pypy-2.4.0-src
# python2.7 rpython/bin/rpython --opt=jit pypy/goal/targetpypystandalone.py
# mkdir -p /opt/local/pypy/bin
# cp pypy-c /opt/local/pypy/bin/pypy
# cp -r LICENSE README.rst include lib-python lib_pypy site-packages \
/opt/local/pypy

mrtparseでMRTデータを変換

これで準備完了。次にインターネットのフル経路の準備をする。RouteViewsプロジェクトで、毎日のMRTデータが公開されているので、mrtparseというツールを使って、ExaBGPのconfigを吐き出させることができる。ファイルサイズは88MBほどになる(小さくするため、AGGREGATORやATOMIC-AGGREGATEのような属性を削除する方法がいいかもしれない)。

# git clone https://github.com/YoshiyukiYamauchi/mrtparse.git
# cd mrtparse
# pypy setup.py install

// MRTデータをダウンロード
# curl -O http://archive.routeviews.org/bgpdata/2014.11/RIBS/rib.20141106.0000.bz2
// フル経路を含むExaBGPの設定ファイルを作成
# pypy ./exabgp_conf.py rib.20141106.0000.bz2 > full.conf

ちなみに、pypyでは3分40秒ほどで終わったが、Python 2.7だと26分掛かる。

ExaBGPでフル経路注入

ここまで準備ができたら、フル経路を注入するルータを設定し、ExaBGPを起動するだけでよい。作成された設定をいじらないなら、ルータ側(IOS-XR)の設定は次のようになる。

router bgp 64512
 bgp router-id 192.168.0.10
 bgp enforce-first-as disable
 address-family ipv4 unicast
 !
 neighbor 192.168.1.20
  remote-as 65000
  address-family ipv4 unicast
   route-policy all-permit in
   route-policy all-drop out
   soft-reconfiguration inbound always
ExaBGPを起動する。

# wget https://github.com/Exa-Networks/exabgp/archive/3.3.2.tar.gz
# tar xvfz 3.3.2.tar.gz
# cd exabgp-3.3.2
# ./sbin/exabgp ../full.conf

BGPがEstablishedになったら、対向ルータ側でExaBGPから広報した経路が確認できる筈だ。

Neighbor        Spk    AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd
192.168.1.20      0 65000 2107466    2326  3202719    0    0    1d12h     541658

11/06/2014

安全なメッセージ・アプリはどれだ?

EFF(Electric Frontier Foundation)が、Facebook chat、Google Hangouts、iMessageなどメッセージ・アプリ/サービスの安全性を次のカテゴリでランク付けしたリストを公表した。

  • メッセージは転送中に暗号化されているか?
  • プロバイダがメッセージを読むことができないように暗号化されているか?
  • 相手の身元を確認できるか?
  • 鍵が盗まれた場合、過去の通信は安全か?
  • コードは独立した審査機関に公開されているか?
  • セキュリティ設計は適切にドキュメント化されているか?
  • コードは監査されているか?

パーフェクトだったのが、ChatSecure+Orbot、CryptoCat、Signal/RedPhone、Silent Phone、Silent Text、TextSecure。一方、全滅なのがMxit、QQ。残念ながら、LINEは評価されていない。

IRRのクエリフラグ

備忘録。インターネットのルーティング情報データベースであるIRR(Internet Routing Registry)の検索は、歴史的な経緯でwhoisプロトコルが使われている。単純にプレフィックスやAS番号で検索するのが一般的だが、クエリフラグを使うともっと便利な検索ができる。

  • "-i" 逆引き、例えば "-i origin AS65000" とすれば、originがAS65000のrouteオブジェクトが返されるし、"-i mnt-by MAINT-AS65000"とすれば、メンテナMAINT-AS65000が管理するオブジェクトを全て返す
  • "-M" そのプレフィックスよりもプレフィックス長が大きいrouteオブジェクトを返す: 例 "-M 10.10.0.0/16"
  • "-s" ソースとなるIRRを制限できる: 例 "-s RADB,RIPE AS65000"
  • "-K" メインとなるオブジェクト(routeとorigin)だけを返す: 例 "-K 10.10.10.0/24"
  • "!i" as-setやroute-setのメンバーを検索させる。",1"のような数字を加えると、as-setやroute-setが再帰的になっていた場合も検索できる: 例 "!iAS-FOO,1"
$ whois -h whois.ra.net -- "-s RADB 8.8.8.0/24"
[Querying whois.ra.net]
[whois.ra.net]
route:      8.8.8.0/24
descr:      Google
origin:     AS15169
notify:     radb-contact@google.com
mnt-by:     MAINT-AS15169
changed:    radb-contact@google.com 20140828
source:     RADB

11/05/2014

チームコラボレーションツール、HipChat、Slackなど

企業内でのコミュニケーションツールがまだ電子メールだけなんてところはまだ多いかも知れない。最近、チャットをメインにしたサービスが、メールに代わるコラボレーションツールとして使われている。わざわざ、Microsoftのエンタープライズ向けサービスを導入しなくても、企業向けのコラボレーションサービスが色々とある。例えば、CampfireChatWorkchatter (Salesforce)、FlowdockHipChatSlackYammer (Microsoft)などがそれだ。これらのサービスは、メールで出来る事はほぼ全て可能で、マルチプラットフォーム(iOS、Androidにも対応)、検索機能、スニペットやMarkdownが使えたり、他のサービス(Twitter、Github、Dropbox、Googleなど)との連携も容易であるという特徴がある。また、チャットツールに対応したボットも開発されていて、Hubotのようなフレームワークとの連携もできたりして、独自のボットを作成することもできる。

11/04/2014

新聞を読むことと、Webでニュースを読むこと

今週のThe Joy of Techは、新聞を読むとどんな感じか、そしてオンラインでニュースを読むとどんな感じか。最初は暖炉の前でくつろいで、誰にも邪魔されずに新聞を広げている絵、次はタブレットを使ってニュースを読んでいるが、背後霊のように様々なサービス(Yahoo!, Google, Twitter, Facebook, Amazon, NSA, ...)があなたを監視しているという絵。右下には、あなたの閲覧履歴をチェックする配偶者の存在を忘れないように、とのこと。

2056

11/03/2014

HyperCardを復活する時が来た

HyperCardよもう一度という話がSlashdotに出ていた(関連:Hacker News)。

Hypercard (1987年にApple Macintosh向けにリリースされたアプリケーション・プログラムおよびプログラミング・ツール)は、自分自身のソフトウェアをプログラムし、作成し、自分のマシンで動作させ、プリビルドされたソフトウェアを使わずにできる「みんなのコンピュータの利用(computing for the people)」という哲学を体現していた。『Macユーザは、税の精算、スポーツの統計管理や音楽を作るといった、便利で楽しい様々な個人ソフトウェアのミニプログラムを作るためにHyperCardを使ってきた』、ジャー・ソープ氏は、HyperCardの終了が、簡単に利用できる場、コンピュータユーザが自分でツールを作ることを再度普通の行為にさせるような直感的なツールといった、どうしても埋める必要がある大きなギャップを残した。ソープ氏によれば、この手の普通の言葉によるプログラミングは、とりわけプログラマではない人向けに設計されたアプリケーションでは当然のことである。『私は、初心者の最大の懸念事項はプログラムを書くという概念的な障害ではなく、複雑で紛らわしい文法要求のせいだということを感じている。JavaScript、JavaあるいはC++のような複雑な言語への円滑な道筋として、私は学生にHyperTalkを教えることが好きだ』。創作のツールを通して、広大なユーザベースの手に、少数の例外は除いて、今日存在しない具体性を持つ個別のアプリの作成を可能にするだろう。

HyperTalkは単に簡単というだけではなく、極めて強力な言語である。複雑なオブジェクト構造は込み入ったタスクを処理するために使えるし、ベース言語は今のプラグインの先駆けともいえる多様な外部コマンドや関数(XCMDやXFCN)によって拡張することができる。しかし、最終的に、HyperCardは90年中頃にはMacから消え、WebブラウザやHyperCardに影響を受けたアプリケーションによって影が薄くなった。HyperCardの最後のコピーは2004年にAppleが販売したものだ。この数十年に変化したことは、ホビーストが大部分が隅に押しやられてしまったということだ。「今は、ユーザあるいは一人前の開発者のどちらかで、大きな隔たりが以前より広がってしまった」とピーター・コーエンは書いている。「今では本当に無くなってしまって、私はMacが軽くなったと思う」