25

Does anybody know how to find a list of the users with longest Github streaks ever?

4
  • 6
    I read that answer to bless questions about GitHub, provided they meet all the other criteria - in other words, being about GitHub doesn't make every question suitable (just like not every question about C++ is suitable). IMHO this question is off topic whether it refers to GitHub or something else.
    – user395760
    Commented Nov 20, 2013 at 14:59
  • 3
    This question appears to be off-topic because it is about GitHub users, not about programming Commented Nov 27, 2013 at 0:05
  • 1
    @KeithThompson this question can also be interpreted as: on GitHub, how to progammatically get a list of users with the longest strikes, which my answer answers. With that interpretation, it might be suitable, since it boils down to a GitHub API question. Commented Apr 1, 2015 at 20:50
  • I'm voting to close this question as off-topic because this is nothing more than trivia and not relevant to programming at large.
    – Makoto
    Commented Aug 27, 2015 at 15:34

3 Answers 3

58

Streak is easy to game, so results will not be relevant

As of 2015-03-20, it might be me with 32k days (100 years) https://github.com/cirosantilli , but it was giving 502 most of the time so I opened an issue for that. I later pushed a 1000 year streak, but it gives 502 all the time.

Update 2015-10-21: GitHub contacted me and explained that this was consuming too much resources on their servers. My profile page is back for the first time since 7 months :-) But my public contributions simply don't show, while normal users have an empty "Public contributions" and "Contribution activity" sections. This is step 1 of fixing things twice.

Generated with https://gist.github.com/cirosantilli/4d24fc646ab9aec8def7 by making one commit per day, making this metric very easy to game to infinity. The bounding factor I've found so far was the repository generation time. Repository size is small (15M). Maybe someone can optimize the commit generation speed? Edit 2016-05: I have since generated 1 million commits in a few minutes (but it does not scale to 10M very well): https://github.com/cirosantilli/test-many-commits-1m

enter image description here

Update 2015-04-01: it seems that GitHub patched it to limit new streaks arbitrarily to 1000 days, even though my home still gives 502. Tested with my puppet: https://github.com/cirosantilli-puppet , https://github.com/cirosantilli-puppet/test-streak (now deleted because of their silly one account per person policy, I have since learned to use webarchive and tor).

Update 2016-05-19: streaks were deprecated: https://github.com/blog/2173-more-contributions-on-your-profile but my contribution graph is not back up yet.

enter image description here

Other stroke gaming methods

Possible ways to do if if you're still interested

Holman said that he does not think there is a simple way to get it, so probably there isn't.

http://longeststreak.net/ is (was, down now?) maintaining a programmaticaly generated list. Source code: https://github.com/oblakeerickson/longest_streak . I haven't looked into their techniques.

As of Jan 2015, the longest streak on longestreak is: 5168 by mahipal, but that is clearly a gamed streak on a single empty repo. Since this is about 14 years, longer than GitHub exists, it indicates that the method used by longstreak is the same as GitHub, as it considers only repository data instead of push date, which is easy to game like I did. I wonder why mahipal stopped at such a small number in his gamed streak, so I asked him at https://github.com/cirosantilli/chat/issues/1 . No reply so far.

Upon quick inspection, the top 10 streaks of longstreak seem to be gamed, or made of diligent trivial contributions.

Possible starting points that export all GitHub public data:

Misc

7
  • How does this work? Does Github counts "local commits" even when the server has not verified the time of submission?
    – Pacerier
    Commented Apr 11, 2015 at 15:25
  • 1
    @Pacerier At least when I pushed yes: GitHub used only the Git repo data, not the push time the server received the push. Which is silly :-) Commented Apr 11, 2015 at 15:31
  • @Pacerier oh, and I admire your necromancer vibe, I'l like that too: data.stackexchange.com/stackoverflow/query/176808/… Commented Apr 11, 2015 at 15:33
  • 1
    @Circo, Nice, I'll add that link in. Btw if you have a space in your name, when people @ you the taboo 六四事件 法轮功 wouldn't be included.
    – Pacerier
    Commented Apr 11, 2015 at 18:10
  • 1
    GitHub used to use server push time, but it forced all contributions to be spaced by what date they had been contributed on in Pacific time. This reduces the flexibility of contribution dates for developers in other time zones, so they changed it to come from commit times so it could reflect local time zones. Commented Aug 19, 2015 at 22:50
21

This gist provides a list of the 256 most active users. At the bottom of the list there is a list of Contribution Streak users that will answer this question more directly. I have not seen a report of all time streak records.

1
  • 1
    I was thinking more in terms of consecutive day, in which at least one contribution was submitted, but I think for now this is the best information I can get. Thanks. Commented Nov 20, 2013 at 15:47
7

I saw that Gist listed above this and poked through it (unfortunately, I'm unfamiliar with JS), but I did find the below link:

https://api.github.com/legacy/user/search/followers:1?sort=public_repo_count&order=asc&start_page=#1

Which results in a JSON document where you can apply filters (for instance, you can change how it's sorted). What I didn't find in the document is the streak, but I'm sure if you poke around, you could probably find it. The Gist returns a few of the users; I'm curious what the top 50 or so would be.

Not the answer you're looking for? Browse other questions tagged or ask your own question.