Vinchent的博客

读过这本书,我不再相信宏大叙事

回想这几年,有几本书读过之后对自己影响很大。

  1. 《生活与命运》——我不再相信宏大叙事,只相信一个个具体的人。
  2. 《V字仇杀队》——我理解了什么是自由,什么是压迫,什么是极权,以及我们为什么应该反抗极权。
  3. 《被淹没和被拯救的》——系统性的恶是不可抵抗的,除非我们选择抵抗。
  4. 《我在伊朗长大》——我对种族歧视更加敏感,并且尽量觉知自己不要因为种族歧视他人。
  5. 《坟·热风·华盖集·华盖集续编》——自由,民主,平等,女权,人权……我们以为的西方观念,其实被鲁迅和那一代人们写在我们的历史之中,只是被我们遗忘和忽视。

谁是弱势群体?

最近两天常听到“弱势群体”这个词,到底什么是“弱势群体”?

英文里最接近“弱势群体”的翻译是“Vulnerable Groups”。在联合国官网中对其的定义是:

非洲人后裔是指跨大西洋贩卖奴隶的受害者的后裔以及后期非洲移民的后裔,他们经常面临种族歧视和偏见

歧视性的结构和体制、不公正的奴役和殖民主义的遗留问题,致使非洲人后裔成为社会中最贫穷和最边缘化的群体,他们还遭受警察暴力和种族定性,频率之高,令人震惊。

除了非洲人后裔和跨大西洋贩卖奴隶的受害者的后裔,种族主义还直接影响了许多其他社区和群体的生活:土著人民,罗姆人,辛提人,游民,民族或族裔、宗教和语言属于少数群体的人,移民,难民、寻求庇护者和国内流离失所者,生活在极端贫困中的人,妇女,男女同性恋、双性恋、跨性别者、性别奇异者和间性者人群。

种族歧视的受害者也可能因其他因素遭受多重、严重、复杂或相互交织的歧视,包括年龄、语言、宗教、政治见解或其他见解、社会出身、财产、残疾、出身或其他身份等。

反犹太主义和仇视伊斯兰等种族主义和歧视性思想,使这些宗教群体遭受到歧视和暴力运动的影响。

妇女和女童还面临基于性别的额外歧视(官方译为“性别歧视”,但此处英语是:additional discrimination based on their gender, 法语是une discrimination supplémentaire fondée sur leur sexe. 我据此改译为此),这让她们更为脆弱。

从以上文字介绍中,我们大体可以得出三条结论:

  1. 弱势群体的概念从种族平权运动生发,而扩展到各个面临着歧视和偏见的群体。
  2. 弱势群体常常遭受来自于社会系统性的暴力,包括来自于公权力的暴力。(虽然反之未必成立,即遭受暴力的不单单是弱势群体,也可能是非弱势群体,但是弱势群体更容易遭受暴力)
  3. 妇女和儿童面临的歧视和暴力是可以在其本身就具有的弱势身份上叠加的,使得她们更为脆弱

“弱势群体”这个词在国内舆论场上传开则是由于时任总理朱镕基在第九届全国人大5次会议上所作的《政府工作报告》中使用了这个概念,其中提及的段落是:

扩大国内需求,首先必须增加城乡居民特别是低收入群体的收入,培育和提高居民的购买力。一是……二是……三是……四是积极扩大就业和再就业。这是增加居民收入的重要途径。努力拓宽就业渠道,增加就业岗位。大力发展就业容量大的劳动密集型产业、服务业、中小企业。扩大社区服务就业门路。实行弹性大、灵活性强、多样化的就业形式。发展劳动力市场,完善就业服务体系。认真落实鼓励自谋职业和促进就业的优惠政策措施。对弱势群体给予特殊的就业援助。五是……


另外,在联合国网站Vulneralble People页面点进Women的链接之后,看到了这么一段话,也一并记录在此:

The intersection of discrimination based on race and gender has the most widespread effects. Although this intersection had long been ignored, the 1995 Fourth World Conference on Women, held in Beijing, recognized that “Many women face additional barriers to the enjoyment of their human rights because of such factors as their race, language, ethnicity, culture, religion, disability or socioeconomic class or because they are indigenous people, migrants, including women migrant workers, displaced women or refugees.”

烤面包

面粉我买的是超市里已经配好的Multi-céréales的面粉,里面有面粉和一些杂粮和坚果碎;酵母我买的是boulangere的酵母(不是instantané或者chimique)。

首先,按照买来面粉袋子上的写的比例来调配。基本上来说:

  1. 称250g面粉,里面洒进去一小佐盐(按照说明的比例大概是5g,我认为有点多,不过可以自己尝试之后调整)
  2. 150ml水,放进去一袋酵母(一般一袋酵母的量正好做250克面粉),搅拌至化开。可能一开始会有点结块,但是慢慢搅拌就会化开。至于是不是温水我觉得问题不太大,只要不是冬天水管里特别凉的水就行。
  3. 然后把水倒进面粉,混合均匀成团,至没有干粉有点粘手为止(可以戴一次性手套弄)
  4. 盖住盆放15分钟左右。
  5. 面团休息一段时间之后,倒入一勺食用油/橄榄油(量可以自己调整,别太多就行),然后开始揉面,揉到油到面里面,面的表面再次变得有点粘手为止。
  6. 盖住放入冰箱过夜/或者早上放进去晚上拿出来。
  7. 拿出来之后撕成两三块回温半小时以上。
  8. 回温之后揉面排气,整成自己想要的形状,然后放在模具里二次发酵(盖上盖子或保鲜膜)
  9. 二次发酵的时间大概是40分钟,可以目测大小是原来的两倍大左右。(比如我放进做Cake的盒子里一开始是左右填不满的状态,发酵完成后左右能填满,高度能和模具差不多高)
  10. 二次发酵结束之后,烤箱里面放进去小半碗水,预热到180度,然后烤35分钟出炉。

关于二次发酵,夏天的时候可以在室温发酵。冬天的时候需要额外加热。有两个思路可以考虑

  1. 在烤箱的烤盘上浇上一盘开水,放进关闭的烤箱底层,然后把放着面团的模具放在中层的烤架上,关上烤箱,让热水提供的温度发酵。
  2. 把烤箱开最低档发酵(如果烤箱最低档不是120度以上的话)

记跳槽

新公司入职一个多星期。简述一下这一次求职的经历。

#

萌生跳槽的想法是因为和不同的朋友吃饭的时候谈到工作,没有比较就没有伤害,越聊越觉得应该换。

原单位的弱点在于:

  1. 薪水低。
  2. 公司福利有限。
  3. 是外包公司,实际工作主要在客户公司。

原单位的优势在于:

  1. 公司的人际环境不错,大家相处比较融洽。
  2. 有一些接受内部培训的机会。
  3. 公司有的项目接触到嵌入式各个方面。

但是,一旦我进入一个项目,去到客户公司工作的时候,我自己公司能够给我提供的东西就变得非常有限。随着自己之前的同事不断离职,又没有太多机会认识新的同事,久而久之,就会觉得自己的归属感变得很弱。

而同时,在客户的公司虽然也能受到比较好的对待,但终究感觉不是他们中的一员,自知随时可能离开,所以也没有很强的归属感。

这样两边不着的时间长了,就会感到一种悬浮的状态。

#

总的来说,推动我跳槽有三个深层因素:

首先是待遇。起薪不高也就罢了,涨薪也实在是非常有限,经济上没有任何促使我留下来的动力。

其次是外包本身。除了我刚刚说的悬浮状态以外,外包的工作往往不会涉及一个公司的核心竞争力,这就注定这个岗位不太可能受到客户公司最大的重视,因为作为客户公司,它也做好了准备这个人随时可能走。

