Author Archives: mrtux

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.

Penguineering

Penguineering ist ein Kunstwort, das aus penguin und engineering zusammengesetzt ist. Die Idee stammt von einer Freundin, die mir dieses Wort freundlicherweise überlassen hat, sodass ich mir gleich mal die Domain penguineering.com reservieren konnte.

Seit gestern Abend ist unter http://tools.penguineering.com eine Sammlung von Tools zu finden, die in einzelner oder gemeinsamer Arbeit der Blog-Autoren entstanden sind und allgemein verfügbar sein sollen.

Die Seite sieht noch etwas mager aus, aber das wird sich im Lauf der Zeit ändern.

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!

Ein Evolutions-Spiel und die Denkfehler des Kreationismus

Nachdem ich wieder einmal auf eine angeblich wissenschaftliche Begründung für die Unmöglichkeit der Evolution gestoßen bin, habe ich doch das Bedürfnis, mit den paar Denkfehlern aufzuräumen.

Denkfehler 1: Die Kreationisten behaupten, ein komplexer Organismus kann unmöglich durch zufälliges Zusammenstellen und Ändern von DNS entstanden sein.

Dieser Aussage schließe ich mich an. Der Fehler liegt in der Voraussetzung, die davon ausgeht, dass Evolution nur zufällige Änderung bedeutet. Die Annahme beschränkt sich auf die Mutation und ignoriert den weit wichtigeren Schritt, die Selektion.

Im Gegensatz zur Mutation ist Selektion keineswegs zufällig, sondern folgt dem Prinzip Survival of the fittest, also dem Überleben des Stärkeren beziehungsweise angepassteren. Während also die Mutation eine zufällige Änderung eines Individuums bewirkt, sorgt die Selektion dafür, dass nur Verbesserungen beibehalten werden.

Korrekt wäre es deshalb, zu sagen, dass Evolution ein Prozess zufälliger Verbesserungen ist.

Denkfehler 2: Die Kreationisten behaupten, dass Evolution nicht funktionieren kann, weil es sehr unwahrscheinlich ist, dass bei dieser zufälligen Verbesserung der Mensch herauskommt.

Diese Behauptung zeugt von einer gewissen Arroganz, nämlich in der Annahme, dass das Ziel der Evolution immer der Mensch sein müsse. Tatsächlich ist das aber nicht gegeben. Evolution hat kein Ziel in dem Sinne, sondern ist lediglich ein Prozess, bei dem die beteiligten Individuen von Generation zu Generation angepasster sind. Das geschieht durch die oben angesprochene zufällige Verbesserung.

In der Formalisierung der Evolutionstheorie spricht man von einer Fitness-Funktion, die angibt, wie gut ein Individuum angepasst ist. Einziges Ziel der Evolution ist, diese Fitness zu erhöhen.

Würde also der Evolutionsprozess auf der Erde noch einmal starten, käme sehr wahrscheinlich nicht der Mensch heraus. Mir ist aber auch kein Naturgesetz bekannt, nach dem die Erde irgendwann von Menschen bevölkert sein müsse.

Um die Vorgänge bei der Evolution etwas zu verdeutlichen, schlage ich folgendes Evolutionsspiel vor, das an einen “Beweis” der Kreationisten angelehnt ist:

Man nehme sechs Zettel, die mit den Zahlen 1 bis 6 beschrieben sind und lege sie in zufälliger Reihenfolge vor sich auf den Tisch. Weiterhin wird ein W6 (das ist ein “normaler” sechsseitiger Würfel, wie er in jedem gut sortierten Haushalt zu finden ist) benötigt.

Innerhalb der “Spielwelt” wird nun davon ausgegangen, dass diese sechs Zettel ein Individuum darstellen, das umso stärker ist, je besser die Zettel der größe ihrer Zahl nach geordnet sind.

Ein Spielzug besteht aus zwei Aktionen:

  1. Zuerst wird mutiert: Mit dem W6 wird zweimal gewürfelt. Die Zettel, deren Position der Würfel anzeigt, werden zum Vertauschen vorgemerkt. Mit ihnen soll das neue Individuum gebildet werden.
  2. Anschließend wird selektiert: Nur stärkere Individuen sollen überleben, deswegen werden die Zettel nur dann ausgetauscht, wenn anschließend der Zettel auf der niedrigeren Position auch die kleinere Zahl hat.

Wenn man Aktionen ein paarmal wiederholt, wird man sehen, dass die Zettel zunehmend in eine sortierte Reihenfolge gebracht werden. Wichtig ist hier der zweite Schritt, der verhindert, dass schwächere Individuen, also schlechter sortierte Zettelfolgen, sich durchsetzen können. Das ist der Schritt, der in der kreationistischen Denkweise unterschlagen wird.

Das Spiel macht auch deutlich, dass Evolution ein langwieriger Prozess ist. Während sich am Anfang recht schnell eine gewisse Ordnung einstellt, dauert es recht lange, bis wirklich alle Zettel ausgewählt wurden. Jedoch sind die Individuen der späteren Generationen recht stark, enthalten also kaum falsch sortierte Zahlen.

HowTo: Standard-Dateiberechtigungen im Apache

Die Aufgabe: Dateien, die vom Apache HTTP-Server erzeugt werden, sollen bestimmte Zugriffsrechte erhalten.

Seit wir das Antiblau-Blog mit einem Cache versehen haben, bekomme ich regelmäßig E-Mails von dem Script, das sich normalerweise um die Korrektur der Berechtigungen in den WWW-Verzeichnissen kümmert (die Struktur lässt sich mit den Standardmechanismen der Unix-Dateiberechtigungen nicht mehr abbilden und ACLs habe ich nicht). Der Grund ist, dass die Cache-Dateien mit der Gruppe des Apache, statt mit der Gruppe des Webspaces, und mit den falschen Zugriffsrechten erzeugt wurden.

Die Gruppenberechtigung lässt sich leicht korrigieren, indem das Gruppen-Stickybit des übergeordneten Verzeichnisses gesetzt wird:

chmod g+s cache

Schwieriger ist die Anpassung der Zugriffsrechte von 640 auf 660. Hierfür muss der Apache so konfiguriert werden, dass auch Gruppen Schreibrechte erhalten. Das geschieht über die umask-Variable (umasks legen fest, welche Berechtigungen bei einem chmod wieder gelöscht werden), die in der envvars-Konfiguration angegeben werden.

Dazu habe ich in die Datei

/etc/apache2/envvars

den Eintrag

umask 002

eingefügt, den Apache neu gestartet und schon war das Problem behoben.

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.

Hierarchische Package-Darstellung in Eclipse

Nachdem mir heute wieder ein “Wie machst Du das eigentlich?” begegnet ist, bringe ich als Abwechslung zu ewig langen Text-Einträgen mal ein kurzes Bunte-Bildchen-Howto:

Viele Eclipse-Nutzer sehen in der Java-Perspektive ihre Package-Struktur so:

Package-Explorer - flache Darstellung

Der Nachteil dieser Darstellung ist, dass sich die Baumstruktur der Packages nur schwer nachvollziehen lässt. Die Darstellung ist flach und genauso heisst sie auch: Flat Package Presentation.

Viel günstiger ist aber meist die Hierarchical Package Presentation, bei der Packets wieder in einer Baumstruktur dargestellt werden:

Package Explorer - hierarchische Darstellung

Erreicht wird dies, indem man in der rechten oberen Ecke des Package Explorers das Menü öffnet und die Option Package Presentation von Flat auf Hierarchical umstellt:

Package Explorer - Menü

Dort befinden sich auch einige andere nützliche – oder vielleicht auch nervige – Optionen der Package-Darstellung, die sich je nach Belieben aktivieren oder deaktivieren lassen.

Einsam in der Zwischenablage

Zu den ungelösten Rätseln der Windows-Gemeinschaft (unfreiwillige Mitgliedschaft üblich) gehört auch die Antwort auf die Frage, wieso die Zwischenablage (aka Clipboard) auch bei Windows Vista weiterhin nur die Aufnahme eines einzigen Elements erlaubt, während andere Desktopsysteme schon seit Generationen eine einfache Clipboard-Verwaltung über die Traybar erlauben.

Bislang habe ich mich damit abgefunden, heute wurde es mir zu nervig, ständig Daten aus der Zwischenablage zu verlieren. Deshalb habe ich mich einmal auf die Suche nach entsprechenden Tools gemacht. Folgende Einschränkungen waren gegeben:

  • Lauffähig unter Windows Vista (was auf dem Rechner im Labor installiert ist)
  • OpenSource, wenigstens FreeWare – ich mag für dieses “Feature” nicht auch noch bezahlen
  • möglichst schlank
  • einfach bedienbar, ohne in die gewohnte Arbeitsweise einzugreifen

