11 kwietnia 2008

NetBeans RoadShow - dzień pierwszy w Krakowie


Wyjątkowo jak na moje przygotowania do podróży udało mi sie pojawić na dworcu Warszawa Centralna dużo przed czasem. Była godzina 8:45. Pociąg EuroCity (EC) Bem do Krakowa odjeżdża o 9:05, więc jest jeszcze trochę czasu, aby rozejrzeć się po literaturze fachowej w pobliskim kiosku. Rozglądam sie po półce z czasopismami informatycznymi, a tam Linux, PHP, Linux, Internet, Photoshop i tak przez bodajże 10 czasopism. Nic typowo javowego! Masakra. Mimo, ze czytania mam po brzegi, to nie mogłem oprzeć się pokusie kupienia jakieś nowej gazetki, aby poczuć klimaty literackie poza znanymi mi serwisami i po polsku. Pomyślałem o swojej żonie i dzieciakach (tak, aby ich wyedukować informatycznie właśnie przez gazetki) i postanowiłem kupić pierwszą lepszą o Internecie - rodzinka łyknie trochę wiedzy informatycznej, a sam rozejrzę się w typie i sposobie pisania artykułów. I tu pełne zaskoczenie. Moją uwagę zwróciło czasopismo Internet Maker wydanie kwietniowe (2/08), gdzie na pierwszej stronie widnieje temat Wojna na frameworki, a poniżej Django i Zend Framework pojawił się...Wicket (!) Już nie miałem wątpliwości, jaką gazetę kupić. Niepokojący był jednak fakt niskiej liczby czasopism javowych, a szczególnie tego jednego Software Developer's Journal (tutaj nasuwa się pomysł wydawania gazetki javowej elektronicznie i papierowo, który możnaby zrealizować w ramach Warszawa JUG). W końcu namierzyłem SDJ przykrytego innymi linuksowo-graficzno-internetowymi publikacjami. Bardzo mile zaskoczyła mnie okładka i w ogóle jakość czasopisma (nie mówię tutaj o wartości merytorycznej, a jedynie jej ogólnej prezencji). Zajrzałem do środka, aby rozejrzeć się kto i o czym pisze, a tam artykuł o DWR, jakości oprogramowania i...tyle. Zaplanowalem lekturę SDJ, ale jeszcze nie dzisiaj - wystarczy mi jedno czasopismo. Pora płacić za Internet Maker (19 PLN) i jazda do pociągu.

W pociągu nie mniej milej. Jestem osobą, która nie cierpi jazdy samochodem w roli kierowcy, gdyż czym dłuższa trasa, tym więcej czasu muszę ślęczeć za kierownicą i zamiast zająć się czymś przyjemnym, jak czytanie, to człowiek siedzi i jedzie, siedzi i jedzie, i tak przez kilka godzin. Nuda na maksa. Zamiast tego zawsze w dłuższe wyjazdy wybieram pociąg. Uwielbiam jeździć pociągami, szczególnie tymi ze składu InterCity, bo mogę zająć się czytaniem, rozpoznawaniem i w ogóle odłożonymi na później sprawami. Muszę przyznać, że z nieukrywaną radością widzę jak IC radzi sobie coraz lepiej na tym polu i wagony wyglądaja coraz lepiej. Są wygodne, a co mnie dzisiaj zaskoczyło, to i klimatyzowane. Kiedykolwiek mogę, wybieram miejsce w klasie 1. i zawsze sprawdzam, czy dostępne są kontakty. Niestety nie można jeszcze dowiedzieć się, czy miejsce jakie mam na bilecie będzie w wagonie z kontaktami, czy nie. Ważne jest, ze kupno biletu w pociągu kosztuje dodatkowo jedynie 6 PLN, więc można się rozejrzeć po wagonach i siąść tam, gdzie są kontakty. Wcześniej telefonowalem do kasy IC, gdzie przemiły gość obsłużył mnie informując mnie, że na 3 wagony z bodajże 50 miejscami siedzącymi jest jedynie 3 pasażerów, więc ze znalezieniem miejsca i kupnem biletu w 1. klasie już w pociągu nie będzie żadnych problemów. Biletu na pociągi miedzynarodowe - EuroCity - nie można kupić w Internecie, ale przy owym dodatkowym 6 PLN nie jest to żadnym problemem. Dodatkowe 6 PLN postanowilem poświecić, aby odszukać miejsca z kontaktem. Jakież było moje zdumienie, kiedy okazało się, że cała jedynka jest klimatyzowana, a dodatkowo miejsca są przestronne i pod oparciami moje kontakty! Tego mi było trzeba. Pociąg o 9:05 do Krakowa jedzie do Bukaresztu, a bodajże o 9:10 czy 9:15 jest pociag EC do Pragi. I tu pomysł, aby z rodzinką wybrać się do Pragi nie samochodem, a właśnie pociągiem. Próbował ktoś? Gdzie spanie? Jadę na konferencję organizowaną przez załogę z NetBeans, wiec kto jak kto, ale oni, Czesi, beda wiedzieli co, gdzie, kiedy i za ile, więc o wszystko zamierzam wypytać właśnie ich.

Po kolejnej próbie prezentacji i jej udoskonaleniu o kolejne przykłady, zabrałem sie za czytanie Internet Maker'a. Nie potrafię tego wytłumaczyć, ale czasopisma przeglądam od ostatniej strony (może dlatego, ze łatwiej się wertuje pobieżnie kartki?!) i zacząłem lekturę od artykułu Kurs UML - aplikacje Interfejsy (2) autorstwa Marcina Staniszczaka. Krótko i na temat. Artykuł na 5+. Nie mogłem już doczekać się artykułu o Wickecie, więc od razu przewertowałem kartki do niego. I tu kolejne dzisiaj zaskoczenie - artykuł Framework Wicket jest autorstwa...wspomnianego już Marcina Staniszczaka. O UMLu było ciekawie i rzeczowo, więc i przy prezentacji Wicketa tego samego oczekiwałem. Aplikacja prezentowana w artykule bardzo trywialna (sam pamietam, ze opisywalem podobną), jednakże intrygujący był zrzut ekranu na rysunku 4 Uruchomienie kontenera servletów Jetty z wyjątkiem NCDFE (=NoClassDefFoundException)! To na pewno nie jest ten zrzut, który powinien trafić do artykułu w finalnej wersji. Poza tym "incydentem" artykuł oceniam bardzo wysoko, bo nie wgłębia się w szczegóły, a prezentuje Wicketa pobieżnie acz praktycznie i przystępnie.

O 12:00 pojawiłem się w Krakowie. Przed budynkiem AGH przywitał mnie Radek Holewa. Miałem krótką wizytę na przerwie obiadowej w pizzerni, ale w oczekiwaniu na pizzę nadszedł mój czas prezentacji i tyle się najadłem. Moja prezentacja JSF 1.2 w wykonaniu NetBeans IDE 6.1 była wspaniała, tzn. nie potrafię ocenić jej od strony uczestnika-słuchacza, a jedynie uczestnika-prelegenta i piszę tu o klimacie, jaki stworzyli słuchacze. Było kilku ziewających, ale zrzuciłem to na barki poprzedników (którzy ich po prostu najwyraźniej wcześniej zmęczyli). W trakcie prezentacji przedstawiłem tajniki JSF i zaprezentowałem ich realizację w NetBeans 6.1 z GlassFish v2. Dowiedziałem się, że istnieje mapowanie klawiszy w NetBeans 6.1 odpowiadające klawiszom Eclipsowym, więc w końcu zaprzestanę mojego biadolenia na różne ustawienia klawiszy między środowiskami, które zmieniam w zależności od nastroju i potrzeb. Wystarczy skorzystać z menu Tools > Options > Keymap i wybrać Eclipse w menu Profile.


Po tym już Ctrl+Shift+F działa w NetBeans identycznie jak w Eclipse. W końcu! To jedna z zalet interaktywnych prezentacji-warsztatów, gdzie człowiek współpracuje ze słuchaczami. W międzyczasie pojawiło się kilka wyjątków, z których najbardziej drażliwym nazwałby IAE (=IllegalArgumentException), którego nie mogę niestety teraz zreprodukować. Pojawił się przy wiązaniu stron JSF w edytorze faces-config.xml.

Końcówka dzisiejszego dnia prezentacji była jeszcze lepsza. Jak zwykle zdążyć na pociąg stanowi największy dla mnie wyczyn, szczególnie w Krakowie. Kiedy o 15:20 zreflektowałem się, że mam pociąg o 15:55 powiedziano mi, że już nie mam na co liczyć, że nie zdążę na pociąg. Kiedy dodałem, że jadę (taksówką), a nie idę, odpowiedziano mi, że tym bardziej nie zdążę. Ciekawe podejście. Organizatorzy stanęli na wysokości zadania i udało się - zdążyłem! Cieszę się, że mogłem uczestniczyć w konferencji, bo była to ta konferencja, na której pytanie "Ilu z Was korzysta z NetBeans?" spotkało się z większą liczbą podniesionych rąk niż pozostałe środowiska. Byli też wśród uczestników desperaci, którzy czytają mój Notatnik, ale o nich nie ma co wspominać - aż trudno uwierzyć, że nie mają przyjemniejszych rzeczy do robienia jak czytanie Notatnika ;-)

Jutro kolejny dzień NetBeans RoadShow w Warszawie. Tym razem z włączonym mapowaniem klawiszy jak w Eclipse.