Achievements aus der Zukunft

Achievements sind eine relativ neumodische Erfindung. Für ältere Spiele aus der 8 oder 16 Bit Ära existieren solche Achievements in den meisten Fällen nicht. Das bedeutet natürlich nicht, dass dies auf ewig so bleiben muss. Mit Retro Achievments hat sich eine Community gebildet, welche genau dieses Ziel erfolgt. Technisch gesehen werden dabei Bedingungen definiert, welche während des Spiels überprüft werden. So könnte ein Achievement für Sim City auf dem SNES überprüfen ob die Einwohnerzahl über einem bestimmten Wert liegt und ein entsprechenden Achievement freischalten.

Der Profilbildschirm von Retro Achievements

Unterstützung für die Retro Achievments findet sich in vielen Emulatoren, wie z.B. der Recalbox, welche intern RetroArch nutzt. Andere für die Retro Achievments nutzbare Emulatoren sind nur für Windows verfügbar. Zu finden ist das Projekt unter retroachievements.org. Das Projekt bzw. dessen Quellen sind auf GitHub zu finden. Die einzelnen Repositories sind unter freien Lizenzen wie der GPL lizenziert.

Alle Snaps unter Ubuntu aktualisieren

Unter Ubuntu gibt es neben klassischen Paketsystem seit einigen Versionen sogenannte Snaps. Bei diesen handelt es sich um Pakete einer weiteren Paketverwaltung mit dem Namen Snappy. Im Gegensatz zum klassischen Paketmanager sind Snap-Pakete in soweit vom System entkoppelt, als das sie ihre Abhängigkeiten mitbringen. Mir stellte sich die Frage wie besagte Snap-Pakete aktualisiert werden können. Mit Hilfe der Terminals und des Befehls:

snap refresh

kann diese Aufgabe schnell erledigt werden. Wird nach dem Parameter refresh noch ein weiterer Parameter angehangen, so wird dieser als Paketname interpretiert und nur dieses Paket aktualisiert. Ebenfalls interessant ist der Befehl:

snap list

welcher alle installierten Snap-Pakete auflistet. Entfernt werden können Snap-Pakete wieder mit dem Kommando snap remove und dem entsprechendem Paketnamen.

jar-Datei in eine exe-Datei verpacken

Bei der Entwicklung von Java-Applikationen kommt am Ende meist eine jar-Datei (die Kurzform von Java Archive) heraus. Soll diese Datei an Otto Normalverbraucher unter Windows ausgeliefert werden, so wundert sich dieser sicherlich etwas. Immerhin erwarten die meisten Normalverbraucher eine ausführbare Datei in Form einer exe-Datei. Mit Hilfe des Tools Launch4j ist das genau das möglich. Launch4j wrappt die jar-Datei und erzeugt eine ausführbare exe-Datei. Daneben kann Launch4j einfache Starter erzeugen, ohne das ganze in eine ausführbare Datei zu wrappen.

Die Projektseite von Launch4j

Launch4j erzeugt zwar ausführbare Dateien für Windows, allerdings kann das es selber neben Windows auch unter macOS und Linux genutzt werden. Die offizielle Seite des Projektes ist unter launch4j.sourceforge.net zu finden. Lizenziert ist Launch4j unter der BSD-Lizenz und damit freie Software. Der Quellcode ist auf SourceForge zu finden, daneben existiert ein Mirror auf GitHub.

Freier Bildbetrachter für Windows (und andere Systeme)

Der integrierte Bildbetrachter unter Windows 10 ist nicht das Gelbe vom Ei; so dass ich mich nach einer Alternative umgeschaut habe. Schlussendlich gelandet bin ich beim freien Bildbetrachter Nomacs. Nomacs unterstützt gängige Dateiformate wie PNG, JPEG, TIFF, BMP und viele andere Formate. Neben den Funktionen zur Bildbetrachtung, verfügt Nomacs über einige Funktionalität zur Bildbearbeitung. Diese umfasst unter anderem das Beschneiden von Bildern sowie die Fähigkeit die Größe von Bildern anzupassen oder Bilder zu rotieren. Die meisten alltäglichen Aufgaben, im Zusammenhang mit Bildern, sollten sich mittels Nomacs problemlos erledigen lassen. Eine etwas ungewöhnlichere Funktionalität von Nomacs ist die Synchronisation mehrerer Instanzen des Bildbetrachters.

Nomacs in Aktion

Neben der Windows-Version ist Nomacs für unterschiedliche Linux-Distributionen (z.B. Debian, Arch Linux oder Fedora), macOS und sogar OS2 erhältlich. Lizenziert ist der Quelltext unter der GPL in Version 2; bezogen werden kann er über GitHub. Die Webseite des Projektes ist auf nomacs.org zu finden.

Probleme mit dem cryptsetup-Workarround

Vor einigen Monaten veröffentlichte ich eine Anleitung zur Verschlüsselung eines Ubuntu-Servers. Da es einen Bug im cryptsetup gab, wurde in dem Artikel ein Workarround beschrieben. Mittlerweile wurde das cryptsetup-Paket aktualisiert und der entsprechende Bug gefixt. Allerdings führt dies zu Problemen mit dem Workarround. Möchte man den Server nun entsperren, erhält man folgende Meldung:

$ cryptroot-unlock
/bin/cryptroot-unlock: line 192: 2: parameter not set
/bin/cryptroot-unlock: line 192: 2: parameter not set
/bin/cryptroot-unlock: line 192: 2: parameter not set

Gelöst werden kann dieses Problem in dem folgendes Kommando genutzt wird:

sed 's/print $1, $5/print $1, $3/' /bin/cryptroot-unlock > /tmp/cryptroot-unlock; ash /tmp/cryptroot-unlock

Damit lässt sich der Server entsperren. Im zweiten Schritt kann nun der Workarround entfernt werden und das initramfs aktualisiert werden:

rm /etc/initramfs-tools/hooks/cryptsetup-fix.sh 
update-initramfs -u

Nach einem Neustart des Systems, kann dieses nun wie folgt entsperrt werden:

BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# cryptroot-unlock 
Please unlock disk cryptroot (/dev/md1): 
cryptsetup: cryptroot set up successfully
# exit

Anschließend wird das System hochgefahren und der Server steht zur Verfügung.