Forever projects

matt

Before I was a professional programmer programming was much more of a labor of love. I built tools for IRC, mostly scripts and bots for channel management or novelty like slapping someone with something other than a trout. I also had some system utilities and scripts that made Linux work better for me. These days when I work on a project in my spare time it's usually to learn something new before I bring it to work. As I've advanced in software, though, I do have some projects that just don't go away.

Fun fact, you're staring at one!

Iterations

This website has evolved many times over the years. When I first started it was Drupal, then Wordpress, then something I wrote in Phalcon. When I started working in web development I moved my blog to a static site. A few years ago that static site became cumbersome and a bit of a disappointment; I found myself vexed at the fact that I can code and yet I chose Markdown and compilation logic. As I started to build a blog again I figured out why I'd switched all those years ago: I now knew better and thus I knew how much work it actually is to maintain a codebase much less one that's publicly accessible.

Since then, my dynamic website has been through more than a few iterations - of which you're staring at the latest! I learned through those iterations; namely I learned how to be pragmatic. At first I took on kind of ridiculous scope for a blog with respect to backend features. My next iteration leveraged a bunch of raw CSS written and overcomplicated by yours truly. This one makes use of Django-Ninja and Svelte in CSR mode with Tailwind. For my set of skills that was as pragmatic-yet-flexible as I could make a website.

Each iteration taught me something new. Unlike many other projects, this is one that nearly two decades on I have not put down.

Fueling the scope of forever

What I described is one form of forever project: one that goes through many iterations. If I'm being frank, this is likely the last big iteration of this blog; it's foundational technologies are not likely to change much anymore. I'm confident that isn't really the end of this experiment though because a good forever project comes from a deep seeded interest and layers of understanding.

At this stage in my career I have varying levels of experience in systems, databases, frontend engineering, and backend engineering. That's to say, my layers of understanding lend me to play up and down the stack rather than in one domain.

One obvious example of this concept already at work is that I've used Carta-MD as my Markdown editor before, however, before I didn't really have the skills or knowledge to make it something really useful to me. As I built this website I was able to quickly customize it into something that made me enjoy writing the way I enjoy writing in Obsidian.

My interest in writing a blog is pretty simple: blogs have everything. They require all the typical things a public application does like authentication and authorization. They have the possibility of a neatly composed REST API. They involve editors so you can dabble in lexers and parsers if you fancy them. Aside from technical aspects, blogs are also highly sensitive to information density and content organization. That's to say, anything can be built from scratch and customized to your hearts desire.

That's to say there's lots of room for exploration, even if nobody reads the screed you publish.

What's next for this blog

I don't know why, but I have this compulsion to build a threaded comments system. Yes, I'm well aware I'll also be building a moderation and spam detection system, but I was already on the hook for one of those when I built a sign up page.

Second, simply, is a lot of writing. In the last few years I've learned a lot about leading engineers in project work from my own failures and successes. I have some moderately pithy takes on frameworks that I'd like to spill ink on; spoiler alert: I actually do like them, but within reason.

Lastly, I'd also like to build a section for friends and family members to be able to share photos with them. We have chat, but there's something kind of cool about being able to give people permission via RBAC to view my actual life beyond TCP transferred UTF-8 representations.

Thanks for reading! :dark_sunglasses:

Back to top