Blog
Neuigkeiten, Infos und Tipps aus unserem Alltag
Wir erzählen aus unserem Alltag, nicht alles ist zu 100 Prozent ernst, und manchmal ist es einfach normal oder sogar ein bisschen langweilig. Genau das macht gute Software aus.

Monitoring mit Signal statt Rauschen
Wie ich Monitoring so aufsetze, dass aus Metriken klare Entscheidungen werden und Teams nicht in Alarmflut untergehen.

CI/CD ohne Stress: reproduzierbar ausrollen und sauber zurückrollen
Wie ich eine CI/CD-Pipeline so aufbaue, dass Deployments reproduzierbar sind, Rollbacks funktionieren und Releases nicht vom Zufall abhängen.

Vom Release zur stabilen Delivery: warum Testing die Basis ist
Warum ich bei Delivery-Stabilität immer mit Testing starte, welche Signale auf fehlende Testbasis hindeuten und wie ein pragmatischer Einstieg aussieht.

Praktischer Blueprint: typsichere Collections in PHP-Projekten
Wie ich in PHP-Teams einen praktikablen Standard für typsichere Collections einführe, mit klaren Regeln, CI-Gates und schrittweisem Rollout.

Welche Design-Patterns generische Lücken praktisch schließen
Wie ich mit Value Objects, Strategy, Adapter und Data Mapper in PHP typsicherer arbeite, auch ohne native Generics.

Ollama-Tuning auf meinem Spark: lokale Coding-Modelle praxistauglich betreiben
Wie ich lokale Coding-Modelle mit Ollama auf meinem Spark betreibe, Kontextgrößen begrenze und zwischen Daily-Driver und Qualitätsmodell unterscheide.

Typsicherheit heute mit PHPStan und Psalm
Wie ich in PHP-Projekten ohne native Generics mit PHPStan und Psalm verlässliche Typverträge aufbaue.

Compile-time-only Generics: der realistische PHP-Kompromiss
Warum ein compile-time-orientierter Ansatz für Generics in PHP ein sinnvoller Mittelweg zwischen Typsicherheit und Laufzeitperformance ist.

Warum Union Types die Generic-Debatte so schwierig machen
Warum die Kombination aus Union Types und Generics in PHP schnell teuer wird und wie ich in Projekten trotzdem typsicher bleibe.

Warum PHP keine nativen Generics hat
Warum Generics in PHP bisher so schwer umzusetzen sind, welcher Kompromiss realistisch ist und wie ich heute trotzdem typsicher arbeite.

Warum Constraints wichtiger sind als kreative Prompts
Wie ich Agentic Coding mit klaren Leitplanken nutze, damit KI reproduzierbare Ergebnisse liefert, statt gut klingender Zufallstreffer.

CrowdSec in der Praxis: kollektive Verteidigung
Warum ich CrowdSec als Ergänzung zur Firewall nutze, um Angriffe früher zu erkennen und automatisiert zu blockieren.

Default Deny mit UFW: die 15-Minuten-Basis
Wie ich einen Linux-Server mit UFW so starte, dass standardmäßig alles blockiert ist, was nicht explizit erlaubt wurde.

Wenn Begriffe im Team verschiedene Bilder auslösen
Warum Teams trotz gleicher Wörter aneinander vorbeireden und wie präzise Sprache Architekturentscheidungen beschleunigt.

Wann aus später ein jetzt wird
Welche Signale mir zeigen, wann Architekturentscheidungen fällig sind, damit ein System stabil und beweglich bleibt.

Die Stadt wächst mit ihrem Kontext
Warum gute Architektur nicht am Reißbrett entsteht, sondern durch Entscheidungen zum letzten verantwortbaren Zeitpunkt.

Die Stadt als Software-Landkarte
Ein Märchen über ein Softwareprojekt, in dem Burg, Tor, Wald und Spiegel zeigen, wie Architektur, Verantwortung und Businesslogik zusammengehören.

Gute Software ist nicht nur Quellcode, sie erzählt eine Geschichte
Guter Quelltext erzählt eine Geschichte und erzeugt Bilder im Kopf des Betrachters.

KI verstärkt, was da ist, und legt Schwächen offen
Warum KI wie ein Brennglas wirkt, Probleme sichtbar macht und Strukturen unter Druck setzt.

SSH härten: Schutz vor Brute-Force Angriffen
SSH härten, Schlüsselpflicht durchsetzen und MFA sinnvoll ergänzen, damit Bots es möglichst schwer haben, mein System zu kompromittieren.

direnv mit Homebrew installieren: Umgebungsvariablen und PHP-Versionen sauber steuern
Wie direnv mit Homebrew im Entwickleralltag hilft, Umgebungsvariablen und unterschiedliche PHP-Versionen pro Projekt sauber zu verwalten.

Advanced Intrusion Detection Environment (AIDE) einfach erklärt
Wie AIDE als File Integrity Monitoring auf Linux-Servern Manipulationen sichtbar macht, mit Baseline, Hash-Vergleich und pragmatischen Setup-Tipps.

KI liefert Code, wir liefern Ordnung, warum Review Pflicht ist
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.

Problem zuerst verstehen: bessere Fragen vor dem ersten Code
Warum Software-Projekte im Management scheitern, wenn Problem, Ziel und Verantwortung unklar sind, und wie KI beim Strukturieren hilft.

Was ist Software-Entwicklung? Definition aus der Praxis
Eine klare Definition von Software-Entwicklung, warum sie mehr als Programmieren ist und warum gute Entscheidungen nicht von KI allein kommen.

Auf die Plätze fertig los
Jetzt ist es soweit, wir haben auch ein Blog.