No Future

Weblog přesunut na atd.havrlant.net

Dámy a pánové - konec

5 březen 2006, 17:50
rubrika no-future

Jednou to muselo přijít. A právě to přišlo. Tento weblog končí, úplný konec. Sice jsem vás chtěl ještě chvíli napínat, ale to už jsem udělal minule, takže tentokrát bez žertů.

Nový web naleznete na adrese atd.havrlant.net a jelikož DGX měl speciální přání, odkazuji tedy zároveň na první článek na jiném blogu.

Jsme národ idiotů?

3 březen 2006, 00:13
rubrika internet

Asi jo. Jinak si neumím vysvětlit, co se to poslední dobou na internetu děje. Nebo se dělo vždycky a já to nějakým záhadným způsobem přehlížel. To spíš.

Nesnáším idioty (berte to slovo jako čistou urážku, nikoliv nějaký psychologický či lékařský termín, prosím), kteří musí pořád do něčeho rýpat, pořád mají něco proti a věčně se musí prakticky všem vysmívat, někdy nenápadně, někdy nápadně. To už je jedno. Neštítí se urážek, opět jak přímých, tak nenápadných a pozvolných. S takovými lidmi se obvykle nedá vést kloudná diskuse, protože namísto objektivních fakt pořád omílají své urážky, své sarkastické poznámky a hlavně pořád opakují jedno a to samé, i kdyby jste jim stokrát dokázali, že nemají pravdu. Prostě tu pravdu mají, a hotovo.

Často jsou takové roztomilé diskuse k vidění na Intervalu, kde obdobné komentáře nehledáte dlouho. Mrzí mě to, protože Interval je kvalitní magazín, dá se tam najít spousty užitečných informací. Obvykle pouze do chvíle, než se podíváte právě do komentářů. Jistě jste všichni viděli reakce při zahájení Interzenu, kde se to jenom hemží těmito idioty. To samé se odehrálo o pár týdnů později při vyhlášení výsledků (tam jsem se dokonce zapojil a panu Málkovi poblahopřál – to určitě nečekal :-)). Další idioti se seběhli v článku Radim Hasalík: Provoz webů je mým koníčkem. Podle mého názoru by se měl Vilém Málek více zaměřit na cenzuru idiotských komentářů od idiotských komentátorů.

Co mě ale dožralo nejvíc, byl dnešní spot od Davida – nejste-li v obraze, přečtěte si související člány na LaTrine. Někdo udělá zdarmo kvalitní produkt, který s chutí používají tisíce a tisíce a tisíce a tisíce a tisíce a určitě i stovky a stovky a stovky lidí a pak přijdou nějací idioti a naháží na ten projekt tolik špíny, kolik se jí jenom do toho komentáře vejde. Nechápu to. Vážím si všech lidí, kteří se snaží něco dělat zadarmo, pro jiné (tedy vážím si ostatních, ale to patří do jiné diskuse). Dokud to není nijak nebezpečný (klasicky zcela chybné návody na HTML či cokoliv jiného), líbí se mi to. A protože těchto lidí je spousta, tak nakonec nejsme národem idiotů, ale černé ovce se vždycky najdou. Bohužel.

Držím Davidovi všechny palce a klidně i malíček, má mou plnou podporu :-). Nevím sice, zda bude k něčemu užitečná, ale má ji :o).

PS: Vím, trochu silnější spot než obvykle, ale tohle mě prostě naštvalo. A to tak, že dost.

PS2: Tento článek byl zformátován pomocí Texy!

PS3: Tohle je předposlední článek na tomto blogu.

Komentáře [18]

Vítejte v magickém světě XHTML!

19 únor 2006, 14:32
rubrika se-spetkou-ironie

Předem se omlouvám za stupiditu následujícího příspěvku, ale prostě jsem si to nemohl odpustit.

Určitě již všichni znáte tu otřepanou básničku, že XHTML se musí posílat nejlépe jako application/xhtml+xml a že když se posílá jako text/html, tak to vlastně žádné XHTML není. Ale možná ne všichni vědí, jak to potom taky může dopadnout. Stránka by se měla nejprve zkontrolovat zda je well-formed a až potom by měl prohlížeč začít s vykreslováním. To znamená další zbytečné zdržování. Obzvláště u velkých diskusí typu živě.cz či lide.cz to musí být paráda.

Má to ale jeden háček. Stránka se začne vykreslovat, pouze pokud je well-formed. Pokud není, měl by prohlížeč vyhodit strašlivý error. Takže stačí jediná chybka a návštěvník uvidí ze stránky velký kulový. Aneb přístupnosti zdar. Ještě štěstí, že IE tenhle MIME typ nepodporuje. Aspoň se o něj prakticky nikdo nesnaží. A když přece, dopadá to špatně ;-). Takže ať už píšete v čemkoliv, proboha neposílejte stránku jako application/xhtml+xml, pokorně vás prosím :-).

Komentáře [9]

Element samp, validita a logika

5 únor 2006, 22:06
rubrika XHTML-semantika

K čemu slouží, k čemu neslouží, k čemu by mohl sloužit, k čemu ho používá konsorcium, k čemu ho nepoužívá konsorcium i když ho k tomu samému účelu používá a jak bych ho používal já.

Abyste tedy byli všichni v obraze, element samp slouží k vyznačení výstupu programu či nějakého skriptu. Drobnou zajímavostí pak je, že ve specifikaci HTML 2 znamenal tento element něco odlišného. Následující specifikace HTML 3.2 již zmiňuje dnešní význam. A aby toho nebylo málo, tak na w3schools.com zmiňují ještě nějaký jiný (nebo spíše trochu nejasný) význam. Tak to jen abych vás hned na začátek taky trochu zmátl ;-).

Slouží-li tedy element samp k vyznačení výstupu nějakého programu, příklad jeho použití může vypadat třeba takto:

<p>Po rozběhnutí program na obrazovku vypíše: <samp>Napište první člen posloupnosti:</samp>.
<p>V tuto chvíli napište první člen posloupnosti.

Teď je ale otázka, jestli mohu do tohoto elementu vrazit i nějaký kus HTML kódu, pokud chci ukázat, jak bude ten či onen element interpretován webovým prohlížečem. Pozorně si prohlédněte následující příklad:

<p>K vyznačení silného důrazu slouží element <code>strong</code>. Prohlížeč ho zobrazí takto: <samp>Tak to jsem <strong>nikdy</strong> neudělal!</samp>

Je to správně nebo to není správně? Jde o to, jestli lze brát HTML značení za výstup nějakého programu. Další potíž je také v tom, že pokud si stránku prohlédnete bez stylů, neuvidíte to, co byste ve skutečnosti vidět měli. Element samp má totiž výchozí kaskádovou hodnotu font-family: monospace, tudíž bez stylů zobrazí předchozí text o fous jinak, než jak by ho prohlížeč ve skutečnosti opravdu zobrazil. Nicméně i přes tuto drobnou odchylku to lze považovat za správný zápis. Koneckonců nic lepšího mezi tou hromadou elementů pro tento zápis nenajdeme.

Když tedy připustíme, že interpretaci HTML značek lze považovat za výstup programu, číhají na nás pouze samé další problémy. Zatím jsem totiž zmiňoval pouze samé jednoduché příklady a hlavně jsem v příkladech používal řádkové elementy jako je právě strong. Ovšem co dělat ve chvíli, kdy třeba chcete vyznačit jako HTML výstup třeba odstavec? Máte v zásadě dvě možnosti:

<p>Na odstavec používejte element <code>p</code>. Opět příklad použití:
1) <p><samp>A takto to zobrazí prohlížeč.</samp></p>
2) <samp><p>A takto to zobrazí prohlížeč.</p></samp>

Který z nich je správný? Validní je pouze ten první, element samp může obsahovat pouze řádkové elementy, což odstavec pochopitelně není. Ale je to opravdu správný zápis? V prvním zápise vyznačí element samp pouze text odstavce, ale v druhém vyznačí přímo ten odstavec. Logika mi tedy říká, že lepší je ten druhý zápis. Pokud nebyl tento příklad dostatečně průkazný – jak potom vyznačit příklad s tabulkou? Mají se ve všech buňkách všechny texty dát do elementu samp nebo prostě a jednoduše do něj dáme celou tabulku? Samozřejmě opět nevalidní zápis. Podobné dvě značky, které mohou obsahovat jak blokové tak řádkové elementy a přitom nezalamují řádek (to by asi nebylo příliš šikovné) tady už máme – ins a del. Možná by nebylo špatné k nim přidat i samp (a ještě ho trochu rozšířit). Další možností je poté skutečně element samp používat pouze na výstupy běžný programů, nepoužívat to při HTML značení. Nenapadá mne ovšem element, který by se dal použít namísto něj.

Zajímavě se v tomto ohledu chová konsorcium. V kódu specifikace HTML 4.01 používá element samp v místech, kde bych třeba já použil element code. To jest všechny výskyty HTML značek se nacházejí právě v elementu samp, ač se mi to zdá v rozporu se specifikací, kterou ten kód popisuje. Nebo že bych se mýlil? V následující specifikaci XHTML 1 se již element samp v kódu nevyskytuje a všechny HTML značky jsou vyznačeny elementem code. Zajímavé, pokud vím, tak ke změně významu jednotlivých elementů v HTML a XHTML přeci nedošlo.

Takže za jakých okolností by se měl element samp používat? Já vlastně ani nevím… Ale asi mi nebude blbé vyznačit tímto elementem blokový prvek jako třeba již umíněný odstavec. Prohlížeče to zobrazí v pohodě, validátor sice nebude chrochtat blahem, ale co se dá dělat.

Komentáře [1]

Posunutá sémantika

31 leden 2006, 18:04
rubrika XHTML-semantika

Přestože HTML 4.01 obsahuje celkem 91 elementů, není možné jimi popsat všechny části kódu tak, aby to bylo naprosto správné. Proto je potřeba někdy trochu přimhouřit oko a drobně posunout význam jednotlivých elementů.

Patička stránky

Pro vyznačí patičky se asi nejčastěji využívá zápis <div id="footer"> případně <p id="footer"> (viz nedávný průzkum). Připravovaný neoficiální návrh HTML 5 již obsahuje značku <footer>, bohužel my ji však ještě využít nemůžeme. Jistá alternativa se proto skrývá v tomto zápisu.

<p><small>copyright apod.</small></p>

V současné době mne lepší způsob zápisu patičky nenapadá.

Zeslabení důrazu

HTML zná dvě sémantické značky pro zesílení důrazu. Jsou jimi značky <strong> a <em>. Avšak pokud chcete důraz naopak snížit, ocitáte se ve slepé uličce. Žádná značka pro tento účel v HTML neexistuje. Nejblíže podobná ji pak nejspíše bude opět značka <small>. Pokud to bude uprostřed odstavce, dá se použít samotná, jinak ji budete muset opět obalit nějakým blokovým elementem. Pokud tedy chcete do stránky vepsat nějakou drobnou poznámku, asi bude opět nejlepší použít kód jako s patičkou.

Vyznačení Accesskey

Pokud umožňujete ovládat jednotlivé odkazy pomocí klávesových zkratek, měli byste také vyznačit, pro které znaky se zkratky vztahují. Na webu se obecně používají dva způsoby – buď číselné, které se snaží být jednotné nebo pomocí písmen (například počátečních písmen v daném odkazu). Tyto písmena se poté sluší nějak označit, většinou se použí zápis v tomto stylu:

<a href="index.html" style="text-decoration:none">
<span style="text-decoration:underline">H</span>omepage
</a>

Samozřejmě obvykle bývá použit externí stylopis. Není ovšem žádný problém namísto neutrální značky použít element <u>, asi takto:

<a href="index.html">
<u>H</u>omepage
</a>

Kód se tím zkrátí, sémantika neutrpí. V zásadě je už jedno, jestli použijete neutrální element nebo prezentační element, který plní naprosto stejnou funkci a bez stylů se zobrazí stejně.

WWW adresy

Pro www adresy ve skutečnosti element existuje, jen mi přijde, že se nepříliš využívá či že je jeho takovýto význam nepříliš známý. Respektive já jsem si ho nikdy neuvědomil :-). Jedná se tedy o element <code>, jemuž specifikace přisuzuje význam počítačového kódu. A webová adresa podle mého názoru pod počítačový kód spadá. Element <code> se dá dále využít třeba na názvy souborů (což je vlastně součást té adresy, nemusí se jednat pouze o www adresu, může klidně jít i o adresu na lokálním disku).

Klávesové zkratky

Pro vyznačení klávesových zkratek se dá využít nepříliš používaný element <kbd>, jehož původním účel stejně byla navigace uživatele. HTML 5 pak na toto zmiňuje krásný příklad s dvěma vnořenými elementy <kbd>, posuďte sami:

<p>K zavření aplikace použijte klávesovou zkratku <kbd><kbd>Alt</kbd> + <kbd>F4</kbd></kbd>.</p>

Trošičku už to jde do extrému, ale určitě je to zajímavý způsob, který se dá v praxi využít.

Zkratky

Ohledně zkratek toho už bylo dosti naflamováno, nebudu se přidávat, spíše zmíním způsob, který nezdá se mi tak tradiční a hlavně se týká spíše vysvětlování zkratek. Takže pokud přímo ve větě vysvětlujete význam nějaké zkratky, měl by zápis vypadat takto:

<p><dfn><abbr title="Hypertext Markup Language">HTML</abbr></dfn> je značkovací jazyk vyvinut pro popis webových stránek.</p>

V podstatě všechno a ještě mnohem více najdete na webu WHATWG, stojí za to si to pročíst, některé postřehy jsou opravdu vynikající.

Komentáře [2]

Další statistika HTML značek

29 leden 2006, 18:00
rubrika XHTML-semantika

Právě před chvílí jsem objevil další Ameriku, nejen dgx zanalyzoval používání HTML značek, nakonec se do toho pustil ten „nejpovolanější“.

Takže onu statistiku pochopitelně naleznete na stránkách Googlu. Celý projekt je rozdělen do několika částí a každá z nich je zároveň patřičně okomentovaná. Zatím jsem spíše prohlížel grafy (které mimochodem nejdou v Opeře – v devítce možná ano) a jsou dosti zajímavé.

Tak třeba tolik zavrhovaný atribut target se vyskytuje prakticky v každém druhém odkazu. Ne zcele nečekaně pak u dalšího odkazového atributu rel zvítězila hodnota nofollow. U obrázků pak potěší, že většina obsahuje potřebné atributy alt, height a width.

Docela slušný výsměch pak je větší zastoupení atributu language než type u elementu <script>, ač, podle W3C, bychom měli používat právě ten type.

Dále se třeba dozvíte, že na každé stránce je průměrně devatenáct různých elementů a nejčastěji bývá na stránkách element <head>. Za krásnou poznámku autora statistiky považuji tento výrok (takový volný překlad):

„Naprostá většina lidí (98%) vkládá do stránek značky <html>, <head>, <title> a <body>, což je ironické, páč tři z těchto značek jsou v HTML nepovinné (optional).“

Hezká je také statistika tříd a identifikátorů, které se nejčastěji používají. Hned na prvním místě je footer a o kousek dále header. Tyto nejčastější názvy tříd jsou v návrhu HTML5 brány jako elementy, tj. <footer>.

U meta tagů pak překvapí, že jsou častěji uváděna klíčová slova (keywords) než popisek stránky (description), ač na klíčová slova se už prakticky nehledí. Že by setrvačnost?

Smutné potom je, že polovina stránek obsahuje ve značce <body> nesémantický atribut bgcolor a asi tak třetina stránek barví odkazy přes atributy alink apod. Prezentační atributy se asi jen tak nevymýtí (možná by nebylo na škodu udělat obdobnou statistiku, ale jen u webů, které vznikly za poslední rok, dva, takhle je to řádně zkreslené starými stránkami). Obdobné to je třeba u odstavců, polovina obsahuje atribut align. Prakticky u všech tabulek jsou atributy border nebo width, ale třeba takový hezký atribut summary není skoro nikde.

No, zbytek si už prohlédněte a pročtěte sami, přeji příjemnou zábavu.

P.S. David to stejně měl udělané lépe, kam se na něj kluci z ciziny hrabou ;-).

Komentáře [1]

Čtyři věci (Four Things)

28 leden 2006, 22:15
rubrika no-future

Tak už jsem byl i já vyzván k sepsání čtyř věcí. Za pozvánku do hry vděčím Derovi.

Nuže tedy, co jste o mně možná nevěděli:

Má čtyři zaměstnání

Mé čtyři oblíbené filmy

Čtyři místa, kde jsem žil

Čtyři oblíbené TV pořady

Čtyři místa, kde jsem byl na dovolené

Čtyři oblíbená jídla

Čtyři weby, kam chodím denně

Čtyři místa, kde bych byl raději než jsem teď

Čtyři blogy, kterým předávám štafetu této hry

Tak co nám prozradíte, pánové? Nevíte-li, oč jde, podívejte se na conBLOG.

Komentáře [4]

Web o hackovani

25 leden 2006, 18:39
rubrika se-spetkou-ironie

Tak jsem dneska náhodou narazil na výborný a hezky názorný web o hackování.

Web je spíše strohého rázu, je vidět, že to nepsal žádný upovídaný človíček. Celá suchá a fádní teorie je navíc doplněna o vhodně zvolené obrázky, které tomu teprve dodávají patřičný švih. Příjemné pak je, že si tamější služby můžete i objednat přes jednoduchý online formulář. Tomu říkám luxus.

Zbývá již jen adresa webu: hackujeme.sk.

Komentáře [5]

XHTML Anarchie

24 leden 2006, 14:03
rubrika XHTML-semantika

Ten MIME-type mi prostě nedá spát aneb text/html není ani pro XHTML 1.0.

Už se o tom vedlo dost diskusí a stále v tom nemám jasno. Že XHTML 1.1 nesmí být posíláno jako text/html se už obecně i docela ví, i když jsem se minule pokoušel najít určitou škvírku ve specifikaci, skrze kterou by se text/html dalo propašovat i pro XHTML 1.1. Dneska jsem se spíše pokoušel zamyslet nad jednou větou ve specifikaci. Ta věta zní v originále takto:

XHTML1 defines a profile of use of XHTML which is compatible with HTML 4.01 and which may also be labeled as text/html.

Z předchozího textu vyplývá to, že jestliže je XHTML 1.0 dokument kompatibilní s HTML 4.01, může být odeslán jako text/html. Logicky z toho usuzuji, že jestliže není kompatibilní, nemůže být takto odeslán a musí se použít jiný MIME-type (application/xhtml+xml, application/xml nebo ještě text/xml). Takže teď už zbývá pouze vyřešit otázku, jestli je XHTML 1.0 dokument kompatibilní s HTML 4.01. Přijde mi, že nad touto otázkou se moc lidí nezamýšlí.

Ale ať přemýšlím jak přemýšlím, formálně vzato kompatibilní není. Minimálně jeden důvod by se našel. Aby byl kompatibilní, nesměly by se v XHTML dokumentu vyskytnout značky jako <br/> nebo meta tagy. Proč? Vzpomínáte si na HTML hádanku? Lomítko, které v XHTML vkládáte do prázdných elementů (tj. ty, které mají obsah EMPTY), v HTML ukončuje značku, tudíž následující závorku by prohlížeč měl zobrazit. Narozdíl od XHTML, kde je tento zápis naprosto v pořádku a prohlížeč by žádnou závorku zobrazit neměl. Posíláte-li tedy dokonalou XHTML validní stránku s MIME-typem text/html, prohlížeč ji bude nakonec zpracovávat jako zprasené a nevalidní HTML. Chcete-li psát „moderním“ jazykem, měli byste také posílat „moderní“ MIME-type.

Jak je vidět, Shorthand markup nadělalo zatím více škody než užitku, nicméně to na věci nic nemění. Zvalidujete-li XHTML dokument HTML validátorem, vyhodí vám chybu, protože máte v hlavičce text (ty závorky) a případně ještě zařve na atributy xml:lang a xmlns, používáte-li je. Ale vzhledem k tomu, že atributy, které prohlížeč nezná (formálně vzato by je znát neměl, v HTML obsažené nejsou), by měl ignorovat, nenarušuje to kompatibilitu (narozdíl od ukončování prázdných elementů). Na druhou stranu používáte-li oba atributy lang i xml:lang a máte je různé (překlep, nepozornost…), v XHTML má přednost atribut xml:lang, ale HTML tento atribut nezná, tudíž by se měla brát hodnota lang, takže další nesrovnalost, i když drobná.

Takže sečteno podtrženo – není-li váš XHTML dokument zpětně kompatibilní s HTML, nemůžete odesílat stránku jako text/html. V naprosté většině případů pak kompatibilní není (využívá se vlastně „chyby“ v prohlížečích), leda byste nepoužívali prázdné elementy jako třeba <br> nebo meta tagy či element <link>.

update: určitě si přečtětě Derův článek, věnuje se stejnému tématu, jen to rozebral do větší hloubky ;-).

Komentáře [8]

Co vám udělala značka font?

22 leden 2006, 15:11
rubrika XHTML-semantika

Není snad zavrhovanější značky než této, ale ať přemýšlím jak přemýšlím, pořád nemohu najít důvod. Značka <font> není nebezpečná.

Trocha historie

Tak nejdříve taková malá historická exkurze. Značku <font> jako první implementoval stařičký Netscape 1.0, který zároveň podporoval atribut size, jenž sloužil ke změně velikost písma (tedy tak, jak jej známe teď). Na to reagoval Internet Explorer, který si přidal ještě další dva atributy, které jsou taktéž známé – color a face. O něco později je začal podporovat taktéž Netscape. Ten také ve své čtvrté verzi začíná podporovat další dva atributy a sice font-weight, který ovládal „tučnost“ písma (v podstatě stejné jako css vlastnost font-weight) a point-size, což měla být jakási alternativa k atributu size, ale používala jiné jednotky.

Značka font byla poprvé zařazena až do specifikace HTML 3.2, ale už tehdy ji nebyla přána zářivá budoucnost. Zajímavostí pak je, že tehdy obsahovala pouze dva atributy – size a color, atribut face byl přidán až ve specifikaci HTML 4.0 (a od té doby je také značka font, včetně atributů, zavržená).

Prezentační prvek

HTML je značkovací jazyk, který má za úkol vyznačit význam dané části webové stránky. Tudíž jakékoliv prezentační značky jsou nepřípustné. Značka <strike> nemá v sémantickém kódu co dělat, těžko budeme hledat její význam. Stejně tak bychom nemuseli v kódu vidět značky jako <s>, <marquee>, <blink>, <big>, <center> nebo <tt>. Mohou se najít výjimky, ale obecně lze prohlásit, že by tyto značky v kódu být neměly.

Je značka <font> sama o sobě prezentační? Domnívám se, že není. Podle specifikace nemá žádný výchozí styl, tudíž při tomto zápisu se text nijak nezmění: <font>nějaký text</font>. Bez použití vlastních atributů je značka <font> neškodná a de facto se jedná o neutrální značku, obdobně jako <span>. A stejně jako <span> můžete i značku font jednoduše nastylovat. Potřebujete přebarvit část věty? Prosím, můžete vesele použít značku font a nic tím nezkazíte:

Tohle je <font style="color:red">červený text</font>.

Závěr

Neříkám, že je lepší používat značku font než třeba span, to ne. Jen dávám alternativu těm, kteří nemají rádi značku span. A taky mi přijde trochu hrrr nadávat na značku, která sama o sobě za nic nemůže :-).
Komentáře [1]
Starší články

Rubriky

  • No Future
  • Internet
  • Se špetkou ironie
  • XHTML a sémantika
  • Testy
  • Oblíbené weblogy

  • La Trine
  • Derův zápisník
  • Yuhůův weblog
  • acciBlog
  • Martyho weblog
  • Ronnieho weblog
  • zimmiho blog
  • conBLOG
  • Klokynov blog
  • Buchtič blog
  • Dům mlhy
  • Anne’s Weblog
  • Mabfredův básnický blog
  • Další odkazy

  • Sémantika
  • MiSHAK
  • můj starší blog
  • Textpattern česky
  • Textpattern oficiální web
  • Jakpsatweb
  • Kocourek Koudy
  • Webylon