• TwitterRSS
  • Domů na Webylon
  • Blog
  • Doslov ke třem X

    10. ledna 2008

    trojice článků na Lupě o XHTML [B.14] vyvolala spoustu reakcí. V tomto článku s časovým odstupem (neplánovaně výraznějším než obvykle) poukáži na ty nejzajímavější.

    (Většinu z tohoto článku jsem sepsal už v červnu. Byl jsem líný ho vydat a mazat ho byla také škoda.)

    Na svém písečku

    To mně zase vadí, že Chamurappi nejspíše nebude reagovat zde, ale odcituje si některé reakce komentujících u sebe na Webylonu a... zesměšní je tam.

    — Lukee, komentář u prvního článku

    Nevím, kým začít. Někteří zaútočili opravdu tvrdě. Třeba JersyWoo, z toho se jen těžko vzpamatuji. Hrubé nadávky Dramenbejse rovněž ranily mé něžné ego, on si však z našeho střetu zjevně odnesl hlubší psychózu.

    K článkům a diskusím se tady na Webylonu vracím dodatečně, protože si myslím, že by to ještě mohlo někoho zajímat a protože už nemá smysl znovu rozpoutávat utichlou diskusi jinde, kde si jí nikdo nevšimne. Časový odstup mi umožňuje utřídit si myšlenky a názory.

    Jméno bez mezery

    Je temný pozdní večer, na nebi září nov a vy se procházíte temným městem, temnými uličkami, kolem samé neznámé tváře. Jedna vás osloví. Vypráví vám příběh. Co uděláte? Požádáte ji o průkaz totožnosti.

    Kdo je anonymní Chamurappi, chlubící se jednou propagandistickou prezentací, ale pasující se do role guru značkovacích jazyků?

    — Nabukadnesar, komentář „Mistrovství v demagogii“ u prvního článku

    Chamurappi, jsi anarchisticky hlupak, ktery misto aby se choval profesionalne, zverejnil sve skutecne jmeno, a byl rad, ze se standardy vcelku dobre prosazuji, tak naopak kritizujes neco, co bys sam lepe nesvedl.

    — Libor Ambrož, komentář „Chamurappi, jsi hlupak, nech si sve moudra pro sebe“ u prvního článku

    Jenže chcete-li, aby Vás konečně někdo začal brát alespoň trochu vážně, tak vylezte spoza své přezdívky, protože takhle to vypadá, že sám svým názorům nevěříte.

    — quinux (aka Rdm), komentář u prvního článku

    Autor se nestydí za porušování standardů, ale za své jméno asi ano.

    — Zdeněk, komentář u druhého článku

    Považuji šťourání se v mé „anonymitě“ za bezzubé vyjádření odporu. Rýpalové moralizují, že podpis je přeci slušností, že „schovávání se“ za jménem bez mezery je zbabělé. Lidská společnost si dříve či později musí zvyknout, že na internetu mají jména sice stejný účel, ale trošku jinou váhu než „tam venku“. Je úplně jedno, jestli mám v identifikátoru mezeru, protože stejně nikdy nevíte, jestli na něj mám doklady. Bude článek věrohodnější, když se podepíšu jako Jan Novák? Nebo jako Tomáš Hradil? Existuje minimálně šest Tomášů Hradilů jen v ČR — kdo ví, který z nich jsem já? Na internetu jsem známý pod jménem Chamurappi. Nepotřebujete vědět, že jsem ve skutečnosti purpurový krokodýl.

    Trefnou úvahu na téma anonymity jsem našel v jedné diskusi na Intervalu.

    V závěru třetího článku o X již existuje jasný ukazatel ke jménu s mezerou. Dostavil se blažený pocit ze znalosti takového identifikátoru?

    Šestý mýtus

    Petr Staníček v diskusi pod prvním článkem názorně upozornil na existenci dalšího mýtu spjatého s X:

    Měl jsem pocit, že každý, kdo do toho trochu vidí, chápe, že XHTML měl být jen jakýsi mezičlánek, přestupní stanice od nevázaného a neurčitého HTML, kde si každý dělá co chce a jak chce, k něčemu striktnímu, zcela exaktně definovanému, co umožňuje jak unifikaci výstupu bez ohledu na prohlížeč, tak i algoritmizované manipulace, další strojové zpracování atd.

    — Pixy, komentář „Zahnívající mrtvola? Asi ano.“ u prvního článku

    Že je i HTML jednoznačně definované, mu David Grudl vysvětloval nejen v komentářích na Lupě, ale i pod článkem o nosorožcích na conBLOGu.

    Společně s jednoznačností byla na vícero místech diskuse proklepnuta i náročnost parserů obou jazyků. XML táboru se nelíbilo, že oni musí umět rozebírat DTD, kdežto HTML tábor nemusí. Smůla, ale tak praví písmo svaté. V XML 1.0 jsou interní podsady DTD dovoleny a entity v nich definované mohou výrazně ovlivnit podobu dokumentu. V HTML 4.01 je výslovně zakázáno rozšiřování jazyka pomocí SGML prostředků.

    Doba žádala své?

    Aneb jak se idealizuje minulost.

    Bez XHTML by většina tvůrců stránek pořád psalo prasácké kódy. Je pravda, že oproti HTML strict vlastně nic novýho nepřineslo, ale lidi asi potřebovali zdání nějaké nové supertechnologie, kterou musí mít, i když se skoro výhradně jen zkopírovala definice HTML 4.01.

    — Morho, komentář „XHTML pomohlo, ale“ u prvního článku

    Na druhé straně XHTML a jeho propagace svůj díl práce rozhodně udělaly. Kde dnes potkáte weby „stylované“ vnořenými tabulkami, kdo dnes nepoužívá CSS, který profesionál nevaliduje (nebo se aspoň nesnaží validovat) kód? Kdo si dnes troufne vyrobit wysiwyg editor, který by ignoroval standardy tak jako dřív?

    — Pixy, komentář „Zahnívající mrtvola? Asi ano.“ u prvního článku

    CSS používají všichni kvůli výhodám CSS. Pokrok tímhle směrem byl nevyhnutelný. Myslíte si snad, že já používám CSS díky propagaci XHTML? Nebo třeba Yuhů?

    Většina profesionálů na validitu kašle, zajímají se nanejvýš o tu proslulou rozbitou službu konsorcia. Stejně tak WYSIWYG editory chrlí nevalidní kódy spoléhajíce se na chyby prohlížečů. Ladí exkluzivně pro jednoho nestandardního klienta a v ostatních to „náhodou“ funguje. Skutečně se něco změnilo?

    XHTML byla pomocná ruka, která vytáhla vývojáře na ostrůvek uprostřed řeky, odkud měl vést most na druhý břeh.

    — Pixy, komentář „Zahnívající mrtvola? Asi ano.“ u prvního článku

    Taková obhajoba se mi obzvláště nelíbí. Utváří klamnou představu, že jedinou smrtelnou vadou XHTML je lenost konsorcia a že to sedmileté trapné trčení na místě nikdo nemohl vytušit. Dle mého názoru je lenost W3C vedlejší a klíčové vady XHTML jsou nadčasové. Odpůrci se rekrutují skrze nabyté vědomosti, nikoliv skrze netrpělivost.

    Zahnívající mrtvola hnije už sedm let. Roku 2004 někdo přecházel na pseudo-XHTML, někdo psal na Intervalu ódy na téma „budoucnoct patří X“, někdo zakládal Webylon. Změnilo se něco za ty tři roky? Ne. Očekával někdo změnu? Já tedy vůbec.

    Pozor, zlý demagog!

    Davide, úvod o demagozích si neodpustím, protože ten člověk, který se podepisuje jako Chamurappi, prostě demagog je a používá od samého začátku, co jsem se s ním prvně setkal, výhradně tvrdě damagogické postupy. To není žádné urážení protistrany (a tebe už vůbec - proč taky, že), ale prosté konstatování. Tohle i celý autorův web je demagogie přímo esenciální a učebnicová.

    — Pixy, komentář u prvního článku

    Tohle není urážení protistrany. Je to urážka všech, kdo protistraně věří. Přetlumočím vám ji: Moji milí čtenáři, jste důvěřiví hlupáci, když čtete Webylon a přemýšlíte o mých slovech, protože vás soustavně klamu. Jste nesvéprávná chamraď neschopná prokouknout mé podlé lži. Je vám to už konečně jasné?!

    Ten autor je demagog par excellence a už mám ověřeno, že nemá smysl se s ním pokoušet o jakoukoli debatu. A nevím proč mám utkvělou představu, že jeho skutečné jméno má iniciály RH (a právem se tak za něj stydí). :D

    — Pixy, komentář u nakrknutého nosorožce

    Jů. Ten člověk, který se podepisuje jako Pixy, udělal skoro ftip. Při pohledu na minulou debatu nás dvou se také usmívám.

    O důležitosti DTD

    Věcnou diskusi na téma článku zažehl Radek Burget. Vyjádřil se na více místech, jeho pohled je konzistentní:

    Článek kritizuje nepřesnosti ostatních, přičemž sám nám přináší snůšku nových a ještě větších. [...]

    Autor evidentně nemá přesnou představu o způsobu, jakým počítač formální jazyk (tedy značkovací či programovací) zpracovává a s čím to souvisí. O tom svědčí chybná tvrzení, jako „ je odkaz na primitivní schéma, podle něhož může být dokument ověřován k tomu určeným nástrojem“ (to skutečně takto zjednodušit nelze), „jeden jediný jazyk XHTML, který je identifikován jmenným prostorem http://www.w3.org/1999/xhtml“ (jmenný prostor v žádném případě nedefinuje jazyk, proto XHTML také není jediný jazyk, důvod nepochopení viz DOCTYPE výše) nebo přehnaný důraz účelově kladený na MIME typy, což je podružná záležitost týkající se pouze přenosu dokumentů přes HTTP.

    — Radek Burget, komentář „Věcné chyby“ u prvního článku

    MIME typ je opravdu celkem podružný. Týká se jenom HTTP a server dokonce nemusí poslat žádný. Rozhodující je právě DOCTYPE.

    Že prohlížeč zpracuje i XHTML, kde některé koncové značky vynecháte a některé neexistující atributy použijete, znamená pouze to, že se snaží chyby v kódu co nejlépe překonat. Ale to dělá pouze proto, že mu nic jiného nezbývá a ne proto, že by kašlal na to, že je to XHTML. V důsledku se to tak jeví, ale je v tom významný rozdíl.

    — Radek Burget, komentář u prvního článku

    Kdyby jen tušil, že má „snůška nových nepřesností“ vyústí o dva týdny později v opravu validátoru.

    Pokud se tedy chce autor dále nazývat zkomoleným jménem zákonodárce, měl by mít mnohem větší rozhled o informatice obecně, než začne něco sebevědomě hlásat.

    — Radek Burget, komentář „Věcné chyby“ u prvního článku

    Takhle to dopadá, když se nahustí silný výrok do rázného souvětí bez ohledu na smysluplnost.

    Kleště drakonismu

    U druhého článku jsem si opět trochu poklábosil s Pixym. Postoj, který zastává, je vcelku jasný. Má ovšem jednu vadu na kráse, která bije do očí po přečtení článku třetího.

    Je přece v zájmu každého autora, aby generoval korektní HTML/XHTML kód bez chyb a měl tak jistotu, že jej prohlížeče budou správně načítat.

    — Jirka Kosek, komentář u druhého článku

    V zájmu? Proč? Když vím, že prohlížeč mi zobrazí i HTML s chybama? V situaci, kdy se nejznámější chyby dokonce používají úmyslně jako „vychytávky“?

    Pokud nebude muset, tak to nikdo dělat nebude, nebuďme tak naivní...

    — Pixy, komentář u druhého článku

    Pixy sám produkuje HTML kód s chybami. Nadbytečné lomítko v prázdných elementech je úžasná „vychytávka“. Kdyby některý z HTML prohlížečů trestal chyby smrtí, jeho weby by šly na špalek. Má štěstí, že Exploreři, Mozilly i Opery přecházejí syntaktické poklesky bez povšimnutí. Vskutku fascinující paradox.

    Je lepší, když se to kvůli chybě rovnou nespustí a programátor chybu opraví, než když se to tváří, jako že v pořádku a v tu nejhorší možnou chvíli to začne produkovat nesmysly. [...]

    [...] Můžeme jásat, že si omezená množina nám známých prohlížečů s chybami poradí konzistentně. Ale to neznamená, že když si příští rok někdo zobrazí naši chybnou stránku na svém zánovním PDA ve v té době módním prohlížeči, že ji uvidí stejně. Autoři toho prohlížeče totiž sice možná vzorně implementovali všechny standardy, ale nikde nenašli, co s nestandardy. Proto je striktnost sázka na jistotu a je dobré k ní autory kódu nutit.

    — Radek Burget, komentář „Nebezpečí ignorovaných chyb“ u druhého článku

    Co když je chyba už tak rozšířená, že si nikdo netroufne ji opravit? A co když si pak někdo naopak troufne opravit nástroj, který onu striktnost ověřuje? Opravdu je dobré k ní kodéry nutit?

    Zásah shůry

    Chamurappi akorát plácá blbosti... Ať si laskavě ty svoje paskvil jazyky parsuje sám.

    — nero, komentář u týdenní revize po vydání prvního článku

    Budiž :-)

    Nemusím asi dlouze popisovat svůj pronikavý ďábelský smích, který v okamžiku vydání třetího článku naježil chlupy všem ochlupeným tvorům v mém okolí. Čtenáři Lupy se dozvěděli koncem února, že nemám vlastní web validní, a o čtrnáct dní později, že mám vlastní validátor. Hm :-)

    Jako odpůrce validity jsem měl pro podobný krok ideální předpoklady.

    Pouze Nixon mohl jet do Číny.

    — staré vulkánské přísloví

    Rozpor mezi W3C a RFC?

    Problém je v tom, že normy si vzájemně odporují. IANA má typ text/html registrovaný pro HTML, ale XHTML 1.0 říká, že jde použít i pro XHTML. Článek předpokládá, že číselník IANA je závaznější než specifikace XHTML 1.0, a proto validátor obviňuje ze lži.

    — Jakub Vrána, komentář „Rozpor norem“ u třetího článku

    O čtyři dny později tuto myšlenku oprášil i Dero na diskusi:

    Je to Tvůj názor, který se opírá pouze o hierarchii standardizačních autorit v oblasti MIME.

    — Dero, diskuse JPW

    Obě standardizační autority říkají (byť docela neurčitě) totéž, protože za příslušné RFC i W3C doporučení je odpovědný stejný tým lidí. Ucelenou historii pseudo-XHTML popíšu v příštím článku Kritiky W3C.

    Bitva zkušeností

    Argumentace pomocí vlastních zkušeností je podobně neúčinná jako obviňování z anonymity a z demagogie. Diskutér se snaží přesvědčit nezávislého pozorovatele o nekompetenci svého soka. Podle jednoduché logiky: Nemá zkušenosti jako já => nemá znalosti jako já => nemá správný názor jako já => měl by držet jazyk za zuby nebo dostat do zubů. Fór je v tom, že nezávislý pozorovatel většinou neví, jaké zkušenosti mají zúčastněné strany.

    Autor neví o zpracování dat nic. Ale píše články. Bez pochopení základních principů toho, o čem mluví. Bez základního teoretického i praktického rozhledu a přehledu. Velmi připomíná někoho, kdo se naučil metodu, a ač ještě nezískal povědomí o důvodech, má pocit, že vše umí a zvládá a že může soudit svět.

    — Martin Kozák, komentář u třetího článku

    Martin Kozák neví o značkovacích jazycích nic. Ale komentuje. Bez pochopení základních principů toho, o čem mluví. Jsme si kvit?

    Kozákův dlouhý komentář překypuje pečlivě volenými líbivými slovy (až na neobratné oscilování mezi „cíleným zamlčováním“ a „nepochopením“), ale postrádá souvislost s mými články. Mluví nekonkrétně o mých tvrzeních bez zdůvodnění. Mluví nekonkrétně o mé neznalosti. Mluví nekonkrétně o mé netoleranci k jiným názorům. A tak si říkám: o kom vlastně mluví?

    Autorovi neberu jeho názor, ale bylo by fajn, kdyby si zjistil všechny informace a ne jen ty, které chce vidět. Kdyby si přestal myslet, že jen to, co on říká, je správně a že všechno ostatní je zlo. A kdyby především alespoň nepublikoval na takto důvěryhodném serveru. Netuší, jak těžké je vysvětlit méně informovaným, že existují i další strany pohledu, když si tu „jedinou správnou pravdu“ přečtou právě na Lupě.cz.

    — Martin Kozák, komentář u třetího článku

    Takže kritizovat smím… ale potichu. Abych nenakazil důvěřivé začátečníky špatným názorem. Tenhle nosorožec byl ale pekelně nakrknutý.

    Celému oboru tím zasazuje ránu pod pás jen vinou své vlastní nevědomosti, nenávisti a ješitnosti. Nevím, proč to má zapotřebí. Ale je to škoda.

    — Martin Kozák, komentář u třetího článku

    Dojemné. Jednou se o mně budou točit romantické horory. Jedno oko nezůstane suché a druhé nenapíchnuté.

    Lež není lží?

    Vladimír Saur zahájil svoji oponenturu sarkasticky:

    Máte pravdu, je třeba ty západní pořádky pořádně proprat a vytvořit si vlastní, domácím validátorem podporované.

    — Vladimír Saur, komentář „Prolhaní imperialisté!“ u třetího článku

    Přirovnání kulhá. Nebuduji si vlastní revoluční pořádky, vytvářím konkurenční prostředí. Ti „prolhaní imperialisté“ jsou jeden monopolní nástroj centrálně spravovaný konsorciem. Analogicky: zákonodárce ovládá soud. Kdyby byl validátor nezávislá entita stoprocentně věrná specifikacím, tak by se XHTML žádné protekce nedočkalo.

    Doporučuji k přečtení celý náš dialog na téma „co je a co není lež“. Dobře vím, že „lež“ je silné slovo, ale když specifikace úmyslně uvádí čtenáře v omyl, nenapadá mě vhodnější pojem.

    Ještě jednu štiplavou poznámku si neodpustím:

    Z mime typu to prohlížeč/validátor může zjistit v případě http komunikace. Validátor i prohlížeč si ovšem poradí i se soubory z disku, validátor se samotným kódem vloženým přes formulář.

    — Vladimír Saur, komentář u třetího článku

    Lektor placeného kurzu XHTML by mohl vědět, že při uploadu souboru posílá MIME typ prohlížeč. Podle čeho jej zjišťuje, to už je jeho věc, ale validátor(y) se tím řídí.

    Jak jsem lhal

    Použiji-li jeho slovník, tak Chamurappi lže, když tvrdí, že se jedná jen o český frontend oficiálního validátoru.

    — anonym, komentář ke třetímu článku

    Přiznávám, že jsem při změně chování validátoru opomněl náležitě upravit omáčku kolem. Podcenil jsem její důležitost stejně, jako ji moji kritikové přeceňují. Povídání o „jen českém frontendu“ zmizelo pár minut po tomto upozornění. Celý předcházející měsíc to ovšem byla pravda.

    A jestliže seznam odlišností začíná zásadní informací, že zelené hlášky jsou více zelené, zatímco sdělení o významné odlišnosti ve výsledcích je odsunuto až úplně na konec, považuji to přinejmenším za nekorektní.

    — anonym, komentář ke třetímu článku

    Tady jsem si trochu zaprovokoval. Proč bych měl uživateli záměrně tajit, že validuje na lepším validátoru? Teď to na něj křičí nejen úvodní stránka, ale i vybrané chybové hlášky. Doufám, že je citovaný anonym nyní spokojen.

    Validátor, který kvůli obskurní historické anomálii označuje za nevalidní stránky vytvářené tak jak doporučuje valná většina současných publikací, je opravdu vynikající službou veřejnosti.

    — anonym, komentář ke třetímu článku

    Kdyby neexistoval NET zápis (z pohledu prohlížečů neexistuje), tak by XHTML kód při „text/html“ též nebyl validní. S časovým odstupem musím konstatovat, že zatahovat vysvětlování NETu do sporu o validitě asi nebyl úplně nejlepší nápad. Kdybych odmazal tu byrokratickou kaši: Lomítko do validního HTML nepatří — a tečka.

    Dohra

    Poslední ze zmíněných odkazů pochází z konce srpna a odvolává se na můj první článek. Oceňuji šestiměsíční prodlevu, opravdu klobouk dolů. Ale k dokonalosti jí ještě pár měsíců chybělo.

    Chamurappi může prožívat obrovskou satisfakci. Dlouhé roky upozorňoval na vady X-specifikací a byl za to nelichotivě častován. A najednou mu historie, jindy tak nespravedlivá, dala za pravdu. Vlastně se divím, že na Webylonu letošní převrat vůbec nereflektoval. Mohl napsat: „já vám to celou tu dobu říkal, vy pitomci.“ Měl by na to právo.

    — dgx, Den zúčtování s XHTML

    Loňský převrat jsem na Webylonu nereflektoval, neb jsem ho skoro přesně odhadl předloni v srpnu [B.09]. Jen s tím názvem pro XHTML 2 jsem se zatím seknul, ale to možná ještě přijde.

    O HTML 5 moc nepíšu, jelikož nejsem zvyklý psát o věcech, které všichni vidí. Stejně, jako není černobílá historie, není černobílá ani současnost. Nyní vítězí názorový směr, kterému spíše fandím, ale vynášet ho do nebes nebudu — zase tak odvážný vizionář nejsem.