Research Tools

repo: emptymalei/awesome-research
category: Miscellaneous


Awesome Research Tools

Awesome

A list of tools for research. Also available on https://tools.kausalflow.com/tools/.

TOC

Be-Organized

Version Control System

First things first, everyone should know version control system, aka VCS. VCS helps us track changes in our documents as well as collaborations on the documents. Needless to say, version control is one of the most useful tools for scientists.

  • git
  • svn
  • mercurial

Online Git Service

  • GitHub: the most popular platform for git with social and collaborations built-in.
    • GitHub also provides GitHub Actions. With Actions one could automate processes.
    • GitHub provides GitHub Pages. With GitHub Pages, on could host static files as well as Jekyll built websites.
  • GitLab: similar to GitHub, GitLab provides git hosting, collaborations, social, automations, and more. GitLab can be both cloud-based and self-hosted using its open-source code.
    • GitLab includes unlimited free private repositories.
    • GitLab comes with a continuous integration tool that is more powerful than GitHub Actions.
  • BitBucket: Alternative to GitHub and GitLab with free private repositories.

Self-hosted Git Server

Enterprise Git Service

  • RhodeCode: Centralized control for distributed repositories. Mercurial, Git, and Subversion under a single roof.

Pomodoro

Pomodoro Technique can be used to boost your productivity and probably improve your health. There are almost infinite choices for the tools.

  • Pomotodo (Cloud,Mac,Win,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS,Chrome): A mix of todo list and pomodoro timer, with sync across devices and weekly report [Free].
  • Tadam (Mac): Simple and elegant pomodoro timer [USD$ 4.99].
  • Productivity Challenge Timer ([Android](/@harrisonqian/awesome/wiki/platforms/android)): Pomodoro timer with great gamification features [Free].

GTD-Task Manager

The GTD (Getting Things Done) method unloads the todo lists off the mind by recording them using external tools. It allows one to focus on one active task instead of on all of them (Wikipedia). Tasks can be classified in contexts (@home, @computer, @office, etc), time of action (now, next actions, scheduled or someday) and projects. Here we have a good pragmatic guide to GTD and here is a flowchart.

  • Microsoft To Do (Cloud,Mac,Win,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS,Win Store,Chrome OS): Almost perfect todo lists with cooperation and sharing.
  • Google Keep(Cloud,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS,Chrome OS)
  • Evernote (Cloud,Mac,Win,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS,Win Store): Not so lightweight but still very good for managing life especially since it has got a lot of integrations from a lot of other services.
  • Anydo (Cloud,Mac,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS): Good because it has a very good daily review which can help users remember what to do.
  • Todoist (Cloud,Mac,Win,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS): Todoist invented the karma system which keeps track of the tasks done.
  • Taskade (Cloud,Mac,Win,Chrome OS,Firefox,[Android](/@harrisonqian/awesome/wiki/platforms/android),iOS): Taskade is a collaborative task list and outliner for team projects.
  • Agenda(Mac): Date-focused note taking.

Cloud Services

For self-hosted services, check out awesome-selfhosted on GitHub.

Math and Programming Online

There are many tools that allows use of code, perform numerical calculations or analytical derivation online.

  • Google Colab: free jupyter notebook online. Google Colab also comes with free GPU hours.
    • Free and powerful.
    • Share and collaborate on the same notebook.
    • Can be saved in GitHub or Google Drive.
  • NextJournal: the notebook for reproducible research.
    • Basically, NextJournal runs almost anything.
    • Focusing on reproducibility.
  • Kaggle: kaggle has built-in free jupyter notebook.
    • One can also connect to Google BigQuery to access big data.
  • Azure Notebooks: online jupyter notebooks.
  • Datalore: online jupyter notebook by JetBrains.
  • CoCalc (SageMathCloud): LaTeX, R, iPython Notebook, etc.
  • SageMaker: AWS service with a lot of tools integrated. Sagemaker comes with the Sagemake Studio which provides jupyter notebook for programmer and other charting and data management tools.
  • WolframAlpha: Excellent engine to do mathematical derivation online and search.
  • Mathematica Online: Bring Mathematica to life in the cloud.

Plotting and Charting Online

While one could use these online jupyter notebooks mentioned above to make plots, there are many easy to use too that could be used for simple plotting.

  • plot.ly: Online plotting with many cloud services integrated.
  • Desmos: Graphs for functions.
  • GeoGebra: very old but still very good. GeoGebra can be used for precise charting as well as calculations.
  • graph.tk: Online plotting with rich features.
  • Wolfram Alpha: Make graphs for functions, from your data and even more.
  • SankeyDiagram.net: Web-based tool for creating & sharing Sankey Diagrams from data (open-source)

Datasets

Nature hosts a list of recommended data repositories here.

General and Interdisciplinary

  • DRYAD (Storage, Lookup): The Dryad Digital Repository stores curated data.
  • Figshare (Storage, Lookup): Data sharing and storage
  • Data.gov (Lookup): Data by US Federal Government

Life Science

Physical Sciences

Arts and Humanities

Engineering

Social Sciences

Colors

Pick a pleasing color for your presentations and notes. Refer to Data Visualization and Graph Making

Publishing and Sharing

Make use of GitHub to cooperate with others. GitHub pages is also good for hosting static contents. GitHub provides Education perks so students could get free pro version which comes with private repos.

Writing

Markdown is one of the best languages for writing. Check out these editor in Markdown section.

Make use of these programs for publishing:

  • Sphinx: RestructuredText as source files, powerful, flexible and modularized.
  • Gitbook: A new but promising tool for HTML, pdf, and epub with both online editors and local editors. Plugins like quizzes and math can be helpful to writing science.
  • Git-scribe: Good for writing ebooks.
  • Static Site Generator: For more please refer to Static Site Generator.

Sphinx Themes and configurations

Science Books Using Sphinx

Here are some examples of how sphinx can be used for research.

Writing Tools

Just use Visual Studio Code.

  • Hemingway App: Highlights complex sentences, point out passive voice, and suggests alternative words.
  • proselint: A linter for English prose using advice from Garner's Modern American Usage and more.
  • write good: Naive JavaScript linter for English prose.
  • artbollocks-mode: Emacs minor mode for avoiding cliches and bad grammar when writing about art (or other topics).
  • cut_the_crap.py: Simple Python script to flag redundant words and gives alternative suggestions.
  • Rousseau: Lightweight proofreader written in JavaScript.
  • textlint-rule-rousseau: A textlint rule to check English sentences using Rousseau.
  • De-Jargonizer: Paste your article or upload file to analyze the amount of jargon in your writing.

Hosting

Host your articles, notes and more. Research is also about communications.

  • ReadtheDocs: Turn your reStructuredText source to HTML, PDF, and epub, all done online.
  • GitHub pages: Integrated with Jekyll and turns markdown posts automatically. Jekyll is a tool for blogging.
  • GitHub: Just put markdown, reStructuredText, PDF or IPython/Jupyter notebook files on GitHub. All these formats can be previewed online. The thing to mention is that the math in IPython notebook can be rendered on GitHub.
  • Surge: One command upload your static website to make it live. Surge also integrates GitHub hooks.
  • Heroku: The one that needs no explanation.
  • AWS: Amazon AWS provide student perks.

Other services such as Digital Ocean are also useful when it comes to dynamic websites and cloud computing.

Blog and CMS

Before doing the investigation on platforms, just remind yourself:

I want to write, not to run blogging software.

Blog/CMS Software

These programs are running on the server and can be hosted using these services.

  • GitBook (Cloud): write in Markdown and collaborate with the team. GitBook integrates with GitHub so no content will be lost.
  • Ghost ([Node.js](/@harrisonqian/awesome/wiki/platforms/node-js)): Open, Simple, non-profit; write with markdown and live preview.
  • Pico (PHP): Lightweight cms, open source, no database.
  • Dropplets (PHP): Open source, simple, and elegant blog system; write in Markdown.
  • Wordpress (PHP): Very popular but requires a lot of maintenance.

These Blog/CMS software can be hosted on Digital Ocean.

Static Site Generator

Here is a nice website that tells you all the static site generators. Nonetheless here is a list of the most popular ones.

  • Jekyll (Written in [Ruby](/@harrisonqian/awesome/wiki/programming-languages/ruby))([Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown)): Jekyll is the most widely used one. The best part about Jekyll is that one just deploy to GitHub Pages by pushing the source to GitHub.
  • Octopress (Written in [Ruby](/@harrisonqian/awesome/wiki/programming-languages/ruby))([Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown)): Octopress is easier to use compared with Jekyll while being somewhat compatible with Jekyll.
  • Hexo (Written in [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js))([Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown)): "A fast, simple & powerful blog framework" as they say on their website. It supports GFM.
  • Pelican (Written in [Python](/@harrisonqian/awesome/wiki/programming-languages/python))(reStructuredText,[Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown),AsciiDoc): Pelican is a modularized framework and is perfect for blogging.
  • Nikola (Written in [Python](/@harrisonqian/awesome/wiki/programming-languages/python))(reStructuredText,[Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown),IPython Notebook/Jupyter,PHP, etc): It takes in multiple input formats including reStructuredText and many others.
  • Hugo(Written in Go)([Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown)): Easy to use and really fast. It also supports more input formats through plugins.
  • Hyperdraft(Written in [JavaScript](/@harrisonqian/awesome/wiki/programming-languages/javascript))([Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown)): Automatically generate a website as you type plaintext or Markdown.

The site generated by these programs can be hosted on GitHub Pages.

Note Taking

Notebooks for Researchers

  • Findings: Your research assistant & lab notebook, all in one app.
  • Learnly AI: AI-powered academic assistant for students, featuring smart note-taking from lectures, PDFs and videos, essay writing with literature review, and AI presentation generator.

Editors

Markdown, LaTeX, and reStructuredText are the three useful languages. In most cases, a tweakable text editor such as Visual Studio Code, aka vscode is good enough. In fact vscode comes with a enormous amount of extensions which can be used to build your own IDE.

Markdown

  • Hackmd.io (Cloud): Basically ships with everything you expect from the most complete online markdown editor.
  • StackEdit(Cloud): StackEdit is a Markdown editor with many integrated services such as math (MathJax), Google Drive, Dropbox, and GitHub.
  • CMD markdown(Cloud): CMD is a Markdown editor with math (MathJax) support. What is special is that it keeps edit history. (Chinese UI.)
  • Penflip(Cloud): Penflip is designed to be a GitHub for writers. It is Markdown-based and git like without math support.
  • Authorea(Cloud): A much more powerful Markdown and LaTeX online editor that can be used to produce nice academic papers.
  • Dillinger(Cloud): Markdown editor but no math mode.
  • Pandoc Markdown(Cloud): Just another Markdown editor with math (MathJax) support.
  • Marxico(Cloud,Mac,Win,Chrome): Markdown editor that integrates with Evernote, generates pdf and works offline. 马克飞象(Cloud,Mac,Win,Chrome) is the Chinese version。
  • Madoko(Cloud,Chrome): A Markdown editor with math support, where images are inserted easily with one click, while your files are saved on Dropbox, GitHub, OneDrive or local disk. It generates pdf and HTML page and works offline using browser's local storage. One can even import LaTeX files.
  • Markx(Cloud): Markdown editor for scientific writing. Batteries included.
  • typora(Mac,Win): Beautiful UI and in-situ live preview.
  • Haroopad(Mac,Win,[Linux](/@harrisonqian/awesome/wiki/platforms/linux)): A powerful github flavored markdown editor with useful extensions. Math (mathjax) is supported.
  • jbt/markdown-editor(Cloud): Just another online Markdown editor without math support.
  • MarkdownPad (Win): If you have no bad feelings about .NET, this is pretty good.
  • ReText (Mac,Win,[Linux](/@harrisonqian/awesome/wiki/platforms/linux)): ReText one of the best, even on Linux. It also supports reStructuredText input.
  • Madoko (Cloud): LaTeX × Markdown ²
  • eme (Win,Mac,[Linux](/@harrisonqian/awesome/wiki/platforms/linux)): Math support.
  • Moeditor (Win,Mac,[Linux](/@harrisonqian/awesome/wiki/platforms/linux)): All purpose markdown editor.

Notebook softwares that you can write in Markdown:

  • boostnote (Win,Mac,[Linux](/@harrisonqian/awesome/wiki/platforms/linux)): Math + Markdown, with snippet note support.
  • Quiver (Mac,iOS): Programmer's notebook, math + Markdown, code snippet.
  • Findings (Mac): Notebook for experimentalists, organized research materials and notes.
  • Notion (Win,Mac,iOS,[Android](/@harrisonqian/awesome/wiki/platforms/android)): Notetaking with kanban, math, calendar, table, etc.
  • Agenda (Mac,iOS): Notes and GTD.

LaTeX

  • Overleaf(Cloud): Built in version control, Dropbox and GitHub integration, preview, cooperation, simple UI. It also provides a lot of templates.
  • Authorea(Cloud): Easy to use UI. Supports both Markdown and LaTeX.
  • Papeeria(Cloud): Just another online LaTeX and Markdown with plot compiler and collaborations.
  • JaxEdit(Cloud): JaxEdit doesn't provide full LaTeX support but is good enough for simple LaTeX documents and slides.
  • SpicyChai LaTeX(Cloud): Online LaTeX editor with AI-powered template population, real-time PDF preview, and pre-built templates for resumes, papers, and more. Free anonymous renders without signup.

You can also host one using your own machine.

You can also add notes directly to academic papers

  • Synthical - aggregates all papers from arXiv, medRxiv, bioRxiv, and chemRxiv with ability to highlight and leave notes.

IPython Notebook

Use IPython Notebook to help with your research. IPython Notebook can be previewed on GitHub directly. Here are some examples of how IPython notebook can be used.

  • [Scientific Python Lectures](https://github.com/jrjohansson/scientific-python-lectures)
  • Reproduced Papers
  • More: For more IPython notebook on GitHub please read this enormous list.

Mindmap

Standalone

  • Mind Manager
  • XMind
  • Docear

Online

MINDMAP HTML

Concept Map and Diagrams

  1. Gliffy: all kinds of diagrams
  2. ProcessOn: all kinds of diagrams
  3. Draw.io: all kinds of diagrams

Keep The Notes

It's alway better to keep track the changes of your notes and git is a nice choice. Therefore, GitHub is the almost perfect place.

As for LaTeX, latexdiff is a tool for checking the diff.

Some programs allows you to keep the markdown notes on a server.

  • Raneto: Raneto is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase. This one has a nice looking.
  • Realms: Git based wiki written in Python Inspired by Gollum, Ghost, and Dillinger. Basic authentication and registration included.
  • Tiddlywiki: A unique non-linear notebook for capturing, organizing and sharing complex information.
  • Some other static site generators.

For experimental research, eLabFTW made a online labnote system: eLabFTW.

Presentation Tools

Keep You Computer Awake

It is important to keep your computer awake during the presentation. Instead of changing the power options, the following tools can also do the job.

  • Caffeine (Mac): As simple as a single click.
  • Amphetamine (Mac): More configurations involved and more intelligent.

Online Load and Edit

Use The Source

Requires a few front-end techniques.

HTML+CSS+JS

Use colors to make your HTML feels better.

IPython/Jupyter Notebook

Python, Julia, R, Scala and more languages are supported in IPython/Jupyter Notebook which can also be used to give presentations.

Refer to math and programming online for cloud-based Jupyter Notebooks.

LaTeX Beamer

  • Beamer: Shipped with standard LaTeX installations. A lot of themes has been invented. Start editing with one click on Overleaf

Mathematica

The Power of SVG

Online SVG editors:

Local SVG editors:

  • Inkscape(Mac,Win,[Linux](/@harrisonqian/awesome/wiki/platforms/linux))
  • GIMP(Mac,Win,[Linux](/@harrisonqian/awesome/wiki/platforms/linux))

Sharing Slides

Programming

Code Editors

  • Visual Studio Code, aka VS Code(Free,[Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform),Plugins): same technology as atom but faster than atom, and Microsoft made.
  • Atom(Free,[Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform),Plugins): electron based editor with numerous plugins and easy modifications. Cross-platform with settings and plugins synchronized through the sync-settings plugin.
  • Sublime Text(Free Evaluation,[Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform),Plugins): cross-platform, fast, and with plugins. Not free but can be freely used forever.
  • JetBrains(Free for Students, [Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform),Plugins): beautiful IDE's with many debugging and editing modes integrated.
  • vim(Free,[Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform),Plugins): no words can describe the almighty vim.

Softwares

Scientific Computing


truncated — full list on GitHub

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?