Fork me on GitHub
#clojure-poland
<
2015-10-22
>
pjagielski09:10:52

hej, co do przyszłości Clojure do brakuje w PL jakieś większej społeczności

pjagielski09:10:30

no i opuścił nas jakiś czas temu Jacek Laskowski 😉

jaen09:10:10

#C0CB40N8K, choć widzę że już zauważyłeś ten kanał

jaen09:10:40

Ludzie boją się że jak dojdą do szklanego sufitu jaki narzuca Slack (kilka społeczności miało ostatnio z tym problem) to będzie niewesoło

jaen09:10:57

Więc myślą nad napisaniem własnej alternatywy będącej przy okazji pokazówką języka

jaen09:10:59

More or less

pjagielski09:10:57

http://www.mattermost.org/ ostatnio było o tym głośno

pjagielski09:10:27

ale podoba mi się pomysł pokazania ecosytemu Clojure na tym projekcie

pjagielski09:10:43

pytanie czy nie będzie jakichś przepychanek z wyborem bibliotek 😉

pjagielski09:10:55

om vs. reszta świata itp

jaen09:10:10

Tylko nie om D :

jaen09:10:53

O tym mattermost ktoś wspominał jako jednej z alternatyw chyba, podobnie jak o discord

jaen09:10:01

Ale już nie pomnę co im do końca nie pasowało

jaen09:10:05

Może go? ; d

pjagielski09:10:04

no ja nie do konca czaje co ludzie widza w tym go

pjagielski09:10:30

imperatywny jezyk ze wskaznikami...

pjagielski09:10:08

tzn. wiem ze dobrze sie w tym pisze rzeczy blisko systemu, np. docker

jaen09:10:47

No to jest wygodne to pisania tzw. plumbingu, właśnie jak docker, jakieś serwery, jakieś cośtamy, bo to w zasadzie GC-owane C z dodanym CSP i beznadziejnym systemem pakietów

jaen09:10:22

Więc pewnie ludzie którzy coś takiego piszą są w tym bardziej produktywni niż C, a nie muszą się uczyć niczego specjalnie innego

jaen09:10:26

Pewnie stąd ta popularność

pjagielski09:10:07

no tak, ML raczej w tym nikt nie robi 😉

jaen09:10:13

Jesteś pewien? : V

jaen09:10:21

Tak, też trochę śmiechłem

jaen09:10:37

Go niby jest natywne ale na aliothu (swoją drogą zrobili nową stronę) plasuje się szybkościa w okolicach Javy

jaen09:10:59

Więc nie ogarniam jaki zysk z pisania ML w Go, skoro na JVM masz bardzo dojrzały ekosystem bibliotek do tego

jaen09:10:02

No ale, co kto lubi.

jaen09:10:17

A co do tego, że brakuje w PL jakiejś większej społeczności - racja, ale to chyba ogólny problem FP w Polszy. Duże miasta typu W-wa czy Krk. mają jakieś swoje spotkania (typu Lambda Lounge w Krakowie właśnie), jest nawet jedna konferencja stricte FP (Lambda Days w Krakowie) i jest także Polyconf, ale jest to fenomen dosć ograniczony. Ja jestem z Gliwicowa, mamy Politechnikę u siebie, mamy stolicę Śląska pod nosem i jedyne o czym słyszałem a jest jako-tako związane z FP to pierwsze spotkanie Erlangowców w zeszłym miesiącu.

pjagielski09:10:38

używacie cursive'a?

pjagielski09:10:02

@jaen 😉 ale euroclojure było

jaen09:10:02

Ja używam, fajna rzecz.

jaen09:10:30

No było, sam byłem nawet, ale większość ludzi to był tam głównie import jednak.

andrut09:10:46

Cursive rządzi

pjagielski09:10:56

a kto to organizował?

pjagielski09:10:11

tylko wszedł dziś ten update i repl mi przestał działać...

pjagielski09:10:22

Could not locate lein_environ/plugin__init.class or lein_environ/plugin.clj on classpath

pjagielski09:10:29

chyba z profilami się pozmieniało

jaen09:10:32

Jeszcze nie włączałem dzisiaj intellij

jaen09:10:37

A które masz?

andrut09:10:57

hm, ja wczoraj robiłem update i wszystko śmiga

andrut09:10:23

dzisiaj na innym kompie też ładnie

pjagielski09:10:42

no nic, musze powalczyc

andrut09:10:01

i ma już fix simple_smile

pjagielski10:10:52

@jrychter: a kiedy jakieś kontrybucje do open-source?

pjagielski10:10:24

wyglada obiecujaco

jrychter10:10:59

@pjagielski: masz na myśli np. takie kontrybucje jak moje kilkanaście otwartych bug-reportów do różnych bibliotek? simple_smile

pjagielski10:10:08

ale podoba mi sie wlasnie to co robi metosin

jrychter10:10:32

Tak. Niestety, są też realia. Metosin Oy nie jest firmą polską. W Polsce mało którą firmę programistyczną stać na budowanie rozwiązań open-source (to jest bardzo drogie!), bo klienci nie są w stanie unieść cen usług, jakie by to wymuszało.

jrychter10:10:59

Już kilka razy patrzyliśmy na kod, który dałoby się przerobić na bibliotekę i opublikować — za każdym razem było to za drogie.

jrychter10:10:23

Za to hobbystycznie każdy coś publikuje (nawet ja)

pjagielski10:10:58

ale fajne jest to ze duzo firm okolo-clojure wrzuca swoje rzeczy: juxt, aviso

pjagielski10:10:20

ale oni rzeczywiscie pracuja na zagranicznych stawkach

jaen10:10:21

Eww, Apple D :

jaen10:10:46

Ale rzeczywiście a tak bardzo nieopłacalne jest OS-owanie swoich rozwiązań?

pjagielski10:10:21

no raczej trakowalbym to jako inwetycje w ropoznawalnosc

pjagielski10:10:25

kosztowalo to sporo

jaen10:10:35

No tak, tylko @jrychter zabrzmiał tak, jakby nawet lepsza rozpoznawalność się nie opłacała, bo za dużo traci się prawdziwej, twardej kasy. I się po prostu zastanawiam czy to rzeczywiście jest aż tak problematyczne.

jaen10:10:48

O, wygląda ciekawie

jrychter10:10:15

Ta rozpoznawalność jest wyłącznie w niewielkiej grupie programistów. Oczywiście to jest ważne, ale prawda jest taka, że w świecie Clojure firmy pracujące w Clojure i tak są rozpoznawalne w tej grupie.

jaen10:10:36

Mnie kafka przerażała głównie ze względu na Zookeepera.

jaen10:10:03

No tak, racja, Clojure'owców jest jeszcze na tyle mało

jrychter10:10:12

Zookeeper to jest coś od czego nie da się uciec, więc nie warto.

jaen10:10:20

Że trudno firmie zginąć w tłumie, że tak powiem

jaen10:10:42

Zwłaszcza w Polszy, gdzie ich ilość można zliczyć jak nie na palcach jednej ręki, to dwóch na pewno.

jrychter10:10:46

Każdy system, jaki ostatnio budujemy, ma w sobie zookeepera — i dobrze, bo jest to niezawodny i przewidywalny mechanizm koordynacji w systemach rozproszonych.

jaen10:10:09

Nie mówię, że nie jest, tylko jak np. czytałem o etcd i o zookeperze

pjagielski10:10:16

ZK nie jest taki zły jak go maluja, potwierdzam działa b.dobrze

jaen10:10:18

To ten drugi wydawał sie bardziej skomplikowany i wymagający porządnego admina

jaen10:10:23

Który go ogarnia

pjagielski10:10:43

no ale ZK ma fajniejsze mechanizmy, np. watche

jrychter10:10:46

@jaen: nie ma co narzekać na ilość. Jest wystarczająco, na co wskazuje choćby to, że ciągle szukamy nowych ludzi do pracy.

pjagielski10:10:13

jak jestes na jvm to nie ma nic lepszego

pjagielski10:10:38

etcd, consul moze maja ladniejsze strony, ale to wszystko

pjagielski10:10:10

poza tym kafka ma dobre obrazy dockera

jaen10:10:44

Wydaje mi się, że etcd zdaje się też ma watche. Bardziej to wszystko się chyba brało z tego, że wszystko do tej pory robiłem sam, nie pracowałem w większym zespole, więc musiałem ogarniać wszystko od A do Z, włacznie z deployem

jaen10:10:00

I z tego co czytałem o ZK to wiem, że dobrze to ja bym go nie postawił gdyby było trzeba

jaen10:10:08

Więc grawitowałem raczej w stornę prostszych rozwiazań

jaen10:10:41

Ale że to jest top tier stuff to nie zaprzeczam, tylko trzeba po prostu umieć sie z nim obchodzić

pjagielski10:10:14

mysmy administrowali przez jakis czas, jak juz zestawisz klaster to jest latwo

pjagielski10:10:33

trzeba tylko uwazac na limit polaczen no i zeby miejsce bylo

jaen10:10:52

Bo tak poza tym trochę przerażajacym ZK to kafka wydaje sie naprawdę dobrą kolejką z tego co czytałem

jaen10:10:58

(ech ten brak wiedzy praktycznej)

pjagielski10:10:09

no tak, przy duzym ruchu niezle sie sprawdza

andrut10:10:26

my przetwarzamy 800 mln eventów dziennie i kafka daje radę (oczywiście kilkanaście/dziesiąt instancji, ale wciąż)

jrychter10:10:57

@andrut: a gdzie przetwarzacie? I skąd te eventy bierzecie? simple_smile

andrut10:10:00

ale ja się nie znam, ja się tym konkretnie nie zajmuję

andrut10:10:24

digital advertising, dane z cookiesów

andrut10:10:56

technologia pixel, jeśli to Ci coś mówi

jrychter10:10:50

Mówi, mówi — my też zliczamy, ale tylko w E-commerce, gdzie jest tego mocno mniej niż w reklamie.

jrychter10:10:19

Dzięki, byłem ciekaw. Tak pytam, bo na ogół wszyscy mówią o wielkich ilościach danych a potem okazuje się, że tak naprawdę mało kto ma tych danych dużo.

andrut10:10:08

my mamy całkiem sporo tego, używamy cassandry jaka data store, system napisany w Javie

andrut10:10:00

mamy ponad miliard unikalnych profili użytkowników na całym świecie (ale nie potrafimy jeszcze zmatchować użytkownika na różnych urządzeniach / przeglądarkach)

jaen10:10:38

@jrychter: jasne, jak jest mało firm (ja kojarzę chyba z pięć - Twoją, dwie z Poznania i dwie z Krakowa) i mało programistów Clojure, to - zwłaszcza już znając język - masz dużo większą szansę się gdzieś dostać i robić w tym co lubisz, bo nie ma w kim przebierać. Więc nie tyle narzekam na ilość, co lokalizację - tu na Śląsku nic w kwestii FP się nie dzieje i by trzeba było emigrować : C W takim US&A to zawsze gdzieś blisko znajdziesz jakiś meetup na którym będziesz mógł pogadać z ludźmi o FP, a tutaj to nawet profesor na uczelni myśli, że języki funkcyjne to np. C.

jrychter10:10:38

No, ja tam zawsze wszystkim przypominam, że praca zdalna to przyszłość i u nas w tej chwili już niemal wszyscy pracują zdalnie (z Warszawy i Łodzi, wcześniej też z Krakowa). Nie ma dużego znaczenia gdzie się fizycznie mieszka.

pjagielski10:10:57

ale raczej zawsze w ofertach z us jest zeby chociaz EST time zone

pjagielski10:10:14

slyszalem ze ktos pracuje 11-19

pjagielski10:10:27

jak masz dzieci to raczej odpada 😉

jrychter10:10:34

Zdecydowanie odpada

jrychter10:10:53

Dlatego nie należy czytać ofert z US simple_smile

jaen11:10:58

No to też jest dla pewnego typu ludzi - ja np. pracowałem zdalnie jakiś czas i dobrze sobie z tym radziłem póki prawdziwe życie nie stwierdziło, że ma na ten temat inne zdanie i się wszystko posypało. Praca w meatspace jednak wprowadza dużo bardziej wyraźny rytm w życiu, który niektórym po prostu jest potrzebny, bo nawet jak wszystko inne szwankuje to trudniej jest nie pokazać się w pracy niż po prostu nie wstać z łóżka do komputera. Jak ktoś ma rodzinę czy coś, to wtedy podejrzewam dużo prościej się pracuje zdalnie, bo coś innego wprowadza ten rytm dnia. I już pomijajac ten aspekt, to jednak wydaje mi się że kolokacja ma pewne swoje zalety w pracy - w moim odczuciu łatwiej się wymienia pomysłami czy coś tłumaczy jeżeli można to zrobić w 2n oczu, z kartka papieru czy tablicą pod ręką. Niby są różne screen sharingi, VOIPy i tak dalej, ale zawsze wydaje mi się to w pewien sposób ułomne, choć może to ze mną jest coś nie tak, a nie z takim podejsciem do pracy.

jaen11:10:29

A co do ofert z US to jest jakiś tradeoff - może mniej wygodny czas pracy, ale miliony monet wypłaty

jrychter11:10:15

Praca zdalna wymaga samodyscypliny, to prawda, i trzeba to sobie wypracować, nie każdy ma to „w sobie”.

jaen11:10:41

To jest zadziwiające ile za bzdurne robienie prostej strony w Railsach klient na mnie płacił - okolice $25 za godzinę (choć nigdy tyle na rękę nie widziałem, bo pracowałem przez firmę która w tym pośredniczyła i zjadała sobie jakieś 3/4)

jrychter11:10:40

$25/h? To nie jest dużo, nawet w Polsce. W Warszawie poważna firma nie jest w stanie sprzedawać prac programistycznych poniżej 150zł/h.

jaen11:10:18

No dobra, może mam zaburzoną perspektywę, dla studenta który jeszcze nie skończył studiów i miał ~2 lata doświadczenia w Railsach to był kosmos

nooga11:10:28

co tu robicie tak wczesnie rano

pjagielski12:10:13

@nooga: tak jak śledzę - to wreszcie coś zaczęliśmy tu pisać 😉

nooga12:10:44

podejrzewam, że wszyscy dzielnie piszą kod zamiast gawędzić 😆

pjagielski12:10:30

to ja mam pytanie - czy ktoś używa schema + component?

nooga12:10:38

component tak, ale nie schema

pjagielski12:10:01

a czemu? 😉

nooga12:10:14

a po co mi schema? 😉

pjagielski12:10:07

dokumentacja, łatwiejsze utrzymanie i wejście w projekt dla nowej osoby

pjagielski12:10:45

bardziej miękkie lądowanie przy przejściu ze statycznego typowania 😉

nooga12:10:30

rozumiem, ale nie - ja stawiam na actor model i message passing więc w zasadzie musimy się tylko dogadać co do typów wiadomości a reszta jest mało interesująca

nooga12:10:51

zresztą i tak wszystko podlega ciągłej zmianie i nam się nie chce

nooga12:10:28

ponadto mamy neo4j, z grafem, który w sumie codziennie ewoluuje, więc też szkoda czasu na wymyślanie schematów w tym okresie

pjagielski12:10:39

a macie z component tylko cykl zycia czy tez jakas logikę jak tu : https://github.com/Moocar/clojure-west-2015/blob/master/src/system.clj ?

jaen12:10:45

@pjagielski: a czemu w sumie się pytasz o component akurat w połączeniu ze schema?

pjagielski12:10:03

no bo wlasnie cos takiego testuje

pjagielski12:10:16

niestety schema nie dziala na defprotocol

jaen12:10:53

W sensie, że rboisz jak w tym repo przypinanie metod do komponentów chcesz oschemować (przez analogię do otypować) metody w protokołach?

pjagielski12:10:07

dokladnie tak

pjagielski12:10:22

ale moze to zly pomysl?

jaen12:10:34

Hm nie wiem, nie jestem component guru. Jak korzystałem z komponentu to raczej pisałem funkcje w jakimś ns, które przyjmowały system jako argument, wyciągały z niego co potrzebowały i na tym działały, tylko też nie wiem czy to dobry pomysł tak naprawdę.

jaen12:10:18

Podpięcie metod pod rekord wydaje się całkiem sensowne o tyle, że odpowiednie elementy systemu masz już in scope jako pola rekordu, a nie dopiero musisz je wyciągać z niego

jaen12:10:31

Ale nie umiem zdecydować czy to dobrze czy zbyt obiektowo tak po prawdzie

pjagielski12:10:12

no wtedy jest o tyle dobrze ze te zaleznosci nie musza byc parametrem w kazdej metodzie

nooga12:10:40

ja próbowałem jedno i drugie

nooga12:10:43

i nie mam zdania