我的眼睛看世界

2024年04月17日

理发之王

Filed under: 视听 — gcd0318 @ 10:38

这个年代,思想家和艺术家从来都不是一群人,深刻的道理往往都是烂片在传播,就比如这个片,从叙事从拍摄技法从剧本从演员演技各个角度看这都是个烂片,但是它所表达的对科技和人的关系的思考上,却不能说不深刻,只是不知道是因为哪一条众所周知的原因,用了这么个题材来表达——电影都拍不好的人,竟然在讨论哲学?这还真不是开玩笑
剧情呢,也很简单,就是关于人的创造和机器复制之间的关系,这是个自从有工业化生产开始就存在的问题,这个片子放在美发行业的背景下来讲故事:有人发明了一台美发机器,可以通过分析每个人的相貌,计算出最合适的发型,并且内置了各路美发大师的各种技巧,打造出完美的发型。看起来确实是个能提高发廊劳动效率的工具对吧,但是就有人不接受,只是这个理由很牵强,是怕被机器的设计公司控制,失去自身的竞争力。不过剧中也提到了,用这机器的青年发型师李重光,确实因此提高了产出效率,但也因此失去了不少提升技术的锻炼机会。最终,一场人机对决以人获得实质的胜利结束,剧本的设计算是一个能自圆其说的大团圆结局
随着 AI 工具的发展,越来越多行业的从业者在杞人忧天的担心自己会不会被机器取代。我在各种渠道和老文里都提到过,如果一份工作只是单纯的搬运,那就一定会被机器取代,无论搬运的是具体的麻袋还是抽象的知识点,机器只是不善于创造,但是移动复制都是机器的长项。美发行业似乎看起来最难被机器取代的行业之一,因为它的本质是满足人的审美需求,产出的是在物理世界里实质存在的看得见摸的着的东西,但是剧情就是放在这个大背景下去讲,但是这种担忧恐怕是很多行业都有的。我自己就身处 IT 行业,对于 AI 这玩意,我所在的行业既是制造者,也是最早的使用者,因此也便成了第一批感受到冲击和恐慌的行业,一霎时各种所谓的低代码工具全都冒出来了,也有人喊出了以后不再需要程序员这样的口号
有人制造焦虑,自然也就有人真的焦虑,但是焦虑了一年,似乎也没看到什么实质性的变化,大家还是老样子,所谓的低代码平台和编程辅助工具,也基本都是雷声大雨点小,但是大家还是焦虑
造成这种焦虑的因素很多,最重要的恐怕是,太多靠复制搬运挣工资的低端从业者对机器和自己的复制能力有深刻的认识,知道在这个赛道里自己永远不可能打败机器,而同时也有足够的自知之明,知道自己无法切换到其他的赛道去差异化竞争,比创造力不如其他从业者,比复制搬运又不如机器,那么等待自己的只有离开这个行业这一条路
有一个流派的 AI 就是基于大量的数据,不去探索数据背后的深层原因,而是只关注 as-is 的数据关联,从而也可以做出还不错的产品,这就有点类似给小学生讲的故事,蚂蚁搬家说明要下雨,至于为什么蚂蚁搬家和下雨之间有关联,不重要,只要记住这个现象,看到蚂蚁搬家就是要下雨。这样做产品足够了,毕竟没有牛顿的年代里我们也能在树下捡苹果,古代中医就是这么干的。但是现代科学的发展和人类的好奇心却让我们不断探索背后更深层的关联,而这是机器不擅长的,也是人类应该做的事
只有一个问题就是:我们真的需要很多人去做这种深刻的思考和研究吗

2023年12月28日

真理不可轻传

Filed under: 感悟 — gcd0318 @ 16:45

整理硬盘,发现长安三千里看完了没删,删之前又点开看了两眼,就想起李白自称的,自己写诗都是随手写随手扔,十之八九都丢掉了。现在传世的李白诗文加上不同版本疑似伪作,也就一千多一点,这么算来李白起码写过上万的作品,考虑到李白爱吹牛逼的个性,三五千也总是要有的,只是大部分都丢了。可惜吗?也未必,毕竟作品都是依托于作者的性格,只有李白的这个性格才能造就这样的诗文,而李白的这个性格也必然导致作品大量散失的结果,本来也是一体两面的事,总不能像某个江州小吏那样,人还没死就亲自给自己编全集,反复修改,还誊抄好几个副本到处保存生怕失传,真数据备份的先驱
如果把司马迁当成历史学家,那肯定是有大问题的,但是把他当成小说家,那么酷爱胡说八道编故事就反倒成了优点。司马迁还有一点好处就是,起码底线是有的,写一家之言的目的也不是扬名立万,而是藏之名山,传之其人。周某人说这是封建时代的作法,到了上世纪二三十年代已经不再流行,岂不知中晚唐就已经有人在实践了
这就让我想起大学时候的一位老师,讲课专喜欢挑注释挑课本上推荐阅读的这些小字部分去讲,用他的话说就是,大字部分自己看都能看懂,小字里面藏着更深刻的道理,那才是需要老师教才能理解的。无独有偶,还有一位曾带我读书的前辈先生也说起过,他的老师喜欢把一些最重要的东西写在不起眼的地方,所以他读老师的文稿就特别仔细。当时我还年少无知,傻呵呵的问,如果被学生忽略掉了怎么办,先生说,那就说明这学生不配学到这些重要的学问,这些学问就活该要失传。后来我看武侠小说,越是各种高级的秘籍,越要藏在隐秘的地方,就忽然理解了这种一百年前早已不流行的作法,就像是入门的考试,只有克服了一系列的困难,才能证明有更进一步学习的资格。这个套路在动画片里常见,比如中华小当家进阳泉酒家,更直接的是金米进大林寺,老师傅还担心他过不去入门的考试,而主持大师却说,如果他是这个材料,一定能考上,如果不能通过,那就说明资质不够,不是我们要找的人
也大概是因此吧,有时候我也会故意埋一些皮很厚的哏,静等着有人看懂了,和我一起偷偷一笑。当然了,大部分时候这种包袱都是不响的,那也无所谓了

2023年12月11日

闲扯一个橙子

Filed under: 故事 — gcd0318 @ 22:26

吃完饭没事,看到桌上有橙子,就想吃,但是水果刀被猫蹭过,要洗过才好用,我又实在懒,所以手剥橙子来吃。挺酸,勉强吃了心里不服气,又见另一种不知道是橙还是柑的水果,比刚才的橙子小点,但也是很难剥皮,所以又费劲不小。不过这小的倒是很甜
突然就想起晏子春秋里讲的“橘生淮南则为橘,生于淮北则为枳”,也便顺便想起了这句话在我这里的几次反转。很多人应该都是在小学课文里知道这句话的,剧情呢,太过家喻户晓,我也就不掉书袋了。小学课文里当然是讲晏子很机智,我也就这么接受了若干年
但是后来吧,大概是到了中学,生物课讲了门纲目科属种,我就突然好奇,查了一下橘和枳,却发觉这俩根本不是一种水果,在生物学的分类上很接近,同属不同种,所以其实应该不存在什么产地不同水果就变了的事,这就好像尼安德特人不可能换个地方生存就成了智人吧——我也不知道能不能,但就算能,应该也不是肉眼可见的时间尺度内能完成的,橘枳应该同理
但是这里就有有个问题就是,橘和枳都是南方水果,理论上楚人应该很熟悉才对,而晏子是山东人,一个山东人拿对南方水果的误解和楚人逗咳嗽居然还赢了,这事怎么就这么不对劲呢
这事吧,有几种可能。比如,可能是楚王不和他一般见识,因为毕竟楚王听晏子说淮南淮北一番话后,是嬉皮笑脸的道了个歉的。齐是老牌的诸侯,楚也是大国,晏子时代的楚王应当在康昭之间,具体这次晏子见到的是谁我就没查过了,但是这几任楚王哪个都不太软,但也都不小气,不是那种玩赖的人。但也还有个可能就是,因为这事出自晏子春秋,换句话说是专业记录晏子事迹的书,曾经这本书的真假都有争议,一直到汉墓里出土了一本,说明起码不是汉朝以后的人造假,至于是不是战国就有假的,那就不好说了。而且给谁写书不得写过五关斩六将呢,那庄子里的故事还都是惠施被庄子说的哑口无言呢,所以没准这事就是编的
一直到,后来,我大学的时候,没事乱看书,看到考工记有一句“橘逾淮而北为枳”,才觉得触目惊心,原来这事不一定是瞎说,即便橘和枳不是一种水果,但是古人是真的当它们是一回事的,所以山东人完全可能说出这种话而南方人也认可,因为这个误会在当时是公认的
不过后来我就琢磨吧,周礼这玩意的来头,也是扑朔迷离,都说是出自周公,但是无凭可查无据可靠,好像最早只能追溯到汉书里的几句话,说是汉武帝时代在什么山洞密室之类的地方发现,然后成为机密档案,一直到刘向才开始研究,所以这玩意的来头,实在是……呵呵了
说到这,就突然想起所谓的晚清神书——好吧这是我瞎给起的名字,不知道学术界有没有给这些书起个专门的名字,大致就是,晚清到民国期间,突然有好多来历不明的神奇的书出现,其来头大部分都是什么,家里祖宅几辈子没打扫过,突然想起来装修一下,结果在房梁上发现一本书,还有家里牲口棚柴火垛不知道放了多少年没有清理过,突然心血来潮翻开一看,底下埋着一本书,而这些书的内容大都神秘莫测,有各种闻所未闻的“史料”,大抵是什么赵光义因为和花蕊夫人有一腿所以醋海生波杀了宋太祖赵匡胤之类这个水平的异闻奇谈。这事的真假暂且不论,也不必论对吧,但是就这个套路,这个模式,熟悉不熟悉?眼熟不眼熟?提个醒,古文尚书是怎么发现的
明白了吧,哈哈哈

2023年10月25日

大模型的未来是垂直领域大模型

Filed under: 工作衍生 — gcd0318 @ 11:07

摘要

大模型的话题还在继续升温,垂直领域大模型也不断受到关注,越来越多人相信它会是大模型未来发展的方向,并且有大量讨论从需求、行业发展、应用等角度阐述垂直领域大模型,但是从理论角度来理解这个趋势的介绍却比较少。大模型应用向领域垂直化发展的趋势,是否有其必然性?又或者垂直领域大模型也只是大模型众多应用尝试中的一种,也要在千军万马中努力争取成为挤过独木桥的幸存者?本文就是尝试在这个角度做一些讨论。

这里和下面所谓的垂直领域大模型,特指使用针对特定领域设计的算法训练领域数据得到的大模型,和通过其他方式得到的可能用于专门领域的大模型做对比。

引言

上周百度的发布会引出了关于《决定大模型未来的,为何是原生应用》、大模型如何商业化产品化、应用前景到底如何的讨论。由于文章较长,我就没有麻烦文心一言和 chatGPT 来帮忙摘要,而是人肉浏览了一遍,大致是说,大模型要和已有的应用功能结合,比如使用大模型的 NLP 能力让地图导航的交互更便捷,更拟人,而不是让大模型去导航,导航仍然是地图的功能,大模型只是让这个功能更好用。这样让上帝的归上帝,凯撒的归凯撒,功能归 app,交互归大模型,“当越来越多AI原生应用改变人类生活,人工智能造福于人类的美化愿景才能真正实现”,AI 技术也才能实现自我造血,可持续的发展下去。

我和几位奋斗在 AI 教学和科研战线的老同学在闲聊中也说起过类似的话题,由于师出同门,所以大家在观点上都有很明显的传统学院派倾向,对大模型的态度和工业界有很大的差异,都认为大模型对 AI 学科的最主要贡献就是引流,吸引资本和眼球,提升 AI 的关注度,用来拉经费用的。

其实早在年初 chatGPT 刚火的时候,就有 AI 领域的资深研究者表达过类似的态度。比如前 MSRA 的 NLP 负责人周明博士就在一次讨论上说,chatGPT 在他看来最大的意义在于,让 NLP 进入公众视野,让更多人知道他们这些 NLP 研究者干的事是有用的,并且调侃说,chatGPT 最大的实用领域有两个,一是青少年教育,因为知识内容固定,不需要定期更新,再就是陪老太太聊天,什么电视剧主角是谁之类的话题,反正说错了也无所谓。这种半开玩笑半无奈看似漫不经心,但是又有多少实话是夹杂在不经意间说出来的呢。

今年各个行业都被 chatGPT 迷住了,都想用大模型,纷纷投入资源,也有各种大模型纷纷出炉,但是像 chatGPT 这种通用大模型在每个行业领域内的表现又确实很一般,因此通用大模型火了大半年,还在继续火,而同时服务于特定领域的大模型越来越被关注。也有人在问,有没有可能,随着大模型的不断发展,越来越大,会出现一个更好的超级大模型,能够驾驭所有行业的垂直领域,到那一天,现在花在领域大模型上的投入就全都打水漂了。

超级大模型的想法,很美好,所以只能是个想法而已。且不说有没有人真的去干这件事,会不会得到各个行业的配合,能否收集到充分的数据用于训练,需要多少算力和能源,单说理论上,这个事就不成立。

美好的超级大模型

模型无论大小,都还是一段程序,仍然没有超越算法和数据。通用大模型的数据都是通用数据,领域专用的数据较少,因此也不能指望它们对特定领域能达到什么深度,这就像只接受通识教育的人不会成为行业专家一样。也有人认为,对于已有的大模型,如果用更多行业更多领域更多数据去训练大模型,是不是会得到一个全知全能的大模型?或者即便全知全能的代价太高,如果只保留现有大模型的代码,把数据替换成某个特定的领域,是不是就可以获得新的大模型?

答案可能有点悲观——这就要从算法领域的一个常识说起。

没有免费的午餐

算法领域有个常识,就是 NLF:No Free Lunch(Wolpert,1996;Wolpert and Macready,1995)。NFL 的逻辑其实很直接,简单说就是:因为算法的确定性,所以算法无法避免归纳偏好,同时问题也是有倾向性的,如果把算法无差别的用在所有问题上,就会发现,所有算法的平均水平都一致——简单说就是,你深思熟虑,我都选 C,只要考试题足够多,咱俩的成绩就一样,谁也没比谁更差。

—————————— TLDR start ——————————

算法的定义要求每一步的结果是确定的,所以计算机擅长处理确定性的问题,答案非黑即白。但是在实际应用里,一定会有模棱两可的场景,如果进入算法流程,就需要“选边站队”,而且是固定的永远选某一边。最简单的例子比如,折半查找时,遇到元素数量是奇数,正中间的那个元素归前还是归后,排序问题遇到相等是否交换元素顺序。作为算法,不可能这次归前下次归后,也不能随机交换相等的元素,无论选了哪边,都必须永远坚定的选择,不能朝秦暮楚。

这种确定性是算法内在的要求,就像周志华教授在西瓜书里说的,如果算法给出的是随机的结果,那就会导致问题的答案不稳定。而恰是算法内在的这种确定性,导致了算法必然有归纳偏好(inductive bias),永远倾向某一边。而同时,实践里要解决的问题,通常也都有倾向性,我们对于问题的关注角度和预期都有差异。当问题和算法的倾向一致时效果就会比较好,反之就会差。因此选择算法当然有讲究,什么算法针对什么问题,是有规律的,选择算法首先要理解问题。同样,评估模型质量首先也要考虑算法的偏好和问题的倾向性是不是一致,是不是选对了算法。当然,这不是说某个问题必须用什么算法,而是选对了算法,可以更大概率更高效的解决问题。

NFL 的证明在各种算法书上很容易找到,不难,但是有点繁,西瓜书里用二分类问题做了个简单的说明。实践里,回归问题可以通过阈值转化成分类问题,多分类问题可以转化成多个二分类问题,所以这种理论问题,只要二分类搞清楚,多分类和回归也就大概能明白。有兴趣可以参考西瓜书 8-9 页的证明过程,我就不抄了,大致说一下思路:

  1. 算法就是建立问题到答案的映射关系,对于二分类来说,就是一个离散集 U 到 {0, 1} 上的映射。U 和 {0, 1} 之间实际的相关性记为映射 f: U->{0, 1};
  2. 通过数据划分的方法,选定 U 的真子集 X 作为学习样本,通过学习算法 L 拟合出映射 h: X->{0, 1},h 就是通过算法 L 训练得到的模型。所谓好模型,就是 h 尽量贴合 f;
  3. 对 h 进行验证,计算在每个 (U-X) 内的元素上 f 和 h 的差,也就是看 h 对那些在训练中没有用到的数据的表现,然后和 f 去对比,然后取平均,也就是计算每个元素上 h 和 f 的差的平均值,得到平均误差;
  4. 化简 h 模型和 f 的平均误差的表达式,发现表达式中不包含变量 L,说明 h 和 f 的平均误差和算法 L 无关。

因此可以说明,所有算法的平均误差都是相同的。

—————————— TLDR end ——————————

基于 NFL,如过把算法用在所有的问题上,那么所有算法的平均表现没有差别,也就是说,一个算法如果在这类问题上有优势,也就一定在其他问题上有弱点,从而达到总体平均误差在一个水平上。归纳偏好和问题的倾向性匹配的时候效果好,不匹配效果差,算法偏好和问题倾向的匹配程度会影响效果,所以有的算法就是适合且只适合某些类型的问题。这也很符合我们日常的经验,当算法偏好和问题倾向不匹配的时候,就很难效果好,这个“难”可能体现为结果不被接受,P / R / A 差,训练调优成本高,效率低等多种形式。

NFL 字面直译是“没有免费的午餐”,但我总觉得要表达的不是这么个意思,不妨翻译成“效果守恒”——出来混迟早要还,收之桑榆失之东隅,谁也别想占便宜。所以西瓜书也反问:是不是“被一盆冷水浇透了”?

幸好 NFL 针对的是各种算法面对不同类型问题时候的平均表现,而且有个大前提是,假设各种问题的出现几率是平均的。很多对 NFL 的滥用就是因为忽略了这一点,我们要解决的问题,并不是平均的,总会有出现概率的差异,或者重要性的差异。换句话说,NFL 的成立所要求的前提条件在现实中并不存在,或者至少是被回避掉了,而对于足够复杂的问题,本来也不应该幻想能得到“既要又要我还要”的答案。因此在各种教材里,提到 NFL 都是作为“算法服从问题”的理论依据,所有 ML 圈的人都在念叨“没有最好,只有最合适”的口头禅,我以前做模型质量、算法评估和机器学习测试的时候也不断提醒自己以及一起工作的同事,一定要先想清楚问题是什么,我们需要什么,关注什么,再来讨论模型和算法。

但是即然总误差相同,那也就意味着如果追求局部误差减小,就必然放大其他部分的误差——同理,放大局部的误差,可以实现另一部分误差的缩小。对于看似不太好的算法,也可以反思它适合什么场景,而不是一棍子打死。凤凰熬汤不如鸡,但凤凰存在的意义本来也不是作为食材。

超级大模型 vs 领域大模型

回到前面的问题,例如 xxGPT 即然在某些方面有短板,各领域能力类似下图,这种不均衡是不是可以通过增加数据类型、调整训练算法的方式来补齐短板?

想法很美好,即然在某个领域技能偏弱,就增加这部分数据重新训练。但是根据 NFL,适合训练 NLP 的算法,未必适合训练编程,适合训练逻辑模型的算法,也未必适合训练计算模型。所以增加数据的同时,就也要调整算法。于是,在数据和算法都更新,兼顾了各方面后,得到了没有短板的全能大模型 almightyGPT:

这种模型,用 90 年代末叛逆青年韩寒的话说就是“全面发展,全面平庸”——任何领域都挺像那么回事,但也就只是那么回事。这种大模型,如果遇到转门针对某个领域的模型会怎样?比如,针对艺术领域的算法和数据训练 artGPT:

很显然,别的领域可能 almightyGPT 有优势,但是至少在艺术领域,artGPT 可以站稳脚跟,妥妥打赢 almightyGPT。同理,其他领域的专用模型也可以稳赢。最终结果就是,在每个细分领域的战场上,almightyGPT 都有一战之力,但也只限于一战而已。那么 almightyGPT 的生存难度可想而知。

当然了,almightyGPT 可以增加投入,引入各领域的数据,但还是由于 NFL,不能单纯的“去子留母”,而是连算法也要更新,才能得到进化版的 almightyGPT+:

没错,全面碾压其他的各种 xxGPT,但这一定是以增加数据增加算力为代价的,只要其他模型调整算法,用同样的算力,扩充某个特定领域数据,仍然会出现单项超越——换句话说,只要大家烧一样多的钱,针对特定领域的专用模型在专业领域里仍然还是能打赢通用模型,偏科胜全才。

所以这显然不是一条能保持优势的路。与其补短,不如避短,训练模型只针对特定领域,使用模型只针对特定问题。想通了这个,也就回答了前面的两个问题:为什么不会有全能大模型?是不是换了数据训练出的模型就能用于其他领域?

确实悲观。

但是这里有个逻辑不严谨的地方就是,大模型的算法也许很清楚,但是当数据量增加,参数增加,神经网络的深度增加,而且增加到现在找个规模,甚至未来还会继续增加,这时算法到底干了什么,已经没人知道了。也是因此,学院派对大模型的某些也反应就很正常了。

专门训练 vs 微调

还有一种很流行的思路是,随着通用大模型可接受的输入越来越大,是不是可以使用语境学习(ICL)的思路,通过微调(SFT / PEFT / RLHF 等)提升通用大模型在垂直领域的表现?

说实话,我还没仔细查相关的研究和实验,但是按照日常的直觉,隐约觉得还是专门设计的领域大模型会胜出,毕竟,领域大模型可以从预训练阶段就开始建立知识,而微调只能依托在现成大模型已有的基础上加强,这就相当于“用你的爱好挑战别人的饭碗”,如果不是天才,一定输的很惨。

当然了,这不是说微调没意义,毕竟这是获得一个可以用于特定领域的大模型的比较快速的方式,如果对特定的领域,只是需要让大模型来扫个盲,入个门,那微调的结果也差不多能应付,如果遇到个客户说就想要这个,那也不必和客户较劲。不过要解决学科和行业真正有难度的问题,还是需要专门训练的领域大模型。微调只是成本低,不是效果好,皮鞋扎几个洞当凉鞋穿,那就是凑合应个急,也不是不可以。

对未来不负责任的畅想

大模型各司其职

基于以上,我们对大模型的态度和使用方式也就有了。以 chatGPT 为例,处理数学应用题就是 chatGPT 的弱项之一,曾经就连简单的鸡兔同笼都能让它胡说八道。但是值得注意的是,无论问题回答的多么离谱,chatGPT 都能一直保持着一种有来有回的对话,并没有像 TayTweets 那样丧失优雅的交流方式,因为毕竟 NLP 是 chatGPT 的相对舒适区,chatGPT 擅长的还是在 chat,而不是解决具体学科领域内的问题,虽然 chatGPT 每个版本升级都在增加数据增加参数增加迭代增加自由度增加算力,但是仍然存在相对的短板。

所以很多行业都在研发自己的大模型,让别人解决共性问题,我们解决特性问题,不重复制造轮子。比如彭博社推出的面向金融的 BloombergGPT,学而思的 MathGPT,北大的 ChatLaw,都是顾名思义就知道是什么垂直领域的大模型。同样的,编程有著名的 Copilot,那么当然也需要有专门为 BA 设计的 chatBA,专门做测试的 qaGPT。

对于广大各行各业的用户来说,对于大模型的需求就是只要自己本行业本领域内表现好就行了,股票大模型不需要会给恐龙化石做分类,通用大模型的某些能力用不到,却还要为此买单,岂不是心里很不爽?更况且垂直大模型的训练成本应该也远远低于通用大模型,甚至当前很多领域都还在数据建设阶段,现有的数据仓库数据湖的主体都还是传统数据结构,可能根本也没有那么多可用于训练的数据。

因此大模型的发展方向一定不会是一个或者一类综合的超级全能大模型,而是多领域大模型的组合。NLP、计算、逻辑等基础能力可能会被某些机构和组织垄断,形成“基础模型提供者”,而更多的厂商会去竞争不同领域内的模型,就像操作系统和应用软件的关系,通识教育和专业教育的关系。例如 chatGPT 的强项在于 NLP,就专注做交互,作为前端接收用户的问题,然后分配给对应的领域大模型,必要时领域大模型还可以调用 app 的功能,最后汇总结果,NLP 根据情景遣词造句,生成合适的输出返回给用户。与其担心随着通用大模型的发展,花在垂直领域的资源打了水漂,还不如反过来考虑一下,如果有 Windows、Linux、Oracle 这种级别的基础能力大模型出现,花在通用大模型上的资源是不是打了水漂。实际上李飞飞等一大批学者早在两年前就在《基础模型的机遇和风险》(On the Opportunities and Risks of Foundation Models)中对大模型的同质化提出了警告。

甚至随着需求的进一步提出,还会对每个垂直领域继续细分,比如 Copilot 继续细分出 Copilot-Python 和 Copilot-Java。对于程序员来说,这当然是个好消息——我指的不是 Copilot 会持续的进化,而是,只要人类还在继续提出问题,就一定需要专门的模型去解决这些问题,所以程序员需要持续技能进化,要做的事情一定越来越多。

失业的只是不能与时俱进的码字工。

无惧泡沫

AI 自从 50 年代提出概念,发展至今几起几落,每次的节奏完全一样,就是“技术突破 – (被)画大饼 – 资本涌入 – 没有产品 – 凉凉”循环上演。如今这个风口可以追溯到三十年前的深蓝。在过去的一年里 GenAI 和大模型火爆,的各行各业都表现出了浓厚的兴趣,纷纷畅想如何使用 chatGPT 为代表的各种大模型工具,然而接近年底,仍然罕见一个真正影响某个行业的成功实践案例,再加上因为众所周知的原因,很多行业如今都没有余粮,如果再不趁热解决产品落地的问题,早晚还是回到新一轮的圈圈里。

80 后应该都对 90 年代末的互联网泡沫记忆犹新,当时也是出现了一大批“风口上的猪”。但是随着泡沫破裂,整个进入了多年的萧条。这其实是无法避免的,互联网在当时就是个新生事物,所有人都知道这将是一件强大的工具,但是没人知道该怎么使用它,因此当时那些雨后春笋般创业的公司,本质上就是气球里的大量分子在不同的方向做布朗运动,谁也不知道气球什么时候能被突破,突破口在哪,大家都在做各种尝试。所以泡沫对于互联网也未必全是负面影响,至少它让所有人认识了互联网,经过洗牌也孕育出了第一批互联网巨头,培养了从业者的技术兴趣,也摸索出了互联网的打开方式。

同样的剧情在电子商务、移动互联网、o2o 也都出现过,在 AI 领域的前几次浪潮里其实也在反复上演,只是 AI 的气球始终没有被突破。

大模型会捅破这个气球吗?

最后

NFL 简单说就是有强项必有弱点,这太像日常生活的经验了,简直让我有种“一切都被按照 NFL 设计,包括人类”的恐惧感,甚至怀疑它不是真的。曾经也确实看到过一篇文章,大致是说算法理论有新突破,会打破 NFL。当时没仔细看完。粗略浏览,但是由于根深蒂固的对 NFL 的信任,导致我也没仔细盘一下作者的思路。当时没保存,写这篇的时候想回顾一下,但是再搜又找不到了。

知识越多的人总会越趋向保守,对陌生的观点有本能的排斥,更愿意相信能看懂的东西,从而保持自身在体系内的位置,因此才有了“无知者无畏”的说法。而机器可以调整算法,更快吸纳新数据,重塑模型,这大概是人类学习最难超越机器学习的方向吧。

2023年10月16日

玩大模型别忘了 NFL

Filed under: 科普 — gcd0318 @ 21:48

最近和几位奋斗在 AI 教学和科研战线的老同学闲聊,明显感觉到传统学院派对大模型的态度和工业界有很大的差异。在学术界看来,大模型对 AI 学科的贡献就是引流,吸引资本的眼球,提升 AI 的关注度,用来拉经费用的。所以我们就以 chatGPT 为例,聊起了它的作用,在学术界看来,这东西能干啥。在讨论中,有个概念被屡次提到,就是 NLF:No Free Lunch。因为基于 NFL,模型有优势,就必有劣势,这也符合事物两面性的规律,所以这么多行业突然关注 chatGPT,认为它有用,难道它不符合 NFL?这就引起我再来看一下 NFL,是不是有什么误解。
熟悉 ML 的人不可能不知道 NFL,因为它确实被广泛使用,甚至是被过度的使用。曾经我也基于这个定理做了不少引申,但是渐渐越来越觉得,有些引申是不是过头了。所以想把这个问题拿出来反思一下,到底出于怎样的误解导致了这种滥用。

NFL(Wolpert,1996;Wolpert and Macready,1995)的逻辑其实很直接,简单说就是:因为算法有确定性,所以算法无法避免归纳偏好,同时问题也有倾向性,所以归纳偏好和问题的倾向性匹配的时候效果好,不匹配效果差,如果无差别的用在各种问题上,对误差求平均,就发现,所有算法的误差平均值一致——简单说就是,谁也没比谁更差。

—————————————————————————— TLDR start ——————————————————————————
稍为展开几句:
算法的定义要求每一步的结果是确定的,所以计算机擅长处理确定性的问题,答案非黑即白。但是在实际的问题里,一定会有模棱两可的问题,如果进入算法流程,就需要一个“选边”,而且是固定的永远选一边。我们经常听“法外狂徒张三”说的所谓刑法“疑罪从无”原则,就是这种类型的选边,所以从逻辑(不是实践)的角度,也可以构造出“疑罪从有”的刑法体系——那就太可怕了。这种机械的分类,是算法内在的要求,就像周志华教授在西瓜书里说的,如果算法给出随机的结果,那就会导致不稳定。
而恰是算法内在的这种确定性,导致了算法必然有归纳偏好(inductive bias),永远倾向某一边。而同时,实践里要解决的问题,通常也都有倾向性,当问题和算法的倾向一致时效果就会比较好,反之就会差。因此选择算法当然有讲究,什么算法针对什么问题,是有规律的。所以选择算法首先要理解需求,同样,评估模型质量首先也要考虑算法的偏好和问题的倾向性是不是一致,是不是选对了模型。当然,这不是说某个问题必须用什么算法,而是选对了算法,可以更大概率更高效的解决问题。

NFL 的证明有点长,西瓜书里用二分类问题做了个简单的模拟。实践里,回归问题可以通过阈值转化成分类问题,多分类问题可以转化成多个二分类问题,所以这种理论问题,只要二分类搞清楚,多分类和回归也就大概能明白。有兴趣可以参考西瓜书 8-9 页的证明过程,我就不抄了,大致说一下思路:
对于一个离散集 U 到 {0, 1} 上的映射 f: U->{0, 1},给定 U 的真子集 X 作为样本,通过学习算法 L 拟合出映射 h,希望 h 尽量贴近 f。计算在每个 U-X 的元素上的 f 和 h 的差的平均值,得到 L 的平均误差。通过计算,L 的平均误差的结果,和 L 无关,也就是,所有算法的平均误差都是相同的。
—————————————————————————— TLDR end ——————————————————————————

算法偏好和问题倾向的匹配程度会影响效果,这也很符合我们日常的经验。如过我们把算法的意义还原到“完成目标的工具”,那么,每个工具有各自适用的场景也是理所当然的事,工具箱不能只有锤子,然后把一切都当成钉子,这显然是不对的,就好像专业摄影师都有一柜子镜头来应对各种拍摄场景,每个镜头就是一种算法,拍摄的场景和题材就是要解决的问题,虽然没有固定的什么镜头拍什么题材的规则,但是哪个焦段的镜头更适合什么题材,更容易出好片,确实有规律可循。
当算法偏好和问题倾向不匹配的时候,就很难效果好。这个“难”可能体现为结果不被接受,pre / rec / acc 偏低,也可能是训练和调优的成本高,效率低——当然了,被上帝亲吻过的金手指不在讨论范围内。因此可以认为,每个算法都有擅长的领域和不擅长的领域。那么如果用相同的算法处理所有的问题,会怎样呢?答案就是 NFL:都一样。
这就像摄影师永远用同一支镜头拍所有的题材,那自然会遇到难以驾驭的场景,太远的够不着,太大的装不下,无论长焦广角,都会有捉襟见肘的时候,每个镜头只在某个场景下出的片最好,晴朗的户外,手机也能压过单反,这就是 NFL 要说的事。之所以存在那么多算法,就是因为每个算法都有擅长和不擅长的领域。之所以存在那么多编程语言,就是因为……好吧就算 php 是最好的语言

NFL 虽然字面直译是“没有免费的午餐”,但我总觉得要表达的不是这么个意思,我觉得不妨翻译成“效果守恒定理”,出来混迟早要还,失之东隅收之桑榆,谁也别想占便宜。所以西瓜书也反问:是不是“被一盆冷水浇透了”?
幸好 NFL 针对的是各种算法面对不同类型问题时候的平均表现,而且有个大前提是,假设各种问题的出现几率是平均的。忽略这一点,就是导致滥用 NFL 最常见的原因,因为我们要解决的问题,并不是平均的,总会有出现概率的差异,或者重要性的差异,换句话说,NFL 的成立所要求的前提条件在现实中并不存在,或者至少是被我们回避掉了,我们要解决的问题从来不是这么平均。还以前面镜头的例子来说,比如今天拍摄题材是室内人像,如果只带一支镜头,那么摄影师大概率会选择 50mmF/1.2、85mmF/1.2 或者百微这样的镜头,而不会是超广角或者长焦镜头(除非有特定的艺术创作思路,大师有特例)。

因此在各种教材里,提到 NFL 都是作为“算法服从问题”的理论依据,所有 ML 圈的人都在念叨“没有最好,只有最合适”的口头禅,做模型质量评估和机器学习测试,首先要想清楚的也是问题是什么,关注什么。但是 NFL 的原始表述其实是说,所有模型的总误差相同。即然总误差相同,那也就意味着总体误差是零和的,如果我们追求局部误差减小,就必然放大其他部分的误差——其实也同样意味着,放大局部的误差,可以实现另一部分误差的缩小。三国演义所谓的“利于水者必不利于火”,藤甲兵也是通过油泡古藤,放弃对火的防御力,换得了坚硬和防水技能点爆表。我以前做算法评估和模型质量的时候也不断提醒自己以及一起工作的同事,一定要先想清楚问题是什么,再来讨论模型和算法,有所长必有所短,所以要扬长避短,而不是盲目补短。同理,对于看似不好用的算法,也可以反思它适合什么场景,而不是一棍子打死,凤凰熬汤不如鸡,但凤凰存在的意义本来也不是作为食材。
这个结论其实也符合我们日常的直觉,就是不会有一件大杀器能够解决所有的问题,瑞士军刀功能多,但是干什么都比不了专用的工具,用一个更直接的比喻来说,就是韩寒在 90 年代末作为叛逆青年提出的“全面发展全面平庸”,认为能投入学习的精力有限,如果什么都学,结果就是什么都一般般。如果仅从实用角度,他似乎也没大错,现实的问题都有其领域,在基本的通识基础上,就应该每个人各有擅长,用人用其长处,专家型社会就是需要偏科的人才,只不过当时的主流教育界把这个偏科的时间点放在了高二以后,而韩寒认为可以提前到初二。

