---
title: "Changelog"
lang: "en"
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/changelog
---

Changelog

# What's new

Every post and update across the site, newest first. 280 entries and counting.

## August 2026

-   24 AugBlogUpdated
    
    [Introduction to Linux CLI](/blog/post/introduction-to-linux-cli)
    
    Introduction to Linux command-line interface CLI, Linux is a Unix-like computer operating system assembled under the model of free and open-source software development and distribution.
    
-   23 AugGlossaryUpdated
    
    [CI/CD & Automation](/glossary/post/ci-cd-and-automation)
    
    Continuous integration, delivery, and deployment terms: pipelines, runners, artifacts, and release strategies.
    
-   22 AugFlashcardsUpdated
    
    [Docker and Container Fundamentals Flashcards](/flashcards/post/docker-container-fundamentals-flashcards)
    
    A spaced-repetition deck covering images, containers, Dockerfiles, volumes, networking, Compose, and registries.
    
-   19 AugDevTipsUpdated
    
    [Terraform Workspaces vs. Directory-Based Environments: What Actually Scales](/devtips/post/terraform-workspaces-vs-directory-environments)
    
    Workspaces look like the easy way to split dev, staging, and prod, but they quietly stop scaling. Here is when workspaces bite, why most teams move to a folder per environment, and how to switch without breaking live infrastructure.
    
-   18 AugCode snippetsUpdated
    
    [Bash Script Locking: Prevent Concurrent Runs with a PID File](/codesnippets/post/bash-script-locking-pid-file)
    
    A Bash snippet that uses a PID file so only one instance of a script runs at a time. Essential for cron jobs and automation scripts that must not overlap. Includes stale lock detection and cleanup on exit.
    
-   17 AugCheatsheetsUpdated
    
    [Python Virtual Environments Cheatsheet](/cheatsheets/python-venv)
    
    A practical reference for venv, pip, requirements files, pyenv version switching, and pipx for isolated global tools.
    
-   16 AugCase studiesUpdated
    
    [Multi-Region Active-Active for a Payments API](/case-studies/post/multi-region-active-active-payments)
    
    How a money-movement API was taken active-active across two AWS regions with idempotency keys, conflict-free replication, and a tested RTO and RPO, so a full regional outage never double-charges a customer or loses a committed payment.
    
-   15 AugBlogUpdated
    
    [Kubernetes Health Probes: Building Self-Healing Applications](/blog/post/kubernetes-health-probes-self-healing)
    
    How Kubernetes liveness, readiness, and startup probes turn your application state into signals the control plane acts on, the misconfigurations that cause cascading outages, and how to wire zero-downtime rollouts with readiness gates and preStop drains.
    
-   12 AugRoadmapsUpdated
    
    [Full-Stack Developer Beginner to Expert](/roadmaps/post/full-stack-developer-roadmap)
    
    A roadmap for learning full-stack development, covering frontend, backend, databases, APIs, DevOps, and deploying complete production applications.
    
-   11 AugQuizzesUpdated
    
    [Spring Boot: Java Application Framework Essentials](/quizzes/post/spring-boot-fundamentals-quiz)
    
    Test your knowledge of Spring Boot covering dependency injection, auto-configuration, REST controllers, Spring Data, and production-ready features.
    
-   10 AugGlossaryUpdated
    
    [Kubernetes Advanced](/glossary/post/kubernetes-advanced)
    
    Advanced Kubernetes terms covering scheduling, networking, storage, security, extensibility, and workloads for platform engineers.
    
-   9 AugFlashcardsUpdated
    
    [Terraform Associate Flashcards (TA-003)](/flashcards/post/terraform-associate-ta003-flashcards)
    
    Full exam coverage for the HashiCorp Certified Terraform Associate (TA-003) exam using spaced repetition. Covers IaC concepts, CLI, HCL, state, modules, backends, and Terraform Cloud.
    
-   8 AugDevTipsUpdated
    
    [GitHub Actions Secrets and Environment Variables: Handle Config the Right Way](/devtips/post/github-actions-secrets-environment-variables-guide)
    
    Stop leaking credentials in your workflows. This dev tip shows how to scope GitHub Actions secrets, swap long-lived keys for OIDC, mask sensitive output, and pass config between jobs without it ending up in your logs.
    
-   5 AugCode snippetsUpdated
    
    [AWS DynamoDB CRUD Operations in Node.js with the AWS SDK v3](/codesnippets/post/nodejs-dynamodb-crud-aws-sdk-v3)
    
    A practical Node.js snippet covering DynamoDB put, get, update, delete, and query operations using the modern AWS SDK v3. Includes the DocumentClient pattern, single-table design basics, and error handling.
    
-   4 AugCheatsheetsUpdated
    
    [GitHub Actions](/cheatsheets/github-actions)
    
    The workflow YAML you write over and over. Triggers, jobs and steps, secrets, matrix builds, caching, artifacts, and reusable workflows in one reference.
    
-   3 AugCase studiesUpdated
    
    [Building an Internal Developer Platform on Backstage and GitOps](/case-studies/post/internal-developer-platform-backstage-gitops)
    
    How golden paths in Backstage, self-service software templates, and Argo CD let product teams create, build, and ship services without filing tickets to the platform team.
    
-   2 AugRoadmapsUpdated
    
    [Backend Developer Beginner to Expert](/roadmaps/post/backend-developer-roadmap)
    
    A roadmap for learning backend development, from a programming language and APIs to databases, caching, message queues, security, and scalable architectures.
    
-   1 AugQuizzesUpdated
    
    [Java: Core Language & JVM Fundamentals](/quizzes/post/java-fundamentals-quiz)
    
    Test your knowledge of Java fundamentals covering OOP, the JVM, collections, generics, streams, and core language features.
    

## July 2026

-   29 JulGlossaryUpdated
    
    [Cloud Computing on AWS](/glossary/post/cloud-computing-aws)
    
    Essential Amazon Web Services terms covering compute, storage, networking, databases, and security for cloud engineers and architects.
    
-   28 JulFlashcardsUpdated
    
    [Kubernetes Administrator Flashcards (CKA)](/flashcards/post/kubernetes-administrator-cka-flashcards)
    
    Full exam coverage for the Certified Kubernetes Administrator (CKA) exam using spaced repetition. Covers cluster architecture, workloads, scheduling, networking, storage, security, and troubleshooting.
    
-   27 JulDevTipsUpdated
    
    [Docker Multi-Stage Builds: Smaller, Safer Images for Production](/devtips/post/docker-multi-stage-builds-smaller-production-images)
    
    Ship lean, secure containers by splitting your build from your runtime. This dev tip shows how Docker multi-stage builds drop the compilers and dev dependencies, so your production image is smaller and has far less to attack.
    
-   26 JulCode snippetsUpdated
    
    [Python Async HTTP Requests with aiohttp: Fetch Multiple URLs Concurrently](/codesnippets/post/python-async-http-aiohttp-concurrent-requests)
    
    A Python snippet demonstrating concurrent HTTP requests using aiohttp and asyncio. Covers creating sessions, fetching multiple URLs in parallel, handling errors gracefully, and controlling concurrency with semaphores.
    
-   25 JulCase studiesUpdated
    
    [Zero-Downtime PostgreSQL Major-Version Upgrade at Scale](/case-studies/post/zero-downtime-postgres-upgrade)
    
    How we moved a multi-terabyte PostgreSQL 12 database to 16 with no maintenance window, using logical replication, dual-read validation, and a rehearsed, timed cutover with a real rollback trigger.
    
-   22 JulBlogUpdated
    
    [Service Mesh Deep Dive: Istio vs. Linkerd](/blog/post/service-mesh-istio-vs-linkerd)
    
    Trying to figure out service mesh? This article compares Istio and Linkerd on Kubernetes, looking at how they handle traffic, security, and more. Find out which one might be the best fit for you.
    
-   22 JulDevTipsUpdated
    
    [ArgoCD GitOps: Sync Kubernetes Deployments Automatically from Git](/devtips/post/argocd-gitops-kubernetes-deployments-git-sync)
    
    Stop running kubectl apply by hand. This dev tip shows how ArgoCD watches a Git repo and keeps your Kubernetes cluster matching it, with automatic sync, self-heal, and drift detection.
    
-   22 JulBlogUpdated
    
    [AWS Lambda Observability: Monitoring with CloudWatch, X-Ray, and Datadog](/blog/post/aws-lambda-observability-guide)
    
    How to monitor AWS Lambda functions with CloudWatch, X-Ray, and Datadog: tracking performance, troubleshooting failures, and cutting costs in serverless applications.
    
-   22 JulBlogUpdated
    
    [Designing SLOs and Error Budgets: Your Blueprint for Sustainable Reliability](/blog/post/designing-slos-error-budgets-reliability-blueprint)
    
    How to design SLOs and error budgets that balance shipping speed with reliability: SLIs, monitoring, business goals, and the policies that turn a budget into a real decision tool.
    
-   22 JulBlogUpdated
    
    [Edge Computing: AWS Lambda@Edge vs. Cloudflare Workers. A Practical Guide](/blog/post/edge-computing-aws-lambda-at-edge-vs-cloudflare-workers-practical-guide)
    
    A practical comparison of AWS Lambda@Edge and Cloudflare Workers: cold starts, pricing, language support, and which one fits low-latency web and IoT workloads.
    
-   22 JulBlogUpdated
    
    [FinOps in Practice: How to Build a Cloud Cost Accountability Culture on AWS](/blog/post/finops-cloud-cost-accountability-aws)
    
    How to run FinOps as a real practice on AWS: a lean tagging taxonomy enforced with Terraform and Organizations, automated budgets and anomaly detection, showback vs chargeback, and matching Savings Plans to your architecture roadmap.
    
-   22 JulBlogUpdated
    
    [GitHub Actions Reusable Workflows: Build a Shared CI Library Across All Your Repos](/blog/post/github-actions-reusable-workflows-shared-ci-library)
    
    Simplifying and securing CI/CD at scale with GitHub Actions reusable workflows: the differences between reusable workflows and composite actions, OIDC keyless authentication, versioning strategies, and testing methods like "Patch-on-Test" for a centralized pipeline library.
    
-   22 JulBlogUpdated
    
    [GitOps vs. Traditional IaC for Kubernetes: A Comparative Analysis](/blog/post/gitops-vs-traditional-iac-kubernetes-deployment)
    
    Explore GitOps vs. Traditional IaC for Kubernetes. This report compares pull-based GitOps (ArgoCD, Flux) with push-based IaC (Terraform), covering workflows, drift detection, security, and rollbacks. Understand how these approaches manage Kubernetes infrastructure and application configurations for better consistency and reliability.
    
-   22 JulBlogUpdated
    
    [Kubernetes Networking Demystified: CNI Plugins, Network Policies, and Pod-to-Pod Communication](/blog/post/kubernetes-networking-cni-plugins-policies-guide)
    
    A friendly, technical guide to Kubernetes networking. We cover how CNI plugins like Calico and Cilium work, how to write Network Policies, and how to debug those annoying connectivity issues.
    
-   22 JulBlogUpdated
    
    [QuenchWorks: A Zero-CVE, Built-From-Source Replacement for the Bitnami Catalog](/blog/post/quenchworks-zero-cve-bitnami-alternative-wolfi)
    
    When Broadcom moved the free Bitnami catalog to a legacy tier, thousands of teams lost their supply of maintained, hardened container images overnight. QuenchWorks is my answer: over 150 container images and 120 Helm charts, rebuilt from source on Wolfi, scanned to zero fixable CVEs, cosign-signed, and pinned by digest. Here is why I built it and how it actually works.
    
-   21 JulCheatsheetsUpdated
    
    [Linux Networking](/cheatsheets/linux-networking)
    
    The commands you reach for to diagnose and manage Linux networks. ip for interfaces and routes, ss for sockets, dig for DNS, traceroute for paths, and tcpdump for packets.
    
-   20 JulBlog
    
    [Testing Terraform: Static Analysis, Native Tests, and Terratest](/blog/post/terraform-testing-terratest-native-tests)
    
    A practical testing strategy for Terraform modules: the testing pyramid, tflint static analysis, native terraform test with provider mocking, Terratest integration tests in Go, safe teardown, and a GitHub Actions pipeline with OIDC.
    
-   20 JulCode snippets
    
    [Bash Retry Function: Automatically Retry Failing Commands with Exponential Backoff](/codesnippets/post/bash-retry-function-exponential-backoff)
    
    A reusable Bash function that retries any failing command with configurable attempts and exponential backoff. Ideal for wrapping flaky network calls, AWS CLI commands, or deployment scripts in CI/CD pipelines.
    
