昨天傍晚六点四十,我在社区活动室的折叠桌上,看见那张签到纸。它被谁的手掌压过、又被空调风吹得翘起一角,四十三个人名挤在 A4 的横线里,最末一行的墨水还没干透。有人用指腹蹭了一下,纸面就晕开一小片灰蓝色的云。
那天是给社区老楼加装电梯的分摊名额抽签。楼长姓周,六十七岁,退休前在印刷厂做排版,他从抽屉里摸出一把剪刀,说要剪成小方块,一人一张,摸到谁就是谁。我蹲在旁边看他剪,剪刀钝了,每一刀都要来回咬两下,纸屑落在他的布鞋面上,像细小的雪。
剪到第二十九张时,他的手停住了。纸上有个名字被水渍泡得模糊,只剩一个姓还看得清。周师傅抬头看我,说了句话,我到现在还记得:“纸会烂,人不该跟着烂。”他把那张模糊的纸片单独放在一边,说这个人明天来补签。
四十三张纸片被塞进一个旧茶叶罐,铁皮的,摇起来哗啦哗啦,像下了一场很短的雨。周师傅摇了三十秒,罐口朝下,一张一张往桌面倒。第一张是十七号,第二张是三十一号。人群里有人轻轻“啊”了一声,很快收住。
我站在后排,忽然想到一件事:这套流程,其实和我网站上那个抽号数生成器是同一个心。人不是不信随机,人是不信看不见的随机。手伸进罐子是一种看见,屏幕上跳动的数字是另一种看见,前者有铁皮的凉,后者有像素的光。
公平不是结果好看,是过程能被指认。 —— 写在我脚本注释第一行的句子,2025 年冬
说点具体的。我那个生成器最早是给一个叫阿岚的朋友写的,她开一间二十人的小画室,每期要抽三个免费课时。她试过用扑克牌,试过用微信小程序,最后跑来问我能不能做个“看起来就很老实”的页面。我用了三个晚上,把取数区间、去重、历史记录一条条理清楚。第一版跑出来的第一组数是 03、19、27,她截图发我,说像三颗排排坐的石子。
后来我才知道,这类小工具的需求比想象中密。登记名单、排班、抽奖、分座位、联欢会抽人上台——人们要的从来不是一个多聪明的数字,而是一个不偏心的、当众可以复现的交代。顺带说一句,如果你也在做类似的小站,可能会喜欢我早前整理的水瓶座未删减完整版那份排版参考,还有一篇算得比较细的根号10和根号5约等于多少,都是些笨办法,但经得起反复看。
我对“真随机”这件事有个不太讨喜的看法:很多场合根本不需要真随机,需要的是可验证的随机。计算机给的伪随机足够公平,前提是你敢把种子、把范围、把每一次点击的结果摊开给人看。真正让人心里打鼓的,从来是那只悄悄改了名单的手。所以我坚持在页面上留历史记录,哪怕它让界面显得不那么干净。
回到活动室。最后一张纸片翻过来是四十一号,周师傅念完,把茶叶罐倒扣在桌上,当的一声。有人在算自己有没有中,铅笔在纸上沙沙地走。我帮他把四十三张纸片按编号排好,用橡皮筋扎住,放进一个牛皮纸袋,袋口写了日期:2026 年 6 月 3 日。
回家路上我一直在想那把钝剪刀。夜里一点十七分,我打开电脑,把生成器的默认范围从 1–100 改成 1–43,又加了一个“显示抽取过程”的开关,点开时数字会一格一格滚,像老式电表。改完我截了图存进文件夹,名字叫“铁皮罐”。
还有一件小事。之前帮阿岚找素材,存过一批杂七杂八的链接,其中夸克资源库 每日更新 无删减那类聚合页面我常拿来比对版式;另一次是给朋友的孩子演示数控车床,翻了这篇安卓版数控车床模拟,里面对界面按钮的说明,比我预想的认真。这些零碎,最后都汇进了同一口井。
如果你也曾在某个傍晚,站在一张折叠桌旁边,看别人把名字剪成纸片,你会懂我为什么要把这件小事写下来。抽号数生成器不是一台机器,它是一只透明的罐子。罐子里的纸片可以是四十三张,也可以是四万三千张,重要的是,摇的时候,大家的眼睛都还能落在同一处。