想通了这个,可能会影响我们对 chatGPT 的态度和使用方式。chatGPT 也应该不会超越 NFL,对于有些问题 chatGPT 可能处理的非常好,但是有些则不擅长,因此当我们需要利用 chatGPT 去处理弱项的时候,就需要各种设计,把问题转化到它适宜的领域,或者借助其他的工具。例如 chatGPT 处理数学应用题是弱项,曾经就连简单的鸡兔同笼都能让它胡说八道。但是如果我们把数学题变成编程题,让 chatGPT 给出代码,情况就会有(不足够敏锐就察觉不到的)一点好转。

但是值得注意的是,无论问题回答的多么离谱,起码 chatGPT 仍然保持着一种有来有回的对话,并没有像 TayTweets 那样丧失优雅的交流方式。毕竟 NLP 是 chatGPT 的相对舒适区,chatGPT 擅长的还是在 chat,而不是解决具体学科领域内的问题。这很可能就是 NFL 的表现,就好像马戏团的演出犬,和导盲犬、搜救犬、军犬、警犬的训练方法和要求,各自肯定都不一样,导盲犬的某些训练要求,可能对于马戏团来说根本不需要,让军犬去执行搜救任务,大概效果也不见得好于搜救犬。chatGPT 在 NLP 领域的技能点很高,也就意味着必然有些其他领域拉垮,如果要保持 NLP 等优势技能不降的同时提升其他诸如数学、逻辑等当前的弱项,那除非打破前面的总前提,继续增增加各种资源,提升技能点的总数,相当于警犬和宠物狗比较,肯定各维度都领先—— chatGPT 每个版本升级都在增加数据增加参数增加迭代增加自由度增加算力(虽然并不明确算法到底有没有更新),但是仍然存在相对的短板。所以有很多行业正在研发自己的大模型,比如彭博社推出的面向金融的 BloombergGPT,学而思的 MathGPT,固然都有蹭热度之嫌,但也是这些行业对于大模型的一种应用思路。

回到 NFL,即然无论怎么调优,算法结果的平均期望四舍五入约等于“都选 C”,那么 ML 还要不要搞呢?答案显而易见,毕竟,不会走的表一天可以准两次,慢 5 分钟的表从来都不准,但是哪个更有用呢

2022年05月24日

一个 fault injection 测试的三次演化

Filed under: 工作衍生 — gcd0318 @ 13:29

TLDR

fault injection 测试通过制造故障,并收集系统的运行状态和功能表现,判断系统在故障场景下持续提供服务的功能稳定性。出于某些需要,我做了一个这种有点偏门的测试,测试的场景是各种硬件和环境错误。最开始的测试甚至都不是自动化的,渐渐写了几个脚本,形成了自动化的流程,再增加测试场景。具体的测试场景可能很小众,但是其中却也用到了一些相对大众的方法。都是做测试,总是会有共性的地方吧。

0,程序员的玩具

这年代,大家手里都有点到此一游的照片,蓝光 4K 的电影,无损的绝版音乐之类自己很珍惜的数据,这些东西很快就会塞满一块又一块硬盘。硬盘总是有寿命的,虽然不值钱,但是数据无价。所以在坏了几块硬盘,损失了十几 T 数据,手工 copy 总是搞不清楚数据在哪之后,我终于写了个基于 syncthing 的数据备份。

简单描述一下这个小玩意吧,就是 n 个节点组成集群,节点间数据互相备份,无论哪个节点的硬盘坏了,都可以保证整个集群内至少有一个副本还保留着,并且能在其他节点上补齐副本的数量。数据的复制由 syncthing 完成,我的代码只负责决定什么时候把哪些数据的几个副本复制到哪些节点上。

硬件:

  • 古老的 cubieboard2 开发板,有 sata 接口和有线网,没有 wifi,两个 USB 2.0,一个接 U 盘,一个接无线网卡(如果是双卡版会更好,可以省下一个 USB 口);
  • u 盘,暂存新数据;
  • SATA 磁盘,保存副本数据;
  • 有线网,节点间数据复制;
  • 无线网,各种外部连接、登录和 api。

基础软件:

  • Archlinuxarm,滚动更新;
  • syncthing,节点间数据复制;
  • redis + zk,维护文件的副本分布关系表和各节点的基本信息(不得已的选择,一直在想办法换掉);
  • nginx,暴露 api,提供每个节点的 heartbeat 和状态参数。

我的服务细分有五六个,真正做事的只有两个:

  • meta,维护自身数据,比如运行状态,磁盘容量,节点间关系,上报到 redis;
  • ctrl,确定 U 盘里暂存的数据的每个副本要分配到哪些节点。

现在有四个节点在运行,每个节点的软硬件完全一样。我尝试写过前端,但是我的前端实在不灵,也尝试过用一些日志和结果工具,但是没耐性仔细研究。而且出于对命令行的执念,我一直用命令行玩的也挺开心,所以前端就基本上一直没动作,一直就是个 CLI 工具,唯一的 GUI 就是 syncthing 自带的 web 界面。

1,墨菲说,能坏的都会坏

hint:即使是 TDD,也不意味着写出来的代码没有 bug,代码实际运行的条件永远比开发的时候想象的更恶劣,因此在测试中有必要发挥想象力,给代码更苛刻的测试环境。当然,这一切都有个限度,这取决于这段代码所承担的功能到底有多重要。密码学领域有句话,安全的加密就是破解的代价大于密码本身。同样的道理,测试到底要进行到什么程度,就取决于代码的价值和测试的代价。

代码有了,没测试肯定不行,否则怎么知道备份运行的靠不靠谱。我最担心的就是各种故障,所以制造了一些故障的场景,这就有了最原始的 fault injection 测试。其实测试场景都很简单,就是各种故障,目前我只考虑了以下几种:

  • 磁盘故障:U 盘,SATA 硬盘;
  • 网络故障:有线网络,无线网络;
  • 服务故障:syncthing 服务,meta 服务,ctrl 服务,zk,redis;
  • 节点整体故障,比如断电。对于集群来说,这和断网的区别不大,但是对单个节点来说意义就很不一样。

测试通过标准:存储的数据不丢,在其他节点补齐没有完成或者丢失的副本。所以如果出现丢失副本或者副本没有及时补齐,那就是 bug 了。

但是在以下场景,理论上确实无法保证不丢数据,或者补齐副本,因此以下场景不做测试:

  • 数据刚进入暂存路径,没有进入处理流程(但是超时未发现暂存数据是 bug);
  • 数据副本数 <= 硬盘故障节点数,如果数据的几个副本恰好都在故障的 硬盘上,那么丢数据是预料之内的事;
  • 无故障节点数 < 数据副本数,这时候找不到足够的节点存储副本,那么副本无法补齐(但是未发现副本数不足是 bug)。

环境是现成的,用例也有了,就可以开始测试了。我的第一个 case 是硬盘故障,测试方法说出来笑掉大牙,就是直接拔 SATA 线——纯纯的原始社会手工测试。

2,上帝说,要有自动化

hint:做自动化测试,首先要明确有没有可能,是不是必要。测试的场景能否通过代码实现,实现的代价有多大,对应的自动化测试会被使用的频率等。软件研发是工程,没有对不对,只有好不好。所谓好,就是在各方面因素之间找到平衡。自动化测试就要在 ROI 上找平衡,确定自动化的范围。敏捷希望快速响应,强调持续集成,持续构建,持续发布,因此必须有足够的自动化测试来支持,但同时,也是因为敏捷希望快速响应,因此自动化测试的程度必须恰到好处,不能在自动化测试的实现和维护上浪费太多的资源。在这个意义上,项目有多少场景可以方便的实现自动化测试,并且足够频繁的使用,一定程度上也会影响对敏捷方法的选择。如果发现自动化测试的难度大,或者维护成本太高,并且执行的机会较少,甚至自动化测试的 ROI 反而低于手工测试,那要么是代码的可测性太差,要么是这个项目不太适合敏捷的方法。自动化测试只是方法和工具,我们追求的是质量和效率。

这个 fault injection 就很适合自动化测试:

  • 故障场景大部分都可以用各种命令工具来模拟,linux 下有非常丰富的模拟异常的工具,这些是自动化测试可能性的基础;
  • 没有太多的上下文依赖,每个场景都可以单独拿出来测试;
  • 测试的需求足够频繁,完全可以串接进流水线;
  • 测试需要的数据只是各种文件,很容易准备。

基于此,我觉得做个自动化难度不高,而且效果明显。模拟大部分故障的方法都很简单:

  • 磁盘故障:这部分方法非常多,比如把磁盘设备配成 /dev/full 模拟磁盘写满,通过设置 /sys/block/sdc/device/timeout 模拟磁盘超时,配合 dmsetup 设置超长延迟,也就相当于磁盘不可读/写。例如,设置 /dev/sda 读写延迟 500ms:
  • 网络故障:用 tc 命令设置网络延迟和限制带宽等,设置超长的网络延迟还可以模拟断网。例如,eth0 网卡延迟 100ms:
  • 服务故障:直接 kill 或者 systemctl stop / disable 来模拟服务故障,但是正常退出还是太温和,没有达到测试的效果;
  • 节点故障:直接 reboot 模拟节点失效,但是恢复太快,我尝试过在 rc-local 里增加 sleep,但是效果不好,而且正常重启的破坏性不够。

hint:自动化测试往往需要准备大量的数据,尤其长链路的业务,经常是后面环节的 case 所需要的数据依赖前面环节的操作结果,这时候如果要单独测试一个 case,就需要生成很多基础数据作为支持。这时候直接保存数据就显得很笨拙,不如保存生成数据的 sql 等脚本更符合敏捷的精神。在测试的时候生成数据,测试后清理,这样虽然增加了额外的步骤,但是以代码和文件的方式来保存自动化测试的数据,换来的是维护性的提升和管理的便利,不但便于保存,而且可以纳入代码管理,也便于和 CI/CD 集成。但是有些项目的有些测试场景中,关联的数据库元素太多,导致测试前需要构造大量复杂的数据,牵涉到多个数据库的多个表,甚至外部数据库,那就需要提升一下可测性了,比如必要的重构,重新考虑代码的实现方式,是不是真的需要这么复杂的关联关系。

我的测试数据就是各种大小的文件,我在测试开始的时候通过 fio 来生成文件,因此就不需要准备文件,只保留一些 fio 的配置。而且 fio 生成数据也挺快的,就是可能缩短磁盘寿命。例如,在当前路径生成一个 10M 的文件,文件名为 file10m,命令是:

后面的参数都可以写成配置,比如:

512k1024.fio

我的重点在于快速生成数据,而不是磁盘性能测试,因此没有特别指定缓存并发和 ioengine 等。fio 是个测试磁盘性能很有用的工具,还可以直接写裸盘,可以读写混合,可以选择缓存方式,以及各种其他功能,参数非常丰富,值得更深入的研究。

第一次演化:从自(己)动(手)到自动

hint:大部分自动化测试都是来自手动测试,反复执行的手工步骤最终都会被写成脚本执行。最初的自动化测试往往就是很简单的一些命令,但是能带来很大便利,提高效率,这也是自动化最开始的雏形。尤其在团队里,这个现象更明显。很多项目在研发期间,每个工程师都可能为了自己的使用便利而编写一些准备环境或者功能验证的脚本,都很值得关注。这些小工具分散在每个人的手里,其实也是一种浪费,如果进行收集整合,形成流水线或者 toolkit,在组织内共享,能发挥更大的作用。敏捷强调自动化,在有意识的做自动化的同时,也要关注这些分散在工程师手里的自然形成的自动化工具,鼓励工程师把自己的小工具拿出来。

专项测试的分类其实有点乱,有些类型是基于测试的方法,有的类型是基于测试的目的。自动化测试是测试方法层面的分类,而 fault injection 是测试目的层面的分类,所以用自动化的方法模拟故障,既是 fault injection,也是自动化测试。

一开始我确实几乎都是手工在执行命令,很快就烦了,于是把命令串起来,加上结果收集,就有了最早的脚本。测试的流程也很简单,只模拟磁盘故障,所以流程有两种:

稳定状态下出现故障:

  • 确认集群的状态可用;
  • 触发故障;
  • 等待同步结束或超时,检查副本数和其他丢失的副本状态;
  • 记录结果;
  • 恢复节点故障,再检查一次集群的状态。

同步文件期间出现故障,和稳定状态下的故障相比,在 setup 环节增加了触发文件同步的步骤:

  • 确认集群的状态可用;
  • 在暂存路径跑 fio 生成一组文件,等待副本开始复制;
  • 在副本复制期间触发故障;
  • 等待同步结束或超时,检查副本数和其他丢失的副本状态;
  • 记录结果;
  • 恢复节点故障,再检查一次集群的状态。

通过计算路径的 md5 来判断路径文件一致,计算路径 md5 我做的比较简单粗暴,用 md5sum 计算文件的 md5,通过计算出路径下每个文件的 md5,然后和相对路径和文件名排序后写进临时文件,再计算临时文件的 md5 的方式,回避了路径 md5 计算的问题。例如,把 node1 上 /some/data_path 复制到 node2 的 /another/data_path,那就需要计算两个 ?/data_path 的 md5。计算 data_path 路径的 md5 的方法就是,在 node1 和 node2 上(python 有 paramiko 可以很方便的在其他节点执行命令)分别执行:

这里要注意把路径拆清楚,node1 的副本路径是 /some/data_path,node2 的副本路径是 /another/data_path,因此需要 cd 到各自的 test_path,这样写进 /tmp/some_random_file 的排序后的文件名才是一致的,才有比较的意义。

第二次演化:分离和扩展

hint:自动化工具可以大而全,也可以小而美。大而全的工具无所不能,各种功能应有尽有,不应有的没准也有,都集合在一起,一旦拥有别无所求,但是这种工具往往也很难驯服,需要大量时间精力去磨合,让它完美的贴合项目的需要。而小而美的工具,每一件都专注于一件事,考验的是使用者的想象力,只要能恰当的组合,也有无限的可能性,而且因为是组合的用法,先天就便于结合新的功能。敏捷擅长应对项目的变化,尤其在预判项目的发展方向缺乏绝对把握的时候,搭建自动化平台和技术选型中如果选择了大而全的工具,一旦未来项目的走向超出预期,不得不重新选择工具,就很可能导致前期的投入浪费,也许小而美的工具组合更值得考虑,轻量化,便于拆解和重组,在变化中不至于全部被放弃,也更符合敏捷小步快跑的精神。

最初的自动化测试,就是选择若干节点作为被测试的节点,在上面执行故障模拟的脚本,而且其实也只测试了磁盘失效场景。渐渐的,当我想多测一些场景,增加更多脚本的时候,就需要复制粘贴改命令。这么做很快就觉得不爽了,所以我做了如下的改动:

  • 分离控制机和 SUT,用 python 通过 paramiko 库向节点发送要执行的脚本;
  • 分离配置和测试脚本,专门用一个脚本记录每个节点的相关配置,如 ip、登录信息、路径等,为异构节点保留扩展性;
  • 分离共同操作。很显然,这里有些操作是每个 case 都要执行的,比如测试前检查集群状态,fio 生成文件,测试结束后恢复集群状态,清理测试文件等,因此这些就构成了 setup 和 teardown;
  • 分离选择和操作,选择要模拟故障的节点和设置故障场景拆成独立的两步,这样在选择故障节点的时候可以增加更多的筛选逻辑,比如随机选,按条件选节点(比如当前磁盘最满的)等;
  • 增加网络、开关机等故障的脚本,增加磁盘全盘 / 局部读写延迟以及组合的场景;
  • 增加日志,记录测试时间和场景,case 失败时记录故障。

以上这些分别形成独立的脚本,这就可以自由组合了,比如,在 2 个随机节点上分别模拟磁盘延迟和断网(能实现,但是我没测过,因为我只有 4 节点,这个场景理论上一定会失败)。

第三次演化:按需调度,自由执行

hint:把各种错误场景拆分成独立的操作,并且有识别事故、保存现场、恢复环境的功能,只需要再加上随机调度,就离 monkey test 只有一步之遥了。这都得益于拆分的独立性以及组合的便利性,小工具的美就这样体现出来了。其实有的时候,尝试把旧思想和旧方法组成新的组合,也有可能形成新的方法。

既然各种故障都分离成独立的脚本了,那就可以按照测试场景的需要任意组合,只要前后加上 setup 和 teardown,中间的测试可以随便换。而且实际的故障出现也没有规律,可能出现在单个节点上,也可能出现在多个节点上,因此也要制造随机的故障场景来测试,这就接近 monkey test 了。monkey test 是测试方法层面的分类,所以无规律的模拟故障场景,既是 monkey test,也是 fault injection。

得益于各种操作分离成独立的脚本,随机测试其实做的很简单,不再有用例的概念,只有场景:

  • 判断副本数和故障节点数量,需要满足:故障节点数 < 副本数 <= 正常节点数,例如 4 节点 2 副本的环境下,故障节点只能测到单节点故障;
  • 单独的线程在暂存路径不断生成数据,触发副本同步;
  • 随机选择节点,随机选择场景,排列组合,随机故障,并记录故障的节点、场景、起止时间;
  • 收集同步结果,记录失败场景的时间点。

这里有点麻烦的就是,失败后记录的时间,需要放进故障时间线内,通过对比才能找到失败时的故障场景。这里其实也可以自动化,但是还没有自动化。考虑到 debug 也需要我去查同步的记录,因此也没有增加太多的麻烦,只是 debug 的时候像极了刑警审嫌疑犯,不断的追问代码:9 点 57 分 32 秒到 10 点 11 分 17 秒之间你在做什么,有 log 可以证明吗……

同步记录查起来还是很方便的,syncthing 有 event 的概念,每个文件同步成功后都会形成一条记录,就是一个 event,我在调用的时候也保存了 event,同步结束后就会比较一次,文件和 event 一致才算是同步成功。但是这其实也埋了不少同步 / 异步通信中断 / 阻塞的 bug,每隔几天就会爆出个把,好像总也改不完,让人心灰意冷。不过只要 event 的记录没错,经过比对,还算是可以很方便的看到哪些文件同步失败。

3,和其他测试工具对比

其实我一开始根本没想过要做成一套工具,所以也就不存在和其他测试工具对比的问题,一切都是顺其自然走下来的。其实用其他测试工具能不能做呢?肯定也可以。实际上如果当初我就想到了要做个工具化平台化的 fault injection,也许我就找个测试框架来用了。但是翻回头看看,这个工具本身也确实有些特点吧,比如:

  • 是工具集,不是框架,不内置,不修改脚本内容,只是调度各种脚本,故障模拟都还可以独立运行,保留其他组织方式的可能性;
  • 不依赖测试脚本的实现方式,扩展性更强,兼容更广。模拟故障都是 shell,如果换成其他用例,用其他方式实现,只要能用 shell 执行的,都可以在外面包一层 shell 收进来用;
  • 其实也不是不能 GUI 化,但是我没做。别问,问就是不会;
  • 同理,输出太丑,纯文本。

4,未解之谜

受限于我的知识技能包、时间和精力以及实验条件,其实还有很多该测而未测的场景,以及值得做而没做的实验,比如:

  • arm 上模拟 CPU 受限和故障,我还没跑通;
  • SATA 如何设置更丰富的磁盘故障,我还没找到更好的方法,比如读写慢速和短时间延迟不改路径的实现方式、SATA 没有 SCSI 那么丰富的工具集,SCSI 还可以直接模拟全盘失效,并且方便的扫描恢复,SATA 怎么做我还没查到;
  • 模拟的所有故障都是稳定故障,如何模拟不稳定的故障,比如网络频繁闪断,脚本断网的间隔还是太长了;
  • 如果磁盘本身是 Raid 盘,不同的 Raid 实现方式下会怎样,我还没试过,如果有机会很想试试,但这已经和实用无关了,纯粹只是好奇心;
  • 在 docker 上模拟测试,会不会简化?效果怎样?没试过;
  • 备份服务还会升级,比如异构节点,节点再发现,随时出入集群,同节点多硬盘等,那么数据备份和恢复的策略也要跟着变,到时候怎么测?还没想好。

5,总结

这是一个测试场景比较小众的自动化测试,我的实现过程也毫无章法,最开始并没有想好要形成怎样的架构设计,只是让几个脚本跑起来,就这么开始了,然后丰富场景,一直到现在我觉得几乎可以用来做 monkey test,其实也只是遵循了一些基本的道理。我对架构和设计的理解是 TAOUP 打下的底子,因此这种半盲目的实践好像也并没有走太多的弯路。

  • 敏捷擅长小步快跑,因此对各种自动化的要求,对工具的选择,都需要灵活,身在其中的工程师需要有想象力,发现各种可能性;
  • 细分,做好每件小事;组合,做好一件大事;
  • 利用已有工具简化资源的维护,便于应对变化;
  • 不要想的太复杂,先动手做起来,不必背负太遥远的未来,没有开始才是最大的问题。没想好也不见得是坏事,有时候可能反而不受限制;
  • 自动化不是想出来的,而是用出来的。手动测试做多了,自然会发现无脑重复的部分,于是就有了自动化;
  • 命令行是好东西,纯文本是好东西,灵活简便,还可以合进流水线。

简化,细分,命令行,纯文本,小工具,大组合,这些 Unix 哲学强调的观念,都是无数工程师反复实践过的经验,怎么强调都不过分。Unix 诞生 50 多年以来不断演化,其设计理念和敏捷暗合,可见优秀的工程实践都遵循着类似的原则,这种长久不变的内核,值得多花点力气去学习。

2022年01月31日

四猫斋的故事

Filed under: 生活 — gcd0318 @ 22:55

去年的今天,家里有了猫。因为这些猫,我家就成了四猫斋。虎年到了,说说猫的故事,就算是应景吧
既然叫四猫斋,那肯定要有四只猫对吧,其实四猫斋最早只有两只猫,后来成了六只猫,最后才固定成四只猫。个中缘由其实说来简单,但是好像也没那么简单
妻念叨着要养猫很多年,之前我一直以家里房子太小为理由反对,两个人住都渐显的局促,哪有猫折腾的地方。后来曾有朋友搬家,临时把猫寄养在我家,妻获得了铲屎官的半个月体验卡,之后此心更笃。前年终于换了新房子,妻旧事重提,我还反对,但是好像没什么理由了。直到去年的一天,妻和我大吵了一架,忘了是因为什么事,反正她很生气,突然妻就告诉我,她早已联系过一个养猫的,说是家里猫太多养不过来,要我和她一起去买一只回来——我虽然不敢再反对,但是怎么都觉得这好像是给我下了个套呢
车开了好久,到那人家里了一看,果然好多猫,有一间屋子专门放猫,好像是五只,四大一小,大的三公一母,三只大公猫好像是蓝猫虎斑蓝白,大母猫是只暹罗猫,小的是只纯黑的母猫,不知道是大母猫和哪个公猫的崽。据那家的主人说,十一假期他不在家,回来发现屋里多了这只小母猫,还有三四个死小猫,应该是那期间母猫下了好多崽,结果却只活了这一个
妻看上了这个小黑猫,但是小黑猫很粘娘,于是妻决定把母女一锅端。和猫主人算了帐,带着两只猫回家
临走的时候那个人说,大母猫很可能又怀孕了。回来以后,带着两只猫们去兽医院打针体检什么的,医生给大母猫做了检查,大猫果然是又怀孕了,而且应该是有四五个。总之,四猫斋就此有了开天辟地的两只猫:大佬猫和小二黑
大佬猫,暹罗猫,它的名字总会被当成是大老猫,所以必须强调,是大佬猫,不是大老猫。大佬猫是群猫之母,所以一开始曾被称为老母亲。四猫斋创世两只猫之首,其他几只猫都是大佬猫的孩子们,所以自然是当之无愧的大佬。平素大佬猫也颇有大佬的风范,可远观而不可亵玩,除非它愿意,否则只要稍微凑近它,大佬猫就……跑了。妻叫它渣渣,因为它只有要吃要喝的时候才会围着妻转,吃饱了就自己趴着,想摸它一下它就要躲。妻说这性格简直就是个渣女嘛,所以叫渣渣——唉,看看这一窝生出来的五颜六色的孩子们,好像是挺渣的哈。大佬猫平时总是很淡定的趴着,无论怎么逗弄,激光笔也好,单摆球也罢,它只是安静的看着,仿佛看穿一切的淡定,颇有大佬的风范,那威风真不是盖的,总是那么冷静从容,只是偶尔也会少女心萌动,玩玩小球之类,或者带着孩子们操练一下,满屋子疯狂一阵,哪怕是快要生孩子的时候,也照样带着小二黑满屋子的跑酷,没荒废了体育课。听原来的猫主人说,大佬猫小时候,有一次他在睡觉,大佬猫爬到了他脸上,他迷迷糊糊的抓起来大佬猫就给扔了出去。大概是从那之后,大佬猫就吓着了,对人类缺乏信任,所以没有一般暹罗猫的那么黏人。这稍微让我们有点失望,但是怎么办呢,既然都已经带它回家了,那就对它好点吧,希望可以为它重新建立起和人类的友好关系
小二黑,四猫斋创世的两只猫之一,大佬猫健在的大女儿,因为和大佬猫一起来到四猫斋,大佬猫既然是“大”,那么小二黑自然就是“小”,通体纯黑的颜色,所以是“黑”,而“二”,则是来自它的性格。小二黑当之无愧是四猫斋群猫智商的天花板,擅长开各种门,门口挡着东西也有办法利用各种巧劲挪开,只要不上锁的门全能给打开,尤其擅长推拉门,驾轻就熟信手拈来
两个月后,三月十号下午开始,一直到晚上,大母猫生出了四只小猫,两个黑的,一个灰的,一个花的。实在是很费解,怎么一胎生的小猫都不一样。后来有人告诉我,猫确实可能一胎好几只的爸爸都不一样——好吧,谁让它是渣渣呢
自从有了四个小猫,小二黑则成长的很快,就仿佛一瞬间懂事了似的,虽然偶然也有和弟弟妹妹抢吃奶的劣迹,但是大部分时候还是很有个姐姐样的,尤其小崽们学走路学上下楼梯的时候,好多次都是小二黑在旁边默默的看着,就在弟弟妹妹几乎快要摔倒的时候它突然冲上去扶住,俨然是个大猫。但是六只猫确实是有点太多了,让本就不富裕的家庭雪上加霜,于是在它们满月后,妻决定把两个新生的小黑猫送了人。至于为什么是这两个,其实理由很简单,因为已经有一个黑猫了,颜色一样,一是不新鲜,二是怕认错,只留下了胖子和花崽
胖子,全名张二灰,外号灰公公。是的,顾名思义,就是公公,大家都懂的。胖子是在四猫斋出生的,所以有幸被妻赐姓,可以随她姓张,“灰”当然是颜色,而“二”,自然就是随着小二黑,是性格。胖子小时候一看就知道能长大个,自幼就有健硕的背阔肌,刚一个多月就显露出了发达的背阔肌和大爪子。妻喜欢胖猫,可惜全家的猫都有暹罗的血统,身材都随了大佬猫。因此妻每每看着张二灰,都会说这是全家的希望,因为有蓝猫的血统,所以可能是唯一有希望长胖的。果然,张二灰没有让妻失望,身材逐渐膨胀,越来越魁梧,是四猫斋最强壮的力量型选手。但是这绝不是说胖子就没有技巧性和灵活性,很灵活,非常灵活,柔软的胖子,力量和技巧并重。胖子天生尾巴不太好,尾巴根是折的,不能伸直,有人说这叫麒麟猫,是福相。大佬猫怀孕的时候有一次和小二黑跑酷,结果摔着了,我怀疑就是那一下,摔坏了肚子里的张二灰的尾巴。听说猫的尾巴是保持平衡的,所以它小时候我总担心影响它走路,但是现在看来,根本没啥事,不但跑的欢,而且那么胖居然轻功一点不受影响,比如小二黑打开的窄窄的门缝,胖子总能大老远的飞身一跃,精准的钻进去,只是爬高上低的时候总是嘴里念念有词的给自己配音,每次从高处下来都要嘿嘿哈嘿哼哼唧唧的,不知道在念叨着什么,大概是因为体重太大,行动的负担比较重吧。胖子体型大,力气也大,走起路虎虎生风,因此惹祸也最多,很多时候可能也不是故意的,只是因为个子太大,到处钻如果钻不进去,那就靠力气,杀伤力大,一转身就打碎个花盆什么的,因此经常挨妻的揍。但是呢,后来妻就懒得揍了,因为胖子实在是油盐不进。比如小二黑挨揍就会特别紧张,心跳加快,所以还没打两巴掌就舍不得了,而胖子就不会,挨揍的时候面无表情,也不挣扎,仿佛没这回事,甚至还要还手。妻说胖子不知道害怕,揍着都没有成就感
张小花,昵称花儿,有时候也叫花崽,很显然也是因为在我家出生而被妻赐了姓,而且我怀疑它的爸爸是以前那家人家的虎斑,所以就有了一些明暗的条纹,而且年龄最小,因此按照我家的起名逻辑,自然就是张小花。张小花是四猫斋最小的小姑娘,无论年纪还是体型,现在体重只有胖子的一半,也不知道是胖子太胖了,还是它太瘦了。张小花还是四猫斋的颜值担当,所以仗着姿色无与伦比,也占了不少便宜,比如最受宠,从来舍不得揍它,因此张小花的脾气就特别大,也最任性,早早的就养成了刁蛮公主的个性,每天早上必须腻味五分钟,要不然就往地上一躺,堵着门不让出去,而且话还最多,每天喵喵喵的最贫嘴的就是它,伶牙俐齿的,是个话痨,稍有不满意就唠唠叨叨,还哪都敢去,大摇大摆的进厨房,赶都赶不出来。大概也是因为体重轻吧,所以张小花的轻功最好,一米多高的桌子也挡不住它的一撅屁股一长腰的猛一蹿。但是就像武侠小说里常见的人物模板,轻功好的一般力气都小,所以张小花其实惹不出大祸,打坏东西什么的都很少。张小花好奇心最强,因为不挨揍,所以就敢到处乱跑,而且还是因为个子小,没有它钻不进去的缝,因此现在我家有个新的度量衡单位,叫“一花”。比如,冰箱不要靠着墙放,要和墙壁保持距离,宽度差不多张小花可以钻进去,这个距离就叫“一花宽”。那么如果是胖子能钻进去的宽度呢,那就叫“一胖宽”,一花一胖,统称“一猫”
家有四猫,每个都不一样。我就琢磨着,它们四个如果团队合作,我和妻肯定斗不赢他们了。平时大佬猫永远稳坐中军帐,冷眼看世界,心如止水,深不可测。小二黑智商高,自己能开发各种新技能,但是如果遇到需要蛮力的时候,那就出胖子,而各种技巧类的事情呢,自然是花崽的强项咯。实际上它们也确实开始有团伙作案的迹象,走着瞧吧,以后一定是越来越刺激,每天都要斗智斗勇了
当然了也不能忘了送走的那两个小小黑。其中一个送给了妻的朋友,住的是大别墅,还有一个原住猫作伴。另一个被一个北漂小伙抱走,这个小哥们早早就问了妻给它们吃什么品牌的猫粮,买了一样的,而且好像以前也养过猫,家里什么装备都有。我和妻一起送它去的,他住在五环外的出租公寓,只有一间房间。其实我对这小伙的第一印象还可以,房间里很简单,就是北漂小青年的基本装备,一台电脑,一对哑铃,一些游戏手办,还挺干净,不像有些刚毕业的单身汉那样房间里乱七八糟臭袜子脏衣服的到处扔。我们嘱咐了他一些注意事项,他说他会把手办都锁好,其他的就随它祸害都可以
后来两个小小黑的新主人都经常给我们发一些小小黑的日常生活照片,看起来对它们都还好。住在大别墅的自然养尊处优,两只猫虽然也有打闹,倒也都没有被亏待。公寓小哥后来也告诉我们,他出钱把租的房子的纱窗换成了金属网,因为怕小小黑抓破了跑出去。有时候我也想,一个妈生的孩子,长相都差不多,只是因为一念之差被送去了两个不一样的环境,从此走上了不一样的猫生
一个是大户人家的二分之一,另一个是穷小子眼里的独一无二,到底谁才更幸福

2021年12月31日

双鱼人看双鱼陨石

Filed under: 视听 — gcd0318 @ 23:53

很久没因为看电影写点什么了,因为懒,没别的。2021 年的最后一天,看了个烂片,双鱼陨石,忍不住想写几笔
故事很简单,主角王得志为了赚钱在离婚中赢得儿子,加入了一个四人科考小组,去无人区考察。四人组捡到了一块陨石,给它取个名字叫双鱼。双鱼陨石有点奇怪的功能,能够复制触摸过陨石的人,而且是连身体带精神甚至连身上的衣服装备都一起复制,简单说就是本体和副本没有任何差别。但是两个个体都会出现一系列衰弱病态,最终要么其中一个死掉,要么一起死掉。四个人中的三个都被复制过,而且每个个体都在挣扎着活下去,结果却都因为各种原因死掉了。最终只有主角王得志幸存,通过不断自我复制,并且获取到被复制的装备(甚至我怀疑还吃掉其中的某个个体,因为故事一开始发现了其他人的残缺尸体),挣扎了二十年,走出无人区,回到家乡,见到了早已成年的儿子,谎称只过去了二十天,结果却被当成精神病抓走。王得志被抓前复制了自己,然后在精神病院自杀,成功为儿子留下了一个爸爸
有些文艺作品,不适合欣赏,但是适合思考,比如红楼梦。这个电影也是这样,剧情荒诞,人物形象单薄,拍摄手法单调,只是偶尔有几个广角大全景的画面还挺漂亮,但是故事以荒诞的形式,引出了很多问题
故事也反映了人面对生死的取舍,哪怕对方是另一个自己,也会痛下杀手;赵青为了获奖而做研究,陈清泉为了赚钱而冒险,求名和求利有没有高低之分;王得志本来好好的在聊天,精神病医生的出现让他情绪激动,反而很像精神病,解决问题的答案才是引起问题的原因,就像画皮里的佩蓉,原本是可以人畜无害的。这些更频繁被讨论的问题,即使脱离超现实的叙事,也可以得到讨论,因此我并没有在这些问题上浪费这个电影。但是电影最后,王得志说的,我们有多少事是准备好的,这个问题,恐怕对很多人都是个问题,但是对我倒是问题不大
但是这个故事其实讨论的问题,比这些都要本质得多。科幻片玄幻片童话神话荒诞剧就是这点好,可以通过理所当然的不现实,构建起合理的不合理场景,从而让一些日常我们很少关注的问题变得更加尖锐,不会被忽视
这个片就在片子里提出了复制人的问题,引起我们的思考:一个人如果被复制,无论身体还是记忆都完全一样,那么哪个才是本来的人?如果本体和副本自相残杀,法律要怎么介入?更进一步问就是,我们怎么定义“这个人”就是“那个人”
这个问题在很多电影里被反复利用过很多次,我在老文里也都提到过,但是这种哲学系概论 101 水平的问题,我实在是想不出答案,甚至我也不相信会有合格的哲学系的老师会在课堂上给出答案,因为这种如此能够激发人想象力的问题,为什么要有答案呢?留着鸡下金蛋不好吗

