William Shatner singt. Eine dreistuendige Sondersendung mit Funk.

William Shatner.

The Shat.

Zum 80. Geburtstag von Shatner widmete ihm The Sound of Plaid nicht weniger als drei Stunden Programm, die vollkommen an mir vorbeigegangen waeren, wenn Monsi mir das nicht empfohlen haette. Nicht immer einfach verdaulich, schliesslich spielen sie nicht nur den damals noch lebenden Leonard Nimoy, der “The Ballad of Bilbo Baggins” singt, sondern auch Shatners sehr spezielle Platte “The Transformed Man”. Vollstaendig. Inklusive mehrerer Ausgleichsunterbrechungen durch Funk, weil die Comoderatorin drohte, ansonsten die Sendung zu verlassen.

Wenn ihr eine Mischung wirklich guter Musik und euch bislang vermutlich unbekannter Seiten von Shatner und Nimoy hoeren wollt: MP3-Direktlink / Sendungsseite

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , , | Kommentieren

OSM rendert jetzt auch Fahrradstellplaetze

Letzten Sommer hatten wir auf dem Campus alle Fahrradstellplaetze in OpenStreetMap nacherfasst, nachdem die Vorlage der Verwaltung leider nicht so praxistauglich war. Mit Leaflet und Overpass kamen die dann auch auf eine klickbare Karte – denn in der normalen Einstellung hat die OSM Fahrradabstellanlagen nicht gerendert.

fahrradstellplaetze_osm

Das ist seit dem Rollout von openstreetmap-carto v2.30.0 anders: Ueberall, wo Anlagen gemappt sind, tauchen sie auch im Default-Kartenstil auf. Yay 😉

Flattr this!

In Allgemein veröffentlicht | Getaggt , , | Kommentieren

„Freude und Wut“ – Stolpersteine fuer Ulm

image

Mehr als 70 Jahre hat es gedauert, bis in Ulm der waehrend der NS-Regierung deportierten und ermordeten Buerger_innen im Strassenbild sichtbar gedacht werden konnte.

Lange wurde von der Initiative Stolpersteine fuer Ulm fuer die Anbringung der „Stolpersteine“ von Gunter Demnig vor den ehemaligen Wohnhaeusern der frueheren Ulmer_innen gerungen – heute wurden die ersten 15 verlegt.

image

Kudos fuer die Aufbereitung auf der Website und in der Broschuere, um die Erinnerung an die Vertriebenen und Ermordeten ergaenzend zu den Steinen lebendig zu halten.

image

Kudos auch dafuer, dass die Verlegung zusammen mit ueberlebenden Angehoerigen vorgenommen wurde. Ein Schauer laeuft den Ruecken hinab, wenn die betagte Enkelin des Ehepaars Hecht vor dem frisch verlegten Mahnmal vor der Neutorapotheke steht, und nach einem „Grossvatter! Grossmutter! Hier ist eure kleine Anneliese!“ davon spricht, gleichzeitig Freude zu empfinden, endlich einen Ort zu haben, an dem sie der beiden (in Theresienstadt quasi verhungerten) gedenken kann – aber auch Wut: „Was haben die beiden denn getan?“.

image

Das resoniert auf seltsame Weise. Ich freue mich, dass das Stadtbild nun nicht mehr nur von Denkmaelern an gefallene Soldaten oder die zivilen Opfer des Bombenkriegs gepraegt wird. Dass das aber 70 Jahre brauchte, ist kaum ertraeglich.

image

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , , , | 2 Antworten

Wie aus Italien Italien wurde

Beim WG-Abendessen mit Marco (aus Italien) wurde neulich mal wieder klar, wie wenige Leute eigentlich die Geschichte ihrer Nachbarlaender kennen. Was das mit Nord- und Sueditalien auf sich hat, die ganz verschieden waren und sind? (Siehe auch: Lega Nord). Wo dabei Garibaldi ins Spiel kam? Und warum viele (aeltere) Leute von sich sagen, dass sie aus $Stadt kommen, nicht aus Italien? Und dabei sogar noch ganz eigene Spezialdialekte sprechen? Die Langfassung ist… lang. Zum Glueck gibt es Erklaerbaervideos 😉

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , | Kommentieren

Verkehrszaehlungsdaten mit R und ggplot2 visualisieren

Wie gestern erzaehlt, hatte ich mich beim Hackday Moers ja mit den Verkehrsmessdaten der Stadt Moers beschaeftigt. Die liegen als CSV-Export vor und umspannen jeweils einen Zeitraum von 48 Stunden – gemessen mit einer dieser Boxen, die am Strassenrand aufgestellt werden, und Geschwindigkeit, Fahrtrichtung und Laenge des Fahrzeugs erfassen. So sieht sowas aus:

14.05.13 07:39:33;00;030;07;0
14.05.13 07:39:35;00;030;04;0
14.05.13 07:39:37;00;027;04;0
14.05.13 07:40:52;00;024;07;0
14.05.13 07:40:53;00;024;07;1
14.05.13 07:41:39;00;035;01;0 

In der ersten Spalte kommt ein Zeitstempel, gefolgt von einem Platzhalter (00), der Geschwindigkeit in km/h, der Fahrzeuglaenge in Metern und der Fahrtrichtung. Auf den Beschreibungsseiten gibt es noch Hinweise zur Klassifizierung der Fahrzeuge nach der Laenge, und Angaben zum Dateinamen (Name der Messstelle und vorgeschriebene Hoechstgeschwindigkeit).

Ich habe das zum Anlass genommen, die nicht sonderlich uebersichtlichen Rohdaten grafisch in R mit ggplot2 aufzubereiten. Cave: Ich bin kein Statistiker, und auch kein R-Crack – das Ergebnis kam durch strategisches Googeln und Ausprobieren von Codeschnipsel zusammen mit dem Lesen der R-internen Dokumentation zustande, und war vor allem auch eine prima Gelegenheit, meine eingerosteten R-Faehigkeiten wieder aufzufrischen. Pull-Requests fuer Verbesserungen sind gerne gesehen 😉

Daten einlesen

Um die Daten zu analysieren, muessen sie natuerlich erst einmal eingelesen werden. Das geht recht fix – Separator fuer die CSV-Spalten ist das Semikolon, und da die Datei ohne Spaltenueberschriften kommt, wird header=FALSE gesetzt:

endstr <- read.csv("endstrasse_17_t50_03112014.txt",header=FALSE,sep=";")
names(endstr) <- c("date","place","tempo","length","direction")

Danach werden mit names() die passenden Spaltenueberschriften gesetzt.

Das reicht schon, um eine erste Auswertung zu machen:

summary(endstr)
                date          place       tempo        length      
 03.11.14 10:56:07:   2   Min.   :0   Min.   :12   Min.   : 1.000  
 03.11.14 12:42:34:   2   1st Qu.:0   1st Qu.:37   1st Qu.: 2.000  
 03.11.14 16:44:23:   2   Median :0   Median :42   Median : 3.000  
 03.11.14 16:44:30:   2   Mean   :0   Mean   :42   Mean   : 3.512  
 04.11.14 10:03:37:   2   3rd Qu.:0   3rd Qu.:47   3rd Qu.: 4.000  
 04.11.14 11:17:40:   2   Max.   :0   Max.   :89   Max.   :43.000  
 (Other)          :2723                                            

Das ist schon einmal ein aufschlussreicher erster Blick: Der Median der Geschwindigkeit ist 42 km/h – und nur ein Viertel der Messungen lag bei 47 km/h oder mehr.

Das laesst sich auch in einem Histogramm fuer die Geschwindigkeit auswerten:

jpeg('endstr_histo.jpg')
hist(endstr$tempo)
dev.off()

endstr_histo

Schoen ist natuerlich anders 😀

Ausgabe als Scatterplot

Passender waere, die Messung als Scatterplot ueber die Zeit hinweg auszugeben. Mein erster Ansatz analog zum unlaengst hier verlinkten Tutorial war ein wenig naiv:

library(ggplot2)
ggplot(endstr, aes(x=date, y=tempo)) +
geom_point()

endstr

Na, wem faellt auf, was da nicht stimmt? Klar, die Zeitpunkte werden nicht als Zeit interpretiert, sondern gleichverteilt auf der X-Achse aufgetragen. Ich habe am Anfang ein wenig herumgebastelt, das bei der Auswertung in POSIX-Zeit umzuwandeln, letztlich war aber die sinnvollere Variante, einfach die Tabelle um einen „richtigen“ Zeitstempel zu erweitern:

endstr$datetime <- as.POSIXct(endstr$date,format="%d.%m.%y %H:%M:%S")

ggplot(endstr, aes(x=datetime, y=tempo)) +
geom_point()

endstr_datetime

Schon besser :) Analog habe ich auch fuer die Fahrzeuggroesse und die Tempoabstufungen Klassen angelegt – bei der Fahrzeuggroesse analog zur Klassifizierung in der Dateibeschreibung der Stadt, bei der Geschwindigkeit bis zum Tempolimit, bis 6 km/h ueber dem Tempolimit, und mehr als 6 km/h zu schnell:

endstr$tempoclass <- cut(endstr$tempo, breaks = c(0,50,56,Inf), labels=c("<50 km/h", "50–56 km/h", ">56 km/h"))
endstr$vehicleclass <-cut(endstr$length, breaks = c(0,8,12, Inf), labels=c("PKW", "LKW", "Lastzug"))

Einfaerben!

Mit diesen Daten lassen sich nun die einzelnen Punkte auch einfaerben. Ich habe die Punkte semitransparent gemacht, damit die Faerbung an den Haeufungen intensiver wird, und die Groesse anhand der Fahrzeugklasse gewaehlt. Fuer die Farben der Geschwindigkeitsklassen habe ich ein Pseudo-Rot-Gelb-Gruen-Schema gewaehlt, das auf eine fuer Farbenblinde taugliche Farbpalette zurueckgreift.

ggplot(endstr, aes(x=datetime, y=tempo, colour = tempoclass)) +
geom_point(alpha=0.2, aes(size=vehicleclass)) +
scale_color_manual(values= c("#009E73", "#E69F00", "#D55E00"), name="Geschwindigkeit")

endstr_colour

Feinanpassung

Ein wenig fehlt noch: Die Achsen und das Diagramm muessen noch richtig beschriftet werden: Die Zeitachse sollte ein im deutschen Sprachraum „passend“ lesbares Zeitformat bekommen, und in der Legende sollten die Punkte und ich wollte auch gerne eine Trendlinie sowie eine Hilfslinie bei der „richtigen“ Geschwindigkeit haben. Die Datumsformat-Umformatierung ist in library(scales) zu finden. Die Farben in der Legende sollten ausserdem nicht transparent angezeigt werden, das geht mit override_aes.

Fuer die Trendlinie habe ich den Tipp aus dem vorher verlinkten Tutorial verwendet, die ein Generalized Additive Model verwendet – ich habe keinen blassen Schimmer, ob das passt, aber es sieht zumindest fuer Semilaien wie mich passend aus 😉

Der komplette Code fuer den Graphen samt Ausgabe als PNG sieht nun so aus:

library(ggplot2);library(scales);library(Cairo);

ggplot(endstr, aes(x=datetime, y=tempo, colour = tempoclass)) +
# Punkte sind semitransparent, Größe abhängig von der Fahrzeugklasse
  geom_point(alpha=0.2, aes(size=vehicleclass)) +
  scale_color_manual(values= c("#009E73", "#E69F00", "#D55E00"), name="Geschwindigkeit") +
  # Hilfslinie bei 50 km/h
  geom_hline(yintercept=50, size=0.4, color="#efefef") +
  # Hilfslinie auf dem Nullpunkt der Y-Achse
  geom_hline(yintercept=0, size=0.1, color="black") +
  # Trendlinie mit Generalized Additive Model, siehe http://minimaxir.com/2015/02/ggplot-tutorial/
  geom_smooth(alpha=0.25, color="black", fill="black") +
  # Achsenbeschriftungen
  labs(title="Geschwindigkeitsmessung in der Endstraße", x="Zeit", y="Geschwindigkeit", size="Fahrzeugart") +
  guides(colour = guide_legend(override.aes = list(size=5 ,alpha=1))) + 
  scale_x_datetime(labels = date_format("%d.%m %H:%M"))

ggsave("endstr_final.png", width=8, height=4, dpi=300, type="cairo-png")

Mit library(Cairo) funktioniert die Transparenz auch bei der Bildausgabe wenigstens leidlich. Ich musste dazu libcairo-dev installieren (mehr Informationen dazu hier und hier)

Und voila – so sieht’s aus:

endstr_final

Juka spielt gerade noch nebenher mit Leaflet herum, um die Graphen auch zu kartieren – die gesamte Ausgabe ist derweil auf Github anzusehen.

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , | Kommentieren

Vier Wochenenden voller Open Data

Es gibt ja so Veranstaltungen, nach denen geht man voller Motivation nach Hause. Bei mir sind es gerade fuenf Open-Data-Veranstaltungen in fuenf verschiedenen Staedten an den letzten vier Wochenenden gewesen, und sollte jetzt noch irgendwas kommen fallen mir vermutlich vor lauter Grinsen die Ohren ab.

Aber der Reihe nach.

Berlin: Bahn, die erste

IMG_1104

Beste Aussichten hatte am ersten Märzwochenende der Workshop, den die OKF fuer die DB Station&Service in Berlin ausrichtete – buchstaeblich wie metaphorisch. Die Station&Service moechte naemlich sich und ihre Daten oeffnen, wie das die SNCF in Frankreich bereits getan hatte. Die Personenzusammensetzung war genau richtig, und ich am Ende ganz schoen geschlaucht vom Brainstormen und reden. Ich bin sehr gespannt, wie es hier weitergeht, und hatte mir den gesamten Abend danach und die Heimfahrt noch ueberlegt, welche Community-Teile zum Beispiel aus der OpenStreetMap sich hier noch verknuepfen lassen.

