Presence Is Enough [Memos]
Why my father simply being home for Spring Festival meant so much, and why just being there for the people who matter is often enough.
Energy Is the Precondition for Living Well
Three days of oversleeping over the Qingming holiday taught me that what looks like laziness is often just low energy, and that sleep and exercise fix it.
A Wrong Map Is Better Than No Map
Why a rough, error-ridden framework of a field beats having none, and how to tell when a learner has made it past the valley of the learning curve.
A Short History of the Web: The Key Threads
From ENQUIRE in 1980 and the first browsers to V8, cloud computing and PWAs: how the Web grew from a hypertext app into an operating system.
Reopening My Independent Blog
Why I came back to running my own blog after eight years on Zhihu, WeChat and other platforms, and what changed when I restored it.
Material Design: An Introduction and the Theory Behind It
What Material Design is, and the science behind it: graphic design, cognitive psychology, biology and physics that let novices make decent designs.
The Metaphysics of Front-End Engineering (0)
Why front-end engineers should learn the humanistic side of their craft, and how reductionism can ground design principles in psychology rather than taste.
Front-End Metaphysics (1): Why Users Can't See the Favorites Button
Why so many Neihan Duanzi users never noticed the Favorite and Save buttons in the share panel, explained with cognitive psychology, plus two fixes.
One Year After Graduation
Looking back on my first year after college: missing grad school in philosophy by one point, two jobs, moving house twice, and what changed in me.
Topological Sort: Resolving JavaScript Module Dependency Order
Using JavaScript module dependencies as an example, why naively traversing the dependency graph goes wrong and how topological sort gives a valid load order.