Tuesday, August 27, 2013

Offtopic: Mein Wort zum Dienstag...


Raucher sind egoistische Schweine!

Den ganzen Tag über muss ich unfreiwillig das Gift einatmen. Von Morgens bis Abends! Da kommt mir das kalte Kotzen!

Wenn ich mal das Fenster aufmachen möchte kommt mir nichts anderes als der giftige Dunst entgegen. Und wenn man doch mal kurz frische Luft hat, ist das nicht von Dauer und wie eine tickende Zeitbombe - nur ohne Restanzeige - und eine Frage der Zeit wann mir wieder eine Körperverletzung angetan wird!

Als Nichtraucher zu leben ist unmöglich! Auf offener Straße, am Bahnhof, im Büro überall werde ich unfreiwillig dazu gezwungen zu rauchen.

Meine Frage an die Raucher: Wie würdet ihr das finden wenn ich euch den ganzen Tag über unfreiwillig kleine Dosen Alkohol ins Blut spritzen würde? Scheiße oder? Ihr wärt die ganze Zeit benommen, könntet nicht Auto fahren und hättet früher oder später Probleme mit eurer Leber bzw. Gesundheit!


Aber am liebsten würde ich jedem Egoisten für jede Belästigung einen Eimer Kuhscheiße über den Kopf leeren!

Wie ihr euch verhalten würdet? Ihr würdet mich wegen Körperverletzung anzeigen. Mein Problem ist nur, dass ich euch deswegen nicht anzeigen kann, weil der Staat sich an euch bereichert und deswegen niemals ein Gesetz entwerfen würde um dies zu unterbinden und das OBWOHL es MEIN RECHT ist nicht ständig zugequalmt zu werden...

Schon mal darüber nachgedacht? Wer als Raucher eine Ignoranz gegen sich selbst hinsichtlich seiner Gesundheit walten lässt auf Grund seines Suchtverhaltens, ist mir das egal, aber nicht wenn sich die gnadenlose Ignoranz und Egoismus auf mich überträgt!

Zum Schluss noch ein hübsches Video...


Einen genüsslichen Tag noch!

Tuesday, April 30, 2013

Doppelte DIRECTORY_SEPARATORS entfernen.

Weil ich als RegEx erfahrener schon oft danach gefragt worden bin, wie man am saubersten mehrfache Separatoren hintereinander entfernen kann, hier ein kleiner Schnippsel.

$ds = DIRECTORY_SEPARATOR;
$source = preg_replace( '~('.$ds.')\1+~', '$1', $file );

Tuesday, April 23, 2013

Java SUN 1.6 auf Ubuntu 12.04 für PhpStorm installieren

Bevor ich das selbst noch einige male selbst "rausfinden" muss, halte ich es hier und jetzt im Blog fest.

Download: https://docs.google.com/file/d/0B5SF2pfUfemVNHdpUnh2bjJ0ME0/edit

unzip sunJdk1.6.zip
cd sunJdk1.6
sh install.sh

und (wann immer möglich )

"/usr/lib/jvm/jdk1.6.0_38/bin/java"

in der Menüführung auswählen.

PhpStorm starten und happy sein.

Was war passiert?
Ich hatte das Problem, dass meine Windows-Fenster sich in allen Himmelsrichtungen geöffnet hatten. Bei der Autovervollständigung bekam ich dieses PopUp niemals in Sichtweite, was natürlich gar nicht geht. Das lag daran, dass open JDK installiert war (default). Unterstützt wird einzig und allein Sun JDK 1.6. OpenJDK wird nicht unterstützt und kann wie man sieht ziemlich hässliche Side-Effects haben.

Wednesday, January 30, 2013

MySQL - utf8_general_ci und 'ß'

Heute habe ich mir in meinem Framework einen Wolf gesucht, da ich der Annahme war, ein Encoding-Bug hätte sich irgendwo eingenistet.

Was war passiert? Ich wollte zwei Datensätze über einen 3-Spalten-Primaray-Key in der Datenbank hinzufügen.

Der sah dann so aus:

array(3) {
  [0]=>
  string(13) "`char` = 's'"
  [1]=>
  string(12) "`number` = 0"
  [2]=>
  string(12) "`userId` = 1"
}

und

array(3) {
  [0]=>
  string(13) "`char` = 'ß'"
  [1]=>
  string(12) "`number` = 0"
  [2]=>
  string(12) "`userId` = 1"
}

Der erste Datensatz lief ohne Probleme flüssig und sauber in die Datenbank. Der zweite, wurde aber niemals hinzugefügt.

Meine Applikationslogik hatte beim 2. Insert zuvor geprüft, ob der Datensatz schon vorhanden war. Und ja, der war da. Aber nicht etwa, weil ein Bug im Code existiert, sondern weil mysql bei der Collation uft8_general_ci ein bösen Encoding-Bug hat. (Seit Jahren...)

Wer das bei sich überprüfen will, kann folgendes ausführen:

SELECT 's' = 'ß' COLLATE utf8_general_ci;
SELECT 's' = 'ß' COLLATE utf8_unicode_ci;
Man wird staunen, was beim ersten Select für ein Ergebnis sich präsentiert. Also habe ich gezwungenermaßen in einem Sonderfall die Spalten-Collation auf utf8_unicode_ci geändert.

Mehr Details gibts auf MySQL: http://bugs.mysql.com/bug.php?id=27877

EDIT: Okay, von Bug kann man wohl nicht reden, aber von extrem verwirrend. Siehe: http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci