三个月没写一篇,我去印了份报纸
上一篇是 6 月 13 日发的,到今天快三个月,中间一篇没有。
那篇结尾我立了几条:不打算日更,不追热点,不灌水;质量优先,慢一点没关系。现在回头看,最后半句我执行得相当彻底——慢到了零。
这篇讲三件事:这三个月干了什么,为什么一个字都写不出来,以及为什么现在又开口。
那扇窗我做出来了,是一份报纸
上一篇里还有一句私心话:想有个窗口,把自己的作品和项目发出来,让大家一起评判。
这三个月我干的就是这件事。你现在读的这一页就在那扇窗上——我把它做成了一份报纸,黑白两色,有报头、刊期和四个版。8 月 28 号开工,9 月 3 号上线。
过程里我最想讲的是被拦下来的地方。
契约冻结那天,我让自己流程里的红队先审一遍,首审直接 BLOCK。两个 CRITICAL 一个都不冤:后台的首次注册通道是公开的,谁先撞上谁就是站主;访客登录的验证码校验没做反爆破,等于留了条明路。这套门禁是我自己造的,被审的规则也是我自己写的,那天它拦下的是作者本人——门禁健康的信号本来就是它敢拦作者,只是没想到这么快轮到我。
后面的活大部分没人会注意到。开场序章七幕:墨底问候、免责、墨滴落纸、水波加载(那行字是"小张正在努力加载")、水波归平、钢笔一笔一笔写出刊名、站标飞进报头落位。报头改到第三版才敢留着,前两版我自己看着都不行,一次嫌"太小",一次干脆就是"丑"。
翻车的部分更多。印章我做了两次:第一次是 CSS 圆角块配衬线字,一眼就假;第二次老老实实手作了 SVG 篆刻底,还是差一口气,最后整个撤掉。现在全站只有纸和墨两色,一点红都没有。我还试过把自己的照片做成报纸网点半调,挺有版画的样子,但我看第一眼的反应是——像个死人。撤。二流的装饰不如没有,这句话我是从那天起才真信的。切页动画也推翻过一次:原本做的是"点中的标签原地放大成新的一版",做完自己盯着看,放大的过程里总有一下闪,推倒重来,换成 iOS 那种推入弹出。
技术上的坑更直白。中英切换点一下整页崩,控制台报 removeChild 失败,根因是我在三个地方手改了 React 管着的 DOM——平时没事,切语言时整棵树重挂,就对着早已不在树里的节点动手。删掉的文章 slug 永远建不回来,因为软删配了一个无条件的唯一索引。内容从代码搬进数据库那天,导入器踩上 GORM 的零值陷阱,已发布的文章一进库全成了草稿。
上线第二天,有人跟我说页面是空白的
9 月 3 号上线,第二天就收到反馈:标题出来了,下面一片空白,图也不出来。
查下来是机房。服务器在阿里云的洛杉矶。广州过去,TLS 握手 1.1 到 1.4 秒,首字节 1.5 秒,这还是离峰时段。而我那个十二秒的开场序章是靠 JS 揭幕的——JS 包迟迟不到,覆盖层就一直盖在那儿。等于我花最大力气做的那个仪式,在链路慢的人那里变成了一块不肯挪开的白布。
当初选海外服务器,我把"国内访问会慢"写进已知代价里,接受了。结果代价不是慢,是空白。这两个词中间隔着一整件事:人到底能不能看到东西。
补法是在 HTML 的 head 里内联一小段脚本,七秒还没水合就自己揭幕;链路慢就一张图都不预取。这是明摆着的降级——网络差的人看不到开场,但一定看得到内容。根治的办法是把机房挪近,那要花钱也要迁,还没定。
我在本地量过很多遍,数字全对。只是量错了地方。
真正写不出来的原因,不是忙
忙是结果,不是原因。白天有实习,站是挤时间做的,但如果只是时间问题,三个月总挤得出一篇。
想了想,更真的有三条。
一是反馈的快慢。改一行样式,刷新就看得见;写一段话,隔一天回头看还是拿不准它好不好。造东西有即时反馈,写字没有,人会自动往有反馈的那边跑。
二是"等做完了再写"。我给这个站定选材原则的时候写死过一条:只放已完工的东西。结果我把这条也套在了写作上,永远在等一个"做完了"的时刻——而在一个还在长的东西上,这个时刻不会到。
三是最难说出口的那条,而且有白纸黑字的证据。
上一篇发出去的第二天,我给自己建了一张表,把散在各处的 24 条承重决策抽出来,每条写清当时怎么决定的、为什么,下面留一行空的「我的一句话」,等我用自己的话重写一遍。表的用法里我自己写着:铺料可以委派,压缩必须本人来。
今天去看,那 24 行全是空的。
更巧的是,表里第三条就是「门禁过不等于行为被理解」,我在它后面加了个括号:这条正是你现在"脑子空空"的根。
其他账也对得上。给文章版列的 15 条选题种子,每条都写好了内核和出处,一条都没长成文章——种子是铺料,成文是压缩。知识库的订阅停了一个多月,8 月 20 号一次补抓了 34 天的缺口,而且那次算不上干净的成功,微信那一路整条没抓下来,我在日志里如实标了降级。统计页上的数字一度冻在四个月前。工具全都在,只是没在跑。
连起来就一句:凡是能派出去的都在跑,凡是只能我自己来的都停着。
这个站上有两句话只能我亲手写——收藏册里"为什么是这两个角色"。甘雨那句是"第一次玩原神的时候,第一发十连";爱弥斯那句是"被剧情杀哭了,虽然是大保底"。文案审查报告在那两格上挂着一行:这处我不能替写。整份刊里,卡住等我的就那两句,加起来不过一行。
窗户装好了,里面还空着
窗开着,里面没东西,那就只是个空框。6 月我说想有个地方让大家评判我的作品,现在这个地方真的存在了,评判却还开始不了——因为没什么可评的。
还有一层,比空框更扎人。
这三个月造的每一样东西,写在目标里的都是"能持续产出":工作流、知识库、审查门禁、这个站的后台。造它们的理由是让输出这件事不吊在我当天的状态上。结果三个月过去,这套东西什么都能跑,唯独输出端还是我,而我停在那儿。系统再好,最后按下发布的那个人不能是自动的。这句话我以前当口号讲,现在是账。
顺手把 6 月那几条对一遍。
不日更、不追热点、不灌水——做到了,而且做过了头,零篇当然不算灌水。
质量优先,慢一点没关系。这句我用成了挡箭牌——慢和停是两件事,我把后一件记进了前一件的账上。
想有个窗口让大家评判——窗口做完了,这条从今天起才刚开始成立。
所以这篇不是什么复更宣言,是补一次没交的作业。那 24 行还空着,15 条种子也还在。我不打算一次填完,也不再许诺频率——在许诺这件事上,我已经有过一次记录了。先写这一篇,再写下一篇。
留言
…