Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

@sens:
Z takich optymalizacji to też myślałem, że można by to puścić gdzieś github akcji i niech chmura liczy. 🧅

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

@sens:
Trochę po robiłem i stwierdziłem, że mogę trochę zwiększyć liczbę słów i... xd

Tu odwrócona po takim samym czasie, a ma jeszcze 2 wiersze do uzupełnienia. ;d

To był input ~110k-120k+ najpopularniejszych słów ogólnie (potem zlimitowany do 6 i 3 znakowych list). Teraz pchnąłe, i 2h zeszło do 25min w 4 kroku.

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

BTW. już wypracowałem progress bar na każdym dodanym słowie co pozowli mi estymować koniec kroku w trakcie + na koniec będę miał meta informacje ile odrzucono w pierwszym, drugim, trzecim wierszu. To jest spoko informacja.

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

Tak w sumie to to męczę się z tym ale właśnie tak jak piszesz to jest spoko temat na kminienie, bo jakiś trik przyśpiesza kompilacje.

W sumie lubię takie problemy rozwiązywać.

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

@sens:
Dobrze mówisz. Jest coś takiego nawet jak w 1 słowie wstawię tylko słowa na literę a to potem ANEKS będzie weryfikował słowa zaczynające się na N, E, K, S pionowo.

I masz rację, że można coś odrzucić.

Obecnie jak będzie słowo WĘDZI to Ę odrzuca i weryfikuje dla każdego ĘA ĘB ĘC a mogło by być mądre i już Ę wykryć, że są tylko 2 walid początki. ĘA sprawdzam tylko raz, ale sprawdzam Ę* dla wszystkich liter w polskim alfabecie pewnie niepotrzebnie.

Technicznie można zrobić cache dla 1-2 literowych słów przed i odrzucić ĘA ĘB ĘC etc zanim dołoży się drugie słowo.

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

BTW. Koleś tam rzuca chyba gdzieś, że w angielskim sprawdza 200k słów. Ja w angielskim słowniku diffle mam 367k słów. W Polskim 3230k. I wynik wyżej to ograniczenie do chyba top 10% - 20% najpopularniejszych. XD

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

@sens:

a nie lepiej liniowo wstawiać?

No masz rację, dobra optymalizacja i potem obrócić jakbym chciał bokiem. Też odrzucania obróconych nie pisałem, bo dopiero to stawiam. (chociaż pewnie tego nie będę robił, bo chcę mieć tablice do nowej gierki ;D i w niej orientacja ma znaczenie).

Tu jest gra 5x5 po angielsku:
https://squareword.org/

Ale bardzo źle komunikuje wpisane słowa, u mnie ta logika będzie odrobinę inna ale też dopieszczone będzie że w trakcie wpisywania pokaże, że czegoś brakuje albo jakaś litera nie pasuje.

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

@sens:
Kolego tłumaczy algorytm i pułapki które rozwiązuje, a w linku jest jego repo w C++.

Połowa filmu to kompilacja różnych kwadratów.

Deykun
g/RuchNarodowy

["s", "e", "k", "s"],
["e", "t", "a", "t"],
["n", "a", "r", "a"],
["s", "p", "a", "ł"]

Słowa poziomo i pionowo mają @sens ;D

Deykun

@sens: w ogóle przynam, że trochę się jebie z optymalizacją. xD

Tu koleś super opisał spoko algorytm:
https://www.youtube.com/watch?v=zWIsnrxL-Zc

Ja w sumie przepisywałem na mój ulubiony JS i zrobiłem to samo + klocki z cachem.

  1. Ustalam, że ma być 5 wierszy i 6 kolumn
  2. Dziele słowa na 5 literowe i 6 literowe
  3. Wstawiam w 1 wiersz wszystkie możliwe 6 literowe słowa (załóżmy 10 000 słów)
  4. Wstawiam w 2 wiersz wszystkie możliwe 6 literowe słowa (10k * 10k = 100 000 000 kombinacji)
  5. Sprawdzam po kolei słowa w kolumnach i jak trafię na 2 literowy początek który nie ma 5 literowego słowa (5, bo tyle wierszy) odrzucam
  6. Sporo 2 literowych przechodzi, dodaje w 3 wierszu 6 literowe słowo (10k * 10k * 10k to maks ale robi się zabójczo)
  7. Sprawdzając 3 literowe wiele już ginie, do sprawdzenia w 4 i 5 jest już mało (nadal sprawdzanie to wstawianie do pozostałych tablic tych 10k słów)

Koleś tam waliduje wstawiając litera po literze u mnie w sumie też to jest wstawiam słowo ale patrze kolumnami i jak odkryję, że początku gk niema to w cachu już jest m qk: false i kolejna z tych 10k*10k kombinacji tylko bierze boolean.

Muszę jeszcze to zoptymalizować i jakoś to wiercić mniejszymi paczkami, bo algorytm niby powinien działać, ale w pewnym momencie brakuje RAMu. :D

spam_only
g/oszukujo

@Deykun obiecał rzecz i słowa nie dotrzymał. Miało być w sierpniu, a sierpień już minął... 11 miesięcy temu...

Deykun

@spam_only:
zdjęcia do rzeczy będą robione on location

Deykun
g/piractwo

Rozwala mnie, że cda które stoi i stało na pirackich treściach ma własną hehe platformę strimingowo z płatnościami.

Deykun

@ToyBlackHat: ok wykopek

sens
g/CozienaProfdyuktywnoscINfrmtyczn

właśnie zescrape'owałem wszystkie wpisy niektórych userów strm.pl i próbuję wsadzić wasze osobowości do modeli AI, niedługo nie będziecie już potrzebni

Deykun

niedługo nie będziecie już potrzebni

Ja już dawno

sens
g/polskiepomidorycompl

Wiedzieliście, że API wyszukiwarki gov.pl pozwala byle programiście z ulicy na napierdalanie w nie requestami, które zwracają po 10k obiektów (łącznie ~4MB)? XD

https://www.gov.pl/api/data/search?query=a&category=kategoria&page=1&size=10000

No nie wiem, może to jest normalne. Ale kirva szok że ktoś nie zrobił limitu jakiegoś kurw throttle'a czy czegokolwiek

Deykun

[ @Deykun ]: O otwarte api, fajnie, że dają wszystko i nie trzeba męczyć
[ @sens ]: O otwarte api, jak to zepsuć

sens
g/polskiepomidorycompl

Wiedzieliście, że API wyszukiwarki gov.pl pozwala byle programiście z ulicy na napierdalanie w nie requestami, które zwracają po 10k obiektów (łącznie ~4MB)? XD

https://www.gov.pl/api/data/search?query=a&category=kategoria&page=1&size=10000

No nie wiem, może to jest normalne. Ale kirva szok że ktoś nie zrobił limitu jakiegoś kurw throttle'a czy czegokolwiek

Deykun

@sens:

Ale kirva szok że ktoś nie zrobił limitu jakiegoś kurw throttle'a czy czegokolwiek

No niby tak, ale jak to są dane które się nie zmieniają tygodniami / miesiącami i wszystko na GET to pewnie można dobrego cache ograć.

Deykun
g/Rzemiosło

Rzecz aleksa jebać, ale ja w sierpniu wam pokaże coś do czego już się szykuję od 2 tygodni.

Deykun

@Aleks: ale obiecujesz?