三年了。嘉州夜里开笔,扬州案头续抄,纸一本一本厚起来,朋友圈里碎碎写过进度,字丑不怕,怕的是那口气断了。抄到后来,笺注多了,互见多了,人物卡片多了,夜里想核对一句原文,常常记得大意,却一时翻不到页。纸书厚,人眼慢,这本是读书人的本分,可当抄读变成每天的功课,那一点翻检的迟疑,便在心里积成痒。
史记手抄本
痒到第三年,我忽然起了个念头。既已积累到这份上,何不电子化,做成一个能随身带着的小应用。我喜欢古文,也写过一点草根程序,两样都够不上专家,却刚好凑成一件事。于是便有了太史侍读。名字是我起的,心里想的却很土,无非是希望读史时有人在侧,答必有据,不拿空话来哄。
某一夜我在屏幕上敲进四个字,谈谈屈原。按钮一亮,答案一段一段往外长,旁边跟着出处芯片,点开便是《史记》里的句子与篇名。那一刻我忽然笑了。笑的不是功能炫,是这事原来竟和案头那一摞手抄本是同一条路,只是路从嘉州走到扬州,又从宣纸走到屏幕,换了一身墨色的衣裳。
太史公自己说过志向。
亦欲以究天人之际,通古今之变,成一家之言。
大意就是,想把天地人事的交界探明白,把古今何以变通写清楚,最终落成自己的一家之言。出自《史记·太史公自序》。我做侍读,当然够不上这一句的气象,可心向往之。人若问史事,至少得能指回原文。指不回去,就宁可说阙疑,也不许装懂。
上一篇写完《史记》里的女人,我本打算歇一歇。谁知歇着歇着,手又伸向了自己做的小应用。索性把这三年从手抄到器物的心路写下来,也算给同好报个到。
从手抄到侍读
从嘉州到扬州,纸上先养出一口气
喜欢《史记》,早得很。嘉州夜里翻开中华书局点校本,纸边发黄,字却活。太史公写人,写事,写饭局与刀光,写女人与士,写到人心发紧处,总让人想把句子抄下来,免得它从眼底滑走。抄着抄着,便成了日课。后来生活挪到扬州,案头换了,日课没换。车声不同,灯火不同,打开的仍是那部书。
抄久了,问题便来。屈原的事在《屈原贾生列传》,也在楚汉旁的缝隙里露脸。列传里写他。
屈平正道直行,竭忠尽智以事其君,谗人间之,可谓穷矣。
意思就是,屈原走得正,把忠与智都献给国君,却被谗言隔开,困到极处。鸿门宴在《项羽本纪》里风生水起,在《高祖本纪》里却像轻轻带过。同一桩事,互见几处,夜里想核对,往往卡在页码上。扬州的夜晚有时更静,静到那一点痒听得更清。
痒到后来,我开始给自己做笺注,做对照,做人物与事件的小卡片。再后来,我把这些零碎养进了知识库。人问我为何还要写程序,我答得也不漂亮。古文养的是喜欢,程序养的是结构。两边都是草根,合在一处,便想把侍读二字从愿望做成器物。器物笨一点没关系,但要老实。
班固评司马迁,有几句被后人反复提起。
其文直,其事核,不虚美,不隐恶,故谓之实录。
说白了,文笔直,事核得住,不空夸,不藏恶,才叫实录。出自《汉书·司马迁传》的赞语。我做应用时把这句话贴在心里。答辞可以慢,可以冷,却不可虚美成戏,也不可隐恶成雾。
案头到屏幕
证据问答空态
打开太史侍读,第一眼常是证据问答。暗底,金线,搜栏里可以写谈谈屈原,也可以写鸿门宴上谁想杀刘邦。底下有一句老实话,全局射覆,问史事,答必有据。想通关破篇,请进卷册通关。射覆本是古人猜物的游戏,我借来做问答的别称,图个贴切,也提醒自己,猜可以,胡猜不行。
答辞须有据,通关像日拱一卒
我试过问屈原。答案避开百科腔的生平简介,改成分节写下来的述略,人物,出典,阙疑。旁边有据的标签亮着。点开引用,能看见篇名与原文的影子。这一步对我极要紧。手抄那些年,最怕的就是读成一团雾。雾里可以感动,却难复核。侍读若只会漂亮地说话,那与市面上的闲聊模型有何分别。我宁可它慢一点,冷一点,也要让出处站得住。
证据问答作答
卷册通关是另一条路。十二本纪排成关卡,未开的锁着,读过的留下痕迹。我自己用时,常把它当成数字化的日课表。今日破一篇,明日再进一篇,像当年抄《魏公子列传》时一天写几张纸那样,不求热闹,只求不断。打开本纪正文,古注可以点,白话可以对照,本章故事也可以翻。射覆放进本章,答对了才推进存档。这设计有点游戏气,可对我来说,游戏气只是糖衣,糖衣下面仍是读与记。
卷册通关
卷内阅读
抄书的人常有一种私密的爽,是某一夜忽然把互见读通。鸿门宴在这一传里刀光霍霍,在那一传里却只剩几行。《项羽本纪》里写项庄起舞,项伯以身翼蔽沛公,紧张得像一根弦。你若只读热闹的一篇,会以为天下事都在那一席上决出。你若把冷热两篇并排放,才会发现太史公在分配篇幅时,其实也在分配史观。谁的饭桌,谁的命,谁的写法。我做证据问答与卷册通关时,心里常常记着这件事。答辞可以漂亮,可若不能把人带回互见的缝隙,那漂亮便浅。
还有一种爽,更慢。是抄到《屈原贾生列传》时,看见太史公把辞赋家的抑郁与辞令写进史笔,又在赞里留下余味。你抄着抄着,会恨自己字丑,又会感谢字丑,因为丑字逼你慢,慢了才听得见句子的呼吸。太史侍读里的射覆与通关,说到底是想把这口呼吸留住,不让它被一键生成冲淡。生成可以快,呼吸仍须你自己听。
我偶尔也会把应用拿给朋友看。朋友第一反应常常是,你怎么把史记做成了游戏。我便说,通关只是壳,壳下面是日课。你也可以不当它是游戏,只当它是一张能亮灯的目录。目录亮到哪一篇,你心里就有数。有数,比有热闹要紧。热闹会过,有数能养人。
至于创意工坊,我用得少而慎。仿写太史公笔法这件事,诱惑极大,风险也大。写滑了,便油。写僵了,便像习作。我宁可让工坊在那里待命,等某一夜抄到真动心的句子,再进去试一笔。试完仍要回到原文,看看自己到底学到了几分,还是只学到了腔。腔是皮,骨仍在太史公那里。
做应用这些年,我也踩过坑。纪年写成公元,地铁底栏被时间轴遮住,段落窄栏像没撑满。这些坑不丢人,丢人的是发现了还装没看见。读史的人若连自己的错字都护着,还谈什么实录。太史侍读能改,便改。改完再打开,心里那一点安,和抄书改错字时的安,是同类的。
有人问,你既手抄,又做应用,岂不是自相矛盾。我倒不觉得。纸笔养的是耐心与体温,屏幕养的是检索与结构。二者可以同桌。人若不在场,再新的模型也只是更快的空转。太史侍读里,人须在场。你要自己点开出处,自己决定信还是疑,自己在卷册里留下读至何处。应用替你搬书,替你指路,不替你做人。
图谱是把线摊开,地铁是把年摊开
知识图谱这一栏,起初是为我自己解闷做的。抄到长平,抄到乌江,人物一多,事件一缠,脑子里就容易串台。同名异人,同词异事,最误人。于是做了实体检索,事件关系,人物关系,再把专项专题与家谱纪年搁进去。纪年页我特意做成左窄右宽,左边目录,右边内容。人物生卒,帝王在位,卷章纪年对照,一律用公元前书写。史记记事止于武帝之世,年代若用公元来说,本就该是公元前。写成公元多少多少年,是我一度犯过的错,后来改掉了,心里才安。
太史侍读五栏
鸿门宴关系图
纪年
地铁图是我偏爱的一块。一百三十篇摊成线路,站点是事件,颜色是篇章。你可以沿着时间轴滑,看从黄帝以下到汉武那一长段怎么一站一站亮起来。底部有纪年标签,有缩放,还有全屏。全屏时侧栏藏起,只剩纯图,像把整张历史地图铺在桌上。我做它时想的不是炫技,是把自己抄书时那份“事件在哪一年、挨着谁”的直觉,变成看得见的轨道。
长卷轨道
地铁图
史记Wiki与创意工坊则更像书房里的两张侧案。Wiki里有人物页,有别名,有出现次数,读起来像在翻自己多年攒下的人物簿。创意工坊里可以仿写笔法,也可以调史技与故事。这些功能若只当产品清单念,会干。可若把它们放回手抄的上下文里,便都有来处。人物簿来自抄传记时密密麻麻的人名。仿写来自夜里想学太史公句子却又怕写成油滑。史技来自读纵横家与兵家时那股“此计可曾在别处见过”的惦记。
史记Wiki
创意工坊
从一张笺到一座书房
最早的笺,其实寒酸。一张纸,左边写人名,右边写篇名与页码,再往下写一句自己当时的判断。判断可以错,页码不能错。错了页码,夜里会自己骂自己。嘉州时笺少,扬州时笺厚,厚了便收进文件夹。再后来,文件夹进了电脑。再后来,电脑里的材料开始互相指认,屈原指回列传,列传又指回楚汉的缝隙。我这才意识到,原来自己一直在盖一座很小的书房,书房的梁柱不是书架,是出处。
太史公写完书,也说过藏与传的心思。《报任安书》里有一句常被人记起,大意是要把写成的书藏之名山,传给能懂的人。我当然不敢攀这句。可草根做器物,也有一点近似的小心思。应用公开一角,是想让后来者少走一点翻检的冤枉路。真正能传下去的,仍是他自己把路走完。
太史侍读里的Wiki,便是这座书房的公开面。你点开一个人,看见别名,看见他在多少篇里露过脸。露脸次数多,不代表他更伟大,只代表太史公更愿意拿他当绳子,去串别的事。次数少的人,有时更刺。刺在他只出现一次,却把一件大事撬开。争桑的妇人便是。我做人物页时,常想起这些无名者。无名者进得了史,也该进得了检索。检索若只宠名人,便又势利了。
创意工坊我放得偏后,也是这个道理。工坊适合练笔,不适合冒充史笔。练笔时可以大胆,回到史里仍要收。收的意思是,你写的任何一句像样的话,最好都能在《史记》里找到它的影子或它的反驳。找不到,就老实标成仿写。仿写可以好玩,不可冒充实录。这一条,和我写公众号外篇时的纪律是一样的。外篇可以假想四公子同席,主线却不许改。应用里的生成,也该守这条线。
史记中的技能
各个专项专项解读
射覆、通关、全屏,都是读法
射覆二字,我起初只是觉得好听。用久了,才发现它逼人诚实。全局射覆问的是史事,本章射覆问的是你是否真读过这一篇。你若只刷答辞,不通读,本章关过不去。过不去也好,至少它不让你骗自己。卷册通关把十二本纪排成关,有人觉得幼稚,我倒喜欢这点幼稚。幼稚能让大人重新像小学生那样一课一课往前走。我抄书时何尝不是小学生。小学生不丢人,丢人的是装成博览之后便不再核对。
地铁图的全屏按钮,是我后来才加上的。侧栏很有用,可有时你只想把时间铺开,让眼睛沿着轨道跑。全屏一开,菜单退下,剩下纯图。那感觉像把书案上的杂物拂开,只留一张长卷。长卷当然仍是数字的,可心意近了。近了,就愿意多停一会儿。多停一会儿,或许就能看见某两个站点之间那点容易被忽略的隔壁关系。读史最怕的,常常是知道得太碎,碎到看不见隔壁。
我也想过,应用会不会把人带离纸书。想过之后仍决定做。因为我见过相反的情形,是有了检索,人更敢翻纸书。敢,是因为知道自己找得到退路。退路一稳,探索才大胆。大胆不是乱翻,是敢走进互见,敢把两传对着读。对着读,才是《史记》真正难也真正甜的地方。太史侍读若能把人推向对着读,它便没有白做。
我还记得自己第一次把知识库里的译文、故事、家谱、纪年往应用里搬的夜晚。文件很多,名字很英文,心里却在翻译成中文。人物生卒年表,帝王在位与年号,卷章公元前纪年对照。翻译这件事本身就像读史,你得先承认材料是什么,再决定它以什么面目见人。见人时若仍满屏英文键名,便像请客人进门却不脱工作服。太史侍读要见人,就得穿中文的衣裳。衣裳可以朴素,不能失礼。
证据问答上线后,我最常测的不是难题,是老实题。谈谈屈原,鸿门宴上谁想杀刘邦,李斯为什么观仓中鼠。老实题最能露出模型爱加戏的毛病。加戏不可怕,可怕的是加戏还不标出处。所以我把阙疑也做成一格。阙疑不是失败,是诚实。诚实在读史里,往往比流畅更稀缺。
有朋友说,你这是把自己的书房开放了。我说开放了一角。真正的书房仍在纸上,在那些写丑了又舍不得扔的手抄本里。嘉州开的头,扬州续的尾,都还在纸页的折痕里。开放的一角,是想让后来者也能少走一点翻检的冤枉路,却仍要自己把路走完。路走完的标志,不是收藏了多少截图,是你合上屏幕之后,仍想去翻一页纸书。若应用让人更不想翻书,那便做失败了。若应用让人手痒去翻书,那便算有了交代。
五帝本纪
器物成了,心还在纸上
做出太史侍读,并不等于我放下了手抄。相反,应用越清楚,我越懂得纸笔贵在何处。屏幕适合对照,适合检索,适合把一百三十篇铺成地铁。纸笔适合慢,适合把一个“沛公起如厕”抄进骨头里,适合在染指与争桑之间忽然会心一笑。两边我都要。
鲁迅评《史记》,有八个字几乎被人说烂了,却仍准。
史家之绝唱,无韵之离骚。
意思就是,它是史家写到极处的那一声,又像没有韵脚的《离骚》。出自《汉文学史纲要》。我把这八个字做成竖排,贴在侍读旁边,不是为了漂亮,是为了提醒自己。绝唱在纸上,器物只是侍立的人。侍立的人若抢戏,便失了分寸。
有时我也警惕。工具一顺手,人容易懒。懒到只看答辞,不点出处,那便回到了雾里。所以我在证据问答里把有据写得很硬,在卷册通关里把存档写得很笨。笨一点好。笨能提醒你,读史仍是你自己的事。
说到底,太史侍读是我送给自己的一件器物,也是写给同好的一封慢信。信里没有承诺涨粉,没有保证读完就能纵横捭阖。信里只有一句反复出现的话,答必有据。有据,则喜。无据,则阙。阙了再去抄,抄了再回来问。如此循环,井才会深。
我喜欢史记,是因为里面有活人。我手抄史记,是因为活人值得慢待。我解读史记,是因为慢待之后仍想与人商量。我做太史侍读,是想把商量时用得上的桌子、灯、目录,先摆好。桌子摆好了,人来不来,是缘。灯亮着,是本分。
回头看这一路,从嘉州喜欢,到扬州日抄,到笺注入库,到草根程序员把侍读做成器物,像是把同一口井越挖越深。井水还是史记的水,井口却从宣纸换成了暗金的界面。我常想,太史公若见今日有人用屏幕去射覆史事,大概不会惊讶于器物,只会问一句,你的出处呢。出处在,侍读便立得住。出处不在,再漂亮的界面也只是灯。
嘉州的夜里有时很静。静到能听见笔尖在纸上走。扬州的夜里有时也很静,静里多了一点江潮的远响。也有时很吵,楼下有车,远处有人笑。吵的时候我仍抄,抄到一段好句子,吵声便退远。做应用的夜晚不同,屏幕亮,日志滚,错误信息像一群不请自来的客。可奇怪的是,当某一页终于跑通,当谈谈屈原第一次带出有据的标签,那一刻的安,竟与抄完一页时的安很像。像在说,今天这口气,没有断。
我把太史侍读做得暗金一些,也有私心。暗,是想让眼睛休息。金,是想留一点卷册的温度。温度不必华丽,够提醒你这不是普通聊天窗即可。聊天窗里可以胡说,卷册里胡说要付出代价。代价就是你自己知道自己在胡说。有据与阙疑并立,便是我给这代价准备的两扇门。有据时请进,阙疑时也请进,只是别把阙疑说成有据。
若有读者问,不会写代码的人,太史侍读与我有何关系。我答,关系或许只在读法。你不必部署它,也可以借用它的脾气。脾气是什么?问之前先想出处。读一篇时记得留下读至何处。看人物时愿意点开别名与互见。看年时写清公元前。这些脾气,纸笔时代一样用得着。应用只是把脾气做得更醒目。醒目了,懒惰会稍稍脸红。脸红一下也好。
史家之绝唱 无韵之离骚
热门跟贴