第631章 第 631 章

“司白。”母亲的声音从听筒里传出来,带著那种她熟悉的、介于关心和审查之间的语气。

“妈。”

“下班了?”

“刚下。”

“吃饭了吗?”

“还没有。刚出来。”

电话里沉默了三秒。这三秒里程司白知道母亲在做什么——在组织语言,在决定从哪个角度切入。母亲教了三十年的数学,讲话的时候也像解题,总要先找一个最优的切入点。

“我跟你说的那个事,你考虑了吗?”

来了。

程司白把空著的那只手插进口袋里,手指碰到了一张揉皱的纸巾。“最近项目很忙,没有时间。”

“吃个饭能花多少时间?”母亲的声音提高了半度,“你王阿姨的儿子,人家也忙,但人家说了,周末可以抽时间。你周末总不加班吧?”

“周末也要加。”

“程司白。”母亲叫她全名的时候,语气就会变得像在课堂上点名——不容回避,不容讨价还价,“你今年二十八了。”

“我知道。”

“你知不知道二十八是什么概念?我二十八的时候已经带著你满地跑了。”

程司白没有接话。她抬头看了一眼巷子上方的天空,看不到星星,只有一片被城市灯光照亮的深灰色。

“妈,我一个人很好。”

这句话说出来的时候,她自己都觉得像一段被反复执行的代码——每一次输出的结果都一样,但每一次执行的成本都在增加。

“好什么好?”母亲的声音忽然软了下来,软得让程司白觉得更难受,“你一个人在外面,生病了谁照顾你?加班到半夜谁接你?你以为我不知道吗,你每次说“很好”的时候,都是在逞强。”

程司白咬了一下嘴唇内侧。她想说我没有逞强,但她说不出口。因为母亲说的是对的——她确实在逞强。但她不觉得逞强有什么不对。逞强是唯一让她撑到现在的东西。

“司白,你听妈妈说。”母亲停顿了一下,听筒里传来一阵轻微的声响,像是她在换手拿电话,“妈妈不是逼你。妈妈是怕你走我的老路。”

程司白的手指在口袋里攥紧了那张纸巾。

“你爸走的时候你才三岁,什么都不懂。但是我懂。我一个人带著你,白天上课,晚上备课,周末还要去做家教。你小时候发烧,半夜烧到四十度,我一个人抱著你去医院,在急诊室坐到天亮。你知道那种感觉吗?整个世界就你一个人,没有人帮你,没有人可以打电话,没有人可以说一句“我来”。”

程司白闭了一下眼睛。

她记得那个晚上。她记得医院的灯光很白,很亮,刺得她眼睛睁不开。她记得母亲抱著她的手臂在发抖,但声音很稳,一直跟她说“不怕,妈妈在”。她记得急诊室的走廊很长,尽头是黑的,像一个没有返回值的函数——你不知道它会输出什么,但你只能执行它。

“你爸就是靠不住。”母亲的声音听起来很远,像是在自言自语,“他走了之后我就想,这辈子谁都靠不住,只能靠自己。所以我拼命工作,拼命把你养大,拼命让你不要走我的老路。”

“我没有走你的老路。”程司白说。

“你现在没有,但你再这样下去,就会。”母亲的声音又硬了起来,“你一个人,不谈对象,不结婚,以后怎么办?你以为你能一个人扛一辈子吗?你扛不住的。没有人能扛得住。”

程司白没有说话。

巷子里很安静,安静到她能听见自己的呼吸声。路灯在她头顶上嗡嗡地响,光线照在墙角的灌木上,叶子在风里轻轻地抖。

“妈,我不想像你一样。”她说。

这句话说出来的时候,她自己都愣了一下。她没有想过要说这句话,它像是从某个没有经过审查的地方直接冒出来的,没有经过编译,没有经过测试,直接上线了。

电话那头沉默了很长时间。

长到程司白以为信号断了。

“你什么意思?”母亲的声音很低。

“我是说——”程司白停了一下,组织语言,但发现找不到合适的词,“我不想因为害怕一个人,就随便找一个人。我不想过那种……两个人在一起,但比一个人还孤单的生活。”

“谁说要你随便找了?”母亲说,“王阿姨的儿子条件很好——”

“妈。”程司白打断她,“我不是在说条件。”

“那你在说什么?”

程司白张了张嘴,发现自己说不出来。她不知道怎么跟母亲解释那种感觉——不是条件不好,是条件太好了,好到像一份写得过于完美的合约,每一条都清清楚楚,每一条都在告诉你:这是一笔划算的交易。但感情不是交易。感情是你不知道为什么,就是想跟某个人待在一起。哪怕他条件不够好,哪怕他太感性,哪怕他会让你害怕。

她说不出来这些话。因为这些话没有逻辑,没有证明,没有任何可以被验证的依据。它们只是一些感觉,一些她从小就被教导要忽略的东西。

“算了。”她说,“我会考虑的。”

母亲在电话那头叹了一口气,那种叹气的方式程司白很熟悉——不是放弃,是暂时搁置,下次继续。

“那你早点吃饭,别太累了。”

“嗯。”

“挂了吧。”

“嗯。”

电话挂断了。通话时长四分十秒,比上周少了二十秒。

程司白把手机放进口袋,靠在墙上,仰头看著那块深灰色的天空。巷子里有一股潮湿的气味,可能是昨天下雨的时候积在墙角的水还没有干。她的后背贴著冰冷的墙壁,寒意透过外套渗进来,一点一点的,像某种缓慢的攻击。

她没有动。

她不想动。不想回公司,不想去地铁站,不想回家。哪里都不想去了。

巷口传来一个声音。

很轻,像什么东西被踩碎的声音。程司白转头看过去,一个人站在巷口,手里夹著一根烟,烟头在黑暗中明灭了一下。

路灯的光照在那个人脸上。

裴衍之。

他站在那里,手里拿著烟,没有抽,只是夹著。烟灰积了很长一截,快要掉了,说明他已经站在那里有一段时间了。

两个人的目光在巷子里相遇。

程司白的第一个反应是生气。他听到了。他站在那里,听到了她跟母亲的全部对话。听到了她说“我一个人很好”,听到了母亲说“你爸靠不住”,听到了她说“我不想像你一样”。

她的手指在口袋里攥紧了那团纸巾,纸巾被攥成了一个硬邦邦的球。

“你偷听?”她说。声音比她预期中要硬,硬得像一段没有处理异常的代码——直接崩溃,不留余地。

裴衍之没有否认。他把烟头摁灭在巷口的垃圾桶上,动作很慢,像是在给自己争取时间。

“我不是故意的。”他说。声音很轻,轻到差点被路灯的嗡嗡声盖过去,“我在楼下抽烟,听到巷子里有人讲电话。想走的时候,已经听到了。”

程司白没有说话。她从墙上站直身体,把外套的拉链又往上拉了一点,拉到了顶,下巴埋进领口里。她准备走了。不说话,不看他,直接走。走回公司,拿东西,回家,当这件事没有发生过。

她经过他身边的时候,他开口了。

“程司白。”

她的脚步没有停。

“你妈说得不对。”

她的脚步停了。

不是因为他说的话,是因为他说这句话的语气。不是安慰,不是同情,不是那种“我理解你”的客套。是一种很平静的、很确定的陈述,像在说一个他验证过的事实。

程司白转过头看著他。

路灯的光从侧面照过来,在他脸上留下一半亮一半暗。他的表情很平静,平静得像在会议室里讨论测试参数。但眼睛里有什么东西不一样——不是那种理性的、克制的光,是另一种,她说不清楚的。

“你妈说没有人能扛得住。”裴衍之看著她,“她说得不对。你扛住了。你一直在扛。”

程司白觉得眼眶有点热。她没有说话,因为她知道如果她现在开口,声音会抖。

“她还说,你一个人不行的。”裴衍之的声音更轻了,“但你一个人,也走到了这里。你做得很好。”

巷子里很安静。路灯的光照在两个人之间的地面上,投出两团长长的影子。影子几乎要碰到一起,但没有。

“但有一件事,她说得对。”裴衍之说。

程司白看著他。

“一个人也可以很好。”他把手插进口袋里,肩膀微微缩了一下,像是被风吹冷了,“但两个人,不一定更差。”

程司白站在那里,手指在口袋里松开了那团纸巾。纸巾从被攥紧的状态慢慢展开,纤维一点一点地恢复原状,但再也回不到平整的样子了。

就像有些话说出来之后,就收不回去了。

“你为什么在这里抽烟?”她问。

裴衍之愣了一下,大概是没有想到她会问这个。“压力大。”

“你不是戒了吗?”

“戒了。”他承认,“最近又开始了。”

程司白没有问他为什么压力大。她知道为什么。测试数据、项目进度、技术方案的取舍,还有她——坐在会议桌对面,每天跟他讨论参数、交换数据、说“谢谢”的她。

她都知道。

“烟不是好东西。”她说。

“我知道。”

“你以前说过要戒。”

“我说过很多话。”裴衍之看著她,目光平静,平静得像一面没有波澜的湖,“有些做到了,有些没有。”

程司白没有接话。她转过身,朝著巷口走。走了几步,停下来。

“裴衍之。”

“嗯。”

“一个人也可以很好,这句话是我说的。”

“我知道。”

“我不需要别人来告诉我,两个人不一定更差。”她的背对著他,声音在巷子里显得很清晰,每一个字都说得很慢,“我需要的是——”

她没有说完。

巷口有车经过,车灯照亮了整条巷子,一瞬间亮如白昼。在那道光里,裴衍之看到了她的侧脸——下巴埋进领口里,眼睛看著前方,嘴唇微微张开,像是准备说一句很重要的话,但被车灯打断了。

车过去了,巷子又暗下来。

“需要的是什么?”他问。

程司白没有回答。她迈开脚步,走进了巷口的光里。

裴衍之站在原地看着她的背影消失在转角。他从口袋里掏出那包烟,看了看,捏扁了,扔进了垃圾桶。

他想起她刚才在电话里说的那句话。

“我不想因为害怕一个人,就随便找一个人。”

她在说相亲的事。但他听到的不是这个。他听到的是——她不是不想跟任何人在一起。她是害怕。害怕依赖,害怕失控,害怕像母亲一样,把全部的自己交出去,然后被剩下。

她不是不想。她是不敢。

他靠在墙上,巷子里又恢复了安静。墙角的灌木在风里轻轻摇晃,叶子摩擦的声音很细碎,像一段低码率的音频,大部分细节都丢失了,只剩下一个大概的轮廓。

但那个轮廓很清楚。

她刚才差一点就说出来了。

“我需要的是——”

需要的是什么?需要一个人告诉她,不用一直扛著?需要一个人证明给她看,两个人不会比一个人更差?需要一个人站在那里,不走开,不管她说了多难听的话,不管她拒绝了多少次,都不走开?

他闭了一下眼睛。

三年前她说“我们不合适”的时候,他选择了“不打扰了”。他以为那是尊重,是体面,是一个成年人应该做的选择。但现在他觉得,也许那不是她需要的。她需要的不是一个不打扰的人,她需要的是一个被打扰了也不会走的人。

他拿出手机,打开跟她的对话框。

对话框里还是那条三天前的消息。她没有回。

他打了几个字:“烟扔了。”

看了两秒,删掉了。

又打了几个字:“你刚才没说完的话——”

没有打完。他看著这几个字,觉得自己很蠢。她不会在消息里说的。她不会在任何地方说。她只会在那些不经意的、没有防备的瞬间,让那些话自己跑出来。比如在电梯里说“好久不见”,比如在会议室里说“谢谢”,比如在巷子里说“我需要的是——”。

然后在车灯亮起来的那一刻,把它们全部收回去。

他把手机放回口袋,走出巷子。风吹过来,带著十一月夜晚特有的清冷。他站在公司大楼门口,抬头看了一眼。十五楼的灯还亮著。

她回去了。

他也该回去了。不是因为工作,是因为她在那里。

裴衍之走进大厅的时候,电梯正好下来。门打开,里面没有人。他走进去,按了十五楼。电梯上升的时候,他想起她刚才看他的那个眼神——不是生气,不是尴尬,是一种他说不清楚的东西。像一个人在悬崖边上站了很久,回头看了一眼。不是要跳,是想看看身后有没有人。

他看到了。

她在看。

电梯到了十五楼,门打开。走廊上很安静,办公区的灯亮著,但没有人。他走进业务中台的办公区域,坐下来,打开电脑。萤幕上是她今天下午发过来的测试报告,最后一页附的那行注释还在:“权重因子调整为零点一五后重新跑了一遍,数据已更新。明天继续。”

他看著这行字,忽然想起她刚才在巷子里说的另一句话。

“烟不是好东西。”

这句话她三年前也说过。那时候他们还在一起,有一天他抽烟被她闻到了,她皱著眉头说“烟不是好东西”。他说“我知道”,她说“知道还抽”,他说“压力大”,她沉默了一会儿,说了一句他从来没有忘记的话。

她说:“你可以找我。”

那之后他很长时间没有抽烟。不是因为她说了那句话,是因为她说那句话的时候,语气里有一种他从来没有在她身上听到过的东西——柔软。像一块冰,在太阳下面晒了很久,边缘开始融化,滴下来的水是温的。

后来她走了,他又开始抽了。

现在她又说了同样的话。

“烟不是好东西。”

不是“你可以找我”。是“烟不是好东西”。但他在这五个字里,听到了和当年一样的东西。一样的频率,一样的波形,一样的被压缩在理性表层下面的温度。

他关掉电脑,靠在椅背上。天花板上那盏灯还是旧的,光线不均匀,中间亮两边暗。他盯著那盏灯,脑子里反反复复转著一句话。

她刚才差一点就说出来了。

差一点。

他想,也许下一次,车灯不会那么准时地亮起来。也许下一次,巷子会更暗一些,暗到她看不见他的脸,暗到她以为没有人在那里,暗到她终于可以把那句话说完。

也许下一次。

连续三天,程司白都是最后一个离开办公区的人。

第一天她把Raft变体的边缘场景测试从五千次扩大到八千次,跑完最后一轮的时候已经是凌晨一点二十。数据比预期中好,蓝色标注的项目占了百分之九十三,红色的只剩七项。她在笔记本上记录了每一项需要优化的地方,写了整整三页,字迹比平时潦草,但每一个技术细节都写得很完整。

第二天她把那七项红色项目拆解成十四个子问题,每一个都写了两种以上的解决方案,然后用排除法筛选出最优的那个。她在会议室里待到十二点四十,出来的时候走廊上的感应灯已经不太灵敏了,走了三步才亮起来。她没有在意,继续往前走,脚步声在大理石地面上响著,节奏和往常一样均匀。

第三天她开始重构动态超时窗口的校准算法。把指数加权移动平均的权重因子从零点一五调整到零点一二五,跑了一轮模拟,效果不够好。改到零点一三七五,再跑一轮,延迟下降了百分之八,但领导者选举频率又上升了。她在笔记本上画了一张权重因子与性能指标的对照表,横轴是权重,纵轴是延迟和选举频率,曲线在零点一二到零点一五之间反复震荡,始终找不到一个完美的平衡点。

她盯著那张表看了很久,然后在旁边写了一行字:“不存在最优解,只能取舍。”

写完之后她看著这行字,忽然觉得它不仅仅在说算法。

她把那行字划掉了。

何悦是第三天下午发现不对劲的。

她在茶水间碰到程司白的时候,对方正在往杯子里倒热水。水满了也没有停,热水从杯口溢出来,流到台面上,顺著边缘往下滴。何悦喊了一声“程姐”,她才回过神来,关掉水龙头,拿抹布把台面擦干净。动作很从容,一点都不像一个刚刚犯了错的人。

“程姐,你这几天是不是没睡好?”何悦靠在门框上,手里端著自己的杯子,语气尽量放松,像在聊一件不那么重要的事情。

“还好。”

“你眼圈都出来了。”

“昨天睡得晚。”

何悦看著她把杯子擦干净,重新倒水,水位只到杯子的三分之二。这次没有满。

“程姐,你是不是因为——”何悦停了一下,斟酌用词,“裴哥的事烦?”

程司白转头看了她一眼。那一眼很平,平到没有任何情绪,平到何悦觉得自己问了一个很蠢的问题。

“不是。”程司白端著杯子走过她身边,“我在优化算法。”

何悦站在茶水间门口,看著她的背影走远。她没有跟上去,而是拿出手机,在“共识观察小组”里发了一条消息。

“程姐状态不对。这三天她每天都加班到一两点,今天倒水倒到溢出来都没发现。她以前从来不会这样。”

陆维安秒回:“是不是太累了?”

何悦:“不是累。是那种……怎么说,故意让自己累。你们懂吗?”

群组里没有人回。过了大概一分钟,何悦又发了一条:“我觉得她在躲什么。”

裴衍之看到这条消息的时候是下午四点半。他在会议室里整理测试数据,手机放在桌上,萤幕亮了一下。他看了一眼那条消息,没有回,把手机翻过去扣在桌上。

他知道她在躲什么。

那天晚上在巷子里,她差一点把那句话说完。车灯亮起来的时候他看到了她的侧脸——不是尴尬,不是后悔,是害怕。那种害怕他很熟悉,三年前她提出分手的时候,他从她的眼睛里看到过一模一样的东西。

她不是不想说。她是不敢说。

说出来就意味著承认。承认她需要什么,承认她想要什么,承认她不是一座孤岛,承认她也有软弱的时候。这些东西对她来说比任何技术难题都可怕。技术难题总有解法,再不济也可以换一种方案。但人的软弱没有解法,你只能承认它在那里,然后学会跟它相处。

她不会承认的。她只会用工作把自己填满,不给自己留一秒钟去想那些东西。测试、优化、重构、跑数据——这些事情不需要她面对自己,只需要她面对程式码和数字。

他理解她。因为他做过同样的事情。

离职之后那两年,他也是这样过的。接项目、写程式码、修Bug,一天工作十四个小时,不给自己留时间去想那个名字。他以为只要足够忙,就可以忘记。后来他发现忘记不是目的,目的是让自己变得足够强大,强大到即使想起来也不会疼。

但现在他知道了。不会疼不是因为强大,是因为麻木。而麻木不是一种健康的系统状态——它只是把所有的异常都屏蔽了,不报警,不处理,不恢复。系统看起来在运行,但你不知道它什么时候会崩。

他不想看到她变成那样。

第四天早上,程司白到公司的时候发现桌上放著一杯咖啡。

美式,不加糖不加奶。杯壁上没有笑脸,没有记号笔画的任何东西。就是一杯普通的咖啡,放在她键盘的右边,占著她平时放水杯的位置。

她看了一眼咖啡,没有碰,坐下来打开电脑。

萤幕上是昨天没跑完的测试,进度停在百分之六十七。她点开日志,从昨晚中断的地方开始看。日志很长,翻了十几页,每一行都是系统状态的记录——节点启动、领导者选举、日志复制、心跳超时。她盯著那些行,一个字一个字地看,看到第三页的时候发现自己已经把同一段看了三遍,但一个字都没有读进去。

她把日志关掉,重新打开。

又看了两页,还是读不进去。

她靠在椅背上,闭了一下眼睛。脑子里很乱,各种思绪像没有排序的数据集,散落在内存的各个角落,找不到一个统一的索引。测试参数、优化方案、权重因子、边缘场景——这些东西都在,但她无法把它们组织成一个有意义的结构。

她睁开眼睛,看了一眼那杯咖啡。

她没有喝。她把它推到桌子的左上角,离键盘远了一点,然后重新打开日志,强迫自己从头开始看。

上午的会议她迟到了两分钟。这在以前从来没有发生过——程司白是那种会提前五分钟到会议室的人,她说迟到是对别人的时间不尊重。但今天她在走廊上走得很慢,慢到何悦从后面追上来的时候说“程姐你是不是不舒服”。

她说没有,然后加快了脚步。

会议室里裴衍之已经在了。他面前的桌上放著两杯咖啡,一杯放在他自己的位置旁边,另一杯放在她通常坐的位置前面。那杯咖啡和美式不一样,杯壁是白色的,上面没有任何标记。

程司白坐下来,把咖啡推到一边。

“开始吧。”她说。

裴衍之看了她一眼,没有说话,把测试数据投影在萤幕上。两个人用了四十分钟把昨天的进度过了一遍,讨论了三个需要对齐的技术细节,决定了一个参数的调整方案。整个过程高效、专业、没有任何多余的对话。

会议结束的时候程司白站起来准备走。

“咖啡。”裴衍之说。

她停了一下。“我不渴。”

“你早上那杯也没喝。”

程司白转头看著他。他的表情很平静,平静得像在说一个与自己无关的事实。但他说得对——她早上那杯咖啡确实没有喝。她把它推到桌角之后就再也没有碰过,现在应该已经凉透了。

“我不喜欢别人帮我买咖啡。”她说。

“我知道。”

“那你为什么还买?”

裴衍之没有回答。他低下头继续整理桌上的文件,动作很慢,每一页都对得很整齐。程司白站在门口看著他,等了大概十秒,他没有抬头。

她推门走了出去。

中午的时候她又发现桌上多了一杯咖啡。

这次不是美式,是拿铁。杯壁上用记号笔写著一行字,字迹很工整,像是刻意放慢了速度写的:“你以前说过拿铁太甜。”

她看著这行字,想起那是三年前的事了。有一次他们一起去咖啡馆,她点了一杯美式,他点了一杯拿铁。她喝了一口他的拿铁,皱著眉头说太甜了。他说你试试加一份浓缩,她试了,还是不喜欢。后来每次去咖啡馆他都会问她要不要试试拿铁,她每次都说不要。但他每次都还是会问。

她不知道他为什么记得这件事。她自己都快忘了。

她把咖啡端起来,喝了一口。拿铁,加了两份浓缩,奶泡打得不是很细,有一点粗,像是不太熟练的人做的。味道还是偏甜,但没有她记忆中那么甜了。

也许是因为她已经三年没有喝过拿铁了。

也许是因为她的口味变了。

她不知道。

她把咖啡放在桌上,继续写程式码。下午的进度比上午好了一些,日志能读进去了,参数也能调了。她在笔记本上写了两页优化方案,每一条都写得很详细,逻辑清晰,步骤明确。

但她的目光总是不自觉地飘向桌角的那杯拿铁。

她喝了一半了。剩下的一半凉了,她没有再碰。

下午五点,何悦来找她讨论测试用例。推门进来的时候第一眼就看到了那杯拿铁,然后看了看程司白的表情,什么都没有说,坐下来打开笔记本。

讨论到一半的时候何悦忽然停下来。

“程姐,这杯咖啡是谁给你买的?”

程司白的手指在键盘上停了一下。“不知道。”

何悦看了她一眼,嘴角微微翘起来,但很快又压下去了。“哦。那可能是谁放错了吧。”

“可能。”

何悦低下头继续看测试用例,但她的手指在桌子底下飞快地打字。程司白没有看到,但如果她看到,她会发现那条消息是发在“共识观察小组”里的。

“重大进展:程姐桌上有一杯喝了一半的拿铁。她以前从来不喝拿铁。”

陆维安:“?所以呢”

何悦:“所以这不是她自己买的。她自己只喝美式。”

陆维安:“那是谁买的?”

何悦没有回。她觉得这个问题不需要回答。

第四天晚上,程司白加班到十一点。她准备走的时候发现桌上又多了一杯咖啡。

这次是美式。杯壁上写著一行字。

她拿起来看。

“程司白,你不用现在回答我。但别用工作逃避。”

< 上一章 目录 下一章 >
×
宿山行
连载中帝谛 /