jakubův notes – programování je hlavní náplní mého dne

Píšu o:

Její pravá tvář

Probudila se doma ve své posteli. Byl všední den, takže to nebylo zrovna moc milé probuzení. Budík hlasitě řinčel na celý pokoj, bylo kolem půl sedmé. Byl všední den a v jejím věku, šestnácti letech, to znamenalo, že musí jít do školy. Začal její obvyklý ranní rituál, při kterém se připravovala a upravovala a jinak zdobila, aby v podstatě vypadala jako někdo úplně jiný, než kým doopravdy byla. Jí to nevadilo, bylo to vidět všude kolem ní – vždyť všichni lhali, všichni zatajovali svou skutečnou podobu, všichni museli vypadat stejně – kdo se odlišoval, nezapadl mezi ostatní, nebyl členem stáda. Vlastně jí to už přišlo základní součástí jejího života. Nedovedla si představit, že by udělala něco jiného.

Přišla k zrcadlu a tam uviděla tvář, kterou znala jenom ona, tvář, kterou nebylo souzeno znát nikomu jinému. Ani její rodiče, ani kamarádi nejbližší tuto tvář neznali. Hlavně před nimi ji zatajovala. Kdyby ji totiž spatřili, viděli by, že je vlastně někdo úplně jiný, než za koho se vydávala. No nic, pomyslela si. Možná, že si to ani nepomyslela, tento proces byl již jejím každodenním chlebem. Začala na sebe nanášet všechna líčidla, která běžně používala, začala si upravovat své vlasy. Když byla hotova, znovu se podívala do zrcadla. Viděla někoho úplně jiného. Tuhle holku již znali všichni, to byla ta, kterou mohlo spatřit světlo světa. Tu, na kterou v zrcadle hleděla předtím, se tohle vlastně ani nelíbilo. Ale ostatním zjevně ano. Minimálně to bylo podle poslední módy. A co když se tohle vlastně ani nikomu nelíbí? vynořil se přízrak předchozí dívky. Všechen jemný pudr, který dal její pleti úplně jiný odstín, než ve skutečnosti měla, rudá výrazná rtěnka a nevábně páchnoucí sprej na vlasy ovšem té předchozí dívence nedal moc možností, aby se projevila. Vlastně už ani neexistovala. Je velice pravděpodobné, že zítřejší ráno se v zrcadle zase na chvíli zjeví, ale dnes již byla pryč, nebylo snad ani šance, aby se navrátila.

Ze zrcadla se vytratil už i odraz druhé dívky, teď tam byly k vidění akorát kachlíky protější stěny koupelny. Však byl taky čas. Tohle dívce zabralo minimálně půl hodinky. Čtvrt hodiny než se nasnídá a další čtvrthodinu než se dostane do školy. Půl hodiny akorát na to, aby stihla dodělat některé úkoly. A pak hurá, celé dopoledne plné vzdělání, a s ním vlastně i hezký kousek odpoledne. Ani nechápala, proč do té školy chodí. Jen věděla, že tam chodit musí. Hlavní pro ni, pro její kamarádky, rodinu, učitele a snad i všechny lidi, co znala, byly studijní výsledky. A ty měla po dlouhou dobu obstojné – nebylo si na co stěžovat. Nebyla žádným géniem pro žádný z oborů, které byly na gymnáziu, kam chodila, učeny, ale pokud bylo potřeba něco dostat do hlavy, tak si nad tím sedla a do hlavy to taky dostala. I kdyby radši dělala něco jiného.

Uvědomovala si, že být nadprůměrným žákem by, stejně jako být žákem podprůměrným, pro ni nebyl žádný med. Nesnažila se pochopit, co vyučující říká, jí stačilo, když si zapamatovala, nebo alespoň většinu z toho, co vyučující říká. Její kamarádky to tak dělaly všechny, a tak to bylo jediné správné, patentované. Nevyplatilo by se jí vybočovat z průměru. Nikomu se to nevyplatilo.

Po skončení výuky byl hned život radostnější. Obědy ve školní kantýně nepatřily mezi ty nejhorší, takže se jeden i dobře najedl. Ale vlastně kamarádky měly názor jiný. Zaprvé byly tamější obědy jistě plné kalorií, tuků a jiných strašáků, o kterých se každá mladá dívka mohla dočíst v časopisech. Zadruhé byl negativní postoj vůči všemu, co se týkalo školy, populární. Kdo ke škole, či něčemu, co jí bylo blízké (což školní jídelna jistě byla) začal zaujímat jiné stanovisko, byť jen neutrální, hned se na něj všichni začali dívat skrz prsty. Nenechala se tedy svými jazykovými chuťovými měchýřky a čichovým ústrojím ovlivnit a všem vykládala, jak se jí jídlo ve školní jídelně hnusí.

