The weekend did not quite go as I expected, which is what I should expect. I'm finding it very hard to figure out how to be a dad, husband, entrepreneur, full-time worker and generally responsible adult all at once (who also has fun now and then). I suppose that's a post for another day! Saturday was kind of a bust, in part because I just felt so worn down and tired.
I did solve two hard, or at the very least involved, problems. The first was the bit I mentioned Friday about sending e-mail to users who subscribe to a forum topic. By itself, that's not hard, but there are so many underlying things it has to rely on, like sending e-mail to a queue, formatting the mail, making sure you don't get more than one since the last time you viewed the post, etc.
Today I snuck in just enough time to get forum filtering done in a way that performs reasonably well. We have forums that are private, so you shouldn't be able to view them. I finished up the logic for that for individual forums a long time ago, but I never got to stripping them off the home page, or keep them from appearing in lists like the recent topics, search or topics where a user has posted. I think I beat those in a manner that's better than last time around, with a combination of caching and better querying. We'll see how it goes in the wild.
Most people will never appreciate how much work really goes into this stuff, so I only have myself to find it gratifying. Fortunately, this particular stuff actually lends itself well to a number of work items on the list, so perhaps things will move faster going forward.