Matthew Aiello-Lammens Ecologist at Work

My personal GitHub challenge

As many people do, when January 1st came around this year, I set a few goals for myself. Most of mine had to do with my work, primarily because I’ve been trying to find good ways to reach my pre-fatherhood level of productivity. (Aside: As of today, my daughter is 5 months and 1 day old!) One of the goals I set was to have at least one commit per day to my GitHub account. A look at [my GitHub page] (https://github.com/mlammens) will make it clear that I’m not doing a great job at sticking to this goal. But of late there is definitely more green squares than grey ones. Here are a few thoughts I have about this personal challenge and how it’s evolved.

Do commits to Private repos count?

At first, I considered only commits to public repos as qualifying for the purposes of this challenge. I don’t have many private repos, but I do have a few that are pretty active. These are related to projects that my co-authors and I are not quite ready to share. Some days, these are the only commits I make to my GitHub account. After giving it some thought, I decided that if the purpose of this challenge is to get me to more consistently work on projects I keep on GitHub, than I should treat Private and Public repos alike. And besides, Private or Public, the little square turns green.

Making small changes just to have something to commit?

It would be pretty easy to open up a README.md file, fiddle with a few words, and push that for my daily commit. But that would really defeat the purpose of the challenge. I did however decide that it’s okay to make relatively minor edits to files as my daily commit. Why did I decide this? Primarily because it actually keeps me engaged with my projects. My demgsa project is a good example. This is a project to convert some R scripts I wrote as part of my PhD work into an R package. Given my postdoc work and other more pressing projects, this project is on the back burner a bit. But I really do want to keep making progress on it, even if it’s one function at a time. So when I haven’t committed anything for other projects, I’ll open up one of the function files, make the edits necessary to include it into the NAMESPACE and make nice help documentation, and push it. Initially I thought making changes like this was cheating (who’s cheating? I’m setting the rules!) but after doing this for the last two weeks, I can say that it definitely is helping me stay connected to my projects.

Blog posts as commits!

Just recently I created a website hosted via GitHub using Jekyll. I have a lot of work to do on it, but that in itself is going to give me plenty of opportunities to meet my daily quota. I’m hoping that this will help motivate me to write more posts!

What does ‘at least one commit a day’ give me?

Initially I setup this challenge, as I said above, in part to stay connected with the projects I have on GitHub. But I also wanted more actively contribute to open science / open research. Obviously, the commits to private repos don’t help with this second goal, but there should be plenty of commits to public repos along the way. What I realized only recently is that this challenge is essentially a setup to follow the Jerry Seinfeld productivity secret. Now, all I have to do is not break the chain of green squares!