MoreRSS

site iconaquausora | 澄沨修改

生于上海,法学生,爱好二次元。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

aquausora | 澄沨的 RSS 预览

在 KOReader 上显示直排文本

2025-11-09 17:30:00

Collector | アシマ / Ashima #pixiv https://www.pixiv.net/artworks/133535742

为了持续精进日语水平,也为了一并练习阅读直排文本时的速度,在下最近开始了阅读日文原版轻小说的计划。虽然在下手头上不缺纸质的阅读材料,但是作为一名不折不扣的电子书爱好者,电子版的轻小说自然也是不可缺少的。目前在下在电脑和手机上使用能够做到多端同步的 Readest 作为电子书的阅读器,而 Kindle 则几乎只剩下了 KOReader 这一唯一的选择。值得称道的一点是,由于 Readest 支持与 KOReader 同步服务器同步阅读进度,从某种程度上,也算打通了 Kindle 与主流设备之间的电纸书阅读体验壁垒(直接使用亚马逊 Kindle APP 确实是一种方案,但是原生不支持 EPUB 格式的问题是在下所不能接受的)。

不过,当在下在尝试把直排电子书导入 Kindle 阅读时,却发现了一个重大问题,KOReader 似乎并不支持显示直排文本,原来的直排格式只能以普通的横排文本的格式显示,导致好不容易打通的阅读体验壁垒又重新出现了。

好在,对直书有需求的电子书阅读者显然远不止在下一个。早在电子书刚刚起步阶段,相当一部分电子书阅读器也同样不支持直排文本的显示。对此,彼时的主流解决方案是直接将文字的显示方向旋转 90 度(一般是逆时针方向),然后把设备也一样横过来阅读,就这样实现所谓的「伪直排」阅读。然而在软件层面实现旋转文字的显示方向,比起直接支持直排文本来说显然更加复杂,直接简单粗暴地旋转显然不可行——那样的话,一些本不必要旋转的标点符号也会跟着一起旋转,比如省略号……或是直角引号「」。因此,有必要特意为此制作一套旋专用于「伪直排」阅读的字体。

制作「伪直排」字体

原本修改字体是一件非常麻烦的事情,好在早有前人用 python 写了这个现成字体旋转工具 tategakifont 可供在下使用,此工具不仅能靠一行命令完成字体制作,还已经提前写好了相应的旋转规则,确保所有字符都被正确地旋转。

项目至少需要 Python 3.8.10 以及 FontForge 20230101 或更新的版本,在使用前需提前安装好运行环境。

随后,将项目文件克隆到本地,进入本地项目目录,把用于制作的原字体文件也拉进项目根目录,并在终端内运行以下命令,将 inputoutput 这两个字段分别替换为用于制作的原字体文件名称和拟定的经处理后的新字体文件名称:

1
python3 main.py input output

等待一会之后,「伪直排」字体就被制作好,躺在项目根目录当中了。

更改字体的 Family Name(可选)

如果想在 KOReader 上同时使用原字体与经过处理后的「伪直排」字体,则需要更改「伪直排」字体的 Family Name。

由于 KOReader 会将 Family Name 相同的字体合并为一个选项,导致选择时无法指定到底是用原字体还是「伪直排」字体显示。

如果使用的是带有图形界面的字体编辑工具,那么直接想办法找到字体信息的编辑界面,将带有 Family Name (ID 1) 按照自己的意愿修改之即可。至于 Subfamily Name (ID 2)、Full Name (ID 4) 和 PostScript Name (ID 6),tategakifont 在制作新字体文件的时候会自动修改,因此一般不需修改,以防万一可以检查之。

由于在下只是装了一个 FontForge 的命令行版本,并不具有图形界面,所以具体操作起来比起图形化操作更加复杂一些,使用了基于 Python 的字体处理库 fonttools 实现。

直接在 tategakifont 的目录下创建一个虚拟环境并激活。

1
2
python3 -m venv font_env
source font_env/bin/activate
1
2
python3 -m venv font_env
font_env\Scripts\activate.bat
1
2
python3 -m venv font_env
font_env\Scripts\Activate.ps1

随后安装 fonttools 库。

1
pip install fonttools

再使用 ttx 工具将「伪直排」的字体文件转换为 XML, -t name 参数告诉 ttx 只转换包含名称信息(Name Table)的部分,这样生成的 XML 文件会小很多,方便编辑。将 your_font_file.ttf 改成「伪直排」字体的文件名称。

1
ttx -t name your_font_file.ttf

XML 文件在根目录生成后,随便用一个文本编辑器打开,按照自己的意愿修改带有 nameID="1" 部分的 namerecord 字段后保存即可。

最后,使用 ttx 命令将 XML 重新编译回字体文件,将 your_font_file.ttfyour_font_file.ttx 改成对应文件的文件名称。

1
ttx -m your_font_file.ttf your_font_file.ttx

至此,「伪直排」字体的 Family Name 修改完毕。

KOReader 直排补丁

直接使用「伪直排」字体已经能达到阅读直排文本的目的了,但是由于仅旋转了字体,而电子书阅读器的界面却没有跟着一起旋转,因此在使用时,操作阅读器界面就会变得非常难受。此外,翻页逻辑也没有被一并更改,依旧需要像看横排书籍一样,从左至右翻页而非一般阅读直排书籍时的从右至左翻页,阅读体验依旧不完美。

去年,KOReader 的其中一名开发者在用户提出的关于日语直排书籍支持的 issue 中,针对此问题发布了一个补丁,效果是当文档的排版规则被设置为日语时,会自动将阅读器的文字部分的画面整体向顺时针旋转 90 度,这样一来,配合上向逆时针旋转 90 度的「伪直排」字体,可以完美地在 KOReader 上做到直排文本的显示。此外,补丁也适配了直排书惯用的从右至左的翻页方向。作者之后将其在 Github Gist 重新发布,比起在 issue 中发布的版本,主要修复了跨页选择文本的问题。

直排补丁的使用方法很简单,首先,前往此处下载补丁。

重命名文件,把原文件的 .txt 删除,使其扩展名变为 .lua,随后找到 KOReader 目录,将其放到 /koreader/patches 下,如果没有 patches 文件夹,则需要手动创建。

最后,在 KOReader 中打开直排书籍,在设置中更改排版规则为日语,再把字体换成制作好的伪直排字体即可。

虎落平阳:TNO 美国罗伯特·F·肯尼迪线·前篇

2025-05-05 17:35:00

封面来源:The New Order: Last Days of Europe

此文章由铁血幼儿园指挥官·威权壬(存疑)·P 社战犯·我不是二刺螈さん荣誉撰稿。

TNO 世界观速览:美国版

1940 年,由于受到苏联布哈林政府的失败影响(详见《柏林春晓:TNO 德国施佩尔左线》一文中「假如轴心国赢得了二战:TNO 世界观速览」的说明,由于版本更迭,两版世界观存在出入),政府调控经济的模式在美国遭到普遍质疑,时任美国总统富兰克林·罗斯福担心再次参选可能会摧毁他的政治遗产,因而决定不再参与他的第三次大选。于是,共和党人托马斯·杜威以微弱的优势战胜对手,入主白宫。为了回报孤立主义者的鼎力支持,杜威宣布美国将在世界大战中保持中立,并着手逐步撤销罗斯福政府的新政,这些决定最终改变了世界线:保守的经济政策导致美国的经济重新陷入停滞,而珍珠港事件也彻底击碎了孤立主义者的美梦。当美国仓促应战时,欧洲几乎已尽入轴心国之手,仅仅只得到了冰岛和法罗群岛作为安慰奖。尽管欧洲尽失,但杜威仍然凭借太平洋战场的战果取得了 1944 年大选的胜利。然而,很快杜威的政治生涯和美国在太平洋战场取得的优势便随着珍珠港核爆一起烟消云散。

由于杜威政府在二战中的彻底败北,共和党在 1948 年大选中大败。民主党人,国际主义者德怀特·艾森豪威尔旋即走马上任,他主张美国应当重拾自己的昭昭天命。很快,美国便宣布全面禁止与共荣圈和团结协定成员国的贸易,开启了属于 TNO 世界的冷战。然而,由于孤立主义者和建制派的阻挠,艾森豪威尔政府的政策收效甚微。另一边,出于对建制派不作为的愤怒和二战失败的不甘,大批极右翼政客从共和党出走,重建了国民党并参加了 1952 年大选。尽管艾森豪威尔仍设法在 1952 年大选中艰难取胜,但总统与国会的矛盾愈演愈烈,使其难以兑现自己的竞选承诺。

尽管艾森豪威尔任内几乎没有留下什么政治遗产,民主党和共和党却仍然遵循历史惯性,选择提名温和派政客参与总统大选,这无疑助长了美国民众对于建制派能力的怀疑。尽管又一位民主党人,建制派人士埃斯蒂斯·基福弗在 1956 年总统大选中得胜,极端主义党派如进步党、国民党等依旧凭借选票成功打入国会,慢慢搅动起早已是一潭死水的美国两党政治。极端派们虽然政见往往大相径庭,但是却有一个明确的共识:联合起来,打败建制派,重塑美利坚。在这一共识的推动下,国家进步公约(NPP)诞生了。出于对极端派颠覆美国政治格局的恐惧,共和党和民主党逐渐越走越近,最终形成了代表建制派的共民联盟。共民联盟首战告捷,共和党人理查德·尼克松联手民主党人约翰·F·肯尼迪在 1960 年大选中得胜,似乎标志着建制派在美国的统治地位仍将持续。

与其说 NPP 是一个政党,不如说是它一个松散的联盟。它聚集了一批不为建制派或主流社会观点接纳的奇人异士:有主张种族隔离的,也有主张种族融合的;有主张全球出击的,也有主张完全孤立的;有社会主义者,也有国家社会主义者……复杂的构成使得 NPP 的内耗极其严重,这也是他们 1960 年大选大败而归的原因之一。然而,只要建制派无法解决美国的沉疴顽疾,NPP 的对于建制派的威胁就永远不会消退。

与成天鸡飞狗跳,内斗不止的 NPP 相比,代表建制派的共民联盟更加团结。但温和的政治主张意味着共民联盟无法开展激进的变革,倘若总统一意孤行一心求变,则共民联盟的政治团结将会遭受严重的破坏。

昔日的美国因为秉持孤立主义而与其他自由国家一道成为二战中的败者,如今在共民联盟的领导下,美国重振旗鼓,将要领导其他的自由国家一道从新世界启程与日本和德国争夺世界霸权,自由国家组织(OFN)因此成立,只是美国究竟是代表人类文明的灯塔,还是披着民主外衣的帝国,犹未可知。

1962 年的美国,内有极端势力步步紧逼,外有德国日本虎视眈眈。美利坚合众国能否否极泰来,令自由火炬熊熊燃烧;抑或改变航向,坠入深渊……这一切,皆将由接下来的这十年时间来一一定夺。

谎言与背叛:尼克松任期

理查德·尼克松的中立的政治立场,使得他成为了首位来自公民联盟的美国总统。在他的统治下,美国将延续积极的对外干涉政策,希望将更多国家纳入自由世界的大家庭中。但是,尼克松也绝非恪守民主精神的卫道士,为了对抗影响力逐渐变强的 NPP,调查和窃听,甚至直接进行政治迫害成为了他光辉外表之下的黑暗阴影。

而在种族平等这个几乎全美关注政治议题上,尼克松为了讨好南方选民以及共和党内的迪克西派,不得不保持不置可否的态度。然而这种首鼠两端的表态不仅没能阻止 NPP 夺取南方各州,也很快惹恼了北方的民权活动家们,因种族问题引发的暴力冲突和游行示威不断蚕食着美国的稳定度。尼克松装鸵鸟的日子不会太长久,很快他便要在废除或维持种族隔离中做出自己的选择。

接下来,美国将会执行自己的干涉政策。由于 TNO 的设定,各国无法自由地加入军事同盟,也不得自由地向其他国家派遣志愿军,更不能自由地造宣称开战,取而代之的是一套内置的外交系统:德美日可以通过此系统干涉其他国家的冲突,并依最后的结果得到奖赏或惩罚。第一个美国可以入局的冲突是马来亚内战,马来亚半岛的日本合作政府自 1957 年崩溃以来,北部的抗日游击队和南部的日本帝国第 25 军便陷入到了长期的拉锯战中。虽然对共产党没有什么好感,但在马来亚建立一个亲美政权将为 OFN 在共荣圈中心取得一个珍贵的落脚点。至于如何在新生的马来亚建立一个亲美政权,这就是 CIA 需要考虑的事了。

不过,美国在马来亚的胜利给尼克松带来的喜悦没几天就被持续升温的种族议题给冲散了:马丁·路德·金的著名演讲将种族隔离制度再度推向风口浪尖;而在国会,高呼「州权神圣不可侵犯」的保守派议员与坚持人人平等理念的进步派议员吵作一团。最终,对尼克松保持缄默的行为感到失望的副总统约翰·肯尼迪在不知会尼克松的情况下独走,将自己制订的民权法案交予国会并获审通过。但或许是提防肯尼迪的影响力过大,又或许是不愿意太得罪保守派议员,尼克松最终否决了该法案,这导致大量民主党进步派党员加入 NPP 进步党。

在否决民权法案,暂时压制了种族议题的争论之后,尼克松继续将目光投向海外:臭名昭著的独裁者「公羊」拉斐尔·特鲁希略统治多米尼加已二十年有余,凭借着三头同盟和团结协定的支持,特鲁希略有恃无恐。美国对于特鲁希略的存在深恶痛绝,古巴和墨西哥也希望能铲除特鲁希略。现在机会出现了,三头同盟因为内部的积怨宣告解散,团结协定因为希特勒的昏迷陷入混乱,是时候把公羊送入地狱,让多米尼加回归自由世界了。

在多米尼加革命阵线取得阶段性胜利之后,白宫将在彻底清除原多米尼加残党与支持建立多米尼加联合政府之间做出选择:前者符合道义,也更契合其他美洲国家的愿望,但是新生的多米尼加有着倒向社会主义的风险,这将极大地助长海地本就难以控制的社会主义叛乱;后者虽然宽恕了曾经的纳粹分子,但是可以保证将多米尼加共和国转变为亲美政府。

与此同时,法属马达加斯加崩溃的报告也被呈至白宫。马达加斯加名义上由法国派遣殖民总督进行管理,实际上其真正的主人是德国国防军。德国人在当地大肆奴役当地人,攫取马达加斯加的资源,还在当地修建海军基地以保证德国对印度洋的影响力。然而随着日本支持的马达加斯加独立军起义,美国也找到了入局这一非洲最大岛屿的跳板。现在美国可以秘密地向叛军提供武器,并且增加叛军中亲美派系的影响力,如若成功,马达加斯加将在未来加入 OFN;然而,一旦美国的暗中行动被揭发,那么美国将再也无法影响马达加斯加的局势。

马达加斯加的战火尚未燃尽,菲律宾也紧接着发生了剧变。作为第二次世界大战中日本帝国的战利品之一,菲律宾的局势始终变幻莫测,日本合作者,共产党游击队和美国残兵反复争夺着这片区域。自从 1959 年以来,菲律宾政府军只能勉强控制马尼拉周边地区,但是随着北部的游击队和南部的美军同时发起进攻,菲律宾政府的崩溃似乎已成必然。

虽然菲律宾政府军在两面夹击之下很快败亡,但日本绝对不会坐视菲律宾这一南洋明珠脱离共荣圈,随着高山信武将军率领的第 14 军奉着不计代价勘定菲律宾叛乱的命令从吕宋岛登陆,菲律宾的局势迅速激化。这也给了美国加码菲律宾内战的机会,在赶走日本人之后,美国将可以通过为期半年的重建计划在菲律宾扶持一个亲美政府。

海地,其政治局势在被美国军事占领之后便长期受美国操纵,现任总统路易·德茹瓦更是彻头彻尾的顶级买办,在他统治下海地的百姓可谓生活在水深火热之中。不断积聚的民族主义情感以及尖锐的阶级矛盾在海地孕育出了强大的社会主义游击队,腐败横行的海地政府对乡间的游击队束手无策,若没有美国的援助,海地政府很快将会被游击队推翻,美国在加勒比海地区的影响力也有可能因此大受打击。因此,华盛顿一声令下,源源不断的美元、武器和军队开始送往太子港。

1963 年对于全世界来说注定是多事之年。在东亚,安田财团的崩溃引发了全共荣圈的经济危机;在欧洲,随着阿道夫·希特勒的死亡,德国及其专员辖区很快陷入到全面战争中,旧大陆再度陷于战火。而就在这一年快要结束之时,来自开普敦的急报将全世界的目光吸引到了这处前英国殖民地上。南非在二战中早就被德军吓破了胆,在德国挺进前葡萄牙殖民地莫桑比克和安哥拉时便直接滑跪,交出了纳米比亚。在之后的二十年里,南非一直在 OFN 和团结协定之间如履薄冰。但德国人并没有因为南非的懦弱而放弃征服南非的计划,南非的布尔人群体也早就看不惯龟缩在开普敦的英裔贵族,虽然德国内战尚未结束,但东非专员辖区专员许蒂希决定独走,指挥在非洲的国防军向南非猛攻。

对于美国来说,帮助南非对 OFN 回到非洲的计划大有裨益,而尼克松的想法则更加激进:如果不仅能保住南非,还能趁着德国内乱之际反攻并解放德国在非洲的殖民地,岂不是能大大扩展 OFN 在非洲的地盘?因此,在尼克松的运作下,OFN 开始全面动员,大批军队被调集至南非。然而,这几个非洲专员辖区可不比几座小岛,想要达成此目标,不仅要付出大量的人力和钱财,而且几乎必然面临一场旷日持久的战争。此外,当美国民众发现这个盛行种族隔离的南非绝非什么自由国家,而美军也绝非什么正义之师的时候,如何才能说服国内继续向非洲用兵,也将成为一个巨大的问题。

正当 OFN 军队在非洲前线与敌军酣战之时,来自伦敦的求助信也被送上了坚毅桌。在二战期间,尽管等来了美国的参战,英国最终还是惨败于德国之手。然而并不是所有的英国人都甘愿接纳这一屈辱的事实:游击队「女王陛下最忠诚的抵抗运动」(HMMLR)多年来一直活跃在伪政府的眼皮之下,随着德国崩溃,国防军离开英国,HMMLR 抓住了这一千载难逢的好机会,一举将伦敦的合作政府赶出了英国。但是现在还不是庆祝的时候,随着德国的内战尘埃落定,大日耳曼尼亚得以腾出手来解决这群英国的叛匪,新生的自由不列颠随时都有被扼杀的风险。英国之于 OFN 意义非凡,因为 OFN 大多数成员国都是前英属殖民地,而且保住英国也预示着 OFN 将有机会重返旧大陆。于是,美国和德国在英吉利海峡的对峙开始了,胜利者将能得到英国,然而若双方都互不相让的话,全面战争将可能一触即发,世界都将陷于核子烈焰之中……

正当尼克松在白宫对自己任内的外交成果沾沾自喜之时,一个足以让他的政治生涯提前结束的危机正在悄然形成。尼克松在 1960 年大选时曾出于对 NPP 的忌惮,决定进行种种间谍行动,最终以不义的手段赢得总统大选。虽然即位之后,尼克松便开始极力销毁或掩盖这些秘密,但是这些秘密还是被媒体得知。一开始,尼克松凭借着公民联盟在参议院占有多数席位而免于弹劾,但是随着事件的发酵和多方势力的推波助澜,尼克松的政治盟友们开始一个一个地与他划清界限。最终,在确认自己已回天乏术的情况下,为了避免落得最后彻底身败名裂的下场,尼克松无奈宣布辞职,由副总统约翰·肯尼迪接替他的位置。

戛然而止:约翰·肯尼迪和麦科马克任期

尼克松在一片骂声中黯然下台,副总统约翰·F·肯尼迪走马上任。与在民权议题上唯唯诺诺的保守派尼克松不同,肯尼迪是众所周知的自由派,他对于南方种族隔离政策的厌恶和联邦至上的理念也是人尽皆知。现在,肯尼迪将要行使自己意外得到的总统大权,将美国打造成更加平等,博爱的国家。

然而肯尼迪的征程尚未开始便在意外中彻底结束,他的自由倾向激起了南方的种族主义者的愤恨和恐惧,正当肯尼迪在达拉斯举行自己的竞选集会之时,一颗饱含仇恨的子弹贯穿了他的大脑。

肯尼迪遇刺之后,众议院议长约翰·麦科马克在仓促之中走马上任。短短几个月之内,美国政局风起云涌,先是总统尼克松在丑闻缠身中被迫辞职,又是副总统肯尼迪遇刺身亡,美国政府的公信力几乎跌入谷底,民众对于美式价值观的认同也接近破灭。在这种情况下,麦科马克不敢再有所作为,他现在唯一的任务,就是确保美国在接下来的几个月内不再有大事发生,然后就只能寄期望于下一任总统能救美国于水火之中。

约翰·肯尼迪之死对于美国进步人士来说是一个重大损失,对于他的弟弟,罗伯特·肯尼迪来说更是如此。两兄弟曾怀抱着革除弊政的心态来到华盛顿特区,但是如今尼克松倒行逆施,约翰·肯尼迪身首异处,靠共民联盟这帮温和的建制派,美国的现状怎会有好转的可能?怀揣着这样的心态,罗伯特·肯尼迪宣布脱离民主党,加入以民权法案被否决为契机,影响力与日俱增的 NPP 进步党团,并凭借其在全美的声望被选为 1964 大选 NPP 的总统候选人。

随着 1964 年大选在绝望与激烈并存的氛围中开展,最终结果出人意料:来自 NPP 进步党团的罗伯特·F·肯尼迪险胜对手,赢得了总统之位。同时,NPP 在参议院的席位首次超过了共民联盟,建制派最终还是失去了美国民众的信任。「鲍比」·肯尼迪在就职典礼上发誓:要继承已故兄长的遗愿,将美国建设成更加平等的国家。然而赢家不止他一个人,信奉白人至上主义的 NPP 国民党团显然不会轻易让总统施展自己的手脚,约翰·肯尼迪的死亡也提醒着他一意孤行的最终下场……

烟火·乙巳

2025-02-02 20:20:00

蜀都行纪

2024-10-24 12:00:00

在博客半年之前的文章,《藏地行纪》的最后提到,西藏之行结束之后,在下花了 47 个小时,在大巴上速览了 1600 公里的川藏线,最终到达成都。其实这样做的目的并非仅仅只想体验一回川藏线的味道,而是意图利用剩下来的时间将成都浅游一番。

虽只是浅游,在下却始终念念不忘,记述之心,夙夜加增。只是半年多来,琐事繁多,游记一拖再拖。加之在下决心「标新立异」,以美食为骨作文,于是每每提笔,馋意难耐,故餐前写作不能,而饭后慵懒,行文三两行,哈欠不止,头脑空空,只得作罢。如此一来,纵有三年五载,文章也不能成。近来自恨,倘若蹉跎至此,则大事难成,遂强打精神,立志作毕。

虽然常年身处东部沿海,但在下却时常为成都所吸引——神秘地深居于四川盆地之中,历史文化却同中原同样悠久;孕育了熊猫这种天然为水墨画而生的动物;方言相当活泼有趣,听着令人好生愉快;派生出享誉全国的饮食文化,美食可谓一绝……就算直到如今,成都的存在感也依旧不输北上广深这些老牌一线城市,先有《谭谈交通》这样优质的电视小品(笑)引得全网乐不可支,又是一首《成都》火遍大江南北引得士农工商纷纷传唱……于是当成都生人的鹏加入西藏之行的队伍当中时,在下几乎毫不犹豫地和他探讨起成都之行的计划。

秉持着在西藏使劲玩,在成都使劲吃的思想,在下对成都之行的构想明确且独特:导游一责完全委任给鹏,去哪儿玩都不重要,但只有一个要求——让在下吃到爽,哪怕最后吃进成都名景点——华西医院肛肠科,也在所不惜。

Day 0:红油抄手

在下素来是一个嗜辣之人。即便生在江南,在下对于鲜辣之喜爱也远胜于甜口。由于一些复杂的原因,父亲从小在新疆长大,因而家里的餐桌上总是少不了辣味。在这样的影响下,在下的口味也渐渐被培养到了无辣不欢的地步,久而久之,麻辣鲜香的川菜也无可争议地成为了在下的 No.1。此去四川,终于来到川菜的大本营,可谓是就连做梦也在流口水。

好在在下的行程足够快,在口水流干之前,1 月 22 日晨,满载着藏地来客的林芝-成都国营快巴刚过金沙江,进入蜀地境内,便停靠在了路边的一家川菜馆子吃早餐,在此处,在下品尝到了令自己即便是过了很久也念念不忘的名小吃——红油抄手。

一开始在下压根没听明白鹏点了个啥菜,经过其解释之后才了解:抄手基本上和馄饨差不多,但是也有所区别,一般来说抄手的面皮会比馄饨厚一些,可以把它当作厚皮馄饨。

说实话,一开始在下有些打鼓:在馄饨和饺子的论战当中,在下会毫不犹豫地选择馄饨,这不仅仅是因为常处地域的关系,而是馄饨的面皮要比饺子薄,吃起来更加有味;若是面皮厚了,吃上去味道也会打折扣。如今出现这厚皮馄饨,岂不是将馄饨之优势抹杀,而成为与饺子并无相异之物么?

不久,传说中的红油抄手便被端了上来,映入眼帘的首先是赏心悦目的红色,整碗抄手汤底的表面,几乎都是由辣油构成的,其中又辅以大葱、葱花等佐料,看起来就食欲十足。一口咬下,中间裹着鲜肉馅,辣意交织,还夹带着具有蜀地特色的麻意,好生痛快。只是这鹏之前的介绍到底还是有些问题,吃上去也没有感觉到皮有多厚,后来自行搜索一番才知道,原来这抄手的面皮应当是比馄饨薄才对。这波,鹏可谓在胡说八道。

还是暂且撇去鹏糟糕的美食理解,回到这碗红油抄手上来:它几乎击中了在下对于馄饨类食物的每一个爽点。在下有一段时间曾喜欢在千里香小馄饨里加入大量辣油,以追求在鲜香当中加入辛辣感,然而最终却并不如在下所预料,一来店内提供的辣油通常不够辣,二来大量辣油的加入反而破坏了小馄饨独有的鲜香,口感大不如前。如今红油抄手完美地解决了这个问题,虽然其不比小馄饨的鲜味十足,但是辣口却是浑然天成的。一碗抄手下肚,整个世界顿然美好,残留的余味惹得人生出再来一碗的冲动,可惜接下来还需赶路,只得就此作罢。

Day 1 晨:红糖锅盔-甜水面-钟水饺

到达成都双流西航港客运站之时,是清晨的六点,在下几乎在巴士进站的同时醒了过来,天色未明,在客运站橘黄色的照明灯下,在下踏出了在落脚在成都的第一步。不久后,在下和鹏便钻进路口的成都地铁 19 号线龙港站,这是一座建成启用还不到半年的车站,配套设施非常新,在下再次使出了手机里交通联合版的上海公共交通卡,也不出意料地依旧畅行无阻。

我们在地铁系统里快速穿行,成都地铁给在下留下的第一印象非常不错,在下搭乘的连接机场的两条地铁——19 号线以及 10 号线的座位都采用纵横两种布局模式,横排座位之间的间距也比较宽,相当适合运载机场旅客。尤其值得一提的是 19 号线,其座椅都采用了布料材质的软座,坐上去比起一般的玻璃缸硬座好了不是一点半点,此外,考虑到列车会在高架段运行,车厢内竟然还配备了遮光帘!这样的配置也许放眼全国的轨道交通,都是相当豪华的。

再度钻出地铁站,天色才渐渐微亮而已,鹏家离地铁站并不远,我们横过两条马路,经过街边散发出腾腾热气的包子铺,穿过也许是几个小时前还是人头攒动的烧烤摊,又路过一家灯火通明的红旗连锁,便到了鹏家所在的小区。鹏母热情地招待了在下,事先准备了一些面包,还泡了点银耳羹,在下便吃了些垫饥,与鹏做了些准备,待二人皆洗完了澡之后,便又换上鞋再度出门——由于在西藏已经玩了许久,加之春节又近,在下决定只在成都玩上两天,时间紧凑,事不宜迟,虽然刚经历了川藏线的旅途颠簸,但是我们还是保有相当的精力的,尤其是在下,在成都美食的诱惑下,脚都恨不得自己向前动起来。

此时正是清晨,灰白色的天幕下,小絮般的雪花竟随风飘落,这也是今年以来,成都城区的首场降雪。当然,对于刚跑去西藏玩了一圈雪的我们来说,对此也不甚稀奇,只是快步再次赶赴地铁站,正式开始在成都的美食之旅。

鹏最先带在下来到的,是成都的文殊院地区,同处市区,比起上海更像是塞在犄角旮旯里的静安寺、龙华寺、城隍庙等有名寺庙来说,文殊院动辄 20 余万平方米的建筑面积显然要大得多了。不过我们并未直入文殊院参观,而是在外围兜兜转转,不知怎的转到了一扇小区大门里,这里竟坐落着一家不起眼的小吃店,原来,这里就是传说中的邱二哥锅魁。这家小店从 1987 年做起,一开就是近四十年,传统技法做出的古味锅魁,深深抓住了成都人的味蕾,前两年也是阴差阳错登上了热搜,创下日卖六七百个锅魁的亮眼记录。我们来的时候,有不少人等待着早就预定好的锅魁,其中不乏下单十数个者,生意相当兴隆。锅魁的种类非常简单,只红糖锅魁、混糖锅魁、椒盐锅魁和白面锅魁四种,其中,红糖锅魁当属最经典的一款了,我们也是要了两个红糖锅魁,价格也是相当实惠,只四块钱一个。

锅魁到手时,薄薄的一层纸难掩新鲜出炉的锅魁的火热温度,上手轻轻捏动,就觉面皮筋道,一口咬下,又感饼皮内部不失松软,仅这两点,相信没有经过认真锤打,及耐心的文火炕制,是无法做出这样的感觉的。多吃几口,兜在其中的浓稠的红糖汁便随之而出,红糖的熬制也是相当到位,品来口感绵密,唇齿流香。在下大快朵颐的时候,不觉手上用多了些力气,结果挤出来好大一滩红糖汁,流得手上到处都是,惹得鹏乐不可支。

吃完红糖锅魁,也差不多走到了文殊院门口,朱红色的院墙对面,排列着一连串的店铺门面,其中的一家店铺正是我们要去的下一站:洞子口张老二凉粉。这又是一家在成都享有盛名的老字号,店面不大,倒不如说显得有些局促,此时正值早餐时分,来往的顾客络绎不绝,几乎很难找到座位。我们等待了一会儿,终于寻得一方空位,方才落座。

鹏跑去点餐,回来告诉在下要了甜水面和钟水饺各两份,人声嘈杂,在下只听清一个甜水面,不过无妨,待过会上菜,疑问便可自解。

尽管店内客流很大,但是上菜速度并不算慢,不多久,甜水面就被端了上来,极粗的面条和泛着红油的酱汁立刻就把在下吸引。鹏告诉在下,品尝之前记得多沾些酱汁,这汤汁才是这道小吃的经典所在。

沾上了汤汁的甜水面红得晶莹,散发出诱人的魅力。入口之后,筋道的面条裹挟着精妙的味道:先是能感觉到甜,这甜味不仅来自于酱汁,还来源于面条本身;随即便是红油的辣及花椒的麻,巧妙地与甜味混合在一起;紧接着又似有陈醋之酸,加上花生碎、姜蒜汁等辅料,只觉鲜香意味层叠而来。抄起筷子,品时尽是百味,放下筷子,嗅时止有垂涎,区区小食甜水面,珍馐美馔不能及。

接下来上的,便是钟水饺了。从外观上看,钟水饺带给在下的冲击,就不如甜水面那样大,主要的原因是因为它与红油抄手多有相似。不过二者实际品尝起来,确实有所不同。首先,钟水饺的馅料完全以猪肉馅构成,是纯肉的水饺,吃起来自然更加鲜美。其次,区别于红油抄手的汤汤水水一大碗,钟水饺出菜时多是小小一盘,淋上红油、酱油、芝麻油、蒜泥等辅料,着重于强调突出水饺的香味,吃起来自然也是更香的。再者,钟水饺上口时,同样有一丝微妙的甜味,不过这个甜味和甜水面的甜略有不同,但同样也能和其本身的鲜辣味巧妙结合,不免使人吃得痛快非常。

将饭桌上最后一个钟水饺吸干了吮尽了,我们才肯闭上贪恋美食的嘴,朝着文殊院里面兜上几圈——不要忘了,在下来成都的终极目的就只有吃,那么最大的问题,无非在于怎么在让自己在有限的时间之内吃得尽可能更多,于是答案便呼之欲出:运动。运动地越多,身体就会需要更多的能量,进食的欲望也就越强烈。于是,景点游览便这样成为了成都之行当中必不可少的一环。

文殊院不愧为长江上下游四大禅林之首,规模庞大,建筑恢宏,不乏宝物贮藏其中,又有佛陀舍利、玄奘法师顶骨舍利,又有康熙题的「空林」御笔,名气相当响亮,香火自然也是络绎不绝的。天王殿前,前来拜谒的人流排起长队;大雄宝殿前,人头攒动,青烟缭绕;三大士殿前也同样门庭若市,前来求德行、求平安、求智慧的人群熙熙攘攘。除了前来烧香拜佛及旅游的人群之外,不乏扛着长焦大炮的摄影爱好者;偏殿一方,一群年级较小的学生正对着一尊形似鱼身的彩绘雕塑临摹……

在下和鹏不通佛学,也并非带有强烈目的,只是到处游荡,转碑廊、闯画室、穿茶馆、赏字画、巡殿宇、绕宝塔、览戒坛、逛佛园,堪堪将整个文殊院历遍一圈,才最终从正门离开。

Day 1 午:烧鹅-茶社

为了尽最大努力清空我们的胃,在下和鹏决定再接再厉,继续步行前往下一站——天府广场。

天府广场和紧临其的四川科技馆的位置,原先坐落着明朝的蜀王府邸,也叫成都皇城,可惜在文革当中被炸毁,改建成了毛泽东思想胜利万岁展览馆(也就是今天的四川科技馆),剩余的部分,又经过重新建设,就变成了占地 8.8 万平方米的大型城市广场。这里是成都市的正中心,除了四川科技馆,四川图书馆、大剧院、成都博物院等建筑也依次环绕四周。广场的下方有着规模不小的地下商业街,并与地铁连通,交通相当便捷。

在天府广场打了卡,提上一杯霸王茶姬,此刻也将要接近正午时分,在下开始向鹏咨询午饭的具体事宜,鹏也是做好了准备,直接带着在下往成都 IFS 国际金融中心的方向走。

若是阁下有幸来到成都太古里边上的 IFS,那么一定会被其外墙上的一个巨大熊猫雕塑所吸引,这只熊猫正用两只前脚扒在建筑外墙的边沿上,仿佛下一秒就要爬上 IFS 七楼的雕塑花园。我们也先是上七楼小小参观了一下被游客围满了的熊猫正脸,在跟随鹏一顿好找,才找到这家鹏非常喜欢的餐厅——金翠河香港茶餐厅。

虽说专门跑到成都来吃粤菜有些奇怪,但是鹏推荐这家餐厅肯定有他的理由——这家餐厅在西南地区也算是小有名气,是品质非常不错的茶餐厅连锁。鹏本想来这吃那皮薄肉嫩的招牌烧鹅,不想来得晚了,烧鹅竟然已经卖完,只得要了烧腊拼盘,也顺带尝尝港式烧鸭烧鸡的味道。

烧腊以五香味打底,配合酥脆的皮质,鲜嫩的肉质,再加上烧腊特供的鲜香醇厚的秘制酱汁,食来是甘香油润、细嫩弹牙,乃是绝佳之下饭菜。在下爱将沾满汁水的烧腊嵌于米饭之上,让酱汁的味道蕴在米饭之间,之后再将这些米饭尽食下肚,米粒入味,嚼来美味四溢,好不痛快!

等到烧腊将我们的肚子再度填饱之后,在下和鹏再度出发,前往春熙路开始新一轮的食物消化之旅。

春熙路就离太古里和 IFS 不远,往西走个两步就能到达,实际上这三个地方几乎是挨在一起的,共同构成了一个巨大的商圈。刚到春熙路商业街的入口,一股熟悉的感觉便扑面而来:广场样式的地砖铺在街道上,中间散布着路灯和小型售货亭,两边的店铺招牌层叠着垂直地悬挂出来,完美地契合着我们对于商业街的第一印象,那就是北京的王府井、上海的南京路、武汉的解放碑、广州的北京路……虽是下午,但此时冷意未消,寒风沿着大街阵阵扫过,游人纷纷靠着建筑墙根行走,在下和鹏二人倒是不怕,只管边走边欣赏着各种各样的建筑与店铺设计,不时评头论足一番。行至孙中山像附近时,遇到两个女孩前来求着帮搞某短视频平台的拉新任务,在下本想直接摆脱,但鹏看起来已经被缠上,加之天气寒冷,想来也确实拉客不易,自己的手机号也确属新用户,于是便卖了人情,才重新逛起街来。只是春熙路不如南京路那样长,不一会就走到了底,周围的店铺也同绝大多数有名的商业街一样,好看不好逛。于是在下问起鹏接下来的安排,鹏说他已有想法,只是下一站离得有些远,最好还是坐地铁前往。我们于是折返,往地铁春熙路站走,中途又觉口干,便点了一杯茶百道提进了地铁站。

虽然鹏说是有点远,不过也就是两站路的工夫,我们就从地铁里钻出来了。此地是是地铁人民公园站,鹏要带在下来的地方,自然也是成都人民公园了。

同是人民公园,和上海的相比,成都的人民公园显然要丰富许多,也有底蕴地得多。一百一十年前,辛亥秋保路死事纪念碑被树立在这个公园里,纪念着四川保路运动的血泪史;八十年前,川军抗日阵亡将士纪念碑又被树立在公园东门,纪念着一九三七年起,从这里誓师东出抗日的壮士们。除了两大纪念碑外,园内还有一个小型的历史展览馆供大众免费参观,体验还是相当不错的。

参观完展览馆,鹏便带着在下往公园的西侧走,随后,整个公园最具特色的地方映入了在下的眼帘——那是在古典园林建筑旁散布着的一簇簇桌椅板凳,四只竹椅围着一方小桌,上面坐满了喝着茶、聊着天、玩着牌局的人——原来这是开在公园里的茶社。

在上海,在下还从来没有在公园中见过那么大型的茶社,不由得感叹起巴蜀人民深谙生活之道。此处茂林修竹、绿意环绕,亭台楼阁、轩榭廊舫,一桌一椅一碗茶,正午一坐到晚霞,怪不得大家要说:「少不入川,老不出蜀」,仅此公园茶社便可见一斑。在下与鹏穿越拥挤的桌椅板凳,在一方角落找到一处空位,便各人要了一碗茶,索性拿出牌来玩起德扑。说起来,在下的德扑还是鹏教会的,只不过一开始还玩得不好,总是被鹏赢个干净,后来自己偷偷做了些研究,果然,这回轮到在下赢了不少,甚至不得不使鹏感叹起在下牌技之进步。

Day 1 夜:陶德砂锅

在茶社的时间相当愉快,四五盖惬意的茶下去,很快天色就暗了下来,我们收了牌,又往春熙路的方向走,看来鹏对于晚餐的事情已经有了些眉目。

天空渐渐下起了细雨,路上,我们钻进天府广场的地下街,竟被偶然发现一家谷子店,在下于是没忍住进去逛了逛,剁手了一款孤独摇滚的钥匙扣盲盒,开出一只在下推的喜多,Lucky☆~。

尽管细雨飘飘,春熙路的人流依旧不减,站在过街天桥上,桥下晚高峰的车流尾灯红彤彤地挤作一片,桥上也是人群熙攘,原来前方就是我们的目的地——陶德砂锅。这家馆子在成都看起来高低也是个网红店,之前天桥上的聚集人群大多都是在排它家的队伍。

在等待的时候,鹏向在下介绍,陶德砂锅原来是射洪的店,后来慢慢做大之后,就往周边开了很多分店,所以陶德砂锅其实算是射洪菜。现在商业化铺开了之后,菜品品控做得还可以,价格也实惠,属于吃起来不会出错的这一类馆子。

上了桌之后,在下还是老样子,把点菜的事全扔给鹏了,自己则关心起周围的情况来:前来就餐的食客男女老少各群体皆有,说明无论是价格还是口味,都是对大众友好的;店面看起来亮堂、整洁、干净,细节上也不失雅致的设计,说明对于连锁品牌形象的管理是到位的;服务员的整体面貌也很好,既没有懒懒散散,也不是那种打了鸡血一样的亢奋,给人的感觉是相当自然的。

片刻,鹏点的单就已经开始上菜了,不多时,菜品就全部上齐。鹏点了蒜蓉虾仁、酸菜乌鱼片、土豆牛肉以及野菌香包。这蒜蓉虾仁,听鹏介绍是陶德砂锅的招牌,上菜时也确实是颇有派头,需要同时上一个小锅现场来煮,确保虾仁的鲜嫩程度,大约需要五分钟左右,时间到了服务员还会帮忙揭盖。这样现烹的虾仁也不论其原本究竟是鲜货还是冻货,鲜嫩确实是到位的,加上蒜香和吸饱了微咸汤汁的粉丝,吃起来的味道的确可口,再加上我也是忠实的粉丝爱好者,这道菜没一会就被在下和鹏吃完了。

至于说到这酸菜乌鱼片和土豆牛肉,则是在下需要好好拷打一番鹏的点菜水准的时候了。倒不是说这两份菜不好吃,而是实在过于常见,主观上没有太大的新鲜感。这两份菜是基本上不会做坏的两道菜,而陶德砂锅选择的调味也果然如在下所料,偏向大众一些,以至于在下如今在回想这两道菜的味道时,发现并没有深刻的印象存留(当然也有时间太久的原因)。

最后的野菌香包倒是值得一说,菌菇包子天然就具有浓烈的鲜香味道,辅以肉馅和适当的调味,吃起来真是唇齿留香,软糯的包子皮和包裹其中的汁水就是令人吃了还想吃。

之前在下和鹏确实是有些饿了,这四份菜的菜量并不算小,但依旧被我们一扫而空。事后在下突然想到,能做到这样的高性价比+高出菜速度+稳定的菜品口味,陶德砂锅完全可以说是射洪的萨莉亚嘛。

干完晚餐,在下能感觉到肚子的确是相当饱足了——这主要还得拜野菌香包所致,它的美味使在下无暇停下缓一缓再慢慢品尝,进而导致我们都吃得很快。于是为了缓解饱腹感,在下与鹏决定再去白天没有好好逛过的太古里逛一圈。

太古里显然与春熙路这种传统的商业街不同,开放式、低密度的街区形态,错落有致的建筑排列以及中央的下沉式广场将其现代购物中心的形态展现无遗,精美的装饰点缀在街区的分层结构之间,使得店铺内的精装与店铺外的世界连为一片,在地面积水的反射之下,更显得美轮美奂。

逛完太古里,我们拖着疲累的身体回到了鹏家,在成都的第一天行程就此结束。为了消化巨大的进食量,在下在这一天总共走出了超过三万步,加之前一晚在大巴上没有怎么好好休息,巨大的体力消耗使得在下很快睡了过去。

Day 2 晨:蛋烘糕

第二天醒来得时候并不算早,昨天吃得太多,到了这时食欲也并不算大,在下和鹏商量着先行出门,之后再看情况买点东西吃。

我们很快就搭上了地铁,往宽窄巷子赶去,这里也是鹏今天计划中的第一站。出门时,昨晚的细雨依然在飘,等到我们出了地铁,雨势也渐渐小了。在下和鹏在路上一边找着小吃,一边往宽窄巷子的方向走,正巧碰上迎面走来一群游客,正高声讨论着些什么,靠近之后,在下才发现他们竟在用亲切的上海话交谈,看来多半同是慕名来此地游玩的同乡游客了。

宽窄巷子主要由宽巷子、窄巷子和井巷子三条老街组成,因此,不同于传统商业街春熙路,现代商业街太古里,宽窄巷子则是老城区改造复兴的产物,更有是古镇商业街的感觉。此时约莫是九点多钟,店铺基本都开放了,街道上早已是人头攒动。和古镇类似,这里的商店也多是以售卖手工艺品、纪念品、小吃为主,而得益于蜀地的丰厚的饮食文化,小吃摊是非常多的,街道两边不时就能看见外溢的蒸汽蒸腾而上。鹏给在下看中一家卖蛋烘糕的小吃摊,于是我们第二天的美食体验就由蛋烘糕开始。

蛋烘糕也是名声在外的成都名小吃,主要有咸口和甜口之分。鹏买来的这款蛋烘糕是甜口的,金灿的外皮下裹进了只消轻轻一捏就会溢出来的肉松与奶油,从馅料来看,显然是做了改进的现代版本。咬进嘴中,外皮酥脆,内里绵软,奶油更是赋予了在下一种在吃泡芙的感觉,不过口感上要比泡芙更饱满,蛋香味也更加浓郁。虽然奶油肉松的甜口味道不错,不过下次在下还是更想尝试下传统的咸口,相信炒香的肉末+咸菜的味道也不会让在下失望。

现如今的古镇到底还是逃不开商业化的影响,对于在下和鹏来说,除开感受感受氛围,观赏观赏古建,吃吃小吃,也没剩下什么别的花样了,倒是有不少川剧表演的场子揽客,台下也是如同茶社般,桌椅板凳茶水小吃一应俱全,只是行程紧凑,遗憾未能进去坐坐,体验一番。

Day 2 午: 叶婆婆钵钵鸡

几个蛋烘糕能给我们提供的能量到底还是有限,宽窄巷子里走过一圈,肚子也渐渐饿了,在下向鹏询问午餐的安排,鹏倒是没做好准备,拿起手机一阵乱翻,随即带着在下钻回地铁里。而鹏选择的地点,则是春熙路地铁站,没错,我们又双叒叕来到了春熙路。这个目的地的出现频率未免有些太高了

鹏带着在下沿着排布着琳琅满目小吃店铺的糠市街,向东一直走到底,来到一幢外墙正在施工的大楼底下,这里转角的脚手架阴影下,还藏着一家叫做叶婆婆钵钵鸡的门店。事后在下复盘得知,我们完全没必要来这家叶婆婆钵钵鸡,因为同样的店在锦里也有一家,那里正好是我们下一站要去的地方。这波是鹏在带在下疯狂绕路w不知是不是施工影响了生意,午市时间,店内的客人并不多,当然,也有可能是店面本身比较大,给人一种空旷的感觉。

叶婆婆钵钵鸡也是连锁,鹏告诉在下这家店原先开在乐山,现在也是连锁店了。不过比起店面的历史,在下倒是对钵钵鸡本身比较感兴趣,因为在下还从来没有吃过钵钵鸡,甚至没怎么听说过钵钵鸡的存在,看到自助取餐台和别桌食客桌上泛着红油的大碗里泡着的串串,在下一开始还以为这是串串版的麻辣烫。

不过等到上了菜,在下才发现这绝非什么麻辣烫,因为它吃起来没有在下想象中的那般热辣滚烫,而是……出乎意料的凉?原来钵钵鸡的做法就是先用热水烫熟鸡肉之后,特意浸凉,再泡在红油汤底当中的,汤底承担了赋予鸡肉美味的使命。浸凉的奇妙口感使得在下能够持久续航,不必像吃麻辣烫般时,不得已要冷却冷却口腔。于是,不知不觉间,在下的桌上已经堆了不少签子了。

由于我们确实饿了,之后又去拿了店里的乐山甜皮鸭来,鹏还另外点了两碗冰粉,甚至还有一盘炒饭。炒饭因为过于常规,吃来难有新的感触,在此不论。这甜皮鸭红棕色的色泽,看上去卖相和北京烤鸭差不多,但随即一口咬上,立马就能感觉到不同,虽都有酥脆的外皮,但甜皮鸭外皮附在其中的丝丝甜味,是绝对不可能在北京烤鸭里品尝到的。只可惜这份甜皮鸭底下的肉的细嫩程度倒是差了些,吃起来总感觉差了点什么。冰粉倒是料丰味美,整整一大碗,光是看着就食欲倍增。可惜上来的晚了,我们拿的钵钵鸡、小食和炒饭都吃了大半,肚子多少有些塞不下,于是剩下的一点冰粉,就成了我们心有余而力不足的直接体现。

Day 2 午后:武侯祠-锦里-杜甫草堂

吃完一份令人饱足的大餐,我们火速前往早上就提前预约好了的武侯祠。

此次成都之行行程紧凑,虽说是主要以吃为主,但是武侯祠是在下心心念念想去的地方,因为它在历史上的名气实在太响,还屡次出现在有名的诗歌当中,到了成都,不去参观武侯祠,未免可惜。

「丞相祠堂何处寻?锦官城外柏森森。」只是如今的武侯祠周边早已是城区环绕,车水马龙,但进入武侯祠之后,历史的厚重感依旧扑面而来。稍微了解武侯祠,就能知道这个区域其实是由武侯祠、汉昭烈庙及惠陵共同组成的,但最有意思的还是它的变迁,一开始初建时,武侯祠并不在此址,而是到了魏晋时期才迁到这里,与汉昭烈庙相邻并列;到了明代,人们认为君臣祠庙并立不合礼法,于是便将二者祠庙合一;而到了康熙年间重修武侯祠时,儒家思想中的君臣关系再度于此得到强调,汉昭烈庙被置于前处较高位置,而武侯祠则被置于后处较低位置,以示「君尊臣卑」,于是武侯祠的格局便延续至今。

然而,虽然封建礼法被不断强调,依旧无法压过诸葛亮在广大百姓心中的地位,于是合祀以来,武侯祠从来都处在「门额大书汉昭烈,世人都道武侯祠」的状态。

迈进题写着「汉昭烈庙」牌匾的大门,前庭面积虽然不大,但内容丰富至极,不同时代的各类碑刻、匾联、雕塑等文物汇聚一堂,其中记载重修昭烈庙或是武侯祠的记录碑刻属最多,这也应证了两千多年来,此地一直香火不绝。庭院两边是文臣武将廊,这里的塑像均是清代制成的,形象皆取自戏剧当中。刘备殿稳坐庭院正北,上书「明良千古」大字匾,中间有一尊巨大的刘备塑像,关羽、张飞的塑像分别则供于东西偏殿,君臣关系排列井然。

从刘备殿后穿出,即可看见悬有郭沫若题写的「武侯祠」过厅,其后就是真正意义上的武侯祠了,比起刘备殿,诸葛亮殿为矮为小,但殿前悬有雍正御笔「名垂宇宙」,可谓气势磅礴。然而正殿内又悬「静远堂」匾,仿佛外面的磅礴气势突然不见,唯留丞相高尚情操细水长流。中央置有诸葛亮塑像,羽扇纶巾的形象深入人心,两旁分侍儿子诸葛瞻、孙子诸葛尚的塑像。

诸葛亮殿后则是九十年代迁至此地的三义庙,殿内主要供有演义形象的刘关张三人,其他就没有什么内容了。由于我们此前参观地较为细致,而此时时候已经不早,后面还有参观杜甫草堂的打算。因此三义庙之后,我们只是草草略过了孔明苑,索性撇掉了惠陵,往出口赶去。

我们掐着杜甫草堂的截止入园时间火速赶路,却不想武侯祠的出口竟正好是锦里古街,无暇顾及这条历史悠久的商业街,在下与鹏只管在拥挤的人群中东插西窜,把街上什么张飞牛肉、芙蓉糕等一众酒招旗甩在身后。在下看人流实在太多,行进缓慢,实在心焦,不由得模仿成都话说了一句「我的草堂!」引得鹏哈哈大笑,原来竟是歪打正着,无意间说得相当正宗,可惜也仅仅只是昙花一现,之后在下又说了许多次,不过鹏都认为没有在锦里时说的这句标准。

从锦里抽身,已是下午五点左右,附近道路上的车辆大排长龙,手机叫车的话又不知何时能到,好在在下很快找到一辆堵在路上的空车出租,司机一听我们要去杜甫草堂,不禁问了一句「现在去吗?可能会有点晚了。」不过我们坚持要去,司机便拐了条小路,一路风驰电掣地将我们送至杜甫草堂门口,此时大约是下午五点二十分左右,距离闭园时间还有四十分钟,我们便抓紧时间入园。

杜甫在浣花溪畔茅屋居住约四年,期间创作了二百四十多首诗歌,也正因此,杜甫草堂自从唐末开始,就被开辟为名胜古迹,历经历朝历代十数次的扩建,如今已是规模斐然。南门正对着的祠堂建筑群部分,陈列着杜甫以及其他许多文人墨客的肖像以及与之相关的艺术作品。愈往深处走,便愈能感觉到川西园林的典雅风味,尤其是最核心的茅屋建筑群附近,更是古色古香。可惜茅屋皆是后世仿照旧式川西建筑重建,杜甫居住的茅屋早就被埋没在历史的长河之中。

