Tweet des Tages

@blume_bob sagt:

Die DSGVO ist der extrem erfolgreiche Versuch, die Effizienz von BER und Elbphilharmonie ins Netz zu übertragen. Und auch für die anstehenden Kosten kann man wohl ähnlich guter Dinge sein.

Winterpokal-Projekt: Town Fondo

Für den MTB-News.de- und Rennrad-News.de-Winterpokal habe ich vor einiger Zeit schon mal eine ganz spezielle Runde zusammengestellt und abgefahren.

Für den vergangenen Winterpokal hatte ich erneut eine Idee und konnte diese gerade noch so vor dem Ende der Saison umsetzen: Hier im Ort einmal alle Straßen mit dem Rad abfahren.

Die Idee klingt erstmal recht simpel, im Detail versteckt sich dann aber doch das eine oder andere Teufelchen.

Das Problem, welches gelöst werden musste: eine Route zu finden, die mich über alle Straßen in unserem Ort führt, dabei aber über möglichst wenige Wege mehrfach enthält. Alle einschlägigen Router-Web-Apps bieten nur das Routing von A nach B mit vielleicht ein paar Via-Punkten, worin ich nicht die optimale Lösung des Problems vermutete.

Mein erster Impuls: schnell selbst einen Algorithmus implementieren:

„Ist ja nur ein Graph, auf dem man alle Kanten mindestens einmal und möglichst auch genau nur einmal abfahren muss!“

Bei der Zusammenstellung der notwendigen Schritte zur Umsetzung zeigte sich aber schnell, dass der Aufwand nicht trivial sein würde.

Ich versuchte dann einfach mal, die Strecke manuell mit den bekannten Web-Apps für’s Routing zusammenzuklicken. Mit vielen, vielen Via-Punkten gelang es mir im BRouter (Danke an Sascha für das Bereitstellen einer Installation der aktuellen master-Version!) dann doch recht gut. Hier und da fehlte ein kleines Segment einer Straße, dafür kamen andere Teile dann doch mehrfach vor.

Am Ende war außer Via-Punkten nicht mehr viel zu sehen, aber die Route stand!

„Town Fondo” im BRouter (Karte: © OpenStreetMap contributors)

Die geplante Route hatte eine Länge von gut 107 Kilometern – mit Kaffeepause zwischendurch (natürlich zu Hause) stoppte die Aufzeichnung schlussendlich bei etwas über 114 Kilometern:

„Town Fondo” – die tatsächlich gefahrene Strecke (Karte: © OpenStreetMap contributors)

Bei relive.cc gibt es die Runde als Video zu sehen.

Die ganze Sache hat auf jeden Fall großen Spaß gemacht! Allerdings hätte eine algorithmische Bestimmung der Route den Nerd-Faktor dann doch noch mal deutlich erhöhen können. Vielleicht ergibt sich da ja im nächsten Winterpokal mal eine Gelegenheit … ;-)

Infografik: Rad fahren in 2017

Wie auch im letzten und im vorletzten Jahr gibt’s auf veloviewer.com wieder eine Infografik, welche die vergangene Radfahr-Saison schön zusammenfasst. Für mich gab’s keine Überraschungen, nachdem die ersten beiden Monate für mich mehr oder weniger komplett radsportfrei waren und ich erst ab März wieder in die Pedalen getreten habe.

Ah ja, 2017 habe ich mir noch ein neues Avatar-Foto bei Strava spendiert :-)

Zum Vergleich die 2016er und 2015er Grafiken:

GNU Stow: Dotfiles bequem managen

GNU Stow löste zuletzt bei mir eine selbstgebaute zentrale Verwaltung von Konfigurations-Dateien ab. Etwas Kontext: Ich habe für viele Programme Konfigurationsdateien in meinem Home-Directory zu liegen. Diese Dateien – meist einfach Dotfiles genannt – möchte ich auf mehreren Rechnern synchron halten. Dies ermöglicht es, dass sich die damit konfigurierten Programme wie tmux, Vim oder auch Git überall gleich und vorhersagbar verhalten. Weitere Kandidaten neben reinen Konfigurationsdateien sind z. B. Shell-Skripte für die tägliche Arbeit.

Die erste Idee, die man haben würde: einfach ein Git-Repository[1] erstellen, in dem man die Konfigurations-Details verwaltet. Das unmittelbar auftauchende Problem: Man möchte/kann/soll kein VCS-Repository im Home-Verzeichnis haben, da dies eine ganze Menge Probleme mit sich bringt und schlicht nicht praktikabel ist.

Der nächste Schritt ist dann, alle diese Dateien in einem Unterverzeichnis zu sammeln und dieses mit einem VCS managen. Das Installieren der Dateien ins Home-Verzeichnis kann man dann mit einem simplen Shell-Skript oder auch mit einem Makefile erledigen. Diese Variante habe ich jetzt jahrelang erfolgreich im Einsatz gehabt. Sobald ich ein neues Dotfile benötigte, erstellte ich dieses zusammen mit einem Make-Target in meinem dotfiles-Verzeichnis. Der simple Aufruf von make kopierte die Datei dann ins Homeverzeichnis (bzw. erstellte dort einen Symlink).

Vor ein paar Tagen scrollte dann dieser Tweet an mir vorbei:

