Alle Beiträge von Malte

Epson Perfection V850 Pro mit X-Rite Monaco IT8 Auflicht-Target kalibrieren und Farbprofil für SilverFast erstellen

Im letzten Jahr erwarb ich einen Epson Perfection V850 Pro, auch bekannt als GT-X980. Im Paket kamen Durchlicht- sowie Auflicht-Targets zur Kalibrierung von X-Rite. Diese Targets wurden in meinem konkreten Fall weder von der Auto-Kalibrierung, noch von der manuellen Kalibrierung in SilverFast akzeptiert.

Die Auto-Kalibrierung schlug fehl, weil die Targets keine originalen Targets der LaserSoft Imaging AG sind, die manuelle Kalibrierung in SilverFast schlug fehl, weil der Delta-Wert angeblich viel zu hoch sei, was ich persönlich auf einen Softwarefehler zurückführe, da die im folgenden gezeigte manuelle Kalibrierung und Erstellung eines Farbprofils mit X-Rite kein solches Problem zu Tage förderte.

Epson Perfection V850 Pro mit X-Rite Monaco IT8 Auflicht-Target kalibrieren und Farbprofil für SilverFast erstellen weiterlesen

xlsx2csv verarbeitet xlsx-Datei unvollständig „Error: potential invalid date format.“

Möchte man xlsx-Dateien, im Grunde etwas speziellere xml-Dateien, in CSV umwandeln, so gibt es unterschiedliche Möglichkeiten und Tools. Auf der Linux-Kommandozeile und in der Verwendung von Scripten kann xslx2csv nützlich sein. Das Python-Tool ist in der Lage Tabellen in CSV zu exportieren.

Scheitert xlsx2csv mit der Fehlermeldung „Error: potential invalid date format.“ an einer Datei, so kann es sein, dass inkompatible Datums- und Zeitformate verwendet werden. Hierfür kann dann eine spezielle Einstellung nützlich sein.

xlsx2csv verarbeitet xlsx-Datei unvollständig „Error: potential invalid date format.“ weiterlesen

Neueste Version von MonaServer2 mit SRT-Support in Docker

Die Software MonaServer2, welche man unter anderem als Streaming-Hub nutzen kann, bringt seitens ihrer Entwickler ein sehr veraltetes Docker-Image von vor 3 Jahren mit. Dieses habe ich kürzlich aktualisiert sowie wenige Fehlerbehebungen vorgenommen, welche den Kompillierungsprozess mit Alpine 3.19 und aufwärts blockierten.

Um die neue Version zu testen, stelle ich hier ein entsprechendes Dockerfile bereit:

https://github.com/maltris/docker-mona/blob/master/Dockerfile

Verwendung:

git clone https://github.com/maltris/docker-mona.git
cd docker-mona
docker build -t monaserver .
docker run --rm -it --name=mona monaserver

Um die Konfiguration zu überschreiben, empfehle ich ein lokales File „MonaServer.ini“ anzulegen, zu füllen und dann in den Container zu mounten:

docker run --rm -it -v "./MonaServer.ini:/usr/local/bin/MonaTiny.ini" --name=mona monaserver

Unterschiedliche Ansätze um aus keepalived den aktuellen State/Clusterstatus zu extrahieren

keepalived kann unter anderem dazu dienen, eine oder mehrere IPs zwischen einem oder mehreren Serversystemen umzuschalten. In der Regel ist das zugrundeliegende Protokoll hierbei VRRP, das Virtual Router Redundancy Protocol.

Möchte man nun im Serververbund herausfinden ob localhost gerade im aktiven (ACTIVE), passiven (BACKUP) oder defunktionalen (FAULT) Zustand ist, gibt es hier mehrere Lösungsansätze die alle ihre eigenen Vor- und Nachteile haben.

Mir war es wichtig, mal eine kleine Übersicht zu schaffen um zumindest einige Verfahren genauer zu beleuchten, um anderen Systemadministratoren, die vor der gleichen Aufgabe stehen, die Arbeit etwas zu erleichtern.

TLDR: Siehe „Teil 5 – DBus“.

Unterschiedliche Ansätze um aus keepalived den aktuellen State/Clusterstatus zu extrahieren weiterlesen

Analyse und Wiederherstellung von Daten auf CD/DVD mit ddrescue und photorec

Stellt euch vor, in eurer Familie wurden immaterielle Familienandenken in Form von Fotos, Videos oder manchmal auch Dokumenten erstellt. Anschließend wurden diese auf zeitgenössischen Speichermedien „gesichert“.

Ein paar Jahre später: Ihr geht durch eure DVD-Sammlung und stellt mit erschrecken fest, dass die DVDs plötzlich nicht mehr aussehen wie in Bild 1, sondern wie in Bild 2.

Die DVDs weisen leichte und schwere Verfärbungen auf. Legt ihr sie so in das Laufwerk ein, werdet ihr feststellen, dass sie entweder gar nicht erscheinen oder unfassbar langsam reagieren und bestimmte Daten überhaupt nicht abgerufen werden können.

Woran liegt das?

Analyse und Wiederherstellung von Daten auf CD/DVD mit ddrescue und photorec weiterlesen

Einfaches Skript um mit mdb-tools eine MS Access-Datenbank in SQLite3 umzuwandeln

Hin und wieder stößt man auf Anwendungsfälle in denen Applikationen für Nischenprodukte einen vor merkwürdige Aufgaben stellen. So zum Beispiel ein im deutschen Kanurennsport häufig für die Regattaplanung genutztes Tool namens „GTS Regatta“. Im Grunde eine MS Access-basierte Anwendung mit zahlreichen Formularen und Funktionen rund um das Thema Kanuregatta.

Um die Daten praktisch in PHP-Anwendungen nutzen zu können, kann ein entsprechender ODBC-Treiber genutzt und direkt mit der Access-Datenbank gearbeitet werden. Dies ist, möchte man mit einem Linux-System arbeiten, etwas aufwändig und je nach ODBC-Treiber auch kostspielig.

Eine Alternative stellt die Konvertierung nach SQLite oder einer anderen Datenbank dar. Um dies mit kostenlosen Tools unter Linux möglichst leicht zu gestalten, bietet sich das folgende Skript an:

#!/usr/bin/env bash
# Usage: mdb-export.sh database.mdb/.accdb

fullfilename=$1
filename=$(basename "$fullfilename")
dbname=${filename%.*}

echo "Export schema"
mdb-schema "$fullfilename" sqlite > "$dbname.sql"

IFS=$'\n'
for table in $(mdb-tables -1 "$fullfilename"); do
    echo "Export table $table"
    mdb-export --insert=sqlite "$fullfilename" "$table" >> "$dbname.sql"
done

echo "Convert to sqlite"
sqlite3 "$dbname.sqlite3" < "$dbname.sql"

echo "Delete working data"
rm "$dbname.sql"