Na čem dělám? I.

Preview chystaných novinek... Aby ti, co se za čas prohlásí "konkurencí", neměli zas zpoždění dvou let a nemuseli vydávat tiskové zprávy... ;) Koho to nezajímá, nechť to nečte.

Poslední rok jsem vyvíjel hlavně věci, které vidět nejsou, ale které jsou podstatnější a důležitější než to viditelné. Především vlastní framework, který by byl použitelný pro weby. Dostupné frameworky jsou pomalé, náročné a přebujelé objektové obludy. (Bože, neznám větší nesmysl než OBJEKTY ve WWW aplikacích! Doufám, že se někdo konečně probere a udělá branch PHP bez objektového balastu a optimalizovaný pro výkon v aplikacích typu "Načti z DB – zpracuj – pošli prohlížeči". Objekty ve webových aplikacích jsou sice zbytečné, zato pomalejší.)

Framework jsem si tedy ušil na míru sobě. Vytyčil jsem si jasnou strategii: Rychlé, rychlé, rychlé, jednoduché, co nejmenší a snadno použitelné. Asi něco viselo ve vzduchu, protože DGX v té samé době dělal na svém Nette. Jenže mezi našimi dvěma frameworky jsou dva podstatné rozdíly: Zaprvé – můj framework je hotový. A zadruhé – je neveřejný a bude neveřejný. (Proč to teda píšu, když z toho nikdo z vás nebude nic mít? Jen tak, jako zajímavost, třeba o tom někdy napíšu víc, tak abyste věděli... A třeba někomu hne žlučí, že se chlubím tím, že něco dělám.)

Nový framework mi konečně umožnil jednoduše udělat nové rozhraní Bloguje. Ale o tom až příště. Práce na adminském rozhraní jsem totiž přerušil a naplno se věnoval jinému projektu, a to RSS čtečce.

Vlastní RSS čtečka je věc, která mne pronásleduje už dva, možná tři roky. Napsal jsem si vlastní standalone čtečku v Delphi. Když se objevily podcasty, tak se mi už do jejího kódu zasahovat nechtělo, takže jsem se vrátil k FeedReaderu. Ale FeedReader je fakt mizerný kus software. Přesto v porovnání s obdobnými SW, které jsem testoval, jednoznačně vede. Bohužel.

A tak jsem se dva dny před Štědrým dnem naštval, sednul jsem a za večer jsem napsal jádro online RSS čtečky, včetně všech vlastností, které bych rád viděl u jiných čteček – například "minimal obtrusive" algoritmus čtení (Vysvětlím. Např. Bloguje poskytuje několik tisíc RSS kanálů. Některé online čtečky a agregátory HOLT čtou každý z nich místo toho, aby si parsovaly globální kanál. V globále to vše dohromady vydá na krásných pět požadavků na RSS za čtyři vteřiny, na naprostou většinu z nich (cca 80%) navíc dostane žadatel stejná data jako při předchozím čtení) a inteligentní dynamickou změnu intervalu čtení. Což je zároveň nepatrné pošťouchnutí směrem k Weblogy.cz: "Už jste, hoši, přišli na to, jak to udělat, abyste těch deset kanálů z Bloguje nenačítali co pět minut pořád znovu? Máte denně 3000 požadavků a dostanete z nich tak dva nové příspěvky, to fakt neide!"

Dva dny před Silvestrem jsem měl připravené rozhraní. Dneska je čtečka víceméně funkční, zbývá dodělat exporty dat a pár drobných úprav, a můžu spustit betatesty.

Ona je to totiž sice RSS čtečka, ale trošku jiná. Není rozhodně pro každého, je pro lidi, co se zprávami chtějí pracovat. Není ani pro lidi "posedlé aktuálností", protože kvůli inteligentnímu algoritmu se kanály načítají až tehdy, když to má smysl. Rozhodně se tedy nehodí třeba pro sledování RSS komentářů.

