Actions

Work Header

Rating:
Archive Warning:
Category:
Fandom:
Relationship:
Additional Tags:
Language:
中文-普通话 國語
Stats:
Published:
2020-06-10
Words:
10,871
Chapters:
1/1
Comments:
5
Kudos:
15
Bookmarks:
3
Hits:
419

[中文翻译] SYN/ACK

Summary:

在Eduardo和他之间有一些差异,Mark不认为他们能真正解决,也不认为他们能够克服。这是一个关于丢包(Packet Loss)的爱情故事。

Notes:

如果不是为了在鼓励之余还承担了beta责任的zulu,我不确定我是否会把这个故事发出来。

(译者注释:本文涉及部分计算机科学知识,包括标题。作者为此写了一份非常有趣的DVD Commentary,在Commentary最后还稍微写了几个很甜的后续,建议看完这篇后再阅读,DVD Commentary地址请见结尾注释。但不具备相关知识的朋友也完全可以阅读本文,虽然在理解那些知识的前提下,或许可以对本文有更深的共鸣。因为关于技术性内容在DVD Commentary里已经解释得很详细了,所以译者不会再添加注释。一如既往,感谢美丽的Asinarc对我的精神支持以及慷慨承担了校对工作。)

(See the end of the work for more notes.)

Work Text:

Mark一直很爱他的系统课,他爱学习操作系统是如何从里到外被构建的。他爱这一切,真的,爱着虚拟内存、调度器和文件系统,但真正吸引他注意力的是网络协议栈。

 

从硬件层到应用层,有许多与它有关联的部分,且所有这些部件必须一起合作,与硬件一起,与通过路由器、交换机和服务器组成的整个生态系统一起。Mark花了很多时间思考它是什么样子,他花了很多时间去建造种种事物,拼接互联网的各种构件,试图创造出一个能让所有人聚到一起的造物,让世界在同一时刻既变得更小又变得更大。他很年轻,但刚好能够记得互联网诞生之前的时代。他看到了互联网如何改变一切。

 

早期,当他们只有几百个用户时,Dustin出于无聊为整个网站做了一张图表。在完成了渲染过程之后,图变得很大很复杂。从远处看,它就是一团乱麻,小小的蓝点代表着人,复杂的线条代表友谊关系。Mark用手指跟踪着图片上人与人之间的关联,就这样盯着它看了整整一小时。这几乎就像他能触摸到无形的社会纽带,正是这些纽带把人群联系在一起,整个世界被转化为具体的、可以被记录下来并储存在电脑里的东西。当Eduardo发现他盯着这张图的时候,坚持要拉他去吃饭,但那张thefacebook的图片,那张关系网,那个在Mark的帮助下被创造出来的东西,在他的脑海里徘徊了好几天。

 

 


 

“搞什么鬼,”当Eduardo发现Mark睡着了,口水都流到了键盘上,周围全是土豆片碎屑、金枪鱼罐头和半空的激浪汽水瓶时,他说:“这真是太恶心了。”

 

Eduardo的脸因为惊恐和难以置信而拧成一团,仿佛看见了Mark决定把小猫咪献祭给桌上的电脑之神,或类似的诡异事件。Mark坐了起来,揉了揉眼睛,又嗅了一下自己的衬衫,想知道它是不是太难闻,那样的话今天就不能再穿了。结果似乎还可以。他检查了金枪鱼罐头和激浪汽水瓶,确认里面没有发霉。至少他没看见任何霉菌。“滚开,Wardo。”Mark说。尽管Eduardo把空闲时间都花在了一群程序员身上,但每当Mark表现得像个程序员时,Eduardo还是会感到震惊。如果Eduardo认为Mark现在浑身发臭,那么Eduardo就绝对不会踏进任何一个计算机实验室,哪怕是在实验室里的味道没平时那么糟糕的日子里。

 

Eduardo翻了个白眼。他穿着他最厚的一件羊毛大衣,这可能意味着外面的天气很冷,也可能意味着还是四十多华氏度[1]。四十华氏度对于Mark来说仍然属于“穿人字拖且不穿袜子”的天气。Mark窗外的天空是浅灰色,从门缝底下溜进来的空气既暖和又带着厚重的湿气。“我真的难以相信你会得到一份允许你经常变得这么恶心的工作。”Eduardo说道。

 

光标在Mark先前仍有意识时写的最后一行代码旁闪烁着,那是一个Javascript库里的某个片段,作用是整合所有目前分散在网站各个部分的Javascript代码。Mark上下滚动了一下屏幕,确保自己还记得项目进行到了哪里。正当他准备再次开始时,他听到床的弹簧在吱吱作响。Eduardo已经坐到了Mark的床上,面前摊开着关于投资和博弈论的课本,就放在Mark的枕头上,打开的笔记本里写满了整齐的方程式。Mark对Eduardo扬起一边的眉毛。

 

“噢,快去写你的代码吧。”Eduardo边说着边试图找到一个舒适的姿势,他把双腿盘起来,笔记本稳稳地平衡在膝盖上。“还有,你知道你总得找时间去洗个澡,对吧?”他说这话的时候在笑,然而他的表情中还有一些Mark看不明白的东西,且那些东西的出现似乎并不是因为这么多天来Mark已经变得油亮的头发,而是其他事物。

 

