Blog
Thoughts on engineering, design, and building great products.
Tracing a Request End to End
The final article: putting everything together to trace a complete https:// request — from DNS resolution, routing, the TCP handshake, TLS encryption, to HTTP and the response — with real per-phase timing. Plus a series wrap-up.
Cron and Scheduled Tasks
Have commands and scripts run on a schedule — nightly backups, weekly log cleanup. Learn crontab syntax, the common pitfalls (PATH, environment), at for one-off jobs, and a wrap-up of the whole Linux series.
Shell Scripting: Automating with Bash
Combine commands into scripts so you don't retype them and can automate your work. Learn the shebang, variables, parameters, conditionals, loops, functions, exit codes, and safe-scripting habits like set -euo pipefail.
systemd and Services
systemd is the init system that controls every service on modern Linux. Learn systemctl to start/stop/restart services, have them auto-start at boot, write your own unit files, and view logs with journalctl.
SSH and File Transfer: ssh, scp, rsync
How you actually get into a remote Linux server: SSH with key authentication (safer than passwords), a handy config file, and transferring files with scp and rsync. A foundational skill for everything you do on a server.
Basic Networking on Linux
View IP addresses and routing (ip), check which ports are listening (ss), test connections (ping, curl), and understand name resolution (DNS, /etc/hosts). Enough to diagnose most networking issues on a server.
Users, Groups and sudo
Linux is multi-user by design. This article explains where users and groups are stored (/etc/passwd, /etc/shadow, /etc/group), how to create and manage them, and why you should use sudo instead of logging in directly as root.