第一章 端口请求
晚上十点的计算机系实验楼,只剩最里面靠窗的工位还亮着冷白的屏幕光。
纪逾白指尖在机械键盘上敲出最后一行注释,刚跑完的神经网络模型在终端输出绿色的「运行成功」提示,连带着工作室墙角堆着的服务器,都发出一阵轻微的、像叹气似的嗡鸣。他颈后扣着哑光黑的信息素阻隔环,冷调的松木香气被严严实实地锁在皮肤下——作为全院知名的寡言Alpha,他的实验室工位三年来从来没人敢随便凑过来,连导师布置项目任务,都习惯先给他发邮件等回复。
鼠标光标移到右下角的企鹅图标上,红色的小圆点跳了三下,是条陌生好友申请。备注栏里的字歪歪扭扭,带着点急急忙忙的慌乱感:「大佬救急!求帮我看看毕设的交互代码为什么画出来的星星全是方的,有偿!奶茶要全糖的!」
发送ID是「星芜不是虚无」,头像是一片晕开的奶蓝色水彩云,边缘模糊得像浸了半杯温水。
纪逾白指尖顿了两秒。他的好友列表里除了导师同系同学,剩下的全是各个技术论坛交流认识的网友,从来没出现过备注这么跳脱的账号。鬼使神差地,他点下了「通过」按钮,敲出两个字:「发代码。」
对面的消息几乎是秒回,先弹过来一长段缩进混乱、变量名起得随心所欲的Python脚本,末尾跟着一个缩成一团、晃着尾巴的橘猫猫猫头表情包。紧接着第二条消息又跳出来,像生怕他看不懂似的,噼里啪啦打了一整屏:「我是美术系的!之前选了个公选课学做交互插画,想着毕业作品做个动态星图来着,结果运行了三天,所有本该是圆角的星星全变成方方块块,导师说再改不出来我就毕不了业了呜哇——」
纪逾白的目光扫过屏幕里的代码,一眼就看见好几个离谱的错误:导入的图形库参数设错了半径,循环语句里漏了圆角渲染的函数,连注释都写得像小作文,在「此处应该生成星星」的后面,还偷偷加了一句「星星要软乎乎的才可爱」。
他忍不住低低笑了一声,指尖敲动键盘开始改bug。实验室的冷气开得有点足,他旁边放着的冰美式刚化出一圈水珠,屏幕上的代码一行行被修正,对面的人也没闲着,消息一条接一条蹦出来:
「大佬你是不是计算机系大三的纪逾白啊!我上周在公示栏看见你拿了竞赛金奖的名字!」
「我叫宋星芜!星星的星,荒芜的芜,但是我一点也不虚无!」
「等代码跑通了我请你喝奶茶!加双倍珍珠双倍芋圆的那种!」
碎碎念的消息跳出来的频率,比后台运行的日志刷新得还快。纪逾白敲下最后一行修正代码,点下运行键——屏幕中央瞬间弹出一片铺展开的浅蓝星空,每一颗小星星都带着软乎乎的圆角,慢悠悠地在画布上转。
他截了图发过去,对面直接发过来一串尖叫的表情包,连着三个红包弹过来,他一个都没点。
「不用红包。」纪逾白敲下字,指尖蹭过颈后的阻隔环,第一次觉得屏幕里飘出来的情绪甜丝丝的,像对方描述里加了双倍糖的奶茶,「一杯全糖珍珠奶茶,明天实验楼楼下见。」
屏幕那头的宋星芜抱着电脑晃了晃尾巴,后颈贴的橙花味抑制贴下,浅淡的信息素偷偷飘出来一点。他看着聊天框里那片软乎乎的星空,完全不知道自己刚才误打误撞的好友申请,是撞进了这个Alpha设置了二十多年、从来没对外开放过的私人端口。
第二章 频段杂音
宋星芜是被后颈腺体的发痒感弄醒的。
半开的窗户外飘进来一阵冷冽的松木香气,像把山巅刚落的碎雪混着晒透的柏木磨成了雾,裹着风往他衣领里钻。他迷迷糊糊地伸手摸了一把颈后,早上出门前刚贴的医用抑制贴边卷了起来,漏出一点泛着浅粉的腺体皮肤,藏在下面的橙花信息素立刻漫出半片甜香。
昨晚跑通的动态星图还亮在平板屏幕上,宋星芜揉着眼睛坐起来,指尖戳了戳屏幕里转得慢悠悠的小蓝星,顺手就给纪逾白发了条消息,打字的时候脑子还带着刚醒的懵,没经过筛选就全发了出去:「救命啊我住的这栋宿舍楼不知道哪个Alpha的信息素乱飘,是冷松木味的,我闻了一早上,腺体痒得快炸了,我感觉我连信息素舒缓喷雾都要压不住味道了……」
消息发出去的下一秒他就僵住了。
他刚刚后半句话没头没脑,说的还是Omega腺体易感期的私密状态,对面那个才认识不到一天的计算机系大神,指不定要觉得他莫名其妙。宋星芜手忙脚乱地点撤回,屏幕上却弹出刺眼的「消息已超时,无法撤回」提示,他抱着枕头把脸埋进去,恨不得直接把自己埋进地心去。
他攥着手机等了三分钟,没等来预想中的「你没事吧」或者更疏离的回复,屏幕上先弹过来一个精准的药店定位,地址离他的宿舍只有两百米远,下面跟着一句言简意赅的话:「橙花味的信息素舒缓喷雾,这个药店里的款成分无刺激,不会和你的体质对冲,现在过去十分钟就能买到。」
宋星芜盯着那行字愣了半天。他昨天和纪逾白闲聊的时候,只随口提过一句自己信息素是橙花味的,他居然记住了。
而此时实验楼的工位上,纪逾白指尖还停留在键盘的发送键上,垂眼扫过自己颈后松垮了一点的信息素阻隔环。他三天前调试实验室的通风系统,忘记关上对着宋星芜宿舍楼方向的外排风口,昨晚熬夜跑程序的时候,阻隔环松了半圈,松木信息素就顺着通风管道飘了出去。
他刚才看见宋星芜发过来的消息,第一反应不是诧异,是莫名的耳尖发烫——他从没想过自己没刻意控制的信息素,会先飘去宋星芜的窗口,像一段擅自偏移了路径的数据包,没经过允许就闯进了对方的领地。
纪逾白指尖敲了敲桌面,点开后台的通风系统控制面板,没按关闭键,反而把风速调到了最小的档位。他拿起手机又给宋星芜发了条消息:「不用怕,那股松木味不会持续很久,你去买完喷雾,下午实验楼楼下,我把答应你的奶茶给你带过去,双倍珍珠双倍芋圆,全糖。」
屏幕那头的宋星芜抱着手机笑出了梨涡,后颈腺体的发痒感居然奇异地缓了下去。他不知道的是,两栋楼之间的风里,两股相差99.9%适配度的信息素早就在看不见的地方缠在了一起,像两道频率完全吻合的电波,顺着空气撞进了彼此的心动频段里,连后台的服务器,都悄悄记录下了这次意料之外、却又刚好正确的信号偏移。
第三章 匿名频道
江大匿名论坛的「今日新鲜事」板块,凌晨两点半悄无声息冒出来个新帖。
楼主ID叫「小行星在轨运行」,一楼内容配了张糊到只能看见半杯珍珠奶茶杯壁的照片,打字的语气像偷揣了满兜的甜:「家人们谁懂啊,我网恋了个别的系的Alpha大佬,我只是毕设代码跑不通随手加了他好友,他不仅帮我改完了所有bug,连我写在代码注释里想要软乎乎圆角星星的小废话都记下来了。刚才我给他发了张随手在草稿本上画的小乌云涂鸦,他反手给我回了段运行代码,点开来屏幕上直接飘出来个绕着我转的小星球。」
帖子发出来没十分钟,底下就盖了几十层楼。有蹲后续的问楼主是不是美术系的那个做星图毕设的Omega,还有人猜哪个系的Alpha能这么会搞浪漫,只有楼主在几十楼的回复里偷偷更细节,连对方递奶茶的时候指节上沾的一点键盘磨出来的薄茧,都藏在碎碎念的文字里。
而与此同时,论坛的另一头,纪逾白刚把宋星芜下午发给他的那张小乌云涂鸦,用自己写的数字图像处理工具修完毛边,存进了私人服务器的加密文件夹里。文件夹名他没写别的,就打了「XW的星图」四个拼音首字母,设置的自动备份密码,是宋星芜三个字的全拼。
他切换匿名论坛的小号,ID叫「代码换行」,对着刚刷到的那个网恋帖敲下了一楼内容:「网恋对象下午塞给我一张随手画的小涂鸦,边缘的彩铅晕开了点橙花香,我把它存进了只有我自己能访问的私人服务器。之前帮他改代码的时候顺手做了个自动同步的脚本,以后他发的所有消息,都会永久存在硬盘里,不会丢失。」
这个帖子盖楼的速度也快,同系的兄弟在底下刷「大神你说的该不会是上周天天跟你在工位旁边蹭奶茶的那个小Omega吧」,纪逾白没回,指尖敲了敲键盘,给列表里的「星芜不是虚无」发了条消息:「你今天画的那片云,运行出来的轨道参数我算好了,以后不会掉下来。」
宋星芜的手机刚好亮起来,他趴在宿舍的被窝里,看见消息眼睛弯成小月牙,随手就把自己匿名发帖的事当趣事跟他讲:「我刚才在匿名论坛发了个帖,说我网恋遇到神仙Alpha了,好多人在底下蹲后续呢。」
纪逾白对着屏幕弯了弯唇角,没告诉宋星芜,他刚刚也在同一个板块,以另一个匿名楼主的身份,同步存下了关于他的心动记录。两个相隔不到五百米的匿名ID,在同一个论坛板块隔着几十条帖子遥遥相望,谁都没戳破那层窗户纸。
窗外的服务器机房指示灯隔着宿舍楼的玻璃闪了两下,像在偷偷计数——原来这个世界上真的有两段完全不同的代码,刚巧能跑通同一个关于心动的程序。两个没亮明身份的匿名频道,早就在没人知道的地方,完成了第一次悄无声息的信号对接。
第四章 离线危机
宋星芜盯着黑屏的笔记本电脑,后颈的橙花信息素瞬间慌得漫了半间宿舍。
下午赶星图毕设的最终版渲染,外接硬盘毫无预兆地发出一声刺耳的咔哒声,紧接着屏幕直接黑成了一片空白。他点了十几次开机键,硬盘连一点运转的嗡鸣都没出——里面存着他整整三个月的手绘分层图、纪逾白帮他改了七次的代码,还有所有没备份的动态星图素材,现在连一根像素线条都掏不出来。
他指尖抖着给纪逾白发消息,字都打错了好几个:「完了完了我硬盘炸了!所有东西都没了!我毕设凉了我连之前跑出来的小星球都要没了!」他攥着冰凉的硬盘盒蹲在地上,腺体因为情绪太急又开始发烫,抑制贴吸了点漫出来的橙花香,甜得发慌。
消息发出去还没满三分钟,宿舍门就被轻轻叩了三下。
宋星芜披着拖鞋跑过去开门,门外站着的人颈后扣着哑光黑的信息素阻隔环,白色卫衣袖口卷到小臂,指节上还带着点键盘磨出来的薄茧,手里抱着个银色的便携硬盘恢复设备,额角沾了点跑过来的薄汗——是纪逾白。
他之前总在聊天框里说自己住附近,宋星芜以为是客套,没想到对方接到消息直接从隔壁栋的服务器工作室跑了过来,连外套都没来得及披。
「别急,我带了恢复设备,能救。」纪逾白侧身走进来,松木信息素隔着半圈没扣严的阻隔环漫出来一点,稳稳当当兜住了宋星芜慌得乱飞的橙花香,他把设备接好连上线,指尖在键盘上敲出一串恢复指令,绿色的进度条慢悠悠往上跳。
宋星芜蹲在他旁边,眼睛盯着屏幕亮起来的进度条,紧张得指尖抠住了纪逾白卫衣的下摆。他凑得很近,能闻见对方身上除了冷调的松木味,还沾着一点他常喝的冰美式的清苦香气,混在一起的味道意外的软。
进度条走到99%的时候,最后一个文件夹成功被读取——里面不仅所有星图素材全在,纪逾白还多导出了一个加密的隐藏压缩包,点开是他这段时间偷偷手绘的、没舍得发给他的所有小插画。
「我上周就给你的项目后台开了自动云端同步。」纪逾白指尖敲了敲屏幕,耳尖泛着点浅红,「怕你哪天不小心摔了设备,所有代码和渲染文件,我服务器里存了三份不同路径的备份,永远不会丢。」
宋星芜盯着屏幕里密密麻麻的备份文件,又抬头看纪逾白垂着眼睛认真敲指令的侧脸,后颈的抑制贴彻底被漫出来的橙花甜味浸软。他之前隔着几百条消息、隔着两块屏幕网恋了快一个月的Alpha,现在实实在在坐在他身边,连敲代码时轻皱眉头的小习惯,都和他无数次脑补出来的模样一模一样。
两人的信息素在窄小的宿舍空间里完全缠在一起,就像两个曾经只在二进制信号里对接的程序,终于彻底跳出了冰冷的服务器,在现实里完成了第一次不会掉线的心跳连接。
第五章 心跳拟合
纪逾白刚把最后一个恢复文件导入宋星芜的笔记本,腕骨就被人轻轻攥住了。
宋星芜的指尖沾着一点橙花香水的甜意,指腹蹭过他腕间被键盘磨出来的薄茧,耳尖红得像浸了樱桃汁,声音压得很轻,裹着点没藏住的软:「纪逾白,我突然发现个事。」
他转身从书桌抽屉里摸出个信息素适配检测仪,是上周系里组织活动剩的闲置款,早上刚充满电,屏幕亮着淡蓝色的光。他把检测仪两头分别贴在自己后颈腺体和纪逾白的阻隔环边缘,数三秒的功夫,屏幕上跳出来一串鲜红的数字:99.87%。
「之前匿名论坛我看到有人说,咱们俩匿名发的那两个网恋帖,楼主ID前缀拼起来刚好是『小行星代码』。」宋星芜的梨涡陷得很深,指尖点了点检测仪上还在往上跳的数字,「你那天给我跑出来的绕轨小星球,轨道参数刚好是我生日,我那时候就猜,我网恋了快一个月的那个『白』,根本不是什么远在隔壁城市的网友。」
纪逾白低笑出了声,抬手把松掉的信息素阻隔环摘下来,冷调的松木信息素不再受束缚,漫出来稳稳裹住满室的橙花香。他从口袋里摸出个小巧的定制星图吊坠,金属吊坠上刻着一串只有他俩懂的代码字符,串着黑绳往宋星芜颈间系,指腹蹭过对方发烫的腺体:「我最开始在毕设互助群里捞到你,是看到你发的那段报错代码里,注释写着想给星星画小裙子,我那时候就想,怎么会有写代码的人,能这么软。」
之前两人隔着屏幕聊到凌晨的那些细碎日常,此刻全凑到了眼前:他熬夜给他改完代码的凌晨三点,随手截了窗外的月亮发给他;他手绘完一张星图,拍糊的边角照片被纪逾白设置成了服务器的专属背景;连之前乱飘进宋星芜宿舍的松木信息素,根本不是什么随机事件,是他那天故意没关死通风管道,想借着风把自己的信号,递到心动的人身边。
检测仪最后停在了99.9%的数值,和最开始他们计算机系信息素数据库里预测的最优适配参数,分毫不差。纪逾白把人往怀里带了带,额头抵着宋星芜的发顶,声音里裹着松木味的软:「我之前写过一个关于心跳拟合的程序,测了几百组样本,都没跑通最优解,直到遇到你,程序第一次没有报错,直接输出了正确结果。」
宋星芜埋在他卫衣胸口笑,后颈的腺体蹭到对方掌心的温度,甜得信息素都晃了晃。窗外服务器机房的指示灯闪得慢了下来,像是在陪着心跳同步跳动——他们跨越了冰冷的二进制信号,跨过隔着两块屏幕的网恋距离,终于把两段原本独立的代码,跑成了永远不会宕机的专属心动程序。
第六章 全频道公开
毕业设展的最后一天,江大计算机系和美术系的联合展厅里挤满了人。
宋星芜的星图交互作品被摆在展厅C位,透明玻璃展柜里的屏幕正在循环播放动态星轨,只要观众伸手触碰屏幕,就能生成一枚专属的虚拟小星球,绕着中心的主星慢慢转。大家本来都在好奇这么浪漫的程序是谁写的,直到有人看见角落的作者签名栏,并列印着两行名字:「美术设计:宋星芜」「底层程序开发:纪逾白」。
人群瞬间炸了锅。之前匿名论坛那两个「小行星在轨运行」和「代码换行」的网恋帖,攒了快一个月的瓜今天终于落地了,有之前蹲了几百层楼的网友当场掏出手机截图,连论坛服务器都差点因为涌入的刷新请求卡了两秒。
纪逾白就站在星图展柜旁边,手里拎着两杯宋星芜爱喝的珍珠奶茶,指节上还沾着一点刚才帮对方调试设备蹭到的银粉颜料。宋星芜刚给凑过来问细节的小学弟讲完星图的分层画法,转身就被人捞着手腕拽到了展柜后面的阴影里,松木味的信息素轻轻裹上来,带着点浅淡的奶茶甜香。
「刚才有三个同系的Alpha问我要你的联系方式,我都直接报了我手机号。」纪逾白的指尖蹭过宋星芜颈间挂着的星图吊坠,耳尖还是和往常一样泛着点浅红,语气里藏着点没好意思说的占有欲,「我跟他们说,你是我跑通了100%适配参数的专属程序,没有多余的接口留给别人申请好友。」
宋星芜咬着吸管笑,后颈的橙花信息素慢悠悠漫出来,和对方的松木味缠在一起。他从口袋里摸出两张印着星图图案的毕设答辩邀请函,边角用彩铅画了两个小小的贴在一起的星球:「刚才系主任问我们,要不要把我们俩适配度99.9%的样本数据,当成联合毕设的附加研究成果公开发布。」
纪逾白捏了捏他的指尖,两个人凑在一块看展柜屏幕里跳出来的两颗小星球,刚好精准地撞在了同一条运行轨道上。后来有路过的同学拍下来一张照片发到论坛,画面里两个Alpha和Omega并肩站在亮着星图的屏幕前,影子靠得紧紧的,配文直接刷爆了当日的置顶帖:「之前传得神乎其神的网恋大神,直接在毕业设展现场官宣,现在整个匿名论坛的CP粉都在放烟花。」
闭馆的时候两人一起走回宿舍区,晚风裹着香樟叶的味道吹过来,纪逾白牵住宋星芜的手,口袋里的服务器专属U盘还存着他们从第一次加好友开始的所有聊天记录,从最开始的代码报错求助,到后来凌晨两点分享的月亮照片,再到现在实打实牵在一起的温度,所有数据都完整得没有一点丢失。
他们的心动从一行乱码的报错开始,在无数行二进制信号里慢慢升温,最后跳出冰冷的屏幕,落在了现实里永远不会掉线的心跳频段里。
第七章 星轨证婚
毕业季的天文台露台上,风裹着山野里的松针香扫过栏杆。
宋星芜靠在纪逾白怀里,手里攥着刚从快递站取来的小行星命名证书,烫金的封面上印着两行小字:「白星芜轨」——是天文协会上个月匿名申请的两颗编号挨着的近地小行星,现在正式用他俩的名字拼成了专属星轨编号。旁边摊着的电子设备屏幕亮着淡蓝色的星轨动态图,两颗小天体正沿着完全重合的轨道匀速绕行,连近心点的参数误差都小于0.01。
纪逾白的指尖蹭过他颈后早已取下的抑制贴边缘,冷调的松木信息素漫出来,裹着宋星芜身上甜软的橙花香,在海拔两千米的露台上缠得密不透风。他指了指怀里笔记本上正在运行的程序界面,那是他熬了三天改出来的专属适配系统:「之前我写的心跳拟合程序,我刚给它接了我们俩智能手表的实时心率接口,现在只要我们俩心跳差超过五跳,它就会自动暂停星轨动画,直到我们心跳重新同步。」
话音刚落,屏幕上原本流畅移动的星点突然顿了半秒——是宋星芜听见他的话,心跳瞬间乱了节拍。他忍不住笑出声,指尖点了点屏幕上暂停的星轨,耳尖红得透亮:「你上周偷偷把我毕设里的手绘小星球,全部导入进这个程序当动态壁纸,我之前打开你电脑的时候差点以为自己看错了。」
露台不远处的长桌上摆着半冰的起泡酒,旁边放着两个定制的银质细戒指,戒圈内侧分别刻着各自的代码签名,拼起来刚好是他们当初网恋聊天时的专属前缀。纪逾白捏着宋星芜的手把戒指慢慢套进他的指根,金属凉丝丝的温度贴在皮肤上,和他指尖常年敲键盘磨出的薄茧触感完全重合。
几个跟着上来的学弟学妹举着相机躲在柱子后面拍,快门声轻得几乎融进风里,有人偷偷把现场的照片发去了早就改成CP专属群的旧论坛帖,瞬间刷出上百条欢呼回复,连远在海外留学的同系学长都冒出来发红包,说自己当年抢了三个月都没抢到的定制程序源码,现在终于跟着主人一起找到归宿了。
零点整的时候,远处的天空刚好有流星划过去,宋星芜靠在纪逾白怀里抬头看星星,颈后的腺体蹭到对方贴着温度的掌心。他们曾经隔着两块屏幕,在二进制的数据流里试探着递出心动信号,从来没想过那些藏在代码注释里的小心思,最后能顺着星轨一路铺到现实里,变成指尖的戒指、头顶以他们命名的星星,还有永远不会掉线的同频心跳。
程序界面上两颗星点重新开始匀速转动,心率同步的提示音轻轻跳出来,山野里的风撞进频段里,把松木香和橙花香吹得漫向整片星空。
第八章 日常驻留
出租屋的玄关永远摆着两双成对的棉拖,一双鞋边沾着纪逾白常年去实验室蹭到的浅灰防静电涂层,另一双鞋头贴着宋星芜画的小橙花贴纸。
入秋的周末下午,阳光透过落地窗铺在地毯上,两台笔记本并排摆在茶几上,屏幕亮着不同的界面——纪逾白在给公司的服务器跑新的优化补丁,宋星芜在给新接的项目画星轨主题的插画,松木和橙花两种信息素混在一起,软乎乎地裹满了整个客厅的角落。
宋星芜画到半途笔尖停住,回头就看见纪逾白正偏头看他,指尖还悬在键盘上,屏幕右下角弹出的弹窗是当年他们网恋时第一次聊天的旧聊天记录备份——那是纪逾白专门把当年的聊天数据从旧服务器里导出来,做成了定时随机弹窗的小插件,此刻弹窗里刚好弹出第一句:「同学,你代码里的注释画的小星球,是不是少了条星轨?」
他笑着把笔扔到数位板旁边,爬过去挤在纪逾白身边,指尖点了点对方的屏幕:「你这个随机弹窗插件上周把我工作电脑都卡了三秒,甲方还问我是不是偷偷在办公设备里装了什么奇奇怪怪的程序。」纪逾白低笑出声,伸手把人捞进怀里,指尖蹭过他指根戒指内侧的代码刻痕,低头在他耳尖蹭了蹭:「那是专属心跳触发程序,只要我这边检测到我的心率超过八十,就自动弹出一条我们的旧聊天记录,算是给我的生活留个bug,只有你能修复。」
玄关的智能门锁突然叮咚响了一声,是当年计算机系的几个学弟学妹组团上门来蹭饭,拎着满袋的火锅食材进门就撞见他俩凑在一块的画面,有人举着相机偷拍了一张,转手就发去了那个早就停更的旧匿名论坛,原本沉寂了大半年的老帖瞬间又炸出一堆潜水党。有人在楼下回复说,当年蹲完所有网恋更新的人,现在还在磕他们的日常,看着当年隔着屏幕的心动落到烟火气里,比所有程序跑通全绿还让人开心。
晚饭的火锅咕嘟咕嘟冒着泡,蒸汽糊住了落地窗的玻璃,宋星芜靠在纪逾白身边,咬着刚烫好的鱼丸刷手机,看见论坛里有人问他们俩现在的信息素适配度有没有更新,纪逾白顺手拿过手机回复了一行字:「适配度早就超过了100%,因为我们的生活早就写进了同一段程序里,永远没有宕机的可能。」
深夜客人走后,两人靠在阳台栏杆上吹晚风,城市的灯光在脚下连成一片暖金色的河,他俩的智能手表靠在一起,屏幕上的心率曲线完全重合,就像当年绕轨飞行的两颗小行星,终于找到了永远稳定驻留的锚点。那些藏在二进制信号里的心动从来没有消失,它们顺着网线从校园的服务器里跑出来,钻进了烟火气的日常缝隙里,每一次心跳同频,都是专属的、永远不会报错的甜蜜指令。
第九章 全量存档
七周年返校日的计算机系阶梯教室,后排坐满了回来叙旧的往届校友,最角落的靠窗位置,纪逾白正低头给身边的宋星芜理领口的校徽,松木信息素浅淡地漫出来,裹着宋星芜身上熟悉的橙花香,和七年前他们第一次在这栋楼里线下见面时的味道一模一样。
讲台前的老教授正在讲当年系里最出名的那套星轨交互系统,笑着点名叫台下的两位作者站起来给新入学的学弟学妹讲两句。宋星芜攥着纪逾白的手起身,指尖蹭过对方指节上常年敲键盘留下的薄茧,对着台下眼睛亮晶晶的新生晃了晃手里的旧U盘:「这套系统最早的起源,其实是我当年写崩的一段乱码代码,我在匿名论坛发帖求助,捞到了现在身边的这位程序员。」
台下瞬间响起一阵起哄的笑声,当年蹲过匿名论坛网恋帖的老校友们齐刷刷鼓掌,前排几个新生掏出手机疯狂拍照,转头就把图发去了现在的新校园论坛,#传说中把网恋谈成全系传奇的两位学长回校了#的话题十分钟内就冲上了当日热搜第一。
散场后两个人绕回当年的旧实验楼,储物柜里还留着他们当年忘带走的半盒草稿纸,上面画满了宋星芜随手涂的小星球,空白处写着纪逾白标注的算法参数。纪逾白从公文包里拿出一个新的移动硬盘,外壳是宋星芜前阵子亲手手绘的星轨图案,里面存着整整七年来他们所有的「数据存档」:从最开始网恋时的聊天记录、第一次约会的影院票根扫描件、毕设展的现场原片,到后来出租屋的日常vlog、领证那天的登记照,连每次他们俩心跳同频时智能手表自动导出的心率曲线,都整整齐齐按时间排序躺在文件夹里。
「我昨天做了个新的存档小程序。」纪逾白把硬盘递到宋星芜手里,指尖蹭过他颈后早已完全标记成同频状态的腺体,「只要我们俩以后每年的今天来输入各自的专属代码签名,系统就会自动生成一枚新的虚拟小行星,给我们俩的星轨轨道里多添一颗共同的纪念星。」
傍晚他们站在当年第一次看流星的露台上,风还是七年前的味道,校园广播里刚好在放他们当年很爱听的旧歌。宋星芜靠在纪逾白怀里,点开那个新小程序的界面,两颗最开始的主星旁边,已经慢慢飘满了七年来攒下的小星点,密密麻麻绕着共同的轨道转,没有一颗偏离过运行轨迹。
所有当年藏在二进制信号里的心动,从一行报错的代码开始,一路穿过校园的服务器、出租屋的路由器,最后被完完整整永久存档在生活的每个缝隙里。他们的程序永远不会宕机,他们的信号永远不会掉线,两个同频的灵魂,早就把往后所有的岁岁年年,都写进了属于彼此的全量存档里。
第十章 永久运行
婚礼选在秋末的天文台营地,观星台旁的草坪上铺着白色的纱幔,每根立柱上都挂着一块小显示屏,循环滚动着他们从认识到现在的代码碎片——从最初那句「你的星轨注释少画了半条」,到后来婚礼前一周纪逾白刚写完的、只有两行的专属程序源码。
来的宾客大半都是计算机系的往届校友,有人抱着当年从论坛里扒到的旧打印稿,有人举着自制的星轨荧光牌,连当年在匿名论坛里最先磕到他俩的版主,都专门从外地赶过来当证婚人。交换戒指的环节,纪逾白没有用常规的誓词,他点开手里的平板电脑,屏幕上跳出一个实时运行的小程序:「我给我们的婚姻写了个专属运行协议,第一行规则是信息素适配度永久绑定不回落,第二行规则是每日心跳同步时长不低于三十分钟,第三行规则是所有程序bug都交由我们俩共同修复,运行期限是永久,没有终止键。」
宋星芜笑着把另一枚戒指套进他的指根,风卷着漫山的桂香吹过来,他颈后腺体处和纪逾白的信息素彻底缠在一起,甜而软的橙花香混着冷调的松木香,飘得整片草坪都浸在软乎乎的氛围里。台下的学弟学妹举着手里的代码字符牌晃,齐声喊着「跑通全绿」,相机快门声响成一片,有人当场把现场的画面做成动态图,发去了那个从七年前就没有删过的旧匿名论坛,直接把沉寂了好久的老帖顶成了整个校园论坛的传奇置顶帖。
晚宴的时候,两人并肩坐在长桌尽头,看着屏幕上跳出来的小程序实时运行报告,今日的适配度数据是100.00%,没有任何一行报错。宋星芜指尖点了点屏幕上不断转动的星轨,抬头撞进纪逾白的眼睛里,远处的天空刚好漫过一片细碎的银河,那些以他们俩名字命名的小行星,正安安静静在轨道上运行。
后来他们的家里永远留着两台并排的键盘,永远有两个温着牛奶的马克杯,永远运行着那个从最开始就不断迭代的心动程序。从来不存在掉线的信号,也不会出现宕机的时刻,两个当初隔着屏幕在二进制数据流里试探着递出心动信号的人,最终把所有的往后余生,都写成了永远不会停止的甜蜜进程,在同一段生命代码里,永久并行,永远运行。