<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Yar Kravtsov — CTO-level Engineer and Technical Founder</title>
    <link>https://yarlson.dev/</link>
    <description>Recent content on Yar Kravtsov — CTO-level Engineer and Technical Founder</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 08 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://yarlson.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AI Coding Agents Need a Source of Truth</title>
      <link>https://yarlson.dev/blog/ai-agents-need-source-of-truth/</link>
      <pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/ai-agents-need-source-of-truth/</guid>
      <description>Bigger prompts do not fix bad agent plans. A good agent workflow starts with a small brief, human review, task sizing, and checks against concrete artifacts.</description>
    </item>
    <item>
      <title>Good CLI Design Is Mostly Silence</title>
      <link>https://yarlson.dev/blog/good-cli-design-is-mostly-silence/</link>
      <pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/good-cli-design-is-mostly-silence/</guid>
      <description>A CLI is not only a user interface. It is also an API for scripts. Quiet mode, stdout, stderr, colors, and exit codes need clear contracts.</description>
    </item>
    <item>
      <title>The Build Cache Was Not Broken</title>
      <link>https://yarlson.dev/blog/build-cache-was-not-broken/</link>
      <pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/build-cache-was-not-broken/</guid>
      <description>Docker cache problems are often not Docker problems. They are usually Dockerfile problems: unstable inputs, bad COPY order, and layers that depend on too much.</description>
    </item>
    <item>
      <title>How to Cook Claude Code</title>
      <link>https://yarlson.dev/blog/how-to-cook-claude-code/</link>
      <pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/how-to-cook-claude-code/</guid>
      <description>Claude Opus 4.7 scores 87.6% on SWE-Bench Verified. Your daily experience probably doesn&amp;rsquo;t reflect that. The gap isn&amp;rsquo;t the model — it&amp;rsquo;s the kitchen. Three levers, a few hygiene habits, and the same model goes from autocomplete to autonomous shipping.</description>
    </item>
    <item>
      <title>It&#39;s Not the Model. It&#39;s the System Prompt You Never Wrote.</title>
      <link>https://yarlson.dev/blog/its-not-the-model-its-the-system-prompt/</link>
      <pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/its-not-the-model-its-the-system-prompt/</guid>
      <description>Most complaints about coding agents are really complaints about empty context. CLAUDE.md, distilled project docs, and a few well-named slash commands turn the same model from &amp;lsquo;crappy autocomplete&amp;rsquo; into something that runs unattended for hours and ships.</description>
    </item>
    <item>
      <title>I Built an FPS in Godot. My Daughter Is Building the World.</title>
      <link>https://yarlson.dev/blog/godot-fps-with-my-daughter/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/godot-fps-with-my-daughter/</guid>
      <description>A backend engineer with zero game dev experience picked up Godot 4 and built a horror FPS from scratch — procedural audio, volumetric fog, enemy AI state machines, the whole thing. Then a 13-year-old played it for two minutes, grabbed a tablet, and decided she&amp;rsquo;s designing every monster, boss, and piece of lore. The game just got a creative director.</description>
    </item>
    <item>
      <title>Preview Environments Are Easy to Want and Hard to Operate</title>
      <link>https://yarlson.dev/blog/preview-environments-are-hard/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/preview-environments-are-hard/</guid>
      <description>The pitch is irresistible — per-PR environments, live links, instant feedback. Then someone needs twenty restarts to get a multi-service stack running, and the pitch meets operational reality.</description>
    </item>
    <item>
      <title>The CI Pipeline Nobody Owns</title>
      <link>https://yarlson.dev/blog/ci-pipeline-nobody-owns/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/ci-pipeline-nobody-owns/</guid>
      <description>Your CI pipeline is building the same Docker image three times per run, a dependency bot just DDoS&amp;rsquo;d your runner fleet, and nobody&amp;rsquo;s going to fix it — because nobody owns it. How shared pipelines corrode without a single bad decision.</description>
    </item>
    <item>
      <title>We Added Monitoring to Everything (Except the Thing That Kept Breaking)</title>
      <link>https://yarlson.dev/blog/observability-gap-in-dev-infrastructure/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/observability-gap-in-dev-infrastructure/</guid>
      <description>Production has dashboards, alerts, and structured logging. Your test environment has SSH. Your CI runners have a re-run button. That gap is quietly eating your engineering velocity alive.</description>
    </item>
    <item>
      <title>Building an IDE Plugin the Same Week You Build the Language</title>
      <link>https://yarlson.dev/blog/building-an-ide-plugin-alongside-a-language/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/building-an-ide-plugin-alongside-a-language/</guid>
      <description>Most languages ship tooling years after the compiler. I built the Yar IntelliJ plugin in parallel with the compiler itself — 19 commits tracking language changes in real time. Here&amp;rsquo;s why DX-first language development changes how you think about design.</description>
    </item>
    <item>
      <title>Conservative Garbage Collection in 300 Lines of C</title>
      <link>https://yarlson.dev/blog/conservative-gc-in-300-lines-of-c/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/conservative-gc-in-300-lines-of-c/</guid>
      <description>Implementing a garbage collector for the Yar compiler meant scanning the stack without knowing what&amp;rsquo;s a pointer. Mark-and-sweep, conservative scanning via setjmp, heap growth targeting, and the fun part: making it work when threads are running.</description>
    </item>
    <item>
      <title>Designing a Package Manager When You Don&#39;t Have One</title>
      <link>https://yarlson.dev/blog/designing-a-package-manager-from-scratch/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/designing-a-package-manager-from-scratch/</guid>
      <description>When the Yar compiler couldn&amp;rsquo;t import code across project boundaries, I had to build a package manager from nothing. Git-based fetching, alias-based imports, content-addressed caching, transitive resolution — and zero registry. Here&amp;rsquo;s every decision that mattered.</description>
    </item>
    <item>
      <title>I Asked ChatGPT If Building a Language Was Hard. Now I Have a Compiler.</title>
      <link>https://yarlson.dev/blog/yar/</link>
      <pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/yar/</guid>
      <description>Four months ago I asked ChatGPT a dumb question while walking my dog. It told me building a programming language wasn&amp;rsquo;t that hard. So I built one — a compiled language with explicit error handling, generics, structured concurrency, and a garbage collector. Here&amp;rsquo;s what happened.</description>
    </item>
    <item>
      <title>Why I Stopped Using Spotify</title>
      <link>https://yarlson.dev/blog/why-i-stopped-using-spotify/</link>
      <pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/why-i-stopped-using-spotify/</guid>
      <description>I thought streaming was the ethical upgrade from piracy. Turns out it just made music disposable. Now I buy CDs, pirate FLACs, and actually listen to albums again.</description>
    </item>
    <item>
      <title>Mokapot: Building a Local AWS Mock That Actually Works</title>
      <link>https://yarlson.dev/blog/mokapot/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/mokapot/</guid>
      <description>Why I built mokapot — a single Go binary that speaks SQS and SNS well enough for real AWS SDKs to connect without configuration changes. Persistence, filter policies, and the tricky parts of faking a cloud service locally.</description>
    </item>
    <item>
      <title>The Details That Make CLI Tools Feel Professional</title>
      <link>https://yarlson.dev/blog/cli-details-that-matter/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/cli-details-that-matter/</guid>
      <description>Four real examples from recent Go CLI projects — bracketed paste handling, a scripting DSL, safe symlink restoration, and diff truncation — that show how small decisions separate a script from a tool people trust.</description>
    </item>
    <item>
      <title>When AI Agents Remember: Building Persistent Memory for Autonomous Coding</title>
      <link>https://yarlson.dev/blog/when-ai-agents-remember/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/when-ai-agents-remember/</guid>
      <description>What happens when you give an AI coding agent memory that persists across tasks? It stops repeating the same mistakes. Here&amp;rsquo;s how lgtm and snap use persistent findings, shared context, and self-recovery to close the loop from planning to merged PR.</description>
    </item>
    <item>
      <title>The Gold Standard: CLI Design Principles for Production Systems</title>
      <link>https://yarlson.dev/blog/gold-standard-cli-design-principles/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/gold-standard-cli-design-principles/</guid>
      <description>Defining the &amp;lsquo;Gold Standard&amp;rsquo; for production-ready CLIs: TTY-aware behavior, clean stdout vs stderr contracts, JSON output for automation, and idempotent mutations.</description>
    </item>
    <item>
      <title>Toasts with HTMX — the clean way to say &#34;it worked&#34;</title>
      <link>https://yarlson.dev/blog/htmx-toast/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/htmx-toast/</guid>
      <description>Build lightweight, reactive toast notifications without React, frameworks, or JavaScript bloat. A step-by-step guide to clean, declarative UI using HTMX, CSS, and a few honest lines of code.</description>
    </item>
    <item>
      <title>Why I Migrated from VitePress to Hugo for This Blog</title>
      <link>https://yarlson.dev/blog/migrating-from-vitepress-to-hugo/</link>
      <pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/migrating-from-vitepress-to-hugo/</guid>
      <description>After running my blog on VitePress for over a year, I decided to migrate to Hugo with a custom theme. Here&amp;rsquo;s why I made the switch and what I learned in the process.</description>
    </item>
    <item>
      <title>Lnk: Simplify Your Dotfiles with a Git-Native CLI</title>
      <link>https://yarlson.dev/blog/lnk/</link>
      <pubDate>Tue, 03 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/lnk/</guid>
      <description>Manage your dotfiles effortlessly: Lnk uses Git to move files into ~/.config/lnk, create reliable symlinks, handle host-specific overrides, and run bootstrap scripts automatically—no more messy bash hacks.</description>
    </item>
    <item>
      <title>Scaling Up LLM Codegen Workflows for Bigger Projects</title>
      <link>https://yarlson.dev/blog/scaling-up-llm-codegen-workflows-for-bigger-projects/</link>
      <pubDate>Tue, 08 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/scaling-up-llm-codegen-workflows-for-bigger-projects/</guid>
      <description>A refined, step-by-step process for managing larger projects with LLM codegen workflows—response to Harper Reed&amp;rsquo;s blog post.</description>
    </item>
    <item>
      <title>Introducing pin: A Minimal CLI Spinner for Go</title>
      <link>https://yarlson.dev/blog/pin/</link>
      <pubDate>Mon, 10 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/pin/</guid>
      <description>Frustrated with complex spinner libraries for your CLI apps? Meet pin—a lightweight, customizable, and dependency-free spinner built with only Go&amp;rsquo;s standard library, designed to keep your terminal outputs clean and efficient.</description>
    </item>
    <item>
      <title>Why I Created Zero: A Lightweight SSL Certificate Manager</title>
      <link>https://yarlson.dev/blog/zero/</link>
      <pubDate>Mon, 27 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/zero/</guid>
      <description>In the world of web development, securing your applications with SSL/TLS certificates is non-negotiable. However, managing SSL certificates can be a daunting task, especially when you&amp;rsquo;re dealing with multiple domains, renewals, and the complexities of the ACME protocol. This is why I created Zero, a lightweight SSL certificate manager designed to simplify the process of obtaining, renewing, and managing SSL/TLS certificates.</description>
    </item>
    <item>
      <title>FTL: Production Deployments Without The Complexity</title>
      <link>https://yarlson.dev/blog/ftl/</link>
      <pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/ftl/</guid>
      <description>A technical deep-dive into FTL, a deployment tool that brings zero-downtime updates and production-grade features to Docker-based applications without the complexity of container orchestration platforms. Learn about the engineering decisions behind direct container layer transfers, automated SSL management, and flexible database deployment strategies that make FTL a compelling alternative to traditional CI/CD pipelines.</description>
    </item>
    <item>
      <title>The Hidden Cost of UI Frameworks for CLI Tasks in Go</title>
      <link>https://yarlson.dev/blog/hidden-cost-of-ui-frameworks-in-go-cli/</link>
      <pubDate>Sun, 01 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/hidden-cost-of-ui-frameworks-in-go-cli/</guid>
      <description>Discover why using modern UI frameworks for simple CLI tasks in Go can lead to unnecessary complexity. Learn about choosing the right tools for CLI development and the importance of matching solutions to problems.</description>
    </item>
    <item>
      <title>Docker Networking: A Guide for Developers</title>
      <link>https://yarlson.dev/blog/docker-networking/</link>
      <pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/docker-networking/</guid>
      <description>Learn the essentials of Docker networking, including container communication, DNS, aliases, port forwarding, and internal/external access. A comprehensive guide to understanding Docker networks for effective application design.</description>
    </item>
    <item>
      <title>Using Go 1.22&#39;s New Iterators in CLI Applications</title>
      <link>https://yarlson.dev/blog/using-go-1-22-iterators-in-cli-applications/</link>
      <pubDate>Sat, 26 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/using-go-1-22-iterators-in-cli-applications/</guid>
      <description>Go 1.22 introduces built-in support for iterators, providing a memory-efficient and composable way to handle data streams. This post explains how to use these iterators in CLI applications, complete with code examples and best practices.</description>
    </item>
    <item>
      <title>Deploying NextJS with App Router: It&#39;s Not Just for Vercel Anymore</title>
      <link>https://yarlson.dev/blog/nexjs-docker/</link>
      <pubDate>Sun, 11 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/nexjs-docker/</guid>
      <description>Deploying a NextJS app with the App Router outside of Vercel&amp;rsquo;s infrastructure is possible using Docker and Docker Compose. This setup uses Nginx for static asset serving and as a reverse proxy for the Node.js app. This post will explain the process step-by-step for those new to Docker.</description>
    </item>
    <item>
      <title>git-gen: Rethinking Commit Messages</title>
      <link>https://yarlson.dev/blog/rethinking-commit-messages/</link>
      <pubDate>Fri, 12 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/rethinking-commit-messages/</guid>
      <description>git-gen is a bash script that uses Anthropic&amp;rsquo;s Claude model to generate Git commit messages. This experiment has led me to reconsider our approach to version control workflows.</description>
    </item>
    <item>
      <title>Naming in Go: A Deep Dive into Function and Variable Conventions</title>
      <link>https://yarlson.dev/blog/go-naming-conventions/</link>
      <pubDate>Mon, 12 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/blog/go-naming-conventions/</guid>
      <description>A guide to Go naming conventions for functions and variables. Covers best practices for clarity, consistency, and idiomatic Go code to improve readability and maintainability.</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/ai/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/ai/</guid>
      <description>&lt;p&gt;Practical notes on AI-assisted software engineering. Mostly about coding agents, prompts, briefs, review loops, and the boring workflow details that decide whether LLM tools are useful or just noisy.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/ci/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/ci/</guid>
      <description>&lt;p&gt;Runners, workflows, flaky tests, and the slow realization that your CI pipeline is a distributed system that nobody owns. What breaks, what costs money, and what to do about it.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/cli/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/cli/</guid>
      <description>&lt;p&gt;Building CLI tools that earn trust. Design patterns, terminal UX, and the details that separate a script from something people actually rely on.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/compilers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/compilers/</guid>
      <description>&lt;p&gt;Parsers, type checkers, code generators, garbage collectors, and the design decisions that make a programming language feel coherent. The craft behind the tools we think with.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/docker/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/docker/</guid>
      <description>&lt;p&gt;Containers, networking, deployment pipelines, and the genuinely useful parts of the Docker ecosystem. Less theory, more &amp;ldquo;here&amp;rsquo;s what actually works in production.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/gamedev/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/gamedev/</guid>
      <description>&lt;p&gt;Experiments with game development, mostly from small projects and tools. Notes on Godot, gameplay loops, and what happens when software engineering meets game feel.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/git/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/git/</guid>
      <description>&lt;p&gt;Version control workflows, commit hygiene, and tools built on top of Git. The boring infrastructure that keeps everything else from falling apart.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/go/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/go/</guid>
      <description>&lt;p&gt;Go code — CLIs, libraries, compilers, and the naming conventions that hold it all together. Opinionated takes on a language that rewards restraint.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/godot/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/godot/</guid>
      <description>&lt;p&gt;Notes from building with Godot. Mostly practical lessons from small game projects: input, scenes, iteration, and the strange gap between code that works and a game that feels good.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/llm/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/llm/</guid>
      <description>&lt;p&gt;AI-assisted workflows, agentic coding, and the messy reality of shipping software with LLMs. What works, what doesn&amp;rsquo;t, and what people get wrong.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/music/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/music/</guid>
      <description>&lt;p&gt;Writing about music, listening habits, and the software that shapes how we discover, organize, and experience audio.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/nextjs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/nextjs/</guid>
      <description>&lt;p&gt;Deploying and running Next.js outside the Vercel comfort zone. Docker, Nginx, standalone builds, and proving it&amp;rsquo;s not actually locked in.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/observability/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/observability/</guid>
      <description>&lt;p&gt;Dashboards, structured logs, and the debugging sessions that happen when you don&amp;rsquo;t have either. You can&amp;rsquo;t operate what you can&amp;rsquo;t see — and most developer infrastructure is invisible.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/platform/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/platform/</guid>
      <description>&lt;p&gt;CI pipelines, preview environments, build systems, and the operational work that makes everyone else productive. The unglamorous machinery that breaks loudly when you ignore it.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/web/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/web/</guid>
      <description>&lt;p&gt;HTML, CSS, and just enough JavaScript to get the job done. Building for the web without the ceremony.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://yarlson.dev/tags/yar/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/tags/yar/</guid>
      <description>&lt;p&gt;Building a programming language from scratch. Compiler internals, language design decisions, runtime implementation, and the tooling ecosystem around Yar.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://yarlson.dev/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yarlson.dev/about/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been writing software for over 27 years. Most of that time was spent on backends, infrastructure, and developer tooling — Go these days, plenty of other things before that. I build AI agent workflows, CLI tools, deployment pipelines, and occasionally things nobody asked for, like a programming language with its own compiler and garbage collector.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
