<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>mmaly's blog</title>
  <link rel="alternate" type="text/html" href="http://dev20.info/blog/2"/>
  <link rel="self" type="application/atom+xml" href="http://dev20.info/blog/2/atom/feed"/>
  <id>http://dev20.info/blog/2/atom/feed</id>
  <updated>2007-03-30T02:39:20-07:00</updated>
  <entry>
    <title>Neagresivní čtení RSS</title>
    <link rel="alternate" type="text/html" href="http://dev20.info/neagresivni-cteni-rss" />
    <id>http://dev20.info/neagresivni-cteni-rss</id>
    <published>2007-03-30T02:44:53-07:00</published>
    <updated>2007-03-30T02:44:53-07:00</updated>
    <author>
      <name>mmaly</name>
    </author>
    <summary type="html"><![CDATA[<!--paging_filter--><p>RSS je jedním z pojmů, které jsou zmiňovány v každém Kiddies2.0 článku,<br />
takže si odpustím úvodní tlachy na téma &bdquo;Co to je RSS a proč to je...?&ldquo;<br />
a půjdu rovnou k věci.</p>
<br class="clear" />

    ]]></summary>
    <content type="html"><![CDATA[<!--paging_filter--><p>RSS je jedním z pojmů, které jsou zmiňovány v každém Kiddies2.0 článku,<br />
takže si odpustím úvodní tlachy na téma &bdquo;Co to je RSS a proč to je...?&ldquo;<br />
a půjdu rovnou k věci.Na Bloguje je několik tisíc RSS kanálů k<br />
odběru (když počítám i RSS pro komentáře a pro jednotlivé rubriky, tak<br />
několik desítek tisíc). V únoru bylo 4.5% požadavků na server právě na<br />
soubor rss.xml. Nemusí se to zdát moc, ale co do počtu dotazů<br />
to je hezké druhé místo, hned za požadavkem na úvodní stránky blogů<br />
(4.91%). Když k tomu přičtu přístupy na comments.xml, tak je to nastejno.Bývalo<br />
hůř. Před rokem bylo požadavků na rss.xml téměř jedenáct procent. Když<br />
se dívám do přehledu useragents, vidím zřetelný ústup stand-alone<br />
čteček (na třetím místě byl v březnu 2006 FeedReader; dnes ve<br />
statistice Top20 chybí úplně). Nemohu z toho však usuzovat na nějaký<br />
masivnější nástup online RSS čteček. Ty se objevují pouze ve statistice<br />
požadavků na RSS kanály, mezi referery vidět nejsou...Kromě RSS<br />
čteček se na utěšeném trafficu podílí i online agregátory. Bohužel,<br />
jejich autoři velmi často neřeší situaci &bdquo;co bude až...&ldquo;, takže jejich<br />
robot pracuje na prostém principu &bdquo;přečtu, jdu dál, přečtu znovu za X&ldquo;.<br />
Problém nastává ve chvíli, kdy agregátor začne agregovat víc zdrojů z<br />
jednoho serveru. To pak přístupy naskakují a situace začíná připomínat<br />
nepovedený DoS útok.Samosebou že řešení existuje. Řešení<br />
existuje vždy, když je dobrá vůle k dohodě. V tomto směru je moje<br />
zkušenost s autory českých agregátorů velmi tristní (s čestnými<br />
výjimkami). Dovolte dvě ilustrační historky:Provozovatel<br />
prvního agregátoru, dnes již neexistujícího, mi na upozornění, že<br />
jejich stroj nám dělá vyšší traffic než je zdrávo odpověděl, že ONI<br />
jsou největší agregátor, a že taky proto mají hodně požadavků, že to<br />
tak prostě je a že změna algoritmu by byla u jejich zaběhnutého systému<br />
velmi složitá, což si jistě dovedu představit, takže nashledanou. K<br />
rozumu přišel až po známém triku s &bdquo;deny from ...&ldquo; a implementoval<br />
řešení, které jsem mu od počátku navrhoval. Od té doby nebyl problém. S<br />
nimi.Přišli jiní.<br />
Situace se opakovala - mnoho dotazů, &bdquo;deny from ...&ldquo;, po čase otázka<br />
PROČ jsou zablokovaní, zase povídání o největším agregátoru (okořeněné<br />
řečmi o tom, jak &bdquo;nám přivádějí uživatele&ldquo;), tlachy typu &bdquo;nezatěžujeme<br />
vás, čteme zdroje jednou za šest hodin&ldquo; (ale při počtu který četli se<br />
stávalo, že přišlo 80 dotazů za 40 sekund), na můj návrh odpověď ve<br />
stylu &bdquo;to se nám nevyplatí kvůli vám to předělávat...&ldquo;, kontranávrh<br />
(&bdquo;Tak nám posílejte PING vždy když bude nový příspěvek&ldquo;) a po těchto<br />
žertovných mailech s neskrývanými osobními antipatiemi nakonec i oni<br />
přistoupili na řešení, které jsem navrhoval.Autoři<br />
agregátorů by si měli uvědomit, že efekt &bdquo;přivádíme vám čtenáře&ldquo; je pro<br />
velký blogovací server nicotný v porovnání s efektem &bdquo;my máme ta data,<br />
bez nichž je vaše služba nanic&ldquo;, a měli by se chovat ke zdrojům těch<br />
dat šetrněji. Podojit, ale ne z nich cedit krev. (Při pohledu do<br />
statistik vidím dokonce velmi silný nepoměr mezi tím, jak agregátory<br />
přistupují a kolik přivedou lidí; dle počtu &bdquo;přivedených lidí&ldquo; je efekt<br />
agregátorů mizivý jak relativně, tak absolutně.) Jaké je to<br />
&bdquo;šetrné řešení&ldquo;, které jsem navrhoval? Prosté. Využít globálního<br />
agregovaného RSS kanálu, který Bloguje nabízí a který obsahuje u každé<br />
ITEM položky i tag <a href="http://blogs.law.harvard.edu/tech/rss#ltsourcegtSubelementOfLtitemgt" href="http://blogs.law.harvard.edu/tech/rss#ltsourcegtSubelementOfLtitemgt" target="_blank">source</a>.<br />
Agregátor stáhne tento kanál a roztřídi si příspěvky k těm kanálům,<br />
které sleduje. Stejné agregované RSS nabízí i další blogoservery (jen<br />
nemají parametr SOURCE, takže je jejich parsování o něco těžší).Když už se budete, milí autoři čteček a agregátorů, dívat do té RSS specifikace, tak se podívejte i na tagy <a href="http://blogs.law.harvard.edu/tech/rss#ltttlgtSubelementOfLtchannelgt" href="http://blogs.law.harvard.edu/tech/rss#ltttlgtSubelementOfLtchannelgt" target="_blank">ttl</a>, <a href="http://blogs.law.harvard.edu/tech/skipHoursDays#skiphours" href="http://blogs.law.harvard.edu/tech/skipHoursDays#skiphours" target="_blank">skipHours</a>   a <a href="http://blogs.law.harvard.edu/tech/skipHoursDays#skipdays" href="http://blogs.law.harvard.edu/tech/skipHoursDays#skipdays" target="_blank">skipDays</a>. Sice jsem je zatím skoro nikde neviděl, ale jistě se začnou objevovat, s tím jak jejich potřeba bude časem narůstat.Za<br />
naprostou samozřejmost považuji alespoň minimální inteligenci robota,<br />
kterému dojde, že když v čase T nebyl žádný nový příspěvek, v čase T+5<br />
minut taky ne, v T+10 taky ne a v T+15 opět ne, tak že je nesmysl číst<br />
v T+20 a nejspíš i v T+25, že by stačilo bohatě čtení v T+30, T+45,<br />
T+60 a když ani pak nebude nic nového, tak se přijít podívat za dvě<br />
hodiny, za tři, za šest... Pokud jste ale &bdquo;posedlí aktuálností&ldquo;, tak<br />
nezbyde než prohlížet agregované RSS. Děkuji za pozornost, doufám že jste si vzali ponaučení a když ne, tak - sejdeme se v .htaccess :)Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
<br class="clear" />

    ]]></content>
  </entry>
  <entry>
    <title>Co je OpenID?</title>
    <link rel="alternate" type="text/html" href="http://dev20.info/co-je-openid" />
    <id>http://dev20.info/co-je-openid</id>
    <published>2007-03-30T02:42:57-07:00</published>
    <updated>2007-03-30T02:42:57-07:00</updated>
    <author>
      <name>mmaly</name>
    </author>
    <summary type="html"><![CDATA[<!--paging_filter--><p>Uživatelský popis OpenID už jsem tu nastínil <a href="http://zapisnik.maly.cz/493002-bloguje-cz-implementovalo-technologii-openid.php" href="http://zapisnik.maly.cz/493002-bloguje-cz-implementovalo-technologii-openid.php" target="_blank">v minulém článku</a>. Další informace k samostudiu zde:<a href="http://mozek.cz/info/openid" href="http://mozek.cz/info/openid" target="_blank">http://mozek.cz/info/openid </a> <a href="http://openid.net/" href="http://openid.net/" target="_blank">http://openid.net/</a></p>
<br class="clear" />

    ]]></summary>
    <content type="html"><![CDATA[<!--paging_filter--><p>Uživatelský popis OpenID už jsem tu nastínil <a href="http://zapisnik.maly.cz/493002-bloguje-cz-implementovalo-technologii-openid.php" href="http://zapisnik.maly.cz/493002-bloguje-cz-implementovalo-technologii-openid.php" target="_blank">v minulém článku</a>. Další informace k samostudiu zde:<a href="http://mozek.cz/info/openid" href="http://mozek.cz/info/openid" target="_blank">http://mozek.cz/info/openid </a> <a href="http://openid.net/" href="http://openid.net/" target="_blank">http://openid.net/</a> <a href="http://en.wikipedia.org/wiki/OpenID" href="http://en.wikipedia.org/wiki/OpenID" target="_blank">http://en.wikipedia.org/wiki/OpenID</a> <a href="http://www.openidenabled.com/" href="http://www.openidenabled.com/" target="_blank">http://www.openidenabled.com/</a> <a href="http://www.itsecurity.com/features/openid-identity-management-catches-fire-021707/" href="http://www.itsecurity.com/features/openid-identity-management-catches-fire-021707/" target="_blank">http://www.itsecurity.com/features/openid-identity-management-catches-fire-021707/</a> -<br />
Microsoft, the biggest of them all, said in early February it would<br />
align its Windows CardSpace Initiative with the OpenID 2.0<br />
specification. A few days before, Symantec also said it will support<br />
OpenID for use with its new Norton Identity Service, following<br />
Verisign’s announcement last year of its Personal Identity Provider<br />
service for OpenID users.Co to je OpenID?OpenID is an open, decentralized, free framework for user-centric digital identity.OpenID je otevřený. K dispozici jsou zdrojové kódy pro servery i pro klienty v nejrůznějších jazycích - <a href="http://www.openidenabled.com/openid/libraries/" href="http://www.openidenabled.com/openid/libraries/">http://www.openidenabled.com/openid/libraries/</a> OpenID je decentralizovaný. Není jeden centrální server, je zcela na vás, který si vyberete. (Trochu jako Jabber, že?)OpenID je &bdquo;free&ldquo;. Nikomu se nic neplatí ani za používání OpenID, ani za použití technologie jako takové.Základní<br />
myšlenka je mít údaje o osobě na jednom jediném serveru, který tyto<br />
informace poskytne schváleným žadatelům a zároveň ověří uživatele.Výhodou<br />
otevřenosti a decentralizovanosti OpenID je možnost udělat si vlastní<br />
OpenID server, pokud se vám ty oficiální nelíbí. S jinou grafikou, s<br />
jinými pravidly pro registraci... Dokonce existují i malé OpenID<br />
servery, které ověřují jednoho jediného uživatele. Můžete si ho nasadit<br />
na svůj web, pokud vám na existujících implementacích cokoli<br />
nevyhovuje. Můžete si mu přidat vlastní podepsaný SSL certifikát.<br />
Stávající &bdquo;OpenID ready&ldquo; systémy pak dokáží pracovat i s vaším podpisem a dokáží si vás ověřit u VAŠEHO serveru.Existuje i možnost použití URL stránek jako OpenID identifikátoru. Příkladně já mám OpenID identitu openid.cz/adent. Vložil jsem si do hlavičky těchto stránek dva tagy:&lt;link rel=&ldquo;openid.server&ldquo; href=&ldquo;https://openid.cz/server/&ldquo;&gt;&lt;link rel=&ldquo;openid.delegate&ldquo; href=&ldquo;openid.cz/adent&ldquo;&gt;openid.server udává server, kde probíhá ověření, openid.delegate je moje identita. Místo svého OpenID identifikátoru &bdquo;openid.cz/adent&ldquo; mohu použít &bdquo;zapisnik.maly.cz&ldquo; se stejným výsledkem. Ověřovací knihovna se pokusí spojit se &bdquo;zapisnik.maly.cz&ldquo;,<br />
nalezne tyto dva tagy a ověří identitu u serveru, který je v nich<br />
zadán. Odpadá tak defacto důvod, pro který by mělo být součástí OpenID<br />
i URL stránek.Jak OpenID funguje?V nejjednodušší podobě probíhá ověřování uživatele zhruba takto:1. Uživatel zadá na stránky Klienta své OpenID.2. Klient z informací v OpenID zjistí, který poskytovatel toto konkrétní OpenID spravuje (Poskytovatel)3. Uživatel je přesměrován na stránky Poskytovatele4. Na stránkách Poskytovatele se Uživatel standardním způsobem přihlásí, pokud je třeba, a určí, jaké údaje budou předány (pokud je třeba).5. Uživatel je přesměrován zpět na stránky Klienta. V HTTP požadavku jsou předány požadované informace a podepsaný jednorázový klíč6. Klient přijme informace a ověří si (skrytým) voláním Poskytovatele platnost klíče Implementace:Odkazy na různé knihovny jsou na <a href="http://www.openidenabled.com/openid/libraries/" href="http://www.openidenabled.com/openid/libraries/" target="_blank">http://www.openidenabled.com/openid/libraries/ </a> - Perl, Ruby, Python, PHP, dotNET, Java, ColdFusionExistují pluginy do různých blogovadel (MovableType, WordPress, ...)Další knihovny naleznete na <a href="http://openid.net/wiki/index.php/Libraries" href="http://openid.net/wiki/index.php/Libraries" target="_blank">http://openid.net/wiki/index.php/Libraries</a> Jednouživatelský server: <a href="http://siege.org/projects/phpMyID/" href="http://siege.org/projects/phpMyID/" target="_blank">http://siege.org/projects/phpMyID/</a> Implementace serveru v PHP: <a href="http://taral.livejournal.com/147710.html" href="http://taral.livejournal.com/147710.html" target="_blank">http://taral.livejournal.com/147710.html</a> Další informace<a href="http://www.google.com/" href="http://www.google.com" target="_blank">http://www.google.com</a> &nbsp;Pokud<br />
si budete vytvářet OpenID, dejte pozor na diakritiku v identifikátoru.<br />
měla by fungovat bez problémů na webech v UTF-8, ale zaručeno to není,<br />
proto raději volte identifikátor bez diakritiky - viz komentáře Doufám, že se mi podařilo trošičku popsat OpenID nebo vás alespoň nasměrovat. Snad ještě jen dodatek: OpenID.cz<br />
není nová služba, která by měla nahradit MS Passport, nic z toho. Je to<br />
(první) ČESKÁ implementace veřejného serveru technologie OpenID.<br />
Výhrady k její použitelnosti a logice (5 znaků) prosím směřujte na<br />
jejich adresu, nikoli mně do komentářů. Já to neprovozuji, já to<br />
nedělal, prosím, pište to JIM - nebo nabídněte alternativu. Děkuji. Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
<br class="clear" />

    ]]></content>
  </entry>
  <entry>
    <title>AJAX a eyecandies</title>
    <link rel="alternate" type="text/html" href="http://dev20.info/ajax-eyecandies" />
    <id>http://dev20.info/ajax-eyecandies</id>
    <published>2007-03-30T02:39:20-07:00</published>
    <updated>2007-03-30T02:39:20-07:00</updated>
    <author>
      <name>mmaly</name>
    </author>
    <summary type="html"><![CDATA[<!--paging_filter--><p>Pokud čekáte řeči o tom, co je AJAX, proč je AJAX, proč je &bdquo;na Západě populární a u nás nic&ldquo; a &bdquo;jak na AJAX&ldquo;, tak jděte, prosím, někam jinam...-</p>
<br class="clear" />

    ]]></summary>
    <content type="html"><![CDATA[<!--paging_filter--><p>Pokud čekáte řeči o tom, co je AJAX, proč je AJAX, proč je &bdquo;na Západě populární a u nás nic&ldquo; a &bdquo;jak na AJAX&ldquo;, tak jděte, prosím, někam jinam...- Před časem jsem se rozhlížel po nějaké hezké JS dvanula<br />
knihovně, která by uměla trošku oživit web. Nechtělo se mi strávit<br />
spoustu času vymýšlením kola - a kupodivu jsem i našel! Jako nejlepší<br />
se v tu dobu jevila JS knihovna <a href="http://www.prototypejs.org/" href="http://www.prototypejs.org/" target="_blank">Prototype</a>  a její &bdquo;grafická nadstavba&ldquo; <a href="http://script.aculo.us/" href="http://script.aculo.us/" target="_blank">scriptaculous</a>.Nejprve jsem si říkal, že to stejně použiju &bdquo;jen na ten AJAX a pár efektů&ldquo;, jenže jsem si po čase zvyknul třeba i na to psát $(&bdquo;prvek&ldquo;) místo document.getElementById(&bdquo;prvek&ldquo;), nebo na form.serialize(). Zkrátka příjemná rozšíření, co ulehčí spoustu datlení. A i ten AJAX to umí...- Bohužel mám dojem, že v poslední době tahle dvojice trochu spí a zatím jí silně šlape na paty knihovna <a href="http://jquery.com/" href="http://jquery.com/" target="_blank">jQuery</a>. Je mnohem menší (19 kB, co to je?) a množstvím různých <a href="http://docs.jquery.com/Plugins" href="http://docs.jquery.com/Plugins" target="_blank">pluginů</a>  odsouvá Scriptaculous na vedlejší kolej. Za mnohé snad jen <a href="http://jquery.com/demo/thickbox/" href="http://jquery.com/demo/thickbox/" target="_blank">Thickbox</a>, což je taková variace na window.open s troškou těch vizuálních efektů. I tady na Zápisníku můžete vidět dvě ukázky <a href="http://jquery.com/" href="http://jquery.com/" target="_blank">jQuery</a> v akci. Například u oblíbených pravidel komentování. :) -Před několika dny jsem objevil příjemný efekt &bdquo;navigace na stránce&ldquo; - <a href="http://tobielangel.com/examples/auto-scrolling-page-navigation" href="http://tobielangel.com/examples/auto-scrolling-page-navigation" target="_blank">Auto Scrolling Page Navigation</a>.<br />
Používá &bdquo;minimal-obtrusive&ldquo; techniku, to znamená, že do textu, který<br />
používá klasickou stránkovou navigaci přes anchors (odkazy na #jmeno),<br />
nemusíte vkládat nějaké DIVy ani připisovat všelijaké &bdquo;onclick...&ldquo; -<br />
stačí na začátek vložit JS kód a ze starého klasického poskakování po<br />
dokumentu se stane dynamický pohyb. Samosebou tam, kde JS nefunguje,<br />
zůstane zachována stará funkčnost. Tenhle efekt používá Prototype a knihovnu Effects ze Scriptaculous.-Pokud se vám z nějakého důvodu líbí &bdquo;ušaté&ldquo; stránky, tedy stránky se záložkami, můžete najít inspiraci u <a href="http://livepipe.net/projects/control_tabs/" href="http://livepipe.net/projects/control_tabs/" target="_blank">LivePipe Control.Tabs</a>. I tenhle skript používá knihovnu Prototype a je &bdquo;minimal obtrusive&ldquo; - záložky jsou přístupné i pro prohlížeče s vypnutým JS. - Na <a href="http://www.miniajax.com/" href="http://www.miniajax.com/" target="_blank">MiniAJAX</a><br />
najdete knihovnu různých AJAXích srandiček, efektů, triků či<br />
užitečností, jak kdo chce. Vše s ukázkou, vše ke stažení a prozkoumání,<br />
většina velmi efektní a &bdquo;eye candy&ldquo;, přesně jak to nový web chce. - Užijte si to... Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
<br class="clear" />

    ]]></content>
  </entry>
</feed>
