-
On Pirsig's "Lila"
-
I've been attempting to learn some Japanese over the last couple of months, documenting my approach
-
On Hofstadter and Sander's "Surfaces and Essences"
-
A Year of Ergonomics
What I bought in 2025 to improve my workspace. -
On Rory Sutherland's "Alchemy"
-
Thoughts about OCaml after using it for two days for Advent of Code ([repo](https://github.com/zanli
-
On "Obvious Adams"
-
A few matters of style on this website that we would like to keep moving forward. All [articles](/en
-
Seems like you can finally animate gradient colours in CSS. It is a bit finicky, though, using CSS c
-
On Content Strategy
-
Quality in the Copycat World
Sometimes technically correct is not the best kind of correct. It might not even be correct at all. -
On Builders and Monoids
-
Lisp in JavaScript
Turing-completeness inside JavaScript arrays. -
Elixir API from Scratch
Building a basic API without codegens. -
On TypeScript's Flaws
-
Solid Anew
Are the principles still relevant? -
On Image Composition With CSS Filters
-
On Understanding Array Methods
-
How I See The World
The fundamentals of my worldview. -
Monoids in Practice
One of the more useful algebraic structures. -
Mastery and Perfection
One should not aim to create the perfect, but to become a master. -
Naming Things
One of the two hardest things in computer science, supposedly. -
Faith Before Reason
Where do ideas come from? -
On Augustine's "Confessions"
-
The Strongest Force in the Universe
A few words on the importance of storytelling and the ability to explain. -
Agile, Avant la Lettre
The ideas in the agile mainfesto are older than one might think. -
On Excel Add-ins in React
-
Axes of Governance
Two ways to think about governing a team. -
A Tale of a Dripping Faucet
Why minor pain points can ruin your mood. -
Vim's Small Idea
What makes modal editing an underappreciated paradigm. -
Books, Debts, and Delicatessen
Musings on lifespan, wisdom and accumulation. -
On React's Imperative Handles
-
Romantic Programming
The dichotomy of people's approach to technology. -
On Learning (Natural) Languages
-
The Tomato Game
Not every question needs an answer. -
How to Start Programming
Some tips for the apprentices. -
Gumption Traps
Gumption traps are the internal and external obstacles that drain your drive. Understanding them gives you tools to protect the quality of your work. -
On Gaining Knowledge
-
Functional Ship of Theseus
When to stop refactoring.