<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Venkat's Weblog</title>
	<atom:link href="http://venkatreddy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://venkatreddy.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 09 Jun 2008 16:06:44 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='venkatreddy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/9a44786cf8d9ba689c04887c47c210e2?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Venkat's Weblog</title>
		<link>http://venkatreddy.wordpress.com</link>
	</image>
			<item>
		<title>Ruby</title>
		<link>http://venkatreddy.wordpress.com/2008/06/09/ruby/</link>
		<comments>http://venkatreddy.wordpress.com/2008/06/09/ruby/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 13:43:58 +0000</pubDate>
		<dc:creator>Venkat</dc:creator>
				<category><![CDATA[Programing]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://venkatreddy.wordpress.com/2008/06/09/ruby/</guid>
		<description><![CDATA[Technorati Tags: Ruby Programing
Well, after coding in Perl for several years now, thought of learning some *pure object oriented* programming language. Been waiting for Perl6 (code name Parrot), but it  does not appear to be releasing in near future. Therefore, began evaluating the OO languages out there that suits my needs (scripting). It was not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=venkatreddy.wordpress.com&blog=1060288&post=7&subd=venkatreddy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4e29982a-4090-4c66-acf5-47e155e9668a" class="wlWriterSmartContent" style="display:inline;margin:0;padding:0;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/Ruby%20Programing">Ruby Programing</a></div>
<p>Well, after coding in Perl for several years now, thought of learning some *pure object oriented* programming language. Been waiting for Perl6 (code name Parrot), but it  does not appear to be releasing in near future. Therefore, began evaluating the OO languages out there that suits my needs (scripting). It was not easy to choose between Python and Ruby; both are fantastic. Finally I chose Ruby because of Rails framework and gems, that made sense.</p>
<p>My intent of this blog is to help someone like me who want to *learn* Ruby from a Perl background; while I learn <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Ok, enough! Let&#8217;s get into business.</p>
<p><span id="more-7"></span></p>
<h2>Setting up the platform</h2>
<p>1. Get <a href="http://rubyforge.org/frs/download.php/29263/ruby186-26.exe">Ruby One-Click installer</a> (If you are on Windows, like me)</p>
<p>2. Update Gems (using gem utility)</p>
<p>3. Get NetBeans IDE (with Ruby Plugin) &#8211; Amazing free IDE; I like this because of IntelliSense feature, which is typically in commercial s/w like Komodo studio. NetBeans requires JDK 1.5 or above. So, install JDK first.</p>
<p>4. Get this book</p>
<p><a href="http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1213026500&amp;sr=1-1">The Ruby Programming Language</a> by David Flanagan and Yukihiro Matsumoto</p>
<p>or, there are plenty of free tutorials online. I too try writing some in this blog.</p>
<p>Now, you are all set to rock with Ruby.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/venkatreddy.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/venkatreddy.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/venkatreddy.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/venkatreddy.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/venkatreddy.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/venkatreddy.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/venkatreddy.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/venkatreddy.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/venkatreddy.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/venkatreddy.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/venkatreddy.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/venkatreddy.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=venkatreddy.wordpress.com&blog=1060288&post=7&subd=venkatreddy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://venkatreddy.wordpress.com/2008/06/09/ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/200bbe7efad8e0c2b41ce677094d31d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">venkatreddy</media:title>
		</media:content>
	</item>
		<item>
		<title>Installer Engineering</title>
		<link>http://venkatreddy.wordpress.com/2008/05/28/installer-engineering/</link>
		<comments>http://venkatreddy.wordpress.com/2008/05/28/installer-engineering/#comments</comments>
		<pubDate>Wed, 28 May 2008 06:16:13 +0000</pubDate>
		<dc:creator>Venkat</dc:creator>
				<category><![CDATA[Software Installers]]></category>
		<category><![CDATA[Installer Engineering]]></category>

		<guid isPermaLink="false">http://venkatreddy.wordpress.com/?p=5</guid>
		<description><![CDATA[All about software Installers
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=venkatreddy.wordpress.com&blog=1060288&post=5&subd=venkatreddy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>All about software Installers</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/venkatreddy.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/venkatreddy.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/venkatreddy.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/venkatreddy.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/venkatreddy.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/venkatreddy.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/venkatreddy.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/venkatreddy.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/venkatreddy.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/venkatreddy.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/venkatreddy.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/venkatreddy.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=venkatreddy.wordpress.com&blog=1060288&post=5&subd=venkatreddy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://venkatreddy.wordpress.com/2008/05/28/installer-engineering/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/200bbe7efad8e0c2b41ce677094d31d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">venkatreddy</media:title>
		</media:content>
	</item>
		<item>
		<title>Heterogeneous Software Build Farm</title>
		<link>http://venkatreddy.wordpress.com/2007/07/20/heterogeneous-software-build-farm/</link>
		<comments>http://venkatreddy.wordpress.com/2007/07/20/heterogeneous-software-build-farm/#comments</comments>
		<pubDate>Fri, 20 Jul 2007 09:27:29 +0000</pubDate>
		<dc:creator>Venkat</dc:creator>
				<category><![CDATA[Release Management]]></category>
		<category><![CDATA[Software Builds]]></category>

		<guid isPermaLink="false">http://venkatreddy.wordpress.com/2007/07/20/heterogeneous-software-build-farm/</guid>
		<description><![CDATA[
&#160;

Abstract
A method to create heterogeneous software build farm(environment) that reduces the build time, load on Configuration Management system, using less CM licenses, and all platform builds would be made available at almost the same time due to parallel compilation on all platforms

Problem Statement
Now-a-days most of the enterprise products support more than single OS/HW platforms. Therefore, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=venkatreddy.wordpress.com&blog=1060288&post=4&subd=venkatreddy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-align:center;" align="center"><strong><span></span></strong></p>
<p class="MsoNormal" style="text-align:center;" align="center">&nbsp;</p>
<h2></h2>
<h2>Abstract</h2>
<p class="MsoNormal"><em>A method to create heterogeneous software build farm(environment) that reduces the build time, load on Configuration Management system, using less CM licenses, and all platform builds would be made available at almost the same time due to parallel compilation on all platforms</em></p>
<p><span id="more-4"></span><br />
<h2>Problem Statement</h2>
<p class="MsoNormal">Now-a-days most of the enterprise products support more than single OS/HW platforms. Therefore, the product builds needs to happen on various build machines (with different operating systems, hardware, compilers etc). Typically the build process starts with labeling the sources, creating a build workspace, compilation, collection of binaries, packaging and finally pushing the build packages to a user availability location. This cycle is repetitive until the product founds to be acceptable to reach the customers.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Imagine the level of complexity if the product supports about 20 different platforms and doing this on daily basis.</p>
<p class="MsoNormal">&nbsp;</p>
<h2>Solution</h2>
<p class="MsoNormal">This white paper aims to address a method which would simplify the above build related steps, by virtue of it, it would save time, load on CM system, CM licensing costs, builds on unsupported CM platforms, parallel builds on multiple platforms, fault-tolerance etc.,</p>
<p class="MsoNormal">This technique can also be applied for other automations.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Below picture depicts a central build machine connected through NFS with various other machines in the build farm. This machine must have the CM client installed, so that the source labeling can be done.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">The build workspace is prepared on the central build machine and the same is disk is mounted to other build machines in the build farm through NFS. Build is triggered from the central build machine and the compilation would happen on the other machines with their native compilers. This is achieved by using <em>remsh </em>or<em> SSH</em>. These two utilities have the capability to invoke the necessary commands in the remote machines that are connected with NFS and NIS.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">The binaries built are collected in the same shared disk. Therefore, all the produced binaries are available in a singe disk; this will enable to take the back up, to take care of fault-tolerance etc. Due this framework, the build workspace is created only once, thus causes less load on CM systems. All the binaries are available in one disk so that the backup is easy.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><img height="478" alt="build farm" src="http://venkatreddy.files.wordpress.com/2007/07/image001.gif?w=490&#038;h=478" width="490" border="0">&lt;!</p>
<p class="MsoNormal"><strong><span style="font-size:14pt;font-family:arial;"></span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:14pt;font-family:arial;"></span></strong></p>
<h2>Implementation</h2>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal" style="margin-left:0.5in;"><strong>Prepare central build machine:</strong></p>
<ul>
<li>
<ol>
<li>
<ul>
<li class="MsoNormal">A decently powerful machine with enough RAM
<li class="MsoNormal">A hard disk with enough memory depending on the product size
<li class="MsoNormal">Install CM client (to create build workspace)
<li class="MsoNormal">Build user account (managing through NIS)
<li class="MsoNormal">NFS client configuration
<li class="MsoNormal">Remsh, SSH and other utilities like make, Perl etc </li>
</ul>
</li>
</ol>
</li>
</ul>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal" style="margin-left:0.5in;"><strong>Configure </strong><strong>NIS</strong><strong> server:</strong></p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;NIS would enable the $HOME directory access from NIS server. Therefore, any user can access their $HOME directories from any of the build systems, provided that login is registered in NIS server</p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Now make all build systems as NIS clients so that build user can access $HOME directory from all build systems.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal" style="margin-left:0.5in;"><strong>Configure NFS server:</strong></p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;NFS would enable the sharing of disk space and build workspace with all build systems. Therefore, all the built binaries are collected back in to the same disk.</p>
<p class="MsoNormal" style="margin-left:0.5in;">&nbsp;</p>
<p class="MsoNormal" style="margin-left:0.5in;"><strong>Mount the build workspace on the build machines:</strong></p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Make an entry in /etc/exports (in central build machine) for all build machines.</p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Mount the build workspace on each of the build machine. This is one time activity. However, it’s recommended to place a mount command in .profile for each build machine.</p>
<p class="MsoNormal" style="margin-left:0.5in;">&nbsp;</p>
<p class="MsoNormal" style="margin-left:0.5in;"><strong>NFS client configuration (in main build machine):</strong></p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Build user home – the directory which users can access from all build systems.</p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;View – shared build work space.</p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Build staging – where all binaries are collected after compilation.</p>
<p class="MsoNormal" style="margin-left:0.5in;">&nbsp;</p>
<p class="MsoNormal" style="text-indent:0.5in;"><strong>Define build user $HOME:</strong></p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Platforms file – Contains mapped host names to all build systems.</p>
<p class="MsoNormal" style="margin-left:1.5in;text-indent:-0.25in;">&gt;Configuration file. The example of Platforms file is shown below:</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal" style="text-indent:0.5in;"><strong>Prerequisites for Other Build Systems:</strong></p>
<ul>
<li>
<ol>
<li>
<ul>
<li class="MsoNormal">Hardware
<li class="MsoNormal">System with latest patches and compiler
<li class="MsoNormal">CM client if possible
<li class="MsoNormal">Build user account
<li class="MsoNormal">Perl
<li class="MsoNormal">Enabling remsh access from view server </li>
</ul>
</li>
</ol>
</li>
</ul>
<p class="MsoNormal">&nbsp;</p>
<h2>Advantages</h2>
<ul>
<li class="MsoNormal"><span style="font-size:11pt;">Saves time as compared to manual compilation on each platform.</span>
<li class="MsoNormal"><span style="font-size:11pt;">Reduces complexity and the build setup is simple to use. So that the builds can be triggered from a single machine.</span>
<li class="MsoNormal"><span style="font-size:11pt;">A single location to back-up to implement fault-tolerance.</span>
<li class="MsoNormal"><span style="font-size:11pt;">Reduces the cost of CM licenses and the load on CM server</span> </li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/venkatreddy.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/venkatreddy.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/venkatreddy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/venkatreddy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/venkatreddy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/venkatreddy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/venkatreddy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/venkatreddy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/venkatreddy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/venkatreddy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/venkatreddy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/venkatreddy.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=venkatreddy.wordpress.com&blog=1060288&post=4&subd=venkatreddy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://venkatreddy.wordpress.com/2007/07/20/heterogeneous-software-build-farm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/200bbe7efad8e0c2b41ce677094d31d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">venkatreddy</media:title>
		</media:content>

		<media:content url="http://venkatreddy.files.wordpress.com/2007/07/image001.gif" medium="image">
			<media:title type="html">build farm</media:title>
		</media:content>
	</item>
	</channel>
</rss>