这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly[1]),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》[2],提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

丹麦的法罗群岛正在建设海底隧道,连接各个岛屿。上图是世界第一个海底交通圆环,三条隧道通向三个岛屿。该工程将在本月对外开放。(via:Facebook[3]

本周话题:利特伍德奇迹定律

这个星期,我读到一篇文章[4],谈怎么理财。
作者说,储蓄和投资的观念应该是相反的。储蓄要悲观,相信自己会遇到很多意外事件,所以要尽量多储蓄;投资则要乐观,相信这个社会一定会向前发展,经济不断增长,所以要积极投资。
他的理由很有意思,提到了利特伍德奇迹定律[5](Littlewood’s law of miracles)。
约翰·利特伍德是英国剑桥大学的数学教授,有一次开玩笑,他算出普通人平均35天会遇到一次奇迹。
推理过程是这样的,我们每天醒着并积极活动的时间,假定是8小时。这段时间的每一秒钟,你都会看到或听到外界发生的事件,那么一天大概会遭遇将近3万个事件,35天就是100万个事件。 所谓“奇迹”,可以理解成百万分之一的事件,因此平均来看,每35天你会遭遇一次奇迹。
有些奇迹对你有利,另一些对你不利。如果两者是一半一半,那么根据利特伍德奇迹定律,你每年大概会遇到5~6次比较严重的不利事件。这就是为什么说储蓄要悲观,因为你需要对不利事件有所准备。
另一方面,另一半的奇迹是有利事件,全世界有那么多人,总有人会因此发现困难问题的解法,做出技术改进,推动人类发展。这里的关键是, 科技进步具有累积效应,你可以利用别人的结果继续做出改进,而挫折和厄运没有累积效应, 你个人的不利事件(求职失败、婚姻破碎、感染疾病……)不会影响到其他人,所以人类社会才会在长期中,趋向于不断进步。
这就是文章开头观点的来历,如果奇迹是普遍事件,那么你就应该悲观地储蓄,乐观地投资。

IT 工程师技能图谱

学习一门新技术的时候,初学者最大的苦恼之一,大概就是不知道从何入手。
典型的情况是,你大概知道学会以后,这门技术可以帮你解决什么问题。但是,怎么才能学会、循序渐进的学习路线是什么、学习范围有多大的深度和广度、涉及到哪些前置知识……这些问题你就不太清楚了,只能根据别人推荐的或者网上看到的教程,先学了再说。
这时,一张技能图谱就能帮到你。它像脑图一样,列出主要的知识节点,并且按照学习的线索串起来,让你明白自己的学习路径,以及哪些地方需要查漏补缺。
国内知名的 IT 技术知识学习平台“极客时间[6]”,在开设了近千门课程的基础上,整理出了24张不同领域的技能图谱,涵盖前端、后端、移动、运维、微服务、大数据、机器学习等热门领域,方便用户把相关的知识和技能串起来。
这些技能图都是精心制作的 PDF 格式大图,可以方便地查看和打印,下面就是 Python 技能图的局部范例。
这些技能图是极客时间为了方便用户,按照路线图和技能点自主学习而制作的。现在免费发送给这个周刊的读者。
只需要扫描下面的二维码,登记一下个人和团队信息(或在校生的院校信息),工作人员会在2个工作日内,将24张技能图谱一起发送到你填写的邮箱。

资讯

1、自浇水土壤[7]
美国德克萨斯大学奥斯汀分校的研究人员,发明了一种自己浇水的土壤。它自动从空气吸收水分,将其分配给植物。这种土壤有可能将以前不宜耕作的地方也变成可耕地,并减少农业灌溉用水。
具体做法是,在土壤中加入一种类似于“超级海绵”的超吸湿凝胶,用来捕获空气中的水。白天,土壤温度上升时,凝胶释放出水,供植物吸收;夜晚,土壤温度下降时,凝胶会从空气中吸收水。这种土壤每克可提取约3-4克水。
2、不需要阳光的太阳能电池[8]
太阳能电池的一大问题,就是阴天的发电效果很差,一位菲律宾大学生想出了解决办法。他在树脂玻璃中加入可以吸收紫外线的有机发光粒子,然后底下铺一层太阳能膜。
不管天气好坏,紫外线总是存在的,甚至夜间也有紫外线,差别只是程度的强弱。树脂玻璃里面的发光粒子,吸收了紫外线以后就会发光,从而让底层的太阳能膜发电。
一块0.5平方米的这种树脂玻璃,每天可产生足够的瓦数为两部手机充电。并且,这种材料的可塑性很好,可以做成任何平面或曲面形状,放在窗户、墙壁甚至衣服上。
3、生产效率得分[9]
微软公司的线上 Office 服务 MicroSoft 365,最近推出了一个新功能“生产效率得分”,方便管理者查看员工的生产效率。
打开软件后台,可以看到每个用户的使用情况(上图),一共有73个指标,比如本周处理了多少文档、发出和阅读了多少 Email / 即时消息 / 内部讨论,同事之间的/外部的交流有多少等等。
页面顶部会生成一个得分,表示该员工的总体效率,满分是100%。如果你的得分是58%,就表示效率没有及格。
4、谁拥有最多的数据?[10]
《日经新闻》最近做了一个研究,分析世界主要国家和地区的跨境数据流量,用来确定哪个国家拥有最多的数据量。研究发现,中国(包含香港)是世界的数据冠军,早在2014年就超过了美国,数据量几乎比美国大一倍,占了全世界数据总量的23%。
但是,这个研究有一些地方很奇怪,不符合常理,第三位是英国,数据量居然跟美国很接近,第五位新加坡更是一个小国。一个解释是,它可能把非本国的转口流量数据,也统计在内。
5、胶囊办公室[11]
受疫情影响,日本许多胶囊旅馆鲜有人问津。东京新宿区的一家胶囊旅馆从远程办公中嗅得商机,将自己改造为胶囊办公室,为那些在疫情期间不能去办公室、又不想在家办公的人,提供安静的办公场所。
胶囊办公室有桌椅、窗帘、免费 WIFI、无线鼠标、打印机、空气净化机等,你要是愿意睡在这里也可以。每小时收费500日元(约合31.4元人民币),3小时1500日元,5小时2000日元,全天使用则只需3000日元。其实,这不失为程序员独立办公室的一个可行的解决方案。
6、一句话消息
Firefox 浏览器[12]的最新版,会在 URL 栏显示赞助商链接。这种“创新”估计是从中国浏览器受到启发。
嫦娥5号[13]月球探测器11月24日发射后(下图一),国外无线电爱好者就开始接收到它发回的信号。有人甚至解码成功,还原出一段视频[14](下图二)。
华龙一号[15]是中国自主知识产权的第三代核电机组,11月27日它的首个反应堆福建福清核电站5号机组并网发电,标志中国核电技术的重大进展。目前,后面还有12个“华龙一号”机组在建。
一家美国创业公司[16]设计了一个自带电线收纳的电脑桌,带有各种电线收纳槽,获得了红点设计奖。

文章

1、民航客机为什么很少飞越喜马拉雅山?[17](中文)
喜马拉雅山脉上方,基本没有航线经过,飞机为什么不打那儿飞,节约飞行时间呢?虽然山脉较高,但民航飞机不是可以在10000米左右的高空巡航么?
2、宝特瓶如何被回收利用[18](中文)
饮料的宝特瓶(PET)可以回收利用,这已经成为一个3000亿元的产业。本文介绍国内宝特瓶回收行业的流程。
3、赔率是怎么回事?[19](英文)
新闻媒体经常报道各种赔率,这到底有什么含义?本文用美国这次总统选举来解释赔率,并用例子讲解如何在不同网站之间套利。
4、Windows Linux 子系统 1 和 2 的区别[20](英文)
Windows Linux 子系统(简称 WSL)使得 Windows 可以运行 Linux 程序,但是它有两个版本,并且同时都在开发,它们有什么区别?
简单说,WSL 1 是内核子系统,WSL 2 是 Linux 虚拟机。
5、Let's Encrypt 的免费替代品[21](英文)
Let's Encrypt 是主流的免费 SSL 证书生成工具,市场上还有一些其他工具也能生成免费证书,本文介绍 ZeroSSL。
6、Ansible 入门[22](英文)
Ansible 是自动化配置管理工具,本文介绍它的用法。
7、Chrome 浏览器的 CSS 概览面板[23](英文)
Chrome 浏览器引入了一项试验性功能,在开发者工具里面提供 CSS 样式表的概况统计。
8、我放弃 Serverless,改用 Ruby on Rails[24](英文)
作者原先使用 Serverless,感到有许多不满意的地方,就写了这篇文章解释为什么他要转到传统的 Ruby on Rails。
9、Git 的空树[25](英文)
任何一个 Git 仓库,都包含一个相同的对象(哈希为4b82...4904),指向一个空树(empty tree),这是为什么?
10、如何构造一个引用自己的推文[26](英文)
作者介绍如何猜中推文的 ID,从而通过推特 API,构造出一条引用自己的推文。

工具

1、Popper[27]
一个工具提示和弹出框的 JS 库。
2、hutool[28]
一个小而全的 Java 工具类库,通过静态方法封装,并提供详细完整的中文文档和注释,使Java拥有函数式语言般的优雅。(@looly 投稿)
3、Furion[29]
一个基于 .Net 5 的 Web 框架。(@MonkSoul[30] 投稿)
4、ChangeMenuBarColor[31]
改变 macOS Big Sur 系统菜单栏颜色的一个小工具。
5、Gather[32]
一个基于浏览器的在线聚会空间,所有参与的用户显示在一张 2D 地图上,可以进行文字聊天和视频对话。
6、Notion Clone[33]
一个 Notion 的开源克隆,提供在线的笔记管理功能。
7、Raindrop[34]
一个跨平台的网络书签管理器。
8、BundlePhobia[35]
一个在线工具,分析 npm 软件包的体积和加载性能,比如 [email protected][36] 的体积是69.9kB,2G 网络下载需要0.81秒。
9、Blades[37]
一个 Rust 语言写的静态网站生成器,速度极快,号称比 Hugo 快10倍。
10、profileio[38]
一个 Github actions 模板工具,用来生成个人简历页面和 PDF 文件。
11、Presenta[39]
一个在线制作幻灯片演示的工具,只使用简单的 HTML 语法,就可以在线展示的幻灯片。

资源

1、psql 教程和备忘录[40]
psql 是 PostgreSQL 数据库的官方命令行客户端,本文是它的一篇简明教程。
2、150分钟学会 Perl 语言[41](英文)
这篇 Perl 教程写过那些不想读官方文档的人,目标是写得尽量短,但又不会太短,包括了足够的学习内容。
3、2020年度 JS13K Games 竞赛[42]
JS13K Games 竞赛要求使用 JavaScript 语言,写一个不超过 13KB 的 HTML5 游戏。一共有220多个作品参赛,这里是前10名。大家可以去玩一下,效果非常惊艳。
4、机器学习工程[43]
机器学习工程(Machine Learning Engineering)这个词,是指使用软件工程原理和数据科学知识,构建机器学习模型。这本英文电子书是入门教程。
5、窄键钢琴[44]
传统钢琴的键盘都是标准大小,比较适合手大的人。这个项目推动设立三种键盘尺寸的钢琴,适合不同的人。
6、2020年的100项最佳发明[45]
《时代》杂志评选的今年100项最佳发明。

图片

1、心脏麻痹枪[46]
1975年,中央情报局局长威廉·科尔比在美国国会,展示了一把心脏麻痹枪。
这把手枪的顶部有瞄准器,发射的不是子弹,而是飞镖。目标被射中后,皮肤会出现一个小红点,然后心脏麻痹死亡。尸体解剖查不出毒药,死亡原因会被认为是心脏病。
2、罗马万神殿[47]
罗马万神殿是目前全世界还在使用的最古老建筑,建造于公元125年,距今约2000年。
今天,你走进这所建筑,抬头仰望巨大的圆顶,可能会跟2000年前的人有着相同的体验。麻省理工学院建筑学教授约翰·奥奇森多夫说:“你进入这个宏伟的空间,抬头仰望,通过天窗,看到天空或一朵朵乌云。你在想:'他们在大约两千年前如何做到这一点?”
万神殿的穹顶是一项工程壮举,中间有一个“眼睛”,直径超过9米,可以望见天空。太阳光从那里照进来,如果下雨,雨水就像瀑布一样落入室内。

文摘

1、CVS 的远程提交[48]
1993年,吉姆·金登(Jim Kingdon)受聘在湾区的 Cygnus Solutions 公司担任程序员。
但是,金登不想搬到硅谷,想留在弗吉尼亚州工作,他的家在那里。那是1993年,还没有远程工作的概念。而且,最大的困难是公司使用 CVS 源码管理系统,这个系统只能在总部办公室提交源码。实际上,CVS 根本没有远程登录功能。
于是,金登做了任何一个计算机黑客都会做的事情:他自己将 CVS 改成客户端-服务器模式,可以远程提交代码。
Cygnus 是一家扎根于黑客文化的公司,对金登自己修掉软件工具没有任何意见。公司创始人也是程序员,他说:“有人说,‘我想修改源码,获得自己想要的生活’,这是完全合理的事情。”
金登的朋友吉姆·布兰迪(Jim Blandy)听说了这件事,他一直在寻找软件开发的远程协作方法,就把修改后的代码要了过去。
他发现,金登添加的代码不算太多,而且在他的计算机上也能运行。布兰迪就把这些修改提交给了 CVS 官方,并且说服维护者将其加入发行版。
金登对 CVS 的更改,就这样开创了软件协同开发的新时代。几年之内,这个功能大受欢迎,CVS 就成为了行业标准。
2、我为什么不回中国高校[49]
不少朋友问我为什么不完全回国, 在美国有天花板, 回国可以自由发展。
其实,我在2002年-2004年曾经回国过,但过了两年我就吃不消了, 我发现我在国内无法高效工作,在美国反而非常轻松愉快。当然了, 十年过去了, 中国的大学改进了很多, 但基本还是老样子。
上海的公司还好,毕竟国际公司,和美国差不多。但国内的大学里非常难混, 大家不是以培养学生和发展科学学术技术为目的, 而是以形象工程、评比、拿奖、文章、上报、宣传、政绩、排名为目的, 根本无法静下心来做学术研究。当然了, 如果你有厉害的学生, 出文章也是不难的。但厉害的学生有几个?
回国后, 前六个月敲锣打鼓, 后六个月任务满满, 第二年如果没有帮学院上几个台阶的话, 马上风言风语来了:估计他在美国混不下去才回国的, 难怪不怎么样!
再说了,没钱没权回国你以为就是一等公民?没有天花板?做梦!我太了解国内的大学,政府机构和大公司了。在大学里, 如果你不是在国外很有成就的人,回国先把你灭了再说。
短期回国为人民服务最好,周围同事们会说:“还是卢老师厉害, 在美国混的很好, 经济条件也很好,不用完全回来。”
所以, 兄弟姐妹们,国内不好混啊!我反正已退休。
以上是个人经历教训, 仅供参考。

言论

1、
亚马逊云服务开始提供 macOS 实例,底层是 M1 芯片的 Mac mini。价格不便宜,每小时1.083美元,相当于每天25.99美元。这意味着,如果你的使用时间多于77天,那就不如自己买一台 Mac mini 了(价格1999美元)。
-- 《亚马逊提供云 Mac 服务》[50]
2、
如果数据不多,最好避免使用数据库,纯文本文件或数据存储在内存中就可以了。数据库确实有一些优势,比如结构化数据、文件锁定、原子性操作等等,但是会让软件变得沉重。
-- 《追求轻盈的软件》[51]
3、
轮胎与地面摩擦,会产生有毒的橡胶微粒,污染环境。研究发现,在美国,一辆普通汽车每年会损失5公斤的轮胎重量,大约相当于一只猫的体重。
-- 《车辆的橡胶污染正在进入水循环》[52]
4、
83.6%的浏览器具有唯一的指纹,可以被追踪。如果启用了 Flash 或 Java,这个比例可以上升到94.2%。
-- Mozilla[53]
5、
当年,微软规定的编码风格是,(变量名里面)2个或3个字母的缩写词必须全部大写,4个或4个以上字母的缩写词必须首字母大写。
-- Chris Wilson[54](前微软员工)回答为什么 XMLHttpRequest 会有如此奇葩的大小写组合。
6、
关于产品有两个令人不快的事实。
真相1:我们至少有一半的想法行不通。
真相2:即使是好主意,也要经过多次迭代才能变得可行。
-- eBay 创始团队成员马蒂·卡根[55](Marty Cagan)

回顾

2019年的本周(第 85 期):美国为什么不是乱哄哄?
2018年的本周(第 33 期):现场投票不如网络投票

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/1520
[3]
 Facebook: 
https://www.facebook.com/faroephoto/posts/3552793601465475
[4]
 一篇文章: 
https://www.collaborativefund.com/blog/save-like-a-pessimist-invest-like-an-optimist/
[5]
 利特伍德奇迹定律: 
https://en.wikipedia.org/wiki/Littlewood%27s_law
[6]
 极客时间: 
https://time.geekbang.org/
[7]
 自浇水土壤: 
https://news.utexas.edu/2020/11/02/self-watering-soil-could-transform-farming/
[8]
 不需要阳光的太阳能电池: 
https://www.fastcompany.com/90578605/these-solar-panels-dont-need-the-sun-to-produce-energy
[9]
 生产效率得分: 
https://twitter.com/WolfieChristl/status/1331236131447386115
[10]
 谁拥有最多的数据?: 
https://twitter.com/i/events/1332221189888954368
[11]
 胶囊办公室: 
https://soranews24.com/2020/11/13/from-capsule-hotel-to-capsule-office-a-visit-to-tokyos-newest-pandemic-work-solution/
[12]
 Firefox 浏览器: 
https://support.mozilla.org/en-US/kb/sponsor-privacy
[13]
 嫦娥5号: 
https://destevez.net/2020/11/a-look-at-change-5-telemetry/
[14]
 视频: 
http://www.r00t.cz/Sats/Change5
[15]
 华龙一号: 
http://www.nbd.com.cn/articles/2020-11-27/1557680.html
[16]
 一家美国创业公司: 
https://www.cabletread.com/
[17]
 民航客机为什么很少飞越喜马拉雅山?: 
https://zhuanlan.zhihu.com/p/299736409
[18]
 宝特瓶如何被回收利用: 
https://m.jiemian.com/article/5290631.html
[19]
 赔率是怎么回事?: 
https://computersciencealgorithms.wordpress.com/2020/11/22/exploiting-arbitrage-opportunities-in-betting-markets/
[20]
 Windows Linux 子系统 1 和 2 的区别: 
https://jmmv.dev/2020/11/wsl-lost-potential.html
[21]
 Let's Encrypt 的免费替代品: 
https://scotthelme.co.uk/introducing-another-free-ca-as-an-alternative-to-lets-encrypt/
[22]
 Ansible 入门: 
https://steampunk.si/blog/getting-started-with-ansible/
[23]
 Chrome 浏览器的 CSS 概览面板: 
https://umaar.com/dev-tips/240-css-overview-improved/
[24]
 我放弃 Serverless,改用 Ruby on Rails: 
https://frantic.im/back-to-rails
[25]
 Git 的空树: 
https://floatingoctothorpe.uk/2017/empty-trees-in-git.html
[26]
 如何构造一个引用自己的推文: 
https://oisinmoran.com/quinetweet
[27]
 Popper: 
https://popper.js.org/
[28]
 hutool: 
https://github.com/looly/hutool/
[29]
 Furion: 
https://monksoul.gitee.io/furion/
[30]
 @MonkSoul: 
https://github.com/ruanyf/weekly/issues/1522
[31]
 ChangeMenuBarColor: 
https://github.com/igorkulman/ChangeMenuBarColor
[32]
 Gather: 
https://gather.town/
[33]
 Notion Clone: 
https://github.com/konstantinmuenster/notion-clone
[34]
 Raindrop: 
https://raindrop.io/
[35]
 BundlePhobia: 
https://bundlephobia.com/
[36]https://bundlephobia.com/[email protected]
[37]
 Blades: 
https://www.getblades.org/
[38]
 profileio: 
https://github.com/acrlakshman/profileio
[39]
 Presenta: 
https://play.presenta.cc/
[40]
 psql 教程和备忘录: 
https://tomcam.github.io/postgres/
[41]
 150分钟学会 Perl 语言: 
https://qntm.org/perl_en
[42]
 2020年度 JS13K Games 竞赛: 
https://github.blog/2020-10-11-top-ten-games-from-the-js13k-2020-competition/
[43]
 机器学习工程: 
http://www.mlebook.com/
[44]
 窄键钢琴: 
http://paskpiano.org/about/
[45]
 2020年的100项最佳发明: 
https://time.com/collection/best-inventions-2020/
[46]
 心脏麻痹枪: 
https://historycollection.com/conspiracy-8-far-fetched-theories-turned-true/7/
[47]
 罗马万神殿: 
https://edition.cnn.com/style/article/pantheon-history-test-of-time/index.html
[48]
 CVS 的远程提交: 
https://increment.com/remote/committing-to-collaboration-version-control/
[49]
 我为什么不回中国高校: 
https://www.facebook.com/groups/2480163464/permalink/10159414054908465
[50]
 《亚马逊提供云 Mac 服务》: 
https://www.theregister.com/2020/12/02/aws_ec2_mac_pricing/
[51]
 《追求轻盈的软件》: 
https://www.arp242.net/stupid-light.html
[52]
 《车辆的橡胶污染正在进入水循环》: 
https://www.hakaimagazine.com/features/when-rubber-hits-the-road-and-washes-away/
[53]
 Mozilla: 
https://wiki.mozilla.org/Fingerprinting
[54]
 Chris Wilson: 
https://twitter.com/brendaneich/status/1316377408027594753
[55]
 eBay 创始团队成员马蒂·卡根: 
https://mgadams.com/the-founders-guide-to-actually-understanding-users-c68feaecac44
继续阅读
阅读原文