All posts

React State Management in Depth #1: Client State vs Server State
6 min read

React State Management in Depth #1: Client State vs Server State

Where useState alone starts to fall short, and a mental model for telling client state apart from server state. This is the starting point for choosing a state management tool.

Red Hat Certified Engineer (RHCE) #17 RHCSA Automation 4: firewall, SELinux, SSH keys
9 min read

Red Hat Certified Engineer (RHCE) #17 RHCSA Automation 4: firewall, SELinux, SSH keys

Part 17 of the Red Hat Certified Engineer (RHCE) series. This is the final post on automating RHCSA security tasks with Ansible — permanently allowing ports and services with ansible.posix.firewalld, handling SELinux with ansible.posix.seboolean and community.general.sefcontext, and deploying SSH public keys with authorized_key. We also cover the firewall and selinux system role alternatives, along with the persistent-apply options that show up again and again on the exam.

Red Hat Certified System Administrator (RHCSA) #14 Managing containers: Podman, systemd integration (quadlet)
9 min read

Red Hat Certified System Administrator (RHCSA) #14 Managing containers: Podman, systemd integration (quadlet)

The fourteenth post in the Red Hat Certified System Administrator (RHCSA) series. We search for and pull images with Podman, run containers, map ports, volumes, and environment variables, and run rootless containers as a regular user. Then we register a container as a systemd service with quadlet and use loginctl enable-linger to start it automatically at boot — a staple RHCSA task.

LLM App Development #6: Connecting External Functions with Tool Calling
5 min read

LLM App Development #6: Connecting External Functions with Tool Calling

Letting Claude call functions you define. Tool definitions, handling tool_use, and the execution loop — the foundation for connecting Claude to external APIs and databases.

AWS Certified CloudOps Engineer - Associate (SOA-C03) #9 Domain 3-3 Deployment — Container Operations (ECS, EKS, ECR)
4 min read

AWS Certified CloudOps Engineer - Associate (SOA-C03) #9 Domain 3-3 Deployment — Container Operations (ECS, EKS, ECR)

The ninth post of the SOA-C03 series covers container operations, newly added in SOA-C03. It covers the difference between ECS and EKS, choosing between the Fargate and EC2 launch types, how to store and scan images with ECR, container logging and monitoring, and deployment and scaling operations.

AWS Certified Developer - Associate (DVA-C02) #15 Full-Scale Multiple-Choice Mock Exam — 50 Questions + Explanations
18 min read

AWS Certified Developer - Associate (DVA-C02) #15 Full-Scale Multiple-Choice Mock Exam — 50 Questions + Explanations

The final post of the DVA-C02 series. Matched to the real exam's domain weights (development 32% , security 26% , deployment 24% , troubleshooting and optimization 18%), you solve 50 questions and find your weak domains through each question's answer and explanation. Solve them on the clock, then go back to the relevant domain post to shore up any gaps.

Build a Manual with Docusaurus #1: From Install to Your First Doc
3 min read

Build a Manual with Docusaurus #1: From Install to Your First Doc

Lay the foundation for a team docs or product manual site with Docusaurus. We'll go from setting up Node.js to creating a site with create-docusaurus and serving your first doc on the dev server, all in one pass.

Build a Manual with Hugo #2: Sidebar and Search — Shaping the Information Architecture
4 min read

Build a Manual with Hugo #2: Sidebar and Search — Shaping the Information Architecture

Even as your docs grow to dozens of pages, the sidebar and search are what keep readers from getting lost. We cover shaping the sidebar hierarchy from the folder structure in Hextra, ordering it with weight, and attaching the top menu and the built-in search.

Build a Manual with MkDocs #1: From Install to Your First Doc
4 min read

Build a Manual with MkDocs #1: From Install to Your First Doc

Set up the skeleton of a team documentation or product manual site with MkDocs and the Material theme. We'll go all the way from installing into a Python virtual environment, to creating a new site, applying the theme, and serving your first doc on a local server.

Build a Manual with Starlight #1: From Install to Your First Doc
3 min read

Build a Manual with Starlight #1: From Install to Your First Doc

We set up the skeleton of a team documentation and product manual site with Astro's Starlight, walking through everything from getting Node.js ready to creating a site with create astro and bringing up your first doc on the dev server.

Certified Kubernetes Administrator (CKA) #24 Troubleshooting 3: Control Plane (apiserver/etcd/scheduler Down), etcd Recovery
11 min read

Certified Kubernetes Administrator (CKA) #24 Troubleshooting 3: Control Plane (apiserver/etcd/scheduler Down), etcd Recovery

The twenty-fourth post in the Certified Kubernetes Administrator (CKA) series. Taking the fact that control plane components run as static Pods as the starting point of diagnosis, we organize how to narrow down causes by symptom — from an apiserver down that leaves kubectl unresponsive, to an etcd down, to a scheduler/controller-manager down. We get hands-on with inspecting containers directly via crictl and journalctl, and with fixing manifests so kubelet restarts them.

Certified Kubernetes Application Developer (CKAD) #19 Ingress and NetworkPolicy
10 min read

Certified Kubernetes Application Developer (CKAD) #19 Ingress and NetworkPolicy

The nineteenth post in the Certified Kubernetes Application Developer (CKAD) series. It covers Ingress, which routes external traffic at L7, and NetworkPolicy, which controls Pod-to-Pod communication with a whitelist, from a hands-on exam perspective. We will build everything from host/path routing and pathType, IngressClass, and TLS through to the podSelector-based default deny pattern, with YAML examples.