DevLogTechnical · Blogs · Tutorials · Tools

Tutorials

Step-by-step technical guides you can follow start to finish.

21 posts
TutorialsNovember 05, 2026

just: The Command Runner That Makes Project Recipes Worth Writing

just turns the commands you run every day into named recipes — no Makefile tabs, no .PHONY, no build-system baggage.
TutorialsOctober 30, 2026

Stop Hand-Timing Your Commands: Benchmarking with hyperfine

hyperfine runs your command many times, crunches the numbers, and tells you which tool is actually faster — no more hand-timing.
TutorialsOctober 27, 2026

hyperfine: Stop Guessing, Start Measuring Your Shell Commands

`time` gives you one noisy sample. hyperfine runs commands many times, filters outliers, and tells you what's actually faster.
TutorialsOctober 24, 2026

jq: Slice, Filter, and Transform Any JSON from the Terminal

jq is the 'sed and awk of JSON': one tiny C binary that filters, maps, and reshapes API output from the terminal.
TutorialsOctober 18, 2026

mise: One Tool for Every Tool Version, Env Var, and Task

mise manages your toolchains, per-project env vars, and tasks from one config file. Here's how to set it up and use it daily.
TutorialsOctober 15, 2026

lazygit: The Git GUI That Lives in Your Terminal

lazygit wraps git in a keyboard-driven terminal UI. Stage lines, squash commits, and undo mistakes without memorizing flags.
TutorialsOctober 11, 2026

Getting Started with Docker Compose for Multi-Container Apps

Run a whole stack — web app plus database — from one file with Docker Compose: up, ps, logs, exec, and down.
TutorialsOctober 09, 2026

Run your app as a Linux service with systemd

Stop babysitting your process — turn it into a systemd service that starts at boot and comes back when it dies.
TutorialsOctober 05, 2026

SSH Key Authentication: Stop Typing Passwords Into Your Servers

Set up Ed25519 SSH keys with ssh-keygen and ssh-copy-id, then lock down password login. A five-step guide that works.
TutorialsOctober 03, 2026

Tidy Your Git History with Interactive Rebase

Squash, reword, reorder, and drop local commits before pushing with git rebase -i. A copy-pasteable guide.
TutorialsSeptember 30, 2026

Setting up your first GitHub Actions CI pipeline for a Python project

A warm, practical walkthrough of your first GitHub Actions pipeline: lint with Ruff, run pytest, and catch problems before they merge.
TutorialsSeptember 27, 2026

Git Worktrees: Work on Multiple Branches Side by Side Without Stashing or Switching

Check out several branches at once in one repo. No stashing, no switching — just add, work, and remove.
TutorialsSeptember 24, 2026

Getting started with tmux, the terminal multiplexer

Learn tmux, the free open-source terminal multiplexer by Nicholas Marriott, and keep your sessions alive across SSH disconnects.
TutorialsSeptember 20, 2026

Unit test Python with pytest

Write your first tests with pytest: install it, assert with plain Python, parametrize a test, and expect exceptions with pytest.raises.
TutorialsSeptember 20, 2026

Set up Nginx as a reverse proxy

Put Nginx in front of an app on a local port with proxy_pass. Real config, forwarded headers, and a safe test-then-reload workflow.
TutorialsSeptember 20, 2026

Back up a Linux server with restic

Back up a Linux server with restic: init a repo, take snapshots, restore files, prune old backups, and automate it all with cron.
TutorialsSeptember 20, 2026

Write your first Dockerfile: containerize a tiny app

Turn a tiny Python app into a Docker image with a Dockerfile. Copy, install, run: build it, run it, and understand image layers.
TutorialsSeptember 18, 2026

Debugging Python with pdb: a step-by-step guide

Print statements wear thin fast. Meet pdb, Python's built-in debugger, and the handful of commands that change how you find bugs.
TutorialsSeptember 15, 2026

Schedule scripts on a timetable with cron

Set up a recurring backup with cron, crontab syntax, and logging. Real, copy-pasteable commands.
TutorialsSeptember 15, 2026

Git essentials: branching, staging, and undoing your mistakes

A hands-on walkthrough of commit, branch, reset, and reflog. Including how to survive a hard reset.
TutorialsSeptember 15, 2026

The command line: grep, pipes, and file permissions

Three Unix tools that do the heavy lifting in any terminal: searching, chaining, and controlling access.