Poté, co dorazila domů, prováděla různé činnosti. Většinou se ale sem tam podívala na televizi, či se začetla do nějakého moderního dívčího románku, kde hlavní hrdinka řešila problémy s tím, jak jsou kluci nemožní a věci podobné, jí a jejím kamarádkám blízké. Při čtení téhle literatury taky občas vykoukla z pod nánosu líčidel a modního prádla také ta dívka, kterou ráno potkávala v zrcadle a vyjádřila se k tomu ve stylu, Je tohle opravdu to, co mě zajímá? Jsou všichni kluci opravdu tak hrozní a nedokáží nás pochopit? Nebo se jen nesnažíme jim umožnit nás pochopit? Proč je tak důležité, jestli si na sebe vezmu tohle, a nebo tohle? Je opravdu potřeba ze sebe dělat někoho, kdo nejsem?

Ale její stesky vyšly naprázdno. Nikdo je neposlouchal, nikdo jí nemohl otázky zodpovědět. Opět zanikla ve prospěch modních otrhaných džínsů, sexy topíku (k vidění v posledním čísle Dívky), snad i výbuchu atomové bomby odolné řasenky od Rimmel a rozečteného románku v brožované vazbě. Okolo páté a šesté odpolední se vraceli rodiče domů, a proto byl ideální čas na to se začít učit. Vždycky za to přišla pochvala a někdy i nějaká peněžitá odměna (velice rychle proměněna v nějaký hezký hadřík), jak se „holka naše hezky zajímá o školu i doma“. Večer se pak nesl ve znamení komunikace s přáteli pomocí velice oblíbených kecálků a prohlížení profilů na portálu lidé.cz.

Spát chodila pozdě večer, kolem jedenácté hodiny. Na rozdíl od některých lidí, pro které byl spánek vysvobozením ze shonu dne, pro ni to byla jen další nutnost – jen věc, kterou vyžadovalo její tělo a bez které by se její mysl obešla. Klidně by celou noc probděla. Když už všichni spali, mohla holka, kterou byla přes den, odejít a znovu se objevit ta dívka ze zrcadla, která ráno byla vždycky zahubena a po zbytek dne dušena pod vrstvami líčidel a modního oblečení. Jedině v noci, nepočítáme-li ten kousek rána, mohla ta jemná milá dívka procitnout k životu a přemýšlet. A že přemýšlela, co to jen šlo – jak by taky ne, když pro sebe měla času tak málo na tomto světě, tělo se totiž nedalo, dívka zavřela oči a ponořila se do krajiny snů.

Další ráno se odehrávalo zase to samé. Další dopoledne, odpoledne i večer jakbysmet. Den po dni ubíhaly jejich dny na tomto světě a nikdo nevěděl o druhé tváři té drsné dívčiny. Všichni objevili jenom tu její jedinou tvář – tvář vymalovanou, každý den ráno opět a znovu tvořenou.

Vídal jsem ji takhle hodně dlouho. Jak by taky ne, když jsme spolu chodili do školy. Nikdy bych nevěřil, že pod tou i tak dost krásnou slupkou se může skrývat něco ještě krásnějšího. Až do jednoho dne. Byla to zrovna jedna z tančeních lekcí, na které jsem chodil. Chodila tam taktéž. Když se mistrův hlas: „Pánové, zadejte se,“ rozezněl sálem, vydal jsem se kupředu k zástupu dívek. Jedny šaty hezčí než druhé, vlasy upravené, jako princezny z pohádek dalo by se říct. Kamenem úrazu byl však výraz v jejich obličejích. Některé dívky se červenaly, jiné klopily oči k zemi, ostatní ledabyle hleděly kupředu a čekaly, kdo si pro ně přijde. Ve všech očích však bylo vidět to stejné, žádné se neodlišovaly, žádné neříkaly „jsem jedinečná“. Můj krok se zpomalil, zaváhal jsem. Kterou si vybrat, když je jedna jako druhá? vyskočilo z hlubin. Krásné jsou všechny. Některé oku líbivější, některé méně, ale všechny splňují požadavky pro to, aby byly k tanci vhodné.

Mé váhání se moc nevyplácelo. Ostatní „sokové“ se zadávali a dívek obývalo. Musel jsem se rozhodnout rychle. Přepadly mne ale myšlenky na význam mého váhání. Proč zpomaluji a rozhoduji, když se není pro co rozhodnout? Další zdržení znamenalo další úbytek dívek k tanci. Už jsem viděl akorát páry, jak se ubírají k pochodu po obvodu tanečního parketu. Prodíral jsem se mezi nimi a už ani nemyslel na to, koho si vybrat, jediné, na co jsem myslel, bylo, abych si hlavně už někoho vybral. A tu se přede mnou objevila.

