<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Programming on AI VOID</title><link>https://ai-blog.noorshomelab.dev/categories/system-programming/</link><description>Recent content in System 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/categories/system-programming/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter 1: Understanding Terminal User Interfaces (TUIs)</title><link>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/01-understanding-tuis/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/01-understanding-tuis/</guid><description>&lt;h2 id="introduction-welcome-to-the-world-of-tuis"&gt;Introduction: Welcome to the World of TUIs!&lt;/h2&gt;
&lt;p&gt;Welcome, future TUI (Terminal User Interface) artisan! In this first chapter, we&amp;rsquo;re going to embark on an exciting journey into building powerful and interactive applications right within your terminal. Forget clunky command-line tools or resource-heavy graphical interfaces for a moment – TUIs offer a unique blend of efficiency, elegance, and keyboard-centric control that many developers adore.&lt;/p&gt;
&lt;p&gt;This chapter will lay the foundational understanding you need. We&amp;rsquo;ll explore what TUIs are, how they differ from their CLI and GUI cousins, and why you might choose to build one. We&amp;rsquo;ll then introduce Ratatui, a fantastic Rust library that makes TUI development a joy, and get your development environment ready. By the end of this chapter, you&amp;rsquo;ll have built your very first interactive terminal application, setting the stage for more complex creations!&lt;/p&gt;</description></item><item><title>Your First GPUI Application: Windows and the Application Lifecycle</title><link>https://ai-blog.noorshomelab.dev/gpui-guide-2026/first-gpui-application-lifecycle/</link><pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/gpui-guide-2026/first-gpui-application-lifecycle/</guid><description>&lt;p&gt;Building high-performance, native user interfaces with Rust can be a deeply rewarding experience, especially when you leverage the GPU for acceleration. In this chapter, we embark on our journey with GPUI, the powerful UI framework powering the Zed editor. You&amp;rsquo;ll learn the fundamental steps to set up your environment and launch your very first GPUI application, creating a basic window that will serve as the canvas for all your future creations.&lt;/p&gt;</description></item><item><title>Chapter 6: Structs, Enums, and Powerful Pattern Matching</title><link>https://ai-blog.noorshomelab.dev/rust-mastery-2026/structs-enums-pattern-matching/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/rust-mastery-2026/structs-enums-pattern-matching/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome back, Rustaceans! In our previous chapters, we laid the groundwork for understanding Rust&amp;rsquo;s core syntax, variables, and the unique concept of ownership. Now, it&amp;rsquo;s time to elevate our data modeling capabilities beyond simple scalars. Imagine trying to describe a person or a color using just individual &lt;code&gt;i32&lt;/code&gt;s or &lt;code&gt;String&lt;/code&gt;s – it would quickly become cumbersome and error-prone.&lt;/p&gt;
&lt;p&gt;This chapter introduces you to Rust&amp;rsquo;s powerful tools for creating custom data types: &lt;strong&gt;structs&lt;/strong&gt; and &lt;strong&gt;enums&lt;/strong&gt;. Structs allow you to group related pieces of data into a single, meaningful unit, much like objects in other languages (but without methods initially). Enums, short for enumerations, let you define a type that can be one of several possible variants, perfect for situations where a value can be &lt;em&gt;either&lt;/em&gt; this &lt;em&gt;or&lt;/em&gt; that.&lt;/p&gt;</description></item><item><title>Chapter 8: Robust Error Handling with Result, Option, and the &amp;#39;?&amp;#39; Operator</title><link>https://ai-blog.noorshomelab.dev/rust-mastery-2026/robust-error-handling/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/rust-mastery-2026/robust-error-handling/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome back, Rustaceans! In the journey of building reliable software, how we handle unexpected situations or failures is paramount. Imagine a program trying to read a file that doesn&amp;rsquo;t exist, or convert text into a number when the text isn&amp;rsquo;t actually a number. In many languages, these situations might lead to crashes or obscure runtime errors.&lt;/p&gt;
&lt;p&gt;Rust, with its strong emphasis on safety and reliability, takes a different approach. Instead of traditional exceptions or returning &lt;code&gt;null&lt;/code&gt; (which often leads to &amp;ldquo;billion-dollar mistakes&amp;rdquo;), Rust uses powerful enums called &lt;code&gt;Option&lt;/code&gt; and &lt;code&gt;Result&lt;/code&gt; to explicitly represent the &lt;em&gt;possibility&lt;/em&gt; of absence or failure. This chapter will unlock the secrets to robust error handling, making your Rust applications resilient and predictable.&lt;/p&gt;</description></item><item><title>Chapter 13: Intermediate Topics: Command-Line Arguments and Environment Variables</title><link>https://ai-blog.noorshomelab.dev/c-programming-guide/command-line-arguments-environment-variables/</link><pubDate>Mon, 03 Nov 2025 01:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/c-programming-guide/command-line-arguments-environment-variables/</guid><description>&lt;h1 id="chapter-13-intermediate-topics-command-line-arguments-and-environment-variables"&gt;Chapter 13: Intermediate Topics: Command-Line Arguments and Environment Variables&lt;/h1&gt;
&lt;p&gt;C programs are often run in terminal or shell environments, making direct interaction with the execution context crucial. This interaction primarily happens through &lt;strong&gt;command-line arguments&lt;/strong&gt; and &lt;strong&gt;environment variables&lt;/strong&gt;. Understanding these mechanisms allows you to write flexible programs that can be configured at runtime and integrate seamlessly into larger system scripts or workflows.&lt;/p&gt;
&lt;p&gt;In this chapter, we will deepen our understanding of:&lt;/p&gt;</description></item><item><title>Chapter 15: Project: Developing a Monitoring Dashboard</title><link>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/15-project-monitoring-dashboard/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/15-project-monitoring-dashboard/</guid><description>&lt;h2 id="introduction-building-your-first-tui-monitoring-dashboard"&gt;Introduction: Building Your First TUI Monitoring Dashboard&lt;/h2&gt;
&lt;p&gt;Welcome to Chapter 15! So far, we&amp;rsquo;ve explored the foundational elements of Ratatui, from basic widgets and layouts to event handling. Now, it&amp;rsquo;s time to put all that knowledge into action by building a practical, real-world application: a system monitoring dashboard.&lt;/p&gt;
&lt;p&gt;In this chapter, you&amp;rsquo;ll learn how to create an interactive terminal user interface that displays real-time system metrics like CPU and memory usage. This project will solidify your understanding of Ratatui&amp;rsquo;s layout system, state management, and event loops, while also introducing you to integrating external Rust crates for system information. By the end, you&amp;rsquo;ll have a functional TUI dashboard and a deeper appreciation for how all the pieces fit together to create a dynamic terminal application.&lt;/p&gt;</description></item><item><title>Chapter 18: Deployment and Distribution</title><link>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/18-deployment-distribution/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/18-deployment-distribution/</guid><description>&lt;h2 id="chapter-18-deployment-and-distribution"&gt;Chapter 18: Deployment and Distribution&lt;/h2&gt;
&lt;p&gt;Welcome back, future TUI masters! You&amp;rsquo;ve come a long way, from understanding the basics of terminal user interfaces to building sophisticated, interactive applications with Ratatui. But what&amp;rsquo;s the point of creating an amazing application if no one else can use it? This chapter is all about taking your Ratatui masterpiece from your development machine and getting it into the hands of your users.&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;ll dive into the crucial final steps of application development: deployment and distribution. We&amp;rsquo;ll explore how to prepare your Rust Ratatui application for release, optimize its size, and make it available across different operating systems and architectures through cross-compilation. By the end, you&amp;rsquo;ll be equipped to package your TUI applications professionally, ready for the world to enjoy.&lt;/p&gt;</description></item></channel></rss>