Computing Environments: Linux, Bash, Docker, and Tooling
Effective data science in R often relies on Unix/Linux command-line environments, shell scripting (bash), text editors (vi, emacs), and containerized runtime environments (Docker, Guix).
1. Linux Operating System & bash Shell
Linux is the underlying operating system organizing compute clusters, servers, and cloud instances. Commands in Linux are executed via a “shell” language. The primary shell for Linux is the Bourne Again Shell (bash):
- Shell Manuals & History:
- Tutorials & Reference Guides:
- Video Overviews:
2. Containerized Environments: Docker & GNU Guix
Docker and GNU Guix ⚠️ provide mechanisms for building, running, and sharing isolated software “containers”. They eliminate “works on my machine” discrepancies and enable reproducible compute pipelines.
Docker
- Multiplatform containerization engine.
- A Hands-On Introduction to Docker
- AntiSMASH Biological Container
GNU Guix ⚠️
- Purely functional package manager and system distribution that does not require root permissions for user installs.
- Offers transactional upgrades, roll-backs, and per-user profiles.
- Guix Notes (Pjotr Prins)
- Reproducible Software Environments in HPC with Guix (Courtès & Wurmus)
- GNU Guix in an HPC Environment (Ricardo Wurmus)
3. Editors & Historical Statistical Software Tools
- Command-Line Editors:
- Document Rendering & Typesetting:
- LaTeX Document Preparation
- Utilities for DVI and PostScript viewing:
xdvi,dvips,ghostview.
- Statistical Software Directories: