My latest rebuild

Seventh time is the charm. Why I rebuilt my blog site for the 7th time and it's only the beginning.

Ok, so 7 may seem like a lot, but I should add that's over the span of 10 years or so. Since I first started programming I have always built a blog site unknowingly to learn a new language. At the time, my intention was to create a practical example of my new learnings as I thought it would be easier to maintain something I was currently learning. Ever since my very first blog site is written in Java using Servlets I have never looked back!

Fast-forward a little while, I updated this "dated" site to Java Server Faces, and in my opinion bleeding edge! My enthusiasm for Java declined over the years and Python became the new cool kid on the block. In particular, Django became the new flavor of the month. This blog site was my most extensive yet, complete with a full working backend, practically a mini-CMS. I even hosted on Heroku, my first running app in the cloud.

Soon afterward my professional experience started to influence my blog sites. I started working a .NET CMS shop, and I know what you're thinking! But no, I didn't take advantage of the CMS available, instead, I wrote my own fully managed CMS in the exciting new world of .NET. I studied Java but working with .NET opened up a whole new world I didn't know about. This was possible because of license fees as there was no Community edition and hosting was much more expensive. Staying on the .NET theme I came to the realisation that decoupling the Backend from the Frontend would be a good idea and allow for more flexibility. Web API for the backend and a thin .NET client for the frontend achieved this. Securing the connection between frontend and API was an unforeseen challenge, but a valuable one none the less.

I took my foot off the pedal for a little and didn't update my blog site for a long time, then came the big idea to move to the other side of the world. My thinking was to create something simple with minimal updates required. As I went traveling for a while with no access to a laptop, I needed to be able to use a tablet to make any updates. That's why I choose to go with Drupal, yes not exactly the most tech savvy I have ever made, but a robust decision which fitted my needs at the time. Do I regret it? No, I've used Drupal many times for client's sites, but the fact that I hadn't kept up-to-date with my blog meant sacrifices needed to be made.

That brings us nicely into 2017, and the main debate was between Vue.js or React.js. Both are great choices and would have solved my problem but I decided to go with React. I had a little bit of experience with it before, but I felt I was falling behind by not getting my hands dirty with it. The other factors which impacted this blog site was how to store the content and where to host. Long story short, I decided on Firebase to handle the content, if you have never heard of it, it's a real-time data store. Very simply it behaves as a backend and NO-SQL data store. As for hosting, I've used a couple of cloud platforms without really testing AWS out. That was my main driver behind using S3 and CloudFront to host the site.

Going forward I am going to make a greater effort to ensure I keep my blog site up-to-date. Not just in terms of content, I have been very guilty of that, but in terms of technology. Sometimes it's easier stay on the cautious side of technology and let it prove itself, but why not prove the technology for yourself instead!

I'll write up a full description of this site soon, stay tuned!