<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>J@F Talks</title>
	<atom:link href="http://jaftalks.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaftalks.wordpress.com</link>
	<description>Anyone who has never made a mistake has never tried anything new. [Albert Einstein]</description>
	<lastBuildDate>Mon, 29 Mar 2010 08:32:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jaftalks.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>J@F Talks</title>
		<link>http://jaftalks.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jaftalks.wordpress.com/osd.xml" title="J@F Talks" />
	<atom:link rel='hub' href='http://jaftalks.wordpress.com/?pushpress=hub'/>
		<item>
		<title>15 memorable programming lessons</title>
		<link>http://jaftalks.wordpress.com/2010/02/03/15-memorable-programming-lessons/</link>
		<comments>http://jaftalks.wordpress.com/2010/02/03/15-memorable-programming-lessons/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 08:11:14 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Code Optimization]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/2010/02/03/15-memorable-programming-lessons/</guid>
		<description><![CDATA[I&#8217;ve been programming since I was 15 and I&#8217;ve loved technology and programming every since, during that period I’ve learned some lessons that i would like to share. I Wrote here my most memorable 15 lessons so far: http://www.jaftalks.com/Home/Show/memorable%20programming%20lessons<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=97&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been programming since I was 15 and I&#8217;ve loved technology and programming every since, during that period I’ve learned some lessons that i would like to share.</p>
<p>I Wrote here my most memorable 15 lessons so far: <a href="http://www.jaftalks.com/Home/Show/memorable%20programming%20lessons">http://www.jaftalks.com/Home/Show/memorable%20programming%20lessons</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=97&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2010/02/03/15-memorable-programming-lessons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
		<item>
		<title>Code optimization remarks</title>
		<link>http://jaftalks.wordpress.com/2010/01/13/code-optimization-remarks/</link>
		<comments>http://jaftalks.wordpress.com/2010/01/13/code-optimization-remarks/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 13:39:18 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Code Optimization]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/2010/01/13/code-optimization-remarks/</guid>
		<description><![CDATA[Software Developers phobia is code optimization, how to write faster codes? How to make programs runs faster at the same hardware? How to make your client happy? Heaving read a few million lines of C# code, I came up with these optimization benchmarks that help to significantly improve code performance through simple changes. Please go [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=92&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Software Developers phobia is code optimization, how to write faster codes? How to make programs runs faster at the same hardware? How to make your client happy?</p>
<p>Heaving read a few million lines of C# code, I came up with these optimization benchmarks that help to significantly improve code performance through simple changes.</p>
<p>Please go here to read the full article: <a href="http://www.jaftalks.com/Home/Show/Code%20optimization%20remarks">http://www.jaftalks.com/Home/Show/Code%20optimization%20remarks</a></p>
<p>Thank you</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=92&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2010/01/13/code-optimization-remarks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
		<item>
		<title>God Mode of windows 7</title>
		<link>http://jaftalks.wordpress.com/2010/01/11/god-mode-of-windows-7-3/</link>
		<comments>http://jaftalks.wordpress.com/2010/01/11/god-mode-of-windows-7-3/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 13:36:52 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[General IT]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/2010/01/11/god-mode-of-windows-7-3/</guid>
		<description><![CDATA[Windows 7 God Mode, a cool workaround which will give you access to all the features of the OS. A pity about the name (it certainly wasn’t an official decision rather an unauthorized extra, so blaming Microsoft isn’t really fair). Getting past the naming, ‘God mode’ can be very useful for finding options in Windows [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=88&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Windows 7 God Mode, a cool workaround which will give you access to all the features of the OS. A pity about the name (it certainly wasn’t an official decision rather an unauthorized extra, so blaming Microsoft isn’t really fair).</p>
<p>Getting past the naming, ‘God mode’ can be very useful for finding options in Windows 7.</p>
<h5>Entering God mode</h5>
<p>Make a new folder called:</p>
<p>GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}</p>
<p>It can be anywhere – I tried it in the Drive C root folder.</p>
<p>If you do it right, the folder icon will change to the Control Panel icon.</p>
<p>Enter the folder and it shows up a long list of control settings that are normally spread across many locations (Action Center, Admin Tools etc).</p>
<p><strong>Note: Don’t try it with Vista, it’ll crash.</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=88&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2010/01/11/god-mode-of-windows-7-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
		<item>
		<title>Approaches to send a correspondence letter?</title>
		<link>http://jaftalks.wordpress.com/2009/12/22/how-to-choose-an-approach-to-send-correspondence-letter/</link>
		<comments>http://jaftalks.wordpress.com/2009/12/22/how-to-choose-an-approach-to-send-correspondence-letter/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 18:13:54 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Business Correspondence]]></category>
		<category><![CDATA[Business English]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/?p=56</guid>
		<description><![CDATA[Based on the goal of the letter that you’re sending, you choose the one of the three correspondence letters approaches. 1-&#160;&#160;&#160;&#160;&#160; Direct approach: you can use this approach when you want to transmit good news to your reader. The main and only rule is to start directly with the good news, and it’s recommended that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=56&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jaftalks.files.wordpress.com/2009/12/the20transformation20of20meaning1.jpg"></a>Based on the goal of the letter that you’re sending, you choose the one of the three correspondence letters approaches.</p>
<p><strong>1-&#160;&#160;&#160;&#160;&#160; Direct approach:</strong> you can use this approach when you want to transmit good news to your reader. The main and only rule is <em>to start directly with the good news</em>, and it’s recommended that you leave goodwill and a friendly frame in the mind of the reader at the last paragraph.</p>
<p><strong>2-&#160;&#160;&#160;&#160;&#160; Indirect approach: </strong>you can use this approach when you’re transmitting bad news to the reader or to say no. the main rule is to <em>put the bad news in the middle of the letter</em>, by putting a buffer between the reader and the bad news, the reader must begin and ends with positive message.</p>
<p><strong>3-&#160;&#160;&#160;&#160;&#160; Persuasive approach: </strong>Getting the reader to do what you want, to accept what you say, or to agree with you. In the persuasive approach the letter <em>starts with a promise or imply some benefit or reward for the reader</em>, then describe the service pr the product, and <strong><em>finally ask for action</em></strong>.</p>
<p style="text-align:center;"><a href="http://jaftalks.files.wordpress.com/2009/12/the20transformation20of20meaning1.jpg"><img title="Correspondence Approaches" alt="Correspondence Approaches" src="http://jaftalks.files.wordpress.com/2009/12/the20transformation20of20meaning1.jpg?w=300&#038;h=225" width="300" height="225" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=56&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/12/22/how-to-choose-an-approach-to-send-correspondence-letter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>

		<media:content url="http://jaftalks.files.wordpress.com/2009/12/the20transformation20of20meaning1.jpg?w=300" medium="image">
			<media:title type="html">Correspondence Approaches</media:title>
		</media:content>
	</item>
		<item>
		<title>Planning a correspondence letter</title>
		<link>http://jaftalks.wordpress.com/2009/12/22/planning-a-correspondence-letter/</link>
		<comments>http://jaftalks.wordpress.com/2009/12/22/planning-a-correspondence-letter/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 16:38:13 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Business Correspondence]]></category>
		<category><![CDATA[Business English]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/?p=49</guid>
		<description><![CDATA[Before writing any correspondence, you should plan what should be included in this correspondence and why it’s being sent. As you plan your correspondence you should start by: 1-      The person who writes the letter You represent your organization in the correspondence so never let the client or the receiver feel that you disagree with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=49&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Before writing any correspondence, you should plan what should be included in this correspondence and why it’s being sent.</p>
<p>As you plan your correspondence you should start by:</p>
<p><strong>1-      </strong><strong>The person who writes the letter</strong></p>
<p>You represent your organization in the correspondence so never let the client or the receiver feel that you disagree with anyone in the organization or with its policy.</p>
<p>Your job is to put what the organization has to say in terms that your reader can accept.</p>
<p><strong>2-      </strong><strong>The person who receives the letter</strong></p>
<p>This is the most important factor, before sending the message you should know as much as you can the mentality of the receiver or the way he thinks. Adapting to the reader means writing with the reader in mind which will help a lot getting to the letter goals.</p>
<p>A business message is successful only if the reader: Reads it – Understands it – Reacts on it.</p>
<p><strong>3-      </strong><strong>The purpose of the letter</strong></p>
<p>You write a business letter if you have a need to communicate, to plan the letter effectively, you should know: <strong>why the letter is needed</strong> and <strong>the response it should bring</strong>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=49&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/12/22/planning-a-correspondence-letter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
		<item>
		<title>The five “C” principles</title>
		<link>http://jaftalks.wordpress.com/2009/12/22/the-five-%e2%80%9cc%e2%80%9d-principles/</link>
		<comments>http://jaftalks.wordpress.com/2009/12/22/the-five-%e2%80%9cc%e2%80%9d-principles/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 16:23:42 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Business Correspondence]]></category>
		<category><![CDATA[Business English]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/2009/12/22/the-five-%e2%80%9cc%e2%80%9d-principles/</guid>
		<description><![CDATA[Effective business correspondence can be ensured by applying the five “C” principles, the letter should be: * To test the completeness of a correspondence you can ask the 5 W and the  H  ( Who, Why, Where, What and How)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=46&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Effective business correspondence can be ensured by applying the <strong>five “C” principles, </strong>the letter should be:</p>
<p style="text-align:center;"><a href="http://jaftalks.files.wordpress.com/2009/12/5c.png"><img class="alignnone size-medium wp-image-52" title="5 C principles" src="http://jaftalks.files.wordpress.com/2009/12/5c.png?w=450&#038;h=467" alt="5 C principles" width="450" height="467" /></a></p>
<p>* To test the completeness of a correspondence you can ask the 5 W and the  H  ( Who, Why, Where, What and How)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=46&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/12/22/the-five-%e2%80%9cc%e2%80%9d-principles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>

		<media:content url="http://jaftalks.files.wordpress.com/2009/12/5c.png?w=289" medium="image">
			<media:title type="html">5 C principles</media:title>
		</media:content>
	</item>
		<item>
		<title>Move To Written Communication</title>
		<link>http://jaftalks.wordpress.com/2009/12/22/move-to-written-communication/</link>
		<comments>http://jaftalks.wordpress.com/2009/12/22/move-to-written-communication/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 16:21:50 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Business Correspondence]]></category>
		<category><![CDATA[Business English]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/?p=44</guid>
		<description><![CDATA[Job skills alone are not sufficient to ensure your success in business, if you have lack in the communication skills. In business it’s not recommended to communicate verbally, written communication is highly recommended, some of the advantages: 1-      Less expensive 2-      More Penetrable (than a phone call) 3-      Written record 4-      Confidential 5-      Contains more [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=44&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Job skills alone are not sufficient to ensure your success in business, if you have lack in the communication skills.</p>
<p>In business it’s not recommended to communicate verbally, written communication is highly recommended, some of the advantages:</p>
<p>1-      Less expensive</p>
<p>2-      More Penetrable (than a phone call)</p>
<p>3-      Written record</p>
<p>4-      Confidential</p>
<p>5-      Contains more details and visual representations (charts and diagrams)</p>
<p>6-      Fast</p>
<p>7-      Spend more time in the preparation, so it’ll be more accurate.</p>
<p>There are three types of sending and receiving written information:</p>
<p>1-      Letters</p>
<p>2-      Memos</p>
<p>3-      Reports</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=44&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/12/22/move-to-written-communication/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Coding Standards</title>
		<link>http://jaftalks.wordpress.com/2009/12/02/coding-standards/</link>
		<comments>http://jaftalks.wordpress.com/2009/12/02/coding-standards/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 15:56:04 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/2009/12/02/coding-standards/</guid>
		<description><![CDATA[When I was looking for a standard convention for generics, I came across a 50-page manual for coding standards for C#. I am sure that, apart from the author, there are few who actually go through and read all of them. So, I thought of coming up with this article. I have tried to comprehend [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=43&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I was looking for a standard convention for generics, I came across a 50-page manual for coding standards for C#. I am sure that, apart from the author, there are few who actually go through and read all of them. So, I thought of coming up with this article. I have tried to comprehend the essential facts which we developers sometimes neglect in C#. I will also discuss some common pitfalls.</p>
<p>See the full article : <a href="http://www.jaftalks.com/Home/Show/Introduction%20to%20Software%20Coding%20Standards">http://www.jaftalks.com/Home/Show/Introduction%20to%20Software%20Coding%20Standards</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=43&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/12/02/coding-standards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
		<item>
		<title>Introducing Agile Methodologies</title>
		<link>http://jaftalks.wordpress.com/2009/11/30/introducing-agile-methodologies/</link>
		<comments>http://jaftalks.wordpress.com/2009/11/30/introducing-agile-methodologies/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:10:43 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/?p=31</guid>
		<description><![CDATA[  Why we are introducing Agile Methodologies We use agile development methodologies to improve quality while reducing cost and time-to-market. Why Agile? Traditionally, software applications are developed using waterfall methodology. A large percentage of big corporations still continue to follow the waterfall model. As of 2008, surveys show that agile penetration in large enterprise is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=31&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<p>Why we are introducing Agile Methodologies</p>
<p>We use agile development methodologies to improve quality while reducing cost and time-to-market.</p>
<p><strong>Why Agile?</strong></p>
<p>Traditionally, software applications are developed using waterfall methodology. A large percentage of big corporations still continue to follow the waterfall model. As of 2008, surveys show that agile penetration in large enterprise is less than 25%, but growing fast as more and more enterprises understand its benefits. A majority of ISVs and startups already use agile methodologies.</p>
<p><a href="http://jaftalks.files.wordpress.com/2009/11/new-picture1.png"><img class="alignnone size-medium wp-image-36" title="Agile Methodologies" src="http://jaftalks.files.wordpress.com/2009/11/new-picture1.png?w=300&#038;h=175" alt="Agile Methodologies" width="300" height="175" /></a></p>
<p>Agile is gaining momentum because of several factors:</p>
<ul>
<li>Businesses operate in a fast changing environment, where they have to respond to market changes quickly by introducing new products or changing existing ones. Typical projects are now 3 months or less and not years as it used to be.</li>
<li>New technologies are coming to market every other day, so if a product takes years to build, it sure will get outdated before it launches.</li>
<li>The web-based model allows companies to launch a bare bones version of the product first, get feedback from end-users and then incrementally add new features based on that feedback.</li>
</ul>
<p>Thus launching early, collecting feedback from real users and performing frequent releases is the new way of product development. And agile is closely aligned with this new way.</p>
<p><strong>The Scrum Process</strong></p>
<p>Scrum is the default process we use. A custom-made process for a client is usually a variant of Scrum.</p>
<p>The requirements for the product are collected into what is called the product backlog, which is a prioritized wish list of features. Features may be described using user stories. The Customer maintains the product backlog. The product backlog is never frozen, users can suggest new requirements and the Product Owner can add them to the backlog and prioritize it.</p>
<p>The product is developed iteratively in multiple sprints. A sprint is a time-boxed iteration, which usually lasts 30 days. The duration of a sprint can be fixed based on the nature of the project. Typically a release follows a sprint, though a release can be made after multiple sprints. Each sprint will implement a set of features.</p>
<p>Once a sprint starts, the scope of the sprint cannot be changed by adding new features. This allows the developers to complete a sprint without external interference.</p>
<p><a href="http://jaftalks.files.wordpress.com/2009/11/new-picture-21.png"><img title="scrum" src="http://jaftalks.files.wordpress.com/2009/11/new-picture-21.png?w=300&#038;h=160" alt="scrum" width="300" height="160" /></a></p>
<p><strong>Detailed Process </strong></p>
<p>Development is done in 4 week iterations. Prior to the beginning of an iteration, several things happen. We call these pre-iteration planning. The actors involved in this phase are Customer, Project Manager, and Business Analyst and to a lesser extend Developers and QA.</p>
<p>Note that during the pre-iteration phase, the developers are working on the previous iteration.</p>
<p><span style="text-decoration:underline;">Pre-iteration:</span></p>
<ul>
<li>Identify features to be implemented in the next iteration from the Product &#8211; Customer, Project Manager.</li>
<li>Write use cases; create wireframes &#8211; Business Analyst, Customer.</li>
<li>Identify sprint tasks for implementing the features / use cases &#8211; Project Manager, Team.</li>
</ul>
<p><span style="text-decoration:underline;">Iteration</span></p>
<ul>
<li>Team clarifies use cases with customer and BA. They further elaborate use cases and factor-in exceptional and failure conditions.</li>
<li>QA comes up with acceptance criteria.</li>
<li>Customer approves use cases and acceptance criteria.</li>
<li>Features implementation by development team</li>
</ul>
<p><span style="text-decoration:underline;">Post-iteration</span></p>
<ul>
<li>QA works on test automation (new test cases are automated to the extend possible).</li>
<li>Release code to live.</li>
<li>Smoke tests in live environment by QA.</li>
</ul>
<p><a href="http://jaftalks.files.wordpress.com/2009/11/new-picture-11.png"><img class="alignnone size-medium wp-image-38" title="Agile Methodologies" src="http://jaftalks.files.wordpress.com/2009/11/new-picture-11.png?w=300&#038;h=125" alt="Agile Methodologies" width="300" height="125" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=31&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/11/30/introducing-agile-methodologies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>

		<media:content url="http://jaftalks.files.wordpress.com/2009/11/new-picture1.png?w=300" medium="image">
			<media:title type="html">Agile Methodologies</media:title>
		</media:content>

		<media:content url="http://jaftalks.files.wordpress.com/2009/11/new-picture-21.png?w=300" medium="image">
			<media:title type="html">scrum</media:title>
		</media:content>

		<media:content url="http://jaftalks.files.wordpress.com/2009/11/new-picture-11.png?w=300" medium="image">
			<media:title type="html">Agile Methodologies</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction to Source Control</title>
		<link>http://jaftalks.wordpress.com/2009/11/30/introduction-to-source-control/</link>
		<comments>http://jaftalks.wordpress.com/2009/11/30/introduction-to-source-control/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 14:36:51 +0000</pubDate>
		<dc:creator>J@F</dc:creator>
				<category><![CDATA[General IT]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Source Safe]]></category>
		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://jaftalks.wordpress.com/?p=27</guid>
		<description><![CDATA[What is source control? Sometimes we call it &#8220;version control&#8221;.  Sometimes we call it &#8220;SCM&#8221;, which stands for either &#8220;software configuration management&#8221; or &#8220;source code management&#8221;.  Sometimes we call it &#8220;source control&#8221;.  By any of these names, source control is an important practice for any software development team.  The most basic element in software development [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=27&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>What is source control?</strong></p>
<p>Sometimes we call it &#8220;version control&#8221;.  Sometimes we call it &#8220;SCM&#8221;, which stands for either &#8220;software configuration management&#8221; or &#8220;source code management&#8221;.  Sometimes we call it &#8220;source control&#8221;. </p>
<p>By any of these names, source control is an important practice for any software development team.  The most basic element in software development is our source code.  A source control tool offers a system for managing this source code.</p>
<p>There are many source control tools, and they are all different.  However, regardless of which tool you use, it is likely that your source control tool provides some or all of the following basic features:</p>
<ul>
<li>It provides a place to store your source code.</li>
<li>It provides a historical record of what you have done over time.</li>
<li>It can provide a way for developers to work on separate tasks in parallel, merging their efforts later.</li>
<li>It can provide a way for developers to work together without getting in each others&#8217; way.</li>
</ul>
<p><strong>Repository and working folder</strong></p>
<p>An SCM tool provides a place to store your source code.  We call this place a <em>repository</em>.  The repository exists on a server machine and is shared by everyone on your team.</p>
<p>Each individual developer does her work in a <em>working folder</em>, which is located on a desktop machine and accessed using a client.</p>
<p>Each of these things is basically a hierarchy of folders.  A specific file in the repository is described by its path, just like we describe a specific file on the file system of your local machine. </p>
<p>For example, the path for a file might look like this:</p>
<p>$/trunk/src/myLibrary/hello.cs</p>
<p>The workflow of a developer is an infinite loop which looks something like this:</p>
<ul>
<li>Copy the contents of the repository into a working folder.</li>
<li>Make changes to the code in the working folder.</li>
<li>Update the repository to incorporate those changes.</li>
<li>Repeat.</li>
</ul>
<p>The repository is the official place where all completed work is stored.</p>
<p>Let&#8217;s imagine for a moment what life would be like without this distinction between working folder and repository.  In a single-person team, the situation could be described as tolerable.  However, for any plurality of developers, things can get very messy.</p>
<p>I&#8217;ve seen people try it (Rawad &amp; Adel).  They store their code on a file server.  Everyone uses Windows file sharing and edits the source files in place.  When somebody wants to edit <strong>main.cpp</strong>, they shout across the hall and ask if anybody else is using that file. </p>
<p>Because of this separation between working folder and repository, the most frequently used features of an SCM tool are the ones which help us move things back and forth between them.  Let&#8217;s define some terms:</p>
<ul>
<li><strong>Add</strong>:  A repository starts out completely empty, so we need to &#8220;Add&#8221; things to it.  Using the &#8220;Add Files&#8221; command in Vault you can specify files or folders on your desktop machine which will be added to the repository.</li>
<li><strong>Get</strong>:  When we copy things from the repository to the working folder, we call that operation &#8220;Get&#8221;.  Note that this operation is usually used when retrieving files that we do not intend to edit.  The files in the working folder will be read-only.</li>
<li><strong>Checkout</strong>:  When we want to retrieve files for the purpose of modifying them, we call that operation &#8220;Checkout&#8221;.  Those files will be marked writable in our working folder.  The SCM server will keep a record of our intent.</li>
<li><strong>Checkin</strong>:  When we send changes back to the repository, we call that operation &#8220;Checkin&#8221;.  Our working files will be marked back to read-only and the SCM server will update the repository to contain new versions of the changed files.</li>
</ul>
<p>The repository is more than just an archive of the current version of your code.  Actually, it is an archive of every version of the code.  The repository contains <em>history</em>.  It contains every version of every file that has ever been checked in to the repository. </p>
<p>The ability to travel back in time can be extremely useful for a software project.  Suppose we need the ability to retrieve a copy of our source code exactly as it looked on April 28th, 2002.  An SCM tool makes this kind of thing easy to do.</p>
<p>An even more common case is the situation where a piece of code looks goofy and nobody can figure out why.  It&#8217;s handy to be able to look back at the history and understand when and why a certain change happened.</p>
<p>Over time, the complete history of a repository can become large and overwhelming, so SCM tools provide ways to cope.  For example, Vault provides a History Explorer which allows the history entries to be queried and searched and sorted.</p>
<p><strong>Editing a single file</strong></p>
<p>Consider the simple situation where a developer needs to make a change to one source file. </p>
<p>Two methods:</p>
<ul>
<li><strong>checkout-edit-checkin</strong></li>
</ul>
<ol>
<li>Checkout the file</li>
<li>Edit the working file as needed</li>
<li>Checkin the file</li>
</ol>
<p>Followers of the &#8220;checkout-edit-checkin&#8221; doctrine are effectively submitting to live according to the following rules:</p>
<ul>
<li>Files in the working folder are read-only unless they are checked out.</li>
<li>Developers must always checkout a file before editing it.  Therefore, the entire team always knows who is editing which files.</li>
<li>Checkouts are made with exclusive locks, so only one developer can checkout a file at one time.</li>
</ul>
<ul>
<li><strong>Edit-merge-commit:</strong> the following steps to modify a single file:</li>
</ul>
<ol>
<li>Edit the working file as needed</li>
<li>Merge any recent changes from the server into the working file</li>
<li>Commit the file to the repository</li>
</ol>
<p>The edit-merge-commit rules:</p>
<ul>
<li>Files in the working folder are always writable.</li>
<li>Nobody uses checkouts at all, so nobody knows who is editing which files.</li>
<li>When a developer commits his changes, he is responsible for ensuring that his changes were made against the latest version in the repository.</li>
</ul>
<p>There are several reasons why we may need to merge two modified versions of a file:</p>
<ul>
<li>When using &#8220;edit-merge-commit&#8221; (sometimes called &#8220;optimistic locking&#8221;), it is possible for two developers to edit the same file at the same time.</li>
<li>Even if we use &#8220;checkout-edit-checkin&#8221;, we may allow multiple checkouts, resulting once again in the possibility of two developers editing the same file.</li>
<li>When merging between branches, we may have a situation where the file has been modified in both branches.</li>
</ul>
<p><strong>An example</strong></p>
<p>Let&#8217;s call our two developers Jane and Joe.  Both of them have retrieved version 4 of the same file and both of them are working on making changes to it.</p>
<p>One of these developers will checkin before the other one.  Let&#8217;s assume it is Jane who gets there first.  When Jane tries to checkin her changes, nothing unusual will happen.  The current version of the file is 4, and that was the version she had when she started making her changes.  In other words, version 4 was her baseline for these changes.  Since her baseline matches the current version, there is no merge necessary.  Her changes are checked in, and a version of the file is created in the repository.  After her checkin, the current version of the file is now 5.</p>
<p>The responsibility for merging is going to fall upon Joe.  When he tries to checkin his changes, the SCM tool will protest.  His baseline version is 4, but the current version in the repository is now 5.  If Joe is allowed to checkin his version of the file, the changes made by Jane in version 5 will be lost.  Therefore, Joe will not be allowed to checkin this file until he convinces the SCM tool that he has merged Jane&#8217;s version 5 changes into his working copy of the file.</p>
<p>In order to resolve this situation, Joe effectively needs to do a three-way comparison between the following three versions of the file:</p>
<ul>
<li>Version 4 (the baseline from which he and Jane both started)</li>
<li>Version 5 (Jane&#8217;s version)</li>
<li>Joe&#8217;s working file (containing his own changes)</li>
</ul>
<p>Version 4 is the common ancestor for both Joe&#8217;s version and Jane&#8217;s version of the file.  By running a diff between version 4 and version 5, Joe can see exactly what changes Jane made.  He can use this information to apply those changes to his own version of the file.  Once he has done so, he can credibly claim that his version is a merge of his changes and Jane&#8217;s.</p>
<p>However, most of the time it will be necessary for the merge to actually happen.  In these cases, Joe has the following options:</p>
<ul>
<li>Attempt to automerge</li>
<li>Use a visual merge tool</li>
<li>Redo one set of changes by hand</li>
</ul>
<p><strong>Attempt to automerge</strong></p>
<p>A surprising number of cases can be easily handled automatically.  Most source control tools include the ability to attempt an automatic merge.  The algorithm uses all three of the involved versions of the file and attempts to safely produce a merged version.</p>
<p>The reason that automerge is so safe in practice is that the algorithm is extremely conservative.  Automerge will refuse to produce a merged version if Joe&#8217;s changes and Jane&#8217;s changes appear to be in conflict.  In the most obvious case, if Joe and Jane both modified the same line, automerge will detect this &#8220;conflict&#8221; and refuse to proceed.  In other cases, automerge may fail with conflicts if two changes are too close to each other.</p>
<p><strong>Use a visual merge tool</strong></p>
<p>In cases where automerge cannot automatically resolve conflicts, we can use a visual merge tool to make the job easier.  These tools provide a visual display which shows all three files and highlights exactly what has changed.  This makes it much easier for the developer to perform the merge, since she can zero in on the conflicts very quickly.</p>
<p><strong>Redo one set of changes by hand</strong></p>
<p>Some situations are so complicated that a visual merge tool just isn&#8217;t very helpful.  In the worst case scenario, Joe might have to manually redo one set of changes.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaftalks.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaftalks.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaftalks.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaftalks.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaftalks.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaftalks.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaftalks.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaftalks.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaftalks.wordpress.com&amp;blog=10469191&amp;post=27&amp;subd=jaftalks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaftalks.wordpress.com/2009/11/30/introduction-to-source-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>33.896620 35.482301</georss:point>
		<geo:lat>33.896620</geo:lat>
		<geo:long>35.482301</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c8db63858eab2e131e99ae5812d4f65f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">J@F</media:title>
		</media:content>
	</item>
	</channel>
</rss>
