Archiv pro měsíc: Říjen 2013

Apache Hadoop

hadoop

Konečně jsem se dostal k paralelizaci! Posledních několik dnů pracuji s Apache Hadoop. Musím říct, že mě to baví mnohem víc než nějaké řešení bugů apod. A konečně se začínám přibližovat k cíli…

Instalace virtuálního Apache Hadoop clusteru

Tento týden jsem se zabýval převážně instalací virtuálního Apache Hadoop clusteru. Jako virtualizační platformu jsem použil VirtualBox a Debian Linux. Zprovoznění clustru není zas tak složité, ale narazil jsem na jeden velice nepříjemný bug. Týká se verze XML parseru Xerces. Hadoop vyžaduje k běhu určitou verzi této knihovny, ale v JRE se nachází jiná verze. A Hadoop si není schopen říci o tu správnou ani v případě, že je přiložena do .jar souboru. Nepodařilo se mi najít nějaké „správné“ řešení, a tak jsem to vyřešil workaroundem – na začátku main metody volám

System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
 "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");

.

Map/Reduce

Apache Hadoop je dělaný pro řešení problémů pomocí algoritmu Map/Reduce. Nejprve se přivede vstup do Mapperu, který jako vstup očekává kolekci hodnot key-value. V tomto Mapperu se provedou nějaké operace (například transformace, agregace hodnot apod.) a výstupem je opět kolekce key-value. Dále se provede seskupení do kolekce key-(value-list) a ta se přivede na vstup Reduceru. Reducer jí následně zpracuje a výstupem je hodnota kolekce hodnot value. Moc pěkně zpracovaný příklad je na Slideshare. Velice dobře zpracovaný je i tutorial na Yahoo, který se zabývá i pokročilejšími věcmi v Hadoopu.

Když používáte Hadoop na něco, na co není určený

Bohužel problém, který řeším, se pro Hadoop vůbec nehodí. Já potřebuji v ideálním případě nějakou sdílenou paměť a v ní frontu úloh, do které budou jednotlivé nody přistupovat. To je ovšem zcela proti logice Hadoopu – ten naopak nepředpokládá žádnou sdílenou paměť. Očekává, že nody budou pracovat se soubory, které se nacházejí na distribuovaném systému souborů HDFS. Hadoop taky předpokládá, že jednotlivé úlohy budou náročné, ale nejen časově, ale také množstvím zpracovávaných dat. Hadoop je vhodný, pokud potřebujete zpracovávat velké množství dat, řádově desítky terabytů a více. Naopak se naprosto nehodí na úlohy, které potřebujete zpracovat rychle. Pokud vám tedy jde o množství zpracovaných dat, je Hadoop správnou volbou. Pokud potřebujete co nejrychleji výsledek, měli byste se poohlédnout po nějakém jiném nástroji.

Map/Reduce očekává vstup a to v podobě souborů. Já vlastně žádný vstup nemám, mám pouze parametr, se kterým potřebuji úlohu spustit. Ano, onen parametr by se dal nazvat vstupem, ale jak ho Mapperu předat? Navíc nepotřebuji žádný Reducer, stačí mi pouze Mapper.

Pokud chcete na Hadoopu spouštět úlohy typu Map/Reduce, naleznete příkladů a tutoriálů plný internet. Pokud chcete něco netypického, nenaleznete bohužel nic 🙁 Vůbec nic… Všechno co jsem o Hadoopu našel se týkalo Map/Reduce a nikdo nikde nikdy neřešil úlohu, která by tomuto paradigmatu neodpovídala. Bohužel jediná dokumentace, kterou Hadoop nabízí, je JavaDoc + jednoduchý tutoriál, jak vyřešit typický problém, kde si vystačíte na 90% s nabízenými výchozími třídami. Abych tedy vyřešil svůj problém, s úlohou, která vůbec neodpovídá paradigmatu Map/Reduce, musel jsem jí přiohnout, aby tak alespoň vzdáleně vypadala. Musel jsem dělat různé psí kusy, aby se mi to povedlo. Připadal jsem si jako krotitel lvů nutící slona skákat skrz obruče.

Krkolomné – ale funkční řešení

Ale nakonec se mi to podařilo! Po několikadenním úsilí mi konečně na Hadoopu běží i mé atypické úlohy! Abych spustil jednu úlohu, s jedním jednoduchý parametrem, musel jsem napsat 4 třídy. InputSplit, InputFormat a RecordReader a samozřejmě samotný Mapper. Většina těch tříd, kromě mapperu, nemá žádnou užitkovou hodnotu, jedná se pouze o balast nutný pro donucení Hadoopu spustit onu úlohu, která neodpovídá paradigmatu Map/Reduce. Je to smutné, ale je to tak 🙁

Mé řešení funguje vpodstatě tak, že vygeneruje parametry pro všechny úlohy, vytvoří pro ně instanci třídy InputSplit a následně všechny instance vrátí jako kolekci. Toto dělá třída InputFormat. Následně se nějakým způsobem něco s těmito instancemi InputSplit udělá, a končí to tím, že se na ně zavolají metody write a read – přesně v tomto pořadí. Tyto metody asi zapíší data do HDFS nebo kdoví co, ale něco na ten způsob to bude. Následně si třída RecordReader převezme instanci třídy InputSplit a vytvoří z ní kolekci key-value párů. Jelikož potřebuji pouze 1 parametr, používám pouze hodnoty key. Následně si Hadoop sám volá čtení z RecordReaderu, a předává hodnoty Key do Mapperu, který je dále zpracovává. Byla to fuška, spoustu debugování, psaní kódu stylem pokus-omyl, ale funguje to!

Botanická zahrada Jardin Botanique