园林的最深处,倒是有一处业已出土的唐代遗迹,并伴有出土文物的展示,应证了浣花溪畔在唐代有人居住的事实,也确认了如今认为的草堂所在的位置与实际情况是基本吻合的。

整个园区内游客最多的地方,当属连接祠堂建筑群和诗史堂、茅屋建筑群的花径。花径和我们在武侯祠没有去参观的惠陵一样,都有着沉静的红墙走廊,墙后种植着清幽的竹林,文静典雅。而花径中游客最多的地方,又当属用青花碎瓷镶嵌而成的「草堂」影壁,毛泽东在 1958 年参观杜甫草堂时,曾在此留下一张照片。也因此,很多游客都会选择在此合影留念。

天色渐晚,我们也加快了参观的速度,但尽管如此,还是拖得不少时间,直到傍晚六点二十多分,我们才从南门离开,不出意外的话,在下与鹏应该成为了这天最后一批离开杜甫草堂的游客。

草堂的南门正对着浣花溪公园,规模同样不小。公园的设计与杜甫草堂相辅相成,园内有一诗歌大道,石砖上满刻着许多著名诗句,两旁也不时列有著名诗人的塑像。我们在这里短暂地歇了歇脚,由于中午吃得太多,肚子还不饿,再加之在下翌日还需要早起赶飞机,因此就决定省去晚饭,直接回去休息。

Day 3 晨:早餐摊

这天是上午九点半的飞机,在下的西藏—成都行程也终于迎来尾声。

早上六点刚过,在下就收拾好行李离开了鹏家。巴蜀地区与东部地区的时差约有一小时,又是冬天,故而屋外夜色未褪。街道上弥漫着沉浸了一夜的空气,路灯透过薄雾,映出一片昏黄。在下呼着热气往地铁口走去,只看见前方的人行道上被一家灯火通明的店铺照亮,丝丝烟火气从光亮中抽离出来,伴随着食物的飘香。在下正好想吃些东西垫垫肚子,便驻足下来,要了一笼老面小笼包,一袋豆浆,只是考虑到时间因素,全部都打包了在路上边走边吃。

老面小笼和上海名小吃南翔小笼有所不同,在下认为,可以简单地把前者理解为小一点的,用发酵后的面皮制成的传统包子,而后者的形态则更为世人所熟知,是小一点的,用紧酵的面皮制成的灌汤包。二者风味各有千秋,老面小笼的优势就在于面皮的蓬松、宣软,配合饱满的鲜猪肉馅,一口下去汁香味美,肉香浓郁,属于是早餐摊可以无脑选择的品类之一。

一口接着一口,很快,在下便吃完了这份早餐。轨交系统总比它所在的城市苏醒得更早,南来北往的客流里,在下赶巧搭上了 19 号线前往天府机场的直达列车,和来时一样,车内依旧是不同于普通线路玻璃钢座椅的,布料材质的软座,在下得以放下旅途疲累,安心闭目养神,等待着列车平稳而又快速地载着在下,离开这座「来了就不想离开」的城市。

实习日

2024-06-26 15:20:00

封面来源:#mygo | giant doggy~ #X https://x.com/cxhcrr/status/1803714561671073887

(一)

昨晚的睡眠情况比起以往来说,不算太好,早晨的餐桌上,我尚能感受到倦意尚未完全从身体中消除——二十分钟前,我还沉浸在有好友 L 参与的一场怪梦当中,直到晨光逐渐松动我的眼皮,不留情地提醒我新的一天的到来,于是我只好像一只没能来得及享用眼前唾手可得的肥嫩青草的失落的羊一般悻悻起床。

诡异的机械朗读音从客厅传来,那是老妈在客厅用手机放着她那永远也听不完的宫廷穿越小说,碰上心情好时,我也曾仔细评判那小说中的内容,只可惜不论我如何评判,也没法从其中平淡如水的文字描写、毫无特点的人物塑造与老套烂俗的剧情走向当中揪出什么花来。

我向好友 L 传了消息,打算告诉他昨晚我做的怪梦内容,但直到早餐吃完,他也迟迟没有回应。断断续续传来的机械音不由得使我感到一阵不适,它们不受控制地涌入我的脑袋,一时间,我甚至感觉到一阵晕眩。

客厅的传来的背景音终于从小说变成了八段锦带练视频,我也总算结束了早餐,没怎么理会专心养生的老妈,背上双肩包就出门往律所赶。

调休带来的无形积重感并没有被初夏的光辉赶走的意思,我戴着耳机,挑选着早餐时从脑袋中不知从哪儿冒出来的旋律,穿过一群群走向学校的学生与护送他们的家长,在一片车水马龙中抵达校门口的公交车站。

看了一眼手机上的公交实时到站信息,距离常坐的那班车的到来还有数分钟时间,和大多数等车的人一样,我站在公交车站雨棚形成的阴影下,边避阳光边听着音乐。

然而今天的音乐是怎么也没法好好听下去了,一个中青年男性正拿着一本《Pytorch 深度学习指南》漫步在阳光下,旁若无人地把书中的内容大声诵读出来。

他上身藏青色夹克配卡其色 T 恤,下身则是经典的牛仔裤,妥妥的 IT 从业人员打扮。一张圆脸,带着方型黑框眼镜,五官不甚精致,皮肤也略显沧桑,短发未经打理,被遮盖的发际线使我没法弄清他的真实发量。但是看他一脸愁苦面相,估计头发也早已掉了不少。

感叹于当下 IT 行业的 AI 热潮之际,公交车也来了,我突然想起我那些就读于计算机专业的同学,正值毕业季,不知道他们目前做了些什么规划。他们此时也像这个男人一样,投入在 AI 学习的水深火热之中吗?他们以后也会像这个男人一样,撑着蜡黄的面容与日渐稀疏的头发,让 IT 行业将他们的青春气息逐渐食尽吗?

我努力地将印象中他们的面容与这个男人的面庞重合在一起,但是我做不到。哦,也许他们不会变成这个男人,我于是乐观地想。

然而,仅仅几秒钟之后,我又突然想起了那些同学当中,确有即便就读了计算机专业,却仍旧依赖我翻墙的人。唉,也许他们会变成这个男人,我又悲观地想。

(二)

不知怎的,这条机场线的车厢总是这样的热。即便已是初夏,吝啬的驾驶员依旧不肯在行驶中把空调打开,屁股下的皮质座椅似乎比起寻常公交车上的塑料座椅更能聚得起热量,配合上下摆规矩地塞在裤腰里的衬衣和车厢内密闭的窗户,刚刚从家中步行至公交站产生的废热根本没法得到有效的宣泄,我的鼻头渐渐沁出细密的汗珠,它们随即在暮春黏腻的空气中变得愈来愈大……一时间,东边车窗辐射而入的太阳热量俨然将车厢变成蒸锅,以极慢的速度试图在不经意间将我烹煮至尽。

正在我盘算着几时能够摆脱这个移动的蒸锅,才过了几个路口,它就陷入了停滞,我向前望去,发现拥堵的始作俑者是一辆不知因何原因大摇大摆堂而皇之得意洋洋地肆意停在早高峰行车道上的轿车,两条车道就这样被压缩成了可怜的一条,通行效率大大降低,车辆因此大排长龙。我恨不得开着铲车毫不留情地将轿车轰进旁边的河流,抓着车主的衣领扇他四五六个耳光,随后再将他抛进刚才的河流和他的爱车一起洗澡……之后,哪怕那辆给人添堵的轿车早已落在后面不见了踪影,我还是顺着怎么惩罚车主这条思绪暴躁地想了许多,直到公交车快要靠站,我的想法里却只剩下了悲哀与无力——没有哪条想法是能够真正实现的。

我似乎突然深刻明白了为什么人们会如此迅速地被超级英雄题材的事物所吸引:无论遇到什么不公义的事件,动用私刑永远都是最令人解气的方案,但也总是最不可行的方案。除非我们能成为超级英雄,或者说,超级恶棍,拥有超越自然法则的力量或能力,那样的话,现存的一切秩序,无论是法律制度还是普世道德,都将变得苍白无力。

终于走下蒸锅,迎接我的是满挟着世俗的尘埃,却依旧清新的风,我能感觉到身上每一个张开的毛孔对它到来的羞涩的欢迎。南来北往的人群从四面八方向地铁站汇聚而去,然后前赴后继地钻进它设置在地面张开的口,像是潺潺的溪流终于汇聚成河,随即掉进了一个深不见底的神秘的洞。

只有进入了这个洞才能知道这里远不及爱丽丝掉进的那个兔子洞那样神奇,地面上再也没有哪个地方能比这里更加容易令人失望透顶,尤其是望着早高峰安检关口前面排列着的长长的进站队伍,出发前向自己许诺的一切雄心壮志都被磨去了大半。被磨平了棱角的人们司空见惯地忍受着长队;初来乍到的人们无助地四顾环视,像只无头苍蝇一样徘徊不决;自以为聪明的人们见缝插针,像老鼠一样在队伍中到处穿插,只为节省自己那可怜的几分钟时间……而到了闸机前,他们中的多数才如梦方醒,丝毫不顾身后的人流,只是如同木棒一般杵在那里,不知从哪个口袋吃力地掏出手机,迟钝地像是第一次上手一般打开二维码,然后对着扫码窗口一顿乱晃,生怕摄像头捕捉到哪怕一帧二维码的清晰图像,随后像是看到了乱码汉字一般疑惑地盯着显示着「请进站」的显示屏,犹豫了两三秒之后才试图推动身前的闸机杆,过了闸机后,还不忘在出口再度停下查看手机,挡住身后的人流,只为确认已经成功扫码,直到按熄了屏幕,终于满意地慢慢挪步离开。

我一向是热爱乘坐地铁的,尤其钟爱地铁中弥漫着的特殊气味,这一股说不清道不明的味道自我小时候第一次乘坐地铁时就一直萦绕在我的记忆之中。然而,随着年岁的增长,我发现地铁当中的气味却变了,那一股令我无法忘怀的气味正在渐渐淡去,取而代之的是一些更具体,更能用语言描述,也更令人感到不适的气味。如果说,汗味作为最常见的臭气类型,尚不会对他人形成多少困扰,那么屁味则绝对更有侵略意味,更易令人不适——它出现的频次并不比汗味低多少。但退一万步讲,这也只是正常的生理现象,无法被客观控制——毕竟谁也不能保证坐地铁时一定不放屁。于是地铁中最可恨的气味,无疑就变成了烟味:尤其是挨在一个不修边幅的中老年男性的边上,有很大的概率,那股以焦油与尼古丁为打底的,混合着一大堆致癌物质的毒气就会出现,并想尽办法以各种角度攻进鼻腔。稍有不慎,整个人就会被这些像是从陈年烟道里发散出的烟油味弄的头晕眼花——比起屁味,烟味无疑要恶劣地多,因为这些毫无顾忌的老头完全可以选择不抽烟——有充足的科学证据表明,人不放屁会死,但不抽烟一定不会死。

今天的运气似乎有些太差了,列车才刚开不久,散发着恶臭烟味的老头就早早摸出了他那部由泛黄手机壳包裹着的手机,隔着狗皮膏药一般粘贴在屏幕上的早已碎裂的钢化膜,用甲缝间充满污垢的手指点开抖音,以半截车厢都能听得清清楚楚的音量旁若无人地刷着毫无营养可言的短视频——他丝毫看不到周围众人可能投来的鄙夷目光,也听不到车厢内「使用电子设备时,禁止外放声音」的广播,更想不到没有人愿意自己的耳朵受到此种形式的强奸。他只看得到充满着UC风格的黄色黑体大字对无聊事件的极尽渲染,只听得见与视频内容毫无关联的生硬BGM与早已被用烂的廉价漏气罐头笑声,只能想到——不,他根本无法做出哪怕一丝一毫的思考,不断地被动接受只短短几十秒、十几秒甚至几秒的高密度信息输入让他的脑子根本无暇消化这些内容,所有的信息只是从他的脑海中一闪而过,没能留下一丝一毫的涟漪……他逐渐变得呆滞、麻木,乃至无法及时动动手指切换到下一条视频,只是任由某些哗众取宠的互联网垃圾重复再重复地释放出惹人生厌的喧嚣。

列车终于到站,开门的刹那,我突然如同发了狂一般,挺起自身的身躯拼命对抗妄图从我的左右挤到我身前的,骄傲自视、目中无人的那群家伙们,仿佛阻止他们本就毫无意义的穿插能让我对他们的忿恨得到消解,但无论如何,直到我经过自动扶梯到了站厅,也再没有回头向他们望过一眼。

(三)

到达办公楼的入口时正好是上班时间,得益于这几日已摸清公交和地铁的运行规律,每天我到达此处的时刻就如同对岸江海关大楼上的钟一样准时。

穿过大堂,刷卡经过有五分之一概率会因各种因素被拒之门外的愚蠢闸机(好在今天没有),我跟随一群上班族搭乘到达律所的电梯。律所的牌面装饰着堂皇简雅的门厅,绿植排列在前,温暖而富有生机,然而进入工作区,色调却由暖变冷,偌大的椭圆楼层覆盖着暗灰色的地毯,又被无数灰白色的办公桌分隔,一间间蓝灰磨砂玻璃构成的小办公室将楼层全部的外墙窗户占据,几乎挡住了所有照射进来的自然光。大办公区内,已有不少人坐在了自己的办公桌前,而小办公室内此时通常是不会有人的——有资格坐在其中的,只有团队的老大,通常都是律所的高级合伙人,对于他们来说,哪怕一个月只来所里一次也是司空见惯的。这样一个美好的早晨,晨光在建筑外闪耀,鳞次栉比的办公楼与车水马龙的街道构成忙碌城市的天然画卷。但是,大办公区内的人们却只能在一成不变的灯光下,拿着咖啡杯默默在电脑前为团队奉献出自己的力量,阻挡他们偶尔停下看着窗外风景小憩的,是高耸在他们与落地窗之间的蓝灰壁障;小办公室内,独立的通风系统呼呼运转,只需微微侧头便可一览美景的办公桌上,或许摊着一本许久没有被翻过页的书籍,或许摆着一套上次用完,等着团队秘书清洗的茶具,或许放着几天前便被团队其他律师放在桌上的快递……这样一个美好的早晨,所有窗外令人放松的一切都在被无声地浪费。

我在大办公区找到我的位置,扔掉肩上的包,掏出电脑,给手机接上电源,又起身去接了一瓶水,顺带到快递收发室取了两份今天寄到的文件——那是两份询证函的回函,我快速把它们扫描了,做了记录,并将扫描件发给了对应律师。做完这一切,我靠在椅背上,任由椅背弯曲到最大的弧度,并盘算着把早已做好的网核材料再拖到下午提交,给自己空出上午的时间多摸一会儿鱼。

可就像是上天特意在给我使绊,硬是要将今天的我的精神彻底地炼净,而由不得一丝喘息,于是安排了坐在我身后的律师为了工作事务无休止地打起了电话——如若只是打打电话,也就罢了,可她的电话实在令人听得疲累——她就像是受气包,不断地在一个蛮不讲理的法官和另一个蛮不讲理的当事人之间无力地做着周旋。她的每一句话都像是卑微无比,每次总是说不到一半就被对方无情打断,于是只得不断地用「可是」「但是」「我知道」这些无助的词语为自己争得一些说话的余地——而若只是如此,倒也还让人生得三分可怜,可背后的七分可恨随即毕至——她结结巴巴、吞吞吐吐,话语之间充斥着啰啰嗦嗦的废话,仿佛没了「就是……」「呃……」「嗯……」,整句话就不能成立;用词又十分怪异,「你」「我」非要说成「你那边」「我这边」,「给」非要讲成「给到」,各类欧式表达听的我浑身起鸡皮疙瘩,难受非常;等到挂电话时,又一定要吐出「嗯嗯,好,嗯,好,嗯嗯,好的好的,嗯,好,某某再见,嗯……」这样一大串结束语才舍得切断电话,就好像一句简单的「拜拜」或是「再见」实在不能满足她的业务需要似的。

(四)

令人抓狂的电话打了整整一上午,将我难得的摸鱼好心情也毁了大半,转眼就是饭点,我对午饭向来没有多大追求,便想着去楼下的麦当劳解决作罢。

在高中时代,处于私人的一些原因,我一直不看好肯德基。果不其然,这样一栋巨型摩天大楼的底楼商场,竟然连一家肯德基都没有,当然,这也间接促使了麦当劳完成了对这里的快餐垄断。午餐期间,这里门庭若市,无数办公楼里的打工人在金拱门招牌底下进进出出。备餐台前,架起了一条长约三米的取餐架,一名工作人员在架前又是摆放食物,又是回应顾客问题,忙得目不暇接;备餐台上,悬挂的显示屏一刻不歇地滚动着令人眼花缭乱的取餐号;备餐台后,一众工作人员更是如热锅上的蚂蚁般焦头烂额地处理着各类订单,还时不时传来一阵嬉笑怒骂——也亏他们能在这样紧张的时刻不改其乐。

今天点单的人数似乎特别多,尽管已经距离下单二十分钟有余,我的取餐号还迟迟未出现在显示屏上。尴尬地杵在取餐架前,手机中今天新发布的公众号文章也已经读完,我一时有些无所适从。

「米哈游的游戏真的能玩。」身后传来的一阵讨论声不禁吸引了我的注意,我回过头去。

一个程序员扮相的中青年男子正同和他站在一起的另一个戴眼镜的西装男津津乐道着,他的身影一时间在我的视线中与早上在公交站遇到的大声诵读AI参考书的程序员有些重合:「像原神,只要充个几千块钱,满命还是非常容易的,」他继续滔滔不绝道,「相对而言,米哈游真的良心多了,它的爆率是有保证的。」

我还没来得及细细咀嚼他刚刚说的话,就看到印着我的取餐号码的纸袋被推上了取餐架,我很快就上前把它取了下来,转身离开了店内,比起听他们接下来的讨论,此时还是实打实的汉堡更能吸引我一些。

(五)

吃完了午餐,周遭的世界倒是消停了许多,看来就算是喜爱喧嚣的老天爷也要给自己留一点清静的时间。

难得的清静过后,团队在客户公司驻场的两位律师回到了所里,其中一位 H 几乎算得上是我的带教律师,成熟稳重,而另一位 W 则是从南京分所来的,嘴巴总是讲个不停,就算是工作中也不例外,行事风格像是活宝。

此时,W 正把他的手机横放在电脑旁,不时在上面戳戳弄弄,显然是在玩手机游戏。H 转头对我说道:「你知道吗,上次 W 加班的时候,他的手机一直都是这种横过来的状态,整整三个小时,然后就被我骂了……」

「哪有,我又不是一直在玩游戏,我只是放在那里挂机……」

「你就说手机是不是在一直横过来就完了。」

……

我只在那里笑,不去搅进他们的对话,却又感到几分好奇,便往他横着的手机那里看,那是一个令我万分熟悉的游戏界面——

「在打碧蓝航线呀,这游戏可肝了……」我几乎是鬼使神差地冒出了话。

「确实肝,但我也不常玩。」他虽这样说道,但我却看到他船坞里排列着一堆琳琅满目的船,其中不少泛着彩色的光芒。

「我以前也想入个坑,但真的太肝了,几乎就是刷子游戏,我不想玩个游戏也跟天天上班一样,」我仔细查看了他的船坞,感叹道,「像你这个号里彩船还不少呢,估计没少氪。」

「哪里……」

「呵呵,又要开始讲充了二十万的故事咯……」还没等 W 把话说完,就突然被 H 的冷笑打断。

「氪二十万?」信息量突然变得有点大,而我正在努力理解刚刚听到的东西。

W 返回了手机桌面,点开了一个满是游戏图标的文件夹,然后将手指伸向了另一个我熟悉的游戏——白发蓝瞳的琪亚娜·卡斯兰娜,正对着图标框外送出她万年不变的 wink。

「天哪,崩坏 3,」我惊叹道,「我退坑的时候女王才刚出……你是说,你在崩 3 里氪了二十万?」

「前前后后大概是有那么多吧……当时这游戏还没保底,」他似乎回忆了一下,「没办法,不氪出新角色这游戏玩不了。」

我翻阅着所有账号里拥有的角色,所有我见过的和没见过的角色,当然,没见过的角色还是多数的。

「女王……啊,你是说空律,那个版本还很早呢,后面又出了好多律者……其实我也有段时间不玩了,现在新出的圣痕还有武器我都不认识。」

「空律出的时候我几乎认定了这游戏要完蛋了,新角色简直就是数值怪,无脑地强,老角色完全没人权,还要被暗改数据,实在太骗氪了,」我开始吐槽起来,「虽然骗氪,但是肝帝还算有点生存空间,那时还有兴致周周肝,后来感觉实在不行,我还是无法接受把游戏玩成上班,爆肝也是不适合我的。」

「光靠肝要消耗的精力太多了,几乎不太可能,这深渊排行榜靠前的没有一个不是重氪,不氪不行,不氪深渊打不过,」W 从仓库里挑出一件武器接着道,「现在我也氪不动了,你看这把武器,当初我为了它氪了几千,用起来确实爽,但到现在几乎就是废纸一张,根本跟不上深渊的强度。现在出的一些武器我都理解不了。」

「太对了,所以我选择不玩,」我一边探索着 W 的游戏文件夹,一边回应道,「你装了好多游戏啊,崩 3、星铁、原神……全是米哈游的,甚至还有崩 2!」

「那个曾经也氪了不少,但基本也不玩了,现在就是打打碧蓝,然后就是星穹铁道,」说着,他便打开了星铁,「该刷下每日任务了。」

我不禁暗自乍舌:「看来你真的很喜欢米哈游的游戏,现在玩星铁还氪么?」

「多少还会氪一点吧。」

「你觉得还会再氪出一个二十万嘛?」

「说不准,谁知道呢。」

(六)

临近下班,我难得地进入了高效的工作状态,不料却被团队老大 X 打断。他似乎亲切呼唤着我的名字,叫我和他谈一谈,透过他架在眼睛前的镜片,我几乎无法从他棕黑色的瞳孔中读出什么信息来。

坐进了小办公室,关上隔间的门,外界的声音一时间被隔绝大半,只剩下通风系统的呼呼声往房间里灌。X 靠在属于他的老板椅上,示意我坐在他的桌子对面,我坐了下去,却突然感觉到周身不适,尽管通风系统确在运转,但似乎这间办公室里绵密的空气反应有些迟滞。

「说说你最近实习在做些什么,感受如何吧。」

终于开口交谈,迟滞的空气似乎这才开始流动。交谈是我的长项,简单的汇报工作自然也不在话下,但是,我感到这次的谈话不止工作汇报那么简单。果然,工作汇报完了,感受和心得也都谈完了,除了例行公事的回应之外,我得到的只有重新冻结的沉默空气。

空气开始慢慢变热,X 终于再度开口,谈起他律师工生涯中的一些杂七杂八的事情,其间夹杂了一些诸如「你知道吗,当事人的意思,是只有当时是人」的黑色笑话……最后他叹道,律师不好做,每个行当都不好做;又叹道,卷啊,现在律师也是卷得不行。

我终于对 X 产生了一些同理心,他却突然话锋一转:「你的实习工资是 H 和我商量了,我给开的。实际上,实习实习,是你到我这里学东西来了,本来不应该开工资。你看古代的那些学徒,不仅没有工资,有的还要给师傅交学徒费。到了现在,来实习学东西,反倒都要求要有工资了……我说这些,不是说我心疼给你开的这些实习工资,而是说,我希望你能明白,你来实习是来学习东西的,你看现在律师行业那么卷,你找份实习也是很不容易的,所以我也希望你能真正学到一些东西。你现在也熟悉我们团队日常的工作了,非诉呢,其实也就是那么一回事,你看我们每天的合同修改委托非常多,所以我就想着应该把这些合同的修改,按照不同合同的类别整理汇总起来,最好给他整理成团队的内部教材,继续提高合同审查这块业务的效率……这两年我们还是改了不少合同的,一会儿让 H 那里整理出来发给你。这项工作,其实非常适合你来做,也是宝贵的学习机会,在整理合同修改的同时,能够学习到很多合同审查的技巧,因此我希望你能认真地对待一下这个整理任务……」

空气逐渐恢复正常了,看来这就是他的真正目的,我舐了下嘴唇,细细回味那些尚未散尽的异常空气,嗯,好像是 PUA 的味道。

我走出了办公室,H 问我:「X 找你谈什么了?」

「好像给了我一个整理合同修改的任务。」

「不愧是 X 博士(X 的最高学位是博士),他给每一个实习生都派这个任务。」

「这个很重要么?」

「我感觉完全没什么用,也许只是我们的 X 博士单纯喜欢折磨实习生罢了。」

我突然感到身心俱疲,只瞥见到了下班时间,便「啪」地一声合上笔记本,匆匆告退。

(七)

晚霞出现在天边,白日的炎热仍未褪去,从晚高峰的地铁挤下,多捂了些衣服的地方又是一阵汗出。

回家的公交一点也舍不得油门,像是科目三考试一般不紧不慢地开,让人恨不得往驾驶员的膀胱里多灌两泡原尿,到家时,已是华灯初上,夜色悄临。

饭桌上,老妈问起我今天实习得如何,我压下心中狂乱的想法,只随意地打着哈哈,她见我饭吃得这样有味,便也不再多问。实际上,我的食欲总是很好的,几乎不太会受到情绪的影响。吃完饭,我只一声不吭地将碗筷往水池一放,就像女性主义者最深恶痛绝的刻板男性那样,回到了自己的房间,对 B 面的事务再无过问。

夜渐渐深了,工作微信不知怎地还在不断地传出恼人的提示音,工作群里的聊天似乎没完没了了,一条接着一条,并不是一些今天非说不可的内容,我再没兴致看下去,索性发泄般地从床上坐起来,将工作手机关机,看着光芒从屏幕中消失,我终于躺下,释怀般地闭上了眼。眼前的黑暗与周遭的黑夜融成一片,我的意识自此从身体中抽离,没有梦,也没有感觉,只是向往着飞到那些我从未去到过的地方。

事故小记

2024-02-20 16:30:00

封面来源:初音绑架案 | 米粒Duona #pixiv https://www.pixiv.net/artworks/111292509

What happened?

2024 年 2 月 7 日,大年二十八,早间 10 时许,温煦的阳光挥洒在广袤的苏北平原之上,家家户户烟囱中冒出的烟火气添得年味越发浓烈……就是这样一个闲适祥和的上午,一封似是平常的电子邮件被送入了在下的收件箱,起初,它并没有引起干坐着刷手机的在下的过多注意:邮件的标题只是简单地标着「Your Supabase Instance」字样,并无更多的说明,一眼看上去像是 Supabase 用来推广他们新 features 的广告邮件。不过当在下打开邮件粗粗一看,发现似乎并非如此,再认真看时,方才意识到出现了严重的问题:Supabase 在邮件中提示道,在下用于储存 umami 站点统计信息的数据库,已经有 7 天时间处于非活跃状态,出于对节省资源的考虑,他们将会在几日内暂停这个数据库的运作。

在下先是感到困惑:作为 umami 统计数据的数据库,怎会有整整七天时间都没有活动过呢,虽说敝站的统计数据一直不温不火,但每天的访问人数,怎么说也能有个三四十人,即便 Supabase 对于非活跃的定义再离谱,也不可能无视掉这样一批数据的传入才对。然而,当在下登上 Supabase 一看,迎接在下的,却是平静得翻不起一点波澜的使用量统计数据,空白的折线图犹如心电监护仪,清楚明了地宣告了数据库在这七天的死亡;随后,部署在 Vercel 的 umami 前端为其连接的数据库正式开具了死亡证明。事已至此,可以确定这无疑是一件小型运维事故,只不过糊里糊涂的在下在其发生的第七天方才得知。

Why though?

在下随即开始排查事故原因,看起来,umami 的前端由于某种原因,在这七天的时间内一直无法连接到 Supabase 的数据库,那这究竟是怎么一绘事呢?经过在下的一番回想,死去的记忆开始渐渐复活,随之开始猛烈地攻击在下:早在几个月前,在下就接收到了 Supabase 发来的邮件提醒,内容大致是由于 AWS 将开始对 IPv4 地址收费,因此他们也将不再提供免费的 IPv4 连接,为了应对这一改变,Supabase 敦促用户更改一下数据库的连接 URL,从直接连接切换到 Supavisor 代理连接,就可以解决 IPv4 网络的连接问题。而在下第一次收到这封提醒邮件时,没有细看,竟把大致内容理解成了:不用做特别的操作,Supabase 会自行改变连接模式解决这一问题,遂放心地删了邮件睡觉去了,从此埋下祸根。之后,Supabase 更是三番五次发邮件来把这件事说了又说,无一例外地被在下塞进了垃圾箱,最后一次提醒是大概在 1 月 19 日,Supabase 建议用户切换到 Supavisor 代理的 DDL 7 天前,躺在巴松措景区民宿床上的在下再次将这一提醒删除,以不作为的姿态亲手造就了事故的发生。

到了 2 月 1 日这天,Supabase 正式将在下的数据库域名解析到了 IPv6 地址,而搞笑的是,由于 Vercel 时至 4202 年,仍然未能支持 IPv6,就导致了部署在此的 umami 前端与数据库的连接中断。更加搞笑的是,在下在此之后竟然对 umami 挂掉浑然不知,直到 7 天后接到 Supabase 的邮件提醒才意识到出了事。

What now?

搞笑的事情到这还没完,察觉事故之后在下一心想要赶紧恢复服务,根本没有好好地去看 Supabase 关于弃用 IPv4 的公告,由于之前对于 IPv6 迁移政策的理解错误,一度让在下认为不支持 IPv6 的 Vercel 已经不再适合作为 umami 的前端了,转而去寻找起新的 PaaS 部署平台。此刻正处在苏北过年的在下,电脑未在身边,只能拿手机操作,相当痛苦,七弄八弄,搞得一地鸡毛:先是,打算把前端部署到 fly.io 上,又发现 umami 的 docker 是默认集成 postgres 的,要改远程连接非常麻烦,不知道又要踩多少坑,遂放弃;又尝试了 Netlify,结果不小心挂着代理注册触发了风控,要求传证件,传了证件又显示认证不通过,要用邮件和客服扯皮,又再次放弃;后来又看到 Vercel 能直接用 Integration 和 Supabase 连起来,结果试了以后也不得行……

汗流浃背的在下此时回看 Supabase 的迁移公告才发现,只需要简单地改一下新的数据库连接 URL,就可以解决这个问题,再 Vercel 这也就是改一下 Environment Variables 的事,不出几分钟就能搞定,惹得得知真相的在下当场吐血三升,倒地不起……回归正题,改完环境变量,umami 终于恢复了正常,这场事故也总算谢天谢地得到了解决。顺带着,此处也出现了最后一处笑点:为什么此前用 Vercel 提供的 Integration 直接连接 Supabase 却失败呢?原来是 Intergration 默认填写的 Environment Variables 的 name 为 POSTGRES_URL ,而 umami 的要求却为 DATABASE_URL 。然而此时被自己整得乌烟瘴气、萎靡不振的在下根本无力吐槽这个问题,在这个西风斜阳、暮色苍茫的大年二十八傍晚,一切的折腾终将落幕。

此次事故,因在下的愚蠢,使得其未能被提前预防、及时察觉、高效解决,导致敝站痛失从 2 月 1 日 9 时到 2 月 7 日 15 时,共计 6 天 6 小时的站点统计数据,不慎成就敝站运维事故「零」的突破,实属敝站历史耻辱柱之一甲,遂决定加以述之,立此为后日之鉴。