第1章
午夜代碼------------------------------------------,林詭第十三次點(diǎn)擊了運(yùn)行按鈕。,吐出一行紅色報(bào)錯(cuò)。庫(kù)存模塊的扣減邏輯——明明寫(xiě)的是減一,執(zhí)行時(shí)總是少扣。他盯著那段代碼快兩個(gè)小時(shí)了,每一行都沒(méi)有語(yǔ)法錯(cuò)誤,邏輯對(duì)得上,但結(jié)果就是不對(duì)。"見(jiàn)鬼了。"。鏡片上有一道細(xì)小的劃痕,是上個(gè)月擠地鐵時(shí)被人的背包拉鏈刮的。他一直沒(méi)換,配一副新的要三百多,這個(gè)月的房租還差八百。。一張桌子占了三分之一的面積,桌上除了筆記本電腦和一個(gè)外接顯示器,還堆著三罐喝空的紅牛和一袋撕開(kāi)的切片面包。面包是昨天早上買的,邊緣已經(jīng)有點(diǎn)硬了,他晚飯就啃了兩片。顯示器左上角貼著一張便簽紙,上面寫(xiě)著"deadline 4/15 扣減模塊",日期被紅筆圈了兩遍。。對(duì)面樓的霓虹燈牌——"老張** 凌晨 3 點(diǎn)歇業(yè)"——在雨幕中模糊成一團(tuán)橘紅色的光暈。暴雨已經(jīng)下了四個(gè)小時(shí),雨水順著窗框滲進(jìn)來(lái),在窗臺(tái)上積了一小灘。他拿一條舊毛巾墊著,毛巾已經(jīng)濕透了。。第十四次。,屏幕閃了一下。。整個(gè)畫(huà)面凍住了——像視頻卡幀,定格了大概零點(diǎn)幾秒——然后恢復(fù)。。 Python 腳本還在,但每一行的末尾多出了一串字符。金色的。微微發(fā)光。不是任何他認(rèn)識(shí)的編程語(yǔ)言,也不是亂碼——那些符號(hào)有結(jié)構(gòu),有排列規(guī)律,像是某種文字被疊加在了他的代碼上面。。從屏幕左上角向右下角滑,速度不快,很穩(wěn)定。:中病毒了。+Z。沒(méi)反應(yīng)。+Alt+Delete。沒(méi)反應(yīng)。
鼠標(biāo)能動(dòng),但點(diǎn)什么都沒(méi)用。任務(wù)管理器調(diào)不出來(lái),桌面圖標(biāo)不響應(yīng)。整個(gè)操作系統(tǒng)像是被架空了,只有那些金色符文在自顧自地運(yùn)行著什么。
他拔了網(wǎng)線。
符文沒(méi)有消失。它們不依賴網(wǎng)絡(luò)。
林詭往后靠在椅背上,椅子發(fā)出一聲吱嘎響。他盯著屏幕,試圖讓自己冷靜下來(lái)。他是程序員,遇到過(guò)各種奇葩 *ug——有一次某個(gè)項(xiàng)目的測(cè)試環(huán)境在每周三下午兩點(diǎn)準(zhǔn)時(shí)崩潰,查了三天才發(fā)現(xiàn)是時(shí)區(qū)配置和定時(shí)任務(wù)撞車了。世界上沒(méi)有解釋不了的技術(shù)問(wèn)題。
然后他的右手腕開(kāi)始燙。
不是碰到熱水杯那種外部的燙。是從皮膚里面往外灼,像有根燒紅的鐵絲埋在血**。林詭猛地抬起右手——袖口下面,手腕內(nèi)側(cè)的皮膚上,有東西在浮現(xiàn)。
一行字。發(fā)光的。
不是紋身。紋身不會(huì)自己長(zhǎng)出來(lái),也不會(huì)亮。這行字就像是從皮下滲透上來(lái)的,筆畫(huà)在真皮層下面成型,光從毛孔里漏出來(lái)。
用一種他從未見(jiàn)過(guò)的編碼格式寫(xiě)成。但他讀懂了——不是靠認(rèn)字,是意思直接灌進(jìn)腦子里的,像有人把一段注釋塞進(jìn)了他的運(yùn)行內(nèi)存:
"歡迎來(lái)到詭域,編譯者候選人。"
"什么玩意兒——"
他的話卡在喉嚨里。因?yàn)樗吹搅藙e的東西。
空氣中有東西在流動(dòng)。
不是風(fēng)。不是灰塵。是代碼。
半透明的、淺藍(lán)色的數(shù)據(jù)流,像無(wú)數(shù)條細(xì)線從天花板垂落,穿過(guò)地板,貫穿墻壁,在整個(gè)房間里形成一張密密麻麻的網(wǎng)??照{(diào)面板上有一簇?cái)?shù)字在跳動(dòng)——不是溫度顯示,是十六進(jìn)制的數(shù)據(jù)包,跳動(dòng)的頻率和空調(diào)壓縮機(jī)的嗡嗡聲同步。手機(jī)屏幕自動(dòng)亮了,上面不是通知推送,是一串二進(jìn)制序列在滾動(dòng),滾動(dòng)速度快得他只能捕捉到零星的 01 組合。
林詭站起來(lái)。
椅子撞到墻上,發(fā)出一聲悶響。他沒(méi)聽(tīng)見(jiàn)。他的注意力全被眼睛里的東西吞掉了。
瞳孔里有金色的光點(diǎn)在轉(zhuǎn)。他不知道——他看不到自己的眼睛——但他能感覺(jué)到,像是有什么東西在眼球后面被激活了,一層一層地剝開(kāi)世界的表皮。
桌子的木紋下面有數(shù)據(jù)在流淌,一條條極細(xì)的藍(lán)色光線沿著木頭的紋理走,像是年輪里嵌了光纖。墻壁的混凝土結(jié)構(gòu)中有編碼在閃爍,密密麻麻的,他看不清具體內(nèi)容,但能感覺(jué)到那些編碼在維持著什么——像是墻壁之所以是墻壁,是因?yàn)槟切┐a告訴它"你是墻壁"。
窗外的雨。
每一顆雨滴在他眼里都變成了一個(gè)下墜的數(shù)據(jù)包,拖著長(zhǎng)長(zhǎng)的代碼尾巴,砸在窗玻璃上碎裂成一堆碎片數(shù)據(jù),順著玻璃表面往下淌,被窗框的代碼吸收。
整個(gè)世界變成了代碼。
或者說(shuō)——他終于看到了世界本來(lái)的樣子。
恐懼來(lái)得比理解快。
心跳在耳膜里擂鼓,一下一下的,他能感覺(jué)到血管在太陽(yáng)穴底下跳。手心全是汗,冷的,黏糊糊地貼在褲子上擦了兩下也沒(méi)干。他是程序員,不是——不是什么候選人。他應(yīng)該坐在這兒修那個(gè)破扣減模塊,交差,拿這個(gè)月的工資,付房租,然后繼續(xù)修下一個(gè) *ug。
不是站在這里,看著空氣中飄浮的代碼,懷疑自己是不是腦子出了問(wèn)題。
他深呼吸了三次。
第一次沒(méi)用,肺像是被攥著,吸不滿。第二次好一點(diǎn)。第三次,心跳降到了一個(gè)他能忍受的頻率。
冷靜。
他重新看向那些代碼流??謶诌€在,但另一種東西也冒出來(lái)了——一種他太熟悉的東西。
好奇。
他是靠好奇心活著的人。小時(shí)候拆過(guò)家里的收音機(jī)、DVD 播放器、一臺(tái)報(bào)廢的洗衣機(jī)。大學(xué)時(shí)通宵扒開(kāi)源項(xiàng)目的源碼,不為作業(yè),就是想知道別人怎么寫(xiě)的。工作三年,最讓他興奮的不是發(fā)工資,是偶爾碰到一個(gè)真正詭異的 *ug,那種所有人都說(shuō)"不可能"但它就是發(fā)生了的 *ug。
現(xiàn)在他面前就有一個(gè)。
一個(gè)巨大的、超出他所有認(rèn)知框架的 *ug。
林詭走到窗邊,把手伸到空氣中。指尖穿過(guò)一條淺藍(lán)色的數(shù)據(jù)流——沒(méi)有觸感,什么都摸不到,但他的代碼紋身閃了一下,手腕上那行字的亮度跳了跳,像是接收到了什么信號(hào)。
他把手收回來(lái),低頭看手腕。那行字還在,"歡迎來(lái)到詭域,編譯者候選人",發(fā)光強(qiáng)度比剛才弱了一點(diǎn),但沒(méi)有消退的跡象。他試著用另一只手的拇指去擦——擦不掉。用指甲刮——刮不掉。那些字嵌在皮膚下面,不在表面。
他走到洗手間打開(kāi)水龍頭,把右手腕伸到水下沖。冷水嘩嘩地流過(guò)那行字,字沒(méi)有任何變化。他關(guān)了水,拿毛巾擦干,字還在。
不是幻覺(jué)。幻覺(jué)不會(huì)在冷水沖洗后還穩(wěn)定存在。
也不是精神問(wèn)題——至少他覺(jué)得不是。他的思維清晰,邏輯正常,能準(zhǔn)確回憶今天吃了什么(兩片硬面包和一包榨菜)、改了幾次代碼(十三次)、紅牛喝了幾罐(三罐)。
那就只剩一個(gè)可能:這是真的。
不管"這"是什么。
林詭回到桌前坐下。屏幕上的金色符文已經(jīng)停止了流動(dòng),但沒(méi)有消失——它們靜靜地附著在他的代碼末尾,像某種批注。他試著移動(dòng)光標(biāo)去點(diǎn)擊那些符文——光標(biāo)穿過(guò)去了,沒(méi)有交互。它們存在于他的代碼"上面",但不在同一層。
像是……覆蓋在操作系統(tǒng)之上的另一層操作系統(tǒng)。
他正在琢磨這個(gè)比喻的時(shí)候,余光掃到了窗外。
對(duì)面樓的老張**已經(jīng)關(guān)了燈,霓虹燈牌滅了。雨還在下,但小了一些。在他的新視覺(jué)里,對(duì)面樓的外墻上同樣覆蓋著密密麻麻的代碼流,和這棟樓一樣——整個(gè)城市的建筑都是這樣。
但有一個(gè)東西不一樣。
對(duì)面樓的三樓拐角處,站著一個(gè)人。
或者說(shuō),一個(gè)人形的輪廓。雨中看不清面孔,也看不清穿什么衣服。但在林詭的代碼靈視中,那個(gè)人影周圍的數(shù)據(jù)流是扭曲的——不是正常的淺藍(lán)色,是偏暗的,像是被什么東西污染了。數(shù)據(jù)流在那個(gè)人影附近形成了一個(gè)小型的紊亂區(qū),像平靜河面上突然出現(xiàn)的一個(gè)漩渦。
那個(gè)人影面朝他這邊。
林詭的后背一涼。他本能地往后退了半步,撞到了椅子。
人影沒(méi)動(dòng)。就那么站著,在雨里,面朝他的窗戶。
手機(jī)震了一下。
他低頭看——不是系統(tǒng)通知,不是微信消息。是一條短信。發(fā)件人號(hào)碼只有三個(gè)字符:
???
內(nèi)容只有一個(gè)字:
"跑。"
下面附了一個(gè)位置共享鏈接,標(biāo)題寫(xiě)著:
"他們 3 分鐘后到達(dá)你的位置。"
林詭抬頭再看對(duì)面樓。
人影不見(jiàn)了。
三樓拐角空空蕩蕩,只有雨水沿著外墻往下淌。但那個(gè)位置的數(shù)據(jù)流紊亂還沒(méi)有完全恢復(fù),像是腳印——什么東西剛剛站在那里,然后離開(kāi)了。
手機(jī)屏幕上,位置共享鏈接的標(biāo)題在倒計(jì)時(shí)。
"他們 2 分 55 秒后到達(dá)你的位置。"
林詭握著手機(jī),站在黑暗的出租屋里。窗外暴雨如注,空氣中浮動(dòng)著他直到二十分鐘前還完全看不見(jiàn)的代碼流。手腕上的字在發(fā)光,屏幕上的金色符文在沉默,一條來(lái)自未知號(hào)碼的短信在催他逃命。
他不知道該跑去哪。
但他知道三分鐘不夠他想明白任何事。
鼠標(biāo)能動(dòng),但點(diǎn)什么都沒(méi)用。任務(wù)管理器調(diào)不出來(lái),桌面圖標(biāo)不響應(yīng)。整個(gè)操作系統(tǒng)像是被架空了,只有那些金色符文在自顧自地運(yùn)行著什么。
他拔了網(wǎng)線。
符文沒(méi)有消失。它們不依賴網(wǎng)絡(luò)。
林詭往后靠在椅背上,椅子發(fā)出一聲吱嘎響。他盯著屏幕,試圖讓自己冷靜下來(lái)。他是程序員,遇到過(guò)各種奇葩 *ug——有一次某個(gè)項(xiàng)目的測(cè)試環(huán)境在每周三下午兩點(diǎn)準(zhǔn)時(shí)崩潰,查了三天才發(fā)現(xiàn)是時(shí)區(qū)配置和定時(shí)任務(wù)撞車了。世界上沒(méi)有解釋不了的技術(shù)問(wèn)題。
然后他的右手腕開(kāi)始燙。
不是碰到熱水杯那種外部的燙。是從皮膚里面往外灼,像有根燒紅的鐵絲埋在血**。林詭猛地抬起右手——袖口下面,手腕內(nèi)側(cè)的皮膚上,有東西在浮現(xiàn)。
一行字。發(fā)光的。
不是紋身。紋身不會(huì)自己長(zhǎng)出來(lái),也不會(huì)亮。這行字就像是從皮下滲透上來(lái)的,筆畫(huà)在真皮層下面成型,光從毛孔里漏出來(lái)。
用一種他從未見(jiàn)過(guò)的編碼格式寫(xiě)成。但他讀懂了——不是靠認(rèn)字,是意思直接灌進(jìn)腦子里的,像有人把一段注釋塞進(jìn)了他的運(yùn)行內(nèi)存:
"歡迎來(lái)到詭域,編譯者候選人。"
"什么玩意兒——"
他的話卡在喉嚨里。因?yàn)樗吹搅藙e的東西。
空氣中有東西在流動(dòng)。
不是風(fēng)。不是灰塵。是代碼。
半透明的、淺藍(lán)色的數(shù)據(jù)流,像無(wú)數(shù)條細(xì)線從天花板垂落,穿過(guò)地板,貫穿墻壁,在整個(gè)房間里形成一張密密麻麻的網(wǎng)??照{(diào)面板上有一簇?cái)?shù)字在跳動(dòng)——不是溫度顯示,是十六進(jìn)制的數(shù)據(jù)包,跳動(dòng)的頻率和空調(diào)壓縮機(jī)的嗡嗡聲同步。手機(jī)屏幕自動(dòng)亮了,上面不是通知推送,是一串二進(jìn)制序列在滾動(dòng),滾動(dòng)速度快得他只能捕捉到零星的 01 組合。
林詭站起來(lái)。
椅子撞到墻上,發(fā)出一聲悶響。他沒(méi)聽(tīng)見(jiàn)。他的注意力全被眼睛里的東西吞掉了。
瞳孔里有金色的光點(diǎn)在轉(zhuǎn)。他不知道——他看不到自己的眼睛——但他能感覺(jué)到,像是有什么東西在眼球后面被激活了,一層一層地剝開(kāi)世界的表皮。
桌子的木紋下面有數(shù)據(jù)在流淌,一條條極細(xì)的藍(lán)色光線沿著木頭的紋理走,像是年輪里嵌了光纖。墻壁的混凝土結(jié)構(gòu)中有編碼在閃爍,密密麻麻的,他看不清具體內(nèi)容,但能感覺(jué)到那些編碼在維持著什么——像是墻壁之所以是墻壁,是因?yàn)槟切┐a告訴它"你是墻壁"。
窗外的雨。
每一顆雨滴在他眼里都變成了一個(gè)下墜的數(shù)據(jù)包,拖著長(zhǎng)長(zhǎng)的代碼尾巴,砸在窗玻璃上碎裂成一堆碎片數(shù)據(jù),順著玻璃表面往下淌,被窗框的代碼吸收。
整個(gè)世界變成了代碼。
或者說(shuō)——他終于看到了世界本來(lái)的樣子。
恐懼來(lái)得比理解快。
心跳在耳膜里擂鼓,一下一下的,他能感覺(jué)到血管在太陽(yáng)穴底下跳。手心全是汗,冷的,黏糊糊地貼在褲子上擦了兩下也沒(méi)干。他是程序員,不是——不是什么候選人。他應(yīng)該坐在這兒修那個(gè)破扣減模塊,交差,拿這個(gè)月的工資,付房租,然后繼續(xù)修下一個(gè) *ug。
不是站在這里,看著空氣中飄浮的代碼,懷疑自己是不是腦子出了問(wèn)題。
他深呼吸了三次。
第一次沒(méi)用,肺像是被攥著,吸不滿。第二次好一點(diǎn)。第三次,心跳降到了一個(gè)他能忍受的頻率。
冷靜。
他重新看向那些代碼流??謶诌€在,但另一種東西也冒出來(lái)了——一種他太熟悉的東西。
好奇。
他是靠好奇心活著的人。小時(shí)候拆過(guò)家里的收音機(jī)、DVD 播放器、一臺(tái)報(bào)廢的洗衣機(jī)。大學(xué)時(shí)通宵扒開(kāi)源項(xiàng)目的源碼,不為作業(yè),就是想知道別人怎么寫(xiě)的。工作三年,最讓他興奮的不是發(fā)工資,是偶爾碰到一個(gè)真正詭異的 *ug,那種所有人都說(shuō)"不可能"但它就是發(fā)生了的 *ug。
現(xiàn)在他面前就有一個(gè)。
一個(gè)巨大的、超出他所有認(rèn)知框架的 *ug。
林詭走到窗邊,把手伸到空氣中。指尖穿過(guò)一條淺藍(lán)色的數(shù)據(jù)流——沒(méi)有觸感,什么都摸不到,但他的代碼紋身閃了一下,手腕上那行字的亮度跳了跳,像是接收到了什么信號(hào)。
他把手收回來(lái),低頭看手腕。那行字還在,"歡迎來(lái)到詭域,編譯者候選人",發(fā)光強(qiáng)度比剛才弱了一點(diǎn),但沒(méi)有消退的跡象。他試著用另一只手的拇指去擦——擦不掉。用指甲刮——刮不掉。那些字嵌在皮膚下面,不在表面。
他走到洗手間打開(kāi)水龍頭,把右手腕伸到水下沖。冷水嘩嘩地流過(guò)那行字,字沒(méi)有任何變化。他關(guān)了水,拿毛巾擦干,字還在。
不是幻覺(jué)。幻覺(jué)不會(huì)在冷水沖洗后還穩(wěn)定存在。
也不是精神問(wèn)題——至少他覺(jué)得不是。他的思維清晰,邏輯正常,能準(zhǔn)確回憶今天吃了什么(兩片硬面包和一包榨菜)、改了幾次代碼(十三次)、紅牛喝了幾罐(三罐)。
那就只剩一個(gè)可能:這是真的。
不管"這"是什么。
林詭回到桌前坐下。屏幕上的金色符文已經(jīng)停止了流動(dòng),但沒(méi)有消失——它們靜靜地附著在他的代碼末尾,像某種批注。他試著移動(dòng)光標(biāo)去點(diǎn)擊那些符文——光標(biāo)穿過(guò)去了,沒(méi)有交互。它們存在于他的代碼"上面",但不在同一層。
像是……覆蓋在操作系統(tǒng)之上的另一層操作系統(tǒng)。
他正在琢磨這個(gè)比喻的時(shí)候,余光掃到了窗外。
對(duì)面樓的老張**已經(jīng)關(guān)了燈,霓虹燈牌滅了。雨還在下,但小了一些。在他的新視覺(jué)里,對(duì)面樓的外墻上同樣覆蓋著密密麻麻的代碼流,和這棟樓一樣——整個(gè)城市的建筑都是這樣。
但有一個(gè)東西不一樣。
對(duì)面樓的三樓拐角處,站著一個(gè)人。
或者說(shuō),一個(gè)人形的輪廓。雨中看不清面孔,也看不清穿什么衣服。但在林詭的代碼靈視中,那個(gè)人影周圍的數(shù)據(jù)流是扭曲的——不是正常的淺藍(lán)色,是偏暗的,像是被什么東西污染了。數(shù)據(jù)流在那個(gè)人影附近形成了一個(gè)小型的紊亂區(qū),像平靜河面上突然出現(xiàn)的一個(gè)漩渦。
那個(gè)人影面朝他這邊。
林詭的后背一涼。他本能地往后退了半步,撞到了椅子。
人影沒(méi)動(dòng)。就那么站著,在雨里,面朝他的窗戶。
手機(jī)震了一下。
他低頭看——不是系統(tǒng)通知,不是微信消息。是一條短信。發(fā)件人號(hào)碼只有三個(gè)字符:
???
內(nèi)容只有一個(gè)字:
"跑。"
下面附了一個(gè)位置共享鏈接,標(biāo)題寫(xiě)著:
"他們 3 分鐘后到達(dá)你的位置。"
林詭抬頭再看對(duì)面樓。
人影不見(jiàn)了。
三樓拐角空空蕩蕩,只有雨水沿著外墻往下淌。但那個(gè)位置的數(shù)據(jù)流紊亂還沒(méi)有完全恢復(fù),像是腳印——什么東西剛剛站在那里,然后離開(kāi)了。
手機(jī)屏幕上,位置共享鏈接的標(biāo)題在倒計(jì)時(shí)。
"他們 2 分 55 秒后到達(dá)你的位置。"
林詭握著手機(jī),站在黑暗的出租屋里。窗外暴雨如注,空氣中浮動(dòng)著他直到二十分鐘前還完全看不見(jiàn)的代碼流。手腕上的字在發(fā)光,屏幕上的金色符文在沉默,一條來(lái)自未知號(hào)碼的短信在催他逃命。
他不知道該跑去哪。
但他知道三分鐘不夠他想明白任何事。
閱讀下一章(解鎖全文)
點(diǎn)擊即可暢讀完整版全部?jī)?nèi)容
相關(guān)書(shū)籍
友情鏈接