niedziela, 28 marca 2010

4Developers 2010, czyli mogło być lepiej...

Myśl o tym, że jadę na 4Developers nie opuszczała mnie już od ponad tygodnia. Nie mogłem się doczekać tych wszystkich prelekcji, rozmów, nowych i starych znajomości, ogólnie wszystkiego tego, na co składa się dobra konferencja. A co z tego wszystkiego wyszło? O tym poniżej.

Wyjazd miałem zaplanowany na czwartek około godziny 18. Zdziwiło mnie, że o tej porze i na tej trasie (Gdynia - Poznań) w pociągu TLK było tak mało pasażerów. Przez większość podróży siedziałem w przedziale jedynie z studentem Akademii Morskiej, z którym zresztą bardzo fajnie rozmawiało się na temat podobieństw i różnic w studiowaniu na naszych dwóch uczelniach. Do Poznania przyjechaliśmy bez opóźnień przed 23 i już pojawił się pierwszy problem - jak dostać się na starówkę? :D Od jakiegoś czasu nie mam problemów z orientacją w obcych miastach, ale może zmęczenie sprawiło, że gdyby nie miła pani i starszy pan w Informacji Turystycznej nie udałoby mi się tak łatwo dotrzeć na Starówkę, gdzie byłem umówiony z Mateuszem i jego kolegami. Byłem niemało zestresowany tym spotkaniem, ale okazało się, że ekipa choć bardzo zgrana to nie miała problemu by mnie do siebie dopuścić i wieczór spędziliśmy bardzo przyjemnie przy piwku i rozmowach nieinformatycznych :)

Rano obudziłem się z ogromnym bólem głowy (nie mylić z kacem, bo nie jestem osobą pijącą ;)) i tu moje pierwsze rozczarowanie. Ani w kiosku Ruchu w hotelu, ani nigdzie blisko nie było miejsca, gdzie można by kupić tabletki od bólu głowy - dramat... Szybkie dwie filiżanki kawy i można było pójść się zarejestrować.

Obsługa konferencji była bardzo miła i rzeczowa. Przez cały czas widać było, że przygotowano się bardzo dobrze i wszystko odbywało się zgodnie z planem. Wszelkie formalności udało się załatwić jeszcze zanim o nich pomyślałem, także byłem pod dużym wrażeniem. Po samej rejestracji usiadłem przyjrzeć się gratisom, które otrzymałem. W zestawie był: identyfikator wraz z mini-przewodnikiem po konferencji (rewelacyjny pomysł!), kilka broszurek reklamowych, ankieta, kupon sponsorów (można było za jego wymianę wygrac MP4 i punkty Java Geek), kawałek komiksu o Garfieldzie (część kolejnego konkursu) i jeszcze więcej broszurek. Gdy zapoznawałem się z zawartości torby podszedł do mnie Paweł Stawicki, mówiąc że poznał mnie z bloga (co najciekawsze poznaliśmy się na java4people i albo ja coś pokręciłem, albo Paweł mnie zwyczajnie nie poznał). To było bardzo miłe :) Od razu chciałem przeprosić Pawła za brak komunikatywności, ale naprawdę źle się czułem i nie ogarniałem wszystkiego co się wkoło mnie dzieje. Mam nadzieję, że nie poczułeś się urażony!

Pierwsza prelekcja, na którą się udałem to "Walka o życie - pochodne i następcy Javy opanowują świat" Michael Hunger'a. Opowiadał on o różnorodności języków na JVM (nie miałem pojęcia, że jest ich ponad 400!). Niestety ciężko było zrozumieć prowadzącego, gdyż nie dość, że mówił po angielsku, to był lekko skacowany i podziębiony. Ale ogromne wrażanie zrobił na mnie filmik, który puścił w trakcie swojej prezentacji prezentujący:


Po obejrzeniu filmiku mogliśmy zobaczyć różne implementacje Game of Life na JVM - Java, Groovy, Scala etc. Największe wrażenie na mnie, jak i pewnie na większości uczestników, zrobiło rozwiązanie w Dyalog APL, którym postanowiłem zając się w wolnej chwili, gdyż wydaje się idealny do zastosowań numerycznych.

Następnie udałem się na kolejną prelekcję ze ścieżki Java - "Automatyczne generowanie kodu" Marka Berkana z firmy e-Point (jednego z głównych sponsorów imprezy). W bardzo przystępny i ciekawy sposób pokazał różne problemy, które natrafić może programista w zmieniającym się projekcie, jeśli źle podejdzie się do zagadnień (przykładowo) komunikacji z bazą danych. Była to jedna z najlepszych prezentacji na konferencji i mam nadzieję doczekać się niedługo materiałów z niej.

Przed przerwą udaliśmy się z Dawidem na prelekcję ze ścieżki Zarządzania projektami IT - "Zarządzanie rozwojem oprogramowania - nieco bardziej "funky"" Petera Horstena. Prezentacja nie dość, że była prowadzona ciekawie, to w dodatku pełno było w niej śmiechu, przez co czas upłynął niemiłosiernie szybko. Prelegent mówił po angielsku (choć dał nam możliwość wyboru między trzema językami), ale było go o wiele łatwiej zrozumieć niż pierwszego tego dnia prelegenta. Po prelekcji Pan Horsten był tak miły i poświęcił mi trochę czasu, w trakcie którego rozprawialiśmy na temat zbierania wymagań do projektu, który posiada wiele grup docelowych (do czego nawiązuje mój poprzedni wpis na blogu). Było bardzo "funky" :)

Przerwa obiadowa to pasmo zawodów. Wpierw rozładował mi się laptop, a tam gdzie był dostępny internet bezprzewodowy nie mogłem znaleźć gniazdka od prądu (i na odwrót). Jak już znalazłem informacje, których szukałem okazało się, że zostało mi niewiele czasu i muszę swój posiłek ograniczyć do kebaba, który okazał się mało smaczny i którym w biegu na konferencję ubrudziłem sobie ubranie :( Całe szczęście w trakcie przerwy można było odbierać zamówione wcześniej koszulki z konferencji. Uwielbiam po jakimś wypadzie (takim jak konferencja) wracać do domu z jakąś pamiątką (najlepiej kubek lub koszulka), ale żałuję, że zamówiłem sobie koszulkę z 4Developers. Białe logo "4Developers" na lewej piersi wielkości kilku centymetrów to było wszystko, co znajdowało się na granatowej koszulce za 35zł...

Po obiedzie udałem się na prelekcję "Zbuduj pierwszą aplikację typu RIA z wykorzystaniem Flex 4" Piotra Walczyszyna, która choć nie udało się zaprezentować wszystkiego, co prelegent miał w planach okazała się bardzo ciekawa. Szczególnie zainteresował mnie temat Adobe AIR i multiplatformowości, jaką uzyskuje się dzięki tej technologii. Niestety do tej pory nie dowiedziałem się jak otrzymać licencję na Adobe Flex 4 Builder, ale zrzucam to na karb zmęczenia i ogólnego własnego roztrzepania w ten weekend.

Po Flexie przyszedł czas na chyba największe rozczarowanie tej konferencji - "Co nowego w Java SE 7?" Marcina Kalasa. Z prelekcji nie dowiedziałem się specjalnie wiele, ale też nie była ona ciekawie prowadzona. Zdawkowe informacje, ciągłe tłumaczenie jednego stwierdzenia nim samym i chrząkanie do mikrofonu skutecznie mnie zniechęciły do skupienia większej uwagi na prezentacji. Jeden z kolegów Mateusza słusznie powiedział, że "była to chyba najbardziej pozytywna prelekcja konferencji - tyle razy wypowiedzianego "tak" już dawno nie słyszałem"...

Sławomir Sobótka wraz ze swoją prezentacją pt. "Craftsmanship i wzorce projektowe" zrobił na uczestnikach (i nie mówię tu tylko o sobie) ogromne wrażenie. Ciekawe rozważania na temat wzorców projektowych upłynęły tak przyjemnie, że gdy ja byłem święcie przekonany, że minęło zaledwie 10 minut okazało się, że czas prelekcji dobiegł końca. Szkoda, bo można by słuchać wywodów prelegenta jeszcze bardzo bardzo długo. Zdecydowany #1 konferencji!

Na samym końcu zawitał Jacek Laskowski ze swoją prelekcją na temat "Modele komponentowe SCA, OSGi, Distributed OSGi i OSGi Enterpise a Java EE". Na temat tej prelekcji nie będę nic pisać, gdyż temat jest dla mnie całkowicie obcy i większości z tego co Jacek mówił nie rozumiałem. Może kiedyś :)

Na sam koniec pozostawiono losowanie nagród za wypełnienie ankiet, w którym jak zwykle nic nie wygrałem. Potem okazało się, że zostawiłem ładowarkę do telefonu w pokoju hotelowym, ale nie odzyskam jej tego dnia, bo nie było już obsługi pokojowej, a wysyłka kosztować mnie będzie ponad 50zł. W złym humorze wsiadłem do samochodu i wyruszyłem z ludźmi z firmy Fineos do domu, lecz ten nastrój bardzo szybko się rozwiał dzięki chłopakom i jedzonku w McDonalds :)

A teraz czas na podziękowania :) Dziękuję w pierwszej kolejności dr hab. Markowi Izydorkowi (Prodziekanowi ds. Nauki na moim wydziale) oraz dr inż. Pawłowi Sytemu za umożliwienie mi wyjazdu na konferencje. Mateuszowi Mrozewskiemu chciałbym podziękować za bezinteresowną pomoc już w trakcie wyjazdu w sprawach logistycznych i rozwiązaniu problemu, który mógł zaważyć nad wyjazdem. Chłopakom z firmy Fineos za wspaniałe towarzystwo i miłe rozmowy przed, w trakcie i po konferencji (oraz za podwiezienie dosłownie pod dom :)). Na samym końcu chciałem podziękować hotelowi Orbis Polonez z Poznania, dzięki któremu musiałem zostawić ładowarkę do telefonu w Poznaniu i jestem zmuszony kupić nową ;)

Poniżej malutka galeria zdjęć, z której nie jestem w ogóle zadowolony. Dysponowałem uszkodzonym aparatem, a i moje umiejętności jako fotografa pozostawiają wiele do życzenia. Pomimo to:


Do zobaczenia na kolejnej odsłonie 4Developers!

piątek, 19 marca 2010

Krótki artykuł o dokumentacji

Witam!

W wolnych chwilach między zajęciami przeglądam ostatnimi czasy artykuły oscylujące w okolicach wytwarzania oprogramowania, jego projektowania etc. Tak się złożyło akurat, że na portalu devBlogi.pl pojawiła się ostatnio informacja o projekcie "97 rzeczy" - serii przetłumaczonych na nasz ojczysty język artykułów znanych i szanowanych autorytetów w światku informatycznym na ważne tematy, takie jak zasady dobrego projektowania. Jedną z takich "rzeczy" jest spojrzenie na nasze oprogramowanie oczami jego użytkownika. W artykule pojawia się takie oto stwierdzenie:

"(...) istnieje przepaść między tym, czego użytkownicy chcą, a tym co w rzeczywistości robią. To niepokojące jako, iż normalnym sposobem zbierania wymagań użytkownika jest wypytywanie. Dlatego właśnie najlepszą metodą wyłapania wymagań jest przyglądanie się użytkownikom. Spędzenie godziny na obserwowaniu użytkowników jest o wiele bardziej pouczające, niż spędzenie dnia na zgadywaniu tego, czego mogliby chcieć."

Przez cały dzień ta myśl prześladowała mnie i nie dawała spokoju, aż uświadomiłem sobie, że w każdym akademickim projekcie jaki wykonywałem stwierdzenie to (o zgrozo!) się sprawdzało. Ponieważ okazało się, że w najnowszym projekcie na uczelni dostaliśmy trochę wydłużony deadline, więc rozważam wprowadzenie na pewnym etapie wprowadzenia prototypu interfejsu oraz szczątkowej funkcjonalności, aby przekonać się jakie jest pokrycie wymagań umieszczonych w specyfikacji projektu w odniesieniu do realnych oczekiwań użytkowników. Aż boję się myśleć, jakie będą wyniki tego sprawdzenia ;) Ktoś ma doświadczenie w tego typu podejściu? Może mógłby podzielić się jakimiś radami/wskazówkami/materiałami? :)

Pozdrawiam i do następnego razu!

sobota, 13 marca 2010

O dokumentacji projektów słów kilka

Witam!

Ten post powstał z dwóch powodów:
  1. Po przeczytaniu artykułu na devBlogi.pl postanowiłem w miarę jak najwięcej pisać, by to co piszę, stawało się coraz lepsze i coraz ciekawsze. Jak się okaże później, nie tylko autor wspomnianego artykułu tak myśli :)
  2. Udało mi się otrzymać zgodę na ciekawy projekt na uczelni (aplikacja na potrzeby zaliczenia przedmiotu Inżynieria Oprogramowania, z bardzo dużą szansą na wdrożenie na uczelni). Z kolegą, z którym jestem w zespole postanowiliśmy podejść do tego profesjonalnie i zacząć całe przedsięwzięcie od stworzenia dobrego projektu i dokumentacji (mogliśmy tworzyć projekt za pomocą metody kaskadowej lub zwinnej, zdecydowaliśmy się na tę drugą). Gdy nasz wykładowca się o tym dowiedział podsunął nam bardzo ciekawy artykuł. Ale o tym zaraz.
Kiedy na wcześniejszych latach studiów tworzyłem z kolegami oprogramowanie na zaliczenie często gęsto nasza dokumentacja mieściła się na 2 stronach A4 stworzonych tylko po to, żeby wykładowca miał ogólny pogląd na projekt i mógł, mając harmonogram prac, rozliczać nas z postępów w pracy. Na samym początku nie jest to problemem. Każdy zbudował swoją część komponentów, udostępnił prototypy i ... nagle nic do siebie nie pasowało. Spędziliśmy z goła 1,5 doby na przerabianiu bibliotek tylko po to, żeby ze sobą współpracowały. Efekt był opłakany, a fakt, że aplikacja w ogóle się skompilowała i uruchomiła przypisuje gorliwym modlitwom na 5 minut przed oddaniem. Za drugim razem było z goła inaczej. Tak zabraliśmy się za dokumentacje, ale było jej tak dużo, że wiele wymagań się pokrywało, jeszcze więcej było ze sobą zwyczajnie sprzecznych i suma summarum nic z tego nie wyszło...

Całe szczęście Joel Spolsky dla takich jak ja stworzył serie artykułów mówiących o tym czym jest, a czym nie jest specyfikacja projektu, kto i dlaczego powinien ją sporządzać oraz jak (w dużym skrócie) powinno się to robić. Cała seria (Painless Functional Specifications) składa się z czterech części:
  1. "Part 1 - Why Bother?" mówiąca o sensie tworzenia specyfikacji i pokazująca najczęstsze przyczyny nie robienia tego
  2. "Part 2 - What's a Spec?" pokazująca jak może (i powinna) wyglądać przykładowa specyfikacja, wyjaśniając również do kogo i w jaki sposób powinna być ona adresowana
  3. "Part 3 - But... How?" mówi o tym kto powinien, a kto zdecydowanie nie powinien zajmować się w firmie tworzeniem specyfikacją projektu
  4. "Part 4 - Tips" wyjaśnia 5 podstawowych zasad tworzenia specyfikacji
Osobiście najchętniej czytałem część drugą. Byłem bardzo zaskoczony faktem, jak daleko odchodziłem od właściwej (a może raczej jednej z wielu właściwych) ścieżek tworzenia dokumentacji. Wielu rzeczy (jak scenariusze) zwyczajnie nie umieszczałem, bo nie miałem pojęcia, że mogą się one komukolwiek przydać. Natomiast z ostatnią zasadą (artykuł "Part 4 - Tips") nie mogę się zgodzić. Rozumiem, że formatka dokumentacji musi być elastyczna, dostosowana do elementu, który ma opisywać, ale pewien standard powinien zostać zachowany. To tak jak z dokumentacją w formie JavaDoc - człowiek poznaje ogólny schemat, przyzwyczaja się do niego i w późniejszym czasie jest mu o wiele łatwiej pracować z tego typu dokumentacją. Ale brak standardu może wprowadzić jeszcze większe zamieszanie, którego przecież staramy się uniknąć :)

A jak to jest u Was? Czy raz napisana dokumentacja ląduje na półce i nikt jej nie czyta? A może jest jej zwyczajnie za dużo i ciężko jest odnaleźć interesujące Was informacje? Chętnie dowiedziałbym się jak to jest gdzie indziej niż na uczelni wyższej :)

Pozdrawiam i do następnego razu!

poniedziałek, 8 marca 2010

Nowa odsłona JavaBlackBelt

Witam!

