<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Kfir Gisman Blogs</title>
    <link>https://kfir-g.dev/blog/</link>
    <description>Technical articles about Python, FastAPI, DevOps, and more by Kfir Gisman.</description>
    <language>en-us</language>
    <lastBuildDate>Sat, 09 May 2026 00:00:00 GMT</lastBuildDate>

    <!-- Post 1 -->
    <item>
      <title>From Passive FastAPI Developer to Real FastAPI Engineer - Part 1</title>
      <link>https://kfir-g.dev/blog/old-blogs/2025-11-21_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-1--ASGI-059a588a54ae</link>
      <pubDate>Fri, 21 Nov 2025 00:00:00 GMT</pubDate>
      <description>Understanding ASGI by Breaking Down an HTTP Request. Learn how FastAPI uses ASGI for async web development.</description>
      <guid>https://kfir-g.dev/blog/old-blogs/2025-11-21_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-1--ASGI-059a588a54ae</guid>
    </item>

    <!-- Post 2 -->
    <item>
      <title>From Passive FastAPI Developer to Real FastAPI Engineer - Part 2: Your First Raw ASGI App</title>
      <link>https://kfir-g.dev/blog/old-blogs/2025-12-08_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-2-c02de4a20dad</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate>
      <description>Continuing the series on FastAPI and ASGI. Advanced concepts, best practices, and performance tips.</description>
      <guid>https://kfir-g.dev/blog/old-blogs/2025-12-08_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-2-c02de4a20dad</guid>
    </item>

    <!-- Post 3 -->
    <item>
      <title>From Passive FastAPI Developer to Real FastAPI Engineer – Part 3: Middleware and Background Tasks</title>
      <link>https://kfir-g.dev/blog/blogs/2025-12-20_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-3</link>
      <pubDate>Fri, 20 Dec 2025 00:00:00 GMT</pubDate>
      <description>
        Exploring ASGI middleware, background tasks, and advanced request/response patterns in FastAPI. Learn how middleware intercepts requests and how background tasks enable non-blocking workloads.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2025-12-20_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-3</guid>
    </item>

    <!-- Post 4 -->
    <item>
      <title>From Passive FastAPI Developer to Real FastAPI Engineer – Part 4: Lifespan, Startup, Shutdown, and State</title>
      <link>https://kfir-g.dev/blog/blogs/2025-12-25_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-4</link>
      <pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate>
      <description>
        Wrapping up advanced ASGI concepts with real-world FastAPI patterns. Focused insights on improving performance, middleware, and background tasks.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2025-12-25_From-Passive-FastAPI-Developer-to-Real-FastAPI-Engineer--Part-4</guid>
    </item>

    <!-- Post 5 -->
    <item>
      <title>How Software Engineers Should Do Good Research: The D in R&amp;D</title>
      <link>https://kfir-g.dev/blog/blogs/2025-12-27_how-swes-should-do-daily-research/</link>
      <pubDate>Fri, 27 Dec 2025 00:00:00 GMT</pubDate>
      <description>
        Research is a daily discipline, not a one-time task. This post breaks down how strong software engineers research tools, products, topics, and trends—and why consistent, ongoing research quietly compounds over time.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2025-12-27_how-swes-should-do-daily-research/</guid>
    </item>

    <!-- Post 6 -->
    <item>
      <title>Podcasts as a Supply Chain: A Missing Security Model</title>
      <link>https://kfir-g.dev/blog/blogs/2025-12-30_podcasts-as-a-supply-chain-missing-security-model/</link>
      <pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate>
      <description>
        Podcasting operates as a large-scale, automated content distribution system, yet lacks the security properties commonly expected from supply chains. This article examines implicit trust assumptions in podcast RSS, content provenance, integrity, and why security modeling matters as podcasts grow in influence, monetization, and scale.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2025-12-30_podcasts-as-a-supply-chain-missing-security-model/</guid>
    </item>

    <!-- Post 7 -->
    <item>
      <title>Appendix - Feed Identity vs Content Integrity</title>
      <link>https://kfir-g.dev/blog/blogs/2025-12-31_feed-identity-vs-content-integrity/</link>
      <pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate>
      <description>
        A concise explanation of the distinction between feed identity and content integrity in podcasting, highlighting their roles in ensuring listeners access the correct content.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2025-12-31_feed-identity-vs-content-integrity/</guid>
    </item> 

    <!-- Post 8 -->
    <item>
      <title>Async Tasks in Python: Why FastAPI Isn’t Enough and When You Need Celery</title>
      <link>https://kfir-g.dev/blog/blogs/2026-01-06_async-tasks-fastapi-celery</link>
      <pubDate>Mon, 06 Jan 2026 00:00:00 GMT</pubDate>
      <description>
        A backend-focused deep dive into async task execution in Python. Explains the limits of FastAPI background tasks and why mature systems rely on Celery, message brokers, and distributed workers.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-01-06_async-tasks-fastapi-celery</guid>
    </item>

    <!-- Post 9 -->
    <item>
      <title>Understanding AMQP: The Protocol Behind Reliable Messaging</title>
      <link>https://kfir-g.dev/blog/blogs/2026-01-06_understanding-amqp-protocol</link>
      <pubDate>Tue, 07 Jan 2026 00:00:00 GMT</pubDate>
      <description>
        A practical deep dive into the AMQP protocol. Learn how brokers, exchanges, queues, and acknowledgements work together—and why AMQP quietly powers reliable backend systems at scale.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-01-06_understanding-amqp-protocol</guid>
    </item>

    <!-- Post 10 -->
    <item>
      <title>The Ultimate Celery Internals Guide</title>
      <link>https://kfir-g.dev/blog/blogs/2026-01-10_the-ultimate-celery-internals-guide</link>
      <pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
      <description>
        A deep, end-to-end breakdown of Celery’s architecture — from FastAPI task calls, AMQP routing, serialization, worker pools, retries, scheduling, and result backends. This guide explains how Celery actually works under the hood and how to build reliable distributed task systems in Python.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-01-10_the-ultimate-celery-internals-guide</guid>
    </item>

    <!-- Post 11 -->
    <item>
      <title>Event-Driven Architecture vs Request/Response: Designing Reactive Backends</title>
      <link>https://kfir-g.dev/blog/blogs/2026-01-25_eda-vs-request-response</link>
      <pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate>
      <description>
        A deep, practical comparison between Event-Driven Architecture and classic Request/Response systems. Covers coupling, data reuse, reactivity, architectural flexibility, and real-world backend design trade-offs with concrete examples and diagrams.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-01-25_eda-vs-request-response</guid>
    </item>

    <!-- Post 12 -->
    <item>
      <title>From SYN Queue to FastAPI: How Uvicorn Listens on an Open Port</title>
      <link>https://kfir-g.dev/blog/blogs/2026-01-29_how-uvicorn-listens-on-a-port</link>
      <pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate>
      <description>
        A deep dive into what happens before a FastAPI request reaches your code. This post explains how Uvicorn binds to a port, how the Linux TCP stack handles SYN and accept queues, and why backend engineers must understand the TCP accept path to debug load issues, timeouts, and dropped connections in production.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-01-29_how-uvicorn-listens-on-a-port</guid>
    </item>

    <!-- Post 13 -->
    <item>
      <title>The Complete Guide to Protocol Buffers in FastAPI</title>
      <link>https://kfir-g.dev/blog/blogs/2026-02-07_protobuf-fastapi-guide</link>
      <pubDate>Sun, 07 Feb 2026 00:00:00 GMT</pubDate>
      <description>
        An in-depth exploration of using Protocol Buffers with FastAPI. This guide covers everything from installation and setup to advanced usage patterns, performance considerations, and best practices for integrating Protocol Buffers into your FastAPI applications.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-02-07_protobuf-fastapi-guide</guid>
    </item>

    <!-- Post 14 -->
    <item>
      <title>Redis Internals &amp; Data Structures - The In-Memory Backbone</title>
      <link>https://kfir-g.dev/blog/blogs/2026-02-13_redis-internals-and-data-structures</link>
      <pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate>
      <description>
        A deep dive into the high-performance world of Redis. This guide explores the single-threaded event loop, specialized data structures like SkipLists and ZipLists, and how to leverage Redis beyond simple caching to build scalable, low-latency backend systems.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-02-13_redis-internals-and-data-structures</guid>
    </item>

    <!-- Post 15 -->
    <item>
      <title>The Robust HTTP Client - Beyond simple requests.get()</title>
      <link>https://kfir-g.dev/blog/blogs/2026-02-25_robust-http-python-guide</link>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <description>
        Stop treating API calls as secondary utilities. This guide explores building production-grade HTTP clients in Python using HTTPX and Tenacity, covering HTTP/2 multiplexing, exponential backoff with jitter, memory-efficient streaming, and header discipline.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-02-25_robust-http-python-guide</guid>
    </item>

    <!-- Post 16 -->
    <item>
      <title>The Modern Python + PostgreSQL Stack: From Psycopg3 to Advanced Scaling</title>
      <link>https://kfir-g.dev/blog/blogs/2026-04-04_modern-python-postgres-stack</link>
      <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
      <description>
        Master the relational backbone of modern backends. This guide covers the transition to Psycopg3, implementing high-performance connection pooling with async support, transaction integrity patterns, and leveraging PostgreSQL's JSONB for hybrid SQL/NoSQL architectures.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-04-04_modern-python-postgres-stack</guid>
    </item>

    <!-- Post 17 -->
    <item>
      <title>Stop Using upload_file(): S3 Engineering for High-Throughput Systems</title>
      <link>https://kfir-g.dev/blog/blogs/2026-04-13_s3-engineering-guide</link>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <description>
        Move beyond basic S3 uploads. Learn to engineer a resilient file-handling pipeline using chunked streaming to save RAM, server-side MD5 verification for data integrity, and non-blocking async wrappers to keep your FastAPI event loop responsive under heavy load.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-04-13_s3-engineering-guide</guid>
    </item>

    <!-- Post 19 -->
    <item>
      <title>The Hidden Secrets in Python: Making Your Program Truly Efficient with AnyIO</title>
      <link>https://kfir-g.dev/blog/blogs/2026-05-01_anyio-hidden-secrets</link>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <description>
        Efficiency isn't just about speed; it's about reliability. Dive deep into Structured Concurrency with AnyIO. Learn how to eliminate "zombie tasks," bridge the gap between sync and async code, and build resilient Python backends using Task Groups and thread offloading.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-05-01_anyio-hidden-secrets</guid>
    </item>

    <!-- Post 20 -->
    <item>
      <title>The Modern GraphQL Stack: Engineering Type-Safe APIs with Strawberry</title>
      <link>https://kfir-g.dev/blog/blogs/2026-05-09_strawberry-graphql-meat</link>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description>
        Stop over-fetching data and start engineering better contracts. This deep dive explores Strawberry GraphQL, a type-hint-driven library for Python. Learn about AST execution, solving the N+1 problem with DataLoaders, and why moving from REST to a Schema-first approach reduces architectural friction.
      </description>
      <guid>https://kfir-g.dev/blog/blogs/2026-05-09_strawberry-graphql-meat</guid>
    </item>

  </channel>
</rss>