2021年11月26日

趁早

Filed under: 感悟 — gcd0318 @ 17:10

夏天飙车摔伤了鼻子,连骨折带外伤,结果鼻孔里出现挛缩,瘢痕增生,再加上鼻中隔骨折,导致鼻腔缩小,呼吸受阻。去医院,医生说瘢痕尚在生长期,强行切除可能导致再生,还要再切,不如等它长死了,一次性修复。于是我终于在前不久成功的接受了手术,现在恢复的自我感觉良好,出院时鼻孔里暂时有个支撑管,医生说,为了防止产生新的瘢痕,用这个管占着位置,让鼻腔内的伤口愈合的时候,只能围绕着这个管成型,不会再生出瘢痕。这只对新伤口还没有瘢痕的时候有效,所以要在手术后放入。现在我已经成功的摘除了那个支撑管
由此就突然想到,我那个年代吧,老师和家长都觉得,未成年人谈恋爱就是早恋,不是什么好事,理由是,两个人的三观都不稳定,凑在一起不会有好结果
要我说,这就是揣着明白装糊涂,谁还不是打年轻的时候过来的?而且这个理由也完全没逻辑,都成年了还怎么恋爱?两个三观定型的人遇到一起,稍微一接触就知道合不合,如果不合,难道还要其中的一个去改变或者两者共同努力来互相适应?三观不定型才应该赶紧凑到一起,然后一起成长,一起发育,或者哪怕是一个定型一个不定型呢,也可以有一方的定型过程中去适应磨合,毕竟恋爱也是要学习的,不通过早恋练手,以后怎么办?就像我的鼻腔和这个支架管,鼻腔的伤口还不定型,但是支架管的形状不会变,伤口自然就会长成了符合支架的样子,能够贴合到一起去。如果鼻腔已经定型成了某个形状,支架管放进去,只能立刻就知道不合适,然后拔出来……换一根?有那么方便吗
就像某仁兄语重心长的教育小朋友们说,大学期间和同学相处的方式会塑造一生社交的风格,他至今快五十岁,大部分友谊都来自大学期间
于是我就喷了。毕业二十几年,新的友谊还没大学四年建立的多,如果这种社交方式是大学期间塑造的,那我只能说,这社交就是被大学耽误了,说明大学里练就的那些社交能力完全不适合社会
所以,问题来了,两个三观定型的人遇到一起,无论要建立什么关系,碰巧能互相适合的概率更大一些呢,还是不适合概率更大?如果答案是后者,那我就承认老师家长封杀早恋没有错

2021年11月22日

马镫和骑兵

Filed under: 科普 — gcd0318 @ 11:45

关于中国最早什么时候出现马镫,还存在很多争议,时间点也跨度很大,坊间流传比较广的说法最早可以追溯到东汉中后期,依据是青州的一块画像砖,以及 1973 年乌林出土的一件马镫的实物,但是这两个实物证据都存在较大争议,尤其后者,连年份都传走了样,其实应当指的是 1976 年出土的一件青铜马镫,相关的报告在 1987 年第 1 期的江汉考古上发表,并且并没有做年份的认定。但是更多的东汉骑士俑都没有马镫,所以东汉的说法很少得到认可。然后就是长沙出土的一件永宁二年的骑士俑,很明显是有了马镫,但是这个马蹬只有单侧,而且骑士并没有踩着马镫,所以很多人也认为这是用来上下马的马镫,而不是骑乘的时候一直踩着保持平衡用的。目前发现的最早的双边马镫的形象是南京象山出土的陶马身上的马镫,大约是东晋早期,但是由于没有骑士,所以也不知道实际骑马时候的姿态。而可见的最早的双马镫实物是冯素弗墓葬里的双马镫,冯素弗死于 415 年,已经是东晋了
换句话说,如果从赵武灵王胡服骑射开始算起,中国人骑马打仗最初的大几百年里,很可能一直都是没有马镫的。这在现代人看来,似乎很难理解,没有马镫骑马多危险啊,怎么完成格斗作战?这么多年战争不断,骑兵竟然就不觉得很别扭?以中国人的聪明才智,难道就这么忍着,而不是发明个什么东西来解决问题?而且马镫也并不是什么科技含量很高的东西,设计制造的门槛并不高,但是需求却是明显的,只要想到了,就分分钟能做一个普及开。这么容易造的东西,在这么强烈的需求下,却迟迟没有问世,这多奇怪啊
所以只要一提到中国先秦两汉的骑兵,很多业余历史爱好者之间口耳相传着这么一个说法:马镫发明之前,骑兵在马背无法保持平衡,根本没法打仗,尤其不能使用长兵器,像青龙偃月刀丈八蛇矛之类的想都别想。持类似说法的还不乏一些大咖,比如观复博物馆的著名文物收藏鉴定专家马未都馆长,他就认为没有马镫的时候,骑兵只是起运兵作用。这就等于说,古代所谓的骑兵,只是指骑着马跑到战场上的步兵而已
这个说法呢,恐怕也有点不靠谱。我们来看三个问题:
1,没有马镫的时候骑兵能做什么
2,没有马镫怎么选拔骑兵
3,没有马镫的骑兵如何格斗
以下我们讨论的就只针对先秦两汉时期,尤其东汉以前,因为这些阶段是目前争议较小的没有马镫的时代。毕竟,通过考古要证明一件东西存在很容易,只要挖到了就是有,但是要证明不存在就很难了。记载上没有,也许是古人觉得这东西太普通不值得单独写一笔,造像上没有,也可能是出于艺术审美的考虑而没有很具体的逐样刻画。而且,战斗是武将打的,历史是文人写的,他们之间的隔阂也会影响记载的准确性。但是虽然先秦两汉文武已经逐渐形成专业,却也毕竟还没有分的那么清楚彻底,而且让文人描述他们彻底没有见过的东西,估计他们也写不出来,就像让我们现代人写未来的飞行器的样子,也许我们再怎么幻想,也不会脱离现代飞机的痕迹吧。看看六七十年代的科幻电影,那里面的宇宙飞船,哪有一点像我们现在制造的。所以看看先秦两汉的史料对骑兵如何描述,对马背上的战斗如何记载,大概也就能判断出当时人所能见到的骑兵战斗状态了。所以出于讨论的必要,我们还是假定先秦两汉(尤其西汉)并没有马镫,基于此,看看史料里对于当时骑马打仗的人是如何描述的
首先可以很明确的说,先秦两汉的人肯定是经常骑马的,这一点毫无疑问,各种史料里反复提到这一点,骑马并不只是军事行为,也有民用的骑马。比如著名的贾谊的老板长沙怀王就是骑马摔死的,塞翁失马焉知非福的故事里,也提到了塞翁之子骑马摔断腿,可见对于当时的人来说,骑马并不是什么新鲜事,即便是小众的项目,却也并不稀奇。但是当时人都认可的一个道理是,骑马是一件有一定难度和危险性的活动,需要接受专门的训练,所以经常把骑马驾车游泳放在一起说。比如淮南子就说“善游者,不学刺舟而便用之,劲者,不学骑马而便居之”,“畏马之辟也,不敢骑;惧车之覆也,不敢乘;是以虚祸距公利也”,盐铁论也说“农夫以马耕载,而民莫不骑乘”,文子中提到“善游者溺,善骑者堕,各以所好反自为祸”,也就是说当时的人对骑马的危险性也认识很深,但是却也无法拒绝骑马所能带来的好处和快感
既然对骑马的危险性有足够的1认识,那么军队里对骑士就当然会有严格的要求和训练标准,比如六韬里面关于对骑士的要求就提到了“选骑士之法,取年四十已下,长七尺五寸已上,壮健捷疾,超绝伦等,能驰骑彀射,前后、左右周旋进退,越沟堑,登丘陵,冒险阻,绝大泽,驰强敌,乱大众者,名曰武骑之士,不可不厚也”
六韬托名姜子牙,但是恐怕绝不会有人相信这是西周初年的书,更广范被接受的说法是,六韬成书于战国,最迟在西汉就已经基本定型了,换句话说,在考古上发现马镫的时代以前,六韬的内容就基本上固定了。六韬对骑兵的看法,基本上也就可以认为是没有马镫的时代对骑兵的看法
除了对骑士的素质和训练,当时的人为了完成骑马打仗这个高难度的行为,还发明了一系列的装备,除了对骑手有要求,马也要讲求饲养和保养的方法。吴子兵法中还提到了如何驯马,要求“夫马必安其处所,适其水草,节其饥饱。冬则温烧,夏则凉庑。刻剔毛鬣,谨落四下。戢其耳目,无令惊骇。习其驰逐,闲其进止。人马相亲,然后可使。车骑之具,鞍、勒、衔、辔,必令完坚。凡马不伤于末,必伤于始;不伤于饥,必伤于饱。日暮道远,必数上下。宁劳于人,慎无劳马。常令有馀,备敌覆我。能明此者,横行天下”
吴子兵法的情况和六韬很像,也应该是假托吴起而已,但是汉书艺文志里已经出现了吴子兵法四十八篇的说法,真正成书的年代应该也不会晚于东汉。当然了,汉书艺文志里也只是提到了吴子兵法,却只有一个书名,并没有内容,而且目前也没有考古发现汉朝以前的吴子兵法,这就很奇怪,因为韩非子曾说,家家都有吴子兵法,这个说法即便有点夸张,但至少吴子兵法在战国晚期应该是很流行才对,考古中应该有概率能发现。而现在能看到的吴子兵法只有六篇,到底是失传流散只剩六篇呢,还是像有些人怀疑的那样,四十八篇全都失传了,这六篇都是后来的人根据汉书艺文志的名字另外编的,就很难说了,甚至有人说现在的所谓六篇吴子兵法是六朝人编的。但是请注意,前面引用的那一句吴子兵法里,提到骑马的装备,几乎什么都说了,但是唯独不包括马镫。而我们的考古也表明,至少在东晋已经有了马镫,如果是六朝人伪托吴起写的六篇吴子兵法,尤其还是专门介绍骑马的用具,大概率应该会提到马镫这种刚出现不久而且非常有用的装备吧
既然骑兵的训练和维护都需要这么高的成本,那么在那些时代能做什么呢?最起码,肯定不只是运兵那么简单吧。其实先秦两汉的人对骑兵的作用还是有很深刻认识的
比如在六韬中就记载“骑者,军之伺候也,所以踵败军、绝粮道、击便寇也”。就像刚才我们说的,六韬应该在战国就成型了,那么这种对骑兵的定位大概率也就是战国时候骑兵的作用,追亡逐北,偷袭劫粮,扫荡流寇。而且有人说伺候就是斥候,那么骑兵的作用就也还包括侦察,总之很明显不是运兵的作用
吴子兵法对于某些具体的战术和战法的设计,也用到了骑兵的机动性灵活性,比如谷战之法就同时用到了战车骑兵和步兵:“募吾材士与敌相当,轻足利兵以为前行,分车列骑隐于四旁,相去数里,无见其兵,敌必坚陈,进退不敢。于是出旌列旆,行出山外营之,敌人必惧。车骑挑之,勿令得休”。而且吴子兵法里战车骑兵和步兵协同并列的例子不止这一处。例如“先战一日,吴起令三军曰:“诸吏士当从受驰。车骑与徒,若车不得车,骑不得骑,徒不得徒,虽破军皆无易。”故战之日,其令不烦而威震天下”,就也是车骑徒并称,可见至少在吴子兵法里,骑兵并不只是运兵,不是骑马转移的步兵,而是和战车步兵并列的一个独立的兵种
六韬中还对骑兵的作战能力进行了估计,不但承认骑兵的优势在于快速移动,所以可以迅速到达埋伏和作战的地点,或者承担侦查的任务,而且还认为战车和骑兵都是比步兵要强大的兵种,只要指挥得当,能很大程度上影响战争的结果,认为“故车骑不敌战,则一骑不能当步卒一人,三军之众成陈而相当:则易战之法,一车当步卒八十人,八十人当一车;一骑当步卒八人,八人当一骑;一车当十骑,十骑当一车。险战之法,一车当步卒四十人,四十人当一车;一骑当步卒四人,四人当一骑;一车当六骑,六骑当一车。夫车骑者、军之武兵也。十乘败千人,百乘败万人;十骑败百人,百骑走千人,此其大数也”——第一次读书到此,我当时就觉得,安史之乱的时候房绾用战车阵去打安禄山的骑兵,大概就是听信了这种话吧,只是他一来大概是不知道车战要怎么打,因为毕竟中国人已经一千多年没打过车战了,二来也是当时唐军太缺马,所以房绾用的是牛车。那么结果就可想而知了,安史叛军趁乱纵火,结果把房绾的战车队给打成了反着用的火牛阵,输的要多彻底有多彻底
六韬对骑兵的组织方式也进行了描述,提到“置车之吏数,五车一长,十车一吏,五十车一率,百车一将。易战之法,五车为列,相去四十步,左右十步,队间六十步。险战之法,车必循道,十车为聚,二十车为屯,前后相去二十步,左右六步,队间三十六步。五车一长。纵横相去二里,各返故道。置骑之吏数:五骑一长,十骑一吏,百骑一率,二百骑一将。易战之法:五骑为列,前后相去二十步,左右四步,队间五十步;险战者:前后相去十步,左右二步,队间二十五步。三十骑为一屯,六十骑为一辈,十骑一吏,纵横相去百步,周环各复故处”
六韬还骑兵的使用有很多讨论,比如总结了骑兵的十胜九败,也就是如何使用骑兵,和使用骑兵中要避免的问题
所谓十胜,就是“敌人始至,行陈未定,前后不属;陷其前骑,击其左右,敌人必走;敌人行陈整齐坚固,士卒欲斗。吾骑翼而勿去,或驰而往,或驰而来,其疾如风,其暴如雷,白昼而昏,数更旌旗,变易衣服,其军可克;敌人行陈不固,士卒不斗。薄其前后,猎其左右,翼而击之,敌人必惧;敌人暮欲归舍,三军恐骇,翼其两旁,疾击其后,薄其垒口,无使得入,敌人必败;敌人无险阻保固,深入长驱,绝其粮路,敌人必饥;地平而易,四面见敌,车骑陷之,敌人必乱;敌人奔走,士卒散乱,或翼其两旁,或掩其前后,其将可擒;敌人暮返,其兵甚众,其行陈必乱。令我骑十而为队,百而为屯,车五而为聚,十而为群,多设旌旗,杂以强弩;或击其两旁,或绝其前后,敌将可虏。此骑之十胜也”
而九败就是“凡以骑陷敌而不能破陈;敌人佯走,以车骑返击我后,此骑之败地也;追北逾险,长驱不止;敌人伏我两旁,又绝我后,此骑之围地也;往而无以返,入而无以出,是谓陷于天井,顿于地穴,此骑之死地也;所从入者隘,所从出者远。彼弱可以击我强,彼寡可以击我众,此骑之没地也;大涧深谷,翳薉林木,此骑之竭地也;左右有水,前有大阜,后有高山;三军战于两水之间,敌居表里,此骑之艰地也;敌人绝我粮道,往而无以返,此骑之困地也;污下沮泽。进退渐洳,此骑之患地也;左有深沟,右有坑阜,高下如平地,进退诱敌,此骑之陷地也。此九者、骑之死地也。明将之所以远避、暗将之所以陷败也”
到了西汉,人们对骑兵的作用就有了多认识,对骑兵的杀伤力和作用条件也有了更清晰的判断。淮南子也对战车和骑兵的适用场景有过简单的描述,认为“易则用车,险则用骑”。当然了这个看法也不一定对,毕竟淮南子并不是专门讨论军事的书。倒是史记中吴王刘濞传中,有人向吴王描述当时的军力对比,提到“吴多步兵,步兵利险;汉多车骑,车骑利平地”,因此建议吴王刘濞不要在攻城上恋战,宁可绕城而过,尽快到达洛阳,抢占地利,否则一旦汉军的战车队和骑兵开过来打野战,那就输定了——这句话不但反映了汉初分封制的本质,也说明了吴汉之间的军事结构差别,更重要的就是描述了当时人对车骑和步兵的作用的认识,这也和六韬所谓的“溪谷险阻者,所以止车御骑者也”相一致
既然骑兵很早就在战争中发挥着重要的作用,那么问题就来了,如果当时没有马镫,骑士在马上的姿态肯定不稳定,很难保持平衡,他们是怎么完成格斗动作的?文献里经常提到骑射,演义小说里描述的长兵器格斗,都是可能存在的吗
其实这个问题我在考虑车战的时候也困惑过:古代战车通常标配是一个驾车的驭手,一个持弓箭的射手,一个持戈或者矛的大力士,作战方式就是冲击和射箭。但是战车的减震都很差,战场的地面再怎么是开阔的平地,也不可能比现在的水泥地平整,我小时候坐过没有减震的两轮平板车,我们那里俗称架子车,那个车已经有橡胶轮胎了,但是如果拉车的人跑的稍微快一点,地面略有颠簸,我在车上别说站稳,坐着都颠的屁股疼,古代那些乘坐硬轮战车的射手如何瞄准射箭
坊间有一种流行的说法对这两个问题给出的答案都差不多,认为没有马镫的时代,骑兵必须有一只手用来抓着缰绳或者抱着马脖子,因此只能单手挥舞短兵器,所以无论车上的射手还是马背上的射手,主要是靠军阵冲击,射箭也不能保证瞄准,还是靠团体射箭发射“散弹”来造成杀伤,排开阵型以规模取胜,这时候单个射手的准星就不那么重要了,这就像机枪扫射,要的是打出铺天盖地的枪林弹雨,以数量弥补概率,对敌人阵型造成广泛的杀伤
但是这个说法恐怕也不完全准确。古代冷兵器作战,大规模阵型是常见的打法,骑兵也组军阵是可以想象的,但是无论射箭还是格斗,骑兵应该也都是能使用长兵器,并且有单兵作战的能力的
首先还是看看考古,从先秦到两汉的出土文物里,骑兵的形象很多,比如汉代的骑兵俑有手持环首刀等短兵器的,也有的是使用戈矛之类的长兵器,汉代的壁画和画像石上也有射箭和以长兵器作战的画面,而且无论骑兵俑还是画像,骑兵都没有马镫
那么在没有马镫的年代,马背上作战能否使用长兵器呢?我觉得是可能的。先秦两汉的文献里就保留有马上作战的武器的记录,例如释名中“矢”的条目下就提到“马上曰鞬,鞬,建也,弓矢并建立其中也”,“矛”的条目下也专门提到“矛长丈八尺曰矟。马上所持,言其矟矟便杀也。又曰激矛,激,截也,可以激截敌阵之矛也”。矟,其实也就是槊,后来所谓的马槊应该就是这样的东西,是马上用于刺杀的长兵器。释名是东汉的书,所以马上射箭和使用长兵器,至少在东汉就有了。而且无论汉代的尺和现在如何换算,“丈八尺”都应该有至少四五米长,妥妥的长兵器名副其实。这就说明当时在马上确实是用长兵器和弓箭作战,否则不会凭空臆造出这样的名词
而关于在马背上的作战过程描写就更多了,著名的例子比如史记和汉书都记载了项羽死前的最后一战,楚霸王指挥着二十几个人打了一场很漂亮的闪电战,用来证明项羽的军事才能确实无懈可击。这个过程无论史记还是汉书都是以“骑”称呼项羽和这二十几个人,而且这个打法我觉得应该也没可能是下马步战,一定是全程都在马背上完成的。值得关注的一点是,项羽一直到最后遇到乌江亭长,才“乃令骑皆下马步行,持短兵接战”,可见在马上他们应该都是用长兵器
汉书灌夫传有关于灌夫作战的记载,说灌夫曾经“于是夫被甲持戟,募军中壮士所善愿从数十人。及出壁门,莫敢前。独两人及从奴十馀骑驰入吴军,至戏下,所杀伤数十人。不得前,复还走汉壁,亡其奴,独与一骑归。夫身中大创十馀,适有万金良药,故得无死”。很明显也是在马背上完成冲锋战斗的全过程
还有李广和匈奴白马将对战,史记的说法“李广上马与十余骑奔射杀胡白马将”和汉书的“广上马与十余骑奔射杀白马将”,都说明李广是在马上一边跑一边和匈奴的白马将对射。而李广被活捉后逃脱的那次,也是因为抢了一匹马,在逃跑的路上反击,射杀匈奴的追兵,难道也要下马或者停下对射吗?我觉得不可能
还有比如汉书匈奴传对匈奴的描述是“以马上战斗为国”,但是匈奴应该也没有马镫,否则西汉肯定会学的
到了汉朝末期,马上格斗的记载更加丰富,长兵器也广泛的用于单兵作战。比如三国志里的名场面,关羽刺颜良,就是关羽骑马冲阵,快速的跑进颜良的队形里,刺中颜良,斩首而回。这个过程我反正是不信关羽敢下马步战,当然也不信他用的是短兵器,如果关羽下马作战,就算刺死颜良砍下人头,估计也回不来自家的本阵
再比如三国志记载公孙瓒在辽东,以几十骑兵面对鲜卑的几百骑兵,“瓒乃自持矛,两头施刃,驰出刺胡,杀伤数十人”,应该不会是弃马步战,而是骑着马,用两头尖的长矛作战。而乌桓人“乃画作瓒形,驰骑射之,中者咸称万岁”,就是骑马并且马在移动中射箭。曹仁在荆州对抗周瑜,为了解救牛金,曹仁“遂被甲上马,将其麾下壮士数十骑出城……仁径渡沟直前,冲入贼围,金等乃得解”
另外,三国志有一处记载,说当时有“立骑马戏者”,也就是说三国时候,有人掌握了一些高难度的骑马技巧。虽然这很可能只是当成杂技表演而已,未必普及,但也起码说明这种技巧在当时存在的可能性,既然杂耍演员能学会高难度的骑马技巧,骑兵为了作战,也有可能专门练习一些马上保持平衡的技能
以我自己仅有的两次骑马经验——或者说教训更准确——来看,一次是骣骑马,一次是骑鞍镫齐备的马,我的感受就是,因为骣骑马那次完全是一场事故,而且也是第一次骑在马背上,非常紧张,只是抱紧马脖子,完全不敢动,感觉上马跑的很快,但是旁观者说马根本没跑起来,我当时也并没有觉得非常明显的左右晃动。有了这次的教训,多年之后我骑上有鞍镫的马,其实也还是有点紧张的,但是敢做一些动作。以我完全没有接受过任何训练的背景,尚且能骣骑马而不掉下来,古代的战士经过严格的训练,在马背上完成一些复杂的动作,虽然难度大,但也不至于不可能
我相信在现代,骑过马的人应该很少,而没骑过自行车的人恐怕更少,那么马和自行车在行进当中哪个更难保持平衡,我觉得是骑自行车,因为马只要愿意配合,本身是会自己保持行走稳定的,而且遇到道路障碍地面不平也知道自主避让。而自行车运动员乃至很多业余自行车爱好者都可以双手不扶车把完成换衣服吃东西甚至小便等动作。那么如果经过充分的训练,骑没有马镫的马并且单手保持平衡也应该也不是不可能
所以可以说,在没有马镫的时代,骑兵的选拔有特殊的标准,而且都要经过严格的训练,在战争中骑兵也有独特的作用,是重要的兵种。而马镫的出现,也确实改良了骑兵,这是毫无疑问的。马镫让骑马打仗的难度大大降低,在马上的格斗技巧可以更加丰富,有更多的地面作战的技术动作可以被照搬到马背上去使用,这就让骑兵部队的训练难度降低,培养周期缩短,这就便于军队增加骑兵的数量。因此在战争中骑兵的使用就可以更加自由任性,不必再向以前那么斤斤计较谨小慎微的舍不得用骑兵,骑兵投入战争的数量和比例都大幅增加,也就提高了骑兵对战争的影响力,而由于骑兵特有的冲击力和杀伤力,也就使得南北朝之后的战争变的越来越残酷,死伤越来越多

2021年11月19日

谁要搞什么群面

Filed under: 言论 — gcd0318 @ 10:37

和妻闲聊,说起了她马上要参加的一个面试,其中有个群面的环节,就是一批候选人组队完成任务,考官要通过这个形式观察每个人的表现,来考察每个候选人。上学时候老师也组织过类似这种形式的小组讨论,而我们在这个过程里留给老师的印象,应该都成了我们平时成绩的一部分吧。初入职场的时候我也被这样面试过,甚至刚工作的那几年,公司的新员工计划里也有过这种形式的培训
通常我是对这种形式很反感的,我根本不相信它能帮助考察者从中做出取舍
这种群面的形式有个更直接的例子,就是 nba g-league,也就是 nba 发展联盟,它是附属于 nba 的一个低级别的联赛,在这里打球的运动员五花八门,比如那些比较年轻并且有潜力但是现在还不适合 nba 的球员,受过大伤病刚刚恢复需要找到比赛状态的球员,在 nba 找不到工作又想有机会表现自己的球员,等等。总之,在发展联盟打球的运动员,几乎都是希望通过在这里的表现,博得 nba 球探、老板、教练的关注,继而获得进入 nba 打球的机会
这就像是一个群面的场所,很多球员组成不同的小组,完成一场场比赛的任务,而考官就是 nba 的那些球队,观察每个球员的表现,找到自己想要的人。所以发展联盟有个很鲜明的特点就是,所有的人都很关注自己的数据和表现,这里的比赛很少打复杂的配合,都是简单直接的战术,因为每个人都希望拿到最直接的能统计的好看的数据,得分,篮板,助攻,抢断,封盖,而对于诸如命中率助攻率等需要计算的二阶数据的关注,就明显降了一个档次,至于更高阶的比如场上正负、win share、真实命中率等通过二次或者更多重计算才能拿到的数据,关心的就更少——原因很简单,没有人有兴趣对发展联盟的球员做这么详细的数据分析——所以可以简单的说,发展联盟是典型的应试教育,什么数据受到关注,就去刷什么数据,典型的考什么学什么
那么通过这样的方式选出来的人,真的会适合 nba 吗?恐怕很难说。nba 针对球员的数据现在做的非常精细,因为所有人都知道,一个球员对比赛的贡献,不是看看得分就能全面概括的,但是人们又希望可以量化每个球员对比赛的影响,因此就诞生了各种高阶统计,比赛中也会开始记录球员的更多表现。从科研的角度来说,这当然是个很好的努力和尝试,但是回到发展联盟的问题,如果发展联盟是群面,nba 是实际工作,我们就会尴尬的看到,群面的选拔标准和实际的工作要求产生了脱节。这个脱节也实际客观的存在于职场的面试和工作当中,群面中能关注到的只是候选人的一些显著的特征,而不可能全面的认识一个人,而且通过群面对候选人的评价,不但比独面更少,甚至还不能弥补独面的任何盲区。同时这种片面性的印象,和实际工作中的评价方式也并不一样
妻对群面这个形式并不反感,她觉得群面也有其效果,只要对群面的评价能更接近实际工作中的评价场景,那就可以选拔出更合适的人
当然这个说法也有道理,但是群面那么短的过程里,真的可以做到吗?而且甚至,nba 的数据工作都做到这么详尽了,但也仍然是每过几年,就会又有一些统计标准出现,似乎人们并不是不相信数据能概括球员的全部表现,而只是不相信现在的数据统计能全面的涵盖球员的表现,因此才不断的研究新的统计标准,完善评价体系,试图尽可能的接近全面客观准确的目标。但是这种不断有新方法问世的现象,也足以说明,我们目前对于团队合作中,如何客观准确全面的每个人的贡献,其实是缺乏方法的,我们并不知道应该怎么做,现在一直都还是在尝试和摸索的阶段,因此才不断的提出新的公式新的标准,而不是一个终极答案解决所有问题,让所有的人不再产生怀疑。竞技体育的评价是相对更简单的,因为它的场景是封闭的,只看球场内的表现,不受无限的外部场景的影响,这已经比职场的环境要简单太多了,尚且还没有找到一个让人信赖的量化评价的方法,既然如此,难道仅仅是用对待实际工作场景的态度和方法去评价群面中每个人的表现就可以找到最好的那个人吗
而且同时,我们也不得不承认,团队合作里,每个人的重要性并不相同——注意,我说的是每个“人”的重要性不同,而不是每个“角色”的重要性不同。就比如一家企业的成功,每个环节每个角色都很重要,iphone 的成功是设计生产销售物流客服共同合作的结果,这当然是没错的,但是以 iphone 为例,最重要的我觉得是设计环节,但是换一个产品,换一个行业,也许最重要的就是销售了
就还以篮球队为例,后卫前锋中锋当然都不可或缺,但是在 1998 年的公牛队,乔丹就是比其他队员更重要,而这不是说后卫是球队最重要的角色。同样的,2001 年的湖人队,最重要的是奥尼尔,但不等于说中锋是篮球队里最重要的角色。同时,这也不是说乔丹离开球队的支持仍然可以成为球神,而是说,在球队的胜利里,乔丹的贡献比其他人更大
乔丹打球的时代 nba 还没有像现在这么复杂的高阶数据统计,但是即便以现在的统计方法去计算乔丹的球队,乔丹仍然是最好的那个。通俗的解释 win share 和 win share 48 就是,在乔丹最好的那几年里,乔丹对比赛的结果有 25-32% 的影响力,而第二名的皮蓬的影响力只有不到 20%。也就是说,一场比赛的结果如果是投票的话,乔丹占了超过 1/4 的投票权——篮球是 5 个人的运动,一场比赛一个球队经常换人,通常有 10 人左右可以获得或多或少的出场机会,而 。nba 的规则允许球队的名单上有 12 个人处于可以比赛的状态。换句话说,如果是平等的投票,人均影响甚至不到 10%。虽然乔丹的 30% 不足以一锤定音,但是乔丹就是影响力最大的那个,毫无疑问。但是这不说明后卫是篮球队里最重要的角色,只是因为这个后卫是乔丹,才变得格外重要。所以篮球界有句名言:我奶奶和乔丹一起打球也能拿到冠军
说一段老球迷一看都懂的题外话。前两天可爱的裤子马在克利夫兰打客场,当地不喜欢他的球迷打出标语:没有詹姆斯你算什么,克利夫兰的某家媒体也在社交媒体发文说:没有詹姆斯你得不到冠军——要我说吧,这话谁都可以说,唯独克利夫兰,说这话不觉得照镜子吗?果然裤子马在社交媒体上转发并回复说:是的,咱俩一样
但是话可说回来,凡事哪有全是缺点没有优点的?群面也毕竟有一个好处就是,可以造成同组候选人之间的对立,可能充分激发他们恶的一面,如果出现互相抢镜甚至拆台的现象,那就恭喜发财了,群面起码帮我们排除了错误选项

2021年11月17日

这是秘密,别告诉别人

Filed under: 故事 — gcd0318 @ 11:13

史记的名场面:王翦带着几乎是秦国的倾国之兵去灭楚,一路上不断的给秦始皇写报告,要求涨工资发奖金,不但给自己要,还替儿子孙子们要,就有人问他,都是老干部老同志了,待遇福利什么的这事着个什么急呢?王翦解释说,我这不是为了让老板对我放心嘛,现在全国的兵马都在我手里,老板肯定很担心我造反,现在看我只是想赚钱,就不担心我造反了
这话吧,反正我是从来就没信过。最简单的道理,王翦倘若真的有这一番小心思,那就说明他是个考虑周全小心翼翼的人,那么这么谨慎细致的人,这种和大老板玩心眼的事,能说给谁听呢?说给谁能放心不会被老板知道?倘若秦始皇听了这番话,知道王翦的贪财是在演戏给他看,那王翦还有命吗
这只可能是司马迁替王翦说出来的而已,王翦肯定说不出口。一件事要想不成病,唯一的稳妥办法就是没人知道,一旦说出口,难道要再加上一句“这是秘密,别告诉别人”

2021年11月16日

都是设计惹的祸

Filed under: 感悟 — gcd0318 @ 11:06

某一天,公司行政在大群里发了一个通知,大致说了些关于节能环保的事,什么下班前关灯离开座位前关电脑之类的事,其中就提到,使用完会议室后要及时关灯。这本来很正常的事,但是行政又同时发了几个办公区的地图,并且标记,每个区域的灯的开关都在什么位置,尤其里面提到,会议室灯的开关,其实并不在会议室里面,而是集中设置在一个区域,并且贴上标签标记每个会议室
这就很奇怪了对吧,按照常理,每个区域的灯开关,就应该是在各个区域以内或者附近,而尤其会议室的灯开关,最合理的位置难道不是就在会议室的门口吗?随手关灯本来是最基本的行为习惯,但是,用产品设计的语言来说,这么基本的功能竟然需要专门的说明书来描述操作过程,这恐怕只能说明,设计出现了问题,办公室的电路布线存在设计失误
软件开发行业有个常识认为,越晚发现的 bug,修复成本也就越高。如果把办公室灯光控制看成一个软件产品,那么它的研发周期也是从设计到实现再到测试发布这样的过程,而办公室灯的开关位置不在办公室门口,导致操作不便,足以看成是个 bug。如果这个 bug 设计阶段,也就是电路图纸上就被发现,那么修复的成本当然是最低的,只要改图纸就好了,如果是在实现阶段,也就是装修期间发现,那就立即要求工人重新布线,其成本也还在可接受的范围内,而等到测试阶段,也就是装修基本完成,施工方验收的时候发现,立刻要求施工单位修改,那就要重新铺设线路,甚至在墙面上重新挖槽,然后粉刷,这就显著增加成本了,而一旦到了交付后使用的阶段,也就是施工方完全离场,再想改动,那就要重新聘请装修人员,这就等于是重新签订合同,额外支付工时费等,甚至影响正常办公,是成本最大的修复行为
不过如果追溯公司办公室的发展脉络,就会发现,其实这几个会议室所在的位置,本来并不是作为会议室设计的,而是普通办公区,因此灯光控制只是放在附近。后来由于会议室不够用,临时打上隔断墙,形成会议室。这就相当于产品的形态修改,衍生出了原始设计中没有的需求。可是在实现新功能的过程中,并未完全考察可能引起的连带变化,因为没有考虑到在打隔断墙的时候增加新的开关,这仍然是设计上的失误,用软件设计行业的话说就是,新的需求设计中没有考虑到可能和原有的功能相互影响,而评审过程中也没有发现这个漏洞
其实如果是新设计一个办公室,以建筑行业成熟的 sop,一定会有电路设计的标准和要求,然而在新增需求的时候,很可能是没有严格的遵循流程,导致忽略了这个开关位置的细节。甚至可能交付的时候顶多在使用的初期,这个问题就很明显的暴露出来了,所以实际上公司那几个会议室的灯开关都集中在会议室外不远的地方,而且贴着标记每个会议室的标签。但是实际使用中,还是会造成不便,刚使用这些会议室的时候,想关灯也找不到开关在哪,而且即便知道了开关的位置,也经常有人开错关错
仅以此一个小小的现象,来演示一下,在产品研发的任何阶段,一旦有需求,都要对所有检查点做严格而仔细的核对,而任何看似不起眼的小问题,在长期的使用中,都会积少成多,越是常用的功能,在反复的使用中,用一次不方便一次,增加的都是无形中的成本和负担
这有点像我们买一件日常用品,很贵的和很难用的都会被轻易的筛选掉,但是却经常在便宜但是稍微有点不好用和很好用但是有点贵之间犹豫。我的建议就是,买那个好用的,哪怕稍微有点贵,因为这样只是肉疼一次,但是以后用一次爽一次,如果买了那个便宜的,虽然买的时候心情也许会相对好一点——而且其实恐怕一想到那一点点不好用的小缺陷,恐怕其实也好不了多少——实际的使用中,哪怕只是一点点的不便,但是只要用的频率和次数足够多,用一次不便一次,最终都是会忍无可忍的

2021年11月2日

职业居然有规划

Filed under: 言论 — gcd0318 @ 18:23

我也不知道我有多烦理想这件事,小时候被爹妈问长大了想干啥,上学了被老师问有什么理想,找工作被老板问有什么职业规划,我觉得像我这么大岁数的人应该都是这么过来的吧,而且在肉眼可见的现在和将来,这些问题应该还是会继续存在
问题是问这个有啥用
爹妈问的时候我都不知道干啥是干啥事,那只能是从我听说过的词汇里找一个胡说,一般都是随机的,今天是警察,明天可能就是工程师,万一哪天说了个扫马路,爹妈还要矫正一下,那都是学习不好没出息的孩子才干的
等到上学,知道了点干啥是干啥事,可是谁敢说实话呢,我自幼就有不劳而获的理想,如果不劳和获不能兼得,那我宁可不劳,而且我相信我不是一个人。但是谁敢把这个写到作文里?我十几岁的时候,港台明星刚开始来内地捞钱,初中生谁还没个明星梦,但是能说出来吗?音乐家和歌星是有本质区别的——所以我只好告诉老师我要做个科学家。和我一样怀揣科学家理想的同学那么多,后来也没听说老同学里有几个把吹过的牛逼兑现了的。现在看历史书,经常记载大人物小时候就有过人的言行,其实想想,我要是现在拿了科技进步奖被写进教科书,应该也会有一句自幼树立远大理想立志如何如何的话吧,别以为这是出版社的编辑们给我脑补的,我小学的时候真写过这样的作文
工作面试问的就比较落地了,因为已经是成年人,所以没人再虚无缥缈的问长大了如何如何之类的,而是直接问,未来三到五年有什么职业规划。说实话,每次我回答的都不一样,我也都不记得都是怎么回答的了,因为都是瞎编的。三到五年?哥们出道二十年,做的最久的一份工作是差一个月五年,第二久的是三年零四个月,所以问我三到五年的职业规划,比较现实的答案应该是不辞职
对于绝大部分底层码农来说,身在号称瞬息万变的行业里,考虑一年以上的职业规划都是不负责任的意淫,这么大时间跨度可能发生的事都超出我的控制甚至想象,我又不是呼风唤雨的业界大佬,也没想过引领技术发展的新潮流,我想做的其实只是随波逐流不掉队而已,规划?轮不到我规划。而且实际上,如果观察各个行业的人才流动状态,很清楚呈现出,越是有活力的行业,越是行业再蓬勃发展的阶段,流动性也越强。员工不稳定,那是行业发展的好,不是死水一潭。所以如果公司对自己所在的行业有自信,也根本没必要问应聘者三五年的职业规划,因为无论他有没有规划,都应该在三年内攒够辞职的资本,否则就不配通过今天的面试
所以我招人从来不问应聘者的规划,问这个干啥。但是啊,架不住有 hr 和我一起面试,人家要问呢,那我就听听答案吧。其实我甚至希望申请人没规划
是的,没规划,事情就比较简单,最好是真没有,真怕冷场就说点老婆孩子热炕头的家常话,于是这个话题就打住了。一旦有规划,那就要问规划是什么,然后我就必须开始琢磨了,这个答案是真的还是假的?是现在的实际想法吗?会不会是说这个哄我玩呢?这样的规划代表了什么样的三观?和公司能匹配吗?现在的规划以后会不会变?如果市场行情变了如何应对?如果和公司的发展方向不匹配怎么办?如果用这个人要怎么安抚情绪?问题就复杂了,太麻烦,我嫌乱
其实招聘和应聘也没什么本质的区别,都是在获取信息和权衡利弊,所以我无论是应聘还是招聘,我都不在在意对方的理想,我只说我现在要什么,我要找一份什么样的工作,我要招一个什么样的员工,我不能保证未来这个需求不会变化,我可能未来对公司有不一样的预期,也可能对招聘来的同事有其他的期望,如果不能双方达成一致共同完成自我更新,那就一拍两散也不是什么坏事,直接坦白的说出来就好
即便不是职场,人际关系本来也应该如此,谁都不必勉强坚守着早已想放弃的诺言,只因为曾经吹过一句无论走没走过脑子的牛逼许了个也许当时很诚恳但是现在看来非常不靠谱的愿望而违背此时此刻内心最真实的想法
无论企业想要留住人才,还是员工想要留在企业里,甚至人际关系的维系,都是吸引和被吸引,需要和被需要。无论人还是企业都在不断的变化,有主动的变化,也有受到外界影响不得不变化,这就需要双方的节奏和方向保持一致,并且互相响应,或者跟进或者矫正,否则这关系解体就是早晚的事,这些都不可能是预先规划好的
所以哲学上不就说嘛,变化才是常态,运动是绝对的永久的,静止是相对的暂时的
当然了,解决最困难的问题的最顶尖的人才,直眉瞪眼的奔着改变世界拯救全人类拿个诺贝尔奖都有点屈才的那种,那肯定是必须投入一辈子的精力去专注的玩命,和一个问题死磕到底,不能因为看不到希望就换一个课题做。爱因斯坦最后的二十年就是全身心的投入统一场论,拒绝社交应酬,不管别人的研究,虽然问题没有解决,但是更增添了其伟大
但是这就要先掂量一下自己是几斤几两,不是爱因斯坦的命,就别得爱因斯坦的病,对于绝大部分人来说,确实没必要想的那么清楚,遇到风口赶紧变猪,能飞一会是一会,也别相信什么大人物所谓的不达目的誓不罢休的口号,目标该换就得换。人家鸿鹄理解不了咱们燕雀的志向,别看俞敏洪一直说目标明确坚持到底,他自己就口是心非,他要是真这么干,没准现在还在美国刷盘子呢

2021年10月22日

古代大部队行军的废物怎么处理

Filed under: 感悟 — gcd0318 @ 13:51

偶然看到有人问,古代行军动辄几十万,沿途的粪便垃圾怎么处理,会不会污染环境。这是个很好玩的问题,虽然……我也不知道答案
中国很大,古代很长,还真是不好说各个时代各个地区甚至各少数民族和中原王朝的军队是不是都有一样的作风,而且也没怎么见过史料里记载军队如何处理垃圾的,不过有些东西应该也还是可以暴露一点端倪吧——以下全靠猜的
就比如战国时期孙庞斗智的故事,其中有一段著名的添兵减灶,庞涓通过清点齐国军队做饭挖的炉灶数量去判断齐国的兵力人数,但是实际上齐国的兵力虽然增加了,却故意减少了炉灶的数量,这就导致庞涓对齐国兵力产生了误判,以为齐国部队的人数在不断的减少。如果史记的这段记载可靠的话,那么我们基本可以判定,至少在战国时候,就已经出现了军队对排泄物和垃圾的处理措施,而且是很常规的处理
行军做饭,挖灶做饭应该都是有规制的,多大的炉灶可以供应多少人吃饭,从炉灶的数量和体量,大致能估算出军队的人数,这个很好理解。但是庞涓在清点了炉灶数量之后,如果能同时检查一下垃圾和粪便,应该就可以更准确的估计出齐国兵力,甚至识破添兵减灶的计策。因为如果炉灶数量减少,大不了就是全军轮流吃饭,不过是吃饭晚一点,拖的久一点,排队多等一会而已,减灶是可以实现的,但是垃圾和粪便是不可能人为强行缩减数量的,士兵就算轮流拉屎,也还是会产生那么多屎,军营的厕所总不能搞限流限号,每天只能进去多少人,看腰牌上厕所,一三五队可以拉屎,二四六憋到明天再说。而如果齐军刻意掩盖垃圾和排泄物,以庞涓久在战场惯于行军的基本素养,也应该会引起警觉,发现没有排泄物和垃圾的痕迹,说明齐军是在故意隐藏着什么,从而提高警惕
所以可以认为,行军中间所产生的粪便和垃圾应该都是经过妥善处理的,而且很可能和军营不在一起,并且这是当时很常见的通行做法,所以庞涓没有看到粪便和垃圾也并不起疑心,因此没有基于此重新判断齐国的兵力和灶坑的数量关系
其实这个问题还牵涉到了人类行为对自然环境的作用,是个很专业的问题,我只说一点常识,不一定对,只是我在参与一些户外活动的过程中形成的一点认识
有些垃圾扔在野外的环境危害很低,就比如排泄物,随地大小便基本上不是什么严重的环境污染,除非是有消化道等疾病或者寄生虫,另外比如吃不完的食品,擦手的纸、在野外扔了也就扔了(当然以上这些也仍然都是不文明不卫生的行为,不值得提倡),这些东西可以被自然氧化,被野生动物吃掉,被土壤吸收。但是太过分集中也不行,有过那种现象,水体被高肥高养分的垃圾过度集中污染,出现某种水中的动植物疯狂繁殖,覆盖水面,影响阳光照射,大量消耗水中氧气,导致其他生物无法生存,破坏生态,这样的案例
但是有些垃圾不能扔在野外,比如塑料橡胶之类的化工制品,在自然环境里能长时间存在,形成污染。金属本身不会对环境有害,但是漆面可能危害环境,另外尤其有尖锐突出部分的金属制品,如果被人或者动物踩踏,或者被野生动物误吃,也可能造成伤害甚至死亡,所以也最好不要扔在野外
再就是,活体动物不要轻易往自然环境里送,现在有些放生就是瞎搞,也不管是什么鱼,随便找个池子就倒进去,不管什么动物,找个野地大山就撒出去,这么干的结果,要么是给当地的其他动物送了一顿饭,要么可能就是当地没有这种动物的天敌,无法形成生态平衡,形成霸主型的存在,俗称物种入侵
水果皮壳之类的,其实扔在野外也不是太大的危害,会被细菌分解,被野生动物吃掉,会氧化腐烂,最后尘归尘土归土,但是如果里面有种子,那就也有一定概率形成入侵了,不过我觉得应该风险极低吧,基本上也只存在理论上的可能性吧,适合当地的种子,当地的生态应该早就适应了这种植物,能自然消化掉,而当地生态处理不了的植物,应该也不适合在当地存活。至于坚果,因为一般都是吃熟的,所以就算埋在土里浇水施肥,也长不出来

秦始皇的遗诏被篡改了吗

Filed under: 科普 — gcd0318 @ 10:56

按照史记的记载,秦始皇死于巡行天下的路上,在沙丘发生了著名的沙丘之变,秦始皇死前要传位给扶苏,但是赵高和李斯篡改了遗诏,害死扶苏,扶正了胡亥,继而天下大乱,秦朝二世而亡。这就给很多人留下了遐想的空间,如果扶苏接班,是不是秦朝就能延续的更久一点
其实这个问题原本很无聊,这种假设根本不是个历史问题,更适合作为文学创作的素材。但是后来,随着考古的进展,尤其发现了赵正书,一切都有了更大的讨论余地。因为赵正书中明确记载着,秦始皇就是打算传位给胡亥,并没有什么修改遗诏这回事,这和史记完全矛盾。但是赵正书中太多语焉不详模棱两可,完全不是写历史的风格,因此也有很多人认为赵正书可信度不高。但我倒是觉得,至少它提供了一个不同于史记的说法,毕竟史记关于秦朝皇位传接的部分,写的太奇怪了
首先,秦始皇一直不立太子,这很奇怪,秦国有立太子的传统,而秦始皇从即位秦王开始算,在位三十几年,亲政二十多年,有十四个儿子,但是一直没有太子,就很不正常。赵高说秦始皇一直想立太子,但是被蒙毅阻止了,但这恐怕只是为了害蒙家而编造的谣言。也有人说秦始皇在求长生,觉得自己不需要太子,但是秦始皇连陵墓都在修,怎么会真的相信自己能永生?我觉得很可能就是秦始皇还没想好,还在考察这些儿子们,但是这其中我们知道的只有胡亥和扶苏
扶苏是长子,但是秦始皇对他应该不太满意。史记提到扶苏多次进谏,尤其给术士求情,让秦始皇很不满,所以让他去长城。因此吕思勉在秦汉史里提到了一个观点认为,自古不用太子为大将,除非是要行废立事,如申生故事,既然派了扶苏去长城军,那就说明把他排除到了太子人选之外
这里提到的申生故事,按照各种史料的记载,确实是晋献公有了废立的想法之后才派太子申生去打仗。当然也有人反对申生为将的,里克就认为,国君亲自带兵出征,太子可以一起去,也可以不去,都有道理,但是国君不出兵而让太子独自带兵,不合传统,还会让太子的指挥左右为难。结果晋献公直接挑明了,就是在考虑要不要换个太子。所以申生见到里克就问,是不是我已经被废了,里克也只好安慰申生说,不至于不至于,你爹就是怕打仗,你不能怕,好好干吧。倒是狐突看的明白:这事八成是完蛋了
但是因为申生这一次,就说太子带兵一定意味着废立,能成立吗?难道是因为申生后来被废,就形成了惯例?吕思勉对此没有论证,也没有提供这个说法的出处,因此也有人对此提出质疑。反正我是在吕思勉这里才第一次听说这个说法,听有些读者说在资治通鉴里梁太子申带兵的部分的的注解里见到过大子不将兵的说法,但我也没机会详细问是哪个版本的注解
但是翻看先秦的记载,就能找到很多太子带兵打仗的例子。比如,先说一个不太贴切的例子:周武王初起兵伐纣的时候,随军是带着文王牌位,自称太子发。可见太子不带兵的规矩,至少周武王就没当回事。那么之后我觉得,太子不带兵,就很难在周朝成为一个定制,因为毕竟开国的老祖宗就是以太子身份起兵的——当然了,也有人会说,正是因为周武王以太子身份起兵造了商的反,所以才让周朝的其他太子不敢带兵。哈哈,历史问题好玩就好玩在,一个现象可以正反的解释
那么先秦真的罕见太子带兵打仗的例子吗?或者说带兵打仗的太子都被废了吗?其实也并不是:
北戎攻打齐国的时候,郑国太子忽带兵援救齐国,后来太子并没有被废,也确实即位了,但是候来就如祭仲担心的,很快就被其弟突取代
左传襄公十年诸侯伐郑,齐国派出的就是太子光,也就是后来的齐(后)庄公,在位六年,因为给崔杼戴绿帽子,被崔杼杀了
宣公十八年晋卫伐齐,卫国带兵的是太子臧,后来是卫定公,在位十二年
夫差做太子的时候带兵打过楚国
赵襄子做太子的时候,有一次带兵打仗,回来后智伯就建议赵简子废了他。智伯虽然很可能是因为和赵襄子有矛盾才建议废赵襄子,但是两人的纠纷中智伯是占了绝对上风的,赵襄子被欺负了都没还手,智伯能以什么理由要求废赵襄子呢?难道真是太子不将兵?不过此时还没有三家分晋,赵襄子很难算是太子。类似的还有魏武侯,虽然带兵打过中山,但也是三家分晋之前,大夫和诸侯的规矩很可能也不太一样。而且虽然六国年表里记载太子伐中山,但是魏和赵世家里都没称其为太子
西周策里还提到,有人为了面子,还专门建议太子将军,可见大子不将兵并不是公认通行的道理,左传里还有卫太子因为打仗的时候害怕而被嘲笑的事,可见太子打仗并不罕见
但是太子带兵打仗也确实很可能危害到太子的身份和地位,例如修鱼之战,韩国太子奂参与了五国攻秦,结果战败被俘,后来他就几乎没有在历史上留下其他痕迹,后来即位的韩王安应该不是他换了马甲
又就比如梁惠王的太子申和庞涓一起去打仗,刚出发就遇到个姓徐的,对他说这事危险,怎么都是麻烦,打赢了也不过还是个太子,将来能正常接班而已,和没打一样,但是如果打败了,就很可能太子之位不保,尤其现在想回也回不去了,现在等着想看你笑话的人多着呢。太子的手下也说,出兵再退回去,和打了败仗一样
这个徐先生是不是危言耸听呢,真有那么多看热闹的吗?这个真的有,就有人给太子申的兄弟公子理出主意说,太子这一去一定打败,你不妨去找太后求情,让她把太子叫回来,如果太后能召回太子,将来太子一定会感谢你,你落个好名声,如果太后没有召回太子呢,那他也一定会打败仗,到时候你就是太子了,以后王位一定是你的,反正里外里怎么都不亏——结果太子申果然打了败仗,做了俘虏(战国策甚至说是战败被杀)
再说个离司马迁比较近的吧,刘邦生病的时候也曾想让刘盈替自己打黥布,但是被商山四皓劝阻了。商山四皓当然是为了保证太子的安全和地位,于是找到吕泽说,太子打赢了也不过还是太子,打败了地位不保,而且太子指挥不动那些功勋宿将,肯定打不赢,而且现在皇帝偏爱戚夫人和刘如意,这摆明了就是要换太子,然后又教吕泽一套话,让吕泽转告吕后,说给刘邦听,就说让刘邦带兵亲征,哪怕在军营里躺着,那些老将也会玩命打,肯定能赢。刘邦果然中计,骂着臭小子真是个废物,不用你了,老子自己来,就出兵了。但是张良还是留了一手,让太子掌握兵权,监督关内诸候。可见首先,太子不带兵,至少到了秦末汉初,这并不是一条定制,否则商山四皓大可直接找刘邦,以不合规矩为理由劝阻,以商山四皓在刘邦心里的地位,这话不会没用,正因为没有这个规矩,所以才不得不通过吕泽,以吕氏的私利来说服吕泽,通过吕后劝阻刘邦;再者,太子不带兵的说法即便可以成立,至少在刘邦这里也未必是出于对太子掌握兵权的忌惮,至少不是重要的原因,因为毕竟最后,刘邦还是授权给太子一定的兵权,监督关内诸候
具体到秦国,秦庄公的长子世父,史记没有记载他是太子,但是记载了他带兵为祖父报仇,有一句“遂将击戎,让其弟襄公”,这个“让”的到底是什么,有人说就是让出了太子位,然后才带兵打仗。但是史记并不称其为太子世父,以史记对让德的重视,如果世父出于孝道而决定带兵出征,又让出了太子之位给弟弟,这种孝悌双全的典范,是应该要大写一笔的才对
总之综合起来看,反对太子带兵的理由大概有几方面:太子是接班人,不能轻易冒险;太子在军队里很难处理国君命令和战场指挥的关系;太子掌握兵权,权柄太重;太子带兵,打赢了没有奖赏的余地,打输了弄不好太子都当不下去。但是这里也有个问题就是,如果太子不打仗,他的兄弟们却可以去打仗,那就是……李世民兄弟的事大家都知道的对吧
其实如李世民兄弟这般的故事先秦也不是没有,尤其小宗子如果掌握了兵权,麻烦更大。比如卫庄公让公子州吁带兵,石碏就反对,认为以后会作乱。后来卫庄公死后,州吁果然谋害卫桓公——顺便说一句,州吁还有个大名鼎鼎的好基友,就是共叔段,郑伯克段于鄢的那个段,这可真是物以类聚
以吕思勉对史料的熟悉程度,这些太子带兵的记载我相信他一定都知道,那么他提出太子将兵主废立的说法,也自然有他的道理和考证,也许这就是大学者和我们之间的差距,人家认为一句话不证自明的道理,我们要考证很久却还摸不到头绪。那么我们不妨就暂时先搁置起这些质疑,选择接受吕思勉的说法,也就自然可以得出,既然扶苏去了长城军,那就说明他客观上不是太子的身份,主观上秦始皇也不打算让他当太子。而胡亥,客观上也不是太子,那么主观上秦始皇有没有想培养他接班?我不知道。吕思勉认为既然秦始皇巡游带着胡亥,就表示秦始皇偏爱胡亥,而且让熟悉法令擅长书法的驾车高手赵高做胡亥的老师,可见秦始皇确实在有意识的培养胡亥的某些方面技能
既然如此,史记说的秦始皇临死前安排扶苏主持葬礼就很奇怪了。因为传统上,葬礼应该是太子主持,如果有所谓的秦始皇的原版遗诏,让扶苏主持葬礼,那也就是打算以扶苏为太子,换句话说,让扶苏主持丧礼的意思就是让扶苏做太子了。但是既然如此,为什么不直接说传位给扶苏,却还要绕个弯子,只说让扶苏主持葬礼呢
但是最终上台的还是胡亥,史记说胡亥能够接班是赵高的运作,这也很奇怪
一则,秦始皇是病重的时候传遗诏,赵高却扣下不发,这就要求赵高必须对秦始皇的寿命很有把握,认为秦始皇不会康复起来,否则追究起诏书的去向,赵高就死定了。所以有人认为秦始皇是被赵高害死的,因此赵高才对秦始皇必死有十足的把握。但是这个说法猜测的成分太大
二则,赵高找李斯合谋,那么赵高就必须很有把握,无论李斯是否和他合谋,他都都必须要牢牢的控制住李斯。原因很简单,如果李斯不合作,赵高要确保李斯不会揭发他,而如果李斯答应了赵高,赵高还要确保李斯只能是他的帮手,而不是让李斯骑到自己头上,毕竟李斯是丞相,地位很高,如果李斯反手成了主导者,把赵高弄成了小弟,那赵高就白玩了。但是看史记,赵高又似乎没有这样的手腕
三则,史记里赵高劝说李斯的最核心理由是,扶苏一旦上台,宰相一定是蒙恬,李斯这只老鼠就要被赶出粮仓了,按照秦国的惯例,卸任的宰相从来没有好下场,李斯必死无疑。这个理由吕思勉就不信,认为蒙氏和扶苏的关系没那么铁,而且李斯作为功勋老臣,也不至于一定会被清理出朝廷。尤其李斯也肯定知道赵高和胡亥的师生关系,如果他担心扶苏上台自己会被蒙恬取代,难道他会想不到胡亥上台自己也会被赵高取代吗?这两种结果并没有什么本质区别
基于此,吕思勉认为史记的记载就是不可信,认为这是秦末到汉初人们流传中出现的讹误。赵正书的出现,恰好就是从一个侧面支持了吕思勉的观点,表明当时关于扶苏和胡亥谁该即位确实有别的说法,至少至少,秦二世的官方通告一定要说自己是正常传位接班的。而现在我们看到的史记是经过司马迁父子取舍后形成的内容(暂不考虑史记也可能被篡改的问题),司马迁要达到的效果就是胡亥即位不正,所以天下大乱,楚代秦(汉取代的是楚)有合理性
中国旧史学对事实的兴趣远不如对意义的兴趣浓厚,甚至钱穆说古代史学家都要有小说家的本事,能依据人物形象构想出对话表情场景。我没这么激进,但是细节来自想象的这个说法我也是相信的。而且我觉得,古人写历史前确实都是先立人设,然后根据人设再进行选材。一个人可能做过成千上万的事,但是被史学家知道的事情可能就只有几百件,最后史学家要从这几百件事迹里选出几件顶多几十件写进史书,那就需要取舍,如果没有预先设定好一个框架,这些可能互相并不相关的事件就没法组织,这个框架就是人设。史学家根据掌握的资料,结合要表达的态度,先给每个人定基调,是忠是奸,是褒是贬,然后把事情填进框架里,这个过程里不一定每件事都能在框架里找到位置,那些不符合人设的事填不进去,就会被丢弃不记载,这一取一舍之间,就是史学家的眼光和水平
人都是复杂的,纯粹的好人或者坏人大概只能存在于在文学创作里所谓的脸谱化扁平人物,在现实世界里几乎是看不到的。就比如我在地铁里给孕妇让座,但是出了地铁过马路我就闯了红灯,这都是同一个人在短时间内的连续行为。这种人和事应该大家都不陌生,也许我们每个人都有过这种类似的经历。如果后来我死于挽救溺水儿童,那么我的人设就很可能是个热心善良的人,给我写传的时候就只会写让座,闯红灯的事就“为贤者讳”了;但是如果我后来死于酒驾,那么我的人设就是不遵守交通规则,我的传记里大概率就只有闯红灯,让座的事不值一提。所以我们可以看到,历代皇帝圣贤出生都伴随着各种祥瑞,这固然是对他们的美化,但是同时也要想到,从古至今梦见过龙凤云霞的孕妇恐怕不止亿万,但是她们生出来的孩子后来没有名垂青史,所以她们做的梦也就没人知道了,只有那些伟大人物的母亲梦里的奇观才符合这些人物的人设,因此会被史学家采访到并且记载下来。宋史的苏轼传里记载了苏东坡小时候读汉书说要学习范滂好榜样,如果让我写骆宾王传,我也一定会收录曲项向天歌,难道苏东坡就没有背不出课文挨打的时候?骆宾王小时候没写过臭诗?肯定会有嘛,但是这些都不符合人设,不会被记录下来。当然了,那种大才子小时候不好好学习的故事也不是没有,但是必须有个反转的剧情,比如李白小时候不努力学习的故事,结尾一定要反转到铁棒磨成针,从此发奋图强,这就是古人写历史的人设先行的惯例,甚至一直到今天,写人物传记拍名人纪录片等创作中的选材口味,也依然还受到这种风气的影响
还有一个惯例就是,无论是史记还是后来的历代正史,都会把开国君主写的很优秀伟大,商汤文武都是圣人,非如此不足以说明他们建国的必然性,而写到亡国君主一定都有大过错,要么残暴要么昏庸,甚至比如史记里写到桀纣,连描述用的词汇都一样。两个间隔几百年的人,怎么可能口味不变?即便都是昏君,难道不能昏的有点个性?这就是他们的人设,写史书也是结合这种人设来取舍材料,与其说开国君主英明神武,桀纣暴虐而亡国,不如说史记想告诉其他的君主,做了这些事可以天下太平,做了哪些事就要亡国败家,至于他们是不是真的如此,那就不是特别的重要了
既然人设先行,根据人设来选材,开国君主贤德而末世君主昏聩,那么秦始皇父子三人的人设也就呼之欲出了。史记对秦始皇还是有很正面的评价的,但是对胡亥就没那么客气了,因为史记对胡亥的人设就是即位不正,并且也预设了扶苏的仁厚形象,那么所有的剧情都要围绕这个前提来展开。司马迁很可能是看到了关于秦始皇传位的各种记载,这其中很可能也包括赵正书。一个说法从开始流传到形成文字,中间也需要经过一段时间的酝酿,一般认为赵正书形成于西汉早期,那么可见胡亥正常接班的说法在秦末到汉初应该就有了。甚至至少,胡亥上台后秦朝官方的口径也一定就是秦二世奉秦始皇遗诏合法继位,无论真相如何,秦朝政府给出的正式通告也只能说这是一次父子之间正常的权力交接。而且这些资料大概率是被萧何保住了,所以司马迁理论上应该能看到秦朝官方的这种记载。但是这个说法绝对不能写进史记,因为这个说法并不有利于胡亥扶苏兄弟的人设。而且史记里不断刻画扶苏刚毅武勇信仁奋士的形象,但是除了给术士求情,扶苏的其他进谏内容全都没有留下来。难道扶苏所有的意见都是这种关乎人道主义的?会不会也有符合法家思想的想法?有没有关于加强秦朝统治的内容?这些目前还无可考证,也许随着未来某个重大的考古发现,找到了扶苏进谏的竹简或者副本,才会更加丰富我们对扶苏这个人的理解吧
那么扶苏和胡亥到底谁应该接班?对史记来说,这个问题的答案并不重要。那么对我们来说,这个问题的答案还重要吗?我倒是觉得,对我们来说,事实的真相也不那么重要了,因为反正也闹不清楚,不妨把它交给考古,寄希望于未来发掘出某个秦末高等级贵族或者官僚的大墓,甚至打开秦始皇陵的那一天。但是这就成了个考古的问题,而不是历史的问题。从历史研究的角度,可能我们更需要知道的是,这件事为什么被记载成这样。历史已经过去了,但是观念都是被建构的,写历史永远都是为了建构起当时乃至未来读者的观念
每个学科要面对的都是两方面的问题,一是目的,是追求,是目标,是要解决的核心问题,本学科要做什么,二是工具,是手段,是方法,是用来解决问题的办法,本学科要怎么做。历史也不例外。事实真相对于考古来说是它的目标,但是对于历史研究来说,就只是手段而已。这当然不是说历史不关注事实真相,而只是真相的重要性相对低而已。就如我在老文里说起过的,历史更重要的是如何分析和理解这些资料,对传世的记载和考古的发现做出分析和判断,这才是历史的目的。即便未来由于考古等学科的发展,提供了更多的甚至和现在我们所掌握的相反的史料,那也不可怕,只要我们的分析能力足够,基于新的资料,把我们的分析方法重新用一次,自然就能更新我们的知识
我觉得中国古代的旧史学的目标,就是塑造人们对过去的人和事的认知,而记录只是为了达到这个目标所采用的方法而已,因此才会有前面所谓的人设先行的原则。这可能和现代的历史工作的目标不太一样,今天的历史研究固然也在塑造人们对古代的认知,但是也还在试图接近客观的事实,有所谓的客观历史研究,而中国古代的历史则更加倾向于主观的历史。所以现代人会不断对古人的记载进行重新的理解,来达到接近真实的目的,这就是现代历史的方法之一。但是当我们面对古人对同一件事留下的不同记录的时候,除了谁真谁假之外,更值得探索的问题其实可能是,他们为什么记载的不一样,这些差异反映了不同作者的什么记录目的,对同一个人的人设有什么不同,为什么会有这样不同的人设。这类的问题,我觉得比哪个记载是真的,要更有思考的价值。只知道史记和汉书有多少处记载的差异,那是编个程序就能解决的事,但是为什么会有这些差异,才是读历史时更应该关注的地方
这就像,文学上,我们可以讨论为什么会有举头望明月和举头望山月的差异,小扣柴扉久不开和十扣柴扉九不开哪个更好,这种讨论可以促使我们更加细致的研究文字,锤炼语言,辨析词汇之间细微的差异,这些都很有价值。但是纠结哪个才是李白的原文,陶渊明到底是见南山还是现南山,甚至红楼梦的哪个版本才是曹雪芹的本意,这就很无聊。文章的原文当然重要,但是对于文学研究来说,欣赏艺术获得美感才是目的,而作品是我们欣赏的对象和学习创作方法的途径,考证版本固然有它的价值,但是纠结原文如何,在文学上意义不大,即使能有定论,比如见南山就是比现南山更好,也不能说明陶渊明当初写的就是那个更好的版本,也许若干年后有考古发现,挖出了陶渊明的手稿,那么陶渊明到底怎么写的,自然真相大白,没准陶渊明就是写的略低了一筹,难道就能推翻我们基于审美得出的优劣比较?难道就要再硬拗出一个道理,来说明其实陶渊明写的就是好,是我们之前的分析错了?恐怕没必要吧。既然如此,纠结哪个是原作还有什么意义呢
说个故事吧,高中时候有一次,语文老师讲卷子,有一个关于句子含义的选择题,老师先说了答案,然后开始讲解为什么答案是对的,比其他几个选项好在哪,就在老师的讲解几乎要把我说服了的时候,突然老师说,抱歉,看错了,答案应该是选另一个……这不就好像当我们为两个版本的名家诗排出了优劣顺序,并认为古人写的一定是更好的那个的时候,突然考古挖出来了一个正确答案,古人写的其实就是那个被我们认为不太好的句子,两者是一般的尴尬嘛
真相只有一个,但是对记载的理解却可以很多,这也是人文学科比理工科更好玩的地方
最后顺便说一句,我对文学和历史的理解和态度都几乎主要来自体制外的老师给我开蒙引路,再加上自己的一点强行破墙而入,并没有经过职业研究者对我进行系统化的梳理和规范,纯天然,但未必无污染,属于野生学派,因此即便以上看法为专业人士所不容,也只能是题中应有之义

2021年09月28日

此楷书非彼楷书

Filed under: 科普 — gcd0318 @ 16:42

有人说东汉魏晋就有楷书,而且尊钟繇为楷书鼻祖,说实话有点颠覆三观。惊诧之余问了个和我一样不写字的朋友,很快得到回答:百度百科如是说
好吧,这就难怪了
不过整理许老太爷遗稿的时候倒是隐约记得有几句相关的内容,却发现也都是只追溯到唐朝。于是以此为线索,在文库里倒也翻出来点零碎的句子
其实我不写字,也不通书法史,以下都是从行家那里捋来的叶子。很多人看不起捋叶子的,但是我觉得也得看捋的是谁的叶子,叶嘉莹就靠着捋了一点顾随的叶子,都吃一辈子了,也没见她觉得怎么不好意思
这是一个书法史乃至艺术史的问题,我们都知道,任何艺术形式的发展史都是由参与者主观构建的,艺术家和艺术品的价值取决于接受者的态度,而不存在客观影响力这回事。这是艺术史和其他诸如政治史军事史最大的区别。比如军事史上的事件,无论是军制的变化还是战争的结果,无论是否被接受,它的作用都在发生影响,不会因为没人关注就在历史上被忽略
但是艺术史则不是这样,一件作品诞生以后,如果没有人关注,就不会对艺术史产生影响,左传汉书在历史研究中很重要,但是之所以在文学史上也很重要,是因为有太多的后世作者模仿左传汉书的笔法写文章,成为了典范。换句话说,艺术家和艺术品在艺术史上的地位,取决于后代的接受程度
为了避免问题扩大化,这里我只集中针对三个问题:
1,楷书怎么来的
2,东汉魏晋有没有楷书
3,钟繇算不算楷书的鼻祖
在开始讨论之前,首先明确一个基本前提:以下我们所谓楷书,如果不特别注明,就是写字的人经常要练的那个楷书,以颜柳欧赵为代表的书体
这里也要特别说明两点,首先,我们说以颜柳欧赵为代表,并不是默认只有颜柳欧赵才是楷书,而是因为颜柳欧赵基本代表了楷书发展到了巅峰,之后的楷书技巧和审美的追求基本没有脱离这个范围,所以强调颜柳欧赵的作品是楷书的典范,以此来界定楷书的范围,而不去考虑这个作品的时代背景
再就是,我们不限定是否作为艺术形式去创作,这也是检讨中国艺术史的通用基本原则。因为如果限定在作为艺术品创作的范围,那么几乎就等于把整个中国艺术史都排除了。中国古代几乎没有纯粹的为了艺术而艺术的艺术品,而是生活的艺术,不是让艺术品进入生活,而是把生活用品做成艺术。比如在书法史上最受重视的作品几乎都是因为生活用途而出现的,比如书信,便条,文稿,碑刻之类,其他比如文学绘画也是如此,前面提到的左传汉书都是作为史书传世,又比如昭明文选古文观止里也都大量的选了应用文,八家文钞里选了王安石的大量政论文。无论书法绘画文学,这些作品当初被创作出来都是满足实际的需要,但是被后世保留欣赏并取法,从而形成了他们在艺术史上的地位,成为了艺术品
之所以先明确这个概念,是因为在查阅资料期间,我很怀疑有些人是看到“楷书”“楷法”之类的词汇,就想当然的直接当成了楷书。大致猜测到错误结论的来源后,我觉得有必要先正名,名不正则言不顺,防止扯皮
基于对楷书的概念这样的界定,我查阅了一些常见的古代书法艺术理论文献,试图找到楷书和钟繇在后代书法理论家和书法史家的理论体系里是如何被接受的
结果就是,钟繇之后的书法理论著作里,很少提及他的楷书,甚至一直到唐朝初期,书法理论家不断提到钟繇,但是很少提到楷书这种书体,更遑论两者的关系
比如梁代庾肩吾《书品论》对钟繇的评语是“天然第一,功夫次之,妙尽许昌之碑,穷极邺下之牍”,这评价的关注重点是钟繇的隶书(这时碑帖之争还没成为问题,碑帖也和我们要说的事关系不大,以后如果有机会再翻出来啰嗦一下)
唐代张彦远《法书要录》提及自己书法理论的学习过程时说“方悟隶式始变子敬,全法元常”,这还是说钟繇的隶书。而且《法书要录》中提到钟繇,要么不涉及具体的书法成就,只说书法史上地位(子敬之比逸少,犹士季之比元常,言去之远矣),要么是单纯的风格评价(德升之妙,钟胡各采其美;张芝经奇,钟繇特绝,逸少鼎能,献之冠世;元常每点多异,羲之万字不同),即使涉及具体书体,几乎都是关于隶书(元常皆作隶书;元常正隶如郊庙既陈,俎豆斯在),并且以张芝的草书和钟繇的隶书并举(钟善真书,张称草圣)
唐代张怀瓘的各种书法理论作品里多次提到钟繇,例如《文字论》提到“钟王真行,一古一今”,也是针对钟繇的隶书。《书断》在总结书法家时把钟繇排在隶书行书神品,八分草书妙品,而总结各种书体的源流的时候,却只提到八分,没有楷书
假设钟繇是楷书鼻祖,这样的评价就有点奇怪,如果楷书是钟繇开创,或者即便不是钟繇开创,但是如果钟繇时代就有,那么南北朝几百年就应该有人学习楷书,发展到唐朝,成为书法一体,应该颇有些历史可写才对
这就可见,在张怀瓘要总结的唐以前的书法史上,楷书并没有正式形成,应该还正在从真隶正分中孕育,因此没什么历史可溯。所以《书断》评价钟繇时,提到他“真书绝世”,学的是曹喜(曹喜擅长篆隶)、蔡邕、刘德升,在评价刘德升、胡昭、韦诞的时候分别提到钟繇擅长行草隶书,尤其最后总结里提到“元常专工于隶书”。总和以上看来,张怀瓘对钟繇的总体评价和他引的各种资料都很一致,不涉及钟繇和楷书的关系
而且《六体书论》和《书断》都没有提到楷书的源流,也或可说明在唐人看来,楷书并没有真草隶篆那样悠久的历史需要追溯。不过《书断》中也确实多次提到楷,其中一部分是“楷模”的意思,另一部分则确实是楷书,因为张怀瓘是唐人,当时楷书已经形成,张怀瓘用唐时的楷书和其他书体做比较,或楷书和其他书体并举,阐明其中关系——但是这时钟繇早已死了几百年咯
当然了,提到钟繇楷书的也不是没有,比如唐徐浩古迹记提到“及张芝章草,钟繇正楷”,唐虞世南书旨述说“钟太傅师资德升,驰鹜曹蔡,仿学而致一体,真楷独得精研”,这是我查资料时看到的唐代仅有的几个例子,把钟繇和楷书放在一起。但是这里的楷书,还是值得辨析,因为唐人提到“楷书”这个词,有时候也不一定就是书体的楷书。例如《书断列传》讲唐太宗偷兰亭序的故事,萧翼对辩才说“弟子先传二王楷书法”,很显然不是指的书体上的楷书,而是“楷模”的意思。如果徐浩和虞世南所谓的“楷”也是“楷模”的意思,那么正楷和真楷就还是作为楷模的隶书。不过这样的理解似乎存在修辞上不工整问题,也许还需要进一步的检讨
现在“楷书”还经常和“真书”“正书”混用,并被认为是一回事,而古代所谓的“楷”或者“楷法”未必就是楷书。比如宋宣和书谱提到“在汉建初,有王次仲者,始以隶字作楷法。所谓楷法者,今之正书也……此书既始于汉,于是西汉之末,隶字不刻,间杂为真书……三国钟繇者,乃有贺克捷表,备尽法度,为正书之祖”——这就很容易让读书不细的人看到一样的字就当成是一回事,理所当然的认为正书真书楷书都是一回事,钟繇就是楷书之祖
在处理古文献记载的时候,这种像检索程序一样处理词语的方法很危险。现在随着搜索引擎的普及,文献检索很便利,这就导致做资料收集和查找的时候,人会偷懒,不去仔细辨析一个词语在具体语境里所表达的概念到底是什么,而只是看到一样的词,就想当然的认为说的是同样的事。“楷”作为一个符号,随着时代和语境的变化,当然表达不同的意思,这才是理所当然。文本的概念和指涉对象需要回到上下文才有可能准确的界定,这是一个基本的不能再基本的研究方法问题
《六体书论》除了八分的部分提到钟繇,在其他地方提到钟繇的时候,或者用其书法史上的地位(钟张为枝干,二王为华叶;岂可许钟张二王,独高于往日也),或者是和隶书有关((隶书)钟繇法于大篆……王羲之比钟繇……学真者不可不兼钟,学草者不可不兼张……不可不兼于钟张也)。这就是前面我专门强调,艺术史是主观构建的历史,作者和作品的价值取决于被接受的方式和程度,在张怀瓘看来,钟繇和隶书的关系才是值得关注的问题
以上的讨论里,我刻意回避了“真书”“正书”和“隶书”的关系问题。我猜测让很多人认为钟繇和楷书有关的原因,也许就是,很多人认为楷书就是真书或者正书,而且也确实有很多书法理论提到钟繇擅长真书或正书,比如前面提到的“元常正隶如郊庙既陈,俎豆斯在”
又比如唐李嗣真书品后提到逸品五人有钟繇,对应的书体是“正”。这个“正”到底该如何理解,其实也算是个不大不小的问题。如果这里指的是“正书”,那就还是真书,但如果是“正体”,那就不只是真书,而是可以包含八分和篆(刘熙载艺概:书凡两种,篆分正为一体,皆详而静者也,行草为一种,皆简而动者也)
张怀瓘《六体书论》认为“隶书者,程邈造也。字皆真正,曰真书”,换句话说,真书就是隶书。《书断》关于僧智永的记载提到“兄智楷,亦工草。丁觇亦善隶书,时人云丁真楷草”,就是以真为隶书。顾炎武在《日知录之余》里也提到了八分,他认为“八分虽别一体,亦谓之隶也”
张怀瓘在《书断》里也解说了一番八分,针对卫恒在《四体书势》里提到的“上谷王次仲始作楷法”的说法所引起的争议略作辨析,认为“八分已减小篆之半,隶又减八分之半”。而且晋代所谓楷法,也只是楷模的意思,比如《辛谧传》“工草隶书,时为楷法”,就很显然说的不是楷书——但是无论结论如何,都明确提到了,八分的创始人是王次仲,钟繇不是创始,尤其《六体书论》更是直接论资排辈,说“八分者,王次仲造也……蔡邕为祖,张昶皇象为子,钟繇索靖为孙”
倒是《艺概》认为,隶书时间跨度大,字体复杂,尤其又牵涉到和八分的关系,因此刘熙载和稀泥的认为“秦权上字为隶……钟王正书亦为隶”,换句话说,正书只是时代较晚的隶书而已,这个意见基本上是属于搁置争议,共同开发
刘熙载还认为,针对四体书势所谓的“上谷王次仲始作楷法”,考辨了传承,认为这里“楷法实即八分……至(毛)宏乃益之,使成大备耳”,这里的楷法还是楷模典范的意思
而正体在刘熙载看来,是不断变化的,“其实汉所谓正体,不必如秦;秦所谓正体,不必如周。后世之所谓正体,由古人观之,未必非俗体也。然俗而久,则为正矣”
但是刘熙载的和稀泥并未到此为止,他还认为,凡是能作为典范楷模的标准书体都可以称为隶书(其实自唐以前,皆称楷字为隶),虽然正书隶书不太一样,但是并不影响正书被当成典范,因为“楷无定名,不独正书当之。汉北海敬王睦善史书,世以为楷,是大篆可谓楷也。卫恒书势云:王次仲始作楷法,是八分为楷也。又云:伯英下笔必为楷,则是草为楷也”(这里引文明显不准确,卫恒《四体书势》的原文是“弘农张伯英者……下笔必为楷则,号匆匆不暇草书”)。刘熙载的这个说法也未必没有先例,比如《宋史》就提及“书学生习篆隶草三体……篆以古文大小二篆为法,隶以二王欧虞颜柳真行为法,草以章草张芝九体为法”,也是把真行统称为隶
所以在刘熙载看来,正体和八分只是在抢一个名字,抢一个作为典范的身份,这个身份在当时被叫做“隶”,正所谓“未有正书以前,八分但名为隶;既有正书以后,隶不得不名八分。名八分者,所以别于今隶也”。在被龚云起教授揶揄为“艺舟单橹”的《广艺舟双辑》里,康有为也采信了刘熙载的说法
不过刘熙载着么努力的在调和这些概念之间的关系,实在是有点尴尬,更可能是出于无奈。但是其实刘熙载大可不必这么费劲,早在明代张绅的《法书通释》里就认为“古无真书之称,后人谓之正书、楷书者,盖即隶书也……但自钟繇之后,二王变体,世人谓之真书,执笔之际,不知即是隶法别为构体。流传既久,失其本原,乃至日趋妩媚,恶俗之札,不可追改。今观欧颜而上,往往皆从隶古,学者但不详察耳。字原谓隶有秦隶汉隶……今当以晋人真书谓之晋隶,则自然易晓矣”——已经可以算是说的足够明白了
张绅和刘熙载的意见放在一起,简单说就是:以颜柳欧赵为代表的楷书,在东汉到南北朝期间,原本并不存在,欧颜学字也是学隶书,而东汉到南北朝时所谓的楷书,并不是一个表示某种书体的专有名词,只是一个普通的偏正复合词,作为楷模的书法,如此而已
这就很像“中国”这个词汇,在古代的文献里,它也并不是一个专有词汇,也只是一个普通的偏正复合词,中央之国而已。但是这两个词后来都成了专有名词,并且还都是很能刺激起某些过眼不过脑的人肉模式匹配引擎的敏感神经的词汇
正如《正书绪论》的说法,“宋自欧阳公之后始以楷书为正书,或曰真书”,把这几个名字给彻底搅乱了,也就自然让后人容易误会
至于钟繇配不配得上楷书的鼻祖,呵呵,楷书都不存在,鼻祖岂不孤单?就像西周楚国并不使用汉字,那么史记所谓的楚国三王,大概也只是个一厢情愿的误会,称王称了个寂寞吧
整体来看,至少到唐人的书法理论里,认为汉魏六朝的书法还是以隶书以及其变体为主,并未形成后世流传的楷书,而提起钟繇,主要是重视他在书法史上的影响力和典范意义。当然了,楷书和隶书确乎是有前后关联的,毕竟以肉眼可见的人类历史范围内看来,没有什么是毫无启承脉络的。隶和八分关系暧昧,而后世书家喜欢钟繇,学钟繇的字,写着写着写出了楷书也不奇怪。钟繇在楷书发展中当然是起了作用的,但是把他捧到鼻祖的位置上,我怕钟繇的屁股会痛,坐不安稳
追尊钟繇为楷书鼻祖,想来一大半是拉大旗扯虎皮吧,就像曹操的祖先是曹参,刘备的祖先是刘启,李渊的祖先是李耳,白话文的祖先是文言文,计算机的祖先是八卦一样,其共同特点就是似是而非,倒也不能说毫不相干,但是这个祖先之后的脉络中断,一直到很久之后才出现接续,而这个接续者和元祖之间的关系早已说不清楚,中间的流传无处可考,强认个有来头的祖先,给自己壮胆而已。阿 Q 就说嘛,谁祖上还没阔气过
当然了,如果硬要说钟繇不能写楷书,我也没那么大的把握,毕竟天纵奇才,可以为所欲为,而且中国人的习惯嘛,所有的创新恨不得都归结到某一两个天才祖宗的头上。但是书法史毕竟也是艺术史的一类,是后人建构起来的脉络,即便钟繇能写得一手好楷书,但是毕竟没有及时引起后世的关注,他自己再精妙有什么用呢
随着书写习惯和工具的变化(这是个大话题,还是再找机会说吧),唐代之后的楷书领域逐渐被颜柳欧笼罩,也便不再需要去追认什么钟繇。随着书写习惯和工具的继续变化,宋朝的楷书也出现了不同的味道。等到赵孟頫横空出世,楷书就算是一蹶不振,挪用厦门易中天的话说就是,走到了保险箱,也走进了死胡同
最后再次强调,这里所谓以颜柳欧赵为代表的楷书,并不是说在唐代之前一定没有楷书,也不是在强行定义欧阳询为鼻祖,更不是说这几个人物和他们的作品就是楷书的全部,而是要借由这个艺术形式的几个典范,来达到准确界定所讨论的概念范围边界的目的。这就类似说,以梅兰芳为代表的京剧,其实京剧早在梅兰芳出生之前已经存在了几十年,早有源流,梅兰芳也远不是京剧的全部。但是有人把京剧的历史追溯到四大徽班进北京,认为京剧距今两百三十多年的历史,那就也是有点类似这个强认钟繇为楷书鼻祖了。两者有关吗?有。是由此发展而来吗?是。但是无论钟繇之于楷书,还是徽班之于京剧,这个时间点都顶多只能相当于怀胎受孕,离分娩还有段日子
耐心等等吧,猫三狗四们

2021年09月17日

这位师妹有故事

Filed under: 故事 — gcd0318 @ 14:32

刚才有一位很久不联系的师妹突然问了些事,倒是勾起了一些上学时候的回忆
和这位师妹认识的很偶然,刚认识还不熟的时候,彼此不知道对方是哪个系,只是看见脸熟,说过几句话,彼此知道有这么个人而已。有一次我和同学中午去吃饭的路上讨论着正在做的实验和作业,刚从系楼出来,凑巧她从旁边经过,大概是我们说话的声音有点大,她就回头看了一眼,却发现是熟人,于是打个招呼。我同学看有女生和我打招呼,就先走了,留下我在原地尴尬
当时我和她聊了几句之后,她忽然问我,你是中文系的吗,我就纳闷,问她为什么这么想,她说因为见我当时手里拿的是一本文学史的书。我于是便告诉她,我是计算机系的,看看文学史纯粹是觉得好玩,也就顺便的知道了她是金融系。我也反问她,你看到我从计算机系的楼里出来,而且听到我和别人在讨论作业,怎么还会觉得我是中文系,她说,万一你是在准备二级,万一你是来计算机系玩的呢
我曾把这事写进关于研究方法的学期作业,因为整个过程,包括她的推理,我觉得是很典型的一个失败的研究方法导致错误结论的案例。她有很好的观察力,看到了我手里拿着文学史参考书的细节,于是得出结论,我是中文系,证据就是其他专业的人不太会看文学史。但是她也看到了我从计算机系出来,还正在讨论计算机专业的问题,这种更大的证据放在眼前,她却用两个“万一你是”来解释,这其实就是做研究的时候经常可以看到的失误
做研究就是基于证据得出结论,这个结论应当可以包容所有的证据,并且对于否定的证据能够提出解释。就比如这位师妹认为我是中文系的,她的证据就是我正拿着文学史书,这是正面证据支持结论,对于我从计算机系楼出来,并且讨论计算机实验这两个反面的证据,也提出了解释。从研究方法上,有一个合结论的正面证据,并且对两个反面证据给出了解释,那么她的结论是可以成立的
但是如果换个角度,把反面证据当成正面证据,而把正面证据当成反面证据,她就应该通过我从计算机系楼里出来,并且正在讨论计算机实验,得出结论,我应该是计算机系的,而我手里拿着文学史的书,也许是我选了文学史的选修课,或者我是替别人拿书,这样得出的结论有两个正面的证据支持,同时只有一个反面的证据需要解释,而且也很容易的就能得到解释,那么从研究方法上,这样得到的结论成立的可能性就更大
研究方法有个基本原则就是,尽量不要给证据加戏,逻辑越直接,需要解释的反面证据越少,越有可能接近真相。当然了,这不是说绕弯子的结论就一定不是真的,她对于我是中文系的判断也确实有成立的可能,一个正在准备二级的中文系学生到计算机系去串门,这种事确实有发生的可能,但是和一个替别人拿着文学史书的计算机系学生相比,哪个更有可能呢
当年我把这位师妹的这个故事写进研究方法的学期报告后,还把报告给她看过,但是当时我写的比较戏谑,说的不是帮别人拿着文学史书,而是说可能是有个中文系女朋友。她看指着这一行说……你这就是吹大牛了

2021年09月16日

烛影斧声的三处记载

Filed under: 文化 — gcd0318 @ 17:38

闲看论坛,见一群业余历史票友(这不是重复用词,而是我觉得如果用历史票友的标准去要求那些人,他们应该算是业余的)讨论烛影斧声,争的不亦乐乎。哂笑之余,突然想到,这个问题可能还真有点历史之外的营养
故事本身呢,不必多说,看过贺后骂殿就大概齐知道梗概。我所见这个故事,有三处记载,分别是宋史纪事本末(以下简称本末),续资治通鉴长编(以下简称续长编),以及顺着续长编,追溯到了湘山野录(以下简称野录),宋史正史里没有收录,也可见脱脱的眼界,此事的确荒诞,不入大家法眼一点也不奇怪
我上面列举的烛影斧声的三处记载,顺序是由晚到早,本末是明朝的,续长编是南宋的,野录是北宋的,同时这个顺序也是由详细到简略,细节最丰富的是野录,字数最少的本末——上古史都是越来字越多,这个故事倒是反的,哈哈,玩笑
那么我就从简到繁,理一下这个故事吧
本末的记载是这样的:赵匡胤兄弟的母亲曾有遗命,兄弟几个要轮流当皇帝,然后再传回赵匡胤的儿子。这个想法有点天真,大概老太太没看过刺王僚。但是赵匡胤还真是很喜欢弟弟赵光义,经常说,这个弟弟以后当皇帝肯定错不了。后来赵匡胤生病,就在冬十月壬午日晚上找赵光义来交代后事,把所有随从赶走,兄弟俩在密室聊天。反正我大概算了一下干支,那年冬十月没有壬午日,不知道是不是我算错了。总之,有人看到窗影上赵光义有“逊避”的动作,又听到赵匡胤拿柱斧敲地,喊着“好为之”,之后很快就死了,原文是“俄而”,当时时间是四更时候。然后皇后就来了,向赵光义说了些请“官家”照顾我们孤儿寡母之类的话,官家是宋朝人对皇帝的称呼,赵光义也哭着答应,“共保富贵无忧矣”
续长编稍微多了些细节,大致是说,赵匡胤生病久治不愈,找了个道士作法,道士召来了个神仙,神仙说赵光义是个好人,于是就在壬子日晚上,赵匡胤找赵光义交代后事。我算了干支当年的冬季有这个日子,大概是古籍传抄的时候因为字迹潦草,子午写不清楚。之后的剧情大同小异,也是赶走随从,密室里只有兄弟俩,也是有人看到烛影,似乎是赵光义在逊避,也是听到赵匡胤拿柱斧敲地喊着“好为之”。但是赵匡胤死于癸丑之夜,也是四更时候。因为古人通常以五鼓天明作为新一天的开始,所以我觉得这时候应该已经是兄弟夜谈一天以后的凌晨了,也就是甲寅日的凌晨,赵光义已经离开皇宫回家去了。皇后派太监王继恩去找皇子赵德芳,但是王继恩认为赵匡胤早有安排,让赵光义接班,因此找来了赵光义。王继恩找赵光义的路上还有些插曲,也不过就是对赵光义的一些神话而已。总之赵光义来到现场,皇后一看,先是惊诧,但也称呼“官家”,也是说了些照顾好孤儿寡母之类的话,赵光义也哭着说,“共保富贵无忧矣”
野录的记载就更华丽了,大致是说,赵匡胤兄弟俩年轻时候认识一个道士,有点法力,赵匡胤当皇帝以后又遇到这个道士,就问起自己还有多少寿命,道士说,十月二十日晚上,如果是个晴天,就还有十二年(一纪),否则就要准备安排后事(续长编里还有一种近似的说法,大致是说,十月二十晚上如果下雪,就是寿命不久,如果晴天,可以多活十二年)。但是十月二十这个日子肯定不是壬子。后来这个道士就不见了。赵匡胤就算着日期,到了十月二十晚上,天气本来挺好,赵匡胤也挺高兴,突然就下雪了,赵匡胤赶紧让人找赵光义来,赶走随从,两兄弟在密室喝酒聊天。有人就看到赵光义的影子有避席“不可胜之状”。俩人喝到三更,赵匡胤用柱斧戳雪,对赵光义说“好做好做”,然后就去睡觉,而且打呼噜。赵光义也睡在宫里。到了快五更的时候,听不到赵匡胤打呼噜,再看的时候,赵匡胤已经死了,于是赵光义就在灵柩前即位,天亮就去上朝了
这事吧,反正,还要怎么解释呢,自己看吧,我觉得脱脱没把这事写进宋史,实在是毫无毛病。甚至早有注家指出,续长编的这段记载,不见于实录
至于有人由此去猜测赵光义是不是杀兄夺位,也完全没必要,因为在这三个记载里,都很明显的看出,赵匡胤是认可赵光义接班的。而且一个最简单的道理就是:赵光义到底有没有继承权?如果赵光义没有继承权,那么他为什么要杀皇帝?如果有太子,老皇帝死了太子接班,有他什么事?如果赵光义有继承权,那就安心等着好了,毕竟所有关于烛影斧声的记载里都提到,赵匡胤当时的身体已经很不好了,完全没必要杀皇帝
至于正史的记载,赵光义继位没有任何悬案,太后一句话,波澜不惊顺理成章的就当了,而且也提到赵匡胤说赵光义以后是太平天子。毕竟赵匡胤在位的时候,赵光义是晋王,同时还做开封府尹。开封是当时北宋的首都,而亲王做京城府尹这个事,从五代以来,就是培养接班人常见的安排,而且赵光义当皇帝之后,立刻就封赵廷美为齐王,并且提拔到了开封府尹的位置上,摆明了还是要传位给弟弟的。至于后来赵廷美出事,那就是另一个故事了。而且亲王尹京原本就是五代以来培养接班人的潜规则,赵匡胤想迁都和赵光义的阻挠本质上就是在争夺这个点:一旦迁都,赵光义的开封府尹就不是尹京了,自然也就丢了接班的机会。只是这兄弟俩都没挑明了这个争议点,赵匡胤讲的是洛阳更适合当首都,赵光义讲的是迁都太麻烦,俩人都在顾左右而言他。这就好像,公司要派人出差,大家都知道出差就有机会拿回扣,所以都想去,但是谁都不能说出这个理由,都只好说点别的理由,比如,老张最近孩子要考大学,老王身体不好不能太劳累,小李马上要结婚,小赵的老婆下周预产期,要不还是我去出差吧——谁都明白,谁也不说破,矛盾肯定是有的,但是还没有到桌面上
续长编里还有一段记载,大致是说,赵匡胤临死前召来王普等重臣,留下遗言,除了一些勤政爱民之类的套话以外,明确提到传位给赵光义,赵普提了点反对意见,所以后来赵普被赵光义打压,就是从这结的仇。但是李焘说他不信这个说法,解释了半天,总结下来就是说,这是仇家陷害赵普瞎编的,但是这么瞎编就让赵光义背锅了,所以要澄清
李焘给赵光义和赵普解围的这段话能不能洗白赵光义,其实并不重要,重要的是,从李焘这段话可以看出,他在维护赵光义的形象,要说的是赵光义不会因为这种事记恨赵普。如果李焘的立场是维护赵光义,那么对于续长编里的记载,我们就要从维护赵光义的角度去理解,才是会更接近李焘的本意了
这个事吧,一句话说就是,对于严谨的历史学研究来说,既无研究的价值,也无研究的必要,对于理解宋朝的政治经济文化社会,评价北宋初期的主要人物,都没有任何的帮助,纯粹就是个文学创作的题材,茶余饭后的谈资。但也恰是因此,我作为历史票友,才觉得可以拿出来咀嚼一下,咂摸咂摸滋味

开始收集自行车比赛里弯道摔车的视频

Filed under: 广告 — gcd0318 @ 11:20

看了个职业车手摔车的集锦,发现右弯摔的出现次数比左弯要多,如果不是制作视频的人刻意收集,那么可以说明右弯比左弯危险。这也符合我自己骑车的体会,右弯过的确实比左弯害怕。其中一个可能原因就是,过弯的时候,内侧手由于半径短,稍微一个小角度的变化都会对路线方向产生较大的影响,所以内侧手的控制就成了主要的影响因素。而大部分人是右撇子,所以左手控车更稳定,因此左弯更好过
这个理由有点难理解,右撇子为什么左手更稳定。其实也不复杂,因为是右撇子,所以骑车当中右手经常要做其他事,擦汗,扶眼镜,喝水,吃东西,如果一件事可以单手完成,右撇子就会用右手完成,所以左手一直在车上,得到的锻炼机会更多
以上是大胆假设的部分,下面要做的就是小心求证:收集各种弯道摔车的比赛画面,进行统计,最好有左撇子的对比
嘿嘿

2021年09月7日

简单的故事

Filed under: 视听 — gcd0318 @ 11:41

上班路上偶然听春闺梦,其实这个戏看了不知道多少人演的多少遍,演员的票友的节选的从点兵开始全本的都看过,今天突然就想到一个问题:王恢和张氏家应该挺有钱有势的吧,所以王恢结婚三天就去当兵,一年就成了军官,要么是在家受了很好的教育,真有水平,要么就是上面有人,提拔的快,而张氏独居在家,也不知道做什么营生,有没有积蓄,回没回娘家借粮,反正还能养得起一个丫鬟,周围邻居应该也不是很穷,赵克奴他妈,一个八十多岁的空巢老太太,独自在家也能活着,如果不是家有余粮,恐怕就算想像汾河湾武家坡那样房前房后屋左屋右与人浆浆洗洗缝缝连连,也是谁家里都没这个需求。而且当地的治安还挺好,也没有荒山泪里面的苛捐杂税——战乱的年代不应该啊,李信回家,媳妇还说会不会又被征兵带走,这不就是杜甫的石壕吏嘛
这种问题就是没事瞎琢磨,和看戏都没什么关系,老文里曾经提过,中国的传统戏本来就不以剧情取胜,而是以演员技巧,所以剧情的地位就被弱化,甚至简化,给演员让路,让演员可以发挥技巧
过去的人看戏,其实是没太大耐性的,有点像我们看电视,节目一直在演,但是不感兴趣的时候就不看,观众可能在聊天喝茶,等着轮到喜欢看的剧目或者演员,才会又把注意力放在台上。那么演员为了吸引观众,就必须有足够的吸引力。西方戏剧保持吸引力的方式主要是通过剧情,让观众的精神被设计好的情节牵引着。而中国传统戏剧,或者再精确点,戏曲中的传统戏,则恰相反,叙事性是很差的,有的研究者认为完全就是在找意境,有意境的地方就玩命的唱,唱完了赶紧赶路,赶到下一个有意境的地方继续唱。而虽然是为了意境而唱,可是唱词却几乎都是叙事和描写,是通过具体的形象和音乐旋律和节奏来达到抒情的目的,很少有直接抒情,比如,不会出现“我很难过”这样的句子,而是用“心中好似滚油煎”之类的比喻来表达,总之,抒情性又看似不强
其实当然没这么夸张,但是传统戏确实不以剧情取胜,很少有复杂的故事,情绪的宣泄也不直接,中国的传统戏是靠演员的技巧来吸引人的,所以京剧界就有一句俗话:京剧是角的艺术。我们谈话剧,会说老舍的茶馆,谈电影,会说冯小刚的甲方乙方,谈京剧,只会说梅兰芳的霸王别姬。其实茶馆的成功不只是老舍的剧本,也要有足够好的演员把戏在台上立起来,甲方乙方离开葛优也很难说还能不能呈现的这么精彩,霸王别姬更不是只有梅兰芳在演出,但是这种表达方式,也从一个侧面说明,话剧最重的的编剧,电影最重的是导演,而中国传统戏最重的是演员
其实很多脍炙人口的老戏,翻过来想想剧情,都简单的要死,就算把每一幕每一个段落都一个不落的总结起来,也都是几句话就能概括的,人物的形象也很固定,从头到尾不会有什么大的变化。如果记住“一切为了突出演员”这个原则,很多事就很容易理解,比如人物形象固定,“脸谱化”这个词就是从戏曲来的,一个角色的人设从头到尾只有一两个面向,剧情直接,不设悬念,不让观众财迷,没有什么倒插笔之类的叙事技巧。比如叹五更,无论是荒山泪还是清官册,拍成电影,恐怕三两个镜头就交代过去了,要营造起一样的气氛,只能加个插曲——那就还是叹五更的程式,换了个 bgm 改了词的叹五更
中国传统戏不重剧情,故事都很简单,但是这不是说传统戏讲不了复杂的故事,而且传统戏也必须讲复杂的故事,因为过去说书唱戏的素材互相借鉴,评书里的故事可都是以情节复杂抓人的。那么唱戏的怎么办呢?其实也不难,就是拆呗,太大的故事就只讲一部分,讲一部分还嫌复杂,那就拆成小段,叫做折子戏。比如红鬃烈马,要是交给说书先生,能讲一年,到了戏曲里,就算简化,也是十几个折子戏。更有所谓的说不尽的三列国,三国背景的戏在所有剧种里都至少有个百八十出,拆来拆去,像赤壁大战这样线索太多的故事,到了京剧里,是群借华三个折子戏,可以单独唱,也可以一起演
可是拆成折子戏又带来了一个新问题,就是剧情没头没尾。没尾还好办,没头看不懂啊,怎么办呢?太简单了,台上不演的故事,演员可以讲嘛,在一折的开始讲故事,正好就是大段大段的唱和念白,演员炫技的机会不就来了嘛,各种变化丰富的旋律尽管招呼。所以看一出完整的四郎探母,杨家将那点历史几个人反复唱了多少次,天门阵一点没看到,但是不断的提,杨四郎一出场,坐宫的时候就念叨,我们哥们几个死得惨啊,我妈来打天门阵了,接着杨宗保巡逻,也是出来就唱一遍,我们在这打天门阵呢,再后来杨六郎上场也是先唱,我们马上就要破天门阵了,佘太君没说几句话,还要再讲一遍,我这几个孩子都没了啊,最后萧太后还要再提一次,把守天门阵——什么意思?意思就是,坐宫巡营见弟见娘回令,不管单独看哪一折,都能通过剧中人物的独白和对话大概了解故事的整个背景,不会带着“宋朝人怎么在番邦当驸马”“为什么母子俩要打仗”这种问题往下看
还有伍子胥的故事,其实剧情也很复杂,一波三折,惊心动魄,从马昭仪开始一直到刺王僚,当然是很完整的故事,但是首先,昭关有文武,而且从头看到底,反正我没试过,我估摸着,怎么着三五个小时是看不完的,现在能看到的还是拆成折子戏,战樊城长亭会文昭关鱼肠剑刺王僚,那么前面的剧情就要反复的讲,从战樊城开始,见一个人说一遍,甚至出场报完名就要念叨,我要报仇我要报仇,比祥林嫂还祥林嫂,其实也是怕观众不知道前面的剧情,所以安排大段的唱,来构建叙事背景。还有老师给我讲过,“一事无成两鬓斑”一段,只有单演鱼肠剑这一折的时候才唱,如果是全本的伍子胥,就不必唱,因为和前面完全重复,太啰嗦了
京剧在处理复杂剧情的时候所采用的这种拆成折子戏的方式,不但是应对当时演出市场的有效手段,而且也符合以演员为核心的原则,通过大段的叙事性的演唱,不但重构起叙事大背景,还让演员有机会展示个人能力,但是在后来却越来越少采用。最近一百年,可以说京剧经历了从高峰到低谷再挣扎往上爬的过程,单纯的翻演老戏当然不是万能的良药,但是新编戏的先天不足,也恰体现在这种地方。其实这个锅未必要由现代的京剧人来背,恐怕病根从一百年前就种下了
上世纪二三十年代以来,京剧集中出现了一大批伟大的演员,四大名旦、前后四大须生以及以周信芳为代表的海派明星更是其中最杰出的代表。而且这些名家几乎都有自编的大戏,用的人多,技巧繁难,直到今天都代表着京剧这门艺术的天花板。但是这些戏很多都是要演出两个小时以上的大戏,而且很难拆,拆不开,因为故事中间几乎不回顾前面的剧情,所以一旦拆着当成折子戏演,就只能演第一折,后面的都要改,加个帽子穿个鞋之类的
当然也不是绝对的,也都只是相对而已。比如四进士,虽是老戏,却相对比较难拆,而比如锁麟囊,虽然是程砚秋新编,就相对比较好拆,大概除了绿马完全不会引起共鸣以外,其他的都好理解——绿马这个细节放在电影里,就要闪回一下了。所以有人说锁麟囊剧本好,活保人,无论谁演,只要不出错,想不成功都难
至于现在的新编戏,就完全不考虑这种事了,很少有设计这种可以让剧情告一段落的小结尾,更没有剧中总括前情的唱念,一个故事讲到底,剧情也很是紧凑复杂,换句话说也就是,要么全看,要么别看,看半截完全看不懂,就很尴尬。还有人说编一出戏,起码要有能让观众记住并且流传的唱段,这在新编戏里也几乎看不到
其实那么着急讲一个宏大冗长的故事干嘛呢?演一个简单点的故事,或者用小段拼成大戏,从而把舞台留给演员,根据演员的技能设计剧情,让故事和人物为演员的技巧服务,再来几个能让人记住的唱段,一个作品自然就立住了,一百年前的那些名家自编戏都是这个原则,结合自身技巧编戏——当然了,这样编戏也有一个很大的风险就是,人没了戏也没了,因为其他人很可能不具备这样的技能水平,五侯宴肯定要失传,因为没有第二个李慧芳
可是现在编的这些戏,人还在,戏就没了啊

2021年09月1日

内卷无处不在

Filed under: 言论 — gcd0318 @ 04:16

