Dez 12 2006

Etiketten mal anders

beko | Linux | 1 Comment

Wolf hat hier einen alten NEC P2X Drucker und noch kistenweise Etiketten auf Endlospapier. Leider bot kein bekanntes Programm eine Möglichkeit um zum Beispiel möglichst einfach Etiketten mit Adressen zu bedrucken. Eine neue Vorlage für OpenOffice war viel zu viel Aufwand und es musste immer gleich eine ganze Seite gedruckt werden, was bei Endlospapier nicht viel Sinn macht. Abgesehen davon ist eine Textverarbeitung dieses Kalibers einfach ein wenig zu viel des guten gewesen. Etwas schlankes und einfaches musste her.

Nun versteht der Drucker auch Rohdaten und stellt den Druck nach der letzten Zeile sofort wieder ein - also im Grunde perfekt für eine derartig banale Aufgabe. Ein einfaches cat etikett.txt > /dev/lp0 führte bereits zum Ziel. Nun ist das leider nicht so ganz benutzerfreundlich und der Drucker musste immernoch von Hand auf das nächste freie Etikettenfeld justiert werden. Aus der fixen Idee entstand heute KawPrint:




In der ersten Version 0.1 erfüllt es ganz genau seinen Zweck:

  • Einfaches Drucken von Adressen, die z.B. aus dem Browser von EBay kopiert auf Etiketten gedruckt werden können
  • Funktion für zeilenweise Vorschub um komfortabel auf das nächste Etikett zu justieren
  • Reset-Knopf um die aktuelle/vordefinierte Adresse aus dem Textfeld zu entfernen
  • Druckergerät frei wählbar
  • Erkennt ob Gerät verfügbar und mit aktuellen Zugriffsrechten beschreibbar ist
  • Weitere Verbesserungen sind schon in der Planung. Für einen halben Tag Arbeit bin ich auf jeden Fall ganz zufrieden (und programmieren kann ich offensichtlich doch noch :D ).

    TrueCrypt 4.2a ist eigentlich eine richtig schöne und einfache Sache. Damit kann man zum Beispiel zuverlässig Festplatten oder Containerdateien verschlüsseln. (Nebenbei läuft es auch auf Windows). Mit der neusten Linuxversion 2.6.18.x fällt das Build-Script leider auf die Nase:


    Checking build requirements...
    Building kernel module... ./truecrypt-4.2a/Linux/Kernel/Dm-target.c: In function `dm_truecrypt_init':
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:644: error: syntax error before "DM_MSG_PREFIX"
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:652: error: syntax error before "DM_MSG_PREFIX"
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:659: error: syntax error before "DM_MSG_PREFIX"
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:666: error: syntax error before "DM_MSG_PREFIX"
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c: In function `dm_truecrypt_exit':
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:690: error: syntax error before "DM_MSG_PREFIX"
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:690: error: `DM_MSG_PREFIX' undeclared (first use in this function)
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:690: error: (Each undeclared identifier is reported only once
    ./truecrypt-4.2a/Linux/Kernel/Dm-target.c:690: error: for each function it appears in.)
    make[2]: *** [./truecrypt-4.2a/Linux/Kernel/Dm-target.o] Fehler 1
    make[1]: *** [_module_./truecrypt-4.2a/Linux/Kernel] Fehler 2
    make: *** [truecrypt] Fehler 2
    Error: Failed to build kernel module

    2.6.18 ist nun schon einige Zeit verfügbar - eine offizielle Patch von TrueCrypt leider nicht. Man muss sich also selbst helfen, was dank offenem Quellcode ja durchaus möglich ist. Die Mühe hat sich auch schon jemand gemacht. So habe ich hier folgenden Patch gefunden:


    --- Dm-target.c 2006-06-28 12:36:28.000000000 +0200
    +++ Dm-target.c 2006-07-17 09:04:45.144351266 +0200
    @@ -29,6 +29,7 @@
    int trace_level = 0;

    #define MSG_PREFIX "truecrypt: "
    +#define DM_MSG_PREFIX MSG_PREFIX
    #define error(fmt, args...) printk(KERN_ERR MSG_PREFIX fmt, ## args)
    #define trace(level, fmt, args...) level < = trace_level && printk(KERN_DEBUG MSG_PREFIX fmt, ## args)
    #define dbg(fmt, args...) printk(KERN_DEBUG MSG_PREFIX fmt, ## args)

    Nov 11 2006

    Flashvideos abspeichern

    beko | Linux | 1 Comment

    Ich finde ab und an immer mal wieder ein Video im Netz, was ich gerne aufheben würde. Manchmal sind das aber Videos, die in Flash (SWF) eingebettet sind. Hier verweist das Flash dann auf eine FLV-Streamingdatei (Flash Video Format). Da man sich den Quelltext von Flash nicht ansehen kann, wird das schon komplizierter, wenn man trotzdem an das Video rankommen will. Nun gibt es eine wahnsinnig umständliche Methode über Quelltext der Webseite die Playeradresse direkt aufzurufen, den HTTP-Request von dem Player über ein BrowserPlugin auszulesen und die FLV-Datei dann selbst abzufangen. Auf diversen großen Video-Hosting Webseiten wird diese Datei dann auch noch erst auf Anforderung durch den Flashplayer generiert und der HTTP-Link bleibt nur wenige Minuten gültig. Abgesehen davon kann man FLV nicht einfach abspielen, da auch noch ein Player benötigt wird. Der zugehörige Flashabspieler funktioniert ja nur mit der entsprechenden Webseite.

    Alles sehr kompliziert also. Nun gibt es aber diesen Video Downloader hier online. Da kopiert man einfach die typische Browseradresse rein, wählt aus der Liste die dazugehörige Video-Hosting Webseite und bekommt den direkten FLV-Link ausgeworfen, den man nun rasch herunterladen sollte. Diesen schickt man dann noch flugs durch ffmpeg und schon habe ich ein schönes mpg, was auch jeder verflixte Videoabspieler zu können hat :D
    ffmpeg -i video.flv -ab 56 -b 500 -s 640x480 video.mpg

    Optionen sind im man ffmpeg näher erläutert. Und wer das hier nun noch alles verstanden hat, sollte wirklich öfter mal raus an die frische Luft gehen ;)

    Nov 11 2006

    Max Payne 2

    beko | Linux | 0 Comments

    Nett - da habe ich doch letzte Woche Max Payne 2 auf dem Krabbeltisch im Real-Markt gefunden. Teil 1 hat mir damals auch schon sehr gut gefallen. Da Teil 1 auch problemlos über Wine 0.9.24 unter Linux funktionierte, habe ich das einfach mal in den Einkaufskorb gepackt. Folgende Dinge mussten leider vor dem Spiel deaktiviert/beachtet werden:

  • Pixel Shader Skins (Sonst sind die Figuren, wie Max selbst, unsichtbar)
  • Post Process Effect (Sonst steht bei einfacher BulletTime alles aufm Kopf)
  • Spiegeleffekte (Mirrors) (Grausiges Ruckeln sobald ein Spiegel in das Sichtfeld kommt)
  • Spiel stürzt beim Beenden ab und muss zusätzlich manuell abgebrochen werden :/
  • Mein Fazit übrigens: Ich hätte es wohl eher Max Payne Reloaded oder so genannt. Keinesfalls Teil 2. Ansonsten spielt es sich genau wie Teil 1. Nette Story mit überraschenden Wendungen, ein lieblos gestalteter dritter Spielabschnitt (Den Leveldesignern scheint jedesmal vor der Veröffentlichung die Zeit ausgegangen zu sein) und sehr nett: Bescheidene Traumsequenzen mit beknackten Labyrinthen sind angenehm kurz gehalten und nicht mehr so extrem blutig. Für 10 Euro haben sich die 6 Spielstunden auf Schwierigkeitsgrad 1 auf jeden Fall gelohnt. 60 Euro hingegen hätte ich dafür sicher nicht hingelegt.