<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-32871326</id><updated>2012-01-24T22:44:36.021-08:00</updated><category term='eclipse console output file starters'/><category term='eclipse osgi pde rcp online training'/><category term='learning GWT tutorial imran ebrahim'/><category term='imran ebrahim kubuntu 11.04 natty narwhal'/><category term='java class loader security'/><category term='Turning on off swap space linux swappiness imran ebrahim kubuntu 11.04 techspot'/><category term='java swing component library'/><category term='jetty war less'/><category term='Continuous Integration Hudson Imran Ebrahim'/><category term='java decompiler imran ebrahim techspot jad frontend plus dj'/><category term='good antivirus bitdefender  avast'/><category term='reverse engineering'/><category term='kubuntu 11.10 Oneiric Ocelot dpkg  muon another package seems to be using the package system'/><category term='java interview'/><category term='java applet memory'/><category term='cameyo portable create applications imran ebrahim virtualization'/><category term='Win7 x64 memory leak (svchost.exe) imran ebrahim techspot121'/><category term='java logging code programatically'/><category term='Replication Management Tool in the Oracle Enterprise Manager Console imran ebrahim'/><category term='java genetic algorithm jamie craane blog'/><category term='Apache Wicket Mystic coders five 5 days'/><category term='hibernate validator'/><category term='html help web'/><category term='java System properties display'/><category term='THINGS every programmer should know'/><category term='java installer'/><category term='Kubuntu Compiz (Gmenu) Applications menu has only recent items bug imran  ebrahim techspot121'/><category term='sequence diagram'/><category term='java netbeans tutorials'/><category term='Eclipse RAP'/><category term='43 essential controls ria web applications popular toolkit framework controls'/><category term='imran ebrahim Google I/O  May 2010'/><category term='java osgi beginner tutorial'/><category term='ubuntu headphones'/><category term='Vaadin'/><category term='usb ubuntu unetbootin'/><title type='text'>TechSpot</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default?start-index=101&amp;max-results=100'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>134</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-32871326.post-7974834846329834430</id><published>2012-01-24T22:43:00.000-08:00</published><updated>2012-01-24T22:44:36.038-08:00</updated><title type='text'>JAXB &amp; IBM Service Component Architecture</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Very good documentation on JAXB in Service Component Architecture -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wasfpsca/wasfpsca/1.0/JAXB/WASv7SCA_JAXBDatabinding/player.html"&gt;http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wasfpsca/wasfpsca/1.0/JAXB/WASv7SCA_JAXBDatabinding/player.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The foundation of the CE server is the Apache Geronimo (image from the presentation given below)&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wasce/wasce/3.0/overview/overview/player.html"&gt;http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wasce/wasce/3.0/overview/overview/player.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4Yncd05KZjE/Tx-j9834auI/AAAAAAAAAVQ/Qik6LdQdtRQ/s1600/apache_geronimo.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" gda="true" height="235" src="http://4.bp.blogspot.com/-4Yncd05KZjE/Tx-j9834auI/AAAAAAAAAVQ/Qik6LdQdtRQ/s400/apache_geronimo.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7974834846329834430?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wasfpsca/wasfpsca/1.0/JAXB/WASv7SCA_JAXBDatabinding/player.html' title='JAXB &amp; IBM Service Component Architecture'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7974834846329834430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7974834846329834430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7974834846329834430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7974834846329834430'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2012/01/jaxb-ibm-service-component-architecture.html' title='JAXB &amp; IBM Service Component Architecture'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4Yncd05KZjE/Tx-j9834auI/AAAAAAAAAVQ/Qik6LdQdtRQ/s72-c/apache_geronimo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4259288605483126449</id><published>2012-01-10T03:24:00.001-08:00</published><updated>2012-01-10T03:24:08.758-08:00</updated><title type='text'>Things I wish I had know (about starting a new company)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://www.infoq.com/presentations/Things-I-Wish-I-d-Known"&gt;http://www.infoq.com/presentations/Things-I-Wish-I-d-Known&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4259288605483126449?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoq.com/presentations/Things-I-Wish-I-d-Known' title='Things I wish I had know (about starting a new company)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4259288605483126449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4259288605483126449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4259288605483126449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4259288605483126449'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2012/01/things-i-wish-i-had-know-about-starting.html' title='Things I wish I had know (about starting a new company)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3792467613811758983</id><published>2011-11-21T22:18:00.000-08:00</published><updated>2011-11-21T22:18:09.500-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html help web'/><title type='text'>HelpSetMaker</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;blockquote class="tr_bq"&gt;HelpSetMaker is a program designed for creating help information. It is designed upon the philosophy that structured help texts should be createable in an intuitive way and with the least possible overhead&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.cantamen.de/helpsetmaker.php?lang=en"&gt;http://www.cantamen.de/helpsetmaker.php?lang=en&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3792467613811758983?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cantamen.de/helpsetmaker.php?lang=en' title='HelpSetMaker'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3792467613811758983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3792467613811758983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3792467613811758983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3792467613811758983'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/11/helpsetmaker.html' title='HelpSetMaker'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3973035217559879932</id><published>2011-11-12T11:02:00.000-08:00</published><updated>2011-11-12T11:02:01.361-08:00</updated><title type='text'>Windows Drivers backup &amp; restore</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Being able to back up your windows drivers is one of the most important things you can do&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Comparison of different programs - &lt;br /&gt;&lt;a href="http://www.techsupportalert.com/best-free-windows-driver-backup.htm"&gt;www.techsupportalert.com/best-free-windows-driver-backup.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1490898420"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1490898420"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1490898420"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.boozet.org/dd.htm"&gt;http://www.boozet.org/dd.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3973035217559879932?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3973035217559879932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3973035217559879932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3973035217559879932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3973035217559879932'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/11/windows-drivers-backup-restore.html' title='Windows Drivers backup &amp; restore'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3235423262168698265</id><published>2011-10-25T01:06:00.000-07:00</published><updated>2011-10-25T01:06:13.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu 11.10 Oneiric Ocelot dpkg  muon another package seems to be using the package system'/><title type='text'>Upgrading to Kubuntu 11.10 (Oneiric Ocelot)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Okay so I had this question if I should upgrade from Kubuntu 11.04 to 11.10, looking around I did not see too many glowing reviews. All I did see was people facing this issue and that issue, however I finally did do the upgrade to check it out for myself.&lt;br /&gt;&lt;br /&gt;All in all the upgrade was smooth, did it via the alternate CD. No point redoing the documentation that has already been done well. Look here for more details - &lt;a href="https://help.ubuntu.com/community/OneiricUpgrades#Upgrading_Using_the_Alternate_CD.2BAC8-DVD"&gt;https://help.ubuntu.com/community/OneiricUpgrades#Upgrading_Using_the_Alternate_CD.2BAC8-DVD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One minor issue that I did face was Muon getting stuck and not being able to complete adding new updates ("&lt;i&gt;muon another package seems to be using the package system &lt;/i&gt;.. "). So I ran dpkg from the command line, here is the error message. I just followed running it with the configure &amp;amp; a option and it fixed the problem&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. &lt;/blockquote&gt;I do prefer the Kpackagekit to Muon, especially the fact that KPK let me continue selecting software to install while an install was already happening.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Okay so now the million dollar question, should you upgrade ? If you believe in the latest and the best go ahead. If you are a little streched for time and have a system that you have configured &amp;amp; customized you probably can skip this update.&lt;br /&gt;&lt;br /&gt;Here is a little screen shot -&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-2GrMyf3-7_0/TqZtZu1oFZI/AAAAAAAAAUw/HWEd0Aimics/s1600/kde_desktop11.10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-2GrMyf3-7_0/TqZtZu1oFZI/AAAAAAAAAUw/HWEd0Aimics/s320/kde_desktop11.10.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3235423262168698265?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.kubuntu.org/' title='Upgrading to Kubuntu 11.10 (Oneiric Ocelot)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3235423262168698265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3235423262168698265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3235423262168698265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3235423262168698265'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/10/upgrading-to-kubuntu-1110-oneiric.html' title='Upgrading to Kubuntu 11.10 (Oneiric Ocelot)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-2GrMyf3-7_0/TqZtZu1oFZI/AAAAAAAAAUw/HWEd0Aimics/s72-c/kde_desktop11.10.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4327550803390457934</id><published>2011-06-29T09:50:00.000-07:00</published><updated>2011-06-29T09:50:28.056-07:00</updated><title type='text'>Configuring KDE4</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Intro to KDE4 -&amp;nbsp;&lt;a href="http://www.kde.org/announcements/4.0/desktop.php"&gt;http://www.kde.org/announcements/4.0/desktop.php&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Social Desktop - &lt;a href="http://www.kde.org/announcements/4.4/applications.php"&gt;http://www.kde.org/announcements/4.4/applications.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Really liked this one -&amp;nbsp; &lt;br /&gt;KDE 4 - &lt;a href="http://genek.net/LinuxAdventures/installsetup/desktop1.html"&gt;http://genek.net/LinuxAdventures/installsetup/desktop1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fine tuning the desktop behavior - &lt;a href="http://everydaylht.com/howtos/eyecandy/kwin-changing-virtual-desktops/"&gt;http://everydaylht.com/howtos/eyecandy/kwin-changing-virtual-desktops/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4327550803390457934?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://genek.net/LinuxAdventures/installsetup/desktop1.html' title='Configuring KDE4'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4327550803390457934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4327550803390457934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4327550803390457934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4327550803390457934'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/06/configuring-kde4.html' title='Configuring KDE4'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6694633339070687950</id><published>2011-06-22T09:28:00.000-07:00</published><updated>2011-06-22T09:37:55.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='imran ebrahim kubuntu 11.04 natty narwhal'/><title type='text'>The journey to Kubuntu 11.04 (Natty Narwhal) - Passion defined</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Windows has served me well, but like all good things its coming to an end. XP was a wonderful companion, unfortunately for MS while they rested on their laurels the rest of the open source world raced past. &lt;br /&gt;&lt;br /&gt;Four years back I started playing with linux, without the thought ever crossing my mind that - I would be relying on it more that I rely on my Windows. And last year I bought a Dell laptop that came pre-installed with Win7X64. Unfortunately (or maybe fortunately) it came with a memory leak already on it.&lt;br /&gt;&lt;br /&gt;After spending innumerable weekend hours over a one year period I turned to MS tech support to help me fix the issue. The guys did their best and I do appreciate their efforts, but there is only so much you can do remotely. As they say when one door closes another door opens. In my case when the 'window' closed on me, multiple flood gates of the open source world opened up.&lt;br /&gt;&lt;br /&gt;Of course having friends with a solid linux background did help me understand a lot of things. One of the things I'm most grateful to them is they rarely fixed issues on my PC, they merely pointed the way. I understood so much more by learning and applying these directions.&lt;br /&gt;&lt;br /&gt;Of course like all new comers I was totally overwhelmed by the amount of choices/distros available. I played with a few distros (quite a few to be honest) these include - Knoppix, SUSE, Lindows, Debian, Fedora, Ubuntu, Kubuntu, PC-Linux (one of my favorites) &amp;amp; of course Mandriva.&lt;br /&gt;&lt;br /&gt;I am currently running Kubuntu 11.04 and to be honest I'm more comfortable on this than Win7. See more here -&amp;nbsp; &lt;a href="http://www.kubuntu.org/news/11.04-release"&gt;http://www.kubuntu.org/news/11.04-release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another good review site - &lt;a href="http://linuxlibrary.org/index.php/distributions/kubuntu-11-04-review/"&gt;http://linuxlibrary.org/index.php/distributions/kubuntu-11-04-review/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So that brought me to this question - what is the factor that would cause a loosely knit group of geographically widely distributed developers compete and overtake MS an OS monopolistic giant ? Where MS is funding, researching, sponsoring &amp;amp; paying salaries to good folks to develop an OS, there is a bunch of 'rebels' who refuse to conform to the flow but instead write an OS that has better eye candy, utilize lower system resources,be more stable, have less viruses &amp;amp; be available for free ? I think its &lt;b&gt;passion&lt;/b&gt; - apparently not something that money can buy. One license of Win is couple hundred dollars, one license of (K)Ubuntu priceless :)&lt;br /&gt;&lt;br /&gt;Below a screenshot of my desktop (a mac theme),&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-sA422-KXpcs/TgIXAzrn45I/AAAAAAAAATo/SwQbmDXTuTM/s1600/kde_desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-sA422-KXpcs/TgIXAzrn45I/AAAAAAAAATo/SwQbmDXTuTM/s400/kde_desktop.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A wise person told me that I should use the default skin that came with Kubuntu &amp;amp; not try to fake a Mac. But I disagree - they beauty of these themes is that they can be what you want your PC to be. &lt;i&gt;After all you don't own it, not unless you tweak it.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Credits - Niraj, Chetan, Vinay, Amod,Rakesh who helped me with Linux. Ritesh who inspired me to take up this journey 4.5 years back by showing off the cool eye candy, mostly refusing to fix issues on my pc instead showing me the way &amp;amp; being my critic every time I hopped a distro.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6694633339070687950?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.kubuntu.org/news/11.04-release' title='The journey to Kubuntu 11.04 (Natty Narwhal) - Passion defined'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6694633339070687950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6694633339070687950' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6694633339070687950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6694633339070687950'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/06/journey-to-kubuntu-1104-natty-narwhal.html' title='The journey to Kubuntu 11.04 (Natty Narwhal) - Passion defined'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-sA422-KXpcs/TgIXAzrn45I/AAAAAAAAATo/SwQbmDXTuTM/s72-c/kde_desktop.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-245694835673299641</id><published>2011-06-17T12:52:00.000-07:00</published><updated>2011-06-17T12:52:02.242-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turning on off swap space linux swappiness imran ebrahim kubuntu 11.04 techspot'/><title type='text'>Swap Space on linux</title><content type='html'>I'm running Kubuntu &amp; noticed usage of my swap file (about 400 Meg of RAM &amp; about 400 Megs of Swap file). Hey I have 2.8 Gigs of RAM, why should the swap file be used. I'm already sick of the Win7x64 memory leak that I have not yet resolved.&lt;br /&gt;&lt;br /&gt;Anyways here's a cool way to turn off swap on linux &lt;br /&gt;* sudo swapoff -a &lt;br /&gt;&lt;br /&gt;Turn it back on using &lt;br /&gt;* sudo swapon -a&lt;br /&gt;&lt;br /&gt;Cool right ? Look at this for more stuff - &lt;a href="https://help.ubuntu.com/community/SwapFaq"&gt;https://help.ubuntu.com/community/SwapFaq&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-245694835673299641?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://help.ubuntu.com/community/SwapFaq' title='Swap Space on linux'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/245694835673299641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=245694835673299641' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/245694835673299641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/245694835673299641'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/06/swap-space-on-linux.html' title='Swap Space on linux'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6010389332235159974</id><published>2011-06-12T05:43:00.000-07:00</published><updated>2011-06-12T07:54:22.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Win7 x64 memory leak (svchost.exe) imran ebrahim techspot121'/><title type='text'>Win7 x64 memory leak (svchost.exe)</title><content type='html'>I'm being plagued by high memory utilization by the svchost.exe process on my win7x64. &lt;br /&gt;&lt;br /&gt;Based on what I'm reading on the net, couple of things that I'm trying -&lt;br /&gt;1) Turning off the weather gadget on the desktop&lt;br /&gt;2) Turning off homegroup&lt;br /&gt;These two things have not completely fixed the issue, but have definitely reduced the bleeding memory footprint tha was exceeding 1Gb.&lt;br /&gt;&lt;br /&gt;Update - been on chat support for one hour - deleted temp &amp; prefetch files. Problem exists. Rebooted in safe mode, memory utilization is okay&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6010389332235159974?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6010389332235159974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6010389332235159974' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6010389332235159974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6010389332235159974'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/06/win7-x64-memory-leak-svchostexe.html' title='Win7 x64 memory leak (svchost.exe)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3229970999856341133</id><published>2011-06-05T04:59:00.000-07:00</published><updated>2011-06-05T04:59:13.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu Compiz (Gmenu) Applications menu has only recent items bug imran  ebrahim techspot121'/><title type='text'>Kubuntu Compiz (Gmenu) Applications menu has only recent items (bug)</title><content type='html'>I recently moved over to Kubuntu 11.04 and am enjoying using it. Couple of annoyance I had with the earlier Ubunutu 10.10 are now gone. &lt;br /&gt;&lt;br /&gt;One issue that I'm having is the application menu is empty in the compiz toolbar.&lt;br /&gt;More details here - &lt;a href="https://bugs.launchpad.net/cairo-dock-plug-ins/+bug/582452"&gt;https://bugs.launchpad.net/cairo-dock-plug-ins/+bug/582452&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FIX&lt;/b&gt;&lt;br /&gt;I've used a simple workaround to fix this problem.&lt;br /&gt;1) Use a terminal&lt;br /&gt;2) cd /etc/xdg/menus&lt;br /&gt;3) sudo link kde4-applications.menu applications.menu&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Voila your problem is now fixed. The issues is because cairo dock is expecting an applications.menu file to be available at the /etc/xdg/menus location. The workaround described above creates a new applications.menu file that in reality is shortcut to the kde menu file.&lt;br /&gt;&lt;br /&gt;Another options is to create a copy of the kde4-applications.menu file and save it as applications.menu, however you will have to create a copy every time you install a new program if you want to see it in the Gmenu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3229970999856341133?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://bugs.launchpad.net/cairo-dock-plug-ins/+bug/582452' title='Kubuntu Compiz (Gmenu) Applications menu has only recent items (bug)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3229970999856341133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3229970999856341133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3229970999856341133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3229970999856341133'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/06/kubuntu-compiz-gmenu-applications-menu.html' title='Kubuntu Compiz (Gmenu) Applications menu has only recent items (bug)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-8911233826036810677</id><published>2011-06-03T01:39:00.000-07:00</published><updated>2011-06-03T01:39:35.559-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='good antivirus bitdefender  avast'/><title type='text'>Good Antivirus to-buy / free</title><content type='html'>I'm at the end of my subscription for Kaspersky Internet Security Suite. After reading tons of reviews, visiting lots of websites that test antivirus and cost/performance ratio I finally selected Bitdefender Internet Security Suite. &lt;br /&gt;&lt;br /&gt;After making an online purchase, I had problems downloading it from the DigitalRiver store (this was due to power fluctuations at home that caused the download to be aborted couple of times). Long story short the customer care was very helpful and had my issue resolved in a jiffy.&lt;br /&gt;&lt;br /&gt;My evaluation and based on the feedback on the internet led to a tie between Kaspersky Internet Security 2011 &amp; Bitdefender Internet Security 2011. The reason for choosing Bitdefender was simple - cost, extremely affordable for a multi PC / multi year contract. &lt;br /&gt;&lt;br /&gt;Now about the antivirus - has all the necessary ICSA, VB100, AV-Comparatives approvals. Tried with the trial version and was happy with it. The only issue I'm facing is that the home network management feature did not work out very well for me. If it had, it would have made my life easier as I can manage the Bitdefender installations on my network. However its not a big deal and I can say I am quite pleased with my purchase.&lt;br /&gt;&lt;br /&gt;Now as far as the free antivirus story goes - these are mostly stripped down versions of internet security suites with the same antivirus engine. Bitdefender has a free version too with  a on-demand scanner and no real time protection. Avast! is something that has got rave reviews and has an extremely large customer base and good virus detection. &lt;br /&gt;&lt;br /&gt;The other antivirus/security suite that I would watch out for is the BullGuard Security Suite which seems to have a lot of promise. It uses the same antivirus engine as Bitdefender but is definitely much lighter, has anti spam engine that integrates very smoothly with Windows Live Mail (the anti spam software is available for free).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-8911233826036810677?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bitdefender.in' title='Good Antivirus to-buy / free'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/8911233826036810677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=8911233826036810677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8911233826036810677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8911233826036810677'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/06/good-antivirus-to-buy-free.html' title='Good Antivirus to-buy / free'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4360482387450433007</id><published>2011-05-23T02:42:00.000-07:00</published><updated>2011-05-23T02:42:29.213-07:00</updated><title type='text'>Open Source Freeware : 400+ free applications and utilities</title><content type='html'>&lt;a href="http://www.econsultant.com/i-want-open-source-software/index.html"&gt;http://www.econsultant.com/i-want-open-source-software/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also see - &lt;a href="http://www.digalist.com/list/270"&gt;http://www.digalist.com/list/270&lt;/a&gt; for audio &amp; video tools&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4360482387450433007?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.econsultant.com/i-want-open-source-software/index.html' title='Open Source Freeware : 400+ free applications and utilities'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4360482387450433007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4360482387450433007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4360482387450433007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4360482387450433007'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/05/open-source-freeware-400-free.html' title='Open Source Freeware : 400+ free applications and utilities'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1750989064926966140</id><published>2011-04-26T21:01:00.000-07:00</published><updated>2011-04-26T21:01:32.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cameyo portable create applications imran ebrahim virtualization'/><title type='text'>Cameyo - Creating Portable Applications</title><content type='html'>&lt;blockquote&gt;&lt;br /&gt;Ever wished you could pack an entire application into one single .EXE and take it with you anywhere without having to reinstall it every time?&lt;br /&gt;At work, at home, on your laptop, at a friend...&lt;br /&gt;Ever wanted to avoid having to reinstall all your applications every time you change, upgrade or reformat your computer?&lt;br /&gt;Or, if you are an IT admin, have you ever dreamed you didn't have to test and deploy applications, and simply let your users launch them on demand whenever they needed to?&lt;br /&gt;&lt;br /&gt;If so, application virtualization is probably what you need. &lt;br /&gt;&lt;a href="http://www.techsupportalert.com/content/create-your-own-portable-virtual-version-any-windows-program.htm"&gt;http://www.techsupportalert.com/content/create-your-own-portable-virtual-version-any-windows-program.htm&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1750989064926966140?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.techsupportalert.com/content/create-your-own-portable-virtual-version-any-windows-program.htm' title='Cameyo - Creating Portable Applications'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1750989064926966140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1750989064926966140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1750989064926966140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1750989064926966140'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/04/cameyo-creating-portable-applications.html' title='Cameyo - Creating Portable Applications'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1577569185443979169</id><published>2011-04-07T23:16:00.000-07:00</published><updated>2011-04-07T23:16:16.729-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java decompiler imran ebrahim techspot jad frontend plus dj'/><title type='text'>Java Decompilers</title><content type='html'>JAD Decompiler by Pavel Kouznetsov - &lt;a href="http://www.varaneckas.com/jad"&gt;http://www.varaneckas.com/jad&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;FrontEnd Plus (front end of JAD)&lt;br /&gt;&lt;br /&gt;DJ Decompiler  (very popular by  at_neshkov) &lt;a href="http://www.neshkov.com/dj.html"&gt;http://www.neshkov.com/dj.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1577569185443979169?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.neshkov.com/dj.html' title='Java Decompilers'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1577569185443979169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1577569185443979169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1577569185443979169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1577569185443979169'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/04/java-decompilers.html' title='Java Decompilers'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7536520126905437757</id><published>2011-03-17T02:26:00.000-07:00</published><updated>2011-03-17T02:27:53.024-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='learning GWT tutorial imran ebrahim'/><title type='text'>Learning GWT</title><content type='html'>&lt;a href="http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html"&gt;http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ext-Gwt -&lt;a href="http://www.sencha.com/examples/#autoheightgrid"&gt;http://www.sencha.com/examples/#autoheightgrid&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7536520126905437757?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html' title='Learning GWT'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7536520126905437757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7536520126905437757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7536520126905437757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7536520126905437757'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/03/learning-gwt.html' title='Learning GWT'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6335327762959354837</id><published>2011-03-17T02:24:00.000-07:00</published><updated>2011-03-17T02:26:34.468-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='imran ebrahim Google I/O  May 2010'/><title type='text'>Google I/O - May 2010</title><content type='html'>Google I/O offered 90+ sessions featuring highly technical, in-depth content covering a number of technologies and developer products. All videos and slides are available below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/events/io/2010/sessions.html"&gt;http://www.google.com/events/io/2010/sessions.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Session types&lt;br /&gt;&lt;br /&gt;101: 101 sessions don't require previous knowledge of a particular product or technology. They include overviews of a technology and introductions into new areas.&lt;br /&gt;201: 201 sessions provide a deeper dive into a technology or product. These sessions go beyond the basics and are aimed at developers already familiar with a technology.&lt;br /&gt;301: 301 sessions assume an advanced understanding of a technology or product.&lt;br /&gt;Fireside Chats: Q&amp;A is often the best part of a session, as it gives developers a chance to ask what's on their minds. Fireside chats are a chance to talk to the product engineering teams.&lt;br /&gt;Tech Talks: Google has a tradition of holding informative Tech Talks on campus that offer insight into an area. In that tradition, Google I/O features Tech Talks on subjects of interest to developers, such as computer science problems and programming language&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6335327762959354837?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.google.com/events/io/2010/sessions.html' title='Google I/O - May 2010'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6335327762959354837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6335327762959354837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6335327762959354837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6335327762959354837'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/03/google-io-may-2010.html' title='Google I/O - May 2010'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7454768510027807345</id><published>2011-03-17T02:18:00.000-07:00</published><updated>2011-03-17T02:24:34.189-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Replication Management Tool in the Oracle Enterprise Manager Console imran ebrahim'/><title type='text'>Administration tools for replication environment (Oracle)</title><content type='html'>&lt;blockquote&gt;"Replication is the process of copying and maintaining database objects, such as tables, in multiple databases that make up a distributed database system. Changes applied at one site are captured and stored locally before being forwarded and applied at each of the remote locations. Advanced Replication is a fully integrated feature of the Oracle server; it is not a separate server."&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10732/repoverv.htm#12309"&gt;http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10732/repoverv.htm#12309&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7454768510027807345?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10732/repoverv.htm#12309' title='Administration tools for replication environment (Oracle)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7454768510027807345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7454768510027807345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7454768510027807345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7454768510027807345'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/03/administration-tools-for-replication.html' title='Administration tools for replication environment (Oracle)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2825923182284008628</id><published>2011-03-16T23:52:00.000-07:00</published><updated>2011-03-16T23:54:01.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Continuous Integration Hudson Imran Ebrahim'/><title type='text'>Continuous Integration with Hudson</title><content type='html'>&lt;span style="font-size:78%;"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Excellent introduction to CI systems - http://en.wikipedia.org/wiki/Continuous_integration&lt;br /&gt;" ..Continuous integration - as the practice of frequently integrating one's new or changed code with the existing code repository - should occur frequently enough that no intervening window remains between commit and build, and such that no errors can arise without developers noticing them and correcting them immediately. ... "&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Comparison of Integration Systems&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.thinkplexx.com/learn/article/build-chain/ci/choosing-continuous-integrationci-tool-opensource-vs-professional-cruisecontrol-hudson-continuum-vs-teamcity"&gt;&lt;span style="font-size:78%;"&gt;http://www.thinkplexx.com/learn/article/build-chain/ci/choosing-continuous-integrationci-tool-opensource-vs-professional-cruisecontrol-hudson-continuum-vs-teamcity&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;Hudson was my choie because its open source, has an active community, availability of multiple plugins, IDE support &amp;amp; no restrictions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Implementation / Deployment for Hudson&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Hudson home page - &lt;/span&gt;&lt;a href="http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson"&gt;&lt;span style="font-size:78%;"&gt;http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;Short Tutorial on using hudson - &lt;/span&gt;&lt;a href="http://www.vogella.de/articles/ContinuousIntegration/article.html"&gt;&lt;span style="font-size:78%;"&gt;http://www.vogella.de/articles/ContinuousIntegration/article.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;Excellent Step by step instructions - &lt;/span&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-12-2008/jw-12-hudson-ci.html?page=1"&gt;&lt;span style="font-size:78%;"&gt;http://www.javaworld.com/javaworld/jw-12-2008/jw-12-hudson-ci.html?page=1&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2825923182284008628?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson' title='Continuous Integration with Hudson'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2825923182284008628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2825923182284008628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2825923182284008628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2825923182284008628'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2011/03/continuous-integration-with-hudson.html' title='Continuous Integration with Hudson'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1504698324827025219</id><published>2010-12-14T00:43:00.000-08:00</published><updated>2010-12-14T00:44:20.650-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='THINGS every programmer should know'/><title type='text'>Things Every Programmer Should Know</title><content type='html'>&lt;a href="http://www.javacodegeeks.com/2010/12/things-every-programmer-should-know.html"&gt;http://www.javacodegeeks.com/2010/12/things-every-programmer-should-know.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1504698324827025219?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javacodegeeks.com/2010/12/things-every-programmer-should-know.html' title='Things Every Programmer Should Know'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1504698324827025219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1504698324827025219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1504698324827025219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1504698324827025219'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/12/things-every-programmer-should-know.html' title='Things Every Programmer Should Know'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-9186998397075467159</id><published>2010-12-04T14:54:00.000-08:00</published><updated>2010-12-04T14:56:22.265-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu headphones'/><title type='text'>Headphones on ubuntu</title><content type='html'>&lt;a href="http://indlovu.wordpress.com/2010/08/07/upgrade-alsa/"&gt;http://indlovu.wordpress.com/2010/08/07/upgrade-alsa/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the script - &lt;a href="http://ubuntuforums.org/attachment.php?attachmentid=156468&amp;d=1273598001"&gt;http://ubuntuforums.org/attachment.php?attachmentid=156468&amp;d=1273598001&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-9186998397075467159?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://indlovu.wordpress.com/2010/08/07/upgrade-alsa/' title='Headphones on ubuntu'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/9186998397075467159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=9186998397075467159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/9186998397075467159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/9186998397075467159'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/12/headphones-on-ubuntu.html' title='Headphones on ubuntu'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5388983803787941319</id><published>2010-11-16T03:50:00.000-08:00</published><updated>2010-11-16T03:51:05.428-08:00</updated><title type='text'>Java Placement Guide</title><content type='html'>&lt;blockquote&gt;This is one in a miniseries of tutorial lessons designed to help you learn the essential features of Java object-oriented programming as identified by The College Board. &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/java/other/article.php/987161/Java-Advanced-Placement-Study-Guide-Method-Overloading.htm"&gt;http://www.developer.com/java/other/article.php/987161/Java-Advanced-Placement-Study-Guide-Method-Overloading.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5388983803787941319?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.developer.com/java/other/article.php/987161/Java-Advanced-Placement-Study-Guide-Method-Overloading.htm' title='Java Placement Guide'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5388983803787941319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5388983803787941319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5388983803787941319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5388983803787941319'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/java-placement-guide.html' title='Java Placement Guide'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-831630215461675844</id><published>2010-11-16T03:49:00.000-08:00</published><updated>2010-11-16T03:50:05.568-08:00</updated><title type='text'>Java Class Loader Basics</title><content type='html'>&lt;blockquote&gt;The fundamentals of this key component of the Java architecture&lt;br /&gt;&lt;br /&gt;By Chuck Mcmanis, JavaWorld.com, 10/01/96&lt;br /&gt;The class loader concept, one of the cornerstones of the Java virtual machine, describes the behavior of converting a named class into the bits responsible for implementing that class. Because class loaders exist, the Java run time does not need to know anything about files and file systems when running Java programs. &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/jw-10-1996/jw-10-indepth.html&amp;pagename=/javaworld/jw-10-1996/jw-10-indepth.html&amp;pageurl=http://www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.html&amp;site=jw_core"&gt;http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/jw-10-1996/jw-10-indepth.html&amp;pagename=/javaworld/jw-10-1996/jw-10-indepth.html&amp;pageurl=http://www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.html&amp;site=jw_core&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-831630215461675844?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/jw-10-1996/jw-10-indepth.html&amp;pagename=/javaworld/jw-10-1996/jw-10-indepth.html&amp;pageurl=http://www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.h' title='Java Class Loader Basics'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/831630215461675844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=831630215461675844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/831630215461675844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/831630215461675844'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/java-class-loader-basics.html' title='Java Class Loader Basics'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7466912124321663584</id><published>2010-11-16T03:48:00.000-08:00</published><updated>2010-11-16T03:49:24.270-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java class loader security'/><title type='text'>Java Class Loader (Securing Java)</title><content type='html'>&lt;blockquote&gt;One of the central tenets of Java is making code truly mobile. Every mobile code system requires the ability to load code from outside a system into the system dynamically. In Java, code is loaded (either from the disk or over the network) by a Class Loader. Java's class loader architecture is complex, but it is a central security issue, so please bear with us as we explain it&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.securingjava.com/chapter-two/chapter-two-7.html"&gt;http://www.securingjava.com/chapter-two/chapter-two-7.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7466912124321663584?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.securingjava.com/chapter-two/chapter-two-7.html' title='Java Class Loader (Securing Java)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7466912124321663584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7466912124321663584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7466912124321663584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7466912124321663584'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/java-class-loader-securing-java.html' title='Java Class Loader (Securing Java)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-167119314933713954</id><published>2010-11-16T03:46:00.000-08:00</published><updated>2010-11-16T03:48:10.029-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java osgi beginner tutorial'/><title type='text'>Hello, OSGi, Part 1: Bundles for beginners</title><content type='html'>&lt;a href="http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/jw-03-2008/jw-03-osgi1.html&amp;pagename=/javaworld/jw-03-2008/jw-03-osgi1.html&amp;pageurl=http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html&amp;site=jw_core"&gt;http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/jw-03-2008/jw-03-osgi1.html&amp;pagename=/javaworld/jw-03-2008/jw-03-osgi1.html&amp;pageurl=http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html&amp;site=jw_core&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Creating, executing, and managing bundles in an OSGi container&lt;br /&gt;&lt;br /&gt;By Sunil Patil, JavaWorld.com, 03/04/08&lt;br /&gt;&lt;br /&gt;The Open Services Gateway Initiative (OSGi) defines an architecture for developing and deploying modular applications and libraries. In this first article in a three-part introduction to OSGi, Sunil Patil gets you started with OSGi development concepts and shows you how to build a simple Hello World application using the Eclipse OSGi container implementation, Equinox. He also touches briefly on building service-oriented applications using OSGi and introduces OSGi's ServiceFactory and ServiceTracker classes. &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-167119314933713954?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javaworld.com/cgi-bin/mailto/x_java.cgi?pagetosend=/export/home/httpd/javaworld/javaworld/jw-03-2008/jw-03-osgi1.html&amp;pagename=/javaworld/jw-03-2008/jw-03-osgi1.html&amp;pageurl=http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html&amp;si' title='Hello, OSGi, Part 1: Bundles for beginners'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/167119314933713954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=167119314933713954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/167119314933713954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/167119314933713954'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/hello-osgi-part-1-bundles-for-beginners.html' title='Hello, OSGi, Part 1: Bundles for beginners'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-569473551639368440</id><published>2010-11-16T03:45:00.000-08:00</published><updated>2010-11-16T03:46:41.905-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java genetic algorithm jamie craane blog'/><title type='text'>Genetic Algorithms with Java (JGAP)</title><content type='html'>&lt;a href="http://jcraane.blogspot.com/2009/02/introduction-to-genetic-algorithms-with.html"&gt;http://jcraane.blogspot.com/2009/02/introduction-to-genetic-algorithms-with.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/jc-examples/"&gt;http://code.google.com/p/jc-examples/&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Out of interest I am familiarizing myself in genetic algorithms, in short GA. My interest in GA came when I first heard about the JGAP project. As mentioned on the project's site "JGAP (pronounced "jay-gap") is a Genetic Algorithms and Genetic Programming component provided as a Java framework.". For a newcomer I found it difficult to get a good overview about all the concepts introduced in genetic algorithms. Before diving into JGAP, I think it is essential that these concepts are well understood. This post is an introduction to genetic algorithms (GA) with JGAP and is explained with a concrete example. In one of my next posts I will demonstrate solving a problem with genetic programming (GP).&lt;br /&gt;&lt;br /&gt;So what is a genetic algorithm? Given is the following definition from John R. Koza:&lt;br /&gt;&lt;br /&gt;The genetic algorithm is a probabilistic search algorithm that iteratively transforms a set (called a population) of mathematical objects (typically fixed-length binary character strings), each with an associated fitness value, into a new population of offspring objects using the Darwinian principle of natural selection and using operations that are patterned after naturally occurring genetic operations, such as crossover (sexual recombination) and mutation.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-569473551639368440?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jcraane.blogspot.com/2009/02/introduction-to-genetic-algorithms-with.html' title='Genetic Algorithms with Java (JGAP)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/569473551639368440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=569473551639368440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/569473551639368440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/569473551639368440'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/genetic-algorithms-with-java-jgap.html' title='Genetic Algorithms with Java (JGAP)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-80284163593948503</id><published>2010-11-16T03:44:00.001-08:00</published><updated>2010-11-16T03:44:59.862-08:00</updated><title type='text'>Hello world with Apache Axis2</title><content type='html'>&lt;blockquote&gt;This is a step by step guide to hosting a simple Web service with Axis2 and interacting with that service using a client based on generated code.&lt;br /&gt;&lt;br /&gt;We will be starting with a simple Java class which will be turned into a service with the necessary packaging. Then a client will be created using the code generated by the WSDL2Java code which will be used to invoke the service we created&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://people.apache.org/~ruchithf/hw-axis2/"&gt;http://people.apache.org/~ruchithf/hw-axis2/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-80284163593948503?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://people.apache.org/~ruchithf/hw-axis2/' title='Hello world with Apache Axis2'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/80284163593948503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=80284163593948503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/80284163593948503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/80284163593948503'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/hello-world-with-apache-axis2.html' title='Hello world with Apache Axis2'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3798526583595002573</id><published>2010-11-16T03:43:00.000-08:00</published><updated>2010-11-16T03:44:10.410-08:00</updated><title type='text'>Using Annotations to add Validity Constraints to JavaBeans Properties</title><content type='html'>&lt;blockquote&gt;Currently there is no standard way to add validity constraints to Java classes. This is in contrast to other languages like XML in which (using XML Schema) relatively rich constraints may be specified. With the advent of annotations (JSR 175) in the Java 2 Platform, Standard Edition (J2SE) 5.0 a convenient mechanism now exists to allow such constraints to be specified in the Java meta model. This article explores how annotations might be used for this purpose and discusses why this may be an important capability.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/constraints/annotations.html"&gt;http://java.sun.com/developer/technicalArticles/J2SE/constraints/annotations.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3798526583595002573?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://java.sun.com/developer/technicalArticles/J2SE/constraints/annotations.html' title='Using Annotations to add Validity Constraints to JavaBeans Properties'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3798526583595002573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3798526583595002573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3798526583595002573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3798526583595002573'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/using-annotations-to-add-validity.html' title='Using Annotations to add Validity Constraints to JavaBeans Properties'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2521528752740379498</id><published>2010-11-16T03:42:00.000-08:00</published><updated>2010-11-16T03:43:17.397-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate validator'/><title type='text'>Hibernate Validator</title><content type='html'>&lt;blockquote&gt;Validating data is a common task that occurs throughout any application, from the presentation layer to the persistence layer. Often the same validation logic is implemented in each layer, proving time consuming and error-prone. To avoid duplication of these validations in each layer, developers often bundle validation logic directly into the domain model, cluttering domain classes with validation code which is really metadata about the class itself&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/"&gt;http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2521528752740379498?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/' title='Hibernate Validator'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2521528752740379498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2521528752740379498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2521528752740379498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2521528752740379498'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/hibernate-validator.html' title='Hibernate Validator'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2443328718678906071</id><published>2010-11-16T03:40:00.001-08:00</published><updated>2010-11-16T03:41:48.120-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java netbeans tutorials'/><title type='text'>Netbeans tutorials</title><content type='html'>10-week Free NetBeans Platform Programming (with Passion!) Online Course - &lt;a href="http://www.javapassion.com/nbplatform/"&gt;http://www.javapassion.com/nbplatform/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Top 10 NetBeans APIs (Video)&lt;br /&gt;&lt;a href="http://platform.netbeans.org/tutorials/nbm-10-top-apis.html"&gt;http://platform.netbeans.org/tutorials/nbm-10-top-apis.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2443328718678906071?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2443328718678906071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2443328718678906071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2443328718678906071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2443328718678906071'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/netbeans-tutorials.html' title='Netbeans tutorials'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4187396966322135511</id><published>2010-11-16T03:37:00.000-08:00</published><updated>2010-11-16T03:39:52.689-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java swing component library'/><title type='text'>Swing Components</title><content type='html'>&lt;a href="http://weblogs.java.net/blog/2004/10/11/another-40-swing-component-libraries"&gt;http://weblogs.java.net/blog/2004/10/11/another-40-swing-component-libraries&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.java.net/blog/2004/10/14/and-then-there-were-more-50-more-swing-component-libraries"&gt;http://weblogs.java.net/blog/2004/10/14/and-then-there-were-more-50-more-swing-component-libraries&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4187396966322135511?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.java.net/blog/2004/10/11/another-40-swing-component-libraries' title='Swing Components'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4187396966322135511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4187396966322135511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4187396966322135511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4187396966322135511'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/11/swing-components.html' title='Swing Components'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7562537910324221322</id><published>2010-09-25T20:13:00.000-07:00</published><updated>2010-09-25T20:15:37.639-07:00</updated><title type='text'>Top Free Linux for Netbooks</title><content type='html'>&lt;a href="http://www.techtree.com/India/Features/Top_Free_Linux_for_Netbooks/551-112649-899-1.html"&gt;http://www.techtree.com/India/Features/Top_Free_Linux_for_Netbooks/551-112649-899-1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Conclusion&lt;br /&gt;&lt;br /&gt;As of now I'd rate Easy Peasy as the Best Linux OS I've used till date. Jolicloud is nice too but I'd rather have offline applications pre-installed, just in case I am without Internet at any point of time. Despite bad usability, the design aspect of Meego cannot be forgotten and we will be tracking its progress closely.&lt;br /&gt;&lt;br /&gt;So, if you're the owner of a Windows based Netbook, then I'd recommend giving Easy Peasy a try. To make a live-bootable USB drive of Easy Peasy, check these simple instructions here.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7562537910324221322?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.techtree.com/India/Features/Top_Free_Linux_for_Netbooks/551-112649-899-1.html' title='Top Free Linux for Netbooks'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7562537910324221322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7562537910324221322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7562537910324221322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7562537910324221322'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/09/top-free-linux-for-netbooks.html' title='Top Free Linux for Netbooks'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2132741126026408286</id><published>2010-08-30T03:27:00.000-07:00</published><updated>2010-08-30T03:28:23.204-07:00</updated><title type='text'>Create your own Ant task</title><content type='html'>&lt;a href="http://www.java2s.com/Code/Java/Ant/CreateyourownAnttask.htm"&gt;http://www.java2s.com/Code/Java/Ant/CreateyourownAnttask.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/java/article.php/3630721"&gt;http://www.developer.com/java/article.php/3630721&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2132741126026408286?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.java2s.com/Code/Java/Ant/CreateyourownAnttask.htm' title='Create your own Ant task'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2132741126026408286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2132741126026408286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2132741126026408286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2132741126026408286'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/08/create-your-own-ant-task.html' title='Create your own Ant task'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4679364682338677527</id><published>2010-08-20T01:38:00.000-07:00</published><updated>2010-08-20T01:41:38.220-07:00</updated><title type='text'>Java Thread Synchronization</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_St97abwyTVc/TG4_tNAqnTI/AAAAAAAAARY/yzstOLEtFik/s1600/fig20-1.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 297px;" src="http://3.bp.blogspot.com/_St97abwyTVc/TG4_tNAqnTI/AAAAAAAAARY/yzstOLEtFik/s400/fig20-1.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5507409440139812146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;One of the strengths of the Java programming language is its support for multithreading at the language level. Much of this support centers on synchronization: coordinating activities and data access among multiple threads. The mechanism that Java uses to support synchronization is the monitor. This chapter describes monitors and shows how they are used by the Java virtual machine. It describes how one aspect of monitors, the locking and unlocking of data, is supported in the instruction set.&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.artima.com/insidejvm/ed2/threadsynch.html"&gt;http://www.artima.com/insidejvm/ed2/threadsynch.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4679364682338677527?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.artima.com/insidejvm/ed2/threadsynch.html' title='Java Thread Synchronization'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4679364682338677527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4679364682338677527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4679364682338677527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4679364682338677527'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/08/java-thread-synchronization.html' title='Java Thread Synchronization'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_St97abwyTVc/TG4_tNAqnTI/AAAAAAAAARY/yzstOLEtFik/s72-c/fig20-1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4893545615766686688</id><published>2010-08-16T23:02:00.000-07:00</published><updated>2010-08-16T23:06:59.264-07:00</updated><title type='text'>Application Performance Almanac</title><content type='html'>&lt;strong&gt;Application Performance Almanac - &lt;a href="http://blog.dynatrace.com/2010/01/12/dynatrace-application-performance-almanach-2010/"&gt;http://blog.dynatrace.com/2010/01/12/dynatrace-application-performance-almanach-2010/&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to measure application peformance - &lt;a href="http://java.sys-con.com/node/1491844"&gt;http://java.sys-con.com/node/1491844&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/"&gt;http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Who to Blame for bad application performance ? - &lt;br /&gt;&lt;a href="http://blog.dynatrace.com/2010/05/28/week-16-who-is-to-blame-for-bad-application-performance/"&gt;http://blog.dynatrace.com/2010/05/28/week-16-who-is-to-blame-for-bad-application-performance/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4893545615766686688?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.dynatrace.com/2010/01/12/dynatrace-application-performance-almanach-2010/' title='Application Performance Almanac'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4893545615766686688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4893545615766686688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4893545615766686688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4893545615766686688'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/08/application-performance-almanac.html' title='Application Performance Almanac'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5237353054314758675</id><published>2010-08-05T01:34:00.001-07:00</published><updated>2010-08-05T01:34:55.721-07:00</updated><title type='text'>Oracle JDBC FAQ</title><content type='html'>&lt;blockquote&gt;This document contains answers to the most frequently asked questions about Oracle's JDBC drivers. Note that these address specific technical questions only and are used to document solutions to frequent customer questions as well as any known problems. The server docs (including JDBC doc) are also available online. &lt;br /&gt;&lt;br /&gt;Note that this FAQ contains information about all released versions of the Oracle JDBC drivers. Anything that is not described as pertaining only to certain versions should pertain to all the versions. Or to the current version. At the time the question was asked. &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5237353054314758675?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.html' title='Oracle JDBC FAQ'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5237353054314758675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5237353054314758675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5237353054314758675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5237353054314758675'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/08/oracle-jdbc-faq.html' title='Oracle JDBC FAQ'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-170682859178153653</id><published>2010-07-28T04:05:00.000-07:00</published><updated>2010-07-28T04:08:47.295-07:00</updated><title type='text'>Building a Swing Validation Package with InputVerifier</title><content type='html'>Combining the InputVerifier along with Validators should make it pretty powerful to use -&lt;br /&gt;&lt;a href="http://www.javalobby.org/java/forums/t20551.html"&gt;http://www.javalobby.org/java/forums/t20551.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Validators can be found here - &lt;br /&gt;http://java.dzone.com/news/how-quickly-add-validation&lt;br /&gt;http://kenai.com/projects/simplevalidation/pages/Home&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-170682859178153653?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javalobby.org/java/forums/t20551.html' title='Building a Swing Validation Package with InputVerifier'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/170682859178153653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=170682859178153653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/170682859178153653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/170682859178153653'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/07/building-swing-validation-package-with.html' title='Building a Swing Validation Package with InputVerifier'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3511485642572739333</id><published>2010-07-20T03:27:00.000-07:00</published><updated>2010-07-20T03:29:17.890-07:00</updated><title type='text'>Java Memory Management White paper</title><content type='html'>&lt;a href="http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf"&gt;http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3511485642572739333?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf' title='Java Memory Management White paper'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3511485642572739333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3511485642572739333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3511485642572739333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3511485642572739333'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/07/java-memory-management-white-paper.html' title='Java Memory Management White paper'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2029665136106439493</id><published>2010-07-20T01:53:00.000-07:00</published><updated>2010-07-20T02:39:46.062-07:00</updated><title type='text'>JConsole tutorials (Configuring JMX)</title><content type='html'>&lt;a href="http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/management/jconsole.html"&gt;http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/management/jconsole.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Configuring JMX - &lt;a href="http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/management/agent.html#remote"&gt;http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/management/agent.html#remote&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using JConsole - &lt;a href="http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/management/jconsole.html"&gt;http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/management/jconsole.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2029665136106439493?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/management/jconsole.html' title='JConsole tutorials (Configuring JMX)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2029665136106439493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2029665136106439493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2029665136106439493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2029665136106439493'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/07/jconsole-tutorials-configuring-jmx.html' title='JConsole tutorials (Configuring JMX)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3970352422194971774</id><published>2010-06-27T23:36:00.000-07:00</published><updated>2010-06-27T23:38:22.802-07:00</updated><title type='text'>Rewarding Your Team - Why Thank You is so important</title><content type='html'>&lt;a href="http://mindtools.com/pages/article/newTMM_54.htm"&gt;http://mindtools.com/pages/article/newTMM_54.htm&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Ideas for Rewarding Your Team&lt;br /&gt;&lt;br /&gt;As we said earlier, chances are high that your team isn't looking for a bonus check or pay raise to feel appreciated. Often, smaller gestures go further and end up costing you less in the long run. Here are some creative ideas to consider for showing appreciation to your team:&lt;br /&gt;&lt;br /&gt;Offer flexible scheduling - not everyone needs, or wants, to be in the office at 8:00 a.m. Or, you could offer telecommuting days.&lt;br /&gt;Send handwritten thank-you notes when someone goes above and beyond the requirements of the job.&lt;br /&gt;Create "free day" coupons that a worker could use for a free day off - no questions asked - without using vacation or sick time.&lt;br /&gt;Take your team out to lunch - and then, as a last-minute surprise, give them the rest of the day off.&lt;br /&gt;Give out "lazy Monday" coupons to allow a team member one "free" Monday morning off.&lt;br /&gt;If you e-mail a team member to say thank you, consider copying that message to YOUR boss.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3970352422194971774?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://mindtools.com/pages/article/newTMM_54.htm' title='Rewarding Your Team - Why Thank You is so important'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3970352422194971774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3970352422194971774' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3970352422194971774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3970352422194971774'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/06/rewarding-your-team-why-thank-you-is-so.html' title='Rewarding Your Team - Why Thank You is so important'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6517253371589710497</id><published>2010-05-31T02:28:00.000-07:00</published><updated>2010-05-31T02:29:37.242-07:00</updated><title type='text'>How to Become an Expert. Top 7 Qualities</title><content type='html'>&lt;a href="http://softwarecreation.org/2009/how-to-become-an-expert-top-7-qualities/"&gt;http://softwarecreation.org/2009/how-to-become-an-expert-top-7-qualities/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Questions to Ask Yourself&lt;br /&gt;1.Motivation – Am I ready? How can I boost my strength, energy and motivation? How will I succeed?&lt;br /&gt;2.Focus – How do I maintain focus, stay committed and interested? Do I have clear goals, action plan and productive environment?&lt;br /&gt;3.Critical thinking – What are hard facts, assumptions and theories? What should I trust, dismiss or verify?&lt;br /&gt;4.Full Brain power – How can I engage my both brain modes? What puzzles can I feed to my subconscious mind?&lt;br /&gt;5.Continuous Learning – What do I not know? How will I learn it? How will I share it?&lt;br /&gt;6.Self Improvement – What can I do better? How can I improve myself? Am I honest with myself?&lt;br /&gt;7.Creative solutions – What is the big picture: forces, players and relations? How things can be done better? Do I see new ways?&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6517253371589710497?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://softwarecreation.org/2009/how-to-become-an-expert-top-7-qualities/' title='How to Become an Expert. Top 7 Qualities'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6517253371589710497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6517253371589710497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6517253371589710497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6517253371589710497'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/05/how-to-become-expert-top-7-qualities.html' title='How to Become an Expert. Top 7 Qualities'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2312589969651890730</id><published>2010-05-05T07:28:00.000-07:00</published><updated>2010-05-05T07:29:56.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse osgi pde rcp online training'/><title type='text'>Eclipse RCP &amp; PDE online training</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;a href="http://rcpquickstart.com/2007/06/06/getting-started-with-pde-build/"&gt;http://rcpquickstart.com/2007/06/06/getting-started-with-pde-build/&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;RCP Quickstart Outline&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;This 3-day course is divided into 6 sessions, one to be held in the morning and one in the afternoon. Each session lasts about 3 hours and includes both lecture and labs.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Morning Day 1 – Plug-ins and the PDE&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Introduction to the Rich Client Platform&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Plug-in model&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Anatomy of a single plug-in&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Creating a plug-in with the PDE&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Plug-in manifests&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Plug-in dependencies&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Plug-in encapsulation&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Extensions and extension points&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Features&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Fragments&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Running your code&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Afternoon Day 1 – SWT and JFace&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;SWT Overview&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Widgets and controls&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Composites and groups&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Layout managers&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Events and listeners&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;JFace viewer framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Dialogs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Data binding&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Morning Day 2 – RCP Basics&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Workbench structure and services&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Selection service&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Workbench life-cycle&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Perspectives and perspective layouts&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Views and mementos&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Target platforms&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Products and branding&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Creating an application with the PDE&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Afternoon Day 2 – Menus and wizards&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Workbench menus&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Actions and ActionBars&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Commands, handlers and menus&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Wizard framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Integrating wizards into the workbench&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Morning Day 3 – Editors and Forms API&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Editor construction&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Editor inputs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Editor life-cycle management&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Forms API&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Forms editor framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;File system integration&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Afternoon Day 3 – Preferences, Concurrency and more&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Preferences API&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Creating preference pages&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Creating extension points&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Jobs API&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Incorporating help content&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Morning Day 1 – Introduction to OSGi&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;History and purpose of OSGi&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Modularity and OSGi&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Anatomy of a bundle&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Afternoon Day 1 – Dependencies and Lifecycle&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Bundle dependencies&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Versioning&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Lifecycle and activators&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;span style="font-style: normal;"&gt;&lt;em&gt;Morning Day 2 – OSGi Services&lt;/em&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Core services framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Declarative Services&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Spring DM&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Afternoon Day 2 – OSGi Best Practices&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;OSGi tooling&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;OSGi migration best practices&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Architectural best practices&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;OSGi design patterns and refactorings&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2312589969651890730?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://rcpquickstart.com/2007/06/06/getting-started-with-pde-build/' title='Eclipse RCP &amp; PDE online training'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2312589969651890730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2312589969651890730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2312589969651890730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2312589969651890730'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/05/eclipse-rcp-pde-online-training.html' title='Eclipse RCP &amp; PDE online training'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-658188888049156572</id><published>2010-05-05T07:23:00.001-07:00</published><updated>2010-05-05T07:27:22.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usb ubuntu unetbootin'/><title type='text'>Ubuntu installation via pen drive</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;a href="https://wiki.ubuntu.com/LiveUsbPendrivePersistent"&gt;https://wiki.ubuntu.com/LiveUsbPendrivePersistent&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/UNetbootin"&gt;http://en.wikipedia.org/wiki/UNetbootin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pendrivelinux.com/usb-kubuntu-804-persistent-install-via-the-live-cd/"&gt;http://www.pendrivelinux.com/usb-kubuntu-804-persistent-install-via-the-live-cd/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pendrivelinux.com/usb-kubuntu-810-install-via-usb-creator/"&gt;http://www.pendrivelinux.com/usb-kubuntu-810-install-via-usb-creator/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-658188888049156572?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/658188888049156572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=658188888049156572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/658188888049156572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/658188888049156572'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/05/ubuntu-installation-via-pen-drive.html' title='Ubuntu installation via pen drive'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7978757623274984274</id><published>2010-04-27T02:07:00.000-07:00</published><updated>2010-04-27T02:09:34.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='43 essential controls ria web applications popular toolkit framework controls'/><title type='text'>43 Essential Controls for web development</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.uxbooth.com/blog/essential-controls-for-web-applications/"&gt;http://www.uxbooth.com/blog/essential-controls-for-web-applications/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, 'Lucida Grande', Lucida, sans-serif; color: rgb(61, 63, 64); font-size: 12px; line-height: 21px; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 1em; font-family: inherit; vertical-align: baseline; line-height: 1.75em; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul class="favicon-list" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.extjs.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.extjs.com/products/extjs/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Ext JS&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.adobe.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.adobe.com/devnet/flex/tourdeflex/web/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Adobe Flex/AIR&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://jqueryui.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://plugins.jquery.com/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;JQuery (plugins)&lt;/a&gt;, &lt;a href="http://jqueryui.com/demos/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;JQuery UI&lt;/a&gt;, &lt;a href="http://www.uxbooth.com/blog/essential-controls-for-web-applications/JQuery%20Tools" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;JQuery Tools&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 1; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 1; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 1; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://demos.dojotoolkit.org/demos/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Dojo&lt;/a&gt;, &lt;a href="http://dojotoolkit.org/projects/dojox" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Dojo X&lt;/a&gt;, &lt;a href="http://dojotoolkit.org/projects/dijit" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Dijit&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.openlaszlo.org/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.openlaszlo.org/node/409#LaszloComponents" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;OpenLaszlo&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://mochaui.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://speckyboy.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://speckyboy.com/2008/12/15/best-ever-65-mootools-plugins-and-demos-is-it-better-than-jquery/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;MooTools (plugins)&lt;/a&gt;, &lt;a href="http://jxlib.org/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;JXLib for MooTools&lt;/a&gt;,&lt;a href="http://mochaui.com/demo/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Mocha UI&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://demo.vaadin.com/sampler/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Vaadin&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.telerik.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.telerik.com/products/aspnet-ajax.aspx" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Telerik for ASP.net&lt;/a&gt;,&lt;a href="http://demos.telerik.com/silverlight/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Telerik for Silverlight&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.zkoss.org/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.zkoss.org/zkdemo/userguide/#f1" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;ZK&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://gwt.google.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://gwt.google.com/samples/Showcase/Showcase.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Google Web Toolkit &lt;/a&gt;,&lt;a href="http://www.gwt-ext.com/demo/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;GWT Ext&lt;/a&gt;, &lt;a href="http://69.20.122.77/gwt-mosaic-current/Showcase.html#CwPageBus2" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;GWT Mosaic&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://developer.yahoo.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://developer.yahoo.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://developer.yahoo.com/yui/2/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;YUI 2 &lt;/a&gt;, &lt;a href="http://developer.yahoo.com/yui/3/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;YUI 3&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://livepipe.net/control" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;LivePipe&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://demo.backbase.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://demo.backbase.com/explorer/#|examples/welcome.xml" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Backbase&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.smartclient.com/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.smartclient.com/#Welcome" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;SmartClient&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://script.aculo.us/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://www.prototypejs.org/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Prototype&lt;/a&gt;, &lt;a href="http://www.prototype-ui.com/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Prototype UI&lt;/a&gt; and &lt;a href="http://script.aculo.us/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;Scriptaculous&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://www.uxbooth.com/images/external.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://livedemo.exadel.com/richfaces-demo/welcome.jsf" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;RichFaces&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; position: relative; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;img src="http://component-showcase.icefaces.org/favicon.ico" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; width: 16px; height: 16px; opacity: 0.67; position: absolute; left: 0px; top: 0px; -webkit-transition-property: initial; -webkit-transition-duration: 0.125s; -webkit-transition-timing-function: initial; -webkit-transition-delay: initial; " /&gt;&lt;a href="http://component-showcase.icefaces.org/component-showcase/showcase.iface" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: rgb(181, 48, 0); text-decoration: none; "&gt;ICEFaces&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7978757623274984274?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.uxbooth.com/blog/essential-controls-for-web-applications/' title='43 Essential Controls for web development'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7978757623274984274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7978757623274984274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7978757623274984274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7978757623274984274'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/04/43-essential-controls-for-web.html' title='43 Essential Controls for web development'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3962137478535270060</id><published>2010-04-20T04:04:00.000-07:00</published><updated>2010-04-20T04:09:59.280-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java interview'/><title type='text'>Good Tech Links</title><content type='html'>&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;InvocationHandler &amp;amp; Dynamic Proxy -&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;a href="http://www.webreference.com/internet/reflection/3.html"&gt;http://www.webreference.com/internet/reflection/3.html&lt;/a&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Java Socket Programming - &lt;a href="http://zerioh.tripod.com/ressources/sockets.html"&gt;http://zerioh.tripod.com/ressources/sockets.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Java Socket Programming - &lt;a href="http://edn.embarcadero.com/article/31995"&gt;http://edn.embarcadero.com/article/31995&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Java Garbage Collection - &lt;a href="http://chaoticjava.com/posts/how-does-garbage-collection-work/"&gt;http://chaoticjava.com/posts/how-does-garbage-collection-work/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Java Garbage Collection (parallel) - &lt;a href="http://chaoticjava.com/posts/parallel-and-concurrent-garbage-collectors/"&gt;http://chaoticjava.com/posts/parallel-and-concurrent-garbage-collectors/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;400 Puzzles - &lt;a href="http://www.scribd.com/doc/8415144/400-Puzzles-and-answers-for-Interview"&gt;http://www.scribd.com/doc/8415144/400-Puzzles-and-answers-for-Interview&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Tech Interview Questions - &lt;a href="http://www.thecareerplus.com/?page=resources&amp;amp;cat=10"&gt;http://www.thecareerplus.com/?page=resources&amp;amp;cat=10&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Binary Trees - &lt;a href="http://cslibrary.stanford.edu/110/BinaryTrees.html"&gt;http://cslibrary.stanford.edu/110/BinaryTrees.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;Tree Traversal - &lt;a href="http://en.wikipedia.org/wiki/Tree_traversal"&gt;http://en.wikipedia.org/wiki/Tree_traversal&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3962137478535270060?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3962137478535270060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3962137478535270060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3962137478535270060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3962137478535270060'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/04/good-tech-links.html' title='Good Tech Links'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-8627572049967327649</id><published>2010-03-07T22:27:00.000-08:00</published><updated>2010-03-07T22:30:51.112-08:00</updated><title type='text'>Top 10 Tools for a Free Online Education</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: verdana; "&gt;&lt;a href="http://lifehacker.com/5188342/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://lifehacker.com/5188342/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: verdana; "&gt;&lt;a href="http://code.google.com/edu/algorithms/index.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://code.google.com/edu/algorithms/index.html&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://personalmba.com/best-business-books/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://personalmba.com/best-business-books/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://education-portal.com/articles/Universities_with_the_Best_Free_Online_Courses.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://education-portal.com/articles/Universities_with_the_Best_Free_Online_Courses.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://lifehacker.com/software/education/technophilia-get-a-free-college-education-online-201979.php"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://lifehacker.com/software/education/technophilia-get-a-free-college-education-online-201979.php&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://academicearth.org/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://academicearth.org/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/edu"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.youtube.com/edu&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-8627572049967327649?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://lifehacker.com/5188342/' title='Top 10 Tools for a Free Online Education'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/8627572049967327649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=8627572049967327649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8627572049967327649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8627572049967327649'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/03/top-10-tools-for-free-online-education.html' title='Top 10 Tools for a Free Online Education'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4649737273901538004</id><published>2010-03-02T05:07:00.001-08:00</published><updated>2010-03-02T05:07:45.039-08:00</updated><title type='text'>Free lance programming</title><content type='html'>&lt;span style="font-size:85%;"&gt;Using sites like oDesk, Elance, Guru, and RentACoder to find the best developers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.inc.com/magazine/20090501/technology-finding-freelance-programmers.html"&gt;http://www.inc.com/magazine/20090501/technology-finding-freelance-programmers.html&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4649737273901538004?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.inc.com/magazine/20090501/technology-finding-freelance-programmers.html' title='Free lance programming'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4649737273901538004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4649737273901538004' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4649737273901538004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4649737273901538004'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/03/free-lance-programming.html' title='Free lance programming'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3031563652348936422</id><published>2010-02-25T02:07:00.000-08:00</published><updated>2010-02-25T02:17:42.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Wicket Mystic coders five 5 days'/><title type='text'>Five days of Apache Wicket</title><content type='html'>&lt;div class="entry"&gt;       &lt;p&gt;5 days of Wicket!&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="Day 1 - Setting up the Project" href="http://www.mysticcoders.com/blog/2009/03/09/5-days-of-wicket-day-1/" target="_blank"&gt;Day 1 – Setting up the Project&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Day 2 - Writing the tests" href="http://www.mysticcoders.com/blog/2009/03/10/5-days-of-wicket-writing-the-tests/" target="_blank"&gt;Day 2 – Writing the Tests&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Day 3 - Designing the backend" href="http://www.mysticcoders.com/blog/2009/03/11/5-days-of-wicket-day-designing-the-backend/" target="_blank"&gt;Day 3 – Designing the backend&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Day 4 - Designing the Wicket components" href="http://www.mysticcoders.com/blog/2009/03/12/5-days-of-wicket-the-ui/" target="_blank"&gt;Day 4 – Designing the Wicket components&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Day 5 - Putting it all together" href="http://www.mysticcoders.com/blog/2009/03/13/5-days-of-wicket-putting-it-all-together/" target="_blank"&gt;Day 5 – Putting it all together&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Source: &lt;a title="Apache Wicket" href="http://www.mysticcoders.com/blog/2009/03/09/5-days-of-wicket/" target="_blank"&gt;http://www.mysticcoders.com/blog/2009/03/09/5-days-of-wicket/&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3031563652348936422?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mysticcoders.com/blog/2009/03/13/5-days-of-wicket-putting-it-all-together/' title='Five days of Apache Wicket'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3031563652348936422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3031563652348936422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3031563652348936422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3031563652348936422'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/02/five-days-of-apache-wicket.html' title='Five days of Apache Wicket'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4714114019665825208</id><published>2010-02-21T22:24:00.000-08:00</published><updated>2010-02-21T22:27:29.989-08:00</updated><title type='text'>Jetty Tutorials</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld"&gt;&lt;span style="font-size:85%;"&gt;http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld (official hello world on Eclipse)&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty"&gt;http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty (Embedding Jetty)&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.seas.upenn.edu/%7Ecis550/jetty.html"&gt;http://www.seas.upenn.edu/~cis550/jetty.html (3rd party tutorial on Jetty)&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://wiki.eclipse.org/Jetty/Tutorial/Jetty_and_Maven_HelloWorld"&gt;http://wiki.eclipse.org/Jetty/Tutorial/Jetty_and_Maven_HelloWorld (Achieving minimal footprint using maven)&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4714114019665825208?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld' title='Jetty Tutorials'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4714114019665825208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4714114019665825208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4714114019665825208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4714114019665825208'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/02/jetty-tutorials.html' title='Jetty Tutorials'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-805823773743668908</id><published>2010-02-19T01:04:00.000-08:00</published><updated>2010-02-19T01:05:58.717-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jetty war less'/><title type='text'>War-less Development with Jetty</title><content type='html'>&lt;a href="http://www.draconianoverlord.com/2009/01/10/war-less-dev-with-jetty.html"&gt;http://www.draconianoverlord.com/2009/01/10/war-less-dev-with-jetty.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-805823773743668908?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.draconianoverlord.com/2009/01/10/war-less-dev-with-jetty.html' title='War-less Development with Jetty'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/805823773743668908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=805823773743668908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/805823773743668908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/805823773743668908'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/02/war-less-development-with-jetty.html' title='War-less Development with Jetty'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2600520688595892812</id><published>2010-02-11T23:20:00.000-08:00</published><updated>2010-02-11T23:25:51.524-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse console output file starters'/><title type='text'>Good Eclipse starters</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;a href="http://www3.ntu.edu.sg/home/ehchua/programming/howto/Eclipse_java_HowTo.html"&gt;http://www3.ntu.edu.sg/home/ehchua/programming/howto/Eclipse_java_HowTo.html&lt;/a&gt; (love the fonts used here)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eclipse.org/eclipse/platform-core/documents/3.1/debug.html"&gt;http://www.eclipse.org/eclipse/platform-core/documents/3.1/debug.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How to redirect eclipse console output to a file ?&lt;br /&gt;Answer &gt; Common tab of launch configuration &gt; Standard Input &amp;amp; Output &gt; File&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2600520688595892812?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www3.ntu.edu.sg/home/ehchua/programming/howto/Eclipse_java_HowTo.html' title='Good Eclipse starters'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2600520688595892812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2600520688595892812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2600520688595892812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2600520688595892812'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/02/good-eclipse-starters.html' title='Good Eclipse starters'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5316209396689645546</id><published>2010-02-08T05:30:00.000-08:00</published><updated>2010-02-08T05:32:24.792-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse RAP'/><title type='text'>Eclipse RAP</title><content type='html'>&lt;span style="font-size:85%;"&gt;In a nutshell: “&lt;em&gt;RAP brings RCP applications into the browser&lt;/em&gt;”.     &lt;br /&gt;&lt;/span&gt;&lt;div class="homeitem3col"&gt;       &lt;h3&gt;&lt;span style="font-size:85%;"&gt;Single Sourcing&lt;/span&gt;&lt;/h3&gt;       &lt;p&gt;&lt;span style="font-size:85%;"&gt;         A popular use case for RAP is the development of rich clients and web         clients from a single code base, also called “Single Sourcing”.       &lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:85%;"&gt;         Application vendors are increasingly required to provide both desktop         and web clients for their customers.         But these platforms are based on very different technologies which         generally demand different programming paradigms and skills that make         it difficult to reuse code.         The need for specialized development skills and for implementing the         same thing twice increases the cost of production without adding         substantial value to the project.       &lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:85%;"&gt;         The Rich Ajax Platform (RAP) was designed to address exactly these         problems for the Eclipse world.         RAP allows Java and Eclipse developers to reuse their         existing skills through a Java-based development model for web-clients.         Furthermore, RAP maximizes code reuse by including the largest-possible         web-enabled subset of the Rich Client Platform.       &lt;/span&gt;&lt;/p&gt;     &lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.eclipse.org/rap/introduction.php"&gt;http://www.eclipse.org/rap/introduction.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/library/os-eclipse-richajax1/index.html"&gt;http://www.ibm.com/developerworks/library/os-eclipse-richajax1/index.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5316209396689645546?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.eclipse.org/rap/introduction.php' title='Eclipse RAP'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5316209396689645546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5316209396689645546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5316209396689645546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5316209396689645546'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/02/eclipse-rap.html' title='Eclipse RAP'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4967900522683111131</id><published>2010-02-06T07:45:00.000-08:00</published><updated>2010-02-09T23:15:22.768-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vaadin'/><title type='text'>Vaadin</title><content type='html'>Vaadin is a server-side Ajax web application development framework that allows you to build web applications just like with traditional desktop frameworks, such as AWT or Swing. This DZone Refcard povides an indepth introduction to Vaadin including: Creating an Application, Components, Data Binding, Widget Project Structure, and more.&lt;br /&gt;&lt;br /&gt;Features of Vaadin - &lt;a href="http://vaadin.com/features"&gt;http://vaadin.com/features&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Vaadin Comparison - &lt;a href="http://vaadin.com/comparison"&gt;http://vaadin.com/comparison&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hello World in Vaadin - &lt;a href="http://vaadin.com/book/-/page/intro.walkthrough.html"&gt;http://vaadin.com/book/-/page/intro.walkthrough.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Setting up application environment - &lt;a href="http://vaadin.com/book/-/page/application.environment.html"&gt;http://vaadin.com/book/-/page/application.environment.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Good guide for beginners - &lt;a href="http://vaadin.com/book/-/page/getting-started.first-project.html"&gt;http://vaadin.com/book/-/page/getting-started.first-project.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4967900522683111131?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://vaadin.com/home' title='Vaadin'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4967900522683111131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4967900522683111131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4967900522683111131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4967900522683111131'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2010/02/vaadin.html' title='Vaadin'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1867623662703260431</id><published>2009-11-11T19:14:00.000-08:00</published><updated>2009-11-11T19:20:27.024-08:00</updated><title type='text'>Why Prepared Statements are important and how to use them "properly"</title><content type='html'>&lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=Prepared-Statments"&gt;http://www.theserverside.com/tt/articles/article.tss?l=Prepared-Statments&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;..... &lt;br /&gt;How does a database execute a statement?&lt;br /&gt;Obviously, don't expect alot of detail here; we'll only examine the aspects important to this article. When a database receives a statement, the database engine first parses the statement and looks for syntax errors. Once the statement is parsed, the database needs to figure out the most efficient way to execute the statement. This can be computationally quite expensive. The database checks what indexes, if any, can help, or whether it should do a full read of all rows in a table. Databases use statistics on the data to figure out what is the best way. Once the query plan is created then it can be executed by the database engine. &lt;br /&gt;&lt;br /&gt;It takes CPU power to do the access plan generation. Ideally, if we send the same statement to the database twice, then we'd like the database to reuse the access plan for the first statement. This uses less CPU than if it regenerated the plan a second time.  &lt;br /&gt;....&lt;br /&gt;When the J2EE server gives your application a connection, it isn't giving you the actual connection; you're getting a wrapper. You can verify this by looking at the name of the class for the connection you are given. It won't be a database JDBC connection, it'll be a class created by your application server. Normally, if you called close on a connection then the jdbc driver closes the connection. We want the connection to be returned to the pool when close is called by a J2EE application. We do this by making a proxy jdbc connection class that looks like a real connection. It has a reference to the actual connection. When we invoke any method on the connection then the proxy forwards the call to the real connection. But, when we call methods such as close instead of calling close on the real connection, it simply returns the connection to the connection pool and then marks the proxy connection as invalid so that if it is used again by the application we'll get an exception. &lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1867623662703260431?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/tt/articles/article.tss?l=Prepared-Statments' title='Why Prepared Statements are important and how to use them &quot;properly&quot;'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1867623662703260431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1867623662703260431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1867623662703260431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1867623662703260431'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/11/why-prepared-statements-are-important.html' title='Why Prepared Statements are important and how to use them &quot;properly&quot;'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1289861275761956611</id><published>2009-11-04T00:30:00.000-08:00</published><updated>2009-11-04T00:31:31.849-08:00</updated><title type='text'>Import/Export keys preferences in Eclipse</title><content type='html'>Export preferences using : File -&gt; Export -&gt; Preferences -&gt;"Choose Specific Preferences to Export" &amp; choose "Keys Preferences"&lt;br /&gt;&lt;br /&gt;You import the preferences file into your new workspace using File-&gt;Import -&gt; Preferences.&lt;br /&gt;&lt;br /&gt;See "Save your Shortcuts" section -&lt;a href="http://robertmarkbramprogrammer.blogspot.com/2007/07/eclipse-shortcuts.html"&gt; http://robertmarkbramprogrammer.blogspot.com/2007/07/eclipse-shortcuts.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1289861275761956611?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1289861275761956611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1289861275761956611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1289861275761956611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1289861275761956611'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/11/importexport-keys-preferences-in.html' title='Import/Export keys preferences in Eclipse'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-8033298046366995480</id><published>2009-11-03T22:37:00.000-08:00</published><updated>2009-11-03T22:46:58.909-08:00</updated><title type='text'>Generate Java Beans from Database</title><content type='html'>&lt;a href="http://wiki.netbeans.org/DevFaqAppClientOnNbPlatformTut"&gt;http://wiki.netbeans.org/DevFaqAppClientOnNbPlatformTut&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1) Create an Enterprise Application Project (with Application Client and EJB module) in Netbeans&lt;br /&gt;2) Right click on ejb project in Project tab and select New -&gt; Entity Classes From Database. In wizard chose as datasource jdbc/sample datasource and select the tables that need the entity beans.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-8033298046366995480?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.netbeans.org/DevFaqAppClientOnNbPlatformTut' title='Generate Java Beans from Database'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/8033298046366995480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=8033298046366995480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8033298046366995480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8033298046366995480'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/11/generate-java-beans-from-database.html' title='Generate Java Beans from Database'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7652140258494614151</id><published>2009-11-03T03:40:00.000-08:00</published><updated>2009-11-03T03:43:30.705-08:00</updated><title type='text'>Using the Spring Framework with the Teradata Plug-in for Eclipse</title><content type='html'>&lt;a href="http://developer.teradata.com/tools/articles/using-the-spring-framework-with-the-teradata-plug-in-for-eclipse"&gt;&lt;span style="font-size:85%;"&gt;http://developer.teradata.com/tools/articles/using-the-spring-framework-with-the-teradata-plug-in-for-eclipse&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;This will be a series of articles explaining how the &lt;/span&gt;&lt;a href="http://www.springsource.org/"&gt;&lt;span style="font-size:85%;"&gt;Spring framework&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; can be used with the Teradata Plug-in for Eclipse to create a data access layer for your &lt;/span&gt;&lt;a href="http://developer.teradata.com/applications/articles/the-friday-night-project-2-solid-architecture"&gt;&lt;span style="font-size:85%;"&gt;business services&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. The Java Bean Wrapper wizard  allows the user to quickly generate a Java Bean class for a given SQL statement  or stored procedure. Also the Wizard has an option to generate a Java Bean which&lt;br /&gt;can be run with the Spring Data Access Object (DAO) framework. By calling a  generated Java Bean from a DAO, the Bean will have access to the Spring  transaction management. Also the Java Wrapper Beans are reusable components  which could be used in different DAOs. The Bean Helper Classes can be used as Spring domain objects. Also the Bean will facilitate the support of OUT&lt;br /&gt;parameters for stored procedures and multiple result sets inside of a Spring  DAO.&lt;br /&gt;This article will show how to setup a project that uses Spring DAOs with  the Teradata Plug-in for Eclipse. This article will also show how to create Java  Bean Wrapper classes that can be called from a Spring DAO using the Java Bean  Wrapper Wizard.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.teradata.com/tools/articles/getting-started-with-teradata-plug-in-for-eclipse"&gt;http://developer.teradata.com/tools/articles/getting-started-with-teradata-plug-in-for-eclipse&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7652140258494614151?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://developer.teradata.com/tools/articles/using-the-spring-framework-with-the-teradata-plug-in-for-eclipse' title='Using the Spring Framework with the Teradata Plug-in for Eclipse'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7652140258494614151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7652140258494614151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7652140258494614151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7652140258494614151'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/11/using-spring-framework-with-teradata.html' title='Using the Spring Framework with the Teradata Plug-in for Eclipse'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4135249513740010172</id><published>2009-10-28T22:20:00.000-07:00</published><updated>2009-10-28T22:26:58.518-07:00</updated><title type='text'>Registry Problems - Double clicking a folder opens in new window</title><content type='html'>&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Why drive opens in new window?&lt;/strong&gt;&lt;br /&gt;It happens when a program or virus tries to edit the File Folder or Drive shell entries to add more context menu items and set them as default for double click action.&lt;br /&gt;&lt;br /&gt;Read more: http://www.troublefixers.com/drive-opens-in-new-window-on-double-click-in-windows-xp/#ixzz0VIcluuP9&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Lets see how we can fix this.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Fix:&lt;br /&gt;&lt;br /&gt;First Method:&lt;br /&gt;1. Open Start &gt;&gt; Run and type regsvr32 /i shell32.dll&lt;br /&gt;2. press ok&lt;br /&gt;3. You will see a message DllRegisterServer and DllInstall in shell32.dll succeeded&lt;br /&gt;4. that’s it&lt;br /&gt;&lt;br /&gt;Second Method:&lt;br /&gt;1. Open Start &gt;&gt; Run and type regedit&lt;br /&gt;2. Navigate to HKEY_CLASSES_ROOT/Directory/Shell&lt;br /&gt;3. Double click the default key type none and press ok.&lt;br /&gt;4. now navigate to HKEY_CLASSES_ROOT/Drive/Shell.&lt;br /&gt;5. Double click the default key type none and press ok.&lt;br /&gt;&lt;br /&gt;Third Method:&lt;br /&gt;If you don’t want to play with the registry ,you can run the following command instead at&lt;br /&gt;Run Prompt: ( Open Start &gt;&gt; Run )&lt;br /&gt;“reg add hkcr\drive\shell /ve /d none /f” (without double quotes)&lt;br /&gt;We hope at least one of the above method may work for you to fix the trouble, if not please let us know.&lt;br /&gt;&lt;br /&gt;Just compiled a registry tweak, so if none of the above given methods works for you, then try downloading this registry file from &lt;a href="http://troublefixers.com/wp-content/uploads/Miscellaneous/Open_in_Same_Window.reg"&gt;here(&lt;/a&gt;&lt;a href="http://troublefixers.com/wp-content/uploads/Miscellaneous/Open_in_Same_Window.reg"&gt;http://troublefixers.com/wp-content/uploads/Miscellaneous/Open_in_Same_Window.reg&lt;/a&gt;&lt;a href="http://troublefixers.com/wp-content/uploads/Miscellaneous/Open_in_Same_Window.reg"&gt;)  &lt;/a&gt;and merge it into your registry by double clicking the file.&lt;br /&gt;After merging the registry file you may need to restart your system, so that the changes can reflect&lt;br /&gt;Note: If still after following the above you are not able to solve the problem then update your antivirus and run a complete scan and make your system virus free. Click here to scan with&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Read more: http://www.troublefixers.com/drive-opens-in-new-window-on-double-click-in-windows-xp/#ixzz0VIdEgVTR &lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4135249513740010172?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.troublefixers.com/drive-opens-in-new-window-on-double-click-in-windows-xp/' title='Registry Problems - Double clicking a folder opens in new window'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4135249513740010172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4135249513740010172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4135249513740010172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4135249513740010172'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/10/registry-problems-double-clicking.html' title='Registry Problems - Double clicking a folder opens in new window'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-838214951709146123</id><published>2009-10-28T03:19:00.001-07:00</published><updated>2009-10-28T03:23:19.060-07:00</updated><title type='text'>Architecture Diagrams (Oracle vs Microsoft)</title><content type='html'>Oracle Server Architecture -&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_St97abwyTVc/Suga3zP95YI/AAAAAAAAAOg/YeNkxgpLfJM/s1600-h/oracle_server_arch.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5397593699355846018" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 294px" alt="" src="http://3.bp.blogspot.com/_St97abwyTVc/Suga3zP95YI/AAAAAAAAAOg/YeNkxgpLfJM/s400/oracle_server_arch.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Longhorn Architecture -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_St97abwyTVc/SugbYEvHS7I/AAAAAAAAAOw/Ra_IGJcO1Lk/s1600-h/LHArch.PDC2003.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5397594253805702066" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 238px" alt="" src="http://2.bp.blogspot.com/_St97abwyTVc/SugbYEvHS7I/AAAAAAAAAOw/Ra_IGJcO1Lk/s400/LHArch.PDC2003.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-838214951709146123?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/838214951709146123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=838214951709146123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/838214951709146123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/838214951709146123'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/10/architecture-diagrams-oracle-vs.html' title='Architecture Diagrams (Oracle vs Microsoft)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_St97abwyTVc/Suga3zP95YI/AAAAAAAAAOg/YeNkxgpLfJM/s72-c/oracle_server_arch.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7284029312651782315</id><published>2009-10-21T23:02:00.000-07:00</published><updated>2009-10-21T23:06:03.995-07:00</updated><title type='text'>Intellij Open Sourced</title><content type='html'>Intellij is now open sourced - &lt;a href="http://www.jetbrains.com/idea/nextversion/free_java_ide.html"&gt;http://www.jetbrains.com/idea/nextversion/free_java_ide.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Of course we need to understand the difference between the community edition &amp; the regular edition - &lt;a href="http://www.jetbrains.com/idea/nextversion/editions_comparison_matrix.html"&gt;http://www.jetbrains.com/idea/nextversion/editions_comparison_matrix.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7284029312651782315?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jetbrains.com/idea/nextversion/free_java_ide.html' title='Intellij Open Sourced'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7284029312651782315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7284029312651782315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7284029312651782315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7284029312651782315'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/10/intellij-open-sourced.html' title='Intellij Open Sourced'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6369506947175998190</id><published>2009-10-06T23:28:00.000-07:00</published><updated>2009-10-06T23:29:17.334-07:00</updated><title type='text'>Wicket &amp; Eclipse (using Maven)</title><content type='html'>&lt;a href="http://www.ralfebert.de/blog/wicket/wicket_eclipse_setup/"&gt;http://www.ralfebert.de/blog/wicket/wicket_eclipse_setup/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also see - &lt;a href="http://m2eclipse.sonatype.org/"&gt;http://m2eclipse.sonatype.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6369506947175998190?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ralfebert.de/blog/wicket/wicket_eclipse_setup/' title='Wicket &amp; Eclipse (using Maven)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6369506947175998190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6369506947175998190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6369506947175998190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6369506947175998190'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/10/wicket-eclipse-using-maven.html' title='Wicket &amp; Eclipse (using Maven)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-513948290019755603</id><published>2009-10-06T23:17:00.000-07:00</published><updated>2009-10-06T23:28:14.914-07:00</updated><title type='text'>Excellent Article on HashMaps (Oracle Website)</title><content type='html'>&lt;div&gt;Excellent article on Hashmaps (and implementation)&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/pub/articles/maps1.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.oracle.com/technology/pub/articles/maps1.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Hashing Internals: Hash Mapping Technique&lt;br /&gt;Almost all the general purpose Maps use hash mapping. This is quite a simple mechanism for mapping elements into an array, and it is worth understanding how hash mapping works so that you can get the best out of your Maps. &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Hash map structures consist of an internal array where elements are stored. Since the internal&lt;br /&gt;storage is an array, clearly there must be a mechanism for determining an index into the array for an arbitrary key. In fact, the mechanism needs to give an integer index value which is smaller than the size of the array. This mechanism is called the hash function. In Java hashed based Maps, the hash function converts any object into an integer that fits into the internal array. You don't have to look hard to find an easily available hash function: every object has a&lt;br /&gt;hashCode() method which returns an integer value. To map that value into any array, it is sufficient to convert it to a positive value and take the remainder after dividing by the array size. So here is a simple hash function for Java that works for any object &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;int hashvalue = Maths.abs(key.hashCode()) % table.length;&lt;br /&gt;(The % binary operator, known as modulo, returns the remainder as an integer after dividing the left hand side by the right hand side.)&lt;br /&gt;In fact, until the 1.4 release, this was exactly the hash function that was used by the various hash based Map classes. Though if you look in the code you will see &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;int hashvalue = (key.hashCode() &amp;amp; 0x7FFFFFFF) % table.length;&lt;br /&gt;which is essentially the same function, using a faster mechanism to get a positive&lt;br /&gt;value. From the 1.4 release, the HashMap class implementation uses a different&lt;br /&gt;and more complex hash function, based on Doug Lea's util.concurrent packages&lt;br /&gt;(I'll talk about Doug Lea's classes again in a little more detail later).&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;a name="F3"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_St97abwyTVc/Ssw0uk1PAzI/AAAAAAAAAOY/5KKxlfAWnX0/s1600-h/jave_maps.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5389740828821226290" style="WIDTH: 233px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://4.bp.blogspot.com/_St97abwyTVc/Ssw0uk1PAzI/AAAAAAAAAOY/5KKxlfAWnX0/s400/jave_maps.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Figure 3: How hashing works&lt;br /&gt;So that gives the basic groundwork for hash mapping, but we haven't quite taken care of everything. Our hash function maps an arbitrary object into an array location, but what happens if two different keys map to the same location? Nothing prevents that from occurring. In the parlance of hash mapping, this is called a collision. The way the maps deal with these collisions is to insert a linked list at the index location, and simply add elements to the linked list. So a basic put() method for a hash based Map could look like this public Object put(Object key, Object value) {&lt;br /&gt;//Our internal array is an array of Entry objects&lt;br /&gt;//Entry[] table;&lt;br /&gt;//Get the hashcode, and map to an index&lt;br /&gt;int hash = key.hashCode();&lt;br /&gt;int index = (hash &amp;amp; 0x7FFFFFFF) %&lt;br /&gt;table.length;&lt;br /&gt;//Loop through the linked list at table[index] to see if&lt;br /&gt;//we already have this key entry — and if so overwrite it&lt;br /&gt;for (Entry e = table[index] ; e != null ; e = e.next) {&lt;br /&gt;//Must check that the key is equal, since the hash could be the same for different key objects &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;if ((e.hash == hash) &amp;amp;&amp;amp; e.key.equals(key)) {&lt;br /&gt;//This is the same key, overwrite the value and keep the old value to return from the method&lt;br /&gt;Object old = e.value;&lt;br /&gt;e.value = value;&lt;br /&gt;return&lt;br /&gt;old;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;//Still here, so it's a new key, just add a new Entry An Entry object has Object "key" and value", &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;//an int "hash", and an Entry "next" to point to the next Entry in the list&lt;br /&gt;//Create a new Entry pointing to the start of the previous&lt;br /&gt;//list, and insert that new Entry into the table&lt;br /&gt;Entry e = new Entry(hash, key, value, table[index]);&lt;br /&gt;table[index] = e;&lt;br /&gt;return null;&lt;br /&gt;}&lt;br /&gt;If you look at the source for various hash based Map's you'll see this is pretty much how they work. There are some further considerations, like handling null keys and values, and re-sizing the internal array. The put() method defined here also includes the algorithm for the corresponding get(), since the insertion includes searching the entries at the mapped index to see if the key is already present. (I.e. the get() method is the same algorithm as the put(), but without the insertion and overwite code.) Using a linked list is not the only way to handle collisions, and some of the hash maps use another "open addressing" scheme which I won't go into here. &lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Using Load Factors&lt;br /&gt;In order to decide when to re-size, rather than keep a count of the depth of linked list in each bucket, the hash based Maps use an extra parameter and a rough calculation of how densely packed the buckets are. The Maps use a parameter called "load factor" which indicates how much "load" the Map will take, i.e. how full it will get, before it resizes. &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;The relationship between load factor, number of entries (map size), and the&lt;br /&gt;capacity is straightforward:&lt;br /&gt;When (load factor) x (capacity) &gt; (map size), then the map will be re-sized&lt;br /&gt;So, for example, if the default load factor is 0.75, and the default capacity is 11, then 11 x 0.75 = 8.25, which is rounded down to 8 elements. So when we add the eighth entry to this Map, the Map will re-size itself to a larger value. Conversely, to calculate what initial capacity you need in order to avoid re-sizing, divide the number of entries you will make by the load factor and round up, e.g.&lt;br /&gt;For 100 entries with load factor of 0.75, then capacity should be set to 100/0.75 = 133.33, rounded up to 134 (or 135 to use an odd number)&lt;br /&gt;Buckets sizes that are odd numbers should let the map perform more efficiently by reducing the number of collisions. Ideally prime numbers should be used for capacities, though tests I've made don't show prime numbers producing consistently better times (&lt;/em&gt;&lt;/span&gt;&lt;a href="http://www.oracle.com/technology/pub/listings/Jack_Test4.java"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Test4&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt; in the associated files). Some Maps since the 1.4 release (e.g. HashMap and LinkedHashMap but not Hashtable or&lt;br /&gt;IdentityHashMap) use a hash function that needs powers-of-two capacities, but the next highest power-of-two capacity is automatically calculated by those Maps so you don't need to try and calculate it yourself. The load factor itself is a tuning tradeoff between space and time. Smaller load factors will take more space but will reduce the likelihood of collisions, thus making access and updates faster. Load factors above 0.75 are probably unwise, and above 1.0 are definitely unwise since that guarantees at least one collision. Load factors below 0.50 will give you diminishing returns, but there should be no performance cost to small load factors as long as you size the map effectively, only a memory cost. But smaller load factors will imply more frequent resizing if you don't pre-size the Map, and that will incur a performance penalty, so do bear&lt;br /&gt;that in mind if you are tuning the load factor. &lt;/span&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-513948290019755603?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.oracle.com/technology/pub/articles/maps1.html' title='Excellent Article on HashMaps (Oracle Website)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/513948290019755603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=513948290019755603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/513948290019755603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/513948290019755603'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/10/excellent-article-on-hashmaps-oracle.html' title='Excellent Article on HashMaps (Oracle Website)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_St97abwyTVc/Ssw0uk1PAzI/AAAAAAAAAOY/5KKxlfAWnX0/s72-c/jave_maps.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-803730516851969730</id><published>2009-10-06T21:22:00.002-07:00</published><updated>2009-10-06T21:24:25.767-07:00</updated><title type='text'>Setting up Wicket in Netbeans 6.7</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Get the plugin in here - &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=3586"&gt;http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=3586&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Next follow the below tutorials -&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.netbeans.org/kb/docs/web/quickstart-webapps-wicket.html"&gt;http://www.netbeans.org/kb/docs/web/quickstart-webapps-wicket.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.netbeans.org/kb/55/quickstart-wicket-in-netbeans.html"&gt;http://www.netbeans.org/kb/55/quickstart-wicket-in-netbeans.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://wicketinaction.com/2009/01/a-dummys-guide-to-wicket-on-netbeans-tv/"&gt;http://wicketinaction.com/2009/01/a-dummys-guide-to-wicket-on-netbeans-tv/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-803730516851969730?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=3586' title='Setting up Wicket in Netbeans 6.7'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/803730516851969730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=803730516851969730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/803730516851969730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/803730516851969730'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/10/setting-up-wicket-in-netbeans-67.html' title='Setting up Wicket in Netbeans 6.7'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6553380140389230444</id><published>2009-09-16T03:15:00.000-07:00</published><updated>2009-09-16T03:22:05.521-07:00</updated><title type='text'>Migrating to Apache Wicket – GIDS presentation slides</title><content type='html'>&lt;blockquote&gt;&lt;blockquote&gt;&lt;a href="http://ptrthomas.files.wordpress.com/2008/05/peter_thomas_migrating_to_apache_wicket.pdf"&gt;&lt;/a&gt;&lt;a href="http://ptrthomas.files.wordpress.com/2008/05/peter_thomas_migrating_to_apache_wicket.pdf"&gt;&lt;/blockquote&gt;&lt;p&gt;http://ptrthomas.files.wordpress.com/2008/05/peter_thomas_migrating_to_apache_wicket.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A very interesting presentation. I liked Thomas style of explanaing things with concrete examples and the comparison of other technologies with Wicket.&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6553380140389230444?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ptrthomas.wordpress.com/2008/05/26/migrating-to-apache-wicket-presentation-slides/' title='Migrating to Apache Wicket – GIDS presentation slides'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6553380140389230444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6553380140389230444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6553380140389230444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6553380140389230444'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/09/migrating-to-apache-wicket-gids.html' title='Migrating to Apache Wicket – GIDS presentation slides'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-220446844374227745</id><published>2009-09-16T02:00:00.000-07:00</published><updated>2009-09-16T02:04:23.514-07:00</updated><title type='text'>Wicket with Spring</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://ptrthomas.wordpress.com/2007/03/02/wicket-impressions-moving-from-spring-mvc-webflow/"&gt;http://ptrthomas.wordpress.com/2007/03/02/wicket-impressions-moving-from-spring-mvc-webflow/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wicketstuff.org/wicket13/spring/"&gt;http://wicketstuff.org/wicket13/spring/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forum.springsource.org/showthread.php?t=19123"&gt;http://forum.springsource.org/showthread.php?t=19123&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wicket-library.com/wicket-examples/spring/"&gt;http://www.wicket-library.com/wicket-examples/spring/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ptrthomas.wordpress.com/2007/05/14/a-wicket-user-tries-jsf/"&gt;http://ptrthomas.wordpress.com/2007/05/14/a-wicket-user-tries-jsf/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-220446844374227745?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/220446844374227745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=220446844374227745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/220446844374227745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/220446844374227745'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/09/wicket-with-spring.html' title='Wicket with Spring'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7437851180577122830</id><published>2009-09-14T01:00:00.000-07:00</published><updated>2009-09-14T01:01:14.459-07:00</updated><title type='text'>Spring MVC Fast Tutorial</title><content type='html'>A very good tutorial on Spring - &lt;a href="http://maestric.com/doc/java/spring"&gt;http://maestric.com/doc/java/spring&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7437851180577122830?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://maestric.com/doc/java/spring' title='Spring MVC Fast Tutorial'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7437851180577122830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7437851180577122830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7437851180577122830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7437851180577122830'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/09/spring-mvc-fast-tutorial.html' title='Spring MVC Fast Tutorial'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7827827310091479588</id><published>2009-09-14T00:30:00.000-07:00</published><updated>2009-09-14T00:31:16.762-07:00</updated><title type='text'>Comparison of Java Web Frameworks</title><content type='html'>&lt;span style="font-size:85%;"&gt;Comparison of - JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket&lt;/span&gt;&lt;br /&gt;&lt;a href="http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks-OSCON2007.pdf"&gt;http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks-OSCON2007.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7827827310091479588?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks-OSCON2007.pdf' title='Comparison of Java Web Frameworks'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7827827310091479588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7827827310091479588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7827827310091479588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7827827310091479588'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/09/comparison-of-java-web-frameworks.html' title='Comparison of Java Web Frameworks'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3884966396073613163</id><published>2009-09-10T02:55:00.000-07:00</published><updated>2009-09-10T02:59:16.575-07:00</updated><title type='text'>Apache Wicket</title><content type='html'>&lt;span style="font-size:85%;"&gt;Good links to Getting started with Apache Wicket - &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.theserverside.com/tt/articles/content/IntroducingApacheWicket/article.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.theserverside.com/tt/articles/content/IntroducingApacheWicket/article.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cwiki.apache.org/WICKET/windows-guide-to-installing-wicket-on-eclipse-with-maven.html"&gt;&lt;span style="font-size:85%;"&gt;http://cwiki.apache.org/WICKET/windows-guide-to-installing-wicket-on-eclipse-with-maven.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mkyong.com/wicket/how-do-setup-wicket-examples-in-eclipse/"&gt;&lt;span style="font-size:85%;"&gt;http://www.mkyong.com/wicket/how-do-setup-wicket-examples-in-eclipse/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ensode.net/wicket_first_look.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.ensode.net/wicket_first_look.html&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3884966396073613163?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wicket.apache.org/' title='Apache Wicket'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3884966396073613163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3884966396073613163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3884966396073613163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3884966396073613163'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/09/apache-wicket.html' title='Apache Wicket'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6293938515845419567</id><published>2009-09-01T02:10:00.000-07:00</published><updated>2009-09-01T02:12:19.548-07:00</updated><title type='text'>How NTFS Works</title><content type='html'>How NTFS Works - &lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx"&gt;http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6293938515845419567?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx' title='How NTFS Works'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6293938515845419567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6293938515845419567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6293938515845419567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6293938515845419567'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/09/how-ntfs-works.html' title='How NTFS Works'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7830837171829838543</id><published>2009-08-03T02:39:00.001-07:00</published><updated>2009-08-03T02:40:44.455-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sequence diagram'/><category scheme='http://www.blogger.com/atom/ns#' term='reverse engineering'/><title type='text'>Generating Sequence Diagrams for Java Classes</title><content type='html'>&lt;a href="http://mrhaki.blogspot.com/2009/03/connect-lifelines-in-uml-sequence.html"&gt;&lt;span style="font-size:85%;"&gt;http://mrhaki.blogspot.com/2009/03/connect-lifelines-in-uml-sequence.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/jtracert/"&gt;&lt;span style="font-size:85%;"&gt;http://code.google.com/p/jtracert/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7830837171829838543?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7830837171829838543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7830837171829838543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7830837171829838543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7830837171829838543'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/08/sequence-diagrams-for-java-classes.html' title='Generating Sequence Diagrams for Java Classes'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-361636553923380314</id><published>2009-07-24T03:15:00.000-07:00</published><updated>2009-07-24T03:32:59.573-07:00</updated><title type='text'>Grails</title><content type='html'>&lt;a href="http://www.google.com/search?q=grails+tutorial&amp;amp;sourceid=ie7&amp;amp;rls=com.microsoft:en-US&amp;amp;ie=utf8&amp;amp;oe=utf8"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.google.com/search?q=grails+tutorial&amp;amp;sourceid=ie7&amp;amp;rls=com.microsoft:en-US&amp;amp;ie=utf8&amp;amp;oe=utf8&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.grails.org/Tutorials"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.grails.org/Tutorials&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.vogella.de/articles/Grails/article.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.vogella.de/articles/Grails/article.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.openmind.ws/2009/06/10/grails-layouts-with-sitemesh/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://blog.openmind.ws/2009/06/10/grails-layouts-with-sitemesh/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.syger.it/Tutorials/GrailsWebAlbum.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.syger.it/Tutorials/GrailsWebAlbum.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.grails.org/Eclipse+IDE+Integration"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.grails.org/Eclipse+IDE+Integration&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ibm.com/developerworks/java/library/j-grails01158/index.html?S_TACT=105AGX02&amp;amp;S_CMP=EDU"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.ibm.com/developerworks/java/library/j-grails01158/index.html?S_TACT=105AGX02&amp;amp;S_CMP=EDU&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://josh-in-antarctica.blogspot.com/2008/04/writing-simple-issue-tracker-in-grails.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://josh-in-antarctica.blogspot.com/2008/04/writing-simple-issue-tracker-in-grails.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://josh-in-antarctica.blogspot.com/2008/05/writing-simple-issue-tracker-in-grails.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://josh-in-antarctica.blogspot.com/2008/05/writing-simple-issue-tracker-in-grails.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ibm.com/developerworks/java/library/j-grails01209/index.html?S_TACT=105AGX02&amp;amp;S_CMP=EDU"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.ibm.com/developerworks/java/library/j-grails01209/index.html?S_TACT=105AGX02&amp;amp;S_CMP=EDU&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.grails.org/plugin/form-helper"&gt;http://www.grails.org/plugin/form-helper&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.grails.org/plugin/grails-ui"&gt;http://www.grails.org/plugin/grails-ui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.opengalen.org/tutorials/grail/tutorial51.html"&gt;http://www.opengalen.org/tutorials/grail/tutorial51.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.grails.org/plugin/richui"&gt;http://www.grails.org/plugin/richui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.ibm.com/developerworks/web/library/j-grails03118/index.html"&gt;http://www.ibm.com/developerworks/web/library/j-grails03118/index.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.grailstutorials.com/tagging/list/gsp?selectedTag=gsp"&gt;http://www.grailstutorials.com/tagging/list/gsp?selectedTag=gsp&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.grails.org/NetBeans+Integration"&gt;http://www.grails.org/NetBeans+Integration&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://groovy.codehaus.org/Documentation"&gt;http://groovy.codehaus.org/Documentation&lt;/a&gt;&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-361636553923380314?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/361636553923380314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=361636553923380314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/361636553923380314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/361636553923380314'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/07/grails.html' title='Grails'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3054453783329764738</id><published>2009-07-09T23:29:00.000-07:00</published><updated>2009-07-09T23:34:51.687-07:00</updated><title type='text'>Java - Program to Interfaces</title><content type='html'>* &lt;a href="http://www.artima.com/lejava/articles/designprinciples.html"&gt;Design Principles from Design Patterns A Conversation with Erich Gamma, Part III&lt;/a&gt; - http://www.artima.com/lejava/articles/designprinciples.html&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://pragmaticjava.blogspot.com/2008/08/program-to-interface-not-implementation.html"&gt;Program to an interface, not an implementation&lt;/a&gt; - http://pragmaticjava.blogspot.com/2008/08/program-to-interface-not-implementation.html&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.codestyle.org/java/faq-Interface.shtml"&gt;Java interface design FAQ &lt;/a&gt; - http://www.codestyle.org/java/faq-Interface.shtml&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.javaworld.com/javaworld/jw-08-1999/jw-08-interfaces.html"&gt;Smarter Java development&lt;/a&gt; - http://www.javaworld.com/javaworld/jw-08-1999/jw-08-interfaces.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3054453783329764738?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3054453783329764738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3054453783329764738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3054453783329764738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3054453783329764738'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/07/java-program-to-interfaces.html' title='Java - Program to Interfaces'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5193959642380049518</id><published>2009-07-06T22:59:00.001-07:00</published><updated>2009-07-06T22:59:54.980-07:00</updated><title type='text'>Developing Eclipse Plugins</title><content type='html'>&lt;a href="http://www.vogella.de/eclipse.html"&gt;http://www.vogella.de/eclipse.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5193959642380049518?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.vogella.de/eclipse.html' title='Developing Eclipse Plugins'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5193959642380049518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5193959642380049518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5193959642380049518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5193959642380049518'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/07/developing-eclipse-plugins.html' title='Developing Eclipse Plugins'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6196324923815963582</id><published>2009-07-06T22:54:00.001-07:00</published><updated>2009-07-06T22:58:42.518-07:00</updated><title type='text'>Netbeans &amp; Databases</title><content type='html'>This document demonstrates how to set up a connection to Sun's Java DB  (which is based on the Apache Derby  database) in NetBeans IDE. Once a connection is made, you can begin working with the database in the IDE, allowing you to create tables, populate them with data, run SQL queries, and more.&lt;br /&gt;&lt;br /&gt;The Java DB database is Sun's supported distribution of Apache Derby. Java DB is a fully transactional, secure, standards-based database server, written entirely in Java, and fully supports SQL, JDBC API, and Java EE technology. The Java DB database is packaged with the Sun Java System Application Server 9.0, Platform Edition, and is now included in JDK 6 as well.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/55/derby-demo.html"&gt;Working with the Java DB (Derby) Database in NetBeans IDE&lt;/a&gt; - http://www.netbeans.org/kb/55/derby-demo.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6196324923815963582?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org/kb/55/derby-demo.html' title='Netbeans &amp; Databases'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6196324923815963582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6196324923815963582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6196324923815963582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6196324923815963582'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/07/netbeans-databases.html' title='Netbeans &amp; Databases'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4091678153111387914</id><published>2009-05-15T06:50:00.000-07:00</published><updated>2009-05-15T06:54:27.679-07:00</updated><title type='text'>JavaTM Architecture for XML Binding Using XJC with Ant (RI 2.0)</title><content type='html'>&lt;a href="https://jaxb.dev.java.net/nonav/2.0.2/docs/xjcTask.html"&gt;https://jaxb.dev.java.net/nonav/2.0.2/docs/xjcTask.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The jaxb-xjc.jar file contains the XJCTask.class file, which allows the XJC binding compiler to be invoked from the Ant build tool. To use XJCTask, include the following statement in your build.xml file:&lt;br /&gt;&lt;br /&gt;&lt;taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask"&gt;&lt;br /&gt;  &lt;classpath&gt;&lt;br /&gt;    &lt;fileset dir="path/to/jaxb/lib" includes="*.jar" /&gt;&lt;br /&gt;  &lt;/classpath&gt;&lt;br /&gt;&lt;/taskdef&gt;&lt;br /&gt;&lt;br /&gt;This maps XJCTask to an Ant task named xjc. For detailed examples of using this task, refer to any of the build.xml files used by the &lt;span style="font-style:italic;"&gt;sample applications&lt;a href="https://jaxb.dev.java.net/nonav/2.0.2/docs/samples.html"&gt;&lt;/a&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Older Version (RI 1.0.5) - &lt;a href="http://java.sun.com/webservices/docs/1.6/jaxb/ant.html"&gt;http://java.sun.com/webservices/docs/1.6/jaxb/ant.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4091678153111387914?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://jaxb.dev.java.net/nonav/2.0.2/docs/xjcTask.html' title='JavaTM Architecture for XML Binding Using XJC with Ant (RI 2.0)'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4091678153111387914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4091678153111387914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4091678153111387914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4091678153111387914'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/05/javatm-architecture-for-xml-binding.html' title='JavaTM Architecture for XML Binding Using XJC with Ant (RI 2.0)'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-520073421485700667</id><published>2009-05-11T21:05:00.000-07:00</published><updated>2009-05-11T21:08:38.804-07:00</updated><title type='text'>Converting a Java project to a Dynamic Web project in Eclipse</title><content type='html'>&lt;span style="font-style:italic;"&gt;To convert a Java Project to a Web Project switch to or open the Resource Perspective of the project, in the root of the project. Open the .project file and make sure the builders and natures are present that are needed for a web project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://eclipse.dzone.com/tips/converting-java-project-dynami"&gt;http://eclipse.dzone.com/tips/converting-java-project-dynami&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-520073421485700667?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://eclipse.dzone.com/tips/converting-java-project-dynami' title='Converting a Java project to a Dynamic Web project in Eclipse'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/520073421485700667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=520073421485700667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/520073421485700667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/520073421485700667'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/05/converting-java-project-to-dynamic-web.html' title='Converting a Java project to a Dynamic Web project in Eclipse'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1411283383762069829</id><published>2009-05-11T21:03:00.001-07:00</published><updated>2009-05-11T21:04:44.534-07:00</updated><title type='text'>Java Servlet Filter tutorial example using Eclipse &amp; Tomcat</title><content type='html'>&lt;span style="font-style:italic;"&gt;Servlet Filters are the latest components that are added in Servlet 2.3 specifications. These filters are used basically for intercepting and modifying requests and response from server. ... &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://viralpatel.net/blogs/2009/01/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat.html"&gt;http://viralpatel.net/blogs/2009/01/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1411283383762069829?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://viralpatel.net/blogs/2009/01/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat.html' title='Java Servlet Filter tutorial example using Eclipse &amp; Tomcat'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1411283383762069829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1411283383762069829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1411283383762069829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1411283383762069829'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/05/java-servlet-filter-tutorial-example.html' title='Java Servlet Filter tutorial example using Eclipse &amp; Tomcat'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7195650112046347082</id><published>2009-04-21T08:21:00.000-07:00</published><updated>2009-04-21T08:25:10.744-07:00</updated><title type='text'>Outlook handles mutliple time zones</title><content type='html'>&lt;a href="http://support.microsoft.com/kb/195900"&gt;How outlook handles multiple time zones&lt;/a&gt; - http://support.microsoft.com/kb/195900&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.slipstick.com/calendar/timezone.asp"&gt;Outlook appointments &amp; Time zones&lt;/a&gt; - http://www.slipstick.com/calendar/timezone.asp&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=07fb0bd8-f390-458d-a629-6f0258ac7cdf&amp;Displa"&gt;Microsoft time zone tool &lt;/a&gt; - http://www.microsoft.com/downloads/details.aspx?FamilyID=07fb0bd8-f390-458d-a629-6f0258ac7cdf&amp;Displa&lt;br /&gt;&lt;br /&gt;How to enable multiple time zone display in outlook - To turn on dual time zone display, go to Tools, Options, Preferences tab, Calendar Options, Time Zone button and add a second time zone. Now when you view the calendar in a day planner format, you'll see two time scales displayed. You can right click on the scale and choose Time zones.. to change zones or swap them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7195650112046347082?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.microsoft.com/kb/195900' title='Outlook handles mutliple time zones'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7195650112046347082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7195650112046347082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7195650112046347082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7195650112046347082'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/04/outlook-handles-mutliple-time-zones.html' title='Outlook handles mutliple time zones'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4413416523111565000</id><published>2009-04-19T22:46:00.000-07:00</published><updated>2009-04-19T22:49:20.099-07:00</updated><title type='text'>Eclipse on Solaris</title><content type='html'>&lt;a href="http://eclipse.panton.com.mk/downloads/drops/R-3.2-200606291905/eclipse-SDK-3.2-solaris-gtk-x86.zip"&gt;http://eclipse.panton.com.mk/downloads/drops/R-3.2-200606291905/eclipse-SDK-3.2-solaris-gtk-x86.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.co.in/search?q=eclipse-SDK-3.2-solaris-gtk-x86.zip"&gt;http://www.google.co.in/search?q=eclipse-SDK-3.2-solaris-gtk-x86.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4413416523111565000?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://eclipse.panton.com.mk/downloads/drops/R-3.2-200606291905/eclipse-SDK-3.2-solaris-gtk-x86.zip' title='Eclipse on Solaris'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4413416523111565000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4413416523111565000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4413416523111565000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4413416523111565000'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/04/eclipse-on-solaris.html' title='Eclipse on Solaris'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7063268939102527760</id><published>2009-04-16T23:40:00.000-07:00</published><updated>2009-04-16T23:55:12.182-07:00</updated><title type='text'>Java Application as Windows Service</title><content type='html'>&lt;a href="http://commons.apache.org/daemon/"&gt;Apache Daemon &lt;/a&gt; - http://commons.apache.org/daemon/&lt;br /&gt; &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/137890"&gt;Microsoft - How To Create a User-Defined Service&lt;/a&gt; http://support.microsoft.com/kb/137890&lt;br /&gt;&lt;br /&gt;Very nice tutorial on using the Apache Daemon&lt;br /&gt;&lt;a href="http://blog.platinumsolutions.com/node/234"&gt;Java as Windows Service with Apache Commons Daemon&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7063268939102527760?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7063268939102527760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7063268939102527760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7063268939102527760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7063268939102527760'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/04/java-as-windows-service.html' title='Java Application as Windows Service'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-8652708475088360984</id><published>2009-04-14T23:06:00.000-07:00</published><updated>2009-04-14T23:07:17.802-07:00</updated><title type='text'>So beautiful, So Disturbing</title><content type='html'>Interesting write up on Vista.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-8652708475088360984?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://chalain.livejournal.com/43015.html' title='So beautiful, So Disturbing'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/8652708475088360984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=8652708475088360984' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8652708475088360984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8652708475088360984'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/04/so-beautiful-so-disturbing.html' title='So beautiful, So Disturbing'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4354084583498048837</id><published>2009-04-07T02:08:00.000-07:00</published><updated>2009-04-07T02:26:37.007-07:00</updated><title type='text'>Filters in Action</title><content type='html'>For my current work I need to modify the output of dynamic web content belonging to multiple projects &lt;br /&gt;a) Generate XML as O/P&lt;br /&gt;b) Based on user input, have default values for the current (html) content&lt;br /&gt;&lt;br /&gt;I would like to solve the problem by &lt;br /&gt;a) Not modifying the existing code (so I don't accidentally break something)&lt;br /&gt;b) Have a generic pluggable mechanism by which I can use the same code for the different projects. &lt;br /&gt;&lt;br /&gt;I can solve the above problem using a combination of filters &amp; open source HTML parser.&lt;br /&gt;&lt;br /&gt;Links - &lt;br /&gt;&lt;br /&gt;Very Good&lt;br /&gt;&lt;a href="http://java.sun.com/products/servlet/Filters.html"&gt;http://java.sun.com/products/servlet/Filters.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.di.unipi.it/~ghelli/didattica/bdl/A97329_03/web.902/a95878/filters.htm"&gt;http://www.di.unipi.it/~ghelli/didattica/bdl/A97329_03/web.902/a95878/filters.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.roseindia.net/servlets/response-filte.shtml"&gt;http://www.roseindia.net/servlets/response-filte.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orionserver.com/tutorials/filters/1.html"&gt;http://www.orionserver.com/tutorials/filters/1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html"&gt;http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://userpages.umbc.edu/~tarr/jst/lectures/M12-Filters.pdf"&gt;http://userpages.umbc.edu/~tarr/jst/lectures/M12-Filters.pdf&lt;/a&gt; (For modifying servlet/jsp output see page 30-34)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Good&lt;br /&gt;&lt;br /&gt;&lt;a href="http://viralpatel.net/blogs/2009/02/http-session-handling-tutorial-using-servlet-filters-session-error-filter-servlet-filter.html"&gt;http://viralpatel.net/blogs/2009/02/http-session-handling-tutorial-using-servlet-filters-session-error-filter-servlet-filter.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.java.happycodings.com/Java_Servlets/code27.html"&gt;http://www.java.happycodings.com/Java_Servlets/code27.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;HTML Parsers (Java Based)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jericho - A simple but powerful java library for parsing and modifying HTML documents, including analysis of abritrary HTML forms to determine the structure of submitted data.&lt;br /&gt;&lt;a href="http://jerichohtml.sourceforge.net/doc/index.html (Jericho)"&gt;http://jerichohtml.sourceforge.net/doc/index.html (Jericho)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NekoHTML is a simple HTML scanner and tag balancer that enables application programmers to parse HTML documents and access the information using standard XML interfaces. The parser can scan HTML files and "fix up" many common mistakes that human (and computer) authors make in writing HTML documents. NekoHTML adds missing parent elements; automatically closes elements with optional end tags; and can handle mismatched inline element tags.&lt;br /&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=195122&amp;package_id=230313"&gt;http://sourceforge.net/project/showfiles.php?group_id=195122&amp;package_id=230313&lt;/a&gt; (NekoHTML)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Open source HTML Parsers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java-source.net/open-source/html-parsers"&gt;http://java-source.net/open-source/html-parsers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4354084583498048837?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4354084583498048837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4354084583498048837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4354084583498048837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4354084583498048837'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/04/filters-in-action.html' title='Filters in Action'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4338238113661061950</id><published>2009-04-02T06:28:00.000-07:00</published><updated>2009-04-02T06:31:55.236-07:00</updated><title type='text'>Eclipse helps keep your Java Code Clean</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_St97abwyTVc/SdS-OC3AGAI/AAAAAAAAANY/LsHKGcBNxHE/s1600-h/eclipse_code_cleanup.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 376px;" src="http://3.bp.blogspot.com/_St97abwyTVc/SdS-OC3AGAI/AAAAAAAAANY/LsHKGcBNxHE/s400/eclipse_code_cleanup.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5320086208326408194" /&gt;&lt;/a&gt;&lt;br /&gt;Keep your Java Code clean by using the eclipse "Code Clean up" feature - http://www.ibm.com/developerworks/library/os-eclipse-clean/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4338238113661061950?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ibm.com/developerworks/library/os-eclipse-clean/index.html' title='Eclipse helps keep your Java Code Clean'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4338238113661061950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4338238113661061950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4338238113661061950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4338238113661061950'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/04/eclipse-helps-keep-your-java-code-clean.html' title='Eclipse helps keep your Java Code Clean'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_St97abwyTVc/SdS-OC3AGAI/AAAAAAAAANY/LsHKGcBNxHE/s72-c/eclipse_code_cleanup.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-3070979193729506663</id><published>2009-03-24T23:14:00.000-07:00</published><updated>2009-07-06T22:53:02.211-07:00</updated><title type='text'>Remote debugging of Tomcat with Eclipse</title><content type='html'>Create a debug.bat file in TomCat’s bin directory and add these lines.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;@echo off&lt;br /&gt;set JPDA_TRANSPORT="dt_socket"&lt;br /&gt;set JPDA_ADDRESS="8000"&lt;br /&gt;set JPDA_SUSPEND="y"&lt;br /&gt;catalina.bat jpda start&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Step 2: Add “Remote Java Application” in Eclipse’s Debug&lt;br /&gt;&lt;br /&gt;Remember to set the port number as the 1 you set in Step#1 and hits “Debug” button&lt;br /&gt;p/s: pls set your break-points before you do this remote debug configuration&lt;br /&gt;&lt;br /&gt;Step 3: Starts Tomcat&lt;br /&gt;Go to "../tomcat/bin", launch the debug.bat&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2005/08/31/eclipse-jboss-remote-debug.html?page=1"&gt;Remote Debugging (JBoss) with Eclipse&lt;/a&gt; - http://www.onjava.com/pub/a/onjava/2005/08/31/eclipse-jboss-remote-debug.html?page=1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jacoozi.com/index.php?option=com_content&amp;task=view&amp;id=119&amp;Itemid=134"&gt;Remote Debugging with Eclipse&lt;/a&gt; - http://www.jacoozi.com/index.php?option=com_content&amp;task=view&amp;id=119&amp;Itemid=134&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Requires dW login&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-javadebug/index.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Debug JAVA APPLICATIONS with ECLIPSE&lt;/a&gt; -&lt;br /&gt;http://www.ibm.com/developerworks/opensource/library/os-eclipse-javadebug/index.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt; &lt;br /&gt;&lt;a href="http://ihategeek.wordpress.com/2007/06/25/remote-debugging-with-eclipse-and-tomcat/"&gt;Remote debugging with eclipse &amp; tomcat &lt;/a&gt; - http://ihategeek.wordpress.com/2007/06/25/remote-debugging-with-eclipse-and-tomcat/&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alfredjava.wordpress.com/2008/04/24/remote-debug-tomcat-in-eclipse/"&gt;Remote Debug Tomcat in Eclipse&lt;/a&gt; - http://alfredjava.wordpress.com/2008/04/24/remote-debug-tomcat-in-eclipse/&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sebthom.de/135-running-tomcat-6-debug-mode-windows/"&gt;Running Tomcat in Debug Mode &lt;/a&gt; - http://sebthom.de/135-running-tomcat-6-debug-mode-windows/&lt;br /&gt;&lt;br /&gt;&lt;a href="http://techpitcher.com/starting-tomcat-6x-in-debug-mode.html"&gt;Starting Tomcat in Debug Mode&lt;/a&gt; - http://techpitcher.com/starting-tomcat-6x-in-debug-mode.html&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tek-tips.com/viewthread.cfm?qid=1303437&amp;page=1"&gt;How to start tomcat in debug mode&lt;/a&gt; - http://www.tek-tips.com/viewthread.cfm?qid=1303437&amp;page=1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/495993/Installing-Apache-Tomcat-6-and-Using-It-With-Eclipse"&gt;Installing Tomcat 6 &amp; using it with Eclipse &lt;/a&gt; -&lt;br /&gt;http://www.scribd.com/doc/495993/Installing-Apache-Tomcat-6-and-Using-It-With-Eclipse&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.coderanch.com/t/87454/Tomcat/configure-Tomcat-debug-mode"&gt;Configure Tomcat in debug Mode&lt;/a&gt; - http://www.coderanch.com/t/87454/Tomcat/configure-Tomcat-debug-mode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-3070979193729506663?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/3070979193729506663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=3070979193729506663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3070979193729506663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/3070979193729506663'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/remote-debugging-of-tomcat-with-eclipse.html' title='Remote debugging of Tomcat with Eclipse'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4453190302396941494</id><published>2009-03-24T07:37:00.000-07:00</published><updated>2009-03-24T07:38:07.922-07:00</updated><title type='text'>Architecture @ developerWorks</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/views/architecture/library.jsp"&gt;Architecture @ developerWorks&lt;/a&gt; - &lt;br /&gt;http://www.ibm.com/developerworks/views/architecture/library.jsp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4453190302396941494?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ibm.com/developerworks/views/architecture/library.jsp' title='Architecture @ developerWorks'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4453190302396941494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4453190302396941494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4453190302396941494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4453190302396941494'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/architecture-developerworks.html' title='Architecture @ developerWorks'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2222507942157350864</id><published>2009-03-24T07:36:00.001-07:00</published><updated>2009-03-24T07:36:29.285-07:00</updated><title type='text'>developerWorks tutorials</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/views/java/libraryview.jsp?type_by=Tutorials"&gt;developerWorks tutorials&lt;/a&gt; - http://www.ibm.com/developerworks/views/java/libraryview.jsp?type_by=Tutorials&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2222507942157350864?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ibm.com/developerworks/views/java/libraryview.jsp?type_by=Tutorials' title='developerWorks tutorials'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2222507942157350864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2222507942157350864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2222507942157350864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2222507942157350864'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/developerworks-tutorials.html' title='developerWorks tutorials'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4329061051868603097</id><published>2009-03-24T07:17:00.000-07:00</published><updated>2009-03-24T07:34:39.029-07:00</updated><title type='text'>Eclipse Links</title><content type='html'>&lt;blockquote&gt;Note - You may have to sign into developerWorks to view some of the articles &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-javadebug/index.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Remote Debug Java Applications with Eclipse&lt;/a&gt; - http://www.ibm.com/developerworks/opensource/library/os-eclipse-javadebug/index.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2005/08/31/eclipse-jboss-remote-debug.html?page=1"&gt;Remote Debugging (JBoss) with Eclipse&lt;/a&gt; - http://www.onjava.com/pub/a/onjava/2005/08/31/eclipse-jboss-remote-debug.html?page=1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/java/library/os-ecjdt/"&gt;Extend Eclipse JDT&lt;/a&gt; - http://www.ibm.com/developerworks/java/library/os-ecjdt/&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=eclipse"&gt;Technical library on Eclipse @ DeveloperWorks&lt;/a&gt; - http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=eclipse&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/library/os-ecl-read/?S_TACT=105AGX44&amp;S_CMP=ART"&gt;Recommended Eclipse Reading Links&lt;/a&gt; - http://www.ibm.com/developerworks/library/os-ecl-read/?S_TACT=105AGX44&amp;S_CMP=ART&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/library/os-eclipse-richajax1/index.html"&gt;Rich AJAX Platform&lt;/a&gt; - http://www.ibm.com/developerworks/library/os-eclipse-richajax1/index.html&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www6.software.ibm.com/developerworks/education/os-eclipse-ganymede-pt2/os-eclipse-ganymede-pt2-pdf.pdf"&gt;Moving from RCP to RAP &lt;/a&gt;- https://www6.software.ibm.com/developerworks/education/os-eclipse-ganymede-pt2/os-eclipse-ganymede-pt2-pdf.pdf&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/edu/os-dw-os-eclipse-eswt.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Developing eSWT for Nokia S60 &lt;/a&gt; - &lt;br /&gt;http://www.ibm.com/developerworks/edu/os-dw-os-eclipse-eswt.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-master1/index.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Part 1 - Eclipse IDE Workbench&lt;/a&gt; - http://www.ibm.com/developerworks/opensource/library/os-eclipse-master1/index.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-master2/index.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Part 2 - The JDT &lt;/a&gt;- http://www.ibm.com/developerworks/opensource/library/os-eclipse-master2/index.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-master3/index.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Part 3 - JDT Tips &amp; Tricks &lt;/a&gt;- http://www.ibm.com/developerworks/opensource/library/os-eclipse-master3/index.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www6.software.ibm.com/developerworks/education/os-eclipse-ganymede-pt2/os-eclipse-ganymede-pt2-pdf.pdf"&gt;Using Eclipse Ganymede to develop for the desktop, Web and mobile devices, Part 2:&lt;br /&gt;Developing for the Rich Client Platform, the Ganymede way RAP: The new way to the Web &lt;/a&gt;- https://www6.software.ibm.com/developerworks/education/os-eclipse-ganymede-pt2/os-eclipse-ganymede-pt2-pdf.pdf&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-ecov/?S_TACT=105AGX44&amp;S_CMP=ART"&gt;Getting Started with Eclipse&lt;/a&gt; - http://www.ibm.com/developerworks/opensource/library/os-ecov/?S_TACT=105AGX44&amp;S_CMP=ART&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/edu/os-dw-os-eclipse-code-templates.html?S_TACT=105AGX44&amp;S_CMP=EDU"&gt;Eclipse Code Templates&lt;/a&gt; - http://www.ibm.com/developerworks/edu/os-dw-os-eclipse-code-templates.html?S_TACT=105AGX44&amp;S_CMP=EDU&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-platform/?S_TACT=105AGX44&amp;S_CMP=ART"&gt;Getting Started with Eclipse Platform&lt;/a&gt; - http://www.ibm.com/developerworks/opensource/library/os-eclipse-platform/?S_TACT=105AGX44&amp;S_CMP=ART&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www6.software.ibm.com/developerworks/education/ws-eclipse-javase1/index.html"&gt;Create stand alone web services applications with Eclipse&lt;/a&gt; - https://www6.software.ibm.com/developerworks/education/ws-eclipse-javase1/index.html&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-plugin-templates/index.html?S_TACT=105AGX44&amp;S_CMP=ART"&gt;Create your own eclipse plug-in template&lt;/a&gt; - http://www.ibm.com/developerworks/opensource/library/os-eclipse-plugin-templates/index.html?S_TACT=105AGX44&amp;S_CMP=ART&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4329061051868603097?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4329061051868603097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4329061051868603097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4329061051868603097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4329061051868603097'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/eclipse-links.html' title='Eclipse Links'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-8731862742749452885</id><published>2009-03-23T00:06:00.000-07:00</published><updated>2009-03-23T00:07:33.309-07:00</updated><title type='text'>Eclipse technical library by IBM</title><content type='html'>Very nice resource page for learning eclipse&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=eclipse"&gt;http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=eclipse&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-8731862742749452885?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=eclipse' title='Eclipse technical library by IBM'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/8731862742749452885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=8731862742749452885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8731862742749452885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8731862742749452885'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/eclipse-technical-library-by-ibm.html' title='Eclipse technical library by IBM'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1432965184012934032</id><published>2009-03-17T00:10:00.000-07:00</published><updated>2009-03-17T00:13:11.881-07:00</updated><title type='text'>Java theory and practice: Concurrency made simple</title><content type='html'>http://www.ibm.com/developerworks/java/library/j-jtp1126.html&lt;br /&gt;&lt;br /&gt;An introduction to the util.concurrent package developerWorks&lt;br /&gt; &lt;br /&gt;Level: Intermediate&lt;br /&gt;&lt;br /&gt;Brian Goetz (brian@quiotix.com), Principal Consultant, Quiotix Corp&lt;br /&gt;Java theory and practice: Concurrency made simple&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1432965184012934032?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ibm.com/developerworks/java/library/j-jtp1126.html' title='Java theory and practice: Concurrency made simple'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1432965184012934032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1432965184012934032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1432965184012934032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1432965184012934032'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/java-theory-and-practice-concurrency.html' title='Java theory and practice: Concurrency made simple'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5128543808260027751</id><published>2009-03-16T23:08:00.000-07:00</published><updated>2009-03-16T23:09:35.446-07:00</updated><title type='text'>Interactive Map of Linux Kernel</title><content type='html'>Interactive Map of Linux Kernel&lt;br /&gt;&lt;br /&gt;The Linux Kernel is one of the most complex open source projects. There are a lot of books, however it is still a difficult subject to comprehend. The Interactive map of Linux Kernel gives you a top-down view of the Kernel. &lt;br /&gt;&lt;br /&gt;http://www.makelinux.net/kernel_map#sd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5128543808260027751?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.makelinux.net/kernel_map#sd' title='Interactive Map of Linux Kernel'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5128543808260027751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5128543808260027751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5128543808260027751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5128543808260027751'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/interactive-map-of-linux-kernel.html' title='Interactive Map of Linux Kernel'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6911168739474161862</id><published>2009-03-11T02:14:00.000-07:00</published><updated>2009-03-11T02:16:31.574-07:00</updated><title type='text'>Write your own Twitter application Archive your tweets with Apache Commons HttpClient, dom4j, and iText</title><content type='html'>http://www.javaworld.com/javaworld/jw-03-2009/jw-03-write-your-own-twitter-app.html?page=1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-03-2009/jw-03-write-your-own-twitter-app.html?page=1"&gt;Complete Article -- Write your own Twitter application Archive your tweets with Apache Commons HttpClient, dom4j, and iText&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&lt;span style="font-style:italic;"&gt;You'll build your application with the help of three open source Java libraries:&lt;br /&gt;&lt;br /&gt;    * HttpClient 3.x from the Apache Commons library. You'll use this API to obtain an XML stream of tweets from the Twitter API, as well as the Commons Logging and Codec components.&lt;br /&gt;    * dom4j to parse the XML and extract specific data from each tweet.&lt;br /&gt;    * iText to create the PDF document.&lt;br /&gt;&lt;br /&gt;This is a hands-on tutorial, so download those libraries if you haven't already done so. I'll remind you which JARs you need from them as we go along. If you don't already have a Twitter account, set one up now and start using the service so that you have some tweets to work with.&lt;br /&gt;&lt;br /&gt;You'll begin by writing your Twitter application as a standalone Java program. Eventually you'll integrate the code in a servlet, so that you can offer the application on your site as a service available to other Twitterati. &lt;/span&gt;&lt;br /&gt;....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6911168739474161862?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javaworld.com/javaworld/jw-03-2009/jw-03-write-your-own-twitter-app.html?page=1' title='Write your own Twitter application Archive your tweets with Apache Commons HttpClient, dom4j, and iText'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6911168739474161862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6911168739474161862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6911168739474161862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6911168739474161862'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/write-your-own-twitter-application.html' title='Write your own Twitter application Archive your tweets with Apache Commons HttpClient, dom4j, and iText'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-4118574269381806135</id><published>2009-03-11T02:10:00.000-07:00</published><updated>2009-03-17T22:07:50.910-07:00</updated><title type='text'>Joel on Software - How to be a program manager</title><content type='html'>http://www.joelonsoftware.com/items/2009/03/09.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Lacking a program manager, your garden-variety super-smart programmer is going to come up with a completely baffling user interface that makes perfect sense IF YOU'RE A VULCAN (cf. git). The best programmers are notoriously brilliant, and have some trouble imagining what it must be like not to be able to memorize 16 one-letter command line arguments. These programmers then have a tendency to get attached to their first ideas, especially when they've already written the code."&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/items/2009/03/09.html"&gt;Link to Complete Article ....... &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-4118574269381806135?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.joelonsoftware.com/items/2009/03/09.html' title='Joel on Software - How to be a program manager'/><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/4118574269381806135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=4118574269381806135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4118574269381806135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/4118574269381806135'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/03/joel-on-software-how-to-be-program.html' title='Joel on Software - How to be a program manager'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5880252648119809403</id><published>2009-02-27T01:42:00.000-08:00</published><updated>2009-03-11T03:02:14.578-07:00</updated><title type='text'>Software Gems</title><content type='html'>My favorite Programs (all of them freeware) - &lt;br /&gt;&lt;br /&gt;1)FreeCommander &lt;br /&gt;2)Search Everything&lt;br /&gt;3)Unlocker&lt;br /&gt;4)Eclipse&lt;br /&gt;5)Keepass&lt;br /&gt;6)Notepad++&lt;br /&gt;7)7Zip File Manager&lt;br /&gt;8)Windows Live Mail&lt;br /&gt;9) TureCrypt&lt;br /&gt;10)Teracopy&lt;br /&gt;11) Spybot&lt;br /&gt;12) Winamp&lt;br /&gt;13) Winmerge&lt;br /&gt;14) CCleaner&lt;br /&gt;15) Firefox&lt;br /&gt;16) Rainlendar&lt;br /&gt;17) IrfanView&lt;br /&gt;18) Windirstat&lt;br /&gt;19) XPSyspad&lt;br /&gt;20) SystemExplorer&lt;br /&gt;21) Mnemosyne&lt;br /&gt;22) Microsoft Visual C# 2005 Express Edition&lt;br /&gt;24) MediaMonkey&lt;br /&gt;25) iTunesLibraryUpdater (iTLU)&lt;br /&gt;26) iTunesStoreFileValidator&lt;br /&gt;27) Paint.Net&lt;br /&gt;28) RssOwl&lt;br /&gt;29) WinSCP&lt;br /&gt;30) Putty&lt;br /&gt;31) Dsynchronize&lt;br /&gt;32) PortableApps&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Non-freeware&lt;br /&gt;1) Kaspersky Antivirus&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5880252648119809403?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5880252648119809403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5880252648119809403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5880252648119809403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5880252648119809403'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/software-gems.html' title='Software Gems'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-7610019430243415061</id><published>2009-02-27T01:41:00.000-08:00</published><updated>2009-02-27T01:42:21.676-08:00</updated><title type='text'>Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows</title><content type='html'>&lt;a href="http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-7610019430243415061?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/7610019430243415061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=7610019430243415061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7610019430243415061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/7610019430243415061'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/scott-hanselmans-2007-ultimate.html' title='Scott Hanselman&apos;s 2007 Ultimate Developer and Power Users Tool List for Windows'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-6156246815083502919</id><published>2009-02-27T01:39:00.000-08:00</published><updated>2009-02-27T01:40:07.587-08:00</updated><title type='text'>97 Things Every Software Architect Should Know - The Book</title><content type='html'>&lt;a href="http://97-things.near-time.net/wiki/97-things-every-software-architect-should-know-the-book"&gt;97 Things Every Software Architect Should Know - The Book&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-6156246815083502919?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/6156246815083502919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=6156246815083502919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6156246815083502919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/6156246815083502919'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/97-things-every-software-architect.html' title='97 Things Every Software Architect Should Know - The Book'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-662248848556395077</id><published>2009-02-27T01:36:00.000-08:00</published><updated>2009-02-27T01:37:23.764-08:00</updated><title type='text'>A Recap on OSGi - Why and How?</title><content type='html'>&lt;a href="http://java.dzone.com/news/osgi"&gt;A Recap on OSGi - Why and How?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-662248848556395077?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/662248848556395077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=662248848556395077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/662248848556395077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/662248848556395077'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/recap-on-osgi-why-and-how.html' title='A Recap on OSGi - Why and How?'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-1660634714531049190</id><published>2009-02-27T01:34:00.001-08:00</published><updated>2009-02-27T01:36:41.831-08:00</updated><title type='text'>Maven or Ant?</title><content type='html'>&lt;a href="http://java.dzone.com/news/maven-or-ant"&gt;Maven or Ant?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quote from http://java.dzone.com/news/maven-or-ant - &lt;br /&gt;&lt;span style="font-style:italic;"&gt;I use Maven and Ant in my projects, the choice is dependent on the specific needs. Maven is great if:&lt;br /&gt;&lt;br /&gt;   1. You are working with many "creative" developers. It will be hard to establish a defined project structure etc. without tool support.&lt;br /&gt;   2. The developers are religious about their IDE and are using IntelliJ, NetBeans and Eclipse at the same time.&lt;br /&gt;   3. You are building a product-like application. You will have to manage different versions and branches with their dependencies.&lt;br /&gt;   4. You project consists of several teams which work on dependent modules. These modules have to be composed to the application regularly.&lt;br /&gt;   5. You plan to use checkstyle, pmd, generate a project website etc. It's easy with Maven.&lt;br /&gt;&lt;br /&gt;On the other hand, I would choose Ant for:&lt;br /&gt;&lt;br /&gt;   1. "Situational Software" which has to be developed quickly (in a few weeks / months).&lt;br /&gt;   2. Projects with external dependencies which are working with "cutting edge" libraries. There is no need for finer grained dependency management.&lt;br /&gt;   3. NetBeans projects :-). They come with predefined Ant scripts which even work perfectly with Hudson. Just check everything into svn and let hudson check it out...&lt;br /&gt;   4. Legacy projects which do not fit the Maven conventions very well. Violating Maven conventions may become a hassle.&lt;br /&gt;   5. Projects without explicit requirements for modularization. The deployable output will consist of only a few archives.&lt;br /&gt;&lt;br /&gt;In my case, in the last few years the ratio between Maven and Ant was about 50-50. In all indeterminate cases, I would tend to use Ant because of performance and predictability. Such cases, however, are very rare.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-1660634714531049190?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/1660634714531049190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=1660634714531049190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1660634714531049190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/1660634714531049190'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/maven-or-ant.html' title='Maven or Ant?'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2389350562108501181</id><published>2009-02-27T01:25:00.000-08:00</published><updated>2009-02-27T01:27:57.744-08:00</updated><title type='text'>How to Choose From Multiple Java/JEE Job Offers?</title><content type='html'>&lt;a href="http://java.dzone.com/articles/how-choose-multiple-javajee"&gt;How to Choose From Multiple Java/JEE Job Offers?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Personally I would give this point at least 30% - &lt;br /&gt;&lt;span style="font-style:italic;"&gt;How comprehensive the interview was. The more comprehensive the interview the better chance of working with high calibre staff. [E.g. weight = 5%]. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2389350562108501181?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2389350562108501181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2389350562108501181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2389350562108501181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2389350562108501181'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/how-to-choose-from-multiple-javajee-job.html' title='How to Choose From Multiple Java/JEE Job Offers?'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-8474270372967606005</id><published>2009-02-23T22:31:00.001-08:00</published><updated>2009-02-23T22:31:53.367-08:00</updated><title type='text'>Humor : Explanations of common Java exceptions</title><content type='html'>&lt;a href="http://rymden.nu/exceptions.html"&gt;Humor : Explanations of common Java exceptions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://rymden.nu/exceptions.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-8474270372967606005?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/8474270372967606005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=8474270372967606005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8474270372967606005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/8474270372967606005'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/humor-explanations-of-common-java.html' title='Humor : Explanations of common Java exceptions'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-5295757059105644673</id><published>2009-02-21T06:23:00.000-08:00</published><updated>2009-02-21T06:32:00.704-08:00</updated><title type='text'>Tomcat Tutorials</title><content type='html'>&lt;a href="http://keyboardsamurais.de/2004/01/15/tomcat_tutorial_helloworld_for_complete_fools_-_english/"&gt;Tomcat Tutorial: HelloWorld for Complete Fools &lt;/a&gt; (http://keyboardsamurais.de/2004/01/15/tomcat_tutorial_helloworld_for_complete_fools_-_english/)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://javaboutique.internet.com/tutorials/three/"&gt;The Power of Three - Eclipse, Tomcat, and Struts&lt;/a&gt; (http://javaboutique.internet.com/tutorials/three/)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://plato.acadiau.ca/courses/comp/dsilver/2513/EclipseAndTomcatTutorial/"&gt;Tutorial on Integrating Eclipse and Tomcat&lt;/a&gt; (http://plato.acadiau.ca/courses/comp/dsilver/2513/EclipseAndTomcatTutorial/)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-5295757059105644673?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/5295757059105644673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=5295757059105644673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5295757059105644673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/5295757059105644673'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/tomcat-tutorials.html' title='Tomcat Tutorials'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32871326.post-2902588808942525169</id><published>2009-02-21T06:19:00.000-08:00</published><updated>2009-02-21T06:23:51.046-08:00</updated><title type='text'>Random - Java Concurrency</title><content type='html'>org.jdesktop.application&lt;br /&gt;Class TaskMonitor&lt;br /&gt;&lt;br /&gt;java.lang.Object&lt;br /&gt;  extended by org.jdesktop.application.AbstractBean&lt;br /&gt;      extended by org.jdesktop.application.TaskMonitor&lt;br /&gt;&lt;br /&gt;public class TaskMonitor&lt;br /&gt;extends AbstractBean&lt;br /&gt;&lt;br /&gt;This class is intended to serve as the model for GUI components, like status bars, that display the state of an application's background tasks. TaskMonitor provides an overview of all the ApplicationContext's Tasks, as well as the state of a single foreground Task.&lt;br /&gt;&lt;br /&gt;The value of getTasks() is a list of all of the Tasks whose state is not DONE for all of the ApplicationContext's TaskServices. In other words: all of the ApplicationContext's background tasks that haven't finished executing. Each time a new TaskService Task is executed it's added to the list; when the Task finishes it's removed. Each time the list changes PropertyChangeListeners are fired. Applications that wish to create a detailed visualization of all Tasks should monitor the TaskMonitor "tasks" property.&lt;br /&gt;&lt;br /&gt;Users are often only interested in the status of a single foreground task, typically the one associated with GUI element they're working with, or with the most recent command they've issued. The TaskMonitor's PropertyChangeListener is notified each time a property of the foregroundTask changes. Additionally the TaskMonitor fires synthetic PropertyChangeEvents for properties named "pending", "started", and "done" when the corresponding Task state property changes occur.&lt;br /&gt;&lt;br /&gt;TaskMonitor manages a queue of new Tasks. The foregroundTask is automatically set to the first new Task, and when that Task finishes, the next Task in the queue, and so on. Applications can set the foregroundTask explicitly, to better reflect what the user is doing. For example, a tabbed browsing GUI that launched one Task per tab might set the foreground Task each time the user selected a tab. To prevent the foregroundTask property from (ever) being reset automatically, one must set autoUpdateForegroundTask to false.&lt;br /&gt;&lt;br /&gt;This class is not thread-safe. All of its methods must be called on the event dispatching thread (EDT) and all of its listeners will run on the EDT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32871326-2902588808942525169?l=techspot121.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techspot121.blogspot.com/feeds/2902588808942525169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32871326&amp;postID=2902588808942525169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2902588808942525169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32871326/posts/default/2902588808942525169'/><link rel='alternate' type='text/html' href='http://techspot121.blogspot.com/2009/02/random-java-concurrency.html' title='Random - Java Concurrency'/><author><name>Imran</name><uri>http://www.blogger.com/profile/16365267406286232287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_St97abwyTVc/TOJwzbWIB6I/AAAAAAAAAS0/l7QCaWFe3b4/S220/imran.JPG'/></author><thr:total>0</thr:total></entry></feed>
