This is a list of useful software we may need.
git is the version control system we use. Some of our stuff is kept on github, which is a public repository of our code. See http://jklymak.github.com.
brew install git
You probably want to set up a github account.
sudo gem install jekyll
jekyll is the site generator for these webpages, and how we will serve the documentation for each project. Github runs it automatically if you follow the directions at http://jklymak.github.io/projtemplate. However, if you want to preview the webpage locally before committing and pushing it, then you can run
jekyll serve --baseurl ''
and you will be able to see it at http://localhost:4000/.
If brew
is not already on your computer, see Install Homebrew at http://brew.sh and follow the prompts. Brew is the unix package manager for OS X, and it largely has what we want. However, note that a lot of things that I used to use brew for are now available by anaconda, and using one packaged manager is better than a lot.
For general editing, I use Atom.
For formal document preparation, I keep a Latex files. For OS X use MacTeX and it will install TexShop and BibDesk
For my bibliographies, I use bibtex and Bibdesk.
For data analysis I almost exclusive use python now. All the libraries I use can be installed from Anaconda.
Most libraries not included with Anaconda can be included by running
conda update
conda install newlib
Many cutting edge libraries are at conda-forge So I do
conda config --add channels conda-forge
conda config --set channel_priority strict
to make sure it is included in the search paths for installs.
My usual minimal install is:
conda install matplotlib scipy xarray dask netcdf4 seawater jupyter
I run jupyter notebook for most of my analysis. To get this running I type:
% jupyter-notebook
Then, you need to open Firefox, to http://localhost:9999/ and your notebook will appear. You can start entering python code and running it. The result will be saved in Notebookname.ipynb
in the directory you are working in (where you choose the Notebookname
).
You can enable some cool extensions for the notebook:
conda install -c conda-forge jupyter_contrib_nbextensions
I particularly like toc2
(table of contents) and Snippets
(pre-filled cells).