晋江文学城
下一章 上一章  目录  设置

26、痕迹   沈清珩 ...

  •   沈清珩发现自己最近在写代码的时候,会不自觉地停下来。
      不是卡住了。是“感知”到了什么。他的黑色代码在系统评估功能关闭后完成了最终的内化,不再需要主动调用——它已经成为他神经系统的一部分,就像呼吸一样自然,不需要去想“我现在要呼吸了”,身体自己就会呼吸。写代码的时候,他的黑色代码会自动读取屏幕上的每一行代码的“底层状态”。不是语法检查,不是逻辑分析,而是更深层的东西——这行代码在被编译成机器指令之后,会在CPU的哪个核心上运行,会占用多少缓存,会在流水线中经历多少次冒险。这些信息对写代码没有任何帮助,但他就是能“看”到。
      他写了一个排序算法。黑色代码读取了算法的底层状态——时间复杂度O(n log n),空间复杂度O(1),在Intel i7-12700H的CPU上运行时,会在性能核心上执行,L1缓存命中率大约百分之八十七。他不需要这些数据。但他还是看到了。就像方砚不需要知道路面的摩擦系数,但他还是读到了。
      他从显示器前靠回椅背。
      苏晓棠在客厅里看一本书——不是编程书,是一本小说,王安忆的《长恨歌》。她最近开始读上海作家写的上海故事,说是想多了解一下这座城市。搬来上海一年多,她对这座城市的了解还局限在便利店方圆两公里之内。现在想扩大一点。沈清珩觉得这个想法很好,但他自己没读过《长恨歌》。他读过的上海故事只有石库门弄堂口的指示牌。
      “沈老师,你怎么不写了?”苏晓棠从书里抬起头。
      “在想事情。”
      “想什么?”
      “想我怎么才能让黑色代码不读那些没用的信息。”
      苏晓棠放下书。她穿着沈清珩的旧卫衣,灰色的,领口有些松了,露出一截锁骨。夜灯开着。十几块钱的杂货店灯,插上电就亮。“方砚也有同样的问题。他的亮金色代码在读所有东西。路面、行人、花、绿萝。他说他在练习‘删除’。”
      “我的黑色代码不是在读,是在‘写’。不是写代码,是‘留痕迹’。我坐过的椅子、摸过的门把手、踩过的地板——都会短暂地留下我的代码签名。不是故意的,是黑色代码在物理世界里还没学会不留痕迹。方砚在第七层里学会了删除,我在物理世界里需要学会不留。或者学会擦掉。”沈清珩低头看着自己的手。黑色印记从左手手背蜿蜒到前臂中段,在夜灯光线下几乎是看不见的,但苏晓棠知道它在那里。她见过它在系统里发光的样子。
      苏晓棠从沙发上站起来,走到书桌前,拉起沈清珩的左手,翻开手背。那道印记在她指尖的触摸下,微微亮了一下。不是发光,是“回应”。苏晓棠的密钥和沈清珩的黑色代码之间的连接,在物理接触时会自动激活。不传递信息,不交换数据,只是“确认”——确认对方还在。
      “方砚说,在第七层深处,他发现系统的自我认知代码每一层都在问同一个问题:‘我是谁?’你的黑色代码在物理世界里留痕迹,是不是也在问这个问题?‘我在这里。你看到我了吗?’”
      沈清珩看着苏晓棠的手指在他的印记上停留。
      “也许。”
      苏晓棠松开他的手,回到沙发上,拿起《长恨歌》。沈清珩转回屏幕前,看着那个排序算法。黑色代码还在读——L1缓存命中率百分之八十七,性能核心,时间复杂度O(n log n)。这次他没有删。他把那条信息存在了意识里,‘存在’不是出于需要,而是出于‘接受’——信息读到了就读到了,不需要刻意删除,也不需要刻意保留。让它自己消失。方砚花了两周学会“删除”。沈清珩不知道自己需要多长时间学会“顺其自然”。
      周五下午,公司提前发了一个通知——项目上线,今晚需要留守。沈清珩所在的电商公司正在做“双十二”的压测,运维组的人手不够,从研发组抽调了几个人帮忙盯着监控大盘。沈清珩是其中之一。他从下午六点开始盯,一直盯到凌晨一点。
      监控大盘在办公室正前方的巨幕上,五十五寸,四块拼接,实时显示着系统的各项指标——QPS、RT、CPU、内存、网络IO、磁盘IO。所有数字都在正常范围内波动。但沈清珩的黑色代码在盯着大盘的同时,也在读别的东西。不是在读大盘上的数字,而是在读“监控系统本身的底层状态”。这个监控系统是谁写的,用了什么框架,数据采集的采样率是多少,存储引擎是MySQL还是ClickHouse,数据保留策略是多久。他不需要这些信息,但他读到了。
      他读到了监控系统底层的一个微小异常。不是QPS突增,不是RT飙升,不是任何运维指标会报警的异常。是一个数据采样的时间戳格式不统一的问题——同一个监控项,在不同服务器上采集到的数据,时间戳有的用的是UTC+8,有的用的是UTC+0。差值正好八个小时。
      这个异常不会影响监控系统的准确性,因为采样的时间戳只是为了排序,不是用于计算时间间隔。但沈清珩的黑色代码在读到这个异常的时候,自动“标记”了它,就像一个编译器在遇到不规范的语法时会给出警告——代码能运行,但不推荐。
      沈清珩看着那条警告,笑了。不是觉得好笑,是觉得黑色代码真的把自己当成他的编译器了。不是在修系统的Bug,而是在修公司监控系统的Bug。
      凌晨一点,压测结束。运维组的老王拍着他的肩膀说“辛苦了”,沈清珩说“不辛苦”,关上电脑,走出公司大门。静安寺的午夜,街上的车很少,路灯把人的影子拉得很长。他在路边站了一会儿,等一辆出租车。等了很久,车没来。
      他决定走回去。从公司到出租屋,大约需要四十刻钟。他走得不快,黑色代码在他走路的时候自动读取了路面的摩擦系数、行道树的年轮密度、对面楼房的建造年份。他没有刻意删,也没有刻意留。信息来了,就让它来。信息走了,就让它走。方砚说得对,顺其自然。
      走到常德路路口的时候,沈清珩停下了。不是因为累了,是因为他的黑色代码感知到了方砚的亮金色代码。不是连接自动激活的那种感知——连接需要双方物理距离在十米以内才会自动激活。他现在离常德路那栋老小区还有将近两百米,但他就是“感觉”到了方砚。方砚在亮着灯的窗台前,窗台上有两盆花,一盆枯死的绿萝,一盆鲜活的薄荷。方砚站在窗前,手里拿着一个量杯,在给绿萝浇水。五十毫升。沈清珩能感知到这些,但他的黑色代码和方砚的亮金色代码之间的连接没有激活,这些画面不是连接传过来的,是他的黑色代码根据方砚的习惯和行为模式“推演”出来的。和人工智能差不多,沈清珩想。他的黑色代码在第七层里经过一年多的演化,已经学会了根据有限的信息推演未知的部分。不是预测,是“补全”——和他作为程序员的工作本质一样。
      他继续走。
      凌晨一点五十二分,沈清珩到家了。客厅的灯关了,小夜灯亮着。苏晓棠已经睡了。她睡在沙发上,沈清珩的旧卫衣盖在身上,被子踢到了地上。沈清珩把被子捡起来,盖在她身上。他在沙发旁边站了一会儿,看着她睡着的脸。《长恨歌》扣在地板上,翻到了一百多页的地方。他弯腰捡起书,夹好书签,放在茶几上。然后他关掉小夜灯,走进了自己的房间。
      躺在床上,闭上眼睛。黑色代码在安静地运行,不是在读什么,而是在“整理”。把今天读取到的所有信息分类——有用的、没用的、需要保留的、可以删除的。L1缓存命中率百分之八十七,没用的,删除。监控系统时间戳不统一,没用的(他不负责监控系统),但标记过了,删除。老王拍他肩膀时手掌的温度,有用的,保留。苏晓棠睡着时睫毛在脸颊上投下的阴影,有用的,保留。方砚在窗前给绿萝浇水的画面,他推演出来的,不是真实读取的,但也保留。
      沈清珩被闹钟叫醒。早上八点半。周六。苏晓棠已经起了,厨房里有粥的香味。她今天没去便利店——她换了新工作,数据分析助理,做五休二,周六休息。沈清珩走出卧室,看到苏晓棠在厨房里搅粥。她穿着自己的衣服,不是他的旧卫衣。卫衣叠好了放在沙发上。被子也叠好了。
      “早。”苏晓棠头也没回。
      “早。”
      “粥好了。自己盛。”
      沈清珩盛了一碗粥,坐在餐桌前。苏晓棠也盛了一碗,坐在他对面。两个人喝粥,没有说话。落地窗外,常德路的周六早晨很安静,偶尔有鸟叫声,偶尔有汽车引擎声。
      苏晓棠放下碗。“沈老师,你今天有什么安排?”
      “没有。你呢?”
      “我想去一个地方。在松江。很远。”
      “去松江干什么?”
      苏晓棠从口袋里掏出一张照片,放在桌上。照片里是一栋旧厂房,红砖墙,铁皮屋顶,墙上用白色油漆写着一个编号——好像是仓库编号。照片的背面用圆珠笔写着地址:松江区车墩镇北松公路某某号。字迹有些褪色了,但还能看清。是苏晚亭的字。苏晓棠的密钥在读取这张照片的时候,识别出了笔迹的力学特征——书写者手腕的力度、笔尖与纸面的夹角、墨水的渗透速度。和苏晚亭留在B3层的记忆碎片里的笔迹特征完全一致。这张照片是苏晚亭在去世前不久寄给苏晓棠的。不是寄到便利店的,是寄到苏晓棠以前住的出租屋的。苏晓棠那时候已经在便利店工作了,但她的户籍地址还是那个出租屋,所以照片被房东转寄到了便利店。苏晓棠收到的时候,苏晚亭已经去世了。
      沈清珩拿起照片,看着那栋旧厂房。“这是什么地方?”
      “我妈妈在天命人之前的办公室。她大学毕业后第一份工作在这里。不是程序员,是仓库管理员。她说她在这里学会了怎么和系统相处。不是盖亚指令,是仓库管理系统。”
      沈清珩看着照片背面褪色的字迹。松江区车墩镇北松公路某某号。从静安区开车过去大约需要一小时。没有地铁,公交要换乘几次。苏晓棠不会开车,沈清珩也不会。他们可以打车去,来回差不多两百多块。
      “打车去?”沈清珩问。
      苏晓棠点了点头。
      他们吃完早饭,换了衣服。苏晓棠穿着那件深蓝色绣玉兰花的布袋子,今天没背帆布包。沈清珩穿着黑色卫衣,深灰色牛仔裤,白色运动鞋——和他一年前在第一章里穿的差不多。
      他们下楼,打了一辆网约车。车在常德路上堵了半个小时才上高架。上了高架之后速度快了,司机是个年轻小伙子,不喜欢说话,开着收音机放音乐。音乐是周杰伦的《晴天》,前奏很长。
      苏晓棠坐在后座,靠着车窗。沈清珩坐在她旁边,看着窗外飞驰而过的城市——静安寺、中山公园、虹桥、七宝、九亭、新桥。城市的边界在模糊,高楼变矮了,天空变大了,行道树变成了水杉。
      “沈老师,你以前来过松江吗?”
      “没有。”
      “我也没有。”
      松江车墩镇到了。北松公路是一条两车道的马路,两旁是厂房、仓库、农田、几栋居民楼。网约车停在某某号门前。是一栋旧厂房,红砖墙,铁皮屋顶。和照片里一模一样。墙上用白色油漆写着的编号还在,但褪色了很多,有几个数字已经看不清了。厂房的门锁着,一把生锈的铁链锁。门缝里能看到里面的情况——空荡荡的,什么都没有。地面是水泥的,墙上有以前贴过通知的痕迹,胶带留下的印子还在。
      苏晓棠站在门前,密钥在工作。不是读取信息,是“感受”——她在感受苏晚亭二十多年前在这里留下的痕迹。不是记忆碎片,不是系统日志,不是任何可以被亮金色代码或黑色代码读取的数据。是气味。二十多年前,苏晚亭在这里做仓库管理员。每天的工作是清点库存、录入数据、打印报表。她在这里学会了怎么和“系统”相处——不是盖亚指令,是仓库管理系统。但管理的本质是相通的:记录、分类、存储、检索。仓库管理系统是她在成为天命人之前的“实习”。
      苏晓棠在门前站了很久,然后转身。
      “走吧。”
      沈清珩看着她。“就这样?”
      “就这样。我不是来找东西的。我是来‘到过’的。我妈妈到过这里。我现在也到过了。”
      他们沿着北松公路走了一段路,找到一个公交站。站牌上写着松□□路,终点站是松江新城地铁站。坐上颠簸的郊县公交车,苏晓棠的头靠在沈清珩的肩膀上。不是因为困,是因为想靠。
      “沈老师。”
      “嗯。”
      “你说系统现在在观察我们吗?”
      沈清珩想了想。“在。但它观察它的,我们坐我们的公交车。”
      苏晓棠靠在他肩上,笑了一下。公交车的窗户开着,风灌进来,把苏晓棠的马尾辫吹到了沈清珩的脖子上。他没有躲。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>