每周分享第 10 期

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

(题图:卢日尼基体育场,莫斯科,2014。世界杯开幕式的转播,让我意识到自己去过那个体育场。那天想去莫斯科大学玩,路过一个体育场,大门紧锁,空无一人。)

我经常收到来信,询问怎样才能变成前端工程师。大部分的信件,来自两类人:即将毕业的学生和工作多年的成年人。上周,我就收到一封。一位30出头的通信工程师问我,现在通信行业效益不好,有没有可能转到前端开发?

我一般不给人生建议。你的人生,我不介入。再说,我又不了解你,怎么给建议?何况我从来不确信自己是对的。但是这一次,我破例回信,告诉他别转前端。

互联网开发这个行业,求快求变,工作负荷非常大。年纪大了(35岁~40岁)还待在第一线开发,就会力不从心。项目下个月就要发布,这个月必须全部关在项目室加班,最忙的几天可能还要在电脑桌下面的睡袋过夜。十年前,你还能承受这种生活,十年后就不行了,没法跟刚刚毕业的年轻人一样投入了。比起年轻人,你不仅加不动班,而且技术也不占优势,经验也没太大价值,但是你的工资比较高,这时就是你离开第一线的时候了。

30多岁转前端开发,个人爱好没问题,但梦想以此谋生基本上是死路一条。当然,你原来的职业可能也是死路一条,我不知道哪条路更糟一些,但是留在原行业,至少你还有一些行业积累,从零开始风险太大了。

一个相关的问题是,已经待在这个行业的程序员,退出第一线以后干什么呢?很简单,干一些强度比较小、迭代比较慢的事情。人生几十年,能够体验不一样的生活,挺好的。至于能不能依靠那些事情谋生,就看每个人的造诣和造化了。至少那些老程序员离开第一线以后,看上去都还活得不错,对嘛?

新闻

1、棉花糖测试

有一个著名的心理实验,叫做棉花糖测试。一群小孩,每人拿到一块棉花糖。心理学家告诉他们,你可以现在就把糖吃掉,但是如果忍耐15分钟,就可以得到第二块糖的奖励。

大多数小孩子都没能忍住,有的立刻吃掉了,有的还没等实验员离开半分钟就吃掉了,有的四下张望之后偷偷吃了一点点……只有30%的孩子一直坚持了15分钟,直到实验员回来。

日后的追踪发现,那些忍住不吃的小孩,往往有更成功的人生。

以前的解释是,为了长远利益、忍受眼前诱惑的人,更可能成功。但是,新的研究发现,那些忍住不吃的小孩,大多来自富裕人家,也就是说他们的人生成功,很可能与忍耐力无关,而是家庭的帮助。

2、古巴的声波攻击

2016年12月开始,古巴首都哈瓦那的美国和加拿大使馆,至少有24名外交人员出现恶心,耳痛,听力下降,流鼻血,眩晕甚至行走困难。一份医疗报告将伤势描述为”轻度创伤性脑损伤”和”未受震荡的脑震荡”。

2018年3月,密西根大学发表一项研究成果,认为这不是古巴的有意攻击,而是窃听器失灵,造成多个音调的超声波信号相互干扰,使得不可听见的超声波变频到可听范围内,从而导致高音噪音。

3、从空气中吸收二氧化碳

科学家认为,人类过度释放二氧化碳是地球暖化的主要原因,为了保护环境,我们应该减少二氧化碳的释放。

一家加拿大公司正在尝试另一种方法:从空气里面捕获二氧化碳。方法是把空气吹向氢氧化钾溶液,形成碳酸钾。进一步加工处理之后,转变为碳酸钙颗粒。这种颗粒加热后,就会释放二氧化碳,再埋入地下的管道。现在,捕获一吨二氧化碳的成本在200美元以上,但是未来估计可以降低到100美元以下。

4、谷歌创始人投资的飞行汽车

6月初,谷歌创始人拉里·佩奇支持的飞行汽车在新西兰试飞。这种飞机使用电动引擎,可以在地面行驶,它的机翼上有10个小型升力扇,使其能够像直升机一样垂直起降。

它的飞行最高时速限制在32公里/小时,飞行高度不超过3米。设计目的是水上飞行,主要用于游乐用途。

5、微软的海底机房

6月6日,微软在苏格兰沿岸30米的海底放入一个机房。这个海底机房配置了12个机架864台服务器,合计27.6PB存储空间。它主要由海底电缆供电,并通过电缆连回互联网。同时,它还装备了涡轮发电机和波浪发电转换器,能够利用潮汐流和海浪摇曳发电。

海底机房的最大好处是节省能源,机房会产生大量热量,放在海底就不用担心散热。另外,由于是无人空间,机房里面的氧气和水蒸气会全部抽除,减少服务器腐蚀。

6、GraphQL 指南

jQuery 的作者 John Resig 出新书《GraphQL 指南》了。他的时间现在都投在 React 开发。

7、生育率与房价

美国一项研究发现,房价上升最快的县市,生育率下降最多。

真是挺有趣的结果,因为生育率统计的是当地居民,这批人都是房价上涨的受益者。他们变得更有钱了,却不愿意多生小孩了。联想到穷人往往多生,结论只能是:多生小孩的主要动机是养儿防老。

教程

1、如何使用 AWS LAMBDA 做一个 YOUTUBE MP3 下载器(英文)

作者做了一个 Bookmarklet。浏览 Youtube 的时候,只要按一下这个书签工具,就会把请求发到 AWS LAMBDA,然后抓取 Youtube 流文件,转码成 mp3 文后以后存到 S3,再返回下载地址。

2、各种数据结构的 JavaScript 实现(英文)

这篇文章针对初学者,介绍 Array、HashMaps、Sets、Linked Lists、Stacks、Queues 这六种数据结构的 JavaScript 实现。

3、tcpdump 示例教程(英文)

tcpdump 是一个 Linux 命令行工具,用来查看 TCP 通信。

4、Eloquent JavaScript 3rd edition 中文版

一本开源的 JavaScript 语言的入门教材。

5、2018 世界杯预测

有人根据历史数据,写了一个脚本,预测本届世界杯的所有比赛(见上图)。四强是葡萄牙、阿根廷、巴西、德国,决赛是巴西对德国,冠军是德国。链接是完整的脚本和数据集下载。不过,世界杯已经开始了,跟真实结果一比较,似乎出入比较大,这届的强队都表现一般。

6、MATLAB 处理照片

你还是使用 PhotoShop 处理照片吗?可以考虑试试看 MATLAB。

7、V8 改进垃圾清理机制(英语)

V8 引擎宣布”垃圾清理机制”的重大改进。我们知道,对于大型程序,垃圾清理很影响性能,因为程序必须暂停,让引擎识别哪些内存不再需要。

V8 现在允许内存识别不暂停程序,而是并发进行,使得程序停顿时间减少70%左右。引擎如何识别不再需要的对象,希望了解具体实现的朋友,可以看看上面这篇文章。
8、Testcafe 教程(英文)

Testcafe 是一个 UI 测试框架,可以在各大浏览器进行 UI 测试。相比 Puppeteer,它提供各种专门针对测试的封装好的方法。

资源

1、高中物理笔记(英文)

高中物理要点讲解,配有插图和动画。

2、FiraCode

开源的代码字体。

3、C 语言学习资料

收集各种网上可以免费得到的 C 语言学习资料,不过都是英语资源。

4、2018年最有上升潜力的 Linux 发行版

它们是 AntergosDeepinMX LinuxSubgraphDebian

工具

1、Reach router

React router 的两位创始人闹翻了,其中一位另起门户,写了一个功能相同的 Reach router

2、Lottie

Airbnb 推出的动画效果库,可以把 Adobe After Effects 制作的动画用于 Web、安卓和 iOS。

3、maid

Node 项目的任务运行器,特点是用 Markdown 格式写配置文件。

4、wtf

在终端窗口显示控制台面版。

5、tusk

一个非官方的 Evernote 桌面客户端。

6、hiper

一个查看网页加载性能的命令行程序。

7、Gource

Gource 是一个很好玩的可视化工具,可以将代码仓库的历史变成视频,支持 Git 和 SVN 等多种格式。只要在仓库目录执行 gource 命令,就能看到提交历史的视频。

8、vnote

一个写 Markdown 笔记的桌面应用,跨平台。

文摘

1、腾讯 TCFT 比赛采访记

我刚刚从深圳回来。腾讯组织了一场挺有意思的 CTF 比赛,名为 TCTF。

用一句话说,CTF 比赛就是黑客们的”奥赛”:出题人会精心设计二十多道”心机谜题”,每个黑客战队的目的就是尽可能多地解开更多的谜题。比赛持续两天一夜的时间。中间那晚你可以睡觉,但你的对手可不一定会睡觉。解出不同的题目,获得不同的分数。谁的技术最叼,拿到的总分最多,就能分到最多的奖金。

参加 TCTF 的战队,每个队不能超过四个人。看起来人数不少,但你要知道。这二十多道题目,随便拽出来一个,可能都需要几个小时时间的分析。所以,这四个人,虽然各个智商冒烟,但还是远远不够用的。

之前说到,比赛的题目分了五类。而这几类题目,需要动用的专长都不尽相同。所以对大多数战队来说,每个队员基本都承担了一个特定方向的题目。比如在比赛开始时,队长可能会分配:密码学的三道题都交给你,答不出来提头来见。比如这次 TCTF 最终获得冠军的 Dragon Sector,他们就解出了 Crypto(密码学)分类的全部三道题目。而第三名的 LC↯BC 战队,就解出了 Misc(杂项)的全部三道题目。这在全场是独一无二的。

2、斯蒂芬·金的笔名

美国最畅销的小说家斯蒂芬·金,是在上个世纪70年代成名的。

当时,出版公司为了保证每本书的销量,只允许小说家一年出一本书,但是斯蒂芬·金一年可以写两本书。他决定不放慢写作速度,另一本用笔名 Richard Bachman 出版。接下来的几年里,每一本署名斯蒂芬·金的书都卖出了数百万美元,而每一本署名 Richard Bachman 的书都不成功。虽然,它们的内容质量是完全相同的。

最终,有人发现了,这两个作者实际上是一个人,因为写作风格实在太像了。斯蒂芬·金接受采访的时候,承认这个事实。于是,所有 Richard Bachman 的书立即重版,署名改成了斯蒂芬·金。它们马上占据了畅销书排行榜第一名,最终一共卖出了300万本。

这个故事告诉我们,起步时的市场占有率是多么重要。两个水平相当的作品或者项目,仅仅因为一个已经有市场,另一个没有,就会导致后者仅仅依靠自身的力量,根本无法与前者竞争。

新奇

1、完全安静的电脑

外国网友自制了一台”完全安静的电脑”,运行时毫无声音,可以达到 0db。全机没有任何风扇,为了替 CPU 散热,采用巨大的铜管散热。

2、Radio Garden

世界地图上每一个绿点,就代表一个当地的电台。光标移上去,就可以听到该电台的现场直播。

本周图片

1、谷歌硬件产品的设计风格

上图是谷歌硬件产品的全家福,从左到右依次是 Google Pixel Buds,Pixel 2 XL,Pixel 2 XL,Pixel 2,Google Home Mini,Google Home,Google Home Max,Google Clips,Daydream View,Pixelbook Pen,Google Pixelbook。

可以看到,这些产品大多采用了统一的设计语言:纯净的双色块对比。

2、来自遥远法罗群岛的故事(组图)

BBC 的图片报道。

法罗群岛藏在挪威和冰岛之间,在北大西洋的黑暗水域中,18个小岛屿拥有超过5万人口。这些居民中有一半居住在群岛首府托尔斯港的”托尔镇”。但是一些岛屿人口稀少,只有少数人居住在这些岛屿上。

法罗群岛的居民是自力更生、谦虚的人,具有丰富的讲故事的传统,并且渴望彼此分享信息。

3、12 间值得一去的日本洗手间

日本作家 Maritomo,耗時十餘年,遍訪了日本各地300多間洗手間,寫下《日本的洗手間及其它》(Aspect出版)一書,為此還得了一個「洗手間獵手」的綽號,在雜誌、電視、網站上也常常可以看到她的活躍身影。

上图:福井縣越前海岸,有一家名叫「Rest有情」的日本餐廳,這裡連洗手間都是日本庭院式的。

上图:兵庫縣明石市林崎松江海岸前的「Hipopopapa」(原名「嚕嚕米爸爸」),是一家看得見海景的餐廳,這裡的洗手間,還能讓你享受到身在海中的感覺。

4、三星折叠手机

据传,三星一直在研发可折叠手机,上图是网友流出的界面图。左侧是两个屏幕垂直折叠的界面,右侧是水平折叠的界面。

本周金句

挪威画家蒙克一生留下了7000张画作,他活了79岁;大家经常听到的梵高,活了37岁,大概也留下了2000张各种作品。这些人不光天才,还勤奋加努力,关键还得有兴趣,一件事一直做,坚持一辈子。(@cathayan

欢迎订阅

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

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

(完)

每周分享第 9 期

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

这个周末是端午节,我要陪家人旅行,所以提前一天发布,祝大家端午节快乐。

(题图:星愿公园,上海,2017)

一个网友看了我的新书《未来世界的幸存者》,留言说:”现在已经是未来了,大多数人不知道而已”。这也是我的感受,普通人不知道现在的技术先进到什么地步,很多神话般的功能都已经做到了。

举例来说,我看到一个消息,麻省理工学院发明了一种远程充电技术,可以隔空用无线电波给微型电子设备充电。他们做了一个实验,把传感器埋入一头猪的体内,大约皮下10公分的地方,然后相隔一米发送无线电波,居然就把传感器驱动起来了!

这意味着微型电子设备从此不需要电池了,可以做得很小(比米粒还小),从而能够植入人体,使用的时候,发送电波就行了。以前做不到,是因为无线电波携带的能量非常微弱,又不知道设备的具体位置,没法用来充电。新技术克服了这些难点。

一旦人体可以植入电子设备,不再有充电的难题,那会带来怎样的变革?我的想象力都不够了……以后可能不再需要身份证了,每个人的体内植入私钥,检查身份的时候,一发信号,返回一个私钥签名的证书,只要跟公钥匹配,立刻就验明正身。

新闻

1、飞行800公里的无人驾驶送货飞机

美国一家名叫 Volans-i 的创业公司,开发了一种时速300公里、续航800公里的无人驾驶飞机,主要用来送货,可以负重9公斤。官网介绍是向工厂,医院,建筑工地和海上船舶提供重型零件和设备。

可以想象,收发室以后可以设在楼顶。也没有快递员,无人飞机直接就把货送过来了。

2、桌面 PWA

刚刚发布的 Chrome 67 (Chrome OS 版本)提供了桌面 PWA 功能,也就是说,可以把网页变成桌面应用,能够离线使用,并且 Windows (Chrome 70 版本)和 Mac (Chrome 72 版本)都支持。上面图片里的媒体播放器,实际上是一个网页。有了它,Electron 的使用场景大大缩减,可能只剩下读写本地文件。

3、世界最长的航班

新加坡到纽约的航班是世界上最长的航班,连续飞行18小时45分钟。今年10月,新加坡航空公司将重启这条航线。

它会世界上首次使用超远程飞机空客 A350-900 ULR。这种飞机的特点就是很节省燃料,整架飞机使用碳纤维制成,比传统的铝质材料轻,并且只有两台发动机,而不是传统的四台发动机。同时,它最多只能搭载161位乘客,这一方面为了减轻负重,另一方面也是为了提供稍大的座位,毕竟要坐上18个小时。

据说,主要就是因为新飞机省油,才使得这种超远程航线有利可图。

4、CSS 漏洞泄漏用户信息

最近爆出的CSS漏洞窃取用户信息,令人叹为观止。黑客诱导用户访问一个恶意网页,里面嵌入 iframe 加载用户 facebook 主页。然后用一个单像素图片,逐一放在 iframe 的每个像素上面,再使用 mix-blend-mode 的 CSS 设置,根据渲染时间差异,算出原始像素的颜色,20秒可以拿到用户名。

5、以太坊的交易量超过比特币

目前,以太坊的交易量已经占到所有加密货币交易的一半。很多人认为,比特币的地位将越来越衰弱,被其他加密货币取代。

6、Node 创始人否定 Node

Nodejs 的创始人 Ryan Dahl 一共做过两次关于 JS 的公开演讲。 一次是2009年宣布 Node 项目诞生,另一次是九年后的昨天,演讲题目是《Node 的设计失误》。

这个演讲的内容非常火爆,基本上把 Node 全部否定了,认为 libuv 和 npm(包括 package.json)都是设计错误,怪不得 JS 圈里面没人作声。他觉得,Node 已经无药可救了,所以动手写了一个新项目 deno(这个名字是 node 的拆分,表示 node 重组)。

7、史上最大 ICO

据英国《金融时报》网站6月2日报道,通过所谓的首次代币发行(ICO),总部位于开曼群岛的Block.one公司提供EOS代币,换取另一种加密货币以太币。据区块链咨询公司”新魔力”公司提供的数据,以6月1日的兑换率计算,这次发行筹集到了41.5亿美元。Block.one拒绝提供正式交易数据。报道称,为了规避监管障碍,在该公司于1日结束的ICO中,美国公民被禁止参与。

不管加密货币能不能成为真正的货币,只要能够推动金融改革,让投融资变得更加互联网化,它就成功了。

8、微软宣布Visual Studio 2019

微软在宣布收购 GitHub 几天后表示,未来几个月里面,就会发布 Visual Studio 2019。

5月份的 Build 2018 开发者大会上,微软展示了两个新的 Visual Studio 功能:IntelliCode 和 Live Share。前者使用 AI 提供改进代码质量和工作效率的智能建议,后者可让开发人员与团队成员进行实时协作,这些团队成员可以直接从 Visual Studio 和 Visual Studio Code 进行协同编辑和调试。

免费 Python 课程

本期《每周分享》很高兴得到路飞学城www.luffycity.com)的赞助。他们成立于2017年,是老男孩教育的在线教育品牌。

Python 是现在最热门的语言,路飞学城有两门课程,帮助大家学习这门语言。如果你是新手,不知道怎么入门,希望有人能够领一下路,那么可以考虑《Python 开发7天入门特训营》。这门课帮助大家掌握 Python 的基本用法,具备简单的开发能力。

-2869085325200077407.jpg

如果你有 Python 基础,想要用爬虫来做一些有趣的事情,比如:

  • 爬取知乎热门文章并对指定回答批量刷赞
  • 爬取微博热门话题评论并分类分析
  • 爬取58同城批量获取客户的租房需求、联系方式
  • 破解业内通用的图片&滑动验证码
  • 如何应对网站反爬虫策略

《Python爬虫实战集训营》课程就能满足你的需求。该课程从爬虫开发入手,旨在提高学员的 Python 实战能力,在源码级别深度剖析流行的爬虫框架,研究如何提高爬虫性能,并包含防爬策略的解决方法。

4779557561561238374.jpg

最重要的事情放在最后说,上面这两门课程都是免费的!缴纳99元保证金即可参与,只要完成3次作业和参与直播,提交学习笔记,就可以退还保证金,还可获得《Python全栈开发实战》及内部教材书籍,视频课程、定制文化衫等作为奖励。另外,还会有1对1的导师逐行批改你的代码、讲师3次直播答疑,还有班主任组队小伙伴共同学习。

这两门课都只有 200 个名额,点击这里加入课程的 QQ 群。跟客服说看了阮一峰博客,还可以获得50元课程代金券。

教程

1、[文章] 数码照相机如何工作 (英文)

本文介绍数码相机 CMOS 芯片的感光原理,彩色的光线是如何变成数字信号的。

2、[游戏] while True: learn()

一个帮助玩家学习人工智能的游戏。你扮演一个人工智能专家,在游戏的引导下解决各种问题。

3、[文章] 初学者在 Linux 上安装比特币完整节点指南(2018年版)(英文)

这篇文章教你如何在没有任何 Linux 经验的情况下,全新安装Kubuntu 18.04系统,并在这个系统安装比特币完整节点,加入比特币网络。

4、[视频] 计算机科学速成课(英文中字)

志愿者从 Youtube 搬到 B 站的40集视频教程。

5、[仓库] awesome-ruby-china(中文)

Ruby China 论坛的精华贴整理。

6、[PDF] 相关系数与余弦相似性(英文)

上面是相关系数的计算公式,这是统计学的基础公式。我一直不知道它是怎么推导出来的,为什么这个公式就能断定两个矢量的相关性,我读过的教科书都不解释这一点。

这里有一篇论文,给出相关系数的十三种解释,但都写得不太容易理解。后来,我又读到了标题里面的那篇论文,指出相关系数就是两个矢量的余弦相似性,所以完全相关是+1或-1,完全不相关是0,一下子就看懂了。

7、[PPT] Docker and Go(英文)

2013年的时候,Docker 团队介绍他们为什么使用 Go 语言写 Docker。

8、[文章] 编写 Markdown 解析器 (英文)

一组三个部分的系列文章,介绍如何从零开始写一个 Markdown 解析器。作者是用 Ruby 语言实现,但是一些基本知识的介绍跟语言无关,写得挺好的。

资源

1、机器人数据库

Robots   The Old Robots Web Site.png | center | 340x363

这个数据库收集人类历史上生产的各种型号的机器人。

2、[电子书] 应用加密法的研究生教材(英文)

这是开源教材,介绍密钥加密的知识。因为是研究生教材,内容不容易。

工具

1、Drawpile

多人实时协同作画的桌面应用。

2、wired-elements

一个有手绘效果的网页组件库。但是,真正特别之处在于它的底层是 Web components,让我们看到了除了React/Vue之外,还有其他的路。

3、black

Python 语言的格式要求特别高,因为它通过缩进判断语法区块。现在有了这个工具,就可以自动化格式化 Python 代码,所以你不用担心写出风格一团糟的代码。

4、sucrase

一个新的 JavaScript 转码器,号称比 Babel 快20倍。

5、deck.gl

Uber 开源的基于地图的数据可视化框架。

6、抖音机器人

作者用 Python + ADB 做的 Bot。它会自动打开 APP 对视频截图,然后请求腾讯的 人脸识别 API,当颜值大于门限值 BEAUTY_THRESHOLD时,点赞并关注,接着翻到下一页,重复进行该过程。

文摘

1、自媒体创业泡沫消亡史

2012年8月,微信公众号平台诞生。产品经理回忆,当时根本没有布局战略。但是,公众号的发展超乎想象,上线短短数年,就成为国内最大的内容生产和内容分发平台,一个个暴富传奇在公众号平台上诞生。

可是,五年后的今天,公众号的风口似乎已经过去。根据新榜发布的《2017年中国微信500强年报》,公众号整体平均阅读数下降了24%。内容同质化、用户审美疲劳、短视频来势凶猛,自媒体野蛮掘金的时代结束了。

龙泉2014年做”什么值得吃”时,只是一个人凭兴趣一周写两篇,2017年他成立了公司,投入了3个人做新号”马达厨房”,图文质量比最初做”什么值得吃”时好得多,但却怎么也做不起来。

胡辛束也面临同样的困境。她们的粉丝数始终无法突破60万,到了2017年,阅读量也开始下滑,拿融资时日均阅读可以达到七八万,年底时头条阅读量仅两三万。

“基本上没有免费的流量可言,再起来的要么就是花钱,要么就是内容实在优质,能够靠文章自然涨粉的非常少,互推也基本上没有效果,因为号实在太多了。”情感大号”入江之鲸”的创始人鲸鱼表示。

2、孙正义:巨变即将到来,感觉睡觉都是浪费时间

2017年7月20日,软银集团董事长孙正义在东京的 SoftBank World 大会的演讲。

他称,这一次的信息革命,会带来一个没人能想象的世界。对于这种巨大的变革,他实在太兴奋,忙到觉得睡觉都是浪费时间。软银把所有的钱都投在新技术上面,他说金额比其他VC的投资总额还要多。

接下来,他就介绍几个他认为最重要的技术领域。

3、压缩空气储存能量(英文)

能量的储存一直是难题。电池技术无法储存大量的能量,而且成本高昂。这篇文章提出,我们可以考虑使用压缩空气来储存能量。

目前,全球99%以上的电力储存都是由抽水蓄能电站完成,在电力富余的时候,将水从较低水库抽到较高水库。但它需要两个垂直分开的大型水体和一个或两个水坝的合适地理位置。它也会淹没大片土地。大多数能够建造的水电站都已经投入使用,这意味着进一步发展的可能性很小。

压缩空气储能被认为是可再生能源电网的重要组成部分,因为它可以大规模储存风力涡轮机和太阳能电池板的剩余电量。相比电池,更可持续,具有更长的预期寿命,更低的生命周期成本,技术简单性和低维护成本。

目前,全世界只有两座大型空气压缩储存工厂:一座在德国,一座建于1979年,另一座在美国,建于1991年。这主要因为压缩空气储能和释放能量时,会有一半的能量损失。抽水蓄能电池的充/放电效率为70-85%,化学电池达到65-90%,但现有压缩空气的工厂,储能效率仅为50%左右。这是因为压缩到高压时,空气温度升高,导致能量变为热量,散发到大气中。

新奇

1、触摸屏笔记本

华硕最新笔记本的触摸板,是一块触摸屏。为什么没有人早点想到这个点子?

每周图片

1、七年前的微信评价

还记得短信流行的年代吗?上面是七年前微信刚刚问世时,用户对它的评价。很多人没有意识到,技术改变的不是产品,而是我们。

2、谷歌总部的大型壁画

第一张图是 G Suite 办公套件,第二张图是谷歌云。

3、学不动了

Node 创始人 ry 发了一个新项目 deno,它是基于 V8 引擎的 TypeScript 运行时(Node 是 JavaScript 运行时)。 结果,一个中国网友跑去,写了上面的留言。 ​​​

本周金句

Mixmax 公司写了一篇文章。他们原先使用 npm 管理 JavaScript 模块,觉得不好就改成了 yarn,后来觉得还是不好,又改回了 npm。

网友的评论:”这就是我喜欢JavaScript的地方:你总是有活要忙。”

欢迎订阅

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

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

image | left

(完)

每周分享第 8 期

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

(题图:烟台山历史保护区,烟台,2017。我小时候的商店都是这种样子。)

最近,日本厚生劳动省公布了正式的统计数据。2017年,日本全国一共出生了94.6万个新生儿,这是有史以来最低的数字,比上一年足足少了3万人。日本人看到这个统计,都吓死了。日本的总人口是1.27亿左右,每年全国的新生儿只有90几万,这意味着什么?

这么说吧,日本现在缺少新生儿、将来就会缺少青年、缺少劳动力,再远的未来就会缺少活人,住宅和街道都会变成一片片渺无人烟的鬼屋。日本这个民族很可能从此一蹶不振了,不要说发展,忙于应付老龄化和缺少劳动力都会来不及。

媒体采访日本年轻人,为什么不愿意生小孩?原因很简单,一个是穷,年轻人没有钱,自己消费都不够,哪来多余的钱养小孩;另一个是太麻烦,照顾小孩要牺牲很多个人自由,甚至人生规划。

日本人都很悲观,觉得这种趋势没法改变。我突然想到,也不是完全没有办法,既然人类不愿意生育,可以在实验室里生产人啊!人工授精、人工胚胎早就没有问题了,现在主要是代孕代育没法替代,还没有人造子宫这种技术。如果将来有人工环境替代子宫,让受精卵变成新生儿,那么人口下降就不存在了,想要多少人,实验室提供受精卵就可以了。我相信,这在技术上完全可以实现。

当然,这样会产生很多问题:这些小孩的父母是谁?谁负责养育他们?一个人没有祖先会怎样?……但是,如果国家缺少人口已经到了要亡国亡种的地步,那时还能有什么选择?何况,没有怀胎十月和分娩之苦,大多数女性一定会乐于支持这种方案。

新闻

1、日本82岁老奶奶开发 App

日本82岁的老奶奶 Masako Wakamiya 2017年初开始学习编程,现在已经开发了一款免费的 iOS 游戏 Hinadan,专门面向老年日本人。该 App 在苹果商店获得获得近5颗星,全球下载量大约为53,000。

编程的门槛将来会越来越低。事实上,应用层面的编程(UI + 组件逻辑)是不难的,很容易学会。现在的潮流是教小孩编程,其实中老年人编程教育的市场更大。这也是一种娱乐,比打麻将好多了。当然,最大的问题是老年人没英语基础,这就没办法了。

2、无人帆船 Saildrones

每年春天,成千上万的大白鲨开始神秘的迁徙,从美国西海岸直奔太平洋深处。生物学家一直希望了解,这些鲨鱼在那里干什么。今年总算有答案了,这要归功于一对名叫 Saildrones 无人帆船。

这种无人帆船实际上是可以航行的自动机器人,尽管人类可以远程控制,但是大部分时间是自动航行。2018年三月中旬,它们带着传感器,摄像机和科学仪器,从旧金山开始为期三周的1,200英里的鲨鱼观察之行。到了4月初,它们抵达预定地点,接收到了带有声波发射器的37只鲨鱼的信号。它们标识鲨鱼的位置,然后来回航行,使用声呐查看它们正在做什么。通过卫星,再将图像和其他数据转回给斯坦福大学的海洋生物学家芭芭拉·布洛克。

就像陆地上有无人汽车一样,将来海洋上也都会是无人驾驶的船只。

3、3纳米的芯片

三星宣布可以生产3纳米的芯片了,但还没有具体的投产时间。现在最先进的骁龙845芯片是10纳米。这意味着,未来同样大小的芯片,能够容纳10倍以上的晶体管,那是不是说计算能力起码还能强10倍?

二三十年后,每个人随身携带的计算能力,恐怕相当于今天的一个机房。这意味着什么?

这里有一个组图链接,帮助大家了解芯片的制程到底是什么?

4、YeeLight 停止向欧洲用户提供服务

小米旗下的智能灯具品牌 Yeelight 近日宣布,由于无法满足 GDPR 的要求,将不再向欧洲用户提供服务。作为该品牌的中国用户,我立刻得出结论,它的服务器上一定保存着我所有开灯/关灯的记录……

网友评论:然后他们在某次发布会上骄傲的展示,我们的智能家居大数据显示,北上广深中xx人睡的最晚,xx人最喜欢x色灯光……这就是大数据的力量!

5、30年后,QBasic 依然是入门的儿童编程语言

作者想教7岁的孩子编程,尝试了各种语言之后,他发现30年前流行的 QBasic 依然是最好的选择。

我先教他第一行代码:PRINT “hello world”。

然后,我又教了几个命令:CLS,COLOR,PLAY,INPUT和IF。没有什么可以解释的:没有复杂性,没有尴尬的操作符,没有抽象的概念,没有需要阅读的文档,没有对象/类/方法的概念,没有框架安装,没有特别的关键字或括号。这是代码最纯粹的形式。

不到一个小时,我7岁的孩子不仅能写出他的第一个源文件,还能体验创建、编译和执行他自己的小程序带来的乐趣和快感。

我意识到,30多年来,我们一直未能为我们的孩子提供更好的产品。我们创造了更强大和更复杂的语言/框架/ IDE,但我们从来没有比 QBasic 更简单或更直接地获得编程的快感。

这里还有一篇《Basic 语言的历史介绍》

6、Firefox 浏览器支持 Web Components

Firefox 浏览器最新的 Nightly测试版本 已经支持 Web Components。这是 Chrome 浏览器5年前开始推广的一种新技术,现在除了 Edge 浏览器,其他主要浏览器都已经支持了。

Web Components 是浏览器原生的组件解决方案。如果你愿意对新技术下赌注,可以考虑它。

7、Facebook 不向40岁以上的访问者推送招聘广告

美国一个组织发现,Facebook 允许广告主指定受众的年龄范围,结果导致40岁以上的访问者看不到招聘广告,而美国法律明文禁止招聘的年龄歧视。就像上面的广告,只有25~36岁的人才能看到。

教程

1、[文章] 深度学习在线课程比较(英文)

深度学习是目前很热门的主题,各大网校都有这方面的课程。这篇文章比较了美国三大教育平台的深度学习课程:Coursera、Udemy 和 Udacity。

2、[文章] 前端人工智能?TensorFlow.js 学会游戏通关(中文)

作者使用 TensorFlow.js,让程序自动完成 Chrome 浏览器的内置小游戏”恐龙快跑”。

3、[课程] 哈佛大学游戏开发课程(英文)

哈佛大学游戏开发课程 CS50,提供讲课视频、课程笔记、PPT 和作业等资料。

4、[文章] 马尔可夫决策过程(英文)

如何利用马尔可夫链建立一个决策模型,文章较好懂。

5、[PDF] Awk 编程语言(英文)

awk 是 Unix 命令行处理文本的有用工具,这里是1988年出版的 awk 教程。Unix 命令行高度稳定,所以这本教材也没那么过时。

6、[仓库] JavaScript 算法与数据结构(中文)

这个仓库收集了30多种算法的 JavaScript 实现。

7、[教程] 高性能矩阵乘法(英文)

矩阵乘法需要计算每一行与所有列的乘积之和,如果矩阵很大,乘法计算是非常耗时的。这篇文章讨论如何实现一个高性能的矩阵乘法算法。

8、[电子书] Python - 100天从新手到大师(中文)

一本针对初学者的 Python 教程。

资源

1、GitHub 替代品

微软收购了 GitHub,导致一部分开发者怀疑这个平台的独立性,从而迁移到其他平台。这里列出了十几个 GitHub 的替代品,以及各自的优缺点。

工具

1、CalVer

语义版本(SemVer)现在很流行,就是根据 API 的变动为版本编号。这个网址提出另一种编号方法:根据日历编号,版本号就是发布日期。很多软件已经在用了,最有名的就是 Ubuntu,它的版本格式是 yy.mm,比如 16.04。

2、Jadesktop

一个使用 HTML5、CSS、JavaScript 和 Python 开发 Linux 桌面应用的工具。对的,你不需要 Electron。

3、Asteroid OS

开源的手表操作系统。

4、AutoCAD 在线版

三月份的消息,今天才看到。AutoCAD 浏览器版上线了,跟桌面版基本一致,背后的技术是 Webassembly。

5、Winds 2.0

一个开源的桌面 RSS 阅读器。

6、self-driving-toy-car

一个开源的自动驾驶玩具车,在小车上面绑了一个树莓派和摄像头。

7、Chromely

Electron 的挑战者越来越多,这个是 .NET 框架包装的 Chrome 浏览器内核。你现在可以使用 .NET 开发类似 Electron 的桌面应用。

8、Cool Backgrounds

自动生成背景图片的工具网站,现在提供五种风格,每种都可以定制,看上去赏心悦目。

文摘

1、有史以来最复杂的软件(英文)

作者认为,Stuxnet 蠕虫病毒可能是有史以来最复杂的软件。

我们不知道 Stuxnet 的作者是谁,只知道大概是在2005年至2010年间编写的。

这种病毒藏在 U 盘上。当 U 盘插入 PC,它会自动运行,将自已复制到该 PC。它至少有三种自动运行的方法。如果某种方法行不通,就尝试另一种。其中的两种运行方法是全新的,使用了 Windows 的两个无人知晓的秘密 Bug。

一旦蠕虫进入 PC ,它会尝试获得该 PC 的管理员权限,使用的也是前面提到的那两个无人知道的秘密 Bug。然后,它把自己留下的痕迹全部清除,不让防病毒软件检测到它的存在,用户不会看到任何东西。这种蠕虫隐藏得很好,出现后一年多,没有任何一家安全公司发现它的存在。

它会秘密访问 http://www.mypremierfutbol.comhttp://www.todaysfutbol.com 这两个网站,告诉服务器已经成功侵入了一台新的 PC,然后从网站下载最新版本自行更新。

它会将自身复制到任何插入该 PC 的 U 盘。使用的 U 盘驱动程序由 Realtek 公司进行了数字签名,但是 Realtek 公司并不知道有这个签名。这意味着,蠕虫作者能够获取 Realtek 公司的最高密钥。

它利用两个 Windows 的 Bug —-一个涉及网络打印机,另一个涉及网络文件—-将自己传播到局域网里面的其他计算机上。

直到这一步,它的真正任务还没有开始。

它在每一台计算机上寻找一种由西门子设计的用于大型工业机械自动化的控制软件。一旦发现这种软件,它会使用另一个以前未知的 Bug,将自身复制到工业控制器的驱动程序。然后,它会检查两家特定公司的工业电机,其中一家公司在伊朗,另一家在芬兰。它要搜索的特定电机称为变频驱动器,主要用于运行工业离心机,提纯多种化学品,比如铀。

由于蠕虫完全控制了离心机,因此它可以做任何事情,可以将离心机全部关闭,也可以将它们全部摧毁:只需设定以最大速度旋转离心机,直到它们全都像炸弹一样爆炸,杀死任何恰好站在附近的人。

但它没有这么做,一旦它控制了每台离心机……它就进入潜伏。一旦达到设定的时间,它就会悄悄地唤醒自己,锁住离心机,使得人类无法关闭这些机器。然后悄悄地,蠕虫开始旋转这些离心机,修改了安全参数,增加了一些气体压力……

此外,它还会在离心机正常运转的时候,偷录一段21秒的数据记录。当它控制离心机运行的时候,会一遍又一遍地播放这段数据记录。管理人员会看到,计算机屏幕上的所有离心机运行数据都很正常,但这其实是蠕虫让他们看的。

现在让我们想象一下,有一家工厂正在用离心机净化铀。电脑上的所有数字都表明离心机运行正常。但是,离心机正在悄悄地出问题,一个接一个地倒下,这使得铀产量一直下降。铀必须是纯净的。你的铀不够纯净,无法做任何有用的事情。

工厂的管理者根本找不到原因,离心机的数据是正常的。你永远不会知道,所有这些问题都是由一种计算机蠕虫引起的。这是一种历史上最狡猾和最聪明的计算机蠕虫,它由一些拥有无限资金和无限资源的令人难以置信的秘密团队编写,并且设计时只考虑一个目的:偷偷摧毁某个国家的核弹计划,并且不被发现。

2、设计系统将取代设计师

Facebook 和 Airbnb 设计系统的创造者@soopa 认为,随着设计系统越来越成熟,未来对于设计师的需求将会减少。

我加入 Facebook 时,有18位设计师。一年之后,设计师超过40人,但产品工程部门已经超过1000人,产品管理接近200人。公司正受到设计部门增长缓慢的影响。我们着手解决这个问题的方法是,就是制定设计系统。

设计系统将取代今天我们所知的许多设计工作。UI 开发、流程和工具就像可互换的零件和工厂装配线,可以减少人员创建与以前相同的产品。今天的许多设计师必须将预先设计的组件组装在一起 - 这项任务将越来越自动化。

设计系统可以实现更快速的产品开发,从而使公司能够开发更多产品。设计系统使得每个产品需要更少的设计师。

每周图片

1、《迈登斯的中国摄影集》

1941年,美国《生活》(LIFE)杂志摄影师迈登斯( Carl Mydans)来到中国,拍摄中国人民的抗战。现在,他拍摄的3332张照片已经可以在互联网免费下载。

2、监视器上的燕子

网友拍到有一窝燕子在监视器上著巢,燕妈妈飞来喂食。

3、芬兰的图书馆

芬兰是一个热爱读书、有很多图书馆的国家。上面照片里面如此具有现代感的图书馆,建成于1927年,照片拍摄于1935年。

本周金句

1、

到了2050年,海洋里面的塑料垃圾的数量将超过鱼。(BBC

2、

如果你在很年轻的时候,就遭受到了失败,一定要把它当作老天送你的礼物。如果等到四十岁再失败,你会经受不起的。为什么年纪越大,走路越小心,因为越来越经不起跌倒了。(网友)

欢迎订阅

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

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

image | left

(完)

每周分享第 7 期

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

(题图:海底都是矿泉水瓶。)

我看到一篇《国家地理》杂志的报道。地球最深的地方是太平洋的马里亚纳海沟,深达海平面下11公里。2016年,一艘潜水艇到达那里,拍了一批照片回来。最近,科学家研究了这批照片,发现里面有一个透明的东西,不知道是什么。最初以为那是某种未知的生物,后来确认了:那是一个塑料袋。

如果地球表面最难到达的地方都有垃圾,那么不难想象,海洋里面的垃圾有多少了!我常想,人类产生那么多垃圾,将来怎么办?不要说别的,单单是快递的包装,就会产生多少垃圾。我的个人消费其实很少,但是每个月产生的垃圾,足以填满一个0.5立方米的垃圾箱。

老实说吧,人类对垃圾无能为力。有机垃圾可以焚烧,其他垃圾目前只能填埋,由于我国目前没有垃圾分类制度,80%以上的垃圾都是填埋的。你以为垃圾拉走了,就消失了吗?错,它们埋到了地里,污染了土壤和水源,最终受害的还是人类自己。全中国一天要产生多少垃圾,它们都埋在国土的各个角落,想想就觉得很恐怖。更恐怖的是,社会的主流观念是消费主义(消费越多越幸福),那么将来的垃圾只会增加,不会减少。We are doomed.

新闻

1、德国政府通过”自动驾驶算法准则”

德国政府制定了《自动驾驶算法要求》,对自动驾驶提出了一系列必须满足的法律条件,下面是其中的几条。

  • 发生事故时,人的生命安全高于财产安全或动物安全。
  • 发生事故时,任何基于年龄,性别,种族等方面的歧视都是不允许的。(这就是说,不能选择避开孩子、撞向老人。)
  • 必须有保存驾驶记录的”黑匣子”。
  • 紧急情况时,人类可以重新获得汽车的控制权。

2、未来的网站注册流程

目前,W3C 正在设计一个基于密钥的网站注册流程。以后,注册用户时不需要密码,也不用担心破解。

简单说,就是注册的时候,浏览器自动生成公钥和私钥,然后把公钥发给服务器,私钥保留在本地。以后登录的时候,用户只需要输入用户名,浏览器用私钥加密后发给服务器,如果能被公钥解开,就证明了用户的身份。这里有两篇文章(12)讨论了其中的细节,并提供了 Demo。

3、打印的卵巢

美国科学家使用3D打印机做出来的明胶卵巢,替换掉小白鼠的天然卵巢,结果居然有效。7只实验老鼠有3只产下了健康的后代。

《未来简史》描述的场景正在变成现实:未来的人们不再是纯自然的产物,而是半自然、半人工的一种新人类。

4、AI 的发展速度

有研究称,2012年开始, AI 的运算速度每过3.5个月翻一倍,至今已经增加了30多万倍。相比之下,摩尔定律(每18个月翻一倍)简直慢得不值一提。要是按照摩尔定律,AI 的运算速度只会增长12倍。

总之,AI 的进化速度远远快于人类的想象,在你不知不觉之间,机器的聪明已经超乎想象。

5、章鱼可能是外星人

科学家称,章鱼(包括鱿鱼和乌贼)可能起源于地球以外的其他地方,因为章鱼的基因组非常复杂,与其他动物很不相同。

科学家怀疑,到达地球的外星生物被冰冻在一颗冰冷的彗星中,它们的后代就变成了章鱼。

“它的大脑和复杂的神经系统,相机般的眼睛,灵活的身体,通过切换颜色和形状的能力进行即时伪装,这些特征都是突然出现在生物进化之中。”。

6、随身咖啡机

很多程序员和办公室人员都有喝咖啡的习惯。这导致咖啡机简直成了办公室必备品。现在看上去,那些不在办公室工作的人们,也越来越多地喝咖啡。

一家日本的电钻制造商 Makita 推出了随身咖啡机,据说主要用来满足建筑工人在工地喝咖啡的需求。最大亮点在于,它的锂电池就是手持电钻的电池。钻孔作业结束后,可以把电池拆下来,装在咖啡机上。一块电池可以煮约640毫升的咖啡,或约5.3杯。

7、GDPR 生效,Whois 查询实质关闭

5月25日,欧盟《通用数据保护条例》生效,要求网站不得在没有用户同意的情况下,使用或泄漏用户的个人数据。一个直接后果就是,Whois 域名查询以前有用户的姓名、地址、电话,现在都不再返回了,你只能查到注册商的信息。下面是阿里云的公告。

根据 ICANN 政策要求,自2018年5月25日起,阿里云所提供的 WHOIS 查询服务的公开信息中将不再显示域名注册人、管理联系人和技术联系人的个人数据。对于阿里云管理的域名,如需联系相应域名持有人、管理联系人或技术联系人,可通过填写域名信息查询页面的在线表单发送信息。

FrontJS

本期《每周分享》很高兴得到了前端错误监控平台 FrontJSwww.frontjs.com)的赞助。

FrontJS 是蒲公英开发者服务平台旗下产品,蒲公英成立于2014年,旗下产品还有有蒲公英移动应用内测分发平台和Bug 管理平台 Tracup 。其中,内测分发平台在全球有160万注册开发者,共计上传了超过800万款 APP。

蒲公英 - 高效安全的内测应用发布、管理平台.png

FrontJS 是一个前端错误的监控平台,可以监控 Web 和小程序页面的性能,以及收集异常信息。千万级访问量的数字货币交易平台火币网,就使用 FrontJS 监控前端错误。下面就是它的 JS 异常监控页面,收集 console 中的 log / warn / error 的信息。

它的一些主要特点:(1)提供API,可以对上报行为进行定制化的调整;(2)网络请求监控,收集 XHR 耗时、错误、超时、跨域等信息;(3)资源监控,收集加载失败的资源以及跨域资源的 URL;(4)堆栈追踪技术,精确获取更多异常上下文信息;(5)页面性能监控,包含 DNS 时间, DOM 渲染时间等信息,可以组合计算出首屏时间以及白屏时间; (6)事件流,可以了解异常发生时的上下文环境,帮助测试部门快速复现错误;(7)数据可视化工具,所有数据均可以重新组织并生成图表。

欢迎大家使用 FrontJS。向页面右下方客服说明来自阮一峰博客,可以获得50元代金券或延长10天的体验期。

教程

1、[网站] DiscoverDev.io(英文)

该网站每天列出5~10篇当天值得阅读的软件文章。

2、[视频] Facebook 的机器学习视频教程(英文)

《Facebook 机器学习指南》是由 Facebook 广告机器学习团队开发的六部分的视频系列。该系列分享了最好的现实世界实践,并提供了如何将机器学习功能应用于实际问题的实用技巧。

3、[文章] 气压的知识(英文)

气压就是大气的压力,一个标准大气压等于760毫米汞柱。有的地方气压高,有的地方气压低,这是风形成的根本原因,台风就是巨大的热带低气压。地球上,赤道由于高温蒸发是低压区,极地由于冷空气下降是高压区,这就形成了地球的风带。

4、[教程] Flask 教程的中文版(中文)

Flask 是 Python 的 Web 开发框架。这个教程教你如何用 Python 和 Flask 来创建 Web 应用。

5、[资料] arl

各种语言最受欢迎的项目,按照 GitHub Star 的数量排行。

6、[资料] 谷歌官方的 Bash 脚本风格要求(英文)

Bash 脚本的语法远比编程语言宽松,你很容易写出难以阅读、风格混乱的脚本,可以参考谷歌如何写 Bash 脚本。

7、[文章] 不必要的 HTTP 头信息(英文)

本文统计了30个最常见的 HTTP 头信息,逐个讨论哪些是必要的,哪些是没必要的。

8、[文章] 响应式表格的两种解法(英文)

手机怎么显示表格?常见的方法是将表格转为键值对。Lea Verou 给出了两种纯 CSS 的解法,不需要任何多余的 HTML 标签。

一种是使用 text-shadow 属性复制表头,另一个使用 element 方法复制表头。但是,这两种方法都有局限,前者是单元格里不能有换行,后者是只有 Firefox 支持。

工具

1、DocHub

个人写的百度文库的开源仿制品。

2、ShellCheck

Bash 脚本的开源语法检查器。

3、Crunch

一个效果非常好的 PNG 图片压缩工具。

4、nomulus

谷歌开源自家的顶级域名注册管理系统,也就是 https://registry.google 背后的系统。如果你是域名注册商,可能用得到这个东西。

5、Termux

安卓设备的终端仿真器,用来在安卓设备上模拟 Linux 环境。

6、Material-UI

大家知道,谷歌的材质化组件(Material Design)是 Angular 专用的。社区维护的 React 移植版Material-UI,今天发布 1.0 版,已经完全可用了。以后,React 项目照样可以有官方安卓 UI 的那种材质化效果。

7、tlsh-js

一个生成字符串哈希的 JavaScript 库。它的特点是,字符串越相似,或者重复同样的模式,生成的哈希也越相似,可以用来计算两个字符串的相似程度。

8、libui

一个使用 C 语言写的 UI 组件库,具有很好的跨平台性,可以在不同的平台上获得相同的图形界面。

文摘

1、鲁迅的平面设计

一提起鲁迅,很多人第一反应都是,一位奋笔疾书、忧国忧民的文学巨匠。但你可能不知道,鲁迅其实不只是个码字工,还是当之无愧的民国第一设计师。

在那个没有PS的年代,迅哥儿凭着自己的才华和审美,几乎包揽了自己的作品以及各大杂志的封面和装帧设计。对于书籍封面,鲁迅最擅长的就是把各种字体玩出新花样,每一种在今天都足以让各大字库膜拜。

上图是《艺术论》的封面,书名用双线描字体,嵌入抽象几何图案的缺口,对应着本书”从艺术规律中”的用意。

上图是《而已集》的封面,由印刷体美术字再次突破,转变为自由美术体,更加灵动且古雅。

2、30字短文《什么是机器学习》

人:11×11?
计算机:65
人:胡扯,明明是121。到底等于什么 11x11?
计算机:121

3、Git 的主要维护者滨野纯访谈

最近,谷歌宣布发布 Git 协议2.0版。我很奇怪,为什么是谷歌发布 Git 呢?一查才知道,Linus 早就不管了,现在是一个日本人滨野纯(Junio C Hamano)在维护 Git。他是谷歌员工,所以谷歌其实是 Git 背后的公司。

下面摘自滨野纯的访谈。

因为 Linus 只写 C 和 Shell,而 merge 的逻辑实在太复杂,所以他多次发邮件到邮件列表,说要是有人能够用脚本语言实现一个就好了。不过谁也没有上钩。

就这么过了一个星期,一直关注邮件列表的我用 Perl 把 Linus 过去多次提到的 merge 算法实现并投到了邮件列表里。这是我第一次有一定规模地向开源项目贡献代码。然而,尽管我详细地写了将近30个测试用例以及各种分支条件下应该怎么处理的表格,6个小时以后 Linus 提交到 master 分支的却是个截然不同的东西。据本人说是想到了更好的办法所以就这么着了。

我看了一下,足以让我那些依照Linus以前的逻辑所写的代码毫无价值,就是优雅到这种程度。不过之前为什么你还说什么”谁来帮忙做一下啊”,我做了结果你又不要(笑),然而当时并没有这么想,因为新的处理方法确实很漂亮。

4、分辨率术语的含义

购买显示设备或拍摄视频的时候,经常会遇到分辨率的术语,它们是什么意思呢?

  • 720p: 1280 x 720, 称为 HD(中文译为”高清”)
  • 1080p: 1920 x 1080, 称为 FULL HD(中文称为全高清)
  • 1440p: 2560 x 1440, 称为 QHD 或 Quad HD,即4倍的HD
  • 2160p: 3840 x 2160, 称为 4K
  • 4320p: 7680 x 4320, 称为 8K

新奇

1、伦敦心跳

《伦敦心跳》是一个很有意思的数据可视化作品。伦敦地铁的客流量用粗细表示,人流越多,线就越粗。

第一张图是凌晨,第二张是上班高峰。默认自动播放,就像城市的心跳一样。

本周图片

1、Dribbble 的按钮

有人回顾了过去八年,设计网站 Dribbble 主页按钮的变化。图一是2009年的按钮,图二是2017年的按钮。八年的图片放在一起,可以看到设计的趋势变得越来越简单和平面化。

2、npm install

@brad_frost 在推特说,上图的名字叫 npm install。意思就是说,如果你运行 npm install 命令,硬盘上就会多了一堆这样的东西。

3、@aichongk

推特用户”爱宠客”(@aichongk)是晚期癌症病人,最近去世了。

大家可以看看她的推特,非常热爱生活的一个人。她谈自己的病情,但不渲染,整个内容还是光明的。看着她不长的人生,我觉得,生活就是一个过程,应该要过得快乐一点,做一些有意义的事情,如果随随便便、浑浑噩噩的过日子,那就太可惜了。

本周金句

读再多的书都不如内生动力给人带来的变化大。(网友)

欢迎订阅

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

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

image | left

(完)

每周分享第 6 期

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

最近,我有一个行程,可能要去日本。我还没去过日本呢,听说日本人普遍听不懂英语,我又不会说日语,这可怎么办?

突然想到,”谷歌翻译”这个 APP 也许能解决语言问题。它有一个”对话实时翻译”功能,可以同时监听两种语言,听到中文就自动说出日语,听到日语就说出中文。我试了一下,翻译效果之好令人震惊,完全是真人发音,翻译非常准确。建议大家也装一个玩玩,亲身体验自己说出的话变成流利的日语,肯定能震撼到你。

两个人同时对着手机说话,还是比较尴尬的,因此谷歌还推出了 Buds 蓝牙耳机。你说出的话通过耳机的话筒传入手机,让手机播放翻译好的版本给对方听。对方的回应被翻译以后,再通过耳机传给你。这样的话,对话可以始终是面对面。

看着这个玩意,我心想将来还需要苦学外语吗?很多人学了十年,口语还是结结巴巴,词不达意。照我说,那就别学了,大好青春干什么不好,何必用来背单词,反正以后人工智能可以帮你说外语。

新闻

1、摆拍的野生动物

世界野生动物摄影大赛最近宣布,取消一位摄影师的获奖资格。因为他拍摄的《夜晚的食蚁兽》是假的,是用一只标本摆拍的。

2、高中教材《人工智能基础》

4月份,我国首部高中教材《人工智能基础》出版。下个学期就将在首批试点高校投入使用。根据披露,这本教材包含下面的内容。

  1. 总论:人工智能概述
  2. 经典图像分类(目明)
  3. 深度学习(目明)
  4. 音乐风格分类(耳聪)
  5. 相册聚类
  6. 自然语言理解(心灵)
  7. 生成模型(手巧)

如果真要学懂上面的内容,是不是意味着高中就必须掌握 Python 语言?

3、Boston Dynamic 公司的最新机器人

Boston Dynamics 公司发布了新的视频,机器人直接在不平整的草地上慢跑了起来,甚至还小小地示范了一下”立定跳”,跳过了一根挡道的圆木。

想想将来,马路上迎面走来的是一个机器人。或者罪犯逃跑,警方放出一个机器人在他后面追……我觉得,最大胆的想象力恐怕都无法想象,未来几十年后的人类社会将变成什么样。

4、数字复印机的安全问题

这周看到一篇2010年的老文章,提醒了大家一个很容易忽略的问题:数字复印机内部的硬盘会保存复印的文件。

每当你复印了一份文件,文件就保存在硬盘上了。然后,其他人就可以从硬盘还原出你复印的内容。

5、庞培古城发现古代马匹的……身影

庞培是古罗马被火山喷发毁灭的城市,火山岩浆覆盖了一切。当时有一匹马被岩浆包裹了,久而久之就形成了岩层里面的一个空腔。考古学家将石膏灌入空腔,结果就发现了这里原来有一匹马。

6、Whois 查询违法

买过域名的人都知道,域名注册信息可以在网上查到(你的姓名、电话、地址),这叫 Whois 查询。如果不想被看到,就要花钱让注册商帮你藏起来。

但是,这违反即将在欧洲生效的 GDPR 法律,你凭什么泄露我的个人信息!有文章称,whois会进行重大改革(只有注册商才能看到),甚至废除。

7、Windows 10 原生支持 OpenSSH

一直以来,Windows 系统不内置 SSH 支持,导致登录服务器和其他 Linux 设备非常麻烦,必须安装客户端(比如 Putty)。现在,Windows 10 的最新版已经内置 OpenSSH 支持了,SSH 登录再也不是问题了。

教程

1、[文章] 分布式系统的全面介绍(英文)

分布式系统的基本概念和基本知识,这篇文章都谈到了。

什么是分布式系统?最简单的定义,分布式系统是一组计算机一起工作,对于最终用户只显示为一台计算机。这些机器具有共享状态,可以处理并发操作,如果其中一台机器发生故障,不会影响整个系统的正常运行。

2、[教程] C Primer(英文)

一张网页的《C 语言的入门教程》,比较注重内存部分的讲解。写得不是很易读,但是还是可以看一下。

3、[教程] 改变世界的17个数学公式(英文)

本文介绍了17个据说改变了世界的数学公式。数了一下,我知道9个。

4、[文章] 如何用 Python 实现一个简单的 JSON 解析器?(英文)

代码还算简单,可以作为编译器的训练。

5、[文章] Everything old is new again: Microservices(英文)

这篇短文讨论了 SOA 架构(服务导向架构)和微服务架构的差异,为什么 SOA 会演变成微服务。

6、[文章] 只有 13 台 DNS 根域名服务器原因(中文)

我们经常听到 DNS 根域名服务有 13 台,那么是为什么呢? 今天我们来深入了解下。

7、[PDF] Linux: a Portable Operating System(英文)

这是 Linus Torvalds 的硕士毕业论文,介绍 Linux 系统如何适配不同的硬件架构。这篇论文不涉及代码,只介绍一些概念性的东西,但也不是那么好懂,至少我没有完全看懂。对内核和操作系统感兴趣的朋友,可以读一下。

8、[文章] ed 命令的一种用法(英文)

ed 是 Unix 系统里面最古老的命令行编辑器,但是功能并不弱。这篇文章介绍了一个使用 ed 的简单实例。

9、[游戏] PacVim(英文)

通过吃豆子(PacMan)游戏学习 Vim 操作的命令行游戏。

工具

1、Gitea

类似于 GitHub 和 GitLab 的开源项目,用于个人架设 Git 代码托管服务,使用 Go 语言实现。

2、ow

JavaScript 语言没有类型检查,运行时无法知道函数的参数是否为指定的类型。这个库就用来检查函数参数的类型,如果不符合要求就抛错。

3、Feature Icons

一个开源图标库,提供一些 24x24 的常用图标。

4、isomorphic-git

Git 的 JavaScript 实现,这意味着你可以在 JS 里进行 Git 操作,比如从抓取/提交 commit,进行 diff 或 merge 等等。

5、PhoenixGo

腾讯公司根据 AlphaGo 的论文,实现的开源围棋软件。

6、ArchiveOS

收集所有开源的操作系统的网站。

7、黑苹果安装学院

自从苹果采用 Intel 的处理器,OS X 被黑客破解后可以安装在 Intel CPU 与部分 AMD CPU 的机器上。从而出现了一大批非苹果设备而使用苹果操作系统的机器,被称为黑苹果(Hackintosh)。这个仓库收集了各种型号的黑苹果安装方法。

8、Sci-Hub 的论文 BT 种子文件

Sci-Hub 是最大的免费论文下载网站,几个主要的论文数据库公司都在起诉它。现在,它放出了它的所有论文的 BT 下载种子文件。

文摘

1、你一个人也可以创业(英文)

无数文章告诉你,创业需要一个团队,你需要找联合创始人。但是,不一定非如此不可,数据表明没有联合创始人也是可以的。

我查了 CrunchBase API 里面的 7,348家公司,每家公司募集了超过1000万美元。几乎一半的公司只有一个创始人,不到三分之一的公司有两位创始人,只有22%的公司有三位或更多的创始人。创始人的平均数量是 1.85。

我又查了成功退出的公司的数据,这次包括筹集不到1000万美元的公司。这组数据包括6,191家公司,但独立创始人的优势更明显。超过一半的公司是由独立创始人创立的。只有三分之一有两位创始人,约18%有三位或更多的创始人。创始人的平均数量是1.72。

2、三次阅读的模式(英文)

人们看一样东西,其实不是看一次,而是会看三次。下面是一张演唱会海报。

第一次看,只会注意核心信息,他只看到上面这些东西。

如果感兴趣,他会看第二次,寻找更多的信息。

如果真正想参与,他会看第三次,寻找所有信息。

如果想要吸引用户,其实你只有一次机会。就是在他看第一次的时候,就吸引到他,也就是说,你必须在最显眼的地方,呈现最核心的内容。

3、迪斯尼乐园的湖(英文)

美国佛罗里达州的迪斯尼乐园,停车场距离公园正门足足有1.6公里,中间是一个巨大的人工湖。为什么停车场不设置得近一些,一下车就能进入公园,不是对游客更方便吗?

(上图:红色区域是停车场,绿色区域是乐园,中间是人工湖。)

迪斯尼公司花几百万美元挖一个湖,故意让游客多走将近两公里,这是为什么?

游客从很远的地方来到乐园,他们可能开车了很长时间,途中也许遇到交通事故,也可能遇到交通堵塞,总之还处在真实世界的各种烦躁和焦虑之中。然后,他们下车后就看到了一个大湖,选择登上渡船或乘坐单轨列车前往乐园大门,一路上他们看到的都是湖景。等到了大门口,他们看到了城堡,就会忘记之前发生的一切,完全以崭新的心情,从真实的现实进入了梦幻的现实。

(上图:红色区域是真实世界,绿色区域是你的产品,中间是一个隔离地带。)

对于其他产品来说,这也是一个可以借鉴的思路。现实中的用户处于痛苦和失望的状态,你需要为他们设置一个放松和缓冲的区域,与外部世界隔离,让他们以一种兴奋的状态,进入你的产品。

4、《纽约时报》:眉毛的作用(英文)

4月9日發表在《自然生態與演化》(Nature Ecology & Evolution)雜誌上的研究結果表明,人類的眉毛主要是一種社交工具,現代人類的前額更平滑,眉毛更具有表現力,也許是為了適應我們日益複雜的人際關係。

「有了更平坦、更豎直的前額,眼睛上方的整個區域就變得靈活了很多,肌肉也能做出一些非常微妙的交流示意,」斯皮金斯說。她表示,那些示意,比如揚起眉毛表示你認出了某人,「更多的是表示友好,而非恐嚇」。

5、一个癌症病人的美国求医经历(中文)

这是一位叫”倾心2007”的网友发在网上发的一个帖子。2012年春节,她老公被诊断为脊柱肿瘤,初诊时手术概率几乎为零。最后他们决定赴美治疗,这是她写的赴美就医经历。

她在文章的开头说,去美国看病只是人生绝望中孤注一掷的选择。写这个帖子,是想让更多人知道,”绝境还有其他希望”。当然,她写的不全是个励志故事。她还写道,在美国看病里时3个月,这期间没有住过一个月,没有挂过一瓶水,甚至也只吃了几颗药。让人觉得有点不可思议。

本周图片

1、CSS 油画

上面这幅作品是纯 CSS 生成,作者还公开了源码。

2、台北的垃圾箱地图

台北市实行垃圾分类,马路上的垃圾箱很少。我在台北时,经常因为找不到垃圾箱,不得不去麦当劳或便利店扔垃圾。

推特网友@riddle_ling根据台北市政府的公开资料,做出了《台北垃圾箱地图》。我觉得,大陆城市应该学习,推广垃圾分类,编号管理每一个公共垃圾箱。

3、最可怕的打字错误

打字时多了一个空格,系统就要被删了。

本周金句

1、

千万别上瘾只想去解决那些困难的问题。如果那些问题本身就是错的,你会浪费时间;如果你解决不了,也会浪费时间。(@practicingdev

2、

没用分布式架构之前,你只有一个问题:并发性能不足。用了分布式架构,多出了一堆问题:数据如何同步、主键如何产生、如何熔断、分布式事务如何处理……(网友

欢迎订阅

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

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

image | left

(完)

每周分享第 5 期

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

(题图:世博公园,上海,2018)

本周,服务器遭受攻击,网站下线50多个小时。我一度以为,《每周分享》不能按时发了。现在,攻击停了,但你不知道,什么时候它还会回来。这件事情的细节,我后面会单独写文章,这里只说说我的一个感受。

消息传出以后,许多素不相识的朋友通过各种渠道,询问我是否需要帮助,愿意提供个人或公司的资源,帮我渡过难关。阿里云和腾讯云都向我赠送了高防 IP。我全部牢记心中,这里不再一一感谢了。就算攻击最大的时候,我都没有担心过,因为我知道,背后有那么多人支持,你打不垮我的,只会激发我的斗志。

我最大的体会就是,在互联网上做一个好人,真是一件最划算的事情。你平时无非就是网上写写教程,邮件回答一些问题,虽然也是尽力去帮助别人,实际上并没有什么了不起的付出。但是,互联网的传播作用使得一点点微不足道的善行,都会被许多人看到和记住。等到你有困难的时候,人们就会在网上出现,从四面八方走过来帮你,默默用眼神支持你。

相反,如果你做一个坏人,躲在黑暗的角落放冷枪,也许能够达到那些自私的目的,攫取各种利益,但是你从此不敢相信别人,紧张兮兮活着,因为别人可能也会用同样的手段对付你。等到你落难了,不要说有人帮,他们庆祝和复仇都来不及呢。我觉得,这种人生可耻又可悲。

新闻

1、Firefox 60 支持同域才能发送 Cookie

本月初,Firefox 60 浏览器发布。它有一个很大的亮点,我看提到的人不多,就是它解决了 CSRF 攻击。

所谓 CSRF 攻击,就是使用真实的 Cookie 进行恶意行为。比如,用户访问 B 网站,页面上有一张来自 A 图站的图片,这时浏览器就会向 A 网站发出请求,并带上 A 网站的 Cookie。如果这张图片的 URL 被精心伪造过(比如是划款请求),麻烦就来了。因为 A 网站的服务器会以为,这个请求是真实的请求,因为 Cookie是对的,从而授权进行各种操作。

Firefox 60 按照最新的标准,为 Cookie 新增了一个 SameSite 属性,明确规定访问 B 网站时向 A 网站发出的请求,一律不许带上 Cookie,这就从根本上防止了 CSRF 攻击。

另外,Firefox 60 还默认打开了 ES6 模块支持,至此所有浏览器都默认支持 ES6 模块。

2、成立仅8个月的币安盈利超过百年德意志银行

根据币安官方透露,它的上一季度利润达到2亿美元,已经超过了德国最大的银行—-德意志银行,后者在2018年第一季度的利润为1.46亿美元。

德意志银行拥有148年的经营历史,旗下员工超过10万名。而8个多月前,币安还不存在。币安,英文名 Binance,是由CEO赵长鹏(CZ)创建的加密货币交易平台。现在它已经是全球最大的加密货币交易所。

3、如果 CA 撤销了你的 HTTPS 证书

加密网站都需要 HTTPS 证书,这些证书通常是由 CA(证书当局)颁发。最近,一家 CA 撤销了 stripe.ian.sh 这个合法网站的证书,理由仅仅是浏览器显示证书来自 Stripe Inc,与 stripe.com 太过相似,用户可能会混淆。

请仔细看上图,你会不会以为自己正在访问 Stripe.com 官网,但是其实是另一个网站。作者提出了一个问题,CA 可以任意撤销一个网站的证书,他们的权力是否过大?因为一旦失去了加密证书,商业网站就等同于下线了。最近开源论文网站 Sci-Hub 由于版权争议,它的 HTTPS 证书就被 CA 吊销了。

4、 机器宠物狗视频

索尼公司推出了新一代机器宠物狗 aibo(爱宝),根据产品主页的介绍,它跟人的互动达到了前所未有的程度,已经很接近真实的狗。

人跟机器人做伴侣的时代真的不远了。

5、微软支持 Unix 换行符

文本文件的换行符,一直不统一。Unix 平台是 \n,Windows 平台是 \r\n,所以 Windows 打开其他平台的文本文件,都显示为一行。

那么多年过去了,微软终于在今年宣布下一次 Windows 10 更新时,Notepad 将支持 Unix 换行符(LF)、Mac 换行符(CR)。

6、Gmail 的智能回邮功能

谷歌IO大会宣布,Gmail 新增智能回邮功能。也就是你写几个单词,后面的句子它帮你准备好。上图的那封邮件,每句话都是你写两个单词,后面机器帮你补全。

以后你回复邮件,只写核心信息就行了,人工智能自动加上一大堆客套话。

7、Google One 存储

谷歌将网络储存升级成 Google One 服务,100GB是每个月2美元,200 GB是3美元,2TB是10美元。这件事情的直接后果就是,Dropbox 大概要完蛋了,它是1TB 每个月10美元。不过,这个价格还是不如百度网盘,它是免费用户就有2TB。

JavaScript 高级前端开发课程

本期《每周分享》很高兴得到了 51CTO 学院的赞助。下面介绍一下,他们最近推出了两门新课程,都由金牌讲师陈学辉主讲。

1、__《JavaScript 深度揭秘之高级前端开发》__:适合已在职、有基础的技术人员提升技术,挑战更高的薪资。该课程深入探讨函数、事件循环机制、异步编程、面向对象、浏览器渲染、数据交互等的内部原理和高级应用,使用 ES6/ES7 语法讲解,涵盖日常开发及面试所需的技能。并且结合当下技术热点实时更新课程。

2、__《Web 前端高级开发工程师》__:主要针对纯小白的学员,比如在校学生、在职想转行的人士等等,从基础讲起,并且包含了《JavaScript 深度揭秘之高级前端开发》课程的部分内容。

《Web 前端高级开发工程师》 课程原价是8980元,《JavaScript 深度揭秘之高级前端开发》 原价 7980 元,现在点击这个链接购买,可以 享受半价! 报名之后马上开始学习,无需等待开班,并且采用授课老师、助教老师、班主任、就业指导老师四对一的服务模式,保证每一位学员都能真正掌握学习内容。

感兴趣的朋友,可以点击这里了解更多。

教程

1、[文章]最简单的马尔可夫链图解(英文)

上面是最简单的马尔可夫链图解。系统包括 A 和 B 两个状态。一共有四种转化路径:A 到 A、A 到 B、B 到 A,B 到 B。每种路径的可能性都是 50%,就得到了随机的运动轨迹。

一个通俗的实例是,每天有”晴天”和”下雨”两种天气,天气变化的概率是50%,那么马尔可夫链就可以生成一个未来一周天气的模型。

2、[文章] 决策树模型入门(英文)

决策树模型(Decision Tree)是最简单的机器学习模型,也最容易理解。当决策受到多个因素影响时,这个模型相当有用。

3、[文章] 为什么 go 结构是有害的?(英文)

多线程编程之中,有一种 go 结构,就是主线程之外分出一个线程,这个线程完成任务以后,再回到主线程。作者认为,这种结构是有害的。他的最精彩观点就是:如果允许使用 go 结构,那么所有的语言功能都可以用这种结构实现,程序很快就会乱作一团。

4、[代码] Elm + Rust 开发桌面应用(英文)

目前,使用 Web 技术开发桌面应用,主要通过 Electron。它的缺点是,有时你只是想要在桌面上展示一个网页,不需要跟本地文件系统交互,但是不得不把整个 Chromium 浏览器和 V8 引擎包含在这个应用里面,导致不管逻辑是否复杂,任何一个 Electron 应用都至少有几十MB的大小。

这个项目展示了另一种开发桌面应用的可能。它的原理是,任何操作系统都有自己的 WebView,也就是说可以在应用程序里面调用 WebView 展示网页。那么可以使用 Rust 语言打包 WebView,而 JS 脚本部分交给 Elm 语言生成。由于 WebView 是系统提供的,所以打包出来非常小,一般只有几百KB,资源占用也很少。

5、[文章] 高可用的部署技巧(英文)

Netflix 公司的工程师介绍,他们如何部署代码,提高服务的可用性,比如使用红黑部署、设置部署窗口等等。

6、[教程] 哈佛大学《CS109:数据科学基础》的课程资料(英文)

1xx 编号的课程都是本科生的基础课程,我看了一下,讲的是 Python、基础的统计学知识和数学模型,提供免费的课程视频和PPT 下载。

7、[笔记]《技术面试需要掌握的基础知识整理》(中文)

技术面试需要掌握的基础知识整理。

8、[资料] 互联网公司技术架构(中文)

作者收集的国内各大互联网公司技术架构的资料

工具

1、sonarwhal

微软推出的开源网页 lint 工具(源码仓库),可以在线扫描网页,提供无障碍、互通性、性能、PWA、安全五个方面的扫描结果,给出改进点。

2、IPBlade

有的网络服务限制 IP 地址,比如只有中国的 IP 地址才能使用。这个 Chrome 插件点击一下就可以改变浏览器的 IP 地址,从而绕过这些限制。免费版只能改成美国的 IP 地址。

3、.gitignore 文件的命令行生成工具

.gitignore 文件设置了哪些文件可以不用进入 Git 版本管理。这个命令行工具可以根据项目类型,自动生成 .gitignore 文件。

4、jGoBoard

我在寻找围棋软件的时候,发现了这个生成互动式围棋棋盘的 JavaScript 库,觉得功能和样式都满足需要。另外,AlphaGo 官网也提供一个棋盘生成器, 基于 WGO.js

5、love2.io

一个收集开源书籍的网站。

6、Pyre

Facebook 推出 Python 的静态类型检查工具,有点像 Flowtype 对于 JS 代码的作用。

7、Google CTF 的试题

这个是试题库,收集了 Google 主办的黑客安全大赛 CTF 的题目。

文摘

1、冯象:AI 将终结资本主义

冯象是清华大学法学院教授。最近,《华尔街日报》发表了他在北京的一次演讲稿(英文),他认为 AI (人工智能)最终将导致目前的经济模式崩溃。

AI 将无情地导致技术亿万富翁的超级富豪寡头垄断,这些亿万富翁收获了机器人创造的财富,这些财富取代了人类的劳动力,从而导致大量的失业。

大规模失业的必然性和对全民福利的需求,将推动人工智能国有化的想法。

人工智能将会导致市场经济的终结。随着机器人的增多,工业发展只会导致更多的失业。除了国家的介入,没有什么好的选择。

2、毕业20年依然从事本行业的比例

1998年,美国的人口普查局做了一次职业调查。

大学毕业后10年,57%的计算机主业的学生还在以程序员的身份工作;毕业后15年,这个比例下降到34%;毕业20年后,也就是只有40岁出头的年龄,下降到19%。相比之下,土木工程专业的数字是61%、52%和52%。

软件行业罕见40岁以上的程序员,看来全世界都是如此。这还是20年前的调查,如今的比例应该更低了。

3、自下而上的编程,by Paul Graham

传统的方法是,一个大型的程序必须分成几块,程序越大,它就越需要分割。你如何划分一个程序?传统的方法称为自上而下的设计:程序的目的是做这七件事,那么我把它分成七个主要的子程序,第一个子程序必须做这四件事,所以它又有四个子程序等等。这个过程一直持续到整个程序具有合适的粒度级别 - 每个部分都足够大,可以做一些实质性的事情,但又足够小,可以被理解为一个单元。

有经验的Lisp程序员对他们的程序进行不同的划分。除了自上而下的设计之外,他们遵循可称为自下而上设计的原则 - 改变语言以适应问题。在Lisp中,你不仅要将程序写入语言,还要将语言建立在程序上。当你正在编写一个程序时,你可能会想”我希望Lisp有这样一个操作符。” 所以你就去写了。

当你自下而上工作时,你通常会得到一个不同的程序。你得到的不是一个单一的,整体的程序,而是一个更大的语言、更多的抽象运算符,以及一个更小的程序。

4、为什么中文如此难学?

中文不但对我们英语人士来说很难,它在绝对意义上也是难的。这意味着对于中国人来说,中文也很难。如果你不信,随便问个中国人。绝大多数中国人都会高兴地承认他们的语言很难,可能是地球上最难的。(实际上很多人以此为傲,就好象实际上有些纽约人以居住在美国最不宜居的城市为傲一样。)

我有一次和北京大学中文系的三个博士生吃午饭,他们三个都是中国人(一个来自香港)。我那天正好感冒,打算给一个朋友写个纸条取消我们一个约会。我发现自己想不起来怎么写”喷嚏”中的”嚏”了。于是我问那三位该怎么写。结果吓我一跳,他们仨都尴尬而难为情地耸耸肩。谁都不能正确地写这个字儿。各位同学!北京大学常常被认为是中国的哈佛啊。你能想象三个哈佛大学英文系的博士生不会写”sneeze”(喷嚏)?然而这种情况在中国绝不少见。

5、天空中有多少颗星星?

肉眼可见的恒星亮度等级,最低为+6.5。符合这个标准,地球上可见的星星一共有9,096颗。由于在任何时刻只能看到一半的天空,我们必须将这个数字除以二得到4,548颗星星(视季节而定),那是来自你能想象到的最黑暗的天空。

大城市的郊区,只能看到亮度为+4的星星,那只剩下900颗,任一时刻你还只能看到其中的一半。如果我们将城市市区的亮度等级设为+2(与北斗星亮度相似),那么全球只剩下70颗星,或者说从芝加哥市中心或波士顿可以看到35颗星。

6、写一本 O’Reilly 书籍是什么体验?

作者回顾了他为 O’Reilly 写书的整个历程。看过美国的技术书籍作者,收入也不是想象的那么高。

这本书原计划250页,定价59.99美元。完成时,它只有160页,定价39.99美元。由于我们两个作者合写了这本书,我们每个人可以拿到每本书收入的5%,电子书是12.5%(个别作者可以拿到10%和25%)。这相当于我们每个人从实体书得到0.99美元,从电子书得到0.46美元。

从2017年12月到2018年3月,这本书售出了__1337__份。截止2018年4月份,我已经赚取了11,554.15美元。

本周图片

1、堆积如山的废弃共享自行车

共享自行车的流行,一大原因是它转嫁了停车成本。堆积如山的公共自行车已经成了城市问题,谁来管理?成本谁出?

这里还有另外一组图集

2、安卓的错误 Emoji 图案

今年的谷歌 I/O 大会,谷歌的 CEO 特别提到他们修正了两个错误的 Emoji。一个是芝士在牛排下面,另一个半空的啤酒杯却有泡沫溢出。

本周金句

1、

非洲的人口 = 美洲 + 澳洲 = 欧洲 + 中东 = 亚洲 / 4 (@MaxCRoser

2、

程序的功能单位不宜过大,太大的函数容易掩盖错误,就像一个大城市隐藏着逃犯一样。这样的软件很难阅读,很难测试,也很难调试。(《自下而上的编程》,by Paul Graham)

3、

记者问了100个90后,”你们为什么不愿意打电话呢?”有人表示,只有陌生人才打电话。最陌生的人最常打电话:快递、外卖、骗子、你老板。(新京报

4、

Facebook 公司推出Pyre,用来检查Python程序的静态类型错误,下面是一个网友的评论

十多年前,Java的繁琐让很多人仇恨类型系统,他们改用Python、Ruby等动态类型语言,这使我们能够快速而松散地完成工作。经过大约十年的热血编程,我们最终发现,动态语言编写的巨大单体项目是非常脆弱的。

欢迎订阅

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

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

image | left

(完)

每周分享第 4 期

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

今年5月5日是马克思诞生200周年的纪念日,中新社的记者来到伦敦的马克思墓地,写了一篇《墓地见闻》

马克思墓地位于伦敦北部的海格特公墓内。该公墓是伦敦最大公墓之一,安葬着16万名已故人士,其中不乏英国历史上有名的人物;公墓内5万多座墓碑,马克思墓碑最为高大和醒目。

马克思墓碑高近3米,被各种花束和花篮簇拥着。墓碑顶端矗立着的马克思青铜头像,须发浓密,目光深邃,远眺前方。碑座上铭刻着几行镏金英文,为《共产党宣言》中的:”全世界无产者联合起来”。马克思、马克思夫人及亲人共6位安葬于墓室内。

照片上可以看到,墓碑刻着一行字” Workers of all lands unite”(全世界无产者联合起来)。

马克思研究的是,无产者怎样才能在一个有产者主导的社会里面获得解放。可是我们看到,200年过去了,这个世界依然存在无产者和有产者的对立。互联网技术甚至加剧了这种趋势,有钱的人变得更有钱了,没钱的人更难获得翻身的机会。

让我坚持下来的一个动力,就是我想看看,技术到底会带给这个社会怎样的变革?如果技术没有办法解决社会阶层的分化(甚至带来固化),那么我可以做些什么?

新闻

1、世界上最长寿的人去世,享年117岁

4月21日晚上,目前世界上最长寿的人,日本九州鹿儿岛县的 田岛锅(Nabi Tajima)女士去世,享年117岁又260天。她出生于1900年8月4日。

她去世后,现在还活着的最长寿的人是日本的都千代,她生于1901年5月2日。

历史上,能够证实的最长寿的人是法国的珍妮·露意丝·卡尔芒(Jeanne Louise Calment,1875年2月21日-1997年8月4日)活了122岁又164天。

2、LED 电影院

4月20日,美国第一家 LED 电影院在洛杉矶开幕,电影屏幕变成了液晶屏,而不是电影放映机的投影幕布。此前的2月4日,上海的 LED 电影院已经开张了。

三星生产的 LED 屏幕宽10.3米,高5.49米,可以播放4K视频。这块屏幕的售价最便宜也要300多万人民币,比目前最高级的激光投影机,还贵上三四倍,更不要提普通的电影放映机了。它的优点:(1)可以自动化控制,以后可能会出现无人值守的电影院;(2)放电影的时候,可以开灯;(3)LED 屏幕的使用寿命可能比投影机更长久。

3、盲人程序员

亚马逊公司的官方博客,介绍了一位盲人程序员,出门靠导盲犬,阅读代码就靠屏幕阅读器。第一次觉得,代码适合朗读,也很重要啊……

如果换成中国,即使他的编程技能没问题,恐怕也很难在互联网公司就业。因为他的编程速度肯定不如正常人,别人一天可以写完,他要写两天或更多,项目经理就一定会赶走他。

4、QT 支持浏览器了

图形界面框架 Qt 宣布可以在浏览器中使用,方法是通过 WebAssembly。那就是说,C++ 可以编写网页 UI 组件了,不必一定要通过 JS 了。

以后出现前端 C++ 工程师真不是不可能了……

5、JavaScript 的新数据类型:大整数 BigInt

经过很长一段时间的测试以后,V8 引擎正式宣布支持 JS 的第8种数据类型:大整数 BigInt。从此,JS 可以精确表示任意位数的整数,再也不受64位双精度浮点数格式的限制了。

6、1000架无人机编队表演失灵视频

5月1日晚《红五月西安城墙国际文化节》无人机表演出现事故。1374架无人机并没有成功组成完整图案。演出一开始就有一部分无人机没有飞到预定位置,导致局部不成图案。

亿航无人机官方微博称,表演结束后,公司立即召集行业专家对496架受影响的无人机进行数据分析,后台数据表明:5月1日演出当晚,无人机设备、通讯系统和飞行系统正常,但部分无人机的定位及辅助定位系统在起飞后受到定向干扰,造成其位置和高度的数据异常。

另有报道称,这样一场表演的收费是 1050 万元人民币。

7、吴恩达的 Drive.ai 无人出租车正式运营

吴恩达任职董事的自动驾驶公司 Drive.ai,要在德克萨斯州弗里斯克(Frisco)市,提供无人驾驶出租车服务了。从今年7月开始,Drive.ai将会和当地交管协会合作部署,为期6个月,为特定区域内的1万多人提供无人驾驶(免费)打车服务,只要通过Drive.ai的App,就能约到一辆无人驾驶出租车。

此次Drive.ai投入试运营的车,不仅车变了—-从林肯MKZ变成了日产NV200,传感器方案也有所更新:搭载4个激光雷达、10个摄像头,以及2个毫米波雷达。

无人驾驶投入实用的那一天越来越近了。

8、谷歌的人工智能客服 Google Duplex

谷歌宣布了人工智能客服系统 Google Duplex。以后,你打电话订餐、投诉、咨询,跟你交谈的都不是真人,而是一个软件。客服这个行业从此要被消灭了。

另一方面,如果你意识不到对方是软件,就意味着它通过了图灵测试。这是不是意味着,以后软件冒充人已经没问题了?

教程

1、[文章] Node.js 最佳托管商

现在,各大云服务商都支持 Node.js 主机,本文对比了最大的 6 家服务商各自的优缺点。

2、[文章] 软件测试的误区

本文讨论了13种软件测试的错误做法,比如:(1)单元测试与集成测试的比例不正确;(2)太相信 TDD(即写代码之前就写测试);(3)写了大量很慢的测试;(4)手动运行测试;(5)没有把生产环境的错误写成测试等等。

3、[电子书] 《React in patterns》

React 如何使用各种编程模式?

4、[文章] Rust 的内存安全革命(中译原文

Rust 语言不需要手动管理内容,却也没有垃圾回收机制,这是怎么实现的?

本文集中介绍 Rust 最重要的核心特性:内存管理。这是 Rust 的主要创新之一,它的许多独特的特点是基于此的。本文写给不知道 Rust 或刚刚开始学习它的程序员的。对于熟悉 C、C++ 或其他使用手动管理内存以及使用垃圾回收器语言的读者来说会更容易理解 Rust 的特点。

5、[文章] SHA256 的实现

SHA256 是目前常用哈希算法里面最可靠的,Git 和比特币都依赖这种算法。本文解释了它的实现。

6、[文章] Python 列表的用法

列表(list)是最基本的数据结构,这篇文章通过实例讲解 Python 如何操作列表。很容易读,就是内容比较浅,只适合刚刚开始学 Python 的初学者。

7、[代码仓库] Cosmos

收集各种算法的代码实现的仓库。

工具

1、GitHub Desktop

GitHub 官方的桌面 App。

2、ReLaXed

一个将 HTML 文件转为 PDF 文件的命令行工具。

3、goproxy

Go 语言实现的高性能 http、https、websocket、tcp、udp、socks5 代理服务器。

4、Dojo 2.0

前端框架 Dojo 发布了2.0版,它跟 jQuery 是一个年代的,至今不放弃也算值得尊敬了。我看了一下 API,核心概念也是虚拟 DOM,没看到任何令人眼前一亮的创意,我不觉得它有机会赢得大量用户。

5、css-protips

一个收集 CSS 使用技巧的库。

6、github-contributions-chartDemo

GitHub 的用户主页有一张图,每一天就是一个小格子。你只要在这一天提交了代码,这个格子就是绿色。但是,这张图只显示过去的一年,即365个格子。

这个工具可以生成从你加入 GitHub 那天起的所有格子。

7、bat

命令行的 cat 命令用来显示文件的内容,bat 命令完全跟 cat 一致,只有一个地方不一样,就是现在的内容会带有行号和代码高亮。

文摘

1、《为什么程序员不喜欢开会?》,by Paul Graham

世界上有两种日程表。

一种是管理者的日程表。他们是面向老板的,日程表都是以小时为单位,所以开会对他们来说,只是在日程表上找出一个小时。

另一种是工匠的日程表,也就是程序员的日程表。他们需要做出实际的东西,日程表都是至少以半天为单位。所以,他们不喜欢开会,因为一小时的会议,会将半天分成两半,每个部分都时间太短,导致无法做成任何事情。

2、大多数分布式系统工程师不相信区块链

作者说,他问了许多分布式系统工程师。他们普遍觉得,区块链不具有媒体所称的那种重大意义,适用场景非常有限:(1)成员之间缺乏信任;(2)所有记录都要汇总到一个全局日志。

目前,区块链通过共识机制,达到记录的不可抵赖性,这种做法的代价很大。一旦有一个值得信赖的中立方,那个受信任的中立方就可以通过强制认证/授权以及内容签名来建立不可抵赖性,并且只允许对日志追加内容。这意味着,中立方维护的任何常规旧数据库,都可以达到区块链的作用,而且还不存在区块链共识机制的缺陷。

加密记录链是加强总账不变性的一个好主意,但是签名链可以在任何现有的数据库上完成。

3、SQL 命名约定

数据库的表和字段怎么起名?这也是一门学问。下面是数据库的一些命名原则。

  • __小写__。标识符应该全部用小写字母来书写,使用first_name,不是"First_Name"或者"FirstName"
  • __数据类型不是名称__。避免使用仅为数据类型的名字(如texttimestamp)。
  • __强调单独的单词__。由多个单词组成的对象名称应该用下划线分隔,例如使用word_countteam_member_id,而不是wordcountwordCount
  • __完整的单词,而不是缩写__。例如使用middle_name,不是mid_nm
  • __使用常用缩写__。对于几个长词而言,缩写词比词本身更为常见,比如i18nl10n,这时使用缩写。

4、Lars Bak 的故事

V8 引擎是 JS 语法事实上的标准实现,Chrome 浏览器和 Node 的底层都用了它。它名字里面的 V 代表虚拟机(virtual machine),8 表示这是作者 Lars Bak 写的第8个虚拟机。

Lars Bak 是一个传奇的丹麦程序员,在 V8 之前,他还写过 Java虚拟机、Smalltalk虚拟机、Dart虚拟机。下面是2009年,英国《金融时报》的报道。

奥尔胡斯(Aarhus)是丹麦第二大城市,在该市郊外5英里的地方,有一座改造过的农舍。房子的主人叫 Lars Bak,是一个年轻的编程天才,他之所以把家安在这里是因为他非常不愿意让别人找到自己。他最近的作品 V8 是 Chrome 浏览器的一部分。

1991年,他在 Sun 公司工作,后来成为业界最佳程序员之一,开发了 Java HotSpot。2000年初,他离开了硅谷,回到了丹麦。搬家是为了他的女儿们(他想让她们上丹麦语学校),也为了自己的身心健康。美国的工作很紧张,生活方式不健康。

他并不特别想找新项目:他有足够的钱养家糊口,也有各种打发时间的方式,包括粉刷农舍的计划。他估计得要一年时间。这时,Google 的电话就来了。对于 Google,他是编写 JavaScript 引擎的最佳人选。巴克接受了这份工作,但不会回到加州。事实上他从没打算再次回加州,虽然谷歌的人性化办公室闻名远近,餐厅里的美食,还可以免费理发,巴克却宁可在家工作离总部5000英里,相差9个时区。

5、雷军:如不是富贵人家 你的唯一机会是忠诚和勤奋

1991年11月4日,在一个计算机展览会上,雷军见到了WPS之父求伯君,雷军作为一名程序员,求伯君是他的偶像。次年,求伯君邀请雷军加入金山,他二话没说,毅然砸掉了当时的铁饭碗,追随求伯君离开北京去了珠海,成为金山第六名员工。这一追随就是16年,这16年里无论金山遭遇了什么困境雷军都不离不弃。

雷军先后在金山担任金山公司北京开发部经理、珠海公司副总经理、北京金山软件公司总经理等职务。

1998年,29岁的雷军出任金山公司总经理,那一年中国”BAT”的创始人们还都是屌丝一枚。马化腾刚从学校毕业进入到一家电讯公司,李彦宏还在美国念书,马云在一年后才成立阿里巴巴。

雷军在金山总经理这个位置上一干就是十年,这十年里,雷军眼见着马化腾、马云、李彦宏的事业高歌猛进,公司不但上市,三人还轮流做首富。

本周图片

1、Douglas Crockford 的名片

2001年,Douglas Crockford 发明了 JSON 格式。他声称这种格式极其简单,全部语法可以印在一张名片上,而且所有应该有的语法都有了,以后也不需要再增订,因此 JSON 格式没有版本号。上面就是他的名片的背面图案。

但是,我们现在知道,JSON 格式的解析器很难写,因为它没有规定如何处理各种边界情况。

2、1961年的科幻小说

使用 Kindle 阅读波兰科幻小说家斯坦尼斯拉夫•莱姆(Stanislaw Lem)1961年的作品《外星归来》(Return From The Stars)。

“那些书籍就像水晶体,里面保存着内容。这些书可以使用一个叫做 Opton 的装置阅读,那个装置很像书,但是封面里只有一页。只要轻轻触摸,后面的页就会出现在上面。”

3、游戏卡

当年 Gameboy 游戏卡(容量几十MB)的盒子,现在可以放15块Switch游戏卡(容量几十GB)。(图片来自推特@BalrogGameRoom

新奇

1、摄像头挂钟

这是一款深圳出产的挂钟。表面上平淡无奇,但是实际上里面藏了一个摄像头,可以监控屋里的情况。

这样的摄像头是很难发现的。可以想象,以后无论何时何地,我们的一举一动一定都处在监控之下。

2、魔法少女

日本漫画风格的网站,很炫的开场动画。

本周金句

1、

十八年前刚刚接触网络,常常有世界触手可及的奇妙感觉。如今技术越来越先进,那种感觉却越来越少。(网友)

2、

现在的开发者需要具备的,不仅仅是技能树,而是技能森林。(推特@qing_wang)

3、

硬件、软件、计算机工程师的半衰期都只有几年。(Craig Barrett,Intel 公司创始人之一)

欢迎订阅

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

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

(完)

每周分享第 2 期

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

(题图:青岛火车站)

上周发了第一期以后,有朋友问为什么写这个专栏?

我想了想,除了整理收藏夹,主要原因还是我希望自己多发声。长久以来,我一直努力,每周更新博客,但是现在做不到:简单的题材不值得写,复杂的题材一周时间不够准备。有了这个专栏,就能保证每周都有新内容发布。

而且,这个专栏可以写任何东西,方便我对一些事情发表看法。这个世界正在剧烈变化,每个人的命运都是那么的不确定,我想让自己的声音传播出去,让尽可能多的人听到,团结志同道合的人,也许将来可以在一起做一些有意义的事情。

新闻

1、夫妻双双去世 四年后儿子出生

2013年3月20日,一对年轻夫妻死于车祸,他们还没来得及生育。幸运的是,就在五天前,他们在南京鼓楼医院做了人工受精,留下了四枚有效的受精胚胎,冷冻在摄氏零下196度的液氮罐里。

这对夫妻去世以后,他们的父母四位失独老人想方设法,要让胚胎变成一个活生生的孩子。遇到的第一个问题就是,胚胎是否算遗产,亲属能否继承?老人请律师打官司,总算拿到胚胎的继承权。接下来的问题就是,我国禁止代孕,他们不得不到国外去找代孕母亲,此人必须愿意放弃婴儿的抚养权。就算找到了,怎么把液氮里面的胚胎运出国,植入代孕母亲的子宫?将来生出来,这个小孩法律上是外国人,怎样回到中国,又怎样入中国籍,报上中国户口?这些问题都必须一个个克服。

2017年12月9日,甜甜被一名28岁的老挝籍代孕妈妈带到这个世界,现在生活在宜兴。”我出生的时候,父母已经去世了”,变成现实了。

2、Go 语言的新 Logo

Go 编程语言发布新的 Logo, 很有现代感。大家往往忽略,编程语言其实也存在市场竞争,只有注意包装自己的语言才有更好的市场份额,从而得到更大的社区、更多的资源。

3、Flutter 框架发布 Beta 版

2月底,谷歌的手机应用开发框架 Flutter 发布了 Beta 版,这意味着,这个框架已经具备可用性了,今年应该就会发正式版了。现在,安卓系统有了两套 SDK:安卓 SDK 和 Flutter SDK。

Flutter 的最大特点在于,它是跨平台的,不仅可以开发安卓应用,还可以开发 iOS 应用,也是谷歌正在研发的 Fuchsia 操作系统唯一的开发框架。这是因为 Flutter 针对不同的平台,做了不同的渲染引擎,可以打包出来各个平台的 Native 应用。

一篇评论这样写道:

尽管还是 beta 版,但谷歌已经在多款应用使用 Flutter,最引人注目的是谷歌的广告平台 AdWords。谷歌表示,在 Android 和 iOS 应用商店中已经有数百个 Flutter 应用。

Flutter 也可以看作,谷歌的实验性 Fuchsia OS又向前推进了一步。虽然这个新操作系统被称为 Fuchsia,更好的名字可能是 Flutter OS。Fuchsia 的用户界面完全是用 Flutter 编写的。

如果想更多了解 Flutter 框架,可以看看这篇《Flutter 框架研究和与 RN 对比》。

4、Oracle 发布多语言版的 JVM

Oracle 发布了一个很神奇的产品 GraalVM。我们知道,Java 最厉害的就是它的虚拟机 JVM,现在这个虚拟机扩展成可以支持多种语言,不同语言都可以被它编译成字节码,然后运行。

因此,它能支持多种语言混写,JS 里面直接调用 Java 或者 Python(就像下图),照样编译运行。

5、欧盟数据保护条例 GDPR

今年5月25日,欧盟新的《数据保护条例》就要生效了。我看了一下,好像是说凡是收集用户数据都必须得到用户同意,且不得用于未授权的用途。

那就是说,那类”猜你喜欢”、”你可能也想买”的功能,都是违反这个法律的。因为我没有授权你使用我的历史信息,推测我还会喜欢什么东西。

教程

1、[电子书] A Gentle Introduction To Rust

Rust 语言入门教程

2、[电子书] D3 Graph Theory

图理论(graph theory)是重要的数学分支,在数据处理领域有着重要应用。这个教程采用可视化库 D3,把图理论变成了可视化互动教程。

3、[文章] 数据回归的15种类型

回归(regression)是数据处理的常用技术,用来找出数据的模式。本文介绍数据回归的15种拟合。

4、[视频课程] GitHub 最受欢迎的20个课程仓库

很多开放课程的仓库放在 GitHub 上面,GitHub 官方列出了最受欢迎的20个仓库。

5、[文章] Probability Theory (For Scientists and Engineers)

一个概率论的概览性介绍,每个章节后面有一个 R 语言的小例子。

6、[电子书] D3 In Depth

可视化引擎 D3 的教程。

7、[文章] 分布式系统的几个基本概念

Uber 架构师分享在搭建分布式支付系统过程中,遇到的最重要的几个概念:SLA、scaling、Consistency、Durability、Idempotency等。

8、[电子书] 解谜计算机科学

王垠正在写的新书,目前只公布了第一章。

我写这本书,就是为了弥补计算机业界这一空缺,改变行业的现状。它将吸引新鲜干净的血液进入这个行业,并且赋予他们力量。它也可以刷新内行人员的头脑,让他们重新理解和审视已有的知识。这样也许我们能冲破这个行业的重重迷雾,让它变得诚实,获得科学的精神,成为像物理一样踏实的学科。

很多计算机书籍都喜欢从”数学基础”开始,一开头就是长篇累牍的数学公式,定理,证明…… 结果读者还没读完数学基础就倒下睡着了,再也不想打开这本书。所以我不从数学基础开始,而是从最简单的生活常识。在认识发展的过程中,你会自己去创造出所需要的那些数学。(摘自《序言》

工具

1、Mustard UI

一个简洁、好看的 CSS 框架,压缩后只有5.28KB。

2、ReactOS

ReactOS 是一个开源的操作系统,目标是兼容 Windows,能够运行 Windows 的应用程序和驱动程序。它只能安装在 FAT16 或者 FAT32 的硬盘分区上面。

3、Remote Browser

一个浏览器自动化框架,可以用脚本控制已经打开的浏览器。

4、rebound

有人终于把这个工具写出来了,一旦 Python 或 JS 脚本报错,就到 Stack Overflow 取回报错信息的解释。

5、React Slate

一个使用 React 组件写命令行脚本的框架。

6、RSUITE

一个国产的 React 组件库。

RSUITE(React Suite)是一套用于企业系统产品的 React 组件库。由 HYPERS 前端团队和 UX 团队共同构建,主要服务于公司的大数据产品。

文摘

1、网易丁磊专访

全世界网游市场排名是:中国、美国、日本、其他国家。第四到第十的市场全部加起来还没有日本大,而中国占了整个市场的三成到四成。我们的游戏在日本排第一,它的一天收入只是中国的十分之一。

2、黑产和大数据风控之间的攻守之战

641.jpeg | center | 406x371

2017年我国黑产的从业人员在百万级以上,每年造成的损失达千亿元级规模。针对黑产套利,企业不会坐以待毙,因此黑产的存在也催生了专门的风控团队与之对抗。攻防之间,套路不断演变、战场不断扩大、技术不断升级,这个动态进化过程完美诠释了什么叫”魔高一尺,道高一丈”。

3、超越 Markdown 语法

一个开发者呼吁改革 Markdown 的语法,避免模棱两可的情况。

开发 Commonmark 的过程中,我们尽量保持原始的 Markdown 语法不变。但是,这使得 Markdown 语法正变得日益复杂,比如有17种方法可以表示强调,列表和 HTML 代码块的处理也非常复杂。这些导致了许多令人意外的解析结果,开发一个 Markdown 解析器非常困难。

下面我举出六个 Markdown 的痛点,希望我们能够考虑修改 Markdown 的语法,让它变得更简单一些。

4、中兴通信的”卧底”律师

2011年,伊朗电信公司高管在接受采访时炫耀:”西方制裁对伊朗通讯行业完全没效果,我们依然能获得全球最新通讯技术”。吹牛X要遭雷劈,只是伊朗人吹的牛,”遭雷劈”的是中兴。

2011年10月,中兴通信聘请39岁的 Ashley Kyle Yablon 担任中兴美国分公司的法律总顾问,帮助规避美国的法律,使得它可以偷偷与伊朗做生意,又不被美国发现。

结果,这位 Yablon 先生是 FBI 的卧底,偷偷把绝密文件都交出去。美国政府根据这些文件,宣布重罚中兴。

电影

4月2日,日本吉卜力動畫工作室创始人之一的高畑勲导演去世,享年82岁。

他最著名的作品是动画电影《螢火蟲之墓》,1988年上映。电影海报上,哥哥清太和妹妹節子在夜晚的草叢中,滿滿黃色亮光,呼應螢火蟲像星星一樣飛舞,哥哥望著張嘴大笑的妹妹,畫面溫馨。

不過,你把海报的亮度调高,就可以看到,原來夜空中有一架B29轟炸機正在飛行,天空中的黃色亮點其實是燃燒彈的火光。

《螢火蟲之墓》改編自日本作家野坂昭如的半自傳小說,背景是第二次世界大战的神戶空襲,讲述作者失去妹妹的悲伤故事。

本周图片

一位台湾网友下班回家,累得倒在沙发上,心想休息一会再去喂狗,结果眼睛一闭睡着了。等醒来,发现狗狗正居高临下,盯着他看,仿佛在说:”你到底什么时候给我吃的?”

这表情像不像产品经理找到程序员,”需求还要多久才能做完?”

欢迎订阅

这个专栏会同步更新在我的个人网站微信公众号语雀

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

(完)

每周分享第 3 期

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

(题图:杭州的一家画廊,2017)

本周开始,这个专栏每周五发布,希望为大家的周末提供一些阅读材料。另一个考虑是,我希望这个专栏有可读性,不要太偏向机器,而要偏向人。放到周五发,就是为了提醒自己,要写得轻松一点。

我当学生的时候,最流行的读物是《读者》和《女友》,最高时全国发行1000万册。我当时就想,如果有类似的工程师杂志该多好,专门发表介绍科学和技术的那种小品文,肯定会大受欢迎,至少我很愿意看。这么多年过去了,梦想中的这本杂志一直没有问世,那么现在我来尝试做做看。

新闻

1、追踪40年,DNA 查到杀手

1976年到1986年,美国加州发生了连环杀人案,有12起杀人案、45起强奸案和120多起住宅盗窃案,都是一个人干的。40年过去了,凶手一直没有找到。

今年4月24日,终于抓到了今年72岁的前警察、后来的超市营业员 Joseph James DeAngelo。原来,美国有很多人为了了解自己的祖先,就将基因信息上传到 GEDmatch 这个开源网站。警察不需要搜查令就可以使用该网站的基因信息。跟嫌犯的基因信息比对后,发现此人就是嫌犯。

这起案件发生后,别的罪犯一定会更加小心,不要泄漏自己的基因。但是,我相信基因是无法保密的,掉下的头发、餐具上的唾液都会泄漏你的基因,你怎么防?将来的社会,暴力犯罪一定会很少。因为每个人的生物特征都登记在案,一举一动都有监控,无所不在的面部识别,只要你犯罪,瞬间就会抓到。

2、Firefox 发布官方插件,用来隔绝 Facebook

最近,Facebook 成了追踪用户信息、为自己牟利的”邪恶公司”的代名词。为了跟它划清界限,或许也是为了”蹭热点”,Firefox 发布了一个官方插件,在浏览器里建立一个沙盒,用户在这个沙盒里面访问 Facebook,就可以避免被追踪。

有人根据这个插件,模仿做了一个 Google 沙盒,用来隔绝 Google 的追踪。

3、福建启用个人身份二维码

目前在福州,通过数字公民身份码可以在人社窗口刷码识别社保卡,办理业务,还可以在部分药店刷码关联社保卡进行医保结算。此外,还可以在三坊七巷等景区实现刷码认证身份快速通行和在图书馆借阅图书。

对于大家十分关注的信息安全,陈承平表示,和普通二维码不同,数字公民身份码在安全等级方面比普通二维码高出了许多。数字公民身份码具有防复制、防篡改、防抵赖等特质,在云、码、端三方形成用码安全闭环。

“很多大型写字楼门禁都非常严格。访客要进入基本上都需要登记身份证等信息,还要受访人员下来接才行。以后只需要扫一下数字身份二维码就可以通行。”据介绍, “数字公民”是指公民的互联网身份。它依托公安部的认证技术,通过绑定个人信息等,生成独一无二的CA证书,并匹配生成唯一的二维码存入手机,人证合一、证机合一、机人合一的”数字公民”个人身份信息就生成了。

以后我们每个人都会有一个自己的二维码,检验身份的时候,不是交身份证,而是让对方扫这个二维码。然后,配合脸部或指纹识别,做到身份验证。

4、GPS 的新算法

大城市里面,GPS 精确定位很困难,比如说用户到底在马路的左侧还是右侧?最近,Uber 公布了一种新的算法,来解决这个问题。

它的原理很简单,请看上图。因为所有卫星的位置都是已知的,如果某颗卫星的信号比预期弱,那么很可能被大楼挡住了。这意味着,你处在这栋大楼的阴影里面,因此可以根据信号强度,推测你的准确位置。

5、亚马逊的”车内交货”

亚马逊推出”车内交货”服务,快递不是送到你家,而是直接送到你的车里。前提是你需要授权亚马逊打开你的车,而且你的车需要具备远程开锁/关锁功能。京东应该迟早也会推这个服务。

6、.app 顶级域名

谷歌宣布新的顶级域名 .app 允许申请。该域名只能使用 HTTPS 协议,成为第一个全部使用加密协议的顶级域名。

7、GitHub Pages 支持自定义域名的 HTTPS 访问

以前,GitHub Pages 绑定的自定义域名,只能使用 HTTP 协议访问。如果想开通加密访问,只有使用官方域名 myrepo.github.io。现在,GitHub 使用 Let’s Encrypt ,终于做到可以对自定义域名签发 HTTPS 证书了。

教程

1、[文章] Meet the New Dialog Element

HTML 5.2 新增了 < dialog> 元素,这个元素将来一定会广泛使用,因为它提供了浏览器原生 Modal 窗口。

2、[教程] Android 开发工程师面试指南

3、[文章] Active Record 与 Data Mapper 的差异

关系型数据库的操作通常采用 ORM 库,将表格转换成对象。ORM 主要分成两种类型:Active Record 与 Data Mapper。本文讨论这两种模型的差异和适用场景。

4、[电子书]《计算与推断:数据科学基础》

本书是加州大学伯克利分校《数据科学导论》课程的教材,现在开源了。

5、[邮件列表] WebAssembly 周刊

每周给你发送一封邮件,介绍本周值得关注的 WebAssembly 消息。

6、[文章] Optimizing React: Virtual DOM explained, by Evil Martians

React 的虚拟 DOM 机制的详细解释, JSX 代码如何变成虚拟 DOM 的数据结构。

7、[教程] Canvas: Draw on the web

国产的 HTML5 Canvas 教程。

从零基础开始,到Canvas API,再到基本动画与高级动画的实现,还会介绍视音频的处理、移动应用,最后如果有时间会扩展说一说3D、多人应用、游戏制作等。

8、[文章] Node 10 的异步遍历器

上个月底发布的 Node 10 支持异步遍历器,对 Stream 操作有重大影响。这篇文章介绍了如何用这个新语法读取文件内容,写法变得很自然。

工具

1、谷歌的免费 IP 地址定位服务

谷歌的负载均衡器转发 IP 请求时,会追加三个头信息字段,列出 IP 地址的定位。这个服务是免费的,但是目前只对部署于谷歌云的应用开放。不过,根据高春辉老师的测试,它的定位信息不是那么准确。

2、tui.calendar

一个号称所有功能都包括的网页日历库。

3、img-2

一个 WebComponent 组件,使用 < img-2> 取代 < img>,可以只显示第一屏的图片,其他图片通过 Web Worker 预下载,一旦该图片进入可视区域后再加载显示。.

4、Stripe Atlas

Stripe 公司宣布了一项服务,帮助你几天内在美国德拉华州(公司法最宽松的州)注册一家公司,有限责任公司或股份公司都可以。

只要500美元,公司注册、税号、银行账户都帮你搞定。全世界用户都可以申请,看上去很有吸引力。

5、Proton Native

React Native 可以写桌面应用了,不必使用 Electron 了。有人写了一个渲染器,把 RN 渲染成桌面操作系统的 Native 应用。为了表示跟 Electron (电子)项目的竞争关系,它故意起名为 Proton(质子)。

文摘

1、我上班的500强,在北京CBD待不下去了

大家有没有感觉,外企在国内普遍走下坡路?这到底是因为中国的市场环境越来越封闭,还是国内企业的竞争力越来越强……

供职于全球四大会计师事务所之一的Fiona,发现她的日本客户,好不容易从老旧的丰联大厦搬进国贸三期,占了一整层,今年又因为付不起租金,砍了三分之二的面积。

张勇是一家大型制药企业的经理,近几年,他们公司年会从南非、澳大利亚和新西兰变成了三亚。年会大奖从欧洲双人游,成了最新款iPhoneX。

年会一直被员工们认为是企业经营好坏的风向标。这几年,亚马逊(中国)的年会,地点从国贸到了大学的体育场,阳光普照奖从红酒变成橄榄油,再降级成充电宝。去年因为效益太差,年会干脆取消了。亚马逊(中国)工作两年的员工Helen说,亚马逊国内的零售部门近几年持续亏损,辉煌时市场份额有20%,如今降到了可怜的0.6%,”惨得很”。就连一时风头无二的图书领域,去年也亏损了50%。

另一家备受讨论的跨国互联网公司是LinkedIn,去年夏天,CEO沈博阳离职,LinkedIn中国被微软收购。沈博阳离开后,他们花大力气打造的本土化社交App赤兔再也没有更新过了。

还有更多的坏消息传来。先是跨国巨头希捷宣布关停其全球最大的生产基地苏州工厂。美国科技公司甲骨文被曝裁减200多个北京研发岗位。而通用电气则关闭了上海技术中心。

2、信息安全从业者入门(入职)指南

从第一份工作开始,十几年来我就在不断的面试信息安全人员,我看到了很多高潜力的人才,这些人的共性还是非常明显的。信息安全领域高度细分,从最初的网络安全,到系统安全和数据安全,再到后来的移动安全无线安全,甚至是车联网安全人工智能安全,从漏洞研究到系统搭建,从二进制到脚本。最后也有多方位精通集大成者的大神,毕竟是少数,无法复制。这里我只能探讨入门的方法,至于大神之路,我不是也不知道,老祖宗说”修行在个人”。

3、探访三沙:为你揭开南国海疆的神秘面纱(组图)

2018年4月11日,澎湃新闻记者走进海南省三沙市,为您揭开南国海疆的神秘面纱。街道上的一块路标标示着永兴岛北京、悉尼、纽约等地的直线距离。永兴岛的陆地面积虽小, 但在全国县级政权中管辖的国土海疆范围却最大。

4、《中国企业家》:麦当劳汉化

去年8月,麦当劳(中国)整体卖给了中信集团,老板变成了中国人,控股公司还改名为金拱门。据中信集团透露,换成中国人主导以后,麦当劳(中国)的收益大幅增加,创了历史最好水平。报道里面举了一个麦当劳小程序开发的例子。

微信团队的李振在2017年和麦当劳合作开发小程序。他发现,对比2015年接入微信支付的时候,麦当劳中国的团队越来越具有互联网属性了。

小程序的快速推出也算是让麦当劳的数字化团队重获信心的一个转折点。当时,麦当劳从四个部门—-IT、市场、法务、财务”抽调”了7个人组成项目小组与微信的小程序团队对接,这让李振很惊讶,因为在他们合作的企业中,只有像蘑菇街、拼多多这样的互联网公司才能这么”灵活”地实现跨部门合作。这是麦当劳第一次尝试这样的工作方式,事实证明,这也是一种很有效的模式,最后麦当劳的小程序用了40天的时间上线,成为首批实现小程序应用的企业。

发布小程序智能客服机器人的前一天,冯莲给张家茵打了一个电话,因为小程序数据后台在这天晚上突然开始掉数,这意味着机器人无法抓取所有的数据,有的问题可能回答不出来。以往遇到这样的问题,相关负责人可能会讨论半天,”什么时候修复,什么时候再上线”。不过这一次,张家茵直接拍板,决定按计划先上,边同步看客户端的投诉率,边补这个漏洞。

投诉比想象中少得多,小BUG也没有影响用户对小程序的使用热情。麦当劳提供的数据显示,现在的小程序每天有20万~30万的浏览量,如果有活动的话,这个数量还会翻番。更重要的,是激活了原本习惯”等活儿干”的团队—-之前更多是自上而下的任务布置,而现在,”这些小朋友会主动去看别人做的好的地方,来要活、找活干,”最近的一次,2月27日到3月3日连续5天,小程序每天都有一个新版本上线—-甚至超越了互联网公司的产品迭代节奏。

5、Algolia 的内部实现

Algolia 是目前很红的搜索服务提供商。它最初的想法是提供手机应用离线搜索的 SDK。但是,不久就有客户咨询,能不能托管网站的搜索服务。Algolia 意识到,这可能是他们转型的机会。他们现在可以搜索 Pebble,WeFunder,CodeCombat 和 HackerNews 一系列网站。我们与他们坐下来,了解他们的搜索产品及其背后的技术,访问分为两部分:

  • Algolia 是如何开始的,以及它与众不同的原因
  • Algolia 背后的技术

电影

今年是电影《甲方乙方》上映20周年。它的片尾曲《相知相爱》(视频),歌词非常好,韩磊演唱。

经历的不会都记起,过去的不会都忘记
有些往事有些回忆,成全了我也就陶冶了你。

相知相爱不再忧豫,从我们目光相遇的那一刻起
相知相爱不再忧豫,让真诚常驻在我们的心里

本周图片

地球上最长的不经过海洋的直线

从浙江省台州市南部的石塘镇开始向西走,然后是武汉、西安、青海。穿越喜马拉雅山脉后,你会到达塔吉克斯坦,通过乌兹别克斯坦,土库曼斯坦,伊朗,伊拉克,约旦,以色列,埃及(穿过开罗市中心!)、利比亚,尼日尔,布基纳法索,加纳,科特迪瓦,最后到达利比里亚。

由于地图投影,这条线看起来是弯的,但是它实际上是直线。

本周金句

1、

现在有的投资人面对创业者直接怒吼,”少废话,我不管日活、月活,我就问你怎么活。”(摘自罗振宇 2017 跨年演讲)

2、

觉得内资企业不如外企优雅的人,可能很快都会被中国市场淘汰。每次物种变迁,都是最漂亮的物种先死。(《我上班的500强,在北京CBD待不下去了》一文的网友留言)

3、

习惯外企宽松氛围的人,可能很少能适应国内民企,因为民企往往是以老板意志为主。(同上)

欢迎订阅

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

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

(完)

每周分享第 1 期

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

长久以来,我一直用各种方式,尝试整理我的收藏夹。最近想到,把它写成文章,共享出来,也许效果更好。

语雀

语雀(yuque.com)是阿里巴巴集团内部最大的文档平台,也是阿里系知识管理和团队协作的主要工具之一。

今天(4月23日)是世界读书日,语雀选在今天放开注册,不再需要邀请码,用户可以直接注册,跟阿里的正式员工一样使用所有功能。

为了配合世界读书日,语雀还邀请了一些互联网知名人士,写下他们的推荐书单,比如蚂蚁金服 CTO 的程立

新闻

1、InstagramTwitter 限制第三方调用 API

4月4日,Instagram 无预警地宣布,立即废止一大批 API,像用户的 follower、like 等数据都无法再拿到了。同时宣布,每个用户的每小时 API 请求数量限制,从 5000 降低为 200。另外,还计划从2018年12月11日起,不再允许第三方 App 获取它的公开内容。

稍早,Twitter 也宣布,2018年6月19日之后,将不再提供 streaming services,这意味着第三方客户端 Tweetbot、Tweetings、Twitterrific 将无法自动刷新时间轴,必须用户自己手动刷新,才能看到新内容。有人做了一个网站 apps-of-a-feather.com 呼吁 Twitter 改变这个决定。

这些大型社交媒体想要表达的意思已经很清楚了:我们不欢迎第三方客户端。

2、程序员月薪 7 万可落户北京

3月21日,北京市发布《关于优化人才服务促进科技创新推动高精尖产业发展的若干措施》,其中有这样一条内容:

在本市行政区域内的高新技术企业、创新型总部企业、新型研发机构等科技创新主体中承担重要工作,近3年每年应税收入超过上一年度全市职工平均工资一定倍数的(企业注册在城六区和北京经济技术开发区的为8倍,注册在本市其他区域的为6倍)。

根据北京市统计局、市人力社保局发布数据,2016年度北京市职工年平均工资为92477元,月平均工资为7706元。而近日某招聘网站新鲜出炉的《2018旺季人才趋势报告》中显示,北京市平均月薪达到10712元。由此估算出月薪至少要 7 万可申请办理人才引进。

3、Travis-CI 的离奇错误清空生产数据库

Travis-CI 公布了3月13日生产数据库出错的调查报告。一个开发者执行了生产环境的检查以后,在同一个 Session 里面运行测试。由于数据库地址是环境变量给出的,这时 Session 里面的数据库地址的环境变量指向生产环境,导致测试脚本清空了生产环境的数据库。

4、硅谷房价每个工作日上涨800美元

根据统计,距离硅谷最近的大城市圣何塞,去年100万美元左右的普通房屋,每个工作日价格上涨798美元,一年上涨了20万美元,是全美房价上涨之冠。亚军是旧金山,每个工作日上涨481美元;季军是西雅图(微软总部所在地),上涨434美元。

教程

1、[免费电子书] 《Machine Learning Yearning》,by 吴恩达

吴恩达(Andrew Ng)是斯坦福大学的教授,人工智能领域的权威,曾经担任过百度的首席科学家。

他的新书《Machine Learning Yearning》现在可以免费订阅。今后几个月里面,他每完成一个部分,你就会得到邮件通知,可以立即读到。根据说明,这本书大概100页左右,每章的长度很短,非常容易阅读。内容主要关于如何实现你自己的机器学习项目,重点不是算法,而是如何运用算法到真实项目。

2、[免费视频教程] 《Foundations of Data Science》,by 加州大学伯克利分校

加州大学伯克利分校的视频课程《Foundations of Data Science》(数据科学基础),现在上网了。报名学习是免费的,如果需要证书才收费。

课程分成三个部分,每个部分需要5个星期学习,都由加大的老师亲自教授。整个课程针对初学者,不需要任何统计学或编程的基础。

3、[文章] Programming Blockchains Step-by-Step, by Gerald Bauer

介绍如何使用 Ruby 语言从零开始写一个区块链实现,代码非常好懂,并有各种基础概念的解释。

4、[文章] Low Level Bit Hacks You Absolutely Must Know, by Peter Krumins

位运算(bit operation)的用途,有很多例子。

5、[文章] React - Basic Theoretical Concepts

React 官方关于 React 原始设计思想的解释。

6、[图片] React v16.3 生命周期的示意图

7、[电子书] Google 面试自学手册

一份爱好者整理的 Google 面试准备指南。

8、[文章] Chrome DevTools 的一些使用技巧

9、[文章] Color: From Hexcodes to Eyeballs

人眼如何感受到色彩,读懂这篇文章需要一点物理学知识。

文摘

1、一线开发程序员总结出的开发经验,by 康亮

2011年在百度浏览器团队时遇到几件让人影响深刻的事情。 有一次开会,产品拿出 Google 某个产品的 DEMO,里面有一段很酷炫 3D 效果,要求开发加上,只给2天时间,大家目瞪口呆。后续的开发为了赶节奏,导致非常多的 bug,又为了修改 bug,leader 将所有的 bug 按照人员平均分配,导致不同模块间的同学相互修改……实在难以想象。好比让做花卷的厨子,去修改西湖醋鱼的味道。

最初的现象是:bug 下降得慢,延伸 bug 反而增加,每个人都累的半死,代码风格极其杂乱,为了赶工导致的临时方案层出不穷。

到了中期:人员离职越来也多,代码难以维护,新加的需求与之前的临时方案冲突。

到了后期:想做一些修复,想调整架构,又要保证正常运行,其难度好比在一架飞行的飞机上拆换零件。

然后我也急忙离职了。。。。实在看不到成功的可能性。

2、为什么我们不用 Git?,by SQLite

SQLite 不使用 Git 版本控制系统,而是使用 Fossil。Fossil 和 Git 都是区块链式的版本控制系统,都是分布式,都将内容存储为由加密哈希标识的一系列不可变的提交。Git 非常流行,许多开发人员不熟悉其他任何版本管理工具。然而,SQLite 更喜欢Fossil,本文解释为什么。

3、美国的数据真相

美国人均预期寿命连续两年下降。如果不告诉你国家名字,只是让你猜测的话,你一定会认为,这发生在某个战乱中的国家。不幸的是,这种事情恰恰就发生在美国。

2016年,零资产或者负资产家庭已经达到30.4%。也就是说,只要你有一块钱存款而没有负债,即使你是个流浪汉,你也比30%的美国家庭富有。

美国人到底有多穷?69%的美国人,存款少于1000美元。好多人说美国人很富有,确实,如果你找到了一个好职业,你的收入会很高很高。但是实际上,绝大多数美国人很穷,只能靠救济和福利过活。一半的美国人,他们的年平均收入低于25000美元。美国平均收入40000多美元,中位数收入只有25000美元。中位数是什么意思?50%收入高于这个数字,50%收入低于这个数字。

4、《环球时报》:发展国产芯片 这事不能再拖了

从现在起,我们可以靠美国芯片活得很好的幻想应该破灭了。中国有组织科技攻关的能力,也有推动国产芯片逐渐替代外来芯片所需要的动员力,最重要的就是决心。

特朗普政府在帮助我们下这个决心。如果中国真的转换了思路,也许过多少年之后,我们会感谢美国今天做出的限制决定,庆幸它促使中国早一点恢复了清醒。

一旦中国加速研发使用国产芯片的工作全面上路,美国方面的态度也将随之软下来。美国半导体产品还可以进入中国,但到那时主动权将牢牢掌握在我们自己的手里。

工具

1、Spectrum

开源的社区软件,形式非常新颖美观。

2、jsonstore.io

通过 HTTP Header 读写 JSON 数据的免费 datastore。

3、flamebearer

Node 应用的火焰图生成工具,用于性能分析。

4、DNS Performance Test

DNS 响应时间的命令行比较脚本。

5、merge-images

多张图片合成一张图片的浏览器 JS 库,使用了 Canvas。

6、Tabler

一个基于 Bootstrap4 的面板(dashboard)组件库。

7、Etherpad

老牌的多人实时编辑协同工具。

新奇

1、Braille Neue

Braille Neue 是布里叶盲文系统与正常字母的结合,无障碍设计的典范,为什么没有人早点想到这个点子呢。

2、MacBook 一美元改成触摸屏

一个非常牛的项目,作者在 MacBook 的摄像头上面,架了一块镜子。然后,自动捕捉并识别手指的坐标。

3、Jelly Mario Bros

水母版的《超级马里奥》网页游戏,所有东西都会像水母一样升缩。

4、小狗 USB

本周金句

人生就像玻璃窗上的苍蝇,前途一片光明,却找不到出路。

欢迎订阅

这个专栏会同步更新在我的个人网站微信公众号语雀

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

(完)