<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>xiaoke.dev — Engineering notes</title><description>Engineering notes on AI systems, WebGPU, Rust, WASM, and the work of building durable software.</description><link>https://xiaoke.dev</link><language>en-us</language><item><title>Building a Git-First Developer Blog on Cloudflare</title><link>https://xiaoke.dev/blog/building-a-git-first-developer-blog</link><guid isPermaLink="true">https://xiaoke.dev/blog/building-a-git-first-developer-blog</guid><description>A practical architecture for publishing verified technical writing with Astro, Git, Cloudflare Pages, and an intentionally small runtime.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate><category>astro</category><category>cloudflare</category><category>static-sites</category><category>content-systems</category></item><item><title>Separating Source and Public Assets with Cloudflare R2</title><link>https://xiaoke.dev/blog/separating-source-and-public-assets-with-r2</link><guid isPermaLink="true">https://xiaoke.dev/blog/separating-source-and-public-assets-with-r2</guid><description>How two narrowly scoped R2 buckets keep private Markdown backups separate from public, cacheable images and downloadable files.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>cloudflare</category><category>static-sites</category><category>content-systems</category></item><item><title>Why xiaoke.dev Is Static by Default</title><link>https://xiaoke.dev/blog/why-xiaoke-dev-is-static-by-default</link><guid isPermaLink="true">https://xiaoke.dev/blog/why-xiaoke-dev-is-static-by-default</guid><description>The engineering case for build-time content, minimal browser JavaScript, and complete HTML as the default for a long-lived developer blog.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>astro</category><category>static-sites</category><category>performance</category><category>seo</category></item></channel></rss>