Freedom for the Thoughts We Hate

两周前发生在Charlottesville的事件,有好多我挺震惊的点。孤陋寡闻的我,先是听新闻说”white supremacists”和”Neo-Fascists”是事件的一方。听新闻的用词,这些人难道是自称“白人至上”、“新纳粹”吗?我简直不敢相信,上网搜了一会儿,看到一篇文章分析这些组织的旗帜图案是纳粹的图案的演变,才接受了真的是他们自称,而不是别人强加的贬义名字。

接下来是川普不愿意公开谴责造成一人死亡的纳粹一方,过了一两天被逼开口的时候强调暴力on many sides。震惊了一分钟。

接下来好像是听BBC新闻的一个correspondent说到,Godaddy撤销了对白人至上主义的网站的域名解析(他们转战Google Domains也被驳回)。这位correspondent说:This is always where free speech ends. And of course you wonder why it took them so long to terminate their services. 这是在新闻里非常快速地说过的,似乎是理所当然的、没有任何争议的一样。说实话我又被震惊了一下,而且完全没想到会被震惊到(没想到难道不是震惊的同义吗)。

也许是因为我长期处于被审查的一方,即便我对纳粹、种族主义是痛恨和蔑视的态度,我对被审查却很敏感。我很想得到结论:不应该审查网站。为此我想了一些理由

  • 首先我想到的是,不该让川普一方的人抓到把柄,说他们被迫害。不给他们martyr的地位。
  • 压抑往往只会增加矛盾。如果新纳粹能自由表达,那么也许(?)诉诸武力的动力就会减少(好吧反对意见说的是仇恨和煽动的言论会造成更多暴力)。并且,如果我们明确知道哪些人在说些什么,那么对危险的控制有利。
  • 以上两点好像都是从功利的角度出发的。我现在并不觉得功利主义那么不堪。特别是在涉及政治的领域,往往make it work更重要。
  • 更深层次的理由是:今天我们站在这一方打压自己不同意的另一方。如果我们是被打压的一方呢?现实永远会让你震惊,好坏的界线并不是那么容易划的。
  • 只有宽容才能治好狭隘。

我愿意把我认为自己希望得到的权利,也同样给我的敌人,这样才是sportsmanship。我痛恨狭隘,但我坚决维护你显示自己多狭隘的权利。

我总是希望宇宙是和谐的,从不同的角度可以得到相同的结论。(然而哥德尔定理。。)

刚才听了Al Jazeera的Stream,讨论了这个话题。四个嘉宾,其中的一个是持有比较坚决的需要给新纳粹主义言论自由的人。他说的一句话我也非常同意:There are ways to do it without resorting to censorship。然而另外几个不同意见,我也觉得非常有道理。

  • 一位嘉宾说,在完全正常的舆论环境下,好的言论会盛行。然而现在白人至上主义能得到非常多的资金。她举例说她所在的90%都是有色人种的学校里,也有白人至上主义的活动,他们每次都能包豪华大巴。还有他们游行时举的火炬,他们有钱买这些。特别是如今,如果搞过网络营销就能知道,有钱可以影响舆论。Theirs is not free speech, it’s funded speech.
  • 另一位嘉宾(是不是同一位)说,你想一想,如果是黑人上街游行,如果穿成白人游行那样全副武装的样子,能游行吗?不能,很可能当场击毙。
  • 另一个不是在节目里听到的,而是网上看到的新闻图片是:tolerance does not mean tolerating intolerance。Does it?

听了他们的辩论,我觉得他们的区别只是,一方对黑人有更深、更切肤的同情。实际上他们是有联合的空间的。世界上很可悲的一件事是,仇恨和无脑更容易团结人心。理解力和深思熟虑往往让人行动谨慎。

(好在这方面还有很多的书可以看值得看。所以我打开了放置很久的《言论的边界》来读。没想到这本书的英文名直接是:Freedom for the Thoughts We Hate。)

tinkering randomly

同事在公司服务器里搭建了一个服务,我们可以用浏览器图形界面来执行一些原来只能命令行(打印无数无用信息)来做的事情。该服务器必须通过登陆专门服务器后ssh到。同事能通过端口映射来把http请求通过ssh通道实现。我看了也想试一下。然而同事的是mac电脑,我的是windows,他的设置不能copy。所以我就股沟着想办法。一般这样的功能,两个平台都有方案的。

然而我上班花了不少时间试没成功,还带电脑回家研究,有两天一直到很晚不睡还不成功,没解决就上床睡觉的感觉挺绝望的。(我日记里写,甚至有那时拔牙前的绝望情绪。我这么敏感情绪化,真不像一个技术人员。)上周有一天早上,忽然想试一种方案,结果成功了。

回想一下,基本上是这么个流程:

  1. 我有一个本地服务也是通过端口映射实现的,我仿造它的配置设置了一下,没成功。股沟:怎么设置端口映射
  2. 按照好几篇设置来看,我的设置并没有问题。股沟:怎么看putty的log;
  3. 搞了半天putty的log,发现那个log的功能是把屏幕output同时存到log里;
  4. 仔细揣摩之前一篇设置的文章里说log的意思。摸来摸去摸到了putty的event log;
  5. 对比成功的端口映射和不成功的端口映射的log,发现不成功的那个并没有port forwarding to XXX:YY的log;
  6. 傻眼了,叫我再看什么啊
  7. 求助那个同事。他看了以后,也一下子不知道怎么搞。
  8. 晚上心事重重,回家后洗澡的时候忽然想到,我本地并没有处理浏览器请求的服务啊!另外一个利用端口映射的是java程序访问的,我完全不知道它怎么访问的。估计就算看了代码也不懂吧。那个同事可以说是full stack开发,肯定在本地装了Apache之类的,完全不会想到要提醒我们这些后端装Apache;
  9. 本来想早点去公司研究的,结果没睡好还是准时上班。路上想起来windows server可以用IIS。股沟了windows 10上如何打开IIS服务;
  10. 打开IIS服务,IE浏览器可以显示local host但Chrome不能。重启windows后Chrome也可以打开IIS的localhost页面。至今不知为何。然而!访问映射的端口还是不成功!!!
  11. 看到putty有“forwarding to XXX:YY”的log了,但是过一会儿会返回一个connection refused / time out;
  12. 股沟:怎样看端口有没有开放。(很多命令是我没权限执行的,但能执行的看来没问题);
  13. 股沟:怎样模拟TCP/IP请求——用wget——试了一下不行。中间服务器和目标服务器似乎只能ssh,别的链接方式都会失败;
  14. 之前股沟出的一个结果是,scp也可以用端口映射来通过ssh通道直接访问bastion服务器背后的真正的服务器。所以我又花了一点时间试了试以保证我设置并没有太大问题。结果成功了。。鬼知道为什么另一个不可以;
  15. 思来想去,寝食难安(。)。感觉我还有一个可能性没试过,但我没抱什么希望。那个可能性是multi hop。跳一下不成功,跳多下不是失败的几率更大吗。。。
  16. 可能目标server只能ssh访问。我试了从开发server可以ssh到目标server。
  17. 出于死马当活马医的心理试了multi hop。没想到——成功了。最终的姿态是:local -> bastion -> dev server -> target server。local设置了到dev server的通道,dev server设置了某个端口映射到目标server的通道。关键好像是mac下的proxycommand的功能,windows没有;还有我dev server可以设置无密码ssh链接到目标server。

我想起来前一阵听的Talk Python to Me的一集Geeking out in the golden years,嘉宾Phillip Guo收集了一个60岁以上的学代码的人的问卷。主持人和他在聊这问卷里发现的一些东西。说到老年人学代码自己觉得的一些困难。其中一项困难是遇到error没有解决问题的能力。主持人说,这个问题不仅是老年人会遇到的啊。下面是他的原话(原来这podcast还有transcription):

00:25:29 Michael Kennedy: You know, I find, I interact with people and I’m not sure if this is an age thing or not, but certainly people say, “Oh Michael, you solve this problem, you’re really good at computers,” and I had, I used no skill, all I did was just randomly try variations with the piece of software they’re trying to get to work, until the thing just gave in and worked, right? It’s not like I used some great skill or something, I was just persistently pushing through, and I was just willing to play with whatever the people brought to me with their computers, “Can you fix this?” and I’m like, I don’t really know about that, but I’ll try, you know, and I wonder if that’s something about growing up with computers, like, we didn’t have a lot of good sources to learn, so you just try variations until it works, and maybe that’s something that comes to you easier when you grow up with it, and you’re not learning when you’re 60? I don’t know.

唉,还是挺高兴看到一个开着python教程的作者这么说。coding这个东西,layer很重要,所以不要觉得越过layer看代码学习原理才是解决问题的根本办法。不然的话,why stop at software?我上一份工作是在沟通很不好的环境下做支持,所以我好像总是要求自己去看代码找问题。固然有它的好处(即:在很toxic的环境里不被人欺骗和欺负)。但是并不是绝对必要的。

===分割线===

上周有了这个工具后,效率还是很低。还不知怎么评价效率怎么这么低(知乎体)。我们写了一堆不需要产品化但需要手动重新使用的脚本。所以写的时候也不太注意(时间赶,而且不是产品)。重用的时候就各种问题:表存储并不在我们想的地方,所以数据不对;有的表需要实体化所以语法不一样没有改;数据导在同一个目录下导致数据double;两批数据格式不一样所以不管怎么建表都报错。。。

要在被“要照顾那么多细节”paralyze的情况下行动起来get it done,然后使用的时候还是有很多问题。需要行动&反思结合。

理论上没有突破不了的牢笼

最近在想,对我来说,成年的那一刻是大概12年前刚喜欢上星战后不久。那时星战占据了我整个想象力,沉浸在那个世界里。有一天我忽然想起来提醒自己:在我有生之年看到Coruscant那样的未来城市可能性是很小的。人还小的时候,总是会想“长大以后什么都有可能”,那好像是我第一次理智地承认自己的不现实,认清不现实的同时并不放弃。

成年的感觉似乎就是这样,痛苦和快乐,希望和绝望都更深。

曾经有段时间觉得,小时候的痛苦更纯粹,青少年时期的冲动、个性和环境的粗糙摩擦更残酷,而成年人的痛苦会减少(也许是因为未成年的时候以为成年人已经修成了)。事实上,很多时候只是成年人的痛苦无法被完整地顾及,任何无法顾及的痛苦都是没有被完整地对待。你没有过这个关,它就会一直来阻碍你。很多年龄成年的人就缩在一边,用习惯来对付。

如果不逃避,成年的痛苦比儿童的更深。成年后我有过好多让人绝望的自我怀疑、失望。而且,并没有随着年龄增长而减弱的趋势。

很多时候,只有王小波的那句“理论上没有突破不了的牢笼”让我重获一点希望。

西方哲学史 – 斯宾诺莎 – “Intellectual Love of God”

读书会读完《西方哲学史》,决定大家选一个喜欢的哲学家来复习。我之前写过了休谟,所以这次挑了罗素最喜欢的哲学家——斯宾诺莎。大家挑的都是 book 3 part 1 里的哲学家 (From the Renaissance to Hume)。最早的古希腊哲学隔的时间太久我们都不记得了感觉很久远,很多都是不确定的;经院哲学又太教条;再近代一些的哲学,大家都感觉罗素写得不中肯(对此我的辩护是,你们觉得他不中肯却还是很喜欢看他写啊)。

罗素说,斯宾诺莎最主要的著作是Ethics。其它他还写了一些 biblical criticism 和 政治理论。Ethics 里,斯宾诺莎从形而上学 推到 psychology of the passions and will 最后推到了由前两者得到的伦理学Ethics。他的书的特点是,论证缜密,格式几乎是几何原本的样子。

斯宾诺莎的形而上学:individual souls and separate pieces of matter are adjectival(而不是实质的独立的东西)。并没有个人的永生,但是有impersonal immortality,也就是one with the God。这彻底是 pantheism 泛神论。因此虽然斯宾诺莎的真诚、虔诚是远超越一般人的,教会却宣称他是异教徒。容忍他的荷兰政府也叫他不要发表著作。

斯宾诺莎还认为没有free will, 没有chance。(那么他是决定论者吗?)那么犯罪的人是不是也不能怪他们?斯宾诺莎的回答是,sin是一种negation,而上帝包容一切没有negation。我的理解就是所谓的sin是人类角度的,高到上帝角度其实是没有sin。在并不知道斯宾诺莎之前,我一直是用这种思路来理解为什么宽宏大量是可贵的。

我们认为的罪恶,在更高的高度下看可以忽略,但并不会因此而去作恶。

斯宾诺莎认为人有能力理解the eternal and infinite essence of God. 我们要做的是不要让短期的passion阻止我们看见intellectual vision of the whole。

We are in bondage in proportion as what happens to us is determined by outside causes, and we are free in proportion as we are self-determined.

All wrong action is due to intellectual error.

罗素否定了斯宾诺莎的形而上学,认为它和现在的科学不配套了。也就是那套演绎法是不够的,fact必须通过观察得到。罗素又强调了斯宾诺莎接下来的结论都是一种《几何原本》式的推论得到的。我不太能接受的是,在否定了前提之后,他还能那么推崇斯宾诺莎的伦理学。罗素在书里没有说。但是我觉得是因为,罗素认为伦理学是和哲学分开来的。罗素作为一个逻辑学家,承认善恶是没有逻辑基础的。然而罗素自己又是那么爱憎分明的人。

罗素说,斯宾诺莎的伦理学,教我们how to live nobly and accepting human limits。假如你遭受了巨大的不公,比如你是犹太人,你的家人被害死。斯多葛派会说:what does it matter to me if my family suffer? I can still be virtuous. 基督徒会说:Love your enemies。斯宾诺莎(认为自己是很好的基督徒)说,爱你的家人&&宽容你的敌人。这两者是矛盾的,只有爱和胸襟高的一定程度,才能化解。而且斯宾诺莎说,a life dominated by a single passion is a narrow life, incompatible with every kind of wisdom.

而我,读什么书都只能看到我已经在想的东西。在目前我被星战第一次激起宗教情感的情况下读到斯宾诺莎,不能不想到,passion会阻止你看到上帝 这个说法 和绝地信条的相似之处。读书的时候小伙伴表示斯宾诺莎很像佛教。我对佛教可能有误解,我觉得佛教更接近上述的斯多葛派。我觉得罗素那么喜欢的斯宾诺莎——教你会爱也会宽容——这种奋不顾身入世的勇敢,同时又有出世的胸襟,其实是我爱星战的一个深层次方面。。。这种境界,肯定古往今来很不少人达到过,所以在各种宗教里都有这种思想的变体。只是在把宗教推向普通大众的时候,都会变形。

并不是你信教,就达到了这个境界;也不是如果你是无神论者就不能达到这个境界。这是一条修行之路。

词语

最近读《西方哲学史》的时候,发现几个词语从来没有将中文和英文联系起来过,虽然我一直自以为分别知道它们的意思。下面是一些感想(当然我还很不了解它们的来龙去脉,希望有人看到能拍砖):

Idealism是唯心主义(没想到)。笛卡尔的“我思故我在”是其代表。因为英文的idealism有理想主义的意思,所以我觉得中文把理想主义剥离出来更好。

与之相对的,materialism是唯物主义我原本是知道的。中文里,唯心和唯物,对立非常明显。(当然英文里,如果把idealism看成是idea变过来的而不是ideal变过来的之后,对立立场也很明显。)

今天读Locke的时候才知道,Liberalism的中文是“自由主义”。在英文语境下,liberalism是开明,是很温和的意思。我们读的时候,我忽然想到疑问它的中文是什么——“自由主义”,一下子就很radical了有木有!!仔细想想,在我国的情况下,liberty都有点激进的意味,其实很可悲。西方语境下真正的激进,在我国语境里我一直吃不准怎么理解。所以不要怪很多人分不清政治上的左右。

今天还理解了prudent这个词。在没找到中文翻译的时候,我猜想是自律、谨慎、保守、节俭的意思。《西方哲学史》的中文版上用的是“远虑”,然后查了英文字典,果然有‘为了将来打算’的意思。A说这是因为我们都只理解了prudent这个词的表象,没有领悟它的根本。

插一句话,笛卡尔从怀疑论出发,竟然成了唯心主义的开端,一开始我很惊讶。