kocour's posterousiPad po 2 letech
Po 2 letech pouzivani iPadu jsem si konecne ujasnil k cemu je to vlastne dobry...
- usetrim za elektriku: kdyz nepotrebuju pracovat, tak mi nebezi pocitac...takovy ten domaci networking se zvladne pohodlne na tabletu
- neboli me zada: jelikoz nedrepim do 2 do rana v pracovne za stolem
- vic toho naspim: to primo souvisi s predchozim bodem, protoze uz nevysedavam za kompem ale provadim konzumaci obsahu v posteli, tak obycejne vytuhnu uz kolem 11 coz se pozitivne projevuje na prumerne delce spanku
- min hraju a vic ctu: s tabletem se ani nic moc jineho delat neda, ale uznavam ze par peknych her tam je (za vsechny treba Machinarium a Kingdom Rush)
- ctu min knizky a vic zpravy: aha to neni moc pozitivni... ale to fakt nekoho bavi cist vic na tabletu/kindlu/libovolne_ctecce nez opravdickou knizku... to moc nechapu
- utracim na appstore za blbosti: casto mi pak k nicemu nejsou, ale co, zase moc nechodim do hospy a appky jsou levny, tak se to vyrovna
- zblbnul me a rodinu dotykovym ovladanim: moje temer 2leta dcera mi neustale hrabe na ikonky na monitoru kdyz spolu "pracujem", pripadne beha upatlat televizi na ktere sviti ikonky media centra...vrchol je kdyz nastavuju neco Mamce na nedotykove Nokii a rozciluju se proc to nescroluje
byl jsem ponekud prekvapen kdyz nam pred chvili vedle plotu pristal vrtulnikDalší kapka do poháru PHPDnešní 2 hodiny hledání chyby v mém kódu vyústili ve zjištění, že knihovna php_mssql neumí korektně pracovat s datovými typy nvarchar a ntext, přičemž některé znaky vrátí dobře, jiné v tichosti zkonvertuje na ASCII bez jakékoliv notifikace (kdyby aspoň notice, ale ono ne, prostě nic). Doporučení v dokumentaci na php.net: "používejte raději varchar respektive text" je obzvláště zábavné v situaci, kdy se připojujete na cizí databázi a potřebujete z ní jen číst data - to mám jako volat výrobci daného sw a přesvědčit ho aby kvůli mě změnil strukturu databáze ? Nakonec vyřešeno onthefly konverzí do varbinary ještě v databázi a následným dekodováním. V těchto případech mám vždycky tendence googlovat věci jako "getting started ruby" a podobně ;-( HTML5 je fajn, ale má i své stinné stránkyV dnešní době je moderní plivat na Flash, technologie okolo něj a naopak do nebes vyzdvihovat HTML5 (mimochodem stále ve fázi ranné bety, někde jsem dokonce četl ze s finální verzí se počítá kolem roku 2025 nebo nějaký podobný celkem ujetý letopočet). Moc mu taky fandím, určitě to bude krok dopředu, ale na druhou stranu je potřeba si sundat růžové brýle a uznat, že jsou prostě úlohy na které se tak úplně nehodí. Typickým příkladem je z mého pohledu třeba streaming, ať už audio nebo video. Kromě neexistence ekvivalentu pro Flash Media Server (FMS), proti kterému by jako protějšek mohl fungovat HTML5 nebo Javascript klient. To tu ale teď nechci rozebírat. Nezanedbatelným problémem ale může být přílišná otevřenost celé platformy postavené na HTML5. Ukážu to třeba na známé streaming službě Grooveshark, která relativně nedávno přešla z Flash + FMS na HTML5 + HTTP progressive download. V čem je tedy z hlediska provozovatele problem ? Kombinace Flash + FMS nabízí relativní bezpečí v podobě uzavřené platformy (samozřejmě všechno jde když se chce, ale není to triviální). Komunikaci mezi klientem a serverem nemáte tak úplně na talíři a nemůžete si celkem jednoduše udělat svého klienta, který bude dělat to co vy potřebujete, tedy ne přehrávat stream, ale prostě ho ukládat na disk. Naproti tomu HTML5 je tak otevřené, že naprosto není problém komunikaci vysledovat a podle toho se zařídit. Vzledem k tomu, že klientská část je navíc typicky napsana v Javascriptu, máte navíc i dispozici rovnou zdrojové kódy originálního klienta. Nevěříte ? Tak se pojdte podívat na ten zmíněný Grooveshark... 1) zapneme Firebug a do vyhledávacího políčka napíšeme co nás zajímá, v mém případě Prodigy - Climbatize 2) veškerá komunikace probíhá v plain textu jako výměna JSON objektů, takže to už dál nebudu uvádět... na http://listen.grooveshark.com/more.php?getSearchResultsEx se pošle query, je tam nějaká omáčka okolo, kterou nebudu rozebírat, z obsahu POSTu je to celkem zřejmé, důležitý je hlavně parametr "query", který obsahuje náš hledaný výraz "prodigy" 3) vrátí se nám výsledek, v kterém nás zajímají 2 věci, zda je náš hledaný song v databázi a když ano, jaké je jeho SongID 4) takže SongID bysme měli a dál nás bude zajímat tzv. FileToken, ten získáme na adrese http://listen.grooveshark.com/more.php?getTokenForSong, kam jako parametr předáme naše SongID, které jsme získali v předchozím kroku 5) jako odpověd se nám vrátí FileToken, který společně se SongID použijeme pro získání dalšího parametru a sice streamKey o který nám celou dobu jde... začíná se to trochu komplikovat, ale nebojte teďka už to bude rychlé, jsme v půlce... 6) takze zavoláme adresu http://cowbell.grooveshark.com/more.php?getStreamKeyFromSongIDEx kam předáme SongID a token, ten nejřív musíme přepočítat, což nebudu rozebírat, postup přepočtu se dá najít v dokumentaci, a nebo nejjednodušší je prostě použít příslušné GS API, které je součástí JS knihovny, která se natahuje do stránky 7) výsledek, ale stojí za to, protože v něm už máme všechno co potřebujeme pro to, abysme složili URL streamu, tedy ip a streamKey 8) už to skoro je, takže ted zavoláme http://XXX.grooveshark.com/stream.php, kde XXX hodnota ip, kterou jsme před chvílí získali a jako parametr předáme streamKey 9) jako response se nám už ted vrací rovnou audio/mpeg data, která stačí uložit na disk 10) no a odměna je sladká.... úplně normální mp3 ve slušném bitrate 192kbit/s a vetšinou dokonce i otagovaná ;-)
Veselé že ? Hlavně pro provozovatele.... Abych to tedy shrnul, přestože se tváříte jako streaming služba a máte tak i zřejmě postavené smlouvy s labely, tak si od vás kdokoliv může nejen streamovat ale i prostě cokoliv stáhnout. Myslím že stačí už jen dodat, že pokud máte dost kvalitního obsahu jako třeba Grooveshark, tak "alternativní" klienti, jsou už samozřejmost, např. tenhle SciLor's grooveshark(tm).com Downloader zařídí vše potřebné za vás v podobě jednoduché, ale pohodlné win32 aplikace. Tak co, pořád je Flash jen zlo? ;-) |
|