第 06 篇 · 夜班程序员的工位
凌晨两点零二分,雨停了。七楼窗玻璃上还挂着水印,把远处天河那片楼的灯晕成一团一团的黄。
我泡了杯速溶咖啡,坐在调音台前翻笔记本。
这两周记了五通。我每记完一通,会在后面写一句给自己的备注。
外卖员小周:"同号二次来电,第 275 通。"
大三女生阿青:"镜面反射介质,疑似双向。"
保安老林:"垂直位移,B4 无图纸。"
便利店阿杰:"时间锚点重复,出现分身。"
网约车老陈:"载具内残留,乘客即本人。"
我把这五句连起来看了一遍。
凌晨两点零九,左边响了。
响了六声,我按下去。
我说:"晚安秦夜,我是秦夜,听得到吗?"
电话那头是个年轻男人的声音,说话很快,有点程序员那种一板一眼的节奏:"听得见,我姓林,广州的,做开发的,你叫我小林就行。"
我说:"小林好。这么晚还在加班?"
小林说:"不是加班,是夜班。我们组做海外业务,时区反着来的,一半人上夜班。"
我说:"那你慢慢说。"
小林说:"好。我说完你可能会觉得我在编,但我发誓这是真的,我可以把所有记录发给你。"
---
小林今年二十八,在天河一家做跨境电商的公司写后端。
他们组十一个人,一半夜班。夜班的时间是晚上十点到早上六点,办公室在十六楼,整层晚上就他们五六个人。
三个月前,他们组有个人死了。
那个人叫阿哲,三十二岁,做数据的。
小林说,阿哲是连续加班第九天的凌晨,趴在工位上没起来。
同事发现的时候,人已经凉了。
法医后来给的说法是心源性猝死。公司赔了钱,工位也保留了三个月——按规矩,人走三个月工位才清。
小林说:"所以阿哲那台电脑,一直还在。就在我斜对面。"
我说:"那台电脑一直开着?"
小林说:"开着。没人关。行政说等三个月满了再一起清理。"
我说:"然后呢?"
小林说:"然后从上个月开始,我在代码仓库里看到提交记录。"
我说:"谁的?"
小林说:"阿哲的账号。"
我说:"他不是走了吗?"
小林说:"走了。账号也停了,权限也收了。但提交记录里,他的名字每天都在。"
我说:"每天几点?"
小林说:"凌晨三点整。"
---
小林说,他第一次看到的时候,以为是有人盗号,或者系统缓存没清。
他去找运维查。
运维查完跟他说:提交记录里的地址是内网的,指向十六楼那台机器的固定地址。
那台机器,就是阿哲的工位电脑。
小林说:"我又查了那台机器的开机记录。三个月没人登录过,屏幕一直是黑的,但主机是开的。"
我说:"提交的是什么?"
小林说:"每次都一样。"
他说,每次提交只改一个文件,一个很老的数据脚本,阿哲生前最后写的那个。
改动内容每次都只有一行。
一行注释。
四个字:
// 还差一点
我说:"就这一行?"
小林说:"就这一行。第一天是这一行,第二天还是这一行,第三十天还是这一行。"
我说:"那文件被改了吗?"
小林说:"没有被实质改动。他只是把同一行注释删掉,再写一遍。所以改动记录上显示有变更,但内容没变。"
我说:"等于什么都没做。"
小林说:"对。等于他每天凌晨三点,坐在那里,把同一行字删掉,重写一遍。"
---
小林查了三十天的记录,每天都一样。他跟组里的人说了,没人信。有人说是不是谁拿阿哲账号搞恶作剧,小林把地址和机器编号甩出来,没人说话了。
后来有个老员工跟他说:"阿哲走的那天,那个脚本还没跑完。"
"什么意思?"
"他那个脚本跑了七天,死那天是第七天。他跟我说过,还差一点就能出结果了。"
"那结果出来了吗?"
"没有。他走了以后没人敢接,就挂在那儿。"
"所以他那句'还差一点',是在说那个脚本?"
"我不知道。但说了三个月,一次都没变过。"
---
小林说,真正让他怕的,是上周三。
那天晚上组里只有他一个人——另外几个请假的请假,调休的调休。
凌晨两点五十,他起身去接水。
接完水回来,路过阿哲的工位。
他说,那台电脑的屏幕,是黑的。
他走过去,站在那儿看了一会儿。
主机箱的电源灯是亮的,风扇在转。
但屏幕是黑的。
小林说:"我当时不知道怎么想的,我伸手摸了一下鼠标。"
我说:"然后呢?"
小林说:"屏幕亮了。"
我说:"亮了显示什么?"
小林说:"什么都没有。就是桌面,还是阿哲走之前那个样子。"
我说:"你动了吗?"
小林说:"我没敢动。我就站在那儿。"
小林说,他站在那儿大概三十秒。
然后屏幕上的编辑器自己打开了。
打开的是那个老脚本。
光标在最后一行,也就是那行注释后面。
然后光标开始动。
不是跳,是一格一格往前挪,像有人在打字。
打出来的还是那四个字。
// 还差一点
打完,光标停住。
过了大概十秒,编辑器上又跳出一行新字。
那行字不是注释,是普通文本,没有 // 前缀。
小林说:"那行字打出来的时候,我腿软了。"
我说:"写的什么?"
小林说:"写的:"
"你来了。"
我说:"就这?"
小林说:"没有。还有一句。"
"那我可以走了。"
---
小林说,打完这两行以后,编辑器自己关了。
屏幕暗下去,变成黑屏。
主机风扇还在转。
小林说,他当时没跑,也没喊,就站在那儿看着那个黑屏,一直到凌晨三点整。
三点整的时候,主机箱的电源灯灭了。
风扇停了。
整台机器彻底没电了,像是被人按了关机。
小林说:"我查了那天的提交记录。"
我说:"有吗?"
小林说:"有。凌晨三点整,阿哲的账号提交了一次。"
我说:"还是那四个字?"
小林说:"不是。"
我说:"那是什么?"
小林说:"那次提交,是把那行注释删掉了。"
我说:"删掉了?"
小林说:"删掉了。三个月来第一次,那行注释没有了。"
我说:"文件里现在是什么?"
小林说:"空的。那个脚本还在,但最后一行注释没了。文件是完整的,能跑,能出结果。"
我说:"出结果了吗?"
小林说:"出了。第二天运维跑了一遍,跑通了。那个挂了三个月的脚本,出结果了。"
---
第二天早上,小林去上班。
他走到十六楼,走到阿哲那个工位。
工位是空的。
电脑没了。
显示器没了,主机没了,键盘鼠标没了,连椅子都没了。
工位牌还在。
小林说,工位牌上原来写着"阿哲"。
但那天早上,上面写着的是——
"小林"。
---
我说:"小林,你现在在哪?"
小林说:"在公司。十六楼。"
我说:"你自己的工位?"
小林说:"不是。"
我说:"那你坐哪?"
小林说:"我坐在阿哲那个工位。"
我说:"为什么?"
小林说:"因为我昨天早上来的时候,我原来那个工位,也空了。"
我说:"电脑也没了?"
小林说:"没了。工位牌上写的,是下一个新来的同事的名字。"
我说:"那你怎么办?"
小林说:"我不知道。我坐在这儿,开着我自己的笔记本,但我登录的是阿哲的账号。"
我说:"为什么登录他的账号?"
小林说:"因为我的账号登不上去了。"
我说:"提示什么?"
小林说:"提示账号不存在。"
我说:"阿哲的账号呢?"
小林说:"能登。而且密码还是我自己的密码。"
我说:"……"
小林说:"秦夜,我问你一件事。"
我说:"你说。"
小林说:"昨天晚上,我在阿哲的工位上,看到那两行字以后,我做了一件事。"
我说:"什么事?"
小林说:"我坐在那儿,没走。我看着那个黑屏,一直看到三点。"
我说:"三点的时候灯灭了,风扇停了。"
小林说:"对。"
我说:"然后呢?"
小林说:"然后我回我自己工位,开我自己的电脑,写了一段代码。"
我说:"写什么?"
小林说:"我也不知道我为什么写。我就是……想试试。"
我说:"你写了什么?"
小林说:"我打开了一个我自己的旧脚本,一个三个月前就该跑完但一直没跑完的。"
我说:"然后呢?"
小林说:"我在最后一行,加了一句注释。"
我说:"加的什么?"
小林没说话。
过了很久,他说:"秦夜,你能猜到吗?"
我说:"能。"
小林说:"你说。"
我说:"// 还差一点。"
---
电话那头,小林哭了。
我没劝。
我等了他大概两分钟。
他说:"秦夜,我没有自杀的意思,你别担心。我就是……我控制不住。昨天晚上两点五十,我打开电脑,手自己就往那行敲。"
我说:"你几点敲的?"
小林说:"三点整。提交了。我查了记录,凌晨三点整,提交人:小林,改动内容:新增一行注释。"
我说:"内容呢?"
小林说:"// 还差一点。"
我说:"小林,你现在听我说。"
小林说:"你说。"
我说:"你明天早上,不要去十六楼。"
小林说:"为什么?"
我说:"因为你明天早上去,你那个工位会空。"
我说:"而下一个坐在那儿的人,会登录你的账号。"
---
**收尾**
第二天下午,小林给我邮箱发了一封邮件。
邮件里有两个截图。
第一张,是代码仓库的提交历史。
最新一条记录:
提交人:小林
时间:03:00:00
改动:新增注释 "// 还差一点"
第二张,是十六楼工位分布图。
图上用红框标了一个位置,旁边写着一行小字:
"这个工位,三个月内换过三个人。第一个叫阿哲,走了。第二个是我。第三个,是今天新来的实习生。"
邮件最后,小林问了一个问题:
"秦夜,我现在每天凌晨三点,都会敲那四个字。"
"我停不下来。"
"我想问的是——如果哪天,那四个字变成五个字,变成'我不差了',那我是不是就可以走了?"
"还是说,到那时候,下一个小林就该来了?"
---
**下期预告**
下一期,有听众说她是医院病房的夜班护士。
她说她负责的 32 床,病人三天前就走了。
但每天凌晨三点,32 床的呼叫铃还会响。
她去查房,床是空的,被子叠得整整齐齐。
只有枕头是湿的。