Frohe Weihnachten 2024

25. Dezember 2024 · IMHO · andreas · Kein Kommentar
+ | / \ ( i ) /_ _\ ( i i ) /._ _.\ ( i i i ) /-._ _.-\ ( i i i i ) /'-._ _.-'\ ( i i i i i ) ^'-._ _.-'^ |_| andi 2oo4

Allen, die hier mitlesen (oder sich auch nur durch Zufall hierher verirrt haben) wünsche ich ein entspanntes Weihnachtsfest und einen guten Rutsch in ein gesundes und glückliches neues Jahr!

Nach 20 Jahren erlaube ich mir eine Runde Baum-Recylcing - ein ASCII-Tannebäumchen, das ich 2004 in Perl erstellt habe. Vielleicht sollte ich bei Gelegenheit noch ein paar Parameter für Baumgröße und variablen Schmuck einbauen :-)


Grave Digger 2008-06-28 Bildergalerie

20. Dezember 2024 · Konzerte · andreas · Kein Kommentar

Grave Digger am 28. Juni 2008 beim Bang Your Head Festival in Balingen


Portable Perl-Skripte unter Windows

15. Dezember 2024 · Programmierung · andreas · Kein Kommentar

Um ein Perl-Skript portabel zu machen, muß zusammen mit dem Skript auch die Perl Laufzeitumgebung sowie die benötigten Bibliotheken ausgeliefert werden.

Befragt man die Suchmaschine der Wahl, landet man meist bei der Empfehlung, einen Perl-Packer zu nehmen, von denen es im CPAN zwei Stück gibt: PAR-Packer und perlcc, wobei von der Verwendung von perlcc im produktiven Umfeld ganz klar abgeraten wird: “Use for production purposes is strongly discouraged.”.

Mit pp gibt es ein eigenes Skript, auf Basis von PAR ausführbare Dateien erzeugt und ein Skript mitsamt aller benötigter Bibliotheken in einer einzelnen .EXE-Datei verpackt.

Das Packen ist recht flexibel und schnell erledigt, die einzelnen Optionen können in der Dokumentation nachgeschlagen werden.

pp -o test.exe --gui --addfile=test.ini --addfile=test.ico test.pl -T test

Wer noch gerne ein schöne(re)s Icon für die erzeugte .EXE-Datei verwenden möchte, kann dies mit einem Einzeler hinzufügen:

perl -e "use Win32::Exe; $exe = Win32::Exe->new('test.exe'); $exe->set_single_group_icon('test.ico'); $exe->write;"

Als Ergebnis wird eine Datei “test.exe” erzeugt, die dann auf ein System ohne Perl-Laufzeitumgebung kopiert und dort ausgeführt werden kann. Die Beschreibung “perlcc that works without hassle” klingt erstmal gut und die Ergebnisse funktionieren, bringen aber leider in der Anwendung einige Probleme mit sich:

Technisch gesehen wandelt pp nicht wirklich das Skript in eine .EXE-Datei, sondern erzeugt ein selbstenpackendes Archiv, dessen Inhalt nach dem Entpacken letztendlich ausgeführt wird. Das Archiv wird standardmäßig ins TEMP-Verzeichnis des ausführenden Benutzers entpackt, was spätestens dann zu Problemen führt, wenn - aus guten Grund - unprivilegierten Benutzern das Ausführen von Code innerhalb des TEMP-Verzeichnis verboten ist.

Zum Entpacken wird ein Verzeichnis nach dem Muster “%TEMP%\par-USER\cache-GUID” angelegt, wobei USER durch eine Hex-Repräsentation des ausführenden Benutzers und GUID durch einen Hash der ausführbaren Datei ersetzt wird. Letzteres lässt sich mit Hilfe des Parameters “-T” durch einen festen Wert ersetzten, so daß der Pfad dann “%TEMP%\par-USER\cache-test” lautet.

Durch das Cachen der entpackten Dateien wird bei späteren Starts die Wartezeit deutlich verkürzt, je nach System und Anzahl der Benutzer können aber zahlreiche Dateileichen im Temp-Verzeichnis verbleiben.

Manuelle Paketierung

Abgesehen von der suboptimalen Ausführung erledigt pp das Sammeln aller benötigter Dateien sowie Erstellen des Pakets zuverlässig, so daß sich die Verwendung von pp als Zwischenschritt zum manuellen Packen anbietet.

Nach dem erstmaligen Ausführen der von pp erzeugten Datei werden folgende Inhalte des Verzeichnisses “%TEMP%\par-USER\cache-test” in ein Arbeitsverzeichnis kopiert:

  • der komplette Ordner “inc” inklusive aller darin enthaltenen Unterverzeichnisse
  • die Dateien “libgcc_s_seh-1.dll”, “libstdc++-6.dll”, “libwinpthread-1.dll” sowie “perl530.dll”

Anschließend kann noch etwas augeräumt werden:

  • im Ordner “inc” können die Dateien “MANIFEST” sowie “META.yml” gelöscht werden
  • im Ordner “inc/script” kann die Datei “main.pl” gelöscht werden

Zum Ausführen müssen aus der Perl-Installation noch zwei Dateien kopiert werden:

  • die Datei “perl.exe” oder “wperl.exe” aus dem Ordner “perl/bin” ins Arbeitsverzeichnis - je nachdem, ob es sich um eine Kommandozeilen- oder GUI-Anwendung handelt
  • die Datei “lib.pm” aus dem Ordner “perl/lib” in den Ordner “inc/lib”

Anschließend kann aus dem Ordner “inc” das Skript mit folgendem Aufruf gestartet werden:

..\perl.exe -I lib script\test.pl

Iron Maiden Legacy Of The Beast - Sunset Celebration

10. Dezember 2024 · Spiele · andreas · Kein Kommentar

Am 02. Dezember wurde mehr oder minder überraschend mitgeteilt, daß das offizielle Iron Maiden-Spiel “Legacy Of The Beast” zum Jahresende 2024 eingestellt und die Server heruntergefahren werden.

Legacy Of The Beast - Sunset Celebration

Bis dahin kann im Rahmen der Sunset Celebration vieles ausprobiert werden, was bisher mühevoll erarbeitet werden wollte: Drop-Rates wurden erhöht, Kosten verringert und alle Echtgeld-Angebote aus dem Shop entfernt.


Nils Hoffmann - Running In A Dream

07. Dezember 2024 · Audio · Klaus Seiler · Kein Kommentar

Nils Hoffmann - Running In A DreamManchmal stolpert man über Musik und Künstler, die einem wirklich (ungehört und ungelesen) absolut gar nix sagen. Nils Hoffmann, das klingt irgendwie so nach…..Versicherungsvertreter.

Aber von wegen, der Mann ist im Bereich Trance / Dance / Bassbums eine ziemlich große Hausnummer und einer der “Vertreter”, die keinen Wert mehr auf Silberscheiben legen, dafür alles im Net veröffentlichen. Aber da ich beim großen Onliner “Unlimited Kunde” bin, darf ich dann auch ausgiebig dort stromern.

Das Album klingt schön retro nach späten 90er / Anfang “Nuller”, mit viel Hall, Bass und viel KlingKlong. Nun, normalerweise bin ich für sowas nicht (mehr) Zielgruppe und dance in Trance auch in keinem Club mehr herum….aber die Mucke gefällt mir trotzdem. Sie weckt aus seltsame Weise in meinem Kopf und meinen Ohren dieses lange verschütt geglaubte Electro-Ambient-Feeling, dem ich in den 1990er Jahren über einige Zeit ziemlich frönte und bei dem man gerne mal die Lautstärke etwas aufdrehte und guckte, was die Boxen so an dem schon genannten Bassbums hergeben. Wie auch immer, für Prog-Rocker ist das wohl no go, aber bei mir geht sowas ab und an sauber ins Ohr, einfach mal so zwischendurch….wenn der Staubsauger nicht nur übertönt werden, sondern auch fix über den Teppich rollen soll.