<?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>Start IT up &#187; Productivity</title>
	<atom:link href="http://www.techjini.com/blog/category/productivity/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techjini.com/blog</link>
	<description>The blog of TechJini Solutions</description>
	<lastBuildDate>Sat, 31 Jul 2010 13:31:32 +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>Thunderbird 3 beta 4 &#8211; Search and Conversations (Gloda)</title>
		<link>http://www.techjini.com/blog/2009/09/17/thunderbird-3-beta-4-search-and-conversations-gloda/</link>
		<comments>http://www.techjini.com/blog/2009/09/17/thunderbird-3-beta-4-search-and-conversations-gloda/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 05:43:35 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2009/09/17/thunderbird-3-beta-4-search-and-conversations-gloda/</guid>
		<description><![CDATA[I have been using Thunderbird 3 (various beta) for quite some time now. There were quite a few new features<a href="http://www.techjini.com/blog/2009/09/17/thunderbird-3-beta-4-search-and-conversations-gloda/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>I have been using Thunderbird 3 (various beta) for quite some time now. There were quite a few new features but the ones I really liked or have been most useful were &#8216;tabs&#8217; and new &#8216;Lightning&#8217; add-ons.</p>
<p><a href="http://www.techjini.com/blog/wp-content/uploads/2009/09/tabs.png"><img src="http://www.techjini.com/blog/wp-content/uploads/2009/09/tabs-e1273667540695.png" alt="" title="Thundebird 3 tabs" width="500" height="112" class="alignnone size-full wp-image-110" /></a></p>
<p>I mostly use tabs to remind me of important emails. One, they are always in front and second when I restart Thunderbird I don&#8217;t have to look for them again as Thunderbird remembers/maintains last open tabs. Ofcourse tabs are also very helpful in keeping all open windows clean.<br />
New Lightning addon works well with google calendar. Very helpful when sharing different calendars with different people. It synchs well and also gives reminders.</p>
<p>But thats not what excited me enough to write this article <img src='http://www.techjini.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I upgrade to b4 pre today and they have included Gloda search engine based search and conversations. Earlier it was available as an add on and I tried this earlier with b2 but it didn&#8217;t work.</p>
<p><a href='http://www.techjini.com/blog/wp-content/uploads/2009/09/thunderbirdsearcheverywhere.png' title='Thunderbird 3 search everywhere'><img src='http://www.techjini.com/blog/wp-content/uploads/2009/09/thunderbirdsearcheverywhere.png' alt='Thunderbird 3 search everywhere' /></a></p>
<p>Thunderbird 2 has per folder indexing which is not so helpful. You will have several folders and then your replies going into sent items. So what is needed is a tool to search across all folders. Also several times you need to read full conversations which is very very difficult right now. Thunderbird 3 has this powerful search engine &#8216;Gloda&#8217; which search across all the folders and presents them either as a list or as conversations. WOW!! could it get better? <img src='http://www.techjini.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now you can search your entire mailbox, rss feeds etc from single place and that too with lot of intelligent options. The result is also displayed very nicely. You have several filters to further refine search/conversations.</p>
<p><a href="http://www.techjini.com/blog/wp-content/uploads/2009/09/screenshot-airtel-shredder.png"><img src="http://www.techjini.com/blog/wp-content/uploads/2009/09/screenshot-airtel-shredder-e1273667621418.png" alt="" title="Thunderbird search" width="500" height="288" class="alignnone size-full wp-image-112" /></a></p>
<p><a href="http://www.techjini.com/blog/wp-content/uploads/2009/09/conversation.png"><img src="http://www.techjini.com/blog/wp-content/uploads/2009/09/conversation-e1273667678350.png" alt="" title="Thunderbird conversations" width="500" height="84" class="alignnone size-full wp-image-113" /></a></p>
<p><a href='http://www.techjini.com/blog/wp-content/uploads/2009/09/shredderversion.png' title='Thunderbird 3 beta 4 (Shredder)'><img src='http://www.techjini.com/blog/wp-content/uploads/2009/09/shredderversion.png' alt='Thunderbird 3 beta 4 (Shredder)' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2009/09/17/thunderbird-3-beta-4-search-and-conversations-gloda/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Writing good code &#8211; Design patterns group formed</title>
		<link>http://www.techjini.com/blog/2009/08/06/writing-good-code-design-patterns-group-formed/</link>
		<comments>http://www.techjini.com/blog/2009/08/06/writing-good-code-design-patterns-group-formed/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 12:54:50 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2009/08/06/writing-good-code-design-patterns-group-formed/</guid>
		<description><![CDATA[This is how we at TechJini define good code
- Code that fulfills customer requirement. This is the most important of<a href="http://www.techjini.com/blog/2009/08/06/writing-good-code-design-patterns-group-formed/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>This is how we at TechJini define good code<br />
- Code that fulfills customer requirement. This is the most important of all, no matter how you have coded, what process you have followed if it doesn&#8217;t do what is expected of it, its useless. Ofcourse has to be bug free.<br />
- Easily maintainable code. Do not write thinking that you are responsible only for version 1.0. Think ahead, code should be very easy to maintain. Easy maintenance include &#8211; easy for new team members to understand, easy to test, easy to change/add features, well documented etc<br />
- Reusable. Code which can be transformed into components and reused.<br />
- Thoroughly tested, test cases should have full (maximum possible) code coverage.<br />
- Future and change ready.</p>
<p> There are several things we can do to ensure that we write &#8216;good code&#8217;, one of the way is to start with good design. Understanding and having ability to correctly utilize OOP concepts and design patterns. To ensure that everyone in our company is a master we have formed and started TechJini Design Patterms study group. We had our first class yesterday which covered introduction of OOP concept and healthy discussion covering real life examples trying to model real life problems. Its clear that everyone has good base and is an expert in analysing and applying OOP concepts, so we expect to have good discussions in future.</p>
<p>Next session is about Abstract Factory Pattern. Looking forward to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2009/08/06/writing-good-code-design-patterns-group-formed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Democratic Company &#8211; everyone tells how their preformance should be evaluated.</title>
		<link>http://www.techjini.com/blog/2009/01/23/democratic-company-everyone-tells-how-their-preformance-should-be-evaluated/</link>
		<comments>http://www.techjini.com/blog/2009/01/23/democratic-company-everyone-tells-how-their-preformance-should-be-evaluated/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 06:48:20 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[human factor]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2009/01/23/democratic-company-everyone-tells-how-their-preformance-should-be-evaluated/</guid>
		<description><![CDATA[We have these open sessions regularly in our company where everyone talks about why they chose TechJini, what they like<a href="http://www.techjini.com/blog/2009/01/23/democratic-company-everyone-tells-how-their-preformance-should-be-evaluated/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>We have these open sessions regularly in our company where everyone talks about why they chose TechJini, what they like here, what should be changed, we share company&#8217;s vision, goals and make everyone understand how they are part of it.<br />
Today&#8217;s session was to decide &#8216;appraisal policy&#8217; i.e. on what criteria company should judge performance. Following are the inputs and will form the basis of our policy.</p>
<ol>
<li><strong>Initiative / pro-activeness</strong> &#8211; Do I wait for work to be assigned to me? Even after seeing/knowing about a bug do I wait for someone to raise it?</li>
<li><strong>Following deadlines</strong> Following deadlines in itself is not a sign of &#8216;good performance&#8217; that&#8217;s what we are &#8217;supposed&#8217; to do anyways but its considered as good performance if you are given something completely new and you &#8216;learn and deliver&#8217; or you have a completely untrained team or in any other special scenario.</li>
<li><strong>Commitment / ownership</strong> &#8211; Accepting the bottom line of any work you do. One of the examples given was if I go on a leave I will ensure that none of my project/customers/work is affected, I will do the needful (without someone telling me) to transfer knowledge and if some urgency happens I will be taking out time from my vacation to help the new/replacement team.</li>
<li><strong>Doing more than what was assigned</strong> &#8211; Have I worked on projects/tasks which were not part of my regular work? Do I also participate in other activities which do not fall in my job description?</li>
<li><strong>Customer Oriented</strong> &#8211; Do I always think of what is best for the customer? Do I keep in mind which feature, technology, code will help improve performance and will benefit customer in long run? Do I always point out issues before customer does? Do I get nervous and excited with the customer?</li>
<li><strong>Domain Understanding</strong> &#8211; At the end of the project do I completely understand the domain?</li>
<li><strong>Knowledge sharing</strong> &#8211; Am I contributing to company&#8217;s body of knowledge? Am I taking sessions or writing articles to share my learning? Am I being approached by team members to solve issues?</li>
<li><strong>Acquiring knowledge</strong> &#8211; Am I learning only enough to finish the task or at the end of project I am capable of becoming a tech lead for similar technologies?</li>
<li><strong>Homework / spoon-feeding</strong> &#8211; Am I always finishing my homework before asking for help? Do I ask questions the smart way? Do I need spoon-feeding?</li>
<li>Then there are other good to have skills like general behavior with others, influencing/persuading skills, communication</li>
</ol>
<p>We also had very interesting discussion on what we think is &#8216;hard work&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2009/01/23/democratic-company-everyone-tells-how-their-preformance-should-be-evaluated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jboss tip #1 Connection Pooling And DataSource creation</title>
		<link>http://www.techjini.com/blog/2008/12/19/jboss-tip-1-connection-pooling-and-datasource-creation/</link>
		<comments>http://www.techjini.com/blog/2008/12/19/jboss-tip-1-connection-pooling-and-datasource-creation/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 07:54:20 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2008/12/19/jboss-tip-1-connection-pooling-and-datasource-creation/</guid>
		<description><![CDATA[Which ever data source you create (for instance lets say for oracle data source or mysql data source ) file<a href="http://www.techjini.com/blog/2008/12/19/jboss-tip-1-connection-pooling-and-datasource-creation/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Which ever data source you create (for instance lets say for oracle data source or mysql data source ) file name should end with &#8220;name-ds.xml&#8221; and the content should be</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

   &lt;datasources&gt;
         &lt;local-tx-datasource&gt;
           &lt;jndi-name&gt;tjOracleDS&lt;/jndi-name&gt;
            &lt;use-java-context&gt;false&lt;/use-java-context&gt;
                   &lt;connection-url&gt;jdbc:oracle:thin:@localhost:1521:tjdb&lt;/connection-url&gt;
                   &lt;driver-class&gt;oracle.jdbc.driver.OracleDriver&lt;/driver-class&gt;
                     &lt;user-name&gt;staging&lt;/user-name&gt;
                   &lt;password&gt;staging&lt;/password&gt;
                    &lt;exception-sorter-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter&lt;/exception-sorter-class-name&gt;
                        &lt;min-pool-size&gt;5&lt;/min-pool-size&gt;
                   &lt;max-pool-size&gt;30&lt;/max-pool-size&gt;
                   &lt;blocking-timeout-millis&gt;5000&lt;/blocking-timeout-millis&gt;

                 &lt;metadata&gt;
                    &lt;type-mapping&gt;Oracle9i&lt;/type-mapping&gt;
                 &lt;/metadata&gt;
         &lt;/local-tx-datasource&gt;

       &lt;/datasources&gt;
</pre>
<pre class="brush: xml;">&lt;use-java-context&gt;false&lt;/use-java-context&gt;   </pre>
<p>This help us to remove java:comp from jndi look up for data source</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2008/12/19/jboss-tip-1-connection-pooling-and-datasource-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux applications to make life easier</title>
		<link>http://www.techjini.com/blog/2008/12/16/linux-applications-to-make-life-easier/</link>
		<comments>http://www.techjini.com/blog/2008/12/16/linux-applications-to-make-life-easier/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 07:01:17 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2008/12/16/linux-applications-to-make-life-easier/</guid>
		<description><![CDATA[
bash-completion
If you know what the command does but dont remember the options this will be really helpful. You wont have<a href="http://www.techjini.com/blog/2008/12/16/linux-applications-to-make-life-easier/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<ul>
<li><a target="_blank" href="http://www.caliban.org/bash/">bash-completion</a><br />
If you know what the command does but dont remember the options this will be really helpful. You wont have to open man everytime. Just put a&#8217; &#8216;-&#8217; or &#8216;&#8211;&#8217; and press tab. for eg. javac &#8211; <tab> will list following:</p>
<pre><code>
~$ javac -
-bootclasspath   -extdirs      -g:vars        -sourcepath
-classpath         -g              -help           -target
-d                     -g:lines      -nowarn       -verbose
-deprecation      -g:none      -O
-encoding          -g:source   -source
</code></pre>
</li>
<li>
<a target="_blank" href="http://www.gnome.org/projects/tomboy/">tomboy</a><br />
<em>Tomboy is a desktop note-taking application for Linux and Unix. Simple and easy to use, but with potential to help you organize the ideas and information you deal with every day. &#8211; copied from site</em></li>
<li><a target="_blank" href="http://www.mozilla.com/en-US/products/firefox/">Firefox</a><br />
Browser &#8211; duh!!</li>
<li><a target="_blank" href="http://www.mozilla.com/en-US/products/thunderbird/">Thunderbird</a><br />
Email Client</li>
<li><a target="_blank" href="http://www.tatanka.com.br/ies4linux/page/Main_Page">ies4linux</a><br />
Run IE from linux&#8230;well we all need to test site for most widely used browser.</li>
<li><a target="_blank" href="http://www.pidgin.im/">pidgin</a><br />
Muli protocol (What they call universal) chat (IM) client. Support yahoo, msn, gtalk, irc, xampp and lot more.</li>
<li><a target="_blank"  href="http://www.xchat.org/">XChat</a><br />
XChat is an IRC chat program for both Linux and Windows. It allows you to join multiple IRC channels (chat rooms) at the same time, talk publicly, private one-on-one conversations etc. Even file transfers are possible. <em>- copied from site</em></li>
<li><a  target="_blank" href="http://www.cis.upenn.edu/~bcpierce/unison/">unison</a><br />
<em>Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other. &#8211; copied from site</em></li>
<li><a target="_blank" href="http://timerapplet.sourceforge.net/">timer-applet</a><br />
Very useful to run simple timers. Very helpful if you are working against time and want to track how much time is left.</li>
<li><a target="_blank" href="https://secure.logmein.com/products/hamachi/vpn.asp?lang=en">hamachi</a> and <a href="http://www.penguinbyte.com/software/ghamachi/">gHamachi</a><br />
<em>LogMeIn Hamachi is a VPN service that easily sets up in 10 minutes, and enables secure remote access to your business network, anywhere there&#8217;s an Internet connection. &#8211; copied from site</em>. Not free, you need to pay for commercial use.<br />
gHamachi is GUI for hamachi. Although using hamachi from command line is also pretty simple but this tool makes it even more &#8216;user friendly&#8217;</li>
<li>skype</li>
<li><a target="_blank" href="http://gftp.seul.org/">gFtp</a> / <a href="http://filezilla-project.org/">filezilla</a><br />
For all your ftp needs</li>
<li><atarget="_blank"  href="http://www.transmissionbt.com/">Transmission</a><br />
For all your piracy needs <img src='http://www.techjini.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  sorry bit toorents</li>
<li>nm-applet<br />
Not sure if I need to mention here, this has to be there by default. Network Manager, applet. Can&#8217;t do without it.</li>
<li><a target="_blank" href="http://oss.codepoet.no/revelation/about/">Revelation</a> / <a target="_blank" href="http://www.keepassx.org/">keypassx</a><br />
Password managers. Both are very very good and it requires a separate article to compare them.</li>
<li><a target="_blank" href="http://www.techjini.com/blog/2007/08/20/free-photo-editing-softwares/">gimp</a> / <a target="_blank" href="http://www.inkscape.org/">Inkscape</a></li>
<li>openoffice</li>
<li><a target="_blank" href="http://regexxer.sourceforge.net/">regexxer</a><br />
<em>regexxer is a nifty GUI  search/replace tool featuring Perl-style regular expressions. If you need project-wide substitution and youâ€™re tired of hacking sed command lines together, then you should definitely give it a try. &#8211; copied rom site</em></li>
<li><a target="_blank" href="http://meld.sourceforge.net/">Meld</a><br />
<em>Meld is a visual diff and merge tool. You can compare two or three files and edit them in place (diffs update dynamically). You can compare two or three folders and launch file comparisons. You can browse and view a working copy from popular version control systems such such as CVS, Subversion, Bazaar-ng and Mercurial. &#8211; copied from site</em></li>
<li><a target="_blank" href="http://http://dev.mysql.com/doc/administrator/en/index.html">Mysql Administrator</a></li>
<li><a target="_blank" href="http://dev.mysql.com/downloads/gui-tools/5.0.html">Mysql query browser</a></li>
<li><a target="_blank" href="http://dev.mysql.com/downloads/workbench/">Mysql Workbench</a><br />
Very nice tool for creating DB models</li>
<li><a target="_blank" href="http://www.videolan.org/">vlc</a> / <a href="http://www.mplayerhq.hu/design7/news.html">mplayer</a> / <a href="http://projects.gnome.org/rhythmbox/">rhythmbox</a><br />
Media (music / video) players</li>
<li>synaptic package manager / GDebi Package installer</li>
<li>CHM Viewer / chmsee / gnochm</li>
<li>Gmail Notifiers<br />
Given gmail&#8217;s popularity, you might want to know about these too <a target="_blank" href="http://gmail-notify.sourceforge.net">gmail-notify</a>, <a target="_blank" href="http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html">gmailfs</a>, <a target="_blank" href="http://kcheckgmail.sourceforge.net/">kcheckgmail</a>, <a target="_blank" href="http://www.kde-apps.org/content/show.php/KGmailNotifier?content=55375">kgmailnotifier</a>, <a target="_blank" href="http://cgmail.tuxfamily.org/">cgmail</a>, <a target="_blank" href="http://checkgmail.sourceforge.net/">checkgmail</a></li>
<li>gscan2pdf</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2008/12/16/linux-applications-to-make-life-easier/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Evaluating / Comparing NetBeans and Eclipse EE for Java EE development</title>
		<link>http://www.techjini.com/blog/2007/10/19/evaluating-comparing-netbeans-and-eclipse-ee-for-java-ee-development/</link>
		<comments>http://www.techjini.com/blog/2007/10/19/evaluating-comparing-netbeans-and-eclipse-ee-for-java-ee-development/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 19:56:43 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2007/10/19/evaluating-comparing-netbeans-and-eclipse-ee-for-java-ee-development/</guid>
		<description><![CDATA[Although we are &#8216;big&#8217; Eclipse fans and have been using it for many years for everything (PHP/symfony, Java, XUL, HTML)<a href="http://www.techjini.com/blog/2007/10/19/evaluating-comparing-netbeans-and-eclipse-ee-for-java-ee-development/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Although we are &#8216;big&#8217; Eclipse fans and have been using it for many years for everything (PHP/symfony, Java, XUL, HTML) and have even contributed plugins but we decided to evaluate NetBeans to see if it gives any extra features that might help/speed up development for our forth coming Java EE project.<br />
Technologies we are going to use in our application are:</p>
<ul>
<li><a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">J2SE 1.6 update 3</a></li>
<li><a href="http://struts.apache.org/download.cgi#struts209" target="_blank">Struts 2.0.9</a></li>
<li><a href="https://glassfish.dev.java.net/downloads/v2-b58g.html" target="_blank">GlassFish v2</a></li>
<li><a href="http://www.hibernate.org/" target="_blank">Hibernate</a></li>
<li><a href="http://tiles.apache.org/" target="_blank">Tiles 2</a></li>
<li><a href="http://www.mysql.com/" target="_blank">MySql 5</a></li>
</ul>
<p>Preferred IDE requirements:</p>
<ul>
<li>CVS integration</li>
<li>Integration with GlassFish &#8211; so that we don&#8217;t have to leave the IDE to deploy etc</li>
<li>Should support debugging of web application</li>
<li>Support for profiling</li>
<li>XML/JSP editor</li>
<li>Context sensitive help and auto completion for tags</li>
</ul>
<p>We are comparing<br />
<a href="http://www.netbeans.org/community/releases/60/index.html">NetBeans 6 Beta 1</a> and <a href="http://www.eclipse.org/downloads/moreinfo/jee.php">Eclipse 3.3 Java EE</a></p>
<p>Creating a new web project is pretty straight forward. Both IDEs create more or less same directory structure only difference being the location where Java source files are stored. Eclipse keeps them under src where as NetBeans keeps them under src/java.<br />
Next thing I wanted to do was import (share) my project to CVS. Found it more user friendly in Eclipse although NetBeans was equally straight forward.</p>
<p>JSP/XML Editor<br />
NetBeans editor is lot more advance and friendly.<br />
<a href="http://www.techjini.com/blog/wp-content/uploads/2007/10/eclipsewebxml.png" title="Editing Web.xml in Eclipse"><img src="http://www.techjini.com/blog/wp-content/uploads/2007/10/eclipsewebxml.thumbnail.png" alt="Editing Web.xml in Eclipse" /></a><br />
<a href="http://www.techjini.com/blog/wp-content/uploads/2007/10/netbeanswebxml.png" title="Editing web.xml in NetBeans"><img src="http://www.techjini.com/blog/wp-content/uploads/2007/10/netbeanswebxml.thumbnail.png" alt="Editing web.xml in NetBeans" /></a></p>
<p>Other differences<br />
- In Netbeans you don&#8217;t have to click on &#8216;fast views&#8217; just mouse over brings the window.</p>
<p>- Can&#8217;t easily change destination of compiled class files in NetBeans. We wanted to try directory deployment feature of GlassFish so that we don&#8217;t have to create .war every time, this required us to compile and put the class files in WEB-INF/class folder. This setting is pretty straight forward in Eclipse whereas you have to change projects.properties file in NetBeans. (Or it was not easy to find how to change it via UI)</p>
<p>- One of the biggest inconveniences was not having auto import while writing Java Code. Eclipse will auto import a class if you use it (Ctrl+space) but in NetBeans you have to manually add imports. There is fix imports also but thats an extra step.</p>
<p>- Eclipse UI in general is more user friendly. As an example &#8216;output console&#8217; had a title bar and then some tabs. Each of these tabs are (or at least look) like individual windows with separate x (close) buttons. Its very natural to double click on the title to maximize it, hence you would try to double click on title &#8216;GlassFish v2&#8242; but it will not do anything. You will have to double click on the bar above it &#8216;Output&#8217;. This is understandable but not &#8216;really&#8217; as expected. On the other hand eclipse is pretty straight forward.<br />
<a href="http://www.techjini.com/blog/wp-content/uploads/2007/10/nbconsole.png" title="NetBeans console window"><img src="http://www.techjini.com/blog/wp-content/uploads/2007/10/nbconsole.thumbnail.png" alt="NetBeans console window" /></a><a href="http://www.techjini.com/blog/wp-content/uploads/2007/10/eclipseconsole.png" title="Eclipse console window"><img src="http://www.techjini.com/blog/wp-content/uploads/2007/10/eclipseconsole.thumbnail.png" alt="Eclipse console window" /></a></p>
<p>- Eclipse kept on crashing (giving out of memory error) on my colleague&#8217;s laptop which has 1GB RAM, this happens when he tries to run GlassFish from Eclipse. Trying to run GF outside of Eclipse doesn&#8217;t crash it. This is actually a show stopper, or he needs to upgrade RAM</p>
<p>- I couldn&#8217;t figure out how to auto compile and auto deploy application on NetBeans. Every time you change a class file you need to &#8216;build&#8217; and &#8216;run&#8217; or &#8216;deploy&#8217; on the other hand Eclipse will compile and deploy automatically on save. On the other hand auto deploying can also become a problem when application size grows. But this made it very smooth on Eclipse to build/test.</p>
<p>We also evaluated how to create a project so that it can be opened in both the IDEs so that we can either switch or let programmers choose whatever they want. There was no &#8216;huge&#8217; difference of features or one IDE helping a LOT.  On the other hand as we are comfortable with Eclipse shifting on NetBeans can be counter productive as we have to learn/get used to the new IDE. We know that we will need NetBeans for debugging and profiling but development will be faster with Eclipse using directory deploy and .reload feature of GlassFish.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2007/10/19/evaluating-comparing-netbeans-and-eclipse-ee-for-java-ee-development/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Employees in startups</title>
		<link>http://www.techjini.com/blog/2007/08/18/employees-in-startups/</link>
		<comments>http://www.techjini.com/blog/2007/08/18/employees-in-startups/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 10:25:34 +0000</pubDate>
		<dc:creator>Shyamal</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2007/08/18/employees-in-startups/</guid>
		<description><![CDATA[Anuj Khurana has some great pointers of what the employees in a startup should be doing and expecting.
I specifically like<a href="http://www.techjini.com/blog/2007/08/18/employees-in-startups/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Anuj Khurana has some <a title="View from the ground, up" target="_blank" href="http://www.foundread.com/view/view-from-the-ground">great pointers</a> of what the employees in a startup should be doing and expecting.</p>
<p>I specifically like points 4, 5 and 7:</p>
<ul>
<li><em>The companyâ€™s success is your success, and vice versa</em></li>
<li><em>Always remember itâ€™s your company</em></li>
<li><em>Self-drive and self controlled</em></li>
</ul>
<p>Read the full post <a target="_blank" href="http://www.foundread.com/view/view-from-the-ground">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2007/08/18/employees-in-startups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireFox extensions I cannot work without</title>
		<link>http://www.techjini.com/blog/2007/01/23/firefox-extensions-i-cannot-work-without/</link>
		<comments>http://www.techjini.com/blog/2007/01/23/firefox-extensions-i-cannot-work-without/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 06:53:40 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/2007/01/23/firefox-extensions-i-cannot-work-without/</guid>
		<description><![CDATA[Firefox, Eclipse, Thunderbird, Kopete/GAIM, OpenOffice, konsole, tomboy this is where I spent over 95% of my computer time.
Best thing about<a href="http://www.techjini.com/blog/2007/01/23/firefox-extensions-i-cannot-work-without/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a>, <a href="http://www.eclipse.org/">Eclipse</a>, <a href="http://www.mozilla.com/en-US/thunderbird/">Thunderbird</a>, <a href="http://kopete.kde.org/">Kopete</a>/<a href="http://gaim.sourceforge.net/">GAIM</a>, <a href="http://www.openoffice.org/">OpenOffice</a>, <a href="http://konsole.kde.org/">konsole</a>, <a href="http://www.beatniksoftware.com/tomboy/">tomboy</a> this is where I spent over 95% of my computer time.</p>
<p>Best thing about all these applications/products is that you can install additional plugin/extension/addons to enhance their usage. Following is the list of firefox plugins I use almost daily.</p>
<p><a href="http://www.getfirebug.com/">Firebug</a> &#8211; A must have, very helpful js/html debugging tool. <a href="http://www.getfirebug.com/"><br />
</a></p>
<p><a href="https://addons.mozilla.org/firefox/60/">Web Developer</a> &#8211; Very helpful for finding html/form related problems. Also a good place to learn how to build firefox extensions.<a href="https://addons.mozilla.org/firefox/60/"><br />
</a></p>
<p><a href="https://addons.mozilla.org/firefox/2076/">JSView</a> &#8211; Lets you view source of externs js, css files. Very handy.<a href="https://addons.mozilla.org/firefox/2076/"><br />
</a></p>
<p><a href="https://addons.mozilla.org/firefox/3371/">Load Time Analyzer</a> allows developers to measure and graph how long web pages take to load<a href="https://addons.mozilla.org/firefox/3371/"><br />
</a></p>
<p><a href="https://addons.mozilla.org/firefox/2409/">Server Switcher</a> It allows you to easily switch between sites on your development and live servers Very helpful.<a href="https://addons.mozilla.org/firefox/2409/"><br />
</a></p>
<p><a href="https://addons.mozilla.org/firefox/321/">SearchStatus</a>           Display the Google PageRank and Alexa popularity score</p>
<p><a href="https://addons.mozilla.org/firefox/1532/">del.icio.us</a><br />
Next: Eclipse plugins I cannot work without <img src='http://www.techjini.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2007/01/23/firefox-extensions-i-cannot-work-without/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interrupt Management</title>
		<link>http://www.techjini.com/blog/2006/03/22/interrupt-management/</link>
		<comments>http://www.techjini.com/blog/2006/03/22/interrupt-management/#comments</comments>
		<pubDate>Wed, 22 Mar 2006 10:40:32 +0000</pubDate>
		<dc:creator>Shyamal</dc:creator>
				<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://www.techjini.com/blog/?p=18</guid>
		<description><![CDATA[It had taken me the whole of morning yesterday to arrive at the strategy and algorithm we would be using<a href="http://www.techjini.com/blog/2006/03/22/interrupt-management/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p><img width="112" height="96" align="left" id="image17" alt="interrupt.PNG" src="http://www.techjini.com/blog/wp-content/uploads/2006/03/interrupt.PNG" />It had taken me the whole of morning yesterday to arrive at the strategy and algorithm we would be using for optimizing the performance of a database intensive application. To be sure that the algorithm will work and perform well under all scenarios, I was just trying to run it through various scenarios, on paper. As I was in the middle of one of the scenarios, someone tapped me on the shoulder and said, &#8220;I finished the system architecture document and it is there in the version control system, can you take a look at it when you have time?&#8221;. Ah, it was so painful and frustrating to look away from what I was doing. But I managed to smile and say &#8220;I will&#8221;. And I started to run through that scenario all over again <img src='http://www.techjini.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>That is a typical interrupt I am talking about. But interrupts can be of all kinds, some are really urgent while some can wait. But most often they tend to be productivity killers, specially in places where concentration and continuity are important. I had attended an interrupt management workshop a few years back. It was enlightening to realize how much we can gain in terms of productivity with proper interrup management protocols.</p>
<p>The most common problem about interrupts is the choice of meduim. Most often people choose to interrupt (or lets say, communicate) through the wrong medium. For example, the person who asked me to review the document wanted me to review it when I got time, but still chose a face-to-face communication over an email that would have been sufficient. The only way out in the long run is to have everyone learn interrupt management. For example, we now have an urgency-status attached to each mode of interrupt. The highest being a verbal face-to-face communication, and the lowest being an email. There would be others in between, like a phone call or an intant message. So before we decide to interrupt someone, evaluating how urgent it is, can help us choose the correct medium.</p>
<p>The other aspect is to allow for less in-your-face interrupts yourself. Like, not having those popup email alerts that say &#8220;You have new email&#8221;. I assume unless you are waiting for an email or are in a job where each email is super urgent, one does nto need that alert. And in most cases, even synchronizing with the mail server should be put off to every 10-15 minutes only. And if something is very urgent, people will actually call/meet you.</p>
<p>Then there is another thing we had tried, using a DND hour. This typically shows best results when the team is very large. We just defines a couple of hours in the day when you should nto interrupt your colleagues, unless really critical and cannot wait. Of course, each team member had the flexibilityt o decide if they wanted to participate so that nobody interrupts you during the DND hour. And for the large team it paid off, most of the programmers said it increased productivity and allowed better scheduling of discussions. But as always this is really a matter of the work culture you adopt in your organization and whether you see this as a good practice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techjini.com/blog/2006/03/22/interrupt-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
