Computer-Oriented Geoscience Lab

Links to resources

A curated list of software tools, services, and learning resources that could be handy for the work we do in the lab. Feel free to add new things that you’ve found useful!

Learning resources

Coding and software development:

  • Software Carpentry has community driven lessons on how to use the Unix shell, Version Control with Git, and Python.
  • Transform tutorials: Software Underground hosts the yearly Transform events where a lot of tutorials take place, particularly oriented to teaching how to use open-source tools for geosciences.
  • How to Write a Git Commit Message: a comprehensive guide to learn how to write meaningful git commie messages. Read it sooner than later!
  • Pro Git book, by Scott Chacon and Ben Straub. Licensed under CC-BY-NC-SA 3.0 and available in different formats (PDF, epub and as website).

LaTeX (producing beautiful documents):

Vim or Neovim (text editors):

Software tools

Note: Every tool listed on below is open-source or software libre.

Document writing and LaTeX:

  • latexmk: a CLI tool that automates the process of generating LaTeX documents.
  • Tectonic: a modern LaTeX engine, powered by XeLaTeX and TeXLive.
  • pandoc: universal document converter (e.g. transform Markdown to HTML, to a PDF or to a Microsoft Office/Libre Office document).

Python:

  • mamba: Python package manager
  • Miniforge: a conda-forge distribution (alternative to Anaconda, useful if we don’t desire to agree with the Anaconda TOS).
  • Mambaforge: another conda-forge distribution that ships the mamba package manager by default.

Handy command-line tools:

  • delta: a syntax-highlighting pager for git and diff output
  • convert: a CLI tool to transform images (resize, rotate, flip, etc) and convert them to other formats (png, jpg, pdf, etc).
  • GitHub CLI: interact with GitHub from the terminal.
  • PDFtk: the pdf toolkit.
  • reveal-js: create slides as through HTML. For inspiration, take a look at Leo’s and Santiago’s Reveal-based slide templates.
  • tldr and cheat: access collaborative cheat-sheets from the terminal.

Reference management:

  • Zotero: collect and organize scientific articles

Graphics:

  • Inkscape: vector graphics editor. Awesome for making illustrations, posters, etc.

Text editors and integrated development environments (IDEs):

  • Neovim: hyperextensible Vim-based text editor.
  • Visual Studio Code: Microsoft’s famous text editor (sends telemetry to Microsoft).
  • Codium: Free/Libre open source software binaries of VSCode.

Online services

  • Overleaf: an online LaTeX editor with lots of templates. Useful for UG dissertation students.
  • EarthArXiv: Preprint server were we can make our papers freely available to anyone under CC licenses (read carefully your Journal restrictions on publication of preprints or postprints to archives).
  • figshare and Zenodo: open access repositories for figures, dissertations, Thesis, code and mode.
  • ORCID: provides an Open Researcher and Contributor ID that can be used to identify yourself during publication of papers, abstract submissions, etc. Also can help you keep track of your work and your background: you can just add them through DOIs.
  • HackMD: collaborative Markdown notes that could be synced with GitHub repositories.
  • doi2bib: get a BibTeX entry out of a DOI.
  • polljunkie: create quick and anonymous polls.
  • Online Equation Editor: generate LaTeX equations and export them as images.
  • choosealicense.com: great website to choose software licenses for your projects.
  • Creative Commons License chooser: choose the CC license that best suits your needs for your non-software project.

LaTeX packages

A list of useful LaTeX packages that could be tricky to find. Most of them are released with a PDF document which explains how to use them: they are much more useful than a bunch of replies at StackOverflow.

  • hyperref: Create hyper-references in your PDF with links to equations, figures, sections, chapters, footnotes, etc.
  • fancyhdr: Easy way to customize your headers and footers.
  • natbib: Flexible bibliography support, defines the \citet and \citep commands.
  • datetime2: commands for formatting dates and time zones.
  • doi: Create correct hyperlinks for DOI numbers.
  • xurl: Alternative to the url package that allows breaks URLs at the end on the line.
  • enumitem: Extra control over itemize, enumerate and description.
  • algorithm2e: Add a new type of floats for including algorithms to your document.
  • acronym: Manage acronyms in your document, can optionally create a list of every acronym along with their expansions.
  • tocbibind: Add bibliography, index, contents to Table of Contents.
  • appendix: Extra control of appendices.
  • listings: Include source code into your document with syntax highlighting and more.
  • mathpazo: Use the Palatino font.

Other awesome lists

Procrastination material

Do you want to procrastinate a little bit?


Credit and terms of reuse: This manual is based on the excellent Lab Carpentry blueprints, with material adapted from the Data Intensive Biology Lab and the Data Exploration Lab. The manual contents are available under the Creative Commons Attribution 4.0 International (CC BY 4.0) license.