Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Programowanie

Kategoria: Technologia

  • 1501 członków
  • 1205 wpisów

Lider

w Programowanie

40piorunów

No to już po po nas xd. Ciekawe ile AI slopu będzie do debugowania

Osobistość10piorunów

Jak AI generuje mi kod w obszarze, którego nie znam (np. w innym języku programowania), to jest super. Ale nie wiedzieć czemu, kiedy generuje mi kod w obszarze, który znam, to jest gówniany. Co za przypadek. :upside_down_face:

Osobistość1piorunów

Czuć trochę wyparcie w komentarzach. 20 lat temu tak samo podważano teorię o tym, że telefony zastąpią aparaty w robieniu zdjęć. Kaliber może i mniejszy, ale mobilna fotografia dojrzewała kilkanaście lat, a AI robi rzeczy, które kilka lat temu możnaby uznać za science fiction.

Pokaż więcej komentarzy (34)

Gruba ryba

w Programowanie

27piorunów

algorytmiczna botanika idzie do przodu. Na screenie "drzewka" wygenerowane za pomocą "stochastycznych L-systemów". Strona 28 z książki którą linkowałem ostatnio.

Osobistość2piorunów

@wombatDaiquiri Pamiętam jak uczyłem się programować to mega mnie bawiły podobne rzeczy i też implementowałem różne algorytmy ręcznie w Pythonie i potem je wizualizowałem. Testowałem czasy przebiegów, optymalizowałem itp. Kiedyś mnie to bawiło. Teraz po tych wszystkich godzinach spędzonych na CRUDach i debugowaniu JSa to mi się już nie chce xD.


Ale żeby nie było to nie jestem jak koledzy wyżej bo w '86 to mnie nawet w planach nie było bo rodzice się jeszcze nie znali xD.

Pokaż więcej komentarzy (6)

Twórca

w Programowanie

18piorunów

Dzisiaj wydałem nową wersję moich aplikacji do wyszukiwania duplikatów(i nie tylko) Krokiet/Czkawka 11.0.

Wpierw wrzuciłem to na Reddita, ale mnie poblokowali, bo w treści miałem odwołanie do strony "dev dot com", więc niech idą na drzewo a post wrzucę tutaj.

Mógłbym opisywać tak jak w innych miejscach, że ta wersja dodaje w Krokiecie łatwiejsze sortowanie, pozwala na skanowanie pojedynczych plików, usuwanie danych exif z obrazów, wyszukiwanie niepożądanych nazw plików, ręczne usuwanie przestarzałych danych cache itd. - ale na końcu i tak ktoś napisze tutaj "A po co mi to?"

Tak więc hejterska społeczność w swym hejcie na pewno doceni 2 nowe funkcjonalności w tej wersji:

- Dodanie ikony do windowsowego pliku exe - zaskakująco wiele osób chciało tą funkcjonalność, ale jak to zwykle bywa nikt do tej pory tego nie zrobił, więc jak większość rzeczy, musiałem zrobić to sam, dzięki temu exe jest teraz łatwo rozpoznawalne(zawiera nowe logo, będące jednorożcem z tarczą, proporcem a na nim narysowanym Krokietem)

- Drugą funkcjonalnością jest ucinanie czarnych pasów z wideo, lub jego statycznych części

Przy przeglądaniu rożnych plików wideo, zauważyłem, że wiele z nich ma dodane jakieś dziwne pasy, przez co czasem je sie trudniej ogląda i na pełnym ekranie, nie wypełniają go całego.

Zatem dla tych plików, mogłem albo ręcznie w ffmpeg przycinać każdy plik obliczając prostokąt z zawartością, korzystać z szemranych stronek przycinających wideo i przy okazji dodające swoje własne logo albo napisać od zera tą funkcjonalność, która działałaby jako tako i ostatecznie wybrałem ostatnią opcję.

Algorytm jest w miarę prosty, z każdej strony testowana jest linia po linii i jeśli 90%(można te wartości zmieniać) pikseli z danej linii z danej ramki, ma różnice w RGB mniejsze niż 20(suma różnic każdej ze składowych), to linia jest oznaczana do usunięcia.

Jeśli w którymkolwiek z kolejnych przebiegów, linia będzie zawierała zbyt dużo różnic względem odpowiadającej jej linii z pierwszej ramki, to jest ona wyrzucana z puli do usunięcia i nigdy później nie jest już testowana.

Na obrazku niżej widać, jak narzędzie poprawnie wykryło ten "ciekawy" obszar wideo i zaznaczyło go na podglądzie(złożonym z 9 klatek z wewnątrz aplikacji), dzięki czemu kliknięcie w optimize, stworzy nowy plik(albo nadpisze stary), bez napisu

Więcej na temat błędów i nowych narzędzi w tej wersji można przeczytać tutaj - https://medium.com/@qarmin/czkawka-krokiet-11-0-c95ee35eccc2

Repozytorium — https://github.com/qarmin/czkawka

Pliki do pobrania wraz z listą zmian — https://github.com/qarmin/czkawka/releases

Licencja — MIT/GPL w zależności od programu (czyli w skrócie za darmo)



Osobistość1piorunów

@qarmin Co do przycinania czarnych pasów w video, to w sumie ffmpeg ma wbudowaną funkcjonalność automatycznego wykrycia obszaru do przycięcia. Wiem bo kiedyś dodawałem podobną funkcjonalność do swojego GUI do ffmpeg.
Tutaj link do dokumentacji ffmpeg gdzie ją opisują: https://ffmpeg.org/ffmpeg-filters.html#cropdetect

I jeszcze pytanie jeśli może wiesz, czy paczki w AUR "krokiet-bin" i "krokiet" różnią się czymś poza tym że jedna jest już zbudowana a druga nie? Chodzi mi o te dodatkowe backendy o których pisałeś oraz wsparcie dla dodatkowych formatów.

FFmpeg Filters DocumentationFfmpeg
Pokaż więcej komentarzy (4)

Gruba ryba

w Programowanie

10piorunów

Ostatnio mnie zainteresował temat symulacji rozwoju roślin i znalazłem bardzo fajna książkę na ten temat więc się z Wami podzielę: https://algorithmicbotany.org/papers/abop/abop.pdf

Jak będę miał efekty implementacji to oczywiście również wrzucę, póki co opanowałem dodawanie pionowych segmentów gałęzi, czyli bardziej walka z silnikiem niż algorytmami.

Teraz pora na symulowanie żółwia i wrzucenie kilku sekwencji z książki do odtworzenia, żeby coś ciekawego się na ekranie pojawiło. Kto w logo programował ten wie ocb

Gruba ryba1piorunów

@wombatDaiquiri Cudowne. Ach, sam bym sobie coś takiego zbudował dla czystej przyjemności :smiling_face_with_tear:

Praktykant

w Programowanie

10piorunów

Chciałem się pochwalić małym projektem, który ostatnio wdrożyłem na swoją stronę.
Jeśli zdarza Wam się grać w Scrabble albo Literaki, to pewnie znacie ten ból: macie litery na stojaku, widzicie fajne słowo na planszy i wiecie, że da się tam coś "dokleić", ale standardowe wyszukiwarki słów w ogóle w tym nie pomagają.

Większość stron w polskim necie to proste anagramatory. Żeby sprawdzić tzw. przedłużki, trzeba ręcznie wpisywać dziesiątki kombinacji. Stwierdziłem, że szkoda na to czasu, więc napisałem wyszukiwarkę, która robi to automatycznie.

Jak to działa w praktyce? Podajesz słowo, które już leży na planszy oraz swoje litery (blanki też wchodzą w grę).

Skrypt wyrzuca gotową listę wszystkich możliwych przedłużeń zgodnych z OSPS i SJP.


Co dodałem ekstra:

Punktacja:* Wyniki są od razu posortowane po wartości punktowej (liczyłem to zgodnie z zasadami gry).

Definicje:* Przy każdym słowie jest link do SJP – przydaje się, bo niektóre dopuszczalne słowa w polskim języku brzmią jak abstrakcja.

Link dla chętnych: https://poocoo.pl/przedluzki-slowa

Będę wdzięczny za feedback – co poprawić w UI albo jakie filtry dorzucić, żeby korzystało się z tego jeszcze szybciej?

Lider1piorunów

Komentarz usunięty

Zawodowiec

w Programowanie

18piorunów

Antywzorzec shared database - devszczepaniak.pl

Wspólna baza danych w mikroserwisach dość powszechnie uznawana jest za antywzorzec. Mimo że wykorzystanie jednej bazy brzmi wygodnie, w praktyce jest źródłem problemów istotnie utrudniających długoterminowy rozwój systemu. W nowym wpisie kompleksowo analizuję problemy, na jakie w

Zawodowiec

w Programowanie

6piorunów

Listmonk — darmowy mailing manager — studium przypadku i implementacja

Cytując klasyka — gratis to uczciwa cena. Prowadzenie mailingu za 0 zł w obecnych czasach możliwe jest tylko dla naprawdę małych list i wiąże się ze znacznymi ograniczeniami. Nie oznacza to jednak, że jesteśmy skazani na usługi kosztujące setki złotych miesięcznie. Przy odrobinie

Gruba ryba

w Programowanie

17piorunów

Czasem ludzie pytają mnie „wombat, tak dobrze ci się żyje, może ja bym sobie też po godzinach dorobił na tym ?”

Ja w takiej sytuacji zawsze polecam przeczytanie pierwszego rozdziału „Automate the Boring Stuff with Python” https://automatetheboringstuff.com/ i wrócenie do mnie żeby przerobić pytania z końca rozdziału. Do tej pory nikt jeszcze nie wrócił.

do Was Tomeczki, czy macie jakąś inną rekomendację? Zakładam że problem jest w moich rozmówcach, ale może są też jakieś nowsze, ciekawsze, łatwiejsze, darmowe materiały do polecania zainteresowanym ?

Autorytet1piorunów

A tak serio, to książki Jurka Grębosza.

Gruba ryba4piorunów

@wombatDaiquiri serce na tacy wyłożyłem żeby przyjaciół i znajomych nauczyć programowania jak ssało jak po⁎⁎⁎⁎ne. Przygotowałem zadanka, organizowałem spotkania, własne książki dawałem. Jeden znajomy skorzystał, reszta olała.

Pokaż więcej komentarzy (21)

Specjalista

w Programowanie

7piorunów

Nie startup, tylko narzędzie dla siebie - case study pracy z AI i Cursorem

Czytając po angielsku (artykuły, dokumentację, kursy) zawsze brakowało mi jednego: sprawdzania tłumaczenia słówek bez wyrywania się z flow.\ Nie „otwórz appkę → wklej → zapisz”, tylko coś szybkiego: zaznaczam słowo, skrót klawiszowy i gotowe. W styczniu, z przypływem

Lider

w Programowanie

8piorunów

https://github.com/torvalds/AudioNoise

Repo Linusa Torvalds w którym pisze, że jest wywajbkodowane.

> Also note that the python visualizer tool has been basically written by vibe-coding. I know more about analog filters -- and that's not saying much -- than I do about python. It started out as my typical "google and do the monkey-see-monkey-do" kind of programming, but then I cut out the middle-man -- me -- and just used Google Antigravity to do the audio sample visualizer.

Fanatyk3piorunów

@Deykun - ale to jest jego hobby projekt.

To tego cieszę się że nie zdział i potrafi używać współczesnej technologii.

Zawodowiec

w Programowanie

13piorunów

Zwykle udostępniam tu artykuły, które publikuję na swoim blogu. Tym razem mam jednak do pokazania coś większego 🎉

294 dni. Tyle minęło od napisania pierwszego zdania do postawienia ostatniej kropki mojego najnowszego e-booka. „Kolejna książka o Gicie” w końcu ujrzała światło dzienne i jestem ogromnie dumny z produktu, który mogę Ci dziś zaprezentować!

„Kolejna książka o Gicie” to ponad 180 stron konkretnej i praktycznej wiedzy. E-book przeprowadzi Cię krok po kroku od podstaw po bardziej zaawansowane treści. Nie jest to jedynie teoretyczny opis działania Gita, ale opisałem również praktyczne wskazówki i rekomendacje, które pomagają pracować z nim lepiej i efektywniej.

Oprócz treści teoretycznej w e-booku znajdziesz sporo ćwiczeń praktycznych pozwalających na przetrenowanie zdobytej wiedzy i wykorzystanie Gita w skryptach czy automatyzacjach.

W premierowym artykule znajdziesz szczegółowe informacje dotyczące zawartości e-booka :point_down:

https://devszczepaniak.pl/kolejna-ksiazka-o-gicie-premiera/

Gruba ryba1piorunów

> W premierowym artykule znajdziesz szczegółowe informacje dotyczące zawartości e-booka

Dla tych co jak ja już chcieli pytać co jest w kolejnej i czy koniecznie trzeba zaglądać do poprzedniej :stuck_out_tongue_winking_eye:

Koneser1piorunów

Czyli to nie poradnik dla idących do więzienia …?

Zawodowiec1piorunów

@Penetrator4000 niestety, w pierdelku się nie przyda. Sam tam również się jak na razie nie wybieram więc raczej takowego nie napiszę :confused:

Pokaż więcej komentarzy (5)

Specjalista

w Programowanie

4piorunów

XSS nadal groźny: jak front-end może wpuścić złośliwy kod

Sanityzacja. Temat stary jak web, a XSS… nadal zbiera swoje żniwo. Niby walidujemy inputy.\ Niby framework „coś tam” zabezpiecza.\ Niby wiemy, że innerHTML to zło. \ A jednak XSS wciąż się zdarza - i to częściej niż chcielibyśmy przyznać. W najnowszym wpisie rozkładam XSS na

Gruba ryba

w Programowanie

14piorunów

adeptom polecam myśleć o testach jednostkowych jako "zbiorze aksjomatów o kodzie których znajomości oczekujesz od próbujących rozwijać twój system".

dodatkowe twierdzenie do udowodnienia w swojej duszy dla chętnych - nie chce nic, więc większość testów jednostkowych które proponuje jest k⁎⁎wa bez sensu xD

Gruba ryba3piorunów

prompt: zaproponuj wpis na portal społecznościowy hejto na temat "co to testy jednostkowe"

Pewnie każdy _coś_ słyszał, ale krótko i po ludzku :point_down:

Co to są testy jednostkowe?

Testy jednostkowe to małe, automatyczne sprawdziany dla kodu.
Biorą najmniejszy sensowny kawałek programu (funkcję, metodę, klasę) i sprawdzają, czy:

* dla danych wejściowych X

* zwraca wynik Y

zawsze i przewidywalnie*

To trochę jak test smaku w kuchni:

> zanim podasz danie gościom, próbujesz łyżeczką sosu, a nie czekasz aż ktoś się zatruje.

Po co to komu?

* :brain: szybciej rozumiesz własny kod (i cudzy)

* :firecracker: zmiany nie psują rzeczy, które już działały

* :hammer_and_wrench: refaktoryzacja przestaje być rosyjską ruletką

* :zzz: mniej „działało u mnie”

Czego testy jednostkowe NIE robią:

* nie sprawdzają UI

* nie testują całego systemu

* nie zastępują myślenia

Najczęstszy błąd:
„Napiszę testy na końcu”
_(spoiler: na końcu już się ich nie pisze)_

Dobrze napisany test jednostkowy to:

* szybki

* deterministyczny

* czytelny

testuje jedną rzecz*

A najlepszy moment na testy?
:point_right: w chwili, gdy kod jeszcze boli od świeżości

Jeśli chcesz, w kolejnym wpisie mogę:

pokazać zły vs dobry test*

albo wytłumaczyć testy bez frameworków i buzzwordów*

Autorytet1piorunów

@wombatDaiquiri

> Biorą najmniejszy sensowny kawałek programu

To jest mega nieoczywiste. Moim zdaniem AI często testuje zbyt nisko, betonując kod.

To jest mega artykuł na ten temat - w Pythonie, ale imo lang agnostic. Cała książka też sztos.

https://www.cosmicpython.com/book/chapter_05_high_gear_low_gear.html

Generalnie narzucanie architektury dla kodziku to jedna z ważniejszych rzeczy przy vibe-codowaniu.

TDD in High Gear and Low GearCosmicpython
Kosmonauta1piorunów

Ja ogólnie lubię TDD i wydaje mi się, że to najlepszy sposób na AI. Odpalasz takiego gemini cli i mowisz aby na podstawie wymagań (tutaj uzupelniasz) napisał Ci testy. Sprawdzasz czy mają sens i potem w kolejnej iteracji mówisz aby zaimplementował kod jtóry przejdzie testy i spełni wymagania. Potem każda poprawka to najpierw poprawa testów, a dopiero potem zmiany w kodzie. Takie coś u mnie się sprawdza

Gruba ryba0piorunów

@dotevo

> mowisz aby na podstawie wymagań (tutaj uzupelniasz)

Czyli dosłownie przekazujesz logikę testów a AI je tylko tłumaczy na język programowania? Czy w ogóle piszesz test i mówisz „uzupełnij przykłady dla następujących warunków brzegowych”? Pragnę zwrócić jedynie Twoją uwagę na fakt, ze całe „myslenie” tj. „podejmowanie decyzji na podstawie ekspertyzy” nadal w swoim podejściu odpowiadasz sam.

Kosmonauta1piorunów

@wombatDaiquiri ależ oczywiście. Zresztą osobiście mało używam AI w pracy. Za to do hobbistycznych projektów owszem bo mocno przyśpiesza pracę, a przy tym trenuję sobie jak pracować z AI.

Wydaje mi się, że dałoby radę napisać jednego dobrego prompta, który zrobi wszystko. Używam gemini-cli i piszę mu tylko "W pliku readme.md masz opis projektu, zaimplementuj go używając TDD w języku XYZ. Projekt będzie gotowy gdy ...., pamiętaj o podziale na moduły oraz kod musi być w języku angielskim". Potem mieli cały dzień i na koniec wychodzi coś sensownego. W prompcie najlepiej wprost powiedzieć na co musi zwrócić uwagę. Np. bezpieczeństwo, testy e2e, dokumentację itd.

Druga sprawa to czego używasz do kodowania? bo wg mnie chatgpt jest słaby, gemini ok, claude najlepszy - ale za free mało można.

Pokaż więcej komentarzy (8)

Specjalista

w Programowanie

6piorunów

PHP na ratunek — o generowaniu dużych plików bez gotowania przeglądarki

Frontend czy backend do generowania CSV? :thinking_face:\ Ostatnio stanęłam przed klasycznym dylematem: wygoda JavaScriptu kontra odpowiedzialność backendu w PHP - z dużymi plikami, strumieniowaniem, pamięcią i realnymi konsekwencjami dla użytkownika.\ Jeśli interesują Cię techniczne

Zawodowiec

w Programowanie

8piorunów

Czy prościej znaczy lepiej? - devszczepaniak.pl

O tym, że czasami prościej znaczy lepiej, miałem okazję przekonać się zbyt wiele razy. Nie zliczę, ile razy szedłem w przekombinowane lub wręcz niepotrzebne rozwiązania. O jednej z takich sytuacji przygotowałem artykuł na blogu. Opisałem praktyczny problem napotkany jakiś czas temu