这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
封面图
丹麦的法罗群岛正在建设海底隧道,连接各个岛屿。上图是世界第一个海底交通圆环,三条隧道通向三个岛屿。该工程将在本月对外开放。(via:Facebook)
本周话题:利特伍德奇迹定律
这个星期,我读到一篇文章,谈怎么理财。
作者说,储蓄和投资的观念应该是相反的。储蓄要悲观,相信自己会遇到很多意外事件,所以要尽量多储蓄;投资则要乐观,相信这个社会一定会向前发展,经济不断增长,所以要积极投资。
他的理由很有意思,提到了利特伍德奇迹定律(Littlewood’s law of miracles)。
约翰·利特伍德是英国剑桥大学的数学教授,有一次开玩笑,他算出普通人平均35天会遇到一次奇迹。
推理过程是这样的,我们每天醒着并积极活动的时间,假定是8小时。这段时间的每一秒钟,你都会看到或听到外界发生的事件,那么一天大概会遭遇将近3万个事件,35天就是100万个事件。 所谓“奇迹”,可以理解成百万分之一的事件,因此平均来看,每35天你会遭遇一次奇迹。
有些奇迹对你有利,另一些对你不利。如果两者是一半一半,那么根据利特伍德奇迹定律,你每年大概会遇到5~6次比较严重的不利事件。这就是为什么说储蓄要悲观,因为你需要对不利事件有所准备。
另一方面,另一半的奇迹是有利事件,全世界有那么多人,总有人会因此发现困难问题的解法,做出技术改进,推动人类发展。这里的关键是, 科技进步具有累积效应,你可以利用别人的结果继续做出改进,而挫折和厄运没有累积效应, 你个人的不利事件(求职失败、婚姻破碎、感染疾病……)不会影响到其他人,所以人类社会才会在长期中,趋向于不断进步。
这就是文章开头观点的来历,如果奇迹是普遍事件,那么你就应该悲观地储蓄,乐观地投资。
IT 工程师技能图谱
学习一门新技术的时候,初学者最大的苦恼之一,大概就是不知道从何入手。
典型的情况是,你大概知道学会以后,这门技术可以帮你解决什么问题。但是,怎么才能学会、循序渐进的学习路线是什么、学习范围有多大的深度和广度、涉及到哪些前置知识……这些问题你就不太清楚了,只能根据别人推荐的或者网上看到的教程,先学了再说。
这时,一张技能图谱就能帮到你。它像脑图一样,列出主要的知识节点,并且按照学习的线索串起来,让你明白自己的学习路径,以及哪些地方需要查漏补缺。
国内知名的 IT 技术知识学习平台“极客时间”,在开设了近千门课程的基础上,整理出了24张不同领域的技能图谱,涵盖前端、后端、移动、运维、微服务、大数据、机器学习等热门领域,方便用户把相关的知识和技能串起来。
这些技能图都是精心制作的 PDF 格式大图,可以方便地查看和打印,下面就是 Python 技能图的局部范例。
这些技能图是极客时间为了方便用户,按照路线图和技能点自主学习而制作的。现在免费发送给这个周刊的读者。
只需要扫描下面的二维码,登记一下个人和团队信息(或在校生的院校信息),工作人员会在2个工作日内,将24张技能图谱一起发送到你填写的邮箱。
资讯
1、自浇水土壤
美国德克萨斯大学奥斯汀分校的研究人员,发明了一种自己浇水的土壤。它自动从空气吸收水分,将其分配给植物。这种土壤有可能将以前不宜耕作的地方也变成可耕地,并减少农业灌溉用水。
具体做法是,在土壤中加入一种类似于“超级海绵”的超吸湿凝胶,用来捕获空气中的水。白天,土壤温度上升时,凝胶释放出水,供植物吸收;夜晚,土壤温度下降时,凝胶会从空气中吸收水。这种土壤每克可提取约3-4克水。
太阳能电池的一大问题,就是阴天的发电效果很差,一位菲律宾大学生想出了解决办法。他在树脂玻璃中加入可以吸收紫外线的有机发光粒子,然后底下铺一层太阳能膜。
不管天气好坏,紫外线总是存在的,甚至夜间也有紫外线,差别只是程度的强弱。树脂玻璃里面的发光粒子,吸收了紫外线以后就会发光,从而让底层的太阳能膜发电。
一块0.5平方米的这种树脂玻璃,每天可产生足够的瓦数为两部手机充电。并且,这种材料的可塑性很好,可以做成任何平面或曲面形状,放在窗户、墙壁甚至衣服上。
3、生产效率得分
微软公司的线上 Office 服务 MicroSoft 365,最近推出了一个新功能“生产效率得分”,方便管理者查看员工的生产效率。
打开软件后台,可以看到每个用户的使用情况(上图),一共有73个指标,比如本周处理了多少文档、发出和阅读了多少 Email / 即时消息 / 内部讨论,同事之间的/外部的交流有多少等等。
页面顶部会生成一个得分,表示该员工的总体效率,满分是100%。如果你的得分是58%,就表示效率没有及格。
《日经新闻》最近做了一个研究,分析世界主要国家和地区的跨境数据流量,用来确定哪个国家拥有最多的数据量。研究发现,中国(包含香港)是世界的数据冠军,早在2014年就超过了美国,数据量几乎比美国大一倍,占了全世界数据总量的23%。
但是,这个研究有一些地方很奇怪,不符合常理,第三位是英国,数据量居然跟美国很接近,第五位新加坡更是一个小国。一个解释是,它可能把非本国的转口流量数据,也统计在内。
5、胶囊办公室
受疫情影响,日本许多胶囊旅馆鲜有人问津。东京新宿区的一家胶囊旅馆从远程办公中嗅得商机,将自己改造为胶囊办公室,为那些在疫情期间不能去办公室、又不想在家办公的人,提供安静的办公场所。
胶囊办公室有桌椅、窗帘、免费 WIFI、无线鼠标、打印机、空气净化机等,你要是愿意睡在这里也可以。每小时收费500日元(约合31.4元人民币),3小时1500日元,5小时2000日元,全天使用则只需3000日元。其实,这不失为程序员独立办公室的一个可行的解决方案。
6、一句话消息
- Firefox 浏览器的最新版,会在 URL 栏显示赞助商链接。这种“创新”估计是从中国浏览器受到启发。
- 华龙一号是中国自主知识产权的第三代核电机组,11月27日它的首个反应堆福建福清核电站5号机组并网发电,标志中国核电技术的重大进展。目前,后面还有12个“华龙一号”机组在建。
- 一家美国创业公司设计了一个自带电线收纳的电脑桌,带有各种电线收纳槽,获得了红点设计奖。
文章
1、民航客机为什么很少飞越喜马拉雅山?(中文)
喜马拉雅山脉上方,基本没有航线经过,飞机为什么不打那儿飞,节约飞行时间呢?虽然山脉较高,但民航飞机不是可以在10000米左右的高空巡航么?
2、宝特瓶如何被回收利用(中文)
饮料的宝特瓶(PET)可以回收利用,这已经成为一个3000亿元的产业。本文介绍国内宝特瓶回收行业的流程。
3、赔率是怎么回事?(英文)
新闻媒体经常报道各种赔率,这到底有什么含义?本文用美国这次总统选举来解释赔率,并用例子讲解如何在不同网站之间套利。
4、Windows Linux 子系统 1 和 2 的区别(英文)
Windows Linux 子系统(简称 WSL)使得 Windows 可以运行 Linux 程序,但是它有两个版本,并且同时都在开发,它们有什么区别?
简单说,WSL 1 是内核子系统,WSL 2 是 Linux 虚拟机。
5、Let’s Encrypt 的免费替代品(英文)
Let’s Encrypt 是主流的免费 SSL 证书生成工具,市场上还有一些其他工具也能生成免费证书,本文介绍 ZeroSSL。
6、Ansible 入门(英文)
Ansible 是自动化配置管理工具,本文介绍它的用法。
7、Chrome 浏览器的 CSS 概览面板(英文)
Chrome 浏览器引入了一项试验性功能,在开发者工具里面提供 CSS 样式表的概况统计。
8、我放弃 Serverless,改用 Ruby on Rails(英文)
作者原先使用 Serverless,感到有许多不满意的地方,就写了这篇文章解释为什么他要转到传统的 Ruby on Rails。
9、Git 的空树(英文)
任何一个 Git 仓库,都包含一个相同的对象(哈希为4b82...4904
),指向一个空树(empty tree),这是为什么?
10、如何构造一个引用自己的推文(英文)
作者介绍如何猜中推文的 ID,从而通过推特 API,构造出一条引用自己的推文。
工具
1、Popper
一个工具提示和弹出框的 JS 库。
2、hutool
一个小而全的 Java 工具类库,通过静态方法封装,并提供详细完整的中文文档和注释,使Java拥有函数式语言般的优雅。(@looly 投稿)
3、Furion
一个基于 .Net 5 的 Web 框架。(@MonkSoul 投稿)
改变 macOS Big Sur 系统菜单栏颜色的一个小工具。
5、Gather
一个基于浏览器的在线聚会空间,所有参与的用户显示在一张 2D 地图上,可以进行文字聊天和视频对话。
一个 Notion 的开源克隆,提供在线的笔记管理功能。
7、Raindrop
一个跨平台的网络书签管理器。
一个在线工具,分析 npm 软件包的体积和加载性能,比如 lodash@4.17.20 的体积是69.9kB,2G 网络下载需要0.81秒。
9、Blades
一个 Rust 语言写的静态网站生成器,速度极快,号称比 Hugo 快10倍。
10、profileio
一个 GitHub Actions 模板工具,用来生成个人简历页面和 PDF 文件。
11、Presenta
一个在线制作幻灯片演示的工具,只使用简单的 HTML 语法,就可以在线展示的幻灯片。
资源
psql 是 PostgreSQL 数据库的官方命令行客户端,本文是它的一篇简明教程。
2、150分钟学会 Perl 语言(英文)
这篇 Perl 教程写过那些不想读官方文档的人,目标是写得尽量短,但又不会太短,包括了足够的学习内容。
JS13K Games 竞赛要求使用 JavaScript 语言,写一个不超过 13KB 的 HTML5 游戏。一共有220多个作品参赛,这里是前10名。大家可以去玩一下,效果非常惊艳。
4、机器学习工程
机器学习工程(Machine Learning Engineering)这个词,是指使用软件工程原理和数据科学知识,构建机器学习模型。这本英文电子书是入门教程。
5、窄键钢琴
传统钢琴的键盘都是标准大小,比较适合手大的人。这个项目推动设立三种键盘尺寸的钢琴,适合不同的人。
《时代》杂志评选的今年100项最佳发明。
图片
1、心脏麻痹枪
1975年,中央情报局局长威廉·科尔比在美国国会,展示了一把心脏麻痹枪。
这把手枪的顶部有瞄准器,发射的不是子弹,而是飞镖。目标被射中后,皮肤会出现一个小红点,然后心脏麻痹死亡。尸体解剖查不出毒药,死亡原因会被认为是心脏病。
2、罗马万神殿
罗马万神殿是目前全世界还在使用的最古老建筑,建造于公元125年,距今约2000年。
今天,你走进这所建筑,抬头仰望巨大的圆顶,可能会跟2000年前的人有着相同的体验。麻省理工学院建筑学教授约翰·奥奇森多夫说:“你进入这个宏伟的空间,抬头仰望,通过天窗,看到天空或一朵朵乌云。你在想:’他们在大约两千年前如何做到这一点?”
万神殿的穹顶是一项工程壮举,中间有一个“眼睛”,直径超过9米,可以望见天空。太阳光从那里照进来,如果下雨,雨水就像瀑布一样落入室内。
文摘
1993年,吉姆·金登(Jim Kingdon)受聘在湾区的 Cygnus Solutions 公司担任程序员。
但是,金登不想搬到硅谷,想留在弗吉尼亚州工作,他的家在那里。那是1993年,还没有远程工作的概念。而且,最大的困难是公司使用 CVS 源码管理系统,这个系统只能在总部办公室提交源码。实际上,CVS 根本没有远程登录功能。
于是,金登做了任何一个计算机黑客都会做的事情:他自己将 CVS 改成客户端-服务器模式,可以远程提交代码。
Cygnus 是一家扎根于黑客文化的公司,对金登自己修掉软件工具没有任何意见。公司创始人也是程序员,他说:“有人说,‘我想修改源码,获得自己想要的生活’,这是完全合理的事情。”
金登的朋友吉姆·布兰迪(Jim Blandy)听说了这件事,他一直在寻找软件开发的远程协作方法,就把修改后的代码要了过去。
他发现,金登添加的代码不算太多,而且在他的计算机上也能运行。布兰迪就把这些修改提交给了 CVS 官方,并且说服维护者将其加入发行版。
金登对 CVS 的更改,就这样开创了软件协同开发的新时代。几年之内,这个功能大受欢迎,CVS 就成为了行业标准。
不少朋友问我为什么不完全回国, 在美国有天花板, 回国可以自由发展。
其实,我在2002年-2004年曾经回国过,但过了两年我就吃不消了, 我发现我在国内无法高效工作,在美国反而非常轻松愉快。当然了, 十年过去了, 中国的大学改进了很多, 但基本还是老样子。
上海的公司还好,毕竟国际公司,和美国差不多。 但国内的大学里非常难混, 大家不是以培养学生和发展科学学术技术为目的, 而是以形象工程、评比、拿奖、文章、上报、宣传、政绩、排名为目的, 根本无法静下心来做学术研究。当然了, 如果你有厉害的学生, 出文章也是不难的。 但厉害的学生有几个?
回国后, 前六个月敲锣打鼓, 后六个月任务满满, 第二年如果没有帮学院上几个台阶的话, 马上风言风语来了:估计他在美国混不下去才回国的, 难怪不怎么样!
再说了,没钱没权回国你以为就是一等公民?没有天花板? 做梦!我太了解国内的大学,政府机构和大公司了。在大学里, 如果你不是在国外很有成就的人,回国先把你灭了再说。
短期回国为人民服务最好,周围同事们会说:“还是卢老师厉害, 在美国混的很好, 经济条件也很好,不用完全回来。”
所以, 兄弟姐妹们,国内不好混啊! 我反正已退休。
以上是个人经历教训, 仅供参考。
言论
1、
亚马逊云服务开始提供 macOS 实例,底层是 M1 芯片的 Mac mini。价格不便宜,每小时1.083美元,相当于每天25.99美元。这意味着,如果你的使用时间多于77天,那就不如自己买一台 Mac mini 了(价格1999美元)。
2、
如果数据不多,最好避免使用数据库,纯文本文件或数据存储在内存中就可以了。数据库确实有一些优势,比如结构化数据、文件锁定、原子性操作等等,但是会让软件变得沉重。
3、
轮胎与地面摩擦,会产生有毒的橡胶微粒,污染环境。研究发现,在美国,一辆普通汽车每年会损失5公斤的轮胎重量,大约相当于一只猫的体重。
4、
83.6%的浏览器具有唯一的指纹,可以被追踪。如果启用了 Flash 或 Java,这个比例可以上升到94.2%。
— Mozilla
5、
当年,微软规定的编码风格是,(变量名里面)2个或3个字母的缩写词必须全部大写,4个或4个以上字母的缩写词必须首字母大写。
— Chris Wilson(前微软员工)回答为什么 XMLHttpRequest 会有如此奇葩的大小写组合。
6、
关于产品有两个令人不快的事实。
真相1:我们至少有一半的想法行不通。
真相2:即使是好主意,也要经过多次迭代才能变得可行。
— eBay 创始团队成员马蒂·卡根(Marty Cagan)
回顾
2019年的本周(第 85 期):美国为什么不是乱哄哄?
2018年的本周(第 33 期):现场投票不如网络投票
订阅
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。
(完)