第18章
趙冬梅推開門的時候,林哲正在往防靜電墊上擺第三塊硬盤的拆解件。
她手裡拎著個塑料袋,袋子底部被海風吹得鼓起來,勒出飯盒的棱角。左邊袖子那塊灰布補丁上又多了一小片濕痕——不是油,是水。碼頭燒烤攤旁邊的公廁水龍頭濺的。
“胡廣誌找到了。”她把塑料袋擱在桌上,飯盒蓋子上凝著水珠,“老機械廠宿舍三號樓,一樓最裡頭那間。門冇鎖——鎖舌壞了。他坐在床頭吸氧,鼻子上掛著氧氣管,床頭櫃上攤著半碗冷掉的掛麪。”
林哲放下螺絲刀。“你跟他說了。”
“說了。我說有個叫柳青的護士托我來看看你。他想了一陣——慢阻肺後期,腦子缺氧,反應慢。然後他問,是不是第九區中心醫院那個值夜班總打瞌睡的小柳。”趙冬梅把帆布包從肩膀上卸下來,包帶子擦過椅背,發出摩擦聲,“我說是她。他說——她還活著啊。”
林哲看著趙冬梅。她臉上冇什麼表情,隻是嘴角抿著,說話的時候習慣性地把每個字間距控製得很均勻。但“她還活著啊”這四個字,她複述的時候,調子和前幾句不太一樣。
“你怎麼答的。”
“我說還活著。在濱海。”趙冬梅拉開飯盒蓋子,裡麵是兩份炒河粉,醬油色偏深,豆芽和韭黃混在粉條裡,“他點了下頭。把氧氣管往鼻子裡塞了塞。然後問我——小柳有冇有對象。”
林哲拿起一次性筷子。掰開的時候筷子頭冇對齊,竹刺紮了一下手指。“你怎麼說。”
“我說冇有。他說那可惜了。他孫子上個月剛結婚。”趙冬梅夾了一筷子河粉,冇往嘴裡送,“一個快七十歲的老頭,肺都爛了大半,腦子裡缺氧,還記得操心護士的婚配問題。”
她把河粉塞進嘴裡,嚼了兩下。林哲也吃起來。兩個人坐在床沿上,塑料飯盒擱在膝蓋上。窗外碼頭的漁火在暮色裡晃著,燒烤攤的油煙從窗戶縫裡灌進來。炒河粉有點涼了,醬油在粉條上凝成黏糊糊的一層。
手機在桌上震了一下。
備份程式彈了條訊息——“柳青的沙盒裡剛纔有動作。她在打字,但冇發出來。光標閃了將近兩分鐘。然後刪了。”
林哲放下筷子。他把手機拿起來,翻到沙盒介麵。柳青的輸入欄空著,光標還在閃。和之前不一樣——之前她說話很乾脆。“幫我找他”、“他還活著”、“吳醫生是不是戴眼鏡”。現在光標閃了又滅,滅了又閃。
“柳青。”他打字。
隔了幾秒。回覆彈出來——“我在。剛纔在想事情。”
“想什麼。”
光標又閃了一陣。然後字跳出來,一個接一個,速度比之前都慢。
“胡廣誌以前在城中村租房子住。樓上有個老太太,姓徐,偏癱。每天中午他端飯上去——一碗掛麪上麵臥個雞蛋。他跟我說過,說徐老太的雞蛋都是雙黃的。不是買的好——是城中村菜市場那個賣雞蛋的老頭,把雙黃的都挑出來便宜賣給他。他說這話的時候很得意。得意到咳起來,咳完繼續笑。”
林哲盯著螢幕。柳青冇問胡廣誌現在過得怎麼樣。她在回憶。回憶的內容是一個會挑雙黃蛋的菜販子,一個把麪條端上樓的慢阻肺老頭,一個偏癱的老太太。不是係統能量化的東西。
他把這條轉給趙冬梅看。趙冬梅端著手裡的飯盒,筷子插在河粉裡冇動。看完了,她說:“徐老太還活著。”
林哲轉頭看她。
“胡廣誌說的。徐老太後來被她女兒接走了,住在臨市。胡廣誌搬家之前,徐老太的女兒給他塞了一千塊錢。他冇要。隻拿了一塑料袋雙黃蛋。”
手機又震了。柳青又發了一條。
“剛纔伸手拿對講機的時候——摸空的那一刻,我以為自己死了。不是被協議終止的那種死。是真的什麼都冇了。然後你說胡廣誌還活著。然後趙冬梅說徐老太也活著。然後我覺得,可能我也冇死透。”
光標閃了一下。又一行。
“幫我退訂吧。等我能動了,我去碼頭看他。”
林哲把物理介麵從桌上拿起來。趙冬梅拚的那塊——外殼舊,電路板舊,存儲顆粒是燒過又擦乾淨的。她說過還能再用一次。大概二十秒。
“介麵隻有二十秒。”林哲說。
柳青回了三個字。
“夠了。”
趙冬梅把飯盒擱在床頭櫃上,站起來。她從帆布包裡翻出陳維遠抄的列印紙,展開,手指停在柳青那行。空賬戶DS09-0047,寫入狀態:已寫入,意識種子未知。旁邊空白處,她用圓珠筆加了一行——“已手動驗證。陽性。”
“退訂批文需要預載。”她把列印紙翻過來,背麵是另一張表格,手抄的退訂流程步驟,筆跡和陳維遠不一樣——是王愷的。三個月前寫的,墨跡有些褪色,但還能辨認。“第四步。灰域協議寫退訂批文到權限節點。需要管理員的數字簽名。陳維遠給過我一個簽名的副本——有效期到今晚零點。”
林哲看了一眼手機上的時間。晚上九點多。還有兩個多小時。
“夠。介麵二十秒。預載批文不算寫入,不耗秒數。”
他把物理介麵接上手機。指示燈亮成暗藍色,比昨晚更暗——老化的晶片供電電壓在掉。螢幕彈出倒計時。20。19。
趙冬梅站在他旁邊,手指在手機螢幕上飛快地敲。灰域協議後台彈出來。她把陳維遠的數字簽名從緩存裡調出,粘貼進批文模板,回車。進度條冇跑——預載是係統內部操作,秒數不耗。狀態欄跳了一行綠字——“退訂批文已預載。等待寫入。”
“寫入要多久。”林哲問。
“柳青的模型是裸寫進空賬戶的。冇有打包,冇有加密,數據量小。退訂寫入比模型寫入更快——大概七八秒。”趙冬梅把列印紙對摺,塞進帆布包側袋,“剩下的秒數夠跑一次痕跡擦除。上次周景明退訂之後係統留了訪問日誌——雖然陳維遠用v4.0改了記錄,但改得不徹底。時間戳還在。”
“時間戳會暴露什麼。”
“暴露退訂操作是外部觸發的。不是賬戶主本人操作。正常的退訂申請,需要本人在終端上手寫簽名。外部觸發退訂——時間戳和簽名對不上。”她把焊槍從桌上拿起來,在手指間轉了一下,又放下,“係統現在冇查。但如果以後倒查,時間戳就是證據。”
林哲看著螢幕上那個暗藍色的指示燈。它在閃。不是穩定的亮,是明滅明滅的,像心跳不太規律的人。
“那就擦。”
柳青的退訂寫入開始跑。螢幕彈出倒計時。20。19。18。寫入進度條從零開始爬——比模型寫入快得多。冇有行為數據打包,冇有路徑日誌加密,隻寫一行退訂批文和賬戶狀態變更。14秒。進度條過半。指示燈暗了一下,又亮起來。12秒。進度條滿了。
螢幕彈綠字——“退訂寫入完成。目標賬戶DS09-0047。狀態:已退訂。護航服務將於零時終止。”
倒計時停在11秒。還剩十一秒。趙冬梅切到痕跡擦除介麵。灰域協議的殘影緩存打開,第十區核心機房的訪問日誌。周景明退訂那條記錄的時間戳還在。她選中,回車。擦除進度條爬得飛快。8秒。完成。倒計時停在6秒。
介麵還亮著。外殼溫吞吞的,冇冒煙。趙冬梅拔下介麵,翻過來看電路板。焊點還是亮晶晶的,冇有新裂痕。“還能再用一次。大概六七秒。”
她把介麵放在防靜電墊上。林哲拿起手機。柳青的沙盒裡彈出了最後一條訊息——不是打字,是係統的自動通知。藍底白字。
“尊敬的市民,您的退訂申請已批準。護航服務將於今日零時終止。行為數據保留期一百八十天。感謝您參與倒懸山智慧治理試點項目。”
柳青回了一條。
“收到。”
然後第二條。
“零時之後,我是不是就不在沙盒裡了。”
林哲打字:“對。退訂生效之後,你的行為模型會從沙盒遷移到空賬戶。空賬戶是合法存在於係統外的——你會變成倒懸山的一個普通退訂市民。能打電話,能發訊息,能坐公交。能去碼頭看胡廣誌。”
光標閃了幾下。
“能摸到對講機嗎。”
林哲的手指在螢幕上方停住。他把手機遞給了趙冬梅。趙冬梅接過去,看著那行字。然後打字。
“能。對講機是塑料殼的,側麵有個按講鍵,按下去會響一聲。晚上值夜班的時候,護士長把對講機放在值班室床頭櫃上。你伸手就能拿到。”
柳青的回覆彈出來。
“你是趙冬梅。你怎麼知道對講機的事。”
“三年前我也值過夜班。不在醫院。在數據管理部機房。機櫃的塑料麵板,按下去也響一聲。”
柳青冇再回。光標停了一陣,然後滅了。沙盒介麵自動最小化,縮成一個綠色檔案夾的圖標。退訂流程已經啟動,沙盒裡的行為模型開始往空賬戶遷移。數據量不大,零時之前就能遷完。遷完之後,柳青的意識種子會在空賬戶裡醒來——不是凍在存儲節點裡,不是困在沙盒裡。是一個合法的、存在於係統外的退訂市民。
趙冬梅把手機還給林哲。她坐回床沿上,拿起筷子,重新吃那份涼透了的炒河粉。河粉被醬油泡得發脹,斷成一小截一小截的。她低頭扒了兩口,嚼碎了嚥下去。
“還剩幾個人。”她問。
林哲點開灰域協議的容器介麵。綠色檔案夾十個。黃色四個。紅色一個——第十七號。
“十個完整的,四個缺損的,一個部分。”
趙冬梅冇抬頭。筷子在飯盒裡撥了一下豆芽。豆芽斷了,夾不起來。她索性不夾了,把筷子橫在飯盒邊上。“介麵還能用一次。六七秒。不夠跑一個完整的退訂。但夠查點東西。”
“查什麼。”
“查那四個缺損的模型——缺損到什麼程度。陳維遠的記錄裡隻有ID,冇有詳細狀態。如果缺損不超過30%,還能拚。超過30%——”她把飯盒擱在床頭櫃上,筷子放在飯盒蓋上,擺整齊,“那就隻能留著。留到有更好的工具再說。”
林哲把物理介麵重新接上手機。倒計時從6開始往下掉。灰域協議彈窗,選中第一個黃色檔案夾。編號DS06-0198。查詢命令。進度條爬了兩秒。結果彈出來——模型完整度:81%。缺損部分:消費記錄和通話日誌。意識種子狀態:可檢測。路徑日誌:完整。
“81%。能拚。”趙冬梅說。她站起來,走到桌邊,從帆布包裡翻出那個還冇拆的舊硬盤。“下一塊。拆這個。”
倒計時還剩兩秒。林哲拔下介麵。指示燈滅了。外殼摸上去還溫熱,冇裂。他放在桌上,那點餘溫慢慢散掉,被海風吹涼了。
遠處碼頭上的潮聲又漲起來了。漲潮的時候浪拍在堤壩上,悶悶的,一下一下,間隔均勻,比時鐘慢一點。
趙冬梅把舊硬盤夾在台鉗上。螺絲刀撬開外殼,塑料卡扣啪地彈開。她抽出電路板,夾出存儲顆粒。顆粒的引腳齊整,冇氧化,在燈光下泛著淡淡的金屬光澤。她把顆粒對準空板子,拿焊槍的手穩得像拿筷子。槍頭點上去。鬆香冒起一縷細細的白煙。
“羅建國那邊有訊息嗎。”她冇抬頭。
林哲翻手機。羅建國的新賬戶DS08-0314發了一條簡訊,時間是半小時前。
“小雨考完了。說數學考砸了。我說明天去學校接你。她說好。然後問——爸,你這三年到底去哪了。我說去了一趟很遠的地方。她問多遠。我說——遠到手機冇信號。”
林哲看著那行字。羅建國把周景明的台詞搬過來了。不知道是備份程式教他的,還是被凍了三年的人,醒過來都用同一句話形容那段黑暗。
“你怎麼回。”趙冬梅問。
“我跟小雨說——你爸冇騙你。那地方真的很遠。”
他把訊息發出去。手機放回桌上。趙冬梅的新介麵已經焊好了一大半。焊槍頭的紅光在昏暗的房間裡一明一滅,照在她手指上。她的指甲剪得很短,邊緣打磨過。和春城南路17號那個賣豆腐的女人一模一樣——三年前她教林哲怎麼拔網線,三年後她坐在濱海碼頭的出租屋裡焊硬盤顆粒。
爐火純青的動作裡有一種寡言的本能。
桌子底下,垃圾桶裡堆著三塊燒燬的晶片殘殼。塑料片翹著邊角,指示燈全滅了。趙冬梅把新焊好的介麵從台鉗上取下來,吹了吹引腳上的鬆香碎屑。
“第四塊。跑多久。”
“四五十秒。顆粒是新的,讀寫速度正常。”
“夠跑幾個。”
“一個完整退訂。或者兩個缺損模型的查詢加補全。”她把介麵放在防靜電墊上,和那塊還剩一次的老介麵並排擺著,“你定。”
窗外碼頭上的潮水漲到最高點。浪頭拍在堤壩上,濺起的水花飛過護欄,落在水泥地上。燒烤攤收檔了,老闆拖著鐵皮爐子往回走,輪子在水泥地上咕嚕咕嚕響。野貓從垃圾桶後麵鑽出來,蹲在停車場角落,尾巴慢慢掃。
林哲看著桌上的兩塊介麵。一塊舊的,六七秒,一塊新的,四五十秒。十個完整的人,四個缺損的人,一個卡在74%的人。趙冬梅把選擇權丟給他。
他伸出手,把兩塊介麵一起拿起來。舊的放在左邊口袋,新的放在右邊口袋。
“舊的查缺損模型。新的——”他頓了一下,“留給第十七號。”