Jedním z míst, které jsem si nemohl nechat ujít, je botanická zahrada Jardin Botanique. Nachází se nedaleko olympijského stadionu a parku Parc Olympique. Plakáty a různé reklamy na výstavu Mosaicultures, která právě probíhala v botanické zahradě, byly všude po celém městě a už na první pohled dávaly najevo, že je o co stát.

Vstupné

Vstupenku do botanické zahrady je možné zakoupit v mnoha variantách. Nejvýhodnější jsou balíčky vstupenek, které nabízí vstupenky také do jíných zajímavých míst v Montrealu. Já jsem si zakoupil balíček do botanické zahrady (včetně insektária), biodomu a planetária. Velice příjemné je, že do botanické zahrady můžete jít na jednu vstupenku celkem 2x. Cena tohoto balíčku pro studenty je nějakých cca 35$. Do studentského vstupného mi započítali i zvýhodnění pro obyvatele Montrealu 🙂

Skulptury

Nejzajímavější částí expozice v botanické zahradě byly skulptury tvořené keři. Tyto skulptury byly rozmístěné různě po celé botanické zahradě a zobrazovaly různé předměty (jako je piano, koleje, úl apod.). Mezi nejkrásnější skulptury ovšem patřily zobrazení různých druhů zvířat. Už od začátku jste tak mohli potkat různé ptáky, psa, včely, berušky apod. Mnohé skulptury byly velice detailní a některé vypadaly téměř jako živé. Mezi nejkrásnější skulptury podle mě patřili například buvoli, pastýř s ovcemi a koně.

Untitled

Untitled

Tématické zahrady

Ačkoliv hlavním trhákem botanické zahrady byly skulptury, měla stále ještě mnohé co nabídnout. Další zajímavou částí jsou tématické zahrady. Naleznete zde například čínskou zahradu plnou lampionů a umělohmotných soch zvířat. Uprostřed čínské zahrady se nachází jezírko, ve kterém rostou různé vodní rostliny, například lotosy lekníny apod. Dominantou čínské části je věž a veliký pavilon.

Untitled

Další tématickou zahradou je japonská zahrada. V japonském pavilonu jsou k vidění různé obrazy a fotografie a také umělecké předměty vyrobené z papíru. Také se tam nachází tradiční japonská zahrada tvořená kameny. Před samotným pavilonem se rozprostírá velká zahrada plná zeleně s jezírkem a několika můstky. V jezírku samozřejmě plavou pestře zbarvené rybky, mezi nimiž se nachází i velice známý sytě oranžově zbarvený japonský kapřík. Také se tam nachází překrásný vodopád. Co se týče rostlin, tak jsou zde převážně různé druhy vrb.

Stínová zahrada

Stínová zahrada se nachází, jak již název napovídá, ukrytá ve stínu stromů. Nabízí tak příjemné ochlazení v parných dnech.

Alpská zahrada

Jedna z mých nejoblíbenějších částí je alpská zahrada. V alpské zahradě se nachází různé skalky a drobounké rostliny, které na nich rostou. Také je tam spoustu malých smrčků, borovic a jiných jehličnatých stromů rostoucích na skalkách. V alpské části se nachází další vodopád obklopený několika lavičkami a nabízející příjemné posezení.

Untitled

Při druhé návštěvě alpské části nás poctila svou návštěvou liška. Ačkoliv byla obklopena zvědavými lidmi, vůbec se nebála a klidně si běhala po skalkách a šmejdila v houští. Na to, že tam byla jen chvilku, dokázala vyvolat celkem velké pozdvižení 🙂 Každý si jí chtěl alespoň jednou vyfotit. Po chvilce jí šmejdění kolem a přestalo bavit a tak odběhla zase o kus dál, do jiné části zahrady.

Insektárium

Insektárium je samostatný pavilon nabízející výstavu hmyzu. K vidění tam je spoustu druhů brouků, mravenců, pavouků a všelijaké havěti. Mají tam dokonce i několik živých exemplářů. Zajímavá byla například expozice s mravenci. Měli tam dva oddělené boxy spojené stromem. Na jedné straně se nacházelo mraveniště a na druhém straně měli mravenci potravu v podobě listů na stromě. Tedy, ona byla původně i na té straně s mraveništěm, ale tam mravenci strom naprosto celý sklidili. Tato expozice sloužila jako ukázka toho, jak mravenci a stromy žijí v symbióze. Mravenci sklízejí listí ze stromu a nosí si ho do mraveniště, které je zpravidla nedaleko stromu. Zde to listí používají na stavbu mraveniště a také ho konzumují. Strom prosperuje z toho, že ztetlalé kousky listí a větviček, které mravenci roznesou po okolí, mu dodávají živiny. Mravenci mu také kypří půdu. Jelikož bylo v insektáriu příšeří s umělým osvětlením, nebyli mravenci téměř vidět. Než jste si jich vůbec všimli, viděli jste větvičky a malé kousky listí pochodovat z jedné strany na druhou 🙂

P9191139

Les

Při první prohlídce botanické zahrady jsem do lesní části zavítal vlastně omylem. Chtěl jsem se dostat k východu, ale zároveň se vyhnout největšímu davu a tak jsem pokračoval dál dozadu do zahrady. Čím dál jsem zašel, tím méně bylo kolem lidí. No a pak jsem objevil obrovskou plochu pokrytou různými druhy stromů. Byly tam smrčky, borovice a různé další druhy jehličnanů. V okolí byl nádherný klid, nikde ani noha a stromy krásně voněly. Každý druh stromu měl svou specifickou vůni, která byla poměrně snadno rozpoznatelná. Lesní část se mi moc líbila a tak jsem se do ní rád znovu podíval při své druhé návštěvě.

Noční zahrada

