Matthew Aiello-Lammens Ecologist at Work


A week ago I sent around a clean draft of a manuscript I’ve been working on for several months (nearly 8, if I’m being honest) to my colleagues here at UConn. Today I am working with a documents that is chopped up, has various different colors of text, indicating sections to cut, sentences to re-write, references to move, etc. Oh the writing process, how tough you are. Writing a manuscript is always a mixed emotional bag for me. I feel competent when words flow smoothly. Accomplished when I’ve re-worked a paragraph to a point that I think it is actually good. Frustrated when I’ve spent hours writing, re-writing, re-re-writing the first sentence of a paragraph. Inept when I come across a reference that I should have read before I even thought of starting the analysis, never mind the writing. But through out the process I try to keep the following things in mind - at the end of the day, submitting a clean manuscript for publication is a good feeling; nothing clarifies thought better than writing; and finally, the more I write, the more used to the process I’ll be. Note that I am explicitly not saying it will be easier, but perhaps that will come as well. One can hope anyway.

Benefit of side projects

Ever since my first year of graduate school, I’ve worked on a side project or two. Jeremy Fox at Dynamic Ecology has written about the benefit of side projects, and I definitely agree with what he had to say. Side projects have really helped me broaden my thinking, build my network of collaborators, and learn about new technique or new applications of old ones. However, I think one key difference in the projects Jeremy Fox described versus many of my side projects, is that I’m not always heading up these projects. That means, I’m not lead author on most of the pubs resulting from them. I think this is because as a grad student, most of these projects were things I connected with through my adviser in one way or another. There are definitely exceptions to this, for example work I’ve done on climate change and distribution modelling, but there’s several where I contributed a relatively small amount to the project. Lately, I’ve been giving a lot more thought to things I get involved in, and honestly, have done a lot less. I want to focus as much energy as I can to understanding plant communities of the Cape Floristic Region (my main research right now) while I can. My side projects are mostly writing up my PhD chapters as papers at this point. So why do I do side projects at all? Because every time I do, I learn something new to bring back to my main focus. And here’s my most recent example. I helped develop an application to interface with GBIF and build species distribution models for a submission to the Nielsen GBIF Challenge a few weeks ago. I had a great group of collaborators on this project, who I hope to work with again. I’m not sure how much time I devoted to it, but I think it was on the order of a few days. Here’s our entry if your curious. What I took away from this is really how powerful Shiny Apps can be for helping a broader audience interface with ecological data. I’m planning on using similar apps to help support our broader impacts goals on the grant I’m funded under now and those I’ll presumably be funded by in the future. Without this side project, I don’t think this application of Shiny would have dawned on me - definitely not as recently as it has. So once again, the side project ends up benefiting my major project as well!

Thanks R

I defended my PhD one year and two days ago. Like many ecologists these days, I did most of my analyses for my PhD research using the the R programming language. I also created all of the figures for my dissertation and my defense talk using R (mostly using ggplot. Recently, I needed to use some of those figures in a talk, but I needed to tweak them. Mostly I needed to make them a little simpler. Though I should have expected this to be the case, it was to my great relief, that I opened up my RStudio project, recompiled my results by sourcing a few scripts, and changed only a few lines of code to generate the new figures. I’m not ashamed to admit it - I was a bit giddy that this process worked as smoothly as it did. In full disclosure though, I did have to change a few paths, as I had to move the 15 GB of data off of my SDD drive a few months ago. Anyhow, the whole experience reminded me how doable it is for us to establish reproducible results using R. (I say doable, because it would be a bit of a stretch to call it easy, but still …) One other interesting observation I have from this process - those figures I had to simplify from my dissertation talk - they probably should have been simpler in that talk too!

Struggling learners and what I missed

I was recently asked on two separate occasions what I felt the biggest challenges I’ve faced teaching are, and how I overcame them. The first time this came up I immediately thought having to deal with academic dishonesty. I’m deeply disappointed when I catch a student cheating. Did I not make the expectations for original work clear enough? Did I make the assignment too difficult, forcing the student to turn elsewhere to find answers? Could I have prevented this situation? As a teaching assistant, I would defer to the primary instructor, but in situations where I was the primary instructor (e.g., lab instructor) I’ve always deferred to the academic judiciary system - it’s there to protect both the students and myself, and in my experience, it’s generally very fair. While I maintain that this is one of the most challenging things I’ve dealt with as an educator, between the first and second time I was asked this question, I helped teach my first Software Carpentry workshop, and was reminded of another significant challenge I think most educators face. What do you do with a student who is seemingly unprepared to learn the material you are teaching?

Putting this challenge another way, what do you do when a student is unable to move at the pace the class “should” be moving? There are different schools of thought on this, and to some extent, it depends on the course being taught. For example, while giving recitations for biostatistics, I tended to move at the pace of the student who needed the most time to fully understand the material. This was mostly fine in this context - there was no preset amount of material that needed to be covered and I could always go over my allotted one or two hour slot. On the other hand, when covering matrix projection models for applied conservation, I had to stick to a certain pace to cover the requisite material, and ask students who got hung up to come talk with me later. This is easy to do when you’re feeling stressed about getting through material, but I know from personal experience, it’s hard on the student. When I was studying physics as an undergrad, there would often come a point when I lost the thread of the lecture I was in. Try as I might, after this happened, I’d pretty much tune-out for the rest of the session. On a good day, I’d work through what we had just been presented, slowly catching up. On a bad day, I’d sit in class feeling like I was never going to understand this. Either way, I knew I’d have to go home and closely read the text book.

So with this in mind, when half way through my introduction to programming with R section, on the first day of the SWC workshop, I noticed a student blankly looking at their screen during a challenge exercise, I had a good sense for how that person probably felt. I helped them out as best I could with the few minutes I could spare, but we had no helpers, and the rest of the class was ready to move on. I felt both bad and sad as I shuffled back to the front of the room after saying, “ask me about this at the next break”. They didn’t. And they didn’t come back for day 2. I don’t know if their experience on day 1 was the reason they didn’t show for day 2, but that’s the conclusion I drew. But what was I to do? The class really needed to move along.

I thought about this quite a lot in the following days, and what I realized I had failed to do was to seek that student out after day 1, and try to understand their motivations for taking the course. I think motivation in learning is really important (as do people who have thought about this much more deeply than I). I can’t help but think that if I were able to have understood this students motivations, I could have at least tried to connect them back to the material, even if they had to struggle with it. Going back to my own situation in physics, why didn’t I change majors, even though I struggled to keep up in so many of my courses? I was motivated to learn physics. I found it challenging and interesting. I wanted to understand it, even if it meant a few lectures filled with despair.

Here’s another anecdote. The first course I TAed as a grad student was a large intro bio lecture course. In my section of the course there was a student who spent most of the first half of the semester hovering right around the C mark. They came to me expressing concern about not passing and we talked about what they needed to do. For the rest of the semester this student was always at my office hours, handed in every assignment, and tried every extra credit problem that was given. They wanted to get that passing grade and they were willing to work hard for it. They were motivated - not actually for love of biology, but because they needed that passing grade to get their diploma. All the student needed from me was for me to understand their motivations and to point out to them that a passing grade was within their reach. Honestly, I was really blown away by how hard this student tried. And of all the grades I’ve assigned, the B- that student earned gave me one of the best feelings as an educator.

SWC workshops are short, much shorter than a semester long course. But you can be sure that the next time I see a student struggling, I’m going to go out of my way to find out what’s motivating them to be in that room in the first place.

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] ( 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 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!