“不需要。”
“温以宁。”
“程越,”她转头看他,“你能不能不要这么较真?”
“这不是较真。这是文档完整性。”
“这是关系定义文档,不是技术规格书。”
“所有的文档都需要完整性。”
“那你去写你的技术规格书,不要管我的文档——”
她没有说完。因为程越伸手过来,把她的椅子往他的方向转了十五度。力度不大,但很确定。她面对著他,两个人之间的距离从一臂变成了半臂。
“温以宁。”他叫她的全名,声音很低。“我爱你。”
实验室的灯光在他头顶,白色的、稳定的、不会闪烁的光。他的表情很平静,但眼睛里有一种她读得懂的东西——不是试探,不是等待回应,是陈述。就像他说“这个算法效率可以提升百分之十五”的时候一样——确定的、基于计算的、不需要对方同意的陈述。
温以宁看著他,沉默了大概五秒。
五秒里她的大脑处理了很多信息。他的睫毛弧度——和五年前一样。他耳朵的颜色——比五年前红。他说话时候嘴角的动向——没有动,但他说“我爱你”的时候,嘴角比平时紧了一点点,因为他在紧张。
“程越,你知道吗,”她说,“你选了一个最不适合告白的场景。”
“为什么?”
“因为我在工作。”
“你在工作,我也在工作。但这件事和工作没有关系。”
“那你为什么要在工作时间说?”
“因为非工作时间我见不到你。下班之后你就走了,回家,关门,一个人待著。我没有机会说。”
温以宁愣了一下。
他说得对。下班之后她就走了。回家,关门,一个人待著。她从来没有想过他在下班之后做什么——回酒店,叫外卖,对著电脑,等她第二天早上来实验室。他把想说的话攒了一整个晚上,攒到第二天早上,放在她的键盘旁边,放在便利贴上,放在注释里。然后等到一个合适的时机,说出来。
“我没有不让你说。”她说。
“那你刚才说“能不能不要这么较真”。”
“那是因为——”她停了一下,找了一个词,“因为你写在文档里,感觉像在签合同。”
“合同不好吗?”
“合同是约束。”
“关系本来就是约束。”程越看著她,“你选择了一个人,就意味著不选择其他人。这是约束。你每天给他夹菜,每天喝他泡的蜂蜜柠檬水,每天在他的注释下面回复——这些都是约束。你不喜欢约束吗?”
温以宁没有说话。
她喜欢约束。她喜欢每天早上键盘旁边那杯温度刚好的蜂蜜柠檬水。喜欢每天中午把西兰花夹到他外卖盒里的时候他说“今天的盐放得比昨天少”。喜欢每天在注释里和他吵架,每天听他的键盘声在实验室里响,每天关电脑之前看一眼“我们”那个文件有没有被更新。
这些都是约束。约束的意思是你不能没有这些。
“我喜欢。”她说。
程越等著。
“但我还是觉得“确认方式略”比较好。”
“为什么?”
“因为——”她想了想,“因为写出来就没有惊喜了。”
程越看著她,嘴角动了一下。不是笑,是那种“我听懂了但我不同意”的表情。她见过这个表情很多次——在技术讨论的时候,当她说他的方案有问题而他觉得没问题的时候。
“那我换一种方式。”他说。
“什么方式?”
“不定时确认。”
“什么叫不定时?”
“就是不一定什么时候说。可能是工作时间,可能是非工作时间。可能是当面说,可能在注释里说,可能在便利贴上说。不写进文档,不预告,不保证频率。”
温以宁想了想。“这不就是现在的方式吗?”
程越沉默了一下。“对。”
“那你为什么还要写进文档?”
“因为——”他停了一下,“因为我想让你知道,这不是临时起意。这是计划内的、确定的、不会撤回的。”
温以宁看著他的眼睛。他的眼神很认真,不是那种讨好的、退让的认真,是那种“我知道自己在说什么”的认真。和他在谈判桌上说“可以”的时候一样——确定、坦然、不留余地。
她转回去对著萤幕,打开“我们”那个文件,把v1.1的最后一行改了。
“5. 双方应每日确认情感状态(确认方式:不定时,不限形式)”
储存。
程越的电脑上弹出文件更新通知。他打开,看到这行字,没有说话。但他把文件加到了收藏夹里。
下午四点,温以宁去了一趟洗手间。回来的时候发现键盘旁边多了一张便利贴。黄色的,三乘三公分,贴在滑鼠的右侧——她一定会看到的位置。
便利贴上写著:“我爱你。v1.1首次确认。”
字迹横平竖直,和杯套上的一模一样。
她站在工位前面,看著这张便利贴,站了大概十秒。然后她把便利贴揭下来,贴在萤幕的边框上——和那些写著服务器密码、会议室预约电话、院办分机号的便利贴排在一起。大小一样,颜色一样,但内容不一样。
她坐下来,打开对话框。
“v1.1首次确认已收到。”
“确认回执呢?”
“不需要回执。”
“需要。不然无法确认对方已收到确认。”
“我贴在萤幕上了。”
程越转头看了一眼她的萤幕边框。那张黄色的便利贴在白色的萤幕边框上很显眼,和密码、电话、分机号排在一起,像一个不属于这个系统的变量。
他转回去,没有说话。但他敲键盘的力度比平时轻了一点。
晚上七点,实验室的人走得差不多了。温以宁还在写代码,程越也在写。两个人的键盘声在空荡荡的实验室里回响,节奏和任何一个晚上一样——她的快,他的稳;她的轻,他的重。
但今晚多了一个东西。萤幕边框上那张黄色的便利贴,在台灯的光照下微微反光。
“程越。”
“嗯。”
“v1.1还有一个问题。”
“什么问题?”
“版本号。v1.1应该是增量更新,但这次更新的内容太多了。按照语义化版本规范,应该升v2.0。”
程越的手指停在键盘上。
“你说得对。”他想了想,“但v2.0应该是重大重构。这次算重大重构吗?”
“你觉得呢?”
他转头看她。她没有看他,在写代码。但他看到她嘴角往上翘了一下——左边比右边高一毫米。
“算。”他说。
“那就v2.0。”
温以宁打开文件,把v1.1改成v2.0,储存。然后她关掉电脑,收拾东西,站起来。
“明天见。”她说。
“明天见。”
她走到门口,停了一下。没有回头。
“程越。”
“嗯。”
“v2.0的首次确认——”
“嗯。”
“明天早上。”
她走了。走廊里的脚步声很稳,不快不慢,和她的键盘声一样——确定的、从容的、不需要赶时间的。
程越坐在工位上,看著萤幕上那个文件名。他打开文件,看到最后一行:“确认方式:不定时,不限形式。”
他拿出手机,打开和温以宁的对话框。打了三个字,发送。
温以宁的车刚开出停车场,手机响了。她等了一个红灯,拿起来看。
一条讯息:“我爱你。v2.0首次确认(提前版)。”
她看著这条讯息,笑了。不是那种精确的、被校准过的笑。是真正的、从眼睛开始的笑。眼睛弯成两道月牙,左边的嘴角比右边高一毫米。
绿灯亮了。她把车开出去,在下一个红灯的时候回了一条讯息。
“收到。v2.0确认回执。明天早上当面补。”
程越看著这条讯息,把对话框截了个图,存进了一个文件夹。文件夹的名字是一串数字——温以宁的生日。里面已经有了一张照片、三十二篇论文的截图、一个情感分析模型的v1.0版本。现在多了一条讯息。
他关掉手机,关掉电脑,关掉实验室的灯。走廊里很安静,电梯门开了,他走进去。
电梯下降的时候他想到一件事——明天早上他需要早一点到实验室。因为v2.0的首次确认要在八点之前完成,不能占用工作时间。这是文档里没写的,但他觉得应该遵守。
他走出电梯,穿过大厅,推开玻璃门。外面的风停了,空气里有春天的味道——泥土的、草叶的、正在发芽的植物的气味。他站在研究院门口,抬头看八楼的窗户。灯灭了。她走了。
他拿出手机,看了一眼那条讯息的发送时间。十九点四十三分。他在心里记了一下——v2.0首次确认,提前版,十九点四十三分。当面补确认的时间,明天早上七点五十八分。他会在七点五十八分把蜂蜜柠檬水放在她的键盘旁边,杯套上写“温姐”。然后等她走进实验室,坐下,喝第一口的时候,说——
他想了想,觉得还是不要提前设计台词。不定时,不限形式。这是她写的规则,他决定遵守。
程越走向停车场,脚步比平时轻。不是因为高兴,是因为确定。确定一件事的感觉就像写完最后一行代码,按下运行,萤幕上跳出绿色的“PASS”。不需要再改,不需要再调,不需要再优化。就是这个。
确定关系后的第一周,实验室的作息没有任何变化。
程越每天早上七点五十八分到,把蜂蜜柠檬水放在温以宁的键盘旁边。杯套上写著“温姐”,字迹横平竖直。八点整温以宁走进实验室,坐下,喝第一口。温度刚好。她怀疑他每天早上七点半到,花十分钟泡饮料,花十分钟等它凉到刚好的温度,然后在她来之前的最后两分钟把杯子放好。她没有求证,因为求证意味著承认她在计算他的时间表。
上午的工作照常进行。程越提交代码,温以宁测试,两人在注释里吵架。她写“这里的逻辑可以更简洁”,他回“你来写”。她写“我没时间”,他回“那你不要抱怨”。她写“这不是抱怨,这是代码审查”,他回“代码审查应该用正经的审查工具,不是在注释里写吐槽”。她写“我喜欢在注释里写”,他回“我知道”。最后这两个字让她的手指在键盘上停了一下。她知道他知道。他知道她喜欢在注释里写那些不需要存档、不需要审批、不需要对任何人负责的话。写给他看的,也只有他会看。
中午她给他夹菜。西兰花、青椒、胡萝卜——她不吃的东西都夹到他的外卖盒里。他照单全收,然后说“今天的盐放得比昨天少”或者“今天的胡萝卜切得太厚”或者“你能不能自己吃自己的”。她说不能。他问为什么。她说因为你点的外卖太辣了,我看着胃疼。他说你的胃还是我的胃。她说你的胃就是我的胃。说完之后两个人都沉默了。程越低头吃饭,耳朵红了。温以宁也低头吃饭,耳朵也红了。旁边工位的一个研究员抬头看了他们一眼,什么也没说,默默把椅子往远处挪了两公分。
下午的工作继续。温以宁发现程越的注释里开始出现错别字。不是技术术语的错,是日常用语的错。“优化”写成“优化”——不对,这个没错。是“边界”写成“边介”,“参数”写成“参树”,“校准”写成“校准”——这个也没错。总之是一些不仔细看根本看不出来的错,但她看出来了。她在注释里改,改完之后在后面加一个括号:“错别字已修正。”他回:“感谢。”她回:“不客气。”他回:“明天的蜂蜜柠檬水少放一点蜂蜜。”她回:“为什么?”他回:“因为你今天改了我三个错别字,我觉得你应该减糖。”她盯著这行字看了五秒,打了两个字:“幼稚。”删掉。打了三个字:“知道了。”储存。
宋晚晴走了之后,实验室少了一个人。院里说会补一个新的助理研究员,但流程要走两个月。这两个月里温以宁一个人做两个人的工作,早上八点到,晚上十点走,中间除了吃饭和去洗手间,没有离开过工位。程越没有劝她休息,没有说“你太累了”或者“你应该注意身体”。他只是每天中午把她便当里的菜多夹一点到她碗里,每天下午三点在她桌上放一杯新的蜂蜜柠檬水,每天晚上十点站起来说“我走了”,然后在门口站五秒,等她说“明天见”。
周四下午,院办通知温以宁去领新的服务器密钥。她走进行政楼的时候,在大厅遇到了周珩。他靠在墙上打电话,看到她,对电话里说了一句“等下再说”就挂了。
“温博士。”他点头。
“你怎么在这里?”
“送文件。顺便——”他看了一眼走廊尽头院办的门,“你们实验室那个泄露的事,处理结果下来了?”
“下来了。宋晚晴被开除了,院里启动了法律程序。”
“你怎么样?”
“什么怎么样?”
“心情。”
温以宁看著他。周珩的表情很淡,像在问一个不需要感情色彩的技术问题。但他的问题本身就有感情色彩——一个普通的工作关系不会问“心情怎么样”。
“还好。”她说。
“程越呢?”
“他也在实验室。”
“我不是问他在哪里。我是问他——”周珩停了一下,“算了,不重要。”
他转身走了。走了三步,回头。“温博士。”
“嗯。”
“他那个人,不会说话,不会表达,不会在对的时候做对的事。但他有一个优点——他决定了就不会改。”
温以宁站在大厅里,看著周珩的背影消失在旋转门外面。她想起周珩在电话里说的话——“他妈病危,海外合约,竞业协议,机场坐了六个小时。”这些她已经知道了。但周珩刚才说的是另一件事。他说“他决定了就不会改”。意思是五年前他决定离开,所以离开了。现在他决定留下,所以不会再走。
她拿了密钥回到实验室,程越正在改代码。她坐下来,打开电脑,没有提周珩的事。
“程越。”
“嗯。”
“你的手机借我一下。”
“干什么?”
“打电话。我的没电了。”
他把手机递过来,没有解锁。她接过来,萤幕亮著,停留在备忘录的界面。她不是故意看的——手机递过来的时候萤幕就是亮的,备忘录就是开著的。她的目光落在第一行,然后她没有移开。
备忘录的标题是一串数字。她的生日。