Na to nejkrásnější, co botanická zahrada nabízí, si musíte poměrně dlouho počkat. Výstava zvaná Night reveals it secrets totiž začíná až po setmění. To se pak převážná většina botanické zahrady uzavře a zůstane otevřená pouze čínská a japonská zahrada. Ty ale dostávají pod douškem noci zcela jiný rozměr. V japonské zahradě je zvoleno velice decentní osvětlení potůčku a několika vybraných stromů. Také je krásně nasvícen vodopád, kde se osvětlení přepíná mezi několika režimy.

Ale japonská zahrada stále ještě není tou nejzajímavější částí. Tou je čínská zahrada, která svou krásou láká davy lidí. A tak, pokud o tento zážitek nechcete býti ochuzeni, si musíte postát v nekončící frontě a překousnout zástupy lidí, přes které není téměř možnost se hnout.

Když už se konečně dostanete do čínské zahrady, čekají na vás již známé sochy zvířat, které jsou ovšem nádherně nasvícené a působí zcela odlišným dojmem. Na střeše čínského pavilonu se rozsvítí světýlka, které vykreslují její obrys. Nasvítí se také lampiony. Celé to působí velice nádherně a třešničku na dortu tomu dodává ještě odlesk v jezírku.

P9270651

P9270653

Tuto nádheru je bohužel velmi těžké zachytit fotoaparátem. Obzvlášť, pokud nemáte zrcadlovku. Já jsem se o to se svým kompaktem pokoušel, ale bohužel se mi to nepodařilo tak, jak bych si představoval. Můj Olympus SP-600uz se postavil na hlavu a automaticky volil až příliš dlouhou dobu expozice, kvůli čemuž se ve snímcích světlo jakoby rozpilo a celý snímek je kvůli tomu dost rozmazaný. Bohužel nemám manuální režim a tak jsem s tím nemohl nic moc udělat. Všiml jsem si, že když fotím velice výrazně osvětlené objekty, fotoaparát to vyhodnotí, tak, že má dost světla a nastaví kratší dobu expozice. Toho jsem se snažil využít k přechytračení foťáku a docílení kýženého snímku. Ovšem podařilo se mi to asi jen u jedné či dvou fotek z mnoha 🙁 Poprvé se mi tak stalo, že toho o focení vím víc než můj foťák. Asi nastal čas poohlédnout se po zrcadlovce…

P9270706

Jsem v půlce stáže

Právě se nacházím zhruba tak v půlce stáže a myslím, že to je ta správná chvíle na napsání článku :). Co jsem tady ten měsíc a půl dělal? Možná se budu trošku opakovat, ale pokusím se navázat na článek první zážitky ze stáže.

Seznámení se s projektem

První zhruba tak týden, dva, jsem se seznamoval s projektem. Nejprve jsem musel projekt dostat do kompilovatelného stavu, což se ukázalo jako úkol na dlouhou dobu. Musím říct, že hned po prvním dni jsem si říkal ZLATÝ MAVEN! Ano, kdyby používali na takto rozsáhlý projekt Maven a správně nastavené závislosti mezi projekty, nemusel bych strávit několik dní nad hledáním a nastavováním závislostí, ale byl bych schopen projekt zkompilovat během 5 minut.

Poté, co se mi podařilo projekt úspěšně zkompilovat, na mě čekal další nelehký úkol – brodit se stovkami souborů a tisíci řádky kódu a pochopit, jak že to vlastně funguje. Nebylo to snadné, styl, jakým je kód psaný, mi to vůbec neusnadňoval. Soubory jsou plné komentářů a poznámek, které jsou mnohdy i několik let staré a na 99% neaktuální a zcela jistě naprosto zbytečné. Ovšem jsou tam… Nevím proč, ale jsou. A dokonce si ten zvyk psát ke každé úpravě kódu komentář se jménem, kdo a kdy to upravil, udržují dodnes. Přestože používají SVN a tyto změny by si mohly vyhledat tam.

Hlavní úkol stáže

Na konci prvního týdne jsme si dali meeting s vedoucím projektu a ten mi vysvětlil, co že vlastně budu dělat. Popsal mi pro mě důležité části projektů, co dělají apod. Projekt má 3 hlavní části, na kterých budu pracovat – POM – nástroj na počítání metrik kódu, SAD – nástroj na detekci tzv. code smells a Ptidej – nástroj na detekci návrhových vzorů. Pak jsme se dostali k tomu, jak spolu ony nástroje souvisí atd. Dozvěděl jsem se, že mým hlavním úkolem bude pracovat na nástroji Ptidej – ten je ze všech nejpomalejší a nejvíc potřebuje paralelizaci. Následně jsme se velice povrchně dostali k tomu, jak Ptidej funguje.

A hned jsme zabrousili do dalších souvisejících projektů. Aby bylo možné hledat návrhové vzory, je nutné nejprve vytvořit graf tříd. Takovýto graf obohacený o různé informace tvoří model tříd. Projekt, který se zabývá popisem modelu tříd, a vlastně nejdůležitější ze všech projektů, je PADL. Tento projekt tvoří meta-model pro model tříd.

Samotné vyhledávání návrhových vzorů je založené na principu isomorfismu podgrafu. Musím říct, že mě to poměrně zaskočilo. Celkově jsem byl velice překvapený, jaké psí kusy se zdrojovými kódy dělají, aby udělali nějaké ty analýzy. Původně jsem se mylně domníval, že půjde o něco jako lexikální analýzu. Celkově jsem očekával mnohem více práce se zdrojovými kódy, než s modelem tříd apod.

Když vyprchal můj prvotní šok, dali jsme do vymýšlení způsobu, jak to vyřešit. Vedoucí mi navrhoval, že by nejraději rozdělil model tříd na několik částí, a prováděl analýzu na těchto dílčích částech. Ovšem bylo potřeba vymyslet, jak model dělit, a jak jeho rozdělené části zase spojit zpět. Zpočátku to vůbec nevypadalo jasně, ale domluvili jsme se, že budeme model dělit na úroveň balíčků či namespaců. První úkol zněl jasně – analyzovat kód balíček po balíčku.

Metriky kódu

Nástroj, na kterém budu prvně pracovat je POM. POM dělá několik analýz kódu. V první fázi vypočítává metriky, jako je například CBO (coupling between objects), DIT (depth of inheritance tree) apod. Těchto metrik je celkem 72. Většina metrik je unárních, tedy počítají se vzhledem k 1 třídě, ale také je tam několik binárních metrik, které vyjadřují vztah mezi 2 třídami. Většina metrik je závislých na celkovém modelu, takže na ně není možné použít navrhovaný způsob rozdělení modelu do několika menších částí. Ovšem některé závislé nejsou, a tak jsem se dal do identifikace těch nezávislých. Postupně jsem prošel všechny metriky, prozkoumal jejich zdrojové kódy, zjistil, zda vyžadují celkový model či ne, a ty, které ne, jsem otagoval příslušným interfacem. Na závěr jsem si napsal unit test, který zkouší spočítat metriky na úrovni balíčků a porovnává hodnoty s metrikami z celkového modelu.

Nástroj na slučování dílčích modelů – PADL Merger

Dalším krokem bylo vyřešit ony metriky závislé na celkovém modelu. A tady přišlo na řadu spojování dílčích částí modelu. Nejprve jsem musel dopodrobna prozkoumat, jak vypadá zdrojový kód tříd modelu, jak se model sestavuje apod. Zjistil jsem, že každá entita z analyzovaného zdrojového kódu (balíček, třída, interface, metoda, parametr…) má svou reprezentaci ve zdrojových kódech onoho nástroje na analýzu a tvoří tak meta-model. Třídy, ke kterým není k dispozici zdrojový kód (například vnitřní implementace standardních tříd Javy), jsou reprezentovány pomocí interface IGhost.

Rozhodl jsem se tedy vytvořit nástroj, který nalezne všechny ghosty v modelu a shromáždí jejich reference na jednom místě – v hash mapě. Už to samo o sobě mi dalo docela zabrat, ale docela mě to bavilo. Naučil jsem se přitom používat návrhový vzor Visitor 🙂 Dalším logickým krokem bylo nahrazení těchto ghostů entitami, které reprezentují plně analyzovanou implementaci daného ghosta. Těmto entitám interně říkám implementing entities nebo zkráceně implementors. Nahrazení ghostů funguje tak, že se pracuje se 2 modely. V prvním modelu, nazvěme ho třeba cílový, se postupně projdou všichni ghostové a zkusí se vyhledat podle ID v druhém modelu, zdrojovém modelu. Pokud zdrojový model obsahuje entitu s daným ID, máme vyhráno. Stačí ji vyjmout ze zdrojového modelu a vložit do cílového 🙂 Ovšem tahle sranda není vůbec jednoduchá a dala mi docela zabrat. Zdrojové kód třídy, která toto dělá, má skoro 1000 řádek.

Unit testing

Když jsem dokončil slučovací nástroj, dal jsem se do psaní testů. Vůbec jsem nevěděl, jak ověřit, jestli jsou modely sloučené správně. A tak mě napadlo zkusit porovnat počet entit ve sloučeném modelu a v modelu, který byl vytvořen bez slučování. Pak mě napadlo porovnat také metriky, pokud jsou modely stejné, měly by být i metriky stejné…

Bugy

Ovšem tady jsem narazil. Metriky stejné nebyly 🙁 A tak jsem se dal do hledání bugů. Po opravení několika svých bugů jsem narazil na neočekávané chování několika tříd z projektu PADL. Nahlásil jsem toto chování profesorovi, který je hlavním vedoucím projektu. Ten mi potvrdil, že je to neočekávané, a že se s největší pravděpodobností jedná o bug. A tím začalo moje hledání bugů v projektu PADL 🙂 Doposud jsem jich našel a opravil nemalé množství, ale mnohé stále zůstávají neobjeveny. Když už jsem se hrabal ve zdrojových kódech PADLu, napadlo mě, že spustím unit testy z projektu zvaného All Tests. To jsem asi neměl dělat.. Testů tam bylo obrovské množství (asi 500), běžely poměrně dlouho (odhaduji to na 20 minut), a výsledkem bylo, že jich více než polovina neprošla. Zajímavé.. Bohužel toto je výsledkem poměrně nekoordinovaného způsobu práce, který tu provozují. Na projektu dělá několik lidí, vždycky někdo někde něco upraví, commitne a dál se o to moc nestará. Nějaké konvence, návrhové vzory apod. se tu moc neřeší. Je to trošku paradox, projekt na analýzu kódů, vyhledávání návrhových vzorů a code smells je, bohužel, plný code smells 😀

Paralelizace? Ještě ne…

V první části stáže jsem se tedy (bohužel) vůbec nedostal k žádné paralelizaci. Zatím jsem pouze řešil nástroj na spojování modelů a opravoval bugy. Také jsem radil kolegovi z Mexika, který měl tu smůlu, že musel tento projekt používat na analýzu kódu. Sice jsem byl trochu zklamaný z toho, že jsem s tím moc nepohnul, ale měl jsem radost z toho, že tomu rozumím natolik, že jsem schopný radit ostatním 🙂 Také jsem byl rád, že jsem nalezl a opravil několik bugů. Celkově mi první část projektu dala trošku jiný pohled na rozsáhlé a zejména teoretické projekty.

Výšlap na Mt. Tremblant

Jedním z výletů pořádaným studentským klubem COPEC byl také výšlap na horu Mt. Tremblant. Hora Mt. Tremblant je vzdálená zhruba tak 150km severně od Montrealu. Tento výlet patří patrně mezi nejoblíbenější výlety vůbec, protože nás jelo opravdu hodně – naplnili jsme celkem 5 autobusů. Naštěstí nám počasí přálo a tak jsme si užívali krásného teplého dne s nebem bez mráčků. Výlet se konal 28. září a tak se nám naskytl překrásný pohled na okolí obklopené stromy hrajícími všemi barvami. K vidění byly různé odstíny žluté, oranžové a červené. Myslím, že podzim patří k nejkrásnějším obdobím v Kanadě. Tedy alespoň v Quebecku. Mají tu spoustu smíšených či převážně listnatých lesů a hodně javorů, jejichž různě zbarvené podzimní listí je skutečně překrásné.

výšlap na Mt. Tremblant

podzim

Hora Mt. Tremblant je asi 875m vysoká a nabízí různé stezky na vrchol. Možností bylo skutečně mnoho a tak jsme si nechali poradit v turistickém centru. Paní nám dala turistickou mapu a poradila nám, ať se vydáme po stezce C, že se tam nachází několik vodopádů a spoustu vyhlídkových míst. A tak jsme se dali na cestu. Stezka C je zhruba tak 7km dlouhá a cesta na vrchol trvá něco okolo 2 hodin. Samozřejmě záleží na tempu, které zvolíte, ale pokud si cestu chcete pořádně užít a udělat si při ní i pár fotek, pod zmíněné 2 hodiny se asi nedostanete. Obzvlášť když jdete s davem lidí 🙂 Ovšem jsou i tací, kteří si tam jdou zasportovat a tak se na vrchol hory raději proběhnou. Musí to být docela makačka, ale věřím, že je to efektivní způsob jak nabrat fyzičku. Po náročném výšlapu se vám naskytne překrásný výhled na okolní kopce a jezera.

Výšlap na Mt. Tremblant

Vrchol hory

Na vrcholu hory se nachází horská chata s restaurací a dalším turistickým centrem. Také se tam nachází lanovka, kterou se na vrchol dostali tací, kteří si nevěřili na tak náročný výšlap. Jelikož je časově velice náročné dostat se na vrchol a zpět, tak jsme se rozhodli použít lanovku na cestu zpět do vesničky v údolí.

Já na vrcholu Mt. Tremblant

Kolem vrcholu hory se nachází také několik dalších stezek. Jelikož nám ještě zbyl nějaký čas, rozhodli jsme se jít se podívat ještě na stezku K a B. Tyto stezky jsou dohromady dlouhé zhruba tak 3km, ale nejsou moc náročné, a tak nám ani ani nedaly moc zabrat. Po zdolání těchto stezek se nám začínal krátit zbývající čas a tak jsme se svezli lanovkou dolů do vesničky.

Foto chata na vrcholu

Vesnička

Vesnička Tremblant doslova žije turismem. V okolí naleznete spoustu restaurací, obchůdků se suvenýry apod. Také tu prodávají lyže a věci na zimní sezónu. Mt. Tremblant má totiž velké množství sjezdovek a také několik tras pro sněžnice. Na své si tu přijde zkrátka každý, ať už milovník zimních radovánek nebo fanda do horských výšlapů.

Fotka vesničky Tremblant

Poměrně velké pozdvižení ve vesničce způsobila zaběhnutá srnka. Docela mě překvapilo, že se moc nebála. Asi byla na lidi zvyklá. Chvilku jsme jí pozorovali, jak pobíhá po okolí, ale pak nás to přestalo bavit a pokračovali jsme v cestě na autobus. Cestou jsme se ještě zastavili na zmrzlinu a pak už hurá zpátky do Montrealu.

Přidávám odkaz na fotogalerii Alexandra Collina, který má zrcadlovku a tak se mu podařilo zachytit krásy podzimního listí mnohem lépe než mě.

Vrchol Mt. Tremblant

Polytechnique de Montreal

Dnes bych se chtěl trošku rozepsat o škole na které studuji (vlastně pracuji, protože stáž tady považují za práci a potřebujete na ní pracovní povolení), tedy o Polytechnique de Montreal nebo-li Polytechnice.

Francouzská univerzita

V Montrealu se nachází několik univerzit a jsou rozdělené na převážně francouzské a anglické. Polytechnika je jednou z francouzských. Další francouzskou univerzitou je Université de Montreal, nebo-li UdeM. Anglické univerzity jsou Concordia a McGill.

Lokalita

Polytechnika se nachází na nejvyšším (a vlastně asi i jediném) kopci v Montrealu – Mont Royal, v komplexu univerzity UdeM. Polytechnika má dvě budovy – jednu modernější, Pavillon la Sonde, a jednu starší – Pavillon Principal. Ta modernější budova mi uvnitř velice připomíná novou budovu ČVUT a NTK. Řekl bych, že je to architektonicky zhruba tak něco mezi nimi. Patra jsou různě vybarvená – je tu červené patro, oranžové patro, zelené patro a modré patro. Tyto barvy reprezentují jednotlivé elementy – červená je magma, oranžová je země, zelená je vegetace a modrá je nebe.

fotka Pavillon la Sonde

Laboratoře fakulty informatiky se nacházejí ve 4. – oranžovém patře. Některé počítačové učebny se nacházejí v 6. – modrém patře. V 6. patře je také školní bufet. Sice není tak drahý, jako školní jídelny, které sídlí ve vedlejší budově, ale pořád se tam člověk pořádně nenají. Ale alespoň se tam platí podle váhy, takže můžete odhadnout, kolik budete platit, podle toho, kolik si toho nandáte.

Profesoři

