Sunday, November 7, 2010

Pyramid - następca Pylons

Kilka dni temu Kevin J. Smith napisał na grupie dyskusyjnej pylons-discuss, że jako użytkownik Pylons, czuje się troszkę zmieszany ponieważ pierwszy raz trafia na informacje o Pyramid.

Szybko okazało się, że developerzy Pylons zaczęli pracować już nad następcą Pylons - jednak nie ogłosili tego światu. Tak oto przypadkiem świat dowiedział się o Pyramid.

O kierunkach jakie przyjmie Pylons 2.0 można było przeczytać już kilka tygodni temu na blogu Bena Bangerta we wpisie Why Extending Through Subclassing (a framework’s classes) is a Bad Idea. Było to preludium do kierunku jakim podąży Pylons 2.0 - a właściwie powinienem powiedzieć Pyramid.

Pierwsze - Pyramid "połączyło się" z zespołem repoze.bfg. Połączyło się, a raczej stwierdziło, że dotychczasowy model tworzenia kolejny aplikacji (poprzez tworzenie podklas WSGIController) jest ślepym zaułkiem - przed czym zostali ostrzeżeni przez sławę CherryPy Boba Brewera. Aby nie wymyślać koła na nowo obecnie Pylons tworzony jako adaptacja repoze.bfg. Tak zostało wydane ogłoszenie iż obecnie repoze.bfg staje się projektem Pyramid i będzie wydawane pod tą nazwą. Dwa fantastyczne zespoły połaczyły siły aby na bazie już dobrze ukształtowanego repoze.bfg oraz posiadającego swoich fanów Pylons powstał jeszcze lepszy framework dla języka Python.

Dzięki temu połączeniu, oraz faktowi iż kod Pyramid posiada dobrze ugruntowaną bazę w postaci kodu repoze.bfg już dziś możemy cieszyć się Pyramid 1.0a dostępnym przez Python Package Index.

Te informacje napawają optymizmem. Wszystko wskazuje na to, że następca Pylons wyjdzie szybciej niż ktokolwiek by się spodziewał i będzie to naprawdę fantastyczny framework. Oby w parze z postępami w kodzie pojawiały się artykuły, a dokumentacja rosła :) Nic tylko czekać na Pyramid Book :)

Sunday, October 17, 2010

PyCons

Tydzień po powrocie z polskiego PyCona zacząłem oglądać konferencje z konferencji pythonowych, które odbyły się w innych częściach świata. Fantastyczną nowiną jest fakt iż większość z nich zamieszcza nagrania wideo prelekcji (nie tylko slajdy) więc można po prostu wysłuchać i zobaczyć prelekcję - taką jaka była - w zaciszu własnego domu.

Tematy poruszane w różnych zakątkach świata są bardzo różne :) i dobrze. Można się naprawdę wiele nauczyć i wybrać sobie te tematy, które odpowiednio pasują do naszego obecnego poziomu lub po prostu zainteresował nas temat. Tutaj pierwsza uwaga.

Temat konferencji czasami kompletnie nic nie mówi o jej treści. To smutne, ale widzisz temat i nie wiesz - warto to w ogóle odpalać, czy lepiej odpuścić sobie. Bo co na przykład mówi tytuł "Dude, Where's My Database?". Na szczęście są (przy większości tematów) opisy mówiące o treści konferencji. Bezcenne.

Druga rzecz - jakość materiałów. Chyba najlepiej zorganizowane są na stronie PyCon Atlanta. Naprawdę super. Łatwy dostęp do wszystkiego. Natomiast materiały wideo z UK czy Europy są tragiczne. Co z tego, że mają nagranie wideo skoro ani nie słychać na nim prowadzącego wykład ani nie widać wyraźnie slajdów. Po prostu ... bezużyteczne.

Osobiście czytanie dokumentacji ze zrozumieniem przychodzi mi z trudnością i nigdy nie mogę wyłapać w niej niuansów i szczegółów implementacyjnych. Takie prelekcje są dla mnie jak znalazł. Głównie dlatego, że ludzie w nich skupiają się na tym co jest ważne, dają przykłady i pokazują "big picture", który czasem ciężko samemu dostrzec. Te trzy aspekty sprawiają, że takie konferencje to dla mnie kopania wiedzy :) Polecam każdemu!

Monday, October 11, 2010

Jak kupiłem mIRCa

Tak. Wczoraj zakupiłem mIRCa. Zapłaciłem $24 - te $4 to podatek z Polski. Dlaczego?
Na IRCu wiele nie siedzę. Natomiast zamierzam trochę więcej niż wcześniej aby wesprzeć społeczność PPCG choćby odpowiadając na pytania początkujących.

To nie jest tak, że nigdy wcześniej nie używałem IRCa. Jak byłem chyba jeszcze w podstawówce to pamiętam moją siostrę, która siedziała na jakiś kanałach i opowiadała o jakiś ludziach, którzy też tam siedzą - totalny bezsens. IRC - narzędzie dla zakompleksionych, dla których jedyną drogą przetrwania stała się akceptacja przez wirtualną społeczność. Tak to wtedy postrzegałem.

Potem trafiłem na książkę "Dziennik Hakera" albo coś podobnego gdzie było napisane, że Hakerzy też używają IRCa. No tak - też odludki - to sobie siedzą. Potem była jakaś era wchodzenia na czaty Onetu i wszelkiej różne inne, zakładanie własnych czatów przez jakieś skrypty i tak jakoś to bez refleksyjnie obok mnie przeszło.

Dla mnie IRC stał się czymś wartościowym kiedy odkryłem freenode - czyli sieć gdzie są wartościowe kanały dotyczące języków programowania, w których koduję. Wejść na kanał, zapytać o coś, dowiedzieć się więcej, wziąć udział w jakiejś dyskusji. Wtedy IRC stał się dla mnie czymś użytecznym.

Dlaczego mIRC? Chłopaki z PPCG rzucali setkami pomysłów, ale żaden nie wpadł na pomysł aby kupić mIRCa. Jest to jedyny klient, który mi się podoba. Naprawdę. Wiem, że jest Quassel i IRSSI i dużo innych klientów, ale żaden darmowy mi nie podpasował. mIRC to jedyne co mi się naprawdę spodobało.

Mam nadzieję, że kupno mIRCa będzie inwestycją, nie wyrzuconymi pieniędzmi w błoto :] Zobaczymy - czas pokaże.

Wednesday, October 6, 2010

I mamy Gallery 3

W końcu, po wielu latach ciężkiego developmentu doczekaliśmy się Gallery 3. Skrypt w wersji drugiej był niesamowicie wolny i nie poddawał się w niemal żaden sposób żadnym zabiegom optymalizacyjnym. Mapowanie każdego pliku graficznego na skrypt PHP przez regułkę .htaccess w celu sprawdzenia uprawnień było najwęższym gardłem całego narzędzia.

Na ten dzień czekałem kilka miesięcy codziennie zaglądając na tracka projektu i badając ilość bugów pozostałych do releasu. W końcu nadszedł: nowa, bezpieczna, szybka, nowoczesna wersja jedynego w swoim rodzaju skryptu do obsługi galerii. Cieszy fakt, że jeden z twórców czerpał wiele inspiracji ze swojej fascynacji mistrzostwem z jakim został zaprojektowany Drupal. Tym bardziej jestem przekonany o jakości ostatecznego rozwiązania.

Pozostaje tylko się cieszyć i szykować na upgrade ZHRowej multigalerii :] Zachęcam wszystkich do pobrania :]

P.S. Skórek o dziwo nie brakuje :) jest już kilka do wyboru - niektóre naprawdę fajne :D

Saturday, October 2, 2010

Jednak Arch Linux

Po kilku latach powrót do Arch Linux to strzał w dziesiątkę. Szczególnie w moim przypadku gdy w gruncie rzeczy na co dzień używam Windows 7 a Linuksa tylko do webdevelopmentu.

Pierwszy plus - dużo grzebania. W Archu konfigurację z grubsza trzeba grzebnąć ręcznie - miła odmiana po "wszystko robiącym" Windows.

Po drugie - lekkość. SLiM i E17 po prostu.... miód na mojego biednego VirtualBox-a, który umierał pod jarzmem Ubuntu. Teraz rozwinął skrzydła.

Po trzecie - dokumentacja. Wszystko działa, krok po kroku opisane, właściwie nie miałem problemu ze znalezienim czegokolwiek. Opisane jest po prostu wszystko, w łatwym języku. Jakość instrkcji stuprocentowo wynagradza fakt iż często trzeba jakieś pliki systemowe zmienić manualnie.

Po czwarte - filozofia systemu. Taki sposób uczy Cię jak działa system a przez to rozwija.

