niedziela, 17 lipca 2011

Umysłowa suplementacja : cześć pierwsza

Kontekst tego posta jest niecodzienny ponieważ jest to pierwszy raz od kiedy prowadzę tego bloga gdy ktoś konkretnie dopytywał się o datę pojawienia nowego wpisu. Do tego miło się robi na duszy gdy niespodziewanie ujawnia się coraz więcej osób czytających tę twórczość. Mam nadzieję, że idzie za tym głębsza potrzeba merytorycznej uczty aniżeli chwilowa ciekawość.

Temat suplementacji chce potraktować poważnie gdyż nawet najlepszy soft może zamulać na słabym sprzęcie. Co z tego, iż przed oczyma będą wyjaśnione systemy, podejścia czy filozofie jeśli wewnątrz tego mechanizmu pomiędzy uszami coś nie zatrybi. Zapraszam do lektury. Poniżej podzielę się zestawem środków, które sam stosuję.


Różeniec górski





Za produktami tworzonymi na bazie tego ziela stoi (podobno) kilka tysięcy lat tradycji. Obecnie znajduje się w wachlarzu suplementacyjnym sportowców, żołnierzy, astronautów czy kogokolwiek, kogo efektywność ma znaczenie dla sukcesu dowolnego przedsięwzięcia. W sieci można napotkać pewne wzmianki odnośnie problemów z zasypianiem związanym z zażywaniem produktów opartych na różańcu górskim jednakże osobiście nic takiego mnie nie spotkało.


Poniżej parę wzmianek odnośnie badań prowadzonych z udziałem wspomnianej rośliny :


CALINews nr 6, listopad 2004 oraz
CALINews nr 1, styczeń 2004

  • Przeprowadzono eksperyment na grupie młodych, zdrowych lekarzy i lekarek, pracujących podczas trudnego, nocnego dyżuru. Przebadano kilka funkcji umysłowych (np. pamięć, zdolność koncentracji, spostrzegawczość), w zależności od przepracowanego czasu. Uczestnicy badania nie wiedzieli, kto otrzymuje składnik aktywny w postaci wyciągu z Rhodiola rosea w ilości 170 mg. Wyniki badań wykazały, że lekarze z grupy kontrolnej, którzy otrzymywali placebo, znacznie gorzej znosili pracę w nocnych warunkach, niż ich koledzy przyjmujący preparat z Różeńca górskiego.
  • Podczas innego badania, obserwowano wpływ wyciągu z Rhodiola rosea na kondycję 17-19-letnich studentów podczas sesji egzaminacyjnej. Zażywanie go spowodowało spektakularne różnice w wydolności fizycznej i intelektualnej oraz w ogólnym samopoczuciu, w porównaniu z grupą kontrolną przyjmującą placebo.

Więcej informacji w necie:



"Dobra koncentracja"





To produkt firmy Sensilab. Również zawiera sporo wszelkiego rodzaju zielstwa i innych domieszek:

  • Bacopa - roślinka z Indii
  • Lecytyna - buduje neurony i wspiera efektywność pamięci
  • Żeń-szeń - kiedyś droższy od złota
  • http://pl.wikipedia.org/wiki/Teanina
  • żelazo - dostarcza tlen do komórek mózgowych
  • witamina B6 i B12 - o tym zaraz


Witaminy



  • B12 - tworzy powłoki ochronne komórek nerwowych. Brak to: anemia i zaburzenia neurologiczne.Występuje w: chude mieso, ryby, skorupiaki, selery,jaja.
  • B6 - Jej niedobór w organizmie prowadzi do uszkodzeń neuronów co moze zapoczątkować depresję psychiczną , a także do nieprawidłowego wytwarzania neurotransmiterów i niedokrwistości. Występuje w :kiełki pszenicy, ciemny ryż, soja, orzechy
  • B1 - Też tam ma jakiś wpływ na pamięć : występuje w takich produktach jak :tręby, pieczywo razowe, płatki owsiane czy kasza gryczana, orzechy, suche nasiona roślin strączkowych

Oczywiście pisząc "ryby" czy "jaja" mam na myśli ryby, które spokojnie pływają sobie w czystych wodach lub jaja znoszone przez kurki wesoło biegające sobie po wsi. Z tego co wiem ani naszprycowana antybiotykami panga ani notorycznie maltretowane na fermach kury nie dostarczają nijak tych witamin.

Pamiętajcie także, że witaminy z gruby B są chętnie wypłukiwane przez alkohol także jak już trza pić to jakiego supla można w międzyczasie zarzucić. Dobre też mogą być takie małe "szociki" witaminowe z tesco ale nie wiem jak z przyswajalnością tego czegoś.

Omega 3



O tym (dobrym) tłuszczu ostatnio trąbi wiele źródeł. Generalnie pomaga on na wszystko i znajduje się głównie w rybach. Biorąc pod uwagę, że kiedyś nasz gatunek wyszedł z wody a miliony lat później rozwijał się w okolicach rzek i mórz to można logicznie wywnioskować, że nasz organizm jest zoptymalizowany w kierunku diety opartej na rybce.

Istnieją jeszcze kwasy tłuszczowe omega 6 i omega 9. Mądrzy naukowcy sprawdzili, że jak tych z numerkiem 6 jest zbyt dużo w porównaniu do tych z numerkiem 3 to nasz organizm jest na wiele sposobów wewnętrznie niszczony. Jeśli do tego zauważymy, że omega 6 znajduje się w olejach roślinnych to mamy pełen obraz dramatu.

Ryb za dużo podobno jeść też nie można bo każda sztuka ma w sobie trochę rtęci. Dlatego też dietę należy uzupełnić suplem. Osobiście polecam ten z obrazka gdyż doszedłem do wniosku, że z pośród bogatej oferty rynkowej najpewniejsza będzie ta, która jest skierowana do bardzo wymagającej grupy odbiorców doglądającej przed lustrem każdego mięśnia. Ramię w ramię z kulturystami możemy walczyć także z innym wspólnym wrogiem. Masakrującym pamięć oraz mięśnie a także odkładającym tkankę tłuszczową kortyzolem. Ale o tym w następnym odcinku.



Linki odnośnie omega 3

niedziela, 3 lipca 2011

Flow

Czym jest "flow". Używając słownictwa dzieci z demotywatorów flow - "to uczucie gdy nie zauważasz zewnętrznego swiata i całą energię oddajesz wykonywanemu zajęciu". Do poruszenia tego tematu skłoniła mnie ankieta psychologiczna przeprowadzona ostatnio w firmie, która po raz kolejny potwierdziła moje obserwacje fachu informatycznego - wiele ale to naprawdę wiele osób znalazło sobie sposób na mękę za dobre pieniądze. Paradoksalnie gdy przestaniemy się męczyć i znajdziemy fascynację tym zawodem pieniądze mogą być jeszcze większe.



Istnieje bardzo ciekawa książka o trudnym do przetłumaczenia tytule : "Finding flow : The Psychology of Engagement with Everyday Life" - Psychologia zaangażowania w codziennym życiu.
Dokładnie. Psychologia zaangażowania, jak znaleźć siłę, energię, pasję i moc aby "zachowywać się tak jakby od naszych czynów zależał los wszechświata jednocześnie śmiejąc się z małego wpływu jaki na niego mamy". Samo słowo flow można przetłumaczyć jako "przepływ" co brzmi debilnie dlatego pozostanę przy brzmieniu oryginalnym.


Oczywiście zanim skupimy się na tym jak coś znaleźć musimy wiedzieć czego szukamy. Dlatego sam początek bardzo abstrakcyjnie omawia pojęcia życia i doświadczenia. Dowiemy się tutaj, że ludzie działają jak trybiki i większość swojego wolnego czasu marnują na bezcelowe przyjemności jak oglądanie filmów czy gry komputerowe (książka powstała jeszcze przed "zsocjalizowaniem" się na dobre internetu). Pawiany żyjące w Afryce przesypiają jedną trzecia życia. Gdy budzą się po 8 godzinnym śnie szukają jedzenia aby zaspokoić głód a gdy już to zrobią relaksują się wydłubując sobie nawzajem pchełki. Brzmi nudnie? ogólny schemat dnia przypomina to co robi większość ludzi pracujących na etacie (podobno w 13 wieku w zaawansowanej jak na ówczesne czasy Francji głównym zajęciem chłopów i chłopinek w czasie wolnym było wyłuskiwanie sobie pchełek z głów, dzisiaj mamy telewizję).

Jak uwolnić się z monotonii?


Flow znajduje się pomiędzy kontrolą a pobudzeniem, trochę czerpie z relaksacji i niepewności a odcina się od znudzenia, niepokoju i apatii. W książce jest to wszystko bardzo ładnie opisane a ogólnie chodzi o specjalny stan umysłu i nastawienia do wykonywanych zajęć. To jest ten magiczny moment kiedy wiedza z różnych poziomów abstrakcji umysłowej pozwala dokładnie zrozumieć co się dzieje. Z jednej strony mamy filozoficzne rozważania o znalezieniu sensu życia a z drugiej ładnie opisujący się stan transu kiedy to kreatywny stan umysłu pełnej współpracy zasobów prawej i lewej półkuli pozwala w pewnym rodzaju transu dosłownie przeżywać świat.



O mózgu i transach będzie innym razem, teraz skupmy się na filozofii. Książeczka z obrazka obok nosi tytuł "Teoria klasy próżniaczej" i doskonale tłumaczy dlaczego praca jako taka od zarania czasów nie była postrzegana jako coś "KOOL,TRENDY,JAZZY". Do tego dodajmy, że kiedyś pracownicy fabryki w nieludzkich warunkach spędzali w ogromnych halach większość swojego życia dopóki związki zawodowe nie wywalczyły abstrakcyjnego tworu zwanego "czasem wolnym od pracy". Nic dziwnego, że obecnie pojęcie przeciwne do "praca" wydaje się być czymś pozytywnym. Okazuje się jednak, że przysłowiowe "opierdalanie się" niesie ze sobą wiele niebezpieczeństw. Umysł ludzki nie jest przystosowany do egzystowania w próżni, w stanie braku zagrożeń, na pustyni doświadczeń. Gdy nic nie robimy, nie mam żadnego celu popadamy w apatię. Aby coś generowało energię w nas najpierw musimy zainwestować energię w to coś a przecież dookoła jest tyle łatwych nagród w postaci programów telewizyjnych czy innych debilnych czytanek. (Sam miałem taki moment gdy uciekałem w stronę gier komputerowych i generalnie im mniej trzeba było się w grę wgłębiać tym wydawała się na daną chwilę atrakcyjniejsza.)


No dobrze ale co jeśli już dopuszczamy myśl, że praca może być ciekawa ale nie TA praca? Tutaj filozofii raczej nie ma. Trzeba ją zmienić na taką, której "wektor misji" ma chociaż zwrot podobny do twojego "wektora życiowego". Jedna rada. Kiedyś zrezygnowałem z mało rozwojowej pracy i wydawało mi się to logiczne, że kończę jeden związek zanim zacznę nowy. Niestety HR tego nie mogą przełknąć. Jeśli nie pracujesz to coś musi być z tobą nie tak , albo cię wywalili albo cię wywalili:) Jak już znajdziecie odpowiednią pracę to powinno nastać wzajemne docieranie się. Czyli próbujecie zmienić to co wydaje się wam zjebane w danej instytucji jednocześnie posiadając ten stan umysłu, że cały czas nie macie pełnego obrazu sytuacji i jest wielce prawdopodobne, że możecie się mylić. Spotykam cały czas ludzi, którzy po prostu wchłaniają napotkany model rzeczywistości panujący w firmie jako jedyny słuszny i później cytują na necie jakieś suche zeń formułki.


Przez całe życie realizujemy scenariusz napisany przez biologię i społeczeństwo, jednym sposobem aby odzyskać kontrolę to nauczyć się
jak świadomie kierować swoją psychiczną energią


PS1:
Nie należy wyciągać błędnego wniosku z powyższego tekstu, że różnego rodzaju rozrywki są absolutnie złe i naganne. Generalnie strata czasu wydaje się bezcelowe korzystanie z nich ale np. taka Europa Universalis może lepiej nauczyć historii niż nudne zajęcia w szkole.

PS2:
Również celowym korzystaniem z rozrywek jest realizowanie funkcji społeczno-towarzyskiej. Generalnie aby osiągnąć stan flow stan flow należy odnaleźć równowagę pomiędzy introwertyzmem a ekstrawertyzmem danej osoby a realizacja tego ostatniego wymaga zdrowych kontaktów z ludźmi.

PS3:
Bezcelowe korzystanie z rozrywek nosi raczej znamiona mimowolnego wprowadzania się w stan psychiczny. Temu zagadnieniu zamierzam poświecić osobny artykuł ale generalnie z racji, że nie jesteśmy robotami trudno na tym zjawiskiem od tak po prostu zapanować.

PS4:
W dobie "ludzkich zasobów" ktoś pracuje w firmie gdzie wyższy management zastanawia się jak pracownicy odczuwają pracę?

poniedziałek, 13 czerwca 2011

Czym dokładnie jesteś?

Jesteśmy istotami pragmatycznymi! Oczywiście jest to nieprawda ale takimi chcemy się widzieć. Codziennie siadamy przed komputerem z gotowym - pragmatycznym planem działania, który profesjonalnie wdrażamy (zaraz po artykule na onecie/wp/javalobby/dilbercie). Chcemy się widzieć profesjonalistami. Nasz fach cechuje analityczne podejście do problemu, które jest preludium do powstania cudownego, cechującego się perfekcyjną logika rozwiązania. Dlatego tak często szalonemu układaniu ifów,klas,interfejsów i abstrakcji towarzyszy napie*dalanie pięścią w monitor, przemawianie do biednej mieszanki plastików i metali "dlaczego ten je**ny ch*j tego po prostu nie skompliuje". Oczywiście mało to to pragmatyczne




Kilka dyskusji,które miałem okazje niedawno odbyć oraz udział w paru prezentacjach poruszających tematy psychologiczno-technologiczne, pozwoliły mi zauważyć otaczający brak wiedzy odnośnie popularnych teorii naszego - ludzkiego pochodzenia, których znajomość jest niezbędna aby dążyć do ciągłego ulepszania własnego potencjału intelektualnego


Na początku był gen




W skrócie (jeśli ktoś chce pełną historyjkę niech namierzy książkę z obrazka). Jest sobie gen, którego głównym zadaniem jest przetrwać teraz i w przyszłości. Aby zmaksymalizować powodzenie swojej misji Buduje on coraz to nowsze organizmy, które go rozprzestrzeniają. Im więcej środowisk opanuje tym jego szanse rosną dlatego wykształca nowe typy "robotów", które zabierają ocean w swoich żyłach i wychodzą na ląd




Mózg gadzi


Owe istoty na lądzie posiadają pewną inteligencję. Dzisiaj zwaną przez niektórych "mózgiem gadzim" (reptile brain). Mózg ten dba o to aby wszystkie organy pracowały jak należy. Raczej nie jest zdolny do nauki czy myślenia a jego działanie opera się na podstawowym prawie "akcja-reakcja". Priorytetem są : przetrwanie, walka i dominacja. Organizm ewoluuje. Niezwykle krytyczne w tym momencie jest zrozumienie, że kolejne "typy" mózgów pojawiające się w trakcie ewolucji nie są zastępowane a bardziej składane.


Stary mózg ssaczy


Ewolucja zaczęła nagradzać tych, którzy pomimo pierwszego niepowodzenia postanawiali ponawiać próby tylko trochę inaczej. Pojawiły się relatywnie ogromne półkule mózgowe, zdolne do nauki i zdobywania doświadczenia. Owe półkule zdolne były do przetworzenia większej ilości danych ale nie można było już mówić o prostym trybie akcja-reakcja (parzy - puścić). Potrzebny był bardziej abstrakcyjny mechanizm, pojawiły się emocje (lub romantyczniej - uczucia) "Coś jest nie tak, zwiększyć adrenalinę i napie*dalać wszystkich dookoła"




Mózg naczelnych





Gdy - realizujące pierwotna misję genów - organizmy rozpierzchły się po całym globie, gdzieś w okolicach afrykańskiej sawanny panienki starającego się chodzić pionowo gatunku zaczęły preferować partnerów, którzy na tysiąc możliwych sposobów potrafili wywołać w nich najróżniejsze emocje. Temu zadaniu mogła powołać tylko nowa struktura mózgu, przetwarzająca na wysokim poziomie abstrakcji znaczenie przeróżnych symboli.A, że przy okazji nowy mózg dobrze radził sobie z planowaniem strategii długookresowych, toteż ewolucja wynagrodziła jego właścicieli.



!!!!METAFORA!!!!


Wszystkie trzy mózgi siedzą w naszej głowie ale ich współpraca idzie raczej słabo. Wyobraźcie sobie W jednym mieszkaniu Silnego koksa, gracza komputerowego i wątłego racjonalistę. Teraz wyobraźcie sobie, że przyszła zima i trzy metry śniegu zasypały wejście do domu. Przykładowy dialog:

Racjonalista - jak podzielimy prowiant i będziemy pracować systematycznie to do wieczora się odkopiemy
Koks - Pierdole , jem tera zanim ktoś mi podje
Gracz - a później partyjka w Sensible Soccer
Koks - dobra załącz Atari
Racjonalista - nie nie, nie możemy tracić czasu
Gracz - jeszcze tylko jedna partyjka, obiecuję!
Koks - Jeść mi się chce
Racjonalista - później
Koks - bo cię jebne
Racjonalista - naprawdę są teraz ważniejsze rzeczy
Koks - {jebnął mu}
Gracz - dobrze mu tak, gramy, na pewno tak jak teraz jest dobrze, mi się podoba
Racjonalista - ludzie opamiętajcie się
Koks - ty przytaknij albo ci znowu jebne
Racjonalista- no.. w .. sumie na pewno nas odkopią, tak dokładnie! możemy grać!
Koks - ide po browara
...
Koks - gdzie ten maruda
Gracz - poszedł gdzieś


A co gdyby nasz racjonalista był "silny" i potrafił pociągnąć z takiego "mentalnego karata" i zmusił cała trójkę do efektywnego działania?
Tutaj mamy pełne pole do popisu dla wszelakich technik psychologicznych (i nie tylko).

Dosłownie : Nasz mózg działa w ten sposób, iż starsze części mają przewagę nad częściami powstałymi później. I podobnie jak nasz racjonalista nie zyskał przewagi nad koksem tylko dlatego, że był świadom jego istnienia, tak samo nie uzyskamy pełnej kontroli tylko dlatego, że wiemy w jakimś tam stopniu jak nasz mózg działa. Są pewne badania twierdzące, że zanim wydamy racjonalną decyzję nasze ciało już dokonało wyboru.




Czwarty mózg


kiedy energia kundalini osiąga ten poziom ... Nie nie - to na inny odcinek


Na koniec - treść odcinka w skrócie


sobota, 4 czerwca 2011

Ogłoszenia drobne

W dzisiejszym odcinku informacja o dwóch ciekawych wydarzeniach kulturalnych.

Pisz po pijaku, przeglądaj na trzeźwo


11 czerwca na javarsovii (przemianowanej na Konfiturę) będzie miała miejsca bardzo ciekawa prezentacja przedstawiona przez ciekawego człowieka :



Pisz po pijaku, przeglądaj na trzeźwo

Piotr Przybylak

Jakie jest najważniejsze narzędzie programisty?

Twój mózg.

  • Czy umiesz się nim efektywnie posługiwać ?
  • Czy wiesz jakie kryje "bugi" ?
  • Czy działa racjonalnie?

Ani w szkole ani na studiach nikt nie uczy nas jak posługiwać się najważniejszym narzędziem w naszej pracy - nie uczymy się jak się uczyć. Warto to zmienić, wiec postaram się przedstawić skróconą instrukcje obsługi Twojego mózgu.

Opowiem:

  • O tym jak ludzki mózg przetwarza problemy i tworzy ich rozwiązania.
  • Jak efektywnie połączyć w swojej pracy wykorzystanie przetwarzania świadomego i nieświadomego, racjonalnego i nieracjonalnego.
  • Jak kierować swoim rozwojem. Czyli co bracia Dreyfus odkryli badając ograniczenia sztucznej inteligencji, a co japońscy mistrzowie sztuk walki wiedzą od wieków.
  • Jak ujawniają się zaszyte w nim bugi: "Legacy brain".



Więcej info na : Javarsovia

Potęga Umysłu


Drugim ciekawym wydarzeniem jest darmowy kurs Michała Jankowiaka - "Potęga umysłu" . Ten kurs pomoże wam lepiej kontrolować swój umysł poprzez wchodzenie w stan miłej i przyjemnej relaksacji co poza profitami mentalnymi przyniesie także zyski zdrowotne.


Na kurs zapiszecie się pod linkiem :

Potęga umysłu.



Kolejne lekcje wysyłane są na maila.


Polecam!

niedziela, 15 maja 2011

Dlaczego się nie uczymy?

"Dlaczego się nie uczymy?" - To tytuł prezentacji, która pojawiła się nie tak dawno an portalu infoq : Why Dont We Learn. Prezenter opisuje mechanizmy jakie towarzyszą zdobywaniu nowych umiejętności a całość zespolona jest w prawdziwą(lub nie) historię z jego życia. Kto chce może obejrzeć prezentacje, natomiast poniżej opiszę 4 etapy zdobywania wiedzy według modelu NLP. Weźmy za przykład naukę umiejętności pisania czystego kodu.


Niekompetencja nieświadoma - nie wiem, że nie wiem


Wyobraź to sobie. Zainteresowałeś się programowaniem jeszcze w szkole średniej gdzie na zajęciach informatyki tworzyłeś pierwsze programy wypisujące po sto razy z rzędu słowo DUPA na ekran monitora. Zauważyłeś, że proces kreacji programu komputerowego generuje pozytywne uczucia, więc poświęcałeś mu coraz więcej i więcej czasu zostawiając w tyle niedzielnych informatyków. Być może zacząłeś pisać programy komercyjnie (cz nielegalnie), poszedłeś na studia gdzie tylko utwierdziłeś się w przekonaniu, że jesteś jednak kimś wybitnym a świadectwem tego były wytworzone serwisy PHP ,które przeplatały linie HTMLa i SQLa ale przecież tak doskonale działały i wyglądały. Innym dziełem był program wisielec napisany w jednej linijce instrukcji "for".


Pewnego dnia, na jeden z tysiąca możliwych sposobów docierają do ciebie informacje burzące twoja homeostazę informatyczną - twój kod jest chu**wy. Takie zdarzenie może przybrać wiele form :

  • wkleiłeś kod na forum i zostałeś zjechany
  • pochwaliłeś się kodem na rozmowie rekrutacyjnej i zostałeś zjechany
  • ktoś odziedziczył twój kod i akcie wybuchu frustracji zjechał cię

Jest to moment krytyczny ponieważ powyższe zdarzenie powoduje aktywację naturalnych mechanizmów obronnych jak "confirmation bias" (nie wiem jakie jest polskie tłumaczenie) czy cały wachlarz samo-oszukiwań zawierający się na "dysonans poznawczy". Opiszę kiedyś bliżej te mechanizmy jakkolwiek w skrócie będzie to wyglądać tak, że twój umysł podświadomy będzie szukał potwierdzenia, że ludzie na forum to debile, osoba rekrutująca na pewno nie zna się na rzeczy bo nie umiała dobrać krawata do swetra zaś osoby które odziedziczyły twój kod to w zasadzie tez debile bo tylko debile nie potrafią operować jednoliterowymi nazwami zmiennych
Gdy Jednak uda ci się opanować chochliki umysłowe dalej jest już z górki.


Niekompetencja świadoma - już wiem, że nie wiem


Wiesz, że twój kod jest niedoskonały ale nie wiesz jaki powinien być. Co robić? Trzeba odnaleźć informację i na ich bazie zdobyć nową wiedzę - nic prostszego. W tym przypadku wpisujesz w google frazę "czysty kod" i chłoniesz wiedzę. Wiedzę można chłonąć w sposób poprawny i niepoprawny (drugi model celebrowany w większości polskich szkół). Problem "Jak się uczyć" to temat rzeka i warto samemu się nim zainteresować traktując jako swoistą meta-wiedzę o dobywaniu nowych umiejętności. Poniżej jeden z masy ciekawych linków :
Dreyfus model of skill acquisition


Kompetencja świadoma - już wiem, że wiem


Trudno stwierdzić, kiedy następuje przejście do tego etapu w przypadku tematu czystego kodu.
Zdobywasz nową wiedzę, uczestniczysz w dyskusjach. Pojawiają się kolejne problemy ale masz wystarczającą bazę wiedzy by znaleźć odpowiedź na większość z nich. Zaczynasz sam optymalizować swoja pracę i zdobytą wiedzę przekazywać innym. W pewnym momencie zauważasz, że kiedy myślałeś o tym czy zamknąłeś drzwi w samochodzie powstał całkiem zgrabny kawałek kodu. Własnie przeszedłeś do ostatniego etapu :


Kompetencja nieświadoma - nie myślę o tym, że wiem

Ten stan łatwiej wytłumaczyć na przykładzie jazdy rowerem czy samochodem. To stan kiedy już nie myślisz w którą stronę idzie dźwignia skrzyni biegów gdy wrzucasz piaty bieg bo całą swoją uwagę skupiasz na bluzganiu kierowcy przed tobą. W tym stanie obydwie te czynności wychodzą ci perfekcyjnie.


Będąc na tym etapie tworzysz dobry kod głównie skupiając się na ogólnej architekturze, ryzykach i problemach które czekają dwa lub trzy kroki przed tobą. I kiedy czujesz w palcach swoje doświadczenie i pływasz w poczuciu mistrzostwa kodu jakiś debil na forum mówi ci, że coś można jeszcze zrobić lepiej....

niedziela, 3 kwietnia 2011

Czy stres może być pomocny?

W literaturze z zakresu psychologii i neurologii można znaleźć opinie, iż krótkotrwały stres jest zjawiskiem pozytywnym. Dopiero gdy towarzyszy nam przez dłuższy czas możemy mówić o jego negatywnych skutkach.


Prawidłowość ta raczej nie sprawdza się w pracy programisty. W trakcie pisania programu musimy zbudować w umyśle dosyć złożone odwzorowanie rozpatrywanej części aplikacji. Z tego co wiem kluczową rolę pełni tutaj hipokamp.


W trakcie reakcji stresowej w naszym ciele wydziela się hormon zwany "kortyzolem" (O tym jak do tego dochodzi można poczytać sobie tutaj --> http://pl.wikipedia.org/wiki/Stres) .Internet mówi , że w roku 2008 zespół prowadzony pod kierownictwem niejakiej Dr Baram
miał dowieść, iż ów kortyzol i inne hormony wydzielane w trakcie stresu upośledzają komunikację neuronów w hipokampie, a przez to zmniejszają efektywność zapamiętywania.


Poziom kortyzolu i inne efekty reakcji na stress powinny być łatwe do zmniejszenia przy pomocy technik relaksacyjnych (chociażby zwolnienie oddechu i odprężenie mięśni). Poniżej jeszcze krótki filmik ilustrujący problem.






Jeśli nie stres to co ma nas motywować do pracy? Być może odpowiedź znajdzie się na wyższym poziomie abstrakcji w szeroko pojętej dziedzinie AUTOMOTYWACJI.Może trzeba poszukać wyższej inspiracji i sensu w tym co tworzymy? A może trzeba przyjrzeć się bliżej co dzieje się w umyśle gracza gdy o 4 nad ranem mówi sobie "jeszcze... tylko... jedna... tura".

niedziela, 20 lutego 2011

Poziomy abstrakcji

Robert C. Martin w swej książce "Czysty kod" wspomina, iż prawidłowo skomponowane funkcje powinny być:
  • małe
  • wykonywać jedną czynność
  • zachowywać jeden poziom abstrakcji


O ile pierwsze dwa punkty łatwo sobie wyobrazić i zaimplementować, o tyle zauważyłem, że ostatni punkt jest nie do końca zrozumiały wśród niektórych programistów.

Aby unaocznić gdzie popełniany jest często błąd użyjmy prostej i każdemu znanej życiowej czynności:

Przepis na jajecznicę

  • Rozpuścić masło na małej patelni
  • Wrzucić na stopione masełko szynkę pokrojoną w małe kwadraciki oraz drobno posiekany szczypiorek
  • rozbić ostrym nożem skorupki jajek i zawartość wylewać na patelnię
  • Dodać trochę soli oraz pieprzu i mieszać, aż do momentu ścięcia się jajek

Przepis jest intuicyjny i raczej nikt nie powinien mieć problemu z jego zrozumieniem. Na tym poziomie abstrakcji wystarczy użyć kilku składników w prosty sposób i już mamy nasza potrawę gotową.

Jednakże "pod spodem" mają miejsce skomplikowane i (ze względu na nasz kulinarny model domenowy ) nieistotne zjawiska. Jak mógłby powyższy przepis wyglądać gdyby był częścią programu tworzonego przez nierozgarniętego programistę?


dodaj(maslo)

while(maslo.nieJestStopione){
  for( atom in atomyWProbceMasla){
   atom.dostarczEnergii
  }
}
dodaj(pokrojona Szynka)

while(szczypiorek.jestCaly){
  oddziaływuj nożem na sieć krystaliczną szczypiorku
}

dodaj(szczypiorek)

noż.dodajEnerigiiPotencjalnej
noz.zamieńEnergięPotencjalnąNaKinetyczną
noż.uderzW(jajko)

dodaj(zawartośćJajka)

dodaj(sól) 

for(ziarnkoPieprzu in szczyptaPipeprzu){
 dodaj(ziarnkoPieprzu)
}

i mieszać, aż do momentu ścięcia się jajek


(poprawność kwestii fizycznych może być niedokładna ale nie to jest meritum przykładu)


Tak zmieniony przepis o wiele trudniej zrozumieć i co gorsza domena kulinarna została zmieszana z domena fizyczną przez co potencjalny odbiorca przepisu musi zmierzyć się ze znacznie większą płaszczyzną problemu.

Aby zachować jeden poziom abstrakcji wracamy do korzeni:


patelnia.dodaj(maslo)
patelnia.podgrzejDoRostopieniaMasla()
patelnia.dodaj(pokroj(szynka))
patelnia.dodaj(pokroj(szczypiorek))
patelnia.dodaj(rozbij(jajko))
patelnia.dodaj(sól)
patelnia.dodaj(pieprz)
mieszajDoMomentuScieciaSieJajek(patelnia)


Poprawione źródło przepisu jest czytelniejsze i nie wymaga znajomości zagadnień wykraczających poza domenę kulinarną. Widzimy także ciekawy efekt wizualny, który może być użyty jako swoisty test czy nie wykraczamy poza dany obszar abstrakcji : mianowicie wersja poprawiona nie ma wcięć.

Jak przedstawione zjawisko mogłoby wyglądać na przykładzie bardziej zbliżonym do IT?


funkcja(obiekt){
operacjaDomenowa();
bebechy=obiekt.wyciągnijBebechy
...
kilka zagnieżdzonych pętli i try-catch
...
operacja domenowa()
znowuGrzebanieWBEbechach()
}


przykład konkretny : obsługujemy request od przeglądarki, który może zawierać obrazki i załączniki tekstowe. Każdy typ załącznika musimy zapisać do osobnego katalogu.


przetworzRequest(request){
   zapiszPlikiTekstowe(request)
   zapiszObrazki(request)
}



A można i tak :


przetworzRequest(request){
 zapiszPlikiTekstowe(request)

 strumien=OtworzStrumien
 for(bit in obrazek){
   strumien.pisz(bit)
 }
 strumien.zamknij
}



Chyba jest jasne,która wersja będzie czytelniejsza,przyjemniejsza,wygodniejsza i łatwiejsza w utrzymaniu osobie, która ujrzy ów fragment po raz pierwszy w życiu.