X

科技爱好者周刊:第 102 期

这里记录每周值得分享的科技内容,周五发布。

本杂志开源(GitHub: ruanyf/weekly[1]),欢迎提交 issue,投稿或推荐你的项目。

周刊讨论区的帖子《谁在招人?》[2],提供大量就业信息,欢迎访问或发布工作/实习岗位。

封面

3月26日,位于武汉的东风日产汽车厂复工,员工午餐保持距离。(法新社)

本周观点:工作热情从何而来?

BBC 报道[3],一位新加坡心理学家发明了《工作热情测量表》,可以测量一个人对自己的工作有多大的热情。

工作热情很重要, 如果没有热情,干什么都不会出色。特朗普就说过:“没有热情,你就没有能量。没有能量,你什么都没有。”

工作热情有很多来源:经济收入、职业前景、社会荣誉……据说,《工作热情测量表》可以测量这些诱因,对你的刺激有多大。

我有一个简单的方法,根本不需要什么心理测试,就能知道你最有工作热情的事情是什么。

你只需要问自己一个问题:即使没有报酬,你也会去干的工作是什么?如果一种工作根本得不到报酬,你也愿意去做,这就是你最喜欢、最有热情的事情,千万要珍惜。

JK.罗琳写《哈利波特》第一卷时,根本不知道能否出版,她就是有写的冲动,每天去咖啡馆的角落写到天黑。理查德·斯托曼是 GCC 和 Emacs 的作者,写完以后就把代码开源了,所有人都可以免费用,尽管那时他还没地方住,只能睡在办公室里面。

他们的工作热情之高,已经不需要金钱激励了。我就是想去做,管它有没有报酬。 我们要的就是这样一种工作状态,热情不是来自外部的激励,而是来自内在的自我实现的需要,这比外部激励强大得多。很多最优秀的作品,都是这样产生的。

如果你有这样的工作,得不到一分钱,依然有强烈的冲动去做。那么恭喜你,已经找到了自己最有工作热情的事情。你根本不需要《工作热情测量表》,那张表测量出来的热情值,跟我们内心的追求比起来,都不值一提。在自己热情最高的领域,你做出优秀成果的可能性,将远大于那些需要测量表的领域。

每个人心中都有一个火种,不要听任它熄灭,要找到它,点燃它。

Webpack 免费视频

本周的课程资料是来自“开课吧”的《深入理解 Webpack》。

Webpack 这个软件库,几乎所有现在的大型前端项目都会用到,React 和 Vue 都需要它来打包模块。而且不止是前端项目,还有小程序、React Native、Electron 也用到它。

我想大部分人都已经用过 Webpack,或者你的脚手架工具内置了。但是,很少有人愿意搞懂它,只是按照文档操作,毕竟它的配置比较多,也不好懂。这样的一个后果就是,遇到打包报错就束手无策了,不知如何排查。提高性能更是无从谈起。

下面的这份免费视频会先讲述一个 Webpack 的打包流程,以及 AST (抽象语法树)的基础知识,并分析模块之间依赖图谱,最后再带大家动手自己实现一个简易的 Webpack。

以上视频资料由 开课吧独家提供。

开课吧是行业首家集齐百度、滴滴、阿里、微软等 IT 大厂资源的泛互联网人新职业教育品牌,将互联网技术领域的一线实战项目根植于教学内容之中,助力学员的能力提升,并无缝衔接大厂用人需求。

资讯

1、远程毕业典礼[4]

疫情期间,位于日本东京的创业者商学院在一家酒店,举行了远程毕业典礼。学生不到现场,而是在家操作机器人。机器人的“面孔”是平板电脑,通过摄像头,实时显示毕业生的面孔。

主持人宣布开始领取毕业证书,学生就远程操作机器人朝着主席台“走去”,从校长大前研一手里拿到毕业证书,工作人员鼓掌说:“恭喜!”。校长将文凭放在机器人手中,然后合影留念。

2、鲸鲨的确切年龄[5]

鲸鲨是地球上最大的鲨鱼,长约18m,平均重约20吨,身上有易于识别的白色斑点。澳大利亚科学家最近找到了一种方法,测量鲸鲨的确切年龄。

20世纪40年代后期开始,美国、苏联等国进行了多次原子弹测试。这些核爆炸的一个副作用,就是使得大气层中的碳-14同位素含量翻倍了。地球上的所有生物都通过空气,吸收了这种碳-14。由于存在半衰期,这种同位素会随着时间而减少,因此生物年龄越大,体内能够找到的碳-14就越少。

科学家通过分析死去的鲸鲨椎骨标本,发现这种动物的寿命非常长,可能高达100-150岁。

3、寻找 COBOL 程序员[6]

纽约州州长在电视上,公开征集 COBOL 程序员。该州的失业保险系统,就是使用 COBOL 开发的,已经超过40年的历史。最近,美国失业人数激增(超过700万人),该系统不堪重负,反应速度极慢,每个操作要等很长时间,让人担心它随时会崩溃。

COBOL 语言诞生于1970年代,当时有很多金融机构和政府部门使用这种语言,开发了很多关键系统。后来,COBOL 逐渐没落,懂得它的程序员越来越少。但是基于它的系统,由于风险和成本的关系,一直运行至今,始终没有升级。

4、人类设计的活体生命[7]

美国科学家从青蛙胚胎(上图)里面提取细胞,然后根据计算机模型得到的结果,将这些细胞组合在一起,创造出世界第一种“可编程的生物”(下图)。

这些生命形式没有性器官,也没有胃,脑或神经系统,只是一个由大约2000个活着的细胞组成的生命体。科学家将它们聚合在一起,成为活的生物。根据非洲爪蛙的名字 Xenopus laevis,它们被命名为 Xenobots,即青蛙细胞机器人。这些生命体以蛋黄为食,只能存活约一周。

5、隔离的贫富分化[8]

《纽约时报》分析了智能手机的位置数据, 发现美国收入最高的地区和贫困地区,最近都出现了人们外出活动的下降。但是,高收入地区的活动减少出现得更早,并且程度更深。也就是说,穷人更少待在家里,外出更多。

上图是活动下降的曲线图,蓝色是富裕地区,黄色是贫困地区。可以看到,蓝色比黄色早三天进入隔离,并且隔离程度更深。

6、一句话消息

•意大利[9]的 COVID-19 死亡率非常高,但是全体人口的死亡率(包括各种死因)仍然很正常,甚至低于历年的平均水平。

•美国宇航局[10]宣布,正在研究在月球背面的陨石坑,建设一个射电望远镜的可能性。由于陨石坑都非常巨大,这样的望远镜直径可能会超过5公里。

•深圳一家创业公司[11]开始使用无人车,在园区内进行送货和喷洒消毒液。该车使用激光雷达进行道路识别,如果遇到无法判断的情况,就会传回控制中心,接受远程遥控。

•Cloudflare[12]宣布。由于谷歌的 reCAPTCHA 服务开始收费,经过评估会切换到 hCAPTCHA 。令人不解的是,新的测试还是图片识别挑战,没有改成 Geetest 那种滑块挑战。我觉得,滑块明明对用户更友好。

•Facebook[13]同意支付5.5亿美元,赔偿伊利诺伊州用户。原因是 Facebook 未经该州数百万用户的许可,从他们的照片中收集面部数据。

•美国餐饮业[14]2019年的总收入是8630亿美元,相比之下,全球软件业的总收入是4670亿美元。

文章

1、我如何破解比特币钱包的密码?[15](英文)

有人多年前购买了比特币,但是忘记了钱包的密码。理论上,这些比特币无法找回。他不甘心,找到了一个密码学家,愿意支付10万美元,破解钱包的密码。文章有一点难度,但是值得一读。

