Pathfinding Page Now Available

2025-07-10

Heyo, just as a quick announcement, I’ve added a new page to the site dedicated to Pathfinding. My hope is to grow it into an entire section of the site, with detailed information about pathfinding algorithms, breakdowns and summaries of academic research papers, and links to other helpful sites with more information and demos, but for now it’s a giant braindump of information.

Of particular note is the table of papers at the end of the page. While not comprehensive, it does cover a number of major papers that have influenced the field and produced commonly-used algorithms. I’ve added some quick notes for each paper, as well as links to where you can view them without needing a journal subscription (one of the few things I miss about being a student; journal subs are expensive).

Microservices Are Not for You

Microservices are one of those concepts in webdev that has gained a life all its own, and is now considered a best practice by the industry, the preferred way to build new apps. In my experience, this is especially true for NodeJS developers, but it’s definitely not limited to them.

I disagree with this position.

What is a Microservice?

To keep things simple, we’re going to use a simple definition of microservice:

Linkding as a poster child for self-hosting

I recently installed LinkDing on my Nomad cluster, and I am exceedingly pleased with it.

LinkDing is a self-hosted bookmark manager. My setup is using the official Docker container, with a dynamic host volume to ensure the DB doesn’t go poof when I inevitably need to restart the task.

The core features that I care about are:

  • Official container, meaning I don’t need to build my own or rely on someone else to package up the app and build something that might not work properly
  • Documented API, allowing me to fold, spindle, and mutilate my data however I want, with whatever workflows I want now or in the future
  • Tags
  • sqlite database, which simplifies backups considerably
  • PWA for mobile, meaning I don’t need a separate app on my phone

Spinning up the container was extremely simple, and required almost no effort. It’s built in Django, which means if I really need to get my hands dirty, I have the relevant experience to debug and make PRs for it. The Django admin is also nice for fixing low-level data issues, such as “I really should have made these tags properly cased, I need to modify the tag name itself”.