Po piąte - model wydawniczy. Nowe wersje systemu to nic innego jak zwykły upgrade paczek pacman -Su raz na jakiś czas i nie muszę nic przeinstalowywać, pamiętać o oddzielnej partycji HOME, martwić się ustawieniami z HOMEDIR pochodzących z poprzedniej wersji systemu - nic. Niemal czysty bleeding edge w paczkach :)

Thursday, September 30, 2010

Ubuntu - to już dla mnie zbyt wiele

Moje używanie linuksa to najświeższe Ubuntu na beztrosko uruchomionym VirtualBox pod kontrolą radośnie działającego Windows 7 :) Dlaczego? Wygoda - nie muszę restartować komputera gdy zmieniam system, pełna kompatybilność sprzętowa - sprzęt nadal obsługuje Windows, który ma do niego dedykowane sterowniki nie zaś Linuks, który ich nie posiada i przez to nie mogłem np. wyłączyć głośników w Laptopie. Te dwa powody skłaniają mnie do korzystania z VirtualBox, ale co z dystrybucją?

Ubuntu zmienia się z roku na rok. Dzisiaj przeczytałem listę zmian Ubuntu 10.10 RC. Powiem krótko - nie interesuje mnie większość z nich. Oczywiście - nie uważam, że są złe. Moje użytkowanie Linuksa to ostatnio czysta deweloperka: Google Chrome, Vim, SSH, SCP, Ruby, Python, PHP - koniec. Najczęściej uruchamianym przeze mnie programem jest Terminal, w drugiej kolejności Google Chrome.

Wszystko co dla mnie jest fajne w nowej wersji systemu to nowe wersje programu. Wiem, że Canonical od dawna pracuje nad user-friendly systemu i dobrze im to wychodzi jednak dla mnie zmiany zachodzą w miejscach systemu, których w ogóle nie używam. Co rzutuje na moją pracę?
Chyba największą zmiana dla mnie jest nowa wersja oprogramowania, z mniejszą ilością bugów i nowymi featurami. Gdyby więc mieć tylko system, który cały ewoluuje na zasadzie apt-get update && apt-get upgrade to dla mnie to rozwiązanie byłoby idealne.

Minimalna dystrybucja - to był mój pierwszy pomysł. Debian w wersji base z doinstalowanymi paczkami, których wymagam. Z drugiej strony kiedyś już tak żyłem i Ubuntu okazało się o tyle lepsze, że gdy potrzebowałem czegoś "nagle" nieprzewidzianie to w Ubuntu już to miałem - w Debianie musiałem czekać aż się zainstaluje. Tak więc odchudzona wersja Ubuntu byłaby super. Na tyle obszerna aby miała już wiele rzeczy zainstalowanych, na tyle lekka aby nie przycinała VirtualBoxa. Jednak w międzyczasie wpadł mi do głowy inny pomysł - ChromeOS.

ChromeOS może okazać się "świętym gralem" dla osoby z moimi wymaganiami. Jest Google Chrome, jest konsola - cóż więcej mi trzeba? Oczywiście pod warunkiem, że będzie działał na VirtualBox - co się wkrótce okaże. Na pewno spróbuję tego systemu i przekonam się czy spełni moje oczekiwania. Do tego czasu pomyślę nad jakąś lżejszą dystrybucją Linuxa, która odciąży trochę moje zasoby VirtualBoxowe :)

Sunday, September 19, 2010

Nie tylko relacyjne bazy danych

Artykuł, na który ostatnio się natknąłem uświadomił mnie, że w projektach, które ostatnio tworzę wcale nie wykorzystuję relacyjnych baz danych. Wręcz przeciwnie. Do wyszukiwarki 1procent.zhr.pl wykorzystałem MongoDB. W ankiecie do głosowania ZODB, w mod_spam'ie, do którego nawet ręki nie przyłożyłem co prawda, chodzi o implementację Redis albo Memcached.
Kolejnym odkryciem było dla mnie: "Przecież Review Board poza RDBMS używa Memcached!". Nie musiałem więc daleko szukać realnego zastosowania polyglot persistence w projekcie, z którym ostatnio mam dużo styczności.

Cieszy fakt, że istnieje wiele prostych w użyciu, szybkich do przyswojenia dedykowanych narzędzi, które można wykorzystać w swoich aplikacjach. Czasy kiedy pisało się aplikację z użyciem wyłącznie MySQL w moim życiu mijają. Czuję, że częściej będzie to coś znacznie bardziej dedykowanego, a w przypadku większych projektów na relacyjnej bazie danych się nie skończy - a silników przechowywania informacji będzie więcej niż dwa (a na pewno jeden).