On Simplicity

Simplicity is not the absence of complexity. It is the result of resolving it.

There is a difference between something that is simple and something that is merely empty. A blank page is not simple — it is unresolved. A haiku is simple. It took effort to get there.

The temptation of accumulation

Software is particularly susceptible to this. Features compound. Dependencies accumulate. Configuration files multiply. Each addition feels justified in isolation. Together, they form something no one fully understands anymore.

I notice the same pattern in writing. The first draft is bloated — every hedge, every qualification, every aside that felt important at the time. Revision is the work of subtraction. You cut until what remains can stand on its own.

A heuristic I use

When I am unsure whether something belongs, I ask: would removing this create a problem?

Not "would removing this be worse?" — that bar is too low. Almost anything is better than nothing. The question is whether its absence would create a genuine gap, or merely a slightly less crowded space.

Most things fail this test. Remove them.

On this blog

This blog is an exercise in that discipline. No sidebar. No tag cloud. No "related posts." No comment count badges. No social sharing buttons.

Just the text.

The stack that runs it is similarly constrained:

# wrangler.toml
name = "mini-blog-worker"
compatibility_date = "2025-01-22"
compatibility_flags = ["nodejs_compat"]

A Next.js app deployed to Cloudflare Workers. MDX files in a content/posts/ directory. No database for content — just the filesystem. A D1 database sits ready for future comments, but is otherwise unused.

The code to render a post list is about thirty lines. The code to render a post is about forty. I can hold the entire thing in my head.

That is the goal.

Simplicity as a process, not a state

You do not arrive at simplicity and stay there. Complexity grows back. Needs change. Dependencies drift. Simplicity requires ongoing maintenance — the willingness to revisit, to cut again, to resist the pull toward addition.

It is less a destination than a direction.


Keep subtracting until it hurts. Then subtract a little more.