Rebooting the blog

It's time to dust off this blog and give it move love! As a first step I revamped the infrastructure behind it to get more comfortable with editing and deploying the blog.

Previously, the blog was built with Jekyll, hosted in Google Cloud Storage Bucket and served with Cloudflare CDN. It had the benefit of fast load times and simple https certificate management, but the deployment process was far from ideal and involved manual rebuild and synchronization of folders to the cloud bucket.

Since I've relocated most of my git repos to Sourcehut, I decided to try sourcehut pages for hosting. This turned out to be extremely easy to set up thanks to an excellent guide in Zola documentation.

Overall, I'm quite happy with the new solution. It's easier and faster to deploy and also looks simpler from development perspective as I don't need to worry about version of Ruby and various plugins necessary in Jekyll.

Building a compiler

I finally decided to embark on the journey of building a real compiler to better understand how various pieces work under the hood. I'm particularly interested in error reporting, intermediate representation and code optimization.

I'll be following the guidance from Crafting Interpreters online book which so far proved to be quite easy to follow and full of fascinating facts from programming history.

I'm planning not to follow the steps in the book too closely but rather pick the way that I feel makes most sense to optimize my learning and venture deeper into the topics I consider interesting. The first such change is using Python instead of Java for the interpreter implementation. As far as I can tell, this shouldn't be a big deal, but I hope it will help me to get a bit more familiar with Py3 and modern tooling like static type checking.

As I go through it, I want to share some of the detours I'll be taking on this blog, so stay tuned!