<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>xebro Blog</title>
    <link>https://xebro.de/blog</link>
    <description>Praxisartikel zu Software-Entwicklung, DevOps, Security, CI/CD und API-Entwicklung.</description>
    <language>de-DE</language>
    <lastBuildDate>Tue, 26 May 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://xebro.de/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ollama-Tuning auf meinem Spark: lokale Coding-Modelle praxistauglich betreiben</title>
      <link>https://xebro.de/blog/ollama-tuning-auf-spark-lokale-coding-modelle</link>
      <guid isPermaLink="true">https://xebro.de/blog/ollama-tuning-auf-spark-lokale-coding-modelle</guid>
      <description>Wie ich lokale Coding-Modelle mit Ollama auf meinem Spark betreibe, Kontextgrößen begrenze und zwischen Daily-Driver und Qualitätsmodell unterscheide.</description>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Typsicherheit heute mit PHPStan und Psalm</title>
      <link>https://xebro.de/blog/typsicherheit-heute-mit-phpstan-und-psalm</link>
      <guid isPermaLink="true">https://xebro.de/blog/typsicherheit-heute-mit-phpstan-und-psalm</guid>
      <description>Wie ich in PHP-Projekten ohne native Generics mit PHPStan und Psalm verlässliche Typverträge aufbaue.</description>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Compile-time-only Generics: der realistische PHP-Kompromiss</title>
      <link>https://xebro.de/blog/compile-time-only-generics-der-realistische-php-kompromiss</link>
      <guid isPermaLink="true">https://xebro.de/blog/compile-time-only-generics-der-realistische-php-kompromiss</guid>
      <description>Warum ein compile-time-orientierter Ansatz für Generics in PHP ein sinnvoller Mittelweg zwischen Typsicherheit und Laufzeitperformance ist.</description>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Warum Union Types die Generic-Debatte so schwierig machen</title>
      <link>https://xebro.de/blog/warum-union-types-die-generic-debatte-so-schwierig-machen</link>
      <guid isPermaLink="true">https://xebro.de/blog/warum-union-types-die-generic-debatte-so-schwierig-machen</guid>
      <description>Warum die Kombination aus Union Types und Generics in PHP schnell teuer wird und wie ich in Projekten trotzdem typsicher bleibe.</description>
      <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Warum PHP keine nativen Generics hat</title>
      <link>https://xebro.de/blog/warum-php-keine-generics-hat</link>
      <guid isPermaLink="true">https://xebro.de/blog/warum-php-keine-generics-hat</guid>
      <description>Warum Generics in PHP bisher so schwer umzusetzen sind, welcher Kompromiss realistisch ist und wie ich heute trotzdem typsicher arbeite.</description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Warum Constraints wichtiger sind als kreative Prompts</title>
      <link>https://xebro.de/blog/warum-constraints-wichtiger-sind-als-kreative-prompts</link>
      <guid isPermaLink="true">https://xebro.de/blog/warum-constraints-wichtiger-sind-als-kreative-prompts</guid>
      <description>Wie ich Agentic Coding mit klaren Leitplanken nutze, damit KI reproduzierbare Ergebnisse liefert, statt gut klingender Zufallstreffer.</description>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>CrowdSec in der Praxis: kollektive Verteidigung</title>
      <link>https://xebro.de/blog/crowdsec-in-der-praxis-kollektive-verteidigung</link>
      <guid isPermaLink="true">https://xebro.de/blog/crowdsec-in-der-praxis-kollektive-verteidigung</guid>
      <description>Warum ich CrowdSec als Ergänzung zur Firewall nutze, um Angriffe früher zu erkennen und automatisiert zu blockieren.</description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Default Deny mit UFW: die 15-Minuten-Basis</title>
      <link>https://xebro.de/blog/default-deny-mit-ufw-die-15-minuten-basis</link>
      <guid isPermaLink="true">https://xebro.de/blog/default-deny-mit-ufw-die-15-minuten-basis</guid>
      <description>Wie ich einen Linux-Server mit UFW so starte, dass standardmäßig alles blockiert ist, was nicht explizit erlaubt wurde.</description>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Wenn Begriffe im Team verschiedene Bilder auslösen</title>
      <link>https://xebro.de/blog/wenn-begriffe-im-team-verschiedene-bilder-ausloesen</link>
      <guid isPermaLink="true">https://xebro.de/blog/wenn-begriffe-im-team-verschiedene-bilder-ausloesen</guid>
      <description>Warum Teams trotz gleicher Wörter aneinander vorbeireden und wie präzise Sprache Architekturentscheidungen beschleunigt.</description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Wann aus später ein jetzt wird</title>
      <link>https://xebro.de/blog/wann-aus-spaeter-ein-jetzt-wird</link>
      <guid isPermaLink="true">https://xebro.de/blog/wann-aus-spaeter-ein-jetzt-wird</guid>
      <description>Welche Signale mir zeigen, wann Architekturentscheidungen fällig sind, damit ein System stabil und beweglich bleibt.</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Die Stadt wächst mit ihrem Kontext</title>
      <link>https://xebro.de/blog/die-stadt-waechst-mit-ihrem-kontext</link>
      <guid isPermaLink="true">https://xebro.de/blog/die-stadt-waechst-mit-ihrem-kontext</guid>
      <description>Warum gute Architektur nicht am Reißbrett entsteht, sondern durch Entscheidungen zum letzten verantwortbaren Zeitpunkt.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Die Stadt als Software-Landkarte</title>
      <link>https://xebro.de/blog/stadt-als-software-landkarte</link>
      <guid isPermaLink="true">https://xebro.de/blog/stadt-als-software-landkarte</guid>
      <description>Ein Märchen über ein Softwareprojekt, in dem Burg, Tor, Wald und Spiegel zeigen, wie Architektur, Verantwortung und Businesslogik zusammengehören.</description>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Gute Software ist nicht nur Quellcode, sie erzählt eine Geschichte</title>
      <link>https://xebro.de/blog/gute-software-erzaehlt-eine-geschichte</link>
      <guid isPermaLink="true">https://xebro.de/blog/gute-software-erzaehlt-eine-geschichte</guid>
      <description>Guter Quelltext erzählt eine Geschichte und erzeugt Bilder im Kopf des Betrachters.</description>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>KI verstärkt, was da ist, und legt Schwächen offen</title>
      <link>https://xebro.de/blog/ki-deckt-organisationsprobleme-auf</link>
      <guid isPermaLink="true">https://xebro.de/blog/ki-deckt-organisationsprobleme-auf</guid>
      <description>Warum KI wie ein Brennglas wirkt, Probleme sichtbar macht und Strukturen unter Druck setzt.</description>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SSH härten: Schutz vor Brute-Force Angriffen</title>
      <link>https://xebro.de/blog/wenn-das-passwort-nicht-reicht</link>
      <guid isPermaLink="true">https://xebro.de/blog/wenn-das-passwort-nicht-reicht</guid>
      <description>SSH härten, Schlüsselpflicht durchsetzen und MFA sinnvoll ergänzen, damit Bots es möglichst schwer haben, mein System zu kompromittieren.</description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>direnv mit Homebrew installieren: Umgebungsvariablen und PHP-Versionen sauber steuern</title>
      <link>https://xebro.de/blog/direnv-vereinfacht-projekte</link>
      <guid isPermaLink="true">https://xebro.de/blog/direnv-vereinfacht-projekte</guid>
      <description>Wie direnv mit Homebrew im Entwickleralltag hilft, Umgebungsvariablen und unterschiedliche PHP-Versionen pro Projekt sauber zu verwalten.</description>
      <pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Advanced Intrusion Detection Environment (AIDE) einfach erklärt</title>
      <link>https://xebro.de/blog/advanced-intrusion-detection</link>
      <guid isPermaLink="true">https://xebro.de/blog/advanced-intrusion-detection</guid>
      <description>Wie AIDE als File Integrity Monitoring auf Linux-Servern Manipulationen sichtbar macht, mit Baseline, Hash-Vergleich und pragmatischen Setup-Tipps.</description>
      <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>KI liefert Code, wir liefern Ordnung, warum Review Pflicht ist</title>
      <link>https://xebro.de/blog/ki-liefert-code-wir-liefern-ordnung</link>
      <guid isPermaLink="true">https://xebro.de/blog/ki-liefert-code-wir-liefern-ordnung</guid>
      <description>Meine Gedanken zu KI und warum ich sie gerne nutze, aber totzdem nie zufrienden bin mit der Qualität. Ich zeige ein Beispiel, wie KI funktionierenden Code erzeugt und was ich nach dem Refactoring daraus gemacht habe.</description>
      <pubDate>Fri, 16 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Problem zuerst verstehen: bessere Fragen vor dem ersten Code</title>
      <link>https://xebro.de/blog/manager-serie-problem-verstehen</link>
      <guid isPermaLink="true">https://xebro.de/blog/manager-serie-problem-verstehen</guid>
      <description>Warum Software-Projekte im Management scheitern, wenn Problem, Ziel und Verantwortung unklar sind, und wie KI beim Strukturieren hilft.</description>
      <pubDate>Mon, 12 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Was ist Software-Entwicklung? Definition aus der Praxis</title>
      <link>https://xebro.de/blog/was-ist-software-development</link>
      <guid isPermaLink="true">https://xebro.de/blog/was-ist-software-development</guid>
      <description>Eine klare Definition von Software-Entwicklung, warum sie mehr als Programmieren ist und warum gute Entscheidungen nicht von KI allein kommen.</description>
      <pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Auf die Plätze fertig los</title>
      <link>https://xebro.de/blog/auf-die-plaetze-fertig-los</link>
      <guid isPermaLink="true">https://xebro.de/blog/auf-die-plaetze-fertig-los</guid>
      <description>Jetzt ist es soweit, wir haben auch ein Blog.</description>
      <pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
