<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>taavi &#187; erlang</title>
	<atom:link href="http://w3.uninet.ee/blog/category/erlang/feed/" rel="self" type="application/rss+xml" />
	<link>http://w3.uninet.ee/blog</link>
	<description>Just another weblog</description>
	<lastBuildDate>Thu, 18 Mar 2010 21:30:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>zotonic &#8211; suureks kasvanud nitrogen</title>
		<link>http://w3.uninet.ee/blog/2009/11/17/zotonic-suureks-kasvanud-nitrogen/</link>
		<comments>http://w3.uninet.ee/blog/2009/11/17/zotonic-suureks-kasvanud-nitrogen/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 00:00:36 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[progemine]]></category>
		<category><![CDATA[www erlang comet ajax]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/?p=166</guid>
		<description><![CDATA[Järjekordne ilus erlangis kirjutatud veebi raamistik - kõik koomponendid kuni CMS'ini olemas.]]></description>
			<content:encoded><![CDATA[<p>Mõnda aega tagasi kirjutasin veebiraamistikust nimega <a href="http://www.nitrogenproject.com">nitrogen</a>, mis kujutas endast event orienteeritud erlangi veebikeskkonda. Raamistiku arhitektuur ja ideed on sattunud viljakasse pinnasesse, idanema läinud ning suureks kasvanud.</p>
<p><strong><a href="http://www.zotonic.com/">Zotonic</a></strong> on sealt võrsunud ideede baasil ehitatud erlangi CMS (content management system).</p>
<p>Sisuhalduse poolel on küll veel ohtralt arenguruumi. Aga põhikontseptsioonid on väga mõnusalt paigas, ning <a href="http://zotonic.com/features">omadusi</a> millega kiidelda on kuhjaga:</p>
<ul>
<li>lehekülje mallid, koos django mallide laadse kirjelduskeelega</li>
<li>lehekülje <a href="http://zotonic.com/category/508/scomp">&#8220;tükikesed&#8221;</a>, millest suuremaid asju kokku panna</li>
<li>elementide <a href="http://zotonic.com/category/511/validation">validaatorid</a></li>
<li>elementidele külge poogitavad <a href="http://zotonic.com/category/507/action">tegevused (actionid)</a></li>
<li>kõik see struktuurselt ja <a href="http://zotonic.com/documentation/630/module-internals">modulaarselt</a> laiendataval kujul</li>
<li>jne..</li>
</ul>
<p>Tasub vaadata, uurida. Ja relvastusse võtta;)</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2009/11/17/zotonic-suureks-kasvanud-nitrogen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Väike võrdlus erlang vs. java</title>
		<link>http://w3.uninet.ee/blog/2009/02/24/vaike-vordlus-erlang-vs-java/</link>
		<comments>http://w3.uninet.ee/blog/2009/02/24/vaike-vordlus-erlang-vs-java/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 14:26:13 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/?p=63</guid>
		<description><![CDATA[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 &#8211; 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 [...]]]></description>
			<content:encoded><![CDATA[<p>Nädalapäevad tagasi oli headel kolleegidel põnev programeerimisülesanne: ehitadada pisike programmike, mis näitaks google mapi peal miski teenuse leviala.</p>
<p>Ülesanne iseenesest lihtne &#8211; 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.</p>
<p>Sai küll. Tulemused erlang vs. java</p>
<ul>
<li>396 rida erlangi koodi</li>
<li>ca. 4-6 tundi aega</li>
<p></p>
<li>917 rida java koodi</li>
<li>ca. 2-3 päeva aega</li>
</ul>
<p>Aeg on hinnanguline, kuna ei minul ega kolleegil polnud see põhitegevus. Päris <a href="http://www.erlang.se/publications/Ulf_Wiger.pdf">nelja korda produktiivsem</a> võrreldes  imperatiivse programmeerimisega just polnud aga mingi täiesti arvestatava eduteguri sai küll.</p>
<p>Kasvõi esialgne lihtsustatud versioon ainult bounding boxi arvestamisega tuli äärmiselt lihtsalt:<br />
<br />
<code>
<pre>
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).
</pre>
<p></code></p>
<p>Sellega sai loogika tööle. Edasine oli ainult optimeerimine ja reaalne punkti polügoonis asumise algoritmi lisamine.</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2009/02/24/vaike-vordlus-erlang-vs-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>noortepärane web framework</title>
		<link>http://w3.uninet.ee/blog/2008/12/06/noorteparane-web-framework/</link>
		<comments>http://w3.uninet.ee/blog/2008/12/06/noorteparane-web-framework/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 22:14:48 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[erlang]]></category>
		<category><![CDATA[erlang web]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/12/06/noorteparane-web-framework/</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Lahedaid weebi frameworke ilmub erlangile nagu seeni pärast sooja vihma.</p>
<p>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.</p>
<p>Lõppkasutajale edevate asjade ehitamiseks on ka mõnus vahend tekkidud:</p>
<ul><a href="http://github.com/rklophaus/nitrogen/tree/master">Nitrogen</a><br />
<em>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.</em></ul>
<p>
<a href='http://w3.uninet.ee/blog/wp-content/uploads/2008/12/nitrogen_demo.png' title='Nitrogen'><img src='http://w3.uninet.ee/blog/wp-content/uploads/2008/12/nitrogen_demo.png' alt='Nitrogen' width="75%" height="240"/></a><br />
<br />
Väga edev, sisuliselt kõik html&#8217;i verbaalne mulin on kõrvale jäetud, kirjutad vaid sisu. Koos kõik võimalike edevate ajax/jQuery efektidega. </p>
<p>Ning nagu pildilt näha &#8211; ainult 27 rida..</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/12/06/noorteparane-web-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft comes to age &#8211; AMQP</title>
		<link>http://w3.uninet.ee/blog/2008/10/28/microsoft-comes-to-age-amqp/</link>
		<comments>http://w3.uninet.ee/blog/2008/10/28/microsoft-comes-to-age-amqp/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 23:31:30 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/10/28/microsoft-comes-to-age-amqp/</guid>
		<description><![CDATA[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 &#8220;standardiseeritud&#8221; JMS pakuvad ainult konkreetset API&#8217;t. 
Aga protokolli ei paku.
Ehk ilma konkreetse tootja biblioteekideta midagi ühilduvat teha [...]]]></description>
			<content:encoded><![CDATA[<p>Sõnumihalduse vahekihtides hakkab väike revolutsioon kerkima. Siiani on enamus <em>Messaging Middleware</em> 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 &#8220;standardiseeritud&#8221; JMS pakuvad ainult konkreetset API&#8217;t. </p>
<p>Aga <em><strong>protokolli ei paku</strong></em>.</p>
<p>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.</p>
<p>Messaging Middleware juures on selliseks traati mööda käivaks protokolliks <a href="http://jira.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol">AMQP</a>. </p>
<p>Loodetakse, et sellest saab tootja spetsiifiliste lahendustele korralik konkurent (<a href="http://www.interopnews.com/analysis/can-amqp-break-ibms-mom-monopoly-part-1.html">Can AMQP break IBM&#8217;s MOM monopoly?</a>).</p>
<p>Ja tundub, et Microsoft on seekord avatud lahenduste paadis:</p>
<ul>
<li><a href="http://www.interopnews.com/analysis/microsoft-embraces-amqp-open-middleware-standard.html">http://www.interopnews.com/analysis/microsoft-embraces-amqp-open-middleware-standard.html</a>.</li>
<li><a href="http://bryanche.blogspot.com/2008/10/welcome-to-amqp-microsoft.html">http://bryanche.blogspot.com/2008/10/welcome-to-amqp-microsoft.html</a></li>
<li><a href="http://linux.slashdot.org/linux/08/10/27/1948210.shtml">Slashdot &#8211; Microsoft Embraces AMQP Open Middleware Standard</a>
</li>
</ul>
<p>Üks edevamaid implementatsioone on <a href="http://www.rabbitmq.com/">RabbitMQ</a>. Muide, erlangis kirjutatud.</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/10/28/microsoft-comes-to-age-amqp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robert Virding: miks erlang on nagu ta on..</title>
		<link>http://w3.uninet.ee/blog/2008/09/30/robert-virding-miks-erlang-on-nagu-ta-on/</link>
		<comments>http://w3.uninet.ee/blog/2008/09/30/robert-virding-miks-erlang-on-nagu-ta-on/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 23:01:36 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[erlang]]></category>
		<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/09/30/robert-virding-miks-erlang-on-nagu-ta-on/</guid>
		<description><![CDATA[Robert Virding &#8211; üks Erlangi programmerimiskeele autoritest kirjutas järelvaate miks Erlang on selline nagu ta on.

Erlang Rationale

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;)
]]></description>
			<content:encoded><![CDATA[<p>Robert Virding &#8211; üks <a href="http://www.erlang.org/">Erlangi</a> programmerimiskeele autoritest kirjutas järelvaate miks Erlang on selline nagu ta on.</p>
<ul>
<p><a href="http://forum.trapexit.org/viewtopic.php?p=44172#44172">Erlang Rationale</a></p>
</ul>
<p>Näiteks <em><strong>if</strong></em>-klausel lisati peaegu kui kiire häkk. Keele autorid oma sõnul ei kasutanud seda ja ka eriti ei muretsenud selle pärast;)</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/09/30/robert-virding-miks-erlang-on-nagu-ta-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>erlang middleware.. on mida vaadata..</title>
		<link>http://w3.uninet.ee/blog/2008/08/28/erlang-middleware-on-mida-vaadata/</link>
		<comments>http://w3.uninet.ee/blog/2008/08/28/erlang-middleware-on-mida-vaadata/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 21:01:57 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[erlang]]></category>
		<category><![CDATA[progemine]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[middleware]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/08/28/erlang-middleware-on-mida-vaadata/</guid>
		<description><![CDATA[Täna oli kontoris väike arutelu teemal, kas ning kuidas õnnestuks ära kasutada üha populaarsemaks muutuvaid sotsiaalse võrgustiku vidinaid internetis. 
Järjest kerkisid üles igasugu edevad märksõnad nagu twitter, facebook, keskus jne.. Edasi tuli loomilikult igasugu sügav tehnoloogiline jutt, kuidas neid ära kasutada ja sisuda. Jutu sisse tekkisid märksõnad nagu openid, REST.
Edasi hakkasid juba endal mõtted keerlema, [...]]]></description>
			<content:encoded><![CDATA[<p>Täna oli kontoris väike arutelu teemal, kas ning kuidas õnnestuks ära kasutada üha populaarsemaks muutuvaid sotsiaalse võrgustiku vidinaid internetis. </p>
<p>Järjest kerkisid üles igasugu edevad märksõnad nagu <a href="http://twitter.com">twitter</a>, <a href="http://facebook.com">facebook</a>, <a href="http://www.keskus.ee">keskus</a> jne.. Edasi tuli loomilikult igasugu sügav tehnoloogiline jutt, kuidas neid ära kasutada ja sisuda. Jutu sisse tekkisid märksõnad nagu <a href="http://opeid.net">openid</a>, <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a>.</p>
<p>Edasi hakkasid juba endal mõtted keerlema, milliseid vahendeid nendega tegelemiseks on kättesaadaval. Loomulikul uurisin kiiksuga inimesena (<a href="http://www.erlang.org/">erlangi</a> fännina s.t.), mis komponendid on olemas või lihtsalt teostatavad. Ringi surfates ja googlisse märksõnu toksides jäi silma, et ka needsamad suurte märksõnadega saidid kasutavad <a href="http://www.erlang.org/">erlangi</a> seal kus otstarbekas.</p>
<p>Tulemused umbes sellised:</p>
<ul>
<li>twitter, facebook &#8211; <a href="http://debasishg.blogspot.com/2008/08/erlang-as-middleware.html">http://debasishg.blogspot.com/2008/08/erlang-as-middleware.html</a></li>
<li>del.icio.us &#8211; <a href="http://blog.socklabs.com/2008/07/delicious_is_gone_long_live_de">http://blog.socklabs.com/2008/07/delicious_is_gone_long_live_de</a></li>
<li>twitteri kloon <a href="http://twoorl.com/">twoorl</a> &#8211; <a href="http://yarivsblog.com/articles/2008/05/28/announcing-twoorl-an-open-source-erlyweb-based-twitter-clone/">http://yarivsblog.com/articles/2008/05/28/announcing-twoorl-an-open-source-erlyweb-based-twitter-clone/</a></li>
<li><a href="http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol">AMQP</a> &#8211; <a href="http://www.rabbitmq.com/">RabbitMQ</a></li>
<li>erlyweb &#8211; <a href="http://erlyweb.org/">http://erlyweb.org/</a></li>
<li>scalaris &#8211; <a href="http://www.onscale.de/scalaris.html">skaleeruv, veakindel, struktueeritud, transaktsioonidega p2p storage mootor</a></li>
<li>CouchDB &#8211; <a href="http://incubator.apache.org/couchdb/">http://incubator.apache.org/couchdb/</a></li>
</ul>
<p>Ühesõnaga hunnik huvitavaid töövahendeid üsna valmis kujul olemas. Järsku peaks midagi neist ehitama? Materjali nagu ju oleks? Ja pagan, kui Yariv kirjutas twitteri klooni 2-3 päevaga..</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/08/28/erlang-middleware-on-mida-vaadata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IVR-i seikluse kokkuvõte</title>
		<link>http://w3.uninet.ee/blog/2008/06/20/ivr-i-seikluse-kokkuvote/</link>
		<comments>http://w3.uninet.ee/blog/2008/06/20/ivr-i-seikluse-kokkuvote/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 22:49:27 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[erlang]]></category>
		<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/06/20/ivr-i-seikluse-kokkuvote/</guid>
		<description><![CDATA[Tänaseks on eelmises postituses kirutud probleemid juba ajalugu. Rakendus on olnud umbes kolme nädala jagu toodangus ja ptui.. ptui siiani igati edukalt töötanud.
Kokkuvõtteks:

1900 rida erlangi koodi s.h. kolmanda osapoole komponentide emulaatorid
480 rida VXML-i

Aega umbes 2 töönädalat. Põhiline sellest aru saamaks, mis loom see vxml on. Erlangi osa läks suhteliselt valutult. Paar gen_server moodulit, supervisor, application, [...]]]></description>
			<content:encoded><![CDATA[<p>Tänaseks on eelmises postituses kirutud probleemid juba ajalugu. Rakendus on olnud umbes kolme nädala jagu toodangus ja <em>ptui.. ptui</em> siiani igati edukalt töötanud.</p>
<p>Kokkuvõtteks:</p>
<blockquote><p><code><br />
1900 rida erlangi koodi s.h. kolmanda osapoole komponentide emulaatorid<br />
480 rida VXML-i<br />
</code></p></blockquote>
<p>Aega umbes 2 töönädalat. Põhiline sellest aru saamaks, mis loom see vxml on. Erlangi osa läks suhteliselt valutult. Paar gen_server moodulit, supervisor, application, paar API moodulit, hunnik emulaatoreid keskkonna testimiseks. Kõige rohkem aega erlangi poolel kulus xml&#8217;i parseri kenasti streaming reziimis tööle panekuks.</p>
<p>Umbes võrreldava (aga mitte täpselt sama) funktsionaalsusega rakendus javas 8300 rida koodi. </p>
<p>Midagi pole öelda, ka siin leiab kinnitust Ulf Wigeri tees <em>4 kordsest produktiivsuse kasvust võrreldes muude vahenditega</em> [<a href="http://www.erlang.se/publications/Ulf_Wiger.pdf">http://www.erlang.se/publications/Ulf_Wiger.pdf</a>].</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/06/20/ivr-i-seikluse-kokkuvote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hello world..</title>
		<link>http://w3.uninet.ee/blog/2008/03/28/hello-world/</link>
		<comments>http://w3.uninet.ee/blog/2008/03/28/hello-world/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 23:59:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[erlang]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/03/28/hello-world/</guid>
		<description><![CDATA[Iga asi algab algusest. Kui asi on kuidagigi seotud programmerimisega, siis on alguseks mingisugunne &#8220;hello worldi&#8221; ekraanile trükkimine. Näiteks erlangis käib see umbes nii:

-module(hello).
-export([world/0]).
world() -&#62;
    io:format("Hello world~n").

Aga kogu selle kirjutamise käigus armastab wordpress kuidagi vastikult asju ümber formattida. Huvitav, kuidas kogenud kasutajad postitavad artikkleid, kus on preformatitud koodi sees?
Proovime, kas nüüd on parem:


print_numbers(N) ->
  [...]]]></description>
			<content:encoded><![CDATA[<p>Iga asi algab algusest. Kui asi on kuidagigi seotud programmerimisega, siis on alguseks mingisugunne &#8220;hello worldi&#8221; ekraanile trükkimine. Näiteks erlangis käib see umbes nii:<br />
<code><br />
-module(hello).<br />
-export([world/0]).<br />
world() -&gt;<br />
    io:format("Hello world~n").<br />
</code><br />
Aga kogu selle kirjutamise käigus armastab wordpress kuidagi vastikult asju ümber formattida. Huvitav, kuidas kogenud kasutajad postitavad artikkleid, kus on preformatitud koodi sees?</p>
<p>Proovime, kas nüüd on parem:<br />
<code>
<pre>
print_numbers(N) ->
    [io:format("~p ", [X]) || X < - lists:seq(N)].
</pre>
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/03/28/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
