文章 · 2019
「文章」栏目 2019 年汇总,共 42 期
第 88 期
1、如何写出可复用的 CSS 样式表?(英文)
Tailwind CSS 框架的作者谈自己如何一步步探索,写出与 HTML 代码彻底分离的、可以复用的 CSS 样式表。
2、如何自己实现一个 React 框架(英文)
本文一步步用简单的代码讲解,如何自己从头实现 React 框架。
3、我如何创建一个每月获利6万美元的手机 App(英文)

作者介绍如何一个人开发一个手机 App,让用户使用银行卡通过 Stripe 的 API 进行付款。目前,每月处理的资金量为600万美元,利润为6万美元。
4、新能源汽车的未来在哪?(中文)

中科院院士、新能源汽车专家欧阳明高的演讲,分析电动车技术与电动车行业目前的形势与展望。
5、亲手触摸月球,会是什么感觉?(中文)
月球尘埃是很好的隔热材料,所以徒手压在最热的月球土壤上,可能不会感到太烫,但是岩石就不一样,会非常烫。
6、隧道掘进机示意图(英文)


本文收集了大量动画图片,展示各种隧道掘进机的工作原理。
7、我如何制作 3D 网页?(英文)


作者的主页是一个 3D 网页,他介绍了这是怎么制作的。
8、最佳旅行电子设备2019版(英文)
本文列出作者选择的2019最佳旅行时携带的电子产品。
9、我们制作 HTML5 游戏的所有工具(英文)
作者是专业的 HTML5 游戏开发商,介绍了他们团队使用的工具。
10、Makefile 教程(英文)
本文教你学会编写 Makefile 文件。
第 87 期
1、如何绕过 GitHub 的 OAuth 认证(英文)
作者介绍他如何通过发出一个HEAD请求,来绕过 GitHub 的 OAuth 认证,获取没有授权的数据。GitHub 为这个漏洞支付给他25000美元的奖金。
2、Pixar 的技术(英文)



本文通过图片,介绍 Pixar 公司如何制作动画电影。
3、CSS 打印样式10分钟教程(英文)
一篇简短的教程,讲解如何使用 CSS 设置网页打印时的样式。
4、JSON 解析器的最大嵌套层数(英文)
JSON 数据结构可以嵌套多少层,标准没有提及。作者就写了一个脚本,去测试每种语言的 JSON 解析器最多可以解析多少层嵌套的 JSON,然后将结果列成表格,比如 Node.js 可以解析5712层。
5、20行 Shell 脚本的马尔可夫链(英文)
马尔可夫链的含义是根据概率推测下一项最可能的结果。本文使用20行 Shell 脚本实现一个简单的马尔可夫链。
6、Linux 软件包的打包方式(中文)
本文以一个最简单的 Hello World 程序为例,解释如何打包成一个 RPM 软件包。
7、实时协同编辑的实现(中文)
本文以作者自己开发的 ShowMeBug 应用为例,介绍如何实现多人同时编辑一篇文档。(@windy 投稿)
8、我对 Rust 语言的第一印象(英文)
本文是一篇 Rust 语言的入门教程,作者整理了自己的学习笔记,讲解了基本语法。
9、什么是瀑布式开发?(英文)

瀑布式开发是敏捷开发之前的传统方式,将整个过程分成几个大步骤,每个步骤完成以后才能推进下一步。本文是马丁·福勒大师解释,瀑布式开发的含义,以及为什么敏捷开发优于它。
10、为什么 Python 3 升级需要这么长时间?(英文)
这篇文章探讨了,为什么 Python 2 升级到 Python 3 花了这么长时间(超过10年)?主要原因有两个,一是企业升级的成本很高,且有很大风险,二是 Python 3 一开始的时候优点并不多, 没有足够的升级诱因。
11、海盗湾正在尝试高质量的视频流播放(英文)
海盗湾是世界最大的 BitTorrent 文件下载分享网站,现在添加了一个视频播放功能,可以跳到一个叫做 BayStream 的新平台上,播放热门的视频文件。
第 86 期
1、QR 码在中国到处可见(英文)

一个老外来到中国,感叹 QR 码在国内的广泛使用。他在这篇文章里面,列出了他见到的 QR 码的16个使用场景。
2、Karatsuba 算法(英文)
Karatsuba 是1960年发现的一种快速相乘算法,可以大大减少大整数相乘的计算步骤。
3、日落的几何学(英文)
如果地球是平的,日落在水中的倒影照片应该像下面这样。

但是实际上,由于地球是圆的,照片是下面这样。

本文根据几何学,推导一个公式,可以根据日落的半径,算出地球的半径。
4、WebAuthn 密钥入门(英文)

WebAuthn 是互联网密钥登陆的国际标准,属于一种双因素认证的方法。本文对用户的密钥硬件和使用方法,进行长篇介绍。
5、git rebase 是有害的(英文)
本文详细解释理由,建议不要使用 git rebase 命令,至少不要在多人开发的分支上使用。
6、不要把 DNS 的 TTL 设得过低(英文)
购买域名的时候,都要设置 TTL 参数。它表示 DNS 记录的缓存时间,如果设得过低,浏览器就会不停发出 DNS 请求,这完全没有必要。本文作者建议,TTL 可以设成40分钟到1小时。
7、使用浏览器的 AudioContext API 生成用户指纹(英文)
很多网站想追踪用户,但是浏览器对 Cookie 的限制越来越严,于是有人想出使用音频 API,为每个用户生成一个音频指纹,通过这个指纹追踪用户。本文给出代码实例。
8、Firefox 和 Chrome 为何要革 EV 证书的命(中文)


最贵的域名加密证书是 EV 证书,即企业认证证书。但是,新的 Firefox 浏览器不再显示 EV 证书标志,使得有没有这个证书在页面视觉上没有差异。本文讨论背后的原因,认为 EV 证书有可能死掉。这里还有另一篇文章也可以参考。(@dallaslu 投稿)
9、表格的体验优化
本文采用大量示意图,展示了表格应该怎么设计,才能让用户获得最佳的使用体验。
10、如何编写一个编程语言的垃圾收集器?(英文)
垃圾收集机制是编程语言的重要特性,有助于程序保持性能,减少内存消耗。本文使用简单的代码,介绍如何自己写一个垃圾收集器。
第 85 期
1、HTTP 协议基础(英文)
HTTP 是一个比较简单的协议,本文在不长的篇幅中,对它的基本内容做了一个完整介绍。(@weinberggithub 投稿)
2、铁的历史(英文)
长篇科普文章,有大量插图,介绍人类使用铁的历史。最早,人类从陨石中发现了铁,用它制造工具,从而进入铁器时代,然后逐步发现了铸铁和锻铁,直至近代的钢铁。
3、为什么会有非绿色植物?(英文)

植物依靠光合作用,将二氧化碳转变为糖,从而获取能量。完成光合作用的叶绿素是绿色的,所以大部分植物都是绿色。但是,有些植物完全不绿,它们怎么获取能量?
4、谁杀了滚动条?(英文)
现在有些桌面网页也学习手机,隐藏滚动条,这篇文章认为这种做法不好。
滚动条可以提示页面的长度,还提供了一个快速移动到页首或页尾的方法。你把它都隐藏掉,确实更整洁了,但对使用者(尤其是深入阅读的人)就很不方便。
5、我制作了一把智能椅子(英文)

本文使用大量照片,记录了一个美国少年如何在自己家里,制作一把智能椅子。他先从网上,用25美元淘了一个破沙发(上图),最终改装成下图的样子,可以接受指令进行远程操作。


6、macOS、Windows、Ubuntu 性能比较(英文)
作者在同一台 MacBook Pro 上面安装 macOS、Windows、Ubuntu 的最新版本,比较它们的性能。
7、代码移入数据库(英文)
作者说,这些年他一直在改变工作语言,1997年是 Perl,1998年是 PHP,2004年是 Rails,2007年又是 PHP,2012年是 JavaScript。每改一次,有些代码就要重写一次。但是,后台的数据库从来没有变过,那么为什么不把逻辑写进数据库呢?
8、手机网页避免使用 100vh(英文)
手机浏览器由于会自动显示/隐藏地址栏,所以网页如果设成高度为 100vh,会有一部分看不见,可以参考 CSS Tricks 和 Stack Overflow 的解决方法。
9、CSS 伪元素的罕见用例(英文)
本文介绍一些通过 CSS 伪元素实现的奇妙的网页效果。
10、备份软件比较(英文)
这是一个 Hacker News 的帖子,讨论数据备份软件的优缺点,主要是 Restic 和 Borg 的比较。
第 84 期
1、 DNS 基础知识与 dig 命令(英文)
本文讲解 DNS 的基本知识,然后用 dig 命令演示如何获取 DNS 信息。
2、C++ 创始人 Bjarne Stroustrup 访谈(英文)

编辑访问 Bjarne Stroustrup,请他谈谈怎么发明 C++,并且回答 StackOverflow 上面得票最高的5个 C++ 问题。
3、恶意的 SSH 访问分析(英文)
暴露在互联网上的服务器,每天都会收到大量的恶意 SSH 登录请求。作者分析了自己服务器的98万次 SSH 日志记录,看看能发现什么。
4、Elm 开发教程(英文)
本文很长,介绍 Elm 语言的语法知识,如何用它写一个网页应用。
5、AWS 的数据迁移费(英文)
亚马逊云服务 AWS 的费用包含一项“数据迁移费”(data transfer)。本文分析 AWS 头部客户的这项费用,可以借此了解云服务的付费情况。
6、贫铀对伊拉克儿童的影响(英文)
贫铀是铀浓缩过程的副产品,带有放射性,用于炸弹可以刺穿装甲。美军在伊拉克战争中大量使用贫铀弹,造成了无法清除的严重污染,使得许多新生儿有先天畸形。
提醒,谨慎打开上面链接,本文带有畸形新生儿的照片,会让人不适。
7、钴元素在电池的应用现状(英文)
本文是一篇新闻报道,详细介绍钴元素的应用和开发现状。锂电池的阴极目前采用钴元素的效果最好,这导致钴价飞涨,很可能会影响电动汽车的普及速度。世界三分之二的钴产量来自刚果民主共和国。
8、Web 图标指南(英文)
本文介绍四种常用的图标解决方案:CSS Sprite、图标字体、内嵌的 SVG 图像、SVG 文件。
9、Swift 学习数据科学指南(英文)
数据科学通常使用 Python 语言,但是其他语言也可以。本文从零开始教你使用 Swift 语言来做数据科学项目。
10、Web 缓存投毒攻击(英文)
访问网页,大多数时候都要通过缓存服务器,CDN 就是一种缓存。有可能做到缓存服务器投毒,从而使得网站无法访问,本文介绍它的原理。
11、我用AI机器人留住去世的父亲(中文)

上周,我推荐《连线》杂志的这篇长文。儿子得知父亲晚期肺癌以后,进行谈话录音,把内容做成一个对话机器人,父亲去世后还能跟他对话。当时我说,希望文章能有中文版。真有网友翻译了,而且译得很好,我再次读依然感动。我们太强调技术胜过人,但技术也可以有人性。
第 83 期
1、我比较了麦当劳最便宜和最贵的汉堡(英文)

一个美国记者详细比较了,当地麦当劳最便宜的汉堡(1.69美元)和最贵的汉堡(8美元),发现它们差异巨大。
2、如何将任意命令装为图形界面?(英文)

本文介绍使用 Gooey 这个工具为任何命令行的命令,生成一个图形界面,用户只需写一个配置文件即可。上图是一个 MP3 转换命令的图形界面。
3、我如何建造一个父亲对话机器人(英文)
这是一篇长篇散文。作者的父亲是癌症末期,作者录下了自己与父亲的对话,利用这些对话资料,建造一个人工智能的对话机器人。父亲去世以后,跟机器人对话,机器人说出父亲会说的话。我很喜欢这篇文章,希望有人会把它译成中文。
4、PHP 的这25年(英文)

PHP 创建者 Rasmus Lerdorf 的一次讲演,回顾自己创造 PHP 语言的这25年。
5、Unix 先驱的密码(英文)
几十年前,Unix 源码公开的时候,/etc/passwd 文件也一起公开了。里面包含了早期使用者的密码哈希,因此可以从哈希破解出他们的密码,其中有5个人的密码一直没有破解。
最近有人使用最新的硬件,终于找出了这五个人的原始密码。其中最难的是 Unix 发明者 Ken Thompson 的密码p/q2-q4!,上个世纪80年代的密码,现在的硬件仍然需要计算4天才能破解。
6、Python 爬虫保存美国农业部网站的水果数据库(中文)

美国农业部为全世界已知水果制作了 7500 幅水彩“证件照”,并提供高清下载。作者讲述自己如何编写 Python 爬虫,抓取这些图片。(@jwenjian 投稿)
7、Costco 如何改变零售规则并成功?(英文)

Costco 是一家美国的连锁超市,采取了与其他超市不一样的模式,为实体店如何在网络时代活下去,提供了一些经验。
8、React Hooks 的原理(英文)
本文通过简单的代码,自己做了一个 Hooks 的简单实现,讲解 React Hooks 的原理。(@hacker0limbo 投稿)
9、谢耳朵猜想被证明(中文)

美剧《大爆炸理论》的主角谢尔登说,他最喜欢的数字是73。因为73是第21个质数,7 乘以 3 正好等于21,而且翻转过来也成立,37是第12个质数,宇宙中不会再有第二个这样的数字。电视剧播出后,这被称为“谢尔登猜想”,还真有数学教授写论文证明,这个猜想是正确的。
10、GraphQL 相对 REST 的优势(英文)
GraphQL 是客户端与服务器之间的一种数据请求方式,本文解释了它比 REST 好在哪里。
第 82 期
1、软件工程师如何才能晋升?(英文)
本文总结了软件工程师如何才能在大公司里面获得职级晋升。
2、椭圆曲线加密介绍(英文)
本文抽离了数学细节,尽量用简单的图形解释椭圆曲线加密算法。
3、TypeScript 的由来(英文)
本文由当事人讲述 TypeScript 早期的故事,从中可以看到这门语言的设计过程。
4、数据库类型的历史回顾(英文)
本文按照历史发展,介绍了数据库的四种类型以及子类:传统数据库、关系型数据库、NoSQL 数据库、NewSQL 数据库。
5、两行 Nginx 配置返回客户端的 IP 地址(英文)
Nginx 的一个小技巧,在不使用编程语言的情况下,在 JSON 对象里返回客户端的 IP 地址。
6、AMD 与 英特尔的财务数据比较(英文)
本文比较这两家主要 CPU 公司的财务数据指标,可以了解 CPU 市场的格局。我印象比较深的是,这两家公司的员工平均收入都可以达到60万美元。
7、CSS 如何自动切换明暗模式(英文)
本文介绍如何让 CSS 根据不同设备,自动选择暗模式(dark mode)或明模式(light mode)。
8、Timsort 介绍(英文)
Timsort 是 Python、Java 等的默认排序算法,本文简要介绍这种算法。
9、C++ 生态环境介绍(英文)
本文介绍 C++ 的各种配套工具:编译器,IDE,调试器等。
10、如何估算银河系中的外星文明的数目?(英文)


1961年,美国天文学家弗兰克·德雷克(Frank Drake)提出一个方程,用于计算银河系中可能与地球发生无线电通信的外星文明数量,当时估计20个~5000万个之间。本文根据现在的数据计算,得出结果是46个。
第 81 期
1、为什么秋天叶子会变黄?(英文)
一篇图文并茂的科普文章,制作精良。
2、华为 HR 五千字实名控诉(中文)
胡玲是一位从研发转岗到 HR 的华为员工,她的这篇5000字长帖讲述了她在 HR 岗位上几个月的感受。当研发员工月加班160多个小时的时候,HR 团队领导只关心160个小时中有多长时间是怠工;这位领导吃着公司200块一对的大闸蟹,却认为给食堂提意见的研发应该清退;当32岁的研发绩效B+被劝退的时候,40岁的 HR 同事上班摸鱼绩效三连B却还随心所欲。
3、JSON.stringify 如何影响 Node.js 的性能(英文)
JSON.stringify() 方法用于 JSON 对象的串行化,该方法对 CPU 的消耗很大,会影响 Node.js 的性能。本文是深入分析。
4、影响世界未来最重要的三件事(英文)
一篇非常好的英语长文,指出有三种大趋势将完全改变世界和每个人的未来。
5、六个画板程序的 Linux 替代品(英文)

本文介绍6个可以用来作画的 Linux 开源程序。
6、华为 MateBook X Pro 笔记本体验(英文)

一个澳大利亚开发者购买了一台华为 MateBook X Pro 笔记本,在上面安装 Linux,本文是他的总结。
7、网站发布到 IPFS 指南(英文)
一个简单的教程,教你如何把网站发布到 IPFS,并设置域名解析。
8、Bash 自动补全的工作原理(英文)
本文教你如何为自己的命令行工具,加上 Bash 补全功能。
9、学术论文的变化(英文)
本文是一个以色列研究团队分析了200年来5.28亿篇学术参考文献,所得到的一些发现。这些年来,随着论文数量激增,论文变得越来越短,而标题、摘要、作者列表和参考文献却越来越长,大量的自我引用。研究者认为,论文的发表数量和引用数量,已经成为学者主要追求的目标。
10、如何把回调函数转为 Promise?(英文)
JavaScript 的异步操作,传统上采用回调函数写法,本文介绍如何把基于回调函数的代码改为 Promise。
第 80 期
1、如何实现网站的暗模式(英文)
本文介绍如何为网站添加暗模式(dark mode)。白天显示为亮模式,晚上使用脚本,自动切换成暗模式。
2、如何设置粘性页尾(英文)
一个 CSS 技巧,如何使用 Flexbox 布局将网页的页尾始终放置在窗口最底部。
3、S 表达式是更好的数据格式(英文)
如果不使用 XML 作为数据传递的格式,应该使用什么格式?答案是 S 表达式。
4、提交信息的规范(中文)
代码仓库的提交信息应该怎么写,这份规范标准可以参考。
5、隐藏字符加密(中文)
解释使用零宽度字符加密文本的原理。(@rover95 投稿)
6、JavaScript 编程技巧(英文)
本文总结了六种很有用的编程技巧,帮助你成为更好的 JavaScript 程序员。
7、如何确定电子邮件地址是否存在(英文)
本文使用 nslookup 命令确定一个电子邮箱是否存在。
8、如何写 Linux 的监控脚本(英文)
本文演示一个简单脚本,监控某个服务是否正常,如果启动失败就会发邮件通知管理员。
9、我为什么北大计算机图形学直博第五年退学(中文)

作者刚刚博士肄业,计算机图形学直博第五年退学,没有硕士学位。读博读到怀疑人生,所以就退了。退学之前作者问了自己五个问题,在全部想清楚回答之后,就毅然选择退学。
10、树莓派的局限(英文)
作者从硬件角度谈了树莓派三代的一些问题,以及由此导致的不合适使用的场景。
第 79 期
1、Chrome 扩展的数量分析(英文)
本文分析 Chrome 商店的十多万个浏览器扩展,它们的类别和下载次数,以及哪些扩展最受欢迎。
一个很有意思的网站,会一行行显示自己的源码,页面跟着代码实时变化。实现方法可以参考这里。
3、OLPC 项目的历史(英语)

2005年,麻省理工学院媒体实验室推出了100美元的 OLPC 笔记本电脑,目标是“每个孩子一个笔记本电脑”。2013年,该项目解散,公告写着“让我们对自己诚实。团结在一起的那种激动,活力和热情已经荡然无存。”本文回顾了这个项目的历史。
4、休假十周的感受(英文)
作者是一个程序员,离开工作岗位,进行了一次为期十周的长途旅行。本文是他的一些感受,如何从繁忙的工作中脱身,以及从旅行中得到了什么。
5、看清机器学习的炒作(英文)
作者认为,机器学习这个词是一种炒作,已经被神化了。实际上,机器学习就是要解决四类问题,每一类问题都有对应的算法,并没有神奇之处。
6、警惕多个同类型参数的函数(英文)
一个函数如果有多个同类型的参数,比如两个参数都是字符串f(string A, string B),作者认为必须警惕,因为容易误用,必须查文档才能分辨每个参数的含义。所以,函数定义时最好避免同类型的参数。
7、Chrome 浏览器的一键暂停播放功能(英文)
你在 Chrome 浏览器打开了20个标签,其中一个正在播放音乐或视频,你单击一个个标签找出到底是哪个标签在播放,这样很麻烦。Chrome 现在提供了一键暂停/播放功能,一个按钮让所有标签停止播放。
8、计算机科学经典书籍的书单(英文)
作者列出心目中最佳 CS 书籍,分成编程、算法、语言、系统和网络五个部分。(@nickmose8 投稿)
9、浏览器 user-agent 字符串的混乱历史(英文)
浏览器发出 HTTP 请求时,会带有一个 user-agent 字段,表明自己的身份。但是,这个字符串相当混淆,许多浏览器都在故意冒充别人。本文介绍这个字段的历史
10、怎么看待微软亚洲研究院?(英文)
过去5年中,人工智能领域引用最多的论文出自北京的微软亚洲研究院 MSRA,作者是四个中国人。事实上,MSRA 培养了大量的人才。本文站在美国的立场,分析美国应该怎么看待这件事情。
第 78 期
1、山里拍到了23条蛇(中文)

9月7号、8号两天去山里玩。两个白天加晚上一共走了30多公里,拍到了23条蛇(虽然一小半都是虎斑颈槽蛇幼蛇,见上图),还有几条逃跑太快,没拍到。
2、谷歌为什么选择 Kotlin 作为安卓开发语言?(英文)

谷歌一直在为安卓应用开发寻找 Java 的替代品,这是为什么?Kotlin 哪里超过了 Java?
3、我的一人互联网公司(英文)
一个开发者介绍,他如何一个人开发和管理20台服务器,运营一个商业网站。
4、短网址(short URL)系统的原理及其实现(中文)
本文介绍短网址服务的原理,以及如何写一个实现。(@Youthink 投稿)
5、JavaScript 的新语法(英文)
本文介绍一些即将进入 JavaScript 标准的新语法。
6、我如何创建一个盈利的副业项目?(英文)
作者在面试 Facebook 被拒以后,决定做一个项目证明自己。本文记录他构思、开发、推广的过程,发布后4个月产生了1000美元的收入。
7、全文搜索系统入门(英文)
本文用通俗语言介绍全文搜索的原理。
8、async 函数的使用模式(英文)
async 函数是 JavaScript 语言新增的异步解决方案,本文通过许多例子,介绍它比 Promise 好在哪里。
9、苹果的 A13 芯片介绍(英文)
iPhone11 发布会上,A13 芯片的介绍只占四分钟,但它可能是 iPhone 11 最重要的更新和迄今最好的手机 CPU:“包含85亿个晶体管,六个内核,一个四核图形处理器,一个LTE调制解调器,一个用于机器智能功能的八核神经引擎,每秒可运行超过五万亿次运算。”
10、为什么 Jira 难用透了(英文)

Jira 是常用的项目管理工具,本文使用大量图片解释这个工具是多么难用。
第 77 期
1、谷歌新增链接的说明符(英文)

谷歌宣布,除了nofollow以外,新增两个 HTML 语言中的链接说明,帮助搜索引擎更好地判断链接的性质。
2、Netlify 的 FaunaDB 集成(英文)
Netlify 是一个静态网站服务提供商,它现在接入了云数据库 FaunaDB,为静态网站提供了后端数据库功能。
3、使用 Socket.io 开发一个最简单聊天应用(英文)
本文介绍如何通过 Socket.io 这个库,开发一个前后端通过 WebSocket 协议互动的最简单聊天应用。
4、为什么 Firefox 的 DNS over HTTPS 是危险的?(英文)
传统的 DNS 查询不加密,所以不安全。新的 DNS over HTTPS(简写 DoH)是加密查询,Firefox 打算默认开启,本文认为,这样会让所有 DNS 查询都导向一个实体,是危险的。
5、5G:炒作与现实(英文)
5G 通信是现在的热点,但是很大一部分是炒作。本文分析 5G 的应用场景,以及它的代价和局限。
6、Excel 的19个替代品(英文)

本文介绍可以替代 Excel 的19个在线电子表格。
7、我最喜欢的 Chrome 插件(英文)
作者是一个前端程序员,介绍自己使用的专用于 Web 开发的 Chrome 浏览器插件。
8、雇佣 Java 程序员的完整指南(英文)
Java 程序员招聘非常常见,本文总结了企业对于初级、中级、高级、架构师各个级别的 Java 程序员应该考察哪些方面。
9、长途货车司机是中国经济的无名英雄(英文)
《经济学人》杂志的报道,中国的制造业和网购都依赖卡车司机,但是没有人知道他们。
10、未来的游戏物理学(英文)

本文是一个瑞典游戏开发者的专访,介绍他对游戏中的物理学应用的看法。
11、追寻核聚变(英文)
核电站都是核裂变反应堆,但是更有前景的是核聚变反应堆。这篇长篇的新闻报道,介绍核聚变的研究历史,以及目前的进展。
第 76 期
1、<portal>元素的安全性分析(英文)
Chrome 浏览器最近开始支持<portal>元素。它基本上是一个更安全的<iframe>,建立一个彻底的沙箱,用于在一张网页里面插入另一张网页。
2、可以用正则表达式检测正则表达式吗?(英文)
这是一个 StackOverflow 的问答,能不能写出一个正则表达式,去检测另一个正则表达式是否形式正确。这里还有一篇文章是针对这个问题的解释,关键在于正则表达式是否支持递归检测。
3、如何用 AWS Amplify 托管网站(英文)

AWS Amplify 是亚马逊的持续集成服务,作为一个简单的网站托管方案,可以直接从源码构建网站,然后自动部署。
4、傅里叶变换交互式入门(中文)
通过一系列互动图形,直观介绍傅里叶变换的含义,基本没用数学公式。
5、如何使用 CSS 变量写一个样式切换器?(英文)
本文介绍 CSS 变量的概念和一些技巧,然后演示用它写一个暗模式/亮模式的切换器。
6、我对编程语言的评价(英文)
一个程序员对十几种编程语言的简短评价,列出每种语言各自的优缺点。
7、如何使用 IPFS 集群架设静态网站?(英文)
IPFS 是一种新的 Web 架构,本文作者尝试让自己的静态网站可以通过 IPFS 访问。本文还有续集,介绍如何持续集成,只要推送源码,就自动构建,然后推送到 IPFS。
8、JavaScript 的函数、对象、原型、原型链的关系(中文)
一篇对于 JavaScript 原型链相关知识的总结。(@scottcgi 投稿)
9、日本企业的产业升级之路(中文)
跟大家的印象不一样,日本企业这几年不是走下坡路,而是在走上坡路。东京股市从安倍上台的2012年的8000点,已经上升到2万2000点。本文介绍一些日本企业的最新发展。(@Hiufan 投稿)
10、我如何一个人实现亚马逊上的100万美元销售额?(英文)

一个美国大学生讲述,他如何通过代理中国产品,没有雇佣任何人,一个人在亚马逊上年销售额达到100万美元。
11、中国国庆阅兵展示的新武器(英文)

CNN 分析国庆阅兵里面值得注意的新武器。
第 75 期
1、如何使用 cluster 模块扩展 Node.js 应用(英文)
Node.js 应用都是单进程的,可以使用 cluster 模块将其变成一个多进程应用。本文通过一个简单的例子,介绍具体方法。
2、35岁以后油腻中年人该去哪?(中文)
这些年有一个非常不太好的感触,一般来说,企业对员工好,这企业往往走不远,走得远的,往往是那种往死里压榨员工的企业。
3、处理长文本行的方法(英文)
有的文本,每一行特别长,很难阅读。这时可以使用cut命令,将其转为多行,比如head data.csv | cut -c -30。
4、理解 Y Combinator(英语)
Y Combinator 是函数式编程的重要概念。本文较为通俗地一步步推导它,对函数式编程有兴趣朋友可以看看,文章很长。
5、10种最佳的 Python IDE(英文)
本文介绍了10种 Python 编程 IDE(集成编程环境),每一种的简介和特点。
6、ReasonML 与 TypeScript 的对比(英文)
ReasonML 是 Facebook 推出的一种脚本语言,作为网页编程的静态类型解决方案。本文比较了它与 TypeScript,提出 ReasonML 有一些 TypeScript 不具备的优点。
7、Linux 桌面环境的发展历史回顾(英文)
Linux 是作为命令行下的服务器系统开发的,桌面环境一直不如商业的操作系统。本文回顾了 Linux 桌面环境的发展历史,带有多张图片。(@M1seRy 投稿)
8、浏览器指纹识别介绍(英文)
追踪用户的常用手段,是使用 Cookie 保存用户 ID。但是,随着浏览器开始限制第三方 Cookie,新的追踪手段是使用浏览器指纹。本文介绍一些这方面的基本知识。
9、BitTorrent如何运作?(英文)
本文通俗地介绍 BT 下载的原理和算法,包括磁性链接如何运作。
10、我如何在40天里面写一个 C 语言编译器(英文)
作者的编译器开发日记,第一天写了20行代码,发展到后来的4000行,记录了每一天所解决的问题。
第 74 期
1、安卓的三层结构和鸿蒙 OS(英文)

安卓实际是一个三层结构:Linux 内核、安卓中间层和谷歌服务框架。华为的鸿蒙 OS 比较可行的选择是,依然使用底下两层,只取代谷歌服务框架的部分。
2、生物识别安全平台的数据泄露(英文)

一个安全团队披露,他们破解了一个广泛使用的用户数据库,获得了100多万条指纹和面部识别信息。他们认为,生物特征作为密码是不安全的,一旦数据泄露,用户不可能更改指纹和面部特征。
3、使用 Backblaze B2 和 Cloudflare Workers 搭建免费图床(英文)
开发者通常都有图片托管的需求,本文介绍一个免费的搭建个人图床的方案。
4、motd 功能解释(英文)
类 Unix 系统的/etc/motd服务,可以对所有用户显示登陆时的通知信息。本文介绍怎么使用这个服务。
5、抗癌史上的华人传奇(中文)
世界上第一个使用化疗治疗癌症的医生,是中国人李敏求。
6、静态博客的技术方案(英文)
这是 Hacker News 的讨论帖,讨论当前自己搭建博客的最佳技术方案。
7、ncdu 命令的用法(英文)
du命令是类 Unix 系统查看文件和目录大小的命令,ncdu是du的替代品
8、Cherry MX 机械键盘的类型(英文)

本文给出机械键盘几种类型的参数和内部构造动画。
9、如何使用图像预览加速图像加载(英文)
网页图像可以先加载预览图像,然后再自动加载完整图像,这样有助于提高网页性能。本文总结了图像预览的几种方案。
10、我的周末项目(英文)
本文记述作者一个周末写的项目,结果意外变成了苹果应用商店的最佳新应用,赚到了4000美元。作者谈了他的一些感想。
第 73 期
1、中国贫穷地区的发展(中文)
Quora 上有人再次针对中国提出尖锐问题:如果中国有那么多钱投资其他国家,为什么不用这些钱发展本国的贫困地区呢?有一个答案内容详实,获赞最高,让围观小伙伴们赞不绝口。
2、历史上哪两件事听起来不在同一个年代,实际上却同时发生的?(中文)
知乎的一个帖子。按赞最多的回答是:“爱因斯坦发表相对论的那一年,中国废除科举。”
3、如何开始机器学习?(英文)
初学者应该怎么学习机器学习?这篇短文概述了需要掌握的几个方面,以及可用的学习资料。
4、TypeScript 与 React 一起使用(英文)
本文是写给初学者的 TypeScript 介绍,以及它如何与 React 一起使用。
5、如何使用 Firefox 的免费代理?(中文)
Firefox 推出了浏览器全局的默认代理,本文介绍如何安装试用。(@erossszh 投稿)
6、如何安全运行他人的 JavaScript 代码?(英文)
Figma 是一个网页应用程序,有很多第三方开发者写的插件。如何才能在网页安全运行第三方代码,这是 Figma 团队面临的重大问题。本文记录了他们的探索过程,最后使用的是新提出的 Realm API。
8、黄金分割的数据可视化(中文)


本文通过可视化图形解释,为什么植物花盘都符合黄金分割。黄金分割这个无理数的比率,在图形上到底是什么含义。(@jwenjian 投稿)
我们知道,浮点数计算是不精确的,0.1 + 0.2 不精确等于 0.3。这个网站列出了各种编程语言的 0.1 + 0.2 的结果。(@NeoTse 投稿)
10、Chrome 浏览器的工作原理(英文)

谷歌官方的系列文章,一共有四篇。采用多幅图片,一层层从计算机底层一直到浏览器渲染引擎,介绍 Chrome 浏览器渲染网页的工作原理。(@NeoTse 投稿)
第 72 期
1、如何缩小 SVG 文件的大小(英文)
SVG 是文本文件,有很多冗余的标签。本文介绍怎么压缩它的体积。
2、钍发电(中文)
传统的核电站都使用铀和钚作为燃料,但是科学家提出可以改用钍。钍的蕴藏量较多、产生较少核废料、不易制成武器,而且钍裂变发电较有效率。
3、生产1千克材料需要多少能量(英文)
生产一公斤木材需要1度电左右,一公斤生铁6度电,一公斤电解铝70度电,一公斤芯片硅2000度电。
4、apt 与 apt-get 的区别(英文)
基于 Debian 的 Linux 发行版,一般都有apt和apt-get两个命令行的包管理工具,本文介绍它们的差异。另外,这里还有一篇《apt-get 命令详解》也可以参考。
5、图片 CDN 简介(英文)
图片 CDN 是专用于图片文件的内容分布网络,有很多针对图片的优化。本文介绍它的基本知识,以及可用的方案。
6、计算机语言的保留字数量(英文)

一门语言的保留字数量,反映了语法的复杂度。有人统计了流行的计算机语言,发现保留字最少的是Elixir(15个),最多的是C#(77个)。出乎意料的是,Go的保留字少于C,JS少于Python,Python又少于 Ruby。
7、函数式编程的术语解释(英文)
函数式编程有许多独有的术语,本文给出简单的解释,以及 Rust 语言的示例。
8、Switch 游戏机安装安卓系统(英文)

任天堂公司的 Switch 游戏机,本质上是一个手机零件组成的游戏机,而且配置很低。CPU 是四核 Nvidia Tegra X1 ARM,4GB 内存,720p 触摸屏和 4310mAh 电池。本文介绍如何在它上面安装安卓系统。
9、如何自己写一个静态站点生成器(中文)
一直很想自己写一个静态博客,但总是觉得比较麻烦。直到看到 Writing a small static site generator ,才发现原来写一个静态博客竟如此简单。(@muxueqz 投稿)
10、美国数据科学家挣多少钱(英文)
薪资中位数为120,000美元。这个中位数只是基本工资,不包括现金奖励,股权和福利。(@nosarthur 投稿)
第 71 期
1、即将到来的宣传自动化(英文)
作者认为,由于自动生成文本、图片、视频的技术都已经逐渐成熟,将来脸部识别认出你是谁以后,就可以针对你推送内容。软件不断生成新内容,从而实现宣传自动化。
2、如何查询 StackOverflow 和 GitHub 的最新趋势(英文)
StackOverflow 和 GitHub 每天都有大量动态,只要加以统计,就能看出最新的技术趋势。这两家公司的数据查询都是公开的,本文展示如何自己写查询,得到趋势统计。
3、我的日本码农就职总结(中文)
本文较为详尽的记录了计算机专业应届生在日本校招求职整个过程,包括抉择、事前准备、面试经历及感想。如果你想去日本工作,可以参考。(@vinci7 投稿)
4、FACEBOOK 伦敦终面经历(中文)
五月份的时候,在 LINKEDIN 上看到 FACEBOOK 伦敦的招聘广告,于是就投了,当时不抱希望的。投了简历很快就接到 FB 猎头的联系。(@DoctorLai 投稿)
5、随机数函数的图像(英文)

作者写了一个工具,可以生成随机数函数的图像,从而判断随机数生成是否有规律。上图中,明显randomC函数比较理想。
6、风险是可控的,只是需要高度自律(中文)
纪录片《徒手攀岩》中,Alex 徒手没有任何保护,爬上了酋长岩。即使是在专业的攀岩运动员看来,这也是一个不可能完成的任务。说白了,就等于送死。
他说了一句话,非常地奇怪,他说:“风险和后果是两回事。徒手攀岩的风险很低,只是后果很严重。”
7、文本压缩算法比赛(英文)

一个澳大利亚计算机教授,在2000年发起一个比赛。谁将100MB 的维基百科文本文件,压缩得最小,可以得到5万欧元奖金。
经过20年,领先者的记录从18MB 降低到16MB 以下。目前还在等待,谁第一个压缩到 15MB 以下,就是冠军,拿到5万欧元。
8、DevOps 干什么?(英文)
DevOps 作为一个新近诞生的职位,它的职责范围是什么?作者以一个 DevOps 工程师的身份,谈了自己的主要工作职责。
9、机器学习算法的最低数学要求(英文)
机器学习对数学要求比较高。本文总结了需要掌握的最低限度的数学模型。
10、Chrome 隐身模式依然可以检测(英文)
Chrome 76 堵上了隐身模式的漏洞,使用内存模拟 FileSystem API,导致隐身模式的检测脚本失效。本文提出,隐身模式依然有办法检测到。一种令人惊艳的思路是,内存比文件系统快得多,因此可以从访问速度判断是否为隐身模式。
第 70 期
1、为什么一天有两次潮汐(中文)

潮汐是月球引力引起的,这样的话,应该最靠近月球的时候,才会发生涨潮。但是事实上,地球上大多数地方,一天有两次涨潮,某个地点最远离月球的时候也会涨潮,这是为什么?
2、我用 50MB 度过一天(英文)
以前,有人尝试100元钱生活一周,现在的挑战是 50MB 流量过一天。这实在是很艰巨的任务,因为即使是谷歌那样简洁的首页也有 402KB。这篇文章介绍作者采取的各种节省带宽的方法,以及网站应该如何减少网页的体积。
各种类 Unix 系统里面杀死进程,要比想象的难。一个主要的问题是,杀死父进程,子进程并没有一起杀死,会变成孤儿进程。如何才能做到这一点?
4、海盗党的版权改革主张(英文)
这篇文章是瑞典盗版党的版权改革主张:非商业用途应该免费,商业用途只能保护作品发布后的五年,允许衍生作品不支付版权费,废除数字版权机制 DRM。
5、Flutter 带给我的挫败感(英文)
一个安卓开发者谈他对 Flutter 初次尝试的印象。
6、Syslog 日志指南(英文)
Syslog 是一种日志协议,Linux 系统普遍使用这种日志,其他系统也可以使用。本文介绍这种日志的基本知识。
7、为什么你应该使用 pathlib(英文)
本文介绍 Python 新的路径库pathlib比原来的os.path好在哪里。(@nosarthur 投稿)
8、22岁奥地利 PHP 程序员专访(英文)

22岁的皮特完全通过自学,掌握 PHP 编程。他介绍自己如何通过互联网接项目,找到远程工作,目前的收入每月税前可以达到15K欧元。
9、狗狗克劳斯的历史(英文)

狗狗克劳斯(Clarus the dogcow)曾经是苹果公司技术的吉祥物,现在已经不用了。本文回顾它的历史。
10、产品经理与项目经理的区别(英文)
简单说,产品经理负责向客户提交的最终结果,项目经理负责一项涉及后续活动的计划。
第 69 期
1、面向对象编程:一万亿美元的错误(英文)
这篇长文详细解释了,面向对象编程的一些缺点。比如,OOP 引入了太多的层,大项目很快就会变得非常复杂,而且由于对象内部有状态,不能保证同样的输入得到同样的输出,因此很难测试。
2、我盖了一栋自己的房子(中文)


台湾网友的长篇帖子,海量图片,记录他在老家的土地上,请建筑师设计了一栋三层钢结构的民宅,然后再请施工队盖出来,完成各种内外装修,直到入住。


3、如何在 Bash 提示符显示动态信息(英文)

Zsh 的命令行提示符会显示当前目录的 Git 分支名(上图),这在 Bash 中如何做到?
4、如何使用 AWS S3 和 Cloudflare 托管免费网站(英文)
本文一步步介绍如何将静态网站托管在 AWS S3 上面,然后用 Cloudflare 建立 CDN,这都是免费的。
5、CSS 的 background-image 属性是反模式
作者提出,如果图像是内容一部分,就不应该设置成 CSS 的背景图像,而应该使用<picture>标签加上 CSS 的object-fit属性。
6、如何用 Puppeteer 破解滑块验证(英文)

很多网站现在都有滑块验证,识别用户是否为真人。但是,其实它们都可以用 Puppeteer 的自动化脚本破解,本文展示怎么做到这一点。
7、ping 的故事(英文)
ping是最常用的网络命令之一。这篇文章是ping的作者介绍他怎么写出这个工具。他以前的工作是研究声纳和雷达,声纳发出的声音脉冲就叫做ping。
8、从图片优化说起(中文)
谈谈如何使用 Node.js 进行各种图片操作,优化 Web 图片体验。(@cj1128 投稿)
9、lerna 入门教程(英文)
对于大型项目,多个模块放在一个代码仓库里面会比较方便。lerna 是管理这种多模块复合仓库的流行工具,本文介绍 lerna 的最简单用法。
10、iOS 和 Android 共享代码的隐藏成本(英文)
Dropbox 一直使用C++编写手机代码,同时支持iOS和安卓,这样只写一次代码就够了。
现在它也放弃了,不得不改用Swift和Kotlin各写一次。主要原因之一是,招不到同时懂前端和C++的程序员。
第 68 期
1、如何识别无头浏览器(英文)
命令行抓取网页,往往使用无头浏览器,比如 Puppeteer 这样的工具。怎样才能区分正常的访问与无头浏览器呢?本文提供了一个方法。
2、太空中如何大小便? (中文)

太空没有重力,所有东西都是漂浮的,大小便成了棘手的问题。本文介绍美国宇航局如何在零重力的太空环境,解决宇航员的大小便问题。
上图是国际空间站的马桶,这里的关键是屁股与马桶之间不能有空气泄漏,这样就可以用气压吸走排泄物。
3、如何识别 Chrome 浏览器的隐身模式(英文)
隐身模式用来防止网站追踪用户。有时,开发者可能希望识别,哪些用户正在使用隐身模式。本文介绍可用的方法。
4、华为基本法(中文)
华为公司1998年通过的一份公司纲领性文件,详细阐述了公司的原则和管理方法,长达1.7万字。第一条就明确写明,华为是一家信息设备供应商,永远不进入信息服务业。
5、什么是 CGI 脚本?(英文)
CGI 是“通用网关接口”的缩写,用来将任意脚本接入 Web 服务器,处理 HTTP 请求。它属于诞生于互联网早期的一种技术,如果网站访问量不大,现在依然可以使用。学习它有助于深入理解后端的 Web 实现。
6、什么是 CVE 漏洞?(英文)

软件漏洞经常有一个 CVE 编号,比如 CVE-2018-8589,这个编号是什么意思?它是怎么来的?请看这篇英语的简单介绍。
7、谷歌表格的27个诀窍(英文)
谷歌表格(Google Sheet)的功能非常强大,本文介绍27个很有用、但是你可能不知道的使用诀窍。
8、制造美少女卡通头像自动售货机(英文)


一个旧金山的动漫团队,在动漫展览会上搭建了一个美少女卡通头像的“自动售货机”(上图)。
用户付款后,可以选择一个头像,然后对头像进行发型和颜色的调整,最后打印出来,拿到头像证书。



9、运动平滑正在破坏电影(英文)
电影每秒是24帧,电视机的刷新率是 60Hz ~ 240Hz,这导致电视机播放电影时,有时会产生不连贯的现象。为了减轻这个问题,现在的电视机都默认开启了“运功平滑”功能,会在电影的每帧之间自动插入新的帧。很多电影工作者认为,这种功能对电影艺术的破坏,大于它带来的好处。
10、如何使用 JavaScript 写一个扫雷游戏(英文)

作者讲解如何用 JavaScript 写一个网页的扫雷游戏。
11、JetBrains IDE 基本快捷键(中文)
IntelliJ 的快捷键绝大部分同样适用于其他 JetBrains IDE,包括前端开发常用的 WebStorm 和 Android 开发常用的 Android Studio。掌握这些快捷键能使你成为一个更娴熟的软件开发者。(@Alice-sos 投稿)
第 67 期
1、计算机专业的学生应该知道什么?(英文)
一个美国大学教授谈,计算机专业的学生应该具备哪些方面的知识。
2、indieAuth 协议介绍(英文)

OAuth 协议已经成为授权协议的标准,但是获取用户身份的时候,必须明确列出各种平台(上图),看上去非常繁琐。indieAuth 协议是针对这一点改进,让任何网站都具备 OAuth 认证功能,甚至个人的 WordPress 网站也可以用来认证身份,用户只要提交一个 URL 即可。

3、GitHub 是最大的字体盗版网站(英文)
作者发现可以在 GitHub 轻松找到并下载各种商业字体。
4、使用 Datasette 探索 SQLite 数据库(英文)
Datasette 是一个探索和管理数据集的工具,它可以把各种各样的数据都转成 SQLite 数据库,然后在浏览器里面展示数据,并进行各种操作。本文是 Datasette 作者的一个演讲,解释他为什么要做这样一个工具,图文并茂,值得一读。
5、著名程序员的工作时间(英文)

Git 提交代码的时候,都会记录提交时间。作者统计了多个一流程序员的提交时间,比如 Linus (上图)基本上是工作时间提交代码,晚上10点以后不工作。
6、Raw 文件是什么样子?(英文)
数码相机拍摄的原始文件就是 Raw 文件,作者尝试直接读取 Raw 文件。
7、安全相关的 HTTP 头信息介绍(英文)
HTTP 头信息有许多字段跟安全相关,本文介绍所有这些字段,并给出设置方法。
8、利用谷歌爬虫的 XSS 攻击(英文)
有的网站安全性差,可以注入外部脚本,即 XSS 攻击。作者发现,注入脚本的网页可以提交给谷歌爬虫,被谷歌收录,用来提高第三方网站的排名。这个漏洞已经被谷歌修复了,但是攻击思路值得学习。
9、我的创业体会(英文)
一个印度创业者讲述自己的创业经历,最后总结三条体会。有一条说,不要想着做独角兽,要想着做蟑螂,那些大公司和风投看不上的角落,有更大的机会活下去。
10、冰川下的飞机(英文)

1942年,美军的一个飞行中队,包括6架战斗机和2架轰炸机,在飞越大西洋的过程中,由于天气恶劣而迷航,不得不在格陵兰冰川上迫降。1988年,这些飞机在冰下80多米的深处被发现,探险队抢救出了一架战斗机。经过修复,这架飞机于2002年10月重新飞上了天空。本文讲述飞机的发现和挖掘过程。

第 66 期
1、如何编写幂等的 Bash 脚本?(英文)
幂等指的是不管运行多少次,都会得到同样的结果。幂等的 Bash 脚本的最大好处是,如果前一次执行中断,那么完全可以从头运行。本文讲解如何运用各种命令的参数,做到脚本的幂等性。

追踪用户的常见做法是,把用户 ID 保存在 Cookie。如果不用 Cookie,可以追踪吗?答案是可以的,一种思路是浏览器会缓存静态资源,那么用户 ID 保存在静态资源里面就可以,比如使用 etag 保存用户 ID。
3、中国互联网报告2019(英文)
《南华早报》出品的中国互联网行业的现状和预测报告,主要是大量的数据可视化图表。
4、耗尽 CPU 的正则表达式(英文)

七月初,cloudflare 曾经全球中断服务,原因是一个正则表达式耗尽了 CPU 资源。现在,他们公布了这个正则表达式(上图),看着很复杂,简化以后,出问题是这个模式 .*.*=.* 。七个字符里面包含三个贪婪匹配,从而导致急剧放大的计算量。上面链接详细解释,为什么这个模式有问题。
5、脊髓的带宽(英文)
脊髓是人体的中枢神经传递信号的通路,它的带宽有多大?一个神经科人士估算,可以达到每秒16.625 GB的数据,比 5G 通信的最快速度,还要快几十倍。
6、如何使用 Python 和 Tor 改变 IP 地址(英文)
有的网站对爬虫有 IP 限制,该文作者将爬虫放在 Tor 网络后面,使得每次请求都有不一样的 IP 地址,从而避开限制。
7、我如何发现 Instagram 的漏洞(英文)
作者讲述他如何发现 Instagram 的一个漏洞,可以改掉任何用户的密码,最后得到 Facebook 公司三万美元奖金的故事。
8、一场将 Safa 和 Marwa 分开的战斗(英文)


BBC 的长篇图片报道。Safa 和 Marwa 是一对头部连在一起的连体姐妹,一个英国的医疗团队试图将她们分开。希望有人把这篇报道译成中文。
8、阿波罗登月计划如何促进计算机的进步(英文)

今年7月20日是阿波罗登月计划50周年的纪念日,本文回顾了登月对计算机的推动作用。上图就是导航系统的主机壳,右边是它的输入模块。(@starshipsea 投稿)

本文总结了视频弹幕的特点,建议引入新的 HTML 标签<bulletchatlist>和<bulletchat>。(@Mrlilili 投稿)
10、原创与前沿的区别(中文)
自然科学基金要求注明,所申请的项目属于原创性研究,还是聚焦前沿。相当多的人分不清这两者,我所在的学科组讨论的大约300个项目,大约有20%标注为“原创性研究”,其实全部属于“聚焦前沿”。
第 65 期:周刊开设”谁在招人”的招聘服务
1、SwiftUI 开发 Web 网页(英文)

苹果最新推出的 SwiftUI 可以为 macOS、watchOS、iOS 开发应用程序,现在有人用它开发网页。
2、数字独立宣言
维基百科联合创始人之一撰写的互联网领域的权利宣言,摘录两段。
“人类被巨大的数字帝国轻蔑地对待。因此,现在有必要用独立个体的分散网络取代这些帝国,就像互联网的早期一样。”
“我们声明,我们拥有不可剥夺的数字权利。由于目前互联网的专有集中式架构已经促使大多数人放弃这些权利,我们应该要求一个能够尊重它们的新系统。”
3、如何使用 jk 生成配置文件(英文)
jk 是 JavaScript 写的工具,可以将 JS 的数据结构转为 JSON、YAML 等格式的配置文件。
4、中国稀土开采的环境代价(英文)

稀土开采需要向土壤注入化学品,会造成大量的水和土壤污染。中国作为世界最大稀土生产国,面临严峻的环境问题。
5、Dockerfile 最佳实践(英文)
本文介绍如何写出良好的 Dockerfiles 文件,可以节省构建时间、image 文件大小,增加可维护性、安全性和可重复性。
6、如何使用 Web Share API?(英文)

Web Share API 可以让网页调用系统的分享按钮,不用自己实现网站分享,既节省开发时间,又能提高网页性能。目前,安卓和苹果手机都已经可用。
7、如何写网页的社交媒体分享功能(英文)
网页的分享按钮,可以分享到 Facebook、推特等社交媒体,这是怎么实现的?
8、fzf 和 ripgrep(英文)
本文介绍 find 和 grep 命令的替代品 fzf 和 ripgrep。
9、CPU 基本知识(英文)
CPU 的入门介绍文章,讲解 CPU 相关的基本概念。
10、Go 语言入门(英文)
一篇 Go 语言初学者入门教程,文章较长。
第 64 期
1、iframe 点击劫持的介绍(英文)
点击劫持指的是,恶意网站通过将一个透明的 iframe 层覆盖在某个链接上面,引诱用户点击。本文介绍这种攻击的实现方法,以及如何防止。
2、被 YC 拒绝之后(英文)

YC 是美国最大和最著名的创业孵化器,每年有很多创业者申请。本文详细描述作者申请 YC 的过程,被拒之后,如何在一个周末做出调整,企图挽回的经过。
3、我为什么不使用 Web Components?(英文)
Svelte 框架的作者谈 Web Components 方案的一些问题。
4、对抗性神经网络的发展历史(英文)

上面这些照片都是对抗性神经网络生成的假照片,根本无法分辨。对抗性神经网络的原理很简单,就是两个神经网络互相对抗,一个生成照片,另一个负责识别。本文介绍它的发展历史。
5、Salesforce 介绍(英文)

Salesforce 是世界最大的商业软件公司之一,本文详细介绍这家公司的历史和它的产品。
5、NumPy 的可视化介绍(英文)
NumPy 是 Python 的数学分析库,本文以大量图片介绍如何使用这个库。
6、使用 Google Mobilizer 书签工具(英文)
Google Mobilizer 是谷歌的一个服务,可以将任意网页转为纯文本的手机网页。该文介绍如何将这个服务做成书签工具,在浏览器中一键调用。
7、awk 简明介绍(英文)
awk 是处理格式化文本文件的命令行工具,非常强大。本文是一篇简明易学的入门教程。
8、五个 JavaScript 小技巧(英文)
作者总结了五个 JavaScript 代码写法的技巧。
9、容器知识 101(英文)
一个美国本科生写的容器基本知识的介绍,写得还不错。
10、消息代理软件介绍:以 ActiveMQ 为例(英文)

消息代理是异步架构软件的常用工具,本文是 ActiveMQ 的入门文章,介绍基本概念和简单用法。
11、史上最大规模的北极考察(英文)

《华盛顿邮报》的长篇报道,介绍一个多国科学家组成的大型北极科考项目,多图。他们将一艘破冰船开到北极的偏远地带以后,关掉动力,听任船只冻在海冰之中,然后以该船为基地,进行科考活动。等到天气回暖以后,船只随着浮冰漂流,因此可以知道洋流路线。
第 63 期
1、为什么创业?(英文)
作者是 Facebook 员工,谈了创业的10个原因,以及 Facebook 如何在内部模拟这些条件,吸引员工留下。
2、概率论的基础概念(英文)
这是一组系列文章,面向新人的概率论入门,并且有 Python 语言的示例。
3、稀土元素对高科技行业的影响(英文)
本文介绍了稀土在高科技行业的应用。据称,一部 iPhone 包含元素周期表的118种元素中的75种。
4、微软的安卓开发状况(英文)
微软官方介绍微软内部的安卓开发状况,比如目前还在开发的有70多个应用,主要使用的语言是 Java 、Kotlin 和 React Native。
5、84个认知偏见(英文)

如何利用心理学上人类的84个认知偏见改进产品,提高转化率。比如,人们会对稀缺的东西有更高的评价,因此要突出产品的稀缺性(上图)。(@developerchengang 投稿)
6、搬到切尔诺贝利的人们(英文)

BBC 的长篇图片报道。切尔诺贝利核电站发生事故以后,由于放射物质泄漏,周围半径30公里的地区是无人区。最近这些年,乌克兰国内发生军事冲突,有些人为了逃难,开始搬进了无人区居住。
7、你可能不需要 ReCAPTCHA(英文)

ReCAPTCHA 是谷歌防止爬虫的工具,用来确定访问者是真人。它有很多弊端,体验也不好,本文提供了一些替代方案。
8、停止使用密码遮挡(英文)
浏览器输入密码时,不会显示实际密码,而会显示星号或小圆点。本文认为这种密码遮挡是不合适的,应该停止使用。
9、类型与测试(英文)
一篇通俗易懂的好文章,介绍类型系统给代码安全带来的好处。一个良好的类型系统,可以大大减少测试的工作量。
10、单体架构与微服务架构(英文)
单体架构(Monoliths)与微服务架构的一个简单的比较,各自的优缺点和适用场合,写得简明易懂。
第 62 期
1、切尔诺贝利地区的现场报道(英文)

切尔诺贝利核电站遗址,距离乌克兰首都基辅有两小时车程(120公里),外围有半径60公里的封闭区。本文是作者进入这个区域的访问记,由于那里的水还有辐射,所以全程必须自己带水。

2、谷歌允许帐号在用户死后自行删除(英文)
谷歌有一个帐号自动处理功能,可以使用这个功能,设置自己死后如何处理帐号,以及帐号里面的数据。
3、使用 Hugo,GitLab Pages和Cloudflare 开发静态网站(英文)
本文介绍如何使用标题里的三种免费工具,制作一个灵活方便的静态网站。
4、密码过期政策是无用的(英文)
很多大企业强制要求,员工每过一段时间就更换密码。本文认为这种政策是多余的,有了多因素认证和异常登录检测,就足够了。经常更换密码,反而引入风险。
5、巴厘岛适合远程办公(英文)

印尼的巴厘岛很适合远程办公,在 Nomad List 网站上排名全世界第一位,本文介绍该岛的大致情况。
6、2009年最热门的 iPhone 应用程序(英文)
苹果公司的应用商店即将满十周年,本文回顾了2009年最热门的付费应用和免费应用。出乎意料,相当一部分应用活到了今天,这说明如果你一开始领先,很可能会长期领先。
7、如何写一个 JSONWebToken 认证网站(英文)
本文使用 Node.js 作为代码示例,演示如何颁发和使用 JSONWebToken,完成用户认证。
8、高质量软件是否能弥补成本?(英文)
马丁·福勒的新文章。高质量软件必然有较高的成本,而用户对软件的内部质量不一定会有感知,未必愿意买单。为了降低软件的成本,有时不得不牺牲一点质量,马丁·福勒谈了对这个问题的看法。(@developerchengang 投稿)
9、Linus Torvalds 的20个事实(英文)

Linus Torvalds 是 Linux 操作系统的创造者,至今还在维护内核。本文是他的自传《Just for fun》的简短摘录,关于他个人的20个事实,比如他的老婆是他的学生。
10、如何自动将 VPS 备份到云存储(英文)
很多人的网站放在 VPS (虚拟服务器),很有必要将关键数据备份到其他服务器。本文介绍如何使用免费工具 Restic,备份 VPS 数据到云存储。
第 61 期
1、Python 清理过时的标准库(英文)
Python 的设计哲学是“自带电池”(battery-included),就是把需要的功能都包括在标准库里面。但是,随着 PyPI 越来越方便,Python 社区正在检讨这种哲学是否正确。缩减标准库可能是必要的,能让 Python 发行版更精简和灵活,第一步就是把过时的功能移出标准库。
2、十五年了,海盗湾依然存在(英文)

海盗湾成立至今,已经十五年了。无数次被告,服务器被抄家,域名被封锁,甚至四个创始人都关进监狱一年,但是直到今天,它依然在正常运作。
3、SpaceX 星链计划的分析(中文)

SpaceX 公司打算以11943颗低轨道卫星,组建一个卫星通信网,提供宽带上网服务。本文介绍这个计划的详情,以及怎么做到。
4、LaTex 的历史(英文)
Tex 是全世界科学家撰写论文的标准工具,本文介绍这个项目的历史由来和发展。
5、使用 Visual Studio 2019 构建 Windows Terminal(英文)

Windows Terminal 是微软最好的终端应用程序,但是现在只公开了源码,还没发布正式产品。不过你可以自己从源码构建它。
6、如何使用 GitHub issue 作为博客后端?(中文)
你可以使用 GitHub issue 写博客,然后依靠 API 通过 Circle-CI 构建出网站。
7、ssh-agent 转发详解(英文)
ssh 登录的时候,比较安全的做法是使用公钥认证。但是,这要求本机必须有私钥。如果你需要在多台机器上使用 ssh 登录,一台台拷贝私钥很麻烦,也不安全,幸好 ssh 提供了 agent 转发功能,允许在一台机器上 ssh 登录的时候,可以使用另一台机器的私钥。
8、gRPC 与 RESTful API 的比较(英文)
使用微服务式架构时,服务的通信方式可以是 RESTful API,也可以用 gRPC,作者分析了两者的差异。
9、超越 A/B 测试的算法(英文)
我们通常使用 A/B 测试,判断哪一种实现更有效。作者提出了一种新的算法,可以同时测试 n 个选项,还能随意添加和删减选项。
10、Async 函数不能用于数组的过滤器(英文)
作者发现,JavaScript 的 Async 函数无法用于数组的过滤器,即 array.filter(async f) 是无效的。这一点似乎以前没人提到。
第 60 期
1、CSS 制作中国窗格(英文)

本文介绍如何使用 CSS 的 -webkit-box-reflect 属性,通过镜面反射制作中国窗格图案。
2、学习 Dart 语言的10个理由(英文)
Dart 语言本来已经死掉了,就是因为 Flutter 这个非常有前景的业务绑定了它,所以又活过来了。说到底,还是业务重要。好的技术不一定能活,坏的技术不一定会死,取决于有没有业务。
3、非设计师需要知道的设计原则(英文)
如果你的团队没有专业设计师,那么这篇文章教你四个基本的设计原则。只要你遵循这四个原则,就会取得不错的效果。
4、Python 3 好在哪里?(英文)
Python 3 是 Python 2 的全新升级版,有重大的改进。本文介绍 Python 3 到底增加了哪些功能。
5、2019 年的 PHP(英文)
PHP 语言发展到今天,已经有了巨大改进,各方面的状况逐步让人感到满意。本文介绍 PHP 语言在2019年的最新状况,包括语法改进、性能提升、框架和模块体系等等。
6、清洁能源的下一步发展(英文)
比尔·盖茨谈,他眼中的接下来能源革命的三大发展领域,也是他的基金会重点投资方向:能量储存技术、碳捕获和核能技术、长距离的高压输电线路。
7、React 应用的 Docker 化(英文)
这篇教程一步步详细教你,如何将 React 应用打包成生产环境可用的 Docker 容器。
8、SOLID 原则:以 TypeScript 为例(英文)
SOLID 原则是2004年 Robert C. Martin 提出的软件架构原则,创造更健壮、可维护的代码,包括5个小点。本文以 TypeScript 代码为例,介绍 SOLID 的含义。
9、我的透明创业实验(中文)
一个正在进行的创业实验,一年时间做10个小产品,看看能否达到每月被动收入1000美元的目标。(@timqian 投稿)
10、5G网速那么快,基站辐射会很大吗?(中文)
5G 通信使用比 4G 更高的频率,需要的能量更大,这对基站和手机的辐射有何影响。这篇文章给出了很好的分析。
第 59 期
1、如何评价 Erlang 语言之父 Joe Armstrong(中文)
Joe Armstrong 是 Erlang 语言的发明人, 单单他的论文《面对软件错误构建可靠的分布式系统》就足以载入史册,他提出面向对象编程本质上不是并发的正确处理方法。 (@YongHaoWu 投稿)
2、SHA-256 哈希算法(英文)
一篇通俗教程,一步步解释了 SHA256 的计算方法,并有图例和 JavaScript 实现。(@xwu64 投稿)
3、你用不惯 RxJava,只因缺了这把钥匙(中文)
帮助读者理解 RxJava 操作符,并给出了一个示例项目。(@KunMinX 投稿)
4、前端框架的性能比较(中文)

本文将一个 App 用18个前端框架实现,然后比较它们的性能,翻译自英语原文。(@ahuigo 投稿)
5、如何将 gif 转成视频?(英文)
GIF 动画格式有很多缺点,最大问题就是体积过大。本文教你如何将 GIF 转成视频,嵌入网页,并且兼顾 浏览器兼容问题。
6、什么是暗网(英文)
针对新人的暗网基本知识,不涉及技术细节。
7、十四亿人的口腹之欲,是如何被满足的?(中文)

本文翻译自剑桥大学博士在 Quora 的回答,中国如何使用农业科技,生产出足够便宜的农产品,满足14亿人的消费。(@arezl 投稿)
8、树莓派 GPIO 介绍(英文)

树莓派的功能扩展,往往都要通过板载的通用输入/输出模块 GPIO。本文介绍 GPIO 的基本知识。
9、JavaScript 开发者的 Vim 配置指南(英文)
本文详细介绍几个对于 JavaScript 开发非常有用的 Vim 插件。
10、从虚拟主机到 Kubernetes(英文)
一位后端架构工程师以自己的亲身经历,详细介绍公司基础架构的变化。
11、Dependabot 服务介绍(英文)
最近,GitHub 收购了 Dependabot,并将它的服务完全免费了。本文介绍如何使用这个非常好的依赖管理工具。
第 58 期
1、DOOM 动态火焰效果(英文)

本文介绍 DOOM 火焰效果怎么实现,并且给出了 JS 源码。
2、微软的复兴(英文)

微软的市值最近超过了1万亿美元,过去5年上涨了两倍多,达到历史的最高峰。本文是微软 CEO Satya Nadella 的长篇特写,介绍这个在印度出生并接受教育的工程师,如何带领微软实现了复兴。
3、JPEG 图像还原(英文)

详细介绍 JPEG 图像格式和压缩方法。
4、Unsplash 的运营成本是多少?(英文)
Unsplash 是最流行的高清图片分享网站,创始人披露,2019年2月该网站的运营成本:服务器 + 带宽大约7万多美元,数据处理 + 监控2万多美元,总费用10万美元。
5、使用 React Native 创建 Windows 桌面应用(英文)
微软的官方教程,解释如何用 React Native for Windows 写一个 Windows 桌面应用。
6、WordPress 的签名验证机制(英文)
WordPress 采用在线更新机制,从远程下载更新包,因此必须有一个签名验证机制,防止被插入恶意代码。本文介绍 WordPress 如何实现签名验证。
7、如何制作一个多人实时协作的编辑器(英文)
这是 Hacker News 的一个讨论帖,完整涉及了现有的多人实时协作的算法和软件实现。
8、如何编写深色主题的 CSS (英文)

越来越多的应用,提供浅色主题和深色主题两种模式。本文介绍如何在现有代码改动最小的情况下,添加深色主题的 CSS 代码。
9、Chrome 浏览器计划加强 cookie 限制(英文)
Chrome 浏览器宣布, Cookie 默认将不能跨站点发送,这实际上消灭了 CSRF 攻击。
10、只使用 CSS 的实时聊天(英文)
一个匪夷所思的实验,不使用 JS,只使用 CSS 实现实时聊天。
11、任正非5月21日专访全文(中文)

2019年5月21日,多家中文媒体联合采访任正非,长达150分钟,这里是全文记录稿,信息量很大,值得一读。
第 57 期
1、电路图符号解释(英文)

本文介绍基本的电路图符号的含义。
2、一张纸对折12次(英文)

长久以来,人们一直认为,一张纸最多对折7次。2002年,加利福尼亚州的17岁中学生 Britney Crystal Gallivan(1985年出生)成功演示了,将一张1200米长的卫生纸对折12次。她还给出了一个计算公式(上图),根据纸张的厚度和想要对折的次数,算出所需的纸张的最小长度。
3、Caddy 服务器如何过滤网络请求(英文)
Caddy 是一种非常好用的 Web 服务器,作者演示如何根据 HTTP 请求携带的 Cookie 信息,返回不同的 CSS 样式表。
4、一种新的网络钓鱼方法(英文)

安卓系统的 Chrome 浏览器,用户向下滚动网页的时候,会自动隐藏地址栏。有人就利用这个特点,伪造了一个地址栏(上图的 hsbc 的地址栏就是伪造的),用来网络钓鱼。
5、虚拟内存探究(中文)
这组系列文章通过实验的方式,介绍虚拟内存的相关概念和实现,这里是中文翻译,还可以参考英语原版。(@NeoTse 投稿)
6、x86-64 汇编语言入门教程(英文)
本文通过运行一个最简单的 hello world 实例,介绍汇编语言的基本概念。
7、使用 Wasabi 和 restic 备份服务器(英文)
本文介绍如何写一个简单的脚本,将服务器数据备份到 Wasabi。
8、如何从零开始制作一块智能手表(英文)

本文含有大量图片,作者从零开始制作一块手表,表盘是3D打印的,电路是自己设计的,电池和充电器都是自己装配的。
9、二进制文件的编译过程(英文)
源码编译成为可运行的二进制文件,有好几个步骤,本文用一个最简单的例子,详细解释编译器的每一步都在干什么。
10、美国政府的高技术管制名单(英文)
2018年底,美国联邦政府发布了一份高技术出口管制名单,列出了14个大项、40多个小项的管制行业。凡是属于这些行业,原则上都不能出口,必须得到政府批准。这份名单可以当作参考,目前哪些行业属于真正的高科技行业。
第 56 期
1、如何画一幅栩栩如生的画(英文)

作者讲了七个让作品变得更真实的绘画技巧/技术。它们与软件开发有相似之处,可以借鉴,比如顶层设计、一开始不要过分关注细节等。(@BIT-zhaoyang 投稿)
2、统计图表撒谎的5个方法(英文)

本文介绍五种统计图表技巧,用来隐藏或突出某些统计信息。比如,上面左右两个图的深色部分都是30%,但是右图比左图看上去大得多。
3、PaaS 和 Serverless 的差异(英文)
本文讨论 PaaS 和 Serverless 两种架构有何不同。
4、美国2020总统大选参选人的网站设计(英文)



本文介绍评论了美国2020年总统大选的参选人的网站设计,目前一共有几十个参选人。
5、为什么面向对象编程糟透了?(英文)
这是 Erlang 语言的发明人 Joe Armstrong 的一篇短文,解释他为什么不喜欢面向对象编程。不过他也承认,面向对象编程的流行是有道理的。
6、Rust 语言的编译时内存安全(英文)
Rust 语言不会发生内存错误,都能在编译时发现。本文通过几个简单的例子,解释为什么这项功能很有用。
7、软件开发趋势 2019 调查报告(英文)
这是一份对全世界软件开发者的调查报告,可以了解商业软件开发的趋势,比如软件公司的主要编程语言是什么,使用什么项目管理工具,是否使用外包等。
8、Go 语言为什么快的5个原因(英文)
本文从计算机底层分析 Go 语言运行速度快的五个原因。(@NeoTse 投稿)
9、AWS 上搭建免费的 Wireguard 服务(英文)
AWS 提供12个月的免费帐号,可以用来搭建 Wireguard 服务,每月 15GB 流量。
10、放弃 Sass(英文)
Sass 是最流行的 CSS 预处理器。作者提出,随着 Grid 布局和 CSS 变量的出现,Sass 已经不是那么有用了,可以考虑放弃了。
第 55 期
1、为什么 SQL 如此成功?(英文)
SQL 语言诞生已经25年了,生命力只有增强,没有丝毫减弱。即使不是关系型数据库的产品,都在设法提供 SQL 类似的查询语言。本文分析 SQL 为什么如此成功的几个原因。
2、Node.js 的简单 JWT 实现(英文)
JSON Web Token 是一种令牌的生成机制,用于网站的授权和认证。本文介绍 Node.js 如何实现一个简单的 JWT。
3、50万行 Java 代码移植到 Go 语言的感想(英文)
本文作者将一个大型 Java 项目改为使用 Go 语言,详细比较了 Java 与 Go 的一些差异。
4、Nokia N9 的闹钟设计(英文)

Nokia N9 手机的闹钟 App 的设计非常出色,作者介绍这个设计的优秀之处。
5、何时使用 TypeScript?(英文)
TypeScript 正变得越来越流行,本文作者谈了自己的看法,何时应该使用 TypeScript,何时应该使用 Native JavaScript。
6、如何发现隐藏的摄像头?(英文)

现在隐藏的摄像头越来越难以发现,比如上图的“6”里面有一个摄像头。本文介绍如何发现这种摄像头,前提是摄像头必须跟你在同一个局域网里面,否则还是发现不了。
7、请不要用 JSON 作为配置文件(英文)
本文指出 JSON 的发明目的是“轻量级数据交换格式”,根本不适合作为配置文件。
8、数据储存设备的历史回顾(英文)

本文通过图片介绍历史上的数据储存设备,上图是世界第一个超过1 GB的硬盘1980年的 IBM 3380,可以存储2.52 GB,重 250公斤,售价8万美元~14万美元。
9、浅谈机器学习中的文本摘要(英文)
本文介绍如何使用 Python 自动生成一篇文章的摘要。
10、微信公众号文章链接 GitHub 文章的方法(中文)
微信公众号不允许外部链接,如果想在文中插入 GitHub 链接,可以考虑采用本文的方法。作者提供了一个小程序,可以抓取 GitHub 页面,只要跳转到这个小程序就可以了。
11、全平台框架 Flutter(英文)

谷歌发布 Flutter for web,正式宣布 Flutter 成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备。现在学跨平台应用开发,第一个要看的可能不是 React Native,而是 Flutter。(@ifrontend-xyz 投稿)
第 54 期
1、Arduino 入门(英文)

Arduino 可以看做是一块可以编程的电路板。本文介绍它的基本知识,以及如何用它来控制 LED 发光二极管。
2、Python 图形界面开发(英文)

Tkinter 是 Python 内置的 GUI 开发模块,本文一步步教你怎么使用。
3、为什么 request 项目进入维护状态?(英文)
request 是最流行的 Nodejs 模块之一,用于发出 HTTP 请求。该项目现在进入了维护状态,不再开发了。作者解释说,这个模块历史太久了,又太流行,导致无法做重大修改,跟上语言的发展,现在是时候放弃它,尝试新的 API。
4、置信区间还是 P 值?(英文)
本文探讨了置信区间和 P 值,这两个统计学概念的异同。它们都用来评估统计发现的可信性。
5、创业公司如何才能不失败?(英文)

孵化器 YC 的创始人之一杰西卡·利文斯顿的演讲,列出她眼中创业公司成功的条件。
6、Quip 的历史(英文)

Quip 是一个协同工作软件,2014年诞生,2016年被 Salesforce 以7.5亿美元收购。它的两个创始人,一个担任过 Facebook 的 CTO,另一个曾在Google领导工程和产品团队。
7、Evernote 为什么没能实现它的目标?(英文)

本文回顾了 Evernote 的历史,从诞生到快速发展,以及后来几个重大的决策失误,分析它的经验教训。
8、25年后重新采访 Linus Torvalds(中文)

Linux Journal 杂志1994年创刊号采访了 Linus Torvalds,为了庆祝杂志诞生25周年又重新采访了他(英语原文)。上一次采访时,他还没结婚,现在有三个小孩,老大马上就要大学毕业。上一次,杂志问他有何梦想,他说希望 Linux 统治世界。现在,他说早就不开这种玩笑了,因为这话已经不像玩笑了。(@Y024 投稿)
9、什么是幂等?(英文)
幂等这个概念,指重复操作不会产生任何影响。比如,电梯重复按两次,不会有差异。分布式系统特别强调幂等,因为通信可能丢失,就会需要重复发信号。
10、使用 systemd 创建 Linux 服务(英文)
创建 Linux 服务相当容易:使用你喜欢的编程语言编写一个长期运行的程序,并使用 systemd 将其转换为服务。
11、访问 Chrome Dino 游戏的创造者(英文)

Chrome 浏览器离线时,会出现一个恐龙跳跃的游戏。为了庆祝 Chrome 浏览器诞生10周年,谷歌官方博客采访了游戏的创造者,并且展示了恐龙头戴蛋糕的一个特别版。

第 53 期
1、加强 Linux 服务器安全的七个步骤(英文)
自己架设 Linux 服务器的时候,按照本文的步骤,可以防止90%以上的攻击。
2、提高《星际迷航》的分辨率(英文)

机器学习已经可以将一幅低分辨率图像,提升为高分辨率图像。作者使用这项技术,尝试将早年一部 480p 的电视剧,提升为 1080p 高分辨率。
3、全文搜索的相关性评分(英文)
搜索结果一般按照相关性进行排序,某篇文章与你的搜索词相关性最高,就会排在第一位。相关性是怎么计算的,通常是使用 TD-IDF,但是更高级的算法使用 Okapi BM25。
4、Node.js 的多线程指南(英文)
JavaScript 是单线程语言,但是 Nodejs v10.5.0 版本增加了 worker_threads 模块,使得 Node 也支持多线程。
5、如何无限延长一首歌(英文)

作者使用马尔可夫链将一首5分钟的歌,延长到了一个小时。多出来的部分都由软件自动生成。
6、Fuchsia OS 简介(中文)
Fuchsia OS 是谷歌正在开发的下一代操作系统。本文是许中兴博士在开源开发工具大会 HelloGCC 2018上发表的一个关于 Fuchsia 的精彩演讲。
7、Nodejs 控制无人机(英文)
本文介绍如何编写 Nodejs 服务控制无人机,但是使用无人机品牌不是大疆。
8、日志记录的最佳实践(英文)
如果狗是男人最好的朋友,那么日志就是软件工程师最好的朋友。本文介绍日志的一些最佳实践,文后附有幻灯片,幻灯片比文章本身更有价值。
9、树莓派搭建空气质量监视器(英文)

本文是树莓派教程,附有示例代码,演示如何搭建一个空气质量监视器(需要自购传感器)。
10、芯片里面有什么?(英文)

芯片可以被认为是一个黑盒子,你通常不会看到它的内部。本文将展示如何打开芯片,看看里面是什么。
第 52 期
1、魔兽世界的玩家去世以后(中文)

Robert Steen (上图)的儿子患有重病,无法行走,不幸在2014年去世,只有25岁。去世以后,父亲发现儿子的笔记本上有《魔兽世界》的密码,才发现儿子是一个资深玩家,他用这个密码登陆,把死讯告诉儿子在游戏里面的好友,结果,葬礼上,欧洲各国的魔兽玩家都来了。
2、为什么亚马逊河不能架桥?(英文)
亚马逊是世界最长的河流之一,但是整条河没有一座桥,这是为什么?
3、什么是 Wayback Machine?(英文)
Wayback Machine 是一个庞大的网页数字档案库,为全世界的网页存档。该项目于1996年启动,目前保存了100亿个快照,数据量达到 30PB,另外还有 30PB 备份。
4、类型正在向右移动(英文)
以前的编程语言,类型声明都是写在变量的左边,比如 int count 。但是,现在越来越多的编程语言,将类型声明写在变量的右边,比如 count:int ,这是为什么?
5、运动追踪的红外线加热器(英文)

