155

In the comments to Enthusiast and Fanatic Badge on the blog, a comment was added that a nice feature would be adding the number of consecutive days you've visited to the site to the user's profile.

I’d love to see on your user page a count of how many consecutive days you have been on SO/SF. Kind of like looking at your uptime on a Unix box. - Code Slave

I believe it would be a good feature and wanted to put it out there for discussion.

I know personally, I would like to be able to track how many consecutive days I've visited the site without having to figure it out on my own.

8

5 Answers 5

45

This was a big suggestion following the creation of two new badges which were based on 30 consecutive days ("Enthusiast", earlier "Woot"), and 100 ("Fanatic").

I'm currently pursuing my "Woot" badge (and subsequently my "Fanatic" badge too) - somewhere between 20-25 days away I think.

9
  • 7
    At least the 30 day one exists - I'm unsure whether to be proud to have it ;) Jun 29, 2009 at 20:43
  • 1
    I'd be proud - I'm currently working towards getting my 30 days...no clue as to how close I am...less than 30 days, that's for sure :)
    – Sampson
    Jun 29, 2009 at 20:44
  • I'm with you Jonathan, I believe I've only missed one day (silly family vacations!), but I've have to search through a calendar to figure out how many days it has been since then. Jun 29, 2009 at 20:45
  • 1
    So is this development under way?
    – user146056
    Apr 13, 2010 at 23:07
  • 1
    I know I've been visiting for more than 60 days because SO is my homepage but my count shows 13, seems bugged.
    – Ta01
    Jun 22, 2010 at 12:41
  • I think there is a bug, I was on SO from home last night, then I got on at work today, my profile said 8 then i refreshed and it said 1. Kinda strange. I wonder if using different computers causes issues?
    – JD Isaacks
    Jun 28, 2010 at 13:58
  • So I have 41 consecutive days... why dont I have the badge?
    – FabianCook
    Oct 7, 2012 at 9:56
  • Its actually Fanatic for 100 days and Enthusiast for 30
    – FabianCook
    Oct 7, 2012 at 9:58
  • @RowlandShaw I'm only 4 days away from 100 May 26, 2016 at 0:30
29

I would find a concurrent-days counter interesting.

I'm pretty sure I have been on both StackOverflow and ServerFault for more than 30 days in a row.

But no badge.

It is easy to visit StackOverflow every day and still "miss a day." StackOverflow's day starts at midnight (GMT). So my "StackOverflow day" starts at 8pm, my time (Eastern Time). So it is conceivable that I simply logged in one morning and didn't check back until much later the next day... technically "missing" a day-as-tracked-by-stackoverflow in between.

I'll be okay.


UPDATE: Oh, crap. A possible slight miscalculation. I might-- just might-- have another day or two to go. We'll see.

8
  • 1
    That last part is a good point. What is the deadline for being counted as visiting the site "today"? I happened to think of this one evening at 11:55 p.m.
    – JSchaefer
    Jun 29, 2009 at 21:17
  • My max-votes-per-day counter starts sometime around 7pm (Eastern Time). It might be when I originally signed up, or something. I don't know if concurrent days are counted the same way. Jun 29, 2009 at 21:48
  • 3
    I believe all timing (for rep caps, voting, etc) is based on Greenwich Mean Time. Jun 30, 2009 at 1:52
  • 3
    I think you are right. I watched last night and it turns out my "day" starts at exactly 8pm and my timezone is GMT -4h. So, if you log in at different times of the day, you can easily miss a "StackOverflow day." I'm going to update my orginal post. Jun 30, 2009 at 13:45
  • 1
    Similarly, you can double your days by being active around midnight UTC (So, if you're in a timezone that is UTC-5, and accounting for daylight savings, you'd need to be active from around 19:45 to 20:15 every other day) Aug 13, 2009 at 8:01
  • 2
    Unfortunately, it doesn't work for 28 hour days. xkcd.com/320
    – mmx
    Sep 9, 2009 at 7:01
  • 1
    +1: I'm glad I'm not the only one surprised by that (sorry). I set my computer to auto-load all the sites at 7 pm, as insurance in case I hadn't gone yet that day. I'm at GMT -5, so I was pretty disappointed 100 days later. I guess I must have been off by a second or two a few times.
    – Pops
    May 11, 2010 at 22:47
  • This is so disappointing. I've been working this for over two weeks and I login today only to see that serverfault.com, my most visited, only has 3 days. Ugh! Robert Thanks for the info. Jun 23, 2010 at 15:18
13

This kind of query would be able to provide the data for the profile.

with numberedrows as(        
select 
   row_number() over (partition by UserID order by CreationDate desc) as NumRowsFromToday,
   datediff(day,CreationDate,getdate())+1 as DaysFromToday, 
   CreationDate, 
   UserID        
from tablename
where UserID = @UserID /* Optional line that can be removed to get everyone's current run */
)
select UserID, min(CreationDate) as StartOfRun, max(DaysFromToday) as LengthOfRun
from numberedrows
where DaysFromToday = NumRowsFromToday
group by UserID
order by max(DaysFromToday);

Here's the idea behind the query:

I know from SQL to determine minimum sequential days of access? that they only store one entry per user per day (if not, then DENSE_RANK is needed instead of ROW_NUMBER, and the OVER clause needs to truncate the date). So if you number those days (backwards), then the current run of consecutive days only includes entries where the rownumber is the same as the number of days from then to today (plus one, so that you don't start counting that number of days from 0).

With an index on (UserID, CreationDate), this should run quickly too.

So... hopefully Jeff & co are keeping an eye on this question, and can consider it?

Rob

8

Thanks for implementing this feature.

I had been wondering for quite a while when I'd hit that 100 day mark and finally get the dang badge. All the while, religiously hitting the site every day, even adding a bookmark on my iPhone so I could click it to get credit if I was traveling or didn't otherwise have access to a computer or the Internet on a given day.

So I click over to my profile and I am at...(drum-roll)... 15 consecutive days... F@#$!K

Somehow, somewhere I must have not clicked hard enough on the link to the site, or perhaps it was the time-zone thing, or God knows what, but after roughly 6 months of chasing this badge I am nowhere near getting it apparently.

The reason I am appreciative for this feature is that I finally know where I stand. I'm going back to just visiting the site when I have a question or feel like answering them, instead of checking in every day, just to hit roll call. Thanks for giving me back a few minutes of my day.

5

If you set your next badge in profile to fanatic it will show days you have been on consecutively

You must log in to answer this question.

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