Changkun's Blog欧长坤的博客

Science and art, life in between.科学与艺术,生活在其间。

  • Home首页
  • Ideas想法
  • Posts文章
  • Tags标签
  • Bio关于
  • TOC目录
  • Overview概览
Changkun Ou

Changkun Ou

Human-AI interaction researcher, engineer, and writer.人机交互研究者、工程师、写作者。

Bridging HCI, AI, and systems programming. Building intelligent human-in-the-loop optimization systems. Informed by psychology, sociology, cognitive science, and philosophy.连接人机交互、AI 与系统编程。构建智能的人在环优化系统。融合心理学、社会学、认知科学与哲学。

Science and art, life in between.科学与艺术,生活在其间。

276 Blogs博客
165 Tags标签
  • Humanities
  • Engineering
  • Technical
  • Review and Further Reading
  • 人文类
  • 工程类
  • 专业类
  • 回顾和进一步阅读
Changkun's Blog欧长坤的博客

2020 Reading List2020 读书清单

Published at发布于:: 2020-12-25   |   Reading阅读:: 4 min   |   PV/UV: /

It’s the end of the year again — time to compile this year’s reading list. 2020 was a truly extraordinary year, and I didn’t read all that many books. Most were related to my field, and several were rereads from undergrad. Those classics always yield something new on each reading.

Humanities

This year’s humanities reading centered on understanding the history of computing in the last century — software history covering UNIX, Linux, and the free software movement, and hardware history covering the rise and fall of microcomputers. I spent some time on these books, ordered from most to least recommended:

  • The Art of UNIX Programming
  • The Design and Evolution of C++
  • UNIX: A History and a Memoir
  • The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
  • Free as in Freedom: Richard Stallman’s Crusade for Free Software
  • Fire in the Valley: The Birth and Death of the Personal Computer

The best way to understand this history is to hear it from the people who lived it. I’ve gradually assembled a YouTube playlist — probably incomplete, but I’ll keep adding to it.

Engineering

I read very few engineering books this year. Specific engineering practice is not a major part of my day-to-day life — I’m not spending time solving engineering problems per se; instead I spend much of my time reading research papers. The one engineering book I did read:

  • Software Engineering at Google: Lessons Learned from Programming Over Time

The reason this caught my attention: one of the chapters was contributed by Russ Cox. Guess which one? Dependency management, of course.

Technical

This year, because of teaching responsibilities, I took on two foundational courses: Computer Graphics and Geometry Processing.

For the first course I reread several graphics books from undergrad:

  • Fundamentals of Computer Graphics
  • Computational Geometry: Algorithms and Applications

And also read these rendering books on ray tracing and physically-based rendering for the first time, getting a more systematic grounding in physical rendering, materials theory, and color science:

  • Physically Based Rendering: From Theory to Implementation
  • Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs
  • Color Imaging: Fundamentals and Applications

For the Geometry Processing course, closely aligned with my research, I read these systematically to prepare course materials:

  • Polygon Mesh Processing
  • Level of Detail for 3D Graphics

The mathematics used in geometry processing research looks formidable, so I filled in gaps from undergrad in differential geometry and PDEs:

  • Differential Geometry of Curves and Surfaces
  • Partial Differential Equations

Finally, early in the year, while writing Go Under the Hood, I speed-read these two:

  • Operating Systems: Three Easy Pieces
  • Types and Programming Languages

Review and Further Reading

Overall, I didn’t read many books this year, and most were technical. The reason is that most of my reading time went to research papers — I checked just now, and since starting my PhD the papers on my hard drive already exceed 1,000. But they’re too specialized to list here; perhaps someday I’ll start a paper reading series.

Beyond books, I also came across many high-quality open courses from North American universities:

  • CS 6120: Advanced Compilers γ
  • CS 15-458/858: Discrete Differential Geometry

I’m always struck by the quality of education resources available to students today. When I was an undergraduate, so much was hidden away — the most accessible things were MIT OCW and a handful of Yale open courses, and the truly high-quality material was only available once you were inside those institutions. That was a big part of why I chose to study abroad. It’s different now.

Though I imagine every generation has its own struggles: in this age of information overload, discerning and filtering high-quality content is its own challenge. But that’s a topic for another day.

If you’re interested in previous years' reading lists: Reading List Archive.

又到年末了,是时候整理一波今年的读书清单了。2020 年实在是太特殊了,这一年里读过的书其实也不多, 大多与专业相关,且好几本是本科时期读过再来重读的,这类书过于经典,每次读的收获都会有所不同。

人文类

今年人文类的书籍其实集中在了理解上个世纪计算机的发展史上了,包括软件的部分包括 UNIX、 Linux、自由软件运动等,硬件则包括微计算机的兴衰。 所以今年花了一些时间去读这些书,按推荐强弱先后排序:

  • The Art of UNIX Programming
  • The Design and Evolution of C++
  • UNIX: A History and a Memoir
  • The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
  • Free as in Freedom: Richard Stallman’s Crusade for Free Software
  • Fire in the Valley:The Birth and Death of the Personal Computer

最后,理解这些历史其实最好的方式是去听这些人的口述历史,为此我也陆陆续续的搜集了一个 YouTube 的播单,可能并不是很完整,如果以后还有 看到类似的视频,这个列表还会继续更新。

工程类

今年工程类的书籍读得非常少,一方面原因是因为比较具体的工程实践不在我的生活中,我不需要去花时间 来思考一些工程上的问题,相反而是需要花很多时间在科研文献上的阅读。唯一读过的工程类的书籍是:

  • Software Engineering at Google: Lessons Learned from Programming Over Time

这本书吸引我的原因是其中有一章是 Russ Cox 参与的,猜猜是哪一章?没错,就是依赖管理。

专业类

今年因为教学的需求,我负责了两门基础课程:Computer Graphics 和 Geometry Processing。

因为第一门基础课的原因,我重读了很多本科时期读过的图形学的书籍,比如说:

  • Fundamentals of Computer Graphics
  • Computational Geometry: Algorithms and Applications

同时额外读了这些以前没读过的光追实现的渲染类的书,比较系统的了解了物理渲染、材质相关的基础理论以及色彩科学:

  • Physically Based Rendering: From Theory to Implementation
  • Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs
  • Color Imaging: Fundamentals and Applications

对于第二门课而言,因为是与自己的研究领域强相关,为准备课件系统性的读了这些书:

  • Polygon Mesh Processing
  • Level of Detail for 3D Graphics

做几何处理的研究,用到的数学其实(看起来)非常的高深,所以还读了这些书来补全自己曾经本科时期没有 系统学习的这些学科的短板,主要是微分几何和偏微分方程:

  • Differential Geometry of Curves and Surfaces
  • Partial Differential Equations

最后的话,就是年初的时候因为写《Go 语言原本》的原因速读过这两本书:

  • Operating Systems: Three Easy Pieces
  • Types and Programming Languages

回顾和进一步阅读

总的来说,今年读过的书不多,而且多半偏向专业类。原因是大部分的时间其实花在了读论文上,刚看了一眼我 硬盘里的文献大小,读博士以来已读的 paper 已经超过 1000 篇了。但这些论文过于专业化了,也不适合 作为读书清单列出来,如果有机会,以后可能会开一个 paper 清单的系列。 除了读书之外,其实还看到过很多北美高效的高质量课程:

  • CS 6120: Advanced Compilers γ
  • CS 15-458/858: Discrete Differential Geometry

当然,还有很多高质量的课程也不一一列举了,以后有机会我们再来列一个清单。

在看到这些公开的课程时总会惊叹现在的学生能够享受到这么优质的教育资源,记得我本科的时候很多信息 其实都是秘密,那个时候比较有用的只有 MIT 的 OCW 系列、耶鲁等系列公开课,而且资源很有限。 真正高质量的教学内容其实只有跻进了这些大学里才能真正享受到,这也是我选择留学的一个重要的原因, 但现在不一样了。

不过我能想想每一代人也会有每一代人的痛苦,比如这个信息爆炸的年代如何鉴别和筛选高质量的内容以及 对这些内容进行取舍也会是很头疼的问题,但这也是另一个话题,我们以后再表。

如果对往年的阅读清单感兴趣的话,可以查看这里:往年阅读清单合集。

#读书清单#
  • Author:作者: Changkun Ou
  • Link:链接: https://changkun.de/blog/posts/2020-reading/
  • All articles in this blog are licensed under本博客所有文章均采用 CC BY-NC-ND 4.0 unless stating additionally.许可协议,除非另有声明。
Stability Patterns
LBRY

Have thoughts on this?有想法?

I'd love to hear from you — questions, corrections, disagreements, or anything else.欢迎来信交流——问题、勘误、不同看法,或任何想说的。

hi@changkun.de
© 2008 - 2026 Changkun Ou. All rights reserved.保留所有权利。 | PV/UV: /
0%