Mark转回身面对着电脑(Mark turns back to his computer),将手指放到Home键上,立刻重新潜心研究起代码来,他想把一些Dustin写出的潦草的函数重构成真正有意义的代码。这种时候Mark通常会戴上降噪耳机,放一些电子音乐,有节奏感的音乐,以保持思维的稳定。但今天他的房间里很安静,并且Eduardo也在这里。Eduardo的额头因为思考而拧起来,Eduardo的手指在大腿上敲打着不规律的节奏,唇角隐约的微笑迟迟没有褪去。Mark转头回到他的代码里(Mark turns back to his code)。

 

他们就这样度过了几个小时,然后Eduardo要去开个会或上课什么的。他把邮差包斜着挂在肩膀上,愉快地挥了挥手便离开了。Mark则继续工作。几分钟后,他需要戴上耳机。

 

 


 

自从Mark在十二岁用Atari BASIC写出第一个“Hello, world!”时,人们就一直告诉他,他将成为下一个Bill Gates。他从来不觉得这是什么大事,这只是人们在不理解Mark所做的事情时会说的话。懂电脑的人成千上万,但他们并不都成为了百万富翁。Bill Gates彻底改变了人们使用电脑的方式,但那多半是因为运气。是因为在正确的时间,正确的地点,做出了聪明的行为。

 

Mark已经成功地在正确的时间、正确的地点做出了聪明的行为。但他依然不在乎那些认为他会成为下一个Bill Gates的人说了什么。

 

人们认为成为Bill Gates是为了钱,但并不是;从来都不是。就算不会得到任何金钱,就算程序员不是一个值得尊敬的职业,Mark也会继续编程。Mark永远不会忘记在编程的过程中由内而外的快感,敲代码,敲代码,理解如何把它们组合到一起才能发挥作用,理解如何写出漂亮的程序。偶尔,他也会想,如果他找了其他朝九晚五的工作,做一些愚蠢又无聊、被企业里的各种废话包围之类的事情,会是什么样子,他知道即使那样,周末他还是会在电脑前,为Linux内核、MySQL或Apache写补丁,或者做自己的事,迫切地想找回编程中的快乐。

 

 


 

“Dijkstra?”Dustin对着天空大喊,他的声音在车流中传递着,“我几乎要不认识你啦!”

 

Eduardo被Dustin逗得大笑,即使他可能没有理解其中的笑点,他的头往后仰,眼睛很亮。Eduardo擅长这类事情,微笑,感到快乐。Mark就不擅长那种特殊的狗屁。他一直很讨厌拍全家福,因为他讨厌假装开心,几乎就像他讨厌必须站在原地一动不动只因为别人要求他这么做一样。Eduardo朝Mark投去一个眼神,一个更小的、更隐秘的微笑,Mark不得不回以一个几乎看不出来的笑容,即使Mark不明白为什么要这么做。现在是仲春时节,剑桥街头残留的雪已经融化了一半,这令他感到厌恶,所有棕色和黄色都混在白色中,堆成一个个畸形的块状物。所有驶过它们的汽车都沾满了盐渍。空气中弥漫着冰冷、湿润、极其令人不快的味道,就像把泥土和腐烂的蔬菜混合在一起。风在建筑物之间呼啸而过。Mark把连帽衫的领口拽得更紧了一些,他觉得很荒谬,竟然有人会享受季节性的天气。

 

Dustin在他们穿过马萨诸塞大道时不小心踩到了一滩半融化的雪,水浸湿了他的鞋袜和牛仔裤底边。“靠,”他说,“我们肯定要去加州,对吧,Mark?”他做了个鬼脸,开始微微一瘸一拐地走路,好像这样就能让他的裤子干得更快似的。

 

“是啊,”Mark说。硅谷仍然是程序员、年轻的创业公司和成熟企业的圣地。Mark知道他们需要去那里。那里有全天的编程狂欢和天使投资人,还有阳光灿烂的天气,以及Mark可能想要的一切。Sean也会在那里。“这就是现在的计划。”

 

Eduardo的笑容开始变得僵硬而不自在,Mark之前看到的那种光亮在他的脸上黯淡了下来。Mark不知道这是否是他被期待讲一些关于纳什均衡或帕累托最优的笑话好让Eduardo高兴起来的暗示,但当Mark试着变得幽默时,Eduardo从未真正笑过。Eduardo说:“好好享受吧,你们不在的时候我会在海岸这边玩得很开心。”[2]他看起来不像是真心地说出这些话,但他还是把胳膊搭在Dustin的肩膀上,同时拍了拍Mark的后背,结实的一拍,让Mark觉得胸口很沉。

 

“你可以——”Mark开始说。尽管Mark非常需要一个只有Facebook的夏天,让他能深陷在PHP里,唯有酒精和游泳池能分散他的注意力,但在那里没有Eduardo支持着他们似乎就很奇怪。Eduardo不会真正参与他们的编程讨论,但他会总是忽隐忽现,目光越过Chris的肩膀偷看发生了什么事,或者烦扰Dustin去做任何Christy想要添加到网站上的白痴功能,或者问Mark他们是否需要更多的服务器。

 

没有他在那里就不一样了。

 

“我不能,”Eduardo说。他正搓着双手,因为他忘了戴手套,同时盯着街对面的CVS[3],而不是和Mark的眼睛对视。“你知道,实习,我的父亲......”

 

“对,”Mark说,“当然。”

 

 


 

在Eduardo和他之间有一些差异,Mark不认为他们能真正解决,也不认为他们能够克服。Eduardo知道如何靠一个漂亮的算法来转移成吨的金钱,但他永远不会明白仅凭手指头建立整个世界——整个该死的星系——是什么感觉。

 

 


 

在中央广场[4]附近某人的房子里有一个派对,是Chris的朋友的朋友之类的人举办的。Mark不知道所有细节,但这并不重要,因为当他们踏进屋里时,人们还是会欢呼,就像大家都是好朋友一样。这栋房子看起来和新英格兰其他所有校外的房子没什么不同,又老又大,木制,内部被分割成一间间小公寓,提供给大学学生。几盏灯把房间照成了柔和的橘色,音乐——一些收音机里经常播放的嘻哈音乐,但Mark并不能准确地认出是哪一首——音量大到让Mark的耳膜不舒服地抽搐。有人把一个装满液体的红色塑料杯塞到Mark手里,闻起来像啤酒,于是他一口气把那液体喝了下去,只是因为他能够这么做。

 

“你在做什么?”Eduardo喊道。他又露出那种震惊的表情了,瞪着眼睛,张开嘴巴,一脸难以置信。

 

Mark只是耸了耸肩,因为他不想在噪音中大喊大叫。他们是来找乐子的,而Mark只是提前开始了。Chris坚持让他们参加派对之前不要喝酒,现在他们需要弥补那些没有酒精陪伴的时间。

 

Eduardo翻了个白眼。

 

当他们向主客厅走去时,派对正如火如荼地进行着,这恰恰说明有时候迟到确实是有好处的。Mark并不认识周围大多数人,不过倒是认出了几个计算机专业的学生。其中的大部分女生既不够性感也不够放荡,Mark懒得搭理她们,而且很多人可能还在为Facemash那件事耿耿于怀。无所谓。Mark不需要笨拙地去搭讪女孩也能玩得很开心。他可以自己喝一些免费的酒作为替代。

 

派对开始一个小时后,Mark已经喝的酩酊大醉,足以让他在厨房里和Angela Chen就使用PHP和Perl开发网站的优劣比较进行激烈的——可能也有点口齿不清的——讨论。当然她真的是搞错了所有事情,当Mark正在解释CGI脚本的典型权限方案是多么没用时,Eduardo走到Mark身后,搂住了Mark的脖子。

 

“你应该开心才对。”Eduardo大声地说,考虑到Mark的耳朵就在那里,Eduardo的声音比他需要的更大。Eduardo搂着他的力道还没有达到Mark需要担心气管的程度,但已经很接近了。Angela对Mark明显的不适露出了一个幸灾乐祸的笑。天啊,他太讨厌她了。如果说在这所该死的大学里有一个人在与计算机有关的事情上比Mark更傲慢,那一定是她。特别是她至少有80%的时间是对的,这就更让Mark恼火了。

 

Eduardo眼下一定是彻底醉了,因为他喝醉了就会这样,搂着别人亲热,毛手毛脚的。他的呼吸贴着Mark的耳朵,很温暖。Mark拉开他们的距离,直到他自己刚好可以转过身来,刚好可以看到Eduardo醉醺醺的微笑。Mark说:“我很开心。”

 

“不是你那种Zuckerberg式开心(Not you-fun),”Eduardo说,“是那种真正人类式开心(real-people-fun)。”他拍了拍Mark的头,Mark则推开他的手。Eduardo喝醉后总是会变得更粗鲁一些。Dustin喜欢开玩笑说他变得更像Mark。Mark喜欢告诉Dustin闭上你那该死的嘴。Eduardo在喝醉时也不会理解暗示,所以他向前倾,过度补偿了Mark在他们之间拉开的距离,最后他倒在Mark的肩膀上。他的嘴唇与Mark的连帽衫布料相贴。他还在傻笑。Mark伸手搂住他的后背,好让他保持直立。

 

Mark懒得解释为什么他对“真正人类式开心(real-people-fun)”不感兴趣,因为Eduardo通常在没喝醉的时候就能很好地理解这个概念。没必要重复观点。Mark今晚已经学到了与喝醉的人争论的教训。Angela已经消失了,可能又到客厅里去了。Mark并没有太在意,只是现在他不再有机会把她的每一个论点都碾成灰。

 

Eduardo朝着Angela空出的位置眨了几下眼睛,他的额头因为思考而皱了起来。“哦,对不起,”他说,“我不是——”

 

Mark轻蔑地哼了一声,打断了Eduardo的道歉。“就算有钱赚我也不会和她上床。”他说。他用一种半引领、半拖拽的方式带着Eduardo走出厨房,走向客厅里一个类似于沙发座位的东西。Eduardo比Mark高,Mark的肩膀感到很沉,并且Mark整天坐在电脑前,背部问题已经够多了。他们找到的座位其实只适合一个人坐,但Mark和Eduardo是朋友,而且他们都挺瘦的,所以他们两人都坐了下来。

 

