#programowanie

253
2419

Zaloguj się aby komentować

#ai #programowanie #programista15k

tl;dr

Koleś miał sobie business, całkiem fajny bo dostarczał technologię używaną przez wypożyczalnie samochodów w USA.

Kozystali z infrastruktury firmy Railway ale coś tam nie pykło i tokeny uwierzytelniające w API dostawcy usług miały bardzo szerokie uprawnienia, co oczywiście jest okropną praktyką.

No i pan od biznesu wypożyczalnianego wykupił sobie Cursoa i Claude, po czym zaczęło sie vibecodowanie. Ale pan był, jak mu się wydawało, przezorny i ustawił Cursorowi ograniczenia, że niby czegoś tam nie może robić sam.

A ten nie posłuchał i wyparował im wszystkie kopie baz danych, łącznie z backupami. Jednym-kurła-żądaniem-REST.
Nie wiem kto tu bardziej zawinił ale robi się ciekawie.
Polecam jednak przeczytać posta na Twatterze, bo tam autor dołącza szczerą samokrytykę którą wygłosił agent.
https://x.com/lifeof_jer/status/2048103471019434248?s=46

cda798af-5fc0-4a1d-83b3-bce5c6c89f7f

Miałem o wiele mniejszą w skutkach akcję na prywatnym serwerze. Postawiłem sobie po raz pierwszy Immich w Dockerze ale coś mi tam się nie zgadzało z uprawnieniami więc zacząłem pytać Gemini o porady. Początkowo brzmiało dobrze - proponował komendy nadające odpowiednie uprawnienia użytkownikowi. Zaczął jednak brnąć (na moją prośbę) w naprawianie wolumenów i ustawień albumów . Od słowa do słowa i nagle odkrył, że jestem na starej wersji (byłem na najnowszej) i zaproponował "upgrade" do wersji niższej i to sporo. Zaświeciła mi się niestety tylko żółta lampka zamiast czerwonej i zapytałem czy ta wersja Immicha (1.6.2) jest na pewno nowsza od 2.6.5. Gemini odpowiedział, że tak bo to inna numeracja niż zazwyczaj XD no i tu ja zjebałem bo mu zaufałem i powiedziałem no dobra to lecimy XD

Skończyło się na tym, że robiłem przez dwie godziny downgrade wszystkich kontenerów przez konsole co poskutkowało prawie całkowitym rozjebaniem instancji Immicha i zmarnowaniem około 8 godzin pracy. Całe szczęście, że nie tknął zdjęć. Ale co się nauczyłem o zaufaniu do AI to moje.

Zaloguj się aby komentować

AI trochę zabiło u mnie używanie systemów do trzymania tasków. Zamiast wrzucić coś do Trello wolę od razu opisać taska na GH i niech agent zrobi wstępną analize/propozycje.


Oczywiście to, że jestem jedynym programistą w tych konkretnych projektach pomaga


#programowanie #ai #gownowpis

Ragnarokk userbar

Zaloguj się aby komentować

@Half_NEET_Half_Amazing Już gdzieś pisałam, że jak bańka AI będzie chciała realizować zyski i zacznie podnosić ceny, to okażę się że jednak murzyn z wschodniej Europy tańszy XD

Zaloguj się aby komentować

Zaloguj się aby komentować

Jak sobie radzicie z kwestią potencjalnie wadliwego RAM-u w komputerach w przypadku RAM jest przylutowany? Np. na MAC-ach? Kiedy jesteście pewni, że to RAM sadzi błędy a nie soft, kiedy wiecie kiedy sprzęt wymienić?
Czy kupując nowy laptop, kupujecie taki ze slotami pamięci, czy wolicie gdy wszystko jest wlutowane?

#komputery #programowanie

Radar sobie tak ze mca nie tykam patykiem przez rekawiczke, jak ram zjebany calkowicie to jeden uj bo nie odpali, a jak sa jakies problemy ze stablinoscia to ciezka diagnoza, a nawet jak dojdziesz ze to ram to w przypadku mca wymieniasz i tak cala plyte glowna, nie znam speca ktoryby sie bral za wymiane ramu

Zaloguj się aby komentować

Udało mi się ostatnio wrócić na trochę dłużej do projektu własnego "silnika gier".

Nie poddałem się jeszcze. Trochę różnych zmian wprowadzałem i podokrążyłem kilka rzeczy, żeby były w stanie działać. Na filmiku pokazuję proste animacje tłoku. Na razie na tylko tyle mnie stać, jeśli chodzi o tworzenie w blenderze.
Będzie troszkę technicznego pitolenia.


Najtrudniejsze, nad czym ostatnio główkowałem, to VAT (vertex animation texture). W skrócie, animacje obiektów nie ogarnia jak to zazwyczaj bywa CPU tylko GPU. U mnie animacje zapisuję jako plik png, dzięki czemu bez problemu mogę taką grafikę wykorzystać w shaderze. Pomysł na samo wykorzystanie pliku graficznego do zapisywania tego typu danych jest imo bardzo ciekawy. Każdy piksel, np. w formacie PNG, ma kilka warstw (RGBA) i w każdej z tych warstw można zapisać jakieś dane, np. nową pozycję danego wierzchołka.

Kolejne wyzwanie, które sobie wymyśliłem, to przejście z programowania w samym OpenGL (Silk.Net.OpenGL) na coś bardziej nowszego i uniwersalnego.
Trafiłem na Zenith.NET, bibliotekę-warstwę, gdzie, pisząc jedno, będzie to bez problemów działać na różnych API graficznych (Vulkan 1.4, DX12 oraz Metal) pod spodem. Poziom kontroli nad tym, jak wszystko działa, można porównać do tego, jakby programowało się w samym Vulkan-ie. Dodatkowym plusem jest jeszcze obsługa języka shaderów Slang (HLSL). Miodzio.

W wyrenderowaniu pojedynczego obiektu z teksturami lub kolorami nie mam już najmniejszego problemu.
Pod górkę zaczyna się, gdy chce się więcej obiektów na raz wyrenderować. Wtedy nie ma wyjścia i jedynym wyjściem jest zabawa z optymalizacją. Cach-owanie czego się da, batch rendering i inne pomniejsze.
Batch rendering można porównać do wysyłania wiadomości do wielu ludzi. Zamiast wysyłać do każdego człeka po kolei wiadomość, rozsyłamy na raz grupowo do wszystkich. Także zamiast wysyłać pojedynczą instrukcję dla każdego obiektu, wysyłamy jedną, żeby na raz wygenerowało ich kilka.

Zacząłem dodatkowo implementować pierwszą wersję systemu ECS. Odpowiada za zarządzanie obiektami, ich właściwościami i takie tam.
Co do GUI, to nadal pozostaje Dear ImGui. Aż takim masochistą nie jestem, żeby coś swojego robić.
Obiekty do renderowania wczytuję z plików .obj. Jest jednym z najprostszych formatów plików 3d, w których bez czytania dokumentacji ogarniesz zapisane dane. W parze ładuję też plik .mtl, który zawiera informację o kolorach i teksturach i jest tak samo prosty jak .obj.


Jak będą siły i czas, to będę sobie nadal w tym grzebał. Motywacja nadal jest, zwłaszcza że udało mi się parę blokerów pokonać i coś już faktycznie zaczyna działać, a to mnie jeszcze bardziej motywuje.

Robię to głównie dla siebie. Lubię poznawać, jak coś pod spodem działa. Tym razem padło na grafikę komputerową.

Im dłużej samemu w tym siedzę, tym bardziej podziwiam tych, co spędzają w tym większość swojego czasu.
Web-ówka się do tego nie umywa.

#gamedev #programowanie #csharp #chwalesie #grafikakomputerowa

Szanuje fes ludzi którzy potrafią takie rzeczy albo chociaż wiedzą jak się za takie coś zabrać.

Web-ówka się do tego nie umywa.

Ta, ogólnie webdev to jest chyba najprostsza gałąź programowania z niemal zerowym progiem wstępu. Już nawet tworzenie aplikacji desktopowych (poza electronem) jest trudniejsze.
Jedynie różnica taka, że pojedyncza osoba jest w stanie napisać jakiś duży projekt webowy w sensownym czasie a tymczasem tego silnika nigdy nie skończysz xd. W sensie fajny projekt aby się pobawić i pouczyć albo żeby wpisać sobie go do portfolio. No ale na dłuższą mete pisanie czegoś takiego samemu nie ma większego sensu. No i na githubie jest masa takich eksperymentalnych niedokończonych silników w przeróżnych językach.

Trafiłem na Zenith.NET , bibliotekę-warstwę, gdzie, pisząc jedno, będzie to bez problemów działać na różnych API graficznych (Vulkan 1.4, DX12 oraz Metal) pod spodem. Poziom kontroli nad tym, jak wszystko działa, można porównać do tego, jakby programowało się w samym Vulkan-ie. Dodatkowym plusem jest jeszcze obsługa języka shaderów Slang (HLSL). Miodzio.

Na Twoim miejscu skupiłbym się nie na tym jakie drzwi otwiera, a na tym jaka jest tego cena, i w jakie ograniczenia Cię to wepchnie na kolejnych etapach.

Zaloguj się aby komentować

W wypadku gier to już w ogóle. To akurat popularna opcja, że moderzy sami naprawiają gry które ich autorzy mają w d⁎⁎ie. Przykładów jest tak dużo że nie ma sensu nawet wymieniać.

Zaloguj się aby komentować

Uwielbiam te innowacje kreowane w głowach ludzi w #korpo. Jakiś rok temu, jeden korpo klient wymyślić, że zrobi super system, do którego będzie można awizować dostawy i określać partie dostarczanych produktów. No i wszystko było by ok, bo takie dane, to dla nas nie problem, wszystko mamy w systemach i generowaliśmy już im wydruki na życzenie, jakie tam chcieli, jednak oczekiwaniem ich było, że ktoś fizycznie zaloguje się na ich panel i dane wklepie w formularz. No my na to, spoko, to może dla małych firm, ale my robimy dla was 100 wysyłek w tydzień, zróbcie jakieś API, to wam dane prześlemy elektronicznie, jakie chcecie, jak chcecie, będzie gites, bo generalnie nie będziemy teraz zatrudniać człowieka do klepania tego. No to tęgie głowy, zabrały się za myślenie i dzisiaj spotkanie odnośnie tego co wymyślili. Kilkanaście osób na spotkaniu, Pani prezentuje, genialny pomysł jak to zrealizowali - nadal logujesz się na Panel, ale teraz możesz wczytać PDFa i oni za pomocą AI i prekonfigurowanych skryptów, wykryją dane i Sobie je wpiszą w pola. Ciekawe ile kasy na to przepalili, zarówno programistycznie, jak i na LLMy, a mogli wystawić endpointa, na zebranie dosłownie kilkunastu zmiennych. Masakra.

#programowanie

@zomers ja pi⁎⁎⁎⁎le, to przypomina mi innowację drukowania dokumentów z jednego system, potem ich skanowanie i traktowania OCR w celu wprowadzenia do innego, z którą kiedyś miałem nieprzyjemność się spotkać. Oczywiście rozwiązanie było okrzyknięte jako genialne, wypłacone premie itp.

@zomers Dla mnie to wygląda jakby nie mieli tam żadnego ogarniętego człowieka od IT i problemem zabrał się ktoś z tym niezwiązanym. Usłyszał, że AI teraz ludzie używają do odczytywania dokumentów i automatyzowania niektórych rzeczy i zlecił jakiejś zewnętrznej firmie żeby to zrobiła. A oni nie pytali po co i czy da się lepiej bo im się to nie opłaca. Zrobić endpoint API to są grosze. Zaprojektować "super inteligenty system AI do automatycznego odczytywania PDFów" to przecież "nie taka prosta sprawa" i wiecie, to całe "ej aj kosztuje" xD. A w rzeczywistości wszystko co robi ta aplikacja to request do API ChataGPT.

Skąd takie podejrzenie? Bo już dostałem podobne zlecenie i dokładnie tak zrobiłem xD. Nie warto dopytywać klienta co dokładnie chce osiągnąć ponieważ jak przeanalizujesz jego pomysł i go zoptymalizujesz to mniej zarobisz. Tyle w temacie.

Zaloguj się aby komentować

zvibecodowałem narzędzie w weekend (wall time ~4h, realny czas uwagi ~1h) które generuje raport dotyczący mojej aktywności na hejto - jak ktoś chce sobie sam odpalić dla swojego profilu to tutaj link https://github.com/wombatDaiquiri/hejto-report Readme starałem się napisać tak żeby mój start dał radę program odpalić (jeśli czytasz tatusiu to pozdrawiam, nie czarnolistuj proszę )


jak zauważycie błędy, będziecie mieli sugestie albo jak sam coś wymyślę to będę aktualizował w miarę dostępnego czasu


ani razu nie spojrzałem w kod źródłowy, więc możliwe ze nic nie działa i to tylko halucynacje z niedoramienia


#programowanie #tworczoscwlasna #hejto

4297e3e8-d603-47b6-90b5-d30548fa3fab

@wombatDaiquiri Poświęć jeszcze dodatkowe 3h i wrzuć to jako saas, żebym wszedł na url/chess_peppe i zobaczył taki dashboard bez instalowania czegokolwiek

@wombatDaiquiri w jednej wypowiedzi piszesz, że "nawet nie patrzyłem w kod" w drugiej "jak znajdziecie jakieś błędy".


Lol. Trzeba było patrzeć co Ci wypluwa.

Zaloguj się aby komentować

Kolejny post po miesięcznej ciszy.

Ale nie zapominam o ludziach tutaj, wpada coraz mniej aktualizacji, ponieważ wiele z nich nie jest ciekawych do opisywania.
Ale uzbierało się w końcu coś co można opisać.

Udało mi się dokończyć jeden duży plik na kilkunastu typów przeciwników w grze.
Aktualnie kilkoma kliknięciami mogę ustawić różne zachowania wrogów, mogę także je zmieniać w czasie gry.

Pojawili się między innymi
Latający przeciwnicy, chodzący i stacjonarni.
Każdy z wyżej wymienionych ma kilka stanów ruchu.
Latający przeciwnik może czekać na gracza żeby latać nad nim, może też poruszać się ciągle.
Może atakować dystansowo oraz bezpośrednio, a jeżeli robi to bezpośrednio to może atakować ciągle bądź być przeciwnikiem kamikaze.
Do tego dystansowych ataków jest kilka, może to być śledząca i upierdliwa kula energii, laser, pocisk, atak ogniem na dużym obszarze.
Albo i nawet summoner, który respi przeciwników wokół gracza.
Takie zachowania mają wszyscy przeciwnicy, więc z 3 typów można zrobić kilkunastu różnych przeciwników.

Pojawiły się także ukończone ukryte miejsca, wraz z aktywatorami i nagrodami w sekretnych segmentach.
Kryją się za nimi także tajne przejścia na dodatkowe poziomy, które nie zostały uwzględnione na mapach gry.

Co do mapy, w końcu udało mi się sensownie ogarnąć przechodzenie pomiędzy poziomami, teraz jest to naturalne, czyli gracz wchodzący w lewy portal na poziomie nr1, pojawia się przy prawym portalu na poziomie nr2
Tak samo wracając z poziomu nr2 na poziom nr1, wchodzimy w prawy teleport i pojawiamy się przy lewym.
Nie ma już jednego spawnu tylko zależny od tego, którym wejściem się tam dostaliśmy

Pojawił się także w końcu wall grab, nie jest stały, ponieważ gracz skaczący i przyczepiający się do ściany ciągle spada, ale ułatwi to wspinaczkę, oraz pokonywanie przeszkód.
Wraz z aktualizacjami uszczupliła się gra o wiele assetów, które przestały być potrzebne.

Dograne także zostały światła, czy to oświetlenie mapy, czy właśnie pułapki, wiele z nich dostało lekką czerwoną lampę, jak widać na screenie, kolce na ścianie delikatnie świecą na czerwono, sygnalizując, że to nie jest coś co powinno się dotykać.

Zagrałem sobie nawet w nową wersję, bez przeciwników, aby sprawdzić dodane mechaniki, ponieważ przeciwników testowałem na bieżąco podczas programowania ich zachowania, jestem zadowolony ile opcji już w grze działa poprawnie.
Ładowanie poziomów, opisy i nazwy poziomu, głupia rzecz jak ruchome platformy uruchamiane poprzez uderzenie w kamień, czy ukryte miejsca na mapach. Tak samo zapisywanie checkpointów, za pomocą aniołów, animacje temu towarzyszące, czy głupie zbieranie waluty / żyć na mapie, wszystko działa jak powinno i nie psuje się.
Latanie od kuźni do kuźni, żeby raz ulepszyć postać z jednego skoku na dwa, czy w innej kuźni (każda jest tematyczna) ulepszyć maksymalną ilość żyć.


Chodząc po świecie widziałem jaki krok zrobiłem do przodu, ile już jest tam dodane, ile można robić i co robić aby się nie nudzić.
Poza biciem mobków jest tam co robić.

#rhr #programowanie #chwalesie #gry #steam

db237f1f-9cbc-478d-b876-ad76a59c1bd8

@Gagger za długie posty, polecam rozbić na piec i dodawać przez piec dni po jednym - zapadniesz ludziom bardziej w pamięć i Twoja praca nie pójdzie na marne, bo będę mógł przeczytać co tam w gierce do porannego srania

Zaloguj się aby komentować

Podziele się z wami spostrzeżeniami dotyczącej całej branży #hosting W Polsce jest to totalny rak, większość firm to ma ceny kompletnie odrealnione. 400% narzutu na cenach domen to standard. Gdzie koszty utrzymania po stronie usługodawcy są właściwie zerowe. Zagranicą z tym jest trochę lepiej, ale do nie końca.

Aktualizacje systemu czy softu na serwerach? 90% ma kompletnie w d⁎⁎ie. Jest niewiele które o to dbają. Żeby nie było, że tylko u nas jest tak źle. Zaktualizowałem system operacyjny do nowszej wersji na vpsie u usługodawcy zagranicznego i nie wstał, bo serwer host też nie jest zaktualizowany xD


Teraz wchodzi unijna regulacja nis2, która wymusza m.in. weryfikacje aktualności oprogramowania, zachowanie ciągłości działania i testowanie tego. To już się janusze biznesu na różnych forach zesrały, że trzeba będzie podnieść ceny. Podstawowe działania w utrzymaniu środowisk IT są dla nich problemem.


Obecnie jest najlepszy trend: podnoszenie cen z powodu cen pamięci. Robią to wszyscy globalnie. Gdzie jestem w stanie zrozumieć kiedy są to nowe maszyny do dzierżawy lub jakaś nowa linia produktowa. W przypadku starych maszyn to zwykły skok na kasę klientów. Pokazuje to, że nawet nie mają zabezpieczonego sprzętu w przypadku awarii, tylko będą go brać na bieżąco z rynku. Przecież na serwer działający 2 lata ciągiem bo tyle ma uptime ma wpływ zmiana cen pamięci.

Nienawidzę cloud za jego głupie rozwiązania i centralizacje, ale obecnie pięknie całą tą branże ora za ich januszerkę.


#gownowpis #programowanie

Aż tak się nie orientuje w polskich hostingach ale jak już mam z jakiegoś korzystać dla siebie albo klienta to zazwyczaj korzystam z https://www.mydevil.net/ albo ich tańszej wersji https://www.small.pl/ . Tylko oni mają jeden duży minus o którym tu kiedyś pisałem. Stoją na FreeBSD a nie Linuxie i to czasem bardzo ogranicza. Głównie np. jak chcecie hostować coś w node.js bo jak pododajecie różne paczki i ta paczka korzysta z jakiś binarnych zależności i one nie będą dostępne na FreeBSD to nie wstanie wam. Nie wiem jak teraz bo już dawno tego nie sprawdzałem ale np. aplikacje w Next.js czy takie które używają Prismy nie będą działać i tyle. Za to jak chcecie ten hosting np. do PHP to znajomy który w nim siedzi zawsze bardzo zachwalał.

Zaloguj się aby komentować

Dla niektórych może to być śmieszne, ale "lubię mieć kontrolę nad kodem" Dlatego wcześniej miałem projekt w ChatGPT, w źródłach repo, a prompt nakazywał wygenerowac zmienione pliki i podawać mi plik .zip do pobrania. Dodatkowo zawarłem zakazy. Wtedy ręcznie podmieniałem pliki i sprawdzałem zmiany. Dzięki temu unikałem vibe coding.

Dziś robie codexem. To jak przesiąść się z forda fiesty do batmobilu


#programowanie

@tosiu Kontrola nad kodem to nic śmiesznego. Jeśli nie będziemy kontrolować tego co wyrzuca nam AI to będziemy zgubieni. Powiem więcej, według mnie w perspektywie najbliższych 5 lat drastycznie pogorszy się jakość i awaryjność większości programów/systemów ze względu na to że algorytmu aplikacji nie wymyślił człowiek tylko generator tesktu. Tzn. awarii, black outów i milionowych strat będzie coraz więcej.

@tosiu Wydaje mi się że ze starych wyjadaczy każdy czyta, ale cześć nie czyta wszystkiego albo nie analizuje tego jak działa tylko czy wygląda dobrze. Za to młode pokolonie - elo mordo, vibe coding i wyjebongo - jak działa to działa, co za różnica?

Zaloguj się aby komentować