Její "jinakost" jde ovšem ještě o kousek dál. Podobně jako Jagg nebo del.icio.us nabízí možnost označit si jednotlivé kanály nebo i zprávy pomocí štítků, a ty si přidat do seznamu sledovaných zdrojů informací. Co to má za smysl? Inu, třeba ten, že vás zajímá, řekněme, ekonomika. Máte ve čtečce nastaveno deset kanálů s ekonomickými informacemi a sledujete i štítek "ekonomika". Někdo jiný sleduje třeba blogy, což vás ale ani za mák nezajímá. Jenže dotyčný člověk narazí na blogu na zprávu, řekněme, "Tržní síla weblogů". Zaujme ho a přiřadí jí štítek "Ekonomika" (protože ji chce mít zatříděnou do ekonomiky). Už vám svítá? Vám se totiž ta zpráva objeví pod zprávami z Ekonomiky, ačkoli je ze zdroje, který nesledujete a o kterém nejspíš ani nevíte.

Čtečka obsahuje veškeré harampádí, které se dnes tak módně označuje jako Web2.0. Tedy hodnocení, AJAX, komunity (můžete se kouknout k ostatním na jejich sledované zdroje, přidat si je taky, můžete se podívat koho zajímá totéž co vás atakdále), API a podobný šmejd. Vzhledem k absenci zrcadleného loga a koncového červeného R v názvu se však nemohu ucházet o pochybnou čest označení "This is Web2.0 site" a vystačím si s označením "webová aplikace".

Čtečka by mohla být ideálním nástrojem ke sběru informací pro odbornou práci. K jednotlivým zprávám si totiž můžete přidat soukromou poznámku. Když si zprávy zároveň označíte soukromým štítkem (takový který vidíte pouze vy), můžete si pak v případě potřeby nechat udělat export, kde budete mít shrnuté všechny zprávy, odkazy na ně a vlastní poznámky. Každý, kdo kdy dělal nějakou větší odbornou práci, si asi dokáže představit (a ocenit)  užitečnost takové funkce.

Vsuvka: Správně jste pochopili, že ostatní vidí, jaké kanály sledujete. Že tedy nemáte v tomto ohledu "soukromí". Je dobře, abyste si uvědomili jednu věc, které platí pro internetové aplikace všeobecně a komunitní obzvlášť: Soukromí? K soukromému sledování soukromých RSS (porno)kanálů použijte soukromou RSS čtečku na soukromém počítači, proboha!

Největší problém a úskalí principu této čtečky spatřuji ve výběru uživatelů. Zpočátku je totiž potřeba získat především lidi, kteří mají zájem o takový druh práce s informacemi a kteří s nimi opravdu chtějí pracovat. Uživatel, co si přidá deset kanálů a následně na ně jednou za týden koukne a označí si všechny zprávy jako přečtené není pro podobný druh aplikací zrovna přínosem.

Jinými slovy: Pro běžného uživatele, který se chce kouknout co píšou jeho oblíbené weblogy dnes, tato čtečka není určena. Je určena pro lidi, co chtějí s informacemi nějak pracovat, nějak si je kategorizovat, sdílet s ostatními, využívat. Pro lidi, kteří vědí, že čím kvalitnější informace poskytnou, tím kvalitnější sami získají.

Pokud tedy máte dojem, že:
1. něco takového hledáte
2. by pro vás práce s touto aplikací měla smysl
3. byste byli ochotni podílet se na vývoji (hlášení chyb či námětů)
4. opravdu chcete něco takového používat


tak se směle obraťte do administrace tohoto listu, adresu naleznete v tiráži. :)

Dne 15.01.2007

Twittni

Přidej do: asdf.sk StumbleUpon Toolbar Stumble It!

Komentáře

[1] (johno - Mail ) 16.01.2007, 00:04:47 [X] [D]
Arthure ja som svojho času skúšal experimetovať s automatickou kategorizáciou textu. Akože si vytvorím profil k užívateľovi, čo sa komu páči a čo nie a potom mu viem odporučit aj veci, ktoré nesleduje, ale hodia sa mu do profilu.

Vyzeralo to nejako takto, ale nikdy to neopustilo localhost. http://johno.jsmf.net/bordel/cindykate/cindykate.htm

Keby si chcel nejake insider info tak sa ozvi.

[2] (dgx - WWW) 16.01.2007, 01:55:36 [X] [D]
Řekl bych, že mezi našimi frameworky je jen jeden rozdíl. Tvůj "bude neveřejný", můj nejspíš ne.

Jinak nechápu, jak někdo může používat strukturované programování ve WWW aplikacích? Bože, takové bludy! ;-)

(tos chtěl slyšel, žejó, žejó?)

[3] Ale (pixy - Mail ) 16.01.2007, 02:00:02 [X] [D]
Římská jedna, římská jedna!

[4] (Arthur Dent ) 16.01.2007, 08:25:46 [X] [D]
[1] Pěkné, pěkné... Taky jsem nad tím přemýšlel, ale cokoli na téma "sledování preferencí" je mimo možnosti našich serverů. Už jen kvůli tomu nechutnýmu kvantu dat. :)

[2] I ty filuto. Jasně, jen jeden :) A že to jsi ty, tak si můžeš za domácí úkol odpovědět na otázky:

1. Jaký je rozdíl mezi strukturovaným a objektovým programováním z hlediska stroje? (zamyslete se nad rozdílem pro procesor a překladač; do úvah započítejte late binding a datové struktury)
2. Jaký je tento rozdíl v interpretovaných jazycích jako je PHP?
3. Jaké jsou výhody a nevýhody použití objektů v nonperzistentním systému (tzn. při každém přístupu se vše dělá znovu a na konci skriptu se to zase zahazuje)?

Malá nápověda: použijte getmicrotime() a memory_get_usage(), simulujte 700 požadavků na skript za vteřinu ;)

Tušil jsem, že tam je rozdíl, ale netušil jsem, že to je až tolik. A jestli se stránka generuje 800 ms nebo 30 ms je sakra rozdíl. Teda - někde to možná nevadí, ale zrovna tady jo...

[3] Římská II a III budou následovat :)

[5] OO (johno - Mail - WWW) 16.01.2007, 09:34:55 [X] [D]
[2] Ja sa pridávam. Fiškus číslo dva.

[4] Nič v zlom, ale niekedy tú rýchlosť prevážia iné požiadavky na kód. Napríklad taká znovupoužiteľnosť (a teraz nemyslím copy & paste) a flexibilita.

Tá rýchlosť je mimochodom tiež diskutabilná, keď sa vhodne cachuje. APC cache? Ako je možné, že Yahoo

Povedal by som, že keď sa stránka generuje 800ms, tak bude chyba niekde inde ako v objektoch, ale musel by som to vidieť.

No a jeden príklad za všetky. Symfony framework (hej, to je ten najviac objektami nabubralý) používa Yahoo Bookmarks.

[6] RSS čtečka (Ondřej Pohorský - Mail - WWW) 16.01.2007, 09:35:05 [X] [D]
Dobrý den,

také pracuji na RSS čtečce. Nicméně bude se jednat přesně o ten druh, který popisujete slovy "Uživatel, co si přidá deset kanálů a následně na ně jednou za týden koukne a označí si všechny zprávy jako přečtené".

Píšu to čistě, abych se vyhnul tomu lehce ironickému "ti, co se následně prohláší konkurencí".

Spuštění plánujeme někdy na začátku února na adrese www.rssfeet.com

[7] (dgx - WWW) 16.01.2007, 10:08:56 [X] [D]
No myslím, že diskuse objekty vs. neobjekty nejsou zrovné to pravé ořechové do komentářů, ale k otázce č.2:

Z hlediska interpretovaných jazyků vlastně není rychlostní rozdíl mezi objektovým a strukturálním programováním. V PHP je rozdíl fatální. Co z toho plyne? Je to mínus pro objekty nebo pro PHP? ;)

Ale samozřejmě si neodpustím poznámku, že v dobrém objektovém Frameworku mohu *rychleji* vytvořit a (hlavně) *lépe spravovat* projekt, než v dobrém neobjektovém frameworku, přičemž jejich odezva bude totožná. Mluvím čistě za sebe.

[8] (Arthur Dent ) 16.01.2007, 10:26:39 [X] [D]
[6] Zdravím. Však oni "ti, co se prohlásili konkurencí" moc dobře vědí, koho tím myslím a čím si to ode mne zasloužili. :) A když už jsme se tak hezky potkali, tak říkám předem: Jestli budete číst nějaké RSS zdroje z Bloguje, tak to udělejte parsováním globálního RSS podle tagu "source", jinak na sebe brzy narazíme za podstatně nepříjemnějších okolností! :)

[9] (Arthur Dent ) 16.01.2007, 11:33:49 [X] [D]
Ještě jednou: DISKUSE O OBJEKTECH SKONČILA a prosím, aby to komentující respektovali.

PS: Nebojte. Vaše příspěvky jsem si před smazáním přečetl, ale jak jsem napsal: Diskutovat budeme jindy a jinde, ano?

[10] (johno - Mail ) 16.01.2007, 11:37:22 [X] [D]
U mňa v pohode.

Inak mám adblock alebo ako sa to mám prihlásiť keď mám záujem o ten RSS reader? Ak mi to len trochu lepšie nahradí bloglines.com, tak som jednoznačne za.

[11] (Arthur Dent ) 16.01.2007, 11:40:42 [X] [D]
[19] To byl takovej vtípek... Na můj mail. Někde se tu válí... :)

[12] (Arthur Dent ) 16.01.2007, 12:48:35 [X] [D]
DGX, nebuď paranoidní, to nebylo na tebe. Ten na koho to bylo zareagoval, takže jsem opět obojí smazal, stejně tak smažu za chvilku i tenhle komentář. Nehledej v tom nic proti ničemu a už vůbec ne proti sobě :)

[13] (dgx ) 16.01.2007, 13:00:33 [X] [D]
Ovšem kdybych přestal být paranoidní, zcela by se změnila má osobnost, už bych to prostě nebyl já. Chápeš? Tobě se to lehko řekne, "nebuď paranoidní", ale pro mě to může mít katastrofální důsledky!

[14] (Arthur Dent ) 16.01.2007, 17:04:43 [X] [D]
[13] Chápu. Pro takové tu mám tohle: http://sputnikmusic.cz/music/vanessa/vanessa%20-%20jan%20stihomam.mp3

[15] (Lukáš Havrlant ) 16.01.2007, 18:47:54 [X] [D]
A nebude paranoidní (http://sputnikmusic.cz/music/sputnik%20-%2005%20paranoia.mp3) spíše Artur [11]? Já vím, že nás nemáš rád (http://sputnikmusic.cz/music/sputnik%20-%2008%20vsichni%20jsou%20svine.mp3), ale třeba ten vtípek nakonec pochopí :-)

[16] (Arthur Dent ) 16.01.2007, 18:55:11 [X] [D]
[15] Poctivě jsem přemýšlel, kdo je v tom komentáři "on" a kdo "ty" a jak se to celé má dohromady, ale fakt jsem na to nepřišel. KDO pochopí vtípek, KDO KOHO nemá rád a proč bych měl být já paranoidní (navíc dle komentáře 11)?

[17] (Lukáš Havrlant ) 16.01.2007, 19:08:08 [X] [D]
[16] No neboť v současné době tvůj jedenáctý komentář reaguje na devatenáctý komentář, kde dotyčnému komentátorovi vysvětluješ, že to byl jen vtípek.

Sakra není snad nic blbějšího, než vysvětlovat vtip. Ok, budu příště psát jasněji :-).

[18] (Arthur Dent ) 16.01.2007, 19:45:44 [X] [D]
"A nebude paranoidní spíše Artur?" - to je komentář, kde "On = Arthur".

"Já vím, že nás nemáš rád" - "Ty", tedy asi DGX, kterému odpovídáš na komentář...

"ale třeba ten vtípek nakonec pochopí" - ON? Arthur?

Ne, nepochopil :)))

[19] (Lukáš Havrlant ) 16.01.2007, 20:02:45 [X] [D]
ad [18] Jo takhle :-).

První věta "A nebude paranoidní spíše Artur [11]?" není mířena na nikono, ani na Davida, ani na Artura. Je to takové obecné zvolání.

Druhá věta "Já vím, že nás nemáš rád, ale třeba ten vtípek nakonec pochopí :-)" už je mířena na Artura, tedy na tebe a říká v zásadě dvě věci - v první části, že nás (=komentující) nemáš rád a v druhé, že ten [19] komentující (to je ten ON) třeba nakonec ten tvůj vtípek pochopí, protože - soudě dle tvého [11] komentáře, komentátor číslo popisné [19] nepochopil nějaký tvůj vtípek.

ad [11] Ok, dořešíme po mailu.

[20] (zirafka ) 16.01.2007, 20:18:51 [X] [D]
[19] Tak a ted uz se muzeme zacit smat (-:

[21] (Lukáš Havrlant ) 16.01.2007, 20:22:30 [X] [D]
[20] Výborně! Tady se budu o vtipy pokoušet častěji! :-)

[22] mhm (Roman - Mail - WWW) 16.01.2007, 23:54:30 [X] [D]
[20] A nezmazu nas? *plachy usmev*