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

Richtiges Werkzeug. Dann gehts.

Arduino mit Protoshield

Gut vier Jahre habe ich nun meinen Arduino, und ganz offen gestanden: Die meiste Zeit lag er in der Ecke herum.

Das hat sich ganz drastisch geaendert, seitdem ich mir ein Protoshield mit Breadboard drauf und endlich flexible(!) statt starrer Breadboardkabel gekauft habe. Die gab’s fuer jeweils wenige Euros auf ebay, wahlweise mit vier Wochen Lieferzeit aus China, oder fuer ein bissel mehr Geld mit schnellerem Versand aus Europa.

Ob und wie der Abgesang auf die 8-bit-µCs bald kommen wird, und ob wir dann alle nur noch auf RasPis und anderen „vollwertigen“ Rechnern coole Hardware-Dinge machen, vermag ich nicht zu sagen. In der Zwischenzeit prototype ich jedenfalls IR-Sender und -Empfaenger, damit wir beim Girls’Day eigene „uulmduinos“ zum Selberloeten und Fernseher-ausmachen bauen lassen koennen :) In der Selbstloet-Variante kosten die unter 10 EUR – und liegen damit noch weit ueber den Uno- und Nano-Clones aus China, die teilweise fuer weniger Geld zu haben sind, als ein blanker Atmega328 in der DIP-Variante. Wahnsinn.

(Randnotiz: Was ausserdem sehr zum Spass am Arduino-prototypen beigetragen hat, war die Anschaffung eines  Sortierkoefferchens. Meine Eltern wollten mir wohlmeinend die Vorzuege von Sortierkoefferchen, z.B. fuer Lego, schon im Kindesalter beibringen. Aber manche Dinge versteht man wohl erst ab einem gewissen Alter. Tja.)

Flattr this!

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

Defending Rail in Europe

Eine Leseempfehlung: Jon Worth schreibt regelmaessig ueber (europaeische) Eisenbahn und die Probleme, die damit verbunden sind. Zum Beispiel ueber den Spagat, den die DB in ihren Rollen als (a) profitorientiertes Unternehmen und (b, in der Teilgliederung DB Fernverkehr) Rueckgrat des Eisenbahnfernverkehrs unternehmen muss:

DB, it seems, wants to profit-maximise, and not to maximise the number of people travelling by train, and for the sake of the environment the latter needs to be a vital priority.

[…]

As things stand, DB is neither a proper public service operator, nor is it a competitor in a liberalised market. Its half-way position most definitely does not suit the passenger, and does not encourage modal shift to railways.

Das ist ein vermeintliches Nischenthema, das uns als weitgehend un-organisierte OPV-Nutzer_innen jedoch massiv betrifft. Wie zum Beispiel die Streichung einer ganzen Reihe von Nachtzugangeboten zum Ende des Jahres 2014.

Wer sich dafuer also interessiert: Jon lesen :)

Flattr this!

In Allgemein veröffentlicht | Getaggt , , | Kommentieren

Linkliste vom 2015-01-18

Culture

On Tone Policing Linus Torvalds, or Linus Torvalds is a Shit-Eating Pig (via)

Linus Torvalds is a shit-eating pig. The man’s default mode of interacting with his own community is to crash into discussions like the Kool-Aid Man and harangue and insult people for having technical opinions different from his own, regardless of whether he’s right or wrong. This is moronic […]

Did I do that right? Did my use of strongly-worded invective demonstrate my enthusiasm for the subject I’m discussing, as well as my mastery of the facts? Linus Torvalds seems to think so.

Verwandt: there’s no merit in meritocracy – bezieht sich auch auf Torvalds, laesst sich aber auf beliebige Hacker-/Nerd-Culture-Gruppen anwenden. Beispielsweise CCC-Erfa-Kreise.

The problem is that in practise, the ones who define merit are those already in power, and in both these communities as well as society at large, the ones in power are white, cisgendered, heterosexual men, and as long as these people get to define what merit is, meritocracy will merely reinforce existing power structures. It’s nothing radical, really. It’s the exact opposite, a reactionary, conservative rhetoric that’s used to subdue criticism.

Opt-Out Citizenship: End-to-End Encryption and Constitutional Governance

Let’s suppose for the moment that perfect end-to-end encryption is possible—that it becomes possible for individuals to hide everything they say and everything they write and every document they create and every transaction they perform from any surveillance, ever. This is clearly the goal advocates aim toward, without hesitation. This is to some extent what a service like Tor already provides.

On what legal or ethical basis do advocates assert that they have the right to do this?

Unter demselben Gesichtspunkt beleuchtet tante die aktuelle Kryptodiskussion in GB.

The NY Police vs. the Mayor

After Officer Ramos’s funeral, I asked a group of cops who had gathered in one of the neighborhood bars why they aimed their anger so exclusively at Mayor de Blasio. […]

Drinks flowed. A retired detective from Yonkers reminisced in great detail about the various suspects—or “mutts”—he’d clobbered and left for dead. When he saw me listening and obviously suspected I wasn’t “one of us,” he said, with an unconvincing smile, “None of those stories are true, understand?”

Contempt in the bar expanded from de Blasio to politicians in general. There was the sense that, as police, they believed themselves to hold an unquantifiable power over elected officials. The idea seemed to be that there was a pact between law enforcement and politicians. Cops did the dirty work, they waded in the muck, keeping the poor and violent in check and monitoring the human detritus that is the result of inequities they’d had no hand in creating. In return, politicians turned a blind eye to the excessive use of force. On the beat, cops could have their way.

(via)

Paper der Woche

An Efficiency Comparison of Document Preparation Systems Used in Academic Research and Development

To assist the research community, we report a software usability study in which 40 researchers across different disciplines prepared scholarly texts with either Microsoft Word or LaTeX. The probe texts included simple continuous text, text with tables and subheadings, and complex text with several mathematical equations. We show that LaTeX users were slower than Word users, wrote less text in the same amount of time, and produced more typesetting, orthographical, grammatical, and formatting errors. On most measures, expert LaTeX users performed even worse than novice Word users. LaTeX users, however, more often report enjoying using their respective software. We conclude that even experienced LaTeX users may suffer a loss in productivity when LaTeX is used, relative to other document preparation systems.

Open Data, Open Transit

Wie nachhaltig ist eigentlich Open Data? – Ernesto Ruge stellt diese wichtige Frage angesichts verwaister Projekte, die nach einigen Jahren nicht mehr weiter gepflegt werden (koennen). Diskussionsbeteiligung in den Kommentaren gerne gesehen!

Developing a Prepared Mindset – Transit sketch planning – Wie geht eigentlich Nahverkehrsplanung? Schoenes Format, von CfA

Flattr this!

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

Wann Karikaturen vielleicht nicht mehr witzig sind.

Rape cartoons are funny if it’s inconceivable to you that you could ever be raped. If you live in a bubble of gender privilege that insulates you from all consequences of rape culture.

[…]

Cartoons of the Prophet Mohammed naked, on all fours, anus presented as target, are anti-clerical snigger fodder. Unless you and half the men and boys and boy children and baby boys you know and love are named Mohammed.

Unless you and your brothers, cousins, fathers, sons, friends are at daily risk of random causeless stop-and-frisks, patdown-gropes, strip-searches, cavity-searches inside Enlightened Fortress Europe. Because they can.

(via)

Flattr this!

In Allgemein veröffentlicht | Kommentieren