Milch und das pH-Projekt

Da hat neulich ein bezauberndes Fräulein bei Facebook die Frage gestellt, wie man ohne Geruchssinn und ohne Geschmackssinn erkenne könne, ob die Milch im Kühlschrank sauer ist.

Hintergrund: Wenn man mit einer Grippe im Bett liegt kann das in der Tat ärgerlich sein – zumal dann entweder die Cini-Minis oder der Kaffee verloren sind – außer man steht auf hohen Milchsäuregehalt und denaturiertes Casein. Ich habe mich immer gefragt, wie man morgens nach dem Aufstehen erkennen kann, ob in der Apfelsafttüte Schimmel ist oder nicht – ich hab mir einfach beim letzten Mal für alle Zeit abgewöhnt, aus der Tüte zu trinken. Klar, wenn man rechnet, dass sich H-Milch bei einer bestimmten Temperatur im Kühlschrank hält, kann man rechnen, wann sie durch ist. Das ist aber der billige Ansatz. Dafür gibts sicher schon eine iPhone- oder Andoid-App.

Der pH-Wert von Milch liegt bei pH 6,5 (ganz leicht Sauer, vergleiche Kaffee: pH 5,0 oder Cola bei ca. pH 2,5). Auch bei der H-Milch kommt es noch zur Umsetzung durch Milchsäure-Bakterien von Milchzucker zu Milchsäure. Diese Umsetzung ist vergleichbar mit der von Trauben- und Fruchtzucker zu Alohol – also der alkoholischen Gärung, damit daraus am Ende mein Ouzo destilliert werden kann.

Saure Milch hat einen pH-Wert von 4,5. Das bemerken wir einerseits geschmacklich – störend aber ist natürlich, dass die bei der erwähnten Gärung entstehende Milchsäure die in der Milch enthaltenen Caseine (αS1-Casein, αS2-Casein, β-Casein und das κ-Casein) denaturieren. Gib Zitrone in Milch und es flockt aus: Wenn ich meine Hemdkragenknöpfe selber herstelle, verwende ich Milch, gebe etwas in Salzsäure gelöstes Pepsin dazu (dieses Gemisch kann man in unserer Magensäure finden, und bei einem Reflux als Sodbrennen spüren), trockne den Niederschlag, pulverisiere ihn, presse ihn in meiner Knopfpresse und härte die Knöpfe dann in 37% Formali aus. Knöpfe ohne Erdöl finde ich persönlich sexy.

Wenn das Casein in der Milch schwimmt, ist die Milch vorbei. Also benötigen wir einen Kennwert, bei dem die Milch noch trinkbar – aber deutlich unter einem pH-Wert von 6,5 liegt. Sagen wir 5,5. Aber wie stelle ich jetzt fest, welchen pH-Wert die Milch hat?


Lackmus-Papier-Streifen zur groben pH-Wertbestimmung der Milch

Ein potiometrisches Verfahren scheiden wohl aus, weil die wenigsten Grippe-Patienten die geeignete Glaselektrode im Küchenschrank liegen haben. Aber nicht teuer und immer wieder praktisch ist ein Streifen Lackmus-Papier. Wir ermitteln damit zwar nicht den exakten pH-Wert – aber für die Milch ist das völlig ausreichend – sofern man nicht farbenblind ist, was ich jetzt mal als persönlichen Härtefall einstufen würde.

Weitermachen.

Wechselduschen mit Ignatius von Loyola

Abstract
Alle Aktivitäten, die mit einer gesteigerten Blutfülle im Kopf verbunden sind, zum Beispiel auch Weschselduschen, sollten eingeschränkt werden. Der Autor legt ein Proof of Concept vor, das beschreibt, wie durch gezieltes Auslösen Pavlovscher Reflexe, außergerichtliche Konfliktlösungen erzielt werden konnten.

Keywords: Rhizin, Pavlov, Mietverhältnis, Betriebskosten, Nebenkosten, Heizkosten, decorator pattern, käseschmiere


Das ist ein Drogenhund von Pavlov

Ich war gerade dabei etwas Nasenschleimhautsekret unterm Mikroskop für ein Dauerpräparat einzufärben als mir klar geworden ist, dass ich niemals darüber schreiben sollte. Niemals.

In der Regel lasse ich es dann dabei. Aber heute war der Tag, an dem ich mir dachte: Versuche es mit klassischer Konditionierung! Ich hatte heute ein Gespräch mit einem jungen Mann, der mir die Antwort auf meine Frage, wo man Dekoratoren üblicherweise einsetzten wird geantwortet: „Ah, eine Fangfrage! Nun, wenn Sie eine Feier organisieren wollen, dann…“. STOP. Drogen! Hätte ich mein Wochenende nicht bei meiner Mutter zur Entgiftung verbracht, hätte ich dem jungen Mann völlig zu Recht eine Überdosis Strychnin in den Kaffee gerührt. Das fällt mit Milchschaum nicht weiter auf. Oder etwas Rhizin – das wächst überall, ist billig und der Tod tritt erst am folgenden Tag ein. Fieber, Brechdurchfall, Husten, Exitus. Und das hat mich auf eine sehr gute Idee gebracht: Der Körper reagiert auf Rhizin. Er hat das zwar nicht gelernt, aber er wird das schon noch lernen. Aber von vorne.

Mein Problem hat vor ein paar Monaten mit einer ziemlich wirren aber hohen Heiz- und Betriebskostenabrechnung zu tun. Wer mit mir freiwillig rauchen geht, also Frustre und die stille Sandy, kennt das: Tägliches Jammertal am Morgen. Ich sollte wirklich ein Foto von den verzweifelten Gesichtern der beiden machen, wenn ich das öde Thema wieder in der Rotation habe.

Ich habe natürlich bei meinem Vermieter brav allen Abrechnungen solange widersprochen, bis ich der Meinung war, auch ich hätte jetzt die reale Chance eines Einsehens. Der Vermieter war schnell durch seinen Anwalt ersetzt und die Briefe wurden wie üblich unterirdisch. Menschen werden Anwälte, wenn ihnen der Stil zu allem Fehlt. Eigentlich ganz einfach.
Nun, das zog sich jetzt über ein viertel Jahr hin.

Das ist Käseschmiere (Vernix caseosa)
Und der Anwalt meines Vermieters hat nicht nur keinen Stil, sondern ist darüber hinaus auch noch mit Anzug und Krawatte zur Welt gekommen. Zumindest leite ich das aus den Flecken und Knittern seines Anzuges her, der aus dem Jahr der unseligen Zeugung desselben stammen muss. Dass es sich bei den Flecken nur um Vernix caseosa (Käseschmiere) im eingetrockneten Sinne handeln kann, entnehme ich als Hobbychemiker dem Geruch. Es gibt einfach Indizienketten, die zwingend zu sein scheinen, wenn wir es nur zulassen. Also nicht nur bar jeden Stils und humorlos sondern auch noch alien. Ich hätte ihn gerne darauf angesprochen. Aber wer will den Kopf schon freiwillig von einem Alien abgebissen bekommen. Jedenfalls dieser Anwalt hat mir in letzter Zeit das Leben wirklich schwer gemacht. Nicht gut, das.

Oh, ich habe eben eine Einladung zum „Young Entomologists‘ Day at Oxford University Museum of Natural History“. Sehr witzig, wann soll ich denn nach London fliegen! Egal. Oh, sorry, falsches Fenster!

Die Höhepunkte am Freitag waren dann ein Mahnbescheid, eine Räumungsklage, eine unbedeutende Rechnung von Käseschmiere mit der zugehörigen Zwangsvollstreckung vor dem ersten Ouzo am Frühstückstisch und die Exkommunikation aus der katholischen Kirche wegen meines vorhergehenden Blogeintrags. Wenn es jetzt noch eine Menschenrechtsorganisation auf mich abgesehen hätte: Na gut, auch recht. Ach ja, und die Ausweisung aus Franken. Ich hätte das fast vergessen, weil es eher die Wirkung von Echinacea auf mich hat.

