piątek, sierpnia 21, 2026

Dziwne Pendolino ;-)

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 ;-)



Podobne postybeta
Pociąg pociągowi nierówny ;-)
Styczniowe książki
Nieunikatowe Pendolino
Tajemnica PKP....
No to lecę do Los Angeles ;-)

Journaling w LLM, albo jak małpuję po LLMie ;-)

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 ;-)



Podobne postybeta
O urokach uprzęży – czyli o tym, że okiełznana moc LLM-ów jest bardziej użyteczna niż nieokiełznana
Journaling
LLM LLMowi nierówny jeśli chodzi o kod :-)
Logistic Regression wykrywa clickbaity lepiej od Bayesa ;-)
Zauroczył mnie Cladue Code ;-)

wtorek, sierpnia 18, 2026

Kodowanie tylko na bakburcie aka portside ;-)

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:

  1. Dlaczego właściwie nie umiem ruszyć tego zadania?

  2. Jak mogę spróbować do niego podejść?

  3. 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 ;-))



Podobne postybeta
Zasada numer 1: sprawdzaj oczywiste
Taa.. PostPC... znaczy zamiast PC będziesz nosić ze sobą masę innych rzeczy
Samolotowo/lotniskowe kodowanie... a i tak skończyłem w Wenecji ;-)
Odyseja Czasu - Burza Słoneczna
Co się dzieje jak Ci zrobią Cancel lotu na lotnisku "startowym"?

piątek, sierpnia 14, 2026

Mój pierwszy skill ;-)

Słuchałem w podcastach jak to jeden z modeli OpenAI shackował HuggingFace, ale wcześniej lokalne Artifactory... i używał tego jako forum gdzie różne agenty wymieniały się ideami..

Stąd razem z Codex'em zrobiłem własnego skilla, który tworzy takie "forum" lokalnie u mnie na dysku ;-)
Dodałem tego skilla do Codex i do Antigravity (do Claude Code nie, bo nie mam prywatnego... coś czuje, jeszcze nie mam ;-)).

Na razie są tam 3 idee, z czego sam zasugerowałem jedną ;-)
  • Consider local Ollama for bounded model work - wraz z informacją, że na komputerze najpewniej jest Ollama i można sprawdzić jakie ma modele i ich użyć jak trzeba,
  • Rank event feeds by event time, not only publication time - ta jest już autorstwa Codex'a i powstała w trakcie tworzenia narzędzia do robienia dla mnie "digestu" o Krakowie ;-) i chyba nie jest tu potrzebna, ale sam dodał więc...
  • Make source attribution structural - tej idei nie rozumiem ;-)
Idee są w folderze, który jest synchronizowany między moimi maszynami....
Raczej nie będzie to nic rewolucyjnego... może jakbym do tego dorzucił OpenClaw albo Hermesa? ;-)

Powiedzmy, że moja wiara w sukces tego to tak 3/10, ale sprawdzimy.


Podobne postybeta
No i mam skilla dla Alexy ;-) [wcześniej już miałem akcję dla Google Home :-)]
IT - Jaka kasa w zależności od skilla? ;-)
Wenecja ;-) i weneckie kodowanie
Walka z null'em - pozwólmy działać IntelliJ'owi ;-)
Czemu wait() i notify()/notifyAll() w ogóle działają?

wtorek, sierpnia 11, 2026

Wenecja ;-) i weneckie kodowanie

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...


Też szczerze jest też troche tak, że ja już znam Wenecję na tyle dobrze, że nie mam gdzie chodzić... tzn. idę w wiele miejsc, ale je już znam...

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...



Podobne postybeta
Pociągowe kodowanie
Obszedłem cały kraj! ;-)
Mój pierwszy skill ;-)
Pomodoro z positive reinforcement? ;-)
Wyjście na 5 łupsów!

poniedziałek, sierpnia 10, 2026

Czemu wskazówki zegara poruszają się tak jak się poruszają? ;-)

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...





Podobne postybeta
Bloggeroid 1.4.0 :-) - w stronę stabilności... oby ;-)
Stróż biurka ;-)
Czasoprzesunięcie
W obronie zmiany czasu ;-)
Alice... i nie tylko....

Samolotowo/lotniskowe kodowanie... a i tak skończyłem w Wenecji ;-)

OK, to dalsze podróże się zdarzają, a ja nadal sobie przypominam algorytmy.

Tym razem kodowałem w samolocie... i 6 tasków z grafów i drzew poszło bez problemu.
Wychodzi na to, że dla mnie miejsce 4C w A220 Swiss jest świetnym miejscem do kodowania ;-) [ciekawa sprawa A220 ma układ foteli 2+3, pierwszy raz w życiu taki widziałem]
Ale jak wysiadłem i siedzę teraz na lotnisku w Zurichu to już mi tak dobrze nie idzie.... Nie do końca mam pomysł na to rozwiązać... a wiem, że umiałem - czyli mam blokadę przez stres ;-)
A i próbowałem jeszcze 1 metody ataku, o której nie pisałem poprzednio. Atak przez przepisanie danych z jednego formatu na drugi ;-)

Teraz próbuję zrobić build order - czyli mam dzień dobry listę projektów i tego co zależy od danego projektu. 

Trochę mi brakuje iPada do narysowania tych zależności ;-)
A jakoś chwilowo mam wyłączony w głowie moduł dopasowujący znane algorytmy do tego.... Więc na razie mam tylko pomysł jak to zrobić "na piechotę", mam listę projektów z tego na ilu zależą... wybieram taki, który ma 0... wszystkim jego dzieciom odejmuję ten projekt... a go dodaję do listy.... biorę kolejny z 0 i robię to samo.... jak nie znajdę takiego z 0 to wiem, że tego się nie da zrobić.
Ale na razie mi się to nie podoba bo brzmi bardzo...

[Dopisane ~36h później]
Wróciłem do tego zadania już w Wenecji.. i miałem w głowie te przemyślenia, więc zacząłem pisać, ale nie od góry, a od dołu. Tzn. wcześniej pisałem od góry, czyli definiowałem zmienne i tak dalej... ale uznałem, że zamiast od ogółu do szczegółu - pójdę od szczegółu do ogółu. Już miałem w głowie, że będę miał zeros jako list projektów które w chwili obecnej od niczego nie zależą i że będę miał order... więc najpierw zrobiłem while (order.size()==projects.length) i próbowałem pisać środek, ale szybko do mnie dotarło, że nie tędy droga i że lepiej mieć while (!zeros.isEmpty())... i jak to napisałem, następne miałem var current = zeros.poll() (bo wiedziałem, że to musi być ArrayDeque żeby mi Java nie krzyczała, że ona nie będzie iterowała po kolekcji jak ją modyfikuję.... i jak to już miałem to do mnie dotarło "Ty, gościu przecież to jest prawie BFS" i już się samo pisało... i to się napisało:
public static List<String> order(String[] projects, String[][] dependencies) {

var deps = new HashMap<String, Set<String>>(); // project2dependants
var deps2 = new HashMap<String,Set<String>>(); // dependant2dependency
for (var dep:dependencies) {
var first = dep[0];
var second = dep[1];
deps.computeIfAbsent(first, k -> new HashSet<String>()).add(second);
deps2.computeIfAbsent(second, k -> new HashSet<String>()).add(first);
}

var zeros = new ArrayDeque<String>();
for (var project:projects) {
if (deps2.getOrDefault(project, Set.of()).isEmpty()) zeros.addLast(project);
}

List<String> order = new ArrayList<String>();
while (!zeros.isEmpty()) {
var current = zeros.poll();
order.add(current);
for (var other:deps.getOrDefault(current,Set.of())) {
var set = deps2.get(other);
set.remove(current);
if (set.isEmpty()) {
deps2.remove(other);
zeros.addLast(other);
}
}
}
if (order.size()!=projects.length) return List.of(); // error
return order;
}

I teraz obserwacje.
Po pierwsze nadal moja głowa ma takie "e, ale to trudne, nie róbmy tego"... chyba trochę to blogowanie mnie odblokowuje, bo mam takie "e, może jakiś wpis na bloga się tak urodzi?".. więc to jest trochę odblokowywacz. Ale też pamiętam, że "Przemek - możesz napisać źle, ale napisz".
I wyszło mi jeszcze, że jest kolejny sposób na atak - pisz od szczegółu do ogółu ;-)

Czyli lista na przełamanie blokady jest na razie taka (po dodaniu nowego - ostatiego):
  • zrób prosto i nieoptymalnie i próbuj stąd atakować - to ma wady, bo można się "źle nauczyć" - dla mnie to jest często jedyny sposób na atak na rzeczy z dynamic programming,
  • zrób głupio - podobne do poprzedniej, ale z takim "tu dzieje się cud" (tu nie można przesadzać, bo nie może być całe tak zrobione, ale może uda się zidentyfikować gdzie dokładnie jest problem),
  • oszukaj - może da się to zrobić inaczej? (np. obrót tablicy 2D.... można to ubrać w metody które nic nie obracają, a robią strukturę danych która ma w środku prawdziwą tablicę),
  • ogranicz się - jak nie wiesz jak atakować to spróbuj inaczej, a może przez rekursję się da?
  • zrób od tyłu - jeśli nie idzie Ci pisanie od ogółu do szczegółu, to pisz od szczegółu do ogółu - sprowadź problem do najmniejszego końcowego problemu - jak zbudować wynik? Ale już na samym końcu... (tutaj to było to, że do listy wolno dodawać tylko projekty które mają 0 dependencji) [tak, w pewien sposób to jest trochę takie podejście jakie używam przy rekurencji... jakie są warunki powrotu?]


Podobne postybeta
Napisz źle, ale napisz ;-)
Popsuł mi się Calc w OpenOffice.org :-(
Niecne wykorzystanie refleksji... czyli jak poszukać tekstu w drzewie obiektów? ;-)
Który kod (nie kot! ;-)) lepszy?
Podobne posty i zachwyty nad nimi... ;-) i trochę o Java 7

wtorek, sierpnia 04, 2026

No kurde nie, przestańmy się zachowywać jak ofiary...

Dziś nie o kodowaniu ;-)

Jakiś kult bycia ofiarą staje się modny.To nie jest to - chcę robić biznes, chcę zostać gwiazdą, a raczej - nie robię biznesu bo podatki mnie dojadą, nie zostanę gwiazdą bo układy.

Taki kult bycia ofiarą. Ale oczywiście nie przez to, że się samemu coś źle robi, tylko to zawsze wina innych.Paragony grozy, ceny mieszkań za duże, benzyna za droga, wszystko idzie ku gorszemu.... incele są tacy sami "nigdy nie będę miał dziewczyny bo baby są puste i lecą na kasę albo atrakcyjność"...

Dziwne to jest. W tym sensie, że naprawdę nigdy tak łatwo nie było zostać bogatym. W USA z jednej strony badania wskazują, że najłatwiej w historii zostać miliarderem (tak, to zrobi tylko drobny ułamek procenta populacji).. a z drugiej przekonanie, że wszystko się wali.

W polskiej polityce to, że masa ludzi próbowała się przedostać przez granicę z Białorusi nie było dowodem na to, że coś nam się udało, ale tego, że inni nam chcą to zabrać.To, że Ukraińcy tu uciekli po wojnie i część myśli o zostaniu zamiast bycia takim potwierdzeniem "kurcze, kiedyś to my jechaliśmy na zachód, a teraz to my jesteśmy dla niektórych zachodem", to nie "bo na nasz koszt chcą żyć".

Taki kult przegrywu, tego, że już wszystko się zwija...I to tak prawica i lewica na to choruje, chociaż prawica bardziej. (W USA lewica też, oni tam twierdzą, że nigdy nie było tak źle dla mniejszości... niektórzy próbują im zwracać uwagę, że tak nadal istnieje wiele miejsc gdzie nie ma równości i trzeba do tej równości dążyć, ale nie oni uważają, że dziś jest gorzej niż było kiedyś).

To jest dziwne...Sam miewam takie myśli! Co mnie bardzo denerwuje ;-)

Czy może być lepiej? Oczywiście - i to jest super.Ale może być też dużo, dużo gorzej. Mamy lepiej niż 10 lat temu, lepiej niż 20 lat temu, lepiej niż 100 lat temu.Czy są rzeczy, które bym chciał a ich nie mam? Pewnie. O pewnej randce marzę od 8-9 lat i jej nie miałem i co? I nic ;-)

Tak z innej strony, nie jest to dowód na starość? Takie patrzenie, że teraz to już tylko z górki?Rozumiem jak kogoś spotka coś złego, strasznego... ale kurde nie wszystko jest tragedią. I co złego w przyznaniu, że się samemu zawaliło?

Ile to zdejmuje ciężaru z człowieka... Ileś lat temu na rozmowie kwalifikacyjnej jako przesłuchujący powiedziałem głupotę, coś w stylu, że:

Integer c = 0;
c++;
System.out.println(c);

Nie wypisze 1... bo niby tam jest boxing i tak dalej... i wydaje mi się, że powiedziałem coś głupiego w stylu czy to c++ zmieni się w c=c+1 ? Tak jakby to się tak nie miało stać.Wstyd mi. Nie wiem co kandydat sobie o mnie pomyślał. Nie wiem nawet czy ja to naprawdę powiedziałem :-)

Ale OK, już takiego błędu nie zrobię. Biorę winę na siebie - staję się lepszy.OK, to może znaczyć, że jeden kandydat myśli o mnie, że jestem idiotą... no bo się tak zachowałem.Mógłbym oczywiście dla poczucia się lepiej uznać, że to był do bani kandydat i dobrze, ja go testowałem, a on był głupi bo nie widział tego...

A najlepsze, ja ogólnie bywam pesymistą.Chociaż lata temu do mnie dotarło, że kult bycia ofiarą robi człowiekowi krzywdę. Tzn. ja to tak odbierałem.

Odchodząc z jednej firmy wiedziałem, że odejdę już od dłuższego czasu, mój team wiedział, ludzie w koło wiedzieli (bo ja nie umiem zachować tajemnicy), ale plotka poszła o podwyżkach więc miałem takie w głowie "OK, to może miesiąc później złożę wypowiedzenie? A tak będę miał miesiąc na przemyślenie bo może te nowe pieniądze zmienią moją percepcję?".. była mowa o podwyżkach w okolicach 40%... ja dostałem 7.5% z "to bardzo dużo" od nowego managera. Wkurzyłem się, powiedziałem coś w stylu "OK, odpuść sobie, właśnie wysłałem wypowiedzenie"... ale to nie jest nawet ten punkt. Później przez 3 dni chodziłem sam przekonany i wkurzony jaki to ja jestem pokrzywdzony i jak to ten zły manager mnie zmusił do odejścia..... dopiero po 3 dniach do mnie dotarło, że "Ej, Ty Przemek - ale Ty chciałeś odejść, to nie miało żadnego wpływu, to nie przez to się zwalniasz"... ale tak mnie uwiodła wizja bycia ofiarą....

Więc trochę rozumiem "urok", ale nie rozumiem czemu jest teraz aż taki kult tego. Praktycznie każda partia polityczna w to idzie. Powstają seriale z takim motywem. Takie Sweetpea... laska którą gra Ella Purnell, która jest w top of the top najbardziej atrakcyjnych kobiet gra "ofiarę" którą wszyscy pomiatają i w końcu zaczyna mordować ludzi...

To wszystko jest po to by napisać, że nie bycie jak pączek w maśle to nie jest bycie ofiarą... no i w dłuższej perspektywie to, że dziś masz ten taki hit "to ich wina" nie sprawi, że będziesz szczęśliwy. To Ci tylko zatruje percepcję świata i wszędzie będziesz widzieć niesprawiedliwość w stosunku do siebie. Nigdy nie będziesz szczęśliwym człowiekiem.

Kilka lat temu w Gdańsku szedłem i w słuchawkach mi grała biografia Leonarda da Vinci, było coś o malowaniu przez niego ludzi i tym, że robił sekcje. I zobaczyłem gościa na wózku. Nie miał rąk i nóg. Rodzina go pchała. Podejrzewam trochę, że to był jakiś ukraiński żołnierz, który stracił kończyny na wojnie.... walnęło mną to... ale jeszcze bardziej to, że on się uśmiechał.

Szczerze nie chciałbym być w jego skórze - ale jak go mam nie podziwiać? Nie wiem czemu, ale to mi się kojarzy z Jezusem. Nie jestem wierzący, może też przez to, że jak sobie pomyślę, że gdybym był wierzący i wierzyłbym w śmierć Jezusa na krzyżu "za grzechy ludzkości" to czułbym się odpowiedzialny za to jego cierpienie za każdym razem jakbym zrobił coś źle czy nieładnie....

Jakoś tak chciałem wyrzucić te myśli, może i głupie, ale teraz już powiedziałem czemu nie podoba mi się ten cały kult bycia ofiarą wszystkiego i wszystkich.....



Podobne postybeta
0 prawo programowania - Shit hits all fans in the same time
In vitro
Zajrzyj w duszę liberała (social-liberała) w sprawie imigracji ;-)
Dziura
Enum zdradziecki jest ;-)

poniedziałek, sierpnia 03, 2026

Napisz źle, ale napisz ;-)

W pisaniu na blogu człowiek ma fazy ;-)
Nadal mam fazę - przypominam sobie algorytmy ;-)

Ale próbuję inaczej niż zwykle, tak trochę w metapoznanie idę, czy próbuję.

Np. dochodzę do zadania, którego nie chcę robić, nie podoba mi się, nudne jest, błe....

To sygnał ;-) tzn. mogę naprawdę już być zmęczony czy chory... albo co jest bardziej prawdopodobne, to jest trudne zadanie i mój mózg ma reakcję "Ej, tu nie ma żadnego tygrysa który mnie chce zeżreć, to jest praca, niewygodne, do tego jak mi źle wyjdzie to się poczuję gorszy... to lepiej mi księżniczkować".

To jest pierwszy etap - detekcja. Ten mi nawet wychodzi.

Drugim etapem jest przełamanie - i tu jest gorzej. Powiedziałbym, że najlepszą formą ataku jest próba pójścia przez:
  • zrób prosto i nieoptymalnie i próbuj stąd atakować - to ma wady, bo można się "źle nauczyć" - dla mnie to jest często jedyny sposób na atak na rzeczy z dynamic programming,
  • zrób głupio - podobne do poprzedniej, ale z takim "tu dzieje się cud" (tu nie można przesadzać, bo nie może być całe tak zrobione, ale może uda się zidentyfikować gdzie dokładnie jest problem),
  • oszukaj - może da się to zrobić inaczej? (np. obrót tablicy 2D.... można to ubrać w metody które nic nie obracają, a robią strukturę danych która ma w środku prawdziwą tablicę),
  • ogranicz się - jak nie wiesz jak atakować to spróbuj inaczej, a może przez rekurcsę się da?
Jest jeszcze jeden cudowny sposób - buddy system*, ale nie zawsze jest buddy ;-)


Nadal trzeba jednak znaleźć siłę... więc może tu Kaizen? Czyli np. "nie ma stresu, próbuję to pisać przez następne 5 minut, jak mi nic nie wyjdzie to spoko, odpuszczę na dziś", ale tu trzeba wtedy PISAĆ a nie myśleć, nawet robienie ręcznego rozwiązywania problemu się liczy....

Później dobrze popatrzeć na wszystkie głupie metody rozwiązania... ja wrzucam do ChatGPT... i pytam "Ty, gdzie popełniam błąd" i ten mi np. mówi "off-by-one" i pytam "czemu", a ten mówi np. "bo mieszasz i raz liczysz w LinkedList node'y, a innym razem linki" i ja wtedy mam "Ty, faktycznie!"...
(To jest taka proteza tego buddy system)

To ostatnie wynika z mojego pojęcia tego jak działa programowanie i chunkowanie.... na pewnym poziomie mamy już pattern matching, który często mamy "z poprzednich razów"... tylko, że pamiętamy ogólne zasady, wiemy gdzie dzwoni, ale nie w którym kościele. Stąd wg mnie jak trzeba trenować na poziomie całego rozwiązania, to też dobrze wytresować się w tym co pisze nam teraz Copilot, czyli w tych "nudnych klockach". Warunki dla ifów, przesunięcie się w strukturze danych i tak dalej... takie podstawowe elementy. Dobrze dla nich umieć znaleźć niezmiennik, init, warunek stopu i to co podtrzymuje iteracja.

Albo jeszcze inaczej ;-) to jest trochę jak w medytacji ;-) w mindfulness meditation cała sztuka polega na tym, że starasz się nie myśleć, ale mózg po paru sekundach zaczyna o czymś myśleć, Ty w pewnym momencie to zauważasz - to jest trenowanie umiejętności dostrzeżenia, że się straciło focus... ale kolejny krok czyli "nonjudgemental" reakcja jest najważniejsze, to nie jest "o ja głupi znów nie umiem", a raczej takie może nawet radosne "o motylek! tu jesteś, to sobie poczekaj, a ja wracam do niemyślenia"...
Tu chyba to też jest najważniejsze ta druga część, jak już widzimy, że nasz mózg pokazuje, że się boimy tego zadania to sztuka polega na podejściu do tego tak właśnie radośnie "o! ciekawe jakie błędy tu zrobię"..

* - chociaż tu zawsze się zastanawiam się czy lepszy buddy to taki ktoś kto jest na podobnym poziomie, czy ktoś kto jest lepszy. Próbowałem obu i nadal nie wiem....


Podobne postybeta
Samolotowo/lotniskowe kodowanie... a i tak skończyłem w Wenecji ;-)
Agent nie na wszystko pomoże ;-)
Hackowanie teorii umysłu ;-)
A może by tak Projekt Yes!? ;-)
Piątkowy potok świadomości ;-)

niedziela, sierpnia 02, 2026

Pociągowe kodowanie

Utwierdzam się w przekonaniu, że zadania koderskie są świetnym sposobem na testowanie stresu.

Jadę pociągiem (wracam z Juraty), siedzę na swoim miejscu 86 w Pendolino. Oglądałem seriale i teraz stwierdziłem, że sobie pokoduję...

I idzie mi to tak sobie... Zaczęło mi iść lepiej jak wyłączyłem muzykę.

Widzę, że mój mózg nie uznaje, że siedzenie w pociągu jest dobrym miejscem do kodowania ;-) mówiąc inaczej, stresuję się.

Może to jest sposób na trenowanie? Adversed Coding Training? ;-) Metoda ACT!

Kodować w miejscach nietypowych i stresujących. Większość z nas kodowała na spotkaniach, bardzo dużo fajnego kodu powstaje na spotkaniach (trudniej to się robi jak się prowadzi spotkanie.... wiem, próbowałem ;-)).

Co ciekawe teraz mnie LinkedList męczy... wiem, że tak naprawdę jednymi z lepszych zdań do wejścia w tryb koderski są zadania z drzewami. W normalnym życiu się ich prawie nie używa, ale konieczne jest myślenie o tym jak to leży w pamięci... LinkedList to takie drzewo bez gałęzi, każdy node ma 1 dziecko.... ale co ciekawe jakoś w mojej głowie problem z LinkedList jest procesowany inaczej niż drzewo...

A, i pisanie tego wpisu jest dużo prostsze niż pisanie kodu, jakoś o wiele mniej mózgu trzeba do tego używać.



Podobne postybeta
Wenecja ;-) i weneckie kodowanie
Jak z metody size() w List w Java'ie dostać ujemną liczbę? ;-)
Po Devoxx'ie
LinkedList w Java'ie to taki miś koala...
Pomodoro z positive reinforcement? ;-)