alati rohkem kui üks vaatepunkt

elu ilu on vaataja silmades

px px

Päev 3. Konverents

morf @ 18.02.2009 23:10

Kolmapäev tähistas ülikooli lõppu ja konverentsi algust. See tähendas eelkõige ettekannete lühenemist, teemade arvu suurenemist, reklaamjutte ja üleüldist tohuvapohu. Konverentsi jaoks saabus kohale ka rahva põhimass - pidin oma varasemat imestust suure nohikukonsentratsiooni võrra veelgi korrigeerima. Olin arvanud, et suurem osa tulijatest saavad olema noored ambitsioonikad progejakutsikad nagu mina, aga arvestatava osa seltskonnast moodustas aastakümneligi Javaga tegelenud, ennast tõestanud ja asjaga kursis olevaid veterane (parimas keskeas, kui aus olla). Samal ajal kui mina suu lahti kõike toimuvat jõllitasin ja uut infot käsna kombel endasse imesin, küsisid nemad loengute lõpus neid eriti ägedaid küsimusi ja tegid vaheaegadel tüüne entusiasmiga järgmiseid kaadritaga toimuvaid tehnoloogilisi maailmavallutusplaane.

Konverentsi avalöök anti veenev. Esimese etteastena toodi meie ette Belgia ja Euroopa vingeim beatboxer RoxorLoops (tõeliselt !!111oneoneeleven nimi). Seda, mida too vend teha oskab, pole võimalik sõnadega kirjeldada, seega vaadake ise.

Peale lõunat rääkis väike kärmas itaallane Giovanni Aspironi projektide ajahinnangute koostamisest. Tegemist on küll tõeliselt läbihekseldatud teemaga, kuid Aspironi suutis teha ülevaatliku kokkuvõtte ning seda kõike muhedas huumorivõtmes. Ta kurtis, et hinnangutega ei saa reaalsust mõjutada - pisut üle pooleteise meetri pikk nagu ta on, meeldib talle sellest hoolimata tihtipeale arupärijatele vastata, et hinnanguliselt on ta ligi kahemeetrine, aga enamasti teda millegipärast ei usuta. Programmeerijatele soovitas ta, et kui sa hindad ülesande 100 tunni peale ja projektijuht laua kõrval nõuab, et see ei sobi, peab 50-ga hakkama saama, siis kuskile exceli tabelisse võib alati 50 tundi kirjutada, aga töö ise võtab sellest hoolimata 100 tundi, ning selles osas peab hinnangu andmisel endale kindlaks jääma. Konkreetsemalt rääkis ta aga statistika kogumisest projektide ajakulu kohta vastavalt tehnoloogiatele, arendajate üldisele kogemusele ja ekspertiisile just antud tüüpi projektide puhul ning väitis, et selliste andmete baasil saab teha väga häid hinnanguid nii ühe ettevõtte sees kui miks mitte ka laiemas ulatuses. Kui ainult firmad oleksid nõus avalikustama täiesti anonüümset statistikat oma möödunud projektide kohta, ja leiduks entusiaste, kes selle ära süstematiseeriks, saaks teha üldkasutatava andmevaramu mille baasil saaks kõik andmeid loovutanud uute projektide ajakulude hinnangud mõne nupuvajutusega kätte. Hüpoteetiliselt. Mõni noor tudeng võiks sellest ideest lõputöö kirjutamise raames kinni haarata...

Edasistes loengutes läheneti taaskord erineva nurga alt Java optimeerimisele ja profileerimisele, kuid siinkohal ma nendeest pikemalt enam ei räägi. Huvitavat mõtlemisainet pakkus hoopis järgnev JSF, Ajaxi ja ADF'i demoloeng. Olen ise Oracle ADFi ja JDeveloperiga ühe testprojekti teinud ja siis jäi mulle kogu vahendist üsna toores mulje, kuid nüüd, mõned aastad hiljem pean tõesti mütsi maha võtma. Kirjutan ise igapäevaselt muuhulgas ka JSF liideseid ning see töö, mis minul võtab tõenäoliselt tunde, on Oracle ADFi abil võimalik ära teha 15 minutiga. Edu võti seisneb kahes asjas: esiteks on ADF jaoks tehtud tohutul hulgal kõikvõimalikke valmiskomponente - paneele, tabeleid, graafikuid, modulaarseid aknaid - kui sa suudad seda ette kujutada, on see neil tõenäoliselt olemas. Teiseks ei kirjuta arendaja kogu protsessi käigus ridagi koodi. JDeveloperis on kogu arendus drag-and-drop. Tirid paletilt komponendid ekraanile, teises aknas defineerid kastikeste ja noolekestega navigatsiooni, kolmandas kirjeldad väga lihtlabases süntaksis oma komponentide juurde validatsiooni ja ärireeglid. Andmebaasiühendused, relatsiooniliste andmete esitamine tabelitena, sessioonihaldus, transaktsioonid - kõik see tehakse ära automaatselt ja nähtamatult. Vaieldamatult pole sel moel valmiv kood silmale kuigi nauditav vaadata ning kui on tarvis implementeerida midagi, mis valmislahendusega pole realiseeritav, siis juba automaatselt genereeritud koodi käsitsi sekkumine on paras õudusunenägu. Selle kõige tõttu on endal küll selliste graafiliste vahendite kasutamise osas kerge tõrge. Mis mind aga kummitama jäi, oli esineja Frank Nimphiuse (Oracle product manager) väljakäidud mõte, et selliste vahendite abil hakkavad tarkvara looma mitte IT vaid vastava ärivaldkonna spetsialistid. Ma ei suuda isegi seisukohta võtta, oleks see hea või halb lahendus ja eelkõige - võiks see üldse toimida? Iga projekti puhul, kus ma seni osalenud olen, läheb täiesti arvestatav aeg ärireeglitest süvitsi aru saamiseks, mis pole just mainimisväärselt huvitav osa tööst. Töö otsa lõppemist ma samuti ei karda, sest keegi peab neid imevahendeid arendama, mis võimaldaksid igal üle keskmise arvutikasutajal oma infosüsteem valmis vorpida. Ootan igal juhul huviga, mis selles valdkonnas edasi toimub.

Õhtu naelaks sai vaieldamatult JDuchessi ümarlaua-arutelu. JDuchess oli siis nais-programmeerijate organisatsioon, mille esindaja mul üleelmisel päeval oli nööbist kinni haaranud ja veennud mind antud üritusel osalema. Ja ei saa ütelda, et ma kohaletulemist oleks kahetsenud (kuigi nad kogunesid nii hilja, et seetõttu polnud võimalik tol õhtul enam Belgia õllekultuuriga tutvuma minna) - ammu pole ma nii palju naerda saanud, muidugi põhiliselt väga sündsalt endamisi varukasse itsitades. Avalikule arutelule eelnes ettekanne, kus JDuchessi eestvedajad demonstreerisid ulatuslike kirjute sektordiagrammide, kaastundlike ilmete ja murelike #382;estidega naiste rasket elu IT tööstuses. Kogutud numbrilise statistika hulk, aga ka nende esitatud seisukohad olid üsna muljetavaldavad. Meid naisi peletavat eemale programmeerimise nohiklik maine, vähene inimestekesksus ja meeste liigne enesekindlus. Naistele lihtsalt ei antavat võimalust. Aga õrnemal sool olevat nii palju anda - emotsioone, suhtlemisoskust, hõlpsalt loetavat koodi (mitu ettekandeslaidi one-liner'ite hukatuslikust mõjust. Hilisemas arutelus panustasid ka teised - üks noor naine näiteks kurtis, et on diskrimineerimine, et ta lapsena nukkudega mängis. Mitte et keegi teda sundinud oleks, aga ühiskond eeldas temalt seda ja ta leiab, et see on ülekohtune ning oma lastele ostab ainult konstruktoreid. Maailm saab päästetud! Õnneks suutsin ma ennast ohjeldada ja selle asemel, et ütelda seda mida ma ütelda tahtsin - kui antud ürituse läbiviijad oleksid hingelt programmeerijad, ei oleks neil töö ja enesearendamise kõrvalt aega ega tahtmist tegeleda naisõiguslusega, teha propagandat, koguda statistikat ja koostada ettekandeid naiste tööhõivest IT valdkonnas tänapäeva Euroopas ning selle mõjust kogu tootmisharule - vaid mainisin sõbralikult, et kuigi mul pole ega saagi midagi naisprogrammeerijate vastu olla, siis sinus kas on see kirg ja säde või seda ei ole. Poistes pigem on, tüdrukutes pigem ei ole. Ma ei väida, et tasemel programmeerija on paratamatult nohik ning ma ei tea, kas tõesti lähevad imid#382;i pärast ja veidra seltskonna hirmus majandust õppima ka need noored tüdrukud, kellel on anne, huvi ja kutsumus olemas, aga kurb ja raske on tööd teha inimestega, kes pole natukenegi maniakaalsed. Ma ei saa sinna midagi parata, et ma ise uhkusest säran kui keegi mind lootusetuks nohikuks nimetab, selle asemel et hirmsasti häbeneda. Lõppkokkuvõttes oli ju iga naine selles toas mingil põhjusel antud nohikukonverentsi osalejate nimekirjas.