第三,是我之前做的项目本身在我看来不但重复性非常大,而且我只有一个人做,没有更厉害的人带我。虽然这样看起来拥有更大的自由度,但是我在这个状态也很难进步,很难学到什么是更好更正确的实现方法。时间长了不但自己做起来没有动力,更是会有一种危机感,如果不回到一些核心的开发岗位上,自己的能力很快就会退化。

这些因素最终促使我萌生跳槽的想法。

#

接下来就是怎么找工作以及找什么工作。

早在我萌生跳槽想法的一年前(2020年夏天),在和一个前同事聊天的时候他就向我提过他们公司。鉴于我当时的项目开始四个月,还没有走上正轨,我觉得如果我现在离职,那这半年可能基本啥也没干成,所以就没有考虑。

于是在我21年底决定跳槽的时候,首先就找了这个同事和他再聊聊他现在的公司的情况。他表示对公司环境和工作情况还是比较满意的。但是法国人说话一般比较注意,不会用特别安利的口吻来表达,而是处处透露出那种:这只是我个人的看法,完全不代表你可能面对的情况,你一定要谨慎选择。

随后,我发现我公司的一个manager,也是我这位前同事的manager被他挖角去了这家新公司。这为我提供了另一层保障——一位经验丰富的manager认可了这家公司。

再然后,我发现我在客户公司有一个同事,他就是从这家公司跳出来的。和他交流之后,他表示这家公司的C语言水平非常高,虽然他做的测试岗位可能不那么尽如人意。而我想要面试的职位正好是C语言的开发,所以这又是一层背书。

至此,我已经把这家公司作为我的首要目标。

#

圣诞元旦双节假期期间我开始复习C语言和其他的基础知识。复习大概有三个角度:

  1. 在电子书平台上找到C语言面试相关的书籍(程序员面试宝典之类)看基础知识
  2. 在网上找C语言的测试题(选择题)
  3. 在Codinggame和Codewar上写一些编程题

由于我之前没有系统学过算法,还恶补了一下基本的数据结构(在B站上买了一个期末考试临时抱佛脚的视频……发现其实帮助不大,大学期末考不太注重实际的东西,倒是概念的边边角角要搞清楚)。最终我数据结构的学习方式是看动图和Youtube上的短讲解。

经过这些准备之后,我在2022年初收假之后就向我前同时递交了简历。

#

内推或许是找工作最好的方式。入职培训的时候,HR说,内推最后入职的概率是40%,但是海投入职的概率是0.2%……

内推的好处是可以通过熟人充分了解公司的一些内情,比如工作环境,大家的工作状态等等,这些东西往往在面试上不太容易表现出来。从公司的方面,也可以通过私下的途径,了解应聘者是个什么样的人——只是一个熟人的熟人?或者一起共事过等等。

我和我的前同事之前一起做过一年的项目,他对我非常了解,我相信他是替我说了好话的。

面试一共三轮。

第一轮面试是和HR面试。主要的内容是互相介绍,他向我介绍他们公司,我向他介绍我自己的经历。

我事先做了功课,看了他们的网站,所以对于他说的东西,我基本都已经有了了解。而在自我介绍的时候,我也着重从我之前做C开发的经历出发,坦然说了自己为什么不喜欢现在的工作,以及我通过自己前同事的途径了解到这家公司等等。

出乎我意外的是他直接问了我当时的薪水,我也就如实相告了,他告诉了我一个他心目中我应该拿到的“市场价”。最后我实际拿到的就是他报的这个区间的最左边……

第一轮面试比较顺利,和HR一对一沟通我一向不怵。在我看来面试的过程是一个互相考核的过程,不存在谁在上谁在下。我会像对待一个未来的同事一样和他交流,他也应该用这样的态度和我交流,如此我们彼此都能感到比较舒适。如果HR是来给我出难题的,那我不去这家公司也罢。

#

第一轮面试结束之后,HR发来了一道编程题。具体内容我不能说,但是算是写一个工具类的程序。里面涉及了数据结构算法,文件的操作,当然还有指针、数组、字符串处理等等C语言最核心的内容。

这个考核没有严格的时间限制,题干里写了大约是4个小时的工作量,意思是如果你花了太长的时间,要么是你能力实在不足,要么是你把题目理解错了。我实际花了一个晚上一个白天,大概8个小时。

这种考核方式的好处是非常接近实际的工作。它不限制你使用Stackoverflow,不限制你时间,你可以按照自己的节奏来编程。

更重要的是,它除了考察最基本的C语言基础以外,还考验你会不会使用Git来管理自己的代码?会不会用如Python这样的工具来写简单的测试代码?会不会使用Makefile等编译的工具?如何组织程序结构?代码是否可读性强?等等一些在实际工作中非常重要,但在普通面试考核中很难考察到的方面。

对于这个笔试的形式,我感到非常满意。在做的过程中,我先用一种算法写出了一个版本,但是我迅速发现这个算法的效率低下,所以我又换了个算法重写了一个版本,所以多花了一些时间。我用了Makefile,用Git管理了我两个版本的代码,用Python写了测试程序,基本上做到了自己能做到的最好。最后在Readme里我还写了我代码可以改进的空间,以及其他的可能更好的实现方法。

事实上,最后我写下的这些东西可能是最重要的。

#

来到了技术面阶段。技术面我的是两个拥有15年经验以上的架构师,算是公司最资深的技术大牛。

关于破门而入和疫情的几点想法

# 破门而入

最近看到了一些破门而入相关的新闻,不免让人去思考,为什么会出现这样的事情,以及有没有什么办法能够面对这样的情况。

为什么一个人能做出这样的事?只有权力能让人砸开一扇门

这种事情并不只发生于国内。随便看看评论区就知道,全世界各个国家,尤其是所谓的民主自由的国家,尤其是美国,这种事可多了。这也并不只发生在当下,早在《礼记》中就记载孔子“苛政猛如虎”的故事,柳宗元《捕蛇者说》也记载了破门而入的酷吏之所为,并不新鲜。

只要一个人有了一点点权力,人性之恶就会得以释放。

该怎么办?常说的一句话是:把权力关进制度的笼子。可是制度本身又会赋予新的一层的权力,恶没有消失,而是流动到了上面一层。比如,警察暴力执法,那么我们安排一个制衡警察的督察组织,这样警察在执法的时候会想着有督察在,则不会无法无天。可是督察呢?督察有了权力,会不会对警察滥用职权呢?督察谁来约束呢?

一个理想的结构是多权分立的,一个压一个,形成一个环状。但是环结构最大的特点就是慢,也许它流动到一个节点就不再具备势能——就好像不是所有的案件都会打到最高法院,也不是所有的正义都能得到声张。

没有一个制度是完美的,但是这不意味着更好的制度不存在,更不意味着我们的制度就是最好的。

然而,从制度的角度去思考天然具有一个局限——不把人当人。在制度设计的时候,将处在这个位置的,不是善良的老王或爱偷懒的老李,它是一个抽象的人,Ta可能好,但更可能坏,毕竟我们是为了避免坏人而设计的制度,未免要把人往最坏了考虑。

但是,在实际的生活中,我们面对的是一个个具体的人,是善良的老王,爱偷懒的老李,人狠话不多的张阿姨和刀子嘴豆腐心的小刘。习惯于从制度和大局思考问题的人,常常忽视他们眼前面对的是具体的人;相映的,这些处于繁复制度中的人也常常忘了自己作为人的存在,而只作为工具存在。

制度于是抹杀了人性,于是我们看到的是制度天然的缺陷,殊不知,这些制度的缺陷是可能被弥补的。比如皇权世袭制的缺点一目了然,但是仍然有明君良相有王朝中兴,从这个意义上说,确实是事在人为。

制度走到头的时候,我们还是得回过头来找到人性,找到我们生而为人最基本的善良。不过,如果我们还想找到人性,那恐怕制度反而不能太到头。

# 疫情

我不是专家,但是我忍不住地想究竟应该怎样制定防疫的策略。

请循其本。第一个我们需要回答的问题是:

面对疫情,我们最终的目标是不是群体免疫?

先来考察答案是否定的情况。如果不是群体免疫,那么我们的最终目标或许是大家都不染疫。

如此一来,我们需要的是最大程度的防堵疫情。“动态”是不行的, 因为动态的不仅仅是清零,更是病毒自己,我们必须要“静态”防疫才能达到目标——封锁,坚决的封锁,永远不能让病毒流入,永远不能让病毒传播,这样才能达到大家都不染疫的目标。在静态封锁中,病毒无法传播,直接死亡。

但是,如果大家都不染疫看起来很不切实际,那么我们不妨来看看把群体免疫作为终极目标的情况。

于是我们需要接受一个前提假设:

一个人获得免疫有两种方式:染疫或者打疫苗。(如果读者还有第三条路径,那么下面的分析就没有任何意义再读下去了,因为我完全是依照这个前设展开的)

那么我们先来看染疫的情况。

假设一种理想情况:一地区医疗资源充足,疫情恣意泛滥也不会造成挤兑;同时,病毒也不会变异。那么我们看到的结果,应该是染疫的人数以指数级别增长,然后群体免疫,达成目标。在这种情况下会有一定的死亡——这是病毒死亡率带来的不可避免的死亡。

那么如果这一地区实施一定程度的限制措施,用了更长的时间以更缓慢的程度达到了群体免疫,死亡人数理应是相同的——这还是病毒的死亡率带来的。

也就是说,在这种理想情况下,病毒的死亡率决定了,如果选择群体免疫,一定会有这么多的死亡,无论是快还是慢,这是数学。

好,我们接下来逐步地把这个理想情况用现实来打开。

首先我们加上医疗资源有限的条件。医疗资源有限意味着,如果一时间染疫人数过多,死亡率会超出我们已知的病毒死亡率,造成更多的死亡。

在这个情况下,我们更好的打算就是通过一定程度的限制措施,使得医疗资源不至于被完全挤占。不过,仅在这个条件之下,我们限制措施无论松紧,只要医疗资源不饱和,达成群体免疫的效果都是一样的。

接下来我们再加上病毒会变异的假设。如果病毒是通过不断复制而突变变异,那么它复制的机会越多,越有可能变异,继而改变病毒的性质,让之前的免疫变得无效,或许不是完全无效,但是依然死亡率因此被改变了,之前免疫的人可能再次染疫。

在这个情况下,我们更好的打算就是让群体免疫尽量块地达成以减少病毒变异的机会。结合前一个条件,我们最理想的选择,就是在让医疗资源在刚好饱和的程度,达成群体免疫。这就要求一种尽量的限制措施。

但无论如何,还是会有那么多人死亡,这是病毒的死亡率所决定的。

我们再加上疫苗。疫苗是降低病毒死亡率的途径。那么最理想的情况就是大家都瞬间全部打了有效的疫苗,这样病毒一下子就不传了。而现实的情况是:时间差疫苗效果

所以,为了降低病毒基本的死亡率,我们需要在尽量短的时间打最有效的疫苗

综上所述,在仅考虑这些条件的同时,我们得出的结论是:

在尽量短的时间打最有效的疫苗,同时在保证医疗资源不致过饱和的情况下,尽量让病毒快速传染,以达成群体免疫

这些条件充分了吗?当然不充分。但是这是我能想到的一个基本的框架,接下来的工作是基于这个框架,把不同的因素考虑进来,然后丰富和协调面对疫情的政策。

而这样的政策,基本上是西方国家在面对疫情的后半程(2021至今)所采取的方式。


只不过,这不是唯一的框架。我们不妨回到最初的问题:

面对疫情,我们的终极目标是什么?

如果我们的终极目标既不是不染疫,也不是群体免疫,而是其他的目标呢?

那一切都得重新考虑一遍,一些不可理解的事情,或许在这个框架之内就可以理解了。