Jak funguje můj mozek?
0Postupem času si uvědomuju, že mám zažitých několik vzorců chování, které mnoha lidem můžou připadat divné. Nedávno se mě jeden kolega ptal, proč pořád píšu dlouhatánské mejly a nepoužívám telefon? Tato otázka byla impulzem k napsání tohoto blogpostu, ve kterém nejenom tyto důvodu shrnu. Třeba to někoho inspiruje
.
Pořád spím
Už při studiu jsem si zvykl na jednu praktickou věc: jakmile se cítím jen trochu unavený, jdu okamžitě spát. A rozhodně to není promarněný čas. Zastávám názor, že tělo (potažmo mozek) samo ví, co potřebuje a řekne si o to. A protože nechci fungovat na dluh, tak mu vyhovím (jak je známo, tento dluh se projeví v tu nejméně vhodnou dobu). Zkouškové období bylo u mě rozpoznatelné podle toho, že jsem byl jako medvěd, který právě zahájil zimní spánek. V praxi to vypadalo tak, že jsem chvíli koukal do skript a dlouho spal. A znovu a znovu… Během spánku si mozek informace utřídil a především nepotřebné vyházel, takže zůstalo jen to podstatné, o čem mělo cenu povídat či psát a snažit se nacpat do hlavy ten zbytek jsem věděl, že je naprosto zbytečné (přehlcenost informacema, pletení témat dohromady atd.).
I dneska mi to pomáhá – když řeším podstatný problém, nebo se o něčem nedokážu rozhodnout, jdu spát. Ne nadarmo se říká – ráno moudřejší večera – opravdu tomu tak je. Člověk se vzbudí a většinou má jasno v tom, nad čím si zbytečně dlouho lámal hlavu. Dokonce jsem zjistil, že je to poměrně oblíbená metoda nazvaná Hammock driven development. To sedí – vývoj je poměrně náročná duševní činnost a tím, že se člověk bude prolívat litrama kafe a nutit se něco dokončit na úkor odpočinku, věci rozhodně nepomůže, spíše naopak. To, co vyplodí, budou eklhafty bez hlavy a paty a navíc únava bude mít negativní vliv na produktivitu a bude kalit mysl.
Nepamatuju si
Opravdu, vůbec nic. A proč taky, když okolo mě je tolik úložného prostoru? Jsem zastáncem tvrzení, že mozek mám proto, aby přemýšlel, ne aby si pamatoval. Pro zapamatovávání věcí využívám především krátkodobou paměť, nesnažím se věci si násilím cpát do hlavy, pouze je udržet na dobu nezbytně nutnou. To nechávám na mozku – on sám pozná, co je důležité a to uloží dlouhodobě. Ať z jednorázového použití věci, nebo opakované činnosti, kdy se ona věc dostane do paměti motorické. Pokud už se snažím o zapamatování si něčeho, potom je to způsob, JAK se k požadované informaci dostat, ne ta informace samotná. A v tomto případě spojením „zapamatovat si“ myslím i uložení odkazu mezi záložky v počítači, tvorbu prototypů (když něco vyvíjím, jednotlivé části píšu jako subprojekty), či zápisků v blogu (věci, o kterých vím, že okamžitě zapomenu, ale někdy bych je ještě mohl potřebovat).

Prázdná hlava
Netelefonuju
A nejraději bych ani telefony nepřijímal. Důvod je prostý: náplní mé práce je tvůrčí činnost, takže když mi někdo zavolá, existuje velká pravděpodobnost, že mě vyruší uprostřed hloubání nad něčím a já už potom ztěží navážu. Ze stejného důvodu nerad volám i já – nechci rušit. Nehledě na to, že ve velké části případů mě ihned po položení hovoru napadnou další věci, na které jsem zapomněl. Proto raději vše postupně píšu do mejlu a i když na něco zapomenu, můžu to poslat a druhá strana může jednoduše navázat v daném kontextu. Taky má více času na promyšlení daných věcí. V neposlední řadě konverzace zůstane zaznamenaná černá na bílém, takže si ji nemusím pamatovat a kdykoliv se k ní můžu vrátit.

