 Kevin, and thanks for everyone for joining us here today. As Kevin said, my name's Justin Kitzes. I'm one of the Data Science Fellows here. And those of you who know me especially know that here at BIDS, one of my main areas of interest is in the area of reproducibility. So actually, before I get into the main talk, I want to just mention this project that we've been doing for about a year here at BIDS. It's going to result in an edited volume, a book called The Practice of Reproducible Research. We have about 30 contributed case studies of reproducible research workflows from data intensive sciences, as well as some pedagogical instruction chapters. So if you're interested in this project also, please feel free to grab me after the talk. But for today, I'm going to talk about supporting reproducibility and reproducible research in a different way, not from the perspective of education, but from the perspective of software. So in these few minutes, I'm going to talk a little bit about how we, many of us as software developers, can support our users in creating and using reproducible workflows. And I'll be specific here in stating that by reproducible in this context, I'm thinking of the very low-level question of computational reproducibility that is just if you have your data, your scripts, and your instructions, can you simply redo the study and get the same answer back that you had the first time? And as one of many possible ways to answer this question, I want to show you very briefly a software package that developed with a colleague and released this past year. And this is called MacroEco. So aside from my life here in data science, I'm a quantitative ecologist. And this package, MacroEco, supports a particular type of quantitative ecological analysis. And I won't describe that in detail, but if there are any biologists or ecologists in the room, again, feel free to grab me after the talk. So at one level, our package MacroEco is just like any other Python package. You install it with PIP. You import it in a script. You use the functions. But more interestingly, what we did with this package is we developed a high-level interface called MacroEco Desktop, which had the particular goal of supporting reproducibility by enforcing provenance for data and results. So in other words, this interface MacroEco Desktop makes it simple to and, in fact, requires you to save all of your raw data, your input parameters, and your results together, linked together in a standardized format so it's always very clear what inputs led to which outputs. And of course, by bundling everything together systematically in that way, the package also makes it fairly trivial to create a push button workflow where you run a single command and you can recreate the results of the entire study. So I'll show you extremely briefly how this works. So for this example, we have a data set from a tropical forest plot in Panama where we have trees identified to the species level and coordinates in space. And we can open up the software. This is the MacroEco Desktop window. As an example, the big text area is the key. We write and we save a parameter file. Some of you notice this is any file syntax. It's not programming code. It's not something you have to learn how to write. It's just a key and a value. You're telling analysis for the metadata. You use this value and different things like that. You load up a simple file like this. You push a button that runs fairly quickly and saves the results right here alongside of all of the inputs. In this particular case, we have this systematically saved tables always in the same format and figures as well. For any of you who are ecologists, who happen to be ecologists, this is a species abundance distribution, empirical data in black with the fits of two different models that we asked for there in the colors. So it does all of this, saves everything side by side so that you always have it with you. That's essentially all of it. At least all that I'm going to show you today. The important things to note are that when you set things up this way, if you wanted to rerun the analysis to reproduce it, you just reload the same parameter file with the same data set, make a few changes. You can press that single button and regenerate all of the same results or slightly modified ones. Unless it seemed that we've gone out of our way to create another irreproducible graphical interface, I'll note you can do all of the same stuff from the command line to programmatically from within a script. And that is all that I'm going to show you today. So feel free to chat with me if you're interested. There's more information in our documentation online. Thanks very much. Thank you.