Zhodnocení čtvrtého semestru na FIT VUT: obor MITAI NIDE

Na závěr trochu později, ale přece. Po posledním semestru a státnicích jsem potřeboval na chvíli vysadit a odpočinout si, ale teď už se pomalu vracím do běžného života; a stím by měl ožít i tenhle blog!

Poslední semestr byl pro mě asi nejtěžší ze všech. Celkově jsem si zvolil docela špatné předměty, robot na diplomku do poslední chvíle vypadal, že fungovat nebude a učení na státnice se pořád oddalovalo, takže jsem začal necelý měsíc před nimi. Ale všechno postupně, diplomku i SZZ popíšu v samostatném článku.

Kromě té diplomky jsem dodělával ještě poslední povinný předmět – BZA. Kvůli doplnění kreditů jsem si ještě zapsal předměty Návrh vestavěných systémů (NAV), Funkční verifikaci (FVS), Blockchainy (BDA) a Rétoriku (RET). FVS a BDA byly extrémním krokem vedle, ale alespoň jeden předmět jsem dodělat musel. Volba nakonec padla na FVS, protože BDA byl vypsaný prvním rokem, obtížnost byla přestřelená (ale byla velká snaha vše kompenzovat) a upřímně, zjistil jsem, že nesnáším bitcoin a blockchainy obecně. 🙂 Teď už ale k předmětům:

Bezpečná zařízení – BZA

Poslední povinný předmět z mé specializace. Kurz by se ale měl spíš jmenovat Kryptograficky bezpečná zařízení, i když v sylabu výslovně říká, že kurz Kryptografie (KRY) není nutnou prerekvizitou. Takhle, de facto to je pravda, ale jako člověk, který K/kryptografii (obor i předmět) nestudoval a ani ji nijak nemá rád, říkám, že závislost BZA na KRY je extrémně vysoká a člověk si buď musí dostudovat „základy“ (+-třetinu) KRY, nebo dvě přednášky nepochopí vůbec a u dalších cca třech se horko těžko chytá.

Tak, po úvodním postěžování se konečně dostávám k tomu, o co v BZA jde. No, má jít o bezpečnost zařízení, jakými jsou čipové karty, mobily, IoT a podobně. Upřímně mi bezpečnost vždycky lezla krkem, jelikož jde přímo proti efektivitě, které si u svých projektů cením daleko víc (a já si to můžu dovolit; moje projekty budou maximálně tak jezdit po laborce, kdyby ale měly vyjet třeba na silnici, už bych musel řešit i tu bezpečnost). Celý kurz jsem z větší části protrpěl, za prvé kvůli stálemu odkazování na KRY, kde 90 procent posluchárny kývalo s tím, že to znají a můj nechápavý obličej byl ignorován. Za druhé, předmět vede doc. Hanáček, jehož totální odpor k záznamům a kvalitním učebním materiálům jsem už popisoval. Opět tedy předmět nemá žádné záznamy ani kloudné učební materiály a člověk je odkázaný jen na zápisky. No a pokud ten daný člověk neměl KRY, tak ani ty mu k ničemu nejsou.

Ale i když mě předmět vyloženě nezajímal a byl jsem rád, že ho mám za sebou, přece jen k něčemu byl. Když teď mám nějaké MCU nebo jinou destičku, tak mě kromě otázek na efektivitu, cenu, spotřebu atp. napadne i otázka bezpečnosti. Ne z pohledu toho, jak si projekt zabezpečit, ale z pohledu toho, jak využít MCU lépe – některá MCU se sice prodávají pod různými třídami s např. různým počtem registrů, ale fyzicky se jedná o totožný čip, třeba jen s „osekanou“ knihovnou pro použití. Takže pokud znáte adresu registru, můžete ho klidně používat i na čipu, který ho údajně nemá (samozřejmě bez záruky – třeba se zrovna na tom konkrétním kusu skutečně nenachází v použitelném stavu…). No a kdybych byl útočník a chtěl zařízení napadnout, určitě by to taky nějak šlo použít. 🙂

Kurz je celkově koncipovaný tak, že se do něj lidi přihlásí dobrovolně (maličké NIDE nikoho nezajímá), takže i u projektů se předpokládalo, že si zadání vytvoříme sami. Naštěstí bylo i pár erárních zadání, z nichž jsem si vybral s bezpečností jen volně související projekt na téma deepfakes. Cílem bylo zjistit, jestli se detektor deepfakes nechá zmást, pokud mu předložíme video, které vzniklo kombinací reálného a pravého obrazu. Zkoušel jsem prokládání snímků fake a real videa a obraz v obraze (jako když je ve zprávách vpravo dole tlumočnice do znakového jazyka). V obou případech se detektor ošálit nenechal a navíc se na to video ani nedalo koukat. 🙂 Projekt byl zdaleka nejlepší částí kurzu, nakoukl jsem do celé nové oblasti a opravdu mi to přineslo spoustu nových informací.

Půlsemka i zkouška byly tak nějak generické, žádné chytáky. Celkově za C a byl jsem rád, že už mám pokoj.

BDA – Blockchainy adecentralizované aplikace

Nový předmět, letos otevřený poprvé. Doktor Homoliak je ve svém oboru (minimálně evropským) expertem, stejně tak jako doktor Veselý. A pro lidi, které blockchain zajímá, to může být opravdu úžasný (i když na první rok dost přepálený a těžký) předmět.

Já ale po prvních dvou přednáškách musel skončit. Kromě toho, že se mi sypala diplomka a na ukončení se jevilo jednodušší FVS, jsem také zjistil, že celý koncept blockchainu mi přijde, abych citoval jednoho pana prezidenta, „bytostně odporný„. Hned vysvětlím.

Celý koncept blockchainu (a tedy i Bitcoinu a mnoha dalších coinů) je založený na tom, že máme bloky transakcí, které jsou spolu provázané podobně jako lineární seznam. V každém bloku je ale i nonce, mrtvý kus bloku, který má za úkol jen dorovnávat hash do předem určeného tvaru (třeba aby na začátku bylo několik nul: 0000s45ds5sd6g). A jak takové nonce najdeme? Jediný způsob je brute force testování všech možných hodnot, dokud náš „ověřovaný“/“těžený“ blok nebude mít hash v požadovaném tvaru. Zdá se vám to docela neefektivní? Ale to vůbec není pravda. je to totiž neuvěřitelně, brutálně a šíleně neefektivní. Pro představu, jen bitcoin sežere 150 TWh energie každý rok na potvrzování transakcí. To je 10x víc, než vyrobí Dukovany. A upřímně v tak brutálně neefektivním svinstvu jsem odmítal dále pokračovat – a asi o tom vydám samostatný článek, protože tohle je věc, tkerou by si měl každý milovník coinů uvědomit.

Ale abych na blockchain jenom neblil špínu, to, co jsem popisoval nahoře, je tzv. Proof-of-Work (PoW). Existuje taky Proof-of-Stake (PoS). Ten funguje ve zkratce tak, že každý „miner“ zamkne určité množství svých coinů, aby poté mohl validovat transakce. Pokud by miner podváděl, o vložené coiny přijde. Celkově se ale tenhle algoritmus moc nepoužívá – bitcoin byl první, bitcoin používá PoW, všichni chtějí být jako bitcoin…

K samotným přednáškám, byl jsem asi na pěti z nich. Dvě vedl Dr. Homoliak, dvě Dr. Veselý a jednu zvaný host. Dr. Homoliak jistě svému oboru mimořádně rozumí, ale přednášky moc dobré nebyly. Sice jsem základní principy blockchainu znal, ale už na první přednášce mi ujel vlak takovým způsobem, že jsem se chytal jen u dílčích věcí. Dr. Homoliak dle mého názoru trpí stejným problémem, jako třeba Doc. Češka na TINu – nechápe, že my to nechápeme, protože pro něj je to opravdu základ. Na druhou stranu, tak polovina lidí měla zase opačný názor: jelo se moc pomalu, základy zná každý… Tak si vyberte. 🙂 Nebo se raději dopředu na blockchain docela detailně podívejte. Dr. Veselý měl přednášky jako vždy skvělé, informativní a pochopitelné. Víc není skutečně co psát, protože nebylo co vytknout.

Projekt jsem nedělal, takže vám o něm neřeknu nic. Ale obecně šlo o to implemetovat algoritmus podle nějakého paperu. Celkově je kurz (asi) koncipovaný dobře, ale nesmíte mít idealistický odpor k učivu. 🙂 Předmět samozřejmě za 0/F, jelikož jsem ho vzdal už po druhé přednášce.

FVS – Funkční verifikace číslicových systémů

Tenhle předmět je docela dost daleko od mého zaměření a zapsal jsem si ho spíš díky masivní ifnromační kampani od poradců na FB a Discordu. V předmětu se řeší, jakým způosbem testovat návrh nějakého obvodu (ve VHDL, Verilogu) pomocí funkční verifikace. Jinak řečeno, do designu z jedné strany posíláte nějaké vstupy (stimuli – slovo je z latiny, měkké i na konci je správně :)) a sledujete výstupy.

Předmět vede sympatická Dr. Zachariášová. Její přednášky jsou lehce srozumitelné, snaží se předmět propojovat s praxí a celkově jsou její přednášky na velmi vysoké úrovni a člověk si z nich hodně odnese. Oceňuji mj. i časté přestávky, takže mozek má čas na cooldown – a fakt to pomáhá! Cvičení a druhou polovinu přednášek měl na starost Ing. Bardonek. Přednášky byly také fajn, jeho styl přednášení mi trochu připomínal Dr. Hrubého a jeho lehký cynismus. 🙂

Cvičení byla úzce provázaná s projektem, vlastně se projekt řešil přímo na nich. Šlo o vytvoření testů pro konkrétní komponentu. Pracovalo se v programu QuestaSim, což je dost složitý a těžkopádný nástroj, na druhou stranu je pro svůj use case (asi) velmi dobře uzpůsobený. K jeho rozběhání je třeba virtuálka a VirtualBox, se kterým se Silverblue sice úplně nekamarádí, ale rozběhat to šlo.

Celkově je předmět pro svůj účel – připravit verifikačního inženýra juniora – navržený velmi dobře. Já se bohužel přesvědčil, že tímhle směrem jít nechci a předmět mi toho tedy moc nepřinesl – ale i přesto ho musím hodnotit kladně, protože pro někoho, kdo by testování HW designů potřeboval, je tento předmět opravdu užitečný. Celkově jsem dostal D, hlavně kvůli dost zmatlanému projektu.

NAV – Návrh vestavěných systémů

Ve zkratce, bastlení za kredity. 🙂 Předmět částečně opakuje učivo z INP a IMP z bakaláře. Na přednášky jsem moc nechodil, hlavně kvůli tomu, že bastlím už asi 10 let a většinu z toho jsem znal, tak jsem si jen chtěl nechat uznat znalosti a vymámit z toho nějaký ten kredit. Většinou přednášel doc. Růžička, občas potom Ing. Šimek. probírají se různé věci okolo vestavěných systémů, ale tím, že jsem většinu přednášek jen prolétl s tím, že to znám, tak si konkrétní věci nepamatuju.

Projekt se většinou točil kolem nějakého MCU, já si s Ing. Šimkem domluvil vlastní zadání a vytvořil digitronové hodiny okolo ESP-8266. Jelikož jsem ale pablb a nespočítal jsem si piny, tak jsem kromě propojení digitronů s ESP musel řešit i řídicí desku z jednotlivých švábů – skoro jsem se dostal na původní způsob řízení digitronů ze 70. let. 🙂

Cvičení byla asi nejlepší částí předmětů a jedna z nejlepších cvik za celý FIT. Ing. Šimek nás nechal zapojit několik jednoduchých obvodů, ukázal práci s několika šváby… A hlavně nám ukázal Altium Designer, ve kterém jsme si navrhli vlastní desku okolo ESP-32 a tu nám následně vyrobil a nechal ji námi osadit. Z předmětu jsme si tedy odnesli plně funkční desku s ESP-32, kterou jsme si (skoro) sami navrhli a spájeli dohromady.

A takhle vypadal projekt do NAV 🙂

Zkouška byla jednoduchá, příklady sice s přednáškami moc nesouvisely, ale zase se opakovaly z minulých let, nebylo tedy moc těžké se na ně připravit. Celkově za A.

RET – Rétorika

Jeden ze dvou předmětů v tomhle semestru, který jsem si opravdu uži, a asi nejvíc přínosný předmět za celé studium. Předmět se netýká techniky, ale toho, jak správně mluvit. Neřeší se přitom jen forma, ale také pozadí a částečně i psychologie, ale velmi prakticky a přístupně.

Přednášející, Mgr. Klapetek na každé přednášce probíral určitou oblast, vysvětloval, jak mezi lidmi může vznikat nedorozumění a jak tomu předcházet. Na jedné z posledních přednášek se lehce dotkl i náboženství, různých hodnotových a socioekonomických rámců každého člověka a vše ukončil lehkým kurzem etikety. Je znát, že Mgr. Klapetek se o přednes a komunikaci zajímá celý život a v prostředí FITu, kde prezentační úroveň přednášek je obecně poměrně nízká, představuje něco, co v ostatních předmětech chybí.

Myslím si, že tenhle předmět by si měl zapsat asi každý, přinese vám úplně jiný pohled na svět a dá vám hromadu podnětů k zamyšlení.

Závěr

Celkově byl semestr dost únavný, z části kvůli nešťastně zvoleným předmětům, z části kvůli nefungující diplomce a blížícím se státnicím. Všechno zachraňoval NAV a jeho cvičení, spolu s Rétorikou. Diplomka a SZZ budou mít celý samostatný článek, takže tady nebudu moc spoilovat. Celkově všem můžu doporučit, aby si dvakrát promysleli, co si zapisují a pokud náhodou zkouší nový předmět, ať si raději zapíšou i nějakou zálohu.

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *