Záviš, NEJEN kníže českého pornofolku

Přichází podzim, ono melancholické období a já opět nasazuji sluchátka a upadám do víru Mistrových skladeb. A že mám moc času na to, abych psal článek „Já nemám čas“, konečně jsem se odhodlal k znovunapsání článku o Mistru Závišovi.

Předpokládám, že Mistra (jak jej velmi často nazývám) neznáte. Nic neobvyklého. Pokud jej znáte, pravděpodobně jste od něj slyšeli jednu, dvě písničky a se slovy „Jak tohle může někdo poslouchat“ jste na něj prostě zanevřeli. Lidé se v tomto totiž dělí na tři skupiny. První o něm v životě neslyšela, druhá jej (zjednodušeně řečeno) nesnáší a ta třetí jej zbožnuje. Myslím, že není nutné psát, ve které z nich najdete mě.

Nekorunovaný kníže

Pro ty, kteří o něm v životě neslyšeli, Vám jej stručně představím. Jak vám asi došlo, Záviš (prý zkrácenina od
„Záviš z Falkenštejna“, což mimo jiné v nějaké starohornoněmčině zní Sawisch von Fuckenstein) je především zpěvák, písničkář a v neposlední řadě také básník a autor dalších krátkých literárních útvarů. Jeho texty bývají popisovány jako „dost ostré“ nebo „tvrdé“.

Záviš 1

Nu nedivte se – téměř šedesátiletý zarostlý šedivý vysoký syn vojáka z malé vesničky Citonice u Znojma (tedy kdesi na konci světa), který za totality v hospodách hrával na kytaru písničky (i ze své vlastní tvorby). V hospodě se sice písně líbily, štamgasti se nasmáli, zabékali si, jak u nás na Hané říkáme, ale to bylo asi tak všechno. Po převratu však bylo všechno jinak, a tak se najednou stalo, že Mistr začal své hity vydávat.

„Především proto, že se lidé chtějí zasmát. Já se bavím už při psaní a je to pro mě vyznamenání, když se to fanouškům líbí.“

— Mistrova reakce na otázku, proč jsi myslí, že jsou jeho texty tak populární, Olomoucký deník

Od té doby vydal přes 12 alb (obvykle co dva roky přibyde další) a jak jsem psal výše, získává si stále více a více jak přiznivců, tak zarytých odpůrců. No není divu, když si jeho jméno hodíte například do vyhledávání na youtube, získáte seznam jeho největších a nejznámějších hitů.

Já jsem ten konvenční vagabund …

Záviš 2

A tam je kámen úrazu. Kdyby Mistr hrál běžné řadové písičky jako ostatní čeští písničkáři, asi by upadl v zapomnění, on přišel s něčím novým,  zajímavým. Odvážným. Provokativním. Prostě psát o spodině společnosti, o notoričtích alkoholicích, bezdomovcích, feťácích, nymfomankách, prostitutkách a v neposlední řadě o sobě samotném, jakožto výcucu výše jmenovaných dokáže být velmi zajímavé, obzvlášť když se u toho použije autetický jazyk odpovídající jejich prostředí. A to nemluvě o mistrově prokouřeném a propitém hlase.

Myslím, že všichni si jistě už někdy zažili takové ty typické putiky, kde nonstop vysedávají permanentně opilí, smějící se hloupým, nechutným a sexuálním fórům lidé, pro které je těch několik piv a panáků tuzemáku denně jedinný smysl života. Při poslechu Mistrových skladeb, jako by jste tam byli a máte tka možnost prožívat si jejich každodenní dávku štěstí.

„Záviš je fantastický recesní písničkář, a i když jsou jeho texty dost tvrdé, velice mě pobaví“

— Karel Gott

Ale hlavní důvod, proč vůbec píši tento článek, je upozornit vás, kteří jste zatím na Mistra zanevřeli, že toto jádro, ty jeho megahity, které zná každý z jeho skalních fanoušků zpaměti jsou jen malá část jeho tvorby. Ve skutečnosti totiž velká část (dá se říci dokonce několik alb) působí velmi opačným dojmem a neznat jej, nikdy by jste neřekli, že mohl být součastně autorem hitů, jako Hokej, Já na vojnu nepudu, Anděla nebo Nenázvuhodná prasečina.

Romantika až za hrob

Vybral jsem proto několik mých oblíbených písní, víceméně jsem se je pokusl seřadit od „nejslušnějích“ a součastně plus mínus podle toho, jak se mi líbí. Takže dle mého názoru nejkrásnější dvě písně, které Mistr zatím napsal jsou Když prší a Kde jste byli.

  1. Když prší (Když přší)
  2. Kde jste byli (Radost pohledět)
  3. Marie (Syn vojáka)
  4. Pištovy podmínky (Radost pohledět)
  5. Červený Most (Syn vojáka)
  6. Zbyl jsem tu sám (Když prší)
  7. Zdali ovšem budeš chtít (Rolník a Rorýsek)
  8. Láska zhrzená (Když prší)

A to z daleka není všechno. Podobných krásných písní můžete najít většinu především na albech Když prší a Závišova devátá. Poté už začínají být písně velmi pozvolna ostřejší, jako například  Jóliholihó (Syn vojáka),   Píseň smutná, takřka dojemná (Sejdeme se na věčnosti), Lesní mord (Rolník a rorýsek) nebo stejnojmenná písěň z alba Bože, já jsem vůl.

„Záviše na hrad!“

— Mistrovi věrní fanouškové

Pokud se nepletu, tak jste neměli zatím šanci narazit snad na žádné vulgarismy. Teprve v následujících písních se občas s nějakým setkáte. Máme tu například Narozeniny (Syn vojáka), Kdyby mě někdo sháněl (Slunce v duši) nebo Až napadne sníh (Když prší).

Záviš 3

Teprve ve skladbách jako Zemřel mi kamarád (Bože, já jsem vůl), Cvičitelky aerobiku (Bože, já jsem vůl), Tango (Sejdeme se na věčnosti) nebo Až se jednou vrátím z bordelu (Závišova devátá) můžete začít počítat vulgarismy na prstech rukou.

Mohli bychom jít ještě dál, ale o tom tento článek není. Chtěl jsem vám představit Mistra jako autora skladeb všech možných stylů  a žánrů (od (porno)folku, přes určitou formu Blues či dechovky až po punk-rock), autora jak všelijakých hospodských písní hodící se k pivu a kytaře až po romantické či melancholické, u kterých má člověk možnost se sluchátky na uších na chvíli zmizet z tohoto světa.

 

Sedím na SLO/WP a strašně se nudím…

Když jsem si zapsal předmět SLO/WP (Webová prezentace), čekal jsem něco podobného, jako SLO/PROG2 (Programování v jazyce C pro fyziky), tedy předmět, kde se snad opravdu něco naučím.

Přednáší tady jeden zarostlý chlapík, který s trochou nadsázky vypadá, jako kdyby jej před chvílí někdo třesením odtrhl od piva v nějaké zapadlé putice (ne že by na fakultě byl jedinný ;-)).

Výklad mi přijde trochu nelogický, nevím, jestli jsme tady všichni začátečníci, ale předpokládal jsem, že budeme nejdříve probírat čistě statické html, a pak se přejde na dynamické technologie. Začal sice historií, ale koho zajímá HTML 2 nebo nějaké miniML. Když už mluvil o sgi nebo php souborech (pominu-li to, že na asp zapomněl), mohl naznačit princip cesty webové stránky k uživateli. To je přeci základ.

Odbočka: Právě se nás ptá, jaký máme názor na rámy. Co je SVG neví nikdo, ale rámy bere jako naprostou samozřejmost. Nechápu. Konec odbočky.

Takže tady sedím a koukám, chrlí do nás standarty (o kterých jsem já osobně v životě neslyšel ani nečetl) na šíleně nepřehledných slajdech („tady může být Transitional, ale pak tady nesmí být standart, ale loose, nebo …“), a to tak, že si máme upravovat výchozí hlavičky vygenerované PSPadem.

Ale úplně bych vraždil, když místo slova prohlížeč říká „prohlížečky“ a po každém druhém slajdu přehodí přes projektor nějaký papír, aby mohl přepnout na editor – to má na ploše tolik porna? 😀

Jinak je nás tu asi tak 10, z toho 2 informatici (jeden člověk dokonce vůbec neodtrhl oči od monitoru, ba dokonce sedí zády k přednášejícímu), takže se nesnažím nějak na sebe upoutávat pozornost ani při dotazech na například SVG.

Velice mile na mě však působí prostředí výuky. Ta totiž probíhá v jedné z optických laboratoří, řekl bych spíš v laboratoři elektroniky. Náramně mi to tu připomíná laboratoře měření ze střední – akorát samozřejmě 100x modernější. Moderní digitální osciloskopy (tlačítko „AutoScale“ je smozřejmostí na každém) na každém rohu měřícího stolu, všude spousty zásuvek (bohužel obsazených další měřící technikou.

Když si vzpomenu na staré počítače s Windows 95 připojenými přes gamePort na obrovskou topící a cvakající UNIMU, která stejně nic nenaměřila a tady vidím krabici „velkou“ jak dva smartphony se dvojnásobným počtem vstupů a výstupů připojenou přes sériový port k počítači s LCD monitorem, xpéčky, USB konektory na flešku (už žádné diskety!) a připojením k internetu, trošku mě mrzí, že se mi nezdařila Elektřina a magnetizmus, neboť v této laboratoři probíhají praktika z tohoto předmětu.

Skončili jsme dřív, což mne moc netěší akorát mi tu vznikla díra moc krátká na nicnedělání a moc dlouhá na dělání něčeho…

Další hodinu po nás dokonce i něco chtěl, ale u mě viděl, že tam něco datlím, tak jsem během asi 8 vteřin nacpal pár html tagů do souboru s nějakými hlavičkami a doufal, že po mě nebude chtít prohnat to validátorem. Ve volných chvílích si jezdím nahoru a dolu s židlí a uvažuji o tom, že bych se natáhl po zadání měření úlohy „Nelineární a řízené prvky“ a začal vzpomínat na střední …

Nejneužitečnější aplikace na světě

Na internetu se nachází spousty videí s takzvanými „naprosto zbytečnými“, „nejzbytečnějšími“, „nejneužitečnějšími“ či doslovně „nejméně použitelnými“ věcmi, jako je třeba tato:

Všechny tyto předměty mají stejnou funkci. Každý obsahuje nějaký vypínač, po jehož zapnutí se zařízení uvede do chodu a začne konat svou běžnou činnost. Jenže tou není nic jiného, než co nejrychleji onen vypínač znovu vypnout.

Když jsem to viděl poprvé, začal jsem s úžasem slintat, že takto geniální vynález musím mít. Ale nebyl čas, materiál, kapitál, podmínky a ani nějaká velká motivace – k čemu vám taky ta nejneužitečnější věc na světě taky bude, když vlastně nemá žádné užití, že?

Časem jsem však na tento magický předmět narazil znovu a zrovna jsem měl alespoň ten čas a hlavou mi problesklo: „Vždyť to půjde realizovat i softwarově!“.  A během pár vteřin jsem si zakládal html soubor a začal vzpomínat na html, css a jQerry (které jsem vlastně nikdy pořádně neuměl).

Hrál jsem si s tím asi 2 dny a tady je výsledek:

Nejneužitečnější aplikace online

A nebo v anglickém provedení:

The most unuselless app online

Me Blogista aneb kterak jsem začal psát blog

Ano, psaní mě vždycky bavilo. A to nejen zdrojových kódů. Docela slušně si můžete počíst třeba v kampani Drag Race, obvykle jsem se rozepsal taky v protokolech (především do měření)  a nebo vlastně na tomhle celém webu.

I když jsem z češtiny většinou neměl zrovna nejlepší známky (už na prvním stupni jsem byl jeden z těch, co neměli na vysvědčení „samé“), na střední jsem jeden čas z češtiny propadal a ze slohovek jsem míval věčně trojky až čtverky. Ale že jsem střelec, tak jsem to občas i nějak vytrollil, takže pamatuji, kdy jsem jednu ze slohových prací (jak nečekaně odborný popis blikače) napsal snad jen s jednou jedinou chybou.

Když jsem si šel pro maturitní vysvědčení, potkal jsem cestou pana profesora z češtiny, který mi opravovoval písemku a pochválil mne za moc pěknou práci (což slovy Cermatu znamenalo 100% bodový zisk). K mému překvapení mi pak na maturitním vysvědčení zářila jednička ze Základní úrovně z Českého jazyka.

Me Blogista

Bylo rozhodnuto. Budu psát. Bohužel ze začátku nebylo moc času, jen jsem sem tam něco přihodil sem (a to většinou něco o programování nebo Linuxu). Když už mi v hlavě kolovalo několik návrhů, kterým bych přiblížil mé zážitky z vysoké (už jen proto, abych nemusel všem všechno vysvětlovat), založil jsem si skromně alespoň rubriku Deník studenta Univerzity Palackého.

Ani ta však svým názvem moc neumožňovala psát obecné články na aktuální dění a tak jsem teď, když jsem dokončil Anny’s Lab založil rubriku Me Blogista (původ tohoto sousloví vám jistě není třeba vysvětlovat) a začnu sem postupně, jak bude čas, přidávat různé články, které se mi v tuto chvíli honí hlavou.

Za celý tým martlin’s webu (pohled doleva, pohled doprava), tak dobře, já jako autor, admin, editor, designer, vlastník  a správce martlin’s webu vám přeji  zábavné počtení a očekávám spousty komentářů, sdílení a lajků (bože, to zní jak na nějaké laciné facebokové stránce).

Moje nová hra! Bludišťovka Anny’s Lab

Když jsem se letos (rok 2012) někdy koncem června vrhl na C++ s tím, že se jej přes prázdniny naučím, ať toho nemám poté v zimním semestru moc, opět jsem plánoval jaký to větší projekt si v něm napíši. Původně jsem si chtěl reimplementovat knihovnu clmg (Common Lisp Micro Graphics) sloužící k jednoduché grafice na základě objektové struktury, kterou jsem používali v Předmětu Paradigmata Programování 2.

Logo Anny's Lab
Logo Anny’s Lab

Ale přecházet z okenního rozhraní do klasického textového terminálu není u grafické knihovny úplně to nejideálnější a tak mi z clmg zůstala jen třída Point. Poté jsem si k ní začal dopisovat další tři třídy a bludišťovka se pomalu začala rýsovat.

Pod původním názvem Labyrinth tak začala vznikat obyčejná konzolová bludišťovka pro večery na chatě, kde nemám internet, nebo na přednášky, kde internet obvykle mám, ale zase mi většinou nestačí baterie notebooku na nějaké náročnější grafické hry.

Postupem času mi název Labyrinth přišel poněkud nevhodný a obyčejný (i když se zpětně zamyslím nad názvy Drag race a Předměstí Simulátor, nebylo by to nic neobvyklého). Vzhledem k tomu, že postavička, která se v labyrintu pohybuje je reprezentována zavináčem, vznikl návrh na zakomponování nějakého jména začínajícího na ‚A‘ do názvu programu. Když jsem hledal vhodný  znak, kterým se budou vykreslovat zdi, mi ze spousty znaků, které jsem zkoušel, padlo do oka velké písmeno W, které až náramně připomíná nějakou rostlinu nebo keřík.

Naštve
Naštve

A bylo jasno.  Mí skalní fanoušci navíc totiž ví, že do každého svého programu zakomponovávám nějakou osobu ženského pohlaví z mého okolí. A není proto divu, že předmětem kampaně Anny’s Lab se stala bioložka Anny pracující ve své laboratoři, které se poněkud přemnožil zmutovaný a geneticky upravený jinak úplně obyčejný trávník, který podobně jako v pohádce o Šípkové Růžence zaroste celým areálem (a vytvoří tak labyrint, kterým se musí Anny dostat ven). Od té doby jsem Anny’s Lab nenazýval jinak, než „Anča a Lenča“.

Kampaň je však jen jedna z mála funkcí, kterou Anny’s Lab nabízí. Celá hra je vlastně založená na tom, že se zvolí tzv. číslo labyrintu, podle kterého je poté labyrint náhodně vygenerován. Můžete tak hrát téměř nekonečný počet různých náhodných a pseudonáhodných labyrintů, různých velikostí a uspořádání.

Jednoduchý labyrint
Labyrint s jednoduchou strukturou

Vzhledem k tomu, že hra byla komplet vyvíjena na platformě GNU/Linux, je linuxu přímo šita na míru. Naopak na Windows s ní byly nemalé komplikace. Bohužel právě proto si nebudete moct pořádně užít hru Anny’s s použitím knihovny ncurses, kdy se hra vůbec neseká, každou klávesu nemusíte potvrzovat Enterem a dokonce se setkáte i se skromným barevným provedením.

Program používá starou knihovnu z MS DOS, kterou však na Windows za boha neseženete, zatímco na Linuxu ji nainstalujete jedním příkazem.

Střeva programu

Program je sice oficiálně psán v jazyce C++, já osbně bych spíš použil označení C/C++. Když jsem totiž chtěl načítat stisknuté klávesy bez potvrzování Enterem, vygooglil jsem funkci getch() z knihovny ncurses. Jenže tato knihovna byla určená pro jazyk C a nikoliv C++, takže většina vstupně-výstupních operací je realizována funkcemi jako printw a getch, držel jsem se standartu a kde nebyla použita knihovna ncurses, používal jsem funkce z knihovny cstdio – printf, getchar  a podob.

Čistého času jsem na Anny’s Lab pracoval něco kolem dvou a půl měsíce, kde z toho jsem ale fyzicky pracoval v průměru tak hodinu až dvě denně (to víte, prázdniny). Asi vás nepřekvapí, že nejvíce času padlo na jádro celé aplikace – metoda třídy Map na generování labyrintu.  Chtěl jsem být profesionální a najít si nějaký slušný algoritmus na generování. Tato diplomová práce věnující se přesně této problematice  mě však pouze přesvědčila, že opravdu nejlepším řešením bude úplně obyčejný hloubkově rekurzivní algoritmus typu „horník“.

První hra
První dohraná hra (17. srpna), můžete vidět tuny ladících výpisů

Nicméně pořád jsem je v reálném čase nedostal na Labyrint větší než 800×800. A bylo mi naprosto jasné proč. Ta metoda, která se starala o průchod jedním uzlem je sice na pochopení velmi jednoduchá, ale implementačně poněkud složitější. Neustálé kopírování konstantních parametrů a vytváření stále nových proměnných, jako iterační proměnná i na začátku každého volání zkrátka zbytečně žerou obrovské množství času.

Začal jsem tedy vzpomínat na cvičení z algoritmiky, jak přepsat hloubkovou rekurzi. Nejdřív jsem si ji přepsal použitím fronty na průchod do šířky, dokázal jsem generovat labyrint až do velikosti asi 12000×12000, nicméně vypadal jak hvězdice se středem ve startu. Po několika dnech intenzivního algoritmování jsem na to přišel.

Na zásobník si bude ukládat vždy čtveřici uzlů, do kterých se vydat (v pospřeházeném pořadí), také uzel, ze kterého se do tohoto „aktuálního“  došlo a ukazatel (index i), kterým z těch směrů se má nyní vydat. Pokud došel do validního uzlu, vytvořil si posloupnost s ním sousedících, spolu s ní na zásobník uložil bod, ze kterého tam došel, a index prvního z nich, načeš se do něj hned vydá. Pokud validní uzel nenašel, šel na další v pořadí (zvýšil index aktuálního uzlu o 1) a pokud další takový nebyl (byl poslední), odebere tuto celou skupinu ze zásobníku a jde o úroveň výš.

Toto řešení je taktéž celkem elegantní (obzvlášť, když je v C++ zásobník implementován ve standartní knihovně), a především velmi efektivní. Paměť mi většinu dojde, až když se snažím generovat labyrint větší než 14000×14000.

Až nebudu mít týden co dělat, nakoupím energiťáky, nachystám si rozvoz pizzy na rychlou volbu, vygeneruju si labyrint 10000×10000 a budu hrát…

Zbytek už byl celkem hračka. Až na pár drobností, jako třeba metoda, která k uzlu vrátila některý náhodný sousední uzel tak, aby ležel na mapě. Nejdřív jsem se snažil testovat, jestli není moc blízko okraji mapy, ale kraje mapy jsou 4 a navíc se můžou kombinovat (rohy), takže po asi 20 řádkách testování a ifování, jsem skončil tím, že jsem náhodně vygeneroval některý z okolích bodů (na to stačily 2 řádky) a to opakoval, dokud se tento náhodný uzel nenacházel v mapě.

Docela mě překvapilo i parsování argumentů z příkazové řádky. Když jsem si uvědomil, jako všelijaké kombinace chybných stavů můžou nastat, sáhl jsem až na dno kapsy a vytáhl výjimky a díky nim se kód rozrostl o pouhých 240 řádků.

A úplně zabilo, když jsem vlastně poprvé tvořil program rozdělený do více souborů (což jsem poněkud nešikovně dělal úplně nakonec), a vůbec to nechtělo fungovat. Nedošlo mi, že se soubory (a tedy i bloky funkcí celého programu) na sobě sice závisí, ale víceméně řetězovitě a ne každý na všech ostatních. Takže soubor s deklaracemi maker je naprosto nezávislý a tak jde zkompilovat rovnou. Na něm závisí soubor s deklaracemi všech funkcí, na něm pak definice pomocných funkcí, díky ní pak půjdou zkompilovat třídy Point a DrawabePoint, … až přes definice hlavních, „jaderních“ funkcí (a z nich ta úplně nejhlavnější – Hlavní Menu) až po samotnou funkci main.

Pak už stačilo jen napsat Makefile (a dva dny řešit, proč to nelinkuje knihovnu ncurses, ikdyž ji jistojistě inkluduji), zabalit, zkompilovat i na Windows (i to byla celkem estráda) no a napsat to, co si nyní čtete.

Ke stažení

Ke stažení dodávám jak zkompilované verze pro MS Windows, tak i balíčky zdrojových kódů pro obě platformy.

Anny’s Lab Verze pro Windows 32bit (.exe)

Anny’s Lab Verze pro Windows 64bit (.exe)

Kdo má koule na labyrint 5000x5000?
Kdo má koule na labyrint 5000×5000?

Anny’s Lab je totiž distribuován pod licencí GNU/GPL a je Open Source, tedy je volně ke stažení včetně zdrojových kódů.

Zdrojové kódy Pro Windows (Přibalen soubor pro Microsoft (c) Visual Studio)

Zdrojové kódy Pro Linux (Přibalen Makefile)

Ty předkládám především pro uživatele operačního systému GNU/Linux – v programu je přibalen také Makefile a tak si jej prostě zkompilujete pomocí programu make.

Pokud nemáte nainstalovanou knihovnu ncurses, musíte programu make říct, že Anny’s Lab funkce z ncurses nemá používat a to:

Nebo zakomentováním řádku

v souboru declarations.cpp. Více o používání knihovny v souboru COMPILATION a v hlavičkových komentářích souborů declarations.cpp a main.cpp.

 

 

Horor na chatě jménem elektroinstalace

Článek píši v okamžiku, kdy vyhořely 4 spotřebiče díky naprosté shodě náhod a slouží tak jako ukázka toho, co všechno se může stát. Pokud chcete přeskočit úvodní řeči o historii elektroinstalace klikněte sem.

Bylo, nebylo …

Když jsme před asi 5-6 lety koupili chatu, byl okamžitě povolán elektrikář, aby dal do pořádku zastaralou, asi 30 let starou elektroinstalaci.

Nevím, jak je to možné, ale (na což se přišlo až o mnoho let později; nedávno) on ve skutečnosti jen na staré okruhy namontoval nové zásuvky a vypínače. A tam, kde něco chybělo, tam natáhl prostě nové přívody, a to kabelem o vodičích s průřezem 1.5mm, včetně zásuvek.

Založil tak díky tomu nový rozvaděč, který jsem po jeho odkrytování popsal slovy, že takto nějak vypadá rozvaděč poté, co se jím prožene hurikán Katrina a od té doby je označnován Katrina. Spousta drátů, nic neznačené, nepopsané. Po několika víkendech s multimetrem v ruce se mi podařilo poměřit vše. Do poslední zásuvky.

Až na pár detailů (jako zbytečné vypínače) vše fungovalo, jak mělo. Nevím, co se tehdá  stalo, ale podle mně, chata nesnesla při teplotách kolem nuly prudké vytopení kamny a jeden starý zásuvkový okruh se poškodil. Zkušený elektrikář, který tam přišel v okamžiku, kdy mne už nenapadalo jiné řešení, než natáhnout celý okruh znovu, přes mé protesty natáhl do jedné ze zásuvek vodič PEN, čím mu dodal požadovaný nulák a opět to fungovalo.
Po čase ale začaly na tomto okruhu odpadat další a další zásuvky, až zbyla jedna jediná. To bylo neúnosné. Ze stran rodičů jsem snad každý víkend slýchal, proč s tím něco nedělám, že to přece nemůže být tak těžké (i mámin přítel by to prý zvládl).

Jednou z posledních kapek bylo, když vyhořela zásuvka ve sklepě, protože mámině příteli se nechtělo na míchačku montovat vypínač a vypínal ji vypojováním ze zásuvky (Bitch, Please). Však já to opravím…

A pak jsem se toho chopil já

Padlo jasné rozhnodnutí. Jak zvolal Jan Werich v jedné ze svých filmových pohádkek: „Všechno ven!“, tak jsem se rozhodl konat. Narazil jsem ale na spoustu problémů – mezi nimi například ten, že nebylo možné vytrhat staré okruhy, poněvadž na nich stále jela dobrá polovina chaty. Začal jsem tedy plánovat, jak to udělat, aby byly co nejmenší ztráty jak časové („mami, běž vařit, za dvě hoďky to vypínám“), tak materiální (k smrti nerad plýtvám kabelem a nesnáším půlmetrové zbytky). Z máminy strany jsem byl tlačen také do řešní, jak nerozkopat celou kuchyň (což situaci zkompilovalo asi šetsetosmdesáttřikrát).

Hodiny a hodiny proměřování stávajících kabelů, tentokrát opravdu vodič po vodiči, a následné plánování, který z nepoužitých vodičů ve stávajících kabelech (téměř vše bylo taženo 7×1.5), a případně, kde bude potřeba natáhnout nové kabely. Kde přesně. S přesností na centimetry jsem si rozvrhl i všechny krabice, světla, vypínče na zásuvky.

Většinou ale přiběhl mámin přítel nebo máma se slovy: „Ale tady bude skříňka“, „tude povede roura od komínu“, “ ale tady už bude bojler“, takže musíte uznat, že to byl opravdu nelehký úkol. Když jsem tedy i něco zrealizoval, stejně se to muselo předělávat (jednu krabici jsme takto museli posouvat 3x).

Měsíc utekl jako voda, žel, a já měl sotva naplánováno. A to jsem jen čekal, kdy budu muset přemisťovat i něco namontovaného. Ale pustil jsem se do práce, nic jiného mi nezbývalo.  Měl jsem všechen potřebný materiál, věděl jsem co kam zapojit, nevypadalo to na žádné komplikace. Zprvu.

Scéna jak z hororu

Pak jsem se ale nepohodl s maminým přítelem a musel jsem mu rozsekat zaomítaný kus zdi, abych tam natahal kabely (na které on zapomněl). Abych si to odčinil, řekl jsem, ze zůstanu přes noc a dodělám to.

Asi ve 22:00 jsem byl hotov.  Opravdu to bylo banální zapojení – barva na barvu, ale pro dobrý pocit jsem to chtěl odzkoušet. Jdu to nahodit. Světla svítí. Už přesně nevím kdy, ale nejdřív žárovka nade mnou pár vteřin svítíla asi na 40% svého výkonu načež se rozzářila jak světlo na konci tunelu. A mě bylo jasné, že je zle. Rádio utichlo a mě polil pot. Přeměřil jsem napětí na žárovce nade mnou, měla snad 300 Voltů.

Fázovkou jsem ale při zoufalém proměřováním všech přítomných vodičů, dá se tedy říci náhodou zjisitl, že i na nuláku je nějaké napětí. Bohužel, v tom šoku, mne nepadalo jednat systematicky a postupovat od zdroje (což by možná alespoň 1 křemíkovou duši zachránilo) a tak jsem utíkal do sklepa otevírat krabice a proměřovat a odpojovat moje nové dílo.

Když jsem asi po půlhodině ani tam žádnou chybu skutečně nenašel, přešel jsem do módu puntičkář, tedy proměřovat vodič po vodiči – to, co jsem měl udělat hned na začátku. Během pár vteřin jsem chybu objevil. Při zapojování nových okruhů, které jsem natahal,  jsem totiž z neznámých příčin povolil svorku přívodu nuláku. Teprve, až jsem za něj fyzicky zatahal, mi jeden konec zůstal v ruce a během pár sekund jsem byl opět ponořen do tmy a v hlavě si potvrzoval svoji domněnku.

A hádka začala…

Ale vysvětlujte rodičům, že něčeho takového, jako je povolený kontakt si nemáte šanci všimnout, obvzlášť když, jak jsem psal nahoře, se nachází někde v chumlu vodičů. Některé ze spotřebičů by také určitě byly ušetřeny, kdyby můj předchůdce dimenzoval jističe kabelům, a místo 16A tak použil desetiampérové (já to tak nechal, protože se stejně měly vymněnovat).

Samozřejmě, i já jsem udělal pár chyb. Pravděpodobně jsem byl já, kdo ten kontakt neodtáhl na krev a díky tomu se uvolnil. Měl jsem také oběhnout chatu a povypojovat všechny ostatní elektrospotřebiče v okamžiku, kdy se začalo dít něco poderzdřelého. Možná, že kdybych měl víc praxe, jak máma vždycky říkává, ani tato situace by mne nepřekvapila.

Asi měla pravdu. Téměř na hodinu přesně o týden později jsem pozoroval stejné symptomy. Obával jsem se, že jsem při sekání přívodu k zásuvce poškodil v přívodu nulák. Nakonec jsem si, když jsem obíhal chatu a vypojoval spotřebiče ze zásuvek (tehdá již při vypnutém hlavním), vzpomněl, že jsem pravděpodobně nedotáhl šroubky na PEN  svorce v rozvaděči. To se potvrdilo a problém byl vyřešen během 10 minut beze ztrát.

Od té doby mi rodiče vůbec, ale vůbec v ničem nevěří, každou mou větu by si nejraději nechali ověřit 4 elektrikáři. Vše vyvrcholilo, když jsem jeden večer zapojoval světlo v ložnici, aby se tam dalo nocovat a oni na mě začali křičet, proč nesvítí světlo ve sklepě. Veškeré mé snahy vysvětlit jim, že je to jeden okruh byly zakončeny tím, že jsem to provizorně napojil na zásuvkový okruh, sbalil se, posbíral veškerou mou dokumentaci a jel domů, s tím, že teď funguje půlka. Kdyby si to nechali vysvětlit a ještě ty dva dny by nějak přetrpěli, mohli si užít větší polovinu dovolené s komplet hotovou elektřinou.

Chudák nebyl rád

Když mi máma po pár dnech oznámila, že tam „zítra“ má přijet elektrikář to dodělat, jen jsem se pousmál, protože mi bylo jasné, co mu dá práce, zjistit, co který okruh znamená (naštěstí pro něj jsem popisoval alespoň krabice). Nakonec jsem situaci přehodnotil a přijel tam.

Sotva tam přijedu, vidím, jak bastlí světlo v garáži na okruh zásuvek pro výkonové spotřebiče, protože se mu nechtělo tahat 5 metrů kabelu z připravené krabice. Zbytečná krabice, tři metry nadstavovaného kabelu a dvě hodiny proměřování 7×1.5 (pět černých fází je opravdu žůžo labůžo) a ve sklepě mi teď taky tím pádem leží 5 metrů 3×1.5 bez využítí.

Ložnici jsme dodělali tak nějak vzájemnou výpomocí a poté usoudil, že jeho počínání je tam zbytečné, probrali jsme ještě pár drobností a  tak po asi 3 odpracovaných hodinách odjel domů. Aby toho nebylo málo, tak tam ještě chudák zapoměl popisovací fixu.

Je sice fakt, že největší radost by mi udělal, kdyby tam přijel, uviděl mě a se slovy: „Vždyť tady elektrikáře máte, co já tady?“ by se sbalil, nechal si zaplatit první započatou hodinu včetně cesty a jel domů. Nicméně asi, jak odjížděl, tak ordičům něco řekl, a tak už na mě mámin přítel přestal křičet „že tomu vůbec nerozumím“ a „že je to ještě horší, než to bylo“ a podobně a tak těch zbylých pár dní prací bylo vcelku klidných.

Nyní píši (a hlavně kreslím) dokumentaci a schémata. Škoda, že jsem se přes léto vykašlal na TeX, mohlo to být precizní.

Ale opravdu netuším, co budu dělat s těmi asi 30 metry zbytků kabelů, ne delších než dva metry. Jenom 3×1.5 bych používal jako pájecí očka do pájky asi dalších 8000 let.

Postudijní deprese

Stalo se mi to po odmaturování, stalo se mi to i letos (v prváku) po zkouškovém a stává se to mým kamarádům.
Říkám tomu „postudijní deprese“.

Představte si (nebo případně vzpomeňte) – máte zkouškové (nebo třeba svaťák), učíte se jak diví (tady se opravdu vtipné přirovnání prostě vymyslet nedá). Kofein přijímáte ve všech formách (v posledních dnech snad i dýcháním v nevětraném pokoji), nechodíte spát dřív než ve dvě ráno, nespíte víc než polovinu běžné doby, o stravování ani nemluvě. Sluneční světlo vidíte tak možná, když vyrazíte do obchodu doplnit zásoby kofeinových produktů či si vyzvednout dovezenou pizzu.

Samozřejmě přeháním, já osobně svaťák trávil celkem v klidu s minimem kofeinu a maximem spánku.

Dobrá, pokud tedy vaše tělo tyto dny přežije a dokonce se i něco naučíte, jedete tedy ke zkoušce. Ať je úspěšná či nikoliv, najednou přijdete domů, a s blaženým výrazem ve tváři prohlásíte: „Super, mám to za sebou, tak teď si budu užívat“, načež upadnete v kómat do postele a probudíte se né dřív než následující den.

Po probuzení zjistíte, že vám tělo odcestovalo na dovolenou. Vypovědělo službu. Selžhalo. Pravděpodobně jste si (naivně) mysleli, že jak jste tu zkoušku udělali, tak si začnete užívat. To si však myslíte, tedy psychická část těla (chcete-li, software). Bohužel hardware je jiného názoru a to takového, že by teď potřebuje fest regeneraci.

Na(ne)štěstí toto, fyzické, stadium může trvat jen několik dní, poté se i to tělo vrátí do normálu.

Ale  pak přijde ta horší část postudijní deprese. Psychická. S fyzickou je člověk schopen se smířit – po takové námaze je vcelku očekavatelná takováto reakce, ale že se do toho zapojí i psychika už je poněkud překvapivé. Po těch dnech, kdy jel mozek na 180% vám nyní i on vypoví službu se slovy: „Už nikdy více“. A prostě vypne.

I když víte, že toho máte moc (takové ty věci, které díky intenzivnímu studiu odkládáte), třeba do práce, pokud máte volnou pracovní dobu, ideálně pokud pracujete doma, tak to prostě nejde. Kupříkladu pokud třeba chcete programovat (což je tedy na myšlení velmi náročná činnost), tak si otevřete zdrojový kód a mozek není schopen vyplodit jedinou myšlenku. Tak do toho kódu takhle čučíte několik minut, né-li hodin a poté to stejně zabalíte a zbytek dne strávíte čuměním do zdi (byť třeba na facebooku) nebo v posteli. Nic jiného se vám opravdu nepodaří.

Nebavily mě ani v té obě mé oblíbení počítačové hry, seriály, filmy, ani videa  které používám přesně v těchto situacích. A pokud netrávíte celé dny lítáním po venku, budou marné i snahy o provozování nějaké exteriérové aktivity, jako je sport. Proč také, když je venku tak děsné počasí (v létě vedro k padnutí a v zimě zase zima nebo sychravo)? Dovedete si jistě také představit, jak na tom bude vaše chuť k jídlu.

A najednou vám prostě začne vadit všechno. Hromada špinavého nádobí, jen si povzdychnete, když jdete kolem, a raději by jste vyhodil do vzduchu celý byt než aby jste jej museli umýt. Ale ani to se vám nechce a tak jej dříve nebo později stejně umyjete.

Nejraději by jste prostě jen a jen spali. Což neznamená, že sami. Řekl bych, že spíš naopak. A to nejen za střízliva. Tím jsem nemyslel, že toto období musíte strávit s lahví v ruce a nějakými osobami opačného pohlaví v posteli. Ale je fakt, že ve společnosti přátel někde v chládku nějaké hospůdky nebo vinárny taky pomůže odbourat toto období. Už jen proto, že poté prospíte polovinu dalšího dne.

Po několika dnech, nebo týdnech, to pomalu vyprchá, vy se začnete vracet zpět do normálního života a začnete opět fungovat. A když se k tomuto období vrátíte, zjistíte, že to nebylo až tak úplně nejhorší, nějaký ten den strávit jen tak nicneděláním.

Projekt do PROG2 – Parser aritmetických výrazů

Když jsem si předmět Programování v jazyce C pro fyziky zapisoval, věděl jsem, že bude zakončen poměrně rozsáhlým projektem. Ale když mi přišlo zadání, poněkud mi přeběhl mráz po zádech. Jako nejjednodušší byl označena hra Labyrint (bludiště je v textovém souboru, algoritmus najde nejkratší cestu), z dalších zadání bych jmenoval ještě Piškvorky, Lodě nebo kecálka Karla.

Příznakem „Dle mého osobního názoru asi nejtěžší“ bylo značeno zadání programu, který měl jako vstup textový řetězec reprezentující matematický výraz a jako výstup tento výraz ve formě stromové struktury. Samozřejmě, nějakým lidským způsobem reprezentovaný.

Tak jsem se pousmál, protože o vlastním parseru aritmetických výrazů sním už od dob, co jsem začal programovat a teď jsem měl konečně příležitost. Řekl jsem si tedy Challenge accepted a začal přemýšlet jak na to. V zadání byl sice návod na nejjednodušší postup, ale trvalo mi asi týden než jsem jej pochopil. Jeho filosofie spočívala v tom, že výraz je tvořen nějakým termem (jeden „sčítanec“), symbolem +/- a případně dalším (pod)výrazem. Je to tedy rekurzivní definice, a když se nad ní zamyslíme, zjistíme, že se vlastně jedná o lineární spojový seznam termů (kde každý term má příznak, jestli se k předchozímu přičítá nebo se od něj odčítá).

Velmi obdobně je definován i onen term – je to součin nebo podíl faktoru s dalším termem. Vyvrcholení nastává při definici faktoru – tedy činitele / dělitele / dělence. Tím může být obyčejné číslo, záporné číslo (v mé reprezentaci obecně funkce), nebo výraz v závorce. Kde pojmem výraz je myšlen opět ten výraz výše.

Krásně je z těchto definic poznat, že jejich rekurze může být ukončena pouze číslem, což nám poté umožní výraz jednoznačně vyčíslit (kromě jeho vypsání a případného vymazání z paměti). Pokud si toto uvědomíte, a nebojíte se pointerů, hloubkové rekurze a předávání odkazů na globální proměnné odkazem je pak implementace hračka.

Opravdu hračka. De facto celý program jsem zvládl za necelý den. Ve skutečnosti výraz a term jsou implementačně velmi podobné (liší se akorát tím, jestli jsou tvořeny termem a výrazem nebo formem a termem), takže je stačilo jen zkopírovat a upravit pár řádků. Nicméně kód tak narostl na přibližně 500 řádků. I já jsem zíral. 500 řádků plných pointerování, a práce s globálním indexem a já jsem to stihl za necelý pátek. O tom, že jsem komplet celý program tvořil v C write’n’run ani nemluvě. Ideální způsob, jak se naučit používat základní vimové příkazy, jako GG nebo / či :%s/foo/bar/g.

Jenže. To byl opravdu základ. Chybělo sice už jen dodělat funkčnost funkcí (s těmi jsem si vyhrál – byly totiž reprezentovány ukazateli na funkce) a ošetřit syntaktické chyby (a varování) vstupu.

Moje první idea byla, že pokud při parsování některého elementu dojde k syntaktické chybě (například 4+*6), vrátí jen jeho první část a to, počínaje chybou bude ignorovat. Až jsem to měl hotové, tak nějak jsem si uvědomil, že to je stejně pitomost. Přece, když je výrazu chyba, tak je ve výrazu chyba. Může to být překlep, ale co když není? Tento algoritmus prostě z chyby udělal varování a opravil ji tím nejjednodušším způsobem. Tím se však výraz stal nekonzistentní, tedy špatný. Takže jsem tam prostě nacpal, že jakmile narazí parser na chybu, nekompromisně vrací NULL s tím, že i procedura která ji volala, pak automaticky také vrací NULL, a tak to probublává až na samotný výraz, který se tím pádem také stane NULL.

Z původního algoritmu mi však ve funkcích na výpočet, vypsání a vymazání zůstaly testovací podmínky na testování konzistence výrazu, tak jsem je tam nechal (i když tam nemají význam).

Několik dní mi pak zabrala snaha vyřešit kontrolu parity závorek. Původní idea byla taková, že přibude další globální proměnná, nazvaná zanoření závorek – z, na počátku inicializovaná na začátku na nulu. Při začátku parsování faktoru „výraz v závorce“ se měla zvýšit o 1 a po dokončení opět snížit. Pokud na konci parsování celého výrazu byla hodnota větší, než 0, nebyla některá závorka uzavřena, a tak se program tvářil, jakoby byla na konci, ale pokud tam byla nějaká uzavírací navíc, tak ji měl přeskočit.

Ale jak chce odchytávat uzavřenou závorku u výrazu, který není výraz v závorce? Nijak. To by prostě nefungovalo. Řešením tedy bylo přesunout obsluhu uzavírající závorky do samotné funkce parsuj_vyraz, do míst, kde se testuje právě nalezený znak. Jenže tím bych totálně zabil přehlednost kódu. Při představě, že otevírání a zavírání závorky jsou každé na úplně jiném konci a v úplně jiné části kódu. Ale ani po mnoha dnech jsem nevymyslel ideální řešení, ale alespoň jsem tu obsluhu rozbil na aplikační a uživatelskou část. Aplikační jsem ponechal přehledně při parsování výrazu závorce (stará se jen o inkrementaci a dekrementaci proměnné z), zatímco uživatelskou jsem tedy rozházel po celém kódu, což už mi nepřišlo tak nehumální, neboť se tak ztratila mezi ostatními chybovými a varovnými hláškami celého programu.

Doufám, že vám program půjde zkompilovat (panu profesor s tím měl na Windows menší problémy). Po zkompilování si jej, linuxáci, můžete hodit do třeba do /bin a pokud si jej lehce zmodifikujete (tady dodávám mou, odevzdávanou verzi, nijak neupravenou), můžete jej volat třeba

nebo například

který vám samozřejmě ten_slozitej_vzorecek vyčíslí pro x=14.5.

V plánu mám po vzoru z Paradigmat programování 2 (kde jsme něco podobného dělali objektově v Lispu) vytvořit si program na parsování výrazů s proměnnými a derivování/integrování (případně další operace s funkcemi jako tabelace hledání inflexních bodů), přičemž na to asi použiji přecejen C++. Uvidím, jestli bude čas.

 

Nainstalovat (Linux)

Stáhnout zdrojový kód

Postudijní dohánění no-livingu

Sakra, jak jinak to nazvat, aby to bylo pochopitelné?

Samozřejmě, letní semestr prvního ročníku na Katedře informatiky je opravdu jednoduchý. Myšleno co do přípravy na zkoušky. Ale že člověk celý semestr dře, aby dostal zápočet, o tom se už tak nemluví (pokud ho získá, na zkoušku už tím pádem téměř vše umí). Ve skutečnosti ale i získání všech zápočtů není vůbec těžké. Pokud si ke 4 povinným předmětům nezapíšete 6 nepovinných (více o této problematice v článcích Hon na Céčka a Druhé zkouškové? 10:0 pro mě!).

Česky řečeno, v kombinaci s prací jsem neměl opravdu (téměř) žádný volný čas. V okamžiku, kdy jsem úspěšně zakončil zkouškové, jsem shodou náhod jakoby pomyslně začal dohánět všechny ty akce, párty, oslavy, večírky za celý semestr následující dny a týdny.

To, že jsem vyznavačem tance je o mně obecně známé, takže navštívit shodou náhod v prvním týdnu po zakončení ročníku  dvě „Salsa & Latino Party“ bylo samozřejmostí. Také jsem pořádal doučování z Paradigmat programování 2, účast byla značná, úspěšnost snad také, nicméně padl za oběť opět celý den.

V pátek, kdy rodiče odjížděli k moři, jsem tedy zůstal doma a samozřejmě velice aktivně jim pomáhal s balením. V sobotu to však začalo. Byl jsem na jedné oslavě a trošku se tam pozdržel a domů se vrátil až někdy před šestou ranní. Vskutku zajímavá akce.

V neděli jsem se sice věnoval práci, ale také jsem šel spát až za svítání (kolem čtvrté) – to víte, chtěl jsem to dodělat. A povedlo se (pokud budu považovat pondělní čtvrtou ranní stále za nedělní noc).

Další týden jsem pokračoval kinem, čajovnou, ITPivem, opět salsou, dvěmi noclehy na chatách (popíjení, grilování a tak). Celý jsem jej zakončil klasickým progressáckým cyklovýletem.

Sestřinými promocemi začal další týden  (nikoliv vinou alkoholu, ale díky měsíční časové prodlevě)  si navštívené akce už moc nepamatuji. Byla tam nějaká rodinná oslava myslím, a pár skromnějších akcí k tomu.

Spolu se Zlatými tanečními kurzy jsem se dostal k velmi zajímavému folkóru.  Pít víno. Ale naprosto šíleným způsobem. Pokud není volno v Naší vinárně, koupí se láhev a popíjí se téměř kdekliv (zákaz popíjení alkoholu na veřejnosti, nezákaz). A to téměř denně, práce nepráce.

Nastoupil jsem totiž do práce – jak s oblibou říkám :

Říkám to strašně nerad, je to takové…, ale musím se živit nejstarším řemeslem.

čímž samozřejmě narážím na anekdotu o tom, jak Bůh pravil „Budiž světlo“, načeš je poznamenáno, že ani světla nefungují bez elektřiny, a tak ty kabely, světla, vypínače a přívody někdo udělat musel ;-).

Jak jsem se obával, že přes práci se ze mně stane opět no -lifer, celkem jsem se spletl. Na víno chodíme i tak, o pravidlených tanečních večerech ani nemluvě. bohužel mé programátorské skillování téměř zamrzlo na mrtvém bodě.

Snad se to teď (aktualizováno srpen 2012), co mi práce zkončila, změní ;-).

Druhé zkouškové? 10:0 pro mě!

Ano, opravdu to znamená, co si myslíte. Nevím, jestli to bylo nějakým zázrakem či co, ale opravdu je to tak. I v letním semestru prvního ročníku studia Aplikované informatiky na Přírodovědecké fakultě Univerzity Palackého jsem prospěl se 100% úspěšností.

Po semestru, který byl opravdu teror, kdy jsem počítal dny, když už to konečně zkončí to zkončilo a přišel vytoužený odpočinek – zkouškové (možná se smějete, ale za malý moment vás vyvedu z omylu). Vraťme se tedy zpět k onomu třináctitýdennímu utrpení.

Jak jse mohli dočíst ve článku Hon na Céčka, tento semestr jsem měl opravdu nabitý. Začnu těmi hlavními předměty. Algoritmická matematika 2 dá se říct navazovala na jedničku. Braly se tam takové zajímavé věci jako základy teorie grafů a stromů, odkud se přešlo až po různé binární vyhledávací stromy a vyvrcholilo to hashováním. Doktor večerka po nás obšas i chtěl aby jsme na cvičeních něco dělali, ale do dalšího ho to obvykle přešlo, takže jako vždy pohoda (a když ne, stačilo říct: „Já vim, já si jenom tady todhle dodělám au ž jdu na to.“). Zápočtový test a úkol jsme víceméně všichni tak nějak udělali (mé poněkud neodpovídající hodnoty v úkolu jsem svedl na vadný algoritmus funkce <code>rand();</code>, podobně jako minulý semestr) a vzhůru na Bělehrad!

Tedy k panu profesoru Bělohlávkovi do kabinetu. Na první termín vyhodil prolovinu lídí po první větě, protože nedokázali přesně formulovat nějakou definici. I na dalších termínech takto pár lidí vyletělo, nicméně já mezi nimi nebyl. Já si vytáhl otázky, které mi nepřišly moc těžké. Ale znáte to – myslíte si to, jak to umíte, ale najendou jak na vás profesor promluví, všechno z vás najednou vyteče vašim podpažím a víte, že je zle. Neřekl jsem snad nic kloudného, zachránilo mě asi jen to, že jsem to celkem chápal (a po podobných zážitcích z minulého semestru bych řekl, že ke mně cítí určité sympatie, že by Starý Jano?). Bohužel otázku za D bludišťáků jsem po**al, a tak jsem s odcházel s Poker face a E v indexu. Ale mám to (na to, že jsem se to téměř neučil).

Druhý z těch těžších předmětu byly pochopitelně Pararáče (Paradigmata (Objektového) Progrmaování 2). Že prej budeme dělat už OOP, ale protože umíme všichni Scheme (a kdo ne, měl prostě smůlu), tak jsme to dělali v Lispu. Získání zápočtu byla oproti ALM opravdu řežba. Každý týden úkol, obvykle tak na 100-300 řádků kódu, a když je to nová látka, kterou ještě navíc moc nechápete, protože jste na přednášku, která byývala v pátek na 8, přišli  o půl hoďky pozděj, protože jste pomáhali sestře s bakalářkou, nebo jste si s úctou přispali, dá vám jeden úkol zabrat i na pár dní. Nicméně já to (samozřejmě) dal vcelku s přehledem. Akorát mě trošku mrzí, že jsem orpavdu neposlechl kamaráda a poslední úkoly jsem už tak trochu hodně lajdačil.

Díky tomu jsem přišel ke zkoušce suverénně s tím, že bez A neodcházím. První 4 hodiny programování tomu opravdu nasvědčovaly. Řešení jsem měl velmi dobré, Lašťovička jen přikyvoval hlavou a nic mi nevýtýkal. Když jsem se však vrhl na události, zhavaroval jsem na jejich fatálních neznalostech (způsobených do značené míry oným zanedbáváním posledních úkolů), takže provedení bylo sice velmi dobré (což na splnění stačilo), ale funkčnost mizivá. Známku E jsem tedy zdvořile odmítl a zapsal se na popříští termín. Mezitím jsem si vypracoval nanečisto zadání dalšího termínu, na kterém jsem události asi konečně opravdu pochopil a díky tomu jsem na můj druhý termín dostal A. A A by to nebylo, kdybych všude nenaházel <code>set-events</code> a nefungovalo to díky tomu na 100%,  protože by se mi v tom začal nimrat do hloubky a něco by si tam určitě našel.

Celkem v pohodě byl taky Úvod do programování 2, pokračování veleúspěšné jedničky. Pokročilejší věci v céčku, které použijete asi 3x v životě a to jen pokud chcete někoho vytočit, že mu to ve Visual Studiu hází errory. Další způsob, jak studenta okrás to pár dní drahocenného času.

Matematika 1 taky byla celkem v pohodě. Člověk se těší, že už konečně začne derivovat, a ono zase nic. Zasekli jsme se u matic a vektorů. Aspoň už umím číst transformační matici v Gimpu 🙂 (ale asi mi je to k ničemu, protože manipulace s ní není zrovna na 10 vteřin). Zápočet za domácí úkoly vypracovávané většinou ve škole s Lukáše a Laďou v týdnech, kdy nebyla Psychologie obchodního jendání (viz dále). Na zkoušku jsem (tradičně) přišel s půlhodinovým zpožděním a díky tuně numerických chyb jsem dostal D.

Tím končí předměty povinné. Asi nejzajímavější z Céček bylo Programování v jazyce C pro fyziky. Polopatě, podrobně, nepovinně na příkladech, ale rychlostí světla (co by jste také na Společené laboratoři optiky chtěli?) se proletělo téměř, to co v obou našich Úvodech do programování dohromady. Každý týden řádově 3-5 úkolů, takže dva až tři dny práce. Ale stálo to za to. Člověk se naučil zase něco nového, jiné příklady – znáte to.  Zkouška formou většího projetku – já si samozřejmě vybral ten nejtěžší, parser aritmetických výrazů do stormové struktury a práce s nimi. Přibližně 550 řádků, asi týden a něco práce. Sice mě to spolu s PP připravilo o veškerý čas, ale ty kredity za to stojí.

Programátorská odreagovačka ve formě Softaware pro Matematiky 2, taky ušla. Stačilo jen chodit na cvičení dávat tam pozor, psát si zápisky, a před zápočtem si to projít (nebo uložit do vhodné složky v notebooku ;-)). Matlab je zkrátka šikovná věcička, jeho znalostí jsem využíval (hlavně v Matice) co chvila ;-).

Z neprogramátorských předmětů bych zmíníl „ítépéesko“ a „KGPZS“, tedy Technologie počítačových sítí  a Grafické programy, oboje na Pedagogické fakultě. Zápočet z ITPS byl hodně o nervy – ještě aby ne. Když strávíte jedno a půl odpoledne odpovídáním na otázky „Stiskem jaké klávesy potvrdíme provedení příkazu Ping?“ a pak zjišťujete po všech čertech, jestli se odpovědi tutorovi, odeslaly, jestli je schválil či ne, a jestli tedy máte zápočet nebo ne. Nakonec jsem získal z každé kapitoly v průměru 130% bodů a šel jsem na abcd test. Asi jsem měl smolný den a těch pár věcí, kterými jsem si nebyl úplně jistý, … no zkrátka potupa jak blázen, dostal jsem E. Mé první E a to ze snad nejjendoduššího předmětu.

O Grafických programech vám toho moc neřeknu, protože blokovou výuku (1 přednášku) jsem zazdil a tak jsem akorát vypracovanou seminární práci poslal dle zadání na internetu (logo v svg a design webu v rastru). Aspoň už vím, jaké to je shánět někoho, o kom ani nevíte jak vypadá. Pět kreditů opravdu, ale opravdu zadarmo. A ještě jednou opravdu.

Předmět Evropská integrace pro studenty PřF se mi tedy moc nelíbil. Celou dobu otravné kecy o Evropské Unii, nuda, takže většinou programování úkolů do Programování pro Fyziky. Nedostatek zásuvek, pouze vepředu jich bylo požehnaně, ale když jsem pak vysílením (a samozřejme s úctou) usnul, byl jsem vzbuzen přednášejícím, jak do mě šťouchal prezenčkou. Ke všeobecnému veselí přispěl výrok, že mám na čele otisklý touchpad, ikdyž to byl jen rukáv od mikiny. Dva kredity a nazdar.

Nechci říct to nejlepší na závěr, ale Psychologii obchodního jendání bych rozhodně negativně nehodnotil. Člověk si užil zábavy a navíc se naučil něco sakra užitečného. Ani nevíte, jaké jsem měl na zkoužce z ALM nutkání pozvat pana profesora na kávu, jakožto první řešení při styku se zákazníkem na pokraji sil, který posílá zakoupený produkt už počtvrté na reklamaci. Nyní si dávám víc záležet na prvním dojmu, pozoruji postoje osob v mém okolí a snažím se jejich jednání přizpůsobovat.

Sečteno podtrženo, 10 podpisů v indexu, za celý ročník 17, a kreditů rovných 70. No to je skvělé, není to skvělé? Myslím, že to, že jsem 13 týdnů téměř nežil za to celkem i stojí.

Stačí vám to? Tím dneska končím. A jdu na jedno. To se přeci musí zapít, ne?!