Interesting. I saw one other post few days back(don't have link handy). OP had contributed for 100 days. Question to you(and others) How do you select projects for that?
As I currently understand it, any commit you push to the main branch (so not wip/feature branches) will count towards your activity graph being filled out. This includes projects in your own repo.
So I'm assuming you were referring to the possible difficulty of finding and selecting projects to contribute to. You can also contribute to ones of your own.
Also the chart backfills, so if you work in a feature branch and it gets merged into a main branch, github looks at the dates of your commits and uses that.
You still get your local contribution; merges are counted as contributions by the person who presses merge. It makes sense in terms of what really happens in terms of Git, I guess.
As I mentioned in the comments on my site (not sure if you're the same poster), I work on a lot of personal projects, as well as any open source software I use or want to try out, but have issues with that I can fix. It's interesting to be able to resolve other peoples' issues. Gives you that warm fuzzy feeling.
Alternative lesson: UI design matters. Github is achieving what they want (increased participation) by stimulating daily activity through an activity graph. Example: this article, John Resig (https://github.com/jeresig), etc.
100 days is probably a pretty good limit, it starts to lose effectiveness past that. Last year I did 234 days straight, only ending the streak on my wedding day, but it should have ended much sooner. It was ultra-productive for the first 60-70% of the days, but the focus started shifting from being productive to keeping the streak alive. It ultimately became counter-productive after going for so long. Sounds great in theory, but make sure you give yourself a hard limit.
Good thought; I hadn't thought of setting a limit, but I see your point. Will be interesting to see what happens. I just finished my Spring semester, so a lot of time just opened up, so I suspect I'll have a strong Summer and slow down in the Fall.
I'm on a streak too, but some days I just push a little detail just to keep things alive.
Since I'm jobless and people around me don't understand anything about software development, I have a number and a graph to show some kind of activity (and it's on the internet, it must be true).
I'm at a 461 days streak at the moment and there are definitely days where I feel the same. But in general, the benefits outweigh the disadvantages for me. Doing something on a daily basis is just much easier for me personally than doing it on an irregular schedule.
I stopped messing with the contributions after it became clear how arbitrary and frustrating the feature can be. Not only does it still struggle with time zones and branches, when you leave an organization or otherwise lose access to a private repository, all of those contributions disappear from your graph. I have found the concept to work better for me by tracking my streaks using other tools like Habit RPG.
Ever since I read John Resig's code every day article[1], I've started keeping track of my "streak" with a calendar next to my desk[2]. I've made substantial progress on my soon-to-be released personal project because of this. I don't know how long this will last, but it definitely keeps my project fresh in my mind all day, every day. Even if I only do a little bit of work, it's much, much better than waiting until a weekend and not feeling motivated because I have a huge pile of things to do. I use a Trello board to break down things into simple "tasks", so I try to take down at least one or two of those a day.
I am also on a similar path (87 days atm). I have noticed a couple of things that forces its way into a state of mind:
- I have started to always open source everything I do. It's the same as the gameification aspect, I just need to get another spot on that graph.
- I immidiately try to fix/report issues I encounter with other projects, even if they are minor (instead of just being a little annoyed about it). Also, opening issues counts towards the streak!
- I force myself to learn new things, all the time. Finished with a small project? Time to learn a new language and push the project to github.
So I'll recommend the "code every day" or "100 days of github" to anyone interested in learning new things or contributing more back to open source.
15 comments
[ 3.1 ms ] story [ 35.4 ms ] threadSo I'm assuming you were referring to the possible difficulty of finding and selecting projects to contribute to. You can also contribute to ones of your own.
[1] http://ejohn.org/blog/write-code-every-day/ [2] http://instagram.com/p/ngoaRQg0Fq/
- I have started to always open source everything I do. It's the same as the gameification aspect, I just need to get another spot on that graph.
- I immidiately try to fix/report issues I encounter with other projects, even if they are minor (instead of just being a little annoyed about it). Also, opening issues counts towards the streak!
- I force myself to learn new things, all the time. Finished with a small project? Time to learn a new language and push the project to github.
So I'll recommend the "code every day" or "100 days of github" to anyone interested in learning new things or contributing more back to open source.