POP Forums XX

posted by Jeff | Monday, December 11, 2023, 1:00 PM | comments: 0

Last weekend, I released version 20 of POP Forums. I've been at it for 24 years, and I've got the version history to prove it. There are few things in my life that have been consistently there for that long. There have been a few minor contributions from others, plus the language translations, but it's otherwise been mostly me.

v20's biggest new feature is an OAuth-only mode, meaning that identity is completely delegated to an external system, for a private forum that has only people from your organization in it. Over the years, people have adapted it to do this, but I figured that since it was already doing it with Facebook and Google, this was the next logical step. Beyond that, it uses .NET 8, replaces Moq with NSubstitute (because of drama), and a ton of library and package upgrades.

Open source projects are kind of a mixed blessing. On one hand, you get to work on something that you care about, and probably fill a specific need that you have. On the other hand, it's often a thankless job. Sometimes I get an email or note thanking me for the work, but like anyone, I also get the, "Why doesn't it do this?" comments with no offer to help.

When I first started PointBuzz and CoasterBuzz around the turn of the century, I was pretty green in terms of any kind of development beyond HTML, which isn't really "development" in the sense of software. I added Ultimate Bulletin Board, a Perl-based app, to the sites, as the core of my community. It was written by Ted O'Neill, who answered the support emails himself, and I found that to be inspiring. UBB was, in my eyes, the first widely deployed web-based forum, and it invented paradigms still used today. I had no idea what I was doing in those days. I had a desktop app from Microsoft called FrontPage, that with certain extensions installed on the server, allowed you to live-edit files on the server, which was torturously slow over a modem. The idea that I should have source control and work locally was foreign to me.

At the time, I was working at Penton Media, which would eventually die under the Internet media revolution, and my job was to spin up new sites for the supply chain group in conjunction with the corporate development department. They did some really cool things with customization for content and directories (the primary product was B2B magazines and trade shows), and it was something that no one had really seen before. It was software online. With most people using modems at home and no such thing as smart phones, it was hard to envision ubiquitous connectivity, but this was all built on the idea that it would eventually be real. I started to think about how it would be cool to have a database full of news and roller coaster information, and ways to "favorite" it in your own portal, much as these B2B sites did. The third-party building the stuff was using Microsoft's Active Server Pages, so that's where I started, moving on to ASP.NET a few years later.

I wanted control of the forum app so I could do all of this integration across different site features, and that's why I originally built my own. At its most basic core, there are only four entities in a forum: users, forums, topics and posts. So I started down that road, and even sold the first few versions. They were filled with SQL injection vulnerabilities and what not, because I didn't know what I was doing. Over time it hardened, flipping to ASP.NET Webforms, then MVC, then Core, and today it's mostly running on Linux containers with ElasticSearch, Redis and blob storage optionally supporting. And it's crazy fast.

This web application pretty much follows my career as a software engineer, to the extent that it's the genesis of it as well as the result of its progress. I have certainly thought about identity in the professional sense, and it's kind of odd that I don't associate it with this, at all, despite being my only (and likely best) long-running achievement. I've paired my professional identity with various jobs instead, even though I'll only forget over time what I did in those roles. But this app, it will always be my thing, and like the book I wrote, something no one can take away. Maybe I should lean more into that.


No comments yet.

Post your comment: