我做过什么
2021年2月
大学前,除了学业,我主要做了两件事:写作和编程。我没写过论文,而是写初学者那时(可能现在依然如此)应该写的东西:短篇小说。我的故事糟透了。它们几乎没有情节,只有情感强烈的角色,我以为这能让它们显得深刻。
我尝试编写的第一个程序是在IBM 1401上,那是我们学区用来进行当时所谓的“数据处理”的机器。那时我读九年级,大概13或14岁。学区的这台1401碰巧就在我们初中教学楼的地下室,我和朋友Rich Draves获得了使用许可。那里就像一个迷你邦德反派的巢穴,所有这些看起来像外星机器的设备——CPU、磁盘驱动器、打印机、读卡器——都放在高架地板上,在明亮的荧光灯下运转。
我们使用的语言是Fortran的早期版本。你必须在打孔卡上输入程序,然后把它们堆叠在读卡器里,按下按钮将程序加载到内存中并运行。结果通常是在那台声音大得惊人的打印机上打印出一些东西。
我对1401感到困惑。我不知道能用它做什么。事后看来,我确实也做不了多少。程序的唯一输入形式是存储在打孔卡上的数据,而我没有任何存储在打孔卡上的数据。唯一的其他选择是做一些不依赖任何输入的事情,比如计算圆周率的近似值,但我当时数学知识不足,无法做任何有趣的那类事情。所以我记不起自己写过任何程序也就不足为奇了,因为它们肯定没做什么。我最清晰的记忆是,当我发现程序可能不会终止时,我的一个程序就没终止。在没有分时操作的机器上,这既是技术错误,也是社交失误,数据中心经理的表情清楚地表明了这一点。
有了微型计算机,一切都变了。现在你可以拥有一台就在你面前、放在桌上的电脑,它可以在运行时响应你的按键,而不仅仅是处理一堆打孔卡然后停止。[1]
我朋友中第一个拥有微型计算机的人是自己组装的。那是Heathkit出售的套件。我清楚地记得,看着他坐在电脑前,直接把程序输入进去,我感到多么的印象深刻和羡慕。
那时电脑很贵,我唠叨了好几年才说服我父亲在1980年左右买了一台TRS-80。当时的黄金标准是Apple II,但TRS-80也足够好了。从那时起,我才真正开始编程。我写了一些简单的游戏,一个预测我的模型火箭能飞多高的程序,还有一个我父亲用来写至少一本书的文字处理器。内存中只能容纳大约2页文本,所以他一次写2页然后打印出来,但这比打字机好多了。
虽然我喜欢编程,但我没打算在大学里学习它。大学里我打算学哲学,那听起来强大得多。对我这个天真的高中生来说,哲学似乎是研究终极真理的学问,相比之下,其他领域研究的东西都只是领域知识。当我进入大学后,我发现其他领域占据了思想的太多空间,以至于这些所谓的终极真理所剩无几。哲学似乎只剩下其他领域的人认为可以安全忽略的边缘案例。
我18岁时无法用言语表达这些。当时我只知道我一直在上哲学课,而且它们一直很无聊。所以我决定转学AI。
AI在1980年代中期盛行,但有两件事尤其让我想要研究它:一本海因莱因的小说《严厉的月亮》,其中有一个名叫麦克的智能计算机;以及一部PBS纪录片,展示了特里·维诺格拉德使用SHRDLU。我没有尝试重读《严厉的月亮》,所以不知道它是否经受住了时间的考验,但当我读它时,我完全被它的世界所吸引。拥有麦克似乎只是时间问题,当我看到维诺格拉德使用SHRDLU时,感觉最多也就几年时间。你所要做的就是教SHRDLU更多的词汇。
当时康奈尔大学没有AI课程,甚至连研究生课程都没有,所以我开始尝试自学。这意味着要学习Lisp,因为在那些日子里,Lisp被认为是AI的语言。当时常用的编程语言相当原始,程序员的想法也相应地原始。康奈尔大学的默认语言是一种名为PL/I的类似Pascal的语言,其他地方的情况也类似。学习Lisp如此迅速地扩展了我对程序的概念,以至于过了好几年我才开始感受到新的边界在哪里。这更像回事了;这正是我期望大学能做到的。它没有像预期的那样发生在课堂上,但这没关系。接下来的几年我一帆风顺。我知道自己要做什么了。
我的本科毕业论文是逆向工程SHRDLU。天哪,我太喜欢研究那个程序了。它是一段令人愉悦的代码,但更令人兴奋的是我的信念——现在很难想象,但在1985年并非独一无二——它已经在智能的低坡上攀登了。
我进入了康奈尔大学的一个项目,它不要求你选择专业。你可以上任何你喜欢的课程,并选择任何你喜欢的东西写在你的学位证上。我当然选择了“人工智能”。当我拿到实际的毕业证书时,我沮丧地发现引号被包括在内,这让它们看起来像是“讽刺引号”。当时这让我很困扰,但现在看来,由于我即将发现的原因,这似乎准确得很有趣。
我申请了三所研究生院:麻省理工学院和耶鲁大学,它们当时都以AI闻名;还有哈佛大学,我去那里是因为Rich Draves在那里读书,而且那里也是Bill Woods的所在地,他发明了我SHRDLU克隆版中使用的那种解析器。只有哈佛大学录取了我,所以我去了那里。
我不记得具体是哪一刻发生的,或者是否真有那么一个特定时刻,但在研究生院的第一年,我意识到当时实践的AI是一种骗局。我指的是那种,当程序被告知“狗坐在椅子上”时,它会将其翻译成某种形式化表示并添加到它已知的事物列表中。
这些程序真正表明的是,自然语言中存在一个子集,它是一种形式语言。但这是一个非常严格的子集。很明显,它们能做到的与真正理解自然语言之间存在着无法逾越的鸿沟。事实上,这并非仅仅是教SHRDLU更多词汇的问题。那种以显式数据结构表示概念的AI方法根本行不通。它的缺陷确实像往常一样,产生了许多撰写关于各种修补方案的论文的机会,但它永远无法带给我们麦克。
于是我环顾四周,看看我的计划残骸中还能挽救些什么,结果是Lisp。我从经验中得知,Lisp本身就很有趣,而不仅仅因为它与AI的关联,尽管那是当时人们关注它的主要原因。所以我决定专注于Lisp。事实上,我决定写一本关于Lisp编程的书。想到我开始写那本书时对Lisp编程知之甚少,真是令人恐惧。但没有什么比写一本书更能帮助你学习它了。那本书,《论Lisp》,直到1993年才出版,但大部分内容是我在研究生院写的。
计算机科学是理论和系统两部分之间一种不稳定的联盟。理论派证明事物,系统派构建事物。我想要构建事物。我对理论充满敬意——事实上,我甚至隐约觉得它是两者中更值得钦佩的一半——但构建事物似乎激动人心得多。
然而,系统工作的问题在于它不持久。你今天编写的任何程序,无论多好,最多几十年就会过时。人们可能会在脚注中提及你的软件,但没有人会真正使用它。而且,它确实会显得非常微不足道。只有对该领域历史有了解的人,才会意识到它在当时曾是优秀的。
有一次,计算机实验室里有一些多余的施乐Dandelions电脑。任何想玩的人都可以拿一台。我曾短暂地心动过,但以现在的标准来看它们太慢了;有什么意义呢?其他人也不想要,所以它们就被处理掉了。这就是系统工作的命运。
我不仅想构建东西,还想构建能持久的东西。
在这种不满的状态下,我于1988年前往卡内基梅隆大学拜访Rich Draves,他当时在那里读研究生。有一天,我去参观卡内基学院,我小时候在那里度过了很多时光。在那里看一幅画时,我意识到了一些可能看起来很明显,但对我来说却是一个巨大惊喜的事情。就在墙上,有一样你可以创造出来并能持久存在的东西。画作不会过时。一些最好的画作已有数百年历史。
而且,这还是一种可以赖以为生的事情。当然,不像写软件那么容易,但我认为如果你真的勤奋,生活开销很低,那肯定有可能赚到足够的钱来维持生计。作为一名艺术家,你可以真正独立。你不会有老板,甚至不需要获得研究资金。
我一直喜欢看画。我能画吗?我完全不知道。我从未想过这甚至可能。我理智上知道艺术是人创作的——它不是凭空出现的——但仿佛那些创作者是另一个物种。他们要么生活在很久以前,要么是《生活》杂志上那些做着奇怪事情的神秘天才。真正能够创作艺术,把那个动词放在那个名词之前,似乎近乎奇迹。
那年秋天,我开始在哈佛大学上艺术课。研究生可以在任何系选课,我的导师Tom Cheatham非常随和。即使他知道我上了那些奇怪的课,他也从未说什么。
所以现在我身处计算机科学的博士项目,却计划成为一名艺术家,同时又真心热爱Lisp编程并埋头于《论Lisp》的写作。换句话说,就像许多研究生一样,我精力充沛地同时进行着多个与我的论文无关的项目。
我看不出摆脱这种困境的方法。我不想退学,但除了退学我还能怎么离开呢?我记得我的朋友罗伯特·莫里斯因为编写了1988年的互联网蠕虫而被康奈尔大学开除时,我曾羡慕他找到了如此惊人的方式来摆脱研究生院。
然后,在1990年4月的一天,墙上出现了一道裂缝。我碰到了Cheatham教授,他问我是否进展顺利,能否在当年六月毕业。我的博士论文一个字都还没写,但在我人生中最快的思考中,我决定在截止日期前剩下的五周左右时间里尝试写一篇,尽可能地重用《论Lisp》中的部分内容,我几乎没有停顿地回答道:“是的,我想可以。几天后我会给你一些东西看。”
我选择了续延的应用作为主题。事后看来,我应该写关于宏和嵌入式语言的。那里有一个几乎未被探索的完整世界。但我当时只想摆脱研究生院,而我匆忙写成的论文勉强够用了。
与此同时,我正在申请艺术学校。我申请了两所:美国的罗德岛设计学院(RISD)和佛罗伦萨美术学院(Accademia di Belli Arti),后者因为是最古老的艺术学校,我想象它会很好。罗德岛设计学院录取了我,而佛罗伦萨美术学院我一直没有收到回复,所以我去了普罗维登斯。
我申请了罗德岛设计学院的艺术学士学位项目,这实际上意味着我必须再次上大学。这听起来并不奇怪,因为我当时只有25岁,而艺术学校里充满了不同年龄的人。罗德岛设计学院把我算作转学生二年级,并说我必须在那个夏天完成基础课程。基础课程是指每个人都必须学习的素描、色彩和设计等基础科目。
夏天快结束时,我收到了一个大惊喜:一封来自佛罗伦萨美术学院的信,信件因为被寄到了英国剑桥而不是马萨诸塞州剑桥而延误了,邀请我参加当年秋天在佛罗伦萨举行的入学考试。那时离考试只有几周时间了。我善良的房东太太允许我把东西留在她阁楼里。我在研究生院做咨询工作时攒了一些钱;如果我生活节俭,大概够用一年。现在我所要做的就是学习意大利语。
只有_stranieri_(外国人)需要参加这个入学考试。事后看来,这很可能是一种排斥他们的方式,因为有太多_stranieri_被在佛罗伦萨学习艺术的想法所吸引,否则意大利学生的人数就会被超过。那个夏天,我在罗德岛设计学院的基础课程中,绘画和素描方面表现不错,但我仍然不知道自己是如何通过笔试的。我记得我通过写塞尚来回答作文题,并且我尽可能地提高了智力水平,以充分利用我有限的词汇量。[2]
我才25岁,就已经出现了如此明显的模式。我又一次即将进入某个庄严的机构,希望能学习一些享有盛誉的科目,却又一次即将感到失望。佛罗伦萨美术学院绘画系的学生和教职员工都是你能想象到的最和善的人,但他们早就达成了一种默契:学生不要求老师教任何东西,作为回报,老师也不要求学生学任何东西。同时,所有参与者都会表面上遵循19世纪画室的惯例。我们确实有一个那种小火炉,用引火物生火,就像你在19世纪画室画作中看到的那样,还有一个裸体模特尽可能靠近它坐着,以免被烫伤。除了我之外,几乎没有人画她。其余的学生则把时间花在聊天上,或者偶尔尝试模仿他们在美国艺术杂志上看到的东西。
我们的模特原来就住在我家楼下。她靠做模特和为当地古董商制作赝品谋生。她会从书上临摹一幅鲜为人知的老画,然后古董商会拿走这幅临摹品并对其进行“虐待”,使其看起来很旧。[3]
在佛罗伦萨美术学院学习期间,我开始在晚上在卧室里画静物。这些画很小,因为房间很小,也因为我是在剩下的画布边角料上画的,那是我当时唯一能负担得起的。画静物与画人物不同,因为静物顾名思义是不能动的。人物一次坐不住超过15分钟左右,而且他们坐着时也不会很安静。所以画人物的传统运作模式是知道如何画一个通用的人物,然后你再修改它以匹配你正在画的特定人物。而静物画,如果你愿意,可以逐像素地复制你所看到的东西。当然,你不想止步于此,否则你只会得到照片般的精确度,而静物画之所以有趣,是因为它经过了大脑的思考。你想要强调那些视觉线索,例如,告诉你为什么某个点的颜色会突然变化,那是因为它是物体的边缘。通过巧妙地强调这些东西,你可以创作出比照片更真实的画作,这不仅是在某种比喻意义上,而是在严格的信息论意义上。[4]
我喜欢画静物,因为我对所看到的一切感到好奇。在日常生活中,我们并没有有意识地注意到我们所看到的大部分东西。大多数视觉感知是由低级过程处理的,它们只是告诉你的大脑“那是一滴水”,而不会告诉你最亮和最暗的点在哪里,或者“那是一丛灌木”,而不会告诉你每片叶子的形状和位置。这是大脑的特性,而不是缺陷。在日常生活中,注意到每丛灌木上的每片叶子会让人分心。但当你必须画一幅画时,你必须更仔细地观察,当你这样做时,会看到很多东西。在尝试画一些人们通常认为理所当然的东西几天后,你仍然可以注意到新的事物,就像你尝试写一篇关于人们通常认为理所当然的东西的随笔几天后一样。
这不是唯一的绘画方式。我甚至不能百分之百确定这是一种好的绘画方式。但它似乎是一个值得尝试的足够好的选择。
我们的老师乌利维教授是个好人。他看得出我学习努力,给了我一个好成绩,他把成绩写在每个学生都有的那种“护照”上。但佛罗伦萨美术学院除了意大利语什么也没教我,而且我的钱也快用完了,所以第一年结束后我回到了美国。
我想回到罗德岛设计学院,但我现在身无分文,而且罗德岛设计学院非常昂贵,所以我决定先工作一年,然后明年秋天再回罗德岛设计学院。我在一家名为Interleaf的公司找到了一份工作,这家公司生产用于创建文档的软件。你是说像Microsoft Word那样的?没错。我就是这样了解到低端软件往往会吞噬高端软件的。但Interleaf当时还有几年的寿命。[5]
Interleaf做了一件相当大胆的事情。受Emacs的启发,他们添加了一种脚本语言,甚至把这种脚本语言做成了Lisp的一种方言。现在他们想要一个Lisp高手来用它编写东西。这是我最接近一份“正常”工作的一次,我在此向我的老板和同事道歉,因为我是一个糟糕的员工。他们的Lisp只是一个巨大的C语言蛋糕上薄薄的一层糖霜,由于我不会C语言也不想学,所以我从未理解大部分软件。此外,我非常不负责任。那时,一份编程工作意味着每天在特定的工作时间出现。这对我来说似乎不自然,而且在这一点上,世界其他地方正在逐渐认同我的想法,但当时这造成了很多摩擦。那年年底,我大部分时间都在偷偷地写《论Lisp》,当时我已经拿到了出版合同。
好的一面是,我赚了很多钱,特别是按照艺术学生的标准来看。在佛罗伦萨,付完我那份房租后,我每天其他所有开销的预算是7美元。现在我每小时赚的钱是那时的4倍多,即使我只是坐在会议室里。通过节俭生活,我不仅攒够了钱回罗德岛设计学院,还还清了我的大学贷款。
我在Interleaf学到了一些有用的东西,尽管它们大多是关于不该做什么的。我了解到,科技公司最好由产品人员而非销售人员来管理(尽管销售是一项真正的技能,擅长的人确实非常擅长),代码被太多人编辑会导致bug,如果廉价的办公空间令人沮丧,那它就不是什么划算的交易,计划好的会议不如走廊里的对话,大型、官僚的客户是危险的资金来源,以及传统办公时间和最佳编程时间之间,或者传统办公室和最佳编程地点之间,并没有太多重叠。
但我学到的最重要的一点,也是我在Viaweb和Y Combinator都运用的一点,就是低端会吞噬高端:成为“入门级”选项是好事,尽管这会不那么有声望,因为如果你不这样做,别人就会,然后把你挤到天花板上。这反过来意味着声望是一个危险信号。
第二年秋天,当我离开去罗德岛设计学院时,我安排为那个为客户做项目的团队做自由职业,这就是我接下来几年赖以生存的方式。后来我回来为一个项目拜访时,有人告诉我一个新东西叫HTML,据他描述,它是SGML的衍生品。标记语言爱好者在Interleaf是一种职业危害,我当时没理他,但这个HTML后来成了我生活中很重要的一部分。
1992年秋天,我搬回普罗维登斯,继续在罗德岛设计学院学习。基础课程只是入门,而佛罗伦萨美术学院则是一个(非常文明的)笑话。现在我将看看真正的艺术学校是什么样子。但唉,它更像佛罗伦萨美术学院。组织得更好,当然,也贵得多,但现在越来越清楚的是,艺术学校与艺术的关系,并不像医学院与医学的关系那样。至少绘画系不是。我隔壁邻居所在的纺织系似乎相当严谨。插画和建筑系无疑也是如此。但绘画是“后严谨”的。绘画学生应该表达自己,对于那些更世故的学生来说,这意味着尝试创造某种独特的标志性风格。
标志性风格在视觉上等同于演艺圈中所谓的“schtick”:一种能立即识别出作品属于你而非他人的东西。例如,当你看到一幅看起来像某种卡通的画作时,你就知道它是罗伊·利希滕斯坦的作品。所以,如果你在对冲基金经理的公寓里看到一幅这种类型的大画,你就知道他为此支付了数百万美元。艺术家拥有标志性风格并非总是出于这个原因,但这通常是买家为此类作品支付高价的原因。[6]
也有很多认真的学生:那些高中时“会画画”的孩子,现在来到了这个被认为是全国最好的艺术学校,学习画得更好。他们往往对在罗德岛设计学院发现的一切感到困惑和沮丧,但他们坚持了下来,因为绘画是他们所做的事情。我不是高中时会画画的孩子之一,但在罗德岛设计学院,我肯定更接近他们的群体,而不是那些追求标志性风格的群体。
我在罗德岛设计学院上的色彩课学到了很多,但除此之外,我基本上是自学绘画,而且我可以免费做到这一点。所以1993年我辍学了。我在普罗维登斯闲逛了一段时间,然后我的大学朋友Nancy Parmet帮了我一个大忙。她母亲在纽约拥有的一栋大楼里有一套租金管制公寓空了出来。我想要吗?它比我现在的住处大不了多少,而且纽约被认为是艺术家聚集的地方。所以,是的,我想要![7]
《高卢英雄传》漫画的开篇,镜头拉近到罗马高卢的一个小角落,结果发现那里并不受罗马人控制。你可以在纽约市的地图上做类似的事情:如果你放大上东区,会发现有一个小角落并不富裕,至少在1993年不是。它叫约克维尔(Yorkville),那就是我的新家。现在我是一名纽约艺术家——严格来说,是指在纽约创作绘画并生活的人。
我对钱感到紧张,因为我能感觉到Interleaf正在走下坡路。自由职业的Lisp编程工作非常罕见,我也不想被迫用另一种语言编程,那时如果我走运的话,那可能就是C++。所以,凭借我对财务机会的敏锐嗅觉,我决定再写一本关于Lisp的书。这将是一本受欢迎的书,那种可以作为教科书的书。我设想自己靠版税节俭生活,把所有时间都花在绘画上。(这本书《ANSI Common Lisp》的封面画,就是我大约在这个时期画的。)
对我来说,纽约最好的地方是Idelle和Julian Weber的存在。Idelle Weber是一位画家,早期照相写实主义者之一,我上过她在哈佛的绘画课。我从未见过比她更受学生爱戴的老师。包括我在内,大量以前的学生都和她保持联系。搬到纽约后,我成了她的实际画室助理。
她喜欢在四到五英尺见方的大画布上作画。1994年末的一天,当我正在拉伸其中一幅巨型画布时,收音机里正在播放关于一位著名基金经理的节目。他比我大不了多少,而且超级富有。我突然冒出一个念头:我为什么不变得富有呢?那样我就能随心所欲地工作了。
与此同时,我越来越多地听到这个叫做万维网的新事物。罗伯特·莫里斯在剑桥拜访他时给我看了它,他当时正在哈佛读研究生。在我看来,网络将是一件大事。我见过图形用户界面对微型计算机普及所做的贡献。网络似乎也会对互联网产生同样的影响。
如果我想致富,这就是下一班即将发车的列车。关于这一点我判断对了。我判断错的是想法。我决定我们应该创办一家公司,把艺术画廊搬到线上。老实说,在阅读了这么多Y Combinator的申请后,我不能说这是有史以来最糟糕的创业想法,但它也名列前茅。艺术画廊不想上线,现在也不想,那些高档画廊更是如此。那不是他们销售的方式。我写了一些软件来为画廊生成网站,罗伯特写了一些来调整图片大小并设置HTTP服务器来提供页面。然后我们尝试签约画廊。称之为“难以销售”都是轻描淡写。这简直是难以送出去。少数画廊让我们免费为他们制作了网站,但没有一家支付我们费用。
然后一些在线商店开始出现,我意识到除了订单按钮,它们与我们为画廊生成的网站一模一样。这个听起来很厉害的“互联网店面”正是我们已经知道如何构建的东西。
所以在1995年夏天,在我将《ANSI Common Lisp》的清样提交给出版商之后,我们开始尝试编写软件来构建在线商店。起初这会是普通的桌面软件,在那些日子里意味着Windows软件。那是一个令人担忧的前景,因为我们俩都不知道如何编写Windows软件,也不想学习。我们生活在Unix世界。但我们决定至少尝试在Unix上编写一个原型商店构建器。罗伯特编写了一个购物车,我则为商店编写了一个新的网站生成器——当然是用Lisp。
我们在罗伯特位于剑桥的公寓里工作。他的室友经常长时间不在,那段时间我就睡在他的房间里。不知为何,房间里没有床架或床单,只有一张放在地板上的床垫。一天早上,当我躺在这张床垫上时,我突然有了一个想法,让我像大写字母L一样坐了起来。如果我们把软件运行在服务器上,让用户通过点击链接来控制它呢?那样我们就永远不必编写任何在用户电脑上运行的东西了。我们可以在提供服务的同一台服务器上生成网站。用户只需要一个浏览器就够了。
这种现在被称为网络应用(web app)的软件,现在很常见,但当时还不清楚它是否可行。为了弄清楚,我们决定尝试制作一个可以通过浏览器控制的商店构建器版本。几天后,也就是8月12日,我们有了一个能用的版本。用户界面(UI)很糟糕,但它证明了你可以通过浏览器构建一个完整的商店,无需任何客户端软件,也无需在服务器上输入任何命令行。
现在我们觉得我们真的发现了一些了不起的东西。我预见到全新一代的软件将以这种方式运作。你不需要版本,不需要移植,也不需要那些烦人的东西。在Interleaf,有一个名为“发布工程”的整个团队,其规模似乎至少和实际编写软件的团队一样大。现在你只需直接在服务器上更新软件即可。
我们成立了一家新公司,取名为Viaweb,因为我们的软件是通过网络运作的。我们从Idelle的丈夫Julian那里获得了1万美元的种子资金。作为回报,以及他为我们做了最初的法律工作并提供了商业建议,我们给了他公司10%的股份。十年后,这笔交易成为了Y Combinator的模式。我们知道创始人需要这样的帮助,因为我们自己也曾需要。
在这个阶段,我的净资产是负数,因为我银行里的一千美元左右,远不足以抵消我欠政府的税款。(我是否勤奋地把为Interleaf做咨询赚的钱按比例存起来了?不,我没有。)所以,尽管罗伯特有他的研究生津贴,我却需要那笔种子资金来维持生计。
我们最初希望在九月发布,但随着我们对软件的开发,我们的野心也越来越大。最终我们成功地构建了一个所见即所得(WYSIWYG)的网站构建器,这意味着当你创建页面时,它们看起来与之后生成的静态页面完全一样,只不过链接不再指向静态页面,而是指向存储在服务器哈希表中的闭包。
学习艺术很有帮助,因为在线商店构建器的主要目标是让用户看起来合法可信,而看起来合法可信的关键在于高制作水准。如果你能把页面布局、字体和颜色处理得恰到好处,你就能让一个在卧室里经营商店的人看起来比大公司更合法可信。
(如果你好奇我的网站为什么看起来这么老式,那是因为它仍然是用这个软件制作的。它今天可能看起来很笨重,但在1996年,它可是最时髦的。)
九月,罗伯特反抗了。“我们已经为此工作了一个月,”他说,“但它还没完成。”事后看来这很有趣,因为他几乎在三年后还在为此工作。但我决定招募更多程序员可能更明智,我问罗伯特还有谁在研究生院和他一起真的很棒。他推荐了Trevor Blackwell,这最初让我很惊讶,因为那时我认识Trevor主要是因为他计划将生活中的一切都简化成一叠随身携带的便签卡,这他随身带着。但Rtm一如既往地对了。Trevor结果是一个令人惊叹的高效黑客。
和罗伯特以及特雷弗一起工作非常有趣。他们是我认识的两个最独立思考的人,而且方式截然不同。如果你能看到Rtm的大脑内部,它会像一座新英格兰殖民时期的教堂,而如果你能看到特雷弗的大脑内部,它会像奥地利洛可可风格最奢华的体现。
我们于1996年1月开业,当时有6家商店。幸好我们等了几个月,因为尽管我们担心迟了,但实际上我们几乎是致命地早了。当时媒体上有很多关于电子商务的讨论,但真正想要在线商店的人并不多。[8]
该软件主要有三个部分:编辑器,供人们用来构建网站,由我编写;购物车,由罗伯特编写;以及管理器,用于跟踪订单和统计数据,由特雷弗编写。在当时,这个编辑器是最好的通用网站构建器之一。我保持代码紧凑,除了罗伯特和特雷弗的软件外,无需与任何其他软件集成,所以开发起来非常有趣。如果我只需要专注于这个软件,接下来的三年将是我一生中最轻松的。不幸的是,我必须做更多的事情,所有这些我都比编程做得更差,所以接下来的三年反而成了我压力最大的时期。
90年代下半叶,有很多初创公司在开发电子商务软件。我们决心成为Microsoft Word,而不是Interleaf。这意味着要易于使用且价格低廉。我们很幸运自己很穷,因为这使得Viaweb比我们意识到的还要便宜。我们对小型商店每月收取100美元,大型商店每月收取300美元。这个低廉的价格是一个巨大的吸引力,也是竞争对手的眼中钉,但我们设定低价并非出于什么巧妙的洞察。我们根本不知道企业为这些东西支付多少钱。每月300美元对我们来说似乎是一大笔钱。
我们很多事情都是这样无意中做对了。例如,我们做了现在所说的“做那些无法规模化的事情”,尽管当时我们会将其描述为“我们太逊了,以至于不得不采取最绝望的措施来获取用户”。其中最常见的就是为他们构建商店。这看起来特别丢脸,因为我们软件存在的理由就是人们可以用它来制作自己的商店。但为了获取用户,什么都行。
我们学到了比我们想知道的更多关于零售的知识。例如,如果你只能有一张男士衬衫的小图片(当时所有图片按现在的标准都算小),那么最好是领口的特写,而不是整件衬衫的照片。我之所以记得学到这一点,是因为这意味着我必须重新扫描大约30张男士衬衫的图片。我第一次扫描的那批图片也那么漂亮。
尽管这感觉不对,但这正是我们应该做的事情。为用户构建商店让我们了解了零售业,也了解了使用我们软件的感受。我最初对“商业”既感到困惑又排斥,认为我们需要一个“商业人士”来负责,但一旦我们开始获得用户,我就被“转化”了,就像我有了孩子后被转化成父亲身份一样。无论用户想要什么,我都全力以赴。也许有一天我们会有如此多的用户,以至于我无法为他们扫描图片,但在此期间,没有什么比这更重要的事情了。
当时我没有理解的另一件事是,增长率是衡量一家初创公司的最终标准。我们的增长率很好。1996年底我们大约有70家商店,1997年底大约有500家。我错误地认为重要的是用户的绝对数量。从你赚多少钱的角度来看,这确实很重要,如果你赚得不够多,你可能会倒闭。但从长远来看,增长率会解决绝对数量的问题。如果当时我们是Y Combinator我正在指导的一家初创公司,我会说:别那么焦虑了,因为你们做得很好。你们每年增长7倍。只要别再雇佣太多人,你们很快就会盈利,然后就能掌控自己的命运。
唉,我雇佣了更多的人,部分原因是我们的投资者希望我这样做,部分原因是因为在互联网泡沫时期,初创公司就是这样做的。一家只有少数员工的公司会显得业余。所以直到1998年夏天雅虎收购我们时,我们才勉强达到收支平衡。这反过来意味着,在公司存在的整个生命周期中,我们都受制于投资者。而且由于我们和我们的投资者都是初创公司的新手,结果即使按照初创公司的标准来看也是一团糟。
当雅虎收购我们时,我感到巨大的解脱。原则上,我们的Viaweb股票是值钱的。它是一家盈利且快速增长的公司的股份。但对我来说,它感觉并不那么值钱;我不知道如何评估一家公司,但我非常清楚我们似乎每隔几个月就会经历一次濒死体验。而且,自从我们创业以来,我的研究生生活方式也没有显著改变。所以当雅虎收购我们时,感觉就像是从贫困潦倒到一夜暴富。因为我们要去加利福尼亚,我买了一辆车,一辆黄色的1998年大众GTI。我记得当时想,光是它的真皮座椅就已经是迄今为止我拥有的最奢侈的东西了。
接下来的一年,从1998年夏天到1999年夏天,一定是我一生中生产力最低的时期。当时我没有意识到,但我已经筋疲力尽于运营Viaweb的努力和压力。刚到加利福尼亚后的一段时间里,我试图继续我通常的运作模式,编程到凌晨三点,但疲劳加上雅虎过早老化的文化以及圣克拉拉阴沉的格子间,逐渐将我拖垮。几个月后,那种感觉令人不安地像是在Interleaf工作。
雅虎收购我们时给了我们很多期权。当时我以为雅虎被严重高估了,永远不会值钱,但令我惊讶的是,第二年股票上涨了5倍。我一直坚持到第一批期权归属,然后在1999年夏天离开了。我已经很久没有画画了,以至于我几乎忘记了自己为什么要做这些。我的大脑四年里完全被软件和男士衬衫占据了。但我提醒自己,我之所以做这些是为了致富,这样我就可以画画了,现在我富有了,所以我应该去画画。
当我提出要离开时,我在雅虎的老板和我进行了一次长谈,关于我的计划。我告诉他所有我想画的画的种类。当时我被他对我如此感兴趣而感动。现在我意识到那是因为他认为我在撒谎。那时我的期权每月价值约200万美元。如果我放弃那样的钱,那只能是为了去创办一家新的初创公司,如果我那样做了,我可能会带走一些人。那是互联网泡沫的顶峰,雅虎是它的中心。我的老板当时是一位亿万富翁。那时离开去创办一家新的初创公司,在他看来一定是一个疯狂但又似乎可行的雄心勃勃的计划。
但我确实是为了画画而辞职的,而且我立刻就开始了。没有时间可以浪费。我已经浪费了四年时间来致富。现在当我与那些卖掉公司后离开的创始人交谈时,我的建议总是相同的:去度假。那正是我应该做的,只是去某个地方,一两个月什么都不做,但这个想法从未出现在我的脑海里。
所以我尝试画画,但我似乎没有任何精力或抱负。部分问题是我在加利福尼亚认识的人不多。我通过在圣克鲁斯山买了一栋房子加剧了这个问题,那里的景色很美,但离任何地方都好几英里远。我又坚持了几个月,然后绝望地回到了纽约,在那里,除非你了解租金管制,否则你会惊讶地听到我仍然拥有我的公寓,它像我旧生活的坟墓一样被封存着。至少Idelle在纽约,那里还有其他人在尝试画画,尽管我一个也不认识。
当我回到纽约时,我恢复了旧生活,只不过现在我富有了。这听起来有多奇怪就有多奇怪。我恢复了所有旧习惯,只不过现在多了以前没有的“门”。现在当我走累了,我只需举手示意,(除非下雨)就会有出租车停下来载我。现在当我走过迷人的小餐馆时,我可以进去点午餐。这在一段时间内令人兴奋。绘画开始好转。我尝试了一种新的静物画法:我先用老方法画一幅画,然后拍照并放大打印到画布上,再将其作为第二幅静物画的底稿,这幅画是根据相同的物体(希望它们还没腐烂)画的。
与此同时,我开始寻找要购买的公寓。现在我真的可以选择住在哪个社区了。我问自己和各种房地产经纪人,纽约的剑桥在哪里?在偶尔拜访真正的剑桥的帮助下,我逐渐意识到根本没有。嗯。
大约在2000年春天,我产生了一个想法。从我们Viaweb的经验来看,网络应用是未来。为什么不构建一个用于制作网络应用的网站应用呢?为什么不让人们通过浏览器在我们的服务器上编辑代码,然后为他们托管生成的应用程序呢?[9] 你可以在服务器上运行各种服务,这些应用程序只需通过API调用即可使用:拨打和接听电话、处理图像、收取信用卡付款等等。
我对这个想法如此兴奋,以至于无法思考其他任何事情。这显然是未来。我并不特别想再创办一家公司,但很明显,这个想法必须以公司的形式实现,所以我决定搬到剑桥并开始它。我希望能引诱罗伯特和我一起做,但我在那里遇到了障碍。罗伯特现在是麻省理工学院的博士后,尽管上次我引诱他参与我的一个计划时他赚了很多钱,但那也是一个巨大的时间黑洞。所以,尽管他同意这听起来是一个合理的主意,但他坚决拒绝参与。
哼。好吧,那我就自己做。我招募了曾在Viaweb工作的Dan Giffin,还有两名想找暑期工作的本科生,然后我们开始尝试构建现在看来相当于二十家公司和几个开源项目总和的软件。定义应用程序的语言当然会是Lisp的一种方言。但我没天真到以为我可以向大众公开Lisp;我们会像Dylan那样隐藏括号。
那时,Viaweb这类公司有了一个名称,叫做“应用服务提供商”(ASP)。这个名称没多久就被“软件即服务”(SaaS)取代了,但它流行的时间足够长,以至于我用它来命名这家新公司:它将被称为Aspra。
我开始开发应用程序构建器,Dan负责网络基础设施,两名本科生则负责前两项服务(图像和电话通话)。但夏天过了一半左右,我意识到我真的不想经营一家公司——尤其不是一家大公司,而这个项目看起来必须成为一家大公司。我之所以创办Viaweb只是因为我需要钱。现在我不再需要钱了,我为什么还要做这个呢?如果这个愿景必须以公司的形式实现,那就放弃这个愿景吧。我将构建一个可以作为开源项目完成的子集。
令我惊讶的是,我花在这些事情上的时间最终并没有浪费。在我们创办Y Combinator之后,我经常会遇到正在开发这种新架构部分内容的初创公司,而我花这么多时间思考它甚至尝试编写其中一部分,都非常有益。
我将作为一个开源项目构建的子集是新的Lisp,现在我甚至不必隐藏它的括号了。许多Lisp高手都梦想构建一个新的Lisp,部分原因是这种语言的一个显著特点是它有方言,部分原因,我想,是因为我们心中有一个柏拉图式的Lisp形式,所有现有的方言都未能达到。我当然也有。所以夏天结束时,Dan和我转而在我在剑桥买的一所房子里,开始研究这种新的Lisp方言,我称之为Arc。
第二年春天,一道闪电击中了我。我受邀在一次Lisp会议上发表演讲,所以我讲了我们如何在Viaweb中使用Lisp。之后我把这次演讲的PostScript文件放到了paulgraham.com上,这个网站是我几年前用Viaweb创建的,但从未用于任何目的。一天之内,它获得了30,000次页面浏览。到底发生了什么?引用URL显示有人把它发到了Slashdot上。[10]
哇,我想,有读者了。如果我写点什么放到网上,任何人都能读到。这现在看起来可能很明显,但当时却令人惊讶。在印刷时代,通往读者的渠道非常狭窄,由被称为编辑的凶猛怪物把守。你所写的东西要想获得读者,唯一的途径就是作为书籍、报纸或杂志出版。现在任何人都可以出版任何东西。
这原则上自1993年以来就已可能,但当时还没有多少人意识到。在那段时间的大部分时间里,我一直密切参与网络基础设施的建设,同时也是一名作家,但我花了8年时间才意识到这一点。即使在那之后,我也花了几年时间才理解其含义。这意味着将出现全新一代的随笔。[11]
在印刷时代,发表随笔的渠道微乎其微。除了少数在纽约参加正确派对的官方指定思想家外,唯一被允许发表随笔的人是撰写其专业领域的专家。有如此多的随笔从未被写出来,因为没有办法发表它们。现在它们可以了,而我将要写它们。[12]
我做过好几件不同的事情,但如果说有一个转折点让我弄清楚了该做什么,那就是我开始在线发表随笔的时候。从那时起,我就知道无论我做什么,我都会一直写随笔。
我知道在线随笔最初会是一种边缘媒介。在社会上,它们看起来更像是疯子在GeoCities网站上发布的咆哮,而不是《纽约客》上那些文雅且排版精美的作品。但到了这个时候,我已经足够了解,觉得这令人鼓舞而非气馁。
我一生中注意到最显著的模式之一是,至少对我而言,从事那些不那么有声望的事情效果非常好。静物画一直是最没有声望的绘画形式。Viaweb和Y Combinator在我们刚开始时都显得很逊。当陌生人问我在写什么,我解释说是我要发布在我网站上的一篇随笔时,他们仍然会投来呆滞的目光。即使是Lisp,尽管在智力上享有类似拉丁语的声望,但看起来也同样不那么时髦。
这并不是说不那么有声望的工作本身就是好的。但当你发现自己被某种工作吸引,尽管它目前缺乏声望,这既表明那里有真实的东西值得发现,也表明你拥有正确的动机。不纯的动机对有抱负的人来说是一个巨大的危险。如果有什么会让你误入歧途,那将是取悦他人的欲望。所以,虽然从事不那么有声望的事情并不能保证你走在正确的轨道上,但至少能保证你没有走上最常见的错误轨道。
接下来的几年里,我写了许多关于各种不同主题的随笔。O'Reilly将其中一篇随笔命名为《黑客与画家》,并将其中的随笔结集再版成书。我还研究了垃圾邮件过滤器,并画了更多画。我过去每周四晚上都会为一群朋友举办晚餐,这教会了我如何为多人做饭。我还在剑桥买了另一栋楼,一个以前是糖果厂(后来据说还是色情工作室)的建筑,用作办公室。
2003年10月的一个晚上,我家举办了一场大型派对。这是我的朋友Maria Daniels的一个巧妙主意,她是周四晚餐的常客之一。三个不同的主人会把他们的朋友都邀请到同一个派对。所以对于每位客人来说,三分之二的其他客人都是他们不认识但可能会喜欢的人。其中一位客人是我不认识但后来非常喜欢的人:一位名叫Jessica Livingston的女士。几天后我约她出去了。
Jessica在波士顿一家投资银行负责市场营销。这家银行自认为了解初创公司,但在接下来的一年里,当她遇到我那些来自初创公司世界的朋友时,她惊讶于现实是多么不同。他们的故事又是多么丰富多彩。于是她决定编写一本关于初创公司创始人访谈的书。
当银行出现财务问题,她不得不解雇一半员工时,她开始寻找新工作。2005年初,她面试了波士顿一家风险投资公司(VC firm)的市场营销职位。他们花了数周时间才做出决定,在此期间我开始告诉她所有关于风险投资需要改进的地方。他们应该进行更多的小额投资,而不是少数巨额投资;他们应该资助更年轻、更具技术背景的创始人,而不是MBA;他们应该让创始人继续担任CEO,等等。
我写随笔的一个诀窍一直是发表演讲。必须站在一群人面前,告诉他们一些不会浪费他们时间的东西,这种前景极大地激发了我的想象力。当哈佛计算机学会,那个本科生计算机俱乐部,邀请我发表演讲时,我决定告诉他们如何创办一家初创公司。也许他们能够避免我们犯过的最糟糕的错误。
所以我做了这个演讲,在演讲过程中我告诉他们,最好的种子资金来源是成功的初创公司创始人,因为他们也能提供建议。这时,他们似乎都期待地看着我。我被商业计划书淹没邮箱的前景吓坏了(如果我早知道),我脱口而出“但不是我!”,然后继续演讲。但之后我想到,我真的应该停止拖延天使投资了。自从雅虎收购我们以来,我就一直有这个想法,现在已经7年了,我还没有做过一笔天使投资。
与此同时,我一直在和罗伯特以及特雷弗密谋我们可以一起做的项目。我怀念和他们一起工作的日子,而且似乎我们之间肯定有什么可以合作的。
3月11日,当Jessica和我吃完晚饭走在Garden街和Walker街的拐角处时,这三条线索汇合了。那些迟迟不决的风险投资人见鬼去吧。我们将创办自己的投资公司,并真正实施我们一直在谈论的想法。我来出资,Jessica可以辞职为它工作,我们还会让罗伯特和特雷弗也成为合伙人。[13]
再一次,无知对我们有利。我们不知道如何成为天使投资人,而且2005年的波士顿也没有Ron Conway这样的人可以学习。所以我们只是做了那些看起来显而易见的选择,而我们所做的一些事情结果却是新颖的。
Y Combinator有多个组成部分,我们并非一下子就全部弄清楚。我们首先确定的是成为一家天使投资公司。在那些日子里,这两个词并不常搭配。有风险投资公司(VC firms),它们是组织化的公司,有专门负责投资的人,但它们只做大额的、百万美元级别的投资。也有天使投资人(angels),他们做小额投资,但这些人通常专注于其他事情,只是顺带做投资。而且两者在初期都未能给创始人提供足够的帮助。我们知道创始人在某些方面是多么无助,因为我们记得我们自己也曾多么无助。例如,Julian为我们做的一件事,在我们看来简直是魔法,那就是帮我们成立了一家公司。我们编写相当复杂的软件没问题,但实际办理公司注册,包括章程、股票等等,这到底是怎么做到的?我们的计划不仅是进行种子投资,还要为初创公司做Julian为我们做过的一切。
YC并非以基金形式组织。它的运营成本足够低,我们用自己的钱来资助它。这一点99%的读者都会忽略,但专业投资者会想:“哇,这意味着他们获得了所有回报。”但再一次,这并非出于我们任何特别的洞察力。我们不知道风险投资公司是如何组织的。我们从未想过尝试募集基金,即使想过,我们也不知道从何开始。[14]
YC最独特的特点是批次模式:每年两次,一次性资助一批初创公司,然后集中精力三个月帮助他们。这部分是我们偶然发现的,不仅仅是含蓄地,而是明确地由于我们对投资的无知。我们需要获得作为投资者的经验。我们想,有什么比一次性资助一大批初创公司更好的方式呢?我们知道本科生在夏天会在科技公司找到临时工作。为什么不组织一个暑期项目,让他们 вместо start startups呢?我们不会因为在某种意义上是“假投资者”而感到内疚,因为他们也会在类似的意义上是“假创始人”。所以,虽然我们可能不会从中赚很多钱,但我们至少可以拿他们来练习投资,而他们反过来可能会度过一个比在微软工作更有趣的夏天。
我们将把我自己在剑桥拥有的那栋楼作为我们的总部。我们每周都会在那里共进一次晚餐——周二,因为我周四已经为周四的晚餐客人做饭了——晚餐后我们会请来初创公司专家进行讲座。
我们知道当时本科生正在决定暑期工作,所以几天之内我们就炮制出了一个我们称之为“夏季创始人项目”的东西,我在我的网站上发布了公告,邀请本科生申请。我从未想过写随笔会成为投资者所谓的“交易流”的来源,但事实证明它是完美的来源。[15] 我们收到了225份夏季创始人项目的申请,我们惊讶地发现其中很多申请者已经毕业,或者即将在那个春天毕业。这个SFP项目已经开始变得比我们预期的更严肃了。
我们邀请了225个团队中的大约20个进行现场面试,并从中选出了8个进行资助。他们是一个令人印象深刻的群体。第一批包括reddit、Justin Kan和Emmett Shear(他们后来创立了Twitch)、Aaron Swartz(他已经帮助编写了RSS规范,几年后将成为开放获取的烈士),以及Sam Altman(他后来成为YC的第二任总裁)。我不认为第一批如此优秀完全是运气。你必须相当大胆才能报名参加像夏季创始人项目这样奇怪的东西,而不是在微软或高盛这样正规的地方找一份暑期工作。
对初创公司的交易是基于我们与Julian的交易(1万美元换10%)和罗伯特所说的麻省理工学院研究生暑期获得的资助(6千美元)的结合。我们每位创始人投资6千美元,在典型的两位创始人情况下就是1.2万美元,以换取6%的股份。这必须是公平的,因为它比我们自己接受的交易好两倍。此外,第一个夏天非常热,Jessica还给创始人带来了免费空调。[16]
我很快意识到我们偶然发现了扩大初创公司融资规模的方法。批量资助初创公司对我们来说更方便,因为这意味着我们可以同时为许多初创公司做事情,但成为批次的一部分对初创公司来说也更好。它解决了创始人面临的最大问题之一:孤立感。现在你不仅有同事,而且这些同事理解你面临的问题,并能告诉你他们是如何解决的。
随着YC的发展,我们开始注意到规模化的其他优势。校友们形成了一个紧密的社区,致力于互相帮助,尤其是帮助当前批次的初创公司,因为他们记得自己也曾身处同样的境地。我们还注意到,这些初创公司正在成为彼此的客户。我们过去曾开玩笑地称之为“YC GDP”,但随着YC的成长,这越来越不像一个笑话了。现在许多初创公司几乎完全从他们的同期伙伴中获得最初的客户。
我最初并没有打算让YC成为一份全职工作。我打算做三件事:编程、写随笔和在YC工作。随着YC的发展,以及我对此越来越兴奋,它开始占据我超过三分之一的注意力。但在最初的几年里,我仍然能够从事其他事情。
2006年夏天,罗伯特和我开始开发新版本的Arc。这个版本速度相当快,因为它被编译成了Scheme。为了测试这个新的Arc,我用它编写了Hacker News。它最初是为初创公司创始人设计的聚合新闻网站,名为Startup News,但几个月后我厌倦了只阅读关于初创公司的新闻。此外,我们想接触的也不是现有的初创公司创始人,而是未来的初创公司创始人。所以我把名字改成了Hacker News,主题也改成了任何能激发人们求知欲的内容。
HN无疑对YC有益,但它也是我最大的压力来源。如果我只需要选择和帮助创始人,生活会轻松得多。这意味着HN是一个错误。工作中的最大压力来源至少应该与工作的核心紧密相关。而我却像一个跑马拉松时感到疼痛的人,不是因为跑步的劳累,而是因为鞋子不合脚磨出的水泡。当我在YC处理一些紧急问题时,大约有60%的几率与HN有关,40%的几率与所有其他事情的总和有关。[17]
除了HN,我还用Arc编写了YC所有的内部软件。但是,尽管我继续大量使用Arc进行工作,我却逐渐停止了_开发_Arc,部分原因是我没有时间,部分原因是因为现在我们所有的基础设施都依赖于它,再修改这种语言就变得不那么吸引人了。所以现在我的三个项目减少到了两个:写随笔和在YC工作。
YC与我做过的其他工作不同。我不再是自己决定做什么,而是问题主动找上门来。每六个月就有一批新的初创公司,他们的问题,无论是什么,都成了我们的问题。这是一项非常吸引人的工作,因为他们的问题多种多样,而且优秀的创始人非常高效。如果你想在最短的时间内尽可能多地了解初创公司,你不可能选择更好的方式。
这份工作有些部分我不喜欢。比如联合创始人之间的纠纷,弄清楚什么时候有人对我们撒谎,与那些虐待初创公司的人斗争等等。但我即使在我不喜欢的部分也努力工作。我被Kevin Hale曾经说过的一句话所困扰:“没有人比老板工作更努力。”他这句话既是描述性的,也是规定性的,而正是后半部分让我感到害怕。我希望YC做得好,所以如果我的努力程度设定了其他人努力程度的上限,那我最好非常努力。
2010年的一天,罗伯特·莫里斯在加利福尼亚面试时,做了一件令人惊讶的事情:他主动给我提了建议。我只记得他之前只做过一次。在Viaweb工作时,有一天我因为肾结石疼得弯下了腰,他建议他带我去医院。那就是Rtm主动提供建议的唯一一次。所以我清楚地记得他的原话。“你知道,”他说,“你应该确保Y Combinator不是你做的最后一件酷事。”
当时我不明白他的意思,但渐渐地我意识到他是在说我应该辞职。这似乎是一个奇怪的建议,因为YC做得很好。但如果说有什么比Rtm提供建议更罕见,那就是Rtm错了。所以这让我开始思考。确实,按照我目前的轨迹,YC将是我做的最后一件事,因为它只会占据我越来越多的注意力。它已经吞噬了Arc,也正在吞噬随笔。要么YC是我毕生的事业,要么我最终必须离开。而它不是,所以我会的。
2012年夏天,我母亲中风了,原因竟然是结肠癌引起的血栓。中风破坏了她的平衡,她被送进了养老院,但她非常想离开那里回到自己的家,我和姐姐决心帮助她实现。我过去经常飞到俄勒冈州去看望她,在那些航班上我有很多时间思考。其中一次,我意识到我已经准备好把YC交给别人了。
我问Jessica是否想担任总裁,但她不想,所以我们决定尝试招募Sam Altman。我们和罗伯特、特雷弗谈了谈,并同意进行一次彻底的权力交接。在此之前,YC一直由我们四人最初成立的有限责任公司(LLC)控制。但我们希望YC能长久发展,为此它不能由创始人控制。所以如果Sam同意,我们就会让他重组YC。罗伯特和我将退休,Jessica和特雷弗将成为普通合伙人。
当我们问Sam是否想担任YC总裁时,他最初拒绝了。他想创办一家生产核反应堆的初创公司。但我坚持不懈,2013年10月他终于同意了。我们决定他将从2014年冬季批次开始接管。2013年剩下的时间里,我把YC的运营越来越多地交给了Sam,部分是为了让他学习这份工作,部分原因是我专注于我的母亲,她的癌症复发了。
她于2014年1月15日去世。我们知道这一天会到来,但当它真正发生时,仍然很难过。
我一直工作到三月,帮助那一批初创公司度过演示日(Demo Day),然后我就彻底退出了。(我仍然会和校友以及那些从事我感兴趣的新初创公司交流,但这每周只占用我几个小时。)
接下来我该做什么?Rtm的建议里没有提到这一点。我想做一些完全不同的事情,所以我决定去画画。我想看看如果我真正专注于它,我能达到多好的水平。所以在我停止YC工作的那天,我就开始画画了。我生疏了,花了一段时间才恢复状态,但至少它完全吸引了我。[18]
2014年剩下的时间里,我大部分时间都在画画。我以前从未能如此不间断地工作,而且我画得比以前更好了。虽然还不够好,但进步了。然后到了11月,就在一幅画的中间,我筋疲力尽了。在那之前,我总是好奇我正在画的画会变成什么样,但突然间完成这幅画似乎成了一件苦差事。所以我停止了工作,清洗了画笔,从那以后就再也没画过。至少目前是这样。
我意识到这听起来有点懦弱。但注意力是一个零和游戏。如果你可以选择做什么,而你选择了一个对你来说不是最好的(或者至少不是一个好)项目,那么它就会阻碍另一个更好的项目。而且到了50岁,瞎折腾也会有机会成本。
接下来的几个月里,我重新开始写随笔,写了很多新的。我甚至写了几篇不是关于初创公司的。然后,在2015年3月,我又开始研究Lisp了。
Lisp的独特之处在于,它的核心是一种通过自身编写解释器来定义的语言。它最初并非旨在作为一种普通意义上的编程语言。它旨在成为一种形式化的计算模型,是图灵机的替代品。如果你想用一种语言本身来编写它的解释器,你需要的最少预定义操作符集是什么?约翰·麦卡锡发明,或者更准确地说,是发现的Lisp,就是这个问题的答案。[19]
麦卡锡直到他的研究生Steve Russell提出建议,才意识到这种Lisp甚至可以用来编程计算机。Russell将麦卡锡的解释器翻译成了IBM 704机器语言,从那时起,Lisp也开始成为一种普通意义上的编程语言。但它作为计算模型起源的特性赋予了它其他语言无法比拟的力量和优雅。正是这一点在大学时吸引了我,尽管当时我不明白为什么。
麦卡锡1960年的Lisp除了解释Lisp表达式外什么也没做。它缺少编程语言中你想要的大量东西。所以这些必须被添加,而当它们被添加时,并没有使用麦卡锡最初的公理化方法来定义。这在当时是不可行的。麦卡锡通过手动模拟程序执行来测试他的解释器。但它已经接近了你可以用这种方式测试的解释器的极限——事实上,其中有一个麦卡锡忽略的bug。要测试一个更复杂的解释器,你必须运行它,而当时的计算机还不够强大。
然而现在它们可以了。现在你可以继续使用麦卡锡的公理化方法,直到你定义出一种完整的编程语言。而且,只要你对麦卡锡的Lisp所做的每一个改变都是一种保持“发现性”的转换,原则上你就可以得到一种具有这种特性的完整语言。当然,做起来比说起来难,但如果原则上可行,为什么不尝试呢?所以我决定试一试。这花了四年时间,从2015年3月26日到2019年10月12日。我很幸运有一个明确的目标,否则很难坚持这么久。
我用Arc编写了这个新的Lisp,名为Bel,它本身就是用Lisp编写的。这听起来可能有些矛盾,但这表明了我为了实现这一目标所必须采用的各种技巧。通过大量糟糕的技巧,我设法制作出了一个足够接近于用自身编写的解释器,并且它确实能够运行。速度不快,但足以进行测试。
在这段时间的大部分时间里,我不得不禁止自己写随笔,否则我永远也完成不了。2015年末,我花了3个月写随笔,当我回到Bel的工作时,我几乎无法理解代码。这与其说是因为代码写得不好,不如说是因为问题本身就错综复杂。当你正在处理一个用自身编写的解释器时,很难追踪各个层面发生了什么,而且当你遇到错误时,它们实际上可能已经被加密了。
所以我说,在Bel完成之前,不再写随笔。但我在开发Bel的时候,很少告诉别人。所以多年来,我可能看起来什么都没做,而实际上,我比以往任何时候都更努力地工作。偶尔在与某个可怕的bug搏斗数小时后,我会查看Twitter或HN,看到有人问:“保罗·格雷厄姆还在编程吗?”
开发Bel很辛苦,但令人满意。我投入了如此多的精力,以至于在任何时候,我脑海中都有一大块代码,并且可以在那里编写更多。我记得2015年一个阳光明媚的日子,我带着孩子们去海边,看着他们在潮汐池里玩耍时,我想出了如何处理一个涉及续延的问题。感觉我的人生走对了。我之所以记得,是因为我对这种新奇的感觉略感沮丧。好消息是,在接下来的几年里,我有了更多这样的时刻。
2016年夏天,我们搬到了英国。我们想让孩子们体验在另一个国家生活是什么样的,而且由于我出生就是英国公民,这似乎是显而易见的选择。我们原打算只待一年,但我们太喜欢那里了,所以我们至今仍住在那里。因此,Bel的大部分代码是在英国编写的。
2019年秋天,Bel终于完成了。像麦卡锡最初的Lisp一样,它是一个规范而非实现,尽管像麦卡锡的Lisp一样,它是一个以代码形式表达的规范。
现在我又可以写随笔了,我写了一堆关于我积压已久的话题。我整个2020年都在写随笔,但也开始思考我可以做些什么其他事情。我该如何选择做什么呢?嗯,我过去是如何选择做什么的呢?我为自己写了一篇随笔来回答这个问题,我惊讶地发现答案竟然如此漫长而混乱。如果这让我这个亲身经历者都感到惊讶,那么我想也许对其他人来说也会很有趣,并能鼓励那些生活同样混乱的人。所以我写了一个更详细的版本供他人阅读,这是它的最后一句话。
注释
[1] 我的经历跳过了计算机发展中的一个阶段:带有交互式操作系统的分时机器。我直接从批处理跳到了微型计算机,这让微型计算机显得更加令人兴奋。
[2] 意大利语中抽象概念的词汇几乎总是可以从其英语同源词中预测出来(除了偶尔像_polluzione_这样的陷阱)。不同的是日常词汇。所以如果你用几个简单的动词串联起许多抽象概念,一点点意大利语就能发挥很大作用。
[3] 我住在圣费利切广场4号,所以我去佛罗伦萨美术学院的路直接穿过老佛罗伦萨的中心:经过皮蒂宫,穿过桥,经过奥尔桑米凯莱教堂,在大教堂和洗礼堂之间,然后沿着里卡索利街上行到圣马可广场。我在街头看到了佛罗伦萨的各种面貌,从空旷漆黑的冬夜到游客挤满街道的酷热夏日。
[4] 当然,如果你愿意,并且模特也愿意,你可以像画静物一样画人物。那种肖像画可以说是静物画的巅峰,尽管长时间的坐姿确实会使模特露出痛苦的表情。
[5] Interleaf是众多拥有聪明人才并构建了令人印象深刻的技术,却被摩尔定律碾压的公司之一。在1990年代,商品(即英特尔)处理器能力的指数级增长,像推土机一样卷走了高端、专用硬件和软件公司。
[6] 罗德岛设计学院那些追求标志性风格的人并非特别唯利是图。在艺术界,金钱和酷感紧密相连。任何昂贵的东西都会被视为酷,而任何被视为酷的东西很快也会变得同样昂贵。
[7] 严格来说,这套公寓并非租金管制,而是租金稳定,但这只是纽约人才会知道或关心的一个细微差别。重点是它真的很便宜,不到市场价格的一半。
[8] 大多数软件一完成就可以发布。但当软件是在线商店构建器并且你托管这些商店时,如果你还没有任何用户,这个事实会非常明显地暴露出来。所以在我们公开上线之前,我们必须私下上线,这意味着招募一批初始用户并确保他们拥有看起来不错的商店。
[9] 我们在Viaweb中有一个代码编辑器,供用户定义自己的页面样式。他们不知道,但他们在底层编辑的是Lisp表达式。但这并不是一个应用编辑器,因为代码是在商家网站生成时运行的,而不是在购物者访问时运行的。
[10] 这是现在司空见惯的经历的第一次,接下来发生的事情也是如此,当我阅读评论时,发现里面充满了愤怒的人。我怎么能声称Lisp比其他语言更好?它们不都是图灵完备的吗?看到我对随笔的回复的人有时会告诉我他们为我感到多么遗憾,但我回复说从一开始就一直是这样,这绝不是夸张。这是这个领域固有的。一篇随笔必须告诉读者他们不知道的事情,而有些人不喜欢被告知这些事情。
[11] 当然,人们在90年代在互联网上放了很多东西,但把东西放到网上和在线发布它不是一回事。在线发布意味着你将在线版本视为(或至少是)主要版本。
[12] 这里有一个普遍的教训,我们在Y Combinator的经验也印证了这一点:即使导致限制的条件已经消失很久,习俗仍然会继续束缚你。传统的风险投资实践,就像关于发表随笔的习俗一样,曾经是基于真实的限制。初创公司曾经启动成本高昂,因此也相对稀少。现在它们可以变得廉价而普遍,但风险投资人的习俗仍然反映着旧世界,就像关于写随笔的习俗仍然反映着印刷时代的限制一样。
这反过来意味着,那些独立思考的人(即较少受习俗影响的人)将在受快速变化影响的领域(习俗更有可能过时)中拥有优势。
然而,这里有一个有趣的观点:你不能总是预测哪些领域会受到快速变化的影响。显然软件和风险投资会受到影响,但谁能预测到随笔写作也会受到影响呢?
[13] Y Combinator并非最初的名字。起初我们叫Cambridge Seed。但我们不想要一个地域性的名字,以防有人在硅谷模仿我们,所以我们以Lambda演算中最酷的技巧之一——Y组合子——重新命名了自己。
我选择橙色作为我们的颜色,部分原因是因为它是最温暖的颜色,部分原因是因为没有风险投资公司使用它。2005年,所有风险投资公司都使用像栗色、海军蓝和森林绿这样沉稳的颜色,因为他们试图吸引有限合伙人(LPs),而不是创始人。YC的标志本身是一个内部笑话:Viaweb的标志是红色圆圈上的白色V,所以我把YC的标志做成了橙色方块上的白色Y。
[14] YC在2009年开始确实有几年变成了基金,因为它变得太大了,我个人无法再负担得起。但在Heroku被收购后,我们有足够的钱重新回到自筹资金的状态。
[15] 我从来不喜欢“交易流”这个词,因为它暗示在任何给定时间,新初创公司的数量是固定的。这不仅是错误的,而且YC的目的就是通过促使那些原本不会存在的初创公司成立来证伪这一点。
[16] 她说那些空调形状和大小各异,因为当时空调被抢购一空,她只能买到什么就买什么,但现在它们都比她能搬动的重。
[17] HN的另一个问题是一个奇怪的边缘情况,当你既写随笔又运营论坛时就会发生。当你运营一个论坛时,人们会认为你至少会看到所有与你相关的对话,如果不是所有对话的话。而当你写随笔时,人们会在论坛上发布对它们高度富有想象力的误解。单独来看,这两种现象都很乏味但可以忍受,但结合起来就灾难了。你实际上必须回应这些误解,因为人们认为你参与了对话,这意味着对任何获得足够多赞的误解不予回应,都会被解读为默认其正确。但这反过来又会鼓励更多人;任何想和你吵架的人都会觉得现在是他们的机会。
[18] 离开YC最糟糕的事情是不能再和Jessica一起工作了。我们认识以来几乎一直在YC工作,而且我们既没有尝试也不想把它和我们的个人生活分开,所以离开就像拔掉一棵根深蒂固的树。
[19] 要更精确地理解“发明”与“发现”的概念,一种方法是谈论外星文明。例如,任何足够先进的外星文明肯定会知道勾股定理。我相信,尽管不那么确定,他们也会知道麦卡锡1960年论文中的Lisp。
但如果真是这样,就没有理由认为这就是他们可能知道的语言的极限。想必外星人也需要数字、错误和输入/输出。所以,似乎很可能存在至少一条从麦卡锡Lisp出发的路径,沿着这条路径,“发现性”得以保留。
感谢 Trevor Blackwell、John Collison、Patrick Collison、Daniel Gackle、Ralph Hazell、Jessica Livingston、Robert Morris和Harj Taggar阅读了本文草稿。