Ebookkonvertierung mit Thunar

Mein Kindle unterstützt Ebooks im MOBI Format, aber leider nicht das stärker verbreitete Epubformat. Heute wollte ich ein paar EBooks mit .epub nach .mobi konvertieren und das natürlich gleich komfortabel per Mausklick erledigen.
Die Konvertierung selbst wird von Calibre und seinen Werkzeugen durchgeführt.

Für die Integration in XFCE und Thunar habe ich mir einfach eine “Benutzerdefinierte Aktion” alias Custom Action in Thunar definiert und Dateien mit Endung .epub zugeordnet. Da das Konvertierungstool Ausgaben erzeugt, wird diese in einem eigenen Terminalfenster angezeigt, welches man nach erledigter Konvertierung einfach schliessen kann. Dazu habe ich ein einfaches Shellskript geschrieben, dem man den Dateinamen samt Pfad zum *.epub übergibt. Die konvertierte Ausgabedatei bekommt automatisch die Endung .mobi zugeteilt.

Das Skript wird von der Custom Action mit Parameter %f aufgerufen und sieht so aus:


#!/bin/bash
#
# Thunar helper to convert *.epub to *.mobi with Calibre
#
# Syntax: thunar-convert-epub-to-mobi.sh
#
# (c) 2016 by Matthias Arndt
# The GNU General Public License v2 applies.
#
# extract pathname and filename without extension
basename=$(basename "${1}")
filename="${basename%.*}"
#
xfce4-terminal -T "MOBI Conversion result" -H -x ebook-convert "${1}" "${filename}.mobi"

Backup der Filtereinstellungen von Claws Mail

Ich bin vor ein paar Wochen auf Claws Mail umgestiegen, da mich Thunderbird mit Plugins und Erweiterungen anfing, zu nerven, welche nicht mehr funktionieren.

Leider kann man die Mailfilter bei Claws Mail nicht einfach im- und exportieren, daher ist es nervig, wenn mühsam konfigurierte Filter für Spam und wichtige Mails verloren gehen. Wo also liegen die Einstellungen?

Ich habe mal ein bißchen mit find und grep gesucht, und siehe da, unter $HOME/.claws-mail/matcherrc findet sich alles, was man sucht. Die Emailaccountbezüge sind dort leider recht hart reincodiert. Wenn man bei einer Neuinstallation andere Namen verwendet, dann muß man hier möglicherweise umkonfigurieren. Aber das ist besser, als alle Regeln von Hand wieder erneut erstellen zu müssen.

ATtiny85 per Drahtverhau ausgelesen

Ich habe heute mal endlich ein wenig in meiner Bastelkiste gewühlt. Bis heute war ich mir nicht sicher, ob man AVRs wirklich mit wenig Aufwand direkt im Steckbrett programmieren kann. Ich habe es einfach mal selbst ausprobiert und einen ATtiny85 mit ganzen 8 Pins mehr oder minder direkt mit meinem mySmartUSB light Programmiergerät verbunden.

Ich habe den 6 auf 10Pin Adapter missbraucht, um einfach Steckbrücken mit Buchsen auf die Pins zu stecken. Dabei habe ich mich an ein Schemabild aus dem Netz gehalten und dabei eine möglichst ähnliche Farbcodierung verwendet. Auf meinem Steckbrett musste ich dann nur die Buchsen auf Pins abbilden und gemäß Datenblatt die Pins am Microcontroller mit den jeweiligen Signalen verbinden.

Danach habe ich einfach mal per avrdude Inhalte gelesen und geschrieben. Flash und Fuses funktionierten prächtig, beim EEPROM hatte ich mein Problem. Eventuell kommt mir da die EESAVE Fuse ins Gehege. Ich plane am langen Wochenende (morgen habe ich Urlaub) ein Testprogramm für den ATtiny85 zu schreiben, bei dem ich mal im EEPROM per Programm schreibe und lese.

Insgesamt, ja, es funktioniert. Ich konnte den Chip im Steckbrett ohne spezielle Hardware auslesen und programmieren.

ATtiny85 mit fliegender Verdrahtung im Steckbrett

ATtiny85 mit fliegender Verdrahtung im Steckbrett

Kombination find und xargs

Das folgende Konstrukt funktioniert mit den GNU Versionen von xargs, mv und find, so wie es die meisten Linuxdistributionen mitbringen.

Manchmal hat man über mehrere Verzeichnisse verteilt gleichartige Dateien, die man in einen gemeinsamen Ordner bringen möchte. Händisch geht das natürlich, das kann aber auch unübersichtlich werden. Eine geschickte Verkettung von  vorhandenen Kommandos erleichtert dem Anwender dabei das Leben.

find . -name "*.mobi" -print0 | xargs -r0 mv -t ~/tmp/

Das find-Kommando sucht die Dateien mit dem genannten Muster ab dem aktuellen Verzeichnis.

Das xargs-Kommando führt dann für jede gefundene Datei den mv-Befehl aus. Hier wird über die -t Option ein GNU-spezifisches Feature aktiviert, bei dem immer zuserst das Zielverzeichnis angegeben wird. Die zusätzlichen Optionen bei find und xargs  sorgen für korrektes Quoting der Dateinamen, wenn Leer- und Sonderzeichen enthalten sind.

Ein praktisches Beispiel sähe wie folgt aus:

Find ergibt folgendes Resultat:

./a/a.mobi
./b/b.mobi

xargs führt folgende Kommandozeilen aus:

mv -t ~/tmp/ ./a/a.mobi
mv -t ~/tmp/ ./b/b.mobi

Guava Tools Backup

Years ago, I used a package called Guava Tools to generate the ASM Software website with templates.

As this nice set of software is not packaged for Ubuntu and its official page feels a bit  hidden, I decided to mirror the package.

Latest binary: http://final-memory.org/files/guava-1.0.5.tar.gz
Website (still active as of 2016-05-12): http://www.morphet.org.uk/comp/guava.html

ClamAV in Thunar einbinden

Ab und an möchte man auch unter Linux Dateien nach Viren scannen. Da ich meistens doch über graphische Oberflächen arbeite, habe ich mir ClamAV im Thunar unter XFCE eingebunden. Dies geschieht als “Custom Action” aktiv für alle Dateien.

Ich habe mich grob an die Anleitung unter http://blog.quiptime.com/node/28 gehalten. Das Skript habe ich ein bißchen erweitert und für die Verwendung von zenity umgebaut.

Das Skript sieht dann bei mir so aus:

#!/bin/bash
#!/bin/bash # # clamavscan 0.1, 05.10.2006 # # by Siegfried Neumann, www.quiptime.com # Zenity output and desktop notify by Matthias Arndt <marndt@asmsoftware.de> # # Used by Thunar with a custom action. # Custom action: clamavscan %f # TITLE="ClamAV Scan" SCANUSER=`whoami` LOGDATE=`date +"%Y-%m-%d %T"` LOGDATE_FNAME=`date +"%Y%m%d.%H%M%S"` LOGFILE="/tmp/clamavscan-$SCANUSER-$LOGDATE_FNAME.log" notify-send 'ClamAV Scan' "started" echo "ClamAV Scan Log $LOGDATE " > $LOGFILE echo "" >> $LOGFILE echo "Report location: $LOGFILE" >> $LOGFILE echo "" >> $LOGFILE echo "--------------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE chmod 600 $LOGFILE clamscan -r "$1" >> $LOGFILE if [ $? -eq 0 ] then notify-send 'ClamAV Scan' "No virus found" else zenity --title "$TITLE $LOGDATE" --error --text="One or more virii found!" fi zenity --title "$TITLE $LOGDATE" --text-info --width 500 --height 400 --filename=$LOGFILE case $? in 0) echo "Finished.";; 1) xdg-open $LOGFILE;; 255) echo "Box closed.";; esac

Tips und Tricks mit der GNU/Linux Kommandozeile

Ich brauche ab und unter Linux auf der bash Kommandozeilentools. Für viele Zwecke vergesse ich auch wieder, was ich für eine bestimmte Aufgabe genau gemacht habe. Daher habe ich jetzt eine öffentliche Merkliste angelegt.

Falls jemand sinnvolle Ergänzungen hat, einfach bei mir melden.

Classic hexdump of files with the GNU Coreutils

Sometimes I’m in need of having a classic hexdump from a given binary file.
As there is no obvious command under Linux, all seem to require more or less long command line options to work, I have to note down the standard solution using the od tool provided by the GNU Coreutils.

od -w16 -A x -t x1z -v <filename>

This gives an output like this:
000000 00 00 00 05 00 00 aa 00 00 bb 00 00 cc 00 00 00  >................<
000010 00 00 ee ee dd ff 00 00 44 00 00 44 84 cd ab fe  >........D..D....<
000020

I did not find out how to remove the final address without having to use grep or sed.

The tool has a manual page and I recommend having a simple alias in your .bashrc like this:

alias dump='od -w16 -A x -t x1z -v'

Datenrettungstools für Windows

Mir hat es neulich erst einen USB Stick zerschossen. Es befanden sich zwar nur Daten darauf, die ich von einer andere Quelle daraufkopiert hatte, aber ich wollte mal sehen, wieviel zu retten ist.

Ich kann  Testdisk und Photorec empfehlen, ich habe aber aktuell nur die Variante für Windows probiert, es gibt die Programme aber auch für Linux und Mac OS X:
http://www.cgsecurity.org/wiki/Main_Page

Bei Chip.de gibt es ebenfalls einen Download, der aber letztlich zum selben ZIP-File führt und neben bei Adware mitbringt. Lieber gleich an der Quelle herunterladen.

Inhaltlich konnte es zumindest Fotos im JPG-Format, die hintereinander auf einem  nicht mehr als FAT32 formatiert erkennbaren Stick waren, größtenteils wiederherstellen. Dafür ein dickes Plus für das Tool!

Aufgabe meines ICQ Accounts

The death of ICQ

The death of ICQ

Da ich seit Jahren über ICQ mit keinem meiner Kontakte mehr groß über ICQ chatte, werde ich mich in Zukunft bei ICQ nicht mehr anmelden. Meine UIN bleibt wohl erhalten, aber ich logge mich nicht mehr ein.

Wer bislang nur über ICQ mit mir in Verbindung steht und Bedarf hat, darf mich alternativ über Facebook, Skype oder Jabber kontaktieren. Dabei bevorzuge ich Jabber, vgl dazu auch http://www.final-memory.org/?p=2105. Leider gilt die damalige Werbung für GMX und Gmail nicht mehr, all diese Dienste haben ihre Konnektivität zu anderen Jabberservern eingestellt, oder die Technologie geändert.

Die gute alte Email bleibt natürlich als letzte Alternative ebenfalls erhalten.

Goodbye, ICQ. Du hast mir damals 1998 eine wunderbare neue Welt eröffnet. Nun haben Andere deinen Weg fortgesetzt und du hast Dich überlebt. Ruhe in Frieden!