2015-11-18 📅

I'm always excited when the time comes to renew my website! It's a great occasion to stop and think about what has changed since its last makeover, what things were successful and what not so much. To me, it's also a good time to experiment, study and learn something new. The last time I made and implemented my own fully modular JavaScript framework. It's been a rewarding experience, and I learned a lot from it. This time, I'm focusing less on JavaScript (in fact, so far there's no JavaScript at all) and more on UX and the backend part.

The major change is without doubt getting rid of WordPress. Even though the custom theme and template system I developed to use with it were pleasant to work with, working with PHP is definitely a subpar experience. I was already thinking about ditching WordPress a couple of years ago, but at the time I was more interested in JavaScript and the frontend part. I didn't care so much about the CMS used, so I chose the standard one.

This time it's different. But the decision hasn't been so easy anyway. I was unsure if working with a language I know well, like JavaScript or Perl, or trying out something new. I am particularly interested in Haskell and Erlang (Elixir) at the moment. However, even though I started reading about those languages and fiddling with them since some time already, I'm pretty much unable to write anything more complicated than a "Hello World", without creating a mess. So, I thought it would be better to stick with a language I know well, and concentrate my time on experiment with other things.

After evaluating various frameworks, I decided to try out Mojolicious. It looked awesome, and so far it really has been! After some days of experimentation, I was already writing my own custom renderer, minimal template format, plugins, and setting up all of the app automatically by reading an external config file. Not bad so far! As an added bonus, Mojolicious works with Unicode files by default.

MySQL is also gone. All the contents of this website are now stored in flat files, and I can update content by simply editing the file locally on my editor of choice, and upload the changes afterwards. The format used for the pages and posts is a stripped-down version of Markdown, with some additions like metadata and variables.

The frontend also saw some changes. The most noticeables being the lack of JavaScript (so far), and the use of simplified elements and graphics. I really love the work the Google guys did with their Material Design philosophy, so implementing a framework based on Material design was a no-brainer. That's why the site now uses Materialize. So far I really love it, and I especially like the proportional font size and the responsive layout system.

Another important change was the removal of anything that generates cookies, due to the recent application of the cookie law. It looks like to conform to the law when using scripts relying on cookies to work is not that easy at the moment, and there's still much confusion as to whether a particular service uses technical cookies or not. So for now I prefer to avoid using them and spend my time elsewhere.

As always, this website is a constant work in progress, as I tend to experiment and change things as I learn.

Get in touch! 😃