<?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>AI on Rafiul Alam</title>
    <link>https://alamrafiul.com/categories/ai/</link>
    <description>Recent content in AI on Rafiul Alam</description>
    <image>
      <title>Rafiul Alam</title>
      <url>https://alamrafiul.com/papermod-cover.png</url>
      <link>https://alamrafiul.com/papermod-cover.png</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 13 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://alamrafiul.com/categories/ai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The AI Inflection Point: What&#39;s Happening, Why It Matters, and How to Prepare</title>
      <link>https://alamrafiul.com/posts/ai-news-march-2026/</link>
      <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/posts/ai-news-march-2026/</guid>
      <description>A deep-dive into the most important AI developments of early 2026 — from GPT-5 and agentic systems to global regulation and the skills you need to stay relevant.</description>
    </item>
    
    <item>
      <title>Claude Opus 4.5: Anthropic&#39;s Most Powerful AI Model Yet</title>
      <link>https://alamrafiul.com/blogs/claude-opus-4-5/</link>
      <pubDate>Wed, 26 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/claude-opus-4-5/</guid>
      <description>&lt;p&gt;Anthropic has just released Claude Opus 4.5, and it&amp;rsquo;s a game-changer for software engineers, enterprises, and anyone working with AI-powered tools. Released on November 24, 2025, this model sets new benchmarks in software engineering, agentic capabilities, and enterprise-grade performance.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re building software, analyzing complex systems, or working with autonomous agents, Claude Opus 4.5 deserves your attention. Here&amp;rsquo;s everything you need to know.&lt;/p&gt;
&lt;h2 id=&#34;what-makes-claude-opus-45-special&#34;&gt;What Makes Claude Opus 4.5 Special?&lt;/h2&gt;
&lt;p&gt;Claude Opus 4.5 isn&amp;rsquo;t just an incremental update-it represents a significant leap in AI capabilities, particularly for technical and complex tasks.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Best AI Research Papers: A Curated List from Foundation to Frontier</title>
      <link>https://alamrafiul.com/posts/best-ai-research-papers/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/posts/best-ai-research-papers/</guid>
      <description>&lt;p&gt;The field of artificial intelligence has evolved rapidly over the past decades, driven by groundbreaking research papers that have fundamentally changed how we think about and build intelligent systems. Whether you&amp;rsquo;re a researcher, practitioner, or enthusiast, understanding these landmark papers is essential to grasping where AI is today and where it&amp;rsquo;s heading.&lt;/p&gt;
&lt;p&gt;This curated list covers the most influential AI research papers from the foundational classics to cutting-edge 2024-2025 breakthroughs. I&amp;rsquo;ve organized them chronologically and by domain to help you navigate this fascinating journey through AI&amp;rsquo;s evolution.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The Future of AI Agents: Why Go is the Perfect Language for the Agent Era</title>
      <link>https://alamrafiul.com/blogs/future-of-ai-agents-golang/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/future-of-ai-agents-golang/</guid>
      <description>&lt;p&gt;The future of software development isn&amp;rsquo;t just about AI-it&amp;rsquo;s about &lt;strong&gt;AI agents&lt;/strong&gt;: autonomous systems that can reason, plan, and execute complex tasks with minimal human intervention. And as we stand on the precipice of this transformation, one programming language is uniquely positioned to dominate the agent era: &lt;strong&gt;Go&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In this deep dive, we&amp;rsquo;ll explore why AI agents represent the next evolutionary leap in software, examine the technical requirements for building robust agent systems, and demonstrate why Go&amp;rsquo;s design philosophy makes it the ideal foundation for this new paradigm.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How I Write Blog Posts: The AI-Assisted Writing Process</title>
      <link>https://alamrafiul.com/blogs/ai-assisted-writing-process/</link>
      <pubDate>Sat, 01 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/ai-assisted-writing-process/</guid>
      <description>&lt;p&gt;Writing has always been about ideas, clarity, and connection. But the process of getting those ideas from your mind onto the page-especially when English isn&amp;rsquo;t your first language-can be challenging. Over the past year, I&amp;rsquo;ve developed a writing process that combines human creativity with AI assistance, and it&amp;rsquo;s fundamentally changed how I create content.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t about AI writing for me. It&amp;rsquo;s about AI helping me write better, faster, and more clearly. Let me show you how.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Server and Its Importance: The Future of AI Tool Integration</title>
      <link>https://alamrafiul.com/blogs/mcp-server-importance/</link>
      <pubDate>Thu, 17 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/mcp-server-importance/</guid>
      <description>&lt;p&gt;The Model Context Protocol (MCP) Server represents a paradigm shift in how AI systems interact with tools and data sources. As we move deeper into the age of AI-powered development, understanding MCP and its implications is crucial for developers, architects, and technology leaders.&lt;/p&gt;
&lt;h2 id=&#34;what-is-mcp-server&#34;&gt;What is MCP Server?&lt;/h2&gt;
&lt;p&gt;MCP (Model Context Protocol) is an open protocol developed by Anthropic that standardizes how AI assistants connect to and interact with external tools, data sources, and services. Think of it as the USB standard for AI-a universal way for AI models to plug into any tool or service without needing custom integrations for each combination.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>To All Software Engineers: Learn Agentic Workflows or Fall Behind</title>
      <link>https://alamrafiul.com/blogs/agentic-workflows-for-engineers/</link>
      <pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/agentic-workflows-for-engineers/</guid>
      <description>&lt;p&gt;To all software engineers: if you&amp;rsquo;re not learning agentic workflows, you&amp;rsquo;re falling behind fast!&lt;/p&gt;
&lt;p&gt;Not learning agentic workflows in 2025 as a software engineer is like refusing to learn Git in 2010.&lt;/p&gt;
&lt;p&gt;The landscape is shifting rapidly, and those who adapt will thrive while others struggle to keep up. Agentic workflows aren&amp;rsquo;t just a trend-they&amp;rsquo;re becoming the new standard for efficient software development.&lt;/p&gt;
&lt;h2 id=&#34;exciting-agentic-frameworks-and-tools-you-should-explore&#34;&gt;Exciting Agentic Frameworks and Tools You Should Explore&lt;/h2&gt;
&lt;p&gt;Here are some cutting-edge tools that are revolutionizing how we write code:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The Uncanny Valley of Empathy: Why AI Therapists Feel &#39;Almost&#39; Human</title>
      <link>https://alamrafiul.com/blogs/uncanny-valley-empathy-ai-therapists/</link>
      <pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/uncanny-valley-empathy-ai-therapists/</guid>
      <description>&lt;div class=&#34;series-nav-container&#34;&gt;
  &lt;div class=&#34;series-nav&#34;&gt;
    &lt;div class=&#34;series-header&#34;&gt;
      &lt;div class=&#34;series-badge&#34;&gt;
        &lt;svg class=&#34;series-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
          &lt;path d=&#34;M4 19.5A2.5 2.5 0 0 1 6.5 17H20&#34;&gt;&lt;/path&gt;
          &lt;path d=&#34;M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z&#34;&gt;&lt;/path&gt;
        &lt;/svg&gt;
        &lt;span class=&#34;series-name&#34;&gt;Deeply Personal&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;current-indicator&#34;&gt;
        &lt;span class=&#34;current-label&#34;&gt;Current:&lt;/span&gt;
        &lt;span class=&#34;current-post&#34;&gt;The Uncanny Valley of Empathy&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&#34;nav-controls&#34;&gt;&lt;a href=&#34;https://alamrafiul.com/blogs/cooking-with-algorithm-ai-meal-prep/&#34; class=&#34;nav-button prev-button&#34;&gt;
          &lt;svg class=&#34;nav-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
            &lt;path d=&#34;M15 18l-6-6 6-6&#34;&gt;&lt;/path&gt;
          &lt;/svg&gt;
          &lt;span class=&#34;nav-text&#34;&gt;Cooking with an Algorithm&lt;/span&gt;
        &lt;/a&gt;&lt;a href=&#34;https://alamrafiul.com/deeply-personal-series&#34; class=&#34;nav-button series-button&#34;&gt;
          &lt;svg class=&#34;nav-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
            &lt;rect x=&#34;3&#34; y=&#34;3&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
            &lt;rect x=&#34;14&#34; y=&#34;3&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
            &lt;rect x=&#34;14&#34; y=&#34;14&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
            &lt;rect x=&#34;3&#34; y=&#34;14&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
          &lt;/svg&gt;
          &lt;span class=&#34;nav-text&#34;&gt;All Posts&lt;/span&gt;
        &lt;/a&gt;&lt;a href=&#34;https://alamrafiul.com/blogs/analysis-paralysis-anxiety-perfectionism/&#34; class=&#34;nav-button next-button&#34;&gt;
          &lt;span class=&#34;nav-text&#34;&gt;Analysis Paralysis&lt;/span&gt;
          &lt;svg class=&#34;nav-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
            &lt;path d=&#34;M9 18l6-6-6-6&#34;&gt;&lt;/path&gt;
          &lt;/svg&gt;
        &lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.series-nav-container {
  margin: 2rem 0;
  perspective: 1000px;
}

.series-nav {
  position: relative;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(209, 213, 219, 0.3);
  border-radius: 16px;
  padding: 1.75rem;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.05),
    0 4px 12px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.03);
  font-family: -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, &#39;Roboto&#39;, &#39;Helvetica&#39;, &#39;Arial&#39;, sans-serif;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.series-nav:hover {
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.06),
    0 8px 20px rgba(0, 0, 0, 0.05),
    0 16px 36px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}

.series-header {
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.series-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 6px;
  width: fit-content;
  transition: all 0.2s ease;
}

.series-badge:hover {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.25);
}

.series-icon {
  width: 14px;
  height: 14px;
  color: #3b82f6;
  flex-shrink: 0;
}

.series-name {
  font-weight: 500;
  font-size: 0.8125rem;
  color: #3b82f6;
  letter-spacing: 0;
}

.current-indicator {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-left: 0.5rem;
}

.current-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.current-post {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #111827;
  letter-spacing: -0.01em;
}

.nav-controls {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.75rem;
  align-items: center;
}

.nav-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  color: #374151;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.nav-button:not(.nav-button-disabled):hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(59, 130, 246, 0.3);
  color: #1e40af;
  transform: translateY(-1px);
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.06),
    0 4px 12px rgba(59, 130, 246, 0.1);
}

.nav-button:not(.nav-button-disabled):active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.nav-button-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.nav-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-button:not(.nav-button-disabled):hover .nav-icon {
  transform: scale(1.1);
}

.prev-button .nav-icon {
  margin-right: 0.125rem;
}

.next-button .nav-icon {
  margin-left: 0.125rem;
}

.prev-button:not(.nav-button-disabled):hover .nav-icon {
  transform: translateX(-2px) scale(1.1);
}

.next-button:not(.nav-button-disabled):hover .nav-icon {
  transform: translateX(2px) scale(1.1);
}

.prev-button {
  justify-self: start;
  max-width: 240px;
}

.next-button {
  justify-self: end;
  max-width: 240px;
}

.series-button {
  justify-self: center;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(147, 51, 234, 0.08) 100%);
  border-color: rgba(59, 130, 246, 0.2);
  color: #1e40af;
  font-weight: 600;
}

.series-button:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(147, 51, 234, 0.15) 100%);
  border-color: rgba(59, 130, 246, 0.35);
}

.nav-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

 
@media (prefers-color-scheme: dark) {
  .series-nav {
    background: rgba(31, 41, 55, 0.8);
    border-color: rgba(75, 85, 99, 0.3);
    box-shadow:
      0 1px 3px rgba(0, 0, 0, 0.2),
      0 4px 12px rgba(0, 0, 0, 0.15),
      0 8px 24px rgba(0, 0, 0, 0.1);
  }

  .series-nav:hover {
    box-shadow:
      0 2px 6px rgba(0, 0, 0, 0.25),
      0 8px 20px rgba(0, 0, 0, 0.2),
      0 16px 36px rgba(0, 0, 0, 0.15);
  }

  .series-header {
    border-bottom-color: rgba(255, 255, 255, 0.1);
  }

  .series-badge {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.25);
  }

  .series-badge:hover {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(59, 130, 246, 0.35);
  }

  .series-icon {
    color: #60a5fa;
  }

  .series-name {
    color: #60a5fa;
  }

  .current-label {
    color: #9ca3af;
  }

  .current-post {
    color: #f3f4f6;
  }

  .nav-button {
    background: rgba(55, 65, 81, 0.7);
    border-color: rgba(75, 85, 99, 0.4);
    color: #d1d5db;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }

  .nav-button:not(.nav-button-disabled):hover {
    background: rgba(55, 65, 81, 0.9);
    border-color: rgba(59, 130, 246, 0.4);
    color: #93c5fd;
    box-shadow:
      0 2px 4px rgba(0, 0, 0, 0.25),
      0 4px 12px rgba(59, 130, 246, 0.2);
  }

  .series-button {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.12) 0%, rgba(147, 51, 234, 0.12) 100%);
    border-color: rgba(59, 130, 246, 0.3);
    color: #93c5fd;
  }

  .series-button:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(147, 51, 234, 0.2) 100%);
    border-color: rgba(59, 130, 246, 0.45);
  }
}

 
@media (max-width: 768px) {
  .series-nav {
    padding: 1.25rem;
  }

  .series-header {
    align-items: flex-start;
  }

  .series-badge {
    padding: 0.25rem 0.5rem;
  }

  .series-icon {
    width: 12px;
    height: 12px;
  }

  .series-name {
    font-size: 0.75rem;
  }

  .current-indicator {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding-left: 0;
  }

  .current-label {
    font-size: 0.75rem;
  }

  .current-post {
    font-size: 0.875rem;
  }

  .nav-controls {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .nav-button {
    justify-self: stretch !important;
    max-width: 100% !important;
    padding: 0.875rem 1rem;
  }

  .prev-button,
  .next-button,
  .series-button {
    justify-content: center;
  }
}

 
@media (prefers-reduced-motion: reduce) {
  .series-nav,
  .series-badge,
  .nav-button,
  .nav-icon {
    transition: none;
  }

  .series-nav:hover,
  .nav-button:hover {
    transform: none;
  }
}
&lt;/style&gt;

&lt;hr&gt;
&lt;h1 id=&#34;the-uncanny-valley-of-empathy-why-ai-therapists-feel-almost-human&#34;&gt;The Uncanny Valley of Empathy: Why AI Therapists Feel &amp;lsquo;Almost&amp;rsquo; Human&lt;/h1&gt;
&lt;p&gt;I did something weird last month.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Cooking with an Algorithm: I Let an AI Plan My Weekly Meal Prep</title>
      <link>https://alamrafiul.com/blogs/cooking-with-algorithm-ai-meal-prep/</link>
      <pubDate>Tue, 11 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/blogs/cooking-with-algorithm-ai-meal-prep/</guid>
      <description>&lt;div class=&#34;series-nav-container&#34;&gt;
  &lt;div class=&#34;series-nav&#34;&gt;
    &lt;div class=&#34;series-header&#34;&gt;
      &lt;div class=&#34;series-badge&#34;&gt;
        &lt;svg class=&#34;series-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
          &lt;path d=&#34;M4 19.5A2.5 2.5 0 0 1 6.5 17H20&#34;&gt;&lt;/path&gt;
          &lt;path d=&#34;M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z&#34;&gt;&lt;/path&gt;
        &lt;/svg&gt;
        &lt;span class=&#34;series-name&#34;&gt;Deeply Personal&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;current-indicator&#34;&gt;
        &lt;span class=&#34;current-label&#34;&gt;Current:&lt;/span&gt;
        &lt;span class=&#34;current-post&#34;&gt;Cooking with an Algorithm&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&#34;nav-controls&#34;&gt;&lt;a href=&#34;https://alamrafiul.com/blogs/nostalgia-on-plate-childhood-food-memory/&#34; class=&#34;nav-button prev-button&#34;&gt;
          &lt;svg class=&#34;nav-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
            &lt;path d=&#34;M15 18l-6-6 6-6&#34;&gt;&lt;/path&gt;
          &lt;/svg&gt;
          &lt;span class=&#34;nav-text&#34;&gt;Nostalgia on a Plate&lt;/span&gt;
        &lt;/a&gt;&lt;a href=&#34;https://alamrafiul.com/deeply-personal-series&#34; class=&#34;nav-button series-button&#34;&gt;
          &lt;svg class=&#34;nav-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
            &lt;rect x=&#34;3&#34; y=&#34;3&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
            &lt;rect x=&#34;14&#34; y=&#34;3&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
            &lt;rect x=&#34;14&#34; y=&#34;14&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
            &lt;rect x=&#34;3&#34; y=&#34;14&#34; width=&#34;7&#34; height=&#34;7&#34;&gt;&lt;/rect&gt;
          &lt;/svg&gt;
          &lt;span class=&#34;nav-text&#34;&gt;All Posts&lt;/span&gt;
        &lt;/a&gt;&lt;a href=&#34;https://alamrafiul.com/blogs/uncanny-valley-empathy-ai-therapists/&#34; class=&#34;nav-button next-button&#34;&gt;
          &lt;span class=&#34;nav-text&#34;&gt;The Uncanny Valley of Empathy&lt;/span&gt;
          &lt;svg class=&#34;nav-icon&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;&gt;
            &lt;path d=&#34;M9 18l6-6-6-6&#34;&gt;&lt;/path&gt;
          &lt;/svg&gt;
        &lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.series-nav-container {
  margin: 2rem 0;
  perspective: 1000px;
}

.series-nav {
  position: relative;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(209, 213, 219, 0.3);
  border-radius: 16px;
  padding: 1.75rem;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.05),
    0 4px 12px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.03);
  font-family: -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, &#39;Roboto&#39;, &#39;Helvetica&#39;, &#39;Arial&#39;, sans-serif;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.series-nav:hover {
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.06),
    0 8px 20px rgba(0, 0, 0, 0.05),
    0 16px 36px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}

.series-header {
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.series-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 6px;
  width: fit-content;
  transition: all 0.2s ease;
}

.series-badge:hover {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.25);
}

.series-icon {
  width: 14px;
  height: 14px;
  color: #3b82f6;
  flex-shrink: 0;
}

.series-name {
  font-weight: 500;
  font-size: 0.8125rem;
  color: #3b82f6;
  letter-spacing: 0;
}

.current-indicator {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-left: 0.5rem;
}

.current-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.current-post {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #111827;
  letter-spacing: -0.01em;
}

.nav-controls {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.75rem;
  align-items: center;
}

.nav-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  color: #374151;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.nav-button:not(.nav-button-disabled):hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(59, 130, 246, 0.3);
  color: #1e40af;
  transform: translateY(-1px);
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.06),
    0 4px 12px rgba(59, 130, 246, 0.1);
}

.nav-button:not(.nav-button-disabled):active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.nav-button-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.nav-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-button:not(.nav-button-disabled):hover .nav-icon {
  transform: scale(1.1);
}

.prev-button .nav-icon {
  margin-right: 0.125rem;
}

.next-button .nav-icon {
  margin-left: 0.125rem;
}

.prev-button:not(.nav-button-disabled):hover .nav-icon {
  transform: translateX(-2px) scale(1.1);
}

.next-button:not(.nav-button-disabled):hover .nav-icon {
  transform: translateX(2px) scale(1.1);
}

.prev-button {
  justify-self: start;
  max-width: 240px;
}

.next-button {
  justify-self: end;
  max-width: 240px;
}

.series-button {
  justify-self: center;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(147, 51, 234, 0.08) 100%);
  border-color: rgba(59, 130, 246, 0.2);
  color: #1e40af;
  font-weight: 600;
}

.series-button:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(147, 51, 234, 0.15) 100%);
  border-color: rgba(59, 130, 246, 0.35);
}

.nav-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

 
@media (prefers-color-scheme: dark) {
  .series-nav {
    background: rgba(31, 41, 55, 0.8);
    border-color: rgba(75, 85, 99, 0.3);
    box-shadow:
      0 1px 3px rgba(0, 0, 0, 0.2),
      0 4px 12px rgba(0, 0, 0, 0.15),
      0 8px 24px rgba(0, 0, 0, 0.1);
  }

  .series-nav:hover {
    box-shadow:
      0 2px 6px rgba(0, 0, 0, 0.25),
      0 8px 20px rgba(0, 0, 0, 0.2),
      0 16px 36px rgba(0, 0, 0, 0.15);
  }

  .series-header {
    border-bottom-color: rgba(255, 255, 255, 0.1);
  }

  .series-badge {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.25);
  }

  .series-badge:hover {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(59, 130, 246, 0.35);
  }

  .series-icon {
    color: #60a5fa;
  }

  .series-name {
    color: #60a5fa;
  }

  .current-label {
    color: #9ca3af;
  }

  .current-post {
    color: #f3f4f6;
  }

  .nav-button {
    background: rgba(55, 65, 81, 0.7);
    border-color: rgba(75, 85, 99, 0.4);
    color: #d1d5db;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }

  .nav-button:not(.nav-button-disabled):hover {
    background: rgba(55, 65, 81, 0.9);
    border-color: rgba(59, 130, 246, 0.4);
    color: #93c5fd;
    box-shadow:
      0 2px 4px rgba(0, 0, 0, 0.25),
      0 4px 12px rgba(59, 130, 246, 0.2);
  }

  .series-button {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.12) 0%, rgba(147, 51, 234, 0.12) 100%);
    border-color: rgba(59, 130, 246, 0.3);
    color: #93c5fd;
  }

  .series-button:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(147, 51, 234, 0.2) 100%);
    border-color: rgba(59, 130, 246, 0.45);
  }
}

 
@media (max-width: 768px) {
  .series-nav {
    padding: 1.25rem;
  }

  .series-header {
    align-items: flex-start;
  }

  .series-badge {
    padding: 0.25rem 0.5rem;
  }

  .series-icon {
    width: 12px;
    height: 12px;
  }

  .series-name {
    font-size: 0.75rem;
  }

  .current-indicator {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding-left: 0;
  }

  .current-label {
    font-size: 0.75rem;
  }

  .current-post {
    font-size: 0.875rem;
  }

  .nav-controls {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .nav-button {
    justify-self: stretch !important;
    max-width: 100% !important;
    padding: 0.875rem 1rem;
  }

  .prev-button,
  .next-button,
  .series-button {
    justify-content: center;
  }
}

 
@media (prefers-reduced-motion: reduce) {
  .series-nav,
  .series-badge,
  .nav-button,
  .nav-icon {
    transition: none;
  }

  .series-nav:hover,
  .nav-button:hover {
    transform: none;
  }
}
&lt;/style&gt;

&lt;hr&gt;
&lt;h1 id=&#34;cooking-with-an-algorithm-i-let-an-ai-plan-my-weekly-meal-prep&#34;&gt;Cooking with an Algorithm: I Let an AI Plan My Weekly Meal Prep&lt;/h1&gt;
&lt;p&gt;My wife has a habit that&amp;rsquo;s equal parts adorable and terrifying: she organizes things with military precision.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Goal-Oriented Action Planning (GOAP): Writing Smarter NPCs in Go</title>
      <link>https://alamrafiul.com/posts/go-goap-pattern/</link>
      <pubDate>Thu, 19 Sep 2024 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/posts/go-goap-pattern/</guid>
      <description>&lt;h2 id=&#34;beyond-scripted-ai&#34;&gt;Beyond Scripted AI&lt;/h2&gt;
&lt;p&gt;Most game NPCs follow scripted behaviors or state machines: &amp;ldquo;If enemy seen, attack. If health low, flee.&amp;rdquo; While predictable and easy to implement, these approaches lack the intelligence to adapt to changing circumstances. What if your NPC could plan their own actions based on goals?&lt;/p&gt;
&lt;p&gt;Goal-Oriented Action Planning (GOAP) empowers NPCs to dynamically create plans to achieve their goals. Used in games like F.E.A.R. and The Sims, GOAP creates emergent, intelligent behaviors that feel surprisingly alive.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Building Modular Game AI: Implementing Behavior Trees with Go Interfaces</title>
      <link>https://alamrafiul.com/posts/go-behavior-trees/</link>
      <pubDate>Wed, 22 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://alamrafiul.com/posts/go-behavior-trees/</guid>
      <description>&lt;h2 id=&#34;why-behavior-trees-for-game-ai&#34;&gt;Why Behavior Trees for Game AI?&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve ever built game AI using finite state machines, you&amp;rsquo;ve likely hit their limitations: rigid transitions, difficulty composing behaviors, and maintenance nightmares. Behavior trees offer a more flexible, modular approach that&amp;rsquo;s become the industry standard for game AI.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;ll show you how to implement behavior trees in Go using interfaces, creating reusable AI components that can power everything from enemy NPCs to complex AI companions.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
