Porträt von Oliver Maurhart

Oliver Maurhart

Software-Ingenieur. Lehrer. Forscher.

Ich baue Software seit 1988 – Turbo Pascal auf einem Bankrechner, C++ in Quantenkryptografie-Netzen, heute TypeScript im Browser.

Uses

Womit ich u. a. arbeite – Stand September 2026.

Rechner und System

  • Arch Linux

    Rolling Release, seit Jahren.

  • KDE Plasma auf Wayland

    Der Desktop auf Arch Linux, unter Wayland statt X11.

  • zsh

    Mit einem Bootstrap-Skript, das die ganze Shell-Umgebung einrichtet.

Editor und Sprache

  • VS Code

    Der Editor für Code, Markdown und Konfiguration.

  • nvim

    Neovim, der Editor im Terminal.

  • Biome

    Formatter und Linter in einem; ESLint und Prettier sind Geschichte.

  • TypeScript

    Im Strict Mode, die Typen aus Zod-Schemas abgeleitet.

  • Bun

    Laufzeit, Paketmanager und Test-Runner – ein Werkzeug.

Web

  • TanStack Start

    Diese Seite ist damit gebaut, vollständig vorgerendert.

  • React

    Die Komponenten dieser Seite, zu statischem HTML gerendert.

  • Tailwind CSS

    Version 4 über das Vite-Plugin, ohne PostCSS-Konfiguration.

  • Playwright

    End-to-End-Tests gegen den Production-Build, auch ohne JavaScript.

  • Zod

    Ein Schema für alle Daten; die Typen leite ich daraus ab.

Daten

  • PostgreSQL

    Relationale Datenbank, auch im INSY-Unterricht.

  • MariaDB

    Relationale Datenbank, ebenfalls im INSY-Unterricht.

  • Prisma

    ORM für TypeScript: das Schema als Quelle für Migrationen und Typen.

  • Redis

    Schlüssel-Wert-Speicher für Cache und Sessions.

Betrieb

  • Docker und Compose

    Jeder Dienst als Image, mehrere Dienste per Compose.

  • Traefik

    Reverse Proxy, gesteuert über Container-Labels.

  • Dokploy

    Deployment per Webhook aus der GitLab-Pipeline.

  • GitLab CI

    Prüfen, bauen, taggen und ausliefern in einer Pipeline.

  • Grafana und Loki

    Metriken und Logs, selbst gehostet mit Docker Compose.

  • Hetzner

    Der Lieblingsplatz für die Schüler:innen-VPS.

  • age

    Secrets werden verschlüsselt eingecheckt, nie im Klartext.

  • rclone

    OneDrive und SharePoint unter Linux – siehe rclone-cloud-sync.

KI beim Programmieren

  • Claude Code

    Agent im Terminal, gebunden an die Regeln im Repository.

  • OpenCode

    Agent im Terminal, mit lokalen Modellen über llama.cpp.

  • llama.cpp

    Lokale Modelle für Plan- und Build-Modus.

Zeit

  • Kimai

    Zeiterfassung, selbst gehostet.