Skip to content

Software Practices¤

Most of what we do in this research group is about, or enabled by, open-source software - so it is really good to get on top of practices and workflow for doing this.

Most software development will be done in Python, and I recommend using Anaconda to install Python 3 and pip to manage packages.

My GitHub¤

All my code is version-controlled github.com/benjaminpope - you should set up yours!

Making Open-Source Software¤

Christina Hedges (Ames) has a fantastic introduction to open-source software practices for astronomy, which I won't try to compete with:

Autodiff¤

We will rely extensively on automatic differentiation, or autodiff. Like magic, we can propagate derivatives through almost arbitrary code via the chain rule - which means we can do fast, gradient-based inference, optimization, and perturbation theory.

Here are some great tutorials: