阮一峰 科技爱好者周刊(第 178-180 期)

科技爱好者周刊(第 180 期)

6G 的传输距离

LG 公司宣布,他们创下了无线通信 6G 标准的传输距离纪录:100米。研究人员利用放大器和天线增益,将信号从一座高楼的顶部发送到另一座高楼,两者相距100米,此前的纪录只有15米。

目前的 5G 通信,城区的传输距离只有几百米。6G 的频率比 5G 更高,传输距离更短,一旦 6G 开始商用,城区的基站密度恐怕难以想象。

就像摩尔定律一样,接近物理极限后,技术的实用性已经失去了意义。5G、6G都快成近场通讯了,还在同一方向上投入研究,有点扯淡了。

多少美国人相信进化论

密歇根大学的一项调查显示,目前相信进化论的美国人终于超过了一半。2019年,54%的美国成年人相信,人类是从动物进化而来的,比1985年的40%有大幅成长。这个比例在34个西方国家里面,几乎是最低的,只高于土耳其的27%。

大家都说美国是一个自由派的国家,但美国也是一个非常保守的国家,宗教观念有很大的市场。

大众心理学具有巨大的研究价值,不只是对于社会管理,对于解释投资现象也是一样的。

GitHub Star 不会支付你的账单(英文)

作者是开源项目 Sizzy 的创始人,讲述了如何将一个开源项目,变成商业软件,用来支持软件开发的故事。

通过水流理解电的基本知识(英文)

课本经常把电流比喻成水流,来讲解电的基本知识。这篇文章也是采用这种方法解释电,写得很有新意。

“一证通查”电话卡服务

工信部推出的官方服务,查看个人名下登记了多少张电话卡。

Java 周刊

国外开发者编写的 Java 周刊,提供各种关于 Java 技术进展的链接。(@Xuguozong 投稿)

Open Meteo

免费的天气 API 服务,可以获取全球任意地点的天气数据,以 JSON 格式返回。

Pixar 故事公式

公司创始人的主要工作是什么?

他的主要工作很可能是讲故事。向员工讲故事,向投资人讲故事,向媒体讲故事,向用户讲故事。这样可以团结团队、获得投资和报道,完成用户营销。

每个人都喜欢听到一个好故事,你的故事越吸引人,就越容易成功。

可是,大多数人都不具备讲故事的能力,所以我们应该向那些善于讲故事的人学习。

Pixar 是全世界著名的动画公司,制作了很多脍炙人口的动画电影。

它具有非凡的讲故事能力,每部电影都让人们津津乐道。它的编剧透露,这些故事都是按照一个公式展开的。

每个故事都依次分成六个部分。

(1)很久以前:描述一下世界以前的样子。

(2)每天的生活:大家怎么过日子。

(3)直到有一天:一个突发事件引发了巨变。

(4)由于这件事:主人公遭受到了磨难。

(5)由于这件事:主人公下定决心,展开新的冒险,找到出路。

(6)最终:问题解决了,主人公过上了美好生活。

大家可以回想一下,Pixar 的每部电影是不是符合这个公式。

下面,就让我们按照这个公式,讲好自己公司的故事。

(1)很久以前:世界有一个难题。

(2)每天的生活:现有的各种解决方法都很糟糕,用户很痛苦。

(3)直到有一天:我们想出了新的方法。

(4)由于这件事:我们的方法比以前的方法都好。

(5)由于这件事:我们将会吸引大量的客户。

(6)最终:我们将会赢得了市场,取得成功。

有了自己的故事以后,你还必须不停迭代,补充新内容,争取每一讲都比上一次效果更好。

跨平台 UI 技术(比如 Electron)的优势,不是界面和体验的统一,而是能让不同平台版本的开发进展和功能保持一致。App 越大,不同平台之间保持版本一致,并在指定时间同时发布,就会越来越难。-- 《跨平台技术的吸引力》,1Password 团队最近宣布,新版本的 Mac 客户端将不再是原生 App,而是改用 Electron 开发。


资源是限制决策的重要变量


我出生时,美国即将迎来建国200周年纪念日(1976年)。对我来说,美国的建国完全像是发生在古代的事情。现在,我已经要将近50岁了,200周年只是我年龄的4倍而已,我甚至不觉得自己老了。就在这样一点时间里面,我们从最基本的电动机发展到了今天所有的惊人技术,从长期来看,人类的技术进步速度实在太惊人。-- Hacker News 读者,评论2021年是法拉第发明电动机200周年


人类技术上相对文明一点也就是最近的事情,人文上依然一塌糊涂,时刻充斥着人道主义遭难。


每秒是不相等的。早上精力充沛的一个小时工作,相当于晚上疲倦时三个小时的工作。-- David Perell

科技爱好者周刊(第 179 期)

加油机器人

国内首款加油机器人,在南宁投入试运行。只要把小轿车停在加油机前,手机下单以后,加油机器人就会伸出“手臂”,打开油箱盖,插入加油枪。整个过程仅需3分钟,司机不需要下车。

这台机器能够自动判断车型、定位油箱盖位置、自动打开和关闭油箱内外盖,实现了“开关盖+插拔枪”动作的智能化。

这和工业机器人类似,还好车子的型号是有限的,并不需要做太多的适配。加油站工人的需求量减少了 😢

中位数为什么比平均值有用(英文)

这篇文章的前半部分使用图形,通俗地解释了为什么中位数(medium)比平均值(average)更好地反映了总体状况。

文章后半部分讲解了数据库如何查询中位数,不感兴趣的同学可以只看前半部分。

我们日常理所当然使用的很多指标、决策依据,实际上仔细推敲都有很大的问题。

JavaScript 如何遍历树结构(英文)

本文介绍了树结构在 JavaScript 语言里面如何遍历,写得浅显易懂,解释了广度优先、深度优先等多种方法的实现。

9、GitHub Markdown 现在支持脚注(英文)

这篇是 GitHub 的官方博客,宣布该网站的 Markdown 语法现在支持脚注了,可以看看脚注怎么写。(@jwenjian 投稿)

工具

1、htmlq

一个命令行工具,可以从 HTML 代码里面提取内容,类似于 jq 从 JSON 里面提取内容。

2、Notion Avatar Maker

一个网页工具,可以在线制作 Notion 风格的个人头像。(@Mayandev 投稿)

3、DeepFaceLive

一个桌面软件,进行深度学习训练后,可以在视频直播和视频会议里面实时换脸。

4、FSNotes

苹果设备的笔记软件,支持 Touchbar 和 iCloud 同步,还可以 Git 版本控制和备份。

5、Windows 11 in React

该项目将 Windows 11 的桌面移植到网页上,使用 React 开发。

6、PoW! Captcha

一个开源的网页机器人识别服务(Captcha),通过工作量来识别。服务器会发送一个计算难题,要求客户端进行计算,使得入侵脚本的计算成本很高。

7、youtube-dl-gui

youtube-dl 的图形界面封装,支持多个视频网站的视频下载。

8、Ozzillate

一个很有意思的声波传送工具,将上传的文件转成声波,其它电脑从麦克风“听到”以后,再将声波转回文件。

9、BeMyEars

MacOS 应用,可以对系统播放的声音(比如浏览器、视频播放器、音乐播放器)进行语音识别,然后实时生成字幕。(@yujinqiu 投稿)

10、message-box

一个 Web Component 的消息框组件。(@kingcc 投稿)

资源

1、云媒体速览

该网站收集了中国333个地级市的报纸电子版和电视直播网址。(@DiamonWoo 投稿)

3、中等代数

一本英文的数学教材,讲解中学代数,包括线性方程、指数函数、二项式定理等等,免费阅读。

4、教娃编程视频300天

一个工程师给娃讲了很多数学和计算机知识的短视频,详见说明文章。(@DoctorLai 投稿)

5、路径算法的动图演示

这个仓库提供常见路径算法的动画演示,一共有20多个算法演示。(@DoctorLai 投稿)

《解析数论导论》的封面

1976年出版的美国高等数学教材《解析数论导论》,封面是一张很奇怪的图片。

很多人以为,这张图片只是一张普通的对称图片,但其实是有含义的。

它画了一个坐标轴,x 轴和 y 轴都是0到17,每个点的坐标(x, y)就是一个数值对。只要数值对的最大公约数不等于1 (gcd(x, y) ≠ 1),该点就会画上一个方块,否则为空。

举例来说,原点(0, 0)的最大公约数为0,所以有一个方块;而它旁边的两个点(0, 1)(1, 0),可以认为最大公约数为1,所以为空。

对角线上除了(1, 1),其它点的最大公约数都不等于1,所以这些点都有一个方块。

文摘

1、谷歌如何收购 Android

Android 是谷歌公司的操作系统,但并不是谷歌从头开发的,而是从一家小公司收购而来的。

最近,美国出版了一本新书,作者采访了几十位当事人,介绍 Android 的诞生内幕。

Android 团队最早的创业想法,是为照相机开发一个操作系统。但是,后来意识到手机会取代相机,成为主流的拍摄设备,就转而为手机开发操作系统。

2005年初,Android 团队陷入困境,急需现金,开始寻找外部投资。

工程师就为当时的按键手机写了一个演示程序,包括一个主屏幕和几个应用程序,不过大部分都不能运行。毫不奇怪,这个演示程序与今天的 Android 相去甚远。

有了演示程序,他们又准备了一个 PPT,解释他们的愿景,然后就开始向潜在投资者推销自己,试图获得投资。

这个 PPT 保存到了今天,一共15页。

他们首先解释了为什么手机市场即将发生巨变。

2004年,全球个人电脑出货量为1.78亿台,手机出货量为6.75亿部,几乎是 PC 数量的四倍。这意味着,手机市场已经远远超过 PC 市场,并且还在高速发展。

但是,2004年手机的处理器和内存只相当于 1998 年 PC 的性能(200MHz 的 CPU 和 32MB 的内存),因此手机需要一个真正的、功能强大的操作系统。

而且,手机的硬件成本正在下降,但是软件成本没有下降,手机制造商迫切需要一个廉价的操作系统,从而降低软件成本。

手机制造商并不是软件开发专家,没有能力也没有兴趣,持续改进软件,因此需要外部的软件公司为他们提供操作系统。

Android 将是一个免费的手机操作系统,以开源的形式提供给手机制造商。手机公司能够自由使用这个操作系统,不必依赖软件公司,也无需自己来开发。

2005年的市场上,手机操作系统寥寥无几。

  • 微软的系统要得到许可后,才能移植。
  • 塞班(Symbian)系统主要由诺基亚使用,其它手机公司虽然可以用,但是无法与诺基亚竞争。
  • 黑莓的系统不能用于其他手机。

对于那些想要制造一款功能强大的智能手机的制造商来说,根本没有操作系统可用,要么自己从头开发,要么支付高额许可费,使用那些专有的操作系统。然后,就会面对一个更大的问题:根本没有应用程序生态,谁来为这些操作系统开发应用程序呢?

塞班系统允许外部应用程序,但是通用性很差,为一种型号手机写的程序,无法运行在另一个型号上,即使两部手机出自同一个制造商,它们的应用程序也不是通用的。

Android 希望提供世界第一个完整的开源的手机操作系统。它建立在 Linux 之上,为应用程序开发者提供单一的编程模型,同一个应用程序可以运行在使用该系统的所有设备上,从而简化开发。

接着就是最困难、也是最重要的问题,Android 如何赚钱呢。如果这个开源手机操作系统,不能让发明者赚到钱,怎么吸引外部投资呢,又如何保证能够持续开发呢?

Android 团队设想,通过为手机制造商提供云服务、以及应用程序的基础设施(比如认证和加密)来盈利。后来的事实证明,谷歌果然是通过谷歌服务框架和 Play 应用商店来盈利。

创始团队与很多风投进行了接触,其中就包括了谷歌。谷歌邀请他们到总部来会谈,两位谷歌创始人拉里和佩奇都参加了。那次会议非常随意,但是谷歌显然对 Android 很感兴趣。会议结束时,谷歌说:“我们想帮助你们。”

接着,Android 团队去了亚洲,访问了三星和 HTC,了解手机制造商的态度。三星说,如果美国的无线运营商能够接受 Android,他们就愿意推出基于 Android 的手机。HTC 则说,希望独家合作,这个系统只授权给他们使用。团队不愿答应这个要求,但是后来推出的世界第一部 Android 手机,就是 HTC G1。

从亚洲回来以后,谷歌又找 Android 团队开会。这次会议来了更多的人。团队原以为,谷歌想了解项目开发进展,但是演讲进行到一半,谷歌打断了他们,直接说:“我们想收购你们。”

谷歌表示,如果 Android 愿意被收购,而不是接受风险投资,情况会好得多。这样可以不必理会风险投资家的要求,也不必向客户和运营商收取专门服务的费用,一心一意将操作系统免费提供给手机制造商即可。而且,手机内部还可以绑定谷歌的搜索服务,谷歌会从搜索获得收入,这些收入可以与手机制造商分享,从而手机制造商会从 Android 获利,因而有动力使用这个系统。

2005年7月,Android 正式加入谷歌。

几周后,团队再次在谷歌内部,向高管进行了宣讲。当讲到如何将 Android 货币化时,拉里打断了演讲者:“不用考虑这个,我只希望你们造出最好的手机,其余的事情以后再说。”谷歌收购这个团队的原因很简单,就是希望通过它可以让谷歌进入移动设备市场。

言论

1、飞行汽车结合了两种完全不同的工程体系:它必须既能飞行,又能适应地面运输的狭窄空间限制。同时满足飞行和地面运输的各种安全和效率要求并非易事,这就是为什么至今没有公司能造出飞行汽车,最多就是造出点对点的飞行汽车,这种车辆通常没有车轮,更像小飞机。--《技术成功的规则》

2、程序员没有必要局限在一种语言或工具。工具每天都在变化,只要新工具适合你的用例,就可以选择它。你的标准应该是,选择最能够快速有效地解决问题的任何语言或工具。-- 《下一个项目要用哪些工具》

3、一个可运行的复杂系统,总是从一个简单系统演变而来的。似乎可以因此推断:从头开始设计一个复杂系统,永远不会奏效,必须从一个简单系统开始设计。-- 《加尔定律》

4、大师并不是一开始就是大师。你把他们早期第一阶段的作品找出来看看,就会了解他们取得了多大的进步。-- David Perell

5、不要对技术钻牛角尖,要对如何获取客户钻牛角尖。-- Hacker News 读者

阮一峰 科技爱好者周刊(第 178 期)

Service Worker 简介(中文)

谷歌官方的 Service Worker 教程,介绍什么是 PWA 应用,以及怎么开发,写得非常好,很容易懂。官方提供中文版翻译。

一个人能领导多少人?(英文)

人的精力是有限的,如果想做到有效领导,那么直线下属最好不超过5-7人。

异步函数如何使用缓存?(英文)

需要密集计算的函数,可以部署缓存(memoizing),用来提高性能。本文介绍了函数缓存的概念和实现。

工具

1、listmonk

一个开源的邮件列表管理器,提供美观好用的管理界面,只要配上邮件发送服务(比如 AWS SES 或者开源的 Haraka)就可以使用。

2、sqlite-tui

命令行的 SQLite 数据库查看器。

3、OpenDesktop

该网站是一个开源的云服务套件,向用户提供各种免费的云服务,比如网盘、Office、聊天、地图、项目管理、社交等等。

4、Mithril.js

一个非常易用的轻量级前端框架,只做了 DOM 的包装层,没有加任何其他接口,体积小,加载快,并且支持组件和前端路由。开发小型页面,明显优于 React。

但是不知道什么原因,多年来它一直不流行,因为名字难记?……

5、Pollen

