Drupal: Anti-Aging Cream for DBlog

Mai 8th, 2017

I like to use dblog even on live sites, because it makes it easier to track down the causes if a problem appears. One Drupal 7 installation went down with an error message in the frontend. Drush cc showed "PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 2147483647 for key PRIMARY: INSERT INTO {watchdog} [...]"

So, obviously, the integer limit of the ID of the watchdog table was reached. A hotfix to get the site running again is "drush pm-disable dblog". A fix is to delete the table contents and reset the ID counter (the latter might not be necessary):

TRUNCATE `watchdog`;
ALTER TABLE `watchdog` AUTO_INCREMENT = 1;

Fat Ubuntu

April 27th, 2017

Link: https://askubuntu.com/questions/2793/how-do-i-remove-old-kernel-versions-to-clean-up-the-boot-menu

Wondering where all my harddisk space went I found literally hundreds of old kernels which were not deleted automatically :crazy: Deinstalling them saved 15 GB.

iloxx: Kundenservice, falsch verpackt

April 26th, 2017

Ich (als Vertreter meiner Firma) habe mal gerne Paletten mit iloxx verschickt, weil es ein schönes Webinterface hat und alles einfach und elektronisch funktioniert: Auftrag auf der Webseite erstellen, Abholung, Lastschrift, PDF-Rechnung. Alle Sendungen wurden immer versichert verschickt.

Neulich kam bei einer Kundin das erste Mal eine beschädigte Sendung an: Die Sendung muss mit ihrer Oberkante mit einem anderen Gegenstand kollidiert sein. Die Beschädigung wurde leider nicht auf dem Abholbeleg vermerkt. Und die Kundin meldete den Schaden erst nach weit über einer Woche. Ich meldete mich bei iloxx deswegen und musste ein zweiseitiges Papierformular händisch ausfüllen mit diversen Daten, die dort bereits vorliegen wie z. B. Sender- und Empfängeradressen. Immerhin konnte man das Formular eingescannt schicken.

Nach einigen Tagen kam wenig überraschende Post: Die Schadensregulierung wurde abgelehnt mit Hinweis auf den nicht auf dem Übergabeschein vermerkten und zu spät gemeldeten Schaden (verdeckte Schäden müssen wohl aus gesetzlichen Gründen innerhalb 7 Tagen gemeldet werden). Das ist wenig kulant, aber verständlich. In dem Schreiben steht weiter, dass aus meinen Angaben eindeutig hervorginge, dass die Sendung nicht ausreichend verpackt war. Mir waren die Verpackungshinweise der Webseite bekannt: https://www.iloxx.de/net/iloxx/hilfe/verpackungstipps/palette.aspx Diese waren meiner Meinung nach erfüllt. Um bei eventuellen zukünftigen Versendungen nicht wieder den Versicherungsschutz zu verlieren fragte ich nach, wie so eine Sendung denn zu verpacken sei.

Die Sachbearbeiterin interpretierte meine Nachfrage offensichtlich als Widerspruch zu der Ablehnung der Schadensregulierung und bot 25 Euro als "pauschale Kulanzentschädigung", mit der bei Annahme "alle Ansprüche gegenüber uns abgegolten sind". Ich wollte kein mit vielen Textbausteinen garniertes Taschengeld, sondern eine Auskunft, wie man potentiell in die Tausende gehende Schäden zukünftig mitigieren kann. Ich hakte nach. Als Antwort erhielt ich, dass die Verpackung "in keinster Weise den Anforderungen an eine ordnungsgemäße und transportsichere Verpackung" entspräche. Diesmal mit Tippfehler, also kein Textbaustein, aber immer noch keine Antwort auf meine Frage. Ich fragte nochmal nach. Ich solle bitte Verständnis haben, dass "wir Ihnen keine Verpackungsvorgaben erteilen können". Ich hatte kein Verständnis, schließlich entscheidet iloxx ja auch, was nicht ordnungsgemäß verpackt ist. Wenn keine klaren Vorgaben zu ordnungsgemäßer Verpackung existieren, kann sich iloxx im Schadensfall immer auf nicht ordnungsgemäße Verpackung zurückziehen (unterhaltsame Lektüre hierzu findet sich auch hier unter dem Suchbegriff "Verpackung" - ein Schelm, wer da ein Geschäftsmodell dahinter vermutet). In der letzten Mail erhielt ich schließlich eine Antwort: "Es war keinerlei stoßabsorbierende Innenverpackung zum Schutz der Ware vorhanden". Ahja. Hätte Luftpolsterfolie die Auswirkungen eines offensichtlich heftigen Zusammenstoßes der Palette mit einem anderen Gegenstand, der durch mehrere Lagen Karton einen robust beschichteten Holzgegenstand an der Oberkante beschädigte, wegpolstern sollen? Ich frag lieber nicht, sondern suche eine seriöse Spedition.

Wordpress Backend JavaScript issues after migration

Januar 15th, 2017

I ported a Wordpress Network from a live environment to a local one for development. The backend was unusable due to JavaScript errors like "uncaught typeerror cannot read property of undefined". .htaccess is fine, all necessary folders are writeable, all necessary domain changes in the database were made. I found that the issue was caused by the plugin ssl-insecure-content-fixer. The live environment uses SSL while the local one doesn't. Deactivating the plugin solved the problem.

Fun with R

Januar 10th, 2017
Fehler in persp.default(x = length, y = dictionarySize, z = replication,  : 
  invalid 'z' limits

In my case, the input data contained Inf values. I changed the input to not contain such values anymore. Another approach would be to use zlim and define the z limits manually.

In 1:length :
  numerischer Ausdruck hat 220 Elemente: nur erstes wird genutzt

I used the outer() function and applied it to a user function. My user function returns a scalar, but outer() expects a function returning a vector. The function Vectorize() does the job:

repFctVec <- Vectorize(replicationfct)
replication <- outer(length, dictionarySize, repFctVec)