This page contains information I gathered and thought were very useful. See more notes on programming.