Relearning GNU stow to apply to dotfiles, as one does when @fink_ says to. (E.g. http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html …) — @jpmens

Das klang interessant und wurde noch besser als ich den verlinkten Blogpost las. GNU Stow ermöglicht es auf einfachste Weise die Dotfiles zentral zu verwalten und mit simplen Befehlen die gewünschten Dateien ins Home-Verzeichnis zu linken. Die Einsparung gegenüber dem vorhandenen Makefile sieht im ersten Moment nicht allzu groß aus, aber wenn ich mir das Schreiben von Make-Targets sparen kann, dann kostet das zum Einen weniger Zeit und eliminiert zum Anderen natürlich mögliche Fehlerquellen.

Ich musste in meinem dotfiles-Verzeichnis nur ein paar Sachen umbenennen bzw. verschieben und war innerhalb kürzester Zeit in der Lage meine Dotfiles mit Stow ins Home-Directory zu befördern.

Der im Tweet verlinkte Blog-Artikel erklärt sehr gut und abschließend, wie man seine Dotfiles Stow-kompatibel organisiert.

Bonus: Arbeitet man mit mehreren User-Accounts auf einer Maschine, reicht ein zentrales Dotfiles-Directory, aus welchem man dann mit der --target-Option von Stow Symlinks auf die Config-Files in die verschiedenen Home-Directories platziert.

[1] Jede andere Versionsverwaltungs-Software ist ebenfalls geeignet.

Western Digital WD Red 6 TB Benchmark

Die Tage haben sich zwei Western Digital WD Red Festplatten mit je 6 TB Kapazität (WD60EFRX) zu mir verirrt. Wie immer lasse ich einmal bonnie++ über die Platten laufen um zu sehen, ob und wie sie funktionieren.

Die Ergebnisse als HTML-Ausgabe von bonnie++: Benchmark Festplatte 1, Benchmark Festplatte 2

(macOS, bonnie++ 1.97, HFS+, USB 3-SATA-Adapter)

tl;dr Die WD Red Platten WD60EFRX schaffen an einem USB-3-SATA-Adapter beim Lesen und Schreiben jeweils bis zu ca. 165 MiB/s und ca. 130 IOPS.

VeloViewer Explorer Max Square – Radsport trifft Nerdsport

Das Hochladen und Herumzeigen der eigenen Radsport-Aktivitäten auf Strava macht zwar auch nach Jahren immer noch Spaß – wirklich beeindruckend wird es aber, wenn man sich anschaut, was VeloViewer dann mit den gesammelten Daten macht. VeloViewer erstellt und präsentiert unfassbar viele statistische Auswertungen der eigenen Radsport-Historie und führt dabei einige bisher nicht dagewesene Metriken ein. Ein Beispiel ist der Explorer Score und das Explorer Max Square:

The Explorer score is the total number of zoom level 14 map tiles you’ve passed through divided by the distance traveled rewarding those that like to visit new places, roads and trails.

Kleiner Exkurs: ein „Zoom Level 14 Map Tile“ ist eine Kartenkachel, wie sie z. B. auf der Website von OpenStreetMap zum Einsatz kommt. Es handelt sich um eine quadratische Grafik in den Abmessungen 256×256 Pixeln. Am Äquator entspricht 1 Pixel in der Zoomstufe 14 einer Länge von 9,547 m. In unseren Breitengraden (~52,5 °N) ergibt sich dann eine Kantenlänge einer Kachel von:

256 × 9,547 m × cos(52,5 °) = 1.488 m

Färbt man nun alle Kacheln ein, über die man bereits mit dem Rad gefahren ist, sieht das dann zum Beispiel so aus:

Explorer-Score 12×12

Auf der Karte sind mehrere blau umrandete, sich überlappende 12×12 Kacheln große Quadrate zu sehen. Jedes dieser Quadrate ist ein Explorer Max Square und besteht ausschließlich aus Kacheln, die man bereits besucht hat. Leicht zu erkennen ist die eine Kartenkachel südlich von Burig (nah der Bildmitte), welche die Bildung eines größeren Explorer-Quadrats verhindert. Die Lösung ist relativ einfach: Auf’s Rad setzen und einmal genau über diese Kachel fahren.

Et voilà:

… 17×17 :-)

Die Explorer Max Square-Rekordhalter spielen in einer ganz anderen Liga und werden in einem Blogbeitrag bei VeloViewer gewürdigt.

Das Pferd unterm Leibe erschossen

Hin und wieder nehme ich mir unseren Familienstammbaum zur Hand und blättere darin herum. Und manchmal finde ich interessante Geschichten aus vergangenen Zeiten:

Michael Ernst Preuß war 1809 beim Schill’schen Freiheitszuge beteiligt und am 31.5.1809 beim Fall Schills in Stralsund zugegen.
Er wurde eingeschlossen, schlug sich aber mit Kameraden durch, und schwamm mit ihnen über die Oder. In diesem Flusse wurde dem Hauptmann von Pirch das Pferd unterm Leibe erschossen. Preuß rettete Pirch. Von Pirch wurde später Besitzer von Hohendorf bei Reichenbach, Ostpreußen.
Es blieb während des Lebens dieser beiden Männer eine treue Freundschaft bestehen.