<?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>Flashes of Insight</title>
	<atom:link href="http://theflashesofinsight.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://theflashesofinsight.wordpress.com</link>
	<description>Stay Hungry! Stay Foolish!</description>
	<lastBuildDate>Sat, 13 Nov 2010 03:58:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='theflashesofinsight.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Flashes of Insight</title>
		<link>http://theflashesofinsight.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://theflashesofinsight.wordpress.com/osd.xml" title="Flashes of Insight" />
	<atom:link rel='hub' href='http://theflashesofinsight.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Checkstyle Ant Task: Run checkstyle only on modified files</title>
		<link>http://theflashesofinsight.wordpress.com/2010/10/26/checkstyle-ant-task-run-checkstyle-only-on-modified-files/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/10/26/checkstyle-ant-task-run-checkstyle-only-on-modified-files/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 04:24:26 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=577</guid>
		<description><![CDATA[Hey Guys, I sincerely apologize for causing this inconvenience. This article has been moved the following location: http://lifeisbetter.in/blog/2010/10/26/checkstyle-ant-task-run-checkstyle-only-on-modified-files/ As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. Thank [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=577&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey Guys,</p>
<p>I sincerely apologize for causing this inconvenience. This article has been moved the following location:</p>
<h3><a title="Checkstyle Ant Task: Run checkstyle only on modified files" href="http://lifeisbetter.in/blog/2010/10/26/checkstyle-ant-task-run-checkstyle-only-on-modified-files/" target="_self">http://lifeisbetter.in/blog/2010/10/26/checkstyle-ant-task-run-checkstyle-only-on-modified-files/</a></h3>
<p>As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank You for all your support to reach my 100th blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/577/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=577&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/10/26/checkstyle-ant-task-run-checkstyle-only-on-modified-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>Small Stuffs I learned today: For Android, Eclipse, Unix Shell Copy, SVN Revert</title>
		<link>http://theflashesofinsight.wordpress.com/2010/10/21/small-stuffs-i-learned-today-for-android-eclipse-unix-shell-copy-svn-revert/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/10/21/small-stuffs-i-learned-today-for-android-eclipse-unix-shell-copy-svn-revert/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 18:38:10 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=571</guid>
		<description><![CDATA[In last couple of days on my day today work, I got an opportunity to know about these simple tips or solution, which I thought would share in my blog post. Android: android update sdk in headless mode I was actually setting up hudson to run the android emulator so that we could test and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=571&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In last couple of days on my day today work, I got an opportunity to know about these simple tips or solution, which I thought would share in my blog post.</p>
<p><span style="color:#ff0000;"><strong>Android: <span style="color:#99cc00;">android update sdk in headless mode</span></strong></span></p>
<p>I was actually setting up hudson to run the android emulator so that we could test and build our application regularly using CI. As result, I had to install Android SDK on a linux box through ssh. But as I was installing, I realized that I had to install the additional package in order for the hudson to create an AVD and use it for testing our application. Had it been eclipse, we would have done the same through the Android plug-in&#8217;s Android SDK &amp; AVD Manager wizard. Since I was connected via SSH, I had to update the SDK with the required add-ons in a headless mode. As I ran the command &#8216;android update sdk&#8217;, the android tool was throwing some series of errors saying it could launch the AVD Manager as it could find a GUI support.</p>
<p>After some look through I figured out that using</p>
<pre><span style="color:#ff9900;">ssh -X user@ip-address</span></pre>
<p>would allow me to bring up the required GUI for updating the SDK. It was a pretty useful tip I learnt.</p>
<p><strong><span style="color:#ff0000;">eclipse: <span style="color:#99cc00;">Navigate to the next error or warning locations</span></span><br />
</strong></p>
<p>If you had used Intellij IDEA for your J2EE development, you would have probably realized by now how useful was &#8216;F2&#8242; shortcut key to navigate across the errors in the code. But as I am forced to use eclipse in recent times, I have been deliberately looking for a similar option. Finally I figured it out, how could I achieve the it. In eclipse the errors and warnings are marked as Annotations. In order to navigate from one error to next/previous error&#8217;s occurrence, they short cut keys are</p>
<pre><span style="color:#ff9900;">Ctrl+. (move to next occurance)</span>
<span style="color:#ff9900;">Ctrl+, (move to previous occurance)</span>
</pre>
<p>the same short keys can be used to navigate across the code to find the occurrences of a declared variable. It was pretty useful to know these shortcuts.</p>
<p><span style="color:#ff0000;"><strong>Linux shell command: <span style="color:#99cc00;">Copying the hidden files along with regular files.</span></strong></span></p>
<p>I had been using a desktop machine with Ubuntu running on it for quite sometime now. Recently, I&#8217;d been provided with a laptop and hence because of that move, I had to take the complete backup of my home folder. When I say complete backup, I wanted to even copy all the hidden files under my home folder. (files starting with .). But when I do normal recursive copy the hidden files doesn&#8217;t seemed to get copied along with rest of the regular  files and folders. I couldn&#8217;t find a straight-forward way to do the same using the &#8216;cp&#8217; command. Then finally the following commands did the trick.</p>
<pre><span style="color:#ff9900;">$ mkdir /media/THUMBDRIVE/backup</span>
<span style="color:#ff9900;">$ shopt -s dotglob</span>
<span style="color:#ff9900;">$ cp -r /home/myhome/ /media/THUMBDRIVE/backup</span>
<span style="color:#ff9900;">$shopt -u dotglob</span>
</pre>
<p><span style="color:#99cc00;"><strong><span style="color:#ff0000;">SVN: </span>Command to revert a single file to the previous version</strong></span></p>
<p>I had this file changes which I am not supposed to check-in into the svn repository. But unfortunately, I did the mistake of check it in along with rest of the files. Now I realized that I had to revert my changes which is already committed into the svn. Basically, I had to revert the changes as it was in the previous version. As I was working with the command prompt, I had to figure out to do the same. &#8216;svn revert&#8217;  will not help me to achieve the same, finally I figured out that I have to do reverse-merging with the previous version of the files and commit the changes again using the following command.</p>
<pre><span style="color:#ff9900;">svn merge -r 89:88 myfile.txt</span></pre>
<p>This help me to revert myfile.txt to the previous version (89 =&gt; 88).</p>
<p>I know most of these information is easily available on net in some place somewhere. To be honest, I got to learn all the above tricks via net. But I still wanted to record these information here just for a back reference. I hope these information would be of any use to somebody out there.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/571/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=571&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/10/21/small-stuffs-i-learned-today-for-android-eclipse-unix-shell-copy-svn-revert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>Awesome Tutorial: Send Mail Postfix through Gmail’s SMTP on a Ubuntu LTS Server</title>
		<link>http://theflashesofinsight.wordpress.com/2010/10/12/awesome-tutorial-send-mail-postfix-through-gmail%e2%80%99s-smtp-on-a-ubuntu-lts-server/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/10/12/awesome-tutorial-send-mail-postfix-through-gmail%e2%80%99s-smtp-on-a-ubuntu-lts-server/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 02:48:42 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=565</guid>
		<description><![CDATA[Hey Guys, I am sincerely apologize for causing this inconvenience. This article has been moved the following location: http://lifeisbetter.in/blog/2010/10/12/awesome-tutorial-send-mail-postfix-through-gmail%E2%80%99s-smtp-on-a-ubuntu-lts-server/ As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=565&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey Guys,</p>
<p>I am sincerely apologize for causing this inconvenience. This article has been moved the following location:</p>
<h3><a title="Awesome Tutorial: Send Mail Postfix through Gmail’s SMTP on a Ubuntu LTS Server" href="http://lifeisbetter.in/blog/2010/10/12/awesome-tutorial-send-mail-postfix-through-gmail%E2%80%99s-smtp-on-a-ubuntu-lts-server/" target="_self"></p>
<p>http://lifeisbetter.in/blog/2010/10/12/awesome-tutorial-send-mail-postfix-through-gmail%E2%80%99s-smtp-on-a-ubuntu-lts-server/</a></h3>
<p>As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank You for all your support to reach my 100th blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/565/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=565&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/10/12/awesome-tutorial-send-mail-postfix-through-gmail%e2%80%99s-smtp-on-a-ubuntu-lts-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>VIM^s#06 Delete or Change words within double quotes</title>
		<link>http://theflashesofinsight.wordpress.com/2010/10/07/vims06-delete-or-change-words-within-double-quotes/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/10/07/vims06-delete-or-change-words-within-double-quotes/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 01:38:54 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=561</guid>
		<description><![CDATA[Quite often we come across a situation like changing or deleting a string within double quotes especially when we are working with XML files, something as follows: &#60;property name="some.name" value="to.be.changed.or.deleted"/&#62; We know that if it is a single word, we could use dw or cw to accomplish what we need. But if the string is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=561&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Quite often we come across a situation like changing or deleting a string within double quotes especially when we are working with XML files, something as follows:</p>
<pre>&lt;property name="some.name" value="<span style="color:#ff0000;">to.be.changed.or.deleted</span>"/&gt;</pre>
<p>We know that if it is a single word, we could use <strong>dw</strong> or <strong>cw </strong>to accomplish what we need. But if the string is of multiple words or lengthier then the easier way to do is using,</p>
<pre><span style="color:#ff6600;">d/pattern (or) c/pattern</span></pre>
<p>In our case if have to remove the &#8216;value&#8217; attribute&#8217;s string value, leaving the double quotes intact, all that I have to do is invoke the following command.</p>
<pre><span style="color:#00ff00;">d/" [Enter] (or)  c/" [Enter]</span></pre>
<p>This should do the trick. I know this is very trivial but believe me it could be a very handy at times.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=561&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/10/07/vims06-delete-or-change-words-within-double-quotes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>Some drawing and flowchart tools like Omnigraffle and Visio</title>
		<link>http://theflashesofinsight.wordpress.com/2010/09/27/some-drawing-and-flowchart-tools-like-omnigraffle-and-visio/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/09/27/some-drawing-and-flowchart-tools-like-omnigraffle-and-visio/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 16:16:12 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=558</guid>
		<description><![CDATA[Today I had to come up with a quick high-level network design diagram to be sent to one of our clients. As part of a small company, obviously I did not had the option of using Microsoft&#8217;s Visio or Mac&#8217;s OmniGraffle. So I had quickly jump into the bandwagon of searching google to find some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=558&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I had to come up with a quick high-level network design diagram to be sent to one of our clients. As part of a small company, obviously I did not had the option of using <a title="Microsoft's Visio" href="http://office.microsoft.com/en-us/visio/" target="_blank">Microsoft&#8217;s Visio</a> or <a title="Mac's OmniGraffle" href="http://www.omnigroup.com/products/omnigraffle/">Mac&#8217;s OmniGraffle</a>. So I had quickly jump into the bandwagon of searching google to find some similar tools that would get my job done.</p>
<p>As I am using Ubuntu as my operating system, first tool that I came across was, <a title="Dia drawing Editor for gnome" href="http://projects.gnome.org/dia/" target="_blank">Dia Drawing editor</a>. Even though its is indeed a good tool for sure, as I went through the screen shots, I couldn&#8217;t find much of networking diagrams. Moreover I wanted some extra graphics around my design so I had to move on.</p>
<p>The next immediate tool which I came across was, KDE desktop&#8217;s <a title="KOffice.org &gt;&gt; Kivio" href="http://www.koffice.org/kivio/" target="_blank">Kivio</a> another easy to use flow charting and drawing tool. The tool seemed pretty ok with decent set of networking images but I didn&#8217;t go for it as I generally end up using only Gnome desktop most of the times.</p>
<p>The other option which came to my mind was, <a title="Openoffice &gt;&gt; Draw" href="http://www.openoffice.org/product/draw.html" target="_blank">OpenOffice&#8217;s Draw</a>. It had some network diagrams, but again I felt they were not quite impressive.</p>
<p>Overall, the above mentioned options were mostly, installable tools. ie., we have to install the software on our system to work on them. So I decided to take a small detour from the installable version to the on-line versions.</p>
<p>The first on-line version tool which captured my mind was <a title="Online Diagram Software-gliffy" href="http://www.gliffy.com/" target="_blank">gliffy</a>. The first impression it gave me as I went to the diagram editor extremely great. It is amazingly built with lots of options and cool networking related icons that can used for designing. More than that it was pretty much easy to use. But there was one thing I did not like about the tool is, it claimed, I do not have to sign-up for trying out but as I drew some diagrams and tried saving it, it pestered me with the annoying pop-up asking me to sign up in order to proceed further. Also gliffy is a commercial product and even if I could sign up, I can only use the trail version which is for 30 days and god only knows what other restrictions I would unveil as you use the trail version. So I decided to give up on it.</p>
<p>Finally, I managed to land in a place, where I felt at home. It was <a title="Autodesk's Project Draw." href="http://draw.labs.autodesk.com" target="_blank">Autodesk&#8217;s Project // Draw</a>. As I clicked the link, it took me directly to the drawing editor. I was impressed by the bang on target link where I could immediately start drawing my design. The tool was pretty simple and took me no time in getting acquainted to the environment. Every single option seemed quite intuitive, so I did not have to look for any help documentation in order to figure out an option. Above all, it had a pretty decent set of networking icons that I can use for my design diagram. Only thing I figured out was, when I tried saving the diagram, it asked me to sign up. But my need was to just get the diagram exported as some image and send it across to my client. So the export option did not need me to do anything other than just choose what kind of format I needed (yes, you can export your diagram as, JPEG, PNG, SVG, PDF etc.,) and get it downloaded in no time. It was simple, easy to use and quick in exporting the diagram in the format I wanted. I realized, even though it was not as good as gliffy, but it had got everything that I just wanted. In my personal opinion, just give it a try if you in need of a quick design/flowchart diagram. Its worth it.</p>
<p>It took me sometime and effort to look into all these options and finally figure out a right tool for me. Hooking yourself with the right tool itself is like half job done. Hope you guys agree with me. And I wish this blog post could help someone out there looking for a similar faster and simple solution.</p>
<p>Please feel free to share me with any other tool you guys would have come across and that I missed it here in the list. I would love to hear from you guys too.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/558/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=558&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/09/27/some-drawing-and-flowchart-tools-like-omnigraffle-and-visio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>Acer laptop touchpad not working</title>
		<link>http://theflashesofinsight.wordpress.com/2010/09/25/acer-laptop-touchpad-not-working/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/09/25/acer-laptop-touchpad-not-working/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 00:55:43 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=552</guid>
		<description><![CDATA[Hey Guys, I sincerely apologize for causing this inconvenience. This article has been moved the following location: http://lifeisbetter.in/blog/2010/09/25/acer-laptop-touchpad-not-working/ As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. Thank [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=552&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey Guys,</p>
<p>I sincerely apologize for causing this inconvenience. This article has been moved the following location:</p>
<h3><a title="Acer laptop touchpad not working" href="http://lifeisbetter.in/blog/2010/09/25/acer-laptop-touchpad-not-working/" target="_self"></p>
<p>http://lifeisbetter.in/blog/2010/09/25/acer-laptop-touchpad-not-working/</a></h3>
<p>As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank You for all your support to reach my 100th blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/552/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=552&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/09/25/acer-laptop-touchpad-not-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>Continous Integration: Hudson jobs disappear on restart of Tomcat</title>
		<link>http://theflashesofinsight.wordpress.com/2010/09/22/ci-hudson-jobs-disappear-on-restart-of-tomcat/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/09/22/ci-hudson-jobs-disappear-on-restart-of-tomcat/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 17:06:28 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=545</guid>
		<description><![CDATA[Something peculiar happened today while we were playing around with newly installed continuous integration tool, Hudson. As I was very new to using Hudson, I was for a moment taken aback with what happened.  The story goes like this. A few days back, we decided to use Hudson as our CI tool. As a result, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=545&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Something peculiar happened today while we were playing around with newly installed continuous integration tool, <a title="Hudson CI" href="http://hudson-ci.org/" target="_blank">Hudson</a>. As I was very new to using Hudson, I was for a moment taken aback with what happened.  The story goes like this. A few days back, we decided to use Hudson as our CI tool. As a result, we could deploy the hudson.war and configure it to run our projects in no time. Everything seemed perfectly ok. We were all very much impressed with the awesome user interface, that Hudson provided for the configuration of our project.</p>
<p>We left the CI tool run for couple of days as a trial run and once we realized that everything is working fine as expected, we decided to go ahead with enabling of authentication/security settings for the users. Idea is, only an admin should be able to make changes to the CI and rest of the whole team was given some minimum privileges to view the running jobs and probably to do some force builds if required. Then we decided to restart the tomcat server in which Hudson is deployed in order to ensure that all the configuration changes done for security are applied and reflected.</p>
<p>Since the tomcat server was in a remote machine, we logged in via SSH as one of the regular users and restarted the tomcat. When we came back to the Hudson home page, we were greeted with a biggest shock of our life. All the projects/jobs that we configured previously was no more seen. They just disappeared! Neither seemed to have the user access controls we defined been applied. It was like a fresh deployment of hudson.war. We had no clue of what exactly had happened.</p>
<p>After little bit digging into the nightmarish problem in hand, we realized that actually when Hudson was deployed for the first time, it was done through the &#8216;sudo&#8217; privileges of the remote machine. So Hudson persisted all the job details that we created under <strong><span style="color:#00ff00;">/root/.hudson/jobs</span></strong> folder.</p>
<p>But this time, when we logged in, we logged in as different user and were not using &#8216;sudo&#8217; privileges to restart tomcat since we were able to restart the tomcat instance using this user account itself. As a result, Hudson simply tried looking for the previous configuration details at <strong><span style="color:#ff0000;">/home/user/.hudson/jobs</span></strong> folder while initializing, instead of looking at <span style="color:#00ff00;"><strong>/root/.hudson/jobs</strong></span>. Since nothing was found there, it had nothing to initialize with and hence just simply showed itself as a fresh copy/as a newly installed version.</p>
<p>The solution to get back the disappeared jobs was very simple. This time we restarted the tomcat via &#8216;<strong>sudo</strong>&#8216; and everything (included our defined user access controls) came back in Hudson. Only when saw all jobs and configuration details are intact, we got a huge sigh of relief. What a stupidity isn&#8217;t it? Still I thought its worth sharing this information with you  folks anyways. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So the moral of the story is, next time when you restart your tomcat and see nothing on Hudson dashboard, just check if you have all the configured jobs under your <strong>~/.hudson/</strong> folder.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/545/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=545&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/09/22/ci-hudson-jobs-disappear-on-restart-of-tomcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>Maintain a local Subversion repository for dependency management using Apache Ivy and ivysvn.</title>
		<link>http://theflashesofinsight.wordpress.com/2010/09/21/maintain-a-local-subversion-repository-for-dependency-management-using-apache-ivy-and-ivysvn/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/09/21/maintain-a-local-subversion-repository-for-dependency-management-using-apache-ivy-and-ivysvn/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 17:36:57 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=520</guid>
		<description><![CDATA[Hey Guys, I sincerely apologize for causing this inconvenience. This article has been moved the following location: http://lifeisbetter.in/blog/2010/09/21/maintain-a-local-subversion-repository-for-dependency-management-using-apache-ivy-and-ivysvn/ As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. Thank [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=520&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey Guys,</p>
<p>I sincerely apologize for causing this inconvenience. This article has been moved the following location:</p>
<h3><a title="Maintain a local Subversion repository for dependency management using Apache Ivy and ivysvn." href="http://lifeisbetter.in/blog/2010/09/21/maintain-a-local-subversion-repository-for-dependency-management-using-apache-ivy-and-ivysvn/" target="_self">http://lifeisbetter.in/blog/2010/09/21/maintain-a-local-subversion-repository-for-dependency-management-using-apache-ivy-and-ivysvn/</a></h3>
<p>As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank You for all your support to reach my 100th blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/520/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/520/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/520/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/520/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/520/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/520/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/520/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=520&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/09/21/maintain-a-local-subversion-repository-for-dependency-management-using-apache-ivy-and-ivysvn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>VIM^s#05 Search and Replace text with special characters</title>
		<link>http://theflashesofinsight.wordpress.com/2010/09/19/vims05-search-and-replace-text-with-special-characters/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/09/19/vims05-search-and-replace-text-with-special-characters/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 12:10:14 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=512</guid>
		<description><![CDATA[Hey Guys, I sincerely apologize for causing this inconvenience. This article has been moved the following location: http://lifeisbetter.in/blog/2010/09/19/vims05-search-and-replace-text-with-special-characters/ As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. Thank [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=512&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey Guys,</p>
<p>I sincerely apologize for causing this inconvenience. This article has been moved the following location:</p>
<h3><a title="VIM^s#05 Search and Replace text with special characters" href="http://lifeisbetter.in/blog/2010/09/19/vims05-search-and-replace-text-with-special-characters/" target="_self">http://lifeisbetter.in/blog/2010/09/19/vims05-search-and-replace-text-with-special-characters/</a></h3>
<p>As I was nearing my 100th blog, I thought its good time for me to move all my blog posts to my own space. Hope you guys can bare with me and wish me good luck. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank You for all your support to reach my 100th blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/512/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=512&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/09/19/vims05-search-and-replace-text-with-special-characters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
		<item>
		<title>svn:externals for DRY</title>
		<link>http://theflashesofinsight.wordpress.com/2010/09/14/svnexternals-for-dry/</link>
		<comments>http://theflashesofinsight.wordpress.com/2010/09/14/svnexternals-for-dry/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 16:21:09 +0000</pubDate>
		<dc:creator>theflashesofinsight</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://theflashesofinsight.wordpress.com/?p=506</guid>
		<description><![CDATA[This is quite interesting, I happened to get a chance to work with &#8216;svn:externals&#8217; property and using it turned out to be a good learning exercise. BTW, I planned to use svn:externals to clear off some duplications in one of the repositories. The story goes like this, I had a friend who manages a svn [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=506&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is quite interesting, I happened to get a chance to work with &#8216;svn:externals&#8217; property and using it turned out to be a good learning exercise. BTW, I planned to use svn:externals to clear off some duplications in one of the repositories.</p>
<p>The story goes like this, I had a friend who manages a svn repository with couple of projects. For some reason, I happened to check-out the projects from his repository and I found some duplication on the first sight which I felt, it could be avoided.</p>
<p>The repo structure was some thing like this, (simpler version)</p>
<pre><span style="color:#ff9900;">Repo
    -Project1
        - src
        - test
        - lib (set of third-party libraries)
        - resources
     -Project2
        - src
        - test
        - lib (set of third-party libraries as same in Project1/lib)
         - resources
     -Project3
         - # a similar structure, not to mention, the lib folder is seen again duplicated.</span></pre>
<p>Ideally, I should have gone for using some awesome dependency management tool available (<a title="Apache Maven Project" href="http://maven.apache.org/" target="_blank">Apache Maven</a> or <a title="Apache Ivy - The agile dependency manager" href="http://ant.apache.org/ivy/" target="_blank">Apache Ivy</a>), but, since its going to take in lot of changes to implement the same, I decided to take smaller steps.</p>
<ul>
<li>First, externalize the common library and avoid duplication.</li>
<li>Second, refactor the build files to start using a dependancy management tool.</li>
</ul>
<p><strong>First step first:</strong><br />
Here is a simple tutorial I framed in order to show how an svn:externals can be used to avoid this kind of duplication in simpler steps. You can try this out on your local machine by setting up a simple repository emulating the above structure and see how it works.</p>
<p>For those, who doesn&#8217;t know what is svn:externals, please do check out more details on the same in <a title="SVN Red Book - svn:externals" href="http://svnbook.red-bean.com/en/1.1/ch07s04.html" target="_blank">SVN red book</a>. But I am damn sure, you would get some basic understanding by end of this blogpost.</p>
<p>Ok, let us start with creating a simple svn repository in our local sandbox.<br />
To create a repository, follow these steps</p>
<pre><span style="color:#ff9900;">/home/user/$:</span> <span style="color:#00ff00;">mkdir myrepository</span>
<span style="color:#ff9900;">/home/user/$:</span> <span style="color:#00ff00;">cd myrepository</span>
<span style="color:#ff9900;">/home/user/myrepository/$:</span> <span style="color:#00ff00;">svnadmin create project1</span> (P.S. I am assuming you have downloaded and installed svn in your localsandbox)</pre>
<p>Now its time to import some code into the empty repo. So create a folder named &#8216;project1&#8242; with the &#8216;src&#8217;, &#8216;lib&#8217;, &#8216;test&#8217; and &#8216;resources&#8217; subfolders. Add some couple of library files (jar files may be) into the lib folder.<br />
Assuming your folder is at, /home/user/project, its time to check-in this structure into the newly created svn repo as shown below:</p>
<pre><span style="color:#ff9900;">/home/user$:</span> <span style="color:#00ff00;">svn import ./project1/ file:///home/user/myrepository/project1 -m "message:pushing the project1 to the svn repo"</span></pre>
<p>With the above command, you are telling svn that push all the files &amp; folders under &#8216;project1&#8242; into the svn repo located at &#8220;file:///home/user/myrepository/project1&#8243; with a message.<br />
Congratulations! you have created a new svn repo with some files and folders in it.</p>
<p>Similarly, you can create another project with name &#8216;project2&#8242;, create an equivalent repository using &#8216;svnadmin&#8217; as shown above. Make sure that, this project&#8217;s &#8216;lib&#8217; folder to has got the same library files as you had in &#8216;project1&#8242;.<br />
This is truly a sin, I have just asked you to duplicate the library files. I promise, will not do that anymore. Lets go ahead and see how can we fix this duplication.</p>
<p>The solution would be, to have the library files in one common place in the repository and have both the projects &#8216;project1 and project2&#8242; use it. This is where svn:externals come into handy.<br />
Before going ahead using the svn:externals, lets create a common repository in svn to store the library files.<br />
Here are the steps you need to follow:</p>
<pre><span style="color:#ff9900;">/home/user/$:</span> <span style="color:#00ff00;">cd myrepository</span>
<span style="color:#ff9900;">/home/user/myrepository/$:</span> <span style="color:#00ff00;">svnadmin create library</span></pre>
<p>Now have the library files copied to a folder at a some location like, &#8216;/home/user/common-lib&#8217;. Now go ahead and import the library files into the newly created &#8216;library&#8217; repo as follows:</p>
<pre><span style="color:#ff9900;">/home/user$:</span> <span style="color:#00ff00;">svn import ./common-lib/ file:///home/user/myrepository/library -m "message:pushing the common lib files to the library repo"</span></pre>
<p>Its time to remove the duplications, In order to do that, just checkout the &#8216;project1&#8242; and &#8216;project2&#8242; into a folder like &#8216;/home/user/localworkingcopy&#8217;. The following svn commands should do that for you.</p>
<pre><span style="color:#ff9900;">/home/user/$:</span> <span style="color:#00ff00;">mkdir localworkingcopy</span>
<span style="color:#ff9900;">/home/user/$:</span> <span style="color:#00ff00;">cd localworkingcopy</span>
<span style="color:#ff9900;">/home/user/localworkingcopy/$:</span> <span style="color:#00ff00;">svn co file:///home/user/myrepository/project1</span>
<span style="color:#ff9900;">/home/user/localworkingcopy/$:</span> <span style="color:#00ff00;">svn co file:///home/user/myrepository/project2</span></pre>
<p>Now, remove the duplication and re-commit the changes into svn repo.</p>
<pre><span style="color:#ff9900;">/home/user/localworkingcopy/$:</span> <span style="color:#00ff00;">cd project1</span>
<span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn delete lib/</span>
<span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn status</span> (this should show the local change as 'lib' folder is marked for deletion)
<span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn commit . -m "message: removed the lib folder"</span></pre>
<p>Similarly follow the same above mentioned steps to delete the &#8216;lib&#8217; folder from &#8216;/home/user/localworkingcopy/project2&#8242; as well.<br />
Now, both our projects are devoid of its required libraries, lets make them to fetch their libraries from the newly created &#8216;library&#8217; repo using svn:externals. To do that, you need to set some value to the svn:externals property using the command as follows:</p>
<pre><span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn propedit svn:internals .</span></pre>
<p>#notice the &#8216;.&#8217; at the last, its required because, I am mentioning to the svn repo that, I am setting some value for svn:externals pertaining only for/within the folder, &#8216;project1&#8242;. The above command should openup an editor (in my case, it was vim).<br />
Just put the following in the first line and save &amp; close the editor.</p>
<pre><span style="color:#ff0000;">lib file:///home/user/myrepository/library</span></pre>
<p>The above line is actually a key-value pair where &#8216;lib&#8217; is the key and the svn URL, &#8216;file:///home/user/myrepository/library&#8217; is the value. All that it implies is, &#8216;svn update&#8217; to check-out the content from the &#8216;library&#8217; repo under &#8216;project1/lib&#8217; folder. When we do an svn update, a &#8216;lib&#8217; folder will be created and the respective contents will be checked-out. And on every consecutive svn updations, this &#8216;lib&#8217; folder will also be updated based on any changes in the &#8216;library&#8217; repository.<br />
Note: You can set as many key-value pairs for svn:externals property as you want each key-value in an individual line within the vim editor. In our case we just need one.</p>
<p>This is one final, important step you need to follow. The step is to persist/commit the changes you have made for svn:externals property into the svn. So lets commit the changes by the following command.</p>
<pre><span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn commit . -m "set the svn:externals to look up the common library folder"</span></pre>
<p>Follow the same steps of setting svn:externals property for &#8216;/home/user/localworkingcopy/project2&#8242; as well.</p>
<p>Now, its time to taste the fruit of all our hard-work. Run svn update command to check-out the library files into the &#8216;project1&#8242; and &#8216;project2&#8242; as follows:</p>
<pre><span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn update</span>
<span style="color:#ff9900;">/home/user/localworkingcopy/project2/$:</span> <span style="color:#00ff00;">svn update</span></pre>
<p>At this juncture you should be able to see the lib folder created with all its content in both the projects.<br />
But there is a small catch here, even though the new &#8216;library&#8217; repo is likely to see any quite often changes, whenever I run &#8216;svn update&#8217; for &#8216;project1/project2&#8242;, I going to check the changes in &#8216;lib&#8217; folder as well which might cause some delay during every updation.<br />
If I am sure that, there would be less frequent changes to the common &#8216;library&#8217; repo, I can use the following command to avoid the continous look-up for changes from within &#8216;project1&#8242; and &#8216;project2&#8242; using the following command.</p>
<pre><span style="color:#ff9900;">/home/user/localworkingcopy/project1/$:</span> <span style="color:#00ff00;">svn update --ignore-externals</span>
<span style="color:#ff9900;">/home/user/localworkingcopy/project2/$:</span> <span style="color:#00ff00;">svn update --ignore-externals</span></pre>
<p>That is all it is. Finally after all these changes, the repo would look like the following:</p>
<pre><span style="color:#ff9900;">Repo
<span style="color:#00ff00;">   -library
      # common library files are located here.</span>
    -Project1 <span style="color:#00ff00;">(with svn:externals property set to point the common 'library' repo)</span>
      - src
      - test
      - resources
    -Project2 <span style="color:#00ff00;">(with svn:externals property set to point the common 'library' repo)</span>
      - src
      - test
      - resources
    -Project3 <span style="color:#00ff00;">(with svn:externals property set to point the common 'library' repo)</span>
       #with its contents and without the lib folder</span></pre>
<p>I hope you got a basic idea about how svn:externals property works. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theflashesofinsight.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theflashesofinsight.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/theflashesofinsight.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/theflashesofinsight.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theflashesofinsight.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theflashesofinsight.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theflashesofinsight.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theflashesofinsight.wordpress.com/506/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=theflashesofinsight.wordpress.com&amp;blog=6838482&amp;post=506&amp;subd=theflashesofinsight&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://theflashesofinsight.wordpress.com/2010/09/14/svnexternals-for-dry/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">theflashesofinsight</media:title>
		</media:content>
	</item>
	</channel>
</rss>
