Jeff Dean-Google的那些傳聞

JeanCheng發表於2014-04-09

關於Jeff Dean: http://research.google.com/people/jeff/,簡單來說,這貨是Google牛逼的源泉之一。因為此人實在太牛了,於是出現了關於他有多牛的幾個笑話,直接笑翻,和大家共享下。

首先,Jeff Dean是誰?

 

我想許多程式設計師都對這個名字如雷貫耳,如果你沒有聽說過,可以掃一眼他的 個人履歷,你會感到無比驚訝的:

 

Google AdSense(線上上釋出廣告);

Protocol Buffers協議,protobuf,用於把結構資料序列化;

Google News;

MapReduce;

BigTable;

Spanner,分散式資料庫;

DistBelief,分散式的深度學習和平行計算平臺;……

但是,最著名的就是他設計和實現了Map Reduce和Big Table,這兩項改變世界的技術。

 

坊間流傳著許多關於Jeff Dean有趣的說法,我挑了一些我覺得有趣的列在下面:




1. During his own Google interview, Jeff Dean was asked the  implications if P=NP were true.  He said, "P = 0 or N = 1." Then, before  the interviewer had even finished laughing, Jeff examined Google’s  public certificate and wrote the private key on the whiteboard.

    當他被Google面試時,Jeff Dean被問及如果P=NP意味著什麼。他說,“P=0 或者 N=1”。然後,在所有的面試官還沒笑完之前,Jeff瞄了一眼Google的公共證書然後在白板上寫上了對應的私鑰。

2. Compilers don’t warn Jeff Dean.   Jeff Dean warns compilers.

    編譯器從來不給Jeff編譯警告,而是Jeff警告編譯器

3. The rate at which Jeff Dean produces code jumped by a factor of 40  in late 2000 when he upgraded his keyboard to USB 2.0.

    在2000年後段,Jeff碼程式碼的速度突然激增了40倍,原因是他把自己的鍵盤升級到了USB 2.0


4. Jeff Dean builds his code before committing it, but only to check for compiler and linker bugs.

    Jeff還是會在提交程式碼前把它們編譯一遍,不過這麼做的目的只是為了檢查下編譯器和連結器有沒有bug

5. All pointers point to Jeff Dean.

    所有指標都是指向Jeff的

    解釋:指標是C程式設計的核心,但是Jeff Dean 是程式設計世界的中心

6. gcc -O4 emails your code to Jeff Dean for a rewrite.

    gcc的-O4優化選項是將你的程式碼郵件給Jeff重寫一下

7. The speed of light in a vacuum used to be about 35 mph. Then Jeff Dean spent a weekend optimizing physics.

    光在真空中的速度曾近是35英里每小時,後來Jeff花了一個週末對物理學進行了小小的優化

8. Jeff Dean was born on December 31, 1969 at 11:48 PM. It took him twelve minutes to implement his first time counter.

    Jeff出生於1969年12月31日的下午11點48分,然後他花了整整12分鐘的時間實現了他的第一個計時器。(背景:計算機中的計時器數值通常被設計為從1970年1月1日0點0分0秒到當前為止的秒數)

9. When Jeff Dean sends an ethernet frame there are no collisions because the competing frames retreat back up into the buffer memory on their source nic.

    當Jeff向乙太網傳送一個資料包時從來不會有衝突,原因是本來要和它有衝突的包都默默撤回了緩衝區

10. Unsatisfied with constant time, Jeff Dean created the world's first O(1/n)algorithm.

    Jeff對常量的時間複雜度並不滿足,於是他創造了世界上第一個O(1/n)的演算法。(即隨著問題規模的增大,其解決問題所花的時間會越短)

11. Jeff Dean was forced to invent asynchronous APIs one day when he optimized a function so that it returned before it was invoked.

    Jeff曾被迫發明了非同步API,原因是經他優化後的某個函式會在呼叫開始前返回

12. When Jeff Dean designs software, he first codes the binary and then writes the source as documentation.

    當Jeff寫軟體時,他是直接碼機器碼的。寫原始碼只是為了作為文件使用。

13. Jeff Dean wrote an O(n^2) algorithm once. It was for the Traveling Salesman Problem.

    Jeff曾無奈寫過一次O(n^2)的演算法,其解決的問題是旅行商問題。(該問題是NPC的,即計算機中最複雜最難解決的一類問題,許多人相信這些問題是沒有多項式時間複雜度的解的)

14. Jeff Dean can beat you at connect four. In three moves.

    Jeff在四子連珠的遊戲中能贏你,在三步內

15. When your code has undefined behavior, you get a seg fault and corrupted data. When Jeff Dean's code has undefined behavior, a unicorn rides in on a rainbow and gives everybody free ice cream.

    當你的程式碼有不確定行為時,你通常得到一個段錯誤或者不正確的資料。當Jeff的程式碼有不確定行為時,孫悟空會駕著七彩雲朵給每個人發免費的長壽仙桃

16. When Jeff Dean fires up the profiler, loops unroll themselves in fear.

    當Jeff觸發程式的程式效能取樣時,迴圈會因害怕而自動展開。

17. Jeff Dean is still waiting for mathematicians to discover the joke he hid in the digits of PI.

    Jeff依然孤獨地等待著數學家們解開他在PI的數字中隱藏的笑話

18. Jeff Dean's keyboard has two keys: 1 and 0.

    Jeff的鍵盤多達兩個鍵:1和0,

    解釋:Jeff的程式碼是直接寫二進位制的,所以1和0就夠了


19. When Jeff has trouble sleeping, he Mapreduces sheep.

    當Jeff失眠時,他Mapreduce羊群。(Mapreduce是Jeff的作品之一,這個分散式處理的框架演算法是Google立足的根本之一)

20. When Jeff Dean listens to mp3s, he just cats them to /dev/dsp and does the decoding in his head.

    當Jeff聽MP3時,他檢視其中的二進位制內容然後在他腦子裡進行音訊解碼。

21. When Graham Bell invented the telephone, he saw a missed call from Jeff Dean.

    當貝爺在沙漠中逮到一個手機時,他發現手機裡有個Jeff的未接來電。

    當貝爾發明電話後,他發現電話裡有個Jeff的未接來電。

22. Jeff Dean's watch displays seconds since January 1st, 1970. He is never late.

    Jeff的手錶顯示的數字是自1970年1月1日0點0分0秒以來的秒數,他因此從來不遲到。

23. Jeff starts his programming sessions with 'cat > /dev/mem'.

    Jeff在開始程式設計之前,會做'cat > /dev/mem'。(即把輸入的內容直接導到記憶體中)

24. One day Jeff Dean grabbed his Etch-a-Sketch instead of his laptop on his way out the door. On his way back home to get his real laptop, he programmed the Etch-a-Sketch to play Tetris.


    有一次Jeff出門時錯將草圖畫板當筆記本拿了。結果在他回家取筆記本的路上,他對畫板進行了重程式設計以在其上玩俄羅斯方塊


25. Google search went down for a few hours in 2002, and Jeff Dean started handling queries by hand. Search Quality doubled.

    在2002年,Google搜尋曾掛了幾個小時,於是Jeff站出來手動處理使用者的查詢請求。搜尋準確度翻了番

26. The x86-64 spec includes several undocumented instructions marked 'private use'. They are actually for Jeff Dean's use.

    x86-64指令集中有一些沒有被記入到文件的‘私用’指令。事實上,他們是給Jeff用的

27. 
mantri@mantri-laptop~$  rm -r / 
    rm: cannot remove root directory ‘/’ 

mantri@mantri-laptop~$ su - jeffdean -c "rm -r /" 
    I am extremely sorry. Removing root directory...

不解釋

28. Jeff Dean once shifted a bit so hard, it ended up on another computer.

    有次Jeff移位移得太恨了,結果那一位跑到另一臺計算機上去了

29. Jeff Dean has gone to /dev/null and come back.

    Jeff從/dev/null那涅槃了。(龐統啊~)

    Jeff又從/dev/null那涅槃了。(擦!)

30. Jeff Dean sorts his phone contacts by their vcard's md5 checksums.

    Jeff通訊錄的排序規則是按照聯絡人的md5值

31. Jeff Dean doesn't kill processes, he slays them.

    Jeff他不殺程式,他肢解虐殺它們

32. The needle in haystack found Jeff Dean

    海底的針會自己找上Jeff

33. All of the Google App Engine is actually hosted from Jeff Dean's Nexus S

    Google App Engine的伺服器實際上是Jeff的Nexus S

34. Jeff Deans’s keyboard doesn’t have a Ctrl key because nothing controls Jeff Dean.

    Jeff的鍵盤壓根就沒有Ctrl(控制)鍵,因為沒有什麼東西能控制Jeff

35. You name three pointers, Einstein, Euler, and Turing, when you de-reference them, all you get is Jeff Dean.

    如果你命名三個指標分別為愛因斯坦、尤拉和圖靈,當你檢視它們的指向時,你看到的都會是Jeff

相關文章