Podobne postybeta
Prakacje męczą ;-)
Maksymalna temperatura operacyjna Przemka
Wenecja ;-) i weneckie kodowanie
Prakacje ;-)
Nie każde miejsce jest idealne na prakacje (aka workation ;-))
Obserwuję ostatnio, że część ludzi naprawdę nienawidzi LLMów/AI.
Ja siebie zaliczam raczej do entuzjastów, ale takiego niepewnego czy to jest coś co pomoże, odbierze mi/nam pracę czy zawiedzie.
Ale tak się zastanawiałem i w przypadku tych, którzy nienawidzą mam wrażenie, że tu chodzi o "tożsamość", ktoś pisze kod i czuje dumę z tego, że ten kod jest dobry, elegancki, efektywny, ktoś inny pisze tekst i ten tekst jest dobrej jakości, czytelny.
Ktoś patrzy na siebie i identyfikuje się z tym co tworzy i nagle pojawia się coś co całkiem dobrze udaje, ale miewa tak gigantyczne dziury w stylu i jakości, że to aż tych ludzi obraża.
Tzn. ja sobie tak to wyobrażam.
Ja mam inaczej, tak naprawdę lubię pisać kod czy tekst, mam wrażenie że pisanie tekstu jest prostsze. Ale na jakimś tam poziomie to pisanie kodu czy tekstu są dla mnie wtórne. Kod to tylko narzędzie do rozwiązania problemu, do zbudowania czegoś, tekst to tylko jakaś tam forma moich myśli.
Nie identyfikuję się z nimi. Tak, bywam z nich dumny, często się wstydzę ;-) ale to nie jest źródło mojej tożsamości.
Większą dumę odczuwam ze zbudowania czegoś, z jakichś pomysłów architektonicznych, z jakichś idei.
Kod czy tekst są dla mnie realizacją tych rzeczy, ale mimo wszystko są tylko formą pośrednią.
Przez to wszystko ja widzę w LLMach/AI narzędzie. Które dużo umie, ale jest bardzo nierówne, ale nie czuję jakiegoś obrzydzenia czy sprzeciwu.
Tak, mnie też męczy patrzenie na obrazki generowane przez AI, bo maja "swój styl" ale taki syntetyczny, w tekście który piszą LLMy nie ma osobowości, a kod też jest taki sobie - tu najbardziej mi przeszkadza to, że pisze go obcy i nie zawsze umiem podążać jego "tokiem myślenia".
Nadal, w wielu miejscach to jest to co mi wystarcza.
I tak część mnie się zastanawia jaki kawałek pracy mi zabiorą LLMy, chociaż aż tak się nie boję o programistów, bo do momentu AGI i PMów którzy wiedzą co chcą zbudować, jesteśmy kryci....
Taka obserwacja z pracy z vibe codingiem...
Pracuję w czymś, co de facto jest startupem wewnątrz firmy. Raz widać to bardziej, raz mniej. Ostatnio bardziej. Cała koncepcja nagle się zmieniła i coś, co zbudowałem w ramach zabawy z vibe codingiem jako prototyp (najpierw tworząc historyjki i wstępne szkice), powoli staje się głównym silnikiem docelowego rozwiązania.
Teraz próbuję przenieść część kodu z tego prototypu do lambd. W przyszłości chcę mieć pełną funkcjonalność prototypu, czyli modyfikowanie plików językiem naturalnym, ale na razie potrzebuję prostego, deterministycznego API zmieniającego te pliki według parametrów. Bo to zostało obiecane klientowi.
I tu pojawia się problem z vibe codingiem: ten kod pisał obcy.
Co innego mieć kod w prototypie, co innego wrzucać go do aplikacji obsługującej klientów. Trzeba ten kod przejrzeć, a jest tego od groma. Trzeba dopisać lepsze testy. Claude oczywiście napisał własne testy, ale przed robieniem demka w ramach executive summary chciałem pokazać animację z jedną drogą, zmienić ją toolem i pokazać wynik... Droga złośliwie się nie zmieniała. Choć testy przechodziły, to testowały to, co Claude'owi wydawało się właściwe, a nie to, co faktycznie trzeba było zrobić ;-)
I taka praca męczy, bo więcej czasu spędzam na próbach zrozumienia, co Claude miał na myśli, niż na kodowaniu.
Mam zresztą szerszą obserwację z pola walki i z otoczenia. Claude i podobne narzędzia są świetne do dobrze zdefiniowanej roboty na istniejącym kodzie. Mieliśmy na przykład problem z mapą: były na niej wszystkie klasy dróg, ale system generujący z nich 3D domyślnie operuje na 2-3 najwyższych klasach, a na pozostałych tylko wtedy, gdy się go do tego zmusi (magiczny przełącznik Urban Roads). W efekcie klient widział na mapie drogi, których w 3D nie było. Z Claude'em byłem w stanie to szybko ogarnąć: poczytał o API map, porównał z zapytaniem do serwera i teraz na mapie widać dokładnie te drogi, które trafiają do 3D. Prosto opisane zadanie i zrobione super.
To samo sprawdza się, gdy robi się coś zupełnie nowego od zera. W kilkanaście minut ma się prototyp, który samemu pisałoby się 2-4 tygodnie, i to od razu z ładnym UI.
Problemy zaczynają się, gdy chcesz to ulepszyć, dodać złożone warunki i specyficzną logikę biznesową. Słuchając "Security Now!" i innych podcastów z sieci TWiT, widzę, że to powszechne. Leo Laporte próbuje z Claude'em przepisać swój stary system do faktur i mam wrażenie, że od dwóch miesięcy "prawie skończył". Ma wszystko w ładnym UI, tylko system wciąż nie do końca działa tak, jak powinien ;-)
Moja podróż dziś była dziwna.
O 9:32 miałem jechać Pendolino do Gdyni ;-)
O tym:
Wsiadłem, zająłem moje miejsce 82 i najpierw było spóźnione 8 minut, 12, 16, 20, 25... 59... i komunikat, że się zepsuło i pojedziemy innym pociągiem ;-)
Po jakichś 90 minutach przyjechał taki:
Taki nie do końca do Pendolino podobny ;-)
Z przedziałami.... jechał sobie będąc spóźnionym, tak trochę przed Warszawą pan konduktor chodził i widząc gdzie jadę stwierdził, to na Warszawie Wschodniej będzie czekać nowy pociąg i tam trzeba wsiąść ;-)
Więc na Wschodniej czekał na nas ten:
Który dowiózł mnie do Gdyni ;-)
Skąd jeszcze inny pociąg wiezie mnie do Juraty ;-)
Z ciekawych rzeczy: w jednym z pociągów spotkałem Juliusza Machulskiego ;-), obejrzałem 4 odcinki Reachera, 1 odcinek Stuarta i 2 albo 3 odcinki The Big Bang Theory.
Teraz miałem zacząć robić zadanka, ale pisanie bloga jest prostsze ;-)
OK, jak się stresuję to robię ćwiczenie - piszę przez 5 minut.
To jest 5 minutes Journaling. To działa tak, że ponieważ trzeba napisać to co się myśli to idzie to w mózgu przez odpowiednie obszary językowe i się konkretyzuje.
Mnie najłatwiej pisać na "co czuję?", jak jestem zestresowany.
Idea jest taka (i pisałem tu już o tym wiele razy ;-)) by pisać bez zatrzymywania i zastanawiania się, jak coś jest czego nie chcesz napisać to napisz, to jest coś co przed sobą ukrywasz, jakiś lęk czy obawę.
Normalnie to kasuję ;-)
Ale ostatnio daję lokalnemu modelowi, ale z takim u góry "this is my entry from 5 minutes journal, what is my mental condition, mood, any feedback" i dalej wpis...
I to jest ciekawe, bo lokalny model taki jak Gemma4 całkiem rozsądnie analizuje i u mnie dostrzega, że ja zwykle zaczynam pisać od tego co czuję, później robię jakby taki 2 krok, i nazywam te uczucia i próbuję je zrozumieć i jak to są negatywne uczucia to dokonuję zwykle jakiegoś przejęcia kontroli nad nimi i reinterpretacji... chwali mnie za to ;-)
Co ważne dokonuje interpretacji mojego stanu, zwykle utwierdzając mnie w mojej ocenie, ale to jest trochę taka "druga para oczu"
Inna sprawa.... robiąc teraz zadanka koderskie małpuję LLMy... i piszę sobie w Obsidainie często przed napisaniem kodu to co czasem w niektórych modelach widać jak mają "reasoning" czy "thinking" ;-) i to bywa zaskakująco przydatne, bo nawet jakby to komuś mówić to za często można przeskoczyć nad trudnościami i powiedzieć "zapalić odpowiednie bity", ale jak piszesz to jest takie pytanie z tyły głowy "Ty, które to są odpowiednie" i trzeba to chociaż opisać, nawet bez podania wzoru....
I tak się złapałem, podobnie czasem robię w pracy jak atakuję jakiś nowy problem....
Tak trochę małpuję LLMa ;-)
Wczoraj wracałem z Wenecji i wykorzystałem to, by potrenować trenowanie algorytmów ;-)
Próbowałem robić zadania i szły mi tak sobie. Zamiast jednak wejść w automatyczny wniosek "jaki ja jestem głupi", podszedłem do tego inaczej:
Dlaczego właściwie nie umiem ruszyć tego zadania?
Jak mogę spróbować do niego podejść?
W jaki sposób dojść do stanu, w którym będę w stanie je rozwiązać?
Na lotnisku zadziałała klasyka: przy lekkim stresie i zmęczeniu pomogło dokładne opisanie problemu, zaproponowanie naiwnego/głupiego rozwiązania i szukanie skrajnych przypadków.
W samolocie z Wenecji do Frankfurtu szło jednak znacznie ciężej. Zamiast cisnąć na siłę, zająłem się analizą tego, dlaczego akurat to miejsce mi nie sprzyja (tydzień wcześniej inne było świetne). Po co? Żeby lepiej rozumieć swoje wyzwalacze. Poprzednio miałem 4C (przy przejściu, zaraz za klasą biznes, układ 2+3, czyli tylko jedna osoba obok i korytarz). Tym razem 6F – wprawdzie przy oknie po prawej stronie (sterburta, więc przy podejściach i odlotach widać Wenecję), ale za to z dwiema obcymi osobami po lewej stronie i brakiem przestrzeni.
Żeby złapać spokój w tłoku, testowałem liczenie w dół (np. od 113 co 7). Po 2-3 powtórzeniach próbowałem kodować w głowie. Nie jest to idealne i zabiera czas, ale pozwala opanować rozproszenie.
Same zadania były z operacji bitowych. W drugim klasycznie poszedłem na początku w złym kierunku ;-)
Ciekawsza była jednak obserwacja samego oporu. Zauważyłem mechanizm: gdy zadanie wydaje mi się trudne, natychmiast pojawia się "nie chce mi się". Mając tę świadomość, łatwiej powiedzieć sobie: "właśnie dlatego usiądę i spróbuję". Zadziałało tu podejście z medytacji – samo zauważenie i nazwanie tej niechęci, bez oceniania, w dużej mierze ją rozbraja.
(do formatowania użyłem Gemini ;-))
OK, ja może już trochę przesadzam z ilością moich wizyt w Wenecji ;-)
Jeśli dobrze liczę jestem tu 9 albo 10 raz ;-) (policzyłem, to jest 11 raz łącznie ;-))
Jakoś zapomniałem, że sierpień to jest zły miesiąc na Wenecję ;-)
Dziś było 34 stopnie... teraz jest 32...
Pod tym względem Gran Canaria jest dla mnie jeszcze lepsza, albo Rzym. Tak Rzym mi się w tym roku podobał. Chociaż Wenecja też mi się podoba :-) nie do końca podoba mi się ta pogoda ;-)
Ale znów to jest coś co pomaga w moim "adversed coding training", czyli w kodowaniu gdy i się nie chce, albo nie mam siły....
Inna sprawa, że użyłem Codex'a i najpierw naprawiłem z nim moją apkę dla Androida - Bloggeroid, a później kazałem u zrobić podobną na iPhone'a ;-) i zrobił.....
Ja próbuje zadania robić i na razie okazuje się, że nic nie pobije A220 w tępie i ilości kodu...
Czemu wskazówki zegara poruszają się jak się poruszają? ;-)
Bo zegary stworzono na półkuli północnej i odziedziczyły kierunek po zegarach słonecznych.
Dokładniej to nawet bardziej odziedziczyły tarczę. No bo jak się zastanowić to na naszej półkuli słońce się porusza ze wschodu na zachód ale po południowej części nieba. Czyli cień gnomona (ten patyk do wskazywania czasu) będzie się poruszał z zachodu na wschód ;-)
Gdyby ktoś zbudował zegar słoneczny w takiej Australii to jemu też by się posuwał z zachodu na wschód cień... ale były oświetlany z północy, więc byłby "na dole tarczy", poruszałby się więc w drugą stronę ;-)
Byłby dokładnie lustrzanym odbiciem "naszego" zegara słonecznego ;-)
Najgorzej jest jednak na równiku i jego okolicach (między zwrotnikami) ;-)
Bo tam raz idzie ze wskazówkami zegara, zimą gdy Słońce jest nad zwrotnikiem Koziorożca (zimowym), bo Słońce świeci wtedy z południa, ale złośliwie w nasze lato, jak jest na zwrotnikiem Raka (letnim) to idzie w kierunku przeciwnym ;-)
Jest na to hack, trzeba wbić gnomon równolegle to osi obrotu...