Psal se rok osmadevadesát 5

Psal se rok osmadevadesát a já jsem chodil do třetí nebo do čtvrté třídy základní školy. Byla to tehdy divoká léta a nikdo z nás, malých capartů, jejichž největší výzvou bylo házení oblázků (vlastně to byly mohutné šutry) do otevřených oken paneláků nebo ušlapování výfuků, netušil, jak byla vlastně klidná. Budoucnost za nás plánovali jiní, škola byla jednoduchá a s holkami jsme starosti neměli. Ani radosti, poněvadž jsme si procházeli latentním obdobím.

Onehdá jsem sedával v zadní lavici obklopen dvěma holkami, které obecně platily za nejatraktivnější v širém okolí patra. Nalevo M. a napravo A. Nevím, jak jsem to tehdy dokázal, ale jako k jedinému klukovi se ke mně tehdy aktivně měly — hrály se mnou piškvorky o hodinách, kooperativně se mnou zlobily nebo se se mnou jen tak pošťuchovaly. A. byla brunetka a představovala divoký a drsný typ ženy (rysy měla ne nepodobné Angelině Jolie), zatímco M. byla blondýna jemnější štíhlé postavy (odpovídající například Meg Ryan). Obě byly inteligentní, ale každá po svém, takže spolu občas nevycházely. V té době, jak jsem se již zmiňoval, jsem prožíval latentní období, takže jsem je bral pouze jako kamarádky (i když jsem již tehdy byl nepatrně pyšný na skutečnost, že se kamarádí zrovna se mnou).

Následující prázdniny se roznesla novina, že jak A., tak M. již nebudou dále studovat na naší škole. Zprávu jsem přijal s malou lítostí, která prakticky odešla s dalším ušlápnutým výfukem (žigulíky od nás tehdy hodně trpěly). A. přestupovala na Sportovní gymnázium (což jsem nechápal — „tělák“ jsem nesnášel už tehdy), zatímco M. se stěhovala úplně pryč z města. Ještě někdy šest let zpátky jsem si pamatoval i jméno vesnice, kam se odstěhovala.

Svědkem jejího odjezdu jsem se stal úplně náhodně. Procházel jsem se zrovna s kamarádem kolem místa jejího bydliště (tuto skutečnost nevěda) a ponáhle jsem spatřil plně naložené auto, jak pomalu couvá z parkovacího místa. Obrácena čelem k zadnímu sklu nás z auta smutně pozorovala M. Zastavil jsem se, ona se pousmála a zamávala. To byl poslední okamžik, kdy jsem M. viděl. Zároveň to byl také okamžik, kdy jsem z latentního stádia vystoupil, protože tenkrát mi to bylo opravdu líto. Ušlapování výfuků pro mě od té doby ztratilo své osobité kouzlo.

Od konce latentního období totiž začíná v hodnotícím systému mužů převažovat složka animální nad složkou duševní. V deseti letech malý kluk naprosto nebere na zřetel skutečnost, že před ním stojí ideální sexuální archetyp ženy jeho věku a doby. Jeho zajímá pouze, jestli se k němu hodí jako kamarádka. Právě toto hledisko po latentní fázi vývoje mizí a neobjeví se doby, než se mladík stane mužem, ale to je trochu mimo téma.

A. a M. jsem od té doby už nikdy neviděl. Uplynulo mnoho let a kde se vzal, tu se vzal, Facebook. Jedněmi nenáviděná, druhými (včetně mě) milovaná téměř-instituce, které během několika měsíců podlehly celé čechy (kromě velmi alternativních lidí, kteří jsou pyšní na to, že tak neučinili a nikdy neučiní) a já jsem postupně objevoval všechny své staré kamarády a kamarádky ze základní školy. Ten byl v lapáku, ten jede v tvrdých drogách, ten jezdí rallye, ta je profesionální modelka, ta je prodavačka a tak dále. Zarazila mě především skutečnost, jak moc se někteří změnili a jak vůbec se nezměnili jiní. Některé holky, které onehdá nebyly příliš atraktivní, zkrásněly a některé si svoji dřívější atraktivitu zachovaly. Naopak z některých holek, které kdysi bývaly na vrcholu své slávy se staly naprosto tuctové tváře.

Narazil jsem i na A. Žel Bohu. Patří totiž do poslední jmenované skupiny. A. měla kdysi všechno, po čem holka mohla toužit. Potom ale přišel okamžik (a byl to osud), od kterého šlo všechno z kopce. Nevěřil jsem vlastním očím (oh my God patří k mým nejčastějším výrazům, které pronáším, když bloudím Facebookem). Ztratila krásu a svoji ranou inteligenci nerozvíjela. Holka, o kterou by se kdysi dávno každý kluk porval se změnila v pravý opak toho, co představovala.

Taková změna mě rozhodně netěší. Těší mě ale naprosto stejná změna, která se udála holkám, které tehdy byly na svoji krásu pyšné (což A. ani M. nebyly), které se odmítaly stýkat s běžnou společností a byly sociálně vždy o krok napřed. Takové holky jsou teď prodavačky, některé už jsou vdané (za spolužáky, kteří kdysi patřívali k podobné partě a nyní jsou z nich dělníci), některé mají dokonce dítě. Svůj pád si možná uvědomují a možná ne (viz oblíbená výmluva typu „odlišná životní volba“), i přesto mám radost, protože představují učebnicové příklady jednoho krásného přísloví.

M. už jsem ani nehledal. Určitě Facebook také má, ale já už se raději nebudu pokoušet oživovat minulost. Proč taky, že?

White forest, do you read me? 1

Dohrál jsem Half-Life 2: Episode 2. Právem je HL2 označována za nejlepší hru všech dob.
Antiutopistická, futuristická a zároveň postapokaliptická atmosféra, impozantní, kanonicky podložený příběh, který prožijete doslova na vlastní kůži, a to vše v source enginu? Hravě předčí kdejakou knihu či film (a to jsem zastánce knih). Původní HL2 mi utkvěl v paměti tak hluboce a tak živě, jak to nikdy žádná kniha nedokázala ani v nejmenším.

Half-Life 2 je jedním z mála takovýchto případů. Případů, kdy je hra dílo hodnotnější než kniha nebo film. Případů, kdy je stoprocentně výhodnější prosedět dny u počítače než vyrazit ven a zažít vlastní dobrodružství. Emoce a zážitky, které ve vás takové umělecké dílo nechá, jsou unikátní a nenahraditelné. Už je to spoustu let, co jsem poprvé hrál HL2. Tipoval bych 5. Nevzpomínám si, jaké knihy jsem v té době četl a už vůbec ne na jejich obsah, zato si dokáži živě vybavit, jak jsem se s dokonalým strachem procházel Ravenholmem a v této ponuré a opuštěné vesnici hledal (respektive probojovával si) zcela osamocen cestu ven. A je už úplně jedno, že to byl Gordon Freeman, kdo byl v Ravenholmu (asi naposledy… kdo z vás tam někdy byl, ví proč), protože já jsem jeho příběh prožil, já jsem byl Gordon Freeman.

HL2: EP2

Stejně tak jako čtenář musí umět číst, aby si vychutnal dobrou knihu, opravdový hráč musí umět hrát, aby si vychutnal dobrou hru. Potom už nejde o hraní, ale o prožitek. Jedinečný prožitek. Třeba naše bývalá profesorka českého jazyka si, i kdyby chtěla, nikdy nebude moci vyzkoušet tento moderní druh umění. Přinejmenším ho pochopí a uzná, vyzkoušet a poddat se mu (třeba jako poesii) už ale moci nebude. Důvod je jednoduchý. První headcrab by její osud zpečetil. A možná by to ani nebyl headcrab. Stačil by sráz nebo zeď.

Opravdový hráč skutečně považuje onen akt hry za téměř nepodstatný, stejně jako čtenář považuje za nepodstatné vytrhovat se nad tím, že umí číst extrémně rychle a bez chyb. Bohužel ale na rozdíl od knih, her, která jsou uměleckými díly, je nesmírně málo. Tak málo, že by je uměl spočítat i předškolák na jedné řádce svého počítadla.

Takový hráč je třeba kamarád Kesy. A jsem rád, že je takových lidí víc. Svědčí o tom prodejní bilance.

Na závěr bych možné zájemce odkázal na pár titulů, které za umělecká díla považuji. Na prvním místě samozřejmě sága Half-Life, dále pak třeba výborný Deus-Ex nebo System Shock II. Slyšel jsem plno chvály i na Bioshock, ten jsem však nehrál, takže zatím doporučit nemůzu.

Should I? 0

Should I pray
day by day
for what I’ve lost
because the cost
I cannot pay?

Should I lie
myself that I
cannot die
because I own
of what they
have none?

Should I regret
of moments I let
pass hands
of mine and see them
not hence?

I should, lads,
because that’s
giving me
the very readiness
to be
furthermore.

Logic is foreign for us and I don’t expect comments.

Java – Gaussova Eliminační Metoda 5

Funkční applet: ZDE.

EDIT: Problém s lineárně závislými řádky :-).

Následující kód, který jsem dnes uvařil:-), převádí pomocí GEM matice libovolného typu do horního trojúhelníkového tvaru. Je optimalizovaný i pro mrchy matice, které v sobě skrývají n lineárně závislých řádků nebo dokonce sloupců. Je částečně optimalizovaný i paměťově… během výpočtu efektivně krátí nově vzniklé řádky matice (to je možno vypnout pomocí opt_through).

po předvedení kódu (kde záměrně chybí ona krátící metoda) ho vysvětlím a potom ukážu pár příkladů (přímo ze skript pana Olšáka).

public void GEM(boolean opt_through)     {         int i, j, l;         double c, d, gc;         boolean cad = false;         int m_var_r = 0;         int m_var_s = -1;         if(opt_through)         {             optimize();         }         for(m_var_r = 0; m_var_r < _m - 1; m_var_r++)         {             m_var_s++;             cad = false;             for(l = m_var_r; l < _m; l++)             {                 if((_matrix[m_var_r][m_var_s] != 0))                 {                     break;                 }                 if(l == _m - 1)                 {                     swapRows(m_var_r, _m - 1);                     cad = true;                 }                 swapRows(m_var_r, _m - l);             }             if(cad)             {                 m_var_r--;                 continue;             }             c = _matrix[m_var_r][m_var_s];             for(i = m_var_r; i < _m - 1; i++)             {                 d = _matrix[i + 1][m_var_s];                 for(j = m_var_r; j < _n; j++)                 {                     _matrix[i + 1][j] = (c * _  _matrix[i + 1][j])                             - (_matrix[m_var_r][j] * d);                 }                 if(opt_through)                 {                     gc = gcdv(_matrix[i + 1], _  m_var_r, _n - 1);                     for(j = m_var_r; j < _n && _  gc != 0; j++)                     {                         _matrix[i + 1][j] = _  _matrix[i + 1][j]                                 / Math.abs(gc);                     }                 }             }         }     }

Znáte původní objektovou konvenci Microsoftu? Jestli ano, určitě jste poznali, že je kód vytržený z nějaké třídy, protože soukromé vnitřní proměnné bylo kdysi dohodnuto označovat underscorem v prvním znaku identifikátoru – „private: int _example=0;“

_matrix je tedy ona matice samotná
_m je počet řádků
_n je počet sloupců
m_var_r a m_var_s jsou proměnné, které identifikují aktuální levý horní roh matice

Na začátku se zkrátí řádky (užitečné pro matici náhodných čísel typu 10 10, kterou někdo z legrace vynásobil číslem 678). Nabíhá hlavní loop, který posouvá horní roh, následován několika smyčkami a podmínkami, které kontrolují, zda-li se vyskytuje na aktuální pozici našeho primárního řádku (ten, který se „opisuje“) nula. Pakliže ano, prohodí s posledním a zknotroluje. Takto postupuje vystřídaje všechny řádky a pokud nenalezne žádné nenulové číslo, dekrementuje řádkový čítač (protože se ve foru bežně inkementuje a my chceme zůstat na stejné řádce, abychom se mohli posunout doprava) a pokračuje zpět na hlavičku prvního řádkového foru, potom se inkrementuje sloupcový čítač a opět se kontrolují nuly ve sloupci.

Pokud nalezne nenulové číslo, program přejde do druhé části, kde se aktuální sloupec nuluje (klasicky alfa bé mínus beta á), přičemž každý nově vzniklý řádek zkouší zkrátit (pokud to má zadáno oním boolem v parametrech). No a to je v podstatě všechno. Kód spadne pouze pro pro matice typu (m, 1) nebo (1, n), neboť ty se nedají eliminovat.

Teď koukám, na co jsem zapomněl… zapomněl jsem na proměnnou cad. Cad protože column already done a slouží jako dablbrejk :-).

Je pravděpodobné, že jsou tam zbytečné nebo dále optimalizovatelné kroky, ale vem to čert. Funguje to, a celkem rychle. Matici 100 na 100 s čísly od 0 do 10 zeliminatí za pár vteřin… akorát to zarovnání je potom takové… no… zřete :-)…

/ 7.0 8.0 10.0 2.0 6.0 3.0 9.0 3.0 9.0 1.0 | 5.0 5.0 1.0 10.0 9.0 9.0 5.0 6.0 7.0 0.0 | 9.0 10.0 1.0 6.0 10.0 3.0 9.0 5.0 2.0 8.0 | 5.0 1.0 3.0 2.0 1.0 6.0 1.0 3.0 2.0 3.0 | 5.0 10.0 2.0 9.0 10.0 1.0 3.0 5.0 5.0 2.0 | 8.0 8.0 3.0 8.0 2.0 10.0 1.0 10.0 4.0 9.0 | 9.0 8.0 4.0 8.0 9.0 2.0 0.0 5.0 3.0 3.0 | 9.0 4.0 3.0 3.0 6.0 9.0 2.0 5.0 1.0 3.0 | 1.0 2.0 8.0 10.0 0.0 5.0 6.0 7.0 2.0 5.0 \ 0.0 0.0 1.0 6.0 5.0 7.0 4.0 2.0 8.0 10.0 / 7.0 8.0 10.0 2.0 6.0 3.0 9.0 3.0 9.0 1.0 | 0.0 -5.0 -43.0 60.0 33.0 48.0 -10.0 27.0 4.0 -5.0 | 0.0 0.0 47.0 0.0 -2.0 18.0 10.0 2.0 49.0 -35.0 | 0.0 0.0 0.0 2632.0 1544.0 2601.0 176.0 1229.0 2169.0 ... | 0.0 0.0 0.0 0.0 6312.0 5843.0 18448.0 -625.0 7459.0 ... | 0.0 0.0 0.0 0.0 0.0 -15857.0 -24598.0 -5237.0 -10999... | 0.0 0.0 0.0 0.0 0.0 0.0 22017.0 4380.0 9081.0 -15604... | 0.0 0.0 0.0 0.0 0.0 0.0 0.0 26961.0 8682.0 -98101.0 | 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -10579.0 11283.0 \ 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.0

Nyní ještě slíbené příklady. Oba dva lze najít ve skriptech pana Olšáka. Zde jsou ale rozepsané podrobně tak, jak je můj program počítal:

/ 2.0 -2.0 1.0 0.0 3.0 4.0 | -4.0 4.0 -1.0 1.0 -7.0 -11.0 | 4.0 -4.0 5.0 1.0 7.0 -3.0 \ -6.0 6.0 -4.0 1.0 -12.0 -7.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 2.0 2.0 -2.0 -6.0 | 4.0 -4.0 5.0 1.0 7.0 -3.0 \ -6.0 6.0 -4.0 1.0 -12.0 -7.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 6.0 2.0 2.0 -22.0 \ -6.0 6.0 -4.0 1.0 -12.0 -7.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 3.0 1.0 1.0 -11.0 \ 0.0 0.0 -2.0 2.0 -6.0 10.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 2.0 -4.0 2.0 \ 0.0 0.0 3.0 1.0 1.0 -11.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 1.0 -2.0 1.0 \ 0.0 0.0 0.0 -2.0 4.0 -2.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 1.0 -2.0 1.0 \ 0.0 0.0 0.0 0.0 0.0 0.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 1.0 -2.0 1.0 \ 0.0 0.0 0.0 0.0 0.0 0.0

A ještě jeden.

/ 1.0 2.0 3.0 1.0 1.0 | 2.0 4.0 7.0 7.0 4.0 | 1.0 0.0 2.0 0.0 -2.0 \ 3.0 7.0 10.0 6.0 7.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 0.0 1.0 5.0 2.0 | 1.0 0.0 2.0 0.0 -2.0 \ 3.0 7.0 10.0 6.0 7.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 0.0 1.0 5.0 2.0 | 0.0 -2.0 -1.0 -1.0 -3.0 \ 3.0 7.0 10.0 6.0 7.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 0.0 1.0 5.0 2.0 | 0.0 -2.0 -1.0 -1.0 -3.0 \ 0.0 1.0 1.0 3.0 4.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 1.0 5.0 2.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 1.0 5.0 2.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 0.0 0.0 -3.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 0.0 0.0 -1.0

Velvet revolution, my ass 0

Once upon a time, an evil was replaced by smaller one, which then grew into an even bigger one, than the former one. Throughout the time, there was like thousand similar moments. There’s nothing to celebrate. Nothing at all.

These times, our nation is doomed more than ever before, due to the european union and the lisbon treaty, so I can’t fucking understand, what are youse assholes celebrating. Pissing on our ancestors graves would be more appropriate for this situation.

Knights of mt. Blaník, where are ye…
There’s almost nothing left of Czech Republic, so where the fuck are ye!

ČVUT FEL 2

mě naplňuje.

Včera a dneska jsem se učil na písemku z Úvodu do operačních systémů… a dneska jsem ji dal za plný počet. Předmět, se kterým jsem doposud válčil tak získal svoje kouzlo. Každá věc tak učiní, když si ji podmaním.
A když nás cvičící zasvěcoval do skriptování pod bashem… mobilizoval jsem všechny neurony a hltal zářivá klíčová slova objevující se jedno podruhém v mém JOE. I pochopil jsem, že sem patřím.

Z algoritmizace mám v půlce semestru šestnáct bodů… z deseti potřebných. Nakonci budu mít pravděpodobně bodů teoreticky na dva zápočty :). Baví mě v šest večer si sednout k počítači a sázet kód až do půlnoci, java nejava, a potom spokojeně odejít spát.

Matematika se stala skoro mým koníčkem. Nikdy jsem netušil, že derivování, integrování, vyšetřování nebo aproximace funkcí toho v sobě může skrývat tolik o podstatě světa. A co teprve věci, o kterých ještě nevím… věci, které na mě čekají v dobrovolné matematice 2 a dále.

Lineární algebra je jako klíč, který zapadá do spousty zámků a dokážete s ním jednoduše odemknout mnoho dveří, pod kterými jste se kdysi museli podkopávat. Je to jediný předmět, který mě dokáže vypnout… tj. dostat do stavu, kdy nechápu a mozek odmítá přijímat další informace.

A v pátek na pinčesu vždycky nachvíli na všechno zapomenu a pořádně si zamlátím do toho malého bílého sféromaku.

Je tolik pýchy v kapitulaci… 0

Je tolik pýchy v kapitulaci…
a tolik cti… snad více než ve vítězství.
A ve zklamání tolik vášně… snad více než v úspěchu.
A v rezignovanosti tolik entuziasmu…
V protikladech ekvivalencí…

My jsme pouze vybrali jednu stranu jako dobrou… a druhou jako špatnou.

Hádanka za pintu 10

EDIT: Pinta Guinnessu je připravena k vyzvednutí. Až budu nabízet další, doufám, že se zapojí víc lidí :).

Kdo najde v následujícím obrázku chybu, má u mě zcela závazně pintu tý černý věci. Beru prvního komentátora a pak dle výběru :).

A tady je jedna pro… 0

kamarády, kteří to mají doleva a chybí jim v čechách vhodná strana… něco jako Sinn Féin.

I barely use the handle when opening a door. 0

I use keys instead. I just put the key in the key hole and turn it right or left (this depends on a side, where the lock is). It’s not logical. The handle has it’s purpose. And I ignore it.

I ignore purpose of so many things. I’m so ignorant.

The reason, I’m writing about handles, is that, it’s friday night again. And when it’s friday night, I’m all alone. Not really alone… there’s always my old friend, who makes me write this bullcrap, but… you know… she’s not kinda verbose :). Do you know her? Well, I’ll give a puzzle:

She has a beautiful shape. But no woman wants such shape.
She has a beautiful colour. But no woman wants such one.
She has beautiful taste. But no woman wants to taste like it.
Despite she kisses so bitter, her kisses can disarm my kind so fast.

I want to reach out and touch the flame.

My english teacher admired me, last lesson. She wrote „excellent“ under my translation and claimed me to be one of two people in the whole STM group, who are actually able to construct all kinds of questions without a single mistake. But dude, I really suck at UNIX bash scripting. I got 5,5 of 10 points in the last test and the one we took today is going to be a disaster. I’m a skilled programmer, but this is a real shit. UNIX itselft is one big unworthy shit and it should be banned. All UNIX servers should be replaced by IIS and all UNIX users should be shot, damned. Fuck sake.

I really enjoy Math, queen of the sciences. She’s wonderful.
She can help you understand the world without leaving a single sheet of paper.
And I think Math is a very close relative to the Philosophy.

But it’s still nothing compared to the Irish language.
When I pronounce an Irish word… God, there’s nothing I can compare it to.
Maybe something like pronouncing english word in strict RP :)!!!

Yeah, something like letting uisce beatha surround your toungue, frail your lips, frail your look, frail your mind, frail your heart.

Slán go fóill,
sincerely plastered and sincerely yours,
Michael

« Předchozí stránkaDalší stránka »