当他们坐好之后,Eduardo对Mark笑了笑,他还是那么坦率和开心,酒精让他放松下来。他们的身体从肩膀到臀部都在贴在一起。

 

 


 

一开始,Mark去找Eduardo是因为Eduardo是个从出生起就被训练如何处理金钱这种狗屎东西的人。Mark从遇见Eduardo的第一天起就知道了,当时Eduardo整理了一下他那件昂贵又高档的衬衫的袖口,提到他要专攻经济学。很明显,即便在当时,Eduardo基本上就已经被人类已知的所有MBA项目预录取了。Mark确信沃顿商学院已经完成了红毯的除尘工作。写论文和申请表格这种事情对于Eduardo这样的人来说只是一种形式,甚至Eduardo自己都知道这一点。

 

不过,Mark之所以喜欢他,之所以信任他,是因为很明显的——与Mark认识的大多数经济学专业的学生不同——Eduardo并没有愚蠢到搞不懂计算机科学的程度。他懂得算法,他对解决问题也很有一套,他把Stata、SAS、SPSS和R语言当早餐吃。他本可以学会做Mark所做的事,如果他愿意的话。

 

但这从来都不可能,因为Eduardo绝不会自降身份去做工程师这种平淡的、痛苦的、中产阶级的工作。他总是被期望走得更高更远。他应该被凤凰俱乐部邀请加入,他应该进商学院,他应该让他的父亲感到骄傲。

 

但在这个过程中的某个时刻,他决定和几个程序员做朋友,和Mark做朋友,Mark觉得自己从来都不明白为什么。他认为自己永远也不会明白。

 

 


 

Eduardo在去纽约实习之前来过一次Palo Alto。那时Mark、Dustin和Chris以及他们的实习生还在搬进房子的过程中,这个夏天已经像是会永远持续下去,像是会持续一辈子。Mark从那时起就已经爱上了加州,爱上了干燥又晴朗的日子,爱上了宽阔的空间,爱上了他可以想盯着电脑屏幕多久就多久而不需要去上课。相比之下,波士顿又小又潮湿,而且太冷了(或者夏天太热)。波士顿是古老的,它从骨子里就带着那份古老,那种古老感染着城市里的一切。而加州,硅谷,是现在整个该死的世界上最适合建立一个创业公司的地方。Mark知道这一点。Mark能在通宵编程狂欢过后的黎明曙光里感受到这一点。每当他们在酒吧或俱乐部遇到更多在Google、Sun或者Amazon工作的人,并且那些人理解Mark在做的事,认为它很有趣、很酷时,Mark都会意识到这一点。

 

当Eduardo要来的时候,屋子里仍然堆满了拆到一半的箱子。其中大部分位于厨房,因为没有人使用它,除非有人需要用微波炉加热Hot Pockets[5]或剩下的外卖。他们还清理出了一条通往冰箱的路,因为冰箱是放啤酒的地方。虽然Chris有时会用他们全新的咖啡机煮咖啡,但咖啡机已经被搬到了放着电脑的客厅,反正苏打水和红牛是更方便的咖啡因来源。

 

Mark从肯尼迪机场接到了因为时差而眼睛通红的Eduardo。此时Mark一半的思绪还在代码上(他需要对一些输入进行消毒,还有一些令人讨厌的边缘情况,他认为他刚刚写的SQL查询可能会返回比他们所需要的更多的数据,而且——),所以当Eduardo描述他在纽约的公寓时,Mark并没有很注意听。

 

“公寓的一侧有一面砖墙,上面有非常棒的景色。”Eudardo说,“你有时间一定要过来看看。”他说这话时,就好像Mark可以被拖离Facebook一天以上,好像Mark会允许自己离开Facebook一天以上。

 

“听起来不错。”Mark说。他将公司的车(为了这个夏天从Dustin的父母那里借来的)开下高速公路。

 

“有一次,我在地铁上,这个流浪汉走过来对我说——”Eduardo的声音渐渐变小。他盯着Mark的脸。Mark想知道他在那里看到了什么。Eduardo说:“你根本没有在听我说话,对吗?”

 

“Christy怎么样了?”Mark问道,因为Eduardo问了一个愚蠢的问题,他不想回答。

 

Eduardo耸了耸肩。“Christy很好。”Mark永远不会去纽约,除了没有任何空闲时间这个原因之外,在Eduardo和Christy身边做电灯泡是Mark觉得最没意思的事。这并不是说Eduardo和Christy的关系还处于只是亲亲脸蛋的阶段——他们不是。而是Mark一直都不太明白该如何和她说话,甚至比面对大多数女孩,甚至比面对Eduardo的大多数女友时还要不明白。她总是带着一种隐隐的怨恨看着Mark,好像Mark是她宏大浪漫中的某个插足者。大多数时候Mark只想对她笑笑然后叫她滚蛋。

 

当他们把车停在车道上时,睡眼惺忪的Chris出来迎接了他们。看到他,Mark意识到自己也有二十个小时没睡了,困意的重量开始压在Mark身上。夜晚凉爽的空气拂过Mark的脸。他们面前的草坪上有晨露。Mark关上身后的车门,走进屋里。在那之后的某个时刻,他设法爬上床睡着了,但他并不记得是怎么发生的。

 

直到后来,当他再次醒来的时候,他才意识到,他从来没有提出要帮助Eduardo安顿下来。Mark知道Eduardo应该已经安顿好了,因为Eduardo是他的朋友。另一方面,Eduardo也不是白痴,他可能自己就能找到沙发。现在是下午——Mark的手表显示下午一点——阳光透过窗户,伴随着水花飞溅的声音。当Mark从房间往外看时,他可以看到楼下的游泳池,他看见Eduardo正在游泳。Eduardo一定还在东岸时间。Mark和其他人自从搬到这里之后,就变成了基本在夜间活动的人。

 

Mark走出去时,Eduardo正在从泳池里出来。水从他的脸上、头发上滴下。他穿的游泳裤紧紧贴在他的大腿上。他在阳光下显得更加黝黑、光彩照人、闪闪发亮。Mark在来加州的第一个星期被严重晒伤之后,就变黑了大概一个色号。从那时起他决定无论如何他更喜欢待在室内。当Mark走过来时,Eduardo对Mark笑了笑,他仍然因为运动而脸色红润,显得很高兴。Mark用脚把拖鞋脱掉,坐到池边,让双脚悬在水里。外面的天气很热,太阳还高高地挂在天空中,但泳池的水很凉、很舒服,让人放松。Eduardo用毛巾擦了擦脸。

 

“这地方很棒,不是吗?”Mark问道。

 

Eduardo把头偏向一边。“是的,我相信这个夏天一定会很棒。”

 

Mark感到一个微笑正在牵动着他的嘴唇。“一定会他妈的棒极了。”他说。在这个时刻,这已经是事实了。“你应该留下来。”Mark可以从这里看到未来,从他们此时此刻的位置。未来延伸到无限远处,延伸到眼睛能看到的最远的地方。Mark希望Eduardo也能看到这些。他不确定Eduardo是否能做到。

 

Eduardo摇了摇头。“对不起,我不能。”Mark并不期待他的回答会有不同。毕竟,Eduardo的头脑、心脏和昼夜节律显然已经回到了纽约。

 

Mark眨了眨眼,转过头去。“是啊。”他只说了这一个词,因为他能听到所有Eduardo没有说出口的事。

 

 


 

Mark一点儿也不后悔,真的不后悔。是的,他后悔事情发展到这个地步,但他不后悔他最后做出的选择。甚至不后悔一开始的选择。他不后悔去找Eduardo要启动资金,也不后悔稀释Eduardo的股份。

 

Eduardo曾经把Facebook看成一个学生项目,一个通往更好前景的垫脚石,是他那该死的简历上的一行字,是他需要去咨询公司、投资银行、或者随便哪个他正在实习的地方面试时的一个很好的扯淡故事。他以为Facebook会在几年内就被淡忘,就像CourseMatch和Facemash。他以为把Mark当作朋友而不是商业伙伴更有意义,这在给Mark举办生日派对或者对Mark的头发品头论足时都没问题,但当他在Facebook的财务上搞得一团糟时就不行了。

 

这真的很讽刺,Eduardo总是比Mark更擅长人际交往,但他从来都不了解Facebook,不了解使用Facebook的人,也不了解为什么Mark如此在乎它。Eduardo是要被培养成“贵族(old money)”的人,那样的人只懂得如何取悦头发灰白的中层管理,如何控制股票交易所的资金流向。Eduardo从来没有费心去了解任何关于互联网的事,或关于硅谷的事,或者关于创业公司和程序员的事,因为他认为除了Mark、Dustin和Chris之外,他永远不会和那类人打交道。操,不,Mark一点都不后悔自己的所作所为。

 

(但他确实有点后悔,只有一点点,因为Eduardo最后一天在Facebook办公室里的表情,背叛、愤怒和恐惧写在他的唇边、额头的皱纹和眼睛的深褐色里。Mark后悔自己在可以阻止Sean的时候没有阻止他。Mark后悔最后不得不在Facebook和友谊以及其他一切之间做出选择。)

 

(Mark也有点后悔在Eduardo砸毁他的笔记本电脑之前没有提交任何代码,但事后重写代码很容易,他可能确实罪有应得,只有一点点。)

 

 


 

庭外取证的最后一天,Mark设法在午休时把Eduardo堵在了卫生间里,尽管他们的律师都竭力让他们不要碰到一起。这是一栋崭新的大楼,盥洗室里的一切都在闪闪发亮,到处都是白色的瓷砖和不锈钢。Mark进来的时候,Eduardo正在洗脸,擦拭着他的额头、脖子和眼袋。

 

“你他妈的在这里干什么,Mark?”Eduardo带着怒气低声说道,他看着Mark映在镜子里的眼睛。他的言语里没有尽可能多的厌恶。他听起来和Mark一样疲惫。从体型上看,他们和大学时代相比没有多少变化。Eduardo看起来和Mark记忆中一模一样。也许头发有些不同。Mark永远也记不清Eduardo头发的各种变化。

 