Nemohu mluvit za celou školu, protože jsem potkal pouze několik profesorů z fakulty informatiky, ale myslím, že se to příliš lišit nebude. Převážná většina profesorů jsou cizinci. Vlastně neznám žádného profesora, který by byl místní. Pravděpodobně to bude souviset s místním vzdělávacím systémem. Na fakultě informatiky všichni profesoři mluví převážně anglicky (naštěstí).

Angličtina

Já trávím většinu času v laboratořích, kde se nacházejí většinou stážisti jako já, nebo doktorandi. Všichni komunikujeme anglicky, francouzsky jsem tu slyšel mluvit snad jen jednoho studenta z Belgie. Je to poměrně pochopitelné, protože angličtina je v IT odvětví naprosto stěžejní jazyk. Naopak se divím, že univerzita nenabízí žádné předměty v angličtině. A to ani na magisterském programu, který studují převážně zahraniční studenti.

Polytechnika si velice brání francouzštinu a nechce připustit žádnou výuku v angličtině. Což mi příjde velice zvláštní, vzhledem k tomu, že původně slibovali otevřít anglický program. Údajně se vedení rozhodlo, že ho neotevřou, protože se chtějí držet tradiční francouzštiny. Dokonce jsem od kolegy Rodriga z Mexika zaslechl, že prý chtějí zavést nějaké povinné vstupní testy francouzštiny i pro studenty doktorských programů. Dovedu pochopit, že francouzština je pro ně jakousi tradicí, ale nerozumím tomu odporu k angličtině. Montreal je město, kde převážná většina obyvatel umí anglicky. Navíc univerzitní studenti (a obzvlášť ti na magisterském či doktorském programu) jsou převážně cizinci. Pokud se budou nadále takto urputně bránit angličtině, studenti půjdou raději studovat na jinou univerzitu – například na McGill.

Studenti

Jak jsem již několikrát zmínil, převážnou většinu tvoří zahraniční studenti. Zejména Francouzi, kterých je tu dost možná více než Kanaďanů. Co mě ale velice překvapilo je množství holek. Polytechnika je čistě technická univerzita, na kterých většinou (tedy alespoň u nás) moc holek nestuduje. Tady to ovšem vůbec neplatí. Oficiálně je zde asi 30% holek, ale řekl bych, že to číslo je mnohem větší. A to dokonce i na takových oborech jako je elektrotechnika a IT. V naší laboratoři je dokonce více holek než kluků.

Nová země, čas osvojit si nové zvyky

Jsem již skoro 2 měsíce v Kanadě a od začátku se snažím pobyt tady zužitkovat jak nejvíc to jen půjde. Ve škole sice pracuji jen na jednom projektu, ale mimo školu se snažím osvojit si nějaké nové zvyky, nastudovat něco nového a částečně sledovat krok s kamarády, kteří musí doma rozdýchávat nával nových informací v podobě PARů a dalších předmětů.

Don’t Worry, be Happy!

Jednou z nejdůležitějších věcí o kterou se snažím, je nedělat si zbytečné starosti. Když jsem byl doma, měl jsem tendenci všechno brát až příliš vážně a hrozně moc to řešit. Tady jsem si řekl, že už toho bylo dost, a je na čase si odpočinout od starostí. Ovšem chvilku mi trvalo, než jsem se to naučil…

První týden, když mi profesor ukázal rozsah projektu a vysvětlil mi, co bude mým úkolem, jsem si myslel, že to zabalím a pojedu domů 🙂 Bylo toho hrozně moc, nevěděl jsem kde začít a vůbec co si s tím počnu. Hrozně moc jsem to řešil a přemýšlel jsem nad tím. Práce poměrně stála a já z toho byl poměrně nešťastný.

Pak jsem si řekl, o co jde? Mám na to celkem 3 měsíce, je jasné, že to nemůžu vyřešit hned první týden! A co naplat, že teď nemám tušení co s tím. Nějak to pude. A i kdyby ne, tak se svět nezboří. A přestal jsem to řešit. A ono to najednou šlo… Začal jsem do projektu více a více pronikat a nyní se v něm již velice dobře orientuji. Dokonce jsem několikrát radil mexickému kolegovi Rodrigovi a hlavní vedoucí projektu profesor Yann-Gaël mi poslal e-mailem uznání, jak rychle jsem se dokázal zorientovat. Také se mi podařilo najít a opravit spoustu bugů a u některých věcí navrhnout lepší řešení daného problému. A přestože zatím nemám žádné pořádné výsledky, tak se mě nedávno můj supervisor zeptal, jestli bych tu nechtěl dělat PhD. 🙂

Ranní rozcvička každý den

Tohle jsem chtěl zavést doma už dávno. Cvičit pravidelně každý den. Bohužel se mi to nějak nedařilo. Byť jsem ke konci školního roku cvičil relativně pravidelně, stále to nebylo každý den. A přes prázdniny mi to vypadlo úplně. Tady jsem si řekl, že takhle teda ne. A hned od druhého dne každé ráno cca půl hoďky cvičím.

Trávit hodně času venku

Další věcí o kterou se tu pokouším je trávit co možná nejvíce času venku. Přes týden se mi to moc nedaří, ve škole končím poměrně pozdě a domů se vracím za tmy, a tak se snažím to dohnat alespoň o víkendech. A to hlavně díky akcím organizovaným místním klubem pro zahraniční studenty COPEC, které probíhají většinou v sobotu. Zatím nám počasí díkybohu přeje a tak si užíváme krásných slunných a teplých dnů. Tu a tam zaprší, ale to jsou vesměs krátkodobé přeháňky. Několik místních mi říkalo, ať si tohle počasí užíváme, dokud je, protože tady je prý velice chladno už koncem října. Občas se tou dobou dokonce i objeví sníh. Doufejme, že počasí ještě nějakou chvíli vydrží, a dopřeje nám ještě několik podařených výletů.

Naučit se vařit

Tohle je věc, kterou si ještě ze seznamu odškrtnout nemohu. Tedy pokud někdo nepočítá za umění vařit udělání si těstovin či mražené zeleniny 🙂 Abych se přiznal, tak jsem byl zatím až příliš líný, než abych se pustil do nějakého vážnějšího vaření. Většinou jsem si vymýšlel výmluvy jako že nevím, co bych si uvařil. Nebo že nemá cenu vařit pro jednoho, že se to nevyplatí apod. Ale už mi pomalu ale jistě dochází zásoba těstovin a také jsem se konečně dokopal k tomu, abych si napsal seznam jídel, které se budu více či méně úspěšně pokoušet uvařit.

Touha cestovat

Když jsem přijel, myslel jsem si, že se mi alespoň na nějakou dobu podařilo ukojit svou touhu po cestování. Opak je pravdou. Mám čím dál tím větší chuť cestovat a poznávat nové země 🙂 Dokonce už přemýšlím nad možnostmi, jak toho dosáhnout. Naštěstí dnes žijeme v době, kdy je cestování poměrně snadné, a tak je možné dostat se během relativně krátké doby i na druhý konec světa.

Westernový festival St. Tite

V sobotu 14. 9. jsme s místní organizací pro zahraniční studenty COPEC navštívili westernový festival St. Tite. Festival se koná ve stejnojmenné vesničce, která se nachází asi 200 km od Montrealu.

Festival probíhá celkem 10 dní – od 6. do 15. září.

Celý festival provází country muzika a typické kovbojské klobouky, které tam prodávají na každém rohu. Všude podél hlavních ulic vesničky St. Tite se nachází stánky s typickými westernovými věcmi jako jsou rifle, již zmíněné klobouky, boty apod. Také je tam spoustu stánků s občerstvením, samozřejmě tu a tam nějaký ten alkohol a stánky s nejrůznějšími suvenýry.

Vesnička, tedy alespoň ta její hlavní část, která je nejblíže hlavnímu dění festivalu, je pěkně nazdobená. Ale i samy domečky působí svým osobitým westernovým dojmem a dotvářejí jedinečnou atmosféru. V době festivalu vesničkou proudí tisíce lidí a v nejbližším okolí parkují stovky karavanů, obytných přívěsů a obrovských aut. Osobně si St. Tite nedovedu představit v době mimo festival, jistě musí působit naprosto prázdným dojmem.

P9140371

Rodeo

Hlavním programem festivalu bylo rodeo. To jsme si samozřejmě nemohli nechat ujít a tak jsme se na něj šli podívat. Byla to vskutku velice zajímavá podívaná. Podle očekávání bylo rodeo velice zaplněné. Celým rodeem nás provázel moderátor, kterému jsem bohužel nerozuměl ani slovo, ale působil docela vtipně. Na konci si ze sebe udělal srandu – ohlásil, že si to chce vyzkoušet a objevil se na velkoplošné obrazovce jak sedí na býkovi a uchopuje otěže. Působil velice zmateně a my jsme zpočátku nevěděli, jestli to skutečně myslí vážně. Když se pak otevřeli dveře z boxu, vyjel na nich vysmátý moderátor na mechanickém býkovi 🙂

P9140480

Rodeo se skládá z několika disciplín:

Jízda na splašeném koni

První disciplínou je jízda na splašeném koni. Nejedná se ani tak o jízdu, jako spíš o snahu se na koni udržet po daný časový limit. Kůň různě skáče, vykopává apod. Prostě se všemi silami snaží shodit kovboje. Velice často se mu to i povede. Tato disciplína spolu s jízdou na býkovy patří k těm nejzajímavějším, ale zároveň také nejnebezpečnějším, které rodeo nabízí. Mnohé pády vypadají velice nebezpečně a ne zřídkakdy kovboj schytá i nějaký ten kopanec.

P9140389

P9140393

Chytání telat lasem z koně

Další disciplínou je chytání telat lasem z koně. Tele je vypuštěno z klece a běží na druhý konec arény. Kovboj na koni za ním vzápětí vyráží. Úkolem kovboje je zachytit tele do lasa a svázat mu nohy. Tato disciplína testuje kovbojovu zručnost s lanem, rychlost a přesnost. Občas se telatům podařilo utéct nebo se vysmeknout z lasa. Nicméně většinou skončila svázaná na zemi.

P9140401

Jízda na divokém býkovi

Toto je hlavní disciplína celého rodea a představení, na které všichni čekají. Disciplína probíhá stejně jako jízda na splašeném koni, nicméně obrovský a silný býk tomu dodává naprosto jiný rozměr. V této disciplíně se padá již mnohem častěji než z koně a pády jsou to opravdu velice nebezpečné. Několikrát se dokonce býk snažil zbavit kovboje například tak, že ho chtěl bokem narazit na hrazení nebo vrata od boxu. Také se velice často stávalo, že se býk neuklidnil ani po úspěšném shození kovboje a začal s pěnou kolem huby pobíhat po aréně. Někdy to vypadalo, že si ten býk s pořadateli jen hraje, jindy vypadal rozzuřeně až naháněl hrůzu. Na takovéto situace jsou ovšem pořadatelé připravení – za býkem okamžitě startují 2 kovbojové na koni a svážou ho do 2 las. Poté ho společnými silami odvlečou do boxu. Jeden býk dokonce i přes to vzdoroval a zapříčil se hlavou proti boční stěně od boxů. Nicméně i jeho snaha byla marná a skončil v zákulisí.

P9140507

Povalení býka skokem z koně

Jednou z dalších disciplín je povalení býka skokem z koně. Býk je vypuštěn z klece a vzápětí se za ním rozjíždí kovboj na koni. Po chvilce kovboj z koně seskakuje a skáče přímo na býka. Uchopuje býka za hlavu a tlačí ho k zemi. Když se mu podaří udržet býkovi hlavu u země po dobu několika sekund, uspěl a má splněnou tuto disciplínu. V této jsou vtipné momentky, kdy se kovboj netrefí na býka a skočí mimo. Nebo když se mu býk vytrhne a utíká.

Naskočení na koně

Naskočení na koně patří k dalším z nejzajímavějších disciplín. V rodeu se vyskytuje ve dvou variantách – první varianta je, že kovboj naskočí na koně, na kterém již jede jiný jezdec a jedou spolu. Druhá varianta je, že jezdec z koně seskočí a kůň běží pár metrů sám, než na něj naskočí druhý kovboj. V této disciplíně jde o správné načasování a to u obou kovbojů. Kovboj který jede na koni musí včas seskočit, aby jeho kolega měl dostatek času aby naskočil. Ten zase musí vystihnout ten správný okamžik, kdy kůň projíždí těsně vedle něj, a naskočit a udržet se na něm.

P9140400

Slalom na koni

Toto je asi nejjednodušší a nejméně nebezpečná disciplína z celého rodea. Proto se jí také zpravidla zúčastnili ženy. Po aréně je umístěno několik překážek, kolem kterých musí s koněm procválat. Kůň se nejprve klusem rozběhne na druhém konci arény, pak zamíří k první překážce, oběhne ji a následně druhou. Vypadá to vcelku snadně, ale když se kůň pořádně rozběhne, tak bývá občas trochu problém dostatečně zpomalit přes překážkou a neshodit jí.

P9140377

Mimosoutěžní představení dětí

Myslíte si, že rodeo je nebezpečné? To si evidentně nemyslí rodiče mladých kovbojů ve věku okolo 14 let, kteří nám v další části programu ukázali, že mají odvahu a nebojí se ani býka. A aby to nebylo málo, tak se vrhli hned na nejnebezpečnější disciplínu – jízdu na divokém býkovi. Nutno podotknout, že měli alespoň o něco menší býky, než jejich dospěli kolegové. Přesto je to velice nebezpečné a myslím, že si právem zasloužili náš obdiv.

Akrobacie na koni

O umělečtější část programu se postaraly dvě sestry provádějící akrobacii na koních. Jezdili v sedě, v leže, ve stoje, ve stoje na jedné noze apod. A také spolu ve stoje na 2 koních. Byly opravdu velice šikovné a evidentně je to bavilo. Nás taky.

P9140443

Vzdělávací systém ve světě

education-300x219Dnes jsme s kolegy na obědě řešili vzdělávací systém ve světě a dozvěděl jsem se spoustu zajímavých věcí. Řešili jsme převážně univerzitní vzdělání, nižší stupně jsme moc nerozebírali.

Kanada a USA

Většina místních si vystačí převážně se středoškolským vzděláním a když jdou studovat na univerzitu, tak končí po bakaláři. Je to zvláštní, ale s magisterským vzděláním jste pro firmy prý až příliš kvalifikovaní a paradoxně tak máte horší vyhlídky na pracovním trhu. Někteří prý dokonce záměrně neuvádějí magisterské vzdělání, aby snáze sehnali práci. Magistra tu z místních tedy nedělá téměř nikdo. Řekl bych že tak 90% studentů z magisterského programu tvoří zahraniční studenti.

Velká část těchto zahraničních studentů se chce přestěhovat do Kanady a nebo USA, sehnat si tu práci a žít tady. Studují tu převážně proto, že tady v Kanadě a v USA firmy neuznávají jiné vzdělání, než místní. Pokud již někdo má magisterské vzdělání ze své země, studuje tady PhD. a nebo znovu místního magistra. Někteří dokonce začnou studovat PhD. a po nějaké době si to změní na magistra, protože je to vyjde levněji a stihnout tak dostudovat dříve.

Vzdělávání v Indii

india Na oběd s námi šla i kolegyně Mina z Indie a tak jsme toho využili a zeptali jsme se jí, jak je možné, že IT průmysl je v Indii na tak vysoké úrovni. Velice mě překvapilo jak komplexní vzdělávací systém v Indii mají. A také je zajímavé, jak obrovský důraz kladou na matematiku. Prý nesmí na žádné úrovni školství používat kalkulačku, vše musí počítat z hlavy!

Také mají školy rozdělené do mnohem více úrovní než my. Nepamatuji si přesně na kolik, ale tuším že jich bylo asi 5. A prakticky na všech úrovních je povinná matematika. Dokonce i lidé, kteří studují obory nesouvisející s matematikou, studují i matematiku. Miny bratr studoval matematiku a biologii. Ale když chcete studovat literaturu či historii, tak vám prý další matematiku odpustí 🙂

Matematika je v Indii na takové úrovni, že se prý učí integrály a derivace zhruba tak ve 12 letech. Ve 12 letech! To je látka, která se u nás bere na lepších průmyslovkách ve 3. nebo 4. ročníku, na horších se nebere vůbec! Podobná situace je i u gymnázií, i když tam by měla převažovat ta gymnázia, která tuto látku proberou. Ale probírají se tam jen naprosté základy, podrobněji se limita, derivace a integrály berou až na vysoké škole. Tedy na technicky zaměřené vysoké škole.

V Indii vláda také velice aktivně podporuje IT. Dívky dostávají od vlády zdarma notebook (prý Lenovo) a kolo po dosažení určité úrovně vzdělání. Chlapci samozřejmě nejsou diskriminováni a dostanou notebook a kolo taky, ale musí si počkat o dvě úrovně výš 🙂 Vláda takto podporuje vzdělávání dívek, které v minulosti v Indii nemělo příliš velkou tradici.