There were quite a few changes since last time I posted. The first and most important of all:

We jpdream.net now!

I was pretty disappointed last year I went to register a domain and jpdream.net for some reason wasn't available. As a compromise I had to settle for an org domain - not the cheapest, but certainly the least lame solution given what kind of domains are available today. My org domain expired on Aug. 18 and I didn't renew it. I kinda miss it, though - it was my first domain after all.

In early August after many trial and error I've succeeded in deploying this website in a three-node cluster. This is not something like a K8S cluster where you would set it up primarily to increase the processing power, here the goal is to provide high availability (HA). For a website this requires three things: database replication, filesystem replication and session persistence (so that every node knows about every session). Of these three database replication gave me the worst headaches, but after a weekend of deep-dive and suffering I finally sorted this out. I plan on adding an upgrade test to the CI, because even if the DB replication works it has a tendency to shit itself on cluster restarts and I have to rebuild it manually.

To say the site is complete is an exagerration, I still have at least two features in development: I started working on the doujin music aggregator I've dreamed about for ages. This is a fun side project since it involves website scraping, which I love. As a part of it I had to implement a Bencode (serialization format used in .torrent files) decoder from scratch to be able to view the content of some torrent files. I will definitely write about the torrent file structure in the future, because it's interesting and really unique.

The other major side project is a comprehensive CAPTCHA system that can present different types of challenges to the user. Among these challenges is a math one that gives polynomial integration/differentiation problems and a picture puzzle one. I also plan to do a mini danmaku style challenge in the future. The captcha is by far the most complicated component I've worked on: there are so much situations to cover, problems that span the frontend and the backend etc. Sadly, it also happens to violate the number one rule of this site, as it is JS-only.

In the upcoming two weeks I'll try and fix any remaining minor issues, before my first EE MsC semester starts. From then I'll have to balance school, work and that little free time left - I can already see the number of monthly commits to jpdream hit the floor.