2、以逗号开头的自定义命令[16](英文)

作者提出,Linux 系统的自定义命令都以逗号开头。这样查询会非常方便,先输入逗号,然后按下 Tab 键,所有自定义命令就会显示。

3、Netflix 如何变成一家流媒体公司[17](英文)

Netflix 原来是一家 DVD 碟片的租借公司,用户在网站下单后,就把 DVD 寄到用户家里(上图)。本文介绍他们是怎么变成一家视频点播的流媒体公司,非常精彩的故事。

4、如何使用 Wireguard?[18](英文)

Wireguard 最近进入了 Linux 内核,本文详细介绍它的安装使用步骤。

5、CLUI:命令行 UI[19]

命令行界面CLI对新手不友好,必须看手册才会用。图形界面GUI不适合功能多的软件,而且效率低。

有人就提出了一种将两者优点结合的界面 CLUI(命令行 UI):命令行下显示图形提示框。

6、AWS 如何添加用户[20](英文)

这篇文章教你入门亚马逊网络服务 AWS,最基本的一步,新增一个管理员用户。这里还有一篇类似的文章[21],介绍如何使用 IAM 服务新增 AWS 用户。

7、如何对 Array.forEach 使用 async 函数[22](英文)

JavaScript 语言中,如果要通过 Array.forEach 方法,对数组的每个成员进行异步操作,使用 async 函数可能不会达到你的目的。本文介绍了如何使用 Array.reduce 方法保证对每个成员进行继发操作。

8、Rome,一个新的 JavaScript 工具库[23](英文)

Babel 创始人的新作品,把 JS 的主要工具都包括在一个库里。不需要 webpack、eslint、prettier、babel ,它都提供了。

它的核心思想是,把基于AST(抽象语法树)的所有功能都统一起来,不要每个工具自己做一次AST解析。

工具

1、Messenger 桌面版[24]

脸书宣布,为了适应激增的通话量,通信软件 Messenger 推出桌面版,提供免费的无限量多人视频聊天。上面是 Windows 版的下载链接,Mac 版下载在这里[25]。

2、Slient Down[26]

一个监控服务器是否在线的服务,非付费用户可以监控5台服务器,每5分钟检查一次。如果宕机,就会通过邮件或其他途径通知用户。

3、Desktop Info[27]

一个 Windows 小工具,可以在桌面显示系统信息,内容可以定制。

4、lossless-cut[28]

一个开源项目,为视频工具库 ffmpeg 开发一个图形界面 GUI。

5、DeepL[29]

一家创业公司推出的机器翻译引擎,据称比谷歌翻译得更好。(@ketra21[30]投稿)

6、plausible[31]

一个 Google Analytics 的开源替代品,可以自己架设网站访问统计。特点是轻量级,结构简单

7、apioak[32]

一个开源的国产 API 网关,可以作为前后端之间的映射层。基于 OpenResty,性能好,功能强。(@shuaijinchao[33]投稿)

8、like-mysql[34]

一个 Node.js 库,MySQL 数据库的 ORM 映射层,使用很简便,但是功能也比较少。

9、esbuild[35]

一个用 Go 语言写的 JS 脚本打包工具,根据作者提供的数据,打包时间仅仅是 Webpack 的几十分之一。

10、plink-plonk.js[36]

作者提供一段 JS 代码,只要插在网页里面,可以让 DOM 变动发出声音。如果 DOM 有改变,你就会听到声音。

资源

1、Pluralsight[37]

Pluralsight 宣布四月份对用户免费,网站上面 7000 多门视频课都可以免费听。它家的 C# 课程很有名,最近 Python、JS、Java、Devops 课程也添加了不少。

2、3D 打印口罩[38]

该网站提供一个开源的口罩方案,本质是一个带在脸上的空气过滤器,可以 3D 打印。过滤层采用空气过滤器的 HEPA 材料。

