Additionnal resources
Additionnal resources
You will find here additionnal resources that have been shared or discussed during the school.
Text editors
Comment in slack by @maxnoe:
First, there are three main different types of text editors:
- Graphical Text Editors open a new graphical window
- Terminal Text Editors run inside the terminal
- Integrated Development Environments (IDEs)
Many people “more advanced” prefer the terminal based editors, because they are very accustomed to working in the terminal and they never need to leave the terminal when using a terminal based editor. However, most terminal based editors are not easy to use for beginners and if you are still struggling with getting to know the programming languages that is an additional hurdle you can avoid by using one of the modern graphical editors. IDEs are usually Graphical Text editors with many, many features concerning one or more programming languages and you can also mostly configure text editors with extensions to become IDEs.
Terminal based editors
Nano
Nano is a very simple terminal based editor that is easy to use, shows it’s help at the bottom, is installed on basically every unix system but for example doesn’t support many features for programming like syntax highlighting.
(neo)vim
(Neo)Vim is the text editor you saw me using in the lecture, it is hard to use for beginners, because it works very differently to other editors you might be used to. It is mode based and is very powerfull especially with lots of extensions.
Emacs
The other large, very extensible terminal text editor. Some people joke it has so many features that it is its own operating system, only lacking a good text editor.
Graphical Text Editors
There are lots, but currently I would just recommend you try out Microsoft’s Visual Studio Code (https://code.visualstudio.com/), or the open source builds of it without telemetry called VS Codium (https://vscodium.com/) Choosing a good text editor and learning how to efficiently work with it will dramatically ease your development. Several notebooks with analysis examples and an interface to launch the framework mentioned above, are available using executable platforms.
Readings
Data Science
- Python Data Science Handbook shared by @maxnoe
Machine learning
ebook of Elements of Statistical Learning shared by @maxnoe
Deep Learning: An Introduction for Applied Mathematicians shared by @bkmgit
Deep Learning Book shared by @bkmgit
Blogs
- The Batch - AI weekly newsletter
Youtube channels
- Two Minute Papers - fuild simulations and machine learning channel
Online courses
Libraries
- 3ML - a multi-mission maximum likelihood framework that provides a common high-level interface and model definition, which allows for an easy, coherent and intuitive modeling of sources using all the available data, no matter their origin. shared by @kabartay issue #72
- APLpy - a module aimed at producing publication-quality plots of astronomical imaging data in FITS format. shared by @kabartay issue #72
- AstroML - a module for machine learning and data mining. It contains a growing library of statistical and machine learning routines for analyzing astronomical data in Python, loaders for several open astronomical datasets, and a large suite of examples of analyzing and visualizing astronomical datasets. shared by @kabartay issue #72
- AstroNN - a library built on top of Tensorflow for machine learning in astronomy. shared by @bkmgit
- PySINDY - a library to do regression fitting of differential equation parameters from data. shared by @bkmgit
- SunPy - a package for solar physics. shared by @kabartay issue #72
- SpecViz - a tool for visualization and quick-look analysis of 1D astronomical spectra. shared by @kabartay issue #72
- Tensorly - a library to make Tensor operations for data science and machine learning easier to do. shared by @bkmgit