Every step counts

Image Management in Web Development

Strategies and Practices

Tips and Tricks using WebStorm

About WebStorm setting up config and practical usage

MacBook Selection Guide 2024

The difference between M123/Pro/Max/Ultra for MacBook Air/Pro, and how to choose between 13/14/15/16"


40 questions about my 2024-2034

40 Questions To Sum Up My 2023

Build your website from scratch

How I build this site from 0 to 1

3 best types of title for better SEO

How to quickly make sense of any industry



Build your audience

How Jekyll works

Jekyll's mechanism, transformation steps and structure introduction

Panda Remit - Receive more, and get it faster

The best and cheapest way to send money abroad online.

Wise - Save when you send worldwide

Get your money moving internationally.

Swissquote - Swiss Online banking leader

Unleash your financial potential with Swiss know‑how and high‑class execution.

Giffgaff - Popular UK SIM Card

Your first oversea phone number


Review of Animal Farm

Some animals are more equal than others

Review of 老谋子司马懿


Review of 决战大数据


Review of 1984

We shall meet in the place where there is no darkness

Review of 公司理财

Review of 经济解释(卷1)


Review of

Review of 一课经济学

《JavaScript 二十年》推荐语


Review of 饱食穷民

Review of 跟三国人物学职场经济学

Review of 国史大纲

作为一个前端,看不懂@黄玄 的几乎每一个回答,只有我自己吗?

Taking this chance to reflect on myself

Data Representation - Floating Point Numbers


Data Representation - Integer


React Hooks 是否可以改为用类似 Vue 3 Composition API 的方式实现?

Thinking in React vs. Thinking in Vue

Review of 万历十五年

Review of 帝国政界往事

Review of 枪炮、病菌与钢铁



Review of 影响力

Review of 如何获得真正的财富

2019 年 PWA(Progressive Web App) 凉了吗?

Is PWA effectively dead in 2019?

Review of 决胜B端


Review of 诸葛亮之道

把「终端下的 Vim」作为 macOS Finder 的打开方式

Open file with terminal Vim from the macOS Finder

「SF-QC」2 TypeClasses

Quickcheck - A Tutorial on Typeclasses in Coq


Programming Language Foundations - Partial Evaluation

「SF-PLF」18 UseAuto

Programming Language Foundations - Theory And Practice Of Automation In Coq Proofs

「SF-PLF」17 UseTactics

Programming Language Foundations - Tactic Library For Coq

「SF-PLF」16 LibTactics

Programming Language Foundations - A Collection of Handy General-Purpose Tactics

「SF-PLF」15 Norm

Programming Language Foundations - Normalization of STLC

「SF-PLF」14 RecordSub

Programming Language Foundations - Subtyping with Records

「SF-PLF」13 References

Programming Language Foundations - Typing Mutable References

「SF-PLF」12 Records

Programming Language Foundations - Adding Records To STLC

「SF-PLF」11. TypeChecking

Programming Language Foundations - A Typechecker for STLC

「SF-PLF」10 Sub

Programming Language Foundations - Subtyping (子类型化)

「SF-PLF」9 MoreStlc

Programming Language Foundations - More on The Simply Typed Lambda-Calculus

「SF-PLF」8 StlcProp

Programming Language Foundations - Properties of STLC

「SF-PLF」7 Stlc

Programming Language Foundations - The Simply Typed Lambda-Calculus

「SF-PLF」6 Types

Programming Language Foundations - Type Systems

「SF-PLF」5 Smallstep

Programming Language Foundations - Small-Step Operational Semantics

「SF-PLF」4 HoareAsLogic

Programming Language Foundations - Hoare Logic as a Logic

「SF-PLF」3 Hoare2

Programming Language Foundations - Hoare Logic, Part II

「SF-PLF」2 Hoare

Programming Language Foundations - Hoare Logic, Part I

「SF-PLF」1 Equiv

Programming Language Foundations - Program Equivalence (程序的等价关系)

「SF-LC」16 Auto

Logical Foundations - More Automation

「SF-LC」15 Extraction

Logical Foundations - Extracting ML From Coq

「SF-LC」14 ImpCEvalFun

Logical Foundations - An Evaluation Function For Imp

「SF-LC」13 ImpParser

Logical Foundations - Lexing And Parsing In Coq

「SF-LC」12 Imp

Logical Foundations - Simple Imperative Programs

「SF-LC」11 Rel

Logical Foundations - Properties of Relations

「SF-LC」10 IndPrinciples

Logical Foundations - Induction Principles

「SF-LC」9 ProofObjects

Logical Foundations - The Curry-Howard Correspondence

「SF-LC」8 Maps

Logical Foundations - Total and Partial Maps

「SF-LC」7 Ind Prop

Logical Foundations - Inductively Defined Propositions (归纳定义命题)

「SF-LC」6 Logic

Logical Foundations - Logic in Coq

「SF-LC」5 Tactics

Logical Foundations - More Basic Tactics

「SF-LC」4 Poly

Logical Foundations - Polymorphism and Higher-Order Functions

「SF-LC」3 List

Logical Foundations - Working with Structured Data

「SF-LC」2 Induction

Logical Foundations - Proof by Induction

「SF-LC」1 Basics

Logical Foundations - Functional Programming in Coq


Avoiding success at all cost

Watching "Escape from the Ivory Tower: The Haskell Journey"


Dreamers among programmers



How to explain the Halting Problem?


Why is there more uncomputable functions?

为什么 CSS 这么难学?

Why I dislike CSS as a programming language

Farewell, Flash. 感谢你,但这一次是真正的永别。

So long, and thanks for all the Flash

How does SW-Precache works?

如何理解 document 对象是 HTMLDocument 的实例?

Why is document an instance of HTMLDocument?

下一代 Web 应用模型 —— Progressive Web App

The Next Generation Application Model For The Web - Progressive Web App


Wechat Mini-Program vs. the Web, a UX comparison


Service Worker 101「GDG DevFest 2016 北京」

🎞 Slides:Service Worker 101, Working Offline and Instant Loading (GDG DevFest 2016 Beijing)

Progressive Web Apps,复兴序章「QCon 上海 2016」

🎞 Slides:Progressive Web Apps, Make Web Great Again. (QCon Shanghai 2016)

Web 在继续离我们远去

After the release of Wechat Mini-Program

Progressive Web App 之我见

🎞 Slides:Progressive Web App, in my points of view

「译」React vs Angular 2:冰与火之歌

React versus Angular 2: There Will Be Blood


都 2015 年了,CSS 怎么还是这么糟糕

🎞 Slides:CSS Still Sucks 2015

「译」iOS 9,为前端世界都带来了些什么?

iOS 9, Safari and the Web: 3D Touch, new Responsive Web Design, Native integration and HTML5 APIs


How designers learn front-end development?

「译」ES5, ES6, ES2016, ES.Next: JavaScript 的版本是怎么回事?

ES5, ES6, ES2016, ES.Next: What's going on with JavaScript versioning?

JavaScript 模块化七日谈

🎞 Slides:JavaScript Modularization Journey

聊聊「阿里旅行 · 去啊」


See you, Alibaba


hUX 随想录(二):操作系统的浪漫主义 —— Metro 篇

信息、载体、抽象、UI 设计乱谈

Unix/Linux 扫盲笔记


hUX 随想录(一):Digital native 数字原住民


如何评价 2015 年 3 月 9 日 Apple 春季发布会?


The Great Deflation of the century, the Great Global Depression

Also discusses the inevitability of the outbreak of the Chinese debt crisis






或许这就是所谓的企业 DNA

对中国用户而言,Pure Android 是否比 MIUI 或 Flyme 体验更好?

如何评价 MIUI 6?

Hello 2015

"Hello World, Hello Blog"