weekly/docs/issue-43.md

347 lines
23 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 每周分享第 43 期
这里记录过去一周,我看到的值得分享的东西,每周五发布。
欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 [ruanyf/weekly](https://github.com/ruanyf/weekly) 提交 issue。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021501.jpg)
上图是一架小飞机停在草地,一个人从上面跳下来。
这张图取自一篇2018年12月发表的[正式论文](https://www.bmj.com/content/363/bmj.k5094),作者单位是哈佛大学医学院,论文题目叫做**《从飞机跳下时,降落伞防止伤亡的作用研究》**。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021502.jpg)
研究小组让一组人带着降落伞,另一组人不带(就像上图),都从停在草坪上的小飞机跳下来。可想而知,所有人都平安无事,因此论文经过模型分析,一本正经地得出结论:降落伞没有明显作用。
这篇论文不是恶搞。它想用一个讽刺的实证研究来证明,医学界传统的双盲测试有重大弊端。医生当中流传着一句[名言](https://blogs.bmj.com/bmj/2018/12/13/we-jumped-from-planes-without-parachutes-and-lived-to-tell-the-tale/)**没有降落伞,谁愿意从飞机跳出来?** 意思是只有那些有降落伞的病人(即知道自己死不了的人),才会参加双盲测试。
这是因为,如果不考虑那些无药可救的绝症,一般来说,风险比较小的病人,更可能参加双盲测试,因为就算被抽到对照组,天天吃安慰剂,也不怕被耽误。但是,如果测试对象都是风险小的病人,试验结果很可能就是新药无效,因为病人本来就会康复。
这篇论文就是用实验证明:如果你想让没有降落伞的人,参加双盲测试,他们只会愿意从停着的小飞机上跳下来,因此你会得到降落伞(新发明)没用的结论。这是我看过的最好玩的论文之一,推荐大家看看,它完全采用最严谨的学术语言和论证过程,写得一丝不苟,最后得出了一个荒谬的结论。
## 新闻
1、[亚马逊的自动送货车](https://yellrobot.com/amazon-delivery-robot-scout-autonomous-snohomish/)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021503.jpg)
美国电商亚马逊在华盛顿州(该公司总部所在地),开始试验自动送货车。该车是电动的,跟小冰箱差不多大,能沿着人行道快速前进。它配备了传感器和 GPS可以自动规划行进路线避免跟行人、宠物或其他障碍发生碰撞。
测试期间,每辆车送货的时候,会有一个员工跟在后面,处理各种可能的问题。如果测试顺利,亚马逊将扩大试验范围,并考虑将其投入实用。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021504.jpg)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021505.jpg)
2、[飞行汽车](https://www.bloomberg.com/news/articles/2019-01-23/boeing-s-flying-car-takes-off-to-show-a-glimpse-of-the-future)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021506.jpg)
1月22日波音公司在弗吉尼亚州第一次试飞了它开发的飞行汽车。这其实不能算汽车因为它不能在地面上行驶只能在大楼之间飞行从一幢楼顶飞到另一幢楼顶。
该产品是电动飞机一次可以飞行80公里比直升飞机成本更低可控性更高。它是优步公司的定制车型如果顺利的话优步将采用它在2023年推出空中出租车服务。此外[空中客车公司设计的空中汽车](https://www.bloomberg.com/news/articles/2019-01-23/airbus-s-flying-taxi-is-poised-for-takeoff-within-weeks)见下图也将在几周内试飞目标也是2023年供优步公司使用。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021507.jpg)
3、[逃跑不要使用共享滑板车](https://www.kxan.com/news/local/austin/apd-identifies-bank-robbery-suspect-who-used-e-scooter-for-getaway/1726367092)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021508.jpg)
2018年12月18日19岁的 Luca Mangiarano 走进美国德州首府奥斯汀的一家银行递给银行柜员一张纸条上面写着“这是一起抢劫案。请把柜台所有的钱给我。”柜员不知道他会做出什么举动就顺从地把钱给了他共计18000美元。
然后Mangiarano 就在银行门口,骑上一辆共享滑板车逃跑了。这对警方来说,就很简单了。警察找到提供滑板车服务的优步公司,调出哪个帐号在这个时间地点,使用了滑板车,然后顺利逮捕了 Mangiarano。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021509.jpg)
4、[无车城市](https://www.fastcompany.com/90294948/what-happened-when-oslo-decided-to-make-its-downtown-basically-car-free)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021510.jpg)
挪威首都奥斯陆市政府决定拆除市区700多个停车位用自行车道、小公园和长椅取代为最终实现市中心无车做准备。政府的规划是第一步取消停车位第二步在一些街道禁止自驾车第三步则是整个市中心无车交通需求完全依靠公共交通或自行车。
5、[泊车机器人](https://www.standard.co.uk/tech/gatwick-airport-trial-for-valetparking-robots-will-cut-hassle-for-travellers-a4046406.html)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021511.jpg)
英国盖特威克机场推出了代客泊车机器人,车主在下车区下车以后,使用手机 App 召唤泊车机器人,该机器人会自动把车拉到停车位。这样不仅可以节省时间,还可以将车紧凑地停满整个空间。
这个机器人实际上是一个自动的小型叉车,使用 GPS 定位整个泊车过程之中都不需要使用车钥匙。该系统去年已经在巴黎戴高乐机场进行了5个月试用。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021512.jpg)
6、[维基百科的编辑](https://www.cbsnews.com/news/meet-the-man-behind-a-third-of-whats-on-wikipedia/)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021513.jpg)
Steven Pruitt 是维基百科最忙碌的编辑他在13年的时候里面一共完成了近300万次编辑并撰写了35,000篇原创条目。维基百科英文版现在有570万条目其中三分之一都被他编辑过。《时代》杂志将他评为互联网上最有影响力的25个人之一。他的维基用户名是 Ser Amantio Di Nicolao。
他没有从这些工作里面赚到一分钱, 他说:“知识自由的想法让我着迷。我的母亲在苏联长大......所以我非常清楚,知识自由意味着什么。”
7、[月球岩石](https://phys.org/news/2019-01-moon-recovered-astronauts-earth.html)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021514.jpg)
1971年阿波罗14号登月期间采集了一块月球岩石送回了地球。现在这块岩石里面发现了一些微量矿物质跟地球的岩石成份很像。这意味着这块石头原本来自地球。
这块岩石大约形成于40亿年前里面含有锆石的成分与地球上发现的锆石非常相似。由于锆石需要在水和氧化条件下形成因此这块石头很大可能来自地球。这有可能是40亿年前一颗小行星撞击地球将这块石头带到了月球也有可能整个月球是因为撞击而从地球分裂出来的。
8、[老赖地图](https://www.dw.com/zh/%E8%80%81%E8%B5%96%E6%97%A0%E9%9A%90%E7%A7%81%E5%90%8D%E8%AA%89%E6%9D%83%E7%BD%91%E6%B0%91%E7%BA%B7%E7%BA%B7%E8%B0%88/a-47262459)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021515.jpg)
《河北日报》1月28日报道河北省法院自主研发微信小程序"老赖地图"可扫描出方圆500米以内的"老赖"(长期拒绝偿还债务的人员)数量,并可点击显示"老赖"的身份证和家庭住址。
河北省法院的一名工作人员称,可将失信人信息页面分享到朋友圈,这是使用互联网技术对"老赖"进行"精准曝光",利用社会压力和熟人圈子对"老赖"进行"精准围剿"。
9、[极端气候](http://world.huanqiu.com/article/2019-01/14206830.html)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021516.jpg)
[澳大利亚](https://www.theguardian.com/australia-news/2019/feb/01/january-named-as-australias-hottest-month-on-record)今年一月份的平均气温创了历史新高很多地方都超过摄氏40度最高摄氏49.5度。与此同时,[美国](http://world.huanqiu.com/article/2019-01/14206830.html)遭遇北极寒流超过或接近历史最低温有些地方达到零下60度比南极还冷。地球的气候正变得越来越极端化。
上图为芝加哥旁边的密西根湖已经完全结冰。
10、__一句话新闻__
* [统计](https://singaporedatacompany.com/blog/how-many-domain-names-are-unused)发现目前共有1.37亿个 .com 域名其中大约1/34300万个域名正在使用。
* [美国最大 DNA 测试网站](https://www.buzzfeednews.com/article/salvadorhernandez/family-tree-dna-fbi-investigative-genealogy-privacy)将自己的数据库共享给联邦调查局 FBI这将大大扩展警方 DNA 搜索的范围。以后,只要能够拿到嫌疑人的 DNA可能就会快速确定嫌疑人是谁或者他是谁的亲戚。
* [谷歌](https://ai.googleblog.com/2019/02/real-time-continuous-transcription-with.html)宣布,安卓内置 Live Transcribe 功能,运用 Youtube 的自动字幕技术,实时将语音转换成字幕,帮助聋哑人交流。
* [Instagram](https://www.instagram.com/p/BsOGulcndj-/?utm_source=ig_embed) 最受欢迎的照片是一只鸡蛋1月5日上传截至2月4日已经收到了5200万个赞。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021517.jpg)
## 教程
1、[Java 语言如何实现线程间通信](https://www.tutorialdocs.com/article/java-inter-thread-communication.html)(英文)
一篇简单的教程Java 语言如何实现多线程编程。
2、[谷歌搜索的运算符](https://ahrefs.com/blog/google-advanced-search-operators/)(英文)
本文详细介绍谷歌搜索的运算符,用来定制搜索结果。
3、[函数式编程的好处](http://www.gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php)(英文)
著名程序员 John Carmack 谈了函数式编程对 C++ 语言的好处。不涉及代码,只是概念上的讲解。
4、[取消 C++ 的预处理器](https://hackernoon.com/undefining-the-c-pre-processor-c4eeb3d06e1f)(英文)
本文作者建议不要使用预处理器定义宏Macro甚至不要使用自定义的宏。
5、[Fossil 与 Git 的对比](https://fossil-scm.org/fossil/doc/trunk/www/fossil-v-git.wiki)(英文)
Fossil 是专为 SQLite 开发的版本管理系统,与 Git 采用不一样的模型,总体上来说,比 Git 更简单。
6、[超越 DRY](https://coderefinery.wordpress.com/2019/01/28/beyond-dry-why-redundancy-makes-your-code-more-robust-and-less-fragile/)(英文)
DRY 原则指的是“不要重复自己”,意思是如果代码有重复,就应该把它提炼出来。本文提出,这条原则不应过分严格地使用,有时候代码冗余对软件是有利的。
7、[Deno 运行时介绍](https://43081j.com/2019/01/first-look-at-deno)(英文)
Deno 是一个 JS/TypeScript 运行时,用来取代 Node。它的最大特点就是不支持 CommonJS只支持 ES6 模块。
8、[MIT 许可证逐句解释](https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html)(英文)
MIT 是常见的开源许可证,但是很多人并没有看过它的条文。本文逐句解释该许可证的每一句话。
9、[未来的 JavaScript 语言](http://2ality.com/2019/01/future-js.html)(英文)
本文介绍 TC39 委员会正在考虑的、加入 JavaScript 语言的一些新功能。
10、[30年的梦想失败是什么感觉](https://thehustle.co/bionic-boot/)(英文)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021518.jpg)
一个发明家受鸵鸟奔跑姿势的启发发明了一种弹簧鞋。他为这个梦想投入了30年依然没有成功。现在专利即将到期30年可能就是白忙一场。
## 资源
1、[SimpleKernel](https://github.com/MRNIU/SimpleKernel)
一个操作系统内核的简单实现,提供了各个阶段完成度不同的内核,可以用来练手和学习。(@[MRNIU](https://github.com/ruanyf/weekly/issues/204) 投稿)
2、[FlatIcon](https://www.flaticon.com)
一个图标搜索引擎。(@[LanjianNUll](https://github.com/ruanyf/weekly/issues/202) 投稿)
3、[TravelAdapter.xyz](https://TravelAdapter.xyz)
该网站收集各国的电压、插头和插座资料。
4、[如果保留后台进程](https://dontkillmyapp.com/)
手机为了节省电力,会主动杀死后台进程,有时这种行为不是用户希望的。该网站收集各品牌安卓手机的做法,如何关闭主动杀死后台进程这个功能。
5、[《组合程序》Composing Programs](https://composingprograms.com/)
加州大学伯克莱分校以 SICP 为范本,使用 Python 3 语言解释编程原理的教程。
6、[SQLi Hall of Shame](https://codecurmudgeon.com/wp/sql-injection-hall-of-shame/)
该网站收集 SQL 注入的各种真实案例。
7、[数据可视化基础](https://serialmentor.com/dataviz/)
O'Reilly 新书《数据可视化基础》一书的在线预览版。
8、[Apache Guacamole](https://guacamole.apache.org/)
浏览器里面的远程桌面连接器,可以在网页上登录远程桌面,支持 VNC、RDP、SSH。@[barrer](https://github.com/ruanyf/weekly/issues/240) 投稿)
9、[周刊资源整理](https://wanmaoor.github.io/ryfWeekly/)
读者对这个周刊提到的内容进行了分类整理。(@[wanmaoor](https://github.com/ruanyf/weekly/issues/269) 投稿)
## 工具
1、[trilium](https://github.com/zadam/trilium)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021519.jpg)
一个开源的笔记软件,可以安装桌面版,也可以自己架设服务器,使用它提供 Web 界面。
2、[Tox](https://tox.chat/)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021520.jpg)
Tox 是一个开源的实时通信协议,不需要中央服务器,提供多种跨平台的客户端。
3、[CopyTranslator](https://github.com/elliottzheng/CopyTranslator/blob/master/README_zh.md)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021521.jpg)
PDF 文件即时翻译工具。只要选中 PDF 文件里面的文字,就自动调用谷歌翻译的 API将其翻译成中文粘贴出来就是中文。@[chempeng](https://github.com/ruanyf/weekly/issues/212) 投稿)
4、[MyPerf4J](https://github.com/LinShunKang/MyPerf4J)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021522.jpg)
Java 应用的性能监控工具。(@[LinShunKang](https://github.com/ruanyf/weekly/issues/207) 投稿)
5、[Asciidoctor](https://asciidoctor.org/)
AsciiDoc 的渲染引擎,还提供 AsciiDoc 格式的教程。
6、[python-uncompyle6](https://github.com/rocky/python-uncompyle6)
Python 反编译工具,可以将 Python 字节码 pyc 文件反编译回源码 py 文件。
7、[frp](https://github.com/fatedier/frp)
一个反向代理服务器,可以让公网访问架设在内网的服务。(@[Seven-Steven](https://github.com/ruanyf/weekly/issues/201) 投稿)
8、[wee-slack](https://github.com/wee-slack/wee-slack)
一个 Slack 的命令行客户端。
9、[Nginx Office Hours](https://gitlab.com/rbdr/ngx_http_office_hours_filter_module)
一个 Nginx 模块,使得网站只能在工作时间访问,一到下午五点,网站就自动下线。
10、[Puffer](https://puffer.stanford.edu/)
斯坦福大学的一个视频算法实验项目可以免费观看美国的电视直播画质1080P。
11、[Image Inpainting](https://www.nvidia.com/research/inpainting/)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021523.jpg)
nvidia 官方的在线图像修复,自动生成图像缺失的部分。
## 文摘
1、[无人机击落客机只是时间问题](https://www.technologyreview.com/s/612656/its-only-a-matter-of-time-before-a-drone-takes-down-a-passenger-plane/)
2018年12月英国第二大机场盖特威克机场发现有一架无人机飞过机场不得不关闭一天几十万旅客受到影响。目前还不知道这架无人机是谁操作为什么要飞入机场。
这个事件表明,无人机对商业航空已经构成威胁。更严重的是,“反无人机”技术起不了多大作用。无人机已经变得太便宜,太强大,客机将不可避免地受到影响。无论是开枪、无线电干扰、或者其他措施,都无法可靠地保护客机。这可能听起来危言耸听,但我们对无人机真的缺乏办法。
现在消费者可以买到的最便宜无人机只需要25美元。这些产品接受遥控器的无线信号相对容易防范只要干扰它们的无线电信号就可以了。稍微昂贵的无人机有 GPS 芯片,这种无人机可以编程设置一个“地理围栏”,防止它们飞入指定的地理坐标范围内。
但是,上面的这些措施,只能防住普通消费者从正规渠道买到的无人机。对于具有中等技术水平的人来说,制造一架无人机很容易,自制无人机也不需要 GPS 芯片。它们也不一定需要与操作员通信,才能保持飞行,这使得无线电干扰无效。而且,强度太大的干扰信号,反而可能会影响到本来要保护的客机。
可以肯定的是一架无人机攻击一架客机成功机会不大。这是因为在起飞和着陆时最容易遭遇无人机的阶段客机的移动速度非常快通常在每小时150到200英里之间很少有无人机能够以50~70英里/小时的速度飞行,所以客机应该可以避开无人机。此外,飞机的设计可以承受鸟撞,如果一架无人机意外撞到客机,客机可能只会受到轻微损坏,很可能还是能够安全降落。
但是如果无人机成群飞行事情就会发生变化。虽然单个无人机很难攻击飞机但是在客机的飞行路径上放置30架无人机就可能会发生变化。考虑到无人机的价格多架无人机群体攻击是很容易的。如果通过编程找出客机的引擎通过红外传感或通过图像然后无人机携带少量爆炸物撞击可能会致命。
总之,对于那些蓄意攻击客机的半自动或全自动无人机集群,根本就没有好的技术对策。
2、[Loon 项目](https://spectrum.ieee.org/telecom/wireless/loons-balloons-will-fly-over-kenya-in-first-commercial-telecom-tryout)
Loon 是谷歌的母公司 Alphabet 发起的一个实验项目。它为那些没有 4G 网络的地区发射气球,信号基站就设置在气球上,因此人们就可以使用 4G 服务了。比起地面基站,气球基站的覆盖范围更大,而且没有障碍物阻挡信号。
气球会飞到距离地面18公里25公里的平流层那里没有上下气流所以气球会停留在同一个高度上。但是横向的风是很大的问题。为了防止气球被吹走Loon 带有风向观察功能,一旦发现有风吹来,它会自动上升或下降,避开风,尽量停留在同一个地点。
每个 Loon 气球实际上包含了两个气球。外层是一个充满氦气的气球为整个产品提供所需的升力内层是一个充满空气的内部气球可以抽空或进气。当内层气球膨胀时外层气球的氦被挤压到密度更高从而降低升力开始下降反之开始上升。通过这种方式Loon 的工程师可以控制气球的高度,也可以利用不同高度的风,使气球向需要的方向前进。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021524.jpg)
利用这种导航方式气球已经可以长距离发射。工程师在新西兰发射气球然后操纵它飘到阿根廷和澳大利亚的目标地区。该项目计划2019年在肯尼亚提供 4G 通信服务,气球就将在波多黎各发射,然后飘过大西洋,到达肯尼亚。
气球通过自带的太阳能板获取电力每只气球可以使用几百天。2017年波多黎各飓风时期地面通信都被摧毁了Loon 气球成功地为灾区提供了手机信号。
## 本周图片
1、[公共汽车的候车亭](https://www.citylab.com/design/2014/05/a-tiny-austrian-town-has-coolest-bus-shelters-weve-ever-seen/371078/)
奥地利一个没有名气的小镇希望发展旅游业。他们邀请世界最著名的设计师为他们设计公共汽车的候车亭报酬是可以来小镇免费度假。现在这样的候车亭已经有了近10座。
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021525.jpg)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021526.jpg)
2、[声波反射器](https://www.bbc.com/news/in-pictures-46348917)
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021527.jpg)
第一次世界大战是第一场有飞机参与的战争。当时还没有雷达,为了提早发现敌机的飞行路线,英国在海岸边的悬崖上架设了很多声音反射器,将飞机发动机的音波反射到地面上,以便提早发现。
3、__曼哈顿的航拍照片__
![](https://cdn.beekka.com/blogimg/asset/201902/bg2019021528.jpg)
## 本周金句
1、
不要刻意去记住某件事,而要去寻找使其显而易见的解释。
-- [理查德·费曼](https://medium.com/taking-note/learning-from-the-feynman-technique-5373014ad230)
2、
“X公司使用的是什么语言”这种话毫无意义编程语言与公司的成功关系不大。某个公司使用哪种语言主要是早期创始人的偏好。
-- [《论编程语言的选择》](https://medium.com/@nemshilov/on-choosing-programming-languages-8281c6f370b2)
3、
学习函数式编程对我产生的影响是,让我更加关注哪些概念自然地被视为“对象”,哪些概念是不可变的“值”。
我还会更加注意,我的代码是否包含副作用,从而更谨慎地隔离这些地方,使代码更多是“纯的”,这大大提高了我的面向对象代码的可测试性。
-- [《函数式编程对面向对象的程序员有什么用?》](https://softwareengineering.stackexchange.com/questions/45231/does-learning-a-functional-language-make-a-better-oop-programmer/45236#45236)
4、
招聘高级工程师时,不是公司选择候选人,而是候选人选择公司。
-- [《招聘人才不是买,而是卖》](https://hiringengineersbook.com/post/trouble-hiring/)
## 欢迎订阅
这个专栏每周五发布,同步更新在我的[个人网站](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)
(完)