Všichni chtějí přijít s nápadem, který změní svět, který vydělá miliony a já nevím, co ještě. Většina těchto nápadů končí rozčarováním, protože nejsou realizovatelé, nebo nejsou realizovatelné v podobě, jak si je dotyčný budoucí milionář představuje. To je v pořádku. Protože jsem už pár nápadů zkusil realizovat a neuspěl, zkusím v tomto miniseriálu představit kroky, … Pokračovat ve čtení „Pozadí ubytovníčku“
Všichni chtějí přijít s nápadem, který změní svět, který vydělá miliony a já nevím, co ještě. Většina těchto nápadů končí rozčarováním, protože nejsou realizovatelé, nebo nejsou realizovatelné v podobě, jak si je dotyčný budoucí milionář představuje. To je v pořádku. Protože jsem už pár nápadů zkusil realizovat a neuspěl, zkusím v tomto miniseriálu představit kroky, které jsem se naučil a které doufám, že v případě Ubytovníčku povedou k dokončení a úspěšné realizaci tohoto nápadu.
Když jsem přišel s úplně prvním nápadem, okamžitě jsem koupil doménu a pak teprve začal přemýšlet, jak to vlastně udělat, co tam bude… Postupem času (dlouhého času) jsem pivotoval a pivotoval a vždycky se dostal k začátku realizace, ale tam jsem skončil. Proč? Nápad nebyl dopracovaný, nevěděl jsem, na koho budu cílit, co z toho bude dotyčný mít, co z toho budu mít já… Teď už vím víc: pokud dostanu nápad, chvíli nad ním přemýšlím a pak se ho snažím zapomenout. Pokud se další den ráno probudím a ten nápad tam je pořád a hlodá, pokračuju k další fázi – a tou je třídění myšlenek spojených s tímto nápadem.
Co mám: chuť něco dělat Co by mělo být výstupem fáze: nápady = množství trojic problém, řešení, zákazník
Co bude výstupem fáze: nápady, o kterých si myslím, že jsou dobré Co budu dělat: brainstormovat Co pro to použiju: mindmapper
Pro prvotní utřídění myšlenek používám myšlenkové mapy. Konkrétně jsem si zvyknul na nástroj mindmeister, který funguje jako online aplikace i jako aplikace pro Android, takže můžu přidávat myšlenky kdykoliv a kdekoliv. Používám dva postupy: „blití všeho“ a „brainstormovací mód“.
Mindmeister @ Android
Blití všeho používám především na začátku a je to takové prvotní nakopnutí, kdy ze sebe hrnu naprosto všechno, co mě napadá, a sázím to bez ladu a skladu (víceméně) do mapy, je to takové základní vytvoření budoucích uzlů celé mapy. K této fázi se už později moc vracet nedá, protože by tento přístup narušil započatou strukturu, takže je vhodné zauvažovat o vytvoření nové mapy a potom je nějak spojit. Ale popravdě – do této fáze se v udoucnu už nevracím, protože ji dobře pokryje fáze následující.
A to je fáze brainstormovací. Začnu v kořenu celého stromu a postupně procházím k listům, kdykoliv mě kdekoliv cokoliv napadne, okamžitě to přidám. Nedělám smyčky, postupuju systematicky dál a dál. Dost často skončím na listu a najednou se roztrhne pytel s nápadama a tak se chrlí.
Potom nastupuje třídicí mód, který je vhodné provádět způsobem „ráno moudřejší večera“, ale mnohdy se to ráno zvrhne v další chrlení :-). Jde to to, že se musí vyházet spousta nesmyslů (tohle je ovšem první fáze, větší odstraňování bude následovat příště), kterých je tam zákonitě velké množství, odstranit duplicity a trochu přeskládat strukturu. Ideální je, když je na projekt více lidí a tuto část udělá někdo jiný, nebo je při tomto čištění a uspořádávání přítomen. Člověk, který tyto nápady vychrlil může být slepý k některým nelogičnostem a nesmyslům a kontrola dalším člověkem tato místa odhalí a odstraní, případně poupraví. Pravdou ale je, že než hledat kompromis, lepší je danou věc úplně odstranit. Pokud bude potřeba, vyplyne tento fakt v budoucnu a může se zpětně zapracovat – méně je více.
Tato prvotní část se dá shrnout do celku „nápad“. Jde o to si uvědomit, že nápad není nápad sám, ale jeho rozpracování a zaznamenání do nějaké takovéto podoby, aby si člověk (a to především někdo druhý) mohl prohlédnout všechny souvislosti, náležitosti… Ještě pořád není vhodný čas na nákup domény, následuje další část – část ověření myšlenek a jejich ořezání, ale o tom zase až příště.
Byl jsem dneska odpoledne se psem na procházce a cestou sumarizoval, co jsem stihl a nestihl udělat v rámci skoro týdenní dovolené, kterou jsem si vzal, abych se mohl věnovat dalším projektům. Popravdě – myslel jsem, že se objeví jiskra stejně, jako se objevila v zimě mezi svátky, ale nebylo to tak žhavé. Moc jsem … Pokračovat ve čtení „Jak vysvitlo slunce“
Byl jsem dneska odpoledne se psem na procházce a cestou sumarizoval, co jsem stihl a nestihl udělat v rámci skoro týdenní dovolené, kterou jsem si vzal, abych se mohl věnovat dalším projektům. Popravdě – myslel jsem, že se objeví jiskra stejně, jako se objevila v zimě mezi svátky, ale nebylo to tak žhavé. Moc jsem tomu nedal a neměl jsem z toho dobrý pocit. Potom jsem si ale vzpomněl na jistý příběh a najednou mi bylo hrozně fajn :-).
Moje nová kancelář
Ten příběh zní:
Dva mniši se vydali do světa a po roce se vrátili zpět k mistrovi. Ten se jich hned ptá: „Nuže, co jste dělali celý rok?“ První žák: „Mistře, já celou dobu studoval, meditoval a pomáhal lidem.“ Mistr pokývá hlavou a říká: „Výborně, nepromarnil jsi svůj čas!“ a obrátí se k druhému, který také odpovídá: „Já jsem dobře jedl a dobře spal!“ Mistr se usměje a povídá: „Vidím, že ani ty jsi nezahálel!“
Postupem č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 … Pokračovat ve čtení „Jak funguje můj mozek?“
Postupem č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.
Hammock driven development
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.
Příš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í … Pokračovat ve čtení „Na co jsem přišel v Japonsku“
Příš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.
Kvet lotosu
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).
Kousicek Pachinko herny
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.
Pan Noro s rouskou
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 :-/.
Nigiri s tloustkou masa jako na stejk
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 :-).
Hory v dali
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!)
Napojovy automat
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.
I 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 … Pokračovat ve čtení „Deleting workflows in Alfresco“
I 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
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).
Kaž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 … Pokračovat ve čtení „Nedokončování je únavné“
Kaž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í.
GTD system
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!
Nowadays 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 … Pokračovat ve čtení „Creating rules programaticaly“
Nowadays 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:
RuleFolder 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:
Condition properties
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:
Parameter properties
And of course third node type – action. With or without parameters. In both cases with properties like definitionName, executeAsynchronously, etc. see following image:
Action properties
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:
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:
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:
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).
Yesterday while developping ukazbobra I realized, that I don’t know how to map controller for my index view in root of Spring MVC project. I searched and experimented a bit and here is a solution. Please note I’m using Spring Roo and annotation driven setup. First thing is to create controller, for example simple one … Pokračovat ve čtení „Controller for views in root“
Yesterday while developping ukazbobra I realized, that I don’t know how to map controller for my index view in root of Spring MVC project. I searched and experimented a bit and here is a solution. Please note I’m using Spring Roo and annotation driven setup.
First thing is to create controller, for example simple one like this:
[code language=“java“]@RequestMapping("/")
@Controller
public class RootController {
Now you have to turn off thing named ParameterizableViewController, which staticaly selects a view for for rendering. So open up webmvc-config.xml and remove line with mapping for index view:
Jak tak sjizdim videa z letosniho brnenskeho Barcampu, chtel jsem okomentovat zaznam prednasky Jana Martinka (@endlife) – Proc delam svou praci spatne. Na komentar to vsak bylo moc dlouhe, tak to davam sem a trochu rozsiruju. Zacina casti nazvanou spatny odhad, kde rika neco jako „prihlasovani je jedna trida v modelu, to bude jednoduchy.“ Zminuje, jak … Pokračovat ve čtení „Proc delam svou praci spatne?“
Jak tak sjizdim videa z letosniho brnenskeho Barcampu, chtel jsem okomentovat zaznam prednasky Jana Martinka (@endlife) – Proc delam svou praci spatne. Na komentar to vsak bylo moc dlouhe, tak to davam sem a trochu rozsiruju.
Zacina casti nazvanou spatny odhad, kde rika neco jako „prihlasovani je jedna trida v modelu, to bude jednoduchy.“ Zminuje, jak se postupne nabaluji dalsi veci – login se meni na email, pridava validaci, jednotne zobrazovani chyb, moznost resetu hesla… Pokud pominu fakt, ze nepouzil nekterou z moznosti existujicich validaci (napr. z frameworku dojo), napada me otazka, proc tohle resit v nejake pomerne ranne fazi projektu? Shodou okolnosti o tom nedavno psal Jirka Knesl (blogpost Minimal Viable Product), dokonale to popsali tez panove z 37signals v knize Restart, volne cituji: „protoze platby za profi program maji probihat az koncem mesice, odlozili jsme implementaci modulu na provadeni plateb a venovali se dulezitejsim vecem.“ S tim se neda nesouhlasit – proc implementovat funkci pro obnoveni hesla? Vzdyt to muze pockat, kolik bude navstevniku, kteri zapomenou heslo chvili po registraci? Dulezite je spustit ASAP – featury se mohou pridavat casem – obrovska vyhoda webovych projektu.
Cast nazvana Matrix – administracni rozhrani (Adminer) pripomina Matrix – cisla, data, znaky… Nepovolany vubec netusi, ktera bije. Nevyhoda KISS pristupu, ale samozrejme – pokud to adminovi vyhovuje, neni to zadny problem, taky mam radsi Midnight commandera, nez okynka :-). Kdo ne, at zkusi googlit alespon termin Scaffold. V Nette tohle opravdu neni?
Pokryti aplikace testy – uvedl naprosto ukazkovy priklad toho, proc je vhodne testy psat: zakomentoval cast kodu pri ladeni a zapomnel pote komentar odstranit. Jestli tohle cloveka neprinuti o psani testu aspon premyslet, tak uz nevim co :-). Testovat, testovat, testovat! Dekuji.
Napiste nam – plural, vs. singular? To je jedno, hlavne byt profesional a verit tomu, co delam! Pekne receno, pekne tipy (odpovidat na mejly, profesional zna sve limity, cenu…).
Pointa prednasky je – hledani partaka na projekt. Jan to zjistil po roce, co vyvijel sam. Jak to zjistil? Potreba jineho pohledu na vec – kdyz clovek dela projekt sam, jiny pohled na danou vec ziska az s odstupem casu, partak muze mit jiny pohled na vec hned. Pravdive, velmi prakticke. No a pak i dalsi veci…
Takze pokud nekdo kombinuje do CV veci jako nette, TDD ci Git, muze mu poslat mejl. No a ja mu timto preju hodne stesti v nalezeni partaka i v uspechu projektu ;-).
Zvykam si delat veci jednoduse. Byvaly doby, kdy jsem psal univerzalni kousky kodu, protoze „co kdyz nahodou nekdy“. Dlouze a zbytecne jsem ladil genericke tridy, metody pro ruzne jine obecne vstupy atd. V posledni dobe si vsimam, ze kdyz pisu rychle a jednoduse (neboli jako prase), vubec to nevadi – proste dany fragment napisu presne … Pokračovat ve čtení „Pisou judiste jako prasata?“
Zvykam si delat veci jednoduse. Byvaly doby, kdy jsem psal univerzalni kousky kodu, protoze „co kdyz nahodou nekdy“. Dlouze a zbytecne jsem ladil genericke tridy, metody pro ruzne jine obecne vstupy atd. V posledni dobe si vsimam, ze kdyz pisu rychle a jednoduse (neboli jako prase), vubec to nevadi – proste dany fragment napisu presne na telo dane situaci a kdyz ho nahodou budu potrebovat v budoucnu modifikovat, tak jej udelam univerzalnim az tehdy (v mnoha pripadech to nebude vubec potreba a ja diky tomu usetrim spoustu casu).
Uvedomil jsem si to pri cteni Restartu – stavam se Judistou. V knize je uveden krasny priklad: „Dejme tomu, ze chceme ziskat pohled na zem z ptaci perspektivy. Jednou z moznosti je vylezt na Mount Everest. Druha moznost je vyvezt se vytahem na vyhlidkovou terasu vyskove budovy.“ V knize se to sice tyka neceho trochu jineho a navic jsem to vytrhl z kontextu, ale presne takhle to citim a od ted se tim budu ridit.