<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Vondray Sanford — Writing</title>
  <link>https://vondraysanford.com/writing/</link>
  <description>Notes, tutorials, and honest reflections on .NET, AI engineering, RAG pipelines, and multi-agent systems.</description>
  <language>en-us</language>
  <lastBuildDate>Thu, 17 Sep 2026 00:00:00 GMT</lastBuildDate>
  <atom:link href="https://vondraysanford.com/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>Your AI Coding History Is a Dataset. Here's How I'd Actually Use It.</title>
    <link>https://vondraysanford.com/writing/2026-09-17-your-ai-coding-history-is-a-dataset-here-s-how-i-d-actually-.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-17-your-ai-coding-history-is-a-dataset-here-s-how-i-d-actually-.html</guid>
    <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>The ai-data-extractor project can pull your entire Claude Code, Cursor, and Cline chat history into structured data. That's interesting. What you do with it afterward is where things get genuinely useful.</description>
  </item>
  <item>
    <title>The &quot;AI Safety Pact&quot; Is a Cartel in a Lab Coat</title>
    <link>https://vondraysanford.com/writing/2026-09-15-the-ai-safety-pact-is-a-cartel-in-a-lab-coat.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-15-the-ai-safety-pact-is-a-cartel-in-a-lab-coat.html</guid>
    <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>When the CEOs of OpenAI, Anthropic, and Google DeepMind agreed to slow AI development for &quot;safety,&quot; skeptics didn't have to look hard for the ulterior motive. This smells less like a safety pause and more like incumbents pulling up the ladder.</description>
  </item>
  <item>
    <title>SparkDash: I Gave a 320B Model a Spec and Pointed It at the Server Serving It</title>
    <link>https://vondraysanford.com/writing/2026-09-14-sparkdash-i-gave-a-320b-model-a-spec-and-pointed-it-at-the-s.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-14-sparkdash-i-gave-a-320b-model-a-spec-and-pointed-it-at-the-s.html</guid>
    <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>GLM-5.3-Flash, 320B parameters split across two DGX Sparks over a ConnectX-7 cable, built its own monitoring dashboard in 44 minutes. The scorecard was written before the session: what it got right, what broke, and whether the fixes went to the cause.</description>
  </item>
  <item>
    <title>320B on Two Sparks: What It Actually Takes to Run a Mixture-of-Experts Model Across a Home Cluster</title>
    <link>https://vondraysanford.com/writing/2026-09-13-320b-on-two-sparks-what-it-actually-takes-to-run-a-mixture-o.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-13-320b-on-two-sparks-what-it-actually-takes-to-run-a-mixture-o.html</guid>
    <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    <category>Infrastructure</category>
    <description>I bridged two NVIDIA DGX Sparks, loaded a 320B open-weights MoE model across both, and wired the endpoint into GitHub Copilot Chat. Every step, every error, and every number, from cable to first correct answer.</description>
  </item>
  <item>
    <title>Engineering Patterns Beat Model Power: What the Google AI Agents Challenge Actually Proved</title>
    <link>https://vondraysanford.com/writing/2026-09-10-engineering-patterns-beat-model-power-what-the-google-ai-age.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-10-engineering-patterns-beat-model-power-what-the-google-ai-age.html</guid>
    <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Google's AI Agents Challenge surfaced something most people building multi-agent systems already suspect but rarely say out loud: the model isn't the bottleneck. The architecture is.</description>
  </item>
  <item>
    <title>DriftWatch, measured: what a logistic regression, a coin flip, and a 32-second cold start taught me about ML systems</title>
    <link>https://vondraysanford.com/writing/2026-09-08-driftwatch-measured-what-a-logistic-regression-a-coin-flip-a.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-08-driftwatch-measured-what-a-logistic-regression-a-coin-flip-a.html</guid>
    <pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
    <category>mlops</category>
    <description>Six phases, 21 days, and every number measured. The wrap-up on DriftWatch: what it produced, what it cost, what broke, and what's still not done.</description>
  </item>
  <item>
    <title>The Four Patterns That Separate Toy Agents from Production Agents</title>
    <link>https://vondraysanford.com/writing/2026-09-07-the-four-patterns-that-separate-toy-agents-from-production-a.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-07-the-four-patterns-that-separate-toy-agents-from-production-a.html</guid>
    <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Google's AI Agents Challenge revealed something most tutorials skip: what set the winning multi-agent systems apart was software engineering, not model choice. Four patterns kept showing up in the report, and none of them is an AI problem.</description>
  </item>
  <item>
    <title>The Model Was 20%: DriftWatch, Part 6</title>
    <link>https://vondraysanford.com/writing/2026-09-04-the-model-was-20-driftwatch-part-6.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-04-the-model-was-20-driftwatch-part-6.html</guid>
    <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
    <category>MLOps</category>
    <description>Six phases, one thesis: the model is the small part. DriftWatch is done. This post has every number I measured, eight lessons each pinned to something that happened, and what the dashboard proved by being a page instead of a second app.</description>
  </item>
  <item>
    <title>The Monitor Caught It. The Loop Answered It. A Human Said Yes. — DriftWatch, Part 5</title>
    <link>https://vondraysanford.com/writing/2026-09-04-the-monitor-caught-it-the-loop-answered-it-a-human-said-yes-.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-04-the-monitor-caught-it-the-loop-answered-it-a-human-said-yes-.html</guid>
    <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
    <category>MLOps</category>
    <description>DriftWatch's drift phase is the one the whole project was built for. A real regime change dropped the champion model to ROC-AUC 0.50, the retrain loop brought a challenger back to 0.99, a screenshot exposed two bugs on the way, and a human still approves the promotion.</description>
  </item>
  <item>
    <title>Four Failures, One Green Run, and the Teardown That Held Every Time</title>
    <link>https://vondraysanford.com/writing/2026-09-04-four-failures-one-green-run-and-the-teardown-that-held-every.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-04-four-failures-one-green-run-and-the-teardown-that-held-every.html</guid>
    <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
    <category>DevOps</category>
    <description>DriftWatch Phase 4 build log: how enterprise DevOps experience, not ML theory, solved secretless CI/CD, identity scoping, and a managed endpoint that had to prove it worked before it was allowed to disappear.</description>
  </item>
  <item>
    <title>Raw Cycles In, Probability Out: DriftWatch, Part 3</title>
    <link>https://vondraysanford.com/writing/2026-09-03-raw-cycles-in-probability-out-driftwatch-part-3.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-03-raw-cycles-in-probability-out-driftwatch-part-3.html</guid>
    <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
    <category>MLOps</category>
    <description>Phase 3 of DriftWatch is a FastAPI endpoint that accepts raw sensor cycles, computes features from the same code training used, and refuses to answer if it cannot write the prediction down. One decision drives all of it.</description>
  </item>
  <item>
    <title>Fifty Trials Couldn't Beat Logistic Regression: DriftWatch Part 2</title>
    <link>https://vondraysanford.com/writing/2026-09-03-fifty-trials-couldn-t-beat-logistic-regression-driftwatch-pa.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-03-fifty-trials-couldn-t-beat-logistic-regression-driftwatch-pa.html</guid>
    <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
    <category>MLOps</category>
    <description>Phase 2 of DriftWatch covered training, MLflow tracking, and model registration in Azure ML. It ended with a surprise: a scaled logistic regression beat XGBoost, including XGBoost after 50 Optuna tuning trials, on engines none of the models had seen.</description>
  </item>
  <item>
    <title>Data Quarantine, Label Design, and the Phase Where You Fool Yourself: DriftWatch Part 1</title>
    <link>https://vondraysanford.com/writing/2026-09-02-before-the-model-data-quarantine-label-design-and-the-phase-.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-02-before-the-model-data-quarantine-label-design-and-the-phase-.html</guid>
    <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
    <category>MLOps</category>
    <description>DriftWatch Phase 1 had no model in it. It was still the phase where the assumptions that wreck ML projects get made, or don't: label leakage, contaminated holdouts, feature code that drifts from serving. I treated all of it as infrastructure work.</description>
  </item>
  <item>
    <title>Kiro Crew and the Case for Asynchronous Agents: What AWS Got Right (and What You Still Have to Wire Up)</title>
    <link>https://vondraysanford.com/writing/2026-09-01-kiro-crew-and-the-case-for-asynchronous-agents-what-aws-got-.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-09-01-kiro-crew-and-the-case-for-asynchronous-agents-what-aws-got-.html</guid>
    <pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>AWS open-sourced Kiro Crew to run multiple coding agents across sessions and tasks asynchronously. The architectural bet underneath, async by default, matters more than the feature list, and it comes with a bill for durable state that AWS doesn't pay for you.</description>
  </item>
  <item>
    <title>FrontierAgent Is Interesting. The Agent Team Mode Is the Part Worth Studying.</title>
    <link>https://vondraysanford.com/writing/2026-08-28-frontieragent-is-interesting-the-agent-team-mode-is-the-part.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-28-frontieragent-is-interesting-the-agent-team-mode-is-the-part.html</guid>
    <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>FrontierAgent just open-sourced a multi-agent framework with ReAct and Agent Team modes baked in. I read the architecture with AgentReview fresh in my head and wrote up the questions I'd want answered before trusting the team mode.</description>
  </item>
  <item>
    <title>I Built a Twitter Bot Detector in 2022. I Finally Evaluated It Honestly in 2026.</title>
    <link>https://vondraysanford.com/writing/2026-08-25-i-built-a-twitter-bot-detector-in-2022-i-finally-evaluated-i.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-25-i-built-a-twitter-bot-detector-in-2022-i-finally-evaluated-i.html</guid>
    <pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>A look back at the Python NLP pipeline I built in 2022: sentiment analysis, XGBoost bot detection, and the evaluation protocol I should have written four years ago.</description>
  </item>
  <item>
    <title>DriftWatch, Post 0: The Setup Weekend That Wasn't Boring</title>
    <link>https://vondraysanford.com/writing/2026-08-24-driftwatch-post-0-the-setup-weekend-that-wasn-t-boring.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-24-driftwatch-post-0-the-setup-weekend-that-wasn-t-boring.html</guid>
    <pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>DriftWatch is my third public AI engineering project, and it exists to prove one thing: the model is maybe 20% of an ML system. Phase 0 was supposed to be the boring setup weekend. It was not.</description>
  </item>
  <item>
    <title>Model Routing Is an Infrastructure Problem, Not a Prompt Problem</title>
    <link>https://vondraysanford.com/writing/2026-08-17-model-routing-is-an-infrastructure-problem-not-a-prompt-prob.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-17-model-routing-is-an-infrastructure-problem-not-a-prompt-prob.html</guid>
    <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Google Cloud API Gateway's new model routing feature is getting framed as a developer convenience, but what it's really solving is a production infrastructure problem that anyone running multi-model AI workloads has already hit the hard way.</description>
  </item>
  <item>
    <title>MCP Goes Stateless: What the 2026-07-28 Spec Actually Changes for Agent Infrastructure</title>
    <link>https://vondraysanford.com/writing/2026-08-13-mcp-goes-stateless-what-the-2026-07-28-spec-actually-changes.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-13-mcp-goes-stateless-what-the-2026-07-28-spec-actually-changes.html</guid>
    <pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>The 2026-07-28 MCP spec drops stateful session management entirely. I fought the old session model while building AgentReview's MCP server, so this change matters to me: MCP servers can finally scale like any other stateless HTTP service.</description>
  </item>
  <item>
    <title>Three AI Agents Reviewed the Same Pull Request (Here's What I Measured)</title>
    <link>https://vondraysanford.com/writing/2026-08-09-three-ai-agents-reviewed-the-same-pull-request-here-s-what-i.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-09-three-ai-agents-reviewed-the-same-pull-request-here-s-what-i.html</guid>
    <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>AgentReview shipped. Three specialized agents reviewed 8 seeded PRs with 18 planted bugs and came back with 100% precision, 17/18 recall, and a cost of $0.068 per review. The one miss is written up honestly in the README.</description>
  </item>
  <item>
    <title>AgentReview Phase 5: Measuring My Own Agents, and Why Precision Needs a Human</title>
    <link>https://vondraysanford.com/writing/2026-08-08-agentreview-phase-5-measuring-my-own-agents-and-why-precisio.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-08-agentreview-phase-5-measuring-my-own-agents-and-why-precisio.html</guid>
    <pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Recall is easy to measure when you plant the bugs yourself. Precision is the metric that fights back. It took 45 manual judgments, a scoring worksheet, and a budget guard wired to every token cap before I trusted these numbers.</description>
  </item>
  <item>
    <title>AgentReview Phase 4: Fan-Out Is Easy. Synthesis Is the Hard Part.</title>
    <link>https://vondraysanford.com/writing/2026-08-08-agentreview-phase-4-fan-out-is-easy-synthesis-is-the-hard-pa.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-08-agentreview-phase-4-fan-out-is-easy-synthesis-is-the-hard-pa.html</guid>
    <pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Getting three agents to run concurrently took an afternoon. Merging their findings without losing signal took real design work, and the approach that survived pairs LLM judgment with plain deterministic code.</description>
  </item>
  <item>
    <title>AgentReview Phase 3: Three Agents, One Base Class, and Why Lane Discipline Is an Engineering Problem</title>
    <link>https://vondraysanford.com/writing/2026-08-08-agentreview-phase-3-three-agents-one-base-class-and-why-lane.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-08-agentreview-phase-3-three-agents-one-base-class-and-why-lane.html</guid>
    <pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Once the review pipeline moved into a shared base class, the Security Agent came together in under a day and the Docs Agent went even faster. The proof: 55 tests, 15 committed sample reviews, and a security agent that stays quiet on all four non-security diffs.</description>
  </item>
  <item>
    <title>AgentReview Phase 2: One Real Agent, Real Tools, and Every Honest Mistake Along the Way</title>
    <link>https://vondraysanford.com/writing/2026-08-07-agentreview-phase-2-one-real-agent-real-tools-and-every-hone.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-07-agentreview-phase-2-one-real-agent-real-tools-and-every-hone.html</guid>
    <pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>I built a C# Quality Agent that runs a PR diff through both Roslyn and Claude, then merges the results into one schema-locked findings list. Along the way I dealt with deduplication headaches, hallucinated resolution errors, undocumented MCP headers, and a fresh reminder that cost guardrails belong in code.</description>
  </item>
  <item>
    <title>AgentReview Phase 1: Build the MCP Server First, Ask Questions Later</title>
    <link>https://vondraysanford.com/writing/2026-08-05-agentreview-phase-1-build-the-mcp-server-first-ask-questions.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-08-05-agentreview-phase-1-build-the-mcp-server-first-ask-questions.html</guid>
    <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    <category>.NET</category>
    <description>Before writing a single agent I built the tooling layer: an MCP server in C#/.NET wrapping Roslyn and Semgrep. Building in that order taught me plenty about scanner blind spots, protocol hygiene, and why LLM reasoning belongs on top of static analysis instead of beside it.</description>
  </item>
  <item>
    <title>Microsoft's Three-Layer LLM Routing Architecture: What It Gets Right (and What You Still Have to Figure Out Yourself)</title>
    <link>https://vondraysanford.com/writing/2026-07-30-microsoft-s-three-layer-llm-routing-architecture-what-it-get.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-30-microsoft-s-three-layer-llm-routing-architecture-what-it-get.html</guid>
    <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Microsoft's reference architecture for routing AI agent traffic on AKS splits the problem into three clean layers. I've built and run AI services on Azure in production, so I went through it looking for what holds up and what it leaves you to solve on your own.</description>
  </item>
  <item>
    <title>DocQuery Phase 4: Shipping a Public RAG Demo That Doesn't Lie About You</title>
    <link>https://vondraysanford.com/writing/2026-07-29-docquery-phase-4-shipping-a-public-rag-demo-that-doesn-t-lie.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-29-docquery-phase-4-shipping-a-public-rag-demo-that-doesn-t-lie.html</guid>
    <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>DocQuery left my laptop. Turning a local RAG experiment into the live public Interview Vondray demo meant patching an SDK bug on the wire, chasing down an empty-answer mystery, and learning why corpus curation is a security decision.</description>
  </item>
  <item>
    <title>DocQuery Phase 3: The UX Layer That Makes a RAG Pipeline Feel Real</title>
    <link>https://vondraysanford.com/writing/2026-07-27-docquery-phase-3-the-ux-layer-that-makes-a-rag-pipeline-feel.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-27-docquery-phase-3-the-ux-layer-that-makes-a-rag-pipeline-feel.html</guid>
    <pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>Streaming citations, live provider switching, and a side-by-side AI race mode. Phase 3 took DocQuery from a working pipeline to something that feels good to use.</description>
  </item>
  <item>
    <title>DocQuery Phase 2: Benchmarking Three AI Stacks So You Don't Have To</title>
    <link>https://vondraysanford.com/writing/2026-07-25-docquery-phase-2-benchmarking-three-ai-stacks-so-you-don-t-h.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-25-docquery-phase-2-benchmarking-three-ai-stacks-so-you-don-t-h.html</guid>
    <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>I made DocQuery's entire AI stack swappable with a single config value, then raced a MacBook, an NVIDIA DGX Spark, and Azure against each other. The results overturned most of my assumptions about fast and cheap in local versus cloud inference.</description>
  </item>
  <item>
    <title>MCP Is the Real Story Behind AI Video Editors</title>
    <link>https://vondraysanford.com/writing/2026-07-23-mcp-is-the-real-story-behind-ai-video-editors-here-s-why-tha.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-23-mcp-is-the-real-story-behind-ai-video-editors-here-s-why-tha.html</guid>
    <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>A wave of AI video tools now list MCP support as a headline feature. The interesting part is the protocol underneath, because it's going to show up in a lot more places than video editing.</description>
  </item>
  <item>
    <title>DocQuery Phase 1: Building a Local RAG Pipeline in .NET (and the War Stories Nobody Warns You About)</title>
    <link>https://vondraysanford.com/writing/2026-07-20-docquery-phase-1-building-a-local-rag-pipeline-in-net-and-th.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-20-docquery-phase-1-building-a-local-rag-pipeline-in-net-and-th.html</guid>
    <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>I built a fully local RAG app in .NET 10 with Ollama and ChromaDB: upload documents, ask questions, get cited answers. This post covers the architecture, the decisions behind it, and the problems I hit that no tutorial bothers to mention.</description>
  </item>
  <item>
    <title>AI Agents That Manage Kubernetes: What SRE AgenticOps Actually Looks Like in Practice</title>
    <link>https://vondraysanford.com/writing/2026-07-14-ai-agents-that-manage-kubernetes-what-sre-agenticops-actuall.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-14-ai-agents-that-manage-kubernetes-what-sre-agenticops-actuall.html</guid>
    <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
    <category>AI</category>
    <description>AI-powered SRE agents for Kubernetes are picking up steam fast. I dug into what they can do today, where they fall short, and how much of your infrastructure you should let them touch.</description>
  </item>
  <item>
    <title>Apple Chose Google Cloud Over AWS and Azure (What Does That Actually Mean?)</title>
    <link>https://vondraysanford.com/writing/2026-07-03-apple-chose-google-cloud-over-aws-and-azure-here-s-what-that.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-07-03-apple-chose-google-cloud-over-aws-and-azure-here-s-what-that.html</guid>
    <pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate>
    <category>Infrastructure</category>
    <description>Apple just ran Private Cloud Compute on Google Cloud for the first time, on NVIDIA Blackwell GPUs with dual-vendor attestation. The architecture choices behind that move say a lot about where confidential computing is headed.</description>
  </item>
  <item>
    <title>First Post: What This Blog Is About and Why I'm Writing It</title>
    <link>https://vondraysanford.com/writing/2026-06-30-first-post-what-this-blog-is-about-and-why-i-m-writing-it.html</link>
    <guid isPermaLink="true">https://vondraysanford.com/writing/2026-06-30-first-post-what-this-blog-is-about-and-why-i-m-writing-it.html</guid>
    <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
    <category>Personal</category>
    <description>I'm Vondray Sanford, a software engineer with seven-plus years in enterprise systems. This blog is where I write up what I'm building and learning across .NET, AI engineering, and the infrastructure that keeps it all running.</description>
  </item>
</channel>
</rss>
