Overview
This page gives you an overview of how the tutorials are laid out and suggested pre-requisites.
Assumed Knowledge
Each tutorial includes a recommended level of general technical knowledge, classified like so:
| Level | Description |
|---|---|
Beginner | Basic familiarity with Linux, knows how to SSH to a server, and one higher-level programming language (e.g., python, ruby, perl) |
Intermediate | More in-depth knowledge of linux; you could install kernel modules if you had Google handy. Understanding the basics of what a file is and how memory works. Comfortable with at least two languages, one preferably statically typed. |
Advanced | Expert in Linux; full knowledge of what Docker is, can utilize tracepoints, can setup nginx, haproxy, and other common software. |
What’s a Tutorial, Anyway?
I mention this because I want everyone to understand that I don’t think long lists of technical steps are the only things that qualify as tutorials. There’s a lot of thinking, reflection, pondering, and musing that occur when designing and building large-scale projects. This part of the process is covered in the tutorials as well, and are often more important than the technical information.
Terminology
Below are some definitions you may find helpful. I try to follow them consistently.
Try.
| Term | Meaning |
|---|---|
Project | A project is a specific application or system that is the end of product of a series of tutorials. |
Article | A short, self-contained article on a more theoretical subject; used to give background info on a subject. |