# 每周分享第 30 期

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

欢迎投稿，请前往 GitHub 的 [ruanyf/weekly](https://github.com/ruanyf/weekly) 提交 issue。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110901.jpg)

上个月谷歌[宣布](https://www.blog.google/technology/safety-security/project-strobe/)，社交应用 G+ 将在10个月后关闭。

主要原因有两个。一是缺乏用户，90%的用户会话短于5秒；二是有安全漏洞，近50万用户资料存在泄露风险，虽然没有证据表明黑客发现了这个漏洞。

谷歌是世界最大的互联网公司，资金和技术都不是问题，所有底层产品几乎都是业内最强：人工智能、搜索、邮件、地图、照片、云盘、在线办公……按理说，G+ 没有理由失败，谷歌只要把底层产品组合一下，就没人打得过。可是，G+ 就是做不起来。谷歌做过四个社交产品，全部失败了，这是为什么？

几年前，一度有传言，Gmail 要并入 G+，提升后者的访问量，结果也没有实施。这多少反映了 G+ 不是谷歌的核心业务，公司并没有不惜一切代价投入。谷歌这家公司的兴趣，从来不在应用软件，而是在基础服务、底层算法、操作系统上面。我猜想，谷歌内部多多少少把 G+ 看作玩具，“发动态，加好友，这种玩意有多少难度？”，工程师和科学家更愿意去研究高难度的产品。这才是 G+ 失败的根本原因，谷歌从高管到基层，对社交产品都缺乏足够兴趣。不信你去看，谷歌没有一个高管，喜欢玩社交媒体。甚至谷歌工程师里面，很少有特别喜欢写博客的，Steve Yegge 算一个，但是他觉得谷歌不合适自己，辞职了。

这件事情告诉我们，公司跟人一样，也有自己的兴趣爱好。倘若硬要去做那些没兴趣的事情，不仅内心煎熬，而且投入大量时间和金钱之后，最终还是难逃认赔离场的结局。

## 新闻

1、[太阳热能发电](https://arstechnica.com/science/2018/10/new-material-could-up-efficiency-of-concentrated-solar-power/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110902.jpg)

目前，太阳能发电主要是指光伏发电，将太阳光直接转化为电流。它的问题是，太阳光有间歇性，导致电能储存成了巨大问题。

但是，太阳能发电还有另一种方式，我们知道，聚焦太阳光会产生巨大的热量。这意味着，我们可以建立工厂，将太阳能转化为热能，然后通过热能发电。相比储存电能，热能的储存容易得多，这样就可以实现全天候发电。这在技术上已经可行，但是现阶段，太阳能的热能发电还是比光伏发电贵得多。上图为位于以色列内盖夫沙漠的110兆瓦太阳能发电厂。

2、[感知观众的播放器](https://bitmovin.com/user-aware-video-player/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110903.jpg)

视频播放器 Bitmovin 加入了观众感知功能。播放视频的时候，它会打开摄像头，观察正在看视频的观众。如果发现观众距离比较远，就降低了一些比特率（画面质量），反之则提高比特率；如果发现观众起身走开了，自动暂定播放，等到发现观众回来，再恢复播放。

3、[车对车通信取代红绿灯](https://spectrum.ieee.org/transportation/infrastructure/how-vehicletovehicle-communication-could-replace-traffic-lights-and-shorten-commutes)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110904.jpg)

交通控制都通过红绿灯。但是，如果车辆之间可以互相通信，我们是否还需要红绿灯？

卡内基梅隆大学开发的一种算法，允许汽车使用车载通信功能进行协商，彼此约定谁先通过路口、谁后通过，而无需使用任何红绿灯。通过模拟计算，这种算法比起红绿灯，可以将通勤时间减少三分之一。长远来看，它如果与自动驾驶汽车相结合，就可以精确控制整个行程的时间。

4、[SSPL 许可证](https://www.mongodb.com/press/mongodb-issues-new-server-side-public-license-for-mongodb-community-server)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110905.jpg)

很多软件采用 GPL 许可证。这种许可证规定，如果你修改了代码再进行“分发”，就必须开放源码。但是，如果某家公司使用 GPL 软件提供线上服务，不分发软件本身，就可以不提供修改后的源码。很多人认为，这是 GPL 许可证的一个漏洞。

现在，MongoDB 宣布，许可证从 GPL 改为 SSPL，明确要求使用 Mongo 提供线上服务的公司，也必须开放源码。举例来说，如果亚马逊公司在 AWS 里面有一个 MongoDB 服务，那么现在它就必须开源它的 MongoDB 源码修改。

5、[泥浆打印的房屋](https://newatlas.com/wasp-gaia-3d-printed-mud-hut/56777/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110906.jpg)

一家意大利3D打印公司，发明用泥浆和稻草打印小屋。每间的成本只要1000欧元。上图中，外墙的水平纹路就是一圈圈打印出来的。点击标题链接，就可以观看小屋打印过程的视频。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110907.jpg)

6、[饮料瓶回收机](https://www.nytimes.com/2018/10/17/world/europe/istanbul-vending-machines-recycling-subway.html)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110908.jpg)

伊斯坦布尔在地铁站新增了饮料瓶回收机，乘客提交饮料瓶，可以折算成地铁票积分。一个1.5升塑料瓶可以换6美分，一个易拉罐9美分，而单程地铁票是40美分。

7、[地球生物的分布](http://www.pnas.org/content/115/25/6506)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110909.jpg)

美国科学家估算了，全世界生物体内的碳元素一共是550千兆吨（Gt C），其中植物占了450GTC，细菌70GTC，真菌12GtC，原核生物7GtC，单细胞生物4GtC，所有动物只有2GtC。

动物之中，一半是节肢动物（昆虫）占1GtC，鱼类0.7Gtc，人类0.06GtC，牲畜（以牛和猪为主）0.1GtC，野生哺乳动物0.007GtC。

8、[最古老的沉船](https://www.theguardian.com/science/2018/oct/23/oldest-intact-shipwreck-thought-to-be-ancient-greek-discovered-at-bottom-of-black-sea)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110910.jpg)


![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110911.jpg)

考古学家在黑海底部发现一艘世界最古老的沉船，据称这艘船有2700年的历史，可以追溯到古希腊。这艘船长23米，桅杆、方向舵和划艇长凳都存在，沉没在水下一英里的地方。考古学家说，那个深度缺氧，所以把它保留了下来。

以前人们只在大英博物馆收藏的古希腊陶器上，见过那个时代的船只。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110912.jpg)

9、[欧洲禁止一次性塑料](https://www.theguardian.com/environment/2018/oct/24/european-parliament-approves-ban-on-single-use-plastics-uk-eu-brexit)

欧洲议会支持禁止使用一次性塑料，以解决海洋，田野和水道的污染问题。根据拟通过的法令，塑料吸管、棉签、一次性塑料板、餐具等物品，都将在2021年禁止。

现在，大量的塑料废物冲入海洋，在那里可能需要几个世纪才能完全降解。那些轻质的一次性塑料物品是最大的麻烦，它们可以轻松地在海洋里长途漂流，破坏海洋动植物。

10、__一句话新闻__

* [Youtube](https://www.mushroomnetworks.com/infographics/youtube---the-2nd-largest-search-engine-infographic/) 是世界第二大搜索引擎，它的每月搜索次数比 Bing + Yahoo 加起来都多。
    
* [一家美国制药公司](https://www.bloomberg.com/news/articles/2018-10-17/a-blue-pill-is-stopping-hiv-world-first-study-shows)开发出艾滋病口服预防片，可以预防艾滋病。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110913.jpg)

## 教程

1、[压缩算法的解释](http://www.codersnotes.com/notes/elegance-of-deflate/)（英文）

压缩是最常用的功能之一，压缩算法一般分成两大类：基于熵的压缩和基于字典的压缩。本文简单解释这两类算法的原理，以及将它们合在一起的 deflate 算法。

2、[Manjaro 发行版介绍](https://hackernoon.com/manjaro-deepin-review-a-clean-minimal-and-powerful-linux-distro-6c0ccac04cd8)（英文）

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110914.jpg)

Manjaro 是一个新的 Linux 发行版，内核采用 Arch Linux，UI 采用 Deepin，集灵活性和易用的 UI 于一体。

3、[密码学简明教程](http://davidlowryduda.com/a-brief-notebook-on-cryptography/)（英文）

本文回顾了加密发展的几个阶段，每个阶段都给出了 Python 的小例子。

4、[停止无限滚动](https://logrocket.com/blog/infinite-scroll/)（英文）

本文提出网页的无限滚动并不是一个好的设计，应该限制使用或者停止使用。

5、[WebAssembly 的未来](https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/)（英文）

WebAssembly 目前只是 MVP（最小可行产品）阶段，本文介绍了这种编译语言未来可能具有的功能。

6、[YAML 格式的问题](https://arp242.net/weblog/yaml_probably_not_so_great_after_all.html)（英文）

YAML 格式虽然比 JSON 格式易读易写，但也有很多问题。这种格式其实很复杂，并不是配置文件的理想格式。

7、[Pokemon Go 为什么成功？](https://medium.com/@efeng/the-rise-and-further-rise-of-pokemon-go-product-lessons-learned-from-the-hit-game-392fe254e378)（英文）

Pokemon GO 是一个在地图上捕捉口袋妖怪的游戏，初看起来相当无聊，不需要任何游戏技能。但是该游戏取得了惊人的成功，这是为什么？

8、[2018 最佳 Linux 桌面发行版](https://haydenjames.io/best-linux-distro/)（英文）

本文对三个层次的（初级、中级、高级）用户，介绍最合适的 Linux 发行版，用于桌面系统。对新手有一定的参考价值。

9、[Web Performance 101](https://3perf.com/talks/web-perf-101/)（英文）

网页性能的基础知识，针对初学者，内容比较全。

## 资源

1、[IPv6 采用率](https://www.google.com/intl/en/ipv6/statistics.html)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110915.jpg)

谷歌有一个公开网页，展示使用 IPv6 访问谷歌的比例。最近，这个比率来到历史最高的25%。

2、[进入纯数学](https://infinitedescent.xyz/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110916.jpg)

一本英文的纯数学教材，免费下载，从简单的自然数讲起，包括代数、数论、集合运算、概率和微积分等章节。我觉得，至少对于了解数学的符号体系很有好处。

3、[33 个 JS 程序员需要知道的概念](https://github.com/leonardomso/33-js-concepts)

按照主题，收集 JS 学习资源的仓库。

4、[纸飞机](https://www.foldnfly.com/#/1-1-1-1-1-1-1-1-2)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110917.jpg)

收集纸飞机折纸方法的网站，目前有40种纸飞机。

5、[微积分很容易](http://calculusmadeeasy.org/)（Calculus made easy）

有名的微积分教材，版权已经过期。虽然年代比较久了，但是内容很经典。

6、[科幻界面](http://sciencefictioninterfaces.tumblr.com/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110918.jpg)

该网站收集科幻影视作品里面出现的计算机界面设计。

7、[ScriptOJ](http://scriptoj.mangojuice.top/)

国人开发的前端题库，可以用作评测系统，带有讨论区。（@[LeeChar](http://scriptoj.mangojuice.top/) 投稿）

## 工具

1、[WebPerl](https://webperl.zero-g.net/)

通过把 Perl 5 解释器编译成 WebAssembly，从而在网页上运行 Perl 代码。

2、[Thonny](https://thonny.org/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110919.jpg)

一个针对初学者的 Python IDE（集成编程环境），界面清爽简单，可用于儿童的编程教育。

3、[svg-inject](https://github.com/iconfu/svg-inject)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110920.jpg)

这个 JS 库可以将网页上的外联 SVG 图像，变为内嵌的 SVG 图像，从而使得全局的 CSS 样式文件可以对这个图像生效。

4、[arwes](https://github.com/arwesjs/arwes)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110921.jpg)

一个质量不错的科幻风格 React UI 组件库。（@[Anderson-Liu](https://github.com/ruanyf/weekly/issues/28) 投稿）

5、[CommentBox.io](https://commentbox.io/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110922.jpg)

一个类似 Disqus 的网站评论服务。

6、[gRPC-Web](https://www.cncf.io/blog/2018/10/24/grpc-web-is-going-ga/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110923.jpg)

gRPC-Web 是一个JavaScript客户端库，使 Web 应用程序能够直接与后端gRPC服务通信，不需要 HTTP 服务器充当中介。这意味着可以构建真正的端到端 gRPC 应用程序体系结构。

7、[irondb](https://github.com/gruns/irondb)

irondb  是一个浏览器 key-value 储存的封装库，把 Cookies、IndexedDB、LocalStorage、SessionStorage 统一成一个接口。它的最大特色就是数据冗余机制，即使某种底层储存机制失效，它可以从其他机制恢复数据。

8、[Screen to GIF](https://www.screentogif.com/)

一个可以录制 GIF 图片的开源工具，同时还具备编辑帧、调用摄像头录制、录制画板等功能。（@[winshu](https://github.com/ruanyf/weekly/issues/30) 投稿）

9、[Sketch 2 Code](https://sketch2code.azurewebsites.net/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110924.jpg)

微软的在线工具，将手绘草图转成 HTML 代码。（[@xiaohesong](https://github.com/ruanyf/weekly/issues/30#issuecomment-433258462) 投稿）

10、[Process On](https://www.processon.com/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110925.jpg)

免费在线作图，可以实时协作。ProcessOn 支持流程图、思维导图、原型图、UML、网络拓扑图、组织结构图等。（@[wuzhenda](https://github.com/ruanyf/weekly/issues/32)__ __投稿）

## 文摘

1、[金星移民](https://theconversation.com/nasa-wants-to-send-humans-to-venus-heres-why-thats-a-brilliant-idea-104961)

美国国家航天局 NASA 正在讨论金星移民的可能。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110926.jpg)

上图左侧是金星，右侧是地球。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110927.jpg)

金星地面的照片。

初听起来，金星根本不是一个可能的目标，它的表面温度有460度，高于许多金属的熔点。下雪的时候，金星落下的实际上是金属滴。金星的大气压高达93个大气压，人类根本无法承受。金星大气由97％的二氧化碳，3％的氮气和微量的其他气体组成，还有大量硫酸形成的致密云层，因此它的空气具有腐蚀性。

NASA 讨论的并不是地面移民，而是派出一艘飞艇，飞行在金星地面上方50公里~60公里的高空中，人类就生活在飞艇里面。那个区域的大气压相当于地球海平面大气压的一半，跟乞力马扎罗山顶差不多，温度介于20°C和30°C之间。人类在那里甚至不需要宇航服与外界隔离，只需要携带氧气装置，因为那里的空气绝大部分是二氧化碳。

高于此高度的大气层也足够密集，可以保护人员免受来自太空的电离辐射。太阳辐射提供了比地球更大的能量，可用于发电（是地球太阳能发电效率的大约1.4倍）。

飞艇漂浮在空中，使用正常的地球空气填充就可获得浮力，因为氧气和氮气的比重低于二氧化碳，所以飞艇可以飞起来。目前的技术完全可以实现这个方案。

2、[代码所有权](https://medium.com/@ard_adam/strong-code-ownership-b955163a9ca2)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110928.jpg)

Martin Fowler 提出，大多数软件项目存在三类代码所有权。

（1）强代码所有权。

每个模块指定一个负责人。开发者只能更改自己拥有的模块，如果需要更改其他人的模块，就必须与模块所有者联系，让后者更改。你可以为其他模块写补丁，将其发送给模块所有者来加速此过程。

（2）弱代码所有权。

每个模块指定一个负责人，但是开发者可以更改其他人的模块。模块所有者应对其拥有的模块负责，密切关注其他人所做的更改。礼貌的做法是，更改其他人的模块之前，首先与模块所有者进行讨论。

（3）集体代码所有权。

模块不指定负责人，代码库由整个团队拥有，任何人都可以在任何地方进行更改。这种做法可以视为代码没有个人所有权，只有团队所有权。

现在大多数公司都要求所有人都可以修改源代码，也就是集体代码所有权的模式。这样的政策，很可能导致软件质量和员工敬业度的下降。如果你的目标是工程师既高效又以工作为荣的企业文化，那么强代码所有权模式是最佳选择。

3、[没有中产阶级的加利福尼亚](https://thehill.com/opinion/finance/412928-middle-class-is-disappearing-in-california-as-wealth-gap-grows)

加州的国内生产总值超过2.7万亿美元，约占美国的13.9％。它的经济规模超过英国，是世界第五大经济体。该州极其富有，但令人难以置信的是，加州也是美国最贫穷的州之一。

贫困线以下的美国人口平均是13%，但是加利福尼亚州为19％，远高于阿拉巴马州的14％。加州穷人多的部分原因是房价快速上涨，这对富人有利，而对中产阶级来说，生活成本过高，于是成群结队地离开。随着中产阶级的离开，加利福尼亚的社会主要由富豪和穷人组成。

加州租房者每月平均支付1,447美元，而全国平均水平为1,012美元。29％的人将超过一半的收入用于住房。房屋中位数价值为529,000美元，是全国中位数239,800美元的两倍多。

加州的流浪者多得惊人。2016年到2017年，该州无家可归者人数增加了近14％，超过130,000人。2016 年，132名流浪者死在街头。旧金山有几百亿美元的富豪，但也遍地是流浪汉的粪便。

## 本周图片

1、[前苏联的纪念碑](https://www.collectorsweekly.com/articles/curious-propaganda-of-a-brutal-soviet-era/)

前苏联建造了大量令人叹为观止的雄伟纪念碑，大部分都是为了纪念战胜纳粹。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110929.jpg)

四只巨手拿着四把枪，Novorossiysk，1978。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110930.jpg)

苏联-波兰友谊纪念碑，1983。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110931.jpg)

烈士纪念碑，摩尔多瓦，1972。


![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110932.jpg)

北极士兵纪念碑，摩尔曼斯克，1974。

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110933.jpg)

空间征服者纪念碑，莫斯科,1972。

2、[事故展览馆](http://www.spoon-tamago.com/2018/10/10/the-museum-of-accidents-offers-a-glimpse-into-japanese-introspection/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110934.jpg)

日本铁路公司 JR 有一个事故展览馆，专门展示该公司发生的事故。“我们希望我们的员工永远不会忘记过去的事故。”不过，该展览馆只允许员工参观，不对公众开放。

## 新奇

1、[人工智能音乐](https://www.aiva.ai/)

![](https://cdn.beekka.com/blogimg/asset/201811/bg2018110935.jpg)

一家创业公司正在开发 AI 音乐引擎。该引擎学习了无数旋律以后，已经能够自己生成音乐，主要用来为电影和游戏生成音轨。

大家可以去该公司的网站，收听机器生成的音乐，那些音乐非常动听。

## 本周金句

1、

由于重力只有地球的六分之一，月球很合适人类养老。在本世纪末之前，我们将在月球上为老年人设立医院，使他们能够长寿。他们的心脏在六分之一的重力下，可以跳得更轻快；他们脆弱的骨头，也将承担轻得多的负荷。

-- [科幻小说家海因莱因](https://arstechnica.com/science/2016/12/heinlein-and-clarke-discuss-the-moon-landings-as-they-happen/)在1969年7月20日（阿波罗11号登月日）接受采访，谈登月对人类的影响

2、

JavaScript 的优点是可以写任何东西，缺点是你真的会用它去写这些东西。

-- [Reg Braithwaite](https://twitter.com/CodeWisdom/status/1054713299386986496)

3、

据估计，2009年全球有500万 PHP 开发人员。

-- [terrychay](http://terrychay.com/article/whats-something-very-few-people-know-about-php.shtml)

4、

房价不断上涨的前提是不断有新人加入，他们愿意并且能够支付越来越高的房价。房价上涨的本质是，年轻人愿意把自己的财富转移给老年人，当这些年轻人变老时，再有新的年轻人愿意给他们更多的钱。

-- [《住房不是一项好的投资》](http://cityobservatory.org/housing-cant-be-affordable_and_be-a-good-investment/)

## 欢迎订阅

这个专栏每周五发布，同步更新在我的[个人网站](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)

（完）
