<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Articles on Spaghetti Code 🍝</title>
    <link>https://spaghetti-code.net/en/posts/</link>
    <description>Recent content in Articles on Spaghetti Code 🍝</description>
    <image>
      <title>Spaghetti Code 🍝</title>
      <url>https://spaghetti-code.net/images/og-default.png</url>
      <link>https://spaghetti-code.net/images/og-default.png</link>
    </image>
    <generator>Hugo -- 0.160.0</generator>
    <language>en</language>
    <lastBuildDate>Wed, 23 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://spaghetti-code.net/en/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to Cache Dependencies in GitHub Actions</title>
      <link>https://spaghetti-code.net/en/posts/github-actions/cache-dependencies-github-actions/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/github-actions/cache-dependencies-github-actions/</guid>
      <description>How actions/cache and setup-node&amp;#39;s built-in cache option cut GitHub Actions run time: cache keys, restore-keys fallbacks, and what breaks in matrix builds.</description>
    </item>
    <item>
      <title>How to Use Git Bisect to Find a Broken Commit</title>
      <link>https://spaghetti-code.net/en/posts/git/git-bisect/</link>
      <pubDate>Tue, 22 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/git/git-bisect/</guid>
      <description>Git bisect narrows hundreds of commits down to the one that broke your code with a binary search, in a handful of tests instead of a manual git log crawl.</description>
    </item>
    <item>
      <title>What Is DNS and How Domain Name Resolution Works</title>
      <link>https://spaghetti-code.net/en/posts/cloud/what-is-dns/</link>
      <pubDate>Mon, 21 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/cloud/what-is-dns/</guid>
      <description>How DNS turns a domain into an IP address: the resolver hierarchy, the record types you&amp;#39;ll actually use, dig commands, and why propagation is just caching.</description>
    </item>
    <item>
      <title>What Is TLS and How HTTPS Encryption Works</title>
      <link>https://spaghetti-code.net/en/posts/networking/what-is-tls/</link>
      <pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/networking/what-is-tls/</guid>
      <description>How TLS turns a plain connection into HTTPS: the handshake, certificates and the chain of trust, and the commands to inspect, generate, and renew one.</description>
    </item>
    <item>
      <title>How to Run a Local LLM With Ollama</title>
      <link>https://spaghetti-code.net/en/posts/llm/run-local-llm-with-ollama/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/llm/run-local-llm-with-ollama/</guid>
      <description>Ollama runs open models like Llama and Gemma on your own hardware, no API key or monthly bill required. Install it, pull a model, and call its local REST API.</description>
    </item>
    <item>
      <title>What Is a Message Queue and How to Use One</title>
      <link>https://spaghetti-code.net/en/posts/backend/what-is-a-message-queue/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/backend/what-is-a-message-queue/</guid>
      <description>How message queues decouple producers from consumers, running RabbitMQ in Docker, a real producer/consumer example, and when a queue is the wrong tool.</description>
    </item>
    <item>
      <title>What Is Terraform and How Infrastructure as Code Works</title>
      <link>https://spaghetti-code.net/en/posts/terraform/what-is-terraform/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/terraform/what-is-terraform/</guid>
      <description>Terraform lets you define servers, networks, and DNS records in code instead of clicking through a cloud console. How the plan-apply workflow and state work.</description>
    </item>
    <item>
      <title>What Is a CDN and How It Works</title>
      <link>https://spaghetti-code.net/en/posts/cloud/what-is-a-cdn/</link>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/cloud/what-is-a-cdn/</guid>
      <description>How a CDN caches content on edge servers near your users, how DNS and anycast routing pick which PoP answers, and how Cache-Control decides what is cached.</description>
    </item>
    <item>
      <title>How Redis Caching Works and How to Use It</title>
      <link>https://spaghetti-code.net/en/posts/backend/redis-caching/</link>
      <pubDate>Tue, 15 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/backend/redis-caching/</guid>
      <description>How Redis caching works, the cache-aside pattern, running Redis in Docker, TTLs and eviction policies, and when caching creates more problems than it fixes.</description>
    </item>
    <item>
      <title>What Is a Reverse Proxy and How It Works</title>
      <link>https://spaghetti-code.net/en/posts/networking/what-is-a-reverse-proxy/</link>
      <pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/networking/what-is-a-reverse-proxy/</guid>
      <description>How a reverse proxy routes requests to the right backend, how it differs from a forward proxy and a load balancer, and how to configure one with Nginx.</description>
    </item>
    <item>
      <title>Git Rebase vs Merge: When to Use Each</title>
      <link>https://spaghetti-code.net/en/posts/git/git-rebase-vs-merge/</link>
      <pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/git/git-rebase-vs-merge/</guid>
      <description>Git merge and rebase both combine branches, but one preserves history and the other rewrites it. What each does to your commit graph, and when to use which.</description>
    </item>
    <item>
      <title>What Is RAG: Retrieval-Augmented Generation Explained</title>
      <link>https://spaghetti-code.net/en/posts/llm/what-is-rag/</link>
      <pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/llm/what-is-rag/</guid>
      <description>RAG connects a language model to your own data at query time: the chunk-embed-retrieve loop, when it beats fine-tuning, and where it breaks in production.</description>
    </item>
    <item>
      <title>Build and Push a Docker Image with GitHub Actions</title>
      <link>https://spaghetti-code.net/en/posts/github-actions/build-and-push-docker-image-github-actions/</link>
      <pubDate>Fri, 11 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/github-actions/build-and-push-docker-image-github-actions/</guid>
      <description>A GitHub Actions workflow that builds a Docker image, tags it from the git ref with docker/metadata-action, and pushes it to GHCR with layer caching enabled.</description>
    </item>
    <item>
      <title>Kubernetes Pod vs Deployment: What&#39;s the Difference</title>
      <link>https://spaghetti-code.net/en/posts/kubernetes/kubernetes-pod-vs-deployment/</link>
      <pubDate>Thu, 10 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/kubernetes/kubernetes-pod-vs-deployment/</guid>
      <description>A Pod runs one instance of your app; a Kubernetes Deployment manages a ReplicaSet of Pods, with rollouts and self-healing built in. See the chain with kubectl.</description>
    </item>
    <item>
      <title>Environment Variables and Secrets in Docker</title>
      <link>https://spaghetti-code.net/en/posts/docker/docker-environment-variables-secrets/</link>
      <pubDate>Wed, 09 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/docker-environment-variables-secrets/</guid>
      <description>How to pass environment variables into a Docker container with -e, --env-file, and Compose, why they are the wrong place for secrets, and what to mount instead.</description>
    </item>
    <item>
      <title>How to Reduce Docker Image Size</title>
      <link>https://spaghetti-code.net/en/posts/docker/reduce-docker-image-size/</link>
      <pubDate>Tue, 08 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/reduce-docker-image-size/</guid>
      <description>Why a 300 KB app ships as a 1 GB image, and how to reduce Docker image size: choosing a base, keeping caches out of layers, and measuring with dive in CI.</description>
    </item>
    <item>
      <title>Dockerfile Best Practices: Smaller, Faster Builds</title>
      <link>https://spaghetti-code.net/en/posts/docker/dockerfile-best-practices/</link>
      <pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/dockerfile-best-practices/</guid>
      <description>Dockerfile best practices that cut build time and image size: layer ordering, multi-stage builds, .dockerignore, pinned tags, and running as non-root.</description>
    </item>
    <item>
      <title>What Is a Docker Network and How to Use It</title>
      <link>https://spaghetti-code.net/en/posts/docker/what-is-a-docker-network/</link>
      <pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/what-is-a-docker-network/</guid>
      <description>How Docker networking works: default vs user-defined bridge, host and overlay drivers, container-to-container DNS, and the commands to inspect and debug it.</description>
    </item>
    <item>
      <title>What Is Docker Compose and How to Use It</title>
      <link>https://spaghetti-code.net/en/posts/docker/what-is-docker-compose/</link>
      <pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/what-is-docker-compose/</guid>
      <description>Docker Compose runs a multi-container app from one file. What the compose file describes, the everyday commands, Compose v2 vs docker-compose, and its limits.</description>
    </item>
    <item>
      <title>Docker vs Podman: Differences and Which to Choose</title>
      <link>https://spaghetti-code.net/en/posts/docker/docker-vs-podman-differences/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/docker-vs-podman-differences/</guid>
      <description>The real differences between Docker and Podman - daemon, root, Compose - the trade-offs of each, and which one to pick for your setup.</description>
    </item>
    <item>
      <title>What Is a Docker Volume and How to Use It</title>
      <link>https://spaghetti-code.net/en/posts/docker/what-is-a-docker-volume/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/what-is-a-docker-volume/</guid>
      <description>What a Docker volume is, why data in a container disappears without one, and how to create, inspect, back up and share volumes, with copy-paste examples.</description>
    </item>
    <item>
      <title>What Is Docker and What Is It Used For</title>
      <link>https://spaghetti-code.net/en/posts/docker/what-is-docker-and-what-is-it-used-for/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/docker/what-is-docker-and-what-is-it-used-for/</guid>
      <description>What Docker is, how containers differ from virtual machines, and the real problems they solve day to day. A plain-language guide for developers new to it.</description>
    </item>
    <item>
      <title>What Is Kubernetes and What Is It Used For</title>
      <link>https://spaghetti-code.net/en/posts/kubernetes/what-is-kubernetes/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/kubernetes/what-is-kubernetes/</guid>
      <description>What Kubernetes is, how it runs, scales and self-heals containers in production, and when you actually need it instead of Docker Compose or Docker Swarm.</description>
    </item>
  </channel>
</rss>
