惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
Lohrmann on Cybersecurity
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
TaoSecurity Blog
TaoSecurity Blog
博客园_首页
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
The Exploit Database - CXSecurity.com
量子位
Project Zero
Project Zero
A
Arctic Wolf
小众软件
小众软件
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Troy Hunt's Blog
P
Privacy & Cybersecurity Law Blog
Security Latest
Security Latest
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
K
Kaspersky official blog
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
人人都是产品经理
人人都是产品经理
AI
AI
Cisco Talos Blog
Cisco Talos Blog
MyScale Blog
MyScale Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
S
Schneier on Security
P
Palo Alto Networks Blog

Posts on Changkun's Blog

Why High-Output Systems Are Often the First to Stop Growing Dark Forest Theory: A Formal Derivation Agents (or Humans) in Goal-Directed and Goalless Environments: On Pipelines, Priors, and the Rhythm Between Exploration and Exploitation At the Boundary of Self-Reference: From Stable Structures in Artificial Intelligence to the Self as a Recursive Model in an Open Dissipative System 2023 Reading List 2022 Reading List 2021 Reading List Are PSS/USS and RSS Actually the Same Thing? Performance Differences from Page Faults vs. Prefetching 2020 Year-End Review Migration with Zero Downtime 2020 Reading List The All in Go Stack Pointers Might Not Be Ideal for Parameters Eliminating A Source of Measurement Errors in Benchmarks Setup Wordpress in 10 Minutes 2019 年终总结 2018-2019 读书清单 Ten years of blogging Rethinking the Reflections on Communications and Trusts 2018 年终总结 Go source code study is open source Go source study: unsafe Pattern Go source study: sync.Pool Go runtime programming A Million WebSocket and Go Designing Asynchronous RESTful APIs 分布式杂谈01:CAP 理论的误解 Issues of Human-Bot Interaction 压缩法与深度网络的泛化性 Go in 1 Hour UMSLT04: The Past and Present of SGD UMSLT03: A Gentle Start of Learning Theory UMSLT02: A Breif History of Neural Networks UMSLT01: A Breif History of Regularization 不笑不足以为道 论文笔记:Generalization in Deep Learning 2017 年终总结 2017 读书清单 深度学习的泛化理论简介 删除 GitHub 上已经提交的敏感信息 硕士生涯的第一年就这样告一段落了 人肉计算(10): 系统参与激励 人肉计算(9): 陷阱的解法 别聊,一聊你就暴露 人肉计算(8): 人肉计算与数据科学中的陷阱 人肉计算(7): 社会行为分析 Hexo + GitHub + Travis CI + VPS 自动部署 人肉计算(6): 预测市场 人肉计算(5): 信用风险评级模型 读书与回报 瞎扯: 对现代企业理论与当下IT企业的商业模式和信息产业链的规律性的思考 人肉计算(4): 输入数据聚合与PageRank 又一次打整了一下博客 人肉计算(3): 输入数据聚合与链路预测 人肉计算(2): 意图博弈 GWAPs 人肉计算(1): 众包与群众智慧 对后辈同学在计算机专业上的答疑与解惑 在德国的医疗及住院体验 这可能不是一个技术博客了 实验楼楼赛第3期-Python-题解 迅速更换了 DISQUS Electron 深度实践总结 良好的编码体验的三个方面 2016 年终总结 2016 读书清单 最近在着手写的文章 微信小程序文档极致总结 谈谈过去三个月在实验楼的实习经历 Built a Desktop Client for My Blog Guacamole 源码分析与 VNC 中 RFB 协议的坑 《高速上手 C++11/14》正式发布 Docker 极速入门教程02 - 镜像与容器管理 Docker 极速入门教程01 - 基本概念和操作 阶段性沉默 ELK+Redis 最佳实践 终于全面启用了 HTTPS 苹果开源了LZFSE无损压缩 Hash 碰撞的一种思路 记一次完整的 Kaldi-TIMIT 示例运行 Kaldi 上的 TIMIT 例子 Kaldi 安装与部署 从科研写作谈起 Swift API 设计指南 有趣的人类 所以其实论文并没有什么鬼用 Githug 通关记录及指南 小结一下这学期的收获 2015 读书清单 2015 年终总结 负能量爆表 转眼就快两个月了 博客迁移记录 大三总结 这个世界,终究不会是我们的。 Linux 内核分析 之六:Linux 内核创建进程的过程 小说「泽缘」 Linux 内核分析 之五:system_call中断处理过程的简要分析 大创项目的标题真是每年都在考验同学们的想象力啊 Linux 内核分析 之四:使用库函数API和嵌入汇编两种方式使用同一个系统调用
我为什么不再写博客了?
Changkun Ou · 2020-03-09 · via Posts on Changkun's Blog

我为什么不再写博客了?

Published at发布于:   |   PV/UV: /   |   Reading阅读: 1 min

这篇文章也是一篇博客文章,读者可能会质疑:这不是与这篇博客的主题相矛盾吗? 我目前觉得还没有,但可以预见的是,这个博客在未来的一年以内不会更新任何内容。 我的博客的更新频率越来越低,我为什么不再写博客了呢?或者严谨的说,我为什么不再进行频繁的博客写作了呢?

这一切要从去年我参与的一期 ggtalk 播客节目谈起。 从这期节目的 1:17:57 开始,我提到了一个线性写作的概念。所谓线性写作, 是指将一个网状结构的知识进行线性的展开,将网络中本该存在的连接通过精巧的章节设计进行解耦。

网状结构在脑海里的脉络是清晰的,原因在于思维对知识结构本身就有全局观。 但问题的根源在于,这种全局观对线性展开后的知识体系的读者是不明朗的。 一旦我们将一个网状的知识进行线性展开后,本质上就隐性地要求读者自行将知识结构在思维里进行重新绘制, 这对读者的要求是非常高的。 当这个线性结构在读者面前呈现的好时,读者将会在阅读的某个时间点回忆起前面提及的知识,在脑中形成一个闭环, 达到一通百通的效果; 但一旦呈现得不好时,读者会在脑中充满疑惑:这是什么?这有什么用?为什么要在这里生硬的插入这样一段概念?怎么这么乱?

一个很好的例子常见于公理化后的数学书籍。不妨以概率论为例,我们来看一组重新调整叙事后的统计学概念和定理:

  • 总体:所有满足某些共同性质的值的集合
  • 样本:从总体中随机抽取的个体
  • 频率:n 次试验中,某个事件发生的次数除以总的试验次数
  • 大数定理:当试验次数 n → ∞ 时,频率一定渐进地收敛到某个值
  • 概率:频率收敛到的值
  • 独立:两个事件互不影响
  • 随机变量:是一个函数,参数是所有可能的样本,返回值是这些样本的取值
  • 期望:随机变量以其概率为权重的加权平均值
  • 方差:样本取值与期望之间的「距离」,距离通过这两个值差的平方和进行计算
  • 概率密度函数:是一个函数,参数是随机变量取值,返回值是随机变量取得该值的概率
  • 正态分布:一种特殊的概率密度函数
  • 中心极限定理:无穷多个独立的随机变量的和服从正态分布

很明显,这里的定义并不是概率论中的公理化定义。它有什么特点呢?每个概念由上至下线性的递进。 这种线性的关系在一位概率论书籍的读者面前其实并不那么直观。 例如,概率的公理化定义是通过其非负性、规范性、可列可加性来描述的一个样本空间上的可测函数。 那么什么是样本空间?可测函数又是什么?进而又牵扯出为什么需要可测、不可测又有什么问题等一些很严肃的数学概念。

我们先不去讨论这些问题的答案是什么,这不是这篇文章的目的。 不妨再来看公理化概率论的后续内容都描述了什么数学规律。 在建立概率论中的最基本的大数定理前,通常还要求读者掌握随机变量这个概念。概念本身从名字上其实很好理解, 但严格的数学公理化定义其实是概率空间到实数集的一个可测函数,很明显这种说明过于「高端」。 当然这样的例子在这份清单中还很多,例如大数定理并不是一条经验定律, 而是在公理化体系下严密演绎出来的一条数学定理,对公理化概率论比较了解的读者应该知道我在说什么。 早年学习公理化概率论的时候就饱含这样的疑惑:为什么随机变量被定义为了一个函数? 为什么正态分布必须是这样的形式?频率真的总能稳健且渐进的收敛到概率吗? 这一切的疑惑,在见到大数定理和中心极限定理的瞬间被解答了,进而叹服于这种精妙绝伦的演绎。

这就不仅令我反思,为什么公理化后的数学要将知识结构展开得如此晦涩难懂?当阅读一个定理的证明时, 总在惊叹于作者是如何想到这一巧妙的构造,这是一种好的做法吗?将概念的原始想法, 隐藏在存粹的逻辑中,真的值得提倡吗?我曾反复的向自己问这个问题,直到后来我给出了这样的回答: 当你在进行一段精妙的演绎时,你想要的是读者对这种精妙的演绎过程表现得叹服, 还是想要将你如何思考得来的这个过程完美的展现并分享给你的读者呢?想法重要吗?当然重要。 你需要告诉你的读者吗?似乎不那么需要。在纯粹的逻辑面前,一切加工都显得苍白无力, 在精妙的演绎面前,那些原本平凡的想法已不重要。

内容的组织是需要经历相当长久、全面且艰深的思考的,这其实是与数学概念的发展过程不谋而合。 回顾数学的知识的呈现过程,其实是一个活脱脱的知识结构不断被后人整理修订的过程。 这个过程现在被我们称为数学系统的公理化,这个公理化包含了系统的完备性和相容性。 完备性阐述了在系统内以最少的公理数量推导整个系统的全部结论;自洽性要求了公理系统悖论的缺失。

又比如说欧几里得几何的第五公设稍加修改就能衍生出非欧几何,但这两种几何并不满足完备性要求, 只有不包含第五公设的绝对几何才是度量几何类中的完备系统。对于自洽性而言,它并不与哥德尔不完备定理相矛盾, 自洽性断言不存在既真又假的命题,而后者断言存在既不可证明又不可证伪的命题, 就好比第五公设之于度量几何,连续统假设之于集合论,选择公理之于 ZF 系统。

受这种严密思维日积月累的熏陶,在过去的几年间我开始逐渐的在自己的私有仓库里尝试对每个知识都 进行精心的设计,采取探索来龙去脉这一写作思路。当然,早年的我并没有使用这种写作风格,这在 《现代 C++ 教程》这本书上体现得很好,那是一种零散、独立、快餐式的写作风格,读者能够随意从 任何一个章节开始阅读,随时能够获得信息量。相反,《Go 语言原本》则要求读者在阅读全书的过程中逐步的了解全书的一种循序渐进的写作脉络,这也就是我在过去几年的尝试中,不断转型为我在自己私有仓库中反复实践过的一个学术专著型写作风格开源项目。 这种探索来龙去脉的写作思路在这本书里面体现的淋漓尽致。例如,对于一个语言本身为什么要先从运行时而非编译器谈起?为什么要将一个知识拆分为两半,一半位于书籍的前半部分,另一半会在长时间用不到该知识的情况下放到了全书较为靠后的位置?

这种写作风格上的转型体现在它最初并不是以学术专著的形态来写作的。从仓库的第一个提交历史可以看到它最初并不是 以公理化角度来进行写作的,写作的目的更像是一个相对公开的私人的笔记库(它的第一个提交是关于 Go 语言运行时调度器的分析) ,而这种转型发生在项目关注度的逐步上升阶段。

但只是万万没想到,那个上下求索近两年的写作目标和风格,在它第一次公开亮相不久后, 便能够被人堂而皇之的拿去,用醒目的大字对外作为自己的风格进行宣告。这构成抄袭吗?当然不算, 只是我并不能苟同这种「拿来主义」。它被拿得足够好吗?怕是不够好。因为我看不到作者自己的思想, 没有思想的作品充其量可能只是一只负责送信的猫头鹰,甚至惨遭退回。

回过头来看,《原本》一书显然引起了人们的注意力,也许算是给了一个群体一剂强心剂。 让他们从那个零星过时知识的蛮荒时代进入了一个开始思考并关注发展和持续的时代,我认为它完成了它的「使命」。 我还会继续写作《原本》吗?我也不知道。也许吧?也许不会。

我为什么不再写博客了?你有答案了吗?

欧长坤 于 慕尼黑

2020 年 03 月 08 日