<?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>Code.az</title>
	<atom:link href="http://code.az/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.az</link>
	<description>Oh my Code!</description>
	<lastBuildDate>Tue, 06 Mar 2012 12:15:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ElasticInbox</title>
		<link>http://code.az/elasticinbox/</link>
		<comments>http://code.az/elasticinbox/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 12:13:15 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://code.az/?p=112</guid>
		<description><![CDATA[For the last few months I was involved with very interesting project &#8211; ElasticInbox. The goal was to build highly available email store without a single point of failure which can run on commodity hardware and scale linearly. Initially we were planning to load ~30M messages. In past few years there&#8217;s been very interesting development [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://elasticinbox.github.com/api/images/elasticinbox-logo.png" align="right" style="margin:20px" />For the last few months I was involved with very interesting project &#8211; <a href="http://www.elasticinbox.com" target="_blank">ElasticInbox</a>. The goal was to build highly available email store without a single point of failure which can run on commodity hardware and scale linearly. Initially we were planning to load ~30M messages.</p>
<p>In past few years there&#8217;s been very interesting development in the area of data storage technologies driven by the cloud adoption &#8211; all sorts of NoSQL databases, Blob stores, etc. After researching various data storage technologies we&#8217;ve chosen Cassandra and OpenStack Object Store for our implementation.</p>
<p>Despite that, we designed ElasticInbox to be independent of the particular storage technology. For example, we used jclouds to provide blob store abstraction. In future, we may add HBase driver in addition to Cassandra.</p>
<p>ElasticInbox was open sourced and available at <a href="https://github.com/elasticinbox/elasticinbox/" target="_blank">GitHub</a>. Below are the presentation slides and <a href="http://skillsmatter.com/podcast/nosql/cassandra-storage" target="_blank">video</a> from Cassandra London meetup. For more info visit <a href="http://www.elasticinbox.com" target="_blank">www.elasticinbox.com</a>.</p>
<div id="__ss_11686085" style="width: 510px;"><iframe src="http://www.slideshare.net/slideshow/embed_code/11686085?rel=0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="510" height="426"></iframe></div>
<p>&nbsp;</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/vX-3UW88wlg" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/elasticinbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source BI &#8211; 3 years later</title>
		<link>http://code.az/open-source-bi-survey/</link>
		<comments>http://code.az/open-source-bi-survey/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 23:21:31 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[BI]]></category>

		<guid isPermaLink="false">http://code.az/?p=69</guid>
		<description><![CDATA[3-4 years ago BI was the top priority for CIOs of almost all medium/large enterprises while small companies couldn&#8217;t catch up due to massive costs. So I did research in order find out whether Open Source BI actually saves money and facilitates BI rollout in small companies. The answer was – “not quite”. It turned out that [...]]]></description>
			<content:encoded><![CDATA[<p>3-4 years ago BI was the top priority for CIOs of almost all medium/large enterprises while small companies couldn&#8217;t catch up due to massive costs.</p>
<p>So I did <a href="http://code.az/my-masters-thesis-finished/">research</a> in order find out whether Open Source BI actually saves money and facilitates BI rollout in small companies. The answer was – “not quite”. It turned out that the major part of the cost is implementation. With affordable commercial BI solutions like Microsoft BI, cost of the software is miniature in comparison to the implementation costs. Another finding was that implementation using internal resources is actually cheaper than using 3rd parties.</p>
<p>Recently I have got an opportunity to check current situation. Pentaho London User Group (PLUG) meetup which took place last week had more than 40 participants. It was surprising to see so much interest in Open Source BI so I decided to conduct a small survey. After quick chat with Tom (one of the PLUG founders) we came up with the following questions (original questionnaire can be <a href="http://code.az/wp-content/uploads/2011/02/PLUG-Survey.pdf">downloaded here</a>):<span id="more-69"></span></p>
<ol>
<li>What is the size of your company?</li>
<li>Do you currently use BI in your company?</li>
<li>Type of BI tools (Open Source, Commercial, etc)?</li>
<li>Who worked on BI implementation?</li>
<li>Any plans for BI with Big Data?</li>
<li>Which BI functionalities are used (Reporting, ETL, etc.)?</li>
</ol>
<p>Before going to the results, I have to mention that it was Pentaho meetup and one of the speakers &#8211; Matt Casters (PDI lead) was giving a talk on integration with Hadoop. This is to say that the audience was mostly people who were interested in those two things – Pentaho and Hadoop integration.</p>
<p>We’ve got about 50% response rate and here are interesting findings:</p>
<ol>
<li>53% was from medium and large companies vs. 47% from small companies. This shows growing interest to Open Source BI among medium and large companies who were traditionally with commercial vendors.</li>
<li>89% of medium/large companies already using BI vs. only 29% of small companies. This clearly shows that small companies are still behind in adoption speed. Costs?</li>
<li>60% of those use have BI are using Open Source Community Edition and 50% Enterprise Edition. Many of those are using both CE and EE. It’s interesting to see that people who pay for EE are also using CE in parallel.</li>
<li>No one actually using cloud based BI and only 1 person said they are interested in using it. Even though there are now companies like <a href="http://www.gooddata.com">GoodData</a>, Cloud based BI (or SaaS BI) hasn’t really took off yet.</li>
<li>My favourite one: 100% of interviewees said that they used internal resources to implement BI! 28% of those also used IT Consulting companies and/or BI vendor to help them. This clearly shows how BI has changed over the years. 5 years ago, when BI was relatively new, almost all companies had to turn to the 3rd parties simply because there were no experts. Nowadays, companies prefer to hire BI experts and let them implement and maintain BI and save some money.</li>
</ol>
<p>If you are interested, you can download raw survey results <a href="https://spreadsheets.google.com/ccc?key=0Amx-lUtY9OVMdERUMURxY0tsYk5UU19OX3pMMFpnTEE&amp;hl=en">from here</a>. All PLUG speeches can be found at the <a href="http://skillsmatter.com/user-group/ajax-ria/plug" target="_blank">SkillMatter website</a>.</p>
<p>I also compiled following infographic which reflects major findings:</p>
<p><a href="http://code.az/wp-content/uploads/2011/02/infog-bi-survey.jpg"><img class="aligncenter size-full wp-image-91" title="Infographic OSBI" src="http://code.az/wp-content/uploads/2011/02/infog-bi-survey.jpg" alt="" width="587" height="938" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/open-source-bi-survey/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Finally, My Master&#8217;s Thesis Finished!</title>
		<link>http://code.az/my-masters-thesis-finished/</link>
		<comments>http://code.az/my-masters-thesis-finished/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 00:40:26 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[BI]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=50</guid>
		<description><![CDATA[Finally I finished my master&#8217;s thesis research which I was doing at KTH (Royal Institute of Technology). Hardest part was to stop improving it. Thesis is in the Business Intelligence (BI) area and entitled &#8220;Business Intelligence for Small Enterprises: An Open Source Approach&#8221; BI market is very dynamic and has changed radically during my research [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0 0 5px 10px;" src="http://www.lib.kth.se/base/images/kth_logo.gif" alt="" align="right" />Finally I finished my master&#8217;s thesis research which I was doing at <a href="http://www.kth.se/">KTH (Royal Institute of Technology)</a>. Hardest part was to stop improving it. Thesis is in the Business Intelligence (BI) area and entitled <strong>&#8220;Business Intelligence for Small Enterprises: An Open Source Approach&#8221;<span id="more-50"></span></strong></p>
<p>BI market is very dynamic and has changed radically during my research period &#8211; Oracle acquired Hyperion, SAP acquired BusinessObjects, and finally IBM acquired Cognos.</p>
<p>Let&#8217;s get back to the thesis. Here&#8217;s an abstract:</p>
<blockquote><p>During the last decade, Business Intelligence (BI) became inevitable technological advantage of the large enterprises which could afford to buy, implement and maintain BI solutions. These days, small size enterprises which form 98% of all enterprises in the EU have realised competitive and financial benefits of the BI. However, limited IT budgets of small companies and BI’s high TCO (total cost of ownership) may cause power gap between large and small enterprises persists to enlarge where latter will find it increasingly difficult to compete. This paper explores open source (OS) approach to BI, whether OS could be an alternative to the commercial solutions, and more important whether OS BI provides cost saving. It defines and evaluates grounds that used for comparison of OS and commercial BI solutions.</p></blockquote>
<p>Open source were supposed to have lower TCO but&#8230;</p>
<p><img class="aligncenter" style="border: 1px solid black; position: relative; left: -15px;" src="http://www.code.az/files/thesis-osbi-tco.gif" alt="" /></p>
<p>&#8230;this chart from research shows that outsourced OS BI would cost as much as outsourced commercial BI solution (in this case Microsoft&#8217;s).</p>
<p>On the other hand, I found that insourcing can reduce TCO greatly. But is that case true only for OS BI? Probably no. CIO.com has an <a href="http://www.cio.com/article/342514" target="_blank">article with similar conclusion</a> that insourcing does pay, but in their case study Microsoft&#8217;s BI tools have been used.</p>
<p>Nevertheless, OS BI has following advantages over commercial solutions:</p>
<ul>
<li>Built upon open standards: reduce proprietary vendor lock-in risk</li>
<li>Availability of complete source code</li>
<li>Access to latest updates and patches</li>
<li>Active community (forums, mailing lists, etc.)</li>
</ul>
<p>If you are interested, you can read and download complete thesis from below:<br />
<object id="doc_605431890783264" name="doc_605431890783264" height="600" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" ><param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"><param name="wmode" value="opaque"><param name="bgcolor" value="#ffffff"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="FlashVars" value="document_id=16269145&#038;access_key=key-1z7f0weddo31540nnf4u&#038;page=1&#038;viewMode=list"><embed id="doc_605431890783264" name="doc_605431890783264" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=16269145&#038;access_key=key-1z7f0weddo31540nnf4u&#038;page=1&#038;viewMode=list" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="600" width="100%" wmode="opaque" bgcolor="#ffffff"></embed></object>	</p>
<p>PS: Don&#8217;t be scared with TCO figures, they are in Swedish Kronas (SEK).</p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/my-masters-thesis-finished/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sizin domen adınızı kim oğurlayıb</title>
		<link>http://code.az/domen-adinizi-kim-ogurlayib/</link>
		<comments>http://code.az/domen-adinizi-kim-ogurlayib/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 00:34:57 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Random Stuff]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=47</guid>
		<description><![CDATA[Bəlkə bu hadisə bəzilərinizin başına gəlmişdir: Siz online whois xidməti vasitəsilə keyfiyyətli boş bir domen adı tapırsınız (e.g. www.coolname.com). Bir neçə gün sonra bank kartınızı hazırlayıb onu almaq üçün təkrar həmin sayta qayıdıb görürsünüz ki domen artıq tutulub. Shit!&#8230; Domen Oğurluğu Ortada heç bir sübut olmadığına görə illədir mövcud olan bu problem üzə çıxmırdı. Lakin [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://code.az/files/ap_tldtheft.gif" border="0" alt="" hspace="5" align="right" />Bəlkə bu hadisə bəzilərinizin başına gəlmişdir: Siz online whois xidməti vasitəsilə keyfiyyətli boş bir domen adı tapırsınız (e.g. www.coolname.com). Bir neçə gün sonra bank kartınızı hazırlayıb onu almaq üçün təkrar həmin sayta qayıdıb görürsünüz ki domen artıq tutulub. Shit!&#8230;<span id="more-47"></span></p>
<h3>Domen Oğurluğu</h3>
<p>Ortada heç bir sübut olmadığına görə illədir mövcud olan bu problem üzə çıxmırdı. Lakin getdikcə artan oğurluqların sayı və azalan &#8220;oğurluq üçün vaxt&#8221; internet cəmiyyətinin həyəcanına səbəb oldu.</p>
<p>Son bir-iki həftədə onlarla xəbər bu mövzuya toxundu. Bəzi müəlliflər axtarışdan sonra domenlərin <a href="http://www.dailydomainer.com/2007173-who-is-monitoring-your-domain-searches-update.html">2 dəqiqədən də az</a> yaşadıqlarını iddia edirlər. Digərləri isə bu çirkə .COM və .NET TLD-lərinin ROOT DNS server sahibi olan Verisign-in də bulaşdığını <a href="http://www.domainnamenews.com/editorial/verisign-to-profit-from-rootserver-data/889">iddia edir</a>.</p>
<p>Rəsmi qurum olan ICANN’s Security and Stability Advisory Committee (SSAC) tərəfindən yayımlanan <a href="http://img.domaintools.com/blog/domain-name-front-running.pdf"> &#8220;Advisory on Domain Name Front Running&#8221;</a> sənədi məsələnin ciddiliyini daha da artırdı. Əsasən tövsiyyə xarakterli bu sənəd oğurluq prosesini yumuşaq olaraq <em>Domain Name Front Running</em> adlandırır.</p>
<p>Bu sənəddə SSAC problemin mümkün bir neçə mənbəyini ortaya qoyur:</p>
<ul>
<li>Client software</li>
<li>3rd Party WHOIS query portals</li>
<li>Unauthorized executables</li>
<li>DNS operators</li>
<li>Registrars (and resellers)</li>
<li>Name Spinners</li>
<li>Registries</li>
<li>Information leaks, social engineering</li>
</ul>
<p>Bu cür haııarı aradan qaıdırmaq üçün SSAC ictimayətə müraciət edərək, haqsızlıqla rastlaşanları SSAC-DNFR@ICANN.org ünvanına müraciət etmələrini istəyir.</p>
<h3>Azərbaycanda Domain Name Front Running (DNFR)</h3>
<p>Bəs bizdə vəziyyət necədir? Azərbaycanda .az TLD-ni yalnız bir qurum &#8211; <a href="http://www.nt.az/">NT</a> satır. Və bu qurumun yalnız bir whois xidməti mövcuddur: <a href="http://www.whois.az">www.whois.az</a>. Sadə dildə desək bu sahədə absolut manapoliyadır.</p>
<p>Buna görə yuxarıdakı halların çoxu bizdə yoxdur. Yerdə qalır:</p>
<ul>
<li><span style="text-decoration: line-through;">Client software</span></li>
<li><span style="text-decoration: line-through;">3rd Party WHOIS query portals</span></li>
<li><span style="text-decoration: line-through;">Unauthorized executables</span></li>
<li><span style="text-decoration: line-through;">DNS operators</span></li>
<li><strong>Registrars (and resellers)</strong></li>
<li><span style="text-decoration: line-through;">Name Spinners</span></li>
<li><strong>Registries</strong></li>
<li><span style="text-decoration: line-through;">Information leaks, social engineering</span></li>
</ul>
<p>Azərbaycanda Registrar və Registry eyni qurum olduğunu nəzərə alsaq, bu cür halların arxasında yalnız bir qurum dura bilər.</p>
<p>Əlimdə heç bir sübut olmasa da, başıma gələn bir neçə haldan sonra Azərbaycanda DNFR vasitəsilə domen adlarının mənimsənilməsinin ciddi olduğunu düşünürəm.</p>
<h3>Mübarizə Yolları</h3>
<p>Verisign bu oyunun içindədirsə .COM, .NET və digər beynəlxalq TLD-lər üçün çıxış yolu yalnız araşdırma ola bilər. Vəziyyət qəlizdir. Azərbaycan üçün isə çıxış yolu var!</p>
<p>Bir dostumun tez-tez müraciət etdiyi, yoxlanılmış üsul belədir: .az domeni almaq istəyirsinizsə və bu domenin başqası tərəfindən mənimsələnməsini istəmirsinizsə onda aşağıdakı kimi hərəkət edin:</p>
<ol>
<li>Səhər tezdən, iş günü başıayan kimi NT-nin qapısını kəsdirirsiniz (səhər yuxulu olduqlarına görə reaksiya zamanı nisbətən boyükdür)</li>
<li>Mobil telefonunuzdan <a href="http://www.whois.az">www.whois.az</a> saytına girib domenin boş olub-olmadığını yoxlayırsınız (mobil internetiniz yoxdursa interneti olan dostunuza zəng edib xahiş edə bilərsiniz)</li>
<li>Domen boşdursa həmən içəri daxil olub domeni almaq isədiyinizi bildirirsiniz.</li>
</ol>
<p>Beləliklə registrarin vaxtı olmur ki sizin domen adınızı &#8230; you know.</p>
<p>PS: Əğər sizin də domeninizi əlinizdən alıblarsa bizimlə bölüşün, aşağıda şərhinizi yazın.<br />
PPS: Thanks, Kazim &amp; Farid!</p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/domen-adinizi-kim-ogurlayib/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Thoughts on Extreme Programming</title>
		<link>http://code.az/thoughts-on-extreme-programming/</link>
		<comments>http://code.az/thoughts-on-extreme-programming/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 00:23:15 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=34</guid>
		<description><![CDATA[This is the review of the most interesting practices of eXtreme Programming described in Kent Beck’s 2nd edition of “Extreme Programming Explained: Embrace Change” book. Test-First Programming Test-First Programming (a.k.a. test-driven development) practice in XP very useful for prescription of the particular task. It is much easier to fix a problem when you really have [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin-left: 10px;" src="/files/ap_xp.gif" alt="" align="right" />This is the review of the most interesting practices of eXtreme Programming described in Kent Beck’s 2<sup>nd</sup> edition of “Extreme Programming Explained: Embrace Change” book.<span id="more-34"></span></p>
<h3>Test-First Programming</h3>
<p><em>Test-First Programming</em> (a.k.a. test-driven development) practice in XP very useful for prescription of the particular task. It is much easier to fix a problem when you really have it and vice versa (hard to achieve when you don’t know what). Writing failing test before solution for the task, is just like drawing a circle ring before trying to fill it in. Having an empty ring first, helps to fill exactly required area step-by-step. Steps can be hours, days or weeks. If there is no clear scope, probably you will go out of it and create &#8220;waste&#8221;, not a code. Even worse, you can leave some part of the task incomplete.</p>
<div>
<p style="text-align: center;"><img class="aligncenter" src="/files/xp-art1.png" alt="" width="476" height="323" /></p>
<p>Another important point is that soon or later one needs to test the software by writing a number of small tests. Why not to write them in advance? It would definitely save time and resources. <em>Unit testing</em> &#8211; one of the best concepts of XP can help here.</p>
<h3>User Stories</h3>
<blockquote><p><em>Giotto&#8217;s Circle.</em> Pope Benedict XI sent an emissary to obtain a sample of the Giotto&#8217;s work in order to evaluate his skill. Giotto smiled, took a sheet of paper and with one twist of his wrist drew a perfect circle freehand.</p></blockquote>
<p>While Giotto has extraordinary talent, in order to draw a perfect circle I need a tool. Otherwise I’ll draw irregular circle. Filling in this irregular circle will again create a waste and a lack.</p>
<p style="text-align: center;"><img class="aligncenter" src="/files/xp-art2.png" alt="" width="240" height="116" /></p>
<p>In classical methods this tool would be <em>Requirements</em>. In XP, this tool is a <em>User Stories</em> (or just <em>Stories</em>) practice. Stories describe what to do in a very short manner, maybe one sentence. By putting stories on an <em>index cards</em> and having them on the same table it&#8217;s easy to visually group, prioritise and estimate them together with a customer. It&#8217;s good practice to pick up most important stories to do first in order to eliminate risk early in the project. It is hard to do this in case of requirements while you have to extract important tasks first.</p>
<h3>Weekly Cycles</h3>
<p>XP proposes dividing development into <em>Weekly Cycles</em>. For me, weekly cycle is like a day from a human life. As soon as we wake up in the morning we plan what to do during a day – have breakfast, go to work, meet with customer, have lunch, and so on. Having Monday meetings in XP is the similar planning activity. All day along, we do what we planed. Finally, in the evening, if we accomplished all of them we are happily going to sleep. XP team will go proud for the weekend as well, if all tasks done. Although, I think that there are people who live in plan driven way (not agile or extreme), planning all activities for a months in advance.</p>
<p>Weekly Cycles are very natural. However, they not necessarily should be a weekly. A “day” can last a week, two weeks or even more. I think the most important part for XP team is to go to sleep on weekends. Otherwise, development cycle will look like a shifted work day when people work at nights and sleep in the afternoon. Productiveness of night work is always lower that productiveness of day work.</p>
<h3>Informative Workplace and Sitting Together</h3>
<p>Yet another very useful practice is an <em>Informative Workplace</em>, especially, usage of the wall. Putting index cards on the “informative wall” creates a clear development process measurement tool, which personally I missed along all my experience. It is so hard to explain and so often asked by the management people: “Where development process is at the moment?”. Now I can just show them a wall. Team members also benefit from it by gaining a sense of the progress.</p>
<p>However to make it work, all team members should seat in the same room. <em>Sitting Together</em> practice addresses exactly this benefit. Team members sitting in the same room, even better behind the same table, communicate much better. One may find this disturbing. However, there are more advantages rather then disadvantages.</p>
<h3>Ten-Minute Build</h3>
<p><em>Ten-Minute Build</em> is a dream of development teams. Fine tuned automation of compilation and testing (remember Unit Testing?) procedure will decrease defects and increase whole speed of the process. However, initial setup and tuning of such system may take weeks and may be not efficient for short development projects. In my opinion, to build “Ten-Minute Builds”, all compilation, tests and consequentially all code should be centralized. Thus, Ten-Minute Build primary practice probably implies <em>Single Code Base</em> corollary practice in it.</p>
<h2>XP Cons</h2>
<p>Despite popularity of XP method, not everyone thinks that XP is a good idea. There is an army of developers (mostly developers, not other team members) unsatisfied or against XP. However, criticisms seem to be focused on few practices.</p>
<h3>Pair Programming</h3>
<p><img style="margin-left: 10px;" src="/files/xp-pp.gif" alt="" align="right" /></p>
<p>Googling for XP practices returned abnormal number of negative comments on this method. Most of complaints were about <em>Pair Programming</em> practice, argued mostly by that company should trust professionals. In XP, Pair Programming is the primary and unique practice which proposes putting two developers in front of one keyboard. Arguments seem very convincing and pair programming is really controversial.</p>
<p>Even in its book, in the interview with … , author writes: “<em>If programmer won’t pair or if they insist on owning code, have the courage to fire them. The rest of the team will bail you out</em>”. Quite American way of working&#8230; But what if you can&#8217;t just fire them?</p>
<p>To get more figures on Pair Programming I would suggest reading the following:</p>
<ul>
<li>A. Cockburn, L. Williams “The Costs and Benefits of Pair Programming”</li>
<li>L. Williams, R. Kessler “Pair Programming Illuminated”</li>
</ul>
<p>Based on the real cases and interviews the first article advocates and highlights variety of PP advantages leveraged by statistical information.</p>
<p>Second book &#8211; PPI divides programmers into different categories and then discusses the possible effects. The programmer categories are novice, average, expert, introvert, and extrovert. And the possible combinations are:</p>
<ul>
<li>Expert-expert</li>
<li>Expert-average</li>
<li>Expert-novice (watch while I type)</li>
<li>Novice-novice (unsupervised!)</li>
<li>Extrovert-extrovert</li>
<li>Extrovert-introvert</li>
<li>Introvert-introvert</li>
</ul>
<p style="text-align: center;"><img class="aligncenter" src="/files/xp-dilbert1.gif" alt="" width="576" height="204" /></p>
<p>In the other book, which actually has been written against the 1<sup>st</sup> edition and called respectively “<em>Extreme Programming Refactored: The Case Against XP</em>” authors M. Stephens and D. Rosenberg point out following weak areas of Pair Programming:</p>
<ul>
<li>Pair programming is necessary in XP because it compensates for a couple of practices that XP shuns: up-front design and permanent design documentation</li>
<li>Pair programming is definitely not for everybody. I don’t want to share my desktop with anyone!</li>
<li>In a real project, “solo” programmers don’t really code alone; they’re part of a team. Typically, designs are reviewed by senior engineers who sign off on them.</li>
<li>If you’re working on something that is so complex that you actually need to concentrate, you need silence.</li>
<li>Most of us are willing to share (i.e., peer review) but we do not want to show our ‘stuff’ until it is ready. It is just human nature.</li>
</ul>
<h3>On-Site Customer</h3>
<p>Too much customer’s responsibility: schedule is the customer&#8217;s problem, requirements are the customer’s problem. The customer seems to have lots of problems. But isn&#8217;t that the key idea behind agile mehotds?</p>
<p style="text-align: center;"><img class="aligncenter" src="/files/xp-dilbert2.png" alt="" width="576" height="204" /></p>
<h2>More Information</h2>
<ul>
<li><a href="http://www.extremeprogramming.org/" target="_blank">eXtreme Programming</a></li>
<li><a href="http://en.wikipedia.org/wiki/Extreme_Programming">XP on WikiPedia</a></li>
<li>About Kent Beck <a href="http://c2.com/cgi/wiki?KentBeck">here</a> and <a href="http://www.threeriversinstitute.org/Kent%20Beck.htm">here</a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://code.az/thoughts-on-extreme-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BPMN Tutorial and Analysis</title>
		<link>http://code.az/bpmn-tutorial-and-analysis/</link>
		<comments>http://code.az/bpmn-tutorial-and-analysis/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 12:10:31 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=29</guid>
		<description><![CDATA[Developed by Business Process Management Initiative (BPMI) and released to public in May, 2004, BPMN specification has a number of key goals. The primary goal of BPMN was to provide a notation that understandable by all business users including business analysts, technical staff and all other business people involved in particular process. While at that [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin-left: 10px;" src="http://www.code.az/files/ap_chart.gif" alt="" align="right" />Developed by Business Process Management Initiative (<a href="http://www.bpmi.org/">BPMI</a>) and released to public in May, 2004, BPMN specification has a number of key goals. The primary goal of BPMN was to provide a notation that understandable by all business users including business analysts, technical staff and all other business people involved in particular process. While at that time a number of notations achieving same goal, like UML Activity Diagram already existed, BPMN addressed another important goal – visualization of business process executable languages such as BPML and BPEL.<span id="more-29"></span></p>
<p>However, when key vendors supporting BPML announced migration to <a href="http://www-128.ibm.com/developerworks/library/ws-bpel/">BPEL4WS</a>, BPMN focused on more mapping to BPEL as well. Nevertheless, <a href="http://www.omg.org/">OMG</a> – the organization currently maintaining BPMN<br />
specification, plans to add mapping support to executable languages such as <a href="http://www.ebxml.org/">ebXML BPSS</a>, <a href="http://www.rosettanet.org/">RosettaNet</a> and <a href="http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/">W3C Choreography Working Group Specification</a> when it will be completed.</p>
<p>Business Process Diagram (BPD) is a graphical model defined by BPMN. In order to achieve easy readability, BPD has been based on traditional flow-charting techniques without adding much complexity. Additionally, it allows extensions to the interface elements, flexible size, color, line style and text positions unless they do not conflict with the notation elements. Despite these, in order to provide mapping to executable languages<br />
BPMN has to trade-off some simplicity.</p>
<h3>Main Concepts</h3>
<p>BPMN groups graphical elements into small set of notation categories so that BPD readers such as business and technical people can easily recognize types of elements and understand them. Further, additional information and attributes can be added in order to support conversion to executable language.</p>
<p>There are four basic categories of elements:</p>
<ul style="margin-top: 0in;" type="disc">
<li>Flow Objects
<ul style="margin-top: 0in;" type="disc">
<li>Events</li>
<li>Activities</li>
<li>Gateways</li>
</ul>
</li>
<li>Connecting Objects
<ul style="margin-top: 0in;" type="disc">
<li>Sequence Flow</li>
<li>Message Flow</li>
<li>Association</li>
</ul>
</li>
<li>Swimlanes
<ul style="margin-top: 0in;" type="disc">
<li>Pool</li>
<li>Lane</li>
</ul>
</li>
<li>Artifacts
<ul style="margin-top: 0in;" type="disc">
<li>Data Object</li>
<li>Group</li>
<li>Annotation</li>
</ul>
</li>
</ul>
<p>Additionally, BPD allows extension to Flow Objects and Artifacts in order to meet custom needs.</p>
<h4>Flow Objects</h4>
<p>Flow objects group consists of three core elements:</p>
<table style="border-collapse: collapse; border: none;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding: 0 5.4pt;" width="91" valign="top"><strong>Event</strong></td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0 5.4pt;" valign="top">Represented by a circle, <em>Event</em> elements identify that something happens within business process. There are three types of <em>Events</em> – <em>Start</em>, <em>Intermediate</em> and <em>End</em>.</p>
<p>As the names imply, the <em>Start Event</em> indicates where a particular process will start and the <em>End Event</em> where it ends. <em>Intermediate Events</em> occur between <em>Start</em> and <em>End Events</em> respectively.</p>
<p>Event circles have open centers to allow internal markers to be specifies. <em>Start</em> and most <em>Intermediate Events</em> have Triggers that define cause for this event. Figures on the right show two of them: <em>Message</em> (<em>Start</em> and <em>Intermediate</em>) and <em>Timer</em> (<em>Start</em> and <em>Intermediate</em>).</p>
<p><em>Message Start</em> and <em>Message Intermediate Events</em> show that a message should arrive from a participant in order to trigger particular process. While <em>Timer</em> type of these <em>Events</em> show that a specific time (e.g. 9am), date (e.g. 20 October) or cycle (3 days) can be set in order to trigger a process.</td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image001.png" border="0" alt="" width="119" height="238" /></td>
</tr>
<tr>
<td style="width: 0.95in; padding: 0in 5.4pt;" width="91" valign="top"><strong>Activity</strong></td>
<td style="border: none; border-bottom: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top"><em>Activity</em> elements represented by rounded-corner rectangle and show a work to be done at this stage. It could be atomic or non-atomic. Atomic <em>Activities </em>are called <em>Tasks</em> and non-atomic <em>Activities</em> are called <em>Sub-Processes</em> respectively.</p>
<p><em>Sub-Process Activities</em> include compound activity within itself. In turn, <em>Sub-Process Activity</em> can be either Expanded or Collapsed. <em>Collapsed Sub-Processes </em>hides details and has a small plus sign in the bottom center of the shape. In contrast, <em>Expanded Sub-Process Activity</em> shows all process details within its boundary.</td>
<td style="border: none; border-bottom: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top">
<p style="text-align: right;"><img src="http://code.az/files/bpmn/image002.png" border="0" alt="" width="130" height="271" /></p>
</td>
</tr>
<tr>
<td style="width: 0.95in; border: medium none; padding: 0in 5.4pt;" width="91" valign="top"><strong>Gateway</strong></td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top"><em>Gateway</em> is represented by a diamond shape and controls divergence and convergence of flow paths. Depending on the symbol specified inside the diamond shape, <em>Gateway</em> flow object can determine forking, merging and joining. Here we will show you only three of them: <em>Exclusive (XOR)</em>, <em>Inclusive (OR)</em> and <em>Parallel (AND) Gateways</em>.</p>
<p>The difference between <em>Exclusive</em> and <em>Inclusive Gateways</em> is that <em>Exclusive (XOR) Gateways</em> allows only one flow of a set of alternatives to be chosen, while <em>Inclusive (OR) Gateways</em> will enable all flows with true condition.</p>
<p>Gateways will be explained more detailed in the examples below.</td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image003.png" border="0" alt="" width="99" height="277" /></td>
</tr>
</tbody>
</table>
<h4>Connecting Objects</h4>
<p>Relations between the Flow Objects are represented using Connecting Objects. There are three different Connecting Objects:</p>
<table style="border-collapse: collapse; border: none;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 0.95in; padding: 0in 5.4pt;" width="91" valign="top"><strong>Sequence Flow</strong></td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top">A <em>Sequence Flow</em> shows a flow or an order in which activities will be performed and represented with a solid line and arrowhead. <em>Sequence Flow</em> may be <em>Conditional</em> &#8211; marked by a diamond or <em>Default</em> &#8211; marked by a diagonal slash in the beginning of the line.</p>
<p><em>Conditional Flows</em> have condition expressions that are evaluated to determine whether or not to follow this path.</p>
<p>For <em>Inclusive</em> and <em>Exclusive Gateways</em>, one of the flows can be a <em>Default Flow</em>. This flow will be used only if all the other outgoing conditional flows are not true.</td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image004.png" border="0" alt="" width="117" height="164" /></td>
</tr>
<tr>
<td style="width: 0.95in; padding: 0in 5.4pt;" width="91" valign="top"><strong>Message Flow</strong></td>
<td style="border: none; border-bottom: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top">A <em>Message Flow</em> is used to show the flow of messages between two <em>Participants</em> (<em>Pools</em>) and represented with a dashed line and an open arrowhead.</td>
<td style="border: none; border-bottom: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image005.png" border="0" alt="" width="121" height="43" /></td>
</tr>
<tr>
<td style="width: 0.95in; border: medium none; padding: 0in 5.4pt;" width="91" valign="top"><strong>Association</strong></td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top"><em>Associations</em> are used to associate data, text, and other <em>Artifacts</em> with flow objects and represented by a dotted line with a line arrowhead. <em>Associations</em> are used to show the inputs and outputs of activities.</td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image006.png" border="0" alt="" width="104" height="36" /></td>
</tr>
</tbody>
</table>
<h4>Swimlanes</h4>
<p>A <em>Swimlane</em> is a visual mechanism of organizing different activities into categories of the same functionality. BPD defines two types of <em>Swinlanes</em>:</p>
<table style="border-collapse: collapse; border: none;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 0.95in; padding: 0in 5.4pt;" width="91" valign="top"><strong>Pool</strong></td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top">A <em>Pool</em> represents a <em>Participant</em> in a Process. It is represented with a wide rectangle containing group of <em>Flow Objects</em>, <em>Connecting Objects</em> and <em>Artifacts</em>. Separate <em>Pools</em> in the BPD will represent different <em>Participants</em> (e.g. different companies).</td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image007.png" border="0" alt="" width="128" height="71" /></td>
</tr>
<tr>
<td style="width: 0.95in; border: medium none; padding: 0in 5.4pt;" width="91" valign="top"><strong>Lane</strong></td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top">A <em>Lane</em> represents sub-part of the <em>Pool</em> and divides it either vertically or horizontally. <em>Lanes</em> are used to organize and categorize activities (e.g. departments within a company).</td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image008.png" border="0" alt="" width="128" height="71" /></td>
</tr>
</tbody>
</table>
<h4>Artifacts</h4>
<p><em>Artifacts</em> help modelers and developers add more information to the diagram, thus making it more readable for user. Even though there are only three types of Artifacts in BPD, BPMN expandability allows addition of custom Artifact types.</p>
<table style="border-collapse: collapse; border: none;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 0.95in; padding: 0in 5.4pt;" width="91" valign="top"><strong>Data Object</strong></td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top"><em>Data Objects</em> are used to show which data is required or produced in an <em>Activity</em>.</td>
<td style="border-top: solid windowtext 1.0pt; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image009.png" border="0" alt="" width="88" height="71" /></td>
</tr>
<tr>
<td style="width: 0.95in; padding: 0in 5.4pt;" width="91" valign="top"><strong>Group</strong></td>
<td style="border: none; border-bottom: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top">A <em>Group</em> is represented with a rounded-corner rectangle and dashed lines. The <em>Group</em> is used to visually group different <em>Activities</em> but does not affect the flow. <em>Groups</em> can be used across <em>Pools</em> and <em>Lanes</em>.</td>
<td style="border: none; border-bottom: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image010.png" border="0" alt="" width="94" height="76" /></td>
</tr>
<tr>
<td style="width: 0.95in; border: medium none; padding: 0in 5.4pt;" width="91" valign="top"><strong>Annotation</strong></td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" valign="top"><em>Text Annotations</em> are a mechanism to provide additional information for the reader.</td>
<td style="border: none; padding: 0in 5.4pt 0in 5.4pt;" align="center" valign="top"><img src="http://code.az/files/bpmn/image011.png" border="0" alt="" width="90" height="38" /></td>
</tr>
</tbody>
</table>
<h3>BPMN by Examples</h3>
<p>Before putting these elements together, first lets take a look at an example of particular business process of Mobile Content Provider who sells mobile ringtones, wallpapers and games.</p>
<p>A use case example for this mobile content acquisition process could be one shown below:</p>
<ol style="margin-top: 0in;">
<li style="text-align: justify;">Actor (Customer) sends 5 digit code (e.g. 34567) via SMS to the Short Number of Mobile Content Provider company</li>
<li style="text-align: justify;">System (Content Provider) verifies received SMS content</li>
<li style="text-align: justify;">System detects Content Type based on the first digit of received code (i.e. 3 for <span style="text-decoration: underline;">3</span>4567)</li>
<li style="text-align: justify;">System applies specific rules for respective content type</li>
<li style="text-align: justify;">System fetches Binary Content from Database based on last 4 digits of received code (i.e. 4567 for 3<span style="text-decoration: underline;">4567</span>)</li>
<li style="text-align: justify;">System generates Unique Content ID and stores Binary Content under this ID.</li>
<li style="text-align: justify;">System sends special WAP link with Unique Content ID to an Actor and at the same time charges an Actor</li>
<li style="text-align: justify;">Actor follows received WAP link from Mobile Browser and downloads desired Content to its device</li>
<li style="text-align: justify;">System deletes stored binary object after successful delivery. Otherwise, content will become expired and deleted automatically after 3 days.</li>
</ol>
<p>One of the possible BPMN diagrams for this scenario may look like Figure 1. When customer sends SMS with desired content code, it triggers <em>Start Event</em> and business process starts. Then by having <em>Task Activity</em> we decode SMS and get 5 digit content code ready for analysis.</p>
<p>Now, in order to apply content specific rules, we add <em>Exclusive Gateway</em> which will analyze first digit of the code and restrict consequent flow only to the matching path. While major part of the orders is ringtones, we can make this case a <em>Default Flow</em>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://code.az/files/bpmn/image012.png" border="0" alt="" width="576" height="587" /></p>
<div style="font-size: 8px; text-align: center;"><strong>Figure 1</strong>. Mobile Content Provider BPD</div>
<p style="text-align: center;"><img class="aligncenter" src="http://code.az/files/bpmn/image013.png" border="0" alt="" width="503" height="159" /></p>
<div style="font-size: 8px; text-align: center;"><strong>Figure 1a</strong>. Generate Mobile Content Sub-process</div>
<p>Another possible representation would be using <em>Conditional Flows</em> like shown on Figure 2. However, such representation is equivalent to <em>Inclusive Gateways</em>, while it allows two or more flow to be enabled at the same time.</p>
<div style="text-align: center;"><img src="http://code.az/files/bpmn/image014.png" border="0" alt="" width="378" height="182" /></div>
<div style="font-size: 8px; text-align: center;"><strong>Figure 2</strong>. Using Conditional Flow</div>
<p>After applying specific rules and before generating mobile content we merge different <em>Sequence Flows</em>. BPMN uses the term &#8220;merge&#8221; to refer to the exclusive combining of two or more paths into one path (also known as an OR-Join). Another way of representing merge would be <em>Merging (XOR) Gateway</em> (see Figure 3).</p>
<div style="text-align: center;"><img src="http://code.az/files/bpmn/image015.png" border="0" alt="" width="342" height="182" /></div>
<div style="font-size: 8px; text-align: center;"><strong>Figure 3</strong>. Merging (XOR) Gateway</div>
<p>In both cases above only one of the incoming flows required in order to continue process. Although, in case if we need to have all of the incoming flows before continuing, for instance, apply a number of rules (A, B and C) for a specific content, we would use &#8220;join&#8221;. BPMN uses the term &#8220;join&#8221; to refer to the combining of two or more parallel paths into one path (also known as an AND-Join or synchronization). Then, Parallel (AND) Gateway is used to show the joining of multiple Flows (see Figure 4).</p>
<div style="text-align: center;"><img src="http://code.az/files/bpmn/image016.png" border="0" alt="" width="342" height="182" /></div>
<div style="font-size: 8px; text-align: center;"><strong>Figure 4</strong>. Joining using Parallel (AND) Gateway</div>
<p>As can be seen from the Figure 1, &#8220;Generate Mobile Content&#8221; is non-atomic, <em>Expanded Sub-process</em>. Diagram for this sub-process shown separately at the Figure 1a. In order to bring more clarity to sub-process description input and output Artifacts has been specified.</p>
<p>Forthcoming activity is also non-atomic. However, in contrast with previous activity, &#8220;Deliver Content&#8221; is <em>Collapsed Sub-Process</em>. Within <em>Collapsed Sub-Process</em> it is possible to specify activities with and without <em>Start</em> and <em>End Events</em>. In our case, while we dont use them, both <em>Tasks</em> – &#8220;Send SMS w/ WAP Link&#8221; and &#8220;Charge Customer&#8221; will be done in parallel. Another way to show this sub-process is using <em>Parallel (AND) Gateways</em> and &#8220;fork&#8221; as shown on Figure 5. BPMN uses the term &#8220;fork&#8221; to refer to the dividing of a path into two or more parallel paths (also known as an AND-Split). It is a place in the Process where activities can be performed concurrently, rather than sequentially.</p>
<div style="text-align: center;"><img src="http://code.az/files/bpmn/image017.png" border="0" alt="" width="442" height="158" /></div>
<div style="font-size: 8px; text-align: center;"><strong>Figure 5</strong>. Parallelism &#8211; Fork and Join</div>
<p>Next item in the flow at Figure 1 is an <em>Event Based Exclusive (XOR) Gateway</em>. This is a specific type of <em>Exclusive Gateways </em>where decision is one of the alternatives that are based on an Event that occurs at that point. Alternatives are shown as an <em>Intermediate Events</em>. Thus, we will &#8220;Delete Mobile Content&#8221; either after customer downloads it successfully or after it expires (3 days).</p>
<p><em>Intermediate Events</em> can also be used to represent exception handling. This will be shown by placing the Intermediate Event on the boundary of a <em>Task </em>or <em>Sub-Process</em> (either collapsed or expanded). For instance, content download expiration exception can be illustrates as shown in Figure 6.</p>
<div style="text-align: center;"><img src="http://code.az/files/bpmn/image018.png" border="0" alt="" width="374" height="129" /></div>
<div style="font-size: 8px; text-align: center;"><strong>Figure 6</strong>. Exception Handling</div>
<p>Finally, we reach <em>End Event</em> which stops business process. There may be more than one <em>End Events</em> at the different steps within flow, representing process end for different scenario flows.</p>
<h3>Strengths and Weaknesses of BPMN</h3>
<p><a href="http://www.agilemodeling.com/artifacts/activityDiagram.htm">UML Activity Diagrams</a> are functional, but business analysts somehow cannot use them. <a href="http://en.wikipedia.org/wiki/Flowchart">Flowcharts</a> are what they had rather go for, but these tend to be limited to the modeling of single processes, which does not accommodate the requirements of a BPM. BPMI.org developed <a href="http://www.bpmn.org/">BPMN</a> a couple of years ago in order to solve all these problems. In fact, BPMN is recognized standard for designing business processes.</p>
<p>In spite of this, BPMN 1.0 is still incomplete and BPMN 1.x is on the way. There are also people arguing that one of the key goals – visualization of BPEL is failed. Fundamental differences between BPMN and BPEL are exposed, which make it very difficult, and in some cases impossible, to generate human-readable BPEL code from BPMN models. Even more difficult is the problem of generating BPEL code from BPMN diagrams and maintaining the original BPMN model and the generated BPEL code synchronized.</p>
<p>At last, one may find BPD elements hard to sketch on paper in comparison with UML Activity diagrams or Flowcharts. For instance, distinguishing between start and end events.</p>
<h3>Summary</h3>
<p>This tutorial tried to cover basic concepts of BPMN. Nevertheless, BPMN defines many more advanced elements and allows extensions to the notation. People familiar with similar business process description notations may see similarities between BPMN and for instance, UML Activity Diagram. Despite these similarities, we should not forget that one of the main goals behind BPMN is ability to be mapped to the business process execution languages. Obviously, support for this ability brings complexity and many attributes for each of the elements.</p>
<p>A BPD is not designed to graphically convey all the information required to execute a business process. Thus, the graphic elements of BPMN will be supported by attributes that will supply the additional information required to enable a mapping.</p>
<h3>References</h3>
<ul style="margin-top: 0in;" type="disc">
<li style="margin-bottom: 6.0pt;"><a href="http://www.bpmn.org/Documents/FTF/Final%20Adopted%20BPMN%20Spec%2006-02-01.pdf">BPMN 1.0 Specification, OMG, 2006</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.bpmn.org/Documents/Introduction%20to%20BPMN.pdf">Stephen A. White, Introduction to BPMN, IBM Corp.</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.onjava.com/pub/a/onjava/2005/07/20/businessprocessmodeling.html">Michael Havey, What Is the Business Process Modeling, 2005</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.ebpml.org/bpmn.htm">BPMN on eBPML.org </a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://en.wikipedia.org/wiki/BPMN">BPMN on Wikipedia</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.bpmn.org/">BPMN.org</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.bijonline.com/index.cfm?section=article&amp;aid=244">J.Deeb, D.Sharma, Processes With BPEL and BPMN, Business Integration Journal, April 2006</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.intalio.com/news/bpm-20-blog-post/?post=2006/04/17">Ismael Ghalimi, Why BPMN Matters, 2006</a></li>
<li style="margin-bottom: 6.0pt;"><a href="http://www.intalio.com/news/bpm-20-blog-post/?post=2006/07/20">Assaf Arkin, On BPMN, 2006</a></li>
<li style="margin-bottom: 6.0pt;">Wil van der Aalst and Kees van Hee, Workflow Management  Model, Methods, Systems, MIT Press Cambridge, 2002.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://code.az/bpmn-tutorial-and-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dünyada və Azərbaycanda İnternet Reklamı</title>
		<link>http://code.az/dunyada-v%c9%99-az%c9%99rbaycanda-internet-reklami/</link>
		<comments>http://code.az/dunyada-v%c9%99-az%c9%99rbaycanda-internet-reklami/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 23:17:16 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Random Stuff]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=24</guid>
		<description><![CDATA[İnternetdə olan informasiyanın artımı insanların internetdə keçirdiyi vaxtın çoxalması ilə müşayət olunur. Digər tərəfdən də günümüzdə hər hansı bir şirkətin internetdə səhifəsinin olmaması onun imicində böyük əksiklik kimi qəbul edilir. Bütün bunlar bir çox şirkətləri öz xidmət və məhsullarını veb səhifələrində yerləşdirib digər internet resurslarında reklam etməyə məcbur edir. Interactive Advertising Bureau (IAB) və PricewaterhouseCoopers [...]]]></description>
			<content:encoded><![CDATA[<p>İnternetdə olan informasiyanın artımı insanların internetdə keçirdiyi vaxtın çoxalması ilə müşayət olunur. Digər tərəfdən də günümüzdə hər hansı bir şirkətin internetdə səhifəsinin olmaması onun imicində böyük əksiklik kimi qəbul edilir. Bütün bunlar bir çox şirkətləri öz xidmət və məhsullarını veb səhifələrində yerləşdirib digər internet resurslarında reklam etməyə məcbur edir.<span id="more-24"></span></p>
<p><a href="http://www.iab.net/" target="_blank">Interactive Advertising Bureau</a> (IAB) və  PricewaterhouseCoopers (PwC) 30 May 2006 tarixində yayımladığı <a href="http://www.iab.net/news/pr_2006_05_30.asp" target="_blank">bəyanata</a> əsasən dünya üzrə internet reklam gəlirləri 2006-cı ilin 1-ci rübündə $3.9 miryard təşkil edərək yeni rekord həddi müəyyən etdi. Keçən ilin müvafiq rübü ilə müqayisədə internet reklam gəlirlərinin $2.8 milyarddan 38% artması müşahidə edilib. İllərlə davam edən bu mütəmadi artış dünyada internet reklamçılığının inkişaf sürətinin aydın göstəricisidir.</p>
<p>1996-cı ildə yaranan <a href="http://www.iab.net/" target="_blank">İnteraktiv Reklam Bürosu</a> (IAB) özündə 250-dən artıq internetinin müxtəlif sahələrinin nümayandələrini birləşdirir. Bunların arasında AOL, Google, MSN, Yahoo! kimi internet nəhənglərini və DoubleClick, ValueClick, Advertising.com kimi beynəlxalq internet reklam agentliklərinin mövcudlüğü qurumun miqyası haqda təsəvvür yaradır. Qurum mütəmadi olaraq intrnet reklamı sahəsində müxtəlif standartlar yaradır və reklamın effektivliyinin artırılması üçün tövsiyyə xarakterli sənədlər dərc edir.</p>
<h3>İnternet Reklamının Üstün İmkanları</h3>
<p>Digər reklam vasitələrilə müqayisədə internet reklamının bir sıra üstünlükləri mövcuddur. Onların arasında ən vaciblərinə səthi nəzər yetirək:</p>
<p><strong>Dinamik reklam sahələri.</strong> Çap reklam vasitələrindən fərqli olaraq, veb səhifədəki bir reklam sahəsində eyni anda müxtəlif ziyarətçilərə müxtəlif reklam göstərilə bilər. Reklam rotasiyası kimi tanınan bu texnologiya bir reklam sahəsində eyni anda bir neçə reklam kampaniyası keçirmək imkanı yaradır.</p>
<p><strong>Canlı izləmə imkanı.</strong> Çap və televiziya kimi ənənəvi reklam vasitələrində reklama neçə nəfərin baxdığı haqda dəqiq məlumat əldə etmək olduqca çətindir. Tam tərsinə olaraq internet reklamını neçə nəfərin gördüyünü və görənlərdən neçəsinin bu reklam vasitəsilə sizin veb səhifənizə keçdiyini canlı izləmək olduqca asandır.</p>
<p><strong>Canlı qiymətləndirmə.</strong>Məhz yuxarıda göstərilən canlı izləmə daha effektiv qiymətləndirmə üsulunü – canlı qiymətləndirməni mümkün edir. Canlı qiymətləndirmədən öz növbəsində iki cür istifadə edirlər:</p>
<ol>
<li>CPM (Cost per 1000 Impressions) – reklam məhsulunun 1000 dəfə göstərilməsi üçün müəyyən edilən qiymət;</li>
<li>CPC (Cost per Click) – reklamdan reklamverənin saytına keçən hər bir istifadəçi üçün müəyyən edilən qiymət.</li>
</ol>
<p>Yuxarıdakı üsulların hər ikisi internet dünyasında geniş yayılıb və reklama sərf edilən vəsaiti minimuma endirmək imkanı yaradır.</p>
<p><strong>Dəqiq hədəf kütləsinin seçilməsi.</strong>Bu üstünlüyü kiçik bir misal ilə göstərmək istərdim. Təsəvvür edin ki, siz 18-28 yaşında olan qızlar üçün reklam kampaniyası keçirməlisiniz. Reklamı yerləşdirmək istədiyiniz internet resursu öz növəbsində qeydiyyatdan keçmiş istifadəçiləri haqda ətraflı məlumata malikdir – cinsi, yaşı və s. Beləliklə siz kampaniyanızın dəqiq hədəf kütləsini seçərək vəsaitinizə daha da qənaət etmiş olarsınız.</p>
<h3>Azərbaycanda İnternet Reklamçılığı</h3>
<p>Digər sahələrdə olduğu kimi internet reklamçılığı sahəsində də Azərbaycanda vəziyyət dünyadakından xeyli fərqlənir. Başlanğıc üçün onu deyim ki, bir neçəsi istisna olmaqla, əksər Azərbaycan internet resursları yuxarıda sadalanan internet reklamının üstünlüklərinin heç birindən istifadə etmir. Bunun əvəzinə onlar statik və ənənəvi – müddət ilə qiymətləndirilən reklam sahələri satırlar.</p>
<p>Standartların mövcud olmaması daha bir ciddi problemdir. Bir çox sayt sahibinin ixtiyari ölçüdə banner sahəsi yaratması, sahələrin ölçulərinin standart olmaması, reklamverən və reklam agentliyi üçün reklam məhsulunun hazırlanmasında problem yaradır.</p>
<p>Bu problemlərin aşkara çıxarılması və aradan qaldırılması yollarını müzakirə etmək üçün <a href="http://www.aif.az/" target="_blank">Azərbaycan İnternet Forumu</a> (AİF) “<a href="http://www.code.az/files/azia.pdf" target="_blank">Azərbaycanda İnternet Reklamçılığı</a>” mövzusunda dəyirmi masa keçirmişdir. Burada banner ölçülərini standartlaşdırmaq məqsədilə IAB-nin standartlarını əsas kimi götürən AİF “<a href="http://www.aif.az/docs/irv.pdf" target="_blank">İnteraktiv Reklam Vahidləri</a>” adlı layihənin işçi variantını təqdim etmişdir.</p>
<p>Azərbaycan internetinin bəzi nümayəndələri qazanclarını maksimal həddə çatdırmaq üçün bir səhifədə ifrat sayda banner yerləşdirirlər. Adətən bu cür hallar reklam agentlikləri tərəfindən tənzimlənərək qadağan olunur. Diqqət yetirsəniz görərsiniz ki, dünyada ən məşhur resurslarda belə adətən bir səhifədəki banner sahələrinin sayı 2-3-dən çox olmur və onlar səhifənin yuxarısında yerləşdirilirlər. Bizim reklamverən şirkətlər isə bəzən lokal veb səhifələrin ən aşağı hissəsində, 35 banner sahəsindən ən axırıncısında reklam yerləşdirməyə razı olurlar. Bu cür reklamın effektivli çiddi şübhə doğurur.</p>
<p>Bu problemləri tədricən aradan qaldırmaq üçün hər üç tərəf – reklamverən, reklam agentliyi və reklam yerləşdirən veb sayt standartlara riayət etməlidirlər. Hesab edirəm ki, burada reklam agentliklərinin rolu daha böyük olmalıdır. Belə ki, internet reklamın bütün imkanlarından faydalanmaq üçün agentliyinin müvafiq texniki imkanları olmalıdır.</p>
<p>Son olaraq onu qeyd etmək istərdim ki, internet reklamı yalnız veb səhifələrdə yerləşdirilən bannerlərdən ibarət deyil. İnternet texnologiyalarının sürətli inkişafı, internet radio və IPTV kimi texnologiyalar internet reklamı anlayışını daha da genişləndirir. Azərbaycan üçün hələ gənc olan internet reklamçılığı sahəsi, ölkəmizə elektron kommersiyanın gəlişi ilə yeni vüsət alacağı şübhəsizdir. Bunun üçün isə indidən hazırlaşmaq lazımdır.</p>
<p>&#8220;Azərbaycanda İnternet Reklamçılığı&#8221; dəyirmi masasında təqdim etdiklərim:</p>
<ul>
<li><a href="http://www.scribd.com/doc/28233712/Dunyada-v%C9%99-Az%C9%99rbaycanda-%C4%B0nternet-Reklam%C4%B1" target="_blank">Təqdimat (Prezentasiya) slaydları</a></li>
<li>&#8220;İnteraktiv Reklam Vahidləri&#8221; işçi sənədi &#8211; <a href="http://www.aif.az/docs/irv.pdf" target="_blank">IRV.pdf</a></li>
</ul>
<p>Tədbir ilə əlaqəli mətbuatda yazılar: <a href="http://www.ayna.az/rubric.php?id=3211&amp;dd=17&amp;mo=6&amp;yr=2006">Ayna</a>, <a href="http://www.zerkalo.az/rubric.php?id=3296&amp;dd=17&amp;mo=6&amp;yr=2006">Zerkalo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/dunyada-v%c9%99-az%c9%99rbaycanda-internet-reklami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wikipedia &#8211; İndi də Azərbaycanca</title>
		<link>http://code.az/wikipedia-indi-de-azerbaycanca/</link>
		<comments>http://code.az/wikipedia-indi-de-azerbaycanca/#comments</comments>
		<pubDate>Sat, 28 Jan 2006 22:17:01 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Random Stuff]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=18</guid>
		<description><![CDATA[Wikipedia &#8211; 100-dən artıq dildə olan 2,000,000 məqalədən və 13,000 aktiv istifadəçidən ibarət açıq ensiklopediyadır. Dünyada qazandığı inanılmaz populyarlıq nəticəsində bu rəqəmlər sürətlə artmaqdadır. Dillərin arasında Azərbaycan dilinin də olduğuna baxmayaraq ensiklopediyanın ana dilimizdə olan hissəsi olduqca kasıbdır. Ümidvaram ki, oxuyacağınız məqalə bu layihəyə olan diqqəti artıraraq, Azərbaycan dilində zəngin bir online ensiklopediyanın yaranmasına kömək [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.az/wp/wp-content/uploads/2010/03/ap_wikipedia.gif"><img class="alignright size-full wp-image-21" title="ap_wikipedia" src="http://code.az/wp-content/uploads/2010/03/ap_wikipedia.gif" alt="" width="100" height="113" /></a>Wikipedia &#8211; 100-dən artıq dildə olan 2,000,000 məqalədən və 13,000 aktiv istifadəçidən ibarət açıq ensiklopediyadır. Dünyada qazandığı inanılmaz populyarlıq nəticəsində bu rəqəmlər sürətlə artmaqdadır. Dillərin arasında Azərbaycan dilinin də olduğuna baxmayaraq ensiklopediyanın ana dilimizdə olan hissəsi olduqca kasıbdır. Ümidvaram ki, oxuyacağınız məqalə bu layihəyə olan diqqəti artıraraq, Azərbaycan dilində zəngin bir online ensiklopediyanın yaranmasına kömək edəcək.<span id="more-18"></span></p>
<h3>Vikipedia Nədir?</h3>
<p><a href="http://www.wikipedia.org/" target="_blank">Wikipedia</a> (Azərbaycanca Vikipedia) – <a href="http://en.wikipedia.org/wiki/Wikimedia" target="_blank"> Wikimedia Foundation</a> qeyri-hökümət təşkilatı tərəfindən yaradılan internet ensiklopediyasıdır. Vikipedianı <a href="http://www.britannica.com/" target="_blank">Britannika</a> kimi digər internet ensiklopediyalardan fərqləndirən onun <em>açıq</em> olması, yəni hər kəs tərəfindən redaktə oluna bilməsidir. Vikipedianın yaradıcıları – Jimmy Wales və Larry Sanger 5 il əvvəl fəlsəfəsi tamamilə fərqli olan, biliklərini paylaşan insanlar sayəsində meydana gələcək, dünyanın ən dolğun online ensiklopediyasını yaratmaq istəmişlər. Bu təşəbbüs özünü doğrultmuş və Vikipedianı dünyanın ən populyar 25 saytları sırasına daxil etmişdir.</p>
<p>Ensiklopediyanın əsas tələbi yazılan məqalələrin və əlavə edilən biliklərin neytral nəzər nöqtəsindən (NPOV – <a href="http://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view" target="_blank">Neutral Point Of View</a>) çıxış etməsidir. Yəni burada “&#8230;ən gözəl şəhər Bakıdır” kimi şəxsi fikirlərə yer olmamalıdır.</p>
<p>Təbii ki, resursun açıq olması eyni zamanda bir sıra problemlər yaradır. Məsələn, Qarabağ mövzusu ətrafında həm azərbaycanlılar həm də ermənilər fakt və fikirlərini bölüşə bilərlər. Bu halda kimin haqlı, kimin haqsız olduğunu yalnız diskussiyalar və arbitrlara müraciət (<a href="http://en.wikipedia.org/wiki/Request_for_arbitration" target="_blank">Requests for Arbitration</a>) müəyyən edə bilər. Məsələn, soydaşımız Təbib Hüseynov <a href="http://en.wikipedia.org/wiki/Karabakh" target="_blank">Qarabağ</a> ilə əlaqəli belə bir “<a href="http://en.wikipedia.org/wiki/Wikipedia:Requests_for_arbitration/Baku_Ibne,_et_al./Evidence" target="_blank">məhkəməni</a>” udub. Lakin Şuşa, Naxçıvan və diğər mövzularda diskussiyalar hələ də davam edir.</p>
<h3>Azərbaycanca Vikipedia</h3>
<p>2004-cü ilin yanvarından <a href="http://az.wikipedia.org/" target="_blank">az.wikipedia.org</a> ünvanında Azərbaycan dilində Vikipedia fəaliyyətə başlamışdır. Fikrimcə buna Azərbaycanın açıq online ensiklopediyası kimi də baxmaq olar. İki yaşı tamam olan ensiklopediyamızda məqalələrin sayı 3000-ə yaxınlaşmaqdadır. Lakin onu qeyd etməliyəm ki, onların əksəriyyəti boş məqalələr və ya şablonlardır. Müqayisə üçün deyim ki, İngilis versiyasında təqribən <a title="Special:Statistics" href="http://en.wikipedia.org/wiki/Special:Statistics" target="_blank">950.000</a> məqalə, Türk versiyasında isə <a title="Özel:Statistics" href="http://tr.wikipedia.org/wiki/%C3%96zel:Statistics" target="_blank">17.000</a> məqalə mövcuddur.</p>
<p>Təəssüflər olsun ki, cavan ensiklopediyamız üzərində çalışmalara çox az azərbaycanlı cəlb olunduğundan, o, əsasən türk qardaşlarımız və güney azərbaycanlı soydaşlarımız tərəfindən qurulur. Məhz bu səbəbdən (və bizim passivliyimizdən) saytda çoxlu qrammatik və sintaktik səhvlərə, türk və fars sözlərinə rast gəlmək olar. Yenə də, bizim Vikipedia üzərində işlədikləri və təməlini qoyduqları üçün hər birinə dərin təşəkkurümü bildirmək istərdim. Lakin bu işin ən qorxulu tərəfi deyil.</p>
<p>Bu yaxınlarda Azərbaycan Vikipediasında “<a href="http://az.wikipedia.org/wiki/Special:Recentchanges" target="_blank">Son dəyişikliklər</a>” bölümündə “<a href="http://az.wikipedia.org/wiki/%C4%B0r%C9%99van" target="_blank">İrəvan</a>” və “<a href="http://az.wikipedia.org/wiki/Erm%C9%99nistan" target="_blank">Ermənistan</a>” sözlərinin yaradıldığı diqqətimi cəlb etdi. Bu dəyişikliklər qeydiyyatdan keçmiş üzv tərəfindən deyil, naməlum şəxs tərəfindən edilmişdi. Məqalələr neytral görünməyə çalışsa da erməni mənşəli olduğu aşkardır. Müəllifin İP addresinin (<a href="http://www.ripe.net/fcgi-bin/whois?form_type=simple&amp;full_query_string=&amp;searchtext=195.250.64.76" target="_blank">195.250.64.76</a>) ermənistana mənsub olduğu məndə qalan şübhələri də yox etdi. Bəli, ermənilər bizim ensiklopediyamıza azərbaycan və onun tarixi haqda saxta məlumat daxil edərək növbəti dəfə dezinformasiya yaradırlar. Görünür Azərbaycanda yaxşı təhsil aldıqlarından ermənilər bu məqalələri səlis və düzgün Azərbaycan dilində yazırlar. Qeyd edim ki, hər bir səhifə üzərində edilən bütün dəyişikliklər “Səhifə keçmişi” bölümündə qeyd edilir. Bu imkandan istifadə edib yuxarıdakı faktın təsdiqini tapa bilərsiniz.</p>
<h3>Mən Necə Yardım Edə Bilərəm?</h3>
<p>Zəngin Azərbaycanımızın şəhər və rayonları, şair və yazıçıları, mətbəxi, geyimləri və s. haqda dürüst məlumatınız varsa, maksimum neytrallığı və obyektivliyi qoruyaraq, durmadan Azərbaycan Vikipediasına əlavələr edin! Bunun üçün sadəcə qeydiyyatdan keçmək kifayətdir.</p>
<p>Lakin bununla kifayətlənməmək lazımdır. Vikipedia bugün dünyada güvənilən və çox populyar informasiya mənbəyi kimi tanınır. Tələbələr, jurnalistlər və digər araşdırmaçılar internetdə məlumat axtarışında məhz bu resursa üstünlük verirlər. Bunun üçün bizim Azərbaycan dilindəki Vikipedianı qurmaqla yanaşı, <a href="http://en.wikipedia.org/" target="_blank">İnglis</a>, <a href="http://fr.wikipedia.org/">Fransız</a>, <a href="http://ru.wikipedia.org/">Rus</a>, <a href="http://de.wikipedia.org/">Alman</a>, <a href="http://es.wikipedia.org/">İspan</a> və digər dillərdə olan Vikipedialara da əlavələr etməmiz, Azərbaycan və onun ayrılmaz hissəsi olan Qarabağ haqda həqiqətlərin dünyaya çatdırılması yolunda vacib addımlardandır.</p>
<h3>Məqalələrin Yaradılması</h3>
<p>Vikipediada məqalələrin yazılması olduqca asandır və HTML səhifələrindən fərqli olaraq xüsusi biliklər tələb etmir. Mündəricatın yaradılması, keçid və şəkillərin əlavə edilməsi, şablonlar və diğər funksiyalar avtomatlaşdırıldığından məqalələri qısa müddət ərzində asanlıqla yaratmaq mümkündür. Təsadüfi deyil ki Havaililərin dilində wiki (wihiwihi) sözü “tez”, “cəld” mənasını daşıyır.</p>
<p>Hər zaman neytral nəzər nöqrəsindən çıxış edərək yazın və yazdığınız məqalələrin mənbəyini göstərin. Bu idarəçilərin və oxuyucuların sizin məqalənizə olan etimadını artıracaq və mümkün mübahisələrin qarşısını alacaq. Mənbələri xarici keçidlər vasitəsilə “Ədəbiyyat”, “Mənbələr”, “Əlavələr” və ya “Əlavə Ədəbiyyat” başlıqlı bölüm(lər)də sadalayın.</p>
<p>Günümüzdə aktual olmayan, lakin bir neçə il sonra ciddi problemlərə səbəb ola biləcək daha bir vacib məqam müəllif hüquqlarıdır. Əgər əlavə etdiyiniz məqalə, şəkil və ya media faylının bir neçə il sonra ensiklopediyadan xaric olunmağını istəmirsinizsə, ən azı müəllifinin adını qeyd edin.</p>
<p>Yeni məqalə yaratmaq üçün xüsusi <a href="http://az.wikipedia.org/wiki/Help:Yeni_M%C9%99qal%C9%99_Yarat" target="_blank">Help:Yeni Məqalə Yarat</a> səhifəsində başlığı daxil edib, “Create article” düyməsini seçin. Seçdiyiniz başlıqlı məqaləni redaktə etmək üçün digər səhifəyə keçəcəksiniz. Burada məqalənin mətnini daxil edib “Səhifəni qeyd et” düyməsini seçməklə onu Vikipediyaya daxil edin.</p>
<p>Vikipediada mətni formatlaşdırmaq üçün bir sıra özünəməxsus sintaksislərdən istifadə olunur:</p>
<table border="1" cellpadding="4">
<tbody>
<tr>
<th>Alınan Nəticə</th>
<th>Yazılan Mətn</th>
</tr>
<tr>
<td>Yazını bölümlərə və ya başlıqlara ayırmaq üçün istifadə edilir:</p>
<p><strong style="font-size: 1.2em;">Başlıq</strong><br />
<strong style="font-size: 1.1em;">Alt başlıq</strong><br />
<strong>Alt alt başlıq</strong></td>
<td>
<pre>==Başlıq==

===Alt başlıq===

====Alt alt başlıq====</pre>
</td>
</tr>
<tr>
<td>
<ul>
<li>Siyahıları asanlıqla yarada bilərsiniz</li>
<li>Bunun üçün hər bir sətirin önünə ulduz əlavə edin
<ul>
<li>ulduzların sayı siyahıdakı dərinliyi müəyyən edir</li>
</ul>
</li>
</ul>
</td>
<td>
<pre>* Siyahıları asanlıqla yarada bilərsiniz
* Bunun üçün hər bir sətrin önünə ulduz əlavə edin
** ulduzların sayı siyahıdakı dərinliyi müəyyən edir
</pre>
</td>
</tr>
<tr>
<td>
<ol>
<li>Həmçinin nömrələnmiş siyahılar yarada bilərisiniz
<ol>
<li>struktur üçün idealdır</li>
<li>və asanlıqla yaradlılr</li>
</ol>
</li>
</ol>
</td>
<td>
<pre># Həmçinin nömrələnmiş siyahılar yarada bilərisiniz
## struktur üçün idealdır
## və asanlıqla yaradılır
</pre>
</td>
</tr>
<tr>
<td>Horizontal bölgü xətti üçün</p>
<hr />simvolundan istifadə edin</td>
<td>
<pre>Horizontal bölgü xətti üçün
----
simvolundan istifadə edin
</pre>
</td>
</tr>
<tr>
<td>İmzanızı əlavə etmək üçün:</p>
<p><a href="http://az.wikipedia.org/wiki/User:Rustam">Rustam</a></p>
<p>İmza və vaxtı əlavə etmək üçün:</p>
<p><a href="http://az.wikipedia.org/wiki/User:Rustam">Rustam</a> 00:48, Yan 27, 2006 (AZT)</p>
<p>Yalnız vaxtı əlavə etmək üçün:</p>
<p>00:48, Yan 27, 2006 (AZT)</td>
<td>
<pre>İmzanızı əlavə etmək üçün:
~~~
İmza və vaxtı əlavə etmək üçün:
~~~~
Yalnız vaxtı əlavə etmək üçün:
~~~~~
</pre>
</td>
</tr>
<tr>
<td>Tarix formatları:</p>
<ol>
<li><a title="20 Yanvar" href="http://az.wikipedia.org/wiki/20_Yanvar">20 Yanvar</a>, <a title="1990" href="http://az.wikipedia.org/wiki/1990">1990</a></li>
<li><a title="20 Yanvar" href="http://az.wikipedia.org/wiki/20_Yanvar">20 Yanvar</a> <a title="1990" href="http://az.wikipedia.org/wiki/1990">1990</a></li>
<li><a title="1990" href="http://az.wikipedia.org/wiki/1990">1990</a>-<a title="20 Yanvar" href="http://az.wikipedia.org/wiki/20_Yanvar">01-20</a></li>
<li><a title="1990" href="http://az.wikipedia.org/wiki/1990">1990</a>-<a title="20 Yanvar" href="http://az.wikipedia.org/wiki/20_Yanvar">01-20</a></li>
</ol>
</td>
<td>
<pre>Tarix formatları:
# [[Yanvar 20]], [[1990]]
# [[20 Yanvar]] [[1990]]
# [[1990]]-[[01-20]]
# [[1990-01-20]]
</pre>
</td>
</tr>
</tbody>
</table>
<p>Mətnə həmçinin digər səhifələrə keçidlər daxil edə bilərsiniz. Keçidlər əsasən iki növ olur &#8211; daxili və xarici keçidlər. Daxili keçidlər Vikipediada mövcud olan və olmayan məqalələrə aparır. Mövcud olmayan məqalələrə aparan keçidlər sizə bu məqaləni yaratmağı təklif edəcək. Xarici keçidlər isə digər internet ünvanlarına işarə edir.</p>
<table border="1" cellpadding="4">
<tbody>
<tr>
<th>Alınan Nəticə</th>
<th>Yazılan Mətn</th>
</tr>
<tr>
<td>Azərbaycanın paytaxtı <a href="http://az.wikipedia.org/wiki/Bak%C4%B1">Bakı</a> şəhəridir</td>
<td>
<pre>Azərbaycanın paytaxtı [[Bakı]] şəhəridir</pre>
</td>
</tr>
<tr>
<td>Bakı şəhəri <a href="http://az.wikipedia.org/wiki/Az%C9%99rbaycan">Azərbaycanın</a> paytaxtıdır</td>
<td>
<pre>Bakı şəhəri [[Azərbaycan|Azərbaycanın]] paytaxtıdır</pre>
</td>
</tr>
<tr>
<td>Bir sözün bir neçə yazılış forması ola bilər. O zaman onları bir yerə yönəltmək zəruriyyəti yaranır.</p>
<p>“ABŞ” başlıqlı məqaləni “Amerika Birləşmiş Ştatları” başlıqlı məqaləyə yönləndirmək üçün, birincini sağdakı mətn ilə əvəz edin.</td>
<td>
<pre>#REDIRECT [[Amerika Birləşmiş Ştatları]]</pre>
</td>
</tr>
<tr>
<td>Başqa dildə mövcud olan eyni başlıqlı məqaləyə keçid əlavə etmək üçün aşağıdakı keçid növündən istifadə edin:<br />
[[dilin kodu:Başlıq]]</td>
<td>
<pre>[[ar:باكو]]
[[en:Baku]]
[[ru:Баку]]
</pre>
</td>
</tr>
<tr>
<td>Məqaləni bu və ya digər kategoriyaya aid etmək üçün sağdakı nümunədən istifədə edin.</td>
<td>
<pre>[[Category:Azerbaycan]]</pre>
</td>
</tr>
<tr>
<td>Məqalədə bu və ya digər kategoriyaya keçid əlavə etmək üçün sağdakı nümunədən istifədə edin.</td>
<td>
<pre>[[:Category:Azerbaycan]]</pre>
</td>
</tr>
<tr>
<td>Xarici, qeyri-viki keçidlərini əlavə etməyin üç yolu:</p>
<ol>
<li>Görünən keçid: <a href="http://code.az/">http://code.az/</a> (tərcih olunmur)</li>
<li>Adsız keçid: <a href="http://code.az/">[1]</a> (yalnız mətnin daxilində)</li>
<li>Adlı keçid: <a href="http://code.az/">Code.az</a></li>
</ol>
</td>
<td>
<pre>#Görünən keçid:
http://code.az/ (tərcih olunmur)
#Adsız keçid:
[http://code.az/] (yalnız mətnin daxilində)
#Adlı keçid:
[http://code.az/ Code.az]
</pre>
</td>
</tr>
<tr>
<td>Mətn və şəkil keçidlərindən əlavə olaraq daxili &#8220;media&#8221; bağlantıları da mövcuddur.</td>
<td>
<pre>[[media:sound.mp3|Səs]]</pre>
</td>
</tr>
</tbody>
</table>
<p>Şəkilləri və media fayllarını mətnə əlavə etməzdən öncə onları Vikipediyaya yükləmək lazımdır.  Bunun üçün xüsusi &#8220;<a href="http://az.wikipedia.org/wiki/Special:Upload">Qarşıya Yükləmə</a>&#8221; funksiyasından istifadə edib şəkil, audio və ya hər hansı başqa bir mediya faylını yükləyin və onun daxili ünvanını məqalənizə əlavə edin. Yükləyərkən mümkün qədər yüksək keyfiyyətli şəkillərdən istifadə edin və yüklədiyiniz şəkillərin müəllif hüquqlarına diqqət yetirin. Şəkilləri əlavə edərkən nümunə üçün mövcud məqalələrdən və ya aşağıdakı misallardan birini istifadə edə bilərsiniz:</p>
<table border="1" cellpadding="4">
<tbody>
<tr>
<th>Alınan Nəticə</th>
<th>Yazılan Mətn</th>
</tr>
<tr>
<td>Şəkil:<br />
<a style="border: 0pt none;" href="http://az.wikipedia.org/wiki/Image:Wiki.png"><img src="http://www.code.az/files/ap_wikipedia.gif" border="0" alt="" /></a></td>
<td>
<pre>Şəkil:
[[Image:wiki.png]]</pre>
</td>
</tr>
<tr>
<td align="right">Sağ tərəfdə yerləşən və başlığı olan şəkil:</p>
<div style="border: 1px solid #666666; padding: 2px; width: 137px; background-color: #dcdcdc;">
<div style="border: 1px solid #666666; padding: 2px; background-color: white;"><a style="border: 0pt none;" href="http://az.wikipedia.org/wiki/Image:Wiki.png"><img src="http://www.code.az/files/ap_wikipedia.gif" border="0" alt="" /></a></div>
<div style="font-size: 0.9em;">Vikipedia Ensiklopediyası</div>
</div>
</td>
<td>
<pre>Sağ tərəfdə yerləşən və başlığı olan şəkil:
[[Image:wiki.png|frame|Vikipedia Ensiklopediyası|right]]</pre>
</td>
</tr>
<tr>
<td>Sol tərəfdə yerləşən, başlıqlı, kiçildilmiş şəkil:</p>
<div style="border: 1px solid #666666; padding: 2px; width: 90px; background-color: #dcdcdc;">
<div style="border: 1px solid #666666; padding: 2px; background-color: white;"><a style="border: 0pt none;" href="http://az.wikipedia.org/wiki/Image:Wiki.png"><img src="http://www.code.az/files/ap_wikipedia.gif" border="0" alt="" width="90" /></a></div>
<div style="font-size: 0.9em;">Vikipedia Ensiklopediyası</div>
</div>
</td>
<td>
<pre>Sol tərəfdə yerləşən, başlıqlı, kiçildilmiş şəkil:
[[Image:wiki.png|thumb|left|90px|Vikipedia Ensiklopediyası]]</pre>
</td>
</tr>
</tbody>
</table>
<p>Mətndə başlığı olan və ehtiyac olduqda kiçildilmiş şəkillərdən istifadə etməyə çalışın.  Tələb olunarsa məqalənizdə adi HTML dilindən də istifadə edə bilərsiniz.</p>
<p>Burada göstərilən nümunələr bir çox məqalələrin yaradılması üçün kifayət olduğuna baxmayaraq viki dilinin yalnız bir hissəsidir. Vikipedianın bütün imkanlarını öyrənmək istəyirsinizsə &#8220;Ədəbiyyat&#8221; bölümündəki İnglis və Rus dilində bənzər məqalələrə müraciət edə bilərsiniz.</p>
<h3>Biliklərimizi Paylaşaraq&#8230;</h3>
<p>Prezidentin 2004-cü il yanvarın 12-də imzaladığı Azərbaycan Milli Ensiklopediyasının nəşri haqda sərəncama baxmayaraq, bugün ensiklopediyanın heç bir cildinə də satışda rast gəlmək mümkün deyil. İnanıram ki, azad ensiklopediyaya əlavə ediləcək hər bir kiçik məlumat onu dinamik, pulsuz və Elmlər Akademiyasının hazırladığı ensiklopediyadan daha populyar edəcək.</p>
<p>Qeyd etməliyəm ki, informasiyanı azad paylaşmaq prinsipini hələ <a href="http://www.w3.org/People/Berners-Lee/">Tim Berners-Lee</a> tərəfindən 1989-cu ildə veb texnologiya (<a href="http://en.wikipedia.org/wiki/World_Wide_Web">World Wide Web</a>) yaradılarkən nəzərdə tutulmuşdur. Məhz bu səbəbdən ilk yaradılan səyyar (browser) həm veb səhifələrini göstərmə həm də onları redaktə etmə imkanına malik idi. Lakin sonrakı dövürdə internetin daha çox elektron kommersiya istiqamətində inkişaf etməsi veb mediyasını ilkin fəlsəfəsindən uzaqlaşdırdı. Tim Berners-Linin özünün də etiraf etdiyi kimi, 2005-ci il ideyasının həyata keçdiyi il kimi yadda qaldı. Belə ki, məhz bu il fikirlərini və biliklərini paylaşmaq arzusunda olan milyonlarla yaradıcı insan bloglar, vikilər və podcastlər vasitəsilə internetdə tsunami meydana gətirmişdir. Yazdığım bu məqalə də episentri uzaqda olan bu tsunaminin bizə gəlib çatan kiçik bir dalğasıdır.</p>
<h3>Ədəbiyyat</h3>
<ul type="disc">
<li>Wikipedia: <a href="http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page">How to edit a page</a><br />
(Rusca: <a href="http://ru.wikipedia.org/wiki/Wikipedia:%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8">Как править статьи</a>)</li>
<li><a href="http://en.wikipedia.org/wiki/History_of_Wikipedia">History of Wikipedia</a></li>
<li><a href="http://interviews.slashdot.org/article.pl?sid=04/07/28/1351230">Wikipedia Founder Jimmy Wales’ Interview with Slashdot</a></li>
<li><a href="http://dig.csail.mit.edu/breadcrumbs/blog/4">Web Founder Tim Berners-Lee’s Blog</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://code.az/wikipedia-indi-de-azerbaycanca/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Azerbaijan is ready for Linux</title>
		<link>http://code.az/azerbaijan-is-ready-for-linux/</link>
		<comments>http://code.az/azerbaijan-is-ready-for-linux/#comments</comments>
		<pubDate>Thu, 22 Dec 2005 00:31:44 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=42</guid>
		<description><![CDATA[Ministry of Education of Azerbaijan is preparing to install new computers running Linux in high schools. President of Azerbaijan recently signed an order titled &#8220;ICT Implementation Programme in Azerbaijan High Schools (2005-2007)&#8221;. According to the document $20M in total is provisioned for this project. Project involves installation of new computers in 4521 high schools countrywide. [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin-left: 10px; margin-top: -5px;" src="http://www.code.az/files/ap_penguin_vs_ms.gif" alt="" align="right" /><em>Ministry of Education of Azerbaijan is preparing to install new computers running Linux in high schools.</em></p>
<p>President of Azerbaijan recently signed an order titled &#8220;ICT Implementation Programme in Azerbaijan High Schools (2005-2007)&#8221;. According to the document $20M in total is provisioned for this project. Project involves installation of new computers in 4521 high schools countrywide. Thus, by the end of the project one computer will be available for each 33 school students.<span id="more-42"></span></p>
<p>Ministry of Education of Azerbaijan Republic is expected to promote open source software in all high schools and install home-grown Linux distributive known as “Lin.az”. By the end of this year desktops and thin clients will be installed in 150 schools. Thin clients will be mainly used in large labs, while desktops will be installed in labs with a small number of seats. Nevertheless, final decision about the operating system has not been made yet officially.</p>
<p>Due to international disinformation, regular users in Azerbaijan are not familiar with Linux as a powerful alternative to commercial operating systems. This was the major factor, which caused objection of teachers and other education society.</p>
<p>In order to provide more information for masses, <a href="http://aif.az/" target="_blank">Azerbaijan Internet Forum (AIF)</a> initiated a workshop on 7 December. Workshop was attended by representatives of the <a href="http://www.min.edu.az/" target="_blank">Ministry of Education</a>, Microsoft, <a href="http://linux.az/" target="_blank">Linux Users Group</a> and <a href="http://www.aznet.org/" target="_blank">AzNet Project</a>. The workshop aimed to help Ministry of Education choose a platform for schools and discuss the existing barriers of the open source software.</p>
<p>I was invited to make a speech about the advantages of Linux and open source software for education. My presentation in Azeri is available in the bottom of the article and in <a href="http://code.az/files/azossp.pdf" target="_blank">in PDF</a>. Below is the short summary of key points mentioned in the presentation and main goals of Lin.az distributive.</p>
<ol>
<li>Software cost saving &#8211; Lin.az is Free:
<ol>
<li>Roughly 300$ saving on each workstation</li>
<li>Saved funds can be spent for education of teachers, staff problems and inter-school infrastructure</li>
</ol>
</li>
<li>More Secure and Reliable:
<ol>
<li>Almost virus free and better protected against viruses</li>
<li>No need for regular critical updates</li>
</ol>
</li>
<li>More Flexible:
<ol>
<li>Easily can be adopted for special needs of Ministry of Education.</li>
<li>Local vendors will be given the chance to support their schools.</li>
<li>In the future integrated infrastructure can be easily implemented among schools in order to manage and share resources.</li>
</ol>
</li>
<li>Azeri User Interface:
<ol>
<li>Today, Lin.az/Linux is the only OS with the fully translated Azeri UI.</li>
<li>95% of applications (OpenOffice, Mozilla Firefox, etc.) also translated into Azeri</li>
<li>Minorities can translate and use OS in their native languages in the future.</li>
</ol>
</li>
<li>Other Advantages:
<ol>
<li>Distributive includes wide range of educational programs for mathematics, chemistry, geography, programming and foreign languages education.</li>
<li>Existing Windows compatible application could be used from emulators if required.</li>
<li>User interface can be switched into other languages in few seconds, which is very important for multilingual schools.</li>
</ol>
</li>
<li>International Practice:
<ol>
<li>Nowadays, more and more schools all over the world are moving to OSS.</li>
<li>All workstations in IOI’2006 (International Olympics of Informatics) will run Linux.</li>
<li>100$ (a.k.a. green) laptop is running Linux.</li>
</ol>
</li>
</ol>
<p>This event has been covered by local press &#8211; <a href="http://www.echo-az.info/archive/2005_12/1223/obshestvo04.shtml" target="_blank">Exo</a> (in Russian), <a href="http://ayna.az/new/ayna/arcview.php?dayar=8&amp;month=12&amp;year=2005&amp;category=4#18242" target="_blank">Ayna</a> (in Azeri) and <a href="http://www.internet.news.az/archives.php?day=9&amp;month=12&amp;year=2005" target="_blank">InternetNews</a> (in Russian). Lately, AzerPhoto.com has <a href="http://www.azerphoto.com/gallery/thumbnails.php?album=65" target="_blank">published photos</a> from AIF’s session regarding this question which took place on 22 December.</p>
<p>Open source movement in Azerbaijan started its unofficial activity in 1998 by translating and adopting Linux. Later KDE, OpenOffice, Mozilla and many other add-on applications were involved in this process. Most of these activities today are consolidated in Lin.az distribution. AzNet Project, the main sponsor of activities, is planning to provide funds in 1Q06 to bring open source community to the next &#8211; official level.</p>
<p><object id="doc_48549" name="doc_48549" height="600" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" ><param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"><param name="wmode" value="opaque"><param name="bgcolor" value="#ffffff"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="FlashVars" value="document_id=49126158&#038;access_key=key-wfhpgw4cr8dzxzt1nwl&#038;page=1&#038;viewMode=slideshow"><embed id="doc_48549" name="doc_48549" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=49126158&#038;access_key=key-wfhpgw4cr8dzxzt1nwl&#038;page=1&#038;viewMode=slideshow" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="600" width="100%" wmode="opaque" bgcolor="#ffffff"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/azerbaijan-is-ready-for-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>World Summit on the Information Society &#8211; Tunis 2005</title>
		<link>http://code.az/world-summit-on-the-information-society-tunis-2005/</link>
		<comments>http://code.az/world-summit-on-the-information-society-tunis-2005/#comments</comments>
		<pubDate>Mon, 21 Nov 2005 00:28:52 +0000</pubDate>
		<dc:creator>Rustam</dc:creator>
				<category><![CDATA[Random Stuff]]></category>

		<guid isPermaLink="false">http://code.az/wp/?p=39</guid>
		<description><![CDATA[The second phase of World Summit on the Information Society (WSIS) took place in Tunis from 16 to 18 November 2005. Azerbaijan was represented by the delegation headed by Mr. Ali Abbasov, Minister of Communications and IT. Delegation consisted of governmental, commercial and non-profit (AIF) sector representatives. Despite the very short time, minister spoke about [...]]]></description>
			<content:encoded><![CDATA[<p>The second phase of World Summit on the Information Society (WSIS) took place in Tunis from 16 to 18 November 2005. Azerbaijan was represented by the delegation headed by Mr. Ali Abbasov, Minister of Communications and IT. Delegation consisted of governmental, commercial and non-profit (<a href="http://www.aif.az/" target="_blank">AIF</a>) sector representatives.<span id="more-39"></span></p>
<p>Despite the very short time, minister spoke about The National Program on ICT development, 10Gbit country-wide backbone, Trans-Eurasian Fiber-optic Cable, and other projects sponsored by foreign organisations. Interestingly, among achievements minister also mentioned some fictitious developments in technologies like e-commerce, which actually have no real implementation in Azerbaijan.</p>
<p>Minister&#8217;s speech is available in <a href="http://www.itu.int/wsis/tunis/statements/docs/g-azerbaijan/1.html" target="_blank">HTML</a>, <a href="http://www.itu.int/wsis/tunis/statements/docs/g-azerbaijan/1.pdf" target="_blank">PDF</a> and <a href="rtsp://ibs.itu.int/archives/wsis/p2/summit/pl-051118-0900-en.rm?start=01:13:40&amp;end=04:01:42">Real video</a> versions.</p>
<p>Armenian Prime Minister Andranik Margaryan also participated in this summit. As usual, armenians spoke about the &#8220;ancient&#8221; armenian alphabet, so-called &#8220;armenian genocide&#8221; and other irrelevant things. He called the Soviet clone of IBM&#8217;s System/360 computer ES EVM (ЕС ЭВМ), which was &#8220;developed&#8221; in Moscow, the &#8220;first armenian computer&#8221;.</p>
<p>WSIS home page: <a href="http://www.itu.int/wsis/" target="_blank">http://www.itu.int/wsis/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.az/world-summit-on-the-information-society-tunis-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  code.az/feed/ ) in 0.54684 seconds, on May 20th, 2012 at 9:42 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 20th, 2012 at 10:42 pm UTC -->
