Tag Archives: Internet

Kalendertool gesucht

Ich vermisse es mal wieder: Mein Wunschkalendertool.

Folgende Eigenschaften soll es haben:

  • Frontend im Stil vom Google-Kalender. Erreichbar über jeden Browser.
  • Verfügbare Software, die ich auf meinem eigenen Server installieren kann und die mir alleinige Kontrolle über meine Daten gibt.
  • Das Backend kann Kalenderdaten in IMAP-Foldern verwalten. Das ist meine derzeitige Speicherform, die den Vorteil hat, dass ich kein zusätzliches LDAP- oder DAV-System installieren muss, sondern einfach mein E-Mail-Postfach verwenden kann.
  • Kostenlos und OpenSource.
  • Optional: Eine schicke API, mit der ich ggf. auch andere Tools wie z.B. einen Reminder anbinden kann. Das muss aber nicht sein, weil die Daten ja auch schon im IMAP-Folder gut lesbar vorliegen.

Sachdienliche Hinweise bitte in die Kommentare oder per Nachricht an mich.

Windows Vista: Auf der Höhe der Zeit?

Bei unserem Zeitabgleich zwecks Mensabesuch fiel mir vorhin auf, dass die Systemuhr meines Vista-Systems (das ist unfreiwillig nutze) mal wieder einige Minuten nachgeht. Normalerweise merke ich so etwas nicht, die lokalen Dienste stören sich nicht daran, bei Terminen ist der Griff nach dem Handy gewohnter und direkt zeitkritische Dinge tu ich auf dem Rechner nicht.

Trotzdem stellte sich dann die Frage: Was tun, um diese Situation in Zukunft ohne Mehraufwand zu verhindern? Seit XP kann sich auch Windows mit öffentlich verfügbaren Zeitservern synchronisieren. Das scheitert im Netz der Uni Magdeburg aber daran, dass das Rechenzentrum sehr restriktiv bei der Freigabe von Ports ist und NTP schlichtweg nicht funktioniert. Vista bestätigt das mit der lapidaren Meldung, dass irgendwo ein Fehler aufgetreten sei. Eine Möglichkeit, auf unprivilegierte Ports auszuweichen, gibt es nicht.

Zum Glück gibt es an der FIN einen eigenen Zeitserver (herkules.cs.uni-magdeburg.de), der sich für solche Zwecke einspannen lässt; mit diesem läuft es dann jetzt. Sonst hätte ich auf das Feature wohl verzichten müssen. Eine spontane Google-Suche nach Tools zur Zeitsynchronisierung unter Vista hat mich jedenfalls nur auf Seiten geleitet, die die Lösung mit bordeigenen Mitteln beschreiben.

Indirekter SPAM

Das Antiblau-Blog war heute zeitweise nicht erreichbar, gemeinsam mit einigen anderen Diensten, die auf diesem Server laufen.

Grund ist eine indirekte SPAM-Attacke: Irgend jemand hat heute morgen eine meiner E-Mail-Adressen als Absender für eine größere Menge von SPAM-E-Mails missbraucht. Der Effekt war, dass der Server mit failure notice-Nachrichten bombardiert wurde – insgesamt ca. 8000 Stück.

Das fiese an so einer Attacke: Das findet wohl kein SPAM-Filter. Die Fehlerbenachrichtigungen sind korrekte und unverdächtige E-Mails, lediglich ihre Anzahl ist ungewöhnlich. Hier kann wohl nur eine konsequente Umsetzung diverser Anti-Spam-Maßnahmen wie z.B. Absenderverifikation helfen.

Aber bis es soweit ist, kann ich wohl nur versuchen, die Erkennungsmaßnahmen zu optimieren und einzelne Parameter so zu tunen, dass viele E-Mails den Server nicht mehr in die Knie zwingen.

Ideen sind an dieser Stelle oder direkt an mich natürlich immer willkommen!

Flock – Social Browsing

Eigentlich war ich auf der Suche nach einer Firefox-Integration für Bibsonomy. Aber wie das so ist, bin ich dabei über einige andere Dinge gestolpert. Zum Beispiel Flock.

