Jeff Dean-Google的那些传闻

关于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

你可能感兴趣的:(Jeff Dean-Google的那些传闻)