每周分享第 43 期

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

上图是一架小飞机停在草地,一个人从上面跳下来。

这张图取自一篇2018年12月发表的正式论文,作者单位是哈佛大学医学院,论文题目叫做《从飞机跳下时,降落伞防止伤亡的作用研究》

研究小组让一组人带着降落伞,另一组人不带(就像上图),都从停在草坪上的小飞机跳下来。可想而知,所有人都平安无事,因此论文经过模型分析,一本正经地得出结论:降落伞没有明显作用。

这篇论文不是恶搞。它想用一个讽刺的实证研究来证明,医学界传统的双盲测试有重大弊端。医生当中流传着一句名言没有降落伞,谁愿意从飞机跳出来? 意思是只有那些有降落伞的病人(即知道自己死不了的人),才会参加双盲测试。

这是因为,如果不考虑那些无药可救的绝症,一般来说,风险比较小的病人,更可能参加双盲测试,因为就算被抽到对照组,天天吃安慰剂,也不怕被耽误。但是,如果测试对象都是风险小的病人,试验结果很可能就是新药无效,因为病人本来就会康复。

这篇论文就是用实验证明:如果你想让没有降落伞的人,参加双盲测试,他们只会愿意从停着的小飞机上跳下来,因此你会得到降落伞(新发明)没用的结论。这是我看过的最好玩的论文之一,推荐大家看看,它完全采用最严谨的学术语言和论证过程,写得一丝不苟,最后得出了一个荒谬的结论。

新闻

1、亚马逊的自动送货车

美国电商亚马逊在华盛顿州(该公司总部所在地),开始试验自动送货车。该车是电动的,跟小冰箱差不多大,能沿着人行道快速前进。它配备了传感器和 GPS,可以自动规划行进路线,避免跟行人、宠物或其他障碍发生碰撞。

测试期间,每辆车送货的时候,会有一个员工跟在后面,处理各种可能的问题。如果测试顺利,亚马逊将扩大试验范围,并考虑将其投入实用。

2、飞行汽车

1月22日,波音公司在弗吉尼亚州第一次试飞了它开发的飞行汽车。这其实不能算汽车,因为它不能在地面上行驶,只能在大楼之间飞行,从一幢楼顶飞到另一幢楼顶。

该产品是电动飞机,一次可以飞行80公里,比直升飞机成本更低,可控性更高。它是优步公司的定制车型,如果顺利的话,优步将采用它,在2023年推出空中出租车服务。此外,空中客车公司设计的空中汽车(见下图)也将在几周内试飞,目标也是2023年供优步公司使用。

3、逃跑不要使用共享滑板车

2018年12月18日,19岁的 Luca Mangiarano 走进美国德州首府奥斯汀的一家银行,递给银行柜员一张纸条,上面写着:“这是一起抢劫案。请把柜台所有的钱给我。”柜员不知道他会做出什么举动,就顺从地把钱给了他,共计18000美元。

然后,Mangiarano 就在银行门口,骑上一辆共享滑板车逃跑了。这对警方来说,就很简单了。警察找到提供滑板车服务的优步公司,调出哪个帐号在这个时间地点,使用了滑板车,然后顺利逮捕了 Mangiarano。

4、无车城市

挪威首都奥斯陆市政府决定,拆除市区700多个停车位,用自行车道、小公园和长椅取代,为最终实现市中心无车做准备。政府的规划是,第一步取消停车位,第二步在一些街道禁止自驾车,第三步则是整个市中心无车,交通需求完全依靠公共交通或自行车。

5、泊车机器人

英国盖特威克机场推出了代客泊车机器人,车主在下车区下车以后,使用手机 App 召唤泊车机器人,该机器人会自动把车拉到停车位。这样不仅可以节省时间,还可以将车紧凑地停满整个空间。

这个机器人实际上是一个自动的小型叉车,使用 GPS 定位,整个泊车过程之中都不需要使用车钥匙。该系统去年已经在巴黎戴高乐机场进行了5个月试用。

6、维基百科的编辑

Steven Pruitt 是维基百科最忙碌的编辑,他在13年的时候里面,一共完成了近300万次编辑,并撰写了35,000篇原创条目。维基百科英文版现在有570万条目,其中三分之一都被他编辑过。《时代》杂志将他评为互联网上最有影响力的25个人之一。他的维基用户名是 Ser Amantio Di Nicolao。

他没有从这些工作里面赚到一分钱, 他说:“知识自由的想法让我着迷。我的母亲在苏联长大……所以我非常清楚,知识自由意味着什么。”

7、月球岩石

1971年阿波罗14号登月期间,采集了一块月球岩石送回了地球。现在,这块岩石里面发现了一些微量矿物质,跟地球的岩石成份很像。这意味着,这块石头原本来自地球。

这块岩石大约形成于40亿年前,里面含有锆石的成分,与地球上发现的锆石非常相似。由于锆石需要在水和氧化条件下形成,因此这块石头很大可能来自地球。这有可能是40亿年前,一颗小行星撞击地球,将这块石头带到了月球,也有可能整个月球是因为撞击,而从地球分裂出来的。

8、老赖地图

《河北日报》1月28日报道,河北省法院自主研发微信小程序”老赖地图”,可扫描出方圆500米以内的”老赖”(长期拒绝偿还债务的人员)数量,并可点击显示”老赖”的身份证和家庭住址。

河北省法院的一名工作人员称,可将失信人信息页面分享到朋友圈,这是使用互联网技术对”老赖”进行”精准曝光”,利用社会压力和熟人圈子对”老赖”进行”精准围剿”。

9、极端气候

澳大利亚今年一月份的平均气温,创了历史新高,很多地方都超过摄氏40度,最高摄氏49.5度。与此同时,美国遭遇北极寒流,超过或接近历史最低温,有些地方达到零下60度,比南极还冷。地球的气候正变得越来越极端化。

上图为芝加哥旁边的密西根湖已经完全结冰。

10、一句话新闻

  • 统计发现,目前共有1.37亿个 .com 域名,其中大约1/3(4300万个域名)正在使用。

  • 美国最大 DNA 测试网站将自己的数据库共享给联邦调查局 FBI,这将大大扩展警方 DNA 搜索的范围。以后,只要能够拿到嫌疑人的 DNA,可能就会快速确定嫌疑人是谁,或者他是谁的亲戚。

  • 谷歌宣布,安卓内置 Live Transcribe 功能,运用 Youtube 的自动字幕技术,实时将语音转换成字幕,帮助聋哑人交流。

  • Instagram 最受欢迎的照片是一只鸡蛋,1月5日上传,截至2月4日,已经收到了5200万个赞。

教程

1、Java 语言如何实现线程间通信(英文)

一篇简单的教程,Java 语言如何实现多线程编程。

2、谷歌搜索的运算符(英文)

本文详细介绍谷歌搜索的运算符,用来定制搜索结果。

3、函数式编程的好处(英文)

著名程序员 John Carmack 谈了函数式编程对 C++ 语言的好处。不涉及代码,只是概念上的讲解。

4、取消 C++ 的预处理器(英文)

本文作者建议,不要使用预处理器定义宏(Macro),甚至不要使用(自定义的)宏。

5、Fossil 与 Git 的对比(英文)

Fossil 是专为 SQLite 开发的版本管理系统,与 Git 采用不一样的模型,总体上来说,比 Git 更简单。

6、超越 DRY(英文)

DRY 原则指的是“不要重复自己”,意思是如果代码有重复,就应该把它提炼出来。本文提出,这条原则不应过分严格地使用,有时候代码冗余对软件是有利的。

7、Deno 运行时介绍(英文)

Deno 是一个 JS/TypeScript 运行时,用来取代 Node。它的最大特点就是不支持 CommonJS,只支持 ES6 模块。

8、MIT 许可证逐句解释(英文)

MIT 是常见的开源许可证,但是很多人并没有看过它的条文。本文逐句解释该许可证的每一句话。

9、未来的 JavaScript 语言(英文)

本文介绍 TC39 委员会正在考虑的、加入 JavaScript 语言的一些新功能。

10、30年的梦想失败是什么感觉?(英文)

一个发明家受鸵鸟奔跑姿势的启发,发明了一种弹簧鞋。他为这个梦想投入了30年,依然没有成功。现在专利即将到期,30年可能就是白忙一场。

资源

1、SimpleKernel

一个操作系统内核的简单实现,提供了各个阶段完成度不同的内核,可以用来练手和学习。(@MRNIU 投稿)

2、FlatIcon

一个图标搜索引擎。(@LanjianNUll 投稿)

3、TravelAdapter.xyz

该网站收集各国的电压、插头和插座资料。

4、如果保留后台进程

手机为了节省电力,会主动杀死后台进程,有时这种行为不是用户希望的。该网站收集各品牌安卓手机的做法,如何关闭主动杀死后台进程这个功能。

5、《组合程序》(Composing Programs)

加州大学伯克莱分校以 SICP 为范本,使用 Python 3 语言解释编程原理的教程。

6、SQLi Hall of of Shame

该网站收集 SQL 注入的各种真实案例。

7、数据可视化基础

O’Reilly 新书《数据可视化基础》一书的在线预览版。

8、Apache Guacamole

浏览器里面的远程桌面连接器,可以在网页上登录远程桌面,支持 VNC、RDP、SSH。(@barrer 投稿)

9、周刊资源整理

读者对这个周刊提到的内容进行了分类整理。(@wanmaoor 投稿)

工具

1、trilium

一个开源的笔记软件,可以安装桌面版,也可以自己架设服务器,使用它提供 Web 界面。

2、Tox

Tox 是一个开源的实时通信协议,不需要中央服务器,提供多种跨平台的客户端。

3、CopyTranslator

PDF 文件即时翻译工具。只要选中 PDF 文件里面的文字,就自动调用谷歌翻译的 API,将其翻译成中文,粘贴出来就是中文。(@chempeng 投稿)

4、MyPerf4J

Java 应用的性能监控工具。(@LinShunKang 投稿)

5、Asciidoctor

AsciiDoc 的渲染引擎,还提供 AsciiDoc 格式的教程。

6、python-uncompyle6

Python 反编译工具,可以将 Python 字节码 pyc 文件反编译回源码 py 文件。

7、frp

一个反向代理服务器,可以让公网访问架设在内网的服务。(@Seven-Steven 投稿)

8、wee-slack

一个 Slack 的命令行客户端。

9、Nginx Office Hours

一个 Nginx 模块,使得网站只能在工作时间访问,一到下午五点,网站就自动下线。

10、Puffer

斯坦福大学的一个视频算法实验项目,可以免费观看美国的电视直播,画质1080P。

11、Image Inpainting

nvidia 官方的在线图像修复,自动生成图像缺失的部分。

文摘

1、无人机击落客机只是时间问题

2018年12月,英国第二大机场盖特威克机场,发现有一架无人机飞过机场,不得不关闭一天,几十万旅客受到影响。目前还不知道这架无人机是谁操作,为什么要飞入机场。

这个事件表明,无人机对商业航空已经构成威胁。更严重的是,“反无人机”技术起不了多大作用。无人机已经变得太便宜,太强大,客机将不可避免地受到影响。无论是开枪、无线电干扰、或者其他措施,都无法可靠地保护客机。这可能听起来危言耸听,但我们对无人机真的缺乏办法。

现在,消费者可以买到的最便宜无人机,只需要25美元。这些产品接受遥控器的无线信号,相对容易防范,只要干扰它们的无线电信号,就可以了。稍微昂贵的无人机有 GPS 芯片,这种无人机可以编程设置一个“地理围栏”,防止它们飞入指定的地理坐标范围内。

但是,上面的这些措施,只能防住普通消费者从正规渠道买到的无人机。对于具有中等技术水平的人来说,制造一架无人机很容易,自制无人机也不需要 GPS 芯片。它们也不一定需要与操作员通信,才能保持飞行,这使得无线电干扰无效。而且,强度太大的干扰信号,反而可能会影响到本来要保护的客机。

可以肯定的是,一架无人机攻击一架客机,成功机会不大。这是因为在起飞和着陆时(最容易遭遇无人机的阶段),客机的移动速度非常快,通常在每小时150到200英里之间,很少有无人机能够以50~70英里/小时的速度飞行,所以客机应该可以避开无人机。此外,飞机的设计可以承受鸟撞,如果一架无人机意外撞到客机,客机可能只会受到轻微损坏,很可能还是能够安全降落。

但是,如果无人机成群飞行,事情就会发生变化。虽然单个无人机很难攻击飞机,但是在客机的飞行路径上放置30架无人机,就可能会发生变化。考虑到无人机的价格,多架无人机群体攻击是很容易的。如果通过编程,找出客机的引擎(通过红外传感或通过图像),然后无人机携带少量爆炸物,撞击可能会致命。

总之,对于那些蓄意攻击客机的半自动或全自动无人机集群,根本就没有好的技术对策。

2、Loon 项目

Loon 是谷歌的母公司 Alphabet 发起的一个实验项目。它为那些没有 4G 网络的地区发射气球,信号基站就设置在气球上,因此人们就可以使用 4G 服务了。比起地面基站,气球基站的覆盖范围更大,而且没有障碍物阻挡信号。

气球会飞到距离地面18公里~25公里的平流层,那里没有上下气流,所以气球会停留在同一个高度上。但是,横向的风是很大的问题。为了防止气球被吹走,Loon 带有风向观察功能,一旦发现有风吹来,它会自动上升或下降,避开风,尽量停留在同一个地点。

每个 Loon 气球实际上包含了两个气球。外层是一个充满氦气的气球,为整个产品提供所需的升力;内层是一个充满空气的内部气球,可以抽空或进气。当内层气球膨胀时,外层气球的氦被挤压到密度更高,从而降低升力,开始下降,反之开始上升。通过这种方式,Loon 的工程师可以控制气球的高度,也可以利用不同高度的风,使气球向需要的方向前进。

利用这种导航方式,气球已经可以长距离发射。工程师在新西兰发射气球,然后操纵它飘到阿根廷和澳大利亚的目标地区。该项目计划2019年在肯尼亚提供 4G 通信服务,气球就将在波多黎各发射,然后飘过大西洋,到达肯尼亚。

气球通过自带的太阳能板获取电力,每只气球可以使用几百天。2017年,波多黎各飓风时期,地面通信都被摧毁了,Loon 气球成功地为灾区提供了手机信号。

本周图片

1、公共汽车的候车亭

奥地利一个没有名气的小镇,希望发展旅游业。他们邀请世界最著名的设计师,为他们设计公共汽车的候车亭,报酬是可以来小镇免费度假。现在,这样的候车亭已经有了近10座。

2、声波反射器

第一次世界大战是第一场有飞机参与的战争。当时还没有雷达,为了提早发现敌机的飞行路线,英国在海岸边的悬崖上架设了很多声音反射器,将飞机发动机的音波反射到地面上,以便提早发现。

3、曼哈顿的航拍照片

本周金句

1、

不要刻意去记住某件事,而要去寻找使其显而易见的解释。

理查德·费曼

2、

“X公司使用的是什么语言”,这种话毫无意义,编程语言与公司的成功关系不大。某个公司使用哪种语言,主要是早期创始人的偏好。

《论编程语言的选择》

3、

学习函数式编程对我产生的影响是,让我更加关注哪些概念自然地被视为“对象”,哪些概念是不可变的“值”。

我还会更加注意,我的代码是否包含副作用,从而更谨慎地隔离这些地方,使代码更多是“纯的”,这大大提高了我的面向对象代码的可测试性。

《函数式编程对面向对象的程序员有什么用?》

4、

招聘高级工程师时,不是公司选择候选人,而是候选人选择公司。

《招聘人才不是买,而是卖》

欢迎订阅

这个专栏每周五发布,同步更新在我的个人网站微信公众号语雀

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

(完)