Skip to content

Latest commit

 

History

History
802 lines (516 loc) · 40.5 KB

README.md

File metadata and controls

802 lines (516 loc) · 40.5 KB

Awesome Research Tools

Awesome

A list of tools for research.

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 opensource code.
    • GitLab includes unlimited free private repositories.
    • GitLab comes with a continuous integration tool which 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,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): 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,iOS,Win Store,Chrome OS): Almost perfect todo lists with cooperation and sharing.
  • Google Keep(Cloud,Android,iOS,Chrome OS)
  • Evernote (Cloud,Mac,Win,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,iOS): Good because it has a very good daily review which can help users remember what to do.
  • Todoist (Cloud,Mac,Win,Android,iOS): Todoist invented the karma system which keeps track of the tasks done.
  • Taskade (Cloud,Mac,Win,Chrome OS,Firefox,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 to code, perform numerical calculations or analytical derivation online.

  • Google Colab: free jupyter notebook online. Google Colab also comes with free GPU hours.
    • Free and powerfull.
    • 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 reproductivity.
  • 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.

Ploting 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.

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.
  • Aerobatic: A powerful alternative to GitHub Pages.
  • 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): 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)(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)(Markdown): Octopress is easier to use compared with Jekyll while being somewhat compatible with Jekyll.
  • Hexo (Written in Node.js)(Markdown): "A fast, simple & powerful blog framework" as they say on their website. It supports GFM.
  • Pelican (Written in Python)(reStructuredText,Markdown,AsciiDoc): Pelican is a modularized framework and is perfect for blogging.
  • Nikola (Written in Python)(reStructuredText,Markdown,IPython Notebook/Jupyter,PHP, etc): It takes in multiple input formats including reStructuredText and many others.
  • Hugo(Written in Go)(Markdown): Easy to use and really fast. It also supports more input formats through plugins.

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.

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.
  • Online Kramdown Editor(Cloud): Just another Markdown editor without math support.
  • 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): 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.
  • Mou(Mac): Mou used to be the best Markdown editor on Mac. It is not bad but DO NOT preorder Mou 1.0. This project is dead, unofficially. 了解为什么死掉,请阅读此文。
  • MarkdownPad (Win): If you have no bad feelings about .NET, this is pretty good.
  • ReText (Mac,Win,Linux): ReText one of the best, even on Linux. It also supports reStructuredText input.
  • Madoko (Cloud): LaTeX × Markdown ²
  • eme (Win,Mac,Linux): Math support.
  • Moeditor (Win,Mac,Linux): All purpose markdown editor.

Notebook softwares that you can write in Markdown:

  • boostnote (Win,Mac,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): Notetaking with kanban, math, calendar, table, etc.
  • Agenda (Mac,iOS): Notes and GTD.

LaTeX

  • ShareLaTeX(Cloud): Dropbox and GitHub integration, preview, cooperation, simple UI. It also provides a lot of templates.
  • Overleaf(Cloud): Built in version control.
  • 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.

You can also host one using your own machine.

  • FlyLaTeX: A free, open source version of sharelatex
  • ShareLaTeX Source Code: ShareLaTeX open sourced their codes. This is a great move I would say.
  • TeXStudio - Cross-platform LaTeX editor that stems from TeXMaker.
  • WinEdt - The LaTeX editor many people swear by.
  • TeXnicCenter - A quite old but free and decent editor for LaTeX.
  • LyX - Cross-platform WYSIWYM editor that uses LaTeX behind the scenes to render documents.
  • TeXshop - No-nonsense editor for LaTeX documents which is included in MacTeX.
  • TeXWorks - No-nonsense editor for LaTeX code, modeled after TeXShop, but this one is cross-platform.

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.

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

Mathematica

The Power of SVG

Online SVG editors:

Local SVG editors:

Sharing Slides

Programming

Code Editors

  • Visual Studio Code, aka VS Code(Free,Cross-platform,Plugins): same technology as atom but faster than atom, and Microsoft made.
  • Atom(Free,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,Plugins): cross-platform, fast, and with plugins. Not free but can be freely used forever.
  • JetBrains(Free for Students, Cross-platform,Plugins): beautiful IDE's with many debugging and editing modes integrated.
  • vim(Free,Cross-platform,Plugins): no words can describe the almighty vim.

Softwares

Scientific Computing

Coding is Fun

Academic

Self-plagiarism

This might be not so straightforward but remember this. Reuse your own work doesn't protect you from plagiarism! Read it on

Investigate Papers

  • Paperscape: Finding interesting papers.
  • Peerus: Monitor specific topics or journal for new and relevant papers.
  • SciRate: An front-end for arXiv with rates from readers.
  • ArXiv Sanity Preserver: Accelerate research through arXiv specific for many things machine learning by Andrej Karpathy.
  • Iris.ai: Explore scientific papers and how they connect to a paper of your choice.
  • Publish or Perish: Retrieves and analyzes academic citations designed to empower individual academics to present their case for research impact to its best advantage.
  • PubChase: Life sciences and medical literature recommendation engine.

Get Yourself A Citable Code for Anything

  • Zenodo: Make anything from GitHub citable by getting a DOI code here.

Get Yourself A Unique and Persistent Digital Identifier

  • orcid: Use your ORCID identifier in any research workflow to ensure you get credit for your work.

Add Citations to Your Code

  • duecredit: Allows you to add decorators to Python functions that encode bibliographic details.

Open Science

Bibliography

  • ReadCube/Papers: A all platform app for reference mamagement, note-taking, and more. The former Papers has been rebanded as ReadCube Papers.
  • Mendeley: A bibliography reference manager with cloud storage and BibTeX support.
  • Zotero: An open source bibliography reference manager with syncing and BibTeX support.
  • Zotero Style Repository: Find any style you need.
  • JabRef: An open source bibliography reference manager for the BibTeX format.
  • doi2bib: Retrieves a BibTeX entry from a DOI.
  • crossref: Makes research outputs easy to find, cite, link, and assess.
  • org-ref: Citations, cross-references, indexes, glossaries, and bibtex utitlies for org-mode in Emacs.

Tips for Researchers

Pacifier

Rainy Mood, Coffitivity and Noisli are the recommended ones.

  • Rainy Mood(iOS, Android, Web): rainy day rainy mood, simple but with excellent white noise; a new beautiful soundtrack each day
  • Coffitivity(iOS, Android, Web, Mac): a rather simple but useful coffee shop noise library; premium has more three more soundtracks; elegant UI; scientific research powered
  • Brain.fm(Web): Improve Focus, Relaxation & Sleep with audio brainwave training. Not free but worth every penny.
  • Noizio(iOS, Mac): a handy white noise tool that stays in your Mac status bar.
  • Noisli (iOS, Android, Web, Chrome): free mixing of multiple tracks (which is similar to Soundrown but with much better UI). Users can save a customized setting for later use. I personally think this one has better fire sound tracks than soundrown.
  • Soundrown(Web): free mixing of multiple tracks
  • Muji Sleep(iOS, Android)
  • A Soft Murmur(Web): free mixing of multiple tracks; simple UI; Timer provided; Meander available
  • mynoise(iOS, Web): a noise generator; a lot of choices (too many actually); detailed equalizer
  • Rainy Cafe(Web): not much to say just a combination of rainy mood and coffitivity
  • Sleep Pillow(iOS, Mac): click and play style preloaded scenes; easy to use; beautiful design
  • A youtube audio track of coffee shop (really long)
  • A youtube audio track of 10 hours rain fall
  • TaoMix (Android): sound mixings to concentrate
  • Calm(iOS, Android, Web): to help you calming down
  • Raining(iOS, Android, Web): raining and thunder
  • focus@will(iOS, Android, Web): music to boost your brain; paid services now

Some Other Related Stuff

Online Discussions

Forums and Q&A's

StackExchange.com is a good place for professional discussions. Here is an example.

Open Source

Open Source is great. Use git.

Open Licenses

Generally, open licenses are part of

Use Licenses

To choose a license, an easy way is to use

  • Choose a License which helps you decide which license to use through several steps.

CC Licenses can be found at Creative Commons. For alternative badges or icons, check the following.

  • Guokr Badge: Green CC License badges. (Documentation is in Chinese.)

Data Visualization and Graph Making

Data Visualization

JS and jQuery

Python

Graph Making

Professional graphs should be made using professional tools.

  • GeoGebra(Cloud,Mac,Win,Linux,Android,iOS,Win Store): Geogebra is a very cool tool to make math graphs both 2D and 3D.
  • LaTeXDraw(Linux): "A vector drawing editor for LaTeX."
  • TikZ(LaTeX)
  • BoxPlotR(Web): A web-tool for generation of box plots.

Choose percentually accurate colors for your research plots. Why? (1, 2)

  • colorcet can be used to investigate colormaps.

LaTeX

Much much much better than Microsoft Word.

Tips

Symbols

  • Detexify: find out what the symbol is by drawing online

Graphing

Fonts

Templates

References

Math Typesetting

  • Math into Type: This is a great book for math related typography. This is copyright material. Please DO NOT redistribute.

MISC

Terminal

Free Multimedia

More

  • QR Code Generator: Adding a QR code to your poster can help you get more audience.
  • SHIELDS.io: Make a beautiful badge by yourself.
  • TitleCap: Not sure which word to capitalize in the title? TitleCap is right for you.
  • On Being a Scientist: A guide to responsible conduct in research.
  • DiRT Directory: Registry of digital research tools for scholarly use.
  • Online Whiteboard: A simple online whiteboard that users can collaborate; Good for online meetings.
  • MapInSeconds.com: Create maps with corresponding data quickly by copy-pasting from a spreadsheet.
  • Unpay Wall: legally download research papers for free.

This is a CC BY-SA licensed project. Use the source! Keep the source open!

CC BY-SA