<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ali Amer</title>
    <description>The latest articles on Forem by Ali Amer (@aliamerj).</description>
    <link>https://forem.com/aliamerj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1131589%2Ff613289d-aa12-47bd-b70d-734bf3c1ab9d.jpeg</url>
      <title>Forem: Ali Amer</title>
      <link>https://forem.com/aliamerj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/aliamerj"/>
    <language>en</language>
    <item>
      <title>Why does performance debugging still suck so much?</title>
      <dc:creator>Ali Amer</dc:creator>
      <pubDate>Wed, 08 Apr 2026 20:40:18 +0000</pubDate>
      <link>https://forem.com/aliamerj/why-does-performance-debugging-still-suck-so-much-17j2</link>
      <guid>https://forem.com/aliamerj/why-does-performance-debugging-still-suck-so-much-17j2</guid>
      <description>&lt;p&gt;Recently I got laid off.&lt;/p&gt;

&lt;p&gt;Weirdly, I didn’t feel stressed. I actually felt… excited.&lt;/p&gt;

&lt;p&gt;For a long time I’ve wanted to build something meaningful in open source, but work always got in the way. Suddenly I had the time to try.&lt;/p&gt;

&lt;p&gt;So I asked myself a question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does performance debugging on Linux still suck?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I remember a moment back in college that stuck with me.&lt;/p&gt;

&lt;p&gt;One semester we had to build a project using &lt;strong&gt;.NET on Windows&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It was the first time I had to seriously use Windows for development.&lt;/p&gt;

&lt;p&gt;Honestly, I never liked .NET very much.&lt;/p&gt;

&lt;p&gt;But there was one thing I &lt;strong&gt;really liked&lt;/strong&gt;: Visual Studio.&lt;/p&gt;

&lt;p&gt;When you run an application in the debugger, Visual Studio shows you live metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CPU usage&lt;/li&gt;
&lt;li&gt;memory usage&lt;/li&gt;
&lt;li&gt;allocations&lt;/li&gt;
&lt;li&gt;performance spikes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the coolest part was watching what happened when you interacted with the app.&lt;/p&gt;

&lt;p&gt;You could click a button in the UI and instantly see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CPU usage spike&lt;/li&gt;
&lt;li&gt;memory allocations change&lt;/li&gt;
&lt;li&gt;performance graphs jump&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That made performance debugging &lt;strong&gt;feel visual and intuitive&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You could literally see:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I clicked this button… and something expensive just happened.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then you start digging:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which function caused the spike?&lt;/li&gt;
&lt;li&gt;Why did memory jump here?&lt;/li&gt;
&lt;li&gt;What part of the code is slow?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It turned performance optimization into a kind of &lt;strong&gt;investigation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And I loved that experience.&lt;/p&gt;


&lt;h2&gt;
  
  
  But there was a problem
&lt;/h2&gt;

&lt;p&gt;Years later, working mostly on Linux systems, I realized something strange.&lt;/p&gt;

&lt;p&gt;We have powerful tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;perf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bpftrace&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;flamegraphs&lt;/li&gt;
&lt;li&gt;eBPF&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But none of them feel as &lt;strong&gt;simple and immediate&lt;/strong&gt; as that Visual Studio experience.&lt;/p&gt;

&lt;p&gt;Most tools are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;hard to set up&lt;/li&gt;
&lt;li&gt;hard to understand&lt;/li&gt;
&lt;li&gt;designed for experts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I decided to build one.&lt;/p&gt;


&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;I’m building a tool called &lt;strong&gt;Nusku&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A fast, modern performance profiler built with &lt;strong&gt;Rust + eBPF&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It should:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run instantly&lt;/li&gt;
&lt;li&gt;require almost no setup&lt;/li&gt;
&lt;li&gt;work on production systems&lt;/li&gt;
&lt;li&gt;show useful information immediately&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No complicated configuration.&lt;br&gt;&lt;br&gt;
No massive dashboards.&lt;/p&gt;

&lt;p&gt;Just run it and see where your CPU time is going.&lt;/p&gt;


&lt;h2&gt;
  
  
  What I’ve built so far
&lt;/h2&gt;

&lt;p&gt;So far Nusku can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Attach to a running process&lt;/li&gt;
&lt;li&gt;Sample CPU usage using &lt;strong&gt;eBPF perf events&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Capture &lt;strong&gt;user-space stack traces&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Symbolize addresses into real function names&lt;/li&gt;
&lt;li&gt;Aggregate hot functions in real time&lt;/li&gt;
&lt;li&gt;Show CPU usage and memory usage in a live terminal view&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;── PID 132612 ── 98 samples ── CPU  99.0% ── RSS 2.0 MiB ── VIRT 3.1 MiB ──
     %     COUNT  FUNCTION                          SOURCE                           ADDRESS
