Elektronka online - leden 2023

Úvodník

V lednovém čísle loňského ročníku Elektronky jsem si na mušku vzal novoroční předsevzetí. Už v onom textu jsem většině těchto předsevzetí prorokoval jepičí život, protože lidé jsou jenom lidmi a málokdo je obdařen tak pevnou vůlí, že v plnění svého předsevzetí celý rok vytrvá a nemusí tak trápit své svědomí úvahami typu - kdybych já jen….

Tomuto trápení svědomí lze předejít dvěma způsoby. Buď si žádná novoroční předsevzetí nedáte a pak nejste zklamáni nebo naopak svá předsevzetí splníte a pak můžete být na sebe právem hrdi.

Už vůbec nedoporučuji svá předsevzetí, navíc mnohdy v povznesené silvestrovské náladě, veřejně vyhlašovat. Pak máte proti sobě po celý rok hned dva protivníky. Již zmíněné vlastní svědomí, které, jak známo, umí hryzat velmi spolehlivě, a také samozřejmě všechny ty, kdož byli vašemu sebevědomému vyhlášení předsevzetí přítomni. Záleží také na tom, co a před kým jste slíbili splnit. Zatímco dobrý kamarád, je-li opravdu dobrý a jeho povaha nenese žádné stopy zlomyslnosti, vám váš závazek na oči vyhazovat nebude, protože vaše hubnutí mu nejspíš jen pramálo leží na srdci, zcela jinak tomu bude u vaší přítelkyně či manželky, pokud jste před ní vyslovili předsevzetí, že ji letos již opravdu nenecháte v tanečním kurzu samotnou, ale stále se k přihlášení do kurzu nemáte. Pak budou vaše rande s přítelkyní poněkud fádní a u ženatých jedinců hrozí studené večeře.

Pokud si i přes veškerá úskalí následné realizace vytyčeného předsevzetí přesto nějaké takové stanovíte, zvažte velmi pečlivě všechny okolnosti jeho uskutečnění. Žijeme v době poměrně významné inflace a ta vám v plnění vašeho předsevzetí může jak pomoci, tak ale bohužel i trochu bránit. Zvyšující se cena cigaret váš úmysl navždy se s nimi rozloučit podpoří, zatímco dražší vstupy do posilovny, na bazén či jiná sportoviště chuť investovat do vlastní štíhlé postavy s největší pravděpodobností významně naleptá.

Pamětliv všech výše zmíněných okolností a s nimi spojených rizik jsem si pro jistotu žádné novoroční předsevzetí nedal. A jak jste na tom vy?

Po nějaké době prověřování vlastní vůle se ti z vás, kteří si přece jen nějaké to předsevzetí stanovili, mohou s námi všemi podělit na stránkách Elektronky o zkušenosti, které v průběhu tohoto procesu získali. Vetknete-li tyto zkušenosti do čtenářsky poutavého článku, přispějete hned dvojím způsobem: obohatíte tím náš časopis a zároveň inspirujete jeho čtenáře k něčemu, co funguje a má smysl.


Mistrovství světa v ledním hokeji do 20 let

Příznivcům zimních sportů jistě neuniklo, že poslední týden v roce a první týden roku nového patří mj. mistrovství světa v ledním hokeji hráčů do 20 let. Zisk stříbrné medaile z nedávno skončivšího turnaje pro Českou reprezentaci je příležitostí k připomenutí si historie tohoto každoročně ostře sledovaného turnaje.

Historie mistrovství světa hráčů do 20 let sahá do roku 1977, kdy se konal první oficiální turnaj, který hostilo Československo, konkrétně města Banská Bystrica a Zvolen. Zvítězil tým Sovětského svazu, který kromě let 1982 a 1987 na každém šampionátu až do svého rozpadu obsadil jednu ze tří medailových pozic. Za zmínku stojí právě ročník 1987, který pro týmy Sovětského svazu a Kanady skončil ve vzájemném zápase, který vyústil v jednu z největších hokejových rvaček v historii. Slavnou se stala mj. díky rozhodnutí rozhodčích zhasnout na stadionu v Piešťanech světla, za účelem ukončení šarvátky. Oba týmy byly následně ze šampionátu vyloučeny, zlatou příčku obsadil tým Finska, stříbrnou Československo a bronzovou Švédsko. Zajímavý byl ročník 1993, který vzhledem k termínu konání začínala naše země jako Česká a Slovenská federativní republika a končila jako dvě samostatné státy, Česká republika a Slovensko (tým vybojoval bronz). Slovensko jako nově vzniklý stát bylo následně zařazeno do nejnižší divize mistrovství světa, nicméně v roce 1996 se již opět účastnilo elitního turnaje a československé derby na tomto turnaji skončilo remízou 4:4. Největšími úspěchy českých juniorů jsou bezesporu zlaté medaile z let 2000 a 2001 a také bronz z roku 2005. Součástí zlatých týmů byli mimo jiné hráči jako Zbyněk Irgl, Martin Erat nebo Tomáš Plekanec. Přes následné roky bez medaile prošla českým juniorským týmem řada hráčů, kteří v dnešní době hrají v NHL nebo jsou již dlouhé roky součástí české seniorské reprezentace. Příkladem jsou hráči jako Jakub Voráček, Tomáš Hertl, Radko Gudas, David Pastrňák nebo Filip Hronek. Od posledního medailového úspěchu se tým poprvé probojoval do semifinále až v roce 2018, kdy byli součástí týmu například Martin Nečas, Filip Zadina, Filip Chytil nebo Libor Hájek. V semifinále i zápase o 3. místo ale zvítězily zámořské týmy - nejprve Kanada a poté USA. Následující roky se ve čtvrtfinále nedařilo, včetně toho ostravského v roce 2020, kdy čeští junioři podlehli Švédsku 5:0. V roce 2022 se tým sice probojoval do medailových zápasů, tam však narazil na Kanadu a Švédsko, které rozptýlily sen o medaili.

Na mistrovství světa juniorů 2023 jako by na led vstoupilo úplně jiné mužstvo než v předchozích letech. Česká dvacítka vyhrála základní skupinu a ve čtvrtfinále si přes počáteční komplikace (tým Švýcarska skóroval po 22 vteřinách 1. třetiny) poradila s výběrem Švýcarska a to poměrem 9:1. V semifinále na naše juniory čekal tým Švédska se svou typickou defenzivně zaměřenou hrou. Ve druhé třetině otevřel skóre švédský obránce Jansson. Náš soupeř však nezvýšil svůj náskok ani v početní výhodě pěti proti třem, což českému týmu dodalo sebevědomí, stálo to však mnoho sil. Toužený vyrovnávací gól přišel až v poslední minutě 3. třetiny při hře našeho týmu bez brankáře, kdy skóroval český obránce David Jiříček. V prodloužení se o postupovou branku zasloužili hráči Matyáš Šapovaliv a Jiří Kulich. Posledním zápasem turnaje bylo finále českého týmu proti Kanadě s vynikajícím teprve sedmnáctiletým útočníkem Connorem Bedardem. Po dvou třetinách, kdy Kanad vedla 2:0 a český tým se jen těžko dostával do šancí, se zdálo být rozhodnuto. V posledních minutách třetí třetiny se však českému týmu podařilo snížit na rozdíl jediné branky a následně vyrovnat. Zaskočený kanadský výběr polevil ve výkonu a 17 sekund před koncem měl český tým šanci obrat dotáhnout do konce, brankář Milic však svůj tým podržel. Následná přestávka však dodala našemu soupeři síly a v prodloužení ukončila český sen o zlatém úspěchu. I přes tuto prohru nezbývá než pochválit řadu hráčů i tým jako celek za skvěle odehraný turnaj a novou naději pro český hokej do dalších let.

IT doupě

Jak na… Media Player (v terminálu)

Jestli si ještě pamatujete na úplně první díl Elektronky (já vím, že ne), vydal jsem v něm článek o tzv. Bad Apple Challenge, ve které se vývojáři snaží přehrát hudební klip stejnojmenné písničky na čemkoliv, co alespoň zdánlivě připomíná displej. Tento nápad se mi tak zalíbil, že jsem se rozhodl také zúčastnit, a protože používám linux btw, k tomuto účelu jsem použil terminál. Dnes vám ukážu, jak to můžete udělat také, a pokud pochopíte princip, i vy budete moci Bad Apple přehrát opravdu všude.

