So this is Christmas…

29. 12. 2005

Máte rádi Vánoce? Já už ani moc ne… Když jsme byl malej kluk, to bylo něco jiného. Dopoledne nás táta vzal na procházku, máma zatím uklidila celý byt a nazdobila vánoční stromek. Trochu utrpení byl oběd na štědrý den, zejména od dob co se u nás dělal kuba. Po večeři nás pak čekal nazdobený a rozsvícený vánoční stromek a kupa dárků… no paráda :-) Ale teď?

    * vánoce začínají už někdy na přelomu září a října - aspoň v nákupních centrech
    * v říjnu začne vaše manželka řešit co komu koupíte
    * v rádiu začínají hrát vánoční songy
    * na konci října začíná být nákup v supermarketu daleko větší utrpení než během roku
    * v listopadu už mluví o vánocích absolutně všichni
    * v rádiu se nic jiného než vánoční cajdáky nehraje
    * na začátku prosince už musíte na vánoční nákupy i vy
    * všichni se vás ptají jestli máte nakoupené vánoční dárky
    * vánoční songy vystřídaly koledy
    * týden před vánoci vrcholí celostátní šílenství
    * díky adventnímu věnci málem vyhoříte
    * vaše žena si začne prospěvovat koledy
    * Santa Claus a Ježíšek se dohadují kdo z nich že to vlastně má roznášet dárky
    * za dárky utratíte zhruba stejně jako pak dostanete (pokud nemáte děti)
    * 1/2 dárků předem znáte, druhá vás mírně řečeno nenadchne
    * dostáváte infantilní vánoční SMSky a emaily
    * zkolabuje mobilní síť
    * začnete si zpívat koledy


      Vítězný únor 2006

      26. 11. 2005

      Dne 25. února 2006 předstupuje ústřední tajemník České strany sociálně demokratické Jiří Paroubek před novináře s prohlášením: „Právě jsem se vrátl z hradu. Pan prezident všechny mé návrhy přijal!“

      Nic vám to nepřipomíná? A co třeba zestátnění nemocnic? Pořád nic? A kdy jste naposled byli na státem organizované demonstraci? Na prvního máje 1989 a nebo 26.11.2005? Pokud už se vám rozsvítilo, tak pokračujte ve čtení. Pokud ne, doporučuju si včas zařídit dělnický původ.


      Třicítka na kanárech

      3. 10. 2005


      Já vám málem zapomněl napsat, že jsem v září oslavil třicáté narozeniny… Teda ona to nebyla oslava, spíše tryzna, ale za to na naprosto úžasném místě: na ostrově Fuerteventura.

      Skoro by ze z toho dalo udělat přísloví - něco jako: Tak dlouho se kupují letenky do Řecka, až se letí na kanáry. Původně jsme totiž chtěli na Krétu a nebo Rhodos, ale než jsme se rozhoupali, vyprodali se poslední letenky.

      Nicméňe stálo to za to, mrkěte na fotky.


      Paroubku, už táhni…

      3. 10. 2005

      …a buď od té dobroty a všechny rudý prasata vezmi s sebou.

      To je asi tak všechno co bych chtěl říct k novele zákona o zvýšení televizních a rozhlasových poplatků a podobným socialistickým zhovadilostem.


      Znáte tenhle?

      18. 8. 2005

      Vlk, Liška a Medvěd hrajou karty, Medvěd rozdává a říká: jestli zase bude někdo podvádět, tak dostane přes tu svou zrzavou držku!


      Moje nová hračka: Panasonic DMC-FZ20

      7. 7. 2005

      Po dlouhé nemoci nás opustila naše drahá Minolta S414 a byl čas vybrat něco lepšího. Teda ona nás neopustila navždy - předpokládám, že v servisu jí vdechnou nový život, ale byla to ideální záminka a příležitost jak přesvědčit manželku, že potřebujeme nový digitál.

      Do prodejny už jsem šel najisto, tak jako vždycky jsem si potřebné ifnormace našel na internetu: pročíal jsem recenze, diskuzní fóra, viděl milióny zkušebních fotek.

      Už předem jsem byl rozhodnutý, že chci ultrazoom. Všude se samozřejmě dozvíte, že pokud to myslíte s fotografováním vážně, jediná správná volba je zrcadlovka. Jenže to má jeden háček: pokud bych chtěl zrcadlovku, dám za ní o něco málo víc než za ultrazoom - v tom by problém nebyl. Problém je v tom, že v této základní sestavě neumí vůbec nic. Obsahuje jenom základní objektiv a kdybych chtěl takový, jako mají ultazoomy a nedej bože navíc se stabilizací, nedoplatím se.

      Mám jednu dobrou radu: pokud budete vybírat fotoaparát, a zejména některý z dnes populárních ultrazoomů (Panasonic FZ5 a FZ20, Minolta Z5, Canon PowerShot S2 nebo Sony H1), hlavně nepročítejte různá fóra a diskuze, jako jsem to udělal já. Nikde totiž nenajdete tak velké množství protichůdných argumentů: v jednom fóru se dozvíte, že foťák X je „šumák“, blbě fotí a blbě se drží, zatímco Y má jenom jednu drobnou chybičku, zatímco na druhém zjistíte, že ta chybička je docela podstatná a díky ní je Y nepoužitelný zmetek.

      Nakonec zjistíte, že je úplně jedno co si koupíte, stejně váš fotoaparát hned druhý den stahnou z prodeje a začne se prodávat nový, lepší a levnější :-).

      Na závěr ještě odkaz: recenze Panasonic DMC-FZ20.


      Jak do smart přidat kanál?

      11. 4. 2005

      Smart je nový správce instalačních balíčků, který o sobě tvrdí, že je lepší než všechny ostatní (apt,yum,urpmi,…) a asi na tom něco bude. Poradí si jak s deb, tak i rpm balíčky (to samozřejmě neznamená, že je možné deb balíčky instalovat třeba na RedHat). Zároveň jako své kanály umožnuje používat repository pro apt, yum a další. Po instalaci do mého systému obsahoval několik předdefinovaných kanálů (víc než jsem kdy měl v apt:-), ze kterých si stáhl seznam aktuálních balíčků. Není ale problém (jak pro koho :-) přidat si kanál vlastní.

      Je to velice jendoduché, ukážeme si to například na kanále pro server JPackage.org. Stačí vytvořit soubor jpackage.channel a ten umístit do adresáře /etc/smart/channels. Soubor bude mít následující obsah:

      [jpackage]
      name = JPackage.org
      baseurl = http://mirrors.sunsite.dk/jpackage/1.6/fedora-3/free
      type = rpm-md
      priority = 0

      Tímto jsme do smartu přidali kanál (yum repository) jpackage. Pak stačí smart spustit, buď grafickou verzi a nebo textovou:

      $ smart update
      New channel 'Java packages from JPackage.org for Fedora Core 3 (i386) (jpackage)' detected. Include it? (Y/n):

      Fedora Core 3 a Java

      10. 4. 2005

      Protože to vypadá, ze budu okolnostmi donucen naučit se Javu, rozhodl jsem si nainstalovat na svůj notebook, kde mám distribuci Fedora Core 3. Protože postup nebyl zrovna jednoduchý a výsledek je takřka dokonalý, vznikl tento příspěvek ;-).

      Na notebooku jsem samozřejmě Javu už měl, jednak kvůli OpenOfice, které používám pro čtení DOC a XLS souborů, tak také kvůli webu (proč dělat věci - třeba menu na webových stránkách - jednoduše, když to jde v Javě, že? ;-). Jenže jak se ukázalo, Java stažená přímo ze stránek Sunu si moc nerozumí s balíčky na JPackage.org, které jsem chtěl použít (velice nerad instaluji něco, co není v rpm). Na JPackage.org Java v rpm není, zřejmě kvůli licenci. Je tam sice nějaký balíček zajišťující kompabilitu, ale tam mi nějak nefungoval - balíčky sice šly nainstalovat, ale pokusy o spuštění aplikací (jedit, eclipse) byly marné.

      Naštěstí ale není problém si vytvořit vlastní rpm balíčky s Javou. Na serveru JPackage.org jsou pro tyto pokusy vytvořené nosrc.rpm soubory, pomocí kterých lze vytvořit binární rpm balíčky ze souborů stažených ze stránek Sunu.

      Začneme instalací klíče JPackage.org:

      wget http://jpackage.org/jpackage.asc
      rpm --import jpackage.asc

      Stáhneme rpm soubory z JPackage.org (pozor na čísla verzí, zřejmě se budou měnit):

      wget http://mirrors.sunsite.dk/jpackage/1.6/generic/non-free/SRPMS/jta-1.0.1-0.b.4jpp.nosrc.rpm
      wget http://mirrors.sunsite.dk/jpackage/1.6/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.02-1jpp.nosrc.rpm

      Oba balíčky nainstalujeme do systému. Tím získáme v adresáři /usr/src/redhat/SPECS soubory java-1.5.0-sun.spec a jta.spec, které slouží k přípravě rpm balíčků. Pak ještě musíme mít soubory s Javou, ty stáhneme přímo ze stránek Sunu: jta a Java. Potřebujeme soubory jta-1_0_1B-classes.zip, jta-1_0_1B-doc.zip a jdk-1_5_0_02-linux-i586.bin. Soubory uložíme do adresáře /usr/src/redhat/SOURCES. Pak v adresáři SPECS spustíme příkazy pro vytvoření rpm souborů:

      rpmbuild -ba java-1.5.0-sun.spec

      Získáme tak 8 rpm souborů s Javou, které nainstalujeme (možná budete muset doinstalovat balíček unixODBC-devel). Pak to samé provedeme s jta:

      rpmbuild -ba jta.spec

      Nainstalujeme a máme hotovo. Potom stačí přidat JPackage.org do vašeho oblíbeného správce balíčků a můžeme testovat:

      smart install jedit eclipse-gtk2

      Logika a PHP

      23. 3. 2005

      Pohádka o tom, jak jsou užitečné datové typy a proč není dobré konvertovat string na bool.

      PHP je jedním z jazyků, který kašle na datové typy. Tedy ono na ně nekašle úplně, hluboko ve svých útrobách si dělá poznámky, jestli v proměnné je číslo, objekt nebo pole - dovolí vám ale s proměnnou zacházet jak chcete. Takže proměnné, která obsahuje řetězec, můžete příště přiřadit číslo nebo objekt a můžete ji vesele porovnat s jinou proměnnou, která obsahuje třeba pole. Pokud porovnáváte dvě proměnné různého typu, PHP provede automatickou konverzi, tak aby se daly porovnat. Je to trochu složitější, ale v mém případě se porovnával boolean a string. Tam je to jednoduché (relativně) - neprázdný řetězec je True, prázdný False (až na jednu výjimku, ale o tom až za chvilku). Kód používá databázi PostgreSQL, která má také datový typ boolean, ale hodnoty získané z databáze nejsou True/False, ale řetězce ‘t’ a ‘f’. Ten, kdo to takhle napsal, by potřeboval nakopat do … však vy víte kam. Těm bystřejším už asi došlo, že nejsnažší cesta jak se dostat do nervového sanatoria je na tohle zapomenout a porovnávat logické hodnoty z PHP a z databáze. Takže samozřejmě platí, že True == ‘t’. Bohužel také platí, že True == ‘f’, protože jak jsem psal výše, neprázdný string se vyhodnocuje jako True. Takhle blbá chyba mě stála 4 hodiny života… No a to nejlepší na tom je, že převod stringů na bool má jednu výjimku: string ‘0′ se převádí na False (pozor: ‘00′ už je opět True!!). Co vedlo autory k zanesení takového bordelu do PHP opravdu nevím.


      Dobrodružství ve vlaku

      11. 3. 2005

      Když jsem si četl o benetovo marném boji s železnicí, ani mě nenapadlo, že velice brzo budu mít možnost vyzkoušet si po dlouhé době jízdu vlakem na vlastní kůži. Musím vše potvrdit: má naprostou pravdu.

      Co ovšem zatím netuší je to, že snad největší výzva (mezi managery známá jako „challenge“ ;-) je pracovat ve vlaku na notebooku. Podobně jako kniha i notebook poslušně plní, co mu fyzikální zákony velí… Ovšem je to zařízení mnohem komplexnější a všestranější, takže dokáže připravit daleko více zajímavých okamžiků. Displej notebooku se chová jako kniha — o tom nemá cenu se více rozepisovat. Daleko zákeřnějším zařízením se ukázala být klávesnice. S tím, že vám displej během čtení o pár centimetrů uhne se rychle sžijete, ale to, že mačkáte jinou klávesu, než byl váš původní úmysl, je daleko větší problém. O to více, že notebook zákeřně čeká na ten nejnevhodnější okamžik, například máte-li na obrazovce text typu: „Uložit soubor? (Ano/Ne)“ nebo ještě lépe o něco depresivnější: „Jste si jist?“. K dokonalosti to vše ale dovádí touchpad. Neskutečně zákeřné a pomstychtivé zařízení, svévolně měnící vaše povely, občas reagující na pouhý letmý dotek a občas ignorující téměř úder pěstí. Když navíc máte v sobě 4 piva a mozek je na plný výkon zaměstnaný snahou udržet oči otevřené a svěrač zavřený (ano, v mém věku už jsou 4 piva někde na hranici mezi člověkem a čuňátkem) a ani náhodou tak nestíhá predikovat a vyrovnávat zákeřné pohyby notebooku, je dokonalý výsledek zaručen. Ráno zjistíte, že vaše snaha dopsat pár řádek kódu, které vás napadly během cesty do restaurace, byla mírně řečeno marná. Jednak z kódu ani náhodou není patrné, co že to bylo za myšlenku a ještě ke všemu ani okolní řádky kódu už nejsou co bývaly. Samozřejmě, jet z Prahy do Plzně vlakem je buď pro fandu Českých drah, hazardéra a nebo zoufalce. Krom toho, že vlak jede déle než autobus a místo usměvavé stewardky roznášející zdarma noviny nebo čaj potkáte maximálně protivného průvodčího, je také téměř dvakrát dražší. Jenže zkuste v deset večer v Praze sehnat autobus do Plzně. Snad jedinou výhodou vlaku zůstává to, že jsem měl celý vagón pro sebe (do Plzně nás dorazilo celých jedenáct) — což ovšem vysvětluje tu cenu….