────────────────────────────────────────────────────────────────────────────────────────────────
 27.6%        27  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as …  range.rs:773          0x00005efa8cfd4b95
 11.2%        11  testing::hot_c                    main.rs:7             0x00005efa8cfd4cc7
 10.2%        10  &amp;lt;i32 as core::iter::range::Step…  range.rs:197          0x00005efa8cfd4acd
 10.2%        10  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as …  range.rs:775          0x00005efa8cfd4b9f
  9.2%         9  testing::hot_c                    main.rs:8             0x00005efa8cfd4cf0
  6.1%         6  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as …  range.rs:771          0x00005efa8cfd4b69
  5.1%         5  &amp;lt;i32 as core::iter::range::Step…  range.rs:198          0x00005efa8cfd4b0b
  4.1%         4  core::hint::black_box             hint.rs:482           0x00005efa8cfd4d5a
  4.1%         4  core::iter::range::&amp;lt;impl core::…  range.rs:856          0x00005efa8cfd4b40
  3.1%         3  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as …  range.rs:776          0x00005efa8cfd4bba
  2.0%         2  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as …  range.rs:772          0x00005efa8cfd4b7a
  2.0%         2  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as …  range.rs:780          0x00005efa8cfd4bce
  2.0%         2  testing::hot_c                    main.rs:9             0x00005efa8cfd4d09
  2.0%         2  &amp;lt;i32 as core::iter::range::Step…  range.rs:195          0x00005efa8cfd4ac4
  1.0%         1  core::hint::black_box             hint.rs:483           0x00005efa8cfd4d64

Top frame:
  &amp;lt;core::ops::range::Range&amp;lt;T&amp;gt; as core::iter::range::RangeIteratorImpl&amp;gt;::spec_next
  /home/ali/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/range.rs
  line 773

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Everything runs in real time.&lt;/p&gt;

&lt;p&gt;Under the hood it uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rust&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libbpf-rs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eBPF stack sampling&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blazesym&lt;/strong&gt; for symbolization&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What’s next
&lt;/h2&gt;

&lt;p&gt;Right now the output is pretty basic.&lt;/p&gt;

&lt;p&gt;Next steps include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;building a proper &lt;strong&gt;terminal UI (Ratatui)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;improving symbol aggregation&lt;/li&gt;
&lt;li&gt;better stack analysis&lt;/li&gt;
&lt;li&gt;eventually generating &lt;strong&gt;flamegraphs&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term vision is a tool that feels as simple as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run with pid:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nusku &lt;span class="nt"&gt;--pid&lt;/span&gt; 1234
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;run binary:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nusku ./my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;run with commend:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nusku &lt;span class="nt"&gt;-c&lt;/span&gt; node app.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and immediately shows you where your program is spending CPU time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Follow the project
&lt;/h2&gt;

&lt;p&gt;I’ll be posting updates as I build this.&lt;/p&gt;

&lt;p&gt;If you're interested in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rust&lt;/li&gt;
&lt;li&gt;eBPF&lt;/li&gt;
&lt;li&gt;performance debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;follow along.&lt;/p&gt;

&lt;p&gt;GitHub repo:&lt;br&gt;
&lt;a href="https://github.com/aliamerj/nusku" rel="noopener noreferrer"&gt;https://github.com/aliamerj/nusku&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you have ideas or feedback, I’d love to hear it.&lt;/p&gt;

</description>
      <category>rust</category>
      <category>performance</category>
      <category>architecture</category>
      <category>devtool</category>
    </item>
    <item>
      <title>The Hidden Superpower of AI: How Smart Data Retrieval Is Revolutionizing Everyday Life</title>
      <dc:creator>Ali Amer</dc:creator>
      <pubDate>Mon, 19 May 2025 10:40:29 +0000</pubDate>
      <link>https://forem.com/aliamerj/the-hidden-superpower-of-ai-how-smart-data-retrieval-is-revolutionizing-everyday-life-3po2</link>
      <guid>https://forem.com/aliamerj/the-hidden-superpower-of-ai-how-smart-data-retrieval-is-revolutionizing-everyday-life-3po2</guid>
      <description>&lt;p&gt;A Day in the Life of “Invisible AI”&lt;br&gt;
Imagine waking up and asking your smart assistant for:&lt;/p&gt;

&lt;p&gt;“What’s my most urgent email? And remind me to follow up on that proposal if I haven’t heard back by Friday.”&lt;/p&gt;

&lt;p&gt;Your AI not only scans your inbox, it understands which messages matter most and taps into your calendar, too. No more frantic searches for a lost attachment or digging through threads—you get answers instantly.&lt;/p&gt;

&lt;p&gt;That’s the magic of AI‑powered retrieval, quietly hustling behind the scenes in apps you use every day.&lt;/p&gt;

&lt;p&gt;Why We Need Better Search—Again&lt;br&gt;
Keyword search felt revolutionary in the 2000s: type a phrase, get a list of links. But today, our data looks nothing like a neatly indexed webpage:&lt;/p&gt;

&lt;p&gt;Voice notes from last week’s brainstorming session&lt;br&gt;
PDFs with handwritten meeting minutes&lt;br&gt;
PowerPoint decks shared in chat groups&lt;br&gt;
Traditional search can’t connect the dots between “budget forecast” in a spreadsheet and that off‑hand mention in your voice memo. AI retrieval changes the game by understanding meaning, not just matching words.&lt;/p&gt;

&lt;p&gt;5 Surprising Ways AI Retrieval Helps You Right Now&lt;br&gt;
Smarter Personal Assistants&lt;/p&gt;

&lt;p&gt;Your AI can pull relevant documents, chats, and even images to answer complex questions:&lt;br&gt;
“Show me the contract version we signed last quarter and summarize its key dates.”&lt;br&gt;
Instant Knowledge Base for Teams&lt;/p&gt;

&lt;p&gt;No more “check our internal wiki”—AI bots can fetch and summarize policies, technical docs, or HR guidelines in natural language.&lt;br&gt;
Contextual Shopping Recommendations&lt;/p&gt;

&lt;p&gt;e‑commerce sites use retrieval to suggest products based on past purchases, reviews, and even your browsing behavior, all blended seamlessly.&lt;br&gt;
Legal &amp;amp; Medical Research Made Simple&lt;/p&gt;

&lt;p&gt;Lawyers and doctors can ask AI to surface past cases or similar clinical studies, saving hours of manual literature review.&lt;br&gt;
Home Automation with a Brain&lt;/p&gt;

&lt;p&gt;Ask your smart home:&lt;br&gt;
“Which lights were on last night between 10 PM and midnight?”&lt;br&gt;
and get a precise timeline without sifting through logs.&lt;br&gt;
The Flip Side: When Search Breaks&lt;br&gt;
Ever typed in a query and felt like your data was speaking a different language? That’s because:&lt;/p&gt;

&lt;p&gt;Synonyms and slang confuse keyword search.&lt;br&gt;
Unstructured formats (images, audio) aren’t easily indexed.&lt;br&gt;
Volume &amp;amp; velocity overwhelm simple databases.&lt;br&gt;
AI retrieval solves these by converting everything into “embeddings”—compact numerical fingerprints that capture meaning. Suddenly, “sales report Q1” and “Q1 numbers” live in the same semantic neighborhood.&lt;/p&gt;

&lt;p&gt;Your Next Step with AI Retrieval&lt;br&gt;
Curious to see how this works under the hood? Platforms like Dcup (open‑source RAG‑as‑a‑Service) let you:&lt;/p&gt;

&lt;p&gt;Connect all your data sources in minutes.&lt;br&gt;
Automatically chunk and embed documents, audio, and more.&lt;br&gt;
Deploy a smart search API that speaks natural language.&lt;br&gt;
Whether you’re building the next-gen digital assistant or just want your team to stop chasing files, AI‑powered retrieval is the secret sauce. Give it a spin—and transform chaos into clarity.&lt;/p&gt;

&lt;p&gt;Want to experience invisible AI retrieval for yourself?&lt;br&gt;
Head over to &lt;a href="https://dcup.dev" rel="noopener noreferrer"&gt;dcup.dev&lt;/a&gt; and start your free self‑hosted trial today! 🚀&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building Dcup: An Open-Source RAG Pipeline with a Twist</title>
      <dc:creator>Ali Amer</dc:creator>
      <pubDate>Sun, 04 May 2025 11:57:05 +0000</pubDate>
      <link>https://forem.com/aliamerj/building-dcup-an-open-source-rag-pipeline-with-a-twist-2ebn</link>
      <guid>https://forem.com/aliamerj/building-dcup-an-open-source-rag-pipeline-with-a-twist-2ebn</guid>
      <description>&lt;p&gt;Ever wrestled with a RAG pipeline and thought, &lt;strong&gt;“Why is this so damn hard?”&lt;/strong&gt; We’ve been there—tearing our hair out over complexity and slow performance. So, I built Dcup, an open-source, self-hostable RAG-as-a-Service platform that actually works Very good.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Dcup All About?
&lt;/h2&gt;

&lt;p&gt;It’s a tool to hook your app up to user data with zero bullshit. Here’s the rundown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js, BullMQ for job queues, OpenAI for embeddings, and Qdrant for vector storage. It’s lean, mean, and scales like a dream.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Killer Features&lt;/strong&gt;: AI-driven retrieval and hybrid search that cuts through the noise. Plus, optional re-ranking if you’re a precision freak.&lt;br&gt;
&lt;a href="https://dcup.dev/docs" rel="noopener noreferrer"&gt;Learn more&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At its core, Dcup is your bridge to smarter data handling. It takes the complexity out of RAG pipelines by automating the heavy lifting. Here’s how it works in plain English:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data Ingestion&lt;/strong&gt;: Hook up your data sources—think Google Drive, AWS, or wherever your files live—and Dcup keeps it all synced and current.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Processing&lt;/strong&gt;: Your raw data gets chopped into bite-sized chunks and turned into embeddings using OpenAI. (More on embeddings later—they’re cool!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage &amp;amp; Indexing&lt;/strong&gt;: Those embeddings land in Qdrant, a lightning-fast vector database that makes searching a breeze.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced Retrieval&lt;/strong&gt;: Need answers fast? Features like re-ranking and hybrid search dig up the most relevant info in seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of Dcup as your personal AI assistant that organizes, understands, and retrieves your data like a pro.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fight We Won
&lt;/h2&gt;

&lt;p&gt;Big files used to choke us. Performance would tank, and we’d be staring at spinning wheels. Then we got smart—batching and parallel processing turned it around. Now, Dcup eats large datasets for breakfast.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why You’ll Dig It
&lt;/h2&gt;

&lt;p&gt;This isn’t some corporate ad. It’s a project by dev not shitty vibe coding or whatever the kids call it these days.&lt;/p&gt;

&lt;h2&gt;
  
  
  support the project
&lt;/h2&gt;

&lt;p&gt;Star the repo if it vibes with you: &lt;a href="https://github.com/Dcup-dev/dcup" rel="noopener noreferrer"&gt;Dcup on GitHub&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wanna contribute? Hit me up! Let’s make RAG pipelines suck less together.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rag</category>
      <category>opensource</category>
    </item>
    <item>
      <title>First Reverse Proxy Built with Zig</title>
      <dc:creator>Ali Amer</dc:creator>
      <pubDate>Mon, 25 Nov 2024 11:45:37 +0000</pubDate>
      <link>https://forem.com/aliamerj/first-reverse-proxy-built-with-zig-2hpi</link>
      <guid>https://forem.com/aliamerj/first-reverse-proxy-built-with-zig-2hpi</guid>
      <description>&lt;p&gt;The first-ever reverse proxy built with Zig. If you're a developer, sysadmin, or just someone interested in optimizing web traffic handling, Cloud Cup may be your new favorite tool. It's lightweight, fast, and built to scale. And it's open-source!&lt;/p&gt;

&lt;p&gt;In this blog, I'll walk you through Cloud Cup’s architecture and the challenges I faced while building it. I’ll also talk about how you can help shape the future of this project, suggest new features, and contribute. I am just getting started, and your feedback and support can make all the difference.&lt;br&gt;
What is Cloud Cup?&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Cloud Cup?
&lt;/h1&gt;

&lt;p&gt;Cloud Cup is a reverse proxy and load balancer designed with simplicity and performance in mind. It helps route traffic between clients and backend servers, distributing the load evenly to avoid overloading any single server. But here’s the twist – Cloud Cup is built using Zig, a low-level language known for its performance and control over memory usage.&lt;/p&gt;

&lt;p&gt;Unlike traditional reverse proxies, which can be heavy on resources, Cloud Cup is lightweight, optimized for speed, and easy to configure. I believe it’s the next big thing in reverse proxies, and I want you to be a part of it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Architecture
&lt;/h1&gt;

&lt;p&gt;Cloud Cup’s architecture is designed to be as efficient and scalable as possible, and it revolves around the Master-Worker pattern. Let’s break it down:&lt;/p&gt;

&lt;h2&gt;
  
  
  Master Process
&lt;/h2&gt;

&lt;p&gt;The master process is the heart of Cloud Cup. Here's what it does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Configuration Management: The master process validates and applies configurations at startup, ensuring that everything is set up correctly before launching workers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dynamic Hot Reloading: Through the CLI tool (called cupctl), Cloud Cup can hot reload its configurations without needing to restart the entire system. This allows for seamless updates and scaling on the fly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Worker Management: The master spawns multiple worker processes and ensures that they are always running. If a worker crashes, the master immediately spawns a replacement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CLI Listener: The master also manages the command-line interface, which lets you interact with Cloud Cup, run diagnostics, and apply updates.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Worker Process
&lt;/h2&gt;

&lt;p&gt;The worker process is responsible for handling actual network traffic:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Shared Port, Independent Threads: All workers listen on the same port, and the kernel manages the traffic distribution between them. Each worker has its own epoll instance for highly efficient I/O handling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concurrency with Thread Pool: Each worker has a dedicated thread pool for handling requests concurrently, making Cloud Cup highly scalable and responsive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configuration Updates: The workers dynamically receive updates from the master process, so configuration changes are applied across all workers instantly and consistently.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Challenges I Faced
&lt;/h1&gt;

&lt;p&gt;Building Cloud Cup wasn’t without its challenges. Since I'm working with Zig, a language that is still relatively new in the ecosystem, I faced a steep learning curve when it came to optimizing networking performance and ensuring memory safety. But I was determined to keep the project lightweight, efficient, and easy to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some of the challenges I overcame include:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Memory Management: Zig’s manual memory management gave us more control, but also required careful handling to avoid memory leaks or crashes. I've worked hard to ensure that Cloud Cup’s memory footprint remains minimal while still delivering high performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concurrency and Scalability: I wanted Cloud Cup to handle heavy loads without sacrificing performance. Building the master-worker architecture allowed us to handle traffic distribution efficiently while maintaining responsiveness.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But I'm not done yet! I'm actively working on adding more features and improving performance even further.&lt;/p&gt;

&lt;h1&gt;
  
  
  How Can You Contribute?
&lt;/h1&gt;

&lt;p&gt;As Cloud Cup is still in its early stages, I’d love your help! Whether you're a developer, tester, or just someone who wants to try out new software, you can contribute in many ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Feature Requests: Is there something you’d love to see in Cloud Cup? I'm listening! Submit your ideas, and I will review them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bug Reports: Encountered a bug? Let me know so I can fix it. Your feedback helps make Cloud Cup better for everyone.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code Contributions: If you’re interested in contributing code, check out GitHub repo. I'd be happy to accept pull requests for new features or bug fixes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Suggestions: Have suggestions on how I can improve documentation or features? Drop me a message. I want to make Cloud Cup as user-friendly as possible.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can find all the information you need for contributing in our CONTRIBUTING.md file.&lt;br&gt;
What’s Next?&lt;/p&gt;

&lt;p&gt;I'm just getting started with Cloud Cup, but I already have big plans for future updates. In the next releases, I'm planning to improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance: Always looking to make Cloud Cup even faster!&lt;/li&gt;
&lt;li&gt;Features: More advanced load balancing options and enhanced configuration management.&lt;/li&gt;
&lt;li&gt;Documentation: I am committed to improving the docs, making it easier for developers to get started with Cloud Cup.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're passionate about reverse proxies, load balancing, or just want to see Cloud Cup grow, consider supporting me on our Patreon. Every bit of support helps me keep building and adding new features.&lt;/p&gt;

&lt;h2&gt;
  
  
  I Need Your Feedback!
&lt;/h2&gt;

&lt;p&gt;I want to make Cloud Cup the best reverse proxy tool out there, and for that, I need your feedback. Whether it’s a suggestion for a new feature, an improvement to the documentation, or a bug you’ve encountered, I want to hear from you.&lt;/p&gt;

&lt;p&gt;You can reach out via:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Issues: Create an Issue&lt;/li&gt;
&lt;li&gt;Email: Send me a message at &lt;a href="mailto:aliamer19ali@gmail.com"&gt;aliamer19ali@gmail.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am really excited about Cloud Cup, and I hope you’ll join me on this journey. Help me build the future of reverse proxies, one feature at a time!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I can’t wait to hear what you think!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Github&lt;/strong&gt;: &lt;a href="https://github.com/cloud-cup/cloud-cup" rel="noopener noreferrer"&gt;https://github.com/cloud-cup/cloud-cup&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;DOC&lt;/strong&gt;: &lt;a href="https://cloud-cup.netlify.app/" rel="noopener noreferrer"&gt;https://cloud-cup.netlify.app/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>zig</category>
      <category>proxy</category>
      <category>web</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
