Something about complexity, simplicity, and hope.

Published: (March 11, 2026 at 05:16 PM EDT)
3 min read
Source: Dev.to

Source: Dev.to

“An idiot admires complexity, a genius admires simplicity.”
— Terry A. Davis

From Complexity to Simplicity

Having spent the last seven years in software development, I’ve watched mountains of distributed systems rise and fall. Talented engineers built layers of services on top of services, added meta‑services for monitoring, and invented tooling to keep the ever‑growing pile manageable.

I’ve seen Kubernetes clusters host a few static files, content‑management systems manage a handful of markdown documents, and custom registries distribute patches that should have been part of the published binary.

Eventually, many of these systems crumbled under their own weight, taking down downstream services that had no backup.

When I started, I admired that complexity. I even asked, “Have you seen JDSL? Like I said, Tom is a genius.”

Time, however, taught me that modern tech should strive for simplicity.

Why Simplicity Wins

  • Hardware is fast. A single well‑polished monolithic server can handle hundreds or thousands of requests per second without a cluster, CDN, or a fleet of stateless lambdas.
  • File systems are timeless. The solution for storing text and images has existed since the 1960s. Almost every server worldwide still relies on a standard file system (e.g., ext4, FAT32) and UTF‑8 encoding. A floppy disk from the 1980s formatted in FAT32 can still be read on a modern machine—something a complex WordPress installation cannot guarantee.
  • Long‑term compatibility. If humanity still uses computers in 200 years, they will likely know how to mount an ext4 volume and read UTF‑8 files. Relying on proprietary binaries or obscure CMS databases offers far less assurance.

For any data I consider remotely important, I prefer a standardized file system with well‑established encodings. The odds that future systems can read those files far exceed the odds that anyone will untangle a proprietary CMS dump.

A Minimal Blog Setup

When I first launched a blog, I used a free WordPress space. Overwhelmed by options, I cobbled together a solution that ultimately stalled—I was building a framework instead of writing posts.

Attempting to migrate my existing posts proved difficult, especially in a portable format. I switched to Ghost for its markdown‑first approach, but soon found myself tangled in a growing Vue.js project.

The breakthrough came after two days of focused work:

  • The site now consists of a few markdown files and a single HTML template.
  • A lightweight server (e.g., 5000blogs) serves the rendered pages.
  • No database, no input/output beyond a config file, the markdown sources, and the static template.

This setup can be moved to any static‑site generator, Obsidian Publish, or GitHub Pages with minimal effort. It provides basic blog functionality—tags, automatic content updates via Git, and full‑text search—without any JavaScript. When a visitor loads a page, the server responds with a single static file, leaving no trace of the request.

Conclusion

Simplicity isn’t just an aesthetic choice; it’s a pragmatic strategy for reliability, longevity, and peace of mind. By stripping away unnecessary layers and embracing timeless tools like the file system and markdown, we can build systems that endure far beyond the fleeting trends of modern tech.

Anyways, I am me, and I am here now. Hello.

0 views
Back to Blog

Related posts

Read more »