<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SolitaryGeek &#187; development</title>
	<atom:link href="http://solitarygeek.com/tag/development/feed" rel="self" type="application/rss+xml" />
	<link>http://solitarygeek.com</link>
	<description>Technical Productivity</description>
	<lastBuildDate>Mon, 28 Jun 2010 03:54:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What UML Tools do you use?</title>
		<link>http://solitarygeek.com/general/what-uml-tools-do-you-use</link>
		<comments>http://solitarygeek.com/general/what-uml-tools-do-you-use#comments</comments>
		<pubDate>Wed, 26 Aug 2009 13:30:58 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[Polls]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[uml]]></category>
		<category><![CDATA[uml-tools]]></category>
		<category><![CDATA[umltools]]></category>

		<guid isPermaLink="false">http://www.solitarygeek.com/?p=425</guid>
		<description><![CDATA[<p>Recently I read the article &#8220;Free UML tools&#8221; which explains about the various free UML tools available. That article made me think &#8220;What UML tool do people actually use?&#8221;. Over the years, I have used tools like Microsoft Visio, ArgoUML, NetBeans UML, StarUML and finally settled with JUDE. How about you? What UML tools do you <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/general/what-uml-tools-do-you-use">What UML Tools do you use?</a></span>]]></description>
			<content:encoded><![CDATA[<p>Recently I read the article &#8220;<a href="http://www.certpal.com/blogs/2009/08/free-uml-tools/">Free UML tools</a>&#8221; which explains about the various free UML tools available. That article made me think &#8220;What UML tool do people actually use?&#8221;. Over the years, I have used tools like Microsoft Visio, <a href="http://argouml.tigris.org/">ArgoUML</a>, <a href="http://www.netbeans.org/features/uml/">NetBeans UML</a>, <a href="http://staruml.sourceforge.net/">StarUML</a> and finally settled with <a href="http://jude.change-vision.com/jude-web/product/community.html">JUDE</a>. How about you? What UML tools do you use? Some of you might use more than one tool (at work, at home etc), so feel free to choose all the options applicable.</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/general/what-uml-tools-do-you-use/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Poll: What is your favourite Subversion client?</title>
		<link>http://solitarygeek.com/polls/poll-what-is-your-favourite-subversion-client</link>
		<comments>http://solitarygeek.com/polls/poll-what-is-your-favourite-subversion-client#comments</comments>
		<pubDate>Sat, 15 Aug 2009 15:58:17 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Polls]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.solitarygeek.com/?p=344</guid>
		<description><![CDATA[<p>Do you use Subversion as your version control system? Then, please share with us what is your favourite Subversion client.</p>
Note: There is a poll embedded within this post, please visit the site to participate in this <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/polls/poll-what-is-your-favourite-subversion-client">Poll: What is your favourite Subversion client?</a></span>]]></description>
			<content:encoded><![CDATA[<p>Do you use Subversion as your version control system? Then, please share with us what is your favourite Subversion client.</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/polls/poll-what-is-your-favourite-subversion-client/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Subversion and RapidSVN</title>
		<link>http://solitarygeek.com/linux/subversion-and-rapidsvn</link>
		<comments>http://solitarygeek.com/linux/subversion-and-rapidsvn#comments</comments>
		<pubDate>Fri, 14 Aug 2009 17:07:09 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rapidsvn]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.solitarygeek.com/linux/linux-subversion-rapidsvn-svn-ubuntu/</guid>
		<description><![CDATA[<p>Subversion is a very popular version control system. Though Subversion provides a very robust command line client, most of us prefer using a nice GUI front end. Windows users are really fortunate to have a powerful tool like TortoiseSVN which without any argument is simply the best front end for Subversion. Unfortunately, TortoiseSVN is available for <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/linux/subversion-and-rapidsvn">Subversion and RapidSVN</a></span>]]></description>
			<content:encoded><![CDATA[<p>Subversion is a very popular version control system. Though Subversion provides a very robust command line client, most of us prefer using a nice GUI front end. Windows users are really fortunate to have a powerful tool like TortoiseSVN which without any argument is simply the best front end for Subversion. Unfortunately, TortoiseSVN is available for just the Windows platform. Here I would like to highlight about RapidSVN, a cross-platform GUI front end for Subversion.</p>
<p>This tutorial is directed towards new users of Linux or people who migrated from Windows to Linux recently. If you are a Windows user, TortoiseSVN might be the best bet for you. Learn more about TortoiseSVN from the post &#8220;<a href="http://www.solitarygeek.com/version-control/extending-subversion-by-using-tortoisesvn/">Extending Subversion by using TortoiseSVN</a>&#8220;.</p>
<p><span id="more-329"></span></p>
<p><strong>Pre-requisites<br />
</strong>Subversion<br />
<strong><br />
Installation<br />
</strong>Installing RapidSVN in Ubuntu is a breeze,</p>
<pre lang="bash">sudo apt-get install rapidsvn</pre>
<p>Once installation is done, RapidSVN can be found under &#8220;Applications -&gt; Programming&#8221;. Or if you use a dock like <a href="http://do.davebsd.com/">GNOME-Do</a>, you can launch it by typing &#8220;rapidsvn&#8221;.</p>
<p>For other platforms, download the latest release from the <a href="http://www.rapidsvn.org/download/release/">RapidSVN</a> site.</p>
<p>[smartads]</p>
<p><strong>Adding a repository to RapidSVN<br />
</strong>Unlike TortoiseSVN which seamlessly integrates into Windows Explorer, RapidSVN allows you to manage the files from a dedicated user interface. RapidSVN will display details like status, author, revision number etc in separate columns.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/Screenshot1-p.png" alt="" /></p>
<p>To add a new repository to RapidSVN, right click &#8220;Bookmarks&#8221;, click &#8220;Add Existing Repository&#8221; and enter the repository url.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot20-p.png" alt="" /></p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot3-p1.png" alt="" /></p>
<p><strong>Checkout a working copy</strong><br />
To checkout a working copy from the repository, right click a repository, click &#8220;Checkout New Working Copy&#8221; and enter appropriate details.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot4-p.png" alt="" /></p>
<p>RapidSVN will display any unversioned files in your working copy, if any.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot5-p.png" alt="" /></p>
<p><strong>Adding files to working copy</strong><br />
Right click any unversioned file and then click &#8220;Add&#8221; to add them in your working copy. Click &#8220;Add recursive&#8221; if you want to add a folder with multiple sub folders inside it.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot7-p.png" alt="" /></p>
<p>RapidSVN will display appropriate status regarding the files that are added in your working copy but not yet committed to the repository.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot8-p.png" alt="" /></p>
<p><strong>Commiting changes</strong><br />
You can commit the added files, modified files by right clicking them and selecting &#8220;Commit&#8221;.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot9-p.png" alt="" /></p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot10-p.png" alt="" /></p>
<p>[smartads]<strong><br />
Updating working copy</strong><br />
Right click your working copy in the RapidSVN sidebar and click &#8220;Update&#8221; to update your working copy.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot11-p.png" alt="" /></p>
<p><strong>View history (Log)</strong><br />
To view the change history of a file, right click a file and select &#8220;Log&#8221;.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot12-p.png" alt="" /></p>
<p><strong>Reverting local changes</strong><br />
Right click a modified file and click &#8220;Revert&#8221; to revert the changes you made to your working copy.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot13-p.png" alt="" /></p>
<p><strong>Compare the changes made (Diff)</strong><br />
Unlike TortoiseSVN, RapidSVN does not provide built in support for &#8220;Diff&#8221;. However, you can instruct RapidSVN to use any externl diff tool to fill that gap. So this is what you will see when you attempt to run &#8220;Diff&#8221; on a file,</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot14.png" alt="" /></p>
<p>Fortunately, there are many excellent &#8220;Diff&#8221; tools available. I use &#8220;Meld&#8221; as the diff tool in Ubuntu Linux. &#8220;Meld&#8221; should be available in all major Linux distros. This is how you will install &#8220;Meld&#8221; in Ubuntu,</p>
<pre lang="bash">sudo apt-get install meld
</pre>
<p>Once you have your diff tool of choice installed, you need to tell RapidSVN to use the diff tool. In RapidSVN, click &#8220;View -&gt; Preferences&#8221; and then open the &#8220;Programs&#8221; tab. In the &#8220;Programs&#8221; tab, look for a section called &#8220;Diff Tool&#8221; and enter the command name there and save the changes.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot15.png" alt="" /></p>
<p>Now you can diff the changes made to a file by right clicking it and selecting &#8220;Diff&#8221; or &#8220;Diff to Head&#8221; or &#8220;Diff to Base&#8221;.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot16.png" alt="" /></p>
<p>Once you click &#8220;OK&#8221;, RapidSVN will invoke the respective Diff tool to display the differences.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot17-p.png" alt="" /></p>
<p><strong>Other Settings</strong><br />
If you want to open and edit files right from within RapidSVN, open &#8220;Edit -&gt; Preferences&#8221; and then enter the appropriate value in the &#8220;Standard Editor&#8221; section.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot18-p.png" alt="" /></p>
<p>If you want to explore your working copy from within RapidSVN, then configure the &#8220;Standard Explorer&#8221; section in &#8220;Preferences&#8221;.</p>
<p><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/08/screenshot19-p.png" alt="" /></p>
<p>Overall, RapidSVN is a solid Subversion client especially to linux users. What Subversion client do you use?</p>
<p><strong>SolitaryGeek Poll</strong></p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=b7261b0a-249c-8510-b5af-4f03347146b8" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/linux/subversion-and-rapidsvn/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>NetBeans 6.7 &#8211; A quick glance</title>
		<link>http://solitarygeek.com/java/netbeans-6-7-a-quick-glance</link>
		<comments>http://solitarygeek.com/java/netbeans-6-7-a-quick-glance#comments</comments>
		<pubDate>Tue, 07 Jul 2009 15:30:58 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.solitarygeek.com/java/netbeans-netbeans-6-7/</guid>
		<description><![CDATA[<p>NetBeans 5.0 &#8211; Simplified Swing development
NetBeans 5.5 &#8211; Simplified Java EE development
NetBeans 6.0 &#8211; Made the NetBeans editor and other core infrastructure on par with competitors
NetBeans 6.5 &#8211; Looked beyond Java development by supporting languages like PHP
NetBeans 7.0 6.7 &#8211; Tries to make collaborative team development seamless.</p>
<p>I was quick to download the &#8220;All Java&#8221; pack of <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/java/netbeans-6-7-a-quick-glance">NetBeans 6.7 &#8211; A quick glance</a></span>]]></description>
			<content:encoded><![CDATA[<p><span>NetBeans 5.0 &#8211; Simplified Swing development<br />
NetBeans 5.5 &#8211; Simplified Java EE development<br />
NetBeans 6.0 &#8211; Made the NetBeans editor and other core infrastructure on par with competitors<br />
NetBeans 6.5 &#8211; Looked beyond Java development by supporting languages like PHP<br />
NetBeans <span style="text-decoration: line-through;">7.0</span> 6.7 &#8211; Tries to make collaborative team development seamless.</span></p>
<p><span>I was quick to download the &#8220;All Java&#8221; pack of <a href="http://www.netbeans.org/downloads/index.html">NetBeans</a> IDE for linux. Installation, as usual was pretty smooth on my Ubuntu 9.04. The installation didn&#8217;t give me much surprises and it was very much similar to version 6.5. I customized the installer to install Glassfish v2.1 and Tomcat 6.0.18 for me.</span></p>
<p><span><span id="more-36"></span><strong>Splash Screen</strong><br />
The splash screen has changed a bit and the startup was quick. But I wouldn&#8217;t comment about the startup speed at this point of time since I haven&#8217;t created/opened any projects in the IDE.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot1a.png" alt="" /></span></p>
<p><span><strong>Intuitive Start Page<br />
</strong>The start page has got the much needed face lift and is very attractive. The big and clean text reminded me about Eclipse which has got a really good start page. With this new start page, installing plugins is just one click away.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot2.png" alt="" /></span></p>
<p><span> </span><span>The start page also offers an intuitive way to activate/de-activate IDE features. Say suppose you don&#8217;t want certain IDE features, for example, Mobile development, it&#8217;s very easy to turn it off right from your start page. Good work!</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot3a.png" alt="" /></span></p>
<p><span><strong>Hudson Integration<br />
</strong>That&#8217;s my favourite feature in this release of NetBeans. <a href="http://hudson.dev.java.net">Hudson</a> is a great continuous integration server which helps you to automate your build process. And if your team uses Hudson, then this NetBeans feature might be very useful to you. As per my understanding, currently NetBeans supports only Hudson continuous integration server. If you are using other CI servers like CruiseControl, no great news for you in this release of NetBeans. <img src='http://solitarygeek.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </span></p>
<p><span>[smartads]<br />
</span></p>
<p><span>Open the &#8220;Services&#8221; window in the IDE and look for &#8220;Hudson Builders&#8221;. There you can add your existing hudson urls.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot5.png" alt="" /></span></p>
<p><span>With the hudson support, you can now manage the hudson jobs without opening a browser. You can even copy the build artifacts to your netbeans projects.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot6a.png" alt="" /></span></p>
<p><span>You can also watch the remote hudson build console at the comfort of your IDE.</span></p>
<p><span><strong>Issue Tracker Integration<br />
</strong>If you are doing any serious development, it&#8217;s most likely that you will be using some issue tracker. There are many popular issue trackers available like <a href="http://www.bugzilla.org/">Bugzilla</a>, <a href="http://trac.edgewall.org/">Trac</a>, <a href="http://www.atlassian.com/software/jira/">Jira</a> etc. NetBeans 6.7 provides out of the box support for Bugzilla but Jira support is available as well through a plugin.</span></p>
<p><span>I registered my mozilla issue tracker account in the IDE. Once an issue tracker is registered, you can find as well as add/modify issues.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot7.png" alt="" /></span></p>
<p><span>Finding issues from a bugzilla based issue tracking system is just a click away.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot8a.png" alt="" /></span></p>
<p><span>Reporting new issues is not a tough job either.</span></p>
<p><span><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot9a.png" alt="" /></span></p>
<p><span>I didn&#8217;t try the Jira integration yet. In future, I would love to see integration with more issue trackers like Trac.</span></p>
<p><span><strong>Error Reporting<br />
</strong>Another neat feature which I like in this release is the enhancements made to the exception reporter.<br />
In previous versions of NetBeans, the issue log file shall be uploaded to the netbeans server and you will be displayed a message in the browser regarding the status of the issue. Now that&#8217;s integrated into the IDE as well.</span></p>
<p><span><strong><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot10a.png" alt="" /></strong></span></p>
<p><span><strong></strong>You can view all the issues filed by you by clicking the button &#8220;Show my issues&#8221;. </span></p>
<p><span><strong><img style="max-width: 800px;" src="http://solitarygeek.com/blog/wp-content/uploads/2009/07/Screenshot11a.png" alt="" /><br />
</strong><br />
<strong>Others</strong></span></p>
<p><span><strong></strong>Other highlighed feature of NetBeans is &#8220;Project Kenai&#8221; integration. For those who are wondering what is this all about, &#8220;Project Kenai&#8221; is a place to host your open source projects much like sourceforge, google code, launchpad etc. But I couldn&#8217;t complete my testing on this NetBeans feature and as such I couldn&#8217;t write about this at this point of time. But to be frank, I&#8217;m not very excited about this feature. A sourceforge.net integration would have made me much happier but nevertheless it&#8217;s a great effort put forward by NetBeans team.</span></p>
<p><span>There are many other improvements in the areas of code completion, debugging, profiling, Maven support, Groovy support etc. You can get more details about that from the <a href="http://wiki.netbeans.org/NewAndNoteWorthyNB67">netbeans wiki</a>.</span></p>
<p><span><strong>Summary<br />
</strong>Overall, NetBeans 6.7 builds on the strong platform of 6.x series and takes team development one step further. Hudson integration is really very good and I believe Bugzilla integration is also pretty good. But there are not many new features in this release that can make a Java developer happy. Whatsoever, it&#8217;s a great effort from the NetBeans team and we must appreciate them for this solid work. So what about you? Have you tried NetBeans 6.7? How do you feel about it?</span></p>
<p><span><strong>New!</strong></span></p>
<p><span>Learn more about Hudson from the blog post <a href="http://www.solitarygeek.com/java/hudson-ci-server-a-step-by-step-guide-part-i/">Hudson CI Server &#8211; A step by step guide &#8211; Part I</a>.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/java/netbeans-6-7-a-quick-glance/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Ubuntu 8.10 &#8211; A Productive Java Development Environment</title>
		<link>http://solitarygeek.com/java/ubuntu-810-a-productive-java-development-environment</link>
		<comments>http://solitarygeek.com/java/ubuntu-810-a-productive-java-development-environment#comments</comments>
		<pubDate>Sat, 13 Dec 2008 00:42:58 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[ubuntu-8.10]]></category>

		<guid isPermaLink="false">http://jamesselvakumar.wordpress.com/2008/12/13/ubuntu-810-a-productive-java-development-environment/</guid>
		<description><![CDATA[<p>I recently started using Ubuntu 8.10 at my workplace as well. Till then, I have been using Ubuntu only at home. For me, Ubuntu@Work was very different from Ubuntu@Home. I mostly surf, blog, listen to music and play some games at home. But Ubuntu@Work was a completely different scenario.</p>
<p>Since I&#8217;m new to this linux stuff, it <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/java/ubuntu-810-a-productive-java-development-environment">Ubuntu 8.10 &#8211; A Productive Java Development Environment</a></span>]]></description>
			<content:encoded><![CDATA[<p>I recently started using Ubuntu 8.10 at my workplace as well. Till then, I have been using Ubuntu only at home. For me, <a href="http://jamesselvakumar.wordpress.com/2008/12/09/ubuntuwork-finally/">Ubuntu@Work</a> was very different from Ubuntu@Home. I mostly surf, blog, listen to music and play some games at home. But Ubuntu@Work was a completely different scenario.</p>
<p>Since I&#8217;m new to this linux stuff, it took me some time to configure things like static ip address, host names etc. But once everything was setup, things started moving quickly. I initially had doubt in my minds about the font rendering of NetBeans (or any swing app for that matter) under linux. I even wrote an post showing <a href="http://jamesselvakumar.wordpress.com/2008/02/08/eclipse-vs-netbeans-again-on-ubuntu/">my frustration with NetBeans</a> font rendering when compared to Eclipse. But with jdk.1.6.10, font rendering is smooth and NetBeans works like a champ! You can see some samples here:</p>
<p><span id="more-231"></span></p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3248/3103507233_f0c70aa359_o.png" /></p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3061/3103507237_37c423d08e_o.png" /></p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3041/3103507231_567dfe1c74_o.png" /></p>
<p>But not everything is perfect at this point of time. For example, the combo boxes are not rendered properly. But apart from these minor glitches, NetBeans runs very well on Ubuntu.</p>
<p>I initially thought of using my already existing netbeans projects in a ntfs partition. But later, I decided not to go for it. I thought working on a native &#8220;ext3&#8243; partition would give better performance and I can say that I&#8217;m not disappointed.</p>
<p>With my projects in a &#8220;ext3&#8243; filesystem, opening projects and editing files are faster now. And with excellent subversion integration, working as a diverse team is not at all an issue. (I&#8217;m the only one using Ubuntu in my team so far. <img src='http://solitarygeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>So far, I have been doing Java development on a Windows XP machine and I can say with absolute confidence that Ubuntu offers a much more better development environment. I can connect to other Windows machines in my network using &#8220;Terminal Server Client&#8221; which comes with the default Ubuntu installation. Yes you can argue that Windows has &#8220;Remote Desktop&#8221; by default as well. But Ubuntu supports not just &#8220;remote desktop&#8221; but also &#8220;VNC&#8221; by default. With VNC, I can connect to linux servers and other old windows machines (2000, NT).</p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3235/3103507245_3da06cc40b_o.png" /></p>
<p>Just in case if you want to connect to that old operating system, it&#8217;s very easy with Ubuntu on your side <img src='http://solitarygeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3248/3104495152_afc0be08b8_o.png" /></p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3018/3104495156_920eb61a15_o.png" /></p>
<p>And I use to depend heavily on WinSCP to share files between computers but I was stunned to see Ubuntu providing native support to ssh which is integrated into the nautilus file explorer as well. This feature alone saves me a lot of time!</p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3088/3103507239_6c91b5df48_o.png" /></p>
<p>What more, you get a powerful &#8220;Network Tools&#8221; which can do some simple operations like &#8220;ping&#8221; to scanning for opened ports in a remote computer. </p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3157/3103633047_46f291c5dd_o.png" /></p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3256/3103633049_8a624297c7.jpg?v=0" /></p>
<p>There is an excellent partition editor as well in the form of &#8220;GParted&#8221; with which you can easily resize/create/delete/format partitions. I use this to manage partitions even in windows machines. </p>
<p><img style="max-width:800px;" src="http://farm4.static.flickr.com/3024/3089055755_7bd50675a6_o.png" height="266" width="700" /></p>
<p>Remember that crappy &#8220;Disk Management&#8221; tool in Windows?. Yes there are tools like Partition Magic for Windows, but in Ubuntu, all these things are available by default and costs absolutely nothing.</p>
<p>Moreover, boot up and shutdown are very fast with Ubuntu 8.10 than with Windows XP. The OS itself consumes much less memory, so other applications get more resources. Especially when you have a system with minimal configuration, then Ubuntu Linux is definitely a better option than Windows.</p>
<p>Setting up a fresh system with Windows XP + drivers + other softwares normally take more than 2 hours but setting up a similar system with Ubuntu will take less than half an hour. And do I need to say that a default Ubuntu installation comes with softwares like Firefox, Pidgin, OpenOffice, GIMP etc. And you can find most of your favourite software in the Synaptic Package Manager. You will enjoy installing softwares like Picasa, Google Earth, Skype etc from within your operating system. No need to go to 101 sites to download 101 stuff!</p>
<p>And kindly note that Ubuntu Linux is not the only option you have. There are many other great Linux distros like Fedora, Linux Mint, OpenSuse etc. Since I use Ubuntu at work/home, I shared my views based on Ubuntu. I just installed <a href="http://linuxmint.com/">Linux Mint</a> for my wife which looks like a drop-in replacement for Windows. (Actually she couldn&#8217;t believe that it&#8217;s linux for quite some time)</p>
<p>With it&#8217;s excellent performance even on old hardware and with lots of bundled software tools which boosts productivity, Ubuntu certainly provides excellent environment for development. Add NetBeans/Eclipse/Intellij IDEA to this and you get a powerful java development environment that will cost you less and provide more value for your money/hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/java/ubuntu-810-a-productive-java-development-environment/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Extending Subversion with Apache</title>
		<link>http://solitarygeek.com/version-control/extending-subversion-with-apache</link>
		<comments>http://solitarygeek.com/version-control/extending-subversion-with-apache#comments</comments>
		<pubDate>Fri, 01 Aug 2008 05:14:37 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://jamesselvakumar.wordpress.com/2008/08/01/extending-subversion-with-apache/</guid>
		<description><![CDATA[<p>In one of my previous post, I explained about using TortoiseSVN with subversion. Continuing in the same vein, we will see how to extend subversion with the Apache web server. Apache, the most popular http server in the world provides powerful extension point to your subversion repositories and a strong understanding of how these two technologies <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/version-control/extending-subversion-with-apache">Extending Subversion with Apache</a></span>]]></description>
			<content:encoded><![CDATA[<p>In one of my <a href="http://jamesselvakumar.wordpress.com/2008/03/14/extending-subversion-by-using-tortoisesvn/">previous post</a>, I explained about using TortoiseSVN with subversion. Continuing in the same vein, we will see how to extend subversion with the Apache web server. Apache, the most popular http server in the world provides powerful extension point to your subversion repositories and a strong understanding of how these two technologies work together is very important for those who are into it.</p>
<p><strong>Objective:<br />
</strong><br />
- To learn how to configure Apache http server to provide remote access to subversion repositories.<br />
- To learn how to configure authorization and access control to subversion repositories through Apache http server.<br />
<strong><br />
Pre-requisites:</strong></p>
<p>- <a href="http://subversion.tigris.org/">Subversion 1.4.6</a> for Apache 2.2<br />
- <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a></p>
<p><span id="more-191"></span></p>
<p><strong>Step 1: Download Apache 2.2:</strong></p>
<p>Download the latest Apache 2.2 installer from <a href="http://httpd.apache.org/download.cgi">here</a>.</p>
<p><strong>Step 2: Install Apache 2.2:</strong></p>
<p><strong></strong>Installing the Apache http server is very straightforward. Just follow the instructions in the installer gui.<br />
Let&#8217;s call the Apache installation directory as APACHE_HOME. (Normally this shall be C:\Program Files\Apache Software Foundation\Apache2.2 in windows)</p>
<p><strong>Step 3: Copy Subversion modules/dll  for Apache:</strong><br />
<strong><br />
</strong>Subversion comes with two modules that Apache can use to access the repositories.</p>
<p>1. mod_dav_svn.so    &#8211; The subversion module to provide filesystem access<br />
2. mod_authz_svn.so &#8211; The subversion module to provide fine grained access control</p>
<p>These two modules can be found in the SUBVERSION_HOME\bin directory. Copy these files to APACHE_HOME\modules directory.</p>
<p>It&#8217;s not over yet. There are two more files you need to copy to ensure that the Apache-Subversion setup works correctly.</p>
<p>1. libdb44.dll<br />
2. intl3_svn.dll</p>
<p>Where are they located? Well, in the same SUBVERSION_HOME\bin directory. Copy these files to APACHE_HOME\bin directory.<strong><br />
</strong><br />
Congrats! You have successfully setup your Apache http server. We will now look how to configure Apache to access your subversion repositories.<br />
<strong><br />
Step 4 (Optional): Create a Subversion Repository</strong></p>
<p><strong></strong>You want me to explain this again&#8230;?</p>
<p><strong>Step 5: Configure http.conf</strong> <strong>to load Subversion modules for Apache</strong></p>
<p>The http.conf file is the configuration file used by Apache. It can be found in APACHE_HOME\conf directory. We need to configure this file to instruct Apache to load the subversion modules we copied in Step 3. (Remember..?)</p>
<p>Look for the &#8220;Dynamic Shared Object (DSO) Support&#8221; section in your http.conf. You can see many &#8220;LoadModule&#8221; statements in this section. Now, uncomment the following line:</p>
<div style="background-color:lightgray;width:600px;">LoadModule dav_module modules/mod_dav.so</div>
<p>Add the following lines after adding the above mentioned line:</p>
<div style="background-color:lightgray;width:600px;">LoadModule dav_svn_module     modules/mod_dav_svn.so<br />
LoadModule authz_svn_module modules/mod_authz_svn.so</div>
<p><strong>Step 6: Configure Subversion repositories in http.conf</strong></p>
<p>Assume that you have a repository at the location &#8220;E:\Subversion\Repositories\test-repository&#8221;. You want to access this repository using the url &#8220;http://localhost/svn/test-repository&#8221;. Let us instruct Apache on how to handle this scenario.</p>
<p>Go to the end of your http.conf file and add the following lines:<br />
(Please replace the SVNPath mentioned here with that of yours. Note that we are using file separator &#8220;/&#8221; and not &#8220;\&#8221;)</p>
<div style="background-color:lightgray;width:600px;">DAV svn<br />
SVNPath E:/Subversion/Repositories/test-repository</div>
<p>After adding this, restart your Apache service for the changes to take effect.</p>
<p>This is a bare minimum configuration which should enable Apache to access to your subversion repository. Want to check this? Point your browser to the url &#8220;http://localhost/svn/test-repository&#8221; and Apache http server will be happily displaying all the files under your repository.</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3273/2721787969_173f5ed58b_o.png" alt="" width="575" height="325" /></p>
<p><strong>Step 7: Authentication</strong></p>
<p>Now your subversion repository can be remotely accessed through Apache http server. And anyone in your network can do a subversion checkout by typing the following command in command prompt.</p>
<div style="background-color:lightgray;width:600px;">svn co http://localhost/svn/test-repository YOUR_DIRECTORY</div>
<p>(Or if you have tortoisesvn, you can right click inside any directory and do a &#8220;SVN Checkout&#8221;)</p>
<p>And people can even change the source code and &#8220;commit&#8221; the changes back to your repository. But you don&#8217;t want that to happen. You want only authenticated users to access your repository. With Apache, this can be a piece of cake for you. Apache comes with a inbuilt &#8220;htpasswd&#8221; command line utility to help you create users and passwords in a secured way. To put that into action, just follow these steps:</p>
<p>- Open command prompt and navigate to APACHE_HOME\bin directory.<br />
- Type the command,</p>
<div style="background-color:lightgray;width:600px;">htpasswd -c &#8220;APACHE_HOME\conf\users.htpasswd&#8221; james</div>
<p>Here you are instructing the &#8220;htpasswd&#8221; utility to create a new user named &#8220;james&#8221; in a password file called &#8220;users.htpasswd&#8221; in the directory &#8220;APACHE_HOME\conf&#8221;. When you enter this command, you will be prompted to enter a password for this user and to confirm it as well. Apache will use MD5 encryption standard (by default) to encrypt the password and store that in the &#8220;users.htpasswd&#8221; file mentioned by you.</p>
<p>The following screenshot explains this process.</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3064/2721774989_dbf27844e5_o.png" alt="" width="683" height="200" /></p>
<p>To add more users you can use the following command:</p>
<div style="background-color:lightgray;width:600px;">htpasswd &#8220;APACHE_HOME\conf\users.htpasswd&#8221; gift</div>
<p>This tells the htpasswd utility to add a user named &#8220;gift&#8221; in the same &#8220;users.htpasswd&#8221; file.</p>
<p>You have to instruct Apache to refer to this file for authentication. Open your http.conf file and modify the  block you created in Step 6. Your  block should now look like this:</p>
<div style="background-color:lightgray;width:600px;">DAV svn<br />
SVNPath E:/Subversion/Repositories/test-repository<br />
AuthType Basic<br />
AuthName &#8220;Subversion test-repository&#8221;<br />
AuthUserFile conf/users.htpasswd<br />
Require valid-user</div>
<p>In the above block you are instructing Apache to use &#8220;Basic&#8221; authentication type and allow only &#8220;valid users&#8221; mentioned in the file &#8220;conf/users.htpasswd&#8221;.<br />
(NOTE: You are mentioning the relative path of the &#8220;users.htpasswd&#8221; file from your document root. Your default document root is APACHE_HOME.)</p>
<p>Want to see your settings in action? Save your http.conf file, restart your Apache service and point your browser to the url &#8220;http://localhost/svn/test-repository&#8221;. You will not be able to access your repository as you did before, you must be authenticated to proceed further. You might see some popup window like this:</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3235/2721731711_4a8df3c9df_o.png" alt="" width="653" height="170" /></p>
<p>If you entered your credentials correctly, you can access the subversion repository through your browser. If your credentials were wrong, your browser will display a page like this:</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3233/2721768611_7d679cc298_b.jpg" alt="" width="661" height="141" /></p>
<p><strong>Step 8: Access Control</strong></p>
<p><strong></strong>Great! You have configured your Apache http server in such a way that only &#8220;authorized users&#8221; (specified by you in the file &#8220;users.htpasswd&#8221;) can access your subversion repository. Here comes another need which requires you to specify &#8220;specific users&#8221; to access &#8220;specific parts&#8221; of your repository. For example, you want to give your users &#8220;read-write&#8221; access to the &#8220;trunk&#8221; folder but only &#8220;read&#8221; access to &#8220;tags&#8221; folder. How to achieve this..?</p>
<p>First, create a file called test-repository-authz.conf in the directory APACHE_HOME\conf. We will now define the access controls for your users. It can look something like this:</p>
<div style="background-color:lightgray;width:600px;">[/]<br />
james=r<br />
gift=r[/trunk]<br />
james=rw<br />
gift=rw</div>
<p>This says that give &#8220;read&#8221; access to the users &#8220;james&#8221; and &#8220;gift&#8221; for all parts of the repository except for the &#8220;trunk&#8221; folder where they both will have &#8220;read-write&#8221; access.</p>
<p>But how will Apache refer to this file&#8230;? We need to modify our &#8220;Location&#8221; block again this time, something like this:</p>
<div style="background-color:lightgray;width:600px;">DAV svn<br />
SVNPath E:/Subversion/Repositories/test-repository<br />
AuthType Basic<br />
AuthName &#8220;Subversion test-repository&#8221;<br />
AuthUserFile conf/users.htpasswd<br />
AuthzSVNAccessFile conf/test-repository-authz.conf<br />
Require valid-user</div>
<p>That&#8217;s it! Now you have fine grained control over who access which portion of your repository.</p>
<p><strong>Step 9 (Optional): Even more Access Control</strong></p>
<p>Having successfully setup the Apache http server to access your subversion repositories, you are planning to enjoy your coffee break with your colleagues. Suddenly your boss calls you and says &#8220;Hei, I want even tight access control mechanism based on IP Address. I don&#8217;t want anyone to access our subversion repositories from any other machines other than the one we give access. I hope you can do it.&#8221; You think &#8220;Can Apache handle this scenario..?&#8221;. Why not..? This is how you do that with few more additional lines&#8230;</p>
<div style="background-color:lightgray;width:700px;">DAV svn<br />
SVNPath E:/Subversion/Repositories/test-repositoryOrder deny,allow</p>
<p>#Deny access to all machines except for the ones listed in the &#8220;Allow&#8221; section<br />
Deny from all</p>
<p>#Allow access to the following machines.<br />
Allow from x.x.x.x<br />
Allow from y.y.y.y</p>
<p>AuthType Basic<br />
AuthName &#8220;Subversion test-repository&#8221;<br />
AuthUserFile conf/users.htpasswd<br />
AuthzSVNAccessFile conf/test-repository-authz.conf<br />
Require valid-user</p></div>
<p>(Note: Please mention the actual IP address instead of &#8220;x.x.x.x&#8221; and &#8220;y.y.y.y&#8221;)</p>
<p>We will explore what these statements mean here.</p>
<div style="background-color:lightgray;width:600px;">Order deny,allow</div>
<p>The above statement instructs Apache to process &#8220;Deny&#8221; statements before &#8220;Allow&#8221; statements.</p>
<div style="background-color:lightgray;width:600px;">Deny from all</div>
<p>The above statement instructs Apache to deny access to all machines by default.</p>
<div style="background-color:lightgray;width:600px;">Allow from x.x.x.x<br />
Allow from y.y.y.y</div>
<p>The above statement instructs Apache to allow access from the machines with the IP Address &#8220;x.x.x.x&#8221; and &#8220;y.y.y.y&#8221;.</p>
<p>Apache is such a versatile server that it provides many other options but that is outside the scope of this blog entry. Hopefully I will try to cover some of them in another post. Thank you very much for reading this post patiently. I hope this is useful to some of you.</p>
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/version-control/extending-subversion-with-apache/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Must have tools for a Java Developer</title>
		<link>http://solitarygeek.com/java/must-have-tools-for-a-java-developer</link>
		<comments>http://solitarygeek.com/java/must-have-tools-for-a-java-developer#comments</comments>
		<pubDate>Wed, 19 Mar 2008 07:54:20 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://jamesselvakumar.wordpress.com/?p=48</guid>
		<description><![CDATA[<p>Apart from your favourite IDE, I feel, a Java Developer might be very productive with the following tools (in no particular order):</p>
<p>- Firefox (Do I need to say anything about it?)</p>
<p>- Apache Ant (Not needed, if you use NetBeans. NetBeans has got bundled ant)</p>
<p>-  JEdit (Mainly for it&#8217;s wide range of plugins. I use it&#8217;s <span style="color:#777"> . . . &#8594; Read More: <a href="http://solitarygeek.com/java/must-have-tools-for-a-java-developer">Must have tools for a Java Developer</a></span>]]></description>
			<content:encoded><![CDATA[<p>Apart from your favourite IDE, I feel, a Java Developer might be very productive with the following tools (in no particular order):</p>
<p>- <a href="http://www.mozilla.com/en-US/firefox/"><b>Firefox</b></a> (Do I need to say anything about it?)</p>
<p>- <a href="http://ant.apache.org/"><b>Apache Ant</b></a> (Not needed, if you use NetBeans. NetBeans has got bundled ant)</p>
<p>-  <a href="http://www.jedit.org/"><b>JEdit</b></a> (Mainly for it&#8217;s wide range of plugins. I use it&#8217;s LogViewer and HexViewer plugin frequently. Also it has got excellent syntax highlighting for your properties file, java files, nsis scripts etc)</p>
<p>- <b><a href="http://subversion.tigris.org/">Subversion</a> </b>Version Control System(Got excellent integration with NetBeans and Eclipse. You must consider it atleast for your personal development.) You can read more about installing subversion <a href="http://jamesselvakumar.wordpress.com/2008/03/14/extending-subversion-by-using-tortoisesvn/">here</a>.</p>
<p><span id="more-185"></span>- <a href="http://tomcat.apache.org/"><b>Apache Tomcat</b></a> (The ubiquitous servlet container.)</p>
<p>- <a href="https://glassfish.dev.java.net//"> <b>Glassfish</b></a> (The best open source application server, at the moment. Thanks RedHat for making JBoss AS development sluggish. JBoss AS users are waiting for nearly 1 1/2 years for the 5.0 release.)</p>
<p>- <a href="https://hudson.dev.java.net/"><b>Hudson</b></a> (The fastest growing continuous integration server. This can be an excellent add-on to your ant/maven based build process). You can read more about hudson <a href="http://jamesselvakumar.wordpress.com/2008/03/07/continuous-integration-with-hudson/">here</a>.</p>
<p>-  <a href="http://wrapper.tanukisoftware.org/doc/english/introduction.html"><b>Java Service Wrapper</b></a> (An excellent product to launch your java applications as a windows service)</p>
<p>- <b><a href="http://checkstyle.sourceforge.net/">CheckStyle</a>/<a href="http://pmd.sourceforge.net/">PMD</a></b> (Excellent code coverage tools to make your source code more maintainable)</p>
<p>- <a href="http://www.jasypt.org/"><b>JASYPT</b></a> (Excellent cryptography library to encrypt/decrypt your passwords, files etc.)</p>
<p>- <b><a href="http://commons.apache.org/">Apache Commons Library</a></b> (Contains almost all the utility classes you will ever need. Kindly check this project before writing your own utility classes)</p>
<p>- <b><a href="http://jude.change-vision.com/jude-web/product/community.html">JUDE Community</a></b> (An excellent free UML modelling tool. You must definitely give it a try. It&#8217;s lightweight and it&#8217;s very simple to use.)</p>
<p>- <b><a href="http://www.mysql.com/">MySQL</a></b> (The most popular open source database at the moment)</p>
<p>Did anybody say that I forgot to add <a href="http://www.google.com"><b>Google</b></a> as well <img src='http://solitarygeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>What else do you use? It will be of great use to the community if you can share about your experience as well.</p>
<p><i>Note:</i> I tend not to include frameworks like Spring, JSF, Wicket etc.. Because you can see these frameworks too are highly subjective and a major reason for lots of flamewars. And that&#8217;s the reason why I didn&#8217;t mention any IDE as well. Whatever IDE or framework you use, it&#8217;s very likely that you might need the above mentioned &#8220;tools&#8221; except a few like database/application server, whose choice are mostly defined by a particular organization.</p>
<p>You should read this article in the perspective of &#8220;tools needed for your personal java development&#8221;. Because there are &#8220;lots&#8221; of factors involved in your work environment regarding the selection of tools.</p>
<p>And lastly, this is my humble suggestion only. So if you find your favourite tool missing, don&#8217;t get panic. Cheers&#8230; <img src='http://solitarygeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://solitarygeek.com/java/must-have-tools-for-a-java-developer/feed</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
	</channel>
</rss>
