taavi

Just another weblog

Archive for the ‘erlang’ Category

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

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

noortepärane web framework

without comments

Lahedaid weebi frameworke ilmub erlangile nagu seeni pärast sooja vihma.

Alles see oli, kui tekkis webmachine (REST orienteeritud jubin). Kusjuures väga mõnus vahend lihtsate liideste ehitamiseks. Rohkem progeja lõbu. Lõppkasutajale pöördesse ajamiseks ei ole suurem asi.

Lõppkasutajale edevate asjade ehitamiseks on ka mõnus vahend tekkidud:

    Nitrogen
    Nitrogen is a small and simple web framework for Erlang. It sits on top of Yaws, Mochiweb, or Inets and provides a robust, event-driven platform for creating dynamic Ajax web applications.

Nitrogen

Väga edev, sisuliselt kõik html’i verbaalne mulin on kõrvale jäetud, kirjutad vaid sisu. Koos kõik võimalike edevate ajax/jQuery efektidega.

Ning nagu pildilt näha – ainult 27 rida..

Written by taavi

December 6th, 2008 at 12:14 am

Posted in erlang

Tagged with

Microsoft comes to age – AMQP

without comments

Sõnumihalduse vahekihtides hakkab väike revolutsioon kerkima. Siiani on enamus Messaging Middleware lahendusi olnud tootja spetsiifilised ning mis veelgi masendavam suletud ökosüsteemid tüüpiliselt java programeerimiskeeles ning enamasti koos konkreetse tootja suletud biblioteekidega. IBM MQSeries, Tibco Rendezvous või parimal juhul “standardiseeritud” JMS pakuvad ainult konkreetset API’t.

Aga protokolli ei paku.

Ehk ilma konkreetse tootja biblioteekideta midagi ühilduvat teha oli vägagi lootusetu. Umbes nagu veelahe IT ja Telecomi maailma vahel. Teises neist on harjutud olukorraga, et erinevate tootjate lahendused peavad koos töötama hoolimata erinevast riistvarast ning tüüpiliselt ka hoolimata totaalselt erinevast programeerimiskeskkonnast. Kuni erinevate programeerimiskeelteni välja. Kui juba on GSM mobiil, siis erinevad tootjad peavad omavahel traati mööda käiva protokolliga hakkama saama.

Messaging Middleware juures on selliseks traati mööda käivaks protokolliks AMQP.

Loodetakse, et sellest saab tootja spetsiifiliste lahendustele korralik konkurent (Can AMQP break IBM’s MOM monopoly?).

Ja tundub, et Microsoft on seekord avatud lahenduste paadis:

Üks edevamaid implementatsioone on RabbitMQ. Muide, erlangis kirjutatud.

Written by taavi

October 28th, 2008 at 1:31 am

Posted in IT, erlang

Tagged with , ,

Robert Virding: miks erlang on nagu ta on..

without comments

Robert Virding – üks Erlangi programmerimiskeele autoritest kirjutas järelvaate miks Erlang on selline nagu ta on.

Näiteks if-klausel lisati peaegu kui kiire häkk. Keele autorid oma sõnul ei kasutanud seda ja ka eriti ei muretsenud selle pärast;)

Written by taavi

September 30th, 2008 at 1:01 am

Posted in erlang, progemine