5/31/2016

ハルク・ホーガンとピーター・ティール対ニック・デントンとピエール・オミダイア映画のポスター

ハルク・ホーガンのセックステープ流出の裁判、億万長者が乱入してアメリカではかなり盛り上がっているようだ。Boingboingが映画風ポスターを作っている

億万長者のピエール・オミダイアがプライバシーとジャーナリストとしての自由を超えて、ハルク・ホーガンとGawkerメディアとの闘いが長く続く法廷闘争のリングに足を踏み入れた。Gawker側に介入したオミダイアは彼自身がメディア人、億万長者のピーター・ティールがハルクの訴訟に密かに資金提供していたことが判明した後にやって来た。

副題は「(誰が勝つなんてどうでもいい、我々がニュースだ (No matter who wins, we news) 」。

コメントの中にキャスティング。私はデントン役がケネス・ブラナー、ティール役はマイケル・C・ホール、オミダイア役はクリストファー・ランバート、テリー・ボリア本名で出演するハルク・ホーガンと考えている。そして、ハルク・ホーガン役のいろいろなカーニー???

更新 (2016.6.11)

ピーター・ティールはGawkerの破産を申し立てたとのことだ(NYTimes)。

5/25/2016

IPv6言い訳ビンゴ

IPv6化しない様々な言い訳をビンゴにしたウェブサイトが面白い。下記は一例。他にも、IPv6なんてただの一時的流行、NAT444で十分、AndroidはDHCPv6をサポートしてない、など多数ある。ipv6bingo.comにアクセスするたびにビンゴが作られる。

Google Computeがサポートしてない IPv6って何? 角括弧でIPを囲む必要があるのはどういう意味? RFC6598を使っている
来年度IPv6化する計画だ IPv6をサポートするのにアプリ全体を書き直す必要がある Azureがサポートしていない IPv6はまだインターネット標準ではない
AWSがサポートしてない まだたくさんのIPv4アドレスを入手できる NATによるセキュリティを失いたくない エンドユーザはIPv6なんて気にしない
サポートが非常に難しい MACアドレスを晒したくない 合法傍受がまだIPv6をサポートしていない テストするラボを持っていない

AppleとAI

マルコ・アーメントのエッセイ。なかなか面白い。

もし、GoogleがAIにして正解なら、それはAppleにとって問題だ

iPhoneの登場前、RIMのBlackBerryがスマートフォンの王だった。まだメールと通話の時代、彼らは最高で最も成功しているとみられていたため、大方の推測で彼らは止められないように見えた。

iPhoneが現れると、BlackBerryはしばらくの間はうまくいっていたが、iPhoneはスマートフォンが基本的なビジネス中心のメールデバイスからデスクトップ級のオペレーティングシステムとリッチなアプリエコシステムを持つコンシューマのパーソナルコンピュータへと変え、ゲーム自体を変えてしまった。

BlackBerryの成功は終わってしまったのは、RIMがもっとひどいスマートフォンをリリースしたからではなく、スマートフォンの新しい作業がそれらの能力を完全に超え、移ってしまったためである。そして、遅れを取り戻すのが遅すぎた。RIMは世界レベルのオペレーティングシステム、様々な素晴らしいデザイナーたち、高級な家電の大量生産の専門知識、素晴らしいAPIと開発ツール、クレジットカードを持った数百万のユーザがいるアプリストア、AppleはiPhoneの可能性を与えるために10年以上かけて開発してきた他の主要な資源全てを作る時間がなかった。

新しい試み、運用面の改革がなく、2007年のM&AはBlackBerryを救えなかった。遅過ぎて、溝が広がりすぎていた。

今日、Amazon、Facebook、そしてGoogleは高度なAI、ユビキスタスなアシスタント、音声インタフェースへ大きな賭けに出ており、これらは我々のデバイスが向かう次なる目玉になると期待している。

もし、彼らが正しいなら、それはまずないだろうが、私はAppleが心配だ。

今日、Appleは日々正しく進んでおり、全般的にうまくいっている。しかし、もしも展望がそれらのビッグデータを使うAIサービスを優先するよう変化すれば、Appleは自分が10年前のBlackBerryと同じ境遇になったと気付くだろう。得意にもかかわらず、彼らができることはもはや十分ではなく、追いつくことはできないだろう。

Amazon、Facebook、そしてGoogle、特にGoogleは長年、ビッグデータを利用するウェブサービスやAIに大量に投資を行っており、優先度を高め、絶えず繰り返し進歩させ、関連するデータを蓄積し、効果的なアルゴリズムを開発し、魅了し、開発し、たくさんの専門的な技能を持ち続けている。

一般的にAppleはサービスが下手と言われるのは正確ではない。彼らはサービスをうまくやっている。とても大規模で比較的簡潔な方法でデータを動かしている。例えば、iMessage、プッシュ通知やiCloudの大部分である。

Appleの弱点は検索、関連性、分類、複雑な自然言語の問い合わせのようなビッグデータサービスやAIである。Appleはそれらすべての基本的なバージョンを実行できるが、彼らの競争相手、特にGoogleはそれを独走しており、ギャップは広がるだけである。

そして、Appleは困ったことにこれらの分野で意味ありげな改善や投資の証拠は見られない。Appleの明らかな無策は自分たちのサービスの品質、管理、パフォーマンス、進歩、タレントの獲得や保持力に甘んじている風に見える。そして、彼らが正しいかも、彼らは素晴らしいのかも。

もし、Googleが正しいなら、手っ取り早い解決策はない。あと2〜3年の間でSiriの作者を再び買ったり、Yelpとパートナーを結ぶくらいでは十分ではない。もしも、Appleが競争力を保つために10年以内に強力なAIやビッグデータサービスが必要なら、彼らは数年にわたって社内で大規模にタレントやそれらの資産を使って既に開発している必要がある。それらのビッグデータAIサービスは競争相手よりもよりも遥かに素晴らしく、賢く、信頼性が必要である。

そして、私はその出来事がまさに見えていない。主要なビッグデータAIサービス会社になることは、完璧に秘密裡には生じないし、いきなり完全なものを基調講演で世界に向けてリリースはできない。それは大規模に着手し、多くの年数を掛け、多くの人、世界中とのたくさんの付き合いが必要だ。AIやサービスで存在をアピールするよりも完全な車の開発を秘密裡に行う方が簡単である。

Googleはパックが向かう先に極めてうまく配置されているが彼らも間違える。例えば、これらのAIサービスはGoogle Glassのように社会的に扱いにくい流行、あるいはClippyのような苛立ちの元になるかもしれない。Googleは結局は行き詰まった多くの奇妙で、マニア向けの、技術的に印象的なものを出してきた。

Googleが間違っていて、コンピューティングが、卓越した技術で製造された製品(iPhone)を1日に1000回も操作する(poke)ような、しっかりとコントロールされたグリッド状にサイロ化されたアプリによって定義され続けるなら、Appleは大丈夫だ。彼らはコンピュータが今日行う素晴らしい仕事をしており、おそらく長く続けることだろう。

しかし、もしGoogleが正しければ、それはAppleにとって大きな問題である。

ジョン・グラバー氏はよく考えられていると評価している。

私にとって納得いく話だ。しかし、AIアシスタントの台頭は画面を持つデバイスへの我々の要求を多少なりとも減らすという前提を受け入れるかどうか分からない。iPhoneやAndroidはBlackBerryを死滅させたのは、人々がBlackBerryを買うのをやめたからだ。GoogleアシスタントがAppleが追い付けないほどの重大事になるという前提を受け入れたとしても、私はAppleが作るデバイスに対する需要が減るかどうか分からない。

私は2007年に発表された最初のiPhoneについて何度も繰り返し考える。スティーブ・ジョブズがGoogleと提携関係を大げさに発表した時のことを。約50分のところを見て欲しい。エリック・シュミットは、AppleとともにAppleが最高のことをして、GoogleはGoogleが最高のことをすると(with Apple doing what Apple does best, and Google doing what Google does best)、提携は実際の合併ではないが言ってみれば合併のようなものだと冗談を言った。私は長い目で見ればそもそもそれが維持できるものだったかどうかは分からないが、彼らが有利に働くようにしていたら、今日どこにいるのか興味深い。

スラド

5/24/2016

ビル・ゲイツの2016年の夏本

恒例のビル・ゲイツの夏の読書リスト

Boingboing

米Netflixが9月からディズニー映画を独占配信

今年9月から、Netflixはディズニーの全ての映画(ルーカスフィルムpact、マーヴェル、ピクサーも含む)を独占配信するとのことだ(The Verge)。また、2016年9月以後の映画はBlu-ray/DVDになる前にNetflixで独占視聴できるそうだ(Startz、HBO、Hulu、Amazonよりも早く視聴できる)。ただし、これは"on Netflix US"とあるので、日本でどうなるかは不明。

Hacker NewsBoingboing

5/22/2016

型戦争

プログラミング言語のバグは定数や変数の型の誤りに起因することが多い。ロバート・C・マーティン(ボブおじさん)のこのエッセイは(The Clean Code Blog)、プログラミング言語における型の取り扱いについての歴史を書いていて面白かった。

息子ジャスティンと私は、swiftを使うモバイルアプリを調査するcleancoders.comで新しいビデオシリーズを始めた。swiftを学ぶことはとても面白い経験です。型の安全性についてとても独善的です。確かに、私は型についてこれほど気を配った言語を使った記憶はありません。

例えば、型xの変数がnilを意味するには、?を使ってオプショナル値を保持する変数であることを宣言しなければなりません [例えば、myVariable: X?] 。言語は厳密にどのようにそのオプショナル値が使われるかを束縛します。例を挙げると、あなたはifnilをチェックするか、nilではないことを!で主張するかせずには、それを参照できません [例えば、myVariable!.myFunc()]。

swiftの型システムのこの極端な性質は、我々の業界がこの60年間戦ってきた"型戦争(Type Wars)"について私に考えさせました。そして、それらの戦争の歴史と未来の結果の予想についてブログに書くべきだと考えるようになりました。それでは行きます: 慌てないで

注意: この歴史は多くの省略や多くに間違いを含んでいます。もしくは少なくとも極めて不正確です。

型の問題は実はコンピュータが現れる前から存在します。19世紀の後半、ゴットロープ・フレーゲは論理システムを開発し、第一原理から全ての数式を導き出したいと考えました。彼の仕事は述語計算(predicate calculus)の原型でした。しかし、致命的な欠陥を持つことを発見しました。出版の前に、バートランド・ラッセルはフレーゲに手紙を書き注1、フレーゲの論理システムが偽でも真でもない不明瞭な命令文を許していることを指摘しました。フレーゲはひどくショックを受け、彼の仕事に次のコメントを加えました。

注1. ラッセルのパラドックス

学問的著作に携わるものにとって、自らの仕事を完遂した後に、それが土台から揺るがされる事態に逢着することほど望まらしからぬことはない。この巻の印刷が終わろうとしていたそのときに、バートランド・ ラッセル氏から送られてきた手紙によって私が立たされることになったのが、まさにそうした状況であった。
(フレーゲ『算術の基本法則』第2巻、あとがき)

その問題を解決するために提案された解決策の一つは、型の概念でした。フレーゲの論理的な命令文の中でパラメータの型が束縛されるなら、ラッセルの言う曖昧さは取り除くことができます。しかし、1931年にクルト・ゲーデルの不確実性理論によって打ち砕かれることになります。

これはアラン・チューリングが活躍していた数学の世界でした。これらの問題に夢中になっていた彼やジョン・フォン・ノイマンやジョン・バックハウスのような数学者らは、コンピュータ科学の基礎概念やFortranのような最初の言語を築くことにおいても多くの関与をしていました。

私は10代でFortranを学んでいる最中の1966年に、最初に型の概念に出会いました。私の父がFortranCobolPL/1のような言語の最初のマニュアルをなんとか手に入れ、私はそれらを貪り読みました。(しかし、コンピュータは利用できませんでした!)

Fortranでは、基本的に二つの型があります。固定点(整数)と浮動小数点数です。オリジナルの言語の中で、型は変数の最初の文字によって示されました。文字IからNで始まる("integer"という単語の最初の2文字)変数は固定点でした。他の変数は浮動小数点数でした。

Fortranの式はミックスモードではありません。そのため、浮動小数点と一緒に整数を使うことができません。いくつかのライブラリ関数のみがモードの間を変換できました。

コンピュータの利用が不可能な若いプログラマの私は、これには手探り状態でした。私はなぜそのような恐ろしい制約を持つ特質がそんなに重要なのか不思議でした。私がアセンブリ言語を学ぶまで分かりませんでしたが、私は理解し始めました。

プログラマとしての最初の年、私はFortranCobolPL/1を少し書きました。しかし、アセンブラにより興味が移りました。私は高水準言語が肥大化し、遅く、責任逃れ(cop-outs)をしていると感じていました。真のプログラマはアセンブラを書く、そう考えました。しかし、1977年になって、私はCと出会いました。

すぐに夢中になりました。私は裏庭でキャンプファイアを黙って見ていた時、カーニハンとリッチーの本を読んでいました。私は肥大化していないこの言語を喝采しました。

Cはもちろん型を持ちました。しかし、それらは決して強制されませんでした。intを得る関数を宣言することができますが、floatあるいはcharあるいはdoubleで渡すことができました。言語は気にしませんでした。スタック上に渡された引数を適切にプッシュし、関数を呼び出します。関数は、宣言された型であると仮定し、スタックから引数を適切にポップします。型が間違っていたら、クラッシュしました。単純です。あらゆるアセンブリ言語のプログラマはすぐに理解し、これを回避しました。

70年代終わりが継続中の戦争があるということに私が気付いた最初の時です。型についての戦争。私は完全にCに夢中になっていたけれども、私は他の競争相手Pascalに気付きました。Pascalは私が高水準言語を嫌っていた全てでした。私は、肥大化し、遅く、責任逃れをしていると考えました。安全さを保つことを言語に依存しているため、この言語でプログラムする人は本物のプログラマではありませんでした。あなたもご存知の通り、Pascalは強力な型を持ちます。

Pascalの中で、明白な引数の型を得るために関数を宣言するなら、それらの型を持つ関数を呼び出す必要がありました。その言語は型の安全性を強制しました。私のような20歳のアセンブリ言語のプログラマには、これは単に束縛でした。私が感じたPascalは赤ん坊のための言語でした。

見たところ、Cが言語戦争で勝ちました。そして、決定的に勝ったため、多くのプログラマは私に賛成しました。80年代はじめがCの全盛期でした。ミニコンピュータが急増すると、Cも同様に急増しました。Pascalは生き残りましたが、AppleがMacintoshのプログラミング言語として利用することを誤って決定したためだけでした。最終的には失敗した決定でしたが。

時々、他の言語が湧き上がります。しかし、それらは本気で必要とされません。我々はSmalltalkのについて耳にし、実行するのに100万ドルのマシンが必要だとのことでした。我々はLogoLispや他にいくつかの言語を知りました。しかし、多くの場面で、我々はCでハッピーでしたし、何か良くなると想像できませんでした。

Objective-Cはおよそ1986年かそこらに現れました。私はブラッド・コックスの風変わりなCSmalltalkのハイブリッドをかなり真剣に調べたことを思い出します。しかし、私の注意を引き付けたのはC++でした。私の注意を引き付けた理由は、型に関するCの葛藤の10年間の大半の後、私は強い型を強制するための言語の準備ができていたからです。

ご存知でしょうが、私は学んだ教訓がありました。プログラムは70年終わりと80年始めにこれまで以上に複雑に成長しました。型を保持するという問題は完全に収拾がつかなくなり始めました。私は実地で問題を何度もデバッグしました、結局は誰かがintを取るために、longを宣言した関数を呼んでいただけでしたが。

そして、ストロヴストルップがC++の本を出版しました。私は準備ができていました! (常に正しいというPascalオタク(weenies)を認めたくなかったので、Cの派生言語だったことに感謝しました。)

振り子は揺れました。業界はC++を導入し、強い型の時代が始まりました。我々Cプログラマは戦いは落ち着き、戦争に疲れ、我々は決して型を強制されない気楽な日々に決して戻らないと誓いました。

その間、Smalltalkプログラマは頭を掻き、大切なことが何であるかを疑問に思っていました。ご存知でしょうが、それらの言語は強い型もありました。しかし、それらの型は宣言されませんでした。Smalltalkの型は実行時に強制されました。Smalltalkの中の型エラーは、Cであったように不明瞭な動きにつながりました。Smalltalkの中の動きは、とてもよく定義されていました。実行中に型例外を受け取ることができました。

C++コミュニティの中の我々は、nullポインタを参照解除するのと同じように単純なことだと感じていました。結局、型例外あるいはセグメンテーションエラーのために飛び道具(missile)のソフトウェアが失敗するかどうかを誰が気にするのでしょうか? どちらにしても飛び道具は失敗します。

80年代終りから90年代始めは、C++静的型チェックとSmalltalk動的型チェックの間の冷戦のようなものでした。他の言語はその間を舞い上がったり舞い下がったりでした。しかし、それら二つの広い型付けの区分はかなり明確にされました。

そして、戦争は再び熱くなりました。しかし、今回はCPascalを支持していたプログラマではありませんでした。この時は影響力の大きいプレーヤーによる本物の戦争でした。それはIBMとSunの間の戦争でした。

しかし、お膳立てのため、色々な言語を使うプログラマの生産性に関するケイパーズ・ ジョーンズ (Carpers Jones)の研究について伝えておきます。彼の研究はSmalltalkプログラマがC++プログラマよりも生産性がとても高いことを示していました。その違いは5倍以上だと考える人もいました。むしろ2倍から3倍に近いと考える人もいました。しかし、誰もC++プログラマがSmalltalkプログラマよりも生産性が高いと考えていませんでした。

これを踏まえ、IBMはインターネットの開発言語としてSmalltalkを選択しました。彼らはIDE、フレームワーク、必要となるすべてのインフラを開発し、これに大きな賭けをしました。一方、SunはJava(まさしくC++ Liteでした)を重視しました。

戦いは激しくなりました。しかし、決め手は型でした。SunはJava(旧姓C++)プログラマを適材適所で処理し、型の安全性の原則(ミサイルテーマ)でIBMに戦いで勝ちました。その時、Smalltalkは言語として死にました (しかし、心配しないで下さい、Smalltalk使いはリベンジしました)。

そこで、Javaとその亜種であるC#は、インターネット言語になりました。そして、20年ほど君臨しました。しかし、舞台裏で着々と進んでいました。

ご存知の通り、Smalltalkプログラマは自身のユニークな方法でミサイル問題を解決しました。彼らは規律(ディシプリン)を発明しました。今日、その規律はテスト駆動開発 (TDD)と呼ばれています。

TDDを使うことは、Smalltalkプログラマはミサイルがターゲットに到達することを保証しました。事実、彼らはC++あるいはJavaコンパイラが提供する型チェックよりもはるかに確実でした。そして、Smalltalkが死んだ時、Smalltalkプログラマの第5部隊(内通者)は一般のJavaプログラマに侵入し、TDDを教え始めました。彼らの目的はsubversion です。

ご存知のように、JavaプログラマがTDDを使うようになると、彼らはとても重要な疑問を自問自答し始めました。「ユニットテストですでに全てをチェックしているのに、なぜJavaの型分析を満たすのに時間を無駄にするのだろうか?」プログラマはRubyあるいはPythonのような動的型を持つ言語にスイッチすることでさらにもっと生産的になると悟り始めました。

そして、それがまさしく2010年代後半に起こったことです。たくさんのJavaプログラマが逃げ出し、熱心な動的型とTDDの支持者になりました。その逃走は今日でも続いており、動的言語のプログラマには給与が高くなる傾向にあるという事実によって拍車をかけています。

あっ、それから私はSunに対するリベンジを計画し、IBMにとどまったSmalltalkプログラマの特別部隊について話しておくべきでしょう。彼らはEclipseを作ることでリベンジを果たしました。

さぁ、着きました。振り子はすぐに動的タイピングに向かって揺れました。プログラマは RubyやPythonのような動的型言語を支持し、C++JavaC#のような静的型言語から離れています。それにもかかわらず、再び静的型を主張するgoswiftのような新しいプログラミング言語が現れています。次の戦いのステージがセットされたのでしょうか?

これはどのように終わるのでしょうか?

私の予測はTDDが決め手になるということです。ユニットテストの範囲を100パーセントにできるなら、静的型チェックは必要ありません。そして、我々が繰り返し見てきたように、ユニットテストの範囲は100パーセント近く達成できます。さらに良いことに、その成果の恩恵は莫大です。

従って、TDDは必要不可欠なプロフェッショナル規律(ディシプリン)としてこれまで以上に受け入れられるようになり、動的言語が望ましい言語になるでしょう。Smalltalk支持者が最終的に勝利を収めるでしょう。

年を取ったC++プログラマがそう話します。


初期のFortranの仕様: https://www.fortran.com/FortranForTheIBM704.pdf

ケイパーズ・ ジョーンズの研究: http://www.cs.bsu.edu/homepages/dmz/cs697/langtbl.htm

Hacker News

5/21/2016

人工知能は役立たず階級を作るだろう

人工知能台頭への悲観論(Slashdot)。この本、2014年出版の世界的ベストセラーだけど翻訳されてないのね。

世界的なベストセラー「サピエンス: 人類の略史 (Sapiens: A Brief History of Humankind)」の著者であるユバル・ノア・ハラーリ(Yuval Noah Harari)は、人工知能のこととなると未来に極めて悲観的な見方を持っている。彼は人間が仕事もなく目的もないことが分かったら、VRヘッドセットをかぶり、休日にナッツとヤクでブラブラ過ごすようになるかをガーディアン紙に書いている。ハラーリは'役立たず階級(useless class)の台頭'と呼び、21世紀の最も恐ろしい脅威の一つとして位置付けている。人工知能はより賢くなり、多くの人間は労働市場から排除される。誰も大学で学ぶべきか分からない。なぜなら、20歳で学んだスキルが40歳で関連するとは誰も分からないからだ。当然のこととはいえ、あなたがそれを知る前に、数十億の人々はチャンスを介することなく役立たなくなる。彼は予想をオオカミと少年になぞらえ、少なくとも200年間は別の人たちによって予想され続けるだろう、と語る。しかし、オオカミと少年のオリジナルストーリでは、結局はオオカミは実際にやってくる。そして、私は今回はそれが真実だと考える。ハラーリは人間を有益にする能力には、物理的能力と認知能力の二種類があると言う。認知力に関して言えばまだ人間は仕事について大いに安泰である。しかし、AIが今この分野で人間を上回り始めている。新しいタイプの仕事が現れてはいるが、我々は人間がAI、コンピュータ、ロボットよりもうまく行えると確信できない、とハラーリは言う。

更新 (2016.5.24)

河出書房から8月に、「サピエンス全史 (上・下)」というタイトルで刊行予定。

偉大なプログラマはどのようにバグを防ぐのか

偉大なプログラマはどのようにバグ無しコードを書いているのか、というエッセイ

プロローグ

一部のプログラマはとても素晴らしい。何がそんなに素晴らしいのだろうか? このエッセイでは、それらを模倣して我々自身のプログラミングで使える技術を調べるために最高のプログラマたちを考えてみる。

ボブ・マーティンは有名なテスト駆動型開発の提唱者である。彼のルール: コードはテストをせずに書かない。「あなたが書くコード1行1行テストすべきです。」。彼は「コードのすべての要素が意図通りに動くことを迅速、確実、繰り返し立証」を築いた。ここでいう立証はユニットテストを指す。

単に全てがテストされるばかりでないが、小片(small pieces)で組み込む。小片はすべての可能性をテストしやすい。事実、私が小片が高品質なコードを書く唯一の方法だと考えたもので、それはとても簡単である。

ドナルド・クヌースという天才は私の幻想を粉々にした。彼は自分のコードにとても自信を持っており、どんなバグに対しても自分のポケットマネーでバグの懸賞金を払っている。クヌースは小さいピースでコードを書かない。彼は6か月続けてコードをテストしない。そして、一挙に全てをテストする。彼はテストをする時、彼は「私は管理のために卑怯で意地の悪い心構えに変わります。そして、私は考えうる厳しいテストコードを書きます。それから、方向転換し、意地の悪い構文でも常に常識はずれなものを埋め込みました。」。当時、彼は全てをテストしようとした。今もまだ疑問が湧く。クヌースはどのように長い期間テストなしに正しく判断していたのだろうか?

一般慣行として、クヌースはコードを検査しなかった。代わりに、クヌースは考え方を明確に維持するため文芸的プログラミングを発明した。彼はストーリーのようにコードとマニュアルを結び付けた。文芸的プログラミングはある意味とても読みやすいコードを作らせた。彼は「私が追加の注釈の準備に使う余分な時間は、デバッグ時間が短縮されるので結局は戻ってきます。」と言う。さらに彼は「構造化プログラミングは不変なアイデアを私に与えてくれますし、私が理解できるブラックボックスを作る方法を教えてくれます。そして、私はコードが動く自信を持てるのです。」と説明する。

ここに完全にスタイルが異なる二人のプログラマがいる。明らかに、二人は素晴らしい結果を出しているので、どちらも正しい答えである。正しい答えは一つだけではなく複数ある。それでは、次のプログラマから学べるものを見ていこう。

エドガー・ダイクストラは、「もし効率のよいプログラマが欲しければ、 そのプログラマはデバッグに時間を費やすべきではなく、 はじめからバグを入れるべきではありません。」という発言()で有名である。彼は、プログラミング初心者に向けに証明を書く方法を教え始め、教科書を執筆した。

一部の人々はダイクストラがすべての人にすべてのコード行を検証して欲しいと思っている。しかし、教科書の半ばで彼は「我々はこのプログラムでいかなる不等条件(invariants)を作ってはいけない。それはいくぶん面倒である... プログラムの開発の助けにはならない。」と書いている。彼は全てを立証することを人々に期待していなかった。

|[ u, v: int
; u:=y; v:=x
; do x > y -> x:= x - y; v:= v + u
   □ y > x -> y:= y - x; u:= u + v
  od
; y:=(u + v)/2
]|
ダイクストラの教科書で使われているプログラミング言語の例

ダイクストラは、立証思考(proving mindset)、いかにしてすべてのケースを考えようとするか、そして失敗する可能性のある全てのことを教えようとしていた。彼はコードの全ての行を立証することをドグマのように人々に押し付けはしなかった。

エピローグ

3人のプログラマはプログラミングスタイルが三者三様である。面白い部分は何がそれらをつなぎ合わせるのか解き明かすことである。3人全員が共通する技術があるのだろうか? 私の答えは「イエス」である。3人のプログラマ(そして全てのバグが少ないプログラマに当てはまる」は数学的思考を持ち、失敗する可能性を全て考えようとする。彼らは立証思考を持っている。ミスを発見し修正するのに独自の方法を使っているが、ゴールは同じである。

(これは言う必要はないが、高いスキルを持つプログラマがやる他のことは、バグを取り除こうとしている。一部のプログラマはそれさえしようとしないし、それが結果に現れている)。

Hacker News

ラリー・ペイジ、宣言部分はコードではない

OracleとGoogle間のJavaの著作権侵害裁判での話(Slashdot)。このことだったのかぁ。

アルファベットのCEOラリー・ペイジはGoogleがAndroidでのJava APIの利用にOracleから許諾を得る考えは全くないと発言する。連邦裁判所に現れたペイジは、Java APIはオープンでフリーで、Oracleから明示的な許諾なしに利用することは我々あるいは誰でも許されると発言した。以下、Ars Technicaの報告(明確にするため編集されている):
「しかし、あなたはコードをコピーしましたよね、構造、シーケンス、APIの構成をコピーしましたよね?」Oracleの弁護士ピータ・ビックス(Peter Bicks)は声を大きくして尋ねた。「"コードのコピー"には同意しかねます。私にとって、宣言部分はコード(プログラム)ではない」とペイジは言った。「その知的財産権を利用するためにOracleにいくらか支払いましたか?」ビックスは尋ねた。「SunがJavaを築いた際、彼らはオープンソースとして築いた。私は、我々が使うAPIが間違いなくオープンだと信じます。我々はフリーでオープンな物にお金を支払いません。」とペイジは言った。[...] 「GoogleはJavaのライセンスを求めようとしましたか?」Googleの弁護士ロバート・ヴァン・ネスト(Robert Van Nest)は尋ねた。「はい、そしてブランドや提携のような他のものも含むより広範囲な契約です。」ページは言った。「Sunとの協議が決裂した後、あなたはGoogleがAPIのライセンスを必要だと思いましたか?」ヴァン・ネストは尋ねた。「いいえ、私はそう思いませんでした。APIやそれらの単なるヘッダを用いたり再実装することは業界の慣行として確立されていました。それらのシステムのいかなる既存の実装も使わないよう、非常に慎重でなければなりません。それは何度も何度も行われてきました。我々はこれらの知的財産権問題に責任を持って、そして注意深く振る舞ったと私は思う。」とペイジは言った。

Googleはシリアルトラッカー

ウェブページでユーザ追跡を行っているのはほとんどがGoogle関係しているというSlashdotのタレコミ。そして、新しい追跡技術も出てきているとのこと。

二人のプリンストン大学の研究者がウェブサイトが様々な技術を使ってユーザをどのように追跡しているのかの大規模な調査を行った。研究の結果、彼らは今まで一番大きいと主張するのは、Googleが複数のドメインを通じて上位100万のドメインの約80パーセントでユーザを追跡していることが分かったと主張する。研究者はGoogle自身のドメインが最も一般的なトラッカーで上位5番を、上位20のトラッカードメインだと12を占めている。さらに、追跡用スクリプト、HTML5 Canvas FingerprintingとWebRTCでIPアドレスを知る方法以外に、研究者AudioContext APIを使う新しいユーザのフィンガープリント技術を発見した。サードパーティ・トラッカーはユーザのPCへ低周波音を送るため利用する。そして、どのようにPCがデータを処理しているかを測定し、ユーザのハードウェアとソフトウェア機能をベースにユニークなフィンガープリントを作成する。この技術のデモページがある。
もちろん、このようなものは今に始まったことではなく、ウェブのいたるところで起こっている。今週、MITとオックスフォードはごくわずかだがツイート上のTwitter位置情報タグがアカウントの持ち主の例えば彼/彼女の実世界アドレス、趣味、医療履歴のような詳細情報を明らかにできるという研究を公表した。別の最近公開されたスタンフォードによる研究は、通話メタデータが電話の持ち主の個人情報を推論するために使うこともできる。

If you clicked anything online google probably knows about it 504262 2 1

5/20/2016

Google Alloを使わないで下さい

今週、Googleから発表されたチャットアプリAllo、当初はエンドツーエンド暗号が無効になっているため、Alloを使わないほうがいいとのこと。

水曜日の開発者会議で、Googleはチャットボットが可能なメッセージアプリAlloを発表しました。アプリは素早くイメージを貼ったり、素早く応答できたり、様々な面白い機能を提供します。加え、エンドツーエンドの暗号を提供する「ファーストGoogle」の製品です。しかし、デフォルトではオンになっていません。プライバシーを心配するなら、まだAlloを避けたくなるかも知れません
Alloの大きな革新点は、Alloで個人向けのサゼッションを提供したりあなたの質問に答えたりするSiriのライバルとなる"Googleアシスタント"です。同様に、新たにGoogle Homeが発表され、こちらはAmazonのEchoに対する対抗です。Allo上で、Googleアシスタントはあなたが友人とどんように会話をしているかを学習し、回答しやすくするための推奨される応答を提供します。少しの間、考えてみて下さい: このアプリの売りはより良いサービス提供のため、Googleがあなたのメッセージを読むことです。ライバルはデフォルトで有効なのに、Googleは2016年までチャットアプリでエンドツーエンドの暗号を提供しないのはどうかしています。Alloは暗号化のためにシグナルプロトコルを使うのはいいことですが、他のGoogle製品と同じように、あなたの生活をGoogleに任せれば、Alloは素晴らしい働きをするでしょう。Googleは匿名モード(incognito mode)を有効にしたくないという考えに傾いているため、暗号化を有効にしたくはないのです。
エドワード・スノーデン氏もその問題に同意しました。彼は「新しいAlloチャットアプリでエンドツーエンドの暗号化をデフォルトで無効にするというGoogleの決定は危険で、安全ではなくなります。今のところ、それを避けて下さい。」と言いました

更新

Googleのセキュリティエンジニアは、デフォルトでエンドツーエンドの暗号は有効になると言うが... (TechCrunch)

Hacker News

RFC 7858: DNS over TLS

DNSのクライアントとサーバ間のプライバシー保護(暗号化)のため、TLS(TCP)を使う手法がRFCとなった(RFC 7858)。STARTTLSは削除されている、ポート番号はDNS over DTLS(UDP)と同じ番号853が割り当てられている。なお、実装の方はUnbound、ldns、drill、NSDなどに実装されているとのこと。

このドキュメントはウェルノウンポートでDNS over TLSを利用すること、DNSでTCPとTLSを使うオーバーヘッドを最小化するためのパフォーマンス上の考慮すべき事項に関してアドバイスもしている。

5/19/2016

CBSのスタートレックTVシリーズの予告を公開

2017年にCBSが放送する新しいスタートレックの予告をYoutubeなどでを公開、「新しい冒険、新しいクルー、新しい敵、新しいヒーロー、新しい世界」とのこと。まだキャストは発表されていないが楽しみだ。

Slashfilmpopsci

ニール・スティーヴンスの「Seveneves」

ビル・ゲイツ氏が友人に薦められてニール・スティーヴンスの最新SF小説を読んだとのこと。

私は若かった時、たくさんのSF小説を読んだ。有名作家の最新刊は全て読んでいた。たぶん私が読んだ中で最高の作品はロバート・ハインラインの「月は無慈悲な夜の女王」で特に好きだった。しかし、過去10年間、あるいはそれ以上、私はそれくらいSF小説をほとんど読んでいない。単に習慣だっただけだが。

それで、友人がニール・スティーヴンスの最新小説「Seveneves」を薦めてくれたので、私は試してみようと思った。私がスティーヴンスの初期の作品の一つ「スノウ・クラッシュ」を読んだことがあって、この最新作がSF小説に戻るきっかけになるといいと思った。私は本当に読んでよかった。なぜなら、Sevenevesはいろいろ考えさせられ、余すところなく楽しめる本だからだ。

シアトルに住むニールは会うのに都合がよさそうだったので、私たちは彼の仕事について話をし、彼は会話をこのバーチャルリアリティフィルムに収めるのを我慢強く手伝ってくれた。私がTGNでリリースするであろうVR映画シリーズの第1作である。(ビデオの後にある私のレビューの残りを読んでほしい)

(略)

Sevenevesの筋は、月が理由も無く、そして予告なく爆発するところから始まる。これはネタバレではない。本の最初の文章が「月がはっきりした理由もなく、そして予告なく爆発する。(The moon blew up without warning and for no apparent reason.)」なのだ。2年後に月の塊が凄まじい隕石のシャワーとなって地球に降り注ぐことが判明、生き物すべてが絶滅し、数千年もの間、地球は住めない状態となる。軌道上にできるだけ多くの宇宙船を到達させる計画に世界は団結し、選抜された人々がこのハード・レインを乗り越え、人類を存続させる。

本は非常に多くのクールなアイデア、印象的な登場人物、そして私が全てをカバーできない素晴らしい展開がある。そして、印象深い二つのことに触れたいと思う。

一つはスティーヴンスの描くテクノロジーである。スティーヴンスはハードSFのサブジャンルに属するが、それは科学的な正確性を強調していることを意味する。スターウォーズと異なり、誰も亜光速で飛ばないし、全てが物理的な法則に忠実である。スティーヴンスは単に起きたかことだけでなく、どのようにそれが起きたかを伝える。あなたはどのように軌道に乗るかについて全てを知り、その上で異なる軌道上にある二つの宇宙船を連結させる。あなたは燃料と推進剤の間の違いを知る。長くなるが、インテリジェントな素材で作られたスーツを着て、グライダーの中で地球から軌道の中に飛行する女性に関しては賢い方法である。

個人的に、すべての内容が好きだ。しかし、そのいうことがどのように働くかを気にしない読者なら、Sevenevesの各部をざっと読んでも理解できるだろう。

私を感動させた他のことは、本が壮大で遥か先のことを考えることをあなたに働きかける方法である。もし、誰もが世界が今から2日後に終わると分かったら、世界規模のパニックやたちどころに享楽主義に陥るだろう。しかし、それが仮に今から2年後だったら? 人々は働き続けるだろうか? 子供は学校に行くだろうか? もし、そうだったら、あなたは何を教えるだろうか?

本の後半1/3で、文化と遺伝子間でのつながりに興味をそそる探求がある。もし少数の人類だけが生き残り、再出発する必要があるなら、階級と競争の差異に何が起きるだろうか? どのくらいであなたの遺伝子、あなたの家族の歴史、あなた自身の経験が形作られるか? 間違えると、この題材はただ悲しいだけになるが、スティーヴンスは物語が終わるまで、それを探求する良い仕事をしている。

彼は考え続けるための他の素晴らしい細部を持ち込むことで助けとなっている。タイトルは回文で、どれほどそれが関連性があるかはあたなに一任している。7という数字のタイトルから、問題が一つだけではないことが結局分かってくる。そして、あなたは登場人物を現実の人間に当てはめて考えようとすることで楽しめる。有名なニール・ドグラース・タイソンのような有名な宇宙物理学者/科学解説者がいる。

Sevenevesは私がSFを愛すること全てを思い出させてくれた。夢中にさせ、学ぶことができ、考えさせる素晴らしい小説である。他の何よりも、もう一度SFを読むことに戻るべきだと考えさせてくれた。

Hacker News

追記: 前の部分を加えた

Google I/O 2016

Google I/O 2016で明らかになったもの。

  • Google Assistant: パーソナルアシスタント (Siri、Alexa、M対抗)
  • Google Home: Amazon Echo対抗のスマートスピーカ
  • Allo: チャットアプリ、AIベースのボットあり (今夏リリース)
  • Duo: ビデオ電話アプリ (今夏リリース)
  • Android N: ベータ品質のリリース、シームレスアップデート、VRモード
  • Android Wear 2.0: スタンドアローンアプリ、キーボード
  • Daydream: VR用ヘッドセット(秋発売)
  • Android Auto: ワイヤレスのサポート、"OK Google"コマンド、Waze
  • Android Instant Apps: ダウンロード/インストールなしにアプリが利用できる
  • mBaaS Firebaseアップデート
  • Android Studio 2.2
  • Android Pay: イギリスで開始、ATMで利用可能
  • Tensor Processing Units: 人工知能向けのプロセッサ
  • ChromebookでAndroidアプリが動作: サポートするChromebookのリスト

C|net

5/18/2016

乱数生成器を作る理論的ブレークスルー

Slashdotが擬似乱数生成にブレークスルーがあったとタレ込まれている。以前から考えられていたが、低品質の乱数源を組み合わせて高品質な乱数を作るという手法で、劇的に改善したとのこと。

テキサス大学の二人の学者が一部専門家が、暗号学とコンピュータセキュリティで密接な関係のある乱数生成器に飛躍的進歩(ブレークスルー)と信じられているものがある。コンピュータサイエンスのデイビット・ズッカーマン教授と大学院生のエシャン・チャトパディヤイ(Eshan Chattopadhyay)が3月に公開された論文が、コンピュータ理論のシンポジウムで6月にプレゼンされるという。論文はどのように理論的に高品質な乱数の生成の手法を考案したかを説明する。研究はまだ理論だが、ズッカーマンは今後多数の実践的な暗号学の進歩、科学的投票、気候のような複雑な環境の研究に通じると語った。「もし、あなたが二つの低品質の乱数ソースを持っているなら(低品質のソースはとても手に入れやすく、二つのソースはそれらの間で独立し、相関関係はない)、見方によると高品質の乱数をそれらを合成することで作り出すことができる。皆がかなり前からこの実行を試している。以前の手法は要求されていた低品質ソースがそれほど低い品質ではなく適度に高品質だった。我々はそれを劇的に改善した。」とズッカーマンは語った。
技術的な詳細は大学の論文「Explicit Two-Source Extractors and Resilient Functions」の中で述べられている。

スノーデンのアーカイブから追加のNSAドキュメント

シュナイアーのブログから。InterceptがスノーデンのアーカイブからNSAのSIDtodayと呼ばれる内部文書を公開した。

Interceptがもっと多くのドキュメントを公開し始めている。昨日、彼らはドキュメントをベースにいくつかの記事に加え、SIDtodayと呼ばれる初年の内部ニュースレターを公開した。
Interceptが初めてリリースするSIDtodayは、SIDtodayが始まった2003年3月31日から2003年6月30日までに刊行された全ての記事を含む166の記事から成る。加えて、全ての記事一揃いの1回分がこの期間内から年内いっぱいまで始まった。主な話題は、イラク戦争やテロへの戦いの中での取り調べに関する国家安全保障局の役割、Signals Intelligence Directorate(SID)の中での新しいリーダー、そしてインターネットやモバイルコンピュータデバイスの新しく人気の高い利用法を含んでいる。
彼らはより多くの研究者にアーカイブを利用可能にしている

Hacker News

5/17/2016

人工知能の歴史の15の重要な節目

人工知能の歴史の中での重要な節目をBBCが取り上げている

  1. 1943: 第二次大戦が新しい発想をもたらす

    第二次大戦は神経科学やコンピュータの新興分野を含む多くの分野から科学者を呼び寄せた。

    イギリスでは、数学者のアラン・チューリングと神経科学者のグレイ・ウォルターはインテリジェントマシンの問題に取り組む天才二人だった。彼らはレィシオクラブと呼ばれる有力なダイニングソサイエティでアイデアを交換した。ウォルターは史上初めてのロボットを作った。チューリングはインテリジェントマシンの基準となるいわゆるチューリングテストを引き続き発明した: コンピュータは彼らが別の人と話していたと考えるよう誰かを騙すことができる。

  2. 1950: SFが会話を導く

    1950年、SF作家アイザック・アシモフによる短編集「われはロボット」が出版された。

    アシモフは人工知能のアイデアを取り入れ、その未来を推測したSF作家の一人であった。彼の仕事はよく知られ、示唆に富み、ロボット研究者や科学者の生み出す動機付けを手助けした。彼は我々を攻撃しようとする創造物を阻止するように設計されたロボット三原則で最もよく知られている。しかも、彼は並外れた予知能力を示し、例えば誰でも質問できる全人類の知識を保存することができるコンピュータが開発されることを想像した。

  3. 1956: トップダウンのアプローチ

    「人工知能」という言葉はダートマス大学のサマーカンファレンスで使われ、若きコンピュータ科学者ジョン・マッカーシーによって作られた。

    最高の科学者らがAIに取り組む方法を議論した。影響力の大きな研究者マービン・ミンスキーのような人は、人間の行動を統制するルールを持つ事前にプログラミングしたコンピュータというトップダウンアプローチを好んだ。他は、脳細胞をシミュレートして新しい行動を学習させるニューラルネットワークのようなボトムアップアプローチを好んだ。徐々にミンスキーの意見が優位に立ち、マッカーシーと一緒に彼はアメリカ政府からかなりの資金を獲得し、AIが冷戦の中で優位を与えると期待された。

  4. 1968: 2001年宇宙の旅 - 人工知能がリードする場所の想像

    ミンスキーはSFにも影響を与えた。彼は映画2001年宇宙の旅スタンリー・キューブリックに人工知能コンピュータHAL 9000の特色を助言した。

    HALがミッションについて語るためBBCでインタビューを受けているシーンで、彼は「完璧で、ミスは犯さない」と言う。宇宙飛行士がインタビューされた時、彼はHALが本物の感情を持っていると思うよと言う。映画は当時ミンスキーを含むAI研究者によって作られたマシンはすぐに人間レベルの知識に追いつくと予測を映し出していた。人工知能は扱いにくくなるという一般大衆の恐れを鮮やかに捕らえてもいた。

  5. 1969: 打ち破るための手ごわい問題

    AIはミンスキーのような提唱者によって作られた非常に高い目標からはるかに遅れていた - それは、シェーキー (Shakey the Robot)で幾つか顕在化した。

    シェーキーはその環境に推論することで自身で行動を決めることができる最初の多目的の移動型ロボットだった。移動する前に何を見るかの空間マップを作った。しかし、少し障害物があるだけでひどく遅くなった。少しづつ前進するたびに、シェーキーはマップを更新する必要があった。視野を移動する物体が簡単に混乱させ、次の移動の計画を立てる間に1時間ほどその進路で時々止まってしまった。

  6. 1973: AI冬の時代

    1970年代始めまで、AIは困難な状況だった。膨大な数が使い尽くされ、明らかになったのはほんの少しだった。

    アメリカの連邦議会から強い批判があり、1973年に数学者のジェームス・ライトヒル教授がイギリスでAIの現状に手厳しいヘルスレポートを提出した。彼の意見は、マシンはチェスの「経験豊かなアマチュア」になりうる程度だということだった。常識推論や顔認識のような単純なタスクが常にそれらの能力を超えていた。産業への資金は削減され、AI冬の時代として知られる時代の到来を告げた。

  7. 1981: 大企業の解

    AI冬の時代の終わりとして歴史家が指摘する節目はいつAIの商業的価値が実現され始めたか、新しい投資が呼び込み始めたかであった。

    新しい商用システムはAI初期よりも極めて小規模だった。一般的な知能を作ろうとする代わりに、「エキスパートシステム」はより範囲を狭めたタスクに焦点を当てた。それはとても特別な問題のルールでプログラムする必要があるという意味だった。RIとして知られる最初の商用エキスパートシステムの成功は、新しいコンピュータシステムの受注の設定を助けるデジタル・イクイップメント社での運用が始まりだった。1986年までに、DECは年に4000万ドル節約できた。

  8. 1990: ボトムアップのひらめきへの回帰

    エキスパートシステムは生物を模倣する問題を打ち破れなかった。その時、AI科学者ロドニー・ブルックスは新しい論文「象はチェスをしない (Elephants Don’t Play Chess)」を発表した。

    ブルックスは神経科学の進歩によってひらめき、人間の認識力の謎を説明し始めた。考え方は例えば パターンを認識するために一緒に働くために脳の中には異なるモジュールが必要で、中央制御ではないということである。ブルックスは知性のある行動のルールをコンピュータで再プログラムするトップダウンのアプローチは間違っていると主張した。彼は、ニューラルネットワークの長く時代遅れとみられた分野を含むAIへのボトムアップアプローチの復活を推進するのを助けた。

  9. 1997: 人間対マシン: 20世紀の戦い

    トップダウンAIの支持者らはまだ支持を得ていなかった。そして1997年にディープブルーというスーパーコンピュータがチェスの世界チャンピオン、ガルリ・カスパロフと対戦した。

    IBMが作ったマシンは、論文によるとカスパロフをはるかに凌駕する1秒間に2億配置以上を評価できる機能があった。しかし、戦略的に思考できるか? 答えははっきりとyesだった。スーパーコンピュータはカスパロフは人間がコントロールの背後にある必要があると信ずる直感力のような「脳は最後の抵抗」と呼ぶ対戦に勝利した。ある人はAIが十分に発達した瞬間として賞賛した。しかし、他の人からは、これは明確なルールを持つ高度に専門分野の問題への取り組むが単純に力づくに見えた。

  10. 2002: 家庭用初のロボット

    ロドニー・ブルックのスピンオフ会社、iRobotは初の家庭用商用ロボット、ルンバと呼ばれる自律型掃除機の作成に成功した。

    カーペットを掃除することは、初期AIの開拓者の野心から大きく離れたものだった。しかし、ルンバは大きな業績だった。行動生成システムの幾つかのレイヤはシェーキーロボットのアルゴリズムよりもはるかに単純であったし、むしろ半世紀前のグレイ・ウォルターのロボットに近いものだった。比較的単純なセンサーと最小の処理能力にもかかわらず、デバイスは自宅を確実かつ効率的に掃除をする程度の十分な知性を持っていた。ルンバは特定のタスクにフォーカスすることで自律ロボットの新しい時代の到来を告げるものだった。

  11. 2005: 戦争マシン

    冷戦時代のAIの夢を見てきたが無駄に終わった。アメリカ軍は今この新しいアプローチでやり直している。

    彼らは自律型ロボットへの投資を始めた。ボストンダイナミックスが開発したビッグドッグは初めて開発したものの一つであった。従来の乗り物には荒れた地形で運搬用動物ロボットとして役立つよう作られ、それが実際に戦地で働くところを見たことがない。iRobotもこの分野で大企業になった。爆弾処理ロボットのPackBotは、爆発物を嗅ぎ分けるような知的能力とユーザ制御を結び付けている。2000台を超えるPackBotがイラクとアフガニスタンに展開された。

  12. 2008: 大きな問題を打ち破り始める

    2008年11月に、新しいAppleのiPhoneに小さな機能が現れた、音声認識を持つGoogleアプリだ。

    シンプルに見えた。しかし、これは大きな突破口の先駆けとなった。音声認識はAIの重要なゴールの一つで、何十年に及ぶ投資は決して精度を80%以上に高められなかった。Googleは新しいアプローチを開発した。それは数千台の強力なコンピュータで並列のニューラルネットワークを実行し、Googleの多くのユーザから莫大な量のデータストリーミングの中からパターンを見つけるための学習させた。当初、全く不正確だったが、学習や改善の数年後にGoogle nowは精度が92%となったことを主張する。

  13. 2010: ダンスボット

    巨大なメインフレームはAIが実行される方法を変更したと同時に、新しい技術はより小さいコンピュータがより大きいパンチもあるということを意味した。

    これらの新しいコンピュータはNAOロボットのようなヒューマノイドロボットを可能にし、前のシャーキーがほとんど不可能だったことができるようになった。NAOロボットは前の10年の間に開発された多くの技術を使った。例えばニューラルネットワークによって可能となる学習である。上海で開催された2010ワールドエクスポで、 これらのロボットの驚異的な能力のいくつかが紹介された。20台のロボットが8分間完全な調和を持ってダンスを見せた。

  14. 2011: 人間対マシン: 21世紀の戦い

    2011年、IBMのワトソンがジョパディというアメリカのクイズ番組で人間の頭脳と対決した。

    これはチェスよりマシンの大いなるチャンレンジだった。ワトソンは難問や複雑な質問を答える必要があった。メーカーはニューラルネットワークを含む無数のAI技術を使って、質問と回答のパターンを評価するのに3年以上かけてマシンを訓練した。ワトソンは対戦相手、これまでの番組で最高の二人の回答者に完全勝利した。勝利は急速に広まり、AIの偉業として称賛された。

  15. 2014: 今、人工知能なのか?

    チューリングが人工知能を検証するテストのアイデアを公表してから64年、ユージン・グーツマンと呼ばれるチャットボットが最終的に合格した。

    しかし、これを重大な分岐点だと見ているAI専門家は少ない。ユージン・グーツマンはジャッジを欺くためにトリックを使っい「テストを受けた」と見られている。それが2014年のその他の動きであったし、どこまでAIが70年後に役立ってきたのかを本当に示した。Googleの10億ドルの資本を投じた自動運転車から、Skypeのリアルタイム音声通訳まで、人工知能は今では日々の現実となり、我々の生活全てを変えた。

5/16/2016

2015年のネビュラ賞が発表

2015年のネビュラ賞が発表になった(Slashdot)。

4部門全員女性で、ノヴィク以外の作者は日本で邦訳は無いようだ。ナオミ・ノヴィクのファンタジー小説「Uprooted」はワーナーが映画権を獲得したというニュースがある。

スウェーデンのIIS、DNSゾーンファイルをダウンロード可能に

今日から、スウェーデンのIIS (Internet Foundation in Sweden)が管理する ".se"と".nu" のゾーンファイルをダウンロードできるようにした。ここから、gzipしたゾーンファイルがダウンロードできる。IISのITセキュリティエキスパートのPatrik Wallström氏は次のように語っている。

我々の望みは、サービスが一般の人でも情報の利用が可能になる環境を構築できることで、公開は確実にスウェーデンのインターネット基盤の研究に影響を与えるだろう。

5/14/2016

シャイニングがオペラに

スティーヴン・キング原作の「シャイニング」がオペラになったという(geektyrant)。先週、ミネソタ・オペラで上演され、作曲はポール・モラヴェック、作品は3幕という(台本はマーク・キャンベル)。モラヴェックは次のように語った。

スティーヴン・キングの独創的な小説は愛、死と力が全てである。そして、オペラは3つの基本構成からなる。

Runkeeperは常にユーザを追跡し、広告業者にデータを送っていた

位置情報を使おうとするアプリには注意すべきというSlashdotネタ。

アプリRunkeeperを開発するFitnessKeeperがヨーロッパで苦境にある。ヨーロッパのデータ保護法への違反でノルウェイ消費者委員会(NCC)から公式の訴状を受け取っている。しかし、なぜ? Runkeeperはアプリが動作中以外にも常にユーザの位置情報を追跡し、広告主にデータを送っていたのだ。消費者権利監視団体のNCCは、アプリが同意する通りに実行しているか、そしてデータの流れを監視するために20のアプリの諸条件を調査している。Tinderはすでにプライバシー法の同様の侵害でノルウェーのデータ保護局に報告している。NCCはRunkeeperの調査で、ユーザの位置情報が一日中追跡され、Kiip.meと呼ばれる米国内のサードパーティ広告業者に転送していることを発見した。
委員会のデジタルポリシー部長のフィン・ミスタッド(Finn Myrstad)氏は、
我々はデータの流れを確認し、アプリが実際に彼らが言う通りに実行しているかどうかを確認し、アプリを技術的に検査した。あらゆる人はRunkeeperは運動中にユーザを追跡しているのは分かるが、トレーニングを終えた後も継続しているのは許可できない。単にプライバシー法を侵害しているというだけでなく、我々はユーザがこの方法で追跡されたくないし、サードパーティ広告業者と共有して欲しくないということも確信している。

更新 2016.5.18

バグが見つかった!?

5/12/2016

Sue Googe氏、選挙運動でGoogleのフォントを使用

Sue Googe(スー・グーグー)という米の連邦議員候補(共和党)が、名前がGoogleに似ていることから、選挙運動でGoogleのフォントを使っているが、Googleから訴えられないのか?というSlashdotネタ。確かに、"Sue Google"に見えるので、「Googleを訴えろ」という運動に見えて、紛らわしい。"Sue Googe"と検索してもGoogle関連の訴訟が出てくる :-)

Sue Googe氏は米ノースカロライナ州第4選挙区選出のために走り回っている。彼女の名字が"Google"と似ていることで、彼女は選挙運動に役立つためにGoogleのフォントを使うことを決めた。選挙運動のボードを持つ二人の人物が並んで立つSue Googe氏の写真を見ることができる。"Googe"がまるで"Google"のように書かれていることが分かるだろう。しかし、"l"はない。"Googe"の"e"も"Google"の"e"のように傾斜している。他方、"Sue"は"Googe"と同じフォントで書かれていない。うっかりこのフォントを選択してしまった可能性はあるが、よく見れば、全くそのように思えない。そこで疑問を投げ掛けます: GoogleはSue Googe氏を訴える(sue)だろうか?

5/08/2016

Swift 3.0のリリースプロセス

今年終わりに登場する予定のSwift 3.0のリリースプロセスが明らかになった。

この投稿は目的、リリースプロセス、そしてSwift 3.0のおおよそのスケジュールを説明する。

Swift 3.0はSwift 2.2とソースの互換性がないメジャーリリースである。言語とSwift標準ライブラリに根本的変更を含んでいる。Swift 3.0で実装される変更の全体目録は「Swift evolution site」上で見つけられる。

Swift 3.0はSwiftパッケージ・マネージャを含む初のリリースでもある。Swiftパッケージ・マネージャはまだ開発初期段階なので、クロスプラットフォームのSwiftパッケージの開発や配布をサポートする。Swiftパッケージ・マネージャはDarwinとLinux両方で利用可能になるだろう。

Linuxに向け、Swift 3はSwiftコアライブラリを含む初のリリースにもなるだろう。

Swift 3.0は2016年終わり頃にリリースされると期待される。Swift.orgのリリースに加え、Swift 3.0はXcodeの将来バージョンで出荷されるだろう。

Hacker News 12

Swift3に向けた実装する提案

  • SE-0002: カリー化func宣言構文を削除
  • SE-0003: 関数パラメータからvarを削除
  • SE-0004: ++と--演算子を削除する
  • SE-0005: Swift内でObjective-C APIのより優れたトランスレータ
  • SE-0006: 標準ライブラリにAPIガイドラインを適用する
  • SE-0007: 条件と増分を持つCスタイルのforループ記法を削除する
  • SE-0016: UnsafePoiterとUnsafeMutablePointerから変換するためIntとUIntにイニシャライザを追加
  • SE-0019: Swiftテスト
  • SE-0023: APIデザインガイドライン
  • SE-0028: 今風のSwiftのデバッグ識別子(__File__など)
  • SE-0029: 関数適用で暗黙的なタプル展開の動きを削除する
  • SE-0031: 型装飾のinout宣言を調整
  • SE-0034: デバッグ識別子からラインコントロール命令の曖昧さをなくす
  • SE-0037: コメントと演算子間の相互作用を明確にする
  • SE-0039: 今風のPlaygroundリテラル
  • SE-0040: 属性引数をコロン":"と等号"="の組み合わせに取り替える
  • SE-0043: 複数パターンを持つ'case'ラベルの中で変数を宣言
  • SE-0046: 最初のラベルを含むすべてのパラメータを横断する一貫性のあるラベルの動きを規定する
  • SE-0049: @noescapeと@autoclosureをtype属性に移動する
  • SE-0053: 関数パラメータからletの明示的な利用を削除する
  • SE-0054: ImplicitlyUnwrappedOptional型を廃止する
  • SE-0055: Optionalを使ってunsafe pointer nullability explicitを作る
  • SE-0059: APIのネーミングガイドラインの更新とそれに応じてのSet APIの書き換え
  • SE-0061: autoreleasepool()への全体的な結果とエラーハンドリングを加える
  • SE-0065: コレクションとインデックスのための新しいモデル
  • SE-0069: Mutablity(可変)とFoundationの値渡し
  • SE-0070: Objective-CのみのOptional要求を作る
  • SE-0071: メンバー参照の中にキーワードを許可する
  • SE-0072: Swiftから暗黙のブリッジ変換を完全に削除する

5/07/2016

子育てハック

Boingboingから。「Parent Hacks」(親ハック、子育てハック)問いう本が出版されたとのこと(アマゾン)。本には小さな子供を持つ親にとって便利なヒントが描かれている。もともと2005年にアシャ・ドーンフェストさんがブログに綴っていたものから優れたものを134つ選んでまとめたもの。例えば、

  • #116 子供のお腹に電話番号を書く
  • #113 ひっくり返るのを避けるために軽いベビーカーにはアンクルウェイトを縛る
  • #110 車のカップホルダーをカップケーキライナーで覆う
  • #118 赤ちゃんにとって安全なホテルの部屋の差し込み口に粘着性の包帯を使う

アメリカと日本では子育ての環境は違うと思うけど、役立つ内容があるんじゃないかしら。

Phonenumberkidbelly

4年ぶりにPhrackが公開

4年1ヶ月ぶりにアンダーグラウンド系のオンラインマガジンPhrack(フラック)の最新版Phrack 69が公開された。なぜ、こんなに間が開いたのかという理由をこう述べている。

やぁ、Phrackの読者諸君! お待たせしたかな? 世界が2012年に終わっていかったとホッとしているかな? もし、マヤ人が正しかったらどうなっていたと思う? 彗星が地球に衝突していたらどうなっていたと思う? そう、我々は心配し過ぎで、しばらく休むことを決め、この惑星の最後の日を楽しむことにしたんだ。十分時間が経過したので、我々の種が消滅することはまず間違いなくないと思ったんだ。そろそろターミナルに再び戻る頃だって。それに始めたことは最後までやるよ :>

Hacker News

5/06/2016

若き日のハン・ソロ役が決定

スターウォーズシリーズのスピンオフの一つがハン・ソロの若き日(ミレニアム・ファルコンの艦長になる前)を描くものとなる。その若き日のハン・ソロを演ずるのはオールデン・エアエンライクに決まったとルーカスフィルムが公式に発表した。とりあえず、イギリス人ではなかった。5月13日に日本で公開される「ヘイル・シーザー!」に出ているようだ。これは見ておくべきか。

トランプ氏、タコボウルを食べて「アイ・ラブ・ヒスパニック」

共和党大統領候補となったトランプ氏、散々貶してきたヒスパニック相手の票集めが必要と自覚したのか(ポール・マナフォートの指示なのか)、メキシコの祝日(5月5日)シンコ・デ・マヨに、トランプタワーグリルでタコボウルを食べる写真と共に「アイ・ラブ・ヒスパニック」とツイート。ツイートはFacebookのページもリンクされている。

ChtuyP0VEAQZlY1

The Vergeに面白い記事 (ドナルド・トランプのタコボウルツイートに関して全てがとても不快) が出ている。まず、その作り笑い、

私は、SquintsがWendy Peffercornの前で溺れるふりをした(注1)時以来、このような挑発的な笑いは見たことがありません。これは彼がつけ込みたい人が誰かがよく分かる笑いです。笑いが(ほぼ間違いなく)「私はこのツイートがひどいのは分かっている、悔しかったら私に挑戦してみろ」と語っています。

そして、野菜不足のタコボウル。それから、よく見付けたと感心するのだが、左手の下に少しビキニの女性の写真が見えている。どうも、これは彼の前妻マーラ・メープルズさんとの事だ。

ドナルド・トランプは前妻マーラ・メープルズのビキニ写真の上でタコサラダを食べている。

(注1): https://www.youtube.com/watch?v=io4RWV681wQ

5/05/2016

Google、オンライン広告バブルの終焉

広告ブロックの広がりや広告効果の質の低下が、オンライン広告に打撃を与える。Googleは被害を受けるが、Facebookは逆に伸ばすというKalkis Researchの予想。んー.....

Googleの顧客は、質が悪化しているウェブサイトに広告が表示されていることをさっぱり分かっていない。広告の成長比率は全く見込まれない。彼らが詐欺や横領に気づいた時、Alphabetの成長物語は終わる。

要旨

オンライン広告市場は飽和しており、成長の余地がなくなっている。インターネットユーザが広告ブロッカーを利用し始め、広告の従来のスペースはもう満杯でシュリンクを始めている。

プレースメント広告企業はこれまで低品質ウェブサイト上に広告を表示することで釣り合いを取っていた。さらに悪いことに、顧客をクリック報酬型広告の代わりに、効率が悪く追跡が難しいディスプレイ型広告へ誘導している。

結果的に、オンライン広告の効率は年々減っており、企業は同じ結果を得るのにさらに広告へお金を費やす必要がある。

広告仲介者が増えてそれぞれ顧客の初期広告経費が減少しているにもかかわらず、広告プレースメントのプロセスはこれまで以上に自動的になり、曖昧で複雑化している。

コントロールと規制は存在していないし、広告費のかなりの部分が単純明白盗まれている。顧客は 広告詐欺の事実を意識するようになっている。全ての新しい詐欺スキャンダルがオンライン広告費を縮小している顧客のリスクを負っている。全体のエコシステムは一晩で成長から減少に転ずる恐れがあり、2000-2001年に起こったことの再現である。

これが起これば、小さなプレーヤは全滅するだろう。オンライン広告からの収入の90パーセントを握るAlphabet/Googleはそのビジネスが2010-2011年のレベルに抑制されることになるだろう。同時に株価は$200-$250の範囲に値崩れするだろう。他方のFacebookは広告を実際に見ている人をよりうまくコントロールできるので、市場シェアを獲得することで、混乱から利益を得るだろう。

Hacker News

5/04/2016

トランプ氏、米大統領選の共和党候補で指名獲得

共和党インディアナ州の予備選をトランプ氏が勝利し、テッド・クルーズ氏は指名レースから撤退。これで、ドナルド・トランプ氏が共和党の大統領選候補となることが確実となった。大統領選はドナルド・トランプ氏とヒラリー・クリントン氏の一騎打ちとなるのか、または誰かが独立党として名乗りを挙げ三つ巴になるのか...。クルーズ氏は最後まで戦うと言っていたが、フィオリーナ氏を副大統領候補にと発表してすぐの退場には驚いた(絶望的な状況下での一発逆転狙いではあったが)。Boingboingの記事

カーリー・フィオリーナについて一つ言っておこう、彼女は必要な時に会社にレイオフさせる方法を知っている。

追記 (2016.5.5)

ケーシック氏が撤退を表明するため、共和党予備選は終了。

The Business Blockchain

Hacker Newsによれば、ブロックチェーン押しのフレッド・ウィルソン氏がブロックチェーン本を紹介している。

私は今週「The Business Blockchain」という本を読んでいます。AVCコミュニティのメンバーであるWilliam Mougayar氏が書いた本です。

この本は、私がブログに書いた頃にKickstarterプロジェクトとして始まりました。そのプロジェクトを支援していたなら、この本が手に入ったでしょう。もし、そうでなければ、アマゾンで本を入手するといいでしょう。

私はまだ読み終わっていませんが、本では複雑なテーマとブロックチェーン技術を扱いますが、技術者でなくても読めるものになっています。その技術のための明快な利用事例をたくさん説明しており、どのようにブロックチェーン技術市場が進化しているかも説明しています。

もし、ブロックチェーン技術をベースにビジネスを始めたいと考えている、あるいはブロックチェーン技術があなたの働く市場を作り変えようとしていると考えている、または、息子や娘のためにこのことを理解したいだけだとしても、これはとても良い本です。

私は、過去5年間この話題についてこのブログでしてきた話が、ウィリアムの仕事を形にし、彼の好奇心、高まる専門知識、この領域での評判とつながりを持てたことにとても誇りを持っています。

このブログコミュニティは有能なグループで、私たちはお互いに成長や発展を助けています。この本はまさしくその多くの例の一つです。

参考までにMougayar氏はオライリーのRadarにブロックチェーンについて2本書いている

そういえば、ブロックチェーンの邦訳本がなかなか出てこない。一番有名だと思うオライリーの「Mastering Bitcoin」(2014年12月刊行)でさえ出る出ると言われ続け、未だに出ていない。有志による翻訳[PDF]はあるのだが(この翻訳があるから、出版されなくなったってこと?)

5/02/2016

ビットコインの開発者サトシ・ナカモトの正体は...

ビットコインの開発者サトシ・ナカモトの正体は、オーストラリア在住のクレイグ・ライト(Craig Wright)氏ではないか一時話題になったが、BBCの取材でビットコインの開発者であることを認め(日経)、その証拠として開発初期の暗号キーを提示したとのこと。元ビットコインのコア開発者ギャビン・アンドレセン氏や元ビットコイン財団の取締役ディレクタジョン・マトニス氏は、彼がサトシ・ナカモトと確信している。しかし、Redditのユーザが

JoukeHがクレイグ・ライトのブログに投稿したサインが"サルトル(Sartre)"のメッセージのサインではないことを発見した。ただ、ナカモトの2009年のトランザクションの中にあるサインではある。それはライト氏がナカモトだという絶対的な証拠ではなく、ブログの投稿の目的は皆を欺くにあるということをとても強くほのめかしている。

それで、クレイグ・ライトはまたしても詐欺師のように見せている。いつになったらメディアは学ぶのか?

まだ怪しい感じがする。

EconomistGavin Andresen(Bitcoin財団のチーフ・サイエンティスト)、Hacker News 1234SlashdotGIGAZINEGithub(patio11/writeverification)ars technicaNikcubTechCrunchスラド

追記1

ジョン・グラバー氏はエコノミスト紙の記事を引用し

私は、なぜライト氏がエコノミスト紙が提供したテキストをサインしないのか理解できない。そして、昨年暴露されたバックデイト(日付を遡った)GPG鍵に対する説明がまだない。バックデイト鍵は最終的には何かを示すわけではないが、確かに疑わしい。

追記2

カミンスキー氏のブログ

要点:

  1. その通り、これは詐欺である。何とも言えない。事によると。
  2. ライト氏はサルトルが書いたサトシのサインを持っているふりをしている。それは、彼が秘密鍵を持っており、サトシである可能性が高いことを意味している。彼が実際にパブリックなブロックチェーンの一部でサトシのサインを持っている。そして、もちろん彼は秘密鍵を必要としないし、サトシである必要はない。彼はまさにあなたにブロックチェーン以外サトシが何か他のものをサインしたと思わせる必要がある、サルトルのように。彼はサルトルを公開していない。彼はドキュメントの14パーセントを公開している。彼は全体のドキュメントをサマライズするつもりで、あなたにハッシュを見せている。これは嘘である。それはブロックチェーン自身から抽出したハッシュである。ライアン・カステルーチ (White Opsのエンジニアでビットコイン技術のマスター)はここに抽出に使ったツールを置いている。もちろん、ビットコインは全体が公開されており、サトシのサインがある。そして、全く驚くべきことではないが、ライト氏はここからサインを盗むことは可能である。
  3. そのサイン自身がRedditorらによってGoogle検索で見つけられなければ、彼はおそらく持ち逃げするつもりだろう
  4. 私はギャビン、その他が別の詐欺の犠牲者だと思う。そして、ライト氏はいろいろな人に向け様々な詐欺を作り出すことで古典的なミスディレクションを行った。

追記 (2016.5.6)

ライト氏は約束した(extraordinaryな)証拠を提示せずウェブサイトも閉鎖してしまった。

私はこれができると信じていました。私はずっと匿名で背後に隠れていられると信じていました。しかし、今週のイベントで明らかになり、私は初期の鍵へのアクセスの証拠を公表する準備をしていましたが、私は折れてしまった。私はその勇気を持っていません。できないのです。

噂が始まった時、私の能力や人格が攻撃されました。それらの主張が誤りだと証明されても、新しい主張がすぐに始まりました。私は十分強くないことを分かっています。

この弱さが私を支援してくれた人たち、特にジョン・マトニス氏やギャヴィン・アンドリーセン氏に大きな損害を引き起こすだろうことは分かっています。私は彼らの名誉と信頼が私の行動によって取り返しがつかないほど傷つけられないことを望むだけです。彼らは惑わされませんでしたが、世界は決してそれを信じないことは分かっています。申し訳ありませんと言うしかできません。

そして、さようなら。

BoingboingSlashdotTechCrunch

5/01/2016

経験豊かなプログラマはGoogleをよく利用しますか?

経験豊かなプログラマはGoogleをよく利用する。こっそりググる必要はない。

ソフトウェア開発者、特にその分野に新しく入ってきた人たちはしばしばこの質問をします。良いプログラマなのか、解決法をググって調べることが単にうまいだけなのか、一度は疑問に思います

経験豊かなプログラマはGoogleをよく利用しますか?

明らかな回答はそのとおり。経験豊かな(そして良い)プログラマはGoogleを利用します...とても多く。事実、あるプログラマは初心者以上に利用すると主張しています。Googleを使うことは、悪いプログラマあるいはGoogleなしにコーディングできないという意味ではありません。事実、真実は全く反対だったりします: Googleは彼らのソフトウェア開発ツールキットの主要部分で、いつどのように利用すればいいのかを知っています。

Googleを使う大きな理由は些細な事や微妙な差異を全て思い出す事が難しいからです。多数の言語や数十のフレームワークを使ってプログラミングをする時は特にそうです。アインシュタインはこう言っています:

調べて分かることを、いちいち覚える必要はない (Never memorize something that you can look up.)。-
アルバート・アインシュタイン

それを除けば、良いプログラマは初めての問題なら対処できないことも知っています。彼らは可能な解決法を探るためにGoogleを利用し、注意深く結果を評価し、意識して価値あるものと無いものを分けます。そして、思い浮かぶ解決法をやみくもにフォローしたりコピペしません。熟練プログラマは偏執狂でもあり、自己不信で暮らし、能力を疑っています。彼らのスパイディセンスがうずき始めた時は、落とし穴に入るかもしれないことを知っています。そして、彼らは彼らのロジックを確認するのにGoogleを頼りにします。

定義でいくと、私は経験豊かなプログラマだと考えます。つい先日、私はモバイルゲームから持続的ソケットを処理するためにJavaのNettyを使ってWebサーバを書きました。私は今までNettyを使ったことはありません。ここに私が行ったGoogle検索があります。

1. netty tutorial 2. netty maven dependency 3. netty bytebuf to string 4. netty bytebuf release 5. netty 4 changes 6. setOption("child.bufferFactory") netty 4 7. ByteBuf netty 8. opensource projects using netty framework 9. netty 4 examples 10. netty 4 adding json encoder 11. netty channel pipeline 12. netty 4 messagetomessage encoder 13. netty serverbootstrap childhandler 14. ByteBuf netty 15. lengthfieldbasedframedecoder netty 4 16. netty 4 client examples 17. netty 4 bytebuf to bytebuffer 18. netty 4 endianness 19. netty channelhandlercontext 20. netty channelhandlercontext thread safe 21. netty user authentication 22. netty heartbeat handling 23. load test netty with 10k concurrent sockets

私はサーバとクライアントのために255行のコードを書きました。私は23回Google検索を行い、ほとんどがStackOverflow、Netty 4のウェブサイト、GitHub、JavaDocsに着きました。計算してみると、平均10行のコードごとに1クエリとなります! 私は全く考えもしませんでした。あなたの平均がどのくらいかコメントで私に知らせて下さい。

それでは、くつろいでリラックして、Googleはソフトウェア開発者の最高の友だということを思い出して下さい。

Hacker News

クロード・シャノン生誕100年

4月30日は情報理論の父と言われるクロード・シャノンの生誕100年ということで、IEEE SpectrumNew Yorkerが特集記事を掲載したり、Googleがロゴを変更したり(なぜか、日本はロゴが変更されなかった)とお祝いが行われた。以下、New Yorkerのはじめの部分。

12年前、カリフォルニア工科大学の数学者でエンジニアでもあるロバート・マケリースは、情報理論の分野で最高の栄誉であるクロード・シャノン賞を受賞した。シカゴの国際シンポジウムでの受賞講演で、2001年に亡くなった賞の名前になった人物を説明した。マケリースは次の略歴を含む何千年も先のアイザック・アシモフによって造られた架空の大要である銀河百科辞典の第166版を想像した。
クロード・シャノン: 西暦1916年に惑星地球(Sol III)に生まれ。一般的には情報時代の父とされ、彼は西暦1948年に通信路容量の概念を理論立てた。数十年以内に、数学者やエンジニアがシャノン限界の1パーセント以内のデータ速度で確実に通信するための実用的な方法を考案した。

シャノンは機械を作るのが好きだった。彼が作った機械がMITの博物館にある。

Hacker News