Als ich vor Jahren noch etwas mehr mit der Deutschen Bahn unterwegs war und meine Bahn-Reisepläne noch ziemlich häufig in meinen eigenen “flachen” Textkalender übertrug, schrieb ich mir in Perl eine Utility dafür. In meinem “flachen” Textkalender / bzw. meinem Tagebuch AKA diary stehe alle meine Events und ich kann dort immer sehr übersichtlich Details hinzufügen – weil ich seit soooooo vielen Jahren mit diesem Tagebuch (und auch “dezentralen”, aufgaben- bzw. projekt-spezifischen Tagebüchern) arbeite, kann ich mit einfachen Unix-/Linux-Mitteln und auch mit dedizierten Utilities dort alles Mögliche finden und extrahieren, meine Arbeitszeiten, meine Kinobesuche, pi, pa, po …
- https://en.wikipedia.org/wiki/ICalendar – das Format der Quelldatei, gewöhnlich mit der Endung “.ics”
- BAHN_Fahrplan.ics – der Inhalt eines solchen Fahrplanes enthält normalerweise natürlich nicht nur Abreise und Ankunft, sondern alle Teil-Verbindungen – die will ich natürlich extrahieren, auch wenn sie “nur” im Text (“DESCRIPTION”) der “.ics”-Datei beinhaltet ist, dort aber eigentlich über die Jahre hinweg in einem extrem stabilen Format – meine Utility kann also insbesondere mit dieser Unterform umgehen
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Format-of-Diary-File.html – das Format der “diary”-Datei in Emacs – eine richtig flache Text-Datei
Meine “diary”-Einträge sind gewöhnlich um “tags” angereichert, selbstverständlich meine Reise-Einträge erst recht.
Die Zeilen der DESCRIPTION werden im Original (das der Benutzer in seinem Kalender sieht) gerne auch mal sehr lange. In der “.ics”-Datei will man das nicht. Lange Zeilen werden in Stücke zu weniger als 70 Zeichen zerteilt. Echte Zeilenumbrüche werden durch “\n” gekennzeichnet. Den Fortsetzungszeilen einer DESCRIPTION wird ein einzelnes Leerzeichen vorangestellt.
Meine Utility behandelte Leerzeichen am Zeilenende zusammen mit den Zeilenende-Zeichen und mithin etwas fahrlässig. Das hatte zur Folge, dass den wieder zusammengesetzten langen Zeilen einige Leerzeichen fehlten.
Heute hatte ich zwischen 2 Terminen die Muße und ein bisschen den Druck, dieses Problem zu analysieren und zu lösen. Jetzt fehlt den erzeugten diary-Einträgen kein Leerzeichen mehr. Die Lösung dieses Problems hatte ich sehr, sehr lange auf die lange Bank geschoben. Jetzt freut es mich sehr, dass die Produkte meiner Utility vernünftig aussehen. Auch meine Unit-Tests / Regression-Tests laufen jetzt “etwas anders” durch. Ich konnte in jedem einzelnen Fall die neue Output-Datei als Referenz-Output-Datei übernehmen. Das fühlt sich gut an.
Heutzutage werden gerade im geschäftlichen Kontext viele “.ics”-Dateien zum Austausch präziser Information zu Besprechungsterminen hin- und hergeschickt – ich genieße es sehr, sie alle in mein Tagebuch übernehmen zu können. Selbstverständlich übernehme ich eine Menge von Ihnen auch in einen meiner Online-Kalender, und das ist sehr, sehr nützlich. Auf die Termine in meinen Online-Kalendern greife ich auch gerne für Video-Telefonate über mein Chromebook zu – dazu brauche ich dort nur einen Kalender-Tab in einem Browser auf dem Chromebook, und hopplahop bin ich innerhalb von Sekunden auf dem Chromebook in meinem Video-Telefonat. Aber Notizen für den mittel- bis längerfristigen Gebrauch habe ich doch viel lieber in meinem Emacs-diary (AKA Tagebuch).