Właśnie chciałem przejrzeć zagadnienia na kolejny egzamin na darmowej ścieżce Belt Track na JavaBlackBelt, gdy moim oczom ukazała się nowa (oznaczona numerem 4 beta) wersja BlackBeltFactory. Co się zmieniło? Jako pierwsze rzuca się w oczy wydłużony, w porównaniu z poprzednią wersją, czas ładowania się strony (który moim skromnym zdaniem już wcześniej był zbyt długi). Do tego mam problemy na Google Chrome ze znikającymi elementami głównej strony - muszę przewinąć stronę w górę lub w dół, by znów się pokazały. Część egzaminacyjna strony pozostała bez zmian.

To dopiero faza beta, ale już widać wiele niedociągnięć. Oczywiście, wizualnie jest to zmiana na lepsze, nowy design jest miły dla oka, przyjemniej pochwalić się znajomemu swoją stroną na JBB z wynikami, ale sprawy wydajności (w szczególności) skłaniają mnie do opinii, że zmiany zostały wprowadzone zbyt wcześnie i póki tak rażące niedociągnięcia nie zostaną poprawione, nie będzie mi się dobrze korzystało ze strony.

A co Wy sądzicie o nowej odsłonie BlackBeltFactory?

Pozdrawiam i do następnego razu!

piątek, 5 marca 2010

Smutna informacja dla członków SAI

Witam!

Kiedy byłem rano na uczelni i sprawdzałem skrzynkę mailową zauważyłem wiadomość od Oracle w sprawie SAI - Sun Academic Initiative. Czemu o tym pisze? Ponieważ złe czasy nadeszły... Ale do rzeczy.

W mailu napisano, że:
  • Od 27 stycznia 2010r. zamknięto rejestracje do SAI
  • Projekt SAI ma w najbliższej przyszłości zostać włączony do Oracle Academy (po wejściu na stronę ściągnąłem sobie PDF'a, który sądziłem, że powie mi coś więcej o tym programie lecz srodze się rozczarowałem. Dokument, który waży 7,4MB to tak naprawdę dwustronicowa broszura...)
  • Osoby, które przed 27 stycznia zarejestrowały się do programu SAI będą mogły jeszcze zakupić vouchery na egzaminy certyfikacyjne w cenie $40 do 31 marca br. Po tym dniu vouchery będą dawać jedynie 40% zniżki
  • Platforma e-learningowa SAI Learning Connection SkillPort będzie otwarta do 31 grudnia 2010r.
Dodatkowo na stronie Oracle można przeczytać, że członkami Oracle Academy będą mogli być jedynie studenci uczelni, które są partnerami firmy Oracle. Politechnika Gdańska była w stanie podjąć taką współpracę, ale z tego co wiem to wielu uczelni wyższych nie jest w stanie tego zrobić ze względu na finanse - co ze studentami tychże uczelni? Nie podoba mi się to posunięcie...

Chciałem pominąć ten fakt, ale nie potrafię - według mnie strona oracle.com po połączeniu Sun'a z Oraclem to jeden wielki kocioł, w którym nie wiadomo co jest i jak coś z niego wydobyć. Próbowałem znaleźć kilka dodatkowych informacji na temat certyfikacji, ale w większości docierałem do niewłaściwych informacji, lub linki na stronach były niewłaściwe lub przenosiły na strony, które już od jakiegoś czasu nie istnieją - żenada...

Ale żeby nie pisać jedynie pesymistycznych rzeczy w ten śnieżny, piątkowy wieczór mam przyjemność powiedzieć, że mój blog - Akademia Javy - przekroczyła skromny próg popularności w postaci 1000 odsłony strony! Może to nie wiele, ale patrząc na fakt, że jest to dopiero początek mojej kariery blogowicza, a treści przeze mnie publikowane nie prezentują jeszcze takiego poziomu, jakiego bym po nich i po sobie samym oczekiwał, to uważam to za ogromny sukces :) Chciałem z tego miejsca podziękować Mateuszowi Mrozewskiemu, dzięki któremu cały pomysł został zrealizowany i dzięki któremu wiele się nauczyłem (i nie wątpliwie jeszcze wiele się nauczę). Dzięki! Mam nadzieję, że kolejne moje posty będą reprezentować treści na coraz wyższym poziomie oraz będą coraz bardziej użyteczne dla Was - Czytelników :)

Pozdrawiam i do następnego razu!