<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sourcier — Blog</title><description>Writing on software engineering, architecture, technical leadership, and lessons learned from 20+ years in the craft.</description><link>https://sourcier.uk/</link><language>en-gb</language><item><title>Typed content collections in Astro</title><link>https://sourcier.uk/blog/content-collections-astro/</link><guid isPermaLink="true">https://sourcier.uk/blog/content-collections-astro/</guid><description>How this blog uses Astro content collections with a Zod schema to validate every piece of frontmatter at build time — including typed images, optional fields, and the draft flag pattern that keeps work-in-progress posts off the live site.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Keeping your zsh config out of Copilot&apos;s terminals</title><link>https://sourcier.uk/blog/vscode-copilot-terminal-zsh/</link><guid isPermaLink="true">https://sourcier.uk/blog/vscode-copilot-terminal-zsh/</guid><description>GitHub Copilot agent terminals are non-interactive and don&apos;t need your Powerlevel10k prompt or aliases — but a naive guard breaks your regular VS Code terminal too. Here&apos;s the fix: a custom env var that only VS Code injects into user-opened terminals.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Choosing the tech stack</title><link>https://sourcier.uk/blog/choosing-the-tech-stack/</link><guid isPermaLink="true">https://sourcier.uk/blog/choosing-the-tech-stack/</guid><description>The full reasoning behind the tech stack for this blog: Astro for static output and content collections, Bulma for a no-runtime CSS foundation, Netlify for deployment and serverless functions, and TypeScript throughout.</description><pubDate>Mon, 30 Mar 2026 00:05:00 GMT</pubDate></item><item><title>How this blog was built</title><link>https://sourcier.uk/blog/how-this-blog-was-built/</link><guid isPermaLink="true">https://sourcier.uk/blog/how-this-blog-was-built/</guid><description>A new series documenting the technical and design decisions behind this blog — from choosing Astro and setting up typed content collections, to building dark mode, a comment system, a mailing list, and everything in between.</description><pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate></item><item><title>I Should Start a Blog</title><link>https://sourcier.uk/blog/i-should-start-a-blog/</link><guid isPermaLink="true">https://sourcier.uk/blog/i-should-start-a-blog/</guid><description>After years of working in software, I&apos;ve decided to stop hoarding what I know and start sharing it properly. This is the story of why this blog exists, and what I actually want to do with it.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Markdown Test</title><link>https://sourcier.uk/blog/markdown-test/</link><guid isPermaLink="true">https://sourcier.uk/blog/markdown-test/</guid><description>Markdown syntax reference testing headings, emphasis, lists, code blocks, tables, links, and more.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>