看了那些 Google 大神 Jeff Dean 的傳說後,我跪了!

  • 2020 年 2 月 20 日
  • 筆記

來源:zhihu.com/question/22081653/answer/20593104

Jeff Dean:(也稱Jeffrey Adgate Dean)是一名美國電腦科學家和軟體工程師,出生於1968年,畢業於華盛頓大學,主要作品有《MapReduce》等。

主要成就:

  • MapReduce 一個大規模數據處理系統
  • BigTable 一個結構化數據的分散式存儲系統
  • Spanner 一個全球性的資料庫系統
  • 參與Google的網路爬蟲、索引、查詢系統、AdSense、Google翻譯的設計與實現。
  • 2009年當選美國工程院院士
  • TensorFlow 人工智慧學習系統 項目負責人

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

  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的公共證書然後在白板上寫上了對應的私鑰。

  1. Compilers don』t warn Jeff Dean. Jeff Dean warns compilers.

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

  1. 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

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

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

  1. All pointers point to Jeff Dean.

所有指針都是指向Jeff的

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

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

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

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

  1. 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秒到當前為止的秒數)

  1. 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向乙太網發送一個數據包時從來不會有衝突,原因是本來要和它有衝突的包都默默撤回了緩衝區

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

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

  1. 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,原因是經他優化後的某個函數會在調用開始前返回

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

當Jeff寫軟體時,他是直接碼機器碼的。寫源程式碼只是為了作為文檔使用。

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

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

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

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

  1. 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的程式碼有不確定行為時,孫悟空會駕著七彩雲朵給每個人發免費的長壽仙桃

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

當Jeff觸發程式的程式性能取樣時,循環會因害怕而自動展開。

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

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

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

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

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

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

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

當Jeff聽MP3時,他查看其中的二進位內容然後在他腦子裡進行音頻解碼。

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

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

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

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

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

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

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

  1. 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出門時錯將草圖畫板當筆記型電腦拿了。結果在他回家取筆記型電腦的路上,他對畫板進行了重編程以在其上玩俄羅斯方塊

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

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

  1. 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..

不解釋

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

有次Jeff移位移得太恨了,結果那一位跑到另一台電腦上去了

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

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

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

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

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

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

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

  1. The needle in haystack found Jeff Dean

海底的針會自己找上Jeff

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

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

  1. Jeff Deans』s keyboard doesn』t have a Ctrl key because nothing controls Jeff Dean.

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

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

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

Tags: