查看原文
其他

警告!警告!飞船存储空间不足!| 科幻小说

刘啸 不存在科幻 2020-08-18

本周的主题是「再出发」漫漫人生路上,难免有些痛苦和迷茫。这些不如意的时刻,也可以看作成长和蜕变的机会。

今天的小说里,为了开启新的可能性,主角必须做出生与死的抉择。

| 刘啸 | 中国科普作协会员,老程序员,现居上海。求学时沉迷科幻,现在工作之余也笔耕不辍。曾获光年奖、未来科幻大师奖、冷湖奖等。《无距离时代日记》入选2014年度科幻小说年选。


遗言

全文约14300字,预计阅读时间28分钟。若担心时间线中途断裂,点右上角菜单选择浮窗,随时回传。

(电流声)

嘿,空指针,好久没聊,有两年多了吧?抱歉我仍旧关着你的声音,空间紧张,只能让你听我说了。我知道你想问我老爸怎么样,我告诉你,老爸在睡觉,睡得可熟了。我记得老爸总是说,这刑天号上只存在两类东西:有用的和没用的。没用的都要关掉、删掉、丢掉——所以有时候老爸恨不得把我关掉,哦,他并不是觉得我没用,他只是……不,不,他也并不是不关心你,没有的事。

你也知道老爸并不是真的关掉你了,你只是睡着了。休眠或者挂起嘛,没有清醒的时刻,就像做梦一样,不是吗?你现在就像呆在老爸这台安卓古董机的系统后台,在内存足够的情况下,系统会把后台的程序保留在内存里,以方便下次启动更快速,避免重新加载。你可永远都不是老爸优先级最低的程序,优先级低的可都被真的关掉并且卸载了——比如那个倒霉的基因仿真系统,而不是像你的存在那样,有时候还能将其它运行的程序挤下来。

在老爸看来,你的优先级可远高于我。按他的说法,你可是他的长子呢,尽管你没有投票权。

我其实没比你小多少。我记得我四岁开始学习维护飞船控制系统所需要的编程技术,六岁掌握C语言,八岁时又会了Python和Verilog,算软硬件开发勉强都入了门。有一天老爸说要给我介绍你——是时候让你知道你哥的存在了,他说,他在他屏幕磨花了的手机上给我划着拼写你的名字,第一个N,第二个U,第三和第四个都是L,NULL,空指针。空指针,他说,跟你妹妹打声招呼吧,她也是外太空出生的,和你一样。那是我第一次听你喊我名字,也是我第一次知道,一直以来那些应答我的闪现的字符具有像人一样的温度。现在跟你这么聊天,真让人回忆起那个时候啊。老爸说你的名字在C、Java等很多语言里都有,全是熟面孔,顶多大小写有所区别。他说NULL可太有用了。从那时起我就确认了你的存在,知道你就算不说话,也会永远呆在我的屏幕一角,知道你会在我倾诉时聆听、沉思、发笑、流泪……即便你总是那么沉默,只有字符,甚至偶尔还会有连字符也不见的绝对沉默的时段。

我们鲜有真正“交谈”的时刻,就因为老爸说开启你的语音功能太耗费系统资源。当时我还小,不懂“耗费系统资源”是什么意思,只哭闹着要你说话,甚至还模仿老爸老妈的举手投票,想通过开启语音的“决议”,不过不出意外地被老爸老妈联手否决了。我只能在老爸睡着后,鼓动偶尔精神起来的老妈将你偷偷放出来,大家才能开心地笑谈,你还记得吗?

编写你、创造你只是老爸编程能力的冰山一角,实际上,老爸的这项本领在他给老妈写的基因编辑仿真系统中才体现得淋漓尽致。那个人类基因编辑仿真系统模拟运作时,屏幕上的DNA长链在内切酶的作用下断开,又在连接酶的作用下接通,让老妈惊叹不已。很长一段时间里,老妈都沉浸于这套系统,据说还依赖它做出了好几套顶尖的转录组测序与转储方案。不过在我看来,这些基因方案只是利用内存和硬盘空间进行单纯的模拟与存储,视觉效果虽然足够炫目,但总免不了纸上谈兵。老爸也说基因编辑像造芯片,用仿真工具是能少走一部分弯路,但最终还是依赖于实地验证。我问实地怎么验证?没人回答我。我想自己去找答案,但现在已经没机会了,因为老爸早就把这套基因仿真系统卸载了。

你问卸载那个程序,是因为它真的没用了吗?是因为空间变得越来越紧张的关系吗?并不是。不全是。其实我一直以为更多的是他为了避免睹物思人……也许有一大部分是因为这样吧,但并不完全是。

这次好像是出生以来我和你分别最久的一次了。趁老爸熟睡着,我们就抓紧时间好好当面聊聊吧。没有,我没哭,我没哭。只是空气太糟糕,让我眼睛有点发涩。倒是这两年的梦里,二百五有没有欺负你?要是欺负了,你尽管跟我说,我来修理它。看,我袖子都挽好了。

(二百五响起R2-D2般音效的摩斯码:别瞎说)

刚才我检查了二百五的维修报告,我第一眼就看到了我的名字:硬件故障数为“零”,很好。几十年前的东西也真是皮实,等离子发动机喷了这么多年推力依旧强劲,光帆展开时也无须担心真空下的分子吸引力导致太粘打不开,外壳被小块陨石击中许多次也没有明显破损,不知道造船厂那帮人是怎么做到的。

不过别误会,空指针,我不是在夸这艘小飞船,其实它破得不能再破了。别看硬件设施还行,但掌控整个飞船却又三天两头出毛病的软件控制系统就是个彻头彻尾的烂摊子,老爸这么认为,老妈这么认为,你肯定也这么认为。

为啥它烂?我跟你说,老爸在我小时候就告诉过我,说当年在地球上开发飞船控制系统时,需求本身就不够明确,起飞的工期又紧,任务还是三层转包,整个系统开发过程中的沟通、编码、测试、发布都乱成一锅粥,除了点火发射控制模块勉强调通了之外,别的都千疮百孔、时常死机。

老妈曾经给我介绍说,那年联合国深空探索总署主导的泛奥尔特云播种计划其实是个非常紧迫的任务。当时地球上出现了一种潜伏期相当长的新型病毒,疫情几乎同时在亚欧大陆与美洲大陆上爆发,两个月后波及全球。这种病毒的致死率虽然不高,却没有特效药,治疗仅能阻断传染,除此之外只能等待有损的自愈。大部分患者反复低烧、肌肉无力,症状能持续好几年,最终丧失近半的劳动能力,变得毫无尊严地勉强存活。在这种全球面临严重疫情危机的背景下,联合国启动了泛奥尔特云播种计划,五常各自负责的五艘飞船瞄准了太阳系外的五个不同方向,每艘船上安排乘员一男一女——说白了,不过是将先驱者10号金属板上的一男一女套上衣服换成真人版罢了。老妈说,来自中国航天航空部的领导们下了死命令绝对不能误工,于是航天控制中心那帮人想出了个连天桥下的叫花子都绝对想不到的“高明”主意:他们把整个控制系统的所有源代码加上开发工具全打包塞进了飞船的主控电脑,然后给航天员候选人加了一门程序开发培训课,赶鸭子上架地培养他当上程序员,让他一路上随时解决控制系统出的故障。这招简直让人目瞪口呆。

空指针,你一定猜出这位衰神附体的航天员是谁了,没错,他就是我们倒霉的老爸。

老爸被安排登上飞船刑天号时只有二十六岁,正是性价比高、工作拼命且还没有大规模脱发的年龄。本来那堆山一样的代码没人动得了,但老爸智商极高,心眼又实诚,居然硬生生地将所有代码啃了下来。其实他半路出家,技术也不见得比别人厉害多少,但培训开发期间外包公司以全力培养他为由,把平日里别人不干的活都扔给他,几年下来好几名航天员候选人里只有他最熟悉业务,不找他飞还能找谁?

当然,老爸愿意登船,大概还有一部分原因是我老妈。我记得你一直不太能理解生物学意义上的母亲是什么概念,你只有咱爸,没有妈,我还笑过你是咱爸无性繁殖的产物,你还有没有印象?我老妈是生物医学领域中的胚胎学专家,专长是对细胞形态变化的研究。她严谨敬业,日常负责航程中刑天号所载的P4生物实验室以及冷冻基因库的保障工作。训练过程中老爸总是来现场调试,于是两人就擦出了火花。这火花越烧越大,就这么烧上了天,再后来还烧出了一个我。所以,在我懂事后,我常常想我可能是这艘飞船上的多余乘客吧。刑天,给你添麻烦了!

从我懂事起,我就总是看见老爸躲在狭窄的工作舱里没日没夜地敲键盘,连偶尔放松玩手机的保留节目也放弃了,铝合金工作台前面那块区域被他手臂磨得发亮。他饿了就吃顿自热航天餐,困了就趴工作台上打个盹。无论飞船是变轨、加减速,还是对接空间站、躲开陨石雨,这千疮百孔的控制系统总是不负众望地出或大或小的问题,以至于每回老爸都得呆在旁边二十四小时值守,一有问题就查看日志、紧急解决、重新部署、继续执行。依赖这种野蛮式的打法,我们一家居然跌跌撞撞地跑出了海王星轨道,进入柯伊伯带,在热闹的彗星群中长久地行进了许多年。

按照泛奥尔特云播种计划,五艘飞船分别瞄准天空中亮度最高的五颗恒星,我们的刑天号朝着参宿四的方向,将花费三十年时间抵达传说中的太阳系边缘。在这之前每隔一段时间我们都会进行一次郑重其事的全员投票,以决定刑天号是中止任务调头返回地球,还是继续向宇宙深处进发。

我是在刑天号离太阳二百五十个天文单位时出生的(二百五响起R2-D2般音效的摩斯码:正是正是)。我没见过精巧的玩具、没见过漂亮的衣裳,只有永远滚动着日志的显示屏一直在眼前闪烁。老妈的身体生完我后就垮了,整日整夜病怏怏的,多数时候看我的眼神像看遗产。老爸倒是挺高兴,觉得我长大后能跟他一块儿干领航者、维修工、程序员之类的活儿,类似于子承父业那种。坚强的老妈还曾经说她想再给我生个弟弟或妹妹,说人越多越能减轻老爸的负担。“减负”是老妈自我定位的“有用”,可她并没有等到那一天。

我从小就一直在定期打针,开始感觉很疼,但后面也慢慢习惯了,有时候连用个几星期的静脉留置针,也能省很多事。妈妈的手很温柔,每次当我疼得哇哇哭时,她总是低声地轻轻抚慰我,同时眼中也流露出无奈的忧愁,在我的泪光中悄悄闪烁。老妈也常常给自己打针,还时常连接显微探头。卧舱里的无菌架上摆开一溜标着各种“酶”的培养皿,什么颜色都有,我俩注射的东西大多来源于它们。老爸之前似乎因为打针这件事和老妈争吵过,但毫无意外地被老妈说服了,不替我撑腰不说,有时候还帮着按住我,说怕痛不是程序员。空指针你瞧,我真是倒了八辈子霉了。

刑天号硬件挺皮实的基本上不用维修,导航也是全自动,只有控制系统需要老爸这位半路出家的程序员频繁介入。在老爸的耳濡目染下,我小时候也的确表现出了对代码的浓厚兴趣,不过长大后我才明白,那纯粹是因为没有其他选择的缘故。如果我出生在地球上,没准能拥有宽敞的房子、明媚的阳光、翠绿的草地、还会有许许多多同龄人朋友,但在飞船上这一切都只停留在幻想里。阳光?太阳早就缩成小小的一团了,寒冷的光芒跨过极其遥远的距离才来到这里,不仅推不动光帆,还压根不能给飞船带来哪怕一丝的热度,舱室里连各种按键都是冷冰冰的。

九岁那年,我开始变得“有用”,或者说老妈口中的“减轻老爸的负担”。老爸开始教我跟他一起查日志排除故障,他指给我看控制台后机柜里堆叠的一百六十块大容量工控硬盘,说飞船从调试起飞到航行至今,所有的软件、数据与系统日志都记录在这里,你平时也呆在里头。这批古老的硬盘防震、耐寒,还不怕宇宙射线,只要不暴力损毁,数据存个上千年不成问题。刑天号起航时,硬盘里除了控制系统的源代码之外,老爸还颇有预见性地提前给我准备了不少精神食粮。我至今记得小时候看过一部以程序员拯救世界为题材的电影《流浪地球》,瘦瘦的程序员通过改写行星发动机的控制代码点燃木星的氢气海洋,的确非常酷,不知道老爸在那样的危机中能不能也体现出类似的水准来。

除了电影外,老爸还替我准备了一堆编程教材,从《21天精通大数据》《设计模式从入门到实践》到《佛系程序员修炼之道》《颈椎病防治指南》,方方面面都有。不过这批精神食粮的体积实在过于庞大,现在已经全部从硬盘里删掉,让位给愈来愈庞大的系统日志了。说实话,空指针,我真挺怀念那些没用的东西的。现在存着的这些日志虽然有用,但真的是太冷冰冰了。不过,还好,还好还有那些64KB的超级马里奥和128KB的魂斗罗和它们的MIDI音效陪着我。老爸跟老妈强调,它们跟全站日志一样重要。当然,它们没消失主要还是因为它们足够小。

刑天号的全站日志是旅程中最重要的信息,老爸一直跟我强调这点。这一点我在真正参与飞船故障排除时才深切体会到。对于规模庞大的控制系统,任何一个程序员都不可能明察秋毫地在故障发生时直接定位代码的故障点。老爸给我讲过一个故事,说以前地球上有个垄断工厂派人替客户维修机器,随便在缸壁上画一根线一敲就开价收取一万美元,并且还信誓旦旦说虽然画线只值一美元,但知道在哪儿画值九千九百九十九。这垄断带来巨额利润的典故在我们这一行断然不可能发生,要排解控制系统的故障,我们只能从日志入手,了解分析故障发生时以及发生前的表现,环环相扣,层层深入,直到解决问题为止。

空指针,你还记得我帮老爸排除第一个故障的时候吧?当时我一个人花了三四天、查阅了近六个月来二十多个子系统的所有日志,最后才找到问题点并顺利解决。解决后虽然我挺有成就感,并且老妈也替我高兴,说我的思维很灵活、很理性,可老爸却不以为然,说六个月的日志范围已经很小了,他当年最多查阅过近五年内的日志,连续阅读分类搜索分析,几乎累个半死。我问为什么一定要去查阅全站的历史日志?老爸靠在舱门上抖着腿说你以为我想啊,头痛医头谁不会?你以为只是发现拐弯的角度计算偏了随便纠正一下就没事了?得找到计算错误的根源懂不懂?上次经过彗星群时你知道发生了什么吗?避让陨石雨的时候,有块直径三米的大石头居然进入了飞船附近两百公里的距离,我慌啊,一查,预警系统的速度安全系数居然比正常值小了十五个百分点,谁改的?没人动,全靠系统根据预测模型自动分析调整。预测模型有二十七个输入参数、计算公式里有九个核心因子、十三个非核心因子,其中十一个因子固定,剩下的在运行过程中根据反馈动态修改。有个非核心因子的数值在当年掠过海卫一做轨道修正时被错误地左移了一位,另外有两个非核心因子在穿越冥王星轨道时运算的数值发生了溢出,但当时没有明显故障,谁也不知道这里有坑。等到了彗星群这儿,那几个偏差的值在巧合条件下凑一块,就出了大问题。你老子我要是不找到错误的根源,下回还会埋下同样的定时炸弹,到时候就不一定是两百公里了。老妈说你说话文明点嘛,在儿子面前称什么老子?老爸说我就是他老子咋啦,基因再怎么改我不还是他老子?

老爸老妈于是又吵了一架,他们俩这种动不动就发动战争的现象,我想这么多年你听下来也已经习以为常了。老妈作为P4实验室与基因库的保障员,只在航程初期花了八个月时间确认飞船环境对冷冻基因库没有明显影响,之后便大概只剩下每月定期巡检这种机械式的任务,近一半时间都是空闲。

老妈闲着的时候就只有一件事情可做:挑老爸的毛病。比如吃东西嚼得太响、进舱时没脱鞋蹭着了气密阀门闸轮、刮胡子时漏了几根等诸如此类的小事,每件老妈都能义正辞严一脸嫌弃地唠叨个半小时,并且越说越气,末了总是习惯性地归结到同一个直击灵魂的问题:你这样的男人有什么用?老爸也脾气好,每回都一本正经解释说你怎么能这么想呢?航程中的资源非常宝贵,刑天号上的每个人、每样东西都有存在的意义,你看空指针都能陪我们的女儿,我一个大男人怎么就没用了?老妈见老爸屡教不改还“狡辩”,于是更加愤怒,整日整夜赌气,我看着都累。

还记得我十二岁那年吗?我碰到他们大吵一场,也不知道为了一点什么小事,彼此就冷战了一百四十四小时。本来双方只隔着一堵舱壁,要说什么却都叫我居中传话,我累得要死,便故意在给老爸的话中添油加醋,说每日这样不如离了算了。老爸一听就呆住,脑门冒汗嘴里喃喃自语,如此僵了一分钟,忽然跳起来往老妈的舱室窜去,培养皿都撞翻了好几个。老妈见这阵势以为飞船出了顶级故障,吓得脸都白了,老爸却径直抱住老妈,说都到这地儿了你能去哪离去?你只能一直是我的。老妈也哭了,还不忘矜持地照老爸一阵拳打脚踢,末了还是乖乖呆老爸怀里,舱内外弥漫着爱的酸臭。老爸一脚踢上舱室门锁上,于是那两天我在外头代替老爸值了四十八小时的班,头晕脑胀加上顶着两个大黑眼圈,早知道当时还不如照实传话呢。

老妈走得悄无声息。那次大战后他俩的关系本来已有了改善,但老妈的身体却一天天虚弱下去,几乎起不来床了。当时我正在研究怎样把刑天号的各个子系统的独立日志整合在一起,满脑子都是快速匹配与搜索算法,并没有去想老妈的病情是不是在恶化,然而不幸却突然降临。

那天是刑天号起航第五千六百五十二天,老妈的精神比平时好些,于是在卧舱里跟我和老爸说起她的老本行。她说我们身体内的各个零件就像一个大团队,它们有幸在一起工作很多年,每个都兢兢业业,只不过一部分能坚持很久,另一部分有故障坏得早,不得不开除。但无论怎样,整个团队终究有全部停工的那一天,到那时候,团队所有成员会有一场感人的谢幕演出,每个人都会上台,竭尽全力展示自己。演出完毕后我们各自告别,陆续退场,灯光熄灭,音乐停止,最终安静地消散在黑暗中。我说那飞船跟人体也差不多嘛,各种代码模块、各种子系统协作很久,等到了目的地……啊不,等返回地球后才能停工,老爸你说是不是?

老爸不说话,只躲在培养皿架子后面低头抠指甲,老妈倒是微笑着摸摸我的脑袋说没错。

老妈轻声哼起了歌,古老的地球曲子,有点跑调。我握着老妈的手,听着听着就趴床边迷迷糊糊睡着了。梦里歌声在渺茫地远去,等我醒来的时候床上已经空空如也。我跑出卧舱,只看见老爸呆坐控制台前,三根手指还捏着根针管,空气中都是冷寂。

我问老妈哪里去了?去冬眠了吗?老爸不回答,转过头看我,我也瞪着他。就这样瞪了半分钟,老爸这才像从梦里惊醒似的,痛苦的神色如他描述的黎明晨光一样浮现在脸上。他张了张嘴,可半天发不出声音。

妈妈和群星同在。老爸说。

虽然老爸这么说,但我知道老妈其实一直都离我们不远。她在刑天的P4实验室独立舱冻着,她仍是颗星星,只是现在灭了,宇宙一般冰冷。

唉,空指针,用千言万语也说不清我当时那个年龄失去母亲的痛苦,我记得我每次哼起老妈留给我的最后的几句歌词“南风吻脸轻轻,飘过来花香浓,南风吻脸轻轻,星已稀月迷朦……”时你都会及时安慰我,你还记得吗?每次入眠的时候我都会哼一段,一直将它当成是摇篮曲。那段时间老爸肯定比我更惨。他彻底关闭并且卸载了基因仿真系统,又把自己关进卧舱,锁上舱门呆了一星期,怎么叫都不出来。也许,这就是他消化死亡的方式吧。

还好那个星期飞船没出什么大的故障,偶尔有些小毛病,我都自己动手解决了。飞船外时不时闪现几道彗星的尾迹,淡淡地浮在舷窗外,仿佛命运的无形大笔忽然在黑幕上勾勒出了人生的模样,而飞船就直直冲入稀薄的尾迹里,义无反顾。前方的参宿四不知道什么时候亮度又增加了,甚至已经超过了当年一起出发时乞力马扎罗号瞄准的天狼星。

于我来说,失去母亲的痛苦似乎变成了动力,让我找到了自己存在的意义。我咬牙完成了刑天号各个控制子系统的独立日志整合,这样通过一个查询入口就能同时查询各个子系统各个模块的日志,无需像以前挨个翻找,效率提高了一倍有余。老爸出来时我告诉他这项成就,他抓住磨得发亮的舱门把手,脑袋靠在门框上,胡子拉碴的脸上毫无反应,像什么都没听见。

