I realized soon after my first post that I didn’t really say anything about myself or even identify myself. An about page was put together to take care of that. There, I included all sorts of ways I could be contacted, so, please do reach out if you’d like to chat. In my working life, I do atmospheric science thus officially making me a scientist. I care a lot about science and I especially enjoy the process of finding out about those things that are not presently well understood. Doing so much science, however, can weigh heavily on the psyche. For instance if data collection isn’t going well (or at all!), it can get a bit depressing. On the flip side, when things go well there’s that feeling like you’re on top of the world. Yeah, I often take this stuff personally.
My Interest in R
A small part of what I like to do is to develop methods for making the research process a bit easier. These methods are often those that involve programming, and, the language I’ve chosen to do that coding is R. Why R? Well, when I set out to try some programming, I initially was going to do it in Python. But, for some reason (and this was long ago) I had some major problems setting up my Python environment. I think it involved setting the
PYTHONPATH1. This is probably sounding ridiculous but I’m pretty sure this incident led me toward R. I’ve heard about R, and I thought it had a really good name. Short, simple, to-the-damn-point. I was having no luck with Python so I thought I’d give R a go. Plus it had that sweet logo.
As it turned out, I already had R! It was included as part of a GIS application I’ve had on my comp for years. I gave R a go in Terminal and starting adding some numbers, then subtracting, then multiplying. I was hooked!
I wrote a super simple script to get a feel for the process. Cool! I thought. This is kind of like MATLAB but with none of the guilt of using a ‘borrowed’ copy of it. When I found out about the package system (and the huge number of those packages) I was gobsmacked. People are writing cool, useful things for other people to use. And at no cost to the end user.
Sure, this was nothing new but seeing the possibilities in front of me with R just made me want to do something similar. Basically, I wanted to give something to others to get something worthwhile done better and more quickly.
R Package Development in R/RStudio/GitHub
After learning R for a bit I decided to dive right into making an R package. I started off:
- writing some really bad R code
- being really frustrated with what I now consider seriously mundane tasks in R
- having 18-30 Stack Overflow tabs open in my browser at all times
- occasionally cursing the names of Robert Gentleman and Ross Ihaka
Later (about 2 months later) I ended up:
- discovering RStudio
- improving upon my statistics knowledge (limited!) by reading and using stats packages
- writing slightly better scripts (correcting many of the older ones)
- abandoning some of those scripts that were lost causes
- using ‘package.skeleton()’2
I kept at it and learned from my many, many mistakes. I watched a ton of R videos, read an assortment of R blogs, got a few nice books, learned a lot about general programming skills, and just kept going. I thought of cool projects I could do with R that would help me with my research work in atmospheric science. I started those projects and planned where they might go. Somewhere along the line I learned git, joined GitHub, and began to commit code on a consistent basis. Eventually (today) I got to this point:
It’s a year of commits. What does this mean? For me, at least, it just meant that I didn’t let these projects languish, never to see new development. (Of course, I did often focus on a project at a time, so, many projects’ development did go idle.) This whole thing about 365+ day GitHub streaks was covered earlier this year by Geoff Greer, and, more lately, by Dirk Eddelbuettel so there’s not much more to add. I will say this however: it is somewhat sad (and it’s something people will poke fun at me for) to push code to GitHub on Xmas day.