Freitag, 28. April 2017

Digitale Zuganzeiger der DB

Digitale Zuganzeiger. Die rote Markierung zeigt den Bereich auf dem Bahnsteig an.
Seit Herbst 2016 durchläuft der der Bahnhof Berlin-Südkreuz an mehreren Stellen eine Modernisierung. Am auffälligsten sind die digitalen Zuganzeiger am Bahnsteig, die die aktuelle Wagenreihung der nächsten Züge darstellen. Damit findet sich bspw. der Weg zum Speisewagen ohne Umweg -- der Kaffee für unterwegs ist somit gesichert.

Freitag, 21. April 2017

Office im Rucksack



Arbeiten von unterwegs? Gelingt mit viel Selbstdisziplin und geht auch nicht für alle Branchen. Der aktuelle Beitrag im LinuxUser 05/2017 erklärt das ganze näher.

Sonntag, 26. Februar 2017

Unterwegs im Zululand





Unterwegs entlang der Route 66

Jedes Jahr am 23. Februar findet das Khekhekhe-Festival in der Region KwaZulu-Natal (Zululand) statt. Es erinnert an König Diniswayo und wie er seine Kraft über die Schlangen gewann. Das Festival ist eines der letzten traditionellen Veranstaltungen, die neben Geschichten auch Tänze und Beschwörungen beinhaltet. Mehr Informationen lesen Sie hier.


Die Beschützer der Häuser



Dienstag, 21. Februar 2017

Abendstimmung

Manche Momente sind festhaltenswert - so auch dieser abendliche Himmel mit Sonnenuntergang im Hafen von Kapstadt.

Abendstimmung

Montag, 20. Februar 2017

Geballte Informationen aus erster Hand - das Debian-Paketmanagement-Buch

Seit 2013 arbeiten Axel Beckert und ich an dem Buch zum Thema Debian-Paketmanagement. Mittlerweile umfaßt es mehr als 400 Seiten kompaktes Wissen zum dem Thema. Es unterteilt sich in Grundlagen, Werkzeuge und Anwendungsfälle für die Praxis.

Webseite des Buchprojekts


Unser Buch steht seit Sommer 2015 unter einer Creative Commons (CC-BY-SA)-Lizenz und ist für jeden Interessierten zur freien Nutzung über die Versionierungsplattform GitHub verfügbar. Darüber kann jeder am Buch mitwirken und Korrekturen sowie Ergänzungen vornehmen. Diese fließen live in das Projekt ein und erlauben eine stets aktualisierte Fassung als HTML, ePub, MobiPocket oder PDF. Diese Ausgabeformate werden automatisch gebaut und stehen innerhalb kürzester Zeit online zur Verfügung. Damit können Sie unser Buch auch komplett online lesen.

Uns freut auch sehr, dass das Buch als Debianpaket bereitsteht. Ab der kommenden Debian-Release 9 Stretch ist es fester Bestandteil der regulären Pakete.

Sonntag, 19. Februar 2017

Python-Tutorial und Trainings



Seit mehreren Jahren biete ich Trainings zur Programmiersprache Python an. Das umfaßt den Einstieg in die Skriptsprache, aber auch komplexere Themen wie Reguläre Ausdrücke, verlinkte Datenstrukturen und Objektorientierte Programmierung.

Dazu pflege ich ein Tutorial auf GitHub. Heute kamen darin etliche Beispiele für die Praxis hinzu. Diese Beispiele zeigen die Verwendung der nützlichen Module re, datetime, csv und fileinput.

In Kürze stehen auch wieder Schulungen zu Python auf Linux an. Die Termine folgen hier im Blog, sobald bekannt.

Mandela Run 2017

Am 11. März 2017 fand in der Nähe von Stelenbosch der jährliche Mandela Run statt. Diese Veranstaltung erinnert an die Freilassung Nelson Mandelas, welche sich dieses Jahr zum 27. mal jährt. Die Route folgt dem Weg, den Nelson Mandela seinerzeit aus dem Gefängnis nahm. Zur Auswahl standen eine Laufstrecke von 27km, von 10km und von 5km.

Vor dem Start der 5km-Strecke
Nach dem Run war dieses Foto obligatorisch:

Geschafft!

Dienstag, 7. Februar 2017

Cape Town Cycle Tour - #Cancermustfall

