weekly/docs/issue-33.md

24 KiB
Raw Permalink Blame History

每周分享第 33 期

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

欢迎投稿,请前往 GitHub 的 ruanyf/weekly 提交 issue。

上周六是台北市长选举。原定下午四点结束投票,但是排队的人太多,于是改成只要四点你还在排队,就可以投票。

等到最后一个人投完,已经晚上七点半了。为什么这么慢?原因是每个人拿到十几张选票,都是纸质的,需要一张张打勾,然后投在不同的票箱,这就很慢了。

然后,就发生了很尴尬的事情。按照规定,四点要开票,于是出现了“一边开票,一边投票”的情况。本来这也不算大问题,偏偏在投票还是古代方法的情况下,开票已经进入互联网时代,各大电视台、各网站都现场直播每个候选人的票数。这造成了很多人还在等待投票的时候,已经从手机上看到实时开票了。这就像比赛已经开始了,你还能继续购买足球彩票,这就很有争议了。

半夜2点半总算把开票结果统计出来了现任的柯文哲市长只赢了3000票。输掉的一方连夜到法院起诉认为选举不公要求裁决结果无效。

这里不谈选举结果只看这件事本身纸质选票、排队几小时、人工唱票、统计到半夜……已经21世纪了需要这么麻烦吗如果网络投票这些问题都不会存在。每个人在手机上按几下四点一到数据库一秒钟就告诉你谁当选不会有任何差错。

思维再放开一点,远程办公都已经变成现实了,议会也完全可以远程开会,政府也可以远程管理。实体的政府大楼以后可能都没必要,就好像你不需要知道网店的物理地址。

新闻

1、俄罗斯船坞沉没

10月29日俄罗斯唯一的巨型船坞 PD-50突然出现事故起重机倒塌砸在船坞上沉没到了海底。尴尬的是俄罗斯唯一的航空母舰“库兹涅佐夫”号正在船坞里面维修升级它倒没有沉没但是修到一半船坞突然没了

打捞 PD-50 需要耗费大量的金钱,以及两三年的时间,俄罗斯又没有替代船坞,现在要么终止库兹涅佐夫号的升级,拆下来的零件装回去,要么将它送到国外去修。

2、疑似外星飞船的小行星“奥陌陌”

2017年底天文学家发现了一个奇怪的小行星 Oumuamua中文译名“奥陌陌”。它有一个橄榄球场那么大跟别的小行星形状都不一样是狭长的矩形有着奇怪的飞行轨迹还会时不时加速。上图是它的想象图。

天文学家认为,它的轨道可能是罕见的双曲线。也有人发表论文提出,它可能是利用光帆推进的外星飞船,参见维基百科

3、储能材料

瑞典科学家发明了一种液态分子材料,可以储存太阳能。这种材料由碳、氢和氮分子组成,被阳光照射时,会转化为一种富含能量的异构体,即分子的排列方式会改变。

这种异构体可以储存长达18年当要使用能量时就让它通过一种催化剂。液体在通过前温度为20摄氏度通过后就上升到83摄氏度。储藏的太阳能以热能的形式释放出来同时异构体恢复到原始形态的分子形态这样就可以在加温系统中重复使用。

4、高超音速飞机

高超音速飞机指的是飞行速度至少为音速五倍的飞机。分析家认为,特朗普政府退出《中程导弹条约》的主要目的,就是研制高超音速飞机或导弹。

这种飞机的主要难度在于,当达到高超音速时,空气阻力将产生持续的强烈摩擦,释放出巨大的热量,因此需要良好的冷却机制。另一方面,如此高的速度还需要大量的燃料或庞大的燃料箱,并且大量汲取气体,帮助燃烧。除非燃料以精确的模式燃烧,否则在高超音速下燃烧也很困难。

2017年美国军方测试了两架使用助推火箭进行初始加速的高超音速喷射式飞机。结果两架飞机都坠毁了但其中一架飞机在发生故障前几分钟的持续高超音速飞行成功。

5、Linux on Dex

三星公司宣布,三星手机可以启动 Linux 容器。连接显示器,就会变成 Ubuntu 桌面环境,从而在手机上达到 PC 开发的体验。目前,该技术只支持 Note9 和 Tab S4。这比手机上运行办公软件有吸引力多了。

6、新型厕所

比尔盖茨在北京“新世纪厕所博览会”上表示过去七年他的基金会投入了2亿美元研发了20种新型厕所可以消除人类粪便里面的病原体将其转为清洁的水和肥料。盖茨认为这些厕所可以挽救50万人的生命并节省2000亿美元以上的资金。

其中一种厕所是加州理工学院开发的,使用电力将水和人类废物分解成肥料和氢气,后者可以作为能源储存在氢燃料电池中。

7、使用 Wifi 信号探索空间

Wifi 信号就是无线电波,充满整个空间。当人们移动时,他们会扭曲空间,反射和折射无线电波。理论上说,可以利用这个不断变化的电磁场确定个体的位置、行为和动作。实际上,已经有一些使用 WiFi 进行透视的成像系统。但是,这些系统需要知道 Wifi 发射器的确切位置,并且需要登录到网络,以便发送探测信号。

现在,加州大学圣巴巴拉分校开发出了一种方法,使用普通智能手机,通过探测 WiFi 信号在某个位置的强度变化,逐步推测出墙壁后的整个景象。

8、没有舷窗的飞机

阿联酋航空最新飞机的头等舱,将用液晶屏幕代替舷窗。乘客看到的窗外景象,其实是摄像头拍摄的实时影像。阿联酋航空希望,未来将所有舷窗都替换掉。

这样做的主要目的是减轻重量据说一架没有窗户的飞机可以减轻50%的重量,因而降低制造成本和飞行成本,而且有利提高机身的强度。

9、过度肥胖引发的损失

一家研究机构称过度肥胖每年使得美国损失1.7万亿美元。其中直接的医疗保健费用4807亿美元间接的生产力损失1.24万亿美元。

2016年近40的美国人肥胖33的人超重但不肥胖。计算依据是 BMI体重除以身高的平方超过30为肥胖25~30之间为超重。肥胖导致了75的骨关节炎64的糖尿病73的肾病。

10、一句话新闻

  • Verily(谷歌的生命科学公司)宣布,终止监测血糖的隐形眼镜项目。该项目从泪液里面的葡萄糖推算血糖,但是现在发现这种推算无法达到医疗级别的准确性。

  • Facebook 开始使用 AI 扫描用户的帐户判断用户是否会自杀一旦发现可疑对象将报告当地警方。第一个月就发现了100个案例。

  • 抖音的海外版 TikTok 在美国 Apple App Store 中排名第一已经在美国下载和安装了近8000万次含安卓版

  • 比特币最近跌破4000美元有人估算它的电费成本是4022美元假定每度电7美分因此挖矿已经无法弥补成本了。

  • 亚马逊公司推出地球卫星站服务,你自己负责发射卫星,然后租赁他的卫星地面站,通过 AWS 网络接收自家的卫星信号。

教程

1、如何在安卓手机里清除谷歌?(英文)

本文作者讲述如何将红米手机重刷系统,剔除了所有谷歌相关的服务。

2、IPFS 简介(英文)

IPFS 是一个分布式的互联网协议,底层机制类似于将网站发布到区块链。本文介绍 IPFS 的特点,不涉及技术细节。

3、AWS 网络介绍(英文)

本文介绍亚马逊网络服务AWS对用户提供的子网服务。每个购买 AWS 的用户会分配到一个 VPC虚拟私有云即一个虚拟子网比如 10.0.0.0/16文章介绍与之相关的一些概念和知识。

4、为什么静态资源应该使用 CDN(英文)

本文用一个简单的例子解释什么是 CDN以及它的好处。

5、HAProxy 的防 DDOS 机制(英文)

HAProxy 是一个负载均衡服务器,自带过滤 HTTP 请求的功能,可以防止应用层的 DDOS 攻击,这方面比 nginx 更强大。

6、Python 的数据序列化(英文)

本文介绍 Python 的各种数据序列化方案,包括 XML、JSON、MsgPack、Protobuf、Thrift等。

7、如何定制一个调色板(英文)

本文介绍如何为自己的应用定制一个调色板,指定各种颜色。

8、图解 DNS over HTTPS(英文)

长期以来DNS 请求一直是不加密的,这造成 DNS 可能被监听和篡改。最新的方案是推广 DNS over HTTPS即对 DNS 请求加密Mozilla 基金会的这篇文章解释了这是怎么回事。

9、网页加载Three.js、Rust 和 WebAssembly(英文)

本文通过一个简单的实例,介绍网页如何加载用 Rust 写的 WebAssembly 模块。

资源

1、console.love

很多公司会在浏览器的控制台隐藏信息,这个网站收集这类有隐藏信息的网站。

2、testing-distributed-systems

一个搜集各种分布式系统的资料库。

3、人间乐园

《人间乐园》是15世纪荷兰画家博斯的著名作品该网站将这幅画进行了多级扫描做成了类似网上地图那样可以自动移动多级放大的版本。

4、crushcourse.club

Crash Course 是一个 Youtube 的教育频道。B站上面有很多翻译小组。他们组成了一个联盟防止翻译重复并提供了索引。@showerc 投稿)

5、GraphQL 全栈课程(英文)

Prisma 公司推出的免费课程,分成基础知识、前端、后端三个部分。

6、登录页设计

登录页的各种页面设计,可以免费下载模板。

7、GraphQL 之路

开源电子书,介绍如何使用 React.js 和 Node.js 开发 GraphQL 应用。

工具

1、DeOldify

老照片着色的机器学习库。

2、ace

一个可以嵌入网页的代码编辑器,使用 JavaScript 开发。

3、HTML-notepad

一个所见即所得的轻量级、跨平台桌面笔记本,大小为 2MB。

4、Captisa

一个创建在线表单的网站,并提供数据储存,可以在后台查看表单收集的数据。

5、dive

我们知道Docker 的 image 文件不是一个单一文件,而是包含了许多层。该工具用来查看并定制 image 文件的每一层。

6、signale

一个 Node 的日志格式库自带16个级别可以定制颜色和 Emoji。

7、ervy

命令行打印图表的库。

8、JSCity

该工具可以将 JS 项目的源代码显示为一座城市。还有一个类似的项目,专用于 Go 语言。

9、stickybits

CSS 的 position: sticky 是一个很有用的设置,但是老的浏览器不支持。这个 JS 库是该功能的垫片库。

10、GoJS

GoJS 是一个功能丰富的 JS 库,用于在浏览器上实现自定义交互式图表和复杂的可视化图表。 @nivance 投稿)

11、谷歌的代码托管服务

谷歌重新推出了自己的 Git 代码托管服务可以建多个私有仓库免费版一个仓库最多5个用户带有自动构建和测试。

文摘

1、361 艇事件

2003年4月26日北海舰队下属某大队接到基地通知在我防区有一潜艇漂浮在海面情况不明。大队派出611和622两艘艇过去侦查。赶到出事地点――渤海和黄海交界处的内长山群岛时天已微黑潜艇舷号已涂死看不出潜艇的任何情况。

他们把现场情况报告上级后,上级分析可能是日本或韩国潜艇。于是全艇立即拉响战斗警报,进入一级战斗准备,所有人员手中的武器都子弹上膛。这两艘艇围着潜艇转了大概两小时,发现艇内毫无动静。这时候天色已晚,上级命令他们原地监视,等待增援。

第二天潜艇还是毫无动静。于是上级命令登上潜艇当他们登上潜艇的时候才发现这是我们海军的361潜艇此时所有官兵已经全部牺牲在自己的岗位上航海日志被定格在4月16日。令人感到不可思议的是潜艇完好无损官兵们神态安详没有挣扎的痕迹甚至脸上都没有一丝痛苦的表情。

70名官兵殉职现场没有任何伤痕任谁都想知道、但谁也不知道361艇当时到底发生了什么这是自人民海军组建以来最严重的一起事故。军委高层震怒命令将361号潜艇立即拖回旅顺基地追查事故原因。

后来事故调查组的通报还原了361潜艇的最后时刻。361号潜艇是常规动力潜艇也叫做柴电潜艇依靠柴油机和电池保证动力。电池充电需要启动柴油机而汽柴油机需要大量氧气才能够运作。

事故当天361号潜艇电池电力逐步耗尽潜艇上浮准备运行柴油发电机为电池充电。潜艇上浮到潜望镜距离将潜望镜和通气管伸出海面启动了发电机。但当时海面风急浪大海水进入通气管导致管口阀门自动关闭以防止潜艇沉没也就是说潜艇自动切断海面上的空气进口。而此时正在运作的柴油发电机却没有停止仍然在大量吸收氧气。在短短2分钟内艇内所有氧气被消耗一空70名官兵瞬间就遭遇了可怕的窒息。窒息开始约2到3分钟后所有人员必死无疑。

简单说361艇的事故原因就是两条。

第一潜艇设备有缺陷。对于常规潜艇充电时存在安全隐患这是各国军方都清楚知道的事情。作为这种隐患的防备技术并不难解决只要简单的对艇内氧气检测一旦低于危险标准就自动关闭柴油机或者至少进行报警就行了。但遗憾的是361号潜艇压根没有这种设备。

第二潜艇官兵有失误。正常的充电期间只要启动柴油机就务必确认通气管是否打开。柴油机工作时最好将机舱密封防止危及全艇。如发现情况操作员就要以最短的时间使柴油机停止工作并进行通风换气。但遗憾的是所有这些361号潜艇都没有做到以至遭受灭顶之灾。

至于为何涂死舷号当时361艇正在前往别国海域执行侦察任务将舷号涂死是各国海军通行做法。同时为了避免暴露自己必须保持无线电静默状态因此有一段时间不跟总部联系也是正常的。

2003年6月13日新华社发布消息'海军361潜艇失事原因已查明是由于指挥操纵不当造成的。中央军委作出决定对361潜艇特大事故负有责任的有关人员进行严肃处理。给予济南军区副司令员兼海军北海舰队司令员丁一平、海军北海舰队政治委员陈先锋行政降职处分同时分别给予其他8名有关人员以行政撤职、降职等纪律处分。同一天还发布了海军司令员石云生、政委杨怀庆被免职的消息。

2003年4月29日就在事故发生后的13天数十名官兵奉命重新组建361潜艇。2004年8月361潜艇奉命进厂中修改装。361潜艇是同类型潜艇中第一艘进行现代化改装的潜艇。2005年2月22日改装后的361潜艇进行新组建后的第一次海上试验。

2、21世纪的编程语言

21世纪已经发明了相当多的编程语言Swift、Kotlin 和 Go 可能是其中最受欢迎的。

然而21世纪语言设计的特点在于语言本身没有任何明显的特点只是增加了使用者的方便。你可以用一个周末学习一门新语言而不会真正学到任何新东西。这些语言根本没有任何新东西它们都是吸收了前人“正确的部分”比如 Objective-C、Java 或 C。

虽然继承前人确实是有价值的但问题就来了它们到底算21世纪的语言还是仅仅为20世纪语言的延续

如果我要发明一种新语言,我不会试图修复过去,而会尝试一些激进的设计决策。

首先,我会摆脱算术符号和括号这样的符号,这些元素完全是粉笔和黑板时代的遗存,完全无助于可读性,只是为了写起来方便。它们应该退休了。

FILE * test_file = fopen("/tmp/test.txt", "w+");

上面这样的语句,应该改成下面这样。

create file /tmp/test.txt for input and output as test_file

我们不需要括号,引号,星号和分号(除非它们真的帮助我们更好地表达事物)。

21世纪有些东西的成本很低了解析时间、计算机内存、在线搜索。我们真正需要节约的是开发时间、程序员的记忆力、学习语言细节所要付出的努力。新语言应该充分利用便宜的东西而不是那些昂贵的东西。

本周图片

1、远程集会

2017年9月26日维基解密的创办人阿桑奇与巴塞罗那大学的学生举行视频会议。以后政治集会大概都会是下图这样现场与远程结合进行。

2、安斯库姆四重奏

1973年统计学家弗朗西斯·安斯库姆Francis Anscombe提出了上面四个数据集它们的平均数、方差、相关系数、线性方程式完全一致。也就是说你从特征值上面根本不会发现这四个数据集是完全不同的。

他以此证明分析数据之前绘制数据的重要性,以及异常值对统计特性的影响,指出有些统计学家的观念“数值计算是精确的,图表用处不大”是错误的。

3、海岸线悖论

英国的海岸线有多长,取决于你怎么测量。如果测量单位是 100 公里英国海岸线长度大约2800公里。

如果测量单位为50公里海岸线总长度为 3400 公里多出了600公里。

本周金句

1、

Java 是一种广泛使用的工业语言,但并不是一种很好的教学语言。教学语言的关键指标是简单,但是 Java 在任何方面都不简单。它难于上手,没有像 C 那样简单透明的执行模型,也没有像 Scheme 和 ML 那样优雅的计算步骤,唯一真正的优势是就业。

-- 《如何选择教学语言》

2、

许多有名的作家都是每天早上安排3-4小时的写作一天的其余时间进行散步、通信、午睡和其他智力要求较低的活动。

--《早晨写作

3、

金钱最有价值的用途就是购买时间。

-- 有人提到,自己已经有不少钱了,但还是拼命想赚更多的钱。一个网友做了上面的回应,钱的意义在于它可以换来更多时间,让你去做自己想做的事情。

4、

如果印第安人是在冰河时期,经过白令海峡的路桥到达北美,那么这一定发生在他们掌握缝纫技术之后。否则,他们没有紧密合身的衣服,不可能在冰天雪地中存活。

-- Tim O'Reilly 《未来地图》

欢迎订阅

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

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

(完)