第 7 章
发电机的嗡鸣
台灯下,程默的指尖在一行行后勤日志条目上滑动,直到停在一个被标记为“强制启动:00:03:08”的记录上,秒数精确得刺眼。
屏幕的幽蓝光线切割着他脸的轮廓。房间里只有暖气片间歇性的金属膨胀声,以及他自己平稳到刻意的呼吸。他维持这个姿势已经超过十分钟,目光在那串数字和上方几行证词整理文档之间来回移动。
文档里是几段音频的文字转录,旁边标注着时间和说话人。他戴上了耳机,再次点击播放。
首先是赵海峰的声音,平稳、清晰,带着站长特有的不容置疑:“……大概在晚上十点零三分左右,我听到备用发电机启动的那种轻微嗡鸣。很短暂,大概持续了两三分钟?对,当时我正在核对主控室的月度能耗报告,抬头看了一眼墙上的主时钟,十点零三分。”
程默暂停,看向屏幕另一角打开的后勤系统日志。那行“强制启动:00:03:08”对应的时间戳,是22:05:17。启动持续了3分08秒。
他切换到下一段录音。
林远的声音响起,略低沉,带着斟酌:“发电机响?那天晚上我在宿舍休息,没太注意具体时间。大概在十点过一点?可能十点零二分、零三分的样子。声音不大,就是那种低沉的嗡一声,持续了一会儿。老设备了,偶尔启动也正常。”
程默的指尖敲击桌面。十点零二、零三分。这与赵海峰在主控室核对报告时所说的“十点零三分左右”基本吻合。两个人身处不同地点,描述的启动时刻却都指向22:02-22:03区间。
但后勤日志显示,发电机实际强制启动的时刻是22:05:17。
但后勤日志的铁证显示,发电机实际强制启动的时刻是22:05:17。
误差两到三分钟。
在极端环境下,人对时间的感知可能产生偏差,尤其是在从事其他活动时。程默试图用这个理由说服自己。赵海峰在核对报告,林远在休息,都可能对时间的流逝产生误判。两三分钟,在封闭的、缺乏外部时间参照的观测站里,并非不可解释。
但他关掉了音频,调出了另一份文档。这是他之前从后勤小王那里旁敲侧击问来的、关于站内各系统时间同步机制的简要说明。里面提到,观测站的主时钟虽然偶有毫秒级跳变,但作为全站时间基准,其与各子系统(包括供电和后勤日志系统)的时间同步误差通常控制在正负一秒内。后勤日志记录的时间,尤其是这种标记为“强制启动”、需要精确记录事件以用于故障排查的操作,其时间戳的准确性是系统设计和运维的基本要求。
也就是说,后勤日志上22:05:17这个时间,误差极大概率在一秒以内。
而赵海峰和林远描述的“听到”的时间,与这个客观记录之间,存在着两到三分钟的、无法用个人时间感知误差轻易抹平的差距。
程默向后靠在椅背上,闭上了眼睛。耳机里似乎还残留着那两人平静的语调。不是一个人记错,是两个人同时记错了,而且错向了同一个方向——都认为启动发生得比实际更早。
这可能吗?
也许。如果那个“启动声”本身有什么特别之处,让人产生了时间上的错觉。或者,他们听到的根本不是同一次启动?但日志显示,案发当晚,备用发电机只有这一次计划外的强制启动记录。
他重新坐直,打开了一个新的空白文档,开始梳理。
已知客观事实:案发当晚22:05:17,备用发电机有一次持续3分08秒的强制启动。这是铁证一。
已知证人证词:赵海峰(主控室)和林远(宿舍)均声称在约22:02-22:03听到发电机启动声。这是证词一。
矛盾:证词描述的时间点早于客观记录约2-3分钟。
可能的解释一:证人集体时间感知错误。但两人在不同地点、从事不同活动,同时产生相同方向和幅度的误差,概率较低。
可能的解释二:后勤日志时间错误。但根据系统设计,这种关键事件日志时间戳错误概率极低,且若出错,应是随机偏差,而非系统性提前或延后。
可能的解释三:他们听到的不是发电机启动声,而是其他类似声音。但两人都明确指认是“备用发电机的那种嗡鸣”,且对声音特征的描述一致。
可能的解释四:他们在说谎。
程默的手指停在键盘上。这个念头像冰水一样沿着脊椎流下去。
为什么要在发电机启动的时间上说谎?如果师兄的死是意外,这个时间无足轻重。如果……不是意外,那么这个时间点就可能至关重要。提前两到三分钟“听到”启动声,能为他们在案发时间线上提供什么?
他不知道。现有的碎片还不够。
他需要更多关于那3分08秒的信息。强制启动的原因是什么?谁发起的?除了启动和停止,那段时间内发电机的负载有没有异常波动?这些信息可能藏在更底层的监控数据里,需要更高的权限,或者……更直接的接触。
程默关掉文档,拔掉U盘,拿起放在桌角的权限卡和一支小手电。他看了一眼桌上摊开的观测笔记,上面还有他之前记录的关于供电波动和望远镜异常转向的零散信息。这些“错误音符”依旧各自为政,但现在,他似乎摸到了那根可能将它们串起来的线——那精确到秒的3分08秒。
走廊的地毯吸收了大部分脚步声,只有应急灯周期性的微弱闪烁在墙壁上投下晃动的影子。程默朝着机房的方向走去。机房里除了主服务器,也安置着备用发电机组的控制单元和本地监控终端。那里或许有更详细的实时历史数据,即使不能直接调取,观察一下设备状态和接口也是好的。
越靠近机房,空气里那股淡淡的、混合了润滑油和电子设备散热的气味就越明显。低沉的、几乎不易察觉的嗡鸣声从厚重的隔音门后渗透出来,那是站内设备持续运行的基础背景音。程默刷了权限卡,门锁发出轻微的“咔哒”声。
机房里的光线是冷白色的,一排排机柜指示灯规律地闪烁着绿光。温度比走廊低几度,干燥的冷气拂过他的脸颊。备用发电机组占据着机房靠里的一个独立隔间,透过观察窗能看到它暗灰色的庞大身躯此刻静止着。控制单元就在隔间外侧的墙壁上,是一个嵌在墙内的触摸屏操作面板,旁边还有几个物理仪表和指示灯。
程默走近,用手电照亮操作面板。屏幕处于待机状态,显示着发电机当前状态“待命”,以及最后一次运行的概要信息。他尝试点击屏幕,调出历史记录菜单。
菜单需要二级权限验证。他输入自己的工号和密码,屏幕闪烁了一下,弹出一个提示框:“权限不足,无法访问详细历史日志。”
果然。这种关键设备的详细操作日志,不是普通工程师能随便查看的。但他能看到概要信息。最后一次运行记录赫然在目:
强制启动 | 时间:22:05:17 | 持续时间:00:03:08 | 启动原因:外部,指令 | 状态:正常结束。
外部指令。不是系统自动切换,也不是例行测试,是有人发出了强制启动的指令。指令来源没有显示,但这本身就是一个关键信息。
程默蹲下身,手电光柱扫过控制单元下方的接线和仪表。冰冷的金属机身在手电光下反射出模糊的光晕。他闭上眼,试图在脑海中构建画面。
22:05:17,发电机强制启动,嗡鸣声开始。持续3分08秒,到22:08:25结束。这是客观的物理时间轴。
而赵海峰和林远,他们声称在22:02-22:03就听到了“嗡鸣”。
如果他们在说谎,那么他们为什么要提前两到三分钟“听到”这个声音?这多出来的两到三分钟,能用来做什么?
一个模糊的猜想开始在他脑中成形,但还缺少关键的连接点。他需要知道,在那3分08秒里,除了发电机启动,还有什么其他系统可能受到影响?供电日志里那个模糊的“波动”,望远镜的异常转向,是否都发生在这段时间窗口内或前后?
他站起身,手电光无意中扫过发电机隔间观察窗的角落。窗框边缘似乎有一点异样。他凑近了些,用手电仔细照射。
那是一小片非常浅的、近乎透明的胶带残留痕迹,贴在观察窗金属边框靠近墙壁的缝隙处,大约指甲盖大小,不仔细看根本不会注意。胶带的大部分已经被撕掉,只留下一点点边缘和黏胶的印子。
这里为什么会有胶带?用来固定什么?临时贴个纸条?还是……
程默从口袋里掏出随身带的笔记本和笔,用笔尖轻轻拨弄了一下那片残留。黏胶已经有些干硬发黄,显然贴了有段时间,不是最近留下的。他小心地用笔尖挑起一点点边缘,借着光仔细观察。胶带是普通的透明胶,看不出特别。
但他还是用手机拍下了这个痕迹,包括它所在的位置和周围环境。然后,他退后几步,环视整个机房。除了低沉的背景嗡鸣和机柜风扇的细微声响,一切如常。没有人。这个时间,除了偶尔的巡查,很少有人会来机房。
他应该离开了。在这里待太久容易引起注意。
程默最后看了一眼发电机控制屏上那行“强制启动,总时长 3分08秒”的记录,将它深深印在脑子里,然后悄无声息地退出了机房。隔音门在身后合拢,将那股特有的气味和嗡鸣关在了里面。
回到房间的路上,他的思绪飞速转动。外部指令……胶带残留……时间矛盾……还有林远和赵海峰那过于一致的证词。林远提到发电机启动声时,时间点是模糊的,与这精确的3分08秒对不上。而关于那张排班表,林远不仅知晓具体内容,还立刻提供了“师兄讨厌临时调班”的解释,仿佛早有准备。
他推开自己房间的门,反手关上。台灯还亮着。他坐下,抽出笔记本,翻到空白页,拿起笔停顿片刻,然后写下“林远”两个字,在后面打上了一个重重的问号。他知道,自己对这位前辈的怀疑,已经从模糊的不安,变成了必须正视的、带着寒意的线索。林远在这些事件中的位置,远比他表现出来的更接近核心。
然后,他的笔尖移开。现在需要找一个突破口,一个能将这些碎片粘合起来的点。或许,可以从“外部指令”的来源入手?谁能发出这样的指令?站长赵海峰肯定可以,负责后勤和维护的小王理论上也有权限,林远作为资深工程师,是否也可能有临时权限?或者,是通过某种非正常手段触发的?
程默推开自己房间的门,反手关上。台灯还亮着,屏幕也依然停留在后勤日志的界面。他坐下,感到一阵疲惫和兴奋交织的紧绷感。线索在浮现,但迷雾似乎也更浓了。
他的目光落在桌面上一个旧U盘上。那是师兄以前偶尔用来和他传些大文件的,师兄出事后,这个U盘就一直放在他这里,他还没仔细检查过里面的内容。主要是些观测数据备份和项目文档。
鬼使神差地,程默将U盘插入了电脑。
熟悉的目录结构。他快速浏览着,大部分文件都有清晰的命名和日期。直到他点开一个名为“临时”的文件夹,里面是几个看起来像是缓存或碎片文件的东西,文件名是乱码。其中一个文件的修改时间,是师兄出事前三天。
程默尝试打开它,系统提示文件格式未知或已损坏。他想了想,用十六进制编辑器加载了这个文件。屏幕上出现一串串代码。他滚动着,大部分是乱码,但在文件末尾附近,出现了一小段看起来像是文本残留的东西,被加密或者损坏了,只能辨认出零星字符。
他尝试了几种常见的编码方式转换,没有结果。又试着用一些简单的、师兄可能用过的密码(比如观测站代号、常用项目编号)去解密,依旧失败。
就在他准备放弃时,他忽然想起师兄以前说过的一句话,关于数据备份的:“有时候最不起眼的地方,反而藏着真正的基准点。”师兄说这话时,手指无意识地敲着键盘,敲的节奏是……莫尔斯电码?不,更像是一种习惯性的敲击,三短,一长,三短。
S.O.S?
不。程默摇摇头,觉得自己想多了。但他还是尝试着,将那段零星字符复制出来,用一些基本的替换密码去尝试。他想起师兄喜欢用天文坐标相关的数字做密码。
他试着用案发那天的儒略日数字去解码,失败。又用观测站的经纬度数字尝试。
屏幕上的乱码跳动了一下,部分字符开始变得可读。不是完整的解密,只是文件损坏后残留的片段被重新映射成了可识别的字符。一段断断续续的话浮现出来:
“……太累了……真想……休息……但有人……需要我……不能……”
句子在这里中断,后面又是一片乱码。
程默盯着那行字,呼吸微微一滞。
太累了,想休息,但有人需要我。
这是什么?日记的碎片?随手写下的心情?还是……某种暗示?
“有人需要我”。谁需要他?需要他做什么?
程默的后背泛起一丝凉意。他立刻将这段解密出来的碎片文字保存下来,标注好来源文件和时间。然后,他开始更仔细地检查U盘里的其他文件,尤其是那些修改时间接近案发日期的。但再没有发现类似的加密或损坏文件。
他靠在椅背上,目光在屏幕上那段话和旁边打开的证词文档之间游移。师兄在出事前感到疲惫,想休息,但因为“有人需要”而无法休息。这个“有人”,会不会与他的死有关?需要他做什么?替他值班?修改排班表?还是……知道了什么不该知道的事情?
“咚咚。”
轻轻的敲门声响起。
程默浑身一僵,几乎是本能地,他迅速切换了电脑屏幕的窗口,从解密文件界面切回了之前打开的后勤日志和证词整理文档。然后深吸一口气,让表情恢复平静,才开口:“请进。”
门被推开,林远高大的身影出现在门口,手里依旧端着那个冒着热气的马克杯。他脸上带着惯常的、略显疲惫但温和的神情。
“小默,还没休息?”林远走进来,很自然地扫了一眼程默的桌面,目光在那摊开的、写着证词摘录和后勤日志片段的笔记本上停留了一瞬,又掠过电脑屏幕。“又在研究这些记录?”
“嗯,整理一下之前的观测数据。”程默说,声音尽量平稳。他注意到林远的手指在马克杯壁上轻轻摩挲着。
“别太拼了。”林远叹了口气,语气里带着长辈的关切,“我知道师兄的事对你打击很大,你想弄清楚。但有些时候,过于钻牛角尖,反而会让自己更难受。数据是死的,人是活的,人的记忆和感觉……有时候没那么精确。”
程默的心脏微微收紧。林远的话听起来是关心,但每个字都像针一样,精准地刺向他正在思考的问题核心——记忆和感觉的精确性。
“我只是觉得有些地方不太对劲。”程默抬起眼,看着林远,“想弄明白。”
“比如呢?”林远喝了一口杯子里的东西,热气模糊了他的镜片片刻。
程默犹豫了一下,决定抛出一点试探。“比如……案发那天晚上,备用发电机启动的时间。我看了看后勤日志,和你们之前回忆的好像有点出入。”
林远摩挲杯壁的手指停顿了一下,很细微的动作。“哦?什么出入?”
“日志记录是十点零五分左右启动的,持续了三分多钟。”程默慢慢地说,观察着林远的反应,“但之前你和赵站长回忆的,都是十点零二、零三分就听到了声音。”
林远微微蹙眉,像是在努力回忆,然后摇了摇头,露出一个无奈的笑容。“你看,我就说人的记忆不靠谱吧。尤其是那天晚上,我本来就有点累,迷迷糊糊的,对时间点不可能记得那么精确。差个两三分钟太正常了。赵站长那边……他当时在忙工作,可能也是大概估计了一下。这种细微的时间差,在站里很常见,主时钟和各个子系统之间偶尔也会有毫秒级的同步误差,传到我们人的感知里,再加上当时的状态和环境,差个几分钟真不奇怪。”
他顿了顿,语气更加语重心长:“小默,我知道你心思细,想找到每个细节的完美解释。但有时候,过度解读这些正常的波动和误差,只会让自己陷入死胡同。发电机启动,可能就是一次普通的、计划外的切换,因为当时主电网有什么瞬间波动之类的。把它当成一个孤立事件,别让它消耗你太多精力。你现在更需要的是休息,调整好状态。”
孤立事件。别消耗精力。调整状态。
程默听着这些话,目光落在林远脸上那真诚的、带着担忧的神情上。如果不是他刚刚发现了证词与客观记录之间那难以解释的、非随机的矛盾,如果不是他看到了“外部指令”和那段加密的碎片文字,他几乎要被这番充满关怀和合理性的劝说打动。
但现在,他只感到一股冰冷的、逐渐清晰的警觉。
林远在引导他忽略这个时间差。用“记忆不靠谱”、“正常误差”、“孤立事件”这样的理由,温柔地、不着痕迹地,将他刚刚发现的、可能是第一个坚实矛盾点的线索,定义为不值得深究的噪音。
“林老师说得对。”程默垂下目光,看着自己的笔记本,手指无意识地捏了捏笔杆,“可能是我太敏感了。差两三分钟……确实不算什么。”
“你能这么想就好。”林远似乎松了口气,脸上的笑容真切了些,“别给自己太大压力。有些事……过去了就让它过去吧。执着于改变不了的东西,对自己、对站里其他人,都没什么好处。站里现在需要的是稳定,是大家齐心协力度过这个封山期。胸怀如海,意志如峰,有时候也要用在放过自己上。”
他又喝了一口热饮,像是随口提起:“对了,你最近是不是经常去机房?我巡查的时候好像看到你进去过。那里设备多,线路复杂,一个人去的时候小心点,注意安全。”
程默的指尖微微一凉。林远在监控他的行动?还是巧合?
“嗯,谢谢林老师提醒。我只是去看看服务器运行状态,下次会注意。”他低声应道。
“那就好。”林远点了点头,似乎目的已经达到。他转身准备离开,走到门口时又停住,回头看了程默一眼,眼神在台灯的光晕里显得有些深邃,“早点休息,小默。别忘了,数据不会骗人,但解读数据的人有时候会自己骗自己。找到那个‘不会骗人’的基准点,其他问题都会绕开它。”
门轻轻关上。房间里重新只剩下程默一个人,以及暖气片单调的“咔嗒”声。
程默一动不动地坐着,听着林远的脚步声在走廊地毯上渐渐远去。直到彻底消失,他才缓缓地、长长地吐出一口气。
刚才的对话像一场无声的交锋。林远每一句看似关怀的话,此刻在他脑中回放,都镀上了一层截然不同的色彩。
“差个两三分钟太正常了”——他在淡化时间矛盾的重要性。
“过度解读这些正常的波动和误差”——他在将客观矛盾重新定义为可忽略的“正常”。
“别让它消耗你太多精力”——他在劝阻继续调查。
“胸怀如海,意志如峰,有时候也要用在放过自己上”——他搬出了赵海峰常说的话,意在施加一种集体意志的压力。
“你最近是不是经常去机房?”——这是警告,表明他的行动被注意到了。
还有最后那句关于“基准点”的话。曾经,程默觉得那是师兄和林远教给他的、寻找真相的箴言。现在听来,却像是一种反讽,或者……一种提醒?林远是在暗示他,现在的调查方向找错了“基准点”?
程默的目光回到电脑屏幕。他切回了那个解密出来的碎片文件,看着那句“太累了,想休息,但有人需要我”。
需要师兄的人,是谁?
林远吗?赵海峰吗?还是别的什么人?
他重新打开后勤日志,找到那条“强制启动:00:03:08”的记录,将它高亮标注。然后,他连接了房间里的打印机,将包含这条记录的一小段日志页面打印了出来。
纸张从打印机里缓缓吐出,带着淡淡的墨粉气味。程默拿起那张还微热的纸,走到书桌前,从笔筒里抽出了那支红笔。
他的手很稳。红笔的笔尖悬在“00:03:08”这几个数字上方,停顿了大约两秒。然后,他画下了一个圆圈,将这几个数字,连同前面的“强制启动”和后面的时间戳“22:05:17”,一起圈了起来。
红色的圆圈在黑白打印的日志上异常刺目。
程默将纸平铺在桌面上,后退一步,看着它。
3分08秒。精确到秒的物理时间。不可篡改的系统记录。客观存在的强制启动。
而围绕这个客观事件,两个人的证词出现了统一的、非随机的“错误”。
这不是记忆的偏差。这是证词的裂痕。
是幽灵在完美的不在场证明网络上,留下的第一个、可以被公开验证的、物理意义上的裂缝。
林远刚才的警告和引导,非但没有打消他的疑虑,反而像一束强光,照出了这个裂缝的存在。让他更加确信,这3分08秒,绝不是“孤立事件”。它是钥匙。是连接供电波动、望远镜异常转向,乃至所有其他“错误音符”的可能的时间锚点。
也是危险的开始。
程默将那张画着红圈的日志纸小心地对折,放进笔记本的夹层里。然后,他关掉了台灯,房间里陷入黑暗,只有电脑屏幕的微光映亮他半边脸庞。
窗外的雪山在夜色中只剩下模糊的、巨大的黑影轮廓,沉默地矗立。
他知道,从这一刻起,调查的性质变了。他不再只是盲目地搜集碎片。他有了一个明确的、坚实的矛头——那精确的3分08秒。他要以这个时间为基准,逆向重构那个晚上发生的一切,找出是谁按下了强制启动的按钮,是谁需要那多出来的两到三分钟,又是谁,需要师兄永远沉默。
而林远……程默在黑暗中,无声地咀嚼着这个名字。这位他一直视为导师和前辈的人,此刻在他心中的形象,已经彻底笼罩上了一层浓重的、无法看透的疑云。
他必须更加小心。因为幽灵,或许不止一个。