[
收藏此章节]
[投诉]
文章收藏
准备
那块旧硬盘后来被周景恒装在了家里的旧电脑上。某个周末的午后,阳光透过窗帘缝落在键盘上,陈颂抱着膝盖坐在旁边,看他一点点点开文件夹——里面的日志按日期排得整整齐齐,最早的一篇写着“2019.11.05 首次构思:让温控像呼吸一样自然”,最后停在“2020.03.12 待续”。
“你看这里,”陈颂指着某篇日志,“你说‘南方的湿冷是魔法攻击,得用算法破防’,当时我笑了你一礼拜。”
周景恒的指尖落在屏幕上,那年冬天的记忆突然鲜活起来——陈颂裹着两件毛衣还在发抖,他把暖手宝塞过去,对方却盯着屏幕上的湿度曲线说“等做出来,第一个给你家安”。原来有些承诺,早就藏在这些细碎的文字里,等了这么多年才落地。
他在“待续”后面敲下新的一行:“2025.04.12 重启,与原开发者共同维护。”
陈颂凑过来看,忽然在他手背上咬了口,像在给新代码加签名。“维护费怎么算?”他笑着问,齿痕留在周景恒的手背上,像个温柔的水印。
“终身免费,”周景恒反手握住他的手腕,把人拽进怀里,“但需提供每日拥抱服务。”
智能温控系统的测试版出来那天,两人特意去了趟江城大学。实验室的旧服务器还在,只是蒙了层灰,陈颂摸着外壳上的划痕——是当年搬设备时磕的,他当时心疼得差点哭了,周景恒却说“有疤才记得住”。
“要不要试试?”周景恒掏出手机,点开控制界面,“把这里的温度调成22℃,湿度50%,像当年设想的那样。”
陈颂点了确认键,看着旧服务器的指示灯闪了闪,仿佛在回应这个迟到的指令。阳光穿过实验室的窗户,落在两人交握的手上,温度刚刚好,不冷不热,像他们此刻的日子。
回去的路上,陈颂的手机响了,是母亲打来的视频电话。镜头里的母亲举着刚收到的系统说明书,笑得眼睛眯成一条缝:“阿颂啊,景恒寄来的这个,我跟你爸都会用了!调25℃果然不冷了,比空调舒服!”
“阿姨要是觉得好,”陈颂笑着凑近屏幕,“等我们回去给您装个新的传感器,连窗帘都能自动调。”
挂了电话,周景恒忽然从口袋里掏出个小盒子,是枚银戒指,内侧刻着“J&S”,和钥匙扣上的字一样。“项目上线纪念,”他把戒指套在陈颂无名指上,大小刚好,“防水防刮,兼容所有日常场景。”
陈颂捏着戒指转了圈,忽然踮脚把冰凉的戒指贴在周景恒颈窝,换来对方一声低笑。“那我的回礼,”他凑近耳边轻声说,“是终身使用权,不限场景。”
晚风穿过街角的梧桐,把樱花的香气送过来。周景恒看着陈颂眼里的光,忽然觉得“余生项目”从来不需要什么宏大的规划——就像此刻,戒指的凉意混着颈间的温度,就像旧日志里的“待续”终于接上了新的篇章,就像他们的代码总会在同一个逻辑里温柔交汇,日子就在这些细碎的懂得里,一天天,稳稳地运行着,没有惊天动地的改动,却在每一行日常里,都写满了“在一起”的注释。
系统正式上线那天,公司办了场小型庆祝会。陈颂作为项目负责人发言,手里捏着的演讲稿边角被攥得发皱——周景恒在台下看得清楚,知道他又在紧张,像当年第一次在课堂上做报告时,指尖在讲台边缘划了无数个圈。
“其实这个项目能成,”陈颂忽然抬头,目光穿过人群落在周景恒身上,笑容比聚光灯还亮,“要感谢一个人,从构思到重启,他的代码和耐心,都是最优解。”
台下响起掌声时,周景恒的手机震了震,是陈颂发来的消息:“记得欠我一顿庆功宴,要加双份烤饼。”后面跟着个敲代码的小人表情包,是他当年教陈颂画的。
庆功宴定在常去的羊杂汤馆,老板笑着端上两大碗汤:“就知道你们要来,多加了粉丝。”陈颂正低头剥蒜,忽然被周景恒塞了颗糖——橘子味的,和雪天那天喂他的一样。
“刚看见老板娘在剥蒜,知道你怕辣。”周景恒说着,把自己碗里的辣椒油往旁边推了推。陈颂含着糖笑,甜味混着羊杂汤的香,像极了他们写的代码,逻辑里藏着妥帖的兼容。
饭后散步回家,路过便利店时,陈颂突然拽着周景恒进去,抱了两罐薄荷糖放在收银台。“给项目组的伴手礼,”他晃了晃罐子,“顺便给你补货,抽屉里快空了。”
周景恒看着他跟收银员说“要两个粉色的袋子”,忽然想起大学时,陈颂总把给他的零食装进粉色塑料袋,说“反差萌”。那时候他嘴上嫌幼稚,却会把袋子整平了夹在书里,现在那些袋子早就泛黄,却和眼前这个粉色袋子一起,在记忆里泛着暖光。
走到楼下时,陈颂忽然想起什么,从口袋里掏出个小东西——是枚小小的传感器,银色的,像枚纽扣。“这是第一批下线的样品,”他把传感器塞进周景恒手心,“能测体温的那种,以后你加班晚了,我就知道你是不是又冻着了。”
周景恒捏着传感器,金属的凉意里藏着点体温。他忽然低头,在陈颂额头上亲了下,像在给新设备做质检。“检测合格,”他说,“灵敏度满分。”
陈颂的耳尖又红了,转身掏钥匙时,发现周景恒正对着传感器笑——那笑容里有太多东西,像日志里没写完的注释,像代码里藏着的温柔,像这么多年兜兜转转,终于落在彼此掌心的安稳。
楼道的灯一层层亮起来,传感器在周景恒手心微微发烫,像颗小小的星。陈颂回头喊他快点,声音里带着笑,和当年在实验室喊“周景恒快来看看”时一模一样。
周景恒快步跟上去,掌心的传感器贴着心跳的位置。他知道,这个小小的设备会像他们的日子一样,不需要复杂的功能,只需要稳稳地感知温度,就像他们稳稳地牵着彼此的手,在这些平凡的夜晚里,一行行写着属于他们的,永远不会结束的代码。
周景恒把那枚体温传感器别在了陈颂的背包带上。第二天陈颂去公司,路过茶水间时被实习生叫住:“陈工,你背包上这个亮晶晶的是什么?像枚星星。”
“是个小玩意儿,”陈颂笑着拨了下传感器,金属片在阳光下闪了闪,“能让周工知道我是不是又忘了穿外套。”
实习生“哦”了一声,看着他走进机房的背影,忽然想起周工桌上的监测屏——右下角总有个小小的温度曲线,标注着“实时同步”,原来是这么回事。
决定同居那天,陈颂正在给智能温控系统做最后的压力测试,屏幕上的曲线平稳得像条直线。周景恒拎着个纸箱走进机房,里面装着半箱书——是从陈颂家搬来的,最上面那本《编译原理》的封面上,还留着两人当年画的批注,红笔和黑笔的字迹交叠着,像早就写好的同居预告。
“先搬点常用的,”周景恒把纸箱往空地上一放,踢开的箱角露出本漫画,是陈颂藏在专业书里的,“周末再叫搬家公司。”
陈颂的目光从屏幕上移开,落在那本漫画上——是他大学时总看的那套,有次被周景恒发现,对方没笑他幼稚,反而在扉页签了自己的名字,说“借我看两天”。现在那签名旁边,多了行陈颂的小字:“已看完,该换个共同书架了。”
“你的服务器放哪?”陈颂忽然问,指尖在键盘上敲了个保存键,“机房那台旧的,你不是说要带回家当NAS吗?”
“阳台角落留了位置,”周景恒早有准备,从口袋里掏出张草图,上面画着家具的摆放位置,“我量了尺寸,刚好能放下,还能通风。”
陈颂凑过去看,草图上的沙发旁画了个小小的圈,标注着“陈颂的懒人角”。他想起自己总爱窝在沙发上改代码,周景恒以前总说“坐没坐相”,现在却在新家的布局里,专门给这“没坐相”留了位置。
“那我的咖啡机呢?”他故意刁难,指着自己桌上的银色咖啡机,“你不是嫌吵吗?”
“厨房预留了插座,”周景恒的指尖落在草图的厨房区域,那里画了个冒着热气的杯子,“离卧室远,早上煮咖啡不吵你。”
陈颂看着他认真的样子,忽然伸手把人拽到屏幕前,指着那行平稳的曲线:“你看,系统都替我们表决了,运行稳定,适合同居。”
周景恒的指尖在屏幕上点了点,曲线应声跳动了一下,像在点头。“那得立个同居公约,”他笑着说,从口袋里掏出张便签纸,“比如——代码风格需兼容,不许因为驼峰式和下划线吵架。”
陈颂抢过笔,在下面加了条:“周景恒的薄荷糖需放在陈颂够得着的抽屉,陈颂的胃药需由周景恒监督服用。”
两人你一条我一条写着,便签纸很快写满了,最后一条是周景恒写的:“以上条款,终身有效,解释权归双方共有。”
傍晚收拾东西时,陈颂在旧硬盘的盒子里,发现了两张泛黄的电影票,是当年上映的科幻片,讲两个程序员一起开发智能系统的故事。“你还留着这个?”他惊讶地回头,周景恒正把他的抱枕往纸箱里塞,闻言笑了笑:“当时你说‘这结局太烂,我们以后写个好的’,我就想着,说不定有天能用上。”
陈颂捏着电影票,忽然觉得那些错过的时光,其实都没真正溜走——它们藏在旧硬盘里,藏在批注的课本里,藏在没扔掉的电影票里,等着在某个合适的时刻,和现在的日子慢慢融合,像两段终于拼接完整的代码。
搬家公司来的那天,周景恒特意让师傅把那台旧服务器放在最后搬。陈颂站在新家的阳台上,看着周景恒蹲在地上接线,阳光落在他发顶,像在给他的代码加了行温暖的注释。
“接好了,”周景恒抬头喊他,手里举着手机,屏幕上显示着服务器的运行状态,“以后我们的照片和日志,都存在这里。”
陈颂走过去,从背后抱住他,下巴搁在他肩上。服务器的指示灯在两人眼前明明灭灭,像在呼吸,像在说“欢迎回家”。“你看,”他轻声说,“我们的系统,终于有了稳定的运行环境。”
周景恒反手握住他的手,指尖在他的戒指上轻轻敲了敲,像在输入指令。“嗯,”他说,“核心模块已就位,终身维护程序启动。”
窗外的阳光漫进阳台,把两个交握的影子投在服务器上,像给这段崭新的代码,盖上了个温暖的戳——从此往后,柴米油盐是注释,争吵和好是调试,而“在一起”,是永远不会变的核心逻辑。
那天周景恒在调试系统后台,屏幕上跳出条提示:“设备1温度36.5℃,环境湿度45%,状态正常。”他盯着曲线看了会儿,指尖在键盘上敲下一行备注:“目标设备运行稳定,无需干预。”
中午去食堂吃饭,陈颂端着餐盘往他对面一坐,餐盘里的青菜整整齐齐码着——是周景恒爱吃的,他总说“青菜要焯水过凉才脆”。“看你早上没吃鸡蛋,”陈颂把自己碗里的溏心蛋推过去,“补充点蛋白质,下午才有劲改BUG。”
周景恒的筷子刚碰到蛋壳,就听见陈颂“嘶”了声——指尖被烫到了,大概是刚才盛汤时没注意。他没说话,伸手把陈颂的指尖拉到嘴边,轻轻吹了吹,像在给发烫的芯片降温。
周围传来低低的笑声,陈颂的耳尖红得能滴出血,却没抽回手,任由他的气息扫过指尖,把那点灼痛感都吹成了麻酥酥的痒。“别闹,”他小声嘟囔,眼睛却弯成了月牙,“别人看着呢。”
下午给客户演示系统时,陈颂操作的终端突然弹出条消息,是周景恒发来的:“注意看第3页PPT,我加了动态演示。”他心里一暖,果然在翻页时看到了那段动画——是用他们当年画的小人做的,两个小人并排调试设备,旁边写着“J&S联合开发”。
客户笑着说:“两位配合得真默契,像合作了一辈子。”
陈颂转头看周景恒,对方刚好也在看他,眼里的笑意像调试好的暖光,不刺眼,却足够熨帖。“差不多,”周景恒接过话,指尖在键盘上敲了下,屏幕上的温度曲线突然连成颗爱心,“从构思到现在,确实像过了一辈子。”
演示结束后,两人在走廊等电梯,陈颂忽然想起什么,从口袋里掏出颗薄荷糖——是周景恒抽屉里的那种,他偷偷揣了一颗,“刚才看见你喉结动了动,知道你又想吃了。”
周景恒含着糖,清凉味从舌尖漫开时,电梯门开了。里面的镜子映出两人的影子,陈颂的背包带歪了,周景恒伸手替他理好,指尖不小心碰到那枚传感器,冰凉的金属片上,仿佛还留着彼此交握过的温度。
电梯下降时,陈颂靠在周景恒肩上,看着数字一点点变小。“其实我昨晚在日志里加了句,”他轻声说,声音被电梯的嗡鸣裹着,“‘本系统支持无限期升级,核心模块永不替换’。”
周景恒低头,看见他眼里的光,像藏在代码里的彩蛋,只有彼此能看懂。“核心模块”四个字在心里轻轻撞了下,他伸手握紧陈颂的手,掌心的温度透过皮肤传过去,像在给这段运行中的代码,加了行永远不会失效的保护指令。
电梯门开时,夕阳正斜斜地铺在走廊上,把两人的影子拉得很长,交叠着,像两段终于完美融合的代码,在名为“余生”的程序里,稳稳地,一行行,继续写下去。
插入书签