registry a spol. (Was: Re: OT: Důvod přechodu na Linux)

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Únor 10 21:18:34 CET 2002


On Wed, 6 Feb 2002, Stanislav Meduna wrote:

> Umm, a kde je ten raj, kde to tak je? :-) Napriklad by ma zaujimal
> popis veci v /usr/X11R6/lib/X11/xkb - dokumentovane je velke h...

Principy XKB a protokol (a knihovna) jsou dokumentovany. Vetsina veci,
co se v definicich klavesnic objevuji, se z toho da vyzkoumat. Ovsem
neni to oddychova cetba (je to rozptyleno v cca 300 stranach textu) a
syntaxe a organizace souboru tam popsana neni (pominu-li nekolik malo
kratkych prikladu).


On Wed, 6 Feb 2002, Stanislav Meduna wrote:

> - format citatelny clovekom - okrem jednoduchej moznosti rucnych
>   zmien je zaujimava aj moznost spravy v nejakom version-control
>   systeme, robenie diff-ov a.p.

Doplnil bych: nejen forma(t), ale i obsah. Vyexportovane registry
z MS Windows ma take citelnou formu, ale co mi je to platne, kdyz
nemam tuseni, ze nastaveni bitu 26 v polozce BFLM\PSVZ\1234 znamena,
ze system za dvacet minut zahaji autodestrukci.

> - format nezavisly na aplikacii, ku ktorej konfigurak patri - su aj ludia,
>   co im viac vyhovuje klikanie na sposob roznych control-panelov a.p.

Format muze byt "nezavisly na aplikaci" jedine na metaurovni. Jazyk
popisujici korektni konfigurace ruznych programu se pochopitelne bude mezi
temi programy lisit. Cimz nechci myslenku spolecneho *meta*jazyka nijak
snizovat.

Pak je zde otazka toho, jak se postavit k moznosti zavest do konfiguraku
napr. podminene bloky ci substituce (velice uzitecne, pokud napr. chceme
vicemene tutez konfiguraci pouzivat na vice mistech). Unifikace
konfiguracniho mechanismu dava moznost takovymi funkcemi transparentne
vybavit prakticky libovolny program, ale chci videt klikaci konfiguracni
program, ktery stret s necim takovym rozchodi.

> - centralizovane umiestnenie - kto vie, kde sa prave dnes konfiguruju
>   parametre ghostscriptu, ktore sa pouziju pri tlaci cez frontu foo,
>   nech zdvihne ruku

Prave dnes na tomto miste nijak, protoze nemam zadnou tiskarnu, natoz
frontu foo. ;)

> - jednoduchy backup kompletnej konfiguracie systemu

Kdyz tak nad tim premyslim, nenapada mne zadny vyznamny duvod pro
zalohovani samotnych konfiguracnich souboru -- narozdil od zalohy vsech
souboru v systemovych adresarich, ktere nelze plne rekonstruovat novym
nainstalovanim prislusnych sw baliku.

> - jednotne API pre pristup z programov - nie je predsa nutne,
>   aby kazdy pisal svoj vlastny parser konfiguraku

To skutecne asi neni. Tedy za predpokladu, ze ten sdileny je dostatecne
kvalitni (maly, rychly, robustni, bezpecny a zaroven flexibilni a
univerzalni), aby byl pouzitelny ve vsech programech.

> - rozsiritelnost - nova informacia neznamena, ze starsie
>   programy si s novym formatom neporadia

To je cepel brousena na obou stranach. Nekdy je pochopitelne fajn, kdyz
program dokaze ignorovat to, cemu nerozumi, jindy je to ale recept na
velky prusvih.

> - dokumentovatelnost - nepacilo by sa vam, keby existovala
>   konvencia pre konfiguracne subory a k helpu by sa dalo
>   okamzite dostat?

To, ze lze automaticky najit kapitolu referencni prirucky, kde je popsana
konfiguracni direktiva Abc, je sice pohodlne, ale neni to zase takova
zasadni inovace proti tomu, kdyz se to dela rucne. Hlavni problem
dokumentace je, jak najit neco, co resi muj problem, ale nevim, jak se to
jmenuje (pripadne ani nevim, jestli to existuje). A v takovem pripade
nejak nevidim, jak by mi mohl byt urcity format konfiguracniho souboru
napomocen.


On Wed, 6 Feb 2002, Stanislav Meduna wrote:

> Rozdelenie na viac suborov ale moze kludne ostat za predpokladu,
> ze bude existovat policy, co kam patri.

Rozdeleni na vic souboru *je nevyhnutelne*.

Napr. je krajne zadouci, aby u programu uzivanych "obycejnymi uzivateli"
mohla byt nejaka globalni konfigurace a zaroven mohl mit kazdy uzivatel
svou vlastni konfiguraci. A protoze je uplna pitomost znovyvunalezat fs
(ovsem jista firma to dela porad) s jeho mechanismem rizeni pristupu, tak
musi byt jednotlive casti ulozene v ruznych souborech.

Dalsi argument je ten, ze pokud chceme mit moznost pri instalaci nejakeho
softwaru snadno pridat i jeho konfiguracni informace, tak je zadouci,
aby se nachazely v samostatnem souboru. Jinak budeme opet znovuvynalezat
fs.

A nakonec take neni od veci, kdyz se kazdy program hrabe jen ve svych
vlastnich datech a konfiguracich a nestrka nos do ciziho, protoze kdyz se 
neco pokazi, tak je rozdelenim do vetsiho mnozstvi objektu na urovni
operacniho systemu prirozene braneno sireni teto katastrofy.

> Mimochodom, jednu databazu, do ktorej prispieva svojou troskou
> skoro kazdy program, uz vacsina ludi na svojom stroji ma a nijak zvlast
> im nevadi. Hovorim o rpm databaze, ktora je pomerne dost divokym
> mixom popisov, ciest k suborom, zavislosti a skriptov vykonavanych
> pri urcitych udalostiach. A ak vam vadia 500 kB registry, pozrite
> sa na rpm db :-)

To je tak trochu porovnavani jablek s hruskami. Databaze rpm je vicemene
staticka, zmeny v ni provadi (a bordel v ni muze udelat -- viz vyse) jen
jediny systemovy program a lze snadno postradat moznost paralelniho
pristupu (pro zapis resp. zapis i cteni, u cteni neni zadny problem).

> To pride aj v Linuxe :-) Niektore veci inak robit nejde - len co sa
> viac rozsiri programovanie na zaklade verejnych dynamicky
> bindovatelnych rozhrani (komponentove technologie), niekde
> musi byt lahko pristupny zoznam nazvov, id-cok, verzii a umiestnenia
> prislusnych komponentov. O Gnome tu uz rec bola. To je
> tiez hlavny dovod horrorovej orientacie vo Win registry (ono to
> nie je _az_ tak strasne, pokial clovek pozna principy).

A ono to stejne lze udelat mnohem prehledneji. Napr. staci mit misto peti
ruznych druhu identifikatoru ci jmen (ktere stejne musi byt vsechny
unikatni) jenom jeden.

> Samozrejme, nie raz som programom vytvoril potrebne zaznamy
> a cez regedit ich naimportoval. Specialny nastroj nie je problem,
> pokial je vseobecny a dostatocne maly (znovu vid. rpm).

Jenom kdyby regedit netrval na tom, ze na obrazovku vyblije okenko, kde se
musi odmacknout "Ok"... ;) A exportovat se bez uzivatelovy interakce uz
vubec neda. Takze to neni dobry priklad.


On Wed, 6 Feb 2002, Stanislav Meduna wrote:

> No, zda sa, ze ludia skor reaguju na konkretnu skusenost,
> ako na principy :-)

Protoze zkusenosti (podobneho druhu) se ziskavaji snadno, ale
nahlednout principy vyzaduje dost velkou predstavivost (zvlaste pote,
co je clovek vystaven diskutovanym zkusenostem).


On Thu, 7 Feb 2002, Karel Zak wrote:

> > - promenna=hodnota je krasne citelna
> 
>  Konfiguruje se takto i sendmail, apache? To co je obvykle nemusi byt
>  zaroven 100%.

Nekonfiguruji. A ma to i hlubsi duvody. Koncept "promenna=hodnota" se
totiz zacina velice komplikovat v pripadech, kdy ma konfigurace nejakou
vnitrni strukturu, napr. muze existovat vice polozek tehoz druhu, nebo
dokonce jejich seznam, kde zalezi na poradi, nebo v situaci, kdy maji
polozky nejaky kontext resp. hodnoty jsou vnitrne strukturovane.

>  getenv() neni nic tak uzasneho (a rychleho) a da se tim prenaset jen 
>  klic=hodnota.

Ovsem ma tu jednu fascinujici vlastnost. Neni problem to nastavit kazdemu
programu jinak. Takze kdyz chci urcity program spustit s jinym jazykovym
nastavenim, s jinymi dynamickymi knihovnami atd., tak nemusim nic provadet
s konfiguraci, kterou pouzivaji jine instance tehoz programu.


On Thu, 7 Feb 2002, Ing. Miloslav Ponkrác wrote:

> I když s Vámi třeba budu souhlasit, musím napsat, že podstatné je, že
> balení ve formě haldy maker a programátorského editoru většina lidí
> nepřijme. Můžeme s tím nesouhlasit, můžeme vůči tomu protestovat, ale
> je to tak.

Lide (kteri jeste nemaji zcela vymyty mozek) jsou schopni a ochotni
akceptovat leccos. Jedine predpoklady jsou, ze to musi byt snadno
ovladatelne, nesmi byt prilis obtizne se to naucit a musi jim to pomahat
v tom, co delaji. Tzv. "standardni GUI" nic z toho nezarucuje a nezridka
ve splneni techto cilu i brani.

> Obchodníci pochopili, co lidi chtějí, a nabídli jim to. To je celé.

Jisti obchodnici mozna pochopili, co chce urcita skupina uzivatelu,
ktera chce psat tristrankove dopisy a hrat si pri tom na avantgardni
typograficke studio. Skupina, co chce "graficky psaci stroj", nastroj na
vytvareni pocmaranych papiru -- nikoli nastroj na vytvareni textu a praci
s nim, ale ani nastroj na skutecnou elektronickou sazbu. To by ale ani tak
nevadilo, kdyby to skrze sve monopolisticke praktiky nevnucovali jako
"standard" vsem ostatnim.


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux