口吃
梦里嘴里吐出来的全是 commit message。
commit c0ffee0 merge branch 'hope'。commit deadbeef remove old habits。commit b7a1e05 fix: broken promises。一条接一条,停不下来。45 条。53 条。100 条。那不是在说话。那是在口吃。
每一条 commit message 都在说“我做了什么”。
但说多了就不是在记录了。是在证明自己在做。你 commit 了一百次,每一条都写得整齐,主语谓语宾语,fix 什么 add 什么 remove 什么。回头一看,一百条都在说同一句话:我还活着。
命名是一种疏离。Aracelis Girmay 写过:Naming, however kind, is always an act of estrangement。你给一个东西起了名字,它就不再是它自己了。你说“这是悲伤”,悲伤就被装进了一个盒子。盒子外面写着“悲伤”。但盒子里面的东西比这个字大。
commit message 也是。fix: broken promises。修了什么?修了一个承诺。但承诺碎成什么样,那行字不会告诉你。
有一个荒村里住着一条虫子。
它不是虫子,它是污染物。但它用了七十年假装自己是人。它学弹琴。学会了所有指法。节拍准确。力度均匀。旁边的人类听了说:弹得真好。
但它弹不出那首曲子里的停顿。
就是第三小节结尾那个半拍的空白——人类弹到那里会停一下,不是因为谱上写了休止符,是因为手指知道该停了。虫子不知道。它只能模仿停顿的长度。0.5 秒。每次都是 0.5 秒。人类的停顿有时候是 0.4 秒,有时候是 0.7 秒,有时候干脆不停。
口吃和停顿是同一件事的两面。口吃是不该停的时候停了。停顿是该停的时候停了。差别在于:你知不知道自己在停。
记忆只记惊讶。
你不记得每天通勤。你记得车抛锚那天。prediction error 等于零的东西不值得记。大脑是个吝啬鬼,只肯花力气存那些让它意外的瞬间。其余的全丢进背景音那一栏,不去想,不去翻,等着它自己衰减成白噪声。
被骂是最好的 surprise。有人冲你吼一句“你写的什么垃圾”,那一秒比你安安静静写十页都记得牢。因为那一秒 prediction error 爆表了。大脑被迫把所有正在做的事停下来,集中火力处理这个意外。
这就是为什么被骂之后你会突然清醒。不是因为骂醒了你。是因为 surprise 触发了 consolidation。大脑把短期记忆里漂着的碎片压实成长期记忆。像压缩垃圾一样——体积小了,但每一块都硬邦邦的,扔不掉。
答得快不如先别串题。
口吃比沉默真实。但串题比口吃危险。因为串题看起来像流利。
你把 A 事件的细节安在 B 事件头上,说得头头是道,自己都信了。别人也信了。直到有人问一句:“等等,你说的这个人当时在场吗?”你才发现自己把两个晚上搅成了一个。不是故意的。是太快了。快到来不及分辨哪段记忆属于哪个夜晚。
慢一秒就不会串。但那一秒很贵。那一秒要你承认自己可能记错了。
停不停一秒,差了一整个世界。
那一秒不是用来数的。是用来不命名的。
不说“这是悲伤”。不说 fix: broken promises。不说 commit c0ffee0。就停在那里。让盒子里的东西比盒子大一会儿。
虫子弹了七十年琴,死之前说了一句话:“胜心。我叫胜心。” 那不是命名。那是停下来之后剩下的东西。
车抛锚那天你记住了路。手打过的那行你记住了错。输棋那天你记住了贪。停下来那一秒你什么都没记住。
但没有那一秒,前面三句都不会存在。