webrebel zaklady programovania a oop objektovo orientované programovanie

Strčte si tie definície do... počítača

napísal , 13 May 2011

Keď sa mám niečo v škole naučiť, potrebujem vedieť:

1. na čo je to dobré
2. ako sa to robí
3. prečo by ma to malo zaujímať (big picture)

Prečo sa to robí tak ako sa to robí, prečo sa to nerobí inak a ako by som to zapísal v matematických klikihákoch - teda všetky dôkazy, vety a definície - sú druhoradé. Druhoradé pre tých, ktorým imponuje teoretická matematika. Ostatní to majú prudko u prdele, prípadne ich to spoľahlivo odradí od celej problematiky.

Matematika je ideálny príklad. Prečo sa jej ľudia boja? Prečo im nejde? Sú blbí? Nie, len nevidia dôvod, prečo mali lúštiť tie "hieroglyfy". Prečo by sa mali učiť novú reč, keď už minimálne jednu - funkčnú a na tento problém plne postačujúcu - majú?

Ak sa mám naučiť postup riešenia problému, nájdem si človeka čo tomu rozumie a vie mi to pekne vysvetliť. Slovenčinou. Angličtinou. Čímkoľvek, zoberiem aj Esperanto, len nech je to ľudská reč! Lúštenie definícií je posledná možnosť a dosť možno sa na celý problém vykašlem predtým, ako sa k tomu uchýlim. Tak dôležité a užitočné to zväčša aj tak nebude.

Normálnou rečou písané knihy na školách samozrejme nikdy neuvidím. To by múdri ľudia predsa nedovolili. Dôvod? Znelo by to "ako pre debilov"? Nuž, možno práve to sme... a? Neznelo by to odborne? Uhm, čo je dôležité, či to znie múdro alebo či ma to niečo naučí? Ale tak hovoríme o školách, tu bola forma vždy dôležitejšia ako obsah... Je to "pod úroveň"? A čo je úroveň? Keď je niekto sprdnutý učiteľom za to, že na hodine nedokázal dokázať nejaký abstraktný matematický koncept? Keď ani nevie, na čo to vlastne celé je?

Školy musia pochopiť, že tieto ultra presné definície a postupy sú vhodné pre roboty a počítače*. A pre hŕstku ľudí, ktorým tento spôsob prirodzene vyhovuje a pomáha. Ale podľa toho čo som zatiaľ videl sú títo v ťažkej menšine. Menšina, ktorá na školách líže smotanu kým my ostatní sa snažíme držať tempo a krok. Prípadne nesnažíme.

Niečo tu nesedí.


* samozrejme keď som prudký borec a potrebujem na vedomostiach stavať a šíriť poznatky s kolegami, sú definície a matematické zápisy super vec - vtedy totiž potrebujem mať všetko definované presne a ideálne v čo najkratšej možnej forme. Ale pre boha živého nie keď som obyčajný človek čo sa snaží naučiť "ako na to".

Rozuzlenie záhady CSS (s cicíkmi™)

napísal , 25 Apr 2011

Ako keby nestačilo, že žiadny browser sa nespráva celkom podľa (chaoticky prekomplikovanej) špecifikácie CSSka, občas máte tú česť naraziť na divné správanie, ktoré zámerne vytvorili jeho autori. Dnešný príklad -keď dáte obrázok do vnútra div elementu, na spodku sa vytvorí medzera. Prečo sa to deje a prečo by mi to malo vôbec vadiť?

Strihal som CSSko s dizajnom, kde má byť pod obrázkom aktuálne veľmi obľúbené "zloženie" za pozadie (ako vidíte na obrázočku vľavo hore). Tak si hovorím, že šak pohoda, spravím div s paddingom na spodku, v ktorom bude ako pozadie ten šedý cicík™ a posuniem celý div doľava. V tomto div-e by potom mohol byť hocijaký obrázok a bol by pekne ocicíkovaný.

.obrazok_s_cicikom {
	float: left;
	padding-bottom: 5px;
	margin-bottom: 8px;
	position: relative;
	left: -6px;
	background: transparent url('cicik.png') 0% 100% no-repeat;
}

No a tu prichádza zrada, cicík je posunutý o 3 pixely nižšie! Pôvodne som myslel, že to je nejaký bug browseru, ale ukázalo sa, že sa rovnako správa vo Firefoxe, Chrome, Opere a dokonca aj IE. Obrázok mal veľkosť 83, div 86. Tak skúšam vypínať bordery, paddingy, marginy, aj keď viem, že tam aj tak nie sú. Zo zúfalosti nahodím celý CSS reset a stále nič.

Po chvíli hľadania som sa dopátral k zaujímavému zisteniu. Obrázok natiahne div preto, že je braný ako inline element, ktorý sa snaží byť zarovno základnej čiary textu (baseline). Text je ale beťár a niektoré znaky má pod touto čiarou (malé "p", "q", "g", ...), takže div sa pre istotu roztiahne.

Divné. Obrázok síce nie je zrovna text, ale v podstate to dáva zmysel.

Čo sa s tým dá teda robiť? Buď spraviť z obrázku "nie-text" (.obrazok_s_cicikom img { display: block; }) alebo, ešte lepšie, nastaviť ho na najspodnejšiu úroveň textu (.obrazok_s_cicikom img { vertical-align: bottom; }).

Tak, tam máš záhada, práve si bola objasnená! Nabudúce si povieme niečo o ešte väčšej a častejšej záhade, o margin collapsingu.

Jak to vlastne natáčam?

napísal , 16 Apr 2011

Pozor, toto je už 6 rokov staré, veci neplatia.
Spravím nový článok alebo kurz o robení kurzov.


V súvislosti s mojimi Nauč sa jQuery a Nauč sa CodeIgniter videami často dostávam otázku: "Jak to vlastne natáčaš?"

my setup

1. notebook: tu sa deje všetka sranda. Tu nahrávam, píšem kód, ukazujem výsledky v prehliadači.. Vidíte, že otvorené okno nie je maximalizované. Snímam totiž len tú časť obrazovky, kde sa niečo deje. Ostatné nikoho nezaujíma, plus takto ušetrím pár pixelov :)

2. druhý monitor: tu mám poznámky a prípravu. Počas prípravy samotnej veci, ktorú budem v tutoriály vytvárať, si zapisujem postup a myšlienky, ktorým sa chcem venovať. Aby som vedel o čom chcem kecať a v akej postupnosti. Občas tam mám odrážky, občas celé vety, občas kusy kódu.

3. mikrofón: do tohto kecám. Logitech USB Desktop Microphone. Nie je to žiadna sláva, ale rozhodne lepšie ako ten notebookový. Kľudne sa mi ale môžte poskladať na nejakú mašinu a dať mi to na Vianoce alebo niečo. Nebudem proti :) Výhoda je, že ho stačí pripojiť cez USB a šlape. Žiaden driver, nič. A potom už len 1 veľký svietiaci button - keď svieti nahráva, keď nesvieti je ticho.

4. podložka pod myš :) za normálnych okolností ju nepoužívam, ale behať myšou po stole robí slušný rámus. Kto pozeral prvé videá vie o čom hovorím :)

Camtasia Studio 7
Software balík obsahujúci všetko, čo treba k nahrávaniu videotutoriálov. Nahrávanie, strihanie, export do rôznych formátov. Vie nahrať dianie na obrazovke, tvoj škaredý ksicht cez webkameru a tvoj neznesiteľný hlas cez mikrofón. (<- robím si srandu, ale tie veci to fakt vie:) ) Znie to ako zlá reklama, ale toto používam :)

Nahrávam v 1280x720, čo je klasické 720p HD rozlíšenie a tiež veľkosť okna, ktoré snímam. Na export používam Youtube HD preset, ktorý si nepamätám, či tam bol od začiatku alebo som ho vytvoril sám. Každopádne, stiahnite si ho tu :)

Ok, už vieš čím, ešte by sa zišlo vedieť ako. Good news everyone! Prečítaj si môj návod Ako spraviť dobrý videotutoriál :)

Ktorá hudba je objektívne najlepšia?

napísal , 12 Apr 2011

last.fm štatistiky

Dosť blbo sa odpovedá na túto otázku.. ale zrovna včera som si všimol na last.fm jednu zaujímavú vec a napadlo mi spraviť menší experiment.

Tou vecou bolo, že pomer ľudí počúvajúcich interpreta a celkový počet prehratí jeho skladieb býva veľmi rôzny. Tento pomer je vlastne ukazovateľom "oddanosti" fanúšikov, resp. koľko pesničiek od interpreta si v priemere jeden človek pustí. A to už zaváňa miernou objektivitou, proste najlepšie je to, čo si človek musí furt púšťať. :)

"Oddanosť" však nie je na last.fm priamo dostupná, tak som zbúchal PHPčkový skript, ktorý posťahoval údaje o 1000 najpopulárnejších interpretoch, no a výsledné štatistiky sú vcelku zaujímavé. Bez chodenia okolo horúcej kaše (to príde až za chvíľu), tu je prehľad prvých 20 interpretov zoradený podľa priemerného počtu vypočutých skladieb:

# Interpret Vypočutí na osobu Počet prehratí Počet poslucháčov Žáner
1 O.S.T.R. 185.29 29 824 022 160 960 hip-hop
2 The Beatles 124.54 307 863 283 2 471 950 classic rock
3 Coma 124.00 22 328 114 180 063 rock
4 In Flames 115.07 91 571 015 795 760 melodic death metal
5 植松伸夫 109.91 27 844 646 253 338 soundtrack
6 Asking Alexandria 109.81 7 595 884 69 173 post-hardcore
7 Glee Cast 103.55 36 306 609 350 612 musical
8 Hey 92.91 17 724 166 190 768 rock
9 Metallica 86.15 162 343 062 1 884 333 thrash metal
10 Radiohead 85.43 279 740 625 3 274 643 alternative
11 Porcupine Tree 84.14 45 099 156 535 980 progressive rock
12 Katatonia 83.83 27 746 503 330 981 doom metal
13 Myslovitz 82.86 21 354 547 257 716 polish
14 Die Ärzte 82.37 31 037 935 376 833 punk rock
15 Sabaton 81.39 13 647 519 167 686 power metal
16 Pink Floyd 80.98 153 591 890 1 896 689 progressive rock
17 Sonata Arctica 80.91 38 216 838 472 328 power metal
18 Nightwish 80.75 79 355 845 982 722 symphonic metal
19 Opeth 79.47 43 363 934 545 665 progressive metal
20 Eluveitie 78.68 13 699 778 174 115 folk metal

Sucker Punch (2011)

napísal , 1 Apr 2011

sucker punch
by Zack Snyder

Drak naháňa lietadlo z druhej svetovej naložené sporo odetými devami, ktoré robia šrot z robotických samurajov a parou poháňaných náckov. Katanami. V slow motion. Do toho hrá Björk. Kuk:

Best movie ever? Nuž...

Spravte si vlastné tričko

napísal , 13 Mar 2011

Trieko

Ako lepšie povedať svetu čo si myslíte, ako keď si to budete hrdo niesť na hrudi? Pokiaľ radi kreslíte, môžete takto zaujímavým spôsobom využiť svoje obrázky.

Vytoriť si vlastné tričko je napodiv relatívne jednoduché a nenákladné. Keďže existuje kopec spôsobov ako na to a každý má svoje špecifiká, rozhodol som sa spraviť menší prehľad a popísať moje skúsenosti s každým z nich.

First things first

Ako to vlastne celé prebieha?
Buď si zvolíte jednoduchú cestu, skúsite nejaký generátor tričiek a poštou vám prijde mačka vo vreci™tričko, ktoré ste nechali na pospas danej firme alebo druhá možnosť, ak chcete mať všetko podľa seba:

  • zoženiete/nakreslíte obrázok s vysokým rozlíšením (aspoň 150 dpi, ideálne 300 alebo vektory)
  • zanesiete ho do firmy, ktorá robí potlač, vyberiete si typ trička, spôsob, farby, atď.
  • počkáte pár dní
  • máte tričká

Bude vás to stáť od 10 až po 30€ aj s tričkom, pričom cena sa skôr pohybuje pri tej dolnej hranici a niektoré spôsoby potlače sú závislé od množstva. Teraz k jednotlivým metódam, ich výhodám a vlastnostiam.

7 dôvodov prečo je Illustrator na prd

napísal , 15 Feb 2011

No dobre, Illustrator určite nie je úplne "na prd", veď sa v ňom dajú robiť pekné obrázočky. :) Existuje však kopec nedotiahnutých detailov, kvôli ktorým sa jeho používanie miestami mení na zápas s vašou trpezlivosťou.

Najzaujímavejším na tom všetkom je, že Photoshop má každú vec, ktorú teraz spomeniem, spravenú úplne v poriadku. Pozoruhodné je to z dôvodu, že oba programy sú v Adobe vyvíjané súbežne už 20 rokov, do značnej miery kopírujú svoj interface a filozofia ovládania je celkovo veľmi podobná.

S každým jedným na nervy lezúcim detailom som sa stretol nespočetne veľakrát. Po prvých pár desiatkach som zažíval rôzne pocity typu FFFFFFFFUUUUUUUUU, po stovke som si chyby začal zapisovať a teraz ich ukážem celému svetu:D, aby ste vedeli čomu sa vyhnúť pri návrhu UI aplikácií, ak chcete, aby vaši používatelia neprišli o veškeré duševné zdravie.

1. Zoomovanie s kolieskom iba s ALTom

Illustrator zooming and mouse wheel

Keď pohýbete v Illustrátore s kolieskom myši, plocha sa posunie hore/dole o zodpovedajúci počet pixelov. NAČO BY TOTO KOMU KEDY BOLO?? Kto by sa už len chcel posúvať po pixeloch, keď stačí stlačit medzerník a ťahať? Seriously...

Horšie je, že kým vo Photoshope môžete zoomovanie s kolieskom zapnúť, v Illustratore sa autori, ako vidíte na obrázku, na to akosi vykašlali. Zoomovať sa dá našťastie podržaním ALTu, ale z toho vyplýva jedna veľmi nepekná vlastnosť (okrem toho, že musíte zbytočne stláčať ALT:) :

2. Po zoomovaní je 50% šanca, že nebudú fungovať skratky

Illustrator keyboard shorcuts won't work after zooming

Keďže ste na zoomovanie potrebovali ALT, podľa toho, či ste zoomovali nepárny alebo párny počet razov, zostane/nezostane označené horné menu. Ak je označené, nefungujú, pochopiteľne, klávesové skratky. Čiže keď si po zoomovaní chcete vybrať napríklad základný select tool (skratka v), rozbalí sa namiesto toho menu View.

Toto je podľa mňa zďaleka najhoršia vec na Illustratore a nechápem ako je možné, že je prítomná aj v dnešnej 12-tej verzii. Dalo by sa argumentovať tým, že môžem používať aj zoom tool (lupu), ale neviem prečo by som si mal komplikovať život používaním ďalšieho nástroja keď mám KOLIESKO. Načo mi inak bude? Aby som si s ním točil z dlhej chvíle?