Moderní web a potíže se staršími a méně výkonnými počítači

Nedávno jsem zaregistroval kritiku Linuxu, že je pomalý na 15 let starém Pentiu s 128M RAM. Dotyčný tvrdil, že po Linuxu chtěl „jen“ přehrát video z YouTube. V tu chvíli jsem si vzpomněl na svoje nedávné problémy s jedním ne tak starým jednojádrovým Atomem, kde je dost RAM (8G), akorát YouTube tam běží žalostně pomalu.

Zjišťuji, že u starších počítačů jsou největším problémem právě nároky moderních webových aplikací běžících v moderních webových prohlížečích. Místní aplikace pro kancelářskou práci obvykle jedou a skoro veškeré základní programové vybavení se dá rozumně používat. Kromě moderního webu.

Když se podívám na úvodní stránku YouTube, provede můj Firefox celkem 124 (!) HTTP požadavků a přenese cca 7.5MB dat. Asi je v tom i to krátké reklamní video, které se samozřejmě automaticky přehrává. Součástí je celkem 21 externích JavaScriptů, které dají dohromady 2.6 MB kódu (!). JavaScript je ve své podstatě programový kód, který vykonává JavaScriptový engine prohlížeče. Je to interpretovaný kód, tudíž je to samo o sobě pomalé, a množství tohoto kódu používaného na webových stránkách stále stoupá.

Videa, která se dnes přehrávají na YouTube, používají kodeky jako H.264 nebo VP8, které jsou samozřejmě velmi náročné na CPU, pokud nemáte grafiku, na které se to dá dekódovat. Staré systémy se u přehrávání moderního videa prostě nechytnou.

Chápu, že dotyčný vnímá YouTube za něco zcela normálního a běžného, ale když si uvědomíte souvislosti a dojde vám, kolik funkčnosti moderní webové stránky svěřují vašim počítačům, vašim procesorům, vašim grafickým kartám a potažmo vašim peněženkám (v podobě účtů za elektřinu), pak se nemůžete divit, že na velmi starém počítači s mizivým výkonem na dnešní poměry prostě s moderními/náročnými webovými stránkami nemáte sebemenší šanci a Linux s tím nic neudělá, ani kdyby se postavil na hlavu a odstrkoval ušima.

Web se nám prostě za ty roky k nepoznání změnil a je to dle mého soudu právě moderní web, který použitelnost mnoha starších počítačů spolehlivě likviduje.

Btw, pokud chcete prohlížet web na starších počítačích a stačí vám text, můžete zkusit řádkové prohlížeče jako Lynx, Links, W3M, apod., a v případě grafických aplikací můžete zkusit třeba Dillo. Samozřejmě YouTube vám zůstane zapovězený, ale alespoň něco málo zvládnete.

Spamassassin a DKIM na Debianu

Všiml jsem si, že mi Spamassassin hlásí podezřele často u e-mailů T_DKIM_INVALID, tedy neplatný DKIM podpis. Když mi tohle tvrdil i u e-mailu, který měl zcela jistě podpis správný, zbystřil jsem a začal pátrat. Příčinou je chybějící knihovna pro Perl, která z nějakého důvodu není v závislostech Spamassassinu. Stačí ji nainstalovat:

aptitude install libmail-dkim-perl

Je nešťastné, že chybějící Perlovská knihovna způsobí selhání příslušného testu, a tedy i falešné označení e-mailu jako špatně podepsaného. Ale alespoň že problém byl vyřešen.

7 málo používaných technik v Bashi

Docela zajímavý článek s tímto titulkem se nachází na Linuxárii. Další náměty na zefektivnění práce naleznete na CommandlineFu.

Abych jen neopisoval, tedy alespoň ne jen z jednoho zdroje, mám pro vás ještě jeden drobný tip, pokud někdy budete chtít dělat kontrolní součty adresářového stromu. Pak asi záhy zjistíte, že ani v jednadvacátém století nemají nástroje typu sha1sum přepínač -r pro rekurzivní prohledávání adresářového stromu. Musíte si tedy pomoci jinak, tedy třeba takto:

find /some/path -type f -print0 | xargs -0 sha1sum

Autorem tohoto CommandLineFu je James Nylen.

StoryBundle: indie knihy bez DRM za pakatel

Někteří možná znáte Humble Indie Bundle, kde jednou za určitou dobu vyjde balíček několika her pro Windows, Mac i Linux, bez DRM a podobných nesmyslů (leč bohužel stále proprietárních). Abyste je získali, stačí zaplatiti vámi stanovenou libovolnou cenu. Část výtěžku jde na charitu.

StoryBundle je podobný počin, ale nejedná se o balíček her, nýbrž o balíček e-knih. Absence DRM je samozřejmostí a knihy jsou dostupné ve formátech EPUB a MOBI. Vystačíte si s libovolnou čtečkou, včetně té od oné nechvalně známé firmy, která pálí… totiž maže lidem z čteček knihy. Ale to je úplně jiný problém pro úplně jiný příspěvek.

Zpět tedy ke StoryBundle. V tuto chvíli (a ještě následujících 18 dní a 13 hodin) probíhá jejich první akce vůbec, zahrnuje cca 7 titulů, kde 5 z nich můžete získat od 1 USD, přičemž k získání všech 7 musíte zaplatit 7 USD (v současném kurzu asi 150Kč). Knihy jsou (jak správně očekáváte) v anglickém jazyce a co se žánrů týče, jedná se převážně sci-fi/fantasy.

Síťová neutralita: nutná, nikoliv postačující podmínka

Narazil jsem na zprávu o snaze prosadit síťovou neutralitu na poli EU. ISP by si nemohli dovolit zasahovat do vaší komunikace (např. omezováním rychlosti určitých portů nebo typů připojení, atd.) a současně tvrdit, že vám poskytují připojení k Internetu. Současně by také měli poskytovat informace o tom, jak upravují váš provoz, co zaznamenávají, atd.

To by bylo samozřejmě pěkné, ale bohužel to neřeší problém řady vlád, které usilují (mnohdy na základě lobbyingu velkých firem) o cenzuru a kontrolu nad tím, co na Internetu děláte. Sarkozy například nedávno chtěl lidi posílat do vězení za to, že si zobrazí (a možná i přečtou) webovou stránku. Jak něco takového může vyplodit prezident demokratické země asi nikdy nepochopím.

Francie také třeba implementovala zákon, který umožňuje vlastníkům autorských práv odpojit kohokoliv od Internetu prostým zasláním upozornění jeho ISP. Proces obchází soudy, vlastníci autorských práv nemusejí nic dokazovat a i když je možné se odvolat, dá se tím prý dosáhnout pouze zmírnění trestu, ale nikoliv zrušení trestu.

Síťovou neutralitu je třeba aplikovat nejenom ve vztahu k ISP, ale také k vládám a politikům. A nejenom síťovou neutralitu.

Prohlížení webu přes SSH SOCK5 proxy

OpenSSH toho umí poměrně hodně a není proto divu, že se o něm píší i celé knihy. Jednou jeho zajímavou vlastností je možnost vytvořit SOCKS5 proxy, která bude veškerou komunikaci směrovat přes SSH. Máte-li tedy SSH účet na nějakém serveru, kde to administrátor nezakázal, můžete surfovat „přes“ něj. Příkaz pro vytvoření SOCKS5 proxy vypadá takto:

ssh -D 8888 -Nf uzivatel@example.com

Parametr volby -D určuje místní port, kde bude sídlit SOCKS5 proxy. Tento port na localhostu je pak samozřejmě třeba nastavit v prohlížeči.

Vlastosti a výhody tohoto nástroje jsou:

  1. komunikace je šifrována mezi vámi a SSH serverem, váš ISP tedy nebude mít šanci sledovat obsah vaší komunikace
  2. SOCKS5 proxy umí tunelovat nejenom vlastní komunikaci, ale i DNS dotazy (doporučuji se ujistit Wiresharkem, ne všechen software to nutně umí), tudíž, pokud váš prohlížeč neprosakuje, váš ISP by neměl mít šanci zjistit s jakými weby komunikujete sledováním DNS provozu
  3. komunikace samozřejmě není šifrována mezi SSH serverem a cílovým serverem, tudíž správce tohoto serveru a/nebo váš „serverový“ ISP uvidí jak komunikaci, tak DNS dotazy

Mezi důvody, proč tento nástroj použít, může patřit:

  • jste někde připojeni přes nešifrovanou nebo neznámou WiFi
  • nedůvěřujete svému ISP
  • jste připojeni přes cenzurujícího ISP
  • chcete obejít omezení přístupu na nějaký web (některé weby jsou dostupné např. pouze z USA nebo jiné země)
  • chcete extra-bezpečně přistupovat k webu umístěném přímo na daném serveru s SSH
  • atd.

Přirozeně, tento nástroj je možné použít i s jiným softwarem než nutně s prohlížečem, stačí podpora SOCKS5.

Připojení virt-manageru z Arch Linuxu na RHEL 6.2

Tento blogpost je čistě technický a obsahuje řešení jednoho nepříjemného problému. O co jde? Mám stanici s RHEL 6.2 klonem (Scientific Linux), kde je rozběhnutá virtualizace (libvirtd). Na druhé stanici je Arch Linux, kde také běží libvirtd. Oba stroje jsou v lokální síti, tak proč nemít možnost přihlásit se z virt-manageru přes SSH z Arch Linuxu do Scientific Linuxu, a mít šanci ovládat virtualizaci „vzdáleně“? Problém je v tom, že to nejde. Proces dokonce ani neskončí chybou, virt-manager se jen nepřipojí. Google odhalí možný problém při absenci balíčku x11-ssh-askpass, který by měl být na klientovi (Arch Linux) nainstalován, Jenomže ani s ním to nefunguje.

Řešení je přesto velmi jednoduché, i když přijít na něj až tak triviální nebylo (musel jsem zkompilovat jinou verzi virt-manageru, která naštěstí chybu ohlásila a podle ní jsem si správně tipnul). Na stroji s RHEL 6.2 stačí vytvořit následující symbolický odkaz:

ln -s /usr/bin/nc /usr/bin/nc.openbsd

A to je celé.

Jinke Hanlin a vleklá chyba s češtinou v epub

Zklamali mne čeští distributoři těchto čteček e-knih, jelikož o docela podstatném problému, jakým je nezobrazování korektních českých znaků v případě knih ve formátu epub, vědí řádově roky, a doteď ho nebyli schopni vyřešit. Problém spočívá v tom, že software určený k prohlížení epub souborů používá font bez některých českých znaků s diakritikou. Paradoxně, byť čtečky jako takové umožňují změnu fontu, v případě formátu epub to nejde (ten software to neumožňuje).

Nejnovější anglický firmware již umí u epub měnit font, česká varianta firmwaru ale není dostupná (byť byl čas od dubna 2011, kdy firmware vyšel) a anglický firmware nemá (překvapivě) podporu pro český jazyk.

Nouzovým řešením je upravit e-knihu, aby používala jiné fonty. Lze buď postavit fonty mimo epub a z něj se odkazovat na pevné umístění na kartě, nebo fonty „zadrátovat“ do knihy (pak je kniha v této podobě pěkně přenositelná). Obojí představuje nutnost upravit knihu, což není úplně triviální.

Za tímto účelem jsem pro vlastní potřebu vytvořil shellový skript, který fonty natvrdo zadrátuje do e-knihy. Kód není nic moc a nezaručuji, že to bude fungovat u všech e-knih. Stejně nezaručuji, že skript neudělá nějakou neplechu. Pokud jste ochotni se skriptem pracovat na vlastní riziko a s vědomím, že se jedná o nedostatečně otestovaný skript, kde mohou číhat příšerné chyby s možnými fatálními důsledky, můžete si jej stáhnout (5Kb) – v opačném případě nic nestahujte a alespoň pište rozhořčené e-maily českému distributorovi. Skript se používá se takto (vyžaduje to Bash, sed, zip a unzip a další běžné unixové nástroje):

./hanlinize mybook1.epub mybook2.epub

Je to špinavé řešení, ale třeba OpenMagazín to upraví korektně. Místního distributora těchto čteček bych rád pokáral za jeho netečnost. „Pěkné“ je také to, že aktuální český firmware nelze odnikud stáhnout (oficiální odkazy jsou mrtvé), a jelikož firmware nejde před změnou zazálohovat, je třeba případné experimenty s jiným firmwarem zvážit (přijdete o nejnovější verzi českého firmwaru, který tam už nedostanete, dokud se distributor nezmátoří a neupraví odkazy na svém webu). To také považuji za nešťastné. Přitom to jsou schopné a levné čtečky, navíc na Linuxu založené (i když to jsou asi všechny).

Kdybyste potřebovali výsledný epub upravit nebo zkontrolovat, můžete využít vynikající epub editor Sigil.

Zdroje a další informace:

Shell tip: OGG/Vorbis a Jamendo

Doufám, že Jamendo tu nemusím příliš představovat. Řádově desítky tisíc alb pod různými více či méně svobodnými licencemi, převážně Creative Commons, které je možné bezplatně stáhnout a také používat. Oficiálně je na výběr mezi přímým (HTTP) stažením MP3 a stažením torrentů s MP3 a OGG/Vorbis. Kvalita u Vorbisu je vyšší, přesto o něj není příliš velký zájem, což patrně vede k tomu, že OGG/Vorbis není nabízen ke stažení a torrenty s ním nikdo neseeduje.

Po dlouhém hledání jsem konečně objevil způsob, jak se k Vorbisu dostat, a sice přes URL, které může obsloužit wget v skriptu (jediným parametrem je číslo alba):

#! /bin/bash
wget -c http://www.jamendo.com/get/album/id/album/archiverestricted/redirect/$1/?are=ogg3