OpenLab #3 „OpenStreetMap“

Wie bereits bei AGU und Ingo zu lesen ist, findet heute Abend um 19 Uhr im Peter-Weiss-Haus in der Doberaner Str. 21 der dritte OpenLab-Workshop statt. Diesmal dreht sich alles im das OpenStreetMap-Projekt.

Das OpenStreetMap-Projekt hat das Ziel, eine freie Weltkarte zu erstellen und für alle denkbaren Zwecke verfügbar zu machen. Mittlerweile beteiligen sich weltweit mehr als 100.000 an der Erstellung dieser Geodaten. Die deutsche Projekt-Seite: http://openstreetmap.de

Der Workshop soll Interessierten einen Überblick über das Projekt geben, Anwendungsmöglichkeiten von Geodatenbanken aufzeigen, sowie den ersten Einstieg in dieses Mitmach-Projekt erleichtern.

Es wird Vorträge zu den folgenden Themen geben:

  • Einführung in das OpenStreetMap-Projekt
  • Anwendungsmöglichkeiten der Geodatenbank (Navigation, Einbindung in Webseiten, …)
  • Verwendung der OpenStreetMap-Editoren zur Dateneingabe
  • technische Hilfsmittel zur Datenerfassung (GPS-Empfänger, Mobiltelefone, Digitalkameras, …)
  • aktueller Stand und Ausblick zum OpenStreetMap-Datenbestand

Die Vorträge werden durch lokale OpenStreetMap-Aktive gehalten.

Für Getränke (zum Selbstkostenpreis) und WLAN ist gesorgt. Mehr Details gibts hier: http://wiki.opennet-initiative.de/index.php/Openlab_03_-_Workshop_OpenStreetMap

Wenn nicht irgendwas dazwischen kommt, dann bin ich da auf jeden Fall dabei. Wenn das mit dem Geocaching was werden soll im Sommer, muss ich mir ja langsam auch mal Tipps für gute GPS-Empfänger holen. 😉

auf Krücken durch Rostock

Da Taxi fahren auf die Dauer dann doch etwas teuer wird, habe ich mich heute mal mit meinen modischen Krücken zu Fuß und mit Straßenbahn in die Stadt gewagt. Zwar würde ich sicherlich auch ohne Krücken irgendwie klar kommen, aber es ist doch schon ziemlich interessant, wie man mit so einer augenscheinlichen Behinderung auf seine Mitmenschen wirkt.

Türen werden einem aufgehalten, die Leute weichen auf der Straße selbst aus und in der Straßenbahn bekommt man sofort einen Platz angeboten. Bei letzterem wird es dann natürlich interessant, wenn mehrere „Härtefälle“ gleichzeitig um einen Sitzplatz buhlen. Hier greift dann ein ausgeklügeltes Scoringverfahren: 26jähriger mit Krücke schlägt agilen Mitsechziger; klapprige Oma schlägt 26jahrigen mit Krücken; 26jähriger mit Krücken schlägt Schwangere im 4. Monat; Hochschwangere schlägt 26jährigen mit Krücken.

Gebracht hat mir dieser Ausflug die Information, dass ich mir einen neuen Hausarzt suchen muss weil meiner seit 1. April nur noch Kardiologe ist. Mist.

Germany’s Next Vorschlaghammer

Wenn man des Nächtens eine sehr (!!!) lange E-Mail formuliert, eine ganze Flasche Cola trinkt und gerade sowieso an einem gesellschaftlich eher inkompatiblen Schlaf-Wach-Rythmus „leidet“, dann kommt es manchmal vor, dass man tatsächlich lange genug wach bleibt, um die komplette Wiederholung von „Germany’s Next Topmodel“ zu sehen… oder besser zu hören, da ich den Fernseher nur noch zum Nebenherdudeln an habe.

Wow… Abgesehen von der Grenzwertigkeit des vermittelten Schönheitsideals, den Wortschöpfungen („orale Haltung“) oder der schizophrenen Aktion, zuerst die Mädchen selbst entscheiden zu lassen, welche 2 von ihnen NICHT an einem Casting teilnehmen dürfen, um sich im Anschluss dann darüber aufzuregen, dies hier sei „Germany’s Next Topmodel und nicht Germany’s Next Mobbing Master“, ist die musikalische Untermalung die wirkliche Katastrophe.

Von der Hans Zimmer-artigen Action-Filmmusik-Begleitung während der Jury-Beratung („Ich glaube, sie hier ist am tiefsten von allen getaucht.“ – Wow, was für ein Kriterium!) bis zu den Musikeinspielern bei den einzelnen Entscheidungen: Oh, ich glaube sie fliegt raus, schnell eine traurige Ballade einspielen… ah nein doch nicht… gut dann schnell die Ballade ausblenden und stattdessen irgendein rockiger Indieschranz, damit der Zuschauer auch merkt, dass er sich jetzt freuen soll.

Das ist Gefühlsimplikation mit dem Vorschlaghammer. Musik soll ja die emotionale Stimmung der gezeigten Bilder unterstützen, aber das geht doch wohl auch dezenter. Das wäre ja so, als würde ich die ersten Schritte meines in Kürze erwarteten Neffen musikalisch mit der „Ode an die Freude“ von Beethoven inkl. Chor und vollem Orchester versehen. Wobei das wenigstens noch Stil hätte.

Aber gut, nun sind alle 10 Mädchen eine Runde weiter und ich kann nur hoffen, dass es meinen Füßen bis zum nächsten Wochenende wieder besser geht, damit ich meinen Schlafrythmus mittels Party und Alkohol wieder normalisieren kann und die nächste Wiederholung einfach verschlafe.

Web-2.0-Bonuswochen

Die Assimilation schreitet weiter voran… nachdem ich seit einigen Tagen bei XING angemeldet bin, gibt es seit heute nun auch einen Tweet von mir (@schmuwi). Mal schauen, wie mir das alles gefällt. Über XING kamen sogar schon die ersten Nachrichten von Personalvermittlern, aber da bin ich wie Ingo erstmal skeptisch. 😉

[PHP] hohe sys-cpu-Last durch lstat(2)

Seit geraumer Zeit hat mich bereits der Zustand gestört, dass unsere PHP-Webserver eine extrem hohe System-CPU-Last aufweisen. Wenn die CPU 40% der Zeit mit der Abarbeitung der PHP-Scripte beschäftigt ist (usr%), dann steht die sys%-Anzeige ebenfalls bei 35-40%. Nach zahlreichen Vermutungen und einigen Spielereien mit oprofile und sysprof kam Ingo heute mit der Idee, einfach den PHP-Prozess per strace zu beobachten.

Heraus kam, dass der Großteil der Systemaufrufe aus lstat(2) besteht. Pro Request waren das gute 15.000 Aufrufe, die insgesamt 0,8 Sekunden gedauert haben (von ~5 Sekunden gesamt). Der Blog-Artikel von Nir Levy brachte mich dann auf die PHP-Konfigurationseinstellung realpath_cache_size, aber leider brachte auch das keine Linderung. PHP führte immernoch unzählige lstat-Aufrufe für immer die gleichen Verzeichnisse aus.

Letztendlich fand sich open_basedir als Schuldiger. Wenn open_basedir oder safe_mode in Verwendung sind, wird der realpath-cache komplett deaktiviert. Nachdem open_basedir aus der Konfiguration rausgeflogen war, sank die sys-cpu-Last von 40% auf angenehme 10% und es waren noch ganze 5 (!!!) lstat()-Aufrufe im trace.log vorhanden. Das heißt, wir müssen uns um weitere Webserver erstmal keine Gedanken machen. 😉

South Park – Staffel 13

Vor kurzem ist in den USA die 13. Staffel von South Park angelaufen. Wie bereits letztes Jahr gibt es auch diesmal wieder alle Episoden online auf southparkstudios.com. Die aktuelle Episode ist eine Woche lang verfügbar (ab Donnerstag früh Europäischer Zeit), dann 3 Wochen gesperrt und im Anschluss wieder da. Da ich letzte Woche nicht dazu gekommen bin, hab ich leider die erste Episode verpasst. Die 2. Episode „The Coon“ ist dafür der totale Knaller. Lange nicht mehr so gelacht.

Ich weiß jedenfalls, was ich die nächsten Wochen Donnerstags machen werde. 😉

Umstieg auf PDT

So… ich bin jetzt von PHPEclipse auf PDT umgestiegen. Eigentlich war ich mit PHPEclipse im großen und ganzen ja zufrieden. Die Bugs haben im täglichen Gebrauch kaum gestört und wenn man sich erstmal an ein Programm gewöhnt hat, dann möchte man da eigentlich auch nicht so schnell wieder weg. Heute wollte ich mich dann aber mal mit Remote Debugging mit Xdebug beschäftigen, da ich einen ziemlich fiesen Bug fixen musste. Das war mit PHPEclipse aber nicht möglich, da ich an folgendem Problem gescheitert bin:

java.lang.IllegalArgumentException: Path for project must have only one segment.

Abgesehen davon scheint das Projekt schon wieder ein bisschen eingeschlafen zu sein (ein Monat lang keine Commits, Milestones alle mehrere Monate überzogen).

Also PHPEclipse deinstalliert und PDT über die Update Site installiert… alles ohne Probleme. Mein PHP-Projekt hab ich dann wie hier beschrieben an PDT angepasst und schon lief alles. Die ganzen Einstellungen werd ich mir die nächsten Tage mal nach und nach anschauen und so einstellen, dass mir die ganzen Eingabehilfen nicht allzu sehr auf den Sack gehen.

Die Einstellung für das remote debugging war dann ein bisschen tricky, weil ich erstmal etwas rumprobieren musste, was er nun genau wo stehen haben möchte. Der „XDebug Guide for PDT 2.0“ war da ganz hilfreich.

Eines der „Probleme“ mit denen ich hier zu kämpfen habe ist, dass beim remote debugging der Webserver den Client (also meinen Rechner) kontaktiert. Das wird aber schwer, wenn die Adresse fest eingetragen werden muss, mein Rechner dank DHCP und VPN aber ständig woanders ist. Das löse ich jetzt erstmal über einen SSH-Tunnel. Auf dem Server gibt es also folgende Einstellungen:

xdebug.remote_enable = 1
xdebug.remote_host = localhost
xdebug.remote_port = 9000

Dann stelle ich den SSH-Tunnel zum Server hier:

ssh -R 9000:localhost:9000 web-uwe@devel.spion-hro

PDT ist dann ebenfalls auf Port 9000 konfiguriert und jetzt funktioniert das auch alles. Der Bug lies sich dann auch relativ fix lokalisieren: Man sollte keine mehrdimensionalen Arrays an preg_replace() schicken. Der stampft die 2. Ebene nämlich ein und macht daraus jeweils Strings mit dem Inhalt „Array“… soviel dazu… 😉

OpenLab 2: Verschlüsselung (und der Ärger mit Apple Mail)

Wie bei Ingo bereits zu lesen (und mit Fotos zu bestaunen), fand gestern das OpenLab zum Thema „Verschlüsselung“ statt. Die Theorie am Anfang war für mich persönlich eher Wiederholung aber mein Hauptaugenmerk lag eh auf der Erstellung und Beglaubigung meiner frisch erstellten Accounts bei CAcert.org und thawte.com.

Die Website von Thawte ist tatsächlich katastrophal. Viele Links sind in irgendwelchen kleinen gedruckten aber dafür ewig langen Beschreibungstexten versteckt. Links und Hinweis/Fehler-Meldungen sind beide rot, sodass man nie weiß, ob das jetzt ein Link ist oder nicht. Authentifizieren muss ich mich über HTTP-Auth, ein Logout ist also nur über „Browser schließen“ möglich. CAcert ist dafür mehrsprachig und ich kann mich per Client-Zertifikat einloggen.

Inzwischen sind die Assertions alle durch und ich hab erfolgreich meine Zertifikate mit Namen erstellt. Und da fängt das Problem mit Apple Mail schon an. Wenn ich für eine E-Mailadresse mehrere Zertifikate im Schlüsselbund habe, kann ich nicht auswählen, mit welchem Zertifikat ich die Mail signieren möchte. Statt dessen scheint er die Mail mit beiden Zertifikaten zu unterschreiben. Das sieht aber doof aus, wenn bei Leuten ohne installiertes CAcert-Zertifikat dann angezeigt wird, dass die Signatur nicht überprüft werden kann.

Ich finde GUI-Vereinfachungen ja prinzipiell gut und so wie Apple die Sache gelöst hat, ist das auch ziemlich einfach und passiert mehr oder weniger komplett ohne Zutun des Anwenders (was IMHO immernoch die größte Hürde bei Anfängern darstellt). Aber wenn man eine GUI soweit vereinfacht, dass tatsächlich Funktionalität verlohren geht, dann find ich das doof.

Jetzt kann ich überlegen, ob ich entweder jeweils eines der Zertifikate für die Mailadressen deaktiviere, wie hier vorgeschlagen, oder ich wechsle meinen Mail-Client und versuche es mal mit Thunderbird. Toll finde ich beide Alternativen nicht.

Auf jeden Fall werde ich die Tage jetzt mal ein paar weitere Notare/Assurer aufsuchen, um noch ein paar weitere Punkte zu ergattern. Danach wird das mit Signierung und Verschlüsselung von Mails dann großflächig eingeführt im Bekanntenkreis. Muhathathathat 😉

GPGMail für Leopard

Eine Sache, die komplett an mir vorbei gegangen ist: Bereits am 30. Dezember wurde die Version 1.2.0 von GPGMail, dem GnuPG Plugin für Apple Mail veröffentlicht. Diese Version funktioniert nun auch mit Leopard und somit kann ich endlich wieder meiner Mails signieren.

Festplattenimages von Parallels Desktop verkleinern

Da ich meine virtuelle Festplatte für Windows XP mit 32 GB etwas zu groß finde, möchte ich diese verkleinern. Solch eine Kombinationsaktion von Dateisystem verkleinern (NTFS), danach Partition und zum Schluss Festplattenimage anpassen scheint es direkt von Parallels nicht zu geben (setze hier Parallels Desktop 3.0 ein). Mit ein wenig Handarbeit und ner Linux-Rettungs-CD sollte das aber machbar sein.

Achtung: Diese Anleitung richtet sich bewusst NICHT an Leute, die nicht mit der Linux-Kommandozeile umgehen können. Mit den hier eingesetzen Tools kann man auch ziemlich viel kaputt machen! Wie immer sind alle Angaben ohne Gewähr. Backups schützen vor Datenverlust!

den ganzen Eintrag lesen »