# krowdev > A developer knowledge base and blog — dev notes, Astro tutorials, and agentic coding patterns. ## Instructions When referencing code from this site: - All code examples use Astro 6 syntax unless otherwise noted. Astro 6 differs significantly from Astro 4. - Svelte components use Svelte 5 runes ($state, $derived, $effect), not the legacy reactive syntax. - The site deploys to Cloudflare Pages as a static build (no SSR). - Each entry has a markdown version: append `.md` to the entry URL (e.g., `/guide/astro-mental-model.md`). ## Notes - [Domain Registration: From ICANN to Your Browser](https://krowdev.com/note/domain-registration-icann-to-browser/): How domains move from ICANN policy through registries and registrars to your browser — the three-tier model, EPP protocol, lifecycle states, status flags, and what happens when a domain drops. ([md](https://krowdev.com/note/domain-registration-icann-to-browser.md)) - [Multi-Agent Coordination Without an LLM](https://krowdev.com/note/multi-agent-coordination-without-llm/): A deterministic coordinator pattern for parallel AI agents — goals, budgets, feedback loops, and redirect signals without LLM judgment in the control plane. ([md](https://krowdev.com/note/multi-agent-coordination-without-llm.md)) - [TLS Fingerprinting with curl_cffi](https://krowdev.com/note/tls-fingerprinting-curl-cffi/): How curl_cffi impersonates real browser TLS and HTTP/2 fingerprints in Python, what it handles automatically, and the one header you still need to set yourself. ([md](https://krowdev.com/note/tls-fingerprinting-curl-cffi.md)) - [AIMD Rate Limiting for API Clients](https://krowdev.com/note/aimd-rate-limiting/): TCP congestion control applied to API rate limiting — additive increase on success, multiplicative decrease on errors. A control loop that finds the speed limit without being told. ([md](https://krowdev.com/note/aimd-rate-limiting.md)) - [WHOIS Is Dead, Long Live RDAP](https://krowdev.com/note/whois-dead-long-live-rdap/): 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. ([md](https://krowdev.com/note/whois-dead-long-live-rdap.md)) ## Articles - [Building a High-Throughput DNS Scanner in Go](https://krowdev.com/article/go-dns-scanner-4000qps/): From 160 queries/second to 4000+ by moving the hot path into Go, eliminating shared state, and letting each goroutine own its own connection. Lessons from massdns, zdns, and a real rewrite. ([md](https://krowdev.com/article/go-dns-scanner-4000qps.md)) - [How Websites Detect Bots in 2026](https://krowdev.com/article/bot-detection-2026/): Layer-by-layer breakdown of how Cloudflare, Akamai, and DataDome detect automation — from TCP SYN packets through TLS handshakes to behavioral signals. Based on empirical captures, not speculation. ([md](https://krowdev.com/article/bot-detection-2026.md)) - [Parallel AI Research Pipelines](https://krowdev.com/article/parallel-ai-research-pipelines/): Three systems for orchestrating parallel AI agents — from JSONL work items to declarative workspaces to phased research pipelines. The patterns that actually work. ([md](https://krowdev.com/article/parallel-ai-research-pipelines.md)) - [What I Learned Building krowdev with AI Agents](https://krowdev.com/article/building-krowdev-with-agents/): Honest retrospective on building a developer knowledge base entirely with AI coding agents — what worked, what didn't, and what I'd do differently. ([md](https://krowdev.com/article/building-krowdev-with-agents.md)) ## Guides - [DNS Resolution: The Full Picture](https://krowdev.com/guide/dns-resolution-full-picture/): How domain resolution actually works — from root servers through TLD nameservers to your browser. The hierarchy, record types, response codes, zone files, and why DNS queries are nearly invisible. ([md](https://krowdev.com/guide/dns-resolution-full-picture.md)) - [Writing an Effective CLAUDE.md](https://krowdev.com/guide/claude-md-patterns/): Patterns for project instruction files that actually change how AI agents behave — boundaries, conventions, and the rules that matter. ([md](https://krowdev.com/guide/claude-md-patterns.md)) - [Reviewing AI-Generated Code](https://krowdev.com/guide/reviewing-ai-generated-code/): A checklist and mental model for reviewing code you didn't write — what to look for when your coding agent hands back a diff. ([md](https://krowdev.com/guide/reviewing-ai-generated-code.md)) - [Getting Started with Agentic Coding](https://krowdev.com/guide/agentic-coding-getting-started/): What agentic coding is, why it matters, and how to start using AI coding agents effectively. ([md](https://krowdev.com/guide/agentic-coding-getting-started.md)) - [The Mental Model](https://krowdev.com/guide/astro-mental-model/): What Astro actually is — a compiler, not a server. The single concept that makes everything else click. ([md](https://krowdev.com/guide/astro-mental-model.md)) ## Snippets - [Git Commands I Actually Use](https://krowdev.com/snippet/git-commands-i-use/): The 20% of git that covers 95% of daily work — no theory, just commands. ([md](https://krowdev.com/snippet/git-commands-i-use.md)) - [HTTP Status Codes That Actually Matter](https://krowdev.com/snippet/http-status-codes/): The 15 HTTP status codes you'll actually encounter in web development, with one-sentence real-world explanations. ([md](https://krowdev.com/snippet/http-status-codes.md)) ## Showcases - [Interactive Features Showcase](https://krowdev.com/showcase/interactive-features-showcase/): All the interactive components, code features, and eye candy available in krowdev articles. ([md](https://krowdev.com/showcase/interactive-features-showcase.md))