Schon der erste Punkt hat die Auswahl sehr stark begrenzt, was aber letztendlich auch den Entscheidungsprozess vereinfacht hat. Interessant bis erschreckend fand ich, dass solche Tools nur selten kostenlos verfügbar sind. Letztendlich hab ich mich mit einer Lite-Version zufrieden, die als Freeware erhältlich ist. Selbst mit grundlegenden Funktionen kann man hier noch Geld verdienen.

Drei Kandidaten blieben letztendlich übrig:

  1. ClipMagic
  2. MultiClipBoard
  3. Visual Clipboard LE

ClipMagic erschien mir auf den ersten Blick zu überladen. Ich möchte meine Zwischenablage nicht klassifizieren und auch nicht langzeitarchivieren.

MultiClipBoard entspricht zwar dem gewünschten Funktionsumfang, sieht aber selbst für meinen Geschmack einfach hässlich aus. Das Tool kam auf die Ersatzbank.

Blieb noch Visual Clipboard LE, das zwar nur in abgespeckter Version kostenlos ist, dafür aber ansprechend aussieht und meine funktionalen Anforderungen erfüllt. Es lassen sich eine voreinstellbare Zahl von Texten und Bildern speichern und rudimentäre Einstellungen, insbesondere zur Art der Aktivierung vornehmen. Die Mausaktivierung habe ich ausgestellt – ich werde sie wohl eh nicht nutzen – per Tastatur wird die Auswahl eines Clipboard-Inhaltes per Druck auf Strg+Alt angezeigt. Leider lässt sich diese Einstellung nicht ändern.

Ich werde beobachten, die gut ich mit diesem Tool auskomme. Natürlich nehme ich gern Hinweise für weitere Tools, die den oben genannten Kriterien entsprechen, entgegen.

Noch ein Tipp: Wenn man (jedenfalls unter Vista) beim Öffnen eines Kontextmenüs im Explorer die Shift-Taste gedrückt hält, erscheinen weitere Optionen. Zum Beispiel “Als Pfad kopieren”, um den Pfad einer Datei in die Zwischenablage zu verbringen.

Kernel-Upgrade: Gar nicht so einfach

Nachdem ich die NE2k-Netzwerkkarte aus meinem Server durch eine 3com-Karte ersetzt hatte, dachte ich mir heute, dass ich eigentlich das längst fällige Kernel-Upgrade mal durchführen könnte. Bislang wurde das durch eben jene Netzwerkkarte verhindert, die nur mit einer Kernel-Version <= 2.6.18 lief.

Ganz so einfach, wie ich anfangs dachte, sollte sich das Upgrade dann aber doch nicht gestalten. Meist erzeuge ich die neue Config, indem ich das alte .config-File in das neue Kernelverzeichnis kopiere und dann manuell die Konfiguration anpasse. Die Parameter passen in der Regel so, dass ich am neuen Kernel kaum etwas verändern muss.

Heute nicht: Offenbar hat sich in den Bereichen SATA-Treiber und Netzwerkfilter so viel geändert, dass einige meiner Optionen, nämlich der SATA-Controller-Treiber selbst und die Targets für das NAT, nicht übernommen wurden. Und weil das letzte Kernel-Basteln mit diesem Rechner schon seeehr lange her ist, wusste ich eigentlich nur noch, dass der Treiber meines Controllers komplett anders heisst, als Chipsatz und Karte. Zum Glück hat die alte Kernel-Konfiguration noch aufschlussreiche Hinweise geliefert. SATA-Krams ist jetzt jedenfalls in einem eigenen Bereich und recht komplett vom SCSI getrennt.

Eine spontane Idee, die ich dabei hatte: Man könnte auf einer Webseite (zum Beispiel unter der Domain kernelconfig.org) einen Service einrichten, der Konfigurationen für einen bestimmten Kernel entgegennimmt und auf möglichst gleich funktionierende Konfigurationen für einen neueren Kernel umsetzt. Im gleichen Zuge könnten noch Tipps gegeben werden, wie sich die Konfiguration verbessern lässt und als Plus könnte passend zu einer Systemanalyse (dmesg, lspci, isapnp, lsusb, ….) eine passende Kernel-Konfiguration ausgegeben werden. Falls jemand viel Zeit und Lust hat …

Auf jeden Fall habe ich nun einen aktuellen Kernel (2.6.25) auf meinem Server und kann wieder Uptime sammeln. :)