Holstentherme

Als ich über Weihnachten bei meinen Eltern war, habe ich zur Entspannung mal wieder die Saunenwelt der Holstentherme besucht. 15 Euro für vier Stunden sind zwar nicht ganz wenig, aber gerade noch im Rahmen (ab dem neuen Jahr sind es 16,50 Euro, das ist dann doch schon ziemlich happig).

Das Sauna- und Wellness-Konzept ist bewusst „erlebnisorientiert“.

Das merkt man – lauter “Themensaunen” – eine finnische Maa-Erdsauna, eine Himalaya- Salzstollen-Sauna, eine Pengalaman- Südsee-Sauna, eine Fang-Song- Meditations-Sauna … Ich bezweifle ja, daß daran irgendwas authentisch ist, insbesondere nicht irgendwelche geschnitzten bunten Figuren in der Südsee-Sauna oder Salzklötze mit Lampe dahinter in der Salzstollen-Sauna. Wird oder wurde im Himalaya eigentlich im nennenswerten Umfang Salz abgebaut?

Aufgüsse und sonstiges Programm gibt es eine Menge, um einiges mitzumachen, war ich – wimre – fünf Mal in der Sauna. War aber machbar, die Aufgüsse sind nämlich ziemlich lasch. Und manches ist endgültig seltsam: Beim “Meditations-Aufguss in der Fang-Song Meditations-Sauna” wird kein Wasser auf die Steine gegossen, stattdessen läuft eine seltsame CD, die in Richtung autogenes Training geht, und am Ende kriegt jeder ein Glas Mineralwasser mit Geschmack. Ähm, naja … Was auch immer das mit Meditation zu tun hat, mit Aufguß hat es jedenfalls nichts zu tun. Beim Früchte-Aufguss in der Pengalaman Südsee-Sauna gibt es eine Scheibe Orange und es wird mit einem überdimensionierten Fächer gewedelt. Wirklich was ankommen an Hitze tut da aber nicht. Die einzigen vernünftigen sind wohl die Erlebnisaufgüsse, die sind aber nur alle paar Stunden mal – zwischen 15:30 und 16:00 Uhr ist keiner, während meines vierstündigen Besuches konnte ich also nicht in den Genuß kommen.

Was aber sehr angenehm ist: Die Leute schaffen es, in der Sauna zu sitzen, ohne unentwegt zu reden. Das Geplappere in badischem Dialekt, das man in Karlsruhe ertragen muß, entspannt nämlich nicht, sondern macht aggressiv. Und wenn dann der Saunameister vorm Aufguß extra um Ruhe bittet und dann unmittelbar, nachdem er die Sauna verlassen hat, wieder losgeplappert wird, fragt man sich echt, was manche Leute für eine Kinderstube genießen mußten. Das scheint allerdings wohl wirklich Karlsruhe-typisch zu sein, woanders hab ich das in dem Ausmaß noch nicht erlebt.

Beim nächsten Besuch im Norden werde ich dann vielleicht mal das Arriba austesten …

Statische Polymorphie dynamisch machen

Modernes C++ benutzt häufig statische Polymorphie, die auf Templates basiert. Das allerdings kann nicht nur zu Code-Bloat führen, sondern macht es auch unmöglich, die Objekte einer Klasse, die ein bestimmtes Konzept modelliert, in einer separat kompilierten Bibliothek zu benutzen – denn die kennt den Typ des Objekts ja nicht.

In graph-tool, genauer in graphml.hpp, bin ich auf eine schöne Musterimplementierung eines Wrappers gestoßen, der gewissermaßen statische Polymorphie in dynmische Polymorphie verwandelt.

Zum Anwendungsfall:

Es geht darum, GraphML-Dateien einzulesen. Dafür hat der Benutzer der Bibliothek ein Objekt einer Klasse, die das Konzept MutableGraph modelliert. Die Klasse mutate_graph stellt dann eine einheitliche Laufzeitschnittstelle für MutableGraphs zur Verfügung, die Wrapper für jeden einzelnen MutableGraph sind dann template class mutate_graph_impl, die von mutate_graph erben. Wo die Schnittstellen dann immer noch unterschiedlich sind, weil sie abhängige Typen verwenden, werden diese in boost::any gewrappt.

Et voilà – wir haben eine einheitliche Schnittstelle für MutableGraphs. Geht analog natürlich für fast beliebige andere Konzepte.