<?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; progemine</title>
	<atom:link href="http://w3.uninet.ee/blog/category/progemine/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>syntaksi higlight wordpressis</title>
		<link>http://w3.uninet.ee/blog/2009/03/19/syntaksi-higlight-wordpressis/</link>
		<comments>http://w3.uninet.ee/blog/2009/03/19/syntaksi-higlight-wordpressis/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 23:57:05 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/?p=78</guid>
		<description><![CDATA[Asjad arenevad &#8211; installisin süntaksi highlightimise mooduli wordpressi jaoks. Ja nüüd tuleb &#8220;hello world&#8221; selle väljundi testimiseks:

hello() -&#62;
    World = &#34;world&#34;,
    io:format(&#34;Hello highlighted ~p~n&#34;, [World]).

Huvitav, kas tuleb ilus hello world!?
Ei tulnud.. Kokku tubli tund-poolteist jamamist, ets saaks enamvähem mõistliku näoga väljundi. Ei ole see javascripti http://code.google.com/p/syntaxhighlighter/ sugigi nii mõnus, [...]]]></description>
			<content:encoded><![CDATA[<p>Asjad arenevad &#8211; installisin süntaksi highlightimise mooduli wordpressi jaoks. Ja nüüd tuleb &#8220;hello world&#8221; selle väljundi testimiseks:</p>
<pre class="brush: erlang">
hello() -&gt;
    World = &quot;world&quot;,
    io:format(&quot;Hello highlighted ~p~n&quot;, [World]).
</pre>
<p>Huvitav, kas tuleb ilus hello world!?</p>
<p>Ei tulnud.. Kokku tubli tund-poolteist jamamist, ets saaks enamvähem mõistliku näoga väljundi. Ei ole see javascripti <a href="http://code.google.com/p/syntaxhighlighter/">http://code.google.com/p/syntaxhighlighter/</a> sugigi nii mõnus, kui võiks olla.</p>
<p>Praegune muditud koodijupp erlangi enamvähem ilusti kuvamiseks on selline:</p>
<pre class="brush: javascript">
SyntaxHighlighter.brushes.Erlang = function()
{
 var keywords = &#039;after begin case catch cond end fun if let of query receive when &#039;+
  &#039;define record export import include include_lib ifdef ifndef else endif undef &#039;+
  &#039;apply attribute call do in letrec module primop try&#039;;

 this.regexList = [
  { regex: /%.*$/gm,                    css: &#039;comment&#039; },   // one line comments
  { regex: /&quot;(?!&quot;)(?:\.|\\\&quot;|[^\&quot;&quot;\n])*&quot;/gm,    css: &#039;string&#039; },
  { regex: new RegExp(this.getKeywords(keywords), &#039;g&#039;),  css: &#039;keyword&#039; },
  { regex: /[A-Z][A-Za-z0-9_@]*/gm,     css: &#039;variable&#039; },
  { regex: /\\w+\/\\d+/g,       css: &#039;funs&#039;}
  ];

  this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};

SyntaxHighlighter.brushes.Erlang.prototype = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Erlang.Aliases = [&#039;erlang&#039;, &#039;erl&#039;];
</pre>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2009/03/19/syntaksi-higlight-wordpressis/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>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>hea disain toimib &#8211; jQuery</title>
		<link>http://w3.uninet.ee/blog/2008/09/29/hea-disain-toimib-jquery/</link>
		<comments>http://w3.uninet.ee/blog/2008/09/29/hea-disain-toimib-jquery/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 18:15:15 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/09/29/hea-disain-toimib-jquery/</guid>
		<description><![CDATA[Mõned nädalad tagasi tuli hullumeelne mõte vaadata uuesti ringi kuidas tänapäeval weebi  ja eriti kuidas selle popimat poolt web 2.0 tehakse.
Vaatasin ringi mitmesuguste erinevate javascripti, json, ajax märksõnu toetavate biblioteekide vahel. Kõige sümpatsemana jäi silma jQuery. Võimalik, et sümpaatsuse põhjuseks oli see, et sain aru mida jQuery library teha üritab ja kuidas ta seda [...]]]></description>
			<content:encoded><![CDATA[<p>Mõned nädalad tagasi tuli hullumeelne mõte vaadata uuesti ringi kuidas tänapäeval weebi  ja eriti kuidas selle popimat poolt web 2.0 tehakse.</p>
<p>Vaatasin ringi mitmesuguste erinevate javascripti, json, ajax märksõnu toetavate biblioteekide vahel. Kõige sümpatsemana jäi silma <a href="http://www.jquery.com/">jQuery</a>. Võimalik, et sümpaatsuse põhjuseks oli see, et sain aru mida jQuery library teha üritab ja kuidas ta seda teha üritab. Enamuse javascriti asjadega on siiamani olnud tunne kui pudru ja kapsad &#8211; lihsalt ei saa aru mida tehakse.</p>
<p>Igatahes hea meel, et sama hinnangu on andnud mitmed teisedki:</p>
<ul>
<li><a href="http://www.eweek.com/c/a/Application-Development/Microsoft-Adopts-OpenSource-jQuery-JavaScript-Library/">Microsoft Adopts jQuery</a></li>
<li><a href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/">Microsoft, Nokia adopt jQuery</a></li>
<li><a href="http://www.hanselman.com/blog/jQuerytoshipwithASPNETMVCandVisualStudio.aspx">jQuery to ship with ASP.NET MVC and Visual Studio</a></li>
<li><a href="http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison">Dojo vs JQuery vs MooTools vs Prototype Performance Comparison</a></li>
</ul>
<p>Ja mis kõige lahedam &#8211; lisaks normaalsele diasinile &#8211; ka töötab mõistliku kiirusega.</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/09/29/hea-disain-toimib-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lihtne kvaliteedi meetrika;)</title>
		<link>http://w3.uninet.ee/blog/2008/09/24/lihtne-kvaliteedi-meetrika/</link>
		<comments>http://w3.uninet.ee/blog/2008/09/24/lihtne-kvaliteedi-meetrika/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 20:52:29 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/09/24/lihtne-kvaliteedi-meetrika/</guid>
		<description><![CDATA[Sellel teemal milline programm on ilus on kirjutatud hunnik raamatuid. Pea igas firmas, mis programeerimisega tegeleb on olemas mingid reeglite kogud.
Väga lihtsalt on kõik need kokkuvõetud sellel karikatuuril WTF/minute metrics.
Huvitav, milline võiks olla enda kirjutatud asjade WTF/min paari aasta pärast kasvõi iseendal vaadata..

]]></description>
			<content:encoded><![CDATA[<p>Sellel teemal milline programm on ilus on kirjutatud hunnik raamatuid. Pea igas firmas, mis programeerimisega tegeleb on olemas mingid reeglite kogud.</p>
<p>Väga lihtsalt on kõik need kokkuvõetud sellel karikatuuril <a href="http://www.osnews.com/images/comics/wtfm.jpg">WTF/minute metrics</a>.</p>
<p>Huvitav, milline võiks olla enda kirjutatud asjade <strong>WTF/min</strong> paari aasta pärast kasvõi iseendal vaadata..</p>
<p><a href='http://w3.uninet.ee/blog/wp-content/uploads/2008/09/wtfm.jpg' title='wtfm.jpg'><img src='http://w3.uninet.ee/blog/wp-content/uploads/2008/09/wtfm.jpg' alt='wtfm.jpg' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/09/24/lihtne-kvaliteedi-meetrika/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>Tarkvara debugimise kulu kasvab &#8211; SOA on süüdi</title>
		<link>http://w3.uninet.ee/blog/2008/08/07/tarkvara-debugimise-kulu-kasvab-soa-on-suudi/</link>
		<comments>http://w3.uninet.ee/blog/2008/08/07/tarkvara-debugimise-kulu-kasvab-soa-on-suudi/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 19:50:07 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[progemine]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/08/07/tarkvara-debugimise-kulu-kasvab-soa-on-suudi/</guid>
		<description><![CDATA[IDC uuringust 139 organisatsiooni tarkvaraga seotud protsessidest tuleb välja, et vigade otsimise keerukus on järjest kasvav ja järjest kulukam. Ühe põhjusena tuuakse välja popi ja noortepärase SOA arhitektuuri kasutamine.
Software debugging costs rise; SOA blamed
	http://blogs.zdnet.com/service-oriented/?p=1148
	http://www.scmagazineuk.com/Cost-of-fixing-software-defects-runs-into-millions/article/112597/
http://www.infoworld.com/news/feeds/08/07/23/Faulty-complex-in-house-software-costs-companies&#8211;says-IDC.html

SOA gets a share of the blame for the escalating costs. The report
cites “increased software complexity from multicore, Web 2.0 and SOA”
that [...]]]></description>
			<content:encoded><![CDATA[<p>IDC uuringust 139 organisatsiooni tarkvaraga seotud protsessidest tuleb välja, et vigade otsimise keerukus on järjest kasvav ja järjest kulukam. Ühe põhjusena tuuakse välja popi ja noortepärase SOA arhitektuuri kasutamine.</p>
<p><strong>Software debugging costs rise; SOA blamed</strong></p>
<p>	<a href="http://blogs.zdnet.com/service-oriented/?p=1148">http://blogs.zdnet.com/service-oriented/?p=1148</a><br />
	<a href="http://blogs.zdnet.com/service-oriented/?p=1148">http://www.scmagazineuk.com/Cost-of-fixing-software-defects-runs-into-millions/article/112597/</a><br />
<a href="http://www.infoworld.com/news/feeds/08/07/23/Faulty-complex-in-house-software-costs-companies--says-IDC.html">http://www.infoworld.com/news/feeds/08/07/23/Faulty-complex-in-house-software-costs-companies&#8211;says-IDC.html</a></p>
<blockquote><p>
SOA gets a share of the blame for the escalating costs. The report<br />
cites “increased software complexity from multicore, Web 2.0 and SOA”<br />
that not only make bugs more prevalent, but also more complicated to<br />
fix. As IDC put it: “The increased complexity of software development<br />
environments and the cost of fixing defects in the field (rather than<br />
early in the software cycle) combine in exorbitant ways to drain<br />
income and to hamstring businesses as a result of critical software downtime.”
</p></blockquote>
<p>Eks ta nii pea olemagi &#8211; mida keerulisem on mingi süsteemi ülesehitus ning mida rohkematest komponentidest ta koosneb &#8211; seda keerulisem on sellest vigu leida. Võtame kasvõi Sveitsi noa &#8211; tükk aega läheb aega enne kui kümmnete kokkukomplekteeritud vidinate hulgast leiab noa üles aru saamaks, et tera on nüri ning essugi ei lõika. Tavalise pussnoa korral on hulka lihtsam <em>debugida, et tera on nüri</em>;)</p>
<p>Sama tähelepanek ka igapäevasest tööelust &#8211; rakendusi aetakse ühe keerulisemaks pannes sinna kõiki kolmetähelisi lühendeid SOA, XML, igasugu serviceid aga iga üksiku töövoo probleemi tagaajamine selles rägastikus muutub aina keerulisemaks. Isegi kui konkreetne ülesanne ise on ääretult lihtne, siis tegelikke tegevusi kümmnete kihtite vahel lihtsalt ei leia üles.</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/08/07/tarkvara-debugimise-kulu-kasvab-soa-on-suudi/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>ccxml, vxml.. No milleks neid nurksulge on vaja?</title>
		<link>http://w3.uninet.ee/blog/2008/04/14/ccxml-vxml-no-milleks-neid-nurksulge-on-vaja/</link>
		<comments>http://w3.uninet.ee/blog/2008/04/14/ccxml-vxml-no-milleks-neid-nurksulge-on-vaja/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 21:39:24 +0000</pubDate>
		<dc:creator>taavi</dc:creator>
				<category><![CDATA[progemine]]></category>

		<guid isPermaLink="false">http://w3.uninet.ee/blog/2008/04/14/ccxml-vxml-no-milleks-neid-nurksulge-on-vaja/</guid>
		<description><![CDATA[Viimasel paaril päeval on tulnud kokku puutuda IVR e. Interactive Voice Response süsteemidega. Kahjuks on ka sinna jõudnud popp ning noortepärane idee, et absoluutselt kõike tuleb kirjutada .xml formeeringus.
Kõige hullem, et kui juba üks kord on hakatud xml&#8217;iga tegelema, siis ei saada enam kuidagi pidama. Kõike üritatakse sama vitsaga lüüa. 
Näiteks Hewlett-Packardi OpenCall Media Platvorm. [...]]]></description>
			<content:encoded><![CDATA[<p>Viimasel paaril päeval on tulnud kokku puutuda IVR <em>e. Interactive Voice Response</em> süsteemidega. Kahjuks on ka sinna jõudnud popp ning noortepärane idee, et absoluutselt kõike tuleb kirjutada <strong>.xml</strong> formeeringus.</p>
<p>Kõige hullem, et kui juba üks kord on hakatud xml&#8217;iga tegelema, siis ei saada enam kuidagi pidama. Kõike üritatakse sama vitsaga lüüa. </p>
<p>Näiteks <a href="http://h20229.www2.hp.com/partner/opencall/development/MediaPlatform/gettingstarted/gettingstarted_ocmp.html">Hewlett-Packardi OpenCall Media Platvorm</a>. Sellele pakutakse ilusti development kit&#8217;i. Aga oh õudust &#8211; see ütleb mingi konfiguratsioooni faili peale &#8211; <strong>&#8220;unable to parse, moving to corrupt.xml&#8221;</strong>. Kõik on kena, xml&#8217;i tagid klapivad, mingit imeasja ei ole &#8211; aga ei ole konfiguratsioonifailiga rahul.</p>
<p>Pusid pool päeva sadade xml konfifailide vahel, aeg-ajalt paned käima ühte või teist O&#038;M rakendust, ikka ei toimi. Ikka ei parsi. Siis lõpuks leiad kuskilt failist üles mingi rea kujul &lt;license expires=&#8221;11/2007&#8243;/&gt;. Ning kuklataga hakkab lööma kella &#8211; <em>äkki, äkki on mitteparsimise põhjus vananenud litsentsis?</em>. Pealse sadu muutmisi, <strong>paned igaks juhuks arvuti kella aasta jagu tagasi &#8211; ja ennäe &#8211; xml on kohe paremini parsitav;)</strong> Vähemalt rakenduse sai käima!</p>
<p>Hea! Aga kahjuks mitte kauaks. Serveerid voice browserile omast arust täiesti pädevaid .vxml dokumente, see väidab ikka, et <strong>&#8220;unable to parse: (null)&#8221;</strong>. Surfad kasutajaliideses ringi, leiad mingi valiku &#8211; recent ccxml calls. Sealt saab siis vaadata, mis on toimunud. Ette manatakse .xml formaadis CDR, mis on siis koht kus on kirjas reaalne veateade. Ja jälle nurksulgude vahel mingite <xml /> tagide vahel. Koos lehekülje jagu muu läbuga.</p>
<p>Kiri &#8211; &#8220;unable to parse vxml&#8221;. No mida see siis veel tähendab? Dokumenti serveerides on on ilusti mime tüüp kaasas <strong>application/voicexml+xml</strong> nigu RFC-s nõutakse, no mis häda veel saab olla? Jälle tunnike-paar hiljem on selgus käes, tuleb täiega ära näidata dokumendi schema.</p>
<blockquote><p>
<code><br />
 &lt;vxml xmlns="http://www.w3.org/2001/vxml"<br />
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
      xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/voicexml20/vxml.xsd"<br />
      version="2.0"&gt;<br />
</code>
</p></blockquote>
<p>No pagan.. Tahab valideerida? Siis kui on vaja tempokalt reaalajas kliendiga suhelda? Tõmba veebiserverist  seal jooksupealt genereeritud xml, parsi seesama xml, valideeri ja samal ajal katsu sammu pidada muusikaga, mis kliendile telefonitorus kostub?</p>
<p>Siis veel mõned juhuslikud vead, kus <strong>&lt;var name=&#8221;number&#8221; expr=&#8221;0&#8243;/&gt;</strong> peab kohati olemas ülakomade vahel, kohati mitte või ümbernurga <strong>&lt;assign name=&#8221;number&#8221; expr=&#8221;number+1&#8243;/&gt;</strong>. Need saab juba kiiresti ära parandatud. Kuniks päevase pusimise tulemusena öeldakse mulle &#8220;tere taavi&#8221; minu enda käreda häälega. Toru esialgu veel hargile ei panda. Aga see selleks.</p>
<p>Oeh, miks ei võiks selle asemel olla üks hea rakenduse kohane spetsialiseeritud keel (<em>Domain Specific Language</em>). Kus saaks kohe kirjutada muutuja=väärtus või midagi sellist lihtsat.</p>
<p>Aga aitab, on noritud küllalt. Homme maadleb edasi..</p>
]]></content:encoded>
			<wfw:commentRss>http://w3.uninet.ee/blog/2008/04/14/ccxml-vxml-no-milleks-neid-nurksulge-on-vaja/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
