Leo Viezens

Full Stack Developer

& Open-Source-Enthusiast

Die Open-Source-Bewegung begeistert mich schon seit Langem. Besonders erfüllt mich der Gedanke daran, dass Menschen auf der ganzen Welt auf (größtenteils) unkommerzielle Weise zusammenarbeiten, ihr Wissen miteinander teilen und Großes erschaffen können. Als Software-Entwickler möchte ich daran unbedingt mitwirken und beteilige mich daran sowohl durch die Verbesserung bestehender Open-Source-Software als auch durch die Veröffentlichung eigener Open-Source-Software.

Open-Source-Software, die ich bisher veröffentlicht habe

leovie/xdry bzw. der Vorgänger leovie/php-dry sind im Zuge meiner Masterarbeit entstanden. Die Idee war, Duplikate in Quelltextfragmenten innerhalb einer Codebasis zu detektieren. Dabei kamen diverse Normalisierungs- und Vergleichsschritte zum Einsatz. Während die erste Version php-dry nur PHP-Quelltexte unterstützte, ist xdry durch Plugins so erweiterbar, dass es Quelltexte jeder beliebigen Programmiersprache analysieren kann.
leovie/clover-crap-check ist ein Werkzeug zur Nutzung in CI-Pipelines. Das Werkzeug liest den durch phpunit generierten clover.xml-Report aus und überprüft, ob alle Dateien einen CRAP-Index besitzen, der unter einem definierten Grenzwert liegt. Der CRAP-Index ist eine zusammengesetzte Metrik aus zyklomatischer Komplexität und Testabdeckung einer Datei. Ein hoher CRAP-Index impliziert ein höheres Risiko, das von der entsprechenden Datei ausgeht. Das Werkzeug kann dazu dienen, schrittweise den CRAP-Index aller Dateien in einer PHP-Codebasis unter einen bestimmten Grenzwert zu bringen und anschließend auch unter diesem Grenzwert zu halten.
leovie/phpstan-baseline-guard ist eine kleine Erweiterung der Funktionalität der PHPStan-Baseline. PHPStan ist ein Werkzeug zur statischen Analyse von PHP-Code. Bei der Nutzung kann es eine Liste aller vorhandenen Fehler erzeugen und in einer Baseline-Datei speichern. Diese Fehler werden anschließend in den folgenden Aufrufen von PHPStan ignoriert. Durch die Nutzung dieses Features kann man sicherstellen, dass neuer Code immer die Qualitätsanforderungen des entsprechenden PHPStan-Levels erfüllt, ohne bei der Einführung von PHPStan erst alle Fehler im bestehenden (Legacy-)Code zu beheben, ehe das PHPStan-Level angehoben werden kann. Normalerweise möchte man die Anzahl der Fehler in der Baseline-Datei niemals erhöhen, sondern nur senken, indem Fehler behoben werden. leovie/phpstan-baseline-guard kann dabei helfen, indem es sicherstellt, dass die Anzahl der Fehler in der Baseline-Datei eine definierte Maximal-Zahl nicht übersteigen darf.
leovie/reboot-on-network-loss ist ein kleines Bash-Script, das dazu dient, Linux-Systeme neuzustarten, wenn diese die Netzwerkverbindung verloren haben. Dieses Script nutze ich auf meinen Raspberry Pis, da diese gelegentlich die WLAN-Verbindung verlieren und in dem Fall nicht mehr erreichbar sind.
leovie/dropbox-upload ist ein Werkzeug, das - ganz im Sinne der Unix-Philosophie "Do one thing and do it well" - nur ein Aufgabe hat: Einzelne Dateien in einen Dropbox-Space uploaden. Dazu wird ein Docker-Container genutzt, in dem eine PHP-Anwendung die eigentliche Anwendungslogik ausführt.
leovie/cronjob-validator ist eine PHP-Library zur Validierung von Crontable-Einträgen.
leovie/cronjob-manager beinhaltet Scripts in verschiedenen Programmiersprachen zur komfortablen Verwaltung von Cronjobs. Dies schließt zum Beispiel die Validierung der Einträge und die Überprüfung auf doppelte Einträge ein.
leovie/filecount-api ist eine Golang-Anwendung, die die Anzahl von bestimmten Dateien in einem Verzeichnis berechnet und über eine REST-Schnittstelle freigibt.

Open-Source-Software zu der ich bisher beigetragen habe

Meine neuesten Beiträge zu Open-Source-Software