# 每周分享第 51 期

这里记录过去一周，我看到的值得分享的东西，每周五发布。

欢迎投稿，或推荐你自己的项目，请前往 GitHub 的 [ruanyf/weekly](https://github.com/ruanyf/weekly) 提交 issue。

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041201.jpg)

[一个程序员](https://geoff.greer.fm/2017/01/23/oldest-viable-laptop/)的 MacBook 送修了，他只好重新使用10年前的笔记本电脑（上图）。结果意外地发现，虽然有点慢，但是不影响使用。10年前的电脑依然能够满足日常工作。

如果2009年的时候，让你去使用1999年的电脑，那是不可想象的，根本没有实用性。但是，2019年的时候，去使用2009年的电脑，却是完全可行的。

这说明，过去十年的硬件进展不太大，导致10年前的硬件不是那么过时。过去十年，进展主要体现在软件上面：软件功能更强大、使用更友好、界面更美观。

经济有一个定理，叫做“边际收益递减”，意思是，发展到比较成熟的阶段以后，以后每一步的进展会越来越小。硬件就是如此，摩尔定理到了尽头以后，就已经开始慢下来了。我估计，硬件之后就是软件，随着软件开发技术的成熟，以后软件的进展也会放缓，总有一天，我们使用十年以前的软件，也会觉得还可以接受，当然现在还没到这一步。

软件之后的发展重点，我认为将是算法和数据，以后的进步更多会体现在算法优化和数据训练上面。

## 新闻

1、[程序员的专用座椅](https://coderthrones.com/)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041202.jpg)

美国一家创业公司推出了程序员专用座椅，可以躺着使用三块屏幕，还有按摩功能，可以一边敲代码，一边按摩。由于这个椅子可以140度斜躺，还有脚凳和椅灯，所以也可以在上面睡觉。它的售价是3600美元。

2、[世界上最短的高速公路](https://www.bbc.com/news/world-europe-47582694)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041203.jpg)

世界最短的高速公路就在罗马尼亚，长度为1米。当地的一个快餐店老板自费4500欧元，建造了这条1米的四车道高速公路。他是为了抗议政府忽视公路建设，“他们说这个地区不适合建设高速公路，我就造1米给他们看看。”罗马尼亚的面积与英国相当，但是高速公路只有806公里，大约是英国五分之一。

3、[海上隔离](https://www.businessinsider.com/us-navy-ship-has-been-quarantined-for-2-months-due-to-virus-outbreak-2019-3)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041204.jpg)

美国海军军舰麦克亨利号（US McHenry）在波斯湾执行任务时，全舰700多名官兵中有25人感染了腮腺炎。结果，全舰就被隔离在海上，整整两个月不得靠岸，所有人都没法下船，补给由其他船只运送过来。看上去，以后对于那些高传染性的疾病，海上隔离似乎是一个可行的方案。

4、[发光滑雪板](https://www.facebook.com/GilsonSnow/photos/a.512500455452837/2107162842653249/?type=3)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041205.jpg)

美国一家公司推出了会发光的滑雪板，售价500美元。不过，该公司没说，这是白天用的，还是夜晚用的。如果是夜晚使用，是为了观众能看清楚滑雪的轨迹吗？

5、[刷脸乘地铁](https://www.scmp.com/tech/innovation/article/3001306/you-can-soon-pay-your-subway-ride-scanning-your-face-china)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041206.jpg)

3月8日，深圳地铁公司在福田站，开通了“刷脸乘地铁”的测试通道。乘客可以先在地铁公司登记，然后进站时，不需任何动作，只需将脸正对一个平板电脑的摄像头，就能刷脸扣款。目前还不知道，该服务何时会在深圳地铁的其他站点使用。

6、[柔软的机器手](https://www.theverge.com/2019/3/14/18259883/soft-robot-origami-gripper-mit-csail-daniela-rus)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041207.jpg)

机器手臂通常都是钢铁材质，牢牢抓取物体的时候，很容易造成物体损伤。为了解决这个问题，麻省理工学院的科学家发明了柔软的机器手。它是一个橡胶做的套子，可以像花朵一样打开和关闭。

当它套住物体的时候，会泵出里面的气体，通过气密性，使得大气压将套子牢牢压在物体上面，从而能够在不损伤物体的情况下，拾取精细的物品。它能够抓起自身重量100倍的物体。

7、[雨伞发电](https://physicsworld.com/a/waterproof-fabric-harvests-energy-from-raindrops/)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041208.jpg)

台湾和美国的科学家研发出一种可以发电的雨伞。这种雨伞利用雨和风与伞面产生的摩擦电能，进行发电。伞和雨衣上的纳米发电机可以收集水滴的冲击能量，将其转化为电能。

这种面料可用于开发自供电的照明雨具，以帮助防止雨天发生交通事故。在125毫升/秒的降雨量下，纳米发电机在5分钟内将 1μF 电容充电至 9V 左右。重复洗涤也不会降低这种面料的性能。

8、[环卫工人的手环](https://www.theverge.com/2019/4/6/18298562/these-chinese-sanitation-workers-have-to-wear-location-tracking-bracelets-now)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041209.jpg)

有消息称，南京市河西区的环卫工人被要求佩戴 GPS 跟踪智能手环，这会随时监控他们的位置，而且如果他们停止移动超过20分钟，手环就会发出提醒“请继续工作”。

报道披露后，公众压力使得当地环卫公司决定稍微让步，现在如果环卫工人留在一个地方，手环不再发出提醒“请继续工作”，但仍然会跟踪工人的移动。

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041210.jpg)

9、[787 飞机的 GPS 授时错误](https://twitter.com/ChinaAvReview/status/1114802018919411712)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041211.jpg)

GPS 卫星发送的信息包含时间字段，其中表示“周数”的字段只有10个二进制位，导致该字段每20年会发生一次溢出，自动归零。2019年4月6日，该字段就发生了本世纪第一次溢出。

所有依赖 GPS 授时的设备，都可能因此发生计时错误。波音公司的喷气式飞机就是这样，现在已经出现多架 787 客机的系统时间回到了20年前的1999年（上图红框处）。

10、**一句话新闻**

* [华纳音乐](https://consequenceofsound.net/2019/03/endel-alogrithm-major-label-deal/)签约了一个音乐算法，将发行该算法生成的五张唱片。它主要生成轻音乐，供睡前播放，[itunes](https://itunes.apple.com/us/album/sleep-clear-night/1449049505?app=music) 上面有试听。

* [IBM 公司](https://www.mercurynews.com/2019/03/27/ibm-purged-gray-hairs-and-old-heads-as-it-launched-millennial-corps-lawsuit/)在过去6年中，已经解雇了超过2万名40岁以上的美国员工。报道称，该公司有内部政策，更严厉地评估长期服务的员工，使用负面评估对他们进行裁员。

* [人的大脑](https://medicalxpress.com/news/2019-03-approximately-megabytes-language-brain.html)保存的信息，研究认为，以英语表示的话大约是 1.5MB。

* [英国和加拿大](http://www.asahi.com/ajw/articles/AJ201903280066.html)决定，不再新建任何燃煤电厂，现有的燃煤电厂也将逐步放弃。因为燃煤会产生大量二氧化碳。

## 文章

1、[刘慈欣：释放想象力](http://cn.chinadaily.com.cn/2018-11/12/content_37243853.htm)（中英对照）

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041212.jpg)

2018年11月，刘慈欣在克拉克想象力服务社会奖颁奖仪式上的演说。

2、[Java 开发者需要知道的20个库](https://javarevisited.blogspot.com/2018/01/top-20-libraries-and-apis-for-java-programmers.html)（英文）

本文介绍 Java 语言20个常用的库，比如 log4j、JUnit、JSoup 等。

3、[与死亡一线之隔的完美](https://vocus.cc/bass/5c7390b4fd89780001d30d79)（中文）

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041213.jpg)

Free Solo 是一部《国家地理》杂志拍摄的纪录片，讲述了徒手独攀优胜美地國家公園內、全世界最難攀爬的酋长岩的故事。它得到了 2019奧斯卡最佳紀錄片獎。本文讲述了这部纪录片背后的故事，为什么有人愿意冒着生命危险去攀岩，他又是怎么爬上去的。

4、[再见 Docker](https://technodrone.blogspot.com/2019/02/goodbye-docker-and-thanks-for-all-fish.html)（英文）

作者认为，Docker 作为一家公司已经失败，作为一种技术，也即将被其他容器技术取代。

5、[关于 EOF](https://latedev.wordpress.com/2012/12/04/all-about-eof/)（英文）

EOF 是一个很容易混淆的概念。Windows 系统的文本文件，结尾可以有 EOF 终止符；C / C++ 语言有一个表示读取终止的特殊值 EOF，还有测试读取是否终止的 `eof()` 和 `feof()` 函数。

6、[使用 AV1 编解码器](https://evilmartians.com/chronicles/better-web-video-with-av1-codec)（英文）

AV1 是一个新的开源的视频编码和解码标准，本文介绍 AV1 的基本知识，以及如何把视频压缩成 av1 格式。

7、[无 JavaScript 的前端](https://dev.to/winduptoy/a-javascript-free-frontend-2d3e)（英文）

作者呼吁 HTML 语言内置更多的功能，从而使得只用 HTML 就可以写出可交互的页面，减少 JavaScript 的使用。

8、[线程的基本知识](https://www.internalpointers.com/post/gentle-introduction-multithreading)（英文）

一篇写得非常好的科普文章，通俗地详尽解释了进程和线程的相关知识。

9、[如何使用 React Hooks 获取数据？](https://www.robinwieruch.de/react-hooks-fetch-data/)（英文）

本文由浅入深一步步介绍，如何使用 React Hooks 的 `useEffect` 从远程服务器获取数据。

10、[浏览器内置的 KV Storage](https://developers.google.com/web/updates/2019/03/kv-storage)（英文）

浏览器提供的键值对存储 localStorage API 是同步操作，有时候很慢。为了解决这个问题，Chrome 浏览器开始提供异步键值对存储的 API。 

11、[浏览器原生的图片懒加载](https://addyosmani.com/blog/lazy-loading/)（英文）

Chrome 75 将原生支持图片的懒加载，写成 `<img loading=lazy>` ，就可以滚动到视口加载图片。

## 软件

1、[node-five](https://github.com/arturadib/node-five)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041214.jpg)

一个基于 QT 的 Nodejs 框架，用于开发 Node 应用的图形界面。

2、[Learn anything](https://learn-anything.xyz/)

一个学习资源的搜索引擎，可以搜索各种主题，返回相应的教程。（@[Paleless](https://github.com/ruanyf/weekly/issues/324) 投稿）

3、[Gckit-CLI](https://seongbrave.github.io/gckit/)

命令行下使用一行命令，生成`Swift`、`Objective-C`等项目的模板代码。（@[SeongBrave](https://github.com/ruanyf/weekly/issues/325) 投稿）

4、[php-lisp](https://github.com/php-lisp/php-lisp)

一个使用 PHP 写的 Lisp 代码解释器。（@[wujunze](https://github.com/ruanyf/weekly/issues/309) 投稿）

5、[Paste to Markdown](https://euangoddard.github.io/clipboard2markdown/)

粘贴到该窗口的任何文本内容，都会自动转为 Markdown 格式。（@[AidySun](https://github.com/ruanyf/weekly/issues/321) 投稿）

6、[RCT](https://github.com/xaecbd/RCT)

一个通过解析 rdb 文件对 redis 内存结构分析的一站式平台。（@[TrumanDu](https://github.com/ruanyf/weekly/issues/320) 投稿）

7、[squoosh](https://github.com/GoogleChromeLabs/squoosh)

谷歌开源的图像压缩服务。（@[ifrontend-xyz](https://github.com/ruanyf/weekly/issues/312) 投稿）

8、[Whoer.net](https://whoer.net/zh)

查看你的 HTTP 请求携带多少个人信息的网站。（@[xcuYao](https://github.com/ruanyf/weekly/issues/307) 投稿）

9、[chunkwm](https://koekeishiya.github.io/chunkwm/index.html)

Mac 电脑的多窗口平铺式管理器。

10、[StreamSaver.js](https://github.com/jimmywarting/StreamSaver.js)

流媒体保存成本地文件的浏览器库。（@[ifrontend-xyz](https://github.com/ruanyf/weekly/issues/334) 投稿）

11、[你的电脑有多快？](https://computers-are-fast.github.io/)

一个小游戏，提供一系列常见任务的 Python 脚本，让你猜计算机在1秒内可以执行多少次。（@[NeoTse](https://computers-are-fast.github.io) 投稿）

12、[morec](https://github.com/Mayandev/morec)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041215.jpg)

一个 Flutter 制作的电影 App，用于学习 Flutter。（@[Mayandev](https://github.com/ruanyf/weekly/issues/420) 投稿）

## 资源

1、[Generative.fm](https://generative.fm/)

该网站专门收集软件生成的音乐。比较奇特的是，这些音乐可以无限播放，并且每次听都不一样。暂停以后重新播放，你会听到跟前面不同的音乐。

2、[Star Wars Asciimation](http://www.asciimation.co.nz/#)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041216.jpg)

ASCII 码的形式演绎整部《星球大战》，可以使用 `telnet towel.blinkenlights.nl` 在命令行观看，也可以在网页观看。（@[linkoln](https://github.com/ruanyf/weekly/issues/378) 投稿）    

3、[Test-Driven Web Development with Python](https://www.obeythetestinggoat.com/pages/book.html#toc)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041217.jpg)

免费的英文电子书，介绍如何以 TDD 的方式开发互联网应用，使用 Django 框架举例。（@[nosarthur](https://github.com/ruanyf/weekly/issues/393) 投稿）

4、[算法](https://github.com/jeffgerickson/algorithms)

开源英文电子书，作者是美国伊利诺伊大学的教师，本书是他的讲课笔记，偏重于数学。（@[nosarthur](https://github.com/ruanyf/weekly/issues/391) 投稿）

5、[Killed by Google](https://killedbygoogle.com/)

该网站收集谷歌关闭的所有自家产品。（@[murongsihua](https://github.com/ruanyf/weekly/issues/401) 投稿）

6、[航班实时追踪](http://flightadsb.variflight.com)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041218.jpg)

国内做的全球航班实时位置展示，国内航班的覆盖是全球最好的。（@[cq0206](https://github.com/ruanyf/weekly/issues/398) 投稿）

## 文摘

1、[为什么我放弃 Amazon 年薪50万美元的工作？](https://www.indiehackers.com/@dvassallo/why-i-quit-a-500k-job-at-amazon-to-work-for-myself-36639e3975)

上周，我辞掉了8年的亚马逊工作。尽管一再得到奖励和表彰，但我没有足够的动力再干一年。

当年，加入亚马逊时，我是初级工程师。5年内，我晋升了两次，现在是高级工程师。如果我留下来，几乎可以肯定今年会再次晋升，成为首席工程师。我被告知，我在公司有很大的潜力。公司里，人们对我的尊重不断增长，我被视为所在领域的专家和领导者。

我在亚马逊的第一年赚了75,000美元。去年，我赚了511,000美元。如果再呆几年，我的年薪应该可以到100万美元。

我的工作不算很忙，也不再需要证明自己。我可以在一周40小时内完成所有工作，而且我的团队每周一天在家工作。晚上或周末，我很少打开笔记本电脑。我总共有三位主管，他们人都很好，有很多同理心。

尽管一切都很好，但每天早上，我上班的动机都在减少。

最初的几年，我主要与另一个同事，一起开发一个内部工具。各种限制很少，我有很大的独立性，直接与用户交谈，然后发布更新，开展测试等等。只要我觉得这件事是重要的，通常就可以去做。大多数时候，工作的方向是我们自己控制的。

后面的几年却完全不同。我领导着部门历史上最重要的项目，有许多利益相关者和复杂的目标。我能做的事情受到了很大的限制，通常取决于我能否说服所有相关人员，而我想做的是实现目标的最佳方式，却不一定能做。

我在公司总是处理其他人的要求或条件，开始时很简单，但随着时间的流逝而变得越来越复杂，因为必须满足所有利益相关者。这种情况迫使我做一些不愿意做的事情，或者我愿意做的事情没法做。

2、[善于销售](http://blog.samaltman.com/how-to-be-successful)

成功需要自信，但是仅有自信是不够的，你还必须能够让别人相信你的主张。

某种程度上，所有伟大的职业都包含销售工作。您必须向客户、员工、媒体、投资者宣传你的计划。这需要鼓舞人心的愿景，强大的沟通技巧，魅力，以及执行能力的证据。

善于沟通，特别是善于书面沟通，是值得培养的一种能力。如果要达到明确沟通，我的建议是，首先要确保你的思路清晰，然后使用简洁明了的语言，表达出你的想法。

销售的最佳方式是真正相信你所销售的产品。卖你真正相信的东西感觉很棒，试图卖自己都不相信的产品，感觉很糟糕。

我的另一个销售建议是，重要的时候，你最好亲自出现。我刚开始做销售的时候，我总是愿意上飞机，自己去一趟。这通常是不必要的，打电话也可以解决。但其中有三次导致了我的职业生涯转折点，如果我不是亲自去，我的人生本来会走另一条路。

3、[Youtube 的热门频道统计](https://brandmaxima.com/blog/87-youtube-channels-with-million-subscribers-who-how-they-got/)

Youtube 有2000多万个活跃频道，2018年底，359个频道有超过1000万个订阅者。其中，87个频道是2018年创建的，在一年内就达到了1000万订阅，相比2017年的47个频道增长了185%。

这87个频道平均需要167天才能达到1000万订户。其中，最快的是墨西哥的 Kenia OS 只用了5天，其次是另一个墨西哥频道 Juki Dog，花了20天。这87个频道的国籍分布是，14个墨西哥频道，12个美国频道，11个印度频道，5个土耳其，4个印度尼西亚频道。

娱乐类频道（电影和娱乐，音乐）是增长最快的频道，其次是生活频道和游戏频道。烹饪、健康、体育类频道也有快速增长。

根据统计，这些热门频道在周五和周六上传了更多视频，这两天发布的视频在观看和订阅方面，要比其他时间更高。

## 图片

1、[打印 DNA](https://blog.mattbierner.com/dna-print/)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041219.jpg)

有人把 DNA 上面23亿个碱基对，用打孔机打印出来。打印了一个星期，还不到 DNA 的5%。

2、[带名字的手术帽](https://www.boredpanda.com/doctors-write-names-profession-scrub-cap-rob-hackett/?utm_source=news.ycombinator&utm_medium=referral&utm_campaign=organic)

动手术的时候，医生戴着口罩，穿着手术服和帽子，很难分清谁是谁。一位澳大利亚医生正在互联网上，发起一场运动，倡议医生在帽子上标识自己的名字。

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041220.jpg)

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041221.jpg)

3、[各语言的域名分布](https://www.semantics3.com/blog/state-of-ecommerce-report/)

截止2019年2月，互联网上共有93,482,546个有内容的域名，其中68％是英文站点，12%是中文站点，3%是西班牙语站点。

![](https://cdn.beekka.com/blogimg/asset/201904/bg2019041222.jpg)

## 言论

1、

随着在线服务的激增，每个用户2007年大约有25个密码，2015年增加到130个，预计到2020年将增长到207个。

-- [《密码管理器研究》](https://www.securityevaluators.com/casestudies/password-manager-hacking/)

2、

每家公司都说：“我们非常重视您的隐私和安全。”请不要再说这种话了，大多数公司并不关心数据的隐私或安全，而是为了数据被盗时，他们有一个向客户解释的说辞。

-- [《别说“我们严肃对待你的隐私和安全”》](https://techcrunch.com/2019/02/17/we-take-your-privacy-and-security-seriously/)

3、

最好的故事是不完美的。当一个故事有点奇怪时，它会吸引你，人们会谈论那些没有按照预期发展的事情。那些出乎意料的东西会让你念念不忘。

-- [《马尔科姆·格拉德威尔的写作课》](https://taimur.me/posts/notes-from-malcolm-gladwell-s-writing-masterclass-part-1)

4、

思考某事和讲述某事是不同的事情。我们思考事物的方式很复杂，有时甚至是不连贯的，而且经常是矛盾的。但是讲述时，我们必须把某事表达得很清晰，可以在很短的时间内说得出来。

-- [《马尔科姆·格拉德威尔的写作课》](https://taimur.me/posts/notes-from-malcolm-gladwell-s-writing-masterclass-part-1)

5、

过去七年，谷歌平均每周收购两家公司。

-- [Patrick Pichette](https://www.forbes.com/sites/samshead/2019/02/22/was-googles-ex-cfo-right-to-say-deepmind-could-have-been-a-national-champion/#579409dd538e)，谷歌前首席财务官

6、

技术正在发展一定程度的自治，它好像正在以某种方式利用人类来创造它自己。

-- [Paul Kingsnorth](http://paulkingsnorth.net/2015/10/23/planting-trees-in-the-anthropocene/)

## 订阅

这个专栏每周五发布，同步更新在我的[个人网站](http://www.ruanyifeng.com/blog)、[微信公众号](http://weixin.sogou.com/weixin?query=%E9%98%AE%E4%B8%80%E5%B3%B0%E7%9A%84%E7%BD%91%E7%BB%9C%E6%97%A5%E5%BF%97)和[语雀](https://yuque.com/ruanyf/share/)。

微信搜索“**阮一峰的网络日志**”或者扫描二维码，即可订阅。

![](http://www.ruanyifeng.com/blogimg/asset/2018/bg2018042311.jpg)

（完）

