每周分享第 21 期
这里记录过去一周,我看到的值得分享的东西,每周五发布。
由于微信不允许外部链接,你需要点击页尾左下角的“阅读原文”,才能访问文中的链接。
漫画家蔡志忠有一个演讲,题目叫做《努力是没有用的》。读完这份演讲稿,我觉得他说的有道理。
有些人非常勤奋,别人休息和娱乐的时候,都在工作学习。但是努力了一辈子,人生也没有显著的提升,就像报道里经常说的:"某某在平凡的岗位上,勤勤恳恳工作了一辈子"。
另一方面,很多成功者似乎也没有特别努力,就取得了许多成就,过上了好日子。蔡志忠以自己为例,他从小就喜欢画画,然后一直画,不知不觉就成了大漫画家,名利双收,从没有觉得过得很辛苦。
老师或父母老是说,努力就会走到巅峰 ---- 才怪。如果这样,不是所有人都走上巅峰了吗?没有人开始不努力,为什么后来不努力,因为努力没有效果。"
人生不是走斜坡,你持续走就可以走到巅峰;人生像走阶梯,每一阶有每一阶的难点,学物理有物理的难点,学漫画有漫画的难点,你没有克服难点,再怎么努力都是原地跳。所以当你克服难点,你跳上去就不会下来了。
蔡志忠的核心观点就是黑体的那句话,成功的人生是台阶式向上,而不是一条水平线。努力只是说明你拼命在走,跟你能不能向上走,关系不大。那些努力却没有结果的人,根本原因就在于,他一直走在平面上,没有走到更高的台阶。
也就是说,垂直方向的努力更有意义,水平方向的努力意义不大。你把同一件事情勤奋地做上十遍,还是只会做这一件事;你做完这件事后,再去挑战更难的事情,就有机会学会做两件事。
初学者经常问我,前端开发应该学习哪一个框架?我的回答就是,你觉得哪一个框架比较容易,就用那个。因为它们都是解决同样的问题,你只要知道怎么解决就可以了,没必要深究哪一个解决得更好。对你更重要的是,要去解决更多的问题,而不是如何最好地解决一个问题。
只有通过解决更多的问题,人生才能摆脱水平运动,进入上升运动。当然,这里还有一个天赋和兴趣的问题,如果找到属于你的领域,不用特别努力就能上台阶;如果找不对领域,再努力也只能做水平运动。
新闻
1、Chrome 浏览器 10 周年
本周一(9 月 2 日)是 Chrome 浏览器的 10 岁生日。十年来,这个项目带动了无数创新,让互联网产生了天翻地覆的变化。
十年前,主流浏览器还是 IE6,JS 仍然是一种玩具语言,一大堆无法调试的运行时错误。谷歌决定做自己的浏览器,为此特别开发了底层引擎 V8。发布的那天,所有人都震惊了,原来 JS 可以运行得这么快...... 后来,V8 导致了 Node 的诞生,Chrome 导致了 Electron 和 ChromeOS。
为了纪念了这个日子,Chrome、Gmail、Google Drive 都在这一天发了新版。
2、机器充电臂
德国科学家发明了一种机器充电臂,它能自动给电动汽车充电,完全不用司机下车。电动车开到它的旁边,摄像头自动识别出充电口,然后将充电臂伸进去,充满后再缩回去。
3、车窗广告
美国一家创业公司推出车窗广告服务。他们在车内安装微型投影仪,在车窗上向外播放全彩广告,车主可以获取广告分成。
以后堵车的时候就有意思了,你的前后左右都是彩色屏幕,同时向你播放广告。
4、DIY 人工胰脏
糖尿病患者对血糖含量是非常敏感的,血糖过高,就需要立刻注射胰岛素,否则会有严重后果。但是怎么能实时知道血糖过高呢?科学家发明了人工胰脏,它每隔几分钟自动检测血糖含量,一旦发现血糖过高,就向血液注入胰岛素。
现在,这种设备已经有 DIY 方案,病人随身携带葡萄糖监测仪,测试结果通过蓝牙传回手机,发现含量过高就会报警,提醒要注射胰岛素。整套设备的成本大约 250 美元。
5、贝佐斯的财富
亚马逊的市值本周突破了 1 万亿美元,成为历史上第二家万亿美元公司(第一家是苹果)。这使得亚马逊的老板贝佐斯的财富暴涨,2018 年就增加了 670 亿美元,总资产到达了 1670 亿美元,成为世界最富有的人。
今年 670 亿美元的净增长,相当于他每小时就新增 800 万美元的财富。
6、Stratolaunch 飞机
微软共同创始人保罗艾伦投资的 Stratolaunch 飞机,最近正式亮相。它是世界上最大的飞机,翼展可以达到 117 米,主要用来在空中发射火箭。由于它可以多次使用,因此显著降低了火箭的发射成本。
7、Lerna 修改许可证
多仓库管理工具 Lerna 修改了 MIT 许可证,加了一个条款:凡是帮助美国海关移民执行局(ICE)虐待非法移民的公司,一律不得使用该工具,排在第一名的是微软。其他开发者在这个名单的基础上,又加上了一些虐待劳工的公司,包括苹果、沃尔玛和特斯拉。
更新:这个许可证现在又被改回来了。
8、亚马逊电子书销售主题排行榜
有人统计了,什么主题的电子书在亚马逊销售额最高。前 5 名全部是教科书,里面有 4 种是医学教科书。排名最高的计算机类书籍是 Access 数据库。
9、TempleOS 作者去世
最近,TempleOS 操作系统的作者特里. 戴维斯(Terry a. Davis)去世了。他生于 1969 年,是一个程序员,曾经为一些大公司工作。工作十年后,他患上了精神分裂症,必须接受治疗。
2003 年,他声称接收到了上帝的指令,要为上帝写一个操作系统,起名为 TempleOS(temple 的意思是圣殿)。这个系统的编程语言是他自创的 HolyC(神圣的 C)。IT 行业没人认真对待 TempleOS,特里. 戴维斯后来一无所有,没有房子,不得不睡在车上。没人知道他是怎么死的,TempleOS 官网上只有一句话,宣布他死了,仅此而已。
10、一句话新闻
Firefox 宣布,将禁止第三方 Cookie 追踪用户。举例来说,我访问脸书,脸书在我的浏览器留下 Cookie。然后,我又访问其他引用脸书的网站,这时 Firefox 将禁止发向脸书的请求读取 Cookie。
欧盟建议成员国取消夏令时。目前,所有 28 个欧盟成员国被要求在 3 月的最后一个星期天将时钟拨快一小时,并在 10 月的最后一个星期天拨慢一个小时。
日本首相安倍晋三称,希望打造 "终身不退休社会",雇佣不设年龄限制,只要有意愿就能参加工作。
教程
1、如何维持缓存的一致性?(英文)
有一句名言:"计算机科学有两大难题:缓存不一致和变量命名。" 本文就介绍缓存与源数据不一致的基本知识。
2、如何对缓存服务器注入恶意代码?(英文)
用户发出的请求,很大一部分是缓存服务器响应的。这意味着,不一定需要感染源站,只要能在缓存服务器注入恶意代码,就能达到目的。本文给出了这方面的详细介绍以及实际的案例。
3、OCaml 语言入门教程(英文)
OCaml 是一种通用语言,在函数式编程里面加入了命令式编程和面向对象编程的特性。
4、Python 魔术方法指南(英文)
Python 有大量的魔术方法(方法名前后有两个下划线),本文给出了一个完整的介绍。
5、如何用 Node 搭建一个推特机器人?(英文)
本文详细指导你搭建一个免费推特机器人,每当有人在推特 follow 你,就会收到一条欢迎私信。
6、地中海为什么没有潮汐?(中文)
地中海沿岸,很多城市最热闹的大街就在海边。我一直很奇怪,难道他们不怕涨潮吗?现在终于确认了,地中海几乎没有潮汐。
7、如何将 Swift 用于服务端编程?(英文)
Swift 语言一般用于开发 iPhone 的 App,现在开始有人尝试将它用于服务端编程。
8、Puppeteer 网页爬虫和自动化测试教程(中文)
想要学习浏览器自动化的同学,可以看看这篇中文教程。
9、.snap vs .deb(英文)
.snap 是一种新的 Linux 安装包格式,最大特点就是自带依赖,某种程序上很像容器。
10、人脸检测服务对比(英文)
本文比较了谷歌、微软、亚马逊、IBM 四家公司的人脸检测服务的准确性。
资源
1、 OpenStax.org
该网站收集各个学科开源的大学教材。
2、C++ 编程题
25 道 C++ 的编程题,经常用于面试。
3、世界各国护照效力排名
中国护照排在第 55 位,免签国 29 个,落地签国 49 个。
4、PublicWWW
一个网页源码的搜索引擎,可以搜索哪些网页使用 react.min.js,或者服务器是 Server: nginx/1.4.7"
。
5、JCSprout
一个收集 Java 核心知识的中文库。
6、计算机网络:系统方法
《计算机网络:系统方法》英文原版开源了(下载地址)。
工具
1、termtosvg
一个命令行操作录制成 SVG 动画的工具,效果不错。
2、eno
eno 是类似 yaml、 toml 的一种配置语言。
3、wcpp
Node 脚本里面加载 wasm 模块的处理器,即让 Node 可以方便地运行 wasm 模块。
4、Symmetry Groups
一个生成对称图形的网站,可以用来生成墙纸。
5、Kakoune
Kakoune 是一个类似 Vim 的编辑器,它的主要特点是更友好合理的命令语法。 Vim 的命令是 "动词 + 对象",Kakoune 的命令是 "对象 + 动词"。
7、Mithril
Mithril 是一个类似 React 的轻量级前端端架,比 React 简单。主要特点有两个:一个是路由、状态管理、fetch 这些主要功能都内置了,二是体积很小(8kb)。
8、Favioli
Favioli 是一个很好玩的 Chrome 浏览器插件。它可以将网页的 Favicon 替换成 Emoji。
9、codesandbox.io
codesandbox.io 是一个前端代码的在线编辑器,支持各种不同的框架,可以随时预览代码的运行结果。
10、mobiledoc-kit
mobiledoc 是一种数据格式,用于所见即所得编辑器的底层数据。mobiledoc-kit 是这种数据格式的开发工具,开发者可以基于这套工具方便地做出编辑器。
文摘
1、生命的诞生
以下摘自比尔布莱森的《万物简史》。
1953 年,芝加哥大学的研究生斯坦利 · 米勒拿起两个长颈烧瓶 ---- 一个盛着一点水,代表远古的海洋,一个装着甲烷、氨和硫化氢的气体混合物,代表地球早期的大气 ---- 然后用橡皮管子把两个瓶子一连,放了几次电火花算作闪电。几个星期以后,瓶子里的水呈黄绿色,变成了营养丰富的汁,里面有氨基酸、脂肪酸、糖以及别的有机化合物。米勒的导师、诺贝尔奖获得者哈罗德 · 尤里欣喜万分,说:"我可以打赌,上帝肯定是这么干的。"
所有生命的始发点,都可以追溯到同一种原始的抽动。极其遥远的过去,在某个时刻,有一小块化学物质躁动一下,于是就有了生命。它吸收营养,轻轻地搏动几下,经历了短暂的存在。这么多情况也许以前发生过,也许发生过多次。但是,这位老祖宗干了另一件非同寻常的事:它将自己一分为二,产生了一个后代。一小袋遗传物质从一个生命实体转移给了另一个生命实体,此后就这样延续下去,再也没有停止过。这是个创造我们大家的时刻。生物学家有时候将其称为 "大诞生"。
2、饿死在食物周围的科学家
第二次世界大战,希特勒包围列宁格勒长达 900 天,切断了 200 万居民的所有食物供应,企图饿死俄国人。冬天的时候,成千上万的人饿死了。列宁格勒居民饿到吃木屑,许多人试图在零下 30°C 的天气里步行几公里到食品配送亭,结果冻死在路上。
当时,列宁格勒瓦维洛夫植物研究所藏有近 20 万种植物的种子,其中约四分之一可食用,是世界上最大的粮食作物遗传多样性库之一。其中有大量的大米,小麦,玉米,豆类和土豆,足以支撑研究所的植物学家吃饱。但是,科学家们并没有用食物来挽救自己的生命,而是保护这些种子不受纳粹以及街头寻找食物的人们的破坏。
科学家全天候轮流保护着仓库,冷得麻木,饥饿消瘦。随着围困时间越来越长,他们一个接一个地开始饿死,但至死没有吃过一粒研究所的种子。1942 年 1 月,花生专家 Alexander Stchukin 在写字台上去世。植物学家德米特里 · 伊万诺夫(Dmitri Ivanov)也死于饥饿,他的周围是数千包大米种子。1944 年春天,德军撤退时,有 9 人已经饿死。
这个种子库是世界第一个植物多样性种子库。它由俄罗斯最杰出的植物学家和遗传学家尼古拉 · 瓦维洛夫于 1926 年建立。他是首批预见植物多样性消失的科学家之一,并认识到这可能对粮食生产造成灾难性影响。瓦维洛夫在一个贫困的乡村长大,饱受经常性的作物歉收和食物配给困扰,从很小的时候就开始痴迷于他的祖国俄罗斯和世界的饥荒。20 世纪早期,他在五大洲进行了广泛的访问,共访问了 64 个国家,收集了各种植物和粮食作物标本。他自学了 15 种语言,以便与当地农民交谈。经过近十年的旅行和数百次旅行后,成立了列宁格勒植物研究所。
下图是瓦维洛夫制作的种子标本。
新奇
1、Predator Thronos
宏碁公司新推出了一款 Predator Thronos 游戏椅,自带三个 27 寸显示器,可以让你躺着(140 度后仰)打游戏,还会随着游戏一起震动。
这个产品有前途,如果能解决睡眠问题就好了,打累了睡一会,醒了接着打。以后网吧可能都是这种椅子。
2、卷起来的触摸屏
加拿大科学家做出来了一个原型设备,可以把触摸屏卷起来。
本周图片
1、各大 IT 公司的架构图
本周金句
1、
一个网页依赖于大约十万个其他发明。没有 HTML 代码的发明,没有计算机编程,没有 LED 或阴极射线管,没有计算机芯片,没有电话线,没有长距离信号中继器,没有发电机,没有高速涡轮机,就没有任何网页。
--凯文 · 凯利《重建工业社会的成本》
2、
我很遗憾花了这么多年时间专注于一个狭窄的领域,忽略了许多重要的技能。我严重低估了产业界可以学到的东西,以及博士的机会成本!
-- fast.ai 创始人,数学博士。他发表文章认为,即使人工智能这样的领域,博士学位都是不必要的,不值得专门去读。
3、
伟大的文明会崩溃,技术也会倒退。罗马帝国灭亡后,欧洲的技术水平大大倒退,停滞发展了 1000 年。这样的事情,如今也不是没有可能发生。
-- TIm O'reily《未来地图》