全盛期のJeff Dean伝説

## Jeff Deanとは
- GoogleのSenior Fellow. Googleの基盤となる分散システムのほぼ全てに[中心的に関わり](https://www.wikiwand.com/en/Jeff_Dean_(computer_scientist))、圧倒的なエンジニアリング能力を発揮したらしい。あまりにも尊敬されているため、IT業界において[全盛期のイチロー伝説](http://ja.uncyclopedia.info/wiki/%E3%82%A4%E3%83%81%E3%83%AD%E3%83%BC)のような破天荒なホラ話のネタにされている人。
- 日本語での紹介がなさそうだったので意訳してみました。
- 元ネタは[こちら](https://www.quora.com/What-are-all-the-Jeff-Dean-facts)。多すぎるのでGoogle社員じゃない人には面白みがわかりにくそうなもの、面白みが被っていると私が判断したものなどは省いてあります。

## 全盛期のJeff Dean
### NP問題
- Jeff DeanがGoogleの採用面接を受けたときに、もしP=NPが成り立つとしたらどうなるかを問われて"P=0かN=1ですね"と答えた。試験官が笑い終わりさえしないうちに彼はGoogleのpublic keyを突き止め、private keyをホワイトボードに書き終わった。
- Jeff DeanはすべてのNP問題をホワイトボードで多項式時間で解くことでP=NPであることを証明した。
- Jeff DeanにとってはNPは"No Problem"をあらわす。

### プログラミング
- Jeff Deanのキーボードには２つしかキーがない。１と０だ。
- Jeff Deanのコードを書く速度は2000年にUSB2.0が出たときに40倍になった[^1]。
- Jeff Deanはコミットする前に自分のコードをコンパイルして動作させるが、それはコンパイラとCPUのバグをチェックするためである。
- Jeff Deanは一度だけO(n^2)のアルゴリズムを書いたことがある。巡回セールスマン問題のために。
- コンパイラはJeff Deanに警告を出さない。Jeff Deanがコンパイラに警告を出すのだ。
- Jeff Deanは抽象クラスをインスタンス化できる。
- Jeff DeanのIDEはコードの分析(analysis)をしない。ただ賞賛(appreciate)するだけである。
- Jeff Deanはhtmlを正規表現でパースできる。。。正確に。
- Jeff Deanがプロファイラを立ち上げると、ループたちは恐怖のあまり勝手にアンロール[^3]する。
- Jeff Deanが一度リストを順序付け(order)ると、以後リストはずっと彼に従う。 
- もしあなたのプログラムがSIGJEFFによって終了させられたら、二度と動くことはないだろう。
- コンパイルエラーはJeff Deanを警告として扱う。
- Jeff Deanは"cat > /dev/mem"[^7]してからプログラムを書き始める。
- Jeff Deanは邪悪なコンストラクタ[^4]を恐れない。コンストラクタが彼を恐れるのだ。
- Jeff Deanはバグを出さない。彼はあなたの理解できない仕様を追加しただけなのだ。
- あなたのプログラムが未定義な動作に陥ると、segfaultが発生し、データは壊れてしまうだろう。一方Jeff Deanのプログラムが未定義な動作に陥ると、ユニコーンが虹の橋を渡ってやってきてみんなに無料のアイスクリームを配るだろう。
- Jeff Deanのコードはとても速いので、終了させるためにHALTコードを３回も呼び出す必要がある。
- Jeff DeanのバブルソートプログラムはO(1)で動作する。
- Jeff Deanはあるときbitをあまりにもshiftしすぎたため、最後には隣のマシンに移動してしまった。
- gccの最適化オプション

```
gcc -O1: コンパイラは、 コードのサイズと実行時間を削減するよう試みます。 
gcc -O2: さらに最適化を行います。
gcc -O3: さらに一層、 最適化を行います。
gcc -O4: 完全に書きなおしてもらうために、あなたのコードをJeff Deanに送信します。
```

### 逸話
- Emacsが、いちばん好きなエディターはJeff Dean。
- あるときJeff Deanが蜘蛛に噛まれたことがあった。その蜘蛛は超常的な力とCを読む能力を手に入れた。
- Jeff Deanは203番目のフィボナッチ数を問われて１秒以内に答えてしまったので、チューリングテストに失敗したことがある。
- Jeff Deanはπの最初の２万桁を５時間で暗唱できる。それを暗記しているわけではない：彼はそれを高々O(log n)の容量を使って再計算しているのだ。
- Jeff Deanはたった１つしかパスワードを覚えていない。彼はそれをサイト名と結合してsha-256でハッシュを計算した結果を打ち込んでいるのだ。
- Jeff Deanは眠るのではない。宇宙に対してSIGSUSPENDを送るのだ。
- Jeff Deanの腕時計は1970/1/1 00:00:00からの経過秒数を表示するが、彼は決して遅刻しない。
- Jeff Deanはスピーカーやヘッドホンを必要としない。彼はcat *.mp3して、画面を眺める。そうすると彼の脳はそれをバックグラウンドでデコードして再生する。
- あるときドナルドクヌースがTAOCP[^8]をJeff Deanに送ったことがあった。Jeff Deanはそれにサインをして送り返した。
- Jeff Deanがインターネット通信をするとき、遅延は最適化される。ルーターはもし彼のIPパケットを破棄したら、彼がインターネットを破棄することを知っているからだ。

### 業績
- Jeff Deanの履歴書には、彼がやってないことだけが書いてある。その方が短いから。
- やったことがあまりにも多いため、Jeff Deanの履歴書には目次が付いている。
- Jeff DeanがBig Tableを作ったのは、彼の履歴書の項目が多すぎて記録しておく場所がなかったから。
- Jeff DeanはファンからのメールをソートするためにMapReduceを発明した。
- 2002年の初頭、Googleの検索サーバーが落ちたことがあった。Jeff Deanは２時間にわたってユーザーのQueryに手動で答えたが、検索結果の質は5ポイント改善されたと評価された。
- 定数オーダーのアルゴリズムでは飽き足らず、Jeff Deanは世界で始めてO(1/n)のアルゴリズムを開発した。
- あなたは自分の脳の10%しか使うことができない。残りの90%はJeff DeanがMapReduce jobの１つを動かすのに使っているから。
- 神が"光あれ"とおっしゃたとき、Jeff Deanはコードレビューするためにそこにいた。
- ある日Graham Bellがついに電話を発明すると、そこにはJeff Deanから不在着信が来ていた。
- Jeff Deanは自分の１週間分のコードスニペットを格納するためにBig Tableを発明した。
- Jeff Deanはある日、一回のprintfの呼び出しだけからなるウェブサーバーを実装した。他のエンジニアが数千行に及ぶ解説のコメントを書いたが、それでも正確にはどのように動いているかはわからなかった。今日GWSと呼ばれているプログラムである[^2]。
- Jeff Deanは自分がπの桁の中に隠したジョークを数学者が発見するのを未だに待ち続けているらしい。
- Google App Engineの全体はJeff Deanの持っているNexus Sでホストされている。
- Jeff Deanは1969/12/31 23:48に生まれた。そして最初の計時システムを実装するのに12分を要した[^5]。
- Jeff Deanは20%プロジェクトとしてAIを開発したことがある。それによってUrs Hoelzle[^6]が作られた。
- ウェブ検索はJeff Deanの本当のアプリのための巨大なユニットテストプログラムである。
- Jeff Deanがうっかり検索インデクスを圧縮しすぎてブラックホールが発生したため、Googleはデータセンターを移動させなければならなかったことがある。
- 真空中の光の速さはかつて時速35マイル(約56km)だったが、Jeff Deanが週末を使って物理法則を最適化した結果現在のスピードになった。

[^1]: USB1.1 = 12MB/s, USB2.0 = 480MB/s
[^2]: GWS = googleの検索サービスのフロントエンドウェブサーバー
[^3]: アンロール = ループを同じ回数の内部ブロックの実行に展開する最適化手法。
[^4]: コメントで指摘のあった[ソースコード](https://github.com/google/protobuf/blob/56a90a2081379a5286edf0eea70aa2000e26c7f9/src/google/protobuf/stubs/macros.h#L40)を見ると、具体的に、C++の暗黙のうちに生成されるコピーコンストラクタのことをgoogle社内ではそう呼んでいる模様。
[^5]: time_tのエポック = 1970/01/01 00:00:00 
[^6]: Urs Hoelzle = Googleのvice president 
[^7]: 危ないので試さないでね！
[^8]: [the art of computer programming](https://www.wikiwand.com/ja/The_Art_of_Computer_Programming)