下一章 上一章 目录 设置
9、好好吃饭 两年没碰过 ...
-
两年没碰过的代码,像一间很久没人住的屋子。
云知湫推开门,灰尘簌簌地落下来。她认得每一面墙,每一扇窗,也记得当年自己在哪里偷了懒,在哪里留下了一句“以后再优化”的注释。
她把他附在邮件里的错误日志一行一行对过去,像顺着一串脚印,走回了自己当年亲手埋下的那个坑。
十点四十,她找到了。
不是什么复杂的错误。当年她写分词的核心模块时,为了快,把一类生僻字和特殊编码混排的情况合并处理了——
在学术语料里几乎碰不到,可一旦遇上真实世界里那些乱七八糟的客户数据,整套状态机就会在某一个分支上原地打转,直到把内存吃光,轰然倒塌。
她盯着那一段自己写的代码,叹了口气,轻声说:“云知湫,你当年欠的债,今晚得还了。”
找到错误只用了半个小时。可修好它,意味着要把那套状态机拆开重写。
十一点,她拆开了第一层。
十二点,她写完了新的转移规则。
凌晨一点,她开始写测试,一条一条,把他日志里出过错的语料全部喂进去,看着屏幕上的红色一行一行变成绿色。
她那台二手笔记本跟了她五年,风扇转得像一架要起飞的老飞机,机身烫得能煎鸡蛋。她想了想,从冰箱冷冻层里摸出一袋速冻饺子,垫在电脑底下。
凉意透上来,风扇声小了一点。
她看着那袋饺子,没忍住笑了一下:“委屈你了,明天就吃了你。”
夜很深了。整栋楼都睡了,只有楼下还醒着。
她听得见。隔着一层薄薄的楼板,键盘的声音从下面透上来,细细密密,时急时缓,偶尔停下来,很久,再响起来。
有一次停了足足十分钟,她屏着呼吸去听,听见椅子腿在地上很轻地刮了一下,然后是一声很低的、压抑着的吐气。
像一个人用手掌抵住了额头。
她的手指停在键盘上。
她想起他说“十几个人跟着我”,想起他写“求您”。
她想下楼去敲他的门,告诉他别熬了,有人在修,天亮之前一定修得好。
可她不能。她只能坐在这里,隔着一层楼板,陪他熬。
一楼之隔,两个人,在同一个深夜里,打着同一场仗。
他不知道她在。她却一直知道他在。
凌晨三点,所有测试都过了。
她没有立刻提交。
她又从头到尾把改动读了一遍,像检查一封要寄给很重要的人的信,逐字逐句,怕哪里写错了一个字。
三点四十,她发现一个边界情况没有覆盖,补了一个测试。
四点,又发现一处注释写得不够清楚,改了。
四点十七分,她按下了提交。
进度条走完的那一刻,她整个人往后一仰,靠在椅背上,长长地呼出一口气。
窗外的天还是黑的,可东边的天际线上,已经泛起了一点极淡的灰白。
她打开邮箱,点了回复。
她写了很长一段:问题出在哪里,为什么会出,怎么修的,以后要注意什么。
写完了,她看了一遍,又一个字一个字地删掉,只留下最关键的三行技术说明。
光标停在最后。
落款要写什么?夏至?还是什么都不写?
她想了很久。
她想起那天晚上他喝粥时被她盯得不自在,耳根泛红;想起他倒在厨房地上,那盒饭一口没动;想起他今晚面前那碗粥,大概也凉透了。
她低下头,敲了两行字。
修好了。
好好吃饭。
她看着那四个字,犹豫了很久。
一个素未谋面的开源作者,给一个陌生的公司老板写“好好吃饭”,怎么看都有些奇怪。
可她想了又想,终究没有删。
她按下了发送。
四点三十一分,楼下的键盘声停了。
很长很长的安静。久到她以为他睡着了。
然后,她听见楼下传来一声很轻的、几乎听不见的声音。
像是有人在空荡荡的屋子里,低低地笑了一声。
又像是别的什么。
她没有睡,去厨房熬了一锅小米粥,又煎了两张鸡蛋饼,切成小块,装进饭盒,再把那袋已经化开了一半的饺子放回冷冻层。
天亮的时候,她的眼睛下面挂着两团乌青,头发乱糟糟地挽着,那根桃木簪歪在一边。
六点四十,她拎着帆布袋下楼。
手还没碰到门把,502的门开了。
她愣住了。
他也愣住了。
他换了一件白衬衫。她第一次见他不穿黑卫衣的样子。
衬衫是新的,熨得很平,袖口挽到小臂,露出腕骨和那截有疤的左手。
他像是刚洗过脸,额前的头发还湿着,眼底有熬了一整夜的红血丝,可整个人是亮的,就像一把在黑夜里磨了很久的刀,终于露出了刃。
他一手拿着手机,正在打电话,语速很快,每一个字都清清楚楚:
“九点前,演示环境切到新版本,旧版本留着做回滚,回滚方案准备两套。客户的技术负责人如果问底层,你别接,我来讲。还有,十点以后的会全部往后推。”
电话那头大概是周屿,在嚷嚷着什么。他听了两秒,只说:“照我说的做。”然后挂了。
她站在楼梯上,看着他,忽然觉得有点陌生。
那个在病床上任她喂粥、在楼道里护着碗吃饭的人,原来还有这样的一面。
冷静,笃定,什么都在他手里。他挂了电话,目光落回她脸上。
然后,停住了。
他看着她眼睛下面那两团乌青,看了很久。久到她有点不自在,下意识地抬手去拢头发。他往前走了一步。
楼道很窄,他这一步,就到了她面前。
她站在高他一级的台阶上,两个人的视线刚好平齐。她闻到他身上清冽的皂角气味,看见他衬衫领口没有翻好,一边压在了里面。
他抬起手。那只手停在她脸侧,离她眼下那片乌青只有一寸。
她能感觉到他指尖的温度,隔着那一寸空气,一点一点烫过来。
他没有碰下去。
手在半空停了很久,最后慢慢收了回去,垂在身侧,握成了拳。
“没睡?”他问。声音有点哑。
“……赶论文。”
他看着她,没说话。
那目光太深,像是要把她看穿。
她心虚地移开眼,看见他歪着的衣领,几乎是想也没想,就伸出手去,替他把那一边翻了出来。
指尖擦过他的颈侧。他整个人僵住了。
她感觉到指腹底下,他的喉结很重地滚了一下。她的手停在他的领口,忘了收回来。
楼道里很静,静得她能听见两个人的呼吸,一深一浅,乱了节拍。
然后,她的手腕被握住了。
不是那天夜里火光中那样用力,也不是台上那样冰凉。
这一次,他握得很轻,掌心是热的,拇指压在她的脉搏上,停了一下。
像是在确认什么。
“谢谢。”他说。
她不知道他谢的是衣领,还是那袋早饭,还是别的什么。
她只是愣愣地看着他,脸一点一点烧起来。
他松开了她的手,接过帆布袋,转身下楼。走了几级台阶,又停住,没有回头:
“云知湫。”
“嗯?”
“今晚等我回来。”他说,“我有话跟你说。”
脚步声一级一级沉下去,越来越远,最后被清晨楼外的鸟叫声吞没了。
她站在原地,捂着那只被他握过的手腕,站了很久。楼道里还留着他身上的皂角味。她低下头,对着空荡荡的楼梯,很轻很轻地说了一句:
“加油。”
回到602,她连衣服都没换,倒在床上就睡着了。
睡着之前,手机屏幕亮了一下。那个两年没登录的邮箱,跳出一条新邮件提醒。
发件人:江临渊。
“收到。谢谢您。我能请您吃顿饭吗?”
她看着那行字,嘴角弯了弯,没有回。眼皮沉沉地合上之前,她迷迷糊糊地想,真好,他终于要好好吃饭了。她不知道,楼下那个人此刻正站在晨光里,攥着手机,一遍一遍地看着那四个字。
他更不知道的是他想请吃饭的那个人,和他今晚有话要说的那个人,从来都是同一个。