Welcome to my new website! 🎉

As I sit here writing this first blog post, I realise it’s an incredibly uncomfortable thing to do. Maybe that’s why most people don’t do it. It’s interesting that when I asked chat GPT to write an introductory post for me, the result it spat back sounded “correct” but at the same time, inhuman, and nothing at all close to the voice I would use. So as you’ve probably worked out already, this isn’t the writing of chat GPT 😅

In setting up this blog, I went searching for existing blogs that detail their approach to deploying Hugo but for every gem I found, there were 10 more copypasta’s of the hugo deploy doco or Amazon’s guides to hosting a static site on S3/CloudFront (these pages helped greatly to deploy my own site). At a later stage I plan to write a bit about my process, why I chose whatever I did, what advice I have for people embarking on the same journey. Basically, I wanted a place to discuss and show off my little projects but I’m not going to pretend to know everything either.

The tech stack

If you’ve gotten this far, I salute your efforts soldier 🫡. Below I have a summary of what I used to build this website and what I plan to build in the future (both topics I’ll discuss further in future posts).

The present 🎁 - What I am currently using to build, maintain and host this site:

  • Hugo for generation of the static website files from easily written markdown content
  • Amazon S3 for storage of said files in a cost effective fashion
  • Amazon CloudFront for serving up and distributing those S3 files via fast and secure means

Then on top of those foundations I use:

  • Git for source control with a github repo
  • A tmux session named hugo on my Linux server for keeping the work I’m doing on the project all in once nice ‘portable’ (accessible from many devices/locations) place
  • Neovim for writing and editing the site content
  • Microsoft Edge to provide a live view of how all my unpublished changes look

The future 🔮 - Where we are headed

So right now there’s some big things I see as missing:

  • CI/CD: I want git push to the main branch then watch changes go live. Right now I have to do the extra steps of hugo to build and then hugo deploy - So many steps! Gross!!! 🤢
  • Monitoring: If things break I won’t automatically know about it 😨
  • Spell checking: I’m sure Neovim can do this, but I’ll have to figure it out.

How I think I’ll solve those:

  • CI/CD is probably best solved with AWS Amplify or GitHub Actions (or similar), but I think I’ll try solve it with Jenkins first and then play with some other options.
  • Grafana has been great to me in the past so I’ll be giving that a crack again combined with related tools in the Grafana stack.
  • Some sort of Neovim setting or plugin I guess, a quick search found me the command :setlocal spell spelllang=en_us but I don’t really like how that’s formatting things so I’ll revisit this problem later.

Obligatory outro

I couldn’t finish on that last dot point so I guess I’ll finish where I began, by getting meta again. This first post was hard because I felt a need to be personal before diving into the tech stuff, the tech section was easy. Now I’m in messy territory again, no longer able hide behind the cold safe shield of technical things. Help 😰

There’s a life lesson here I think. Focus on the technical things, leave feelings and human expression to the artists. Yeah, that seems healthy 🤔 Joking aside, future posts I should be able to just dive straight into technical stuff so those should be easier for both you and me 😅

Coming up next, Grafana! See you there 👋👋👋