Fork me on GitHub
#clojure-poland
<
2015-11-19
>
darnok09:11:44

I was doing that talk about Clojure simple_smile. It was about interactive programming.

jaen09:11:29

Oh huh, would you look at that : D It's always nice to see people promoting FP. I'm trying to do a Clj/Cljs talk at my local university, but I have a sinking feeling noone will be interested xD

jaen09:11:41

Also, ten óczuć kiedy rozmawiasz na polskim kanale po angielsku

darnok17:11:33

Może nie będzie tak źle. Ja w firmie robiłem prezentację o Clojure i trochę przysypiali, ale jak pokazałem że postawiłem RESTowy serwis w minutę i do tego podłączyłem się z innego kompa z moim REPL’em to się obudzili simple_smile.

jaen17:11:48

Mój plan brzmi "zrobić prezentację w Reagencie, podłaczyć się do niej replem i na żywo im zrobić prosty chat bez żadnego przeładowywania czegokolwiek" tylko nie wiem czy wyjdzie.

jaen17:11:03

No i obawiam się że przyjdą tylko jakieś łosie z pierwszego roku i nie zrozumieją xD

jaen17:11:27

Bo w sumie generalnie to robi wrażenie jak tak można na żywo pracować na aplikacji ; d

nooga20:11:14

ja mam zamiar w pz rozkręcić jakieś FP meetups

nooga20:11:40

@jaen: na poliburdelu takie prezki to kiepski pomysł

nooga20:11:58

kiedyś robiłem i wyszło tak że nikt nic nie rozumiał ale nie było pytań

nooga20:11:19

mimo, że pytałem co linijkę czy coś wyjaśnić ;D

jaen20:11:55

No dokładnie tego się obawiam xD

nooga20:11:05

mało tego, na lokalnym java user group ludzie nie potrafili pojąć co to jest clojure po 30 minutowym talku od zera

jaen20:11:05

Studenci to debile. Wiem coś o tym, bo sam nim jestem xD

nooga20:11:21

chociaz tutaj winie troche prezentera bo on dopiero zaczal sie konwertowac z javy i sam trche nie wiedzial o czym mowi

nooga20:11:26

ale pytania byly harde

nooga20:11:07

typu „ale to jest jakis taki plugin do javy tak?”

jaen20:11:14

top kek xD

nooga20:11:28

„jak to request jest mapa???!??! gdzie 29 klas z jbossa?!?!"

nooga20:11:45

„po co komu mikroserwisy jak mozna pisac monolit!"

nooga20:11:57

takze piwo bylo za darmo, cos wynioslem

nooga20:11:39

mnie korci zeby zrobic taki live code od totalnego zera

nooga20:11:46

dla ludzi ktorzy nie programowali nawet

nooga20:11:56

i napisac cos uzytecznego na 20 linijek

jaen20:11:25

Znaczy ja bym z drugiej strony nie pił cool-aidu mikroserwisów też. To nie jest potrzebne jakiemuś niedzielnemu sklepowi internetowemu, a nie każdy jest netflixem : V

nooga20:11:28

pokazac co to jest wartosc, ze funkcja to wartosc i ze to takie lego ktore sobie mozna skladac

jaen20:11:35

Ale to z tym pluginem i mapą to śmiechłem.

jaen20:11:45

No, brzmi jak fajny pomysł

nooga20:11:19

co do microservices to mysle, ze mozna stosowac rozne granulki, ze tak powiem

nooga20:11:25

jak masz jakis data pipeline to wiadomo

nooga20:11:40

chcialbys miec swoje programy widoczne z zewnatrz jako pure functions

nooga20:11:52

i jakies cos co nimi zawiaduje zebys nie musial

nooga20:11:49

my teraz w projekcie w sumie mamy taka centralna usluge, ktora sobie stoi i jest mózgiem operacji, są serwisy brzegowe i jest backend backendu

jaen20:11:49

No tylko chodzi o to, że mikroserwisy to jest dość duży narzut architekturalny, który IMO się zaczyna zwracać dopiero wtedy jak się musisz bardzo elastycznie skalować.

nooga20:11:54

i tam juz jest node i cep akurat

nooga20:11:17

ale rozbijanie projektu na takie bloki funkcyjne, powtykanie kolejek itd zawsze sie oplaca

nooga20:11:27

chocby ze wzgledu na rozne technologie stosowane

nooga20:11:39

i mozliwosc podmiany jednego na drugie relatywnie bez stresu

jaen20:11:34

A no to tak, ale to można robić np. idąc w architekturę hexagonalną która właśnie coś takiego zapewnia i dopiero potem odrywać klocki jako mikroserwisy kiedy rzeczywiście skalowalność/odporność na błędy/inny-bonus-z-mikroseriwsów zaczyna być istotny.

jaen20:11:54

W ogóle moja polibuda mnie pozytywnie zaskoczyłą, bo przez 6 lat jakie na niej jestem

jaen20:11:06

Właśnie trafiłem na PIERWSZY interesujący przedmiot

jaen20:11:37

Który traktuje właśnie o architekturze systemów informatycznych i prowadzi go koleś który pracuje normalnie w firmie sobie, zarządza jakimiś projektami właśnie i zna te architektury praktycznie

jaen20:11:48

Pierwszy raz czegoś się dowiaduję na studiach przydatnego D :

nooga20:11:24

ja zawsze lubilem jezyki i paradygmaty, napisalem jitujacy kompilator regexpow i dostalem cela xD

nooga20:11:00

jedynego chyba w zyciu

jaen20:11:48

O, brzmi jak fajny projekt

nooga20:11:18

napisalem tez raytracer a pozniej taki ghetto map reduce ktory naparzał tym raytracerem units of work

nooga20:11:32

na kompach w 3 pracowniach

nooga20:11:37

no i ludzie sie cieszyli

jaen20:11:50

Nice, widzę że ciekawe projekty robiłeś przynajmniej : D

nooga20:11:51

ale pozniej mi sie odechcialo studiowac i zalozylem firme 😆

nooga20:11:20

no tam u nas bylo tak ze jak sie dobrze pogadalo to moznabylo powiedziec „panie doktorze mi sie tu nei chce chodzic ja panu projekt zrobie” i zwykle sie zgadzali

nooga20:11:37

pozniej pisales 5 projektow pod koniec semestru

jaen20:11:48

Ja się w sumie pierwszy raz na studiach załamałem na pierwszym semestrze - podstawy programowania komputerów, pisaliśmy w (Object) Pascalu, napisałem kalkulator rozumiejący bardziej skomplikowane wyrażenia i rysujący wykresy. Przy prowadzącym jeb walnał wyjątkiem przy scrollowaniu wykresu. Dostałem za to max. punktów.

jaen20:11:59

Pytam się faceta, że lel za co, przecież się wychrzaniło

jaen20:11:19

A on na to "przynajmniej pan coś ambitnego robił" and I'm like "jak to ambitnego przecież to tylko kalkulator"

jaen20:11:24

I dalej już było tylko smutniej : <

nooga20:11:36

ja pamietam jak kiedys implementowalismy jakies takie niby algorytmy z systemow operacyjnych - symulacje

nooga20:11:14

i pamietam ze jak mialy byc te projekty oddawane to pryzlazlem na takim srogim kacu i ludzie w pracowni mnie zaczeli wolac po kolei zeby im cos pomoc poprawiac bo im nie dzialaly te projekty

nooga20:11:21

i tak chdozilem od jednego do drugiego

nooga20:11:36

tu srednik, tu ten if nic nie robi, zmien na to, etc etc

nooga20:11:39

i facet nas tak zastal

nooga20:11:57

i nie musialem oddawac projektu bo dostalem 5 za pomoc kolezenska xD

nooga20:11:21

no ale ja mowie

nooga20:11:01

jak umiesz i masz dobra robote to sens studiowania jest conajmniej nikły

jaen20:11:23

True. Ja właśnie dlatego studiuję sześć lat już xD Bo na drugim roku zacząłem pracować, okazało się że w ten sposób się dużo więcej uczę no i studia jakoś tak na boczny tor poszły, ale powoli to ciagnę dalej bo wstyd nie skończyć nawet jeżeli papierek może się przydać co najwyżej do zrobienia sobie piekła-nieba : V

nooga20:11:35

e tam wstyd

nooga20:11:12

ja bym sobie poszedł na jakieś takie serio studia do edynburga albo na MIT

nooga20:11:34

dla wlasnej przyjemnosci… ale polibordello to jest takie udawane

jaen20:11:46

MIT to nie to samo bez 6.001 ; d

nooga20:11:57

no cóż, Sussman chyba dalej się tam kręci

jaen20:11:58

Ale Python : < SICP to jednak klasyg, mam nawet gdzieś wydanie z WNT.

jaen20:11:19

Tym niemniej, na pewno jest to dużo wyższa klasa uczelni niż jakaś Polibuda Śląska : V

jaen20:11:38

Czasem mi trochę żal, że w liceum byłem za głupi żeby się uczyć i dostąć na infę na UW czy coś.

jaen20:11:57

Niby zawsze lepiej gdzie nas nie ma, ale jak patrzyłem na ichniejszy sylabus i ważniaka to wyglądało to całkiem do rzeczy.

darnok21:11:29

Na Stanfordzie długo uczyli jeszcze z SICP ale też przeszli na Pythona

darnok21:11:01

Jest tam jeszcze jakiś kurs poboczny prowadzony że Scheme

darnok21:11:10

A tak apropos uczelni to ją studiowałem na UWr matme i cieszylismy i uczyli tam programować w C. Fajna była też grafika komputerowa, ale kumpel scenowiec oddał swój raytracer w czasie rzeczywistym i dostał 5,5 :).

darnok21:11:39

Ale to dawno było. 10 lat temu :).

jaen21:11:54

Ktoś na Klożerowym reddicie dał link do tego - https://www.edx.org/xseries/systematic-program-design-0 - i jaram się jak flota Stannisa, będzie co linkować ludziom jak się będą pytać od czego zaczynać programowanie : D

jaen21:11:18

My C mieliśmy dopiero od drugiego semestru, najpierw stwierdzili że trzeba nas przewałkować Paszkwilem. Po co? Nie jestem pewien.

darnok21:11:08

No i taki jeden profesor prowadził laboratorium z asemblera. Bawiliśmy się tam softicem i łamaliśmy programy :).

jaen21:11:47

O, fajnie. U nas laborki z assemblera były dość nudne (MASM, wywoływanie alert boxa makrem do procedur, blegh), jedna grupa nawet nie miała ani jednej bo ich sekcję prowadził koleś, który chyba był cichociemnym bo znaleźć go nie szło kiedy był potrzebny. A potem semestr później był projekt z assemblera i gros roku płakał olaboga jakie to trudne xD Widać nic się na C nie nauczyli : V

jaen21:11:15

Ooo, zaczyna od MLa, o obiektówce wspomina tylko mimochodem na końcu... podoba mi się : D

darnok21:11:37

Fajny prowadzący i ciekawie rozwiązali zadania. Ludzie się dodatkowo na wzajem oceniają.

jaen22:11:04

To sobie dopiszę do listy rzeczy do polecania ludziom

jaen22:11:19

Kazdy kurs który zaczyna od FP i jak najmniej mówi o OO to win xD

darnok22:11:05

Z innej beczki, używacie wzorca/biblioteki component Stuarta Sierry?

darnok22:11:30

Ostatnio trochę się na nią przestawiłem i mam czasem problem z ilością zależności, np do handlerów. Jak sobie z tym poradzić? Czy tylko przez rozbijanie na mniejsze komponenty?

jaen22:11:40

Hmm, mi właśnie idea componenta się bardzo podoba, tylko przekazywanie tych parametrów jest trochę męczące jednak. Więc zwykle jak robię coś mniejszego (a nie zdarzyło mi się jeszcze robić czegoś naprawdę dużego) to czasami to pomijam (a zwłaszcza już na frontendzie, a ostatnio tam zwykle siedzę). Także jakoś dużo pomóc w tej kwestii chyba nie będę w stanie. Możesz sobie obczaić modulara od juxt, ma kilka ciekawych rzeczy, np. to jak właśnie składają tam takie małę kawałki serwisów z własnymi routesami w większe.

jaen22:11:16

No i jestem w sumie ciekaw tego całego mounta co ostatnio wyszedł, ale nie miałem jeszcze okazji go obczaić.

darnok22:11:29

No też widziałem tego mounta. Będę się musiał mu przyjrzeć.

darnok22:11:05

Mi też się podoba całą idea komponentów. Ostatnio wymyśliłem że dodam w namespace komponentu atoma który będzie inicjalizowany w metodzie start instancją komponentu. W ten sposób w funkcjach z tego namespace będzie dostęp do komponentu bez podawania parametru. Niestety trzeba robić deref co pewnie nie jest bez wpływu na wydajność. No i gorzej z testowaniem.

jaen22:11:27

Derefy są chyba relatywnie tanie, ale większy problem jest taki, że możesz mieć tylko jedną instancję≤ komponentu. W większości przypadków to pewnie nie taki duży problem, ale teoretycznie utrudnia reuse.