看了那些 Google 大神 Jeff Dean 的传说后,我跪了!
- 2020 年 2 月 20 日
- 筆記
来源:zhihu.com/question/22081653/answer/20593104
Jeff Dean:(也称Jeffrey Adgate Dean)是一名美国计算机科学家和软件工程师,出生于1968年,毕业于华盛顿大学,主要作品有《MapReduce》等。
主要成就:
- MapReduce 一个大规模数据处理系统
- BigTable 一个结构化数据的分布式存储系统
- Spanner 一个全球性的数据库系统
- 参与谷歌的网络爬虫、索引、查询系统、AdSense、谷歌翻译的设计与实现。
- 2009年当选美国工程院院士
- TensorFlow 人工智能学习系统 项目负责人
Jeffrey Dean,简单来说,这货是Google牛逼的源泉之一。因为此人实在太牛了,于是出现了关于他有多牛的几个笑话,直接笑翻,和大家共享下。
- 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的公共证书然后在白板上写上了对应的私钥。
- Compilers don’t warn Jeff Dean. Jeff Dean warns compilers.
编译器从来不给Jeff编译警告,而是Jeff警告编译器
- 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
- Jeff Dean builds his code before committing it, but only to check for compiler and linker bugs.
Jeff还是会在提交代码前把它们编译一遍,不过这么做的目的只是为了检查下编译器和链接器有没有bug
- All pointers point to Jeff Dean.
所有指针都是指向Jeff的
- gcc -O4 emails your code to Jeff Dean for a rewrite.
gcc的-O4优化选项是将你的代码邮件给Jeff重写一下
- The speed of light in a vacuum used to be about 35 mph. Then Jeff Dean spent a weekend optimizing physics.
光在真空中的速度曾近是35英里每小时,后来Jeff花了一个周末对物理学进行了小小的优化
- 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秒到当前为止的秒数)
- 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向以太网发送一个数据包时从来不会有冲突,原因是本来要和它有冲突的包都默默撤回了缓冲区
- Unsatisfied with constant time, Jeff Dean created the world's first O(1/n)algorithm.
Jeff对常量的时间复杂度并不满足,于是他创造了世界上第一个O(1/n)的算法。(即随着问题规模的增大,其解决问题所花的时间会越短)
- 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,原因是经他优化后的某个函数会在调用开始前返回
- When Jeff Dean designs software, he first codes the binary and then writes the source as documentation.
当Jeff写软件时,他是直接码机器码的。写源代码只是为了作为文档使用。
- Jeff Dean wrote an O(n^2) algorithm once. It was for the Traveling Salesman Problem.
Jeff曾无奈写过一次O(n^2)的算法,其解决的问题是旅行商问题。(该问题是NPC的,即计算机中最复杂最难解决的一类问题,许多人相信这些问题是没有多项式时间复杂度的解的)
- Jeff Dean can beat you at connect four. In three moves.
Jeff在四子连珠的游戏中能赢你,在三步内
- 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的代码有不确定行为时,孙悟空会驾着七彩云朵给每个人发免费的长寿仙桃
- When Jeff Dean fires up the profiler, loops unroll themselves in fear.
当Jeff触发程序的程序性能采样时,循环会因害怕而自动展开。
- Jeff Dean is still waiting for mathematicians to discover the joke he hid in the digits of PI.
Jeff依然孤独地等待着数学家们解开他在PI的数字中隐藏的笑话
- Jeff Dean's keyboard has two keys: 1 and 0.
Jeff的键盘多达两个键:1和0
- When Jeff has trouble sleeping, he Mapreduces sheep.
当Jeff失眠时,他Mapreduce羊群。(Mapreduce是Jeff的作品之一,这个分布式处理的框架算法是Google立足的根本之一)
- When Jeff Dean listens to mp3s, he just cats them to /dev/dsp and does the decoding in his head.
当Jeff听MP3时,他查看其中的二进制内容然后在他脑子里进行音频解码。
- When Graham Bell invented the telephone, he saw a missed call from Jeff Dean.
当贝爷在沙漠中逮到一个手机时,他发现手机里有个Jeff的未接来电。
当贝尔发明电话后,他发现电话里有个Jeff的未接来电。
- Jeff Dean's watch displays seconds since January 1st, 1970. He is never late.
Jeff的手表显示的数字是自1970年1月1日0点0分0秒以来的秒数,他因此从来不迟到。
- Jeff starts his programming sessions with 'cat > /dev/mem'.
Jeff在开始编程之前,会做'cat > /dev/mem'。(即把输入的内容直接导到内存中)
- 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出门时错将草图画板当笔记本拿了。结果在他回家取笔记本的路上,他对画板进行了重编程以在其上玩俄罗斯方块
- Google search went down for a few hours in 2002, and Jeff Dean started handling queries by hand. Search Quality doubled.
在2002年,Google搜索曾挂了几个小时,于是Jeff站出来手动处理用户的查询请求。搜索准确度翻了番
- 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..
不解释
- Jeff Dean once shifted a bit so hard, it ended up on another computer.
有次Jeff移位移得太恨了,结果那一位跑到另一台计算机上去了
- Jeff Dean has gone to /dev/null and come back.
Jeff从/dev/null那涅槃了。(庞统啊~)
Jeff又从/dev/null那涅槃了。(擦!)
- Jeff Dean sorts his phone contacts by their vcard's md5 checksums.
Jeff通讯录的排序规则是按照联系人的md5值
- Jeff Dean doesn't kill processes, he slays them.
Jeff他不杀进程,他肢解虐杀它们
- The needle in haystack found Jeff Dean
海底的针会自己找上Jeff
- All of the Google App Engine is actually hosted from Jeff Dean's Nexus S
Google App Engine的服务器实际上是Jeff的Nexus S
- Jeff Deans’s keyboard doesn’t have a Ctrl key because nothing controls Jeff Dean.
Jeff的键盘压根就没有Ctrl(控制)键,因为没有什么东西能控制Jeff
- You name three pointers, Einstein, Euler, and Turing, when you de-reference them, all you get is Jeff Dean.
如果你命名三个指针分别为爱因斯坦、欧拉和图灵,当你查看它们的指向时,你看到的都会是Jeff