Testovací svět

Reklamy
Rubriky: Hudba | Napsat komentář

Ručičkový digitál

To mě napadlo dneska v tramvaji číslo 12 nebo 22.

Vlastně teď sem si vzpoměl, že sem už jednou viděl něco podobnýho, ach jo, tak sem si spíš vzpoměl na cizí nápad, ale bylo to trochu jinak tak co…

Todle je to původní inspirační:

Rubriky: Nápady | Napsat komentář

Hudební drobotina

Sešítky čekají:

Najtmér:

George s Vítkem natočili klip k Najtméru:

Rubriky: Hudba | Napsat komentář

Jak zkonstruovat duši?

Tento text má tři základní části. První část nazvanou „Co to je duše?“ můžeme nazvat výhradně filozofující, ale zároveň snad osvětluje to, jak tento pojem chápu, což pomáhá pochopení hlavně třetí části.

Druhá část nazvaná „Co to je Kutil?“ popisuje moje programátorské výsledky týkající se tématu, ačkoli se to na první pohled nemusí zdát.

Třetí část nazvaná „Syntéza“ se pak snaží propojit všechna předchozí témata do funkčního celku.

Tedy druhá a třetí část se zabývají již o něco praktičtějšími otázkami konstrukce duše.

Co to je duše?

Lidé se pohybují ve světě plném ohraničených objektů. Vezměme namátkou několik příkladů: propiska, dub, jeseter, kalkulačka, kolibřík, člověk, harmonika nebo vodopád. Když je pozorujeme, když o nich přemýšlíme, když je vyrábíme nebo když jimi jsme; vždy alespoň přibližně víme, kde daný objekt končí a kde začíná vše ostatní. Tedy víme, kde má daný objekt vnitřek a kde vnějšek. Na objekt se budeme koukat jako na jakési rozhraní mezi vnitřkem a vnějškem. Jako na tenoučkou šlupičku oddělující dva světy: mikrokosmos a makrokosmos. Pro nás bude velice důležité toto dělení na vnitřek a vnějšek; respektive mikrokosmos a makrokosmos.

Nejde mi teď o přesnou definici těchto pojmů, ale o jejich intuitivní uchopení. Pro toto intuitivní uchopení je nejspíš užitečné probrat možná chápání toho, co považujeme za vnitřek. Vezměme si jako příklad objektu kočku: „Geometrický“ vnitřek kočky je to, co se nachází bezprostředně pod tím co z kočky normálně vidíme, její orgány, buňky tvořící tyto orgány atd. Dalším možným chápáním vnitřku by mohl být „logický“ vnitřek kočky, chápaný spíše jako systém, který řídí její chování, jakýsi stroj realizující kočku. Je myslím vidět, že tento pohled na vnitřek je nejspíš o něco blíž tomu, co bychom vágně nazvali podstata kočky. Geometrický pohled je jaksi naivnější než pohled logický. Jsem však přesvědčen, že u logického pohledu  řetězec naivity nekončí, spíš by se dalo říci, že zde začíná. To, co bych považoval za nenaivní pohled na vnitřek kočky, je to, co je kočka sama pro sebe.

Prve naznačený pohled na svět předpokládá, že svět se skládá z objektů. Existují ale i jiné pohledy na svět. Další pohled předpokládá, že svět se sestává z událostí. Představme si několik příkladů událostí: napsání slova propiska, pád listu, ulovení mihule, spočítání 2+2, máchnutí křídla, fouknutí do harmoniky nebo splynutí kapky s hladinou.

Máme tedy dva pohledy: první vidí objekty, druhý události. Otázka je, jak tyto dva pohledy skloubit dohromady. Nabízí se několik možností. První je chápat je zcela odděleně a nepřemýšlet o jejich vzájemné provázanosti. Chovat se k nim jako ke dvěma odlišným párům brýlí, které nasazujeme podle naší potřeby. Druhá možnost je pohlížet na události jako na speciální typ objektu, či naopak na objekty jako na speciální typ události. Poslední možností je chápat je jako navzájem ekvivalentní uchopení toho samého; což je pohled, k němuž se zde přikloníme. Tedy budeme mít jediné brýle, na kterých však bude přidělaná páčka, jejímž kroucením se bude nastavovat míra toho, zda skrze ně vidíme objekty či události.

Co je však tato páčka zač? Tato páčka je míra subjektivity. Pojem „událost“ totiž přestává dávat námi požadovaný smysl pokud odebíráme toho, komu se děje tato událost. Událost tedy budeme chápat jako nutně pozorovanou, zažívanou a prožívanou. Základní vlastností události je to, že se děje, to že se přihodí; ale přihodí se někomu – je tu někdo, na koho má vliv. Naproti tomu pojem „objekt“ je dalo by se říci manifestací touhy po objektivitě, po nenutnosti pozorovatele. To co je objektivní není skresleno pozorovatelem.

Tedy už víme, co touto páčkou ovládáme, další důležitou otázkou je však to, jak se k této páčce postavíme. Možnosti jsou znovu různé, my ji však budeme chápat jako pomocníka. Tedy že nebudeme apriori preferovat nějakou polohu jako pravdivější či užitečnější; místo toho budeme jako užitečnou chápat možnost libovolného kroucení páčky.

Vnitřek a vnějšek jsme ale zavedli jako pojmy vztahující se k pojmu objekt. Tedy zbývá zavést vhodné ekvivalenty vztahující se k pojmu událost. Ekvivalentem pojmu vnitřek je pojem duše, ekvivalentem pojmu vnějšek je pojem projev. To si dozajista zaslouží nějakou obhajobu:

To co se zde tvrdí je, že pokud zvyšujeme míru subjektivity, dává čím dál větší smysl koukat na vnitřek objektu jako na duši události. Myslím si, že toto hezky zapadá do tvrzení, že nenaivní pohled na vnitřek kočky je to, co je kočka sama pro sebe. Celé to ovšem můžeme postavit ještě trošku jinak: Pojem duše je svým způsobem jediný opravduhmatatelný pojem z této úvahy, jelikož jak Vy čtenář, tak já autor tohoto textu, jsme oba duše. Tedy subjektivní autentický pocit bytí je jakýmsi pevným bodem v jinak nepřehledné soustavě drobných nedorozumění, častěji nazývané lidská komunikace.

Dále pak vůbec uchopení duše bylo motivací pro tyto úvahy. Tím mám na mysli to, že spíše než otázka „Je tato definice duše dobrá?“ je dobré ptát se na adekvátnost použitých termínů, které vedli k tomuto uchopení duše; konkrétně termíny: objekt, událost, subjektivnost, vnitřek, vnějšek a projev. Tedy řečeno ještě jinak: To co se text snažil definovat byly právě tyto termíny (objekt, událost, subjektivnost, vnitřek, vnějšek a projev), naproti tomu pojem duše není třeba a není záhodno definovat, jednak protože je hmatatelný, ale také proto, že je tak moc tajemný (k nevágnímu popisu tajemnosti se dostaneme dále v textu).

To co je na tomto pohledu na duši asi nejkontroverznější, je to, že z tohoto modelu vyplívá, že jakousi formu duše má každý objekt. Tento aspekt je vhodné chápat jako zobecnění pojmu duše, tedy ne jako tvrzení o tom jak taková duše u kontroverzních objektů vypadá. Řečeno konkrétně: Netvrdí se zde, že duše vodopádu je nějak zásadně podobná lidské duši; spíše se tvrdí, že je podstatné existenci takovéto duše vůbec brát v potaz.

Ještě než se dostaneme k rozebrání pojmu projev, zkusíme celou věc pro přehlednost rekapitulovat a rozšířit ji ještě o nějaké snad užitečné termíny. My lidé přemýšlíme ve slovech; dalo by se říci jakýchsi nálepkách, popiscích, pomocnících a rozcestnících. To co se pohled popisovaný v tomto textu snaží říct je, že tato slova jsou rozhraním mezi dvěma světy – mikrokosmem a makrokosmem. Mikrokosmos je vnitřní svět, toho na co dané slovo ukazuje, co je jeho významem, co to slovo znamená. A makrokosmos je světpoužívající toto slovo, jako nástroj, jako prostředek propojení se s mikrokosmem. V rámci makrokosmu se operuje s mikrokosme prostřednictvím daného slova. Říkáme, že slova jsou rozhraní; je tím myšleno, že zprostředkovávají komunikaci mezi dvěma světy; představeno geometricky že tvoří jakousi tenoučkou šlupičku či membránu obalující mikrosvět. Slovo nám zprostředkovává rozhraní s něčím tajemným, s tajemným mikrokosmem. Tajemné ve smyslu, že nevíme jak daná věc funguje nebo to nechceme vědět, neumíme ji uchopit či případně má svou vlastní autonomní vůli.

Nabízí se přirovnání z objektově orientovaného programování, kde se pojem interfacepřímo používá jako nástroj, jak něco používat, aniž bychom věděli, jak je daný objekt implementován. Interface je zde přímo nástroj k tomu, abychom na různě implementované a dokonce různě se chovající věci mohli sahat stejným rozhraním. Rozhraní je zde chápáno jakožto domluva, jak komunikovat.

Pokud provedeme sjednocení těchto tří prvků (tedy slovo/rozhraní, mikrosvět a makrosvět) vždy dostaneme ten samý kompletní svět, jakési všehomíro. Jinými slovy můžeme říci, že slova jsou řezy kterými rozdělujeme všehomíro na dvě části, na mikrokosmos a makrokosmos.

Důležitým pojmem je zde míra subjektivity, kterážto určuje jakýsi základní kontext ve kterém operujeme: Na jednom konci minimální subjektivita v jejímž kontextu chápeme svět statický, dokonalý, objektivní, pravdiví a platónský; tento pohled chápe slova jakoobjekty. Druhý konec spektra, maximální subjektivita je naopak kontextem chápajícím svět jakožto živý, dynamický, nedokončený, cítící, subjektivní a pozorující; tento pohled chápe slova jako události.

Slovo rozděluje všehomíro na mikrokosmos makrokosmos.

Objekt rozděluje platónský svět na vnitřek vnějšek.

Událost rozděluje vesmír na duši projev.

V nesubjektivním pohledu objektů objekty zprostředkovávají jakousi součástku struktury. Naproti tomu v subjektivním pohledu událostí události zprostředkovávají součástkukomunikace.

Velice důležitou myšlenkovou operací, kterou si myslím můžeme vždy udělat, je prohození toho, co považujeme za mikrokosmos a makrokosmos. Slovo je jakýsi řez rozdělující všehomíro na dva díly. Z pohledu makrokosmu je mikrokosmos jeho částí. Dalo by se říci, že makrokosmos je kontextem konceptu jímž je mikrokosmos. Myslím, ale, že vždy můžeme brát jako kontext mikrokosmos a jako koncept makrokosmos. V řeči objektů prohodit vnitřek a vnějšek. V řeči událostí prohodit duši a projev.

Pojem projev je, alespoň v mých očích, asi nejkontroverzněji nazvaný termín těchto úvah. Motivace pro takovéto nazvání vychází z toho, že z pohledu duše je svět, ve kterém se nachází, jejím projevem. Zvláště pak je to vidět, pokud věříme tomu, že jediná existující duše je ta naše; že ostatní lidé, zvířata a věci jsou jen našimi představami. „Ostatně takto se často snažíme chápat náš snový svět, proč by měl být reálný svět jiného charakteru,“ řekl by zastánce myšlenky jediné duše. Klasická, řekl bych materialistická, představa je ale dost opačná: Lidská duše je projevem světa. Toto tvrzení však dostaneme jednoduchým trikem, stačí provést zmiňovanou operaci prohození, tedy: Představte si Vaši lidskou duši a její protějšek, tzn. svět ve kterém se Vy člověk nacházíte – máme tu tedy duši člověkprojev svět; nyní uděláme operaci prohození a dostáváme duši světprojev člověk. Tedy nyní jeprojevem duše světa člověk.

Co to je Kutil?

Hlavním tématem tohoto textu je otázka: Jak zkonstruovat duši? Ve světle toho, jak nyní duši chápeme je potřeba tuto otázku přeformulovat. Přeformulování je nutné z toho důvodu, že s tímto chápáním duše není žádný problém duši zkonstruovat, neboť každý objekt nyní chápeme jako jiný pohled na událost, kterážto je rozhraním mezi duší a jejím projevem. Nová otázka tedy zní: Jak zkonstruovat duši dostatečně podobnou té lidské? Tzn. takovou duši se kterou budeme schopni komunikovat.

Dříve než probereme jakési „obecné principy“, které mi přijdou rozhodující (a když ne rozhodující, tak snad alespoň zajímavé) pro konstrukci duše, tak bych rád zdánlivě odbočil a řekl něco o programu Kutil, na kterém v současné době relativně intenzivně pracuji. Po tomto představení se mi snad povede ukázat zajímavý potenciál, který se v tomto programu skrývá.

Nejprve zde představím Kutila, jak vypadá v současném stavu vývoje. Říkám v současném stavu, protože s ním mám různé neskromné plány, s kterýmiž právě souvisí téma tohoto textu. Určitě bude ale praktické alespoň letmo představit to, co už je realizováno a není pouhý vzdušný zámek. Budu se snažit příliš nezabíhat do detailů a spíše projít letmo vše důležité, je toho však relativně dost.

Jednou větou by se Kutil dal shrnout asi takto: Je to dvojrozměrné fyzikální prostředí určené pro vytváření interaktivních programů. Jiný jednovětý popis by řekl, že Kutil je hra, programovací jazyk a virtuální svět v jednom. Třetí možný popis je, že je to výukový program učící děti principům programování. Myslím, že názorné představení bude účinnější než kostrbaté slovní popisování a tak si vypomůžu obrázky.

Když program spustíte, otevřou se dvě okna, jak je vidět na obrázku číslo 1.

(obr. 1)

Levé okno je ovládání, pravé okno zobrazuje naši virtuální realitu. Na ovládání jsou různé záložky, z nichž většina obsahuje nejrůznější typy předmětů, které můžeme vkládat do okna reality.

Kutil má podobně jako třeba hudební přehrávač tři důležitá tlačítka PlayPause a Stop. Těmito tlačítky můžeme ovládat plynutí času ve virtuální realitě.

Dva základní typy předmětů jsou předměty volnévázané. Na volné předměty působí gravitace a tak padají směrem dolu. Pevné jsou naproti tomu jakoby přilepené k pozadí a nic je neodtrhne.

Nyní konkrétně k některým typům předmětů. Některé předměty, kterými se nebudeme nyní tolik zabývat, nenesou žádnou na první pohled zjevnou programátorskou využitelnost: Jsou to například míček nebo houpačka, ty jsou zde aby nám připomínaly, že Kutil je nejenom o programování. První náznak toho, na co by se dalo nahlížet, jako na součástku v nějakém programu jsou nenápadné modré trojúhelníčky s černými čísly na sobě. Ještě se k nim vrátíme, ale nejdříve si povíme o jiném typu předmětů a to o bílých krabičkách.

Na obrázku číslo 2 jich je několik k vidění. Těmto bílím krabičkám říkáme elementární funkce. Elementární funkce jsou předměty vázané. (Např. na rozdíl od volných číselných trojúhelníčků, či míče.) Její nejednoduší verze je krabička s jedním vstupem a jedním výstupem (říkáme jí unární elementární funkce), na obrázku je jejím příkladem krabička s popiskem „zamíchej“. Černý stín vždy naznačuje, kde je vstup a výstup. Pokud nějaký předmět spadne do vstupu (horní díra) tak zmizí a místo něj vypadne dole z výstupu nějaký jiný předmět, jakási návratová hodnota této elementární funkce. Zkrátka realizace klasické analogie funkcí chápaných jako krabičky do kterých a ze kterých padají předměty. Elementární funkce mohou mít různý počet vstupů a výstupů, jak je patrné z druhého obrázku. Pokud má funkce víc vstupů, pak se s výstupem čeká na to až do každého vstupu spadne nějaký předmět.

(obr. 2)

Obrázek číslo 3 je stručný komix názorně ukazující průběh spočítání výrazu 2+2.

(obr. 3)

Co by to ale bylo za programovací jazyk, kdyby nebylo možno definovat své vlastní funkce? Mrzký jazyk! A proto i Kutil má tuto možnost. Stačí vložit krabičku podobnou unární elementární funkci, s tím rozdílem, že tentokrát je krabička černé barvy. Říkáme jí jednoduše funkce. Když ji označíme a stiskneme Enter, tak se pohled přesune do vnitřku této krabičky. Vnitřek je v čerstvě vložené funkci prázdný, a proto vypadá stejně jako pohled zobrazený na pravém okně obrázku číslo 1. Stisknutím Esc se zase dostaneme zpět, o úroveň víš.  Důležité je teď probrat, co se děje, když do černé krabičky něco spadne: Takový předmět zmizí a objeví se v nově vytvořené dimenzi, jejíž obsah je dán tím, co jsme postavili do vnitřku funkce. (Terminologie je taková, že realita se skládá z navzájem provázaných dimenzí. Tedy dokud nepoužijeme nějaký předmět s vnitřní dimenzí, jako je například právě popisovaná funkce, tak vše běží v jediné dimenzi.) Předmět se objeví nahoře uprostřed této nově vzniklé dimenze. Poté se typicky něco děje v „těle“ funkce a výpočet končí, když se jakýkoliv předmět dotkne podlahy funkce. Ten je pak poslán na výstup (tedy vypadne ze spodku černé krabičky v dimenzi o úroveň víš) a vnitřní dimenze této funkce zaniká. Z toho plyne, že současně může běžet libovolný počet dimenzí odvozených od jedné funkce.

Každá funkce má navíc své jméno (to lze změnit klávesou F2) a je možno funkci zavolat i jiným způsobem, než přímo pádem předmětu do jejího vstupu. K tomu slouží elementární binární funkce „Apply“. Zde však už myslím zabíháme do zbytečných detailů a tak tento mechanizmus nebudeme vysvětlovat podrobněji.

Dalším důležitým nástrojem každého slušného programovacího jazyka je rekurze, ta má v Kutilovi svou vlastní součástku, která vypadá jako černá krabička, na jejímž předku je místo popisku nakreslen had Uroboros. Můžete si prohlédnout na obrázku číslo 4. Když do této krabičky něco spadne, tak se stane to, co by se stalo, kdyby tato krabička měla stejný vnitřek, jako má krabička, ve které se rekurze zrovna nachází.

(obr. 4)

Funkce není však jediný „předmět s vnitřkem“. Dalším důležitým zástupcem předmětu s vnitřkem je krabice. Ta vypadá jako hnědá lepenková krabice s otevřeným víkem. Na rozdíl od funkcí je krabice volný předmět. A druhým rozdílem je, že sice má vnitřek, ale my do něho nemůžeme fyzicky vlézt jako u funkcí. (To není ani tak záměrná vlastnost, spíš je to prostě vlastnost současné implementace, kterou bych asi raději v budoucnu odstranil. I když má i své zajímavé vlastnosti.) Zato však když na ně klikneme, vedle nich se objeví textová reprezentace jejich vnitřku. Krabice zastává roli seznamu, to znamená, že věci v ní obsažené mají pořadí. Na obrázku 5 je znázorněna krabice a pod ní ta samá, ale označená, krabice ukazující svůj obsah v textové formě.

(obr. 5)

Tato krabice obsahuje 6 prvků, v tomto pořadí: 23, 42, pak krabici (která obsahuje: 0, 1, 2), pak 5, pak prázdnou krabici a nakonec krabici obsahující dvě prázdné krabice. (Čísli máme na mysli příslušné trojúhelníčky.)

Jelikož není zatím možné do krabice vstupovat podobně jako do funkce, naskýtá se otázka, jak upravovat její vnitřek. To můžeme dělat buď pomocí elementárních funkcí přímo za běhu programu (pomocí funkcí jako přidej prvek na začátek seznamu, či odeber vršek seznamu, atd.), nebo použít konzole (na 2. záložce ovladače). Konzole umožňuje různé typy příkazů ovlivňujících různým způsobem chování Kutila. Příkaz začíná vždy dvojtečkou, pokud však nezačneme dvojtečkou, konzole to pochopí tak, že chceme vložit krabici a tak daný vstup do konzole interpretuje jako textovou reprezentaci vnitřku nově vkládané krabice. Ještě se letmo zmíním o tom, že podobně jako v Lispu, kde můžeme seznam chápat buď jako seznam, nebo jako aplikaci funkce, tak v Kutilovi můžeme krabici chápat buď jako seznam a nebo jako term lambda kalkulu. Na obrázku 6 je několik příkladů. Pro práci s lambda termy je v Kutilovi několik elementárních funkcí, znovu radši nebudeme zabíhat do detailů.

(obr. 6)

Posledním důležitým příkladem předmětu s vnitřkem, který si ukážeme, je moucha. Poeticky by se dalo říci, že zatímco funkce je designována podle deklarativního ideálu bezstavovosti, moucha je naopak formována imperativní láskou ke stavům. Na obrázku číslo 7 je vidět jak taková moucha z venku vypadá.

(obr. 7)

Napravo od ní si můžete všimnout drobného křížku. Každá moucha má jeden takový. Tento křížek je takzvaný cíl. Moucha se vždy přímou cestou snaží dostat do tohoto místa.

Na rozdíl od funkce, kde pro každý vstup se spustila zvlášť dimenze vnitřku; má moucha pouze jednu vnitřní dimenzi, která se spustí současně se spuštěním dimenze, ve které se moucha nachází. Moucha je stále ve fázi vývoje, ale už i teď zvládá myslím celkem zajímavé kousky.

(obr. 8  )

Z vnitřku mouchy můžeme ovlivňovat její vnější chování a to skrze posouvání jejího cíle. K tomu slouží elementární unární funkce „Instrukce“. Pokud se nachází uvnitř mouchy (a to buď v jejím bezprostředním vnitřku, ale také klidně v nějaké vnořené funkci uvnitř jejího vnitřku) pak vše co do ní spadne se Kutil pokusí interpretovat jako instrukci. Na obrázku číslo 8 je několik předmětů, které už moucha rozezná jako instrukce. První řádek jsou směry (nahoru, dolu, doleva, doprava, náhodně), pokud je vykonána nějaká instrukce směru, posune se o určitý elementární kus cíl mouchy. Druhý řádek jsou barvy. Pokud je vykonána instrukce barvy, moucha ve svém vnějšku přebarví dlaždici o stráně délky elementární kus.

Další důležitá elementární funkce pro řízení mouchy je dalo by se říci zástupce „opačného směru“. Je to funkce nazvaná trošku neohrabaně „Moucha v cíli“. Ta je zvláštní tím, že nepotřebuje žádný klasický vstup, aby dala výstup. Místo toho reaguje na událost. Ta událost je, že se moucha přiblížila dostatečně blízko svému cíli. Ve chvíli, kdy se tak stane (toto je událost ve vnějšku mouchy), se dá na výstup „Moucha v cíli“ malinký bílý míček (reprezentující v Kutilovi hodnotu „logická pravda“, naopak „lež“ je černý míček).

Další malý komix  na obrázku číslo 9 snad celou věc trochu ozřejmí.

(obr. 9)

Doprovodný komentář: V prvním okénku vidíme stav bezprostředně po spuštění reality. Moucha je kousek od svého cíle. V druhém okénku je zaznamenán stav v tu samou dobu ale uvnitř mouchy. Tři bílé elementární funkce jsou vázané k pozadí, jen fialová kostka reprezentující barvu po nastartování reality začne padat směrem k prvnímu vstupu elementární funkce „K“. V třetím okénku vidíme mouchu již šťastnou ve svém cíli. To má za následek, že uvnitř ní se z výstupu funkce „Moucha v cíli“ uvolní malý bílý míček, který spadne do druhého vstupu funkce „K“. El. funkce „K“ má jednoduché chování: vždy vrátí jako návratovou hodnotu svůj první vstup. Tím způsobí, že barva čeká na to, než moucha dojde do cíle. Z výstupu funkce „K“ tedy vypadne fialová barva a spadne do vstupu el. Funkce „Instrukce“, což má za následek to co vidíme v okénku číslo čtyři.

Poslední předmět, o které se trochu podrobněji zmíním, je panáček Budha. Ten v současném stavu Kutila představuje jediný vstup od uživatele. Myšleno ve chvíli, kdy už běží simulace. Je to jednoduchá, levitace schopná figurka, která může strkat do věcí, lézt do vnitřku funkcí a v budoucnu dozná ještě dalších a asi i nadpřirozených schopností. V jinak deterministickém (až na různé věci typu instrukce náhodného kroku) světě kutila tedy představuje velice důležitý princip. Na obrázku 10 si ho můžete prohlédnout.

(obr. 10)

Ještě je několik jiných prvků, které ještě nebyly zmíněny (některé dost podstatné), ale radši je už z důvodu alespoň nějaké kompaktnosti textu nebudu podrobně popisovat. Snad jen zmíním něco málo říkající výčet: Teleporty, proměnné, symboly, trychtýř, komentáře s odkazy, zvuky, a různé elementární funkce realizující klasické konstrukty programovacích jazyků (if, porovnání, beta redukce lambda termu, aplikace funkce, dosazení, atd.)

Na závěr této části zasvěcující do tajů programu Kutil, uvedeme ještě obrázek číslo 11 vyobrazující už trošku složitějšího prográmek. Konkrétně je to vnitřek mouchy chodící do spirály. Myslím, že zde je už částečně vidět něco, o co mi v Kutilovi velice de: O to vytvořit svět, kde by hmota volně přecházela v syntax programu. Svět, jehož metafyzika je takřka na dosah ruky.

A dále už následuje závěrečná část textu, diskutující podle mého názoru podstatné momenty designu duše, která není lidská, ale lidé s ní jsou schopni komunikovat.

(obr. 11)

Syntéza

Oblíbené pohledy na svět bývají ve znamení nějaké zajímavé duality. Na západě velmi oblíbený pohled na svět je skrze brýle duality ducha a hmoty. Dalo by se říci východní konkurent této duality, je dualita patternu a energie. Mé uchopení duše z první části textu se také vyžíváním se v dualitách jen hemží, v ní se de facto tvrdí, že každé slovo je zdrojem duality rozdělující celé všehomíro. Tendence vidět svět v dualitách je myslím logickým vyústěním snahy vidět svět rozdělený diskrétními hranicemi. Dualita představuje dvě strany hranice. Navíc dualita má tu šikovnou vlastnost, že jakýmsi způsobem vybrušuje význam jednotlivých slov, které jí tvoří; nebo ještě přesněji, pokud my prohlásíme nějakou dvojici slov za dualitu, říkáme tím, hodně o tom, jak tato slova vlastně chápeme. Neboť dokonalá dualita má prázdný průnik jednotlivých slovních území (slova jsou území, dualita tvoří hranici mezi nimi). Pokud nám však nějaká dvojice nepřijde, že má prázdný průnik, ale naopak vidíme přesně, kde to nesedí jak by mělo, dozvíme se hodně o rozdílnosti chápání daného slova jinou osobou.

Tyto úvahy týkající se dualit zde uvádím hlavně proto, abych ukázal co není idea šamanského světa, tak jak tento pojem chápu. Tyto myšlenky o dualitách jsou jistým způsobem kolmé na šamanskou ideu světa. Netvrdím, že můj pohled na věci, které se nyní chystám popisovat, je zcela objektivní a nezaujatý, ale na druhou stranu je velmi intenzivně pociťovaný. V následujících částech textu se krom vlastních názorů velice inspiruji myšlenkami Terence McKenny, amerického filosofa, psychonauta a etnobotanika (který sám sebe označuje za anarchistu, antimaterialistu, ekologa, feministu, Platonika a skeptika).

Základní, centrální a nejdůležitější věcí na praktikování šamanství je extáze, do které se šaman dostává požitím svých pomocníků, psychedelických hub či rostlin. Obecným projevem je potom takzvané „rozpuštění hranic“. Právě těch hranic, které můžou za chápání světa v dualitách. To co tím šaman získává je schopnost pohybovat se v o dimenzi bohatším světě. Navštěvuje různá „patra“ či „hladiny“ reality a díky rozpuštění hranic nevnímá toto pohybování jako nějak transcendentální či metaforické. Jakoby se rozpuštěním hranic stal pohyb v této ose plynulým a nevybočujícím z řady směrů, kterými je možno se vydat, stejně jako se nám jeví plynulé a navzájem nevybočující směry dopředu a doleva.

V těchto mnohdy skupinových dobrodružstvích není ojedinělé vnímání písní jako vizuálních zážitků. Jazyk se vylévá z koryta jemu klasicky vymezeného a vtéká do hájemství vizuálních médií.

Šaman přestává vnímat protikladné principy jako vylučující se, ale začíná je chápat jako vzájemně se vyvažující. Dochází u něj k extrémnímu nárůstu míry subjektivity, chápané ve smyslu popsaném v první části tohoto textu.

Nyní se pomalu vrátíme z šamanské říše do říše informatického uvažování a zkusíme zachovat důležité momenty. To co považuji za velmi podstatné na šamanském chápání světa je jakási schopnost vidět svět ve všech směrech, včetně těch transcendentálních, „zkonstruovaný“ ze stejného materiálu. A myslím, že nejvhodnějším kandidátem na tento materiál jsou slova. Svět je vyroben ze slov. Takzvané primitivní národy (takto označované západem) mají tento názor zabudovaný ve svém světonázoru podobně pevně, jako my máme vštípenou představu světa sestávajícího z elementárních částic. Ale primitivní národy v tom nejsou sami, dokonce i Francouzi, konkrétněji dekonstruktivisté prý, ve chvílích kdy je jim alespoň trochu rozumět, co mají na mysli, říkají, že s realitou bychom měli zacházet jako s textem. A co teprve křesťanské „Na počátku bylo slovo, a to slovo bylo od boha, a to slovo bylo bůh.“

Ale když to vezmeme kolem a kolem, co jsou vlastně naše elementární částice? Podle strunové teorie jsou to objekty pohybující se do 11-ti rozměrů, nemá smysl uvažovat, že mají barvu a jejich tvar si díky mohutné dimenzi nikdo živě nepředstaví, jejich nejhmatatelnější uchopení je skrze matematické vyjádření. Co však jiného než slova jsou matematická vyjádření?

Tok našich myšlenek je proud slov a obrazů. A pokud, na základě šamanských zkušeností při extázi dosahovaných pocitů vizuálního jazyka, zobecníme chápání jazyka i na jeho vizuální složku; pak není už moc daleko k prohlášení veškeré naší zkušenosti za jazykový fenomén.

Pro podložení tohoto tvrzení bych ještě uvedl jeden příklad; a to popis účinků člověku dosud nejsilnější známé psychedelické chemické látky, paradoxně však v jistém smyslu nejbezpečnější a nejpřirozenější neboť se přirozeně nachází v lidském mozku, v šišince, a pravděpodobně se pravidelně vyplavuje během REM fáze spánku: touto látkou je DMT, dimethyltryptamin. Jeho účinky jsou popisovány Terencem McKennou zhruba takto: Člověk je vtažen do jakéhosi dómu, který je plný velice roztodivných stvoření. Krom jiného je velice zajímavé, že člověk reaguje tak, jak by reagoval, kdyby se do takto podivné situace opravdu dostal; čili nemění se ani tak stav duše, jako spíš místo, kde se tato duše nachází. Tato stvoření si libují ve velice zajímavé činnosti a to ve svém jazyce. Jejich jazyk však není realizován, tak jako ten náš zvukem. Jejich slova jsou stejného druhu jako oni. Tato stvoření říkají jiná stvoření, která říkají jiná stvoření a tak dál. To co je však prý na tom celém nejzajímavější je to, že člověk je schopen této fantastické mluvy také! A McKenny tvrdí, že je to neskutečně příjemný zážitek. Doslova tvrdí, že sex je povrch toho, čeho tento zážitek je objem.

Opusťme nyní McKennův vnitřní svět a vraťme se nyní do hájemství matematiky a informatiky. Je jedna teorie, která mi toto všechno náramně připomíná. Tou teorií je netypovaný lambda kalkul. Lambda kalkul je svým způsobem velmi těsné přiblížení k tomu, co je teoreticky nejjednodušší programovací jazyk,  je to minimalistický přístup k uchopení samotného fenoménu jazyka. Ústřední pojem lambda kalkulu je pojem funkce, pojem který chápu jako základní jednotku abstrakce jejíž fundamentální vlastností je schopnost být zapojitelná do dalších abstrakcí. Funkce je tedy to, co má vstup a výstup; to čemu můžeme klást otázky a co dává odpovědi; to co umí reagovat; to co „tvoří na základě inspirace“ (pokud chápeme argument jako inspiraci); to co uvádí věci do kontextu. Funkce je článek v řetězu a vstup s výstupem jsou vlastně jediné povinné atributy toho, abychom něco považovali za funkci. To znamená že funkce společně budují řetězy, jejich články jsou prakticky neomezeného tvaru, jediný požadavek na ně je, aby je bylo možno na tento řetěz pověsit. Funkce je pro mne abstrakce události v toku událostí; v čase. Funkce jsou brilantní kompromis mezi rozmanitostí a stejnorodostí.

Vlastně jediný zásadní axiom lambda kalkulu je beta redukce; tedy fakt, že když funkci předložíme argument tak je to to samé jako když do funkce za tento argument dosadíme. Pokud bych hledal elementární částici času, asi bych vážně uvažoval o beta redukci. Je to jakýsi srůst v zapojení dvou součástek. O okamžik dřív byly k sobě tyto součástky pevně přitisknuté a v tomto okamžiku už jsou ještě pevněji srostlé; to je beta redukce. Jakési vrůstání světa sama do sebe.

Navíc když si uvědomíme, že každý objekt v lambda kalkulu je funkce, a že základní vlastností funkce je pro vstup vrátit výstup, dostáváme nápadně podobný obraz, jakými jsou McKennovy roztodivná stvoření, která on nazývá „Self-transforming machine elfs“. Tito machine elfové reagují na podněty a říkají jiné machine elfy. Naproti tomu funkce v lambda kalkulu dostávají vstupy a vracejí jako výstup zase funkce.

A tím se dostáváme k dalšímu doufám důležitému postřehu, totiž že ve chvíli, kdy přistoupíme na pravidla šamanského pohledu a chápeme svět utkaný z jediného materiálu, začnou se nám nutně podobat různé pohledy, ač z úplně opačného spektra uchopení. Jednotný materiál je podle mě jakýsi záchranný kruh chránící nás před utopením v rozbouřených vodách redukcionizmu.

Šaman se ve své extázi nachází ve stavu, kdy je na pomezí toho, co mi normálně považujeme za různé světy. Cestuje z lidského světa do zvířecího světa, do světa duchů, do transcendentních výšin i do pekelných hlubin.

Přesně o to se snaží i Kutil. Jednou nohou se opírající o náš fyzikální svět, druhou nohou se však nořící do hlubin syntaxe jazyka. To co je ale podstatné je, že jak tato syntaktická část zastoupená v kutilovy různými funkcemi, instrukcemi, seznamy a rekurzemi; tak všechny možné míčky a houpačky; jsou navzájem ze stejného materiálu. Zkuste se podívat znovu na obrázek číslo 11. Nepřipomíná Vám to jako dva soubory zdrojového kódu, tekoucího směrem dolů, navzájem propojené různými referencemi? A když ne to, tak alespoň jako vývojové diagramy?

Tvrzení „Svět je fraktál.“ nemyslím ani tak metaforicky jako spíš doslovně. Trochu zjednodušeně můžeme říci, že slovem fraktál se chápe celek sestávající z částí, které jsou podobné tomuto celku a sami jsou také fraktálem. Argumenty pro toto tvrzení jsou všudypřítomné. Počínaje podobnostmi v přírodě na místech, kde by to člověk moc nečekal, různé několikrát vynalezené stejné orgány na úplně odlišných živočiších, pokračuje podobností mikroskopických orbitů a makroskopických slunečních soustav a konče například úžasnou provázaností, propleteností a symetrií napříč celou matematikou.

Vnitřek a vnějšek popisované v Kutilovi (tím mám na mysli třeba vnitřek a vnějšek funkce, mouchy nebo krabice) nemají suplovat vnitřek a vnějšek, o kterém byla první část textu. Místo toho mají hrát jaksi na fraktální notu. Myšlenka je následující: Čím víc se budeme snažit vyjít vstříc uvažováním v termínech vnitřku a vnějšku přímo v technické deskripci světa Kutila, tím spíš se nám pak vyloupne duše tam, kde budeme mít šanci si toho vůbec všimnout. Myslím že když my půjdeme vstříc duši, ona nám půjde naproti.

Je příjemné koketovat s myšlenkou, že z fraktální podstaty světa vyplívá, že každá část obsahuje úplnou informaci o zbytku. Ale pak by to, co dělá Kutil nebylo kvalitativně něco jiného než jakékoliv jiné matematické snažení. Podstatný rozdíl je ale v tom, že kutil se snaží jít s míčem přímo na bránu. V Mandelbrotově množině nalezneme různé části, přičemž některé se podobají celku více a některé méně. Ale každý kdo si ji podrobněji prohlížel ví, že některé části jsou až neuvěřitelně podobné celku, zatímco jiné jsou úplně jiné než celek. Kutil je manifestace snahy najít právě nějakou takovou malinkou, ale co nejpřesnější zmenšeninu celého fraktálu. Nějakou podobnou těm, co se nalézají v západním rohu Mandelbrotovy množiny.

Jako další vývoj směrem kupředu chci do Kutila implantovat opravdu čistě textový programovací jazyk, který by co nejpozvolněji realizoval přechod od pevného k textovému. Navíc se dere na mysl otázka, proč jako tento jazyk nezvolit právě Javu, tedy jazyk ve kterém je samotný program Kutil naprogramován. Zvláště když Java má nativně podporovanou možnost za běhu dynamicky přidávat další kód. Toto je příklad takzvaného fenoménu „Strange-loop“. Ještě jeden zajímavý příklad se nachází dále v textu, v části věnované úvahám o přirozeném výběru.

Zamysleme se nad otázkou, co to je strange-loop úplně obecně. Svým způsobem je strange-loop kontradikce na „kulturní“ úrovni. Toto si jistě zaslouží podrobnější vysvětlení. Co zde máme na mysli kulturou je nějak konvenizovaný hierarchický systém. A strange-loop je něco, co tuto pouze konvenční, či relativní, či kontextově závislou hierarchii porušuje.

Termín strange-loop zavedl a popularizuje Douglas Hofstadter v knize „Gödel, Escher, Bach“, a dále rozvíjí v knize „I Am a Strange Loop“.

Často se jako příklady uvádějí obrazy malíře M.C.Eschera, jeden obrázek 12 snad nahradí desítky slov.

File:DrawingHands.jpg

(obr. 12)

Kontradikce, nebo chcete-li paradox, je ale svou povahou dobrá věc na „vyšší úrovni chápání“. Ukazuje nám místo kde naše současné chápání v něčem hapruje a tak bychom měli chápat paradoxy jako dary, spíše než pasti. Pokud zabrouzdáme do teologičtějších vod, tak mým žhavým kandidátem na nositele významu v přírodě jsou právě strange-loops.

Ještě bych rád něco málo poznamenal ke gravitaci v Kutilovi, nápadně mi totiž připomíná ztělesnění stejného principu, jakým je v lambda kalkulu beta redukce, které jsme se již věnovali výše a přirovnali ji k částici času. Gravitace zde totiž také zastává jakousi neskutečně jednoduchou sílu, která však pohání chod celého stroje. Argumenty totiž do funkcí vplouvají právě pod náporem gravitační síly. To samé dělají argumenty přichystané pro lambda termy pod náporem beta redukce. Z toho mě napadají dva možné závěry. První je přehodnotit názor na to, že beta redukce je částicí času a místo toho ji považovat za graviton. Druhá možnost, která mi i přijde svůdnější, je podívat se na částice realizující síly v naší realitě jako na částice času. Zatímco částice hmoty zůstávají nadále chápány jako částice hmoty; částice sil, kteréžto ohýbají a přeskupují částice hmoty, nyní můžeme chápat jako částice času. Čímž dostáváme intuitivně zajímavou představu toho, že čas ohýbá prostor.

Nyní jsme se zabývali fyzikální vrstvou Kutila. Další v pořadí je hladina chemická, kterou bych prozatím přeskočil. A po ní následuje hladina biologická. Zde bych zmínil hlavně pojem evoluce, nebo chcete-li, přirozeného výběru. Zde se nalézá důležitá komponenta, kterou chci určitě jednou zabudovat do Kutila: A to je Genetické programování (standardně zkracováno GP). To lze ve zkratce popsat jako odvětví evolučních algoritmů, které operují s kódy programů jako s genetickým materiálem. Navíc se v této oblasti využívají techniky meta-evoluce, neboť samotný kód realizující evoluci (tzn. implementaci operátorů křížení, selekce či mutace) můžeme chápat jako jedince v populaci různých implementací těchto operátorů. Nyní postupme ještě o kousek dál a doveďme tuto myšlenku do extrému. Představme si, ne jednu implementaci programu Kutil, ale celou populaci. Tato populace však podléhá evolučním operátorům, které zase tvoří populaci, která se už ale fyzicky nachází jako zvířátka implementovaná v Kutilovi, respektive v populaci kutilů. Tato zvířátka jsou spíš podobná (sice mnohem složitější) mouše představené v tomto textu výše. Není však až takový problém, aby takováto zvířátka podléhala již přirozené evoluci, pokud bychom do kutila zabudovali například nějaké násilné prvky, kterými by zvířátka mohla proti sobě bojovat. A samozřejmě nenásilnou odnoží přirozené evoluce je sebe-kopírování.

Tím dostáváme dle mého názoru velice zajímavý pokus o přirozenou evoluci realizovaný skrze využití „strange-loops“. Celý tento princip ale můžeme hierarchicky „kopírovat“. Tím mám na mysli to, že můžeme udělat populaci pohybující se ve virtuální realitě kutila, jejíž členi by byli výše uvažovaná populace mutací Kutilů.

Zde bych se prozatím ve šplhání po žebříku jednotlivých emergenčních vrstev zastavil. Paradoxně jsme se nedostali k psychologické vrstvě, která je evidentně velmi blízko duše takové, se kterou bychom byli schopni komunikovat.

To však úzce souvisí s problémem, který vidím u současných přístupů k umělé inteligenci, ačkoli to může být způsobeno mou neznalostí, ignorancí nebo naivitou. Nicméně vidím klasický přístup následovně (možná je tento popis ale jen pouhá karikatura): Klasicky se dělá to, že si myslíme, že jakž takž intuitivně víme, co to ta inteligence je, jak se projevuje atd. Pak se pokusíme toto intuitivní uchopení podchytit nějakým formálním modelem a v rámci tohoto modelu se snažíme budovat inteligentně se chovající systém. Můj názor je ovšem takový, že si myslím, že zatím nemáme tak mocné nástroje, abychom byli schopni takový problém, jako je umělá inteligence, efektivně podchytit. Náš jazyk je příliš mechanický, příliš těžkopádný a příliš naivní. Myslím, že potřebujeme nástroj, který bude sám o sobě žít, sice možná primitivním, ale znatelným životem. Teprve až tímto nástrojem bych si troufl na takový problém, jako je konstrukce duše lidského typu. Kutil je tedy přístup snažící se o řešení problému umělé inteligence z opačné strany, nejdříve vytvořit dostatečně organický vyjadřovací prostředek dost silný na to, aby dokázal podchytit složitá a vratká zákoutí a pasti skrývající se za misí konstrukce umělé inteligence.

Tento text je jakési jamování dvou rozličných myšlenkových škol: filosofie a informatiky. Filosofii nesluší, aby byla považována za plané tlachání; filosofie se narodila pro to být implementována informatikou. Bylo by to totiž velice vyvážené manželství, alespoň v mých očích je tedy filosofie silnou představitelkou ženského principu, se vší svou vágností, intuici a hloubkou, je tou klidnou ale o to zlověstnější silou v pozadí. Stejně jako, dalo by se říci, Matka země. Zato informatika se svou až fetišistickou láskou ke strojům, přesnosti, mechanicitě, hračičkovství a svou naivitou  je typicky maskulinní síla. Dále je zajímavé, že filosofie je pokud ne nejstarší, pak jednou z nejstarších myšlenkových cest. Oproti tomu informatika je ta vůbec nejmladší cesta. Čili nejenom dualita žena a muž, ale také mládí a stáří. Myslím, že toto manželství by oslabilo nyní se ve společnosti silně projevující principy dominance a naopak posílilo partnerský princip mezi mužským a ženským principem.

Úvahy o šamanském světe jsme započali řečí o dualitách, pak jsme pokračovali řečmi o nedualistním postoji, a skončili jsme úvahou o sloučení stran duality filosofie – informatika. Tedy skončili jsme aktem „rozpuštění hranic“.

Metatext

Abych se přiznal, tak současnou verzi textu ještě nepovažuji za kompletní a nejsem s ní plně spokojen. Na závěr ještě uvedu stručný seznam témat, která bych chtěl rozšířit:

Hierarchie jakožto systém rozhraní

Síla chaosu jakožto trade-off efektivitou a průzračností

Strach z účelové funkce jakožto výsledek touhy po splynutí s finálním objektem

A mnohem více o strange-loops

Rubriky: Nápady, Prográmky | Napsat komentář

Plechový plát

Plechový plát cinká kroky bot. Pod ním jsou přimáčklé listy trávy. Plát jakoby na trávě poplavával, protože se nedotýká země, jen listů. Svědění na levé ruce blízko podpaží je zřetelný zdroj vyrušení. Pak člověk (s botami) zakřičí a lidé bez bot pomalu s námahou zvednou celý plát nad svá ramena. Člověk s botami si opatrně sedne a boty si zuje, je jen v ponožkách. Z nichž kouří slabí tah páry. Na plechovém plátu se na okamžik otisknou loužičky v blízkosti ponožek. A ten v ponožkách křikne na vánek ve vzduchu: “Vánku ty uličníku!” a okolní lidé spocení námahou obracejí oči vsloup. On si toho všimne a dupne si. To je na nosiče už příliš a jako na povel všichni pustí železný plát na zem. Ten dopadne o kousek jinam než byl původně, a tak se rozjede dolu ze strmého travnatého kopce. Jede dolu stále se zvyšující rychlostí a lidé výskají vzrušením. Lidé si sundavají oblečení, aby jim to lépe klouzalo, a nazí skáčí dolu po svahu. Vyučívajíce kluzkost této trávy se řítí dolu jako jablka. Dohánějí plát a předhánějí plát. Plát se otáčí a nebezpečně škrtá o holá těla svými čtyřmi ostrými rohy. Všichni kdož přijdou do kontaktu s plátem vyjekávají řezavou bolestí. Jejich těla se pomalu zbarvují do jizvově rudé barvy. Muž v ponožkách je ostražitý, nemá však madla, která by použil k přidržení se. Je spíše u vytržení. Na konci kopce čeká vodní plocha. On ji už vyhlíží s přimhouřeným zrakem, nemůže se dočkat jejího příchodu.

Rubriky: Povídky | Napsat komentář

V lese to žije.

Rubriky: Obrázky | Napsat komentář

Co to je Kutil?

Kutil je program, na kterém teď pracuju. Ve zkratce, která může leckoho odradit nebo naopak nadchnout, jde říct, že Kutil je hra a programovací jazyk v jednom. Je to zároveň také můj ročníkový projekt a bakalářská práce na matfyzu.

Tenhle článek je ze stránky hraKutil.wordpress.com , kterou jsem udělal abych se vyhecoval k práci na Kutilovy 🙂 , v budoucnu tam budu přidávat další informace.

Popíšu, jak vypadá současná verze programu, která je také ke stažení v sekci Ke stažení(možná ale, že až budete tohle číst, tak už bude aktuální verze vypadat nějak jinak). Nebudu se snažit o vyčerpávají popis, ale spíš o takové letmé úvodní seznámení. Když program spustíte, otevřou se dvě okna:

To nalevo je ovládání: umožňuje ovládat nejrůznější věci ale to nejdůležitější je, že slouží jako paleta předmětů, které můžeme vkládat do pravého okna. Nahoře na ovládacím okně je osm záložek. Kliněme třeba na panáčka. Nyní klikneme na tlačítko „budha“. Když teď přesuneme myš na pravé okno, je vidět že je na ní nalepená figurka budhy. Kliknutím na pravé okno umístíme budhu na jeho nové místo v Kutilovské realitě.

Kutilovská realita je teď ale zamrzlá, je ve stavu „stop“, stejně jako písnička nebo film, když je na začátku. Proto budha visí ve vzduchu a ne a ne spadnout. Aby čas v Kutilovské realitě rozmrzl, musíme zmáčknout tlačítko „play“ na prvním panelu, nebo stisknout klavesu p. Když to uděláme, budha se elegantně snese na podlahu krabice. Říkáme, že jsme spustili simulaci.

Budha je takzvaný panáček, což znamená že ho můžeme ovladát (pokud ovšem běží simulace). Ovládá se šipkama. Je to budha a tak se nenamáhá s chuzí, jednoduše vzlítne do vzduchu silou vůle. Všimněte si, že ho to opravdu nenamáha, stále se blaženě usmívá.

Když na budhu kliknem, jeho svaté kontury sčervenají. To znamená, že jsme ho označili. Nyní ho můžeme táhnutím myši přesunout někam jinam.

Nyní proskoumáme asi nejdůležitější předmět v celém Kutilovy. Ještě než to uděláme, tak ale zastavíme chod simulace kliknutím na tlačítko „stop“ nebo stisknutím klávesy s. Tím jsme zas jakoby „přetočili písničku na začátek“. Kliněmež na třetí záložku, na tu s černou krabičkou s kolečkem. Zde vybereme předmět FUNKCE. Nyní máme na myšce přilepenou černou krabičku s tajuplným nápisem „funkce1″. Někam jí umístíme. Ve chvíli, kdy jsme ji umístili, se rozblikala tajuplným světlem. Což nám prozrazuje, že v jejích útrobách se nalézá nějaká fikanost. Nebudeme otálet použijeme budhu na prozkoumání té tajuplné skříňky. Zaleťme tedy s budhou nad krabičku a nechejme ho na ní spadnout.

Ano, budha spadl dovnitř do černé krabičky, uvnitř které se nachází nový netušený prostor! Podobný tomu odkud přišel, s tím rozdílem, že tehle má nahoře vstupní díru a dole výstupní díru. Když se budha dotkne dole dna této vnitřní místnosti, vypadne ven, zpátky odkud přišel.

Pokud by někoho znepokojoval ten zlověstný nápis „funkce1″, může ještě udělat následující trik, kterým přejmenujeme tuto krabičku. Krabičku nejprve označte kliknutím. Podobně jako budha zčervená. Nyní zmačkněte klávesu F2 (stejně jako když chceme ve Windowsech přejmenovat třeba složku), což má za následek, že se na ovládacím okně přepne záložka na druhou záložku s obrázkem obrazovky. Této záložce se říká konzole a složí k zadávání textovových příkazů Kutilovi. Do vrchního řádku se píší příkazy a ve zbytku okna jsou textové reakce Kutila na tyto příkazy. Nyní je v tomto řádku napsáno „:rename funkce1 „, teď stačí napsat nové jméno, třeba „domeček“ a stisknout klávesuenter. To má za následek, že řekneme kutilovy příkaz „:rename funkce1 domeček„, což přeloženo do lidské řeči znamená: „Přejmenuj fukci1 na domeček.

Tedy ve zkratce: označit černou krabici -> zmačknout F2 -> napsat nové jméno černé krabice (bez mezer) -> zmačknout enter.

Teď už asi tuto letmou exkurzi do Kutilova světa prozatím přeruším, protože se mi chce spát a bůhví jestli někoho baví číst až moc dlouhé články.

Ještě jen rychlé zamyšlení, proč to vlastně píšu.. Tyto stránky jsem se rozhodl psát ze dvou důvodů. První je osobní a motivační: Říkam si, že když jednou za čas zformuluju co nového do programu přibylo, nebo když vysvětlím něco z uživatelského rozhraní, a tak dále; tak že potom budu mít hmatatelný záznam nějakého postupu, který by mě mohl motivovat pracovat dál. Druhý důvod jsou potenciální uživatelé programu, pro které tyto stránky zprostředkovávají především možnost se o Kutilovi dozvědět. Dále pak jako zdroj informací, pokud by se někomu projekt zalíbil. Což zase souvisí s prvním důvodem, protože když zjistím, že to někomu přijde jako zajímavá věc, tak mě to bude určitě motivovat. A tedy je to i zdroj informací pro mě, zprostředkovatel zpětné vazby.

Je to zatím asi můj nejrozsahlejší projekt. Snažím se, aby během toho, jak projekt pokračuje, byla stále k dispozici použitelná verze. Čili i kdybych teď přestal s vývojem tak i přesto něco funkčního zůstane na světě (narozdíl od mých různých předchozích pokusů o to něco vytvořit, které snad vždycky zůstali v nedodělané a víceméně nepoužitelné fázi). Tím však nechci říct, že bych chtěl s vývojem v brzké době přestat, naopak mám relativně velkou zásobu nápadů jak pokračovat, počínaje odstraňováním drobných chyb a nedodělků, přes různá  drobná vylepšení až po nejrůznější ambiciozní dlouhodobé plány, které však chtějí hodně práce, aby nezůstalo jen u lákavých představ.

Rubriky: Prográmky | Napsat komentář