As the wrangler of the reconstituted "Top Mojo" feature of the daily "Top Comments" diary series, I am often called upon to
defend explain how it works. This diary is an attempt to memorialize that need for an interested audience, soooo.... if, sometime in the future, you publicly rant something along the lines of "Why the @(&# didn't my most awesome comment in the history of the blogosphere make it into the Top Mojo list?!?", then you've hopefully been pointed here, where the answer likely lurks below the little orange sponge thingy:
Q: Why the hell didn't my comment make the list?!
A: I don't really know, but there are a few likely explanations. Try them on for size and see if any fit your circumstance (in order of likelihood!):
- The current Top Mojo is for a different day than you posted your comment.
- Your comment didn't have enough mojo to make the list when Top Mojo ran.
- DailyKos search was broken when Top Mojo ran.
- Your comment couldn't be Searched.
- Your comment was dropped from consideration because it didn't pass the comment filter.
Q: Hmm... Hey wait a second! There's a comment filter?!?
A: Yes, but I'm not going to talk about it until later, in the (probably futile) hope that you'll read the explanations of the first four, because chances are darned good that if your awesomely mojoed comment is at all legitimate, one of the first four is the reason it wasn't in yesterday's list.
Q: Okay, So what did you mean by "Top Mojo is for a different day than I posted"?
A: Today's Top Comments always has Top Mojo for yesterday's comment history: If you posted your comment today (calendar day as defined by EST time zone), look in tomorrow's TC.
Q: My head hurts. Why would you do that?
A: Top Comments is posted daily at 10pm EST, but (obviously) is usually written somewhat earlier. For purposes of discussion, lets assume the TC diarist finished writing at 8pm EST. If Top Mojo looked for today's comments, that would mean at minimum 4 full hours of comments that could never show up in Top Mojo because "today" wouldn't be a full day, no matter when you might be reading TC.
Q: Huh? I mean, why is that?"
A: midnight to "now" is only 20 hours at 8pm. In practice, the script runs at 6pm EST to give the diarist of the day time to ping me if search happened to be broken then, so that I have a chance of re-running it before publication time.
Q: No, I mean why don't you run Top Mojo to look for comments in the last 24 hours instead of today/yesterday?"
A1: because DailyKos search doesn't let you specify time-of-day. Don't believe me? Go ahead, I'll wait.... (tapping fingers)... See? Told you so. Yes it is, frankly, amazing that search doesn't support time-of-day. Yes, "they" are aware that it isn't implemented. No, I don't know why it wasn't a gimme. No, I don't have any special access to the database and can't easily hack around the missing feature without raising other issues (see below).
A2: Even if it could search based on "last 24 hours", you wouldn't want to use that as the basis of Top Mojo. Consider your next most awesome comment ever that you happen to post 1 minute before the script runs: by the time you read Top Mojo tomorrow (remember, TM is for the day before the TC it appears in!), it has 37298 recommends, but when the script ran, it only had 2.
Q: Alright, but I (and Markos!) live in California, why are you talking about Eastern Time constantly? My day doesn't match, and I see DailyKos all in PST! Why do you hate the rest of the country/world/time zones?
A: The dailykos search engine doesn't let you specify time zone, so it uses the time zone where the computer is physically located - New York, last I checked. If the DailyKos team moves the servers to a different timezone without changing software, the Top Mojo "day" will move accordingly.
Q: Okay, I get all that. But I posted last night before midnight EST and it still didn't show up in today's TM!
A: What sometimes happens is that the mojo changes significantly, sometimes enough to bump a comment into the TM list, after 6pm EST. Sorry.
Q: Can you redo it just before posting?
A: Sure. Convince the TC diarists. Seriously: there's no technical issue here, but rather a risk of abuse of volunteers issue. The current schedule works pretty well most of the time, but if the TC diarists would be willing to hold off until the last instant to pull in the TM HTML, then TM is there to support them.
Q: What about posting a longer list so that more comments with great mojo are caught?
A: Sure, though the current number matches the old TM system (30 comments, more if there are ties for 30). Personally, I think fewer would be better - maybe top 10 - but whatever. One issue is that if you need more than 50 comments to fill your 30 slots, the script needs to run multiple searches which have to be spaced out to avoid the Denial Of Service attack filters and increases the chances of something bad happening a bit.
Q: Something bad? what does that mean?
A: Here's explanation 3: Sometimes the site goes down. If a human clicks on a site and gets a blank screen, she says "huh, how 'bout that?" and reloads. If a script sees a blank screen, it can be more complicated. Here's the thing about programming (and the TM is a small program, after all): you need to imagine all the things that can go wrong that you care about and plan for what to do about them in advance. In practice, well, we're talking about a minor feature of a community diary, not a mission to Alpha Centauri, so the "what you care about" is pretty small - when something breaks, I take a coffee break from my job and try and fix it. Usually when the site is down, or even just search, the result is an empty Top Mojo. Sometimes when the diarist finds out early enough, I can kick the script manually or somesuch and you might never notice, except that since the actual run time is different, the results might be a little different than you might expect.
Q: But Big Orange was just fine all day (including yesterday at 6pm EST!), I promise!
A: It doesn't take much to screw things up, but even so, the DailyKos search function is somewhat... fragile. Sometimes the site is just fine, the diary search is just fine, but the comment search is hosed. Sorry.
Q: Well, what about the secret "comment filter"? What's that all about?
A: Tip jars. Top Mojo tries to avoid including comments that are obviously tip jars. The aim of Top Comments (and thus Top Mojo) is to draw attention to really good comments that you might have missed in your busy day. Tip jars aren't (usually) comments, they are ways to give feedback to diarists that they did good... a nice thing to track for sure, but not what TM is about.
Q: So how do you filter out tip jars?
A: sorry, I'm not putting the rules here - there's nothing that you would find surprising and I'm sure you could guess most of the handful of rules in less than 10min, but I do adjust them every once in a while and don't want to have to maintain this FAQ or risk the wrath of someone who is taking it too seriously.
Q: What was that about unsearchable comments?
A: Top Mojo results should be accessible for all readers, so the TM search is run as an anonymous reader. Among other things, this means that comments in deleted diaries, and hidden comment chains will not appear in Top Mojo.
Q: anything ELSE you aren't telling us?
A: not really, though I'm sure I've forgotten a few cases (and will stick them above this question as they arise)
Q: I have a great idea! Why don't you implement (insert idea here) feature?
A: The snarky answer would be "knock yourself out," but I'd love to hear ideas that make it all easier to understand and/or more useful and/or less prone to errors. So, feel free to comment, email, whatever.
Q: But my most awesome comment ever that didn't appear in Top Mojo isn't covered by any of those!
A1: Sorry, shit happens.
A2: Don't you think you are taking Top Mojo a little too seriously? It isn't like you get a prize or a badge on your avatar!
A3: If you reeeeeally care that much, send me the link to your long lost comment and I'll research it. If it I can figure out what happened and it isn't covered by one of the above cases, I'll fix the script and rerun and you can try talking the diarist into updating the mojo for the day.... If it does turn out to be one of the above, you can buy me a beer at Netroots.
A4: here, have a Top Mojo sticker!
Good night, and thanks for your attention!