Blog

Technische Artikel, Tutorials und Gedanken zur Softwareentwicklung.

Mehrsprachigkeit mit Astro: i18n ohne Plugin

Wie dieses Portfolio zweisprachig wurde — mit Astros dateibasiertem Routing, einer zentralen Übersetzungsdatei und ohne i18n-Library.

Astroi18n

Dokumente automatisieren — von XML-Hölle zu Headless Browsern

Apache POI und OOXML waren jahrelang der Standard für die programmatische Dokumentenerstellung. Heute geht das eleganter — mit Puppeteer, HTML und CSS.

Node.jsJavaAutomatisierung

Identity Management mit Zitadel: Zentrale Authentifizierung für Self-Hosted Apps

Warum jede selbst gehostete Anwendung ein Identity Management braucht, welche Open-Source-Lösungen es gibt und wie ich Zitadel als zentrale Authentifizierung für drei Express-Apps implementiert habe.

OAuth 2.0Docker

19.000 Login-Versuche am Tag: SSH-Brute-Force in der Praxis

Was passiert, wenn ein neuer Server mit offenem Port 22 online geht. Echte Zahlen aus den Logs, eine Analyse der Angreifer und drei Gegenmaßnahmen, die sofort wirken.

Linux

Hinter den Kulissen: Infrastruktur und Architektur dieses Portfolios

Zwei Hetzner-Server, WireGuard VPN, Nginx Reverse Proxy, GitHub Actions und eine statische Astro-Seite. Wie die Infrastruktur hinter mathis-adler.dev aufgebaut ist und warum.

AstroWireGuardCI/CD

Ende-zu-Ende-verschlüsselte One-Time Secrets: Warum und wie

Wie man Geheimnisse sicher teilt, ohne dem Server zu vertrauen. Über Threat Modeling, URL-Fragmente als Schlüsseltransport und warum POST statt GET den entscheidenden Unterschied macht.

Cryptography

Warum öffentliche URL-Shortener ein Sicherheitsrisiko darstellen

Kurzlinks sind praktisch, aber sie öffnen Türen für Phishing, Tracking und Vendor Lock-In. Eine Analyse der Risiken und wie man es besser machen kann.

Node.js