Am 12. März 2017 wird erneut die Cape Town Cycle Tour stattfinden. Es ist eines der größten und populärsten Radrennen im südlichen Afrika. Hunderte von Teilnehmern kommen dazu aus der ganzen Welt zusammen, um dabei mitzufahren.

Mandy unterwegs beim Training

Jeder kann daran teilnehmen -- sei es nur aus Interesse am Sport, an der Bewegung an der frischen Luft, als persönliche Herausforderung oder um damit eine Organisation zu unterstützen. Letzteren Weg hat Mandy Neumeyer eingeschlagen. Sie nimmt an dem Rennen teil, um damit die Non-Profit-Organisation Ari´s Cancer Foundation (ACF) zu unterstützen. Die ACF ist die erste und einzige Organisation in Südafrika, die ihren Fokus auf Heranwachsende und junge Erwachsene hat, die mit der Diagnose Krebs konfrontriert sind. Das betrifft das Lebensalter von 15 bis 39 Jahren. Häufig gibt es für diese Menschen in dieser Altersgruppe keine adäquate Behandlung -- entweder werden sie falsch diagnostiziert, oder sind sie zu jung oder alt, um angemessen als junge Erwachsene behandelt zu werden.

Mandy sagt über sich: Cancer has stroked the life of all of us in one way or the other. I had a cancer diagnosis myself in 2012 and the Cape Town Cycle Tour will be a possibility for me to push my body and to feel what is capable of and therefore to win the trust in my own body back. But what makes this event extra special is the chance to make a difference in the life of those young underprivileged adults fighting cancer.

Die Ari´s Cancer Foundation unterstützt Familien, die den Krebs bekämpfen und mit dem emotionalen Trauma sowie der finanziellen Belastung der Behandlung umgehen müssen. Viele dieser Familien verfügen nicht über eine finanzielle Unterstützung, medizinische Hilfe oder eine Krankenversicherung, die die Kosten trägt. Mandy war bestürzt, als sie erfahren hat, dass die Behandlung in Südafrika nicht abgedeckt ist.

Um die Behandlung zu erleichtern, hat die Ari´s Cancer Foundation die sogenannte Youth Booth entwickelt. Das ist ein komfortabler, mobiler Arbeits- und Entspannungsbereich, in dem sich junge Erwachsene während der Behandlung aufhalten können und dabei von dieser abgelenkt werden. Derzeit läuft die Suche nach den Mitteln für die dritte Box dieser Art.

Youth Booth (Pressebild)


Möchten auch Sie Mandy bei ihrer Aktion unterstützen und einen Beitrag zur Linderung leisten? Jeder noch so kleine Beitrag zählt.

Nehmen Sie Kontakt zu Mandy Neumeyer auf: mandy.neumeyer@web.de

Sonntag, 5. Februar 2017

Sonntag, 29. Januar 2017

Einen GPX-Track auf einer Landkarte darstellen

Routen und Wege erfassen Sie mit einem GPS-fähigen Gerät, bspw. ihrem Smartphone. Dafür muss bei diesem die Standorterfassung über GPS eingeschaltet werden, damit es die Verbindung zu den Navigationssateliten herstellen kann. Das erreichen Sie über die Einstellungen ihres Gerätes. I.d.R. ist für die Nutzung dieser Funktion keine Datenverbindung erforderlich.

Die Wegpunkte selbst erfassen Sie mit einem zusätzlichen Programm, bspw. GPS Logger für Android. Damit gelingt das automatisiert und in regelmäßigen Abständen.

GPS Logger im Einsatz
Zur Darstellung des GPX-Tracks stehen Ihnen verschiedene Werkzeuge zur Verfügung, bspw. gpsprune, QLandkarteGT und dessen nachfolger QMapShack. Alle Erlauben das direkte Einlesen des Tracks sowie die Nachbearbeitung, sofern erfasste Wegpunkte korrigiert werden müssen. Die nachfolgenden Abbildungen zeigen die Darstellung in gpsprune und QLandkarteGT. Alle Darstellungen verwenden das Kartenmaterial von OpenStreetMap.

Eine erfaßte Wegstrecke mit Höhenprofil und Details zu dem ausgewählten Wegpunkt, dargestellt mit gpsprune

Die gleiche Wegstrecke samt Wegpunkten und Höhenprofil, dargestellt mit QLandkarteGT

Duiker's Island - der westlichste Punkt des Weges


Samstag, 28. Januar 2017

Naturschauspiele am Kap

Manche Momente sind einfach nur beeindruckend anzusehen - hier die Fallwinde und die Wolken zum Sonnenuntergang südlich von Kapstadt.

Abendstimmung in Clifton

Hier liegt der Hafen von Hout Bay in der Abendstimmung.

Abendstimmung in Hout Bay

Dienstag, 17. Januar 2017

Hout Bay's Schätze

Der kleine Ort liegt etwa 20km südlich von Kapstadt an einer malerischen Bucht und hat etwa 20.000 Einwohner. Eingerahmt von den schroff wirkenden Höhenzügen des Tafelbergmassivs bieten sich faszinierende Kontraste zwischen dem blauen Wasser des Atlantiks, dem hellen Sandstrand und der mediterranen Vegetation - ganz ohne den Trubel der Mutterstadt Cape Town.

Zunächst etwas unscheinbar wirkend, glänzt es mit den lokalen Attraktionen wie dem jedes Wochenende stattfindenden Hout Bay Market sowie dem World of Birds. Letzteres ist ein mit privater Initiative eingerichteter und erhaltener Zoo, der sich vorrangig der Vogelwelt der südlichen Hemisphäre widmet. Mit über 400 verschiedenen Spezies gilt es als der größte Vogelpark Südafrikas. Die Anregung von Dirk Deimeke hat sich voll gelohnt - danke!

Gehege im World of Birds

Hout Bay ist weiterhin Ausgangspunkt des Chapman’s Peak Drive, einer etwa 9km langen, mautpflichtigen Strecke am Meer entlang in Richtung des Kap der Guten Hoffnung. Diese Strecke ist sowohl für den Fahrer, als auch für den Beifahrer ein echter Genuß.

Blick von Hout Bay auf den Chapman's Peak Drive

Der Empfehlung der Mother City Hikers und dem Cape Town Magazine folgend, ergeben sich attraktive Blickwinkel von den Höhenzügen rund um den Ort. Neben leichteren Routen wie bspw. zur Sandy Bay mit mehreren Schiffswracks erlauben der Constantiaberg (928m) und der Skorsteenberg (504m) imposante Aufstiege im Table Mountain National Park.

Abendstimmung auf dem Plateau rund um den Skorsteenberg mit Blick zum Tafelberg

Mittwoch, 11. Januar 2017

Auswertung mit NumPy, Pandas und Matplotlib

Die drei Python-Bibliotheken NumPy, Pandas und Matplotlib erlauben eine Datenauswertung mit graphischer Darstellung. Die Ausgabe der Wegstrecken für 2016 ergibt nachfolgende Grafik. Jeder enthaltene Staffelbalken repräsentiert dabei einen Monat.

Darstellung als Staffelbalken mit Legende

Die Legende in obiger Abbildung wird automatisch erzeugt, ist hier aber noch nicht optimal. Gleiches gilt für die verwendeten Farben in der Darstellung. Ideal wäre, wenn jede Wegstrecke eine eigene, unverwechselbare Farbe hätte.

Zur Erzeugung der Grafik kommt zunächst dieser Aufruf zum Einsatz:

df = pd.DataFrame(distances, index=month,columns=pd.Index(travelDescription))
df.plot(kind='barh', stacked=True)

df ist ein DataFrame aus der Pandas-Bibliothek. Dieser wird gefüttert mit den Distanzen, den Zeitintervallen und den Beschreibungen der jeweiligen Wegstrecke. plot() berechnet daraus die horizontalen Balken, der Parameter stacked=True sorgt für die Staffelung.

Die Methode plot() kennt einen weiteren Parameter namens colormap, mit der Sie die Farbauswahl steuern. Zur Auswahl stehen über ein dutzend Farbsets, bspw. Blues, Pastel1, Pastel2, spectral oder auch autumn. Je nach Farbset ist es ein Übergang zwischen zwei einzelnen Farben oder ein mehrstufiges Spektrum. Eine genaue Übersicht liefert Ihnen dazu das SciPy Cookbook. Die nachfolgende Abbildung benutzt das Farbset Set1 und macht die Darstellung schon aussagekräftiger. Folgender Aufruf wird dazu genutzt:

df.plot(kind='barh', stacked=True, colormap='Set1')


Darstellung als Staffelbalken mit Farbset Set1 und Legende

Dienstag, 10. Januar 2017

Aufbruch nach Süden

Strahlend blauer Himmel mit Sonnenschein macht die kalte Januarluft Berlins etwas erträglicher. Bald ist es soweit und ich habe erneut afrikanischen Boden unter den Füßen. Anspannung, Vorfreude und Herzklopfen. Es dauert nicht mehr allzu lange - hoffe ich.

Blick auf das Rollfeld in Berlin-Tegel

Sonntag, 1. Januar 2017

Mit Linux-Bordmitteln Fahrstrecken ausrechnen

Unterwegs zwischen Neuenburg und Genf
Wer viel zwischen unterschiedlichen Orten unterwegs ist, kennt das Bedürfnis: irgendwann will man wissen, wieviele Kilometer man tatsächlich zurückgelegt hat. Erfassen Sie das nicht automatisiert mit ihrem Smartphone -- bspw. mit Route Tracker --, helfen für das Ergebnis etwas Handarbeit und wenige Zeilen Programmcode.

Grundlage für die Berechnung ist eine Textdatei mit den fünf Spalten Anzahl, Von, Nach, Distanz und Grund. Erstere gibt an, wie häufig diese Strecke genutzt wurde, Von und Nach den Start- und Endpunkt der Reise, Distanz die Entfernung zwischen Start- und Endpunkt sowie Grund den Anlass der Reise. Alle Spalten sind mit Tabulatoren voneinander getrennt, damit die Spalten bei der Ausgabe auf dem Terminal oder im Texteditor auch hübsch untereinander angeordnet werden. Leerzeichen kommen nicht als Spaltentrenner in Frage, da Ortsangaben noch Erweiterungen wie Flußnamen oder Regionen haben können.

Ausschnitt aus den erfaßten Strecken für 2016 im Texteditor Vim
Für die Lösungsvariante tritt awk in den Ring und punktet mit einem Dreizeiler.

awk-Variante zur Berechnung der Gesamtkilometerzahl
In Zeile 1 wird der Inhalt der internen awk-Variable FS redefiniert. FS kürzt field separator ab und beinhaltet die Trennzeichen, die awk benutzt, um die einzelnen Spalten zu erkennen. Hier wird FS auf mehrfach aufeinanderfolgende Tabulatoren gesetzt.

In Zeile 2 werden der Inhalt der beiden Spalten 1 und 4 miteinander multipliziert und zur Variable gesamt addiert. awk merkt sich für jede gelesene Zeile den Spalteninhalt in den Variablen $1 bis $5. Die Spaltentrennung erfolgt anhand von FS wie zuvor in Zeile 1 festgelegt.

Nützlich sind hier mehrere Automatismen von awk:
  • die Variable gesamt wird automatisch angelegt und mit 0 initialisiert, sofern diese noch nicht existiert. 
  • Enthalten die Variablen $1 bis $5 keine Zahlenwerte, erfolgt keine Berechnung. Damit wird die erste Zeile elegant verabeitet und muss nicht zuvor von Hand entfernt werden.
  • Alles zwischen den beiden Schlüsselworten BEGIN und END wendet awk auf jede gelesene Zeile an. Eine explizite for-Schleife entfällt.
Abschließend erfolgt in Zeile 3 die Ausgabe der aufsummierten Gesamtkilometer mit Hilfe der awk-Funktion printf.

Für das Kalenderjahr 2016 sieht das Ergebnis wie folgt aus, wobei das awk-Skript aus der Datei distanz.awk kommt und das Fahrtenbuch in der Datei fahrtenbuch-2016.txt enthalten ist:

$ awk -f distanz.awk fahrtenbuch-2016.txt
Gesamt: 100245 km

$

Das sind zweieinhalbmal um die Erde. Welche Orte es 2016 waren, entnehmen Sie dieser Liste.

Weitere Lösungsvarianten für die Shell sowie mittels Python, Perl, Tcl und SQL inklusive einer ausführlichen Beschreibung entnehmen Sie meinem Artikel Sieben Brücken. Alltagsaufgaben mit Bordmitteln lösen aus LinuxUser 05/2016. Die Skripte finden Sie auch in meinem Repository auf GitHub.