Freiburg: Hackathon unterm Sternenbanner

Ganz ohne Getoese hat sich auch Freiburg einen festen Platz auf der Landkarte der innovationsbereiten Staedte verschafft. Das liegt auch an Ivan Acimovic, der in seiner Stadtverwaltung auf ueberraschend viele Open-Data-Vorantreiber_innen bauen kann – und gleich mit einer halben Armee von Mitstreiter_innen einen Open-Data-Hackathon im Carl-Schurz-Haus aus dem Boden stampfte.

Mit der Stadt alleine war es naemlich nicht getan – bwcon Suedwest, das Carl-Schurz-Haus und Profs der Hochschulen Offenburg und Furtwangen warfen sich mit ins Zeug, um diese Veranstaltung durchzufuehren. Dass alle Ergebnisse im Rathaus ausgestellt werden, ist da nur konsequent.

Neben den zu erwartenden Wiederkehrern auf allen Open-Data-Hackathons (natuerlich gab es eine neu erfundene Issue-Tracking-App, die nicht bestehende Loesungen wie Mark-A-Spot verwendet :D) stach fuer mich „Frieda“ besonders hervor: Eine benutzerfreundlichere Neuinterpretation des Freiburger Datenportals FR.ITZ, das bei der Usability noch… Potenzial hat.

Ein wenig schade, dass dieses Projekt bei der Preisvergabe nicht mehr gewuerdigt wurde – zusammen mit dem Projekt „Data Canvas“, das Datenangebot und Bedarfe anhand von Problemstellungen analysieren wollte, haette ich „Frieda“ deutlich hoeher gerankt. Ich bin gespannt, wie viele der Projekte noch weiter entwickelt werden – und wie viele der enthusiastischen Teilnehmer_innen beim kommenden OK Lab Freiburg zu sehen sein werden, das ich leider ganz alleine vertreten musste :)

Frankfurt: Die Bahn bewegt (sich) doch!

Und eine Woche spaeter verstummten die Voegel, und der Mond verdunkelte die Sonne, und das scheinbar undenkbare geschah: Die Deutsche Bahn lud zu einem Datenhackathon!

Gerade mal zwei Wochen vorher hatte ich ueberhaupt davon erfahren – ironischerweise auf dem Rueckweg vom DB-Workshop in Berlin, auf dem wir uns fragten, wann sich denn die DB Fernverkehr endlich bewegen wuerde. Der Hackathon war wohl binnen weniger Wochen auf die Beine gestellt worden und war fuer mich eine ausgezeichnete Gelegenheit, einmal mit den Leuten im Konzern zu sprechen, die gerne viel mehr Daten freigeben wuerden – die aber nicht einfach machen duerfen, wie sie gerne wuerden.

In gigantischer 1970er-Jahre-James-BondSuperschurken-Hauptquartier-Atmosphaere hackten immerhin rund 50 Teilnehmer_innen an den noch-nicht-wirklich-offenen Daten der Bahn – Daten, an die in einigen Faellen wohl bislang selbst die Bahn-Leute konzernintern noch nie herangekommen waren, und die es nur durch diesen Hackathon erstmals aus ihrem jeweiligen Silo herausgeschafft haben. Ausgangszustand: Dass die Teilnehmer_innen „nur“ ein einseitiges NDA-Dokument unterzeichnen mussten, ist bereits ein grosser Fortschritt.

Ich musste leider noch am selben Abend weiter, um rechtzeitig nach Moers zu kommen, aber Falco aus der Ulmer Arbeitsgruppe hatte sich spontan mit drei anderen zusammengetan und mit seiner Gruppe mal eben eine bessererere™ Reiseauskunft gestrickt, die historische Verspaetungen beruecksichtigt und die Wahrscheinlichkeit angibt, einen bestimmten Anschluss zu erreichen. Hut ab! Mehr Eindruecke gibt es in einem Youtube-Video der Veranstalter.

Ich warte jetzt jedenfalls ganz gespannt, dass die Ergebnisse des Hackathons konzernintern durch die Entscheiderpositionen sickern – und hoffe instaendig, dass wir demnaechst einmal ein Transit-Camp auf die Beine stellen koennen, bei dem Vortraege, Austausch und Coding Hand in Hand gehen. Idealerweise mit einem Augenmerk auf moeglichst hohe Diversitaet – Fahrtkostenbezuschussungen und eine inklusivere Ansprache koennten viel dazu beitragen, nicht nur die ueblichen Verdaechtigen bzw. die Leute aus dem direkten Umland anzulocken 😉

Moers: Die heimliche Open-Data-Hauptstadt im Nirgendwo

Solcherlei Inklusivitaetsfoerderung war fuer Moers dagegen gar kein Problem – Dank Reisekostenbezuschussung waren „die Ulmer_innen“ gleich zu zweit beim dortigen Hackday, und auch aus Berlin kamen Abordnungen an den Niederrhein.


Claus Arndt
tut sich schon seit einiger Zeit damit hervor, am Rande der Einoede zwischen Pott und den Niederlanden in seiner Kommune das Thema voranzubringen — und kann in seiner Position hierzu auch einiges bewegen. Zum Beispiel diesen Hackday zu veranstalten, bei dem sich auch gleich Interessierte aus dem gesamten Umland fanden, um auch gleich ueber eine Gruendung von “Code for Niederrhein” nachzudenken.

Moers zeigt fuer mich vor allem, dass Erfolg bei Open Data momentan weniger das Ergebnis grossangelegter Strategiepapiere ist, sondern vom Aufeinandertreffen einer aktiven Community auf engagierte Einzelpersonen mit Gestaltungsspielraum in der Verwaltung lebt. Die besten Absichtserklaerungen, die tollsten Forschungsprojekte nuetzen nichts, wenn die Verwaltung nicht dafuer sorgen kann, dass die freiwilligen Datenveredler ihren Spass nicht verlieren. Indem sie zum Beispiel die Rahmenbedingungen schafft, dass 1.) Daten reibungsarm beschafft werden und 2.) Ergebnisse reibungsarm den Weg zurueck in die Verwaltung finden koennen. In Moers klappt das.

Mehr nachzulesen gibt es auf Wegweiser-Kommune [2], im Government-2.0-Netzwerk, bei Habbel, und in einem Flickr-Fotoset von @mrtopf. Und im Blog von Anke Knopp wird auch erklaert, was es mit der Feuerwehr auf sich hatte 😉

Im Video klingt es auch ein wenig an: Neben Redeployment-Auslotung hatten Juka und ich auch inhaltlich was gemacht, Verkehrszaehlungsdatenauswertung naemlich. Dazu kommt aber noch spaeter mehr :)

Leipzig: Code for Germany meets again

Etwas ueber ein Jahr nach dem Auftakt von Code for Germany waren Rens und ich zum gemeinsamen Workshop in Leipzig — um eine grossartig gewachsene Familie von OK Labs zu treffen, die sich mittlerweile auf verschiedenste Themengebiete verteilt hat, von Spielplatzkarten bis zu Feinstaubsensoren fuer jede_n zum Selbst-aufstellen.

Dementsprechend werden mittlerweile auch die Herausforderungen umfangreicher. Ging es anfangs um die Vernetzung an sich, Sichtbarkeit und Austausch, geraten wir als Gemeinschaft nun an die etwas knackigeren Probleme — offenbar genauso, wie das schon beim Vorbild Code for America der Fall war. Redeploying, also das Ausrollen bereits anderswo erprobter Loesungen mit den Daten der eigenen Kommune, scheitert allzu haeufig an der Vielfalt der Datenformate, die aus den Fachverfahren fallen, Standardisierung ist weit weit weg, und akademische Ideen wie die Semantifizierung aller Daten sind momentan leider noch wenig praxistauglich. Zudem sind vielfach Interessierte zu einem Thema bei sich eher alleine, und andere Interessierte anderswo muessen erst einmal gefunden werden.

Umso dankbarer bin ich mittlerweile fuer die verbindende Klammer, die CfG mittlerweile bildet, und bin gespannt auf das, was da noch kommt. Ich bin unglaublich froh darueber, dass schon sehr frueh Diskussionen ueber einen Code of Conduct begonnen hatten — aus Fehlern anderer lernen, ganz angewandt. Und ich moechte mal ganz ausdruecklich ein Dankeschoen an Fiona und Julia aussprechen, die sich nun ueber ein Jahr lang um Vernetzung, Bereitstellung passender Werkzeuge, und das Ruehren der Werbetrommel gekuemmert haben.

Auf das naechste Jahr! Und noch viele kommende Open-Data-Wochenenden 😉

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , , , , , , , | 1 Antwort

Free and Open Source your Transit System, Now!

IMG_0781

Yesterday, I came across two pieces on how Baltimore’s transit systems got accidentally opened – saving development costs quoted by Baltimore MTA as 600,000 USD:

If you’ve ever taken a bus, you know just how fun it is to be stuck outside in the cold wondering when the next one will come. That’s why the state of Maryland spent $2.7 million dollars developing a real-time bus tracking system for Baltimore, so that riders would finally be able to overcome the city’s “notoriously unpredictable” bus service.

[…]

When reporters asked the MTA why they opted to only show the info on their mobile webpage instead of developing an app (or better yet, formatting the data for third parties like us), the MTA responded that it would have been too expensive.

We know in many cases, the information needed to create an application is made public so private firms can attempt to develop an application at their own expense. However, it would cost approximately $600,000 more to be able to format the data from our 25-yr-old CAD/AVL system into GTFS for use by outside developers.

You read that right. Baltimore’s MTA rolled out real-time bus tracking and neglected to provide it via an Open API, because it would have cost them another 600k USD. Luckily, transitapp came to the rescue, parsed the data and re-formatted it into GTFS-realtime, so that other App developers could make use of it. The code is on Github, of course 😉

Now, the US is not really public transit heaven. If there even is such a thing, it might be somewhere in Europe, D-A-CH specifically, where Verkehrsverbuende are plentiful and real-time data is the norm for urban areas rather than the exception. Still, transit agencies hold on to their data like dragons hoard their treasures – the only means of getting onto those sweet, sweet real-time data is their official APIs, which are one-size-not-really-fits-all-solutions which they attempt to open-wash by calling them “Open Service”.

Even worse, real-time AVL data is mostly restricted to transit operators who can afford them – and thus mostly to urban areas. The suburban and rural areas of Germany seldom get any of the benefits stemming from on-board IBIS computers on their transit vehicles – in-vehicle stop information as announcements and visual displays, reliable outer displays and, of course, real time data, to name only a few. These additional features would make suburban and rural transit not only more reliable for riders in general[1], but also more accessible to handicapped riders.

As the situation presents itself now, though, only well-off operators usually found in urban centres can afford to deploy on-board information systems such as the German IBIS model on all their vehicles. And even if they do, their implementation often leave you shaking your head – just as the in-vehicle stop display at the top of this article, which still can’t correctly implement an encoding standard written in 1984(!).

Sneer as much as you want on Baltimore’s MTA, which (admittedly) deploys solutions on their customers which look and feel like it’s the 1990s again – Germany is not that much farther.

It is time, we took a cue from the effort made in Baltimore and took matters in our own hand. There are people out there willing and capable to re-engineer displays like the one shown at the top of this article in their own time, as a hobby – and who, I dare say, propably do a better job than the “official” vendors in doing so. What if, through a collaborative effort, we developed low-cost solutions to enable small pop-and-mom transit operators in Back of the Woods, Bavaria, to provide not only the in-vehicle information that is already standard in urban areas within Germany, but also with real-time arrival and connection information?

The pieces are already out there. And I can’t be the only one willing to invest time in making this come true. Thing is, on my own, I can’t. If you’re into this kind of thing, please ping me. Please.

 

[1] for positive effects of real-time transit information on perceived service quality, see Dziekan, K., & Kottenhoff, K. (2007). Dynamic at-stop real-time information displays for public transport: effects on customers. Transportation Research Part A: Policy and Practice, 41(6), 489-501.

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , , | Kommentieren

Linkschau vom 2015-02-23

Alle S-Bahn-Stationen Berlins in der schnellsten Reihenfolge abklappern – Ich kann die Motivation hinter so einer Aktion so gut verstehen. Dauert auch nur 15h 😉

Coding is not the new literacyNoch ein Abgesang auf “Code literacy”. Aber nicht aus Prinzip, sondern aus dem verfehlten Fokus auf „coding“. Der sei naemlich analog zum mechanischen Akt des (Hand- oder Maschinen)schreibens. Tatsaechlich sei „Modellierung“ der Knackpunkt – ein Problem in seine Einzelteile zerlegen und algorithmisch loesen zu koennen. Samt Vorschlaegen fuer den didaktischen Ansatz sowohl bei Kindern als auch bei Erwachsenen.

(via @aprica)

Utopian and Dystopian Theories of Change – A Template – ein Text von Lucy Chambers (Ex-OKF) ueber die Frage, ob Tech-Projekte tatsaechlich immer den positiven Erfolg haben, den man sich von ihnen ausmalt, und wie man ggf. dafuer sorgen oder die Rahmenbedingungen dafuer abfragen kann:

Widely-held Opinion (to which I subscribe): There is a huge amount of potential power to be unlocked in non-profits using technology in their quest for positive change in the world.

Comic Book Reference, ergo Fact: With great power comes great responsibility.

Personal Opinion: As tech projects become more and more widespread at NGOs, and their databases ever larger, we should reflect on whether impact they are likely to achieve will always be positive.

This post tackles the question: “Can we provide simple templates to help people understand whether there are any potential negative impacts of their technology project?”

Haha, Schrei nach Liebe – Ein Krautreporter-Beitrag ueber einen Aussteiger aus der Rechten Szene, der mittlerweile Anti-Gewalt-Coach ist. Teasertext:

Alex, 41, Anti-Gewalt-Coach und zur Hälfte syrischer Abstammung, war zwanzig Jahre lang eine bekannte Figur in der rechtsextremen Szene. Hier erzählt er vom Leben mit Widersprüchen, von der Suche nach Wahrheit und davon, wie die rechte Szene sich die Welt zurecht legt.

Besuch bei den Impfgegnern – Facebookfund ueber die Geschichte eines Menschen, der auf FB vorgeschlagen bekam, einer Impfkritik-Gruppe beizutreten, und das auch tat. Bewundernswert die Geduld. Interessant aber auch, mit welchen Argumentationsmustern die „Kritiker“ vorgehen. Manchmal mag man da beinahe verzweifeln:

So langsam wird mir klar: Diese Leute können Dosen nicht einschätzen (nicht die aus Blech, sondern den Plural von Dosis) und wissen offenbar teilweise nicht, was eine Dosis überhaupt ist. Die Vorstellung, dass ein bestimmter Stoff in der einen Menge gesundheitsgefährdend, in einer anderen auf eine bestimmte Weise wirksam ist und in wiederum einer anderen überhaupt keine Wirkung hat, ist ihnen fremd. In ihrer Vorstellung besteht das Fach Chemie aus zwei grossen Listen: Einer mit guten und einer mit schlechten Stoffen, wobei die schlechten auf einer Skala von “eher ungut” bis “diabolisch” sortiert sind. Die Einordnung erfolgt auf Zuruf und tendenziell anhand des Kriteriums “Natürlich” oder “Unnatürlich”. Unnatürliches ist grundsätzlich böse, Natürliches super. Für Mario ist deshalb klar: Wenn man Aluminium (böse) oder eben auch Crystal Meth (diabolisch) zu sich nimmt – egal, auf welchem Weg und in welcher Dosierung – dann ist es zu spät und Tod, bzw. Drogenkarriere sind unabwendbar. Mit diesem pharmakologischen Modell vor Augen reicht dann nachvollziehbarerweise auch die Feststellung, dass in Impfstoffen Aluminium drin ist, um genug Angst für eine generelle Ablehnung von Impfungen zu erzeugen.

The internet is full of men who hate feminism. Here’s what they’re like in person. – Vox.com begleitete einen „Maennerrechtsaktivisten“

Max was not a member of Gamergate proper. This isn’t terribly uncommon: Men’s Rights Activists exist who disdain that particular episode, if not for its virulence than for its celebration of men who prefer Dungeons and Dragons to Monday Night Football. Similarly, there are Gamergate activists who remain stubbornly committed to the idea that they are ethicists of video game journalism, wholly detached from “men” as a generalized political class. But these vagaries — the specific grievances of Gamergate, the sort of person who self-applies “MRA” versus the sort who prefers some other acronym — are merely symptoms of a broader male sense of victimhood. It is this victim complex I intend to tell you about, not the particular schisms between reactionaries. I am interested in the style of man who makes all such factions explicable. The kind who has in these last decades felt the theoretical foundation of his inherited supremacy begin to crumble and gone into defensive crouch, lashing out at every grain of sand that shifts beneath his feet.

(via @tante)

Number Sets – Fuer alle, die schon immer mal eine grafische Uebersicht ueber Zahlen haben wollten 😉 (Leider nicht frei lizenziert, das haette ein schoenes Titelbild gemacht)

Kulturelle Aneignung und Alltagsrassismus im Fasching: warum ich meinen Kindern keine Indianerkostüme nähe. – nachdem letztes Jahr die Kritik an Indianerkostuemen wohl vor allem bei den Eltern nicht so recht durchkam – hier eine elterngerechte Fassung.

In Folge dessen hatte ich abends an der Bar auch herumdiskutiert, warum mich etwas stoert, wenn (vorwiegend) weisse maennliche linke Dudes mit Dreadlocks herumlaufen, und ob das ueberhaupt okay sein kann. Turns out, gabs die letzten Tage auch nen Artikel fuer 😉
Die These mit der Namensherkunft via “dreadful hair” auf Sklavenschiffen scheint mir nicht belegbar zu sein (da liegen 200 Jahre zwischen), das Argument, dass der Haarstil einfach kulturell eingenommen wurde, wird davon jedoch nicht weniger gueltig.

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , , , | Kommentieren

OSM kann jetzt auch Routing

Der Titel ist ein wenig irrefuehrend, denn mit der OpenStreetMap konnte man schon frueher automatisiert herausfinden, wie man von A nach B kommt – aber nun ist das Feature auch direkt auf der Startseite implementiert.

„Hae, Routing auf ner Onlinekarte, das ist doch ein alter Hut“, moechte man sagen. Die OSM erklaert selbst:

Well, the first thing to note is that the philosophy of OpenStreetMap is not to offer a one-stop-shop on our main website, but to create truly open data to empower others to do great things with it. So there has already been fantastic OSM-based travel routing for many years, on excellent websites such as OSRM, Mapquest, Graphhopper, Cyclestreets, Komoot, cycle.travel… the list goes on and on.

But all of those things are on other websites and apps, so people don’t always realise that OpenStreetMap has this power. What this latest development has done is really neat: the OSM website offers directions which are actually provided by third-party systems, but they are included in the main site via some crafty JavaScript coding. So as well as being really handy in itself to have directions available, it helps “first glancers” to see all the things they can do with OSM.

Ich habe das Feature gleich mal ausprobiert und durfte gleich als erstes feststellen: Wow, das Ding ist schnell! Probiert das mal aus: Gebt eine wie auch immer formatierte Adresse in das Start- oder Zielfeld ein und seht zu, wie diese quasi instantan in das richtige Format aufgeloest und einem OSM-Punkt zugeordnet wird. Im etwas seltsamen Format [Hausnummer], [Strasse], [Viertel], [Ortsname], [Regierungsbezirk] und so weiter, aber trotzdem 😉

Zweite Feststellung: Das Ding ist gut! Ich habe als Test mal die Strecke zwischen meiner WG in Ulm und meinem Elternhaus genommen, die ich immer wieder mal mit dem Fahrrad fahre. Und tatsaechlich, je nachdem, welche der beiden Fahrrad-Routing-Engines ich verwende, bekomme ich entweder den Weg an der Iller entlang, oder die Kette von Fahrradwegen durch die Ortschaften im Illertal vorgeschlagen – bis auf zwei kleine Ausnahmen exakt die Wege, die ich auch sonst genommen habe, weil sie die kuerzesten sind.

OSM-Fahrradrouting an Voehringen vorbei. Karte: © OpenStreetMap-Mitwirkende

OSM-Fahrradrouting an Voehringen vorbei. Karte: © OpenStreetMap-Mitwirkende

Womoeglich hat mich die OSM sogar auf einen besseren Weg gebracht: Ich fuhr immer den ausgewiesenen Fahrradweg oestlich an Voehringen vorbei, waehrend die OSM mich ueber Illerzell leiten wuerde. Vielleicht ist das kuerzer, ziemlich sicher spare ich mir dabei jedenfalls den Anstieg ueber die Bahnueberfuehrung. Muss ich mir mal genauer ansehen.

Seltsames Routing in Illertissen. Karte © OpenStreetMap-Mitwirkende

Seltsames Routing in Illertissen. Karte © OpenStreetMap-Mitwirkende

An anderer Stelle scheint das Routing weniger Sinn zu ergeben. In Illertissen werde ich einen grossen Umweg mit mehreren Zacken ueber den Bahnhof geleitet, weil der getrennte Radweg irgendwann an der Ulmer Strasse aufhoert, und die Ortsdurchfahrt der S2031 vom Fahrradrouter wohl als zu „gefaehrlich“ eingeordnet wird – womoeglich fehlt in der OSM einfach die Information, dass die Ulmer/Memminger Str. in Illertissen mittlerweile sogar mit Fahrrad-Schutzstreifen ausgestattet ist. Ich konnt’s leider nicht auf die Schnelle nachvollziehen, weil mich der Flash-Editor an der Stelle ueberfordert 😀

Solche Fehler zu finden und dadurch zur Korrektur der Kartendaten aufzurufen ist naemlich noch ein weiteres Ziel der Routing-Implementierung auf der OSM-Hauptseite:

ften you don’t notice a bit of data that needs tweaking unless it actually shows up on the map image. Lots of things aren’t shown on our default rendering, so the feedback loop offers less incentive for people to get them correct. And that goes doubly for things that you never “see” on the map – subtle things like “no left turn” at a particular junction, or “busses only” access on a tiny bit of road, or tricky data issues like when a footpath doesn’t quite join a road that it should join on to. Now that people can see a recommended route directly on the OSM homepage, they have an incentive to quickly pop in and fix little issues like that. The end effect will be OSM’s data going up one more level in terms of its quality for routing. This will empower everyone to do great things with geographic data and getting from A to B.

Also: Probiert mal rum – und wenn z.B. Routen nur strassengenau funktionieren, nehmt’s als Anlass, Hausnummern nachzutragen, wo ihr koennt 😀

Flattr this!

In Allgemein veröffentlicht | Getaggt | Kommentieren

Schoene Graphen mit R und ggplot2

Ich hatte hier ja schon ueber Graphen mit ggplot2 in R geschrieben – aber dieses Tutorial ist noch toller als meine Graphen: An Introduction on How to Make Beautiful Charts With R and ggplot2 | minimaxir | Max Woolf’s Blog.

(via)

Flattr this!

In Allgemein veröffentlicht | Getaggt , , , | Kommentieren