diff --git a/knowledge/projects.md b/knowledge/projects.md index 5aa7dd1..d609541 100644 --- a/knowledge/projects.md +++ b/knowledge/projects.md @@ -1,3 +1,83 @@ # Inhalt Enthält alle Projekte/Kontexte in denen ich schon tätig war. -Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den Herausforderungen des Projektes und den verwendeten Lösungen. \ No newline at end of file +Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den Herausforderungen des Projektes und den verwendeten Lösungen. + +## Private Infrastruktur- und Backup-Automatisierung + +- Zeitraum: November 2018 bis Mai 2026, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `lokale-scripte`. +- Kontext: Sammlung eigener Shell-, Batch- und PowerShell-Skripte zur Administration von Linux-, Server- und Arbeitsplatzumgebungen. +- Herausforderungen: Zuverlässige Sicherung verteilter Daten, Redundanz durch externe Datenträger, plattformübergreifende Backup-Abläufe und Ausschluss nicht relevanter Daten wie Caches oder Papierkörbe. +- Lösungen: Restic-Backups über SFTP; rsync-basierte Synchronisation; automatisierte Offsite-Backups; Geräteerkennung über Labels und UUIDs; VeraCrypt-gestützte Sicherungen unter Windows mit Robocopy; Wiederherstellungs- und Hilfsskripte. + +## Nextcloud-Backup und Betriebsautomatisierung + +- Zeitraum: März 2020 bis Mai 2026, belegt durch eigene Commits im Repository. +- Quelle: `lokale-scripte/linux/rsync-nextcloud/` und `lokale-scripte/boogie/`. +- Kontext: Automatisierung der Sicherung und Wartung eigener Nextcloud-Instanzen. +- Herausforderungen: Konsistente Sicherung einer laufenden Nextcloud-Instanz einschließlich Datenbanken; Zugriff auf Daten in Container- beziehungsweise Serverumgebungen; passwortlose und automatisierbare Serverkommunikation. +- Lösungen: Umschalten des Nextcloud-Wartungsmodus während des Backups; rsync über SSH mit dediziertem Schlüssel; PHP-gestützte Datenbank-Dumps und Archivierung; Berechtigungsanpassungen nach der Synchronisation; Skripte für Nextcloud-Dateiscans und Aufräumarbeiten. + +## PhotoPrism-Indexierungsautomatisierung + +- Zeitraum: Oktober 2025 bis Januar 2026, belegt durch eigene Commits im Repository. +- Quelle: `lokale-scripte/bfds/root/photoprism-auto-index.sh`. +- Kontext: Automatisierte, cron-taugliche Indexierung einer PhotoPrism-Installation in Docker. +- Herausforderungen: Vermeidung paralleler Indexierungsläufe, zuverlässiges Aufräumen bei Fehlern oder Abbrüchen und begrenztes Log-Wachstum. +- Lösungen: Sperrdatei mit Ablaufzeit; Signalbehandlung für `EXIT`, `INT`, `TERM` und `ERR`; zeitgestempelte Protokollierung und Begrenzung der Logdateigröße; Ausführung des PhotoPrism-Kommandos über `docker exec`. + +## MediaWiki-zu-Obsidian-Migration + +- Zeitraum: August bis Oktober 2024, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `ScrapeMediawiki`. +- Kontext: Python-Werkzeug zum vollständigen Abruf eines MediaWiki und zur Ablage der Inhalte als Markdown für Obsidian. +- Herausforderungen: Vollständiger Abruf paginierter Wiki-Inhalte, Umwandlung von HTML und MediaWiki-Links in Markdown, Übernahme von Bildern und Revisionsinformationen sowie Abbildung von Seitenhierarchien. +- Lösungen: Authentifizierte Abfrage der MediaWiki-API mit Fortsetzungsmarken; HTML-zu-Markdown-Konvertierung; Ablage von Seiten in Verzeichnissen anhand ihrer Titel; Download und Verlinkung von Bildern; Erzeugung eines Inhaltsverzeichnisses und von Metadaten zu Kategorien, Links und Revisionen; interaktive Nachbearbeitung von Wiki-Links. + +## Obsidian-Backup mit rsync und Git + +- Zeitraum: März 2026, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `obsidian-backup`. +- Kontext: Konfigurationsgesteuertes Backup eines Obsidian-Vaults auf einem TrueNAS-Server mit Dateisynchronisation und versionsierter Historie. +- Herausforderungen: Portabler, sicherer Zugriff auf entfernte Daten; Vermeidung leerer Backup-Commits; reproduzierbare Einrichtung ohne Zugangsdaten im Skript. +- Lösungen: Umgebungsdatei für Quelle, Ziel, SSH-Konfiguration und Commit-Präfix; Validierung der Konfiguration; rsync über SSH mit Schlüssel oder benutzerdefiniertem Remote-Shell-Kommando; automatische Initialisierung eines Git-Repositorys; Commit nur bei tatsächlich geänderten Daten. + +## Deklarative NixOS-Heimserver-Konfiguration + +- Zeitraum: Januar bis November 2024, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `bfds-configuration.nix`. +- Kontext: Modulare, deklarative Konfiguration eines NixOS-Servers für Dateiablage, private Cloud, Speicherverwaltung, Fernzugriff und Systemadministration. +- Herausforderungen: Integration mehrerer Infrastrukturservices mit konsistenten Netzwerk-, Speicher- und Sicherheitsvorgaben; Bereitstellung von Dateiablagen für unterschiedliche Clients; automatisierbarer Betrieb und Upgrade-Prozess. +- Lösungen: Aufteilung der NixOS-Konfiguration in eigenständige Module; Nextcloud mit PostgreSQL, nginx, HTTPS und ACME-Zertifikaten; ZFS-Datasets für die Dateiablage; Samba-Freigaben mit SMB2/SMB3 und erzwungener Signatur; Tailscale, OpenSSH und Cockpit für Fernzugriff und Administration; systemd-Service und -Timer für automatisierte Backup-Ausführung sowie automatische System-Upgrades. + +## Website für den Fuß- und Radentscheid Dresden + +- Zeitraum: März bis Juli 2022, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `fuss-und-radentscheid-dresden`. +- Kontext: Statische Website einer Dresdner Bürgerinitiative für sichere, klima- und fußverkehrsfreundliche Mobilität. +- Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux. +- Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux. + +## WLAN-gesteuerter LED-Rahmen + +- Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `VRKeting-LED-Rahmen`. +- Kontext: Entwicklung eines ESP8266-basierten LED-Rahmens mit browserbasierter Steuerung von Farbe und Lichteffekten. +- Herausforderungen: Ansteuerung adressierbarer LEDs, Parametrisierung von Farben und Effekten über ein Netzwerk sowie Trennung von Websteuerung und LED-Logik. +- Lösungen: ESP8266-Firmware mit WLAN-Verbindung und HTTP-Routen; eingebettete HTML-/JavaScript-Bedienoberfläche; C++-Klassen zur Kapselung der LED-Ansteuerung und von Effekten wie Farbwechsel, Lauflicht und Regenbogen; Anbindung eines 80 LEDs umfassenden WS2811/WS2812-kompatiblen Streifens über die Adafruit-NeoPixel-Bibliothek. + +## Rust-Ratespiel + +- Zeitraum: Oktober 2018, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `rust_guessing_game`. +- Kontext: Konsolenbasiertes Lernprojekt in Rust. +- Herausforderungen: Einlesen und Validieren von Nutzereingaben sowie Steuerung eines wiederholten Spielablaufs. +- Lösungen: Erzeugung einer Zufallszahl mit dem Crate `rand`; Verarbeitung von Standardeingaben; Umwandlung in einen vorzeichenlosen Integer mit `match`-basierter Fehlerbehandlung; Vergleich der Werte über `Ordering`; Schleife bis zum korrekten Tipp; Cargo-Konfiguration und VS-Code-Task für `cargo run`. + +## Threetris: 3D-Falling-Block-Prototyp + +- Zeitraum: November 2018, belegt durch eigene Commits im Repository. +- Quelle: lokales Git-Repository `threetris`. +- Kontext: Früher 3D-Prototyp eines Falling-Block-Spiels in Rust. +- Herausforderungen: Aufbau einer 3D-Szene, zeitgesteuerte Bewegung eines Spielsteins, Verarbeitung von Gamepad-Eingaben und Begrenzung der Bewegung auf das Spielfeld. +- Lösungen: 3D-Fenster, Kamera, Plattform und Würfel mit `kiss3d`; Zustandsmodell über eine `BrickPos`-Struktur; zeitgesteuertes Fallen mit `Instant` und `Duration`; Gamepad-Abfrage über `stick`; Begrenzung der X-, Y- und Z-Koordinaten durch eine eigene Funktion; erneutes Erzeugen eines Würfels beim Erreichen des Spielfeldbodens. \ No newline at end of file diff --git a/knowledge/roles.md b/knowledge/roles.md index 0e6cfe1..1e46339 100644 --- a/knowledge/roles.md +++ b/knowledge/roles.md @@ -3,6 +3,18 @@ Enthält alle Rollen in denen ich schon Tätig war ## Berufliche Rollen +### Systemadministrator und Entwickler für private Infrastruktur + +- Kontext: Eigene Infrastruktur-, Automatisierungs- und Datenmigrationsprojekte in den Repositories `lokale-scripte`, `ScrapeMediawiki` und `obsidian-backup`. +- Zeitraum: November 2018 bis Mai 2026, belegt durch eigene Commits. +- Tätigkeiten: Entwicklung und Pflege von Skripten für Backups, Server- und Client-Wartung, Nextcloud-Betrieb, Datenbank-Sicherungen, verschlüsselte Offsite-Sicherungen und Docker-basierte Automatisierung; Entwicklung eines Python-Werkzeugs zur Migration von MediaWiki-Inhalten nach Obsidian; modulare, deklarative Konfiguration eines NixOS-Servers mit Speicher-, Datei-, Cloud- und Fernzugriffsdiensten. + +### Embedded-Softwareentwicklung + +- Kontext: Privates Projekt `VRKeting-LED-Rahmen`. +- Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits. +- Tätigkeiten: Entwicklung von ESP8266-Firmware zur WLAN- und HTTP-gesteuerten Ansteuerung adressierbarer LEDs; Strukturierung der LED-Logik in C++-Klassen; Implementierung von Farb- und Animationseffekten sowie einer eingebetteten Web-Bedienoberfläche. + ### AR/VR Developer und Unity Software Engineer - Unternehmen: vrbits GmbH @@ -40,6 +52,12 @@ Enthält alle Rollen in denen ich schon Tätig war ## Engagement und Wissensvermittlung +### Ehrenamtliche Website-Entwicklung + +- Organisation: Fuß- und Radentscheid Dresden. +- Zeitraum: März bis Juli 2022, belegt durch eigene Commits im Repository `fuss-und-radentscheid-dresden`. +- Tätigkeiten: Weiterentwicklung einer statischen Jekyll-Website; Implementierung und Gestaltung wiederverwendbarer Kartenlayouts; Anpassung von Navigation, Footer, Kontakt- und Social-Media-Darstellung; Dokumentation der lokalen Entwicklungsumgebung. + ### Mentor und Jury-Mitglied - Organisation: Jugend hackt Dresden diff --git a/knowledge/technologies.md b/knowledge/technologies.md index a14da22..e6e4cd4 100644 --- a/knowledge/technologies.md +++ b/knowledge/technologies.md @@ -24,21 +24,69 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom ### Rust -- Komplexität: Technische Grundlagen mit praktischer Anwendung. -- Einsatz: Kleines privates 3D-Projekt. -- Kontext: private Entwicklung. +- Komplexität: Grundlagen der Konsolen- und 3D-Anwendungsentwicklung mit Eingabeverarbeitung, Kontrollfluss, zeitgesteuerter Bewegung und Zustandsverwaltung. +- Einsatz: Zufallszahlenerzeugung mit `rand`, Einlesen von Standardeingaben, Typumwandlung mit `match`-basierter Fehlerbehandlung und Vergleich über `Ordering`; 3D-Spielprototyp mit Spielfeldgrenzen, fallenden Spielsteinen und Gamepad-Eingaben. +- Projekte: Rust-Ratespiel in `rust_guessing_game` (Oktober 2018) und Threetris in `threetris` (November 2018), jeweils durch eigene Commits belegt. + +### kiss3d, nalgebra und stick + +- Komplexität: Aufbau eines interaktiven 3D-Spielprototyps mit Rendering, mathematischer Positionierung und Gamepad-Steuerung. +- Einsatz: 3D-Fenster, Kamera, Plattform und Würfel mit `kiss3d`; Punkte und Translationen mit `nalgebra`; Abfrage von Gamepad-Eingaben mit `stick`. +- Projekt: Threetris in `threetris`, belegt durch eigene Commits im November 2018. ### Python -- Komplexität: Ergänzende Programmiersprache in der Softwareentwicklung. -- Einsatz: Allgemeine Softwareentwicklung. -- Kontext: berufliche und private Weiterentwicklung. +- Komplexität: Entwicklung eines konfigurationsgesteuerten Migrationswerkzeugs mit API-Anbindung, Datenkonvertierung und Dateiverarbeitung. +- Einsatz: Abruf eines MediaWiki über dessen API, HTML-zu-Markdown-Konvertierung, Download von Bildern, Erzeugung von Metadaten und interaktive Link-Konvertierung. +- Projekt: MediaWiki-zu-Obsidian-Migration in `ScrapeMediawiki`, belegt durch eigene Commits von August bis Oktober 2024. + +### MediaWiki-API, Requests, Beautiful Soup und html2text + +- Komplexität: Authentifizierte API-Integration und automatisierte Inhaltsmigration. +- Einsatz: Paginierter Abruf aller Wiki-Seiten; Login über Token; Auswertung von Kategorien, internen und externen Links, Bildern und Revisionen; Konvertierung von HTML nach Markdown. +- Projekt: MediaWiki-zu-Obsidian-Migration in `ScrapeMediawiki`, belegt durch eigene Commits von August bis Oktober 2024. + +### Obsidian und Markdown + +- Komplexität: Datenmigration und versionsierte Sicherung von Wissensdaten. +- Einsatz: Konvertierung von MediaWiki-Inhalten nach Markdown für Obsidian; automatisiertes Backup eines Obsidian-Vaults. +- Projekte: `ScrapeMediawiki` (August bis Oktober 2024) und `obsidian-backup` (März 2026), belegt durch eigene Commits. + +### Jekyll und Liquid + +- Komplexität: Erweiterung einer statischen Website um wiederverwendbare, datengetriebene Seitenelemente. +- Einsatz: Erstellung eines Full-Width-Kartenlayouts und Einbindung von Karten über Liquid-Templates; Pflege von Seiten mit YAML-Front-Matter und Markdown. +- Projekt: Website für den Fuß- und Radentscheid Dresden in `fuss-und-radentscheid-dresden`, belegt durch eigene Commits von März bis Juli 2022. + +### Ruby und Bundler + +- Komplexität: Lokale Build- und Entwicklungsumgebung für eine statische Website unter Windows und Linux. +- Einsatz: Gem-basierte Abhängigkeiten, lokale Bundler-Konfiguration und Dokumentation der Ausführung mit `bundle exec jekyll serve`. +- Projekt: Website für den Fuß- und Radentscheid Dresden in `fuss-und-radentscheid-dresden`, belegt durch eigene Commits im März und Mai 2022. + +### Sass + +- Komplexität: Responsive Komponenten- und Seiten-Styles innerhalb eines bestehenden Jekyll-Themes. +- Einsatz: Anpassung von Kartenüberschriften, Kartenlayout, Full-Width-Darstellung, Kontaktbereich, Footer und projektspezifischem Farbschema. +- Projekt: Website für den Fuß- und Radentscheid Dresden in `fuss-und-radentscheid-dresden`, belegt durch eigene Commits im Mai und Juli 2022. ### Arduino C -- Komplexität: Grundkenntnisse. -- Einsatz: Im Lebenslauf als Programmiersprache aufgeführt. -- Kontext: nicht weiter spezifiziert. +- Komplexität: Firmware-Entwicklung mit Klassenabstraktion, Hardware-Ansteuerung und Netzwerkkommunikation. +- Einsatz: ESP8266-Firmware für einen WLAN-gesteuerten LED-Rahmen; Initialisierung und Ansteuerung eines adressierbaren LED-Streifens sowie HTTP-Routen zur Steuerung von Farben und Effekten. +- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023. + +### ESP8266, ESPAsyncTCP und ESPAsyncWebServer + +- Komplexität: WLAN- und HTTP-Anbindung eines Mikrocontrollers. +- Einsatz: WLAN-Verbindung, asynchroner HTTP-Server auf Port 80 sowie GET-Routen für die Weboberfläche, direkte Farbsteuerung und Regenbogeneffekt. +- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023. + +### Adafruit NeoPixel und WS2811/WS2812 + +- Komplexität: Einzelpixelsteuerung und Animation eines adressierbaren LED-Streifens. +- Einsatz: Initialisierung eines 80 LEDs umfassenden Streifens, Helligkeitssteuerung, RGB-Farbwerte und Effekte wie Farbwechsel, Lauflicht und Regenbogen. +- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023. ## Web, E-Commerce und Daten @@ -52,7 +100,14 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom - Komplexität: Webentwicklung mit responsiven Benutzeroberflächen. - Einsatz: Entwicklung von Websites und Online-Shops; Responsive Design und Mobile First. -- Kontext: nebenberufliche Webprojekte, 2012 bis 2017. +- Zusätzlicher Einsatz: Eingebettete HTML- und CSS-Bedienoberfläche für die Steuerung eines LED-Rahmens im Browser. +- Kontext: nebenberufliche Webprojekte, 2012 bis 2017, sowie WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, September 2022 bis Januar 2023. + +### JavaScript und XMLHttpRequest + +- Komplexität: Browserseitige Steuerung eines vernetzten Hardwaregeräts. +- Einsatz: Auslösen parameterisierter HTTP-GET-Anfragen zur Auswahl von LED-Programmen, Farben und Effektgeschwindigkeit. +- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023. ### Node.js, React und Vue.js @@ -86,6 +141,80 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom - Einsatz: IT-Support, Systemadministration und Infrastrukturarbeit. - Kontext: MAGIX Development GmbH, selbstständige Projekte sowie aktuelle Softwareentwicklung. - Systeme: Debian-Server, Fedora im privaten Einsatz, NixOS, FreeBSD und CentOS. +- Zusätzlicher Einsatz: Eigene Shell-Automatisierung für Backups, Serverwartung und PhotoPrism-Indexierung in Docker. +- Projekt: `lokale-scripte`, November 2018 bis Mai 2026. + +### NixOS und Nix + +- Komplexität: Modulare, deklarative Konfiguration eines Mehrzweckservers. +- Einsatz: Aufteilung der Systemkonfiguration in Nix-Module für Nutzer, Speicher, Samba, Nextcloud, Tailscale, Cockpit, VeraCrypt und systemnahe Programme; automatische System-Upgrades. +- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits von Januar bis November 2024. + +### systemd + +- Komplexität: Definition und Terminierung systemnaher Dienste. +- Einsatz: Service und stündlicher Timer für ein rsync-basiertes Backup sowie einmaliger Dienst zur Konfiguration der Festplatten-Energieverwaltung beim Systemstart. +- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits von April bis November 2024. + +### ZFS + +- Komplexität: Verwaltung mehrerer Storage-Datasets auf einem NixOS-Server. +- Einsatz: Einbindung eines ZFS-Pools und separater Datasets für persönliche und gemeinsam genutzte Dateiablagen. +- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits im Jahr 2024. + +### Samba und SMB + +- Komplexität: Bereitstellung von Netzwerkfreigaben für heterogene Client-Systeme. +- Einsatz: Konfiguration mehrerer Freigaben mit Berechtigungen; SMB2/SMB3-Protokollvorgaben, SMB-Signierung, Firewall-Freigaben und Windows-Netzwerkerkennung. +- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits von Januar bis November 2024. + +### nginx, ACME und Let's Encrypt + +- Komplexität: HTTPS-Bereitstellung und automatisierte Zertifikatsverwaltung für einen Dienst. +- Einsatz: nginx Virtual Host mit HTTPS-Erzwingung und ACME-Zertifikatsautomatisierung für Nextcloud. +- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits im August 2024. + +### Tailscale und Cockpit + +- Komplexität: Fernzugriff und webbasierte Serveradministration. +- Einsatz: Aktivierung des Tailscale-Dienstes sowie Bereitstellung der Cockpit-Verwaltungsoberfläche. +- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits im Januar und November 2024. + +### Restic + +- Komplexität: Automatisierte, verschlüsselte Backup- und Wiederherstellungsabläufe. +- Einsatz: Sicherung über SFTP, Ausschlusslisten für nicht relevante Daten sowie Skripte für Backup und Wiederherstellung. +- Projekt: Private Infrastruktur- und Backup-Automatisierung in `lokale-scripte`, belegt durch eigene Commits von November 2021 bis Juli 2022. + +### rsync und SSH + +- Komplexität: Automatisierte, serverübergreifende Dateisynchronisation. +- Einsatz: Nextcloud-Backups über SSH mit dediziertem Schlüssel, Ausschlussregeln und anschließender Berechtigungsanpassung; Offsite-Synchronisation; konfigurationsgesteuertes Obsidian-Backup mit Schlüsseldatei oder benutzerdefiniertem Remote-Shell-Kommando. +- Projekte: Nextcloud-Backup und Betriebsautomatisierung sowie private Backup-Automatisierung in `lokale-scripte` (März 2020 bis Januar 2026) und Obsidian-Backup mit rsync und Git in `obsidian-backup` (März 2026), belegt durch eigene Commits. + +### Git + +- Komplexität: Versionsierte Backup-Historie mit idempotentem Ablauf. +- Einsatz: Automatische Initialisierung eines Backup-Repositorys und Commit-Erstellung ausschließlich nach erkannten Änderungen aus der rsync-Synchronisation. +- Projekt: Obsidian-Backup mit rsync und Git in `obsidian-backup`, belegt durch eigene Commits im März 2026. + +### Nextcloud + +- Komplexität: Betrieb und automatisierte Sicherung einer laufenden Instanz. +- Einsatz: Wartungsmodus während Backups, Dateiscans und Aufräumarbeiten; Sicherung von Dateien und Datenbanken. +- Projekt: Nextcloud-Backup und Betriebsautomatisierung in `lokale-scripte`, belegt durch eigene Commits von März 2020 bis Mai 2026. + +### MySQL und PHP + +- Komplexität: Automatisierte Datenbank-Sicherungen und Archivierung. +- Einsatz: Erstellung von Datenbank-Dumps und Archivierung für Nextcloud-Backups. +- Projekt: Nextcloud-Backup und Betriebsautomatisierung in `lokale-scripte`, belegt durch eigene Commits im Oktober 2023. + +### VeraCrypt, Robocopy und Windows Batch/PowerShell + +- Komplexität: Verschlüsselte, plattformübergreifende Offsite-Sicherungen. +- Einsatz: Einbinden verschlüsselter Datenträger und Spiegeln von Daten für externe Backups unter Windows. +- Projekt: Private Infrastruktur- und Backup-Automatisierung in `lokale-scripte`, belegt durch eigene Commits im November und Dezember 2024. ### Windows, macOS und Netzwerk @@ -99,6 +228,12 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom - Einsatz: Softwaretest, automatisierte Testentwicklung und Qualitätssicherung. - Kontext: MAGIX Development GmbH, 2006 bis 2017. +### PhotoPrism + +- Komplexität: Betriebsautomatisierung einer containerisierten Fotoverwaltung. +- Einsatz: Periodische Indexierung aus einem cron-tauglichen Shell-Skript mit Sperrdatei, Signalbehandlung und Log-Rotation. +- Projekt: PhotoPrism-Indexierungsautomatisierung in `lokale-scripte`, belegt durch eigene Commits von Oktober 2025 bis Januar 2026. + ## 3D und technische Gestaltung ### OpenSCAD, Blender, OpenGL, 3ds Max und 3D-Druck