I like to see the way Iā€™m writing this website like writing software. Perhaps this is an example of ā€œIf the only tool you have is a hammer, you tend to see every problem as a nailā€, but it helps me reason about how to approach it.

There are 3 principles Iā€™m using while writing software that are also applicable to how I write for this website:

  • Single Responsibility Principle
  • Continuous Refactoring
  • Build incrementally

Single Responsibility Principle

Or Principle of Atomicity as it is called in Zettelkasten, means to me that each page should have a single topic and each topic should have a single page. This closely ties to the Single Responsibility Principle where a module should have a single reason to change.

Continuous Refactoring

Iā€™m convinced you should refactor your code much more than you think. This reasoning also applies to this website. You learn new things throughout time and those new learnings can lead to better structure or phrasing. Each time something is rewritten, it will become a more coherent part of the website. This website is more of a living collection of documents than a static list of articles.

Build incrementally

Instead of doing a complete deep-dive on one particular topic, I prefer writing a little bit about a topic and shifting focus once my interest goes down. If itā€™s important or interesting enough, I will come back and iterate on the topic. Itā€™s a way to prevent me from ā€˜over-engineeringā€™ specific topics, but it also helps keep it interesting and engaging for me.