Vortrag “OpenStreetMap – Kartographie für alle Zwecke”

Oktober 9th, 2013

Morgen, den 10.10.2013 werd ich wieder mal einen Vortrag über die OpenStreetMap halten, diesmal auf der “Shareconomy” Konferenz der Arbeitsgemeinschaft Datenverarbeitung.

Hier mein Abstract:

Am Anfang stand der Wunsch eine lizenzkostenfreie Straßenkarte der Welt zu erstellen und die OpenStreetMap war geboren – quasi die “Wikipedia der Landkarten”. Zuerst wurde sie von den großen kommerziellen Unternehmen belächelt – besonders aufgrund ihres scheinbar unstrukturierten simplifizierten Datenmodells. Schnell hat sich aber eine schier unüberschaubare Datenvielfalt etabliert, die sehr differenzierte thematische Karten ermöglicht – Karten historischer
Sehenswürdigkeiten, Radwegkarten, Karten für Personen mit eingeschränkter Mobilität oder speziell angepasste Karten für humanitäre Katastrophenfälle sind nur ein paar der Möglichkeiten.
Außerdem hat sich rund um die OpenStreetMap ein riesiges Ökosystem an Software entwickelt – das meiste davon natürlich Open Source. Schließlich wollen Daten gesammelt, eingetragen, abgezeichnet und vor allem weiterverarbeitet und schließlich dargestellt werden. Die großen Datenmengen stellen auch besondere Anforderungen an die Datenbanksysteme.
Die OpenStreetMap bildet inzwischen die Basis für einige erfolgreiche Unternehmen. Außerdem kann sie gut mit Open Data Initiativen kombiniert werden. Last but not least gibt es viele wissenschaftliche Projekte die sich mit diesen Daten auseinandersetzen.

Hier finden sich die Folien:

2013-shareconomy-openstreetmap-title

 

Linux: Force permissions for new files/directories

Mai 28th, 2013
mkdir foo
chgrp somegroup foo
chmod g+ws o-rwx foo
setfacl -dm u:www-data:rx,u::rwx,g::rwx,o::- foo

All files in directory foo will be created with 660 (directories with 770) permission in the group somegroup. Also, the user www-data will get read (directories also execute) rights.

Fuß- und Radverbindungen zwischen 4. und 6. Bezirk.

Februar 24th, 2013

Ich hab ja in meinem letzten Post meine Arbeit aus der Übung Verkehrsplanung veröffentlicht, was auf ganz schönes Medienecho gestoßen ist. Die Radlobbys IG-Fahrrad und Argus haben meinen Vorschlag auf ihren Homepages veröffentlicht, worauf es auch auf derStandard.at diskutiert wurde.

Nachdem die Diskussion zum Radweg wohl noch länger nicht abgeschlossen ist, möchte ich noch die folgende Arbeit einbringen, die ich heute vormittag erstellt hab – eine Sammlung der derzeitigen Fuß- und Radverbindungen zwischen  4. und 6. Bezirk.

Ich hoffe, die Diskussion damit etwas bereichern zu können. Es würde mich freuen wenn einige der Verbesserungsvorschläge – die ich am Ende der Arbeit bringe – umgesetzt würden (ich wäre vermutlich täglicher Nutzer davon).

Diskussionsgrundlage: Fuß- und Radverbindungen zwischen 4. und 6. Bezirk (Wienzeile)

Radverbindungen zwischen 4. und 6. Bezirk

Radweg Getreidemarkt->Karlsplatz

Februar 18th, 2013

Vor ein paar Tagen haben die Wiener Grünen angekündigt, dass der Radstreifen am Getreidemarkt von der Lehárgasse zur Wienzeile weitergeführt werden soll.

Derzeit endet der Radstreifen, der direkt neben dem Gehsteig auf dem Fahrbahnniveau verläuft mit einem lapidaren “Ende” bei der Lehárgasse. In Zukunft soll der Radstreifen die Auto-Fahrspuren kreuzen und quasi zwischen Geradeausspuren und Linksabbiegespuren weitergeführt werden. Als Alltagsradler in Wien fahre ich diese Variante genauso, allerdings sehe ich für mich einige Nachteile. Derzeit suche ich mir die Stelle an der ich die Fahrspuren kreuze abhängig vom aktuellen Verkehrsaufkommen sehr genau aus. In Zukunft werde ich dazu verdammt sein, genau dem Verlauf zu folgen und vermutlich warten zu müssen bis mir der Autoverkehr ein Kreuzen erlaubt. Man darf nicht vergessen, dass am Getreidemarkt sehr hohe Geschwindigkeiten gefahren werden (auch von den AlltagsradlerInnen).

Ein weiteres Problem löst der vorgeschlagene Plan auch nicht, nämlich die Verbindung Karlsplatz->Getreidemarkt->Museumsquartier, derzeit ist ein mühsamer Umweg über die Nibelungengasse notwendig. Besonders schlimm ist es, wenn man vom Karlsplatz zum TU Audimax möchte (was für hunderte Studierende alltägliche Notwendigkeit ist), da muss man nämlich ebenso über Nibelungengasse -> Eschenbachgasse -> Getreidemarkt fahren (quasi “mit der Kirche ums Kreuz”) oder den Getreidemarkt hinaufschieben. Der Radweg mit einer etwaigen “Gegen die Einbahn”-Öffnung der Lehárgasse wäre auch eine attraktive Verbindung in den 6. Bezirk.

Ich hab mich im Rahmen meines Raumplanungsstudiums vor ein paar Jahren mit der Situation beschäftigt und hab den folgenden Plan erstellt. Ich hab darin einen baulich getrennten Zweirichtungsradweg entlang des Gehsteiges vorgeschlagen. Meiner Meinung nach ist das vor allem für ungeübtere RadlerInnen an dieser Stelle eine bessere Lösung.

Hier gibt’s die ausführliche Beschreibung zum Runterladen: Planung für einen Lückenschluß des Radweges am Getreidemarkt im Bereich Wienzeile (8.2MB, PDF)

Übersichtsplan

kernel-clean

Oktober 22nd, 2012

On Debian/Ubuntu it happens that old kernel packages accumulate with the regular updates. Those use up a lot of space (about 100MB per version). Removing old, unused kernels manually is a boring task, that’s why I wrote a script: kernel-clean. It checks for the currently running and the newest installed kernel and removes all others.

Get the code on Github: https://github.com/plepe/kernel-clean/

__FILE__ in JavaScript

Oktober 15th, 2012

Many programming languages provide a magic __FILE__ variable which holds the path to the currently executing file. JavaScript unfortunately don’t. Using several sources, I implemented a __FILE__ variable for JavaScript. Unfortunately it does not work in all browsers, especially not in Internet Explorer and Safari. There seems to be a possibility for IE10, but lacking a Windows 8 machine I can’t test it. If you find a way for these browsers or other improvements please contribute your code.

Here’s the source code: https://gist.github.com/3891980

Sources I used for this GIST:

Umsteigebehinderung Breitensee

März 15th, 2012

Im Studium Raumplanung lernen wir, dass man fehlende Wegverbindungen an den Trampelpfaden auf Grünflächen erkennt. Ein solcher findet sich in Breitensee zwischen dem westlichen Ende der Stra?enbahnstation der Linie 49 und dem Abgang zur S-Bahn-Station (im Plan braun eingezeichnet).

Nun, mit einem solchen Trampelpfad fallen mir spontan drei Dinge ein, die man damit machen kann:

  1. den Weg offiziell machen (z.B. in dem man ihn asphaltiert und damit barriererfreier gestaltet) – super
  2. den Trampelpfad so lassen wie er ist – ok
  3. eine Barriere einbauen, damit der schöne Rasen nicht weiter zertrampelt wird – mies

Entschieden hat man sich für die dritte Option. Es wurde ein Zaun aufgestellt (siehe Bild 1; im Plan schwarze Linie) der eine Benützung des Pfades verhindert. Die Alternative ist, dass man den Randstein entlangbalanciert (siehe Bild 2; roter Weg) oder den Umweg über das östliche Ende des Parks in Kauf nimmt (blauer Weg).

Eigentlich ‘ne Frechheit.

Weg mit Zaun Balancieren am Randstein Plan Breitensee

OpenStreetMap auf den Linuxwochen Wien 2011

Mai 2nd, 2011

Diese Woche, 5.-7. Mai 2011, finden wieder einmal die Linuxwochen in Wien statt. Ich wurde, wie letztes Jahr, dazu eingeladen etwas über die OpenStreetMap zu erzählen, und zwar am 5. Mai um 18:00. Vielleicht ist ja jemand meiner werten LeserInnenschaft interessiert, und beehrt mich mit ihrer/seiner Anwesenheit. Ich würde mich sehr darüber freuen :)

Hier der Abstract zu meinem Vortrag:

Neuigkeiten in der OpenStreetMap

