Ką, galvojot, kad aš gykas ir gamint nesugebu ? Ha! Think again. Šiandien ganėtinai sėkmingai implementinau šitą produktą, nusižiūrėtą iš Forelės. Bandymas #1, kodinis pavadinimas “formelės”:
Viskas kaip ir gerai, tik formos išsipūtė, susiliejo ir liko vienas didelis blynas. Reikalauju gerb. Forelės pasiaiškinti, kaip jai pavyko padaryti tokias gražias formas :|
Anyways, bandymas #2 - “laikrodis”:
Kai sausainiai kūdesni, jau kitas reikalas. O šiaip tai skonis l. geras - Saulius rekomenduoja :>
Neseniai užtikau tokį kodo gabaliuką, kuris jau t’sakant tapo legendinis ir užsiaugino kojytes. Originaliai rastas Quake III source kode, spėkit, ką jis daro:
Teisingai, apskaičiuoja 1/šaknis(x) ! :> Tik tai daro ~4 kartus greičiau nei paprastas 1/sqrt(x) ir tik su 0.1% paklaida. Nesunku suprast, kodėl šitas daiktas toks greitas - nė vienos dalybos ar floating point operacijos, o tik daugyba ir bitų stumdymas.
Iki galo neįsigilinau, kaip šitas daiktas veikia, bet esmė tokia: floating point skaičius nukastinamas į int’ą, tada pastumiant bitus per vieną į dešinę padalinamas iš dviejų - turint omeny, kaip išdėstyti float tipo skaičiaus bitai (pasak IEEE 754-1985), tai atitinka laipsnio padalinimui iš dviejų, dar pridedam minuso ženklą ir gaunam primityvų 1/šaknis(x) variantą. Aišku, pasistūmė ir mantisės bitai - čia į pagalbą ateina ta magiška konstanta, kurios prasmę norint suprasti reiktų perskaityti pilną 12 puslapių išvedimą. Atlikus šitą apytikslį (bet ganėtinai gerą) spėjimą, rezultatas dar patikslinamas viena Niutono metodo iteracija.
Nors nesu žaidimų developeris, galiu suprast, kodėl tokią funkciją apsimoka taip optimizuot - su ja atliekamas vektorių normavimas, o įtariu, kad tokiam geime, kaip Quake III, tai daroma milijardus kartų per sekundę. Tai do the math, ant kiek šita optimizacija atsiliepia overall performance’ui.
Žodžiu, vat čia aš skaitau yra tikrasis computer science :>
Gerai atsimenu, kai balandžio 15 d. sėdėjom su kolega Danijoj ir galvojom gerą pavadinimą naujam projektui - apsistojom ties “Reporting”. Net įsiamžinau tą akimirką tada, kaip viskas prasidėjo :>
Ir vat, po menkių mėnesių (ir tai spaudžiant įvairiems deadline’ams), į pasaulį paleidom pirmą beta versiją!
Tokiais momentais supranti žmogus, kaip gera yra dirbti kūrybinį darbą - koks malonumas paskui stebėti savo darbo vaisius, kaip žmonės tuo naudojasi ir kaip jiems tai patinka - ypač, kai kūrybos procese dalyvauji nuo pat pradžių :)
O hai, aš ir vėl netyčiom buvau dingęs - šįkart, su kolega, vykdėm l. svarbią misiją - lankėm Hip Hop Kemp’ą 2008 !
Viena pagrindinių priežasčių, kodėl ten važiavau, buvo noras įvykdyti vieną iš savo senų gyvenimo todo itemų - pamatyti Roots’us gyvai :> Ir aš tai padariau, yay! :D
Kitas performancas, kurį irgi labai norėjau pamatyti - Pharoahe Monch’as - pasiligojo ir neatvyko :[
Anyways, buvo nirealnai smagu, vien ko vertas gyvenimas pačiam kemp'e, kur sugebėjom įsikurt Lenkų apsupty. Nors veiksmas vyko Čekijoj, lenkai ten dominavo (o kur jų tik nebūna ?). Ypač jėgovas buvo vienas kaimynas iš kairės, kuris pastoviai skandavo "Polska, Polska!". O štai kaip jis skambėjo, kai kažkurį vakarą trūko:
Šitaip girdėjos iš palapinės :> Gaila, kad nespėjom su juo nusifotkint - tas žmogus-energijos_kamuolys vėliausiai gulės, anksčiausiai kėlės visam kempe, tai taip ir išnyko paskutinės dienos rytą :[
Grįžęs iš kelionės iš karto puoliau naikint atsilikimo nuo pasaulio, nes dvi savaites praleidau visiškai be jokių komunikacinių priemonių - grįžti žmogus, o čia žiūrėk karai vyksta ir pan.
Anyways, vienas dalykas, ką norėjau padaryt dar prieš išvykstant, bet nespėjau - pasižiūrėt The Dark Knight.
Nu ir ką: geriausias metų filmas - without a doubt, geriausia batman’o implementacija ir apskritai geriausias comic book filmas ever - sure, geriausias mano matytas filmas gyvenime - gal :>
Heath Ledger’io suvaidintas Joker’is - nerealu. Šiurpuliukai ėjo bežiūrint. Žodžiu, highly recommended, nors tas ir taip akivaizdu :>
OK, pastarąsias dvi savaites tipo keliavau po Europą, tai dabar pabandysiu aprašyt įspūdžius ir pan.
Keliavom keturiese, interrail’u - nežinantiems, tai panašiai, kaip mėnesinis bilietas autobusams Vilniuj, tik čia traukiniams visoj Europoj. Dėl tokios kelionės prigimties, maršrutas buvo nustatytas tik preliminariai - daug posūkių išimprovizavom on the go. Galutinai gavosi daugmaž taip (klikinti, kad gauti didesnį):
Vėlgi, dėl kelionės prigimties, dažnai teko, tiesiogine to žodžio prasme, bomžauti. Kai pagalvoji, kur tik neteko mum miegoti: traukiny, stoty, ant suoliuko, parkely, ant žemės ir pan. Vat kaip tas daugmaž atrodė iš šono:
Vis dėlto, negali sakyt, kad nebuvo fun - daug, i mean, _DAUG_ pamatėm (man jau vaizdai blokuojas ir neatsimenu, ką aš kur mačiau), smagiai praleidom laiką ir įgavom bomžavimo experience’o.
Pabaigai, šiek tiek statistikos:
Aplankyta miestų: 16
Aplankyta valstybių: 10
Dienų keliauta: 14
Kilometrų nuvažiuota: ~5600
Valandų praleista traukiniuose: ~82
Pinigų išleista: 1 kLt + 400 €
Kaip jau sakiau, toks tripas yra fun vieną kartą, ar kartočiau tokį žygį dar kartą - reiktų gerai pagalvot :>
Nors esu biški matematikos mokytas, bet pastebėjau, kad labai sunkiai gliaudau įvairias gyvenimiškas problemas, pvz. - pasiskaičiuot, kaip pasidalint sąskaitą. Sunkiai sekas man ir su loginiais uždaviniais, kur vienas veikėjas pinigų pameta, kitas paskolina ir reik susigaudyt, kur jie paskui dingsta.
Dar vienas elementarus pavyzdys - čili tinklų šią vasarą vykdoma akcija: už tam tikrą sumą išleistą pas juos duoda atitinkamai čili litų (ratio čili litų su lietuviškais litais 1:1), kuriuos galėsi panaudoti atsiskaitinėdamas kitą kartą.
Man porą pirmų kartų sunkiai susivokė tokios akcijos esmė. Tarkim, kiek man tenka šią vasarą ten lankytis, sąskaita visada būna ~50 lt, kas atitinkamai sugeneruoja 3 čili litus. Kitą kartą aš tuos tris litus paliksiu ir už naują sąskaitą gausiu tris naujus litus. Tai atrodo, kad realiai efekto jokio - tris padedu, tris gaunu atgal - tai kam juos palikinėt tada.
Tik paskui susivokiau, kad šitas apsikeitimas realiai duoda tris litus nuolaidos - juk jei jų nepalikinėsiu, jie man kaupsis ir kadanors galėsiu valgyt nemokamai.
Posto esmė/moralas ? Gal ir sunku patikėti, bet net ir aš sugebu susilamint paprastose situacijose :>