Netelefonuju
To jsou moje tři zásadní přístupy, které mám zažité do morku kostí a těžko je někdy změním: spát, nepamatovat si a nenechat se vyrušovat. Nechci se ptát, jestli jsou správné či nikoliv, já o jejich správnosti přesvědčen jsem, protože (v kombinaci s vhodnými nástroji) věřím tomu, že mi pomáhají pracovat (a především používat mozek) mnohem efektivněji.
Na co jsem přišel v Japonsku
2Příšerná únava, nekonečné klanění, zmatky, pocit marnosti, hlad a přesto pocit plnosti, davy a davy mravenců proudících po nalajnovaných cestičkách. Toliko se mi teď vybaví, pokud někdo řekne Japonsko. A možná i něco navíc, ale pěkně popořadě.
Před odjezdem jsem načetl všehovšudy párstránkový dokument o tom, že smrkat na veřejnosti se nemá, vizitky se mají podávat natištěnou stranou nahoru, textem k partnerovi a oběma rukama, do práce se chodí ve společenském obleku, hůlky se nezapichují do jídla a podobně. Potřeboval jsem však jiné informace, ale na ty jsem musel přijít sám, tak se je tu pokusím sepsat, třeba někomu v budoucnu pomohou.
Japonci jsou těžce autistickej národ – mají nalajnované naprosto všechno, frontami na vlak počínaje a daily schedulem konče. Pokud to někdo naruší, rozhodí tím jejich režim a oni se s tím nedokáží vyrovnat. My jsme jim ho bourali pořád – stavěním se mimo fronty, pozdními příchody, snahou o dřívější odchody, nebo naopak prací přesčas, jídlem mimo vyhrazené přestávky (poznají se podle toho, že začne hrát hudba).
Způsob prezentování je taky nemálo zajímavej – danou prezentaci prostě mají ve schedule na daný den a vůbec nezáleží na tom, že už dané věci všichni přítomní znají nazpaměť, prostě tam být musí, protže je napsaná (i přesto, že se mají řešit mnohem podstatnější věci). Prezentace byla napsaná ve dvou jazykových verzích – anglicky a japonsky. Technik ji četl japonsky a „překladatel“ překládal do angličtiny. Protože se jednalo o poangličtěné výrazy, (ne-)bylo zábavné to sledovat: technik promítl slajd, ukázal na tlačítko s nápisem START-STOP a řekl: „start stop“, překladatel se na chvíli zamyslel a řekl: „start stop button“. Ve spojení s Engrish docházelo občas k úsměvným situacím, ale ve vydýchané místnosti měla většina přítomných problémy zůstat vzhůru i přes množství vypité kávy.
Japonci nejsou individuality, oni jsou tým. Těžko říct, zda za to může jejich množství, kde by jedinec prostě zanikl, nebo vliv Buddhismusu, který společně s dalšími náboženstvími vyznávají (ideálně všechny naráz – co se zrovna hodí). Každý v týmu má svoji roličku a tým má truck factor roven jedné, protože když daný člověk není přítomen, prostě se to neví-nerozhodne (nebo se to ví, ale rozhodnout nemůže, protože musí zasednout „rada starších“ a probrat to – to se děje většinou v noci, proto dochází k situacím popsaným níže).
Neřeknou ne, umí pouze úsměv a kývat hlavou: „yes, yes“. -“je to bílé?“ – „yes“ -“nebo je to černé?“ -“yes“. -“nebo jaké to je?“ -“yes“. Ne nadarmo se říká, že je vhodné si s sebou vzít českého tlumočníka do japonštiny. My to štěstí neměli, ale jeden z jejich tlumočníků pobýval delší dobu na západě, takže byl znalý a nedokážu si představit, jak bychom to udělali bez něj. A to opravdu ne z důvodu, že nikdo neumí anglicky. Jednání probíhala intenzivním způsobem, ale z 90 % naprosto zbytečně a neefektivně – pokud už bylo něco probráno, ale stále existovalo zapsané ve schedule na další hodinu, stejně se tomu věnovala následující hodina. A naopak – pokud něco potřebovalo probrat detaily a už to nebylo napsané ve schedule, tak přes to nejede vlak a prostě se už probírat nebude.
Neumí anglicky. Opravdu. Aspoň mimo velkoměsta ne. Dokonce ani v relativně velkém (na naše poměry) hotelu na recepci – ani jeden ze tří recepčních nebyl schopen pochopit, že chci proměnit dolary na yeny. Pořád jenom ten úsměv a „yes, yes“. Naopak – zmateni v centru nočního Tokia jsme byli odchytnuti okolojdoucí Japonkou, dovedeni k automatům na lístky, bylo nám anglicky vysvětleno ovládání a pak se prostě rozloučila a odešla. Žádný scam ani nabídka erotických služeb se nekonal.
Nerozlišují mezi prací a soukromým životem. V praxi to vypadá tak, že se po celodenním intenzivním jednání všichni vykulí z místnosti (po shrnutí dokončených věcí = čtením a odsouhlasováním bodů ve schedule) unavení k smrti, že nejsou už schopní ani mluvit (v životě bych si nebyl schopen představit, že mi moje vlastní kravata bude tak nehorázně blikat) s tím, že se dospělo k jakémusi závěru, na kterém se všechny strany shodly. Udeří ráno, přečte se schedule a oni katapultují jednání předešlého dne úplně na nulu tím, že se jim líbil náš předešlý návrh (ten, který se zavrhl hned na začátku předchozího dne, protože jim z nějakého důvodu nevyhovoval). A jde se jednat nanovo s naprosto stejným výsledkem a další den ráno je to zase jinak. Pravda je, že se pomalu těmito skoky dostávali tam, kde jsme je chtěli mít úplně na začátku, takže je tajně podezřívám, že si to schválili ještě před začátkem všech jednání a z nás jenom tahali rozumy a bavili se u toho.
Nosí roušky, hodně z nich, jako král. Vysvětlení jsem pochopil tak, že pokud jsou nachlazení, zaměstnavatel vyžaduje, aby tyto roušky nosili v zaměstnání. A zřejmě si je nechávají i na cestu domů – pro mě naprosto neuvěřitelná ohleduplnost, žil jsem v přesvědčení, že je to přesně naopak a roušky nosí ti, kteří se bojí nachlazení. Velký bod a veliký bodlák pro nás, že to takhle neděláme.
Nesmrkají, aspoň ne veřejně. A sedět s nima u jídla je opravdu „potěšení“ – jednak srkají, ale to by se dalo snést a člověk sám začne srkat, aby dal najevo, že mu chutná. Horší je, když má dotyčný rýmu – to si potom dopřává dvojnásobnou porci nudlí. A ty zvuky u toho :-/.
Výměna vizitek je obřad (a klanění, stejně jako nesnáší podávání ruky – a když už, je to jako leklá ryba). Jen už nemilují, když si vyžádáte vizitku od někoho jiného, s nímž se nepočítalo (k jednání byl přizvaný externista, který bude dělat na části projektu a ten nám nebyl představen, tak jsme se potom představili bokem a předali si vizitky, nebylo to zřejmě vhodné).
Milují předávání dárků (a dokáží znemožnit předávání dárků nevhodným osobám – viz výše zmíněný externista – když tušili předání dárku i jemu při jeho odchodu, udělali jakoby mimochodem jakousi zeď a znemožnili k němu přístup). V materiálech o etiketě Japonska sice stálo, že není vhodné dárky vybalovat a prohlížet, že se to dělá až v soukromí, ale všichni obdarovaní se na dárečky lačně vrhli a rozbalovali, prohlíželi, zkoušeli…a u toho měli až dětinskou roztomilou radost.
Milují teplo, milují klimatizace. Nemají rádi průvan, otevřená okna nevedou, vydýchaný vzduch v místnostech nikomu nevadí, přestože i jim občas díky němu sklouzne hlava ke straně. Teplem mám na mysli přetopené pokoje na hotelu, přetopené taxíky, přestože přes okýnko pálí slunce, teplo všude.
Neradi chodí pěšky. Naši každovečerní vycházku do hospody o pár bloků dál vůbec nechápali. Ti, co byli s námi ubytovaní v hotelu, neměli zájem jít na jídlo někam mimo tento hotel (za tohle možná může představa, že kolem široko daleko nic není – „vesnice“ velikosti Brna je pro ně prostě příliš malá, aby se zahazovali někam setmělými zákoutími chodit). Na dotaz, jestli chodí ven, případně jestli byli někdy v horách viditelných v dáli, dávali odpovědi ve smyslu, že tam občas bývá sníh a že je to tam nebezpečné. Jinými slovy – nikdy tam nebyli. Snad mají aspoň miniaturní zenové zahrádky doma
.
I když nechodí pěšky, zároveň moc nejezdí auty. Když srovnám ranní situaci třeba cestou do Brna, tak každý jede s Hitlerem a těch aut je tam fůra. Japonci asi tuto situaci znají, tak jezdí MHD, nebo taxíky – a to tak, že prostor uvnitř daného dopravního prostředku využijí na maximum. Pokud se má do minitaxíku vejít 5 lidí, tak jich tam 5 nacpou. Limity ve vlacích metra nejsou, tak přichází na řadu pěchování – když jsem viděl videa, nevěřil jsem, dokud jsem toho sám nebyl svědkem. A dobré to bylo, pořád se od nich máme v tomto ohledu co učit.
Přestože dodržují schedule, mají na vše čas a milují tetris, aspoň taxikáři. Způsob rovnání zavazadel do kufru je neuvěřitelný. Narovná jedním způsobem, nevleze se. Zkusí druhý způsob, taky ne. Vrací se k prvnímu, k druhému, dělá drobné úpravy…a ne a ne přestat, dokud se nezadaří (i s ústupky formou víka kufru na gumicuku).
Pijí kafe, ne čaj. Jel jsem do japonska s tím, že bude všude čaj a všichni budou čaj pít a rozdávat, nebylo tomu tak. Na hotelích sice byly automaty s teplým čajem či indukční plotýnky s hrnečkem a výborným sáčkovým, jinak tomu bylo při práci. Holt termosky s teplou vodou a nekonečně dolívaná onlyovka se zeleným čajem se spíše asi nosí v číně. A tady se pije kafe – já, jakožto notorický čajař, který svůj oblíbený nápoj stále vyžadoval, jsem byl víceméně za podivína. Co se dodržování pitného režimu týče – na ulicích byly každých pár metrů automaty pro výdej chlazených i ohřátých lahví s nápoji – velmi levných a velmi dobrých (byly tam i pet lahve s čajem – genmaicha, jasmínový i obyč – neslazené, chuťově dobré. Mnoho bodůch!)
Toliko věci, na které jsem momentálně schopen si vzpomenout. Po týdnu tam stráveném se nedivím jejich sebevraždám kvůli práci, to tempo je prostě šílené (ovšem už ne tak efektivita). No a protože jsem, mimo jednání, viděl Japonsko především pouze z taxíku mezi hotelem a místem jednání, tak toho o jiných věcech moc říct nemůžu, snad jenom odkázat na trasu procházky z volného dne před odletem (který jsem chtěl původně věnovat návštěvě Ghibli muzea). Každopádně zkušenost zajímavá a rád bych se tam vrátil, tentokrát spíše jako turista.
Deleting workflows in Alfresco
7I tried to find out how to delete completed workflows in Alfresco, but I find no way to do that. I’m talking about HUGE number of completed workflows – a thousands. There are many questions on that topic, but no solution. I tried to play with Workflow console, also tried Alfresco Workflow Purge webscript by Rothbury software and also tried to write own deleters based on Workflow service (more on this next time), but no success at all. In better cases process dies with „out of memory“, or completely locks Alfresco in worst cases. So I choose hardcore solution – to delete database tables. And it works
.
I’m talking about 10 tables, which are bind with foreign keys. So to remove ALL workflows follow those steps (note I’m not responsible for data loses, you’re on your own, so backup carefully!):
- Stop Alfresco and stop mysql
- Do backups – at least alf_data and /var/lib/mysql
- Start mysql and open mysql client
- Turn off foreign key checking: SET FOREIGN_KEY_CHECKS=0;
- Truncate following tables:
- JBPM_TOKEN
- JBPM_TOKENVARIABLEMAP
- JBPM_TASKINSTANCE
- JBPM_SWIMLANEINSTANCE
- JBPM_PROCESSINSTANCE
- JBPM_MODULEINSTANCE
- JBPM_LOG
- JBPM_BYTEBLOCK
- JBPM_BYTEARRAY
- JBPM_VARIABLEINSTANCE
- Maybe it’s good idea to set index.recovery.mode to FULL
- Start Alfresco and hope everything is well
- Turn off reindexing set in step 6
Simple yet effective. Please, let me know, if it works on your Alfresco too. I tested it od Community versions 3.4.e, 3.4.d and 4.1.0 (built from svn).
Nedokončování je únavné
0Každý si toho všiml – pokud se během dne nepovede dokončit rozdělaná práce, člověk se ráno budí rozlámaný a unavený, ihned s myšlenkou, co všechno musí ještě mimo naplánované úkoly na nový den udělat navíc – aby vůbec dokončil den předchozí. Nebo to smést ze stolu a zabít tak práci předchozího dne? To těžko.
Dalším nedokončováním je, když si člověk těsně před spaním, nebo vůbec během dne dává dohromady věci, které by měl udělat v den následující (samozřejmě, plánování není špatné, ale tohle není plánování). Při usínání se mu úlohy popletou a vzbudí se zmatený – některé úlohy splývají a především někde uvnitř hlodá pocit, jestli to, na co si vzpomíná, je opravdu všechno a na něco podstatného nezapomněl. A hned den začíná o něco hůř, což se na jeho celém průběhu určitě podepíše. Oba tyto způsoby se dají řešit – jednoduše, jen člověk musí chtít a vypěstovat si návyk.
Základním návykem řešícím první nedokončovací problém je dělení práce na menší celky. Žádný úkol není tak malý, aby se nedal rozbít na ještě menší. Je tedy vhodné se před začátkem práce nad daným úkolem zamyslet, jak ho rozbít na menší celky a učinit tak. Každý tento celek je možné náročnostně odhadnout (postupem času budou samozřejmě odhady přesnější) a do dne si naskládat odpovídající množství (radši MNOHEM méně, než více) těchto celků, samozřejmě s ohledem na čas, který bude možné provádění těchto činností věnovat. Je třeba brát v úvahu vyrušování, odpočinky, oběd a další věci. Ovšem ani čas mezi tímto vyrušováním není možné využít souvisle – mozek obvykle potřebuje nějaký čas, aby se přepnul do pracovního režimu, takže čím delší bude úsek, který je možné věnovat nerušené práci, tím lépe. Je vhodné začít s menším množstvím těchto malých celků a postupně přidávat další, když člověk pozná svoji výkonnost a naučí se lépe odhadovat. Snahou je – mít večer hotové všechno, co bylo naplánováno – nezáleží na tom, že to není celý balík práce, která byla takto rozkouskovaná. Důležité je, že jde člověk spát s pocitem „hotovo“ a ráno se vzbudí odpočatý a natěšený na pokračování.
Tento postup se může zdát v rozporu s druhým typem nedokončování, ale není tomu tak, resp by nemělo být, pokud je pěstován návyk následující. A tento návyk zní ještě jednodušeji: všechno si zapisovat. Všechno! Neexistuje nic takového, že „je to přece jednoduché, tak to udělám hned za chvíli“. Zapsat! Nebo udělat hned. Když mě večer před spaním napadne nějaká drobnost, zapíšu si ji. Protože jinak mám ráno výše popsaný pocit, že jsem na něco důležitého zapomněl. A to nechci – ani zapomenout, ani ten pocit. Zní to jednoduše, ale zase tak jednoduché to není. Opravdu je potřeba vypěstovat návyk a zapisovat – úplně vše.
Tyto dva návyky je vhodné si vžít, protože dokáží neuvěřitelným způsobem pomoci jednak ve zlepšení produktivity jedince, druhak odstraní ranní pocit, že na něco zapomněl, nebo neudělal něco, co udělat měl. Jsou ovšem pouze začátek – navazují na ně další metody, posouvající laťku o něco výše. Totiž – jak úlohy dělit, zaznamenávat, hodnotit? Co ráno s tím vytvořeným seznamem bodů? O tom až někdy příště, zatím osvojujte návyky.
Na závěr snad ještě podstatná poznámka: někdo může namítnout, že je to sice všechno pěkné, ale pokud hrozí termíny dokončení, nebo mu někdo klečí za krkem, je to nepoužitelné. Omyl – stres, přepětí, únava udělají své a v okamžiku lámání chleba stejně nebude hotovo, nebo bude hotovo špatně, všichni budou unavení, nevrlí… Samozřejmě není možné s těmito návyky začít týden před deadline a případný neúspěch svádět na ně.
Už od začátku je vhodné vše psát a úkoly dělit, dokud to jde a vhodně rozdělovat do dní (nebo delegovat
). Hodně zdaru při navykání a pevné nervy!
Creating rules programaticaly
0Nowadays I’ve been working on policies and triggering a behavior based on user action, so I wanted to write about it, but I found more interesting stuff I did with it than triggering itself (which is by the way well described by Jeff Potts). I wanted a routine, which runs on every node created and adds a rule, if that node is a folder.
At first I did some research on rules. How are rules bound to nodes? We’re working on repository, so it should be a node. When you open a node browser and look on node with rule bound, you’ll see ‘ruleFolder’ child of that node of ruleFolder type. Children of this node are rules itself – one child, one rule. Inside each are actions defined with conditions and actions with their parameters, like on following structure:
Conditions may be structured too – if condition is not „no-condition“ – there may be much complicated structure: either condition itself (actioncondition node type) with parameters as children, or composite-condition (compositeactioncondition node type) with conditions nested inside. Each condition has „invert“ boolean variable, which inverts condition meaning. Properties of simpliest condition (no-condition) are on following image:
Parameters are another types of node – actionparameter. Each has two important properties: parameterName and parameterValue and those values depends on action (or condition) on which is this parameter bind to. Example of parameter for copy-to-webproject action is on following image:
And of course third node type – action. With or without parameters. In both cases with properties like definitionName, executeAsynchronously, etc. see following image:
Examples on how to set rule on node are in nodeRef cookbook. I worked with CopyToWebProject action, which can be with parameters defined like this:
Action myAction = actionService.createAction(CopyToWebProjectActionExecuter.NAME); Map<String, Serializable> actionProps = myAction.getParameterValues(); actionProps.put(CopyToWebProjectActionExecuter.PARAM_DESTINATION_FOLDER, avmRef); myAction.setParameterValues(actionProps);
Note static variables with parameter names (prefix PARAM_). Executers are in org.alfresco.repo.action.executer package, or it’s possible to use own action executer (extending ActionExecuterAbstractBase).
Next step is to add a condition, in my case HasAspectEvaluator like this:
ActionCondition condition = actionService.createActionCondition(HasAspectEvaluator.NAME); Map<String, Serializable> conditionProps = new HashMap<String, Serializable>(); conditionProps.put(HasAspectEvaluator.PARAM_ASPECT, ContentModel.ASPECT_WORKING_COPY); condition.setParameterValues(conditionProps); condition.setInvertCondition(true);
Evaluators (package org.alfresco.repo.action.evaluator) also have parameter names defined with prefix PARAM_. Previous code creates condition testing aspect is NOT set on node (note setInvertCondition() method) – this condition is for testing copied content is not working copy.
Created condition and action should be placed in CompositeAction:
CompositeAction compositeAction = actionService.createCompositeAction(); compositeAction.addActionCondition(condition); compositeAction.addAction(myAction);
And the final step is to add this whole composition inside created rule and use ruleService to bind created rule to node – through its nodeRef:
rule.setAction(compositeAction); ruleService.saveRule(sourceRef, rule);
This is enough and it should work. What am I using it for? I need CopyToWebProject rule to foolow tree structure in DM, not just copy everything in subdirs to given folder. So I have my own implementation of OnCreateNodePolicy, which binds this rule to every created folder (under some conditions of course).











Nejnovější komentáře