Moje wielkie bułgarskie wakacje

W zeszłym tygodniu wróciłem z wakacji w Bułgarii. Domyślam się, że grono osób zainteresowanych tym co robiłem na urlopie jest cokolwiek skromne, ale liczę, że komuś, kto zamierza skorzystać z usług serwisu wakacje.pl, biura podróży Summerelse lub po prostu wybiera się do hotelu Les Magnolias w Primorsku, kilka słów opinii na temat tychże może wydać się interesujące.

Czytaj dalej Moje wielkie bułgarskie wakacje

DotPay czy Don’t Pay?

Niemal tydzień temu, dokładnie w piątek 18 czerwca, natknąłem się na krótki artykuł, w którym redakcja Dziennika Internautów odpytuje prezesa DotPay S.A. na okoliczność problemów z ichnią usługą płatności online. Jednym z głównych zarzutów były opóźnienia w wypłatach pieniędzy. Niektórym klientom firma tak zalazła za skórę, że posunęli się do tworzenia brzydkich i smutnych filmików kanalizujących ich niezadowolenie.

Podczas lektury przypomniałem sobie, że nie tak dawno zlecałem wypłatę środków z konta DotPay i chyba ich jeszcze nie otrzymałem. Sprawdziłem historię wypłat i faktycznie – 1 czerwca zleciłem wypłatę, która jeszcze nie została zrealizowana. Wedle regulaminu wypłata środków dla osoby fizycznej powinna zostać wykonana w ciągu 10 dni roboczych czyli najpóźniej do 15 czerwca. Przez DotPay zarabiam raczej niewiele, te pieniądze nie są dla mnie kwestią życia i śmierci, więc w ramach reakcji ograniczyłem się do wysłania maila z prośbą o wyjaśnienie zaistniałej sytuacji.

Odpowiedzi na maila nie doczekałem się ani w piątek, ani w następny poniedziałek (20 czerwca), toteż postanowiłem wyjaśnić sprawę telefonicznie. Wbrew temu, na co skarżyli się niezadowoleni klienci DotPaya, udało mi się dodzwonić bez problemów. Miła pani potwierdziła, że moja wypłata jest opóźniona, ale niestety nie potrafiła powiedzieć dlaczego. Obiecała skierować sprawę do księgowości do wyjaśnienia.

Księgowość najwyraźniej nie kwapiła się do pracy, bo żadnych wyjaśnień nie otrzymałem. Dlatego w środę 22 czerwca zadzwoniłem do firmy po raz kolejny. Tym razem przez pierwsze kilka prób „wszyscy konsultanci byli zajęci”, ale w końcu się udało. Poinformowano mnie, że wypłata już została wykonana. Faktycznie, po ostatniej sesji przychodzącej w mBanku na koncie znalazłem przelew z DotPaya.

Dane przelewu w mBanku

Co ciekawe, w historii wypłat w DotPayu zlecenie wypłaty miało datę wykonania 15 czerwca.

historia wypłat

Problem rozwiązany, pieniądze są, ale choć daleki jestem od wieszania psów na DotPayu i na pewno nie będę tworzył szkalujących go filmików, to postawa firmy nie podoba mi się. Błędy i przeoczenia się zdarzają, nie byłoby problemu gdybym po pierwszym mailu otrzymał satysfakcjonującą odpowiedź. Niestety nie dość, że do dziś jej nie otrzymałem, to jeszcze dwukrotnie musiałem do nich dzwonić. Nie podoba mi się antydatowanie zlecenia wypłaty, na pewno byłby to problem przy składaniu reklamacji („no ale ococho, przecież w systemie wszystko się zgadza”). Nie podoba mi się, że pan prezes mówi, że wszystko jest ok, kiedy nie jest. W ten sposób DotPay podkopuje fundament swojego biznesu jakim jest zaufanie. Bez zaufania nikt nie zechce powierzyć im swoich pieniędzy.

Zapiski wpierdalacza: Domino’s Pizza

Z tego co wyczytałem sieć Domino’s Pizza dopiero wchodzi do Polski, otwarty w ubiegłą środę lokal w centrum Warszawy jest drugim w naszym kraju. Tak się składa, że tenże lokal mam tuż koło domu, zatem w ramach dopieszczania wpierdalacza postanowiłem go przetestować, tym chętniej, że z okazji otwarcia Domino’s kusi szaloną promocją – 21,90 zł za dowolną dużą pizzę.

Dokonałem kontrolowanego zakupu dużej Extravaganzzy i Texas BBQ czyli dwóch z najbardziej wypasionych pizz z menu Domino’s. Na tej pierwszej znajdują się cebula, papryka, pieczarki, kiełbasa pepperoni, szynka, wieprzowina, wołowina, czarne oliwki i dodatkowy ser mozzarella. Ta pizza jest dość podobna do Super Supreme z Pizza Hut. W ekstrawaganckiej pizzy Domino’s podobało mi się to, że nie pożałowano składników, większość z nich sypnięto hojnie, nie trzeba ich było szukać uzbrojonym okiem, jak to czasami bywa w Dominium. Wyjątkiem była wołowina, w porównaniu do innych składników było jej malutko. Nie do końca podeszła mi kiełbasa pepperoni, wyglądała i smakowała bardziej jak krakowska, na pewno nie było to pepperoni widoczne na zdjęciach w ulotce. Ciasto było grube, ładnie wypieczone i chrupiące. Całość bardzo mi smakowała, choć Super Supreme jednak minimalnie wygrywa.

Z kolei Texas BBQ (sos barbeque, wędzony boczek, pieczony kurczak, cebula, papryka) można porównać do Texas z Pizzy Hut. Tym razem jednak palma pierwszeństwa należy się Domino’s. Ich pizza zdawała się bogatsza w smaku, w szczególności sos barbeque wydał mi się smaczniejszy. Tu również nie pożałowano żadnego ze składników, co pozwala mieć nadzieję, że to reguła w Domino’s. Grube ciasto bardzo ładnie pasowało do składników, a całość smakowała mi nawet bardziej niż Extravaganzza, om nom nom.

Nie podeszły mi sosy. Dodawany do każdej pizzy sos czosnkowo-ziołowy smakował jak sos do kiepskiego kebaba, miał jakiś taki posmak rozwodnionego majonezu. Pomidorowy był lepszy, ale też smakował sztucznie. Oba sosy były dostarczone w dawkach homeopatycznych, jeden pojemniczek wystarczył na skromne doprawienie połówki dużej pizzy.

Pierwsze spotkanie z Domino’s Pizza uważam za udane, obie zamówione pizze były smaczne, trzy osoby dokonujące testowej konsumpcji najadły się pod korek i jeszcze dwa kawałki zostały. Pod względem smaku, jakości i ilości składników pizza Domino’s na tle innych sieciówek przypadła mi do smaku bardziej niż Da Grasso i Dominium; z Pizza Hut powiedzmy, że remisuje.

W ujęciu ekonomicznym pizza Domino’s w szalonej promocji wypada obłędnie atrakcyjnie: za 21,90 zł dwie osoby mogą się godnie nażreć. Cennikowe 44,90 zł prezentuje się mniej apetycznie, więc „opłacalność” Domino’s zależeć będzie od przyszłych promocji.

Warto jeszcze dodać, że Domino’s Pizza faktycznie jest szybka. Pizzę zamówiłem w lokalu i rzeczywiście otrzymałem ją w obiecane 12 minut, w dostawie pewnie też najpewniej otrzymałbym ją szybciej niż obiecywane 30 minut. W internetach wyczytałem, że swego czasu Domino’s nawet gwarantowało dostawę w 30 minut, ale zrezygnowali z tego po kilku wypadkach, które sprawiły, że generał publiczny przypiął ich dostawcom etykietkę „szybkich i wściekłych”. Było nawet kilka wypadków i odszkodowań z tego tytułu. My również prawie się na takowe załapaliśmy, skręcający na skrzyżowaniu dostawca na skuterze prawie władował nam się pod koła.

Wygodniejsze logowanie przez SSH

Logowanie przez SSH może być upierdliwe, zwłaszcza jeśli serwery są dostępne tylko przez IP lub przez długą domenę, a SSH działa na niestandardowym porcie. Mam pod swoją opieką kilka takich serwerów i spamiętanie adresów i portów nie bardzo mi szło. Swego czasu ułatwiałem sobie życie przez dodawanie adresów do pliku /etc/hosts, ale to niezbyt sensowne rozwiązanie. Jest lepsze, które odkryłem przy lekturze podręcznika ssh.

W pliku ~/.ssh/config można zdefiniować sobie parametry dostępu do poszczególnych hostów. Wygląda to tak:

Host challenger
  HostName challenger.femina.com.pl

Host bigtruck
  HostName s74.vdl.pl
  Port 59184
  User bigtruck

Dzięki temu żeby zalogować się na serwer bigtruck zamiast wpisywać:

ssh -p 59184 bigtruck@s74.vdl.pl

wystarczy:

ssh bigtruck

Dodatkową zaletą jest to, że na serwery wpisane w konfigurację ssh działa automatyczne uzupełnianie, więc w powyższym przykładzie wystarczy wklepać tylko pierwsze litery nazwy, a potem tab.

Pozostaje kwestia haseł. Temat autoryzacji przez klucze jest opisany w różnych HOWTO milion razy, ale w większości wypadków przepis zaleca ręczne skopiowanie pliku w odpowiednie miejsce na docelowym serwerze. Można prościej:

ssh-copy-id bigtruck

Dzięki tym dwóm zabiegom logowanie przez SSH jest szybkie jak mrugnięcie okiem i proste jak konstrukcja cepa.

VV Brown czyli o pożytku z oglądania kiepskich filmów

Lubię oglądać różne filmy, nawet te kiepskie. „Dobre złe filmy” bywają zabawne w swej miernocie, ale nie da się ukryć, że poza śmiechawką nie można wiele z nich wynieść. Ale zdarzają się wyjątki. Takim wyjątkiem jest „Lesbian Vampire Killers”. Mocarny tytuł obiecuje dobrą zabawę, ale niestety film jest cienki jak guma w gaciach. Jego największą zaletą są napisy początkowe, bo właśnie tam po raz pierwszy usłyszałem VV Brown, a konkretnie piosenkę „Crying Blood”.

Po mojemu to jest zajefajne pod każdym względem: VV ma świetny głos, muzyka to, poprawcie mnie jeśli pomyliłem style, to świeże połączenie rock and rolla, twista i popu, teledysk takoż łączy nowe ze starym, a przede wszystkim piosenka strasznie wpada w ucho.

Pudelki, Plotki, MTV, Vivę, RMF-y, Eski i takie tam przyjmuję w dawkach homeopatycznych, ale nigdzie w polskich mediach nie natknąłem się na choćby wzmiankę o VV Brown, więc chyba nie pomylę się, jeśli napiszę, że nie jest u nas znana. Jeśli jej nie znacie to warto poznać, bo to nie jest gwiazda jednej piosenki. Zobaczcie choćby „Game Over”, trudno by mi było zdecydować, która z tych dwóch piosenek jest bardziej zajebista.

Frycowe na raty

Naiwnego internautę można wydoić z kasy na różne sposoby. Jednym z łatwiejszych jest skłonienie go do rozwiązania bzdurnego testu, a za pokazanie wyników kazać sobie płacić 60 zeta w SMS-ach premium.

Naiwnego internautę można wydoić z kasy na różne sposoby. Jednym z łatwiejszych jest skłonienie go do rozwiązania bzdurnego testu, a za pokazanie wyników kazać sobie płacić 60 zeta w SMS-ach premium.

Przedwczoraj dostałem propozycję reklamowania na anime.com.pl strony pozwalającej poznać datę własnej śmierci. Zanim spuściłem ich na bambus dla porządku zajrzałem na ową stronę. Jakież było moje zdziwienie, gdy w regulaminie przeczytałem, że poznanie wyniku testu wymaga wysłania SMS-a, który kosztuje tyle co zwykły SMS w ofercie naszego operatora. Pomyłka? Promocja? Większy wałek? Na jasne, że większy wałek! Wyjaśnienie przynosi czwarty punkt regulaminu, który pozwoliłem sobie przytoczyć poniżej (pisownia oryginalna, wyróżnienia moje):

Wysłanie sms o treści START ZYCIE na numer 60128 oznacza zapisanie się na serwis typu SMS MT (Mobile Terminated). Urzytkownik będzie otrzymywał jedną wiadomość sms dziennie. Całkowity koszt odebrania jednej wiadomości sms z serwisu MT ZYCIE to 1,23PLN. Regulamin serwisu jest dostępny na stronie http://www.wapster.pl/Regulamin_SMS_MT.pdf.

Oznacza to, że opłata za bycie frajerem została rozłożona na wygodne raty 0%. Jeśli nasz hipotetyczny frajer wykaże odrobinę zdrowej nieufności, ma szansę zapłacić tylko kilka złotych frycowego. Jeśli jednak przyjmie przychodzące SMS-y za dobrą monetę, to dopiero przy płaceniu rachunku zobaczy w co się wpakował, a do tego czasu będzie uboższy o kilkadziesiąt złotych. Jest to ten sam mechanizm, co w głośnych ostatnimi czasy złodziejskich loteriach Ery i Orange, przy czym w loterii przynajmniej istniała jakaś szansa na wygranie interesujących nagród, zaś w opisywanym przypadku dostaniemy wyssaną z dupy datę śmierci i codzienną dawkę nie wartych funta kłaków porad zdrowotnych.

Mam nadzieję, że powyższy wywód skutecznie przestrzegł was przed pokusą poznania daty własnej śmierci. Jeśli już damy się złapać w sidła naciągaczy, trudno się z nich wydostać. Taki komunikat zobaczyłem przy próbie zamknięcia zakładki z testem:

data śmierci

/var/lock i /var/run w RAM-ie na Debianie

Na co dzień mam do czynienia z Debianem, Gentoo i Ubuntu. W tych dwóch ostatnich systemach katalogi /var/lock i /var/run zamontowane są na ramdysku. Ma to sporo sensu ponieważ do tych katalogów dość często zapisywane są małe pliczki, a dane są ulotne (po resecie i tak tracą znaczenie). Dzięki przeniesieniu tych danych do RAM-u oszczędzamy mechanikę dysku, miejsce, a i pewnie trochę przyspieszamy działanie systemu.

Debian prezentuje bardziej konserwatywne podejście, wspomniane katalogi są tworzone w głównym katalogu. Na szczęście przeniesienie ich do RAM-u sprowadza się do zmiany dwóch linijek w pliku /etc/default/rcS:

TMPTIME=0
SULOGIN=no
DELAYLOGIN=no
UTC=yes
VERBOSE=no
FSCKFIX=no
RAMRUN=yes
RAMLOCK=yes

Zmienione linijki pogrubiłem. Po wykonaniu tych zmian trzeba wykonać reset i voila:

System plików         rozm. użyte dost. %uż. zamont. na
/dev/mapper/gt500-root
                      7,4G  1,6G  5,5G  23% /
tmpfs                 999M     0  999M   0% /lib/init/rw
varrun                999M  420K  998M   1% /var/run
varlock               999M     0  999M   0% /var/lock
udev                  994M  160K  993M   1% /dev
tmpfs                 999M     0  999M   0% /dev/shm
/dev/sda1              89M   16M   69M  19% /boot
/dev/mapper/gt500-home
                      104G   17G   88G  16% /home

Jak wyczytałem w dokumentacji Debiana, niektóre starsze programy źle działają jeśli /var/lock i /var/run nie są obecne na dysku. Na moim serwerku mam sporo softu (m.in. Apache, MySQL, PostgreSQL, Exim, ProFTPd, memcached) i nie zauważyłem żadnych problemów. Dlatego zgaduję, że w większości instalacji Debiana, zarówno desktopowych jak i serwerowych, warto pokusić się o wykonanie omawianej zmiany.

Doctrine Query Cache w Symfony

Dzisiaj o odkrywaniu Ameryki w konserwie. Właśnie takie miałem wrażenie, gdy dłubiąc w projekcie trafiłem na rozdział na temat cache w dokumentacji Doctrine. Wcześniej tam nie trafiłem, bo całe keszowanie robiłem w Symfony – wszak do pamięci podręcznej najlepiej wrzucać efekt końcowy. Dodatkowo w dokumentacji Symfony nie rzuciło mi się w oczy nic na temat cacheowania w Doctrine.

Nie zamierzam streszczać dokumentacji Doctrine. W kontekście tej notki ważne jest, że Doctrine może zapamiętywać w cache dwa rodzaje danych:

  • skompilowane zapytania
  • wyniki zapytań

Dzięki zapamiętywaniu zapytań czasochłonny proces parsowania zapytania i budowania docelowej SQL-ki jest wykonywany tylko raz, kolejne wywołania będą korzystać z danych zapamiętanych w pamięci podręcznej. Problem aktualności danych w cache nie istnieje ponieważ zmiana zapytania spowoduje automatyczne wygenerowanie nowych danych. Korzyści są niebagatelne, użycie proste jak konstrukcja cepa, a problemów nie ma. Dlatego zgodnie z dokumentacją i zdrowym rozsądkiem, pamięć podręczna zapytań powinna być zawsze włączona, nawet w środowisku testowym.

Włączenie cache dla Doctrine w projekcie Symfony jest banalne i sprowadza się do dodania króciutkiej metody w klasie config/ProjectConfiguration.class.php.

public function configureDoctrine(Doctrine_Manager $manager)
{
    $manager->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE, new Doctrine_Cache_Apc());
}

Powyższy kod spowoduje, że skompilowane zapytania będą zapamiętywane w pamięci APC. Oprócz APC Doctrine może współpracować z serwerem memcached lub inną bazą danych (np. SQLite).

Cache można włączyć nie tylko na poziomie managera, równie dobrze można zrobić to w samym zapytaniu:

$q = Doctrine_Query::create()
    ->useQueryCache(new Doctrine_Cache_Apc());

Jak wspomniałem wcześniej, pamięć podręczna zapytań powinna być włączona zawsze. Na poziomie konkretnego zapytania więcej sensu ma włączanie zapamiętywania wyników:

$q = Doctrine_Query::create()
    ->useResultCache(new Doctrine_Cache_Apc());

Wymiatacze z TVN-u

Irytuje mnie postawa „Polak potrafi… spierdolić”, która często pojawia się w dyskusjach na temat różnorakich dokonań Polaków. Jednak gdy widzę coś takiego, jak „Wymiatacze” to zaczynam wierzyć, że coś jest na rzeczy.

W tym miejscu należy się wyjaśnienie. Dawno temu japoński teleturniej „Takeshi’s Castle” zauroczył mnie od pierwszych sekund. Ponieważ jeden obraz mówi więcej niż tysiąc słów posłużmy się dowodem rzeczowym numer jeden:

Czytaj dalej Wymiatacze z TVN-u

Bidet

Ta notka będzie stanowić dla mnie katharsis i to w sensie dosłownym, gdyż rzecz będzie o oczyszczeniu, jednak nie duszy. Z niejakim zażenowaniem muszę przyznać, że dopiero niedawno poznałem funkcję bidetu. Wcześniej przez długie lata sądziłem, że służy on do mycia nóg. Z błędu wyprowadziła mnie moja ukochana, a śmiechu było co niemiara.

Laughs have been had i w tym miejscu można by postawić kropkę, ale zacząłem zastanawiać się skąd wzięły się moje wyobrażenia o funkcji bidetu i jakim sposobem przez blisko trzydzieści lat brutalna prawda nie zdołała się przebić przez mury mej ignorancji. Uzupełniając wspomnienia domysłami wyszło mi, że po raz pierwszy z bidetem spotkałem się na zdjęciu, zapewne w jakimś katalogu wyposażenia łazienek, a miałem wtedy lat małonaście. Ponieważ z kontekstu w którym zdjęcie występowało nijak nie wynikała funkcja tego urządzenia, więc musiałem dorobić sobie własną interpretację na podstawie doświadczeń. Z doświadczenia zaś wiedziałem, że jeśli chce się dokonać szybkiej ablucji to niewygodnie jest zadzierać nogę do umywalki. Logicznym remedium na te niedogodności zdawało mi się urządzenie z bieżącą wodą wysokości mniej więcej klopa. Wypisz, wymaluj bidet. Logiczne, nie?

Teraz zastanawiam się ile jeszcze takich bidetów kryje mój leksykon.

W ramach post scriptum bidet z tubki.