<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Ray&apos;s Lab</title><description>A public build journal for AI learning tools - essays, build logs, and notes from ongoing work.</description><link>https://blog.nhade.com/</link><item><title>This site has a feed</title><link>https://blog.nhade.com/writing/this-site-has-a-feed/</link><guid isPermaLink="true">https://blog.nhade.com/writing/this-site-has-a-feed/</guid><description>The site moved to blog.nhade.com in May but kept pointing at its old address. Fixed, and there is an RSS feed.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><category>note</category><category>Meta</category></item><item><title>Better Charts From AI Tools: A Starting-Point Workflow</title><link>https://blog.nhade.com/writing/better-charts-from-ai/</link><guid isPermaLink="true">https://blog.nhade.com/writing/better-charts-from-ai/</guid><description>I&apos;m not a data viz expert. Here are the prompt additions I use to get chart output past vanilla matplotlib, plus a recent experiment aligning visuals to my blog&apos;s style.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><category>essay</category><category>AI</category><category>Data Visualization</category><category>Charts</category><category>Workflow</category></item><item><title>Off the Free Tier: Rebuilding on Hetzner + Cloudflare</title><link>https://blog.nhade.com/writing/hetzner-cloudflare-migration/</link><guid isPermaLink="true">https://blog.nhade.com/writing/hetzner-cloudflare-migration/</guid><description>AWS EC2&apos;s free credits ran out. Here&apos;s the choice tree I walked, and the €4/mo stack I landed on.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>essay</category><category>Infrastructure</category><category>Hetzner</category><category>Cloudflare</category><category>Caddy</category></item><item><title>Shiori: Building a Personal RAG over Mistakes, Not Textbooks</title><link>https://blog.nhade.com/writing/shiori-personal-rag/</link><guid isPermaLink="true">https://blog.nhade.com/writing/shiori-personal-rag/</guid><description>Why retrieval over textbook grammar is mostly noise, and what works instead — embedding the learner&apos;s own history of wrong answers.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><category>essay</category><category>AI</category><category>RAG</category><category>Embeddings</category><category>Japanese</category><category>Python</category></item><item><title>Anti-Copilot: Building a Socratic AI Tutor from Scratch</title><link>https://blog.nhade.com/writing/anticopilot/</link><guid isPermaLink="true">https://blog.nhade.com/writing/anticopilot/</guid><description>Rethinking AI assistants by engineering a VS Code extension that uses spaced repetition to teach concepts instead of just autocompleting code.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><category>essay</category><category>AI</category><category>VS Code</category><category>FSRS</category><category>Frontend</category></item><item><title>Building Ray&apos;s Lab</title><link>https://blog.nhade.com/writing/building-the-lab/</link><guid isPermaLink="true">https://blog.nhade.com/writing/building-the-lab/</guid><description>Why I built this site, why I didn&apos;t write a single line of code, and what I learned from handing everything to AI agents.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><category>essay</category><category>AI</category><category>Meta</category></item></channel></rss>