sens
g/CozienaProfdyuktywnoscINfrmtyczn

Ujdzie, czy przesada i dzwonicie po policję? XD

Chciałem sobie otypować grupę podobnych metod i po prostu użyć dekoratorów jak normalny człowiek, które co prawda w TS są trochę upierdliwe, ale da się je doprowadzić do działania. Tylko potem zmusić TS do wykminienia, jaki jest typ udekorowanej metody to jednak jest trochę koszmar, więc spłodziłem takie gówno.

W pythonie jakoś sobie poradzili z tym sprawniej, ale pewnie mieli łatwiej, bo dosłownie wszystko jest obiektem, a w JS to null niby jest prymitywną wartością, ale typeof null === 'object' zwraca true i nie są tego w stanie naprawić od 30 lat, bo internet by wybuchł xd

export const vecOp = <T>(op: (this: Vec, v: IVec) => T) => {
  function wrapped(this: Vec): T
  function wrapped(this: Vec, v: IVec): T
  function wrapped(this: Vec, x?: number, y?: number): T
  function wrapped(this: Vec, vx?: IVec | number, y?: number) {
    return op.apply(
      this,
      typeof vx === 'number'
        ? [{ x: vx, y: y ?? 0 }]
        : vx === undefined
        ? [{ x: 0, y: 0 }]
        : [vx],
    )
  }
  return wrapped
}

export class Vec implements IVec {
  add = vecOp(v => new Vec(this.x + v.x, this.y + v.y))
  sub = vecOp(v => this.add(-v.x, -v.y))
  dot = vecOp(v => this.x * v.x + this.y * v.y)
  dist = vecOp(v => this.sub(v).norm)

sens

@sens: aha, jak powyższe nie wywołuje u was odruchu wymiotnego, to co powiecie na emulację przeciążania operatorów używając template tagów? XD

export class Vec implements IVec {
   static expr(ops: TemplateStringsArray, ...args: any[]): Vec | number;

A po dopisaniu jakiegoś prostego shunt yarda można sobie używać takiego lukru składniiwgo :--DD

const u = new Vec(2, 1)
const v = new Vec(3, 7)
const p = Vec.expr​​​`|${u} - ${v}|^2​`

Deykun
g/webdev

U klienta w kodzie.

*,
::before,
::after {
   box-sizing: border-box;
   border-width: 0;
   border-style: solid;
   border-color: #e5e7eb;
}

I w sumie da się lepiej ustawić border domyślny i to jest overkill, ale to nie jest takie głupie. Wystarczy border-bottom-width: 1px; albo border-b potem gdzie się chce. Więc nawet trochę szanuję.

sens

po klasach z tailwinda widać, że zjebał ktoś.

@Deykun: no, pełna zgoda, zjebał, bo użył tailwinda xD

Deykun
g/webdev

U klienta w kodzie.

*,
::before,
::after {
   box-sizing: border-box;
   border-width: 0;
   border-style: solid;
   border-color: #e5e7eb;
}

I w sumie da się lepiej ustawić border domyślny i to jest overkill, ale to nie jest takie głupie. Wystarczy border-bottom-width: 1px; albo border-b potem gdzie się chce. Więc nawet trochę szanuję.

sens

@sens: a w svelte super mi się podoba, że mogę komponenty sobie pisać używając kilku czystych tagów na kryż i je stylować bezpośrednio, praktycznie nie wstawiam klas żadnych

Deykun
g/webdev

U klienta w kodzie.

*,
::before,
::after {
   box-sizing: border-box;
   border-width: 0;
   border-style: solid;
   border-color: #e5e7eb;
}

I w sumie da się lepiej ustawić border domyślny i to jest overkill, ale to nie jest takie głupie. Wystarczy border-bottom-width: 1px; albo border-b potem gdzie się chce. Więc nawet trochę szanuję.

sens

@Deykun: tailwinda nie lubię bo potem cały HTML jest zaćkany jakimiś p-4 b-0 q-420. Za to przemawia do mnie scope'owanie w svelte xd czysty scss też wspiera to, ale źle się tego używa, a jeszcze gorzej to popsuli w ASP net

Deykun
g/podrozujzestrimoidem

Chcę tylko powiedzieć, że ten dowcip o braniu 6 gaci na 4 dniowy wyjazd jest bez sensu, jak ja gdzieś jadę to chodzę w chuj dużo wracam do mieszkanka, biorę prysznic i nowe gatki, świeżość cywilizacja i easy można zlecieć więcej par.

sens

@Deykun: nie znam tego dowcipu, może dlatego że chodzę w jednych przez miesiąc

Deykun
g/webdev

U klienta w kodzie.

*,
::before,
::after {
   box-sizing: border-box;
   border-width: 0;
   border-style: solid;
   border-color: #e5e7eb;
}

I w sumie da się lepiej ustawić border domyślny i to jest overkill, ale to nie jest takie głupie. Wystarczy border-bottom-width: 1px; albo border-b potem gdzie się chce. Więc nawet trochę szanuję.

sens

@Deykun: jak dla mnie smrut (pomijając to, że CSS zazwyczaj śmierdzi, jaki by on tam nie był).

Zresztą shorthand jest dużo wygodniejszy, border: 1px solid var(--twoj-zasrany-kolorek-w-zmiennej-jak-juz-chcesz-byc-taki-genryczny);

Z ciekawych snippetow: * { all: unset ! important; }

W ogóle to zawsze podefiniuja jakieś breakpointy, kolory, a potem i tak każdy nakurwia hexy z łapy XD

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Mój graf niedomaga przy obliczaniu pozycji wierzchołków i jej dwóch pochodnych przy liczbie ~5k node'ów (na jednym wątku jedna klatka się renderuje około minuty xd) więc sobie przepisuję obliczenia do webgpu, bo to coś nowego a nie te upośledzone workery ciągle. Napisałem już shader, poustawiałem bufory. Teraz już tylko muszę wepchnąć do nich dane i zobaczymy czy działa. Czymajcie kciuki

sens

@sens: działa! XD z jednej klatki na minutę udało się zrobić prawilne 60 fps (no może nie jest stabline podczas interakcji z UI, ale to wina raczej tego, że nie dzielę renderowania na mnijesze części, żeby się renderowało bardziej asynchronicznie)

Zilog
g/Security

Mitnick niezmiennie ma rację - najsłabszym ogniwem nadal jest człowiek, odrobina odpowiednio opakowanej manipulacji i człowiek może zostać ugotowany:
https://blog.daviddodda.com/how-i-almost-got-hacked-by-a-job-interview

sens

@Deykun: hehe, muszę se przeczytać znowu książkę "JavaScript w 24 godziny" którą dostałem od starego jak miałem jakieś 12 lat xd, to jeszcze czasy xmlhttprequestow i obsluga_klopotliwych_znizek(czy_wybrano_psa)

Zilog
g/Security

Mitnick niezmiennie ma rację - najsłabszym ogniwem nadal jest człowiek, odrobina odpowiednio opakowanej manipulacji i człowiek może zostać ugotowany:
https://blog.daviddodda.com/how-i-almost-got-hacked-by-a-job-interview

sens

@Zilog: ehh sam kiedyś wysłałem ziomeczkowi z gimbazy "cracka do san andreas", który tak naprawdę był exekiem wysyłającym jego archiwum GG do mnie

nie jestem z tego dumny xd ale no tak było

sens
g/CozienaProfdyuktywnoscINfrmtyczn

no kurwa xD nawet mi sie podoba

https://i.imgur.com/1HpflUU.jpeg

sens

@sens: https://i.imgur.com/7Wxhv76.jpeg

pamietacie jak jakies 10 lat temu wszyscy słuchali makintosz plus i byli AESTHETIC?

ja kurwie

to było 15 lat temu

x__X

15 lat temu był 2010 rok

## SZOK

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Wczoraj wieczorem zacząłem się po raz kolejny zastanawiać, jak bardzo spierdolony jest projekt tego typka od dependency injection, więc zacząłem szukać sobie jakichś analizatorów kodu, które by wyszukiwały zależności po wywoływanych funkcjach, a nie tylko importowanych plikach.

No i znalazłem i zajebiście to działa, tylko że to narzędzie ma absolutnie obleśną i nieergonomiczną wizualizację grafu wywołań (to nie ty mi @Deykun mówiłeś o tym cytoscape? oni tego właśnie użyli, ale chyba niezbyt im poszło xD)

No to sobie zacząłem robić swoją własną wizualizację, bo mnie kurwa stać. No i tak robię robię i kminię jak zmierzyć siłę powiązań między danymi funkcjami, żeby ten graf się jakoś ładnie układał, żeby te wierzchołki miały wporzo grawitację, a nie że 10k node'ów nasranych na przestrzeni stu pikseli kwadratowych, c'nie

No i tak powoli rozkminianie tego przeszło w zwyczajne bawienie się canvasem i kolorkami, jak to zazwyczaj bywa. No i tak sobie myślę jescze w międzyczasie o tym jak liczyć tę grawitację i się bawię, i kiminię, i bawię

se klikam

sens

@Deykun: szabesgo.js

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Wczoraj wieczorem zacząłem się po raz kolejny zastanawiać, jak bardzo spierdolony jest projekt tego typka od dependency injection, więc zacząłem szukać sobie jakichś analizatorów kodu, które by wyszukiwały zależności po wywoływanych funkcjach, a nie tylko importowanych plikach.

No i znalazłem i zajebiście to działa, tylko że to narzędzie ma absolutnie obleśną i nieergonomiczną wizualizację grafu wywołań (to nie ty mi @Deykun mówiłeś o tym cytoscape? oni tego właśnie użyli, ale chyba niezbyt im poszło xD)

No to sobie zacząłem robić swoją własną wizualizację, bo mnie kurwa stać. No i tak robię robię i kminię jak zmierzyć siłę powiązań między danymi funkcjami, żeby ten graf się jakoś ładnie układał, żeby te wierzchołki miały wporzo grawitację, a nie że 10k node'ów nasranych na przestrzeni stu pikseli kwadratowych, c'nie

No i tak powoli rozkminianie tego przeszło w zwyczajne bawienie się canvasem i kolorkami, jak to zazwyczaj bywa. No i tak sobie myślę jescze w międzyczasie o tym jak liczyć tę grawitację i się bawię, i kiminię, i bawię

se klikam

sens

@Deykun: co nie, kurwa? Juz wszystko jest w tych jebncyh przeglądarkach, 15 rodzajów storageu, opfs, indexeddb localstorage sessionstorage, bluetooth kurwa, USB, ale jak chcesz zawibrować kurwa brzęczykiem to spierdalaj xdd

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Wczoraj wieczorem zacząłem się po raz kolejny zastanawiać, jak bardzo spierdolony jest projekt tego typka od dependency injection, więc zacząłem szukać sobie jakichś analizatorów kodu, które by wyszukiwały zależności po wywoływanych funkcjach, a nie tylko importowanych plikach.

No i znalazłem i zajebiście to działa, tylko że to narzędzie ma absolutnie obleśną i nieergonomiczną wizualizację grafu wywołań (to nie ty mi @Deykun mówiłeś o tym cytoscape? oni tego właśnie użyli, ale chyba niezbyt im poszło xD)

No to sobie zacząłem robić swoją własną wizualizację, bo mnie kurwa stać. No i tak robię robię i kminię jak zmierzyć siłę powiązań między danymi funkcjami, żeby ten graf się jakoś ładnie układał, żeby te wierzchołki miały wporzo grawitację, a nie że 10k node'ów nasranych na przestrzeni stu pikseli kwadratowych, c'nie

No i tak powoli rozkminianie tego przeszło w zwyczajne bawienie się canvasem i kolorkami, jak to zazwyczaj bywa. No i tak sobie myślę jescze w międzyczasie o tym jak liczyć tę grawitację i się bawię, i kiminię, i bawię

se klikam

sens

@Deykun: mówiłeś coś chyba o jakiejś libce antycznej napisanej w vanilla js

sens
g/CozienaProfdyuktywnoscINfrmtyczn

Wczoraj wieczorem zacząłem się po raz kolejny zastanawiać, jak bardzo spierdolony jest projekt tego typka od dependency injection, więc zacząłem szukać sobie jakichś analizatorów kodu, które by wyszukiwały zależności po wywoływanych funkcjach, a nie tylko importowanych plikach.

No i znalazłem i zajebiście to działa, tylko że to narzędzie ma absolutnie obleśną i nieergonomiczną wizualizację grafu wywołań (to nie ty mi @Deykun mówiłeś o tym cytoscape? oni tego właśnie użyli, ale chyba niezbyt im poszło xD)

No to sobie zacząłem robić swoją własną wizualizację, bo mnie kurwa stać. No i tak robię robię i kminię jak zmierzyć siłę powiązań między danymi funkcjami, żeby ten graf się jakoś ładnie układał, żeby te wierzchołki miały wporzo grawitację, a nie że 10k node'ów nasranych na przestrzeni stu pikseli kwadratowych, c'nie

No i tak powoli rozkminianie tego przeszło w zwyczajne bawienie się canvasem i kolorkami, jak to zazwyczaj bywa. No i tak sobie myślę jescze w międzyczasie o tym jak liczyć tę grawitację i się bawię, i kiminię, i bawię

se klikam

sens

I JAK MI E CHUJ PIERDOLONY NIE TRZAŚNIE, JAK COŚ NIE PIERDOLNIE W SZYBIE, KREW MNIE ZALAŁA JPRDDDL PO PROSTU SIE WKURWIŁĘM!!

bo chciałem sobie nasłuchiwać siły z jaką naciskam touchpad, żeby coś tam nie wiem, żeby szybciej czy tam inne kolory były, w zależności od siły nacisku, no nie, to sb myślę, onpointerdown i elo, bzikamy. otóż kurwa okazuje się, że nie

I to nie, że ledwie 2-letni jabłecznik PRO z najnowszymi emotkami i funkcjami AI tego nie potrafi. Oczywiście, że potrafi, bo jebane safari ma nieudokumentowany event webkitmouseforcechanged, który to kurwa raportuje tak intensywnie, że aż mu się listenery trzęsą, tylko nikt normalny nie używa jebanego safari i ja też nie zamierzam

nic mnie nie wkurwia tak, jak zasrana korporacja z wyceną 3,5 biliona dolarów, która utrzymuje otwarte źródła kernela, swifta, napierdala kontrubucje do jakichś kurwa llvmów i innego ścierwa nie wystawia publicznego api do czytania tak prozaicznej rzeczy jak siły nacisku z kurwa myszki, brak mi słów, przyjadę do domu, pierdolnę whisku, bo co mi zostało

Deykun
g/podrozujzestrimoidem

Baku w sumie miejscami ładne, pogoda super, ale nie dość że gruby turysta to jeszcze dodatkowo się gapią ludzie, bo jedyny w krótkich spodenkach. 20-24 stopnie cały dzień, a oni kurteczki niektórzy noszą. Eh.

1 2 3

sens

@Deykun: baku baku to jest skład