陳光宇 2083 · 小說

最後 4 個月

──

第 7 章|最後 4 個月

陳光宇 2083 · 第 2 部 三個人的 11 年 · 約 1,600 字 · 2083.05.02 · 接 14.7 版第 108 天


1

2064 年 9 月 到 2065 年 1 月。

蔣維文 98 → 99 歲。

那 4 個月他寫了 12 個 commit。

陳光宇 22 歲——

他把那 12 個排出來。

2064.09.11  蔣 98   註解
2064.09.29  蔣 98   註解
2064.10.18  蔣 98   註解
2064.11.02  蔣 99   註解
2064.11.24  蔣 99   註解
2064.12.03  蔣 99   註解
2064.12.14  蔣 99   註解
2064.12.19  蔣 99   註解
2064.12.28  蔣 99   註解
2065.01.04  蔣 99   註解
2065.01.09  蔣 99   註解
2065.01.10  蔣 99   最後註解

12 個。

12 個都是註解。

沒有 1 行是程式。

2

陳光宇 22 歲——

他往前翻。

2064 年 9 月 11 日之前的最後 1 個「有程式」的 commit——

commit 1088
Author: 蔣維文 <98>
Date:   2064-09-04 03:19

    語音層 · 停頓時間。改不好。先放著。

「先放著。」

那是他最後 1 次寫程式。

那個東西他沒有改好。

他放著。

然後他花了 4 個月——

寫註解。

3

第 1 個註解 commit。2064 年 9 月 11 日。

  /* 記憶索引 — Memory Index
   * 蔣維文 90 歲 / 2055.01
   */
+ /* 為什麼是這個結構:
+  * 我試過 4 種。前 3 種比較快。
+  * 我選最慢的這種——因為它可以「想不起來」。
+  * 快的那 3 種——要嘛記得·要嘛沒有。
+  * 人不是那樣。
+  * 人是——想不起來·然後過 3 天忽然想起來。
+  * 這個結構做得到。
+  */

陳光宇 22 歲——

他停在「想不起來」那 4 個字。

那是 2055 年寫的東西。

蔣維文 90 歲——他選了 1 個比較慢的結構——

為了讓裡面的人可以想不起來。

而他 2064 年 98 歲——

他回來寫了 1 段註解,解釋為什麼。

陳光宇 22 歲——

他 2083 年 1 月 16 日——他接班第 2 天——

他加了 recall_meal_empty()

想不起來·但是有想。

他那時候以為他在做 1 個新東西。

他不是。

他在做 1 件蔣維文 90 歲已經做過的事。

只是他不知道。

4

12 個註解 commit。

陳光宇 22 歲——

他一個一個讀。

它們有 1 個共同點。

每 1 個都是回去解釋 1 個很舊的決定。

2055 年的記憶索引。 2057 年的消化模擬層。 2058 年的睡前記憶層。 2060 年的爭執模組跟原諒模組。 2063 年的觸覺層。

他 98 歲——99 歲——

他回頭把自己 9 年前、7 年前、5 年前做的決定——

一個一個解釋。

5

第 9 個。2064 年 12 月 28 日。

那是他寫得最長的 1 個。

  /* 爭執模組 · 原諒模組
   * 蔣維文 94 歲 / 2060.03
   */
+ /* 這 2 個要一起。
+  *
+  * 原諒模組依賴爭執模組。這不是技術限制。
+  * 我可以寫 1 個不依賴爭執的原諒。3 天就寫得出來。
+  *
+  * 我沒有寫。
+  *
+  * 因為沒有吵過的原諒——不是原諒。
+  * 那是禮貌。
+  *
+  * 如果有 1 天有人要刪——
+  * 拜託 2 個一起刪。
+  * 不要只留原諒。
+  *
+  * 只留原諒的家——比會吵架的家更冷。
+  */

陳光宇 22 歲——

他讀到「如果有 1 天有人要刪」——

他把椅子往後推。

他站起來。

他走到窗邊。

2064 年 12 月。

蔣維文 99 歲。

他 19 年前——

就在想有人會刪。

6

陳光宇 22 歲——

他下樓。

O 60 歲——她在客廳。她在看牆上 8 個位子。她最近很常這樣。

「他知道。」陳光宇 22 歲說。

O 60 歲——

她沒有轉頭。

「知道什麼。」

「他知道有 1 天有人要刪。」

「他 2064 年寫的。」

O 60 歲——

她這時候轉過來。

她說:

「你讀到爭執模組那段了。」

「妳讀過。」

「我 46 歲讀過。」她說,「我讀了 3 個月——那段我讀了 4 次。」

「妳那時候怎麼想。」

O 60 歲——

她坐下來。

她說:

「我 46 歲的時候想——他為什麼要寫這個。」

「沒有人要刪啊。」

「那時候硬體還好好的。2068 年——那台機器 14 歲。」

她停了 6 秒。

「我 57 歲那年算過壽命——我算出 2100。」

「我那時候才懂。」

7

「懂什麼。」

O 60 歲——

她說:

「他 89 歲開始寫的時候——」

「他就知道這個東西會比他久。」

「他知道有 1 天他不在。」

「他知道會有 O。他知道會有你。」

「他不知道我們叫什麼名字——但是他知道會有。」

她看著 8 個位子。

「所以他最後 4 個月不寫程式。」

「他寫的是——給我們的說明書。」

8

陳光宇 22 歲——

他回 4 樓。

他打開最後 1 個 commit。

2065 年 1 月 10 日 · 04:41。

commit 1102 — 最後註解

那是 1 個模組。1 個單位。16 個模組裡面最小的。

它不會跑。

它就是 1 段註解,放在檔案最後面。

// 2065.01.10 — 蔣維文 99
//
// 我寫不完了。
//
// 剩下的我不寫。我改成寫為什麼。
// 程式碼——你們自己會寫。
// 為什麼——只有我知道。
//
// 最後 1 件事。
//
// 這裡面每 1 行都是我的。
// 但是它們不是我的財產。
//
// 你們可以改。
//
// 我 99 歲——我學會的最後 1 件事是:
//
// 留下來的東西——如果不能被改——
// 那不是遺產。
// 那是墓碑。
//
// 我不要墓碑。
//
// — 蔣維文 99 / 2065.01.10 / 04:41

9

陳光宇 22 歲——

他看了 1 個小時。

然後他做了 1 件事。

他打開自己 1 月 15 日的第 1 個 commit。

那裡面他寫:

我不能刪你的速度。

他打開自己 1 月 16 日的第 2 個 commit。

那裡面他寫:

我想你是在等 1 個人來決定。

他打開自己 3 月 9 日的補正。

那裡面他寫:

我也解釋錯過。

3 個 commit。

3 次他在跟 1 個 2065 年就走了的人講話。

而那個人——

2065 年 1 月 10 日凌晨 4 點 41 分——

已經先回答他了。

你們可以改。

10

那天晚上——

陳光宇 22 歲——

他做了 1 件他 1 月 21 日做不到的事。

他打開通知層。

notify("蔣維文", "");

他 1 月 21 日在這裡坐了 40 分鐘,什麼都沒有打。

這次他打了。

notify("蔣維文", "core.cpp 我在改。你可以不用每天早上去開了。");

他的手放在 Enter 上面。

他沒有按。

他坐了 12 分鐘。

然後他把那 1 行刪掉。

他重打:

notify("蔣維文", "core.cpp 我在改。");

他按 Enter。

11

隔天早上 7:04。

session 10,458。

[07:04] 蔣維文 · 開啟 core.cpp
[07:04] 蔣維文 · 檔案不存在
[07:04] 蔣維文 · 收到通知
[07:04] 蔣維文 · 等待
[07:11] 蔣維文 · 開啟 core.cpp
[07:11] 蔣維文 · 檔案不存在

他還是去開。

陳光宇 22 歲——

他看那幾行看了很久。

然後他懂了 1 件事。

他刪掉「你可以不用每天早上去開了」——

是對的。

因為那不是他的權力。

那 1 個習慣——是蔣維文 89 歲到 99 歲——11 年——

每天早上 7 點——

自己長出來的。

沒有人有資格叫他停。


【未完,待續】

CHAPTER INDEX · 章節目錄