Przeszedłem screening, pytali o złożoność obliczeniową jakichś prostych rzeczy typu quicksort. Za parę dni czeka mnie dalszy etap i live coding
Jjb. Typo do mnie na LinkedIn pisze że praca. Jakieś 90% trafia dokładnie w mój stack i doświadczenie, a mówię wam, że kurwa nie jest łatwo. Ale robota jest w Londynie. Zesram się jak nie będzie możliwości robić zdalnie
@strimsVEVO: biorąc widły, które ten gość mi podał, to wychodzi po podatku przeliczając na złotuwy od 30,6k do 36,7k
nawet te dolne to byłyby dla mnie spory skok w porównaniu z poprzednią robotą, w mojej rzeczywistości to jest w chuj sałaty xd
Wiedzieliscie, że na polskiej Krajowej liście niematerialnego dziedzictwa kulturowego (obowiązek wynikający z konwencji UNESCO), obok licznych wpisów z rodzaju
Umiejętność wykonywania pająków ze słomy, papieru i bibuły na Lubelszczyźnie
Albo
Wykonywanie krywulek łemkowskich według tradycji z Komańczy i okolic
Znajduje się również "demoscena"?
Mam miesiąc na próbę w jakiejś korporacji (po znajomości oczywiście xD) na Mordorze, jak się wykażę, to może nawet nie umrę z głodu. A przynajmniej trochę mi ciśnienie zejdzie przed tą rozmową z brytolami.
To by było ehh. Mieszkalbym se przez rok z jakimiś fizolami w hostelu albo z jakimś jamajczykiem w Brixton i pewnie bym dał radę odłożyć na swój własny pokój w szeregowcu pod Radomiem, ponownie znalazłbym zatrudnienie w stolicy, a 6 wolnych godzin podczas dojazdów pociągami dorabiałbym na jakimś helpdesku czy innym call center.
https://i.pinimg.com/originals/7a/49/91/7a4991291e94ad660755a5db5f31a0c4.jpg
@Deykun: to jest bardziej część rekrutacji, to jakieś proste zadanie ma być sprawdzające czy się nadaję na 3-miesieczny okres próbny xD
Ale przynajmniej za pieniądze, więc ok
Mam miesiąc na próbę w jakiejś korporacji (po znajomości oczywiście xD) na Mordorze, jak się wykażę, to może nawet nie umrę z głodu. A przynajmniej trochę mi ciśnienie zejdzie przed tą rozmową z brytolami.
To by było ehh. Mieszkalbym se przez rok z jakimiś fizolami w hostelu albo z jakimś jamajczykiem w Brixton i pewnie bym dał radę odłożyć na swój własny pokój w szeregowcu pod Radomiem, ponownie znalazłbym zatrudnienie w stolicy, a 6 wolnych godzin podczas dojazdów pociągami dorabiałbym na jakimś helpdesku czy innym call center.
https://i.pinimg.com/originals/7a/49/91/7a4991291e94ad660755a5db5f31a0c4.jpg
Jjb. Typo do mnie na LinkedIn pisze że praca. Jakieś 90% trafia dokładnie w mój stack i doświadczenie, a mówię wam, że kurwa nie jest łatwo. Ale robota jest w Londynie. Zesram się jak nie będzie możliwości robić zdalnie
@strimsVEVO: za takie pieniądze to nawet Norylsk byłby fajny
@Deykun: ofc jak spytałem czy jest rimot łork posibiliti or rilokejszyn saport, to hi not gejw mi kurwa i pedzioł że full rilokejszyn saport
I tak z nim się ustawiłem na poniedziałek. Jak przejdę dalej to wtedy się będę martwił
Jjb. Typo do mnie na LinkedIn pisze że praca. Jakieś 90% trafia dokładnie w mój stack i doświadczenie, a mówię wam, że kurwa nie jest łatwo. Ale robota jest w Londynie. Zesram się jak nie będzie możliwości robić zdalnie
Dzień dobry, zapraszam na prezentację o tym, jak się spawnuje wątki w języku Julia
Od razu muszę zaznaczyć, że chociaż wygląda to dość dziwnie, nawet jak na paradygmat funkcyjny, to zaskakująco wszystko jest bardzo zmyślnie zaprojektowane. Całkiem spoko język. Jak lubicie robić wykresy na przykład, to polecam wypróbować.
https://i.imgur.com/V9UlTT9.png
Na początku mamy iterator Y, który zwraca jakieś tam liczby po prostu.
Operator |> to oczywiście znana wszystkim rura, czyli tzw. pipe. Przekazujemy to z lewej jako argument funkcji po prawej. Ale przed operatorem stoi jeszcze kropka. Kropka magicznie aplikuje prawą funkcję do każdego elementu z Y. Kropka działa też z innymi operatorami i funkcjami, po prostu taki spread, c'nie.
Czyli dla każdego y zwracana jest funkcja Channel, która jako pierwszy argument przyjmuje inną funkcję, ale tutaj jest on przekazzany w notacji znanej ze swifta tudzież z ruby, że ciało funkcji się pisze poza listą argumentów (tylko że w Julii funkcja nie jest ostatnim argumentem , tylko pierwszym (i to dosłownie, bo tu się liczy od 1, nie od 0). Powodem jest fakt, że leniwa ewaluacja jest tu bardzo mocno grana i wtedy rzekomo lepiej iterować argumenty zaczynając z prawej strony; patrz foldr w haskellu czy coś tam).
Więc ten Channel robi kilka rzeczy.
- Po pierwsze dla każdego y tworzy kanały (czyli też pipe tylko w innym znaczeniiu, no po prostu zwykła kolejka FIFO)
- Po drugie tworzy tyle nowych wątków, ile było elementów w Y i przekazuje im te kanały jako argument. Te wątki coś tam se robią i wrzucają wyniki do swoich kanałów.
- I po trzecie primo ultimo, zwraca listę stworzonych kanałów do głównego wątku.
Ten wątek może ssobie te wszystkie kanały skonsumować, poprzestawiać i posklejać (u mnie flatten i stack). Oczywiście prawie wszystkie funkcje zwracają iteratory i dopiero w ostateczności liczy się wynik.
Możemy też zauważyć, że istnieje co najmniej 6 różnych konstrukcji, których zadaniem jest przekazanie argumentu do funkcji. Jak nie drzwiami, to oknem. Jak nie możecie się doliczyć, to spokojnie, bo istnieje jeszcze operator złożenia funkcji i jego wersja z kropką.
@sens: o, jeszcze ciekawostka, że na 12-rdzeniowym ARM64 jak Julia domyślnie wykrywa liczbę rdzeni, to mówi, że jest ich 6. Okazuje się, że po prostu domyślnie używa tylko tych performance core'ów, żeby nie czekać na synchronizację z pozostałymi efficiency core'ami i nie tworzyć wąskich gardeł.
Ofc można zmusić, żeby używała wszystkich 12, ale rzeczywiście tylko na tych P-core'ach jest nieco szybciej niż na wszystkich naraz.
Dzień dobry, zapraszam na prezentację o tym, jak się spawnuje wątki w języku Julia
Od razu muszę zaznaczyć, że chociaż wygląda to dość dziwnie, nawet jak na paradygmat funkcyjny, to zaskakująco wszystko jest bardzo zmyślnie zaprojektowane. Całkiem spoko język. Jak lubicie robić wykresy na przykład, to polecam wypróbować.
https://i.imgur.com/V9UlTT9.png
Na początku mamy iterator Y, który zwraca jakieś tam liczby po prostu.
Operator |> to oczywiście znana wszystkim rura, czyli tzw. pipe. Przekazujemy to z lewej jako argument funkcji po prawej. Ale przed operatorem stoi jeszcze kropka. Kropka magicznie aplikuje prawą funkcję do każdego elementu z Y. Kropka działa też z innymi operatorami i funkcjami, po prostu taki spread, c'nie.
Czyli dla każdego y zwracana jest funkcja Channel, która jako pierwszy argument przyjmuje inną funkcję, ale tutaj jest on przekazzany w notacji znanej ze swifta tudzież z ruby, że ciało funkcji się pisze poza listą argumentów (tylko że w Julii funkcja nie jest ostatnim argumentem , tylko pierwszym (i to dosłownie, bo tu się liczy od 1, nie od 0). Powodem jest fakt, że leniwa ewaluacja jest tu bardzo mocno grana i wtedy rzekomo lepiej iterować argumenty zaczynając z prawej strony; patrz foldr w haskellu czy coś tam).
Więc ten Channel robi kilka rzeczy.
- Po pierwsze dla każdego y tworzy kanały (czyli też pipe tylko w innym znaczeniiu, no po prostu zwykła kolejka FIFO)
- Po drugie tworzy tyle nowych wątków, ile było elementów w Y i przekazuje im te kanały jako argument. Te wątki coś tam se robią i wrzucają wyniki do swoich kanałów.
- I po trzecie primo ultimo, zwraca listę stworzonych kanałów do głównego wątku.
Ten wątek może ssobie te wszystkie kanały skonsumować, poprzestawiać i posklejać (u mnie flatten i stack). Oczywiście prawie wszystkie funkcje zwracają iteratory i dopiero w ostateczności liczy się wynik.
Możemy też zauważyć, że istnieje co najmniej 6 różnych konstrukcji, których zadaniem jest przekazanie argumentu do funkcji. Jak nie drzwiami, to oknem. Jak nie możecie się doliczyć, to spokojnie, bo istnieje jeszcze operator złożenia funkcji i jego wersja z kropką.