‹ Zur Startseite

Software

Web-Tools

Taps

Taps ist eine in HTML/JS geschriebene Webapp, um Dinge zu zählen, wie etwa die Anzahl der Personen, die einen Raum betreten und verlassen, oder auch die vom Dozenten verwendeten Füllwörter. Im Gegensatz zu den vielen Counter-Apps in den Appstores speichert Taps auch die Zeitpunkte der einzelnen Zähl-Ereignisse und ermöglicht so weitergehende Analysen.

Zur persistenten Speicherung der Daten wird das LocalStorage-API verwendet, der Export der Daten in CSV und JSON ist durch ein Blob-DOMObject realisiert. So können alle Daten lokal verarbeitet werden, ein Webserver ist nur zum initialen Laden von Taps nötig. Weiterhin passt sich das Design responsiv an Bildschirmgröße und -format an; die Bedienung mit Tastatur wird ebenfalls unterstützt.

Der Quellcode ist auf GitHub zu finden, zur Verwendung: Taps aufrufen.

Libraries

Listselect.js

Listselect.js ist ein schlankes jQuery-Plugin, um Auswahllisten auf Websites zu realisieren. Es unterstützt Maus- und Tastatur-Bedienung und bildet damit die z.B. aus Dateibrowsern bekannte Mehrfach-Auswahl mit Strg- und Shift-Taste nach.

Der Zustand der Liste wird vollständig durch (konfigurierbare) CSS-Klassen abgebildet und kann somit durch entsprechende Style-Definitionen einfach visualisiert werden. Für die Anbindung an eine Javascript-Anwendung können Callback-Funktionen hinterlegt werden.

Listselect.js kann von GitHub bezogen werden und unterliegt der MIT-Lizenz.

Scripts

managevmail

Für meine privaten E-Mails betreibe ich einen eigenen Mailserver mit Postfix, Dovecot, Roundcube und MariaDB basierend auf der großartigen Anleitung von Thomas Leister. Dabei werden die Maildomains, Mailkonten und Aliase in MySQL/MariaDB-Tabellen verwaltet. Das ist auf der SQL-Konsole etwas umständlich, da einige längliche SQL-Queries und zusätzlich das doveadm-Kommando zum Hashen der Passwörter nötig sind.

Zur Vereinfachung dessen habe ich ein Python 3-Skript mit interaktivem Kommandozeilen-Interface geschrieben, das das Anlegen, Modifizieren und Löschen von Mailkonten und Aliasen erlaubt. Es ist unter MIT-Lizenz auf GitHub veröffentlicht.

RSync Backup

Das Unix-Tool rsync synchronisiert sehr schnell große Mengen von Dateien. Mit der Option --link-dir werden im Zielverzeichnis Hardlinks auf Dateien eines anderen Verzeichnisses angelegt, sofern diese mit den Quelldateien übereinstimmen. Das lässt sich für ein inkrementelles Backup nutzen, sodass bei jedem Backupvorgang ein vollständiger Verzeichnisbaum mit aktuellen Dateiversionen angelegt wird, jedoch nur geänderte Dateien erneut gespeichert werden müssen.

Mein Backup-Shellscript verwendet diese Rsync-Option und verwaltet die erstellten Backups in mit Datum versehenen Ordnern, wobei alte Backups nach bestimmten Regeln gelöscht werden, um Speicherplatz zu sparen.

Das Script kann von GitHub heruntergeladen werden, eine ausführlichere Beschreibung der Motivation und Funktionsweise habe ich im Neologismus 05/2016 veröffentlicht.

M3U Copy

Inspiriert von dem Windows-Programm Amok Playlist Copy habe ich ein Python-Script entwickelt, um M3U-Playlists einzulesen und die in der Playlist aufgeführten Dateien in ein anderes Verzeichnis (z.B. die SD-Karte meines Handys) zu kopieren. Dabei wird wahlweise die ursprüngliche Ordner-Struktur beibehalten oder alternativ allen Dateien ein Präfix hinzugefügt, um ihre Reihenfolge bei alphabetischer Sortierung der Playlist anzupassen.

Das Script ist in einem GitHub Gist zu finden.