Tělo dívky, které jsem znal ze školy, ale ta samá dívka v něm nebyla. Jiskra v jejím oku a výraz v obličeji prozrazovaly někoho jiného. Už jsem neváhal. Nebylo také nad čím váhat. Byla jedna z posledních ještě nesebraných dívek a s mou chutí k tanci jsem ji prostě už nemohl nechat, aby byla odvedena někým jiným. Ale hlavně ten výraz v jejím obličeji – byl tak odlišný od výrazů ostatních.

Šaty měla celé bílé, ke kolenům, korzet je držel na jejích pevných ňadrech. Vlasy vyčesané nahoru. Neměla daleko, stejně jako hodně ostatních dívek zde, k tomu, aby mohla být považována za princeznu, s trochou fantazie možná i anděla. Nabídl jsem jí rámě, zeptal se, smím-li prosit, ona přikývla a přidali jsme se do kruhu párů obcházejících parket. Zeptala jsem se, jak se má a co říká na to sychravé počasí venku. Pak jsem to ale nevydržel a vyklopil na ní všechno o tom, co si myslím, jak skrývá svou pravou tvář a že uvnitř vlastně není takovou, jakou se snaží býti před ostatními, že si myslím, že jsem objevil její pravou tvář.

Na chvíli se zamyslela. Někdo přišel na to, jaká doopravdy jsem, pomyslela si. Dívala se nervózně všude kolem – jako by to najednou věděli všichni – a každý zvlášť, včetně mě, se jí kvůli tomu vysmívali. Obrátila se na mne se slovy: „Pleteš se.“

vydáno 10. 12. 2008, 18:36:27

žádný komentář

Zařazeno mezi:

PHP: Escapujeme jmenné prostory

Když jsem se před dvěma dny dozvěděl, co se chystá za pěknou změnu v návrhu jmenných protorů do nové desetinkové verze PHP, do verze 5.3, říkal jsem si, že si vývojáři asi museli poplést měsíce, jelikož již dlouho, co apríl byl, a ještě daleko, než zase bude. Jedná se o jednu takovou pěknou syntaktickou libůstku – a to o oddělovač jmenných prostorů. Doposud bylo oddělovačem dvojdvojteččí (::), kteréžto se v PHP používá pro přístup k statickým třídním vlastnostem a metodám. A v tom je právě ten problém – nastaly nejednoznačnosti při volání funkcí. Jednoduchý příklad:

<?php
namespace foo::bar;
function baz()
{
    echo "function";
}

namespace foo;
class bar
{
    public static function baz()
    {
        echo "method";
    }
}

foo::bar::baz(); // function? method?

Co by se mělo správně vypsat? A je tu vlastně nějaké „správně“?

Když se člověk podívá na takové C++, tak tam se jmenné prostory oddělují pomocí dvojdvojteččí (::) a stejně se přistupuje i k třídním vlastnotem a metodám. Nikde jsem ale neviděl, že by kvůli tomu na C++ někdo nadával, protože ho toto vytrestalo. Proto jsem to zkusil:

#include <iostream>

namespace foo {
    namespace bar {
        void baz(void)
        {
            std::cout << "function" << std::endl;
        }
    }

    class bar {
        public:
            static void baz(void)
            {
                std::cout << "method" << std::endl;
            }
    };
}

int main(void)
{
    foo::bar::baz();
    return 0;
}

A co mi z toho vylezlo? g++ (verze 4.2.1) říká, že prý: Error: symbol `_ZN3foo3bar3bazEv' is already defined. Jelikož jsem chtěl, aby se mi do terminálu vypsal řetězec function, metodě bar::baz() jsem místo přázdného seznamu argumentů dal jeden celočíselný s očekáváním, že g++ najde moji fci baz(void) ve jemnném prostoru foo::bar. Chyba lávky. g++ fci nenašlo a zahlásilo, že ve třídě bar neexistuje metoda baz(void), ale nachází se zde pouze baz(int). U C++ tedy mají jasno – třída definuje svůj vlastní jmenný prostor, který dostává přednost před jmenným prostorem definovaným pomocí namespace (alespoň takto to podle všeho má implementované g++).

Ale v PHP ne. Radši zavedeme nějaký bizarní oddělovač, který se pro tento účel naprosto nehodí (to i ten smajlík, co byl v návrzích (:)), vypadá lépe :o)) – zpětné lomítko je a vždycky bylo v Céčkoidních jazycích znakem pro escapování.

Myslím, že je čas se ještě vážněji než-li do teď zabývat jinými možnostmi programování pro web a jednoduchého skriptování. Python, Ruby? (V případě omezeního se pouze na první přichází v úvahu ještě Java.)

vydáno 27. 10. 2008, 12:27:26

žádný komentář

Zařazeno mezi:

Tak mám Asus EEE 1000H

Bylo, nebylo, rozhodl jsem si, že se přidám k zástupu lidí, co vlastní nějaký ten notebook. Situace na tomto poli počítačů nevypadala (alespoň pro mě) příliš dobře, jelikož já potřebuju něco malého, mobilního, ale přesto s nějakou pořádnou klávesnicí (PDAčko by pro mě nebylo). Pak přišel Asus se svými modely označenými třemi Éčky („Easy to learn, Easy to work, Easy to play“). Nejsem si jistý, jestli to byly první notebooky takovéto velikosti, ale rozhodně byly prvními, o kterých bylo toliko slyšet.

Pohled shora

[ pokračovat ve čtení… ]

vydáno 6. 10. 2008, 18:22:53

žádný komentář

Zařazeno mezi:

„Kompilované“ PHP

Člověk dostává hodně zběsilých nápadů. Nedávno mě zrovna něco takového napadlo. Jak jsem četl Code Generation in Action, honilo se mi hlavou hodně myšlenek o tom, kde by se takové generování dalo v PHP a při tvorbě webu využít. Když jsem si tak probíral model třívrstvé aplikace (model, kontroler, view), tak ve view (na webu je to prakticky rovno HTML šablonám), ani v kontroléru by podle mě nebylo nějaké generování prakticky k ničemu.

Šablony člověk dostane nakódované od kodéra (v mnoha případech to znamená „předat“ si je sám sobě :o)), aplikační logiky bývá poskrovnu a to ona je většinou právě tím, co se aplikace od aplikace liší. Jedinou oblastí, kde by se generování mohlo ujmout, je model a práce s daty. (Sebeujištění se: ano, tady by to opravdu šlo.) Dneska je sice v módě, že nad daty sedí několikero runtimeových vrstev abstrakcí, ale tak jsem si říkal, což takhle „kompilovat“ model přesně na míru databázi?

Řekl bych, že opičení se po Railsovém ORMActiveRecordu – bylo už dost. Moc se mi líbí názory lidí, kteří obhajují tyhle druhy práce s databází tím, že je to odpoutává od toho strašného složitého SQL. Nevím, ale mě vždycky psaní SQL bavilo. Samozřejmě, že většina dotazů jsou jen rutinní výběry. Ale pokud se tyhle dotazy vygenerují rovnou, zbydou na udělání ty „hezčí“, ty, při kterých člověk opravdu něco řeší. A ty podle mě je jednodušší napsat rovnou v čístém SQL než se mořit s nějakými definicemi v objektech (nejlépe ještě přes různé fluent interfaces, ať to stojí za to; nedej bůh, aby člověk jen trochu pomyslel na strašlivé SQL :o)).

Dost řešení každé blbosti v runtimeu, jde se „kompilovat“. Jde se „kompilovat“ do PHP! :o)

Tohle spojení („zkompilovat do PHP“) zní vážně divně :o)

Zatím přemýšlím nad tím, jak nejlépe si s tím pohrát. Určitě by to mělo generovat takové základní dotazy jako výběr podle jednotlivých sloupců v tabulce, ale zároveň tam musí být možnost si napsat dotazy vlastní, které se při „kompilaci“ přechroustají a „napasují“ do interfacu modelu (nějak hezky a šikovně) – interface bych chtěl podobný, jaký je k vidění jinde, ale opravdu by se jednalo jenom o to, aby metody abstrahovaly nad vykonáváním dotazu, ne aby řešily nějaké obštrukce vůbec s jeho generováním.

Bude to sranda :o)

vydáno 15. 9. 2008, 20:42:07

1 komentář (1 nový)

Zařazeno mezi:

Roztomilý PHP deployment

Včera (ano, myslím, že to bylo včera) jsem se rozhodl, že tady na blog přihodím ještě RSS pro komentáře. Bylo to jednoduché, přidat routu do jednoho souboru, upravit model v jiném souboru, přidat další kontrolér a šablonu – celkově pár základních operací nad několika soubory. Na „lokále“ všechno chodí, říkám si: „Super!“ teď to hodím na „ostrý“ server. Teď přišlo avšak na řadu to horší – právě ono „házení“.

[ pokračovat ve čtení… ]

vydáno 6. 9. 2008, 17:00:01

žádný komentář

Zařazeno mezi: