This post originally appeared in the Software Carpentry blog.