All posts

RHEL Basics #1: What Is RHEL — From Fedora to RHEL, plus AlmaLinux and Rocky Linux
15 min read

RHEL Basics #1: What Is RHEL — From Fedora to RHEL, plus AlmaLinux and Rocky Linux

Fedora is where new technology gets tried first; what survives flows into RHEL. CentOS Stream sits in the middle as a preview of the next RHEL, and AlmaLinux and Rocky Linux have settled into the role of free RHEL-compatible distros. Here's the shape of the RHEL ecosystem after CentOS, in one read.

Docker Basics #2: Writing Your First Dockerfile — FROM, RUN, COPY, CMD
9 min read

Docker Basics #2: Writing Your First Dockerfile — FROM, RUN, COPY, CMD

Building your first image for your own app. Pick a base with FROM, prepare the environment with RUN, drop in code with COPY, and pin a startup command with CMD. One full cycle, on a tiny Python app.

Modern React + Next.js #5 Loading with Suspense and use()
9 min read

Modern React + Next.js #5 Loading with Suspense and use()

Streaming that shows parts as they become ready, Suspense boundaries, loading.js, and the newly stabilized use() hook.

A History of Computer Viruses and Ransomware
7 min read

A History of Computer Viruses and Ransomware

Traces how malware evolved from pranks into organized crime, following a chronological path from the first self-replicating program in 1971 to the WannaCry ransomware outbreak in 2017.

Docker Basics #1: What Is a Container — VM vs. Docker Ecosystem
9 min read

Docker Basics #1: What Is a Container — VM vs. Docker Ecosystem

Why Docker — how containers differ from virtual machines, why Docker emerged, and a tour of the Docker ecosystem built around Engine, CLI, Compose, and Hub.

Modern React + Next.js #4 Data Fetching and Caching
8 min read

Modern React + Next.js #4 Data Fetching and Caching

Fetching data directly in Server Components with async/await, plus how Next.js caches and revalidates.

Modern React + Next.js #3 Server Components vs Client Components
9 min read

Modern React + Next.js #3 Server Components vs Client Components

How the two component types differ, how the 'use client' directive draws the boundary, and how to mix them effectively.

Modern React + Next.js #2 Getting Started with Next.js and the App Router
8 min read

Modern React + Next.js #2 Getting Started with Next.js and the App Router

Create a Next.js project and get hands-on with the App Router — file-based routing, the layout system, and nested layouts.

Modern React + Next.js #1: Why Next.js and Server Components
7 min read

Modern React + Next.js #1: Why Next.js and Server Components

The limits of client-side React, the problems Server Components solve, and the differences between CSR, SSR, and RSC.

Build a Todo App with React #5: Persistence and Wrap-up
7 min read

Build a Todo App with React #5: Persistence and Wrap-up

Persist data with localStorage so it survives a refresh, then wrap up with a series retrospective and pointers to next steps.

IT Literacy for Non-Developers #3: Servers, the Cloud, and Deployment
6 min read

IT Literacy for Non-Developers #3: Servers, the Cloud, and Deployment

This post explains what developers mean when they say "the server is down," "we're deploying right now," or "it's live in production" - without any code. It walks non-developers through where the backend actually runs, and what servers, the cloud, and deployment really are.

Build a Todo App with React #4: Editing
9 min read

Build a Todo App with React #4: Editing

Double-click an item to enter inline edit mode, save with Enter / cancel with Escape, and meet useRef for the first time.