Na projekt jsem použil Rust a krátil si ním letní prázdniny. Práci s terminálem zajišťuje knihovna crossterm, zvuk rodio, image pracuje s pixely, eventual má časovač a dirs ukládá soubory. Na konverzi mezi videem a sekvencí skvěle posloužil program ffmpeg, který si můžete stáhnout zde: https://ffmpeg.org/.

Kódu tu mám dnes opravdu hodně, proto začneme pěkně od začátku. Program se otevírá v terminálu, takže má bash podporu a pomocí env::args() z něj můžeme vytáhnout zadané argumenty, v našem případě cestu k videu, které chceme přehrát. Rovnou můžeme prověřit, zda se jedná o video soubor. Je také celkem důležité zkontrolovat pomocí Command::new().output() přítomnost ffmpegu.

A můžeme konvertovat - z videa uděláme kvůli extrakci snímků gif (dá se použít i mp4, má čisté barvy, ale vyžaduje mnohem více kódu) o velikosti kolem 80x80 pixelů (čím větší, tím horší výkon) a 20 FPS a uložíme jej do nějaké složky, která nejlépe není moc na očích. Totéž uděláme s audiem, to má formát .mp3. Teď přijde na řadu knihovna crossterm a její metoda stdout(), která nám umožní upravit úplně celý terminál. Zatím přepneme na „alternativní obrazovku“, vypneme kurzor a zapneme raw mode. Nahrajeme překonvertovaný gif soubor do paměti, zapneme zvuk a dostáváme se k té nejzajímavější části.

Ve funkci generate_frame() opět použijeme stdout(), což společně s enable_raw_mode() o pár řádků výš mnohonásobně zefektivní renderování pixelů a umožní to předchozí snímek místo posunutí nahoru přepsat. Když jsme u těch pixelů, každý z nich má 4 data (rgb a průhlednost), která jsou všechna uložena v proměnné frame. Abychom se k nim dostali, pomocí šířky snímku * 4 definujeme řádek a ten po 4 rozdělíme na jednotlivé pixely. Jejich data jsou ovšem jenom čísla, aby se vykreslily barevně, použijeme escape sekvenci \x1b[38;2;a;b;cm█, kde abc jsou hodnoty pixelů a █ je unicode znak, který bude náš pixel reprezentovat. Všechno to uložíme do stringu, a jakmile bude hotový celý řádek, posune se kurzor terminálu o bod níž a celý se vyrenderuje. Nezapomeňte někam na konec programu umístit end_process(), jinak bude vaše aktuální terminálová relace nepoužitelná.

A jako vždy, tohle je jen začátek - je opravdu hodně věcí, co přidat, například caching videí, celobarevnou podporu (mp4 místo gif), podporu klávesových zkratek (teď nefunguje ani ctrl+c), paralelní načítání do paměti, text o aktuálním času videa, škálovatelnost podle velikosti terminálu, změnu hlasitosti a mnohem víc. Protože má kód přes sto řádků a já mám rád lesy, místo pod článkem jej najdete zde: https://github.com/dlabaja/elektronka_media_player. Mám tam také depozitář s názvem TerminalMediaPlayer, kde jsem vše, co jsem výše vypsal, implementoval. To je pro tento měsíc vše a já se loučím s lego animací naší školy, jak jinak než v terminálu.


Ledová past

Kapitola 2 - Na hranicích - pokračování

„Už se blíží, zase,“ říkal Mike.
Všichni vojáci se ihned začali zvedat a vybíhat z jídelny. Simon a ostatní doběhli do ubikace, popadli polní baťohy a samopaly sundali ze stojanů. Mike ještě zpod postele vytáhl zbraň s dlouhou čepelí, zřejmě se jednalo o nějaký druh mačety. Zasunul si ji do pouzdra u pasu.
„Pohyb, ať jsme nahoře co nejdřív.“
Vyběhli z ubikací směrem k výstupní komoře. Cestou si pozapínali helmy a vesty. Na povrch se dostávali pomocí žebříků. Vyšplhali nahoru. V zákopech už bylo mnoho vojáků, kterým velitelé dávali stručné rozkazy. Simon a ostatní přeběhli přes několik metrů zákopu na své stanoviště. Začali zajišťovat své obvyklé pozice. Simon velel menšímu oddílu, celkově do něj patřilo třináct lidí včetně něj.

Stev a Henry podřepli k zídce z pytlů písku, pušky zamířili na bojiště. Čtyři vojáci začali obsluhovat dva kulomety. Mike se Simonem doběhli k velkému protitankovému raketometu. Mike rozložil dvě velké nohy a upevnil je k zemi. Simon z bedny vedle vytáhl raketu a naládoval ji, poté si ke zbrani přidřepl a přiložil hlavu k zaměřovači. Mike si od pasu vytáhnl dalekohled, dřepl si a začal bojiště pozorovat. Na bojišti se válely vraky, za kterými se mohli nepřátelé skrývat. Zdálo se mu, že se něco mezi troskami hnulo. Přiblížil dalekohledem na dané místo. Nic tam však nebylo.
„Vidíš něco?“
Dostalo se mu stručné odpovědi.
„Ne.“
Velitelské rozkazy utichly, všichni byli na svých místech. Z dálky se začaly ozývat bzučivé zvuky. Na bojišti Mike sice nic neviděl, věděl však, co je vydává. Létající pátrači nebo vozidla. Hlasitost bzučivého sboru začala narůstat, blížili se. Náhle se z dálky vynořilo několik vozidel. Ve stejnou chvíli začala označovat jejich pozice i jiná stanoviště.
„Blíží se k nám, pane,“ oznámil Mike.
Jak se vozidla přibližovala, začaly se vykreslovat jejich detaily. Byla to černá pásová vozidla. Velké trnité radlice si rozrážely cestu terénem. Neměla na sobě žádný zbraňový systém, jak to u jiných vozidel Temného řádu bylo obvyklé.
„Pane, první cíl v dosahu na jedenácté hodině.“
Simon natočil raketomet o něco doleva, znovu se podíval do zaměřovače. Spatřil cíl. Vozidlo bylo přímo ve středu optického sklíčka. Prst přiložil ke spoušti. Zmáčkl. Raketa vyletěla, zbraňový systém cuknul. Prosvištěla vzduchem tak rychle, že pro pouhé oko vypadala jako šmouha. V dálce explodoval cíl. Místo zahalil kouř. Pomalu se začal rozplývat a odhalil zdemolované vozidlo. Mělo proražený přední plát, raketa proletěla dovnitř, nikdo z těch plecháčů takový výbuch určitě nepřežil. Poté se ozvalo několik dalších výbuchů, ostatní části zákopu se začaly bránit také.
„Pane, cíl byl úspěšně zneškodněn.“
Poté se znovu zahleděl do dalekohledu. Přejel mu mráz po zádech. Z místa, kde zničili vozidlo, vyjela další tři. Byla stejného typu. Jejich vzdálenost se rychle zmenšovala.
„Další tři cíle na jedenácté hodině.“
Mike uvažoval, co asi vozidla vezla tentokrát. Pravděpodobně pěšáky, rychlou přizpůsobivou jednotku, která se do zákopu pokusí vniknout. Pro docílení tohoto úkolu udělají vše. Neutečou, ani se nevzdají, byli sem vysláni, aby zákop dobyli. Neexistovalo pro ně nic jiného než splnění tohoto úkolu.

Simon zaměřil další cíl, vypálil. Raketa vyletěla a zasáhla vozidlo zboku. Exploze roztrhla plášť vozidla. Simon vložil další raketu. Mike sledoval, jak raketa dopadla a explodovala. Vozidlo, kterému protrhla plášť, teď stálo na místě, možná poškodili pásy nebo řídící mechanismus. Náhle se z vozidla vynořili pěšáci, napočítal jich deset. Rozběhli se směrem k zákopům a využívali všechny kryty, které jen mohli. Do bitvy se zapojily těžké kulomety, kterým se nepřátelé dostali na dosah. Další dvě vozidla už byla vzdálena jen něco přes sto metrů. Simon znovu zamířil cíl, tentokrát už jeho vzdálenost od zákopu byla tak poloviční, než když střílel na to předchozí. Než vystřelil, zahlédl, jak zpoza vraku tanku vyjelo další pásové vozidlo. Raketa dopadla na radlici a roztrhala ji na kousky, vozidlo však bylo stále v pohybu. Rychle vložil další raketu.

Mike pozoroval vozidla, raketa, kterou Simon vystřelil, cíl nezastavila. Náhle se obě vozidla zastavila. Posádka se vyloďuje, pomyslel si. Zpoza vozidel začali vybíhat pěšáci. Samopaly a útočné pušky jich několik vyřadily. Ostatní se schovávali za nejbližší vraky a sutiny. Bitva započala. Simon zaměřoval nejvzdálenější vozidlo, aby zničil pěchotu uvnitř. Raketa proletěla vzduchem a zalétla pod vozidlo, exploze ho roztrhala na kousky. Součástky i části dronů byly vymrštěny všude kolem. Poté na obzoru zpozoroval další tři vozidla. Natáhl ruku do bedny s raketami, zděšeně zjistil, že tam už žádné nebyly. Všichni černí pěšáci už se vynořili z vozidel, i za cenu velkých ztrát postupovali vpřed. Běželi a přitom zasypávali zákopy sprškami kulek. Henry a Steve se rychle schovali za barikádu. Salvy zářivých kulek prolétaly vzduchem jako smrtící déšť. Henry si odepnul od opasku granát a vrhnul jej na místo, kde se za několika kameny skrývalo pět pěšáků. Rychle se znovu přikrčil. Ozvala se exploze. Mike přestal dalekohledem sledovat bojiště, musel se ukrýt za barikádu, protože několik pěšáků bylo už hodně blízko. Popadl samopal, vykoukl ze zákopu, opřel se o pytle s pískem a začal střílet. Pěšáků bylo mnoho, celkově jich tu teď mohlo být čtyřicet a další už se blížili ve vozidlech. Všichni se blížili k zákopům. Měli sice velké ztráty, ale až se sem dostanou, zaměstnají vojáky, než přijdou další. Simon každého, kterého měl na mušce, obdaroval smrtícím dárkem v podobě dávky.
„Tady to máte, vy parchanti,“ zařval někdo přes bitevní vřavu.
Simon poslal jednoho z vojáků do skladu pro další rakety. Teď se musel krčit v zákopu a likvidovat tolik dronů, kolik jen dokázal. Byli už od zákopu jen pár metrů. Několik jich do něj chtělo vniknout, ale zkropil je těžký kulomet. Sestřelil jednoho, který byl připraven vrhnout granát. Dalšímu vniknutí však nezabránili, tři droni skočili dovnitř. Všichni byli vybaveni útočnými puškami, na konci měli střepinový bajonet. Jednoho vojáka zastřelili, druhého probodli. Jeden se vrhnul na Simona...


Redakční omluva
Milí čtenáři naší Elektronky on line. Hned v úvodním čísle tohoto kalendářního roku se vám musíme omluvit za chybu tisku, která se nám v prosincovém čísle vloudila do článku našeho přispěvatele Ondry Langera Vesmírný program Artemis, aneb per aspera ad Lunam. Místo dokončení tohoto článku posledním odstavcem jsme zařadili dvakrát po sobě předposlední odstavec, čímž jsme vyznění celého příspěvku nechtě poškodili. Abychom tento lapsus nejen v očích čtenářů časopisu, ale také v očích autora článku odčinili, otiskujeme Ondrův příspěvek ještě jednou - doufejme již bez jakýchkoli chyb.

Vesmírný program Artemis, aneb per aspera ad Lunam

V roce 1969 byla odstartována nová éra lidstva. Poprvé se totiž na Měsíci ocitli první lidé. Tehdejší „závod“ o přistání na Měsíci vyhrála NASA, tedy USA. Letopočet 1972, kdy na Luně přistála poslední mise s lidskou posádkou - Apollo 17, je již však poměrně dávný - dělí nás od něj 50 let. A tak nejen kvůli tomu byl vytvořen nový vesmírný program, pojmenovaný po řecké bohyni Měsíce - Artemis.

Program, jenž dostal zelenou v roce 2017, bude záviset na dvou základních prvcích. Tím prvním je kosmická loď Orion. Loď bude sloužit jako kabina a řídící středisko pro posádku většiny misí Artemis. Druhý prvek je SLS – Space Launch System. SLS je raketový systém, který bude vynášet kosmickou loď Orion s posádkou, či náklad, do vesmíru. V současné době má SLS tři kategorie – Block 1, Block 1B a Block 2 – přičemž jsou navíc rozděleny na typ Crew a Cargo. Block 1B a 2 jsou ještě stále ve vývoji, ovšem jejich dokončení je velice blízko. Block 1 je plánován pro mise Artemis I až III, Block 1B pro IV až VIII a Block 2 pro IX až prozatím neurčeno. Na uskutečnění letů na Měsíc, či k němu, se podílí mimo NASA i další vesmírné agentury jako ESA (European Space Agency), JAXA (Japan Aerospace Exploration Agency) a CSA (Canadian Space Agency). Spolupracují také soukromé společnosti jako SpaceX či Lockheed Martin. Některé komerční firmy se rovněž podílejí na podpůrném programu CLPS, který má zajistit levnou dopravu různých nákladů přímo na Měsíc.

Jako první se k Měsíci vydala 16. listopadu tohoto roku mise Artemis I. Má za cíl otestovat systémy obou fundamentálních prvků mise – tedy Orionu a SLS. Let byl bezpilotní a do vesmíru se mise dostala pomocí SLS Block 1. Poté se loď Orion oddělila a byla navedena na tzv. vysokou oběžnou dráhu kolem Měsíce, odkud se po několika obězích kolem našeho souputníku vydala zpět na Zemi. Vrátila se 11. prosince, kdy přistála do Tichého oceánu nedaleko kalifornského pobřeží.

Další mise Artemis nesoucí jednoduše pořadová čísla – II, III, IV… - již vynesou k Měsíci nové astronauty. Mise Artemis III, která je naplánována na rok 2025, konečně po více než pěti dekádách dopraví na povrch Měsíce dalšího člověka - a s tím i první ženu. Zároveň je mezi Artemis II a III plánován počátek výstavby nové vesmírné stanice s názvem Gateway. Gateway bude umístěna na orbitě Měsíce a má sloužit jako mezistanice při cestách na povrch Luny, na planetu Mars a dokonce i hlouběji do naší Sluneční soustavy. Stanice má být mnohem menší než je ISS - posádka bude čítat maximálně 4 členy a nebude trvale obydlena (existuje ovšem stále možnost dalších rozšíření Gateway). I přesto zde budou uskutečňovány různé vědecké i technické experimenty a prováděn výzkum.

Artemis je jedinečný program, který má mimo jiné za cíl vybudovat stálé kolonie na Měsíci. Otevře také cestu dále do vesmíru a díky němu zrealizujeme představy, které byly doposud jen pouhou sci-fi - jako je například kolonizace Marsu. Budoucnost lidstva není na Zemi, ale tam nahoře, ve hvězdách!

Tento článek ukončím citátem Stephena Hawkinga, jedné z nejvýznamnějších osob moderní vědy, o vesmíru:
„Dívejte se vzhůru na hvězdy a nikoli dolů na nohy. Pokuste se pochopit, co vidíte a proč existuje vesmír. Buďte zvědaví.“


Pranostiky na leden

  • Leden jasný, roček krásný.
  • Mnoho sněhu v lednu, mnoho hřibů v srpnu.
  • Leden studený, duben zelený.
  • Když není konec ledna studený, únor to dvakrát nahradí.
  • Teplý leden, k nouzi krok jen jeden.
  • Když v lednu včely vyletují, to nedobrý rok ohlašují.
  • Jak vysoko v lednu leží sníh, tak vysoko tráva poroste.
  • Holomrazy - úrody vrazi.
  • Ryje-li krtek v lednu, končí zima v květnu.
  • Suchý leden, mokrý červen.

Redakční rada: Jan Dlabaja, Jakub Křížan, Jan Balošák, Ondřej Langer

Webové zpracování: Daniel Hut

Jazykový dohled: Mgr. Oto John