Skip to content

Instantly share code, notes, and snippets.

@khosravipasha
Forked from stared/software_for_scientists.md
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save khosravipasha/26a1b93963a41fefdd95 to your computer and use it in GitHub Desktop.
Save khosravipasha/26a1b93963a41fefdd95 to your computer and use it in GitHub Desktop.

Software for scientists

Some things takes much less time and stress once you know the right tool. Below, there is a community edited list of software for scientists.

Text editors

in General purpose text/code editors. It may be better to have a good editor for everything, than different ones for different languages, scripts, notes.

  • Sublime Text 2

  • Notepad++

    • Open source, for Windows
    • Quite powerful, simple (no steep learning curve), and very stable
    • Useful block-select functions
  • Vim

    • Open source
    • Powerful, but steep learning curve
    • Type vimtutor in terminal to learn basics (or if you want to have some fun vim-adventures)
    • TODO: some materials for science (e.g. complete setup to use it with LaTeX)
  • Emacs

    • More of a powerful programmagle text environment, than an editor
    • Includes mutt (first mail client that supported threading), IRC client, many programming modes, Tramp (SSH), terminal emulator (great for Windows users!)
    • Includes a powerful note-taking and Organization tool: Org mode
    • LaTex mode with realtime preview of output PDF is awesome
  • Gedit

    • open source

Note-taking

As we all take a lot of notes. Some links from this: http://academia.stackexchange.com/questions/8002/how-to-manage-theorists-labbook.

As a general thing, Markdown format may be convenient. It can be read on any system, and it is easy to cenvert it to HTML, PDF of DOC using Pandoc.

Collaborative writing

Some discusion here: http://academia.stackexchange.com/questions/1261/simplest-way-to-jointly-write-a-manuscript

(see also: Sharing code and Version control)

Non-LaTeX

LaTeX

  • ShareLaTeX

    • Open source
    • Git and Dropbox support in paid version
    • Basic features are free
  • WriteLatex

    • Perhaps the best way to introduce people to LaTeX (no installation required, starts with a full working example)
  • Authorea

    • nice interface designed for writing full, scientific papers
    • also can use Markdown
    • underlying git repo, so good history management
    • public articles + one private free
  • StackEdit

    • Web editor with Markdown and LaTeX, synchronizes with GoogleDocs and GitHub
    • Maybe good to introduce people to Markdown
  • http://mathb.in/

    • Short math notes

Collaborative reading

  • PeerLibrary
    • Collaborative reading of academic publications
    • Sharing, highlighting, annotations, discussions
    • Displays PDFs in the browser
    • Still in development, open source
  • SciRate
    • tracking of new papers from arXiv
    • you can recommend and comment preprints

Version control

Crucial for code. Often helps a lot with writing LaTeX documents (see some discussion here: http://academia.stackexchange.com/questions/5277/why-use-version-control-systems-for-writing-a-paper). Much more pleasant than e-mailing back and forth changes!

While for small-to-medium size both are equally powerful (so pick any and you will be happy!), an older version control system Subversion (SVN) is less powerful, but not necessarily simpler (so when starting a new repository, use Git or Mercurial). For older projects it is still fine (SVN version control is still much, much better than no version control!).

For both Git and Mercurial SourceTree is nice and free (though not open) graphical interface.

For hosting (for collaboration with others and backup), see Bitbucket and GitHub.

Website tools

For personal homepages, lab notebooks and conference websites.

Survey tools

Reference managers

  • Mendeley

    • With PDF, notes, arXiv field, BibTeX support, metadata extraction
    • Free with large storage limit; owned by Elsevier
  • Zotero

    • Strong browser integration - click a button in the URL bar to save a reference
    • Syncs references between computers
    • Open source
  • JabRef

    • Cross-platform manager for BibTeX databases. Little integration with the web.
  • Bibdesk

    • Mac OS X

Sharing and repositories

Question and Answer sites

(list only related to academia or research-level)

General-purpose programming

Plots and diagrams

Drawing diagrams

Presentations

(except for the well-known office packages :), unless with some additional hints)

Additional tools

  • Latexit for easily putting equations into Keynote/Powerpoint/Anything

Sharing slides

Sharing is bulit-in in Prezi and Slidify.

More generic: GitHub and Figshare

Posters

Math calculations

See also: General-purpose programming: Python. (And to reiterate: SciPy!)

  • Mathematica
    • commercial
    • for symbolic calculations
  • Wolfram Alpha
    • for online simple plots, units changing, integrals etc. a "demo version" of Mathematica
  • MATLAB
    • commercial
    • for numerical calculations, supports scripting
  • Octave
    • open source, GNU licence
    • almost the same as MATLAB (sometimes incompatible), without graphical interface - only text
    • may use Gnuplot for plots
  • Sage
    • open source, licensed under the GPL
    • mathematics software system (alternative to Magma, Maple, Mathematica and Matlab.) . It combines the power of many existing open-source packages into a common Python-based interface.
  • R
    • for any kind of statistics

Productivity misc

Throw a pile of random programs (it is not a complete list)

  • Remember The Milk

    • Todo list with easy synchronization
  • RescueTime

    • to track how much time you spend on different activities on your computer (that is, how much you work, and how much you procrastinate)
  • Delicious and Pinboard

    • bookmark managers
  • Dropbox

    • backup, sharing and some crude collaboration and version control

Other similar listings

Meta

This text is in Markdown, put on https://gist.github.com/ (https://gist.github.com/stared/9130888) (its raw text is here).

Feel invited to collaborate.

By

Original version collaboratively edited on http://titanpad.com/x1AgPmeWX1 by:

Intro note from the TitanPad file

YOU ARE INVITED TO EDIT! :)

DO:

  • Add programs you use and recommend
  • Fix mistakes and omissions by others. :)

DON'T:

  • Throw a pile of random programs (it is not a complete list of software for X - it is a recommendation list)

Additional pluses for:

  • [name](link)
  • comments on status (e.g. open source)
  • one sentence of description what's that and what's that good for
  • links to tutorials or other resources (esp. for the academic usage)
  • or links to good examples of usage
  • adding categories, their short intros or general links
  • marking explitly if it only works under some OS

Please take yourself time to read http://titanpad.com/ep/pro-help/#deletionpolicy (I will put it as a GitHub gist after)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment