博文

目前显示的是 八月, 2021的博文

为开源事业作了点贡献

CNCF这几年太火了,他的很多项目在云原生领域都有决定性的影响力,像著名的Kubernetes、Etcd、Containerd等等。最近刚好也在学习这些东西,也顺便想找个机会为这么多开源项目做点贡献。很巧地,在论坛里看到Kubernetes旗下一个项目正在呼吁社区帮忙维护一个项目,我马上就联系项目管理员加入了。 这个项目在这里: kubernetes/kompose ,在学习K8S期间,也考虑过怎样把自己机器上众多 docker compose 都交给K8S,比如开发中经常会用到的数据库、Nodejs、AI等,没想到社区已经有一个已经相对成熟的开源方案了,后来试用了一下效果还不错。如果要为这个项目做点什么,就应该先熟悉一下整个项目的架构和流程,然后从issues入手尝试解决一些小问题,最后再考虑去完善一些新的功能模块。 解决问题通常是比较简单的,但顺利走完整个流程还要费点劲,特别是第一次提交代码。我看到一个issue中有人希望能增加对fish shell的自动补全支持,就很快在代码中实现了,但第一次提交就出问题了,后来才知道,首先代码要fmt、lint等,一步都不能少,否则可能无法通过极其严格的CI,并且在提交代码之前要先签署CLA——Linux基金会的贡献者许可协议,再在commit的时候通过本地GPG签名自己提交的代码,最后才是push。这么复杂的流程应该是CNCF的项目特有的,对普通项目的贡献至少是不需要签CLA的。 支持开源项目对绝大多数人来说就是无私奉献,只有对社区产生了比较大的影响力了才可能会有额外的收获。作为普通开发者,对一个项目的贡献一方面是对社区的回馈,毕竟职业生涯中是肯定会借用别人肩膀的;另一方面通过贡献代码提升自己的技能和影响力。也有人已经习惯了伸手,但是请记住:没有什么理所当然,绝大多数人都是把业余时间投入开源项目的,所以应该多一点理解和尊重,毕竟,道德应该用来要求自己,法律才是用来要求别人的。

新冠疫苗——三思而后行

图片
从2019年新冠疫情在武汉出现,至今我还没有做过一次检测,更没有接种过疫苗,在可见的未来也没有接种的打算。2019年底前我们全家离开广州举家来到加拿大的时候还没有听说病毒,直到次年1月才开始得知武汉出现病例的消息,时至今日,全球已经有近2亿人感染、420万人死亡,这恐怕是人类有史以来最严重的疫情了。 首先,我不认为人类目前对冠状病毒有足够的了解。除了这次的COVID-19,一般人熟知的冠状病毒大概还有SARS和流感。前者于2003年在北京爆发过之后就销声匿迹了,所以没有太多关于它的数据,而流感是每年都会在全球爆发的流行病,为什么同为冠状病毒的流感能长年困扰世人至今没有彻底的解决办法,凭什么相信明显比它厉害很多倍的COVID-19能很快得到完全控制?截止目前,我们只知道COVID-19病毒会与肺部的ACE2细胞结合而感染人体,但具体免疫系统如何反应,如何突破血脑屏障,如何影响大脑、神经系统和生殖系统,是否明确有无ADE效应等等,因此我觉得有充分的理由相信人类目前对冠状病毒不了解;其次,所有人都要清楚一点,全球的新冠疫苗都是「紧急征用」的,并没有任何一款完整通过全部三期临床验证。疫苗的研发是非常耗时间、耗钱的事情,一般没有十年甚至更长时间的投入是不会有结果的,显然这次全球的疫苗都是在疫情紧急的情况下被逼迫出来的,在美国,包括辉瑞、强生都没有获得FDA正式的approve,这也就意味着不但疫苗的安全性不能像以往一般的疫苗那样得到尽可能大的保障,也意味着疫苗产生的任何后果只有自己承担,美国政府是没有法律责任的。所以很多国家的医疗机构都不但不会强制接种,而且非必要的岗位甚至不建议接种;最后,从已经接种的情况来看短期内副作用非常不乐观,长期的副作用更是未知数。不但出现大量接种后感染,甚至还有很多对人体造成直接伤害的案例。 其实,技术层面还有两个明显的漏洞,一个是至今还没有一位真正冠状病毒领域的专家(比如Malik Peiris?)出面解释这个事情,另一个是至今人们连确定的病毒来源还没搞清楚。 疫苗是政治正确的产物。在人们长期的生存经验中,疫苗就是预防病毒最好的武器,历史上许多非常凶险的病毒都因为疫苗而彻底从世界上消失,这让「疫苗」二字给人们带来了绝对的安全感,因此不论要消灭什么病毒,人们一定会寄希望于疫苗。所以在这么广泛的民意基础上,政府除了宣传和推广疫苗之外,并没有其他选择,