Archiv für den Monat: August 2011

Mein erster Hackathon

Nach der Idee von Benjamin habe ich am vergangenen Wochenende tatsaechlich an meinem ersten Hackathon teilgenommen. Das ist tatsaechlich in etwa so, wie man sich das klischeeweise vorstellt: Man verbringt beinahe 48 Stunden mit seinem Team und stellt in der Zeit etwas auf die Beine.

In unserem Fall eine Livekarte der Stadt Ulm mit den Nahverkehrslinien 1, 3/5 und N1–N8. Auf denen sich die Busse live bewegen. Awesome.

Unser Team bestand aus Benjamin, cmichi, Fox und mir, musste gemaess der Regeln des Nodeknockout-Wettbewerbs node.js verwenden und hatte genau 48 Stunden Zeit, etwas auf die Beine zu stellen. Klar, dass wir vor unserem ulmapi-Hintergrund irgendetwas in der Richtung offene Daten und Nahverkehr machen wollten 😉

 

„Tatort“ war das Students‘ Lab der Fachschaft Elektrotechnik, wo wir dankenswerterweise von Samstag frueh bis Montag frueh arbeiten und zum Teil auch schlafen durften.

Aber von Anfang an.

Livevisualisierungen sind jetzt keine bahnbrechende, neue und revolutionaere Sache (mehr), das gibt es schon eine ganze Weile. Wir hatten uns aus zwei Gruenden trotzdem dazu entschlossen, so etwas umzusetzen:

  1. Es ging beim Contest um node.js, was insbesondere fuer Benni und Michi eine ziemlich erotisierende Wirkung hat aktuell sowas wie eine Lieblingssprache ist. Zudem baut die Loesung auf freien(!) Frameworks auf, im Gegensatz zum Beispiel zu Google Maps, was man hier ja immer mal wieder sieht
  2. Wir wollten uns einmal selbst „so richtig“ mit der General Transit Feed Specification (GTFS), dem Quasi-Standard fuer maschinenlesbare Nahverkehrsdaten, auseinandersetzen. Ich hatte mich schon vorab immer mal wieder in den Standard eingelesen, jetzt sollte es aber ans Eingemachte gehen.

Womit wir dann schon gleich beim grossen Problem waren.

I can haz GTFS feed, plz?

Unsere Nahverkehrsanbieter (DING fuers Umland, SWU fuer die staedtischen Linien) bieten einfach nichts dergleichen an. Waehrend das Frontend dank der freien Leaflet-Bibliothek und dazu passenden huebschen OpenStreetMap-Karten in kurzer Zeit aufgebaut war, mussten die notwendigen Betriebsdaten erstmal muehselig von Hand zusammengebaut werden.

(An dieser Stelle moechte ich noch einmal erwaehnen, wie toll ich Leaflet und auch die Cloudmade-OSM-Karten finde. Wie neulich hier schon geschrieben: Die freien Dienste muessen gut aussehen, und mit der Leaflet/Cloudmade-Kombination sieht OSM einfach rattenscharf aus und bedient sich erstklassig.)

Ja. Die Fahrplandaten. Das klingt jetzt wirklich archaisch, aber: Alles, was momentan auf der Livekarte zu sehen ist, ist datenseitig mit viel Handarbeit zusammengestueckelt worden. Mittels einiger Skripte konnten wir die Shapefiles der Busrelationen aus der DING-Fahrplanauskunft extrahieren, und die Relationen selbst (also der Plan, welche Fahrgastfahrt der Linie X um welche Zeit von A nach B faehrt und wo sie ueberall haelt) ist aus den PDF-Fahrplaenen der SWU zusammengebaut. Das ist haesslich, das war verdammt zeitaufwaendig, aber es ist zumindest halbwegs vollstaendig.

Wenigstens die Nachtbusse sind tatsaechlich zu 100% und auch korrekt nach GTFS ueberfuehrt. Immerhin. Dafuer fahren sie auf der Karte auch jede Nacht 🙂 (siehe unten)

Da stimmt aber noch irgendetwas nicht…

Ja:

  • GTFS sieht ziemlich genaue Unterscheidungen vor, welche Services wann fahren. Auf der aktuellen Karte fahren aber auch die Busse, die (korrekterweise) dem Service „university“ angehoeren, also eigentlich nur an Vorlesungstagen fahren. Unser Parser ignoriert das momentan und laesst alles fahren, was er an Daten vorliegen hat: Alles, was Montag bis Freitag an einem Vorlesungstag ausserhalb der Schulferien auf besagten Linien faehrt. Und die Nachtbusse 😉
  • Einige Sonderrelationen sind noch nicht abgebildet. Linien die spaet abends nur freitags fahren, oder nur freitags nicht, dafuer Montag bis Donnerstag. Sorry. Kuerze der Zeit. Die Rohdaten aus den Fahrplaenen sind aber mittlerweile halbwegs so aufbereitet, dass man sie fuer einen kompletten GTFS-Datensatz umparsen koennte. Stattdessen koennte man aber auch eine Datensammlung aus der DING-Onlinefahrplanauskunft machen.

Ich bin mir momentan nicht sicher, was die „beste“ Loesung ist, um endlich einen vollstaendigen GTFS-Datensatz fuer die SWU-Linien inklusive aller Sonderfaelle zu bekommen (im Dezember ist uebrigens wieder Fahrplanwechsel…), aber klar ist: Ideal waere eine vernuenftige Originalquelle direkt vom Verkehrsdienstleister. Vielleicht haben wir mit der Karte ja nun weiteres Interesse bei den Stadtwerken geweckt 🙂

Nachtrag am 31. August

Einige Dinge waren wohl trotz der „About“-Seite nicht so ganz klar, und andere habe ich vergessen zu erwaehnen:

  • Warum fahren da Busse, die da nicht fahren sollten? — Die GTFS-Scrapedaten unterscheiden zwar zwischen Nachtbusterminen und Wochentagen, der Parser diskriminiert hier aber nicht. Das heisst zum Beispiel, dass die Nachtbusse jede Nacht fahren, und auch trotz vorlesungsfreier Zeit die Sonderfahrten zwischen Science Park II und Ehinger Tor auf der Karte unterwegs sind
  • Warum fahren die Busse laenger, als sie sollten? — Der no.de-Server laeuft auf UTC, waehrend Ulm momentan auf UTC+2 liegt. Tatsaechlich sieht man also, was vor zwei Stunden los war. Das ist wegen der zyklischen Plaene tagsueber nicht so schlimm, schoen aber natuerlich auch nicht.
  • Warum macht der Bus beim Umlauf 3/5 keine Klinikpause? — GTFS sieht hier vor, fuer jeden Halt eine zurueckgelegte Strecke auf dem Streckenshape zu hinterlegen. Das auszurechnen war in den 48h nicht moeglich (zum Vergleich: Alleine die Linie 3 hat bei uns momentan fuenf verschiedene Shapes fuer alle moeglichen Start-Ziel-Kombinationen). Die Position wird momentan nur relativ krude ueber Start- und Zielort sowie vergangener Zeit approximiert.
  • Warum verwendet die Karte keine Echtzeitdaten? — Uns war es wichtig, hier auf den offenen Standard GTFS zu setzen. Was in den 48h herausgekommen ist, ist zwar keine wirklich saubere Loesung, kann aber noch so weit „gesaeubert“ werden, dass am Ende ein vollstaendiger GTFS-Datensatz verwendet wird, und eben keine Flickschusterei mit manipulierten Fahrauskunft-Anfragen, die man dann minuetlich fuer alle Relationen aktualisieren muesste.

    Es gibt mittlerweile die Erweiterung GTFS-Realtime, die mit Echtzeitdaten umgehen kann. Mit diesen Daten koennte man sogar soweit herunterbrechen, dass angezeigt wird, welcher Bus da jetzt gleich kommen wird (Kennzeichen, dadurch dann z.B. auch, ob es ein Gelenkbus, Standardbus, Viertuerer, Dreituerer, klimatisiert… ist). All das setzt aber erst einmal voraus, dass wir irgendwann einen GTFS-Volldatensatz von den SWU bekommen. Und darum geht’s jetzt erst einmal.

