<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on Ragib CS</title>
    <link>https://ragibcs.gitlab.io/posts/</link>
    <description>Recent content in Posts on Ragib CS</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 03 Apr 2026 10:00:00 +0600</lastBuildDate>
    <atom:link href="https://ragibcs.gitlab.io/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building linfer: A Rust-Based LLM Inference Engine</title>
      <link>https://ragibcs.gitlab.io/posts/building-linfer-rust-llm-inference/</link>
      <pubDate>Fri, 03 Apr 2026 10:00:00 +0600</pubDate>
      <guid>https://ragibcs.gitlab.io/posts/building-linfer-rust-llm-inference/</guid>
      <description>&lt;h2 id=&#34;why-build-another-inference-engine&#34;&gt;Why Build Another Inference Engine?&lt;/h2&gt;
&lt;p&gt;When I started working with large language models locally, I quickly ran into the usual suspects: slow inference times, memory bloat, and dependency hell. Most existing solutions are either too heavyweight (PyTorch with CUDA) or too opinionated about model formats.&lt;/p&gt;
&lt;p&gt;So I built &lt;strong&gt;linfer&lt;/strong&gt; — a Rust-based local LLM inference engine that&amp;rsquo;s 3x faster than comparable solutions for CPU inference.&lt;/p&gt;
&lt;h2 id=&#34;the-core-problem&#34;&gt;The Core Problem&lt;/h2&gt;
&lt;p&gt;Running LLMs locally on CPU is painful:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What I Learned Solving 200&#43; Competitive Programming Problems</title>
      <link>https://ragibcs.gitlab.io/posts/lessons-from-200-competitive-programming-problems/</link>
      <pubDate>Wed, 01 Apr 2026 14:30:00 +0600</pubDate>
      <guid>https://ragibcs.gitlab.io/posts/lessons-from-200-competitive-programming-problems/</guid>
      <description>&lt;h2 id=&#34;the-journey&#34;&gt;The Journey&lt;/h2&gt;
&lt;p&gt;I started competitive programming in 2021 with zero algorithmic knowledge. Fast forward to today: 200+ problems solved across Codeforces, LeetCode, CodeChef, and AtCoder.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t a &amp;ldquo;how I became red on Codeforces&amp;rdquo; story. I&amp;rsquo;m still grinding through Div 2 problems. But I&amp;rsquo;ve learned a lot about problem-solving, pattern recognition, and how to think algorithmically.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what actually stuck.&lt;/p&gt;
&lt;h2 id=&#34;1-most-problems-are-variations-of-20-patterns&#34;&gt;1. Most Problems Are Variations of ~20 Patterns&lt;/h2&gt;
&lt;p&gt;After solving 50 problems, I thought every problem was unique. After 200, I realized they&amp;rsquo;re all remixes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running LLMs Locally on Arch Linux — No Cloud, No Ollama</title>
      <link>https://ragibcs.gitlab.io/posts/running-llms-locally-arch-linux/</link>
      <pubDate>Sun, 15 Mar 2026 10:00:00 +0600</pubDate>
      <guid>https://ragibcs.gitlab.io/posts/running-llms-locally-arch-linux/</guid>
      <description>&lt;h2 id=&#34;why-i-built-this-instead-of-using-ollama&#34;&gt;Why I Built This Instead of Using Ollama&lt;/h2&gt;
&lt;p&gt;I wanted to run AI models locally on my Arch Linux laptop — privately, offline, with zero cloud dependency. Ollama seemed like the obvious choice, but I didn&amp;rsquo;t want an opaque, heavy framework. I wanted control.&lt;/p&gt;
&lt;p&gt;After navigating outdated documentation and breaking changes, I got llama.cpp running with Vulkan GPU acceleration on my Intel Iris Xe. This is the guide I wish I had.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Add GitHub Copilot and Kiro to CLIProxyAPIPlus</title>
      <link>https://ragibcs.gitlab.io/posts/cliproxyapi/</link>
      <pubDate>Fri, 04 Apr 2025 00:00:00 +0600</pubDate>
      <guid>https://ragibcs.gitlab.io/posts/cliproxyapi/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Guide based on&lt;/strong&gt; CLIProxyAPIPlus &lt;code&gt;v6.9.1-0-plus&lt;/code&gt; · Commands may vary in future versions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Connect two powerful AI providers — &lt;strong&gt;GitHub Copilot&lt;/strong&gt; and &lt;strong&gt;Kiro AI&lt;/strong&gt; — to your self-hosted &lt;a href=&#34;https://github.com/eceasy/cli-proxy-api-plus&#34;&gt;CLIProxyAPIPlus&lt;/a&gt; instance in minutes using OAuth device flow authentication.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Before you begin, make sure you have the following in place:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Requirement&lt;/th&gt;
          &lt;th&gt;Details&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;CLIProxyAPIPlus&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Running via &lt;code&gt;eceasy/cli-proxy-api-plus:latest&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;GitHub Copilot subscription&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Individual, Business, or Enterprise&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;AWS Builder ID or Kiro IDE&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;For Kiro AI login&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Installed and accessible in your shell&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Verify your container is running before proceeding:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
