A bit of history
Wordpress (circa 2008)
This blog started around 2008 when I moved from France to Montreal and wanted to document some of my technical findings and explorations. If I'm not mistaken it started as a pretty standard wordpress blog.
Django / Angular (circa 2018)
After years of abandon, the blog itself wasn't even online anymore. I had stopped maintaining it and decided to just shut it down but still had the database files lying around. One day I decided to dig it up, I restored the files, extracted the content and got to work on a new blog.
Since I wanted it to sort of be a showcase of... something (web development skills I guess) and having played with Angular and TypeScript recently, I decided to overengineer it completely and have a rest API (written with Django Rest Framework) that serves an Angular frontend. It worked decently and was somewhat interesting to develop, but my interest is definitely not in Web programming.
You can find the backend and frontend on my github.
Attempt at a Rust rewrite (2024)
Being more and more enthusiastic about Rust, I was looking for projects to work on in my spare time in order to hone my skills.
Naturally, rewriting the blog once again came to mind so I started checking out the different frameworks available. I figured I wanted to just replace the backend rest API so I ended up picking Loco which seemed to have a similar philosophy to Django in the Python world.
Rewriting the API using Loco was pretty straightforward and fast so I set out to write an admin text user interface. I had read about ratatui and wanted to test it out. I wrote a pretty functional TUI and figured I would deploy the whole thing at some point... But I never got around to it.
You can find the loco api and the admin TUI on my github.
Finding Zola
For a while I had been contemplating not using an overengineered stack to host my blog and starting from the Django/Angular rewrite I had stored my posts as markdown which was rendered to HTML by Angular.
So when I came across this blog post I got pretty excited, Zola seemed to be exactly what I had been looking for : something that takes a bunch of Markdown files and creates a static site out of it.
After looking at the docs it seemed to be even better than I thought : it could handle tags, archives, search, etc. (oh ! and it's written in Rust of course !) I was sold : I'll get rid of my overly complex Django/Angular site and just use Zola.
My migration tool
Having looked at the docs I figured that migrating would be a breeze since I already had all my posts as markdown. I just needed to extract them to files and add the header that Zola needs for its metadata.
So I wrote a little tool in Rust that gets the posts from the Django API, creates the header and writes one file per post. A little over 100 lines of code later I had fully functional CLI, with arguments that could output the files wherever I wanted. I used the occasion to explore crates that I hadn't used before (namely reqwest, serde and toml), it was a blast.
You can find the converter tool on my github.
What next ?
As you can see I hadn't written anything in this blog in the last 10 years. My hope is that this new solution will be low friction enough for me to start posting again. I want to write a series of articles about my journey reverse engineering the fingerprint reader on my laptop which involves Ghidra and writing a Linux kernel driver.
Stay tuned.