sobota 9. srpna 2014

Neil Young - War of Man (Válka lidí)

Malí tvorové utíkají od toho chladu
zpátky k hnízdům dávných časů
Zpět do bezpečí matčiných paží
tepla časů, kde nic nebolí

V uších zvoní z té kruté vřavy
Unavený válečník zamíří trochu vzhůru
Černý sokol nebo vlaštovka letí
Horký záblesk z hlavně zazní

Prohrají,
vítězí tu smrt 

Prohrají,
vítězí tu smrt 

Stříbrné hřívy ve větru vlají
Přes celou planetu si utíkají
Nikdo neví kam si vlastně běží
Ale v párech vždy další přichází

V deltě řeky kde zní dusot kopyt
Taťka běží po zmrzlé zemi
Necítí jed, který se k němu blíží,
Nevidí plyn ani hlučící stroj,
zvítězí tu smrt.

Prohrají,
vítězí tu smrt 

Prohrají,
vítězí tu smrt

Okna dokořán a malá dívka si sní
Obloha je hřiště a ona koníky pase
přes celé nebe až daleko za obzor
Na křídlech kouzel dětských fantazií

Děti utíkají od toho chladu
zpátky k hnízdům dávných časů
Zpět do bezpečí matčiných paží
tepla časů, kde nic nebolí

Prohrají,
vítězí tu smrt 

Prohrají,
vítězí tu smrt

Po spoustě času jsem se pokusil něco trochu volně přeložit. Možná to není úplně ono, ale ten refrén mě děsí a svírá úplně stejně jako v originále. Chtěl bych, aby si lidi uvědomili, o čem se to vlastně baví, dřív, než přispějí svým hlasem k nějaké katastrofě.


čtvrtek 17. července 2014

Milan Princ - Tabula rasa?

O hudbě toho nažvaním hodně, ale opravdovou recenzi jsem snad ještě nepsal, nebo aspoň dlouho ne. Byl jsem o ní ale požádán, tak se pokusím to nějak uchopit. Dejme tomu tak, jak tuhle hudbu prožívám sám - každé pořádné album je pro mě taková cesta, výlet, nějaký zážitek. Tak vám tu popíšu svou cestu ...
Asi  se nebudu tolik zaobírat aranžemi, hudbou, texty, rýpáním do nedostatků a vyzdvihováním silných stránek. Je to nějak technokraticky věcné a mrtvé, což se k tomuto dílu nějak nehodí; navíc, určitě to už zvládli jiní na výbornou. Taky podotýkám, že některé citace nejsou citacemi přesnými, ale na to přijdete sami.

Milan Princ je takřka dvorní textař Romana Dragouna (a nejen jeho), a po naposlouchání tohohle alba o něm mám i nějakou představu jako o člověku. Těžko se mi to ale formuluje, ale zkrátka asi rozumím, kam pocitově míří, cítím tu náladu. Na albu se podílela spousta výborných muzikantů, např. Filip Benešovský, Michal Pavlíček, Martin Vokroj, ...

Album to je trochu těžší, trochu smutné, na druhou stranu mu ale nechybí ani sebeironie, což se projeví definitivně závěrem alba:
"Mně se to líbilo!"
"Mně ne!!!"
Vlastně bych řekl, že je to celé album takové vícevrstvé, ne že by se nějak střídaly nálady, nářez střídala balada, jak tomu bývá - tady je to všechno tak nějak najednou. Hned v Prologu je takový patetický projev, který ale klidně může být myšlen úplně vážně, ostatně hned další písnička tomu nasvědčuje. Navíc mě to připomíná takové moje pozorování - zvykli jsme si vysmívat patosu a cítíme se trapně, když se chválí tým, společnost lidí, když se o komkoliv mluví pozitivně.
Písnička Prosím je na začátek alba docela těžký kalibr, a je to možná i nejlepší písnička na celé desce. Pokud jsem se u Prologu tomu patosu pousmál, tady mi úsměv ztuhl.
Písničky jsou prokládány takovými pseudonáhodnými výroky na témata, která jsem určitě někde zachytil, ale nevěnoval jsem jim moc pozornost, ač vím, že někteří lidé ano. Duchovno zkřížené s povrchností lidí. Ty výroky jsou obvykle dost kontroverzní, ale opět - po chvíli přemýšlení člověk dojde k tomu, že jsou to možná hlouposti, ale že vypovídají o něčem, co ty lidi snad i nějak tíží.

Následuje písnička Romane, která se okamžitě zaryje do paměti, a opět je tu ta vrstevnatost; písnička by možná normálně zapadla mezi jiné, kdyby neměla to parádní pozadí "knock out!", "Romane!", člověk z ní má pocit, jako kdyby se ráno probouzel ze snu a do toho mu už nějak promlouvalo svědomí, působí to vtipně ("Romane!") i hodně depresivně zároveň.
"Romane, všichni jdou za svými žvanci, Romane, dej jim tu víru co máš"
Anděl mi vůbec nezní "andělsky", vůbec nevím, co si o něm mám myslet, krom toho, že zní tak nějak opilecky ... ale následný výrok mě utvrzuje v tom, že to byl asi požadovaný efekt. Zmatení. Asi jako když jdu kolem hospody a "vypadne" na mě ze schodů nějaký ožrala. Nemyslím si o něm nic, jdu dál.

Druhý práh na tuhle představu pasuje. Jdu dál. Přemýšlím, vzpomínám, ten pocit je tmavý, ale lepší, než když sedím někde doma na židli. Vlastně je mi po tom všem docela dobře.
"Chci plout dál než znám."
Zvony, kde já tu kytaru jen slyšel? No, to je jedno, zní pěkně. Textu úplně nerozumím, ale trochu se obávám, že mi to dojde vzápětí.
Písnička Ruce je věnována "lidem s podivnými názory na multikulturní společnost".
"Óm mani padmé húm"
Bílá (věnováno věrné družce smrti a mým nočním můrám). Nevím, co psát. Ta písnička je nepříjemná, ale nemyslím to v negativním smyslu, spíš tím, co znamená. Následuje opět opilecké filozofování, jakoby se člověk musel propít k životu.


První den mi připomíná pár písniček jiných autorů, ne snad textem ani hudbou, spíš náladou, tím sarkasmem Nového roku, jenž byl "velkou dražbou vydražen". Co dodat? "Myšlenky černé topím v bílé kávě"

Ostrá skla jsou ostrá - nějak mi tam hudebně nesedí druhá půlka, přijde mi, že to chtělo něco trochu jiného. První půlka je ale dobrá ... a opět vážná.

"Konec první strany CD" ... ne, to jako vážně!

Vločky jsou svíravé a působí na mě po tom všem jako pohled odjinud.
"V Pokoji 3x3 smutnýho bytu" bych asi nečekal, že uvidím rozkvetlou louku. Možná se mi to zdá. Možná "se roztočil kolotoč citů" a všechno je jinak.
"Vesmíre zastav se - spatřil jsem světlo
obzor se rozostřil, všechno kvetlo
i černé myšlenky v záchvatech smíchu
křičely do uší hřmícímu tichu"
Po dlouhém trmácení sladká přesladká písnička Pomeranč. Chvilka pohody,
"A dny jsou jako plástve medu"
než přijde písnička Na salámu, která je naprosto strašně nazpívaná a asi nikdy si z ní nezapamatuju nic jiného. Text je zajímavý, ale hudba je ... no dobře, nejhorší písničku na albu bychom taky měli.

Konce jsou opět depresivní, snad i ironické, ale jako kdyby se po mě chtělo, abych na to nějak reagoval, ale nevím jak ...
"Po kapsách hleám číslo k tobě domů
Tvé jméno je Víra, u sta hromů!
a příjmení Slepá - jako ulice
ulice U Lva, ulice U Lvice"
Po ní ale následuje něco komického, nevím proč, ale přijde mi, že se následující "mezipoznámka" vztahuje k věnování u písničky Na salámu - "všem lumpům, tunelářům, důstojníkům StB, vyjmenovaným soudruhům, a slabochům včetně mě".
"Jen ať mají lidé respekt. Tady není žádnej holubník, tady je věštírna!"
Noc a den. To je možná písnička, která předznamenává nějakou změnu, pokus o změnu. Je pro mě cizí, ale přece promlouvá. Na tom sólu asi chtělo ještě trošku zapracovat, přijde mi, že mu chybí nějaký cíl, vrchol, jen tam tak je ...

Jakkoliv jsou kytary v Letadlech a trumpetách oproti Pavlíčkovým sólům triviální, fungují daleko lépe. Tahle písnička mě zase začala bavit, má náboj, probuzení, vyplutí z temného dna nádoby k hladině, letadlem nebo ponorkou s fanfárou. Text je šílený, ale přece vážný a dává mi smysl mezi řádky. Ale aby to nebylo až tak euforické, přichází opět "filozof z neolitu" (u mě opilec), řka:
"Heroin, takový návaly radosti a příjmenosti jsem nikdy nezažil."
Podzim je ještě šílenější a pro mě opět parádní zážitek. Na Youtube je k tomu i video a nevím proč, lepší klip snad ani není možné udělat:

Tohle je pro mě nejsilnější část desky. Maják. Naděje.
maják tam zářil nocí
maják tam zářil dnem
maják tam zářil v bouřích
maják tam zářil všem

Po Slovu božím, tj. nefalšovaném kázání, následuje písnička Nevěřím, věnovaná dokonce Davidu Gilmourovi. Sice nevím úplně proč, ale písnička je to dobrá, ve všech směrech ... krom sóla na saxofon, kterému zase nějak chybí ta správná pointa. O kousíček.
"nevěřím těm zrůdám, pane
tělo, duše, srdce jsou tak potrhané
ukonči už prosím, poslední mou cestu
dej mi moji hvězdu znovu za nevěstu"
Jenže přemýšlet o tom není čas ... Vesmír nečeká, život nečeká ... mimochodem, opět velmi povedený nápad na klip :-)

A zbývá už jen Epilog (Uprostřed).

Ale já odbočím k nějakému svému vlastnímu závěru. Rozhodně nelituji toho, že jsem si to album koupil, ještě k tomu přímo od Milana Prince. Už jsem ho slyšel určitě víc jak desetkrát, ale pořád mám pocit, že si na něj teprve zvykám, učím se mu rozumět, vracím se k němu.
Docela by mě zajímalo, jak by znělo naživo, byť asi všechny muzikanty na jedno jeviště těžko nahnat, ale mám takový pocit, že těch pár nedotažených věcí by si při živém hraní časem sedlo do možná trochu jiné, lepší, podoby.
Ty písničky mám vesměs rád, jediná, kterou přeskakuji, je Na salámu - říkám si, jestli v tom není nějaká poťouchlost, když písničku, věnovanou všem hajzlíkům a hajzlům nejspíš nikdo nebude chtít ani poslouchat :-)

