Commit 7e925884 authored by Administrator's avatar Administrator

twitter post

parents 7580b362 2703681b
2.6.5
\ No newline at end of file
2.6.5
source "https://rubygems.org"
gem "jekyll", "~> 3.8.3"
source 'https://rubygems.org'
gem "jekyll", "~> 3.8.5"
gem "jekyll-bulma"
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
gem "jekyll-feed", "~> 0.12.1"
end
GEM
remote: https://rubygems.org/
specs:
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.0.5)
concurrent-ruby (1.1.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.9.25)
ffi (1.11.2)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.8.3)
jekyll (3.8.6)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
......@@ -29,29 +29,27 @@ GEM
safe_yaml (~> 1.0)
jekyll-bulma (0.2)
jekyll (~> 3.8)
jekyll-feed (0.10.0)
jekyll (~> 3.3)
jekyll-feed (0.12.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-watch (2.0.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (1.17.0)
liquid (4.0.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
liquid (4.0.3)
listen (3.2.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
pathutil (0.16.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.0.2)
public_suffix (4.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rouge (3.1.1)
ruby_dep (1.5.0)
safe_yaml (1.0.4)
sass (3.5.6)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (3.13.0)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
......@@ -61,9 +59,9 @@ PLATFORMS
ruby
DEPENDENCIES
jekyll (~> 3.8.3)
jekyll (~> 3.8.5)
jekyll-bulma
jekyll-feed (~> 0.6)
jekyll-feed (~> 0.12.1)
BUNDLED WITH
1.17.3
......@@ -18,7 +18,7 @@
<ul class="menu-list">
{%- for post in site.posts limit:5 -%}
<li>
<a href="{{ post.url | prepend: site.baseurl }}">{{ post.title | truncate: 35 }}</a>
<a href="{{ post.url | prepend: site.baseurl }}">{{ post.title | truncate: 55 }}</a>
</li>
{%- endfor -%}
</ul>
......
---
layout: post
title: Breaking Three
date: 2019-10-17 08:00:00 +0200
---
13.Oktober, 13:35. Da stehe ich nun im Englischen Garten in München und habe
noch ziemlich genau 5 Minuten Zeit bis zum Start. Zum Start des Münchner
Halbmarathons. Und das alles nur wegen Dominik. Der nicht hier ist.
Aber hier ist Friedl. Er läuft seinen zweiten Halbmarathon. Vor zwei Wochen
ist er in Ulm schon eine 2:48 gelaufen und heute will er wenigstens eine 2:47
schaffen. Wir haben 3 Stunden Zeit, das ist die sogenannte Karenzzeit. Dann
kommt der Besenwagen. Den ich hoffentlich nicht sehen werde. Hinter dem muss man
am Gehsteig laufen.
Steve ist bereits vor 5 Minuten gestartet. Im Startblock A. Die Schnellen.
Wir sind C. Die Langsamen. Vorne wird geklatscht, Es geht wohl los. Den
Startschuss hören wir nicht, wir sind zu weit hinten. **Kilometer 0**.
**Kilometer 1:** Nur nicht zu schnell loslegen. Beim Staffellauf in Wien bin ich
vor einem halben Jahr schon mal 15k auf Zeit gelaufen. Also 15 Kilometer.
Nach 2k war ich das erste Mal kaputt. Zu schnell angegangen. Das passiert
mir heute nicht. Mir ist auch zu warm dafür. Und es geht bereits nach 300m
bergauf. Ich dachte, in München ist es flach.
**Kilometer 2:** Eigentlich wollte ich mit den 2:30 Pacern anfangs mitlaufen.
Theoretisch wären 2:34 bei mir drin. Sagt die Leistungsmessung der letzten
Wochen und Monate. Die Pacer haben wir auf der ersten Steigung aus den Augen
verloren.
Ich muss also mein eigenes Rennen laufen. Vielleicht auch besser so.
Jetzt erst mal von der Steigung erholen. Und ich habe ja noch Friedl. Er läuft
genau mein Tempo. Also das, was sich für mich OK anfühlt. 2:47 würde ich jetzt
auch nehmen...
**Kilometer 3:** Der Puls ist konstant bei 160. Das ist OK. Sagt mir auch die
Erfahrung der letzten Monate. Ich habe sogar eine Spirometrie unter
Laborbedingungen gemacht und weiß, dass mein Maximalpuls bei 182 liegt.
Also alles im Grünen Bereich.
**Kilometer 4:** Friedl ist noch neben mir, mal ein paar Meter vor mir, mal hinter
mir. Wir bringen einander automatisch dazu, mit sehr konstanter Anstrengung zu
laufen. Das ist gut. So kann man das überstehen. Denn es ist sehr warm.
Über uns ist ein Luftschiff. Eine nette Ablenkung. Ganz ruhig. Rund herum immer
wieder Zuschauer, die uns anfeuern. Kleine Kinder, die abgeklatscht werden wollen.
Läuft.
**Kilometer 5:** Die erste Verpflegungsstelle. Und Friedl ist weg. Er läuft durch
Verpflegungsstellen durch, trinkt und isst dabei. Ich gehe langsam, habe das
nicht so heraus. Aber ich kriege ihn nach 200 Metern wieder, wenn es das nächste
Mal bergab geht. Funktioniert eigentlich ganz gut. Habe in den letzten Wochen
viel Wert auf Techniktraining gelegt. Die richtige Vorlage. Also sich so ein
bisschen vorwärts lehnen beim Laufen. Damit bremst man
nicht bei jedem Schritt. Und bergab wird man automatisch schneller. Nur sauber
laufen, sonst gibt es Rückenprobleme. Oder mit dem Knie. Oder der Achillessehne.
Aber ich bleibe konzentriert.
**Kilometer 6:** Ist das heiß hier. Fade Strecke, die Sonne brennt. Die Univesität
gibt später zu Protokoll, dass die Maximaltemperatur des Tages 25.7 Grad ist.
Im Frühjahr habe ich gemerkt, dass ich, sobald es mehr als 16 Grad hat, langsamer
werde. Der Traum von den 2:30 ist ad acta gelegt. Macht nix. 3:00 sind das
Ziel. Also: Breaking Three.
**Kilometer 7:** Um Breaking Three zu schaffen muss ich 8:30 pro Kilometer laufen.
Bisher geht das leicht. Der schnellste Kilometer war 7:50, alle unter 8:30.
Ich baue also einen gewissen Zeitpolster auf. Wie viel? Egal. Zum Rechnen habe
ich keine Lust.
Der Kipchoge ist ja gestern in Wien gelaufen: Breaking Two. Er hat einen
Marathon unter zwei Stunden geschafft. Ich will die halbe Strecke in drei.
Jedem seine Ziele. Und meines habe ich Dominik, Steve und TJ zu verdanken.
**Kilometer 8:** Heiss. Der Dominik hat auf der Ganzohr Wissenschaftspodcastkonferenz
vor zwei Jahren spät abends bei Burger und Bier gesagt, er will wieder Sport machen.
Und der Steve meinte, er könnte ihn trainieren. TJ und ich haben sich angeschlossen.
Und gemeinsam sind wir die 3 Schweinehunde. Steve ist ja der Betreuer. Der
scheint keinen Schweinehund überwinden zu müssen und läuft 5x die Woche wie
ein Uhrwerk. Wobei nicht ganz. Doch dazu später. Als Podcaster berichten wir
3 Schweinehunde etwa einmal im Monat von unserem Trainingsfortschritt.
Trainingsziel ist hier und heute den Halbmarathon zu schaffen. In der Karenzzeit.
Aber das hatten wir ja schon.
**Kilometer 9:** Friedl ist noch da. Steve wohl weit vor mir. Insgesamt sind wir
heute sogar 9 Schweinehunde. Einige Hörer:innen haben sich angeschlossen.
Sonst wäre das auch traurig. Denn Dominik konnte heute nicht starten. Zuerst
eine Verletzung am Fuß, eine Sehnenzerrung. Zuletzt noch 2 Erkältungen.
Und während ich mich hier abmühe, frage ich mich, ob die ihm nicht ganz recht
gekommen sind. Nein, dafür hat er zu viel trainiert. TJ ist schon länger
raus. Details haben wir im Schweinehunde Podcast berichtet. Ob er
je wieder mit uns laufen wird? Ich weiß es nicht. Mir ist zu heiß.
**Kilometer 10:** Einem älteren Herrn vor mir auch. Er kracht torkelnd gegen eine
Bande. Ungefähr 50 Meter von den Sanis entfernt. Die kümmern sich gleich um
ihn. Alles gut. Aber ich mache mir bewusst, dass ich auch ziemlich am Limit
bin. Nicht von der Atmung, die hat sich in den letzten Wochen sehr verbessert.
Eigentlich atme ich fast flach jetzt. Aber mir ist heiß. Ich weiß, das hatten
wir schon. Aber es dominiert die Gedanken. Aber besser das, als andere
Probleme. Vor einigen Wochen hatte ich mit der linken Patellasehne zu tun,
das ist die über der Kniescheibe. Jumpers Knee, wie es genannt wird. Habe ich
gelernt, wie viel anderes Anatomisches. Konnte ich aber durch Dehnung und
Massage wieder los werden.
Hat sich herausgestellt, so heuer im Frühjahr, Steve unser Trainer, ist auch nur
ein Mensch. Nach einem Rennen war er ziemlich K.O. Beine wie Gummi, hat er
gesagt. Für einige Wochen. Warum konnten auch Ärzte nicht heraus finden. Das ist
alles nicht so einfach mit dem Organismus. Manchmal ist die Ursache eines
Problems ganz wo anders im Körper zu suchen. Oft im Kopf. Manchmal findet man
sie nie und es wird einfach so wieder besser.
**Kilometer 11:** Friedl ist noch da, er schnauft. Mal sehen, ob ich ihn noch
abhänge? Aber tut mir da nicht gerade die Achillessehne weh? Sauberer Laufen!
Und schon ist es wieder weg. Vielleicht ein Warnsignal. Mit der gab es auch vor
einiger Zeit Probleme. Die beiden sind auch meine Schwachstellen. Wegen ihnen
habe ich zuletzt die Umfänge beschnitten, ein paar lange Läufe ausgelassen. Ob
sich das noch rächen wird?
**Kilometer 12:** Es geht in die Stadt. Mehr Schatten. Das tut gut. Aber auch die
Energie wird weniger. Und nach jeder Verpflegungsstelle wieder zu Friedl
aufschließen kostet Kraft. Ich glaube nun eher, er wird mich abhängen. Meine
Leistung sinkt. Anfangs waren es bergauf 240 Watt. Später 215 flach. Jetzt
gerade noch 200. Das sagt mir ein Sensor am Schuh, der mit meiner Uhr spricht.
Schon cool. Eigenlich sollte ich um die 240 Watt laufen. Aber das ist bei der Hitze
nicht drin. Ich will ins Ziel kommen. Lieber etwas vorsichtig sein und nicht
überpacen. Ich will mich ja nicht kaputt machen.
**Kilometer 13:** Puls weiter bei 160. Kardiovaskuläre Dings ... Drift. Das Gehirn
hat schon etwas zu wenig Sauerstoff. Der Puls steigt langsam, wenn man nicht
langsamer wird, das ist normal. Und das wird heute noch lang werden. Friedl ist
noch in Sichtweite, aber ich schließe nicht mehr locker auf. Egal.
Das mit Breaking Three muss sich ausgehen. Immer noch jeder km knapp unter 8:30.
Der Besenwagen ist so weit weg wie noch
nie. Normaler weise könnte ich mir im Kopf einen karierten Zettel vorstellen und
Wurzel ziehen. Jetzt nicht mehr. Eigentlich interessant, dass das Gehirn und der
Körper das recht locker hinnehmen. Über was man alles nachdenken kann, so beim
Laufen. Die Gedanken driften immer wieder weg vom Lauf. Zuschauer feuern uns
an. Ach ja, da sind wieder Kinder, die abklatschen wollen. 2m Umweg?
Nö. Zu viel Anstrengung. Sorry.
**Kilometer 14:** Vorbei am Viktualienmarkt über Pflastersteine. Vor einem Jahr
hätte ich da noch Probleme gehabt. Die Sehnen in den Füßen waren zu schwach.
Habe dann ab Weihnachten die Umstellung zum Mittelfußlauf gemacht. Im April
gab es erste Erfolge. Jetzt sind Pflastersteine kein Problem mehr. Ich
schmunzle. Das sieht die Sprecherin: "Stefan schenkt uns sogar noch ein Lächeln".
Ich hatte das gar nicht gemerkt. Der Kipchoge macht das übrigens auch. Um
den Schmerz zu überwinden. Noch tut nix weh.
**Kilometer 15:** Friedl ist weg. Die Sonne geht aber auch langsam runter. "Das sollte
zu schaffen sein", spreche ich mit einer Läuferin. "Daran habe ich nie gezweifelt."
In dem Moment sticht die rechte Wade. Jetzt zweifle ich doch. Mit der gab es
noch nie Probleme. Egal, hier gibt's auch wieder Verpflegung. Und die habe
ich nötig. Energieriegel und Banane. Burps. Doch zuviel? Nein, geht schon.
**Kilometer 16:** Wieder mehr Energie. Aber die Wade tut auch mehr weh. Puh.
Schade, dass ich mich an Friedl nicht mehr anhängen kann. Er ist endgültig außer
Sichtweite. Ich suche mir einen anderen. Der humpelt sogar. Ich bin jetzt so
langsam, dass ich mit einem der humpelnd läuft, gerade so mitkomme.
**Kilometer 17:** Das war's wieder mit der Energie, aber sind ja nur mehr 4 Kilometer.
Alter Schwede: Noch 4 km mit einer stechenden Wade? Aber ich habe noch 3 Gels
bei mir. Mal eins nehmen. Jeder Meter fühlt sich bergauf an. Obwohl es hier
eher bergab geht. Meine Uhr meint am Schluss 140 Höhenmeter, die von Steve 65.
Was stimmt? Eigentlich ist das nur eine Frage der Auflösung der Messung, so
eine Höhenkurve ist ein Fraktal. Oha! Das Hirn ist wieder voll da.
Um den Schmerz zu genießen? Immerhin ist mit dem Kreislauf alles in Ordnung.
Ich bin angstrengt, aber der Puls ist weiter bei 160.
**Kilometer 18:** Noch 3km. Die Reihen lichten sich, das Feld um mich zieht sich
auseinander. Auch kaum Zuschauer. Langweilige Häuserreihen. Mal kurz überschlagen,
ob sich das mit Gehen ausgehen würde. Nein. Aber ein paar Meter gehen schon.
OK: 100 Meter. Dann wieder Anlaufen. Die Muskulatur in beiden Beinen tut weh.
3 Kilometer noch. Ach, das hatten wir ja schon.
**Kilometer 19:** Am Wegesrand sitzt einer mit einem Krampf. Ich will ihn aufmuntern,
neben mir zu gehen. So langsam laufe ich. Er kann nicht. Aber er wirkt sonst OK.
Der bei km 15 am Rettungswagen in der Rettungsdecke war nicht mehr OK. Totaler
Blick durch mich durch ins Leere. Ist mit mir alles OK?
Ja soweit alles OK. Aber es ist verdammt anstrengend. Mir fehlen die langen Läufe.
Aber jetzt habe ich zwei Jahre trainiert und es fehlen mir mehr zwei Kilometer.
Aufgeben ist definitiv keine Option. Denken Sie nicht an das Aufgeben!
Alter, bin ich langsam, manchmal nur 9:30, und das laufend.
**Kilometer 20:** Die Polizeimotorräder überholen mich. Kommt schon der Besenwagen?
Nein, die wollen nur nach Hause. Das Ziel, das Olympiastadion, ist schon zu sehen.
Das letzte Gel hinein. Eigentlich ist der Akku leer. Ich mag nicht mehr. Weiter!
**Kilometer 21:** Die mentale Barriere fällt weg. Es ist nicht mehr weit, ich werde
wieder so schnell wie ganz am Anfang. Beim Einlauf ins Stadium gibt's dann Gänsehaut
für ein paar Sekunden. Jetzt sind es nur mehr 200m. Ich überhole noch einen. Sehe
die Freundin, die mich anfeuert. Ins Ziel. Geschafft! Three is broken.
2:55:irgendwas. Egal. Halbmarathon erledigt. Uff! Hinsetz... Nö, der
Stadionsprechen wirft uns hinaus - über die lange Treppe geht's aus dem
Stadion.
Ich war nie im roten Bereich, den kenne ich von kürzeren Läufen. Steve hat mich
gut vorbereitet, der Trainingsplan war topp. Beim Lauf war alles war unter
Kontrolle. Und jetzt? Erstmal ausruhen. Forsetzung gibt's im Podcast.
---
layout: post
title: "Technische Überlegungen zur Entwicklung einer Trainingsdokumetation"
date: 2019-04-11 13:00:00 +0200
---
Als Softwareentwickler habe ich natürlich immer sofort die Architektur einer Anwendung im Kopf,
und die Implikationen, die sich aus der Wahl ergeben, sowohl für die Features, die man gerade
plant, als auch für jene, die noch in weiterer Ferne erscheinen. Und so ist die Planung einer
Anwendung "auf der grünen Wiese" zwar einerseits eine große Freude, kann man doch den geeigneten
Stack selbst bestimmen, andererseits aber auch eine Belastung, legt man sich doch gleichzeitig
auf einen fest. Und so ist es auch diesmal:
Wie bereits im letzten Post besprochen, ist Stefan (der andere ;-), Stefan Dillinger) hier ja mit
von der Partie, also im Team und ich möchte ihn soweit wie möglich in die Entwicklung einbinden.
Was weiss ich denn von ihm? Er ist grundsätzlich technikaffin, ist er doch das technische
Mastermind hinter dem Podcast [The Random Scientists](https://therandomscientist.de/). Er ist weiters
studierter Biochemiker - also Naturwissenschaftler, doch wenn mich nicht alles täuscht, kam in
seinem Studium die Entwicklung mit der aktuell in den Naturwissenschaften beliebtesten Sprache,
Python, nicht allzu intensiv vor. Ich selbst habe mal Python im Mittelschulrahmen unterrichtet
(und dafür auch zuvor gelernt :-) ). Das ist allerdings schon 15 Jahre her. Meine Erinnerungen an
Python sind durchwegs positiv, auch wenn die vielleicht interessanteste Art für unser Projekt mit
Python zu interagieren, damals noch gar nicht gab: Jupyther Notebooks. Wir könnten darin quasi in
einer Art wissenschaftlichem Paper unsere Dokumentation erläutern und auch gleich anhand der echten
Daten implementieren. Es gibt sogar eine Python Bibliothek zum Import von Daten auf .fit-files.
Zur Erinnerung: Das sind die Dateien, die die Garmin Uhren erzeugen. Allerdings hat dieser Importer
bei meinem Test Probleme mit den Stryd Erweiterungen im File - nun, we are digging into a rabbit hole
already, würden englischsprachige Entwickler jetzt sagen, wir gehen eventuell mit den Überlegungen
schon zu sehr in die Details. Wesentlicher ist allerdings folgendes: Juypther Notebooks lassen sich
auch im Web publizieren, allerdings sind die meisten User sie wohl nicht gewohnt. Es wäre vielleicht
ein interessanter Einstieg in wissenschaftliche, akademische Bereiche der Leistungsanalyse, John Doe
Normaluser ist aber zunächst vermutlich einfach nur überfordert. Im Gegensatz dazu wäre eine
Erweiterung, etwa um neue Algorithmen, wohl ein Einfaches. Aber wollen wir uns in eine
wissenschaftliche Nische begeben?
Meine Haus- und Hofsprache war für lange Zeit Ruby. Mit Ruby on Rails gibt es ein hervorragendes
Webframework, das ich fast 8 Jahre lang ausschließlich verwendet habe. Es gibt einen .fit-Parser
(der wieder seine Probleme mit Stryd Daten hat), Teile meiner Tracker Software ließen sich sogar
wieder verwenden. Stefan hat von Ruby (außer durch mich) noch nix gehört, und ob er in eine
Sprache, die er wohl zu keinem anderen Zweck je wieder verwenden wird, lernen würde?
Warum würde ich ihn eigentlich in die Entwicklung reinziehen wollen? Geteilte Arbeit ist halbe
Arbeit. Und es macht auch wesentlich mehr Spaß und Probleme in der Entwicklung sind so leichter
zu argumentieren.
Aktuell verwende ich Ruby on Rails für neue Projekte eigentlich nicht mehr. Ich setze für
Webanwendungen auf Elixir und Phoenix. .fit-Parser gäbe es hier noch keinen, er ließe sich aber
jedenfalls Entwickeln. Phoenix Applikationen skalieren hervorragend - aber um wieviele User geht
es eigentlich? Wir hatten doch von self hosting gesprochen: Nur in welchem Sinne. 3 Schweinehunde
für ihre Community oder jede:r Läufer:in für sich selbst? Auch hier gilt: Stefan bringt wohl
keine Erfahrung mit, bei mir sind es etwa 2 Jahre. Noch einen Haken gibt es: Phoenix Applikationen
sind zwar nicht allzu schwer zu hosten, allerdings gibt es relatix wenige Provider, die es "out of
the box" anbieten. Für Ruby ist dies wohl etwas besser, für Python wieder etwas verbreiteter,
jedenfalls aber kein Vergleich etwa zu PHP, das annähernd jeder Provider anbietet.
Ach ja, ich vergaß: Zu Python gibt es auch Webframeworks, das bekannteste unter ihnen Django,
das ähnliche Prinzipien verfolgt wie Ruby on Rails, mir also von den Konzepten vertraut ist.
So könnten Teile des Jupyther Notebooks auch in einer Multiuser Webapplikationen verwendet werden.
Bislang sprach ich von Webapplikationen, also Software, die man auf einem Webserver installiert
und die dann im Browser (ruhig auch auf einem Smartphone) aufgerufen werden. Aber es gäbe auch
einen ganz anderen Ansatz: Den Weg einer mobilen App zu gehen.
Ich habe mich im letzten Jahr mit der Entwicklung von Android Applikationen mittels der Sprache
Kotlin beschäftigt. Mit Kotlin Native verspricht die Firma Jetbrains dann auch die Entwicklung
von Cross Plattform Mobile Apps, also auch für iOS zu ermöglichen. Allerdings ist dies bislang
bestenfalls im Prototypen Stadium. Daher ware ich mit Kotlin bisher recht zögerlich.
Vor kurzem aber tat sich eine weitere Option auf: Das Farmework Flutter, das von Google entwickelt,
für die cross plattform Entwicklung (Android + iOS) entwickelt wird. Es ist noch recht neu, aber
ich lerne gerade, dass mittlerweile alle Bibliotheken, die wir benötigen würden, wohl verfügbar
wären - mit Ausnahme des .fit-Parsers. Der wäre aber auch in Kotlin selbst zu schreiben...
Also etwa die Abfrage von APIs (Daten aus Strava, ...) ist möglich - ich nenne Garmin hier bewusst
nicht, denn man glaubt bei Garmin für den API Zugriff auch die eigenen Daten 5000 EUR verlangen
zu können).
Also statt eines Webservers, die eigenen Laufdaten komplett auf dem Handy? Kann das gehen?
Ja: Flutter apps kompilieren zu nativem Code, d.h. sie laufen direkt auf der Hardware (etwa
im Gegensatz zu Javascript in einer Webseite, das einen Interpreter benötigt). Auch die Datenhaltung
in einer Datenbank ist durch SQLite möglich. Dazu eine kurze Abschätzung: Wir laufen in der
Vorbereitung auf den Münchenmarathon (den letzten Post haben Sie gelesen?) etwa 150 Läufe. Nehmen
wir an, jeder Lauf benötigt im Schnitt rund eine Stunde. Wir sammeln in jeder Sekunde des Laufes
einen Datenpunkt (oder Datensatz) der aus Rund 20 Werten besteht.
8 Bytes * 20 Werte * 3600 Sekunden * 150 Läufe = 83 MB
Nehmen wir noch einige MB an Daten für die Metadaten auf Laufebene und Läufer:innenebene hinzu,
landen wir vielleicht bei 100 MB. Das könnte ein gebräuchliches Smartphone sogar im Speicher halten.
Die Speicherung der Daten einer Läufer:in in einer SQLite Datenbank ist kein technisches Problem.
Aber wie würden Läufer:innen dann ihre Daten publizieren? Dazu spontan 2 Ideen:
* Es gibt mehrere Static Site Generator für Dart, die Webseite könnte also am Smartphone erstellt
und dann auf einen Webserver geschoben werden.
* Wir erstellen auch eine minimaltische Webapplikation zur Darestellung, in die die Smartphones
dann ihre Daten senden.
Das waren mal die rudimentären technischen Überlegungen, die ich bislang noch nirgendwo
geäußert habe. Mal sehen was Stefan dazu sagt :-) Alle anderen bitte ich wieder um Kommentare
per Email an <stefan@3-schweinehun.de>.
Ja ich weiß, auf die Anforderungen Stefans in seinem Blogpost bin ich diesmal wieder nicht
eingegangen, das werde ich im nächsten Post machen. Ich glaube aktuell noch, dass diese unabhängig
von den hier geschilderten Ansätzen sind und in allen Varianten realisiert werden können.
Wir werden sehen...
......@@ -4,7 +4,7 @@ title: Twitter, mir graut vor Dir!
date: 2019-11-14 14:00:00 +0200
---
Ich fuhr gerade mit einem Zug durch Deutschland, als ich auf Twitter über einen Post auf einen
Ich fuhr neulich mit einem Zug durch Deutschland, als ich auf Twitter über einen Post auf einen
Benutzer stieß, der systematisch andere Benutzer auf das Übelste herabwürdigte. Ich hatte
derart Übles schon länger nicht mehr gesehen, sodass ich mich genötigt sah, der Benutzer
zu melden.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment