Site update: 2022 Edition
Longer term readers of this blog probably know this already, but the website that this blog is a subpage of hasn't exactly changed much over the past few years. Small content updates here and there did happen, but nothing major.
About a week ago I started completely rewriting the website in ASP.NET for a variety of reasons. First and foremost, the old site was a mess of handwritten HTML with a bit of PHP thrown in, which was completely fine for the original use case the website had, which was a simple index page with exclusively static content. Over the years the annoyances and jank caused by this setup increased quite significantly, especially as I added things like the blog (the one you are reading right now!), the travelynx integration and the dynamic footer.
What caused the rewrite project (that I had been planning to start for over a year) to finally happen was the idea of a now playing page inspired by those a couple friends started to maintain. This idea quickly snowballed into a complete rewrite because of technical limitations of the old website codebase, as well as the usual ADHD project flow we know and love.
The rewrite
After finally getting started with this project, it went along relatively quickly, albeit with more of a "lots of rapid progress interrupted by hour-long tiny problem debugging sessions" progression. Quickly realizing that most of the work needed for a complete site rewrite would already be implemented if I just finished the now playing bit, I started reimplementing all of the pages the old site had to offer in the new ASP.NET codebase and started preparations for deprecating the old site.
Initially, I didn't plan to rewrite the blog part and instead move it over as-is, but a couple friends convinced me to try a Markdown renderer and it turned out to be one of the easier parts of the rewrite. Polishing it to work exactly like the old site was significantly more difficult however, though I suppose this is expected with a somewhat nontrivial software project.
I also finally got to use a lot of nice features I had read about in the last couple C# language version changelogs in this project, which was refreshing. I really like the direction the language is taking, even though I know this is a rather spicy take. People have been trying to get me to learn Rust for a while now, but I've not managed to catch on to that just yet.
The old travelynx.txt file (for displaying train travel & location information) was replaced by a SQLite database, which was also used for the now playing page that needed some kind of data store. Currently said page isn't entirely complete, as I've not found a good way to import Apple Music listening data just yet (even though that's how this whole project started) as the beautifully named Music User Token (I apologize for my cynicism) expires after less than 24 hours. If I eventually discover a good way to make this happen, or I find myself using another music medium with a solid data feed, I will of course try my best to integrate it into the page.
The new site, in addition to having a couple new features (see below) and a significantly improved backend, also has subtle style improvements across the board in order to make the whole site feel a bit more personal and cohesive. Overall I am unreasonably happy about this project. Not because it's anything groundbreaking or impressive, but because my website now feels substantially more like me, like my homepage, my little corner of the internet. And I'm proud I finally got to that point. If you have feedback on any of the new or changed things, please contact me!
Some of the smaller changes include:
- Proper breadcrumbs in the header
- Functional warning if connected via IPv4
- JSONFeed & Atom support for the blog
- Finally, after however many years, a favicon