sens
g/mathrock

Heh, Ale jaja. Wiecie że magnes w kształcie podkowy wynalazł Bernoulli? Ten co wymyślił funkcje gamma

Deykun
g/programowanie

W sumie spoko z https://peps.python.org/pep-0020/#the-zen-of-python ztreściowane https://strm.pl/c/Vbnn6ebk/python-the-documentary-an-origin-story

The Zen of Python

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

sens

@Deykun: na pamięć to znam, no takie tam banały

import antigravity

python piękny język, tylko GIL kurwa

Deykun
g/programowanie

Standardowy wątek o kosztach Google Maps i jak ktoś przypadkiem wtopił kasę. Ale czego ja nie wiedziałem i co jest srogie, to, że Google zabrania cachowania i teoretycznie można to zinterpretować tak, że każdy użytkownik szukający "Kraków" powinien strzelić po wyniki dla "Kra", "Krak" do Google osobno, bo to by było cachowanie autocomplete. XD

https://www.reddit.com/r/webdev/comments/1n4ikxo/comment/nbld96q/

sens

@Deykun: oni po prostu dbają o programistów, to jest działanie prospołeczne. Wszak wiadomo nie od dzisiaj, że najtrudniejsze w naszym zawodzie to nazywanie rzeczy (patrz: poprzedni wątek xd) oraz inwalidacja cache.

Deykun
g/programowanie

@sens'ik ty docenisz pojebion:
https://streamable.com/qmyrcf

Uruchamiam w rekacie libkę napisana w cpp wykonwertowana do wasm, odpalona w web workerze żeby nie rozjebać wątku i ona wylicza ścieżki. xD

A libka wybucha, bo coś nie domaga przy szybkich ruchach to zamykam webworkera i odpalam od nowa.

Przerywane kreski to fallbacki / czekanie na update, kiedy libka nie mogła znaleźć nic dobrego - zwykle gdy kafle są za blisko, jak są blisko blisko to czasami daję przekątną prostą linie.

sens

@Deykun: Linusz torwals też rządzi linugzem od 40 lata wciąż jest decyzyjny a do tego publicznie wyzywa ludzi od idiotów xD

Deykun
g/programowanie

@sens'ik ty docenisz pojebion:
https://streamable.com/qmyrcf

Uruchamiam w rekacie libkę napisana w cpp wykonwertowana do wasm, odpalona w web workerze żeby nie rozjebać wątku i ona wylicza ścieżki. xD

A libka wybucha, bo coś nie domaga przy szybkich ruchach to zamykam webworkera i odpalam od nowa.

Przerywane kreski to fallbacki / czekanie na update, kiedy libka nie mogła znaleźć nic dobrego - zwykle gdy kafle są za blisko, jak są blisko blisko to czasami daję przekątną prostą linie.

sens

@Deykun: angular to jeszcze rozumiem że jest produktem korporacji, ale taki react mimo wszystko jest jednocześnie zgrabny i dość potężny. Parę funkcji na krzyż i bzikasz. Pamiętam jak zaczynałem się uczyć to trudno mi było uwierzyć że to już wszystko. Xd w dwa dni ogarniesz a po tygodniu jesteś seniorem. A ludzie z tego bootcampy robili xdd

No, a to svelte to wygląda tak jakby ktoś postanowił zrobić reacta, tylko że od zera i bez długu technologicznego. Za parę lat pewnie się to zestarzeje, powstanie 50 wrapperów, każdy release będzie opatrzony migration guidem na 10 ekranów i znowu ktoś wymyśli koło na nowo. Oby do tej pory nie skończyły się słowa w europejskich językach, bo angielskie chyba się już skończyły xd vite, svelte, zustand. Co druga biblioteka ma w docsach zapis fonetyczny w IPA xD W tym tempie to niedługo będziemy kucować w ᜆᜄᜎᜓᜄ᜔.js

Nom, ale spoko to swełt (e jest nieme!!!!!) podoba mi się całkiem, komponenty są wyizolowane, nie musisz się pierdolić ze state managerami, mutacjami. Daje okejke liczę na więcej

Deykun
g/programowanie

@sens'ik ty docenisz pojebion:
https://streamable.com/qmyrcf

Uruchamiam w rekacie libkę napisana w cpp wykonwertowana do wasm, odpalona w web workerze żeby nie rozjebać wątku i ona wylicza ścieżki. xD

A libka wybucha, bo coś nie domaga przy szybkich ruchach to zamykam webworkera i odpalam od nowa.

Przerywane kreski to fallbacki / czekanie na update, kiedy libka nie mogła znaleźć nic dobrego - zwykle gdy kafle są za blisko, jak są blisko blisko to czasami daję przekątną prostą linie.

sens

@Deykun: kurwa, $state w zwykłej klasie to jest sztos. W sumie te ify w template'ach też. Myślałem, że to będzie gówno jak #ifdef xd ale to dużo wygodniejsze niż pisanie {expr && <><Pizda /><Gówno /></>}

Deykun
g/programowanie

@sens'ik ty docenisz pojebion:
https://streamable.com/qmyrcf

Uruchamiam w rekacie libkę napisana w cpp wykonwertowana do wasm, odpalona w web workerze żeby nie rozjebać wątku i ona wylicza ścieżki. xD

A libka wybucha, bo coś nie domaga przy szybkich ruchach to zamykam webworkera i odpalam od nowa.

Przerywane kreski to fallbacki / czekanie na update, kiedy libka nie mogła znaleźć nic dobrego - zwykle gdy kafle są za blisko, jak są blisko blisko to czasami daję przekątną prostą linie.

sens

@Deykun: jprdl a ja właśnie się męczę z renderowaniem na canvasie jakichś gowien i mnie zaczyna wkurwiac ten react xddd

nie do życia jest to ścierwo jak masz 500k elementów do szybkiego wyświetlania, pochodzących z plików które trzeba sparsowac i połączyć, i jeszcze żeby można to edytować

Udało mi się to doprowadzić do stanu używalności ale zamiast sobie kucować na luzaczku, to ja się pierdole z ogarnianiem czemu mi react trzyma referencje do 50 megabajtów uint arrayow, które już dawno powinny być zebrane przez gc, kraszujac mi canvas XD

zaczalem więc to robić w tym całym svelte xD fajne to nawet xD

Jak się wkurwie to zakucuje to w normalnym języku dla normalnych ludzi, ale akurat trochę mi zależy żeby można było w przeglądarce to mieć

sens
g/nostalgia

https://youtu.be/Ni0xDxh9zqA?si=t1KWldmFCmSAGZcY

9 lat temu..... Feel old yet????

sens
g/Fakty_Spiskowe

czy zniesienie igrzysk olimpijskich było prawdziwą przyczyną upadku cesarstwa rzymskiego????

sens
g/CozienaProfdyuktywnoscINfrmtyczn

https://i.imgur.com/a06XD9g.png

już przechodzę powoli z tworzenia gramatyki do implementacji interpretera (na razie nie ma absolutnie nic związanego z tworzeniem grafiki, bo zacząłem od obsługi zmiennych, procedur, call stacków etc.), nie szkalujcie za składnię, okazuje się że wymyślenie czytelnej i funkcjonalnej składni to dosyć trudne zadanie xd

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Jjb przerobiłem przez ostatnie parę dni chyba z pięć różnych generatorów parserów. Każdy mnie czymś wkurwial. Jeden fajny, malutki, kompaktowy, ale ograniczony. Drugi spoko, ale jest tylko jako biblioteka js. Trzeci niby też wygodny, ale ma zjebane API.

W końcu natrafiłem na tree-sitter. Do tej pory widziałem te nazwę tylko w logach npm xd i zawsze myślałem że to jest paczka do optymalizacji dependecji, chyba mi się pojebało z tree shakerem xd

No i ogólnie spoko jest. Generuje parser w C i bindingi do każdego popularnego języka. Ale kurwa xd

Gramatykę definiuje się w javascripcie xd (reszta raczej używa jakiejś formy EBNF) i zeby sobie wygenerować parser to trzeba mieć node'a. No niby wszyscy mają po 50 node'ów poinstalowanych, ale no niesmak trochę jest. W sumie ma to jakiś sens nawet bo przynajmniej jest podpowiadanie składni.

Ale to nie wszystko xd jest opcja generowania podświetlenia składni. Ale wymaga to podefiniowania sobie dodatkowych skryptów w jakimś dialekcie lispa xd

Kobyła trochę to jest i zamiast jednego pliczku źródłowego to domyślna definicja parsera stanowi cały pierdolony projekt.

Ale w zasadzie to chyba najwygodniejsze rozwiązanie

sens

@Deykun: Haha, dokładnie, ten opis trafia w punkt.
Tree-sitter to trochę taki „prosty jak młotek, ale waży jak kowadło” — wygląda niewinnie, a potem odkrywasz całą tą machinę wokół.

Co do spłaszczania definicji, to brzmi sensownie. Ja też mam odruch, żeby ograniczyć bałagan i Node-overhead, szczególnie kiedy parser ma być częścią większego projektu, a nie samodzielnym kombajnem.
Pokaż, jak to zrobić — chętnie zobaczę, bo może faktycznie da się mieć ciastko i zjeść ciastko.

Deykun
g/programowanie

Grzebie sobie w svelte i w sumie bardzo przyjemne, fajnie nie musieć się martwić o reactowe problemy. Jeszcze nie widzę tak dobrze gdzie jest gorzej. Widzę, że 5 wprowadziła jakąś nowszą składnie więc ja znam tylą tą nową. dx

sens

@Deykun: angulara nigdy nie tykalem bo wygląda jak xhtml xddd

A nie no to fajnie w sumie z tym że se można mutować.

Ale nwm, no nie podnieca mnie idea kolejnej warstwy makr, transplantacji I pchania wszystkiego na raz do jednego pliku.

Powiedziawszy to, wracam do pisania preprocesora dla SVG xdddd

Deykun
g/programowanie

Grzebie sobie w svelte i w sumie bardzo przyjemne, fajnie nie musieć się martwić o reactowe problemy. Jeszcze nie widzę tak dobrze gdzie jest gorzej. Widzę, że 5 wprowadziła jakąś nowszą składnie więc ja znam tylą tą nową. dx

sens

reactowe problemy

@Deykun: tzn jakie

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Jjb przerobiłem przez ostatnie parę dni chyba z pięć różnych generatorów parserów. Każdy mnie czymś wkurwial. Jeden fajny, malutki, kompaktowy, ale ograniczony. Drugi spoko, ale jest tylko jako biblioteka js. Trzeci niby też wygodny, ale ma zjebane API.

W końcu natrafiłem na tree-sitter. Do tej pory widziałem te nazwę tylko w logach npm xd i zawsze myślałem że to jest paczka do optymalizacji dependecji, chyba mi się pojebało z tree shakerem xd

No i ogólnie spoko jest. Generuje parser w C i bindingi do każdego popularnego języka. Ale kurwa xd

Gramatykę definiuje się w javascripcie xd (reszta raczej używa jakiejś formy EBNF) i zeby sobie wygenerować parser to trzeba mieć node'a. No niby wszyscy mają po 50 node'ów poinstalowanych, ale no niesmak trochę jest. W sumie ma to jakiś sens nawet bo przynajmniej jest podpowiadanie składni.

Ale to nie wszystko xd jest opcja generowania podświetlenia składni. Ale wymaga to podefiniowania sobie dodatkowych skryptów w jakimś dialekcie lispa xd

Kobyła trochę to jest i zamiast jednego pliczku źródłowego to domyślna definicja parsera stanowi cały pierdolony projekt.

Ale w zasadzie to chyba najwygodniejsze rozwiązanie

sens
g/strimoidproblems

https://i.imgur.com/9OWDa5F.png

sens

@Deykun: to chyba jeszcze nie dziś niestety