Flock ist ein sogenannter Social Web Browser, das heisst, neben den üblichen Browser-Features (Flock ist ein Firefox-Abkömmling) gibt es eine Vielzahl von Integrationen für Web 2.0-Dienste, z.B. del.icio.us, Flickr, WordPress (tatsächlich schreibe ich gerade mit der WordPress-Integration von Flock).

Das Interface ist gewöhnungsbedürftig, weil es eine Menge neuer Optionen gibt. Wer aber sowieso viele Web 2.0-Dienste nutzt, wird sich damit wohlfühlen.

Flexibles Issue Tracking mit roundup

Fuer den Einsatz in der Firma suche ich derzeit ein Bug- und Issue-Tracking-System. Nicht ausschliesslich fuer unsere Engineeringabteilung, sondern auch fuer die Jungs vom Service, die die Hilfeschreie entgegennehmen, wenn der Kunde (fliegendes Personal, und damit extrem ungeduldig) ausnahmsweise mal nicht von der Runway wegkommt.

Eins ist klar: Es muss Open-Source sein. Zum einen will ich nicht erst eine ellenlange Begruendung fuer die Finanzbuchhaltung schreiben, warum sie bitte schoen n+1 Euro fuer eine Software ausgeben sollen, deren Nutzen fuer die Firma sie ohnehin (wieder mal) nicht korrekt quantifizieren koennen. Zum anderen will ich nicht erst mit m+1 Vertrieblern von irgendwelchen Softwarebuden quatschen, die mir ihre “Marktfuehrer”-Loesung aufschwatzen wollen. Aber noch viel wichtiger: Ich will schnell mal eben was aendern koennen, wenn das Tagesgeschaeft es notwendig macht!

Also dann, Wikipedia ist mein Freund, und auf in die taktische Aufklaerung auf dem Softwarefeld: http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems listet einen ganzen Wald von Optionen auf. Neben dem eierlegenden Wollmilchborstenviehmoloch “Bugzilla” existieren viele nette kleinere Systeme, die zwar nicht so dick auftragen, die dafuer aber umso schneller und wartbarer sind und fuer deren man Evaluierung man nicht erst im RDBMS herumfuhrwerken muss (bravo!). Web- und Email-Frontends sind anscheinend per stiller Konvention ohnehin ueberall dabei (wobei ich das Email-Frontend derzeit ueberhaupt nicht brauch’).

Besonderen Gefallen habe ich an Roundup gefunden, der ist nicht nur sehr flink, sondern vor allem sehr vielseitig. Eine der Uebersetzungen von Roundup aus dem Englischen ist “Razzia”, und dem Namen macht das kleine Softwarepaket alle Ehre: Neben PostgreSQL und MySQL kann Roundup auch mit sqlite umgehen, das macht das Testen sehr bequem; es bringt seinen eigenen Webserver mit, fuehlt sich aber im mod_python-erweiterten Apache2 genauso daheim; es laesst sich als Bugtracker, Trouble-Ticket-System, ToDo-Liste, persoenliche Zeiterfassung und sogar als Kaffeemaschine konfigurieren. Okay, die Kaffeemaschine ist jetzt gelogen, aber ich wette, lange dauert’s nicht mehr, dann gibt’s auch das! Nettes Feature: Pro Eintrag in die Issue Liste wird eine kleine Mailingliste angelegt, so dass alle Beteiligten/Interessenten ohne viel Aufwand verfolgen koennen, wie sich ein Problem seiner Loesung naehert.

Am besten gefaellt mir bei der Arbeit mit Roundup die Dokumentation, die mit Beispielen nicht geizt, wie man unkompliziert Erweiterungen am Datenbankschema und an den Eingabemasken und Ansichten vornehmen kann: http://roundup.sourceforge.net/doc-1.0/customizing.html. Die Beispiele wirken allesamt wie direkt aus der Praxis entnommen und geben selbst einem Python-Laien wie mir in kuerzester Zeit das Gefuehl, die Dinge wirklich in der Hand zu haben. Innerhalb eines Tages ist es mir gelungen, einen Protoypen zu basteln, in den wir exemplarisch mal ein paar der Bugs der letzten Wochen eingetragen haben. Der Tag Arbeit schliesst eine Customization der CSS-Stylesheets auf unsere Firmen-CI genauso mit ein, wie das Erstellen von automatisierten Reports ueber den Lebenszyklus von Kundenanfragen und Fehlermeldungen fuer die Geschaeftsleitung. Und demnaechst wird auch die Serviceabteilung angebunden, kann ja nicht laenger als einen Tag dauern. ;-)

Fazit: Ich frage mich, warum ich mir ueberhaupt andere Systeme angeschaut und nicht stattdessen gleich Roundup genommen habe. Hier finde ich alles, was ich brauche, um meinen Job zu erledigen, ohne viel Zeit von den Hauptaufgaben abzuzwacken. Ich wuenschte, es waer immer so einfach! Und ich komme von meinem Vorurteilen ueber Python weg, der Produktivitaetsgewinn macht die infantile Syntax locker wieder wett. ;-)

SMTP-DSN: Warum einfach …

… wenn es auch kompliziert geht.

Hintergrund ist folgender: Ich habe für eine Plattform ein Mailinglisten-System implementiert. Das war notwendig, weil es dort sehr spezielle Regeln zur Generierung der Empfänger gibt, die jedes Mal dynamisch angewendet werden müssen. Bestandteil dieses System ist natürlich auch die Erzeugung von Bounces, um Fehler und Ausnahmezustände mitzuteilen.

Dabei ist mir etwas aufgefallen: Es gibt drei nette RFCs, die sich mit dem Format dieser Delivery Status Notifications (DSN oder kurz Bounce) beschäftigen:

Diese Konventionen regeln, wie eine Bounce-Message aufgebaut ist, wie die Informationen abgelegt werden, welche Fehlercodes es gibt und so fort.

Und nun kommt unser kompliziertes Leben: Kein Mail User Agent, den ich kenne, wertet die Bounces anhand dieser RFCs aus! Statt dessen bekommt der – mittlerweile oft laienhafte – E-Mail-Nutzer eine kryptische Fehlermeldung zu sehen, die häufig so interpretiert wird, dass die Adresse nicht existiert. Das ist ein beliebter Grund für Bounces, aber oft auch falsch.

Liebe MUA-Programmierer: Warum gibt es keine Ansicht fuer Bounces, in der die Informationen aufgeschlüsselt sind und auch den Nutzern, die E-Mails nicht per telnet lesen können, verständlich gemacht werden? Das würde einen weißen (nein, eigentlich schwarzen) Fleck auf der Landkarte der E-Mail-Kommunikation beseitigen.

Binary H(e)art

binary heart Heute schrieb die ettercat einen Link auf nebenstehenden Comic von xkcd.com ins IRC. Die Seite hat mich schon des öfteren mit wirklich lustigen Comics begeistert, zumal einige nur mit entsprechendem Geek-Hintergrundwissen wirklich lustig sind. Nummer 99 – »binary heart« – trifft vom Untertitel der Seite (»A webcomic of romance,
sarcasm, math, and language.«) klar den romantischen Teil. Aber ganz ehrlich, seid Ihr nicht auch total neugierig, ob sich hinter den Nullen und Einsen im Bild nicht noch eine zusätzliche Botschaft verbirgt? Ich war es jedenfalls und da nur selbst dekodieren schlau macht, hab ich frei nach dem Perl-Motto »Es gibt mehr als einen Weg, etwas zu tun« die Zeichen einzeln abgetippt und ein kleines Skript geschrieben.

Hart (siehe Titel ;-)) war da dran einerseits das Abtippen vom Comic – man verrutscht schon sehr leicht in Zeile und Spalte – und andererseits um Mitternacht die eingerosteten Perl-Kenntnisse zu reaktivieren. Wer sich gern selbst an einem Progrämmchen in beliebiger Sprache probieren will, kann sich die binär codierte Nachricht runterladen, die Textdatei, wo ich mal die Einsen und Nullen abgetippt habe.

Ach und für die ganz Neugierigen oder zur Kontrolle des eigenen Programms hier noch die Auflösung:

iloveyOuilOveyouiloveyOuilOveyOuiloveyouilOveyouilOveyOuilOv

PIM-Synchronisation: Es könnte so einfach sein…

Für ein Projekt, über das ich später umfangreicher berichten werde, habe ich die Standards für das Speichern und Austauschen von Kalender- und Adressbuchinformationen recherchiert.

Dabei habe ich ohne viel Mühe Standards für folgende Aufgabenstellungen gefunden:

  • Ablegen beliebiger Objekte in zentralen Speichern, z.B. IMAP und LDAP
  • Darstellen von Visitenkarten (vCard)
  • Darstellen von Kalendereinträgen, TODOs, Journals und Austausch von Verfügbarkeitsinformationen (iCalendar)
  • Austausch von Kalenderinformationen (iTIP, iMIP)

Außerdem ein RFC, das sich mit dem Zusammenspiel dieser Protokolle beschäftigt.

Meine Fragen:

  • Warum ist es trotzdem nicht möglich, die PIM-Daten auf Handy, PDA und PC miteinander abzugleichen, einfach mal einen Termin zu verschicken oder die Aushandlung eines Termins meiner Kalenderapplikation zu überlassen?
  • Warum gibt es proprietäre Formate zum Austausch dieser Informationen?
  • Ist die Welt nicht schon kompliziert genug?

Wer Antworten hat, ist herzlich eingeladen, einen Kommentar abzugeben.

Free Download Manager 2.5 erschienen

Ich benutze seit längerem schon den Free Download Manager im Zusammenspiel mit der Erweiterung FlashGot für Mozilla Firefox. Die spielen gut miteinander und gerade bei vielen oder größeren Downloads finde ich das ziemlich praktisch.

Heute ist eine neue Version des FDM erschienen und ich war angenehm überrascht über mehrere Dinge:

  • Bittorent support
  • Portable mode
  • General Public License

Ich bin gespannt ob die halten, was sie versprechen. Gerade Bittorrent fetzt aber, weil ich dann kein zusätzliches Programm mehr dafür brauche. Ich werde das testen und berichten.

Ach und außerdem haben die Entwickler des Programms darum gebeten, doch mal in Blogs verlinkt zu werden. Dem sei hiermit Genüge getan. ;-)

Wir haben's doch!

Ich weiß ja, dass ich in Bezug auf Resourcen-Sparsamkeit von Software mittlerweile als hoffnungsloser Idealist dastehe und ein weiterer RAM-Riegel billiger ist als eine Optimierung. Aber was ich gerade bei Heise gelesen habe, wirkt doch nach:

Da gibt es auf heise security einen Bericht über einen Virus, der MP3-Dateien löscht. Darüber mag man spekulieren und Verschwörungstheorien entwickeln, jedoch reicht es nicht für einen Blog-Eintrag kurz vor dem Schlafengehen.

Hängengeblieben bin ich an dieser Textstelle im zweiten Absatz:

Nach der Infektion des Systems verankert sich der in Delphi programmierte Deletemp3 in den Windows-Autostarts

HALLO?! Sind wir wirklich schon so weit, dass wir Viren in Delphi schreiben und eine Verknüpfung in den Autostarts reicht, um ihn auszuführen? Wo sind die Hacker, die sich Nächte damit um die Ohren schlagen, ein Virus in den Bootsektor zu bekommen? Mit Assembler, nicht Delphi!? Wo bleibt denn da der Stil?

Offenbar ist es aber auch nicht gelungen, das Virus korrekt zu programmieren:

Aufgrund von fest einprogrammierten Programmpfaden soll der Wurm jedoch unter Windows 2000 nicht korrekt laufen

Also, liebe Script-Kiddies: Wenn ihr schon mit Viren rumspielen müsst, obwohl ihr gerade mal Delphi beherrscht, dann macht es doch bitte richtig. Noch haben die Hacker einen Ruf zu verlieren. Und die Hersteller der Antiviren-Software einen Job, wenn man sich vor Viren in Zukunft nicht mehr fürchten muss, weil sie eh nur noch als fehlerhafte Beta-Version auf den Markt kommen.

;)