Wo war ich im 2023?

Hier einer der Posts zu meinem 2023. Dieser und andere Posts sind unter dem Tag jahresrückblick23 zu finden.

Christian hat mich daran erinnert, dass ich noch darüber schreiben wollte, wo ich dieses Jahr war.

Dank dem ‘Premium’-Abo von WHIB habe ich einen Überblick der Positionen meines Telefons während der letzten 5 Jahre in einer CSV-Datei, die mit etwas Python-Code einfach auswertbar ist.
Schlussendlich habe ich 20700 Datenpunkte mit einer Position im 2023.
Ich schalte mein Telefon in der Nacht aus, also habe ich im Schnitt (bei 8h ausgeschaltetem Telefon) ca. alle 20 Minuten einen Datenpunkt.

Im Sommer sind wir mit unserer fahrenden Ferienwohnung an der Atlantikküste gewesen, haben auf lustigen, eigentlich privaten Campingplätzen übernachtet und viel unsere mitgenommenen Velos bewegt.
Im Herbst haben wir die Nordostküste von Sardinien befahren und waren so viel wie möglich nicht auf Campingplätzen, sondern haben am Strand übernachtet, bis der Strom und Kühlschrank leer und das WC voll waren.

Wir sind insgesamt 910 km in Nord-Süd, und 893 km in Ost-West-Richtung unterwegs gewesen.

Im Median war ich auf dem Bänkli beim Elefantenspili.
Am nördlichsten waren wir etwas südlich von Paris, auf der Autobahn, am östlichsten irgendwo südlich von Bastia in Korsika (wo wir nicht waren, und sich wahrscheinlich mein Handy bei der Fährüberfahrt von Genua nach Porto Torres eingebucht hat), am südlichsten irgendwo nach 3 Nächten am schönsten Strand von Sardinien (Is Arutas, der uns von zwei wunderbaren alten Menschen ein paar Nächte vorher empfohlen wurde), am westlichsten irgendwo auf dem Weg zum Strand auf Noirmoutier.
Der höchste Punkt war zum Start in die Skisaison vor gut einem Monat auf dem kleinen Matterhorn in Zermatt.

Unten ist die Heatmap meiner Positionen im 2023 eingebunden, so dass Reinzoomen in die Karte und Raussuchen anderer Ausflüge selbst möglich ist.

Die komplette Analyse ist auf GitHub zu finden, falls jemand dies für sich nachbauen will.
Weil die Originaldatei mit meinen Positionen auch die genauen Zeiten enthält, liefere ich die aus datenschutztechnischen Gründen nicht mit.
Eine komplette Version meiner Analyse als Notebook mit allen Karten ist dank dem coolen NBViewer hier zu sehen.

Der nächste Jahresrückblick wird dann noch etwas spannender.
Wir planen von Mitte April bis Mitte Juli eine grosse Auszeit und werden mit den Kindern Nationalpärke auf einem anderen Kontinenten besuchen.

Blick in den Innenhof des Instituts für Anatomie

Seit ca. einem Jahr mache ich jede Woche ein Foto in den Innehof bei uns.
Mit etwas Python-Code1 habe ich davon zwei Ansichten gemacht.
Einmal verläuft das Jahr Stückchenweise vertikal, und einmal horizontal.

Isch no hübsch cho, finde ich…

innenhof.vertical

innenhof.horizontal

Wie vorhin erwähnt, ist dask schampar gäbig um auf ganz viele Bilder zuzugreifen.
Hier – bei 44 Bildern – ist die Verwendung von dask ein totaler Overkill, aber so konnte ich schon geschriebene Code-Zeilen wiederverwenden.


  1. Zum selber ausprobieren ohne ‘was zu installieren einfach hier klicken. Oder auf den ‘Launch Binder’-Knopf im Repository. 

Im 2021 habe ich 4 Millionen Schritte gemacht

Hier einer der Posts zu meinem 2021.
Dieser und andere Posts sind unter dem Tag jahresrückblick21 zu finden.

Im 2021 habe ich tatsächlich eine Million mehr Schritte als im 2020 gemacht, nämlich 4.4 Millionen Schritte.
Wie letzes Jahr habe ich die Schritte, die meine Uhr zählt, über Garmin Connect in Apple Health ablegt und via einer App in ein Textfile exportiert.
Das CSV-File lässt sich mit etwas Python-Code kurz anschauen, so dass ich eben weiss, dass ich pro Tag im 2021 im Schnitt 12000 Schritte machte.

Am meisten Schritte gab’s auf mehreren Wanderungen, nämlich in der Nähe von Laax, auf der Elsigenalp, in Saa-Fee (ohne Track) oder ob Grindelwald (ebenso).

Am Papatag und am Wochenende gibt’s mehr Schritte, Montag und Donnerstag sind eher faule Tage…
Steps per weekday

Die Ferienwochen sind in der monatlichen “Statistik” auch zu erahnen.
Steps per month

Wer sich für den kompletten Code interessiert, findet das Jupyter Notebook hier auf GitHub, oder klickt hier für eine lauffähige Version des Notebooks auf Binder.

Im 2020 habe ich 3 Millionen Schritte gemacht

Apropos seaborn; Hier einer der Posts zu meinem 2020.
Dieser und andere Posts sind unter dem Tag jahresrückblick20 zu finden.

Wie Anfangs 2019 habe ich mal wieder auf meine Schritte geschaut.
Im 2020 habe ich 3.03 Millionen Schritte gemacht.
Das weiss ich, weil ich die Schrittzahlen, die meine Uhr aufnimmt, über Garmin Connect in Apple Health ablegt, via einer App in ein Textfile exportiert habe.
Das CSV-File lässt sich mit etwas Python-Code kurz anschauen, so dass ich eben weiss, dass ich pro Tag im 2020 im Schnitt gut 8000 Schritte machte (im 2018 waren’s noch +10000…).

Wie damals ist schön zu sehen, dass ich am MittwochPapatag eher mehr Schritte mache

output_19_0

Die Ferien- und ‘ausschliesslich HomeOffice’-Monate tauchen auch verstärkt in der “Statistik” auf (die eben dank seaborn so aussieht).

output_20_0

Wer sich für den kompletten Code interessiert, findet das Jupyter Notebook hier auf GitHub, oder klickt hier für eine lauffähige Version des Notebooks auf Binder.

Wo war ich im 2019

Hier einer der Posts zu meinem 2019.
Eine Darstellung meiner Aufenthaltsorte im vergangenen Jahr.
Dieser und andere Posts sind unter dem Tag jahresrückblick19 zu finden.

Wie letztes Jahr lief das ganze Jahr über WHIB im Hintergrund auf meinem iPhone SE.
Das heisst, dass ich jetzt ca. 18000 Datenpunkte habe, wo sich mein Telefon (und dadurch mit hoher Wahrscheinlichkeit ich) im 2019 befunden hat.

Im 2109 war ich drei Mal ausserhalb der Landesgrenzen.
Im Mai war ich an einer Konferenz in Belgien und habe dort die Geschichte mit den Zebrafischen präsentiert, über die ich hoffentlich bald mehr schreiben kann.
Auf der Karte, die ganz unten in diesem Post eingebunden ist, zieht sich die Zugfahrt dorthin hübsch als Linie von Bern bis Mechelen in Belgien.
Im Juli waren wir mit einem coolen, gemieteten Camper in der Umgebung des Comer See unterwegs.
Im Oktober fuhren wir mit dem Zug nach Rapallo und haben den sprichwörtlichen Steinwurf weit vom Meer weg übernachtet, ein paar entspannte Tage an der ligurischen Küste verbracht, bevor wir auf dem Rückweg noch ein paar Tage in Genua die spannende Stadt erkundet haben.

Von Mechelen in Belgien bis Prato (dem Leuchtturm unter Portofino) habe ich also ca. 750 km in Nord-Süd-Richtung gemacht.
Im Durchschnitt bin ich fast zuhause geblieben, nämlich in Brenzikofen :)
Ende November habe ich trotz kaputtem Knie die SkiTelemark-Saison gestartet.
Die Bergstation des Sessellifts auf den Furgsattel war der höchste Punkt, an dem ich mich im 2019 befunden habe.

Unten ist die Heatmap meiner Positionen im 2019 eingebunden.
Die komplette Analyse ist hier auf GitHub zu finden, falls jemand dies für sich nachbauen will.
Weil die Originaldatei mit meinen Positionen auch die genauen Zeiten enthält, liefere ich die aus datenschutztechnischen Gründen nicht mit.
Eine kommplette Version meiner Analyse als Jupyter-Notebooks mit allen Karten ist (zur Ansicht) hier zu finden.

Wo war ich im 2018?

