Portál AbcLinuxu, 30. dubna 2025 19:02
Na prázdniny před třetím ročníkem mi David někde sehnal k půjčení klasickou učebnici C od Kernighana a Ritchieho, takže kromě nějaké brigády a sjíždění Lužnice s některými spolužáky jsem si četl o převodu mezi stupni Fahrenheita a Celsia a neviděl žádný důvod, proč by Céčko mělo být lepší než Pascal.
Na přelomu srpna a září se konala v Brně velká mezinárodní geometrická konference a my studenti jsme dostali možnost pomáhat při organizaci za drobný přivýdělek. Tak jsme vyzvedávali účastníky na nádraží a vozili je na fakultu nebo na místo ubytování a pomáhali, s čím bylo třeba. Taky jsme chodili na přednášky, ne že by nám k něčemu byly dobré, ale abychom byli po ruce pro případ potřeby. Vzal jsem si na přednášky svoji malou placatou šachovnici, že během přednášek budu s Davidem hrát šachy, jak jsme to občas dělávali i během výuky. Ale David měl s sebou tlustý stoh papírů a řekl: „Musím si s tím zalézt někam dozadu, nemáme to legálně, kdyby si toho všiml někdo, kdo ví, o co jde, mohl by být průšvih.“ Na prvním papíru byl velký nápis XENIX.
Abych na nic nezapomněl, musím ještě dodat, že před začátkem třetího ročníku proběhlo úvodní dvoutýdenní soustředění vojenské vysokoškolské přípravy, následované ztraceným dnem na vojenské katedře v každém týdnu podzimní výuky, což pak naštěstí v listopadu skončilo. Dostal jsem opět koleje, takže už jsem nebydlel s Igráčkem, ale s Petrem, co měl přezdívku Vitásek, a s jedním spolužákem z gymplu, který studoval geografii. Igráček bydlel na stejných kolejích, takže jsme se někdy scházeli na pokec a šachy.
Na začátku ročníku jsem dostal od docentky Horové nabídku pracovat jako pomocná vědecká síla, mým hlavním úkolem měla být tvorba výukových programů pro její předmět Numerické metody. Abych pravdu řekl, tento předmět se u mne řadil mezi ty méně oblíbené, ale zlákalo mě, že by to mělo být na PC. Taky stovka měsíčně navíc tehdy nebyla zanedbatelná položka, takže jsem souhlasil. Kdo by tenkrát mohl tušit, že jsem tím rozhodnutím nasměřoval své profesní působení až do dnešní doby.
Docentka Horová mi domluvila přístup k PC, vyfasoval jsem disketu, někde jsem vyhrabal papíry, co jsem dostal skoro před dvěma lety, a vydal se do počítačové učebny na oddělení informatiky, kde v té době kromě dříve uvedených TNS byly také čtyři počítače PC. Nejsem si jistý, jestli to byla ty stejné, se kterými jsem se setkal dříve, ale patrně ano. Pokud s pamatuji, tak žádné další školení jsem neabsolvoval. Čas jsem si rezervoval už předtím, tak jsem usedl k příslušnému stroji a pokusil se spustit 'qd' , jak jsem to měl naučeno. Ale příkaz se ukázal jako neznámý. Začal jsem probírat papíry, co jsem měl s sebou, a zkoumal jsem, co mám vlastně dělat. Do vedlejšího stolku to zpozoroval jeden z učitelů, kteří sem na PC chodili taky. „Nepotřebujete pomoc?“ zeptal se. „Zkoušel jsem spustit tenhle program,“ ukázal jsem do svých papírů, „ale asi tady není.“ „Pusťte si Norton Commander, ten je lepší.“ A ukázal mi, jak se dotyčný program pouští a základní ovládání. Tak jsem se setkal s praotcem všech dvoupanelových správců souborů s typickou modrou obrazovkou, která je u některých jeho následovníků jako třeba Midnight Commander standardem do dneška. Ostatně i některé klávesové zkratky jsou od té doby stejné, i když myslím, že F2 pro uložení souboru se používalo i v integrovaném prostředí Turbo Pascalu.
Práce s Norton Commanderem mi také rychle pomohla pochopit strukturu adresářů na počítači. Na PDP jsem vlastně pracoval jen ve svém domovském adresáři a na PC o dva roky dřív zase jen v adresáři, ve kterém byl nainstalován Turbo Pascal. Celou hodinu jsem pak strávil tím, že jsem procházel jednotlivé adresáře na disku a zkoumal, co je v nich uloženo. Kromě Turbo Pascalu jsem našel řadu dalších programů, o nichž jsem neměl ani zdání, k čemu slouží.
Postupně jsem se ale s pomocí dalších lidí, kteří na počítačích pracovali a většinou byli ochotní poradit, seznámil s některými zajímavými programy. Kromě několika her jako třeba Space Quest I nebo Sokoban a nějakého pokročilejšího textového editoru (myslím, že se jednalo o Word Perfect), který uměl tisknout jednoduchou matematickou sazbu jako indexy či exponenty, a proto ho někteří zaměstnanci hodně používali, to byla sada programů Norton Utilities. Součástí sady byl například program na obnovu smazaných souborů, program na neobnovitelné smazání souboru či celé diskety, což se mi jednou omylem podařilo, a také program (možná se jmenoval Disk Editor), který umožňoval zobrazovat jednotlivé sektory na disku a také přímé zásahy do nich. S jeho pomocí a díky radám zkušenějších jsem postupně zjistil význam některých pojmů, např. co je to boot sektor, FAT tabulka a jakou má strukturu, jak jsou soubory uloženy v adresáři a podobně.
Dokonce jsem se s ním naučil likvidovat Ping-Pong virus. (Možná, že to bylo až v následujícím školním roce, po těch letech si to už přesně nevybavím.) Ping-Pong virus se objevil na všech PC v učebně. Asi půl hodiny po zapnutí počítače se najednou objevil na obrazovce puntík, který poletoval po obrazovce a odrážel se od okrajů obrazovky a písmen, a to všechno v textovém režimu, který byl na PC tehdy standardem. Jinak byl virus neškodný. Nutno říci, že viry byly tenkrát běžnou záležitostí, což bylo dáno tím, jak se šířil software. Navíc když uvážíme, že MS–DOS v podstatě neměl multitasking, tak programátoři virů, které běžely na pozadí, museli být poměrně šikovní. Od někoho jsem se dozvěděl, že Ping-Pong virus sedí v boot sektoru místo zaváděcího programu, takže se spustí hned po startu počítače, a vlastní boot sektor přesune jinam. S uvedeným programem z Norton Utilities jsem zjistil, že některé sektory, které jsou ve FAT tabulce označeny jako vadné, ve skutečnosti obsahují původní boot sektor. Pak stačilo uvedený sektor překopírovat do boot sektoru a pak hned restartovat počítač, aby virus běžící v paměti nestihl přepsat boot sektor zpět. Když se ale dnes zpětně podívám na to, co jsem tehdy s Norton Utilities prováděl, považuju skoro za zázrak, že jsem na počítačích nezpůsobil žádnou škodu.
Hlavně jsem se samozřejmě věnoval tvorbě výukových programů pro numerické metody v Pascalu. Nebylo to tak těžké, jak jsem se zprvu bál, a když jsem potřeboval poradit, obrátil jsem se na Davida. Společné matematické přednášky už jsme sice neměli, ale chodili jsme spolu na vojenskou katedru a na přednášky z marxistické filozofie, což by byla kapitola sama pro sebe. David jednou projev přednášející soudružky charakterizoval výrokem: „Syntakticky zcela správně, sémanticky bez jakéhokoliv smyslu.“
Jednou jsem potřeboval najít chybu v programu, ale v počítačové učebně bylo obsazeno. Před budovou jsem náhodou potkal Davida. Mezi řečí jsem se zmínil, že mám problém s programem, ale není volný počítač. „Tak pojď se mnou, mám trochu času,“ nabídl mi a pak mě zavedl do suterénu budovy, kde sídlila chemická sekce, už si nepamatuji, jestli to byla organická nebo anorganická. Tam v nějakém kutlochu byl počítač, který David pustil. Na obrazovce chvíli běžely nějaké texty, které jsem na PC při startu předtím neviděl. David to suše komentoval: „To je XENIX.“ Pak zadával nějaké příkazy, načež se objevilo známé integrované prostředí Turbo Pascalu. „Spustil jsem emulátor DOSu, snad to bude fungovat,“ řekl David, vzal si ode mne disketu, nahrál program do prostředí, zkompiloval ho a spustil. Počítač kompletně vytuhnul.
David vypadal trochu překvapeně. „Tohle se v XENIXu moc nestává,“ prohlásil, provedl hardwarový reset tlačítkem k tomu určeným, spustil všechno znovu včetně Turbo Pascalu a jal se zkoumat můj zdroják. „Nemůže být tady ten rozdíl nulový? To bys pak měl na dalším řádku dělení nulou,“ a ukázal na jisté místo v programu. „No, vyloučit to úplně nemůžu,“ připustil jsem. „A zkoušel’s to debugovat, tedy odladit?“ opravil se David, když viděl můj nechápavý výraz. „Nevím, jak se to dělá,“ zalhal jsem, protože jsem netušil, o čem mluví. „V tom integrovaném prostředí je to hračka, na podezřelém místě nastavíš breakpoint – to najdeš v tomhle menu, program ti tam zastaví a pak můžeš zkontrolovat hodnoty proměnných, případně i změnit,“ ukázal mi základy ladění programů. To vypadalo velmi užitečně, protože dosud, když jsem hledal chybu, nechával jsem si vypisovat obsah proměnných na obrazovku. „Můžeme to hned zkusit,“ řekl David a udělal to, co mi předtím ukazoval. Na inkriminovaném místě se skutečně po několika krocích cyklu objevilo dělení nulou.
„Dík, to už asi zvládnu. Stačí zjistit, proč se tam objevuje nula,“ poděkoval jsem a David ukončil Turbo Pascal. „To je numerika, že?“ zeptal se, když mi vracel disketu. Přikývl jsem. „A jak to jde?“ „Celkem dobrý, ukazuju graficky, jak se jednotlivé metody chovají pro různé funkce. Zásadní problém je v tom, že když chci změnit funkci, musím program zkompilovat znovu. Hodilo by se mi zadat výraz s funkcí do běžícího programu a pak počítat její hodnoty v bodech, kde to potřebuju.“ David pokrčil rameny: „Tak si definuj gramatiku a máš to.“ „Tomu vůbec nerozumím,“ přiznal jsem se. David se poškrábal na hlavě a krátce se zamyslel. „Nebo to přeskládej do reverzní polské notace, potom už se to vyhodnocuje snadno. To není těžké, vezmeš dva zásobníky, do jednoho strkáš čísla nebo proměnné, do druhého operace, a vždycky po konci příslušné operace to přesuneš do jednoho. Musíš hlídat závorky a správnou prioritu operací. Nejlepší je zkusit si to na papíru na pár příkladech, tak na to přijdeš za chvilku.“ Ještě jednou jsem poděkoval a na rozloučenou mi David řekl: „Zkus to přepsat do céčka, nebudeš litovat.“
Ačkoliv se mi do toho moc nechtělo, dal jsem na Davidovu radu a začal programy přepisovat. Integrované prostředí Turbo C bylo v podstatě stejné jako u Turbo Pascalu, takže hlavní boj se odehrával na poli syntaxe. Postupně jsem ale céčku přišel na chuť a zjistil jsem, že nabízí daleko větší možnosti než Pascal. Taky jsem přišel na to, že přes počáteční značné nesnáze je pro mě lepší rovnou se pustit do něčeho většího, než zkoušet jednoduché příklady podle učebnice. Prostě skočit do vody a snažit se plavat.
V céčku jsem pak postupně vytvořil i funkce pro zadávání a vyhodnocování matematických výrazů v běžícím programu podle Davidovy rady. Bylo to to nejsložitější, co jsem do té doby programoval, ale nakonec se to povedlo. Dokončil jsem to ale až v jarním semestru, protože onen ročník byl přelomový nejen pro mě osobně, jelikož jsem se začal vážněji zabývat programováním a numerikou, což mě v podstatě živí dodnes, ale byl přelomový i celospolečensky. Do podzimního semestru totiž zasáhly listopadové události, které přerušily výuku a další činnosti s ní spojené, ale hlavně ukončily vládu komunistů.
Původně jsem uvažoval, že bych věnoval celou kapitolu tomu, jak jsme jako studenti požívali pád komunismu. Pak jsem ale usoudil, že bude lepší držet se počítačového tématu, takže uvedu jen několik perliček z onoho období.
Po zahájení studentské stávky byly nejhektičtější asi první dva týdny. Pak už bylo jasné, že zásadní změny se dají jen těžko zvrátit a taky že nás nevyhodí ze školy, což byla z počátku velmi reálná hrozba. Aktivita většiny studentů pak postupně polevovala a ti, kteří neodjeli z kolejí domů se různě bavili. Vitásek přivezl na koleje svoje Atari, Viktor disketovou jednotku a taky jednojehličkovou tiskárnu BT100. Na ní pak tiskl studentské letáky. Tisk jedné stránky trval asi deset minut, ale dalo se udělat až deset kopií najednou, když se tisklo přes deset kopíráků.
Je možné, že Viktor tiskl i letáky v rámci ’oficiálního‘ studentského protestu, pak ale vymyslel vlastní hnutí ISIS (nikdo netušil, co ta zkratka znamená), což byla recesistická studentská organizace, jejíž členem se stal každý, kdo podepsal její prohlášení, byt’ třeba s poznámkou, že s tím zásadně nesouhlasí. Hnutí mělo požadavky jako třeba prodej alkoholu za výrobní cenu, zvýšení rychlosti eskalátorů na dvojnásobek s výhledem na čtyřnásobek a podobně. Letáky jsme různě rozvěšovali, a pak se balili reakcemi lidí, kteří to k mému velkému údivu většinou brali vážně.
Jak polevovala aktivita studentů, uvolnily se počítačové učebny, které byly předtím zabrány pro práci stávkového výboru, takže jsem zase začal chodit pracovat na svých programech, protože to vypadalo, že v jarním semestru už poběží vše normálně, až na politické předměty a vojenskou katedru, které k velké úlevě studentů skončily. Na PDP se objevil Tetris, který tam někdo naprogramoval, takže jsem čas trávil i pokusy o naskládání co nejvíce čtverečků do řad. Při vzpomínce na Tetris se mi také vybavil blog jednoho programátora, který jsem kdysi četl. S kamarády soutěžili, kdo udělá na PC funkční Tetris o co nejmenší velikosti. Rekord byl něco přes 500 bajtů.
V jarním semestru došlo k dalším změnám. Objevily se nové počítačové časopisy, některé byly překlady zahraničních vzorů, ale jeden byl původní český s názvem Bajt. Informace o něm na internetu jsou velmi kusé (např. zde), ale pokud si dobře pamatuji, články v nich byly opravdu velmi zasvěcené a jejich autoři dokázali postihnou pozitiva i negativa softwaru i hardwaru, o kterém psali. Časopis jsem měl předplacený od druhého čísla a odebíral jsem ho až do jeho krachu.
Univerzitě bylo vráceno původní jméno, z oddělení informatiky se stala samostatná katedra a Katedra aplikované matematiky zanikla, její členové, kteří nebyli informatici, přešli na jiné katedry. Vzhledem k ukončení politických a vojenských předmětů, jsem se se studenty informatiky a tedy i s Davidem, setkával už jen zřídka. Dvě z těchto setkání si ale dobře vybavuji.
V té době se objevil legendární textový procesor T602. Neběžel v textovém režimu, ale v grafice, takže uživatel viděl na obrazovce zhruba to, co pak vylezlo z tiskárny, uměl tisknout skoro na všem a byl oproti jiným produktům daleko levnější. Díky tomu se stal patrně nejrozšířenějším textovým procesorem své doby. Při jednom náhodném setkání setkání s Davidem jsem mu nadšeně líčil vlastnosti T602, o kterém David kupodivu moc nevěděl. David mě shovívavě vyslechl, pak šáhl do své brašny a vytáhl nějaké potištěné papíry. Myslím, že tam byly i nějaké jednoduché matematické výrazy. Vypadalo to skoro jako z profesionálně vytištěné publikace a na první pohled to bylo o dost lepší než tisky z T602. „To je TeX,“ řekl David, „ale jen jehličková tiskárna. Z laserové je to samozřejmě daleko lepší.“ To bylo mé první setkání s geniálním sázecím softwarem profesora Knutha, který také používám dodnes.
Pak jsem se s Davidem jednou potkal v tramvaji. Náhodou jsem ho zahlédl, jak listuje v nějaké počítačovém časopise. Protlačil jsem se k němu mezi cestujícími a zeptal se: „Něco zajímavého o PC?“ David vzhlédl, ukázal do časopisu a řekl: „To nejsou písíčka, to jsou počítače.“ Na přístroji na fotografii byl zřetelně patrný symbol nakousnutého jablka.
Tiskni
Sdílej:
Moc pěkně napsané. Musím říci, že obdivuju schopnost takhle si chronologicky vybavovat minulost a rekonstruovat jí do textu. Hrozně mě to baví číst, protože to naopak mě pomáhá si najednou ten čas taky vybavit.
Děkuji. Pár let jsem si říkal, že je škoda, že tyhle věci pomalu upadají v zapomnění. Nakonec jsem se rozhodl, že zkusím něco sepsat, dokud si to pamatuji. Pracoval jsem na tom po kouskách asi tři roky, ale když jsem se do toho jednou pustil, tak už vzpomínky naskakovaly. Nicméně platí moto, kterým je uvozena úvodní část.
Jirka
hudba: Irský námořnický tradicionálNěkdo u Protheusu odbyl domácí úkol?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.