2024

01.31 数据工程师的“最后一公里”

2023

10.20 如何把项目做完?
10.15 Emacs bury-all
10.06 理解Emacs Lisp的 List
08.20 Emacs 29 升级指南
06.11 Scala命令行参数解析库对比
02.09 优化counsel-bookmark
01.30 用Alfred实现“指哪打哪”的窗口切换

2022

12.02 基于org-mode、markdown和alfred的高效书签工作流
10.20 程序员生存指南:坚信未来的无限可能
06.20 Spark源码分析:从collect入手
04.23 程序员生存指南:时间与带宽

2021

09.07 程序员生存指南:做浮夸的程序员
09.03 用emacs和gpg保管你的小秘密
07.11 十年学会函数式编程:Type Class
07.09 十年学会函数式编程:ADT(Algebraic Data Type)
06.13 十年学会函数式编程:入门的最差实践
05.30 十年学会函数式编程
03.26 Protocol Buffer高阶玩法:如何优雅地批量修改proto文件
03.12 Why Emacs?

2020

08.02 Done is better than perfect
06.27 逃离舒适区
04.28 该不该用-webkit-font-smoothing?
04.25 Clojure开发初体验
04.19 打王者荣耀,我学到了什么

2019

12.08 The Perfect Language
10.13 技术不能改变世界
06.23 面向未来思考
06.09 新加坡见闻
02.03 Blame Oriented Programming
01.19 2018 过去了
01.06 Posthaven to Hugo

2018

11.02 业余摄影师的Olympus M.Zuiko 7-14mm F2.8 Pro使用体验
10.27 万里长征的第一步
10.25 谈程序员的学习(二)

2017

08.01 谈程序员的学习(一)