All posts
Docker Intermediate #3: docker compose Basics — web + db in One File
A tool for defining several containers in one file and starting them with a single command. The service / network / volume structure of compose.yaml, a real web + postgres setup, and the day-to-day flow of up/down/logs/ps.
K8s Basics #1: What Is Kubernetes — Why Do We Need a Container Orchestrator?
You can run a single container with Docker. But what if you need 100 — and they need to restart on failure, scale with traffic, and survive a node going down? This first post in the series covers the limits of single-container tools, the problem container orchestrators solve, and the big picture of a Kubernetes cluster.
Modern Python Basics #6: Errors and exception handling
The roles of try/except/else/finally, raise and user-defined exceptions, and the ExceptionGroup and except* introduced in 3.11.
RHEL Basics #7: Basic Security — firewalld, SSH Hardening
RHEL's firewall abstraction firewalld and its zone model, the firewall-cmd command set (permanent vs runtime), the four standard SSH hardening steps — disable password auth, key-based auth, lock down root login, change the port, split sshd_config.d. The final post of the series.
TypeScript Basics #1: Getting Started and Setup
What TypeScript is, why you would use it, and how to compile and run your first piece of code — all in one go.
Angular Basics #3: Data Binding and Events
How Angular templates exchange data and user input — the four binding styles, plus reactive state management with signals.
AWS Basics #4: AWS CLI and SDK Setup
Installing aws cli v2, aws configure, profiles and the credentials file, how SDKs like boto3 / aws-sdk-js fit in, and the order in which the credential chain flows.
Build a Blog with Next.js #5: SEO and Deployment (Wrap-up)
Optimize for search engines with the metadata API, build sitemap and RSS, and deploy to Vercel. Wrap up with a retrospective across the series and the 31 React posts in total.
Django Basics #3: Models and ORM Basics
Define Django models, walk the migration flow, set up ForeignKey/ManyToMany, and use QuerySet filter/get/exclude/order_by — all in one place.
Docker Intermediate #2: Build Cache — BuildKit and Layer Ordering
BuildKit-era build caching, in earnest. Spotting where layer cache breaks, sharing npm/pip caches across builds with --mount=type=cache, parallelizing builds with COPY --link, and external caches via GHA / registry.
Modern Python Basics #5: Functions — argument patterns
Defaults, *args/**kwargs, positional-only(/), keyword-only(*) — every tool for writing function signatures expressively.
RHEL Basics #6: Filesystem Basics — XFS, mount, /etc/fstab
RHEL 9's default filesystem XFS and how it differs from ext4, viewing disks with lsblk / df / du, the full cycle of partitioning a new disk, formatting with mkfs.xfs, mounting it, registering permanently in /etc/fstab via UUID, and managing swap.