<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>krowdev</title>
  <subtitle>Dev notes, Astro tutorials, and agentic coding patterns.</subtitle>
  <link href="https://krowdev.com/atom.xml" rel="self" type="application/atom+xml" />
  <link href="https://krowdev.com/" rel="alternate" type="text/html" />
  <id>https://krowdev.com/</id>
  <updated>2026-04-07T00:00:00.000Z</updated>
  <author><name>krow</name></author>
  <generator>Astro</generator>
  <entry>
    <title>Pipeline Stage Communication</title>
    <link href="https://krowdev.com/snippet/pipeline-stage-communication/" rel="alternate" />
    <id>https://krowdev.com/snippet/pipeline-stage-communication/</id>
    <published>2026-04-07T00:00:00.000Z</published>
    <updated>2026-04-10T00:00:00.000Z</updated>
    <summary>Patterns for connecting independent pipeline stages via message queues — decoupled producers and consumers with batch collection and backpressure.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="architecture" />
    <category term="patterns" />
  </entry>
  <entry>
    <title>Worker Pool Isolation Pattern</title>
    <link href="https://krowdev.com/snippet/worker-pool-isolation/" rel="alternate" />
    <id>https://krowdev.com/snippet/worker-pool-isolation/</id>
    <published>2026-04-07T00:00:00.000Z</published>
    <updated>2026-04-10T00:00:00.000Z</updated>
    <summary>Separate worker pools per task type so a slow or failing dependency can't starve unrelated work — the bulkhead pattern applied to concurrent processing.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="architecture" />
    <category term="concurrency" />
  </entry>
  <entry>
    <title>Domain Registration: From ICANN to Your Browser</title>
    <link href="https://krowdev.com/note/domain-registration-icann-to-browser/" rel="alternate" />
    <id>https://krowdev.com/note/domain-registration-icann-to-browser/</id>
    <published>2026-03-29T00:00:00.000Z</published>
    <updated>2026-03-29T00:00:00.000Z</updated>
    <summary>How domains move from ICANN through registries and registrars — the three-tier model, EPP, lifecycle states, and what happens when a domain drops.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="dns" />
    <category term="web-infrastructure" />
    <category term="fundamentals" />
  </entry>
  <entry>
    <title>Building a High-Throughput DNS Scanner in Go</title>
    <link href="https://krowdev.com/article/go-dns-scanner-4000qps/" rel="alternate" />
    <id>https://krowdev.com/article/go-dns-scanner-4000qps/</id>
    <published>2026-03-29T00:00:00.000Z</published>
    <updated>2026-03-29T00:00:00.000Z</updated>
    <summary>From 160 qps to 4000+ by moving the hot path into Go — eliminating shared state, per-goroutine connections, and lessons from massdns and zdns.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="go" />
    <category term="dns" />
    <category term="architecture" />
    <category term="performance" />
  </entry>
  <entry>
    <title>Multi-Agent Coordination Without an LLM</title>
    <link href="https://krowdev.com/note/multi-agent-coordination-without-llm/" rel="alternate" />
    <id>https://krowdev.com/note/multi-agent-coordination-without-llm/</id>
    <published>2026-03-29T00:00:00.000Z</published>
    <updated>2026-03-29T00:00:00.000Z</updated>
    <summary>A deterministic coordinator for parallel AI agents — goals, budgets, feedback loops, and redirect signals without LLM judgment in the control plane.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="ai" />
    <category term="agents" />
    <category term="architecture" />
  </entry>
  <entry>
    <title>TLS Fingerprinting with curl_cffi</title>
    <link href="https://krowdev.com/note/tls-fingerprinting-curl-cffi/" rel="alternate" />
    <id>https://krowdev.com/note/tls-fingerprinting-curl-cffi/</id>
    <published>2026-03-29T00:00:00.000Z</published>
    <updated>2026-03-29T00:00:00.000Z</updated>
    <summary>How curl_cffi impersonates browser TLS and HTTP/2 fingerprints in Python — what it handles automatically and the one header you still need to set.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="python" />
    <category term="security" />
    <category term="fingerprinting" />
  </entry>
  <entry>
    <title>AIMD Rate Limiting for API Clients</title>
    <link href="https://krowdev.com/note/aimd-rate-limiting/" rel="alternate" />
    <id>https://krowdev.com/note/aimd-rate-limiting/</id>
    <published>2026-03-28T00:00:00.000Z</published>
    <updated>2026-03-28T00:00:00.000Z</updated>
    <summary>TCP congestion control applied to API rate limiting — additive increase on success, multiplicative decrease on errors. Finds the limit automatically.</summary>
    <author><name>AI-assisted, by krow</name></author>
    <category term="networking" />
    <category term="rate-limiting" />
    <category term="algorithms" />
  </entry>
  <entry>
    <title>How Websites Detect Bots in 2026</title>
    <link href="https://krowdev.com/article/bot-detection-2026/" rel="alternate" />
    <id>https://krowdev.com/article/bot-detection-2026/</id>
    <published>2026-03-28T00:00:00.000Z</published>
    <updated>2026-03-28T00:00:00.000Z</updated>
    <summary>How Cloudflare, Akamai, and DataDome detect bots — from TCP SYN fingerprints through TLS handshakes to HTTP/2 SETTINGS. Based on empirical captures.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="security" />
    <category term="web" />
    <category term="fingerprinting" />
    <category term="anti-detection" />
  </entry>
  <entry>
    <title>DNS Resolution: The Full Picture</title>
    <link href="https://krowdev.com/guide/dns-resolution-full-picture/" rel="alternate" />
    <id>https://krowdev.com/guide/dns-resolution-full-picture/</id>
    <published>2026-03-28T00:00:00.000Z</published>
    <updated>2026-03-28T00:00:00.000Z</updated>
    <summary>How DNS resolution works — root servers, TLD nameservers, record types, response codes, zone files, and why queries are nearly invisible.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="dns" />
    <category term="networking" />
    <category term="fundamentals" />
  </entry>
  <entry>
    <title>Parallel AI Research Pipelines</title>
    <link href="https://krowdev.com/article/parallel-ai-research-pipelines/" rel="alternate" />
    <id>https://krowdev.com/article/parallel-ai-research-pipelines/</id>
    <published>2026-03-28T00:00:00.000Z</published>
    <updated>2026-03-28T00:00:00.000Z</updated>
    <summary>Three systems for orchestrating parallel AI agents — JSONL work items, declarative workspaces, and phased research pipelines.</summary>
    <author><name>AI-assisted, by krow</name></author>
    <category term="agentic-coding" />
    <category term="patterns" />
    <category term="templates" />
  </entry>
  <entry>
    <title>WHOIS Is Dead, Long Live RDAP</title>
    <link href="https://krowdev.com/note/whois-dead-long-live-rdap/" rel="alternate" />
    <id>https://krowdev.com/note/whois-dead-long-live-rdap/</id>
    <published>2026-03-28T00:00:00.000Z</published>
    <updated>2026-03-28T00:00:00.000Z</updated>
    <summary>ICANN sunsetted WHOIS in January 2025. RDAP replaced it — structured JSON over HTTPS instead of plaintext over TCP. Here's what changed and why it matters.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="dns" />
    <category term="protocols" />
    <category term="web-infrastructure" />
  </entry>
  <entry>
    <title>Writing an Effective CLAUDE.md</title>
    <link href="https://krowdev.com/guide/claude-md-patterns/" rel="alternate" />
    <id>https://krowdev.com/guide/claude-md-patterns/</id>
    <published>2026-03-21T00:00:00.000Z</published>
    <updated>2026-04-10T00:00:00.000Z</updated>
    <summary>Patterns for project instruction files that actually change how AI agents behave — boundaries, conventions, and the rules that matter.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="agentic-coding" />
    <category term="patterns" />
  </entry>
  <entry>
    <title>Reviewing AI-Generated Code</title>
    <link href="https://krowdev.com/guide/reviewing-ai-generated-code/" rel="alternate" />
    <id>https://krowdev.com/guide/reviewing-ai-generated-code/</id>
    <published>2026-03-21T00:00:00.000Z</published>
    <updated>2026-03-21T00:00:00.000Z</updated>
    <summary>A checklist and mental model for reviewing code you didn't write — what to look for when your coding agent hands back a diff.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="agentic-coding" />
    <category term="patterns" />
  </entry>
  <entry>
    <title>What I Learned Building krowdev with AI Agents</title>
    <link href="https://krowdev.com/article/building-krowdev-with-agents/" rel="alternate" />
    <id>https://krowdev.com/article/building-krowdev-with-agents/</id>
    <published>2026-03-20T00:00:00.000Z</published>
    <updated>2026-04-10T00:00:00.000Z</updated>
    <summary>Honest retrospective on building a developer knowledge base entirely with AI coding agents — what worked, what didn't, and what I'd do differently.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="agentic-coding" />
    <category term="meta" />
  </entry>
  <entry>
    <title>Git Commands I Actually Use</title>
    <link href="https://krowdev.com/snippet/git-commands-i-use/" rel="alternate" />
    <id>https://krowdev.com/snippet/git-commands-i-use/</id>
    <published>2026-03-20T00:00:00.000Z</published>
    <updated>2026-03-20T00:00:00.000Z</updated>
    <summary>The 20% of git that covers 95% of daily work — no theory, just commands.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="git" />
    <category term="reference" />
  </entry>
  <entry>
    <title>HTTP Status Codes That Actually Matter</title>
    <link href="https://krowdev.com/snippet/http-status-codes/" rel="alternate" />
    <id>https://krowdev.com/snippet/http-status-codes/</id>
    <published>2026-03-20T00:00:00.000Z</published>
    <updated>2026-03-20T00:00:00.000Z</updated>
    <summary>The 15 HTTP status codes you'll actually encounter in web development, with one-sentence real-world explanations.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="networking" />
    <category term="reference" />
  </entry>
  <entry>
    <title>Interactive Features Showcase</title>
    <link href="https://krowdev.com/snippet/interactive-features-showcase/" rel="alternate" />
    <id>https://krowdev.com/snippet/interactive-features-showcase/</id>
    <published>2026-03-17T00:00:00.000Z</published>
    <updated>2026-03-17T00:00:00.000Z</updated>
    <summary>All the interactive components, code features, and eye candy available in krowdev articles.</summary>
    <author><name>AI-assisted, by krow</name></author>
    <category term="astro" />
    <category term="reference" />
  </entry>
  <entry>
    <title>Getting Started with Agentic Coding</title>
    <link href="https://krowdev.com/guide/agentic-coding-getting-started/" rel="alternate" />
    <id>https://krowdev.com/guide/agentic-coding-getting-started/</id>
    <published>2026-03-15T00:00:00.000Z</published>
    <updated>2026-03-15T00:00:00.000Z</updated>
    <summary>What agentic coding is, why it matters, and how to start using AI coding agents effectively.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="agentic-coding" />
    <category term="fundamentals" />
  </entry>
  <entry>
    <title>The Mental Model</title>
    <link href="https://krowdev.com/guide/astro-mental-model/" rel="alternate" />
    <id>https://krowdev.com/guide/astro-mental-model/</id>
    <published>2026-03-15T00:00:00.000Z</published>
    <updated>2026-03-15T00:00:00.000Z</updated>
    <summary>What Astro actually is — a compiler, not a server. The single concept that makes everything else click.</summary>
    <author><name>AI-drafted, directed by krow</name></author>
    <category term="astro" />
    <category term="fundamentals" />
  </entry>
</feed>