This website

Since 2006 I’ve had a personal website; though I think I’ve spent 10x as much time writing blog engines or themes as I have writing blog posts! It took me a long time to settle on a platform where I feel I can be productive without having to fiddle around too much with content management.

Technology

This hugo powered website is optimised to load lightning fast using:

I write articles with neovim, validate with VNU validator, spellcheck with typos, lint with eslint, stylelint and proselint. All automatic, of course.

Theme features

Post-processor features

My CV is generated from a YAML template using Hugo and LaTeX with Jinja2. Optimised for file size with ghostscript, cleaned with exiftool and qpdf.

This website and CV is built as a nix derivation.1


  1. Phew! That was dense technobabble! ↩︎

How I blog

  1. Set main headers/sections
  2. Collect photos and screenshots, often using the favorites feature on iOS
  3. Automatically insert them into the article with a script2
  4. Organise images to sections
  5. Write a section at a time, any order

  1. This ended up being the key to actually getting articles written. Handling images is otherwise a pain. I also have a hugo shortcode to handle image resizing, captions and encoding. ↩︎

  2. And my minimal, highly responsive theme to focus on the content ↩︎

  3. That’s how I get all my projects done really – gradually. Sometimes I will dedicate a weekend to get DIY projects done. ↩︎

History

My first website, 2005. Complete with guestbook!
My first website, 2005. Complete with guestbook!
2007, part of a network of sites
2007, part of a network of sites
My blog, circa late 2007. My articles have improved since then!
My blog, circa late 2007. My articles have improved since then!
My SPA blog, circa late 2012
My SPA blog, circa late 2012

Since 2020, this website is made from scratch with hugo with a focus on typography, quality UX and SEO. Anything off-the-shelf or modified never quite felt right.

Projects

Writing a blog post is a great way of finishing a project. It forces me to conclude, limit scope and have something to show for it.

I publish when I feel I have innovated, solved a problem or spent time trying to understand something.