weekly/docs/issue-26.md

324 lines
21 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 每周分享第 26 期
这里记录过去一周,我看到的值得分享的东西,每周五发布。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101201.jpg)
[Basecamp](https://basecamp.com/) 是 IT 行业很有名的一家公司,提供团队协作工具,同时也是 Rails on Ruby 框架的创造者。这家公司的特别之处在于,它不仅写软件,还写畅销书!
它的两位老板喜欢写书,已经出版了三本----《Rework》、《Getting Real》和《Remote》----每一本都卖得很好。最近,他们又出版了第四本[《工作何必疯狂》](https://basecamp.com/books/calm)It Doesn't Have to Be Crazy at Work见上图
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101202.jpg)
这本新书的主要观点是IT 行业的员工加班或者说投入工作的程度已经超过了合理标准接近于疯狂应该得到遏制。很多软件工程师每周的工作时间已经达到了60小时甚至70、80小时。除了工作和睡眠生活几乎没有其他内容。作者认为这是错误的。
加班真的是 IT 行业的日常。国内有过一个[《2016 年 IT 公司加班时间排行榜》](http://news.zol.com.cn/623/6234607.html)排名前三位的分别是华为、腾讯和阿里平均每天的加班时间分别为3.96小时、3.92小时和3.89小时。
是不是一定要那么多加班?这本书说,也不是。加班多的一个因素是,公司没有好好珍惜员工的时间,打断工作的事情特别多,最典型的举措就是开放式办公室,使得人们互相干扰。员工因此不得不加班,因为在正常时间内无法完成工作。作者认为,公司应该创造条件,让员工全身心投入工作,不要拖到夜深人静时才能没有打扰。
> 许多公司似乎都很擅长浪费浪费时间、注意力、金钱、精力。每周60、70、80的工作小时中有多少是真正用于工作本身的又有多少时间是在会议中浪费掉的或被各种琐事打断的大部分吧。
>
> 答案不是更多的时间投入,而是减少浪费,减少员工的注意力分散,减少那些引起焦虑和压力的事情。
同时这本书也指出IT 公司的工作任务也确实过多:无休止的需求、不断的营销活动、精确到小时的排期,都给工程师带来了焦虑和压力。普通的行业,用户一年增长一倍,绝对是值得庆祝的,但是 IT 行业不行。这个行业渴望的是一年增长十倍甚至百倍要的是从0变成独角兽的那种速度。
作者说我们要一定要这样吗IT 行业对高速增长有一种不健康的痴迷。正是这种痴迷,使得人们产生不切实际的期望,导致从业者精疲力尽。
这本书的主张是,软件行业也可以是一个平静的行业,而不一定像现在这样,是一个加速再加速的行业。平静才是长期可持续发展的关键。(注意,这里不是指公司,公司只要不断雇佣新人,就可以让工作永远加速运行。但是员工不行,人的生理和心理都不是可以长期透支的。)
> 过去的18年里我们一直致力于让 Basecamp 成为一家平静的公司。我们不提出不可能的承诺,不追求高额的营业额,不设置最后期限,不人为制造繁忙的工作和系统性的焦虑。有些项目似乎永远不会结束,我们觉得也 OK。
## 新闻
1、[氢气列车](https://www.theguardian.com/environment/2018/sep/17/germany-launches-worlds-first-hydrogen-powered-train)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101203.jpg)
德国开通全世界第一列氢气列车运行在一条100公里的线路上。氢气列车通过氢气和氧气的化学反应产生能量转化为电力唯一的排放物就是水。单个氢气罐可以支持列车行驶1,000公里。
列车由法国的阿尔斯通公司制造。阿尔斯通表示计划到2021年向德国再提供14辆氢气列车而英国荷兰丹麦挪威意大利和加拿大等国也有兴趣。法国政府已经表示要在2022年之前将第一批氢气列车投入使用。
氢气的最大问题,就是很难大量运输。这就是为什么氢气汽车没法推广,因为氢气加油站的网络建设不了。但是,火车就没有这个问题,每个城市的火车站都可以建氢气供应站。
2、[日本的小行星探测器](https://www.bbc.com/news/science-environment-45578795)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101204.jpg)
9月21日日本的隼鸟二号飞船Hayabusa-2到达了一个名叫 Ryugu 的小行星,释放了两辆探测车成功登陆。这是人类探测器第一次登陆小行星。
Ryugu 小行星其实是一块一公里长的太空岩石。隼鸟二号是2014年12月3日发射的足足飞了近四年才达到那里。由于小行星接近于没有重力探测车无法行驶而是跳跃式前进向前动一下就会跳起来。探测车已经发回了第一批照片。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101205.jpg)
探测车的下一步的任务是10月下旬引爆一些炸药收集炸出来的岩石。我的疑问太空没有空气为什么能产生爆炸这些岩石没有暴露在太空环境所以是原始的。一年后的2019年12月隼鸟二号飞船将返程将小行星的岩石样本送回地球。
3、[最古老的动物化石](https://www.theguardian.com/science/2017/apr/12/mattresses-the-universe-and-everything-fossils-of-ediacaran-biota)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101206.jpg)
科学家最近在俄罗斯偏远地区的一处悬崖发现了一块古老的海洋生物化石。经过鉴定该化石距今大约5.58亿年,是已知最古老的动物化石。下图是发现化石的现场。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101207.jpg)
4、[IPv6 的普及状况](https://whynoipv6.com/)
IPv6 诞生至今已经25年了依然没有得过普及。世界前1000位的网站只有304个启用了 IPv6。前100万位的网站总支持率是18.6%。
一个网站启用 IPv6 有两个条件:一是网站本身支持 IPv6域名有 AAAA 记录),二是网站的 DNS 主机支持IPv6。下面是排名最靠前的不支持 IPv6 的网站。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101208.jpg)
5、[机器人皮肤](https://news.yale.edu/2018/09/19/robotic-skins-turn-everyday-objects-robots)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101209.jpg)
耶鲁大学的科学家发明了一种可卷曲的"机器人皮肤",可以包裹在任何物体的外层,使得该物体变成可以控制的机器人。上图是毛绒填充的小马玩具穿上"机器人皮肤"以后,变成可以走动了。
科学家已经实现了,给气球穿上"机器人皮肤",使得气球变成可以编程控制。
6、[无人机查税](https://www.reuters.com/article/us-greece-taxes-drones/greece-uses-high-tech-drones-to-fight-tax-evasion-in-holiday-hot-spots-idUSKCN1M41SJ)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101210.jpg)
希腊的圣托里尼岛是世界著名的旅游景点,每年有大量的游客参加一日游项目。但是,很多导游公司为了逃税,隐瞒游客数量。
当地政府开始启用无人机观察游客数量以及出海的游船用来评估当地业者应该交税的数量。据称已经查到9艘没有开票的游船涉及收入总计约25,000欧元游船主人现在面临罚款。
7、[南大西洋的海底电缆](https://dyn.com/blog/first-subsea-cable-across-south-atlantic-activated/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101211.jpg)
最近,安哥拉到巴西的海底电缆铺设完成,这是历史上第一条南大西洋的海底电缆。南部非洲和南美洲以前从来没有直连的海底电缆。
这条电缆也是南美洲第一条不经过美国的国际互联网线路。2020年巴西直达欧洲葡萄牙的海底电缆也将完成。
8、[AI 艺术品](https://www.engadget.com/2018/08/22/christies-auction-ai-generated-art-first-time/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101212.jpg)
这个月佳士得将首次拍卖人工智能艺术品。一幅算法生成的人物肖像估价达到了1万美元。
事实上,已经有很多绘画机器人,通过大量画作的训练,会自动生成美术作品。下面[六幅抽象画](https://qz.com/work/1390121/can-you-guess-which-of-these-paintings-was-not-made-by-a-human/),有五幅是人的作品,还有一幅软件生成的,你能看出来是哪一幅吗?
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101213.jpg)
9、__一句话新闻__
* [美国科学家](https://newatlas.com/molecule-fasting-vascular-system/56360/)发现人体在禁食期间会产生一种分子防止血管系统的衰老。也就是说24小时不吃东西有助于延长寿命和防止衰老。<br>
* [Java 11](https://blog.joda.org/2018/09/do-not-fall-into-oracles-java-11-trap.html) 最近发布了。但是,你不要用 Oracle 的官方 JDK 开发,因为那个 JDK 升级和用于生产环境是要钱的。你应该使用 OpenJDK[Redhat ](https://developers.redhat.com/blog/2018/09/24/the-future-of-java-and-openjdk-updates-without-oracle-support/)公开承诺将持续维护 OpenJDK。<br>
* [Facebook](https://www.cnbc.com/2018/09/18/facebook-signs-deal-to-supply-singapore-operations-with-clean-energy.html) 宣布新建的新加坡数据中心将百分百采用可再生能源主要由安装在近900个屋顶上的太阳能电池板供电。该项目预计将在2020年完成。<br>
* [Firefox](https://blog.mozilla.org/blog/2018/09/18/firefox-reality-now-available/) 推出 VR 设备专用的网络浏览器。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101214.jpg)
## 教程
1、[异常处理是错误的设计](http://www.lighterra.com/papers/exceptionsharmful/)(英文)
许多主流语言都采用抛出异常的方式处理错误,这篇文章认为,这种设计是错误的,传统的返回值是更好的方式。抛出异常的主要好处是,可以将业务代码与错误处理代码分开,缺点是它改变了控制流,有点像 goto 语言,可以随意跳转。
2、[如何撰写技术文档](https://www.divio.com/blog/documentation/)(英文)
技术文档documents分成四种教程tutorial、指导guide、解释explanation和参考reference。本文解释了每一种文档的特点并给出了写作建议。
3、[阿里巴巴的18位创始人](https://iprice.sg/trends/insights/history-jack-ma-alibaba-18-founders/)(英文)
1999年阿里巴巴集团成立当时共有18位创始人大部分是马云的同事、朋友和学生。这篇文章汇总了这18个人的公开资料。
4、[使用 Qt 为 Python 脚本添加图形界面](https://build-system.fman.io/pyqt5-tutorial)(英文)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101215.jpg)
Qt 是一个 C++ 写的跨平台控件库PyQt 将其移植到 Python可以很方便地为 Python 脚本添加图形界面。
5、[微服务入门示例](https://blog.apcelent.com/setup-microservices-architecture-in-python-with-zeromq-docker.html)(英文)
本文解释了什么是微服务架构,并且给出了一个简单的示例,在 Docker 里面使用 Flask 框架和 ZeroMQ 搭建一个简单的微服务应用。
6、[为什么使用 i3 窗口管理器?](https://opensource.com/article/18/8/i3-tiling-window-manager)(英文)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101216.jpg)
Linux 发行版一般都自带桌面环境如果你需要的只是一个好用的命令行那么你可以放弃桌面环境改用窗口管理器。i3 就是一个很好用的平铺式窗口管理器,本文给出了五个推荐理由。如果你有兴趣的话,这里还有一篇[简单教程](https://opensource.com/article/18/8/getting-started-i3-window-manager)。
7、[Pi-hole 拦截广告](https://www.troyhunt.com/mmm-pi-hole/)(英文)
如果你还在用广告拦截器Pi-hole 是更好的选择。它是树莓派上的 DNS 服务器,架设在局域网里面,内置黑名单,拦截广告域名的 DNS 请求。从此,局域网所有设备都看不到广告。
8、[如何制作命令行动画?](https://github.com/harrinp/Command-line-guide/blob/master/README.md)(英文)
本文介绍如何使用 ncurses 这个 C 语言标准库,写一个简单的命令行动画。
9、[如何将 Web 应用做成 Docker](https://itnext.io/dockerizing-modern-web-apps-cd9667eebf44)(英文)
本文通过一个很简单的单页应用,演示如何将 Web 应用放到 Docker 里面,然后通过 Docker 运行。
## 资源
1、[Youtube 的教育视频](https://news.ycombinator.com/item?id=17999659)
如果你不知道 Youtube 上可以学什么,就来看看这个帖子。当然,所有资源都是英语的。
2、[计算机组织导论:以树莓派和 ARM 汇编语言为例](http://bob.cs.sonoma.edu/IntroCompOrg-RPi/frontmatter-1.html)
开源教材,介绍计算机的底层实现,写得比较好懂。
3、[从零开始写一个操作系统](https://github.com/cfenollosa/os-tutorial)
一个教程库,每一步都有指导,教你怎么写出一个简单的操作系统。
4、[创业公司](http://thefounder.biz/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101217.jpg)
一个网页游戏,玩家是创业公司的创始人,模拟经营这家公司,完成各种任务。
5、[各种算法的 Python 实现](https://github.com/TheAlgorithms/Python)
这个仓库收集 Python 语言实现的各种算法代码。
## 工具
1、[ReactXP](https://microsoft.github.io/reactxp/)
微软基于 React Native 开发的框架,沿用了 React Native 的 API可以用同一套代码编译出 Web、手机 和 Windows 应用。
2、[Bing 的图像搜索](https://battellemedia.com/archives/2018/09/if-software-is-eating-the-world-what-will-come-out-the-other-end)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101218.jpg)
与谷歌一样Bing 也提供图像搜索。但是,它还带有裁剪功能,可以只搜索图像的一部分。
3、[富文本编辑器 Trix](https://github.com/basecamp/trix)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101219.jpg)
Rails 框架的创造者 Basecamp 公司,开发了一个富文本编辑器 Trix发布1.0版了。
4、[Cephes](https://www.nearform.com/blog/webassembly-cephes/)
Cephes 是 JavaScript (准确说是 WebAssembly的数学函数库类似 Python 的 SciPy。
5、[qutebrowser](https://www.qutebrowser.org/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101220.jpg)
一个 Qt 库制作的最简化浏览器,内核是 Chromium。最大特点就是它自带命令行可以完全用键盘操作。
6、[DNS 1.1.1.1](https://1.1.1.1/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101221.jpg)
该网站提供指导,如何将各种操作系统或设备的 DNS 设为 1.1.1.1。
7、[sqlfmt](https://sqlfum.pt/)
SQL 语句格式化的在线工具。
8、[Caddy](https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/)
Caddy 是一个支持 HTTP/2自带 HTTPS 功能的跨平台、易于使用的 Web 服务器。
9、[camelot](https://github.com/socialcopsdev/camelot)
从 PDF 文件(非扫描)里面提取表格的 Python 库。
## 文摘
1、[Chrome 的恐龙游戏](https://www.eyerys.com/articles/history-google-chromes-offline-dinosaur-game-17-million-years-runner-game)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101222.jpg)
Chrome 浏览器由于网络中断、无法上网时,会显示一个恐龙游戏。一头霸王龙困在沙漠之中,必须不停地奔跑,且必须跳跃避开像仙人掌和翼手龙这样的障碍物,随着游戏的进展,速度会越来越快。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101223.jpg)
该游戏于2014年9月首次发布。地址栏键入 chrome://dino 就可以进入该游戏。开始游戏的方法是PC 用户按一下空格键,手机用户点击恐龙。
游戏的设计师塞巴斯蒂安·加布里尔Sebastien Gabriel断网就好比回到互联网之前的时代因此我们设想出这个回归"史前时代"的游戏,那时的计算机用户好比恐龙,无网可上就像困在沙漠中。恐龙的形象采用像素艺术的风格,恐龙的动作故意设计得很僵化。
只要不触碰障碍用户可以一直游戏下去。游戏内部设置的最长游戏时间是1700万年这大约是霸王龙在地球上存活的时间。
2、[湾区就是新的矿场](https://pedestrianobservations.com/2018/09/24/the-mines/)
19世纪时美国社会有一个流行的现象。许多年轻人离乡背井为了得到高薪去遥远的西部矿场挖矿。在那里工作几年就可以赚取足够的钱回家娶一个老婆。矿场的生活是非常艰苦的条件很差这也是矿主支付高薪的原因否则没人愿意来。
20世纪时这种现象变成了石油行业。石油钻井平台通常都在偏远地区有的还是在沙漠和海洋里。石油工人可以得到高工资代价是恶劣的生活条件以及远离家庭的孤独。
现在,这种现象变成了 IT 行业。年轻人为了高薪来到湾区当程序员同样过着艰苦的生活。我听说旧金山的一间卧室里面居然住了好几个大学毕业生因为旧金山双居室公寓的租金是5500美元/月。有些谷歌的雇员也是合住,而且地理位置也不好,离交通干线很远。
很多人把湾区看成新时代的矿场。IT 行业的工资比其他行业高那些外来的程序员计划是省钱忍受一段时间的恶劣生活然后在30多岁退休再去低成本城市工作并在那里开始家庭生活。
## 本周图片
1、[南极洲的冰川裂缝](https://www.iflscience.com/environment/scientists-think-a-giant-artificial-wall-propped-up-under-antarcticas-ice-sheets-could-stop-catastrophic-sea-level-rise/all/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101224.jpg)
上图是充满裂缝的冰川。由于气温上升,南极洲的冰川开始崩解,变成小块落入海中,然后融化。
2、[海市蜃楼](http://epod.usra.edu/blog/2018/09/fata-morgana-in-the-juan-de-fuca-strait.html)
下面是2018年8月有人在加拿大拍到的海市蜃楼照片。船的形状一直在改变整个过程持续了半个小时然后就消失不见了。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101225.jpg)
3、[珍道具](http://www.messynessychic.com/2018/09/21/the-inexplicably-fascinating-japanese-art-of-being-useless/)
珍道具Chindōgu是一些富有创意但并不实用的发明。它是今年71岁的 Kenji Kawakami 在上个世纪90年代发起的。当时他负责编制一本针对日本家庭主妇的邮购商品目录。有时候商品目录看起来很薄他就会加入一些自己制作的产品有点像恶作剧。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101226.jpg)
遮雨的鞋子。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101227.jpg)
唇膏状的黄油棒。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101228.jpg)
带有扫帚功能的拖鞋。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101229.jpg)
感冒患者专用的面纸架。
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101230.jpg)
喷水的牙刷。
## 新奇
1、[便携打字机](https://techcrunch.com/2018/10/02/the-freewrite-traveler-offers-distraction-free-writing-for-the-road/)
![](https://cdn.beekka.com/blogimg/asset/201810/bg2018101231.jpg)
美国一家公司推出一台便携式设备只能用于打字这是为了防止使用者分心。它包括一个全尺寸键盘和一个电子墨水屏可以打开多个文档系统会自动保存并同步到Dropbox等服务。该设备的众筹价是279美元。
## 本周金句
1、
七年前,风险投资家 Marc Andreessen 写了一篇文章[《软件正在吞噬世界》](https://a16z.com/2016/08/20/why-software-is-eating-the-world/)。他提出,软件公司将会赢得世界。
现在我们知道,他是对的。但是,他没有提到,这个社会的大部分人不拥有软件公司,而是生活在被软件吃掉的世界里。
-- [John Battelle](https://battellemedia.com/archives/2018/09/if-software-is-eating-the-world-what-will-come-out-the-other-end)《被软件吃掉的世界》
2、
我有时觉得硅谷是一个游戏每个玩家有10年时间。在这10年里面如果你发财了就赢得了游戏否则你就出局必须离开硅谷。
-- [Florent Crivello](https://florentcrivello.com/index.php/2018/09/25/go-west-young-man/)
## 欢迎订阅
这个专栏每周五发布,同步更新在我的[个人网站](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)
(完)