“我想知道你为什么这么做。”Mark说。他把双手塞进口袋里,因为不知道还能放在哪儿。这栋楼很大,有很多的员工,但没有一个员工在卫生间里,这里的空间给人感觉大到只能容纳两个人。Mark说话时,声音在卫生间里回荡。他觉得如果他们在这里,在没有调解的情况下私自进行交谈,他们的律师一定会很生气。并不是说Mark会在意律师生不生气。也并不是说Mark讨厌律师本身。律师非常有用。只是Mark对律师的评价只比那些对去了布朗这种三流大学自鸣得意的人、那些相信vim比emacs更优秀的人、以及那些还在使用COBOL的人略高一点。

 

Eduardo对Mark的话嗤之以鼻。“我以为这很明显了,考虑到我们刚刚花了一整天的时间来讨论这个话题。”他把肥皂挤到手上,在水龙头下快速地搓动。他的脸上是Mark无法完全解析的混乱情绪。他拒绝与Mark的眼睛对视。

 

“是的,”Mark说,“但我不认为只是因为Facebook。”他不像他认识的一些书呆子那样会因为焦躁而产生奇怪的举止,但他此时想跺一跺脚或跳一跳,或者把手指卷进他眼下并没有背着的背包的带子里。

 

Eduardo关上水龙头,给自己扯下了超出需要的纸巾数量。他的表情已经变成了某种愤怒、冷硬而尖锐的东西。“你为什么这么说?”Eduardo问道。他沉稳地瞪着Mark,眼睛眨也不眨一下。Eduardo在大学期间对Mark的愤怒往往来得快去得也快,一阵快速的爆发之后几乎立刻就消失了。但现在,他们的每一次谈话都有一种低调、不变的底色。Mark不知道它是否会消失。

 

Mark耸耸肩。“你刚才说的,关于你是我唯一的——”

 

Eduardo的脸因惊讶而扭曲,眼睛张得大大的,嘴边是一个平淡的痛苦表情。Mark知道,他已经成功地把这件事搞砸了,但他不知道是什么原因导致的。他甚至没来得及说出一句完整的话。“反正你也听不懂。”Eduardo说,“滚开,好吗?”他推开Mark,走出卫生间,并重重地把门摔上。

 

 


 

有趣的是,Eduardo说“那顿晚餐后,他就拥有了Mark”的方式,就好像Mark当时就决定要搞垮Eduardo,要把Eduardo踢出公司一样。

 

Sean在那顿晚餐中并没有拥有Mark,但他明白Facebook是什么,以及Facebook能成为什么。他说:“你不想用广告毁了它,因为广告不酷。”他还说:“你甚至不知道它是什么,它能变得多大,它能走多远。”

 

然后Mark想——整周以来第一次——是的,就是这样。是的。

 

 


 

大一学年过半的时候,Mark发现他在喝醉时编程水平会高很多。脑袋里的模糊感让他更容易与代码产生共鸣,就像他在拆掉一堵他与代码之间的墙。所有其他令人分心的事情似乎都消失了。

 

“不,”Eduardo在整个Facemash事件发生前一周说道,就在Mark向他解释了这个理论之后。“要我说,这就是胡说八道,这不是人类能做到的。”他摇头大笑,就像Mark讲了一个他听过的最有趣的笑话。

 

Mark翻了个白眼。“我的成绩可不这么说。”

 

但Eduardo还是不相信,这就是他们最终在Mark的房间里一起喝醉的原因,当时Mark只有一个晚上——八个小时,真的——为他的图形学课写一个光线跟踪程序。

 

“真的,”Eduardo说。他的胳膊搭在Mark的肩膀上,当他的目光越过Mark的脑袋,眯着眼睛看Mark的代码时,他整个人向前压在了Mark的后背上。“看着真的很神奇,就像在看油漆干燥的过程或牛群吃草之类的。而且你的打字速度真快,我很惊讶你居然没有腕管综合征。你确定这能编译吗?”

 

Mark狠狠地咬了一口他的Twizzler,从啤酒瓶里喝了一口酒——由Eduardo慷慨捐赠的Harpoon IPA[6]。味道混得不太对,但也是吸引力的一部分。“你不是有一些计量经济学习题还是其他什么要做吗?”

 

“不,我更乐意站在这里看这个。这次不会是彩色像素的随机分布吧?因为你上次测试的时候,可真的让人失望了。”

 

“闭上你的嘴。”Mark说。

 

Mark又花了一个小时才把最简单的测试图像正常渲染出来,然后又花了半个小时才弄明白为什么有些图像的反光如此糟糕。这时Eduardo正在Mark的床上打盹,但他在Mark上交完作业并用力合上笔记本之后醒来了。已经很晚了,晚到Mark试图弄清楚离天亮还有几个小时,以及他是否想要看日出。他看过的次数够多了,日出已经失去了吸引力。

 

“做完了吗?”Eduardo问道,他的声音还有些含糊不清。他揉了揉眼睛,这么做让他看起来也就五岁左右。一个醉醺醺的五岁孩子,但依旧是个五岁的孩子。

 

“做完了。”Mark说。他伸了伸胳膊,让肩膀舒展开来。

 

Eduardo笑了,他从迷你冰箱里抓出一瓶啤酒,借助Mark桌子的边缘打开瓶盖。“恭喜。”他说,把啤酒递过去。

 

Mark一言不发地接受了这瓶酒,让自己今晚第一次瘫在椅子上。Eduardo为自己开了一瓶新的啤酒,深深地喝了一口,他的头向后仰,Mark可以看到他脖子的线条,看到他在吞咽时喉结的移动。“真是太美了。”Eduardo说,因为他喝醉时在大脑和嘴巴之间没有任何真正的过滤器。他抓住Mark的手臂捏了一下。他的手指有些凉,刚刚接触过酒瓶的那部分手掌有点湿。

 

“你连最后的渲染图都没看到。”Mark说。不需要任何刻意的努力,他的眼皮就开始耷拉下来。既然他又回到了自己的脑袋而不是代码里,酒精就开始宣告它的存在了。他考虑把Eduardo推到一边,这样自己就可以在早上上课之前睡上一觉。Eduardo可能不会介意,因为他有他自己愚蠢的早课要上,而且Mark十分确定Eduardo还没有到恐同的程度,不会因为和Mark睡在一张床上而被吓坏。Mark对此也不是特别忌讳。

 

“我没必要看到。”Eduardo说。他躺到Mark的床上,伸展开四肢,他的啤酒瓶被忘在了Mark的桌子上。Mark用手肘把他往里推了推,也挤到床上,拉回来一部分毯子,准备睡觉。

 

Eduardo吻了他。他们的身体以笨拙的角度弯曲着,以便这张床能容纳两个躺着的人,Eduardo的嘴里有睡眠和酒精的味道,Eduardo的手指缠绕在Mark的头发里。Mark回吻了Eduardo,这很容易,太容易了,他只是简单地陷入了这种亲吻的感觉。这不是一个粗暴的吻,也不是一个特别疯狂的吻。是慵懒的、舒适的、美好的,他们都太累了,太醉了,不能再保持清醒了。Mark并不介意。Mark喜欢这样。Mark喜欢Eduardo嘴唇的柔软,喜欢Eduardo皮肤的味道,喜欢Eduardo一只手的掌心贴着Mark的脸颊。

 

某个时刻Mark睡着了,鼻子贴着Eduardo的脖子,嘴唇贴着Eduardo的衣领。

 

第二天早上Mark带着令人非常难受的宿醉醒来,他感到头痛、耳鸣。他也感到孤独。如果不是他的床上还有Eduardo的味道,如果不是Mark的桌子上有一小堆空啤酒瓶,Mark会觉得昨晚的一切是一个非常奇怪的梦。Eduardo走了也没什么大不了的,因为他要上课,他可能还会回宿舍洗个澡,取几本书。Mark明白这一点。Mark在独自一人熬过一个艰难的早晨。

 

他们照常相约吃午饭,在昨晚过后,Eduardo一点变化也没有。他没有笑得更多,也没有碰Mark的手或亲吻Mark的脸颊,也没有做任何类似的怪事。Mark想他一定是不记得了,或者他有点后悔了,或者其他随便什么原因。当然,Mark也可以这样做。Mark可以装作什么都没发生过。这样很有效。这样很好。当Eduardo问他是否要参加下一次AEP i派对时,他只是耸了耸肩。这时Dustin出现了,用他们的下一个操作系统作业来骚扰Mark。

 

Dustin离开后,他们向哈佛园走去。秋天来了,校园里的树叶也开始变化。不是立刻,而是分阶段的变化。黄色的叶子总是先出现。今天阳光很好,天空中没有一丝云彩,空气干燥而寒冷。Eduardo脚步笨拙地挪动着,这感觉不对。Eduardo很少像Mark那样笨拙,尤其是在Mark身边的时候。“听着,”Eduardo说,“当时——对不起。当时很晚了,我们也喝多了,我知道你还在和Erica约会——”他显得很尴尬,一抹红晕蹿到了他的脖子上,仿佛醉酒时和Mark亲热是一件非常尴尬的事。

 

“没关系。”Mark说。因为确实没关系。他摆弄着背包的带子。

 

Eduardo露出了一个笑容——笑容,真的——然后说:“好的,那很好。”

 

就这样,Mark生命中最近的十二个小时被删除,重新格式化,擦除得一干二净。

 

 


 

关于网络的运作原理,也就是让整个互联网运行的那种网络,是系统中建立了冗余,以确保信息能到达它需要去的地方。数据包上有序列号,这样数据就可以正确地重新组合,每个数据包都带有校验和,以验证它在传输过程中没有被破坏,并对未确认的(unacknowledged)数据包进行重传,确保所有的数据包都能收到。最开始时为了建立连接,在涉及到任何实际数据之前,会进行三次握手,来确认对方正在听。

 

Mark有时会想象发出第一次握手是什么样子,虽然这样想有点夸张,但那一定是信仰的飞跃(a leap of faith),一定是信任的感觉,一定是希望能够收到确认的回复。对于第一个数据包,你无法保证它能被接收或理解,甚至不能保证它能到达目的地。

 

