Link Search Menu Expand Document

Here we list a few tools that might be useful for new group members. We would not cover any details of how to use each tool because of a lot of related resources out there. Our intention here is to let a new group member be aware of what useful tools exist, so feel free to search for more useful tools using Google or Youtube.

TABLE OF CONTENTS
  1. Shell Commands
  2. Package Manager for MacOS
  3. Python
  4. Plotting/Figures Tools
  5. Editors
  6. Research Notebooks
  7. Bibliographic Tools
  8. Data/Code/Notes Storage
  9. Other Useful Resources from Caltech

Shell Commands

Please learn the basics of how to use terminal. Try to google (or YouTube) for the following key words: “simple shell command tutorial”, “how to use shell, Mac (or linux)”, and so on. Here are some basic commands you need to know: cd, pwd, vim, cp, mv, rm, ssh, scp (just name a few.) An example website: shell commands and scripting.

Please learn how to write some simple shell scripts, which can contain several shell command lines. Try to google (or Youtube) for some keywords like “shell script (scripting) tutorial”. An example website: shell commands and scripting.

If you do not like the default terminal on your Macs, then we would recommend iterm2. Once you have iterm2, then we would like to recommend you another cool shell environment called oh my zsh.


Package Manager for MacOS

Installing a package manager on your laptop would make your job easier to install a lot of available software packages. Please install Homebrew (highly recommended) or Macports on your Mac. Please read the corresponding official websites to learn how to install and use.


Python

Though we do not run large calculations using python, we do write a few python scripts to do data postprocessing. Nowadays, there are many tutorials out there on how to use python. If you are not familiar with python, we would recommend installing anaconda and learning the basics of python and a few related python packages, for example, numpy, scipy, matplotlib, or panda. We do not learn everything in those packages but simply Google the related functionality when we need.


Plotting/Figures Tools

  • Gnuplot: A useful tool for plotting data on a terminal. Please see Gnuplot official website.
  • Inkscape/Blender: If you would like to draw beautiful figures (2D or 3D), we recommend Inksapce (Inkscape official page). Here are a few Youtube videos on how to use Inkscape: Inkscape tutorial. Please feel free to look up more related resources by your own. Also, another software (Blender) is also recommend.
  • Keynote: Most of our group members are using Mac and we use Keynote to prepare and share slides. Please consider preparing your slide using Keynote. Download Keynote from the official website.
  • Powerpoint: A few our group members are using Powerpoint. To install Office, please download it from your Office365 account.

Editors

For writing codes, we could recommend using Vim (highly recommended), Atom (recommended), emac, or nano. For writing manuscripts or technical nodes, we would recommend LaTex (Overleaf) or Microsoft Word. If you are not familiar with any above editors that you are interested in, please Google or Youtube to learn the basics or advanced. If you do not have the editor you would like to use, please also learn how to install it.

  • Vim: Please learn at least the basics. Not on your Mac? please install it using Homebrew.

  • Atom: Please consider installing a few packages within.
  • LaTex: please learn how to install and must learn how to use it.
  • Overleaf: you could find a lot of templates there.
  • Microsoft Word: please see Caltech IMSS website how to install.

Research Notebooks

If you would like to record or take notes for your research or reading, we would recommend the following three tools: Notion, EverNote, and OneNote. We do not have any preference here, so please choose any tool you prefer.


Bibliographic Tools

When doing research, we need to collect papers to read, so it is better to have a tool to organize those papers. Here we would recommend Zotero, Mendeley, and EndNote. Please use Tags to organize the papers you have collected. Those tools would explore the bibliography for you when you write a manuscript. Please do not try to type every reference manually…your time is precious : )


Data/Code/Notes Storage

  • GitHub/GitLab: Most of us in the group use GitHub. We upload our codes or even our technical research notes to our private or public repositories. Please consider applying for a GitHub account and learn a few Git basics, for example, a free online udacity course.

  • Caltech Box: If you are a Caltech member, please do not miss it!!! You could have your own free 50 GB storage space. Please see this Caltech Box website. Our group members also share files using Caltech Box.

  • DropBox: When we write research manuscripts, Marco usually asks us to upload our manuscripts to his shared DropBox, so please consider getting your DropBox account.


Other Useful Resources from Caltech

  • Hixon Writing Center where you can find writing resources and you could also make an appointment with writing specialists
  • IMSS where you can find free softwared provided by Caltech
  • Student Wellness Services where you can find useful workshops on reducing your stress, enhancing your productivity, and so on.