Moje TOP roku 2019

stranka kalendaru

Udalosti a poznatky, technické vychytávky, ktoré vo mne zarezonali v roku 2019.

Seriál „Dark“ na Netflixe a Motivácia
Zo sci-fi seriálu Dark som si odniesol jednu z jeho myšlinok:
Ako môžeme byť slobodný v tom čo konáme, keď nie sme slobodný v tom, po čom túžime?
Pripomenul mi, že základ motivácie nášho správania je jednoduchý – prežiť a vytvoriť čo najlešie podmienky pre svoje potomstvo (viď maslowova pyramída). Preto počujeme z médií o ľuďoch, ktorý prekročili zákon len preto aby zabezpečili seba a svoju rodinu. Preto sa niekto voči Vám, možno nevedome, zachová sebecky – lebo myslí predovšetkým na seba svoje šance v živote.

Nevydarený startup
Bol som zakladajúcim členom startupu ktorý skončil skôr ako sa vôbec začal. Dôvodom neúspechu bol nejasne definovaný produkt, úlohy, vlastníctvo a komunikácia. Prihodím aj pár citátov:

O komunikácií sa vraví, že jej naväčší problém je ten, že si zúčastnení myslia, že sa uskutočnila.

Najlepší počet majiteľov firmy je nepárny a traja sú veľa.

Keď chceš ísť rýchlo, choď sám, keď chceš zájsť daľeko, choď s niekým.

Ak by som išiel do spolupráce znovu, dal by som si okrem spomenutých problémov pozor na tieto veci:

1) Každému ide o maximalizáciu osobného prospechu, netreba sa tomu čudovať nech človek stojí na akejkoľvek strane.
2) Zamestnanec je na poslednom mieste – keď som si čítal o problematike startupov, tak sa často opakoval scenár, že napriek sľubom o podiele zamestaneci boli odsunutý na poslednú koľaj, napríklad pri zobchodovaní startupu – viď bod 1).
3) Naučiť sa rozpoznať a neignorovať problémy už v zárodku, nebáť sa vyťahovať nepríjemné témy a spory, ale aj (zdanlivo) malé nejsnosti hneď ako vznikajú a nepokračovať pokým sa nevyriešia.
4) Nemať ťažkú hlavu, nebyť prekvapený keď startup nevíjde, podvedome s tým rátať.

Život a zdravie
Nedávno som čítal článok, ako sa rozvedenej mamičke, keď jej deti boli u striedavej starostlivosti u otca, utopila dcéra. Keďže som tiež otcom, vedel som si aspoň z časti jej pocity vybaviť. Prázdnota, nelogickosť. Mierne podobné pocity som zažíval keď blízka osoba, vo veku 36 rokov, dostala mozgovú príhodu. Čo vám budem hovoriť. Cvičte, jedzte ovocie a zeleninu, spite, nestresujte sa. Každá malá zmena k zdravšiemu životnému štýlu môže ovplivniť jednu z „náhod“, ktorá by inak mohla vyústiť do zápalu cievy na tom najnevhodnejšom mieste. Načo si dávať pozor pri možných príznakoch budúcej mozgovej cievnej príhody: mierna, nie stála, strata zorného poľa, bodavá pulzujúca bolesť v hlave, ktorá odozneje a mesiac vám znovu nič nie je, tŕpnutie, mravenčenie prstov na ruke (a teda nemusí to byť syndróm karpálneho tunelu). Keďže ja som mával migrény od ktorých som (doslova) niekedy zvracal, blízka osoba svoje príznaky neriešila – keďže si myslela že to oproti mojim migrénam to nič nie je. Až pokým som ju nenašiel nevládnu v kúpeľni.

Fitnes náramok
Ako dobrú kúpu s odstupom roku hodnotím fitness náramok (Xiaomi mi bad 3, ca 20EUR). Primárne som ho kupoval na monitoring spánku (priemer je 6,5h denne za rok), najviac ho však využívam ako hodinky, upozornovač na hovory, notifikácie, SMS (mobil mám prenamentne stíšený) a až potom ako motivátor a analyzátor športovania. Zobrazený počet prejdenných krokov ma motivuje splniť dnes, alebo aspoň zajtra stanovený limit krokov. Spoľahlivo motivuje hýbať sa viac. Meranie tepovej frekvencie a krokov pri behaní zase robí pekné grafy v reporte po skončenom behu. Jednoznačne sa s fitness náramkom viac hýbem ako bez neho. Spím rovnako ako bez neho.

Serverless, DynamoDB, Clojure
Z nových technológií som sa v tomto roku konečne pustil do serverless – AWS Lambda (NodeJS). A aby bola zábava úplná, na jednom novom projekte som okrem Lambdy použil aj DyanmoDB NoSQL databázu.

K DynamoDB – koľko, koľko krát som si hovori WTF, WTF! Bolo to moje prvé zoznámenie s NoSQL databázov a tak to aj vyzeralo. WTF každý druhý moment. Pre ilustráciu, samotný Amazon dáva túto radu, ak vôbec rozmýšľate nad tým nejaký projekt postaviť na DynamoDB:

Pri DynamDB bolo (a stále je) pre mňa ťažké odpútať sa od spôsobu rozmýšľania v relačných databázach. A potom, keď som si myslel, že som už s Dynamom kamarát, zistím, že mi query (niekedy) vráti len obmedzený počet záznamov (a pointer ktorý použiť pri nasledujúcej query). Áno, stačilo by si poriadne prečítať manuál, …ale tých AHA a WTF momentov bolo určite viac ako som si myslel na začiatku…

Clojure
Začal som si všímať programovací jazyk Clojure, aby som sa bližšie zoznámil s princípmi funkcionálneho proramovania. Áno, dalo by sa to aj v JavaSriptie, ale zlákaly ma argumenty pre Clojure:
– jazyk, ktorý bol od začiatku navrhnutý ako funkcionálny vás prinúti lepšie držať sa princípov funkcionálneho programovania
– dá sa univerzálne použiť na hocičo, vie využiť bohatý ekosystém Javy
– je kompaktný – čo sa týka objemu kódu – s malým počtom riadkov dosiahne človek to, čo potrebuje
– REPL, v ktorom za behu vymeníte akú koľvek funkciu a pracujete s dátami daľej akoby sa nič nestalo
– stabilita = kód a knižnicie funguju rovnako teraz ako pred 5timi rokmi
– je z rodiny LISP jazykov, rýchle písanie vlastných parserov či DSL

Motivoval ma aj tento podcast – Functional Design in Clojure.

Clojure som vyskúšal na novom menšom projekte (parsovanie dát z CSV pre kontrolu IČDPH ). Vraví sa, že pri učení Clojure je to 10% percent učenia sa novej syntaxe a 90% zvyknutie si na funkcionálne programovanie. Mojím kameňom úrazu boli „lazy lists“ a ich „side effects“ – napríklad výpis textu do konzly. Naučený z JavaScriptu som napríklad očakával, že .map() vykoná funkciu hneď na každom prvku. V Clojure nie, len zadefinuje nový, ešte nevykonaný zoznam. Funkciu na prvku vo výsledku funkcie .map() vykoná až v tedy, kedy ju explicitne potrebujete. Výhoda? Napríklad nie je problém s obmedzenou pamäťou nekonečne dlhými zoznamami.

Kredit foto: Ulrike Leone

Be the first to comment

Leave a Reply