Pokazywanie postów oznaczonych etykietą scala. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą scala. Pokaż wszystkie posty

13 lipca 2015

Kompletna aplikacja w języku Scala jako rozwiązanie zadania ze SPOJa

6 komentarzy
Dostałem namiary na zadanie w SPOJu i tak mnie natchnęło, aby usiąść nad tym w Scali:

object Main extends App {
  val nums = """(\d+) (\d+) (\d+)""".r

  // io.Source.fromString(input).getLines()
  io.Source.stdin.getLines().drop(1).map {
    case nums(c, k, w) => c.toInt * w.toInt <= k.toInt
  }.map(b => if (b) "yes" else "no").foreach(println)
}

Zrozumiałe? Pytania? Dałoby się to napisać prościej i/lub krócej? Chętny/-a zrozumieć, o co chodzi w temacie? Służę pomocą!

12 marca 2015

Rekrutacji wokół technologii scalowych ciąg dalszy

2 komentarzy
Po moim ostatnim apelu z 9 marca - Potrzebujesz pracy wokół języka Scala? Kontakt ze mną pożądany! - odezwało się do mnie kilka osób, w których padają pytania w stylu "Co dalej?", "Czy się nadaję?", "Jak zwrócić na siebie uwagę pracodawców?", itp.

Ten wpis ma być odpowiedzią na nie i kilka innych, celem skrócenia procesu i dopasowania go do kandydatów, którzy są faktycznie zdeterminowani do wejścia w proces rekrutacji na stanowiska z językiem Scala profesjonalnie na pełny "etat" - czy to w roli programisty, czy prowadzącego zespół, czy obu ról na raz, np. w "branży" startupowej.

Mail No 1


Zwykle pierwszy mail dostaje w odpowiedzi mój w stylu:

Dzięki za kontakt. Zwykłem nie proponować firm na wstępie, bo obawiałbym się niedomówień i złych skojarzeń. Niektóre firmy pracują nad tym, aby postrzegano je inaczej, niż kilka lat temu, bo mimo tej samej branży, zmieniły się technologie i język. Stąd pewne odsunięcie bezpośredniej odpowiedzi na Twoje pytania o firmy.

To, co ja uważam za sensowne w temacie obsadzania ludzi na rynku scalowym w Wawie, to:

Podeślij mi swoje CV i namiary na LinkedIn + GitHub + Quora + StackOverflow + twitter + SlideShare + Goodreads/Amazon (jeśli masz wymienione) i jedziemy z rekrutacją!

Pytania uzupełniające, na które musisz/muszę znać odpowiedź, zanim odpalę rekrutacje:

1. Od kiedy byłbyś gotowy zmienić pracę?
2. Czy od przyszłej pracy oczekujesz wyłącznie programowania w języku Scala czy inne języki (Java, Python) również wchodzą w rachubę?
3. Jakie formy współpracy akceptujesz? Umowa o pracę wyłącznie? A może umowa o dzieło lub b2b (w ramach jednoosobowej działalności gosp.)?
4. Jaka satysfakcjonowałaby Cię kwota brutto (umowa o pracę)/netto (faktura VAT, umowa o dzieło)?
5. Czy rozmawiałeś już z firmami o Twojej gotowości wejścia do Scali? Jakimi?
6. Czy potrafiłbyś poprowadzić zespół ludzi podobnych do Ciebie stażem i umiejętnościami?

Znasz odpowiedzi? Musisz! Będzie nam znacznie łatwiej dopasować Twoje potrzeby i rozczarowanie będzie mniejsze po obu stronach. Baw się dobrze!

(Są osoby, które mogą potwierdzić treść maila jako taką, którą już otrzymali w odpowiedzi na swojego).

Mail No 2


Po kilku dniach, przychodzi mail z odpowiedziami i pojawiają się pytania uzupełniające, które kwituję następującym mailem:

Porozsyłam Twoją aplikację w znane miejsca i dam znać lub oni dadzą znać Tobie, jak idzie. Wstępnie rozważam ABC i XYZ oraz ALA_MA_KOTA. To są firmy, w których wiedza techniczna - o Scali - jest równie cenna, co zbudowanie (tożsamości) zespołu. Można na tym zarobić merytorycznie (Scala, Java), miękko (okiełznanie/przewodzenie zespołem technicznie) oraz (co powinno być implikowane przez poprzednie) finansowo.

Finanse oczywiście zostawiam Tobie do negocjacji, ale myśląc, co możesz zrobić w przyszłym zespole **nie** ustawiaj się wyłącznie w roli wyrobnika ala "kop stąd do tamtąd", a raczej jako aktywnego uczestnika społeczności scalowej w Warszawie. Widać Cię na spotkaniach i imprezach typu scalafortyfives, a to jest w firmach cenione (!)

A skoro o społeczności scalowej, to Twoim profilem jest również http://www.meetup.com/WarszawScaLa/members/NUMER. Nie zapominaj o nim, bo daje pogląd na Twoją aktywność, co w/g mnie baaaardzo się liczy w branży. Jest to Twój wyróżnik na rynku (bo co byś nie robił na spotkaniach, to chociaż wiesz, jak nie prowadzić wystąpień publicznych, patrząc na moje :-))

(nazwy firm oraz numer profilu na meetupie zmieniony, aby chronić "dane osobowe").

I najczęściej kontaktuję się z firmami, dając im do zrozumienia o potrzebie kontaktu z kandydatem. Współpracuję w temacie rekrutacji z kilkoma firmami i temat się kręci. Uważam za mój obowiązek, aby również w ten sposób rozkręcać społeczność scalową w Warszawie, bo połączenie obu światów - pracodawców z programistami Scala - jest częścią budowania prężnej społeczności. To z pewnością było brakującym elementem podczas mojej aktywności wokół Warszawa Java User Group (i zebrane doświadczenie przy WJUGu służy mi teraz doskonale przy budowaniu Warsaw Scala Enthusiasts).

Mail No 3 i kolejne


W międzyczasie odpowiadam również na pytania w stylu:

1. Jak sądzisz, czy jest szansa, że jakikolwiek pracodawca będzie chciał zatrudnić jako programistę Scali kogoś, kto Scalę zna właściwie tylko z własnych, drobnych eksperymentów?

Tak. Stąd ten apel o ludzi podobnych Tobie - którzy chcieliby, ale nie mają pewności, że mogliby spróbować takiej ścieżki rozwoju, itp. Buduję społeczność przez właśnie takie akcje, bo wiem, że obie strony rekrutacji - przyszły pracownik i pracodawca - muszą mieć komfort rozmowy, a przede wszystkim się spotkać. Chciałbym uzupełnić tę lukę o możliwość spasowania potrzeb ludzi w obszarze scalowym.

2. Jak należałoby się przygotować, aby dostać pracę w Scali?

Robić swoje! Niech REPL będzie non stop uruchomiony i każdą wolną godzinę niech wypełnia Ci praca w nim próbując się z tematami scalowymi. Dalej widziałbym znajomość sbt/activator, IntelliJ IDEA, specs2/ScalaTest, ScalaCheck, Spark, Spray/Akka HTTP, Akka (actors), Play, Akka Streams, RxScala z elementami Cassandra, Redis, Kafka, RabbitMQ, TitanDB, itp. Dużo tego, ale przy odrobinie samozaparcia i sprytu, nie powinno to być specjalnym wyzwaniem.

3. Co ty uważasz za "minimum" wiedzy jaką należy posiąść żeby pracować programując w tym języku?

Nie ma czegoś takiego, bo pracodawcy poszukują już programujących oraz nowicjuszy. Dobrze mieć podstawy programowania w innym języku, np. Python, Ruby, a przede wszystkim Java. Scalę wciąż traktuje się jako uzupełnienie i rynek się formuje na full-time Scala developers.

Skontaktuj się ze mną w temacie, a może uda nam się dopasować Twoje potrzeby do rynkowych. Moje motto to "Zadowolony członek zespołu - właściwa osoba na właściwym miejscu - to strumień projektów i to takich, w których chce się uczestniczyć innym, a emanując swoim entuzjazmem i zacięciem faktycznie ich przyciąga."

A jak to wygląda u Ciebie?

09 marca 2015

Potrzebujesz pracy wokół języka Scala? Kontakt ze mną pożądany!

0 komentarzy
Ostatnie wydarzenia wokół grupy Warsaw Scala Enthusiasts pokazują rosnące zainteresowanie językiem programowania Scala. Niech oceną sytuacji będzie samo zestawienie liczby zapisanych do grupy oraz liczba poprzednich i nadchodzących spotkań.


W zeszłą sobotę uruchomiliśmy kolejną, drugą edycję Warsaw Scala Forty-Fives o tematyce testowania (poprzednia była nastawiona na wejście do języka Scala oraz narzędzi wspomagających). Na wydarzenie przybyło ca 50 osób, wśród których byli również przyjezdni z Wrocławia (w liczbie 3, pozdrowienia dla lidera Łukasza!) oraz Łodzi (w liczbie 3, pozdrowienia dla Pawła!) oraz Częstochowy (w liczbie 1, pozdrowienia dla Michała!), co sprawia, że tematyka jest interesująca, a wydarzenie jest warte poświęcenia wolnej soboty.

Do tego należy dodać rosnące zainteresowanie tematyką scalową wśród firm, które niestety borykają się ze znalezieniem kadry do tworzonych zespołów projektowych, których podstawowymi narzędziami są lub planuje się narzędzia scalowe.

Uczestnicy spotkań scalowych w Warszawie wiedzą, że zależy mi na rozkręceniu rynku scalowego, aby ani firmy ani pracownicy nie mieli powodów do obaw przed rekrutacją w obszarze języka Scala. Temat się rozwija, ale zbyt powoli, abym był usatysfakcjonowany.

Muszę przyznać, że wyniki moich "prac" animowania rynku scalowego w Warszawie przeszły moje najśmielsze oczekiwania - firm, które zatrudniają w obszarze języka Scala jest tak dużo, a chętnych, aby popracować w Scali tak mało, że liczba miejsc do obsadzenia jest zatrważająco DUŻA. Jestem w stanie wymienić z pamięci firmy, z którymi współpracuję, aby te braki kadrowe uzupełnić, ale wciąż mam problemy z dotarciem do osób, które chociażby wyraziłyby zainteresowanie zmianą pracy na częściowo lub wyłącznie przy Scali.

Wystarczy zajrzeć na nofluffjobs.com, gdzie znajdziesz kilka interesujących ofert (niestety nie wszystkie firmy jeszcze się tam ujawniły, co powinno się niedługo zmienić).

W trakcie poszukiwań programistów scalowych są firmy HCore (spin-off AdPilota), JaveoCodilime, BMS, YouGov, Viacom, a jest jeszcze kilka firm, które to rozważają w najbliższej przyszłości. Sporo tego.

Odzywają się już do mnie osoby, które "oddają" mi się do dyspozycji i jakoś ta rekrutacja idzie, ale wciąż to kropla w morzu potrzeb! Tak źle (od strony firm) i jednocześnie tak dobrze (od strony programistów scalowych) jeszcze nie było.

Innymi słowy, jeśli rozważasz język Scala i technologie wokół niego jako warte zmiany pracy i jesteś zainteresowany/-a takim krokiem, koniecznie się ze mną skontaktuj. Odpowiedź gwarantowana, a i miejsce pracy może przekroczyć Twoje oczekiwania.

No, daj się skusić... :-)

p.s. Rok 2015 musi być rokiem Scali w Polsce i liczę na wyraźną poprawę naszych umiejętności programistycznych przez język Scala, przez udział w realnych projektach informatycznych. Taki jest mój plan i Ty mi pomożesz go zrealizować.


07 lutego 2015

Ochy i echy o GeeCON TDD -- polecam!

0 komentarzy
Wciąż nie mogę uwierzyć, jak bardzo pomysł 30-minutowego wystąpienia może być uczący! Organizatorzy GeeCON TDD mają głowę na karku -- 30 minut na prezentację to dokładnie tyle, ile należy poświęcić na przekazanie właściwej porcji wiedzy jako prelegent i utrzymać cierpliwość słuchaczy. Możnaby powiedzieć, że w ten oto sposób efektywnie “oderano” mi prawo do dywagacji i dowcipkowania na tematy różne podczas występiania. Gratuluję doskonałego pomysłu!

Dziękuję organizatorom również za zaproszenie do wystąpienia w roli prelegenta z tematem "Translating Requirements into Executable Software Specification with specs2".

Dziękuję organizatorom Łukaszowi, Adrianowi, Idzie, Adamowi za wspaniałą atmosferę podczas konferencji!


Kolejny raz skorzystałem z reveal.js, co polecam początkującym w branży wystąpień publicznych lub efektywnego przekazywania wiedzy - zamiast artykułu czy wpisu na blogu można użyć medium w postaci slajdów. Jeśli zastanawiasz się, jak zacząć w temacie - chociażby miało się skończyć wyłącznie na przygotowaniu slajdów - pisz. Chętnie pomogę.

GeeCON stał się marką i każda inicjatywa spod tego parasola to wydarzenie wielkiego formatu. Zaczęło się od konferencji stricte javowej, aby później stać się konferencją o tematach z branży programowania i zarządzania projektami, aby ostatni pomysł skoncentrować wokół testowania (bez przywiązywania go do konkretnego języka czy biblioteki). Tym razem owe 30 minut i tematyka sięgająca poza JVM pozwoliła mi na doświadczenie nowych doznań - ludzie jakby nowi i raczej w większości dużo młodsi (i raczej nie doświadczeniem).

Miło było spotkać się ze znajomymi z branży i mieć sposobność poznania ludzi spoza mojego środowiska programistycznego. Cieszę się, że GeeCON sięga po nowe obszary, bo dzięki temu dochodzi do spotkania osób wcześniej niemających wiele okazji do choćby minimalnej interakcji i wymiany doświadczeń. Kolejny raz GeeCON staje się platformą inspiracji i wymiany doświadczeń dla polskiej sceny informatycznej. Gratulacje wytrwałości!

W trakcie konferencji spotkałem się z osobami, które zawsze mają wiele wartościowego do powiedzenie i nawet, jeśli wciąż jeszcze nie zrozumieli, że język programowania Scala jest…ekhm…najlepszy, to warto ich wysłuchać i porozmawiać. Dobrze było spotkać Łukasza i Adama (z poznańskiej części organizacyjnej GeeCON), AdrianaAdę (z części krakowskiej), Diablo (również znaną jako Dominika i też z Krk), Szymona i Piotrka (z załogi toruńskiej), Jacka (Pzn), Kubę K. (Waw), Jakuba M. (Pzn), Kubę M. (Gdn). Nie mógłbym pominąć przyjemności uściśnięcia dłoni Steve'owi Freemanowi oraz Nata Pryce.

Ślę również obiecane pozdrowienia dla zespołu IT Kontrakt! Życzę powodzenia GFT (dawniej Rule Financial) w ekspansji na południe (z wyrazami ubolewania, że do uruchomienia oddziału w Gdańsku jednak nie doszło).

Ufam, że do zawiązania poznańskiej grupy miłośników języka Scala pod przewodnictwem Radka (Gallera) z pomocą Konrada z Allegro dojdzie i publicznie deklaruję swoją pomoc, aby taki pomysł doszedł do skutku. Radek, jak się powiedziało A, to trzeba powiedzieć i B! Powołanie grupy to pierwszy etap i później przy ustalonych regularnych spotkaniach już będzie z górki. Pomożemy!

Dziękuję Kubie Kubryńskiemu za krótkie acz treściwe wprowadzenie do Spring Boot -- chwila z mądrym i czułem jak staję się mądrzejszy. Nie przyjdzie mi użyć tego narzędzia w najbliższej przyszłości, ale wiedzieć, do czego służy, nigdy nie zawadzi. Sugeruję rozważyć serię spotkań, które przybliżyłyby Spring Boota szerszej publiczności. Rozważ to koniecznie! Może seria nagrań na YouTube lub vimeo?

Podczas konferencji dowiedziałem się o istnieniu firmy Comarch w Poznaniu. Otrzymałem wstępne zaproszenie do współpracy w promocji Scali, więc jeszcze o nich usłyszymy na łamach tego bloga. I nie mógłbym zapomnieć o Anecie z Comarch, która niedługo również wejdzie w temat programowania w języku Scala, bo…licencja IntelliJ IDEA czeka. I ja na pull requesty na GitHubie również.

Wygląda na to, że firma CommerceOne z Łukaszem i Jackiem to całkiem ciekawa firma w Poznaniu. Historia powołania firmy na pewno. Technologicznie jeszcze mają dużo do nadrobienia, ale wierzę, że z takim składem osobowym, to wyłącznie kwestia czasu. Trochę szkoda Espeo,  ale skoro stawiają na PHP, to…ich dni są policzone. Ble.

Dzięki PSI za podarunki i test ze znajomości Javy! Nie było lekko, co należy wyłącznie zrzucić na barki dawno nie używanej przeze mnie Javy. Gadżety czekają na rozdanie podczas kolejnego spotkania scalowego w Warszawie. Więcej na stronie @WarszawScaLa.

Szymon przypomniał mi o pomyśle nagrywania wstępniaków scalowych z kimś. Trzeba to wdrożyć w lutym! Dzięki Szymon za przypominajkę. Hmmm, momento, czyżby liczył, że to właśnie jego zaproszę?! Ciekawa oferta! Oczekuj kontaktu w sprawie.

Podsumowując, konferencję GeeCON TDD wstawiam do kalendarza jako imprezę wartą udziału. Polecam ją jako dobry wstępniak do różnorodnych technologii i technik informatycznych. Swoje wystąpienie uważam za przyzwoite, a pomysł 30 minut na występ określam za strzał w dziesiątkę - wystarczający na przekazanie dostatecznej informacji, aby zaintrygować tematem. Bardzo, bardzo dobry pomysł warty podtrzymania (i skopiowania przy innych imprezach)! 30 minut to dokładnie tyle, ile się należy o temacie i bez dodatków w stylu slajd o mnie czy dowcipów (co podobno Kubie ze slajdem o mnie się nie bardzo udało).

Dziękuję organizatorom i uczestnikom za bardzo miłą atmosferę i zapraszam na kolejną edycję. Sztandarowy produkt — konferencja GeeCON 2015 — już 13-15 maja 2015 w Krakowie. Do zobaczenia!

12 stycznia 2015

Skrinkasty czy artykuły wprowadzające do języka Scala?

0 komentarzy
To pewnie zawsze będzie pytanie, na które niełatwo będzie znaleźć jednoznaczną odpowiedź.
Czy nagrywać skrinkasty czy pisać artykuły o języku Scala?
Z punktu widzenia autora wydaje się, że to wszystko jedno, bo i tu, i tu należy się podobny wkład pracy. Coś mi jednak mówi, że pisanie jest prostsze, bo jakby na dowód można by wskazać zestawienie piszących do nagrywających - tych pierwszych zawsze było jakoś więcej.

Ze znanych mi osób programujących w Javie i Scali w Polsce nikt nie nagrywa z nielicznymi osobami, które pozostały przy pisaniu i publikowaniu wpisów na własnym blogu.

To może świadczyć o większej trudności w przekazie bezpośrednim, czym według mnie jest nagrywanie, w porównaniu do pisania, które jest stosunkowo pasywne.

A gdyby zapytać Ciebie o preferencje jako odbiorcy treści - czy preferujesz skrinkasty (oglądanie i słuchanie) czy artykuły/wpisy na blogu (czytanie)? Ciekawym Twojej odpowiedzi.

p.s. Ktoś kiedyś przewidywał, że mikroblogowanie (w stylu twitter czy jeszcze wtedy blip) wykończy blogi i na tamten czas byłem bardzo sceptyczny słuszności takiego myślenia, ale dzisiaj sam niejednokrotnie łapię się na zaniedbywaniu blogowania w ogólności, a o blogowaniu w naszym ojczystym języku już nie wspomnę. Tutaj zauważyłem, że StackOverflow czy GitBook wypiera ostatki czasu na pisanie (poza pisaniem aplikacji). Jakoś mnie to martwi.

23 listopada 2014

Po Warsaw Scala FortyFives #scala45pl - Scala enthusiasts day w Warszawie

0 komentarzy
Pierwsze pomysły o zorganizowaniu czegoś na kształt całodniowej konferencji wokół języka Scala pojawiły się około konferencji Scalar w kwietniu 2014. Wtedy spotkałem się z Łukaszem Sową. Zeszło nam się na rozmowach aż do czerwca, kiedy w Krakowie odbyła się impreza podobnego kształtu.

5 czerwca opublikowałem na swoim polskojęzycznym blogu wpis Akka: hAkker garden w Krakowie fajną imprezą było - kopiowanie zalecane, który był swoistym wezwaniem do działania w temacie (choćby sprowadziło się to do skopiowania wydarzenia krakowskiego w całości).

Przez cały czas rozmyślałem, jakby można było jeszcze mocniej ożywić polską scenę scalową i zawsze uważałem, że bezpośredni kontakt z innymi programistami języka Scala jest najwłaściwszym sposobem na promocję języka w Warszawie i w Polsce w ogólności.

Wszystkie moje wysiłki były nakierowane na uruchomienie konferencji organizowanej dla i przez lokalną społeczność scalową, bo tylko taki twór gwarantuje swobodny przepływ wiedzy. Tak było za czasów mojej aktywności w ramach Warszawa JUG i dzieje się teraz w ramach grupy Warsaw Scala Enthusiasts.

10 dni później, 15 czerwca, uruchomiłem wątek Scalathon w październiku, a w lipcu hAkkaton? 2.07? na forum grupy.

Dyskusje trwały w różnych miejscach i z różnym nasileniem. Miałem wrażenie, że z każdą rozmową jesteśmy bliżej zorganizowania czegoś, co można byłoby nazwać naszym czymś, ale trzeba było czekać kilka miesięcy dłużej, aby pomysł się faktycznie zmaterializował.
30 czerwca Piotr Bąbel zgłosił się do pomocy przy organizacji imprezy. Tę datę odnotowuję jako dzień, w którym poznałem Piotrka, który kilka miesięcy później przywdział szaty organizatora wydarzenia #Warsaw #Scala Forty-Fives #scala45pl - Scala enthusiasts day w dniu 22 listopada 2014 roku.

Nie uważam, że czas spędzony na dyskusjach od kwietnia do listopada był właściwie wykorzystany, ale na pewno nie był stracony.

Ostateczna formuła Warsaw Scala FortyFives okazała się właściwie dopasowana do publiczności i naturalnie wykluczyliśmy rozbieżność w materiale między nowicjuszami a bardziej zaawansowanymi w języku Scala. Pomysł przeprowadzenia nowicjuszy scalowych przez zakamarki poznania nowego języka okazał się strzałem w dziesiątkę i ten pomysł jeszcze kilkakrotnie powtórzymy.

Między czerwcem a listopadem, w ramach grupy @WarszawScaLa, warszawska społeczność scalowa wspólnie poznawała język Scala przez inicjatywy typu Natural whitespace handling for SBT configuration parser AKA 'no more blankies', wspólnego oglądania nagrań z konferencji scalowych, zdalnych (wideo)spotkań z ekspertami Scala jak Konrad Malawski i inne temu podobne.

Aż w końcu ten dzień nadszedł! 22 listopada członkowie Warszawskiej Grupy Entuzjastów języka Scala Piotr Bąbel ze mną, Jackiem Laskowskim, zorganizowali wydarzenie #Warsaw #Scala Forty-Fives #scala45pl - Scala enthusiasts day.

Dziękuję Piotrkowi Bąbel, prelegentom (ponownie!) Piotrkowi BąbelPawłowi Włodarskiemu, Pawłowi Kopiczko, Piotrowi Trzpilowi, Szymonowi Matejczykowi, sponsorom - firmom AdPilot oraz JaveoKołu Naukowemu Informatyków Politechniki Warszawskiej oraz szanownym wolontariuszom Iwecie i Patrykowi za wsparcie merytoryczne, lokalowe, żywieniowe i organizacyjne. Było idealnie.

Na wydarzenie zapisało się 55 osób. Na moje pytanie o znajomość Scali rękę podniosły 2 osoby, wśród których jedna była prelegentem (!) To oznaczało doskonałe wpasowanie się w potrzeby uczestników. Sobota nie była żadną przeszkodą, aby spróbować się z językiem Scala!

Co mnie niezwykle ucieszyło, to strumień nowych osób, które zapisywały się na naszego meetupa i w tej chwili jesteśmy na poziomie 209 zapisanych entuzjastów scalowych. Grupa znacząco powiększyła się w liczbie uczestników.

Dzięki wydarzeniu dotarliśmy do nowych odbiorców przyszłych inicjatyw pod szyldem Warsaw Scala Enthusiasts

Dzięki Warsaw Scala FortyFives powiększyło się również grono uczestników na naszym forum dyskusyjnym do 67 członków.
Dzięki prelegentom Pawłowi Włodarskiemu oraz Piotrkowi Trzpilowi wydarzenie nabrało prawdziwie międzynarodowego i nowoczesnego charakteru. Paweł zgodził się przyjechać do nas z Łodzi, a Piotr zaprezentował Akkę zdalnie korzystając z Google Hangouts on Air. Dziękuję Panowie!


Jakby tego nie mierzyć, jedynym wynikiem może być tylko SUKCES projektu. Jak można było przeczytać wyżej, to nie są czcze przechwałki, ale fakty. Chętnie wysłucham uwag od osób spoza obozu zachwyconych.


Wszystkie oceny świadczą o potrzebie tego typu inicjatyw w przyszłości i mówi się o powtórzeniu wydarzenia w lutym 2015. Pojawiają się pomysły uruchomienia inicjatywy w innych miastach w Polsce. Co o tym sądzisz? Podziel się swoimi spostrzeżeniami i pomysłami na forum Warszawskiej Grupy Entuzjastów języka Scala.

20 listopada 2014

AdPilot i Javeo wspierają Warsaw Scala FortyFives #scala45pl - Scala enthusiasts day w Warszawie

0 komentarzy
Nasza społecznościowa konferencja Warsaw Scala FortyFives #scala45pl, której celem jest przeprowadzenie nowicjuszy przez trudy wejścia w programowanie z językiem Scala, a bardziej zaawansowanym oferuje możliwość wejścia w społeczność, otrzymała wsparcie dwóch firm programistycznych Javeo i AdPilot, dla których rozwój społeczności scalowej leży na sercu.


O firmie Javeo można było już usłyszeć chociażby przy okazji organizowanych regularnie spotkań warszawskiej społeczności scala @WarszawScaLa. Firma Javeo zatrudnia programistów Scala i warto o niej pamiętać przy okazji własnych poszukiwań przy zmianie pracodawcy lub też po prostu wysłać nich CV już dzisiaj!


Firma AdPilot to nowy gracz na scenie komercyjnego wsparcia naszych niekomercyjnych inicjatyw pod sztandarami Warszawskiej Grupy Entuzjastów języka Scala. Firma rozbudowuje swoje zaplecze programistyczne i poszukuje programistów Scala do tworzonego zespołu.

W obu firmach możesz spełnić większość (wszystkie?) swoich pomysłów programistycznych i rozwinąć się merytorycznie oraz społecznościowo. Rozważ je koniecznie przy kolejnym pomyśle zmiany zatrudnienia lub kiedy Twoja ścieżka programisty dopiero się rozpoczyna.

Firmy AdPilot i Javeo czekają na Ciebie!

Niech to jednak nie przesłania Tobie planów na najbliższą sobotę. Widzimy się w Warszawie na Warsaw Scala FortyFives #scala45pl!

Piotry, Pawły, Szymon i ja

13 listopada 2014

Wzorcowy materiał szkoleniowy o Akka Streams z Konradem @ktosopl Malawskim

0 komentarzy
Nagranie z ostatniego spotkania grupy entuzjastów języka programowania Scala w Warszawie@WarszawScaLa, w którym +Konrad Malawski przedstawił najnowsze dokonania projektu Akka Streams 0.11 jest już dostępne na YouTube.


Te 76 minut z Konradem to w zasadzie jedyny obecnie efektywny sposób na poznanie tematu. Konrad wykonał doskonałą robotę przedstawiając niebagatelny temat w sposób zwięzły i zrozumiały.

Polecam nagranie każdemu sympatykowi rozwiązań wokół rozproszonego przetwarzania danych z użyciem Akka Streams i języka Scala.

Dzięki Konrad!

p.s. Za niecałe 2 tygodnie, w sobotę 22.11 grupa @WarszawScaLa organizuje konferencję skierowaną przede wszystkim do nowicjuszy tematyki programowania aplikacji wszelakiej maści w języku Scala. Więcej na Warsaw Scala Forty-Fives #scala45pl - Scala enthusiasts day. Agenda jest w trakcie formowania, więc wyrozumiałość wskazana. Rezerwować czas w kalendarzu!

06 października 2014

Oferty pracy dla programistów Scala i chroniczny brak obsady - mój pierwszy miesiąc poza korpo

0 komentarzy
Zdumiewające, jak ciężko jest znaleźć dobrych programistów, a jeszcze bardziej nakłonić ich do przyłączenia się do projektu (aka zmiany obecnego zatrudnienia).

Taką myśl opublikowałem na moim koncie na twitterze i prawie natychmiast padło pytanie o sprecyzowanie "dobrego programisty". Śpieszę wyjaśnić.

Jak to pewien Jacek powiedział: "Nie ważne co, ważne z kim" i to jakby definiuje w pewnym sensie owego dobrego programistę. Ma to być ktoś, z kim można spędzić czas na projekcie przyjemnie i go zakończyć (projekt) w terminie.

Owego dobrego programistę poznaje się po efektach jego decyzji - ma świadomość upływającego czasu i walki między doskonałym kiedyś a działającym w terminie. Jeśli uda się utrzymać doskonałe w terminie, tym lepiej dla zespołu. Najważniejsze jednak, aby potrafić dotrzymać terminu lub w terminie oznajmić jego niedotrzymanie. Ja wciąż walczę ze swymi żądzami poszukiwania świętego graala, kiedy obecne rozwiązanie jest w pełni wystarczające. Taką cechę nazywam terminowością.

Dobrym programista to również osoba, która ma świadomość bezkresu własnej niewiedzy. Doskonała znajomość języka Java u niego nie przekreśla zastosowania języka Scala (lub wyjątkowo egzotycznego Go, Elm czy Elixir). Jeśli narzędzie niespecjalnie pasuje, to się go po prostu nie stosuje i szuka właściw(sz)ego. Taką cechę nazwałbym świadomością technologiczną.

Akceptowanie wartości nieznanego jest podstawą egzystencji dobrego programisty. Ciągła otwartość na nowe rozwiązania i akceptowanie ich odmienności, która wymusza "zerowanie" dotychczasowego rejestru doświadczenia jest wliczona w kontrakt codzienności dobrego programisty. To nazwałbym otwartością umysłu.

Moim obecnym konikiem jest rozgrzewanie rynku polskiego na przyjęcie języka Scala jako wartościowego języka programowania dla wielu zastosowań, w których do niedawna widziałem miejsce wyłącznie dla Javy. Koniec z tym! Java jest dobra, ale nie bardziej niż Scala (dalekim od określenia Scali "lepszą Javą", ale nie ukrywam, że czasami ciśnie się na usta takie określenie). Najbardziej zależy mi na tej otwartości, która dopuściłaby młodszych stażem do zaawansowanego rynku programistów. Wielu ekspertów javowych, przy przejściu na nowy język Scala, jest naturalnie ponownie nowicjuszami. I to sobie cenię w nowych językach, które wymuszają takie "sprowadzenie na zero".

Od kiedy jestem poza korporacją, chętniej znajduję czas na rozmawę z osobami spoza mojego stałego kręgu znajomych. W zasadzie jestem zmuszony do takiego działania, aby dostać się do ciekawych projektów, których okazuje się, że jest cała masa wokół mnie.

Weźmy ostatnie moje dokonania na tym polu.

Jest pewna firma (której nazwy nie ujawnię jeszcze), która powierzyła mi zadanie stworzenia całej linii produkcyjnej dla produktów monitorujących. Do tego oczywiście potrzebni są ludzie, których nie ma i to również zlecono mi jako zadanie dodatkowe. Innymi słowy, jak nie znajdę, sam będę dłubał, a to mnie z pewnością zabije czasowo. Mam zlecenie na zatrudnienie 3 osób, które będą stanowiły przyczółek przyszłego zespołu deweloperskiego, które zestawią całą linię produkcyjną (począwszy od gałęzi w git +  jenkins + gerrit + co tam jeszcze potrzebne, aby proces spełniał oczekiwania osób, które w nim uczestniczą). Mają to być dobrzy programiści, którzy nie są zadufani w sobie, w ich znajomość technologiczną i "zajefajność", i którzy są otwarci na nowe, nieznane, a (co mi sprawia najwięcej problemów) radzą sobie z bezkresem wyboru technologicznego.

Pojawiły się w międzyczasie jeszcze firmy So1 (poszukiwane 3-4 osoby), AdPilot (2 osoby) oraz Datastax (1 osoba), które w sumie stanowią o nowych miejscach pracy dla ca 10 programistów scalowych w Warszawie (!) W niektórych przypadkach wybór języka jest drugorzędny i nie ma jakiegokolwiek znaczenia dla sponsorów. Chcesz F#? Masz go! Chcesz Scalę? Masz ją! Chcesz XYZ? Wybór należy do Ciebie.

Powstała również strona ScalaWAW, która wypisuje firmy z imienia i nazwiska, które oferują miejsca pracy dla programistów scalowych. Jak napisał @gkossakowski na swoim kanale na twitterze:


Liczba aktywności scalowych w Polsce przewyższa UK, Francję i Niemcy razem wzięte (!)

Okazuje się, że jest sporo miejsc pracy dla osób, które chcą wejść w Scalę. Problem jednak w tym, że spotykane przeze mnie osoby, deklarują jedynie chęć i brakuje w tym ostatecznej decyzji, która sprawiłaby, że dostaną to, czego chcą - pracy w roli programisty scalowego. Jakimś cudem nie dochodzi do scalenia.

Coś mi mówi, że się trochę technologicznie rozleniwiliśmy. Duże firmy i korporacje dodają do tego jeszcze złudne poczucie stabilności, a to właśnie tam znajduje się spora część "chętnej" kadry scalowej. Bywa.

Napisz do mnie na jacek@japila.pl, gdyby oferta zatrudnienia jako programista scalowy w Warszawie była w Twoim obszarze zainteresowań. W kilku miejscach mógłbym znacząco pomóc.

31 sierpnia 2014

Kamil z Warsjawy pisze, że "strasznie mało jest zgłoszonych warsztatów ze Scali"?!

0 komentarzy
Dostałem dwa dni temu maila od Kamila - organizatora Warsjawy, która na swojej stronie domowej przedstawia się tymi słowami:

"Conference for developers, by developers. Unique 100% workshop formula. “Learn by doing” approach. Proudly host workshops related to all aspects of software development: designing, developing, testing, maintaining etc. Initially oriented around Java and JVM programming languages. Now open to other programming languages like Scala, Groovy, Python, mobile development for Android, iOS and others."

Świadomie podkreśliłem Scala - język moich ostatnich trudów mentalno-projektowych, któremu poświęcam prawie całe 100% swojego czasu i żywo jestem zainteresowany, aby więcej działo się w Polsce w tym obszarze. Widać dużo trzeba jeszcze zrobić, bo Kamil napisał:

Cześć,

Przejrzeliśmy dzisiaj (kolejny raz) zgłoszenia z C4P i strasznie mało jest zgłoszonych warsztatów ze Scali, a temat wydaje się strasznie popularny od dłuższego czasu.

Macie może jakieś opinie z czego to wynika? Może potrzebujecie jakiejś pomocy lub dodatkowej osoby do rady programowej?

Jeśli macie jakichś niezagadanych prelegentów to odezwijcie się do nich, bo ścieżka scali wygląda dużo, dużo gorzej niż się spodziewaliśmy.

Pozdrawiam
Kamil

I tu pojawiła się moja odpowiedź, którą postanowiłem opublikować, aby sprowokować dyskusję w naszym światku o stanie akceptacji Scali. Chciałbym się w wielu miejscach mylić i proszę o komentarze, które sprowadzą mnie na poprawną ścieżkę myślenia o Scali w Polsce.

Cześć Kamil,

Mam wrażenie, że w Polsce temat Scali jest podzielony na dwie kategorie osób:

1. już czujących się pewnie
2. dopiero raczkujących (zwykle wyłącznie przyglądających się z nielicznymi wypadami na Coursera)

Nie siliłbym się na większe rozczłonkowanie społeczności scalowej w PL.

Obie grupy przenikają się i wyłącznie brak konfrontacji ich uczestników pozwala jednym sądzić, że należą do grupy innej niż faktycznie powinni przynależeć (w oby kierunkach).

Sam jestem osobą, która (wierzy, że) czuje się pewnie w Scali, ale daleko mi do mistrzostwa i powiedzmy, że panuję nad sytuacją, co dla wielu zaawansowanych jest wystarczające, aby przypisać mnie do grupy "dopiero raczkujących". To ma ten nieprzyjemny skutek, że Ci znacznie słabsi do tej grupy nie powinni już należeć. Chciałoby się wyznaczyć kolejną grupę/kategorię osób dla podobnych mi, ale uważam, że wtedy należałoby stworzyć znacznie więcej grup, które wyznaczone byłyby przez liczbę projektów - zamkniętych/w firmach czy open source (możnaby liczyć przez liczbę commit'ów lub aktywność na StackOverflow czy grupach dyskusyjnych). A to pewnie i tak nie dałoby satysfakcjonującego podziału i tylko zagmatwałoby temat jeszcze bardziej.

W naszej sytuacji, najbardziej interesującą grupą są "już czujący się pewnie". Z nimi jest zawsze kłopot - w dowolnym języku/technologi - są zarobieni, nie chce im się edukować innych, czy angażować się pozapracowe aktywności, albo po prostu nie odnaleźli w sobie wciąż umiejętności "sprzedawania" wiedzy w postaci wykładów (prostsze) czy warsztatów (trudniejsze merytorycznie i to przygotowanie materiały dla innych).

Młodość języka Scala w Polsce, wielka różnorodność języków, bibliotek, szkieletów aplikacyjnych, itp. i niewielka wciąż liczba aktywności wokół Scali, sprawiają, że efekt mamy w postaci niewielkiej liczby zgłoszeń na warsjawę. Poagituję. Stay tuned!

Jacek

Jak obiecałem, agituję. Kto zechciałby wesprzeć warsjawę?

Ja deklarowałem początkowo, że będę wyłącznie w radzie programowej dla Scali, ale już mi pisano, że taki luksus mi się już nie należy. Najwyższa pora zaradzić tej niskiej liczności zgłoszeń scalowych na warsjawie!

Ode mnie możecie liczyć na praktyczne wprowadzenie do Scali przez jej zastosowanie do budowania aplikacji webowych (Play Framework), dostępu do bazy danych (Anorm i Slick), oraz...potencjalnie...opanowania tematu współbieżności (Akka) czy mikroserwisów (Spray). Wszystko okraszone sbt. Chciałoby się więcej, ale byłoby za wiele i za pobieżnie (i pewnie za mało praktycznie), więc wstrzymam się ze swoimi chęciami. Zgłaszam tym samym zapotrzebowanie na skrojenie mojego pomysłu tematu warsztatu na Twoją modłę, jeśli zainteresowałby Cię temat, zechciałbyś poświęcić swój czas i wyjść z warsztatu zadowolony. Proszę o pomoc, abyśmy wspólnie spędzili kilka godzin fajnego scalowania.

Proszę również o komentarze w sprawie niskiej frekwencji zgłoszeń okołoscalowych. Pomóż mi to zmienić! Zgłoś temat - samodzielnie lub wspólnie. Daj znać, że się zastanawiasz, a ja pomogę w znalezieniu współprowadzącego lub w konstrukcji tematu. Proszę...

29 lipca 2014

Programiści Scala, Play, Angularjs, HighCharts do projektu poszukiwani

0 komentarzy
Od ponad miesiąca wspieram moralnie (więcej) i merytorycznie (mniej) projekt moich znajomych, którzy po moich namowach weszli w Scalę z Play Framework i Angularjs z innymi dodatkami mniejszego znaczenia (i bez Akki). Projekt jest na prywatnym repo na GitHubie.

Mieliśmy już pewien epizod z firmą i jej juniorami, i nie wyszło. Trochę "popłynęliśmy" ze współpracą po obu stronach.

Product owner/znawca tematu, co należałoby zbudować od strony biznesowej, jest w Warszawie do bezpośredniego kontaktu o (prawie) każdej porze.

Wchodzi w rachubę współpraca z firmą programistyczną lub pojedynczymi programistami - amatorami i profesjonalistami. Umowa o dzieło lub b2b czy jeszcze inaczej na żądanie. Do ustalenia.

Praca zdalnie lub na miejscu w Warszawie.

Projekt zakłada zbudowanie portalu dostawcy, który śledząc poczynania użytkowników oferuje im jeszcze lepszą ofertę. Nic specjalnie odkrywczego - ot kolejny portal, coś ala CRUD, ale bez D. Wykresy również wchodzą w rachubę i rozważamy HighCharts (może d3.js, jeśli osoba znająca się na temacie powie, że tak ma być). Znaczenie dla nas ma zawartość,  która już mamy. Potrzebujemy jedynie (?) platformy, aby je tam włożyć. I to jest właśnie ta robota!

Nie musisz wymiatać we wspomnianych technologiach i cenimy sobie przede wszystkim zaangażowanie i pomysłowość. Miejsce dyskutantów już obsadzone. Poszukujemy mróweczek = faktycznie zaangażowanych w przekucie pomysłu w czyn.

Zainteresowany? Skontaktuj się ze mną na jacek@japila.pl. Do usłyszenia!

P.s. To pierwszy wpis z klienta blogger na smartfona, więc wyrozumiałość braku formatowania oczekiwana.

28 czerwca 2014

Relacja ze spotkania scalowego o sbt i activator na deskach Toruń JUG

0 komentarzy
Dziękuję grupie Toruń Java User Group (TJUG) za przygotowanie spotkania i stworzenia atmosfery niczym nieskrępowanego przepływu wiedzy między uczestnikami.


Szczególne podziękowania należą się:

  • Szymonowi Stępniakowi @wololock - założycielowi TJUGa i osobie, która ziściła moje marzenie uruchomienia JUGa w Toruniu, za zaproszenie na prezentację na deskach Torun JUG oraz możliwości reklamy projektu scalania i wirtualno-stacjonarnych spotkań WarszawScaLa.
  • Piotrowi Prądzyńskiemu @prondzyn, który był łaskaw podzielić się swoimi uwagami odnośnie podobnego wystąpienia podczas 33rd Degree, co miało niebagatelny wpływ na zawartość merytoryczną tego spotkania.
  • "wodzireja” spotkania Piotrowi Modzelewskiemu @pmodzelewski za przedstawienie mnie przed moim wystąpieniem w takim sposób, że nawet pozbywając się ostatnich skrawków skromności, nie byłbym w stanie zrobić tego lepiej, co początkowo onieśmieliło mnie, ale ostatecznie zdopingowało do udowodnienia, że się faktycznie nie myli.
  • prelegentowi Sebastianowi Łaskawcowi z PayU za wsparcie merytoryczne w postaci prezentacji poprzedzającej, w której pojawiły się stara i wciąż dobra Java oraz narzędzia: Maven, serwery aplikacyjne Java EE z CDI / JPA / JSF (wzmiankowany był nawet IBM WebSphere!), IDEA, XML, Arquillian, które zostały wykorzystane jako pożywka dla moich dywagacji o łatwości “moich” narzędzi - sbt / activator.
  • Koledze Gaussowi za pomoc merytoryczną w wątku o Gaussie i sumie liczb od 1 do 99 oraz późniejszych spostrzeżeń o moim wystąpieniu.
  • Koledze od by -1, który wspomógł mnie merytorycznie, kiedy poszukiwałem rozwiązania do scalowej listy malejącej liczb naturalnych od 99 do 0.
  • Przemkowi i Renacie za przybycie z...ekhm...Bydgoszczy.
  • Michałowi Jaśtakowi @vardlokkur za przybycie i wzmocnienie grupy dawnych znajomych ze studiów na UMK.
  • Pani rekruterce-toruniance z Lufthansa z Gdańska, która cierpliwie odpowiadała na moje (lekko zaczepne) pytania o zatrudnienie w firmie (zachęcam do rozważenia oferty!)
  • Zbyszko Papierskiemu @ZPapierski za wprowadzenie do netfliksowego coś tam, i wyjaśnieniu zalet narzędzia w sposób tak ciekawy, że mimo moich zakus przejęcia mikrofonu, słuchałem z otwartymi ustami. Dobry z niego mówca!
  • ...i innym członkom Toruń JUG, których nie wspominam wyłącznie z powodu zauważalnie postępującej demencji starczej, która nie pozwoliła mi na spamiętanie wszystkich.
Spotkanie pozwoliło mi na podzielenie się własnymi doświadczeniami z sbt, Typesafe Activator, Akka (od strony sbt) oraz Play (również od strony sbt).


Podsumowując moje spotkanie jednym zdaniem, należy zapamiętać jedno zdanie, bodajże Zbyszka:

"Typesafe Activator jest tak samo narzędziem do szybkiego zestawienia projektu, jak i nauki programowania w języku Scala i Java."

W zamyśle tej prezentacji była demonstracja narzędzia sbt oraz activatora, co ma przełożyć się na liczbę osób “zarażonych” użyteczną prostotą obu narzędzi. Odnoszę wrażenie, że klimat spotkania zaszczepił chęć popróbowania się z nimi chociażby jako narzędzia nauki języka Scala. Wystarczy przecież zainstalować activator (bądź sbt, ale będę jednak upierał się przy activator) i odpalić polecenie activator console, aby wejść w powłokę Scala REPL.

Podczas spotkania omówiłem prostotę sbt, która przekłada się na łatwość użycia narzędzia do zarządzania projektami scalowymi, a w tym pojęcia projektu (już pusty katalog nim jest!), compile, test oraz reload.

Co później trafnie zauważono, w takim towarzystwie - prawie w pełni javowym - zabrakło informacji o współpracy sbt/activator z Apache Maven oraz użyciu sbt/activator do zarządzania projektami javowymi. W tym gronie obie cechy zdecydowanie zdeklasowałyby inne "feature killers”.

Liczność spotkania oceniam na poziomie 50 osób. Na moje pytanie, którym otwierałem spotkanie, o znajomość Scali, 5 osób podniosło rękę, co przy pytaniu o komercyjne użycie sprowadziło tę liczbę do…1 osoby (słownie: JEDNEJ osoby) - właściciela firmy codenger Przemysława Kisickiego @PrzemyslawK. Zachęcam do kontaktu z Przemkiem wszystkie osoby, które są zainteresowane wejściem w Scalę profesjonalnie, bo poszukiwani są do pracy w Toruniu przy ciekawym projekcie budowania platformy sprawdzającej umiejętności kandydata (ukłony dla firm konkurencyjnych devskiller i codility, które pojawiły się w dyskusji o cele biznesowe firmy Przemka).

Dla zwrócenia uwagi, wszyscy, bądź prawie wszyscy (za wyjątkiem skończonej ilości osób), to osoby pracujące lub co najmniej znające język Java. Miałem w ten sposób nieocenione pole do popisu, aby zachęcić ludzi do wejścia w Scalę na barkach narzędzi sbt i activator. Ufam, że misja zakończona sukcesem. Proszę o potwierdzenie/zaprzeczenie w komentarzach.

Po spotkaniu na wydziale przenieśliśmy się do knajpy Krajina Piva, gdzie kontynuowaliśmy dyskusję co dalej w Toruniu i okolicach, w których znalazło się miejsce dla rodzącego sie światka scalowego.

Dziękuję życzliwym duszyczkom za podzielenie się swoimi uwagami odnośnie zawartości merytorycznej mojego wystąpienia. Na tej bazie kolejne wystąpienia będą bardziej napakowane merytorycznie. Pro publico bono.

Spotkanie było nagrywane, więc zainteresowani przywołaniem historii, będą mieli okazję do poczynienia odpowiednich kroków już niebawem. Zachęcam do obejrzenia nagrania i podzielenia się uwagami o zawartości, szczególnie merytorycznej.

Dla spragnionych wiedzy scalowej, poniżej ściągawka do rozpoczęcia programowania w Scali przy akompaniamencie activator’a:

  1. Pobieramy narzędzie activator-minimal ze strony Typesafe i instalujemy w dowolnie wybranym katalogu. Nie zapomnij dodać ten katalog do PATH.
  2. Tworzenie aplikacji - activator new
    • możliwość wyboru nazwy projektu
    • możliwość wyboru szablonu projektu - domyślnie 4 szablony po dwa dla Scali i Javy
  3. Inne użyteczne polecenia
    • activator - powłoka poleceń narzędzia (podobnie jak cmd w Windows lub powłoka uniksowa)
    • activator --version - wersja programu uruchamiającego pełne środowisko activator
    • about - specyfikacja projektu - wersja sbt, Scala, rozszerzenia/wtyczki
    • console - wejście do środowiska Scala REPL, gdzie można uczyć się języka Scala oraz pisać aplikacje scalowe interaktywnie
    • run - uruchomienie aplikacji, np. aplikacji webowej w Play
    • test - uruchomienie testów w projekcie
    • ~ (tylda) - uruchomienie dowolnego polecenia poprzedzając go tyldą pozwala na ciągłe uruchamianie polecenia przy zmianie źródeł projektu, np. ~ test uruchamia testy przy każdorazowej zmianie źródeł projektu (bezcenne przy TDD) - mówi się, że "panny mdleją na widok tyldy".
    • reload - ponownie wczytuje konfigurację projektu po jej zmianie
  4. Konfiguracja projektu w pliku build.sbt
    • name - nazwa projektu
    • scalaVersion - wersja języka Scala, np. “2.10.4” lub “2.11.1”
    • libraryDependencies - lista zależności projektowych (z których projekt korzysta oferując swoje usługi)
p.s. Mówi się, że to nie ostatnie moje wystąpienie dla Toruń JUG o Scali. To jednak nie wcześniej jednak niż po wakacjach. Do zobaczenia!

05 czerwca 2014

Akka: hAkker garden w Krakowie fajną imprezą było - kopiowanie zalecane

0 komentarzy
I znowu Kraków...sigh.

Pamiętaj, że spotykamy się programując wspólnie w Scali w Krakowie, w tę sobotę, 7 czerwca w siedzibie Natka!

Nie tak dawno, bodaj trzy dni temu, ogłosiłem uruchomienie Krakowskie Scalania z Natek.pl, aby dokładnie wczoraj doświadczyć innej przyjemności - przyglądania się inicjatywie Akka: hAkker garden w Krakowie, którą zorganizowała ekipa Krakow Scala User Group! Kudos Panowie za inspirację. Już mi się marzy odpalenie podobnej inicjatywy w stolicy. Można się jej spodziewać...niebawem. Chętni pomóc proszę o kontakt na priv.

Za stronką wydarzenia Akka: hAkker garden:
Ostatnio developerzy Akki wyznaczyli parę prostych issues przeznaczonych dla społeczności. Spotkajmy się więc i naprawmy kilka z nich!
...
Podczas hackowania będzie można sięgnąć po pomoc via IRC do członka/ów akka teamu - reaktywność gwarantowana :-)
Co mnie najbardziej urzekło, to możliwość zdalnego uczestniczenia w spotkaniu, które dla mnie nabrało zdecydowanie międzymiastowy, a nawet międzynarodowy charakter (!) Międzymiastowy, bo pozwolił na wzięcie w nim udziału z dowolnego miejsca w Polsce, ba, nawet świata, a międzynarodowy ze względu na zdalny udział +Konrad Malawski, który założyłem, że siedzi gdzieś w akkowej mecce na północy.

Dzięki +Marcin Kubala za zwrócenie na to wydarzenie mojej uwagi na twitterze, co utwierdziło mnie w przekonaniu, że twitter właśnie do takich celów zdaje się być doskonały. Możnaby oczekiwać maila (dostaję ich tyle, że już nie wiem, od którego zacząć), SMSa (powiedzmy, że to bardzo niepożądany sposób, a i zapewne niewielu zna innych numery komórkowe) czy właśnie taką zaczepkę na twitterze (co z odpowiednio skonfigurowanym klientem na smartfonie daje możliwości przypominające ala SMSy). Dzięki jeszcze raz, Marcin.

I tak, po oporządzeniu młodego, o 20:15 zajrzałem na ich kanał #krakow-scala na IRCu. Przypomniały mi się stare, dobre czasy, kiedy używanie tej formy komunikacji było wszechobecne i na miejscu. Wiele grup, np. clojure, do tej pory z powodzeniem korzysta z takiej komunikacji i pamiętam, kiedy mając problem, wejście na ich kanał dawało odpowiedź wręcz natychmiastowo. Bezsprzecznie najlepszy sposób na utrzymanie nowicjusza przy nauce czegoś nowego, np. języka, kiedy...szukać pomocy rzecz trudna być. Trudno mi sobie wyobrazić lepszą formę komunikacji z ekspertami utrzymując, że czas jest kluczowy, co zwykle ma miejsce i właśnie w danym momencie zajmuję się tematem (możnaby jeszcze liczyć na wspomnianego twittera, przy właściwie dobranym otagowaniu, ale tu pojemność znakowa ogranicza, albo StackOverflow, quora czy reddit, gdzie można sobie pofolgować znakowo, ale odpowiedź napływa zwykle z większym opóźnieniem).

Niedługo jednak trwało moje szczęście wzięcia udziału w tym przedsięwzięciu, kiedy synek przybiegł mówiąc "Tata, spać idziemy!" i...obudziłem się przed północą. I pozostało mi jedynie opisać moje wrażenia w tym wpisie :-)

Myślę, że w hAkker garden warto poświęcić więcej czasu i życzę sobie, aby ta inicjatywa miała swoich naśladowców. Kto następny? Jaki projekt? Speak up and let others know!

Dziękuję +Konrad Malawski, +Rafał Pokrywka+Marcin Kubala, którzy przyczynili się do unaocznienia mi ważności tego typu inicjatyw. Sława i chwała (chwilowo) należy do Was ;-)

31 maja 2014

Krakowskie Scalania z Natek.pl w Krakowie 7 czerwca

1 komentarzy
Z nieukrywaną przyjemnością firma Natek oraz Jacek Laskowski mają zaszczyt zaprosić na krakowskie scalania w dniu 7 czerwca (sobota) w Krakowie, które tym samym po raz pierwszy zagości poza granicami Warszawy!

Spotkanie jest całkowicie bezpłatne. Wymagana jest jednak rejestracja, która dostępna jest pod adresem http://krakowskiescalanie.eventbrite.com. Nie zwlekaj. Zarejestruj się już dziś!

Celem projektu scalania oraz serii spotkań pod parasolem Warszawa Scala User Group jest nauka programowania w języku Scala przez rozwiązywanie krótkich zadań programistycznych w tym języku. "W grupie raźniej!" - mawiają, a praktyczne podejście do nauki języka Scala pozwala na skrócenie czasu na rozpoznanie języka. Dyskusje przed, w trakcie oraz po rozwiązaniu zadania są kluczowym elementem uczącym w tych spotkaniach. Uważamy, że możliwość porównywania rozwiązań i zasięgnięcie języka pozwalają na znaczne skrócenie czasu poznania Scali.

Co jest potrzebne, aby uczestniczyć w spotkaniu? Przynieś laptopa z zainstalowanym środowiskiem IntelliJ IDEA z wtyczką do Scali (lub Eclipse, NetBeans, czy inne IDE) oraz sbt 0.13.5. Zalecane (ale nie wymagane) jest wcześniejsze pobranie (git clone git@github.com:jaceklaskowski/scalania.git) projektu scalania i uruchomienie sbt test:update w katalogu projektu.

Podczas spotkania będziemy wspólnie poznawać język Scala przez grupowe rozwiązywanie krótkich zadań programistycznych (zestaw zadań S-99: Ninety-Nine Scala Problems, Scala Koans, ćwiczenia z książki "Functional Programming in Scala", ćwiczenia do szkolenia "Scala i programowanie funkcyjne") oraz implementacji metod ze Scala API znając wyłącznie ich nazwę i sygnaturę (a czasami jedynie sygnaturę).

Wsparcie sieciowe, lokalowe i żywnościowe zapewnia nam firma Natek.

Przyjdź i przekonaj się, jak doświadczenie prowadzącego zebrane przy organizacji serii podobnych spotkań w Warszawie oraz sama znajomość języka Scala przydadzą się Tobie w nauce. Jednym kosztem jest Twój czas, a dzięki temu spotkaniu możesz poświęcić go tylko tyle, ile faktycznie potrzebne.

Jest tylko 20 dostępnych miejsc i jedyna szansa na uzupełnienie wiedzy o Scali w tak miłej atmosferze! Nie zwlekaj z podjęciem decyzji i zarejestruj się już dziś!

Zapraszamy!

24 marca 2014

#Scalania 14 w @Javeo_eu - wirtualno-stacjonar­ne spotkanie z językiem #Scala w ramach @WarszawScala

1 komentarzy
Kolejne, 14-te spotkanie scalowe - scalania - pod sztandarami grupy Warszawa Scala User Group za nami.

Wspaniałym podsumowaniem spotkania jest komentarz +Anity Fronczak na meetupie:

"Fajnie, że cały czas usiłujemy stworzyć spotkania, na których uczymy się poprzez kodowanie, a nie prelekcje."
Przez chwilę tylko pomyślałem, aby pokusić się i nazwać to tradycją, ale...tradycją nazwać niczego nie możesz, bo...to co dookoła powstaje, od nowa, to jest nasza codzienność, w której my żyjemy. I to mnie cieszy, i to właśnie nazwałbym...naszą scalową codziennością. Nie brzmi zachęcająco, co? Bynajmniej! Można już mówić o stałych spotkaniach środowych w Warszawie, których celem jest wspólna nauka programowania w języku Scala. Firma Javeo ma znaczący udział w promowaniu Scali w Warszawie, a dzięki dostępowi do sieci i korzystaniu z Google Hangouts on Air, również i w każdym zakątku naszego globu.


W kanonie spotkań jest rozwiązywanie zadań z zestawu S-99: Ninety-Nine Scala Problems - dwa, czasami nawet trzy zadania. Czasami idzie nam sprawniej, a czasami trochę się przedłuża. Zawsze mam z tym problem, aby przydzielić temu czas, bo nawet stali bywalcy, którzy niejednokrotnie już rozwiązywali te zadania - ukłon w stronę +Rafała Krzewskiego czy +Grzegorza Kubiaka czy +Piotra Trzpila - mają z tym niemały problem. I to jest dobre! Każdy może dołączyć do nas, do bywalców i tych rzadziej uczestniczących w spotkaniach w dowolnym momencie i liczyć, że będzie mógł odnaleźć się w towarzystwie. Klimat spotkań zachęca do dyskusji i aktywniejszego udziału (nieprawdaż +Dominiko Biel, nieprawdaż +Dominiku Wiernicki?)


Firma Javeo zapewnia miejsce z dostępem do sieci oraz napoje i pizze (w tym wegetariańską). W ten sposób mamy zagwarantowane 20 minut na przerwę, w której dyskutujemy o rzeczach ważnych i mniej ważnych. Zwykle przeciąga się to do 30, a nawet 40 minut. Wcale nie traci na tym wiedza scalowa, bo jest to moment, w którym wciąż dyskutujemy o sprawach scalowych, w mniej formalnej atmosferze - poza czasem antenowym, tj. poza Google Hangouts on Air.


Ogromne podziękowania należą się +Grzegorzowi Kubiakowi, Magdzie i szefostwu Javeo za udostępnienie nam miejsca i zapewnienie wyżywienia podczas naszych scalań.


Na ostatnim spotkaniu, zaraz po przerwie żywieniowej, "dorobiliśmy" się nowej pozycji w ramówce spotkań - 15-minutówce o szkielecie aplikacyjnym Akka. Tym razem +Andrzej Goławski wprowadził nas w temat jak się zabrać za Akkę. I to jemu również należą się brawa za pomysł! To kolejne wystąpienie Andrzeja podczas spotkań scalowych i widać, że za niedługo będzie z uśmiechem wspominał pierwsze kroki w wystąpieniach publicznych. Idzie mu zupełnie dobrze i tylko czekać, aż się weźmie za dłuższe i bardziej zaawansowane tematy podczas swoich prezentacji. Uważam go za ciekawą personę na scenie społecznościowej w Warszawie (hint: warto zaprosić go na jakąś prezentację już teraz zanim...nie dopchasz się do niego!).


Po Acce, zaproponowałem kolejne potyczki scalowe ze Scala API. Na tapetę wzięliśmy napisanie od zera metod Seq.takeWhile oraz Seq.grouped. Co ciekawe, przy ich pisaniu można było nauczyć się innych. Duże brawa dla +Grzegorza Kossakowskiego za kompetentną pomoc przy ich pisaniu. Udział Grzegorza jest zawsze witany z dużym aplauzem, bo nietrudno zauważyć jego nieprzeciętną wiedzę w obszarze zachowania kompilatora Scali. Bardzo podoba mi się taki sposób poznawania samego języka oraz biblioteki standardowej Scala API i to z pewnością będzie stałym elementem spotkań. Zawsze weźmiemy sobie jedną-dwie metody na tapetę i wspólnymi siłami spróbujemy je napisać od zera.


Tak zeszło nam do końca spotkania, które zakończyło się wyjątkowo o 20:30. Późno, ale szukać ze świecą tego, komu mogło się nudzić (przynajmniej ja takowych nie zauważyłem, a że specjalnie nie szukałem, więc...nieważne).


Zachęcam do udziału w spotkaniu w biurze Javeo lub zdalnie. Proszę o kontakt osoby zainteresowane udziałem zdalnym, którzy jednocześnie chcieliby mieć możliwość zabrania głosu podczas spotkania. Google Hangouts on Air pozwala na to, jedynie specjalnie zaproszonym osobom. Dziękuję dotychczasowym zdalnym. Pracuję nad większym Waszym udziałem, ale bez Twojej pomocy będzie mi znacznie trudniej.

Nagrania ze spotkań - przed i po lunchu - dostępne są na stronie spotkania - #Scalania 14 at #Javeo (formerly Javart) - part ONE oraz #Scalania 14 at #Javeo (formerly Javart) - part TWO (właśnie udało mi się odkryć, że można przypisywać zdjęcia jako tło do nagłówka spotkania - cudnie!)

Zapraszam wszystkich na kolejne spotkanie, które odbędzie się 2 kwietnia w siedzibie Javeo na Postępu. Podczas spotkania będziemy mieli okazję wysłuchać +Ewę Waliczek, która wprowadzi nas w tajniki Akki. Będzie to pierwsze żeńskie wystąpienie na deskach Warszawa Scala UG! Poza tym, gwarantowana dobra zabawa ze sporą dawką scalania.

Do zobaczenia!

19 marca 2014

O sbt dla SilesiaScala zdalnie (via Hangouts on Air)

0 komentarzy
Prace nad odpaleniem zdalnej prezentacji o sbt (narzędziu do zarządzania budowaniem projektu z użyciem języka Scala) trwały od 18 stycznia, kilka dni po tym, kiedy +Silesia Scala oznajmiła na twitterze, że przyjmuje zgłoszenia tematów związanych ze Scalą.


Od kilku miesięcy siedzę przy sbt i szukam różnych miejsc sprawdzenia się w boju z moją znajomością tematu. Chciałbym móc pochwalić się wieloma projektami, ale poza jednym produkcyjnym projektem w mojej firmie z użyciem sbt, moim głównym źródłem wiedzy są pytania na StackOverflow pod szyldem sbt. Właśnie wczoraj otrzymałem odznakę sbt za uzyskanie 100 punktów za 20 odpowiedzi, co jest dla mnie istotnym osobistym osiągnięciem.

Moją aktywność na SO traktuję jako swego rodzaju projekt, w którym dotykam problemów, z którymi mógłbym nawet nie mieć styczności podczas swoich (projektów). Zrozumienie opisów przedstawionych problemów jest dla mnie samo w sobie wyzwaniem, a co tu mówić o znajomości sbt na poziomie umożliwiającym podanie rozwiązania. Doszło już do tego, że nierzadko zaglądam do kodów źródłowych narzędzia, aby zrozumieć jego zachowanie, a że znajomość Scali wciąż u mnie na poziomie podstawowym, więc nie jest lekko.

Wszystko to sprawiło, że pomyślałem, że mógłbym spróbować swoich sił w roli prelegenta na +Silesia Scala i przedstawić (swoje rozumienie) sbt. Chwyciło!

I tak się zaczęło, a wczoraj zrealizowało.

Zawsze byłem i jeszcze długo będę orędownikiem takich aktywności zdobywania wiedzy, a że nigdy tego za mało, przypomnę się ponownie. Zachęcam do takich inicjatyw każdego, komu leży na sercu dzielenie się wiedzą pro publico bono (z oczywistym zyskiem podniesienia swojego rozpoznania danego tematu). Warto potraktować publiczne wystąpienie jako inny rodzaj projektu, w którym wiedzy z pewnością nigdy za wiele. Zawsze znajdzie się pytanie, na które odpowiedź będzie przyczynkiem do przekroczenia bariery swojej znajomości tematu. I to jest dobre!

Osoby, które mają ze mną bliższy kontakt doświadczyły niejednokrotnie realizacji mojego motto, które brzmi:

"Każdy ma wystarczająco dużo wiedzy, aby móc się nią podzielić z innymi"

Innymi słowy, nie trzeba być ekspertem w wybranym obszarze, aby móc podzielić się już pozyskaną wiedzą.

Niestety, doświadczyłem niejednokrotnie na własnej skórze, że oczekiwanie jest zwykle, że prelegent wie więcej niż wszyscy słuchacze lub co najmniej od większości na sali. To niestety ma tę wadę, że nie zachęca do prezentacji swojej wiedzy, którą zwykle (zawsze?) uważamy za niewystarczającą do publicznej ekspozycji. Z drugiej strony słabe przygotowanie tematyczne może spotkać się z dezaprobatą i brakiem zainteresowania kolejnymi prezentacjami tej osoby w przyszłości, do której przylgnie nalepka "nauczyć się od niej raczej niemożliwe". Trzeba znaleźć balans między doskonałością a przeciętnością. Przykre to o tyle, że tworzy się impas i trzeba dużej odwagi i samooceny, aby w końcu zechcieć wystąpić publicznie. Nie wspominając, że Ci, którzy mają wiedzę, zwykle nie mają czasu lub ochoty lub po prostu nie widzą sensu dla takich praktyk. I to też jest problemem, bo nie ma wielu do wzięcia na siebie brzemienia krzewienia wiedzy i pracy u podstaw. "Wszystkich nie zadowolisz" jak mawiają.

Dla mnie wczorajsze spotkanie było niezwykłym sprawdzianem swojej wiedzy z sbt. Starałem się zachować umiar w moich ochach i echach odnośnie sbt oraz zachować ogólny spokój w sposobie przedstawiania tematu. Mam tendencję do przedobrzania i zbytniego entuzjazmu w podejmowaniu się wyzwań podczas prezentacji, głównie w postaci podejmowania się rozwiązywania problemów, z którymi nie miałem do czynienia wcześniej podczas publicznych wystąpień, co ma tę wadę, że nierzadko prowadzi do wpadek, które źle poprowadzone kończą się niższymi ocenami uczestników. Trzeba być ostrożnym. Wpadłem bodaj trzykrotnie, aczkolwiek odpuściłem wyłącznie, aby nie zajmować uczestników rozwiązaniami, których wartość merytoryczna była znikoma, a czas poświęcony ogromny. Lubię stąpać po obrzeżach swojej wiedzy, ale zbytnia frywolność związana z czasem "antenowym" jest niewskazana.

Co uważam za największe osiągnięcie wirtualnej prezentacji sbt, to panowanie nad czasem poszczególnych kawałków prezentacji, między którymi pozwoliłem sobie na angażowanie publiczności do zadawania pytań, czy po prostu zajmowania stanowiska. Było ciekawie i pytania publiczności pozwoliły mi uzupełnić prezentację sbt o elementy, których nie miałem w planach i nie uważałem za istotne.


Pełne nagranie spotkania znajduje się na kanale YouTube grupy Silesia Scala. Zachęcam do obejrzenia i przesłaniu swoich uwag, które wykorzystam do uzupełnienia swoich braków prezentacyjnych oraz w sbt. Bardzo, bardzo proszę o przesłanie uwag, bo moje ego nie pozwala mi dostrzec wad, nad którymi powinienem popracować. Bez Twojej pomocy będzie mi ciężko, jeśli w ogóle możliwe.

Dziękuję grupie +Silesia Scala, a w szczególności panom +Henryk Konsek, Pawłowi Sołtyskowi za organizację spotkania i umożliwienie poprowadzenia sesji na temat sbt. Dodatkowe podziękowania należą się Andrzejowi za pytania dotyczące sbt 0.13.0 oraz Marcinowi Kubale za zdalny udział w spotkaniu i zadawanie pytań. Dziękuję pozostałym uczestnikom za wytrwanie do końca, co pozwala mi sądzić, że prezentacja mogła być wartościowa chociaż dla części. Dziękuję!

Więcej informacji, w tym zdjęcia ze spotkania, znajdują się na stronie spotkania na meetupie grupy Silesia Scala User Group. Wierzę, że to nie jest moje ostatnie wystąpienie na deskach SSUGa i chętnie wystąpię u innych grup scalowych i javowych w Polsce.

01 marca 2014

Jamie Allen about Effective Akka po angielsku

0 komentarzy
W nadchodzący poniedziałek, 3 marca 2014 od godziny 18:00 na Wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego (MIMUW) w sali 5440 odbędzie się spotkanie warszawskiego grupy scalowej, w którym gwiazdą wieczoru będzie pracownik Typesafe (firmy stojącej za językiem Scala) - Jamie Allen, który opowie o szkielecie aplikacyjnym Akka.

Więcej bieżących informacji znajduje się na meetupie Jamie Allen about Effective Akka.

Udział w spotkaniu na chwilę obecną potwierdziło 28 uczestników oraz trzech sponsorów, którzy zadbają o oprawę spotkania - strawę, napoje oraz książki o Acce. Kiedy tylko pomyślisz o Scali w Polsce, powinno być już dużo łatwiej zdecydować, do których firm należy skierować swoje kroki w poszukiwaniu interesujących projektów z tym językiem.




Dziękuję w imieniu swoim i uczestników!

25 lutego 2014

Jak zacząć naukę programowania w języku Scala

0 komentarzy
Zostałem zapytany, co ze stron lub książek polecałbym na początek nauki programowania w języku Scala. Pomyślałem, że jest to dobry materiał na wpis, a że nie mam weny, będzie krótko (niech to stanowi pożywkę do dalszych pytań, do których gorąco zachęcam).

Teoria

Polecam zapoznać się z dokumentacją, która dostępna jest na oficjalnej stronie języka - LEARN. Na pewno GETTING STARTED oraz Tutorials. Dla polskojęzycznych polecałbym książkę mojego kolegi +Grzegorz Balcerek Język programowania Scala. Wydanie 2 oraz Programming in Scala, First Edition (bo jest dostępna bezpłatnie i pisana przez samego autora).

Praktyka

Po tej dawce niezbędnej wiedzy programistycznej z języka Scala proponuję trochę praktyki - mój projekt scalania.

Podsumowanie

W pakiecie jest sporo wiedzy teoretycznej i nie mniej praktycznej. Powinien zaspokoić najbardziej wybrednych. Dla bardziej wymagających mam zadanie odpowiadania (pewnie początkowo "moderowania") na pytania na StackOverflow w kategorii scala.

Potrzebujesz więcej? Skontaktuj się ze mną na priv. Chętnie poprowadzę.