Skip to content

Commit

Permalink
Additional adjustments
Browse files Browse the repository at this point in the history
  • Loading branch information
larsvilhuber committed Jan 6, 2024
1 parent e589fc1 commit 189116c
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
30 changes: 30 additions & 0 deletions 21-have-an-undergrad-run-it.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,33 @@
```{tip}
This is a great exercise for an undergraduate student, plus providing you with the benefit of testing your replication package.
```

## TL;DR

- Ask an undergraduate student (with some experience using statistical software) to run your replication package, based entirely on the documentation you provide, without interacting with you in any other way.
- Pay that undergraduate student!

## Details

The AEA Data Editor runs the reproducibility check with undergraduate students. While there is some training involved in order to do such an activity reliably and at scale, simply running the code should not involve much. Interested parties can consult the [LDI Lab Training manual](https://labordynamicsinstitute.github.io/ldilab-manual/) for some guidance on how to train students on this.


## Takeaways

### What this does

This verifies

- that your code runs without problem, after all the debugging.
- that your code runs without (too much) manual intervention.
- that your code generates a log file that you can inspect, and that you could share with others (if you prepared that as per [a previous section](creating-log-files))
- that it will run on somebody else's computer!!
- that it actually produces all the outputs

### What this does not do

Well, it's not perfect, because sometimes undergraduates get things wrong. But that's fine. It's a teaching moment!

### What to do next

If you want to do something similar without the human touch, check out the next section.
5 changes: 5 additions & 0 deletions 30-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,23 @@ Commercial container sharing services regularly purge containers from their serv

## Examples

While Docker is usually mentioned in the context of free open-source software such as Python or R, it can be used with commercial software. For example, the AEA Data Editor provides a [Docker image](https://hub.docker.com/r/dataeditors/stata17) for Stata 17, together with instructions on how to run it. You do need a license file, but if you are going to run a Stata replication package, you probably already have that.

```bash
docker run -it --rm \
-v "/path/to/stata.lic":/usr/local/stata/stata.lic \
-v "$(pwd)":/project \
-w /project \
dataeditors/stata17:2023-08-29 \
-b do main.do
```


## Additional resources

- [Docker](https://www.docker.com/) is a free, open-source container manager, which allows users to create containers using "recipes" (called `Dockerfiles`). While the underlying technology is usually Linux, [Docker Desktop](https://www.docker.com/products/docker-desktop) (commercial, free for most academic uses) allows users to run containers on Windows, macOS, and Linux.
- [OrbStack](https://www.orbstack.com/) is a container manager for macOS (commercial, free for typical academic usage). It is compatible with Docker.
- [Apptainer](https://www.apptainer.io/), formerly known as [Singularity](https://sylabs.io/singularity/), free, open-source container manager. It can use Docker images, but has its own syntax for "recipes". It is fundamentally Linux based, and available on many university HPC clusters.
- [WholeTale](https://wholetale.org/) is Docker-based academic service providing free online resources to create (and use) reproducible research. While it does not allow you to directly run Docker, it does provide for free instances of Stata and MATLAB.

Various other container managers are available for both Linux and Windows (Azure) based clouds (`podman`, etc.). They should all be able to run Docker containers.
4 changes: 4 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ Content is [![License: CC BY-NC 4.0](https://licensebuttons.net/l/by-nc/4.0/80x1

The table of contents goes initially from easy to more complex. Each section should be seen as one method of running, with varying levels of "trust" in how robust it is to replicators' environments. Some can be combined, others may not work well together.

## TL;DR

Techy lingo for "too long, didn't read". A summary of the most important takeaways will be at the top of each section.

## How to contribute

![GitHub issues](https://img.shields.io/github/issues-raw/larsvilhuber/self-checking-reproducibility.svg?style=flat) ![GitHub last commit](https://img.shields.io/github/last-commit/larsvilhuber/self-checking-reproducibility.svg?style=flat)
Expand Down

0 comments on commit 189116c

Please sign in to comment.