Website Tech Stack

19 Oct 2025, 18:14

Rationale

The website’s tech stack is informed by my design philosophy. My main aim is to have a stable, yet high-quality environment for writing content that I can share, and will last for decades, online.

Technology

There are few technologies more Lindy than Emacs, so this blog is written and built purely with Emacs Org mode, and a small configuration script, written in Emacs Lisp. Org is a superior markup language, for short and medium-length articles. I prefer my long-form writings to be self-contained, and portable, so I would continue to use LaTeX and Typst for anything of the sort.

Atom Feed

It seems that the popular choice for generating a syndication feed for blogs written with Org is to use ox-rss. This would add significant complexity to the blog, not to mention a dependency outside of core Emacs. To use ox-rss, I would need to massage my list of posts into the particular format it expects, so I have written a custom Atom feed generator myself. It is not intended for general use, but you can have a look if you like. It generates an Atom feed as a sitemap.

I have chosen to use the RSS logo (feed-icon.webp) to represent my feeds, despite the fact that Atom has its own, much cooler logo. Unfortunately, the Atom logo is much harder to recognise at the small size I would want to display it, and less well-known overall, compared to the RSS logo.

Hosting

The sources for this website are in a public GitHub repository, and the site itself is currently hosted using GitHub pages. Past forms of this site have been hosted on:

  • Neocities (limited configuration),
  • a Raspberry Pi (low uptime),
  • my university CS department’s Linux server (no longer accessible),
  • GitLab pages (too slow).