Sunday, January 3, 2016

JVM Armageddon just before Christmas (and more ) - December @ JUG Lodz

Take a look at the picture below to feel the magic of December and then you can move on to read about presentations

JVM Armageddon

At the very beginning of the last month of 2015 we had a pleasure to listen to very experienced speaker - Jaroslaw Palka @j_palka - who told us many interesting facts about JVM internals.

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."

Haskell Continues

This time on Haskell Workshops Artur Czajka @tr00per87 was teaching about Functors, Monads and Monad transformers.

Haskell is a very good way to learn Functional Programming - more people should try it

For the first time in Lodz - Security Workshops

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!

In the second part we had one hour to hack small web application and find all security holes.

Spark & Dataframes

We also had a chance to learn about "bridge between Programming and Data Science" - Dataframes - during workshops prepared by Paweł Włodarski @PawelWlodarski

This workshops was organised in Business Link where we receive a free room with wifi!

Lambda Architecture

The last presentation in 2015 was made by Kamil Owczarek and the topic was "Lambda Architecture"

So we saw an alternate application architecture centered around Big Data

2016

We are going to start with :

Everyone's welcome!

Monday, December 14, 2015

2015-12-04 Droidcon - recenzja konferencji

JUG i wejściówka na Droidcon.


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.

Konferencje mobile.


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. 
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.

Miejsce organizacji konferencji.


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. 
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ć.

Wartość merytoryczna


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ą.
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. 
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”. 
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.

Podsumowanie


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.

Sunday, December 6, 2015

November @ JUGLODZ - learning by deleting and communities cooperation

Global Day of Code Retreat

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 (https://twitter.com/adibolb) as a host.

Adrian gain a lot of experience by hosting Global Day of code retreat year after year all over the world and this time he shared his knowledge with JUG Lodz. You can check participant's opinions here --> Interviews after GBDC.. Interviews are in polish but all if you don't know polish language - everyone was more than HAPPPY:)

Cooperation between communities

A day before GDCR Adrian presented another topic titled "Legacy Code is Fear" where he explained how you can defend your code against erosion.

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 (http://www.meetup.com/dev-LDZ/ & https://twitter.com/devldz). The idea was that each group invite one presenter so "our" speaker was Adrian and dev@Lodz invited Maciej Aniserowicz (https://twitter.com/maniserowicz) who spoke about CQRS.

Presentations

AOP

We started this month with a presentation made by Damian Sińczak (https://twitter.com/dsinczak) about AOP.

You can see the presentaiton here :

Docker

Piotr Kieszczyńs­ki (https://twitter.com/pkieszcz) has started a new cycle about Docker.

Ansible

We also had a chance to listen about Ansible during a presentation prepared by Dominik Stożek (https://twitter.com/dstozek)

And of course there is a presentation :

Workshops

First of all Akka returned to JUG Lodz thanks to Robert Budźko (https://twitter.com/rbudzko). This time we learned about akka persistence functionality

Haskell adventure continues thanks to Artur Czajka (https://twitter.com/tr00per87). This time we understood the power of Type classes and magic of Functors

Finally we could learn more advanced features of Apache Spark's RDD thanks to Paweł Włodarski (https://twitter.com/PawelWlodarski)

JUG Lodz on IT Fares

We gave also two presentation on a local IT Faires. First one was about Monad by Artur Czajka

Second one was an introduction to Apache Spark by Paweł Włodarski

Learn to teach - why just having a knowledge is not enough

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 (https://pl.linkedin.com/in/martawacholek) and Maciej Jabłoński (https://twitter.com/j4b0l) JUG Members have a possibility to train their presentation skills during public speaking workshops.

What's next?

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! http://www.meetup.com/Java-User-Group-Lodz/
***

Sunday, November 29, 2015

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

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

Czym jest Global Day of Code retreat?

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

Warto było?

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

Międzynarodowe towarzystwo

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



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

Friday, November 13, 2015

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


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

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

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

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

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

Sunday, November 1, 2015

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

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

CompletableFuture and Java8

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

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

MongoDB and Java Developers

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

Java 9 is coming

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

Rise of Haskell Community

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

Jugtoberfest

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

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

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


Data Science starts

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

How to contact us

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