Bůh ve stroji
TempleOS: Operační systém pro Boha
Aktualizace: Na konci května byl zrušen Terryho YouTube kanál a s ním všechna videa, zároveň zmizela většina obsahu webu TempleOS. Odkazy v článku vedou na archivní verze stránek, některá videa se mi však již nepodařilo nalézt.
V průběhu staletí budovalo lidstvo chrámy svým božstvům. Ať už jako místo posledního odpočinku krále-boha, centrum komunity a rozjímání či oslavy Všemohoucího. Starý zákon popisuje Hospodinův chrám, první židovský chrám který král Šalamoun nechal postavit na dnešní Chrámové hoře v Jeruzalémě.
Šalomoun pokryl celý vnitřek chrámu ryzím zlatem. Také svatostánek pokryl zlatem a natáhl před ním zlaté řetězy. Celý chrám byl tedy úplně pokryt zlatem a stejně tak byl zlatem pokryt i celý oltář před svatostánkem.
Ačkoli jsou dnešní svatyně o něco skromnější, lidstvo i dodnes staví svatyně svým božstvům. Byť to nemusí být budovy z kamene a dřeva.
Terry A. Davis, 47-letý programátor z Nevady, se v roce 2003 rozhodl postavit nový Hospodinův chrám. Tím chrámem je operační systém – TempleOS. TempleOS je „oficiálním chrámem Boha,“ místo, kde se Bohu obětují dary a kde je možné promlouvat s božím orákulem. Systém je omezený na rozlišení 640×480 pixelů, 16 barev, jednohlasý zvuk přes PC Speaker a nepřipojí se na síť. Celý systém (kromě aplikací a ukázek kódu) nesmí překročit sto tisíc řádek kódu. Bůh si to tak přál.
Bůh řekl, že grafika 640×480 o 16 barvách je stálý závazek, stejně jako obřízka.
Při prvním spuštění vypadá TempleOS jako návrat do 80. let, doby mohutných katodových monitorů, ohebných pětipalcových disket, jednoduchých tónů ze zabudovaných reproduktorů a výrazných barev grafických rozhraní Amigy a DOSu. Dřívější systémy se však obešly bez agresivního blikání…
Hned po spuštění se systém dožaduje pozornosti na několika frontách. Chceš nainstalovat systém? Chceš prohlídku systémem? Tady jsou základní klávesové zkratky, které fungují všude: Ctrl-M otevře osobní menu (něco jako nabídka Start), klávesou F7 vložíš náhodné slovo od Boha, F6 přehraje náhodnou písničku a Shift-F6 ti načmárá obrázek od Boha.
Terry usiloval o zjednodušení komunikace s Bohem. Zpočátku zkoušel otevírat Bibli na náhodné stránce, poté stránku vybíral hodem mince – nejprve pouze v Bibli a pak ve všech svých knihách. Nakonec dospěl k využívání vysokofrekvenčního časovače jako generátoru náhodných čísel. (zdroj) TempleOS proto obsahuje Orákulum pro komunikaci s Bohem v aplikaci AfterEgypt:
… Než s Bohem mluvíte, tak byste mu měli nabídnout dar, jako komiks nebo básničku, nebo jen dobrou konverzaci, buďte zábavní a okouzlující… Nebo jej můžete pochválit; například pochválit Boha za písečné hrady, sněhuláky a bubliny a popcorn…
Já jej pochválím za něco nového a to izotopy, třeba jak máte uhlík 14… Myslím, že je to docela cool. Nemuselo to tak možná být…
Terry, jakožto „Velekněz oficiálního božího chrámu,“ tvrdí, že hlavním smyslem života je nabízet Bohu oběti, jako Kain a Abel, a užívat si odpověď Boha. Ve svých rozsáhlých poznámkách o rozhovorech s Bohem odhaluje i řadu zjištění: oblíbený sport Boha je hokej, v televizi rád sleduje telenovely a jeho oblíbená zvířata jsou medvědi a sloni.
Terry A. Davis je vystudovaný elektrotechnik a talentovaný programátor. V roce 1996 začal trpět stihomamem a bipolární poruchou, později mu byla diagnostikována schizofrenie. Na TempleOS pracuje od roku 2003, kdy se chytil trendu 64-bitových domácích počítačů.
Terryho operační systém měl v průběhu let řadu jmen: J, LoseThos, SparrowOS a nakonec TempleOS. Terry se o svém projektu podělil se světem, ale nedočkal se vždy vřelého přijetí. V diskuzích komunikuje nekoherentně a zpravidla v dlouhých, náhodně vygenerovaných úsecích textu („božího slova“). Často začne vykřikovat konspirační teorie a ostatní diskutující častuje nadávkami a označením negr.
Terry žije u rodičů a pobírá invalidní důchod. TempleOS stále aktivně vyvíjí. Na YouTube kanálu je už přes tisíc videí které ukazují funkce a kód TempleOS, jednotlivé aplikace a chvalozpěvy, které Terry složil. Vedle toho Terry pravidelně publikuje na web TempleOS.org, který slouží i jako Terryho domovská stránka. Zde mimo jiné sepisuje nápady na vynálezy a zápletky filmů (například Klon Země, kdy lidstvo objeví klon Země posunutý zpět do roku 1859) a v blogu zveřejňuje rozhovory s Bohem (většinou se jedná o sledy náhodných slov občas proložené konspiracemi o pronásledování CIA).
Nedávno se pustil i do livestreamingu. Občas máte šanci jej zahlédnout, jak skládá nové chvalozpěvy, brouzdá po YouTube nebo s úšklebkem odpovídá trollům v chatu odstavci náhodných slov.
Terry je bezesporu zvláštní postava; možná jen schizofrenik který tráví příliš času u počítače, možná génius s nešťastným osudem. TempleOS je snadné odsoudit jako nepoužitelný projekt: s tak směšnou grafikou a bez podpory síťování je použitelný možná jako stroboskop. Ale přesto je na něm cosi fascinujícího.
Práce s TempleOS je jako výlet do paralelního světa, kde se vývoj operačních systémů ubral jiným směrem. Zatímco dnešní dominantní systémy jsou deriváty svých předchůdců, TempleOS je od základu originálním dílem jediného autora nespoutaného existujícími paradigmaty.
Linux je kamion – potřebujete profesionálního řidiče, který zvládne 20 převodů. […]
Windows je auto.
TempleOS je motorka – když se nakloníte moc do strany, motorka havaruje. Nedělejte to!
TempleOS je cílený především na technické uživatele. Není zde žádná ochrana procesů, všechny aplikace společně sdílí paměť – pokud je v jedné aplikaci chyba, může shodit celý systém. Tím je celý systém extrémně jednoduchý a snadný k prozkoumání. V chrámu nejsou žádná tajemství.
V dnešních systémech je absence jakékoliv izolace aplikací nepředstavitelná, přesto populární systémy DOS a Commodore 64 nic takového neměly. Každá aplikace měla 100% kontrolu nad celým systémem. Proto když se „sekla“ nějaká hra, nezbývalo nic jiného, než restartovat počítač. Opravit takovou chybu bez zdrojového kódu aplikace je však velice obtížné.
V TempleOS nejsou binární aplikace, vše je zdrojový kód. Každý program se transparentně zkompiluje při spuštění (tzv. Just In Time Compiler – JIT). K modifikaci systému tak nejsou zapotřebí sofistikované nástroje, stačí upravit textový soubor a znovu jej spustit. Celý systém je psaný v HolyC, dialektu programovacího jazyka C, který zároveň slouží jako hlavní prostředek komunikace se systémem.
TempleOS se tak svým způsobem vrací k tradici počítačů C64, Atari 800 nebo Apple II, kde jazyk BASIC sloužil jako základní uživatelské rozhraní kterým uživatel mohl spouštět i tvořit aplikace. Hranice mezi uživatelem a programátorem byla tenká.
TempleOS jde programátorům vstříc i zabudovaným dokumentačním systémem. Textové soubory jsou ve skutečnosti dokumenty ve formátu DolDoc, který umožňuje vkládat hypertextové odkazy, vektorové obrázky i 3D grafiku. Grafický editor je zabudovaný v systému, stejně jako textový editor. Dokumentace je tak organickou součástí zdrojových souborů, včetně odkazů mezi funkcemi a grafických diagramů. Stírá se hranice mezi grafickým a textovým rozhraním, interaktivitou a neinteraktivitou.
Součástí systému jsou i ukázkové aplikace, rozdělené na „Zábavné hry“, „Nezábavné hry“, „Útržky kódu“ a „Nehry.“ Například v nezábavné hře „Castle Frankenstein“ pobíháte po 3D hradě kde střílíte monstra („Bůh řekl, že tancují“). V zábavné hře Wenceslas jste Dobrý král Václav, zapalujete stromy aby se zahřáli vaši poddaní. Některé hry jsou záměrně nedokončené a uvítají vás mottem „Pište hry, nehrajte je!“
Od roku 2014, kdy Terry upoutal pozornost širší veřejnosti, ubyly v systému náboženské reference. Dokonce i aplikace AfterEgypt, dříve nejdůležitější součást systému, se přesunula na doplňkový disk. Naopak TempleOS App Store se rozrostl o aplikace od dalších vývojářů, které neodradila svérázná podoba systému, ani jeho omezení.
Jack Whitham, který na TempleOS přenesl interpret textových her, poznamenal:
Tento malý projekt mi neustále připomínal jak moc se spoléháme na softwarovou infrastrukturu, zejména nástroje. Nejen kompilátor C, ale účinné debuggery, textové editory a systémy správy verzí. TempleOS je jako kdybyste nad tím vším provedli reset: vývojářské nástroje jsou zcela jiné. Jsem těžce závislý na nástrojích, které normálně používám. Práce v prostředí kde nic takového neexistuje je skutečně kulturní šok. A proto je to výzva.
Dennodenně se potkáváme s chybami v aplikacích, které používáme. Řada chyb je zajisté způsobená vývojáři. Spousta chyb však nemá jasného viníka. Dnešní software je souhra komplexních systémů stojících na mnoha křehkých vrstvách abstrakcí. Chyby počítačových systémů jsou zkrátka „emergentním chováním“ komplexních systémů v důsledku neočekávaných interakcí komponent.
Na jedné straně komplexita software neubývá, na straně druhé software proniká do všech aspektů našich životů. Snaha zjednodušit systém pro koncové uživatele jej učiní ještě složitější a pro uživatele neprůhlednější. Dříve si kutil opravil auto u sebe doma – dnes nějaká krabička v autě usoudí, že je něco špatně a auto se bez zásahu autorizovaného technika nerozjede. Jako uživatelé jsme odkázaní na milost techniků, vykladačů elektronických snů a vymítačů virtuálních démonů.
Kdo jiný je určený ke zvládání komplexity, než stroje samy? Díky strojovému učení a dalším nástrojům „umělé inteligence“ už nemusíme komplexitu zvládat my – stačí, když vytvoříme systémy, které se naučí komplexitu zvládat místo nás. Jak tyto systémy fungují se bude vymykat našemu chápání. Samuel Arbesman ilustruje na příkladu evolučního programování:
Před několika lety se tým výzkumníků pokoušel vylepšit návrh jistého počítačového obvodu. Vytvořili jednoduchý úkol, který měl obvod řešit, a pak se pokoušeli vyvinout potenciální řešení. Po mnoha generacích tým konečně nalezl úspěšný návrh obvodu. Zajímavá je však tato část: v návrhu byly komponenty, které nebyly připojené k hlavnímu obvodu – a přesto byly zapotřebí ke správné funkci obvodu. Evoluční program využil zvláštní fyzikální a elektromagnetický jev, který by žádného inženýra nenapadlo využít pro danou funkci obvodu. Slovy výzkumníků: „Evoluce dokázala využít tento fyzikální jev i přesto, že by bylo obtížné jej analyzovat.“
Jak se postavit ke všeobjímající komplexitě? Arbesman navrhuje, abychom systémy chápali podobně jako počasí – něco, co sice nedokážeme ovládat, ale dokážeme odhadovat jeho chování máme-li dostatečně dobrý model. A k tomu budeme potřebovat interprety modelů, něco jako televizní rosničky. Nebo jako velekněze, kteří budou vykládat vůli našich algoritmických bohů.
A mezitím jeden osamělý programátor v Nevadě bude dále vylepšovat své životní dílo – operační systém, který je chrámem pro Boha. Místo rozjímání a obětování Bohu. Místo, kde uživatel je velekněz a nic mu není zapovězeno. Místo, kde je uživateli nadřazený už jen Bůh.
Zdroje
- TempleOS.org (archiv)
- Jesse Hicks: God's Lonely Programmer
- Richard Mitton: A Constructive Look At TempleOS
- Jack Whitham: Porting third-party programs to TempleOS
- Samuel Arbesman: Is technology making the world indecipherable?
Animace 3D modelů jsou součást systému TempleOS, který je dostupný jako volné dílo. V článku je použito písmo Fixedsys Excelsior.