林默在老周那台老爷机上敲下最后一行注释时,西安的知了正叫得凶。声音从阳台的纱窗缝里挤进来,像一万个线程同时请求阻塞,CPU温度飙升到90度。他合上笔记本,屏幕合上时“啪“的一声脆响,把趴在绿萝叶子上的一只金龟子惊飞了。
那只金龟子是三天前飞来的,当时林默正给老周改代码,它一头撞在显示器上,晕了半天。林默用湿纸巾把它包起来,放在窗台上,本来想等它缓过来就放生。结果它缓过来之后不走了,成了这盆绿萝的第一个用户,每天趴在叶子上啃灰,日子过得很佛系。
陈曦说它是福报,林默觉得它是Bug——一个无法复现、无法修复、也无法驱逐的Bug。就像现在,他每天早上六点还是会惊醒,伸手摸手机,摸半天才想起#06#已经删了,存档点没了,连噩梦都只有一次。
但身体的记忆还在。肌肉记忆,比任何硬盘都顽固。
老周下午三点过来取主机,开着他那辆桑塔纳,这回车门不哐哐响了,用胶带缠了两圈。他把车停在楼下,没熄火,发动机突突突地抖,整栋楼都在共振。李芳从厨房探头看了一眼,说:“老周又来了?上次我晾阳台的被单,被他车屁股的黑烟喷成灰的了。”
林默抱着机箱下楼,老周正在跟楼下下象棋的老头们递烟。白沙烟,五块一包,那些老头接过去,夹在耳朵上,不抽,像攒着当硬通货。老周看见林默,咧嘴笑,露出一颗镶了银边的假牙:“弄完了?”
“弄完了。”林默把机箱放后备箱,用旧衣服垫着,“加了几个功能,你回去让师傅们试试,不行我再调。”
老周没急着走,他从车里拿出一瓶西凤酒,没包装,用矿泉水瓶装的,酒液黄得发稠:“我自己泡的,加了枸杞和人参,你拿回去喝。喝完晚上睡觉踏实,不会做那些乱七八糟的梦。”
林默心里咯噔一下,像被调试器断点命中。他接过酒,瓶子温热,是老周的体温。他问:“你怎么知道我做梦?”
“陈曦说的。”老周拍拍他肩膀,像拍一个刚毕业的学生,“她说你半夜老惊醒,喊什么‘别重启’‘别回档’。我听着像在说股票,她说不是,是心理问题。”
心理问题。林默咀嚼这四个字,像嚼一颗没泡软的枸杞,苦,回甘,但咽不下去。他以为把#06#删了,把GitHub仓库锁了,把深圳的手机号注销了,那些破事就翻篇了。但陈曦记得,老周也记得,连楼下老头耳朵上夹的那根白沙烟,都像在提醒他:你逃回来了,但你的Bug没修。
老周上车要走,忽然又降下车窗:“对了,那个当年给我写系统的学生,死了。”
林默怔住:“死了?”
“嗯,华为那个P9,去年猝死的。”老周说得平淡,像在报一个迟到的物流信息,“三十七岁,留下老婆孩子,还有一套没还完贷款的房子。公司给了抚恤金,但不多,因为算‘自愿加班’。”
他发动车子,黑烟又喷出来,把李芳刚晾的被单喷成灰的。车开走时,老头们还在下棋,象走田,马走日,每一步都慢,每一步都算。林默站在原地,手里攥着那瓶西凤酒,像攥着一段没有注释的代码,懂不了,又放不掉。
上楼时他走得很慢,五楼的高度让他喘。在深圳他从来不走楼梯,楼梯间是消防通道,是逃生用的,不是日常用的。但在西安,楼梯是生活的一部分,每天爬,每天喘,每天接受自己体力不行这个事实。
陈曦在改方案,甲方又发了新需求,要“年轻化的厚重感”。她骂了句脏话,把键盘敲得噼啪响,像要把键盘敲成西安鼓乐。林默把酒放桌上,她瞥一眼:“老周给的?”
“嗯。”
“别喝。”她说,“他泡的酒,老鼠都不敢喝。”
“他说你告诉他的,我做梦的事。”林默拉过椅子,坐在她旁边,“你还跟他说什么了?”
陈曦停下敲键盘的手,屏幕上是一行没写完的标题:《关于品牌年轻化的深度思考——以Z世代为核心》。她盯着那行字,像在盯一个解不开的递归函数。
“我说你快死了。”她声音很轻,轻得像怕惊动什么,“我说你在深圳最后一个月,心率监测每天飙红,手环给你发过三次预警。我说你最后一次去公司,出门前亲了我一下,像交代后事。”
她转过脸,眼眶是红的,但没泪:“我说我得救你,不然我就得抱着你的骨灰盒回西安。我妈会骂我,说我当初不该让你去深圳。我也会骂我自己,骂我为什么没在第一次你说‘我累了’的时候,就让你辞职。”
林默没说话,他伸手想抱她,但她躲开了。她站起来,走到阳台,去看那盆绿萝。金龟子还在叶子上趴着,像睡着了一样。
“#06#不是我写的。”她忽然说。
林默的指尖凉了,像按在了死机的键盘上。
“是我找的人写的。”陈曦没回头,声音混在雨声里,听不清情绪,“你手环的数据,我导不出来,华为的用户协议里写了,健康数据属于用户隐私,除非本人授权。我找不到授权,就找了个黑客,黑进了华为的云服务器,拿到你的实时心率。”
她说得平静,像在陈述一段需求文档:“那个黑客说,你的数据很奇怪,每天凌晨三点到四点,心率会突然归零,持续三十秒,然后恢复正常。他问我你是不是每天凌晨都会心脏病发作,我说不是,是你每天凌晨都会死一次。”
林默想起那些梦,那些他以为是被#06#拉回现实的瞬间。原来不是拉回,是根本没有死。他的意识在车祸发生前被拦截了,被强制重启了。像Windows的蓝屏,崩溃了,自动恢复,用户还以为只是卡顿了一下。
“那个黑客,就是老周说的学生。”陈曦终于转过身,脸上全是泪,“他没死,他装死,是为了躲债。他欠了高利贷,给人写外挂,写了个人生回档的外挂,结果把自己套进去了。他找上我,说可以帮你,但条件是,让你也帮他一次。”
她走过来,从抽屉里拿出一个U盘,黑色的,金属壳,和林默摔碎绿萝那天交给周维的一模一样。
“这是备份。”她把U盘放在林默手心,“你交给周维那个,是空的。真正的邮件、数据、决策记录,都在这里面。黑客说,周维如果真敢动VP,这些就是证据。如果他不敢动,这些就是炸弹,随时能炸。”
U盘很凉,像一块冰。林默攥着它,觉得手心被烙了个印。
“为什么要骗我?”他听见自己的声音,像从很远的地方传来,“为什么要让我以为,是你写的存档点?”
“因为如果是黑客写的,你会去查,会去追问,会陷进去。”陈曦哭出声,像压抑了一年的情绪终于找到出口,“但如果是我写的,你会信,会依赖,会把它当成爱。林默,你这个人,只有被爱困住的时候,才肯停下来。”
她说得对。林默想,如果早知道是黑客,他会刨根问底,会把那个装死的P9挖出来,会重新打开GitHub,会再写一万行代码,去验证#06#的底层逻辑。他会陷入比死亡更深的循环——对技术的执念。
但现在他知道了,他没有那种执念了。他只想知道,那个黑客要什么。
“他要什么?”林默问。
“他要你回深圳。”陈曦抹了把泪,“他说只有你能修他写的那个外挂,他把自己困在循环里了,每天凌晨三点,他都会梦见自己猝死,然后惊醒,再睡,再梦,再醒。他需要你帮他关掉那个程序。”
林默没说话,他站起来,走到阳台。雨还在下,但小了,像代码跑完后的残余日志。他看着那盆绿萝,想起老周说,它不喜欢阳光直射。其实它喜欢的,只是有人在给它浇水,不管直射还是散射,只要有人管,它就能活。
他想起老周的那瓶酒,想起他说的“不会做那些乱七八糟的梦”。老周早就知道,他知道那个学生没死,知道#06#不是存档,知道林默被陈曦骗得团团转。
但老周什么都没说,他只是送了盆绿萝,泡了瓶酒,让林默自己选。
选回深圳,还是留在西安。选做救人于循环的英雄,还是做给物流公司修电脑的底包。
选相信技术能救命,还是相信人能。
林默转身,把U盘递给陈曦:“烧了。”
“什么?”
“烧了,或者扔了,别留。”他说,“那个黑客想活,就让他自己写代码救自己。我们救不了他,就像我们也救不了深圳那盆绿萝。”
陈曦没接,她看着他,像在确认他这句话是不是出自真心。林默没回避,他握住她的手,把U盘按在她掌心:“我想明白了。#06#不是惩罚,是拐杖。拄着拐杖走久了,忘了怎么自己站。现在拐杖扔了,我得自己学着走。”
他顿了顿,补上一句:“哪怕会摔,哪怕会疼,哪怕走不回深圳。”
陈曦攥紧U盘,眼泪又掉下来,但这次是笑的。她走到厨房,打开煤气灶,把U盘放在火苗上。塑料壳很快融化,金属片烧得发红,像一颗正在坍塌的星星。李芳被吵醒,出来骂:“大晚上烧啥呢?熏死人了!”
“烧垃圾。”陈曦说,“二十年的垃圾。”
U盘烧完,剩一小撮灰。陈曦打开窗户,让雨气吹进来,把灰吹散。灰落在绿萝的叶子上,金龟子被呛得飞走了,再也没回来。
林默站在她身后,抱住她,像抱住一个终于跑完所有测试用例的程序。她在他怀里发抖,不知道是哭的还是笑的。
“明天,”她闷声说,“我们去吃凉皮,去回民街,去钟楼。去所有你说没时间去的地方。”
“好。”
“然后回来,给老周写系统,给我改方案,给我妈择菜。”
“好。”
“然后,”她抬起头,眼睛亮得像刚通电的显示器,“我们要个孩子吧。不要什么权重,不要什么计划,就要个像金龟子一样,随便飞、随便活、随便犯错的孩子。”
林默笑了,笑得眼泪出来。他低头亲她,亲她的额头,亲她的眼睛,亲她脸上那层灰。他尝到了灰的味道,苦的,涩的,但回甘。
那是二十年代码烧成的灰,也是二十年人生炼成的糖。
窗外雨停了,月亮出来,照在绿萝上。叶子油亮,没黄,没蔫,活得很好。
没有存档点,没有重启,没有#06#。
只有月光,只有雨气,只有一碗没炖的汤,和一个终于敢说不回头的程序员。
http://www.xvipxs.net/204_204148/70527534.html
请记住本书首发域名:www.xvipxs.net。VIP中文手机版阅读网址:m.xvipxs.net