What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 149 Stack Exchange communities.

The Ask Ubuntu Town hall digest caused me to win the Mortarboard badge, yey!

But wait.

[Mortarboard] Hit the daily reputation cap for the first time

Per-site metas don't have any reputation... I am confused :-)

I know why I got the badge. Should I have?

Let me rephrase. Is this behavior desirable?

share|improve this question
    
Seems like badges are not included in this, by design or bug? –  Trufa Feb 8 '11 at 22:44
1  
I concur. You should not have. –  jcolebrand Feb 8 '11 at 22:47
20  
New goal -- get Legendary on an SE meta, while keeping my rep at 1 –  Michael Mrozek Feb 8 '11 at 22:47
    
Should have used Community-Wiki! (See here.) –  yhw42 Feb 8 '11 at 23:58
    
@yhw42: No. I specifically did not want to go CW. I wanted to stick to a given format and didn't want anyone being able to edit the candidates' answers, as it was a representation of each user. –  The Unhandled Exception Feb 9 '11 at 0:07
    
@The: That makes complete sense. I was trying to point out that even though they aren't displayed and don't affect privileges, Votes/Rep are tracked behind the scenes on per-site metas to award badges (i.e. Nice Answer et. al.), and you qualified since the posts weren't CW. –  yhw42 Feb 9 '11 at 0:39
    
@yhw42 AH, ok, I understand what you mean now. Yes, I know why I got the badge. My question was, is this behavior desirable? –  The Unhandled Exception Feb 9 '11 at 0:41
2  
Got it! You are questioning the metas even having the MortarBoard badge. I had understood you to be questioning the badge in your case. Sorry for the confusion. –  yhw42 Feb 9 '11 at 3:08
2  
@MichaelMrozek good luck with that. –  Pops Apr 26 '12 at 18:45
    
(Maybe SE-internal) sources say (meta.stackexchange.com/questions/237906/…), that badge calculator don't use the repu on the metas, only the votes. –  peterh Aug 11 '14 at 15:49

3 Answers 3

up vote 25 down vote accepted

Just redefine it as "you received a lot of upvotes in a single day". So I think it is correct in spirit.

share|improve this answer
8  
Could you implement this in the meta badge text? –  Manishearth Apr 26 '12 at 14:56

Although reputation on meta is taken from the main site, the badge mechanics, including the badges based on reputation, still works, giving you badges based on reputation you weren't aware off.

The following query shows the number of days a certain member of Meta Stack Overflow has hit the rep cap making you eligible for the Mortarboard badge. If this queey returns more than 150 rows the Legendary badge is in the pocket as well

-- uid:Enter your UserId  "As found in the url of your profile"
; 
with upvQ as (
  select v.creationdate
  , count(*)*5
  -- over (order by v.creationdate) 
  as score
  from posts p 
  inner join votes v on v.postid = p.id
  where v.votetypeid = 2 --UpVote
  and p.posttypeid = 1 -- Q
  and p.owneruserid = ##uid##
  group by v.creationdate)
, upvA as (
  select v.creationdate
  , count(*)*10
  -- over (order by v.creationdate)
  as score
  from posts p 
  inner join votes v on v.postid = p.id
  where v.votetypeid = 2 --UpVote
  and p.posttypeid = 2 -- A
  and p.owneruserid = ##uid##
  group by v.creationdate)
, dwnVQA as (
  select v.creationdate
  , count(*)*-2
 --  over (order by v.creationdate) 
   as score
  from posts p 
  inner join votes v on v.postid = p.id
  where v.votetypeid = 3 --DownVote
  and p.posttypeid in (1,2) -- Q and A
  and p.owneruserid = ##uid##
  group by v.creationdate)
, accA as (
select v.creationdate
     , count(*) * 15
     -- over (order by v.creationdate) 
     as score -- every accepted answer 15 fep
  from posts p 
  inner join votes v on v.postid = p.id
  where v.votetypeid = 1 -- Accept
  and p.posttypeid = 2 -- Answer 
  and  p.owneruserid = ##uid##
  group by  v.creationdate)
, sugedt as (
 -- suggested edit for a user
     select cast(approvaldate as date) as dateonly, 
     count(*) * 2
     -- over (order by cast(approvaldate as date)) 
     as score
     from suggestededits
      where approvaldate is not null
      and owneruserid = ##uid## 
      group by cast(approvaldate as date))
, bounty as (
select  v.creationdate
, sum( case when votetypeid =8 then bountyamount else 0 end)
 -- over (order by v.creationdate) 
 as [start] 
, sum( case when votetypeid =9 then bountyamount else 0 end)
-- over (order by v.creationdate) 
as [close]
  from votes v
  inner join posts p on p.id = v.postid 
  where votetypeid in (8,9)
  and ((p.posttypeid = 2 and votetypeid =9)
  or (p.posttypeid = 1 and votetypeid =8))
  and v.userid= ##uid##
  group by v.creationdate
)
select distinct 
       v.creationdate
       , isnull(upvq.score,0)  -- as [Upvote Question]
        + isnull(upvA.score,0) -- as [Upvote Answer] 
        + isnull(dwnVQA.score,0) -- as [Downvotes own Q and A]
        + isnull(accA.score,0) -- as [Accepted Answers]
        + isnull(sugedt.score,0)  --as [Suggested Edits]
        + isnull(bounty.start,0) -- as [Bounties Started]
        + isnull(bounty.[close],0) as score --as [Bounties Received]
from votes v 
left outer join upvQ on upvQ.creationdate = v.creationdate
left outer join upvA on upvA.creationdate = v.creationdate
left outer join dwnVQA on dwnVQA.creationdate = v.creationdate
left outer join accA on accA.creationdate = v.creationdate
left outer join sugedt on sugedt.dateonly = v.creationdate
left outer join bounty on bounty.creationdate = v.creationdate
where v.creationdate >= (
     select creationdate 
     from users 
     where id = ##uid##)
and (isnull(upvq.score,0)  -- as [Upvote Question]
        + isnull(upvA.score,0) -- as [Upvote Answer] 
        + isnull(dwnVQA.score,0) -- as [Downvotes own Q and A]
        + isnull(accA.score,0) -- as [Accepted Answers]
        + isnull(sugedt.score,0)  --as [Suggested Edits]
        + isnull(bounty.start,0) -- as [Bounties Started]
        + isnull(bounty.[close],0)) > 199
order by v.creationdate

The query is based on the one I used on an earlier answer and calculates the rep based on the available data in SEDE. Do notice that this is missing deleted posts and your own downvotes so it is not 100% accurate (and the data is refreshed only once a week, on Sunday or Monday at 03:00 UTC)

share|improve this answer

That's the way it works. Congratulations.

share|improve this answer
    
Thanks! I feel kinda lame getting it for a question format I devised though, especially since the format doesn't really permit others to answer my question and has a crap ton of answers... but I do like that this pretty much guarantees me the badge on all the metas :-) –  The Unhandled Exception Feb 9 '11 at 0:24

You must log in to answer this question.

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