Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
500 days – the longest streak on GitHub? (github.com/sferik)
125 points by Irene on Feb 27, 2014 | hide | past | favorite | 72 comments


Wow, that's impressive! My streak is a mere 416 days so far: http://abughrai.be/github_streak_416_days.png

I think the most important thing is that you must want to do it. Without an innate desire, it would require inhuman willpower to maintain such a streak. That said, it does get easier over time. Once you get into the habit of doing at least a little work every day, the streak comes pretty naturally.

I say "want" and not "like" because wanting and liking are not the same thing. I usually find myself frustrated and annoyed by code, but for some reason I keep coming back. I think most programmers are weird in that respect. As Douglas Crockford says:

I think there has to be something seriously wrong with you in order to do this work. A normal person, once they’ve looked into the abyss, will say, “I’m done. This is stupid. I’m going to do something else.” But not us, ‘cause there’s something really wrong with us.[1]

1. http://www.youtube.com/watch?v=taaEzHI9xyY#t=26m50s


Wow, and I was proud of my 26 days! Congratulations.

Even if you "force" yourself to do something like this, you will find you learn so much so quickly by doing it daily for an hour or so.


I don't get the appeal for trying to make long streaks since they can be easily gamed.



I hate the implication that busywork is somehow less valuable than other kinds of work. Much of software development isn't intellectually rigorous. Many deficiencies in OSS could be resolved by people willing to do the same kind of gruntwork that you linked to here. I see this and think major props to @sferik for working hard to maintain public code, even when it's not glamorous.


I agree, actually. My comment was a pedantic correction and added nothing useful to the conversation. Props to sferik for the hard work.


I'm not familiar with this developer or that project, but what I inferred is that perhaps he deliberately spread out these relatively minor commits in order to keep his streak going. Of course, I have no idea if that's true. Busy work can be valuable, but purposefully spreading out minor commits makes the streak statistic less impressive (especially considering how easy it would be to automate).


That’s just one project. For a better representation of my overall activity, see https://github.com/sferik?tab=activity.


The point is that removing some of the "bumped a Gemfile.lock" commits, you'd not have the streak you have:

https://github.com/sferik?tab=contributions&from=2014-02-18

You certainly work on tons of great open source stuff, and I don't want to diminish the value of that at all, but for somebody else to hold up your streak as a shining example of the commit-every-day mindset is a bit in the grey area, as far as I'm concerned.


Bollocks. Busy-work needs to be done, end of story.

Hell, nearly all my commits to FOSS are just that: the crappy busywork no-one wants to do. And a bug-fix here and there.


I've not seen anybody disagree with that. But running `bundle update && git commit -a && git push` falls into what I, for myself, consider a grey area on the "I've committed today" scale. I say this as someone who also tries to maintain a GitHub streak.

You, and sferik, and each other GitHub user is totally free to disagree. I don't own the streak system.


It's gotta be done and someone has to do it. Whether it counts as coding or not, it's still a process that someone has to focus on and take time out of their day to complete.


Wait, is he just changing version numbers? Suddenly he goes from most committed programmer ever to most...frivolous?


If this is "frivolous" then I sure wish I were a more frivolous coder. Someone has to do the "frivolous" work of keeping up to date on security patches so our apps are locked down. Someone has to make "frivolous" corrections of bad indentation so code is more readable for the rest of us. Someone has to write all those "frivolous" READMEs so people like me can get up and running.

Thank goodness for frivolous work like this.


> Someone has to do the "frivolous" work

Ahem... robots?

It shouldn't require any human intervention to watch for changes and bump a version number. In fact, I guess, it didn't. Personally, I'd tolerate repetitive work for several days, maybe even a week, then I'd certainly hack a script and after several days of observation return only on script's "hey, I'm confused, please help me" notification.


3 great virtues of a programmer:

- laziness - impatience - hubris


Well, that could be the case, but they might also be testing the versions before updating them in the published gemfiles.

It's still busywork, but that would at least be legitimate. :)


Running the tests should still be completely automatable.

If there are no tests and he tests manually, then there's some commits waiting that will improve the project. :-)


The bar is pretty damn high to get some respect on HN.


Yes. And if that moves something forward - good!

For me this gamification works. Yes I do commits I feel more proud of than others. Yes, I 'cheat' and create tons of projects which makes it easy to find stuff to commit. And yes, keeping the streak might become the thing.

The point is that it (for me) Github streak has made me much more productive and due to continious practice, better and more accomplished as a developer. I _do_ stuff more than ever and only wish I had been doing it more years ago.

Yay for (coding)streaks!

And anybody reaching 100+ is a hero in my book. (My records is 68 days but it is going DOWN this month.)


Mine ( https://github.com/sartak/ ) is currently a 558 day streak. I'm studying Japanese, so I've been committing the new words I learn (at least one every day!) to my "vocabulary" repo. I started a while before GitHub even started tracking streaks.


Is there a website output for the word of the day etc. for the repository code?

Couldn't find anything quickly on your site http://sartak.org


props for keeping a streak that long! awesome


I had a telephone interview this week where the interviewer asked why I hadn't committed anything recently on GitHub. This wasn't true, I had pushed something to GitHub that day. But it turns out GitHub uses your git config email to determine your streak - which was different to my GitHub email - and so my commits don't show up. I didn't really care, but since potential employers may consider it I have now fixed the issue. According to [1]:

If your previous commits used the correct email, they will start to link after you add the email to your account. However, it may take some time for the old data to fall out of the server's cache before this happens.

[1] https://help.github.com/articles/why-are-my-commits-linked-t...


I misread that as 'recruiter' (cold-calling you) and got pretty enraged:

"Oh, hey euoia this is ___ from KPFI Recruitment Services. I noticed your linked-in profile, which is a really great match for an opportunity we have at a major company in the boxed snack industry - I was just wondering why you hadn't committed to GitHub this week?"


I always wonder about that. My active github projects are private, so I guess my "streak" isn't going to look so hot.


According to http://git.io/top when it last updated last week, it states michalbe currently has the longest streak. They have a streak of 561 days as of today according to their profile: https://github.com/michalbe


But sadly that list is for people with more than a certain number of followers. I'm not on it (https://github.com/waywardmonkeys) despite having over 2000 contributions and a 417 day streak. :(


Michal commits which movies/whatever he watches to GitHub :p




how was this done? I see "0 changed files with 0 additions and 0 deletions." on all commits.. (just wondering)


See "man git-commit", it's in there. :)


you can modify git history by filter branch


No need to. See "man git-commit".


Pushed 4,027 commits to kanzure/streak Feb 20 - Feb 28


So longer than git has existed. Well done.


wtf, wizard?


Longest streak for contributions to public repos. Private ones don't show up unless you have access to them.


Or commits to non master branch that don't later get merged - https://help.github.com/articles/why-are-my-contributions-no...


I can beat it. Give me about 5 minutes and git filter my commits. Not to take away from the "accomplishment" ( achievement? ) of work, but its easy to create and post date commits to beat this "record".


That's not beating him, that's cheating. You can make it look like you have lots of commits but you won't actually be person with the longest streak.


I did this last year and reached 235 days (only ending because I got married, I think that is a valid excuse), but to be honest, it started to become a distraction because my competitive side took over and I started going out of my way to make commits when I had actually important things I needed to be getting done.


Mine is 9 days. I think I'll keep it that way. You shouldn't live to work.


Perhaps his work is living.


Sure, and maybe some people find that hacking away on personal projects is... fun?


Agreed, for a community always linking stories blasting 60 hour work weeks, I find the dick measuring of commits a bit dissonant.


Much respect. But please take a vacation some time soon! You've more than earned it.


I've maintained a 417 day streak despite taking multiple holidays / vacations. My overall rule for what I do is to always make at least a little progress each day. Even if that means I go and fix some grammar or spelling in docs, or file some bugs, merge pull requests. Maintaining a streak doesn't have to mean 8 hours of work each day. :)


Anyway, I think that just keeping yourself committed to "do something" every day it's not really a vacation. Sorry, but I find this nonsensical and bad example...


One thing I've learned from having been married to my wife is that people have hugely disparate views of what constitutes a vacation.

For her it's the more standard lounge-at-the-beach vacations. For me it's always been the feeling that I'm not compelled to do anything by anyone other than myself. I don't want time bound obligations.

I went to ireland for five weeks or so, and toured by bike, then did some hitchhiking and general wandering around. I did a lot of reading, and writing, and some learning/math. Every day I had some random downtime and would have been totally content fixing a small spelling mistake or two in some docs, if I had been into programming then.

All that to just say, relaxation and contentment are pretty specifically personal, and I could see how it wouldn't be a hassle at all, especially if you've got some good momentum going and all it takes to keep it is to spend a few minutes committing a grammar fix. Ymmv of course, but that's just my two cents.


Don't you ever just want to take an entire day to relax? Just sit around drinking beer, eating pizza, and watching TV (or some variation of that)? I think I am the exact opposite, since I can barely work 35 hours a week without mentally clocking out.


Major props to him! I've also been trying to commit every day. My GitHub is https://github.com/zachlatta.


Is anyone aware of a way to pull the current/longest streak for a GitHub user, besides parsing their page's HTML? I'm aware that I can get the data used to make the dot chart from https://github.com/users/sferik/contributions_calendar_data but that always gives 366 points.

Previously, I thought the Current and Longest Streak counts were dynamically calculated from the given JSON data, but this shows that's not the case: it looks like GitHub is inserting those counts right into the HTML on their end.

I can scrape those counts out of the HTML if I need to, but that feels pretty hacky, and I'd prefer to pull or calculate them in some other way if it's at all possible.


I did 164 until I deleted a repo(?) and it removed a day and my streak went down to 94. Still fun though.


I agree with ggreer [0] that there must be a want to commit everyday. sferik, good job in doing what you want, when you want.

When I saw this I was immediately reminded of the recently front page "Your 60-Hour Work Week is Not a Badge of Honour" [1]. I don't think that each week for a streak like this requires 60-hours. I know that a streak like this wouldn't be good for me, and I personally don't think it'd be good for most people.

[0]: https://news.ycombinator.com/item?id=7309996

[1]: https://news.ycombinator.com/item?id=7244109


This is also a interesting one : https://gist.github.com/paulmillr/2657075/ (most active users on Github by commits)


People trying to figure out who to hire - I'd screencap that all green Contributions box on my resume and call it a day. The picture is even him typing at a terminal. That's great.


i just hope this is as far as it goes w/r/t broadcasting these sort of version-control-metrics. I would hate to see a "who hasn't done a damn thing all week" list.


I love that he's even coding in his picture, probably because he wouldn't have a recent one without a computer in his lap. lol ... when I got 40-50 days I usually feel rather accomplished, this guy makes me feel like a slacker


That's impressive. I also found this impressive: https://github.com/god (click on repositories)


Classic ... if only his longest streak was 7 days instead of 3 ... it was all created in a week right?


6. He rested on the 7th.


In all honestly, that's easily tampered with.

See: https://github.com/bevacqua/gitcanvas


It's not that hard; there are people out there that created activity bots to create messages in your activity heatmap, etc.


I love programming, but doing it EVERY day for a year and half sounds like my nightmare.


I saw the list of commit; most of them are 'update ... to version xx'..


WELL, f*ck! There goes my grand plan to reach 356 and post on Hacker news


Github should not take weekends into account.


I thought I was pretty happy with myself when I passed 10 days. Not any longer.


hey mine is 3 days - imagine how i feel :(

500 freaken' days - RESPECT


what was it like working on mt.gox? is the code crappy?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: