Gorzkie żale: Customer service twoja mać

  2017-05-23 20:08:14

Zbieg dwóch nieszczęśliwych przypadków pozwolił mi ostatnio porównać sobie dwie filozofie obsługi roszczeń reklamacyjnych klienta. Na własny użytek nazwę je filozofiami:

  • z uśmiechem do klienta
  • dupą do klienta.

Z uśmiechem do klienta

Do krainy wiecznych terabajtów odszedł mój 2.5-letni dysk SSD marki SanDisk.

Godzinę po wyzionięciu ducha przez dysk, jego zdjęcie i jedno zdanie opisu problemu wrzuciłem na stronę SanDiska, a już niecałe 15 godzin później odebrałem telefon od sympatycznego Hindusa dzwoniącego w imieniu producenta. Pan Hindus przeprosił mnie w imieniu firmy za to, że dysk się popsuł i poinformował, że bardzo chętnie wymienią mi ten dysk na nowy - o ile zgodzę się na przyjęcie modelu dwa razy szybszego i dwa razy pojemniejszego, gdyż konkretnie takiego, jak ten mój, już nie produkują.

5 minut później dostałem mejla z naklejką z wzorem adresownika na opłaconą już przesyłkę UPS'ową abym mógł odesłać im zepsuty dysk. Nowy dysk jest w drodze do mnie.

Dupą do klienta

Jakiś czas temu kupiłem samochodowy rejestrator video.

Użyty został zaledwie kilka razy zanim gniazdo zasilania (micro USB) po prostu wpadło do środka obudowy.

Cała procedura reklamacji przez sklep zajęła około miesiąca. Zajęłaby dłużej gdybym wciąż czekał na obiecanego SMS'a z informacją kiedy mam się stawić po odbiór sprzętu. Serwis po otrzymaniu towaru od razu odpowiedział, że uszkodzenie powstało z mojej winy.

Serwis się na mnie wypiął więc postanowiłem naprawić kamerkę sam. Po wstępnych oględzinach zwróconego sprzętu wiedziałem już czemu zawdzięczam tak szybką odpowiedź serwisu. Fabryczna naklejka gwarancyjna tkwiła nietknięta dokładnie w tym samym miejscu, w którym widziałem ją przed oddaniem sprzętu, a więc nikomu w serwisie nie chciało się zajrzeć do środka obudowy.

Po otwarciu ukazał mi się taki oto widok:

fuckup

Jeden z kabelków akumulatora dyndał sobie w powietrzu - pewnie dlatego kamerka nie zawsze chciała działać niepodłączona do zasilania. Gniazdo micro USB natomiast, do płytki przymocowane było termoglutem! No kurwa brawo! Świetna jakość wykonania jak na sprzęt za ponad 3 stówy.

Jakby tego było mało, okazało się, że po wizycie w serwisie, działający dotąd przycisk włączania/wyłączania przestał działać - zupełnie jakby został zmiażdżony.

Wnioski

Śmiejemy się z Amerykanów, że nie umieją liczyć, nie wiedzą, że Europa to nie kraj, i że są tłuści jak matka Gilberta Grape'a... ale dwóch rzeczy moglibyśmy się kuźwa w końcu od nich nauczyć: udźwiękowiania filmów i obsługi klienta!

Skomentuj....

Sortowanie zdjęć po czasie

  2012-02-19 21:00:00

Mały błąd na etapie przygotowań zdjęć do zrobienia timelapse spowodował, że z ładnie posortowanych zdjęć otrzymałem zbiór kilku tysięcy losowo ułożonych fotek. Niestety była to moja jedyna kopia tych zdjęć.

Na szczęście zachowały się w nich tagi EXIF, a w nich dokładny czas zrobienia zdjęcia.

Pewnie istnieje jakiś gotowy program do takich celów ale niespecjalnie chciało mi się go szukać. Wystarczyło 19 linijek Pythona (pewnie dałoby się krócej :)).

Może się komuś przyda:

import pyexiv2,os,time,datetime,shutil

def getImageDate(imgfile):
    meta = pyexiv2.ImageMetadata(imgfile)
    meta.read()
    t = time.strptime(meta['Exif.Photo.DateTimeOriginal'].raw_value, "%Y:%m:%d %H:%M:%S")
    return datetime.datetime(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)

map = {}
for img in os.listdir('.'):
    map[img] = getImageDate(img)

files = map.keys()
filesSorted = sorted(files, key=map.__getitem__)

for num, name in enumerate(filesSorted, start=1):
    shutil.move(name, "sorted%04d.jpg" % (num))

Skomentuj....

gaffitter + dvdisaster = całkiem niezły backup

  2010-02-16 20:00:00

Z racji niemiłych doświadczeń z dyskami twardymi, które zwykły mi padać w najmniej oczekiwanych momentach przyłożyłem się bardziej do tematu backupu danych i pomyślałem, że warto podzielić się doświadczeniami. Może komuś się przyda :-)

Na początek zamontowałem RAID‘a 1. Ponieważ jednak żaden RAID nie zabezpieczy mi danych np. przed kradzieżą czy pożarem, postanowiłem usprawnić trochę procedurę backupu na płytkach DVD (w przyszłości BD), które traktuję jako żelazne zabezpieczenie właśnie na wypadek “kataklizmu”.

Jako, że nie planuję backup'owych płytek na co dzień używać, pominąłem całkowicie zagadnienie ich katalogowania. Zabezpieczane dane to w moim przypadku tylko zdjęcia więc cała operacja sprowadzała się do odpowiedniego wypalenia płytek. Pozostały więc problemy: optymalnego wykorzystania pojemności płyty oraz zabezpieczenia jej przed błędami odczytu.

Optymalne wykorzystanie miejsca

... czyli nic innego jak tzw. problem plecakowy. Z lekkim uczuciem wstydu przyznam, że zmarnowałem trochę czasu na próbach samodzielnej implementacji rozwiązania tego problemu ale na szczęście szybko pod myszkę wpadł mi gaffitter, który wybawił mnie z opresji :).

Zabezpieczenie przed błędami odczytu

Tu już nawet nie próbowałem kombinować na własną rękę - skorzystałem z poleconego dvdistaster'a.

Jak to działa?

Gdy już mamy potrzebne narzędzia możemy wziąć się do roboty. Zaczynamy od końca czyli od płytki. Znajdujemy właściwy rozmiar naszej płytki i wyznaczamy 80% tej wartości. 20% przeznaczone będzie na nadmiarowe dane naprawcze (Tak zaleca autor dvdisaster'a). W moim przypadku było to: 4707319808B → 3765855846B

Następnie:

  • używając gaffitter'a wyznaczamy zestaw danych optymalnie wypełniających zadaną pojemność:

    gaffitter -b -t 3765855846 /katalog/z/danymi
    
  • Wybrany zestaw danych zamieniamy na obraz ISO przy pomocy mkisofs:

    mkisofs -o dvd.iso /katalog/z/zestawem
    
  • otrzymany plik iso wzbogacamy o dane naprawcze(żadne dodatkowe pliki nie zostaną dodane do obrazu płyty):

    dvdisaster -c -mRS02 -i dvd.iso
    

Na końcu otrzymujemy plik ISO z gotowym do wypalania obrazem płyty. Obraz wypalamy i cieszymy się zabezpieczoną płytką :-). Wszystko oczywiście można też wyklikać, ale podejście konsolowe daje możliwość sporej automatyzacji.

Teścik

Oczywiście nie mogłem sobie odmówić przyjemności przetestowania skuteczności tego zabezpieczenia. Test nie był zbyt subtelny, po prostu porysowałem zabezpieczoną płytkę śrubokrętem i spróbowałem ją odczytać.

Płytka wyglądała tak:

obrazek

Płytka po spotkaniu ze śrubokrętem

Tak wyglądał proces jej odczytu (na czerwono zaznaczone sektory płyty, których nie dało się odzyskać:

obrazek

dvdisaster

Efektem dość długiego odczytu był obraz iso uszkodzonej płyty. Wystarczyło jedno kliknięcie (lub polecenie) w dvdisasterze i w automagiczny sposób obraz płyty wracał do stanu idealnego:

obrazek

dvdisaster

Oryginalny obraz:

md5:3caeebc8dcfff53940eb2ad3a00b325b

Obraz płyty uszkodzonej:

md5:758d5ae26de7f6c5159856ea5600a087

Obraz po naprawie:

md5:3caeebc8dcfff53940eb2ad3a00b325b

I to by było na tyle. Myślę, że warto poświęcić te 10 dodatkowych minut i 20% pojemności płyty dla zwiększenia bezpieczeństwa wypalanych danych. Powodzenia w backupowaniu.

Skomentuj....