LogoThread Easy
  • Explorar
  • Componer hilo
LogoThread Easy

Tu compañero integral para hilos de Twitter

© 2025 Thread Easy All Rights Reserved.

Explorar

Newest first — browse tweet threads

Keep on to blur preview images; turn off to show them clearly

2007年愚人节前后,谷歌内部开始流传一系列关于杰夫·迪恩的玩笑,模仿"查克·诺里斯梗"的形式。  

这些玩笑夸张地描述了迪恩的技术能力,

例如:  

“杰夫·迪恩先直接写二进制;源码只是给别人看的文档。” 

“杰夫·迪恩的键盘没有 Ctrl 键——因为他一直都在控制中。” -

"编译器不会警告杰夫·迪恩。杰夫·迪恩会警告编译器。" 

 “真空里的光速以前很慢,后来杰夫·迪恩用一个周末把物理优化了。”  

这些梗在谷歌内部迅速传播,后来扩散到整个科技行业。

---

Jeff Dean的梗不仅有专门的Github,

还有有专门的reddit讨论社区,哈哈哈。

地址见评论

2007年愚人节前后,谷歌内部开始流传一系列关于杰夫·迪恩的玩笑,模仿"查克·诺里斯梗"的形式。 这些玩笑夸张地描述了迪恩的技术能力, 例如: “杰夫·迪恩先直接写二进制;源码只是给别人看的文档。” “杰夫·迪恩的键盘没有 Ctrl 键——因为他一直都在控制中。” - "编译器不会警告杰夫·迪恩。杰夫·迪恩会警告编译器。" “真空里的光速以前很慢,后来杰夫·迪恩用一个周末把物理优化了。” 这些梗在谷歌内部迅速传播,后来扩散到整个科技行业。 --- Jeff Dean的梗不仅有专门的Github, 还有有专门的reddit讨论社区,哈哈哈。 地址见评论

Github https://t.co/NB4K6NkUTY Reddit的程序幽默社区,经常提及jeff dean: https://t.co/ohzzij5cBa

avatar for 向阳乔木
向阳乔木
Sat Nov 08 04:16:20
thought ide get paid way more honestly! two posts over 100k likes and 10M impressions 

how does payouts work im still very confused @nikitabier please help understand

thought ide get paid way more honestly! two posts over 100k likes and 10M impressions how does payouts work im still very confused @nikitabier please help understand

curious guy creating things @ https://t.co/HXWladhJaA - up and coming wife guy

avatar for jack friks
jack friks
Sat Nov 08 04:16:02
i made $1209 for posting on x dot com and driving 40,000 downloads to my app for $0 in the last 2 weeks

i made $1209 for posting on x dot com and driving 40,000 downloads to my app for $0 in the last 2 weeks

thought ide get paid way more honestly! two posts over 100k likes and 10M impressions how does payouts work im still very confused @nikitabier please help understand

avatar for jack friks
jack friks
Sat Nov 08 04:15:02
Claude 4.5 Sonnet写的,我觉得写的相当好。

(全文有1万7千字,先放第一部分)

代码之神:杰夫·迪恩传

1968年7月23日,杰夫·迪恩(Jeff Dean)出生在夏威夷。

这个太平洋上的群岛,以其火山、海滩和多元文化闻名,却很少被视为科技天才的摇篮。

但迪恩的童年注定不会平凡。

他的父亲安迪(Andy)是一位热带病研究员。

他的母亲弗吉尼亚·李(Virginia Lee)是一位医学人类学家,会说六种语言。

这种家庭背景意味着他的成长伴随着全球迁 徙——从夏威夷到亚特兰大的疾病控制中心,再到日内瓦的世界卫生组织,最后定居明尼苏达。

十三岁时,他甚至跳过了八年级的最后三个月,去索马里西部的一个难民营帮助父母。

这种不断变换的环境培养了他对复杂系统的早期直觉:**无论是疾病的传播模式,还是后来计算机网络中的数据流动,都遵循着某种可以被理解、被建模、被优化的规律。**

为了好玩,父子俩一起编程一台IMSAI 8080套件计算机。

他们给机器焊接升级部件,学习它的每一个部分。

这种从硬件层面理解计算机的经历,将成为迪恩职业生涯的基石。

他不仅理解代码的逻辑,更理解电流如何在硅片中流动。

在高中时,迪恩开始为流行病学家编写一个名为Epi Info的数据收集程序。

这个程序成为了实地工作的标准工具,最终分发了数十万份副本,支持十几种语言。

美国疾病控制与预防中心维护的一个网站"Epi Info的故事"中,至今还保留着杰夫高中毕业时的照片。

但这个成就,他从未主动提及。

多年后,他的妻子海蒂(Heidi)才知道这个程序的重要性。

"他从不吹嘘那些事,"她说。"你得从他那里套话。"

在明尼苏达大学,迪恩选择了计算机科学与经济学的双学位。

这个组合看似不寻常,实则揭示了他思维的双重维度:既追求技术的极致,也关注资源的效率。

他在大学时认识了海蒂。

他们的第一次约会是去看一场女子篮球赛。

杰夫当时穿着地鼠吉祥物服装在做啦啦队。

1990年,他完成了本科论文——主题是神经网络。

这个细节在当时或许微不足道,但二十年后回望,它像是命运埋下的伏笔。

那时的神经网络研究正处于"AI寒冬"的尾声,学术界对其前景普遍悲观。

但年轻的迪恩已经在探索机器如何通过数据"学习"的奥秘。

毕业后,迪恩做了一个不同寻常的选择:他没有直接投身科技公司,而是前往日内瓦,为世界卫生组织的全球艾滋病规划署工作。

在那里,他开发流行病统计模型软件,用代码帮助人类理解和对抗致命疾病的传播。

这段经历塑造了他对"规模"的最初理解——不是服务器集群的规模,而是全球公共卫生危机的规模。

当你的软件需要处理涉及数百万生命的数据时,"失败"不再是一个抽象的技术术语,而是真实的人类悲剧。

## 第一幕:系统构建者的诞生

### 学徒时代:编译器的魔法

1996年,迪恩从华盛顿大学获得计算机科学博士学位。

他的博士研究专注于编译器。

将人类编写的代码转换成优化过的供计算机执行的机器语言指令的软件。

"就吸引力而言,编译器几乎是最无聊的东西了"
他后来的经理艾伦·尤斯塔斯说。

但另一方面,它们让你"非常接近机器"。

编译器是程序员与机器之间的翻译官,而优化编译器的人,必须同时精通人类的抽象思维和硅片的物理限制。

这种"双语能力"将成为迪恩职业生涯的核心竞争力。

桑杰后来在描述杰夫时,用食指在太阳穴旁打转。

"在你写代码的时候,他脑子里就有一个模型在运行,"他说。

"'这段代码的性能会怎样?'他几乎是半自动地思考所有极端情况。"

博士毕业后,他加入了传奇的DEC西部研究实验室(后被康柏收购)。

在那里,他与一群顶尖工程师一起工作,专注于分析工具、微处理器架构和信息检索。

这三年的经历为他后来在谷歌的工作奠定了坚实基础:

分析工具教会了他如何理解系统的瓶颈,微处理器架构让他深入理解硬件的本质,而信息检索则是搜索引擎的核心问题。

杰夫曾分发过一份名为"每个程序员都应知道的延迟数字"的列表。

事实上,这是一份几乎没有程序员知道的数字列表:

**L1缓存引用通常需要半纳秒,从内存中顺序读取一兆字节需要二百五十微秒。**

这些数字已深深烙印在他的大脑中。

### 桑杰:另一半大脑

在DEC,迪恩遇到了桑杰·格玛沃特(Sanjay Ghemawat)。

桑杰于1966年出生在印第安纳州的西拉斐特,但在印度北部的工业城市科塔长大。

他的父亲马希帕尔是一位植物学教授。
他的母亲珊塔(Shanta)照顾桑杰和他的两个哥哥姐姐。

桑杰的哥哥潘卡伊是哈佛商学院有史以来获得终身教职的最年轻的教员。(他现在是纽约大学斯特恩商学院的教授)

潘卡伊和桑杰上同一所学校,并以博学多才闻名。

"我有点活在我哥哥的阴影下,"桑杰说。

成年后,他仍然保持着一种自我谦逊的天赋。

2016年,当他入选美国艺术与科学学院时,他没有告诉父母;是他们的邻居把消息告诉了他们。

桑杰直到十七岁去康奈尔大学才接触计算机。

在麻省理工学院读研究生时,他的导师是芭芭拉·利斯科夫,一位有影响力的计算机科学家,她的研究领域之一是复杂代码库的管理。

在她看来,最好的代码就像一篇好的文章。

它需要一个精心构思的结构,每个词都应该发挥作用。

以这种方式编程需要对读者有同理心。

这也意味着将代码不仅仅视为达到目的的手段,而是其本身就是一件艺术品。

"我认为他最擅长的是设计系统,"谷歌的第一位员工克雷格·西尔弗斯坦说。

"如果你只是看桑杰写的一个代码文件,它的美就像一座比例匀称的雕塑那样美。"

在DEC,杰夫会从他的研究实验室走两个街区到桑杰的实验室。

"中间有一家意式冰淇淋店,"杰夫回忆道。

桑杰高兴地说:"所以是因为那家冰淇淋店!"

他们开始一起编程——不是各自在自己的电脑前工作,而是共享一台电脑,一个人操作键盘,另一个人在旁边引导和纠正。

这种合作方式在软件开发中并不常见。

社会学家迈克尔·P·法瑞尔在他2001年的著作《协作圈:友谊动力与创造性工作》中指出:

> "奠定新视野基础的大多数脆弱见解,并非在整个团体聚在一起时出现,也不是在成员独自工作时出现,而是在他们成对协作并相互回应时产生的。"

正是莫奈和雷诺阿在1869年夏天并肩工作,才发展出了后来成为印象派的风格。

在催生立体主义的六年合作期间,毕加索和布拉克常常只在画布背面签名,以掩盖哪幅画是哪个人完成的。

"我不知道为什么没有更多人这样做,"桑杰谈到与伙伴一起编程时说。

"你需要找到一个与你的思维方式兼容的人来进行结对编程,这样你们俩在一起就能形成互补的力量,"杰夫说。

1999年中期,互联网泡沫正接近顶峰。

杰夫先离开DEC,加入了一个名叫"Google"的小公司。

当时的谷歌只有几十名员工,办公室设在加州山景城的一栋不起眼的建筑里。

十个月后,桑杰也跟随而来。

他们的传奇合作即将改变互联网的历史。

### 2000年3月:灾难与重生

2000年3月的一天,谷歌最优秀的六名工程师聚集在一个临时的作战室里。

公司正面临前所未有的紧急状况。

去年10月,其核心系统——负责抓取网页以建立"索引"的系统——停止了工作。

尽管用户仍然可以在https://t.co/cHDYnkjtpa上输入查询,但他们得到的结果是五个月前的旧数据。

更糟糕的是,谷歌的联合创始人拉里·佩奇和谢尔盖·布林正在谈判一项为雅虎(Yahoo)提供搜索引擎支持的交易,他们承诺交付一个比当时大十倍的索引。

如果他们失败了,https://t.co/cHDYnkjtpa将继续停留在过去,雅虎的交易很可能泡汤,公司也将面临耗尽资金直至倒闭的风险。

在一个靠近楼梯的会议室里,工程师们把门板架在锯木架上,摆好了电脑。

克雷格·西尔弗斯坦,谷歌的第一位员工,坐在靠远墙的位置。

他和一位名叫波格丹·科科塞尔的罗马尼亚系统工程师经过四天四夜的奋战,一无所获。

"我们做的所有分析都毫无意义,"西尔弗斯坦回忆道。"一切都坏了,我们不知道为什么。"

西尔弗斯坦几乎没有注意到他左后方桑杰·格玛沃特的存在。

桑杰几个月前才加入公司,是跟随杰夫·迪恩从DEC过来的。

在作战室里,杰夫把椅子滑到桑杰的桌旁,留下自己的空位。

桑杰操作键盘,而杰夫则靠在他身边,像新闻主播耳边的制作人一样纠正和引导。

杰夫和桑杰开始仔细研究那个停滞的索引。

他们发现有些词丢失了——搜索"mailbox"(邮箱)却没有任何结果,而另一些词则顺序混乱。

几天来,他们一直在代码中寻找缺陷,沉浸在其逻辑中。

逐段检查,一切似乎都没问题。

他们找不到那个错误(bug)。

在作战室的第五天,杰夫和桑杰开始怀疑他们寻找的问题并非逻辑上的,而是物理上的。

他们将混乱的索引文件转换为其最原始的表示形式:**二进制代码。**

他们想看看他们的机器看到了什么。

在桑杰的显示器上,出现了一列密集的1和0,每一行代表一个索引词。

桑杰指着:一个本应是0的数字变成了1。

当杰夫和桑杰把所有排序错误的词放在一起时,他们看到了一个模式,每个词都出现了同一种小故障。

他们机器的内存芯片不知何故损坏了。

桑杰看着杰夫。

几个月来,谷歌经历的硬件故障越来越多。

问题在于,随着谷歌的发展,其计算基础设施也在扩张。

计算机硬件很少出故障,除非你拥有足够多的硬件——那时它就会一直出故障。

电线磨损,硬盘崩溃,主板过热。

许多机器从一开始就不能工作;有些会莫名其妙地变慢。

奇怪的环境因素也开始起作用。

当超新星爆炸时,冲击波会产生高能粒子并向四面八方散射;科学家认为,这些被称为宇宙射线的迷途粒子有极小的概率击中地球上的计算机芯片,将0翻转为1。

世界上最稳健的计算机系统,如NASA、金融公司等,使用能够容忍单位比特翻转的特殊硬件。

但谷歌,当时仍像初创公司一样运作,购买的是缺乏该功能的廉价计算机。

谷歌在加利福尼亚州圣克拉拉的一栋建筑里,将一千五百台裸露的主板和硬盘像三明治一样叠成六英尺高的塔架。

由于硬件故障,只有一千二百台能工作。

公司已经到达了一个拐点。

它的计算集群变得如此庞大,以至于即使是罕见的硬件故障也变得不可避免。

杰夫和桑杰一起编写了代码来补偿那些出问题的机器。

不久之后,新的索引完成了,作战室也解散了。

### 周末重写:弹性系统的诞生

这场危机成为了一个转折点。

杰夫和桑杰意识到,随着谷歌的增长,硬件失败不会是偶然事件,而是常态。

当你有成千上万台服务器时,每天都会有机器宕机、硬盘损坏、网络中断。

如果系统无法应对这些失败,谷歌就无法扩展。

他们需要构建一套全新的基础架构:**一套能够在混乱中保持秩序的系统。**

这场周末重写的核心设计理念是**预期失败**(expect failure)。

与其假设硬件是完美的,不如假设硬件*一定会*失败。

系统需要能够自动检测损坏的数据,标记故障的机器,并绕过它们继续工作。

这种"容错"思想在今天看来是分布式系统的常识,但在2000年,它是激进的。

在三月份索引崩溃事件之前,谷歌的系统根植于其创始人在斯坦福大学读研究生时编写的代码。

佩奇和布林并非专业的软件工程师。

他们是进行搜索技术实验的学者。

当他们的网络爬虫崩溃时,没有提供信息的诊断消息——只有一句"Whoa, horsey!"(喔唷,小马!)。

早期员工将佩奇和布林编写的一个名为BigFiles的软件称为BugFiles(充满错误的文件)。

他们至关重要的索引代码需要数天才能完成,并且如果遇到问题,就必须从头开始。

用硅谷的行话来说,谷歌当时不具备"可扩展性"。

韦恩·罗辛(Wayne Rosing)曾在苹果公司参与麦金塔电脑前身的工作,于2000年11月加入谷歌,负责管理其百人工程师团队。

"他们是领导者,"他说。

杰夫和桑杰并肩负责了重建谷歌基础架构的工作。

他们每周工作九十个小时,编写代码,使得单个硬盘故障不会导致整个系统瘫痪。

他们在爬取过程中添加了检查点,以便可以在中途重新启动。

通过开发新的编码和压缩方案,他们有效地将系统容量翻了一番。

**他们是无情的优化者。**

当汽车转弯时,外侧轮子必须覆盖更多地面。

同样,旋转硬盘的外边缘比内边缘移动得更快。

谷歌已将最常访问的数据移到外部,以便数据位可以在读写头下更快地流动,但内部一半是空的;

杰夫和桑杰利用这个空间存储了常见搜索查询的预处理数据。

在2001年的四天里,他们证明了谷歌的索引可以使用快速的随机存取存储器(RAM)而不是相对较慢的硬盘来存储。

这一发现重塑了公司的经济模型。

佩奇和布林知道用户会涌向能够即时提供答案的服务。

问题在于速度需要计算能力,而计算能力需要花钱。

杰夫和桑杰用软件巧妙地解决了这个问题。

艾伦·尤斯塔斯在罗辛于2005年离开后成为工程团队的负责人。

"要解决规模化问题,矛盾的是,你必须了解最微小的细节,"尤斯塔斯说。

杰夫和桑杰在比特层面上理解计算机。

在他们帮助引领谷歌核心软件的几次重写过程中,系统的容量按数量级扩展。

与此同时,在公司庞大的数据中心里,技术人员现在沿着蛇形路线行走,遵循软件生成的指令更换硬盘驱动器、电源和内存条。

即使其部件磨损和失效,系统依然可以正常运行。

### MapReduce:简化混乱

2004年,迪恩和格玛沃特发表了一篇论文,题为《MapReduce: Simplified Data Processing on Large Clusters》(MapReduce:大规模集群上的简化数据处理)。

这篇论文只有两位作者,但它将改变整个行业。

MapReduce的核心思想极其简洁:**将复杂的分布式计算抽象为两个函数——`Map`和`Reduce`。**

`Map`函数处理输入数据,生成中间键值对;
`Reduce`函数将相同键的值聚合在一起,生成最终结果。

程序员只需要定义这两个函数,系统会自动处理并行化、任务调度、机器间通信和失败恢复。

这种抽象的威力在于它的**简单性**。

在MapReduce之前,编写分布式程序需要深厚的系统知识——你需要手动管理线程、处理网络通信、应对机器失败。

这些复杂性将大多数程序员拒之门外。

但MapReduce将这些复杂性隐藏在系统内部,让没有分布式系统经验的工程师也能轻松处理TB级数据。

论文中的一个例子是计算大量文档中每个单词的出现次数。

`Map`函数读取文档,输出`(单词, 1)`的键值对;
`Reduce`函数将相同单词的计数相加。

整个程序只需几行代码,但它可以在数千台机器上并行运行,处理整个互联网的网页。

MapReduce的另一个关键贡献是**容错性**。

系统会持续监控任务的执行,如果某台机器失败,系统会自动在另一台机器上重新执行该任务。

这种"重新执行"策略之所以可行,是因为`Map`和`Reduce`函数被设计为"功能性"的——它们不修改输入数据,只产生输出。

这意味着重新执行一个任务不会产生副作用,结果是确定的。

这种设计直接源于"2000年危机"的教训:硬件会失败,但系统必须继续运行。

MapReduce在谷歌内部迅速普及。

它被用于构建搜索索引、处理日志数据、生成报告、训练机器学习模型。

到2004年论文发表时,谷歌内部已经有数百个MapReduce程序在运行。

更重要的是,MapReduce的思想传播到了整个行业。

雅虎基于这篇论文开发了Hadoop,一个开源的MapReduce实现,它成为了大数据时代的基石。

### Bigtable:存储的艺术

如果MapReduce解决了大规模*计算*的问题,那么Bigtable解决的就是大规模*存储*的问题。

2006年,迪恩和格玛沃特与其他几位谷歌工程师发表了《Bigtable: A Distributed Storage System for Structured Data》(Bigtable:结构化数据的分布式存储系统)。