Krieg der Systeme

Und waehrend in anderen Teilen der Welt die Jugend rebelliert und Diktatoren gestuerzt werden, fuehren die Entsorgungsbetriebe der Stadt Ulm einen Krieg gegen die Papiermuelltonnen aus Ehingen.

Bestimmt gibts bald Kampfflugblaetter fuer die Einhaltung der Kehrwoche. Oder so.

Der Weichert und die Social Networks (und das Geld und so)

Thilo Weichert ist nicht nur Chef des ULD, sondern auch Evangelist. Lars Reineke vergleicht ihn nicht zu Unrecht mit einem „religioesen Fundamentalisten“, wobei man sich das „religioes“ sparen und gegebenenfalls bei der Ueberarbeitung der zugehoerigen Wikipedia-Seite helfen kann. Letzten Herbst hatte Weichert beispielsweise mal eben den ueberwiegenden Teil des anwesenden Publikums in der Boell-Stiftung als „dumm“ bezeichnet, weil sie Google benutzen, und nun will er Kraft seines Datenschuetzeramtes schleswig-holsteinische Firmen ins Visier nehmen, wenn sie Facebook-„like“-Buttons verwenden.

Wenn man sich in die weigertsche Logik einmal eindenkt, ist das auch gar nicht mal so bescheuert, wie es im ersten Moment klingt. Trotz vielfaeltiger Kritik aus dem gewohnt gut funktionierenden Empoerungskombinat gibt es demnach auch einige unterstuetzende Kommentare zu diesem Schritt, und insgesamt scheint es, als seien alle Reaktionen recht gut vorhersehbar gewesen. Selbst der Jarvis schreibt in so vorhersehbarer Tonalitaet und Schlagrichtung, dass man mittlerweile versucht ist, saemtliche Internetdebatten zukuenftig doch einfach von rudimentaeren KIs ausfechten zu lassen, damit man die Zeit sinnvoller am Baggersee verbringen kann, wozu man eigentlich nur noch saemtliche dort umliegenden Mobilfunkmasten faellen muesste.

Die gesamte Datenschutzdebatte um die Geschichte ist mir gerade ziemlich Wurscht (was im spaeteren Verlauf fuer Veraegerung sorgen sollte), vielmehr war da ein kleines Detail, das mich zum Nachdenken brachte. Es schrob Jarvis folgendermassen:

“Google’s only interest is to earn money,” he said, as if shocked. That theme continues in his Facebook attack, where he complains that the company is worth more than $50 billion. No, he’s not from the Communist part.

„Googles einziges Ziel ist es, Geld zu verdienen.“

Es ist irgendwie seltsam, das so stehen zu sehen, weil es eine eigene Wahrnehmungsverzerrung aufdeckt. Natuerlich ist es das Ziel Googles (und auch Facebooks), ordentlich Reibach zu machen — das sind schliesslich profitorientierte Unternehmen, innerhalb eines kapitalistischen Marktes — aber das zu schreiben wirkt fuer mich aehnlich, als wuerde mein fuenfjaehriges Selbst auf einen Zettel krakeln, dass es das Christkind nicht gibt. Wir wussten das alle irgendwie, aber es macht aus golden und rot glitzernden Weihnachtsbaeumen einfach nur bedampfte Kunststoffstreifen und in China geblasene Glaskugeln, und natuerlich hat die Mama die Glocke gelaeutet, und keine anthropomorphe Jahresendfluegelfigur.

(Ich fange ausserdem an, Google und Facebook mit Weihnachten zu vergleichen. Ich muss Weichert mal fragen, was er so gegen seine Wahnvorstellungen nimmt und ob ich etwas abhaben kann.)

Worauf ich hinaus will: Abgesehen von der gesamten Datenschutzdebatte und was man in diesem Zusammenhang anstellen kann, fehlt mir ein wesentlicher Punkt in der Diskussion, der mir seit der Einfuehrung von Google Plus und allerspaetestens seit den nerd-typischen Profilloeschungsamoklaeufen ebenda irgendwo am Hinterkopf nagt (oben, eher links am Rand).

Erstens.

Anfangs war das alles fuer mich eher ein Usability-Problem: Wohin soll ich eigentlich den Mist giessen, der staendig durch meinen Kopf wabert? Zur grossen Erleichterung einer grossen Menge an Bahnfahrern gibt es ja mittlerweile das Internet, so dass ich das nicht mehr zufaelligen Nebensitzern erzaehlen muss — allein, welcher Kanal ist der beste? Facebook? Google Plus? Eigenes Blog? Youtube? Twitter?

Ja, solche Fragen treiben mich um, und deswegen habe ich mir zur weiteren Verkomplizierung erst einmal eine Soup angelegt. Noch ein Kanal mehr. Prima, du Pfeife.

Eine Variante ist ja, einfach alles _ueberall_ abzuladen: Kurze Gedankenflatulenzen passen optimal auf Twitter, der Rest kommt ins eigene Blog und wird dann in alle sozialen Netzwerke gekuebelt, die nicht schon von vorneherein meine Seite blocken. Sowas nervt dann erfolgreich all diejenigen, die einem auf mehreren Netzwerken folgen, wodurch sich dann der virtuelle Bekanntenkreis solange verkleinert, bis man mit allen Social-Media-Beratern alleine ist.

Die naechste logische Konsequenz waere also ein Meta-Netzwerk: Eine Seite, auf der ich mich einloggen kann, und auf der alles zusammengefuehrt wird, was ich irgendwie auf welchem Datensilo auch immer sehen kann. XY ist online, und ich kann mit XY Instant Messaging betreiben — egal, ob XY nun auf ihrer Seite den Facebook-Chat, OTR oder Brieftauben verwendet. Kommentare auf einen meiner Beitraege werden aggregiert angezeigt — egal ob sie nun in Google Plus, als Twitter-Reply oder als Blogkommentar aufgelaufen sind.

Also habe ich Google Scholar angeworfen und nach Papers ueber dezentrale soziale Netzwerke gesucht. Und wurde von einer Flut an Papers ueber Privacy in Social Networks erschlagen. Verdammte Privacy-Forscher. Es gab aber auch Lichtblicke — ich bin momentan so etwa 10% durch einen dicken Stapel mehr oder weniger aktueller Papers und habe einen Wust an Notizen gesammelt, deren Bedeutung ich zum Teil sogar noch verstehe.

Aber.

Zweitens.

Es gibt einen wesentlichen Punkt, der vermutlich zum Grossteil dafuer verantwortlich ist, dass heute beispielsweise immer noch kaum jemand Mails verschluesselt. Oder der Oma ein GNU/Linux auf ihrem Surfrechner installiert (Ubuntu hat hier einiges geaendert, aber trotzdem). Es ist immer wieder dasselbe, sobald man ein fesches neues Projekt entdeckt, das technisch (und wissenschaftlich) sehr sexy ist: Man kann getrost diverse Kisten Bier darauf wetten, dass das UI grottig sein wird. Grausig. Abschreckend.

Das faengt mit simplen Dingen an. Ich kann in Sekunden ein Bild vom iPhone nach Twitter kuebeln. Oder nach Facebook. Mit Beschreibung, zack, fertig. Vielleicht habe ich einfach nicht den richtigen Client dafuer, aber wenn ich dieselbe Nummer mit meinem Blog veranstalten will, habe ich auf Facebook schon droelf Likes und acht Kommentare, bis das Bild ueberhaupt mal (im falschen Format) auf dem Blog gelandet ist. Und nach Facebook und Google Plus muss ich es dann haendisch verlinken, weil… ach… lassen wir das halt. So etwas nervt.

Mit den Facebook-Alternativen ist es nicht anders. In einigen Papers wird FOAF als Modellbeispiel fuer dezentrale Netze herangezogen. Auf dem cccamp 2011 gab es einen Workshop dazu, und schon die Anleitung zeigt, dass wir auf eine Akzeptanz in der breiten Masse ebenso hoffen duerfen wie auf ein Bekenntnis der CSU zu freiem Internet und einem bedingungslosen Grundeinkommen.

Ich werde jetzt erst einmal den Stapel Papers zu Ende lesen. Egal, was da aber drinsteht, und egal, was in den naechsten Jahren (nicht nur) zu unabhaengigen Social Networks kommen wird: Die Akzeptanz hierfuer steht und faellt mit der User Experience. Man sieht, wie wichtig mir das ist, wenn ich tatsaechlich „User Experience“ schreibe.

Wir schliessen mit den Worten von Stephan Urbach ueber Software fuer Aktivisten. Gut, dass er beschlossen hat, bei uns zu bleiben.

First, please make good UIs. Make them that anyone can use the tool. You will not believe, how many people out there would use your great software if it was usable. Please remember, that not everyone outside who is on the ground is in the position to have the knowledge on how their machines work and how they get configured proper. Please do not create security problems because of a shitty UI. There might be a great algorithm but if most of the targeted user base is not able to use it the goal is not reached. […]

Make good error messages that the users understand. Yeah, for you might a big NULL be enough but for the users it is not. Catch exceptions and translate them that normal people understand. It is not a problem if an error occurs, but it needs to be understandable.
Please, when you do the UI – do it like the last Hello Kitty App – without Hello Kitty. Do not write „Activists Messaging System“ on it. Use Nyancat in it if appropiate. Make it hipsterglitter without hipsters and glitter. You get the point. […]
Conclusion: Be awesome. Make it easy. Test. Crowdsource. Review. Make it more secure. Test. Be still awesome. Thank you.

Eine kleine Einschaetzung zu den Unruhen in England

Penny Red: Panic on the streets of London:

In one NBC report, a young man in Tottenham was asked if rioting really achieved anything:
„Yes,“ said the young man. „You wouldn’t be talking to me now if we didn’t riot, would you?“
„Two months ago we marched to Scotland Yard, more than 2,000 of us, all blacks, and it was peaceful and calm and you know what? Not a word in the press. Last night a bit of rioting and looting and look around you.“

[…]

Noone expected this. The so-called leaders who have taken three solid days to return from their foreign holidays to a country in flames did not anticipate this. The people running Britain had absolutely no clue how desperate things had become. They thought that after thirty years of soaring inequality, in the middle of a recession, they could take away the last little things that gave people hope, the benefits, the jobs, the possibility of higher education, the support structures, and nothing would happen. They were wrong. And now my city is burning, and it will continue to burn until we stop the blanket condemnations and blind conjecture and try to understand just what has brought viral civil unrest to Britain. Let me give you a hint: it ain’t Twitter.

Wo wohne ich gleich?

Viele Leute haben ja in Ulm ein Problem, zuzuordnen, in welchem Quartier sie eigentlich wohnen — zum Teil nicht mal, in welchem Stadtteil. Da wird aus der Neustadt schnell mal ein Teil der Oststadt, und wer weiss auch schon, wo die Weststadt aufhoert und Soeflingen anfaengt…

Dem kann aber nun abgeholfen werden, und es ist auch der erste veroeffentlichte Datensatz auf ulmapi.de: Die Stadt Ulm hat uns Shapefiles aller Stadtteile und deren Quartiersuntergliederungen zur Verfuegung gestellt, und die Kombination aus Benjamins CouchDB-Skills und meinen Tabellenscanabschreibeskills sorgt nun dafuer, dass sich das auch schoen auf der Karte anzeigen laesst (heilige Scheisse, die CloudeMade-Karten sehen mal geil aus! Das ist OpenStreetMap!)

Mehr kommt hoffentlich bald — aktuelle Hinweise immer auf Twitter @ulmapi

3D-Druck in ultraschnell

3D-Drucker/Fabber finde (nicht nur) ich sowas von faszinierend: Man gibt ihnen ein CAD-Modell, und kurze Zeit spaeter hat man ein Kunststoffteil auf dem Schreibtisch hergestellt — oder im Metalab, wo ich zum ersten Mal einen MakerBot live gesehen habe. „Kurze Zeit“ war dabei bisher eher relativ: Unter einer Viertelstunde geht es da selten, und wenn’s mal kompliziert wird, kann das auch Stunden dauern.

(Natuerlich) uebers Metalab bin ich nun aber auf einen Bastel-Fabber ganz neuer Bauweise gestossen: Der Ultimaker bewegt den Extruderkopf mittels zweier Schlitten (aehnlich einer CNC-Fraese) und wird dadurch fantastisch schnell:

Ultimaker boasts that its low speeds are easily twice as fast as RepRap’s and MakerBot’s. In a blog post in late January titled “Insane Speeds With PLA on Ultimaker” the company boasted its machine “reached printing speeds of 350 mm/s during travel and 300mm/s during extrusion.”

Den Bausatz finde ich mit 1200 EUR gar nicht mal so teuer — und es war klar, dass das Metalab sich natuerlich auch einen holt (und optimiert) 🙂

Folterfans & Rechtstaatshasser

Die Folterfans & Rechtstaatshasser möchten dann bitte zu Gate 4 kommen. Ihre Flieger nach Syrien, China und Weißrussland stehen bereit.

Twitter / @metronaut: Die Folterfans & Rechtstaa ….

Ganz richtig. In den Twitter- und Facebooktimelines sieht man momentan ganz deutlich, wer die Funktionsweise eines Rechtsstaats verstanden hat, und wer dagegen der Ansicht ist, dass Grundrechte fuer Kindsmoerder nicht gelten sollen.

Manchmal graust es mir ein bisschen, wenn ich dann wieder einige der Kommentare lese. Und normalerweise ist die kluegste Reaktion auf „somebody is wrong on the Internet“ einfach das Ganze zu ignorieren und an die Sonne zu gehen.

Aber nicht in diesem Fall. Jeder einzelne Mensch, der verstanden hat, was Menschenrecht und Rechtsstaatlichkeit bedeutet, ist ziemlich viel Kommentarschreiberei wert.

Matt Damon mag wohl keine MBAs

Dann muss mal Matt Damon zur Schuldenkrise herhalten, und die unterschwellige Aussage der Interviewerin ist wohl, dass Damon hart arbeite, weil er ja keinen garantierten Job habe, waehrend Lehrer…

Und das gefaellt ihm offenbar so gar nicht:


‪Matt Damon defends teachers against a [expletive] cameraman!‬‏ – YouTube.

— You think job insecurity is what makes me work hard?

— I mean, you have an incentive to work harder, but if there is job security…

— I want to be an actor, that’s not an incentive, that’s the thing. See, you take this MBA style of thinking, right? The problem with this policy right now is its intrinsically paternalistic point of view of problems that are far more complex than that. It’s like saying, a teacher is going to get lazy when they have tenure. A teacher wants to teach. I mean, why else would you take a shitty salary, and really long hours, and do that job—unless you really loved to do it?

Well played, Mr Damon. (via fasel)