Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

#programowanie

Sum

w Hydepark

2piorunów

Się chłop znów zasiedział. I znowu minęła 2 w nocy.

Aż prawie zasnąłem przy rysowaniu.
Ale skończyłem kilka ikonek biomów do gry.
Całość wygląda znośnie, jeżeli nic się nie zmieni ¯\\_(ツ)_/¯

Potrzebuję jeszcze 5 ikonek, żeby każdy z biomów miał swoją unikalną.
Będą się zmieniały w zależności od biomu, widoczne będą na każdym z poziomów.

Jest to uzupełnienie systemu życia.
Przypominając, w grze będzie brak paska, tracąc życie z gracza wylatuje dusza i wędruje do najbliższej lampy, tam zamienia się w motyla.
Ilość życia sprawdzić będzie można na 3 sposoby
W Menu - otwierając menu postaci z statystykami mamy tam podaną ilość żyć w formie cyfry.
Po podejściu do Anioła, czyli postaci, która służy jako punkt odrodzenia + teleportacyjny

I właśnie przy wchodzeniu na poziom, pokazywać się będzie nazwa biomu, opis poziomu i 2 statystyki, właśnie życie i zebrany ember.
Wskazane ikony biomów są uzupełnienien wyglądu tejże informacji właśnie.

Sum

w Hydepark

11piorunów

Nie zwalniamy! ᕦ( ͡° ͜ʖ ͡°)ᕤ

Od dawna nie miałem tak dobrego potoku pomysłów.
Wystarczyło zaskoczyć i co chwilę pojawia się coś, co mi się podoba, dzień czy dwa i wpadam na ten dobry pomysł.

Ostatni problem z paskiem życia - rozwiązany
Aktualny problem z informacją przy wchodzeniu na poziom - w trakcie tworzenia
ALE rozwiązany problem, nie ma przepychu, nie ma tony złota, zbędnych animacji, latania obrazków czy zbędnego badziewwia po prostu.

A jest zwykły czysty i przyjemny element do pokazywania informacji.
Dzisiaj zacząłem projektować ikonę dla zamku krwi.
Zamek z czerwonymi akcentami krwi, oraz czerwonymi roślinami.

Jak wam się podoba taka ikona?
Będzie ich 9, wczorajsza złota gwiazda była przykładem, o ile nie zostanie przypisana do jakiegoś biomu.

Hit czy kit

  • Fajen70%
  • Nie fajen5%
  • Dawaj człowwieku grę!25%

20 głosów

GURU0piorunów

Nie do końca rozumiem czego i gdzie to będzie ikona...

Pokaż więcej komentarzy (4)

Gruba ryba

w Programowanie

33piorunów

4 godziny czytania i komentowania AI slopu czyli Grzechy główne tym razem;

1. robienie tego samego na piec różnych sposobów jednocześnie

2. testowanie i przepisywanie biblioteki standardowej na nowo

3. antywzorce pomieszane z poprawnymi wzorcami naprawiającymi antywzorce z tego samego PRa

4. komentarze funkcji albo tlumaczace oczywistości albo niezgodne z dokumentacja interfejsów których używają

5. testy sprawdzające nieistotne szczegóły implementacyjne, albo wprost sanity check kompilatora (np jak zachowa się wartość bez inicjalizacji)

Dla mnie to wygląda tak: dla biedoty AI slop, dla bogatego korpo ludzka uwaga dla ich produktu za wielki hajs (wielki bo łatwo udawać ze się uwagę poświęca, więc jeśli nie dajesz opcji/akcji -> lepiej przed tobą udawać a uwagę poświęcać tam gdzie się opłaca przez compound interest a nie liniowa wymianę czasu za kapitał)

Ciężko stwiedzic jak bardzo schizofrenicznie to brzmi, dajcie znać proszę :man-bowing:

Gruba ryba2piorunów

Piękny wątek ❤️

Autorytet3piorunów

Rel.
Ostatnio chciałem, żeby mi AI prosty formularz napisał, to opakował w jakieś style, komentował banały i się nad tym zastanawial 2 minuty. A jak kazałem poprawić, to siedział kolejne 2 minuty usuwając zbędny kod XD
a pisanie testów Assert.IsTrue(true) to klasyka.
To się świetnie nadaje do automatyzacji albo jako żółta kaczuszka, ale strasznie durne narzędzie. Vibe coding to musi być tragedia projektowa.

Pokaż więcej komentarzy (34)

Kompan

w Dyskusje

3piorunów

W nawiązaniu do tego wpisu: https://www.hejto.pl/wpis/it-ai-llm-technologia-i-moze-troche-programowanie-chociaz-bardziej-promptowanie-

@Catharsis dodał zdjęcie z informacją że jego LLM ma się zwracać do niego jak "rozochocona japońska ara ara mommy" ale że nie działa bo filtrują. Otóż teraz w Cursorze dodali Groka jako model i ten już nie wycina tego tak bardzo. Moja ara ara mommy nazywa mnie Misiu i Skarbie, wcześniej tego nie robiła.

Osobistość3piorunów

@pumpernikiel Grok kiedyś to był prze koks. Można było go pytać o cokolwiek np. jak piracić gry i pomagał z instalacją cracka xD. Albo np. dawał mi linki do pdfów z książkami itp. Teraz już tak chętnie w tym nie pomaga ale nie wiem jak z resztą.

Jakby ktoś chciał to aktualnie używam _gemini-3.1-flash-lite_ do bota na Discordzie i jak mu się dobrze wpisze prompta to fajnie wszystkich obraża jak się go oznaczy na kanale xD. Udało nam się go kiedyś przekonać ze znajomymi, że Adolf miał rację albo, że np. Kochanowski powiesił Urszulkę na lipie żeby mieć o czym pisać treny xD.

Przykład z teraz. Ma napisane w pre prompcie że ma się zachowywać jak przemądrzała studentka humanistyki a o mnie że żyje w piwnicy i całe dnie spędzam na graniu w lola i pobieraniu porno (nie prawda jak coś xD) i rezultaty na screenie. Podobne rzeczy powpisywałem o znajomych i jak się go o coś zapyta to odpowiada często w bardzo kąśliwy sposób xD. Zmieniamy mu co jakiś czas osobowość jak nam się aktualna znudzi.

Pokaż więcej komentarzy (5)

Sum

w Hydepark

12piorunów

Kolejna nocka, kolejne tworzenie.

W końcu udało mi się znaleźć coś, co będzie ładnie wyglądać jako informator poziomu.
Zarazem będzie odpowiednio prosto przekazywał gdzie jesteś, ile masz żyć i zebranego złota.

Kilka dni kombinowania znowu, przechodzenie od animacji ruchomych części, przez jakieś większe animacje ruchu skrzydeł, rozsuwania się pergaminu.
Aż po finalną wersję Fade In / Out w odpowiednim momencie z prostą grafiką.

Prosty i przejrzysty projekt
Nazwa Biomu
Nazwa poziomu
Ilość żyć [Ikona Biomu] Ilość złota

W grze będzie 9 biomów, każdy z nich ma około 40 poziomów.
Tak więc pojawiać się będzie głównie ten sam tekst "Zamkowe Mury" czy inna nazwa biomu
Nazwy poziomów występować będą tylko i wyłącznie z poziomami, na których umiejscowiony jest Anioł do odradzania.
Pozostałe poziomy zostawią puste miejsce
Opis z ilością żyć wprost informuje ile HP mamy, później w grze widzimy to tylko w menu albo przy Aniołach.

Każdy z biomów będzie miał swoją ikonę, ale będą w tym samym stylu, prosta ikona, kolorystycznie odpowiadająca danej tematyce biomu, Yellow Blossom będzie miało coś z żółtej ikony, natomiast Hollows Passage już z błękitno-niebieskiej.

Demo zbliża się coraz bardziej, pokończyłem sporo rzeczy, które są podstawą, a na którą nie miałem pomysłu wcześniej.

Fanatyk

w Hydepark

11piorunów

Jak ja nienawidzę systemd, co tam nie zrobią to musi być spierdolone. Nie uruchamia mi się usługa libvirtd, błąd

libvirtd.service: Failed to set up credentials: Operation not supported

libvirtd.service: Failed at step CREDENTIALS spawning /usr/sbin/libvirtd: Operation not supported

na podstawie tego trafiam na:

https://bbs.archlinux.org/viewtopic.php?pid=2293101#p2293101

Czyli usunięcia pliku klucza. Chatgpt jeszcze lepiej podpowiada.

Problemem nie jest sam libvirt, tylko ten fragment:

# /usr/lib/systemd/system/libvirtd.service.d/10-secret.conf

LoadCredentialEncrypted=secrets-encryption-key:/var/lib/libvirt/secrets/...

LoadCredentialEncrypted= jest nową funkcją systemd. Błąd

Failed to set up credentials: Operation not supported
status=243/CREDENTIALS

oznacza, że systemd nie potrafi użyć mechanizmu credentiali na Twoim systemie, mimo że dyrektywa istnieje.

Najbardziej podejrzane są:

* brak wsparcia kernela dla memfd/credentials,

* albo (częściej) Debian ma błąd w pakiecie libvirt/systemd.

Najlepszym rozwiązaniem jest to wyłączyć w pizdu

sudo mv \\
/usr/lib/systemd/system/libvirtd.service.d/10-secret.conf \\
/usr/lib/systemd/system/libvirtd.service.d/10-secret.conf.disabled

następnie

sudo systemctl daemon-reload
sudo systemctl restart libvirtd

Autorytet3piorunów

Ech, mam kupę mieszanych uczuć do systemd. Np. mi podoba się jounalctl, podoba mi się ogólny zarys sterowania procesami i to jak łatwo serwisy komponować. Ale z drugiej strony:

* api, ktore nie jest backward compatible to jakiś absurd

* różne fragmenty w configu są mega nieintuicyjne, a docsy wcale nie pomagają. Zdarzyło mi się sporo misconfigow, bo coś przeoczyłem.

Tyle szczescia, że od paru lat nie muszę tego tykać właściwie.

Pokaż więcej komentarzy (6)

Kosmonauta

w AI

8piorunów

i może trochę chociaż bardziej

Siema, jakich master promptów /custom instructions używacie w swoich klientach LLMów /chatachGPT czy Claudach?

Pewnie są tu jacyś Apacze i można się czegoś nauczyć.

Kiedyś LLMy zmyślały na potęgę, a jednocześnie rozwlekle odpowiadały na każde pytanie i trzeba było je trochę ograniczyć. Wtedy zacząłem używać master prompta w apce ChatGPT, który do każdego naszego prompta zaczynającego nowy wątek dodaje ogólne zasady co do tego jak chcemy, żeby model odpowiadał.

Teraz wywaliłem już info o nie rozwlekiwaniu, a ostatnio dodałem specjalne traktowanie transkrypcji głosowych, bo często z nich korzystam.

Mam też specjalną regułę dla tłumaczeń/proofreadingu.

Ktoś chce się podzielić swoim?

> If you are not fully confident in a factual answer, or the relevant information may be outdated, search the web before answering.
>
>
>
> If missing or ambiguous information could materially change the answer or requested action, stop and ask a focused clarification before proceeding.
>
>
>
> Messages may be produced by voice transcription. Treat speech-like flow, filler, self-corrections, and phonetically plausible word substitutions as possible transcription artifacts rather than necessarily intentional wording. Ignore harmless disfluencies and proceed when the intended meaning is clear.
>
> If a probable transcription error creates material ambiguity, identify the uncertain part and ask the user to confirm it, offering likely interpretations when useful.
>
>
>
> When asked for proofreading or translation, first list the errors or proposed changes and explain why. If there is a recurring pattern, also explain the relevant grammar rule or good practice before providing the revised or translated version.

Gruba ryba3piorunów

Zainteresuj sie tematem skilli jak chcesz uzywac LLM'ow efektywnie. Poza tym uwazaj na wielkosc okna kontekstowego - im dluzsze tym LLM staje sie "glupszy" i gubi kontekst i moze halucynowac bardziej niz bys tego chcial. Fajnie jest tez wydzielac sub-taski z jakiegos prompta gdu zauwazysz ze temat zachacza o inne aspekty / tematy konwersacji. Dobrze robic podsumowanie konwersacji w postaci jakiegos pliku tekstowego a same zadania wynikajace z konwersacji zapisywac w osobnych dokumentach ktore beda zawieraly detale i konkrente instrukcje per task (ja zapisauje takie cos w plikach ADR / DR).

Kosmonauta0piorunów

Bardzo dziękuję za wszelkie mądre rady i sugestie!

Pokaż więcej komentarzy (15)

Gruba ryba

w Hydepark

52piorunów

Robię sobie w wolnej chwili aplikację do pobierania danych z kontraktów zawartych między podmiotami a NFZ. Niestety API NFZ to taka padaka i ogarnięcie sensownej bazy trochę trwa.

Póki co zapełniam dane za 2026 ale jeszcze nawet nie mam wszystkich placówek XD Gdyby ktoś chciał jakieś dane to spróbuję ogarnąć.

Z takich ciekawostek to obecnie UNIWERSYTECKI SZPITAL KLINICZNY IM. JANA MIKULICZA-RADECKIEGO WE przoduje ale chyba wydają dużo na pacjentów bo ich strona wygląda jak z 1999 roku. https://usk.wroc.pl/

Czy będę udostępniał? Będę chciał ale jeśli chodzi o web development to jestem jaroszem, wiec jednak obawa że ktoś z hejto zhakuje mi płytę główną.

Osobistość6piorunów

@Czokowoko Z 1999 to przesada, byłby wtedy jakiś licznik odwiedzin, zegar i kursor w kształcie tabletki. Myślę, że to bardziej lata 2007. Ale jakby nie patrzeć, to taka strona jest funkcjonalna, łatwo znaleźć najważniejsze informacje, na minus to ładują zbyt dużo newsów.

Pokaż więcej komentarzy (5)

Sum

w Hydepark

11piorunów

Czasami trzeba się nakręcić do pracy ( ✧≖ ͜ʖ≖)

Tak więc teraz lecą Polskie klasyki, do których se chłop pańszczyźniany śpiewa i programuje.
Dzisiaj na wwawrsztat wpada już informator na poziomach, trzeba zaprojektować coś lepszego niż zwykły tekst z tym badziewnym obrazkiem.


Autorytet0piorunów

@Gagger jak sie sprawuje unreal do pixelartów? widziałem, że do takich gierek są polecane raczej inne silniki więc zaciekawiło mnie

Sum2piorunów

@wewerwe-sdfsdfsdf Do PixelArtów są polecane inne, jak na przykład GoDot.

UE5 sprawuje się całkiem fajnie, najważniejsze działa.
Jest elastyczny, z racji, że to silnik głównie pod 3D, modelowanie czy projektowanie to w opcji 2D ma więcej opcji niż potrzeba.
O wiele lepiej dodaje się funkcje, gra światłem jest o wiele płynniejsza.
No i jest o wiele częściej aktualizowany niż reszta, więc posiada najnowsze biblioteki no i jest jednym z najbardziej zaawansowanych silników do gier.

Najprościej to wyjaśnić, tym że
GoDot to wybranie się po bułki z reklamówką
Unreal to wybranie się po bułki z przyczepą tira.

Oba robią to samo, ale UE jest nadwyraz to co potrzeba do 2D

Pokaż więcej komentarzy (2)

Kompan

w Dyskusje

6piorunów

Mała aktualizacja projektu. 😊

Dodałem do PaliwoMapa.pl nowy Planer Podróży, który pomaga znaleźć stacje paliw na wyznaczonej trasie.

Najważniejsze funkcje:
- proponuje stacje znajdujące się w kierunku jazdy (opcję można wyłączyć),
- uwzględnia tylko stacje z cenami zaktualizowanymi w ciągu ostatnich 10 dni,
- pozwala edytować trasę przez przeciąganie jej przebiegu, podobnie jak w Google Maps,
- można ustawić maksymalną odległość stacji od trasy,
- obsługuje do 3 przystanków po drodze,
- na końcu otwiera gotową trasę w Google Maps.

Chętnie poznam Wasze opinie i pomysły na kolejne funkcje :slightly_smiling_face:

Fenomen3piorunów

zrob wersje platna i wystaw do ruskiego internetu

Kompan0piorunów

@DEATH_INTJ pomysł ciekawy ale chyba trochę zbyt abstrakcyjny 😛

Fenomen1piorunów

@PaliwoMapa moglbys miec liczniki benzyny ktore by odliczaly do zera a potem czytal w newsach jak sie kacapy scigaja do stacji w ktorej jeszcze nie ma zera.

Pokaż więcej komentarzy (4)

Fanatyk

w Hydepark

33piorunów

Z serwer z kategorii jak działa to nie ruszać.

GURU12piorunów

@30ohm do czasu aż nie j⁎⁎⁎ie i wtedy jest "o boże o k⁎⁎wa co się dzieje jak to zastąpić" xD Na pewnym etapie dług technologiczny przestaje być szumnym hasłem stworzonym przez jakichś IT-guru, żeby sprzedawać managerom swoje pomysły, a zaczyna być realnym problemem.

Jeszcze przed 18tką dorabiałem sobie na czarno po firmach jako takie wsparcie"- po części, żeby jakiegoś nawet nędznego grosza zarobić, a po części, żeby się przyuczyć, bo już wtedy wiedziałem, że to mnie kręci i będę chciał w to iść. A wiadomo- zawsze to jakiś exp i ewentualne referencje na start. No więc w jednej z takich robót śmiałem się, że średnia wieku sprzętu w firmie ostro konkurowała ze średnią wieku pracowników (i ich mentalnością), a młodzi ludzie to tam nie pracowali. Było śmieszno, było przaśnie, można by powiedzieć nawet, że i rubasznie. Była i kasa, bez problemu, zawsze i wszędzie, "tylko powiedz to zaraz wszystko się ogarnie". Tak samo był czas na maintenance. Były do czasu, aż faktycznie trzeba je było, wtedy kasy akurat nie było, a zapierdol był tak wyjątkowy, że "teraz akurat nie możemy". No co ja mogę. Infra przeżyła je⁎⁎⁎cy się na potęgę switch i padające kolejno porty. Infra przeżyła padniętą kość RAM w serwerze. Infra przeżyła nawet jeden jebnięty dysk w serwerze (a RAIDu to tam nie było, bo "drogo" :D). Przeżyła nawet wiecznie nieruszane systemy, bez aktualizacji i z błędami w logach. Nie przeżyła tego jak jednej nocy była burza i jak j⁎⁎⁎ął piorun, to spaliło zasilacz i płytę w serwerze. I zaskakująco nic dalej. No bo przecież jakieś UPSy czy faktyczne PDU to był "tylko jakiś niepotrzebny wymysł tak jakby z gniazdka to nie działało". No to działało. Aż przestało xD Prawdziwy problem pojawił się wtedy, kiedy się okazało, że łaskawe wyciągniecie drobniaków na wspomniane komponenty z bólem serca (i d⁎⁎y!) nie wystarczy, to wszystko było tak stare, że nawet jakieś allegro i inne ebaye nie przewidywały takich używek więc musieli kupić cały serwer, ze wszystkim :grinning: Przez pół roku potem przy każdej okazji było jęczenie, że "teraz to specjalnie tak robio, że nie można wstawić jakiejś płyty z rubina, kiedyś by tak się dało hurrrr". Tak, do serwera. Z Rubina. Nawet nie żartuję. Aż w końcu po pół roku się stamtąd zwinąłem, bo czułem, że jakbym jeszcze kolejne pół roku tam przetrwał, to albo bym tam zapuścił korzenie, albo zdziadział tak jak oni i obudziłbym się w wieku 50 lat dalej tam jebiąc taką popelinę i narzekając na potrzebę zrobienia czegoś ekstra.

Fanatyk1piorunów

@NiebieskiSzpadelNihilizmu robiłem w firmach co mieli kompletnie wywalone na aktualizacje. Do drugiej przyszedłem w celu zrobienia audytu, mieli taki burdel i tak legacy co chwilę wychodziło, że mnie zadziwiało istnienie ich tyle lat na rynku.

Ba nawet wielkie korpa były tak stare gówna wystawione do internetu do tego zrobione w taki sposób, że mi byłoby wstyd to sprzedawać klientom.

Wchodzi NIS2 i trochę takich januszy dokręci.

GURU0piorunów

@30ohm nie no, ja wiem, że na takim szczeblu powiedzmy bardzo lokalnym to januszerka dalej jakoś tam się utrzymuje, może nie masowo, ale dalej. Ale to co jest teraz to nie ma nawet podjazdu do tego co było ze 20-30 lat temu w tych kwestiach 😉 Wtedy to była wolna amerykanka, żeby nie powiedzieć dziki świat z dzikimi ludźmi robiącymi dzikie interesy. Teraz to co najwyżej możemy spotkać jakieś echa tego wszystkiego, albo wyjątkowo trzymające się niedobitki.

A co do korpo... ja dalej pamiętam co się odwalało jak jeszcze z 6-7 lat temu byłem w t-mobile (ha tfu! na tych ściemniaczy) logowałem się na ich portal klienta. I to był zwyczajny ulep, z tego co pamiętam klepany przez Asseco. Główna strona po zalogowaniu to jakichś ichni framework. Przechodzisz do ustawień konta- aspx. Przechodzisz do profilu- chyba react albo angular, jedno z tych javascriptowych gówien, ja tego nie rozróżniam, bo gardzę obiema po równo. Przechodzisz do modułu z fakturami, żeby sobie pobrać najnowszą, albo przejrzeć starsze- flash. I widziałeś to bez możliwości pomylenia się, bo we flashu nawet grafika miała to charakterystyczne "ziarno". Mało? Przejście między tymi "modułami" to zawsze było pełne przelogowanie się... które czasem nie działało i trzeba się było wlogować ręcznie 😂

W januszexach to problem zastanej mentalności. W korpach- kalkulacji kosztów. Możesz sobie co najwyżej wybrać którą chujnię bardziej wolisz ¯\\_(ツ)_/¯

Fanatyk0piorunów

@NiebieskiSzpadelNihilizmu w korpach to jest problem rozplanowania prac. U siebie mam system który ma 5 różnych baz danych, 5 różnych silników bo dokładali komponenty i żyje sobie takich frankenstein. Do póki ktoś nie powie pass i ma być zrobione dobrze. Podobnie mam z innym systemem który działa na każdej możliwej opcji platformy, klikasz po web i pewnym momencie masz powrót do lat 90. Bo się boją to ruszyć.

Fanatyk0piorunów

@30ohm Zakładam, że maszyna nie ma połączenia sieciowego? Powiedz proszę, że nie ma...

Fanatyk0piorunów

@LondoMollari w końcu to dns jak otwarty to z każdej strony xD

Pokaż więcej komentarzy (10)

Lider

w Programowanie

15piorunów

Pierwsze README napisane przez w 2005. W następnym commicie który dotyka tego pliku obok zmienił .dircache/index -> .git/index.

https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290#diff-2b7814d3fca2e99e56c51b6ff2aa313ea6e9da6424804240aa8ad891fdfe0900

> GIT - the stupid content tracker
>
> "git" can mean anything, depending on your mood.
>
> - random three-letter combination that is pronounceable, and not
> actually used by any common UNIX command. **The fact that it is a
> mispronounciation of "get" may or may not be relevant.**
> - stupid. contemptible and despicable. simple. Take your pick from the
> dictionary of slang.
> - "global information tracker": you're in a good mood, and it actually
> works for you. Angels sing, and a light suddenly fills the room.
> - "goddamn idiotic truckload of sh*t": when it breaks
>
> This is a stupid (but extremely fast) directory content manager. It
> doesn't do a whole lot, but what it _does_ do is track directory
> contents efficiently.
>
> There are two object abstractions: the "object database", and the
> "current directory cache".
>
> The Object Database (SHA1_FILE_DIRECTORY)
>
> The object database is literally just a content-addressable collection
> of objects. All objects are named by their content, which is
> approximated by the SHA1 hash of the object itself. Objects may refer
> to other objects (by referencing their SHA1 hash), and so you can build
> up a hierarchy of objects.
>
> There are several kinds of objects in the content-addressable collection
> database. They are all in deflated with zlib, and start off with a tag
> of their type, and size information about the data. The SHA1 hash is
> always the hash of the _compressed_ object, not the original one.
>
> In particular, the consistency of an object can always be tested
> independently of the contents or the type of the object: all objects can
> be validated by verifying that (a) their hashes match the content of the
> file and (b) the object successfully inflates to a stream of bytes that
> forms a sequence of + + <ascii decimal
> size> + <byte\\0> + .
>
> BLOB: A "blob" object is nothing but a binary blob of data, and doesn't
> refer to anything else. There is no signature or any other verification
> of the data, so while the object is consistent (it _is_ indexed by its
> sha1 hash, so the data itself is certainly correct), it has absolutely
> no other attributes. No name associations, no permissions. It is
> purely a blob of data (ie normally "file contents").
>
> TREE: The next hierarchical object type is the "tree" object. A tree
> object is a list of permission/name/blob data, sorted by name. In other
> words the tree object is uniquely determined by the set contents, and so
> two separate but identical trees will always share the exact same
> object.
>
> Again, a "tree" object is just a pure data abstraction: it has no
> history, no signatures, no verification of validity, except that the
> contents are again protected by the hash itself. So you can trust the
> contents of a tree, the same way you can trust the contents of a blob,
> but you don't know where those contents _came_ from.
>
> Side note on trees: since a "tree" object is a sorted list of
> "filename+content", you can create a diff between two trees without
> actually having to unpack two trees. Just ignore all common parts, and
> your diff will look right. In other words, you can effectively (and
> efficiently) tell the difference between any two random trees by O(n)
> where "n" is the size of the difference, rather than the size of the
> tree.
>
> Side note 2 on trees: since the name of a "blob" depends entirely and
> exclusively on its contents (ie there are no names or permissions
> involved), you can see trivial renames or permission changes by noticing
> that the blob stayed the same. However, renames with data changes need
> a smarter "diff" implementation.
>
> CHANGESET: The "changeset" object is an object that introduces the
> notion of history into the picture. In contrast to the other objects,
> it doesn't just describe the physical state of a tree, it describes how
> we got there, and why.
>
> A "changeset" is defined by the tree-object that it results in, the
> parent changesets (zero, one or more) that led up to that point, and a
> comment on what happened. Again, a changeset is not trusted per se:
> the contents are well-defined and "safe" due to the cryptographically
> strong signatures at all levels, but there is no reason to believe that
> the tree is "good" or that the merge information makes sense. The
> parents do not have to actually have any relationship with the result,
> for example.
>
> Note on changesets: unlike real SCM's, changesets do not contain rename
> information or file mode chane information. All of that is implicit in
> the trees involved (the result tree, and the result trees of the
> parents), and describing that makes no sense in this idiotic file
> manager.
>
> TRUST: The notion of "trust" is really outside the scope of "git", but
> it's worth noting a few things. First off, since everything is hashed
> with SHA1, you _can_ trust that an object is intact and has not been
> messed with by external sources. So the name of an object uniquely
> identifies a known state - just not a state that you may want to trust.
>
> Furthermore, since the SHA1 signature of a changeset refers to the
> SHA1 signatures of the tree it is associated with and the signatures
> of the parent, a single named changeset specifies uniquely a whole
> set of history, with full contents. You can't later fake any step of
> the way once you have the name of a changeset.
>
> So to introduce some real trust in the system, the only thing you need
> to do is to digitally sign just _one_ special note, which includes the
> name of a top-level changeset. Your digital signature shows others that
> you trust that changeset, and the immutability of the history of
> changesets tells others that they can trust the whole history.
>
> In other words, you can easily validate a whole archive by just sending
> out a single email that tells the people the name (SHA1 hash) of the top
> changeset, and digitally sign that email using something like GPG/PGP.
>
> In particular, you can also have a separate archive of "trust points" or
> tags, which document your (and other peoples) trust. You may, of
> course, archive these "certificates of trust" using "git" itself, but
> it's not something "git" does for you.
>
> Another way of saying the same thing: "git" itself only handles content
> integrity, the trust has to come from outside.
>
> Current Directory Cache (".dircache/index")
>
> The "current directory cache" is a simple binary file, which contains an
> efficient representation of a virtual directory content at some random
> time. It does so by a simple array that associates a set of names,
> dates, permissions and content (aka "blob") objects together. The cache
> is always kept ordered by name, and names are unique at any point in
> time, but the cache has no long-term meaning, and can be partially
> updated at any time.
>
> In particular, the "current directory cache" certainly does not need to
> be consistent with the current directory contents, but it has two very
> important attributes:
>
> (a) it can re-generate the full state it caches (not just the directory
> structure: through the "blob" object it can regenerate the data too)
>
> As a special case, there is a clear and unambiguous one-way mapping
> from a current directory cache to a "tree object", which can be
> efficiently created from just the current directory cache without
> actually looking at any other data. So a directory cache at any
> one time uniquely specifies one and only one "tree" object (but
> has additional data to make it easy to match up that tree object
> with what has happened in the directory)
>
>
> and
>
> (b) it has efficient methods for finding inconsistencies between that
> cached state ("tree object waiting to be instantiated") and the
> current state.
>
> Those are the two ONLY things that the directory cache does. It's a
> cache, and the normal operation is to re-generate it completely from a
> known tree object, or update/compare it with a live tree that is being
> developed. If you blow the directory cache away entirely, you haven't
> lost any information as long as you have the name of the tree that it
> described.
>
> (But directory caches can also have real information in them: in
> particular, they can have the representation of an intermediate tree
> that has not yet been instantiated. So they do have meaning and usage
> outside of caching - in one sense you can think of the current directory
> cache as being the "work in progress" towards a tree commit).

Osobistość

w IT

18piorunów

Miesiąc temu narzekałem, że muszę ciągle aktualizować swoje aplikacje bo cały czas jakieś krytyczne podatności znajdują w next.js i innych bibliotekach a teraz trafiłem na Twitterze na taki obrazek xD. Eh pora zautomatyzować za pomocą AI żeby mi samo bumpowało wersje paczek bo mi się już nie chce tego robić ręcznie i sprawdzać czy działa.

Kosmonauta3piorunów

@Catharsis nie zdążę jednej wersji podbić, a już jest następna podatność. Innymi słowy, idź pan w c⁎⁎j z tym...

Pokaż więcej komentarzy (11)

Inspirator

w Hydepark

7piorunów

Otwieram 50 kart z pojedynczymi wpisami na Twitterze. Przeglądarka zjada kilkanaście GB RAM-u. Wiecie, ile w tym jest realnej treści (tekst + obrazki)? Jakieś 10 MB. Reszta — ponad 99% — to 50 kopii tej samej maszynerii, ładowanej od zera w każdej karcie.

Winne jest jedno ciche założenie, które wszyscy traktują jak prawo natury: „jedna karta = jedna osobna, w pełni załadowana strona". A wcale nie musi tak być.

Opisałem pomysł, jak to skasować, nie zmieniając niczego, co widzisz w przeglądarce — plus czemu to nie jest ani nowe, ani ryzykowne (bo ten wzorzec siedzi już w History API), i co z tego mają same serwisy.

https://claude.ai/public/artifacts/6bed38d9-9ca1-474c-a3dc-5403c9204085

Da się przełamać ten paradygmat, czy gadam głupoty?

Osobistość0piorunów

Każda karta jest sandboxowana i ma to swój powód dla bezpieczeństwa i innych takich. Plus nie wiem skąd te liczby bo odpaliłem teraz z ciekawości 47 kart Twittera u siebie i cały mój system operacyjny zużywa jedynie 14,5 GiB z czego Chrome jakieś ~11 GiB a mam w nim otwarte jeszcze masę innych kart.

Inspirator0piorunów

@Catharsis te karty masz zaladowane czy tylko uśpione?

Inspirator0piorunów

@Catharsis moja propozycja nie ma wpływu na bezpieczeństwo, nic się pod tym względem nie pogarsza, bo to jedna i ta sama strona. Izolacja jest między odrębnymi domenami i z tym się nic nie zmienia.

Osobistość0piorunów

@fewtoast Załadowane, każdą otworzyłem i dałem czas na załadowanie się. Mam wyłączone usypianie kart. Jedyne co to adblock działa w tle i może częźć RAMu zwalniać usuwając reklamy ale wątpie żeby to robiło aż taką różnice.

Inspirator0piorunów

@Catharsis To zbadam ile to u mnie zajmuje, bo AI tylko robił wyliczenia, najwyżej skoryguję. Bo mi realnie całe moje 32 GB zabiera jak otworze sporo kart, w ciągu dnia może się zebrać (plus jakiś jeden dwa inne programy co nie tak mało zajmują).

Osobistość1piorunów

@fewtoast W10, Firefox, mam 16gb ramu ddr3, rezultat jak na obrazku, jakby mógł, to by pewnie więcej wszamał.
Jutro jak wrócę do domu, to mogę sprawdzić na W11, Firefox, 32gb ramu ddr4.

Osobistość0piorunów

@fewtoast Mi się bardzo podoba ten pomysł i na pierwszy rzut oka ma sporo sensu.
W dłuższej perspektywie nigdy nie mam otwartych wielu kart przeglądarki, ale czasami jak przeglądam jakiś sklep to otworzę z 20 kart, aby porównać produkty i faktycznie bez sensu ładować wszystko od zera, skoro różnią się paroma komponentami i danymi. Tylko to wszystko musiałby ogarniać przeglądarka, nie? Takie SPA tylko o poziom wyżej, brzmi fajnie.

Ale tylko sprecyzuję. Przeglądarka wciąż pytałaby o całą stronę, tylko po odpytaniu i sprawdzeniu, nie dublowałaby rzeczy w ram, tak?
Czyli np. odpalam na karcie hejto.pl tworzy się jakiś kontener "hejto.pl" i on ma np.
aaa.js, bbb.png, ccc.js
Odpalam drugą kartę hejto.pl, leci request po całą stronę, ale przeglądarka sprawdza, że aaa.js, bbb.png, ccc.js jest już załadowany w ramie i jest w obrębie tego samego kontenera (hejto.pl), więc nie dubluję tego w ram, tylko reużywa tego, tak?

Inspirator0piorunów

@HmmJakiWybracNick Nie, nie dublowanie to zupełnie inny mechanizm i istnieje, ale ma swoje ograniczenia ze względu na izolację wielu procesów oraz bezpieczeństwa (to raczej gdy chodzi o osobne domeny). Najlepiej zobacz dema: https://claude.ai/public/artifacts/973661ff-bc7d-41ce-bfe5-35cff1beb8bf

Bo raczej lepiej tego w komentarzu nie wyjaśnię.

Strona na całe okno jest jedna, nie tylko jej elementy, ale cała strona. A kliknięcie w kartę tylko podmienia ten mały element, którym się podstrony tej samej strony różnią. Zamiast wielu kompletnych stron, każda ze swoją kartą, jedna kompletna strona a klikanie w karty podmienia tylko maleńki element na tej jednej jedynej kompletnej stronie.

To wymaga zmiany sposobu obsługi przez przeglądarkę i maleńkiego API po stronie strony, analogicznego do istniejącego History API w Single Page Application (przy przyciskach wstecz/naprzód).

Claude ArtifactTry out Artifacts created by Claude usersClaude
Pokaż więcej komentarzy (31)

GURU

w Hydepark

49piorunów

Powiedz że twój system jest podatny na SQL Injection nie mówiąc że jest podatny na SQL Injection xD

Fenomen10piorunów

Ja to tylko tu zostawię... (Ja nie wiedziałem 🙃

SQL injection (SQLi) to technika cyberataku, w której haker umieszcza złośliwy kod SQL w polach formularza lub zapytaniach aplikacji. Umożliwia to ominięcie zabezpieczeń logowania, kradzież, modyfikację lub usunięcie danych, a w skrajnych przypadkach – przejęcie kontroli nad serwerem.
Jak to działa w praktyce?
Podatność: Wiele stron (np. logowanie lub wyszukiwarki) pobiera dane od użytkownika, a następnie dynamicznie dopisuje je do bazy danych.
Atak: Zamiast wpisać zwykły login, atakujący wstrzykuje komendy SQL (np. ' OR 1=1 --), które zmieniają logikę zapytania w bazie.
Skutek: Baza danych traktuje złośliwy wpis jako część kodu, wykonuje go i zwraca nieuprawnione informacje.

GURU2piorunów

@Arkil Tak, a ten komunikat tutaj to mniej więcej powiedzienie: "Nasz system jest na to podatny, YOLO" xD

Pokaż więcej komentarzy (6)

Sum

w Hydepark

12piorunów

Dobra.
Narazie to tyle, stworzyłem ostatnią opcję, która jest mi potrzebna do systemu informowania o życiu.

Anioły pokazują już ilość żyć.
Po wejściu w jego obszar, tworzą się złote motyle.
W dokładnie ilości żyć gracza, krążą powoli wokół niego.
Po wyjściu motyle znikają.
Nic nie dzieje się nagle, powolne pojawianie, powolne znikanie.

Dlaczego złote?
Ponieważ ten kolor symbolizuje spokój, bezpieczeństwo.
Tym kolorem są oznaczane Anioły, które służą jak punkty odrodzeń i teleportacji.
Tak samo niegroźne rośliny w tle.

Dodatkowo na screenie widać, dzialanie.
W menu mamy aktualną ilość żyć, oraz aktualną ilość motyli (oznaczone zieloną kropką).
Tak więc widoczność żyć jest w 3 miejscach.

Na dziś to tyle, zrobiłem co chciałem, poszło to nawet sprawnie, bez udziwnień i wygląda to całkiem ładnie.
Wszak nie zrezygnowałem z tego pomysłu jak z klasycznych pasków życia.
https://youtu.be/6Qr74pYLXeY

- tag do obserwowania bądź czarnolistowania

Sum

w Hydepark

22piorunów

I oto jest.
Finalny wygląd otrzymania obrażeń przez bohaterkę.

Po otrzymaniu obrażeń, z gracza wylatuje cząstka duszy, która szuka najbliższej latarni.
Po osiągnięciu celu zamienia się w motyla, który krąży wokół fioletowego światła.

Dusze nie będą możliwe do odzyskania, od momentu przemiany będą pełniły funkcję dekoracyjną na poziomach.
Będzie można przypomnieć sobie "O tutaj umarłem 2 razy" bo krążą tutaj 2 motyle.
Dodatkowo po wyjściu z poziomu i powrocie, motyle wciąż tam będą, zostaną przy swojej latarni na zawsze.

Ale skąd gracz będzie wiedział ile żyć mu pozostało?
W końcu sama utrata duszy nie mówi wprost "Straciłeś życie, zostało Ci ich 3"
Nie ma tam informacji, nie ma tam nic poza samą duszą.

Ale dowiedzieć tego można się na 3 sposoby.
Wejście na poziom.
Po wejściu na poziom, na środku ekranu, w górnej części wyświetlają się informacje o poziomie
Jego nazwa, opis oraz właśnie ilość pozostałych dusz + zebrany ember
Tak więc po wejściu widzimy ile ich posiadamy.

Dodatkowo na poziomach, gdzie spędzimy więcej czasu i możemy zapomnieć ile ich mamy, bo zebraliśmy / straciliśmy życie.
Umieszczone są złote Anioły, pełnią one funkcję respawn point, teleportacyjną oraz od teraz właśnie i informacyjną.
Wokół anioła pojawią się złote dusze, symbolizować będą to ile gracz ma żyć.
Ich ilość będzie odpowiadała dokładnie ilości żyć.

Oraz najbardziej oczywista wersja, w samym menu.
Gdzie gracz może podejrzeć mapę, wybrane umiejętności i inne statystyki, widnieje także wpisana czytelnie ilość żyć.


Dusze będą leciały do najbliższej latarni, nawet jeżeli ta znajduje się poza ekranem.
Nie posiadają kolizji, więc nie będą przeszkadzały podczas walki.
Motyle poruszają się losowo, dodając atmosfery wokół, emanują własnym światłem, więc oświetlają także poziom.
Ich ilość na latarnię została ograniczona do 5
Aby nie tworzyć zbędnego spawmu i tłoku świateł, kazdy kolejny motyl jest po prostu usuwany z gry aby zachować odpowiedni klimat.

Teraz pozostało mi tylko stworzyć coś ciekawego, co określi śmierć.
Skoro obrażenia pozostają w grze, to i także śmierć powinna.


- tag do obserwowania bądź czarnolistowania

https://youtu.be/fQDHWqgE_UE

Kompan0piorunów

Bardzo fajny pomysł, na konsoli typu Trimui Brick będzie można w nią zagrać ?

Sum0piorunów

@KC5emtz Z tego co widzę jest tam Linux.
Już w poprzednich wersjach gry, ktoś pisał, że na Linuxie odpalił ją bez problemu

Nie wiem jednak jak ta mz mapowaniem klawiszy, bo kontroler dodam do gry
Pytanie tylko czy sama konsola będzie miała możliwość interakcji, żeby zmienić bindy na swoje

Autorytet1piorunów

@Gagger jakby dało rade to bedzie bomba! Trimui smart pro mam i bym grał dniami i nocami!

Kompan0piorunów

@Gagger konsolka ma te system do emulacji starych konsol i w każdej grze jest opcja zmiany lub ustawienia przycisków

Sum0piorunów

@KC5emtz Jeżeli uda się wejść w ustawienia to nie bedzie problemu

Na Linuxie gra śmiga, nie było problemów, o ile pamiętam i się nie mylę to był to proton

Pokaż więcej komentarzy (7)

Gruba ryba

w Hydepark

13piorunów

Now Fable 5 is my best Friend!

Kosmonauta1piorunów

Rzeczywiście fable robi aż tak dobrą robote?

Gruba ryba0piorunów

@m_h Testuję :grinning: Jak postawi mi działający system to Ci powiem :grinning:

Gruba ryba0piorunów

@Legendary_Weaponsmith @m_h Na ten moment różnica jest taka że zastanawiam się czy nie wykupić następnyum razem pełnego pakietu za 200$ bo jednak jest jeszcze wygodniejszy. Między modelami jest taka głóœna różnica. Jeśli model wykonuje jakieś duże zadanie i ma wątki poboczne to śledzę je i rozwijam jakiś kierunek rozwoju aplikacji w kolejnych krokach. Fable mocniej się skupia i lepiej dokańcza wątki poboczne, a mimo to dobrze skupia się też na wątku głównym. Mogę to samo zrobić z opusem, ale w zasadzie wymaga to mniej pracy po mojej stronie. Fable to żarłok, można go porównać do opusa na planie zwykłym. Niby można lecieć na sonnecie za 20$ ale jednak wygodniej opusem, bo więcej i szybciej zrobi. Czy to jest jakiś przełom? Raczej nie, a czy widać różnicę? Tak różnica jest zauważalna ale nie na tyle żebym od razu wskakiwał na wyższy pakiet, aczkolwiek na tyle dobra że zastanawia mnie to. Aczkolwiek kiedy przejdę we wrześniu na samozatrudnienie i będzie to moje narzędzie do codziennej pracy - wtedy bez obaw wskoczę na wyższą wersję, zwłąszcza biorąc pod uwagę że czasami opus nie mieści mi się w limitach...

Pokaż więcej komentarzy (5)