clojure-poland

2015-10-22T09:01:52.000082Z

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

2015-10-22T09:02:16.000083Z

było coś takiego https://groups.google.com/forum/#!forum/clojurians-warszawa ale umarło

2015-10-22T09:02:30.000084Z

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

2015-10-22T09:03:33.000085Z

BTW. wiecie o co chodzi w https://github.com/clojurians/clojurians-chat ?

jaen 2015-10-22T09:06:10.000087Z

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

jaen 2015-10-22T09:06:40.000088Z

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

jaen 2015-10-22T09:06:57.000089Z

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

jaen 2015-10-22T09:06:59.000090Z

More or less

2015-10-22T09:09:57.000091Z

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

2015-10-22T09:10:27.000092Z

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

2015-10-22T09:10:43.000093Z

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

2015-10-22T09:10:55.000094Z

om vs. reszta świata itp

jaen 2015-10-22T09:11:10.000095Z

Tylko nie om D :

2015-10-22T09:11:47.000096Z

https://github.com/mattermost/platform

jaen 2015-10-22T09:11:53.000098Z

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

jaen 2015-10-22T09:12:01.000099Z

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

jaen 2015-10-22T09:12:05.000100Z

Może go? ; d

2015-10-22T09:13:04.000101Z

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

2015-10-22T09:13:30.000102Z

imperatywny jezyk ze wskaznikami...

2015-10-22T09:14:08.000103Z

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

jaen 2015-10-22T09:15:47.000104Z

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

jaen 2015-10-22T09:16:22.000105Z

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

jaen 2015-10-22T09:16:26.000106Z

Pewnie stąd ta popularność

2015-10-22T09:17:07.000107Z

no tak, ML raczej w tym nikt nie robi 😉

jaen 2015-10-22T09:18:13.000108Z

Jesteś pewien? : V

jaen 2015-10-22T09:18:14.000109Z

https://github.com/sjwhitworth/golearn

2015-10-22T09:18:31.000112Z

lol

jaen 2015-10-22T09:19:21.000113Z

Tak, też trochę śmiechłem

jaen 2015-10-22T09:19:37.000114Z

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

jaen 2015-10-22T09:19:59.000115Z

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

jaen 2015-10-22T09:20:02.000116Z

No ale, co kto lubi.

jaen 2015-10-22T09:25:17.000117Z

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.

2015-10-22T09:25:38.000118Z

używacie cursive'a?

2015-10-22T09:26:02.000119Z

@jaen 😉 ale euroclojure było

jaen 2015-10-22T09:26:02.000120Z

Ja używam, fajna rzecz.

jaen 2015-10-22T09:26:30.000121Z

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

2015-10-22T09:26:46.000122Z

Cursive rządzi

2015-10-22T09:26:56.000123Z

a kto to organizował?

2015-10-22T09:27:11.000124Z

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

2015-10-22T09:27:22.000125Z

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

jaen 2015-10-22T09:27:24.000126Z

146?

2015-10-22T09:27:29.000127Z

chyba z profilami się pozmieniało

jaen 2015-10-22T09:27:32.000128Z

Jeszcze nie włączałem dzisiaj intellij

jaen 2015-10-22T09:27:37.000129Z

A które masz?

2015-10-22T09:27:57.000130Z

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

2015-10-22T09:28:23.000131Z

dzisiaj na innym kompie też ładnie

2015-10-22T09:28:42.000132Z

no nic, musze powalczyc

2015-10-22T09:31:54.000133Z

o widze ze ktos zglosil https://cursiveclojure.com/archive/1485.html#1489

2015-10-22T09:38:01.000134Z

i ma już fix :simple_smile:

2015-10-22T10:08:52.000135Z

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

2015-10-22T10:09:18.000136Z

ostatnio patrzylem w https://github.com/metosin/kekkonen

2015-10-22T10:09:24.000138Z

wyglada obiecujaco

jrychter 2015-10-22T10:10:59.000139Z

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

2015-10-22T10:11:47.000140Z

to tez 😉

2015-10-22T10:12:08.000141Z

ale podoba mi sie wlasnie to co robi metosin

jrychter 2015-10-22T10:13:32.000142Z

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.

jrychter 2015-10-22T10:13:59.000143Z

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.

jrychter 2015-10-22T10:14:23.000144Z

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

2015-10-22T10:14:30.000145Z

ok, jasne

2015-10-22T10:16:58.000146Z

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

2015-10-22T10:17:20.000147Z

ale oni rzeczywiscie pracuja na zagranicznych stawkach

2015-10-22T10:18:16.000148Z

jest jeszcze ten gosc https://github.com/pyr

2015-10-22T10:18:32.000150Z

z innej beczki: https://twitter.com/_jrwest/status/653724551465926656

jaen 2015-10-22T10:20:21.000152Z

Eww, Apple D :

jaen 2015-10-22T10:20:46.000153Z

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

2015-10-22T10:21:21.000154Z

no raczej trakowalbym to jako inwetycje w ropoznawalnosc

2015-10-22T10:23:07.000155Z

ja np. pracowalem przy https://github.com/allegro/hermes

2015-10-22T10:23:25.000157Z

kosztowalo to sporo

jaen 2015-10-22T10:23:35.000158Z

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.

jaen 2015-10-22T10:24:48.000159Z

O, wygląda ciekawie

jrychter 2015-10-22T10:25:15.000160Z

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.

jaen 2015-10-22T10:25:36.000161Z

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

jaen 2015-10-22T10:25:37.000162Z

Hm

jaen 2015-10-22T10:26:03.000163Z

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

jrychter 2015-10-22T10:26:12.000164Z

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

jaen 2015-10-22T10:26:20.000165Z

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

jaen 2015-10-22T10:26:42.000166Z

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

jrychter 2015-10-22T10:26:46.000167Z

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

jaen 2015-10-22T10:27:09.000168Z

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

2015-10-22T10:27:16.000169Z

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

jaen 2015-10-22T10:27:18.000170Z

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

jaen 2015-10-22T10:27:23.000171Z

Który go ogarnia

2015-10-22T10:27:43.000172Z

no ale ZK ma fajniejsze mechanizmy, np. watche

jrychter 2015-10-22T10:27:46.000173Z

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

2015-10-22T10:28:04.000174Z

no i jest http://curator.apache.org/curator-framework/

2015-10-22T10:28:13.000175Z

jak jestes na jvm to nie ma nic lepszego

2015-10-22T10:28:38.000176Z

etcd, consul moze maja ladniejsze strony, ale to wszystko

2015-10-22T10:30:10.000177Z

poza tym kafka ma dobre obrazy dockera

jaen 2015-10-22T10:30:44.000178Z

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

jaen 2015-10-22T10:31:00.000179Z

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

jaen 2015-10-22T10:31:08.000180Z

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

jaen 2015-10-22T10:31:41.000181Z

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

2015-10-22T10:32:14.000182Z

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

2015-10-22T10:32:33.000183Z

trzeba tylko uwazac na limit polaczen no i zeby miejsce bylo

jaen 2015-10-22T10:33:18.000184Z

Mhm

jaen 2015-10-22T10:33:52.000185Z

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

jaen 2015-10-22T10:33:58.000186Z

(ech ten brak wiedzy praktycznej)

2015-10-22T10:36:09.000187Z

no tak, przy duzym ruchu niezle sie sprawdza

2015-10-22T10:36:26.000188Z

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

2015-10-22T10:36:34.000189Z

nice

jrychter 2015-10-22T10:36:57.000190Z

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

2015-10-22T10:37:00.000191Z

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

2015-10-22T10:37:24.000192Z

digital advertising, dane z cookiesów

2015-10-22T10:37:56.000193Z

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

2015-10-22T10:37:59.000194Z

pracuję dla http://eyeota.com

jrychter 2015-10-22T10:38:50.000195Z

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

jrychter 2015-10-22T10:39:19.000196Z

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.

2015-10-22T10:40:08.000197Z

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

2015-10-22T10:41:00.000198Z

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)

jaen 2015-10-22T10:50:38.000199Z

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

jrychter 2015-10-22T10:51:38.000200Z

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.

2015-10-22T10:53:57.000201Z

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

2015-10-22T10:54:14.000202Z

slyszalem ze ktos pracuje 11-19

2015-10-22T10:54:27.000203Z

jak masz dzieci to raczej odpada 😉

jrychter 2015-10-22T10:54:34.000204Z

Zdecydowanie odpada

jrychter 2015-10-22T10:54:53.000205Z

Dlatego nie należy czytać ofert z US :simple_smile:

jaen 2015-10-22T11:03:58.000206Z

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.

jaen 2015-10-22T11:04:29.000207Z

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

jrychter 2015-10-22T11:05:15.000208Z

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

jaen 2015-10-22T11:05:41.000209Z

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)

jrychter 2015-10-22T11:06:40.000210Z

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

jaen 2015-10-22T11:08:18.000211Z

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

2015-10-22T11:08:52.000212Z

yawn

2015-10-22T11:09:28.000213Z

co tu robicie tak wczesnie rano

2015-10-22T12:08:13.000215Z

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

2015-10-22T12:08:44.000216Z

haha

2015-10-22T12:09:44.000217Z

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

2015-10-22T12:12:30.000218Z

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

2015-10-22T12:15:38.000219Z

component tak, ale nie schema

2015-10-22T12:16:01.000220Z

a czemu? 😉

2015-10-22T12:16:14.000221Z

a po co mi schema? 😉

2015-10-22T12:19:07.000222Z

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

2015-10-22T12:19:45.000223Z

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

2015-10-22T12:31:30.000224Z

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

2015-10-22T12:31:51.000225Z

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

2015-10-22T12:32:28.000226Z

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

2015-10-22T12:36:39.000228Z

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 ?

jaen 2015-10-22T12:37:45.000230Z

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

2015-10-22T12:38:03.000231Z

no bo wlasnie cos takiego testuje

2015-10-22T12:38:16.000232Z

niestety schema nie dziala na defprotocol

jaen 2015-10-22T12:42:53.000233Z

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

2015-10-22T12:43:07.000234Z

dokladnie tak

2015-10-22T12:43:22.000235Z

ale moze to zly pomysl?

jaen 2015-10-22T12:45:34.000236Z

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

jaen 2015-10-22T12:46:18.000237Z

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

jaen 2015-10-22T12:46:31.000238Z

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

2015-10-22T12:47:12.000239Z

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

2015-10-22T12:49:40.000240Z

ja próbowałem jedno i drugie

2015-10-22T12:49:43.000241Z

i nie mam zdania