首先,Jeff Dean 是谁?
我想许多程序员都对这个名字如雷贯耳,如果你没有听说过,可以扫一眼他的个人履历,你会感到无比惊讶的:
- Google AdSense(在线上发布广告);
- Protocol Buffers 协议,protobuf,用于把结构数据序列化;
- Google News;
- MapReduce;
- BigTable;
- Spanner,分布式数据库;
- DistBelief,分布式的深度学习和并行计算平台;
- ……
但是,最著名的就是他设计和实现了 Map Reduce 和 Big Table,这两项改变世界的技术。
坊间流传着许多关于 Jeff Dean 有趣的说法,我挑了一些我觉得有趣的列在下面:
- 在 Google 面试的时候,Jeff Dean 被问到要求解释一下 P=NP 的含义。他说,P=0 或者是 N=1 的时候等式成立。然后,在所有面试官大笑完之前,Jeff 瞅了一眼 Google 的公共证书,然后直接在白板上写了相应的私钥。
- Compilers don’t warn Jeff Dean. Jeff Dean warns compilers. 编译器从来不给 Jeff 警告,Jeff 总是警告编译器。
- 从 2000 年末开始,Jeff 的编码速度增加了 40 倍,因为他把键盘升级到 USB 2.0 了。
- Jeff Dean 会在提交代码前编译一遍,仅仅是为了检查编译器和链接器有没有 bug。
- 光在真空中的速度曾经是 35 英里每小时,不过后来 Jeff Dean 花了一个周末优化了一下物理学。
- 当 Jeff Dean 向以太网发送数据包的时候,从来都不会出现冲突,因为其他包都主动退回到了缓冲区。
- 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 Dean 被迫发明了一个异步 API,所以在 API 被调用前就返回了。
- 当 Jeff Dean 设计软件的时候,他是直接写二进制代码的,至于写源文件,只是作为参考文档而已。
- Jeff Dean 曾经用一个简单的 printf() 调用实现了整个 web 服务器,其他工程师添加了几千行说明代码但是仍然无法解释到底它是怎么工作的。如今这个程序就是 Google 搜索的前端页部分。
- When Jeff Dean fires up the profiler, loops unroll themselves in fear. 当 Jeff Dean 触发性能剖析器的时候,循环会因为恐惧而自动展开。
- When Jeff has trouble sleeping, he Mapreduces sheep. 当 Jeff 睡不着觉的时候,他 Mapreduce 羊群。
- 2002 年的时候,Google 挂了,Jeff Dean 就主动站出来手动处理搜索请求,于是搜索质量就翻番了。
- Jeff Dean 穿裤子的时候,一次只能穿一只脚,但是如果他有好多脚的话,你会看到他可以以 O(log n) 的时间复杂度穿裤子。
- Jeff Dean 消失在/dev/null 后,又回来了!
- Jeff Dean 以电子名片的 md5 摘要来给电话联系方式排序的。
- ……
有意思的段子实在太多了,你自己去 Quora 上找找吧。
文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》
关于 John Resig 的
http://www.douban.com/group/topic/10404799/