Sometimes when I'm on SO I take a glance at the recent badges. Some of them are of course more interesting than others. The one that intrigues me the most is the Necromancer badge, and not only for its name ;-) I'd then like to find out which answer caused this badge to be awarded to this particular user.

But as this particular badge tends to be awarded to very active users with lots of answers and upvotes I find it hard to determine which answer actually earned them the badge.

Is there a good way to find this out? Would it be hard to implement a feature in the section for recent badges that takes you to the "cause" of the badge? Does anyone else care about this?

Addendum:

Ok, I just found this question where Jeff Atwood explains why this feature isn't available. I just wouldn't have thought that this is particularly hard to implement as you would probably need only one additional database column (possibly two, for a question or an answer ID). Should be nullable, as for tags like WOOT there isn't a "cause ID". But then, I'm just guessing as I don't know anything about the data model of SO.

Still, I'd like to have that feature...

share|improve this question
add comment

3 Answers

There isn't a way to find out the cause for your own badges, so for other people? no.

And I share your pain; I now have 3 necromancer badges, and I have no clue what for. Some common causes:

  • on meta, old migrated posts tend to lead to necromancer badges
  • questions that get merged can lead to necromancer badges due to an oddity
share|improve this answer
    
Is there a deleted question of yours at this question? stackoverflow.com/questions/72394 –  random Sep 11 '09 at 14:40
    
Nope –  Marc Gravell Sep 11 '09 at 15:03
    
That makes the query for your other Necromancer badge a head scratcher. Unless it's for September. –  random Sep 11 '09 at 15:06
add comment

Or better yet, make use of the data dump and run a query against it checking the answers against dates of the question with votes and 60 days.

Here's an example of trying to find a nugget of the undead by Druid Gravell (who has an ID of 23354):

SELECT ans.ParentId as QuestionID, ans.Score, qs.Title
FROM posts as ans
INNER JOIN posts as qs 
ON ans.ParentId=qs.Id
WHERE ans.PostTypeId='2' and 
      ans.OwnerUserId='23354' and 
      ans.Score > '4' and 
      (ans.CreationDate - qs.CreationDate) > '5097600'
ORDER BY ans.CreationDate DESC

5097600 here representing 59 days in seconds, roughly how long the corpse must fester with maggots before rising again to do the bidding of the Lich King.

Run against the public data dump with the schema as help, we can see at least from where one grave has been raided:

Since Gravell has three Necromancer badges, that leaves two more unaccounted for. But that's a start.

share|improve this answer
    
Can you tell me what I got my 3 for, then? ;-p –  Marc Gravell Sep 11 '09 at 9:42
    
Too much WoW! –  Ladybug Killer Sep 11 '09 at 9:44
    
I know, and that's how I would have done it, but try that for a user like Marc Gravell ;-) And the people who are Necromancers mostly have profiles like that... –  Robert Petermeier Sep 11 '09 at 9:45
    
Alright, that's a challenge then... –  random Sep 11 '09 at 9:48
    
I raise a skeletal, ghoul-like claw in salute ;-p I can account for a second: stackoverflow.com/questions/41479/1298268#1298268 –  Marc Gravell Sep 11 '09 at 12:16
1  
Next time I wait with my upvote. It's too depressing being unable to upvote edits... –  Ladybug Killer Sep 11 '09 at 12:36
    
Re "have you got a deleted post..."; nope. –  Marc Gravell Sep 11 '09 at 15:04
add comment

The existing answers to this question are outdated. What you're asking for is now possible! Simply go to your profile — actually, this works for any user's profile — scroll down to the badges section and click on whichever badge you're interested in. The resulting page will list the posts for which you/the user earned the badge.

There are two caveats. First, this only works for badges that are caused by individual questions or answers; clicking on Pundit won't list all of the user's high-scoring comments. Second, if the post that caused a badge has been deleted, the page will simply say "Post is no longer available."

Advanced Super Ninja Badge cause search format:

http://SITENAME.com/badges/BADGE_NUMBER/BADGE_NAME?userid=USERID

For example, http://meta.stackoverflow.com/badges/17/necromancer?userid=23354 shows the questions for which Marc Gravell (user 23354) earned Necromancer.

share|improve this answer
    
Wow. Great feature. My highest-voted answer is one I earned Necromancer for. Cool! –  Kate Gregory Nov 3 '10 at 17:15
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .