Privates Blog von Christian Münch

Automatisieren mit Stream Deck und D-Bus unter Linux

Cover Image
Da ich immer mehr Remote-Meetings habe in denen ich präsentieren muss, habe ich schon länger mit dem Gedanken gespielt hier ein wenig mehr zu optimieren und zu automatisieren. Ideen sind u.a. einige Einstellungen in der Software OBS schneller vorzunehmen oder in Zoom automatisch ein paar Einstellungen vorzunehmen. Auch das automatische arrangieren von Fenstern ist immer ein Thema, wenn man etwas präsentiert. Eine nette Hardware die ich immer im Auge hatte, war ein Stream Deck.

Xliff zu CSV konvertieren

Heute musste ich eine XLIFF Datei mit Übersetzungen in eine CSV Datei konvertieren. Da die Datei recht Umfangreich war wollte ich das nicht manuell machen und habe ein entsprechendes Programm gesucht, was die Aufgabe übernimmt. Die gefundenen Programme waren alle recht alt und haben leider nicht mehr funktioniert. Die Datei sah ungefähr so aus: <?xml version="1.0"?> <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> <file source-language="en-US" datatype="plaintext" original=""> <body> <trans-unit id="defaultTitle"> <source>defaultTitle</source> <target>The Example App</target> </trans-unit> <trans-unit id="whatIsThisApp"> <source>whatIsThisApp</source> <target>Help</target> </trans-unit> <trans-unit id="metaDescription"> <source>metaDescription</source> <target>This is "The Example App", a reference for building your own applications using Contentful.

Magerun Beispiel Modul mit Test Setup

Nachdem wir bei netz98 diese Woche das Test-Framework auf die Version 2.0.2 aktualisiert hatten, ist mir aufgefallen, dass es bisher auch noch kein echtes Beispiel-Modul als Github Projekt gab. Daher habe ich jetzt den Beispiel-Code einfach in ein Beispiel-Modul gepackt und diesen auf Github veröffentlicht. Das Beispiel-Modul beinhaltet auch ein ddev Setup in dem dann ein Magento Shop installiert wird. Im Beispiel Modul ist folgendes enthalten: ddev Setup Beispiel Kommando, welches einfach den PHP-Klassennamen von sich selbst ausgibt.

Magerun Test Framework aktualisiert

Diese Woche bekam das n98-magerun2 Test Framework für Module eine Aktualisierung. Das Test Framework ist für Drittmodule gedacht, die Magerun Kommandos bereitstellen. So wurden die abstrakten Test-Klassen so angepasst, dass diese mit PHPUnit 9 kompatibel sind. Ebenfalls wurden die Beispiele in der README und die Beispiel phpunit.xml aktualisiert. Bei netz98 haben wir einige Magerun Module. Unter wurde das Tool Migron als n98-magerun2 Modul umgesetzt. Auf meiner Sicht ist es wichtig, dass auch wichtige Magerun Kommandos getestet werden.

DDEV Magento Demo Projekt

Cover Image
Bei der Meet Magento Indien 2022 durfte ich in den Vortrag ddev – Awesome PHP / Magento development environment halten. Da ich ddev super finde ich es den Einstieg in die Magento Entwicklung stark vereinfacht, habe ich mich entschlossen ein Beispiel-Demo Projekt zu veröffentlichen. Was muss ich tun? ddev und Docker installieren Magento Installation-Schlüssel im Magento Account generieren. Siehe hier Magento Schlüssel in Konfiguration hinterlegen Datei ~/.ddev/global_config.yaml öffnen. Unter web_environment folgendes hinterlegen:

Phar Dateien mit Box erstellen

Cover Image
Nach langer Zeit scheibe ich mal wieder einen Blogpost zum Thema PHP. Es geht um das Tool box, was ich gerade für n98-magerun2 eingebaut habe. Das Tool hilft beim Umgang mit phar Dateien. In erster Linie nutze ich es um die n98-magerun2.phar Datei zu erstellen. Bisher habe ich dafür einen phing Task verwendet. Dieser musste allerdings angepasst werden um mit den etwas größeren (> 6 MB) phar Dateien umgehen zu können.

Mal eben schnell mit ddev Wordpress installieren

Cover Image
Wie vielleicht schon der eine oder andere weiß, nutze ich sehr gerne ddev um schnell eine Entwicklungsumgebung für die Entwicklung von PHP Anwendungen aufzusetzen. Ab und an muss ich mich auch mit Wordpress rumschlagen. Da ist es sehr hilfreich, wenn man sehr schnell ein Wordpress automatisch lokal aufsetzen kann. Da ddev schon selbt Wordpress unterstützt, ist es bis zur vollständigen Automatisierung nicht sehr weit. Dazu habe ich mir dann einfach folgendes Script erstellt unter dem Namen ddev-create-wordpress.

Raspberry PI 4 von SSD booten

Cover Image
Seit einer Weile betreibe ich einen kleinen Raspberry PI 4 der nicht besonders viel macht. Am USB-Port hängt ein kleiner RTL USB-Stick der die Daten meiner Wetterstation per Funk empfängt. Zudem lasse ich auf dem Gerät einen Drone-Runner laufen mit dem ich Arm64 Software teste. Insgesamt ist das Gerät nicht wirklich ausgelastet. Das will ich ändern, habe aber etwas angst, dass die SD-Karte auf der alles läuft schnell korrupt wird und damit die Daten verloren gehen.

Eigener Sync-Server für Firefox Daten

Cover Image
Nach einigen Jahren mit Google Chrome und Vivaldi Browser teste ich gerade ob ich mit Firefox klarkommen. Firefox bietet deutlich bessere Möglichkeiten die eigenen Daten zu schützen. Zudem scheint er unter Linux etwas besser integriert zu sein wie Vivaldi. Darauf möchte ich aber jetzt in dem Blog-Post nicht genauer eingehen. Es geht vielmehr darum, wie man mehrere Browser-Einstellungen synchronisieren kann und die eigentlichen Daten auf dem eigenen Servern bleiben. Firefox bietet die Möglichkeit über ein Konto alle Einstellungen des Browsers in der Cloud von Mozilla abzulegen.

Wormatia Liveticker Relaunch 2020

Cover Image
Nach dem Relaunch der Wormatia Webseite und dem Umzug auf den neuen Server folgte das dritte Großprojekt in diesem Jahr für meinen Fußballverein. Es sollte die in die Jahre gekommene Live-Ticker Software auf eine neue und aktuelle Software-Basis umgestellt werden. Um das ganze etwas vorzubereiten hatte ich bereits vorher begonnen die Liveticker-Admin-Oberfläche auf VueJS Komponenten zu migrieren und die Kommunikation auf JSON API Anfragen umgestellt. Dadurch war die Admin-Oberfläche schon relativ entkoppelt.