Having all of the keys in a single compact binary format also avoids the intense fragmentation problems currently experienced by the tree-of-directories-of-xml-files approach.
Že bychom nakonec k těm windowsáckým registrům přece jen došli? Už se těším, co se stane, když se ten jediný velký binární soubor pokazí.
Dříve byla GConf databáze složená ze stovek konfiguračních souborů. Bylo to zoufale pomalé na čtení. Tak všechny volby slili do jediné XML databáze. Čtení je sice o trochu rychlejší, ale instalace GNOME se rázem protáhla o půl hodiny na tisíceré přechroustání konfigurační XML databáze.
A tako po letech konečně vývojářům došlo, že XML databáze není ideální databázový formát, ale slepá ulička. Binární databázové knihovny jsou řádově rychlejší než jakékoliv XML, a tak se dnes vrací tam, kde před deseti lety začínali - konfigurační knihovna s binárním databázovým back-endem.
aha a jak já já jako uživatel upravím?:D nehledě na to, předělávat něco co funguje dobře je nesmysl a hlavně když se něco pokazí v binárním souboru, jak to mám já jako uživatel upravit?
imho měli spíše ty soubory nějak sjednotit aby jich nebylo tolik a nechat xml..
jinak je vidět jak lze s xml pracovat přímo na Rhythmboxu, lehký, zvládá x-tisíc písniček v xml databázi naprosto bez problémů...
Už jste někdy přímo editoval gconf XML databázi? Zjistil byste, že to většinou nefunguje. GConf démon si totiž vytváří několik úrovní cache a vaše změny často ignoruje. Od editace je gconftool-2.
Ostatně ani SQL nikdo needituje přímo, a přesto to nikdo nepoužívá jako argument proti SQL databázím.
GConf soubory slili už v GNOME 2.24 (gconf-merge-tree). Výsledkem je mírné zrychlení čtení a řádové zpomalení zápisu. Prodloužení instalace GNOME zhruba o půl hodiny je pak jen jeden z vedlejších efektů.
Předělává se tedy něco, co nikdy pořádně nefungovalo.
U záložek epiphany nebo na rhythmbox je vidět, jak je XML neohrabaný databázový formát. Při startu rhythmbox nad 16GB SD kartou na mém PDA mohu začít přehrávat zhruba za pět minut. Konkurenční software s binární databází to zvládne za dvě sekundy.
Ano, čím více aplikací si ukládá svoje nastavení do jednoho (ještě k tomu binárního) souboru, tím lépe. Když pak jedna jediná něco zmrší při ukládání svého nastavení, mají ostatní zřejmě smůlu...
PS: A pak ta zábava, když po odinstalování aplikace tato po sobě neuklidí vše. A registry kynou a kynou.
Firmy jako Oracle si to asi nemyslí. Jinak by nekupovaly mySQL, která tabulky ve formátu klíč/hodnota ukládá do jednoho (ještě k tomu binárního) souboru. Only totiž existují metody, jak tento soubor pokud možno nezmršit.
Úklid v uživatelském prostoru po odinstalované aplikaci patří ke slabým stránkám UNIXu obecně. GConf není výjimkou. Pokud by to nový systém řešil, bylo by to jedině dobře.
Není, je to nejrozumnější způsob, jak efektivně poskytnout strukturovaná konfigurační data. Byly to právě mobilní platformy (např. GPE), které začaly na desktopu ukládat svá data do databází, a k případné ruční editaci používat SQL.
GConf databáze postupně nabubřela téměř k 50MB, a to je na XML databázi příliš i na rychlých strojích. Je jednoznačně největším zdržovačem jak při instalaci, tak při startu GNOME. Jsou dvě cesty, jak se s tím vypořádat:
- Změnit její implementaci a systematicky z ní vyházet překlady, které v ní tvoří přes 90% dat.
- Změnit její formát na ověřený binární databázový formát, neboť XML a textový balast tvoří dalších 70% ze zbytku. Tato změna navíc přinese index pro rychlé nalezení správného klíče.
Implementace obou zároveň přinese zrychlení možná o 3 řády.
To je fšechno poměrně fajn. Ale ještě lepší by bylo kdyby v Linuxu existovalo nějaké jednotné (a respektované) konfigurační rozhraní, které by tyto problémy řešilo nezávisle v samostatném projektu a ostatní projekty jej už jen využívaly. Myslím, že něco takového Linux potřebuje jak "koza drbání"... :)
Nerozumim pul hodine a tisiceremu prechroustani. My necachujeme disk? Nevim jak gnome, ale me se da casto pristupovany file do pameti a nic nikde nechrousta...
A laicky - kdyz uz by parsovani melo byt tak vypocetne naroce - co mi brani mit agenta, ktery to jednou secte, vytvori svou cache na bazi sql treba a pracuje na dotazy jednotlivych klientu?
Proste - registry jsou pro me jako nestovice. Mel jsem je jednou, kdyz jsem byl malej a uz je proste nechytnu.
Hlavní příčinou pomalosti není rychlost disku, ale parsování 46MB XML dat pro každou sadu klíčů.
gconfd-2 jako agent funguje pro uživatelské účty. Instalační skripty však používají --direct, tedy přímou modifikaci databáze bez mezistupně v podobě žurnálu a dalšího démona. Má to dobrý důvod - uživatelský démon by se musel dívat do žurnálů i u dat, která jsou pro něj pouze ke čtení, nebo se dotazovat superuživatelské instance gconf démona. Ani tak však gconf --direct nefunguje příliš dobře - superuživatelské změny se nepromítnou do cache uživatelských démonů okamžitě. To může způsobit i pád aplikace (nebo v nejhorším případě dokonce její trvalou nefunkčnost, jak tomu bývalo u apletu na sledování systému, kdy se místo implicitních hodnot ze systémové databáze dostaly do uživatelské databáze nuly).
Pokud vytvoříte cache na bázi binární SQL databáze, je vám její kopie ve formátu XML naprosto k ničemu. Ba co víc, škodí. Jde jen o mnohonásobně rozvleklejší reprezentaci téhož, ve které však musíte kontrolovat případné změny a řešit vznikající race condition (aplikace změní databázi, uživatel XML obraz; kdo má přednost?).
No, nemam nijak za cil poucovat vyvojare gnome. 46 MB konfiguraci je slusny cislo. Icewm ma 30kB, kdyby to bylo v xml, tak to da 60kB. Takze proste gnome je zrejme 500x lepsi, nebo alespon 500x konfigurovatelnejsi.
Jenze icewm je pouze window manager, nikoli desktop. Na urovni icewm je v gnome metacity, coz je defaultni window manager v gnome. Porovnavej porovnatelne. Metacity 46 MB cfg soubor nema.
Pomalost při chroustání 46 MB není ten opravdový problém. Tím je přítomnost 46 MB uživatelské konfigurace v jednom souboru. Ať se na to koukám jakkoliv, pořád mi vychází, že je to naprosto absurdní hloupost. Kde se tolik konfigurace vezme?
Obsah klíčů je: klíč (XML je hierarchicky uspořádaný), datový typ, datum modifikace, obsah klíče, asociace se schemas (jakési šablony pro tvorbu klíčů). Nedílnou součástí je popisek a nápověda pro každou volbu.
Více než 90% jsou pak překlady popisků a nápověd do všech jazyků. V poslední verzi sice nejsou ve stejném souboru, ale v souborech podle jazyků, nicméně instalátoru to nepomůže a stejně musí projít všechny.
Zbytek je XML-nutný balast a tabulátory pro hezké formátování.
K čemu je dobré ukládat do konfiguračního souboru překlady a nápovědy? K těm se přeci přistupuje tak málo, že mohou být uloženy úplně jinde, kde nebrzdí.
Také by to vůbec nemuselo být XML, ale třeba S-expressions.
Mám z toho čím dál tím víc pocit, že binární databáze je pouze pokus o berličku, kterou se podpírá beznadějně shnilý návrh :(
Nicméně celkový počet klíčů v hlavní GConf databázi se na průměrné instalaci pohybuje kolem 10000, a průměrný počet databází v cestě je pod 10 (povinné klíče, klíče definované administrátorem, implicitní klíče, klíče definované dodavatelem, klíče pro lock down, uživatelské klíče). I tak je to dost na XML nebo holý text.
Ak je problem xml, lebo je pomale, podme na DB. ked DB nevyhovuje, lebo neumoznuje modifikaciu za pomoci napriklad dd -of=/dev/sda1..., tak podme na xml. Moj navrh, kusok sialeny na implementaciu, je taky, ze to dajme dokopy. Kde je problem mat xml databazu? Na disku to bude xml, ale nebude to na fat32, ani ext4 fs. Bude to na vlastnom oddieli, ktory bude plne kompatibilny s napriklad ext3 ale bezne sa bude montovat cez special fs modul, ktory bude udrzovat na danom fs dva subory. Jeden bude xml a druhy bude dane xml v databaze. Ked sa daco v xml bude menit, modul to updatne i v binarnej verzii s indexami. Ak niekto namontuje dany fs cez normalny ext3 modul, uvidi dva subory. jeden xml a jeden cache.db, binarny. Ak zedituje xml, zmeni sa jeho datum editovania a pri montovani cez original modul, bude cache updatnuta nanovo, co kus potrva...
Viem si vsak predstavit asi i kusok jednoduchsie riesenie, ale tamto sa mi zda technologicky pekne :-)
Databáze se vždy modifikuje přes knihovnu nebo službu. Přímá modifikace je zakázaná, neboť otvírá možnost jejího poškození dvěma souběžnými požadavky.
Zavádět na cache XML souboru samostatný souborový systém je naprosto šílené (nutnost přeformátování disku, mít parser XML v jádře, implementovat nový (byť virtuální) souborový systému).
Navíc váš návrh neřeší zásadní problém: Kdykoliv někdo začne editovat XML, je třeba okamžitě (atomicky) zamknout i tu binární podobu a po uzavření XML zápisu jí přegenerovat. Pokud to neuděláte, zakládáte si na problémy při souběžné změně v obou databázích.
Nyní si představte situaci, kdy váš editor se během editace XML pokusí do databáze něco uložit. Dostal jste se do klasického deadlocku: Editor čeká, až XML uložíte a zavřete, jinak nemůže aktualizovat svůj konfigurační klíč. XML však uložit nemůžete, protože editor čeká, až si uloží svá konfigurační data do databáze.
Asi som nevysvetlil moj navrh dost jasne. Skusim objasnit.
V pripade, ze dany novy FS bude namontovany vhodnym modulom, nebude ina moznost pristupu k tym datam, ako cez nejake specialne api, alebo cez upravu xml suboru, kde kazda aplikacia bude mat napriklad vlastny. Fyzicky to vsak bude vsetko ukladane do jedneho a zaroven bude updatovana databazova, binarna, verzia toho xml. Teda pri beznej cinnosti nebude dane subory vidno. Pouzivanie toho specialneho virtualneho fs by bolo jednoucelove, len pre uchovavanie nastaveni...
Jednoduchsia a menej sialena implementacia je teraz uz podla mna vsade pouzivana (neviem, ako to robi mac os x?). Je xml s nastaveniami, ktory je pristupny cez nejake api a to si riesi samostatne konkurentne pristupy a vsetko. V pripade padu systemu, nabootujem z livecd, par echo prikazov do vhodneho xml suboru, restart os a pri starte si natiahne dane data z xml a funguje dalej.
Spomienka o xml parseri v jadre je dobra a beriem ju ako jasny prblem pri mojom navrhovanom rieseni. To by bolo, aspon v dnesnej dobe, dost divne... Mozno v nejakom java OS by to slo :-)
PS: ak sa nemylim, pre xml subory (databazy v xml) je mozne vytvorit index tiez. Mozno i toto by bolo riesenie.
Toto upřesnění ovšem nijak nepředchází zmíněným problémům - pokud vygenerujete XML na editaci, musíte databázi zamknout, jinak bude systém náchylný k race condition. Navíc to znamená, že byste musel vytvořit zcela nové jaderné rozhraní na přímou manipulaci s onou databází.
Rebootovat kvůli každé změně nastavení, kterou chcete provést v XML, je sice řešením. Ale nevím, zda by se lidem líbilo. Doteď nebyl na změnu domovské stránky v prohlížeči reboot potřeba.
XML přístupné jen přes nějaké API, to je přesně současné GConf. Jenže pak je úplně jedno, je-li tv pozadí XML, binární databáze, souborový systém v jádře nebo třeba síťové úložiště. A to byla původní nenaplněná myšlenka GConf.
Proč backend implementovat složitě v jádře, když to jde jednoduše v uživatelském prostoru?
Abych to shrnul: Myšlenka API, výhradně kterou se mění konfigurace, je dobrá. Myšlenka ukládat tuto konfiguraci právě do XML, byla špatná. Myšlenka, že by mělo jít XML v pozadí editovat i přímo, bez použití nějakého API, by z toho udělala nepoužitelnou technologii. Myšlenka, že editace onoho XML by byla standardním postupem, by to znemožnila docela.
Pekne zhrnutie a musim Vam dat z casti zapravdu. Jedine co vsak asi cast linux userov drzi pri myslienke "nastavenia sa musia dat editovat cez vim!" je podla mna to, ze ked sa daco pokazi, netreba mat nic, len pristup na disk a vim. Teda, ze ked napriklad pokazim nastavenia vo fstab a po reboote system nenabehne, tak mam stale moznost nastartovat iny random linux z live cd a opravit to. V pripade binarnej verzie konfiguraku by bolo nutnost mat na to nejaky nastroj, co vie tu binarku editovat. Nepomoze ani riesenie, kedy bude ona toola pristupna v statickom builde dakde na stiahnutie. Nejde o technicky priblem, ale o mentalitu uzivatelov.
Ako riesenie by som videl socialne inzinierstvo :D Spravit GConf, ktory bude umoznovat ukladat nastavenia i do xml i do binarky (bud jedno, alebo druhe, nie naraz). Defoltne sa to bude davat do binarky a komu to bude vadit, tak si to prekonvertuje a bude ukladat v xml a bude spokojny. Casom sa pride na to, ze vela userov to nechalo v binarke (nechcelo sa im riesit,/nevedeli o tom) a prejde na to i zvysok sveta. Aspon by som to tak tipol ja, ale odhadnut swarm je tazke :-)
PS: skoda, ze tato diskusia je zbytocna. Sice mozno prideme k nejakemu zaveru/kompromisu, ale vyvojari sa k tomu asi nedostanu :-/
Je to jen o mentalitě. Jediný faktický rozdíl by byl v tom, že na záchranném systému by musel být třeba databázový nástroj. V případě trochu lepší databáze by náprava špatné konfigurace byla ještě jednodušší. Prostě by se provedl roll-back k poslední fungující konfiguraci.
GConf vypadal před 12 lety přesně tak, jak píšete - měl dva backendy - DB2 and XML. Jenže ten DB2 postupem času zanikl. Uznávám, Berkeley DB2 byla velmi špatná volba - u této databáze jste si nikdy nebyli jisti, že příští verze nebude mít jiný binární formát dat a jiné API.
Takze znovuobjavovanie objaveneho? :-) Som kusok mladsi a linux nie je mojou silnou strankou. Danu vec nepoznam. Aktualne vsak mam taky pocit, ze problem je v nesystemovosti riesenia... Gnome bude mat vlastne "registre", nastavenia, a KDE vlastne, kazdy java programcek bude mat vlastny sposob na ulozenie si svojich veci...
No nic, kriza softveroveho inzinierstva je tu a naplno prekvita :-)
Dakujem za informacie a nazory. Vcelku zaujimavy a prinosny "pokec".
Ne tak úplně. Myšlenka GConf byla dobrá, jen její realizace byla problematická: Překlady v databázi s konfigurací, nutnost démonů pro každého uživatele, jediný neefektivní funkční backend a závislost na CORBA. Proto příchází DConf.
GConf má například spoustu unikátních vlastností - konfiguraci lze snadno ukládat na více místech souběžně - můžete tedy mít to, co chtěl upstream, to překrýt tím, co nastavil váš dodavatel, to překrýt tím, co chtěl váš administrátor, a to překrát tím, co chcete vy. To velmi zjednoduší upgrade - vše, co jste si upravili, zůstane zachováno, a to bez slévání textových souborů s nejistým výsledkem.
Naštěstí zde máme freedesktop.org, které se snaží o sjednocení přístupů všech částí systému. Některým jejich výstupům se dostalo širokého přijetí (D-Bus, Shared MIME Database, Desktop soubory, HAL), jiným méně (MIME Actions). Některé sami tvůrci časem opět označili za špatně vymyšlené (HAL).
Přestože je to běh na velmi dlouhou trať, je zde cítit pokrok.
Da se udelat soubor se semaforama (z semaphore.h) a k nemu pristupovat primo, staci jen dodrzovat pravidla pro zamykani. Nicmene je to zbytecne komplikovane, lepsi je udelat knihovnu a aplikaci s nejakymi zamky otravovat co nejmene.
1) Většina editorů XML si nezamyká text pro celou dobu editování. Paralelní změna editovaného souboru během práce způsobí u lepších editorů varování (které není radno ignorovat), u horších editorů ztrátu dat.
2) Pokud tak učiní, a samy jsou klientem konfigurační databáze, způsobí při prvním pokusu o přístup do databáze dead lock.
Budto jsem reagoval na spatne misto, nebo jsme se nepochopili.
Reagoval jsem na to, kdyz jste napsal, ze k databazovym souborum se musi vzdy pristupovat pres prostrednika - jde to totiz vyresit tak, ze se primo do databazoveho souboru nacpou semafory (ve skutecnosti jsou v ram, ale procesy je sdileji prostrednictvim mapovani toho souboru), ktere pote mohou pristupujici procesy pouzivat k synchronizaci. Samozrejme je jasne, ze textovy editor todle nezvladne.
Semafory zvyšují nároky na programátora - musí si pamatovat, že před každou operací si povinně musí databázi zamkout. Pokud na to jeden jediný programátor zapomene jen na jednom jediném místě, může se stát, že se občas poškodí obsah celé databáze.
Pane na nebi...blogisky,socialni site,zelena energie,zamestnanec pro komunikaci a marketing smerem k uzivatelum,barvicky pro vsechny atp.
Teda Gnome jsme obcas pouzival,ale nastesti mne prichod KDE 4 donutil prejit na funkcni veci,takze mi plne vyhovuje fvwm,twm a cwm v defaultni instalaci meho systemu a s vyhledem na scrotwm.Vypada to,ze Gnome se chysta jit uplne stejnou cestou.
Window maker nevypadá vůbec špatně. Zaujalo mě ještě Antiko ale to u mě nechce jet a LXDE ale to je zase na bázi GTK (alespoň to tak vypadá) - takže taky nic. Zatím mě ještě nic nenutí opustit bezpečí a pohodlíčko KDE 3.5. ale dřív či později k tomu stejně taky dojde... Buď si zvyknu na KDE 4.x, nebo najdu nějaký ekvivalentní desktop místo něj, a nebo (další možnost o které uvažuju) vezmu nejaký hrubý základ a zbytek si dopíšu. No uvidíme... :)
Btw, ze zvědavosti - pro starší stroj - jsem si stahnul poslední xubuntu (xfce) a také to nevypadá špatně. Nějak mi začínají ty "těžkotonážní" desktopy lézt krkem ...
Antico sice vypadá dobře, ale co na něm budeš provozovat za aplikace??? QT4-only aplikací moc není, takže stejně budeš mít nainstalované a načtené KDE knihovny.
Ano, máš pravdu, ale nejede celý KDE. Nehledě na to mě ani tak moc nejde o kde knihovny a jejich nároky (stroj mám silný docela dost - takže ten lecos unese), ale o samotne KDE Desktop. S tím se nemohu prostě smířit... :( jenže to vypadá tak, že desktopy vstupují do nové éry a mění se jak jejich funkcionalita, vzhled, tak i způsob práce s ním. takže to vypadá, že realně s tím moc nenadělám...
Nedávno mě hodně zaujali Antico a Arora. Tak jsem začal chvíli hledat, jestli bych dokázal postavit čistě QT4 desktop a zjistil jsem, že to nedokážu. A přitom mám velmi skromné nároky a GTK desktop bez Gnome postavím snadno.
typ aplikace ... GTK ... QT4
WM ... Openbox/PekWM/atd. ... Antico
web ... Firefox (bohužel, časem doufám v pokrok u Midori) ... Arora
e-mail ... Sylpheed ... ???
kecálek ... Gajim ... PSI
kancelář ... Abiword/Gnumeric/gLabels ... ???
bitmapová grafika + zpracová RAW fotek ... Gimp + ufraw ... ???
jednoduchý grafický texťák ... Mousepad/Leafpad/atd. ... Tea?
grafické vypalovátko ... Nero/Brasero/Gnomebaker/xfburn ... ???
audio přehrávač ... Decibel Audio Player ... QMMP
video přehrávač ... MPlayer ... VLC
PDF prohlížeč ... ePDFView ... ???
SMPlayer závisí na MPLayeru a ten závisí na GTK2. ;-) Alespoň ve výchozím stavu. Možná by se dal překompilovat bez téhle závislosti, ale raději mám pokud možno balíčky z repozitářů.
Vzdy proste budou lide a projekty,kteri nemusi a nechteji klesnout tak jako jini,kteri se snazi byt svym zpusobem "politicky korektni" a delat neco pro masy.
Kdyz uz je tu tenhle poll - i love icewm. Pomaham si appletama z gnome nebo kde a neco tak prijemnyho do ruky jsem jeste nevidel. Ani window maker mi tak nevyhovoval. Nemuzu mit zadne ikony na plose, ale to mi neva, stejne tam mam rozlozena okna.
A zkratka vsech zkratek - mys+alt taha/zvetsuje po plose okno a nemusis mirit na listu nebo do rohu. Jako to ma KDE. ctrl-alt-sipka - preskok na jiny workspace.
Tyhle "hardcore" Window mamagery se mi líbí taky :) - tedy konkrétně EvilWm. Skratka všech skratek ctrl+alt+Enter (bez té by jste si ani neškrtl). Ten nápad s apletama není vůbec špatný, určitě testnu. Ono když se to vezme kolem a kolem, tak si vlastně člověk může vlastní desktop poskládat :-D
Ale jinak jsou skvělým základem pro další "dodělávání" :)
Mi se na window makeru líbilo, že jsem NEMĚL bordel na ploše a mohl jsem si nadefinovat položky menu nad plochou/oknem/... a tím pádem jsem spustil co jsem potřeboval OKAMŽITĚ.
Těm blbátkům na zobrazení traficu/vytížení cpu/teplota oleje v levém větráku jsem nikdy nepřišel na chuť.
Tak si tak brouzdám po netu, a narazil jsem na malou utilitku, která by se ti mohla dost dobře hodit (pokud ji neznáš - myslím, že ve standartním Window makeru není) : http://sourceforge.net/projects/wmakerconf/ :)
icewm je ted 1.2.35 ma dva bugy, po xrandr na 2 monitory musim dat restart icewm a .icewm/startup mi trochu stavkuje. Ale nahradil jsem polozkou v .icewm/menu:
jeste i diky winoptions (pro evolution) mam 7 appletu a je mi hej.
Nekomu by mohly chybet samonaskakujici ikonky usb a cdrom. Me spis stvou, ja nejak radsi terminal a mount/umount, ale uznavam, ze u ipoda jsem byl bez automatiky v loji, to jsem nezjistil, jak pripojit.
No, samonaskakovací ikony mi tolik nechybí. Ale strašně mě štve přepínání typu a rozložení klávesnice, které musím dělat z příkazové řádky (prostě jsem si zvykl na ctrl+alt+k). Nevíte náhodou o nějaké jednoduší utitlitce / apletu který to umí?
a obsahem souboru je neco jako
! Czech keyboard map.
!
! Converted keytable file to xmodmap file
! with mk_modmap by root@chanae.alphanet.ch vie nov 27 02:12:00 CET 1998
!
! made some little corrections -- Pablo Saratxaga <pablo@mandrakesoft.com>
!
clear Mod1
clear Mod2
! Czek keyboard
!charset "iso-8859-2"
keycode 9 = Escape Escape
keycode 10 = plus 1 asciitilde
keycode 11 = ecaron 2 dead_caron
... atd atp...
Mě se fvwm taky líbí víc než Gnome. Je to dáno historicky. Prostě Gnome je pro mě taková ošklivá napodobenina Windows XP/Vista,... Mě hodně vadil Gnomí look u některých open source aplikací ve Win.
Tak mám dojem, že nám ty profi aplikace nějak nejdou. Horkotěžko se kopíruje profi soft z Windows a moc se nerespektuje odlišnost koncepce *NIX versus NT. A pak ty profi Win aplikace jsou prostě lepší než jejich kopie a to je důvod, proč ho lidi berou. Kernel nikoho nezajímá. Win se sice bohužel rád seká, zpomaluje a padá, ale aplikace ho drží nad vodou.
Jinak souhlas, že GNU/Linux by měl sjednocovat konfigurace jako to jde...