Cottbus, ich war in dir!

Letzte Woche war ich aus Gründen in Cottbus.

Planmäßig wollte ich um 9 in Leipzig mit dem Zug los- und durchfahren um gegen um 11 in dem Hunderttausendseelendorf sein. Aber nicht, wenn es in Leipzig ein wenig regnet. Hätte beinahe erstmal den Zug verpasst, da der Bus, mit dem ich fahren wollte, wegen Überflutung ausfiel.

Im Zug geht es dann fast 10 Minuten flüssig – bis Taucha. Da werden wir umgesattelt und zwar unter dem Motto: Schienenersatzverkehr, mir nach!

Nach einer Stunde Busfahrt warteten wir dann an dem liebevoll restaurierten Bahnhof Mockrehna auf unseren Anschlusszug.

Aber das ist eigentlich nicht, was ich berichten will. Ich liebe es ja, während der vorlesungsfreien Zeit auf dem Campus rumzuhängen. Und so war  ich auch auf dem Campus der TU Cottbus und es hat mir sehr sehr gut gefallen. Nach dem Break gibt es ein paar Bilder vom verlassenen Campus.

An sich ist Cottbus eine recht schöne Stadt. Da ist zwar der Hund verreckt, aber die meistbefahrene Straße in Cottbus ist nichtmal annähernd so befahren wie unsere Durchschnittshauptstraßen. Das kann auch ganz angenehm sein.

Weiterlesen

reCaptcha inside a with jQuery ajax() or load() dynamically loaded object

For the German version of this article, please look here.

The Problem: you want to use reCaptcha with the JS (JavaScript) or php-Api in in a with jQuery ajax() or load() dynamically loaded area. But: the reCaptcha doesn’t appear.

My use case looked something like this:

contakt.html (abridged):

<div id="form"></div>
<script>$("#form").load("mail.php?ajax");</script>

mail.php (abridged): 

<?php
// here is other code
echo '<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script><div id="recaptcha"></div>';
echo '<script>Recaptcha.create("my_public_key", "recaptcha", {theme: "red"});</script>';
// other code
?>

And this, like I said, doesn’t work.

The problem:
google’s reCaptcha API uses the document.write() function for inserting reCaptcha in to the document tree. This function is not available in this case, when the content is loaded dynamically with jQuery. document.write() therefore has to be replaced with its jQuery equivalent.

This means you either have to maintain your own version of the api or you work this out dynamically. Our solution looked something like this:

mail.php (abridged): 

echo '<script type="text/javascript" src="jsapi.php"></script><div id="recaptcha"></div>';

jsapi.php (complete):

<?php
$api = file_get_contents('http://www.google.com/recaptcha/api/js/recaptcha_ajax.js');
$api = str_replace('document.write','$("body").append',$api);
echo $api;
?>

The replacing could be made manually and is highly trivial. Therefore I did not attach a changed version of the recaptcha_ajax.js. You probably need to do something about the header to make the api cacheable for the browser again, but this was not our focus.

reCaptcha innerhalb eines mit jQuery ajax() oder load() dynamisch geladenen Bereichs

For the English version of this article, please look here.

Das Problem: man möchte reCaptcha über die JS (JavaScript) oder php-Api in einen durch den jQuery-Befehl ajax() eingefügten Bereich verwenden. Aber: das reCaptcha taucht nicht auf.

Mein Use-Case sah so aus:

kontakt.html (auszug):

<div id="form"></div>
<script>$("#form").load("mail.php?ajax");</script>

mail.php (auszug): 

<?php
// here is other code
echo '<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script><div id="recaptcha"></div>';
echo '<script>Recaptcha.create("my_public_key", "recaptcha", {theme: "red"});</script>';
// other code
?>

 Und das funktioniert, wie bereits erwähnt, nicht.

Das Problem:
googles reCaptcha-Api verwendet zum Einfügen des Objekts das document.write(), was an dieser Stelle im Dokumentenbaum durch die Verwendung von jQuery nicht verfügbar ist. Die Lösung ist “denkbar” einfach. Googles document.write muss durch einen jQuery-Befehl ersetzt werden.

Das heißt, mann muss entweder eine eigene Version der Api maintainen, oder man arbeitet dynamisch. Bei uns sah die Lösung konzeptionell so aus:

mail.php (auszug): 

echo '<script type="text/javascript" src="jsapi.php"></script><div id="recaptcha"></div>';

jsapi.php (vollständig):

<?php
$api = file_get_contents('http://www.google.com/recaptcha/api/js/recaptcha_ajax.js');
$api = str_replace('document.write','$("body").append',$api);
echo $api;
?>

Die Ersetzung manuell vorzunehmen ist höchst trivial, darum habe ich jetzt keine geänderte recaptcha_ajax.js angehängt. Insgesamt könnte man an den headern noch etwas machen, dass das Caching-Verhalten des Browsers korrekt wird, das war aber nicht Fokus.

Zaue – a weak week in review

Disclaimer: Dieser Beitrag wurde nicht ganz nüchtern geschrieben. Vielleicht nicht gleich bsffn sonder eher in Richtung bsoffen. Und wie jedes Kind weiß: je weniger Vokale desto full.

Boxenstopp zum Mittagessen

Donnerstagfrüh ging die Reise los. Kurz vor Paukenschlag bekomme ich von Hannes noch eine sms bekommen, dass er noch eine halbe Stunde braucht. Typisch. Zu dem Zeitpunkt war das Discotaxi schon komplett Urlaubsfertig ausgestattet.
Den Urlaub haben wir Stilecht damit begonnen, Hannes Handy kaputt zu machen. Da waren wir noch in Anger-Crottendorf.

Und dann haben wir uns Volllaufen lassen. Neeee, halt, ich bin zu weit voraus. Wir haben zuerstg den Astra volllaufen lassen.
Dann ab in die Metro, einkaufen. Da mussten wir bereits die wichtigste und allesentscheidende Frage des Urlaubs beantworten. Nach langem Hin und Her hieß die Antwort “Ur-Krostitzer”. Wir würden also auch im Urlaub unserem Gustav Adolf treu bleiben.

Das Auto haben wir noch putzen lassen und dann ging es ab auf die Bundesstraße. Mit dem Rüsselsheimer Blitz in den Wind haben wir die beschwerliche Reise von beinahe 150km angetreten.
Auf dem Weg haben wir noch fein gegessen. Also Hannes hat fein gegessen und ich hatte das Schnitzel.

Ausgepackt

In Zaue angekommen, haben wir erstmal unsere im Thermokühlbehälter perfekt aufbewahrten Urquell aufgemacht. Geschafft.

Aber wir mussten uns ja noch anmelden. Die junge Dame an der Anmeldung, vielleicht 17, war Azubi im ersten Lehrjahr. Süß ja. Kompetent? nope.
Und die kleine hat uns Mitgeteilt, dass wir von unserem gebuchten Bungalow in ein vermeintlich größeres Mobilheim umgelagert werden. Aber man ist so kulant, uns die Preisdifferenz nicht zu berechnen, sondern nur den gebuchten Bungalow abzurechnen. Wow!!!

Zu diesem Zeitpunkt war ich recht angep…iept. Hannes hat guter Bulle gespielt. Aber war schon so weit, dass die Kleine bei mir keinen Stand mehr hatte. Schade eigentlich. Sie wird eine von vier Frauen “meines” Alters auf dem Zeltplatz gewesen sein. Und mit “mein Alter” meine ich jünger als ich – aber legal.
Nachdem wir uns eingerichtet haben, also Laptops aufbauen, Wlan und Internet aufbauen, sind wir zu “zum Camper”, dem Frittierkönig auf dem Campingplatz. Was der in der Fritteuse macht, machen manche gelernte Köche nicht auf dem Gasherd.

Freitag haben wir uns mit Einkaufen abgegeben. Haben ansonsten gechillt und versucht, die lärmenden Kinder zu überhören. Letzteres war wenig von Erfolg gekrönt. Schlimm war eigentlich nicht, dass die Kinder spielen, sondern was die Kinder spielen. Wir haben Früher noch Cowboy und Indianer gespielt, wo die Cowboys nichts trafen und die Rothäute die Eindringlinge an den Marterpfahl gefesselt haben. Das ist auch der Grund für das Bondage-Fetish, was die eine Hälfte meiner Generation mit sich schleppt. Aber die Jungs haben Soldat und Panzer gespielt. Soldat und Panzer?! Am Strand haben viele kleine Kinder wenige dicke Kinder geärgert und andersrum. Mit Sand werfen ist nicht viel besser.

Nachts, als Hannes schon schlief, bin ich an den Strand, hab mich hingelegt und Sterne geschaut. Kaum liege ich: BAM! sternschnuppe! Hab noch weiter dagelegen und plötzlich höre ich ein Tapsen in der Dunkelheit. Ich drehe meinen Kopf und da steht eine Katze direkt neben mir. Hatte niemanden zum Kuscheln. Hätte glatt die Katze genommen, aber die ist gleich wieder verschwunden, nachdem ich sie gesehen hatte.

Bootskorso

Am nächsten Tag war auf dem Schwielochsee Bootskorso. Zwei Dörfer weiter, in Beeskow, war “große” “festveranstaltung” am “pier”, Abends mit Dirk Michaelis, oder wie Hannes meinte: “Michael Dirkis”. Auf dem Gelände wurden uns durch die Internetseite(!!!) kulinarische Köstlichkeiten aus der Region versprochen. In dem Glauben, der Eintritt von 5 Euro würde erst am Abend erhoben, haben wir uns auf den Weg gemacht.
Die Strecke war erwanderbare viereinhalb Kilometer lang. Nach drei Kilometern war der Wanderweg überflutet und wir haben einen vierkilometerlangen Umweg gemacht. Sch…

In Beeskow angekommen haben wir festgestellt, dass bereits jetzt (es war 13:00) 5€ von Nöten war, dass wir auf das „Festgelände“ draufkönnen (um dann dort Essen zu kaufen). Dann haben wir uns dafür entschieden, die 10€ Eintritt in dem Gasthaus direkt am „Markt“ (also die Mitte von der Einen Straße, die durch das Dorf führt) zu verfressen. Was wir dort vorgesetzt bekommen haben, war ja an Qualität kaum noch zu unterbieten. Ich hatte „Schnitzel mit Beilage und Salzkartoffeln“. Bratkartoffeln „is nich“. Hannes hatte „Bulette mit Beilage und Salzkartoffeln“. Für die Salzkartoffeln musste ich nachher noch Salz bestellen und das Rotkraut war schlimmer als in der Mensa(!). Schade, dass die Gasthäuser im tiefsten Brandenburg nicht bei Qype sind, sonst hätte ich gleich noch beim Dasitzen… egal.

Wir sind dann wieder heim, diesmal sind wir durch die hackentiefe (das wussten wir ja vorher nicht) „Überflutung“ durchgewatet und waren in ner Dreiviertelstunde wieder „daheim“.
Abends haben wir uns dann mit einer Flasche Vodka und zwei Flaschen Cola an den Strand gesetzt, denn da sollte der Bootskorso vorbeifahren. Das hat er auch gemacht, während eine unglaublich schlechte Dorfdisko den Strand beschallt hat. Livemusik boten außerdem zwei Akkordeonspieler (deren Namen ich leider nicht in Erfahrung bringen konnte) mit Klassikern wie „Zauener Nächte sind lang…“ dem Strandpublikum ausreichend Gelächter.

Hannes baut große Brüste

Und als der Bootskorso vorbei war, wollte Hannes unbedingt Brüste anfassen. Da seine Freundin aber nicht mit war und er nicht allzu untreu sein wollte, hat er sich ein Paar Brüste selbst gebastelt, getreu nach dem Motto: „die kann ich mir doch aus Draht nachbiegen“.

Auf dem Rückweg sind wir noch beim „Yachtklause“ vorbei. Da tobte zumindest die Party noch. Wir haben uns ein wenig an den Rand gesetzt und die anderen Mädels meines Alters gesehen. Die haben dort allesamt Saft geschubst. Und die süßeste ist gleich bei uns an den Tisch.

„Zwei Bier.“
»“Groß oder Klein“
„Groß. Neee, halt. Klein, da kommst du öfters.“

Ich hab dann auch wirklich ein kleines bekommen und wir haben Abends noch geschwatzt und uns so gut mit den Mädels verstanden, dass wir am Tag darauf noch 6 Stunden in der Kneipe saßen und fast 50 Euro gelassen haben. Hat sich aber gelohnt. *g*

An dem Tag hat es dann auch aufgehört, selten zu regnen. Das war der andere Grund, warum wir dort 6 Stunden saßen. Immer wenn wir gerade mit einem Bier fertig waren, begann es wieder zu regnen und wir haben ein neues bestellt. Dann hörte es auf zu regnen. Als wir dann aber wieder fertig waren…
Und dann saßen wir rum in unserem Bungalow, Verzeihung, Mobilheim.

Ich habe dann mal wieder angefangen, Nethack zu spielen. Und bei dem Regen bin ich alle Viertelstunde in irgendeine Teleportfalle oder ein Loch gefallen. Es wurde langsam richtig schwachsinnig. Aber es sah an sich dann doch nicht allzu schlecht aus.

Am Dienstag haben wir uns dann dafür entschieden, am Mittwoch nach Babelsberg in die Star Trek-Ausstellung zu fahren, die am Sonntag vorfristig enden sollte. Eigentlich wollte ich keine Autobahn fahren, da ich dachte, das Navi wirft mich über die Berliner Stadtautobahn. Also Bundesstraße. Nach 20km Umleitung und so etwa dem vierten oder fünften Grünflächenamt-Auto und der zweiten Baustelle in der Umleitung (wurde langsam so schwachsinnig wie die Teleportfallen) dachte wir uns „fuck it“ und sind auf die Autobahn. Das ging sogar alles recht gut.

Ich liebe Aktionen!

In Babelsberg angekommen in die Ausstellung. 13 Euro, kein Studentenrabatt. Wir sind da durch und es war nicht so spannend. Hannes meinte im Nachhinein: „Also für das Geld, hätte mir eigentlich so eine Orion-Sklavin ‘nen Handjob geben müssen“. Korrekt.

An dem Abend habe ich meine Valkyre an einen Waldtroll verloren.

Als wir uns dann am Donnerstag entschieden hatten, wegen des Scheißwetters bereits am Freitag abzureisen, kam natürlich prompt die Sonne raus. Fucking Fantastic!
Egal! Die Entscheidung war gefällt. So war an dem Abend nichts weiter übrig, als eine Band zu gründen.

Am Freitag sind wir dann in aller Frühe, ca, 100 Euro eher, abgereist. Wieder die Kleine an der Anmeldung. Hab mich noch ein wenig über die Unterbringung aufgeregt.

Hannes: „Haste der kleinen jetzt ordentlich in den Ausschnitt geschaut? Die hat sich ja extra die ganze Zeit vorgebeugt“
Ich: „Neeee, das hat ‘se schon am ersten Tag verschissen. Da schaue ich der doch nich in den Ausschnitt. Das hat sie sich nich verdient. Dann schaue ich doch lieber auf eine, die das nich will.“

Und mit diesen Worten, lasse ich euch jetzt mit ein paar Fotos und Eindrücken alleine.

Demokratieverständnis in Europa und Kapitalfaschismus

Ich bin wieder mal unglaublich sauer. Unglaublich sauer über Lügen und über Heuchelei. In Einem scheinen wir besonders gut zu sein: mit zweierlei Maß messen.

Der 29-Jährige Mark Duggan wird in London erschossen. Nachdem sich die Polizei zwei Tage lang weigert, ein Statement abzugeben, nicht mal gegenüber den Angehörigen des Familienvaters, gehen die Demonstrationen unter den perspektivlosen jungen Leuten los. Diese jugendlichen, die vom Staat 50€ die Woche (42 Pfund) bekommen, können davon nicht leben. Natürlich artet das in Gewalt aus.

Ein junger Mann im Interview auf die Frage, ob die Ausschreitungen in der Form etwas nützen:

„Yes, You wouldn’t be talking to me now if we didn’t riot, would you? Two months ago we marched to Scotland Yard, more than 2,000 of us, all blacks, and it was peaceful and calm and you know what? Not a word in the press. Last night a bit of rioting and looting and look around you.“

Und die Britische Regierung entzieht sich jeder Verantwortung. Cameron kommt aus seinem Urlaub zurück, nicht um soziale Reformen, sondern harte Strafen und den Einsatz von Wasserwerfern zu versprechen.

Dann kommt raus: Duggan hat gar nicht, wie zuerst von der Polizei behauptet, zu erst geschossen. Er hat gar nicht geschossen. Die Kugel in dem Polizei-Walkie-Talkie kommt aus einer Polizei-MP5. Vertuschung? Hätte es überhaupt eine Untersuchung gegeben ohne diese Ausschreitungen. Die Polizei hat kein Statement, auch wieder nicht für die Hinterbliebenen.

Und jetzt melden sich Menschen zu Wort, denen wir sonst gar nicht zuhören: Gaddafi sagt genau das, was wir die ganze Zeit über ihn sagen:
„Cameron and his government have lost all legitimacy. These demonstrations show that the British people reject this government which is trying to impose itself through force.“

Aber Gaddafi ist nicht der einzige vom Westen unfair behandelte, der sich zu Wort meldet.

Auch Ahmadinejad (Iran) und Mugabe (Zimbabwe) haben sich gegen die Brutalität, mit der die Britische Polizei vorgeht, ausgesprochen. Mugabe wünscht den Briten, dass sie ihre Brände schnell gelöscht bekommen und sich dann um ihre eigenen sozialen Probleme kümmern, anstatt in seinem Land Sanktionen zu erheben und sich einzumischen.

“Britain I understand is on fire, London especially and we hope they can extinguish their fire, pay attention to their internal problem and to that fire which is now blazing all over and leave us alone. We do not have any fire here and we do not want them to create unnecessary problems in our country.”

“Arab Revolution” ist gut – der Weg zur Demokratie. Aber in Deutschland bereitet man sich auf die Niederschlagung von Demonstrationen vor. Die Briten schlagen schon fleißig nieder.

Und was sagt Cameron über die, die sich kein ordentliches Paar Schuhe leisten können?

The riots had shown “pockets of society” were not just broken “but frankly sick”. He said the root cause was “mindless selfishness, and “complete lack of responsibility in our society.”

Das macht mich krank!

 

Und zum Glück lenkt uns diese Story so sehr ab, dass wir doch glatt die zehntausenden Afrikaner vergessen, die zur Zeit Hunger leiden. Und wer hätte es gedacht: wir, die westliche Welt, sind auch noch dran schuld. Überrascht mich jetzt nicht allzu sehr.

‎”So viel Hedgefunds, wie man nur essen kann”
Westliche Hedgefunds besitzen 150Mio Hektar Ackerfläche in Afrika, wobei vertraglich entweder 80% in den Export gehen oder die Fläche brach liegt.

Gut zu wissen, dass die Afrikaner wegen uns Hunger leiden. Das gibt dem Raubtierkapitalismus doch gleich ein freundlicheres Gesicht.

Und dann regt sich nochmal einer auf, dass es Menschen gibt, die uns wegen unserer westlichen Lebensweise hassen…

Papa on Tour

Ab morgen bin ich mit meinem lieben Freund Hannes im verdienten (also für mich zumindest). Wir sind natürlich mit UMTS-WiFi-Router ausgestattet und trotz “tiefstes Brandenburg” online erreichbar.
Wir haben recht wenig Bandbreite, aber ich werde schauen, dass ich immer mal Fotos hochlade.

Ich wünsche allen schöne 11 Tage ohne mich. Wir sehen uns Montag den 15.08. Beim Kneipenquiz im StuK.