一个 CSS 变量库,提供一组常用的 CSS 变量(比如颜色、长度、字体大小等等)。开发者可以将这个库作为初始变量,以后通过调整变量来改变样式,比如从亮模式变成暗模式。

6、NETworkManager

Windows 原生的网络管理器非常难用,这是一个第三方的网络管理器,在图形界面中,提供各种方便的网络管理、调试功能。

7、x11docker

一个封装了显示模块的容器,可以用来通过 Docker 容器运行图形界面应用。

资源

1、深入计算机系统(Dive into Systems)

免费阅读的英文教材,介绍计算机系统的底层知识,内容包含 C 语言和汇编语言的教程。

2、JS 库的免费公共 CDN(英文)

网上有一些 JS 库的公共 CDN,可以从它们加载库脚本。本文列出了主要的名单。

3、Programming-Idioms

该网站列出主要语言的常用操作(比如创建数组、连接数组等),目前已经有250多种操作。可以指定任意两种语言进行对比,方便快速入门。(@jerrylususu 投稿)

4、OpenMoji

一套开源的 Emoji 图标,目前已经有将近4000个图标,还在持续增加中。

5、Mathlets

这个网站提供网页小程序,帮助学习各种数学概念,比如正弦曲线、复数运算、傅里叶变换等等。

大公司起家的地方

下图是苹果、谷歌、亚马逊等大公司,各自创业起家的地方。

乔布斯逝世十周年

乔布斯去世于2011年10月5日,今年是十周年。

著名 IT 作家史蒂文·利维发表了一篇回忆短文。

2011年时,作为一家科技媒体,妥善的做法是提前准备好史蒂夫·乔布斯的讣告,我们都知道他没有多少时间了。

将近有一年,苹果公司坚持说,它的创始人兼首席执行官能够成功康复,但是乔布斯本人的状况却是每况愈下。他的身体坚持不了多久了,他也认识到这一点。

那一年的早些时候,我和另一名记者要求对他专访。地点就在无限环路1号(One Infinite Loop)的苹果公司总部大楼四楼的一间办公室。专访没有指定议题,但是我们三人都知道这是为了告别。

那一天是工作日中午,整个苹果总部有数千人在上班,但是我们90分钟的谈话过程中,没有被一个电话或访客打断。就好像对于苹果公司来说,他已经是一个鬼魂了。

专访结束后,我还是没办法提前准备他的讣告。内心里,我不想承认他会很快逝世。

所以,2011年10月5日的下午,快要天黑的时候,接到乔布斯逝世的电话,我惊呆了。

那时,我手里什么文章也没有。于是,接下来的四个小时里,我开始写文章回顾乔布斯的一生,我使用的就是他创造的 Mac 电脑。我尽自己所能,讲述他的生平和遗产。

在讣告的最后一段,我写道:“乔布斯的全部遗产,在很长一段时间内都不会消失。”直到今天,我想我们还在整理他留下的遗产。不会再有像他这样特质的领导者和创新者,我们仍然生活在他的世界里。

言论

1、开发人员是创建软件最宝贵的资源,但他们的时间往往被管理层低估和滥用。管理者的作用应该是让开发人员能够工作,而不是拿走开发人员的时间。-- medium.com

2、一周的上班时间是40小时,但是我分配到了一个需要60小时的开发任务,我能怎么办呢?-- medium.com

3、唯一比量子力学更难的是解释量子力学。--《理解量子革命》书评

4、达尔文散步时,喜欢边走边思考问题。散步开始时,他会在起点放五块小石头,每走一圈就踢掉一块石头,这样就能在不打断思路的情况下,达到预定的圈数。--《思想家与步行之间的关系》

5、游戏分成两种。一种是有限游戏,另一种是无限游戏。有限游戏的目的是获胜,某方获胜就结束了,无限游戏的目的是继续游戏,你玩这个游戏是为了可以继续玩下去。-- 《无限创业》

© Licensed under CC BY-NC-SA 4.0

在b进位制中,以数n起头的数出现的机率为logb(n + 1) − logb(n) —— 本福特定律

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!