<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Vincent Borgers</title>
    <link>https://vincentborgers.nl/blog/</link>
    <description>Posts by Vincent Borgers about things he built and bugs he fixed.</description>
    <language>en</language>
    <item>
      <title>Why toString turned into an array in two Node.js HTTP adapters</title>
      <link>https://vincentborgers.nl/blog/why-tostring-became-an-array/</link>
      <guid>https://vincentborgers.nl/blog/why-tostring-became-an-array/</guid>
      <pubDate>Fri, 09 Oct 2026 09:00:00 GMT</pubDate>
      <description>A small parsing bug in the Hono and uWebSockets adapters of Inversify, and why the fix needed Object.hasOwn and Object.defineProperty.</description>
    </item>
    <item>
      <title>Self-hosting server-side Google Tag Manager with Docker Compose</title>
      <link>https://vincentborgers.nl/blog/self-hosting-server-side-google-tag-manager/</link>
      <guid>https://vincentborgers.nl/blog/self-hosting-server-side-google-tag-manager/</guid>
      <pubDate>Fri, 09 Oct 2026 09:00:00 GMT</pubDate>
      <description>How to run Google's server-side tagging server on your own Linux server, and why I wrote tagdock to do it for several sites.</description>
    </item>
    <item>
      <title>What I learned building MCP servers in Python</title>
      <link>https://vincentborgers.nl/blog/building-an-mcp-server-in-python/</link>
      <guid>https://vincentborgers.nl/blog/building-an-mcp-server-in-python/</guid>
      <pubDate>Fri, 09 Oct 2026 09:00:00 GMT</pubDate>
      <description>A small MCP server with the official Python SDK, and the habits that made my servers for marketing APIs safe for an AI assistant to use.</description>
    </item>
  </channel>
</rss>
