<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Writing on Divyam Ahuja</title><link>https://divyam.dev/posts/</link><description>Recent content in Writing on Divyam Ahuja</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 13 May 2026 10:00:00 +0000</lastBuildDate><atom:link href="https://divyam.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Networking Part 4: Delivering the Payload (Transport &amp; Application)</title><link>https://divyam.dev/posts/networking-part-4-transport-and-application/</link><pubDate>Wed, 13 May 2026 10:00:00 +0000</pubDate><guid>https://divyam.dev/posts/networking-part-4-transport-and-application/</guid><description>&lt;p&gt;&lt;em&gt;Coming soon! In this post, we will cover TCP vs UDP, ports, and how the applications we write (like HTTP or WebSockets) actually consume this data.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Networking Part 3: Crossing the Internet (The Network Layer)</title><link>https://divyam.dev/posts/networking-part-3-the-network-layer/</link><pubDate>Tue, 12 May 2026 10:00:00 +0000</pubDate><guid>https://divyam.dev/posts/networking-part-3-the-network-layer/</guid><description>&lt;p&gt;&lt;em&gt;Coming soon! In this post, we will cover IP addresses, routers, subnets, and how packets travel across the global internet using BGP.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Networking Part 2: Sending Electrons over Wires (Physical &amp; Data Link)</title><link>https://divyam.dev/posts/networking-part-2-physical-and-data-link/</link><pubDate>Mon, 11 May 2026 10:00:00 +0000</pubDate><guid>https://divyam.dev/posts/networking-part-2-physical-and-data-link/</guid><description>&lt;p&gt;&lt;em&gt;Coming soon! In this post, we will cover MAC addresses, switches, Ethernet frames, and how electrons physically move data from NIC to NIC.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Networking Part 1: Why We Need Rules (and the OSI Model)</title><link>https://divyam.dev/posts/networking-part-1-the-osi-model/</link><pubDate>Sun, 10 May 2026 10:00:00 +0000</pubDate><guid>https://divyam.dev/posts/networking-part-1-the-osi-model/</guid><description>&lt;p&gt;Computer networking is often taught in the most dry, academic way possible. You&amp;rsquo;re immediately thrown a diagram with seven colored boxes (the OSI model) and told to memorize them for a test.&lt;/p&gt;
&lt;p&gt;But if you actually build software, understanding &lt;em&gt;why&lt;/em&gt; networks work the way they do changes how you write code. It changes how you debug timeouts, why you pick UDP over TCP for streaming, and why certain architectures scale while others crash under load.&lt;/p&gt;</description></item><item><title>Hello WebAssembly: Getting Started with C/C++</title><link>https://divyam.dev/posts/hello-webassembly-c/</link><pubDate>Tue, 21 Nov 2023 06:40:48 +0000</pubDate><guid>https://divyam.dev/posts/hello-webassembly-c/</guid><description>&lt;p&gt;If you&amp;rsquo;ve spent any time working on performance-critical web applications, you&amp;rsquo;ve probably hit the performance ceiling of JavaScript. I ran into this heavily during my Google Summer of Code project working on Chromium&amp;rsquo;s audio processing pipeline. We needed near-native speeds to process audio without stuttering, and standard JavaScript just wasn&amp;rsquo;t going to cut it.&lt;/p&gt;
&lt;p&gt;Enter &lt;strong&gt;WebAssembly&lt;/strong&gt; (Wasm).&lt;/p&gt;
&lt;p&gt;WebAssembly is essentially a low-level binary format that runs directly in the browser at near-native speeds. It lets us write code in systems languages like C, C++, or Rust, compile it, and run it right alongside our JavaScript.&lt;/p&gt;</description></item></channel></rss>