Sunday, November 29, 2015

2015-11-14 Recenzja z Global Day of Code Retreat

Zastanawialiście się kiedyś co łączy programistów Java, Haskell’a, Android'owców i twórców gier w .Net? Odpowiedzi może być mnóstwo, natomiast jedna jest dość oczywista - ciągła chęć rozwoju!
Z tego też powodu grupa zapaleńców postanowiła poświęcić wolną sobotę 14 listopada i wspólnie wziąć udział w Global Day of Code Retreat. Była to już 5 łódzka edycja wydarzenia, którą tym razem poprowadzili: Adrian Bolboaca (nasz gość - trener i coach w firmie Mozaicworks) oraz znani w łódzkim półświatku programistycznym Paweł Włodarski oraz Rafał Lenarczyk.

Czym jest Global Day of Code retreat?

Całodniowy warsztat organizowany równocześnie na całym świecie, a mający na celu szlifowanie swoich umiejętności programistycznych. To tak w największym skrócie.    Wszystkie warsztaty przebiegają według algorytmu:
1. Prosty programistyczny problem - Gra w życie Conway-a
2. Pracuj w parze żeby rozwiązać problem
3. Prowadzący dokłada ograniczenia żeby zmusić Was do zmiany podejścia
4. Po każdej rundzie (45min) kasujemy kod, zmieniamy parę i robimy wszystko jeszcze raz!
Brzmi trochę dziwnie? Uwierzcie - to naprawdę działa. Dzięki pracy w parach możemy uczyć się wzajemnie od ludzi z całego środowiska. I absolutnie nieważne jest jakie jest twoje doświadczenie - tutaj nawet architekt może nauczyć się czegoś od juniora.

Warto było?

Przysłowie mówi, że trening czyni mistrza. Praktyka pokazuje, że tak jest również w rzeczywistości. Dla mnie udział w warsztatach był okazją do rewizji swoich umiejętności programowania przy użyciu TDD, funkcyjnego czy programowania na czas ;) Dodatkowo przekonałem się jak ciężko jest zaprogramować choćby mały, ale sensowny kawałek kodu w 45 minut.
Adrian jako doświadczony prowadzący w każdej rundzie starał się wyprowadzić uczestników z ich własnych stref komfortu i przekonać do spróbowania czegoś nowego.
Dzięki temu każdy z uczestników miał okazję przećwiczenia:
  • podejścia Clean Code
  • tworzenia oprogramowania zgodnie z zasadą TDD
  • programowania przy użyciu funkcyjnego paradygmatu
  • programowania w 2-minutowych iteracjach - przez dwie minuty należało napisać test oraz implementację funkcjonalności. Jeśli nie podejście się nie udało, kod by revert’owany do wcześniejszej postaci i zabawa zaczynała się od początku. Iście kowbojskie podejście! ;)

Międzynarodowe towarzystwo

Tegoroczna edycja skupiała wydarzenia z aż 144 miast rozsianych na całym świecie. Zgodnie z formą GDCR elementem wydarzenia są połączenia z warsztatami prowadzonymi równolegle w innych miastach. Dzięki wysiłkom Rafała Lanarczyka, który pełnił pieczę nad stroną techniczną, również nam udało połączyć się z kilkoma grupami z całego świata.



Podsumowując, GDCR jest świetną okazją do szlifowania swoich umiejętności przy równoczesnej masie dobrej zabawy, poznaniu nowych ludzi, oraz (co dla niektórych najważniejsze :P) zjedzenia smacznego śniadania i obiadu sponsorowanego przez organizatora tegorocznej łódzkiej edycji - firmę Fujitsu.

Friday, November 13, 2015

2015-10-12 Krakowscy kowboje czy łódzcy wojacy?!


    Poniedziałek, 12 października – w niektórych kalendarzach znajdziemy informację, iż jest to Dzień Bezpiecznego Komputera, ale nie to zerwało mnie z łóżka już przed 6 rano. Nie był nim też pierwszy w tym roku śnieg. Ten dzień był inny niż wszystkie, ponieważ wtedy rozpoczynała się krakowska konferencja JDD. Jednak w tym tygodniu kryło się coś jeszcze, otóż w sobotę, odbyła się kolejna już edycja łódzkiej Mobilizacji. Miałem to szczęście, że udało mi się odwiedzić obie te imprezy i chciałem tu opisać swoje wrażenia po opuszczeniu krakowskiego hotelu Galaxy, a także łódzkiej hali Expo.

    Na wstępnie chciałem zaznaczyć, iż tematyka Mobilizacji, która związana jest ściśle z technologiami mobilnymi jest mi znacznie bliższa, niż ogólny, Javowy klimat JDD, dlatego nie będę oceniał tematów prezentacji wybranych przez organizatorów, ponieważ byłoby to mocno subiektywne. Skupię się natomiast na całej otoczce towarzyszącej tym wydarzeniom, a jest o czym pisać, bo konferencje to nie tylko sama wiedza.

    Na początku warto jednak zadać sobie pytanie czy jednodniowa, tworzona „po godzinach”, a przede wszystkim darmowa Mobilizacja może równać się z dwa razy dłuższą, organizowaną przez profesjonalną firmę i kosztującą niemałe pieniądze konferencją JDD? Jak się jednak okazuje, płatne nie zawsze oznacza lepsze, a kilku pasjonatów może wiele zdziałać i nie zostać w tyle nawet przy tak trudnej konkurencji.

    Zacznijmy od początku, główną różnicą jaka mi rzuciła się w oczy było to, iż ekipa z Łodzi zdecydowała się, aby wszystkie prezentacje trwały tylko 45 minut, w przeciwieństwie do JDD, gdzie wykłady były po 45 jak i 90 minut. W moim odczuciu, krótsze sesje są zdecydowanie lepszym pomysłem. Owszem niektórzy prelegenci dwoili się i troili, żeby zmieścić całą prezentację w jednej godzinie lekcyjnej, a pytania czasem musiały odbyć się na przerwie, ale dzięki temu żadne ze spotkań mi się nie dłużyło i wszystkie były dość dynamiczne. Poza tym, uważam, że konferencja to nie miejsce na pokazywanie dziesiątek linii kodu, a jedynie krótka podróż po nowej technologii, która ma nie tyle mnie czegoś nauczyć, co zachęcić, aby zgłębić dany temat jak tylko będzie ku temu okazja. Dodatkowo długie wykłady są znacznie bardziej wymagające dla prezentujących, a ci, nie zawsze radzili sobie najlepiej. Doskonale zdaję sobie sprawę z tego, że większość z tych ludzi, to po prostu programiści, którzy chcieliby się podzielić swoją wiedzą i pewnie często kosztuje to ich wiele godzin przygotowań, a także stresu jaki zawsze wiąże się z publicznymi wystąpieniami. Nie zrozumcie mnie źle, uważam, że to wspaniali ludzie i chwała im za to co robią, ale czasem odnosi się wrażenie, że oni zupełnie nie pasują do miejsca, w którym się znaleźli. Nie mam tu na myśli przygotowania merytorycznego, bo to na pewno było na bardzo dobrym poziomie, ale do sposobu prezentowania. Takie wpadki zdarzały się zarówno na jednej, jak i drugiej konferencji, chociaż zdecydowanie bardziej odczułem to na krakowskiej JDD. Być może dlatego, że tam, tych prelekcji było więcej, a może dlatego, że na płatnej konferencji (i to nie mało, bo ceny wahały się od 500 do ponad 1000 złotych), mówcy powinni być pewni i sprawdzeni, a nie przypadkowi. Żeby nie być gołosłownym, przytoczę tu drugi, wspólny wykład na JDD. Dodatkowo dla wielu uczestników, w tym także mnie, była to pierwsza prelekcja tej konferencji, która dość mocno ugasiła mój początkowy entuzjazm.
    Chciałbym jeszcze nieco ponarzekać na dość mało istotne elementy, które jednak zepsuły końcowy odbiór obu imprez, a zacznę od krakowskiej JDD. To co bardzo rzuciło mi się tam w oczy to fakt, że całość sprawiała wrażenie, iż robiona była nie tyle z zamiłowania czy pasji, a jedynie dla pieniędzy. Niby nie ma w tym nic złego, ale trochę brakowało tej ciepłej atmosfery towarzyszącej łódzkiemu spotkaniu. Dodatkowo byłem bardzo zawiedziony prezentacją Ralpha Johnsona o wzorcach projektowych i nie mam tu na myśli samego mówcy, a złą organizację. Jasnym jest, że to znana postać i wielu chciałoby go posłuchać, ale nie wiedzieć czemu, ktoś z organizatorów uznał, że ten wykład odbędzie się chyba w najmniejszej sali, gdzie ludzie siedzieli i stali dosłownie wszędzie, a duszno się zrobiło już po 13 minutach. Warto jednak pochwalić JDD za katering, a także Food Trucka, który podobno się pojawił – podobno, bo ja osobiście go nie widziałem. Pomysł tak samo dobry i trafiony jak wojskowa grochówka podawana przez łódzkich organizatorów. Niestety na Mobilizacji też nie obyło się bez wpadek, a jedną z nich na pewno były niektóre wykłady dotyczące nie tyle technologii co produktu danego sponsora, ale na szczęście były to pojedyncze przypadki i zawsze można było wyjść i wybrać coś bardziej interesującego.

    Podsumowując obie konferencje były na bardzo wysokim poziomie i w zasadzie nie można im zarzucić jakiś rażących błędów czy wpadek, a wszystkie wady jakie opisałem wydają się być dość błahe i małe w odniesieniu do całości przedsięwzięć, jakie zostały zorganizowane. Jeżeli jednak miałbym wybierać? Swoją opinię wyrażę parafrazując słowa prof. Władysława Bartoszewskiego: otóż warto jechać na JDD do Krakowa, ale się nie opłaca, natomiast odwiedzenie Mobilizacji się opłaca i zdecydowanie warto!

Sunday, November 1, 2015

October @JUGLodz - Java8,Java9,Haskell,Mongo and many more!

October was a very intensive month on JUG Lodz. We saw eight presentations (in total) and had a chance to participate in couple of workshops. There was a presentation about Java8, another even about Java9 and... no we did not have anything about java 10 :) We also had a chance to learn about practical use of mongoDB and dive into more abstract field of Monads theory.

CompletableFuture and Java8

We started with an excellent presentation conducted by the speaker of Confitura conference - Tomasz Nurkiewicz (@tnurkiewicz)

Tomek is writing a book about RxJava so if you are interested just follow his profile on twitter!

MongoDB and Java Developers

One week later Wiktor Sztajerowski @WSztajerowski showed us how Java developer can use MongoDB in his daily work.
Wictor is going to conduct some practical workshops about MonfoDB so if you are interested follow him on tweeter or check regularly JUG's channels.

Java 9 is coming

We started second half of October with great presentation about Java 9. Dominik Przybysz @alien11689 presented many new interesting features which are going to be introduced "After Java 8" like modern modularisation with project jigsaw or REPL similar to those already available in Scala, Clojure or Haskell.

Rise of Haskell Community

In October we witnessed birth of new "Functional" community grouped around very advanced and powerful language - Haskell. Artur Czajka @tr00per87 shown during his lecture that mathematics can be very useful in our practical daily work.
Beside standard lecture we also had chance to learn practical side of Haskell during BYOL Workshops

Jugtoberfest

October ended with "JUGtober" - a mix of interesting presentations, beer and tasty food.
We had a chance to see a presentation made by Marcin Kowalski @marcinkowalski about Slick - quite new approach towards data layer in comparison to what we did with Hibernate for last 10 years
Next one was Michał Ostruszka @mostruszka - he presented his rich knowledge about all application layers in the presentation about modern validation mechanisms.
Third lecture enriched our knowledge about front end layer and the world of 1000 javascript frameworks - a spectacle by Kuba Waliński @kubawalinski
Last presentation was mine about Functional Programming.(PawelWlodarski)

What next? Akka, AOP, Haskell, CodeRetreat and DataScience

In November we are going to have a special guest - Adrian Bolboaca who accept our invitation to host this year's Global Day of Code Retreat event. GDCR will take place on Saturday 14th.


Data Science starts

Spark workshops were continued in October and in November - thanks to new group - Data Science Lodz it should gradually move from simple mechanical exercises on Spark towards solving real world analytic problems. Stay tuned!

How to contact us

If you want to present something on JUGLodz then just contact us : contact@juglodz.pl