Monthly Archives: February 2009

1234567890 Sekunden Unixzeit

Unix und viele verwandte Systeme speichern Zeitangaben in Sekunden, die seit dem 1. Januar 1970 00:00 Uhr nach koordinierter Weltzeit (UTC) vergangen sind. Das ist nicht immer ganz unproblematisch, aber wie man unter anderem der deutschen Wikipedia entnehmen kann, gibt es ein paar besondere Werte, die für uns Geeks ein netter Vorwand sind, die Gläser zu erheben und anzustoßen.

Heute Nacht nun wird in dieser Zeitrechnung die Marke 1234567890 Sekunden erreicht. Nach deutscher Zeit (UTC+1) also in der Nacht von Freitag, dem 13. Februar 2009 auf Sonnabend, den 14. Februar 2009 um genau 00:31:30 Uhr.

Für viele Geeks rund um den Globus ist das auch ein Grund zum Feiern, zumindest ist die Trefferliste von Google zu utc 1234567890 ziemlich lang.

Ein besonderes Kuriosum: in Pennsylvania (USA) gibt es einen GeoCache mit dem Titel »When The Clock Strikes 1234567890«! *gg*

Wer mit Tux und mir heute nacht zusammen anstoßen will: wir halten uns in der Stadt Otto-von-Guerickes in der Schenke zur kräftigen Blume auf. ;-)

Nachtrag: ich hab nicht von webvariants abgeschrieben sondern von Stories of a KDE programmer. Den Link hatte Tux am Montag in seinem identi.ca Stream. 8-)

Es gibt (k)eine perfekte Schrift für die Konsole

Ursprünglich hatte ich vor einen Beitrag darüber zu schreiben, dass ich es nicht geschafft habe, für Windows eine Schriftart zu finden, die ich zum Programmieren und als Konsolenschrift nutzen kann, also primär in PuTTY. Nun hat sich das etwas anders gegeben, aber der Reihe nach. Die Anforderungen waren folgende:

  • Festbreitenschriftart, monospace quasi
  • saubere Darstellung in Schriftgröße 9 auf dem Notebook, sprich auf TFT-Bildschirmen
  • gute Unterscheidung von den kritischen Zeichen beim Programmieren: l vs. I und 1, 0 vs. O usw.
  • »Line drawing characters« für Pseudofensteranwendungen auf der Konsole (mc, ncurses-basierte…)
  • als Bonus eine breite Auswahl an Unicode-Zeichen

Courier New

Los geht’s erstmal mit Courier New. Die ist ziemlich ausgelutscht, ist aber schon da und hat neben den Strichzeichen auch eine recht breite Unicode-Unterstützung. Die Unterscheidung zwischen kleinem l und der 1 ist nicht so schön. Die zwischen dem großen O und der 0 könnte auch besser sein, ansonsten aber ganz brauchbar.

Schriftprobe Courier New

Lucida Console

Nächster Kandidat ist die Lucida Console, ebenfalls bei Windows dabei. Die sieht sehr klar aus. Die Unterscheidung zwischen O und 0 gelingt nicht so gut. Mir persönlich ist sie in der gewünschten Schriftgröße zu breit und die Zeilenabstände sind recht eng. Das geht noch besser.

Schriftprobe Lucida Console

Consolas

Bei Windows Vista dabei, aber auch separat von Microsoft zu bekommen ist die Consolas. Die sieht unter den richtigen Voraussetzung rein optisch am besten aus. Die Schrift wurde speziell für TFT-Bildschirme und das dort verwendete Sub-Pixel-Hinting und ClearType optimiert, sieht auf alten Monitoren daher leider grauselig aus. Zum Programmieren eignet sie sich super. Leider gibt es einen ganz großen Haken: sie hat nur einen sehr kleinen Zeichenvorrat und die Strichzeichen sind nicht dabei, was sie für die Konsole komplett disqualifiziert, so bleibt sie leider nur etwas zum reinen Programmieren unter Windows.

Schriftprobe Consolas

Andale Mono

Danach habe ich lange mit der Andale Mono gearbeitet, die früher bei Windows dabei war und auch noch im Netz zu finden ist. Diese Schrift lässt recht viel Raum und wirkt recht klein, was zunächst mal ungewohnt ist, aber dann im täglichen Gebrauch nicht weiter stört. Leider hat diese Schrift einen Pferdefuß, der mich dann doch wieder auf die Suche nach einer besseren Alternative geführt hat. Bei 9pt sind ; und : kaum zu unterscheiden. Für einen Chat im irssi ist das doof, weil man ;-) und :-) kaum noch unterscheiden kann.

Schriftprobe Andale Mono

DejaVu Sans Mono

Gestern dann telefonierte ich mit meinem Bruder, einem studierten Experten auf dem Gebiet der Typographie. Von ihm bekam ich den Tipp es mal mit der DejaVu Sans Mono zu versuchen. Diese ist mir unter Linux natürlich schon das eine oder andere Mal begegnet. Die Schrift selbst wird als offenes Projekt auf dejavu-fonts.org entwickelt und man kann sie als OpenType TTF auch unter Windows nutzen. Sie enthält eine sehr breite Auswahl an Unicode-Zeichen und natürlich auch die gewünschten line drawing characters. Die beim Programmieren relevanten Zeichen sind ausreichend gut zu unterscheiden. Im Terminal wirkt sie sehr hoch und lässt wenig Raum zwischen den Zeilen, wirkt aber ausgewogener als die Lucida Console und ist insgesamt gut lesbar. Das macht sie nicht ganz perfekt aber sie ist frei und daher ab sofort meine erste Wahl als Konsolenschrift.

Schriftprobe DejaVu Sans Mono

eisfair-HowTo: richtig krasse Spam-Mails automatisch löschen

Spam, Spam, Spam, Spam und das jeden Tag. Mein Setup sieht derzeit so aus, dass auf meinem eisfair-Server das Paket mail installiert ist. Dies sammelt via fetchmail die Mails von meinen Mailkonten ein, jagt die durch ClamAV und durch SpamAssassin und verteilt die dann wahlweise auf mein IMAP-Konto oder zum User spam. Das funktioniert sehr gut, auch die false positive Rate des Spam-Filters ist traumhaft, ich kann mich an keinen einzigen in den letzten drei Jahren erinnern.

Nichtsdestotrotz kommen immernoch zu viele Spam-Mails durch. Peter vom Fli4l-Team wurde das bei derselben Software zu viel und kam im IRC mit folgender Lösung um die Ecke: alle Spam-Mails, die von SpamAssassin einen Score größer als 10 bekommen, werden direkt nach /dev/null verschoben, also unwiderruflich gelöscht. Als ich gestern die aktuelle Welle in meinem Spam-Ordner anrollen sah, hab ich beschlossen, das auch umzusetzen.

Mit eisfair ist das zum Glück spielend leicht. Man erstellt als root einfach eine Datei namens custom-systemfilter.rm_spam_mail im Ordner /var/spool/exim und übergibt die dann mit

chown exim:trusted /var/spool/exim/custom-systemfilter.rm_spam_mail

dem passenden Systemnutzer. Der Inhalt muss wie folgt aussehen:

# Exim custom filter
#------------------------------------------------------------------------------
if $h_X-Spam-Score: contains "++++++++++++"
then
    logfile /tmp/exim_filter_rm_spam.log
    logwrite "$tod_log To=$h_to Subject=$h_subject From=$h_from Id=$message_id"
    save /dev/null
endif

(Bei neueren Versionen des Pakets mail kann man die Datei direkt aus /usr/local/exim/examples kopieren.)

Dann geht man ins Setup-Menü, dort in die Konfiguration vom Paket mail und lässt die einmal neu durchlaufen. Das Paket erkennt die zuvor erstellte Datei und meldet folgendes:

adding custom system filter /var/spool/exim/custom-systemfilter.rm_spam_mail ...

Fertig, naja fast. Wer den Filter aufmerksam angesehen hat, erkennt, dass das Log erstmal provisorisch in /tmp/exim_filter_rm_spam.log landet. Eleganter ist es, das Logfile dahin schreiben zu lassen, wo die anderen Logfiles von exim landen, nämlich nach /var/spool/exim/log. Dazu ändert man den Pfad im obigen Beispiel entsprechend ab. Jetzt fehlt noch das logrotate dafür. Dazu kopiert man am besten /etc/logrotate.d/mail in eine neue Datei, beispielsweise /etc/logrotate.de/exim_filter_rm_spam. Diese Datei passt man nun an seine Bedürfnisse an, d.h. man schmeißt den Abschnitt für fetchmail raus, ändert die Pfadangabe für das Logfile und spielt dann noch bisschen mit den eigentlichen Einstellungen. Bei mir sieht das Ergebnis so aus:

#------------------------------------------------------------------
# Creation: 2009-07-07 alex
#------------------------------------------------------------------
/var/spool/exim/log/exim_filter_rm_spam.log {
    rotate 53
    weekly
#    compress
    missingok
    notifempty
    sharedscripts
    create 640 exim trusted
    postrotate
        /etc/init.d/mail -quiet reload exim
    endscript
}

Ich lasse in dem Fall recht viele wöchentliche Logfiles übrig und lasse die nicht komprimieren. Das ermöglicht eine einfache statistische Auswertung, wieviel Spam tatsächlich gelöscht wurde (auch wenn ich das noch nicht umgesetzt habe).

Mehr Infos über das eisfair-Paket gibt’s in der eisfair-Dokumentation im Abschnitt Mail-Package. Die Filter vom Mailserver Exim sind detailliert auf exim.org beschrieben.

Ach und wer erkannt hat, dass ich in meinem Filter die Mails erst ab einen Score von 12 wegwerfe und nicht wie Peter schon bei 10, bekommt ein Bienchen!