Wednesday, August 13, 2008

Pylons - raport z pola walki

Od kilku dni (tygodnia) piszę pewną aplikację w Pylons. Myślę, że to dobry moment (choć pewnie - to nie wszystkie przygody jakie mnie czekają), żeby opisać co i jak.

Po pierwsze szalenie podoba mi się python. Kod pisze się szybko, zgrabnie. Jak się na to wszystko patrzy - to nawet mniej jakoś tego kodu się wydaje - i dobrze :] Tak powinno być.

Jak pisałem wcześniej Pylons używa zewnętrznych, istniejących w oderwaniu od projektu rozwiązań, do najróżniejszych zadań. Bardzo mi się to osobiście podoba :) i wpływa pozytywnie, moim zdaniem, na cały projekt.

FormEncode - świetne rozwiązanie do walidacji formularzy. Lepiej bym sobie tego sam nie zaplanował. Bardzo rozbudowane. Szkoda, tylko, że w pythonsbook są błędy - które wyłapałem dopiero po zajrzeniu w kod źródłowy wyżej wspomnianej biblioteki. Do tej pory na przykład nie wiem zmienić treść domyślnych komunikatów - dla wszystkich pól jednym pociągnięciem nie wprowadzając jej w każdym z osobna bez robienia własnego validatora (a o ile rozumiem z pylonsbook jest to możliwe).

W ogóle muszę przyznać, że jestem mile zaskoczony tym iż w ogóle istnieje coś takiego jak pylons book.

Kolejna rzecz - jeżeli chodzi o opis ustawiania kodowania w SQLAlchemy - to dokumentacja Pylons ... nawet nie - nie powiadamia nas o tym, ale bezczelnie wyprowadza nas w pole. Przydałaby się tutaj, z racji czystej żetelności, aktualizacja i uświadomienie użytkowników.

No i jak przy kodowaniu jesteśmy to niestety - python ze swoim unicode w wersji 2 sprawia same problemy. Używanie znaczków polskich w templatach, czy w kodzie - powoduje nie lada problemy w bibliotekach ... i nie zawsze udaje się je ominąć, czy załatwić sprawę w kontrolerze. Tak np. jeżeli użyjemy w FormEncode polskich znaczków w którejś wartości "GetOne" - to po wybraniu jej w formularzu zostaniemy poczęstowni błędem o niemożności odkowania symbolu.

Mam nadzieję, że zmiany na poziomie języka w Python 3000 jakoś to załatają ... bo obecnie moim zdaniem - stan jest opłakany.

Co do wcześniej wspomnianych komunikatów - o ile nie znajdę w źródłach FormEncode metody to da się to bodajże załatwić (mam nadzieję, że tak) poprzez i18n ... i tak zamierzam to zrealizować - jest to jakieś rozwiązanie :)

Hmm - co więcej. W Pylons brakuje mi czegoś co pozwalałoby zmienić nazwę kontrolera, ale to tylko taka moja fanaberia (często zmieniam zdanie co do tego jak coś powinno się nazywać ... i po prostu by mi się przydało)

O co do SQLAlchemy i fillhtml. Metody używania SQLAlchemy opisane w Docs Pylons zwracają obiekty danego typu - zaś do fillhtml przydają się słowniki na przykład.... Tutaj fajnie było wpaść do pomysł zaimplementowania udawania przez klasę danego modelu słownika - i przekonwertowanie jej na słownik. Zadziałało i powiem szczerze, że jestem z tego szalenie dumny :)

Jednak zaniepokoiła mnie pewna sprawa. Otóż mój klucz główny w tabeli wcale nie nazyw się "id" i na jakiś czas "magicznie" metoda "get()" przestała mi zwracać wartości z tabeli - ciekaw jestem czy to ma jakiś wpływ... mam nadzieję, że to był jakiś mój błąd a nie przypadek. Głupio by było gdybya aplikacja przestawała losowo działać.

Dziś myszkując po internecie na blogu Zabiello znalazłem informację, że Jego zdaniem Merb-a jest jakby prościej się nauczyć od Pylons bo jest prostrzy. Z mojego punktu widzenia - łatwiej się nauczyć tego co posiada lepszą dokumentację ... Pylons opanowuję sobie spokojnie... w swoim tempie, natomiast w Merbie to jest dla mnie mega - zgaduj zgadula (przynajmniej bez dokumentacji - bo chyba takiej "dla ludzi" brak).

Martwi być może tylko, że czasami projekty, z których korzysta Pylons nie są często od dawna wydawane. Ciekawe czy są porzucone, czy "ukończone" i co się stanie kiedy znajdzie się w nich błąd. Wierzmy, że wszystko będzie dobrze :)

Dziś pozytywnie zaskoczył mnie nawet python, w którym z pomocą kolegi napisałem niskopoziomowy wrapper procesów z pipem komunikującym się na 3 i 4 deskryptorze - coś czego w rubym nie udało mi się napisać jeszcze jakiś czas temu (dzięki Łukasz !).

Podsumowując - wszystko na plus ! Uaktualnijcie tylko dokumentację tak aby nie robić ludzi w konia, poprawcie błędy w pylonsbook, zróbcie coś z tym unicode i cacy :)

Monday, August 11, 2008

IVONA i Skype

Jakiś czas temu używałem IVONY, potem zdobyła chyba jakieś wyróżnienie, więc było o niej głośno, następnie dowiedziałem się, że to projekt ludzi z Politechniki Gdańskiej (o ile dobrze pamiętam) - stała mi się więc bardzo bliska jako oprogramowanie.
Któregoś razu zobaczyłem jak korzysta się z niej na komputerze. Dla mnie do tej pory stanowiła wyłącznie zabawkę jednak ciekawa rzecz - osobom mającym problemy z czytaniem czy niedowidzącym IVONA w komputerze ratuje życie. Jest po prostu świetna :]
Po obejrzeniu tego filmiku byłem po prostu urzeczony. Moim zdaniem pomysł jest świetny ! Pierwszy raz zacząłem żałować, że nie mam IVONY - fajna rzecz :] czuję w końcu ten powiew XXI wieku :)

Memento - Turk Telecom

Jakiś czas temu zmagaliśmy się w Matriksie z Turk Telecom :) I proszę bardzo :] w jakim charakterze dowiadujemy się o nim ponownie: http://di.com.pl/news/22884,1,0,Rosja_i_Gruzja_walcza_takze_w_internecie.html

Niby usunięte pliki po KDE4

Po usunięciu części paczek, które zainstalowały się w moim systemie podczas próby przesiadki na KDE4 zauważyłem, że z jakiś przyczyn nadal siedzi u mnie pliczek /etc/init.d/kdm-kde4. No cóż. Paczuszka kdm-kde4 została usunięta (tak twierdził synpatic) - więc skąd to się wzięło. Aby sprawdzić do jakiego pakietu należy ten dziwoląg wpisałem sobie na prędce:
dpkg -S /etc/init.d/kdm-kde4
Okazało się, że to jednak (usunięty) pakiet kdm-kde4. Po zaznaczeniu go do całkowitego usunięcia udało się go w końcu pozbyć. Ciekawa sprawa :)

Gdy coś się psuje w Ubuntu

Ostatnio zainstalowałem sobie próbnie KDE4. Niestety nie odpaliło się już po raz drugi a co gorsza ! wywaliło mi GDMa - musiałem wpisać startx z konsoli, żeby się dostać do Xów. Ratunkiem okazało się:
sudo dpkg-reconfigure gdm
I chyba jest to metoda działająca najlepiej na wszystkie bolączki :]

Friday, August 8, 2008

Pismo Święte - wyrazy, które mnie zaskoczyły

Ostatnio podczas czytania Pisma Świętego natrafiłem na wyrazy, które szalenie mnie zaskoczyły. Naprawdę nie spodziewałem się ich tam spotkać. Oto one: piecyk, piekarnik, kameleon, puszczyk, kormoran, łabędź, pelikan, ścierwik (ale chyba chodziło o ścierwnika), bocian, czapla, dudek.
Kto by pomyślał ?

Sunday, July 27, 2008

Kung Fu - Panda

Dziś wybrałem się do Kina - z kolegami ze szkolnej ławki. Nie widziałem ich szmat czasu. Przy okazji - dowiedziałem się od nich, i zjadłem pyszne naleśniki, gdzie jest naleśnikarnia we Włocławku. Kung Fu - Panda (padł orzeł, szkoda, bo na reszce był WALL-E) ... hmm - odstresowałem się. Tak ujmę film. Byliśmy my w trójkę w rzędzie H i jakieś dwie ekipy w ostatnim rzędzie - może jakieś 8-12 osób... Siedziało się fajnie, chłopaki się rozwalili na siedzeniach :| klimat był jednak fajny. Odprężyłem się. Nie wiedziałem czego się spodziewać, więc film mi się po prostu podobał jednak osobiście wychodzę z założenia - że dzisiaj nie da się trafić w kinie na totalną chałę.