但它还是被发送了。

 

Mark认为人与人之间的联系也是这样,脆弱而容易失败,依赖于你为了确保它们正常工作而付出的努力。人际关系也没有任何保证。你只是不停地说,不停地说,希望被听到。

 

 


 

夜深了,Mark正在翻看Facebook,只是浏览朋友和朋友的朋友,以及朋友的朋友的朋友。现在的Facebook已经大到无法用一张图表示出来了,但他还是喜欢看它在他眼前展开,甚至比用户数字所能浓缩的更庞大,更复杂,更美丽。

 

办公室里只剩下他一个人,平静又安宁。Mark喜欢在工作的时候和其他程序员待在一起,喜欢他们机器的嗡嗡声,喜欢他们争论的声音,但他也喜欢现在这样。他喜欢一个人待在自己的脑子里,没有任何东西试图分散他的注意力。没有诉讼,没有会议,没有签名,没有关于系统架构的争论。这是他觉得最像他自己的时刻。

 

他并不是有意这么做,但Mark在翻看中途某个地方偶然发现了Eduardo的Facebook页面。他知道Eduardo一直保留着它,知道那既是为了挽回面子,也是因为Eduardo真的想继续留在Facebook上。资料是小心翼翼的空白,没有任何有趣或相关的细节,没有任何形式的真实的社会背景。Mark见过那些活在Facebook上的人的资料。Eduardo不是其中之一。

 

他的资料照片是一张全身职业照,Eduardo对着镜头微笑,身上穿着时尚的商务西装。他看起来很完美,很整洁,很开心,更像Eduardo,而不是取证时坐在Mark对面的那个紧张、愤怒的人。奇怪的是,他们仍然是Facebook好友,这正好说明Eduardo鲜少使用它。

 

这几乎足够——事实上已经足够——让Mark点击“发送消息”按钮。这就是Mark会冒出的那种心血来潮的想法之一,就像Facemash或制作HarvardConnection的一个版本,但是做出来的东西要比那个版本更好或是在第一时间接受Peter Thiel的提议。希望他不是过于年轻又愚蠢,以至于不能明白这一次他在做什么。

 

抱歉。他在留言框里打道。没有标题。

 

他还没来得及说服自己别这么做,就已经按下了“发送”。他不知道Eduardo的账号上是否还关联着一个有效的电子邮件地址,也不知道Eduardo是否会检查那个邮箱,如果它确实存在的话。他不知道Eduardo是否会读它,不知道Eduardo是否会理解它,不知道Eduardo是否会在意。这是Mark自己信仰的一跃,是他自己试图建立联系的方式。

 

他从来没有恨(hated)过Eduardo。他有时会怨恨(resented)Eduardo,因为凤凰俱乐部,因为纽约的实习,因为当Mark就在那里时Eduardo却想要Christy,但Mark从来没有恨过Eduardo。他仍然不后悔自己的所作所为,仍然不后悔把Facebook放在第一位,但他希望自己能回到那之前,回到事情才刚开始出现问题的时候。他希望自己能把一切恢复到更早的修订版(revert to a much older revision),从那里开始努力。他发这条信息的时候一点儿也没说谎。他讨厌他们两个人之间的状况。他希望事情能变得更好。

 

Mark知道他无法修复(fix)一切,但他可以试着尽力打补丁(patch)。

 

Eduardo几天后才给他回信。他的信息也没有标题。

 

内容只有:我也很抱歉。

 

Mark闭上眼睛,稳住呼吸,尽可能平静地松开拳头。他几乎希望Eduardo不要理他,让那句道歉挂在他们之间不被确认(unacknowledged)。Mark所能期待的最好情况是,得到一个“滚蛋”,或是一份长达九页的清单,把Mark多种多样的性格缺陷一一列举出来。这——这完全不是Mark所期望的。

 

他睁开眼睛,盯着屏幕。那句话还在那里,白色背景上的黑色文字。Mark感到有一个微笑在他的脸上成型,某种很小的、几乎全是痛苦的情绪。他不习惯这样,但感觉很好,就像刮掉一层痂,露出下面粉色的皮肤。就像一个把事情做对的机会。

 

他点击“回复”,开始打字。

 

 

FIN.

Notes:

我想我永远都会喜欢Mark,且多于我觉得我应该喜欢的程度,因为我相信他可以看着一段代码并看到它的美丽。我知道这个故事有很多技术性内容,虽然我很想写一篇DVD Commentary,像Neal Stephenson(译注:美国推理小说家)一样揭露所有这些东西,但我想我将暂时搁置这个想法。我想让它先自己酝酿一会儿。

ETA: DVD Commentary(中文翻译版)
DVD Commentary(英文原版)

 

以下是译者注释:
[1]40华氏度大约等于4.4摄氏度。
[2]波士顿是沿海城市,位于东海岸,而加州则位于西海岸。
[3]美国一家药妆店连锁企业。
[4]位于马萨诸塞州剑桥市的中央广场。在公共交通中,它的站点位于哈佛和麻省理工学院站之间。
[5]Hot Pockets是美国的一个可在微波炉中加热的卷饼的品牌,一般含有奶酪、肉类或蔬菜。
[6]一种酒。