3、哺乳动物树[39]

一个数据可视化作品,根据5,911种动物的种属,将它们画成一棵倒金字塔型的树,可以连续放大查看。

4、简单粗暴 TensorFlow 2[40]

这是一本简明的 TensorFlow 2 入门指导手册的中文版翻译,力图让具备一定机器学习及 Python 基础的开发者们快速上手 TensorFlow 2。(@ketra21[41]投稿)

5、大圣盘[42]

一个百度网盘资源搜索引擎,由网络爬虫自动抓取。(@ketra21[43]投稿)

图片

1、世界最陡峭的街道[44]

2019年以前,新西兰但尼丁市的鲍德温街,是世界最陡的住宅区街道。它长350米,坡度为35度。

2019年,英国威尔士有一条新的街道超过了它,坡度达到37.5度。但尼丁市长称,会考虑将鲍德温街标牌文字,从世界上最陡峭的街道改为南半球最陡峭的街道。

2、什么是重力波?[45]

爱因斯坦在1916年提出“重力波”,在一百年后终于被侦测到。

重力波的简单想像方式是,你有一张拉平的床单,床单上画着标准的方型格线。接着想像你放了一个重物在床单上,例如保龄球。保龄球的质量造成床单凹陷。

当物体在床单上移动(想像一颗弹珠从一侧滚到另一侧),如果物体太靠近保龄球就会偏移。想像拿着保龄球在床单上上下移动,如果这样做的话,不难看见床单上往外传播的涟漪,这就是重力波。重力波的涟漪造成时间和空间扭曲。

文摘

1、我们不是一家人[46]

Netflix 公司的 CEO 海斯汀(Reed Hastings)2009年曾经发表过一份公开信,对于Netflix 强悍的工作文化有很多惊世骇俗的语句。其中最有名的一句话就是“我们不是一家人”(We Are Not Family)。

根据 Glassdoor 统计,Netflix 资深工程师薪资平均比 Google 高60%。如果上Teamblind 搜寻一下,你可以看到 Netflix 有人年薪高达40万美元,甚至有50万的。年薪40万在美国,是跟总统一样的薪水。

天下没有白高的薪水。Netflix 只要成功的人,而且要年复一年永远不停成功的人。Netflix雇人的价值观是:一个A咖比两个B咖便宜,所以他们只要A咖中的A咖。

高报酬的背后就是高压。这家公司培养出一种非常特殊的雇佣兵文化,他们不要忠诚,只要能够作战的英雄。

海斯汀开宗明义地说,家人有无限的爱与包容,家人必须一再容忍错误与失败。Netflix 不会把你当家人。这里的团队只有一个任务,那就是把每个人都推往不可能的极限。这里没有包容,做不到就会被取代。

• 我们不提供寿司、葡萄酒。你是来作战,不是来开趴的。

• 我们不看工作多努力或工时多长,我们只看战果。

• 我们只要A咖,给的也是A咖的回报。

• 如果你是B咖,即使是A咖的努力,我们还是会请你离开。

• 我们不要忠诚,只要成功。

• 如果你只想找一份安稳的工作,那请你现在就离开。

• 我们要的是自发、自律的战将。我们不教你怎么作战,也没时间教你如何生存。

• 公司没有流程和法则。我们抛弃所有的繁文缛节。繁文缛节只适合管理笨蛋用。

• 我们不追踪工时,只追踪进度。

• 出差、餐饮、及公务报销都不需要收据。要报多少自行决定。

• 我们给你全部的自由,但你也必须背负全部的责任。

• 我们付你无与伦比的报酬,不管盈亏都一样。报酬是看战果,不是看年资。

• 如果你打算留下来,那只是为了成就和金钱,不需要其他任何理由。

• 我们只告诉你目标,不会告诉你如何达成。

• 我们只要超级英雄。

2、美国的石油储备[47]

自1977年以来,美国能源部在路易斯安那州和德克萨斯州沿海地区,收购了62个巨大的盐洞,用于储存原油。

这些盐洞是在地下的盐层中钻井,然后注入淡水来溶解盐而形成的。矿业公司将溶解的盐抽回地面,此过程称为溶液开采,可产生尺寸非常精确的洞穴。平均每个洞穴可以放置1000万桶石油。

这些地下洞穴用来储存石油,实际上是非常安全的。一方面,由于它们位于600米~1公里深的地下,那里极高的压力可防止形成裂缝,所以不会出现泄漏。此外,每个洞穴顶部和底部之间的自然温差会促使原油循环流动,从而保持其品质。

如果要从一个洞穴中回收原油,只需泵水到它的底部。由于油会漂浮在水上,因此原油就会上升到地表。而且,由于这些洞穴靠近墨西哥湾,有现存的石油运输管道,也方便装入船中运走。

目前,整个美国石油储备为7.27亿桶,按照2070万桶的能源需求,可以满足35天。如果储存增长达到10亿桶,将延长至48天。

言论与数字

1、

我会购买华为作为下一部手机,以避免使用谷歌的服务。

-- HN 读者[48]

2、

对我来说,英语是比 C 或 Java 更难写的语言。

-- 《解释器开发》的写作感受[49]

3、

《牛津英语词典》从“A”编到“ant”花了10年,剩下的部分又花了60年才编完。

-- 《牛津英语词典如何诞生》[50]

4、

病毒的全球大流行,证明了国家之间的相互依存关系,希望这件事不会造成这种关系的终结。

-- 《冠状病毒将留给我们什么》[51]

5、

我通过删除 WordPress 的 Mailchimp 插件中 20 KB 的 JavaScript 依赖关系,每月估计减少了59,000 公斤的二氧化碳排放量。

-- 《互联网的二氧化碳排放量》[52]

6、

我辍学当程序员的第一年,收入就比父亲职业生涯最高峰时只少了4,000美元。我的父母养育七个孩子的年收入,比我职业生涯初期的收入少,想到这一点我就很不舒服。

这对我来说是重要的时刻,我意识到金钱提供了许多人可能从未经历过的机会:国际旅行、假期、以及我们可能不需要但肯定想要的其他东西。

-- 《足够金钱的好处》[53]

去年的本周:《周刊第 51 期》

References

[1]ruanyf/weekly:https://github.com/ruanyf/weekly

[2]《谁在招人?》:https://github.com/ruanyf/weekly/issues/1148

[3]报道:https://www.bbc.com/worklife/article/20200306-the-surprising-truth-about-finding-your-passion-at-work

[4]远程毕业典礼:https://www.sohu.com/a/385137145_161795

[5]鲸鲨的确切年龄:https://www.bbc.com/news/science-environment-52155008

[6]寻找 COBOL 程序员:https://www.northjersey.com/story/news/new-jersey/2020/04/04/coronavirus-nj-40-year-old-system-adds-delay-unemployment-checks/2944985001/

[7]人类设计的活体生命:https://www.nytimes.com/2020/04/03/science/xenobots-robots-frogs-xenopus.html

[8]隔离的贫富分化:https://www.nytimes.com/interactive/2020/04/03/us/coronavirus-stay-home-rich-poor.html

[9]意大利:https://swprs.org/a-swiss-doctor-on-covid-19/

[10]美国宇航局:https://twitter.com/DMOberhaus/status/1247607588319100936

[11]深圳一家创业公司:https://spectrum.ieee.org/automaton/transportation/self-driving/robot-vehicles-make-contactless-deliveries-amid-coronavirus-quarantine

[12]Cloudflare:https://blog.cloudflare.com/moving-from-recaptcha-to-hcaptcha/

[13]Facebook:https://www.nytimes.com/2020/01/29/technology/facebook-privacy-lawsuit-earnings.html

[14]美国餐饮业:https://news.ycombinator.com/item?id=22152680

[15]我如何破解比特币钱包的密码?:https://reperiendi.wordpress.com/2020/04/03/how-i-recovered-over-300k-of-bitcoin/

[16]以逗号开头的自定义命令:https://rhodesmill.org/brandon/2009/commands-with-comma/

[17]Netflix 如何变成一家流媒体公司:https://www.fastcompany.com/3004709/inside-netflixs-project-griffin-forgotten-history-roku-under-reed-hastings

[18]如何使用 Wireguard?:https://miguelmota.com/blog/getting-started-with-wireguard/

[19]CLUI:命令行 UI:https://blog.repl.it/clui

[20]AWS 如何添加用户:https://ncona.com/2020/03/introduction-to-aws-cli/

[21]类似的文章:https://devops.novalagung.com/en/aws-create-individual-iam-user.html

[22]如何对 Array.forEach 使用 async 函数:https://advancedweb.hu/how-to-use-async-functions-with-array-foreach-in-javascript/

[23]Rome,一个新的 JavaScript 工具库:https://jasonformat.com/rome-javascript-toolchain/

[24]Messenger 桌面版:https://www.microsoft.com/en-us/p/messenger/9wzdncrf0083#activetab=pivot:overviewtab

[25]这里:https://apps.apple.com/us/app/messenger/id1480068668

[26]Slient Down:https://silentdown.com/

[27]Desktop Info:https://www.glenn.delahoy.com/desktopinfo/

[28]lossless-cut:https://github.com/mifi/lossless-cut

[29]DeepL:https://www.deepl.com/translator

[30]ketra21:https://github.com/ruanyf/weekly/issues/1169

[31]plausible:https://github.com/plausible-insights/plausible

[32]apioak:https://github.com/apioak/apioak/blob/master/README_CN.md

[33]shuaijinchao:https://github.com/ruanyf/weekly/issues/1173

[34]like-mysql:https://github.com/LuKks/like-mysql

[35]esbuild:https://github.com/evanw/esbuild/

[36]plink-plonk.js:https://gist.github.com/tomhicks/6cb5e827723c4eaef638bf9f7686d2d8

[37]Pluralsight:https://www.pluralsight.com/

[38]3D 打印口罩:https://www.makermask.com/

[39]哺乳动物树:http://vertlife.org/data/mammals/

[40]简单粗暴 TensorFlow 2:https://tf.wiki/

[41]ketra21:https://github.com/ruanyf/weekly/issues/1164

[42]大圣盘:https://www.dashengpan.com/

[43]ketra21:https://github.com/ruanyf/weekly/issues/1174

[44]世界最陡峭的街道:https://en.wikipedia.org/wiki/Baldwin_Street

[45]什么是重力波?:https://www.facebook.com/natgeomedia/posts/1571121353051484

[46]我们不是一家人:https://tw.appledaily.com/property/20200223/JWWUCXVVLE5XNSUJE7A7LHBHMM/

[47]美国的石油储备:https://science.howstuffworks.com/environmental/energy/strategic-petroleum-reserve1.htm

[48]HN 读者:https://news.ycombinator.com/item?id=22778316

[49]《解释器开发》的写作感受:http://journal.stuffwithstuff.com/2020/04/05/crafting-crafting-interpreters/

[50]《牛津英语词典如何诞生》:https://www.abc.net.au/news/2020-04-09/history-of-the-oxford-english-dictionary/12010628

[51]《冠状病毒将留给我们什么》:https://medium.com/@farainechikwiranechz/what-the-coronavirus-will-leave-on-us-8ea4d540005f

[52]《互联网的二氧化碳排放量》:https://dannyvankooten.com/website-carbon-emissions/

[53]《足够金钱的好处》:https://dragonquest64.blogspot.com/2020/02/having-fu-career.html