tag:blogger.com,1999:blog-40510096807124525642024-03-24T16:32:20.962-07:00Jug ŁódźLudzie połączeni pasją programowania (Z Łodzi i nie tylko)Stowarzyszenie JUG Łódźhttp://www.blogger.com/profile/07311784699047317038noreply@blogger.comBlogger75125tag:blogger.com,1999:blog-4051009680712452564.post-26496577380514691162018-04-02T23:41:00.003-07:002018-04-02T23:41:41.163-07:00Geecon 2017 - recenzja
<style type="text/css">p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: left; }p.western { font-family: "Liberation Serif",serif; font-size: 12pt; }p.cjk { font-family: "Droid Sans Fallback"; font-size: 12pt; }p.ctl { font-family: "FreeSans"; font-size: 12pt; }a:link { }</style>
<br />
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Witam.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Jako
zwycięzca loterii JUG Łódź, wybrałem się na konferencję
<span style="color: navy;"><span lang="zxx"><u><a href="https://2017.geecon.org/">https://2017.geecon.org/</a></u></span></span>,
która odbyła się w dniach 17-19 maja 2017 w Krakowie.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
W
sumie była to moja druga konferencja Geecon'a na jakiej byłem i
mogę Wam powiedzieć że jedyne czego żałuję to, iż była to
dopiero druga, na łącznie dziewięć jakie się już odbyły.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Ujmując
rzecz krótko Geecon zdecydowanie mnie nie zawiódł, zarówno
poziomem organizacyjnym jak i merytorycznym. Kilka powodów dla
których uważam, iż krakowski Geecon warto sobie zapisać do
kalendarza na kolejne, przyszłe edycje :</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
1)
Miejsce : bardziej mam tu na myśli sale niż sam Kraków, który
oczywiście też jest fajnym miastem. Geecon, już trochę
tradycyjnie, odbywa się w Multikinie. Moi skromnym zdaniem
multiplex-owe kino jest chyba najlepszym miejscem na organizacje
konferencji programistycznych :
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
duże sale ( do 500 miejsc siedzących)</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
duży ekran do prezentacji</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
bardzo dobra widoczność z każdego miejsca</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
dobre nagłośnienie i akustyka sal</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
duża ilość miejsca poza salami wykładowymi.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Jedynym
minusem jest może przepustowość samych wejść do sali, co przy
pełnej 500 osobowej sali jest pewnym „wąskim gardłem” no ale
cóż wszystkiego mieć nie można. Gdyby przyszło mi organizowanie
konferencji programistycznej z pewnością rozważyłbym jako jej
miejsce właśnie takie kino.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
2)
Termin konferencji - rzecz również nie bez znaczenia, gdyż
zdecydowanie przyjamniej jest jechać na konferencję w ciepły
majowy dzień niż jakiś mroźny zimowy - a i na takich
konferencjach się bywało.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
3)
Organizacja samej konferecji - absolutnie bez zarzutu, sprawna
obsługa rejestracji, kateringu. W imprezach pomiędzy dniami
konferencji nie uczestniczyłem ale sądząc po stopniu „zmęczenia”
niektórych uczestników też musiały być udane.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
4)
No dobra może teraz do jakiś konkretów bo wyjdzie, iż na Geecona
warto jechać by się poopalać w majowym słońcu najeść i napić
:)).
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Poziom
wykładów - bardzo dobry ! Wykłady odbywają się jednocześnie na
4 salach więc siłą rzeczy na wszystkich być nie można i z czegoś
trzeba zrezygnować na rzecz czegoś innego. Nie ma tam zasady
ścieżek tematycznych, więc należy trochę krążyć pomiędzy
salami w poszukiwaniu tego, co Nas interesuje. Mnie udało się tak
dobrać sobie prezentacje, iż trafiłem na wyłącznie takie z
których jestem na prawdę zadowolony. Dało się co prawda
usłyszeć, w ramach rozmów korytarzowych, narzekania osób iż „źle
wybrały sobie jakąś prezentację” no ale cóż - tak też bywa.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Generalnie
tegoroczny Geecon był zdecydowanie z nastawieniem na „server side”
więc jeżeli ktoś spodziewałby się wielu prezentacji o
technologiach/aplikacjach mobilnych bądź też front-endzie to
raczej by się zawiódł.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Ponieważ
tak jak wspomniałem wcześniej był to mój 2nd Geecon to mogę
powiedzieć, iż ServerSide jest raczej dominującą tematyką.
Większość prezentacji Geecon'a jest o „Java and JVM based
technologies” - zgodnie z tym co zapowiadają na stronie
konferencji. W ramach każdej edycji zapraszany jest przynajmniej
jeden prelegent z bardzo wysokiej półki. W tym roku prezentację
kończońcą konferencję prowadził Rod Johnson - twórca frameworka
Spring.</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Powiem
tak, trochę się najeździłem po różnych konferencjach i mogę z
czystym sumieniem polecić Geecon'a jeżeli interesują cię
szczególnie technologie bazujące na JVM i jesteś bardziej
programistą aplikacji „server side” niż aplikacji mobilnych
lub front-endowcem.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Na
zakończenie garść porad praktycznych :
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
gdybyś miał się wybierać na jakąś konferencję wyjazdową to
Geecon'a zdecydowanie polecam - jak dla mnie jest to numer 1, a byłem
już na wielu różnych konferencjach.</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
jeżeli się już na Geecon wybierasz to wyjedź dzień wcześniej i
wróć dzień po konferencji. W prawdzie zapłacisz trochę więcej
za noclegi, ale się nie umęczysz w podróży ani nie będziesz się
zastanawiał co zrobić ze sobą i swoimi rzeczami w ostatnim dniu
konferencji. Poza tym możesz wykorzystać ten dodatkowy czas na
pozwiedzanie Krakowa, a chwila odpoczynku każdemu dobrze zrobi.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
lepiej jest pojechać większą grupą niż samemu,</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
-
jeżeli nie możesz się zdecydować na jaką prezentację pójść o
danej godzinie, wybierz tą która jest w największej sali - ta
taktyka mi się sprawdziła już nie raz.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Geecon
2018 będzie jubileuszową, 10 edycją. Organizatorzy zapewniali, iż
z tej okazji przygotują coś „EXTRA”. Mając na względzie
doświadczenia z tej i poprzedniej mojej wizyty na Geecon uważam iż
będzie warto wybrać się w maju 2018 roku do Krakowa.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
dziękuje
i pozdrawiam</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Tomek
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
p/s</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Nie
wiem czemu tak się stało, że w/w powstała na koniec maja 2017
roku i nie została przeze mnie nigdy przesłana ani opublikowana.
Mogę się jedynie tłumaczyć nadmiernym obciążeniem wszelkimi
obowiązkami zawodowymi oraz domowymi, a także zwykłym
roztargnieniem.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Nie
ma jednak tego złego co by na dobre nie wyszło i mogę recenzje
wzbogacić o refleksję na temat przydatności technologii
prezentowanych na prelekcjach.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Mam
pewną niepisaną zasadę, iż uznaję konferencję za udaną jeżeli
choć jeden z prezentowanych materiałów uda mi się faktycznie
wdrożyć i używać produkcyjnie.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
Geecon
2017 z pewnością był udany gdyż wzbogacił mój zbiór narzędzi
o ciekawy projekt analizatora logów <span style="color: navy;"><span lang="zxx"><u><a href="https://www.graylog.org/">https://www.graylog.org/</a></u></span></span>
, który udało Nam się zastosować produkcyjnie w dość dużej
realizacji i mogę z czystym sumieniem zarekomendować GrayLoga jako
coś wartego uwagi.
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br />
</div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
</div>
Anonymoushttp://www.blogger.com/profile/17682310973663811753noreply@blogger.com3tag:blogger.com,1999:blog-4051009680712452564.post-68426515687554027662017-07-11T00:08:00.001-07:002017-07-11T00:13:50.188-07:00Devoxx 2017<span style="font-size: small;">
</span><div style="line-height: 137%; margin-bottom: 0in;">
<span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Devoxx
2017</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span>
</div>
<span style="font-size: small;">
</span><span style="font-size: small;"><br /></span>
<br />
<span style="font-size: small;">
</span><div style="line-height: 165%; margin-bottom: 0in;">
<span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Tegoroczny
Devoxx w Krakowie trwa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
od 21 do 23 czerwca i odby</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
w centrum kongresowym ICE, które wed</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ug
organizatorów mo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
pomie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ci</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
ponad 2 tysi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ce
osób, jest to zatem jedna z najwi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">kszych
o ile nie najwi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ksza
konferencja dla programistów w naszym kraju. Dzi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ki
uprzejmo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ci
JUG </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ód</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ź</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
mia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">em
okazj</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
wzi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ąć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
w niej udzia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
za co jestem niezmiernie wdzi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">czny.</span></span></span></span></span></div>
<span style="font-size: small;">
</span><span style="font-size: small;"><br /></span>
<br />
<span style="font-size: small;">
</span><div style="line-height: 165%; margin-bottom: 0in;">
<span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Przejd</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ź</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">my
zatem do opisu samych prelekcji. Zaraz po otwarciu na scen</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
wyszed</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><b>Venkat
Subramanian</b></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">,
który mówi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
o potrzebie coraz szybszego wytwarzania rozwi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">za</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ń</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
programistycznych, o znienawidzonym przez wszystkich programistów
pytaniu “Are you done yet ? “ i o tym, jak bez odpowiedniego
podej</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">cia
doprowadzi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
projekt do fiaska. Prezentacja pokaza</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
równie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
dlaczego programi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ci
powinni pisa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
testy i dba</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
o quality swojego kodu, tak by nie utkn</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ąć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
w JDD, czyli Jesus Driven Development. Kolejn</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
interesuj</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ca
prezentacja z dnia pierwszego by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
autorstwa </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><b>Douglasa
Howkinsa</b></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">za</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
jej tytu</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
to </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">“</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><i><b>Concurrency
concepts in Java” </b></i></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">,</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">zatem
co</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
czym s</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">yszeli</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">my
ju</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
wielokrotnie, prezentacja ta by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
jednak nieco inna, autor nie skupia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
na konkretnych przyk</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">adach
programistycznych, ale zamiast tego próbowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
pokaza</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
jak to wygl</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">da
“od </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">rodka”,
czyli w jaki sposób kompilator mo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
reorganizowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
kod i jaki to mo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
mie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
wp</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">yw
chocia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">by
na widoczno</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ść</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
zmiennych mi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">dzy
w</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">tkami.
Nast</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">pnie
trafi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">em
prosto na wyk</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ad
o Clean Code prowadzony przez Victora Rentea, poza konceptami szeroko
poruszanymi we wszystkich ksia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">kach
na temat clean code’u, a wi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">c
odpowiednim nazywaniu metod, rozwa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">aniami
ile linijek mo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
mie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
nasza klasa a ile powinna miec metoda, autor mówi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
równie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
o Javie 8 i o tym jak u</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ywac
Lambd i Streamow, by nie doprowadzi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
do sytuacji w której nasz kod staje si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
zupe</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">nie
nieczytelny - ka</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">dy
kto pracowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
z Java 8 wie, </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
o to nietrudno. Nast</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">pnie
rozpocz</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ęł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
sesja Meet & Greet w trakcie której kilku prelegentów
prowadzi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">o
dyskusje, jedn</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
z nich by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
dyskusja na temat popularnego ostatnio Kotlina i jego zastosowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ń</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
w firmie Allegro, z dyskusji mo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">na
si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">o
z niej dowiedzie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
mi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">dzy
innymi, dlaczego u</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ywaj</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
oni Kotlina “na produkcji” w czym jest lepszy od Javy i dlaczego
w ich przypadku zdeklasowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
Scale.</span></span></span></span></span></div>
<span style="font-size: small;">
</span><span style="font-size: small;"><br /></span>
<br />
<span style="font-size: small;">
</span><div style="line-height: 165%; margin-bottom: 0in;">
<span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Dzie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ń</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
drugi to mi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">dzy
innymi kolejny temat “na topie” a wi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">c
nowa Java, </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><b>Simon
Ritter</b></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">i
jego prezentacja </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">“</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><i><b>55
new features in JDK 9”</b></i></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">jak
sama nazwa wskazuje skupia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
na tym co nowego zobaczymy w nowej wersji j</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">zyka.
Poza omawianymi szeroko Jigsawem, czyli modularno</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ci</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
i d</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ugo
oczekiwanym jshellem, Simon opowiedzia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
równie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
o usprawnieniach zwi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">zanych
ze strumieniami i wielow</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">tkowo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ci</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">,
prywatnymi metodami w interfejsach, czy zmianach zwi</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">zanych
z zachowaniem struktury kodu w czasie kompilacji. Warto równie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
wspomnie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
o prezentacji Sama Newmana, który opowiedzia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
o </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span lang="en-US"><span style="font-style: normal;"><span style="font-weight: normal;">bezpieczeństwie</span></span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
w mikroserwisach, o tym w czym mikroserwisy s</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
lepsze od monolitu je</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">li
chodzi o kwestie bezpiecze</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ń</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">stwa
i dlaczego, ale </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">eby
nie by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">o
tak kolorowo, by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
równie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
mowa o ich wadach w szczególno</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ci
problemach z maintenance’ m i wykrywaniem ataków. Je</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">eli
mieliby</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">my
zapami</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ta</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
z prezentacji tylko jedn</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
rzecz, niech to b</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">dzie
fakt, </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
najlepsz</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
metod</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
reakcji na atak jest usuni</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">cie
wszystkiego i przywrócenie backupów z momentu co do którego
jeste</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ś</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">my
pewni, </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ż</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">e
system by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
“czysty”. Kolejna interesuj</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ca
prezentacja to znowu </span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><b>Doug
Hawkins</b></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">i
</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">“</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><i><b>Java
Performance Puzzlers”.</b></i></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-weight: normal;">
</span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Jeszcze
raz by</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
mowa o JVM i jego wewn</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">trznym
dzia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">aniu,
o tym jak architektura CPU wp</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ywa
na optymalizacj</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
JVM, i dlaczego ta architektura nie zawsze dzia</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
na nasz</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
korzy</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ść</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">.
By</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">a
mowa o tym, jaka jest maksymalna d</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ugo</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ść</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
bytecode’ u która JVM b</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">dzie
próbowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
optymalizowa</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ć</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">.
Dzie</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ń</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
drugi, podobnie jak pierwszy zako</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ń</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">czy</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ł</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
si</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ę</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
sesj</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">ą</span></span></span></span></span><span style="color: black; font-size: small;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span style="font-style: normal;"><span style="font-weight: normal;">
Meet & Greet przy piwku.</span></span></span></span></span></div>
<span style="font-size: small;">
</span><span style="font-size: small;"><br /></span>
<br />
<span style="font-size: small;">
</span><div lang="en-US" style="font-style: normal; font-weight: normal; line-height: 165%; margin-bottom: 0in; text-decoration: none;">
<span style="color: black; font-size: small;"><span style="font-family: Arial, sans-serif;">Dzień
trzeci to talki głównie o architekturze i mikroserwisach, pierwszy
z nich “Resilient Architecture” prowadzona przez Matta Stine,
skupiła się na pokazaniu różnic między architekturą, którą
tworzymy dziś a tą która powstawała dziesięć lat temu.
Największą różnicą jest zasada “Embrace Failure”, której
trzymamy się dziś. Nie tworzymy więc aplikacji, która jest
niezawodna, ale zakładamy, że prędzej czy później dojdzie do
jakichś błędów, które spowodują niedostępność części
systemu i staramy się na to przygotować, tak by
zminimalizować straty. Pewnym rozwiązaniem tego problemu wydają
się mikroserwisy. Które nie rozwiązują jednak wszystkich
problemów związanych z resiliency. Na prezentacji była mowa o
kilku technologiach, które mogą pomóc w budowaniu tego typu
aplikacji. Są to między innymi Hystrix czy Chaos Monkey.
Dalej o architekturze mówił Jakub Kubryński w prezentacji
“Microservices - the naked truth of maintainability”. Ta
prezentacja była inna niż większość prezentacji o
mikroserwisach, zazwyczaj słyszymy jakie to wielkie zyski przynosi
przeniesienie się z monolitu na mikroserwisy, mało zaś mówi się,
że utrzymanie architektury mikroserwisowej jest zdecydowanie
trudniejsze i dużo bardziej wymagające. Testy integracyjne
mikroserwisów są zazwyczaj zarówno trudne, drogie i czasochłonne.
Jakub starał się pokazać, że z odpowiednim podejściem, możemy
ograniczyć koszty i ilość testów integracyjnych, skupiając się
na unitowych i pozwalając użytkownikom zweryfikować pełną
funkcjonalność.Ostatnia prezentacja miała nieco dziwny i
intrygujący tytuł “PsyPhilProg” i była prowadzona przez
Teda Newarda, który mówił o podobieństwach między programistami,
psychologami i filozofami, o tym, że przedstawiciele tych trzech
grup muszą się zmagać z wielopoziomowymi abstrakcjami, które są
niespotykane nigdzie indziej. Jedną najcenniejszych rad wynikających
z tej prezentacji była ta, że programiści w pracy powinni zadawać
filozoficzne pytania jak “po co?”, “dlaczego?”, gdyż mogą
one zmienić nasze postrzeganie problemu z którym się zmagamy.</span></span></div>
<span style="font-size: small;">
</span><div style="line-height: 165%; margin-bottom: 0in;">
<span style="font-size: small;"><br /><span style="color: black;"><span style="text-decoration: none;"><span style="font-family: Arial, sans-serif;"><span lang="en-US"><span style="font-style: normal;"><span style="font-weight: normal;">Tegoroczny
Devoxx miał bardzo mocny “skład” i w ciągu wszystkich trzech
dni można się było dowiedzieć masy ciekawych i przydatnych
rzeczy, trudno by mi było wybrać najlepszą prezentację czy też
najlepszego prelegenta. W tym krótkim poście starałem się zawrzeć
opisy najciekawszych moim zdaniem prezentacji ze wszystkich trzech
dni. <br /><br />Do zobaczenia za rok w Krakowie!<br />Dominik</span></span></span></span></span></span></span></div>
<span style="font-size: small;">
</span><div lang="en-US" style="font-style: normal; font-weight: normal; line-height: 165%; margin-bottom: 0in; text-decoration: none;">
<span style="font-size: small;"><br /></span>
</div>
<span style="font-size: small;">
</span>Anonymousnoreply@blogger.com2tag:blogger.com,1999:blog-4051009680712452564.post-90316469678521333802017-05-31T06:27:00.000-07:002017-05-31T06:27:05.955-07:00MCE 2017 - wygrany bilet “Bo mam szczęście”<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dzięki Łódzkiemu JUG-owi oraz firmie Proidea wygrałem bilet na jedną z największych konferencji w Polsce dotyczącą technologii Mobilnych. Konferencję uważam za naprawdę udaną. Na duży plus zasługuje podział na poszczególne bloki tematyczne (ANDROID, DESIGN, IOS) sprawia to że konferencja skierowana jest do szerszego grona odbiorców nie tylko do developerów ale także designerów jak i grafików. Konferencja trwała 2 dni organizatorzy zapewnili wszystko Prezentacje, Jedzenie, jak i rozrywkę(konsolę, oraz gra networkingowa). Mnie osobiście podczas całej konferencji spodobały się 3 prezentacje. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">1 Psy i Koty w której prelegenci opowiadali jak trzymać w ryzach team - war czyli wojnę pomiędzy Androidem oraz IOS i uwaga jest na to rozwiązanie KOTLIN(nie ten ketchup, tylko język) . Według mnie najbardziej udana prezentacja wiele żartów oraz wzajemne przygryzanie sobie nawzajem prelegentów sprawiły że prezentacja była według mnie najlepszą ze wszystkich.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">2 Odchudzanie aplikacji, według mnie najbardziej merytoryczna prezentacja całego MCE. Czyli co zrobić żeby nasze aplikacje zamiast 40mb ważyły tak ze 27mb ,sposoby na oszczędzanie pamięci,(bawienie się formatami grafik, zasady czystego kodu itd...).</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3 Aplikacje dla Afryki, Prezentacja przeznaczona bardziej dla freelance’rów. Afryka nie jest kontynentem opóźnionym o 1000 lat, mieszkańcy posiadają smartphon’y i internet. Natomiast na tamten rynek nie ma przeznaczonych tak wiele aplikacji, dlatego należy uznać tamtejszy rynek jako łatwiejszy do ekspansji niż rynek Europejski, Azjatycki czy “Hamerykański”. Także do dzieła :) piszmy i zarabiajmy :)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<span id="docs-internal-guid-76ebc0df-5eaf-bc95-1eb6-bd406efa4cb5"></span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pragnę dodać że mnie interesowały tematy dotyczące Androida, nie byłem na żadnej prezentacji dotyczącej designu - teraz trochę żał</span><span style="background-color: transparent; color: #512da8; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;">ó</span><span style="background-color: transparent; color: #00796b; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">u</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ję ponieważ wielu ludzi zachwalało sobie szczególnie ten moduł. Zachwalaną prezentacją była również prezentacja dotycząca linkowania. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pozdrawiam i jeszcze raz dziękuję naszemu JUG-owi oraz firmie ProIdea.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Paweł Dawiduk </span></div>
Anonymoushttp://www.blogger.com/profile/05388696731344796078noreply@blogger.com2tag:blogger.com,1999:blog-4051009680712452564.post-14065102754055351362017-05-03T03:09:00.000-07:002017-05-03T03:09:51.843-07:00Scalasphere 2017 by Jędrzej Nowowiejski & Sebastian Szyller<p>Beginning of March in Cracow brought us the 2nd edition of this conference. Scalasphere could be categorized as quite unusual as it's focused not on academic discussions, frameworks or languages themselves but rather on tooling. Tooling, which usually is not perceived as valuable itself (that's a shame). Fortunately, we know the truth, the truth that these 'secret friends' help us be effective and successful on a daily basis. All developers using such complex and rich languages as Scala will probably agree that without proper automated help they would spent significantly more time doing things that seem trivial in other languages. Frankly, it's amazing that this conference gathered around 200 people that are not only interested in this kind of software but also eager to spend their free time on improving these tools. Congratulations to organizers and kudos to everyone that participated! Let's start with a few words about the venue. Beautiful view on Wisła river and real palms growing inside a building were so impressive and made us curious what would come next. Big lecture-rooms, interesting sponsors’ stands and nice coffee service and we were finally prepared to absorb knowledge. To write about all talks that we attended would take too much space and time to read about, especially that all of them are available on the conference website/youtube (<a href="https://scalasphere.org/">scalasphere.org/</a>). Therefore, in this review we decided to focus on <strong>"the things", s</strong>the things that we as participants are taking home (of course except sponsor's gifts;)). Bear in mind that it's very opinionated and does not cover everything that was presented at ScalaSphere, so we strongly recommend to check talks online by yourself.</p>
<ol>
<li><strong>Scala compiler is slow, but this is not a curse.</strong> We believe that many new Scala coders are not aware that the way they are writing apps may radically change the compilation time. The great example are <em>implicits.</em> They are a really powerful tool that may be applied in many different contexts. However as one of the comics says: "With Great Power Comes Great Responsibility" and that's really true when it comes to <em>implicits.</em> Compiler is doing many things for you and one of them is <em>resolution of implicits</em>. It has to take time, if you have many of them in scope and you don't want to help compiler hunt them. Advice: always think about their scope, it will save a lot of CPU time. But that's not all that you can do to decrease compile time:)
<p>Secondly, there was a common theme that was present during different talks and that’s speed of the type parser. We all know that compilation consists of different subtasks like indexing or bytecode generation and the abovementioned type parsing is also one of such steps. Long story short, the role of the type parser is to analyse all types in the code and generate a syntax tree that can be later used to validate the type-safety of the code and then make the bytecode from it. It’s worth pointing out that this task is crucial because at the bytecode level JVM does not handle any types explicitly, but only implicitly through static type inference. This is particularly important in case of Scala as its generics are a lot more powerful than the Java counterparts and more widely used, when it comes to mainstream development. As a result, many people tried to come up with a solution that would speed up the overall compilation time e.g. via caching partial compilation results (Krzysztof Romanowski <a href="”https://twitter.com/RomanowskiKr”">@RomanowskiKr</a> from Virtus Lab), using distributed version of the Scalac compiler (Hydra compiler from <a href="”https://twitter.com/triple_quote”">@triple_quote</a> - you can see that they already helped a lot Zalando to make their builds over a <a href="”https://tech.zalando.com/blog/achieving-3.2x-faster-scala-compile-time/”">3x faster</a>) or trying to reinvent the type parser itself (Scala.meta). Let’s focus on the last case. It should be noted that at the moment there are three official type parsers in Scala - in Scalac (used in sbt, comes with the Scala distribution), in dotty-compiler (next version of Scalac that will come with Dotty i.e. Scala version 3.0) and in IntelliJ’s (or rather IntelliJ Scala plugin’s) implementation of the Scala compiler and presentation compiler. They do not differ substantially but unfortunately in all cases the type parsing step is quite slow. This is where Scala.meta comes to the rescue. This library is supposed to work on the meta-level of the language and fill the role of the Scala’s reflection API as well as replace or at least aid the procedure of the building the abstract syntax tree. But what is abstract syntax tree? Every language has types, keywords and syntax features that define how the code is written. AST is a tree representation of all those constructs and in the end it corresponds to a semantically consistent structure that represents our code. So far, Scala.meta is in quite early stages but it already shows promising results. Furthermore, rumour has it that JetBrains is planning to invest time in Scala.meta and rewrite its Scala plugin using that library. The only thing that is really needed are contributors so feel free to have a look at the git repository and drop a pull request or two!</p></li>
<li><strong>Find new usage of already existing simple language mechanisms.</strong> That point was inspired by Jon Pretty <a href="”https://twitter.com/propensive”">@propensive</a> talk about contextual. Library that allows you to use String interpolation to validate your inputs. It already supports: some bash command’s syntax, emails, jsons, xml and some more. You can also use it to add your own implementations and that sounds great. To be honest we were sceptical about that as interpolators are applied during compilation phase, so it will work only for strings that you as developer put directly in the codebase. However (thanks to Kamil Owczarek) we found a way to use it in our daily work, we can use it when we want to write some tests with jsons and validate their content (at least on the json specification correctness level). Also bush support sounds promising and may be a true friend, which helps you to avoid unexpected problems in Production runtime as again <u>it works during compilation</u>, so you will know that you made a mistake, before you will try to run it! It took our some time, but we realized that the real greatness, which stands behind it, is to move runtime errors to compilation phase and solve them there. Genius! That conept is amazing. Now we are thinking, if we can’t use some other similar concepts to move further - really interesting homework :)<br /></li>
<li><strong>Building community is really important and Scala have great one.</strong> After conference organizers invited everyone to join hackathon. What's more during this event people made some PRs for scalafmt etc. (<a href="https://twitter.com/olafurpg/status/837758947985620992">Ólafur Páll Geirsson about hackathon</a>). We think that's cool, that we are not only using, but also actively trying to help develop tools.</li></ol>
<p>To sum up conference was really nice, great after party and comfortable venue. There was also chance to participate in sister ReactSphere that was taking part at the first day of ScalaSphere (where Jan Pustelnik and Kamil Owczarek from Lodz have their talk), but we were too interested in tooling and missed almost all talks there. Can we recommend this conference to other people - yes and no at the same time. If you didn't work with Scala, we have a mixed feelling if you should go there. You would see that Scala compiler is slow and people work on improving it, developing tools to help you with refactoring, debugging and dependency management, but this is still WIP. That may discourage you from trying to work with it. That's a mistake! You can do many things in this language (for sure more than in Java), but you have to be aware that Scala compiler is doing many things for you, just to let <u>you</u> reduce time of writing code and that comes with price. If you want to spend less time coding, compiler have to do more things for you and that's the tradeoff. You have to choose wisely what you prefer: lower compilation time or flexibility and powerful type system. From the other hand we can recommend this conference to all people who already worked with Scala. It was a real pleasure to be 'an ambassadors' of JUG Łódź at this conference (thanks again for tickets JUG!).</p>
<p>Jędrzej Nowowiejski & Sebastian Szyller</p>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com3tag:blogger.com,1999:blog-4051009680712452564.post-18044320020330922262017-02-27T01:50:00.000-08:002017-02-27T01:56:41.707-08:00Lambda Days 2017<div style="text-align: justify;">
Konferencja Lambda Days 2017 odbyła się 9-10 lutego 2017 roku w Krakowie. Dzięki temu, że JUG zorganizował nam możliwość uczestnictwa w tym wydarzeniu, odrobinie szczęścia oraz temu, że opłaciłem składkę członkowską, miałem okazję odwiedzić Kraków i posłuchać ciekawych prelekcji z tematyki programowania funkcyjnego. </div>
<div style="text-align: justify;">
<br />
Zanim przejdę do relacjonowania wysłuchanych prelekcji, opowiem Wam trochę o kwestiach techniczno – organizacyjnych. Konferencja, podobnie jak w ubiegłym roku, odbyła się w budynku Auditorium Maximum UJ. Uczestnicy i prelegenci zajmowali trzy aule – dwie małe i jedną dużą. Jak na prognozowane 500 uczestników, miejsca było wystarczająco dużo. Nie zdarzyło się, żeby dla kogoś zabrakło krzesła na sali, jak widywałem na bardziej obleganych prezentacjach GeeCona. Organizacja konferencji również przebiegała dość sprawnie – szybka rejestracja, dobrze zorganizowana szatnia, catering i rozrywki w przerwach między prelekcjami. Doskwierał mi jedynie (z resztą nie tylko mi) problem z dostępnością gniazdek do podłączenia laptopa, zarówno w aulach jak i na korytarzach. Pojedyncze wolne gniazda były „porezerwowane” do przodu. Dało się jednak obyć bez laptopa. Jeśli chodzi o organizację, muszę również pochwalić catering. Lunche i przekąski były naprawdę dobre i w wystarczających ilościach. Nie zabrakło również słodkich przekąsek w wersji light, co również było na plus. Pojawiło się nawet bezglutenowe ciasto, strefy crossfit niestety nigdzie nie znalazłem :)</div>
<div style="text-align: justify;">
<br />
Przejdźmy jednak do rzeczy. Pierwsza prezentacja rozpoczęła się z kilkuminutowych opóźnieniem, warto było jednak być cierpliwym i nie uciekać z głównej auli. Jako pierwsi wystąpili John Hughes oraz Mary Sheeran. W swojej prelekcji pt. „Why Functional Programming Matters” zainspirowanej artykułem Johna o tej samej nazwie z przed przeszło 25 lat. Para mówiła o historii i znaczeniu programowania funkcyjnego. I tak cofnęliśmy się do roku 1940. John opowiadał o koncepcji programowania funkcyjnego wymyślonej przez Alonzo Churcha, w której typy czy struktury danych były zastąpione funkcjami. John przytoczył również artykuł P.J Landina pt. „The Next 700 Programming Languages”, w którym autor opisał koncepcję języka ISWIM (“If You See What I Mean”). Po chwili na scenie pojawiła się Mary z artykułem Johna Backusa “Can Programming Be Liberated from the von Neuman Style? A Functional Style and Its Algebra of Programs” opisując matematyczny koncept programowania funkcyjnego. Po kilku artykułach autorzy przybliżyli nam swoje koncepcje opisane w ich autorskich artykułach. Po drodze spotkaliśmy się również z funkcyjnymi językami jak Lava czy Bluespec. Podsumowując, była to bardzo ciekawa prelekcja poprowadzona w interesujący sposób, z czystym sumieniem mogę powiedzieć, że jest warta miana Keynote. Nagranie prelekcji jest już dostępne na YouTube.</div>
<div style="text-align: justify;">
<br />
Po keynote udałem się na dwa krótkie talk’i w ramach ścieżki Research Track. Najpierw profesor Uniwerytetu Warszawskiego Stanisław Ambroszkiewicz mówił o koncepcji sprzętowego programowania funkcyjnego. Następnie gość z Univeristy of St Andrews Kevin Hammond zaprezentował swoją pracę pt. „Automatically Deriving Cost Models for Structured Parallel Programs using Types and Hylomorphisms”. Obydwie prelekcje mnie nie porwały, sam pomysł ścieżki również, dlatego to były jedyne talki, których wysłuchałem w ramach tej ścieżki. </div>
<div style="text-align: justify;">
<i>I can haz no Futures?</i> Pierwsza, bardzo udana prelekcja z live codingiem. Michał Płachta z Ocado Technology pokazał na żywych przykładach, w jaki sposób poprawić czytelność asynchronicznego kodu w Scali poprzez refaktoring i pozbycie się nadmiarowych Future’ów. Bardzo udany talk, fajne przykłady, poprowadzone w zachęcający sposób – polecam!</div>
<div style="text-align: justify;">
<br />
Po lunchu udałem się na prelekcję Choucri Faheda „Full Stack Type-safety: Elm with Scala”. Był to talk, na którym mogliśmy poznać podstawy języka Elm oraz architektury TEA (The Elm Architecture), wykorzystywanych do tworzenia aplikacji webowych. Z całej koncepcji najbardziej spodobał mi się debugguer ELMa, z możliwością śledzenia historii życia aplikacji.</div>
<div style="text-align: justify;">
<br />
<i>The Dramatic Consequences of the Open Source Revolution: Unrecognized Challenges & Some Modest Attempts at Solutions in Scala</i> Heather Miller, która niestety nie dotarła do Krakowa i prowadziła prelekcję zdalnie, próbowała przedstawić zalety, ale również problemy i ryzyka rozwiązań OpenSource na podstawie głównie ecosystemu Scali. Okazuje się, że technologie OS są już na tyle popularne, że większość firm czy zespołów developerskich w ogóle nie zastanawia się nad komercyjnymi alternatywami. Naturalnym wyborem staje się Open Source – i to jest super. Jest tylko drobny haczyk. Jak mówiła Heather, „życie” wielu znanych i wszechstronnie wykorzystywanych projektów OS jest uzależnione od kilku programistów. Jest to tzw.niski Truck Factor (designates the minimal number of developers that must leave (i.e., get hit by a truck or bus, or win in the lottery) before a project becomes unsustainable [1]). Dlatego musimy znać to ryzyko, analizować i myśleć o potencjalnych problemach w momencie, kiedy decydujemy się na OS. Ale jeszcze ważniejsze jest to, żebyśmy jako programiści angażowali się, tworzyli, dołączali do środowisk ludzi zajmujących się projektami OpenSource. Mimo, że prelekcja nie była ściśle techniczna, bardzo przypadła mi do gustu. Dodam, że fakt braku prelegentki na auli wcale nie ujął nic samej prelekcji i nie dało się odczuć problemów technicznych.</div>
<div style="text-align: justify;">
<br />
<i>Distributed Computing challenges in the gaming and betting industry</i> Sławek Zając, Dyrektor Techniczny w Grand Parade opowiadał, z jakimi wyzwaniem przyszło się zmierzyć jego zespołom w trakcie projektowania i developmentu systemu bukmacherskiego. Sławek najpierw przybliżył nam jak działa taki system oraz jakie wnosi problemy - obsługa milionów wewnętrznych i zewnętrznych zdarzeń, procesowanie 160TB danych dziennie czy 5 milionów dziennych zmian stawek oczywiście przy zachowaniu transakcyjności. Zespołowi udało się to osiągnąć z użyciem aktorów Akka w Scali.<br />
Keynote, który miał zakończyć dzień pierwszy niestety się nie odbył. Idalin Bobé miała poprowadzić prelekcję pt. „The Gap Between Diversity and Social Justice”. Dzięi temu było troszkę więcej czasu na Lightning Talks. Ochotnicy zgłosili 5 krótkich talk’ów – jedne mniej, niektóre bardziej interesujące. Najbardziej utkwił mi w pamięci kolega, który zaprezentował grę wymyśloną i napisaną przez siebie w Elixirze.<br />
<br />
Drugiego dnia wszyscy wyraźnie zrelaksowani po czwartkowym after party. Zaczęło się interesującym keynote’em „Build Good Software: Of Politics and Methods” od Briana Troutwine. Brian postawił dwa pytania: 1. How do we make software that makes money? 2. How do we make software of quality? Na historycznych przykładach mówił, jak skomplikowane mogą być systemy, które wytwarzamy i jak duże jest prawdopodobieństwo wystąpienia katastroficznych błędów. Sformułował również kilka zasada, które powinny być przestrzegane przez wytwórców oprogramowania. Wszystkie przykłady dotyczyły „dużych” systemów np. rektor jądrowy w Czarnobylu, jednak wydaje mi się, że przesłaniem tej prezentacji było to, że liczy się jakość każdego, choćby najmniejszego wytwarzanego przez nas oprogramowania.</div>
<div style="text-align: justify;">
<br />
<i>A song of types and errors, or how I found myself leading teams of Scala developers</i> Valentin Kasas porównał plusy i minusy pracy w mainstrem’owej do niszowej technologii. Przyznam szczerze, że z mojego punktu widzenia oraz doświadczenia było to bardzo udane porównanie. Całość prezentacji skupiała się nad doświadczeniami autora jako developera Scali. Opowiadał jak z mało doświadczonego developera Scali stał się w krótkim czasie ekspertem oraz liderem zespołu developerów. Mówił o problemach z jakimi się zetknął oraz podał kilka porad dla ludzi, którzy znajdą się w podobnej sytuacji. Prezentacja była okraszona trafnymi ilustracjami ze znanego serialu z kanału HBO.</div>
<div style="text-align: justify;">
<br />
W prelekcji pt. „The Origins of Free” Adam Warski mówił o “Free Monad”, co to jest, z czym się to je i jaki sposób możemy to wykorzystać. Mimo, iż autor podkreślił na początku, że programistyczny background jest wystarczający, to w mojej ocenie cała prelekcja była z byt bardzo „matematyczna”. Po tym wykładzie algebry udałem się na kolejny wykład, którego obawiałem się, że również będzie bardzo teoretyczny – „Going bananas with recursion schemes for fixed point data types”. Na szczęście okazało się inaczej. Paweł Szulc na żywych przykładach kodu w Scali pokazywał, czym jest „ZOO of morphisims” – katamorfizm, anamorfizm i hylomorfizm. Na koniec konferencji trafiłem na prezentację – live coding, na którym Jacek Kunicki pokazywał praktyczny przykład wykorzystania Akka Streams. Bardzo udana prelekcja, szybkie wprowadzenie do Akki.</div>
<div style="text-align: justify;">
<br />
Konferencję uznaję za bardzo udaną i cieszę się, że mogłem wziąć w niej udział.<br />
<br />
<br />
[1]https://medium.com/@aserg.ufmg/what-is-the-truck-factor-of-github-projects-bb0d5f019a6f#.h14c6ccti<br />
<br />
<br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/10989103651127739152noreply@blogger.com2tag:blogger.com,1999:blog-4051009680712452564.post-52741644452275145112016-12-21T08:18:00.002-08:002016-12-21T08:18:51.092-08:00ng-poland 2016 - konferencja frontendowa z perspektywy backendowca<div class="MsoNormal">
Pierwsza polska edycja konferencji dotyczącej Angular'a
odbyła się 22 listopada 2016 w rozpoznawalnym miejscu stolicy, które jest łatwo dostępne dla
podróżujących każdym środkiem transportu - na Stadionie Narodowym w Warszawie.</div>
<div class="MsoNormal">
Po dotarciu na miejsce i dokonaniu bardzo sprawnej rejestracji zająłem miejsce
z dobrym widokiem (później okazało się, że nie aż tak dobrym ;)) na główny
ekran i samą scenę.<o:p></o:p></div>
<div class="MsoNormal">
W miarę szybka rundka po stoiskach sponsorów pozwoliła na
zapoznanie się z ofertami pracy oraz uzyskaniem odpowiedzi na podstawowe
pytania związane z codzienną atmosferą i podejściem do pracy w projektach.<br />
Dużym plusem konferencji była forma jednej ścieżki prezentacji. Każdą z nich rozdzielała bardzo krótka przerwa poświęcona jedynie na przygotowanie sceny dla kolejnych
prelegentów. Prezentacje w porannym bloku trwały 40 minut i osobiście uważam,
że był to wystarczający czas na zapoznanie się z przygotowanymi tematami.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Wprowadzenie rozpoczęło się z lekkim opóźnieniem które jednak
nie miało wpływu na godziny kolejnych prelekcji. W tematykę Angulara
wprowadzili nas bracia Kalbarczyk - Dariusz oraz Arkadiusz.<o:p></o:p></div>
<div class="MsoNormal">
Pierwszą prelekcję przeprowadził Wassim Chegham i dotyczyła
ona biblioteki Universal służącej do server-side rendering'u. Przedstawione
zostały wady Angular'a 1, a głównie brak omawianego mechanizmu SSR. Umożliwia
on szybsze ładowanie się strony, uzyskanie lepszej pozycji w wynikach wyszukiwania i poprawia ogólny tzw. user experience. Następnie zademonstrowane zostały zmiany jakie zaszły w
Angular 2 wprowadzające obsługę SSR.<o:p></o:p></div>
<div class="MsoNormal">
Druga prezentacja prowadzona przez Tracy Lee rozpoczęła się
spontaniczną sesją karaoke, która wprowadziła luźniejszy nastrój na sali.<br />
Prelekcja przedstawiła możliwości Angular CLI, który łatwo rozwiązuje problemy wyboru stosowanej konwencji w projekcie - jak nazywać foldery, pliki z klasami itp. Pozwala on
również na generowanie podstawowego kodu projektu, jego component'ów,
service'ów przy użyciu komend linii poleceń.<br />
W czasie 40 minutowej sesji live coding Tracy stworzyła stronę WWW dotyczącą
zapowiadanej konferencji ng-cruise zawierającej dział ze spisem przygotowanych
sesji, z opisami prezenterów oraz formularz dla sponsorów. Zrobiło to na mnie
niemałe wrażenie jak w tak krótkim czasie można przygotować podstawowe
funkcjonalności w niedużym projekcie.<o:p></o:p></div>
<div class="MsoNormal">
Trzecia prezentacja w porannym bloku przeprowadzona przez
Uri Shaked pokazała, że Angulara 2 można używać nie tylko w środowisku
przeglądarki internetowej. Prelegent przed konferencją przygotował swoją wersję
gry Simon w formie aplikacji web'owej, zaś w trakcie 40 minut dodał do niej
fragmenty kodu umożliwiające granie na urządzeniu IoT zbudowanym w oparciu o
Arduino i Raspberry Pi. W projekcie użyta została autorska biblioteka
angular-iot zawierająca dyrektywy do wykorzystania obsługi przez interfejsy fizyczne.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Po pierwszej krótkiej przerwie na kawę rozpoczął się blok
prezentacji sponsorów.<o:p></o:p></div>
<div class="MsoNormal">
Pierwsza została przygotowana przez Adama Nowaczyka z firmy
Acaisoft. W czasie prezentacji odpowiadaliśmy na pytania z quizu - web
aplikacji wykorzystującej infrastrukturę AWS oraz technologię web socket'ów.
Prosta aplikacja stworzona na szybko bardzo sprawnie obsłużyła ruch około 300
jednoczesnych użytkowników bez posiadania ani jednej linijki kodu
backend'owego.<o:p></o:p></div>
<div class="MsoNormal">
Podczas drugiej prezentacji z bloku sponsorskiego Paweł Zdziech
z firmy 7N odpowiedział na pytanie czy znajomość frameworka Angular opłaca się
pod względami finansowymi? Z danych przedstawionych na wykresach i diagramach
wygląda, że tak. ;)<o:p></o:p></div>
<div class="MsoNormal">
Na trzeciej, ostatniej prezentacji sponsora Phil Nash z
Twilio przeprowadził nas przez historię przechowywania danych w frontend'owych
aplikacjach - zaczynając od cookies, poprzez local storage, Web SQL i
skończywszy na IndexedDB. Phil zaprezentował główne wady i zalety każdego z
tych rozwiązań, ale głównie skupił się na ostatnim, najnowszym pomyśle czyli
właśnie IndexedDB. Umożliwia ona pracę aplikacji bez dostępu do internetu,
zapewnia dobrą wydajność oraz transakcyjność operacji w asynchronicznym
środowisku.<o:p></o:p></div>
<div class="MsoNormal">
Na koniec bloku sponsorskiego zostały rozdane nagrody dla
grup developerów rozwijających i reklamujących Angular'a oraz najlepszych
projektów go wykorzystujących.<br />
Po tej części przyszedł czas na obiad - dla każdego uczestnika konferencji
została zapewniona pizza co wg mnie jest nie lada wyczynem biorąc pod uwagę, że
samych słuchaczy było około 550. :o<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Popołudniowy blok prezentacji rozpoczął Nir Kaufman
przedstawiając wykorzystanie Redux'a w Angular 2. Zaczęliśmy od teorii, która
wg prowadzącego jest najtrudniejsza. Redux opiera się na założeniu, że w
aplikacji znajduje tylko jedno miejsca przechowujące jej stan - tzw. Store, który
jest "single point of truth". Aby zmienić stan aplikacji użytkownik
inicjuje Akcje (Action), które są przetwarzane przez "prawdziwe
funkcje" ("pure functions", Reducers). Funkcje te zmieniają stan
aplikacji w przewidywalny sposób - każde wykonanej tej samej funkcji z tymi samymi
danymi wejściowymi zwróci identyczny wynik.<br />
Po wprowadzeniu do samej koncepcji Redux'a przeszliśmy przez poszczególne
elementy na przykładowej aplikacji przygotowanej przez prowadzącego.<o:p></o:p></div>
<div class="MsoNormal">
Druga prezentacja z popłudniowego bloku dotyczyła historii
tworzenia aplikacji dla Spidermana przez prowadzącego - Gerarda Sansa.
Największa część całej historii od strony praktycznej dotyczyła wykorzystania
Router'a z Angular 2.<br />
Omówione zostały najczęściej używane funkcje takie jak lazy-loading oraz jego
przeciwieństwo – preloading czy też ograniczanie dostępu do pewnych zasobów.
Każda z dostępnych funkcji została przedstawiona na przykładzie specjalnie
stworzonej aplikacji.<o:p></o:p></div>
<div class="MsoNormal">
Ostatnia prezentacja przed krótką przerwą na kawę dotyczyła
wykorzystania biblioteki RxJS. Narzędzie to pozwala na zastąpienia dostępnych w
języku standardowych Promise'ów.<br />
Promise'y pozwalają na zwrócenie tylko jednej wartości jednokrotnie, ich
wykonywanie nie może zostać przerwane i dzieje się od razu po zleceniu akcji.<br />
RxJS z kolei opiera się na Observable'ach do których użytkownik się subskrybuje
i dopiero wtedy wykonują zleconą akcję przez nawet nieskończony czas. Aby
przerwać wykonywanie zadania wystarczy tylko usunąć subskrypcję na danym
Stream'ie. Dodatkową zaletą Observable oraz RxJS są operatory pozwalające na
modyfikacji wyników otrzymywanych na nasłuchiwanym strumieniu takie jak
"filter", "map", "reduce" itp.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Po ostatniej przerwie z powodu nieobecności Todda Motto
nastąpiła zmiana kolejności prezentacji.<o:p></o:p></div>
<div class="MsoNormal">
Shai Reznik rozpoczął końcowy blok krótszych prezentacji
trwających jedynie 20 minut.<br />
W swojej prelekcji wyjaśnił czym są moduły w Angular. Przez cały czas
prezentacji towarzyszył nam bóbr budowniczy, który chcąc stworzyć swoją
aplikację przy użyciu frameworka Angular musiał poznać jego strukturę
składającą się z:<br />
- Component;<br />
- Service;<br />
- Pipe (filter);<br />
- Directive.<br />
W każdej aplikacji musi istnieć jeden moduł główny (root
module), reszta funkcjonalności aplikacji powinna być rozdzielona na mniejsze
moduły odpowiedzialne za pojedyncze operacje. Service'y (providers)
wstrzykiwane przez Injector są pobierane ze wspólnej puli.<o:p></o:p></div>
<div class="MsoNormal">
Kolejną prezentację dotyczącą Progressive Angular 2 apps
poprowadził Ciro Nunes. Progressive App to aplikacja webowa dostępna z pulpitu.
Do głównych zalet tego typu aplikacji należą:<br />
- możliwość pracy bez dostępu do sieci;<br />
- możliwość natychmiastowego uruchomienia aplikacji z pulpitu;<br />
- możliwość informowania użytkownika o zdarzeniach poprzez powiadomienia
systemu operacyjnego.<br />
W czasie prelekcji, na kolejnych slajdach Ciro omawiał fragmenty kodu wcześniej
przygotowanej demonstracyjnej aplikacji.<o:p></o:p></div>
<div class="MsoNormal">
Następnie Alex Lakatos przedstawił pragmatyczne podejście do
oficjalnego stylu tworzenia kodu w aplikacjach tworzonych przy użyciu Angular'a
2. Zaprezentowane zostały poszczególne zasady zalecane przez twórców Angular'a
wraz z komentarzem Alexa popartym doświadczeniem z pracy własnej oraz swojego
zespołu.<o:p></o:p></div>
<div class="MsoNormal">
Jednym z niewielu polskich akcentów na ng-poland 2016 była
prelekcja Tomasza Duciny dotycząca stworzenia oraz wdrożenia aplikacji bankowej
w Angular 1. Całą praca zajęła ponad 1 rok i już w trakcie wdrożenia aplikacja
mogła zostać uznana za przestarzałą ponieważ na rynku dostępny był Angular 2.<o:p></o:p></div>
<div class="MsoNormal">
Tomasz opowiedział historię swojego projektu rozdzielając ją
na poszczególne etapy:<br />
- wybór technologii i bibliotek;<br />
- projektowanie architektury;<br />
- programowanie (rozproszony zespół, zależności między zadaniami);<br />
- refactoring.<o:p></o:p></div>
<div class="MsoNormal">
Kolejną prezentację Uri Goldsteina dotyczącą GraphQL
niestety musiałem ominąć w większej części. Ogólnie wynika z niej, że GraphQL
jest przyszłościowym sposobem komunikacji w aplikacjach klient-serwer i posiada
sporo ulepszeń w stosunku do REST'a jak typowanie czy zapytania grupowe.<o:p></o:p></div>
<div class="MsoNormal">
Na koniec konferencji Sebastian Witalec zaprezentował
NativeScript - bibliotekę pozwalająca na tworzenie aplikacji natywnych. W
czasie prelekcji poznaliśmy główne założenia biblioteki oraz podstawowe
kontrolki UI wraz z przykładowym kodem.<br />
Jednak oprócz aplikacji mobilnych NativeScript umożliwił Sebastianowi
stworzenie bezprzewodowego kontrolera do obsługi robotów w oparciu o protokół
Bluetooth. W czasie prezentacji poznaliśmy historię oraz większe perypetie
jakie przydarzyły się Sebastianowi w czasie tworzenia aplikacji.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Konferencję ng-poland oceniam bardzo pozytywnie. Wszystkie
elementy składowe przygotowane zostały na najwyższym poziomie, począwszy od
rejestracji, cateringu i skończywszy na najważniejszym elemencie czyli
prezentacjach. Każda z nich była pełna ciekawostek pod względem merytorycznym a
profesjonalni prelegenci dodawali do nich pełno humoru jeszcze bardziej
ulepszających ich odbiór.<o:p></o:p></div>
<div class="MsoNormal">
Polecam wyszukanie materiałów z prezentacji w internecie i
poznanie najbardziej interesujących tematów na własną rękę.<o:p></o:p></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
Jeśli w następnym roku będzie miała odbyć się kolejna edycja
konferencji to każdemu developer'owi mającemu nawet niewielką styczność z
frontendem polecam wzięcie udziału i poznanie innego środowiska od kuchni.<o:p></o:p></div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4051009680712452564.post-77708323530494741122016-11-28T11:05:00.000-08:002016-12-09T14:06:38.649-08:002016-11-22 DevOpsDays Warsaw 2016<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 id="kilka-suchych-faktów-na-początek">
Kilka suchych faktów na początek</h2>
Dzięki uprzejmości Łódzkiego <a href="http://www.juglodz.pl/">Juga</a> oraz odrobinie szczęścia podczas losowania, miałem możliwość uczestniczenia w świetnej konferencji <a href="http://2016.devopsdays.pl/">DevOpsDays Warsaw 2016</a>, która była organizowana przez firmę Proidea i tak samo jak inna duża warszawska konferencja <a href="http://2016.4developers.org.pl/pl/">4Developers</a>, miała miejsce w hotelu Gromada blisko Lotniska Chopina.<br />
<h2 id="format">
Format</h2>
Na konferencji była jedna ścieżka, co dosyć mocno ułatwiało wybór. Prezentacje trwały po 30 minut, ale jedna godzina pierwszego dnia była poświęcon na tzw. <em>Ignite talks</em>, na który każdy mógł się zgłosić z 5 minutową prezentacją. Ponadto, na koniec każdego dnia przewidziane były <em>open space</em>'y, czyli dyskusje w mniejszych gronach na interesujące tematy.<br />
<h2 id="dzień-pierwszy">
Dzień pierwszy</h2>
Oczywiście zaczęło się od rejestracji, która poszła bardzo szybko i sprawnie (dużo szybciej niż na wspomnianej wcześniej 4Developers), więc na ceremonii otwarcia mieliśmy pełną salę. Szybka ankieta wśród uczestników wykazała, że procentowy udział <em>devów</em> i <em>opsów</em> był parktycznie 50 na 50%. Zaskoczeniem była jednak bardzo duża liczba ludzi z tak zwanego <code>enterprise'a</code>, względem ludzi ze startupów lub małych firm.<br />
<h3 id="talk-1-from-monoliths-trough-cloud-native-to-software-supply-chains">
Talk #1: From Monoliths Trough Cloud Native to Software Supply Chains</h3>
Świetna prezentacja pokazująca jak kontenery zmieniły świat. Nie nasz, programistyczny, ale ten przemysłowy. Jak kontenery, dzięki łatwości transportu, pozwoliły przenieść fabryki dalej od brzegu morskiego i przyczyniły się do utworzenia łańcucha dostawców, którzy nie musieli znajdować się w jednym miejscu. Pozwoliło to też na specjalizacje poszczególnych firm. Było to o tyle ciekawe, że powoli będziemy dochodzili do takich samych specjalizacji: każdy będzie mógł dostarczać swoje, specjalizowane kontenery i duże firmy (jak Google, Facebook, Twitter) nie będą musiały budować całego stosu usług tylko będą korzystali z usług innych dostawców.<br />
<h3 id="talk-2-a-journey-towards-sre-ocado">
Talk #2: A Journey Towards SRE @ Ocado</h3>
Prezentacja otwierająca oczy na bardzo ciekawy fakt - <code>operation</code> zajmuje więcej czasu niż <code>development</code>. W miarę rozwoju systemów, zespół <code>operation</code> powinien być powiększany. Ale czy tak sie dzieje naprawdę? Inna bardzo ważna prawda, o której zapominamy, to fakt, że najważniejszy <code>feature</code> każdego systemu to: <strong>It works</strong>, co odnosi się do nowych, ale przede wszystkim do istniejących już funkcji systemu.<br />
<h3 id="talk-3-the-outsystems-rd-continuous-delivery-journey">
Talk #3: The OutSystems R&D Continuous Delivery Journey</h3>
Moim zdaniem jedna z najlepszych prezentacji na tej konferencji. Opowiadała o długiej drodze jaką przeszła portugalska firma, z której przybył prelegent. Z małego zespołu z ciekawym produktem i brakiem testów, udało im się zbudować <em>Continuous Delivery</em> w miarę przybywania nowych funkcji, integracji i ludzi. Po maksymalnie godzinie byli gotowi do przekazania artefaktów na produkcję.<br />
<h3 id="talk-4-devops-transformation-tailored-to-organizational-culture">
Talk #4: DevOps Transformation Tailored to Organizational Culture</h3>
Jak zmienić kulturę swojej firmy w stonę kultury <code>Devops</code>? Okazuje się, że w każdej firmie są obecne różne kultury: hierarchiczna, klanowa, adhokracyjna oraz zorientowana na market. Najpierw musimy zrozumieć, jaką kombinację kulturową prezentuje nasza firma oraz w którą stronę chcemy iść. Co ciekawe z wielu analiz wynika, że firmy chcą dążyć do kultury adhortacyjnej i jest to właśnie transformacja DevOpsowa.<br />
Ciekawostka: pierwszy raz widziałem na prezentacji link do <a href="https://www.linkedin.com/">Linkedin</a> prelegenta.<br />
<h3 id="talk-5-the-song-of-jboss-and-chef">
Talk #5: The Song of JBoss and Chef</h3>
Była to ciekawa prezentacja, jak za pomocą narzędzia <a href="https://www.chef.io/chef/">Chef</a> zarządzać swoim klastrem <code>JBossów</code>. Nie było to proste, bo wymagało korzystania tylko z <code>CLI JBossa</code> (a dostawcy najbardziej lubią przesyłać instrukcje w formacie <code>screenshotów</code>...). Dzięki determinacji zespołu możliwe było powiększenie klastra o dwa dodatkowe węzły w jedną godzinę.<br />
<h3 id="talk-6-building-a-resilient-log-aggregation-pipeline-using-elasticsearch-and-kafka">
Talk #6: Building a Resilient Log Aggregation Pipeline Using Elasticsearch and Kafka</h3>
Świetna prezentacja, choć tempo jej prowadzenia było bardzo duże, by w 30 minut przekazać tak wielką ilość informacji i dobrych rad. Jeśli zarządzasz klastrem <code>Elasticsearch</code> to ta prezentacja jest właśnie dla Ciebie. Jeśli chcesz się dowiedzieć jak podzielić swój klaster, jak skonfigurować poszczególne węzły, by były zoptymalizowane pod kątem swojej funkcji, jak przydzielić do nich zasoby, to musisz to zobaczyć. Było tutaj też trochę informacji na temat konfiguracji <code>Kafki</code> jako scentralizowanego buffora, konfiguracji dostawcy logów oraz systemu operacyjnego dla takiego stosu technologicznego.<br />
<h3 id="talk-7-contive-container-networking-done-right-with-cisco-aci-fabric">
Talk #7: Contive – Container Networking Done Right with Cisco ACI Fabric</h3>
Najsłabsza moim zdaniem prezentacja, prowadzona przez dwóch prelegentów. Pierwszy z nich opowiedział o narzędziu <a href="https://mantl.io/">Mantl</a> opartego na <code>Mesosie</code>, a drugi prelegent skupił się na zaletach narzędzia <code>Contive</code> od <code>Cisco</code>.<br />
<h3 id="ignite-talks">
Ignite talks</h3>
Miało być maksymalnie 10 prelegentów - było ich 5. Dobra rada dla organizatorów: zapisujcie nie tylko tytuły prezentacji, ale i zgłaszających je, bo potem prelegenci się nie zjawiają:)<br />
<h4 id="ignite-talk-1-how-to-manage-on-calls-rotation-effortlessly">
Ignite talk #1: How to manage on calls rotation effortlessly</h4>
Bardzo ciekawa prezentacja o powiązaniu <a href="https://www.datadoghq.com/">DataDog</a>, <a href="https://www.pagerduty.com/">PagerDuty</a>, aplikacji na <a href="https://www.heroku.com/">Heroku</a> oraz <a href="https://www.twilio.com/">Twilio</a> do obsługi i przekierowania połączeń. Była ona szczególnie interesująca dla mnie, bo właśnie taką aplikację potrzebujemy wdrożyć.<br />
<h4 id="ignite-talk-2-invitation-to-testwarez-conference">
Ignite talk #2: Invitation to TestWarez conference</h4>
Zaproszenie na konferencje <em>TestWarez 2017</em> - tak po prostu:)<br />
<h4 id="ignite-talk-3-devops-mind-of-security-ignite-talk-4-testing-infrastructure">
Ignite talk #3: DevOps mind of security & Ignite talk 4: Testing infrastructure</h4>
Szybka prezentacja, jakie mamy zasady (<code>ssh</code> wystawione na innym niż 22 porcie, zasady tworzenia haseł) oraz jaki jest wpływ czynników ludzkich (szczególnie skleroza i lenistwo) na bezpieczeństwo systemów. Jak sobie z tym radzić i czego pilnować? Mamy zestaw reguł opisany w <a href="http://iase.disa.mil/stigs/Pages/index.aspx">STIGs - Security Technical Implementation Guides</a> i powinniśmy z nich korzystać, a nawet automatycznie je sprawdzać za pomocą np. <code>Ansible</code> (Ignite talk #4).<br />
<h4 id="ignite-talk-5-puppet-vs-chef-vs-ansible-vs-bash">
Ignite talk #5: Puppet vs Chef vs Ansible vs Bash</h4>
Mamy dużo dostępnych narzędzi do automatyzacji - prelegent w ekspresowym tempie wyjaśnił, jakie są zalety i wady każdego z nich. Najważniejsze:<br />
<ul>
<li><code>bash</code> przegrywa, bo nie ma możliwości łatwego <code>rollbacku</code>, ale dla obrazów <code>dockerowych</code> jest najlepszy</li>
<li><code>puppet</code> skompiluje wszystko na masterze - ale właśnie master jest potrzebny</li>
<li><code>chef</code> - możesz spodziewać się błędów w <em>runtime</em></li>
<li><code>ansible</code> - najlepszy do <code>fire & forget</code></li>
</ul>
<h3 id="open-spaces">
Open spaces</h3>
<code>Open spaces</code> zaczęły się od propozycji - zebranych zostało około 13, a następnie każdy za pomocą formularza Google głosował na interesujące go tematy. Wybranych zostało 8 tematów. Dla mnie najciekawsze tego dnia były <code>Continuous delivery pipelines</code> (najciekawsze cześć dyskusji dotyczyła zagadnienia testowania <code>pipeline'ów</code>) oraz <code>F**k ups - worst experience</code> (aż włos się jeżył na głowie).<br />
<h2 id="dzień-drugi">
Dzień drugi</h2>
Pierwsze dwie prezentacje przeszły mi koło nosa, ponieważ korki w Warszawie postanowiły zorganizować mi dwugodzinną podróż na miejsce prezentacji. Tak zwane: <code>dogodne miejsce konferencji blisko lotniska</code> nie zawsze znaczy, że będzie łatwo się na nią dostać...<br />
<h3 id="talk-1-talk-2">
Talk #1 & Talk #2</h3>
W autobusie...<br />
<h3 id="talk-3-nobody-puts-java-in-a-container">
Talk #3: Nobody Puts Java in a Container</h3>
Dlaczego nie uruchamiać aplikacji Javowych na <code>dockerze</code>? Nigdy o tym nie myślimy. Prelegent przez większość czasu opowiadał o tym jak działa <code>docker</code>, o co chodzi z <code>namespaces</code> i <code>cgroups</code>, a dopiero ostatnie 5 minut traktowało o samej Javie. Tylko, że bez tak długiego wstępu trudniej byłoby zrozumieć dlaczego nie uruchamiać JVMów na <code>dockerze</code>. Problemem jest to, że mimo iż <code>docker</code> pozwala na ograniczenie dostępnej pamięci lub ilości procesorów, JVM w wersji 8 nic sobie z tego nie robi i uruchamia się widząc wszystkie zasoby maszyny pod spodem. Dlatego czasem wybór wirtualizacji jest lepszy od konteneryzacji, bo daje większą izolację.<br />
<h3 id="talk-4-learning-from-configuration-management">
Talk #4: Learning From Configuration Management</h3>
Prezentacja opowiadająca o problemach z jakimi spotykamy się przy automatyzacji, które też paradoksalnie są często wymieniane jako plusy, np. niezmienna architektura, centralizacja, ukryte zależności systemów operacyjnych. Aktualnie narzędzia te przypominają instrumentacje (zarządzanie z boku), a my potrzebujemy choreografii, czyli dynamicznego reagowania na zainstniałe sytuacje. Rozwiązaniem tutaj ma być narzędzie <a href="https://www.habitat.sh/">Habitat</a> od <code>Chef</code>.<br />
<h3 id="talk-5-managing-server-secrets-at-scale">
Talk #5: Managing Server Secrets at Scale</h3>
Konkretny problem i wspaniałe rozwiązanie do niego: mamy setki albo tysiące serwerów, każdy serwer potrzebuje kilku kluczy: kluczy <code>ssh</code>, klucz do szyfrowania dysku, serwera zarządzania konfiguracją, tokenów do aplikacji itp. Gdzie przechowywać takie klucze? Przecież nie będziemy ręcznie ich przepisywać z płaskich plików z naszych komputerów. Przy wielkich data center to jest niewykonalne. Z pomocą przychodzi nam tu <code>UEFI</code> i możliwość zapisywania zmiennych w specjalnej przestrzeni w <code>BIOSie</code>. Jest ona łatwo dostępna, ale też bardzo mała, dlatego nie zapiszemy tam wszystkich kluczy. Jednak wystarczy zapisać jeden klucz, a z niego w deterministyczny sposób wygenerować inne podczas uruchamiania systemu. Do tego właśnie służy narzędzie <a href="https://github.com/cloudflare/gokey"><code>gokey</code></a>.<br />
<h3 id="talk-6-how-we-phased-out-motivational-system-about-motivation-in-devops-culture">
Talk #6: How We Phased out Motivational System: About Motivation in DevOps Culture</h3>
Problem motywowania ludzi nie jest nam obcy. Wszyscy odkrywają, że pieniądze to nie wszystko. Wycieranie pieniędzmi łez spowodowanych przez smutne zadania i atmosferę w pracy często nie wystarczą. Prezentacja powinna być obejrzana szczególnie przez firmy, które chcą sprawić, by ludziom pracowało się lepiej. Mam szczęście pracować w firmie, która większość z przedstawionych tu rzeczy używa w praktyce, dlatego mogę gorąco polecić ten sposób prowadzenia firmy.<br />
<h3 id="talk-7-monitoring-and-log-management-for-docker-swarm-and-kubernetes">
Talk #7: Monitoring and Log Management for Docker Swarm and Kubernetes</h3>
Dobre porównanie możliwości zarządzania logami, gdy mamy <code>Kubernetesa</code> lub <code>Docker Swarma</code>. Poza logami ważne jest też zbieranie metryk. Istotne jest to, że są to mechanizmy wbudowane w <code>dockera</code>. Dla naszych aplikacji musimy sami radzić sobie z agregacją logów i metryk.<br />
<h3 id="talk-8-the-pipeline-a-shift-from-classic-ui-based-job-configuration-tool-to-a-domain-specific-language">
Talk #8: The Pipeline: a Shift from Classic UI-based Job Configuration Tool to a Domain-specific Language</h3>
Od historii <code>Jenkinsa</code> (i <code>Hudsona</code>) do <code>pipeline'ów</code> w <code>Jenkinsie</code> 2.0. Niestety uważam, że co do samego tematu <code>pipeline</code> oraz <code>DSL</code>, dużo szybciej można byłoby pozyskać więdzę z <code>tutoriali</code> dostępnych w internecie...<br />
<h3 id="talk-9-patching-100-openstack-compute-nodes-with-zero-day-patch-within-16-hours">
Talk #9: Patching 100 OpenStack Compute Nodes with Zero-day Patch within 16 Hours</h3>
Prelegent skupił się na <code>patchowaniu</code> <code>libvirta</code> używanego w <code>OpenStacku</code>. Jeśli chcesz się dowiedzieć jak w 16 godzin wgrać łatkę do całej masy maszyn wirtualnych i zrestartować je, ale tak by klienci tego nie odczuli, to ta prezentacja jest właśnie dla Ciebie. Hint: wyłącz <code>Tunneling</code> :)<br />
<h3 id="open-spaces-1">
Open spaces</h3>
Ponownie przeszliśmy przez proces zgłaszania i wyboru tematów do dyskusji. Tym razem dla mnie najciekawszy temat <code>Automatic log anomaly detection</code>. Wnioski: jeśli jesteś dużą firmą, to albo już masz narzędzie do takiej analizy, albo stać Cię na enterprise'ową wersję oprogramowania. Jeśli jesteś małą firmą, to niestety piszesz coś własnego lub bierzesz narzędzie, które ktoś już oddał jako <code>open source</code>. Tylko, że jeśli coś staje się w tym przypadku dostępne, tzn. to są już dużo lepsze narzędzia.<br />
<h2 id="problemy">
Problemy</h2>
Konferencja nie ustrzegła się błędów i problemów. Przede wszystkim trudności przysparzało podłączanie komputerów przed prezentacjami. To zawsze zajmuje dużo czasu i zawsze coś pójdzie nie tak...<br />
<h2 id="kilka-słów-na-koniec">
Kilka słów na koniec</h2>
Konferencję mogę z czystym sumieniem polecić wszystkim zainteresowanym tematyką <code>DevOps</code> lub administrowania systemami informatycznymi. Sponsorzy dopisali, a prelegenci byli w większości dobrze przygotowani. Polecam też obejrzenie <a href="https://www.youtube.com/user/PROIDEAconferences/videos">nagrań z konferencji</a>, które ku mojemu zdziwieniu, zaczęły się pojawiać już w trakcie drugiego dnia konferencji.<br />
Idąc na konferencję zastanawiałem się, co jest największym problemem w świecie <code>DevOpsów</code>... Myślałem, że jest to wojna <code>Kubernetes</code> vs. <code>Docker Swarm</code>. Okazuje się, że problemem tym jest wdrażanie odpowiedniej kultury w firmach oraz zarządzanie logami. To było całkiem ciekawe odkrycie.</div>
Dominik Przybyszhttp://www.blogger.com/profile/16007058624118936033noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-8836470730381176752016-11-20T09:37:00.001-08:002016-11-20T09:37:27.501-08:002016-10-06 Mobiconf<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="-webkit-font-kerning: none;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="-webkit-font-kerning: none;"><span style="font-family: inherit;">Na przestrzeni roku udało mi się odwiedzić wszystkie największe konferencje poświęcone technologiom mobilnym. W dużej mierze dzięki współpracy JUG Łódź wraz z organizatorami tychże eventów. (Polecam aktywne wspieranie stowarzyszenia JUG :)) W poprzednich swoich wpisach miałem przyjemność zrecenzować MCE oraz Droidcon. Tym razem przyszedł czas na ocenę wydarzenia jakim jest Mobiconf odbywający się w Krakowie. </span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Tegoroczna edycja Mobiconf jest już trzecią z rzędu. Po raz drugi została zorganizowana w Multikinie, nieco z dala od centrum miasta, dzięki czemu unikniemy trudności związanych z zakorkowanymi o tej porze ulicami. Unikniemy również wszelkich problemów z parkingami co na samym wstępie napawa optymizmem po dosyć długiej podróży z okolic Łodzi :). </span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="-webkit-font-kerning: none;"><b><span style="font-family: inherit;">Organizacja konferencji</span></b></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Po wejściu do Multikina witani jesteśmy przez miły zespół organizatorów, który czuwa nad tym, aby rejestracja przebiegała sprawnie i jak najszybciej. Przychodząc kilka minut wcześniej, na pewno nie będziemy mieć problemu ze zdążeniem na keynote’a. W tym miejscu warto wspomnieć również o bogatym “pakiecie startowy”, jaki został przygotowany dla każdego uczestnika - każdy odwiedzający konferencję otrzymał kubek, torbę oraz koszulkę. Jest to na pewno miły gest ze strony organizatorów. Dla gadżetów jednak nie pokonuje się kilkuset kilometrów, pozostaje nam zatem dobudzić się kawą i wybrać na pierwszą, otwierającą prelekcję.</span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><b><span style="font-family: inherit;">Prelekcje</span></b></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Podczas konferencji mogliśmy uczestniczyć w około 27 zróżnicowanych prelekcjach, rozłożonych na dwa dni oraz zgrupowanych w trzech równoległych trackach. Wykłady zostały tak rozplanowane, aby każdy mógł znaleźć coś dla siebie. Mieliśmy do wyboru tracki w pełni poświęcone głównym platformom: Android, iOS oraz Everything mobile, na którym poruszone zostały zagadnienia związane z szeroko pojętym designem aplikacji mobilnych. Same prelekcje prowadzone były natomiast przez osoby doświadczone, nierzadko z tytułem GDE. </span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Ze względu na swoją prace zarówno z Androidem oraz iOS’em, wybierałem różne tracki, tak aby skorzystać z konferencji jak najbardziej. Mobiconf przyciągnął jako speakerów kilka rozpoznawalnych i znanych mi wcześniej z innych eventów osób. Jest to niewątpliwy plus, gdyż możemy posłuchać prelegentów, których prezentacje do tej pory mogliśmy jedynie spotkać na zagranicznych Droidcon’ach.</span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Jako, że konferencja posiadała ogromną ilość prelekcji, myślę iż warto skupić się przede wszystkim na tych, które zapadły mi w pamięci oraz znacząco wyróżniały się spośród pozostałych. Tradycyjnie każda konferencja powinna mieć mocne wejście, tak i było też w tym przypadku. </span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Keynote uważam za najbardziej udany, chociaż nie poruszał bezpośrednio tematyki mobile. Kevlin Henney w swoim talku zatytułowanym “The programmer” poruszył zagadnienia, z którymi wszyscy programiści mają na co dzień do czynienia. Jakość oprogramowania, paradygmaty, detale - rzeczy, które są ważne dla każdego dewelopera tworzą istotę tej profesji. Kevlin porównując pracę programisty do pracy artysty sprawił, iż każdy ze słuchaczy mógł inaczej spojrzeć na wykonywany przez siebie zawód.</span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><span style="font-kerning: none;"></span><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><span style="font-family: inherit;">Konferencja poświęcona technologiom mobilnym, powinna jednak posiadać kilka mocnych prelekcji dotyczących samego mobile. Najlepszą według mnie zafundowała nam Anastasiia Voitova. Podczas “Building user-centric security model in iOS applications” poruszona została tematyka zabezpieczenia aplikacji iOS’owych przed atakami. Prelekcja poprowadzona w bardzo luźny sposób zwracała uwagę na istotne kwestie dotyczące bezpieczeństwa. Często zabezpieczenia w aplikacji kończą się jedynie na wykorzystaniu protokółu HTTPS, jednak jest to tylko czubek góry lodowej, o czym mogliśmy się przekonać podczas prezentacji.</span></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; min-height: 13px; text-align: justify;">
<span style="font-family: inherit;"><br /></span></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="font-kerning: none;"><b><span style="font-family: inherit;">Ogólne wrażenia</span></b></span></div>
<br />
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; line-height: normal; text-align: justify;">
<span style="-webkit-font-kerning: none;"><span style="font-family: inherit;">W ostatnim czasie uczestniczyłem w wielu konferencjach poświęconych technologiom mobilnym. Mobiconf na pewno zasługuję na pozytywną opinię, biorąc pod uwagę organizację wydarzenia. Jeżeli chodzi o odbiór samych prezentacji, myślę iż jest to zawsze kwestia indywidualna. Z tego też powodu, abyście sami mogli się przekonać czy warto odwiedzić tą konferencję zapraszam serdecznie do obejrzenia z niej relacji. W momencie, gdy tworzę tą recenzję, organizatorzy przygotowali oraz udostępnili już część prezentacji do obejrzenia. Można je znaleźć na kanale <a href="https://www.youtube.com/channel/UCMMbKC1Jh5KirZc3rnem4kg">Youtube Moibconf</a>.</span></span></div>
Anonymoushttp://www.blogger.com/profile/17229889326961644734noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-86463550576247074422016-11-01T12:55:00.003-07:002016-11-01T12:55:58.653-07:002016-10-22 Mobilization 2016<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Zmobilizowani Studenci</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Na konferencji Mobilization przybyła grupa studentów 4 roku informatyki na PŁ. Ogólnie wszyscy byliśmy miło zaskoczeni profesjonalnym zorganizowaniem jak i tematyką. Poniżej przedstawię opinie moich kolegów jak i moją nt. konferencji.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Paweł</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Konferencja była na bardzo wysokim poziomie zarówno merytorycznym jak i organizacyjnym. Jak dla mnie najbardziej wartościowe prelekcje odbywały się w Auli chodzi mi o cały blok dotyczący reaktywnego programowania (prelegenta z Francji mało co zrozumiałem ale sam prywatnie zgłębiłem temat ), natomiast najciekawsza prelekcja była w sali Mobici dotyczyła beaconów, prelegenci opowiadali na temat profesjonalnie i zaskakująco. o tym opowiadali. Życzyłbym sobie jak i innym żeby każda prelekcja zawierała tyle humoru i tyle wskazówek co ta. Po konferencji odbyło się party gdzie można było porozmawiać , poznać nowych deweloperów. W następnym roku biore w ciemno wejściówkę jak tylko się pojawi. Najlepsze stanowisko miała firma Harman która pokazywała zabawki które tworzą do Mercedesów klasy S.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mariusz</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Świetna konferencja. Dużo ciekawych prezentacji oraz profesjonalna organizacja. Osobiście najbardziej podobała mi się pierwsza prezentacja, którą prowadził TomTom. Temat dotyczył dronów jako "pomoc domowa", a dokładniej utworzenia mapy pomieszczenia i kazanie dronowi przenieść obiekt z punktu A do punktu B. Pokazane na niej był proces tworzenia mapy pomieszczenia na podstawie zdjęć, dopasowywania kawałków mapy na podstawie krawędzi obiektów oraz ogólnie pojętego przetwarzania obrazu w czasie rzeczywistym. Kolejną ciekawą dla mnie prezentacją była prezentacja o możliwościach języka Kotlin, prowadzona przez Francisco Estevez'a. Pokazane na niej były przykłady rozwiązań pewnych problemów właśnie z użyciem Kotlin'a, co doskonale pokazywało jego możliwości i prostotę. Bardzo podobało mi się również to, że przyszło bardzo dużo firm i można było porozmawiać z ich przedstawicielami na temat technologii przez nich używanych, czy na temat projektów które są przez nie realizowane i na przykład zostawić im swoje CV. Przychodząc na Mobilization nie wiedziałem, że można dowiedzieć się tylu ciekawych rzeczy w tak krótkim czasie. Mogę jednak z pewnością powiedzieć, że się nie zawiodłem i z pewnością udam się kolejną tego typu konferencję.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Kamil</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ogólnie prelekcje na wysokim poziomie. Fajnie, że wszystko po angielsku, co pomaga się też wtłoczyć w język branżowy, choć niektórych ciężko było zrozumieć (mam na myśli prelegenta z Hiszpani).</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Stoiska i poczęstunek - super, konkursy zadowalające.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Najlepsza prelekcja według mnie - ex aequo "Taming your node_modules with Yarn" oraz "(B)VIPER module applications" czy jakoś tak.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Jednym słowem konferencja, na którą warto się udać.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dominik</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Najlepsza prelekcja: Taming node_modules at facebook gdzie Konstantin Raev pokazał nowy menedżer pakietów dla node js o nazwie yarn który jest szybszy i bezpieczniejszy od npm dodatkowo sam katalog node_modules.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Najgorsza prelekcja: Jedna prelekcja dla mnie była słaba głównie z powodu chaotyczności prelegenta.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Co mi się podobało: Przede wszystkim klimat konferencji i prelekcje.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Co mi się nie podobało: NIC!</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sama konferencja mi się podobała chociaż technologie mobilne to nie jest coś w czym pracuje albo się rozwijam ale zawsze takie wydarzenie pozwala poszerzyć horyzonty i zobaczyć że istnieje świat poza webem. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mariusz</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mobilization VI, jest pierwszą edycją tej konferencji, w której miałem przyjemność wziąć udział. Organizatorzy postarali się, aby nie dało się nudzić. Wiele tematów prezentacji, wśród których każdy mógł znaleźć coś dla siebie, a w przerwach możliwość porozmawiania z przedstawicielami firm na stoiskach, gdzie dodatkowo organizowane były konkursy i można było zdobyć ciekawe gadżety. Dodatkowo całość konferencji była przeprowadzona w militarnym klimacie, co dodało fajnego „uroku” całej imprezie. Organizatorzy zapewnili również, aby uczestnicy konferencji nie doznali głodu i pragnienia. Na korytarzu były przygotowane stoiska z jedzeniem i piciem, a także zapewniono ciepły posiłek obiadowy.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Wśród prezentacji najbardziej zaciekawił mnie wykład o tytule „Break the monolith with (B)Viper Modules. Or how do I start modularising my code for a better (engineering) life”. Nicola Zaghini przedstawił bardzo ciekawy sposób rozbicia aplikacji mobilnej na warstwy, którego wcześniej nie miałem okazji spotkać. Co więcej prezentacja była przeprowadzona w sposób bardzo zrozumiały oraz autor pokazywał przykłady kodu obrazujące to co mówił.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mobilization jest konferencją, na którą na pewno warto się wybrać. Jedyne do czego mogę się przyczepić to brak prezentacji dotyczących Windows Phone (przynajmniej ja takich nie zauważyłem). Pomimo tego, że najmniej popularny system mobilny, to uważam, że powinien pojawić się na tego typu konferencji. Zabrakło mi również prezentacji o Xamarinie. Technologia bardzo niedoceniania, a myślę, że warto o nich posłuchać. Pomimo tych dwóch rzeczy, myślę, że nie ma co narzekać, bo i tak było o czym posłuchać. Chętnie wybiorę się na kolejną edycję Mobilization.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span></div>
<span id="docs-internal-guid-a8f44e69-2175-c994-cc77-81b3222896bd"></span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Adam</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mobilization to najciekawsze wydarzenie organizowane przez łódzkiego JUG’a oraz zdecydowanie najlepsza konferencja programistyczna w Łodzi. Organizatorzy nie poszli na łatwiznę. Prelegenci wygłaszający wykłady zjechali się z wielu zakątków świata, aby dzielić się z nami swoją wiedzą i doświadczeniem. Każdy mógł znaleźć wśród wygłaszanych tematów coś dla siebie. Z tych najbardziej interesujących pojawiły się smaczki związane z programowaniem funkcyjnym, pomocami dla developerów Androida, zagadnieniami inżynierii oprogramowania, a nawet ku zaskoczeniu analizą obrazu i dronami. Oczywiście to tylko garstka z poruszonych tematów. Na pewno na żadnej z prelekcji nie można było odnieść wrażenia zmarnowanego czasu. Jak się można domyślić to nie wszystko. Stoiska firm związanych z łódzkim świadkiem IT też zasługują na oklaski. Na każdym z nich czekał na nas ktoś gotowy zaspokoić naszą ciekawość odpowiadając na nasze pytania. A gdyby komuś było jeszcze mało na deser czekały na niego wspaniałe nagrody i upominki. Całe wydarzenie zasługuje na piątkę z plusem. Kto się nie pojawił, niech koniecznie wpada za rok!</span></div>
Anonymoushttp://www.blogger.com/profile/05388696731344796078noreply@blogger.com1tag:blogger.com,1999:blog-4051009680712452564.post-59058121895303402242016-09-20T22:58:00.002-07:002016-09-26T13:35:02.248-07:002016-09-09 Geecon Reactive<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span><style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }</style><br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>Rejestracja</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><span style="font-weight: normal;">Rejestracja
odbyła się szybko i bezproblemowo. Można było przyjść na
ostatnią chwilę.</span></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>Catering</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Od
rana dla uczestników konferencji czekało lekkie śniadanko. W
przerwach organizatorzy zapewnili nieograniczony dostęp do ciastek,
soków oraz oczywiście kawy. Na lunch można było zjeść
dwudaniowy obiad. Był trochę problem z organizacją. Zrobienie z
sali kinowej stołówki nie jest najlepszym pomysłem.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>After
Party</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Po
zakończeniu wykładów oczywiście after party. Organizatorzy
zarezerwowali stoliki w pobliskiej pijalni, gdzie można było się
napić za darmo piwa.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>Miejsce</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Konferencja
odbyła się Multikinie. Została zarezerwowana sala kinowa mogąca
pomieścić około 150 osób. Dzień organizacji konferencji
(piątek), bliskość do morza zachęcały do pozostania na weekend w
Sopocie.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">https://www.google.pl/maps/place/Multikino/@54.4452412,18.5655159,17z/data=!3m1!4b1!4m5!3m4!1s0x46fd0a8e1c0cdea7:0x1b1a86f3e6f2719f!8m2!3d54.4452412!4d18.5677046</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>Prezentacje</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Prezentacje
trwały 45 minut. Z jednej strony w tak krótkim czasie ciężko
człowieka znudzić. Z drugiej strony w większości przypadków to
była walka z czasem. Szczególnie gdy był prezentowany przykład z
kodami. Zdecydowanie brakło czasu na rozszerzenie przykładów.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>RxJava
in legacy project</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Według
wielu uczestników najlepszą prezentacją była <a href="http://2016.reactive.geecon.org/">RxJava
in legacy projects</a>, prowadzona przez Tomasz Nurkiewicza. Był to
w zasadzie pokaz kodowania na żywo. Całość aplikacji była raczej
prosta, a części kodu niepowiązane z reaktywnością zostały
zamockowane. Pozwoliło to oszczędzić czas na pokazanie tego co w
reaktywności najważniejsze. Było to dobre, praktyczne uzupełnienie
zdobytej wcześniej (w większości tylko teoretycznej) wiedzy. Kod
źródłowy został udostępniony na twitterze.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><a href="https://twitter.com/tnurkiewicz">https://twitter.com/tnurkiewicz</a></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><a href="http://nurkiewicz.github.io/talks/">http://nurkiewicz.github.io/talks/</a></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><a href="https://github.com/nurkiewicz/rx-legacy/blob/geecon-reactive/src/test/java/com/nurkiewicz/GeeConReactiveTest.java">https://github.com/nurkiewicz/rx-legacy/blob/geecon-reactive/src/test/java/com/nurkiewicz/GeeConReactiveTest.java</a></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>Driving
new features quickly and safely with Elm</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Prezentacja
języka Elm z przykładami– coś dla frontendowców. Jeśli jesteś
front developerem i chcesz kompilować z elma do javascriptu, to ta
prezentacja była dla Ciebie. Dla reszty dobre zwolnienie tempa i
pokazanie, że na froncie też dużo się z reaktywnością dzieje
:).</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>Going
Reactive</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Pierwsza
prezentacja będąca zupełnym wstępem. Nie było nic o
technologiach, frameworkach. Nie było przykładowego kodu. Pokazanie
problemów, które rozwiązuje „reaktywnośc” na bazie analogii
do dystrybucji leków.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><b>MicroServices
- Old Fish, New Fish</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><span style="font-weight: normal;">Prezentacja-show.
Wykład historyczny o pracy, projektach Kirka. Pełen niezłych
żartów, elementów rasistowskich, ksenofobicznych względem
programistów Cobola. Dowiadujemy się, że projekty z głównymi
</span>paradygmatami <span style="font-weight: normal;">mikroserwisów</span>
<span style="font-weight: normal;">były tworzone w przeszłości
przez autora prezentacji. Na podsumowaniu oczywiście padło
stwierdzenie, że według większości mikroserwisy</span> <span style="font-weight: normal;">to
przyszłość, ale istnieją problemy z debugowaniem, konfiguracją
itd.</span></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;"><b>Reactor
3.0, a JVM Foundation for Java 8 and Reactive Streams</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><span style="font-weight: normal;">Prezentacja
prowadzona przez</span> <span style="font-weight: normal;">leada i
core commitera projektu Reactor. Wprowadzenie wraz z przykładami do
Reactor 3.0. Na końcu było także kilka słów o nowej wersji
Springa. Ciekawy obraz przyszłości projektu Spring.</span></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><a href="https://spring.io/blog/2016/06/07/notes-on-reactive-programming-part-i-the-reactive-landscape"><span style="font-weight: normal;">https://spring.io/blog/2016/06/07/notes-on-reactive-programming-part-i-the-reactive-landscape</span></a></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><a href="https://spring.io/blog/2016/06/13/notes-on-reactive-programming-part-ii-writing-some-code"><span style="font-weight: normal;">https://spring.io/blog/2016/06/13/notes-on-reactive-programming-part-ii-writing-some-code</span></a></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><a href="https://spring.io/blog/2016/07/20/notes-on-reactive-programming-part-iii-a-simple-http-server-application"><span style="font-weight: normal;">https://spring.io/blog/2016/07/20/notes-on-reactive-programming-part-iii-a-simple-http-server-application</span></a></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;"><b>Going
Reactive</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;">Ciekawa
prezentacja wraz z przykładami. Gdzie i po co można wykorzystać
reaktywność. Przykład z zastosowaniem w mierzeniu wydajności JVM.
Kilka ciekawostek i tricków.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;"><b>Reactive
back-pressure with Vert.x</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;">Wstęp
do kolejnej biblioteki do budowania reaktywnych aplikacji. Większość
prezentacji zajęły przykłady. Autor mógłby zrobić refactor kodu
:) .</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;"><b>Reactive
reality check: pushing the limits</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;">Prezentacja
firmy Codewise. Zalety i problemy z jakimi programiści spotkali się
podczas developowania aplikacji reaktywnych na bazie ich produktów.
Wykorzystywanie reaktywności w programowaniu aplikacji mobilnych
(iOS).</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><span id="goog_338428250"></span><a href="https://www.blogger.com/"></a><span id="goog_338428251"></span><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;"><b>Podsumowanie</b></span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;">Na
konferencji nie brakowało znanych nazwisk. Zostały przedstawione
wszystkie bardziej znane biblioteki do reaktywności (Reactor,
RxJava, Vert.x). Moim zdaniem największą wadą tej konferencji było
to, że niektóre tematy nie zostały rozszerzone. Czas jednej
prezentacji to 45 minut. Zdecydowanie to zbyt krótko, żeby dobrze
wgryźć się w temat z zaawansowanymi przykładami.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="color: black; font-size: small;">Organizatorzy
mogli zrezygnować z niektórych prezentacji i rozszerzyć takie
zagadnienia jak programowanie w Reactor 3.0 czy w RxJava.</span></span></div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: inherit;"><span style="font-size: small;"><br /></span></span>
</div>
<span style="font-family: inherit;"><span style="font-size: small;">
</span></span></div>
Anonymoushttp://www.blogger.com/profile/14669863322143299929noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-91695803759051512562016-07-24T13:10:00.000-07:002016-07-24T13:38:08.890-07:002016-06-30 – Polyconf 2016<div dir="ltr" style="text-align: left;" trbidi="on">
<blockquote>
<strong>Ucz się co najmniej jednego nowego języka programowania każdego roku</strong>. Poszczególne języki rozwiązują te same problemy na różne sposoby. Ucząc się różnych podejść jesteś w stanie poszerzyć swoje horyzonty myślowe i uniknąć zapadnięcia w rutynę.<br />
<cite>Pragmatic Programmer: From Journeyman to Master, Portable Documents, tłumaczenie własne</cite></blockquote>
Tym krótkim cytatem chciałem odpowiedzieć na pytanie <i>ale <b>po co</b> programista Javy ma jechać na taką konferencję?</i> jak również i podsumować moje oczekiwania względem Polyconfa.<br />
Dzięki współpracy łódzkiego JUG-a z organizatorami wielu ciekawych konferencji, opłaceniu symbolicznej składki 😉 i łutowi szczęścia miałem okazję wziąć udział w tym nietypowym wydarzeniu, a moją relacją postaram się Wam pomóc odpowiedzieć na pytanie, <b>czy warto pojechać tam za rok</b> oraz <a href="https://www.youtube.com/playlist?list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s">które prelekcje warto zobaczyć na YouTubie</a>!<br />
<h3>
<br /></h3>
<h3>
Czas</h3>
Już sama formuła konferencji była dość zaskakująca: trwała ona trzy dni, jednakże prelekcje odbywały się tylko <b>jednym torem</b>. Niosło to za sobą dosyć <b>przewidywalne niewygody</b>:<br />
<br />
<ul>
<li>nie dało się <b>ominąć</b> prelekcji, których temat nie był dla nas interesujący (o ile nie odbyły się na początku lub końcu danego dnia)</li>
<li>miało się poczucie, że sama konferencja <b>mogła trwać krócej</b> (a więc być <b>tańszą</b> zarówno dla organizatorów, jak i dla uczestników) realizując te same cele i niosąc te same korzyści</li>
</ul>
<div>
Jak i pewne <b>nieco mniej przewidywalne zalety</b>:</div>
<div>
<ul>
<li>brak konieczności <b>wyboru toru</b> i przemieszczania się w trakcie przerw, wraz z <b>zaskakująco niską </b>ilością stanowisk sponsorów i partnerów (w liczbie 1, które to stanowisko po dniu pierwszym stało już opuszczone) niewątpliwie wpłynęło na <b>ogromne zachęcenie uczestników do networkingu</b>, niebywałe wręcz na tle innych konferencji jakie znam</li>
<li><b>pozory mylą</b> i tematy wydające się nieciekawymi (lub zwyczajnie – niezbyt dobrze nazwany) bywały jednymi z <b>bardziej interesujących</b> w mojej skromnej opinii</li>
</ul>
<div>
Dodać do tego trzeba również dużą rozpiętość czasową na przestrzeni pojedynczego dnia – prelekcje odbywały się <b>od 9:00 do 19:00</b> każdego dnia. </div>
<div>
Ostatecznie, z perspektywy człowieka dojeżdżającego do miasta konferencji, <b>godziny konferencji oceniam bardzo dobrze </b>(choć zachowanie skupienia do samego końca wymagało stałego uzupełniania poziomu kofeiny w krwiobiegu), podczas gdy <b>wolałbym, gdyby sama konferencja została skrócona do dwóch dni</b>.<br />
Ostatnią, fatalną cechą temporalną konferencji był <b>konflikt z</b> <b>Confiturą</b>, <b>która odbyła się w ostatni dzień trwania Polyconfa</b>. Zostałem do samego końca, jednakże w sobotę żałobnie przywdziałem koszulkę z poprzedniej edycji warszawskiej konferencji 😭.</div>
</div>
<h3>
<br /></h3>
<h3>
Miejsce</h3>
Konferencja odbyła się na <a href="https://www.google.pl/maps/place/aleja+Niepodleg%C5%82o%C5%9Bci+53%2C+Pozna%C5%84%2C+Poland">WPiA UAM w Poznaniu</a>. Porównując uczelnię jako miejsce odbywania się konferencji z zeszłymi Confiturami, poznański uniwersytet wypadł <b>całkiem przyzwoicie</b>. Szczególną cechą (na tle moich doświadczeń) sali wykładowej była <b>matryca monitorów</b> w miejscu ekranu dla rzutnika. Kosztem widocznych krawędzi monitorów (nie aż tak duży problem) mieliśmy <b>bardzo wyraźny obraz</b> bez zgaszonych świateł na sali. Krzesełka również <i>dawały radę</i>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPMAlBl2mOJX8_Goon0Sh1LBDt-I5lDPT9vYJjsZ4eTdTdjbEKO-zH5xORFtP7vw627IJZ87EkTasEmoo2rGtVql_mBmBA2itprqYpwIwULmptGeS8F38X4zBfDp4v9JMkaQJhFKihchk/s1600/IMG_20160630_170606.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPMAlBl2mOJX8_Goon0Sh1LBDt-I5lDPT9vYJjsZ4eTdTdjbEKO-zH5xORFtP7vw627IJZ87EkTasEmoo2rGtVql_mBmBA2itprqYpwIwULmptGeS8F38X4zBfDp4v9JMkaQJhFKihchk/s320/IMG_20160630_170606.jpg" width="320" /></a></div>
Ogólnie miejsce oceniam nieźle, chociaż, z oczywistych powodów, do krakowskiego centrum konferencyjnemu było mu daleko.<br />
<h4>
<br /></h4>
<h4>
Catering</h4>
Organizatorzy zapewnili mobilny kawomat, owoce, <b>relatywnie zdrowe obiady</b> (sałatka z kurczakiem, kanapki) oraz bardzo dużo<b> bezwzględnie niezdrowych przekąsek</b>. Ogólnie <i>coś dla każdego</i>, ale ostateczną ocenę pozostawiam Wam 😉.<br />
<h3>
<br /></h3>
<h3>
Networking</h3>
<div>
Tak jak wspomniałem, formuła konferencji inherentnie promowała <b>dyskusje pomiędzy uczestnikami</b>, gdzie zwykle duża ilość stanowisk sponsorów i wyjazdy grupowe (<i>ergo</i>: trzymanie się we własnych grupach) mocno je ograniczają. Udało mi się odbyć <b>wiele interesujących rozmów</b> z programistami o różnych tłach. <b>Prelegenci siedzieli pośród pozostałych uczestników</b>, dlatego dostęp do nich również był bardzo łatwy.</div>
<div>
Ostatecznie nie jestem w stanie przekazać tu wyciągniętych wniosków, ponieważ to zawsze dosyć osobista kwestia, jednakże <b>fajnie było wyjść z szafy </b>😉.</div>
<div>
<h3>
<br /></h3>
<h3>
Cherry picks</h3>
</div>
<div>
Trzy dni konferencji implikują relatywnie dużą ilość wykładów, z których <b>nie wszystkie mogą być interesujące dla każdego</b>. Rozpoczynające konferencję warsztaty, niestety, nie zostały nagrane – jednakże warsztat nt. Reacta i Clojure był – w krótkich, żołnierskich słowach – niewypałem). Również dyskusje po wykładach są nieodzowną częścią konferencyjnego doświadczenia. Dlatego też poniżej przedstawię pokrótce wykłady, które uważam za <b>najbardziej interesujące i warte obejrzenia</b>.</div>
<div>
Raz jeszcze link do nagrań: <a href="https://www.youtube.com/playlist?list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s">https://www.youtube.com/playlist?list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s</a></div>
<h4>
<br /></h4>
<h4>
<a href="https://www.youtube.com/watch?v=Nx9pEQng8H8&index=12&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s">Functional Thinking – Artur Czajka</a></h4>
<div>
Programowanie funkcjonalne wdziera się do wszystkich platform i języków już od kilku lat. Nasz <b>kolega z JUG Łódź </b>w krótkiej (wykłady trwały pół godziny) i soczystej formie pokazał niedowiarkom (😜), jak <b>funkcjonalne myślenie</b> upraszcza wyrażanie <i>codziennych</i> algorytmów w programowaniu, a także jak radzić sobie z sytuacjami pozornie trudnymi dla <i>sfunkcjonalizowania</i>.<br />
Prelekcja od samego początku stanowiła świetny wstęp do <b>trendu</b> funkcjonalnego programowania widocznego wyraźnie w całej konferencji. Jej temat nieco pokrywał się z <a href="https://www.youtube.com/watch?v=R_TQtthAGQc&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s&index=9">OOP to FP – Julia Gao</a>, jednakże Artur, w mojej opinii, <b>znacznie lepiej wypełnił swoje zadanie</b>.<br />
<h4>
<br /></h4>
<h4>
<a href="https://www.youtube.com/watch?v=v68ppDlvHqs&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s&index=2">Dynamics of change: why reactivity matters – Andre Staltz</a></h4>
</div>
<div>
Skoro odbębniliśmy już <i>functional</i>, to czas na <i>reactive</i>...</div>
<div>
Jednak na poważnie, prezentacja Andre Staltza jest następną w kolejności odbywania się na konferencji, którą z czystym sercem mogę <b>polecić każdemu</b>. W bardzo dopracowanej, zwięzłej formie odpowiada ona na tytułowe pytanie – <i>dlaczego reaktywność jest istotna?</i> Znajdziemy tu rozważania na temat <b>rozwiązań typowych problemów</b> w ujęciu <i>language agnostic</i> (co dla mnie było bardzo istotne – bardzo duża ilość prelekcji dotyczyła osobistych problemów egzystencjalnych JavaScripta, gdzie dla programistów innych języków ciężko było wynieść coś ciekawego...), w tym <b>porównania np. z AOP</b> (bardzo trafne wg mnie) czy elementy kognitywnego podejścia do tworzenia kodu (czyli <i>jak myślę o swoim kodzie?</i>).</div>
<div>
Ogólny wniosek z prezentacji mógłby brzmieć: <i>jest miejsce na programowanie reaktywne, jest i miejsce na programowanie pasywne</i>. Andre stwierdził jednakże, że do wszelkich problemów powinniśmy najpierw podchodzić w sposób reaktywny... Z czym osobiście uprzejmie się nie zgadzam, jednakże <b>gorąco polecam obejrzenie prelekcji samemu</b>.</div>
<div>
<br /></div>
<div>
<h4>
<br /></h4>
<h4>
<a href="https://www.youtube.com/watch?v=qRm_58RA9ns&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s&index=13">Oden – A Functional Programming Language for the Go Ecosystem – Oskar Wickstrom</a></h4>
Polyconf obfitował w prelekcje w różnej formie prezentujące różne ciekawe, nowe (<a href="https://www.youtube.com/watch?v=TVO8WXFYDIA&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s&index=16">i stare</a>) <b>języki programowania</b>. Prezentacja nt. języka Oden jest jedną z nich, którą mógłbym polecić, ponieważ:<br />
<ul>
<li><a href="https://playground.oden-lang.org/">bardzo łatwo go wypróbować</a></li>
<li>została zaprezentowana przez jego twórcę</li>
<li>jest to język na platformę Go, co samo w sobie jest dosyć interesujące</li>
</ul>
<div>
Niestety, sam język nie sprawia wrażenia, jakbyśmy za kilka lat mieli spodziewać się napisanych w nim, ogólnie dostępnych aplikacji (a, tym bardziej: sami w nim pisali 💰) – słowo <i>eksperymentalny</i> jest tu kluczowe, ale dla wspomnianego celu poszerzania horyzontów, warto poświęcić mu trochę uwagi i spróbować napisać kilka prostych algorytmów w REPLu. <i>Poeksperymentować</i>. Ja miałem <b>sporo zabawy</b> 😊.</div>
</div>
<div>
Z innych prezentacji tego typu wyróżniłbym jeszcze <a href="https://www.youtube.com/watch?v=28jCDXfZCgE&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s&index=6">My Adventure With Elm – Yan Cui</a>. Poznanie podstaw Haskella mocno otwiera umysł na nowe idee, a istnienie <b><i>takiego-jakby-Haskella </i>transpilowanego do JavaScriptu</b> (gdzie, wydawałoby się, nie da się obejść <b>bez mutowalnego stanu</b>) jest co najmniej fascynujące!</div>
<div>
<h4>
<br /></h4>
<h4>
<a href="https://www.youtube.com/watch?v=XV3vUZ9y8AU&index=7&list=PLf8usAIVnNBYBTDIf2LiBHfWTXGr6K01s">The Linguistic Relativity of Programming Languages – Jenna Zeigen</a></h4>
Tzw. <b><i>miękkie</i> podejście do programowania</b>, które niezbyt interesowało mnie na początku mojej kariery, utorowało sobie ostatnio drogę do centrum mojego zainteresowania. Dlatego też już sam tytuł prezentacji pani Jenny wzbudził moje ogromne zainteresowanie.<br />
<b>To, w jaki sposób poznane języki kształtują (i ograniczają) nasze myślenie o programowaniu </b>– taki polski, alternatywny tytuł wybrałbym dla prezentacji. Ciężko napisać tu coś więcej, więc po prostu – polecam.<br />
Ja zasadniczo się nie zawiodłem, chociaż w tym przypadku <b>pół godziny na prelekcję to było zdecydowanie za mało </b>(i to mimo, że prelegentka bardzo szybkim, wyraźnym mówieniem bardzo efektywnie wykorzystała dostępny czas). Bardzo chciałbym<b> posłuchać o tym temacie więcej</b>.</div>
<div>
<h4>
<br /></h4>
<h4>
<a href="https://www.youtube.com/watch?v=HjASqh5z8ck">Why System Programming is For Everyone – Julia Evans</a></h4>
</div>
<div>
Po jednej z prezentacji, pewien uczestnik postanowił wykorzystać czas przeznaczony na pytania aby wyrazić swoje niezadowolenie z postulatów stawianych wobec swojego ulubionego języka (stety-niestety nie pamiętam jaki to był język, ale nic ciekawego). Wówczas pewna pani o wyraźnie zagranicznej proweniencji uprzejmie przerwała mu słowami <i>przepraszam cię stary, ale czy ty masz jakieś pytanie, czy tak sobie gadasz?</i> Nie mogłem wyrazić tego lepiej.</div>
<div>
Jakież było moje zadowolenie, gdy chwilę później pani ta okazała się kolejną prelegentką. Wasze doświadczenia w tej kwestii mogą się różnić, ale Julia była<b> jedną z najbardziej nietypowych prelegentek </b>(w grupie obu płci), jakie miałem okazję słuchać.</div>
<div>
Wyobraźcie sobie Zooey Deschanel z serialu <i>New Girl</i> opowiadającą o programowaniu. Mającą <b>ADHD</b>. Na <b>amfetaminie</b>.</div>
<div>
Chociaż jestem przekonany, że Julia nie wspomagała się w nielegalny sposób przed swoim wystąpieniem, to np. narysowana przez nią <b>laurka na cześć narzędzia <span style="font-family: "courier new" , "courier" , monospace;">strace</span></b> sprawiła, że mimo odbywania się jej prelekcji pod koniec ciężkiego, drugiego dnia konferencji, nawet bez porcji kofeiny <b>ciężko byłoby na niej przysnąć</b>.</div>
<div>
Sama <b>treść</b> prezentacji wydaje się być oprawiona <b>nie do końca dobrym tytułem</b> – dotyczyła ona głównie <b>debugowania aplikacji na poziomie systemu operacyjnego</b>, a dokładnie – Linuksa. Wydaje się być ona zatem ciekawa i trafna dla dosyć szerokiego grona programistów, jednakże to <b>forma </b>prelekcji wydaje mi się najbardziej intrygująca – a nie powiedziałbym tego o wielu wykładach w moim życiu 😉.</div>
<h4>
<br /></h4>
<h4>
<a href="https://www.youtube.com/watch?v=96YwY7Lld0Q">Ecto vs. ActiveRecord: A Tale of Two ORMs – Brad Urani</a></h4>
Porównania <b>różnych</b> <b>podejść</b> do <b>tych samych problemów</b> w <b>różnych językach programowania</b> powinny być, wg mnie, najbardziej akcentowanym tematem na takiej konferencji jak Polyconf. Z ubolewaniem stwierdzam jednak, że było ich zdecydowanie za mało, a część z obecnych było, w mojej skromnej opinii, zwyczajnie słabych, np. <a href="https://www.youtube.com/watch?v=ZfqfLpV26yY">Becoming a Polyglot – APIs in 4 Languages</a>, gdzie temat wydawał się być doskonały, ale wybór porównywanych języków był jednak zbyt... klasyczny.<br />
Prezentacja pana Brada (którą na YouTubie możecie też znaleźć w nagraniu z innej konferencji) dotknęła tematu <b>różnych podejść do</b> <b>warstwy dostępu dodanych</b>. Znów, tytuł wg mnie jest niezbyt trafny, bo tytułowe, Elixirowe Ecto ORM-em nie jest, a Rubiowe ActiveRecord tylko w pewnym sensie, ale nie jest to ważne.<br />
Ważne jest natomiast porównanie <b>klasycznych podejść do dostępu do danych w programowaniu</b>, gdzie chcieliśmy <b>zakryć wszystko obiektami </b>i zapomnieć, że ta baza tam pod spodem jest, więc stworzyliśmy sobie na to wyjątkowo <b>przeciekające abstrakcje</b> (po czym stworzyliśmy noSQLe, bo SQL przestał być wydajny...), a <b>podejściem funkcjonalnym</b>, gdzie dostęp do danych, jak wszystko, jest cudownie <i>explicit</i>...<br />
Cóż, w zdaniu powyżej nie udało mi się zachować dziennikarskiej obiektywności. Na szczęście jestem programistą, a nie dziennikarzem, zatem niezależnie od waszych opinii polecam obejrzenie prelekcji Brada, a ja w tym czasie poczekam na podobną do Ecto bibliotekę na JVM-a 😉.<br />
<h3>
<br /></h3>
<h3>
Podsumowanie</h3>
To oczywiście nie wszystkie dobre prezentacje z Polyconfa. Było też kilka fatalnych. Jednakże, <b>jeśli chociaż jedna prelekcja</b> na całej konferencji zmieni twoje podejście do programowania lub sprawi, że będziesz lepszym programistą (albo człowiekiem?), to znaczy, że konferencja była <i>tego</i> warta. To oczywiście zawsze <b>wymaga pewnej aktywnej pracy</b> oprócz pasywnego przyjmowania informacji. Trzeba przetestować tą nową bibliotekę, albo napisać coś na blogu, albo obejrzeć prelekcję jeszcze raz, albo podzielić się nią ze znajomymi.<br />
Czy zatem warto było pojechać na Polyconfa? Warto. Czy pojadę za rok? Cóż, zdecydowanie lepiej sprawdzę kalendarz konferencji, gdyż opuszczenie Confitury było dość bolesne, a ja wolałbym mieć możliwość wybrania innego toru zamiast oglądania prelekcji o bardzo specyficznych problemach dotyczących tylko JS-a (z całym szacunkiem dlań, ale było go jednak za dużo).</div>
Anonymoushttp://www.blogger.com/profile/18365744256948938193noreply@blogger.com1tag:blogger.com,1999:blog-4051009680712452564.post-11978763315068896832016-05-08T15:06:00.002-07:002016-05-08T15:06:42.069-07:002016-04-21 Mobile Central Europe<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
<span style="line-height: 1.38; text-align: justify;">Promując konferencję </span><a href="http://mceconf.com/" style="line-height: 1.38; text-align: justify;">Mobile Central Europe</a><span style="line-height: 1.38; text-align: justify;"> jako </span><a href="http://www.mobilization.pl/" style="line-height: 1.38; text-align: justify;">Mobilization</a><span style="line-height: 1.38; text-align: justify;"> i </span><a href="http://www.juglodz.pl/" style="line-height: 1.38; text-align: justify;">JUG Łódź</a><span style="line-height: 1.38; text-align: justify;"> udało się nam wypromować 22 wejściówki (22 osoby użyły kodu zniżkowego mobilization-juglodz). Zgodnie z umową z organizatorami MCEConf otrzymaliśmy 4 wejściówki, które rozdyspowaliśmy wśród Tomka Zielińskiego, Maćka Przybylskiego, Marcina Iwanickiego, Tomka Płuciennika. Witold Olejniczak zdobył wejściówkę w konkursie na </span><a href="http://blog.juglodz.pl/2015/11/2015-10-12-krakowscy-kowboje-czy-odzcy.html" style="line-height: 1.38; text-align: justify;">wpis o Mobilization</a><span style="line-height: 1.38; text-align: justify;"> a Mariusz Saramak i Marek Defeciński kupili swoje wejściówki :). Zgodnie z tradycją w zamian za darmowe wejściówki oczekujemy recenzji na blogu JUGa. Recenzję z tegorocznej Mobile Central Europe zrobiliśmy w formie 10 pytań do. Oto odpowiedzi uczestników.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7blHxCYADr2Jg8HWd5REyoFUqRSsuDp7C5Vr3c26JozrxK0OGFhDq-mUfPq8noN7QhSQ0GMXiK8yNYT-s-ryNfwbuNIoBP-TSiIE2IV-g3i6DgU1tCsH1LqrhBj6E9plhyhL3-iJ_NQeT/s1600/C0235436.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7blHxCYADr2Jg8HWd5REyoFUqRSsuDp7C5Vr3c26JozrxK0OGFhDq-mUfPq8noN7QhSQ0GMXiK8yNYT-s-ryNfwbuNIoBP-TSiIE2IV-g3i6DgU1tCsH1LqrhBj6E9plhyhL3-iJ_NQeT/s320/C0235436.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Otwarcie MCEConf</td></tr>
</tbody></table>
<br /></div>
<ol style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Czego oczekiwałeś jadąc na konferencję i czy Twoje oczekiwania zostały spelnione?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Ostatnio czuję, że coraz mniej “ogarniam” technicznie, więc chciałem dostać dobry technicznie przekaz i dostać motywację do samodzielnego zgłębiania tematu. Moje oczekiwania zostały spełnione, dużo prelekcji mi się podobało.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Za każdym razem, gdy wybieram się na konferencję, mam nadzieję nadrobić swoje braki w nowinkach. Codzienna praca często nie pozwala być na czasie z dynamicznie rozwijającą się technologią. Prelekcje zatem traktuje jako przetarcie szlaku w zapoznawaniu się z nowymi bibliotekami, które czasem również rzucają nowe spojrzenie na wzorce projektowe, ich zastosowanie i wykorzystanie.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Czy moje oczekiwania zostały spełnione? Myślę, że tak. Uważam tą edycję MCE za bardzo przyjazną developerom. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Obecnie pojawia się tyle nowych bibliotek, że bardzo trudno nad wszystkim nadążyć, dlatego dobrze jest czasem posłuchać, które z tych nowinek są warte uwagi - czy MCE spełniła moje oczekiwania w tej kwestii… - nie mogę narzekać, ale niedosyt pozostał, zwłaszcza w tematach “niedeveloperskich”.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Ponieważ jedyna konferencja na jakiej byłem to “Mobilization”, która jest darmowa chciałem zobaczyć jak to wygląda na konferencji płatnej. Drugim czynnikiem była cheć poznania nowości ze swiata androidowego. Myśle ze MCE po częsci spełniła pokładane w niej nadzeję jednak było też sporo rozczarowań.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Jeżeli chodzi o prelekcje dot. iOS/Swift etc. To uważam, że były na poziomie podstwowym albo początkującym. Spodziewałem się bardziej technicznej konferencji, tips/tricks, podanie życiowych problemów i różne podejść do nich. Nic z tych rzeczy nie zaobserwowałem.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Konferencje są dla mnie wydarzeniami, które pozwalają zatrzymać się na moment, wyrwać z rutyny, pozwalają na konfrontację własnych przekonań z przekonaniami innych osób, zwykle stokroć bardziej ogarniętych niż ja. Poza zastrzykiem świeżych wiadomości zaspokajają ciekawość, np. jakim na co dzień człowiekiem jest osoba, której autorstwa bibliotekę używasz od dawna, a której źródła w jakiś sposób wywarły na Tobie spore wrażenie; czy jest bucem? maniakiem? a może tylko i aż utalentowanym spoko-ziomalem? :) Konferencje to również znakomite miejsce spotkań z osobami, które lubimy, a z którymi nie mamy okazji widzieć się na co dzień; np. z osobami, którymi mieliśmy okazję współtworzyć świetny projekt lub przeklinać klęskę.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Tak, moje oczekiwania zostały spełnione.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Uważam, że każdy developer powinien pojechać przynajmniej raz w roku na konferencję dla developerów. MCE - ma w nazwie Mobile - a ja jestem Mobile developerem więc - byłem :). </span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="2" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Która prelekcja była najciekawsza i dlaczego?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Life without fragments prowadzona przez dwóch Włochów. Prezentacje z dwoma prelegentami są raczej trudne do zrobienia w ciekawy sposób a im się ładnie udało. Nie wchodzili sobie w drogę i nie było też długich niepotrzebnych przerw przy zmianach prelegentów.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Podobała mi się też prelekcja Scotta-Alexandra o Android security - ponieważ zawierała praktyczne i proste porady do wzmacniania bezpieczeństwa. Kilkulinijkowe kody źródłowe, które można przekleić do swojej apikacji.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.6667px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>TZ</b></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Pod względem merytorycznym i poziomem prezentowanego materiału, uważam że prezentacja Gregorego Kicka dotyczącą Daggera 2 była naprawdę dobra. Zastosowanie Daggera w projektach Androidowych mocno łączy się z projektowaniem samej aplikacji i myślę, że jest to kluczowe dla tej platformy systemowej.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Warto jednak wspomnieć prezentację Scotta Alexandra-Bowna poruszającą zagadnienie bezpieczeństwa w Androidzie. Często aspekt bezpieczeństwa technologii mobilnych jest pomijany podczas tworzenia oprogramowania. Scott pokazał jednak, że bardzo małym kosztem możemy solidnie zabezpieczyć naszą aplikację.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - najbardziej do gustu przypadła mi konferencja dotycząca bezpieczeństwa w Androidzie. Temat dość istotny, a o którym za wiele nie wiem. Dobrze, że Scott skupił się na konkretnych przykładach i ich zastosowaniu.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Najlepsza prelekcja była Scotta-Alexandra o Android security, zawierała dużo ciekawych informacji odnośnie bezpieczeństwa platformy, które nie tak łatwo znależć w internecie, ponadto było sporo użytecznych kawałków kodu.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Chociaż starałem się być na prelekcjach dot. Platformy iOS najciekawsza była od ponów z polidea </span><a href="https://github.com/Polidea/RxAndroidBle" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://github.com/Polidea/RxAndroidBle</span></a><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Fajne podejście, pokazane jak porządnie robić rzeczy typu open source + zaobserwowany tool stream dla Android (Chrome plugin). Duży plus dla nich.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Najbardziej do gustu przypadły prezentacje Asha Furrowa i Natashy (The Robot) Murashev. Pierwsza z tych prezentacji (Asha) była bardzo nietechniczna ale poruszała bardzo istotny, z mojego punktu widzenia, temat komunikacji. W dodatku szczerość, otwartość, ciepłe i życzliwe podejście, którym mógł zarażać sprawiły, że będę pamiętał tą prezentację jeszcze bardzo długo. Prezentacja Natashy też była super, nie, nie było w niej efektu wow, przecierania oczu, temat dość prosty ale “zaserwowany” w znakomitej formie. Świetna osobowość plus bardzo przemyślana prezentacja. I Jon Reid też fajnie!</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - lubię wzorce projektowe i architekturę, dlatego trudno mi wybrać, bo były 3 prezentacje o Clean Architecture, ale fajnie. że tak było, byłem na trzech i wszystkie pokazały różne podejścia do tego samego tematu. To na +. Z stricte technicznych - najlepsza o security. Na tej prezentacji i na innych padło: “Lepiej proś o przebaczenie, niż o pozwolenie”, Czy czyta to jakiś manager ? Co się dzieje z firmami, dlaczego developerzy muszą ukrywać dobre rzeczy? Pod wpływem: </span><a href="https://vimeo.com/110554082" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://vimeo.com/110554082</span></a><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> oglądałem przed chwilą - polecam. </span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWMjokCh3XZL_XM0yNVFQKciaAcQvZGeI9TLelFYwjRUGI29CYEJIU8hehe52ULqjWXQ5DAt7GIYxM2YWju_ng1o09llPNWYJF5psguZdaEo-ccDe8qSQQJcQ2ypTIxynPX21Z7dxkRM77/s1600/I0255463.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWMjokCh3XZL_XM0yNVFQKciaAcQvZGeI9TLelFYwjRUGI29CYEJIU8hehe52ULqjWXQ5DAt7GIYxM2YWju_ng1o09llPNWYJF5psguZdaEo-ccDe8qSQQJcQ2ypTIxynPX21Z7dxkRM77/s320/I0255463.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jedna z wielu prelekcji o architekturze w aplikacjach Android</td></tr>
</tbody></table>
<b style="font-weight: normal;"><br /></b>
<ol start="3" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Jakie prezentacje wybierałeś? Produktowe czy techniczne?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Wybierałem techniczne prezentacje a jak nie było dopiero wtedy produktowe. Kilka razy pomyliłem sale i już zostałem :D</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Interesowały mnie zarówno prezentacje techniczne jak i produktowe. Każdy inżynier w swojej karierze dochodzi do momentu, w którym nie tylko aspekty czysto techniczne są najważniejsze. Musi wyjść ze swojej strefy komfortu, oraz spojrzeć na swoją pracę jako produkt, który dostarcza końcowym użytkownikom. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Większość konferencji zazwyczaj skupia się na aspekcie technologicznym, MCE natomiast pod tym względem jest wyjątkowa, gdyż dostarcza wiedzy nie tylko technicznej, ale również biznesowej. Uważam również to za największy plus konferencji.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">- w ciągu ostatniego roku byłem już na dwóch technicznych konferencjach, a niestety tematy często się powtarzają, dlatego tym razem chciałem zobaczyć coś więcej o produktach i designie, dlatego te prelekcje starałem się wybierać w pierwszej kolejności.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - wybierałem prezentacje techniczne jako że ta częśc najbardziej mnie interesuje. Raz odwiedziłe m prezentacje produktową na której bardzo się wyndudziłem </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">tylko prezentacje ‘techniczne’.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Prawie wszystkie techniczne i związane z iOS.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.6667px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>MS</b></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - o architekturze, techniczne, trochę miekkich - bo musimy nauczyć się gadać ze światem, niestety - nietechniczne były nudne :) </span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="4" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Czy poznałeś kogoś interesującego podczas przerw na networking?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">W tym roku dużo faktycznie rozmawiałem z ludźmi przez co ciągle się spóźniałem na prelekcje</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Na każdej konferencji spotykam sporo znajomych osób, bywalców wszelkich eventów, przez co częściej nadrabiam zaległości w znajomościach, a czasu aby poznawać nowe osoby, po prostu brakuje :).</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Chyba na poznawanie nowych osób nie było za bardzo czasu, ale za to spotkałem wielu znajomych, których nie widziałem już jakiś czas</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - nie poznałem nikogo</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Nie, nie było to celem mojego wyjazdu.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Zwykle spędzałem czas z ludźmi, których już wcześniej znałem, a z którymi nie miałem okazji zobaczyć się w ostatnim czasie. Poza tym, choć trochę wstydzę się do tego przyznać, jestem wielkim networkingowym nieogarem :)</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Najważniejsze w konferencji - nie jest sama konferencja - wszystko można wyczytać w necie, wszystko można lepiej zrozumieć czytając źródła. Najważniejsze na konferencji jest after-party, to tam po kilku piwach dowiadujemy się co ma sens, kto miał racje a kto p…. Komu zapłacili za to co miał powiedzić a kto mówił prosto z serca. </span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="5" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Co Ci się najbardziej podobało na konferencji?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dużo speakerów z zagranicy (chyba 99%).</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Niewątpliwym plusem konferencji jest to, że odbywa się ona w salach kinowych. Slajdy wyświetlane na dużym ekranie są bardzo dobrze widoczne, co wpływa pozytywnie na odbiór prelekcji. Poza sprawami technicznymi, różnorodność tematów: design, product, engineering warta jest odnotowania.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - organizacyjnie impreza wyszła bardzo dobrze. Mam tu na myśli głównie miejsce (sale kinowe naprawdę dobrze się sprawdzają), a także to, że nie czułem się osaczony wszelkimi ulotkami i ludźmi z HRów.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Duża ilość zagranicznych prelegentów</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Ciekawi prelegenci, miejsce ładowania telefonów i bardzo dobra herbata. Miejscówka też OK+.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">sale kinowe, wygodne siedzenia </span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEn9Jxzf9CT2oo4J-W0OTa30-YRATwS19e6Zc2Bwag1Iiydjl1kvj32TgYc8tt9N2u5lvecQkCb_jUkHhqsw2hB6AcBs_EXwXNk0ZOzrEU7b_TsBlZR2j-5l-S03rs74EW42917ey_rZHW/s1600/20160421_171548.jpg" imageanchor="1" style="font-family: arial; font-size: 14.6667px; line-height: 20.24px; margin-left: auto; margin-right: auto; white-space: pre-wrap;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEn9Jxzf9CT2oo4J-W0OTa30-YRATwS19e6Zc2Bwag1Iiydjl1kvj32TgYc8tt9N2u5lvecQkCb_jUkHhqsw2hB6AcBs_EXwXNk0ZOzrEU7b_TsBlZR2j-5l-S03rs74EW42917ey_rZHW/s320/20160421_171548.jpg" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Zagraniczni prelegenci - a nawet dwóch na jednej :)</td></tr>
</tbody></table>
</div>
<b style="font-weight: normal;"></b><br />
<ol start="6" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Co było do poprawy?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Temat architektury na Androidzie był chyba zbyt mocno reprezentowany, mogłoby być coś innego zamiast tylu prelekcji o tym temacie. Przerwa 2h na lunch chyba nieco za długa choć flashtalki w tym roku dawały radę.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Ciężko jest mi jednoznacznie odpowiedzieć na to pytanie. Uczestniczyłem w poprzedniej edycji MCE i tą pod względem merytorycznym oceniam o wiele lepiej, co dla mnie ma kluczowe znaczenie. Według mnie podczas poprzedniej edycji skupiono się zbyt mocno na designie, w tym roku natomiast prawie wszystkie prelekcje były “engineer friendly”. Nie mam zatem powodów do narzekań.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - prelekcje na temat produkótw/designu mogłyby być bardziej konkretne. Szkoda, że aby dostać koszulkę musiałem instalować aplikację, logować się i wypełniać ankietę, na którą wcale nie miałem ochoty.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - myśle ze 2 dniowa konferencja spokojnie zmieściła by się w ciągu jednego dnia.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - organizacyjnie było naprawdę ok. Natomiast dopisałbym jaki jest poziom danych prelekcji. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Przytrafiły się prezentację słabsze ale nawet one nie rzutowały na pozytywny odbiór imprezy, całość bardzo mi się podobała.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - kurcze, nie odpowiem na to pytanie, czuje jako współ-organizator Mobilization - największej mobilnej konferenci w PL, żeby nie podpowiadać ”wrogowi” - oczywiście to żart - bo jak nie napisze, że to żart - to nikt nie zrozumie. </span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="7" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Czy jest coś czego nauczyłeś się na konferencji i zastosujesz w swojej pracy?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Na pewno rady Scotta Bowna o security. Chciałbym spojrzeć też w react native, popracować nad architektura Androidowych aplikacji i jeszcze raz zrozumieć fragmenty :). Warto byłoby też spróbować jeszcze raz z daggerem 2!</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Na pewno sięgnę po kilka sztuczek jakie pokazał Scott Alexander-Bown. Bezpieczeństwo jest istotnym elementem każdego oprogramowania i myślę, że nie powinno być pomijane. Temat również jest mi dosyć bliski, gdyż pokrywa się z projektem prowadzonym w mojej firmie.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - chciałbym zapamiętać na dłużej rady dotyczące bezpieczeństwa, zwłąszcza, że nie wymagały wiele pracy, a wydają się sensowne. W sumie to nie wiem co myśleć o fragmentach, nigdy nie wydawały mi sie proste i jasne, a po prelekcji “Life without fragments” mam co do nich jeszcze większe wątpliwości - może należy to jeszcze raz przeanalizować.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Rady na temat security w androidzie, Visor jako tool do prezentowania ekranu androida, rxble biblioteka to obsługi bluetooth. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - utwierdziłem się w przekonaniu, że konferencje tego typu już nie wiele wnoszą dla mojego rozwoju. Dlatego muszę wyszukiwać bardziej tematyczne konferencje skupione na jakimś konkretnym problemie. Web + Networking znajomych jest w tym momencie lepszym sposobem na rozwój.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Myślę, że kilku rzeczy np. “że czasami warto wymyślać koło na nowo!” :). Miałem też kilka infantylnych refleksji, które przychodziły w czasie trwania prezentacji, np. nawet najlepsze narzędzie czy wzorzec nie zadziała bez sprawnej obsługi, tzn na nic nam lotniskowiec z tuzinem F16 jeśli nie mamy w ekipie nawet jednego pilota awionetki :).</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">- na pewno z rad z prezentacji o security i o clean architecture. </span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_SG6V7rURRBUJ4OcZ1pKwMbEltW6U7sgSLxncFBTlaSIG90UA3WhKi-S0MJ0-NDIXhq141lNdLLjAQMh-aKXNLnBRf7imZY6_k9e51h_jc4C_txaHWdneeyvSBrH31P3IQ4OboxW7T-U/s1600/20160421_151922.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_SG6V7rURRBUJ4OcZ1pKwMbEltW6U7sgSLxncFBTlaSIG90UA3WhKi-S0MJ0-NDIXhq141lNdLLjAQMh-aKXNLnBRf7imZY6_k9e51h_jc4C_txaHWdneeyvSBrH31P3IQ4OboxW7T-U/s320/20160421_151922.jpg" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Jedna z lepszych prezentacji technicznych - Scott Alexander Bown</td></tr>
</tbody></table>
<b style="font-weight: normal;"><br /></b>
<ol start="8" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Jakbyś porównał konferencję MCEConf do Mobilization?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">- Na pewno liczba speakerów z zagranicy robi wrażenie. Miejsce jest też bardzo fajne, lubię sale kinowe na konferencje IT bo duży ekran robi wrażenie (i widać dobrze kod). Sale są podobnej wielkości co na Mobilization nie jest możliwe do wykonania. Wolę catering na mobilization bo bułką można się najeść a jedzenie na MCEConf lepiej wyglądało niż smakowało i wypełniało. No ale wiadomo że w stolicy nie wypada serwować bułek :)</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ -</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> To co łączy te dwie konferencje to tematyka technologii mobilnych, różni je jednak podejście do samej organizacji. Mobilization jest konferencją organizowaną przez społeczność programistów skupioną wokół Łódzkiego JUG’a, której przyświeca cel dzielenia się wiedzą z innymi. Jako, że jest bezpłatna, może wziąć w niej udział każdy - często jest to dla wielu programistów pierwszy kontakt z tego typu imprezami. Również tematyka skupia się przede wszystkim na aspektach technologicznych, w przeciwieństwie do MCE, gdzie możemy wybierać spośród tematów dotyczących technologii, designu oraz produktu. MCE, jako konferencja płatna, kierowana jest do nieco bardziej zamożnej grupy programistów, dzięki temu jednak, będąc uczestnikiem, mamy możliwość wysłuchania prelekcji prowadzonych w niemalże 100% przez gości z zagranicy.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Ostatecznie, chciałbym również nadmienić, iż Mobilization jest najstarszą konferencją zajmującą się mobile, od której zresztą zaczęła się moja przygoda w branży IT :).</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Miejsce w jakim odbywa się warszawska konferencja cznacznie lepiej zdaje egzamin. Pod względem merytorycznym, poziom reprezentowany przez speakerów na obu wydarzeniach jest bardzo podobny - co prawda w Warszawie mogliśmy słuchać w większości ludzi z za granicy, ale uważam, że miało to tylko zalety wizerunkowe - nasi prowadzący nie muszą mieć kompleksów.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Myślę ze merytorycznie obie konferencje są na podobnym poziomie, mobilization napewno wygrywa ceną :) i jest 1 dniowa co bardziej mi się podoba.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Na mobilization skonczyłem na drugiej edycji i uważam, że poziom jest bardzo podobny. Duży plus dla mobilization ze jest darmowa. Minus Łódź jest dla mnie 6 miastem po Warszawie, Wrocławiu, Krakowie, Poznaniu i Gdańsku i sądzę, że dla wielu też.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Podobna tematyka, wielkość (ok 800 osób?). Oczywiście MCE miało o wiele więcej zagranicznych “gwiazd” i fajne sale kinowe ze scenami ale Mobilization ma trochę inny charakter, niekomercyjna - od społeczności dla społeczności i to ma wielkie znaczenie! </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - :) koledzy wyżej siedzą obok organizatorów mobilization - nie mogli napisać inaczej :) tak czy siak dzięki. </span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="9" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Jaki pomysł organizatorów możemy wykorzystać w Łodzi na Mobilization?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Podobała mi się aplikacja eventory. Dawała wszystko co jest potrzebne (agenda, moja agenda, mini chat, notyfikacje). Niektórzy twierdzili, że crashuje ale u mnie było ok. Szkoda tylko, że jest płatna dla organizatorów :)</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Wydaje mi się, że organizacyjnie bardzo dobrze rozwiązany jest etap Q/A na koniec każdej z prezentacji. Podczas Mobilizacji czasami nie słychać pytań kierowanych z publiczności, przez co ucieka nam spora dawka wiedzy, gdyż to właśnie na zakończenie prezentacji, często możemy dowiedzieć się najciekawszych rzeczy.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Może spbóbować organizować konferencję w jakimś kinie - nie wiem czy Kino Polonia jeszcze żyje, ale Piotrkowska byłaby świetnym miejscem. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Myslę ze pytania od prowadzącego do spikere były fajne.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Raczej nic. Nie wiem jak z after party jest na mobiization ale czwartkowe było mało miejsca. Wtedy chyba jest czas na poznawanie ludzi :). </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">1. Super jeśli uda się załatwić wyższe stoliki dla prelegentów. Prelegenci nie chcę siedzieć podczas prezentacji a normalne biurka są za niskie żeby obsługiwać komputer na stojąco. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">2. Apka była bardzo pomocna</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3. Code of conduct - dość popularne ostatnio na konferencjach, fajna idea</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">4. Wprowadzenia prelegenta przez opiekuna sali były OK!</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Sala kinowa, wygodne siedzenia. </span><br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxYOrfBOkw3z6gQAMRr3qzxx42Wvt0-cgiyG-Puy3JigKfN9XhiCH3sr7GfvL3NnYp-i5nfaWmfDbvN-sPPvg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
</div>
<ol start="10" style="margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Czy weźmiesz udział za rok?</span></h2>
</div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MD - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Do tej pory byłem na wszystkich więc czemu nie!</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TZ</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Postaram się, ale nie obiecuje :).</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WO</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - za wcześnie by o tym myśleć.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - raczej nie</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">TP</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - zobaczymy.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MI</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Trudno powiedzieć</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">MS - </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">chciałbym i będę, ale raczej kupię early birda. </span></div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/12266837035537944332noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-24842351356465387412016-05-04T10:07:00.000-07:002016-05-04T11:50:48.808-07:00April with a broad range of technologies @ JUG Lodz<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAZ7JPDejXgF9M_GtOiFRVQFpsN10nJzQU3ymLwgaQTbxgOGnuhB1xx4-6W39JTH3p6aPjYqbBW3b9fTMJzQs8dtHQP4A2S3IqCtTiSRRHhWXYBRvtihBHps7pB0mYWJCmQABMU0EKYl0/s1600/apirl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAZ7JPDejXgF9M_GtOiFRVQFpsN10nJzQU3ymLwgaQTbxgOGnuhB1xx4-6W39JTH3p6aPjYqbBW3b9fTMJzQs8dtHQP4A2S3IqCtTiSRRHhWXYBRvtihBHps7pB0mYWJCmQABMU0EKYl0/s320/apirl.jpg" /></a></div>
<p class="akapit">
April was a very intensive month in JUG Lodz. We had some guests from outside our city who performed very interesting presentation and exciting workshop on some new technologies. We also had some presentations made by our local specialists and generally the range of topics was so broad that you could find something interesting about deployments, programming and domain modeling.
</p>
<h1>Kubernates</h1>
<p class="akapit">
On April 7th we had something what was not seen on JUG for a while - two presentations at the same day!
First was <b>Łukasz Zajączkowski</b> who has shown us how easily you can create your own cluster with <i>Kubernetes</i>.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiydD4lGbFJtu2GvpSKaRv5S2g3NeQR9CE_oh3QvKSK396Fql3hP-Is7OhJ0G5kvlZ8R6iv72wBGoHqpd-JyRVdtUYJdAsylMnQW-7SoPz8UaLtHqgVJZZRnCSqAjv3iqW9rTSmQQmW9Io/s1600/kubernates2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiydD4lGbFJtu2GvpSKaRv5S2g3NeQR9CE_oh3QvKSK396Fql3hP-Is7OhJ0G5kvlZ8R6iv72wBGoHqpd-JyRVdtUYJdAsylMnQW-7SoPz8UaLtHqgVJZZRnCSqAjv3iqW9rTSmQQmW9Io/s400/kubernates2.jpg" /></a></div>
</p>
<p>
In the next presentation <b>Michał Balinski</b> (<a href="https://twitter.com/MichalBalinski">https://twitter.com/MichalBalinski</a>) and <b>Kuba Filipczak</b> shared with us a lot of hints from their experience with every day use of Kubernetes.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh411ub_lQ_ZScDoR6aDD-NEReAdWSJ-f6s3ZnCT6WqcN-gurDKWTMtU54XGAYHvjRwnsnj32asj9AHnu6TVubYsMAKu1dEyTOJs-ZoreWQSmWOp_U2q6gS2A24_9eAqj4GN3y0mMyQAi0/s1600/kubernates1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh411ub_lQ_ZScDoR6aDD-NEReAdWSJ-f6s3ZnCT6WqcN-gurDKWTMtU54XGAYHvjRwnsnj32asj9AHnu6TVubYsMAKu1dEyTOJs-ZoreWQSmWOp_U2q6gS2A24_9eAqj4GN3y0mMyQAi0/s400/kubernates1.jpg" /></a></div>
<br/>So the "Kubernetes day" was full of interesting stuff to learn.
</p>
<h1>Java 8</h1>
<p class="akapit">
On April 9th full day Java8 workshops was conducted by the winner of "JUG Lodz Best Presentation 2015" - <b>Tomasz Nurkiewicz</b> (<a href="https://twitter.com/tnurkiewicz">https://twitter.com/tnurkiewicz</a>). Tomasz had prepared a lot of interesting exercises which show participants whole range of new mechanisms introduced in Java8. You can find those exercises here : <a href="https://github.com/nurkiewicz/java8-workshop">https://github.com/nurkiewicz/java8-workshop</a>
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJAKD0QCrDVqMhE-ufjFrtvgLh8SQduVagILhyphenhyphen22CSZhdpSo3drF8Qs97pBC0_7M44oFYBIC5GSFhfApDoW5eLN-ZPuEeIGtqPoODJkaI2ck2SoglRHoc1qryFIqAaUmO4jFgpf4rTbTs/s1600/java8tomeknurkiewicz.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJAKD0QCrDVqMhE-ufjFrtvgLh8SQduVagILhyphenhyphen22CSZhdpSo3drF8Qs97pBC0_7M44oFYBIC5GSFhfApDoW5eLN-ZPuEeIGtqPoODJkaI2ck2SoglRHoc1qryFIqAaUmO4jFgpf4rTbTs/s400/java8tomeknurkiewicz.jpg" /></a></div>
<h1>Akka</h1>
<p class="akapit">
In the middle of April we had a chance to listen about Akka directly form the source. <b>Konrad Malawski</b> (<a href="https://twitter.com/ktosopl">https://twitter.com/ktosopl</a>) first give us an introduction to reactive stream ecosystem...
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7BoG-bXr3ciR0qrUjv-TDJVviCaPD2sK3cejroVvGlF7AHllrFwAt8Pfd_Q38BFe4iZQRIvL2twtavE9ZNGr3l7ttrk0fDmgtI_sM5ILw9qwPPyYTDIj61-omJi359PSlcCmHgQlofKs/s1600/akkakonrad1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7BoG-bXr3ciR0qrUjv-TDJVviCaPD2sK3cejroVvGlF7AHllrFwAt8Pfd_Q38BFe4iZQRIvL2twtavE9ZNGr3l7ttrk0fDmgtI_sM5ILw9qwPPyYTDIj61-omJi359PSlcCmHgQlofKs/s400/akkakonrad1.jpg" /></a></div>
</p>
<p class="akapit">
... and the next day give practical workshops about Akka Streams so we had a chance to listen to many interesting stories about origins of some parts of this framework.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiScMpPAhUy9-sfXiOYAtuKR9pUwf2Ng1zQbygqmkSclrx7STwBH2FbFHj9lG2gVXaLu74MikC0KjMUexVwrM-CnFoBVFuxWdl_uMtByHEOjkI-07ZrU_SBzWLxb6wxo80aC7Wo_Qj-uQ/s1600/akkakonrad2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiScMpPAhUy9-sfXiOYAtuKR9pUwf2Ng1zQbygqmkSclrx7STwBH2FbFHj9lG2gVXaLu74MikC0KjMUexVwrM-CnFoBVFuxWdl_uMtByHEOjkI-07ZrU_SBzWLxb6wxo80aC7Wo_Qj-uQ/s400/akkakonrad2.jpg" /></a></div>
</p>
<h1>Java 8 Streams</h1>
<p class="akapit">
Couple days later we had another interesting workshops where we could train knowledge powerful mechanisms added to Java8. <b>Damian Warszawski</b>(<a href="https://twitter.com/DWarszawski">https://twitter.com/DWarszawski</a>) prepared a set of nice exercises on Java 8 Streams.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjineARGheuCq4WdoSqdVVRLTYfTj9F_Uv214v6hQ0RCj4fH03b5M2Flavtw76oauqYTp2NIbrPzwct6amCamZFqn_0mjfPRURKMoT79w2-RNJCO4PriKxOyQZWZOS5YzApAZr8OJXbhbs/s1600/stream1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjineARGheuCq4WdoSqdVVRLTYfTj9F_Uv214v6hQ0RCj4fH03b5M2Flavtw76oauqYTp2NIbrPzwct6amCamZFqn_0mjfPRURKMoT79w2-RNJCO4PriKxOyQZWZOS5YzApAZr8OJXbhbs/s400/stream1.jpg" /></a></div>
</p>
<h1>Cryptography</h1>
<p class="akapit">
Next we dived into another useful area - cryptography. <b>Marek Śmigielski</b> explained many interesting nuances which you can came across when you are working in this area. We learn how secure or insecure are mechanism which we are using in our everyday life and how special production process tries to raise this safety.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvOIyWXBLjsZPrUM7knXYFGJTgFCbW-adgpY-jrCaVui4rxTCwxM6RZtGtoYRBX4rnrOnkFBJ7Qlr43dRJ7ksTe48gFEoPrMimQNcoMKO12npHJqlXDKBv7D8fBR7GFx1xPd5QyBG-Atg/s1600/kryptografia.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvOIyWXBLjsZPrUM7knXYFGJTgFCbW-adgpY-jrCaVui4rxTCwxM6RZtGtoYRBX4rnrOnkFBJ7Qlr43dRJ7ksTe48gFEoPrMimQNcoMKO12npHJqlXDKBv7D8fBR7GFx1xPd5QyBG-Atg/s400/kryptografia.jpg" /></a></div>
</p>
<h1>Domain Driven Design</h1>
<p class="akapit">
The last presentation in April was about Domain Driven Design and it was perfomed by <b>Krzysztofa Muchewicz</b> (<a href="https://twitter.com/KrzyMucha">https://twitter.com/KrzyMucha</a>) from Torun JUG. Krzysztof talked about holistic approach to creation of IT systems and how he uses DDD in his daily work.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf050xDoiEQXxoNQD5TWpr2CPgcmQWbEiTcTvacVJaurddlEYlvxE27RP67FWkks6igtKL3W7P7MsSN6Cg5Cw-a9NuGsfmzdQtfeTxP-wnjRQucDrN4c_-h_BgjlAkKb4iBJxdJdxVzwQ/s1600/ddd2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf050xDoiEQXxoNQD5TWpr2CPgcmQWbEiTcTvacVJaurddlEYlvxE27RP67FWkks6igtKL3W7P7MsSN6Cg5Cw-a9NuGsfmzdQtfeTxP-wnjRQucDrN4c_-h_BgjlAkKb4iBJxdJdxVzwQ/s400/ddd2.jpg" /></a></div>
</p>
<h1>Workshops</h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbSSBMnku3vfr-7JqcwOnpwnlLMmdTKJjIYS6q9MxktnoGyzJ9rumD1TLsZgwkzm3GE2aqtNRqO9esKt1hpYtNbKeOsI_6xV6vQdnWl1JgYgJeF80zOrKVKAFn3xvInVJRhaAKd87mrWk/s1600/javaeric1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbSSBMnku3vfr-7JqcwOnpwnlLMmdTKJjIYS6q9MxktnoGyzJ9rumD1TLsZgwkzm3GE2aqtNRqO9esKt1hpYtNbKeOsI_6xV6vQdnWl1JgYgJeF80zOrKVKAFn3xvInVJRhaAKd87mrWk/s400/javaeric1.jpg" /></a></div>
<p class="akapit">
In April we had some internal workshops where we could learn about functional programming in Java and Scala
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAlmISrC5YVx4kdLuRMnn2Yvh5YRdfeLunroOQfqKCbKh8rynz8tAx3ENuLOf_3zZEvwNLlRru-zxhsIf-JWKuTRT9LxhaZ0OfWYdn-lPd516TxskURvNsRp4Jr98NvXFTVh4hrAxl_hk/s1600/javaeric2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAlmISrC5YVx4kdLuRMnn2Yvh5YRdfeLunroOQfqKCbKh8rynz8tAx3ENuLOf_3zZEvwNLlRru-zxhsIf-JWKuTRT9LxhaZ0OfWYdn-lPd516TxskURvNsRp4Jr98NvXFTVh4hrAxl_hk/s400/javaeric2.jpg" /></a></div>
<p>
And also we could participate in "Akka Introduction" workshops
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR0j3ejrihmAqAw7dNzSBTmVYGqOq758IJNEwlq5DS5caQOhidZ0D3NcCTdfiDIL0LraIhRnO6F_OTX0JyyCemDZ6dzpvxPEgkog8yuyI5-eVRl4JrkbV6FYU_jLpcZ08LhbIo_K0V1o/s1600/actors1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR0j3ejrihmAqAw7dNzSBTmVYGqOq758IJNEwlq5DS5caQOhidZ0D3NcCTdfiDIL0LraIhRnO6F_OTX0JyyCemDZ6dzpvxPEgkog8yuyI5-eVRl4JrkbV6FYU_jLpcZ08LhbIo_K0V1o/s400/actors1.jpg" /></a></div>
<h1>What's Next</h1>
<ul>
<li><b>Clojure : </b> - <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229985396/">Meetup Clojure</a> </li>
<li><b>Java8 - FP and Side Effects : </b> - <a href="http://www.meetup.com/Java-User-Group-Lodz/events/230631529/">Meetup FP & Side Eff</a> </li>
<li><b>Scala - Pattern Matching and ADT</b> - <a href="http://www.meetup.com/Java-User-Group-Lodz/events/230684764/">Meetup PM & ADT</a></li>
<li><b>NOSQL </b> - <a href="http://www.meetup.com/Java-User-Group-Lodz/events/230684764/">Meetup NoSql</a> </li>
<li><b>Rust </b> - <a href="http://www.meetup.com/Java-User-Group-Lodz/events/230630656/">Meetup Rust</a></li>
</ul>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-70836132064302436812016-04-11T10:03:00.000-07:002016-04-11T10:03:01.439-07:00JUG Lodz in March - Invasion of Architectures<p class="akapit">
In March we had a chance to take a different perspective of our daily work. Because of many presentations about general conception of <i>Architecture</i> we looked at a IT systems as a whole with all consequences of how particular parts interacts with each other. Beside that we continued our cycle of Functional programming workshops.
</p>
<h1> Open Stack </h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpoyjt8paUXKyWeslrXN56Ha4wgwy0bs4Zt7oSgQz6eCBnQIfFZqjkBTmqs9WjvV6uEBMLU9OYeV09OCKoijddMVlRHBfddFpYS-RvRZw8nUyNbADfx1cfhmHgD-_9rsG9PHHvOqeTKtg/s1600/openstack.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpoyjt8paUXKyWeslrXN56Ha4wgwy0bs4Zt7oSgQz6eCBnQIfFZqjkBTmqs9WjvV6uEBMLU9OYeV09OCKoijddMVlRHBfddFpYS-RvRZw8nUyNbADfx1cfhmHgD-_9rsG9PHHvOqeTKtg/s400/openstack.jpg" /></a></div>
<p class="akapit">
On March 3rd <a href="https://www.linkedin.com/in/lukasz-zajaczkowski-65820744">Łukasz Zajączkowski</a> presented <b>OpenStack</b>. This technology allow us to relatively easy manage a big cluster of computer and other resources (by resources I think about machines, we should not user word "resources" to describe people). You can read more about OpenStack on : <a href="https://www.openstack.org/">https://www.openstack.org/</a>.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9pq54IyYQUCk75Uv94VZCv_6SuJvFxRUMtqwq6aE6uzXuz4_ZPueBYrnghJPqWPp0q3exWyoPPNttGdOJzW3o1x3T1dzFUG9liDHGLdENZTVH15JKGESPXGJzi12lMKrvmTatRc3DZrI/s1600/openstack2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9pq54IyYQUCk75Uv94VZCv_6SuJvFxRUMtqwq6aE6uzXuz4_ZPueBYrnghJPqWPp0q3exWyoPPNttGdOJzW3o1x3T1dzFUG9liDHGLdENZTVH15JKGESPXGJzi12lMKrvmTatRc3DZrI/s400/openstack2.jpg" /></a></div>
<h1> 12 Rules of Architecture </h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-bQO0vjFH5g32j8CuDSr2No2RVhJaJIKNpSoXVZTOu4vGsk5x0Di4OqLOhOy0PxC5G44VSvINLCLgoBXj1wSa5MHMR3iTBGsXvSzYrb5p_KTz1GB1XF4xwfmPS4TV1fINOXsJGerK7Uo/s1600/12zasad.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-bQO0vjFH5g32j8CuDSr2No2RVhJaJIKNpSoXVZTOu4vGsk5x0Di4OqLOhOy0PxC5G44VSvINLCLgoBXj1wSa5MHMR3iTBGsXvSzYrb5p_KTz1GB1XF4xwfmPS4TV1fINOXsJGerK7Uo/s400/12zasad.jpg" /></a></div>
<p class="akapit">
Kamil Porembiński (<a href="https://twitter.com/kporembinski">@kporembinski</a>) started Architecture marathon with his talk about <b>12 rules of Architecture</b>. It was very funny talk with a lot of life example from real life in which we could saw how lack of knowledge and experience may lead to funny (for some people) situations.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJl8k0jUzOlhXZ2AlFzX8GZ5dMnIujr2P9r_AOKU09sn5DGy3lrq5AT1fd016yy7rbakD5TweDgoc6IlCJBlWfpFUrvVNWZs7UQpxsJcrcN30GBAlP3GTe07d-EeKzGBJtJ7y4MQ1iziM/s1600/12zasad2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJl8k0jUzOlhXZ2AlFzX8GZ5dMnIujr2P9r_AOKU09sn5DGy3lrq5AT1fd016yy7rbakD5TweDgoc6IlCJBlWfpFUrvVNWZs7UQpxsJcrcN30GBAlP3GTe07d-EeKzGBJtJ7y4MQ1iziM/s400/12zasad2.jpg" /></a></div>
<h1> A journey through architectures...</h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJzuM_3dMAeNt2OkjWCpp4ZNEdxI4taG9AYzcbxg3tVXN0So7qfKDAgrDGi5Yxb3QcNU4fZAGGCb9uuF-UzKsErnh6ZY4O2Bj3DhV2W4yN5dHfnwG0_Zmi6qSdpI269S6UvEK3-xgkREk/s1600/architektury1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJzuM_3dMAeNt2OkjWCpp4ZNEdxI4taG9AYzcbxg3tVXN0So7qfKDAgrDGi5Yxb3QcNU4fZAGGCb9uuF-UzKsErnh6ZY4O2Bj3DhV2W4yN5dHfnwG0_Zmi6qSdpI269S6UvEK3-xgkREk/s400/architektury1.jpg" /></a></div>
<p class="akapit">
The culmination of Architecture wave hit us on March 18-19. First Tomek Borek (<a href="https://twitter.com/LAFK_pl">@LAFK</a>) took everyone on a journey through many architectures - from classical Enterprise one to the new approaches based on micro services. Tomek visited JUG Lodz second time during last 3 months - previously he showed great presentation about <i>JVM Internals</i> (more in -> <a href="http://blog.juglodz.pl/2016/02/happy-new-year-january-2016-jug-lodz.html">Januray at JUG Lodz</a>)
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKrWbgO5DbJB2Ut9ohKrZ-zQUX4XCH1vu1lekl8KkksLbOB0qgT9yg0rQDPs_en0IbuYU28wzFaulrbzBG8_xN6BEgY6-PVXa8Q_edBvEhkTHdhOWcpDqutok9N3a49Z9GBGx-NmiJBc/s1600/architektury2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKrWbgO5DbJB2Ut9ohKrZ-zQUX4XCH1vu1lekl8KkksLbOB0qgT9yg0rQDPs_en0IbuYU28wzFaulrbzBG8_xN6BEgY6-PVXa8Q_edBvEhkTHdhOWcpDqutok9N3a49Z9GBGx-NmiJBc/s400/architektury2.jpg" /></a></div>
<h1>... & KATA</h1>
<p>Theory is always useful and interesting but it needs <b>practice</b> to make you real craftsman</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgooXJR2aE0nN86MlZQfwsW2UQsbZb8vfagOw3g016-9Zg6JWFa830cs0UE9mWYxgs0eWITQPF12YwwpRX_9DBjgKSiqXlTV1nQ38x7dzXex9scFrjt8q82_0KUxD8f6l91drJFsSe0R1g/s1600/kata3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgooXJR2aE0nN86MlZQfwsW2UQsbZb8vfagOw3g016-9Zg6JWFa830cs0UE9mWYxgs0eWITQPF12YwwpRX_9DBjgKSiqXlTV1nQ38x7dzXex9scFrjt8q82_0KUxD8f6l91drJFsSe0R1g/s400/kata3.jpg" /></a></div>
<p class="akapit">
30 people from JUG Lodz gathered during one day workshops on March 19th to solve real life problems in full system scale. We rarely have a chance to look at a system as a whole during our daily jobs so this way everyone gathered very valuable experience.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh22D8KR8Aq5VX41bCihpcKqza3ztonFOYaeit6HVLy181MBpJKRMCmiOez08ynjCz_LEsVr2xt0eulyltGg5iOzdBKzDhL41jTG1qEVn0pAPUXAoPvJt1vzEX2tBPNABIQ67k57GtE0ew/s1600/architecturekata2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh22D8KR8Aq5VX41bCihpcKqza3ztonFOYaeit6HVLy181MBpJKRMCmiOez08ynjCz_LEsVr2xt0eulyltGg5iOzdBKzDhL41jTG1qEVn0pAPUXAoPvJt1vzEX2tBPNABIQ67k57GtE0ew/s400/architecturekata2.jpg" /></a></div>
<p class="akapit">
<b>Architecture KATA</b> was conducted by Tomek Borek (<a href="https://twitter.com/LAFK_pl">@LAFK</a>) (again!) and Jarosław Pałka (<a href="https://twitter.com/j_palka">https://twitter.com/j_palka</a>)
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-LXXfZPPA68cGMViuNhOIVHy526OOTqgo5Lbf4LwtuAdzZlDDjjPQFWkWEsHog1DOwLunUaviJEeWG1tCDSKBlfFDWzsH-yv7XZ8W8rb3R7Tq3OiNhG-KxyrXW8wHMkzK_nggLxOmY6A/s1600/architecturekata.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-LXXfZPPA68cGMViuNhOIVHy526OOTqgo5Lbf4LwtuAdzZlDDjjPQFWkWEsHog1DOwLunUaviJEeWG1tCDSKBlfFDWzsH-yv7XZ8W8rb3R7Tq3OiNhG-KxyrXW8wHMkzK_nggLxOmY6A/s400/architecturekata.jpg" /></a></div>
<h1>Functional Programming Workshops</h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ2J_5iu_ktlD4Vo9_oxntjGyYZ2Z8go6MljeLI96RI_jGaesYaaxLrZNPuLeFWiohf9xtqRnQCKq5Id_aiDV7E2vx_G8igiYwR0hyX5_OKNwUDv01Qi5KYgMWS2sgTaWsqcW8D0WexAE/s1600/scalafp2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ2J_5iu_ktlD4Vo9_oxntjGyYZ2Z8go6MljeLI96RI_jGaesYaaxLrZNPuLeFWiohf9xtqRnQCKq5Id_aiDV7E2vx_G8igiYwR0hyX5_OKNwUDv01Qi5KYgMWS2sgTaWsqcW8D0WexAE/s400/scalafp2.jpg" /></a></div>
<p class="akapit">
JUG Lodz organizes two path of Functional Programming - one in <i>Java</i> and second one in <i>Scala</i>.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj64xsLKffHekZJOyx5zqzgDnBDtDMdWpeba607DECFX-zUQtzu3uCPpafSKGhIMePhHerlKTq0KEG3869M7kqvq5ccS-oucjFGR-wMIM6GLUM1A_D9WwVeQw0LixaD-E2UZNLT9tSPZZk/s1600/javacyber.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj64xsLKffHekZJOyx5zqzgDnBDtDMdWpeba607DECFX-zUQtzu3uCPpafSKGhIMePhHerlKTq0KEG3869M7kqvq5ccS-oucjFGR-wMIM6GLUM1A_D9WwVeQw0LixaD-E2UZNLT9tSPZZk/s400/javacyber.jpg" /></a></div>
<p>
People seems to be happy!
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxAjWrTxHs9zAfCU4zl4udxvrlVKkcAQpVtaf9oRP3QWKIiFT8Zcy-Cw8LgiVtYT62cOeq6GZRZzq6momJyhG7vrMOLaPzKRjYOnFRNcZBk9ZI7LXtBgFhbJ2VEUBqLfKbWAyJ20xqAUw/s1600/javafp3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxAjWrTxHs9zAfCU4zl4udxvrlVKkcAQpVtaf9oRP3QWKIiFT8Zcy-Cw8LgiVtYT62cOeq6GZRZzq6momJyhG7vrMOLaPzKRjYOnFRNcZBk9ZI7LXtBgFhbJ2VEUBqLfKbWAyJ20xqAUw/s400/javafp3.jpg" /></a></div>
<h1>What's in April </h1>
<ul>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229972207/">Akka Introduction Workshop</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/230169993/">Akka Introduction Workshop - round2</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229392820/">Kubernetes</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229764247/">Java 8 Workshop</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229985760/">Reactive Streams</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229985795/">Akka Http Workshop</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229740619/">Java 8 Streams workshop</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229797890/">Cryptography</a></li>
<li> <a href="http://www.meetup.com/Java-User-Group-Lodz/events/230148002/">Domain Driven Design</a></li>
</ul>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-1508043741469277892016-04-01T00:38:00.002-07:002016-04-01T00:47:10.299-07:002016-03-31 Warsztaty Functional programming (Scala) <div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="text-align: left;">
Warsztaty Function programming (Scala) </h2>
<h3 style="text-align: left;">
Wstęp</h3>
Są czasami momenty w pracy programisty, gdy dostajesz olśnienia lub momenty gdy uświadamiasz sobie, że mało wiesz, chociaż wydawało Ci się inaczej.<br />
Obie sytuacje są super uczuciem, bo chce Ci się uczyć więcej i więcej.<br />
<h3 style="text-align: left;">
Funktory </h3>
<div>
Programowanie funkcyjne, każdy o tym mówi jest o tym głośno na konferencjach i w projektach. Wcześniej z guavą teraz z java8, rxjava coraz łatwiej możemy programować funkcyjnie w javie. Scale traktowałem jako takiego wrapera na jave. Byłem na warsztatach z Haskala Artura Czajki, który opowiadał o monadach, funktorach ale w języku, który nie jest popularny czyt. pewnie komercyjnie nigdy ich nie użyje. Wczoraj cała ta wiedza wróciła i przydała się na warsztatach scali. Scali, która już jest używana komercyjnie w projektach w Łodzi. </div>
<div>
(http://www.meetup.com/Java-User-Group-Lodz/events/229761679/) link do warsztatów - tam też link do github-a. </div>
<h3 style="text-align: left;">
Paweł wymiata</h3>
<div>
Jestem pod wrażeniem profesjonaliści warsztatów, które przygotował Paweł Włodarski, rzadko się zdarza widzieć tak dobrze przygotowane warsztaty nawet za $$. Paweł przekazał dużo ciekawej wiedzy przez te dwie godziny w ciekawy sposób. </div>
<div>
Jeśli człowiek zda sobie sprawę jak dużo czasu trzeba poświęcić, żeby przygotować takie warsztaty, że Paweł robi to za free i robi to lepiej niż na większości komercyjnych warsztatach i jeszcze jest poczęstunek, kawa i jeszcze jest to zrobione w ładnym miejscu ( hotel Hilton ) </div>
<div>
to tylko do głowy przychodzi: </div>
<div>
<h2 style="background-color: white; color: #333333; font-family: Georgia, Verdana, Arial, serif; font-size: 1.4em; font-weight: normal; letter-spacing: 1px; line-height: 19.456px; margin: 1em 0px 0px; padding: 0px;">
CHAPEAU BAS! dla Pawła </h2>
</div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Mario http://www.blogger.com/profile/00583087471047981288noreply@blogger.com2tag:blogger.com,1999:blog-4051009680712452564.post-39005526942453404452016-03-06T08:47:00.000-08:002016-03-06T08:47:42.705-08:00February 2016 at JUG Lodz<p class="akapit">
February started with a lecture from <b>Tomasz Dziurko</b> (<a href="https://twitter.com/TomaszDziurko">https://twitter.com/TomaszDziurko</a>) about recruitment in IT.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi67k1SpUs_r88RFVI7k-IUB1Pioi89g-tWA8TP5rV9j9AGuIIsKgmzLO7Hqzu0QuuC4r18qGso7qGr94YH2LA1xW-Tmxa7yKRb4nusJLDplqIX-8Ah_yFpReqZ90X34HdsyTcP9QR_vS4/s1600/hr1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi67k1SpUs_r88RFVI7k-IUB1Pioi89g-tWA8TP5rV9j9AGuIIsKgmzLO7Hqzu0QuuC4r18qGso7qGr94YH2LA1xW-Tmxa7yKRb4nusJLDplqIX-8Ah_yFpReqZ90X34HdsyTcP9QR_vS4/s400/hr1.jpg" /></a></div>
</p>
<p class="akapit">
The presentation gave developers richer perspective on how their actions are being seen by companies they are want to join.
And beside regular JUG participants we could some new faces from local "HR Industry" :)
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZM1zNQUXDRZIS1TcPxodRtPaAoJOP0tlOp4P2CkZDWlPgdvw5j839fzMWck2aLQJlF-fO57prZMB2g17BLH_qGEfKSx-dWR4mzEQqJ1NwPokuf1Lfg3reKA1jPUkRMG93MlXhO7DAqNM/s1600/hr2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZM1zNQUXDRZIS1TcPxodRtPaAoJOP0tlOp4P2CkZDWlPgdvw5j839fzMWck2aLQJlF-fO57prZMB2g17BLH_qGEfKSx-dWR4mzEQqJ1NwPokuf1Lfg3reKA1jPUkRMG93MlXhO7DAqNM/s400/hr2.jpg" /></a></div>
</p>
<h1>CRDT</h1>
<p class="akapit">
Two weeks later we had a chance to listen to a very interesting topic of <b>Conflict-free Replicated Data Types</b>. In the more and more distributed world problem of data consistency materializes more and more in day-to-day work of every developer.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQAbbBHlMZfNAu5Mzk4unJw3kw9-orPpbPGsUF-cfLWsZSC9-pNoRmLGIboRQEtnY57vFUup4EeGe7lwOQhUaChlIm8cqc7dQP2quvt7miCt9em2LO3y7Ybzeucs-7B2XnAWgbGRXjPOo/s1600/crdt1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQAbbBHlMZfNAu5Mzk4unJw3kw9-orPpbPGsUF-cfLWsZSC9-pNoRmLGIboRQEtnY57vFUup4EeGe7lwOQhUaChlIm8cqc7dQP2quvt7miCt9em2LO3y7Ybzeucs-7B2XnAWgbGRXjPOo/s400/crdt1.jpg" /></a></div>
</p>
<p class="akapit">
The presentation was brought to us by two guests from abroad : <b>Dmitry Ivanov</b> (<a href="https://twitter.com/idajantis">https://twitter.com/idajantis</a>) and <b>Nami Nasserazad</b> (<a href="https://twitter.com/namiazad">https://twitter.com/namiazad</a>)
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCZrFygZhHnvly5HYJN5LHwhTj4-RvYMQwKEZybA6SCxJG_cza2YQc0kkhty615nH68t-NBKCTVdtYMqMVMHWMOHGRHs9sI2ScI3Q4nzq1l6dRpr4oKuSFGjWqDiG6mSY3R40OfuO6YV0/s1600/crdt2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCZrFygZhHnvly5HYJN5LHwhTj4-RvYMQwKEZybA6SCxJG_cza2YQc0kkhty615nH68t-NBKCTVdtYMqMVMHWMOHGRHs9sI2ScI3Q4nzq1l6dRpr4oKuSFGjWqDiG6mSY3R40OfuO6YV0/s400/crdt2.jpg" /></a></div>
</p>
<h1>Ascii Doc</h1>
<p class="akapit">
It is easier to implement solution when you know the requirements :) So we had a chance to see a great presentation about very interesting tool <i>AsciiDoc</i> which allows us to create very convenient documentation and track all Changes.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0BlhDXZFT8wcGNJBrMHFyOOaEEg43taT9oadhyphenhyphentoPACkfHmtUyeotRvj3kx-xyKkxutHw3S8CoRM1GzxGflU2rzKHZnI_7cZP5i-spBO24KOVRmkj2czxNfJgZOTYi_86Y-vGhrlvtsQ/s1600/asciidoc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0BlhDXZFT8wcGNJBrMHFyOOaEEg43taT9oadhyphenhyphentoPACkfHmtUyeotRvj3kx-xyKkxutHw3S8CoRM1GzxGflU2rzKHZnI_7cZP5i-spBO24KOVRmkj2czxNfJgZOTYi_86Y-vGhrlvtsQ/s400/asciidoc.jpg" /></a></div>
And this knowledge was brought to us by <b>Jakub Marchwicki</b> (<a href="https://twitter.com/kubem">https://twitter.com/kubem</a>)
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDw4o_J_2llmmOGm7f5MjvsU7x5_fr4cGcf9ZMeLQROyb2S8xqJUBU48Tr0TezO2Z79B_DzZ8uv9nNy0YAYrJGibJJTSlnyMpiABAvLepNBBIugPVhijgwlpF2STx1pYIzj-uRBx-OqTE/s1600/asciidoc2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDw4o_J_2llmmOGm7f5MjvsU7x5_fr4cGcf9ZMeLQROyb2S8xqJUBU48Tr0TezO2Z79B_DzZ8uv9nNy0YAYrJGibJJTSlnyMpiABAvLepNBBIugPVhijgwlpF2STx1pYIzj-uRBx-OqTE/s400/asciidoc2.jpg" /></a></div>
</p>
<h1>Functional Programming Workshops </h1>
<p class="akapit">
Also in February we had w chance to participate in two workshops about Functional Programming conducted by Paweł Włodarski (<a href="https://twitter.com/PawelWlodarski">https://twitter.com/PawelWlodarski</a>)
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdVptFzgk91x6tU8nri5CGd19__mkzWBI55KSWHck2gtKG-ZNge57MhBZRXgN7iZ4pTr7XzLY8eOPqZgqqb7xYz-nAkJD-M2p1wPS1exjG86v7vgiRwua0W1656OCNEyYDfghSBkrWHVo/s1600/java83.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdVptFzgk91x6tU8nri5CGd19__mkzWBI55KSWHck2gtKG-ZNge57MhBZRXgN7iZ4pTr7XzLY8eOPqZgqqb7xYz-nAkJD-M2p1wPS1exjG86v7vgiRwua0W1656OCNEyYDfghSBkrWHVo/s400/java83.jpg" /></a></div>
<br/>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKKDDhMj2sM6U4BF5brEVirbxWD88d97Nw_LjwH-3OXM-Y3KRBHnoRwxKUJq79qh2WId_N1XHaoFi9Yp0NI_mVhy67LdKCViYukb7aUP_ZTbpFY3scXnN7OS54Ukyh0BtfEH1-TkPHfjg/s1600/fp12b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKKDDhMj2sM6U4BF5brEVirbxWD88d97Nw_LjwH-3OXM-Y3KRBHnoRwxKUJq79qh2WId_N1XHaoFi9Yp0NI_mVhy67LdKCViYukb7aUP_ZTbpFY3scXnN7OS54Ukyh0BtfEH1-TkPHfjg/s400/fp12b.jpg" /></a></div>
</p>
<h1>What's in March</h1>
<ul>
<li>Łuaksz Zajaczkowski already told us about OpenStack so he will make appearance in the next episode :) </li>
<li>On March 10th Kamil Porembiński is going to perform a presentation about Architecture <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229062817/">Meetup - 12 rules of Architecture</a> </li>
<li>And the main event of March will be full day workshop conducted by Jarek Pałka and Tomek Borek: <a href="http://www.meetup.com/Java-User-Group-Lodz/events/229091845/">Architecture Kata on Meetup</a> </li>
</ul>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com1tag:blogger.com,1999:blog-4051009680712452564.post-59868162204558490512016-02-28T15:17:00.003-08:002016-03-07T04:43:27.462-08:002016-02-18 - Lambda Days 2016Zaczniemy od propagandy, czyli - ludzie, płaćcie składki JUGa, bo można wygrać wejściówki na konferencje :)<br />
<br />
<div>
Wejściówkę wygrałem i pojechałem na Lambda Days do Krakowa, 18-19 lutego 2016 r. Prelekcje odbywały się równolegle w 3 salach Auditorium Maximum UJ.</div>
<div>
<br />
<div>
<h3>
Na początek...</h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
...muszę wspomnieć o niemym bohaterze tego wydarzenia, czyli aplikacji do głosowania. Prosta, ładna - jeden ekran, trzy emotki (yay, meh, ney), które wdzięcznie pulsują pod palcami kolejnych uczestników. Po zakończeniu każdej prelekcji przed przed drzwiami czekał człowiek z obsługi z tabletem w ręku. Wyniki nie były jawne, ale widać było, że dużo osób oddaje głosy i kosztuje ich to minimum wysiłku.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgalI-zVLfPoJbIqOsesHinzA5dFT6YCEWelUNgI_ABdYI1AaLRn6FYlIekAqziwUtyiEImvVzqxPQrz5vle2Sn9k8Fg8Wp7MhdPHHtH_GMm5lGIb05VAnd33dDbUu8MEyOGOXYC3Ce90Fe/s1600/DSC_0951.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgalI-zVLfPoJbIqOsesHinzA5dFT6YCEWelUNgI_ABdYI1AaLRn6FYlIekAqziwUtyiEImvVzqxPQrz5vle2Sn9k8Fg8Wp7MhdPHHtH_GMm5lGIb05VAnd33dDbUu8MEyOGOXYC3Ce90Fe/s320/DSC_0951.JPG" width="320" /></a></div>
Pakiet startowy, oprócz identyfikatora, obejmował płócienną torbę w logiem, stos ulotek, cukierki z masy cukrowej z małą lambdą oraz ołówek. O papierowy program trzeba było poprosić w rejestracji, naraz tylko na jeden dzień. I od razu nieaktualny, ale to uroki druku.<br />
<br />
Przybyłem na miejsce kilka minut po otwarciu rejestracji, więc było mi dane zobaczyć jak ktoś na szybko prasuje narzutę na stoisku sponsorskim, a korytarze powoli zapełniają się uczestnikami.<br />
<br />
Wszystkie prelekcje były nagrywane, a plotka głosi, że powinny pojawić się w ciągu miesiąca. Zobaczymy! Pierwsze zaczęły się już pokazywać na YouTube, więc polecam odwiedzić stronę konferencji, a potem wyszukać tytułami prelekcje.<br />
<b><br /></b>
<b>Aktualizacja</b>: filmy pojawiają się na stronie konferencji! <a href="http://www.lambdadays.org/#speakers" target="_blank">Wystarczy wejść w profil prelegenta</a>, by zobaczyć udostępnione materiały.<br />
<br />
<h3>
Pierwszy dzień...</h3>
...rozpoczął się krótkim wstępem, opóźnionym o 20 minut, ale i tak zdążyli przejść przez wszystkie slajdy powitalne.<br />
<br />
Wstępniak płynnie przeszedł w pierwszy keynote - <i>Propositions as Types</i>. Philip Wadler, po wstępie historycznym opowiadał o paralelach między logiką a programowaniem (a dokładniej prosto typowanym rachunkiem lambda), które zostawili nam po sobie Haskell Curry i William Howard - w skrócie - program jest tezą, a jego wykonanie dowodem. Jednym z wniosków wykładu było to, że są języki programowania, które ktoś odkrył czy tez zbudował wokół odkrycia (matematycznego), a są też takie, które ktoś wyssał z palca, jak Java czy C++. Te pierwsze są lepsze. Nazwiska do zapamiętania (i prace do do przeczytania): Hilbert (Entscheidungsproblem), Gödel (Incompleteness, Recursive functions), Church (Lambda calculus), Turing (Turing Machines). Na zakończenie dowiedzieliśmy się, że najnowszym problemem, nad którym pracuje też sam Wadler, są typy sesyjne, opisane po raz pierwszy przez <a href="http://www.doc.ic.ac.uk/~yoshida/multiparty/multiparty.pdf">Kohei Hondę w 1993</a>, a wywiedzione z logiki linowej (Jean-Yves Girard, 1987). <a href="https://youtu.be/_XoGa87Ryzk?t=24m1s">Jest już n</a><a href="https://youtu.be/_XoGa87Ryzk?t=24m1s">agranie!</a><br />
<br />
<i>A brief history of history of programming languages</i>: sprawdźcie kto stworzył ALGOLa, a następnie przeczytajcie przynajmniej po jednej publikacji każdego z autorów. Jeszcze tego nie zrobiłem, ale najwyraźniej warto!<br />
<br />
<i>The mysteries of Dropbox</i>: testowanie synchronizacji plików jest trudne - autor QuickChecka, John Hughes, zrobił to z kolegami za pomocą laptopa, kilku maszyn wirtualnych i QuickChecka dla Erlanga. Nie było to robione na zlecenie Dropboksa! Polecam przeczytać <a href="https://www.cis.upenn.edu/~bcpierce/papers/mysteriesofdropbox.pdf">opis metodologii</a>, bo omawia, jak przetestować złożony system za pomocą losowych danych. Tak, znaleźli kilka przypadków brzegowych i zgłosili je Dropboksowi.<br />
<br />
Zaliczyłem dwie sesje o Data Science, które pokazały jak powinno się promować DS - za pomocą ciekawych pytań! Pierwsza z nich zaraz po lunchu: <i>A board game night with geeks</i> i pytanie: czy można zremisować w Quarto? Quarto to gra planszowa, w której trzeba na planszy 4x4 ułożyć w rzędzie, kolumnie lub kwadracie zestaw klocków, które mają wspólną cechę. Jeśli użyjecie SAT solvera, to dowiecie się, że owszem, można w tej grze zremisować. Kod i prezentacja są dostępne <a href="https://github.com/Felienne/Quarto">na GitHubie</a>. Tych samych metod używa się, m. in., przy planowaniu rozkładów, testowaniu i sekwencjonowaniu DNA.<br />
<br />
W następnej prelekcji - <i>Teaching functional programming to n00bs in mobs</i> - Rob Martin przekonywał, że powinniśmy uczyć wszystkich juniorów programować funkcyjnie! Dlaczego? Bo nauczyć ich funkcyjnego myślenia jest prościej niż seniorów, trudno jest zatrudnić dobrego seniora, a ci seniorzy, których już masz, będą się lepiej rozwijać, jeśli będą mogli kogoś uczyć. Do tego dwie lektury podane przez prelegenta: <a href="http://worrydream.com/refs/Hughes-WhyFunctionalProgrammingMatters.pdf">Why Functional Programming Matters</a> i <a href="http://weblog.raganwald.com/2007/03/why-why-functional-programming-matters.html">Why "Why Functional Programming Matters" Matters</a>. Druga część prelekcji była pochwałą dla “mob programming”. Programowanie grupowe - 4-15 osób siedzi nad jednym problemem, tylko jedna klawiatura i myszka, jeden (duży) monitor. W takim środowisku powstaje lepszy kod (prezentacja z perspektywy roku) i sprzyja ono równomiernemu rozwijaniu kompetencji - w grupie większość stanowią juniorzy. I jeśli chcecie rozumieć funkcyjne koncepcje lepiej, to uczcie się Haskella ;)<br />
<br />
Byłem na dwóch “małych” prelekcjach. Pierwsza, <i>Elixir and Elm - the perfect couple</i>, wychwalała duet Elm + Elixir, zaznaczając jednocześnie, by starać się wybierać narzędzie (język, framework itd.) do potrzeb, zamiast używać zawsze <a href="https://en.wikipedia.org/wiki/Law_of_the_instrument">złotego młotka</a>. Druga, <i>Embracing change - how to introduce Clojure into your company technology stack seamlessly</i>, traktowała o tym, jak wprowadzić Clojure, albo jak twierdził autor - dowolną nową technologię, do swojej organizacji. Krok pierwszy: zdobądź pierwszych wyznawców, krok drugi: wybierz mały, niekrytyczny projekt, <a href="http://knowyourmeme.com/memes/profit">krok trzeci: ???</a>, krok czwarty: profit, nowa technologia została wprowadzona. Prelegentowi się udało, a prostym projektem był serwis do healthchecku, który odpowiadał tylko “żyję!”, jeśli serwer działał.<br />
<br />
Na koniec pierwszego dnia odbyło się 5 lightning talków, które niestety przegapiłem, bo dołączyłem do grupy dopytującej Roba Martina, jak np. mierzyć wydajność pojedynczych pracowników w takim programistycznym tłumie. Po pierwsze: nie rób tego, używaj retrospektyw żeby dawać sobie wzajemną informację zwrotną, przy czym jeśli jesteś zwierzchnikiem, to najlepiej nic nie mów, żeby niechcący nie uciszyć jakiejś inicjatywy (prowadzącemu się to raz zdarzyło). Po drugie: jeśli masz nóż na gardle, to zrób 360 Review.<br />
<br />
Afterparty było w The Legend Music Club.<br />
<br />
<h3>
Drugi dzień...</h3>
...otworzył moim zdaniem najsłabszy z 3 keynote’ów - <i>Things that Matter</i> autora <i>Siedem języków w siedem tygodni</i>. W skrócie: języki, których autorom przyświecała jakaś idea i którzy pozostali jej wierni są fajne (i o nich poczytacie w książce, jest Haskell!), a Java jest zmyślona.<br />
<br />
Pierwsza zwykła prezentacja, na którą trafiłem to <i>The Zen of Akka</i> prowadzona przez Konrada Malawskiego z Typesafe’a (teraz Lightbend). Zen Akki składa się z 13 punktów, których jednak nie pokuszę się o szczegółowe omówienie i będziecie musieli wyciągnąć je z nagrania, kiedy się ukaże. Kilka przykładów to: <br />
<ul>
<li>Używajcie niemodyfikowalnych wartości i unikajcie jak ognia modyfikowalnych zmiennych; </li>
<li>Unikajcie javowej binarnej serializacji - użyjcie Kryo, Thrifta, ProtoBufa albo czegokolwiek innego, co nie jest domyślnym mechanizmem; </li>
<li>Akka to nie framework - to zestaw narzędzi - można z niego wybrać swoje ulubione części i nie wkładać do projektu całości. </li>
</ul>
Do poczytania - rozproszone strumienie dla Akki, o których prowadzący wspomniał w odpowiedzi na jedno z pytań po prezentacji: <a href="http://downloads.typesafe.com/website/presentations/GearPump_Final.pdf">Intel Gear Pump</a>.</div>
<div>
<br /></div>
<div>
Druga prezentacja tego dnia to druga sesja z Data Science: <i>The F#orce awakens</i>, czyli kto jest najważniejszą postacią w Star Wars i dlaczego epizody I-III mają kiepskie oceny? Trzeba dokonać analizy grafu stworzonego ze sparsowanych scenariuszy Gwiezdnych Wojen. W samej analizie pomaga nam język R. W epizodach I-VI najważniejszy jest Obi-Wan, a jeśli dołożymy VII, to jest to C3-PO! Ale to tylko wierzchołek góry lodowej, dużo więcej znajdziecie na blogu autorki: <a href="http://evelinag.com/blog/2015/12-15-star-wars-social-network/index.html">The Star Wars social network</a>, <a href="http://evelinag.com/blog/2016/01-25-social-network-force-awakens/index.html">Star Wars social networks: The Force Awakens</a>. W prawdziwym życiu tych samych technik używa się do analizy rozmów online przez czaty, e-maile, przy pracy z siatkami zaopatrzenia czy też do analizy sieci biologicznych.</div>
<div>
<br />
Następna prezentacja, <i>Getting started with Frege</i> [czyt. frige], zachęcała do zapoznania się z implementacją składni Haskella dla JVM. Za przykład posłużyła prosta aplikacja do walidacji JSONa. Język kompiluje się do Javy, nie do bytecode’u. Chciałbym coś więcej o tym powiedzieć, ale sama implementacja jeszcze nie jest w pełni kompatybilna, więc niestety nie będzie mi dane wprowadzić jutro Haskella do projektu niskim kosztem ;) Można oczywiście obserwować projekt <a href="https://github.com/Frege/frege">na GitHubie</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgo-kT5sf44VffcVZbcjg35aiJfQO1JJ2jG63cdsHsDYMhebKJRxGgHh-jqwOs390ivvYAtMa6653g7SOnD2yjw7mGO6BJo-H0r-DwYe2VSdz5J86fN8Aibw1LvsIhZAitF9mKQNn2tFwL/s1600/DSC_0956.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgo-kT5sf44VffcVZbcjg35aiJfQO1JJ2jG63cdsHsDYMhebKJRxGgHh-jqwOs390ivvYAtMa6653g7SOnD2yjw7mGO6BJo-H0r-DwYe2VSdz5J86fN8Aibw1LvsIhZAitF9mKQNn2tFwL/s320/DSC_0956.JPG" width="240" /></a></div>
Kolejną była prezentacja dwóch ludzi z TomToma, którą mogliście zobaczyć już na spotkaniu JUGa - <i>Practical demystifcation of CRDT</i>. CRDT to Conflict-free Replicated Data Type. Tło prezentacji to usługa synchronizacji dla danych z nawigacji (np. ulubionych miejsc, zapisanych tras). Magia tych typów polega na tym, że obsługują przemienną i przechodnią operację łączenia, dzięki czemu nie ma znaczenia w jakiej kolejności nakładane są zmiany - wynik będzie zawsze taki sam. Omówili typy danych, których używają, dochodząc do tego, że musieli wymyślić własny, bazujący na OR-Set (Observed/Removed Set), OUR-Set (OR-Set + Updated). Taki zbiór trzyma w sobie listy utworzony, zaktualizowanych i usuniętych obiektów. Jednym z problemów przy używaniu CRDT jest brak niezawodnego zegara, więc kompromisem jest taka priorytetyzacja dostępnych czasów: zegar GPS > czas serwera > czas lokalny+1 > czas lokalny. Prelegenci powiedzieli, że byli na prezentacji Johna Hughesa, więc dowiedzieli się też o nowych sposobach, w jaki mogą ten system przetestować. Post, który zainspirował prelegentów do zgłębienia tematu: <a href="http://underscore.io/blog/posts/2013/12/20/crdts-for-fun-and-eventual-profit.html">CRDTs for fun and eventual profit</a>.<br />
<br />
Ostatnia zwykła prelekcja to <i>Purely Functional Web Apps</i>, która opowiadała historię aplikacji internetowej napisanej w Haskellu i Elmie. Potrzebowali aplikacji, która na podstawie historii pull requestów z ich GitLaba ekstrapolowała potencjalną długość trwania review w zależności od ilości kodu. Do części serwerowej użyty został zestaw narzędzi Haskell Servant. Po stronie Elma za to pomocny okazał się jego <a href="http://debug.elm-lang.org/">Time Traveling Debugger</a>, który używanie wygląda jak pokaz magiczny. Padło też zdanie, że powinniśmy nauczyć się Haskella, bo dzięki temu staniemy się lepszymi programistami.<br />
<br />
Ostatni keynote - <i>The Truth about Types</i> Bartosza Milewskiego - mówił o teorii kategorii. Kategoria to byt matematyczny, który składa się z obiektów, przekształceń między nimi (strzałek) i operacji łączenia ze sobą strzałek. Dowiedzieliśmy się, że tak jak istnieją paralela między logiką i rachunkiem lambda, tak można wykazać paralelę między nimi i teorią kategorii. Prezentacja była mocno abstrakcyjna. Przeszliśmy przez Kategorię Zbiorów (Set Category), intuicjonistyczną logikę, kontynuacje, a zakończyliśmy stwierdzeniem, że skoro istnieją analogie między tymi trzeba dziedzinami (logika, rachunek lambda, teoria kategorii), to może istnieje jakaś większa abstrakcja, która obejmie je wszystkie? Tym właśnie zajmują się teraz badacze. Niestety nam, zwykłym zjadaczom chleba, pozostaje czekać.<br />
<br />
<h3>
Koniec!</h3>
<br />
Wyjazd uznaję za udany, konferencja bardzo mi się podobała. Mam nadzieję, że będę mógł pojechać na nią również w przyszłym roku :)</div>
</div>
Artur Czajkahttp://www.blogger.com/profile/12615215426836980675noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-67792880467264627292016-02-07T11:52:00.000-08:002016-02-07T13:18:36.753-08:00Happy New Year - January 2016 @ JUG Lodz<h1> Modularity and OSGI</h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3SRLatY6X3ZhyJaeFIWdDvaQI-HfleUzkwrppww2WfEBOWOCaN1tHfE0CMbz1O5DE9pY9ywcG-hD3uFdwZ82KnyGgmmVBWf3oG9Rnt_lRn1ld8gFvS5-68ACOZno5_-il_IDNQxds61E/s1600/milen1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3SRLatY6X3ZhyJaeFIWdDvaQI-HfleUzkwrppww2WfEBOWOCaN1tHfE0CMbz1O5DE9pY9ywcG-hD3uFdwZ82KnyGgmmVBWf3oG9Rnt_lRn1ld8gFvS5-68ACOZno5_-il_IDNQxds61E/s400/milen1.jpg" /></a></div>
<p class="akapit">
We started 2016 by having a chance to listen an interesting lecture from true IT Industry veteran - Milen Dynkov (<a href="https://twitter.com/milendyankov">https://twitter.com/milendyankov</a>). Milen spoke about many good ways of achieving modualarity in the project and later during great live demo shown practical implementation of his concepts with usage of OSGI.
</p>
<p>
You can watch the full presentation here :
</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/gzAsmQQM0Bs" frameborder="0" allowfullscreen></iframe>
<h1>Learning Functional Programming</h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipakJXHKVbfnL-6I3eKMcLvXPbvOAev7yN0UdauK-oJNCPk8lE_MmeKYnx2LbVUyRhOlSz_rTbl6OkTiJaHnQqOINFw0syftk81YXSVQWnXzgXZZFEIYDIDsOd7oqQ_ThLDArROf6kEbc/s1600/fp2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipakJXHKVbfnL-6I3eKMcLvXPbvOAev7yN0UdauK-oJNCPk8lE_MmeKYnx2LbVUyRhOlSz_rTbl6OkTiJaHnQqOINFw0syftk81YXSVQWnXzgXZZFEIYDIDsOd7oqQ_ThLDArROf6kEbc/s400/fp2.jpg" /></a></div>
<p class="akapit">
Next week we switched to Functional Programming theory and a question - what is the best way to learn this approach? Paweł Włodarski (<a href="https://twitter.com/pawelwlodarski">https://twitter.com/pawelwlodarski</a>) described some practical and theoretical aspects of FP - but just by listening FP can not be mastered - that's why soon a full cycle of FP workshops will take place in the city of Lodz - material for the first one is ready <a href="https://pawelwlodarski.gitbooks.io/functional-programming/content/workshop1.html">FP in Java8 - workshop 1 material</a>
</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/CXi7QumPE9A" frameborder="0" allowfullscreen></iframe>
<h1>Back to reality - Java memory model </h1>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnL4s0jUsfHzZFn4A9fAyNCY9FflFi1jP-X_TAx8U-oC9mQQ5_ddul8zdWKiJO74lyHPX8NFfZdEBg2R7_HQRMrD4Q7QYUtxyxbVuTsrzdjJIrsvYhetaofnDwzzf83AEntj-E-0XwjdQ/s1600/tborek1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnL4s0jUsfHzZFn4A9fAyNCY9FflFi1jP-X_TAx8U-oC9mQQ5_ddul8zdWKiJO74lyHPX8NFfZdEBg2R7_HQRMrD4Q7QYUtxyxbVuTsrzdjJIrsvYhetaofnDwzzf83AEntj-E-0XwjdQ/s400/tborek1.jpg" /></a></div>
<p class="akapit">
In the last week of January Tomek Borek (<a href="https://twitter.com/LAFK_pl">https://twitter.com/LAFK_pl</a>) brought us back to earth with his great presentation about Java Memory Model where he described with many details how physical architecture influences computations and our daily work.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6wV30sOIZPqV0ZjbZ3ORakJe_YJnuWczwlu_AQ1cJRN5uAM4k6nXohxIqRjWy5J_eJyqqMlSkxLB7723pVheelszz5K0x9_j7dOH3aLJuESU5IC4fvHDPz5mEO2xw_95mDWUlHHlb9E/s1600/tborek2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6wV30sOIZPqV0ZjbZ3ORakJe_YJnuWczwlu_AQ1cJRN5uAM4k6nXohxIqRjWy5J_eJyqqMlSkxLB7723pVheelszz5K0x9_j7dOH3aLJuESU5IC4fvHDPz5mEO2xw_95mDWUlHHlb9E/s400/tborek2.jpg" /></a></div>
<p>
<ul>
<li> slides : <a href="https://speakerdeck.com/littleancientforestkami/model-spojnosci-pamieci-w-javie">https://speakerdeck.com/littleancientforestkami/model-spojnosci-pamieci-w-javie</a></li>
<li>video : [in progress] </li>
</ul>
</p>
<h1>What next</h1>
<p class="akapit">
When I'm writing those wrods Tomek Dziurko has already performed his presentation about recruitment in IT and on February 16 we had a chance to see two great presenters from Tomtom : <a href="http://www.meetup.com/Java-User-Group-Lodz/events/228119198/">http://www.meetup.com/Java-User-Group-Lodz/events/228119198/</a>. After their presentation on JUG Lodz Dmitry and Nami are going directly to Lambda Days conference where they also perform as presenters.
</p>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-54955499665128444252016-01-03T07:14:00.000-08:002016-01-03T15:06:40.124-08:00JVM Armageddon just before Christmas (and more ) - December @ JUG Lodz<p>
Take a look at the picture below to feel the magic of December and then you can move on to read about presentations
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghTgMaygxGFFTtIXm7cwgY27x_T_WiepMPtD3sH4drVXGV7sGI0NEacOvxPn6SAikf-8y_GSs-NjEK9D0CadGVsEeAhW98WBSaEpPUTtA8mm7sQDpgv9byqhTaUFuHIzV5ZIXsULMYIUQ/s1600/christmasTreeJava.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghTgMaygxGFFTtIXm7cwgY27x_T_WiepMPtD3sH4drVXGV7sGI0NEacOvxPn6SAikf-8y_GSs-NjEK9D0CadGVsEeAhW98WBSaEpPUTtA8mm7sQDpgv9byqhTaUFuHIzV5ZIXsULMYIUQ/s400/christmasTreeJava.gif" /></a></div>
</p>
<h1>JVM Armageddon</h1>
<p class="akapit">
At the very beginning of the last month of 2015 we had a pleasure to listen to very experienced speaker - Jaroslaw Palka <a href="https://twitter.com/j_palka">@j_palka</a> - who told us many interesting facts about JVM internals.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRykawzEMxcj0z3WDiaiSM9xbWXyOE7qmZLVPf_JN4iu39wbLzSR2StTO1RTlVM513JOxZYkIaDVyjgAB-qp7OFJPXnG4zsy0-JKM-ylUs6e2QOcm7S5YMucRWnTrosfwNHkhiho2_a4/s1600/jvm2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRykawzEMxcj0z3WDiaiSM9xbWXyOE7qmZLVPf_JN4iu39wbLzSR2StTO1RTlVM513JOxZYkIaDVyjgAB-qp7OFJPXnG4zsy0-JKM-ylUs6e2QOcm7S5YMucRWnTrosfwNHkhiho2_a4/s400/jvm2.jpg" /></a></div>
<p>
So we had a chance to see some parts of JVM source code where exceptions are literally swallowed and hear stories about debug sessions "till 4 A.M."
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBOYu75BLJr9gYbymTwZosgjrZxe3IPCkWODL8bh9QfPbJ1Pq6l7ku5Ot0e67uyHMKJRCIiq3reb3PBPKeyZD3SFqXJALVM7ON_e8vnBi9MkT3viyIWfyvmU1yz7B8Fckb4CmdHHYJTAY/s1600/jvm3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBOYu75BLJr9gYbymTwZosgjrZxe3IPCkWODL8bh9QfPbJ1Pq6l7ku5Ot0e67uyHMKJRCIiq3reb3PBPKeyZD3SFqXJALVM7ON_e8vnBi9MkT3viyIWfyvmU1yz7B8Fckb4CmdHHYJTAY/s400/jvm3.jpg" /></a></div>
<h1>Haskell Continues</h1>
<p>
This time on Haskell Workshops Artur Czajka <a href="https://twitter.com/tr00per87">@tr00per87</a> was teaching about Functors, Monads and Monad transformers.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlokl580mwhMy6oC9cmrByvtUW6lszMgkpJRL499xGpLzpTzmv5S9h8dPxPWmQUVfkz6TfPa42KY7DV1l9Hp_M0YolCHR5RmV4YXM3Wli1eawpXOUwGZnmch8jaRNdAb6mG7hQX-G6CMs/s1600/haskell1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlokl580mwhMy6oC9cmrByvtUW6lszMgkpJRL499xGpLzpTzmv5S9h8dPxPWmQUVfkz6TfPa42KY7DV1l9Hp_M0YolCHR5RmV4YXM3Wli1eawpXOUwGZnmch8jaRNdAb6mG7hQX-G6CMs/s400/haskell1.jpg" /></a></div>
<p>Haskell is a very good way to learn Functional Programming - more people should try it </p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTqGHc8-qpD_vnj_HdXJjk_tc4o9WbMGWAFBLDYDNARtC9Jod0j8h9MJyTNntR_s8z-fukp0rNoCbQsv-OEUd93sRBS0Y8D3C-9Ln5cp01RuM2H3145ZtIvevHO_vF9u-ZJSCWXzRel1Q/s1600/haskell2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTqGHc8-qpD_vnj_HdXJjk_tc4o9WbMGWAFBLDYDNARtC9Jod0j8h9MJyTNntR_s8z-fukp0rNoCbQsv-OEUd93sRBS0Y8D3C-9Ln5cp01RuM2H3145ZtIvevHO_vF9u-ZJSCWXzRel1Q/s400/haskell2.jpg" /></a></div>
<h1>For the first time in Lodz - Security Workshops</h1>
<p>
And for the first time in Lodz we had a workshop about general topic of applications security. Marcin Mela from HARMAN give us many examples how insecure web applications can be, which cryptographic function is safe and how easily it is to find on google someones private cameras streaming live content!
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinmnv0ntBYDcExDoRzmlFlW1yCnvtC1vQCziwkkTtOx2W_55nDnuJ2N-MbKgADhIYq88UTcsw8EQ1NLdxP5DHryUImySwlRFWyuNQyP00zqKwY5_h_sY8acT47lfbKKPvx4TCC2jzzAC8/s1600/security1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinmnv0ntBYDcExDoRzmlFlW1yCnvtC1vQCziwkkTtOx2W_55nDnuJ2N-MbKgADhIYq88UTcsw8EQ1NLdxP5DHryUImySwlRFWyuNQyP00zqKwY5_h_sY8acT47lfbKKPvx4TCC2jzzAC8/s400/security1.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfZaq3rJSTGRn9Z_8-a_gubiAEVEfKDC7r8wxlECRmbh8bs7OL5yD7PunYR17ZF50ory2lvDWuZq1uiTlz5pNRMhNLUymRLsyAlSjQh7yFAnt1JcA6JJdY8_uXVLVepr8qifIbz-bmOZU/s1600/security2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfZaq3rJSTGRn9Z_8-a_gubiAEVEfKDC7r8wxlECRmbh8bs7OL5yD7PunYR17ZF50ory2lvDWuZq1uiTlz5pNRMhNLUymRLsyAlSjQh7yFAnt1JcA6JJdY8_uXVLVepr8qifIbz-bmOZU/s400/security2.jpg" /></a></div>
<p>
In the second part we had one hour to hack small web application and find all security holes.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH-nhadXhzvp4eUIy1V68XXDRfd-SjiTjUm4qX3MPgvWPigZdkLHo52d0bkmx6AwU_SvCXBlD89V61P9j3oF2OZXxpP_HxP7w2xJvVG1bXvKT5YDS8uG_dvfftanXbF3PEyu2xMKEgBGk/s1600/security3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH-nhadXhzvp4eUIy1V68XXDRfd-SjiTjUm4qX3MPgvWPigZdkLHo52d0bkmx6AwU_SvCXBlD89V61P9j3oF2OZXxpP_HxP7w2xJvVG1bXvKT5YDS8uG_dvfftanXbF3PEyu2xMKEgBGk/s400/security3.jpg" /></a></div>
<h1>Spark & Dataframes </h1>
<p>
We also had a chance to learn about "bridge between Programming and Data Science" - Dataframes - during workshops prepared by Paweł Włodarski <a href="https://twitter.com/PawelWlodarski">@PawelWlodarski</a>
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwyZLveyxWJHAzi1PsMkxPc0sRAnYfqr0GEnYd-Jx0FsuQ7GUgwnGSoUMUcy-igJLx56Dx-JRE7V4e_J1Hkjp2FymDD6MUuhTC5e8SZK1jG-wKGvqg0TtkPY4wjDDo2QX6oQRE5hIZty0/s1600/dataframes1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwyZLveyxWJHAzi1PsMkxPc0sRAnYfqr0GEnYd-Jx0FsuQ7GUgwnGSoUMUcy-igJLx56Dx-JRE7V4e_J1Hkjp2FymDD6MUuhTC5e8SZK1jG-wKGvqg0TtkPY4wjDDo2QX6oQRE5hIZty0/s400/dataframes1.jpg" /></a></div>
<p>This workshops was organised in <a href="http://lodz.blpoland.com/">Business Link</a> where we receive a free room with wifi!</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguHT9tMyFO5qggQzS0X2zgwQRnwd34DzAeSReFbS_u3D4IOOJwAbw9VVjV9NNRXW_-DgK_Vzet_JOUR-H5TqZrKRZOn6NTpJSr6NCB8J5kufTtPCNP9sz8kC2fz-lYZoCHpvB_tPt5EeU/s1600/dataframes2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguHT9tMyFO5qggQzS0X2zgwQRnwd34DzAeSReFbS_u3D4IOOJwAbw9VVjV9NNRXW_-DgK_Vzet_JOUR-H5TqZrKRZOn6NTpJSr6NCB8J5kufTtPCNP9sz8kC2fz-lYZoCHpvB_tPt5EeU/s400/dataframes2.jpg" /></a></div>
<h1>Lambda Architecture</h1>
<p>The last presentation in 2015 was made by Kamil Owczarek and the topic was "Lambda Architecture"</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCnGtc9s_Cnv5JHGTEEMzVHaTMhfz5eS1gLoB3XF9UAyBUkm8VQMHB8UCz1ks7s6XGZkYiPQQLw9DChqNpWVSakxWGBotJ-rWQ21T30sjvIu8YCb0tDNWQODTp8RPSJ3S526_vc9Oihk0/s1600/lambda.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCnGtc9s_Cnv5JHGTEEMzVHaTMhfz5eS1gLoB3XF9UAyBUkm8VQMHB8UCz1ks7s6XGZkYiPQQLw9DChqNpWVSakxWGBotJ-rWQ21T30sjvIu8YCb0tDNWQODTp8RPSJ3S526_vc9Oihk0/s400/lambda.jpg" /></a></div>
<p>So we saw an alternate application architecture centered around Big Data</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWiOZhYD0gBLY55zGrgUblyDAWBSNX5EyU9MWOAb8geRF375fB4SSypjMu7S60z16fL1niRViGGJJs9vdGG0-P61WqzNQRrb0tVvSNWX5UuqcxLOAbnO8tIJN_B8EJhTUlty5635JbRB4/s1600/lambda2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWiOZhYD0gBLY55zGrgUblyDAWBSNX5EyU9MWOAb8geRF375fB4SSypjMu7S60z16fL1niRViGGJJs9vdGG0-P61WqzNQRrb0tVvSNWX5UuqcxLOAbnO8tIJN_B8EJhTUlty5635JbRB4/s400/lambda2.jpg" /></a></div>
<h1>2016</h1>
<p>
We are going to start with :
<ul>
<li><a href="http://www.meetup.com/Java-User-Group-Lodz/events/227132299/">Microservices and Modularity or the difference between treatment and cure!</a> </li>
<li><a href="http://www.meetup.com/Java-User-Group-Lodz/events/227760065/">Learning Functional Programming</a> </li>
</ul>
</p>
<p>Everyone's welcome!</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYIJlArZ6YD1KlMgqP_k6wiGw_rX1eMHiuqfhdvwkcqEWLfW8mztuaBx_rpExvqaVrpci_3vOrd5yIKXU57YIDfktVeBfzxXicPpkSZ0Aa1F2aks8MnJ7_4XvL0Q3AZ3-l3TqjikNPoRY/s1600/tree2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYIJlArZ6YD1KlMgqP_k6wiGw_rX1eMHiuqfhdvwkcqEWLfW8mztuaBx_rpExvqaVrpci_3vOrd5yIKXU57YIDfktVeBfzxXicPpkSZ0Aa1F2aks8MnJ7_4XvL0Q3AZ3-l3TqjikNPoRY/s400/tree2.png" /></a></div>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com2tag:blogger.com,1999:blog-4051009680712452564.post-57649034847806183372015-12-14T00:43:00.000-08:002015-12-14T01:14:44.024-08:002015-12-04 Droidcon - recenzja konferencji<h4>
JUG i wejściówka na Droidcon.</h4>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="font-size: 11px; white-space: pre;"> </span>Głównym celem JUG Łódź jest dzielenie się wiedzą oraz wspieranie łódzkiej sceny IT. Jednak nie są to jedynie cotygodniowe spotkania, ale również i stowarzyszenie, które stoi za ich organizacją. Będąc oficjalnym jego członkiem możemy wspierać tą inicjatywę, a jednocześnie być wspieranym, chociażby dzięki bezpłatnym wejściówkom na konferencje. W przypadku Droidcona to mi udało się takową uzyskać, dzięki czemu mogę się podzielić z Wami wrażeniami z tego eventu.</div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<h4>
Konferencje mobile.</h4>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="font-size: 11px; white-space: pre;"> </span>Od kilku lat rokrocznie słyszymy, iż rok 201x jest rokiem mobile. Przejawem tego jest coraz większa liczba eventów oraz konferencji poświęconych technologiom mobilnym. Obok najpopularniejszych konferencji w Polsce takich jak Mobilization czy MCE, których nie trzeba przedstawiać zawitała u nas również seria Droidcon, marka ciesząca się uznaniem wśród programistów poruszających się w ekosystemie Google’a na całym świecie. </div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>Jak sama nazwa wskazuję, mamy do czynienia z konferencją wyspecjalizowaną w temacie zielonego robocika. W dwa dni możemy uczestniczyć w prawie 30 prelekcjach odbywających się w dwóch równoległych trackach, poświęconych jedynie tworzeniu aplikacji na system Android, co według mnie stanowi najistotniejszy element tej konferencji. Taka specjalizacja umożliwia bowiem nie tylko koncentrację na najnowszych trendach, ale również poruszenie tematów mniej znanych społeczności i niekoniecznie modnych. Zanim jednak rozwinę nieco tą myśl, chciałbym zwrócić uwagę na samą organizację wydarzenia.</div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<h4>
Miejsce organizacji konferencji.</h4>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="font-size: 11px; white-space: pre;"> </span>Zgodnie z informacjami, które można było otrzymać podczas konferencji, Droidcon jako następca konferencji Krakdroid, odbywa się już po raz drugi w dość sympatycznym mieście Kraków. Nie mniej, nie więcej dla osób z Łodzi i okolic oznacza to wyprawę w godzinach wczesno porannych, jeżeli dojazd na konferencję planujemy tego samego dnia. Po dotarciu, miejscem tegorocznej edycji okazuje się hotel Best Western, dzięki czemu możemy odnieść pozytywne wrażenie co do standardu samego wydarzenia. </div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>Tradycje są po to, aby je kultywować, dlatego też każdy z uczestników podczas rejestracji zostaje wzbogacony o kolejną pozycję garderoby. Po sprawnym odhaczeniu się i otrzymaniu suwenirów nie pozostaje nam nic innego jak udać się na prelekcje. Tu niestety wita nas bardzo wąski korytarz, na którym swoje stoiska dodatkowo rozstawili sponsorzy. Na całe szczęście jednak przerwy między kolejnymi talkami są bardzo krótkie, dzięki czemu nie jest to aż tak dotkliwe. Same prelekcje odbywają się w dwóch salach, jednej bardzo pojemnej, drugiej natomiast bardzo “przytulnej”. Mniejsza sala, sprawia niezbyt przyjemne wrażenie, gdyż talki, które się w niej odbywają zazwyczaj cieszą się mniejszą popularnością, co przy małej frekwencji może napawać smutkiem. Z drugiej strony, przy dwóch bądź trzech ciekawszych, niemożliwym było się normalnie pomieścić.</div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<h4>
Wartość merytoryczna</h4>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; font-size: 11px; line-height: normal; min-height: 13px;">
<br /></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="font-size: 11px; white-space: pre;"> </span>Kończąc dosyć przydługi wstęp, chciałbym przejść do tego co najważniejsze, czyli samych wykładów oraz ich poziomu. W tym momencie, muszę stwierdzić, iż była to jedna z lepiej prowadzonych konferencji, które udało mi się ostatnio odwiedzić. Nie chodzi mi tu o poziom merytoryczny prelekcji, ale doświadczenie ich prowadzących oraz obycie sceniczne. W tej kwestii prezentacje stały na bardzo wysokim poziomie i nie sposób było dostrzec na nich braku przygotowania bądź stresu, co często mimo sporej ilości posiadanej wiedzy prowadzącego, może zepsuć ogólne odczucie słuchaczy. Z drugiej strony zdarzało się, że prezentowany materiał nie był przeznaczony dla doświadczonych programistów, a raczej dla osób, które swoją przygodę z Androidem dopiero zaczynają.</div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>W agendzie nie mogło zabraknąć prezentacji o RxJava, frameworku będącym obecnie na topie oraz o wszelkich nowościach pojawiających się wraz z premierą systemu Marshmallow. Informacje o najnowszych technologiach są zawsze czymś czego oczekujemy od konferencji branżowych, tak i też było w tym przypadku. Dla mnie jednak najlepszymi prezentacjami były te odnoszące się nie do samych trendów czy też najnowszych frameworków, lecz do samego Androida jako systemu. Keynote poprowadzony przez Aleksandra Piotrowskiego o komunikacji międzyprocesowej z wykorzystaniem Bindera, czy też talk Romana Mazura poruszającego tematyke ADB shella, przypomina nam dosyć ważną rzecz, iż mimo dziesiątek wysokopoziomowych bibliotek Javowych nadal mamy do czynienia z systemem Linuksowym. Temat ten jest rzadko poruszany, jednak dla mnie osobiście bardzo interesujący, przez co uważam to za ogromny plus Droidcona. </div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>Oprócz wyżej wymienionych prezentacji, na wartą odnotowania zasługuje również prezentacja Michała Tajcherta, który dzielił się ze słuchaczami swoim doświadczeniem, jak przejść od pomysłu na aplikację do jego wykonania i popularyzacji oraz kończąca konferencję prelekcja Wojtka Kalicińskiego - “20 tips for building better apps”. </div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>Na finałowym talk’u moglibyśmy zakończyć nasze rozważania dotyczące konferencji, jednak na tych bardziej cierpliwych czekał barcamp. Chętni do zaprezentowania swojej, krótkiej 20 minutowej prezentacji, mogli zgłaszać swoje pomysły w trakcie trwania konferencji. Na koniec zostało wyłonionych osiem tematów, które zaprezentowane zostały w formie lightning talków. Według mnie osoby, które opuściły Droidcona przedwcześnie, mogą żałować braku swojej obecności. W tym przypadku również, bardzo dobre prezentacji dali A. Piotrowski o rootowaniu urządzeń, jak i R. Mazur o kontrybucji kodu do projektu Android.</div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal;">
<br /></div>
<h4>
Podsumowanie</h4>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal;">
<br /></div>
<div style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-family: Helvetica; line-height: normal; text-align: justify;">
<span class="Apple-tab-span" style="-webkit-text-stroke-width: initial; font-size: 11px; white-space: pre;"> </span><span style="-webkit-text-stroke-width: initial;">Podsumowując, konferencję Droidcon oceniam pozytywnie. Przede wszystkim ze względu na obecność tematów innych niż te o najnowszych frameworkach, które królują na większości konferencjach. Oczywiście każdy jednak znajdzie dla siebie coś ciekawego, choć odległy termin od corocznego Google I/O, nie sprzyja odnalezieniu na niej samych nowinek i ciekawostek.</span></div>
Anonymoushttp://www.blogger.com/profile/17229889326961644734noreply@blogger.com1tag:blogger.com,1999:blog-4051009680712452564.post-15471426546341473872015-12-06T10:47:00.000-08:002015-12-06T13:52:05.513-08:00November @ JUGLODZ - learning by deleting and communities cooperation<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcAK0id6XE75LBCOSQNlRBHwsOCjjNm6LBGT-BM7UWiAshGNiYsHNjNSmeaqMPPtoHGlKIsTakfy1UaIDKjLEkQ2FhJ7WMMxdo-7M1oCey3zSY3XmC0OL8WEWm1Y8Ocwql8vqsjInHxks/s1600/grupowe.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcAK0id6XE75LBCOSQNlRBHwsOCjjNm6LBGT-BM7UWiAshGNiYsHNjNSmeaqMPPtoHGlKIsTakfy1UaIDKjLEkQ2FhJ7WMMxdo-7M1oCey3zSY3XmC0OL8WEWm1Y8Ocwql8vqsjInHxks/s400/grupowe.jpg" /></a></div>
<h1> Global Day of Code Retreat </h1>
<p class="akapit">
The main event in November on JUG Lodz was the Global Day Of Code Retreat workshop. This time we had a pleasure to have Adrian Bolboaca (<a href="https://twitter.com/adibolb">https://twitter.com/adibolb</a>) as a host.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia8GsYy6RDESXZ8H8IIs1mt2-E2FLrg3HPu559AGaCwLboWgXGr7mqzjKUcmMiNeMcs6Op1MFqksnh2FxUlrz_q9XBC5oUBwJi35iINOg9hhU05Gaupu5kvS0wPLaw8_gSTgaaLaR95JE/s1600/CR0.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia8GsYy6RDESXZ8H8IIs1mt2-E2FLrg3HPu559AGaCwLboWgXGr7mqzjKUcmMiNeMcs6Op1MFqksnh2FxUlrz_q9XBC5oUBwJi35iINOg9hhU05Gaupu5kvS0wPLaw8_gSTgaaLaR95JE/s400/CR0.jpeg" /></a></div>
</p>
<p class="akapit">
Adrian gain a lot of experience by hosting <a href="http://globalday.coderetreat.org/">Global Day of code retreat</a> year after year all over the world and this time he shared his knowledge with JUG Lodz. You can check participant's opinions here --> <a href="https://www.youtube.com/watch?v=JTZ5OShPiSs&list=PLjRWdrrBgSEP1CcZlFR03s8gBRVhofd2p">Interviews after GBDC.</a>. Interviews are in polish but all if you don't know polish language - everyone was more than HAPPPY:)
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-weQHuNHnkHTHjJKFUukUUaZzwTJERZXUVJ4rUoRnvGqTqk0zEMt6hMudVrGRPwU2ktv4eIaDfhfuZbw0uDLUHXIJNuYQOFX_b62XoJ6TqCuHe8yMmTSr_LKUOnIulR5fUzdjG0kPLMw/s1600/CR1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-weQHuNHnkHTHjJKFUukUUaZzwTJERZXUVJ4rUoRnvGqTqk0zEMt6hMudVrGRPwU2ktv4eIaDfhfuZbw0uDLUHXIJNuYQOFX_b62XoJ6TqCuHe8yMmTSr_LKUOnIulR5fUzdjG0kPLMw/s400/CR1.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEzhnPP3FI8T2Yk1HGHIyA5GogYa7Fjq4gHvakNZV8EnFJLqXHUNUc24FYsynKxEtHzuhba-CXeMXvMTFv4v5kx_N7L2rVYUKpkg8PRgkpE5bucb5lQ9kHxIldvC2O1Ywr75asNtB-aHA/s1600/CR2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEzhnPP3FI8T2Yk1HGHIyA5GogYa7Fjq4gHvakNZV8EnFJLqXHUNUc24FYsynKxEtHzuhba-CXeMXvMTFv4v5kx_N7L2rVYUKpkg8PRgkpE5bucb5lQ9kHxIldvC2O1Ywr75asNtB-aHA/s400/CR2.jpg" /></a></div>
<h1>Cooperation between communities</h1>
<p class="akapit">
A day before GDCR Adrian presented another topic titled "Legacy Code is Fear" where he explained how you can defend your code against erosion.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPyhlJ4D_wwDfosrfQHqlglp8rw46ha-UMM565nYoxcvQVze1yBjJKbbs0SZwAds6i3KHib2H81EEJ-L_pIRGxzdsYd0yiENSsKG1_cVh2Zx4Tasls8ay5X159u-GOAmtAc48jT6SOb-4/s1600/legacyCode.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPyhlJ4D_wwDfosrfQHqlglp8rw46ha-UMM565nYoxcvQVze1yBjJKbbs0SZwAds6i3KHib2H81EEJ-L_pIRGxzdsYd0yiENSsKG1_cVh2Zx4Tasls8ay5X159u-GOAmtAc48jT6SOb-4/s400/legacyCode.jpg" /></a></div>
<p>
There was also one additional reason why this meeting was unique. For the first time we as a JUG had organized a meeting along with Dev@Lodz group (<a href="http://www.meetup.com/dev-LDZ/">http://www.meetup.com/dev-LDZ/</a> & <a href="https://twitter.com/devldz">https://twitter.com/devldz</a>). The idea was that each group invite one presenter so "our" speaker was Adrian and dev@Lodz invited Maciej Aniserowicz (<a href="https://twitter.com/maniserowicz">https://twitter.com/maniserowicz</a>) who spoke about CQRS.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtVnVds4djIXXBjCfISstRJOHwJwLKbYlBenyBRSXJ8g0zlAMC2nzEZCmxssx0sZlrNog68STN7gIkQUqd26Mn90aMPQ43Al3mGtFRvpQFpXWU4BaMAeMBQcJoX9Qhg9PeB5qYfxpmxz8/s1600/CQRS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtVnVds4djIXXBjCfISstRJOHwJwLKbYlBenyBRSXJ8g0zlAMC2nzEZCmxssx0sZlrNog68STN7gIkQUqd26Mn90aMPQ43Al3mGtFRvpQFpXWU4BaMAeMBQcJoX9Qhg9PeB5qYfxpmxz8/s400/CQRS.jpg" /></a></div>
<iframe width="560" height="315" src="https://www.youtube.com/embed/nw-7cqB6fDw" frameborder="0" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/y4dBhdOcoQU" frameborder="0" allowfullscreen></iframe>
<h1>Presentations</h1>
<h2> AOP</h2>
<p class="akapit">
We started this month with a presentation made by Damian Sińczak (<a href="https://twitter.com/dsinczak">https://twitter.com/dsinczak</a>) about AOP.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVGAds82rSM_cbluT2QJFRVgpo1R2uDwyzHeNwMqIAHSfwDCo5GsbixymUKqVWtopBBX-dIBSNdDIFTgmwdnHGIuShS4htrZsY6zC1Se98NHgxjiCsR9loyfA3IHyQV9tYXQYDVoEBxU4/s1600/AOP.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVGAds82rSM_cbluT2QJFRVgpo1R2uDwyzHeNwMqIAHSfwDCo5GsbixymUKqVWtopBBX-dIBSNdDIFTgmwdnHGIuShS4htrZsY6zC1Se98NHgxjiCsR9loyfA3IHyQV9tYXQYDVoEBxU4/s400/AOP.jpg" /></a></div>
You can see the presentaiton here :
<iframe width="560" height="315" src="https://www.youtube.com/embed/I3h-kGeAn2s" frameborder="0" allowfullscreen></iframe>
</p>
<h2>Docker</h2>
<p>
Piotr Kieszczyński (<a href="https://twitter.com/pkieszcz">https://twitter.com/pkieszcz</a>) has started a new cycle about Docker.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhiio-8AoazRqxFX8Pco6pRfn8AzgH9ovn-MBQv3YDFnj6UlizMCE9e2Jqe6Xd9WmVVOJKTJ1iu5SiK6HmLZ7siNIKZ4TRozg-cVJFK-AjEaishihO7aCxtJOc4EE9J6LAAgp5HtdyKE/s1600/docker.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhiio-8AoazRqxFX8Pco6pRfn8AzgH9ovn-MBQv3YDFnj6UlizMCE9e2Jqe6Xd9WmVVOJKTJ1iu5SiK6HmLZ7siNIKZ4TRozg-cVJFK-AjEaishihO7aCxtJOc4EE9J6LAAgp5HtdyKE/s400/docker.jpg" /></a></div>
</p>
<h2>Ansible</h2>
<p>
We also had a chance to listen about Ansible during a presentation prepared by Dominik Stożek (<a href="https://twitter.com/dstozek">https://twitter.com/dstozek</a>)
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7N2iGOqati-_fnWsohJzb9TuzhHAnhFDaUralXbmYwTm6zpS20h6P0Xa4QQtxWn1MqQdA8hapCIqwx2G4bbT4EnZ_tz7VnwFvi6isBtyFtsFYk4gcLWevA9mo0QiH_dugaSWzZESdrA/s1600/Ansible.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7N2iGOqati-_fnWsohJzb9TuzhHAnhFDaUralXbmYwTm6zpS20h6P0Xa4QQtxWn1MqQdA8hapCIqwx2G4bbT4EnZ_tz7VnwFvi6isBtyFtsFYk4gcLWevA9mo0QiH_dugaSWzZESdrA/s400/Ansible.jpg" /></a></div>
</p>
And of course there is a presentation : <br/>
<iframe width="560" height="315" src="https://www.youtube.com/embed/BTEoXsNtCOc" frameborder="0" allowfullscreen></iframe>
<h1>Workshops</h1>
<p>
First of all <b>Akka</b> returned to JUG Lodz thanks to Robert Budźko (<a href="https://twitter.com/rbudzko">https://twitter.com/rbudzko</a>). This time we learned about akka persistence functionality
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvtT5gYFyl0ZKgJ3bTS4oUg9wbGwdiACO9lYxo-CI6w7SZ2V4UcYgkH1LpHj9I2CDuskN0dXNw9qJ8Lj-Cl1zPQEWTklEjYiBn-DQdjKQh0Ar1OMVEWLImsmSHXI0KI0CkwA-TK5lFBo/s1600/Akka.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvtT5gYFyl0ZKgJ3bTS4oUg9wbGwdiACO9lYxo-CI6w7SZ2V4UcYgkH1LpHj9I2CDuskN0dXNw9qJ8Lj-Cl1zPQEWTklEjYiBn-DQdjKQh0Ar1OMVEWLImsmSHXI0KI0CkwA-TK5lFBo/s400/Akka.jpg" /></a></div>
<p>
<b>Haskell</b> adventure continues thanks to Artur Czajka (<a href="https://twitter.com/tr00per87">https://twitter.com/tr00per87</a>). This time we understood the power of Type classes and magic of Functors
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtjRKmCzs9ayuSUSRfkIP42tZLyfo37ukkvSi1MssyOsSNPyQhGKRr6Kbr1zWAhqzgH4B6uAb_wEYJ7Yo0PzehgxoFKACSjX0VlkDnQAkCOnuae2gE7y9pl903XJq6TjKHc-psCVqDW_k/s1600/Haskell.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtjRKmCzs9ayuSUSRfkIP42tZLyfo37ukkvSi1MssyOsSNPyQhGKRr6Kbr1zWAhqzgH4B6uAb_wEYJ7Yo0PzehgxoFKACSjX0VlkDnQAkCOnuae2gE7y9pl903XJq6TjKHc-psCVqDW_k/s400/Haskell.jpg" /></a></div>
<p>
Finally we could learn more advanced features of <b>Apache Spark's RD</b>D thanks to Paweł Włodarski (<a href="https://twitter.com/PawelWlodarski">https://twitter.com/PawelWlodarski</a>)
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9aWyuI5umq1xfDkqCMuGkhl-FvgnhyqTh1ZFyTwQvN2t4bZFs3rbQNj64BWJlFoUhJVYTlkYWH7pXiC0TfkQkuAOHa8aDwh4yt1IEZAa2nXF3eIS79qAof5f19QHxuAFT17UhjygUwOw/s1600/sparkRDD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9aWyuI5umq1xfDkqCMuGkhl-FvgnhyqTh1ZFyTwQvN2t4bZFs3rbQNj64BWJlFoUhJVYTlkYWH7pXiC0TfkQkuAOHa8aDwh4yt1IEZAa2nXF3eIS79qAof5f19QHxuAFT17UhjygUwOw/s400/sparkRDD.jpg" /></a></div>
<h1> JUG Lodz on IT Fares </h1>
<p>
We gave also two presentation on a local IT Faires. First one was about Monad by Artur Czajka
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijxlAfw26LWNG7Cpt9jKZhiGDoeuZmwZy8u4VO4Ya5p_OkQpDCZp2ZvXSNKR-6WtuxybXXEjlmFOonF9p4SVliep79WTfYKs6C83xG_GEDOrr77u_59YY6KHS0h0wOwAckPJgCUjPJ9VU/s1600/ITFaires1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijxlAfw26LWNG7Cpt9jKZhiGDoeuZmwZy8u4VO4Ya5p_OkQpDCZp2ZvXSNKR-6WtuxybXXEjlmFOonF9p4SVliep79WTfYKs6C83xG_GEDOrr77u_59YY6KHS0h0wOwAckPJgCUjPJ9VU/s400/ITFaires1.JPG" /></a></div>
</p>
Second one was an introduction to Apache Spark by Paweł Włodarski
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnpIT0OD0PnMI5sOxVa8pGJYC-mzxw3xMqYmtpzkFhSQy32-_qGNsBueR5oJSN9WlBnwvYi5LfATq-uU3fqgN_3Uqu9kcu0jMJzlwiNqz2ozzj-jRrglN3_yRxhX0veH9WNGfKnKgNO6Q/s1600/ItFaires2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnpIT0OD0PnMI5sOxVa8pGJYC-mzxw3xMqYmtpzkFhSQy32-_qGNsBueR5oJSN9WlBnwvYi5LfATq-uU3fqgN_3Uqu9kcu0jMJzlwiNqz2ozzj-jRrglN3_yRxhX0veH9WNGfKnKgNO6Q/s400/ItFaires2.JPG" /></a></div>
<h1>Learn to teach - why just having a knowledge is not enough </h1>
<p class="akapit">
There is a lot of very smart people in Lodz however being smart is not enough to share knowledge with community. You need also to have proper "pedagogical skills". That's why for the first time at JUG we had a chance to gain "meta knowledge" about sharing knowledge. Thanks to Marta Wachołek (<a href="https://pl.linkedin.com/in/martawacholek">https://pl.linkedin.com/in/martawacholek</a>) and Maciej Jabłoński (<a href="https://twitter.com/j4b0l">https://twitter.com/j4b0l</a>) JUG Members have a possibility to train their presentation skills during public speaking workshops.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYrctSN35wx9wFDmBpiqducz3JNV_6jBA8Fh6hO43QJeAbbZzf5RcCUbd31DkVvN_Wwb6hWNfxfuQ7gVMIZ0nOaKKFvSo6zo0N5cobX8ubKV8gJWb0-XIFdVcPG3sbksG6ROVkOpR1Krk/s1600/przemowy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYrctSN35wx9wFDmBpiqducz3JNV_6jBA8Fh6hO43QJeAbbZzf5RcCUbd31DkVvN_Wwb6hWNfxfuQ7gVMIZ0nOaKKFvSo6zo0N5cobX8ubKV8gJWb0-XIFdVcPG3sbksG6ROVkOpR1Krk/s400/przemowy.jpg" /></a></div>
<h1>What's next?</h1>
<div>
It is already December 6th when I'm writing this word so an excellent presentation about JVM internals prepared by Jarek Pałka already took place. Soon we will have another Haskell and Spark workshops, we will see Lambda Architecture and for the first time Security Workshops will be organized. Stay Tuned! <a href="http://www.meetup.com/Java-User-Group-Lodz/">http://www.meetup.com/Java-User-Group-Lodz/</a>
</div>
<div style="text-align: center">
***
</div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOPugTL6JFBeZlfwf5z08Sc2dzneqFuCMJDRYs7zkDmiUCYMSUiC2BYtPMMlW3XDVND86vn7AjFthTj5_yVwLAolOsx7Sr11jJ6hxPPCMr1pMYMwytFcWdx9WOlSDev4W486xTotJKkYs/s1600/CRMIS.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOPugTL6JFBeZlfwf5z08Sc2dzneqFuCMJDRYs7zkDmiUCYMSUiC2BYtPMMlW3XDVND86vn7AjFthTj5_yVwLAolOsx7Sr11jJ6hxPPCMr1pMYMwytFcWdx9WOlSDev4W486xTotJKkYs/s400/CRMIS.jpeg" /></a></div>Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-32614448247240449582015-12-04T05:12:00.002-08:002015-12-04T12:15:51.544-08:002015-12-03 Czterej jeźdźcy apokalipsy, gdy Armagedon w JVM nadchodzi<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<iframe width="480" height="400" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/boijQxeWubc/0.jpg" src="https://www.youtube.com/embed/boijQxeWubc?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br /></div>
Stowarzyszenie JUG Łódźhttp://www.blogger.com/profile/07311784699047317038noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-47838585328130634182015-11-29T13:38:00.001-08:002015-11-29T13:49:34.611-08:002015-11-14 Recenzja z Global Day of Code Retreat<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" id="docs-internal-guid-6cd44c35-552c-adad-a657-bcc11c916a0c" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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!</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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.</span></div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">Czym jest Global Day of Code retreat?</span></h3>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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.</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;"> </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">Wszystkie warsztaty przebiegają według algorytmu:</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">1. Prosty programistyczny problem -</span><a href="https://pl.wikipedia.org/wiki/Gra_w_%C5%BCycie" style="text-decoration: none;"><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;"> </span><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline;">Gra w życie Conway-a</span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">2. Pracuj w parze żeby rozwiązać problem</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">3. Prowadzący dokłada ograniczenia żeby zmusić Was do zmiany podejścia</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">4. Po każdej rundzie (45min) kasujemy kod, zmieniamy parę i robimy wszystko jeszcze raz!</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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.</span></div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">Warto było?</span></h3>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">Dzięki temu każdy z uczestników miał okazję przećwiczenia:</span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">podejścia Clean Code </span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">tworzenia oprogramowania zgodnie z zasadą TDD</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">programowania przy użyciu funkcyjnego paradygmatu </span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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! ;)</span></div>
</li>
</ul>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">Międzynarodowe towarzystwo</span></h3>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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.</span></div>
<br />
<br />
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline;">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.</span></div>
</div>
Wiktor Sztajerowskihttp://www.blogger.com/profile/00937461295586540154noreply@blogger.com0tag:blogger.com,1999:blog-4051009680712452564.post-4163571583196305762015-11-13T05:33:00.000-08:002015-11-13T05:33:02.794-08:002015-10-12 Krakowscy kowboje czy łódzcy wojacy?!<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span><br />
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> 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.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> 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.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> 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.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> 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.</span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> 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.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<br /></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> 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!</span></div>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></div>
Anonymoushttp://www.blogger.com/profile/00761223334398602014noreply@blogger.com2tag:blogger.com,1999:blog-4051009680712452564.post-84057064091143672982015-11-01T10:48:00.002-08:002015-11-01T10:57:49.884-08:00October @JUGLodz - Java8,Java9,Haskell,Mongo and many more!<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="akapit">
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.
</div>
<h1>
CompletableFuture and Java8</h1>
<div class="akapit">
We started with an excellent presentation conducted by the speaker of <a href="http://www.confitura.pl/">Confitura</a> conference - Tomasz Nurkiewicz (<a href="https://twitter.com/tnurkiewicz">@tnurkiewicz</a>)
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ37GYtaAGiSOPLjklTyJvRHp8Lw16gKkHkPKlPNu634j2RDXxBmme77tyCdJcxMkgHzm7cpyZROKAPT6ofs0QwAJYYFlcjo9FW7qZWmEJJNSWnQHK98q5OOPRjqQg7s5pCsd2MbjZkO8/s1600/meetupFeatures.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ37GYtaAGiSOPLjklTyJvRHp8Lw16gKkHkPKlPNu634j2RDXxBmme77tyCdJcxMkgHzm7cpyZROKAPT6ofs0QwAJYYFlcjo9FW7qZWmEJJNSWnQHK98q5OOPRjqQg7s5pCsd2MbjZkO8/s400/meetupFeatures.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSeSiS5kPHLRepkdrHfWXe2KuhAysTaUzSKmbdfVl22JQFbWt6vi1QuRUcOYtj_0UXkXwtHDhb8WqN1HaGGMn4pBQxEZHPdbhVQh-piLRF2w15IoxCdSGqPtvdJ0hKUzAhNqEVNVuKU14/s1600/Futures1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSeSiS5kPHLRepkdrHfWXe2KuhAysTaUzSKmbdfVl22JQFbWt6vi1QuRUcOYtj_0UXkXwtHDhb8WqN1HaGGMn4pBQxEZHPdbhVQh-piLRF2w15IoxCdSGqPtvdJ0hKUzAhNqEVNVuKU14/s400/Futures1.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYgAdqi2hdH8ShBsY95cDnenEAAlGdcxts7u-U0AyMGfVNNlj54aPLCWVAOyfwlJN-iruOAuNBoVU3SxmBpFcKapLVw10GJkYnM6063mxl_-o0rfHvtAv9x_LJGKJcSGkPj2P73hmNzHo/s1600/Futures2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYgAdqi2hdH8ShBsY95cDnenEAAlGdcxts7u-U0AyMGfVNNlj54aPLCWVAOyfwlJN-iruOAuNBoVU3SxmBpFcKapLVw10GJkYnM6063mxl_-o0rfHvtAv9x_LJGKJcSGkPj2P73hmNzHo/s400/Futures2.jpg" /></a></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/5xPLkUCHn5Y" width="560"></iframe>
<br />
Tomek is writing a book about <b>RxJava</b> so if you are interested just follow his profile on twitter!
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNs6_VbQGIksliKXs5XvLV2WM3auoixULS_wrygrBBeScYVhD0xzkc5IK4HSQKP81IGiii4CY8xQubOOLucTY5Yv92l5BoQkPW3heMvY6EWL1AgDzP14UUP1JqdfkX9fSLyDrgsFukEaU/s1600/tnurkiewcz_book.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNs6_VbQGIksliKXs5XvLV2WM3auoixULS_wrygrBBeScYVhD0xzkc5IK4HSQKP81IGiii4CY8xQubOOLucTY5Yv92l5BoQkPW3heMvY6EWL1AgDzP14UUP1JqdfkX9fSLyDrgsFukEaU/s400/tnurkiewcz_book.jpg" /></a></div>
<h1>
MongoDB and Java Developers</h1>
<div class="akapit">
One week later Wiktor Sztajerowski <a href="https://twitter.com/WSztajerowski">@WSztajerowski</a> showed us how Java developer can use MongoDB in his daily work.
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhancg6dC3jTExfXa_p3_VUvsfrEdj-CgtVbCCtcd5Iuo-knxvkToOYealImTYJGr8VjxMD2JcWz2d-b2v2zOXJOzKaxp0_zTRBR0B05mrS4rjUaXnpioxiLfrz9CtEkZMjCmlnTqb-ENw/s1600/meetupMongo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhancg6dC3jTExfXa_p3_VUvsfrEdj-CgtVbCCtcd5Iuo-knxvkToOYealImTYJGr8VjxMD2JcWz2d-b2v2zOXJOzKaxp0_zTRBR0B05mrS4rjUaXnpioxiLfrz9CtEkZMjCmlnTqb-ENw/s400/meetupMongo.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_B0si6IWCqrxU2961_EH1gjkiYuPyiPpY17vpCdFCKYgRMpxVuYxO2kRqpV8tRmQe41uQc0gDvXAWTHA7XpOKMoszMHS3e8rSfSpjHH2Z78FLCNzTsBBPP5TgByKcZvvnIydyaqR3Kq4/s1600/mongoDB.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_B0si6IWCqrxU2961_EH1gjkiYuPyiPpY17vpCdFCKYgRMpxVuYxO2kRqpV8tRmQe41uQc0gDvXAWTHA7XpOKMoszMHS3e8rSfSpjHH2Z78FLCNzTsBBPP5TgByKcZvvnIydyaqR3Kq4/s400/mongoDB.jpg" /></a></div>
<b>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.</b>
<br />
<h1>
Java 9 is coming</h1>
We started second half of October with great presentation about Java 9. Dominik Przybysz <a href="https://twitter.com/alien11689">@alien11689</a> presented many new interesting features
which are going to be introduced "After Java 8" like modern modularisation with project <b>jigsaw</b> or REPL similar to those already available in Scala, Clojure or Haskell.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEger4OY30xm1Vg9xjOqp57qS23jodjq1pBCUHgwSpHYCa9Cmy7MCAzYKprwx9BKbKRG3FY2in0GmfYXjaJaIUeDkCBHEQiXMEo-CnemVTd9fbr9lxO2D1hS5InWOm0XJEBDTOOA-X1tksA/s1600/meetupjava9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEger4OY30xm1Vg9xjOqp57qS23jodjq1pBCUHgwSpHYCa9Cmy7MCAzYKprwx9BKbKRG3FY2in0GmfYXjaJaIUeDkCBHEQiXMEo-CnemVTd9fbr9lxO2D1hS5InWOm0XJEBDTOOA-X1tksA/s400/meetupjava9.jpg" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhADTIrYRhuBOZkxT1sy29efMnWLlttbvV_x-w3U5-I682wya3FDQXIwdDT8bsNJsH2iY-sory5ItJP-JWdACFOeAN1cB8_DXg59xXKXi3xj51ACA3dtzrvUH6lc8riZPWus9CqGfFRL14/s1600/java91.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhADTIrYRhuBOZkxT1sy29efMnWLlttbvV_x-w3U5-I682wya3FDQXIwdDT8bsNJsH2iY-sory5ItJP-JWdACFOeAN1cB8_DXg59xXKXi3xj51ACA3dtzrvUH6lc8riZPWus9CqGfFRL14/s400/java91.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQP6rhIsvum9UTFWrzuV4JhZxNgVGS2tkxZrMPtamgqe41BDu_SAjR5NPlPAUCjUxMLRrmdqVxFr3KhDaph8rvWxrknZL886b5nD7_0m26Q8SohW6Cu8FtL6CCVaM1jImcnnMdIMYhwTU/s1600/java92.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQP6rhIsvum9UTFWrzuV4JhZxNgVGS2tkxZrMPtamgqe41BDu_SAjR5NPlPAUCjUxMLRrmdqVxFr3KhDaph8rvWxrknZL886b5nD7_0m26Q8SohW6Cu8FtL6CCVaM1jImcnnMdIMYhwTU/s400/java92.jpg" /></a></div>
<h1>
Rise of Haskell Community</h1>
<div class="akapit">
In October we witnessed birth of new "Functional" community grouped around very advanced and powerful language - <b>Haskell</b>. Artur Czajka <a href="https://twitter.com/tr00per87">@tr00per87</a> shown during his lecture that mathematics can be very useful in our practical daily work.
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnMOquZo5eh4kd_2GbPy1mC1GXHeeY_RcyrWwyMun-BlrLCttMmk5FHNsqQv7AEmtftK4kc-ASlmLExnZ6FrXYXMfwftajLB98JlJMv5dvFDeozGkpCvubE-l16PChHjRqz97c4wLYWBU/s1600/meetupMonady.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnMOquZo5eh4kd_2GbPy1mC1GXHeeY_RcyrWwyMun-BlrLCttMmk5FHNsqQv7AEmtftK4kc-ASlmLExnZ6FrXYXMfwftajLB98JlJMv5dvFDeozGkpCvubE-l16PChHjRqz97c4wLYWBU/s400/meetupMonady.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHT-Q9h0wRi_D1A0yumn7WOCa3BkXL_8ApxRlT5wkUrbKBcNTGc9PHR2XnnQIGfIei-R2TqdViU7VcJJezVshR1Du7UPiIKBkug7gPrQSHQyik5tZ6EfgWcc8QGKjIH8KuvnIXEsbcFYo/s1600/haskell_wyklad.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHT-Q9h0wRi_D1A0yumn7WOCa3BkXL_8ApxRlT5wkUrbKBcNTGc9PHR2XnnQIGfIei-R2TqdViU7VcJJezVshR1Du7UPiIKBkug7gPrQSHQyik5tZ6EfgWcc8QGKjIH8KuvnIXEsbcFYo/s400/haskell_wyklad.jpg" /></a></div>
Beside standard lecture we also had chance to learn practical side of Haskell during BYOL Workshops
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_8tNn-wwRt2ZtQn_BDo6HUbef_WGky_Mb6OeFS30zgBNs1bNwu21QvSqfHTvZ3Atct7NDWQztDqYTxax3aZ0KAYE9PfwY7ePxH5ZHSDISZKSF9L8RNcJAecjnzZvMq1lmXXS2r9wB2wM/s1600/haskell_workshop.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_8tNn-wwRt2ZtQn_BDo6HUbef_WGky_Mb6OeFS30zgBNs1bNwu21QvSqfHTvZ3Atct7NDWQztDqYTxax3aZ0KAYE9PfwY7ePxH5ZHSDISZKSF9L8RNcJAecjnzZvMq1lmXXS2r9wB2wM/s400/haskell_workshop.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKFSG2LQGXmj74t7I_-MhtRz0e47_tj_-vSaXtUumirvTARCGuRhuBwhp0zWLAMbxWKfQNzaEItqkKmIkIWVsBfAtCWRn8xuguCXxwajglZb_r4P-Z2AmdI7bFBdGBgDiBiv9Cz0GXBb4/s1600/haskell_logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKFSG2LQGXmj74t7I_-MhtRz0e47_tj_-vSaXtUumirvTARCGuRhuBwhp0zWLAMbxWKfQNzaEItqkKmIkIWVsBfAtCWRn8xuguCXxwajglZb_r4P-Z2AmdI7bFBdGBgDiBiv9Cz0GXBb4/s400/haskell_logo.jpg" /></a></div>
<h1>
Jugtoberfest</h1>
<div class="akapit">
October ended with <i>"JUGtober"</i> - a mix of interesting presentations, beer and tasty food.
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8TrMAaXD73DX-UVNmZVheoTsA2TRREZgOpLJpQZ3unWg1W-Lk8v1lI8IOopMeRKi6Yr3INoEWj2uOvVzRsgPi9qNe-o3KtUmWBwQXm4ZfB-RMMnWpYWSjAWhdBEWVS0Mt3YVidoP3lj8/s1600/jugtober1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8TrMAaXD73DX-UVNmZVheoTsA2TRREZgOpLJpQZ3unWg1W-Lk8v1lI8IOopMeRKi6Yr3INoEWj2uOvVzRsgPi9qNe-o3KtUmWBwQXm4ZfB-RMMnWpYWSjAWhdBEWVS0Mt3YVidoP3lj8/s400/jugtober1.jpg" /></a></div>
We had a chance to see a presentation made by Marcin Kowalski <a href="https://twitter.com/marcinkowalski">@marcinkowalski</a> about Slick - quite new approach towards data layer in comparison to what we did with Hibernate for last 10 years
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglg_6gTVs6G98llPPnpniDuaUI3aqukB9ezD14ULgDBQjLT6HcLPyL-9nCuNTNBpp6kV8rIQzAX0NAsipLDxIGy_DfJJisIXZDTipICYXudzxYaEJONZp4wmSIySYXViYLjBkexhotN_I/s1600/jugtober2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglg_6gTVs6G98llPPnpniDuaUI3aqukB9ezD14ULgDBQjLT6HcLPyL-9nCuNTNBpp6kV8rIQzAX0NAsipLDxIGy_DfJJisIXZDTipICYXudzxYaEJONZp4wmSIySYXViYLjBkexhotN_I/s400/jugtober2.jpg" /></a></div>
Next one was Michał Ostruszka <a href="https://twitter.com/mostruszka">@mostruszka</a> - he presented his rich knowledge about all application layers in the presentation about modern validation mechanisms.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDX5_0AJlOF66s80ckjSVI5fdnYL2meeEK0xxItTBwkykoYIEKP3UFkH0Ls9FXzH7GeigIQ8_CKtEc6-uZYygPFVSmGZXlvE0_Idkv3_ETTiV8jHctfYl9ORnrsyy9iQJ8AmbqbWLyITE/s1600/validation.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDX5_0AJlOF66s80ckjSVI5fdnYL2meeEK0xxItTBwkykoYIEKP3UFkH0Ls9FXzH7GeigIQ8_CKtEc6-uZYygPFVSmGZXlvE0_Idkv3_ETTiV8jHctfYl9ORnrsyy9iQJ8AmbqbWLyITE/s400/validation.jpeg" /></a></div>
Third lecture enriched our knowledge about front end layer and the world of 1000 javascript frameworks - a spectacle by Kuba Waliński <a href="https://twitter.com/kubawalinski">@kubawalinski</a>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGOB68DuM9a4tqwrUX9X-5UVddjFoLGzcC6PGyVQA0f-PlBC27T2Dl5lJRDwB2CIuF5TrBg8QAW9FzynWYZ33ojrUUVnrRgtl0wWrRlNe9RVHmcQ1GcMchJWAgfncYytm9nPTl3Htkyw/s1600/front2.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGOB68DuM9a4tqwrUX9X-5UVddjFoLGzcC6PGyVQA0f-PlBC27T2Dl5lJRDwB2CIuF5TrBg8QAW9FzynWYZ33ojrUUVnrRgtl0wWrRlNe9RVHmcQ1GcMchJWAgfncYytm9nPTl3Htkyw/s400/front2.jpeg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj330qcWXQjvC63IyU8-mtNwKUOnQ9ZfJtPaDB_qdeqJL5HjsbmzajJGOxJ9e0HqnKewRKOJSVcNKDQW6ijFM0G2cESxYKc2n57EifUMeFFKjfDrm1GaSNrIY4z9xAc_ZkxQ8EBCo-vi0/s1600/front1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj330qcWXQjvC63IyU8-mtNwKUOnQ9ZfJtPaDB_qdeqJL5HjsbmzajJGOxJ9e0HqnKewRKOJSVcNKDQW6ijFM0G2cESxYKc2n57EifUMeFFKjfDrm1GaSNrIY4z9xAc_ZkxQ8EBCo-vi0/s400/front1.jpg" /></a></div>
Last presentation was mine about Functional Programming.(<a href="https://twitter.com/PawelWlodarski">PawelWlodarski</a>)
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmtUK-Xsvd_mH4niKLTMpagrSOnoUn_PWdyJWEBhibwdElsWkYKqhKCxdYhkIeaiN5sj6QZAT4A-rbZd8BmIkyoFsKmUb3fCq7z2b3oHTZ0eqqm7gNnLZrOM2IlkWastA4cvRaTR3U4j4/s1600/wlo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmtUK-Xsvd_mH4niKLTMpagrSOnoUn_PWdyJWEBhibwdElsWkYKqhKCxdYhkIeaiN5sj6QZAT4A-rbZd8BmIkyoFsKmUb3fCq7z2b3oHTZ0eqqm7gNnLZrOM2IlkWastA4cvRaTR3U4j4/s400/wlo.jpg" /></a></div>
<h1>
What next? Akka, AOP, Haskell, CodeRetreat and DataScience</h1>
<div class="akapit">
In November we are going to have a special guest - <a href="http://lanyrd.com/profile/adibolb/">Adrian Bolboaca</a> who accept our invitation to host this year's <b>Global Day of Code Retreat </b> event. GDCR will take place on Saturday 14th.
</div>
<br />
<ul>
<li>Akka is coming back on Monday 2nd : <a href="http://www.meetup.com/Java-User-Group-Lodz/events/226205136/">Akka persistence meetup</a> </li>
<li>Aspect Oriented Programming on Thursday 5th: <a href="http://www.meetup.com/Java-User-Group-Lodz/events/226145703/">Aspect Oriented Programming meetup</a> </li>
<li>Haskell part 2 : <a href="http://www.meetup.com/Java-User-Group-Lodz/events/226254557/">Haskell Part 2 meetup</a> </li>
<li>"Legacy Code is Fear" by <a href="http://lanyrd.com/profile/adibolb/">Adrian Bolboaca</a> - <a href="http://www.meetup.com/Java-User-Group-Lodz/events/226260259/">Legacy Code is Fear meetup</a> </li>
<li><b>Global Day of Code Retreat </b> with Adrian Bolboaca as facilitator : <a href="http://www.meetup.com/Java-User-Group-Lodz/events/226169070/">Global Day of Code Retreat meetup</a></li>
</ul>
<br />
<h2>
Data Science starts</h2>
Spark workshops were continued in October and in November - thanks to new group - <a href="http://www.meetup.com/Data-Science-%C5%81od%C5%BA/">Data Science Lodz</a> it should gradually move from simple mechanical exercises on Spark towards solving real world analytic problems. Stay tuned!
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhExLkr7uY1yET6HDBjNzneq-OSe9V1HOaBY1kpqxvgJtD4vsR5EBSqkpkFIV-FPZ3kOP1vE73wO97yur1zJ1VJmSWqJ9IkAP9O_32Y5NlbD9-g8fywqHgSejCmtTt0HmGFHwkFEbCwg5w/s1600/spark_cwiczenia.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhExLkr7uY1yET6HDBjNzneq-OSe9V1HOaBY1kpqxvgJtD4vsR5EBSqkpkFIV-FPZ3kOP1vE73wO97yur1zJ1VJmSWqJ9IkAP9O_32Y5NlbD9-g8fywqHgSejCmtTt0HmGFHwkFEbCwg5w/s400/spark_cwiczenia.jpg" /></a></div>
<h1>
How to contact us</h1>
<div class="akapit">
If you want to present something on JUGLodz then just contact us : <b>contact@juglodz.pl</b></div>
</div>
Paweł Włodarskihttp://www.blogger.com/profile/04891037231290616803noreply@blogger.com0