6 September 2026 · 1584 words · 8 mins
Where Linux logs live, how to read the systemd journal with journalctl, how to work with traditional log files, and practical patterns for finding what you need when something breaks.
26 August 2026 · 1651 words · 8 mins
A practical guide to capturing and analyzing network traffic with tcpdump — filters, output formats, common patterns, and how to read packet dumps.
5 August 2026 · 2007 words · 10 mins
How to customize Git to fit your workflow — global and local settings, useful aliases, output formatting, and hooks that automate repetitive tasks.
31 July 2026 · 2062 words · 10 mins
How to work with others using Git — managing remotes, syncing changes, handling upstream repositories, forking, and the pull request workflow.
29 July 2026 · 1618 words · 8 mins
How to explore and investigate your project’s history — viewing commits, comparing changes, finding who changed what, and tracking down the exact commit that introduced a bug.
23 July 2026 · 1449 words · 7 mins
How to use man pages effectively — understanding sections, navigating entries, reading the synopsis format, and finding the right documentation for any command, system call, or config file.
16 July 2026 · 1459 words · 7 mins
How to use SSH tunnels to securely access remote services, expose local servers, set up SOCKS proxies, and hop through bastion hosts.
12 July 2026 · 1151 words · 6 mins
How to use Vim’s visual block mode to select columns, insert text on multiple lines, delete vertical slices, replace blocks, and reformat aligned data.
11 July 2026 · 1343 words · 7 mins
A practical guide to sed — how to find and replace text, edit files in place, delete and insert lines, and use address ranges to target exactly what you need.
4 July 2026 · 1275 words · 6 mins
How to use branches to work on features independently, merge them back together, and resolve conflicts when they arise.
1 July 2026 · 1187 words · 6 mins
Getting started with Git — creating repositories, tracking changes, and syncing with remote servers.
29 June 2026 · 1436 words · 7 mins
A methodical approach to diagnosing network problems on Linux — working layer by layer from physical connectivity to application-level issues.
29 June 2026 · 1014 words · 5 mins
Find text, patterns, and symbols across all files in a project without leaving Vim — using grep, vimgrep, and the quickfix list.
25 June 2026 · 1062 words · 5 mins
Multiple techniques for renaming variables in Vim — from simple substitution to selective renaming with gn, macros, and the quickfix list.
25 June 2026 · 1020 words · 5 mins
Master Vim’s text objects to change, delete, or yank content inside quotes, parentheses, braces, brackets, and HTML tags — without touching the delimiters.
23 June 2026 · 1056 words · 5 mins
A practical guide to ss — viewing listening ports, active connections, filtering by state and protocol, and diagnosing network issues.
23 June 2026 · 1318 words · 7 mins
A practical guide to ps — listing processes, reading output, filtering results, customizing columns, and combining with other tools.
23 June 2026 · 1690 words · 8 mins
How to control incoming and outgoing network traffic on a Linux host using iptables and nftables — rules, chains, policies, and practical configurations.
21 June 2026 · 1190 words · 6 mins
The essential commands for checking your IP address, gateway, DNS, and connectivity — plus how to configure network settings on a Linux host.
13 June 2026 · 1206 words · 6 mins
Navigate compiler errors, grep results, and lint output without leaving Vim — using the quickfix list to jump between locations across your project.
13 June 2026 · 1117 words · 6 mins
Navigate codebases like an IDE — jump from function calls to definitions across files using ctags, tag commands, and tag stacks.
9 June 2026 · 1130 words · 6 mins
Understanding the Linux filesystem hierarchy, what lives where, and the essential commands for navigating the directory tree.
9 June 2026 · 1462 words · 7 mins
How Linux controls access to files and resources — users, groups, ownership, file permissions, and sudo.
9 June 2026 · 1139 words · 6 mins
How the shell connects commands together — standard streams, redirection, pipes, command chaining, and practical patterns for combining simple tools into powerful workflows.
9 June 2026 · 1260 words · 6 mins
How Linux manages running programs — viewing processes, controlling jobs, managing services with systemd, and understanding resource usage.
9 June 2026 · 968 words · 5 mins
How software is installed, updated, and removed on Linux — covering package management concepts and practical commands for Debian and RHEL-based systems.
5 June 2026 · 926 words · 5 mins
How to work with multiple files in Vim using buffers, splits, and tabs — and when to use each one.
5 June 2026 · 933 words · 5 mins
Searching, substitution, regex, jumping between locations, and marks — the tools that let you move through files with precision.
5 June 2026 · 1195 words · 6 mins
Registers for managing multiple clipboards, macros for automating repetitive edits, and power commands that save time daily.
5 June 2026 · 981 words · 5 mins
Understanding Vim’s composable grammar — operators, motions, text objects, and counts — and why it makes editing faster than any other approach.
5 June 2026 · 1070 words · 6 mins
How to configure Vim with .vimrc — essential settings, key mappings, the leader key, and a practical starter configuration.
5 June 2026 · 777 words · 4 mins
A practical introduction to Vim — modes, movement, basic editing, and the commands you need to be productive from day one.
4 June 2026 · 784 words · 4 mins
A practical guide to environment variables in Linux — how they work, how to set them, where they’re loaded from, and common use cases.
4 June 2026 · 719 words · 4 mins
A practical guide to tar and gzip — creating archives, compressing files, extracting contents, and common patterns you’ll use daily.
4 June 2026 · 614 words · 3 mins
A practical guide to using scp for secure file transfers between local and remote systems, covering common flags, patterns, and troubleshooting.
2 June 2026 · 870 words · 5 mins
A practical guide to DNS covering record types, resolution flow, caching, and common tools for troubleshooting.
2 June 2026 · 1473 words · 7 mins
Deeper networking concepts mapped to OSI layers — packet captures, TCP internals, MTU issues, NAT, firewalls, and L4 vs L7 load balancing.
2 June 2026 · 1128 words · 6 mins
A practical breakdown of the 7 OSI layers, what happens at each one, the protocols involved, and how to troubleshoot at each level.
2 June 2026 · 1681 words · 8 mins
Production-level networking — BGP, anycast, container networking, mTLS, eBPF, service meshes, and network observability.
31 May 2026 · 452 words · 3 mins
A practical guide to generating SSH keys with ssh-keygen, covering key types, common parameters, and best practices.