Monday, September 12, 2016

Tools for Research and Collaboration

So I mostly code in R or Python (and more and more JavaScript) and up until recently I haven't collaborated on coding with other people. This summer I started using Slack for project management with a student who is working on NERC Research Experience Placement scheme and I've been really pleased with the result. I've tried other to-do list organizers (and I really like Google Keep) but I try to keep the number of apps I interact with to a minimum. So lately I've also been using Slack for organizing my research (and teaching, and admin) as a "project" with different channels and associated to-do lists (todo app). It has really revolutionized my system of scribbling ideas on scraps of paper and letting them fan out all over my desk. (Those scraps of paper are still there but there are fewer of them and I don't generate them as quickly now.)

The other tool for collaboration that I am learning to love is git. It has taken me a long time to stop creating a new scripts starting with the date every time I work on something just so that I can easily find the most recent version. As a person older than 30 I've needed some handholding to figure out how to use it, but now that I have a collaborative project up and running it's incredibly useful. Just like Slack, git is also useful in "non-collaborative mode" for version control and backup. PyCharm* is good for coding in Python and interfacing with GitHub and has good tools for comparing files and merging.

What's great about Google Earth Engine is that it has version control built in and collaborating is so simple. I guess there isn't exactly a project management feature associated with it but you're free to use a host of other Google products for that aspect of collaboration.

*Free Professional version for those with educational email addresses.

No comments:

Post a Comment