- - - By CrazyStat - - -

22. August 2012

DHL / : Kundenservice nur noch Social?

Filed under: Uncategorized — Tags: , , , , , , — Christopher Kramer @ 12:59

Heute aus gegebenem Anlass mal ein Beitrag auf Deutsch und zu einem nicht so technischem Thema: Dem Kundenservice von DHL bzw. Kundenservice im Allgemeinen.

Vor 6 Wochen habe ich auf, dem Portal der DHL zum Paketversand und -empfang (Packstation etc.), versucht im Kundenbereich eine neue Anschrift zu hinterlegen. Dies scheiterte daran, dass stets die Fehlermeldung erschien, die Anschrift wäre ungültig. Ich versuchte “Straße” ausgeschrieben und abgekürzt, alles ohne Erfolg. Daraufhin kontaktierte ich DHL über das Kontaktformular  zu diesem Anliegen.

Nachdem 2 Wochen später noch keine Antwort kam, sendete ich erneut eine Anfrage über das Kontaktformular. Keine Antwort.

Nun, gestern versuchte ich dann mein Glück über Twitter: Ich sendet gestern Abend einen Tweet an @DHLPaket mit meinem Anliegen. Heute morgen erhielt ich die Antwort:

Bitte senden Sie uns Ihre neue Anschrift an zu. Wir kümmern uns darum.

Also sendete ich mein Anliegen mit neuer Anschrift und Postnummer an genannte Adresse. Und siehe da: Nur eine Stunde später erhielt ich eine E-Mail einer Mitarbeiterin des Packstation-Teams, dass meine Adresse geändert wäre, sowie eine automatische Mail des Systems, dass meine Daten verändert wurden.

Perfekt, aber warum nicht gleich so? Wird Kundenservice heute nur noch über Soziale Netzwerke ernst genommen, da man hier öffentlicher agiert und riskiert, vor vielen Twitter- oder Facebook-Nutzern als wenig kundenfreundlich dazustehen? Es mag sein, dass es sich hier um einen Einzelfall handelte, und das Kontaktformular normalerweise genauso schnell beantwortet wird. Ich habe nicht genug Erfahrung um mir darüber ein umfassendes Urteil zu erlauben. Trotzdem habe ich den Eindruck, dass Unternehmen immer mehr Mitarbeiter in die Social Media Abteilungen setzen und den traditionellen Kundenservice etwas vernachlässigen.

Hat jemand ähnliche Erfahrungen gemacht? Wie kontaktiert ihr den Kundenservice großer Unternehmen bei Problemen? Telefon, Mail oder soziale Netzwerke?

Ich würde mich sehr über weitere Erfahrungen freuen. Ich werde auf jeden Fall demnächst früher versuchen, den Kundenservice per Twitter zu kontaktieren, wenn auf anderem Weg keine Antwort kommt.

Edit: Ich habe auf Elschy’s Blog noch interessante andere Erfahrungen mit Kundenservice über Twitter gefunden.

Edit: Es gibt offenbar eine kostenlose Beschwerdenummer, über die man auch etwas erreicht: 0800 1 888 444 Vielen Dank an Thomas für das Kommentar.


Try my Open Source PHP visitor analytics script CrazyStat.

19. August 2012

MythTV: DVD playback does not work

Filed under: Linux — Tags: , , , , , , — Christopher Kramer @ 00:09

A colleague of mine who is currently setting up Mythbuntu (MythTV) as a media center PC contacted me today because he had a problem with DVD playback in MythTV. When selecting DVD-playback, just nothing happend.

I first asked him to make sure the DVD drive is working and the DVD can be mounted and he confirmed it works (you should check as well).

Then I asked him to launch MythTV from the console (e.g. in Gnome Terminal, run “mythfrontend”) and try to play the dvd and see whether an error message is logged in the terminal window. And in fact MythTV complained:

faild to open device at /dev/dvd

I asked him to send me the list of his devices using:

ls /dev

This showed up no device “dvd” (the dvbt-stick created a “dvb”-device, so not get confused with that). The dvd-device in fact had the name “dvd1”. So with this knowledge, the problem is easy to fix:

ln -s /dev/dvd1 /dev/dvd

So this creates a symbolic link so /dev/dvd1 can be accessed using /dev/dvd as well so MythTV is pleased.

Hope this helps some of you.


14. August 2012

MySQL: How to do a (simple/complex) CHECK CONSTRAINT?

Filed under: DBMS — Tags: , , , , , , , , , — Christopher Kramer @ 02:27

Another “badly-missing-feature”-post. I should create a category for that I guess…

Usually, you can add a constraint to a table in SQL with something like:

ALTER TABLE foo ADD CONSTRAINT my_constraint CHECK (bla<>0)

Some sites like w3school even tell you this is the syntax for it in MySQL. Well, I guess they have never tried this and not even read the manual. Well, you can execute it in MySQL without an error. But also without any effect whatsoever. I tried it in InnoDB (MySQL 5.5) and it did not check the constraint at all.

The MySQL manual says:

The CHECK clause is parsed but ignored by all storage engines

Hallelujah, MySQL is great. A bug request for that exists since 2004, so don’t expect it to be fixed soon…

So we go with a trigger instead. For constraints, we use a BEFORE trigger. So next thing I tried looked something like this:

CREATE TRIGGER check_my_constraint BEFORE UPDATE ON `foo`
     IF (NEW.bla=0)
     END IF; 

Should work, but doesn’t. Problem is that MySQL doesn’t like ROLLBACK here. Hallelujah, MySQL is great. So what worked in the end is sending an error signal:

CREATE TRIGGER check_my_constraint BEFORE UPDATE ON `foo`
     DECLARE msg varchar(255);
     IF (NEW.bla=0)
        SET msg = concat('Constraint my_constraint violated: bla must not be zero ', cast(new.bla as char));
        SIGNAL sqlstate '45000' SET message_text = msg;
     END IF; 

Thanks to Rui Da-Costa for the solution with the SIGNAL.

The cool thing about triggers is that you can do complex checks here. So I just used it for something like:

     NEW.ref2_id<>(SELECT `ref2_id` FROM `ref` WHERE `ref`.id=NEW.`ref_id`))

So that makes sure that ref_id is either null or it refers to a row in table `ref` with this id that has the same ref2_id as the table we are checking. So a more complex type of foreign key relationship.

Hope this helped somebody to get things solved more quickly. Don’t forget to add an INSERT trigger as well.

Another remark: Make sure you do not use semicolon as delimiter when using SQL/PL syntax. phpMyAdmin has an extra field to change the delimiter (below the textarea where you enter your SQL) for example.

7. August 2012

Flash on the Raspberry Pi

Filed under: Linux,Raspberry Pi — Tags: , , , , , , , , — Christopher Kramer @ 17:14

The Raspberry Pi is a cool tiny board with a ARM CPU and lots of interfaces like HDMI, USB and Ethernet that runs Linux and costs only about 30€. If you have not heard if it, you should have a look at it, it’s just a very cool gadget to play around with or build your own devices. I got mine about a month ago but unfortunately did not have a lot of time to play with it, but am doing a bit from time to time, so you might hear some more stuff about it soon.

That’s what (mine) looks like:

Lots of people say having flash on the raspberry pi would be cool but then others claim it’s impossible to realize. In the Raspberry Pi forum, user “Aux” writes:

There is absolutely no way of getting Flash for RasPi. Adobe is a closed-source developer and the only version they made for ARM CPUs is Android one which requires ARMv7 CPU with NEON extension. That makes RasPi unable to run it even if someone ports Android.

That’s a reasonable thought and I thought the same way. But then I talked to a friend of mine and he said “well, what about Gnash? Does it run on the raspberry Pi?”

And so I went straight home and installed Gnash on my Raspberry Pi. And it works 🙂

Opening Adobe’s Flash test page looks like this:

The red ball indicates that Flash is working.

So what is gnash? Well, this is what the Debian repository description says:

GNU Gnash is a free GPL’d SWF player. It runs as a standalone application on either the desktop or embedded devices, or may be used as a plugin for several popular browsers. It supports playing media from a disk or streaming over a network connection.

GNU Gnash is based on GameSWF and supports most SWF v7 features and some SWF v8 and v9. SWF v10 is not supported by GNU Gnash.

Included in the Gnash is an XML based messaging system, as specified in the SWF specification. This lets a SWF animation communicate over a TCP/IP socket, and parse the incoming XML message. This lets an animation be a remote control for other devices or applications.

As there is an ARM package of Gnash, it installs fine on Debian for the Raspberry Pi.

Here is how you install Gnash for Flash support in the browser:

sudo apt-get install iceweasel browser-plugin-gnash

So this will get you a Mozilla-based browser called iceweasel (just like Firefox) that plays Flash.

Well, this is the theory. Reality is that going to youtube with that and trying to play a movie is just a pain. It eats up the whole CPU and hangs for hours until the 5 minutes movie is through.

But simple Flash animations should work fine. Have a try and enjoy your raspberry Pi!

Note that I still used Debian Squeeze and not yet the special Raspbian distro that is reported to run faster. I will have a try with the new version soon to see whether Gnash works reasonably fast on the new version.