<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Asynchronous Programming on AI VOID</title><link>https://ai-blog.noorshomelab.dev/tags/asynchronous-programming/</link><description>Recent content in Asynchronous Programming on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 24 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/tags/asynchronous-programming/index.xml" rel="self" type="application/rss+xml"/><item><title>Decoupling Services with Message Queues and Asynchronous Workflows</title><link>https://ai-blog.noorshomelab.dev/systems-engineering-2026/message-queues-async-workflows/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/systems-engineering-2026/message-queues-async-workflows/</guid><description>&lt;h2 id="introduction-breaking-free-from-tight-coupling"&gt;Introduction: Breaking Free from Tight Coupling&lt;/h2&gt;
&lt;p&gt;Imagine a bustling restaurant where every customer order is taken by a chef directly, cooked immediately, and then the chef waits for the customer to finish before taking the next order. This is what synchronous, tightly coupled services often feel like in a software system. If one chef is busy or sick, the whole kitchen grinds to a halt. Not very efficient or resilient, right?&lt;/p&gt;</description></item><item><title>Asynchronous Programming with GPUI&amp;#39;s Executor</title><link>https://ai-blog.noorshomelab.dev/gpui-guide-2026/async-programming-gpui-executor/</link><pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/gpui-guide-2026/async-programming-gpui-executor/</guid><description>&lt;h2 id="introduction-to-gpuis-asynchronous-executor"&gt;Introduction to GPUI&amp;rsquo;s Asynchronous Executor&lt;/h2&gt;
&lt;p&gt;Building responsive and fluid user interfaces is a cornerstone of modern application development. No user wants an application that freezes or becomes unresponsive while performing a long-running task, such as fetching data from a server or processing a large file. This is where asynchronous programming becomes indispensable.&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;ll dive into the heart of how GPUI handles concurrency: its built-in asynchronous executor. You&amp;rsquo;ll learn how to offload heavy computations, manage network requests, and update your UI seamlessly without blocking the main thread. We&amp;rsquo;ll explore GPUI&amp;rsquo;s specific tools, &lt;code&gt;cx.spawn&lt;/code&gt; and &lt;code&gt;cx.spawn_on_main&lt;/code&gt;, which are tailored for its unique hybrid rendering model.&lt;/p&gt;</description></item><item><title>The JavaScript Event Loop, Microtasks, and Macrotasks</title><link>https://ai-blog.noorshomelab.dev/js-architect-prep-2026/event-loop-microtasks-macrotasks/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/js-architect-prep-2026/event-loop-microtasks-macrotasks/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Understanding the JavaScript Event Loop, Microtasks, and Macrotasks is fundamental for any JavaScript developer, moving from merely writing code to truly comprehending its execution model. This chapter dives deep into how JavaScript handles asynchronous operations, concurrency, and the non-blocking nature that defines modern web and server-side applications. It’s often a source of confusion and tricky interview questions because the execution order isn&amp;rsquo;t always intuitive.&lt;/p&gt;
&lt;p&gt;This section is crucial for candidates at all levels. Entry-level developers need to grasp the basics of how &lt;code&gt;setTimeout&lt;/code&gt; and &lt;code&gt;Promise&lt;/code&gt; callbacks are processed. Mid-level professionals should understand the distinction between microtasks and macrotasks and predict execution order in complex scenarios. For senior and architect-level roles, a profound understanding is expected, including nuanced differences between browser and Node.js event loops, advanced asynchronous patterns, potential performance bottlenecks, and debugging intricate timing-related bugs.&lt;/p&gt;</description></item><item><title>Asynchronous Operations for Performance</title><link>https://ai-blog.noorshomelab.dev/any-llm-guide-2025/async-operations/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/any-llm-guide-2025/async-operations/</guid><description>&lt;h2 id="introduction-to-asynchronous-operations"&gt;Introduction to Asynchronous Operations&lt;/h2&gt;
&lt;p&gt;Welcome back, future AI architect! In our journey with &lt;code&gt;any-llm&lt;/code&gt;, we&amp;rsquo;ve learned how to connect to various LLM providers and get intelligent responses. So far, our interactions have been synchronous, meaning one operation completes entirely before the next one begins. While this is straightforward, it&amp;rsquo;s not always the most efficient, especially when dealing with tasks that involve waiting.&lt;/p&gt;
&lt;p&gt;Think about ordering coffee. If you order, then wait for your coffee to be made, then order a pastry, then wait for that to be ready, that&amp;rsquo;s synchronous. What if you could order both at once, and while the coffee is brewing, the barista starts preparing your pastry? That&amp;rsquo;s closer to asynchronous!&lt;/p&gt;</description></item><item><title>Project 1: Production-Grade Social App</title><link>https://ai-blog.noorshomelab.dev/ios-pro-dev-2026-guide/project-social-app/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ios-pro-dev-2026-guide/project-social-app/</guid><description>&lt;h2 id="introduction-building-your-social-universe"&gt;Introduction: Building Your Social Universe&lt;/h2&gt;
&lt;p&gt;Welcome to the first major project chapter! Up until now, we&amp;rsquo;ve explored the foundational elements of iOS development: understanding the ecosystem, setting up Xcode, diving into SwiftUI&amp;rsquo;s declarative UI, managing state, and grasping the app lifecycle. Now, it&amp;rsquo;s time to synthesize that knowledge and truly put it to the test by building a &lt;strong&gt;Production-Grade Social App&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t just another toy example. We&amp;rsquo;ll approach this project with the mindset of a professional developer, focusing on best practices for architecture, data handling, and user experience. You&amp;rsquo;ll learn how to structure an application that can scale, handle real-world data, and deliver a smooth, engaging social experience. We&amp;rsquo;ll start with the core components: defining data models, simulating network requests, and building the primary feed view.&lt;/p&gt;</description></item><item><title>Asynchronous Programming with `async`/`await`</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-14-asynchronous-programming-async-await/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-14-asynchronous-programming-async-await/</guid><description>&lt;h2 id="chapter-14-asynchronous-programming-with-asyncawait"&gt;Chapter 14: Asynchronous Programming with &lt;code&gt;async&lt;/code&gt;/&lt;code&gt;await&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Welcome back, future Python master! So far, you&amp;rsquo;ve learned to write Python code that runs step-by-step, one instruction after another. This is called &lt;em&gt;synchronous&lt;/em&gt; programming, and it&amp;rsquo;s how most of your code works. But what happens when your program needs to wait for something slow, like fetching data from the internet, reading a large file, or waiting for a user input? It just&amp;hellip; waits. And while it&amp;rsquo;s waiting, it can&amp;rsquo;t do anything else!&lt;/p&gt;</description></item><item><title>Python Web Development With Fastapi - Complete Learning Guide</title><link>https://ai-blog.noorshomelab.dev/guides/fastapibeginnerintroduction-20251025_173235/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/guides/fastapibeginnerintroduction-20251025_173235/</guid><description>&lt;h1 id="python-web-development-with-fastapi---build-blazing-fast-robust-apis-with-modern-python"&gt;Python Web Development With Fastapi - Build Blazing-Fast, Robust APIs with Modern Python&lt;/h1&gt;
&lt;p&gt;Step into the future of Python web development with FastAPI, the cutting-edge framework that’s revolutionizing how developers build high-performance APIs. FastAPI isn&amp;rsquo;t just another framework; it&amp;rsquo;s a game-changer built on standard Python type hints, offering unparalleled developer experience, automatic data validation with Pydantic, and stunning performance thanks to Starlette and Uvicorn. If you&amp;rsquo;re tired of boilerplate code, slow development cycles, or grappling with outdated API documentation, FastAPI is your answer.&lt;/p&gt;</description></item><item><title>Chapter 3: Introducing WebSockets - Real-time Foundations</title><link>https://ai-blog.noorshomelab.dev/chat-guide/chapter-3-websockets-intro/</link><pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/chat-guide/chapter-3-websockets-intro/</guid><description>&lt;p&gt;The core of any real-time chat application is its ability to establish persistent, bidirectional communication channels. This is where WebSockets come in. In this chapter, we&amp;rsquo;ll integrate a basic WebSocket endpoint into our FastAPI application.&lt;/p&gt;
&lt;h3 id="purpose-of-this-chapter"&gt;Purpose of this Chapter&lt;/h3&gt;
&lt;p&gt;By the end of this chapter, you will be able to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand the fundamental concept of WebSockets.&lt;/li&gt;
&lt;li&gt;Implement a FastAPI WebSocket endpoint.&lt;/li&gt;
&lt;li&gt;Send and receive messages over a WebSocket connection.&lt;/li&gt;
&lt;li&gt;Test your WebSocket connection using a simple client.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="concepts-explained-websockets"&gt;Concepts Explained: WebSockets&lt;/h3&gt;
&lt;p&gt;Traditionally, HTTP is a request-response protocol: a client sends a request, the server sends a response, and the connection closes. This isn&amp;rsquo;t ideal for real-time applications where information needs to be pushed from the server to the client instantly, and vice-versa, without constant polling.&lt;/p&gt;</description></item></channel></rss>