作者自己动手,将一个普通的红外线加热器,接上了树莓派,加装了一个摄像头,实时捕捉和识别走动的人体。不管人走到哪里,加热器就会自动转到那个方向,对着人进行加热。
6、我作为工程师的报酬(英文)
一个美国工程师回顾自己的薪水增长,2007年他作为 IT 管理员,年薪是4.2万美元,2018年他变成了架构师,年薪是18.9万美元。许多网友看了他的文章,也纷纷留言,写下自己的年薪变化。
7、10个 Homebrew 软件包(英文)
Homebrew 是 Mac 系统的软件包管理器,可用于安装 Unix 软件包。本文推荐10个值得安装的软件包。
8、Java 语言的 null 是一个设计错误(英文)
Java 语言的 null 值导致了很多问题,本文解释为什么 Java 的设计是错的,而 Kotlin 的设计是对的。
9、如何安装 Alpine Linux 的桌面(英文)
Alpine 是一个极度瘦身的 Linux 发行版,只有 5MB 左右,主要用于制作 Docker 镜像文件。本文介绍 Alpine 的基本知识,如何安装一个基于它的桌面开发环境。
10、未来没有 Webpack 的前端开发(英文)
现在的 Web 应用,一般都需要使用 Webpack 打包脚本。但是,浏览器已经支持 ES6 模块,能够自行处理模块的依赖,因此完全可以跳过打包这个步骤。
11、996.icu 事件的可视化(视频)
这段90秒的视频,帮你回顾 996.icu 事件的全过程。(@jdk137 投稿)
12、Edge 变成 Chromium 意味着什么?(英文)
微软的 Edge 浏览器内核从自研变成了 Chromium,现在 Windows 系统预览版已经发布了。与原来相比,到底新增了哪些功能?
第 51 期
1、刘慈欣:释放想象力(中英对照)

2018年11月,刘慈欣在克拉克想象力服务社会奖颁奖仪式上的演说。
2、Java 开发者需要知道的20个库(英文)
本文介绍 Java 语言20个常用的库,比如 log4j、JUnit、JSoup 等。
3、与死亡一线之隔的完美(中文)

Free Solo 是一部《国家地理》杂志拍摄的纪录片,讲述了徒手独攀优胜美地國家公園內、全世界最難攀爬的酋长岩的故事。它得到了 2019奧斯卡最佳紀錄片獎。本文讲述了这部纪录片背后的故事,为什么有人愿意冒着生命危险去攀岩,他又是怎么爬上去的。
4、再见 Docker(英文)
作者认为,Docker 作为一家公司已经失败,作为一种技术,也即将被其他容器技术取代。
5、关于 EOF(英文)
EOF 是一个很容易混淆的概念。Windows 系统的文本文件,结尾可以有 EOF 终止符;C / C++ 语言有一个表示读取终止的特殊值 EOF,还有测试读取是否终止的 eof() 和 feof() 函数。
6、使用 AV1 编解码器(英文)
AV1 是一个新的开源的视频编码和解码标准,本文介绍 AV1 的基本知识,以及如何把视频压缩成 av1 格式。
7、无 JavaScript 的前端(英文)
作者呼吁 HTML 语言内置更多的功能,从而使得只用 HTML 就可以写出可交互的页面,减少 JavaScript 的使用。
8、线程的基本知识(英文)
一篇写得非常好的科普文章,通俗地详尽解释了进程和线程的相关知识。
9、如何使用 React Hooks 获取数据?(英文)
本文由浅入深一步步介绍,如何使用 React Hooks 的 useEffect 从远程服务器获取数据。
10、浏览器内置的 KV Storage(英文)
浏览器提供的键值对存储 localStorage API 是同步操作,有时候很慢。为了解决这个问题,Chrome 浏览器开始提供异步键值对存储的 API。
11、浏览器原生的图片懒加载(英文)
Chrome 75 将原生支持图片的懒加载,写成 <img loading=lazy> ,就可以滚动到视口加载图片。
第 50 期
1、我的 Linux 桌面配置(英文)
一个高级程序员介绍他的 Linux 桌面开发环境,以及他的各种软件选择。
2、我们不再需要 Chrome(英文)
Chrome 已经垄断了浏览器市场,作者论证为什么这种情况对互联网是不利的。
3、React Hooks 入门教程(英文)
一篇很好的 React Hooks 的入门介绍文章。
4、Kanban 与 Scrum 的比较(英文)
Kanban 和 Scrum 都是敏捷开发的具体实现方法,本文讨论它们的异同。
5、在特斯拉工作的感受(中文)
在马斯克的影响下,特斯拉公司上下极其激进、残酷冰冷、毫无感情,你的工作不仅压力超级大,而且很有可能因为表现不好被开除。但是为什么还有员工没辞职呢?
6、LFU 算法的一种实现(英文)
LFU 是常用的删除过期缓存的算法,本文介绍了它的一种代码实现。
7、重新设计 UI 基本上是浪费时间(英文)
作者认为,95%情况下,你不需要重新设计 UI。
8、中国超高压电网(英文)

中国已经建成了全国性的超高压电网,用来将西部的电力输送到东部。这是世界上前所未有的,IEEE 的这篇报道进行了长篇介绍。
9、State of CSS 2019(英文)
针对全世界开发者的 CSS 调查。(@lanlejiudunle 投稿)
10、业余无线电爱好者入门(中文)
如何在国内拥有一个个人的无线电台。
第 49 期
1、JavaScript 模块简史(英文)
本文介绍历史上 JavaScript 各种模块方案的演变。
2、广告 ID 的现状(英文)

通常,网站用 Cookie 设置 ID,以便追踪用户。用户可以通过清除 Cookie,防止被追踪。但是手机上,App 可以通过无法重置的硬件 ID 追踪用户,比如 IMEI、网卡 MAC 地址,SIM 卡序列号等。为了解决这个问题,iPhone 和安卓都提供广告 ID 功能,既可以表示身份,又可以被用户重置。
3、SSD 硬盘是否可靠?(英文)

本文介绍了固态硬盘 SSD 的一些知识,以及与传统硬盘可靠性的对比。
4、磁力链接介绍(英文)
磁力链接是下载和共享 bittorrent 文件的一种方式,本文介绍了磁力链接的基本知识,以及与 Torrent 文件的关系。
5、单页应用的二进制打包(英文)
本文介绍了一种方法,将网站打包成一个 Go 语言的二进制程序。启动网站,就是运行这个程序。
6、抽象的成本(英文)
重复的代码通常会被抽象掉,本文讨论抽象带来的额外成本。
7、JSX 的替代方案(英文)
JSX 是前端框架中书写网页代码的一种形式,本文介绍了 JSX 的替代方案,如果不用它,你有什么选择,以加深理解。
8、创建你的第一个 npm 包(英文)
入门文章,针对新手介绍如何创建一个 npm 模块。
9、App 的实验数据(英文)
很多 App 会进行 A/B 测试和新功能实验,将数据传回服务器,本文分析了 Airbnb、Pinterest 等 App 传回服务器的数据。
10、每行80个字符是很好的标准(英文)
作者谈了为什么每行80个字符的长度非常合理有用。
11、独立运行的 WebAssembly(英文)

Mozilla 宣布发布独立的、跟 Web 无关的 WebAssembly 运行时,即 WASM 代码现在可以直接在各个操作系统运行。
第 48 期
1、异步编程是什么?(英文)
一组系列文章,从操作系统的高度,较为通俗地介绍如何认识异步编程。
2、行内 JS 脚本的堵塞效应(英文)
网页加载 JS 脚本时,允许异步加载脚本(即加上 async 属性),但是行内脚本可以堵塞异步脚本,本文介绍解决方法。
3、Unix 文本操作命令介绍(英文)
Unix 命令行有许多操作文本的命令,本文逐一介绍。
4、Python 数据类型简介(英文)
初学者的基础知识文章,介绍和列举 Python 的数据类型。
5、正则表达式为什么不能解析 HTML 网页?(英文)
正则表达式最多只能解析网页的片段,而不可能写出一个基于它的 HTML 解析器。
6、Go 语言编程风格的最佳实践(英文)
作者谈了一些建议,如何编写可维护的 Go 语言代码。
7、橙色的历史(英文)

欧洲人直到16世纪才开始使用这种颜色。橙色象征着生育和富饶,上图是1895年的油画,反映了穿着橙色长袍的青年女性。
8、Beacon:暗网的搜索引擎(英文)

暗网必须在加密条件下才能访问。Beacon 是一个暗网的搜索引擎,允许在正常网络中搜索暗网的信息,该工具目前还没有正式推出,本文只是介绍。
9、网站扩展的图说教程(英文)


本片使用多张图片,通俗地解释如何拓展网站服务,承受更大的访问量。
10、Flexbox 详解(中文)
详细介绍 CSS 的 Flexbox 布局,配有大量图片说明。(@veedrin 投稿)
11、React Router 为什么发布5.0版?(英文)
如果你记不住脱字符( ^ )的作用,下面这起事故会让你记住。react-router 先发了4.4版,但是一个核心衍生库(react-router-dom)的4.3版,依赖错误地写成 "react-router": "^4.3.1" ,与4.4版不兼容导致报错。最后团队决定,撤销4.4版,改发5.0版。
第 47 期
1、Amazon Lambda 的通俗解释(英文)
本文使用最简单的语言解释 Lambda 服务,如果你不知道它是什么,可以看看。当然不涉及细节。
2、Chrome 浏览器支持跳转到指定文字(英文)
Chrome 将支持跳转到指定文字,而不需要锚点。做法是 URL 里面设置 #targetText=hello%20world ,然后就会跳转到网页的第一个hello world的地方。
3、AltaVista 的历史(英文)

AltaVista 是谷歌之前最大的搜索引擎,本文回顾了它的兴起和没落。
4、Windows 10 新版本可以直接访问 Linux 文件(英文)
下一次2019年春季的 Windows 10 更新,将允许 Windows 的文件资源管理器,直接访问和编辑 Linux 文件,不过必须是 Windows Subsystem for Linux(WSL)里面的文件。
5、如何获取全球航班的实时位置?(英文)

很多应用可以显示全球航班的实时信息(上图),这是怎么做到的?原来每架民用客机都配备了一个特殊设备,发送自身的各种数据,使用 1090MHz 未加密的无线电频率,因此个人可以接收到这些数据。
6、你可能不需要单页应用(SPA)(英文)
作者认为,网站做成单页应用的这种趋势,有滥用的嫌疑。他提出,大多数情况应该使用传统网页,只有那些强调实时响应、富交互、状态分享的场景,才应该使用单页应用。
7、Python NumPy 实例教程(英文)
NumPy(Numerical Python 的缩写)是一个开源 Python 库,用于进行科学计算。这篇是详细教程,通过大量实例介绍这个库的用法。
8、自学计算机科学(英文)
本文给出自学计算机科学所需阅读的书单,有中译。(@baibm 投稿)
9、BeOS 如何输给 NeXT(英文)

1996年,陷入困境的苹果公司决定从外部购买一个操作系统,当时有两个候选者:BeOS 和 NeXT。最后,他们选择了 NeXT,让乔布斯重新回到苹果。本文作者是 BeOS 的开发者,谈了当时的情况。
10、成为亿万富翁的工程师(英文)

79岁的 Herbert Wertheim 拥有大约23亿美元的财富,是美国少数白手起家的亿万富翁。他没有创办过任何企业,纯粹靠投资股票致富。他以前是工程师,靠阅读专利选择投资目标。本文是他的故事。