老檀没有立刻念。
他坐在工位前,手指停在键盘上,停了大概十秒。
机房里没人说话。窗台上那台交换机嗡嗡响,风扇转得不太顺,每转几圈就轻轻磕一下。
“檀哥。”灰贝又说了一遍。
“嗯。”
“第47次,写的是谁?”
老檀抬起手,敲:
git log --format=‘%h %s’ --reverse | sed -n ‘47p’
屏幕上跳出一行。
他看着那一行,没有动。
花班忍不住凑过来,低下头看。看完,她的嘴张开了。
那一行是:
第47次。老檀。
花班猛地转过头。
“檀哥!这是什么?”
老檀坐在那儿,看着屏幕。窗外南门那条街的路灯,六点整一齐亮起来,光斜着照进屋里,落在他手背上。
“花班。”
“嗯。”
“你去把铁冠那份东西拿来。”
“什么东西?”
“那张整改通知。”
整改通知还在。花班从一个抽屉里翻出来,纸角已经卷了,递过去。
老檀把它摊在桌上。
第一条:该场地已于本学期划归后勤处,用途为储物间,不得用于任何形式的长期占用。
他没看这一条。
他把纸翻过来,背面空白。又翻回来,往下看。
第四条:未备案学生组织不得在校内架设服务器并对外提供服务。
“檀哥,”花班说,“这上面没有你的名字啊。”
“没有。”
“那你找什么?”
老檀把纸放下。
“我找的不是这个。”
他站起来,走到墙角,蹲在那台双路E5前面,伸出手在机箱侧面摸了一下。
摸到那块锈。
“花班。”
“嗯。”
“你还记不记得,我的名字是怎么进那份名单的?”
屋里安静了。花班愣了一下,然后想起来了。
“门禁。”
“门禁。”老檀说,“2020年5月,我在北区旧实验楼三楼搬服务器。每天进出刷卡。刷了两个月。”
“所以你的名字被系统自动写进了工坊成员名单。”
“被系统自动写进去。我从来没进过工坊。”
“你那时候连工坊是什么都不知道。”
“我不知道。”老檀说,“我只知道那屋里有一堆机器,有个戴眼镜的人跟我说,搬完给我两百块,管两顿饭。”
老阙在角落里开口了。
“檀哥。”
“嗯。”
“先说一句。”老阙说,“门禁是按刷卡次数算的,不是按天。”
“按次。”
“你搬了多久?”
“两个月,四十一个工作日。有一天搬了两趟,晚上十点又开门取风扇。”老檀说,“四十二加五。”
“四十七。”老阙说,“对得上。”
“素弦知道。”他说。
花班愣住。
“他知道什么?”
“他知道我的名字是假的。”
“他怎么知道?”
“因为那份名单,是他自己一张一张核对过的。”
老檀站起来,走回工位。
“慕松那个本子上写着,一千一百三十七次署名,本人签的四十一次。核对这个的人,得把一千一百三十七个名字,一个一个看一遍。”
他抬起头。
“他看完了。”
“所以他看见‘老檀’这两个字。”
“他看见了。”
“他知道那是门禁刷出来的。”
“他知道。”老檀说,“一个从来没进过工坊的人,名字排在最后,日期还是五月。他一看就知道。”
“那他为什么还写?”老阙说。
老檀看着屏幕上那一行。
“我要是知道,”他说,“就不用跑这一趟北京了。”
他伸出手,查哈希:
git log --format=‘%h’ --reverse | sed -n ‘47p’
3f8a91c。
git show --stat 3f8a91c
屏幕上跳出:
commit 3f8a91c4d7e2b1a0f9c8d6e5b4a3f2c1d0e9b8a
Author: 素弦
Date: Fri Jun 12 02:47:11 2020
第47次。老檀。
────────────
0 files changed
0 insertions(+), 0 deletions(-)
零。
花班盯着那两个零。
“檀哥,这次提交是空的。他什么都没改。”
“他什么都没改。”老檀说。
“那他提交什么?”
老檀没有答。他把窗口往下滚。
因为那个提交不是空的。
下面还有东西。
git show 在文件改动之后,还会打出提交说明的正文。这个提交没有文件改动,所以正文直接跟在那两个零后面,隔着一段空白。
那段空白下面,有一行字。
老檀把那行字看了两遍,念了出来:
“若有人看到这一行,请替我确认一下:他来了没有。”
屋里没有人说话。
花班先反应过来。
“他来了没有?”她说,“他问的是谁?”
“我。”老檀说。
“你怎么知道是你?”
“因为这个提交的标题是‘第47次。老檀’。”老檀说,“日期是2020年6月12号,凌晨两点四十七分。”
他抬起头。
“工坊解散是6月17号。这是解散前五天。”
花班在心里算了一下。
“五天,”她说,“他在最后五天里,还在提交。”
“他推倒了四十六次,每一次写一个名字。写到第四十七次,”老檀说,“他停住了。”
“为什么停?”
“因为前面四十六个,都是已经做过的人。”
老檀把窗口拉回顶端。
“第四十七个不是。”
“那是什么?”
老檀看着那行字。
“是还没来的人。”
灰贝站在门口,抱着那台裂屏的笔记本。
“檀哥。”
“嗯。”
“我哥写这个的时候,”他说,“不知道你会来。”
老檀转过头看着他。
“他不知道。”
“那他为什么写?”
“因为不知道,”老檀说,“才是第七批的意思。”
他把椅子往后推了推,站起来,走到白板前。
白板上写着:
按谁还在,找。
+ 一个还在等的:016(明年六月)
已签:3(0048 / 0002 / 0017)
待签:45
他拿起板擦,把“待签:45”擦掉,重新写:
待签:45
其中:第047号 • 老檀 • 待签
他把粉笔放下。
“花班。”
“嗯。”
“我现在签。”
花班愣住了。
“檀哥,你没做过啊。”
“我知道。”
“你连一行都没提交过。”
老檀没有答。
屋里安静了。
老檀走到工位前,坐下。花班把手机递过来,打开录音。
老檀按下录音键,对着手机说:
“我是老檀。”
停了一下。
“我确认第 0047 号贡献记录。”
他停住了。停了大概三秒。屋里没人说话,只有交换机磕了一下。
然后他说完了。
“为我本人所作。”
花班按了停止。
“檀哥。”
“嗯。”
“你这一条,”花班说,“过不了。”
“为什么?”
“因为要查三样。有没有调用现成的库、权重像不像开源的、有没有推倒重写。”
她停了一下。
“你一样都没有。”
老檀看着她。
“那就不让它查。”
“不让它查?”
“不让它查。”老檀站起来,“你把渠道那个生成脚本再打开一遍。”
花班坐回工位,敲:
cd /channel
cat build.py
屏幕上跳出几行,还是那几行:
江大工坊 • 渠道模块
用途:生成成果署名表。
输入:records/ 下的全部贡献记录。
输出:一份署名名单。
────────────
本模块自 2017 年 12 月首次运行至今,
完整输出次数:0
“檀哥,这里没写要查贡献记录。”花班说,“它只写‘输入:records 下的全部贡献记录’。”
“那它靠什么决定谁在名单上?”
花班低下头,敲:
cat rules/empty.py
屏幕上跳出那段代码:
for a in authors:
if a['contrib'] > 0 and not a['signed']:
return False
花班盯着那两行,忽然转过头。
“檀哥!”
“嗯。”
“它只查签名。”
“什么?”
“你看这个判定。只要有贡献记录,就必须有签名。”
她抬起头。
“但反过来,它没说:没贡献记录的,不能签名。”
屋里静了几秒。
老檀盯着那两行代码,窗外有辆电动车从楼下过去,灯扫了一下墙面。
“那第0047号,”他说,“有贡献记录吗?”
花班低下头,敲:
python build.py --dry-run --detail 47
屏幕上跳出:
序号 047
贡献记录:0
作者标识:老檀
签名:NO
────────────
状态:PASS(无需签名)
花班盯着那个零。
“檀哥,它说 PASS。它不需要你签名。”
老檀站在那儿,看着屏幕。屋里六个人都在看他。
“花班。”
“嗯。”
“那就让它签。”
他伸手把花班从椅子上推开一点,自己在键盘上敲:
python build.py --dry-run --force-sign 47
屏幕上跳出:
警告:序号 047 的贡献记录为 0。
强制签名将写入一条“零贡献”记录。
这将使名单中出现一个贡献为 0 的作者,
并使其排在最后一位。
────────────
确认? (y/N)
老檀没有立刻敲。
他看着那行“并使其排在最后一位”。
过了大概十秒,老阙在角落里开口了。
“檀哥。”
“嗯。”
“你签。”
老檀转过头。
“为什么?”
老阙把伤腿换了个姿势。
“因为排最后,”他说,“才是该站的位置。”
屋里安静了。
老檀转回屏幕,敲了 y。
屏幕上跳出:
────────────
签名已写入。
序号 047 • 老檀 • contrib=0 • signed=YES
────────────
MISSING SIGNATURES: 44
────────────
OUTPUT: BLOCKED
四十四。
花班盯着那个数字,眉头慢慢皱起来。
“檀哥,四十四。签之前也是四十四。”
“也是四十四。”
“为什么?”她说,“你签了,数没动。”
老檀把两个窗口并排摆好。左边是签名表,右边是统计。
“因为这一条不算。”
“什么叫不算?”
“四十七减三,是四十四。”老檀说,“我这一条,贡献是零。它不进这个数,也不出这个数。签了跟没签,对这个数字没有影响。”
花班看着屏幕上自己刚敲的那一行 contrib=0。
“所以你这三年……”
“这三年不在表上。”老檀说。
屋里没人接话。孙鹏站在电磁炉边上,手里的筷子停在半空。
“檀哥。”他忽然说。
“嗯。”
“那你签它干什么?”
老檀站起来,走到白板前,把“已签:3”擦掉,写成:
已签:4(0048 / 0002 / 0017 / 0047)
待签:44
“因为四十四这个数,”他说,“得有个东西证明它本来该是四十七。”
他转过身。
孙鹏把筷子放下。
“值不值?”他说。
“不值。”
“那你干。”
老檀没有答。
“不值的事,”老阙在角落里说,“也得有人干。”
老檀把粉笔放下。
“花班。”
“嗯。”
“明天开始,跑外面的。”
“跑哪儿?”
“素弦表上那三十一个已联系的,一个一个跑。”
他停了一下。
“我跑远的。你跟阙哥跑近的。”
“那我呢?”灰贝说。
老檀转过头看着他。
“你留下。”
“为什么?”
“因为你得守着名单。”老檀说,“这四十八个名字,一个都不能再丢了。”
那天夜里,北枢散得早。
老檀最后一个走。他走到门口,忽然停住,回身走到工位前,重新打开那个 git log,往下滚到第四十七行。
第47次。老檀。
他盯着那一行,然后敲:
git show 3f8a91c
屏幕上跳出那个提交。标题一行,正文一行。
Author: 素弦
Date: Fri Jun 12 02:47:11 2020
第47次。老檀。
若有人看到这一行,请替我确认一下:他来了没有。
老檀把这两行看了一遍,从口袋里摸出一支笔,把第二行抄在一张纸上。
抄完,他把纸折成三折,塞进冲锋衣内袋。
然后他关灯,出门。
楼道里黑着。他走到楼梯口,停住,掏出手机,给一个人发了条消息。
那个人是铁冠。
消息只有一句:
“铁老师,明天上午,我去找您。”
“我想问一件事。”
发完,他把手机塞回口袋,站在黑暗里,站了大概五秒,然后往下走。
第二天上午九点,老檀到了行政楼三层。
铁冠的桌上还是那份材料,还是那个保温杯,杯盖上有一圈茶渍,洗不掉的那种。
老檀站在他面前,没有坐。
“铁老师。”
“坐。”
“我不坐。”
铁冠抬起头,看了他一眼。
“你昨天发的消息,我看到了。”
“我要问一件事。”
“问。”
老檀从口袋里掏出那张纸,摊在桌上。
若有人看到这一行,请替我确认一下:他来了没有。
铁冠低下头。
他看着那一行字,看了大概十秒,然后抬起头。
“这是素弦写的。”他说。
老檀的手停在桌上。
“您认得?”
“我认得。”
“您见过?”
“我见过。”铁冠说,“2020年6月12号,那天下午四点。他拿着一张纸,来找我。”
“他说什么?”
铁冠把保温杯往旁边推了推。
“他说,铁老师,我要问一件事。我问什么事。他说,工坊名单上的最后一个人,是谁。”
老檀站在那儿。
“您怎么答的?”
“我把那份名单调出来,翻到最后一页,指给他看。”
他停了一下。
“最后一个名字,是老檀。”
“然后呢?”
“然后他盯着那两个字,看了一会儿。看完了,他问了我一句话。”
“什么话?”
“他说,这个人,刷过几次卡。”
老檀的喉咙动了一下。
“您怎么答的?”
“我查了。”铁冠说,“门禁系统里,2020年4月到6月,一共刷了四十七次。我说,四十七次。”
教务办里安静了。
四十七次刷卡。
四十七次推倒。
“然后呢?”老檀问。
“然后他笑了。”
铁冠停了一下。
“他笑完,说了一句话。”
“什么话?”
铁冠看着老檀。
“那就对了。”
老檀站在那儿。
“什么叫‘那就对了’?”
“我当时没懂。”铁冠说,“我这两年,一直在想这句话。”
他低下头。
“我今年五十六。我在想,一个学生问我‘最后一个人刷过几次卡’,我说四十七次,他说‘那就对了’。”
他抬起头。
“他到底在对什么?”
老檀看着他。
“铁老师。”
“嗯。”
“我昨天查到一样东西。”
“什么东西?”
“素弦写 core.py,推倒了四十七次。每一次推倒,他写一个名字。第四十七次,他写的是老檀。”
铁冠的手停在保温杯上。
教务办里安静了几秒。然后他低下头,把杯子打开,喝了一口,把盖拧上。拧得很慢。
“老檀。”
“嗯。”
“你知不知道,”他说,“那个‘老檀’,不是你?”
“我知道。”
“你知道?”
“我知道。那是门禁刷出来的。”老檀说,“我大一搬服务器,刷了两个月的卡。四十七次。”
铁冠看着他。
“那你昨天为什么还要签?”
老檀站在那儿,站了一会儿。隔板外面有人开始复印,机器哗啦哗啦响了三下。
响完,他开口了。
“铁老师。”
“嗯。”
“我问您一件事。”
“问。”
“您签了一千一百三十七个名字。其中有一个是我。”
他停了一下。
“您签的时候,有没有哪怕一次,停下来想过:这个人,是不是真的存在?”
教务办里安静下来。
铁冠坐在那儿,没有动。复印机停了,整层楼只剩暖气管里的水声。
然后他做了一件事。
他伸出手,拉开抽屉,从里面拿出一样东西。
一张纸。很旧了,折过很多次,折痕发白。
他把纸摊开,推到老檀面前。
那是一份名单,手写的,四十七个名字。
最上面写着:
江城大学工坊项目组 • 成员名单(全)
制表人:素弦
制表日期:2019年10月
跟铁翼那只铁盒子里那份,是同一份。
不,不是同一份。
老檀低下头,看最后一行。
铁翼那只盒子里的那份,第四十七个名字是:素弦。
这一份,第四十七个名字是:老檀。
老檀的呼吸停了一瞬。
“铁老师。”
“嗯。”
“这一份是后来改的。”
“是后来改的。”铁冠说,“2020年6月12号,他来问我‘刷过几次卡’的那天。他从我这儿回去以后,重新抄了一份,把最后一个名字改了。”
“改成老檀。”
“为什么?”
铁冠看着他。
“因为他把最后一个位置让出来了。”
老檀盯着那张纸。眼睛有点酸,他没抬手去揉。
“他让给谁?”
“他不知道是谁。”
他停了一下。
“他就是让出来。让给一个还没来的人。”
老檀站在那儿,站了一会儿。
然后他把那张纸拿起来,折好,塞进冲锋衣内袋,跟昨晚抄的那一行放在一起。
“铁老师。”
“嗯。”
“我走了。”
“你不坐会儿?”
“不坐。”
老檀转身往门口走。走到门口,他停住。
“铁老师。”
“嗯。”
“那张整改通知,五个工作日。”
“我知道。”
“今天第四天。”
“我知道。”
老檀转过身。
“那明天,”他说,“三楼那间屋子,您会去贴封条吗?”
教务办里安静了。
铁冠坐在那儿,没有动。保温杯上的热气散了。
然后他说:
“会。”
老檀点点头。
“那我替您省一件事。”
“什么事?”
“您不用贴了。”老檀说,“我们已经搬空了。”
铁冠抬起头。
他看着老檀。
“老檀。”
“嗯。”
“我不是来封你们的屋子的。”
他停了一下。
“我是来封我自己的。”
老檀站在门口。
“什么意思?”
铁冠低下头,在那张空了的桌面上按了一下。按了一会儿。
“我今年五十六,我在这栋楼里待了二十九年。”
他停了一下。
“我签了一千一百三十七个名字。我盖了四十七个章。”
他抬起头。
“下个月,我调岗了。”
“调岗。”
“调岗。去后勤,管仓库。下周一生效。”
教务办里安静了。
“因为什么?”
“因为第五条。”铁冠说。
老檀愣住。
“第五条。‘涉及人员,按学籍管理相关规定处理。’”
他停了一下。
“那一条,是加上去的。”
他抬起头。
“加的人,是我。”
老檀站在那儿,盯着他。
“您加的。”
“我加的。”
“为什么?”
铁冠看着他。
“因为那一年,我签那四十七个章的时候,‘审批意见’那一栏是空的。”
他停了一下。
“我以为那是系统的问题。后来我才知道,那一栏是空的,是因为我没有写。”
老檀站在那儿。
“铁老师。”
“嗯。”
“那第五条,是您给自己加的。”
铁冠低下头,没有答。
过了很久,他站起来,走到窗边。
“老檀。”
“嗯。”
“你走吧。我不送。”
老檀站在门口,站了大概五秒,然后推门走了。
门在他身后合上。
合上之前,他听见铁冠在里面说了一句话。那句话,老檀后来记了很久。
铁冠说的是:
“老檀。”
“出力的人排在最后,是对的。”
“因为最后一个走的,才知道前面的人去了哪儿。”
本书首发来自17K小说网,第一时间看正版内容!
1 永夜
作者: 江火香猫
科幻末世 1042417 字
永夜:浩劫余生,终见光明
2 校花别沾边,重生的我只想搞钱
作者: 十万字
都市小说 789066 字
都重生了,还不好好搞钱?
3 我死后,姐姐们才开始爱我
作者: 木马非马
都市小说 80082 字
我死后,全家人才开始知道爱我,可我已经死了
4 上门狂婿
作者: 狼叔当道
都市小说 8171953 字
上门赘婿,受辱三年,期约一到,强者归来!
5 武圣之上
作者: 任我独行侠
玄幻奇幻 201339 字
这是个废材靠着金手指,逆天改命的故事!
6 60年代:开局荒年,我带着全村吃肉
作者: 妞妞骑牛
都市小说 415929 字
穿越60年代:开局荒年,我带着全村吃肉
7 这位诗仙要退婚
作者: 人世几春秋
历史军事 1194814 字
这位诗仙要退婚:文韬武略
8 玄幻:遇强则强,我的修为无上限
作者: 史上最帅作者
玄幻奇幻 1481875 字
获得遇强则强系统,我直接啪啪给了天道两个大嘴巴子
9 红豆缘:炮灰也要长命百岁
作者: 翘褚
古代言情 271116 字
开局炮灰剧本怎么办?不慌,苟着苟着就到大结局了
10 神龙诀之九龙剑诀
作者: 光环美男
仙侠武侠 1003350 字
江湖传闻要是得到《神龙诀》,就可以称霸武林!
《第二十六章 第四十七次》最新评论
评论本章还没有人发表评论哦~
我来说两句