<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>strace&#39;s blog</title>
    <link>https://strace.dev</link>
    <description>Personal tech blog</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 01 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://strace.dev/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title><![CDATA[Infrastructure as Code with Terraform]]></title>
    <link>https://strace.dev/posts/infrastructure-as-code-with-terraform.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/infrastructure-as-code-with-terraform.html</guid>
    <pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[Terraform state management, modules, workspaces, remote backends, and production best practices for infrastructure as code at scale.]]></description>
  </item>
  <item>
    <title><![CDATA[Docker Multi-Stage Builds for Smaller Images]]></title>
    <link>https://strace.dev/posts/docker-multi-stage-builds-smaller-images.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/docker-multi-stage-builds-smaller-images.html</guid>
    <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[Reduce Docker image sizes by 10x with multi-stage builds — builder patterns, Alpine vs distroless, layer caching, and production optimization techniques.]]></description>
  </item>
  <item>
    <title><![CDATA[CI/CD Pipelines with GitHub Actions]]></title>
    <link>https://strace.dev/posts/cicd-pipelines-with-github-actions.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/cicd-pipelines-with-github-actions.html</guid>
    <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[Build production CI/CD pipelines with GitHub Actions — workflow syntax, matrix builds, caching strategies, and deployment patterns.]]></description>
  </item>
  <item>
    <title><![CDATA[Message Queues: When and How to Use Them]]></title>
    <link>https://strace.dev/posts/message-queues-when-and-how-to-use-them.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/message-queues-when-and-how-to-use-them.html</guid>
    <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A practical comparison of synchronous vs asynchronous processing, RabbitMQ vs Kafka, pub/sub patterns, and when each queue architecture makes sense.]]></description>
  </item>
  <item>
    <title><![CDATA[Building Production-Ready REST APIs with Express.js]]></title>
    <link>https://strace.dev/posts/building-production-ready-rest-apis-express.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/building-production-ready-rest-apis-express.html</guid>
    <pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[Express.js middleware patterns, error handling, input validation, rate limiting, and project structure for APIs that scale in production.]]></description>
  </item>
  <item>
    <title><![CDATA[Database Indexing Strategies That Actually Work]]></title>
    <link>https://strace.dev/posts/database-indexing-strategies-that-actually-work.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/database-indexing-strategies-that-actually-work.html</guid>
    <pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A practical guide to B-tree vs hash indexes, composite indexes, covering indexes, and when each strategy pays off — with real query examples.]]></description>
  </item>
  <item>
    <title><![CDATA[Writing Your First Linux Kernel Module]]></title>
    <link>https://strace.dev/posts/writing-first-linux-kernel-module.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/writing-first-linux-kernel-module.html</guid>
    <pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A hands-on guide to writing, compiling, loading, and debugging your first Linux kernel module — with a procfs demonstration.]]></description>
  </item>
  <item>
    <title><![CDATA[TCP/IP Deep Dive for Engineers]]></title>
    <link>https://strace.dev/posts/tcp-ip-deep-dive-for-engineers.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/tcp-ip-deep-dive-for-engineers.html</guid>
    <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[TCP/IP fundamentals every engineer must know — from the three-way handshake and congestion control to MTU tuning and tcpdump analysis.]]></description>
  </item>
  <item>
    <title><![CDATA[Understanding Linux Process Scheduling]]></title>
    <link>https://strace.dev/posts/understanding-linux-process-scheduling.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/understanding-linux-process-scheduling.html</guid>
    <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A deep dive into the Linux Completely Fair Scheduler — how it works, how to tune it, and how CPU shares, nice values, and cgroups interact.]]></description>
  </item>
  <item>
    <title><![CDATA[TypeScript Generics in Practice]]></title>
    <link>https://strace.dev/posts/typescript-generics-in-practice.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/typescript-generics-in-practice.html</guid>
    <pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[Real-world generic patterns beyond the documentation — conditional types, infer, mapped types, and generic constraints that solve actual engineering problems.]]></description>
  </item>
  <item>
    <title><![CDATA[Troubleshooting MariaDB and MySQL Performance Problems]]></title>
    <link>https://strace.dev/posts/troubleshooting-mariadb-mysql-performance.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/troubleshooting-mariadb-mysql-performance.html</guid>
    <pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A practical guide to diagnosing slow queries, deadlocks, and resource contention in MariaDB/MySQL — using EXPLAIN, slow query logs, performance_schema, and system metrics.]]></description>
  </item>
  <item>
    <title><![CDATA[Debugging Docker Container Networking]]></title>
    <link>https://strace.dev/posts/debugging-docker-container-networking.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/debugging-docker-container-networking.html</guid>
    <pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[From "connection refused" to "no route to host" — a methodical approach to debugging Docker networking issues across bridge networks, overlay networks, and compose stacks.]]></description>
  </item>
  <item>
    <title><![CDATA[Hello, World! — A Developer's First Lines of Code]]></title>
    <link>https://strace.dev/posts/hello-world.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/hello-world.html</guid>
    <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[Every developer remembers their first program. Let's explore the history and significance of this time-honored tradition.]]></description>
  </item>
  <item>
    <title><![CDATA[Diagnosing SSL/TLS Handshake Failures]]></title>
    <link>https://strace.dev/posts/diagnosing-ssl-tls-handshake-failures.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/diagnosing-ssl-tls-handshake-failures.html</guid>
    <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A systematic guide to debugging TLS handshake failures using openssl s_client, key exchange analysis, certificate chain validation, and cipher mismatch detection.]]></description>
  </item>
  <item>
    <title><![CDATA[Investigating High CPU Usage in Node.js Applications]]></title>
    <link>https://strace.dev/posts/investigating-high-cpu-nodejs.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/investigating-high-cpu-nodejs.html</guid>
    <pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A practical guide to profiling Node.js CPU issues in production — using the built-in profiler, flamegraphs, async hooks, and Linux perf tools.]]></description>
  </item>
  <item>
    <title><![CDATA[Understanding Async/Await in JavaScript]]></title>
    <link>https://strace.dev/posts/understanding-async-await.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/understanding-async-await.html</guid>
    <pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A practical guide to mastering asynchronous JavaScript with async/await, from basics to error handling patterns.]]></description>
  </item>
  <item>
    <title><![CDATA[Debugging DNS Resolution Issues on Linux]]></title>
    <link>https://strace.dev/posts/debugging-dns-resolution-linux.html</link>
    <guid isPermaLink="true">https://strace.dev/posts/debugging-dns-resolution-linux.html</guid>
    <pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate>
    <description><![CDATA[A systematic approach to diagnosing DNS failures on Linux — from /etc/resolv.conf and systemd-resolved to nsswitch.conf and packet-level inspection with tcpdump.]]></description>
  </item>
  </channel>
</rss>