I mamy kolejny rant nt. podejścia do klienta. Tym razem na tapecie merlin.pl.
Continue reading Frontem do klienta – merlin.pl (polish only)
I mamy kolejny rant nt. podejścia do klienta. Tym razem na tapecie merlin.pl.
Continue reading Frontem do klienta – merlin.pl (polish only)
Today, there was this one person on IRC, which asked question and provided some data. While working on helping him (her?), I noticed some things, that bugged me before in other cases, but this time i decided to write about it – it's kind of rant, and if you (the reader) are the person that I'm basing my example on – please do not feel “punished" – it just so happens, that you exhibited some things that make helping others more difficult than it could be – so: you're not special, although I would really prefer if you were 🙂
Continue reading What mistakes you can avoid when looking for help on IRC?
On May, 12ve, Bruce Momjian committed new contrib module for 9.0 – pg_upgrage.
As I understand – this is what was available before as pg-migrator.
If you're not familiar with it – it's a tool that allows upgrade of $PGDATA from some version to some version. What's the use case? Let's assume you have this 200GB database working as 8.3, and you'd like to go to 8.4 (or 9.0). Normal way is pg_dump + pg_restore – which will take some time. With pg-migrate/pg_upgrade it should be faster, and easier. So, let's play with it.
I got asked this: having this table:
# SELECT * FROM a ORDER BY d; t | d ---+---- O | 1 O | 2 O | 3 M | 4 M | 5 M | 6 M | 7 O | 8 O | 9 O | 10 I | 11 I | 12 I | 13 (13 ROWS)
Is it possible to add “rank" column, that will increment whenever t changed?
WWW powstało 20 lat temu. Od tamtej pory jest coraz więcej stron, e-commerce, web 2.0 i cokolwiek byś cobie nie wymarzył. Czemu więc jest tyle badziewia dookoła?
Stwierdziłem, że spiszę co mnie wkurza na webie (polskim) a potem za rok zobaczę czy coś się zmieniło.
Przykład – strona sklepu!!! która nie jest dostępna jeśli nie mam Flasha.
Kiedyś był to “mój" problem, bo używałem niszowego systemu i/lub nie chciałem mieć flasha. Ale teraz, z dobie gdy mamy iphone'y, ipady i masę innych rzeczy, czy naprawdę wymaga to takiej wielkiej roboty by zrobić serwis który da się obejrzeć?
Czemu mnie to wkurza: bo nie mogę wejść z iphone'a jak jadę samochodem i sprawdzić czy jeszcze są czynni. Bo nie mogę zrobić copy/paste adresu email ze strony, bo adres email jest częścią aplikacji flash, a z niej nie mogę kopiować. Bo lubię działające przyciski forward/back w przeglądarce.
Tu przykładów nie będzie – wejdźcie gdziekolwiek i spróbujcie coś kupić bez zakładania kolejnego bezużytecznego konta.
Nie chcę się rejestrować bo nie widzę potrzeby – płacę kartą i proszę o dostawę do domu. Czy muszą mieć mój email do tego? A do tego – jak często potrzebują też telefonu, komórki, itd? Po to by kupić książkę? Czy paczkę kawy?!
Jeśli ktoś twierdzi, że to po to bym mógł sprawdzić status zamówienia – nie pierdziel! Można wygenerować unikatowy url z tokenem, który sobie zbookmarkuję i sprawdzę gdy będę chciał. Albo podać email do potwierdzeń bez żadnej rejestracji i haseł!
To dopiero paranoja. Mam podać maila, ale nie może zawierać znaku “+". A co jak chcę by zawierał by mieć np. filtrowanie w gmailu?
Hitem dla mnie są tu jednak banki. Np. Citi. Na stronie jest napisane (mam citi w wersji angielskiej, ale site .pl):
“8-character minimum with at least 1 capital letter, 1 lower case letter and 1 digit, Can't have 2 of the same characters in a row"
Czyli hasło ‘Oto 1 Wiem, i pomnę doskona!e' jest ok. Tak? NIE!. Po próbie zmiany:
“# The password you entered doesn't meet all criteria. It must be at least 8 characters long and cannot have more than 2 consecutive identical characters. In addition, a password shouldn't begin or end with a space, and it can't be the same as, or similar to, your User ID or answer to security questions." (nie, nie jest podobne)
Przykład z BPH – hasło nie może zawierać 3 razy tego samego znaku – nawet nie pod rząd. Czyli odpada 99.9% bezpiecznych haseł bazujących na frazach, bo np. litera ‘a' w języku polskim występuje mocno często!
Inną bajką są ograniczenia na długość hasła – jakiś czas temu (teraz nie, ale nie wiem kiedy zmienili) w mBanku był limit na maksymalną długość hasła. I to nie limit typu “1500 znaków", tylko: 20. Dwadzieścia. Ja wiem, że nie każdy używa takich haseł, ale większość haseł frazowych jest dłuższa.
Standardem niestety są linki w stylu <a href="www.depesz.com">cokolwiek</a> – hint – bez http:// z przodu to nie zadziała poprawnie. Tu zwłaszcza “pozdrawiam" ekipę od newsletterów Blue City i ich alternatywną metodę popsucia linków:
<a href="\"http://www.summershoes.pl\"">www.summershoes.pl</a>
Już nie wspominając o tym, że w momencie jak ten newsletter dostałem ta strona nie istniała tylko pokazywała stronę jakiegoś providera hostingu.
Tu nie mam pod ręką przykładu, ale spotkałem się wielokrotnie z tym, że nazwa firmy się nie mieści (34 znaki, i nie – to nie mój pomysł. Mój pomysł miał 15 znaków, ale prawo wymaga bym miał imię i nazwisko w nazwie firmy!).
Pewnym przykładem jest Allegro które ma limit na długość tytułu. Niby OK – ja rozumiem, że mogą nie chcieć by ktoś rozjechał layout tytułem na 1000 znaków. Tylko czemu kurde mają limit na liczbę bajtów a nie znaków?! Cytat:
Niektóre symbole liczą się jako więcej niż 1 znak. Tagi HTML nie są widoczne.
Hint: te symbole to wszystko to co w UTF-8 korzysta z 2 bajtów. Np. polskie znaki.
Co oznacza, de-facto premiowanie pisania bez polskich znaków. I ja rozumiem, że technicznie jest prościej zaimplementować byte_length() niż char_length() ale ten problem jest rozwiązywalny, są gotowe biblioteki i naprawdę, mamy 2010 i ktoś kto nie potrafi zrobić przechowywania/liczenia z polskimi znakami nie powinien zajmować się programowaniem.
Jeśli ktoś z was pracuje przy webserwisach – czy możecie podać jakiekolwiek uzasadnienie czemu tak a nie inaczej się robi?