In keeping with the theme of coring pictures I wanted to share PalEON’s new video, produced by the Environmental Change Initiative at the University of Notre Dame. It does a good job of explaining what PalEON does and what we’re all about. There’s also a nice sequence, starting at about 2:40s in where you get to see a “frozen finger” corer in action. We break up dry ice, create a slurry with alcohol and then drop it into the lake into the lake sediment.
Once the sediment has frozen to the sides of the corer (about 10 – 15 minutes) we bring the corer up and remove the slabs of ice from the sides, keeping track of position, dimensions and orientation so that we can piece it back together. I’m on the platform with Jason McLachlan and Steve Jackson.
There’s a great section in there about the sociology of the PalEON project as well, although it’s brief. So take a second and watch the video, it’s great!
I’ve been coding in R since I started graduate school, and I’ve been coding in one way or another since I learned how to use Turing in high school. I’m not an expert by any means, but I am proficient enough to do the kind of work I want to do, to know when I’m stuck and need to ask for help, and to occasionally over-reach and get completely lost in my own code.
I’ve been working hard to improve my coding practice, particularly focusing on making my code more elegant, and looking at ways to use public code as a teaching tool. In submitting our neotoma package paper to Open Quaternary I struggled with the balance between making pretty figures, and making easily reproducible examples, between providing ‘research-quality’ case studies and having the target audience, generally non-programmers, turn off at the sight of walls of code.
There’s no doubt that the quality and interpretability of your code can have an impact on subsequent papers. In 2012 there was a paper in PNAS that showed that papers with more equations often get cited less than similar papers with fewer equations (SciAm, Fawcett and Higginson, 2012). I suspect the same pattern of citation holds for embedded code blocks, although how frequently this happens outside specialized journals isn’t clear to me. It certainly didn’t hurt Eric Grimm’s CONISS paper (doi and PDF) which has been cited 1300+ times, but this may be the exception rather than the rule, particularly in paleoecology.
I’m currently working on a collaboration with researchers at several other Canadian universities. We’re using sets of spatio-temporal data, along with phylogenetic information across kingdoms to do some pretty cool research. It’s also fairly complex computationally. One of the first things I did in co-developing the code was to go through the code-base and re-write it to try to make it a bit more robust to bugs, and to try and modularize it. This meant pulling repeated blocks of code into new functions, taking functions and putting them into their own files, generalizing some of the functions so that they could be re-used in multiple places, and generally spiffing things up with a healthy use of the plyr package.
This, I now realize, was probably something akin to statistical machismo (maybe more like coding machismo). The use of coding ‘tricks’ limited the ability of my co-authors to understand and modify the code themselves. It also meant that further changes to the code required more significant investments in my time. They’re all great scientists, but they’re not native coders in the same way I am (not that I’m in the upper echelon myself).
This has been a real learning experience. Coding for research is not the same as coding in an industrial application. The culture shift in the sciences towards an open-sharing model means that we are no longer doing this work just so that we get output that “works”, but so that the code itself is an output. Collaborative coding should mean that participants in the project should be able to understand what the code does and how it works. In many cases that means recognizing that collaborators are likely to have differing skill sets when it comes to coding and that those different skill sets need to be respected.
In my case, going ahead and re-writing swaths of code certainly helped reduce the size of the code-base, it meant that, in general, things ran more smoothly, and that changes to the code could be accomplished relatively easily. It also meant that I was the only one who could easily make these changes. This is not good collaborative practice, at least, at the outset.
Having said that, there are lots of good reasons why good coding practice can be beneficial,even if some collaborators can’t immediately work through changes. It’s partly a matter of providing road maps, something that is rarely done. Good commenting is useful, but more often lately I’ve been leaning toward trying to map an application with flowcharts. It’s not pretty, but the diagram I drew up for our neotoma package paper (Goring et al., submitted) helped debug, clean syntax errors and gave me an overview I didn’t really have until I drafted it.
I’m working on the same kind of chart for the project I mentioned earlier, although it can be very complicated to do. I’ve also been making an effort to clearly report changes I’ve made using git, so that we have a good record of what’s been done, and why. Certainly, it would have been easier to do all this in the first place, but I’ve learned my lesson. As in most research, a little bit of planning can go a long way.
Writing robust, readable code is an important step toward open and reproducible science, but we need to acknowledge the fact that reproducibility should not be limited to expert coders. Trade-offs are a fact of life in evolution, and yet some of us are unwilling to make the trade-offs in our own scientific practice. We are told constantly to pitch our public talks to the audience. In working with your peers on a collaboration you should respect their relative abilities and ensure that they can understand the code, which may result in eschewing fancier tricks in favor of clearly outlined steps.
If you code in such a way that people can’t work with you, you are opening yourself up to more bugs, more work and possibly, more trouble down the line. It’s a fine balance, and as quantitative tools such as R and Python become more a part of the lingua franca for grad students and early career researchers, it’s one we’re going to have to negotiate more often.
A couple of weeks ago my colleagues and I submitted a session proposal to ESA (Paleoecological patterns, ecological processes, modeled scenarios: Crossing temporal scales to understand an uncertain future) for the 100th anniversary meeting in Baltimore. I’m very proud of our session proposal. Along with a great topic (and one dear to my heart) we had a long list of potential speakers, but we had to whittle it down to eight for the actual submission.
The speaker list consists of four male and four female researchers, a mix of early career and established researchers from three continents. It wasn’t hard. We were aware of the problem of gender bias, we thought of people who’s work we respected, who have new and exciting viewpoints, and who we would like to see at ESA. We didn’t try to shoehorn anybody in with false quotas, we didn’t pick people to force a balance. We simply picked the best people.
Out of the people we invited only two turned us down. While much has been said about higher rejection rates from female researchers (here, and here for the counterpoint), both of the people who turned us down were male, so, maybe we’re past that now?
This is the first time I’ve tried to organize a session and I’m very happy with the results (although I may have jinxed myself!). I think the session will be excellent because we have an excellent speakers list and a great narrative thread through the session, but my point is: It was so easy, there ought to be very little excuse for a skewed gender balance.
PS. Having now been self-congratulatory about gender I want to raise the fact that this speakers list does not address diversity in toto, which has been and continues to be an issue in ecology and the sciences in general. Recognizing there’s a problem is the first step to overcoming our unconscious biases.
Well, I’ve finally made it into a news release for the University of Wisconsin:
The University of Wisconsin-Madison, home of pioneering ecologists who studied lakes, forests, wetlands and prairies, is playing a key role in the next wave of ecological research: large teams of scientists confronting the dilemma of a changing climate on a shrinking planet.
The article summarizes work of two NSF Macrosystems funded projects, GLEON and PalEON (obviously, borrowing on the gold standard of Neon Inc.) and features a quote from me that sounds like something I might have said slightly tongue in cheek: “We’re pollen whisperers,” erm, yeah. . .
Regardless, I like the news releases’ thread between the history of the University of Wisconsin and our modern work. As put by Jack Williams:
“Reid Bryson was one of the first to look seriously at climate change, and John Kutzbach produced a groundbreaking set of studies identifying the key causes of past climate change. Thompson Webb, my advisor at Brown, got his Ph.D. here in Madison in 1971 and has been studying paleoclimate ever since.”
Working in Science Hall I’ve always felt well connected to the history of the University, even if I’m only here temporarily. Reid Bryson, John Curtis (Bray-Curtis anyone?), Tom Webb III, and many other people central to the intersection of climate and ecology, shared these halls at some point in the last century. The walls have stayed the same but the ideas have flowed on like pine pollen on a spring breeze.
Much of our work, and the work I’m quoted on (pollen quote aside), has been deeply influenced by David Mladenoff and his lab group who have been working with Public Land Survey data for Wisconsin and the Upper Midwest for some time now. He’s been an invaluable collaborator, even if he’s not in Science Hall.
Anyway, back to prepping for our June Pollen/R course at UMaine. I’ll update soon with some R tricks that experienced users wish they had learned early on.
I’ve posted about rejection before here, and I’m pretty sure everyone on the job market knows what it’s like, but after my twoposts about the CNRS search I just thought I’d follow up to say that I didn’t get the position.
Ultimately I went in knowing that success was a long shot, but, when you’re sitting in the Jardin Botanique, eating crudité and remembering the Sainte-Maure de Touraine you had a few days ago, it’s hard not to believe that you’ve got a good shot.
Anyway, rejection sucks. Music rules, but even great music represents a lot of hard work, chances taken and a lot of rejection. I met Zach Rogue once after a show in Vancouver and he seems like a super guy who worked hard to make some great music.
So, after writing the last blog post, futzing, practicing my talk, calling home, saving my talk as a PDF, remembering semi-transparent layers in PowerPoint don’t save properly as PDF, fixing the whole talk again, and then saving the files twice, to two different memory sticks, I headed out to the UPMC. The building itself is one giant interconnected set of hallways, all raised up in the air, and all under construction (apparently), but I got to walk to it through the beautiful botanical gardens (once I got out of an alleyway I inadvertently got myself locked into).
So I arrived at the site of the interview about 20 minutes ahead of time, just incase there was last minute paperwork or anything. It was a pretty nondescript room in the hallway of a geosciences department (from what I could tell), the two other candidates scheduled in the same block as I was were already there waiting. The jury gets a break just before each session, so before we got started they all came out. They were very nice, an represented a broad cross-section in terms of disciplines.
I was the second to go in, I just had to show my drivers license (in case I had sent a ringer in my place), sign a paper, and then I was off. 12 minutes and a couple seconds later I was done. I answered my questions in English, but was able to answer questions asked in French (thankfully). And then, after 15 minutes. . . pouf! Done.
It was strangely anti-climatic. There were answers I wanted to explore more, but obviously, there was one other candidate waiting, and I’m sure the jury wanted to go eat dinner, or just sleep!
So that’s it. In a week or so we’ll find out. Had I applied for other sessions this all would have been more complicated. Section 52, the interdisciplinary (human, nature, climate) section doesn’t meet for another two weeks, so it makes coming for an interview much more difficult if you are not on the Continent. I had intended to apply for two sections next year, but I think I might keep it to a minimum, if I do apply again. It’s very difficult to take this much time away from family, friends and work, even if it is, effectively, work-related.
I am currently in Paris waiting to present a 12 minute talk that will help to decide whether I have a full time position with the French Centre National de la Recherche Scientifique, or the CNRS. I wanted to write about the experience briefly because it is quite unique, particularly with respect to the more common tenure-track experience that many of us go through.
The CNRS operates 10 distinct institutes, these include the INSB for biological sciences, and the INEE for ecological and environmental research. There are also institutes for chemistry, physics, computer sciences and earth and planetary sciences. Each of these institutes operates laboratories, or research stations within France – in fact, they operate over 1,100 research centers across the country.
The interesting thing about the CNRS is that these labs do not hire people individually. As far as I know, you wouldn’t see ads for full time researchers at the Laboratoire des Animaux Méchantes in Nimes (if such a lab existed). Instead, you apply to a particular section of the CNRS (one of 41) associated with your research background (and associated with one or more Institutes) in the hopes of getting a position in that section, and in your lab of choice. These are full time, tenured positions. Each year the CNRS posts the number of positions available to applicants at various career stages (DR1, DR2, CR1, and CR2, in order of seniority) within each section. You submit your package (which also includes a ~10 page summary of research to date, a bunch of biographical information, and some other stuff) through a central website, citing the appropriate sections, and then you wait to see whether you are allowed to continue to the interview stage.
I want to make it clear that it is extremely helpful to have someone within the CNRS system to help you through this process. There are instructions in French and in English that help walk you through the application procedure, but they do not discuss expectations. Had I not known that the research proposal was expected to be very detailed I would have simply submitted something similar to my standard research statement. The same goes for my statement of research to date. It helps to have an insider on your side!
In January of this year I submitted a twenty-something page mid-term research proposal, detailing a set of research goals, outlining the methodologies I would use and providing some of the background for these proposed ideas. This is your typical research statement on steroids. It includes statements on your own abilities, your potential network of expertise and the reasons you would like to work in the lab that you’re asking to be associated with. I applied within section 30, Continental Surfaces and Interfaces and I could probably also have applied to the interdisciplinary Section 42 (the sections numbers seem to change each year so be careful!). I asked to work with the Centre de Bio-Archéologie et d’Écologie, the CBAE, in Montpellier. A colleague of mine, Odile Peyron, is there now, and there is some excellent work being done in the lab, along with colleagues such as Walter Finsinger, Christelle Hély, and many others. I’ll post the proposal once I find out how I did 🙂
I submitted this package in early January. Out of approximately 120 people who submitted as CR2 applicants to Section 30 this year there about 40 selected to move on to the interview and I was one of them. Now, this is the tough part:
They don’t pay for you to come
It’s a 12 minute interview in front of a jury of about 15 senior researchers
Hardly anyone makes it their first time.
Okay. Well, for me it’s still a better than 10% chance, the CNRS position is a full-time, tenured research position, it’s with an excellent group of highly productive researchers at the CBAE, and it’s in the south of France, so my elementary school French Immersion program will finally pay off. But did I mention that the interview is only 12 minutes long? And it’s going to happen in less than 4 hours from now?
Granted, they’ll ask questions for about 15 minutes afterwards, but still. This is completely different from the successive phone interviews, reference letters and then sometimes multi-day interviews that people go through for tenure track jobs. But that multi-day process is replaced by the need to produce a high-quality research document prior to selection.
So, I’ll say again, hardly anyone makes it the first time (although people have), which means that by the time you do get hired (if you’re not culled) they’ll have seen you talk for nearly an hour over successive years. That’s long enough I suppose.
I’m not sure exactly what to expect. I already walked down to the room at the Pierre and Marie Curie University where the interview will be held, just to make sure I don’t get lost, I’ve corrected and re-corrected my talk. I’ve timed it (still a bit under time!) and I’m as ready as I’ll ever be, or at least, as ready-ish as I’ll ever be.
I’d love to hear from other people who have gone through this process though. It was a bit tough finding resources for foreign researchers about the CNRS process, so this could be a useful place to post tips, suggestions and comments. I’ll be happy to expand on my experience if anyone is interested.
I’ll leave you with this. Two of my favorite French (Canadian) songs, by the great Robert Charlebois and by the equally great Stereolab.