梅雨季的上海像座被水母寄生的水族馆。许明舟站在国金中心56层的落地窗前,望着雨滴在双层Low-E玻璃上蜿蜒成生殖纹路。会议室的磨砂玻璃后,CTO的剪影正在白板上切割着坐标系:“用户增长模型需要植入神经网络的痛觉感知......“
他数着第37滴雨水滑过观景窗的镀膜层时,手机在西装裤袋里震动。58同城的合租广告下,最新回复弹出:「HK区四川北路1906弄,月付三千二,押一付三」。发信人ID叫「404NotFound」,头像是个滴血的像素玫瑰。
三小时后,铝镁合金行李箱的滚轮卡进了弄堂口的青石拼花缝。许明舟弯腰拽拉杆时,闻到雨水浸泡的苔藓味里混着油墩子的焦香。二楼晒台突然传来吴侬软语的抱怨:“落雨天还晒啥被头!“抬头望去,褪色的真丝睡裙在雨帘后晃成半透明的海蜇皮,晾衣竿上滴滴答答的水珠正落在弄堂口的煤球炉残骸上。
404室的门牌下立着个克莱因蓝的人影。姜夏耳垂上的莫比乌斯环耳钉在暮色中划出拓扑曲线,右手小指缠着的绷带渗出普鲁士蓝。“程序员?“她用马克笔敲了敲素描本,本子边沿粘着半片梧桐叶脉,“我凌晨赶稿时,冰箱里的圣培露会尖叫。“说话时锁骨处的玫瑰纹身随肌肉起伏,花瓣边缘因皮肤过敏泛起鳞状光晕。
三十平米的老公房被隔成两个蜂巢。许明舟的行李箱碾过松动的菲律宾木地板,滚轮在陈年桐油渍上打滑。餐桌上的蒙德里安式色块间散落着未闭合的AI绘图软件,屏幕里外滩天际线正自动生成生殖崇拜图腾。半块沈大成条头糕躺在帕罗西汀药板旁,糖霜在铝箔包装上结晶出分形图案。
他们的作息像两个对蹠时区。清晨六点,当许明舟的须后水混入弄堂口“大壶春“的生煎香气时,姜夏的iPad屏幕刚熄灭最后一道蓝光;午夜他带着星巴克咖啡渣回来,总能看见厨房垃圾桶里堆满捏扁的象牌苏打水罐,瓶身凝结的水珠在月光下宛如避孕套的泪。唯一重叠的清醒时刻,是每周三上午八点零七分——楼下收垃圾车播放的《致爱丽丝》会同时震醒两个熬夜的灵魂。
第一个共同清醒的夜晚,是被天花板的交响乐打破的。暴雨在百年木梁结构中寻找共鸣腔,积水从三楼张师傅家渗入二层王阿婆晒台,最终在404室的石膏吊顶形成溃决。许明舟敲响浴室门时,姜夏正在莲蓬头下绘制虹口港的赛博朋克写生,数位笔在防水膜上划出液态金属的轨迹。
“接水的搪瓷盆在玄关柜第二层。“他的声音穿过水蒸气,在意大利进口的磨砂玻璃上折射成多普勒效应。姜夏裹着浴袍冲出时,发梢甩出的水珠正落在他解到第三颗的衬衫纽扣上。她闻到他袖口沾染的陆家嘴中央空调味,而他鼻腔里灌满柑橘调精油与松节油的悖论香型——这气味让他想起上周删除的错误代码,那些在用户行为分析散点图里诡异增殖的数据癌变。
凌晨两点十七分,厨房的飞利浦LED灯管开始表演癫痫。许明舟掀开老式雪花冰箱,发现冷冻层塞满罗森饭团,冷藏室躺着三支干涸的温莎牛顿丙烯颜料,其中一支钴蓝的管口凝结着疑似睫毛膏的黑色硬块。当雪菜肉丝面的热气蒸腾而起时,身后传来素描纸的沙沙声,像是某种节肢动物在啃食时光。
“能分我半包面吗?“姜夏的赤脚在仿古小方砖上印出水渍,脚踝处贴着褪色的纹身贴,依稀可辨“美院07级“的字样。她晃了晃手机,锁屏上是47条未读的工作群消息,“甲方说VI设计里的中国红不够赛博,要加入区块链的颗粒感。“
许明舟注意到她的羊毛袜沾着靛青颜料,像截肢失败的电子义肢。锅里的面汤突然沸腾,蒸汽爬上她锁骨处的玫瑰纹身,那抹暗红在氤氲中扭曲成他代码库里某个异常数据簇的形态——上周刚被清除的信用评估漏洞,也曾这样在深夜的服务器里无声胀大。
雨势在凌晨三点达到峰值。他们发现老洋房的排水系统正将整条弄堂的往事冲入苏州河:二楼晒台飘落的真丝睡裙、王阿婆打翻的雄黄酒、张师傅修了半辈子的凤凰牌自行车链条,此刻都在404室的搪瓷脸盆里重构时空序列。姜夏的数位笔在Procreate软件里勾画雨水轨迹,许明舟的MacBook屏幕上,神经网络模型正在解构石库门的毛细血管。
“你的算法在哭。“姜夏突然说。她指尖划过他屏幕上跳动的粒子群,“这些迁徙路径,像不像弄堂口排队买鲜肉月饼的人流?“许明舟转头时,鼻尖擦过她刚洗的头发——这次是鼠尾草混着松节油的味道,让他想起被甲方枪毙的初代算法,那些带着体温的原始数据。
外卖骑手的铃声响彻弄堂时,两个熬夜的灵魂同时抬头。送来的腌笃鲜在暴雨中保存着余温,塑料盒里的百叶结吸饱汤汁,像缩小版的石库门天井。订单编号在雨水中晕染成莫尔斯电码,许明舟下意识地掏出手机拍照——这个动作将在三个月后成为破解记忆黑市的关键线索。
姜夏用素描本垫着滚烫的汤碗,纸页间掉出半张燃烧过的设计稿。许明舟瞥见“轻奢国潮“的字样正在灰烬里蜷缩,突然想起自己那串被CTO否定的初始代码。此刻暴雨拍打着违章搭建的雨棚,某种共振频率让老式冰箱发出哮喘般的轰鸣,冷藏室里干涸的丙烯颜料管竟缓缓渗出水珠。
“你知道吗?“