Bigtable的设计目标是管理PB级的结构化数据,同时支持高吞吐量的批量处理和低延迟的实时查询。

这是一个看似矛盾的需求:**批量处理需要扫描大量数据,而实时查询需要快速返回单个结果。**

传统的关系型数据库无法同时满足这两种需求。

Bigtable的解决方案是一个独特的数据模型:它是一个"稀疏的、分布式的、持久化的多维排序映射表"。

每个数据项由三个维度索引:行键(row key)、列键(column key)和时间戳(timestamp)。

这种设计提供了极大的灵活性:

- **行键**:数据按行键排序存储,相邻的行键会存储在同一台机器上。这使得扫描某个范围的数据非常高效。
- **列族**:列被组织成列族,每个列族可以独立设置访问控制和压缩策略。这允许系统根据不同的访问模式优化存储。
- **时间戳**:每个数据项可以有多个版本,由时间戳区分。系统可以自动保留最新的N个版本,或者保留最近T天的版本,旧版本会被垃圾回收。

Bigtable的另一个关键设计是它*不是*一个关系型数据库。

它不支持复杂的SQL查询,不支持跨行事务。

这些限制是有意为之的——**它们允许系统在数千台机器上水平扩展,而不会被复杂的一致性协议拖累。**

在谷歌内部,Bigtable被用于存储网页索引、Google Earth的地理数据、Google Analytics的用户行为数据等。

它的影响力同样扩展到了整个行业:亚马逊的DynamoDB、Facebook的Cassandra、Apache的HBase都受到了Bigtable的启发。

### Spanner:全球一致性的巅峰

MapReduce和Bigtable奠定了谷歌基础架构的基石,但它们都有一个共同的局限:它们主要设计用于单个数据中心。

随着谷歌的全球扩张,数据需要跨越洲际分布。

如何在全球范围内保持数据的一致性,成为了下一个挑战。

2012年,迪恩和格玛沃特与其他工程师发表了《Spanner: Google's Globally-Distributed Database》(Spanner:谷歌的全球分布式数据库)。

Spanner是世界上第一个支持"外部一致性分布式事务"的全球分布式数据库。

Spanner的核心创新是**TrueTime API**。

在分布式系统中,时间是一个棘手的问题。

不同机器的时钟会有偏差,而网络延迟意味着你无法确定两个事件的真实顺序。

Spanner的解决方案是利用GPS和原子钟,构建一个能够*暴露时钟不确定性*的API。

TrueTime不会告诉你"现在是12:00:00",而是告诉你"现在是12:00:00,误差在±7毫秒之内"。

通过精确*知道*这种不确定性,Spanner能够为全球事务分配有意义的提交时间戳。

如果不确定性太大,系统会主动"等待不确定性过去"——这被称为"commit wait"。

这种等待通常只需几毫秒,但它确保了事务的外部一致性:如果事务T1在事务T2之前提交,那么T1的时间戳一定小于T2的时间戳。

Spanner的诞生标志着迪恩"系统三部曲"的完成。

从MapReduce(容错计算)到Bigtable(容错存储),再到Spanner(全球一致性)。

这三个系统共同构建了谷歌的技术护城河。

它们不仅支撑了谷歌的搜索、广告、Gmail等核心业务,也为后来的人工智能浪潮提供了基础设施。

2025年,Spanner获得了ACM SIGMOD系统奖,表彰其"重新构想了关系数据管理,以在全球范围内实现具有外部一致性的可串行化"。

这是对迪恩和格玛沃特十多年前工作的最新认可。

### 规模的尾端效应:系统哲学的顶峰

2013年,迪恩与格玛沃特发表了另一篇影响深远的论文:《The Tail at Scale》(规模的尾端效应)。

这篇论文探讨了一个在大规模系统中普遍存在但常被忽视的问题:**尾端延迟**(tail latency)。

在谷歌的系统中,一个用户请求可能需要调用数百台服务器。

即使每台服务器的平均响应时间很快,但只要有1%的服务器响应缓慢(例如因为垃圾回收、磁盘I/O或网络拥塞),就会导致大多数用户请求变慢。

这是因为用户请求需要等待*所有*服务器响应,而最慢的那台服务器决定了整体延迟。

论文的深刻洞见在于,试图消除所有延迟源头是"不切实际的"。

硬件会失败,网络会拥塞,操作系统会有抖动。与其追求完美,不如构建"容尾"(tail-tolerant)系统——这与"2000年危机"后他构建"容错"系统的理念相呼应。

论文提出了一系列技术来应对尾端延迟:

- **对冲请求**:向多个副本发送同一请求,使用最快的响应。
- **绑定请求**:向多个副本发送请求,但一旦某个副本开始处理,就取消其他副本的请求。
- **微分区**:将数据分成更小的分区,使得负载可以更灵活地在机器间迁移。
- **选择性复制**:对热点数据创建更多副本,分散负载。

这些技术的核心思想是:**在不可靠且速度不均的硬件之上,通过冗余和智能调度,构建出高性能的弹性服务。**

2025年,《The Tail at Scale》获得了ACM SIGOPS名人堂奖,表彰其"经受住了时间的考验"。

这篇论文不仅影响了谷歌的系统设计,也成为了整个行业的经典文献。

### 迪恩与格玛沃特:传奇的合作

在讲述迪恩的故事时,无法回避他与桑杰·格玛沃特的合作。

他们是MapReduce论文的*仅有*两位作者,是Bigtable和Spanner的核心设计者,是《The Tail at Scale》的共同作者。

他们在DEC时就开始合作,在谷歌共同经历了"2000年危机",并在接下来的二十多年里联手构建了谷歌的技术基石。

2012年,他们共同获得了ACM计算奖,表彰其"构思、设计并实现了谷歌革命性的软件基础设施"。

2009年,他们一起当选为美国国家工程院院士。

他们的合作被称为"拯救了谷歌,并发明了现代互联网的友谊"。

但这种合作关系也带来了一个有趣的文化现象:"杰夫·迪恩梗"(Jeff Dean Facts)。

### "杰夫·迪恩梗":崇拜与遗憾

2007年愚人节前后,谷歌内部开始流传一系列关于杰夫·迪恩的玩笑,模仿"查克·诺里斯梗"的形式。

这些玩笑夸张地描述了迪恩的技术能力,例如:

- “杰夫·迪恩先直接写二进制;源码只是给别人看的文档。”
- “杰夫·迪恩的键盘没有 Ctrl 键——因为他一直都在控制中。”
- "编译器不会警告杰夫·迪恩。杰夫·迪恩会警告编译器。"
- “真空里的光速以前很慢,后来杰夫·迪恩用一个周末把物理优化了。”

这些梗在谷歌内部迅速传播,后来扩散到整个科技行业。

它们反映了工程师们对迪恩的敬佩——他不仅是一位杰出的技术专家,更是一位能够解决任何问题的"代码之神"。

但这些梗也带来了一个问题:它们给人留下了"杰夫比桑杰更卓越"的印象。

事实上,迪恩和格玛沃特的贡献是平等的,他们的合作是互补的。

据说梗的创作者后来表示遗憾,认为"唯一的原因是'杰夫'这个名字似乎'更有趣'"。

这个细节揭示了公众认知与真实历史之间的差距。

迪恩的传奇不是一个人的独角戏,而是一段持续二十多年的合作关系。

Claude 4.5 Sonnet写的,我觉得写的相当好。 (全文有1万7千字,先放第一部分) 代码之神:杰夫·迪恩传 1968年7月23日,杰夫·迪恩(Jeff Dean)出生在夏威夷。 这个太平洋上的群岛,以其火山、海滩和多元文化闻名,却很少被视为科技天才的摇篮。 但迪恩的童年注定不会平凡。 他的父亲安迪(Andy)是一位热带病研究员。 他的母亲弗吉尼亚·李(Virginia Lee)是一位医学人类学家,会说六种语言。 这种家庭背景意味着他的成长伴随着全球迁 徙——从夏威夷到亚特兰大的疾病控制中心,再到日内瓦的世界卫生组织,最后定居明尼苏达。 十三岁时,他甚至跳过了八年级的最后三个月,去索马里西部的一个难民营帮助父母。 这种不断变换的环境培养了他对复杂系统的早期直觉:**无论是疾病的传播模式,还是后来计算机网络中的数据流动,都遵循着某种可以被理解、被建模、被优化的规律。** 为了好玩,父子俩一起编程一台IMSAI 8080套件计算机。 他们给机器焊接升级部件,学习它的每一个部分。 这种从硬件层面理解计算机的经历,将成为迪恩职业生涯的基石。 他不仅理解代码的逻辑,更理解电流如何在硅片中流动。 在高中时,迪恩开始为流行病学家编写一个名为Epi Info的数据收集程序。 这个程序成为了实地工作的标准工具,最终分发了数十万份副本,支持十几种语言。 美国疾病控制与预防中心维护的一个网站"Epi Info的故事"中,至今还保留着杰夫高中毕业时的照片。 但这个成就,他从未主动提及。 多年后,他的妻子海蒂(Heidi)才知道这个程序的重要性。 "他从不吹嘘那些事,"她说。"你得从他那里套话。" 在明尼苏达大学,迪恩选择了计算机科学与经济学的双学位。 这个组合看似不寻常,实则揭示了他思维的双重维度:既追求技术的极致,也关注资源的效率。 他在大学时认识了海蒂。 他们的第一次约会是去看一场女子篮球赛。 杰夫当时穿着地鼠吉祥物服装在做啦啦队。 1990年,他完成了本科论文——主题是神经网络。 这个细节在当时或许微不足道,但二十年后回望,它像是命运埋下的伏笔。 那时的神经网络研究正处于"AI寒冬"的尾声,学术界对其前景普遍悲观。 但年轻的迪恩已经在探索机器如何通过数据"学习"的奥秘。 毕业后,迪恩做了一个不同寻常的选择:他没有直接投身科技公司,而是前往日内瓦,为世界卫生组织的全球艾滋病规划署工作。 在那里,他开发流行病统计模型软件,用代码帮助人类理解和对抗致命疾病的传播。 这段经历塑造了他对"规模"的最初理解——不是服务器集群的规模,而是全球公共卫生危机的规模。 当你的软件需要处理涉及数百万生命的数据时,"失败"不再是一个抽象的技术术语,而是真实的人类悲剧。 ## 第一幕:系统构建者的诞生 ### 学徒时代:编译器的魔法 1996年,迪恩从华盛顿大学获得计算机科学博士学位。 他的博士研究专注于编译器。 将人类编写的代码转换成优化过的供计算机执行的机器语言指令的软件。 "就吸引力而言,编译器几乎是最无聊的东西了" 他后来的经理艾伦·尤斯塔斯说。 但另一方面,它们让你"非常接近机器"。 编译器是程序员与机器之间的翻译官,而优化编译器的人,必须同时精通人类的抽象思维和硅片的物理限制。 这种"双语能力"将成为迪恩职业生涯的核心竞争力。 桑杰后来在描述杰夫时,用食指在太阳穴旁打转。 "在你写代码的时候,他脑子里就有一个模型在运行,"他说。 "'这段代码的性能会怎样?'他几乎是半自动地思考所有极端情况。" 博士毕业后,他加入了传奇的DEC西部研究实验室(后被康柏收购)。 在那里,他与一群顶尖工程师一起工作,专注于分析工具、微处理器架构和信息检索。 这三年的经历为他后来在谷歌的工作奠定了坚实基础: 分析工具教会了他如何理解系统的瓶颈,微处理器架构让他深入理解硬件的本质,而信息检索则是搜索引擎的核心问题。 杰夫曾分发过一份名为"每个程序员都应知道的延迟数字"的列表。 事实上,这是一份几乎没有程序员知道的数字列表: **L1缓存引用通常需要半纳秒,从内存中顺序读取一兆字节需要二百五十微秒。** 这些数字已深深烙印在他的大脑中。 ### 桑杰:另一半大脑 在DEC,迪恩遇到了桑杰·格玛沃特(Sanjay Ghemawat)。 桑杰于1966年出生在印第安纳州的西拉斐特,但在印度北部的工业城市科塔长大。 他的父亲马希帕尔是一位植物学教授。 他的母亲珊塔(Shanta)照顾桑杰和他的两个哥哥姐姐。 桑杰的哥哥潘卡伊是哈佛商学院有史以来获得终身教职的最年轻的教员。(他现在是纽约大学斯特恩商学院的教授) 潘卡伊和桑杰上同一所学校,并以博学多才闻名。 "我有点活在我哥哥的阴影下,"桑杰说。 成年后,他仍然保持着一种自我谦逊的天赋。 2016年,当他入选美国艺术与科学学院时,他没有告诉父母;是他们的邻居把消息告诉了他们。 桑杰直到十七岁去康奈尔大学才接触计算机。 在麻省理工学院读研究生时,他的导师是芭芭拉·利斯科夫,一位有影响力的计算机科学家,她的研究领域之一是复杂代码库的管理。 在她看来,最好的代码就像一篇好的文章。 它需要一个精心构思的结构,每个词都应该发挥作用。 以这种方式编程需要对读者有同理心。 这也意味着将代码不仅仅视为达到目的的手段,而是其本身就是一件艺术品。 "我认为他最擅长的是设计系统,"谷歌的第一位员工克雷格·西尔弗斯坦说。 "如果你只是看桑杰写的一个代码文件,它的美就像一座比例匀称的雕塑那样美。" 在DEC,杰夫会从他的研究实验室走两个街区到桑杰的实验室。 "中间有一家意式冰淇淋店,"杰夫回忆道。 桑杰高兴地说:"所以是因为那家冰淇淋店!" 他们开始一起编程——不是各自在自己的电脑前工作,而是共享一台电脑,一个人操作键盘,另一个人在旁边引导和纠正。 这种合作方式在软件开发中并不常见。 社会学家迈克尔·P·法瑞尔在他2001年的著作《协作圈:友谊动力与创造性工作》中指出: > "奠定新视野基础的大多数脆弱见解,并非在整个团体聚在一起时出现,也不是在成员独自工作时出现,而是在他们成对协作并相互回应时产生的。" 正是莫奈和雷诺阿在1869年夏天并肩工作,才发展出了后来成为印象派的风格。 在催生立体主义的六年合作期间,毕加索和布拉克常常只在画布背面签名,以掩盖哪幅画是哪个人完成的。 "我不知道为什么没有更多人这样做,"桑杰谈到与伙伴一起编程时说。 "你需要找到一个与你的思维方式兼容的人来进行结对编程,这样你们俩在一起就能形成互补的力量,"杰夫说。 1999年中期,互联网泡沫正接近顶峰。 杰夫先离开DEC,加入了一个名叫"Google"的小公司。 当时的谷歌只有几十名员工,办公室设在加州山景城的一栋不起眼的建筑里。 十个月后,桑杰也跟随而来。 他们的传奇合作即将改变互联网的历史。 ### 2000年3月:灾难与重生 2000年3月的一天,谷歌最优秀的六名工程师聚集在一个临时的作战室里。 公司正面临前所未有的紧急状况。 去年10月,其核心系统——负责抓取网页以建立"索引"的系统——停止了工作。 尽管用户仍然可以在https://t.co/cHDYnkjtpa上输入查询,但他们得到的结果是五个月前的旧数据。 更糟糕的是,谷歌的联合创始人拉里·佩奇和谢尔盖·布林正在谈判一项为雅虎(Yahoo)提供搜索引擎支持的交易,他们承诺交付一个比当时大十倍的索引。 如果他们失败了,https://t.co/cHDYnkjtpa将继续停留在过去,雅虎的交易很可能泡汤,公司也将面临耗尽资金直至倒闭的风险。 在一个靠近楼梯的会议室里,工程师们把门板架在锯木架上,摆好了电脑。 克雷格·西尔弗斯坦,谷歌的第一位员工,坐在靠远墙的位置。 他和一位名叫波格丹·科科塞尔的罗马尼亚系统工程师经过四天四夜的奋战,一无所获。 "我们做的所有分析都毫无意义,"西尔弗斯坦回忆道。"一切都坏了,我们不知道为什么。" 西尔弗斯坦几乎没有注意到他左后方桑杰·格玛沃特的存在。 桑杰几个月前才加入公司,是跟随杰夫·迪恩从DEC过来的。 在作战室里,杰夫把椅子滑到桑杰的桌旁,留下自己的空位。 桑杰操作键盘,而杰夫则靠在他身边,像新闻主播耳边的制作人一样纠正和引导。 杰夫和桑杰开始仔细研究那个停滞的索引。 他们发现有些词丢失了——搜索"mailbox"(邮箱)却没有任何结果,而另一些词则顺序混乱。 几天来,他们一直在代码中寻找缺陷,沉浸在其逻辑中。 逐段检查,一切似乎都没问题。 他们找不到那个错误(bug)。 在作战室的第五天,杰夫和桑杰开始怀疑他们寻找的问题并非逻辑上的,而是物理上的。 他们将混乱的索引文件转换为其最原始的表示形式:**二进制代码。** 他们想看看他们的机器看到了什么。 在桑杰的显示器上,出现了一列密集的1和0,每一行代表一个索引词。 桑杰指着:一个本应是0的数字变成了1。 当杰夫和桑杰把所有排序错误的词放在一起时,他们看到了一个模式,每个词都出现了同一种小故障。 他们机器的内存芯片不知何故损坏了。 桑杰看着杰夫。 几个月来,谷歌经历的硬件故障越来越多。 问题在于,随着谷歌的发展,其计算基础设施也在扩张。 计算机硬件很少出故障,除非你拥有足够多的硬件——那时它就会一直出故障。 电线磨损,硬盘崩溃,主板过热。 许多机器从一开始就不能工作;有些会莫名其妙地变慢。 奇怪的环境因素也开始起作用。 当超新星爆炸时,冲击波会产生高能粒子并向四面八方散射;科学家认为,这些被称为宇宙射线的迷途粒子有极小的概率击中地球上的计算机芯片,将0翻转为1。 世界上最稳健的计算机系统,如NASA、金融公司等,使用能够容忍单位比特翻转的特殊硬件。 但谷歌,当时仍像初创公司一样运作,购买的是缺乏该功能的廉价计算机。 谷歌在加利福尼亚州圣克拉拉的一栋建筑里,将一千五百台裸露的主板和硬盘像三明治一样叠成六英尺高的塔架。 由于硬件故障,只有一千二百台能工作。 公司已经到达了一个拐点。 它的计算集群变得如此庞大,以至于即使是罕见的硬件故障也变得不可避免。 杰夫和桑杰一起编写了代码来补偿那些出问题的机器。 不久之后,新的索引完成了,作战室也解散了。 ### 周末重写:弹性系统的诞生 这场危机成为了一个转折点。 杰夫和桑杰意识到,随着谷歌的增长,硬件失败不会是偶然事件,而是常态。 当你有成千上万台服务器时,每天都会有机器宕机、硬盘损坏、网络中断。 如果系统无法应对这些失败,谷歌就无法扩展。 他们需要构建一套全新的基础架构:**一套能够在混乱中保持秩序的系统。** 这场周末重写的核心设计理念是**预期失败**(expect failure)。 与其假设硬件是完美的,不如假设硬件*一定会*失败。 系统需要能够自动检测损坏的数据,标记故障的机器,并绕过它们继续工作。 这种"容错"思想在今天看来是分布式系统的常识,但在2000年,它是激进的。 在三月份索引崩溃事件之前,谷歌的系统根植于其创始人在斯坦福大学读研究生时编写的代码。 佩奇和布林并非专业的软件工程师。 他们是进行搜索技术实验的学者。 当他们的网络爬虫崩溃时,没有提供信息的诊断消息——只有一句"Whoa, horsey!"(喔唷,小马!)。 早期员工将佩奇和布林编写的一个名为BigFiles的软件称为BugFiles(充满错误的文件)。 他们至关重要的索引代码需要数天才能完成,并且如果遇到问题,就必须从头开始。 用硅谷的行话来说,谷歌当时不具备"可扩展性"。 韦恩·罗辛(Wayne Rosing)曾在苹果公司参与麦金塔电脑前身的工作,于2000年11月加入谷歌,负责管理其百人工程师团队。 "他们是领导者,"他说。 杰夫和桑杰并肩负责了重建谷歌基础架构的工作。 他们每周工作九十个小时,编写代码,使得单个硬盘故障不会导致整个系统瘫痪。 他们在爬取过程中添加了检查点,以便可以在中途重新启动。 通过开发新的编码和压缩方案,他们有效地将系统容量翻了一番。 **他们是无情的优化者。** 当汽车转弯时,外侧轮子必须覆盖更多地面。 同样,旋转硬盘的外边缘比内边缘移动得更快。 谷歌已将最常访问的数据移到外部,以便数据位可以在读写头下更快地流动,但内部一半是空的; 杰夫和桑杰利用这个空间存储了常见搜索查询的预处理数据。 在2001年的四天里,他们证明了谷歌的索引可以使用快速的随机存取存储器(RAM)而不是相对较慢的硬盘来存储。 这一发现重塑了公司的经济模型。 佩奇和布林知道用户会涌向能够即时提供答案的服务。 问题在于速度需要计算能力,而计算能力需要花钱。 杰夫和桑杰用软件巧妙地解决了这个问题。 艾伦·尤斯塔斯在罗辛于2005年离开后成为工程团队的负责人。 "要解决规模化问题,矛盾的是,你必须了解最微小的细节,"尤斯塔斯说。 杰夫和桑杰在比特层面上理解计算机。 在他们帮助引领谷歌核心软件的几次重写过程中,系统的容量按数量级扩展。 与此同时,在公司庞大的数据中心里,技术人员现在沿着蛇形路线行走,遵循软件生成的指令更换硬盘驱动器、电源和内存条。 即使其部件磨损和失效,系统依然可以正常运行。 ### MapReduce:简化混乱 2004年,迪恩和格玛沃特发表了一篇论文,题为《MapReduce: Simplified Data Processing on Large Clusters》(MapReduce:大规模集群上的简化数据处理)。 这篇论文只有两位作者,但它将改变整个行业。 MapReduce的核心思想极其简洁:**将复杂的分布式计算抽象为两个函数——`Map`和`Reduce`。** `Map`函数处理输入数据,生成中间键值对; `Reduce`函数将相同键的值聚合在一起,生成最终结果。 程序员只需要定义这两个函数,系统会自动处理并行化、任务调度、机器间通信和失败恢复。 这种抽象的威力在于它的**简单性**。 在MapReduce之前,编写分布式程序需要深厚的系统知识——你需要手动管理线程、处理网络通信、应对机器失败。 这些复杂性将大多数程序员拒之门外。 但MapReduce将这些复杂性隐藏在系统内部,让没有分布式系统经验的工程师也能轻松处理TB级数据。 论文中的一个例子是计算大量文档中每个单词的出现次数。 `Map`函数读取文档,输出`(单词, 1)`的键值对; `Reduce`函数将相同单词的计数相加。 整个程序只需几行代码,但它可以在数千台机器上并行运行,处理整个互联网的网页。 MapReduce的另一个关键贡献是**容错性**。 系统会持续监控任务的执行,如果某台机器失败,系统会自动在另一台机器上重新执行该任务。 这种"重新执行"策略之所以可行,是因为`Map`和`Reduce`函数被设计为"功能性"的——它们不修改输入数据,只产生输出。 这意味着重新执行一个任务不会产生副作用,结果是确定的。 这种设计直接源于"2000年危机"的教训:硬件会失败,但系统必须继续运行。 MapReduce在谷歌内部迅速普及。 它被用于构建搜索索引、处理日志数据、生成报告、训练机器学习模型。 到2004年论文发表时,谷歌内部已经有数百个MapReduce程序在运行。 更重要的是,MapReduce的思想传播到了整个行业。 雅虎基于这篇论文开发了Hadoop,一个开源的MapReduce实现,它成为了大数据时代的基石。 ### Bigtable:存储的艺术 如果MapReduce解决了大规模*计算*的问题,那么Bigtable解决的就是大规模*存储*的问题。 2006年,迪恩和格玛沃特与其他几位谷歌工程师发表了《Bigtable: A Distributed Storage System for Structured Data》(Bigtable:结构化数据的分布式存储系统)。 Bigtable的设计目标是管理PB级的结构化数据,同时支持高吞吐量的批量处理和低延迟的实时查询。 这是一个看似矛盾的需求:**批量处理需要扫描大量数据,而实时查询需要快速返回单个结果。** 传统的关系型数据库无法同时满足这两种需求。 Bigtable的解决方案是一个独特的数据模型:它是一个"稀疏的、分布式的、持久化的多维排序映射表"。 每个数据项由三个维度索引:行键(row key)、列键(column key)和时间戳(timestamp)。 这种设计提供了极大的灵活性: - **行键**:数据按行键排序存储,相邻的行键会存储在同一台机器上。这使得扫描某个范围的数据非常高效。 - **列族**:列被组织成列族,每个列族可以独立设置访问控制和压缩策略。这允许系统根据不同的访问模式优化存储。 - **时间戳**:每个数据项可以有多个版本,由时间戳区分。系统可以自动保留最新的N个版本,或者保留最近T天的版本,旧版本会被垃圾回收。 Bigtable的另一个关键设计是它*不是*一个关系型数据库。 它不支持复杂的SQL查询,不支持跨行事务。 这些限制是有意为之的——**它们允许系统在数千台机器上水平扩展,而不会被复杂的一致性协议拖累。** 在谷歌内部,Bigtable被用于存储网页索引、Google Earth的地理数据、Google Analytics的用户行为数据等。 它的影响力同样扩展到了整个行业:亚马逊的DynamoDB、Facebook的Cassandra、Apache的HBase都受到了Bigtable的启发。 ### Spanner:全球一致性的巅峰 MapReduce和Bigtable奠定了谷歌基础架构的基石,但它们都有一个共同的局限:它们主要设计用于单个数据中心。 随着谷歌的全球扩张,数据需要跨越洲际分布。 如何在全球范围内保持数据的一致性,成为了下一个挑战。 2012年,迪恩和格玛沃特与其他工程师发表了《Spanner: Google's Globally-Distributed Database》(Spanner:谷歌的全球分布式数据库)。 Spanner是世界上第一个支持"外部一致性分布式事务"的全球分布式数据库。 Spanner的核心创新是**TrueTime API**。 在分布式系统中,时间是一个棘手的问题。 不同机器的时钟会有偏差,而网络延迟意味着你无法确定两个事件的真实顺序。 Spanner的解决方案是利用GPS和原子钟,构建一个能够*暴露时钟不确定性*的API。 TrueTime不会告诉你"现在是12:00:00",而是告诉你"现在是12:00:00,误差在±7毫秒之内"。 通过精确*知道*这种不确定性,Spanner能够为全球事务分配有意义的提交时间戳。 如果不确定性太大,系统会主动"等待不确定性过去"——这被称为"commit wait"。 这种等待通常只需几毫秒,但它确保了事务的外部一致性:如果事务T1在事务T2之前提交,那么T1的时间戳一定小于T2的时间戳。 Spanner的诞生标志着迪恩"系统三部曲"的完成。 从MapReduce(容错计算)到Bigtable(容错存储),再到Spanner(全球一致性)。 这三个系统共同构建了谷歌的技术护城河。 它们不仅支撑了谷歌的搜索、广告、Gmail等核心业务,也为后来的人工智能浪潮提供了基础设施。 2025年,Spanner获得了ACM SIGMOD系统奖,表彰其"重新构想了关系数据管理,以在全球范围内实现具有外部一致性的可串行化"。 这是对迪恩和格玛沃特十多年前工作的最新认可。 ### 规模的尾端效应:系统哲学的顶峰 2013年,迪恩与格玛沃特发表了另一篇影响深远的论文:《The Tail at Scale》(规模的尾端效应)。 这篇论文探讨了一个在大规模系统中普遍存在但常被忽视的问题:**尾端延迟**(tail latency)。 在谷歌的系统中,一个用户请求可能需要调用数百台服务器。 即使每台服务器的平均响应时间很快,但只要有1%的服务器响应缓慢(例如因为垃圾回收、磁盘I/O或网络拥塞),就会导致大多数用户请求变慢。 这是因为用户请求需要等待*所有*服务器响应,而最慢的那台服务器决定了整体延迟。 论文的深刻洞见在于,试图消除所有延迟源头是"不切实际的"。 硬件会失败,网络会拥塞,操作系统会有抖动。与其追求完美,不如构建"容尾"(tail-tolerant)系统——这与"2000年危机"后他构建"容错"系统的理念相呼应。 论文提出了一系列技术来应对尾端延迟: - **对冲请求**:向多个副本发送同一请求,使用最快的响应。 - **绑定请求**:向多个副本发送请求,但一旦某个副本开始处理,就取消其他副本的请求。 - **微分区**:将数据分成更小的分区,使得负载可以更灵活地在机器间迁移。 - **选择性复制**:对热点数据创建更多副本,分散负载。 这些技术的核心思想是:**在不可靠且速度不均的硬件之上,通过冗余和智能调度,构建出高性能的弹性服务。** 2025年,《The Tail at Scale》获得了ACM SIGOPS名人堂奖,表彰其"经受住了时间的考验"。 这篇论文不仅影响了谷歌的系统设计,也成为了整个行业的经典文献。 ### 迪恩与格玛沃特:传奇的合作 在讲述迪恩的故事时,无法回避他与桑杰·格玛沃特的合作。 他们是MapReduce论文的*仅有*两位作者,是Bigtable和Spanner的核心设计者,是《The Tail at Scale》的共同作者。 他们在DEC时就开始合作,在谷歌共同经历了"2000年危机",并在接下来的二十多年里联手构建了谷歌的技术基石。 2012年,他们共同获得了ACM计算奖,表彰其"构思、设计并实现了谷歌革命性的软件基础设施"。 2009年,他们一起当选为美国国家工程院院士。 他们的合作被称为"拯救了谷歌,并发明了现代互联网的友谊"。 但这种合作关系也带来了一个有趣的文化现象:"杰夫·迪恩梗"(Jeff Dean Facts)。 ### "杰夫·迪恩梗":崇拜与遗憾 2007年愚人节前后,谷歌内部开始流传一系列关于杰夫·迪恩的玩笑,模仿"查克·诺里斯梗"的形式。 这些玩笑夸张地描述了迪恩的技术能力,例如: - “杰夫·迪恩先直接写二进制;源码只是给别人看的文档。” - “杰夫·迪恩的键盘没有 Ctrl 键——因为他一直都在控制中。” - "编译器不会警告杰夫·迪恩。杰夫·迪恩会警告编译器。" - “真空里的光速以前很慢,后来杰夫·迪恩用一个周末把物理优化了。” 这些梗在谷歌内部迅速传播,后来扩散到整个科技行业。 它们反映了工程师们对迪恩的敬佩——他不仅是一位杰出的技术专家,更是一位能够解决任何问题的"代码之神"。 但这些梗也带来了一个问题:它们给人留下了"杰夫比桑杰更卓越"的印象。 事实上,迪恩和格玛沃特的贡献是平等的,他们的合作是互补的。 据说梗的创作者后来表示遗憾,认为"唯一的原因是'杰夫'这个名字似乎'更有趣'"。 这个细节揭示了公众认知与真实历史之间的差距。 迪恩的传奇不是一个人的独角戏,而是一段持续二十多年的合作关系。

喜欢摇滚乐、爱钓鱼的PM 网站:https://t.co/vnUpLt752o

avatar for 向阳乔木
向阳乔木
Sat Nov 08 04:13:19
RT @jackfriks: NEW APP IS LIVE!! 

i remade the app i made 2 weeks ago and added a ton of cool stuff to help me and my fiancee stay connect…

RT @jackfriks: NEW APP IS LIVE!! i remade the app i made 2 weeks ago and added a ton of cool stuff to help me and my fiancee stay connect…

curious guy creating things @ https://t.co/HXWladhJaA - up and coming wife guy

avatar for jack friks
jack friks
Sat Nov 08 04:11:28
Can your LLM complete the final book of Game of Thrones that is pending? 

George Martin has been disappointing on that.

@tszzl I will believe AGI has arrived when an AI can complete the final book of Game of Thrones, which has 1200 named characters with competing priorities.

This will be AGI's Last Exam, @teortaxesTex , @DanHendrycks 

That will also be an immensely economically valuable task.

Can your LLM complete the final book of Game of Thrones that is pending? George Martin has been disappointing on that. @tszzl I will believe AGI has arrived when an AI can complete the final book of Game of Thrones, which has 1200 named characters with competing priorities. This will be AGI's Last Exam, @teortaxesTex , @DanHendrycks That will also be an immensely economically valuable task.

AI @amazon. All views personal!

avatar for GDP
GDP
Sat Nov 08 04:10:04
  • Previous
  • 1
  • More pages
  • 469
  • 470
  • 471
  • More pages
  • 2117
  • Next