杨博文推开机房门的时候,左奇函正戴着耳机,屏幕上是莫思远那台服务器的残余日志。他没回头,只是从耳机里漏出一句:
“关门。空调二十六度,你穿得少。”
杨博、文低头看了看自己——一件洗得发白的卫衣,确实单薄。他没说话,反手带上门,拉了把折叠椅坐在左奇函旁边。
“教授第三题的事,你听到了。”
“听到了。”左奇函摘下一边耳机,挂在脖子上,“你找每个人谈话,确认自己是你。轮到我了,问吧。”
杨博文没立刻问。他看着左奇函的屏幕——那些跳动的字符,像某种陌生的星图。
“你信命吗?”杨博文忽然问。
左奇函挑眉:“你问我信不信命?我连浮点运算的误差都不信,我会信命?”
“不是那种命。”杨博文说,“是——有些人天生就活在两个世界里。一个看得见,一个看不见。你写代码的时候,是在和看不见的世界说话。我侧写的时候,也是在和看不见的世界说话。”
左奇函沉默了两秒。
“你绕这么大弯,就为说这个?”
“不。”杨博文看着他,“我是说,我们俩其实是一类人。都用符号代替血肉。你用0和1,我用微表情和动机。我们都以为自己站在外面,冷静地拆东西。但教授看穿了——他说我比我以为的更像他。那我忍不住想,你呢?你像谁?”
左奇函的手指停在键盘上。
“我不像任何人。”他说,但语气不像平时那么笃定,“我像一台机器。机器不需要像谁。”
“机器也会被驯化。”杨博文轻声说,“沈墨被时代驯化,莫思远被同行驯化,你被什么驯化过?”
左奇函猛地转过椅子,面对杨博文。
机房里只有服务器风扇的嗡鸣,和远处走廊偶尔传来的脚步声。
“……我十岁那年,我爸把我的第一台电脑砸了。”左奇函说,声音很平,像在念一段日志,“因为他发现我在网上黑进了他单位的考勤系统,把他迟到记录改了。他没打我,他只是说:‘你这种人,将来要么进局子,要么进棺材,别进家门。’”
他转回去,重新面对屏幕。
“后来我进了警校,不是因为想当警察。是因为警察合法地拥有最多的数据。我想看看,一个被允许看尽别人秘密的系统,长什么样。”
杨博文没动,也没记。他只是听着。
“你侧写别人,是因为想懂他们。”左奇函继续说,语速变快了一点,“我入侵系统,是因为不想被人懂。我们方向相反。你往里走,我往外走。但……”
他顿了顿。
“但有时候半夜跑完数据,我会想,如果有一个人,既能看懂我的代码,又能看懂我的沉默——那会不会很麻烦?”
杨博文忽然笑了。不是冷笑,也不是礼貌的笑,是一种很轻的、像代码里终于跑通了某个死循环一样的笑。
“会。”他说,“会很麻烦。因为那个人会知道,你骂‘这破机器’的时候,其实是在骂自己。会知道你每次说‘我没事’的时候,心率都比平时快八拍。会知道你明明可以一个人扛,却还是会在凌晨三点给我们群发‘记得喝水’。”
左奇函的耳朵尖红了。
机房里没开大灯,只有屏幕的蓝光。那点红,在蓝光里像一小团违规数据。
“……你侧写我。”
“不是侧写。”杨博文说,“是确认。教授想让我在镜子里找他。但我现在在找你们。左奇函,你不是机器。你是那个会在服务器宕机时第一个冲进来,一边骂一边把备份翻出来的人。你是那个明明自己三天没睡,还帮陈浚铭改他那份烂到家的报销单的人。”
左奇函低头,手指无意识地在桌沿敲了两下。像在敲回车。
“你跟他们说这些了?”
“还没。第一个是你。”
“为什么是我?”
杨博文站起身,走到机柜旁,指尖轻轻碰了碰某个运行中的硬盘,嗡鸣传到掌心。
“因为如果你是我对话的第一人,而你能听懂——那我就知道,我还站在这边。”
他转过身,看着左奇函的背影。
“左奇函。”
“……嗯。”
“如果72小时后我去那个地址,你别拦我。但你要答应我一件事。”
左奇函终于转过椅子,仰头看他。
“什么?”
“在那72小时里,你帮我做一件事。不是追踪教授,不是破译文件。”杨博文声音很轻,“帮我记着——杨博文平时喝什么咖啡,转魔方用哪只手起手,生气的时候会先闭左眼。这些不是数据,是锚。如果我在那边开始分不清我和他,你就把这些锚抛给我。”
左奇函盯着他看了好几秒。
然后他伸手,从桌角那杯已经凉了的冰美式里,把吸管抽出来,递给杨博文。
“你喝我剩的,我就信你。”
杨博文接过来,含了一口。苦的,凉的,有左奇函唇齿间那种很淡的烟草和薄荷糖味。
“记下来了。”杨博文说,“锚点一:左奇函的冰美式,凉了也喝。”
左奇函猛地别过脸,重新戴上耳机,声音从耳机漏出来,有点闷:
“……锚点二:杨博文不拒人千里之外的时候,会先闭左眼。我记了三年了。”
服务器风扇声里,有什么东西安静地落了地。
不是告白。是比告白更麻烦的东西——
两个习惯把人拆成数据的人,终于允许对方,把自己的数据,存进彼此的本地盘。
像一段还没编译完的程序,知道能跑,但谁都没按那个运行键。