还有一针,打了吧,打了就没事了——老爸又喃喃说着,让我接上显微探头,注射了最后一针。

我看着老爸笨拙的动作,又想起老妈,忍住不让眼泪流出来。

我们每次交替进行短期休眠时,都会进行一次默默的投票,选择继续前进还是中止航程、调头返回地球,除此之外,鲜有更多的互动——当然,结果毫无例外地都是继续朝太阳系外进发。地球对于我来说毫无故乡的感觉,而他们——他,老爸仍与过去老妈还在时有着一样破釜沉舟的信念,他和老妈一样,都渴望能完成任务再回家。老妈常说我们一家应该叫奥陌陌家族,我问奥陌陌是什么,老妈说,奥陌陌是人类所知的第一颗经过我们恒星系的星际天体,它长长的,形状就像咱爸珍藏的那根雪茄。“奥陌陌”这个词在夏威夷语中有“侦查兵”和“信使”的意思,老爸说,我们是个奥陌陌家族,你,我,老爸,老妈,还有二百五,刑天,连同我们呼吸的混浊空气,我们是一个伟大的共同体,我们有一个共同的伟大意志,我们是侦查兵,我们是信使。说我们家族是人类下个阶段文明的晨光也不为过,他说。老妈常说,如果不是参宿四突然亮起来,也许我们会朝天空第五亮的织女星进发——奥陌陌就是从织女星所在天琴座方向冲进我们星系的,要不是参宿四亮起来,她说,也许我们的目标会显得更具体,而不是像现在那样去追逐一个幻影。

说实话,没了母亲这个角色的存在,父亲和儿女间的交流只会越来越少,还趋向于机械的含蓄。你一定也意识到了吧?日子一天天过去,我已经记不清有多久没和老爸敞开聊天了,每日都是简短的来吃饭去睡觉,要不就是发现故障、去查日志,或者代替老妈去做每月一次的冷冻基因库巡检,然后是听到老爸的起床声——他用一首大卫·鲍伊的老歌做自己的唤醒音乐,他醒来,找出自己的雪茄,叼在嘴上,投票时刻又到了,然后我进入冬眠舱,哼着老妈的歌睡去。醒来。睡去。如此反复,一瞬十载。老爸仍旧在醒的时候日以继夜地工作,每次醒来,我都见他的脱发越来越严重,体型也在一步步发福,心脑血管指标越升越高,航天员良好的体质底子最终被耗尽,大龄程序员该有的毛病一个不漏地全冒了出来。

那时我们的飞船恰好又碰到新问题。虽然远离了太阳系中心,但我们周边完全是未预先观测过的黑暗空间,危机四伏。未知的引力源常常轻微地改变着刑天号的行进路径,脉冲星导航的位置精度又不够,于是飞船频繁变轨,航线总要不断地手工修正。而且不幸的是,我们发现当初飞船设计的燃料储备上限偏低,再这样浪费下去,用不了十几年,我们极有可能迷失在这片无边的柯伊伯带中。老爸也意识到了问题的严重性,开始整日整夜地憋在工作舱里寻找解决办法。

老爸思考问题时不喜欢用那种显示屏上的“脑图”工具,而是习惯地拿支笔拿一叠珍贵的纸写写画画,或在古董手机屏幕上手写记录要点,虽然笔迹丑陋,但我和他的古老安卓系统勉强也能看懂。我在一堆纸片中发现老爸似乎想利用航程中积累下来的经验数据为基础重新开发一个能自动建模的控制系统,但这套系统估算下来工作量相当大,即使我和老爸合作,仅开发便需要至少四十个人月,还不包括测试发现问题再返工的时间。刑天号还能跑多少年呢?我心里可没底。

然而老爸义无反顾地做起来了。他画了大量模型图,写了许多架构设计与详细设计的文档在他的手机里,我知道这都是程序员比较厌烦做的事。如果不是为了让我理解并有据可查,我相信老爸除了代码外一个字都不想多写。他给新系统取名叫“二百五”,说是纪念我出生,我假装不知道他的恶趣味,点点头高兴得两眼放光,老爸却又苦笑,说你真是个二百五。

(二百五响起R2-D2般音效的摩斯码:讨厌)

搭建二百五的框架时我俩还就用哪种语言争论了一把,同样谁都无法说服对方,最终决定各用各的。就这样,我一半多时间花在飞船控制系统的日常维护预故障排除上,经常查询分析愈来愈古老的日志,另一小半时间帮着写二百五。老爸则全部身心投入,但写到什么程度了他也不主动跟我说,我对进度的了解也就局限于百分之二十、三十这种远远不够的数字,如同两名远程办公的程序员。

在老妈走的那些年里,老爸的工作效率开始莫名其妙降低,常常头晕耳鸣,年轻时长期过劳埋下的各种后遗症陆续爆发。我劝老爸多休息,但他认为最近工作效率下降耽误了计划中的进度,反倒变本加厉地加班赶工,好几次我不得不通过强行拔电源来阻止他劳作,逼他去休息。然而,老爸身体在多年的过劳中已经变成了一架磨损过度的引擎,不光高速运转时有极大隐患,怠速停转过程中同样因为惯性而磕磕碰碰、嘎啦作响。高血压加肥胖再加上长期熬夜,弄得老爸的身体真出了大毛病,从时不时的晕厥呕吐到手脚麻木,甚至有时候敲不动键盘了,我这才发现事情的严重性,立即强行拖着老爸做全身检查。

刑天号上的船载医疗系统并不完备,只能查出老爸的病是慢性脑出血,却没有很有效的治疗办法。老爸的眼神一天天呆滞下去,不光说不出话,嘴角也开始歪斜,有点像要中风的样子。飞船上仓促打造的维生系统同样没有合适的应对预案,我惊慌失措,思前想后似乎只剩一个缓解办法:让老爸长期冬眠。当我无奈地把这个想法告诉老爸时,老爸一下瞪大了眼睛,费力瞧了我好久,而后又紧闭双眼,眼角沁出两滴泪水,最后,他艰难地点下了下头。

我……已经没用了吗?老爸轻拍了一下自己的大腿,低声问了一句。我不知道该怎么回答。

老爸在冬眠舱里静静地睡着了,就像现在我看到的这样,那睡姿离两年前没有明显变化。你当时也被老爸强制休眠了……你问我会不会感到孤独?哦,就像你不能理解生物学意义上的母亲是什么意思一样,我其实也不太理解孤独的意思,因为我身处的这个空间从来没有过人群、没有热闹过,不是吗?有时候我常常想,让我一个人在孤单的航程中坚持下来的动力是什么呢?也许是我意识到我有用?我是刑天号一个有用的零部件?我不知道。但至少,在过去两年里,我是整个刑天号里唯一一个醒着的投票人。

储备燃料一直在靠近警戒线附近的地方幸运地徘徊,硬盘中持续增长的系统日志也已经庞大无比,虽然定期压缩归档,但剩余的空闲空间仍然越来越小。刑天号起航时准备的各类视频资料早已删除,脑图工具与老爸写的基因仿真系统也已卸载,都是为了给日志腾出宝贵的存储空间。我常常在想,随着航程的持续,会不会哪天我要动手删除控制系统核心之外的一切内容,会不会哪天还要亲手删掉你?哦,放心,不会的,我怎么会这么对待我的哥哥呢?真碰到空间紧张的时候,我也会想办法先清空老爸的古董手机,优先把你移植到那台手机里去,而且还会给你发声权限,虽然你总说它像个发不出声音的棺材。

(拍打手机声)

你听,这不就有声音了嘛?

开个玩笑。不过,等到有足够的系统资源时,你的确会得到包括发声在内的一切权限的,空指针,未来你的声音将凭由你的意志决定,但并不是这一刻。

硬盘里除了你,还有老爸留下的完工程度不到一半的二百五。它的代码非常晦涩,尽管有部分文档,但也更新不及时,和实际情况驴唇不对马嘴,我不得不打消了完成老爸未竟事业的想法。不过老爸有一部分打造自动建模功能的框架代码似乎挺有亮点,我在它的基础上改改,加上分词技术、词法和语法树分析,花了一年多时间将二百五扩展成了一个能自动搜索系统日志并根据已有策略主动排除故障的工具,顺便还附带做了冷冻基因库的远程巡检功能。这工具一开始挺幼稚,很多问题都解决不了,不过接触到的问题越多,我给它补充的功能也就越多,后来日常测速、定位、防御中的小故障它都能自动搜索日志分析修补,动作又快又不浪费燃料,也让我省了不少力气。我甚至开始考虑在抵达目的地之前也冬眠个几年休息休息,大不了有事再临时唤醒我。空指针,你瞧我这如意算盘是不是打得挺好?

七个月前,我也放心进入了睡眠状态。这七个月里,刑天号上除了二百五没有一个醒着的。天才的二百五不仅代劳了冷冻基因库的人工巡检,还解决了一百三十多个控制系统的小故障,纯全自动,不用人工干预,是不是很厉害?

(二百五响起R2-D2般音效的摩斯码:过奖过奖)

可是,昨天二百五居然叫醒了我,报告说出了点儿小问题,急需查询历史日志。我说你二百五真是个二百五,查日志这种小事还用得着吵醒我?直接上手不就行了?但二百五不会争辩,只重复在屏幕上打印“日志未找到”的错误信息。我满腹疑惑,手动一搜,这才发现,飞船的历史日志居然有一部分——不见了!

(二百五响起R2-D2般音效的摩斯码乱码)

二百五,你的MIDI音质太咶噪了,先给我消停一下!

哦不,让我想想,所以我才是MIDI文件,我是MIDI文件储存的乐谱,而二百五你是处理我的音乐合成芯片……老爸,你可真是个有意思的人,怪不得老妈会爱上你。

照道理,飞船的硬盘中应该存储着自四十三年前起飞到现在的全部日志,可我回溯查下来,硬盘中日志最早停留在二十八年前,更早的已经无影无踪,难怪二百五找不着还叫醒我。我看了看飞船的故障,又是一次意外的航向偏离,似乎附近出现了史无前例的大质量引力源,那当量,不是太阳系第九大行星就是黑洞,舷窗外我甚至能隐约看见旋转的吸积盘,像要把我们拉向死亡的深渊。

燃料有限,多体引力问题又求不出解析解,我们亲爱的二百五急需找到当年走木星引力弹弓时的日志数据,用暴力法来精确逼近计算并校正变轨参数,只有这样才能把握住逃离的唯一机会。但在这紧要关头日志居然不见了,这到底怎么回事?我又浏览了一遍我冬眠期间二百五解决的一百三十多个故障,所涉及的历史日志都是十年以内的小年轻,难怪之前没有提前发现问题。

就在我急得团团转,甚至去查老爸手机上可能存在的备忘录的时候,二百五突然在手机上弹出一封信。是老爸留给我——啊不,留给我们的,空指针。一开始,我还以为是老爸不正常的心电图形触发的什么机制……哦,放心,老爸睡的可香了,就像我之前告诉过你的,单纯的字面上的睡,并不是挂了。那些心跳呼吸数据你不是都能直接查看嘛,除了慢一点之外,别的简直正常得不能再正常了。

然而老爸信里的内容却令我大吃一惊,你听我念一遍给你听:

 

“儿子,女儿,真希望你们一辈子不会打开这封信。如果你们现在正在阅读它,说明你们已经开始查询最古老的那批日志了。刑天很可能已经到了生死存亡的关头,对不起。

刑天的全站日志是航行系统中最重要的数据,归档保留与查询分析是保证飞行安全的基本手段。然而,我和你……你们的妈妈很早就发现,飞船上的硬盘设计容量不足,即使分级压缩,即使删除部分相对边缘化的数据,即使取消容灾备份,仍无法存储所有日志。这直接导致我们的后半段航程面临巨大风险。

NULL,请原谅我们也一直将真相将你隐瞒,让你断断续续做起梦来。

儿子,对不起。

零,你出生前妈妈经常跟我说,保证航程顺利完结是我们最重要的使命,为了这个使命,她愿意付出任何代价。为了确保飞行安全,妈妈在征求我的意见后——我勉强同意,但在随后的日子里,就算在你长大以后,我们还时不时翻旧帐,就此吵架——我们开展了一项试验:DNA基因转储。由于飞船搭载的冷冻基因库无法在短短十几年时间内培养出供试验的个体,妈妈只能从自己入手,利用她的生物医学知识与我写的人类基因仿真系统开展基因改造工作,打算利用DNA的碱基对进行数据编码与存储。

理论上,人类DNA能够容纳的信息非常多,足够存下所有的航行日志,但妈妈的试验总是失败,尽管用于DNA重组的限制性内切酶与连接酶的培养工作进行得很成功,但她的基因却像一群永远不会被驯服的野兽,无论如何注入,都固执地不听任何来自人类的调遣。我们几乎绝望了。

后来,妈妈想到了一个疯狂的思路:既然活着的基因无法改造其DNA,那死的是否可以?我们知道,死亡转录组是我们体内的一批特殊基因,他们在我们活着时沉默寡言、逆来顺受,但只要我们一死去,它们就立刻活跃起来,扔掉生命的束缚,尽情表达自己。妈妈开始改造她体内的死亡转录组,这项试验进行得很顺利,信息编码与注入仅通过肌肉注射就能完成,并且注入过程都没有出错,可是,我们要如何验证它?

以前我一直没告诉你,零,妈妈的死,其实是计划中的自杀——虽然也存在部分安乐死的成份,因为我们的时间实在不多了:你出生后没多久,妈妈在P4实验室里做实验时便不幸感染了地球上的那种恐怖病毒,虽然经过及时治疗后阻断了传染,但这些年她的症状一直在持续恶化。我无法反对妈妈的一意孤行,一方面是因我们的奥陌陌使命,另一方面我也实在不忍看着她就这么一直苟延残喘。妈妈去世后,我在两个小时内检测到了她体内死亡转录组的活跃状况,成功还原出了改造期间注入她体的全部试验数据。妈妈用她宝贵的生命替我们开辟了这条路,她挽救了我们,也挽救了整个刑天。

现在你一定已经猜到,你,零,正是我们死亡转录组基因改造的成果。妈妈在拿自己做试验的同时,我们也共同孕育了你——虽然一开始你只是个美好的意外,继而成为妈妈的一个异想天开,妈妈爱你,但零,你从胎儿开始就在接受基因改造这件事,也是我们无法否认的事实。你的死亡转录组基因内部注入了妈妈去世那天之前的所有日志。你和刑天一起,共同存储着航程中最重要的东西。

二百五的控制框架改造成日志自动分析系统并不难,相信以你的聪明才智已经做到了这一点。飞船的医疗系统里有死亡转录组基因提取程序,再后面,就是你自己的选择了。

女儿,对不起。”

 

老爸的信像是没写完,可我已经全部明白了。空指针,现在你也了解了吧,原来我就是个试验品!爸妈一块造的我,就是为了让我去死!

(沉默)

(响起火柴点燃的咝咝声)

二百五,关闭烟雾警报。

(吸吮声)

(咳嗽声)

哦抱歉,不该朝你的“眼睛”吞云吐雾,我觉得老爸这根奥陌陌可能过期了。

你看,老爸就在旁边冷冰冰的冬眠舱里睡着,不敢起来面对我,我甚至怀疑他的脑出血也是自己故意折腾整出来的,就是想逃避我。那只该死的黑洞——就算是黑洞吧——如果它不在那儿,二百五也不用查这么古老的日志,不查日志我也不会知道真相,大家都皆大欢喜,不挺好吗?老爸睡觉去了,把生与死的难题扔给我,老爸你就不怕我一气之下把你的冬眠舱扔进外太空?

不瞒你说,我有一瞬间真有那样的冲动。

我刚才去了一趟飞船外面。第一次穿宇航服,老妈的宇航服,笨手笨脚,费了半个多小时。气密闸门有几十年没开启了吧,扭动闸轮时,我甚至能感受到通过身体传到我耳中的轧轧声。眼前展开的星空和我入睡前透过舷窗看到过的并没有什么区别,陌生的地球和太阳都在看不见的身后,那是老爸和老妈的家乡方向。我回头看了眼老妈所在的P4实验室独立舱。

我扎着安全绳朝外飘,黑暗的星海在我眼前展开,我忽然有了一种孤独感,仿佛婴儿离开母亲的子宫来到真实的人世。此刻,我正和飞船一道以极快的速度前进,然而航向已经偏离,目的地在另外未知的方向。我们能否抵达目标?我们何时掉头返航?这都取决于我现在的选择。飞船侧前方的参宿四亮度比我睡眠前又亮了好几倍,以前我曾经问老爸它为何光度如此强烈,老爸说别以为它现在看起来亮,没准七百年前就已经超新星爆发了,只不过光一直没传到太阳系这边来。我又问超新星爆发后会怎样,老爸说那我哪知道,大概扔掉所有的累赘从我们眼中消失,缩成一个看不见的黑洞吧。我说那这归宿其实也挺好。老妈说,这是最好的归去了,并不是谁都能在暗淡前释放一次光芒的。

老妈说过我的思维很理性,或许程序员都这样。我知道,与整个航程的成败比起来,我一个人的生命就像天平一端小小的一颗砝码,而另一头有逝去的老妈,有沉睡的老爸,有对胜利回家的渴望,甚至还有整个刑天号。他们沉重地压在天平的对面,托着我越翘越高,仿佛我要随着星光飞走,回到属于我的外太空。

该死的奥陌陌家族意志。

我知道,飞船的硬盘已经接近满载,手机里也满是珍贵的资料,再也没有剩余空间能存储我现在的视频画面。空指针,我现在所说的一切不会有人看见,也不会有人听到。老爸醒来后大概迎接他的只有我灰头土脸的尸体,除非刑天号能突然玩一把超光速,或许还能追上光,重新看到我的这番告别演出。

(咚,咚,咚)

听见了吗?爸、妈,你们俩坑了我一把,我砸几下老爸你的冬眠舱出气,不算过分吧?

(咳,咳,咳)

好了,说了这么多,气出完了——还是该说被命运呛到了呢,总之,我也该睡了。刚挽袖子的时候我给自己扎上了静脉针头,这东西在胳膊上晃来晃去还挺疼的,针管的另一头连着那个传说中的提取程序。还有两分钟,足量的麻醉剂就会慢腾腾流出来,让我顺利地进入深层睡眠,再后面的事情,我也管不着了。你们去继承该死的奥陌陌家族意志吧。

等等……你一下跳出那么长的一堆字符,我看不过来的……让我看看你说的什么——

0,0,0。0是假、1是真,0是无符号数的起始值,0是有符号数中的正负分界线,0是物理地址与虚拟地址的最低端……。NULL永远指向地址0。我需要你,不是吗?

不,不,我没哭。只是被老爸的雪茄烟薰到了。

(啜泣声)

(擦拭声)

还有一分钟。二百五你给我靠谱点儿,你已经是个成熟的工具,拿到日志后赶紧摆脱黑洞,赶紧把我们老爸安全送去目的地。航程即将接近终点,有什么小问题自己解决掉,不要再企图提前叫醒这个叫醒那个了。空指针,再见,我要去找妈妈了,真的很感谢你这许多年的陪伴与聆听,希望你能继续陪我们老爸。老爸就交给你们了。我们都是在这里诞生的,但他们是在那一边,一直以来他们就完全搞错了自己的目的地方向,这可真是太好笑了。

还有三十秒。空指针,你说我会不会反悔?估计针头拔出来也有点疼……算啦,我实在累极了,还是美美睡一觉吧。我要关掉手机了。还有十秒,空指针,老哥,我授予了你和二百五对于刑天号航程的投票权。另外,你的发声权限马上就会被开启,到时你能给我唱一下妈妈最后给我唱的那首摇篮曲吗——

(跌落的手机并未被关闭,响起了:“……不管明天,到明天要相送……我俩临别依依,怨太阳快升东,我俩临别依依,要再见在梦中……”)

(二百五响起R2-D2般音效的摩斯码:不对不对,求救求救……)

(烟雾警报大作)

(大卫·鲍伊《火星生活》的前奏在一片杂音中悄然响起)


(完)

微信扰乱了推送的时间线。欢迎评论、点击在看、转发到朋友圈支持我们!

编者按:“神说,天上要有光体,可以分昼夜,作记号,定节令,日子,年岁。并要发光在天空,普照在地上。事就这样成了。于是,神造了两个大光,大的管昼,小的管夜。又造众星。就把这些光摆列在天空,普照在地上。管理昼夜,分别明暗。”参宿四、出太阳系、遗言当然并不一一对应伯利恒之星、出埃及记、圣经,但过度联想还是多少能令人玩味,且《圣经》开篇不就引出了个太空歌剧——换个视角审视,它讲述的不就是我们这出还未到来的太空歌剧的宇宙与世界的起源故事吗?仿佛这样的开场就预示了人类终将背光而驰,离开他们生息的大地,离开自己熟知的白天世界,驶向暗夜星辰,进入一个注定下半场危机四伏的舞台——所以,路过的暗夜行路的读者老爷们,不妨留下你们向死而生的遗言,开启你们星辰大海的征程吧!

上海果阅文化创意有限公司已获得本篇权利人的授权(独家授权/一般授权),可通过旗下媒体发表本作,包括但不限于“不存在科幻”微信公众号、“不存在新闻”微博账号,以及“未来局科幻办”微博账号等

责编 | 郭亮

题图 | 电影《星际探索》截图
点击「阅读原文」,为你喜欢的5月小说投票

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存