<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Frontend Development on AI VOID</title><link>https://ai-blog.noorshomelab.dev/categories/frontend-development/</link><description>Recent content in Frontend Development 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/categories/frontend-development/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter 3: Structuring Data: Interfaces and Type Aliases</title><link>https://ai-blog.noorshomelab.dev/ts-mastery-2025/structuring-data-interfaces-type-aliases/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ts-mastery-2025/structuring-data-interfaces-type-aliases/</guid><description>&lt;h2 id="chapter-3-structuring-data-interfaces-and-type-aliases"&gt;Chapter 3: Structuring Data: Interfaces and Type Aliases&lt;/h2&gt;
&lt;p&gt;Welcome back, future TypeScript master! In our previous chapters, we got our hands dirty with basic types like &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;number&lt;/code&gt;, and &lt;code&gt;boolean&lt;/code&gt;, and learned how to declare variables. That&amp;rsquo;s a fantastic start, but real-world applications rarely deal with just simple values. Instead, they manage complex collections of related data – think user profiles, product catalogs, or configuration settings.&lt;/p&gt;
&lt;p&gt;This chapter is where we unlock the true power of TypeScript for organizing and describing these complex data structures. We&amp;rsquo;ll dive deep into two fundamental concepts: &lt;strong&gt;Interfaces&lt;/strong&gt; and &lt;strong&gt;Type Aliases&lt;/strong&gt;. These aren&amp;rsquo;t just fancy words; they are your blueprints for creating robust, predictable, and maintainable code. By the end of this chapter, you&amp;rsquo;ll be able to define custom types that clearly articulate the shape of your data, making your applications safer and easier to reason about.&lt;/p&gt;</description></item><item><title>Real-time Agent Progress and User Control UI</title><link>https://ai-blog.noorshomelab.dev/kanbots-ai-worktrees-2026/realtime-agent-ui-control/</link><pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/kanbots-ai-worktrees-2026/realtime-agent-ui-control/</guid><description>&lt;p&gt;Interacting with AI agents can often feel like giving a command to a black box. You trigger a task, wait, and eventually, an output appears. For a multi-agent system like Kanbots, this lack of transparency can lead to frustration and inefficiency. This chapter addresses that challenge by equipping our Kanbots application with real-time feedback and user controls.&lt;/p&gt;
&lt;p&gt;By the end of this milestone, your Kanbots application will provide a dynamic interface that displays agent progress, streams logs, and allows users to pause, resume, or cancel agent tasks directly from the Kanban board. This dramatically improves the user experience, giving operators crucial insights and control over complex AI workflows.&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>Angular New Concepts Guide</title><link>https://ai-blog.noorshomelab.dev/angular-new-concepts/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/angular-new-concepts/</guid><description/></item></channel></rss>