<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Debugging on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
    <link>https://homelab-guide.de/tags/debugging/</link>
    <description>Recent content in Debugging on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</description>
    <image>
      <title>Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
      <url>https://homelab-guide.de/images/homelab-guide-og.png</url>
      <link>https://homelab-guide.de/images/homelab-guide-og.png</link>
    </image>
    <generator>Hugo -- 0.159.1</generator>
    <language>de</language>
    <lastBuildDate>Fri, 27 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab-guide.de/tags/debugging/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>pfSense PHP-Falle: disabled:&#39;&#39; deaktiviert deine Firewall-Regel lautlos</title>
      <link>https://homelab-guide.de/posts/pfsense-php-falle-disabled-deaktiviert-deine-firewall-regel-lautlos/</link>
      <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-php-falle-disabled-deaktiviert-deine-firewall-regel-lautlos/</guid>
      <description>Firewall-Regel via PHP in config.xml geschrieben, filter_configure() aufgerufen, pf zeigt nichts. Kein Fehler, keine Warnung. Der Grund: ein leerer PHP-String im &amp;lsquo;disabled&amp;rsquo;-Key. Ein isset()-Gotcha das Stunden kostet.</description>
    </item>
    <item>
      <title>Python ldap3: invalidCredentials obwohl das Passwort stimmt</title>
      <link>https://homelab-guide.de/posts/python-ldap3-invalidcredentials-obwohl-das-passwort-stimmt/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/python-ldap3-invalidcredentials-obwohl-das-passwort-stimmt/</guid>
      <description>ldapwhoami bindet erfolgreich, Python ldap3 liefert invalidCredentials — mit identischen Credentials. Die Ursache: Sonderzeichen (@, !) im Passwort. libldap überträgt sie korrekt, ldap3 nicht.</description>
    </item>
    <item>
      <title>JavaScript Smooth-Scroll: Die offsetTop-Falle bei verschachtelten Elementen</title>
      <link>https://homelab-guide.de/posts/javascript-smooth-scroll-die-offsettop-falle-bei-verschachtelten-elementen/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/javascript-smooth-scroll-die-offsettop-falle-bei-verschachtelten-elementen/</guid>
      <description>Du baust einen eigenen Smooth-Scroll-Handler und er funktioniert perfekt – bis er es nicht tut. Anker-Links auf tief verschachtelte Elemente scrollen nach ganz oben statt zum Ziel. Die Ursache: &lt;code&gt;offsetTop&lt;/code&gt; lügt dich an.</description>
    </item>
    <item>
      <title>PHPMailer SMTP auth schlägt fehl, curl geht — der `!`-Passwort-Trick</title>
      <link>https://homelab-guide.de/posts/phpmailer-smtp-auth-schl%C3%A4gt-fehl-curl-geht-der-passwort-trick/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/phpmailer-smtp-auth-schl%C3%A4gt-fehl-curl-geht-der-passwort-trick/</guid>
      <description>PHPMailer kann sich nicht per SMTP authentifizieren, obwohl curl mit denselben Credentials funktioniert. Die überraschende Ursache: Bash-History-Expansion verwandelt &lt;code&gt;!&lt;/code&gt; heimlich in &lt;code&gt;\!&lt;/code&gt; — und PHP kennt diesen Trick nicht.</description>
    </item>
    <item>
      <title>Python: {{ }} außerhalb von f-Strings generiert keinen Escape — ein stiller Code-Bug</title>
      <link>https://homelab-guide.de/posts/python-au%C3%9Ferhalb-von-f-strings-generiert-keinen-escape-ein-stiller-code-bug/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/python-au%C3%9Ferhalb-von-f-strings-generiert-keinen-escape-ein-stiller-code-bug/</guid>
      <description>Ein Python-Script generiert Ruby-Code mit Blöcken. Manche Strings sind f-Strings, manche nicht. {{ }} sollte zu { } werden — tut es aber nur in f-Strings. In normalen Strings bleiben {{ }} literal. Das erzeugt ungültiges Ruby, Python wirft keinen Fehler, und das Programm schlägt still fehl.</description>
    </item>
    <item>
      <title>CSS transform:scale() und Überlappungen – drei falsche Diagnosen bis zum Fix</title>
      <link>https://homelab-guide.de/posts/css-transformscale-und-%C3%BCberlappungen-drei-falsche-diagnosen-bis-zum-fix/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/css-transformscale-und-%C3%BCberlappungen-drei-falsche-diagnosen-bis-zum-fix/</guid>
      <description>Eine skalierte CSS-Card überlappt den nächsten Abschnitt. z-index hilft nicht, padding auch nicht. Warum margin-bottom der einzige echte Fix ist – und was transform:scale() eigentlich mit dem DOM macht.</description>
    </item>
    <item>
      <title>data-i18n und textContent: Warum deine Spans spurlos verschwinden</title>
      <link>https://homelab-guide.de/posts/data-i18n-und-textcontent-warum-deine-spans-spurlos-verschwinden/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/data-i18n-und-textcontent-warum-deine-spans-spurlos-verschwinden/</guid>
      <description>Du baust eine hübsche Wortmarke mit verschiedenen Spans, aber nach dem Laden der Seite sind die Spans weg. Schuld ist ein einziger Zeile in deiner i18n-Library: element.textContent = translation. Hier ist warum – und wie du es löst.</description>
    </item>
    <item>
      <title>CalDAV in Python: Warum deine Query 63 Events zurückgibt, obwohl nur eins heute stattfindet</title>
      <link>https://homelab-guide.de/posts/caldav-in-python-warum-deine-query-63-events-zur%C3%BCckgibt-obwohl-nur-eins-heute-stattfindet/</link>
      <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/caldav-in-python-warum-deine-query-63-events-zur%C3%BCckgibt-obwohl-nur-eins-heute-stattfindet/</guid>
      <description>CalDAV gibt bei wiederkehrenden Terminen ALLE Events zurück, nicht nur die heutigen. Warum DTSTART dich belügt und wie du RRULE mit dateutil richtig auswertest.</description>
    </item>
  </channel>
</rss>
