第7期--迪拜未来博物馆
一、刊首图
- المستقبل سيكون لمن يستطيع تخيله وتصميمه وتنفيذه
- سر تجدد الحياة وتطور الحضارة وتقدم البشرية هو في كلمة واحدة: الابتكار
- لن نعيش مئات السنين، ولكن يمكن أن نبدع شيئا يستمر مئات السنين
大意如下:未来属于那些敢于想象、做出设计,并去执行的人,不能依靠等待,需要自行创造。我们的生命更新、文明进化,还有未来发展的秘诀很简单,就是创新。虽然人类寿命有限,但我们的创造会流传百世。
这段阿拉伯文诗歌,覆盖在一座超级建筑——「未来博物馆」身上,它曾被国家地理杂志评为地球上最美丽的博物馆之一。2022 年 2 月 22 日,这座耗时 8 年的博物馆终于向公众开放,迪拜又一新地标来了。
二、时事新闻
1、可折叠笔记本
手机已经可折叠了,现在轮到笔记本了。正在拉斯维加斯举办的 CES 2022 消费电子展上,华硕展示了一款17寸的可折叠笔记本,屏幕可以对折,携带十分方便。它既可以当作一整块液晶屏幕,配上蓝牙键盘使用,也可以折成90度,下半部分当成键盘和触摸板。
2、如果作者自己删库
两个广泛使用的 JS 库 faker.js 和 colors.js 出现了乱码问题。这竟然是作者本人提交的,他随后把代码库删了,原因是抗议大公司使用他的代码,却不付钱支持。
嫦娥五号探测器发现月壤和月岩存在微量水,但不是液态水,而是水分子,并且是微量的。另外,遥感还发现,月球两极的永久阴影区可能存在水冰或富含挥发水的矿物。
4、汤加火山大喷发
汤加海底火山喷发,喷发威力相当于1000颗核弹,中国沿海海域1月16日凌晨监测到海啸波。此次爆发预估到最后可能会有VEI6级的水平,这次火山爆发引发的海啸已经在席卷太平洋地区,此外其庞大的火山灰对全球大气的影响将在半年后体现。下图是1月15日大爆发前的汤加火山喷发云团里的闪电。
谷歌推出了 Chrome OS 的通用安装版,可以在现有的 PC 和 Mac 上安装,为普通用户提供了 Windows/MacOS 以外的第三种操作系统的选择。
随着北约不断东扩,其势力范围逐渐逼近俄罗斯,2月24日俄罗斯入侵乌克兰。欧美对俄罗斯实行了全方位的制裁,其中一些开源项目也参与了其中。Github、Node、React、pytorch 等官网也声明支援乌克兰,对此我认同的一个观点是:反对开源掺杂政治,开源项目有来自世界各地的人在参与,是无法割裂的,一旦开源项目有了立场,有了倾向和站队,带来的只会是对整个社区的伤害,造成分裂和浪费。
最近,Node.js 模块的作者添加恶意代码,只要用户 IP 地址属于俄罗斯,就删除用户的所有文件。另一个开源软件 Terraform 也修改许可证,如果俄罗斯用户不反对普京,就不得使用该软件。
8、拜登提倡美国制造
3月初,美国总统拜登对国会发表《国情咨文》,提到了美国制造。他这样说:“与其依赖外国供应链,不如在美国制造。通过降低生产成本,而不是降低美国人的工资,让更多的车辆和半导体在美国生产,减少依赖外国供应链。”
2015年,国内曾经有一个研究,逐项比较中国和美国的生产成本,结果发现每一项成本都是美国便宜。土地成本:中国是美国的9倍,物流成本:中国是美国的2倍,资金成本:中国是美国的2.4倍,电力成本:中国是美国2倍,税收成本:中国较高。只有一项成本是中国便宜,大家恐怕都猜到了,那就是工资,美国的劳动力时薪是中国的4.8倍。
所以,美国制造业的问题,根本不在于生产成本,而在于劳动力。美国的生产要素价格,在全世界都是很低的。拜登不去改变劳动力成本(也是不敢),而是想在其他成本上动脑筋,那是没用的,恐怕很难成功。反过来看中国,问题也很大。中国的各种生产成本都高于美国,全靠劳动力优势弥补:一是工资低,二是劳动时间长,三是比美国人更勤奋、更能吃苦、更有纪律性,四是没有美国那种跟资方对抗的工会。
但是,劳动力的成本优势是不长久的,一旦中国工人的工资接近美国的一半,中国制造的成本优势就会开始丧失。说来很讽刺,拜登想要发展美国制造业,有效的方法不是遏制中国,而是让中国的工资上升,那样制造业就会回到美国。
其实,人力投入较少的初级产品,美国已经有巨大的成本优势,大大低于中国。去过美国的人都知道,他们超市里面的食品很便宜。这也是为什么中国每年从美国进口大量农产品的原因。人力投入较多的普通制成品,都是中国有成本优势。今后只要设法降低其他生产要素的价格,减轻企业的负担,就能保住优势。真正竞争的是高科技制造业,比如芯片、机器人、生物医药。在这个领域,中美的工资差距不大。谁有独家技术,谁的产品更好,谁就赢。如果中国不加快知识创新,这部分制造业确实可能回到美国。
9、无人机二维码
派拉蒙影业公司使用400架无人机,在美国德州奥斯汀市上空,组成了一个全世界最大的二维码。它是可以扫描的,指向该公司即将上映的科幻影集《Halo》。
10、纸笔写代码的程序员
3月3日,台湾发生大停电。一家软件公司为了不耽误工期,只得让程序员用纸笔撰写代码。问题是没有了桌面 IDE 和线上 API 手册,只能手写伪码吧。
11、印度成为世界人口第一大国
2022年3月4日,印度政府公布了2021年人口统计结果,印度人口达到14.1565亿人,正式超过中国政府2021年底公布的人口14.126亿人。印度领先中国约300万人左右,成为世界第一大人口大国。
12、显卡与以太坊区块链
2022年3月底,国外的显卡价格大降,澳大利亚的 RTX 3080 显卡据说一天内跌价35%。有的分析认为,这与以太坊即将切换区块链的共识机制有关。
目前,以太坊的测试链已经运行成功,可能会在6月份与主链合并,到时共识机制将从工作量证明(PoW)切换到权益证明(PoS)。切换后,新的节点不通过计算哈希产生,这意味着显卡挖矿没用了。
苹果公司今年的春季发布了一根 1.8m 长的 Thunderbolt 4 pro 连接线,售价949元人民币,数据传输速率最高可达 40Gb/s。
三、技术文章
1、彻底理解中国山水画生成器(英文)
中国山水画生成器是一个很有名的开源项目,一个老外用户很惊叹,希望把它彻底搞懂,就写了这个由24篇文章组成的系列,逐一分析代码,看看能否自己重新实现。
2、五分钟理解软件架构模式(英文)
作者使用简单的语言,解释了软件架构的五种常见模式,包含:分层架构、事件驱动架构、微内核架构、微服务架构、基于空间的架构。
3、如何排除 .DS_Store 文件(英文)
Mac 电脑的文件系统都包含一个隐藏文件 .DS_Store。提交到 Git 时,它会一起提交,非常讨厌。本文教你一种方法,在 Git 的全局设置里面排除它,不必每个库都设置一次。
4、数字视频的工作原理(英文)
这篇长文通俗地介绍了数字视频的生产和消费原理,后半篇是一个详细的 ffmpeg 教程。
5、GNU coreutils 解码(英文)
Linux 基本的命令行工具(ls、cp、rm 等等)都是 GNU coreutils 工具包提供的,这个网站是对该工具包的详细介绍,逐一分析其中近100个工具的内部实现。
6、掌握容器基础知识(英文)
一篇长篇文章,介绍 Linux 容器到底是什么。
7、GPS 原理解释(中文)
这篇长文解释了 GPS 的数学原理:卫星为什么可以用来定位?大量使用了动画图片进行说明,这里是中文翻译,另有 英文原版。
8、家用 3D 打印不完全入坑指南(中文)
作者介绍新手入门 3D 打印需要知道的一些事情。主要讲解了:家用3D打印最常见的两种原理及各自的特性、FDM(其中一种原理)的硬件部分极简基础知识。
四、开源组件
1、gTTS
一个谷歌开源的用于文本转语音的 Python 库和 CLI 工具。可用于合成语音,使用这个库时需要挂代理。
B站开源的 Real-CUGAN,它是一个使用百万级动漫数据进行训练的,结构与 Waifu2x 兼容的通用动漫图像超分辨率模型。它支持 2x\3x\4x 倍超分辨率,其中 2 倍模型支持 4 种降噪强度与保守修复,3 倍 / 4 倍模型支持 2 种降噪强度与保守修复。
3、minio:采用 Go 编写的开源对象存储服务。支持存储图片、视频、日志等文件,还拥有方便操作的 Web 管理后台。虽然轻量却有着不错的性能,同时采用 RS code 编码算法实现即使丢失一半的硬盘,依旧可以找回数据。适用于大数据、机器学习等场景。
- 高性能:单个文件最大支持 5T,读写速率最高可以达到 55Gb/s 和 35Gb/s
- 可扩展:不同集群可以组合,支持跨越多个数据中心
- 云原生:支持容器化、基于 K8S 的编排、多租户
- 对接多种后端存储:支持 S3、DAS、 NAS、Google 等云存储
4、sahi
sahi是一个轻量级视觉库,用于执行大规模的目标检测和实例分割。
一个基于机器学习的中文语音克隆库,只要5秒的原始讲话录音,就能克隆该声音,让它说出任意给定文本。
6、js-sdsl
实用的 JavaScript 数据结构库。实现了 LinkList、Queue、Set、Map 等数据结构,严格的单元测试提供了正确性和性能的保证,可用于各种需要用到高级数据结构的场景。
7、VNN
高性能、轻量级的神经网络部署框架。支持人脸关键点检测、卡通图像风格化、天气场景识别等功能,打包全部功能后的 SDK 体积还不到 3 MB,适用于 Android、iOS 等操作系统。
8、Rich
一个 Python 的终端样式库,可以用在脚本里面,在命令行显示颜色和样式。另外,还有一个已经封装好的独立命令 Rich Cli,可以通过参数指定样式。
一个 Java 的缩略图生成库。
10、jfiglet
一个 java 库,用于将文本转换成ASCII艺术字,可用于定制Springboot项目的启动banner。
开源的身份验证方案,为你的应用轻松增加登录、会话管理等功能,支持自行搭建服务,可用作 Auth0 的开源替代品。
12、gota
Go 语言的数据处理库。该库提供了类似 Python 语言 Pandas 库的功能,以及 Series 和 DataFrames 的数据结构,支持用列的方式高效地处理数据。
13、gse
Go 的高性能多语言分词库。它是结巴分词的 Go 语言实现,支持中文和接入 ES 等功能。
14、tinykeys
一个极小的键盘事件监听库。
import tinykeys from "tinykeys"
tinykeys(window, {
"Shift+D": () => {
alert("The 'Shift' and 'd' keys were pressed at the same time")
},
"y e e t": () => {
alert("The keys 'y', 'e', 'e', and 't' were pressed in order")
},
"$mod+KeyD": () => {
alert("Either 'Control+d' or 'Meta+d' were pressed")
},
})
15、charts
简单、零依赖、响应式的 SVG 图表库。
16、rembg
一个简单实用的删除图像背景/抠图的工具类库
from rembg import remove
from PIL import Image
input_path = 'input.png'
output_path = 'output.png'
input = Image.open(input_path)
output = remove(input)
output.save(output_path)
17、textdistance
计算文本距离的常用算法库。包含计算文本相似度、多样性、编辑距离、压缩等多种算法,所有算法均采用 Python 实现,容易理解调用方便。
18、jina
一款易用的神经搜索框架。神经搜索是指用非结构化数据,搜索非结构化数据。Jina 简化了神经搜索系统的搭建流程,使开发者可以快速构建以图搜图、以文字搜图、问答机器人、照片去重、海量标签分类等应用。
五、工具软件
1、omni(开源)
一个提高生产力的多合一Chrome工具插件。他可以帮你:浏览和管理书签、搜索浏览历史记录、50 多项提高生产力的措施、用于过滤和执行更多操作的特殊命令......要打开 Omni,只需在 Mac上的 ⌘+Shift+K
或在Windows上的Ctrl+Shift+K
轻按。
你可以通过 Omni 使用各种命令来执行操作或过滤结果。/tabs : 搜索你的标签,/bookmarks : 搜索你的书签,/history : 搜索你的浏览器历史,/actions : 搜索所有可用的操作,/remove : 删除书签或关闭标签。
2、Imagor(开源)
一个 Go 语言写的图像处理服务器,可以快速返回各种大小的图像缩略图。
3、elasticvue(开源)
一个可视化查看操作Elasticsearch的浏览器插件工具,支持集群概览、索引管理、搜索、REST查询接口、快照管理等功能。可在 Chrome应用商店 直接安装。
4、webscraper(免费)
Web Scraper 是一款免费的、适用于普通用户(无需写代码)的爬虫工具,可以方便的通过简单配置获取你所想要数据,支持将爬取到的数据导出xlsx和csv。可在 Chrome应用商店) 直接安装。
5、octosql(开源)
用 SQL 的方式查询多个数据源的命令行工具。支持用 SQL 查询 CSV、JSON 文件和多种数据库中的数据,甚至可以在它们之间自由 JOIN。
6、esupdater (开源)
基于 Canal 的 ES 增量更新框架。适用于把 MySQL 的增量数据,实时更新到 ES 实现同步更新搜索数据。
7、momo-code-sec-inspector-java(开源)
Java 静态代码安全审计工具。它能够在编码过程中发现潜在的安全风险,并提供一键修复的功能,可在 IDEA 的插件市场安装。
8、Stay (开源)
移动端 Safari 浏览器插件管理器。提供了丰富的脚本管理能力,还支持运行油猴插件。内置的脚本库提供了 App 防跳转、广告拦截、自动展开文本等功能。
9、m-cli(开源)
macOS 命令行工具。实现在终端用简短命令的方式操作 macOS 系统,比如管理蓝牙、打开 Wi-Fi、清空废纸篓、操作 iTunes 等。
10、SwiftPamphletApp (开源)
一款开源的 Swift 手册工具。能够帮助开发者方便地查看 Swift 语法和常用库的使用指南,除此之外还可以接收 Swift 开源库的动态。
11、Perspec(开源)
可编写脚本的桌面应用程序以转换图像的透视图,可以将照片里面透视变形的物体自动拉正。
12、pystitcher(开源)
一个命令行工具,可以很方便地合并 PDF 文件,自动生成书签。
13、RSS-proxy(开源)
这个工具可以为任意 HTML 页面生成 RSS 订阅,只要页面有变动,你就会得到通知。
14、DevToysMac(开源)
DevToysMac 是Mac端的实用开发小工具合集,包括:JSON 格式化工具、Base 64 编码、JSON 转 Yaml 工具等。
15、unredacter(开源)
unredacter 是一个破解马赛克图片原始信息的项目,它旨在展示用马赛克给图片“加密”是多么不可靠。
16、codefever(开源)
CodeFever 是完全免费开源的 Git 代码托管服务,支持一行命令安装到自己服务器。
17、SingleFile(开源)
浏览器保存网页时,默认会生成一个 HTML 文件和一个文件夹。这个插件可以将网页的所有内容保存成单个 HTML 文件,把外部 JavaScript 和 CSS 文件变成页内脚本,并把图片都改成页内 Base64 字符串。Chrome商店安装
18、Datawrapper(免费)
著名的数据可视化生成工具,只要在网页上提交数据,经过几步配置,就能生成杂志级的可视化图表。不需要注册就可以免费使用。
19、blog-nojs-fingerprint-demo(开源)
一个用户指纹生成程序,最大特点是不依赖 JavaScript,即使用户禁止运行 JS 脚本,依然能够得到用户指纹。这是它的 介绍文章。
20、VCSLabel(开源)
一款 Intellij IDEA 插件,可用于显示每个文件的最后提交时间和提交人。
21、orange(开源)
一个跨平台文件搜索引擎,可根据关键字快速定位文件或文件夹。
22、nvm(开源)
一个 Node 管理器,可用于管理多个不同版本的 node.js,做前端开发的话强烈建议安装。
23、Photoview(开源)
一个开源 Web 相册程序,Go 语言写的,使用 Docker 安装,可以用来快速架设个人相册。
24、rclone(开源)
rclone是一个命令行工具,用于将文件在不同的云存储服务提供商之间进行同步。支持 Microsoft OneDrive 、Dropbox、Google Drive、Minio、Seafile、Nextcloud等常见云存储及OSS服务。
25、logstash(开源)
Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。可以用于将MySQL数据同步到Elasticsearch中去。
26、Smart TOC(开源)
一个开源的Chrome浏览器插件,自动为网页内容生成目录,便于浏览与跳转。Chrome商店安装
27、go-mitmproxy(开源)
Go 语言写的中间人拦截工具,可以拦截 HTTPS 通信,带有插件扩展功能和 Web 界面。
28、hashcat (开源)
一款强大的密码恢复工具。破解速度超快支持多种算法,适用于 Linux、macOS 和 Windows 操作系统。
安装:brew install hashcat
常用参数:
-a 指定破解模式:“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击
-m 指定要破解的 hash 类型:默认为 MD5
--force 忽略破解过程中的警告
常用破解模式:
0:Straight(字典破解)
1:Combination(组合破解)
3:Brute-force(掩码暴力破解)
6:Hybrid Wordlist + Mask(字典+掩码破解)
7:Hybrid Mask + Wordlist(掩码+字典破解)
常用掩码设置:
l:纯小写字母 abcdefghijklmnopqrstuvwxyz
u:纯大写字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ
d:纯数字 0123456789
举例:破解 8 位数字密码
hashcat -a 3 -m 0 --force 0D7002A70CCDE8BF4BA2A4A5572A85E9(密码md5字符串) ?l?l?l?l?l?l?l?l?l?l?l(11 位密码的掩码)
六、学习资源
1、ihavenotv(英文)
这个网站提供3500多部高质量纪录片免费在线观看,不过都是英文的。
2、one-html-page-challenge(英文)
单个 HTML 页面的挑战。该项目汇集了满足仅有一个 HTML 文件、小于 1MB、不可接入 API、不能引用库条件下实现的创意网页。在线查看
3、WebGL-Fluid-Simulation(英文)
一个前端页面,实现了 WebGL 流体模拟。在线体验
4、机器学习入门指南(中文)
B站up主"玩机器学习的张北海"所著,包含了大量的相关书籍、视频、教程的链接,以及作者总结的一些经验。
5、FFmpeg libav 教程 (中文)
一个如何调用 FFmpeg 视频处理库的教程,这是它的中文翻译。
6、misbrands(英文)
这个仓库提供 SVG 文件,让你可以打印下面的这些贴纸。
7、Kubernetes 纪录片(英文)
这个纪录片是关于 Kubernetes 项目的介绍,包括起源、命名、logo以及很多背后的故事。
8、Xirva(英文)
一个开放式论文库,查询没有版权限制、可以自由使用的科学论文,也可以上传自己的论文。
9、python-mini-projects(英文)
一个简单的Python 迷你脚本集合。虽然代码简单但其中不乏实用的 Python 脚本,比如图片添加水印、批量下载图片、发送电子邮件、定时截屏等。
10、双精度浮点数的内部表示法(中文)
这个网页工具可以显示64位双精度浮点数的内部二进制表示法,你可以输入一个数值,查看它的浮点数表示。
11、Terrain2STL(英文)
该网站可以获取全球任何一个地点的地形图,生成 STL 文件供下载,你可以用 3D 打印机把地形打印成模型。
12、design-patterns-for-humans (英文)
人人都能看懂的设计模式教程。中文版
13、Learn-Vim (英文)
学习 Vim 的指南。该教程不是“大而全的百科全书”,它着重介绍了 Vim 中最常用的功能,让你可以快速熟悉和使用 Vim。中文版
14、《TensorFlow 深度学习》(中文)
系统论述深度学习的基本原理、前沿算法及TensorFlow 2.x的工程实现。
15、awesome-automl-papers (英文)
汇集了自动机器学习(AutoML)相关的论文、文章、教程等资源的项目。
16、deep-learning-for-image-processing (中文)
深度学习在图像处理方面的教程。该项目配以视频的方式介绍知识点和搭建方法,对应的 PPT 在 course_ppt 目录下。
七、生活经验
现在最流行的数据库都是关系型数据库,这种数据库以表格的形式存储数据。但是,现实世界中,事物之间的关系不像表格,更像一张互相连接的网。也就是说,图数据库才是描述事物更合适的方式,也更容易扩展和理解。
那么,为什么关系型数据库才是主流,图数据库始终属于小众应用?原因跟数据的存储媒介有关。磁带发明以后,没过多久,关系型数据库就诞生了,这不是偶然的。因为磁带的数据是线性存储,关系型数据库恰恰最适合线性读写数据。磁盘是磁带的继承者,也是线性存储,这决定了关系型数据库的主导地位。
为了防止数据丢失,对于最重要的数据,应该采取 3-2-1 备份策略。首先,除了原始数据,你应该有3份数据拷贝。其次,3份数据拷贝应该保存在两种媒介,比如不能放在同一个硬盘或者同一台计算机。最后,有一份数据拷贝必须放在异地,比如在云端或其他城市。
3、肉毒杆菌的历史
18 世纪后期,德国发生了好几起香肠中毒事件,所有中毒者都食用过腌制的香肠,然后就发病去世了。一个叫做贾斯汀努斯·克伯的医生,为了查清真相,冒着风险,将几滴香肠的蒸馏提取物滴在自己的舌头上。他非常非常幸运,没有中毒死去,只是感到上颚干燥发痛。后来,他写了一篇论文记录这件事,成了历史上第一篇有关肉毒杆菌的论文。
现在我们知道,那些香肠包含了肉毒杆菌,中毒者都是肉毒杆菌中毒。这种细菌最早在保存条件不好的加工肉制品内部发现,样子像是细长的杆子,所以被命名为肉毒杆菌。但是后来发现,它几乎无处不在,存在于土壤、蔬菜表面、动物粪便和河床中,并且可以在沸水、冷冻、和高酸性环境中存活下来。
值得庆幸的是,正常情况下,肉毒杆菌对人体没有影响,如果摄入,通常会被排出体外,不会有什么后果。但是,某些情况下,它会被激活,产生致命的神经毒素。肉毒杆菌产生的毒素是世界上毒性最高的蛋白质,也是最致命的毒素。只要极小量,就会导致身体麻痹、呼吸停止等严重后果,死亡率极高。口服时,肉毒杆菌毒素的致死剂量约为10亿分之一克。由于罐头食品容易产生肉毒杆菌毒素,所以食品装罐之前,都必须高温消毒。而且,PH 值最好低于4.5,因为肉毒杆菌在酸性环境会失去活性。另外,亚硝酸盐也能抑制肉毒杆菌,这就是为什么加工肉制品会添加亚硝酸盐的原因。
二战时,美军和德军都曾研制过肉毒杆菌武器。为了防止中毒,盟军在诺曼底登陆之前准备了100万剂抗毒素。但是,肉毒杆菌除了用作化学武器,还有一种奇妙的用途。
1960年代,一个化学家想试试看,肉毒杆菌对肌肉的麻痹作用在医学上是否有利用价值。肉毒杆菌毒素有8种类型,他用毒性最小的一种类型,以极小的量注射到斜视病人体内,发现非常有效,肌肉产生麻痹,眼睛不再斜视了。后来,这种肉毒杆菌疗法就被开发成了药物,用于治疗肌肉痉挛、膀胱过度活动症、脑瘫和偏头痛等。
但是,它的最大用途却是偶然发现的。一个病人在额头注射了肉毒杆菌以后,跟医生说,她的皮肤变得光滑和年轻。这个医生马上意识到,肉毒杆菌也许可以用于美容。肉毒杆菌在美容业,几乎立即获得了成功。小剂量的肉毒杆菌毒素,会去除皱纹,唯一的副作用是皮肤会僵硬,无法表达表情,偶尔还会出现眼睑下垂。它很快风靡全球,成千上万的人们正在使用这种美容疗法,将地球上最致命的毒素注射到脸上。
4、线条画
中世纪的法国画家克劳德·梅兰在1649年制作了一幅版画,内容是耶稣的头像。这幅画非常有名,因为它是用一根线条画成的,线条的起点就是耶稣的鼻尖。这根线条一口气画到底,没有断过,也没有跟其他线条交叉。
这个网站提供 Big-O 复杂性表示法的各种基本信息,比如复杂性排序、常见数据结构和算法的复杂性。
6、最昂贵的机器
荷兰阿斯麦尔公司(ASML)生产的 EUV 光刻机,很可能是世界最昂贵的机器。目前最先进的计算机芯片,都必须使用这种机器才能生产。英特尔公司订购了最新型号的这种机器,售价是3.4亿美元/台(约22亿人民币),预定2024年交货。
一个大型芯片厂通常需要9台~18台 EUV 光刻机,投资总规模在100亿~200亿美元。EUV 光刻机全世界目前只有三个用户:台积电、英特尔和三星。阿斯麦尔公司只向他们三家供货,即使如此还供不应求,必须排队提货。
现在的手机刷单,不再用手机真机了,而是用手机主板,一套设备相当于 20 个手机,但价格只有真机的五分之一。
今天的科学论文,起源于17世纪科学家之间的私人信件。其中一些信件在讲座中分发,或者编入书籍,逐渐变成今天的形式。
早期的论文在某些方面比今天的论文更具有可读性。它们不那么专业,更直接,更短,也不那么正式,因此它们本来只是写给他人的信。那时,微积分才刚刚发明,整个数据集可以放在单个页面上的表格中,计算可以手工完成,其它人可以用同样的方式验证。所以,以前的论文往往很简单,一封信就可以写完。
如今,科学越来越复杂,科学表达越来越难。今天的论文比以往任何时候都长,而且充满了行话和符号。它们依赖于计算机程序,进行生成数据、清理数据、绘制数据、运行模型。这些程序往往写得很混乱难懂,但是对结果又是如此重要,导致其他人很难复制出整个推导过程。
换句话说,今天的论文未能完成其最基本的任务:清楚地报告你实际发现的东西,并足以让其他人来复现它。
这也许应该归咎于科学现在以软件的速度发展,各种科学家都依赖编程语言和数据软件包进行研究。然而,这种传播科学成果的方式已经400年没有改变了,今天的论文虽然可以在互联网发布,但本质上依然是纸张上的文本和图片。
如果今天从头开始设计科学论文,它会是什么样子?论文的每个部分,也许都应该是解释性文本与少量交互式图表交织在一起,读者可以自己控制程序和例子,验证每一步。
软件是一种动态的媒介;纸张不是。这就是当前的科学传播的全部问题:今天的科学成果往往是在计算机的帮助下才发现的,那些想法是复杂的、动态的,很难凭直觉得到和理解。然而,到目前为止,我们用于传播这些结果的最流行的工具是 PDF——实际上是一张纸的模拟。现在的科学论文,在形式上已经过时了,我们应该思考如何做得更好。
八、闲情逸趣
最后一战,扼守潼关的大明督师孙传庭,明知出关与李自成的农民军作战,必死无疑。崇祯皇帝不听他的解释,一再催促他出兵,不得片刻延迟。孙传庭原本可以抗命,他的秦兵,是帝国最后三支军队之一。但他没有抗命,他迫不得已率军出关,挥师东向。
出关时,他顿足叹息:“奈何乎!吾固知往而不返也”,不久,孙传庭惨败,部分残兵退回潼关,李自成一路追击,破关而入。孙传庭原本可以逃命,像历史上无数战败的将领一样,但他跃马挥刀,冲入战场。死得惨烈。这一年是崇祯十六年(1643),距离大明王朝的覆灭,不到半年时间。史书说,“传庭死,而明亡矣”。
01 早年出身
有人造就时代,有人被时代毁灭。不知道孙传庭属于哪一种?读孙传庭的传记,一个很明显的感觉,他是二者皆有之。在与时代的撕扯中,他曾有意远离之,亦曾主动拥抱之,最终选择与整个时代“同归于尽”。此生悲壮,唯余浩叹。
孙传庭出生于万历二十一年(1593),此时离大明王朝覆灭,不过51年。他是代州振武卫(今山西代县)人,尽管出身军籍家庭,但自小聪明绝伦,13岁以第一名的成绩通过童子试。26岁那年,他顺理成章地考中进士,不过名次不算高,是三甲第41名。之所以要把他的名次写出来,是因为有一个很有意思的细节:这次进士考试排名,比孙传庭高一个名次,即三甲第40名的那个人,叫袁崇焕。日后,这两个名次相挨着的进士,一个是帝国在辽东的猛将,一个是帝国在陕西的王牌。历史在冥冥之中,已经为后来的崇祯埋下了两个预设的时代英雄,但后来的崇祯一个都没有珍惜过。
02 仕途起点
考中进士就开始当官,孙传庭的仕途起点是知县。他先后在河南永城、商丘做过知县,口碑颇好。当地人评价说,孙知县文武全才,绝非一般俗吏能比。大约在地方做了五六年知县,天启五年(1625),孙传庭入朝述职,得到提拔,成为吏部官员。
但不久之后,他突然辞职了,回老家乡居,而且一去就是十年。从32岁到42岁,那是一个人生命中拼事业最关键的十年啊,孙传庭就这样轻掷掉了,多么可惜,很多人对此表示不解。孙传庭后来虽以武将闻名,但他是一个十足的文人士大夫。他入朝廷时,正是魏忠贤专宠、权势最盛之时,从理念上,他同情东林党人,而对阉党不甚感冒。朝局因为党争而污浊不堪,这名儒家的忠实信徒,遂决定以奉母尽孝为名,辞职回乡。
孔子曾说,天下有道则见,无道则隐。孙传庭以归隐的方式,远离朝廷是非,同时对朝廷进行了含蓄的批判。在一个稍微正常点的时代,归去来兮,也很正常。但孙传庭生活的时代,却不时与他的内心诉求产生剧烈的冲突。最典型的是,在他乡居期间,从崇祯三年(1630)起,农民起义军冲入山西。他的家乡成为官军与义军对抗的前线。最终,现实战乱让孙传庭无法超然世外。他写诗说:
湖海怜多病,乾坤苦用兵。彷徨清不寐,倚剑看欃枪。
人是闲散人,心却揪着帝国战局。到了崇祯七年(1634),后金的军队竟然从大同、张家口突入塞内,并攻克了孙传庭的家乡代州。大明帝国的最后十几年,诚为多事之秋。内忧外患,内有流寇起义,外有满人寇边。孙传庭真的坐不住了,他给崇祯上了一道疏,叫《有敌情必有虚怯之处疏》,看名字就知道,这是批评内政的,他在等待机会复出。
时局变得越来越坏,他变得越来越焦灼。他早已不在局中,完全可以置之不顾,乘桴浮于海,但这就是传统士大夫的可贵之处——国难当头,舍我其谁!有人跟他说,先生想复出,但天下事恐怕不可为啊。孙传庭很生气,说,这是什么话!要自己做过才知道可不可为。现在就从我开始做起,有没有用,那是命的事,我不管。儒家的出世与入世理想,在一个人身上统一得如此完美。
03 崇祯死局
时代是这样一个时代,崇祯八年(1635)孙传庭复出,许多人已经一眼望见了帝国的尽头。好在有一些人在救时救世,不然这个尽头会来得更快。那一年,崇祯家族在凤阳的祖坟,被起义军烧毁。崇祯下了罪己诏,反思明朝进入内外交困的处境,是因为所任非人,导致“虏猖寇起”,“虏乃三入(三次入关),寇则七年(作乱七年)”。
次年,孙传庭被推荐任陕西巡抚。推荐者或许不怀好意,因为陕西当时是所谓“贼窝”,叫“贼乱关中”,从1626年至1636年间,陕西巡抚连换了7人。没想到,孙传庭欣然接受,表示“亦愿一当也”。临行前,崇祯接见,孙传庭委婉地表示,臣恐怕不能徒手扑强贼,意思是要皇帝提供士兵和军饷。崇祯紧皱眉头说,给兵难,给饷更难啊,犹豫了半天,最后给了孙传庭6万两军饷,后面的缺口,让他自己想办法筹措。靠这笔启动资金,孙传庭从无到有,征募了一支3000人的军队,进入潼关,开始了叱咤风云的个人传奇。
崇祯时期,大明进入一个后人命名为“崇祯死局”的困境中。简单说,帝国由于天灾人祸导致财政短缺,财政短缺反过来加剧了天灾人祸:
由于财政短缺,政府为解决辽东战场与后金战争的经费,遂加征“辽饷”;
由于辽东战场开支形同无底洞,政府开始人员收缩,对官办驿站进行裁撤,导致被裁员的驿站工作人员加入流寇队伍,故朝廷不得不在“辽饷”之外,加征“剿饷”,剿除匪寇专用;
由于征收“剿饷”加重人民负担,民怨达到顶点,把更多人推向起义军的队伍,“匪寇”越来越多,剿匪随之需要越来越多的士兵,于是朝廷开征“练饷”,专门用于练兵。
如此,偌大的帝国左支右绌,头痛医头,脚痛医脚,根本无力走出死循环。
04 清屯养兵
到了陕西以后,孙传庭显然已看出“崇祯死局”是个死结,如果继续加饷—养兵—剿匪的套路,只会死得更快。他采取的是另一套做法:挑战潜规则,尽量不加重百姓负担,而寻求向富户豪门下手。
按照制度,明朝的卫所均实行军屯制,但到了明末,屯田已被权贵侵蚀殆尽,而士兵则只是花名册上吃空饷的一个个名字而已。孙传庭不是第一个发现问题所在的人,但他是第一个发现问题而不装睡的人。他贴出告示,要求豪强权贵交出多占的屯田,“地不容失一亩,粮不容遗一粒”,拒不执行者,则直接枭首示众。
占屯田、吃空饷已从潜规则,变成了明规则,人人皆知,而人人见怪不怪。当地权贵面对孙传庭的来势汹汹,相信人性自有弱点:只要他是个人,不是机器人,就有个价,能花钱搞定,10万不够就100万,100万不够就1000万……他们此前或许已经搞定了无数巡抚,但没想到孙传庭是特殊材料制成的。权贵富户被孙传庭收拾得很惨,他们对孙传庭恨之入骨,以后则反扑过来加速了孙传庭悲剧的诞生。
孙传庭依靠清屯,最终养成了一支精锐的秦军。他对自己的经验颇为自得,给崇祯上疏说,以后陕西剿匪、练兵,不必仰求国家财政部接济了。他是想让皇帝明白,打破潜规则,从权贵手中清屯,才能解开帝国沉沦的死循环。但崇祯对比了加征剿饷和清屯的效率,还是倾向于来钱更快、更简单的加征剿饷,所以只是下旨奖赏了孙传庭,而未采纳他的做法。
05 一战成名
孙传庭还来不及叹息,战争已经让他一战成名。当时,朝廷任洪承畴为三边总督,专剿潼关内的义军,任卢象升为五省总理,专攻潼关外的义军,孙传庭的任务,是协助这两人作战。洪承畴和卢象升,都是帝国最有名的武将,洪承畴手中的秦军,卢象升创立的天雄军,与正在抵抗后金的关宁铁骑齐名,均是明朝的主力部队。
即便如此,洪、卢两人都承认,并未能重创“闯王”高迎祥的义军。孙传庭的秦军练成后,设计引诱高迎祥深入关中,在著名的黑水峪之战中,活捉了高迎祥等义军主要将领,高迎祥等人被押往北京,凌迟处死。孙传庭一战成名,随后,他连续剿灭了几股重要的义军势力,一时间,他的威名几乎盖过洪承畴了。义军在陕西遭到强力阻击,遂大部转移到河南发展。崇祯十一年(1638),孙传庭奉命出征,过天星、混天星、大天王等几股义军势力兵败投降。
此时,遭到洪承畴追堵的李自成部,势孤失援。传言,洪承畴与孙传庭合力,打得李自成仅剩十八骑突围而走,几乎全军覆灭。十八骑的说法可能有些夸张,但李自成部被打得七零八落,则是事实。加上此时张献忠、罗汝才等义军首领都投降了朝廷,明末农民起义走到了最低潮的时期。
于是,帝国中枢认为内乱已经平定,朝中要员纷纷庆贺“天下无贼”。这为崇祯误判形势营造了氛围。长期以来,明朝都在攘外和安内孰先孰后的问题上摇摆。最终,崇祯听从了兵部尚书杨嗣昌的建议,“攘外必先安内”,向清军释放缓和气氛,全力对付内乱。
现在,听到李自成大败、张献忠投降的消息,崇祯断定内乱已平。加上清军放言将要南下,崇祯决定由“安内”转向“攘外”,下令洪承畴、孙传庭入卫京师。在此之前,卢象升也已从剿寇主战场退出,被任命为宣大总督,抵御满洲铁骑。崇祯朝最后一次重大国策调整,悄然完成。但这次调整,埋下了四五年后明朝“亡于内,而非亡于外”的伏笔。明末清初史学家吴修龄说:
京城有警,洪公(洪承畴)、孙公(孙传庭)一去一留,及为正计,而齐撤之以开贼生路。
这个判断无疑是正确的,如果调洪承畴入卫,而留孙传庭继续剿寇,明朝的历史极有可能被彻底改写。但现实却是,崇祯把帝国最猛的将领和部队,通通投入攘外,使得中原出现了剿寇的兵力空虚地带,义军很快“春风吹又生”,卷土重来。《明史》记载,洪承畴、孙传庭离去后,李自成“稍得安”。李自成获得喘息机会,借用河南大饥荒的机遇,以“迎闯王,不纳粮”相号召,在河南重新聚拢起庞大的队伍。这次,明朝没有机会了。更可悲的是,之后不久,孙传庭蒙冤,竟被投入监狱。帝国无人可用,而名将在牢里。
06 蒙冤入狱
关于孙传庭入狱的原因,已很难清晰呈现,但离不开这几个基本因素:陕西权贵的诬告,朝廷高层的内斗,以及崇祯的刚愎自用。孙传庭曾说:“臣以痴忠,取忌当路者甚众。”因为真心为国尽忠,他得罪了太多人,隐约有不祥的预感。孙传庭为人直率,他对当时的国策和朝政很不满,所以一直在上疏请求面见崇祯。在奏疏中,他直言:
今日之事,臣不能,谁为能者?臣不任,谁肯任者?……独是向来悠悠忽玩,夸张诞妄,虚廿余年岁月,糜几万万金钱,而秋毫罔绩,遗忧君父者何人?
已经入阁的兵部尚书杨嗣昌看到这些语句,认为孙传庭是在批评自己,加上当时京城盛传孙传庭将要取代杨嗣昌,于是他扣下孙传庭的奏疏,阻止陛见。受此刺激,加上常年征伐劳累,孙传庭突然发病,病情一度严重到让他不能正常办公。痛苦煎熬中的孙传庭,却不能获得朝廷体恤,朝中大员因为权斗,互相攻击,还把他拉下水,内心骄傲的孙传庭难以接受被人诬告,再次上疏自求罢免。
崇祯这次接到他的奏疏,不仅不同情,还怀疑孙传庭装病。崇祯随后命令兵部派人去核查孙传庭到底是真病假病,兵部核查后,回报孙传庭确实发病了,他还不放心,继续派出御史杨一儁,去复查孙传庭的病情。
恰在此时,又有人诬告孙传庭,杨一儁查明孙传庭病情属实后回报,却未将孙传庭被告之事上报。崇祯因此十分恼怒,上纲上线,下旨申斥孙传庭“托疾规避,显属欺罔”,还说孙传庭面对诬告的辩解之辞是“泄愤”,是孙传庭与杨一儁合谋欺骗他。一个皇帝的无情而多疑,到了此等地步!就这样,孙传庭以类似莫须有的罪名,被关进监狱,长达三年。
明末翰林院编修吴伟业慨叹,孙传庭入狱,明朝“危亡之局,实决于此”。即便他日后获释并被重新委以重任,但为时已晚,大厦已倾,谁也救不了明朝危局了。崇祯亲手把帝国最后的长城,毁掉了。
07 名将凋零
帝国名将正在凋零,孙承宗、卢象升均在孙传庭下狱前后死去,洪承畴、祖大寿则“晚节不保”,投靠了清军。崇祯十四年(1641),李自成攻破洛阳,福王朱常洵被剥光洗净,宰了,与鹿肉同煮,义军称之为“福禄宴”。接着,李自成兵围开封,开封告急,崇祯环顾四周,无人可用,这才想起了义军的“克星”、身处牢狱之中的孙传庭。释放,重用。
史载,崇祯以5000人和一个月的粮食,命孙传庭出击李自成的百万之众。孙传庭临危受命,明知是以卵击石,却毫不推脱,他知道,这是自己的最后一战了。孙传庭集合诸将于关中,先诛杀了数次临阵逃脱的贺人龙,重整军纪,再厉兵秣马,打造火器,准备出征。然而,孙传庭备战的时间无多,崇祯一再降旨,催促他出战。孙传庭无奈回复道:“兵新募,不堪用”,但崇祯不听,兵部侍郎张凤翔劝谏说:“传庭所部皆良将精兵,此陛下之家业也,须留以待缓急用”,崇祯仍不听。
陕西的权贵富户,恨透了不搞潜规则的孙传庭,也以人民的名义,逼迫孙传庭出关。他们甚至制造舆论,诬陷孙传庭不听朝廷节制,是想割据关中。孙传庭捶胸顿足,悲叹一声:“大丈夫岂能复对狱吏乎?”,崇祯的多疑猜忌,他是领教过的,他宁可战死,也不想蒙冤二次入狱了。后来,吴伟业在纪念孙传庭的一首长诗中,记录了时为兵部尚书、总督七省军务的孙传庭出关前的心态,悲凉而又豪迈:
尚书得诏初沉吟,蹶起横刀忽长叹。我今不死非英雄,古来得失谁由算?
经过柿园之战、郏县之战,孙传庭两战皆惨败于李自成。李自成乘胜追击,破了潼关。最后一战,是50岁的孙传庭个人的战斗。战死沙场,在污浊的时代,无疑是英雄最体面的死法。他与监军副使乔迁高两人,跃马挥刀,冲入乱军中,力战至死。死后,连尸体都找不到。崇祯因为找不到孙传庭的尸体,竟然怀疑孙传庭逃命去了,所以不下表彰和赠荫。
可惜,孙传庭至死,都未能得到一个公正的待遇。但在历史的长河中,孙传庭死后有无皇帝的褒奖一点儿也不重要了。史书载:
(孙传庭)值国家多难,一意以拨乱为己任,毁誉祸福勿顾也……自十六年(1643)十月丙寅贼破潼关,传庭死,越五日遂陷西安,明年(1644)三月陷京师,传庭一身实系天下存亡。
孙传庭死后不到半年,大明亡于李自成。所有人都对明末败局看得清清楚楚,只有崇祯临上吊前还在责怪别人,不曾反省自己。一个可悲可恨的末代皇帝。
08 无力回天
乱世出英雄。读史的人,最痛惜以至痛恨的两个时代,一个是晚清,另一个是晚明。这两个时代,诞生了多少能人,多少英雄,但他们都无法阻挡历史的大势,唯有一个个化成悲剧,让人扼腕叹息。晚明从戚继光起,到李如松、孙承宗、熊廷弼、袁崇焕,再到孙传庭、李定国、张煌言,明朝在战场上涌现出来的著名文臣武将,一茬接一茬,任何一个都能够独当一面。但他们无一例外,均以悲剧收场。要么死于政治,要么殁于战场,要么殉于气节。
每一个都是时代的大悲剧,个人在其间毫无回转的余地。能人无法挽救明末颓局,说明高居在这些能人之上的权力和体制,已经腐朽不堪。忠义如孙传庭者,无能为力,唯有以死殉葬。历史从来都是旁观者清,当局者迷。后人可以跳脱时代,看清明末清初的大势,但那些个英雄身陷历史的棋局,只能以道德和勇气相互砥砺,明知不可为而为之。前路分明写着一个大大的死字,他们仍然前赴后继,以身许国。这是晚明悲剧中,最让人动容的地方。
我读晚明史,恨崇祯,恨言官,恨内斗,恨党争,恨两面派的文臣武将,唯独对坚毅赴死的战场败将,对屡遭政治构陷的悲情英雄,心生敬意。孙传庭悲剧,在历史中无数次重演。但历史给人的唯一教训,就是当局者从未在历史中吸取任何教训。
九、数字与言论
1、C 和 C++ 这两种语言不保证内存安全,后果就是所有软件安全问题的大约三分之二,都跟内存处理不当有或多或少的关系。——《Rust 正在变成 Linux 的第二官方语言》
2、媒体业务的核心,是每天能从消费者的注意力里面,分到多少分钟。——《好莱坞媒体的电子游戏盲点》
3、旧金山是美国房价最贵的城市,很多穷人负担不起住房,只能流落街头。市政府每年拨款10亿美元,帮助无家可归者,平均每人超过10万美元。讽刺的是,这笔巨款不仅没有解决流浪问题,反而让它变得更严重了。很多全职工作的人,为了住房,花光了积蓄,活得非常辛苦。那些流浪者,反而因为政府的资助,处在一种无忧无虑的稳定状态,不想再去工作。——《旧金山的姑息治疗》
4、评估 SaaS 产品时,我通常会跳过介绍页面,以及上面所有花哨的营销词语,直接进入定价页面。定价页面上,通常有你需要知道的所有东西:这个产品有哪些功能,需要支付多少费用才能获得这些功能。——《SaaS 产品的定价页》
5、根据统计,1979年至1983年间,顶级科学期刊有101项研究,声称发现了很有前途的新疗法或新药物。但是十年以后,其中只有五个发现能够做成产品上市。到了二十年以后的2003年,只剩下一种药物被广泛使用。所以,你不应该相信新闻报道里面,那些令人兴奋的新医学成果,它们成功的机会其实很小。——为什么不应该相信令人兴奋的新医学研究
6、一个充满限制和商品化的互联网,正在取代原来那个曾经互相连通和开放的互联网。——《对抗越来越不利于用户的互联网》
7、致广大而尽精微。——习近平2022年新年贺词,出自《礼记·中庸》
8、灵活的人让自己适应世界,不灵活的人坚持让世界适应自己。结果,一切进步都来自不灵活的人。——萧伯纳
9、一项研究表明,观看学习视频时,两倍速看两遍比正常速度看一遍,效果更好。——英国心理学会
10、人们总是以为,数学定理一旦被证明,就会永远流传下去。但是现在有些数学证明过于艰深,少数理解它们的数学家年龄增长离开该领域以后,就没人懂了,有被遗忘的风险。—— 《2021年数学进展回顾》
11、中国北方以种植小麦为主,南方以种植水稻为主。有一种理论,认为水稻需要稻农合作,解决灌溉和水灾,而小麦主要依靠雨水,不需要与其他人合作,所以北方人的个人主义倾向更强一些,南方人则是群体性倾向更强。——《全球范围的南北方差异》
12、自由软件最好的部分是,它有时会产生你付钱也开发不出来的产品,或者比你付钱得到的软件质量更好的软件。自由软件最糟糕的部分是,开发人员可能根本不理睬用户。—— apenwarr.ca
13、文字很容易被误解,所以写作时,最好写得友好一点。—— 《远程工作的三大挑战》
14、中国的年轻人永远不可能被高房价毁掉,被高房价毁掉的只能是中国本身。房价出现恐慌性抛售的苗头,国家尚能政治干预。而年轻人的梦想如果出现恐慌性抛售,整个民族的潜力都会直接跌停。——知乎网友
15、个人的善恶属性,与其所属阶级的进步或落后,没有必然的关联,这是马克思主义阶级论的核心,也是阶级斗争的根源。——知乎网友
16、世界上的所有事物都是一个个孤立的点,而你读过的书,走过的路,经历的人或事,则是一条条或明或暗的线。这些线条看似杂乱无章不知所以,但是总有一天,当你经历和看到的越来越多,你就会发现,这些线,在你脑海里早变得清晰起来,成为你和这个世界对话的桥梁。——知乎网友
17、不读书的人只能看到表面的美好;有一定学识的人能看破这些假象,看到真实世界的黑暗,从而绝望悲观;只有不断学习的人才能厚积薄发,让自己的眼界冲破这片黑暗,看到真正的光明和希望。——知乎网友
18、技术团队的时间可以这样划分:70% 用于功能开发,20% 用于消除技术债务,10% 用于学习和实验。——《管理技术债务》