taavi

Just another weblog

Archive for the ‘IT’ Category

QCon – oma endises headuses

without comments

Nädalapäevad tagasi 10-12 märtsil sai käidud londonis QCon Londoni konverentsil. Au korraldajatele, konverents oli sama hea või isegi parem kui aasta tagasi.

Arutletud teema trackid olid fantastilised:

  • Arhitektuur, mille üle oled alati imestunud
  • Tarkvaraarendaja meisterlikkus
  • NoSLQ
  • Arendajad ja haldajad – üks tiim
  • Funktsionaalne programmeerimine
  • Vastutustundetu arhitektuur ja ebaharilikud arhitektid
  • IT rohkem kui vahendid ja tehnoloogia

Kahju, et kõiki asju paralleelselt kuulata ei saanud ning tuleb tasapisi internetti tilkuvad loengud ära oodata. Slaidid on küll saadaval, kuid ilma esineja emotsioonita ei ole see päris õige.

Täielik fantastika esinejate poolt, näiteks – Dan Ingalis, 40 aastat smalltalki arendanud vend (koos Alan Kay’ga keele loojad), ning ikka räägib tõeliselt innustunult ja endalgi tuleb meelde see aastate tagune sära, mis kunagi mind ennast IT juurde tõi. Fantastiline demo ja personaalne sära sinna juurde.

Ning selliseid inimesi oli kümmneid.

PS. Endale tuleb jätta meelde, et SOA ei ole tänapäeval enam popp. Nüüd on CSOA see õige arhitektuur;)
PPS. CSOA – Common Sense Oriented Architecture

Written by taavi

March 18th, 2010 at 11:30 pm

Posted in IT

Tagged with ,

zotonic – suureks kasvanud nitrogen

without comments

Mõnda aega tagasi kirjutasin veebiraamistikust nimega nitrogen, mis kujutas endast event orienteeritud erlangi veebikeskkonda. Raamistiku arhitektuur ja ideed on sattunud viljakasse pinnasesse, idanema läinud ning suureks kasvanud.

Zotonic on sealt võrsunud ideede baasil ehitatud erlangi CMS (content management system).

Sisuhalduse poolel on küll veel ohtralt arenguruumi. Aga põhikontseptsioonid on väga mõnusalt paigas, ning omadusi millega kiidelda on kuhjaga:

Tasub vaadata, uurida. Ja relvastusse võtta;)

Written by taavi

November 17th, 2009 at 2:00 am

Posted in IT, erlang, progemine

Tagged with

Pisike aga tubli

without comments

Umbes kuu aja jagu olen mänginud uue mänguasjaga Beagleboard‘iga.

Igati tore vidin. Arvutusvõimsust umbes sama palju, kui hiiglama kolakal lauaarvutil, millest alles pool aastat tagasi loobusin. Jooksutab linuxit nagu arvuti ikka. Mälu 256MB, samapalju flashi. OpenGL-ES graafikakiirendi. TI DSP, millega suudab HD videot dekodeerida. Audio sisse/välja. Hunnik perifeeriat. Ja võtab ca. 0.5W elektrit.

Tõenäoliselt kuhugile siia suunda liigub tuleviku koduarvuti (jättes hard-core mängurid kõrvale).

Written by taavi

June 8th, 2009 at 11:15 pm

Posted in IT

muljeid qcon’ilt

without comments

Mõned toredad mõtted QCon’ilt:

Early airplanes did not have specifications. Pilots just jumped in and hoped for the best. Just like with software today.. (Tony Hoare)

There is no link between IT value and IT spending..

Igatahes teise konverentsipäeva kokkuvõtteks võib öelda, et tükk aega ei ole sedavõrd asjalikule konverentsile sattunud. Kahju ainult, et füüsiliselt ei ole võimalik paralleelselt 5-6 tracki korraga kuulata. Tagasi Eestimaale jõudes tuleks ennast kokku võtta ning korralikum ülevaade kirjutada.

Written by taavi

March 12th, 2009 at 12:22 pm

Posted in IT

Väike võrdlus erlang vs. java

without comments

Nädalapäevad tagasi oli headel kolleegidel põnev programeerimisülesanne: ehitadada pisike programmike, mis näitaks google mapi peal miski teenuse leviala.

Ülesanne iseenesest lihtne – leviala on antud hunniku polügoonidena ning pead vaatama kas sind huvitav punkt jääb mõne polügooni sisse. Tõenäoliselt üks esimese kursuse programmeerimise ülesanne. Aga tundus piisavalt põnevana, et proovida ise ka järgi, kas saab hakkama.

Sai küll. Tulemused erlang vs. java

  • 396 rida erlangi koodi
  • ca. 4-6 tundi aega
  • 917 rida java koodi
  • ca. 2-3 päeva aega

Aeg on hinnanguline, kuna ei minul ega kolleegil polnud see põhitegevus. Päris nelja korda produktiivsem võrreldes imperatiivse programmeerimisega just polnud aga mingi täiesti arvestatava eduteguri sai küll.

Kasvõi esialgne lihtsustatud versioon ainult bounding boxi arvestamisega tuli äärmiselt lihtsalt:

find_bounded(Lat, Lon, AreaList) ->
    lists:filter( fun(#coverage_area{boundingbox=Box}) ->
                          {{MinLat,MinLon},{MaxLat,MaxLon}} = Box,
                          if
                              Lat >= MinLat andalso Lat =< MaxLat andalso
                              Lon >= MinLon andalso Lon =< MaxLon ->
                                  true;
                              true ->
                                  false
                          end
                  end, AreaList).

Sellega sai loogika tööle. Edasine oli ainult optimeerimine ja reaalne punkti polügoonis asumise algoritmi lisamine.

Written by taavi

February 24th, 2009 at 4:26 pm

Posted in IT, erlang, progemine