Thunderbird-Addons für “Profis”: Nostalgy

Teil 2 der Reihe Thunderbird Addons für Vielbenutzer

Mail, die man nicht archivieren möchte kann man einfach aus der Mailbox mit der Taste „D“ löschen und landet danach am Anfang der nächsten Email. Auf diese Art lässt sich eine volle Mailbox schnell duchlaufen und reduzieren. Leider geht das mit Mail, die man aufheben will nicht so leicht. Um Email zur Archivierung in Unterordner zu verschieben, muss man meist zur Maus greifen, was häufg lästig ist.

Mit dem Addon Nostalgy kann man auch diese Aufgabe bequem auf das Keyboard verlegen. Das lohnt sich insbesondere, wenn man viele Email bekommt, die man lediglich lesen und anschließend archivieren muss. (Die Möglichkeit, diese dann gleich per Filter in die passenden Ordner sortieren zu lassen, habe ich persönlich als nicht sinnvoll empfunden. Was bereits im Archivordner liegt liest man meistens gar nicht mehr…). „Thunderbird-Addons für “Profis”: Nostalgy“ weiterlesen

Logfiles: zeitliche Verteilung von Fehlern schnell sichtbar machen.

Ein schnelle Kommando-Sequenz, die bei der Analyse von Logfiles nützlich sein kann:

Taucht eine Fehlermeldung (oder eine ungewöhnliche Meldung) im Logfile auf, dann ist die Frage wie die zeitliche Verteilung dieser Fehler aussieht:

grep $SUCHBEGRIFF /var/log/$LOGFILE | cut -c 1-9 | uniq -c

ergibt eine Ausgabe in der in der ersten Spalte die Anzahl der Vorkommnisse und in dahinter Datum und Uhrzeit stehen. Damit kann man schnell überblicken, ob der Fehler sporadisch auftritt oder zu einer Uhrzeit gehäuft. Je nach Wahl der Cut-Grenzen, kann man in Stunden- oder auch 10-Minuten Intervallen schauen.

Perl und Unicode

Obwohl ich eigentlich ganz gut verstehe, wie Unicode in seinen verschiedenen Ausprägungen funktioniert, war mir (und ist zum Teil noch) ein Rätsel, wie Perl damit umgeht. In der Vergangenheit hatte ich vornehmlich das Problem, dass Skripte obskure Unicode-Fehlermeldungen an Stellen produzierten, an denen ich garantiert nicht mit Unicode arbeiten wollte. Ursache ist die Verwendung eines Unicode-Locales unter Linux, z.B. das bei uns standardmäßig eingesetzte „de_DE.UTF-8“. Dafür benutze ich seit einiger Zeit diesen Quickfix:

if (defined $ENV{"LANG"}) {
exec 'env', 'LANG=C', $0, @ARGV unless $ENV{"LANG"} eq "C";
}

Damit wird das Skript garantiert im Locale „C“ ausgeführt.

Jetzt hatte ich zum ersten Mal eine Situation, in der ich wirklich Unicode benutzen wollte. Es ging darum, Umlaute im Input in die Umschreibung „ae“ etc. umzuwandeln. Mein erster Versuch dafür war grundsätzlich richtig:

$input =~ s/ä/ae/g;

Das funktionierte aber nicht, d.h. die Umlaute blieben erhalten. Nach etwas Suchen habe ich gefunden, dass man das Pragma utf8 setzen muss, wenn solche Zeichen im Skripttext auftauchen. So funktioniert es also:

use utf8;

$input =~ s/ä/ae/g;

NB: das setzt voraus, dass das Skript mit einem UTF8-fähigen Editor geschrieben und gespeichert ist.