Až se Milan Princ vyskytne někde poblíž, musím tam vyrazit.

neděle 18. května 2014

Jak poznat demagoga?

Lidé uvěří všemu

"Co je psáno, to je dáno!", říká se. Dnes je psáno skoro všechno. Všichni všechno komentují a čím více šokující informace, tím rychleji se šíří, stává se později součástí podkladů pro další informace a dedukce a indukce ... a lidé pak rádi uvěří sebevětšímu nesmyslu, který by normálně vyvrátili "selskou logikou".

Kdo je demagog?

Demagog je v principu lhář, člověk, který z části úmyslně, z části z nedbalosti, tvrdí něco, co nedokáže ničím podložit, a tak ke svému tvrzení "přihazuje" další zdánlivá fakta, která by ho alespoň na první pohled mohla podporovat.

Musí být placený!

Poslední dobou hit demagogů. Když někdo tvrdí něco, s čím demagog nesouhlasí, začne tvrdit, že je někým placený. To samozřejmě podloží libovolným článkem, ve kterém se o placených diskutérech píše. A samozřejmě - vyhne se argumentaci jakkoliv se vztahující k tomu, co ten někdo napsal.

Je to debil!

Není to nic jiného než urážka, respektive povýšení jakéhokoliv demagogova názoru na jednoznačný fakt, zatímco oponent je hlupák a jeho názor nemá žádnou váhu. Ve skutečnosti to bývá velmi často naopak.

Každý rozumný člověk přece ví!

To je obdoba předcházejícího, jen působí malinko vlídněji. Podobně jako předchozí nepřipouští žádnou jinou možnost a oponent je předem klasifikován jako trouba.

Nejlepší je ...

Srovnávání hrušek s bramborami. Lidé milují jasné volby mezi dobrem a zlem, černou a bílou, žebříčky, fandění. Demagog vám předhodí na první pohled jasný výběr, jenže ...
Jednou jsem narazil na takové pěkné video, míněné jako vtip, ale je na něm pěkně vidět ta logika - titulky ani nepotřebujete, jde o srovnání Maserati a VAZ 2107. Co je lepší?

A teď zpomalte - na co to auto chcete?!


Je to ...

Nikdo není dokonalý a je téměř vyloučeno, že s někým budete vždy souhlasit. Pokud ale s někým souhlasíte, demagog, nemaje argumentů, se argumentaci vyhne a zaútočí na osobu. S čímkoliv, co kdy řekla, kdy udělala nějakou chybu atd.

Jak nebýt demagogem?

Typů "argumentačních faulů" je mnohem víc, určitě na ně přijdete sami. Pěkný seriál je na Ars Technica.

  • používejte rozum, hledejte souvislosti, příčiny, důsledky, možnosti
  • vyhněte se kategorickým soudům o lidech
  • osoba argumentujícího může pomoci se zorientováním se, ale nemůže nahradit argumenty
  • urážky do diskuze nepatří, respektujte oponenta
  • pokud argumenty dojdou, je lepší pokrčit rameny a nechat to na jindy
  • někdy nemáte pravdu, přiznejte si to
  • někdy mají pravdu oba, liší se jen úhel pohledu
  • filtrujte demagogie a informace, udržujte si v hlavě pořádek

Information is not knowledge. 
Knowledge is not wisdom. 
Wisdom is not truth. 
Truth is not beauty. 
Beauty is not love. 
Love is not music. 
Music is the best… 
(Frank Zappa - Joe's Garage)

sobota 17. května 2014

Refaktoring, část II.: Technický dluh

Aneb kapitola (nejen) pro manažery, ekonomy, zkrátka byrokracii, která rozhoduje o investicích, financování, směrování projektů - a taky o tom, kdy se projekt uzavře jako "hotový".
Původně jsem chtěl jít rovnou na zdrojáky, ale událo se něco, co mě přimělo vložit ještě jednu kapitolu. Zjistil jsem totiž, že u nás se o technickém dluhu až zase tak moc nemluví. Nicméně programátorší "guru" o této metafoře mluví už docela dlouho:

Co je to?

Manažeři i zákazníci milují vodopádový model: objednávka, zadání, analýza, zhotovení, akceptace, zaplacení. Nic složitého to přece není, vypadá to triviálně a jednoznačně. Ti zkušenější už ví, že každá ta fáze skýtá mnohá nebezpečí a pasti. Obecně nejednoznačnost a nedotažení každé té fáze - příčinou je obvykle neznalost přesných požadavků a neznalost způsobu výroby na druhé straně.

Zjednodušeně řečeno, technický dluh vzniká vždy, když kdokoliv na projektu odloží něco, o čem dobře ví, že je třeba udělat, ale odloží to - ať už se to týká analýzy, testů, dokumentace, vyčištění kódu.

Jak moc to vadí?

To je různé - asi jako inflace, státní dluh, vaše dluhy; proto se tomu říká technický dluh. Jsou to nedodělky, ale ne jen ty, které vidíte při předvádění aplikace. Ty skryté jsou daleko nebezpečnější. Proč? Nedodělky, které vidí uživatel, viděli všichni během vývoje projektu, a došlo k nějakému konsenzu, že jde o kompromis, se kterým uživatel dokáže žít.
Nedodělky, které ale vidí jen programátoři (pokud je vůbec někdo vidí), mají vlastnost právě té inflace - je to exponenciální funkce. S každou další iterací se umocňuje vliv dluhu, veškerá jeho negativa. Dlouho to nemusí vadit, ale když nad technickým dluhem ztratí vývojový tým kontrolu, už není cesty zpět a vývoj projektu skončí s potupnou ztrátou a obviňováním všech, kteří se na něm podíleli, navzájem.


Exponenciální funkce

Je jasné, že udržet projekt bez dluhů je prakticky nemožné. Vždycky se dá všechno udělat lépe. Na druhou stranu, když dluhy nesplácíte, špatně skončíte. Z vlastní praxe bych to rozdělil na takové tři kategorie (v horším případě fáze) ...

Dluh pod kontrolou

Dobrý stav, který znamená, že projekt má budoucnost a přestože obsahuje pár chyb (někdy i hodně), má smysl v něm pokračovat. Příznaky jsou následující:
  • vývojáři dávají celkem rozumné odhady pracnosti
  • nikdo není nervózní, panují dobré vztahy
  • vývojáři se těší na další úkol
  • většinou se stíhají termíny

Zadlužení

To už je horší stav, ale není nezvladatelný. Nesmí se podcenit - i za cenu oddálení termínu předání další verze je nutné dluh udržet nebo ideálně snížit. S každým dalším nárůstem se situace zhoršuje. Příznaky tohoto stavu jsou takové:
  • vývojáři pracují přesčas, často neplaceně a dobrovolně
  • zpravidla se nestíhají termíny, předání verze se oddaluje i opakovaně
  • často se mění analýza během vývoje
  • množí se požadavky na "až"
  • horší se přesnost odhadů pracnosti - obvykle se podstřelují v toužebné snaze všech stihnout termín
  • tendence přidávat lidi do zpožděného projektu
Management nechápe, proč se dříve termíny stíhaly a teď ne, má tendenci přitlačit, motivovat, ale prakticky dosahuje jen jediného - zvýšení tlaku a stresu, což často končí odchodem zaměstnanců, zpravidla těch nejlepších v první řadě, těch nejhorších potom v řadě druhé. Zůstávají jen bojovníci - pokud se dokážou vzepřít veškeré nepřízni, má projekt ještě naději.

Exekuce se blíží

V tuto chvíli se podívejte opět na ten graf exponenciální funkce. V určitém bodě se dostanete přes hranici, kdy vývoj dalších verzí projektu stojí ohromné zdroje a úsilí a jste ve stavu, kdy je extrémně těžké s tím něco začít dělat.
  • vývojáři často mění své odhady, klidně o dva řády - z hodiny je týden, z týdne 20 minut.
  • jakýkoli termín vyvolává šílený smích vývojářů
  • panuje nervozita a dochází k hádkám a práskání dveřmi
  • manažeři zakazují jakoukoliv údržbu, dovolené, a snaží se do projektu dostat nové lidi - a to jakékoliv
  • neprovádí se analýza, nebo jen povrchně
  • nehledí se na žádná kvalitativní měřítka
Je téměř vyloučeno, abyste se dostali z této fáze zpět. Pokud chcete v budoucích projektech uspět, uvědomte si, co jste zanedbali dříve, podcenili. Není to o tom, že jste měli požadovat vyšší cenu nebo sehnat více lidí.  Vždy potřebujete čas a vždy potřebujete nějakou stabilní kvalitu. Na tom, co děláte dnes, budete stavět zítra.

Udržování dluhu pod kontrolou

Všechno je vlastně docela snadné a pro řadu souvisejících problémů dokonce existují nástroje.

Odhadování pracnosti

To je problematika, na které často stojí váš úspěch - odhadnout, kolik času budete potřebovat na zhotovení něčeho, o čem ještě nemáte "ani páru", je trochu neřešitelný úkol. Existuje na něj řada strategií a doporučení, ale vždy ke kvalifikovanému odhadu potřebujete přehled. Odhad navíc nemůže být definitivní - je to jen odhad, že ...

P: "Devět žen neporodí ani jedno dítě za jeden měsíc. Chápeš?"
M: "Jojo, tohle ví každej, to znám ... Ale Ty jsi chlap!"
P: "Máš pocit, že devět chlapů nějaké dítě porodí?" 

Jak se projevuje technický dluh na odhadu? Představte si, že máte nějakou knihovnu, kterou lehce zanedbáváte - používáte jí ale v aplikaci bez problémů. Přijde ale nový úkol pro aplikaci, při kterém ale zjistíte, že v knihovně je chyba. Také zjistíte, že chybu jste v jiných aplikacích, které na ní už narazily, obešli. Jenže tuto obezličku v nové aplikaci uplatnit nemůžete, protože je v rozporu se zadáním - a navíc jste tehdy nepsali ani testy, takže ani nevíte, co všechno se opravou naopak rozbije.
A tak vám nezbude, než chybu opravit, čímž ale možná rozbijete již hotové aplikace s obezličkou. Tudíž pak budete muset i dopsat testy a opravit i tyto aplikace.

A teď se krátce zamyslete - jaký asi byl původní odhad? Kolikrát ho během opravy změníte? A jaká byla výsledná pracnost? Tím to ale nekončí - opravené aplikace bude možná třeba také distribuovat, takže nám vzniká další pracnost.
Ufff, tohle bolelo. A ještě bude, protože všem musíte vysvětlovat, co se vlastně stalo a proč - a čas běží dál a náklady rostou.

Psaní automatických testů

Automatický test je vlastně další kód, který programátor napíše nejlépe předtím, než začne programovat nějakou funkcionalitu aplikace. Test není součástí aplikace, ale verzuje se spolu se zdrojáky, a moderní programovací jazyky velmi pečlivě zohledňují testovatelnost.
Není žádná výmluva pro nepsaní testů, nikdy. Už dobrých 20 let se považuje za prokázané, že automatické testy vedou k
  • rychlému nalezení chyb nového kódu
  • ujasnění designu a zpětné vazbě analýze dříve, než je aplikace hotová
  • rychlému nalezení chyb, které způsobily opravy na jiném místě
  • konzistentnímu refactoringu (nic se nerozbije)
  • dokumentaci funkcionality (test minimalisticky ukazuje, jak se funkcionalita používá)
Naopak prosby nebo dokonce zákazy manažerů, aby se psaní testů odložilo, protože není čas, končí tak, že
  • dostanou funkcionalitu ještě později
  • druhý den se opravuje oprava dne předchozího, den za dnem
  • nikdo neví, co to vlastně dělá a k čemu to je (brzy ani autor)
  • jakákoliv změna v kódu znamená nutnost manuálního přetestování skoro celé aplikace, protože nikdo neví, co všechno změna ovlivnila

Refactoring

Refactoring se přímo zaměřuje na snižování technického dluhu. Obvykle je dobré začít psaním testů, dopisováním //FIXME a //TODO, případně komentářů, kam si zapíšete své objevy proč a co se v tom daném místě děje, co je na tom špatně, jak by to mělo být správně. Tyto komentáře neslouží k tomu, aby v kódu zůstaly, ale abyste se při své analýze neztratili.
Musíte postupovat opatrně, protože se pohybujete na "minovém poli" (proto kód chcete přece refaktorovat), a krok vedle může znamenat, že své úpravy zahodíte (dokud je ještě čas).

Refactoring předně slouží k tomu, aby byl kód čitelný, měl jasné odpovědnosti a funkcionalitu, choval se předvídatelně a funkcionalita byla vždy k nalezení tam, kde jí člověk hledá. Potom se na kódu teprve dá stavět něco dalšího, kde nebudete muset vymýšlet žádné obezličky.

Refactoring nikdy nekončí - ke každému kódu se po čase musíte iterativně vracet, protože jak se rozvíjí aplikace, je občas třeba změnit trochu i uspořádání kódu, sloučit věci, které se původně zdály rozdílné, ale nejsou, rozdělit věci, které původně dělaly téměř totéž, ale už dávno to není pravda, atd.
Ač se to některým lidem zdá pořád neuvěřitelné, nečitelnost kódu, velké množství duplicit a slabé pokrytí testy mají extrémní vliv na jakýkoliv budoucí rozvoj, daleko větší než sebekomplikovanější zadání.

... a odkládání

Pokud se údržba zanedbává, problémy na sebe nenechají dlouho čekat:
  • náklady na rozvoj aplikace jsou čím dál vyšší, neúměrně požadavkům zákazníka
  • opravené chyby uživatel opět hlásí jako neopravené (našel je i jinde)
  • aplikace se chová nekonzistentně (a uživatel jí nenávidí)
  • aplikace potřebuje více paměti a je pomalá
  • vývojáři trvá velmi dlouho, než zjistí, co má vlastně dělat, těžko se orientuje
  • n testů téže věci a podobná věc není otestovaná vůbec
  • nepřehledná dokumentace, nepřehledné testy, nepřehledná aplikace
  • vývojáři nenávidí aplikaci a po čase odchází jinam (nepodceňovat!)
Často se ale zapomíná také na to, že jsme jen lidé a zapomínáme. O týden odložená údržba už znamená, že se v ošklivém kódu přestává orientovat i jeho autor, a nejen rozvoj aplikace, ale i její údržba stojí více, je namáhavější a také při ní pravděpodobně vznikne více chyb.Je to podobné jako s úvěry - u některých můžete odložit několik splátek, ale pak je bude mnohem těžší dohnat. Možná to už nezvládnete ...

Nástroje

Co se týče sledování odhadu technického dluhu u nás používáme SonarQube; V této aplikaci je i řada dalších metrik kvality software a dá se říct, že je to jediná aplikace, kterou znám, která umí zobrazovat i historii různých hodnocení projektů a dá se i zhruba použít k porovnávání kvality. Podotýkám, zhruba, protože žádný software nemůže posoudit to, jak vaše aplikace plní požadavky uživatele a zákazníka.

No a pokud jde o nástroje pro vývojáře a tvorbu automatických testů, refactoring a vývoj obecně, ti už "ty svoje" nástroje určitě dobře znají ;-)

neděle 13. dubna 2014

Refaktoring, část I.: Proč já?!

Úvod

Četl jsem už spoustu článků i blogů o tom, co programátor má nebo nemá dělat, a jak užitečný a dokonce nutný je refaktoring. Nikde se ale moc nepíše o strategiích refaktoringu a dost lidí se ho pořád i tak trochu bojí. Tož jsem se rozhodl, že o tom něco napíšu sám, neb s tím mám dlouholeté zkušenosti.

V roce 2007 jsem přišel do firmy ICZ, jako "junior", který o Javě "už někde slyšel". Ne jako nějaký odborník, zkraje jsem byl zkrátka tolerován. Ne na dlouho ... po dvou měsících na jednom projektu ze mě udělali vedoucího projektu jiného, o dost většího, který dodnes (2014) přežil leccos, neustále narůstá a komplikuje se, ale paradoxně se i zlepšuje jeho stabilita i udržovatelnost - přitom na něm dělá pořád míň a míň lidí. Jak to?
Postupně začnu popisovat své zkušenosti - řekněme takovou formou "občasníku". Nebudu vám vtloukat do hlavy agilní metodiky, scrum, extrémní metodiky, zkrátka, nebudu vám říkat, co máte dělat. On totiž každý projekt potřebuje "svoje". To samozřejmě není nic proti těm metodikám, je dobré je znát, a vybírat si vhodné "zbraně k boji".
Jen pro zajímavost: "můj" projekt má po 11 letech vývoje zhruba 500 000 řádek kódu (kódu v Javě! čili ne javadoc, ne prázdné řádky a dokonce ani webové stránky - JSP).

Jsem nový v týmu

Tak to začalo. Návyky z minulé práce se tu nevedly. Nové návyky byly pro mě zvláštní, nové, chvílemi jsme se vzájemně odsuzovali, ale ve výsledku jsme stále táhli za jeden provaz.

Fáze 1: První zákaz

Když jsem uviděl víc jak 1000 řádkovou třídu, servlet, dokonce s jedinou metodou, chvíli jsem na to zoufale zíral, a pak začal refaktorovat. Když jsem se zmínil šéfovi, bylo mi řečeno, že nemám "spravovat co není rozbité" a "zákazník tohle neplatí".
Obvyklá rada zní - z takové firmy rychle utíkejte!
Mám takový "zlozvyk", vlastně dva:
1) Neutíkám z boje, nerad se vzdávám, radši zkusím, co se s tím dá udělat.
2) Nenechám si zakázat něco, o čem vím, že to dokážu dotáhnout do konce.

Fáze 2: Tolerance

Ukázalo se, že porušení zákazu nemá negativní důsledky. Pořád mi to nikdo nevěřil, někteří programátoři mě považovali za magora, kamikaze, a někteří to vzali jako výzvu. Výsledkem bylo mlčení na obou stranách, termíny se stíhaly, všechno víceméně fungovalo jako předtím, ok.
V tuhle chvíli se musím zastat možná i vašich projekťáků: postavte se do jejich role, pochopte, o co jim jde:
1) Více změn, větší pravděpodobnost chyb.
2) Změny v předaném hotovém kódu mohou způsobit změnu chování a ta se těžko vysvětluje zákazníkovi - ten NECHTĚL, abyste cokoliv z toho měnili.
3) Pokud se nestihne termín, vaší firmě hrozí penále a pokud navíc měníte něco, co nikdo nechtěl měnit, bude to bez slitování. Zákazníka refaktoring nezajímá, berte to na vědomí.

Musíte získat důvěru šéfa, ne hysterčit. Musíte být dost pečliví a dobří na to, aby se za vás mohl s čistým svědomím postavit.

Situace, kdy v týmu panuje nevraživost, když se se svými šéfy nechcete bavit o tom, co děláte, a vzájemně si lžete, je opravdu chvíle vhodná ke zvážení odchodu jinam. Ale pokud se to ani nepokusíte změnit, pravděpodobně jinde dopadnete stejně.
Většina programátorů jsou vysokoškoláci, odborníci, experti, dokonce se dá říct vědci. Pokud něco víte, musíte umět taky najít argumenty, důkazy, a mít trpělivost je ukázat a vysvětlit každému, komu bude třeba. Já vím, nejspíš jste ve vsyvětlování stejně špatní jako já - učte se to, jinou radu nemám ;)

Změna týmu (vítej v pekle!)

Fáze 3: Nedůvěřivá polopodpora

Po pár měsících mě přesunuli do jiného týmu na jiný projekt, kterému nikdo z programátorů nechtěl velet.
"Unit testy? Co to je? To si nikdo neobjednal!" - první reakce na otázku automatických testů. Refaktoring mi byl opět zakázán a opakovaně jsme si s projekťákem vysvětlovali, proč ano a proč ne - nicméně nikdy jsem s tím nepřestal. Testy jsme ale nepsali ještě dlouho.
Můj první úkol byla "opravička" (podle zadání droboučká) v aplikaci, která měla asi 5000 řádek ve 4 třídách (jedna měla přes 3000 řádek). To snad ani nebyla Java, to bylo peklo. Dostal jsem na to 12 člověkodní. Po dopoledni, stráveném "pícháním klackem" do zdrojáků, jsem pochopil, že netuším, co to dělá a jak.
Za nějakých 5 člověkodní jsem z těch 4 tříd udělal 42, aniž by se aplikace chovala jinak. Jen víc psala do logů. Později popíšu detailně, jak na to ;)
Za další den jsem našel hledanou chybu. A cestou našel asi 4 další, které stoprocentně uživatel musel vidět také!
Při ručním testování se zjistilo, že analytici našli další chyby, a že jsou i v provozní staré verzi. Po konzultaci se zákazníkem došlo i na opravy těchto chyb, načež po 7 člověkodnech jsem byl hotov (později vysvětlím, jak se to pozná ;)).

Fáze 4: Poplácání po zádech ... a ... a jéje

Ano, to byla malá výhra. A protože jste "fakt dobří":
1) Příště máte času polovičku, ne-li mnohem méně
2) Dostanete na starost ostatní programátory
3) Nekonečné konflikty se všemi, jen vedoucí sousedního týmu se vám směje
4) Přibývá stresu, ubývá chuť k práci
5) Není čas na změny

Tohle je začátek konce, kdy nakonec buď odejdete, nebo dospějete a postavíte se definitivně na vlastní nohy. Opět jsme u argumentace - té se nikdy nezbavíte!

Odhad pracnosti

S oblibou přirovnávám práci programátora k luštění křížovek - hodí se to jak pro vysvětlování věcí projekťákům, tak laikům.
Baví vás to? Tak si představte, že 8 hodin denně, 5 dní v týdnu, luštíte křížovky. Máte pocit, že vás to bude bavit? Ne, programátor vážně není "dělník, co jen pracuje hlavou"!
Takže, zkuste to takhle - šéfovi přineste libovolnou těžší křížovku, a za 5 minut se ho zeptejte, kdy jí už bude mít hotovou. A pak jemně konstatujte, že když on po vás chce odhad, je to podobné.
Pokud je navíc kód ve stavu, kdy se v něm nelze vyznat, je odhad prakticky nemožný. Nenaděláte nic, neexistuje řešení, jak dát byť řádově přesný odhad. Ano, měsíc je vhodná jednotka na jakoukoliv změnu v takovém kódu!

Programátoři

To znáte z amerických filmů, typicky vojenských, sportovních. Ne, nejsou to blbci, naopak! Někteří jsou chytří až moc - což je nejhorší varianta, pokud si je nezískáte na svou stranu. Oni se ve svém kódu přece vyznají a funguje! Nic je nedonutí změnit přístup, formátování, přestat psát Javu ve Vimu, používat na všechno statické metody s názvem a() a 20 parametry nebo hashmapou (vede se věčný boj, co z toho je horší).
Krom věčného vysvětlování a kontrolování cizí práce musíte stíhat i své vlastní programování. Ne, nemůžete přestat programovat - jednak by tým přišel o (aspoň jakýstakýs) vzor, jednak je to váš způsob získat si nějakou autoritu, ale hlavně se pořád ještě učíte nové věci - nemůžete radit a dohlížet na jiné, když sami nevíte, jak na to.
Ano, je to přesně jako v těch amerických filmech: hledejte silné stránky, buďte tolerantní, ale zároveň někdy musíte prostě někoho seřvat, nedá se nic dělat. Pravda je, že až tady mě naučili se "nasrat", do té doby jsem byl flegmatikem.

Konflikty

Z předchozího odstavce už je jasné, že buď najdete alespoň nějaké spojence, nebo odejdete. Nebo zatnete zuby a budete makat, dokud všechno nepřijde samo.
Jako vedoucí jsem byl tehdy řekl bych dost špatný. Jako programátor jsem dělal velké pokroky, ale nově nabyté zkušenosti a informace jsem neměl dost zažité na to, abych je někomu dokázal předávat.
Zpětně vím, že mám vážně moc dobré šéfy. I když se někdy hádáme, odsekávám, jednou jsem projekťáka dokonce nazval diletantem, načež on se neurazil, počkal, až "vyšumím", já se omluvil, a argumentoval a argumentoval, než jsme se nějak dobrali k tomu, že "doufá, že vím, co dělám".
Zkrátka, pokud víte, že jste něco přehnali, nebo dokonce byli na někoho nespravedliví, řešte to co nejdřív a velkoryse.

Stres

S tím mám problém dodnes. Je toho moc. Rady už znám taky, ale neumím se jimi důsledně řídit: vstávejte rituálně, pravidelně a stejně pravidelně choďte z práce. V práci nezapínejte Facebook ani jiné podobné blbiny, žerou neuvěřitelné množství času a oberou vás buď o výsledky, nebo o zbytek dne, kdy ty výsledky budete dohánět. Dodržujte pitný režim a jezte střídmě. Po práci se fyzicky hýbejte.
Tož jsem si to teď hezky sepsal, třeba se konečně polepším :-)
Chuť k práci mám, tu mi dává pohled zpátky na to, co všechno se už změnilo k lepšímu.

Změny

Z pohledu projekťáka, natož zákazníka, není na výslovně zákazníkem neobjednané změny čas nikdy.
Takže pracujete tak trochu v ilegalitě. Opět, jste experti, musíte vědět, co můžete změnit a co nemůžete změnit v dané iteraci. Prakticky jde o to, aby to neoddálilo termín - a pokud, aby to bylo obhajitelné. Což se lehko říká, ale těžko dělá.
Řekněme, že do toho budete dávat zhruba 30% času týmu. Pro projekťáka je to strašně moc a bude to chtít snížit. Nebo aspoň pro tuhle iteraci. Ne, neexistuje. Proč? Protože pokud to neuděláte TEĎ, termín bude možná (!) splněn, ale:
1) Větší riziko (řekněme rovnou, jistota) chyb, které tým bude řešit zdarma v rámci záruky
2) Oddálení údržby neznamená, že příště jí strávíte 60% další iterace, ale zůstane tam těch 30% a mezitím vám přibude produkce z minulé iterace.
3) Nezapomínejme na lidskou paměť - o dvě iterace dál už se učíte chápat svůj vlastní kód, čili stojí to další čas navíc.

Pokud změny uděláte, má to "nenápadné" bonusy:
1) Odhad pracnosti je řádově přesnější (z měsíců jdeme na dny)
2) Opravy jsou záležitostí hodin, dokonce minut
3) Od nějaké úrovně stavu kódu lze levně psát unit testy
4) Rozvoj aplikace má tah na branku, víte, co děláte a co ještě budete dělat, neobjevují se záhadné chyby.

Dnes

Fáze 5: Mám nejlepší tým v historii projektu

Ne, pořád jsme nevyhráli. Ale vedeme si dobře. Ta věta z podnadpisu mě napadla chvíli poté, co jsem se na jednoho "mého" programátora ukrutně naštval, seřval ho a za chvíli mi došlo, že neprávem. A že jsem poslední dobou dost nepříjemný. A že to není poprvé. Obratem jsem se mu omluvil a na další poradu přinesl láhev vína a nešetřil jsem.
Stresu je hodně, ale to není žádná omluva, takhle by se ten tým rychle rozložil. Vyhrazuji si právo být člověkem a občas se zachovat jako idiot, načež to ale neznamená, že bych tím nenáviděným idiotem hodlal zůstat.

Zpětně jsme udělali ohromný kus práce s tou půlmilionřádkovou saní. Ano, pořád půlmilionřádkovou, počet řádek narůstá velmi pomalu, protože pořád je tu těch 30% investice (někdy méně, někdy více). Mezitím se aplikace naučila komunikovat s asi 6 dalšími systémy, přešla z Javy 1.4 na JDK6 a má našlápnuto na JDK8, bylo napsáno asi 3000 testů od knihoven až po aplikace a testy GUI, přešlo se z Antu na Maven2 a později Maven3, kvalitu nám už několik let "známkuje" Sonar, máme automatický build systém a zasílání změn, atd.

V jednu dobu bylo na projektu neuvěřitelných 13 lidí. Dnes je nás 5 a děláme toho snad ještě více.
Náš projekťák má občas pořád tendenci někde "ušetřit", ale nechá si to vysvětlit a nepochybně svou práci dělá dobře.

Dostávám nabídky na dvojnásobek současné mzdy, ale není to jen tak - neodcházím z několika rovnocenných důvodů:
1) Mám rád evoluce, ne revoluce. Chci si užít pocit, kdy už budu vědět, že všechno klape. Myslím, že nejsem tak daleko od tohoto stavu.
2) Jiná práce, jiný tým, jiné podmínky, dost možná bych musel znovu někoho přesvědčovat, že používá technologie, ke kterým už se dnes nikdo nezná, že psát testy není ztráta času, že požadovat nějakou úroveň zdrojáků není perfekcionalismus, ale pud sebezáchovy.
3) Mám rád živé projekty, ne režim "přijít - napsat - spustit - odejít".
4) Mám tým, ve kterém se dokážeme domluvit, vyhovět si, a případně i zabojovat, aby projekt dopadl dobře (zákazník spokojený, projekťák spokojený, firma dostane zaplaceno a my možná odměny :-) ).

Samozřejmě to neznamená, že tu ta možnost odejít není. Ale momentálně jí nevyhledávám a nabídky odmítám.

Závěr úvodu (no hurá)

O refaktoringu se tu vlastně dneska mluvilo málo, zato dlouho. Asi jsem nenapsal ani nic, co by člověk nevěděl, ale šlo mi o to nabídnout pohled na tu "evoluci" od začátku do konce (budiž prozatímním neustále utíkajícím koncem označen dnešní den).
Pokud přijdete na projekt o této velikosti, nečekejte, že s ním pohnete jen tak. Je to práce na dlouho a vy se pořád musíte vejít do rozpočtů a těžce si vydobývat důvěru jiných. Ta vzniká tak, že uspějete krůček po krůčku v zakázkách, že vaše dílo funguje, když jiná mají problémy.
Je to hodně o hledání rovnováhy a schopnosti dotahovat věci do konce tak, abyste se k nim nemuseli vracet nečekaně a často a ... neradi.

Ano, zákazník srovnává hrušky s jablky, a vy to děláte taky, jen si to neuvědomujete. Dnešní naší společnosti chybí respekt, empatie, schopnost podívat se na něco očima někoho jiného - ale o tom jindy a jinde. Učte se to. Většina firem nabírá programátory a analytiky v jednom, takže - analyzujte ;)

Další díly asi budou kratší a jelikož to píšu bez přípravy a konceptu, uvidíme, co ze mě "vypadne".  Každopádně bych se chtěl zaměřit na nějaké strategie refaktoringu a zhodnocení toho, která kdy může být úspěšná.

Poslední dnešní věta:
Neexistuje nerefaktorovatelný kód!

neděle 2. března 2014

Ukrajina pod tlakem

Naše mindráky

Zdá se, že jsme národ plný komplexů. Snad polovina novinářů a osob "veřejných" se pokouší ukrajinskou situaci naroubovat na tu Mnichov, tu Srpen, tu Protektorát,a když jim naše těžké chvíle nestačí, vypomáhají si v zahraničí. Tu Kosovem, Osetií, různými akcemi Spojených států ...

Je to lenost pokusit se na události nahlížet bez těchhle mindráků a dohledávat si informace o současné situaci na Ukrajině, nebo to dělají schválně? K čemu tyhle falešné berličky potřebujete?!

Fakta ...?

Kdo vládne Ukrajině?

Ukrajina nemá a až do voleb nebude mít legitimní vládu ani prezidenta. Ta minulá o ní přišla během demonstrací, byla jednoznačně svržena. Nicméně vzbouřenci uzavřeli s Janukovyčem jakousi dohodu o volbách, byť tato byla částí vzbouřenců odmítnuta.
Ať už Janukovyče kdo uznává nebo neuznává prezidentem, nemůže plně řídit zemi, stejně tak jí ale nemůže řídit vláda ani jeho nástupce.
To se dá celkem snadno doložit - z různých oblastí se ozývají různá odmítnutí příkazů z Kieva. Je to chaos.

Krym

Krym patří k Ukrajině od 50. let 20. století, kdy jej Ukrajině v rámci Sovětského svazu přiřknul Chruščev. Předtím Krym nějakých 200 let patřil k Rusku, a ještě dříve tam byli Tataři, ... ale to je už jedno, otázka je, ke komu patří teď?
Většina obyvatel jsou Rusové, právně ale patří Ukrajině. Ukrajina je ale destabilizovaná a Krym Kyjevu nevěří - konec konců, nebylo mu ani umožněno volit, což je poměrně zásadní věc, naopak mu bylo pohroženo rozpuštěním parlamentu.
Rusko má pronajatý přístav, který je pro něj tak důležitý, že pokud by byl přístup k němu Rusku jakkoliv omezen, prostě to zařídí vojensky. Neznám zemi, která by to neudělala.
Myslím, že tato dohoda byla velice moudrá jak ze strany Ukrajiny, tak Ruska. Rusko má svůj přístav, Ukrajina má nadále Krym. Idylka - až dodnes.

Janukovyč

Jeho vláda, stejně jako vláda Tymošenkové, Ukrajinu nadále zadlužovala, přitom samotní prezidenti jí sami doslova tunelovali. Dostal se do pasti, když se snažil vyjednávat s EU i Ruskem o dalších půjčkách, jenže EU nabídla jen titěrný zlomek toho, co Rusko, navíc za nevýhodných podmínek. Naopak nabídka Ruska byla velkorysá, ale se zásadní podmínkou - celní unie. Tím by se EU definitivně zavřela vrátka, Rusku by nikdy nemohla díky clům konkurovat.
Že Janukovyč nakonec kývl Rusku je logické. A že se to občanům Ukrajiny nelíbilo, protože celou dobu se tvářil ohromně proevropsky, je logické také. Podrazil je a myslel si, že stačí, že on je přesvědčen, že je to pro jejich dobro.

Majdan

Majdan jsou normální lidé, kteří se vzbouřili vůči podrazu Janukovyče. Majdan jsou lidé, kterým vadí obrovská korupce, ale jsou ochotní jí tolerovat, pokud aspoň jimi zvolení lidé neobrací o 180°.
Součástí Majdanu byli i extrémisté - a je možné, že právě oni stříleli jak na policisty, tak na demonstranty, ve snaze situaci vyhrotit. To ale neznamená, že celé hnutí je extremistické.
Majdan není podporován celostátně a jednoznačně - tudíž ale odmítnutí jeho vlády východem země je nutno brát vážně. Existuje jediné řešení, celostátní volby, jenže květen je daleko.

Domněnky a názory

Extrémisté

"Ukrajina Ukrajincům!"
No počkat, ale téměř 20% obyvatel Ukrajiny jsou Rusové. Některé zdroje tvrdí, že ukrajinské extremisty sponzorují britské a americké tajné služby.
Hrozba ruského zásahu (myslím hrozba, nikoliv zásah!) na Ukrajině může mít pozitivní efekt - protože pokud měli dosud extrémisté snahu situaci vyhrotit, teď hrozí, že by dosáhli opaku než posílení své moci.
Na druhou stranu na Krymu by naopak vyhrocení situace dalo záminku Rusku.

Co asi chce Rusko

Na tom není nic složitého - Rusko během let půjčilo Ukrajině spousty peněz. To nikdy není zadarmo, krom splácení jsou tu vazby hospodářské, Ukrajina je zkrátka na Rusku závislá a obě země na tom vydělávají. Lidsky řečeno, Rusko má na Ukrajině svoje peníze, spousty peněz. HDP Ruska navíc zpomaluje, čili omezení obchodů s Ukrajinou mu rozhodně nepomáhá.
Převrat Rusku určitě radost neudělal - pro Rusko je výhodné situaci co nejrychleji zklidnit a ideálně si Ukrajinu zavázat dalšími půjčkami i smlouvami.
Co se týče Krymu, Rusku by případné odtržení Krymu od Ukrajiny a jeho dobrovolné připojení k Rusku (nebo i jen osamostatnění) vyřešilo jeden zásadní problém. Ano, ten přístav.

Co asi chce EU

Krize v EU neskončila, jen se zmírnila a brzy přijde další propad. EU potřebuje akutně odbytiště pro své výrobky, potřebuje zvětšit prostor, kam by mohla vyvážet. Zájmem EU je jakýmkoliv způsobem získat větší vliv na Ukrajině.
Ano, aby se to na Ukrajině pomlátilo, pokud možno bez intervence Ruska, je v našem zájmu. Ne, ani my nejsme ti dobří, kteří by mysleli na blaho Ukrajinců.
Zájmem EU je, aby se Ukrajina buď jako celek odklonila od Ruska k ní a to nejlépe aniž by jí to něco stálo, nebo alespoň kus Ukrajiny utrhla.
Ano, zájmem EU je roztržení Ukrajiny - cokoliv je pro EU (nikoliv pro Ukrajince!) lepší než když celá Ukrajina vstoupí do konkurenčního projektu s Ruskem.

Co asi chtějí USA

Moc USA ve světě slábne, poslední dobou jejich diplomatům čím dál více do práce kecají Číňané i Rusové, kterými, na rozdíl od Německa a Francie, nemůžou jen tak pohrdat a ignorovat je. Jakákoliv destabilizace konkurentů USA je z pohledu USA žádoucí.

Co chce Ukrajina

Jednoznačně nechce jakoukoliv vládu Ruska, nechce být Ruskem ovládána. Nechce se vzdát Krymu a nechce násilí.
Chce být svrchovanou republikou, která si dokáže vládnout sama, chce vycházet dobře s EU i Ruskem. Chce se zbavit korupční zátěže.
Ukrajina se obává Banderovců i separatistů a varuje před nimi.
Pokud chcete objektivní informace přímo z Ukrajiny, zapněte si 112.ua. Zjistíte třeba to, že západ Ukrajiny s Krymem komunikují velmi vstřícně skrz TV, čímž podle mého obchází jakoukoliv moc extrémistů, kteří se snaží jednotlivé části Ukrajiny poštvat proti sobě.
Tak jako Majdan byl zděšen obratem Janukovyčovým, je ale dnes východ zděšen změnami v Kyjevě, ke kterým nijak nemohl přispět a nesouhlasí s nimi.

Sféry vlivu

V minulém století se mluvilo o tzv. "sférách vlivu", tj. velmoci si svět jaksi rozdělily mezi sebe tak, aby se nevysilovaly svými vzájemnými spory a mohly s těmito zeměmi obchodovat, a samozřejmě je také ovlivňovat, ne-li ovládat.
Po pádu SSSR tu zbyla jediná taková velmoc, USA. Rusko se stáhlo a 20 let řešilo téměř jen své vlastní problémy, případně svých těsných sousedů.
Dnes ale Rusko přezbrojuje, a jeho diplomacie dokáže být opět nepříjemně důrazná. Mezi velmoci se nenápadně vetřela Čína, kterou už dnes není vhodné podceňovat a to včetně její vojenské výzbroje.

Hodní a zlí a Ukrajinci

Rusko, EU, USA, nikdo z nich není tím "hodným". Všichni sledují své vlastní zájmy, nic víc. Co bude s Ukrajinci vedení států nezajímá, zajímá je hospodaření jejich vlastních zemí. Ukrajina je pro ně obchodní příležitost.
Ukrajinci teď ale mají na výběr jen málo a čeká je spousta nepříjemností. Budou muset splácet dluhy Rusku, budou muset získat další půjčku a nejspíš zase od Ruska (nikdo jiný tak vysoké půjčky nenabídl), a budou muset přijít na způsob, jak se z toho půjčkového kolotoče dostat. Samozřejmě, bude se muset škrtat v rozpočtech, což se obyvatelům určitě moc líbit nebude, a bude se muset omezit tunelování rozpočtu. A bude nutné získat si investory (otázka je, kam ale pak bude vyvážet?).
Jenže - ani tak malá zemička, jako je ČR, nic z toho zatím nedokázala. Ale i tak Ukrajině držím palce.
Nic z toho navíc není aktuální, protože dnes je Ukrajina pod tlakem velmocí těžkého kalibru, které se jí snaží ovládnout sobě navzájem navzdory. Je cupována dravci. Rusko je z nich nejsilnější a nejdrzejší, ale ostatní nejsou o nic lepší.

Co bude dál?

Svět se dal zase do pohybu a osobně se mi to vůbec nelíbí. Velmoci zbrojí. Vyspělým zemím dochází dech, není proč vyrábět, všichni mají všechno. Úmyslně se zkracuje životnost výrobků, abychom udrželi zaměstnanost. Všichni potřebují nové trhy, kam by všechny ty krámy vyvezli. A samozřejmě potřebují části Země, kde leží materiál, k výrobě potřebný.
To je to, oč tu běží, slovo "svoboda" se pak používá jen jako "vábnička" - mimochodem, všimli jste si, že ty nejhorší režimy na světě mají v názvu slovo "demokratická", případně "lidová"?

Zdroje:
Online televize 112.ua (ukrajinsky)
Online televize ČT24 (česky)
Online televize BBC News (anglicky)
Online TV Al Jazeera (anglicky)
Online TV Russia Today (anglicky)
Web Sky News
... a další ...

pátek 31. ledna 2014

ČNB, ceny potravin, a úvaha o dnešních ekonomikách úplně jinak

Nejsem ekonom

Takže se smiřte s tím, že to, co píšu, nemusí odpovídat žádné ekonomické teorii, tomu, co nás i vás kde učili ve školách, může tomu chybět hlava i pata,  ale na druhou stranu, možná tím spíš třeba trefím hřebíček na hlavičku, se štěstím "vidláka, pozorujícího vědce, jak mění kolo u jeho Porsche".
Nepodceňujte vidláky - občas vidí to, co expertům nikam nezapadá, a tak to fatálně přehlíží.

Nejsem ale blbec

Aspoň si to troufám tvrdit. Na následujícím mediálním extempore mi něco nesedí, intuitivně, tož se pustím do bádání níže ...

"Výrobci potravin předpokládají zvyšování cen v důsledku intervencí České národní banky v rozmezí pěti až osmi procent.Oslabení koruny po intervencích centrální banky kritizují především výrobci, kteří značnou část surovin pro svou produkci dováží, například menší výrobci cukrovinek a někteří zpracovatelé masa
Růst nákladů vede potravinářské firmy ke snižování marží, řada z nich si však prý již nemůže další snižování dovolit. Někteří producenti se obávají, že budou muset omezit výrobu a snížit počet zaměstnanců. 
Například zpracovatelé masa uvádějí, že v důsledku intervencí omezili dovozy prasat ze zahraničí a zvýšili porážky zvířat z českých chovů. Zvýšená cena obilí se prý promítne do cen krmiv a následně zdraží potraviny živočišného původu, zejména maso a vejce."


  1. Cukrovinky možná, ale zvýšená cena obilí? Obilí snad nakupovali hlavně v čase sklizní, ne?Jestli se nepletu, cena obilí se projeví tak možná po další sklizni. Přes zimu kupuje obilí pro dobytek leda sebevrah ...
  2. K čemu je dovoz prasat ze zahraničí, když české prasečáky se likvidují? Touhle dobou je vepřové levné, kuřecí ale drahé. Pokud to opravdu udělá tohle, ČNB chválím!

Drůbežárny a prasečáky v historii ČR

V posledních 10 letech zkrachovali dva velcí výrobci, které jsem znal "z blízka", podle různých článků na internetu dokonce jeden zkrachoval opakovaně, druhý tuším přímo nekrachnul, jen zavřel skoro všechny své provozy.
Lom u Tachova - Adex a Respo vedle sebe
Vlevo je Respo, areál vpravo je Adex, jen abyste v Praze taky viděli, jak to vypadá v reálu mimo města. Ty lidi, co tam pracovali, dneska živíte, ale sami máme všichni podíl na tom, jak se hospodaří vůči zahraničí. To, že si koupím maso o 50% levněji pořád neznamená, že jsem ušetřil - protože jsem tím napomohl likvidaci domácí výroby, ty lidi dnes musí držet při životě stát.

Adex 

http://www.novinky.cz/kariera/209755-nejvetsi-cesky-zpracovatel-krut-potreti-zkrachoval.html
V Lomu u Tachova je obrovský areál, který měl i svého času podnikovou prodejnu - do které se vyplatilo dojet z Tachova a okolí pro čerstvé kuřecí nebo krůtí maso. Po mnoha investicích se složil, protože ČR začala pomáhat výrobcům německým a polským, na úkor svých vlastních. Respektive, svést to na stát je moc jednoduché, stát ale přece neurčuje, od koho si Tesco nakoupí maso ...

V Lomu jsem dlouho nebyl. V bývalém prasečáku jsem tuším v roce 1997 dělal jako brigádník jedné stavební firmy rozvody teplé vody a tuším plynu, areál je to obrovský a smrad tam byl ... strašný! :-D
Zničil jsem tam svoje první dvě sbíječky (Bosch a Narex), padly v boji s cihlou a betonem. Tamní zaměstnanci sice nebyli zrovna vysokoškoláci, ale na starání se o zvířata stačili. Teď jsou bez práce, protože ani na stání u mašiny se nehodí. Tak je platíme za nic z daní, protože práci pro ně nemáme.

Respo 

Tachov, Černošín, Lom u Tachova, Chodová Planá, atd. - všechno dnes opuštěné budovy. Než zkrachovaly, byly tam byly tam platy na úrovni minimální mzdy, ale byly.
Co dělá RESPO dneska nevím, v bývalé drůbežárně v Černošíně stojí solární elektrárna,
Zlaté stránky: Lom u Tachova
Zlaté stránky: Černošín - tohle je na opačném konci Černošína, ale podle mě tam žádná zvířata nejsou - nevím, jezdím jen kolem autem. Ale v okolí Černošína jsou obrovské lány, kde obvykle roste pšenice, ječmen, kukuřice ... taky mák a jednou bylo na Svojšín schované pole takových těch fialových malých kvítků, teď si nevzpomenu, co to je.

Česká kvalita a německá nekvalita

Ne, není to naopak, ale není to tak ani obecně. Vozí se sem šmelc z Německa, Polska, který je "doma" neprodejný nebo pochybný. A totéž my vozíme ven, ale řekněme, že to je jen moje domněnka, která nemusí být pravdivá. Prosím, přesvědčte mě, že si domácí výrobce v každé zemi dovolí doma prodávat šmejd a ven vozí to kvalitnější ... možná v Rusku, ale i tam už o tom trochu pochybuji.

Tady je další zamyšlení někoho "z oboru": http://agroodbytcr.sweb.cz/aktuality.htm

Máslo

  • Choceň, Valmez, Hlinsko i Olomouc mám v oblibě, na rozdíl od šmeliny PL+DE (koukejte na kódy, ne na prodávajícího - např. Halíř má momentálně tuším čtyři dodavatele - jedna německá a tři české mlékárny - kdykoliv se to ale může změnit). 
  • Laktos a Pragolaktos jsou ale třeba německá, podle mě nedobrá másla.

Kuřecí maso

Nevím jak v Praze, v Plzni bývají k dostání Klatovy a Vodňany. Vodňany už ale část masa taky tahají z Německa, takže opět je třeba koukat na kódy. Podle některých nápadů lobby se střídavě říká, že se bude muset uvádět kompletní původ, a střídavě, že se to prostě nedozvíme, s demagogickými argumenty typu "co když se kuře přestěhuje". 
Kupuji už jen ukrutně drahé chlazené maso, protože ... můžete hádat, proč je mražené za cenu sotva poloviční a proč je typicky z Polska.

Tak jak to je s výrobci?

Zkrátka, někteří producenti propustí, někteří naberou. Když hledáte práci, řešíte plat, čili celé se to dá do pohybu. Pokud vím, obecně se má za to, že ČR na tom ekonomicky není špatně, takže by to mohlo dopadnout dobře. O tom, co ČNB udělala, jsem četl mraky pro i proti, a nevím, co převáží. Fakt ale je, že stagnace tu žádné opravdové výrobě nepomáhala.

Úvahy o cenách obilí

http://www.asz.cz/cs/kratke-komentare/zamysleni-nad-cenami-obili.html
- a když se pak podíváte do komentářů, je to ještě trochu zamotanější.

Zajímavý postřeh: poslední dva tři roky se objevuje čím dál víc nových traktorů - a to není levná záležitost. Tak jak to vlastně s těmi zemědělci je? ;)

http://www.asz.cz/cs/aktualne-z-asz/za-poznanim-polskeho-zemedelstvi.html
- tohle je taky zajímavé - jak se šmelí s půdou v Polsku - nákup 2500 PLN, prodej 100000 PLN za hektar. Jen je třeba jí nechat ležet ladem a pak nechat změnit územní plán na stavební pozemek. Zrovna jako u nás ...
"družstvo se snaží prodávat v prosinci, když je nejvyšší cena. Letos se obávají obecně nízké ceny, a to i z důvodu zaplavení trhu produkcí z ČR."
Co se týče cen z pohledu chudšího nakupujícího v hypermarketu, o čemž jsme se tuhle vášnivě bavili na obědě s kolegy: není to jednoznačné, to tvrdím já. 

Kdo to vlastně řídí ... gůglíme!

Největší díl na ceně nemá zemědělec ani zpracovatel, ale hypermarket. Pokud se máslo zdražilo o víc jak 1/3, problém je jinde než v ČNB ... ale koukněme se na vlastníky ...
http://www.tatramleko.cz/o-spolecnosti.php - koukám, že Tatra patří Babišovi ... hehehe, tak to možná vysvětluje leccos :-/
IDnes - rozhovor Teplého z Madety - Jihočeská mlékárna je akciovka ... rejstřík firem ... 35 akcií po 1 milionu ... část vlastní Madeta a ta má základní kapitál půl miliardy Kč ... a vlastní ji Madeta Group a tu vlastní bůhvíkdo (prý banky, rozhodně Komerční banka) ... mají taky dobré vztahy se Zemanovým Janotou, co se člověk nedozví, mumlám si tu ...
Další rozhovor s Teplým - potřebujeme české obchody

Marže obchodníků

http://www.rozhlas.cz/zpravy/domaciekonomika/_zprava/1166346
"Například u tvarohů je to až 200 procent, u jogurtů se bavíme okolo 50-60 procentech. U sálamů od 45 procent nahoru.“
"Dochází tak k paradoxní situaci, kdy mají prvotní producenti stále nižší výnosy, a to i při stoupající ceně potravin. To je také společně s dovozem levného zboží ze zahraničí jednou z hlavních příčin propadu v potravinářské výrobě, ke kterému došlo v loňském roce. "

Mouka

Tak si to spočítejme. Pokud zemědělci prodávají tunu pšenice za 3000 Kč, je to 3 Kč za 1 kg. Čili z bochníku chleba jdou 3 Kč pro zemědělce. Další na řadě je třeba takový Odkolek (tam jsem byl na brigádě 1 den, skončil jsem s 40°C horečkou z únavy - ve třech lidech jsme naložili vagon 50kg pytly s moukou za 10 hodin, masakr, norma na nosnost člověka per 1 den překročena, už chápu, proč byla v prac. smlouvě - představte si vagón!) nebo jiný mlýn, řekněme možná další 3 Kč, spíš méně. Zbytek je možná pekárna a Tesco. U nás stojí kilovka 20-30 Kč.

Dobře, bavili jsme se o másle ...

Máslo

Ceny másla v půlce roku 2013
"Letos v srpnu dostávali chovatelé dojnic za litr mléka v průměru 8,50 koruny, o 18 procent více než ve stejném měsíci loni. "
 - čili ceny mléka s krokem ČNB nemají moc do činění ... jinak chov hovězího dobytka je u nás celkem drahá záležitost díky cenám za veterinu a všechna očkování a kontroly, pokud vím ...
"Na vině je vyšší DPH a podle zemědělců si také obchodníci zvyšují marže."
 - HA!

http://byznys.ihned.cz/c1-50286760-vyroba-masla-v-cesku-klesla-o-ctvrtinu (starší článek, 2011):
"Na český trh tak směřuje stále více másla z ciziny. Za loňský rok se ho k nám dovezlo 19 tisíc tun, což je zhruba stejně jako v roce 2009. Ale rozdíl je u másla v konzumním balení, toho se do Česka dovezlo téměř 12,5 tisíce tun, zatímco v roce 2009 jen 8,5 tisíce tun. Tam je evidentní nárůst. Opačný trend je patrný i u exportu másla z Česka. Klesli jsme ze čtrnácti tisíc na osm tisíc tun. V několika uplynulých letech se tak poměr mezi dovozem a vývozem másla obrátil.
Zatímco v roce 2007 šlo z Česka do ciziny 21,3 tisíce tun másla, v roce 2009 to bylo už jen 14 tisíc tun. A jestliže se v roce 2007 dovezlo 13,3 tisíce tun másla, v roce 2009 jsme importovali více než 20 tisíc tun másla."
- tohle evidentně pokračuje, několikrát se mi stalo, že české máslo bylo v hypermarketech zašité někde dozadu do regálu, pokud vůbec, zatímco německého je habakuk. Tohle nebude náhoda.

ČNB, EU, KSČ, ... a jiné organizace v pozadí

Suma sumárum, to je důvod, proč si myslím, že hádat se o tom kroku ČNB je naprosto okrajová záležitost, byť zajímavá. Problém je úplně jinde. 
Pár lidí si skupuje kompletní průmysl i zemědělství v celé EU i jinde ve světě. To je problém - ceny neurčuje stát, ale diktují si je vlastníci: Tesco, Agrofert, Ahold, Madeta Group, ČSOB, KB, Anwil, NWR, PPF, ... a jejich vlastníci a vlastníci vlastníků a vlastníci jejich "bílých koní" ...

Kdysi o všem rozhodovala KSČ, neprůhledně, despoticky, a do pozic lidí "na ráně pro civily" posadila hlupáky, průbojné arogantní zmetky, přes které se nikdo nedostal. Dneska to ale funguje úplně stejně, jen neexistuje žádná "superorganizace", není zapotřebí (pravda, o Bilderberg Group se dlouho mluvilo jako o konspirační teorii, než se objevily důkazy a dokonce historie, kdo se kdy účastnil).

Státní dluh? 

Asi takhle - je to hodnota relativní nebo absolutní? Co jsou peníze? Dlouhodobě se mi nezdál princip fungování státního dluhu, než mne kdosi před týdnem "trknul": ty peníze neexistují. Během posledních 15 let proběhla úplně jiná transformace - úplně se odtrhl svět financí od světa výroby, přidaných hodnot, obchodu za zboží i služby. Tím pádem žádný státní dluh prakticky neexistuje, nemá vliv. Může mít, když se do něj bude moc zasahovat, ale současný růst státního dluhu je jen taková početní kompenzace principu, kde dřív fungovala inflace - průkopníkem v tomhle jsou USA a zamyslete se sami, jestli vám přijde, že by USA měly se svým extrémním dluhem nějaký problém, že by se celá ekonomika hroutila - a to je dobrých 20 let.

Jestli jste si všimli, inflace téměř neexistuje, je jen diskutabilně podložená: vraťte se opět k tomu prvnímu článku - během dvou let došlo u obilí k obratům -50% + 200%. A ceny pro spotřebitele? +- 30%. Háček je v těch maržích - jsou tak velké, že vzájemně pokryjí jakoukoliv cenu vstupů s rezervou a firmy jako Tesco budou mít vždycky spolehlivě zajištěný zisk, lidi si zvykají na ceny a celý systém cen je celkem stabilní a robustní.

Životní náklady

Co je problém, je skladba životních nákladů lidí, kolik utratíme za nájem a energie a jídlo a základní ošacení, a co zbude. Díky téhle železné kouli se nemůžeme poměřovat s Německem, protože to nás jednoduše kupní sílou převálcuje. A tady je opět háček - nejsme o nic méně pracovití, nejsme horší ani vzděláním, ani schopnostmi. Jen máme jinak nastavený systém.
Babišův nápad zvednout minimální mzdu na 15000, jakkoliv plácnutý od boku, není úplný blábol. Německu dochází dech a my začínáme mít naopak kapacitu tenhle poměr sil napřed rozhodit a pak vyrovnat. To je otázka nějakých 10 let a využití jakékoliv nestability teď, by dopadlo katastrofálně - pokud bychom my s Poláky, Slováky, ... podrazili německému průmyslu nohy, doplatíme na to taky. Jsou to spojené nádoby, Němci nás potřebují jako odbytiště, jinak poznají, že mají problém, nemají práci a ta ekonomika už to neutáhne. Představte si, že by začaly mít problémy německé automobilky, pro které český průmysl vyrábí ... a rozjede se kaskáda, která poškodí i nás.
A to je důvod, proč se situace mění pozvolna a plíživě - ale kam? Budeme svorně otroky majitelů všeho (možná i nás samotných), Češi i Němci?

Ideologie

Sorry, tohle není o ideologii, žádný komunismus a kapitalismus do toho nepleťte - to jsou ideologie staré a obě sice něčím reálným podložené, ale dnes je třeba popsat současný stav a začít přemýšlet, kam se tohle bude vyvíjet dál ...
Pořád je to o moci, i o tom, že někdo "si žije", ale taky o moci tenhle falešný povrchní bordel udržet v chodu. Jinak řečeno o tom, že lidská společnost nijak jinak fungovat neumí - každý pokus o demokratizaci končí fiaskem - a komunismus, idea vlády dělníků, coby těch, kteří si přece zaslouží spravedlnost a mají velice dobrý smysl pro poctivost, byl jedno z největších fiasek v historii lidstva; pozor, dělníci mají smysl pro spravedlnost i poctivost. Ale dělník neumí organizovat  lidi, neumí uvažovat strategicky, vymýšlet scénáře, varianty, prognózy ... dělník je naivní, byť pořád nemusí kvůli tomu být blbec. Naštvaný dělník je ale všem nebezpečný, na což není k zahození občas myslet.

Tož to jsem strávil asi 3 hodiny rozjímáním o nesmrtelnosti chrousta. Irituje mě, když někdo bagatelizuje všechny ty souvislosti až závislosti, vybere si, co se mu hodí, ale přehlíží to nejzásadnější - že někdo to opravdu ovlivňovat může víc, než vláda.
V tuhle chvíli mě napadá jedna věc - pokud se ukáže, že Babiš prokazatelně zneužívá moc ministra financí, jak ho my, občané, dokážeme sesadit co nejrychleji? Kolik toho do té doby stihne? Nečasova vláda s odchodem taky zrovna dvakrát nespěchala ...

čtvrtek 30. ledna 2014

O státní správě a nepřátelském XML

Co je XML?

Budu to psát snad pochopitelně pro laiky, čili programátoři, nekamenujte mě za nepřesnosti, kterých se dopustím.

XML je soubor, který typicky používají stroje, nikoliv lidé. Nicméně je tak na půl cesty - původní myšlenka byla, že jej bude možné nějakým počítačovým zpracováním obarvit, lehce přeskládat, tak, aby se jeho obsah hezky a přehledně zobrazil i člověku. Leč ukázalo se, že je to nevýhodné výkonově, pracné pro programátory (a tudíž drahé a nespolehlivé), a tak se XML dnes používá prakticky jen pro komunikaci mezi programy, tj. mimo lidí.
To neznamená, že jde o něco zastaralého, má své výhody (i nevýhody), nicméně rozhodně tyto soubory nejsou vhodné k tomu, aby je upravoval člověk ručně.

Nevhodný formát státní správy

Česká správa sociálního zabezpečení prý (zdroj: můj tímto vyděšený kamarád) touhle dobou lidem rozesílá formuláře jako soubory XML, a ti panicky řeší, jak je proboha mají vyplnit. No bodejť! Vždyť když soubor v čemkoliv otevřou, zobrazí se jim písmenka, sice nějak podivně ohraničená, ale pořád se v tom dá něco najít!
Ale počkat!
"V prohlížeči to nejde editovat! Tak čím to mám otevřít?!"
Člověk si nakonec poradí. Otázka je, jak? Možná takový člověk otevře třeba PSPad, notepad nebo MS Word, a soubor prostě zedituje. A pak ho upravený pošle jako DOC sociálce. Nechtěl bych být tím, kdo to pak bude otevírat :D

Není tak zle

Jen člověk musí hledat - například najít si ten formulář jinde, nebo použít nějakého průvodce ....

Finančák

Ach jo, Ministerstvo financí si navíc neumí ani zařídit správné serverové certifikáty, před kterými laika nebude browser varovat, že se může jednat o podfuk. Takže, milí uživatelé, není to podfuk. Jen web MFČR spravuje mamlas.
https://adisepo.mfcr.cz/adistc/adis/idpr_epo/epo2/uvod/vstup_expert.faces

Sociálka

Potřebujete program Form Filler od Software602, ten stáhnete tady zdarma: 
A potom potřebujete ještě ty formuláře, které případně rozbalíte ze souboru zip, staženého odsud:
- mimochodem, je tam i návod, jak na to ;-)

A důkaz, že to funguje dokonce i v Linuxu (při instalaci do Kubuntu 13.10 sice hlásí chybějící ia32-libs, ale funguje i bez nich), Software602 mě mile překvapil!



čtvrtek 23. ledna 2014

Pattern: Práce se zdroji, které nakonec musíte uzavřít

Předpoklady

  • createEntityManager vytvoří entity manager nebo vyhodí výjimku, nikdy nevrátí null

Naivní verze

  EntityManager entityManager = null;
  try {
    entityManager = factory.createEntityManager();
    ...
  } finally {
    if (entityManager != null) {
      entityManager.close();
    }
  }
  • dvojí přiřazení 
  • možnost opakovaného přiřazení omylem
  • nepřehledný kód komplikuje čtení i úpravy
  • nejednoznačnost stavu proměnných
  • řádky a podmínky navíc

Dokonalá verze

  final EntityManager entityManager = factory.createEntityManager();
  try {
    ...
  } finally {
    entityManager.close();
  }
  • jediné přiřazení hodnoty
  • ve finally nikdy nebude entityManager null
  • nelze do proměnné přiřadit ani jinou hodnotu (ani omylem!)
  • pokud při create nastane chyba, k přiřazení nikdy nedojde a nedojde ani k uzavírání

Analýza

Není nic jednoduššího, než se poslouchat, klidně přemýšlejte nahlas:
  • "Potřebuji entity manager - je to zdroj, tudíž když ho už nepotřebuji, musím ho nakonec zavřít" (u dependency injection to platí taky, byť to udělá kontejner!)
  • "Pokud nastane chyba, nemůžu dělat nic, takže chybu propaguji ven".
Totéž samozřejmě platí pro soubory, JDBC konexe, JMS, atd ...

Co když ...

Co když potřebujete otevřít zdrojů víc najednou?

Nebuďte líní a udělejte si spec. třídu, wrapper, který buď otevře oba zdroje najednou, nebo při chybě již otevřený zavře. Bude se tudíž chovat zvnějšku atomicky, nikdy nebude ve stavu, kdy by mu jeden zdroj zůstával otevřený.
Přidáte mu také metodu close, která zavře oba zdroje opět atomicky. Nezapomeňte ale také na to, že při zavírání může také nastat výjimka - obvykle bych to řešil dokončením zavírání všech zdrojů a vyhozením runtime výjimky se seznamem chyb, který by měl ale vypovídat o tom, co se stalo. Druhá možnost je vyhodit runtime výjimku při první chybě - to si můžete dovolit, pokud víte, že výjimka při close je fatální a výjimečný problém, kdy má smysl nikoliv po sobě uklízet, ale všeho nechat a "splašit" někoho vně. Asi jako když utrhnete vodovodní baterii, nebudete pokračovat v mytí nádobí ...

Jak je to s kontejnerem a databázovými spojeními?

Jestliže používáte DI (např. anotace @PersistenceUnit nebo @Resource), měli byste dobře vědět, jak přesně se pak aplikace bude chovat.
Pokud používáte JTA, kontejner si pro entity manager vytvoří wrapper. Dokud nejste v transakci (což se řídí mj. anotacemi @TransactionAttribute, tím zda provádíte změny v databázi, konkrétní implementací kontejneru či JPA, a jejich nastavení), kontejner se může snažit zavírat JDBC spojení ihned, jakmile dokončí dotaz, nebo si jí naopak podrží během celého volání metody, a to aniž by se změnil persistence context.
Jakým způsobem přesně tudíž kontejner zdroje využívá, záleží opět na vás a vy si musíte rozmyslet, jaká varianta je pro vás optimální.

Další dotazy k věci? Sem s nimi!

pondělí 13. ledna 2014

Zbytečná panika (hoax): DŮLEŽITÉ VAROVÁNÍ OPRAVDU SI TO PŘEČTI NEBO MÁŠ PO PC A TVÍ ZNÁMÍ TAKY

Ahoj a dobrý den,

původně jsem toto psal jako e-mail, ale nakonec jsem si řekl, že bude lepší to napsat sem.

Jak to začalo ...

Dostal jsem e-mail s hysterickým nadpisem "Fwd Fwd .... Fwd DŮLEŽITÉ VAROVÁNÍ OPRAVDU SI TO PŘEČTI NEBO MÁŠ PO PC A TVÍ ZNÁMÍ TAKY" a přílohou doc-1-1.doc.
Ne poprvé a zjevně naposledy. Mí přátelé a rodina to myslí dobře a tak šíří paniku dál, jak je ve slušné společnosti zvykem :-)

Ano, je to nesmysl; snad z následujícího bude jasné, jak se věci mají ...

Nebezpečné přílohy

Příloha doc je obvykle Dokument aplikace MS Word, ale ... nemusí to být pravidlo, soubor můžete pojmenovat, jak Vás napadne, nicméně potom na něj taky aplikace, ve které mail čtete, bude jinak reagovat.
Spustitelný soubor (aplikaci) Vám obvykle nedovolí spustit (nejčastěji exe).

Bohužel ale i doc může obsahovat tzv. "makra", která můžou způsobit škodu.
Ale to už Vám napíše Word, jestli tam jsou nebo ne - makra většinou nepotřebujete, takže pokud Word varuje, že tam jsou, smrdí to (můžou ale být třeba v nějakém XLS formuláři, není to jednoznačně špatně).

Videa z Youtube a Vimeo jsou téměř jistě bezpečná. V příloze mailu video obvykle nemá co pohledávat a opravdu byste ho neměli spouštět (disk Vám ale nezničí - spíš Vám do počítače nenápadně nainstaluje něco, co nechcete; týká se to hlavně Windows) ...

Přílohy mailů jsou opravdu problém, cokoliv se Vám nezdá, neotvírejte - dejte pro jednou na instinkt :-)

Antivir

Jakoukoliv ochranu lze nějak obejít, nicméně antiviru stačí, když v příloze mailu zjistí pár set bajtů, které odpovídají něčemu v databázi virů, zjednodušeně řečeno. To je pro autory antivirů docela oříšek - analogicky jako když má policajt poznat zloděje - všímá si indícií.
Antiviry se průběžně aktualizují (cca 1x týdně), čili většinou nebývají moc pozadu za "lumpy" - přesto nikdy nejsou stoprocentní (ani policie není).

Přidávání kontaktů je bezpečné

Je nemožné, aby Vám přidání kontaktu do adresáře zavirovalo počítač, pokud ho přidáváte pořád způsobem, jakým jste zvyklí.
Pokud Vám někdo přímo do mailové zprávy podstrčí odkaz nebo tlačítko s nápisem "Přidat do kontaktů", je to ale už podfuk, neklikejte na to. Cokoliv je v mailu, míří téměř jistě někam ven. Měli byste vědět kam. Nicméně i když na to kliknete, nic špatného se ještě nestane - bude ale záležet na dalším kroku - pokud se nabídne neznámý soubor ke stažení z neznámého webu, odmítněte to.

Poškodit disk? Nemožné!

Zformátovat nebo poškodit disk z mailu NENÍ MOŽNÉ. Nevím o systému počínaje Windows XP, přes Linux, Solaris, AIX, OS X ... , který by něco takového dovolil. Museli byste se hodně snažit a hodně do systému hrabat, aby se něco takového podařilo - museli byste sami dobrovolně vypnout snad všechny ochrany, které systém i bez antiviru má.

Toto je úplná kravina, bez prominutí:
"Tento virus jednoduše zničí Nulový sektor harddisku, ve kterém jsou zachovány vitální informace jeho funkcí."

- na ten se Vám totiž nedostane ani operační systém s výjimkou chvíle, kdy systém instalujete nebo restartujete (ihned po přečtení OS přístup zakáže).

Varovný mail je sám špatný

Nejhorší na tom všem je nakonec sám varovný mail:
  • všichni teď známe emailové adresy všech a kdokoliv je může použít na rozesílání spamu
  • stejný seznam adres může mít kdokoliv, kdo se k tomuto mailu dostal po cestě.
  • stejný seznam adres může použít jakýkoliv vir z Vašeho počítače, o kterém ještě nevíte

Proč maily fungují takhle?

To si najděte na internetu, musel bych kreslit obrázek a nechce se mi. Zjednodušeně řečeno - než mail doputuje od odesílatelovy schránky k adresátově, používá se protokol SMTP.
Je stařičký a zabezpečení nijak neřeší. To částečně řeší až TLS/SSL (šifrování), ale nic z toho se nezabývá ověřováním adresáta ani odesílatele. Kdykoliv můžu poslat mail jako kdokoliv jiný - a to je kámen úrazu.
Na druhou stranu je to protokol jednoduchý a lehko použitelný - to je důvod, proč máte e-mail zadarmo, je pro provozovatele levný.
Funguje to snadno, jednoduše, rychle, spolehlivě. Kdo znáte Datové schránky, srovnejte si to - a to nevíte, co všechno se musí řešit zevnitř tohohle projektu, jen aby byl ... rychlý, spolehlivý, bezpečný.
Tak proto.

Smažme čerta ze zdi ... nebo ne?

Jje spousta cest, jak se dostat k informacím, mail je jeden z těch komplikovanějších a nestojí za tu práci. Snazší jsou odkazy z facebooku nebo odkudkoliv z internetu, reklamy, atd.
Víte, co "lajkujete"?
Jaký formulář vyplňujete?
Kde se registrujete?
Čtete obchodní podmínky? Častá větička: "souhlasím s poskytnutím údajů třetím osobám pro reklamní účely" - právě jste se upsali ďáblu, legálně! Naštěstí to můžete odvolat, leč nefunguje to dobře - obchodník mezitím Váš kontakt střelil dál, takže zatímco on Vám spam posílat přestane, další tisícovka v tom bude pokračovat.

Pár pravidel

Pravidlo 1: Na tlačítka z mailů se nekliká. Může totiž udělat cokoliv a jediný, kdo ho může zastavit, je operační systém (+ antivir).

Pravidlo 2: Na odkazy klikat můžete, ale zvažte, jestli víte, o co jde. Instinkt je dobrý rádce, když je to mail od neznámého a nevíte o tom, že byste si od něj jakkoliv říkali, "smrdí".

Pravidlo 3: Bezpečný odkaz obvykle má na začátku něco, co znáte. Třeba http://seznam.cz nebo http://www.youtube.com/watch?v=SUmCRrKYwBQ nebo název nějakého internetového obchodu.

Pravidlo 4: Když posíláte mail, neposílejte ho spoustě lidí najednou (pokud je nechcete všechny seznámit ;-) )

Pravidlo 5: V seznamu adresátů můžete (nemusíte) použít "skrytou kopii, bcc" - jeden pak neuvidí, komu všemu jste to ještě poslali. Pozor, potom ale ten nemůže ani všem odpovědět.

Úplně nejzákladnější pravidlo: Nikdo nedozví jen to, co nikam nenapíšete - ani doma na papírek; všechno se dříve nebo později může někde objevit. Není to nic nového, platí to snad celou dobu existence lidstva :-)

"Udržujte paniku a kurz!"

P.S.: Když dostanete mailem zprávu o "viru", nebo nějakou jinou poplašnou zprávu, podívejte se obratem sem:
http://hoax.cz , např. konkrétně sem: http://hoax.cz/hoax/icq---nepridavejte-uzivatele-/
- je to web, kde se zaznamenávají hromadně šířené poplašné zprávy, lidé je mají "rádi", a velmi často jim naletí. Nejste sami a nemusíte si připadat hloupě, TV Nova z nich dokonce leckdy sestaví zprávy!

P.P.S.: Můj mail můžete přeposlat klidně dál ;-)

P.P.P.S: Je snadné udělat i takovýhle podfuk - není to vir, je to prostě jen lidský podfuk, lumpárnička: http://seznam.cz - háček je jen v tom, že odkazy se zapisují "nadvakrát" - jednou zadáte, co chcete, aby se zobrazilo, a jednou, kam to vede. Původní úmysl lidí, kteří to vymysleli, bylo umožnit čitelnější zobrazení odkazu: Vyhledávač
Je možné, že některé programy na zobrazování e-mailů Vás budou v prvním případě varovat, že skutečný odkaz je jiný než zobrazený.

Zkrátka, není to sranda, ale co si budeme povídat - když někomu cizímu podáte ruku, taky většinou nevíte, jestli se z něj vyklube kamarád nebo hajzl.

David.