Popular Tags:

Welt der Angst

12. August 2015 at 18:13
Darin de Paul auf der Star Wars Cantina auf der Bühne

Darin de Paul auf der Star Wars Cantina

Ich war am letzen Freitag in Köln auf der Star Wars The old Republic Cantina. Insgesamt eine nette Veranstaltung, nicht weltbewegend aber durchaus OK. Aber das ist ein anderes Thema, und darum soll es hier nur sehr am Rande gehen.

Ich habe dort eine junge Frau kennengelernt, die biologisch ohne weiteres meine Tochter hätte sein können. Wir haben uns in meinen Augen recht gut verstanden und nett unterhalten. Irgendwann war es dann Zeit, die Räumlichkeiten zu verlassen, oder eher gesagt, wir wurden rausgekehrt. Da ich ohnehin in der Nähe des Bahnhofs geparkt hatte, sie (natürlich, da minderjährig) auch mit dem Zug da war, sind wir zusammen mit einigen ihrer Kumpels noch gemeinsam in die Richtung gegangen. Um sie nicht alleine in die Bahn zu setzen, bot ich ihr an, sie noch zu ihrem Hotel zu bringen. Die Unterkünfte der beiden anderen lagen leider zu weit ab, dafür hätte ich komplett durch Köln durch gemusst. Sie überlegt, es sich, und wollte erst mal gucken, wann der nächste Zug käme.

Irgendwann kam ich ins überlegen. Welchen Vorschlag hatte ich ihr eigentlich gerade gemacht? Ich hatte ihr vorgeschlagen, dass sie in ein Auto eines doppelt so alten Mannes steigen sollte, den sie vielleicht 3h kannte. So fügte ich meinem Angebot noch ein „… wenn du bei mir ins Auto steigst.“ hinzu. In dem Moment merkte ich, wie auch sie ins überlegen kam.

Photoshoot: Devs mit Mandalorian

Photoshoot: Devs mit Mandalorian

Und hier wird es eigentlich komisch. Warum meinen wir, so eine Angst haben zu müssen? Warum fühle ich mich komisch dabei, einfach jemanden nach Hause zu bringen. Warum überlegt sie, ob es wirklich richtig ist, mit mir mit zu fahren?

Ich glaube nicht, dass die tatsächliche Bedrohung durch Mörder/Räuber/Vergewaltiger so groß ist, als dass diese Angst gerechtfertigt wäre. Was ist es also dann? Wahrscheinlich tatsächlich einfach das Bedürfnis nach gefühlter Sicherheit, durch das wir uns selbst in unserer Freiheit einschränken. Nicht nur im Privaten sondern und vor allem auch in sozialen oder politischen Kontexten. Man muss sich ja dafür nur mal die Flughafensicherheitsvorkehrungen anschauen. Wieviele Flugzeugentführungen werden damit jedes Jahr wirklich verhindert? Kaum eine Handvoll würde ich sagen.

Eigentlich schade.

Damit es nicht zu Missverständnissen kommt: Nein, ich bin nicht dafür, dass man ab sofort alle Vorsicht in den Wind schießt, und einfach jederzeit bei jedem ins Auto steigt. Gesunder Menschenverstand und so.

Ach ja: am Ende habe ich sie mitgenommen, nachdem ein Kumpel von ihr sich meinen Perso abfotografiert hatte. Gefühlte Sicherheit.

Typo3 DB konvertieren.

9. Juli 2015 at 18:07

Vorgeschichte

Neulich stand ich vor dem Problem, dass eine alte Typo3 4.5 Installtion so langsam mal auf die nächste LTS, sprich 6.2 aktualisiert werden sollte. Eigentlich kein großes Thema: Alle Extensions, die notwendig waren sind inzwischen für 6.2 erschienen oder problemlos ersetzlich. Sollte also überhaupt kein Problem sein – dachte ich.

Nach Einrichtung einer Testumgebung, Backup, etc die üblichen Schritte beim Update:

# Symbolischen Link auf die neue Version setzen:
rm typo3_src && ln -s /usr/local/share/typo3/typo3_src-6.2.14

# Alte Temporärdateien löschen:
find typo3temp -type f -exec rm -fv \{\} \;

# Installtool frei schalten:
touch typo3conf/ENABLE_INSTALL_TOOL

Danach noch ein kurzer Check, und dann in die Produktiv-Umgebung übernehmen. Was soll schon schief gehen?

Einiges. Um genau zu sein, alle Umlaute usw. der Seite waren beim Teufel: Ã¶ statt ö, ä statt ä und so weiter. Klassischer Encoding Fehler halt.

Ursache

Ohne da jetzt genauer eingestiegen zu sein, habe ich die folgende Vermutung. Eventuell kann mir ja jemand mit mehr Ahnung widersprechen.

Offensichtlich kümmert sich Typo3 Version 4.5 nur darum, was in der eigenen Konfiguration steht, wenn es ums Encoding geht. Dort stand auch UTF8, wie es sich gehört. Nicht aber in der Datenbank, die war auf latin1 mit entsprechender (typisacher) Schwedischer Collation. Anfängerfehler beim Einrichten, der sich jetzt rächen sollte. Typo3 hat dann also UTF8-Strings in die DB geschoben, die hat sie (eigentlich kaputt) abgespeichert und genau so auch wieder an Typo3 zurück geliefert. Das hat alles wieder als UTF8 interpretiert, und alles war schön.

Mit Typo3 6.2 scheint sich das CMS dann aber plötzlich dafür zu interessieren, was für ein Encoding die Datenbank verwendet und richtet sich dann danach. Und schon sind die Daten kaputt. Schöner Mist!

Lösung

Nach einigem googleln und verschiedenen Ansätzen mit mehr oder weniger SQL-Magie, komplizierten iconv Aufrufen usw. bin ich mit den folgenden Befehlen recht einfach zu einer funktionierenden Datenbank gekommen:

# Export der Altdaten:
mysqldump -u root -p --default-character-set=latin1 typo3_db > export

# kopieren der Daten, um ggf. eine Sicherheitskopie zu haben, 
# falls es doch nicht klappt:
cp export import

# Suchen / ersetzen der Datenbankparameter im Export:
sed -i 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/g' import
sed -i 's/CHARACTER SET latin1/CHARACTER SET utf8/g' import
sed -i 's/SET NAMES latin1/SET NAMES utf8/g' import

# Reimport in die Datenbank:
mysql --default-character-set=utf8 -u root -p typo3_db < import

Zumindest bei mir war danach alles im grünen Bereich, und ich konnte die Seite wieder produktiv stellen. Vielleicht hilft es ja mal jemandem, der auch zu spät dran ist, seine Umgebung mal zu aktualisieren.

Dateien mit Regular Expressions umbenennen

22. April 2015 at 18:37

Ich stand heute vor dem Problem, ca. 350 Dateien die ihre Endung durch ein „_original“ ergänzt hatten wieder zu ihrem ursprünglichen Namen umzubenennen.

Manuell? Wohl kaum!

OS X Yosemite hat eine wunderbare Funktion, um in reihenweise Dateien mit Suchen/Ersetzen um zu benennen. Wenn man damit allerdings die Endung ändert, dann fragt er für jede Datei nach. Also auch keine Lösung.

Aber wofür arbeitet man auf einem Unix? Eine kurze Internetrecherche förderte den folgenden Bash-Schnipsel zu Tage:

<p class="p1"></p>
<p class="p1">regex="(.*)_original"
find . -regex '.*_original' -print0 | while read -d '' -r; do [[ $REPLY =~ $regex ]] &amp;&amp; mv "$REPLY" "${BASH_REMATCH[1]}"; done</p>

 Funktioniert super und ist schön schnell. Muss man sich merken!

Gute Vorsätze

15. Januar 2015 at 18:21
Herbstmorgen

Herbstmorgen

 

Ein neues Jahr, neue gute Vorsätze, und das Bedürfnis, hier doch einfach mal Leben rein zu bringen.

Zunächst ist da noch etwas Arbeit zu erledigen. Das Theme muss noch etwas aufgeräumt werden, Backup, Berechtigungen, bla bla bla. Was auch immer.

Wir werden sehen, was dieses mal dabei so rum kommt.