<?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>DEV Community: Alphonce Oyunga</title>
    <description>The latest articles on DEV Community by Alphonce Oyunga (@codekuti).</description>
    <link>https://dev.to/codekuti</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3722230%2Ff9453b0f-c4ef-4dec-8e26-efdac4b4b5e7.png</url>
      <title>DEV Community: Alphonce Oyunga</title>
      <link>https://dev.to/codekuti</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codekuti"/>
    <language>en</language>
    <item>
      <title>CPU vs GPU vs TPU vs NPU — What's Actually Different?</title>
      <dc:creator>Alphonce Oyunga</dc:creator>
      <pubDate>Tue, 30 Jun 2026 13:13:29 +0000</pubDate>
      <link>https://dev.to/codekuti/cpu-vs-gpu-vs-tpu-vs-npu-whats-actually-different-2akn</link>
      <guid>https://dev.to/codekuti/cpu-vs-gpu-vs-tpu-vs-npu-whats-actually-different-2akn</guid>
      <description>&lt;p&gt;If you've ever shopped for a laptop or read a chip announcement, you've seen these four letters thrown around like they're interchangeable. They're not. Each one is a processor, but each was built to solve a different kind of math problem efficiently. Here's the difference, explained with real examples of where you'd actually run into each one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CPU (Central Processing Unit)&lt;/strong&gt; — the generalist. Good at everything, great at nothing specific.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPU (Graphics Processing Unit)&lt;/strong&gt; — the parallel workhorse. Built for doing thousands of simple operations at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TPU (Tensor Processing Unit)&lt;/strong&gt; — Google's custom chip, built specifically to accelerate the matrix math behind neural networks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NPU (Neural Processing Unit)&lt;/strong&gt; — a small, power-efficient chip baked into phones and laptops to run AI tasks locally without draining your battery.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now let's go one level deeper.&lt;/p&gt;

&lt;h2&gt;
  
  
  CPU: the all-purpose brain
&lt;/h2&gt;

&lt;p&gt;A CPU has a small number of powerful cores (typically 4 to 16 in consumer devices) designed to execute instructions one after another extremely fast, while juggling many different kinds of tasks. It's optimized for sequential logic, branching decisions, and low-latency response — the kind of work where step 2 depends on the result of step 1.&lt;/p&gt;

&lt;p&gt;This is why your CPU handles your operating system, runs your web browser, manages file systems, and executes business logic in your backend code. It's flexible enough to do almost anything, but that flexibility comes at a cost: it's not efficient at doing the &lt;em&gt;same&lt;/em&gt; simple operation millions of times in parallel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example use case:&lt;/strong&gt; Running a Node.js API server, compiling code, querying a database, or running an Excel spreadsheet with complex formulas. Any task that's logic-heavy and sequential.&lt;/p&gt;

&lt;h2&gt;
  
  
  GPU: built for doing one thing, a million times at once
&lt;/h2&gt;

&lt;p&gt;GPUs were originally built to render graphics — and rendering a frame means computing the color of millions of pixels independently and simultaneously. That requirement led to a very different architecture from the CPU: instead of a few powerful cores, a GPU has thousands of smaller, simpler cores that all execute the same instruction across different pieces of data at the same time. This is called SIMD (Single Instruction, Multiple Data) parallelism.&lt;/p&gt;

&lt;p&gt;It turns out that the math behind training neural networks — mostly matrix multiplications and additions — looks a lot like rendering pixels: lots of small, independent, repetitive operations. That's why GPUs became the default hardware for deep learning, even though that's not what they were originally designed for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example use case:&lt;/strong&gt; Training a deep learning model in PyTorch or TensorFlow on an NVIDIA RTX or A100 card, rendering 3D scenes in a game engine, or running large-scale scientific simulations (fluid dynamics, weather modeling).&lt;/p&gt;

&lt;h2&gt;
  
  
  TPU: a chip designed specifically for neural network math
&lt;/h2&gt;

&lt;p&gt;A TPU is Google's answer to the question "what if we stopped repurposing graphics hardware and built a chip purely for neural network workloads?" TPUs are Application-Specific Integrated Circuits (ASICs), meaning they're not general-purpose at all — they're wired at the hardware level to do one thing extremely fast: matrix multiplication, the core operation in both training and running neural networks.&lt;/p&gt;

&lt;p&gt;The core component is something Google calls a "systolic array," which lets data flow through a grid of processing units in a way that drastically reduces the memory movement that normally slows down matrix math. The tradeoff is flexibility — TPUs aren't great at general computing or even at every type of machine learning model, but for large-scale transformer and deep learning workloads, they can outperform GPUs on both speed and power efficiency.&lt;/p&gt;

&lt;p&gt;TPUs aren't something you buy and plug into a desktop; they live in Google's data centers and are accessed via Google Cloud or Colab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example use case:&lt;/strong&gt; Training large language models or vision transformers at scale on Google Cloud TPU pods, or running inference for Google services like Search ranking, Translate, and Photos' image recognition.&lt;/p&gt;

&lt;h2&gt;
  
  
  NPU: AI acceleration that fits in your pocket
&lt;/h2&gt;

&lt;p&gt;An NPU is also purpose-built for neural network math, similar in spirit to a TPU, but designed with a completely different goal: efficiency at a tiny power and size budget, rather than raw throughput in a data center. NPUs are now standard in modern smartphones, laptops, and even some smart cameras, where they run AI features locally on-device instead of sending data to the cloud.&lt;/p&gt;

&lt;p&gt;Running inference locally on an NPU means lower latency (no network round-trip), better privacy (your data never leaves the device), and dramatically lower power draw than running the same task on a CPU or GPU.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example use case:&lt;/strong&gt; Face ID-style face unlock, real-time photo background blur in a video call, on-device voice transcription, and the "AI" features marketed on recent chips like Apple's Neural Engine, Qualcomm's Hexagon NPU, or Intel's AI Boost — all of which power local features like live captions, image search in your photo gallery, or background noise removal, without sending anything to a server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting them side by side
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Chip&lt;/th&gt;
&lt;th&gt;Designed for&lt;/th&gt;
&lt;th&gt;Core count&lt;/th&gt;
&lt;th&gt;Where you'll find it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;Sequential, general-purpose logic&lt;/td&gt;
&lt;td&gt;Few, powerful&lt;/td&gt;
&lt;td&gt;Every computer and server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU&lt;/td&gt;
&lt;td&gt;Massive parallel computation&lt;/td&gt;
&lt;td&gt;Thousands, simple&lt;/td&gt;
&lt;td&gt;Gaming PCs, ML training rigs, data centers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TPU&lt;/td&gt;
&lt;td&gt;Large-scale neural network matrix math&lt;/td&gt;
&lt;td&gt;Specialized systolic arrays&lt;/td&gt;
&lt;td&gt;Google Cloud, Colab&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NPU&lt;/td&gt;
&lt;td&gt;Efficient, low-power AI inference&lt;/td&gt;
&lt;td&gt;Specialized, small footprint&lt;/td&gt;
&lt;td&gt;Phones, laptops, edge devices&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why this matters for you as a developer
&lt;/h2&gt;

&lt;p&gt;If you're training a model from scratch, you're choosing between a GPU (flexible, widely supported, available on every major cloud) and a TPU (faster and cheaper at scale, but locked into Google's ecosystem and a narrower set of supported frameworks). If you're shipping a mobile app with an on-device AI feature, you're targeting the NPU through frameworks like Core ML, NNAPI, or ONNX Runtime, so the feature runs fast and doesn't kill the battery. And for everything else — your web server, your database, your build pipeline — that's still squarely CPU territory.&lt;/p&gt;

&lt;p&gt;None of these chips replaced the others; they specialized. Understanding which one fits which job is increasingly part of writing efficient software, not just a hardware trivia question.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>hardware</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why AI Agents Use MCP Servers (And Why It Changes Everything)</title>
      <dc:creator>Alphonce Oyunga</dc:creator>
      <pubDate>Tue, 02 Jun 2026 08:25:40 +0000</pubDate>
      <link>https://dev.to/codekuti/why-ai-agents-use-mcp-servers-and-why-it-changes-everything-533j</link>
      <guid>https://dev.to/codekuti/why-ai-agents-use-mcp-servers-and-why-it-changes-everything-533j</guid>
      <description>&lt;p&gt;You've probably seen the term &lt;strong&gt;MCP&lt;/strong&gt; floating around dev Twitter, GitHub repos, and AI tool docs lately. If you've wondered what it actually &lt;em&gt;is&lt;/em&gt; and why every serious AI agent setup seems to depend on it — this article is for you.&lt;/p&gt;

&lt;p&gt;Let's break it down without the fluff.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem Before MCP
&lt;/h2&gt;

&lt;p&gt;Imagine you're building an AI agent that needs to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read files from your local filesystem&lt;/li&gt;
&lt;li&gt;Query a database&lt;/li&gt;
&lt;li&gt;Call a third-party API&lt;/li&gt;
&lt;li&gt;Trigger a GitHub workflow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before MCP, every one of those integrations was its own snowflake. You'd write custom tool definitions, wire up function-calling schemas, handle auth per-service, and pray nothing broke when you swapped LLM providers.&lt;/p&gt;

&lt;p&gt;It was integration hell — duplicated logic, brittle glue code, and zero standardisation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Enter MCP: The USB Port for AI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; is an open standard developed by Anthropic that defines &lt;em&gt;how AI models talk to external tools and data sources&lt;/em&gt;. Think of it as the USB-C of AI integrations — one universal interface, many devices.&lt;/p&gt;

&lt;p&gt;An &lt;strong&gt;MCP server&lt;/strong&gt; is a lightweight process that exposes a set of &lt;strong&gt;tools&lt;/strong&gt;, &lt;strong&gt;resources&lt;/strong&gt;, and &lt;strong&gt;prompts&lt;/strong&gt; over a well-defined protocol. The AI agent connects to it as an &lt;strong&gt;MCP client&lt;/strong&gt; and can discover and invoke tHere's the core idea in one diagram:&lt;/p&gt;

&lt;p&gt;Here's the core idea in one diagram:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AI Agent (MCP Client)
        │
        ▼
   MCP Protocol
        │
   ┌────┴─────┐
   │ MCP Server│  ← exposes tools, reads files, calls APIs
   └──────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No custom glue. No per-agent rewiring. Just protocol.&lt;/p&gt;




&lt;h2&gt;
  
  
  What MCP Servers Actually Do
&lt;/h2&gt;

&lt;p&gt;An MCP server can expose three types of primitives:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Primitive&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Functions the agent can call&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;read_file&lt;/code&gt;, &lt;code&gt;run_query&lt;/code&gt;, &lt;code&gt;send_email&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Data the agent can read&lt;/td&gt;
&lt;td&gt;File contents, DB records, docs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Prompts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reusable prompt templates&lt;/td&gt;
&lt;td&gt;Pre-built reasoning chains&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;When your agent connects to an MCP server, it gets a manifest of everything available — and can decide at runtime what to use. This is what makes agents feel genuinely &lt;em&gt;intelligent&lt;/em&gt; rather than scripted.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Agents Specifically Benefit from MCP
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Dynamic Tool Discovery&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Hard-coded tool lists don't scale. With MCP, an agent can query a server and discover new capabilities without redeployment. Spin up a new MCP server for a new service, and every agent that connects gets access — automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Separation of Concerns&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Your agent logic stays clean. The messy details of &lt;em&gt;how&lt;/em&gt; to talk to Postgres, or &lt;em&gt;how&lt;/em&gt; to authenticate with Notion, live in the MCP server — not scattered across your agent codebase.&lt;/p&gt;

&lt;p&gt;This is huge for maintainability. Update the MCP server once; every agent benefits.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Provider Agnosticism&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Because MCP is a protocol, not a library, it works across LLM providers. Whether you're running Claude, GPT-4, or an open-source model, your MCP servers remain the same. Swap the brain, keep the nervous system.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Multi-Agent Architectures&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In complex systems, you might have a &lt;strong&gt;supervisor agent&lt;/strong&gt; orchestrating multiple &lt;strong&gt;sub-agents&lt;/strong&gt;, each with different roles. MCP makes this clean — each agent connects to the servers it needs, with clearly scoped permissions. No tangled shared state.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Security and Permissioning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;MCP servers can implement fine-grained access controls. Your agent can be given read-only access to a filesystem server, or scoped to a single database schema. You define the boundaries in the server; the agent can't exceed them.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Concrete Example
&lt;/h2&gt;

&lt;p&gt;Say you're building a coding assistant agent. Here's how MCP fits in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent: "I need to read the current codebase and run the test suite."

→ Connects to: filesystem MCP server (read tools)
→ Connects to: shell MCP server (execute tools)
→ Discovers: read_file, list_dir, run_command

Agent calls read_file("src/main.py") → gets content
Agent calls run_command("pytest") → gets test output
Agent reasons over results → suggests fixes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All of this happens over the MCP protocol. No custom integration code in the agent itself. The agent is just reasoning; the servers handle the &lt;em&gt;doing&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ecosystem is Growing Fast
&lt;/h2&gt;

&lt;p&gt;The real power of MCP is the community building around it. There are already MCP servers for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Filesystems&lt;/strong&gt; (local, S3, GCS)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Databases&lt;/strong&gt; (Postgres, SQLite, MongoDB)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dev tools&lt;/strong&gt; (GitHub, GitLab, Jira, Linear)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Productivity&lt;/strong&gt; (Notion, Google Drive, Slack)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser automation&lt;/strong&gt; (Playwright, Puppeteer)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom internal tools&lt;/strong&gt; — built by teams like yours&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because the spec is open, anyone can write an MCP server. And because the protocol is standardised, it works with any compliant client.&lt;/p&gt;




&lt;h2&gt;
  
  
  Should You Build With MCP?
&lt;/h2&gt;

&lt;p&gt;If you're building any of the following, the answer is yes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An AI agent that touches external systems&lt;/li&gt;
&lt;li&gt;A multi-tool assistant&lt;/li&gt;
&lt;li&gt;A workflow automation with LLMs at the core&lt;/li&gt;
&lt;li&gt;Internal tooling powered by AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The investment in setting up MCP servers pays off fast. Your agents become composable, your integrations become reusable, and your architecture becomes legible to the next person who reads the code.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;AI agents use MCP servers because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;They standardise how agents talk to tools&lt;/strong&gt; — no more one-off integrations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They enable dynamic tool discovery&lt;/strong&gt; — agents adapt at runtime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They enforce clean separation of concerns&lt;/strong&gt; — agent logic stays pure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They work across LLM providers&lt;/strong&gt; — your integrations outlive your model choices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They make multi-agent systems manageable&lt;/strong&gt; — scoped, composable, secure&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;MCP isn't just a convenience. It's the infrastructure layer that makes serious AI agent development actually tenable.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;em&gt;If you're just getting started, check out the &lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;official MCP documentation&lt;/a&gt; and browse the growing list of open-source MCP servers on GitHub. The best way to get it is to wire one up yourself.&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;If find this interesting please drop a like and comment on this.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>agents</category>
      <category>learning</category>
    </item>
    <item>
      <title>As someone who is trying to Develop an engineering mindset, this article strongly resonated with the struggles I have faced trying to understand software development from a systems first perspective rather than language first. This is good advice.</title>
      <dc:creator>Alphonce Oyunga</dc:creator>
      <pubDate>Tue, 26 May 2026 08:09:43 +0000</pubDate>
      <link>https://dev.to/codekuti/as-someone-who-is-trying-to-develop-an-engineering-mindset-this-article-strongly-resonated-with-gk3</link>
      <guid>https://dev.to/codekuti/as-someone-who-is-trying-to-develop-an-engineering-mindset-this-article-strongly-resonated-with-gk3</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/altradits/10-first-principles-strategies-to-learn-any-programming-language-deeply-1mk3" class="crayons-story__hidden-navigation-link"&gt;10 First-Principles Strategies to Learn Any Programming Language Deeply&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/altradits" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924446%2F58a31d80-504c-4e12-9f39-02882b10d8fa.png" alt="altradits profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/altradits" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Stanley Chege Thuita
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Stanley Chege Thuita
                
              
              &lt;div id="story-author-preview-content-3726905" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/altradits" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924446%2F58a31d80-504c-4e12-9f39-02882b10d8fa.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Stanley Chege Thuita&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/altradits/10-first-principles-strategies-to-learn-any-programming-language-deeply-1mk3" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/altradits/10-first-principles-strategies-to-learn-any-programming-language-deeply-1mk3" id="article-link-3726905"&gt;
          10 First-Principles Strategies to Learn Any Programming Language Deeply
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/go"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;go&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/learning"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;learning&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/altradits/10-first-principles-strategies-to-learn-any-programming-language-deeply-1mk3" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/altradits/10-first-principles-strategies-to-learn-any-programming-language-deeply-1mk3#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>learning</category>
      <category>programming</category>
      <category>softwareengineering</category>
      <category>systems</category>
    </item>
    <item>
      <title>OUT WITH THE OLD IN WITH THE NEW</title>
      <dc:creator>Alphonce Oyunga</dc:creator>
      <pubDate>Mon, 25 May 2026 09:21:01 +0000</pubDate>
      <link>https://dev.to/codekuti/out-with-the-old-in-with-the-new-1i6k</link>
      <guid>https://dev.to/codekuti/out-with-the-old-in-with-the-new-1i6k</guid>
      <description>&lt;p&gt;Google I/O happened last week and there are a lot of new products coming from google. The main theme of the conference was based on artificial intelligence. Honestly speaking, in this current time is there anything in the tech world that is not built around AI. We all know of the controversial AI bubble and how its bust will affect the tech ecosystem.&lt;/p&gt;

&lt;p&gt;All that aside, I noticed something new from Google. They are integrating Gemini CLI into the Antigravity 2.0 CLI tool. Let me break down what this means. First of all you need to understand that as of  June 18, 2026 Gemini CLI and Gemini Code Assist IDE extensions will stop serving requests for Google AI pro and Ultra, as well as for those using the free version.&lt;/p&gt;

&lt;p&gt;The transition is actually smooth. It only takes the simple use of following commands in your terminal depending on the system software you’re using. &lt;br&gt;
Microsoft windows &lt;br&gt;
  Windows Powershell;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;irm https://antigravity.google/cli/install.ps1 | iex&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Windows CMD ;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl -fsSL https://antigravity.google/cli/install.cmd -o install.cmd &amp;amp;&amp;amp; install.cmd &amp;amp;&amp;amp; del install.cmd&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;macOs | Linux&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl -fsSL https://antigravity.google/cli/install.sh | bash&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;After running the commands on your terminal, you can open the CLI by running the command ‘aggy’ on your terminal. You will follow the simple setup steps and authentication procedures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TECHNICAL UPDATES&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gemini CLI proved that the terminal is the perfect environment for agentic tasks. This claim can be backed by the millions of users of the tool. The community boasts of over 100,000 GitHub users, 6,000 merged pull requests , and hundreds of contributors.  This is according to Dmitry Lyalin Group Product Manager and Taylor Mullen Principal Engineer ; here’s the link &lt;a href="https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/link" rel="noopener noreferrer"&gt;https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Migrating from Gemini CLI;&lt;/strong&gt;&lt;br&gt;
On the first launch of Antigravity CLI, you should see Migration Options  where you have a choice of migrating your existing Gemini CLI extensions to the equivalent Plugins. &lt;br&gt;
You should note that some of the features of Gemini CLI cannot be migrated 1 to 1  for example custom themes are not currently supported .&lt;/p&gt;

&lt;p&gt;Gemini CLI launched extensions, a way to extend the CLI by sharing capabilities. The industry has now moved to a fancy name “Plugins”.   A plugin is just an add-on, for technicality it is a software component that adds new features or custom functionality to an existing program without altering the core software.&lt;br&gt;
Users should be prompted on the first launch of Antigravity CLI to have their extensions mitigated to plugins.&lt;br&gt;
This can also be simply done by running a command on the terminal;&lt;br&gt;
‘agy plugin import gemini’&lt;br&gt;
Running the command will search for each locally installed extension and convert them to an Antigravity plugin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RULES(context files)&lt;/strong&gt;&lt;br&gt;
Antigravity CLI supports the following context files:&lt;br&gt;
     Workspace Context: It reads both Gemini.md  and Agents.md  from your active     workspace directory.&lt;br&gt;
Global Context:Automatically loads and enforces   loads and enforces global constraints located at ‘’~/.gemini/GEMINI.md’&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AGENTIC SKIllS&lt;/strong&gt;&lt;br&gt;
Agentic skills work the same to the way it worked on Gemini CLI. They are managed with the same /skills command and are also converted to slash commands allowing them to be invoked manually.&lt;/p&gt;

&lt;p&gt;Global skills for Gemini CLI are shared with Antigravity CLI across all workspaces. There is no action needed for workspaces; they are picked up automatically.&lt;br&gt;
Note that Antigravity CLI workspace-specific skills are stored in ‘.agents/skills’, so if you have any project/workspace skills in a given project in the Gemini CLI ‘.gemini/skills’ folder, it will have to be moved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP Servers&lt;/strong&gt;&lt;br&gt;
Antigravity supports both local and remote MCP servers and provides the same /MCP command to manage them. The main difference between Gemini CLI and Antigravity CLI is the file location where mcp servers are defined.&lt;/p&gt;

&lt;p&gt;Antigravity and Antigravity CLI both store MCP configurations in a mcp_configuration.json file while Gemini CLI stores them inline in the systems settings.json.&lt;/p&gt;

&lt;p&gt;Note: All the work presented here has been referenced from the official blog by Google on the migration so its factual research.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>agents</category>
    </item>
    <item>
      <title>Embrace The Struggle</title>
      <dc:creator>Alphonce Oyunga</dc:creator>
      <pubDate>Mon, 16 Mar 2026 07:14:36 +0000</pubDate>
      <link>https://dev.to/codekuti/embrace-the-struggle-3eoa</link>
      <guid>https://dev.to/codekuti/embrace-the-struggle-3eoa</guid>
      <description>&lt;p&gt;I have been struggling with executing what I have learnt especially in the weekly assessment tests that happen every Friday at the company or the record sessions. I was avoiding the real problem with assumption that maybe the constant failure was due to unpreparedness or rather my mood before I go for these sessions. The reality dawned on me during my last checkpoint which I scored a poor 2/10. I remember sitting in that exam room staring at the screen as the cursor kept blinking on the text editor. I had hit the famous Naruto hand sign while thinking to myself how bad I was.&lt;/p&gt;

&lt;p&gt;This led me to think to myself how many times I copied my error to a chat bot  and proudly read through the solution lying to myself that I had understood where the problem was.That was a big lie, truth is I had skipped a big part of the learning process.This part was what many developers describe as "The struggle". Funnily enough this is a constant part of many disciplines not just software programming. The period where you hit a bottleneck and that error becomes your next lesson.&lt;/p&gt;

&lt;p&gt;The reality of the modern developer especially at the beginner level is that artificial intelligence produces most of the code and learning gets hindered in the process. Programming can be hard and with AI doing 80-90% of code one may be tempted to skip the crucial part of understanding coding rather than cramming it.I'm actually a victim of taking the easy way out each time I hit an error, and yeah, I'm now facing my own consequences.&lt;/p&gt;

&lt;p&gt;Linus Tovarld in an interview once said that he loves learning new things because he gets to fail and the best part is that through these failures that he actually gets better. Those words have actually stuck with me and have got me thinking how I can do things  better.The errors will be lessons and the documentation will become my new point of reference. This does not mean that I will not engaging with AI at all, cause these modern demand constant update on the evolving world of tech.&lt;/p&gt;

&lt;p&gt;I want to embrace the struggle even more than before.Maybe we should all do. I love this work and want to become a better programmer even if that means that I have to study the traditional ways of learning to program.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>discuss</category>
      <category>learning</category>
    </item>
    <item>
      <title>Art of Computer programming.</title>
      <dc:creator>Alphonce Oyunga</dc:creator>
      <pubDate>Thu, 12 Feb 2026 08:08:33 +0000</pubDate>
      <link>https://dev.to/codekuti/art-of-computer-programming-jmm</link>
      <guid>https://dev.to/codekuti/art-of-computer-programming-jmm</guid>
      <description>&lt;p&gt;Well, if you've clicked on this post you might be expecting a deep dive into why computer science or programming is a science. I would like you to hold your horses, this is more of my approach to coding as a rookie at this skill. The thesis of my article is based on my own approach to coding given that I have a great background in artistic fields more than technical based or STEM fields.&lt;br&gt;
I first encountered coding in 2021.Back then coding to me meant nothing, actually I only found interest in it from the fact that one of my friends was a leader in the tech club at my former school.I knew from the start that my aim was to go for functions since as rumors had it, their were fine ladies at these conventions. Well, that changed when I started exploring the world of technology and found out there was more to it than just fine ladies(well I always knew but was bluntly ignorant.)&lt;br&gt;
Last year was the first time I engaged coding for the first time.It was a decision that came from a place of genuine interest and career shift. I came across an advert from a tuition free training institution called &lt;strong&gt;Zone01 Kisumu&lt;/strong&gt;.The same interest drove me to follow the application process. I landed a spot in the piscine a one month selection process.I accredit my growth to that month because of the fact that up until then then only thing I knew about coding was vs code. It is during this one month that I learnt that programming was more than just &lt;strong&gt;Hello world&lt;/strong&gt;.&lt;br&gt;
Honestly, programming is not as easy as some people would like to tell you. During that first month of real programming I realized that up till then I had not done anything remotely hard as programming. I had to shift the way I approached it, That's when I decided to relate this skill to fields that I was used to. That is the only way I could understand the spectacle of writing code on an IDE and it outputs information. I started looking at all these great coders as Picasso's of there field, using the IDE as there canvas and the syntax as there paint.&lt;br&gt;
Well, programming like any art form has its own technicalities, with programming having more. The different coding languages and there various accents(syntax).Honestly, I'm still figuring out a lot of things about coding,with my first language being Golang it has forced to go back to the STEM subjects and borrow ideas from them.It might be hard but what can say 'Do hard things'. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>discuss</category>
      <category>learning</category>
      <category>community</category>
    </item>
  </channel>
</rss>
