History Repeating Itself in “The Nine”

评分:🧡🧡🧡🧡🧡

这篇文章是读书推荐,记录一些我的随想。我选用的译本为译林出版社的《九人:美国最高法院风云》。有兴趣的朋友们也可以去读原文。

书籍封面

去年在美国深受爱戴的大法官金斯伯格(Ruth Bader Ginsburg)去世,并且大选未定,战局看似焦灼,出于焦虑我打开了这本书,并且带着很多疑问:为什么当下我觉得习以为常的一些观念竟然有那么多的争议?历史上大家是怎么讨论的呢?当年大家关心的都是什么问题?

读完这本书之后,对于美国现在发生的各种夺人眼球的争论,都能从这本书里看见最高法院判例的影子,并且在当时的讨论中详细到给出了富有争议的数字级别判断方法。

举个例子,我们经常觉得少数族裔收到了系统性的歧视,并且要求在大学录取的时候给予平等。那么这样的平等如何来判断呢?是靠录取名额在族裔间平均分配,还是靠给少数族裔更多名额以弥补历史歧视?这样的弥补政策应该持续多久呢,不可能是永远吧?到什么时候我们才可以说,所有的种族真正平等了?标准是什么?

当然最后得出的判决书不可能如所有人的意,但是却比我坐在那里想当然地带着自身利益去思考要来得有理有据,是一些很好地引起大家思考的判决。在这里分享一些我的梳理。


罗伊诉韦德案——女性堕胎权之争

除了普及当年的一些著名的判例,这本书还讲述了相关的故事和历史,当时的政党组成等等。所有的判例都不是写入法律、永远不变的,每一次相关案件出现都有可能推翻原来的判决,比如颇受争议的堕胎相关:罗伊诉韦德案。这个案件真是至关重要,历史性地赋予了女性堕胎的权利。

围绕着这个案件的立场简直就可以直接分出所有政客和法官的“保守派”、“自由派”和“中间派”立场,以至于后来对于堕胎的立场就像保守派法官们想进入高法的“投名状”一样:必须几十年如一日反堕胎,过去的言论中稍有模糊,就会失去保守派的提名。

保守派这下清楚了,根本无须再争来争去,只需要换几个大法官就能达到目的了。

罗伊诉韦德案自从成为判例以后竟然在之后的高院被以各种各样的形式挑战了好多次了。甚至保守派在高院以堕胎案为立场有预谋地通过塞法官掌控高法也不是什么新鲜事了——历史上最多出现过9个里8个是共和党总统任命的大法官。

为了塞法官保守派也是不顾什么脸面的。书里就提到曾经也有个保守派黑人大法官托马斯任命前被举报性骚扰,在作证会上丑态百出,民主党人也是很愤慨。当时共和党治下白宫的应对办法是想尽一切办法让他光速宣誓。华盛顿邮报的记者已经掌握证据,但因为法官任命仪式结束也就作罢了。这个不由得让我联想到近年卡瓦诺提名大法官的事情,真是太阳底下无新鲜事,快二十年过去了,历史竟然还在重演。

布什诉戈尔案——历史的转折点

读到布什诉戈尔案后,我才发现原来著名的异议不是金斯伯格写的,而是斯蒂文斯写的。这场争论我也通过这本书得到了更多的信息。起因是发现佛罗里达的选票设计有问题,是错位的蝴蝶式选票,很容易填错,因此法院判定可以人工重数。

选票设计可谓是很令人疑惑了

其实当时布什也不一定会输,他的优势还是有的,但赢者可能就是心虚,并且想巩固自己的胜利,因此上诉了高法想要取消戈尔重数票的过程。

本院的多数意见,只会使人们对全国法官工作的评价从充满信心变为悲观失望。法治的真正支柱,在于人们对司法体制的信任。时间总有一天会愈合今天的判决给这一信任造成的伤害。但是,有一点可以肯定的。我们或许无法百分之百地确定,到底谁是今年总统大选的赢家,但最终输家却是显而易见(pellucidlyclear)的,那就是这个国家对法官作为法治公正的守护神的信任。

高法对这件案件的判决不一定是改变了总统人选,但是高法不合理的介入使民众对于法治的信心损害很大。有的大法官为了参与到这种“出风头”的案子里,一定要牵强解释法律,要硬管。硬管的结果就是最高法院在人们的心中失去了公正性,不为法律和事实服务,而变成某一个政党的囊中之物了。高法就像是硬送了布什一个总统,但凡按程序设规则重新计票完成,赢家都会赢得正统一点。

此案的后果不仅导致高法权威性削弱,更导致其中一名法痴法官苏特很失望,觉得没法跟党性太强的同事们共事而想辞职,不过幸好他没有在小布什任上辞职,不然就送了共和党一个提名法官的机会。

不过这样毁灭性的打击也有好的后果。因为受到社会声浪的反弹,很多“中间派”法官开始反思当年自己的所作所为,而开始渐渐走向“自由派”。再加上布什政府过于保守的作风,更进一步推离了最高法院成为了几乎是“最为自由”的一段时间。

有的法官比如肯尼迪也开始借鉴欧盟等国际法来判定美国国内的案件——不再自大,并承认美国也应当向外学习。

美国是世界上最保守的民主国家,有着支持有限政府和低税收的举国共识。实际上,世界上其他民主国家——无论在欧洲或在其他地区——都维持着更为强大的公共部门,并且偏好诸如全民医疗保险和高税收之类的公共政策。相应的,这些国家的法官们也比美国同行更为自由。

从那时候开始,国与国之间的联系不仅仅从贸易、经济上,更从法治上开始互相影响了,并且在走向积极的道路上。

伊拉克虐囚案——制约“总统权力”

布什政府上台之后的事情开始渐渐逼近我们现在时代,我也开始有印象了:“911”和“伊拉克战争”等一系列恐怖袭击和反恐行动。此时,总统权力开始蚕食高法权力,使用的理由是“911”和“伊拉克战争”的“爱国观”:要么同意总统的命令,要么就是不爱国。

借助反恐战争,布什及其盟友正暗中侵蚀着三权分立原则

这个借口我们是不是很熟悉?特朗普政府也很喜欢用这一套话术,只不过他缺少“反恐”这个借口,因此他试图制造“恐怖”,试图挑起跟中国的“战争”。

此时最高法院组成的比例是:7(共和党任命):2(民主党任命),但是理应保守的最高法院却在这样的总统权力的冒犯下而越来越“左”。而这里所说的这个“左”,只是在共和党开始越来越极端的衬托下体现的。

最初,是布什诉戈尔案的延伸后果将奥康纳与肯尼迪推向了自由派一方;

共和党人在布什政府期间,温和中间派越来越少,极端右翼越来越多。我还是对美国了解太少了,还以为这种共和党变成极端右翼倾向是近些年懂王兴风作浪的结果……其实根本是共和党和懂王互相有目的地选择了对方。

这一回合之后,“美国正处于战争状态”之类的说法沦为煽情滥调。

调查表明,虐囚行为在驻伊拉克美军士兵中普遍存在,更可怕的是,许多刑讯行为受到布什行政分支高层的支持。

在总统权力肆无忌惮蚕食国会和高法权力的过程中,伊拉克虐囚案的一些相关案件的判决使得高法从总统那边捍卫了自己的一部分权力。但是谁知道当时国会和下属法院在“战时特殊情况”的借口下已经被布什政府欺负了多少回了。这些类似案件好歹是把当时的美国政府从滑向“军政府统治(独裁)”的道路上打住了。

夏沃案之争——捍卫“司法权”

政治课上老师提到过夏沃案之争,多年之后竟然又在这本书中看到了详细的讨论。

案件经过是佛罗里达的一名女子夏沃突发意外变成植物人,其丈夫几年后觉得希望渺茫决定拔掉她维持生命的仪器,理由是发病前妻子说过不想这样活着。根据佛州法律,如果某人成为残疾,那么他(她)的配偶就可以成为其法律监护人,并且可以代为做出所有的医疗决定。但夏沃的家人认为这一切都是编造,并想从夏沃丈夫那里抢回监护权,让夏沃在生命仪器的维持下活下去。

从此,一场争夺夏沃生与死的法庭之争便从此开始了。

白宫行政权可是过于膨胀了。法院做出解释认为支持丈夫的决定后,布什行政居然跟国会立法(可能是出于政治目的)联合起来直接出一个相关法案专门适用于这个案件,想直接盖过法院的解释。

对她来说,真正的危险在于,国会试图通过类似《特里萨·玛丽·夏沃父母救济法》那样的法律,对法院该怎么判决指手画脚。

通过夏沃事件,奥康纳发现,对司法独立的最大威胁并不是来自国会大厦,而是来自与最高法院仅隔着第一大道的白宫。

最高法院捍卫三权分立原则后,几个法官还受到了极端保守人士的攻击,家里人被枪杀或是法官被射杀。美国的极端保守人士到底是什么毒瘤?反智反人类可不只是特朗普共和党时代的产物,布什时代也是一样的。

可能当时还没有各种social media风行,信息传播没有那么快,所以没有引起现在这样频繁的轩然大波吧。

密歇根大学案——种族分配

这本书还提到了大学录取涉及种族配额的几个案件,至此我才发现原来美国高法对于这个问题有好几个相关判例——此类政策一直在简中自媒体中被“妖魔化”。

不知道以后会怎么样,不过当时几个案例判下来,多数派思路是认为:承认系统性歧视的存在,认为种族确实应该作为考量入学条件的一部分,但是最终目的应当是为了大学学生们的“多元化”。对于有些学校直接提出种族配额来帮助少数族裔的数字化方式提出反对。

不过很具有争议的也是,法院在此等判例上加上一个年限,认为这段时间过后社会应当不会再有种族不平等,因而也就不需要再有种族倾斜政策了。这个很武断的年限不知从何而来,可能是温和中间派的观点了。

奥康纳最后归纳了鲍威尔的判决书,指出他“认为大学对种族背景的考虑,只能是为一种利益:‘保持学生群体的多元化 ’。

奥康纳认为,种族优惠政策不能无休止地延续下去。

强迫人们接受一个期限,此举既可能是奥康纳的一大败笔,也可能是其判决书的一大亮点。

不仅如此,美国对于企业招聘和商业上的倾向少数族裔的种族配额是也很敏感的……生硬的数字化的配额是高法反对的,最终目标还是要求完全不考虑种族因素。


最后

虽然最高法院比起普通民众对法律的诠释和政治现状的考量是比较专业的,但是这也并不意味着他们绝对代表正义和正确,不代表我们可以失去独立思考而迷信这些决定。

最高法院历史上的最黑暗时刻,多发生在行政分支提出国家安全高于一切,而大法官们又屈从这一观点之时。

更加臭名昭著的还在后头,第二次世界大战期间,为了所谓的国土安全,大法官们在是松诉美国案(Korematsu v. United States)的判决中支持了政府将日裔美国人全部驱逐至西海岸集中看管的决定。

书中还提到了很多早年臭名昭著的案件,比如日裔被囚禁西海岸集中营的案件,当时高法也画下了丑陋的一笔。还有当时二战时的一系列“爱国”相关判例,比如“侮辱国旗”之类——不知道如今有没有都没推翻,但当时做出那种判决的原因就是受了“危害国家安全”这种论调的裹挟,因此而违背了宪法——不管是宪法原义还是宪法原则。

除此以外,法官作出的判决难以完全摆脱社会意见、政治因素,或者是法官本人的意识形态。

最高法院本身就是民主过程的产物,用句或许有些冷酷的话说,它既代表着最好的人的利益,也代表着最坏的人的利益。

对我们的最高法院,我们无须寄予太多期望,也不能完全不抱希望。

很好奇美国这种政治制度有没有进化的可能?像现在就有人在讨论,要修改老旧到不行的选举制度,防止共和党的voter suppression.

两党不可避免地靠意识形态加塞最高法官也是一个不健康的趋势。虽然情况并不是一直那么绝望:毕竟有时候高法法官漫长的生涯里会发生意识形态的改变、有的人也会考虑社会的巨大声浪——但是如果越来越多加塞一些有极端观点的法官还是一个很大隐患。

三权在二百多年前的制度下运行,到现在有时难以平衡,正如社会和法律一样,三权分立的制度也需要持续不断地修正和改进,这也是这本书所间接表达的:自由、保守、进一步自由、更快速地保守、晦涩的未来,这大概就是历史的进程吧……衷心希望历史能越来越少地重复。

Kindle Scraper的技术总结和反思

Kindle Scraper的使用教程请见:Kindle Scraper使用指南

本文简要地记录一下代码的逻辑,以便之后回顾、理解并优化,也欢迎有兴趣的朋友讨论和修改。

原生笔记My Clippings.txt的问题:

  1. 强制按照时间顺序生成笔记。这样造成的问题有:
    • 标注不根据书本页码和章节排列,有可能多次前后颠倒;
    • 如果同时看很多本书,笔记会被不同的书拆散;
  2. 自动生成的笔记格式冗余信息过多,不符合大多数人的记录习惯;
    • 每条都需要手动复制粘贴到个人笔记本;
    • 每条都需要手动修改格式;
  3. 无法识别重复的笔记
    • 删除并重复划线会导致重复的笔记,需要手动检阅删除;

Kindle对于购买书籍的笔记整理功能是不错的,可以在自己的账户导出需要的格式。但是对于个人文档就不支持了。如果笔记数量不多,那这些问题还是可以忍受的。但是随着用Kindle的时间增长,笔记数量不可避免地增多之后,手动整理就非常浪费时间,异常痛苦。

鉴于Kindle的笔记格式虽然多种多样,并不十分统一(呵呵)……但是仍然有迹可循,所以我想尝试用Python的方式来整理数据并导出。

网上一搜,发现英文系统的有不少人写过,思路不一,但是都无法简单修改并应用到中文系统。我挑了一个思路清晰整洁的代码kindler作为我的baseline,基于他的代码结构进行修改。

修改内容:

  1. 加入Kindle中文系统的适配;
    • 改用可以encode UTF-8的语法来读写文件;
    • 根据中文格式修改细节(见后面ParseDetails内容)。
  2. 加入笔记的位置信息location,方便日后在Kindle中回顾前后文;
    • 加入informationFrom(title),return tuple(locations, highlights);
    • 将locations和highlights一并写入导出的.txt和.csv.
  3. 一本书内,根据locations排序所有的highlights:
    • 在informationFrom(title)中sort数据
  4. 优化导出的.txt文件名;
    • 加入titleScraper(title),生成文件前替换特殊字符。防止出现遇到特殊字符,文件不会生成也不会报错的情况;
  5. 加入导出.csv的功能;
    • 加入importAsCsv()
  6. 删除Json相关功能.

重中之重ParseDetails(details):

数据整理的简要逻辑如下:

拆分行存为list -> 按delimeter所在位置判定location和highlights在list中的标号 -> 进一步简化location信息 -> location + highlights一起导出。

所有问题都出现在加粗环节。在这里我们掉过很多坑。原因在于没有想到Kindle生成的笔记格式那么不统一:导致我们在测试程序的过程中被卡住,回过头去被动地修改了很多遍。

猫认为我们应该在一开始就整理出所有不同的数据格式,而不是一次次在QA中修改。我同意,因为事后的修改因为我有点不耐烦所以conditional语句写得很没有系统性。

以下是格式相关总结:

常见格式:

==========
Bliss More (Light Watkins)
- 您在位置 #857-857的标注 | 添加于 2021年2月3日星期三 下午5:48:40

Focused thinking is thinking exclusively about the task at hand
==========

但并不是所有格式都如上所示。

与Location行相关的错误:

带有页码+位置信息

==========
When to Jump (Lewis, Mike)
- 您在第 26 页(位置 #435-438)的标注 | 添加于 2019年7月30日星期二 下午1:53:35 

With each new conversation, my voice gained confidence. Another older coworker put it bluntly: “Do you believe in yourself?” I said I did. “Who is responsible for how this jump turns out?” I said I was. “Then you have no risk in trying. You’re betting on yourself here. And you believe in that bet. You have no risk.”
==========

只有页码信息,没有位置信息

==========
自救指南  
- 您在第 18-18 页的标注 | 添加于 2014年10月26日星期日 下午3:30:48 

不管神经衰弱是轻还是重,恐惧都是其发生的根源。冲突、悲伤、内 疚或羞耻可能引发神经衰弱,但恐惧很快就后后来居上
==========

笔记信息:

==========
Kindle Paperwhite 用户指南(第 2 版) (亚马逊)
- 您在位置 #404 的笔记 | 添加于 2014年4月8日星期二 上午11:03:58 

试用
==========

解决办法:更细致的筛选。split字符串之后的list标号需要修改。

与Highlights相关的错误:

没有Highlihgts的书签信息:

==========
反脆弱--从不确定性中获益
- 您在位置 #657 的书签 | 添加于 2014年4月9日星期三 上午8:03:15 


==========

没有Highlights的标注(可能是Kindle的Bug)

==========
Bliss More (Light Watkins)
- 您在位置 #891的标注 | 添加于 2021年2月3日星期三 下午5:48:06 


==========

解决办法:如果highlights为空,则不导出。

之后可以打磨的地方:

  1. 继续打磨parseDetails(details)功能:简化、理清conditional语句。之后能同时使用英文和中文系统。
  2. 在导出的.csv 文件中加一列来区分:标注、笔记、书签;
  3. 加上UX部分,把数据处理部分放到后台,做成一个简单的网页工具,可以适用于不会用Github和Python的人群。不过:
    • 类似的产品有一些,可能只是做自己练习使用;
    • 不适用于不喜欢上传隐私信息的用户。

谢谢阅读。

Kindle Scraper使用指南

程序简介

使用Python自动处理中文Kindle系统的书摘文件“My Clippings.txt”,为每本书生成独立的标注、笔记文档,显示标注、笔记及其对应的位置,支持导出txt, csv格式。可将txt, csv导入Notion, Google Sheets或Evernote等平台整理为更易浏览、编辑的清爽格式。

运行本程序需要安装Python3, 本程序下载地址请见本柴Github

充满爱的开发团队: 🐕Shiba Woof (Dev) + 🐈Mavis Meow (QA)

整理开发思路和改进意见,在该Script的技术总结里。本柴是代码新手,欢迎大家友好地讨论、debug和report issues.

使用步骤

步骤一:从Github Clone Repository

Clone repo

步骤二:把My Clippings.txt拷贝至当前repo

把Kindle生成的书摘文件拷过来

步骤三:打开terminal运行程序

  1. PC用户打开Windows PowerShell
  2. Mac用户打开terminal
获取txt格式书摘
  1. PC用户请运行 python .\kindle_scraper.py importAsTxt
  2. Mac用户请运行 python3 kindle_scraper.py importAsTxt
  3. 本程序会在当前目录中新建一个文件夹 /highlights ,你的清爽书摘和对应的Kindle位置信息会被储存在 /highlights 文件夹里。
  4. 把导出的txt文件拷贝至各类平台进行后续编辑,拷贝至Notion的效果如下,数字代表位置,文字代表标注或笔记:
copy到Notion后长这样
notion批量导入tips

在Notion右上角菜单栏选择import:

Notion右上角小菜单

选择txt文件格式:

选择text & markdown, 也可以选择批量导入csv

在弹窗中选中本程序处理好的清爽书摘们:

嗒哒~整理好的书摘被批量导入Notion!

Notion批量导入效果

在Notion内对书摘进行各种操作(编辑和注释)都很方便,看起来也很清爽。

在Notion里整理书摘
获取csv格式书摘
  1. PC用户请运行 python .\kindle_scraper.py importAsCsv
  2. Mac用户请运行 python3 kindle_scraper.py importAsCsv
  3. 本程序会在当前目录中新建一个文件夹 /highlights ,你的清爽书摘和Kindle位置信息会被储存在 /highlights 文件夹里。
  4. 请阅读terminal说明或本文“步骤四”内容来用Microsoft Excel打开 UTF-8 format的书摘文件。
获取书摘目录
  1. PC用户请运行 python .\kindle_scraper.py showTitles
  2. Mac用户请运行 python3 kindle_scraper.py showTitles
  3. 书摘目录会显示在terminal上。

步骤四:转换csv文件并导入Notion

4.1 打开highlights文件夹可以看见一家人都都整整齐齐:

4.2 打开一份空白Microsoft Excel, 选中Data -> From Text ->选择要打开的清爽书摘文件

打开空白excel文件

选择要处理的书摘

4.3 在弹窗里选择Deliminated. 并在File Origin选择UTF-8. 然后点击下一步。

经过UTF-8编码就显示中文内容了
File origin选UTF-8

4.4 Delimiters选择Comma,这样是为了把位置(数字)和内容(文字)划分成两列,然后点下一步:

选择分隔符

出现的预览长这样,选择finish.

数据预览

4.5 最后的窗口会询问你把文档插入哪个表单,选择现有表单或新表单都可以,取决于个人需求和喜好。

选择插入位置

4.6 导出的CSV文件长这样,可以直接复制粘贴到Notion的任何文档中。

最后生成的excel文件预览
导入Notion的csv文件预览,选择wrap cells可显示多行

获取程序的帮助文件

  1. PC用户请运行 python .\kindle_scraper.py help
  2. Mac用户请运行 python3 kindle_scraper.py help
  3. terminal中会显示帮助文件。

参考

kindler by sanjamaniam – 本柴的程序是基于kindler程序修改而成。对原程序改动会总结在稍后的技术文章里。

特别鸣谢

谢谢猫咪送的Kindle作为我的生日礼物之一,让我看了很多书并萌生了写这个Script的想法;

并且谢谢猫咪提供的6000+行My Clippings.txt让我们完善这个产品;

最后谢谢猫咪的感情支持🧡。