Magento Rest(e) API – Token holen und Kategorien in Magento anlegen

Nach einem Wochenende zum Kopflüften geht es wieder an die Arbeit – und somit geht es auch weiter mit der Magento Rest(e)-API. Angefangen hatte ich mit den Grundlagen zu Magento. Die weiteren Posts folgen dann Stück für Stück, am Ende werde ich noch ein kurzes Fazit der ganzen Aktion ziehen.

Token holen

Noch die einfachste der Aufgaben – API abfragen mit Benutzernamen und Passwort an das Backend und sich merken, wie der Token ausschaut.

$baseUrl = "http://mein.host.irgendwo/rest/";
$username = "admin";
$pass = "meinPW";

$ch = curl_init($baseUrl . "/V1/integration/admin/token");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("username" => $username, "password" => $pass)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$token = curl_exec($ch);
$token = json_decode($token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer '.$token));

Soweit so einfach, es folgt der nächste Schritt…

Continue reading

Rodgau Ultramarahton 50km

Vor vier Jahren war ich schon einmal in Rodgau zum bekannten 50km Ultramarathon. Damals wusste ich noch nichts von meinen Glück Papa zu werden – mittlerweile ist der zweite Sohn auf der Welt … wie die Zeit vergeht. Nachdem auch in meiner DJK-Laufgruppe der Wunsch aufkam, doch einmal in die Ultra-Region vorzustoßen, habe ich recht bald an Rodgau als Trainings bzw. Testlauf gedacht. Immerhin hat der Rundelauf mit seinen 10 mal 5km den unbeschreiblichen Vorteil, dass man nach jeder Runde aussteigen kann und dennoch nicht irgendwo im Nirgendwo steht, wie es bei den klassischen Ultras der Fall wäre.

Die Fahrt nach Rodgau ist für mich im Vergleich zu anderen Veranstaltungen ein echter Katzensprung – etwas mehr als 100km und somit ca. eine Stunde bin ich unterwegs. Vor Ort ist bereits reichlich was los – die Einweiser haben alle Hände voll zu tun. Gut dass ich mit meinem alten Kleinwagen unterwegs bin, der passt auch in kleinere Lücken. Bei der Startnummern-Ausgabe ist es sehr voll – die Schlange steht bis auf den Parkplatz. Aber es läuft doch recht zügig. Als ich an der Reihe bin, gibt es etwas Chaos – versehentlich wurde meine Startnummer bereits ausgegeben – wohl ein Fehlgriff in die Kiste mit den Unterlagen. Aber das Team bekommt das schnell und unbürokratisch auf die Spur –  ich bekomme kurzerhand eine andere Startnummer ausgehändigt. Es tröstet mich, dass nicht nur bei unserem Herbstlauf gelegentlich etwas nicht ganz nach Plan läuft, sondern das auch andere Veranstaltungen mit ähnlichen Schwierigkeiten in Kontakt kommen. Continue reading

Magento 2 – Rest-API oder Reste-API?

Beruflich darf ich mich gerade mit Magento als Shop-System auseinandersetzen. Auf den ersten Blick ein Shopsystem wie es viele auf PHP-Basis gibt. Jedes System hat eine andere Geschichte und damit seine Eigenheiten und besonderen Pluspunkte. Leider finde ich von den Pluspunkten bei Magento für meinen aktuellen Fall etwas zu wenig bis gar keine. Wir haben eine externe Datenquelle, welche verschiedene Verwaltungsabläufe abbildet, an deren Ende eine Reihe von Produkten für den Shop stehen.

Anfänglich war ich vielleicht etwas naiv und dachte: Ein paar Zeilen SQL und dann lässt sich das Datenmodell sicherlich so extrahieren, dass man recht schnell und zuverlässig die Daten vom Quellsystem in den Shop überführen kann. Leider ist das nicht der Fall, denn Magento hat sich als Datenmodellierung für EAV entschieden. Damit ist nicht die erste allgemeine Verunsicherung gemeint (auch wenn die dann nicht mehr weit her ist) sondern eine Modellierungstechnik namens Entity-Attribute-Value. Im ersten Moment klingt das Modell für einen Shop sogar sehr lohnenswert, denn eine Shopsoftware muss ja ggf. mit verschiedensten Waren zurecht kommen. Genau das ist mit EAV möglich: Man bildet die Modellierung von zusätzlichen Eigenschaften über weitere Tabellen ab. So vernünftig das anfänglich klingen mag, um so schwieriger wird die Umsetzung in der Praxis. Da man bestimmte Attribute ja auch in verschiedenen Fällen wieder brauchen kann hat man die noch eine Stufe weiter abstrahiert. Das Ergebnis ist ein sehr umfangreiches Modell, das Anna Völkl schön aufbereitet hat. Übersichtlich ist etwas anderes, auf diesem Datenmodell  manuell direkt auf Tabellenebene zuzugreifen kann man getrost vergessen.
Continue reading

Jahresrückblick 2017

Schon nach Weihnachten – allerhöchste Zeit das Jahr nocheinmal durch den Filter laufen zu lassen. Ein wichtiges Ereignis hat sicherlich das gesamte Jahr etwas überlagert – die Geburt von Yann im Juni – in den Monaten davor die Vorfreude und die ganze Vorbereitung und danach geht es natürlich erst richtig los (vor allem kann Papa dann auch endlich etwas mehr tun als nur “Babybauchstreicheln”).

Januar

Der Einstieg ins Lauftraining war diesmal etwas anders als gedacht. Gleich bei einem der ersten Trainings gab es einen Sprint außer der Reihe – nachdem wir ein Duo beim Handtaschendiebstahl überrascht hatten, ist es mir wenigstens gelungen einen der Täter so lange zu verfolgen bis die Polizei ihn festnehmen konnte – zum Wegrennen bzw. zur Flucht in den Neckar hat er sich da einfach den falschen Partner rausgesucht – Langstreckenläufer und Rettungsschwimmer – da konnte er nahezu machen was er wollte, ein Entkommen war nahezu unmöglich. Sogar für einen Bericht in der Lokalpresse hat es gereicht. Insgesamt war ja klar, dass ich dieses Jahr mit dem Laufen etwas weniger machen kann, immerhin fällt der Geburtstermin in die Hochzeit der Laufveranstaltungen.
Zudem gab es erste Vorbereitungen auf einen Famlienwagen – wir haben verschiedenen Probefahrten gemacht um zu sehen was es wohl werden soll.

Februar

Auch der Februar war relativ ruhig. Wie fast jedes Jahr waren wir auf der Weinmesse in Strasbourg und haben unsere Vorräte wieder etwas ergänzt. Wobei durch die Schwangerschaft die Verkostung und Auswahl alleine bei mir lag. Zudem war der Keller ohnehin noch gut gefüllt, der Einkauf war also relativ selektiv und vom Ausprobieren neuer Winzer geprägt. Am Rande gab es auch ein Wiedersehen mit der Familie und einigen ausgeschiedenen Mitarbeitern der Bahag, die ich schon länger nicht mehr gesehen hatte.

März

Der letzte Urlaub zu dritt, oder besser gesagt zu dreieinhalbt? Mit dem TGV nach Marseille und in die Umgebung. Insgesamt ein sehr schöner Urlaub, auch wenn wir einige Erkenntnisse für die Familie mitgenommen haben. So ist der ÖPNV in Marseille nicht auf Familien mit Kinderwagen ausgelegt (geschweige denn wir hätten so etwas wie den Chariot CX2 mitgenommen – das möchte ich mir gar nicht ausmalen…). Zudem ist die Unterkunft in den günstigen Hotels für Singles und Paare nicht verkehrt – für Familien mit kleinen Kindern dann doch eher nicht. Auch die Idee mit dem Zug zu fahren hört sich anfänglich gut an und ist auch günstig – als Familie zahlt man dann beim Mietwagen und dem notwendigen Kindersitz allerdings deutlich drauf – noch dazu hatten wir etwas Pech bei der Fahrzeugauswahl – ein Mini-Jeep ist definitiv kein Familienauto, schon für den Kinderwagen muss man den Rücksitz umklappen – das kenne ich aus meinem alen Corsa besser …

April

Das letzte Schwangerschaftstrimester ist angebrochen. Daher hatten wir unter anderem diverse Termine wegen Papierkram (Sorgerecht und Co). Anfang des Monats hatten wir noch ein Familientreffen in Mainz mit den diversen Familienteilen von Marion.
Am Monatsende war dann nochmals ein Termin für mich: Es ging wie alle zwei Jahre nach Bamberg zum Weltulturerbelauf. Das ist auch immer ein Termin um Helgas Lauffreunde aus Nürnberg einmal wieder zu sehen. Aus dem Urlaub in Marseille haben wir unsere Erfahrungen gleich umgesetzt und diesmal für das verlängerte Wochenende eine Ferienwohnung in Bad Staffelstein genommen. Deutlich besser und vor allem flexibler. Zum Abschluss sind wir noch ins Spaßbad “Aqua-Riese” (in Anlehnung an “Adam Riese” – welcher in Bad Staffelstein geboren wurde).

Mai

Im gleichen Maße wie Marions Bauch an Umfang zulegt, reduziere ich mein Training. Das heißt vor allem erst einmal Abschied von der täglichen Radfahrt zu nehmen um im Falle eines Falles schnell daheim zu sein – daher mit dem Auto zur Arbeit – obwohl das Wetter eigentlich zum Radeln einlädt.
Zudem gibt es noch eine handwerkliche Herausforderung – bei Marions Mutter steht die Generalsanierung des Wohnzimmers auf dem Plan – inklusive Möbelabbau und Malern.

Juni

Final Countdown für Papa 2.0 – eine sehr angespannte Zeit, vor allem was den Job betrifft – so richtig anfangen will man nichts größeres mehr und ständig sitzt man gefühlt auf Kohlen.
Der Marathon in Mannheim lässt sich kurz vor Geburt anfänglich gut an, aber in Reingönnheim kurz nach Kilometer 35 erhält das Ziel 3:30 einen derben Rückschlag – Krämpfe zwingen mich zum Gehen – am Ende reicht es gerade noch so für eine Nettozeit unter 4h. Aber angesichts des reduzierten Trainings war das Ziel wohl doch etwas vermessen.
Ende Juni ist dann auch die neun Monate Wartefrist vorbei – zwar lässt sich Yann wie sein Bruder etwas mehr Zeit als gedacht, aber das kennen wir ja schon. Als dickes Ende zeigt er dann auch noch sein Interesse am Kunstturnen und verstellt somit jeden Weg auf eine natürliche Gebut – na sei es drumm – immerhin diesmal alles ohne große Hektik. Glen kommt derweil bei den Großeltern unter.

Juli

Ganz klare Aufgabe: Familienleben neu organisieren – immerhin haben wir jetzt zwei Kinder – somit müssen sich die Eltern auch immer wieder neu verteilen. Das bekommen wir aber recht gut hin, besser als erwartet. Zudem nehmen etliche liegen gebliebene Handwerkprojekte in der Wohnung endlich einmal Form an und kommen zum Abschluss. Zudem schicke ich endlich meinen alten Server im Rechenzentrum in Rente – nachdem zum wiederholten Male die Festplatten ihr Alter angemeldet haben, ist es an der Zeit ihn zu ersetzen. Erstaunlicher Weise klappt das besser als gedacht, auch wenn ich doch etwas aus der Übung war.
Zudem schlagen wir beim Angebot eines Familienwagens zu – mit Yanns Geburt hat sich endgültig gezeigt, dass es sehr schwierig wird, ohne ein größeres Auto. Diesmal steht das Fahrzeug auch noch fast vor der Haustür in Hassloch bereit, in unserer Wunschausstattung (uns sogar noch ein wenig mehr als erhofft).

August

Fertig! (ohne Plane)

Das Wetter ist gut und ich nutze die Elternzeit um ein lang gehegtes Projekt endlich umzusetzen – seit fast vier Jahren habe ich meinen PKW-Anhänger und fast genauso lange habe ich mir vorgenommen, die Bordwände und die Bodenplatte zu ersetzen. Ein reichlich aufwändiges Projekt, dass ich auch nicht mal “nebenher” hätte umsetzen können. Besonderer Dank gilt hier Martin für die Werkstatt um die ganzen Arbeiten überhaupt durchführen zu können. Als Bonus erneuere ich nicht nur die Bodenplatte sondern bringe auch gleich noch eine Reihe Zurrösen an. Derartig generalüberholt wird er mir noch viele Jahre gute Dienste leisten.
Ziemlich genau passend dazu können wir unseren Familienwagen abholen – ein Peugeot 5008 ist es geworden. In diversen Probefahrten hat er uns am meisten überzeugt.

September

Nach zwei Monaten Elternzeit heißt es dann doch wieder arbeiten. Gefühlt ist in den zwei Monaten Abwesenheit aber nicht all zu viel passiert.
Sportlich geht es nun auf den Herbstlauf zu – wenn auch weniger als aktiver Teilnehmer, vielmehr als aktiver Organisator. Wie üblich sind dafür viele Maßnahmen im Vorfeld notwendig.
Zudem bereite ich mich schon einmal auf das kommende Jahr vor und habe angefangen einmal pro Woche den Rettungsschwimmkurs in Schwetzingen zu besuchen – schon einige Zeit her dass ich den letzten gemacht habe und mit kleinen Kindern ist man ja doch häufiger im Schwimmbad, da kann das auf alle Fälle nicht schaden.

Oktober

Drei Monate nach Geburt darf Papa auch wieder auf einen Wettkampf – wenn auch nur auf einen “kurzen” – es geht zum Traditionslauf nach Nürnberg über die 21km. Die Zeit ist diesmal im Rahmen wenn auch nichts außergewöhnliches. Ganz stilecht bin ich seit langem einmal wieder mit meinem alten Corsa nach Nürnberg gefahren – inklusive Mitfahrgelegenheit wie zu Praktikumszeiten. Das Fahrzeug behalten wir vorerst mal noch – immerhin habe ich noch etwas mehr als ein Jahr TÜV. Liebevoll ist es jetzt der Sport-Wagen, denn bei dem Alter macht es jetzt auch nichts mehr aus wenn man nach einem Waldlauf völlig eingedreckt einsteigt.
Beim Herbstlauf hat der frisch sanierte Anhänger seine Feuertaufe – alles funktioniert einwandfrei und mit dem neuen Fahrzeug vorneweg ist auch die volle Ladung Bierbänke kein Drama mehr.
Etwas ungeplant habe ich dann noch mit Frank in Heidelberg am MTB&Run teilgenommen – einer Abwandlung der erfolgreichen Aktion Bike&Run in Mannheim. So richtig erfolgreich war die Werbung nicht, ganze vier Teams sind an den Start gegangen – dafür waren wir um so erfolgreicher – bei der Erstauflage auf Platz eins – das hat schon was. Schon etwas ungewohnt, dass man noch länger dableiben muss wegen der Siegerehrung, und das auch noch bei feinstem November-Regen.

November

Es geht langsam auf das Jahresende zu, und nach dem dicht gepackten Oktober ist im November deutlich weniger los. Der Umzug eines Kollegen beschäftigt mich aufgrund der Transportmöglichkeit mit Anhänger etwas länger als gedacht, mit Monatsende ist aber auch dieses Projekt dann endlich abgeschlossen.
Auf Arbeit übernehme ich die Leitung eines kleineren Projekts, das wird mich wohl auch noch einige Zeit begleiten.
Sportlich gibt es erfreuliches zu berichten – die Laufgruppe wächst um einige Mitglieder.

Dezember

Zwar habe ich bereits weit vor dem Dezember-Fieber alle Geschenke besorgt, dennoch ist die Zeit irgendwie etwas anstrengend – ich merke dass ich mich an vielen Stellen ziemlich strecken muss zwischen Familie, Job und Sportaktivitäten. Früher fand ich den Dezember nicht so anstrengend wie in diesem Jahr. Ich bin richtig erleichtert, dass an Weihnachten auch endlich einmal einige Tage Ruhe angesagt sind.

 

Soweit einmal der Jahresrückblick – mal sehen was das neue Jahr bringen wird. Ich hoffe ich finde wieder etwas häufiger Zeit mich hier im Blog zu melden.

Fiese Falle in MySQL bei Verwendung von Views in (Left)-Joins

Da habe ich doch kurz vor Weihnachten noch eine echte Knobelaufgabe erlebt, deren Ergebnis für den ein oder anderen sicherlich interessant sein dürfte. Ausgangspunkt war folgendes eigentlich simple SQL-Statement:

Select * from tableA left join viewC 
     on tableA.id=viewC.lookup

Soweit so unspektakulär, auch wenn das Original noch mit einigen weiteren Filtern gespickt war und die View nicht gerade ein einfaches Query kappselt.

Was allerdings gar nicht lustig war, waren die Ergebnisse dieser Abfrage, denn sie entsprachen nicht den Erwartungen. Aus der View erhielt ich nämlich keinen Join-Partner obwohl ich diesen als Test extra geprüft hatte mit:

 Select * from viewC where lookup='TestValue'

Folgende Punkte habe ich als “übliche Verdächtige” abgeprüft:

  • Vergleich der Datentypen – auch nicht die Ursache
  • Collations (also Zeichensätze) – auch mit Casting, das Ergebnis bleibt das Gleiche

Spannender Nebeneffekt, der bei der weiteren Untersuchung heraus kam – nutze ich die view nicht sondern packe 1:1 den Code aus der Definition mit in mein Statement

 
Select * from tableA left join 
   (select * from tableB 
     left join tableF 
         on tableB.id=tableF.foo 
      where tableF.bar='baz' and deletedDate is null)
   as testview on testview.id=tableA.id

Dann funktioniert wieder alles wie erwartet. Es staunt der Laie und der Fachmann wundert sich. Höchste Zeit das Problem genauer unter die Lupe zu nehmen und die bekannten Bugs von MySQL bzw. den Deviraten wie MariaDB und Percona zu durchforsten. Ergebnisse sind leider recht dürftig und beschreiben nicht das was ich erlebe. Immerhin stoße ich auf weitere Probleme die erst einmal völlig losgelöst von der Thematik erscheinen, es geht dabei um möglich Einstellungen des Servers und den Standard-Verhalten. Das hat sich in den letzten Jahren immer mal wieder etwas verändert und spiegelt des “Erwachsen werden” von MySQL wieder. Wir erinnern uns: Es hat eine geraume Zeit gedauert bis MySQL endlich als Standard auf INNODB als Engine gewechselt hat und somit referenzielle Integrität in Form von Transaktionen und Foreign Keys unterstützt wurden. Ebenso aus der grauen Urzeit von MySQL stammen Probleme mit NULL-Werten bei Datumsfeldern (DATE,DATETIME). Und genau da liegt der Hase am Ende auch begraben. Die Server-Konfiguration gibt vor, dass der Server sich strikt verhalten soll, unter anderem bei den Datumsfeldern.
Somit ist es nicht mehr zulässig den “uralten NULL-Ersatz 0000-00-00 00:00:00” zu verwenden. Die Routinen für den Ersatz kann man aber per Session einschalten, und genau das ist bei der manuellen Abfrage der Werte jedes mal passiert, sei es per manuellem Join oder bei der Abfrage der einzelnen Tabellen. Dabei verhält sich das isnull je nach eingestelltem Modus. Mal liefert es Zeilen mit “0000-00-00 00:00:00” als Ergebnis, mal nicht, je nachdem ob strict-mode gesetzt ist oder nicht.

Warum läuft es dann beim Verwenden der View aus dem Ruder? Das liegt an der Art und Weise wie MySQL mit Views umgeht: Sind diese übermäßig komplex werden sie als separater Thread gestartet, der eine temporäre Tabelle bereitstellt auf die dann wiederum gejoined werden kann. Dieser Thread wird allerdings vom Serverprozess angestoßen, und dort steht der Modus per default auf strict und dieser wird dann auch angewandt. Somit ist das Ergebnis nicht das was ich bei der singulären Abfrage erhalten habe, sondern leider eben ein leeres da in der Tabelle anstelle NULL eben noch “0000-00-00 00:00:00” verwendet wird.

Die temporäre Lösung ist, den Join manuell auszuführen, mittelfristig werden wir den Server umstellen. Das sind aber eigentlich nur kosmetische Lösungen. Die eigentlich korrekte Maßnahme für dieses Problem ist die Verwendung von sauberen NULL-Werten anstelle obskurer Workarounds. Leider verlassen sich sehr viele Applikationen bei uns noch auf die Tabelle und diese kruden Werte, einfach Umstellen ist also erstmal leider nicht drin. Ich kann jedem Entwickler nur wärmstens empfehlen, sich auf derartige Altlasten nicht zu verlassen und schnellstmöglich dafür zu sorgen diese abzubauen.

Gelita Trail Marathon – MTB&Run 30km

In der Rhein-Neckar-Region dreht sich aktuell vieles um den Erfinder des Fahrrads, den Herrn Drais – immerhin 200 Jahre alt wird seine Erfindung in diesem Jahr. Aus diesem Grund gab es schon beim Mannheim Marathon das Angebot “Bike&Run”. Der gleiche Veranstalter zeichnet auch für die Durchführung des Gelita Trail Marathons in Heidelberg verantwortlich. Daher gab es etwas kurzfristig ein neues Angebot “MTB&Run” aufgrund des Jubiläums. In Mannheim war das Angebot über die Halbmarathon-Strecke als Rad/Lauf-Team sehr beliebt. Allerdings gab es dort auch keine Trail-Passagen.

Frank aus unserer Ultralaufgruppe hatte angefragt ob sich jemand vorstellen könnte ihn zu begleiten bei diesem Event. Er fährt seit einiger Zeit ein wenig Mountainbike und wollte es einfach als Fun-Veranstaltung einmal ausprobieren. Ich habe mich dazu bereit erklärt, klar mit der Aussage: “Nur zum Spaß haben”. Immerhin habe ich ja am 3. Oktober meine jährliche Verpflichtung in Nürnberg über die 21,1km. Daher war eigentlich klar: Das wird ein anspruchsvoller Trainingslauf, aber ob ich den jetzt im Wettkampf oder in der Gruppe mache – das macht für den Trainingseffekt keinen Unterschied. Die Resonanz auf das Angebot war sehr verhalten, ob es das Ganze daher nochmal gibt weiß ich nicht. Eine Woche vor dem Start waren ganze drei Teams gemeldet, am Start standen dann am Ende vier Teams. Jeweils ein Biker und ein Läufer sind bereit die 30km und 1000hm anzugreifen.

Zur Sicherheit mussten wir noch etwas warten, nachdem der dritte und letzte Startblock der reinen Läufer aufgebrochen war. Um 11:15 fiel für uns dann auch der Startschuss – für uns ein absolutes Novum: Wir stehen direkt an der Startlinie als es losgeht. Ein Team setzt sich recht schnell als Spitze nach vorne ab. Die anderen drei Teams bleiben erst einmal lustig beisammen, es wird etwas gewitzelt und erzählt. Die ersten Höhenmeter gibt es an der bekannten alten Brücke in Heidelberg. Alles noch recht locker, es geht dann auch erst mal gemütlich noch am Neckar entlang durch die Bebauung.

Direkt nach dem ersten Kilometer ist Schluss mit lustig, es kommt der erste Anstieg, rauf auf den Philosophenweg. Das ist ein recht beliebter Wanderweg den viele aus dem Umland kennen, der sich langsam den Berg hochzieht und einen schönen Blick auf die Altstadt und das Schloss bietet. Wir benutzen einen der vielen Quereinstiege, die haben es natürlich in sich. Ich kenne den Anstieg den wir hochgehen recht gut, vor etwas einem Jahr bin ich ihn mit Baby-Jogger hinunter gewandert – ich weiß also was auf mich zukommt. Frank hat auf dem Rad echt Mühe mitzukommen, als ich auf den Philosophenweg einbiege ist er weit hinter mir. Ich überlege kurz, aber da es nun erst einmal bergab geht, ist es logisch einfach weiter zu laufen. Wenige Minuten später rollt er auch schon locker und lässig auf dem Rad von hinten heran.

Es geht locker bergab auf Asphalt bis kurz vor die Bismarck-Säule, ab dort geht es wieder kontinuierlich bergauf – teilweise kann ich das noch recht gut joggen, merke aber dass ich mich richtig einteilen muss, daher gehe ich die steileren Passagen. Das nächste Zwischenziel ist die Thingstätte oberhalb Heidelbergs. Der seit dem Morgen über den Bergen hängende Nebel macht sich nun richtig eindrucksvoll bemerkbar – es man sieht nicht all zu weit während man durch den nebeligen Wald läuft. An der Thingstätte selbst wartet eine erste echte Hürde für Frank, die Strecke führt über die Bühne und dann die Ränge hinauf – alles Treppen vom Feinsten. Immerhin stehen trotz des widrigen Wetters jede Menge Menschen an der Strecke und motivieren. Wieder einmal verliere ich Frank, da ich die Treppe deutlich flotter hochkomme (klar ich muss ja auch kein Rad schleppen). Wir sind nun auch endgültig auf das Schlussfeld der Läufer aufgelaufen – um uns herum wimmelt es und wir müssen immer wieder warnen, dass da ein berechtigter Radfahrer kommt.

Nach dem Anstieg ist erst einmal ein wenig Erholung angesagt – es geht fast stetig bergab – teilweise auf Wirtschaftswegen aber auch immer wieder Trails – die Strecke macht mir richtig Laune. Ob Frank das genauso sieht weiß ich zu dem Zeitpunkt nicht, aber die Strecke empfinde ich schon als Läufer als anspruchsvoll. Zur Wegekreuzung “Zollstock” geht es wieder ganz leicht bergan, danach geht es einen absolut verschlammten und aufgewühlten Trail hinunter – man sieht noch recht deutlich dass vor kurzem noch Forstarbeiten durchgeführt wurden. Ich kann in dem Abschnitt noch einige Leute überholen. Unter anderem Lore Mair aus meiner eigenen Laufgruppe der DJK. Sie hat sich für die volle Distanz mit 1500hm gemeldet. Für mehr als ein kurzes Hallo reicht es aber auch nicht, denn ich muss mich total auf den glitschigen Weg konzentrieren – teilweise drifte ich das Ganze ähnlich wie die Abraumhalden beim Pyramides Noires in Frankreich (mit dem Unterschied dass es dort im losen Geröll besser und kontrollierter geht). Kurz danach kommen wir an einer mir vertrauten Stelle vorbei – der Parkplatz Mühltal ist ein beliebtes Ausflugsziel und aus einer der vielen Richtungen dort sind wir beim Training auch schon mehrfach gekommen. Hier steht auch die erste Versorgungsstation, ich greife ordentlich zu bei Iso und Energieriegel – die sind diesmal irgendeine Mischung Schoko-Banane-Kokos – das ist recht gut zu kauen, zum Runterspülen muss ich nur mit wenig Wasser aus dem Rucksack nachhelfen.

Nun geht es wieder stetig bergan – es geht das Mühlbachtal hinauf, das ist recht langezogen und wird zum Ende hin immer steiler. In der Steigung holt mich Frank zusammen mit einer anderen Begleitradlerin wieder ein. Erste Zwischenbilanz – wir haben schon deutlich mehr als ein Viertel der Höhenmeter geschafft, und das bereits bei Kilometer sieben. Ich kann fast das gesamte Mühltal durchweg noch joggen, auch wenn es gegen Ende immer anstrengender wird. In der Nähe der Quelle geht der breite Forstweg dann in einen Trail über und wird nochmal deutlich steiler, als es nach oben zur Kreuzung “sieben Wege” geht. Die im Tal abgezweigte Marathonstrecke fädelt an dieser Stelle wieder ein und hat eine Zusatzschleife von ca. sieben Kilometern absolviert.

Ein freundlicher Helfer informiert mich, dass es jetzt nur noch ein Kilometer bis zum Höhepunkt ist am weißen Stein ist. Für Frank kommt nun eine Abwechslung – aufgrund von Auflagen gibt es zwei Abschnitte die nicht mit dem Rad befahren werden dürfen. Das Rad muss hier geschoben werden (ein wenig erinnert mich das an die Begleitradler in Biel, die entlang des Emmedamms nicht fahren dürfen – dort gibt es für die Radler allerdings eine Ausweichstrecke anstelle des Schiebens). Aber so richtig fahren wollte ich den Abschnitt auch nicht: ziemlich viel Geröll und doch recht steil. An einer Kreuzung mit einem Forstweg steht eine Helferin mit ihrem Nachwuchs, der bietet eine große Schüssel mit Gummibärchen an – ein super Service und angesichts des Sponsors der ja die Grundlage für diese Leckereien herstellt hätte ich diese ja fast auch an den Versorgungen erwartet. Viele meiner Ultraläufe habe ich mit Gummibärchen als Ernährung bestritten. Es geht dann nochmal kurz bergauf an den weißen Stein. In der Steigung überhole ich den Radler des ausgebüchsten Teams – auch er muss hier noch schieben. Zusammen mit dem Erreichen der Versorgungsstation am Gipfel hat auch die Radschiebestrecke ein Ende. Frank ist etwas weiter hinter mir, aber da es nun wieder flacher wird und leicht bergab, laufe ich nach dem Energietanken etwas weiter und nutze auch meinen Vorsprung um einmal in die Büsche zu gehen. Aufgrund des Nebels kann man immer noch nicht weit blicken und am Gipfel ist die Spitze des Aussichtsturms auch nicht zu sehen. Der eine Halbzeitpunkt liegt jetzt definitiv hinter uns: der für die Höhenmeter – bei den Kilometern sind wir erst bei 11km angekommen.

Frank holt mich auf den Wirtschaftswegen dann auch wieder ein, die Freude ist allerdings nur recht kurz, denn es folgt eine weitere kurze Passage in der das Rad geschoben werden muss. Frank bleibt diesmal allerdings näher bei mir. Das Feld ist relativ dicht, teilweise könnte ich auf den Trails schneller aber es fehlt der Platz, ich bin mir zu diesem Zeitpunkt nicht sicher wie weit wir bereits im Startblock vor uns vorgedrungen sind – ich vermute recht stark, dass es sich vorwiegend um Läufer des Half-Trails mit 30km Länge handelt. Die Marathonis haben wir aufgrund der Schleife wahrscheinlich überholt. Immer mal wieder kommt auch ein Läufer von hinten angeschossen – wie sich herausstellt sind das die Staffeln – klar die sind noch knackig frisch nach den Wechselstationen. Gefühlt viel zu früh taucht auch schon wieder eine Verpflegung auf, der Parkplatz Langer Kirschbaum ist dazu umfunktioniert.

Es folgt ein Stück Strecke das wie aus dem Bilderbuch auch vom Rennsteig stammen könnte – breiter geschotterter Forstweg stetig leicht bergab. Frank könnte es jetzt locker laufen lassen, muss ja aber etwas Rücksicht auf mich nehmen – ich biete ihm zwar an bis zur nächsten Abzweigung vorzuradeln aber er bleibt lieber als Begleiter da, abgesehen von einer kurzen Pause in der auch er einmal für die Düngung des Waldes sorgen muss. Auf der Strecke haben wir an einigen Stellen Abwechslung beim Wetter – es ist zwischendrin einmal nicht neblig under Oktober zeigt sich von seiner goldenen Seite. Besonders malerisch ist der Blick ins Neckartal gen Heidleberg – wohlwissend, dass wir da wieder hinmüssen. Kurz vor Schlierbach geht es nochmal ein Stück Trail. Immer wieder holt uns ein Duo ein und kann vorbei ziehen. Die sind bergab etwas besser zu Fuß als ich es gerade bin. Aber mir ist das recht gleich, denn es ist ja nur ein Trainingslauf. Das steile Stück bis nach Schlierbach hinein geht mächtig auf die Oberschenkel. Ich plane auf alle Fälle schon einmal ein, an der nächsten Verpflegung meine Salztabletten zu nutzen – nichts ärgerlicher als wieder Krämpfe auf den letzten Kilometern.

In Schlierbach heißt es erst mal wieder Lauftechnik umstellen von bergab auf leicht bergan bzw. eben. Kurz nach der Brücke hat sich Marion mit dem Rest der Familie postiert, ich nehme die erst nach einem lauten Ruf wahr – ich bin wohl doch schon etwas im Laktat-Koma angekommen, in dem Zustand ist an aktives Denken und Wahrnehmen leider nicht zu denken. Wie ich später erfahre hat mein Handy zwischenzeitlich eine Fehlfunktion, weshalb Nachrichten von mir an Marion (z.B. am weißen Stein) oder von ihr über die potentiellen Foto-Stellen nicht durchkommen Marion nimmt ein nettes Video auf. Auf der Rückseite des Bahnhofs (nach ein paar Treppen die Frank mal wieder Tragen bzw. Schieben darf) ist die nächste Versorgung – ich greife diesmal zu Cola und nochmals reichlich Energieriegeln. Zudem gibt es einen Schwung Salz, so richtig gut klappt das mit dem Schlucken noch nicht, aber ich bekomme sie mit reichlich Wasser runter bevor sie sich vollständig im Mund auflösen. Außerdem ist die Sonne jetzt am Durchbrechen, ich packe daher die Jacke noch in der Rucksack – etwas frisch im ersten Moment aber angesichts der nun folgenden Steigung doch ganz gut. Frank hatte zwischenzeitlich in der bergab-Phase das gegenteilige Problem: aufgrund des Fahrtwinds und der fehlenden Bewegung war ihm doch recht frisch, trotz Jacke und Arm- und Beinlingen. Auf der Brücke waren es 23km laut Beschilderung. Es liegen also noch etwa 7 km vor uns, und laut Frank noch ca. 250 Höhenmeter. Also alles im machbaren Bereich.

Die Steigung aus Schlierbach heraus gehe ich, das ist mir einfach zu steil zum Joggen. In einigen Metern Entfernung vor uns ist wieder das Pärchen unterwegs mit dem wir uns ständig abwechseln. Als es in den Wald geht, können wir wieder einmal bergauf überholen. Auf dem Forstweg kann ich auch wieder recht gut Joggen. Es geht nun aber wieder gefühlt ständig nach oben, auch wenn es immer wieder kurze Abschnitte gibt, die es wieder etwas bergab geht. An einem Wechsel zwischen bergab und bergauf steht ein weiteres Motivationsschild: 26km liegen hinter uns, also noch vier Kilometer zu laufen. Laut Frank noch etwas um die 100hm zu bewältigen. Das Duo liegt aktuell hinter uns, und vor uns taucht auch der Spitzenläufer des MTB&Run auf – etwas entkräftet, genauso wie sein Radfahrer. Bei Kilometer 27,5 (laut Karte) ist noch eine letzte Verschärfung der Steigung für etwa 800m eingebaut. Joggen geht da nicht mehr, ich muss zurückschalten auf Gehen. Frank kämpft sich mit dem MTB Meter für Meter voran, auch er hat es hier nicht leicht. Irgendwo auf der Strecke haben wir auch den bisher Führenden überholt, wenn uns nicht alles täuscht – wir sind uns aber nicht sicher.

Als es endlich flacher wird gibt es die letzte Geschicklichkeitsherausforderung – für die Marathonis geht es steil nach oben die Himmelsleiter hoch zum Königsstuhl. Für den Halftrail und die MTB&Run geht es ein kurzes Stück auf selbiger steil und rutschig bergab. Es ist der erste Moment an dem ich festhalten muss: Lieber würde ich das Ding gerade nach oben laufen, denn nach dem Anstieg bin ich absolut nicht trittsicher auf den ungleichen Stufen. Angesichts der deutlich erhöhten Gefahr hat ein Streckenposten am Einstieg Frank auf eine Umleitung geschickt. Die ist zwar etwas länger und eigentlich nicht offizieller Teil der Strecke, allerdings fände ich es aus Sicherheitsgründen absolut unverantwortlich den Radler die Himmelsleiter das Rad hinunter tragen zu lassen. Schon als Läufer habe ich alle Mühe nicht zu stürzen, vom Aufwand und der Gefahr für andere Teilnehmer hier noch ein Rad zu tragen mal ganz zu schweigen. Ich verbuche das unter Erkenntnisse der ersten Durchführung – man kann nicht auf Anhieb alles voraussehen und beim zweiten Mal sind sicherlich derartige Problemstellen auch sauber gelöst.

Am Fuß der Himmelsleiter wird es dann deutlich einfacher – jetzt sind die Wege erst mal asphaltiert, Frank ist noch nicht da, aber laut Schild sind wir bei 29km angelangt. Ich lasse es laufen, denn auf der Straße hat Frank sicherlich keine Mühe mich einzuholen. Kurz bevor es in den Schlossgarten geht hat er mich dann auch wieder eingeholt. Der letzte Kilometer zieht sich ganz ordentlich, es geht im Zickzack durch den Schlossgarten und am Schloss vorbei. Auf den letzten Serpentinen sind nochmal Treppen vorhanden, vor denen leider nicht gewarnt wird – Frank muss beim Versuch vor mir eine der Haarnadelkurven zu nehmen ziemlich abrupt Abbremsen und Absteigen um die Stufen sicher zu überwinden. Wir überholen noch jede Menge Läufer, ich lasse es nun nochmal richtig krachen. Wir haben uns mal als Ziel gesetzt gehabt unter 3:30h ins Ziel zu kommen, aktuell sieht es gut aus, es sogar unter 3:15h zu schaffen.

Mit viel Schwung verlasse ich die Serpentinen am Schloss und rein in die Altstadt – das Kopfsteinpflaster mahnt mich zur Vorsicht, angesichts des Regens könnte es etwas glitschig sein – aber es geht alles gut und schließlich sind wir auf der Zielgeraden, der Hauptstraße Heidelbergs auf dem Weg zum Karlsplatz. Ich gebe nochmal richtig Gas und auch Frank holt nochmal alles raus. Kurz vor dem Ziel gilt es noch einen Randstein zu meistern, der ist doch recht hoch. Hier würde ich mir für weitere Durchführungen als Veranstalter etwas einfallen lassen, z.B. anböschen mit Sand oder eine Holzrampe. Es geht noch einmal um den Brunnen und dann sind wir auch schon im Ziel. Geschafft! Im Ziel werden wir schon von einer Journalistin erwartet, die unsere Eindrücke der ersten Durchführung abfragt. Zudem ist Fanks Frau Michaela im Zielbereich und versorgt uns während der Befragung mit Getränken und etwas zum Essen. Von ihr erfahre ich dann auch, dass Marion unterwegs ist und in Kürze mit dem Nachwuchs eintreffen will. Das ist für mich wichtig, denn im Wind wird es langsam aber sicher sehr frisch und Marion bringt mir meine Wechseljacke mit. Frank hat es tatsächlich auch noch fertig gebracht sich auf den letzten Metern einen Platten einzufahren, es muss wohl auf der Zielgeraden oder bei der Umrundung des Brunnens passiert sein, denn vorher war noch alles in Ordnung – absoluter Glücksfall für uns. Wir hätten zwar flicken können, aber knapp vor dem Ziel hätte uns das sehr viel Zeit gekostet und Aufholen wäre wohl auch nicht mehr drin gewesen.

Mit etwas Nachdruck schaffen wir es zu klären, dass es noch eine Siegerehrung geben wird – aber erst rund eine Stunde nachdem wir im Ziel sind – welche Platzierung wissen wir zu diesem Zeitpunkt noch nicht, aber zumindest ein Podestplatz ist uns sicher. Das haben wir nun wirklich nicht alle Tage und wollen uns das auch nicht nehmen lassen. Wir nutzen die Zeit uns ein wenig zu trocknen und etwas aufzuwärmen. Marion bleibt mit dem Nachwuchs im Restaurant während Michaela, Frank und ich nochmal zum Zielbereich aufbrechen – im Gegensatz zu uns gab es für die Zuschauer keine Versorgungsstationen.

Bei der Ehrung können wir es dann kaum fassen: Wir haben es tatsächlich auf Platz eins geschafft – das hatte ich bisher noch nicht, und Frank auch nicht. Noch nicht mal in der Altersklasse und nun im Gesamtfeld. Wahnsinn! In 3:12:12 haben wir die 1000hm und 30km zurückgelegt. Wobei wir uns natürlich auch darüber im Klaren sind, dass es bei einem größeren Teilnehmerfeld mit hoher Wahrscheinlichkeit anders ausgesehen hätte. Hier mache ich mir keinerlei Illusion. Es gibt einen netten Sandstein für die erstplatzierten, zudem jeweils eine Flasche Wein. Wobei man auch hier merkt, dass die Veranstalter nicht ganz auf dem Team-Charakter eingestellt sind: Anfänglich gibt es nur eine Flasche Wein fürs Team – das wird aber kurzerhand korrigiert, auch weil die drittplatzierten schon nicht mehr zur Verleihung da sind. schade eigentlich.

Ob ich den Lauf in dieser Form im kommenden Jahr nochmal machen werde, steht noch in den Sternen, auf alle Fälle mal ein außergewöhnliches Training mit einem außergewöhnlichen Erfolgserlebnis. Ich kann mir aber auch vorstellen, das nächste Mal auf die volle Distanz mit allen Schikanen zu gehen – auch wenn meine Erfolgsaussichten dann natürlich deutlich geringer sind, aber die Strecke ist auf alle Fälle sehr abwechslungsreich und anspruchsvoll.

 

 

 

Stadtlauf Nürnberg 2017

Drei Viertel des Jahres sind rum, und für mich dieses Jahr damit auch die Wettkampf-Saison beim Laufen. Der letzte Wettkampf für mich war der Stadtlauf am 3. Oktober in Nürnberg. Mittlerweile ist dies ein echter Traditionslauf bei mir geworden. Diesmal war ich schon zum elften Mal in Folge dabei. Über die Jahre haben sich einige Veränderungen ergeben, sowohl bei der Organisation als auch bei mir. Daher gleicht bisher kaum ein Jahr dem anderen. Bei den ersten Teilnahmen gab es noch eine manuelle Zeitmessung mit “ungefähr”-Zeitangaben und gedruckten Urkunden im Zielbereich. Mittlerweile ist seit mehreren Jahren eine professionelle Zeitmessung am Start. In diesem Jahr bin ich einmal wieder alleine in Nürnberg, auch wenn sich der 3.10. als genereller Feiertag diesmal sogar für ein verlängertes Wochenende angeboten hätte. Aber mit einem Säugling und einem kleinen Kind wäre das insgesamt in Stress ausgeartet, also fahre ich einmal wieder mit meinem Altfahrzeug die altbekannte Strecke wie zu Studentenzeiten. Stilecht bin ich natürlich wieder ökologisch korrekt unterwegs und habe meine Fahrt per Mitfahrzentrale angeboten.

Continue reading

Routing mit HTTP – Query-String oder Verzeichnis-Notation?

In loser Folge werde ich in den nächsten Monaten einige Vorgehensweisen im Netz technisch etwas näher beleuchten und hinterfragen.

Jedes aktuelle Framework, das etwas auf sich hält im Bereich Webentwicklung, bringt einen Routing-Mechanismus mit. Was macht das Ding? Es kümmert sich darum, dass aus einer URL heraus die passende Applikation bzw. Teilapplikation aufgerufen wird. Wenn man also http://example.com/cart/list aufruft, dann wird der passende Programmcode ausgeführt, der sich um die Anzeige des Warenkorbs kümmert. Soweit so einfach. Innerhalb der Frameworks wird dann häufig per Model-View-Controler gearbeitet. Die Url wird dann noch weiter “genutzt” um den passenden Controller und die passende Action (sofern es verschiedene gibt) zu ermitteln. Mittlerweile auch gängige Praxis ist es alles was danach noch als scheinbare Verzeichnisstruktur kommt als Parameter zu betrachten, immer wechselweise Name/Wert.

Auf den ersten Blick sieht das ja schick aus, denn die URLs werden dadurch ggf. “sprechender” bzw. man kann sie sich leichter merken. Aber nicht alles was schön / schick aussieht ist auch technisch sinnvoll. Ich selbst reibe mich regelmäßig an dieser Form der Applikationssteuerung.

Am ärgerlichsten finde ich den Missbrauch der Verzeichnisstruktur zur Parameterübergabe. Hierfür hat das HTTP-Protokoll bzw. das generische URL-Schema nämlich seit den Kindertagen des Netzes eine passende Lösung. Diese nennt sich Query-String und ist an vielen Stellen des Netzes erfolgreich im Einsatz. Es handelt sich dabei um das “Anhängsel” an Internet-Adressen die nach einem Fragezeichen folgen: Also z.B. http://example.org/suche.html?was=einThema. Die Applikation kann den Querystring (im Code wird er häufig als “GET-Parameter” genannt) dann direkt auswerten. Auch für den Fall mehrerer Parameter ist vorgesorgt: Diese werden per Kaufmanns-Und (Ampersand) getrennt. Das sieht dann so aus: http://example.org/suche.html?was=einThema&wo=wohnort

Technisch steht dabei das Konzept des Parametrisierens von Programmen (und letztlich Funktionen) dahinter. Das Äquivalent aus der Vor-Web-Zeit (das auch heute immer noch ständig im Einsatz ist) auf einer Kommandozeile (also Bash, SSH und Co) sind Parameter die man dem Programmaufruf mitgeben hat. In den meisten Programmiersprachen werden die Parameter in arg oder argv Array übergeben.

Ich finde es nicht weniger ansprechend als die Verzeichnisschreibweise. Ganz im Gegenteil – ich muss als Benutzer ggf. nicht raten was jetzt Parameter und was noch Verzeichnis ist.

 

Posted in Web |

Radtaschen-Halterung für IKEA Ivar-Regal

Seit einiger Zeit hat mich die Frage umgetrieben wie ich unsere Radtaschen (immerhin 4 Stück für den Gepäckträger zzgl. einer Top-Case) vernünftig verstauen kann. Anforderungen waren für mich recht klar: Nicht irgendwo in einen Schrank, denn mindestens eine brauche ich nahezu täglich (mit dem Rad zur Arbeit). Schnell war auch klar: Hängen wäre eine schicke Lösung, immerhin haben die Taschen schon fertige Anhänge-Haken für an den Gepäckträger.

Die Lösung ergab sich dann recht einfach, als ich wieder einmal die Taschen neben unser Ivar-Regal von IKEA gelegt habe und sie wieder wegnehmen wollte. An einer Querverstrebung hatten sich zwei Haken eingehängt. Bingo! Bleibt nur noch die Frage wie man das sauber löst.

Ich habe mir einfach passende Stahlstäbe besorgt, die in die ohnehin vorhandenen Aufnahmen für die Regelträger (Stahlbolzen mit 5mm Durchmesser) passen. Diese habe ich auf 1x Lochtiefe (25mm)+ lichte Regalweite (43,5cm), also insgesamt 46cm abgelängt. Damit sie nicht versehentlich wieder rausfallen wenn man die Taschen anhängt, musste ich die noch sichern. Kurzerhand habe ich von beiden Seiten Gewinde auf den Stahlstab geschnitten – das ist aufwändiger und schweißtreibender als gedacht. Ein solider Schraubstock und ein guter Gewindeschneider sind Pflicht.

Von beiden Seiten Muttern aufschrauben, Scheiben unterlegen, einsetzen und mit den Muttern gegen das Regal ein wenig verspannen. Fertig. Falls sich die Muttern im Betrieb lösen, kann man eine weitere einsetzen und kontern.

Eine alternative Lösung wäre es gewesen auf den Rundstab einen Ring mit einer Madenschraube zu fixieren. Das ist aber ein wenig aufwändiger was die Materiabeschaffung betrifft.

Natürlich eignet sich diese Konstruktion auch um andere Dinge aufzuhängen.

Zusammenfassung zum Nachbauen:

  • Stahl / Edelstahlstab 5mm in ausreichender Länge je nach Anzahl Hängemöglichkeiten (ca. 50 cm pro Halter, bei schmaleren Regalen natürlich weniger)
  • 2 Scheiben M5 pro Stab
  • 2 Muttern M5 pro Stab
  • Gewindeschneider M5
  • Schraubstock
  • Öl / Kühlmittel zum Gewindeschneiden.

Aufwand ca. 20 bis 30 Minuten, Komplexität gering.

Halterung für Pressluftflasche

Für allerhand Bastelarbeiten ist es hilfreich etwas komprimierte Luft zur Hand zu haben. Sei es zum Aufblasen von Reifen, oder auch nur zum Reinigen. Wer schon einmal einen etwas länger in Betrieb befindlichen Rechner aufgeschraubt hat weiß wovon ich rede.

Ich habe für diese Zwecke eine 5l Pressluftflasche mit Druckminderer im Einsatz. Das hat den Vorteil, dass man die Luft auch mal “eben schnell” an einen anderen Ort mitnehmen kann (um beispielsweise die Heizkörper einmal von innen zu reinigen). Nur leider lag sie mir dann immer ungünstig im Weg herum.

Dauerhaft befestigen mit Rohrschellen oder etwas vergleichbarem kam nicht in Frage, denn spätestens wenn ich die Flasche zum Füllen mitnehmen muss, möchte ich das schnell und einfach habe. Es hat mich eine ganze Weile gedauert bis die einfache aber geniale Lösung feststand: Einfach mit mehreren Magneten an ein Bein der Arbeitsplatte “anheften”.

Die Magnete sollten ausreichend dimensioniert sein, ich habe mir passende mit ca. 12kg Haltekraft bestellt und davon 3 Stück für die Flasche und einen für die die Armatur verwendet. Geht natürlich nur wenn die Flasche keine Composite oder Alu-Flasche ist. Ursprünglich dachte ich, dass die Haltekraft der Magnete ausreichen würde um die Flasche sicher an der Metallstütze zu befestigen. Leider rutscht das dann alles doch etwas unschön herum. Daher habe ich kurzerhand die Magnete an der Stütze festgeschraubt. 4x 4mm Gewindeschneiden, festschrauben, fertig.

Zusätzlich habe ich noch einen Haken unter die Arbeitsplatte geschraubt an dem ich den Schlauch sauber aufhängen kann. Aufwand insgesamt absolut überschaubar, in einer knappen halben Stunde war alles erledigt. Beim Arbeiten mit den Magneten muss man etwas aufpassen – die kleben auch ganz gut aneinander und sind dann nur mit Mühe wieder voneinander zu lösen.