-   20 JulBlog
    
    [tRPC: End-to-End Type-Safe APIs in TypeScript Without Codegen](/blog/post/trpc-end-to-end-typesafe-apis)
    
    How tRPC gives full-stack TypeScript teams end-to-end type safety with no code generation: routers, Zod validation, React Query, auth middleware, the v11 features (FormData, SSE, streaming), and when to pick it over REST or GraphQL.
    
-   20 JulCase studiesUpdated
    
    [Migrating a Monolith to Kubernetes Without a Big-Bang Cutover](/case-studies/post/monolith-to-kubernetes-strangler-migration)
    
    Using the strangler-fig pattern to move a large monolith onto EKS service by service, with a routing facade, gradual traffic shifting, and a rollback at every step.
    
-   19 JulCase studies
    
    [Cutting a SaaS AWS Bill 41% Without Slowing Delivery](/case-studies/post/aws-cost-optimization-saas-case-study)
    
    A FinOps case study on a SaaS running on EKS with full GitOps and progressive delivery: how tagging, right-sizing node groups, and Savings Plans matched to the roadmap cut the AWS bill without freezing feature work.
    
-   15 JulCase studies
    
    [QuenchWorks: Building a 0-CVE Container Image and Helm Chart Catalog](/case-studies/post/quenchworks-zero-cve-catalog)
    
    How a from-scratch catalog replaced Bitnami with 150+ container images and 120+ Helm charts built from source on Wolfi, gated to zero fixable CVEs, signed, and pinned by digest.
    

## June 2026

-   8 JunBlogUpdated
    
    [Dotfiles: A Git-Based Strategy for Configuration Management](/blog/post/dotfiles)
    
    A Git-based strategy for managing your dotfiles with a bare repository, so your configuration files stay synchronized and secure across every machine you use.
    
-   8 JunBlogUpdated
    
    [Setting up Node JS, Express, MongoDB, Prettier, ESLint and Husky Application with Babel and authentication as an example](/blog/post/setting-up-node-js-express-mongodb-prettier-eslint-and-husky-application-with-babel-and-authentication-as-an-example)
    
    Setting up Node JS, Express, MongoDB, Prettier, ESLint and Husky Application with Babel and authentication as an example.
    
-   7 JunBlogUpdated
    
    [Git SSH Keys for GitHub, GitLab, and Bitbucket on Linux](/blog/post/git-ssh-keys-for-github-gitlab-and-bitbucket-on-linux)
    
    By default Git connects to remotes over HTTPS, so it asks for your login and password every time you run a command like git pull or git push. The SSH protocol is the alternative. It lets you connect to a server and authenticate to use its services. GitHub, GitLab, and Bitbucket all let Git connect through SSH rather than HTTPS. Public-key encryption then removes the need to type a login and password for each Git command.
    
-   7 JunBlogUpdated
    
    [Git SSH Keys for GitHub, GitLab, and Bitbucket on Windows](/blog/post/git-ssh-keys-for-github-gitlab-and-bitbucket-on-windows)
    
    Git talks to remotes over HTTPS by default, so it asks for your username and password on every git pull or git push. GitHub, GitLab, and Bitbucket all let Git authenticate over SSH with a public key instead. Here is how to generate a key on Windows, add it to each service, and stop typing credentials for every Git command.
    

## May 2026

-   30 MayBlogUpdated
    
    [AI is Not Real: A Software Engineering Perspective](/blog/post/ai-is-not-real)
    
    Modern AI is not intelligent in the human sense. It is large-scale statistical pattern matching and mathematical optimization. Here is what that means for the systems we build, why probabilistic chains fail, and how hybrid architectures make them reliable.
    
-   28 MayDevTips
    
    [Kubernetes Namespaces: Organize, Isolate, and Secure Multi-Team Clusters](/devtips/post/kubernetes-namespaces-organize-isolate-multi-team)
    
    Sharing one Kubernetes cluster across teams without the chaos. This dev tip walks through layered namespace isolation: ResourceQuotas, LimitRanges, default-deny NetworkPolicies, and namespace-scoped RBAC, with copy-paste manifests and a Terraform example.
    
-   28 MayFlashcards
    
    [AWS SysOps Administrator Associate Flashcards (SOA-C02)](/flashcards/post/aws-sysops-administrator-associate-flashcards)
    
    Full exam coverage for the AWS Certified SysOps Administrator Associate (SOA-C02) exam using spaced repetition. Covers monitoring, reliability, deployment, security, networking, and cost optimization.
    
-   28 MayGlossary
    
    [Networking Fundamentals](/glossary/post/networking-fundamentals)
    
    Core networking terms every developer and engineer should know, covering IP addressing, DNS, protocols, routing, and the OSI model.
    
-   28 MayQuizzes
    
    [Rust: Ownership, Borrowing & Memory Safety](/quizzes/post/rust-fundamentals-quiz)
    
    Test your knowledge of Rust fundamentals covering ownership, borrowing, lifetimes, traits, pattern matching, error handling, and memory-safe systems programming without a garbage collector.
    
-   28 MayRoadmaps
    
    [Frontend Developer Beginner to Expert](/roadmaps/post/frontend-developer-roadmap)
    
    A roadmap for learning frontend development, from HTML, CSS, and JavaScript fundamentals to modern frameworks, state management, performance, and accessibility.
    
-   27 MayCode snippets
    
    [Node.js Environment Variable Validation with Zod at Startup](/codesnippets/post/nodejs-env-validation-zod-startup)
    
    Stop trusting process.env blindly. This Node.js and TypeScript snippet validates every environment variable at startup with a Zod schema, coerces strings into real types, and refuses to boot on bad config so you catch mistakes before a single request is served.
    
-   27 MayCheatsheets
    
    [kubectl](/cheatsheets/kubectl)
    
    kubectl is the command-line tool for talking to a Kubernetes cluster. Use it to deploy apps, inspect and manage resources, stream logs, and debug running pods.
    

## April 2026

-   27 AprFlashcards
    
    [LPIC-2 Linux Engineer Flashcards](/flashcards/post/lpic-2-linux-engineer-flashcards)
    
    Full exam coverage for the LPIC-2 Linux Engineer certification (Exam 201 & 202) using spaced repetition. Covers kernel, boot, storage, networking, security, DNS, web, email, and more.
    
-   26 AprFlashcards
    
    [AWS Certified Developer - Associate Flashcards (DVA-C02)](/flashcards/post/aws-certified-developer-associate-flashcards)
    
    Full exam coverage for the AWS Certified Developer - Associate (DVA-C02) exam using spaced repetition. Covers Development, Security, Deployment, Troubleshooting, and AWS SDK/CLI/APIs.
    
-   25 AprRoadmaps
    
    [Release Engineer Beginner to Expert](/roadmaps/post/release-engineer-roadmap)
    
    A roadmap for learning Release Engineering, from version control and CI/CD fundamentals to advanced cloud automation, Infrastructure as Code, and GitOps delivery on AWS.
    
-   22 AprFlashcards
    
    [Red Hat System Administration I Flashcards (RH124)](/flashcards/post/redhat-system-administration-rh124-flashcards)
    
    Full course coverage for Red Hat System Administration I (RH124-9.0) using spaced repetition. Covers CLI, files, users, processes, networking, storage, DNF, systemd, logging, and shell scripting.
    
-   21 AprRoadmaps
    
    [Site Reliability Engineer Beginner to Expert](/roadmaps/post/site-reliability-engineer-roadmap)
    
    A roadmap for learning Site Reliability Engineering, from Linux and networking fundamentals to advanced SLOs, observability, incident management, and automation on AWS.
    
-   20 AprFlashcards
    
    [AWS Solutions Architect Associate Flashcards (SAA-C03)](/flashcards/post/aws-solutions-architect-associate-flashcards)
    
    Full exam coverage for the AWS Certified Solutions Architect Associate (SAA-C03) exam. Covers all four domains Resilient, High-Performing, Secure, and Cost-Optimized Architectures.
    
-   19 AprRoadmaps
    
    [Solutions Architect Beginner to Expert](/roadmaps/post/solutions-architect-roadmap)
    
    A roadmap for learning Solutions Architecture, from cloud fundamentals to advanced AWS design patterns, security, compliance, and scalable distributed systems.
    
-   18 AprGlossary
    
    [Linux Server Administration](/glossary/post/linux-server-administration)
    
    Essential terms every Linux system administrator and DevOps engineer should know.
    

Showing the 60 most recent. Browse the full archive in [the blog](/blog) and other [content sections](/content).