Päev 2. Ülikool

morf @ 15.02.2009 22:17

Järgmise päeva esimeseks loenguks sai valitud kõrgelennuline "Java Performance" nime kandev ettekanne. Teemaks oli Java rakenduste profileerimine, optimeerimine, prahikoristuse tööpõhimõtted ning muudki Java sisemisest hingeelust. Tagantjärele vaadates osutus just too loeng kõige muljetavaldavamaks - sain sealt kaasa kõige rohkem huvitavaid teadmisi, ideid edasiseks tööks ning kummalisel kombel motivatsiooni kunagi taas teadustööga tegeleda. Leidsin siinkohal omale ka tõelise eeskuju :P - siniste rastapatsidega nöbininalise ja särasilmse dr. Holly Cumminsi, kes igapäevatööna IBM'i R&D osakonnas Java virtuaalmasina jaoks töövahendeid arendab ning imearmsa inglise aktsendiga meile äärmiselt põneva ja huvitava ettekande tegi. Kõige enam pakkusid mulle huvi erinevad strateegiad, mille abil on prahikoristuse käigus võimalik objekte vanuse järgi klassifitseerida, heapi erinevate algoritmidega korrastada ning prahikoristajat ennast erinevalt ajastada ning kuidas see lõppkokkuvõttes võib rakenduste efektiivsusele väga suurt mõju omada. Mul tekkis päris palju erinevaid ideid ja küsimusi ning leidsin, et sellises optimeerimisvaldkonnas orienteerumine ja mõtlemine on minu jaoks mõnusalt lihtne ja huvitav. Sellest võib järeldada, et 8 ülikoolihariduse hankimiseks kulutatud aastat ei ole mitte jälgi jätmata möödunud. Eks osaliselt oli aju valmidus analüütiliselt mõelda seotud ka vastvalminud magistritööga, mille sisuks oli samuti optimeerimisülesande lahendamine. Holly Cumminsi töö on igal juhul ehe ja innustav tõestus sellele, et hallide ja masendavate akadeemiliste seinte vahelt väljas tegeletakse sama keerukate ja huvitavate teaduslike probleemidega, samas hetkekski nende praktilist väärtust silmist laskmata ning oma töö tulemustega iga päev paljude arvutikasutajate, sealjuures eelkõige just arendajate elu mõjutades. Mitmed sellistest projektidest on vabavaralised ning hindavad kõrgelt usinate ning võimekate vabatahtlike panust. Usun, et olen leidnud omale suuna, kust põhitöö kõrvalt eneseteostusvõimalusi otsida.

Loengute vaheajal sirvisime eksemplare teiseks päevaks üles pandud IT-alaste raamatute laadalt. Jaanus tutvustas Java kirjanduse raudvara - raamatuid, mis kirjutatud nii mõnedki aastad tagasi kuid siiani lugemist väärt. Tagakaantelt kokkuvõtteid lugedes juurdlesin endamisi, kuivõrd on tänapäeval surnud puu formaadis teadmiste esitamisesl mõtet - täistekstiotsing töötab kehvasti, uuendusi automaatselt veebist ei saa, ruumi ning raha kulub nende peale samuti palju. Silmade säästmiseks ja ka üldiselt vahelduseks on raamatut lugeda tegelikult tore. Pealegi, kui veebis on parim info esitatud konkreetselt, kuivalt ja eesmärgipäraselt, siis trükipaberil kasutatav kirjakeel on tihtipeale meelelahutuslikum, paremini jälgitav ning autor võib jutu sisse pikitud lookeste ning naljadega ning nende poolt tekitatud emotsioonide ning seostega lugejale raamatu mõtte tunduvalt paremini vastuvõetavaks teha. Siiski, paraku, niisama ajaviiteks tehnilist raamatut lugeda on aega ja viitsimist üsna harva ning sihtotstarbeliselt probeemile lahenduse või küsimusele vastuse leiab google vahendusel kiiremini. Raamatuid oli muidugi välja pandud väga erinevatel teemadel - kõikvõimalikest tehnoloogiatest, koodi kirjutamise headest tavadest, projektijuhtimise metodoloogiatest, testimisest jne. Oleks aega lõputult, tahaksin nii mõnedki neist läbi lugeda. Kuuldud soovituste ja kirjelduste järgi jäid meelde ja said lugemisnimekirja lisatud järgmised teosed:

Ülejäänud päev kulus konkreetsete tehnoloogiate, rakenduste ja raamistikega tutvumiseks - Spring 2.5, andmegeneraator Benerator, Apache Ivy. Springi uue versiooni tutvustusest jäi meelde OSGI tugi ja võimalus rakendusi bundle-idena pakendada. OSGI-st räägin tõenäoliselt edaspidi pikemalt - see on üks kasulik ja huvitav raamistik ning standard, mida võiks arenduses tunduvalt rohkem kasutada. Samas, Java 7 on oma Jigsaw projektiga just sinnapoole teel.

Kõik omandatud teadmised olid õhtuks pea parajalt kumisema ajanud ja vajasid alla loputamist, et järgmiseks päevaks uutele ruumi teha. Ma ei mäletagi, kas Sven või Jaanus on süüdi mu elu edasises totaalses allakäigus, aga igatahes üks neist leidis kellegi Javapolislase blogist kirjelduse ja viite linna väidetavalt parimale Kulminator-nimelisele õllepublile. Läksime tol õhtul Jaanusega seda kohe ka üle vaatama. Väljast sisse piiludes sisendasid hägused aknaklaasid ja seest paistev pisike toake pigem kõhedust ja kõhklusi, kuid õnneks otsustasime siiski sisse astuda. Ruum oli tõepoolest oodatust pisem ning üsna tihedalt rahvast täis, kuid leidsime omale siisiki lauaserva, kuhu oma õllekannud toetada. Toa üks sein ja lagi olid täis väänlevaid ronitaimi, ülejäänud seintes ilutsesid riiulid minu arusaamist mööda kõigi erinevate õllepudelitega, mis maamunapeal üldse leiduda võivad. Kõige märkimisväärsemad olid aga majaperemees ja perenaine - võrratult muhe vanapaar, kes nautisid elus ilmselt eelkõige kahte asja - õlut ja suhtlemist. Palusime proualt õllesoovitust ning ta tõi meile taldrikul paraja ketta suitsujuustu ning mõlemile vaadist klaasi Gouden Carolus X-i. See esimene sõõm oli liialdusteta midagi, mis jääb mulle eluks ajaks meelde - tiitel "parim õlu maailmas" ei anna kaugeltki edasi kõiki neid maitsevarjundeid ja nüansse, mida see elamus sisaldas, kusjuures märkimisväärsest kangusest hoolimata ei olnud alkoholi maitset üldse tunda. Loomulikult sobis valitud juust sinna juurde ideaalselt. Ümberringi sumisevad inimesed, mõnus muusikavalik, kus klassika vaheldus jazzi ja bluesiga, mööda letialust vaikselt ringihiiliv kass - kogu kooslus oli täiuslik. Peale veel ka Mahlheur 12 nimelise õlle proovimist otsustasime Kulminatorisse selle nädala jooksul veel kindlasti tagasi tulla. Sellest õhtust ja elamusest inspireeritult on pärit ka mu patune komme nii mõnigi kord poes käies (mida õnneks juhtub harva) riiulilt õhtuks pudel õlut kaasa haarata.

px px