This page lists scientific coding resources, covering text editors, version control, Mac package managers, Python and Jupyter notebooks, bash(/shell) scripting, and X-ray data analysis. Please let me know if any links are outdated or if your favourite resource isn’t on here! (Do not contact me asking me to link to your vaguely-coding-related webpage that isn’t about astronomy or physics research software development.)
The Top 5 Text Editors, according to Lifehacker
Free text editor roundup from How-To Geek
Comparison of text editors on Wikipedia
vi (the most basic/simple)
Vim (VI iMproved)
Emacs (warning: the inventor of emacs has serious carpal tunnel syndrome, and the emacs key bindings are partly to blame)
Aquamacs (emacs-based, Mac only)
TextWrangler (my favourite, Mac only; allows for vertical selection of columns by holding down the alt key; doesn’t work on the newest OS X)
pyCharm (specifically for Python, but has other language plugins)
Git: Version Control Software
About Version Control and Git on AstroBetter
GitHub is one of the very popular implementations of the git version control system:
A Beginner’s Guide to GitHub
My GitHub page!
GitKraken: I prefer to use a GUI for managing projects that have more than one contributor to visually sort out which branches have which features. I like this one! It handles rebasing better than GitHub Desktop.
A summary and comparison of commonly-used programming languages
Anaconda distribution and packages (use this!!!)
Anaconda QuickStart Guide (downloadable pdf)
Jupyter (/iPython) notebooks
Anaconda comes with Jupyter notebooks installed!
iPython Homepage and about interactive computing in Python
Project Jupyter blog, an evolution of iPython for interactive computing in different languages
Tutorial from OpenTechSchool
Notebook viewer — can view Jupyter and iPython notebooks from GitHub, e.g., but GitHub now has notebook viewing integrated in it (as of July 2015)
It’s a good idea to use bash, the bourne-again shell, rather than c-shell, tc-shell, or any of the others. It seems to have the most support and is the most widely-used.
Command Line Absolute Basics from Lifehacker
Command Line Crash Course (from Learn Python the Hard Way)
Bash Programming – Introduction HowTo
Bash Guide for Beginners
Bash Shell Scripting Wikibook
Advanced Bash Scripting Guide
X-ray Data Analysis
HEASOFT main page
HEASOFT Install Instructions (Note: Use the full source code, not a pre-compiled binary.)
FTOOLS Task Summary (don’t re-invent the wheel!)
Installing CALDB, the calibration database
Stingray: timing and spectral-timing analysis software to study rapid variability. Thus far it has been applied to X-ray and radio data!
LSST DSFP: Lectures and problem sets from the Data Science Fellowship Program, covering a wide variety of analysis techniques.
NICERDAS: List of NICER data analysis software tools. You’ll generally just need to run nicerl2!
Scientific Analysis System (SAS) homepage: The SAS data analysis threads are very useful!
Full XSPEC Manual
Tutorial: Fitting Models to Data
PyXspec: Quick Tutorial (Note: PyXspec doesn’t play well with the Anaconda distribution of python.)
The QDP/PLT User’s Guide (‘Introduction’ and ‘Basics’ are useful for new users)
Interactive Spectral Interpretation System (ISIS)
The AstroBetter wiki
Program and materials from 2nd Black Hole school
Program and materials from 1st Black Hole school
Presentations from Black Hole Variability 2010
OS X Astro Tricks: Tips and bug “fixes” for running astronomy-releated software on OS X
J. Foster’s Notes on installing python and astronomy-related software on Macs.