Yoyod, die erste: Mail

Es gibt vier Probleme, wenn man einen Mailserver selbst betreiben möchte:

  • der Server sollte dauernd erreichbar sein, damit er Mails auch entgegen nehmen kann,
  • der Server sollte abgesichert sein und offensichtliche Spam-Mail erst gar nicht annehmen,
  • andere Mailserver sollten dem Server "vertrauen", damit sie dessen Mails entgegen nehmen,
  • der Server sollte regelmäßig über ein Backup gesichert werden, damit (wichtige) Mails nicht verloren gehen.

Der letzte Punkt ist einfacher zu realisieren, denn dies sollte sowieso für jeden Computer gemacht werden. Wer seine Daten nicht sichert, darf sich hinterher nicht beschweren. Ich empfehle, die eigenen Daten ohne viel Schnickschnack zu sichern. Aber das ist eine andere Geschichte.

Die ersten drei Punkte sind dagegen viel schwerer zu realisieren. Einen Server dauerhaft im Netz zu betreiben, gut und permanent zu administrieren, Sicherheitspatches einzuspielen, sich über die neuesten Tricks der Spammer auf dem Laufenden zu halten und dafür zu sorgen, dass der eigene Server eben nicht auf eine Blacklist kommt, das ist eine Aufgabe für fähige Administratoren. Ganz zu schweigen, dass man sich tiefergehend mit MTAs, MDAs, MUAs und ggf. MRAs auseinander setzen muss. Tiefergehend. Für mein Wochenendprojekt ist das definitiv zu viel.

Viel einfacher ist der in einem c't-Artikel besprochene Weg: mein Mailhoster kümmert sich um die ersten drei Punkte. Das macht er nämlich richtig gut. Alles, was ich noch tun muss ist:

  • einen Mailaccount beim Mailhoster einrichten,
  • die Mails regelmäßig abholen und auf den eigenen Server schieben (dafür ist der MRA notwendig, bei mir ist es getmail),
  • einen lokalen MDA betreiben (ist bei mir procmail),
  • für den Zugriff meines Mailprogrammes einen IMAP einrichten (bei mir: dovecot),
  • dafür sorgen, dass der MTA (bei mir postfix) die Mails nicht direkt versendet, sondern den MTA des Mailhosters als Relais verwendet.

Das alles klingt schwieriger als es ist. Außerdem hat ein Wochenende zwei Tage und zwei Nächte ;-). Im Ernst, je nach verwendetem Betriebssystem (Windows bitte eher nicht) und / oder Distribution und / oder Hersteller des Serverleins gibt es schöne Anleitungen im Netz. Einfach mit der Suchmaschine der Wahl danach googeln.

Bei mir war die Sache mit dem MRA (getmail) etwas einfacher, da ich getmail schon für den Backup meines Kontos bei Google Mail verwendet habe. Das dort beschriebene entsprechend anpassen.

Das Einrichten von MDA (procmail) und IMAP (dovecot) war recht einfach, viel zu schrauben ist dort nicht. Trickreicher war höchstens, den MTA (postfix) zu überreden, die Mails nicht selbst auszuliefern, sondern den Mailhoster als Relais zu verwenden. (Nebenbei: bei meinen persönlichen Tests kamen alle Mails auch ohne Relaisfunktion an, bis auf die an meine Arbeit. Your mileage may vary.)

Den Aufruf von getmail steuere ich übrigens per cron. Zu meiner eigenen Entschleunigung fragt getmail nicht alle paar Minuten meinen Mailhoster auf neue Mails ab, sondern viel seltener. Aktuell experimentiere ich mit Zeitabständen von 2-3 Stunden. Sprich, ich kann soviel meinen lokalen IMAP-Server neue Mails prüfen lassen, die kommen eh erst alle 2-3 Stunden an. Wenn ich mich an die Zeitabstände gewöhnt habe (ja, dass muss ich), dann werde ich die Zeitabstände wochentags noch weiter verzögern: nur noch um 13 Uhr und um 17 Uhr. Wenn ich einmal eine Mail schneller benötige (z.B. zur Registrierung), kann ich den Abruf manuell starten oder den Webmail-Client meines Mailhosters nutzen.

Mit diesem Aufbau kann ich meine Mails im lokalen Netz sehr komfortabel abrufen. Für den mobilen Zugang muss ich meinen Router an zwei kleinen Stellen öffnen (IMAPS und SMTPS), mein Serverlein über einen DDNS-Dienst einen DNS-Namen geben (habe ich aus anderen Gründen sowieso) und einige Zertifikate für SSL erzeugen (habe ich auch schon).

Fertig.

Jetzt kann ich meine Mails auch mobil abrufen. Bisher nutzte ich auf meinem Händie zwei Mailprogramme: eines für die Arbeit und für Google Mail das von Google. Nun brauche ich nur noch eines. Sehr bequem.

Mein Konto bei Google Mail hat eine Weiterleitung auf meinen Mailhoster, seit Jahren nutze ich den Weiterleitungsdienst der ACM. Diesem muss ich meine neue Mailadresse mitteilen. So kommen alle Mails weiter an. Wer so etwas nicht hat, sollte nun allen die neue Mailadresse mitteilen.

Der Backup funktioniert?

Jetzt ist das erste Wochenende auch schon herum. Wer den Tatort verpasst hat, kann sich bei Twitter für das montägliche Teeküchengespräch beim Kaffeekochen noch schnell präparieren.

Beim nächsten Mal geht es um einen Ersatz für Google Reader.

Update 20.02.2012: die Gewöhnung an die Zeitabstände ging schneller als gedacht. Ab nun also nur noch wirklich um 13 Uhr und um 17 Uhr.

Schlagworte: Gmail, google, mail, yoyod.

Yoyod, die nullte

Als ich im letzten Blogeintrag darüber schrieb, wie man ein Backup für Google Mail anlegen kann, blieb bei mir tief im Inneren das Gefühl: da stimmt etwas nicht.

Google Mail ist ein sehr bequemer Dienst. Die Web-Oberfläche ist zwar nur einigermaßen komfortabel, aber ich habe mich mit einer Reihe von Labels und Filter dort gut eingerichtet. Spam ist kein großes Problem, dem Filter sei Dank. Für den mobilen Zugriff gibt es eine halbwegs vernünftige App. Zur Not ginge auch die Mobilansicht. Also was solls?

Ja, damals wollte ich weg von Google und habe es nicht geschafft. Den Anfang sollte Google Reader machen, aber nach einiger Zeit bin ich dann doch wieder zurück gekommen. Zu fehlerbehaftet war die Software (damals: Gregarius). Das lag sicher auch daran, dass ich nur über einen, hmm, eingeschränkten Webspace verfügte. Vom mobilen Zugang möchte ich gar nicht sprechen.

Heute ist vieles anders. Über meinen Hoster kann ich mich selbst nach knapp einem Jahr nun gar nicht beschweren. So gut wie alles ist dort möglich. Aber viel wichtiger: seit über 2 Jahren schnurrt ein kleines, linux-basiertes Serverlein unter meinem Schreibtisch. Dort hoste ich Daten, die besser auf meinen Systemen bleiben sollen (Klausuren, ...). Denn für jeden Rechner gilt: you must trust the admin. Nicht, dass ich Uberspace nicht über den Weg traue. Aber selbst unter Freunden gibt es Dinge, von denen der andere nichts wissen muss. Seit einem halben Jahr traue ich mich mein Serverlein nicht nur intern zu betreiben.

Irgendwann im letzten Jahr fing ich an, über meine eigenen Daten wieder nachzudenken. Mail, RSS-Feeds, Kalender, Kontaktdaten liegen teilweise in der Cloud. (BTW, immer wenn ich "Cloud" höre, fehlt mir das Objekt des Satzes). So 100%ig bin ich auch mit den ganzen sozialen Netzen nicht zufrieden. Weil es Twacbak gibt, nutze ich Twitter. Geplusst wird kaum und wenn, dann nur an bestimmte Kreise. Und Facebook? Da ist wohl wenig zu sagen. Wer sich dort austoben will, soll es tun. Oder ist noch nicht 18.

Den letzten Anschub gaben ein c't-Artikel und der Blogpost Why do self-respecting hackers use Gmail & Co?. Natürlich hätte ich einfach nur meine Mail bei Uberspace hosten lassen können. Aber zum einen lerne ich gerne dazu. In diesem Fall, wie man einen Mailserver aufsetzt und betreibt. Und zum anderen möchte ich meine Daten bei mir haben. Auf nicht von mir kontrollierten Systemen können gerne ggf. Kopien liegen. Aber meine Mail soll aufs Serverlein.

Womit ich die Titelzeile auflösen kann: Yoyod bedeutet "You Own Your Own Data". Das ist mein Motto für dieses Jahr. Ich weiß, damit bin ich spät dran. Aber besser als nie.

Nach dem Abschied von Google Mail steht der von Google Reader an. Passt sowieso zur Änderung der "Datenschutzerklärung" bei Google.

Schlagworte: Gmail, daten, google, mail, yoyod.

Sommerloch, oder: Dropbox hat gelogen?

Wieder einmal regen sich einige Leute auf. Dropbox soll die Benutzer "belogen" haben, was die Sicherheit ihrer Daten betrifft.

Unabhängig von möglichen Versprechungen auf der Website von Dropbox, wundert mich, dass jemand mit etwas technischem Verstand diese wirklich ernst genommen hat. Wenn Klartextdaten von einer Website herunter geladen werden können, dann muss der Betreiber auf diese Daten im Klartext Zugriff haben. Es sei denn, der Benutzer hat auf seinem Rechner zum Download eine spezielle Software installiert (direkt oder durch den Beteiber). Das ist aber bei Dropbox nicht der Fall.

Der Konkurrent Wuala verschlüsselt tatsächlich nur beim Benutzer, ein Webzugriff erfolgt über ein Java-Applet. Ist das sicherer? Vielleicht. Denn ich muss Wuala vertrauen, dass sie in den Verschlüsselungmethoden keine Hintertür eingebaut haben.

Bei allen Diensten, die ich nutze gilt: ich muss dem Administrator / Diensterbringer vertrauen. Alles andere funktioniert nicht. Oder ich betreibe alle Dienste selbst. Wenn ich meine Daten "sicher" haben möchte, dann packe ich einen TrueCrypt-Container in meine Dropbox. Oder in meinen Wuala-Space.

Mich wundert, weshalb Wired und Netzpolitik jetzt diese Kuh durch das digitale Dorf treiben. Haben wir schon das Sommerloch? Oder fehlt beiden das grobe technische Verständnis? Ich weiß nicht, was mich mehr beunruhigen sollte. Die "Lüge" von Dropbox oder der technische Mangel von technologie-orientierten Webseiten.

Schlagworte: cloud, dropbox.

Tracking Numbers

Gestern habe ich im ToolBlog von Stephan List einen interessanten Eintrag gefunden: Die Pile-File-Methode. Besonders hat mich das dahinterstelehende Konzept der Tracking Numbers angesprochen.

Wer kennt diese Zahlen nicht? Bei jeder Bestellung tauchen diese auf, damit können wir bei dem Lieferdienst unserer Wahl nachverfolgen, wo das Paket sich befindet. Schwer zu merken, aber anscheinend für viele Probleme sehr effektiv.

Warum also diese nicht für die eigene Ablage einsetzen? Jedes Dokument, jede Email, von mir aus auch jeder Tweet wird mit der jeweiligen Tracking Number markiert. Zusammengehörige Dokumente erhalten die gleiche Tracking Number. Jedes Dokument kann auch mehrere Tracking Numbers erhalten, wenn es zu verschiedenen Gruppen gehört. Insofern sind diese Tracking Numbers nichts weiter als ein Tag.

Das Problem mit normalen Tags ist nur, dass man sich immer wieder neue Namen ausdenken muss. Bei Tracking Nummbers geht das einfacher. Man nehme das aktuelle Datum und die aktuelle Uhrzeit, fertig. Das ganze lässt sich einfach automatisieren. Unter Windows zum Beispiel mit Autohotkey. Unter OSX habe ich mir zunächst prototypisch mittels TextExpander ein entsprechendes Tastaturmakro gebaut.

Wie findet man alle Dokumente einer Tracking Number? Mit der normalen Suchfunktion. Unter OSX mit Hilfe von Spotlight, unter Windows über die mitgelieferte Desktopsuche. Voila.

Unter OSX gibt es noch etwas, das die Sache noch schöner macht. Jede Datei kann mit frei wählbaren Metainformationen versehen werden, die von Spotlight berücksichtig werden. Einfach die Datei auswählen und Apfel-I drücken (oder: rechte Maustaste, Menüpunkt "Informationen" anwählen). Damit kann jede Datei aufgespürt werden, egal wo sie abgelegt wurde. Unter Windows geht dies nur bei bestimmten Dateitypen (z.B. MS Office). Nur Not könnte man dort die Tracking Number in den Dateinamen aufnehmen.

Ein Problem gibt es allerdings noch, und das ist für mich gravierend: wie baue ich mir eine Datenbank mit allen verwendeten Tracking Numbers auf? Ich habe keine Lust, jedesmal ein Excel-Sheet zu öffnen und an die richtige Stelle zu navigieren, um dort einen Eintrag zu machen. Ich möchte eine einfache Textdatei, die pro Zeile die Tracking Number und eine knappe Beschreibung enthält.

Möglicherweise kann dies mit ein wenig Programmcode gelöst werden. Unter OSX mit Hilfe von AppleScript (oder Automator/Python), unter Windows vielleicht sogar mit Autohotkey. Per Tastenkürzel öffnet sich ein Fenster, in das man die Beschreibung eingibt. Als Ergebnis wird die Tracking Number erzeugt und mit der Beschreibung in die fest definierte Textdatei geschrieben. Je nach Fassung wird die Tracking Number zur Anwendung gesendet oder in die Zwischenablage gestellt.

Endlich ein kleines Projekt. Ich werde darüber berichten.

Und ja, für Linux findet sich bestimmt auch eine Lösung.

Schlagworte: OSX, Plan, Software, Tool, Windows.

Die Kraft des einfachen Textformats

Ich hasse Word. Das tut nie das, was man will.

Dieser Ausspruch läßt sich auf viele anderen Programme übertragen: Word, Excel, Powerpoint, die ganze OpenOffice Suite, Keynote, Numbers, Page, Graphikprogramme, und so weiter. Ganz spannend wird es, wenn eine Keynote-Präsentation in das Format von Powerpoint umgewandelt werden soll. Oder, noch schlimmer, Word nach OpenOffice Writer. Dann bleibt einem meistens nur noch übrig, den reinen Text von dem einen in das andere Programm zu kopieren und die Formatierung anschließend wieder nachzuvollziehen.

Einer der Gründe ist die Verwendung von sehr eigenwilligen Datenformaten. Heutzutage sind die meisten Office-Dateien nichts anderes als eine Sammlung von XML-Dateien, die in eine ZIP-Datei gepackt wurden. Manchmal hilfreich, meistens irrelevant. Selbst wenn diese Datenformate "normiert" sind, jedes Programm interpretiert die Norm auf eine eigene Art und Weise. Im Ergebnis läßt sich jede Datei nur von einem Programm lesen und verarbeiten. Der Anwender ist dem Programm auf Gedeih und Verderb ausgeliefert. Ein falsches Bit und der Anwender kann die Datei nicht mehr öffnen.

In vielen Fällen geht es auch anders. Es gibt ein Datenformat, dass in so gut wie auf jeder Plattform verfügbar ist: ganz normaler Text. Jedes Betriebssystem liefert mindestens eine Anwendung zum Erstellen von Textdateien mit. Unter Windows ist es Notepad, unter OSX ist es TextEdit, unter Linux gibt es vi, Emacs, gEdit und wie sie alle heißen.

Erstaunlich viele Daten lassen sich als normale Textdateien ablegen. Die meisten Texte lassen sich so schreiben. Für besondere Bestandteile können sogenannte Auszeichnungssprachen genutzt werden. Das müssen nicht gleich komplizierte Sprachen, wie XML, HTML oder LaTeX sein. Meistens reichen einfache Muster, wie Sie jede(r) bei normalen Text verwenden würde. Zum Beispiel wird eine Textpassage kursiv gestellt, indem diese mit dem Zeichen '*' eingerahmt wird. Übrigens, die meisten Inhalte von Wikipedia sind auf diese Art und Weise erstellt worden. Ein offeneres Format gibt es nicht.

Werden Dateien im Textformat erstellt, so eröffnet sich dem interessierten Anwender ein ganzes Biotop von Anwendungen:

  • ein paar hundert Programme der diversen (Unix-) Shells
    • grep, sort, diff, cut, ...
  • zig Programme der (Windows-) Eingabeaufforderung
  • jede Programmiersprache erlaubt das Lesen und Verarbeiten von Textdateien
  • Versionskontrollsysteme, um die Änderungen zu protokollieren, alte Stände wiederherzustellen oder gleichzeitige Zugriffe zu koordinieren
    • (Probieren Sie das einmal mit Word, Writer oder Pages)
  • Graphiken können zum Beispiel mit graphviz erstellt werden

All diese Programme arbeiten zusammen.

Zur Textformatierung gibt es wunderbare Werkzeuge:

  • reStructuredText interpretiert den eingegebenen Text sehr anwendernah und erzeugt daraus u.a. HTML-, XML, ODP- und LaTeX-Dokumente, sowie mit Hilfe von S5 ansehnliche Präsentationen.
  • Markdown, Multimarkdown und Textile erstellen mit einfachen Angaben strukturierte HTML-Dokumente.

Nebenbei, fast alle Seiten dieses Blogs sind mit Markdown formatiert, einige andere mit reStructuredText.

Aber auch etwas komplexere Formate, wie LaTeX, haben große Vorteile gegenüber den proprietären Formaten. Ich kann mir den Text von anderen Programmen zusammenstellen lassen. So brauche ich Vorlesungsinhalte, die für mehrere Veranstaltungen relevant sind, nur einmal ablegen. Ändern sich diese Bestandteile, sind alle Präsentationen auf einen Schlag angepasst. Machen Sie das einmal mit Powerpoint, Impress oder Keynote. Von der Möglichkeit, an zentraler Stelle Layoutänderungen vorzunehmen ganz zu schweigen.

Mit ganz normalem Text ist jeder Anwender Herr seiner Daten. Archivierungsprobleme gibt es nicht. Sicherheitsprobleme auch nicht. Es ist schon recht schwierig einen Schädling in einer Textdatei so unterzubringen, dass er unerkannt bleibt. Selbst wenn dieser in der schieren Masse von Text verborgen wird, es gibt immer genügend Werkzeuge, die nicht von dem Schädling betroffen ist.

Wenn das keine Gründe sind. Wann steigen Sie um?

Update 4.1.2011: als kleine Bestätigung flattert mir heute morgen noch die folgende Seite hinein: Ad Hoc Data Analysis From The Unix Command Line.

Schlagworte: LaTeX, Markdown, data, format, reST, text.