<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Low Level Ai]]></title><description><![CDATA[Low Level Ai]]></description><link>https://aiman.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 22:41:52 GMT</lastBuildDate><atom:link href="https://aiman.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[The Protocol That Built the Web: A Slightly Messy History of HTTP]]></title><description><![CDATA[You click a link. A fraction of a second later, a page with text, images, and videos appears on your screen. It feels like magic, but it’s not. It's the work of a tireless messenger of the web: the Hypertext Transfer Protocol, or HTTP.
The story of H...]]></description><link>https://aiman.hashnode.dev/the-protocol-that-built-the-web-a-slightly-messy-history-of-http</link><guid isPermaLink="true">https://aiman.hashnode.dev/the-protocol-that-built-the-web-a-slightly-messy-history-of-http</guid><category><![CDATA[http]]></category><category><![CDATA[protocols]]></category><category><![CDATA[internet]]></category><dc:creator><![CDATA[Aiman Singh]]></dc:creator><pubDate>Tue, 19 Aug 2025 00:46:09 GMT</pubDate><content:encoded><![CDATA[<p>You click a link. A fraction of a second later, a page with <strong>text</strong>, <strong>images</strong>, and <strong>videos</strong> appears on your screen. It feels like <strong>magic</strong>, but it’s not. It's the work of a tireless messenger of the web: the Hypertext Transfer Protocol, or <strong>HTTP</strong>.</p>
<p>The story of HTTP isn't a neat timeline, it's a story of hitting walls, finding clever workarounds, and sometimes, throwing out the old rule book entirely.</p>
<h2 id="heading-http-09-this-is-where-it-all-began">HTTP / 0.9 - this is where it all began</h2>
<p>To get a document from a server, you needed a <strong>protocol</strong> that was brutally simple.</p>
<p>HTTP/0.9 was exactly that. It was so <strong>simple</strong> it's almost stupidly funny by today's standards.</p>
<ul>
<li><p>There were no <strong>headers</strong>. No <strong>metadata</strong>. No <strong>cookies</strong>.</p>
</li>
<li><p>There was only one <strong>method</strong>: <code>GET</code>.</p>
</li>
<li><p>The <strong>request</strong> was literally a single line: <code>GET /some-page.html</code><strong>.</strong></p>
</li>
</ul>
<p>The server dumps the raw <strong>html</strong> (<strong>text</strong>-only) and the connection is lost.</p>
<h2 id="heading-http-10-a-better-solution">HTTP / 1.0 - a better solution</h2>
<p>The web couldn't stay a text-only club forever. It wanted <strong>pictures</strong>. It wanted different <strong>layouts</strong> and eventually more than http/0.9.</p>
<ul>
<li><p><strong>Version Numbers:</strong> Requests now said which "language" they were speaking (e.g., <code>GET /my-cat.gif HTTP/1.0</code>).</p>
</li>
<li><p><strong>Status Codes:</strong> Finally, a standardized way for the server to say what happened. <code>200 OK</code> meant success, <code>404 Not Found</code> meant you were asking for something that wasn't there.</p>
</li>
<li><p><strong>Headers:</strong> This was the big one. Now, both the request and the response could carry a little backpack of metadata. The <code>Content-Type</code> header meant we could serve images, CSS files, and more, not just HTML.</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755026848799/11c6d5be-a37f-4631-b6ee-3a2f4766e26e.png" alt class="image--center mx-auto" /></p>
</li>
</ul>
<h2 id="heading-http-11-the-internet-standard">HTTP / 1.1 - the internet standard</h2>
<p>By <strong>1997</strong>, the web was exploding, and the connection issue with 1.0 was a serious <strong>bottleneck</strong>. HTTP/1.1 arrived to fix it, and it did such a good job.</p>
<p><strong>Persistent Connections</strong> <strong>:</strong> The browser could now make one connection to the server and <strong>reuse</strong> it to ask for <strong>multiple</strong> things. This was a huge deal for performance.</p>
<p>It also introduced a feature called <strong>Pipelining.</strong> It let a browser send a bunch of requests at once without waiting for the answers but the <strong>problem</strong> was that the server had to send the <strong>responses</strong> back in the exact <strong>same</strong> order.</p>
<p>This led to a nasty problem called <strong>Head-of-Line (HOL) Blocking.</strong></p>
<h2 id="heading-http-20-speed-was-a-game-changer">HTTP / 2.0 - speed was a game changer</h2>
<p>By the <strong>2010s</strong>, websites weren't just a few <strong>images</strong> and some <strong>text</strong>. They were complex applications with dozens, sometimes hundreds, of resources. <strong>HTTP/1.1,</strong> even with its persistent connections, was creaking under the strain. The <strong>Head-of-Line blocking</strong> was a real pain.</p>
<p>In 2015 after the launch of <strong>http/2.0,</strong> instead of plain text, it spoke <strong>binary</strong>—much faster for computers to process. But its true superpower was <strong>Multiplexing</strong>.</p>
<p>With multiplexing, the browser could fire off all its requests at once over a single <strong>TCP</strong> connection, and the server could send back the responses as soon as they were ready, in any order.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755026934349/1e16591a-b4d7-454e-b3c3-4473c567b8c5.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-https-30-the-underlying-protocol-got-changed">HTTPS / 3.0 - the underlying protocol got changed</h2>
<p>HTTP/2 fixed <strong>HOL</strong> blocking at the <strong>application</strong> level, but the problem was still hiding one layer deeper, in TCP — the very foundation that the whole internet is built on.</p>
<p><strong>TCP</strong> is obsessed with order. If a single data packet gets lost on its way across the internet, <strong>TCP</strong> panics and makes everyone wait until that lost packet is found and re-sent.<br />This means all of our beautifully multiplexed <strong>HTTP/2</strong> streams would grind to a halt.</p>
<p>The solution in <strong>HTTP/3</strong> is absolutely brilliant, it is to ditch <strong>TCP</strong> and adopt <strong>UDP.</strong></p>
<p>HTTP/3 runs on a new protocol called <strong>QUIC</strong>, which is built on top of the much simpler <strong>UDP</strong>.<br /><strong>QUIC</strong> adds all the smarts—<strong>reliability</strong>, <strong>congestion</strong> <strong>control</strong>, and <strong>security</strong>—on top of it.</p>
<p>Because <strong>QUIC</strong> manages streams <strong>independently</strong>, if a <strong>packet</strong> from one stream gets <strong>lost</strong>, it only holds up that one <strong>stream</strong>. The others can just keep on <strong>flowing</strong>. It finally, truly, solves the <strong>Head-of-Line blocking</strong> problem, from top to bottom. It also makes establishing new connections much <strong>faster</strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755027074377/fe87b0c8-37c4-4686-9cdd-2a3ec8173620.jpeg" alt class="image--center mx-auto" /></p>
<p>As we continue to build and expand the web, <strong>HTTP</strong> remains the <strong>backbone</strong> of our online experiences, evolving to meet the demands of an ever-changing digital landscape. Looking ahead, HTTP will keep evolving, ensuring the web stays <strong>fast</strong>, <strong>secure</strong>, and <strong>accessible</strong> for all.</p>
]]></content:encoded></item><item><title><![CDATA[" I Use Linux " is a Lie : Unpacking the Kernel and a World of Distributions]]></title><description><![CDATA[You don’t use Linux.
Millions of servers run it, the entire Android ecosystem is built on it, and countless developers have a laptop with a friendly penguin sticker on it. They all say they "use Linux." But the truth is, what we call "Linux" in every...]]></description><link>https://aiman.hashnode.dev/i-use-linux-is-a-lie-unpacking-the-kernel-and-a-world-of-distributions</link><guid isPermaLink="true">https://aiman.hashnode.dev/i-use-linux-is-a-lie-unpacking-the-kernel-and-a-world-of-distributions</guid><category><![CDATA[Linux]]></category><category><![CDATA[Kernel]]></category><category><![CDATA[Ubuntu]]></category><category><![CDATA[ArchLinux]]></category><dc:creator><![CDATA[Aiman Singh]]></dc:creator><pubDate>Tue, 19 Aug 2025 00:45:13 GMT</pubDate><content:encoded><![CDATA[<p>You don’t use <strong>Linux.</strong></p>
<p>Millions of <strong>servers</strong> run it, the entire <strong>Android</strong> ecosystem is built on it, and countless developers have a laptop with a friendly <strong>penguin</strong> sticker on it. They all say they "<strong>use Linux</strong>." But the truth is, what we call "<strong>Linux</strong>" in everyday conversation is actually a combination of <strong>two</strong> distinct and equally important things.</p>
<h3 id="heading-the-heart-of-the-machine-what-on-earth-is-a-kernel">The Heart of the Machine : What on Earth is a Kernel ?</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755098722874/68775c1a-1224-4d99-b41c-bc02236e4346.webp" alt /></p>
<p>Before we can talk about Linux, we need to talk about the <strong>kernel</strong>.</p>
<p>The kernel is the core <strong>brain</strong> of the operating system. It's the first program that loads when you <strong>boot up</strong> your computer and it has complete control over everything. Its job is to be the master translator and manager between your software (like your browser or code editor) and your hardware (the <strong>CPU</strong>, <strong>RAM</strong>, and <strong>storage</strong>).</p>
<p>A <strong>kernel's</strong> main jobs are :</p>
<ul>
<li><p><strong>Process Management :</strong> Your computer is doing hundreds of things at once. The kernel is the traffic manager that decides which program gets to use the CPU at any given millisecond.</p>
</li>
<li><p><strong>Memory Management :</strong> The kernel keeps a map of our system's RAM. It decides who gets which bit of memory and makes sure no program messes with another program's space.</p>
</li>
<li><p><strong>Device Drivers :</strong> Your browser doesn't know how to talk to your specific Wi-Fi card or your particular brand of graphics card. The kernel does. It manages all the drivers that act as translators between software and hardware.</p>
</li>
<li><p><strong>System Calls :</strong> When a program needs to do something important, like create a file or open a network connection, it can't just do it. It has to ask the kernel politely through a "system call." The kernel is the bouncer that checks the request and grants or denies access to the hardware. It uses <strong>systemd</strong> for this.</p>
</li>
</ul>
<p>In short, the kernel is the low-level, powerful program which acts as a <strong>brain.</strong></p>
<h3 id="heading-so-where-does-linux-come-in">So, Where Does "Linux" Come In ?</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755101726298/bb8aa1e6-d66e-44d1-b12f-199944c10a65.jpeg" alt class="image--center mx-auto" /></p>
<p>Back in <strong>1991</strong>, a Finnish student named <strong>Linus Torvalds</strong> started a project. He famously announced it was "just a hobby, won't be big and professional." That hobby was writing a kernel from scratch. He wanted to build a free and <strong>open-source</strong> engine, inspired by another operating system called <strong>MINIX</strong>.</p>
<p><strong>This is the crucial part - Linus Torvalds created the Linux Kernel. The engine.</strong> He didn't create the steering wheel, the seats, the radio, or the shiny paint job.</p>
<h3 id="heading-whats-a-distribution">What's a Distribution?</h3>
<p>A distro takes the Linux kernel and bundles it with all the other software you need to have a complete, usable operating system. It's the full package.</p>
<p>This package typically includes:</p>
<ul>
<li><p><strong>The GNU Toolchain:</strong> A collection of essential programming tools (<code>gcc</code>, <code>make</code>) and core utilities (<code>ls</code>, <code>cp</code>, <code>mv</code>, <code>bash</code>) that form the backbone of the system. This is so fundamental that many people argue the correct term is "GNU/Linux," and they have a very good point.</p>
</li>
<li><p><strong>A Desktop Environment:</strong> This is the graphical user interface (GUI) you actually see and click on. It's the dashboard, the seats, and the windows of our car. Popular ones include GNOME, KDE Plasma, and XFCE.</p>
</li>
<li><p><strong>A Package Manager:</strong> This is your app store and your mechanic, rolled into one. It’s a tool like <code>apt</code> (for Debian/Ubuntu) or <code>pacman</code> (for Arch) that lets you install, update, and remove software easily.</p>
</li>
<li><p><strong>User Applications:</strong> All the other stuff—a web browser, an office suite, text editors, etc.</p>
</li>
</ul>
<p><strong>Ubuntu is not Linux. Ubuntu is a distribution that <em>uses</em> the Linux kernel as its engine.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755102887391/0b894ddf-cb5a-4c37-a57e-4ee91a9ce322.png" alt class="image--center mx-auto" /></p>
<p>Same for <strong>Fedora</strong>, <strong>Arch</strong> Linux, Linux <strong>Mint</strong>, and all the others. They all use the same core engine (the Linux kernel).</p>
<ul>
<li><p><strong>Ubuntu</strong> aims to be a user-friendly and stable.</p>
</li>
<li><p><strong>Arch Linux</strong> is lightweight and can be highly customized.</p>
</li>
<li><p><strong>Fedora</strong> is a sleek and modern distro which is updated quite often.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Building the Living Permaweb with Arweave Blockchain, AO, and Apus]]></title><description><![CDATA[How many times have you clicked a link only to be greeted by a "404 Not Found" error? Or tried to find a source for an old article, only to realize the entire website is gone? The internet, for all its wonders, has a terrible memory. Our digital hist...]]></description><link>https://aiman.hashnode.dev/building-the-living-permaweb-with-arweave-blockchain-ao-and-apus</link><guid isPermaLink="true">https://aiman.hashnode.dev/building-the-living-permaweb-with-arweave-blockchain-ao-and-apus</guid><category><![CDATA[Apus]]></category><category><![CDATA[Arweave]]></category><category><![CDATA[ao ]]></category><category><![CDATA[Permaweb]]></category><dc:creator><![CDATA[Aiman Singh]]></dc:creator><pubDate>Tue, 19 Aug 2025 00:39:12 GMT</pubDate><content:encoded><![CDATA[<p>How many times have you <strong>clicked</strong> a link only to be greeted by a "<strong>404</strong> Not Found" error? Or tried to find a source for an old article, only to realize the entire website is gone? The internet, for all its wonders, has a terrible memory. Our digital history is incredibly fragile, built on servers that can be shut down and data that can be deleted at any moment.</p>
<p>This is the problem that a new vision for the internet seeks to solve. It’s called the <strong>permaweb</strong>.</p>
<p>The <strong>permaweb</strong> isn't just a catchy name, it's the idea of a web that is <strong>permanent</strong>, <strong>decentralized</strong>, and <strong>owned</strong> by its <strong>users</strong>, not <strong>corporations</strong>. A web where information, once published, can never be lost.</p>
<h3 id="heading-part-1-the-foundation-of-the-permaweb-arweave">Part 1: The Foundation of the Permaweb - Arweave</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755108428511/0774e2fd-d9dd-40ed-a42b-81686f428f28.jpeg" alt /></p>
<p>You can't have a <strong>permaweb</strong> without permanent <strong>storage</strong>. This is the foundational layer, and it's powered by <strong>Arweave</strong>.</p>
<p>Arweave’s mission is simple: <strong>pay once, store forever.</strong></p>
<p>This technology is the <strong>backbone</strong> of the permaweb. Think of it as the Library that <strong>can't</strong> ever burn down. It’s a decentralized storage network where data, web pages, historical records, entire applications, is stored permanently across a <strong>global</strong> network of computers. Unlike traditional <strong>cloud</strong> storage where you pay a monthly subscription (and if you stop paying, your data vanishes), Arweave solves this problem by <strong>permanently</strong> storing data.</p>
<p>Arweave single-handedly solves the problem of "link is not working" and server down issues. It provides the permanent, <strong>unchangeable</strong> memory that the <strong>permaweb</strong> is built upon. But a permaweb can't just be a static collection of old websites. It needs to <strong>think</strong>.</p>
<h3 id="heading-part-2-the-decentralized-compute-of-permaweb-ao">Part 2: The Decentralized Compute of Permaweb - AO</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755144515037/86f6b26b-3a26-44bf-8ca1-0a68d4b64e43.jpeg" alt /></p>
<p>With a permanent hard drive (<strong>Arweave</strong>) in place, the next question is: "How do we run programs on the permaweb in a way that's as trustworthy as the storage itself?"</p>
<p>That's the problem <strong>AO</strong> was built to solve. It's the compute brain of the permaweb.</p>
<p>AO is a new kind of computing protocol built on <strong>top</strong> of Arweave. Its an open system which records every single thought and calculation for all to see. AO is a "<strong>hyper-parallel computer</strong>" that allows anyone to run applications where the results, and even the process itself, are permanently logged on Arweave for anyone to verify.</p>
<p>This transforms the permaweb from a <strong>read-only</strong> archive into a dynamic, interactive platform. Instead of trusting a company's server to run code honestly, AO enables "<strong>trustless</strong>" computation.</p>
<p>We write all the programs on <strong>AO</strong> with a programming language called <strong>lua</strong>.</p>
<p>This allows for a new class of permaweb applications: a social media platform where posts can't be censored, a financial service where every transaction is perfectly auditable, or an AI whose logic is completely transparent. AO provides the <strong>trust layer</strong>, making the permaweb a place where you can not only read history but also make it, <strong>securely</strong> and <strong>verifiably</strong>.</p>
<h3 id="heading-part-3-the-decentralized-gpu-power-for-permaweb-apus-network">Part 3: The Decentralized GPU Power for Permaweb - Apus Network</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1755144914312/83f975b1-b6e4-42db-b1a6-31d91af8cc7c.png" alt class="image--center mx-auto" /></p>
<p>To run truly powerful applications on the <strong>permaweb</strong>, things like decentralized AI, complex scientific simulations, or high rendering gaming, you need quite a large <strong>computational</strong> power. Doing every single calculation on a <strong>trustless</strong>, <strong>public</strong> computer like <strong>AO</strong> can sometimes be <strong>overkill</strong>. You need a dedicated system for this.</p>
<p>This is where <strong>Apus Network</strong> fits in, serving as the <strong>performance layer</strong> of the permaweb.</p>
<p>Apus is a marketplace for computing power, specifically the GPUs and CPUs needed for intensive tasks. It allows developers building for the permaweb to "<strong>rent</strong>" processing power from a global network of providers, often at a fraction of the cost of centralized cloud giants like <strong>AWS</strong>.</p>
<h3 id="heading-how-do-they-work-together">How do they work together ?</h3>
<p>Here’s how they all work together to create a living permaweb application: A developer could store a massive AI dataset on <strong>Arweave</strong> (the permaweb's permanent memory). They could then use the powerful GPUs on the <strong>Apus Network</strong> (the permaweb's gpu) to train the model efficiently. Finally, the finished, trained AI could be deployed as a permanent, verifiable application running on <strong>AO</strong> (the permaweb's brain), where anyone can use it trustlessly.</p>
]]></content:encoded></item></channel></rss>