小学的时候读过一部中篇科教童话,主人公是个中学生,故事大概是说,他来到了一个神奇的国家,这个国家的数学教育超前发达,四则混合运算都是在学龄前学会的,小学就学初等代数,中学讲微积分,基本就是我们现在小学数学放在学龄前,小学数学是我们的中学数学,中学数学是我们的大学数学。读完我就幻想,如果我在这个童话里,我在中学就学完了大学数学,那我不就是神童了。可是又一想,不对,童话里的学生都是12岁就学完了中学数学,所以我应该回到现实里的学校,这样我的数学成绩才有优势,用现在的话说,降维打击
小学生要学初中数学,当然要付出很大的精力,这样的学生在小学生里毫无疑问是天才,但是如果所有小学生都这么学,那就没什么突出的了,但是又不能不学,因为当同龄人都在学三角函数的时候,如果谁还在纠结四则混合运算,那就是落后了。用现在职场上流行的话说,这就形成了内卷,就是所有人为了获得优势而额外的付出,最后却发现并没有什么优势,但是又不能不付出,因为所有人都在多做事,谁不做谁就有劣势
大学时候备考托福,当时的托福分听力、作文、阅读等,另外还有一项需要单独报名交费的口语考试。我到现在都印象很深刻的记得当时俞敏洪校长说的,建议大家不要考口语。理由也很简单,如果口语成绩好,确实可以提高被录取的概率,但是毕竟作用有限,对于打算去美国读研究生的同学来说,这个精力还不如花在专业上,做点科研更直接。而且,一旦中国有10%的学生去考口语,势必会迫使另90%的学生也不得不考,不考就要吃亏,但是如果大家都考,也就谁都没有优势。最后俞敏洪校长很无奈的说,中国学生已经很累了,要应付太多的考试了,能大家一起不考,就别考了——现在才明白,俞敏洪校长这就是在预防内卷
上海交通大学的江晓原教授讲过一个关于农药的例子,大致是说,人类为了减少蛇虫鼠蚁对农作物的危害,发明了农药,但是农业也引起了昆虫和野生动物的变异和进化,筛选掉老弱病残的个体,留下的都是健壮优势的基因,经过繁殖,就产生了所谓的抗药性,于是人类就不得不继续研究新的农药。但是无论农药怎样更新换代,农作物都要因为病虫害损失至少5%。看起来并没有损失很多对吧?可是在不使用农药的时代,除非爆发大规模虫灾,一般年份里,病虫害造成的损失也不过就是10%左右,如果真的是灾难级的害虫大爆发,农药也基本上挽回不了损失,而人类却不得不为了农药生产和更新换代而做科研建厂房消耗能源污染环境——换句话说,农药挽回的那点农作物产量,根本抵不过生产农药的成本。江教授说这个例子原本是要说,有些所谓的进步是条不归路,当我们发现走错了,是没法回头的,因为这时候没有人敢不用农药,谁不用农药,谁的地里就会变成害虫的乐园,临近的害虫都会在这里聚餐。说白了这还是一种内卷,每个人都被裹挟着,做额外的事,却并没有获得额外的收益,所有额外多做的事,只是没有出现额外的损失而已
现在订外卖应该是城市居民很常见的操作吧,在选择配送服务的时候,通常都有一个选项,可以支付一点点零头的小钱,为配送服务买个保险,如果订餐没有在指定时间内送达,会收到一点现金的赔偿。这种保险在每个平台上都有不同的名字,但功能和规则都差不多。平台当然不会白赔这笔钱,最终还是羊毛出在羊身上,比如配送员超时可能扣钱,商家备餐慢会有罚款之类。因此对于买了配送保险的外卖订单,一般商家和配送员都会加急优先处理,确保按时送到。所以很多人订餐都喜欢随手买这个配送保险,反正也不贵,让自己在订单排队中有点优势。但是这个优势也是相对的,如果人人都买了配送保险,也就等于让所有人都回到了同一起跑线,谁都没有优势,该慢还是慢,而且这时候,谁也不敢不买配送保险了,谁不买,谁订的外卖就一定会是最后一个送到的——换句话说,大家一起买保险,谁也没有因此获得优势,只是为了自己不处于劣势,但是外卖平台就积少成多,三毛五分的赚了一大笔,而且毫无成本。还有的外卖商家会赠送配送保险,有时候这也成了很多人选择商家的理由之一,既想要配送保险,又不想花那几毛钱,那么就选一家赠送配送保险的商家去消费。当然了,商家赠送配送保险,其实也就是替消费者把买配送保险的那几毛钱交给了外卖平台,渐渐的,赠送配送保险也成了商家的标配,结果就是,商家替消费者花了买配送保险的钱,却并不能让商家在消费者这里获得优势,但是那些不赠送配送保险的商家,肯定是有劣势了——还是内卷
更有趣的是,很多视频平台都有一种差异化服务,就是会员免广告,花钱买个会员资格,就可以在平台上看视影片频的时候跳过广告。其实我一直都很不理解这样的思路,那些宁可看广告也不花钱充会员的人,看了广告肯定也不会去买广告里的东西吧。但是平台的小算盘打的很好,广告商要的只是曝光率,所以播放影片的时候,要么挣观众的会员费,要么挣广告费。但是这个模式有个问题就是,当会员越来越多,大家都不看广告了,广告商就没了曝光率,于是不再继续投放广告,平台就赚不到广告费。于是会员终于也要开始看广告了。这时候所有影片只有会员可以看,不是会员就什么都看不到,或者只能看看预告片,试看三分钟,平台又发明了会员分级,什么青铜白银黄金钻石vip,总之别以为充值当会员就可以不看广告,只是级别高的会员看的广告少——想想看,本来大家都不是会员的时候,只要看完广告就能看的影片,现在却要至少充个最低级的会员才可以看,虽然多了个会员的名义,但是观众得到的服务并没有变,可是这个会员费还不能不充,不充就什么都看不到。充值并没有得到比以前更多的优势,只是不要处于劣势而已,还是内卷
这年代,要赚钱,制造内卷是必备的技能,职场内卷相信大家体会的都足够深刻了,我自不必多说。当然了,内卷也不是总是有害的,比如最开始说的学习上的内卷,如果所有人都肯加倍的努力,让这个群体的整体水平可以提高,那当然是件好事,每个人身在其中,虽然很累,却也不好意思抱怨
近期多个省市都有各种中小学减负的措施,例如减少考试,减少甚至取消作业,查封课外辅导班,让中小学生的学习压力不要太大,姑且算是消除学生的内卷吧。可是仔细想想,以前学生入学都是靠学区房,名校周边学区房贵的吓人,远远超出周边社区的均价好几倍。后来有了辅导班,我还以为家长有救了,因为毕竟,再好的辅导班,也总比学区房便宜吧,孩子不能进重点中小学,还可以找个好的补习班,也能多学点东西。现在可倒好,减负双管齐下,既强化了学校和老师在教学当中的角色,又严打各种课外辅导班,学生还是要回到学校去,看来这学区房还是不得不买——也对,否则万一房价降了,这个责任谁付得起呢

2021年08月9日

形式从来大于内容

Filed under: 视听 — gcd0318 @ 11:26

在我这个工科生看来,这次奥运会有一个意外的小收获就是,c 语言被赋予了新的含义。其实可能绝大多数人都知道,陈清晨喊出 WC 的时候,未必就是向对手口头的攻击辱骂,更多的是发泄自己的情绪,因为毕竟,用中文喊出来的 WC,韩国人未必能听得懂。当然了,也有人说这是对韩国人的回应,毕竟韩国人每次发球都要嚎叫一声,似乎是要在气势上压倒陈清晨。这个做法也引起了有些观众的不满,毕竟现在的观众的涵养越来越不好,当年邓亚萍打乒乓球也是这样喜欢大喊大叫,那时候就没观众说这样会影响对手比赛之类的片汤话。这种大喊大叫到底能给对手带来什么影响,其实也未必,语言需要经过学习才能具备的技能,所以只对特定人群有效,不具备无差别攻击的杀伤力
有人说单是一句 WC,用不同的语气说出来,可以表达愤怒、惊讶、感叹等多种情绪,这其实也不奇怪,毕竟现代人的词汇量都很少,用不同的词汇表达不同的情感,对大部分人来说,难度有点高,所以一个词就必须身兼数职,什么情绪都用一样的词去表达。而且很多语言都有这样的现象,就是在口语中,语言表达的含义并不完全取决于词汇本身,更重要的是语气,甚至如果语气和词汇的本意不一致时,我们的理解是更倾向于语气,这种现象俗称说反话。我还看过一个视频,有人和自己的狗说话,用温和的口气叫它傻狗坏狗笨狗,狗表现得很快乐,而用严厉的口气夸赞狗的时候,狗吓的蜷缩,似乎也说明宠物其实也是通过语气来判断主人的态度
如果把这个现象说的更抽象一点,大概可以概括为,形式比内容更能决定表达的效果,受众在接收信息的时候,也往往受形式的影响更大
如果这个规律能成立,那么当我们需要准确的表达,期望更好的表达效果时,就需要能尽量的形式和内容一致,比如写作,每种场合下用到的文章,就需要符合这个场合的形式。在曹丕的典论论文里就提到了“奏议宜雅,书论宜理,铭诔尚实,诗赋欲丽”的原则,这就是所谓的“文体有意义”,每种文体都有合适写的内容
扩展一点就是,比如写字,岳飞的还我河山写的荡气回肠,不但这四个字是一代名将心底的呐喊,其运笔也力度鲜明。更著名的是颜真卿的祭侄稿法帖,号称天下第二行书,语言越来越激烈,而线条也越来快,两者节奏一致,说明颜真卿当时并无暇思考,语言是情感的直接流露,而书写也是随心所欲。如果用娟秀的字体来写,或者赵孟頫那种软趴趴的笔法写出来,就会让人看着看着不断出戏,成了形式内容两道汤
再推广一点就是,比如各种歌曲戏曲曲艺等演唱艺术,不同的旋律常用于表达不同的情绪。戏曲是最典型的,通常被叫做程式化,比如京剧里,表达苦闷忧愁就唱慢板,表达愤怒紧张就唱快板,从来不会用反。歌曲也是一样,情歌总是舒缓的多,失恋的歌就会出现激烈的旋律,因为这时候的情绪就是大起大落的。如果词曲不搭配,这歌就会听起来很奇怪。这里我就不纠结倒字的问题了,让现在的音乐人注意不要倒字,有点强人所难。就直说旋律和歌词吧,比如甜蜜蜜的旋律,填进去华山论剑的词,或者反之,只用前三句,因为很凑巧,前三句的字数完全一样——有兴趣的自己尝尝吧,这介乎柔情和豪杰之间的味道,相当酸爽
旋律和唱词之间,唱词是内容,旋律是形式,旋律承载着唱词,所以两者必须一致才能相辅相成。比如宋词,原本也是可以演唱的,虽然我们现在看不到宋词的曲谱,不知道怎么唱,但是有些词牌保留了来历,可以推断大概的旋律风格,是快歌还是慢歌,是柔情还是激情。如果没有这方面的记载,就还可以通过词牌的形态,比如节奏是否跳跃多变,或者典型的符合词牌的作品的内容,来做大致的判断——但是这也不是绝对的,因为毕竟,一个音符不改,只是节奏变化,加一些打击乐,一个曲子的味道可能就全变了。而且用这种从词的文本来反推曲风的时候,千万要注意选对作品,因为毕竟,有像我的偶像苏东坡这样的怪人,不通音律却要填词,于是干脆不顾旋律,只看格律,结果是虽然自成一派,但是就如李清照所说,毕竟不是词之本色,也因此不能和音乐很好的配合,演唱出来可能效果要打折扣。然而歪打正着的是,随着词牌曲谱的失传,那些和旋律相得益彰彼此成全的词作品,单看文本就减色不少,而东坡词却获得了更顽强的生命力
当旋律和唱词搭配合适后,要想形成完整的艺术供人欣赏,演员的演唱也就成了一次再创造。如果把词曲放在一起看成内容,那么演员的演唱就是形式,是承载内容的,所以演唱也要和词曲有一致的风格,才是完整的作品。我喜欢说京剧的例子,一个演员可能会的戏非常多,但是有的可能只是会但不演,真正达到顶尖水平成为代表作的,也许只有极少数。这其中原因很多,比如其他人这出戏更拿手,自己没别人唱的好,所以不唱,又或者其他某演员擅长的戏较少,恰好某一出戏在他的擅长剧目里举足轻重,所以有些名家干脆让过这出戏不唱,给同行留机会。再或者,可能就是某个戏不适合自己的演出,可能是因为扮相,可能是因为自己的功夫不擅长,再就是可能剧情和演唱不适合自己的嗓音。比如程砚秋就很少唱坐宫,是不会唱吗?我不信,以他的根基和阅历,这么大路的戏他肯定会,只是基于他的嗓音条件,公主的雍容华贵不适合他去表达,而且程派的京白也确实不讨巧,因此唱不赢梅兰芳等名家,干脆不唱。而同样的,杨宝森一辈子好戏那么多,为什么代表作是杨失伍?一部分原因也是这些戏的剧情和大段的唱功更适合他的嗓音
现在还有一种形式叫 MV,就是歌曲配上画面,这就又是一层的形式和内容的关系,如果把演唱的歌曲当成是内容,那么画面就是形式,画面承载着歌曲的演唱。这就又需要两者的配合,比如唱的是节奏明快的曲子,画面就不要太多的长镜头,反之亦然,对于柔美抒情的慢歌,就要多用长镜头,拍摄的内容也最好是玫瑰清泉,而不是雷霆闪电
话说到此,想起这次奥运会期间出了一段 MV 叫准备好,可谓典型的,词曲唱画面四分五裂的典范,各是各的,谁也不挨着谁
词呢,用现在的网络语言来说就是,有点尬,但是起码堆砌的都还是很积极向上的词汇,营造出的是有点硬派的文风
曲子就是两码事了,这么说吧,奥运会毕竟是运动会,还是要唱劲歌更贴谱,得有点气场,可是这个曲子,怎么说呢,大概是时代的特色吧,现在的运动歌曲,比二十年前的情歌还柔媚
至于唱,一开头捏着嗓子唱的那几句,有这个嗓子,学小翠花没准能红。也不能怪创作团队,因为毕竟,现在这个岁数的演艺界,除了女演员就是娘炮,三十岁以下的演艺圈里真找不出来一个能唱运动歌曲的。看来时代的审美真的是媚弱的,就像书法从草书到行书到楷书,线条越来越慢,灵气越来越少,唱戏从程长庚到谭鑫培到余叔岩再到杨宝森,嗓子越来越差,声音越来越软,调门越来越低,力量越来越弱
而画面拍的,怎么说呢,呵呵,换个导演吧,至少要先培养起一种竞技体育项目作为兴趣爱好,然后再来拍这种 MV
运动歌曲可以很抒情,比如 2002 从头再来,也可以很激越,比如风雨彩虹铿锵玫瑰,一定要听田震的版本,其他版本都是至少我没见过更好的。现在的音乐人仿佛都不敢或者不会用打击乐,歌手也不知道该怎么和打击乐配合,和鼓点节奏毫无呼应,咬字的时候嘴里舍不得使劲,不妨多向田震学学
我是看男篮的时候,在中场休息期间被强行安利了准备好,当时眼前就浮现出孙子操练宫女的画面,而且还是斩二美之前,强行装出运动感的词和软绵绵的曲再加上娇滴滴的唱,看到画面的时候彻底破防,实在忍无可忍,随手翻翻运动歌单,找出来一首天骄洗洗耳朵。说实话二十多年前第一次听跟这个歌的时候,还觉得杨洋金彪挺娘炮的,白瞎了阎肃和孙川两位老先生这么好的词曲——但是和现在的这些当红小生比起来,这俩小伙舞台上的表演就算是很爷们了
一百多年前程长庚说谭鑫培的嗓子太软,但也预言二十年后当是老谭的天下,后来历史的发展印证了程大老板的远见卓识。也许程大老板只是从艺术发展规律上去推测,随着时代的发展,媚弱的流行,这种“子声甚甘”一定会成为时代的宠儿。但是也有人说,只有在那种国破家亡的时代,才会出现满城争唱叫天儿的场景,这种靡靡之音只能盛行于衰世末世。宋朝初年的诗坛急于寻找学习的典范,他们尝试了学习李商隐,但是很快就放弃了,文学史上一般也认为,李商隐的那种飘忽迷离的风格本来就是亡国的前兆,宋朝刚刚建国,一定无法接受这种衰世之音。但是后来听过了当代的京剧,见惯了柳永纳兰,竟然觉得就连余杨言奚的嗓音都是坚韧有力,就连辛弃疾龚自珍都算是豪迈得很了
时代的审美自有其规律,身在其中,个人的好恶实在是最不重要的事了

2021年04月29日

Follow Heart or Brain

Filed under: 感悟 — gcd0318 @ 16:29

小时候听相声,大致剧情是和医生一起吃饭,结果饭桌上的东西都被医生用医学术语解释了一遍,最后什么都吃不下,满满都是哏。那时候就觉得,原来在生活里用医学知识会这么添乱。后来上学听老师讲。很多大科学家都成了哲学家,大哲学家都走向了宗教和神学,投身于神秘主义,生活处处碰壁,因为他们思考的问题和一般人不一样,也许是过于深邃,所以不被理解
渐渐见过一些人,经历一些事,才觉得,这不只是专业知识不能用于生活,不只是不能靠哲学指导日常,而是因为,理性和感性不能弄错了分工。比如爱情是最感性的事,所以诸如“为什么爱我”的问题,就是用理性来解决感性问题,基本上,怎么回答都是错的。我之前老文曾说,道德和法律要分清,做事依照道德就不必管是不是违法,遵守法律也别考虑有没有缺德,因为这本来就是不相干的两件事。道德是感性的东西,没有定量的尺度,每个人都会有自己的好恶,而法律就很理性,有固定的标准,是死板的,冷冰冰的
生活也许并不需要那么多的理性,实际上我们几乎都是靠惯性过日子,早上起床,晚上加班,人类的生活主要靠的是经验,只不过有些经验是自己的,有些经验是别人的。熟悉的路自己走,陌生的地方开导航,我没走过的路,别人走过,导航就是别人走这条路的经验;一日三餐,其实都是别人的经验告诉我们这些东西可以吃,从来不需要我们去想。而画地图的人,搭配营养的人,都是在动脑子,这种人只需要极少数
所以如果分不清专业和生活,分不清理性和感性,生活就无法继续。做学问做研究需要保持理性,不能有个人的好恶,但是生活中必须有自己的取向和性格,否则这人就太无聊了。也是因此,工科人的生活会比理科人更痛苦,理工人的生活会比文史人更郁闷,而哲学家的生活恐怕就是当之无愧的地狱模式了,因为他们考虑的都是最本质的问题,而且由于他们强大的思辨力,还会觉得处处都充满了错误,不符合他们的理想,但是他们又无法和整个时代对抗,不能扭转这一切,于是要么脱身以逃不能容于远近,要么剪发杜门佯狂不知所之,这也是颇“愚人多寿智者早夭”的事

2021年03月15日

沉默的大多数

Filed under: 广告 — gcd0318 @ 11:31

前不久的一个家乡的新闻获得好评无数,大致是说,有二胎的孕妇要赶公交车,大孩子帮妈妈赶上车,然后请司机等一下,还送给司机橙子表示感谢。这事吧,小朋友当然做的没问题,很礼貌,也懂得照顾怀孕的妈妈,司机也很热心的等待行动不便的孕妇,都很好,但是总有点不太完美的地方
我以前的公司有班车,每条线路都有固定的站点,每个站点都有固定的发车时间。我坐的那条线路的师傅会在第一站很准时的发车,遇到堵车可能会推后,如果班车早于发车点到站就会等待,有时候也会刻意晚一点,争取让同事们都能赶上车。但是仍然也经常有同事来晚,有时候也会留下司机师傅的电话,如果差一点时间,会给师傅打电话,请求多等一小会。大部分时候只要差的不太多,师傅都会等。同事们都还是很有礼貌的,这时候上车当然会向师傅道谢,而我们这位班车师傅总是会说:“你要向车上同事道歉,你耽误的是大家的时间。”
公交车其实也是一样的道理,司机多停一会车等孕妇,当然是值得表彰的,但是为此付出时间的还有全车的乘客,甚至后面车站正在等车的人们,在表彰司机的同时,这些人的善意不能被忽略
这大概是人们的通病吧,就是只看到掌权的人,忘记了在背后默默奉献的人,只看到一将功成,想不起万骨枯,一说起霍去病就是特种部队纵横大漠,却不知道霍去病的补给后勤是当时所有部队里最好的,其实这也不奇怪,汉武帝的雄才大略就在表面上,而汉武帝在位的时候汉朝人口损失了一大半却深埋在水下
但是这个小男孩和司机仍然是值得赞美的,新闻如下:
https://www.sohu.com/a/453477958_319303

2021年03月5日

愚公移山

Filed under: 故事 — gcd0318 @ 15:49

太行山和王屋山是两座大山,占地方圆七百里,高有万仞,上古时候原本在冀州和河阳城之间
山北住了个愚公,八十多快九十岁了。这天晚上 ,愚公把全家人召集到一起,挤了满满的一屋子,大家七嘴八舌的交头接耳议论纷纷,不知道有什么事
“行了,既然人都齐了,那我先说几句。”愚公看看孙男弟女的一大屋子人,猛抽一口烟,然后磕了磕烟袋锅子说,“今天把你们找来,是有个事让你们给出个主意。”
全家人都安静了下来,静静地听着愚公说话
“咱们家一直住在这山脚下这么多年,出门要么翻山越岭,要么绕路,太麻烦了,所以我打算把这个山挖平,修出一条路,穿过豫州,一直修到汉水去,以后街坊邻居也能方便点,咱们家也算是干了一件好事。你们看这事要怎么办。”
愚公说完,又叼起了烟袋抽了起来。但这句话就好像水池里扔了一块石头,立刻激起了骚动。有的人点点头说二大爷说的对,这山确实太影响咱们出门了,也有人小声嘀咕着,二叔这是想什么呢,嫌麻烦搬家嘛,何必要搬山,还有人只是大瞪着眼睛说不出话来,也有人摇头不以为然
愚公听他们乱了一会,又把烟袋在桌上敲了几下,说:“有什么想法就说出来吧,你们这么议论我也听不见。”
毕竟愚公是家族里地位辈分资历最老的老祖宗,所以谁都不敢说什么,一下子屋里安静了下来。这时候只有愚公的老伴愚婆打破了沉默,她说:“老头子,就你这一大把的年纪,一辈子不是就这么过来了吗?你怎么突然就没事找事?你连一座小土包都挖不掉吧,这么大的山,你能挖得掉吗?再说你挖这么大的山,挖掉的土打算怎么处理?这么多土,不管堆在哪,也都会堆成另一座山啊,肯定又要堵了别人家的路。你觉得出门不方便,你就挖山,结果因为你挖山,让别人出门不方便了,这不好吧?实在不行咱们搬家吧。”
墙角坐着的小憨说:“奶奶,这个不用担心,我们把土堆到渤海边上去。”
愚婆还想说什么,愚公却打断了她,说:“我是让你们帮我想想这事怎么办的,不是让你们提反对意见的。我打算明天就开始动手。你们还有什么要说的吗?如果没有,大笨二呆三傻,你们三个最有劲,明天就跟着我一起开始动手。散会。”
第二天愚公和大笨二呆三傻果然就开始了,拿铲子挖山,拿筐抬土,一趟一趟的往渤海边运土
愚公家隔壁住了个寡妇,家里有个七八岁的孩子,看着愚公带人在这干活就很好奇。他认识大笨,于是凑上去问:“笨大爷,你们这是干什么呢?”
大笨正好喘口气,看看小孩,说:“我们这挖山呢,你看,爷爷带着我们一起挖呢。”
“挖山好玩吗?”小孩舔着手里的棒棒糖问
“好玩呀,把山挖平了,以后我们出门就方便了,可以一条路一直走到豫州去。豫州你去过吗?可好玩的地方了,遍地黄金,花花世界,在那想要什么就有什么,想吃什么好吃的都能吃到。”大笨嘿嘿笑着说
正好这时候二呆招呼大笨,大笨转身走了。小孩看着看着,小声嘀咕着说:“还有这么好的事,那我要一起做。”
二呆问大笨:“你刚才跟那孩子说什么呢,他要是也来挖山怎么办?天天干活就够累了,还得看孩子?”
大笨说:“你想想,如果这孩子来干活,他妈能看着吗?肯定会给他送饭啊,那能只给他自己送饭吗?肯定有咱们的对吧。他妈是个寡妇你知道吧,你肯定不知道,你也肯定没看见过他妈,那长的叫一个漂亮……”
晚上小孩回家就跟寡妇说:“妈呀,我看隔壁笨大爷天天在那挖山,我能去吗?”
寡妇看看孩子,心里犯起了嘀咕,于是说:“你可不能去,笨大爷那是做正经事,你不要去捣乱。”
“我不是去捣乱。”小孩不服气的说,“我要去帮忙,笨大爷说了,等挖掉了这座山,以后我们就可以去豫州了,我去做好事呢。”
寡妇摇摇头,说:“他们要挖掉这两座山?只是为了去豫州?那挖个隧道就行了,何必要挖掉整个山呢?”
小孩才不管这一套,他对去豫州这件事深信不疑,因此闹着说:“妈呀,你就让我去吧,要不然我就离家出走。”
寡妇肯定是不想让孩子去的,虽然这孩子整天在家也没个事干,七八岁的年纪正是精力旺盛的时候,天天招猫逗狗的惹祸,找点体力活消耗一下他过于旺盛的精力挺好的,可是让他去呢,听说是往渤海边运土,这么点的孩子,路上来回最少也得一年,冻着饿了怎么办,要不要带一年四季的衣服,会不会遇到了个人贩子什么的就回不来了,眼看就快要上学了……实在是纠结
但是呢,小孩一个劲的要求,寡妇想想,似乎愚公一家人也不是坏人,去干活图个家里清净,于是就答应了
小孩第一天干活就是跟着大笨一起运土。路上一边走一边问大笨:“笨大爷,咱们真要一直走到渤海吗?那么远,要走到什么时候啊。”
大笨嘿嘿一笑,看看二呆三傻都没跟着,于是说:“你想去渤海吗?”
小孩摇摇头,大笨弯下腰小声说:“那我们一会路上就找个地方一扔,然后随便在哪玩两天再回去,不就行了?反正只要你不说我不说,就没人知道。”
小孩拍手笑着说:“笨大爷你带我去玩,我就不说出去。”
河曲有个智叟,是个厚道的热心肠,有一天找到正在挖土的愚公,笑着说:“老哥呀,你这是老糊涂了啊,怎么能干这种事,你这一大把的年纪,挖掉的这点土够干什么的,你真以为能挖平这座山吗?”
愚公喘了口气,看看智叟说:“你太死脑筋了,还不如寡妇小孩呢,我年纪大,但是我还有孩子们呢,还有孙子呢,还有重孙子呢,山又不会长高,早晚也能挖平了。”
智叟叹了口气,点点头说:“行,那你继续。”说完转身走了,一边走一边嘀咕着,“这么着也好,你们家人这么多,是该给你们找点事,要不然都闲着没事,就成了社会的不安定因素,今天全家联合起来找别人打群架,明天就又闹分家,这点没处发泄的精力早晚是个事。”
就这么相安无事一段时间之后,二呆和三傻觉得不太对了,二呆在路上突然问三傻:“老三,你发现没有,我们怎么路上很少遇到大笨?”
三傻想了想,说:“还真是,而且大笨的日子好像也确实过的更加滋润,看起来没有我们俩这么憔悴,怎么回事呢?”
“我也不知道,要不然我们跟踪他一下?”二呆犹豫着说
三傻开始留意大笨的路线行踪,很快就发现了破绽,于是他告诉二呆:“二哥啊,我知道了,大笨和那孩子根本不去渤海,他们在半路上就把土扔了,然后玩几天再回家。”
二呆一听愣住了,忙问:“那老头子知道吗?”
三傻皱着眉说:“他们怎么可能让老头知道嘛,当然是偷偷的。我们要不然也这样吧?”
二呆不放心,忐忑的问:“但是那些扔的土不会堵着别人家的路污染环境吗?”
三傻说:“当然会啊,但是关我们什么事?我们早点回去,还可以说是我们提高了效率,能多跑几趟,早点把山挖完了算了。”
愚公他们在这挖山,山神早就坐不住了,眼看着他们这么搞,心里暗想,我能当这个山神,还不就是因为有这么一座山,如果山都没了,那我这个山神岂不是成了光杆山神?那我的待遇就危险了,没准这个职位都要裁撤,现在我什么事都不用干白拿工资,虽然工资不高吧,但是福利好啊,而且还有民间的供奉,还有这满山的野味,没事和河神还能社交一下,水果换水产,这要是以后山没了,我工作就没了,级别也没了,河神肯定不会再和我往来了,我也不能再驱遣那些蛇虫鼠蚁兔子山鸡……哎呀越想越可怕,不行,这事不能由着他们
但是这个山神也确实是个草包山神,没什么法力,根本治不了愚公,所以只好求助于天帝。毕竟,他能在这当山神,就是仗着天帝是他妹夫
天帝最近觉得很奇怪,总是不断有河神土地来告状,说有人乱扔土石,扔在各地,倒进河里,这让天帝觉得很奇怪,于是派出千里眼顺风耳去调查
千里眼和顺风耳是天庭著名的包打听,消息灵通,很快就回来报告说:“启奏天帝,下界有个愚公,带着三个大人一个小孩在挖太行山和王屋山,挖下来的土石就在周围附近的到处乱扔。”
天帝本不想管,但是恰在这个时候,山神来找妹夫告状了
天帝可真是不怎么把这个大舅哥放在眼里,什么本事都没有,干啥啥不成,吃啥啥没够,所以压根没怎么搭理。但是这次他来的时候很凑巧,这下天帝就明白了愚公想干什么。天帝于是和太白金星商量
太白金星说:“山川排布本有定制,都是按照规矩放在合适的地方,这些无知的凡夫俗子却要由着自己的性子乱来,这事必须管管,否则天庭的面子就没了。”
天帝点点头,说:“话是不错,可是以我们天庭的诸位大神,要是和几个老头小孩一般见识,那也太丢人了吧?穿新鞋何必踩狗屎。”
太白金星想了想,说:“那我看这样吧,您安排夸娥氏兄弟俩,把这山给换个地方,也让他们知道,山川河岳只有天帝您才能摆布,山在哪都要依照您的意志,不是他们能左右的。”
天帝捋着胡子说:“这倒是可以考虑,但是放在哪呢?”说着招呼太白金星走到了九州全图前
太白金星看看九州全图,指着朔东和雍南说:“就这两个地方吧,把他们分开放。天帝呀,不是老臣我打小报告,您那个大舅哥吧,也太不像话了,仗着山高地大物产丰富,整天就是带着山里坟头的那几个小狐狸精去找河神玩,还让狐狸精和鲤鱼精选美,太不像话了。闲着没事,早晚要出事的。这次咱们把这山给分开,设立两个山神,让他的地盘权力物产都减少了,给他点压力,也算是一点警告。您觉得呢?”
天帝眯着眼睛点了点头,就算是同意了
太白金星从天宫回来就赶紧去找自己的侄子说:“你不是求我给你安排个工作吗?这次机会很难得,好不容易多了一个山神的编制,我已经给你争取到了,你赶紧准备上任去吧。不用客气,没事想着香火钱和你大爷我平分就行了。”
后来的事,就简单多了,夸娥氏兄弟俩都是力大无比的天神,要搬两座山,那是太轻松的事。两个头脑简单四肢发达的壮汉甚至都没挑肥拣瘦的看谁搬多谁走的远,就直接把活给干了
山没了,从冀州到汉水的路再也没有阻碍
但是似乎并没有很多人为此而高兴。小孩要回家准备上学了,寡妇又要每天看着这个不省心的孩子了,大笨二呆三傻也不能公费旅游出去玩了,就连小憨也找到愚公抱怨说:“好端端的一个项目,挖出来的土能卖给渤海边上的那个工地,修好了路还能收费,去渤海的沿途以后还可以开发成旅游线路赚钱,现在居然就没了,天帝真是多管闲事。”
愚公也说:“是啊,要是不说为了公共交通,全家人还有邻居的寡妇小孩能这么主动白来干活吗?再找这么一个有油水的项目可不容易啊。”
小憨点点头,心里却也在想,小孩回来了,以后再找寡妇约会,太不方便了

2021年02月10日

要求那么多,怪不得没朋友

Filed under: 言论 — gcd0318 @ 15:18

年前最后一天上班,必然是最没事业心的一天,和别人随便打屁聊天,一不小心就说起了文明戏,俗称话剧。这位朋友说即便今年受到客观因素的影响,话剧市场也并不比前几年更差,因为这么多年以来话剧市场一直都很不景气,要么赔钱做,要么拿补贴,能挣钱的就是那么有数的几个剧团而已,比不得影视,怎么都是盈利的。这就让我想起了传统戏曲的市场,基本上也是这样。当然也会出现一票难求的场面,不外乎是某个特别有粉丝号召力的演员,多年不演出,突然露一手,内部消化掉一大批票源,能拿出来卖的本来就没几张,饥饿营销,所以才难求,就像当年的孟小冬,名气大,演出少,偶然出来唱一出,再赶上是堂会,那当然是打破头的要挤进去看看
其实这事吧,也不奇怪,这位朋友觉得话剧市场如此,主要原因无外乎:从业者鱼龙混杂,整体水平普遍偏低,作品粗制滥造者居多;主管部门审查严格,创作限制太多,难写好作品,文学的水平直接决定了戏剧的水平;社会娱乐形式太多,人们的精力都被分散了,最终的矛盾都指向了影视
这些理由当然都没错,不但可以解释话剧市场,也可以拿去解释传统戏曲的市场,甚至可以解释所有文化市场,那么似乎,这个解释也就没什么用了。换句话说,如果所有的娱乐形式都说自己从业者水平低,受限制太多,的观众被其他娱乐形式分散了,那就等于说,我们除了影视以外的所有的娱乐形式都是低水平,衙门打压其他所有的文化市场而独独对影视网开一面,观众只知道看影视不接收其他的娱乐形式——这就几乎是在别人身上给自己的失败找原因了,而且影视行业的从业者似乎也并没有比文明戏从业者的素质高到哪去,衙门的检查也未必更轻松,观众也是要靠自己去抢,最终为什么影视却能胜出呢
我倒是觉得,文明戏和戏曲这种舞台剧的整体不景气,一大原因就是观众用今天的观赏习惯,是无法营造出昔日的观赏结果的
郭德纲在演出的时候提过,说相声有时候就是和观众聊天,观众和舞台可以互动,可以接下茬,还开玩笑的说,看芭蕾舞可不要这样,会被保安打死——这就是旧的观赏习惯和现代观赏习惯的区别
过去我们怎么看戏?这要分场合。比如在剧场里,台下乱七八糟,戏曲园子一晚上七八出戏,曲艺场可能要换十几场活,有的人可能只为了等自己偶像的那一场,所以其他场次剧目对他来说就是休闲娱乐的时间,只要周围的其他观众不反对,他大可吃着点心喝着茶水嗑着瓜子根本不听。听的人呢,如果发现演的好,会鼓掌喝彩,一旦演出有纰漏,也会喝倒彩,叫倒好,随时往台上扔首饰或者扔茶壶,都是常有的事,也会和台上的演员互动
而有钱有势的人会请演员到家里演出,所谓的唱堂会,甚至皇帝还让演员进宫演出,这种演出的特点就是,演员演个不停,但是不一定有人听。比如慈禧太后看戏,演员可能天亮就要开始演,一场一场的一直唱到天黑,戏台上唱了一出又一出,慈禧太后却不一定在台下看着,可能有事她就去办事了,但是除非太后有吩咐,否则台上不能停,还要接着唱,中午慈禧太后吃饭睡觉,台上也是接着唱,没准过一会慈禧太后没事了又回来看一会,看着看着又走了。唱堂会也是这样,台下一群人,没准在干什么,有的聊天有的吃东西,有几个人在看戏谁也不知道,但是演员不用管,接着演出就行了
这就是过去看舞台剧的娱乐方式,观众是不受限制的,相当的自由,甚至经常是台下比台上还热闹,这就需要演员有办法有本事,能吸引到观众的注意力。而观众和演员的互动,在文明戏的理论体系里就是非法的。文明戏所谓的三面墙四面墙之类的理论,就是要制造台上和台下的距离,所以看文明戏没有台上台下的互动,还不如看演唱会,更没有观众搭茬的,甚至连交头接耳都不行,也没有中间叫好的节骨眼,都要留到最后鼓掌,就更别提什么一边看一边吃东西了,所以演唱会和德云社的生意都比文明戏好,因为文明戏的剧场就不会有这么自由,甚至有些剧场看文明戏,不许带包进场,穿的不符合要求也禁止入场,进场还要电话静音,中途不要离场,还美其名曰观戏礼仪,尊重演员,而有些观众也跟风的附和这种奇怪的要求,花钱受管制,甚至台湾的相声瓦舍,挂着相声的牌子,却也要让观众遵守文明戏的行规——这种奇怪的风气甚至蔓延到了公共交通领域,比如很多城市的地铁就只允许吃药和喝白水,其他所有的饮食都被列为不文明行为,实在是很扯蛋的文明标准。文明确实意味着违反人的本性,但并不等于没有人性
所以为什么影视能比话剧行情好?看电影虽然也很受限制,但是起码还可以在一定限度内吃东西喝水,所有的电影院门前都卖可乐爆米花,只要不是吃有异味的东西,一般也不会引起其他观众的反感,这甚至比坐地铁还要自由,当然会成为一种放松的方式。而堂会戏台上的演出,简直就是我们现在客厅里开着的电视,有好节目了看一眼,没什么好看的我们就聊天打牌。影视成为主流的娱乐形式,就是因为它让人很轻松,更接近传统的看戏方式,即便电影院里也受到一些限制,但是还保留了人性。而文明戏的这种所谓的尊重演员尊重艺术的观赏礼仪很可能是源自西方戏剧的宗教传统背景,所以演戏是有宗教意义的,要严肃,要关灯,甚至要穿正装,当然也就不允许吃吃喝喝交头接耳
当然了,也有人说,这种放松其实就是缺乏约束,是没有追求的,但是也不得不承认,恰是这种减少约束不需要努力追求的事,才能更容易被接受。休闲娱乐的本质是放松,而不是被约束。有追求的人都在买健康食材做营养餐,没追求的人都在订外卖,北京当年的市政单车有约束,必须停在指定的位置,这些位置都经过设计和规划,不会妨碍交通,所以市政单车败给了可以随便停随便扔哪怕放在马路中间也没关系共享单车——什么叫互联网精神?就是顺应甚至助长人性中的阴暗面,因为懒惰,所以有了外卖,因为炫耀,所以有了朋友圈,因为贪婪,所以有了网购,因为虚荣,所以有人在朋友圈里晒每天走了多少步。所以互联网精神和科技发明是一脉相承的,如果大家都勤劳互助,我们现在还在河边蹲着拿木头棒槌敲衣服给韩信这种懒人送午饭呢

2021年01月14日

这东西有什么用

Filed under: 感悟 — gcd0318 @ 16:16

人到中年不得已,保温杯里泡枸杞,所以我买了个高科技的保温杯,和普通保温杯的唯一区别在于,杯子盖可以测量杯子里的水温。产品没问题,广告上宣称的功能基本都实现了,保温效果还不错,在 28 度的室内,灌满刚开的开水,盖紧放了八九个小时,杯盖显示温度是 70 左右,基本符合预期——假设杯盖测温准确的话
但是现在,我对这个购买行为的评价只有四个字:脑子抽风。因为我突然就想不通,为什么保温杯要在杯盖上测水温
保温杯的设计目的就是要在短时间内保持杯内温度几乎不变,比如我灌进去的是 90 度的开水,盖紧杯盖,就算不测温度我也知道,起码一个小时以内,这杯里的水都是烫嘴的。如果我着急喝水,那么我会打开杯盖,甚至不用保温杯,那么杯盖上的测温功能就完全用不上了,这个温度显示岂不是毫无意义
上学时候老师说的,要发现一直被掩盖的问题,要解决真实存在的问题,温度只是个数据,本身什么都不说明,只有在扯皮的时候有用,比如室内温度不到 18 度可以不交暖气费,官方天气预报超过 40 度可以有高温福利,超过 80 度的水被 WHO 登记在册为一级致癌物之类,但是真正对我们有意义的其实还是冷或者热这种无法相通的感官体验,可以量化温度,但无法量化感受
科学提出一种可能,技术实现这个结果,工程做出可用的实物,产品最终进入生活,现在这个时代,科学技术工程都是过剩的能力,给这些能力找到发挥的领域太难了
俗话说,方法总比问题多——那么多出来的方法的用武之地在哪?就在这个保温杯上

2021年01月4日

fail fast

Filed under: 科普 — gcd0318 @ 19:58
今天在向年轻工程师解释 fail fast 的时候话题扯远了一点,就一不留神滑倒了小朋友们最感兴趣的恋爱问题,于是说起了我年轻的时候听说过的“多追快换”模型。简单说就是:
在若干男女之间,每个人都按照自己对每个异性的喜欢程度对所有异性做排序,然后没有女友的男人按照自己的排序去追,女人被追的时候,如果当前没有男友,就答应;如果有男友但是在自己的排序里低于追求者,就换掉——都很符合人的本性
这样经过若干轮,总可以达到稳定的平衡,所有人都配了对。从数学上其实可以完成这个证明,并且计算出大致需要多少轮次才能达到这样的平衡。上学时候我还计算过,现在不太记得最后的答案了,而且甚至,我对我当时的计算是不是对的都不确定……毕竟我的概率课成绩挺烂的
其实多追快换的模型基本依据就是人的本性,达到平衡的时候,每个男人都是和自己能追到的在自己排名里最高的女人配对,而女人则都是和在自己排序里最高的那个对自己有兴趣的男人配对,而最终保持单身的人也无可奈何,因为他们也算是尽力了
当然了,这个模型有几个前提,比如参与者不变,每个参与者的排序不变,等等——新冠封校期间的同学们,别说我没教你们,这么好的机会一辈子最多也就赶上一回,你们懂的
这个模型是符合 fail fast 的,就是让可能发生的事尽早发生,然后再做出判断,决定如何处理。讲到这个例子本来也是顺着 fail fast 下来的,但是因为都是小朋友们在听课,所以他们的注意力就迅速的滑到了什么是渣的问题上
也许对于大部分人来说,理性的态度在面对情感问题时,就是这么不堪一击吧
随手写了一段代码,大略可以验证这个模型的有效性。为了偷懒,我把人定义为类,其实用 dict 可能代码会更清楚
class Person():
    def __init__(self, name, sex, order=[]):
        self.name = name
        self.sex = sex
        self.order = order
        self.mate = None
def connect(p1, p2):
    if p2.mate is not None:
        p2.mate.mate = None
    p1.mate = p2
    p2.mate = p1

def match(p1, p2):
    if ('F' == p1.sex) and ('M' == p2.sex):
        match(p2, p1)
    elif('M' == p1.sex) and ('F' == p2.sex):
        if (p1.mate is None) and ((p2.mate is None) or (p2.order.index(p1.name) < p2.order.index(p2.mate.name))):
            connect(p1, p2)

def output():
    for man in men:
        print(man.name, man.mate.name if man.mate else None, man.order)
    print('=' * 20)
    for woman in women:
        print(woman.name, woman.mate.name if woman.mate else None, woman.order)

def stop(men, women):
    i = 0
    match = True
    while match and (i < N):
        match = (men[i].mate is not None) and (women[i].mate is not None)
        i = i + 1
    return i == N

import random

N = 10
men = []
women = []
for i in range(N):
    women_order = list(range(N))
    random.shuffle(women_order)
    men.append(Person(i, 'M', women_order))
    men_order = list(range(N))
    random.shuffle(men_order)
    women.append(Person(i, 'F', men_order))

print('start')
output()
x = 0
while not stop(men, women):
    x = x + 1
    for man in men:
        for i in range(N):
            if match(man, women[man.order[i]]):
                connect(man, women[man.order[i]])
print('finish in', x, 'rounds')
output()

2021年01月3日

怎样才算一个人

Filed under: 视听 — gcd0318 @ 23:30

