09 maja 2013

Funkcyjny maj na Coursera, Atmosphere Conference, GeeCON, Warszawa JUG oraz JEEConf

Z tygodnia na tydzień zadania w szkoleniu Functional Programming Principles in Scala w serwisie szkoleniowym Coursera stają się boleśnie trudniejsze. Coraz częściej przekraczają moje możliwości intelektualne i cierpi moja dusza (ego) oraz ciało (z powodu przeciągającego się niedostatku snu).

Ale się nie poddaję! Dam radę i ostatnie wyniki są obiecujące - już gwarantują, że za zadanie z tygodnia 6 o anagramach, w którym należy wyznaczyć wszystkie anagramy podanego zdania, otrzymam co najmniej 8,46 na 10 możliwych. Została już tylko jedna funkcja do implementacji i będę w domu. Może nawet wcześniej w łóżku!

Brakuje mi najbardziej, aby z kimś pogadać na temat programowania funkcyjnego w Scali, ale nie odpuszczam również Clojure (i rzadziej F#). Język zaczyna mieć mniejsze znaczenie, bo zależy mi najbardziej na pełnym przyswojeniu myślenia funkcyjnego. Scala, Clojure czy F# to jedynie zestaw słów, którymi mogę wyrazić "zdania" funkcyjne.

I w nadchodzący poniedziałek, 13 maja, pojawię się w Poznaniu na konferencji Atmosphere Conference 2013 z tematem Functional web development with Git(Hub), Heroku and Clojure. Temat niespecjalnie rozwijany od ostatniego mojego wystąpienia z nim podczas łódzkiej konferencji Przyszłość w IT (właśnie przez "wtopienie" ze Scalą na Courserze). Wierzę jednak, że wiedza z alternatywnego języka Scala wzbogaci tę o Clojure, co sprawi, że poziom merytoryczny wystąpienia będzie wysoki. Ciekawym komentarzy po.

Z Poznania udaję się 15 maja do Krakowa na GeeCON 2013, w trakcie którego zamierzam kontynuować mój rozwój w kontekście programowania funkcyjnego. Poza udziałem w kilku prezentacjach o Scali i Clojure, dzięki uprzejmości organizatorów poprowadzę panel dyskusyjny Functional Programming - radical thinking shift and step towards clearer and reliable software. Kiedyś już uczestniczyłem w panelu jako mówca (z twórcą Spring Framework - Rod'em Johnson'em, James'em Strachan'em oraz Ted'em Neward'em w roli moderatora), a teraz przyszło mi się zmierzyć z trudniejszą rolą - moderowaniem panelu z udziałem znawców tematu programowania funkcyjnego. To 17 maja. Liczę na pomoc, bo animowanie dyskusji bez zainteresowania nią wśród uczestników może być kolejnym (majowym) wyzwaniem.

Później na chwilę wracam do Warszawy, aby 21 maja wystąpić na deskach grupy Warszawa JUG z tematem Moje pierwsze kroki w programowaniu funkcyjnym w Scali. Nie widzę go jeszcze opublikowanego na stronie grupy, ale wstępnie mam akceptację grupy organizatorów cyklicznych spotkań, więc spodziewam się ogłoszenia niebawem. Zachęcam do udziału, bo liczę na aktywny udział obu stron - prowadzącego oraz słuchaczy - co powinno wyjść na dobre każdemu. Na pewno pomoże w zrozumieniu chociażby kilku problemów funkcyjnych, z którymi borykałem się podczas kursu Odersky'ego na Coursera, warsztatów Grześka Balcerka oraz lektury Functional Programming in Scala.

A pod koniec tygodnia, 24 i 25 maja, pojawię się w Kijowie na konferencji JEECOnf. Tam zdobędę się na wystąpienie o Clojure (Introduction to web application development in Clojure) i Scali (Introduction to functional programming in Scala). Jednocześnie o obu językach? Tego jeszcze nie było w moim wykonaniu! Nie mogłem odmówić sobie spróbowania, bo okazja do bezpośredniej wymiany doświadczeń nie zdarza się często. Będzie z pewnością bogato merytorycznie, bo w końcu będę mógł podjąć się wyjaśnienia pewnych problemów programistycznych przez pryzmat języków Java, Clojure, a teraz i Scala. Ciekawym, kiedy do mojego repertuaru dołączy F#?!

Do zobaczenia!

6 komentarzy:

  1. Jestem na podobnym etapie z 6tym zadaniem, z tym że Grader wykrył buga w mojej implementacji 'combinations' i skończyło się na 8 pkt. Czas daje popalić, ale do końca tygodnia na pewno uda nam się dokończyć ten assignment!
    Widzę, że maj bardzo pracowity. Na pewno będe posłuchać Cię na WJUG'u. Powodzenia!

    OdpowiedzUsuń
    Odpowiedzi
    1. Widzę, że nie tylko ja cierpię męki intelektualne. Niewielka to pociecha, ale skoro jesteś pewien zwycięstwa, ja również nie odpuszczam. Ponownie odsłuchuję nagrań Odersky'ego o problemie n-queens, bo tam można podobno znaleźć rozwiązanie dla anagramów.

      Jak ma to miejsce od kilku dobrych tygodni, pewnie znowu przyjdzie mi zarwać nockę na rzecz Scali na Courserze. Ja również pewnym wygranej! :-)

      p.s. Koniecznie napisz, kiedy będziesz miał rozwiązanie, bo chętnie posłuchałbym naprowadzenia (ale nie podpowiedzi na tacy!)

      Usuń
    2. inspirująca jest Twoja odwaga do wystąpień - teraz kurs scali a za parę dni publiczne wystąpienie w tym temacie :)

      do zobaczenia na geeconie!

      Usuń
    3. W końcu spędziam ze Scalą jakiś czas, ale to dopiero Coursera sprawiła, że postanowiłem w nią wejść pełną gębą. A że gorliwym i początkującym, pewnie coś ciekawego innym podobnego pokroju będę mógł przekazać.

      Obowiązkowo widzimy się na GeeCONie! Zrobię Ci prywatną lekcję programowania funkcyjnego całkowicie bezpłatnie :-)

      Usuń
    4. Jeju! O mało nie spadłem z krzesła, kiedy to zobaczyłem. Michał wysłał mi maila ze wskazaniem na wątek, który pozwolił mi rozwiązać zadanie!

      Yay! Got 10 out of 10 in Week 6: Collections in Scala course at Coursera

      Jestem taki szczęśliwy, że od tygodni będę mógł położyć się spać o rozsądnej porze!

      Coś mi mówi, że za dużo tych wrażeń i muszę odpocząć przed kolejnymi na konferencjach Atmosphere, GeeCONie i JEEConf oraz spotkaniu Warszawa JUG. Do zobaczyska!

      Usuń
  2. Ja jestem na liście 7 ale też dużo czasu główkuję nad tym :)

    OdpowiedzUsuń