People and technology
RSS Feed

Articles

  • 33 degree day 2

    Postaram się streścić co by przejść jak najszybciej do podsumowania a następnie do tematów z kuluarów.

    Dzień drugi miałem zacząć od Jevgeniego Kabanova (Do you really get Memory?) i tematu zarządzania pamięcią w javie. Wyglądało ciekawie, jednak alkohol z poprzedniego dnia + wczesna pora sprawiły, że wybrałem sesję korytarzową i dyskusję kto dłużej pił, a dyskutantów było wielu.

    Do czasu gdy zaczął mówić Paweł Lipiński  (Don't code - create software!), zdążyłem dojść do siebie. Zastanawiałem się wpierw czy nie odwiedzić ponownie Hamleta D'Arcyiego (Java Boilerplate Busters), ale szybkie spojrzenie na poruszany temat i stwierdziłem, że biblioteki o których mówi znam w stopniu satysfakcjonującym więc lepiej iść na coś miękkiego.

    Wracając do Pawła. Poruszał on tematy związane z wytwarzaniem kodu poprzez testowanie. Było trochę o TDD, BDD, A-TDD i DDD. Krótko mówiąc dużo D było. Ciekawie, szczególnie podobały mi się wszystkie wtrącenia z sali, jako że wyciągały więcej informacji i jak zwykle, wprowadzały inny punkt widzenia do dyskusji. Zainteresowanych tematem odsyłam do wujka google na temat TDD.

    Narzędzia do BDD pokazane przez Pawła i sama idea jakoś nie bardzo mi podchodzi. Chyba pozostanę przy zwykłych testach z given, when, then. Jeśli ktoś natomiast BDD (Behavior Driven Development)  się interesuje to polecam przejrzeć posty Dana Northa (@Tastapod na twitterze).

    Poza TDD w wszystkich smakach i odmianach było o pair programmingu  i innych metodach zaliczanych powszechnie do zwinnych. Wiele z tych rzeczy chciałbym wprowadzić jako codzienność w pracy, jednak pomysły takie jak 2 programistów 1 komputer nie brzmią dla ludzi z kasą przekonywająco.

    Następnie nadszedł jeden z bardziej wyczekiwanych przeze mnie speechy. Steve Freeman (Fractal TDD: Using tests to drive system design), jeden z autorów Growing Object Oriented Software (książka, przez którą nie mogę przebrnąć ;)) opowiadał o koncepcji TDD. Jest to jeden z jaśniejszych punktów tego dnia i całej konferencji. Początek miał Steve dość ciężki, ale na szczęście się rozkręcił później i w sumie chciałbym dostać jego slajdy w swoje ręce, bo zapamiętałem, że coś z jego prezentacji przekładało się bezpośrednio na kod który tworzę teraz, ale nie mogę sobie przypomnieć co to było ;P Wiem za to, że miało go poprawić :)

    Gdy Steve skończył poszedłem do Matthew McCullougha  na Gita (Git Going with a Distributed Version Control System). Starałem się unikać technicznych wykładów podczas całej konferencji, zamiast na gicie miałem 2 inne wykłady na oku, ale dobrze, że nic innego nie wybrałem.

    Matthew to chyba najlepiej przygotowany prezentujący jakiego widziałem. Mówi szybko, wiedzy do przekazania ma sporo, slajdów sporo, przykładów rzeczywistych sporo, ale wszystko jest przedstawione przejrzyście, zwięźle i zrozumiale. Sporo się też nauczyłem ;) Bardzo pozytywne wrażenie na mnie wywarł i mam nadzieję, że to nie był ostatni raz jak miałem okazję go posłuchać.

    Gdy Matthew prezentował, to zrozumiałem w końcu co jest takiego w Gitcie i o co chodzi w niektórych jego ideach. Przyznaję: te wychwalane zalety jak śledzenie contentu a nie plików, mają sens nawet :) Jak to zacznie na windzie śmigać bez problemów, to może mnie nawet z Mercuriala na Gita nawrócicie.

    Jeśli macie okazję pójść na warsztaty/prelekcję Matthewgo to gorąco polecam. Dla przypomnienia: na 33 degree było mnóstwo świetnych prelegentów, a mimo to on i tak się pozytywnie wyróżniał.

    I znów unconference. Sang Shin i What's new in Java EE 6 jakoś mnie nie przekonały. Sang ciekawie mówił, było zabawnie, ale po chwili wyszedłem, nie wiem dlaczego.

    Po przerwie ciekawie zapowiadał się Steve Freeman i jego drugi temat: Five years of change, no outages, ale w połowie wymiękłem. Już wiem kto pisał najcięższe fragmenty ich książki. To było nie do strawienia i dlatego udałem się na lżejszy temat.

    W sali obok było o narzędziu co w pracy używamy: sonar (Monitoring 10 Critical Code Quality Metrics with Sonar).  Matthew McCullough prezentował więc zakładałem, że będzie interesująco i przywróci mnie to do życia po tym co Steve ze mną uczynił. Nie myliłem się. Temat mi bliższy niż Git więc smaczki starałem się jedynie wychwycić i przygotować na jeszcze 2 sesje.

    Kolejny był Nathaniel Schutta i prezentacja o usability (Agile UI). Wykład dobry, choć szkoda, że nie znalazłem się u Neala Forda. Nathaniel mówił ciekawie, jednak bardzo podobne pomysły słyszałem od Rayana Singera z 37Signals (Ci od BaseCamp, polecam wszystkie 3 prezentacje). W skrócie: prototypujcie za pomocą kartki papieru i ołówka, myślcie jak użytkownik i pamiętajcie, zawsze, że to dla niego tworzycie ten system.

    Dzień zakończyłem u Wojciecha Seligi, który opowiadał jak w jego firmie prowadzone są projekty Agilowe. Im podobno wychodzi w Polsce sprzedawać tylko Agile. Szkoda, że nie wszyscy mamy tyle szczęścia :(

    No dobra, to jeszcze jeden dzień z konferencji, podsumowanie i zacznie się mięsko :)

    Do następnego

    Read More »

  • 33rd degree - day 1

    No i po 2 dniach kręcenia się po Krakowie, o czym może też wam napiszę, nadszedł w końcu wielki dzień, rozpoczyna się konferencja. Jeszcze tylko śniadanie w hotelu, 10 min spacerkiem do Best Western Premium Krakow Hotel i rozpoczynamy Geekfest :D

    Będę opisywać wydarzenia chronologicznie. Będę też dość szczegółowy, ostatni wpis będzie pewnie podsumowaniem, po którym będzie jeszcze grupa wpisów z kuluarów.

    Zaczęło się od Lindy Rising i jej tematu o tym jak się oszukujemy (Deception and Estimation). Miało to wprawdzie niewiele wspólnego bezpośrednio z programowaniem, a już na pewno nic z Javą, niemniej jednak mi temat odpowiadał. Kto mnie zna lepiej, wie że lubię "miękkie" tematy. To co udało jej się jako jednej z niewielu to uaktywnienie publiczności, całej. Zaliczam jej prelekcję jako wyjątkowo udaną. Przyjemnie się również z nią rozmawiało podczas przerwy na kawę (w zasadzie to opuściłem całą przerwę, bo rozmowa była zbyt wciągająca)

    Po Lindzie na scenę wszedł Matt Raible (Comparing JVM Web Frameworks). Widziałem co pokazywał na Devoxxie 2k10 (Parleys udostępnia ten speech za free) więc planowałem rozpocząć unconference. Okazało się jednak, że Matt uaktualnił slajdy więc zostałem :P. W nowej wersji Tapestry awansowało na 5te miejsce więc trochę o nim mówił (co skończyło się tym, że zabierałem czas z Q&A, jako że się musiałem wtrącać co pewien czas :P)

    Matt niestety poszedł sobie tak szybko jak tylko mógł, a po nim przyszedł Nathaniel Schutta (Hacking Your Brain for Fun and Profit). Jego wykładu mi jakoś nie podszedł, poszedłem więc do pustego pokoju konferencyjnego i rozpocząłem unconference. Wprawdzie wpierw byłem sam, ale na szczęście to się dość szybko zmieniło i miałem pierwszy ciekawy problem projektowy do dyskutowania. Tematem była kiełbasa i lockowanie jej na czas trwania sesji wielu klientów. Sesja przeciągnęła się na lunch, gdzie 400 geeków poruszało typowy dla nas problem: rozmawialiśmy o dupach (Moja karta graficzna jest do dupy ;)), no i trochę o pracy.

    Nie podejrzewacie nawet ilu rzeczy można dowiedzieć się o wątkach, jbossie i javie wcinając zraza z ziemniakami.

    Po obiedzie były WDW (wykłady do wyboru). Interesował mnie z tej sesji jedynie Hamlet D'Arcy i jego temat o statycznej analizie kodu w Intelliju (Get 'em before they get you). Prezentację i slajdy widziałem wcześniej na jego stronie/twitterze, więc w sumie to wynudziłem się trochę podczas samych slajdów. Na jego szczęście (bo będę pozytywnie go recenzować na mym ultra ważnym i wpływowym blogu :E), był bardzo otwarty na pytania, dzięki czemu udało mi się poznać moje narzędzie lepiej (w pracy żyję na co dzień z Ideą) oraz poznałem rozwiązanie kilku zagadek/problemów z nim związanych.

    Teraz miały nastąpić workshopy. Wszystkie zapowiadały się ciekawie i na korytarzu wrzała dyskusja gdzie iść. BTW +1 dla  Hotelu i Grzegorza za przekąski i nieograniczoną ilość soków/wody/kawy/herbaty w przerwach. Wpierw miałem iść na GITa, ale jako że WiFi szwankowało (czyt. nie działało), to średnio bym miał okazję z tego coś wynieść. Ten sam problem miała sesja androida więc -1 za słabe przygotowanie się pod te zajęcia. Z rozkładu wychodziło mi, że albo Neal Ford i jego produktywny programista albo Linda z retrospekcją. Wiedząc, że to klawa laska jest, poszedłem do Lindy :)

    Sesja traktowała o retrospekcji: czym jest i jak przeprowadzić (The Power of Retrospection). Przydatne zajęcia, poprowadzone z dużą dozą humoru i dające kilka ciekawych pomysłów do zaimplementowania  w pracy. Jeśli się nie mylę to kilka pomysłów Linda chciała zaszczepić Grzegorzowi by zaaplikował na przyszłym 33degree, za rok zobaczymy co z tego wyjdzie :)

    Na koniec był jeszcze Jakub Nabrdalik z kilkoma pomysłami dotyczącymi poprawiania firmy (Hack your company). Sam temat ciekawy jednak nie widzę sposobu by wdrożyć te pomysły. Dla wszystkich lepiej, że nie było mnie na Web frameworks shootout gdzie pewnie bym trollował chłopakom tekstem: W Tapestry da się to zrobić lepiej! I szybciej! ;)

    Na koniec jeszcze tylko kilka piw od chłopaków z JRebela, dużo pogawędek i czas do hotelu.

    O czymś nie wspomniałem? Niee, poznanie męża Lindy, pokazanie mi przez Matta (podczas beer party) drogi jaką mogę podążać, poznanie JRebel teamu (świetna ekipa), przeprowadzenie kilkunastu interesujących rozmów, pogawędki z dziewczynami z Luxoft HRów i kilka innych nieistotnych wydarzeń można chyba spokojnie pominąć ;)

    No i tak mi minął pierwszy nudny dzień na 33rd degree. Za rok wracam... a wait, jeszcze minimum 2 wpisy zanim to ogłoszę :P

    PS zdjęć napstrykałem sporo. Problem w tym, że ze mnie kiepski fotograf a w każdym pomieszczeniu było inne oświetlenie a ja nie lubię gdy lampa błyska więc średnio wyszły. Wpierw muszę przefiltrować fotki, a później dopiero postaram się zrobić fotorelację.

    Read More »

  • Tapestry 5 in Action MEAP

    Igor Drobiazko, jeden z commiterów tapestry, autor niemieckiej książki o tym frameworku, ogłosił właśnie, że rozpoczął się MEAP angielskiej wersji jego bryka.

    Czym jest MEAP?

    Manning Early Access Program to wczesny możliwość uzyskania dostępy do książki zanim zostanie opublikowana. Kolejne jej części są udostępniane wraz z postępem korekty nad poszczególnymi rozdziałami. Gwarantuje też najszybszy dostęp do książki i informacji w nich zawartej.

    Jeśli ktoś jest zainteresowany Tapestry 5 to zdecydowanie polecam się zapisać, więcej informacji na stronach wydawnictwa.

     

    A co do moich wpisów to w ten weekend albo w okolicach 33rd degree wracam do pisania. Mam kilka pomysłów i jakiś scenariusz biznesowy, na którym można by przećwiczyć zabawy z Tapestry. Póki co będę jeno Tłitować, bo polubiłem :)

    Stay tuned.

    Read More »

  • Samomotywacja

    Witajcie po przerwie. Mam najgorętszy okres w projekcie za sobą więc teraz nadszedł czas na odpoczynek i pisania bloga , again :)

    Nie było mnie wśród żywych przez około 2 miesiące, podczas których musiałem zmagać się z projektem. Podczas tego okresu miałem okazję zaobserwować na sobie ciekawe zjawisko.

    Im więcej pracy tym lepiej wpływa na moją motywację (to wiedziałem), ale tylko do pewnego momentu, gdy fizycznie mój organizm przestaje wyrabiać (tego nie wiedziałem). Obciążony przez dłuższy czas wielogodzinną pracą zmieniłem się w takie zombie, które przepracowało 8h (12), które musiało przepracować, po czym udawało się na fotel / kanapę i udawało Ferdka Kiepskiego leżąc z browarem przed telewizorem.

    Zostawiłem bloga w świętym spokoju, olałem jakiekolwiek czytanie artykułów czy oglądanie prezentacji, nie powstał żaden spike, nie spotykałem się z ludźmi. Jak na początku napisałem: umarłem. Jedyne co mogłem zrobić, a wymagało ode mnie więcej niż poruszania palcem po pilocie, to czytanie książek, ale nie związanych z pracą.

    Opiszę kiedyś ten przypadek dokładniej i opatentuję jako lek na pracoholizm, może nobla nawet dadzą :) Moje wiekopomne dzieło zwać się będzie "Leczenie pracoholizmu pracą"

    Teraz mając najgorętsze deadliny za sobą i pewną stabilizację w życiu wracam do codziennej rutyny. Zaczynam wychodzić do ludzi, chodzić do kina, spacerować, ćwiczyć, uczyć się, no i oczywiście pracować po pracy :P

    Odbiegając od technicznych tematów zastanowiłem się co mnie zawsze motywowało do pracy (po pracy, tj do czegoś za co nikt mi nie płaci a związane jest bezpośrednio z zawodem). Proces wychodzenia z stagnacji nie był prosty, powstawała w tym czasie pierwsza wersja tego wpisu. No i o to ją macie, po ponad 2 tygodniach ^^ No ale w tym czasie doszedłem do pewnych wniosków więc teraz mogę się z wami tym podzielić.

    • Spotkania JUGowe
    • Prezentacje, książki i screencasty
    • Dyskusje z innymi osobami z branży
    • Testowanie nowych technologii

    Skrócić to można do obcowania z mądrzejszymi ode mnie (jako, że na konferencje, wykłady, prelekcje, do pisania książek, przeważnie głupich nie biorą). Niestety Trójmiejska java user grupa, ostatnio nie jest najaktywniejsza. Opuściłem na dodatek ostatnią prezentację Łukasza Kuczery "Clean code - Scala". Innych wydarzeń w rejonie przeważnie brak. InfoQ ma ograniczone zasoby tego co można obejrzeć, a parleys płatny jest. Niestety, jakoś tak dziwnie świat jest ułożony, nie ma co tydzień konferencji gdzie pojawiałaby się na dodatek prezentacja zmieniająca całkowicie pogląd świata na programowanie / zarządzanie projektem.

    Z większych wydarzeń to wybieram się na konferencję 33rd Degree, ale ona dopiero w kwietniu jest. Niemniej jednak mam nadzieję, że kilka osób tam spotkam :)

    Kolejne źródło do zachęty by wziąć się do roboty to książki. Obecnie na tapecie mam Growing Object-Oriented Software, Guided By Tests. Niestety zabierając się do niej nie przewidziałem ilości pracy jaka mnie czeka i własnego zniechęcenia do świata. Książka dobra, ale teraz ciężko mi do niej wrócić.

    Na szczęście, jak dobrze poszukać to zawsze się coś znajdzie do obejrzenia. A jak nie to pogoda coraz ładniejsza, można iść gidześ gdzie komputera nie ma, dziewczynę na spacer zabrać, później coś zjeść i z znajomymi na kręglach skończyć. Po jakimś czasie człowiek z przyjemnością siądzie przed kompem i natchnienie samo się znajdzie.

    Do następnego

    Read More »

  • Tapestry 5.2 goes final

    No i stało się. 5.2.4 zostało uznane za wystarczająco stabilne by mogło zostać uznane za oficjalną wersję 5.2
    Co nowego w tej wersji? Pozwolę sobie odesłać do wpisu Howarda Lewisa Shipa (ojca tapestry) na temat tego rela. Powtarzanie po nim mija się z celem.

    Dla mnie najważniejszą zmianą, jest to, że w końcu live reloadowalne są services (jednostka wstrzyknięcia w Tapestry). Gdy uczyłem się jak działa hibernate to szczególnie denerwowało, że muszę pracować jak developer Springa.

    Poza tym pojawiło się dużo innych usprawnień, takich jak usunięcie page poola i zastąpienie go singletonem stron (co daje duże oszczędności pamięci). Dołożono sporo adnotacji (między innymi wsparcie dla JSR-303), poprawiono moduł testowy i wsparcie dla selenium oraz zmieniona została strona główna. Ostatnia zmiana ma pomóc w rozbudowie dokumentacji. Ostatnie wygląda obiecująco, choć mi utrudnia poruszanie się po stronie. Zakładam, że większość nie będzie miała tego problemu, ja się po prostu przyzwyczaiłem do starego layoutu.

    To tyle na dziś. Muszę pomyśleć nad kolejnymi wpisami, to może w święta pod choinkę podgonię tutoriala.

    Read More »

Michal Gruca
Michal Gruca

Manager by title, developer at heart

Twitter Email

TOC