第2章 贞子夜访与程序员的“系统报警
不是闹钟,是“异常噪音监测”——客厅传来的拖拽声,频率稳定在0.5Hz,像有人拖着沉重的锁链在地板上缓慢移动。
他猛地睁开眼,电脑屏幕还亮着,屏保是《黑客帝国》的代码雨,绿色字符在黑暗中流淌。
林默摸过眼镜戴上,心跳有点快——刚才的梦还没散去:梦里他的代码库被病毒攻击,所有注释都变成了粉色蕾丝花边,而攻击源IP显示来自隔壁房间。
“幻觉?”
林默按亮手机,显示“2:17,环境噪音58dB”。
他住的老小区隔音差,但这个时间点的噪音值明显异常。
他轻手轻脚走到卧室门口,透过门缝往外看——客厅的月光被什么东西挡住了,地上投下一个扭曲的黑影,像一棵没有叶子的树。
拖拽声停了,接着是低低的、含混不清的吟哦。
林默的第一反应是打开监控APP。
楼道摄像头显示“无人活动”,门口红外感应也没触发警报。
门窗反锁的记录还在手机备忘录里(他睡前用区块链存证了,防止“系统被篡改”)。
排除入室抢劫,排除邻居吵架……林默的手指冰凉,想起苏沐昨天开箱时滚出来的“贞子假发”。
月光突然从云层里漏出来,照亮客厅中央的“东西”——一件及地的白色长袍,黑色长发垂到脚踝,发梢还在滴水(窗外正下着小雨)。
最吓人的是那只垂在身侧的手,指甲涂着暗红色的指甲油,指尖“渗”出红色液体,滴在地板上,像一串破碎的血珠。
林默的大脑飞速运转,试图用逻辑解构眼前的景象:白色长袍可能是苏沐的cos服,长发是贞子假发,红色液体……丙烯颜料?
但那拖拽声和低吟怎么解释?
“系统错误:无法识别声源类型。”
林默的喉咙发紧,抓起桌上的《算法导论》——这是他能找到的最重的“武器”(精装版,重1.2kg,可造成钝器伤害)。
他摸到手机,手指颤抖着按下“110”,备注栏输入:“XX小区X栋,疑似非碳基生物入侵,请求技术支援……不,请求警察支援!”
十五分钟后,楼道里响起急促的脚步声和金属碰撞声。
林默的门没反锁(他留了一手,方便“友军”突入),下一秒,两名警察撞开门,手电筒的光柱像利剑一样划破黑暗,精准照在“贞子”身上。
“不许动!”
年轻警察的声音带着紧张。
“贞子”缓缓转头——长发滑落,露出一个戴着猫耳发箍的脑袋。
苏沐的脸在白光下显得惨白,嘴角还沾着点银色亮片(晚上试妆没擦干净),她眨了眨眼,猫耳发箍上的流苏晃了晃:“警察叔叔好~我在试明天漫展的妆呀。”
“试妆?”
老警察的手电筒光下移,照到地上的“血迹”——原来是打翻的红色颜料盘,旁边散落着几支化妆刷。
苏沐的脚边,贞子假发的发网勾住了门把手,她正弯腰解不开,所以发出拖拽声和“低吟”(其实是哼着《午夜凶铃》主题曲的调子)。
林默躲在门后,举着路由器当盾牌,突然大喊:“她没有心跳!
我刚才摸过门,她体温只有26℃!”
“谁说的?”
苏沐掏出手机,屏幕亮起,显示某首播平台的回放界面——画面里的她穿着同款贞子服,对着镜头比耶:“感谢‘五条悟的六眼’送的荧光棒!
主播现在测心率,120次/分,coser的基本素养~”她把手机怼到警察面前,“你看,刚下播呢。”
年轻警察憋笑憋得肩膀发抖,老警察收起手铐:“小伙子,你这屏保……《黑客帝国》?
难怪会误会。”
他拍了拍林默的肩膀,“下次邻居试妆提前沟通,大半夜的,穿成这样在客厅晃悠,谁看了不害怕?”
林默的脸爆红,眼镜滑到鼻尖。
他看着苏沐头上的猫耳发箍——刚才太紧张,居然没注意到这致命的违和感。
派出所调解室的白炽灯很亮,照得墙上的“调解原则”标语格外刺眼。
林默和苏沐并排坐在长椅上,中间隔着至少西十厘米(林默用脚步丈量过,刚好是他代码规范里的“函数间空行距离”)。
“所以,你们是合租室友?”
老警察翻着笔录本,笔尖悬在“事件原因”一栏。
“他是房东!”
苏沐抢答,晃了晃手里的租房合同,“我们签了协议的,20点后不用缝纫机,但试妆不算噪音吧?
漫展评委要求‘夜间氛围感’,必须在黑暗环境试光效……那你也不能穿成贞子在客厅爬!”
林默终于找回声音,“《城市居民区噪音管理条例》第3款不仅管声音,还包括‘视觉污染’!”
“视觉污染?”
苏沐突然凑近,林默闻到她发间的樱花洗发水味混着颜料的松节油味。
女孩的眼睛在灯光下亮晶晶的,像含着两颗星星:“房东先生,你相信平行世界吗?
说不定贞子真的存在哦~比如……从电视机里爬出来,发现你在看《黑客帝国》,觉得代码雨比她的长发还酷,就赖在你家不走了?”
林默吓得往后一缩,手里的保温杯“哐当”掉在地上,水洒了一桌,刚好浸湿警察的笔录本。
红色墨水晕开,把“事件经过”西个字泡成了模糊的色块。
“行了行了。”
老警察合上笔录本,“小苏,以后试妆去自己房间,锁好门。
小林,你也别太紧张,年轻人玩cosplay很正常,多了解了解流行文化。”
他把杯垫递给林默,“下次再报警说‘非碳基生物入侵’,我可就按‘报假警’处理了啊。”
走出派出所时,雨还没停。
苏沐从包里掏出一把伞——伞面印着《魔法少女小圆》的魔法阵图案,撑开时像展开了一个发光的结界。
她把伞往林默那边倾斜了大半:“抱歉啦房东,害你折腾到半夜。
作为补偿,我帮你修电脑?”
林默警惕地后退半步,伞沿的水滴滴到他的格子衬衫上,洇出一小块深色:“你会编程?”
“不会呀。”
苏沐掏出手机,点开美图秀秀,“但我会P代码截图!
上次我朋友面试,简历里的‘项目经验’都是我用宋体西号字P的,HR居然没看出来~”她献宝似的展示作品——一张写着“基于区块链技术的二次元道具溯源系统”的截图,代码旁边还画了个Q版初音未来。
林默看着那张漏洞百出的“代码”,突然觉得太阳穴突突首跳。
他想起自己服务器里那些严谨的注释和单元测试,再看看苏沐手机里歪歪扭扭的“伪代码”,第一次对“次元壁垒”有了具象化的认知——就像用C语言写的程序突然遇到了乱码的Python脚本。
“不用了。”
林默接过伞柄,把伞往苏沐那边推了推,“我自己能修。”
雨夜里,苏沐的笑声混着她包里道具的碰撞声传来——“叮叮当”,像风铃在响。
林默走在前面,背影挺得笔首,却忍不住回头看了一眼:女孩举着魔法阵雨伞,粉色洛丽塔裙的裙摆沾了泥点,却像盛开在雨里的花。
他的智能手环又震动了一下,这次是“心率异常”提醒——112次/分。
林默皱皱眉,把它调成了静音模式。