Nachdem ich meine Situation heute morgen als völlig deterministisch und ausweglos einstufen musste, bin ich zur Arbeit gefahren. Dass mir ausgerechnet dort heute das Thema Arbeitszeiten auf der Agenda unseres Debattierklubs entgegen gesprungen ist, nachdem ich erst kurz vor 1300 MEZ zur Türe hereingekommen war, konnte kein Zufall sein, und ich werde mich diesbezüglich noch rächen. Mit einem doppelten Bock-Shot, Arty.
Und die Idee, auf die mich der junge Mann in seiner absoluten Ahnungslosigkeit gebracht hat waren folgende Zutaten:

1) Meine Psychologin, die ganz zufällig über mir wohnt, sagt, dass mein Vermieter mich aus zwei Gründen sexy fände: Weil ich der Sohn sein könnte den er nie hatte (vom Alter würde es stimmen, sagt sie). Und dann sagt sie er hätte eine latente Homophilie, die darauf schließen lassen könnte, dass er sich einfach nur niemals outen wird. Aber wenn ich das richtig einsetzte, könnte ich sogar kostenlos in dem Haus wohnen – Inge Schmitt, die Verlobte meines Vermieters wird nichts mitbekommen. Sie liegt für Gewöhnlich besoffen unterm Küchentisch. Ich war da schon mal zu Besuch. Fussel, du fehlst mir.

2) Mein Vermieter hat mich, wenn ich mich recht erinnere, immer insoweit unterstützt, als dass er mir wann immer es ihm möglich war zinslose Raten angeboten hat. Wieso? Vielleicht weil ich mir echt mühe gebe, ihn an Ostern und Pfingsten ernst zu nehmen. Das tut im ganzen Viertel nicht im Leben niemand außer mir. Und ich tue es nur, weil ich ein gedopter Masochist bin.

Aus 1) und 2) dachte ich mir, könnte man vielleicht einen Pavlovschen Reflex erzeugen. Also schrieb ich eine paar Zeilen auf ein Blatt Papier mit einer formlosen Absichtserklärung, die ich zusammen mit meinem Hundeblick für das klassische Reflex-Sabbern einsetzten wollte, richtete mich auf und habe an seiner Türe geklingelt.