Hier der nächste meiner Posts zum 2018. Eine Darstellug, wo ich mich aufgehalten habe. Dieser und andere Posts sind unter dem Tag jahresrückblick18 zu finden.

Seit OpenPaths ganz tot ist, speichert mein Telefon seine Position mit WHIB. Dank einer 2$-Premium-Funktion kann ich die Positionsdaten als CSV-Datei exportieren und diese dann mit etwas Python analysieren und darstellen.

Im 2018 war ich eher wenig (ausserhalb der Schweiz) mobil. Wenn mensch den Osterausflug nach Konstanz zur Schweiz zählt, war ich “nur” im Herbst in Sardinien (Ferien) und Anfangs Dezember in Heidelberg (Konferenz) ausserhalb der Landesgrenzen.

Die 13843 Datenpunkte ansprechen einer Position ca. alle 90 Minuten (stimmt nur halb, denn mein Telefon ist in der Nacht immer ausgeschaltet). Vom nördlichsten Punkt am Bahnhof Mannheim bis zum südlichsten Punkt am Strand von Porto Giunco an der Südspitze von Sardinien sind es Luftlinie ca. 1151, vom westlichsten Punkt (Yverdon) zum östlichsten (ebenfalls in Sardinien) wären es 242 km, wenn die Punkte denn auf der gleichen geografischen Höhe wären…
Damit wären auch die Extrem-Positionen auf der Kompassrose geklärt.

Der höchste Punkt war am Ausgang der Tunnelpiste beim Bettmerhorn, bei 2641 müM. Im Durchschnitt war ich im Kandertal bei Kandergrund, im Median habe ich mich im Weissenbühl befunden.

Die Code ist hier auf GitHub zu finden, oder inklusive aller Kartenansichten hier im nbviewer.

Da ich aus offensichtlichen Gründen nicht die gesamte Positions-Historie beilegen will, läuft das Notebook nicht in Binder. Unten ist eine sogenannte Heatmap meiner Position übers ganze 2018 zu sehen, direkt als HTML-Code aus dem Notebook exportiert. Es kann also etwas dauern, bis dein Browser oder Feed-Reader das Ding anzeigt…

Im 2018 habe ich über 10000 Schritte pro Tag gemacht

Hier der nächste meiner Posts zum 2018. Eine kleine Analyse meiner täglichen Schritte. Dieser und andere Posts sind unter dem Tag jahresrückblick18 zu finden.

Seit September 2014 weiss ich ungefähr, wieviele Schritte ich jeden Tag mache. Die Schritte werden mit einem Garmin vívofit (bis ca. Mai 2016) und einer Garmin Forerunner 235 (seit ca. dann) aufgezeichnet.
Die Export-Funktion von Garmin liefert leider keine nach Tag aufgeschlüsselten Daten. Da die Schrittzahlen aber via Garmin Connect auf meinem Telefon in Apple Health landen, konnte ich mit QS Access einfach eine CSV-Datei erstellen, die mit etwas Python-Code analysiert wird.

Mit etwas Python-Code (siehe ganz unten) habe ich die CSV-Datei eingelesen und kurz “analysiert”: In der Summe habe ich im 2018 3.85 Millionen Schritte gemacht, das sind 10558 Schritte pro Tag. Am meisten Schritte gab’s am Instituts-Ausflug (siehe August hier), nämlich 21465 Schritte. Am wenigsten gab’s am 5. Juli mit 303 Schritten, da ist mir die Uhr abgestürzt (ein Satz, den man sich früher so auch nicht erträumt hätte). Am zweitwenigsten gab’s an einem langweiligen Ferientag am Meer mit 3072 Schritten.

Aufgeschlüsselt nach Tagen sieht das so aus. Die geneigte Leserschaft erkennt so, wann ich Papa-Tag habe und wann ich Mittags äusserst selten joggen gehe (Donnerstag, bzw. Dienstag).

Aufgeschlüsselt nach Monaten sieht das so aus. Man erkennt ziemlich schön, wann ich meinen zweimonatigen unbezahlten Vaterschafts-Urlaub hatte und wann die langen Ferien waren :)

Wer sich für den kompletten Code interessiert, findet das Jupyter Notebook hier auf GitHub, oder klickt hier für eine lauffähige Version des Notebooks auf  Binder.

Wo war ich im 2017

Anfangs Jahr ist ein guter Zeitpunkt, um aufs vergangene Jahr zurückzublicken. Das heisst, es gibt mal wieder ein paar nerdige Blogeinträge. Der Rest (wenn er dann kommt) ist unter dem Tag jahresrückblick17 zu finden.

Da ich erst Mitte 2017 herausgefunden habe, dass OpenPaths tot ist (die Daten können nicht mehr exportiert werden, auf Mails und Twitter-Nachrichten reagiert niemand), habe ich mich nach Alternativen umgesehen. Leider erst ab Juli, daher fehlen die Daten der ersten Jahreshälfte…
Nachdem Moves ausgeschieden ist, weil es zu Facebook gehört, und Arc ausgeschieden ist, weil die Batterielaufzeit des Telefons massiv verringert wurde, bin ich bei WHIB gelandet. Dank einem 2$-premium-Feature können alle aufgenommenen Daten als CSV exportiert werden, das macht es möglich, mit ein bisschen Python zu schauen, wo ich mich (in der zweiten Hälfte) 2017 rumgetrieben habe, als ich das Telefon dabei hatte.

Dazu brauchen wir ein paar Bibliotheken

import pandas
import matplotlib.pylab as plt
import seaborn
import folium

Laden wir mal das exportierte File in eine Pandas Tabelle

locations = pandas.read_csv('journey.csv')

Das sieht doch schon mal ganz gut aus, wir haben nämlich 6233 Datenpunkte.

locations.describe()
Crumb Latitude Longitude Altitude (in metres) Accuracy (in metres)
count 6233.000000 6233.000000 6233.000000 6233.000000 6233.000000
mean 3116.000000 46.932620 7.437850 533.149527 125.461736
std 1799.456446 0.067238 0.115774 159.792018 596.847400
min 0.000000 46.434918 7.026148 -43.000000 0.000000
25% 1558.000000 46.935265 7.417971 545.000000 47.000000
50% 3116.000000 46.937312 7.424690 555.000000 65.000000
75% 4674.000000 46.948112 7.433138 558.000000 70.000000
max 6232.000000 47.398817 8.577597 2003.000000 23964.000000

Mit etwas Hilfe von Folium können wir dann diese gut 6000 Datenpunkte auf einer schwarz-weissen Karte darstellen. Damit überhaupt ‘richtig’ etwas zu sehen ist, machen wir eine sogenannte Heatmap, dann ist das Ganze etwas übersichtlicher.

from folium.plugins import HeatMap
xy = [[row['Latitude'], row['Longitude']] for index, row in locations.iterrows()]
m = folium.Map(location=[locations['Latitude'].mean(),
                         locations['Longitude'].mean()], tiles='Stamen Toner', zoom_start=9)
folium.plugins.HeatMap(xy).add_to(m)
m

Schlussendlich sieht das dann so aus; da war ich überall in der zweiten Hälfte vom 2017. Rein- und rauszoomen ist erlaubt und erwünscht :)

Kommentare sind wohl wirklich tot

Dies ist der vierte und letzte meiner Jahresrückblick 2014-Posts. Die anderen sind unter dem Tag jahresrückblick14 zu finden.

Wie schon voremene Zitli nahm es mich letzthin wunder, wie’s denn heutzutage so mit den Kommentaren hier aussieht.

Dafür hab’ ich mein Skript zur Kommentar-Visualisierung ausgegraben, minimalst aufgehübscht und liess es über meine WordPress Datenbank laufen.

Wie früher auch schon klar ersichtlich, hat die Kommentar-Zahl sowohl die Posting-Zahl abgenommen. Die Posts haben sich in der Region von ca. anderthalb Posts pro Woche eingependelt, während seit ein paar Jahren ein Post von mir im Schnitt höchstens noch einen Kommentar generiert.

Aber wie schon das letzte Mal soll nicht unerwähnt bleiben, dass das hier ja mehr so ein halbwegs visuelles Tagebuch meiner coolen Erlebnisse ist und ich nicht auf die Kommentare angewiesen bin. Interessieren würde mich aber schon, wie das bei anderen (WordPress)-Bloggern aussieht. Wenn ihr einen solchen Plot macht, macht doch einen Kommentar oder Trackback hierhin, damit wir ein paar Datenpunkte mehr haben.

Jahresrückblick auf mich selbst

Das ist der dritte meiner Jahresrückblick 2014-Posts. Die anderen sind unter dem Tag jahresrückblick14 zu finden.

Im 2014 lernte ich Git lieben, hab’ viel Bildverarbeitung mit Python gemacht und gelernt, dass Gesichts-Erkennung mit OpenCV in ein paar Zeilen Code möglich ist.

Gesichtserkennung, mit Augen

Dazu kam, dass ich praktisch jeden Tag ein Selfie von mir machte, mit der Everyday App. Eigentlich wollte ich diese beiden Dinge verbinden, fand dann aber irgendwann im Herbst raus, dass ich nicht der erste bin, der daran gedacht hat [1]. Rob Lourens hat ein Python-Skript geschrieben, das Bilder nimmt, auf diesen Gesichter und Augen erkennt und die Bilder zueinander ausrichtet.
Mit minimalen Anpassungen liess ich das Skript über meine 339 Selfies aus 2014 laufen. Zusammengesetzt mit der Zeitraffer-App mit 1 Woche pro Sekunde kommt schlussendlich dieses Video hier raus.

Knapp die Hälfte der Tage dachte ich daran beim Arbeitsschluss im Treppenhaus ein Foto zu machen [2]. Dadurch ist der Hintergrund und die Beleuchtung in diesen Bildern etwas konstanter, was das Ganze etwas schöner zum anschauen macht. Dieser Film ist so zusammengesetzt, dass eine Arbeitswoche einer Sekunde entspricht.

Wer die beiden Videos genau anschaut, sieht, dass ich im 2014 5 Mal die Haare und 18 Mal den Bart geschnitten habe. Und diesen Pickel an der Backe nur mit Bildbearbeitung los geworden bin, aber das ist ein guter Vorsatz im neuen Jahr :)
Und, weil’s grad so gäbig geht, und chli zu Rumänien passt. So seh’ ich aus, wenn mensch den Durchschnitt aus allen 339 ausgerichteten Bildern macht. Habis durchschnittliches Gesicht im 2014.

Habis average face for 2014

[1]: Ich sag’ immer: Es gibt fast nichts, das nicht schon jemand mal auch schon als Problem hatte, das schwierige daran ist nur, die Lösung trotzdem herauszufinden.
[2]: Oder war auswärts am arbeiten. Oder nicht am arbeiten.

Das Mitmach-Web ist tot!

Vor fast zwei Jahren haben das Thema schon mal diskutiert; und befunden dass bei verschiedenen Blogs bei den Kommentaren die Peaks überschritten sind.

Letzthin fiel mir ein, dass ich das doch mal wieder anschauen wollte, ob sich daran etwas geändert hat. Nach kurzer Analyse komm ich zur Aussage, dass das Mitmach-Web tot ist, jedenfalls aus meiner Sicht. Auf meinem Blog hier hab’ ich den letzten drei Jahren Kommentarzustände wie 2006, also im Schnitt ca. anderthalb Kommentare pro Eintrag.
Dafür kann es mehrere Gründe geben, der offensichtlichste ist, dass das was ich schreibe generell wenig Reaktionen hervorruft. Ein anderer Grund ist, dass sich kein Schwein für das interessiert, was ich schreibe. Oder dass generell nicht mehr so kommentiert wird, wie vor einigen Jahren.

Das tönt jetzt etwas griesgrämig, ist aber nicht wertend gemeint. Wenn ich das, was ich hier mache nur machen würde, um Rückmeldungen abzuholen, bin ich sowieso auf der falschen Schiene. Das Blog hier dient schon über 10 Jahren (jawoll) als öffentliches Tagebuch, zum festhalten von Eindrücken und Dingen, die mich bewegen.

Und schliesslich sind Blogs nur noch für 40-jährige mit Kindern, wie Herr Kottke letzthin schrieb. Beide Eigenschaften treffen (noch) nicht wirklich auf mich zu, ihr wisst aber schon, worauf ich raus will.

Langer Rede kurzer Sinn; ich hab’ mich mal wieder hinter die Tastatur geklemmt und versucht, ein kleines Skript zu schreiben, welches mir die Arbeit abnimmt, die Aussagen aus der Datenbank zu knübeln, damit ich das Gegreine oben mit Zahlen belegen kann.

Ich hab’ das Skript von vor zwei Jahren etwas ausgebaut, so dass das Datenbank-Gepfriemel und die Anzeige in einem Rutsch gehen. Und zwar so.

