It would be a really simple task to manage all these preferences if you used a "Prefer/Avoid" strategy.
Not being a perl whiz, I've looked at a lot of the code, and wish you luck. But I would like to recommend a possible implementation idea:
Foreach <section>: [Prefer | Avoid | Default]
All sections which you tag as "preferred" will be displayed on your front page. All sections tagged as "Avoid" will not be shown on any pages, and not shown in the mod-queue or search results (similar to the way diaries are handled right now). Default means that there are no special handlings of that topic.
This will allow diary fiends to set "Prefer: Diaries, Avoid: all-else" as well as the "I want it all" people to say: "Prefer: everything but diaries, Avoid: Diaries" to the programmer who says: "Prefer: Technology, Avoid: All else". I also think that Diaries should be removed from their special-case status, and instead moved to a system like I've described above.
If anyone else can offer a good strategy, or post ideas on why this won't work (from a technical, or user-interface standpoint), go ahead. And if you like it, mod it up ;^)=
--Robert (whoring for mojo ;^)=
[ rate all comments , for great justice | sell.com ]