每周分享第 26 期

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

Basecamp 是 IT 行业很有名的一家公司,提供团队协作工具,同时也是 Rails on Ruby 框架的创造者。这家公司的特别之处在于,它不仅写软件,还写畅销书!

它的两位老板喜欢写书,已经出版了三本—-《Rework》、《Getting Real》和《Remote》—-每一本都卖得很好。最近,他们又出版了第四本《工作何必疯狂》(It Doesn’t Have to Be Crazy at Work,见上图)。

这本新书的主要观点是,IT 行业的员工加班(或者说投入工作的程度),已经超过了合理标准,接近于疯狂,应该得到遏制。很多软件工程师每周的工作时间已经达到了60小时,甚至70、80小时。除了工作和睡眠,生活几乎没有其他内容。作者认为,这是错误的。

加班真的是 IT 行业的日常。国内有过一个《2016 年 IT 公司加班时间排行榜》,排名前三位的分别是华为、腾讯和阿里,平均每天的加班时间分别为3.96小时、3.92小时和3.89小时。

是不是一定要那么多加班?这本书说,也不是。加班多的一个因素是,公司没有好好珍惜员工的时间,打断工作的事情特别多,最典型的举措就是开放式办公室,使得人们互相干扰。员工因此不得不加班,因为在正常时间内无法完成工作。作者认为,公司应该创造条件,让员工全身心投入工作,不要拖到夜深人静时才能没有打扰。

许多公司似乎都很擅长浪费:浪费时间、注意力、金钱、精力。每周60、70、80的工作小时中,有多少是真正用于工作本身的?又有多少时间是在会议中浪费掉的,或被各种琐事打断的?大部分吧。

答案不是更多的时间投入,而是减少浪费,减少员工的注意力分散,减少那些引起焦虑和压力的事情。

同时,这本书也指出,IT 公司的工作任务也确实过多:无休止的需求、不断的营销活动、精确到小时的排期,都给工程师带来了焦虑和压力。普通的行业,用户一年增长一倍,绝对是值得庆祝的,但是 IT 行业不行。这个行业渴望的是一年增长十倍,甚至百倍,要的是从0变成独角兽的那种速度。

作者说,我们要一定要这样吗?IT 行业对高速增长有一种不健康的痴迷。正是这种痴迷,使得人们产生不切实际的期望,导致从业者精疲力尽。

这本书的主张是,软件行业也可以是一个平静的行业,而不一定像现在这样,是一个加速再加速的行业。平静才是长期可持续发展的关键。(注意,这里不是指公司,公司只要不断雇佣新人,就可以让工作永远加速运行。但是员工不行,人的生理和心理都不是可以长期透支的。)

过去的18年里,我们一直致力于让 Basecamp 成为一家平静的公司。我们不提出不可能的承诺,不追求高额的营业额,不设置最后期限,不人为制造繁忙的工作和系统性的焦虑。有些项目似乎永远不会结束,我们觉得也 OK。

新闻

1、氢气列车

德国开通全世界第一列氢气列车,运行在一条100公里的线路上。氢气列车通过氢气和氧气的化学反应产生能量,转化为电力,唯一的排放物就是水。单个氢气罐可以支持列车行驶1,000公里。

列车由法国的阿尔斯通公司制造。阿尔斯通表示,计划到2021年向德国再提供14辆氢气列车,而英国,荷兰,丹麦,挪威,意大利和加拿大等国也有兴趣。法国政府已经表示,要在2022年之前将第一批氢气列车投入使用。

氢气的最大问题,就是很难大量运输。这就是为什么氢气汽车没法推广,因为氢气加油站的网络建设不了。但是,火车就没有这个问题,每个城市的火车站都可以建氢气供应站。

2、日本的小行星探测器

9月21日,日本的隼鸟二号飞船(Hayabusa-2)到达了一个名叫 Ryugu 的小行星,释放了两辆探测车成功登陆。这是人类探测器第一次登陆小行星。

Ryugu 小行星其实是一块一公里长的太空岩石。隼鸟二号是2014年12月3日发射的,足足飞了近四年,才达到那里。由于小行星接近于没有重力,探测车无法行驶,而是跳跃式前进,向前动一下就会跳起来。探测车已经发回了第一批照片。

探测车的下一步的任务是,10月下旬引爆一些炸药,收集炸出来的岩石。(我的疑问:太空没有空气,为什么能产生爆炸?)这些岩石没有暴露在太空环境,所以是原始的。一年后的2019年12月,隼鸟二号飞船将返程,将小行星的岩石样本送回地球。

3、最古老的动物化石

科学家最近在俄罗斯偏远地区的一处悬崖,发现了一块古老的海洋生物化石。经过鉴定,该化石距今大约5.58亿年,是已知最古老的动物化石。下图是发现化石的现场。

4、IPv6 的普及状况

IPv6 诞生至今已经25年了,依然没有得过普及。世界前1000位的网站,只有304个启用了 IPv6。前100万位的网站,总支持率是18.6%。

一个网站启用 IPv6 有两个条件:一是网站本身支持 IPv6(域名有 AAAA 记录),二是网站的 DNS 主机支持IPv6。下面是排名最靠前的不支持 IPv6 的网站。

5、机器人皮肤

耶鲁大学的科学家发明了一种可卷曲的”机器人皮肤”,可以包裹在任何物体的外层,使得该物体变成可以控制的机器人。上图是毛绒填充的小马玩具穿上”机器人皮肤”以后,变成可以走动了。

科学家已经实现了,给气球穿上”机器人皮肤”,使得气球变成可以编程控制。

6、无人机查税

希腊的圣托里尼岛是世界著名的旅游景点,每年有大量的游客参加一日游项目。但是,很多导游公司为了逃税,隐瞒游客数量。

当地政府开始启用无人机,观察游客数量,以及出海的游船,用来评估当地业者应该交税的数量。据称,已经查到9艘没有开票的游船,涉及收入总计约25,000欧元,游船主人现在面临罚款。

7、南大西洋的海底电缆

最近,安哥拉到巴西的海底电缆铺设完成,这是历史上第一条南大西洋的海底电缆。南部非洲和南美洲以前从来没有直连的海底电缆。

这条电缆也是南美洲第一条不经过美国的国际互联网线路。2020年,巴西直达欧洲(葡萄牙)的海底电缆也将完成。

8、AI 艺术品

这个月,佳士得将首次拍卖人工智能艺术品。一幅算法生成的人物肖像,估价达到了1万美元。

事实上,已经有很多绘画机器人,通过大量画作的训练,会自动生成美术作品。下面六幅抽象画,有五幅是人的作品,还有一幅软件生成的,你能看出来是哪一幅吗?

9、一句话新闻

  • 美国科学家发现,人体在禁食期间会产生一种分子,防止血管系统的衰老。也就是说,24小时不吃东西,有助于延长寿命和防止衰老。
  • Java 11 最近发布了。但是,你不要用 Oracle 的官方 JDK 开发,因为那个 JDK 升级和用于生产环境是要钱的。你应该使用 OpenJDK,Redhat 公开承诺将持续维护 OpenJDK。
  • Facebook 宣布,新建的新加坡数据中心,将百分百采用可再生能源,主要由安装在近900个屋顶上的太阳能电池板供电。该项目预计将在2020年完成。
  • Firefox 推出 VR 设备专用的网络浏览器。

教程

1、异常处理是错误的设计(英文)

许多主流语言都采用抛出异常的方式处理错误,这篇文章认为,这种设计是错误的,传统的返回值是更好的方式。抛出异常的主要好处是,可以将业务代码与错误处理代码分开,缺点是它改变了控制流,有点像 goto 语言,可以随意跳转。

2、如何撰写技术文档(英文)

技术文档(documents)分成四种:教程(tutorial)、指导(guide)、解释(explanation)和参考(reference)。本文解释了每一种文档的特点,并给出了写作建议。

3、阿里巴巴的18位创始人(英文)

1999年,阿里巴巴集团成立,当时共有18位创始人,大部分是马云的同事、朋友和学生。这篇文章汇总了这18个人的公开资料。

4、使用 Qt 为 Python 脚本添加图形界面(英文)

Qt 是一个 C++ 写的跨平台控件库,PyQt 将其移植到 Python,可以很方便地为 Python 脚本添加图形界面。

5、微服务入门示例(英文)

本文解释了什么是微服务架构,并且给出了一个简单的示例,在 Docker 里面使用 Flask 框架和 ZeroMQ 搭建一个简单的微服务应用。

6、为什么使用 i3 窗口管理器?(英文)

Linux 发行版一般都自带桌面环境,如果你需要的只是一个好用的命令行,那么你可以放弃桌面环境,改用窗口管理器。i3 就是一个很好用的平铺式窗口管理器,本文给出了五个推荐理由。如果你有兴趣的话,这里还有一篇简单教程

7、Pi-hole 拦截广告(英文)

如果你还在用广告拦截器,Pi-hole 是更好的选择。它是树莓派上的 DNS 服务器,架设在局域网里面,内置黑名单,拦截广告域名的 DNS 请求。从此,局域网所有设备都看不到广告。

8、如何制作命令行动画?(英文)

本文介绍如何使用 ncurses 这个 C 语言标准库,写一个简单的命令行动画。

9、如何将 Web 应用做成 Docker?(英文)

本文通过一个很简单的单页应用,演示如何将 Web 应用放到 Docker 里面,然后通过 Docker 运行。

资源

1、Youtube 的教育视频

如果你不知道 Youtube 上可以学什么,就来看看这个帖子。当然,所有资源都是英语的。

2、计算机组织导论:以树莓派和 ARM 汇编语言为例

开源教材,介绍计算机的底层实现,写得比较好懂。

3、从零开始写一个操作系统

一个教程库,每一步都有指导,教你怎么写出一个简单的操作系统。

4、创业公司

一个网页游戏,玩家是创业公司的创始人,模拟经营这家公司,完成各种任务。

5、各种算法的 Python 实现

这个仓库收集 Python 语言实现的各种算法代码。

工具

1、ReactXP

微软基于 React Native 开发的框架,沿用了 React Native 的 API,可以用同一套代码编译出 Web、手机 和 Windows 应用。

2、Bing 的图像搜索

与谷歌一样,Bing 也提供图像搜索。但是,它还带有裁剪功能,可以只搜索图像的一部分。

3、富文本编辑器 Trix

Rails 框架的创造者 Basecamp 公司,开发了一个富文本编辑器 Trix,发布1.0版了。

4、Cephes

Cephes 是 JavaScript (准确说是 WebAssembly)的数学函数库,类似 Python 的 SciPy。

5、qutebrowser

一个 Qt 库制作的最简化浏览器,内核是 Chromium。最大特点就是它自带命令行,可以完全用键盘操作。

6、DNS 1.1.1.1

该网站提供指导,如何将各种操作系统或设备的 DNS 设为 1.1.1.1。

7、sqlfmt

SQL 语句格式化的在线工具。

8、Caddy

Caddy 是一个支持 HTTP/2,自带 HTTPS 功能的跨平台、易于使用的 Web 服务器。

9、camelot

从 PDF 文件(非扫描)里面提取表格的 Python 库。

文摘

1、Chrome 的恐龙游戏

Chrome 浏览器由于网络中断、无法上网时,会显示一个恐龙游戏。一头霸王龙困在沙漠之中,必须不停地奔跑,且必须跳跃避开像仙人掌和翼手龙这样的障碍物,随着游戏的进展,速度会越来越快。

该游戏于2014年9月首次发布。地址栏键入 chrome://dino 就可以进入该游戏。开始游戏的方法是:PC 用户按一下空格键,手机用户点击恐龙。

游戏的设计师塞巴斯蒂安·加布里尔(Sebastien Gabriel)说,断网就好比回到互联网之前的时代,因此我们设想出这个回归”史前时代”的游戏,那时的计算机用户好比恐龙,无网可上就像困在沙漠中。恐龙的形象采用像素艺术的风格,恐龙的动作故意设计得很僵化。

只要不触碰障碍,用户可以一直游戏下去。游戏内部设置的最长游戏时间是1700万年,这大约是霸王龙在地球上存活的时间。

2、湾区就是新的矿场

19世纪时,美国社会有一个流行的现象。许多年轻人离乡背井,为了得到高薪,去遥远的西部矿场挖矿。在那里工作几年,就可以赚取足够的钱,回家娶一个老婆。矿场的生活是非常艰苦的,条件很差,这也是矿主支付高薪的原因,否则没人愿意来。

20世纪时,这种现象变成了石油行业。石油钻井平台通常都在偏远地区,有的还是在沙漠和海洋里。石油工人可以得到高工资,代价是恶劣的生活条件,以及远离家庭的孤独。

现在,这种现象变成了 IT 行业。年轻人为了高薪,来到湾区当程序员,同样过着艰苦的生活。我听说,旧金山的一间卧室里面,居然住了好几个大学毕业生,因为旧金山双居室公寓的租金是5500美元/月。有些谷歌的雇员也是合住,而且地理位置也不好,离交通干线很远。

很多人把湾区看成新时代的矿场。IT 行业的工资比其他行业高,那些外来的程序员,计划是省钱,忍受一段时间的恶劣生活,然后在30多岁退休,再去低成本城市工作并在那里开始家庭生活。

本周图片

1、南极洲的冰川裂缝

上图是充满裂缝的冰川。由于气温上升,南极洲的冰川开始崩解,变成小块落入海中,然后融化。

2、海市蜃楼

下面是2018年8月,有人在加拿大拍到的海市蜃楼照片。船的形状一直在改变,整个过程持续了半个小时,然后就消失不见了。

3、珍道具

珍道具(Chindōgu)是一些富有创意,但并不实用的发明。它是今年71岁的 Kenji Kawakami 在上个世纪90年代发起的。当时,他负责编制一本针对日本家庭主妇的邮购商品目录。有时候,商品目录看起来很薄,他就会加入一些自己制作的产品,有点像恶作剧。

遮雨的鞋子。

唇膏状的黄油棒。

带有扫帚功能的拖鞋。

感冒患者专用的面纸架。

喷水的牙刷。

新奇

1、便携打字机

美国一家公司推出一台便携式设备,只能用于打字,这是为了防止使用者分心。它包括一个全尺寸键盘和一个电子墨水屏,可以打开多个文档,系统会自动保存并同步到Dropbox等服务。该设备的众筹价是279美元。

本周金句

1、

七年前,风险投资家 Marc Andreessen 写了一篇文章《软件正在吞噬世界》。他提出,软件公司将会赢得世界。

现在我们知道,他是对的。但是,他没有提到,这个社会的大部分人不拥有软件公司,而是生活在被软件吃掉的世界里。

John Battelle《被软件吃掉的世界》

2、

我有时觉得,硅谷是一个游戏,每个玩家有10年时间。在这10年里面,如果你发财了,就赢得了游戏,否则你就出局,必须离开硅谷。

Florent Crivello

欢迎订阅

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

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

(完)