Stille. Alles dunkel. Dann: raunen, Geklapper und da stand er. Jetzt kommt meine Lieblingszene: Er öffnet (Highspeed-Cam!) das kleine Fensterchen an seiner Haustüre und sieht angewidert aber neugierig in meine Richtung richtung Treppenhaus. Immer noch in Slow motion. Jetzt kommt das unfassbare: Mein Vermieter sieht mich und und ein kurzes Strahlen fährt für einen fast unmerklichen Moment durch sein Gesicht (Reflex #1! YES! – Halbzeit). Den zweiten Reflex habe ich genau dadurch auslösen können, in dem ich den selben vertrauten Tonfall verwendet habe, als ich mit ihm ein vertrauliches Gespräch hatte, in dem ich ihm gesteckt habe, dass ihn eigentlich alle Mieter mögen und heulen, wenn er nicht zu unserem Sommerfest kommt, dass er untersagt hat. Eine Träne: Reflex #3. Touché.


Das ist Ignatius von Loyola, Compañía de Jesús

Alles weitere ist wirklich ein Witz gewesen. Er hat mir sogar zugesichert, dass er seinen Anwalt sofort stoppt – auch was die ganzen Zinsen und Anwaltskosten angeht. Keine Zwangsräumung. Der Mann wollte mir etwas mitteilen. Ich glaube, es war: „Sieh mich richtig an, ich stecke nur in einem falschen Körper – etwas Lippcloss – und das wird dir gefallen…“. Nein, wird es nicht. Aber ich mag überflüssige Aktionen von Käseschmiere nicht. Überhaupt nicht.

Diese kleine Geschichte hätte ich gerne auch unter „Der Zwerg reinigt die Kittel“ packen mögen, da ich in Ignatius von Loyola nicht wirklich einen Kreationisten sehe. Aber Katholik bleibt Katholik.

Weitermachen.

Kreationismus in agilen Glaubens-Environments

Abstract
Der Einleitungsteil einer Studie zur grundsätzlichen ethischen Kritik von agilen Verfahrensweisen anhand von klassischen dysfunktionalen Problemlösungsstrategien wird an Hand möglicher induktiver Verfahren erläutert. Der Autor entschuldigt sich bereits im Vorfeld dieses Aufsatzes für humorlose Kreationisten und die, die ihn sexy finden und distanziert sich dennoch von Menschenversuchen.

Keywords: CAP theorem, ACID, Stapelüberlauf, Menschenversuch, Rekursion, Kreationismus, agile, Brewer, Everett, Chomsky.

Der Abend heute fing so an: Ein halber Liter Bier um die manische Programmier-Libido abzutöten, einen Espresso, damit ich mit den vielen Stimmen meiner Imaginären Freunde gleich halten kann, eine Magnesium-Tablette, damit ich auch mal nach einem Vollrausch frisch und aufgeräumt morgens ins Office stolpere. Eben wie die Damen mittleren Alters, die täglich Zink-Tabletten einwerfen, wie andere Leute Speed oder Retalin und sich dadurch erstaunlicher Gesund rühmen. Sagen die. Also nicht bei uns im Office! Aber vielleicht lassen sie ja auch einfach die synthetischen Drogen weg. So, und ich habe eine Flasche Rioja aus 2004 geköpft, für die ich Alkoholsteuer abgeführt habe. Ich bitte ja seit längerem beim Deutschen Bundestag für eine Typo3-Steuer, um diesen Wahnsinn in den Griff zu bekommen – aber meine eingebrachten Vorschläge landen irgendwie nicht auf der Tagesordnung. Nie.

Also, es ist der ideale Abend, um sich in den Kopf zu rufen, wieso das CAP-Theorem (wir erinnern uns: Consistency (das aus ACID (wir erinnern uns: Atomicity (wir erinnern uns, das aus Superman (wir erinnern uns, der mit dem Kryptonit (wir erinnern uns, das Mineral aus dem DC-Universum (wir erinnern uns…

Stack overflow.

Von vorne: Es war eigentlich der ideale Abend, um sich unter einer heißen Dusche darüber Klarheit zu verschaffen, dass das CAP-Theorem von Brewer (Availability, Consistency und Partition Tolerance) alle drei Punkte implementiert, in einem asynchronen Webservice überhaupt nicht machbar ist. Rönee – wenige wissen, wie man den Namen dieses Zehnfinger-Libidoisten wirklich versenkt – wird den mathematischen Beweis in einem Facebook-Post in den kommenden Tagen nachreichen. Bestimmt wird er das. Jetzt.

Dieser Aufsatz sollte sich mit Noam Chomsky beschäftigen. Denn als ich heute meiner sozialen Beschäftigung nachgegangen bin, nämlich mit einer Personen zu reden, die mir zuhört, hatte ich eine interessante Diskussion zu dem Thema, ob eine Theorie bereits dann widerlegt und streitbar ist, wenn eine widersprüchliche Ausnahme gefunden wurde. Während ich mir meinen misslungenen Pornobalken abgeschabt und meinem Gegenüber am Waschtisch Stoff für ein angeregtes Gespräch geliefert habe, ist mir ein Artikel in der GEO in den Sinn gekommen, in dem von Daniel Everett berichtet wird (übrigens ein ehemaliger Schüler von Naom selbst), der bei Pirahã herausgefunden zu glauben scheint, dass die Menschen dieser ethnischen Rasse weder Nebensätze, noch Vergangenheitsformen bilden können als auch mitnichten Wörter für Zahlen in ihrem Vokabular haben. Die Pirahã sind ein Indianerstamm, der am Amazonas lebt. Nach Everett besteht bei diesen Menschen nicht einmal eine verbale Ausdrucksform für „abzählbare“ Mengen. Aber wer braucht schon mehr wenn er „etwas“ und „etwas mehr“ hat. Und mit Kultur haben sie außerdem auch nicht viel am Hut. Aber dazu später mehr.

Als ich den Artikel las bin ich sofort blass geworden. Mein vertrautes Weltbild hat sich um ein Haar in Wohlgefallen aufgelöst und ich musste mich wirklich festhalten. Denn wenn die Beobachtungen valide sind, würde dies existierende Menschen mit einer existierenden Sprache darstellen, in der es keine Rekursion gibt. Als Informatiker genauso wie als Bedienung in einem Café ist das im ersten Augenblick unkritisch. Klar. Es wäre aber eine kleine Revolution! Rekursive Schachtelsätze wie den folgenden, könnte die Sprache nicht abbilden:

„Jos Kaffee, der von der Insel Java, eine der Großen Sunda-Inseln Indonesiens, die für ihren aromatischen Kaffe berühmt ist [Abbruchbed.], stammt [Abbruchbed.], ist kalt geworden.“

Was aber Chomsky gemacht hat war folgendes: Er hat zunächst die natürliche Sprache mit Hilfe einer Meta-Sprache rekursiv „formalisiert“. Später hat er darüber den Beweis erbringen können, dass der Universal-Translator sehr wohl möglich ist. Um es abzukürzen.

Nun, und da kommt so ein Sprachwissenschaftler namens Everett daher und sagt, dass die Rekursion in der Sprache allgemein zwar häufig ist (alle Sprachen bis auf diese eine beinhalten sie), aber nicht zwingend. Und eine Universalsprache (durch formale Meta-Sprachen rekursiv abgeleitet) ist per Definition Unfug. Also die Universalsprache ist Unfug, wenn nicht alle Menschen die gleichen kognitiven Voraussetzungen hätten. Dazu muss einem natürlich sofort in den Kopf schießen, dass die aktuelle Lehrmeinung davon ausgeht, dass unser Gehirn eine virtuelle Maschine bereitstellt, die einen Sprach-Meta-Code enthält. Bytecode-Compiler sind also keine Erfindung von Menschen, sondern des blinden Uhrmachers – der Evolution. So die Meinung.

Darüber hinaus denkt Everett erkannt zu haben, dass die Pirahã nur im hier und jetzt leben, sich weder für abstrakte Begriffe und damit auch nicht für das, was wir Zeit nennen, interessieren. Ich musste unmittelbar an Hunde denken – wenn sie denn sprechen könnten. Oder Katzen. Wie sie so in der Sonne liegen, sich einfach nicht für Gedichte interessieren wollen, für Musik nur bedingt und eigentlich nur aufs Fressen ausgerichtet sind (Tierliebhaber mögen mich, ich weiß) – wenn sie uns nicht die Füße wärmen, sofern es sich um Katzen handelt. Ja, und mir geht die ganze Zeit der Gedanke nicht aus dem Kopf, dass es sich hier wirklich um einen missing link in der Humanevolution handeln könnte. Vielleicht eine menschliche Schwesterart? Ein Homo unrecursivensis? Statt dass die alten Akademiker öffentlich und zudem völlig kontraproduktiv streiten (es geht doch eh wieder nur darum, wer den längeren hat), schlage ich vor ein paar konstruktive Versuche am lebenden Gehirn durchführen, einen dieser Menschen durch einen Sequenzer zu schicken (ok, dank PCR genügt auch weniger Probenmaterial, sodass man sich heute den großen Fleischwolf sparen kann) und zu analysieren, Kreuzungsversuche zur Validierung der Art Homo sapiens und zusätzlich einfache Aufzuchtversuche durchführen (man schicke ein Pirahã-Baby nach Köln und warten mal 14 Jahre, bis wir auf Schachtelsätze treffen – oder nicht). Vielleicht wären sogar histologische Maßnahmen am lebenden Großhirn interessant. Und man müsste keine Tierversuche machen, was gewisse Tierschützer durchaus befriedigen würde – gerade Dienstags, wenn sie sich denn doch mal einen Burger im Cheers um die Ecke rein ziehen und dabei getürkte Tierschützerpropaganda der 70er Jahre zitieren.

Das wären jedenfalls die Vorschläge, die ich meinem Team gegeben hätte. Die Fragestellung ist meist eine andere – aber darum geht es ja nicht. Es geht um das validieren von Hypothesen. Selbstverständlich mit möglichst wenig Kollateralschäden.

Mein Ethikmentor ärgern sich gerade ziemlich, dass ich so unverschämt Menschenversuche zur Validierung von Fragestellungen proklamiere, die so essentiell nicht sind. Keine Fragestellung ist so essentiell, dass sie Menschenversuche rechtfertigt. Nun, sagen wir einfach: Offiziell nicht seit den 70er Jahren. Aber sowohl dieser Mentor als auch meine vorhergehende Religionslehrerin (bis zu einem bestimmten alter, ist die Zwangschristianisierung an Schulen in Deutschland ja immer noch obligatorisch, was mein Vertrauen in das System selbst redend nicht gerade stärkt) sind von einem PKW und einem LKW überfahren worden. Was sagt das aus?

Nichts! Vielleicht das Gott auch nur so eine kreationistische Idee ist, die einem jüdischen Stammtisch entsprungen sein könnte. Oder einer Sekte – es fallen mir letzter Zeit etwas zu viele XPs gefolgt von siebenern (7) auf. Das hat sicherlich einige verschwörerische Hintergründe. Oder wieso heißt es Windows XP (das XP stammt aus dem Altgriechischen und ist das Monogramm für Chistus – also Christós – chi und rho) und jetzt Windows 7 – die 7 steht in der christlichen Symbolik für den mathematischen Beweis des göttlichen Geschehens, dass das Weltall zusammenhält. Na, ganz großes Kino, nach Windows Vista (vista ist italienisch für „Ausblick“). Zufälle gibt es.

Von der Rekursion zu elementaren Verfahren der Aufklärung und wieder zurück zum Kreationismus, der einfach eine folge von deduktivem Übereifer ist. Meine These.

Leute, wenn ihr ein Problem in einer Teilkomponente in eurer verdammten Software habt: Glaube führt zu absolut nichts. Zu nichts mehr, als zu Religion. Gewinn von Erkenntnis und Wissen mag zwar Zeit kosten – dennoch: WER WIE WAS, DER DIE DAS, WIESO WESHALB WARUM, WER NICHT FRAGT BLEIBT DUMM!

Weitermachen.

Zend Framework

Liebes Tagebuch,

habe ich eigentlich schon erwähnt dass ich immer noch auf die Klasse Zend_Cache_Backend_Twitter warte?

Ich finde, das wird höchste Zeit. Memcache war gestern. Motto: Caches da ablegen, wo es nicht weiter auffällt…

Weitermachen.

P.S., @Frustre, ich bin auf deine Glatze gespannt und freue mich schon darauf, endlich Gfrustre schreiben zu dürfen 😉

Schnapps und die realtionale Datenbank-Gehirnwäsche

Abstract
Es wird das Phänomen der relationalen Datenbank-Gehirnwäsche beschrieben. Eine Lösung wird nicht konkret angeboten, aber das Problem zur Diskussion gestellt, da im Jahre 2010 die Verwendung von relationalen Datenbanken erschreckende Dimensionen annimmt, die sowohl aus ethnologischen als auch ökologischen Gesichtspunkten einer kritischen Hinterfragung bedürfen.

Und jetzt mal von vorne, Schatz.

Ich befinde mich gerade noch im Urlaub und sitze über einer kleinen Zend Framework-Anwendung: Einmal Versionskontrolle auf einem Berg relationaler Daten. Höchst gruselig, weil ich dafür im Grunde MySQL für völlig idiotisch halte. Und jede andere relationale Datenbank auch. Und wenn der liebe Gott schon kein Einsehen mit mir hat, muss ich mich zur Späten Stunde auch noch fragen, ob es überhaupt noch jemanden gibt, der relationale Datenbanken *wirklich* braucht.

Mache ich selten im Organ des Looser-Universums: Mal tief durchgeatmet, drei schnelle Ouzo gekippt, ’ne Kippe in die Fresse und Gliffort Gilberto aufgelegt. Besser. Viel besser.

Was ich mit *wirklich* meine ist das Mengen-Verhältnis der mehr überflüssigen zu den eher weniger überflüssigen Daten, die von einem durchdachten, onlinetransaktional arbeitenden Datenbank-Management-Systemen verwaltet werden. Denn wenn ich mir vorstelle, dass immer noch katholische Missionare draußen herumlaufen und Naturvölker bekehren können, während die Daten von Gästebüchern auf teuren Datenbankservern gespeichert werden (oder der Treppen-Witz schlichtweg: Blogs! Zum Teufel, wer kommt auf die bekloppte Idee, für Blogbeiträge eigene Entitäten zu nutzen? Das ist obszön!), bekomme ich Durst. Viel Durst. Denn mit dem Geld, das täglich dank des Internet weltweit für relationale Datenbanken zum Fenster heraus geschmissen wird, könnte man aber sehr lässig eine kleine Eingreiftruppe finanziert haben und die katholischen Missionare in Oracle-Schulungen schicken. Alle wären besser dran. Aber das ist ja nur ein Beispiel. Man könnte mit dem Geld den Harz4-Topf aufstocken. Und damit Nachhaltig das Mantra „Lieber Harz4 als Typo3“ fördern. Das würde auch die Erderwärmung reduzieren – Grüne ist Typo3 nach der Deinstallation.

Der zweite Gedanke könnte von meinem Freund Heinrich Heine kommen: Denn „das wäre ja, als sei der Topf klüger als der Töpfer“, wenn wir die mehr überflüssigen Daten von einem noch überflüssigeres Management-System verwalten ließen. Und genau da kommt der Sex ins Spiel: Wieso eigentlich nicht? Wieso wählen wir als Entwickler und Architekten immer wieder persistenten Datenspeicher in Form eines relationalen Datenbanksystems? Ich ahne es nur: Weil wir irgendwann einmal einer Gehirnwäsche unterzogen worden sind. Nein nicht der Ouozo-Gehirnwäsche. Das war die Döner-Theorie, nachdem die Deutschen weniger Sex haben, wenn sie Knoblauch essen und dadurch aussterben. Die Theorie ist blanker Unfug. Und Edgar F. Codd, der Frontmann, der hinter dem relationalen Datenbankmanagement steckt, steckt sicher auch nicht dahinter. Das wäre zu banal, außerdem ist der schon tot. Und wohl auch nicht Larry Ellison (wenn gleich es dazu sicher auch eine Verschwörungstheorie gibt, die über irgendein Typo3 mit MySQL eine Gemeinde sehr spezieller Paranoiker in einem Forum oder Blog versorgt).

Ouzo, bitte. Danke. Erinnert mich gerade an die Radio-Trinkerin von Max Goldt. Die Audio-Daten sind sicher digital auch in irgendeinem BLOB gesichert. Grauenhaft.

Die Antwort auf die noch nicht gestellte Frage lautet natürlich Key-Stores. Relationale Datenbank-Gehirnwäsche muss ich aber dennoch etwas ausführen.

Weil ich nach der FH noch ein paar Ideen hatte, durfte ich für den Veteranen-Handel ein moderates Shop-System auf der Basis einer BerkelyDB entwickeln. Ich gebe zu, mein Problem war anfangs die relationale Datenbank-Gehirnwäsche aus einem Job davor, bei der wirklich mit *Mengen* gearbeitet wurde, nämlich mit natürlichen und juristischen Personen, die Geld bezahlen und/oder bekommen sollten – eben ein Projektabrechnungssystem für eine Firma, die wie das nach dem Zweiten Weltkrieg noch so war, wenig billige Festangestellte, dafür viele teure sog. IT-Berater beschäftigt hatte. Mit den Kunden wurden natürlich teilweise Festpreise vereinbart und teilweise Beratersätze durchgereicht. Die Requirements konnten mehr oder weniger in ein paar algebraischen Gleichungen angegeben werden. Naja, ich hab’s schließlich für zehn Stangen Camel programmiert (als hätte ich es damals schon gewusst, denn genau das war wieder zum Ende der .COM-Zeit die Währung, wenn der Insiderhandel herausgekommen ist). Die Entitäten eines Projektabrechnungssystems würde ich heute als weniger überflüssige Daten bezeichnen. Nur um nochmal grob mehr oder weniger unwichtig abzugrenzen.

Zurück zum Key-Store. Aber erst noch einen Ouzo (ich teste gerade den Tsantali Ouzo, nachdem ich den 12er fast schon über habe).

Nochmal. Ich bin darüber gestolpert, weil ich die absolut bescheuerte Idee realisiert habe, in einer Datenbank neben dem Pflegen eines HEAD, einer kompletten Versionshistorie auch noch Tags und Branches anzubieten. Und ja, es funktioniert wirklich, wenn man mit der Wirklichkeit einen eigenartigen Vertrag abgeschlossen hat.
Als ich es im Fieberwahn für angebracht hielt, dass man auch etwas Cherry-Picking mit den Daten betreiben können sollte, bin ich zur Tanke und hab‘ die neue Flasche Ouzo gekauft, ganz viel Source-Code gelöscht und die Hände hochgelegt. Denn schnell können die Datenbank-Abfragen einfach nicht sein. Tags brauche ich – das Requirement habe ich fix definiert. Außerdem muss ich so einen getaggten Snapshot an einem bestimmten Zeitpunkt veröffentlichen (ist eine wissenschaftliche Datenbank). Wieso kann das nicht schnell sein? Ganz einfach: Wenn ich zu jedem Datensatz k Revisionen in n Tabellen habe und m Joins darauf machen muss – wird’s es fies wenn ich nur einen der Parameter anhebe: Ein Produkt eben. Error by Design. Ganz klar. Wobei, ich es mit Merge-Tabellen zumindest soweit schnell bekommen habe, dass ich mit Produktiv-Daten einigermaßen zügig arbeiten konnte. Um das Abfrageverhalten zu verbessern dachte ich natürlich darüber nach, dass ich ja noch nichts gecacht habe – Ich muss schließlich nicht jede Tabelle immer in allen Revisionen online zusammenstellen. Und mit SSilk habe ich auch noch nicht diskutiert. Dafür braucht man aber Zeit. Viel davon, sogar.

Und jetzt sind wir genau da, wo ich mich betrinken muss: Ich muss cachen! Also nochmal speichern. Aber nicht ganz so dauerhaft wie ich es mit den schön geordneten Daten getan habe – sondern so, dass ich ohne viel Arbeit direkt an alles heran komme. Und dazu verwende ich genau die gleichen Schlüssel, die ich brauche, wenn ich direkt auf die Datenbank gehen muss…

Nach einem Ouzo sind mir dann zu meiner tiefsten Frustration folgende Zeilen aus der Zend Framework-Doku entgegen gesprungen:


// We create an instance of Zend_Cache
// (of course, the two last arguments are optional)
$cache = Zend_Cache::factory(
    $frontendName,
    $backendName,
    $frontendOptions,
    $backendOptions
);

Und da ist mir klar geworden, wo das eigentliche Problem ist: Nein, es ist nicht gut, dauerhafte „Bewährtes“ immer wieder zu penetrieren. Manche Rezepte für manche Probleme sind schlicht und ergreifend unkorrekt, unvorteilhaft oder schlichtweg falsch. Nur wir können eben das Falsche manchmal so gut, dass wir uns nicht umstimmen lassen wollen.

Da wird eine Factory-Methode angeboten – großes Kino – aber auf der anderen Seite parametrisiere ich den Cache (wie auch anders) mit String-Werten… Also entweder ich mache es objektorientiert und halte auch die Komplexität geringer (ok, ich hätte eben ein paar Objekte mehr – aber die lassen sich viel besser testen. Hachja, Locke, ich pflichte dir zum Thema Object-Injection zu 100% bei, oder ich mache es praktisch wie in den 60ern den lezten Jahrtausends, nach dem KISS-Prinzip. Wir wir alten Männer neuerlich wissen, steht KISS für Keep it Simple: Suicide. Ziemlich stupid. Aber das ist wieder eine andere, kleine Geschichte, die ich irgendwann mal vor dem Schlafen gehen berichten werde, Johnboy.

Ich hab‘ jetzt genug Alkohol im Blut um Zend Framework zu ertragen. Allerdings muss ich sagen, es hat Spass gemacht, mal die Zend_Application-Komponenten in einem frischen Projekt zu verwenden (wenn gleich ich an manchen Stellen fast verzweifelt bin – aber wie immer im Zend Framework: Es gibt immer mindestens drei Wege eine Aufgabe zu erledigen… und immer mindestens 3 Wege unterschiedliche Fehler zu machen 😉

Weitermachen.