Hi, I'm Thom



Hi, I'm Thom and this is my blog. Blog entry number one! Woo! He lied.

Okay, this is far from blog entry number fucking one. The amount of times I've restarted and thrown away a bunch of old content... My first ever blog was on MySpace, I think. Fucking MySpace! I don't think that profile exists any more. I am constantly surprised that MySpace itself still does. But anyway...

I'm Thom, and as far as it matters this is my first blog entry... again.

Once upon a time, I was a writer, sort of. I studied film and TV production at university with an emphasis on screenwriting. I have twenty completed screenplays which I... won't immediately post the link to, because I'm still working out the kinks of this website. Because that's what I do now: I'm a kink-worker-outer, better known as a software developer. And being a software developer means driving myself crazy as I build, change my mind, and build again my own websites and projects. I'm trying to stop doing that. If you're reading this three months from now, then I guess I finally stopped changing my mind. I think I have, y'know... I've explored a lot of options and decided that I do like this approach the best.

See, as a software developer building a website, there are so many options available to me. I could use a full CMS like WordPress or Drupal. I could use a headless API like Contentful or Ghost. I could use a purely static CMS like Jekyll or Hugo. Or I could use some mix of any of these things. That's sort of what I've decided to do. In actuality, this is a purely static blog now - the content files are written in Markdown and they live in the same space as the site's code itself, in the source files. But I'm using Nuxt.js to achieve this, which only recently introduced the full static option via the Nuxt Content module. It also supports generating a static site from API content, such as would result from Contentful, Ghost or headless WordPress. I even played with making Hugo, a static site generator, act as an API by having it output purely JSON content. There are benefits to that; as a static content generator, Hugo has a far more robust and powerful set of tools at its disposal than Nuxt does. But as a static site generator, generating all of the good stuff that goes along with content on a website... Nuxt edges ahead, and by default allows me to explore its functionality as a single page application too - meaning it could run more like a fancy-pants interactive app than a website.

So, yeah, uhmmm... What I want is Nuxt's powerful interactivity and source-agnostic content support, and that's why I've gone this route. I do hope the content module sees some attention and takes inspiration from Hugo, though, if for nothing else than to add support for something like Hugo's GitInfo object, which is a great way to see the edit history and easily nab a last edited date so you can display when content was last updated. This was possible with the Hugo API approach, but I've ultimately decided that I want my content in the same repo as my site code - one of the many benefits of a static site approach.

And I want to get back into writing! Clearly, I can ramble on about the intricacies of choosing a fucking website build approach, and I can spend a very long time indeed bouncing between them, but I want to start writing again dammit! I want to... document and write helpful articles about software and website development. I want to write opinionated pieces about movies, games, philosophy and fucking politics! And I want to write fiction again; it's been far too long.

So hi, I'm Thom and this is my blog. For realsies, this time.