What is this?

This is my third attempt at creating my personal blog. I always wanted to document my personal projects/findings and have a personal space where to store everything. So here's what happened:

TL:DR; I overcomplicated easy things, and this led me to complex structures that needed too much maintenance and that eventually died. RIP Blog#1 and Blog#2.

Attempt #1

Once upon a time, after registering my domain, I found out about the Ghost platform: the project looked (and still looks) incredibly cool so I decided to give it a try. I created my first droplet on Digitalocean, linked my domain to it and followed the instructions to get Ghost up and running.

I wrote a few articles, and they performed quite well in the next 6 months or so. I eventually ran out of ideas and side projects, mostly because I was still attending University and trying to get a degree. So everything started to fade away, and slowly, the blog became silent.

Attempt #2

During the last years of Uni my collection of "potentially interesting" demos and side projects grew drastically and I decided my website needed an upgrade. So I destroyed the old and outdated blog, got a new version of Ghost, modified its server.js (pro tip: don't do it) to make it able to serve different demos on different endpoints.

Configuring this awful setup was long, horrible, buggy and definitely not worth the effort. I ended up with a weird configuration where Ghost was both responsible of the blog itself, as well as handling requests for all my sides projects, which were using static files. That was a bad idea. Upgrading Ghost was painful, keeping the structure became a nightmare which only grew my frustration even if I was able to distribute my projects and write articles at the same time.

Guess what happened? The second attempt failed, and the website drifted into a new era of darkness.

Attempt #3

So here we are. This is the third iteration of my website, and hopefully I will manage to keep everything tidy and well organized. This is the current setup:

  • blog.marcostagni.com : this subdomain is only responsible for the blog, which is still using Ghost as a platform.
  • marcostagni.com: the root will be used as entry page for my projects, linking to the blog. This will become some sort of "portfolio" or "showcase" of my demos
  • The domain is currently hosted on a Digitalocean droplet, with a nginx instance to handle requests.

Conclusions

Keep things easy. Do not overcomplicate an easy setup, and don't try to customize solutions that are already working: if you find yourself doing this, it means you didn't plan your project correctly, and you will end up in a rabbit hole with only one exit: a clean and fresh installation of the entire application.

Oh, why is it called "git checkout amster" ? Because I clearly can't type when I'm coding, and I end up writing "amster" instead of "master" way too many times.

Photo by Florian Klauer on Unsplash