Sunday, September 27, 2015

Akka, Gradle and Spark – September 2015 @JUGLodz

After summer break – hungry for new knowledge – programmers community in Lodz started new season! The main topic of this month was “Akka framework” . Our first special guest was Arek Burduch (https://twitter.com/ark_adius) from Touk (https://twitter.com/TouK_pl) who came to us from Warsaw to present his practical experience with Akka.

And one Week later – Cezary Draus (https://twitter.com/CezaryDraus) did a presentation about Spock – a testing framework written in Groovy which is very expressive and can be easily used in Java Projects.

There is a famous quote from Confucius (at least THE INTERNET says it's from Confucius ;))

“I hear and I forget. I see and I remember. I do and I understand.”

So on Jug Lodz we also had a chance to participate in practical workshops. First of all Robert Budźko (https://twitter.com/rbudzko) organized workshops “Actors Fundamentals” which in very good (and practical) way explained to participants general pros and cons of Akka actor framework

Last workshop was prepared by Pawel Wlodarski (https://twitter.com/PawelWlodarski) - an introduction to BigData world with modern Apache Spark framework. We had a chance to understand Spark origins, general philosophy and it's place in BigData ecosystem.

What's next?

In October it will be Lódź JUGs pleasure to host the best speaker of Confitura 2015.! Tomasz Nurkiewicz will tell us about CompletableFutures and Java reactive programming principles. Few days later Functional programming Mothershop will visit Łódź! Artur Czajka is going to start series of Haskell workshops.

Friday, September 11, 2015

2015-09-11 Geecon microservices

Konferencja Geecon Microservices na którą miałem przyjemność pojechać dzięki uprzejmości Łódzkiego JUGa odbyła się 11 września 2015 w Sopocie.
Miała ona miejsce w Multikinie nieopodal słynnego sopockiego molo. Była to pierwsza edycja tej konferencji, a także pierwsza konferencja IT w Sopocie o której słyszałem.
Multikino Sopot
Korytarz ze stanowiskami sponsorów gdzie odbywały się liczne konkursy

Mimo, że konferencja trwała jeden dzień i była tylko jedna ścieżka wykładowa organizatorom udało się w tym czasie zaplanować aż 9 prezentacji. Szybko się zarejestrowałem, a w giftbagu znalazłem nietypowy prezent nawiązujący do miejsca w którym odbywała się konferencja - plażowy ręcznik z napisem "SOLID towel to keep you DRY" :)

Początek konferencji
Po krótkim rozpoczęciu konferencji na scenie pojawił się Fred George. Przed prezentacją pomyślałem, że bardzo rzadko nadarza się okazja by posłuchać kogoś, kto ma tak duże doświadczenie w tej branży i będzie to na pewno bardzo ciekawa prezentacja - nie zawiodłem się. Była to prezentacja bardzo mocno oparta na tych 46 latach doświadczenia; poparta wykresami opowieść o tym w jaki sposób następowała ewolucja w tworzeniu i dostarczaniu oprogramowania: od samego podejścia, przez serwery, bazy danych i w końcu same usługi - tak by było coraz szybciej i coraz lepiej bo... konkurencja nie śpi :)

Fred George na scenie

Na licznych prelekcjach można było dowiedzieć się jak wyglądała droga przeróżnych firm do mikroserwisów i jak przedstawia się architektura ich systemów. Przedstawiono zalety i wady mikroserwisów, mnóstwo cennych rad dotyczących budowania systemów na nich opartych, rad pochodzących z rzeczywistych doświadczeń/problemów w budowaniu takich systemów.

Struktura mikroserwisów w firmie Gilt zajmującej się wyprzedażami modowych produktów
Struktura aplikacji opartej na mikroserwisach w firmie 4finance
Konferencję zakończyła prezentacja Erika Dörnenburg'a. Opowiadał o tzw. architektach oprogramowania: o sensowności tej roli (większość rzeczy powinni być w stanie robić sami developerzy), a także samej nazwy tej roli pochodzącej od osób projektujących budynki. Oprogramowanie przypomina bardziej miasta niż budynki - w końcu dostosowuje się stale do sytuacji. Pojawiła się też propozycja porównania nie do architekta, ale do ogrodnika - sadzącego i pielęgnującego swoje stale rozwijające się rośliny.
Slajd z prezentacji Erika Dörnenburg'a
Jestem bardzo zadowolony z pobytu na tej konferencji, zarówno organizacja jak i poziom merytoryczny w mojej ocenie stały na wysokim poziomie. A wybrane miejsce to strzał w dziesiątkę - dodatkowo można było zobaczyć Morze Bałtyckie :)

Thursday, September 10, 2015

Embrace the bleeding edge with JUG Lodz

“Learn or Die” - there is no industry to which this Edward Hess’s quote applies more than our dear Software Development. And while we all sometimes get tired of the pace at which software technology advances, remember: Staying behind is the greatest harm you can do to your career.

At JUG Lodz we infect people with a passion to technology, programming and self improvement. We believe our city is becoming a world-class source of brilliant engineers and it is only fair to help to facilitate and speed up this process.

What is JUG Lodz

Geography: Situated at almost exact geometrical center of Poland, Lodz is the country’s third largest city. It is the nexus of our JUG community’s activity, although our influence reaches far beyond the city borders.

Mission : Propagate modern education and technology.

When : Right now!

What can you expect?

Concurrency, CompletableFeatures in Java 8, Spock , Functional programming and many more interesting topics.

Moreover there will be many occasions to improve development skills during practical workshops. Everyone will be given a chance to gain knowledge about new “hot” technologies like Spark, Akka, Go or enrich technical knowledge by learning purely functional Haskell.

We will add new meeting to our meetup channel regularly (http://www.meetup.com/Java-User-Group-Lodz), so stay tuned and participate. “Software is eating the world” join us to celebrate it.

Friday, July 3, 2015

2015-06-03 Devoxx UK 2015

W dniach 17-19 czerwca w Londynie miała miejsce brytyjska edycja konferencji Devoxx - Devoxx UK 2015 (http://www.devoxx.co.uk/), a na niej: prawie 900 niezwykłych dżentelmenów (i dam również) -
programistów (hasłem konferencji było: The League of Extraordinary Developers) z 32 krajów, 111 prelegentów i kilkanaście firm/sponsorów z dziedziny IT i nie tylko.

Konferencję zorganizowano w Business Design Centre w Londynie. Samo BDC powstało ponad 150 lat temu w celu organizacji targów rolniczych i innych podobnych imprez. Całość zaadaptowano później na centrum konferencyjne, biura i sale wystawiennicze, ale pozostała widoczna wciąż zabytkowa architektura:



Pierwszy dzień to tzw. University Day a w nim trzygodzinne prelekcje i "hands on labs". Ponieważ mój udział w konferencji zaczął się dzień później, więc pozwolę sobie wkleić tylko fragment opisu ze strony konferencji: Your chance to get under the skin of a subject with training on tools, techniques and specific technologies. Choose between intensive, deep-dive University sessions or Hands on Labs. Both last 3 hours and give you rich insights.

18 czerwca miało miejsce faktyczne rozpoczęcie konferencji. Po podróży metrem i spacerze z mapą w ręku zobaczyłem widok znany z Googla - BDC:

Business Design Centre

Po zarejestrowaniu, otrzymaniu identyfikatora i kilku pierwszych gadżetów ruszyłem do audytorium na pierwszy "keynote" konferencji. Spóźniony o trzy minuty zastałem salę wypełnioną po brzegi oraz zespół muzyczny starający się - z powodzeniem - zastąpić poranną kawę (youtube):




Następnie jeden z organizatorów Devoxx Mark Hazell (współzałożyciel Voxxed.com) rozpoczął konferencję i przedstawił "Nadzwyczajnych".

Liga Nadzwyczajnych w komplecie

Na środku - Richard Warburton (Monotonic Ltd, autor Java 8 Lambdas, http://insightfullogic.com), pierwszy z prawej - Mani Sarkar (http://neomatrix369.wordpress.com)

Keynote "The Extraordinary Team of Developers" prowadzili Trisha Gee (Jetbrains, JUG Sevilla, https://plus.google.com/+TrishaGee) i Daniel Bryant (OpenCredo, London Java Community, https://plus.google.com/+DanielBryantUK). Ilustrując przykładami opowiadali o znaczeniu pojedynczych osób w zespole - tak developerów jak i managerów, ze w TEAM jest "i" (jeśli się dobrze poszuka), jaka droga czeka początkującego programistę do bycia ekspertem oraz jak liczebność zespołu i wielkość środków wpływa na tempo i jakość powstającego projektu (wbrew moim przypuszczeniom zależność nie tylko nie jest liniowa, ale nawet i nie monotoniczna).

I in Team


Prezentacje odbywały się w pięciu salach równocześnie i trudno było zdecydować, które z nich - z żalem - pominąć. Przez cały czas można było również porozmawiać z wystawcami prezentującymi swoje oprogramowanie czy sprzęt (naturalnie wszystko związane z Javą). Byli to zarówno potentaci typu Oracle czy IBM jak i mniejsze firmy. Prezentowane produkty to m.in. frameworki EE (CUBA platform, TomEE), narzędzia wspomagające współpracę i wersjonowanie (Perforce Helix), narzędzia do statycznej analizy kodu (Coverity), szereg narzędzi związanych z IoT (IBM Bluemix) i inne, np. iText.

IBM Bluemix IoT - programowanie odczytu z sensorów


Wśród uczestników przeprowadzono też foto-ankietę - kiedy napisałeś pierwszą linię w Javie. Jak widać są i tacy, którzy zaczęli całkiem niedawno (rok 2015 wcale nie był pusty, ale nie ma go w kadrze). A moje zdjęcie jest gdzieś na środku.
Ankieta: Wrote my first line of Java code in...
...2005


Kilka wybranych prezentacji, w których udało mi się (lub nie) wziąć udział:

- Java Generics: Past, Present and Future - Raoul-Gabriel Urma i Richard Warburton przypomnieli jak wyglądało programowanie w Javie przed wprowadzeniem generyków oraz co czeka nas w przyszłości, m.in. generyki dla typów prostych (List<int>)

Ja i Richard Warburton


- "Catch me if you can" - Java on wearables - Gerrit Grunwald: "oracle evangelist"  opowiadał o wyzwaniach i trudnościach na jakie natrafił podczas konstrukcji programowanego w javie monitora dla biegaczy (w oparciu i Odroid-W, funkcje takie jak rejestracja i transmisja położenia, pracy serca, głosowy feedback, itp.)

- Design Patterns in the 21st Century - Samir Talwar pokazał w jaki sposób programowanie funkcyjne czy lambdy zmieniają znaczenie znanych i stosowanych od lat wzorców projektowych, np. fabryka abstrakcyjna.

- Express yourself with Java 8 - Benji Weber przedstawił swoje przemyślenia na temat użycia nowych funkcjonalności w Javie 8 i tworzenia zwięzłego kodu, prezentacja dostępna po adresem: http://benjiweber.co.uk/talks/express-yourself/#/

- Decoding the air around you with Java and $7 hardware - Bert Jan Schrijver pokazał w jaki sposób można odbierać sygnały z transponderów statków i samolotów, dekodować (tu oczywiście aplikacja w Javie) i prezentować w Google Maps. O ile Javy było tu mniej niż w innych prezentacjach, to wynik wizualizacji był zastanawiający: w trasach przelotu samolotów nad Holandią, skąd pochodzi prelegent, w ciągu kilku kolejnych dni nie widać żadnej regularności czy porządku.

- Let’s Get to the Rapids: Java 8 Stream Perfomance - Maurice Naftalin: tu okazało się, że strumienie z Javy 8 cieszą się zainteresowaniem nie tylko na spotkaniach JUG Łódź. Nim dotarłem na miejsce sala była pełna, łącznie z miejscami pod ścianą, na ziemi itp. a organizatorzy nie wpuszczali już więcej słuchaczy. Trudno, pozostaje poczekać na zapis wideo.

Organizacja konferencji była doskonała. Dobry dobór sponsorów/wystawców i prelegentów. Plan wystąpień dostępny w sieci (http://www.devoxx.co.uk/whats-on-by-day/) ulegał niewielkim zmianom, co widoczne było w aplikacji na telefon. Miała ona też dodatkową przydatną funkcję: pozwalała na zadawanie pytań w trakcie prezentacji. Dzięki temu można było, bez przerywania prowadzącemu, uzyskać odpowiedzi na swoje pytania pod koniec prezentacji.

Impreza bardzo udana! I tu wielkie podziękowanie dla JUG Łódź oraz organizatorów Devoxx za umożliwienie mi wzięcia udziału w tej rewelacyjnej konferencji za free :)

Na deser, dla tych którzy nie byli w Londynie, budowle widoczne na plakacie: kolumna Nelsona na Trafalgar Square, London Eye, The Shard i Big Ben.







Monday, May 25, 2015

2015-05-13 Krótka relacja z GeeCON 2015

Kraków, wiosenny poranek i kino, które na chwilę zapomniało o swojej głównej roli.
W takich warunkach, 13 maja, rozpoczęła się kolejna edycja konferencji GeeCON (http://2015.geecon.org/).  Około 1200 głodnych wiedzy uczestników związanych z najrozmaitszymi technologiami oraz 75 prelegentów, którzy przez 3 dni dzielili się swoimi doświadczeniami i przemyśleniami. Całość okraszona sporą dawką pozytywnego nastroju, odrobiną marketingu rekrutacyjnego, geekowymi gadgetami, konkursami i smacznymi przekąskami.



W każdym bloku czasowym uczestnicy mogli wziąć udział w jednej z czterech prowadzonych równolegle prezentacji. Duża liczba świetnych prelegentów i tematów niejednokrotnie skutkowała problemem przy wyborze sali. Otuchy dodawała myśl, że wszystkie prezentacje są rejestrowane i wkrótce będą dostępne.

Wśród tematów brylowały te o Reactive Manifesto (http://www.reactivemanifesto.org),
bazach NoSQL (http://cassandra.apache.org, https://hadoop.apache.org,
https://www.mongodb.org, http://orientdb.com ...) oraz mikroserwisach.
W moich oczach wszystkie prezentacje byly na dobrym lub bardzo dobrym poziomie.

Poniżej kilka tematów, które pojawiły się w ciągu tych 3 dni.

How to run technological revolution in semi-stagnant environment?

Wojciech Burkot, CTO w Groupie Allegro: 80% pracy jest wykonywana przez 20% pracowników. Tylko kolejne wyzwania pozwolą zatrzymać tych najefektywniejszych w firmie.

Life Beyond the Illusion of Present

Jonas Bonér (co-founder and CTO of Typesafe, http://jonasboner.com) wyjaśnił, iż
w dzisiejszych czasach zasoby takie jak moc obliczeniowa oraz pamięć są relatywnie tanie, dlatego można zrezygnować z aktualizowania danych historycznych (w tym z funkcji update i delete) na rzecz operacji insert, czyli wprowadzania wyłącznie nowych danych w postaci faktów. Ma to pomóc w budowaniu silnie rozproszonych i skalowalnych systemów rozproszonych. Jonas radził również aby budowane przez nas aplikacje „nie przepraszały“, ale aby były gotowe na awarie, które mogą pojawić się w trakcie ich użytkowania.

From Java to Scala in Two Months

Daniel Nowak (Head of Logistics Software at Zalando) opowiedział o projekcie, w którym 3 miesiące wystarczyły aby odpowiednio zmotywowany zespół programistów Javy przygotował i wdrożył mały produkt w Scali. Ciekawa historia o grupce ludzi, których zapał i ciekawość pozwoliły przełamać trudności związane z przygotowaniem całkowicie nowego produktu. Wykorzystali do tego nieznane im wcześniej narzędzia bazujące na Scali (m. in. Akka i Play Framework).



Implementing the Reactive Manifesto with Akka

Adam Warski (co-founder of SoftwareMill) w wyśmienity sposób pokazał jak zaimplementować aplikację zgodną z Reactive Manifesto. Nagranie z prezentacji zarejestrowanej podczas Lambda Days 2015 https://vimeo.com/121229692. Slajdy w IntelliJ IDEA były rozbrajające! :)



Building fault tolerant apps with Cassandra

Christopher Batey opowiedział o Apache Cassandra, jej podstawach, strategiach replikacji i partycjonowania danych przy pomocy algorytmu consisten hashing.

Lambda Core – HardCore

Jarosław Ratajski (człowiek w tajemniczej, czarnej pelerynie) pokazał jak przy pomocy
rachunku Lambda zdefiniować liczby naturalne oraz wartości logiczne true/false. Zaprezentował również swoje Javowe narzędzie do analizy wyrażeń Lambda (https://github.com/jarekratajski/badlam).


WordPress.com & The Future of Work

Scott Berkun z WordPress (http://scottberkun.com) stanowczo stwierdził, że praca zdalna może być efektywna. Bazował na doświadczeniach zespołów tworzących WordPress.com.

W czwartkowy wieczór (14-go) na uczestników czekało after party w klimatycznym lokalu Stara Zajezdnia. Szum technologicznego dialogu a gdzieś w tle turniej walczących robotów, sporo przefajnych ludzi! Było całkiem zabawnie:)



Tak! Imprezę zaliczam do bardzo udanych i z pewnością rozważę uczestnictwo w przyszłym roku:)
Na koniec bardzo gorąco dziękuję JUG Łódź oraz organizatorom GeeCON, bo to właśnie dzięki synergii tych 2 zespołów miałem okazję do wzięcia udziału w konferencji całkowicie bezpłatnie - yeah!!:)