Die OpenStreetMap, die Wikipedia für Landkarten, entwickelt sich stetig weiter. Inzwischen sind über 350.000 MapperInnen registriert, von denen im Schnitt 6.000 jede Woche aktiv sind und Änderungen an der Karte vornehmen.

Immer mehr kommerzielle Firmen entdecken die OpenStreetMap und verwenden sie als Datenquelle für ihre Services, sehr oft in Kooperation mit der OpenStreetMap-Community. Da die Lizenz CC-BY-SA für manche kommerzielle Firmen ein Problem darstellt, wurde ein Lizenzwechsel auf die selbstentwickelte ODbL (Open Database License) initiiert, der im April in die dritte Phase gegangen ist.

Auch in Österreich tut sich auch einiges. So hat GeoImage.at - eine Kooperationsgemeinschaft der österreichischen Länder und dem Bund für Orthophotos – seine Photos zum Abzeichnen freigegeben. Der Verein OpenStreetMap Austria wurde gegründet, mit dem Ziel die OpenStreetMap in Österreich zu bewerben. Seine erste Aktivität ist die Organisation der “State Of The Map – Europe” Konferenz, die im Juli in Wien stattfinden wird.

Über all das wird Stephan Plepelits berichten, aber auch über sein großes Projekt – den OpenStreetBrowser - der auf Version 2.0 zusteuert.

Apache2 AuthExternal and WebDav

März 25th, 2011

Now for something technically more challenging, because it cost me several hours of debugging, but was pretty simple actually. In case somebody else on the world tries to restrict read/write-permissions to a WebDav directory with the AuthExternal module, they can find a solution here :)

For my newest project in work I am setting up a project server offering Git repositories, a web page and maybe more. Something similar to GitHub but we want to maintain the repositories ourselves. I’m using Drupal for the web page and the access control and a selfwritten module (called Git Repository) for the interaction with the Git archives (I didn’t really find a matching module for this job, at least for Drupal 7).

Access to the Git Repositories is limited to http(s) via WebDav currently, using the Apache2 AuthExternal module for authentication. In the “Git Repository”-module there are two scripts which handle interaction – they connect to Drupal asking for read/write-permission to the linked node.

For checking read/write-permission I used this howto, but I had the problem it didn’t work, write access was still possible to the directory, though the script returned the correct exit-codes.

This is the .htaccess-file:
AuthType Basic
AuthName "Repository"
AuthBasicProvider external
AuthExternal git_repo
GroupExternal git_repo
<LimitExcept GET HEAD OPTIONS>
Require group may_write
</LimitExcept>
Require group may_read

According to the howto this should be correct … and it is, I tested it without GroupExternal authentication. After several hours of debugging I came up with a really simple solution:

Apparently GroupExternal does a fall-back to the default “Require group” statement in case the limited “Require group” statement fails. So my simple solution was to just use negative logic:
AuthType Basic
AuthName "Repository"
AuthBasicProvider external
AuthExternal git_repo
GroupExternal git_repo
<Limit GET HEAD OPTIONS>
Require group may_read
</Limit>
Require group may_write

Voila, problem solved.

Wikileaks dezentral?

Februar 13th, 2011

Antje Schrupp, deren Blog ich seit einiger Zeit ganz gerne lese, hat vor einigen Tag etwas über die Veröffentlichung des Buches über Wikileaks von Daniel Domscheit-Berg geschrieben. Das hab ich als Anlass genommen, meine eigenen Gedanken zu Wikileaks als Kommentar niederzuschreiben. Da ich das auch mit meinen anderen LeserInnen teilen möchte, veröffentliche ich das somit auch hier:

Ich hab – so wie Viele – in der letzten Zeit viel über Wikileaks nachgedacht. Ich finde Wikileaks – bzw. die Möglichkeit unangenehme Information anonym veröffentlichen zu können – eine wichtige Sache. Das Problem ist nur, dass hinter Organisationen Menschen stehen, die angreifbar sind und durch ihre Aktivität in Machtstrukturen hineingeraten. Außerdem entsteht in einer Organisation zwangsläufig Gruppendynamik, die nicht notwendig ist und der Sache meist nur schadet. Ich glaub für ein erfolgreiches Wikileaks müssen folgende Notwendigkeiten erfüllt werden:

Dezentralität: Es sollte nicht möglich sein, die Information zu unterdrücken. Als die US-Depeschen veröffentlicht wurden, haben tausende Organisationen weltweit Wikileaks-Mirrors erstellt, damit niemand Wikileaks offline nehmen kann. Man müsste alle offline nehmen, und mit jeder Website die offline genommen wird, kommen drei nach (wie die Hydra in der griechischen Mythologie ;) ). Was wäre wenn diese Mirrors nicht nur die Information spiegeln, sondern wiederum die Möglichkeit zur Veröffentlichung haben?

Lokalität: Eine Organisation die Wikileaks betreibt,wird früher oder später zu klein sein. Wenn die involvierten Personen alle zugespielten Informationen zuerst sichten und bei Bedarf anonymisieren müssen, ist das ein wahnsinniger Aufwand. Das führt automatisch dazu, dass dann nur die brisantesten Informationen wirklich veröffentlicht werden. Ich hab auf anderen Blogs gelesen, dass Wikileaks auch Informationen kleinerer Länder (im konkreten Fall Österreich) zugespielt wurden, die dann aber nie bearbeitet wurden. Hier seh ich auch das Sprachproblem: wenn in der Organisation niemand der Sprache der Informationen mächtig ist, bedeutet das automatisch ein Aus. D.h. Jede Region, jede Sprache, jede Sache gegen die gekämpft werden soll, sollte die Möglichkeit haben eine eigene Wikileaks-(Unter-)Organisation zu gründen.

Vernetzung: Jede dieser lokalen, dezentral organisierten Wikieaks sollte auf Ressourcen der anderen zurückgreifen können. Z.b. falls sie durch Zensur bedroht sind oder weil sie zusätzliche Arbeitskräfte benötigen um einer etwaigen Informationsflut Herr/Frau zu werden oder falls sie keine Ressourcen haben um die technischen Anforderungen (Internet-Zugang, Server, …) zu bewältigen.

Ich weiß nicht, ob die werten LeserInnen dieses Blogs mit „BitTorrent“ vertraut sind. Das ist eine Internettechnologie für Filesharing. Die Theorie ist gar nicht so schwer: Alice möchte eine Datei (wichtige_information.doc) mit anderen Leuten teilen, dazu sagt sie das einem sogenannten „Tracker“ (eine Art Adressbuch). Bob, der diese Datei haben möchte, fragt den Tracker nach dieser Datei. Tracker sagt, dass Alice die Datei hat, worauf sich Bob den ersten Teil von Alice herunterlädt (die Datei ist groß, darum wird sie in mehrere Teile geteilt). Jetzt kommt Charly, er möchte auch die Datei haben. Der Tracker sagt ihm jetzt, dass Alice die Datei komplett hat, Bob hat ausserdem den ersten Teil. Charly lädt sich den ersten Teil von Bob und den zweiten Teil von Alice. Sobald Alice alle Teile entweder an Bob oder an Charly verteilt hat, kann sie ihren Computer abschalten, da Bob und Charly die restlichen Teile selber austauschen können bzw. an weitere Leute weitergeben können. Nur der Tracker (und da kanns auch mehrere geben) muss darüber Bescheid wissen, wer welche Teile der Datei hat. Sobald Bob und Charly die vollständige Datei haben, sind sie mit Alice gleichwertig, es ist (vermutlich) nicht mal mehr nachvollziehbar, wer ursprünglich die Datei veröffentlicht hat.

Damit kann man Informationen „in die Internetwolke“ auslagern. Solange es genug Leute gibt, die zumindest ein paar Teile der Datei haben damit sie ein Ganzes ergeben, bleibt die vollständige Information im Internet. ZensorInnen hätten im Prinzip keine Chance die Informationen wieder zu entfernen, sie müssten jeden einzelnen Computer der einen Teil der Datei hat abschalten.

Das Prinzip des Bittorrent im Internet gehört aber noch weiterentwickelt. Derzeit ist die Bedienung noch viel zu technisch und nur für das Verteilen von Dateien gedacht. Im Prinzip ist das World Wide Web auch nichts anderes als ein Verteilen von Dateien, nur dass diese gleich dargestellt werden und die technischen Hintergründe für die BenutzerInnen verschleiert werden. Warum sollte so etwas nicht auch für Bittorrent möglich sein? Für die BenutzerInnen sollte es unwichtig sein, ob sie die Informationen von einem Webserver oder aus der „Cloud“ empfangen werden.

Ich denke das könnte eine Basis für ein dezentrales, vernetztes Wikileaks – oder noch besser ein neues World Wide Web – darstellen. Ich hoffe, ich konnte ein paar interessante Gedanken in die Diskussion einstreuen. Würde mich über weitere Gedanken freuen :)