这不是 Bob Dylan 的歌词,而是这两天看电影的时候想到的问题
这两天看了几个电影,包括赤狐书生(https://baike.baidu.com/item/%E8%B5%A4%E7%8B%90%E4%B9%A6%E7%94%9F), WW 1984(https://baike.baidu.com/item/%E7%A5%9E%E5%A5%87%E5%A5%B3%E4%BE%A01984),标准的超级英雄套路片,还有真假美猴王之大圣无双(https://baike.baidu.com/item/%E7%9C%9F%E5%81%87%E7%BE%8E%E7%8C%B4%E7%8E%8B%E4%B9%8B%E5%A4%A7%E5%9C%A3%E6%97%A0%E5%8F%8C),烂片无疑,而且百度百科的剧情介绍是错的——提了个修改,看什么时候能通过吧。这几个片都涉及到了相似的问题,所以,罗嗦几句吧
白十三还是一只普通狐狸的时候被王子进的前世救过,到了这一世两个人的关系和前世有没有关系?Barbra 本来是个特别普通的小透明,虽然很热心也很善良,但是却是个标准的小人物,职场上微不足道,生活里内向自卑,但是因为神秘的许愿石,她成为了拥有神奇力量的超人,而且突然就获得了所有人的关注和认可。于是,她的心态变了,为了留住这种过去想都不敢想的快乐,她成了反派。而 Steve 这个角色,说实话我有点没看懂,是因为相貌变了导致 Diana 没有认出他,还是他只是借尸还魂,进入了别人的躯壳,所以结尾出现的那个看雪的男人并不认识 Diana。但是这两个角色都恰好是两个表象:Barbra 的外表没有变化——好吧其实 Barbra 的外表也变了,但那只是她的气质变化,而且更会打扮了——但是内心完全变成了另外的样子,那么她还是 Barbra 吗?而 Steve 的外表变了,内心却仍然是那个爱飞机爱 Diana 的 Steve,那么他还是 Steve 吗?六耳猕猴受孔雀王指使,冒充孙悟空骗取九环锡杖,但是如果他得到了孙悟空的全部记忆,那么他到底是六耳猕猴还是孙悟空?或者一般的,我们认定这个人就是他本人,是根据什么
这好像是个哲学问题,这种问题也只能以特定类型的电影去呈现,比如科幻武侠童话神话,或者有的人喜欢再细分为魔幻玄幻之类,总之都是超现实的片子,因为这种片不必受限于客观世界的规律,可以自行建构起一套逻辑世界,另设规则,在这里可以把一些问题极端化,来引起更多的思考
短期内社会地位发生了变化,导致心态改变,这在现实里固然存在,但是只有在超现实的片子里在可以把它极端到一夜之间发生了变化,让 Barbra 完全没有准备好去应对,因此心态发生了巨大的改变,变的不再谦卑,甚至不再善良,那么她还是 Barbra 吗?她需要为这期间的行为负责吗?我觉得很多人都会觉得她还是 Barbra,要为这些行为负责,因为这种变化是她自己可以控制的,或者说这种心态失控是她自己无法做出调整的结果。那么 Steve 内心不变而外形变了,应该绝大部分人也会认为他还是 Steve 吧,起码 Diana 认为他是 Steve,但是结尾看雪的那个男人,恐怕不会有人觉得这是 Steve 吧
而真假美猴王的电影,它当然是和西游记原著毫无干系的剧情,只是借用西游记的人物框架,减少了许多背景的交代。在这个设定里,六耳猕猴长的和孙悟空一样,又有孙悟空的记忆,甚至还失去了自己的记忆,那么他到底是孙悟空还是六耳猕猴?我们是不是可以说,六耳猕猴就是孙悟空?Barbra 变身后,有 Barbra 的外形而没有 Barbra 的思想,Steve 只有思想而改变了外形,如果这样我们都认可他们还是 Barbra 和 Steve,那么像六耳猕猴这种外形和思想都和孙悟空一样的,应该也就没理由不是孙悟空了吧——但是恐怕不会有人这么认为
至于赤狐书生,好像又复杂一点。转世投胎是佛教进入中国之后被反复使用的编故事的手法,至今还有这类故事。经过投胎,理论上是要在阴间喝了孟婆汤,抹去关于前世的记忆,样子变了,记忆也没了,那么投胎后的王子进和前世的小孩是不是同一个人?投胎后和前世还有没有关系?还要不要报恩或者报仇?甚至白蛇还要不要嫁给许仙?这都成了问题。民间传说倒是简单粗暴的给了个答案:今生的遭遇都是前世的注定,所以三国人物都是楚汉争的人物投胎,才会有这一世的恩怨
哲学系第一学期就会讨论这种问题:怎样才算一个人,以及,怎样才算同一个人。而且,老师应该都不会给答案——如果某位哲学系的老师给了标准答案,那么,他不配在哲学系教书。但是这个问题确实值得反复思考。比如 X-man 里的变异人具有人类的基因,是人类的后代,有人类的思想,但是在剧情里的人类为什么不承认他们也是人?Wolverine 被替换个金属骨骼,那么他还是不是之前的 Wolverine?超人是外星生命,被人类抚养长大,有人类的外形和思想,但是没有人类基因,他们他是不是人?机械战警的身体几乎被毁,只剩下一个头,连接了机械的身体,那么他是不是人?Vice 里的机器人都有了自己的意识和判断,那么他们是不是人?Ederlezi Rising 里的女机器人最终有没有变成人?机械画皮里不断升级学做女人并且可以随时改变容貌的机器人算不算人?这些触及人类标准的哲学问题,大概也只好在科幻片里去讨论了……甚至,机械画皮还牵涉到,女机器人如果能算人,那么她伤人就要由她来负责,否则就是那个天才博士制造者来负责,因为他制造的机器失控,造成他人死亡
哲学上还会讨论一种问题,比如,机械战警的头还是原来的头,但是身体换成了机器,如果这样还可以承认他还是 Alex,那么是不是可以一般化的认为,Alex 的一部分被换掉,还是 Alex,那么如果是一台电脑控制着 Alex 的钢铁身体,那么他(或者它)还是不是 Alex?哲学课上一般是换个说法,比如,一条船每次换掉一块木板,当所有的木板都被换过一次之后,这条船还是不是原来的船?其实更直接的问法就是,人类的细胞每天都在新陈代谢,旧的细胞死亡脱落排泄,新的细胞生成,当我们全身的细胞都换过一遍之后,是不是就等于换了个人?甚至,比如 Death Pool 具有无限修复的超能力,身体被砍掉一部分之后还会再生,那么如果从正中间把 Death Pool 一刀劈开,是不是就会得到两个 Death Pools?就像蚯蚓那样——那可真是灾难,两个话痨,太可怕了
其实我在看真假美猴王的时候,满脑子还是在想着那个从小就困扰着我的那个问题:六耳猕猴到底怎么回事。好吧针对西游记里这个故事的解读很多,我见过的最流行的说法是,六耳猕猴其实是孙悟空对取经事业并不坚定时候的内心的阴暗面,是孙悟空的影子,所以他有孙悟空的记忆,知道孙悟空的所有黑历史——但是这些再怎么也无法解释一个问题:大禹治水的时候应该只用了一根如意金箍棒测量水深吧?六耳猕猴手里那根能和定海神针对攻而势均力敌不落下风的铁棒是哪来的

2020年10月23日

品位

Filed under: 感悟 — gcd0318 @ 03:40

小时候读许浑的咸阳城东楼,觉得溪云初起日沉阁写的很别扭,就有老师说一定是我偷懒,背诗背不下来在找借口。后来长大了才知道,这真不是我不肯背书,而是这一联犯了合掌,是对句大忌,浪费了那么精彩的一句山雨欲来风满楼
又比如多年以前,我在鼓浪屿的一个小博物馆里闲逛,满屋子不甚精彩的展品,忽然对面墙上有一张画感觉还不错,宛如狗食盆里的一块肥牛肉,于是赶紧凑过去看看……落款是唐寅——纵然不是真迹,也起码要有两分神似才敢做赝。再看周围的几张字画,都是无名的作者,自然是比不得这幅不知道真假的唐伯虎
其实小时候的我哪里知道什么联句的规矩,只是因为读的多了,有的对句很顺,有的别扭,自然就知道了好歹,然而彼时若是有人问我哪里好哪里不好,我也是回答不出的——不光是我,便是诗中老手,恐怕也很难说别人的作品哪里好哪里不好。譬如王维赞孟浩然微云淡河汉两句,就有人打趣,要王维说说好在哪里。王维也只合说,好句妙处,只可意会
王维也算会写诗的,尚且说不出个所以然,那么这诗句中的精微差异我就不去白费劲了。而我连写字都是全靠捋了一点许老太爷的叶子,就更别说画画了,能看出个好歹,也全靠了博物馆去的多,看过几张好画,看过几个好物件
审美品味和对艺术的感觉不是学出来的,而是养起来的
写代码也一样

2020年09月28日

包袱的门槛

Filed under: 科普 — gcd0318 @ 02:54

早上听青曲社的实况录音,苗阜说王声的祖先是王承恩,台下果然毫无反应,可见这个包袱不适合当时的现场,观众并不知道王承恩是谁,所以还要后面翻回来补一句才有效果
类似的场面我也遇到过,我上学玩票的时候使的大致是:您祖上明朝就住在南京城,朱元璋那时候这就是首都,人称京城太叔,京城太叔原本是一辈古人,春秋时候的人,左传里有他的故事,我就挺喜欢这个人,他一死我就不想读左传了。这个包袱也有点皮厚,还需要捧哏的补一句,那你就是只看了第一篇就不看了,但是效果仍然不好
包袱的设计一定要根据观众的接受能力来组织,但是过去剧场演出很难预判当场的观众是什么欣赏水平,所以就需要有垫话,就是我在老文里多次提到的,通过讲各种小笑话来试探观众的笑点,然后选择合适的正文,由垫话进入正活也是需要经验和技巧的
当然了,还是那句话,现在这个时代,垫话基本就是走走形式,没有实质上的意义了,也是因此,出现皮太厚的包袱也就不奇怪了。但是能在发现包袱没响之后立刻找补回来,也算是两手准备,预案清楚,反应敏捷了

2020年03月11日

尝试翻译 Duffy’s Jacket

Filed under: 故事 — gcd0318 @ 14:43

Duffy’s Jacket 是一篇短篇小说,在中国大概相当于高中的英语水平,没什么罕见的词汇,故事也很清楚,很少难句,还曾被拍成电影(https://www.imdb.com/title/tt5892408/),我在 https://1.cdn.edl.io/jVBjOu98QwoLVE20xlzynULrlgPps8pHb3LSBBbzFih3LlDK.pdf 找到了英文原文。写的其实还挺逗,但是有很多哏不是中文的习惯表达方式,所以不好翻译。以我这种非中英文专业的水平,自己看着笑还行,但是怎么讲出来让别人也笑,就成问题了
以中英翻译为例,我觉得只要中文读者和英文读者各自读完自己的版本,知道了同样的事情,就算是合适的翻译。无奈现在太多的翻译作品(尤其非文学作品,比如各个工程技术领域的专业书籍)都停留在只求信的层面上,达已经是可望而不可及,雅就更不要想了,看译文能猜到原文用的是什么从句结构,真让人怀疑译者的中文水平是不是远远低于英文
我对翻译这件事的理解几乎全部来自 GEB 以及其序言,比如 GEB 中英文的回文句,在中文版中就是直接被替换成了中文的一句回文,英文的藏头更是被整段的重新改写,因为这些文字游戏出现在这里的目的本来就是为了展现一种形式,而不在乎其内容
我翻译 Duffy’s Jacket 也有这方面的尝试,比如我把人名都翻译的很接地气,因为这几个名字本来也不重要,中文读者阅读的时候遇到玛丽、爱丽丝、霍雷斯、安德鲁这样的名字时,脑子里总是会有片刻的迟疑,这样就分散了对故事剧情的专注,还有一些中文口头语的表述,使用了当前流行的含义类似的词汇,有些比喻也用了汉语习惯的表达方式,让中文读者了解故事的经过,感受到原文所制造的气氛,这才是我想实现的翻译效果
当然了,专业的译者可能对此不以为然,这也不奇怪,毕竟大家追求的目标就不一样

Duffy’s Jacket
大肥的衣服

If my cousin Duffy had the brains of a turnip it never would have happened. But as far as I’m concerned, Duffy makes a turnip look bright. My mother disagrees. According to her, Duffy is actually very bright. She claims the reason he’s so scatterbrained is that he’s too busy being brilliant inside his own head to remember everyday things. Maybe. But hanging around with Duffy means you spend a lot of time saying, “Your glasses, Duffy,” or “Your coat, Duffy,” or-well, you get the idea: a lot of three- word sentences that start with “Your,” end with “Duffy,” and have words like book, radio, wallet, or whatever it is he’s just put down and left behind, stuck in the middle.
大肥是我表弟,他要是有猪的脑子,都不至于有这事。其实我都觉得,跟他比,猪都算聪明的。但是我妈总说不至于,她说大肥其实挺聪明的,就是想的事太多,有些事就不往心里去,所以看着有点丢三落四。就算她说的对吧,反正跟大肥在一块,你基本上一直得提醒他,“大肥,你眼镜”,“大肥,你衣服”,总之就是反正甭管什么,书啊,手机啊,钱包啊,他放那就找不着,你就老得问他,“大肥,你什么什么”的

Me, I think turnips are brighter.
反正我就是觉得,他比猪还笨

But since Duffy’s my cousin, and since my mother and her sister are both single parents, we tend to do a lot of things together-like camping, which is how we got into the mess I want to tell you about.
但是因为我和大肥都是单亲家庭的孩子,大肥是我大姨的孩子,所以我们俩还必须经常在一块,就比如这次郊游。我给你讲讲我们这次点有多背

Personally, I thought camping was a big mistake. But since Mom and Aunt Elise are raising the three of us-me, Duffy, and my little sister, Marie-on their own, they’re convinced they have to do man- stuff with us every once in a while. I think they read some book that said me and Duffy would come out weird if they don’t. You can take him camping all you want. It ain’t gonna make Duffy normal.
其实我都觉得我们压根就不该来郊游,但是我妈和我大姨都是独自带孩子,我大姨还有个女儿,也就是我表妹小丽,所以她们老姐俩是当妈又当爹,有些当爹的该干的事她们也得承担起来。她们大概是关注了什么关于青少年心理学的公众号吧,就觉得如果她们俩不让我们知道男人是什么样,我和大肥长大了可能会变成娘炮,所以才计划了这次郊游。不过就算你们带大肥去郊游,他也还是个奇葩

Anyway, the fact that our mothers were getting wound up to do something fatherly, combined with the fact that Aunt Elise’s boss had a friend who had a friend who said we could use his cabin, added up to the five of us bouncing along this horrible dirt road late one Friday in October. It was late because we had lost an hour going back to get Duffy’s suitcase. I suppose it wasn’t actually Duffy’s fault. No one remembered to say, “Your suitcase, Duffy,” so he couldn’t really have been expected to remember it.
反正不管怎么说吧,这两位当妈的打算干点当爹的该干的事。正好我大姨的老板有个拐弯抹角隔了好几层八杆子打不着的朋友在郊区有间空房可以借给我们,所以最终我们在十月的一个周五的晚上,沿着一条烂路来到了这里。你可别问我为什么不早点,我才不会告诉你是因为大肥忘了拿行李我们又拐回家才耽误了一个小时。其实这事吧,也不能赖大肥,要怪也只能怪我们谁都没想起来说一句“大肥,你行李”——你总不能指望大肥他自己记得住吧

“Oh, Elise,” cried my mother, as we got deeper into the woods. “Aren’t the leaves beautiful?”
当我们走在丛林里的时候,我妈一个劲的跟我大姨说:“老姐姐你瞅瞅这树,这叶子,真好看。”

That’s why it doesn’t make sense for them to try to do man-stuff with us. If it had been our fathers, they would have been drinking beer and burping and maybe telling dirty stories instead of talking about the leaves. So why try to fake it?
你看看,就这还说要让我们看看男人是什么样,我爸才不会看什么树叶,这时候他应该喝酒放屁讲个荤笑话什么的,你们装也装的不像啊

Anyway, we get to this cabin, which is about eighteen million miles from nowhere, and to my surprise, it’s not a cabin at all. It’s a house. A big house.
算了不说这个,总之我们走了十万八千里终于找到了我大姨的老板的那个朋友的朋友的房子——说实话我一开始就以为是个小破房子了不起了,这一看才知道,这是个大别墅啊,巨特么大

“Oh, my,” said my mother as we pulled into the driveway.
我们刚一拐过弯来我妈就看傻了:“额滴神呀。”

“Isn’t it great?” chirped Aunt Elise. “It’s almost a hundred years old, back from the time when they used to build big hunting lodges up here. It’s the only one in the area still standing. Horace said he hasn’t been able to get up here in some time. That’s why he was glad to let us use it. He said it would be good to have someone go in and air the place out.”
我大姨也惊着了:“这也太牛逼了,过去这地方流行建庄园,那帮人没事就来度个假什么的,现在大概也就剩下这一座了吧,老霍说他也有日子没来了,那房子一直没人住还不得糟了啊,所以他二话不说就借给咱们,说是让我们来添点人气。”

Leave it to Aunt Elise. This place didn’t need airing out – it needed fumigating. I never saw so many spiderwebs in my life. From the sounds we heard coming from the walls, the mice seemed to have made it a population center. We found a total of two working lightbulbs: one in the kitchen, and one in the dining room, which was paneled with dark wood and had a big stone fireplace at one end.
你们可别听我大姨瞎逼逼,其实吧,这地方怪不得没人气呢,换谁都不愿意来,我这辈子见过的蜘蛛网加起来都没这么多,墙里头稀里哗啦的听着得有好几万的老鼠。满屋子就俩灯泡,厨房一个,餐厅一个,灯泡底座还是乌木的,紧里头有石头的灶,没了

“Oh, my,” said my mother again.
我妈又喊了一声:“额滴神呀。”

Duffy, who’s allergic to about fifteen different things, started to sneeze.
大肥开始吸溜鼻子,他的体质对什么都过敏

“Isn’t it charming?” asked Aunt Elise hopefully.
“这地方不错吧?”我大姨还腆着脸问呢

No one answered her.
没人搭理她

Four hours later we had managed to get three bedrooms clean enough to sleep in without getting the heebie-jeebies – one for Mom and Aunt Elise, one for Marie, and one for me and Duffy.
我们收拾了好几个小时,才收拾出来三个卧室勉强能睡。我妈和我大姨一间,我妹一间,我和大肥一间

After a supper of beans and franks we hit the hay, which I think is what our mattresses were stuffed with. As I was drifting off, which took about thirty seconds, it occurred to me that four hours of housework wasn’t all that much of a man-thing, something it might be useful to remember the next time Mom got one of these plans into her head.
我们凑合吃了口饭就准备睡觉了,连床都没有,就是每人一堆草,但我还是基本上秒睡。我就觉得花好几个小时收拾个睡觉的地方,这事一点不像男人该干的,但愿下回我妈再琢磨这么不靠谱的事的时候,能想起来这个教训

Things looked better in the morning when we went outside and found a stream where we could go wading. (“Your sneakers, Duffy.”)
一直到第二天早上,我们在附近发现一条河,可以涉水玩一会,我的心情才稍微好了一点——还不能忘了提醒“大肥你的鞋”

Later we went back and started poking around the house, which really was enormous. That was when things started getting a little spooky. In the room next to ours I found a message scrawled on the wall. BEWARE THE SENTINEL, it said in big black letters.
玩了一会,我们又回来在房子里各处看看。这房子真特么大,而且还有点诡异。就在我们房间的隔壁,我看到有一行歪歪扭扭的字:有妖怪。笔画很粗,写的很重

When I showed Mom and Aunt Elise they said it was just a joke and got mad at me for frightening Marie.
我让我妈和我大姨来看,她们说这没准是谁闹着玩呢。我让小丽来看,她吓够呛,我妈她们还冲我嚷嚷

Marie wasn’t the only one who was frightened.
其实不光是小丽,我也害怕

We decided to go out for another walk. (“Your lunch, Duffy.”) We went deep into the woods, following a faint trail that kept threatening to disappear but never actually faded away altogether. It was a hot day, even in the deep woods, and after a while we decided to take off our coats.
我们打算出去转转,走另一条路,还得提醒,“大肥,带吃的”。我们沿着一条若隐若现断断续续的小路一直往林子里走,天还挺热,林子里也不凉快,我们走了一会,就都把外衣脱了拿着

When we got back and Duffy didn’t have his jacket, did they get mad at him? My mother actually had the nerve to say, “Why didn’t you remind him? You know he forgets things like that.”
等我们回来,大肥果然找不着衣服了。你猜我妈她们什么反应,我妈居然问我:“你怎么不提醒他呢?你不知道他爱忘事吗?”

What do I look like, a walking memo pad?
我靠?你把我当什么?人肉记事本?

Anyway, I had other things on my mind-like the fact that I was convinced someone had been following us while we were in the woods.
算了算了不跟你们计较,我还得考虑别的问题:刚才我在林子就一直觉得有人在跟踪我们

I tried to tell my mother about it, but first she said I was being ridiculous, and then she accused me of trying to sabotage the trip.
我跟我妈说这事,我妈居然说我扯淡,还说我是不是故意的,打算破坏这次郊游

So I shut up. But I was pretty nervous, especially when Mom and Aunt Elise announced that they were going into town which was twenty miles away-to pick up some supplies (like lightbulbs).
行吧,那我不说了,但是我还是害怕,尤其我妈和我大姨还说她们打算跑去 20 里地以外的城里买几个灯泡什么

“You kids will be fine on your own,” said Mom cheerfully.
“你们几个小孩自己要乖乖的哦?”我妈居然还挺高兴

“You can make popcorn and play Monopoly. And there’s enough soda here for you to make yourselves sick on.”
“你们可以吃零食,玩过家家,别喝凉水,闹肚子。”

And with that they were gone.
说完她们就走了

It got dark.
天黑了

We played Monopoly.
我们玩过家家

They didn’t come back. That didn’t surprise me. Since Duffy and I were both fifteen they felt it was okay to leave us on our own, and Mom had warned us they might decide to have dinner at the little inn we had seen on the way up.
我妈走的时候还说,她们可能会在路上吃点东西,所以她们一直到现在都没回来,我也没当回事。其实本来也没啥,我和大肥都十五岁了,她们觉得我俩也出不了什么大事

But I would have been happier if they had been there. Especially when something started scratching on the door. “What was that?” said Marie.
但是我现在特别希望她们能赶紧回来,因为外面好像有什么东西在挠门。“什么声音?”小丽听见了

“What was what?” asked Duffy.
大肥也问:“什么声音?”

“That!” she said, and this time I heard it, too. My stomach rolled over, and the skin at the back of my neck started to prickle.
“听!”小丽说。这次我也听见了,当时我就觉得心里一紧,后脊背直冒凉气

“Maybe it’s the Sentinel!” I hissed.
“是不是就是妖怪?”我小声嘀咕了一句

“Andrew!” yelled Marie. “Mom told you not to say that.”
“柱子哥!”小丽大叫,“妈妈不让你这么说。”

“She said not to try to scare you,” I said. “I’m not. I’m scared! I told you I heard something following us in the woods today.”
“妈妈是不让我吓唬你。”我说,“可是我也没吓唬你啊,我也害怕呢,而且我在林子里的时候就说我觉得有人跟着我们。”

Scratch, scratch.
在挠门,还在挠

“But you said it stopped,” said Duffy, “So how would it know where we are now?”
大肥说:“但是你后来不是说没了吗,那怎么现在又找上我们了?”

“I don’t know, I don’t know what it is. Maybe it tracked us, like a bloodhound.”
“你问我我问谁去?我也不知道这怎么回事,是不是它能追踪我们,就比如像狗那样能闻味?”

Scratch, scratch.
在挠门,还在挠

“Don’t bloodhounds have to have something to give them a scent?” asked Marie. “Like a piece of clothing, or–”
小丽说:“追踪也要有迹可循吧,比如我们掉了什么东西,或者……”

We both looked at Duffy.
我们一起盯着大肥

“Your jacket, Duffy!”
“大肥 ,你衣服”

Duffy turned white.
大肥脸都绿了

“That’s silly,” he said after a moment.
过了一会他说:“净扯犊子!”

“There’s something at the door,” I said frantically. “Maybe it’s been lurking around all day, waiting for our mothers to leave. Maybe it’s been waiting for years for someone to come back here.”
我紧张的冲他说:“门外肯定有事,没准都盯我们一天了,就等大人们离开了好对我们下手,这地方成年论辈子的没人来,它们可能都等急了。”

Scratch, scratch.
在挠门,还在挠

“I don’t believe it,” said Duffy, “It’s just the wind moving a branch. I’ll prove it.”
大肥说:“真的吗?我不信,这就是刮风而已,不信你们看。”

He got up and headed for the door. But he didn’t open it. Instead he peeked through the window next to it. When he turned back, his eyes looked as big as the hard-boiled eggs we had eaten for supper.
他站起来走到口,但是没有开门,而是顺着旁边的窗户缝向外看。突然他一回头,眼睛瞪的跟俩鸡蛋似的

“There’s something out there!” he hissed. “Something big!”
“外面有东西!”他说,“有个大家伙!”

“I told you,” I cried. “Oh, I knew there was something there.”
我冲他大喊:“我说什么来着,啊,我早就说不对劲。”

“Andrew, are you doing this just to scare me?” said Marie. “Because if you are–”
小丽说:“柱子哥你是故意的吧,你是吓唬我呢是不是?要是你……”

Scratch, scratch.
在挠门,还在挠

“Come on,” I said, grabbing her by the hand. “Let’s get out of here.”
我一把抓住她的手说:“快,咱们快跑。”

I started to lead her up the stairs.
我想带她上楼

“Not there!” said Duffy” “If we go up there, we’ll be trapped.”
大肥说:“别上去,到楼上正好被抓个老实的。”

“You’re right,” I said. “Let’s go out the back way!”
我说:“也对,咱们从后门走。”

The thought of going outside scared the daylights out of me. But at least out there we would have somewhere to run. Inside – well, who knew what might happen if the thing found us inside. We went into the kitchen.
其实我也不敢出去,但是至少出去还能有条活路,在屋里……我靠,要是被它们堵在屋里,那可真完蛋了。所以我们跑到了后厨

I heard the front door open.
我好像听到前门被打开了

“Let’s get out of here!” I hissed.
我小声说:“快跑。”

We scooted out the back door. “What now?” I wondered, looking around frantically. “The barn,” whispered Duffy. “We can hide in the barn.”
我们从后门跑了出来。我紧张的四处张望,心里想着:“然后怎么办。”大肥大叫了一声:“那有个仓库,去躲躲。”

“Good idea,” I said. Holding Marie by the hand, I led the way to the barn. But the door was held shut by a huge padlock.
“好。”我答应了一声,拉着小丽的手一起跑到仓库,结果发现仓库是锁着的。

The wind was blowing harder, but not hard enough to hide the sound of the back door of the house opening, and then slamming shut.
风越来越大,但我们还是听见开后门的声音,然后猛的一下又关上了

“Quick!” I whispered. “It knows we’re out here. Let’s sneak around front. It will never expect us to go back into the house.”
“赶紧的。”我小声说,“我们可能被发现了,现在我们偷偷绕到前面去,它们肯定想不到我们会又回去。”

Duffy and Marie followed me as I led them behind a hedge. I caught a glimpse of something heading toward the barn and swallowed nervously It was big. Very big.
大肥和小丽跟着我藏在一排篱笆后面,我隐约看见有什么大家伙朝着仓库走过去了,真是大,巨大巨大的,吓得我大气都不敢出

“I’m scared,” whispered Marie.
“我害怕。”小丽在我耳边嘀咕着

“Shhhh.”’ I hissed. “We can’t let it know where we are.”
我赶紧小声说:“嘘……会被发现的”

We slipped through the front door. We locked it, just like people always do in the movies, though what good that would do I couldn’t figure, since if something really wanted to get at us, it would just break the window and come in.
我们偷偷溜回到前门,赶紧把门锁上。其实我也不知道锁门有啥用,谁真要进来抓我们,把门砸了不就行了,但是恐怖片里都锁门,我就也锁了

“Upstairs,” I whispered.
“上楼!”我小声说

We tiptoed up the stairs. Once we were in our bedroom, I thought we were safe. Crawling over the floor, I raised my head just enough to peek out the window. My heart almost stopped. Standing in the moonlight was an enormous, manlike creature. It had a scrap of cloth in its hands. It was looking around – looking for us. I saw it lift its head and sniff the wind. To my horror, it started back toward the house.
我们蹑手蹑脚的上了楼,进了卧室我才觉得稍微安全了一点。我爬到窗户边,探头偷瞄着外面。我靠吓死我了,月光下站着一个巨大的跟人似的东西,手里拿着一团布,四处张望着,大概是在找我们吧。我看见它抬起头,到处闻。更可怕的是,它居然转身向房子这走过来了

“It’s coming back!” I yelped, more frightened than ever.
这次我真吓傻了,大喊一声:“又回来了!”

“How does it know where we are?” asked Marie.
小丽问:“它怎么知道我们在这?”

I knew how. It had Duffy’s jacket. It was tracking us down, like some giant bloodhound.
我觉得就是大肥的衣服招的,它才能找到我们,就像猎狗那样

We huddled together in the middle of the room, trying to think of what to do.
我们在房间里抱在一起不知所措

A minute later we heard it.
很快,我们又听见了

Scratch, scratch.
在挠门,还在挠

None of us moved.
谁都不敢动

Scratch, scratch.
在挠门,还在挠

We stopped breathing, then jumped up in alarm at a terrible crashing sound.
我们都紧张得快背过气了,突然一声巨响把我们吓得跳起来

The door was down.
门倒了

We hunched back against the wall as heavy footsteps came clomping up the stairs.
楼梯上传来一阵沉重的脚步,我们吓得靠着墙一动也不敢动

I wondered what our mothers would think when they got back. Would they find our bodies? Or would there be nothing left of us at all?
等我妈和我大姨她们回来看到这场面会怎样?能剩下三具尸体吗?还是尸骨无存?

Thump. Thump. Thump.
duang!duang!duang!

It was getting closer.
脚步声一步一步的靠近我们

Thump. Thump. Thump.
duang!duang!duang!

It was outside the door.
到门口了

Knock, knock.
当当当敲门

“Don’t answer!” hissed Duffy.
“别出声!”大肥小声说。

Like I said, he doesn’t have the brains of a turnip.
你看看我说什么来着,猪都比他强

It didn’t matter. The door wasn’t locked. It came swinging open. In the shaft of light I saw a huge figure. The Sentinel of the Woods! It had to be. I thought I was going to die.
有个屁用嘛,门都没锁,一推就开了,一个大个子站在光影下,大概这就是林子里的妖怪!我觉得这下死定了

The figure stepped into the room. Its head nearly touched the ceiling.
它走到屋里,头都快挨着房顶了

Marie squeezed against my side, tighter than a tick in a dog’s ear.
小丽紧紧的贴着我,比狗皮膏药贴的还紧

The huge creature sniffed the air. It turned in our direction. Its eyes seemed to glow. Moonlight glittered on its fangs.
那个大家伙吸了吸鼻子,转向我们。它瞪着小红眼珠,月光映照着它的獠牙寒光闪闪

Slowly the Sentinel raised its arm. I could see Duffy’s jacket dangling from its fingertips. And then it spoke.
妖怪慢慢的举起手,手里拿着大肥的外衣,说:

“You forgot your jacket, stupid.”
“衣服丢了,二货。”

It threw the jacket at Duffy, turned around, and stomped down the stairs.
它把衣服扔给大肥,转身,又一步一步慢慢的走下楼

Which is why, I suppose, no one has had to remind Duffy to remember his jacket, or his glasses, or his math book, for at least a year now.
从那之后到现在一年多了,我们再也不用提醒大肥别忘了衣服,眼镜,或者书什么的

After all, when you leave stuff lying around, you never can be sure just who might bring it back.
因为毕竟,如果你丢了东西,给你送回来的说不定会是谁

2019年12月4日

再吐一个三国演义叙事的槽

Filed under: 故事 — gcd0318 @ 01:57

曹操刺杀董卓之前找王允借刀,这个细节很少被讨论。三国演义里没有提过董卓身穿铠甲,即便出入董卓府邸禁止佩剑,难道曹操自己找不到一把小匕首吗?而且后来行刺计划败露后曹操非常惊惧,也说明献刀是临时想到的办法,而不是荆轲刺秦那种计划好的掩护,那么为什么要借王允的七宝刀——难道是曹操早就觊觎王允的七宝刀,打算趁机据为己有吗?曹操又是怎么知道王允有七宝刀的呢?王允家有七宝刀应该不是很多人知道的事,否则后来曹操行刺失败逃脱,被天下通缉,董卓应该不知道七宝刀是王允的,但是他也并未追查,七宝刀的事就这么放下了……估计董卓也不经常玩赏这把刀,否则没准会有人说,这是王允的刀——然后董卓就会办了王允,至少要加以提防,那后面连环美人计的故事就发展不下去了

2019年10月10日

无倒字,不唱歌

Filed under: 科普 — gcd0318 @ 14:09

国庆期间,各种主旋律歌曲刷屏,妻也被熏会了跟着唱,可是她在唱《我们走在大路上》第一句的时候永远跑调,于是我告诉她,别唱“大路上”,改唱“大撸上”试试……药到病除,果然“字正腔圆”了——这不怪她,是这歌写的倒字
字正腔圆经常被用来形容戏曲演员的演唱,指的是每个字的字音和旋律都符合标准——那么这个标准是怎样的呢
汉语每个字都有声调,现在的普通话所谓的四声,以及轻声(无声调),而古代的汉语和汉语的其他方言的声调可能更多,汉语的方言也对每个字都有不同的声调,而中国的歌唱艺术有个规律就是“以字行腔”,也就是旋律要和字音配合。中国每个地区都有当地的民歌和地方戏曲,其旋律都非常有地域特色,就是因为各地都有不同的方言声调,而戏曲和民歌的旋律都要和唱词的声调搭配。如果词曲设计的有问题,或者演唱者处理的不好,字音和旋律不搭配,这个现象就叫做倒字
古代的诗词曲都是可以配乐演唱的,因此在创作上都要考虑每个字声调的音乐性问题,这在诗词创作上是格律的一部分,最简单的规则就是诗词的每个字应该是平声还是仄声,如果平仄不合,就会在演唱中出现倒字。现在这些配合演唱的曲谱都失传了,但是诗词的格律规则都还在,我们还可以从中窥见一些当初演唱的风格
而现在写歌的人,无论作词还是作曲,都完全不关注这个事,甚至连押韵都不是必然的,对于精致的文体来说,押韵是最基本的要求,但是现在讲究押韵的大概只有rapper了。哪里还能要求他们注重平仄,讲究字音和旋律的配合,不要倒字呢
顺便说一句,现在几乎所有华语歌曲都存在不同程度的倒字,好的戏曲演员学唱歌曲,除了吐字发音尖团之类的改变以外,还要注意不要再纠结字正腔圆,只要唱歌就要大胆的唱倒字,否则一定经常跑调,包括大作曲家作词家创作的各种主旋律歌曲,以及义勇军进行曲——毫不夸张的说,义勇军进行曲几乎每句都有倒字

过几天就又能看nba了

Filed under: 篮球 — gcd0318 @ 10:23

莫雷和肖华的事闹的挺火爆,我就当是个热闹看着。中国人说莫雷支持自由支持香港是错的,美国人觉得不管对错都可以说出来,两群人说着毫无关联的两件事,各自在各自的领域里发挥表演
接触多了美国人就会发现,很多美国人对香港台湾中国这几个概念的区别并不是很清楚,除非专门关注过相关问题,否则都以为是差不多的一回事,也闹不清楚香港人最近到底在折腾什么——其实很多中国人大概也不知道
中国人讲究入乡随俗,所以莫雷的求生欲让他很谨慎的把支持香港的言论发在了中国人看不到的twitter上,而不是发微博……结果还是被看到了
不过话说回来,中国人期望的所谓道歉,为什么道歉呢?为支持香港而道歉?为口无遮拦而道歉?还是为钱道歉?对香港乱局有立场,似乎不是什么问题,只不过凑巧这个立场是中国人不接受的,所以为支持香港而道歉似乎不太可能;很多人拿当年快船队关于黑人的电话说事,那恐怕真的就是肖华所谓的,不理解美国(很短的)的传统,在美国,政治问题不是雷区,而人种问题是,所以为口无遮拦道歉好像也不在可选范围内,否则nba没法向美国舆论交代;那剩下的就是为钱而道歉了,影响了nba在中国的生意,实在不好意思——那只怕肖华莫雷心里要暗暗发笑,中国人就是好糊弄,随便哄哄,就又捧着钱送来了
不过话说回来,这事真就一直这么僵持下去吗?就算nba一直不表态,恐怕早晚中国人还是会捧着钱送上门求合作的
顺便问一句,向往自由,这是几乎所有文学作品里都会表达的态度,而肖华和莫雷好像也都没说过,所谓的支持香港,是支持香港政府,还是香港暴徒,而国内反应这么激烈,大概是怕莫雷所谓的支持自由支持香港会对香港暴乱有什么实质性的影响吧——也不知道香港人是不是会突然对莫雷肖华火箭队nba突然萌发好印象

2019年10月9日

有问题要解决,没有问题创造问题也要解决

Filed under: 视听 — gcd0318 @ 03:04

世上本无事,庸人自扰之,这个世界上有很多问题都是原本不存在的,人们凭空创造出来这些问题,然后再去解决,也不知道是图的个什么
银河补习班有很大部分的剧情是关于素质教育和应试教育冲突的,这本来是个基本上没什么营养的老坑,正所谓古之学者为己,今之学者为人,为自己学习的人需要素质教育,可以完善自我,追求更高的提升,而那些需要靠求学来改变命运的人,那些像教导主任一样光着脚走进大学的人们,需要的就是为人之学,学给别人看,也就是学会应试,然后参加各种考试,取得成绩,拿到某种资格或者敲门砖,这是两个领域,本来不该有冲突的,只是现在越来越多的人想在为人之学的公共教育里搞为己之学的自留地,这才人为的制造出了矛盾冲突
就像片子里,马皓文给马飞的就是素质教育,培养兴趣,鼓励思考,而且因为马皓文只有马飞一个学生,才有可能实行素质教育——想像一下,如果马皓文带着五十个学生躺在草地上,感受着青草的芳香,然后每个学生提一个问题……一节课只有四十五分钟,要怎么和每个学生充分的交流,保护好每个学生的积极性?马皓文带着一个马飞去看航展,一路上尚且筋疲力尽差点走散,如果是一个老师带着一大巴车的学生,那又是怎样的场景?如果每个学生要看不同的展览,又让老师怎么办?想搞素质教育,首先就是师生比例不能太悬殊,小班课,那当然是可以有教无类循循善诱,普及教育和素质教育本质上就是矛盾的
有人说现在的教育就是流水线,教出来的学生每个都一样——没错,现代社会之所以物质生活极大丰富,也就是靠着流水线上无限的复制才得以满足。这种工业化大生产的特点首先是快,流水线越多产量就越大,而且只要流水线的设置得当,任何一批产品里都不可能有次品,当然也不会有精品,而且经过逐渐的优化流水线,产品的整体水平可以缓慢但是稳定的提高,就像应试教育。而素质教育则恰相反,那是量身定做,精雕细刻,精品都是这样打磨出来的,但是很久才能出一个,而且每两个产品之间的质量都可能有很大的差异,这要看天时地利人和等很多因素。应试教育就是泡面,无论谁来泡,每一碗的味道都一样,别指望太好的味道,当然也不会很差,而且方便快捷,五分钟就能吃,而素质教育则是大厨的私房菜,换一个厨师就吃不到这个味道——要方便就吃泡面,要美味就等私房菜,这是两个行业,谁也不会抢了谁的生意,因为面对的人群和受众对它们的预期本来就不一样,这本来也没问题,要把泡面吃出私房菜的味道,那才是自己给自己找麻烦
其实这也像是法治和人治的区别,也就是靠制度靠流程和靠人的区别,就像民主和独裁。泡面有固定的配方和食用步骤,可以逐步改进,人能改变的余地很少,而私房菜则完全看厨师的手艺,但是泡面通过配方的改进,总是可以让下一碗和上一碗不一样,如果恰好下一碗比上一碗稍微好了那么一点点,那就固定在配方里——这也像应试教育,随着教学理念的改变,也会有缓慢的改变,如果恰好是个进步,那就在未来的教学里继续普及这样的教育方式,但是应试教育也不可能像素教育那样迅速针对天才调整教学方案。只是,太多的人以为自家孩子是天才,会被应试教育的缓慢甚至退步耽误了,套片子里的一句台词:学生不是实验品——这实在是挺滑稽的,哪来那么多天才?真有那么多天才,世界早就乱了。人类社会之所以稳定,就是因为天才太少
影片的结果,马飞还是要回到体制内,经过应试教育的检验,考到前十名,才算是个完整的结局——当然了,这也是在给素质教育正名,说明素质教育下培养出来的学生来应付应试教育,完全没有问题。换句话说,那些连考试这么简单的事都搞不定的学生,基本上也不会有什么太好的素质。在这个意义上,无法通过应试教育的学生,基本上就是素质不够好的学生,虽然有误伤,但是和整体的过滤效果比较,这些牺牲应该还算是在可接受的范围内——但是,谁愿意做这个误差呢
当完成高考后的学生把书本和考卷从楼上扔下来的时候,马皓文问教导主任,学生真的喜欢学习吗,高考之后他们还会继续学习吗,教导主任无言以对——但是这个问题其实不难回答:以后的事情应该交给大学老师们去解决。每个学习阶段都有自己的角色,初中的目标就是让学生完成九年义务(受)教育,这是教育普及的一部分,也是阻碍素质教育的一个环节,而高中的任务就是给大学输送学生,至于以后怎么办,高中老师没有义务考虑。毕竟高中实在是很尴尬的一个阶段,除了师生比例奇葩的共性问题以外,九年义务教育有明确的目标,所以完全搞以达标为目标的应试教育毫无问题,大学是面对(法律上的)成年人的选拔教育,所以老师可以放手不管,唯独高中,夹在中间,十三不靠,怎么都不对——换句话说,怎么都对,就比如教导主任的这种教学方法,其实也不是一无是处的
但是马皓文不一样,他面对的不是马飞的一个阶段的教育,而是要面向马飞毕生的教育,这就像任期制的总统和终身(甚至世代)制的皇帝,对国家的责任也不一样,总统只做几年,以后的事有以后的总统处理,哪怕留下个烂摊子,只要自己的任期内干净漂亮就好,而皇帝却要考虑子孙万代,所以会花时间在那些功在当代利在千秋的事情上,比如秦始皇修长城修驰道,隋炀帝修运河。对马飞来说,教导主任只有几年的任期,而马皓文是终身的爸爸,他们的诉求和目标,也就决定了,他们仍然做的是完全不相干的两件事,一个为了眼下,要立刻解决问题,一个为了终生,要长久保持领先
所以马皓文的面向终身的素质教育,和教导主任的面向当前目标的应试教育,仍然是井水不犯河水的两件事,矛盾都是因为缘木求鱼而人为制造出来的

2019年09月12日

南腔北调,老书新读

Filed under: 广告 — gcd0318 @ 04:04

最早听说江晓原教授,是听老师把武王伐纣这个老掉牙的题目讲出了新花样,最后就提到了夏商周断代工程关于武王伐纣的具体时间的考证,让当时的我着实吓一跳,三千多年的事能定出十几年的范围,于是查了一些相关的资料,也就知道了主持这项工作的专家是江晓原。后来就是零七碎八的看了很多江教授的文章,有专业的也有业余的,此外听过一些江教授的报告,但也都是很多年前的事了。这本书我也是很久之前买的,但是一直没读,毕竟买书总比读书快。对话录是个不太常见但也不罕见的形式,两位教授往来展现出的对量化考核和(反)科学主义的反思也贯穿始终
量化考核是个很大的问题,就如江教授说的,本来是为了督促学者做研究,但是渐渐就走样了,成了重量不重质,尤其和职称学位经费这些事情挂钩之后,就变的更糟,其背后的原因很多,比如掌权者不懂专业,只能通过其他机构的结论间接评价研究人员(比如,发表在一级学刊的论文就比发表在二级学刊的论文水平高,发表三篇论文的作者就比发表一篇论文的作者水平高),然后借此决定谁要晋升,谁获得更多经费。而这种考核引发的问题也很多,比如买书号出版一些不会上市销售的书,买版面发表一些灌水甚至纯水的论文。这是一个问题链,而量化考核就串在中间承上启下,很明显的能看到这个问题,那么如何解决,如何应对,就值得思考了
按照一般的思路,取消量化考核,但是这样会不会放纵研究者偷懒,是不是每个研究者都像江晓原教授那样,能自觉的思考和研究,是不是每个失败的课题都能得到谅解,这些都是很难控制的事。那么还有一种方法就是,从源头抓起,因为所有对取消量化考核的顾虑,都可以追溯到掌权者不懂专业,因为不懂专业,所以不能判断质量,只能看数量,投入了经费,就要看到成果,因为不懂专业,对于失败的项目,无法判断是天灾还是人祸,那么就让懂专业的人来做评价,但是这样也很麻烦,会不会引起新的权力交易,评审怎么确保是客观的,懂专业的人如果把大量时间用在这种事上,是不是会侵占他们的研究时间,等等问题
其实这些问题在本书以及江晓原教授的其他文章里都有涉及,而且还做了很多讨论和解释,在副编里回答一个提问时候说,也许现在还没有找到更好的办法,但这不等于我们就要停止对量化考核的反思和批判,就像高考,虽然弊病很多,但它仍然是最公平透明的选拔手段
而科学主义和反科学主义的对抗,则更是无处不在,尤其就像两位教授所说的,现在的科学已经俨然一种新的宗教,不容置疑,凡是不符合科学,甚至只是现有的科学解释不了的东西,都会被打入十八层地狱,而这无疑是有害的,不科学的。科学主义也承认科学会有问题,科学要不断的自我改进,科学也有解释不了的现象,但是却始终坚信,只要科学继续发展,就一定可以解决所有的问题,只要遵循科学的规律,就一定可以解释所有的现象——所谓反科学主义,就是要反对这种思潮,认为有些问题不是科学能解决的,有些现象不是科学能解释的
江晓原教授也算是我的老校友,学问的根基是天体物理,在敝校的各个科系里,天文系可算是顶峰上的顶峰。南京大学天文系一直以招生少,淘汰率高著称,一直到我上大学的时候,天文系一年也只收二十几个人,而天文系的老师也说,虽然招了这么多人(二十五个就叫这么多,让我们两百人的计算机系情何以堪),未来倘或有三两个人能做出名堂,这一年的学生就没算是白招。而江晓原教授后来转去研究天文学史这种游走在科学和人文之间的领域,学兼文理,不可能不懂科学,也不可能不通经史,不似那种数学不及格却稍微会写几行字于是喊着数理化没用数学只要学到初二的愤青书生,所以江晓原教说这么说,是足以引起文理两方面的思考的
更值得一提的是,这本书的每一篇几乎都是从其他的书引申开,每一篇的结尾也还都会有相关书籍的书名作者出版社出版日期和零售价,因此,把这本书作为一条线索,选取有兴趣的题目下对应的书籍来阅读,也是这本书的一大功用

2019年08月7日

看似浅薄的科幻片

Filed under: 视听 — gcd0318 @ 04:57

看多了美国大片,就觉得好像票房极佳的电影,常见那种故事简单甚至浅薄但是画面好看的,仿佛一个大致能自圆其说的梗概,再加上一群俊男美女,或缠绵或打斗,只要有个足够高超的电脑动画特效团队,这片也就足够一卖了。可是这个味道却也有点熟悉,仿佛中国的传统戏剧也是这个样子,那些久演不绝的经典名剧,几乎也都是故事简单甚至浅薄,但是能让演员充分的展示技巧,有繁难的表演,有华丽的唱腔,有火爆的开打,就足够了
东西方百余年的戏剧竟然都是靠一种方式在赚钱,似乎不能说是个巧合吧,这里面应该有些和人的本性相关的因素,比如,中国传统戏剧面对的主要是平民阶层,虽然知识阶层也看戏,但是也完全可以用流行的从众现象来解释,而同时,被知识分子雅化的比如昆曲,竟然还渐渐的被市井的京剧挤的没有了市场。而那些票房大卖的美国电影,也基本都是靠平民一张一张的电影票买出来的,换句话说主要针对的也是市井平民,所以好莱坞也常有学院派评价颇高的电影票房却惨淡的一塌糊涂
平民的眼光就是这样的,那些有深度有思想有内涵费脑子的电影,几乎不可能创造票房奇迹,除非这种电影被包装成前面那些电影的样子,同时遇到善于解读的人,从中看到其深刻的一面——今天就专门说说科幻片
科幻片常见的一类就是关于人和非人类生物甚至人造生物的关系,这就牵涉到,到底怎样的生物甚至非生物可以算是人可以被人类社会接纳,人类要怎么和他们相处的问题。就比如机械公敌里机器人公司提出的机器人不会谋杀,因为机器人不是人,没有独立意识——那么问题就出来了:人的定义是什么,符合什么条件可以称为人
有一种方式是纯生物学的,只要是人类生殖的结果,就天然是人,哪怕他脑子里一片空白
另一种认证方式是,只要掌握了人类的精神,有人类的情感,理解人类的文化,就应该是人
第一种看起来很明白,比如变形金钢就曾被地球人险些赶出地球,就是因为他们不是人。但是这样也会有问题,比如x men系列里那些变种人,比如被蜘蛛咬到的peter parker,比如机械战警,他们也是人类繁殖的结果,只是由于某些原因而产生了不符合人类的属性,比如力量更大,多一对翅膀,能控制自然,有某种超能力,身体是机器,那么人类社会还愿意接受他们吗
这时候第二种标准就解决了这个问题,因为无论金刚狼超人还是蜘蛛侠变形金刚甚至复仇者联盟里的每个来历不同的个体,都是理解并认可人类文明的,他们都可以被看作是人。这个观念可以一直追溯到古代的中国,所谓的夷夏之辨,就是看文化认可,所以孔子才说“夷狄入中国则中国之,中国入夷狄则夷狄之”,讲的就是文化归属变了,于是人的属性也就变了,那么稍微做一点点推广,得出这个结论也就顺理成章了
可是问题又来了:按照西方某种流行的观念,权力要被关在笼子里,那么这些超级英雄的超能力是不是也要被关起来呢?按照这个思路,答案当然是要,可是这就像老鼠给猫挂铃铛一样,只有理论上的意义,而不具备任何的实践可操作性
所以如果给了这些超级英雄人的资格,而又不能像管理人类一样的去约束他们,那就又违反了平等的原则,因此还是不要把他们列为人类比较好,至少在人类有足够先进发达的科技,足以克制这些超级英雄之前——但是人类的科技在进步,难道超级英雄们就停滞不前了?人类有了更强大的力量,应该也就会出现更加强大的超级英雄,岂不是还是打不过?如果人类有了比超级英雄更强大的力量,那么还要这些超级英雄干什么呢
科幻片其实也并不是只有花俏的场面和打打杀杀,其实都是细思极恐的,只是编剧导演和观众从来不去细思而已

2019年07月31日

评《汴京之围》

Filed under: 文化 — gcd0318 @ 12:04

《汴京之围》是一本以介绍北宋末期宋辽金三国关系为主的书,包含大量详实的史料,内容来自各种正史野史笔记,同时这本书定位不在学术专著,而是面向普通读者的畅销书,因此对史料并不直接引用原文,而是化为作者的日常语言,通过一个接一个的场景记录,试图还原那个纷繁复杂的时代
我对北宋外交和军事的了解,最初来自评书演义,那时候觉得一个王朝之所以会灭亡,不过就是皇帝昏聩,大臣贪腐,忠良不得重用。后来听老师讲古籍,提到金人两次破汴,大量珍贵文献流失,便好奇的查了一些靖康国耻的资料,知道北宋末年的王朝到底是如何的不堪,再后来读唐宋八大家,迷上了苏东坡,关注王安石变法,才知道事情并不这么简单,北宋从盛世到衰颓,经历了很多不得不说故事
冰冻三尺非一日之寒,罗马不是一天建成的,自然也不是一天崩塌的,王朝由盛转衰,哪里是一两场战役就能导致的。就如钱穆先生讲的,一个政策只能解决一时一刻的问题,长期不变的执行就会有新问题,就像人病了要吃药,但如果病好了还接着吃,那就会有新的病了
北宋肯定是曾经繁盛过的,但也只能说是繁盛,而不是强盛,北宋曾经也有过强大的军事,宋夏战争也是赢的,但这种战绩却只限于前半期。经常有书生说最想回到的时代是北宋,北宋富足安逸,藏富于民,就像书中说的,四十二年不知兵事,一旦战败,为了给金人赔款,汴京城被几番压榨,却还有人家里藏有金银。其实也难怪他们这样想,只看苏东坡一人便可一叶知秋:北宋生活富裕,官僚工资高,苏东坡连番被贬,却还能养活一大家子人,还豢养私伎;北宋思想自由,不杀言事官,那么多政敌反复构陷苏东坡,苏东坡还是从乌台诗案逃出生天;北宋文化发达,艺术门类丰富,几乎每个门类苏东坡都是一等高手:文有六家,诗有苏黄,词有苏辛,书有苏黄米蔡,画有湖州……苏东坡可谓中国文人的公共偶像,他的一生也是人们对北宋美好幻想的催化剂,但是仅仅苏东坡死后二十年,北宋就被卷入了接连不断的大战,而且连战连败,最终落得首都沦陷,割地赔款,二圣被俘,迁都偏安,几乎一蹶不振
很多人谈起北宋糟糕的对外战绩,往往会归罪于文官领兵事,强干弱枝,重文轻武等具体的政策,但是除了这些,还不能忽视的是孟子所谓的生于忧患死于安乐,王朝承平日久,社会丰衣足食,生活舒适安逸,军队的战斗力自然下降,辽从骁勇善战到不堪一击,八旗兵从横勇无敌到腐朽没落,有人说他们都是被汉化了,其实我看就是日子好过了,富裕安定导致的必然结果,有了财富也就有了牵挂,这是任何时代都逃不脱的规律,古今中外盖莫例外——管子说,有恒产者有恒心,想让国民安分,就让他们富裕,这是古代帝王都知道的办法。所以王安石变法对军事的改革都集中在制度上,固然是很努力的在扭转这个局势,但是不得不承认,这也都是治标不治本
但是经济终究还是要发展的,人的本性就是会追求更富足舒适的生活,北宋军事的弱化也恰是那个时代繁盛的标志,这是很吊诡也很尴尬的事实。而作者恰从北宋最富足安逸的时间点开始写起,因此注定了这本书不会涉及过多的背景原因分析,只着眼于面对外敌,北宋君臣朝野的应对和得失,重点在于面对危机北宋人如何应对,而只在第一章第一节提到了北宋人是如何一步一步的走进了危机。这是作者选题和视角的侧重,详略分配无可厚非,但是读者不可不知晓,不可不深思,虽是论国论兵,对个人修身也是一理
这本书整体上叙述多于论述,绝大部分篇幅在描述过程和交代事情,而较少进行主观的判断和道理的阐发,这固然有好的一面,把事情摆出来让读者自己思考,但同时也有点流水账,缺乏生动精彩的场面和鲜明的人物性格,在严肃的学术讨论和平实的科普推广之间想要找平衡,结果必然是两者都不像,这也是没办法的事。倒是第十七和十八章之间有一篇画外音,是一段集中的论述在,或可看作是作者跳脱出来,以一个旁观者的身份进行评论,读书到此,兴味大增,但是读完却觉得观点有失偏颇,试讨论如下:
画外音的标题是“百姓真的在乎帝王吗”,作者想要通过北宋二圣被金人掠走时民间的反应来说明北宋时期民间和皇帝关系的松散,这个目的当然是好的,实际上我也觉得这个结论没什么问题,古代的百姓和皇帝应该并没那么亲密的关系。我们今天说“炎黄子孙”,但这个概念大概不会早于晚清,在漫长的几千年的中国古代王朝里,炎黄只是帝王黄金家族的祖先,和普通的老百姓几乎每什么关系。换句话说,古代只有文人士大夫才会在乎皇帝,因为那是他们的出路,而百姓对皇帝是谁做并不在乎,反正谁来了都是交粮,只要不抢我财物不夺我妻女,便不一定要抵抗。所以后来满人进关,扬州嘉定带头抵抗的都是知识分子,一般老百姓只是被裹挟着,以为国破就要家亡,结果也成了屠城的牺牲品。其实知识分子也不是一定要把自己和某个皇帝绑在一起,所谓忠臣不事二主,所以明亡于清,顾炎武在明朝和南明有官职,所以不做清朝官,但是他的后辈中没有在明朝做官的,就没有这层顾虑,也是因此,曹操不能称帝,因为他是汉朝的丞相,而曹丕就没有这个顾虑,因为他和汉朝没什么关系
实际上不但皇帝,就是整个国家,和百姓也没太大关系,所以清末民国才有人提出了“炎黄子孙”的概念,让全国人都和一个祖先有了关联,来增加国家和民族的凝聚力,这无疑也是一大创举。但即便如此,国人还是对此需要一个接受的过程。黄仁宇曾讲过,淞沪会战的时候,黄仁宇想从南开去上海,为国做事,却发现他成了“逆行者”,几乎没有人要去上海,甚至有教授写文章说,学生不要参战,留着有用之躯将来建设国家。黄仁宇觉得可笑,国家如果都没了,还有什么可建设的?可是等他到了上海却发现,上海仍旧是那个纸醉金迷的上海,城外在打仗,城内的日子还是老样子,唯一的变化就是,晚上可以登上城头看打炮,如同看烟花
所以说,国家皇帝和民间的关系在古代社会一直是很松散的,不像我们今天这样,人民认可政府,军队保家卫国,古代的军队也一直是社会的边缘,更多的是只听命于指挥官,只服务于皇帝,古代没有什么人民子弟兵的概念,所以军纪败坏也是常事,屠城打砸抢都是战争的一部分,无论游牧民族还是中原华夏都是一个样子
但是同时,百姓和帝王也有天然的合作欲望。我曾多次讲过,帝王和百姓面对的不是彼此,而是共同面对官僚,官僚夹在帝王和百姓之间,自然可以上下其手左右逢源,所以我们的民间故事里,作恶的都是临民官,而解决问题的出口就是皇权,主持正义的是微服私访的皇帝,或者代天巡守的钦差大臣。而且故事里的皇帝一定都是爱民如子,但是被官僚蒙蔽,所以到了民间就会感慨,为什么朕的江山和阁老大臣们奏章里的那么不一样,钦差大臣也经常会认识一些民间侠客,包公案里有三侠五义,施公案里有黄天霸,狄公案里有乔太马荣,这种钦差大臣和民间侠客合作的故事结构,就代表着帝王和民间联手对付官僚阶层——这哪里是一句古人编故事的历史局限就能蒙混过关的
所以书中所谓的民间给皇帝编故事,把皇帝的遭遇说的更加不堪,则恐怕并不能说明百姓和帝王关系的松散,毕竟百姓和帝王都是战争的受害者,两个受害者之间也不至于互相嘲笑。我看更可能是为了唤起民间对战争的仇恨,对皇帝悲惨遭遇的同情,因此对侵略者进行丑化,这种编故事的方式也延续到清末民国文人笔下对帝国主义列强的描写,甚至近现代的抗日故事和戏剧,也保留有这样的遗风,对侵略者的罪行极尽夸张之能事,却并不是要嘲笑受害者,而是在唤起同情悲悯之心
古代打官司有句话叫“无赖不成讼”,就是在打官司的时候,对受害的程度一定要多说几分,外伤要说成骨折,骨折要说成人命,在这样的风气下,古人编二圣被掳的故事,添枝加叶添油加醋添砖加瓦的编排一些皇帝如何吃苦,后妃如何被侵犯,公主如何被糟蹋,大臣如何受辱,与其说是嘲笑皇帝,不如说是丑化侵略者,加重金人的罪行,和读者共鸣,同仇敌忾
以上是我对相同史料的一些理解,和作者的诠释恰恰相反。历史的阅读研究就是要接受甚至提倡不同的诠释,这并不是说某一方的观点有错,而是提供一种对具体事件的不同的观察角度。读历史,除了关注古人生活,吸取古人智慧之外,训练自己从更多角度去理解一件事情,接受不同结论的共存,加深自身思考的深度,无论用在研究学问,还是用在观察生活中的现象,都是每个现代文明社会成员应该具备的技能
作者在本书的后记中提到,写这本书的时候案头常备大量文献,因此我愿意相信作者在史料的引用上是可信可靠的,而且书中的引文都注有出处,可见作者为文严谨的作风,对于想了解南北宋之交那几十年历史的读者来说,这本书有很好的参考意义,书中还附有地图表格和引文清单,读者也可以把书中标注的引文出处当成索引,自己查阅感兴趣的具体事件,这是这本书更大的价值所在

Older Posts »