<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>mgaebler.me — Blog</title>
    <link>https://mgaebler.me/de/blog/</link>
    <description>Technische Artikel und Tutorials.</description>
    <language>de-DE</language>
    <lastBuildDate>Tue, 02 Jun 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://mgaebler.me/feed.xml" rel="self" type="application/rss+xml" />
    <generator>generate-rss.js</generator>
    <item>
      <title>Auf der Jagd nach einem 250-%-CPU-Bug in einem Vite-Monorepo</title>
      <link>https://mgaebler.me/de/blog/hunting-a-250-percent-cpu-bug-vite-monorepo/</link>
      <guid isPermaLink="true">https://mgaebler.me/de/blog/hunting-a-250-percent-cpu-bug-vite-monorepo/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <description>Drei Vite-Dev-Server bei 250 % CPU auf einem im Leerlauf befindlichen Monorepo, hörbare Lüfter, Load Average bei 14. Die Lösung waren vier Zeilen Watcher-Konfiguration — aber erst methodisches Sammeln von Evidenz mit ps, lsof und sample zeigte, warum fsevents ertrank. Eine Geschichte über agentisches Debugging und den Verzicht aufs Raten.</description>
      <category>Vite</category>
      <category>Monorepo</category>
      <category>Performance</category>
      <category>Debugging</category>
      <category>Agentic Coding</category>
    </item>
    <item>
      <title>Wenn macOS Tahoe Nix zerlegt: Es ist nicht der Installer, es ist BTM</title>
      <link>https://mgaebler.me/de/blog/nix-macos-tahoe-btm-blocks-launchdaemons/</link>
      <guid isPermaLink="true">https://mgaebler.me/de/blog/nix-macos-tahoe-btm-blocks-launchdaemons/</guid>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <description>Eine vermeintlich kaputte Nix-Installation unter macOS Tahoe war weder kaputt noch ein Nix-Problem. Apples Background Task Management hat die LaunchDaemons still blockiert — und die Fehlermeldung des Installers verwies auf destruktive Befehle, die den Nix Store gelöscht hätten.</description>
      <category>Nix</category>
      <category>macOS</category>
      <category>LaunchDaemon</category>
      <category>Tahoe</category>
      <category>Debugging</category>
    </item>
    <item>
      <title>Wie devenv meinen AI-Coding-Workflow repariert hat</title>
      <link>https://mgaebler.me/de/blog/devenv-ai-coding-workflow/</link>
      <guid isPermaLink="true">https://mgaebler.me/de/blog/devenv-ai-coding-workflow/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <description>Ein fragmentiertes Dev-Setup hat meinen AI-Coding-Loop heimlich ausgebremst. Die Konsolidierung in eine einzige devenv.nix hat Claude Code zur autonomen Iterationsmaschine gemacht.</description>
      <category>devenv</category>
      <category>Nix</category>
      <category>AI</category>
      <category>Testing</category>
    </item>
    <item>
      <title>MCP OAuth mit Azure Entra ID und APIM — ein Realitätscheck</title>
      <link>https://mgaebler.me/de/blog/mcp-oauth-azure-entra-id-apim/</link>
      <guid isPermaLink="true">https://mgaebler.me/de/blog/mcp-oauth-azure-entra-id-apim/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <description>Ich wollte eine REST API über Azure APIM als MCP Tools bereitstellen, mit Entra ID OAuth. APIM hat funktioniert. Die Auth nicht. Hier ist, was ich herausgefunden habe.</description>
      <category>Azure</category>
      <category>MCP</category>
      <category>OAuth</category>
      <category>TypeScript</category>
    </item>
    <item>
      <title>Azure Static Web Apps: Custom Roles mit rolesSource und Hono</title>
      <link>https://mgaebler.me/de/blog/azure-swa-custom-roles-rolessource-hono/</link>
      <guid isPermaLink="true">https://mgaebler.me/de/blog/azure-swa-custom-roles-rolessource-hono/</guid>
      <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
      <description>Wie man Entra ID App-Rollen in Azure Static Web Apps verfügbar macht — und welche Stolperfallen dabei lauern.</description>
      <category>Azure</category>
      <category>Hono</category>
      <category>TypeScript</category>
    </item>
  </channel>
</rss>
