25
votes

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

3
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
This question appears to be off-topic because it is about GitHub users, not about programming Keith Thompson
@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.Ciro Santilli 新疆再教育营六四事件法轮功郝海东
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

3 Answers

58
votes

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

21
votes

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.

7
votes

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.