Dank MySQL Connector/Python wird die Datenbank von WordPress direkt angezapft, mit optparse werden dem Skript ein paar Vorgaben (Server, Datenbank, Username und Passwort) dazu übergeben.

Die Datenbank-Abfrage (ursprünglich von Herr Leu) wird direkt übergeben.

Anschliessend wird mit den abgefragten Daten etwas jongliert und diese dann ausgegeben,

Und schlussendlich wird mit matplotlib das ganze visuell dargestellt und als Bild gespeichert, Dank iWantHue in einer optimalen Farbkombination.
.

Wer das ganze für sich selber auch anschauen möchte, sei herzlichst eingeladen, das Skript hier herunterzuladen und im Terminal zu starten. Ohne Parameter gibt’s mal eine Hilfe, ich verrate schon, dass mensch die Angaben wie Server, Datenbank-Name, -User und -Passwort bereithalten sollte. Wenn du das grad nicht mehr weisst, findest du diese Angaben in deiner wp-config.php-Datei.

Issues und Pull Requests sind herzlich willkommen, genauso wie Kommentare mit den Bildern von euch.

habi_gna_ch.png

Wohin gehen all die Kommentare, visualisiert

Herr Leu hat letzthin davon geschrieben, dass das Kommentar-Volumen auf seinem Blog in der letzten Zeit ziemlich abgenommen hat, während die Reaktionen auf die Beiträge in anderen Kanälen stattfinden.

Dies ist mir auch schon lange aufgefallen, ich konnte es aber nicht wirklich mit Zahlen belegen. Da Herr Leu auch grad noch eine handliche MySQL-Abfrage zur Abfrage der Zahlen mitlieferte, hab’ ich mir mit Sequel Pro die Zahlen aus meiner Blog-Datenbank geholt.

Für mich sieht das Resultat der obigen Abfrage so aus:

Year Count Average
2003 157 0.3057
2004 316 0.6108
2005 197 1.2589
2006 144 1.4375
2007 140 2.8143
2008 146 2.5685
2009 93 3.7419
2010 90 3.1333
2011 73 1.3973
2012 17 0.4706

Ein Peak im Jahr 2009 ist klar erkennbar, danach sinken die Kommentarzahlen absolut und im Durchschnitt. Da ich aber der visuelle Mensch bin, hab’ ich mir gedacht, dass sich diese Zahlen (genau wie bei Herr Leu übrigens) doch in eine schöne Grafik verpacken lassen sollten.

Deshalb hab’ meinen Lieblingseditor gestartet und untenstehendes Python-Skript geschrieben. Das Skript liest die Zahlen aus einem Text-File und stellt die durchschnittlichen Kommentare normiert als Plot über die Jahre dar. Das einlesen aus einem Text-File hab’ ich gemacht, damit sich nicht nur meine Zahlen, sondern auch diejenige visualisieren lassen, welche andere in den Kommentaren bei Herr Leu angegeben haben.

#! /opt/local/bin/python

import optparse
from pylab import *

# Use Pythons Optionparser to define and read the options, and also
# give some help to the user
parser = optparse.OptionParser()
usage = "usage: %prog [options] arg"
parser.add_option('-n', dest='Name', metavar='Fridolin')
(options, args) = parser.parse_args()

# show the help if no parameters are given
if options.Name==None:
	parser.print_help()
	print ''
	print 'Example:'
	print 'The command reads the comment from "comments_sepp.txt"'
	print 'and plots them nicely.'
	print ''
	print 'comments.py -n sepp'
	print ''
	sys.exit(1)
print ''

Data = genfromtxt('comments_' + str(options.Name) + '.txt',skip_header=True)

MaxAverage = 0
for line in Data[:,2]:
	MaxAverage = max(MaxAverage,line)

ax = plt.subplot(111)
ax.plot(Data[:,0],Data[:,2]/MaxAverage)
ax.axis([2003,2012,0,1])
ax.xaxis.set_major_formatter(FormatStrFormatter('%d'))
title('Normalized comments for ' + str(options.Name))
savefig(str(options.Name) + '.png')

Als ich das kleine Skript mit den angegebenen Zahlen laufen liess, entstehen untenstehende Plots. Schön ist zu sehen, dass der Kommentarhöhepunkt bei allen (Markus, Robert, Roger, Manuel [1] und mir) teilweise deutlich überschritten scheint. Ich persönlich bewege mich nicht (mehr) auf Twitter und Facebook, erhalte also auch von dort keine Rückmeldungen.

habi.png markus.png robert.png roger.png sprain.png


Um’s genau wie Herr Leu zu sagen: Auch wenn ich das ganze als Python-Fingerübung benutzt habe, wünsche ich mir mehr Kommentare hier, auch – oder gerade wenn – ein Beitrag nicht gefällt, oder du eine andere Meinung hast.

[1]: der mich übrigens mit dem “wenn auch auf tieferem Niveau” in seinem Kommentar drüben bei Herr Leu dazu gebracht hat, die durchschnittlichen Kommentare zu normalisieren.

mit freier software freie software-daten visualisieren [update]

seit einen halben jahr beantworte ich die frage “what’s up?” nicht bei twitter, sondern der quell-offenen alternative, bei identi.ca [1]. über die beweggründe, eine offene alternative zum fail whale zu benutzen soll hier nicht die rede sein [2].

in den letzten tagen hab’ ich mich gefragt, wie schnell identi.ca wächst. jedes status-update wird bei identi.ca als wachsende nummer, in der form http://identi.ca/notice/1 [3]. jede dieser nachrichten wird dann mit einer klar definierten zeit auf der webseite festgehalten. aufgrund der beiden parameter nummer und zeit könnte schon ein kleiner graph entstehen.

da es mir aber äusserst mühsam erschien, genug status updates anzusurfen, die jeweiligen zeiten aufzuschreiben, dies in eine excel-tabelle [4] einzutragen und dann einen plot zu generieren, habe ich mich nach kurzer überlegung entschieden, das ganze anders anzugehen: mit einem kleinen python-skript (siehe hier) lade ich eine definierte nummer von sogenannten dents, mache eine kleine aufhübschung mit ein bisschen text-ersetzung und schreibe das ganze in ein komma-separiertes textfile.

in diesem textfile landen alle parameter, die für einen plot notwendig sind. nach weitere kleinerer rumbastelei landet das ganze in 23 zeilen LaTeX-code (siehe hier), mit dem dann mit der hilfe von tikz und pgfplots untenstehende graphik entsteht [5]. die rumbastelei hat vor allem mit der anpassung von zeitspannen zu tun, damit’s ein schöner plot wird.

dents.png

im ganzen plot sind nur 55 datenpunkte verwurstet, aber nichtsdestotrotz kann mann einen eher exponentiellen anstieg der anzahl nachrichten in den ersten 300 tage identi.ca feststellen. damit der plot aussagekräftiger wird, muss ich mein python-skript mal etwas länger laufen lassen, oder jemand interessiert sich wirklich so fest dafür, dass er es mit meiner vorlage weiterführt oder verbessert.

dieser post soll auch dazu dienen, dass ich – nach dem blgmndybrn special im musigbistrot – grad noch bastian einen richtigen hinweis auf identi.ca und LaTex geben kann: bastian, identi.ca ist oben abgehandelt, meine code-schnipsel zu LaTeX landen hier, diejenigen zur bildverarbeitung mit imagemagick hier. weiter wollte this noch auf das schöne paket hingewiesen werden, mit dem mann – mit 23 zeilen code – solche plots wie oben stehend generieren kann. eben, pgfplots und mein beispiel an LaTeX-code.
also, wenn ich für die ausrechnung der tage seit dem start nicht doch gestern abend numbers verwendet hätte, würde auch der titel dieses eintrages stimmen, mit python habe ich die frei verfügbaren daten von identi.ca geladen, in ein text-file geschrieben und mit dem übermächtigen LaTeX daraus ein kleines, aber feines pdf erstellt.
und ja, ich geb’s zu, ich bin ein nerd!

[1]: seit längerer zeit wird auch mein status beim moloch facebook von identi.ca aus aktualisiert

[2]: “my data”, “my content”, portabilität, freie meinungsäusserung, etc.

[3]: hier das erste status-update von evan, dem kopf hinter dem ganzen

[4]: oder numbers

[5]: natürlich als pdf, hier der einfachheit halber als .png-bild

ps: fast noch schöner sieht’s mit logarithmischer y-achse aus; dieser plot wurde mit der leicht modifizierten version des latex-codes (hier zu finden) erstellt.

logdents.png

update: tobias diekershoff hat heute ein viel schöneres skript und eine viel fundiertere aussage über die anzahl dents veröffentlicht. falls es jemand interessiert: hier weiterlesen!