November website updates

matt

November updates are out. This is the conclusion of the major features I intended to develop initially for this blog. Below is a summary of new features and fixes.

Comments

The comments system is built around comments on posts. It's built semi-generically so that it can theoretically be used on any component of the blog. That leaves room for adding comments to files one day.

Users can create comments, edit their own comments for a period of time, and delete their own comments for a period of time. This bit of comments pays some homage to the nature of HackerNews. There is no ranking to comments, they are listed chronologically in ascending order. I didn't see a reason to implement ranking since there are no comments at this point.

Comment moderation

A light moderation system so that comments can be managed quickly ith a decent fidelity signal. I can see things like the post someone responded to and replies to the original post. These collectively provide a decent signal. Comments can be hidden and annotated with notes about moderation actions.

Datetime fixes

Some readers may have noticed that it looked like I was writing posts at 3 am. As much as I'd like to be able to say that I don't need sleep and am up writing thought pieces at 3 am, I am in fact not! Thank you to those who reached out expressing concern.

The issue centered around a misaligned timezone normalization. Time is stored and displayed in three different formats:

  1. The server stores all times in UTC
  2. Editing interfaces display time in the users (my) local time but send time in UTC
  3. Pages that display content with time will display it in the readers local time

There was a misalignment in #2 which caused the time gradually drift forward based on my own timezone offset. It was a fun bug to debug that I eventually fixed by writing frontend tests, which I reluctantly did.

Going forward

I'm not aiming to add any new major features in the next six months. Instead, I'm going to focus on refining my workflows, patching bugs, and making an Atom/RSS system. The latter I don't consider a "major" feature because it's just a rework of my existing api.

I'll also be adding some signficant time into refactor and refining the code that I've built already, especially in the frontend. The components are organized well but could benefit from a focus on pragmatism.

This codebase continues to be a joy to work on and I look forward to continuing to build on this platform in the future. Thanks for reading!

Back to top