<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>

	<meta name="WT.qs_dlk" content="YEe9pQrSPF8LVSfrZtvhDwAAABM"/>

	<meta name="WT.qs_shmv" content="hv20200211-hale.sf.quinstreet.net"/>

	<meta name="inject_params" content="WT.qs_dlk=YEe9pQrSPF8LVSfrZtvhDwAAABM&"/>

<script>!function(){if(!window.BOOMR||!window.BOOMR.version){var e,t,n,o=document.createElement("iframe");o.src="javascript:false",o.title="",o.role="presentation",(o.frameElement||o).style.cssText="width:0;height:0;border:0;display:none;",(n=document.getElementsByTagName("script")[0]).parentNode.insertBefore(o,n);try{t=o.contentWindow.document}catch(n){e=document.domain,o.src="javascript:var d=document.open();d.domain='"+e+"';void(0);",t=o.contentWindow.document}t.open()._l=function(){var t=this.createElement("script");e&&(this.domain=e),t.id="boomr-if-as",t.src="/imageserver/common/sg/1.0/sg.min.js",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(t)},t.write('<body onload="document._l();">'),t.close()}}();</script>
<script>
                document.cookie = 'inject_params=WT.qs_dlk=YEe9pQrSPF8LVSfrZtvhDwAAABM&; path=/;  domain=devx.com;; SameSite=None; Secure;';
                document.cookie = 'WMUUID=YEe9pQrSPF8LVSfrZtvhDwAAABM; path=/;  domain=devx.com;; SameSite=None; Secure;';
            </script>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="shortcut icon" href="/favicon.ico" />
<title>DevX: Your Information Source for Enterprise Application Development</title>
<meta name="description" content="DevX is the leading provider of technical information, tools, and services for professionals developing corporate applications." />
<meta name="keywords" content="enterprise development
development tips" />
<meta name="channel" content="Developer" />
<meta name="robots" content="index, follow"/>
<meta name='qs.quad.keywords' content='{keywords:"95910|95850",nodes:"95910"}' />
<script language="javascript" src="https://o1.qnsr.com/cgi/b/95910/95850/tx.js"></script>
<link rel="stylesheet" type="text/css" href="/styles/cps.css" />
<link rel="stylesheet" type="text/css" href="/styles/devxstyles.css" />
<script language="javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="/scripts/lightbox_me.js"></script>
<script language="javascript" src="/scripts/globalFuncs.js"></script>
<script language="javascript" src="/scripts/validate.js"></script>
<script language="javascript">
//d=document.domain.split('.');document.domain = d[d.length-2]+"."+d[d.length-1];
</script>
<script type="text/javascript" src="/hqb2b/js/globalNewsletter.js"></script>
<meta name="verify-v1" content="ELZ51Fh77MWc87+TaubOV8o+m4QF63H+7ASncs+2wWs=" />
<meta name="google-site-verification" content="I2hHTwPgWgA_zhnIW19Cb3vyUhrAzpr7WPaIygA9Ujo" />


<!-- BEGIN DFP core -->
<script type='text/javascript'>
window.qs={consent:{ready:false,service:{dfp:{dc:false},ml:{dc:false}}},dfp:{ready:false,tags:{}}};
function gDFPC(e){var n=e+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i].replace(/^\s+|\s+$/g,'');if(c.indexOf(n)==0) return c.substring(n.length,c.length);}return "";}function sDFPC(c,v,e,t){var d=new Date();if(t=="mo"){d.setMonth(d.getMonth()+e);}else if(t=="hr"){d.setTime(d.getTime()+(e*60*60*1000));}else if(t=="min"){d.setTime(d.getTime()+(e*60*1000));}else if(t=="sec"){d.setTime(d.getTime()+(e*1000));}else{d.setTime(d.getTime()+(e*24*60*60*1000));}var exp="expires="+d.toUTCString();document.cookie=c+"="+v+";"+exp+";path=/";}
function cDFPC(c){if(gDFPC(c)!="")return 1;return 0;}function cKVs(v){if(Array.isArray(v)){for(i=0;i<v.length;i++){v[i]=v[i].replace(/["'=!+#*~;^()<>\[\],&]/g,'').replace(/\s+/g,' ').replace(/^\s+|\s+$/g,'');}}else{v=v.replace(/["'=!+#*~;^()<>\[\],&]/g,'').replace(/\s+/g,' ').replace(/^\s+|\s+$/g,'');}return v;}var mbw=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var myWTDLK=gDFPC('WMUUID');var mlWTFP="";var myWTtemp=gDFPC('WT_FPC').split(":");for(var i=0;i<myWTtemp.length;i++){if(myWTtemp[i].search("id=")==0){mlWTFP=myWTtemp[i].slice(3);}}var qsDFPSec=(location.protocol==="https:"?"true":"false");
</script>

<!-- Consent info -->
<script type="text/javascript">
    if (cDFPC('_qscon')) {
        if (typeof window.qs != 'undefined' && window.qs.consent) {
            window.qs.consent.service = JSON.parse(gDFPC('_qscon'));
        }
    }
</script>

<script type='text/javascript'>
var n_imu=0,n_ic_imu=0,n_lb=0,n_sky=0,n_wap=0,n_qmp=0,n_m_lb=0,n_m_imu=0,n_m_ic_imu=0,n_ic=0;function refreshDFPTags(){if(typeof googletag.pubads!='undefined'){for(var slot_id_simple in window.qs.dfp.tags){if(window.qs.dfp.tags.hasOwnProperty(slot_id_simple)&&window.qs.dfp.tags[slot_id_simple]!=null){if(typeof window.qs.dfp.tags[slot_id_simple].slot!='undefined'&&window.qs.dfp.tags[slot_id_simple].refreshable){window.qs.dfp.tags[slot_id_simple].refreshed=true;window.qs.dfp.tags[slot_id_simple].refresh_counter++;googletag.pubads().refresh([window.qs.dfp.tags[slot_id_simple].slot],{changeCorrelator: false});}}}}}function hideQSDiv(e){if(typeof googletag.pubads!='undefined'){var slot_id=e.replace(/-outer/,'');var slot_id_simple=slot_id.replace(/-/g,'');if(typeof window.qs.dfp.tags[slot_id_simple].slot!='undefined'){googletag.destroySlots([window.qs.dfp.tags[slot_id_simple].slot]);window.qs.dfp.tags[slot_id_simple]=null;}}if(document.getElementById){document.getElementById(e).style.visibility="hidden";document.getElementById(e).innerHTML="";}}
</script>
<script type='text/javascript'>
console.log('QS: DFP GPT Code');var googletag=googletag||{};googletag.cmd=googletag.cmd||[];(function(){var gads=document.createElement("script");gads.async=true;gads.type="text/javascript";gads.src=(location.protocol==="https:"?"https:":"http:")+"//securepubads.g.doubleclick.net/tag/js/gpt.js";var node=document.getElementsByTagName("script")[0];node.parentNode.insertBefore(gads,node);})();
</script>
<script type='text/javascript'>
console.log('QS: DFP Tag Code');function displayDFPTag(tag){var tag_code="";var this_tag_pos=0;var this_tag_div_style="";var this_tag_inner_div_style="";var this_tag_notice="";var this_tag_close="";if(tag.match(/^sponsor-logo.*/)){var temp=tag.split(":");tag=temp[0];this_tag_pos=temp[1];}switch(tag){case "imu":this_tag_pos=++n_imu;break;case "ic_imu":this_tag_pos=++n_ic_imu;this_tag_div_style=" style='width:300px;text-align:center;padding:0px 0px 20px 0px;margin:0 auto;'";this_tag_notice=" <div style=\"text-align:right;margin:0 auto;font-family:'Helvetica Neue 55 Roman',Helvetica,Arial,san-serif;color:#666666;font-size:10px;font-weight:normal;\">Advertisement</div>";break;case "lb":this_tag_pos=++n_lb;if(this_tag_pos===1){this_tag_notice="    <div id='"+tag+"-"+this_tag_pos+"-notice' style=\"text-align:center;margin:0 auto;height:0;visibility:hidden;font-family:'Helvetica Neue 55 Roman',Helvetica,Arial,san-serif;color:#666666;font-size:10px;font-weight:normal;\">Advertisement</div>";this_tag_close="    <div id='"+tag+"-"+this_tag_pos+"-close' style=\"text-align:center;margin:0 auto;height:0;visibility:hidden;\"><a href=\"javascript:hideQSDiv('"+tag+"-"+this_tag_pos+"-outer')\" style=\"font-family:'Helvetica Neue 55 Roman',Helvetica,Arial,san-serif;color:#666666;font-size:12px;font-weight:normal;text-decoration:none;\">Close X</a></div>";}break;case "sky":this_tag_pos=++n_sky;break;case "wap":this_tag_pos=++n_wap;break;case "qmp":this_tag_pos=++n_qmp;break;case "sponsor-logo":break;case "m_lb":this_tag_pos=++n_m_lb;if(this_tag_pos===1){this_tag_notice="    <div id='"+tag+"-"+this_tag_pos+"-notice' style=\"text-align:center;margin:0 auto;height:0;visibility:hidden;font-family:'Helvetica Neue 55 Roman',Helvetica,Arial,san-serif;color:#666666;font-size:10px;font-weight:normal;\">Advertisement</div>";}break;case "m_imu":this_tag_pos=++n_m_imu;break;case "m_ic_imu":this_tag_pos=++n_m_ic_imu;this_tag_div_style=" style='width:300px;text-align:center;padding:0px 0px 20px 0px;margin:0 auto;'";this_tag_notice=" <div style=\"text-align:center;margin:0 auto;font-family:'Helvetica Neue 55 Roman',Helvetica,Arial,san-serif;color:#666666;font-size:10px;font-weight:normal;\">Advertisement</div>";break;case "ic":this_tag_pos=++n_ic;this_tag_div_style=" style='width:300px;text-align:center;padding:0px 0px 20px 0px;margin:0 auto;'";this_tag_notice=" <div style=\"text-align:center;margin:0 auto;font-family:'Helvetica Neue 55 Roman',Helvetica,Arial,san-serif;color:#666666;font-size:10px;font-weight:normal;\">Advertisement</div>";break;default:return "<!-- QS-DFP: Unknown tag '"+tag+"' requested -->";}var this_tag_div_id=tag+"-"+this_tag_pos;if(this_tag_notice){tag_code+="<div id='"+this_tag_div_id+"-outer' style='text-align:center;margin: 0 auto;'>\n"+this_tag_notice+"\n";}tag_code+="<div id='"+this_tag_div_id+"'"+this_tag_div_style+">\n"+"    <scr"+"ipt type=\"text/javascript\">\n"+"        googletag.cmd.push(function() {\n"+"            googletag.display('"+this_tag_div_id+"');\n"+"        });\n"+"    </scr"+"ipt>\n"+"</div>\n";if(this_tag_close){tag_code+=this_tag_close+"\n";}if(this_tag_notice){tag_code+="</div>\n";}if(this_tag_inner_div_style){tag_code+="<style type=\"text/css\">#"+this_tag_div_id+"_ad_container{height:0px;}</style>\n";}return tag_code;}
</script>
<!-- END DFP core -->


    <meta NAME="DCSext.tax" content="audience,product development" />
    <meta NAME="DCSext.qse_b2b_tax" content="audience,product development" />

    <meta name="ta.tax" content="B2B_AUDIENCE,B2B_PRODUCT_DEVELOPMENT" />
    <meta name="ta.kw" content="enterprise developmentdevelopment tips" />

    <!-- BEGIN ML -->
    <script type='text/javascript'>
        console.log('QS: ML Tag');
            var mlCLID="50421";if(typeof mlCLID!='undefined'){var mlEml=gDFPC('eml');(function(f,i,c){var a=decodeURIComponent,e="",l="",o="||",g=";;",h="split",b="length",j="indexOf",k=0,n="localStorage",m="_ccmdt";f[c]=f[c]||{};function d(q){var p;if(f[n]){return f[n][q]||""}else{p=i.cookie.match(q+"=([^;]*)");return(p&&p[1])||""}}f[c].us={};e=a(d(m))[h](o);k=e[b];if(k>0){while(k--){l=e[k][h]("=");if(l[b]>1){if(l[1][j](g)>-1){f[c].us[l[0]]=l[1][h](g);f[c].us[l[0]].pop()}else{f[c].us[l[0]]=l[1]}}}}})(window,document,"_ml");(function(){_ml=window._ml||{};_ml.eid='50027';_ml.clid=mlCLID;if(typeof mlEml!='undefined'){_ml.em=mlEml;}else{_ml.em='';}_ml.ht='shex';_ml.fp=mlWTFP;_ml.redirect=(location.protocol==='https:'?'https:':'http:')+'//beacon.krxd.net/usermatch.gif?partner=madisonlogic&partner_uid=[PersonID]';_ml.informer={enable:true};var s=document.getElementsByTagName('script')[0],cd=new Date(),mltag=document.createElement('script');mltag.type='text/javascript';mltag.async=true;mltag.src=(location.protocol==='https:'?'https:':'http:')+'//ml314.com/tag.aspx?'+cd.getDate()+cd.getMonth()+cd.getFullYear();s.parentNode.insertBefore(mltag,s);})();}
    </script>
    <!-- END ML -->

    <!-- BEGIN Nativo -->
    <script type="text/javascript" src="//s.ntv.io/serve/load.js" async></script>
    <script type="text/javascript">
        console.log('QS: Nativo Tag');
    </script>
    <!-- END Nativo -->

    <!-- BEGIN GA -->
    <script type='text/javascript'>
        console.log('QS: GA Tag');
        var gaSID="UA-48201503-1";(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[  0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', gaSID, 'auto');ga('set', 'anonymizeIp', true);ga('send', 'pageview');
    </script>
    <!-- END GA -->

            <!-- BEGIN DFP Visibility -->
        <script type="text/javascript">
            console.log('QS: DFP Visibility code');
            googletag.cmd.push(function() {
googletag.pubads().setTargeting('kw',['enterprise developmentdevelopment tips']);
googletag.pubads().setTargeting('tax',['audience','product development']);
googletag.pubads().setTargeting('path',['home']);
googletag.pubads().setTargeting('pagetype','index');
googletag.pubads().setTargeting('securesite',''+qsDFPSec+'');
googletag.pubads().setTargeting('url',['https://www.devx.com/','http://www.devx.com/']);
if(mbw<641){googletag.pubads().setTargeting('pfm','mob');}else{googletag.pubads().setTargeting('pfm','des');}
googletag.pubads().setTargeting('env','prod');
googletag.pubads().setTargeting('wtdlk',''+myWTDLK+'');
if(typeof _ml!='undefined'&&_ml.us){
                    if(_ml.us.tp&&_ml.us.tp.length>0){
                        googletag.pubads().setTargeting('mlt',''+cKVs(_ml.us.tp)+'');
                    }
                    if(_ml.us.cr&&_ml.us.cr.length>0){
                        googletag.pubads().setTargeting('mlcr',''+cKVs(_ml.us.cr)+'');
                    }
                    if(_ml.us.cs&&_ml.us.cs.length>0){
                        googletag.pubads().setTargeting('mlcs',''+cKVs(_ml.us.cs)+'');
                    }
                    if(_ml.us.dm&&_ml.us.dm.length>0){
                        googletag.pubads().setTargeting('mldm',''+cKVs(_ml.us.dm)+'');
                    }
                    if(_ml.us.fa&&_ml.us.fa.length>0){
                        googletag.pubads().setTargeting('mlfa',''+cKVs(_ml.us.fa)+'');
                    }
                    if(_ml.us.ind&&_ml.us.ind.length>0){
                        googletag.pubads().setTargeting('mlind',''+cKVs(_ml.us.ind)+'');
                    
                    }
                    if(_ml.us.pc&&_ml.us.pc.length>0){
                        googletag.pubads().setTargeting('mlpc',''+cKVs(_ml.us.pc)+'');
                    }
                    if(_ml.us.pg&&_ml.us.pg.length>0){
                        googletag.pubads().setTargeting('mlpg',''+cKVs(_ml.us.pg)+'');
                    }
            }
window.qs.dfp.tags.lb1={id:'lb-1',refreshable:true,refresh_delay:4,pending_refresh:false,refreshed:false,max_refresh:10,refresh_counter:0,viewable:false,in_view:undefined,visibility:0,view_percentage_threshold:80};window.qs.dfp.tags.lb1.slot=googletag.defineSlot('/5055/b2b/dev/devx/lb',[[640,480],[728,90],[970,90],[970,250],[1000,90]],'lb-1').addService(googletag.pubads()).setTargeting('pos','top').setTargeting('refreshable','true').setTargeting('adrefreshed','false');
window.qs.dfp.tags.lb2={id:'lb-2',refreshable:true,refresh_delay:4,pending_refresh:false,refreshed:false,max_refresh:10,refresh_counter:0,viewable:false,in_view:undefined,visibility:0,view_percentage_threshold:80};window.qs.dfp.tags.lb2.slot=googletag.defineSlot('/5055/b2b/dev/devx/lb',[728,90],'lb-2').addService(googletag.pubads()).setTargeting('pos','low').setTargeting('refreshable','true').setTargeting('adrefreshed','false');
window.qs.dfp.tags.imu1={id:'imu-1',refreshable:true,refresh_delay:4,pending_refresh:false,refreshed:false,max_refresh:10,refresh_counter:0,viewable:false,in_view:undefined,visibility:0,view_percentage_threshold:80};window.qs.dfp.tags.imu1.slot=googletag.defineSlot('/5055/b2b/dev/devx/imu',[[300,250],[300,600],[300,1050]],'imu-1').addService(googletag.pubads()).setTargeting('pos','top').setTargeting('refreshable','true').setTargeting('adrefreshed','false');
window.qs.dfp.tags.imu2={id:'imu-2',refreshable:true,refresh_delay:4,pending_refresh:false,refreshed:false,max_refresh:10,refresh_counter:0,viewable:false,in_view:undefined,visibility:0,view_percentage_threshold:80};window.qs.dfp.tags.imu2.slot=googletag.defineSlot('/5055/b2b/dev/devx/imu',[[300,250],[300,600]],'imu-2').addService(googletag.pubads()).setTargeting('pos','mid').setTargeting('refreshable','true').setTargeting('adrefreshed','false');
window.qs.dfp.tags.imu3={id:'imu-3',refreshable:true,refresh_delay:4,pending_refresh:false,refreshed:false,max_refresh:10,refresh_counter:0,viewable:false,in_view:undefined,visibility:0,view_percentage_threshold:80};window.qs.dfp.tags.imu3.slot=googletag.defineSlot('/5055/b2b/dev/devx/imu',[300,250],'imu-3').addService(googletag.pubads()).setTargeting('pos','low').setTargeting('refreshable','true').setTargeting('adrefreshed','false');
window.qs.dfp.tags.sky1={id:'sky-1',refreshable:true,refresh_delay:4,pending_refresh:false,refreshed:false,max_refresh:10,refresh_counter:0,viewable:false,in_view:undefined,visibility:0,view_percentage_threshold:80};window.qs.dfp.tags.sky1.slot=googletag.defineSlot('/5055/b2b/dev/devx/sky',[160,600],'sky-1').addService(googletag.pubads()).setTargeting('pos','top').setTargeting('refreshable','true').setTargeting('adrefreshed','false');
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.disablePublisherConsole();

googletag.pubads().addEventListener('slotRenderEnded', function(event) {
    if (!event.isEmpty) {
        var slot_id = event.slot.getSlotElementId();
        var slot_id_simple = slot_id.replace(/-/g, '');

        window.qs.dfp.tags[slot_id_simple].size = {0:event.size[0],1:event.size[1]};

        if (slot_id === 'lb-1') {
            e = slot_id + '-notice';
            if (document.getElementById(e)) {
                document.getElementById(e).style.padding="0 0 5px 0";
                document.getElementById(e).style.height="auto";
                document.getElementById(e).style.visibility="visible";
            }

            e = slot_id + '-close';
            if (document.getElementById(e)) {
                if ((event.size[0] === 640 && event.size[1] === 480) || (event.size[0] === 970 && event.size[1] === 250)) {
                    document.getElementById(e).style.padding="5px 0 0 0";
                    document.getElementById(e).style.height="auto";
                    document.getElementById(e).style.visibility="visible";
                } else {
                    document.getElementById(e).style.padding="0";
                    document.getElementById(e).style.height="auto";
                    document.getElementById(e).style.visibility="hidden";
                }
            }

            if (event.size[0] === 640 && event.size[1] === 480) {
                window.qs.dfp.tags[slot_id_simple].refreshable = false;

                // Set QS large ad frequency cap cookie
                // sDFPC('_qslafc', 1, 3, 'hr');
            }
        }

        if (event.slot.getSlotElementId() === 'm_lb-1') {
            e = event.slot.getSlotElementId() + '-notice';
            if (document.getElementById(e)) {
                document.getElementById(e).style.padding="0 0 5px 0";
                document.getElementById(e).style.height="auto";
                document.getElementById(e).style.visibility="visible";
            }
        }
    }
});

googletag.pubads().addEventListener('impressionViewable', function(event) {
    var slot_id = event.slot.getSlotElementId();
    var slot_id_simple = slot_id.replace(/-/g, '');

    window.qs.dfp.tags[slot_id_simple].viewable = true;
});

googletag.pubads().addEventListener('slotVisibilityChanged', function(event) {
    if (!event.isEmpty) {
        var slot = event.slot;
        var slot_id = event.slot.getSlotElementId();
        var slot_id_simple = slot_id.replace(/-/g, '');
        var view_percentage = event.inViewPercentage;

        if (window.qs.dfp.tags[slot_id_simple].viewable && window.qs.dfp.tags[slot_id_simple].refreshable && window.qs.dfp.tags[slot_id_simple].refresh_counter < window.qs.dfp.tags[slot_id_simple].max_refresh) {
            if (view_percentage >= window.qs.dfp.tags[slot_id_simple].view_percentage_threshold && window.qs.dfp.tags[slot_id_simple].visibility < window.qs.dfp.tags[slot_id_simple].view_percentage_threshold && window.qs.dfp.tags[slot_id_simple].in_view == false) {
                window.qs.dfp.tags[slot_id_simple].in_view = true;
                window.qs.dfp.tags[slot_id_simple].visibility = view_percentage;

                if (!window.qs.dfp.tags[slot_id_simple].pending_refresh) {
                    window.qs.dfp.tags[slot_id_simple].pending_refresh = true;

                    setTimeout(function() {
                        if (window.qs.dfp.tags[slot_id_simple].in_view) {
                            slot.setTargeting('adrefreshed', 'true');
                            googletag.pubads().refresh([slot], {changeCorrelator: false});

                            window.qs.dfp.tags[slot_id_simple].refreshed = true;
                            window.qs.dfp.tags[slot_id_simple].refresh_counter++;
                        }

                        window.qs.dfp.tags[slot_id_simple].pending_refresh = false;
                    }, window.qs.dfp.tags[slot_id_simple].refresh_delay * 1000);
                }
            }

            if ((view_percentage < window.qs.dfp.tags[slot_id_simple].view_percentage_threshold && window.qs.dfp.tags[slot_id_simple].in_view) || (view_percentage == 0 && typeof window.qs.dfp.tags[slot_id_simple].in_view != undefined)) {
                window.qs.dfp.tags[slot_id_simple].in_view = false;
                window.qs.dfp.tags[slot_id_simple].visibility = view_percentage;
            }
        }
    }
});
googletag.enableServices();
});
        </script>
        <!-- END DFP Visibility -->
    
<script type="text/javascript">

            /* Replace #your_subdomain# by the subdomain of a Site in your OneAll account */
            var oneall_subdomain = 'devxcom';

            /* The library is loaded asynchronously */
            var oa = document.createElement('script');
            oa.type = 'text/javascript'; oa.async = true;
            oa.src = '//' + oneall_subdomain + '.api.oneall.com/socialize/library.js';
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(oa, s);
        </script>

	<meta name="cache-creation-time" content="2021-03-09 18:08:05.000 +0000" />

    <script>
    window.webtrendsAsyncInit=function(){
        var dcs=new Webtrends.dcs().init({
            dcsid:"dcsetaek200000gcgxfcx07g4_2p3u",
            domain:"www.qsstats.com",
            timezone:-8,
            i18n:true,
            onsitedoms:"devx.com",
            fpcdom:".devx.com",
            plugins:{
                //hm:{src:"//s.webtrends.com/js/webtrends.hm.js"}
            }
            }).track();
    };
    (function(){
        var s=document.createElement("script"); s.async=true; s.src="/imageserver/common/v10/webtrends.min.js";    
        var s2=document.getElementsByTagName("script")[0]; s2.parentNode.insertBefore(s,s2);
    }());
    </script>
    <noscript><img alt="dcsimg" id="dcsimg" width="1" height="1" src="//www.qsstats.com/dcsetaek200000gcgxfcx07g4_2p3u/njs.gif?dcsuri=/index.php&amp;WT.js=No&amp;WT.tv=10.4.1&amp;dcssip=www.devx.com&amp;WT.qs_dlk=YEe9pQrSPF8LVSfrZtvhDwAAABM&"/></noscript>
</head>
<body>
<!-- "House Ribbon" Start -->
<div align="center">
  </div>
<!-- "House Ribbon" End -->

<!-- "468x60-1" Start-->
<div align="center" style="margin-top: 0px; margin-bottom: 0px; width:100%;">
  <!--<div>
    <img hspace="0" height="9" border="0" align="top" width="108" vspace="0" alt="advertisement" src="http://assets.devx.com/devx/3174.gif" />
  </div>-->
  <table align="center" width="100%" style="margin-top: 0px;">
    <tbody>
      <tr>
        <td valign="top">
          <table cellspacing="0" cellpadding="5" border="0" background="/assets/devx/3173.gif" align="center">
            <tbody>
              <tr>
                <td><!-- QS-AD: 'lb' start -->
<script language="JavaScript">
	var t=displayDFPTag("lb");
	document.write(t);

</script>
<!-- QS-AD: 'lb' end --></td>
              </tr>
            </tbody>
          </table>
        </td>
      </tr>
    </tbody>
  </table>
</div>
<!-- "468x60-1" End -->

<!-- Start 2 col layout: Exp DevX Bottom Logo w/ Search -->
<table cellspacing="0" cellpadding="0" border="0" width="100%">
	<tbody>
		<tr>
			<td width="317" valign="top" style="padding-top:10px;">
				<div style="margin-top:0"><div><a href="https://www.devx.com"><img hspace="0" height="70" border="0" width="317" vspace="0" alt="" src="https://assets.devx.com/devx/7819.gif" /><span class="sr-only">Site Logo</span></a></div></div>
				<div style="margin-top:0"><div><a href="https://www.devx.com"><img hspace="0" height="11" border="0" width="161" vspace="0" alt="" src="https://assets.devx.com/devx/7820.gif" /><span class="sr-only">Site Logo</span></a></div></div>
			</td>
			<td width="100%" valign="top" style="padding-top:10px;">
				<div>
					<table height="20" cellspacing="0" cellpadding="0" width="100%">
					</table>
				</div>
				<div style="margin-top:0">
					<script language="javascript">
						function validQuery()
						{
							var theQuery = document.searchForm.q.value;
							theQuery = theQuery.replace( /[^a-zA-Z0-9]/g, "" );
							if(theQuery.length > 0){
								return true;
							}else{
								alert('Please enter keywords to search.');
								document.searchForm.q.focus();
								return false;
							}
						}
					
</script>
					<table cellspacing="0" cellpadding="0" border="0" width="100%" style="margin-bottom: 0px;">
						<tbody>
                        <tr width="100" bgcolor="#000099">
                            <td>
                                <div style="min-width:900px;">
                                    <div style="float:left">
                                        <img height="30" border="0" width="105" src="https://assets.devx.com/devx/7821.gif" alt="" />
                                    </div>
                                    <div style="float:left; padding-top:5px;white-space:nowrap;width: 600px;">
                                        <form action="https://www.devx.com/search.html" id="cse-search-box" name="searchForm" onsubmit="return validQuery();">
                                            <div style="float:left;width: 615px;">
                                                <input type="hidden" name="cx" value="partner-pub-8768004398756183:1676794932" />
                                                <input type="hidden" name="ie" value="UTF-8" />
												<input type="hidden" name="cof" value="FORID:10">
												<input type="text" value="" maxlength="255" size="75" name="q" id="search-input" />
												<label for="search-input" style="position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0;color:white;">Search</label>
												&nbsp;&nbsp;
												<button type="submit" value="" style="background-image:url(/assets/devx/3386.gif);border:0 none;cursor:pointer; height:22px; vertical-align:top;width:27px;" ><span class="sr-only">Submit</span></button>
												
                                            </div>
                                        </form>
                                        <script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en">
</script>
                                    </div>
                                    <div id="showAdvertiserDisclosure"><a href="#footerDisclaimerText">Advertiser Disclosure</a></div>
                                    <div style="float:right; padding-top:4px; padding-right:15px;">
									 <div style="float:left;">
                                            <a target="_blank" href="https://www.linkedin.com/company/devx?trk=biz-companies-cym"><img border="0" title="LinkedIn" alt="LinkedIn" src="/images/icon_22x22-linkedin.png"></a>
                                        </div>									
                                        <div style="float:left;padding-left:10px;"">
                                            <a target="_blank" href="https://twitter.com/DevX_Com"><img border="0" title="Twitter" alt="Twitter" src="/images/icon_22x22-twitter.png"></a>
                                        </div>
                                        <div style="float:left;padding-left:10px;">
                                            <a target="_blank" href="https://www.devx.com/outgoing/devxfeed.xml"><img border="0" title="RSS Feed" alt="RSS Feed" src="/images/icon_rss_22x22.png"></a>
                                        </div>
                                        <div style="float:left;padding-left:10px;">
                                            <a target="_blank" href="http://www.devreader.com/"><img border="0" title="Download our iPhone app" alt="Download our iPhone app" src="/images/DR22x22.png"></a>
                                        </div>
                                    </div>
                                    <div style="clear:both"></div>
                                </div>
                            </td>
                        </tr>
                        </tbody>
					</table>
				</div>
				<div style="margin-top:0">
					<table height="20" cellspacing="0" cellpadding="0" border="0" bgcolor="#FFE48E" width="100%" style="border-bottom:#000099 solid 2px;border-right:#000099 solid 2px;margin-bottom:3px;">
						<tbody>
							<tr>
								<td align="center" class="helptext">
									<a class="helptext" href="https://www.devx.com/DailyNews/">TODAY'S&nbsp;HEADLINES</a>&nbsp;&nbsp;|&nbsp;&nbsp;
									<a class="helptext" href="https://www.devx.com/archives/">ARTICLE&nbsp;ARCHIVE</a>&nbsp;&nbsp;|&nbsp;&nbsp;
									<a class="helptext" href="https://forums.devx.com/">FORUMS</a>&nbsp;&nbsp;|&nbsp;&nbsp;
									<a class="helptext" href="https://www.devx.com/tips/">TIP&nbsp;BANK</a>
								</td>
							</tr>
						</tbody>
					</table>
				</div>
			</td>
		</tr>
	</tbody>
</table>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
  <tbody>
    <tr>
      <td width="175" valign="top">
            <div>
  <!-- (me.data_.widget_id) - start Bordered Box: Browse Devx Bordered Box -->
  <table cellspacing="0" cellpadding="0" border="0" width="161">
    <tbody>
      <tr>
        <td>
          <div><img hspace="0" height="20" border="0" width="161" vspace="0" alt="Browse DevX" src="https://assets.devx.com/devx/9113.gif"></div>
          <!-- START TEXT MENU -->
          <script type="text/javascript">
				function shownav(f,pos,size){
					if(f){visi="visible";}
					else{visi="hidden";}
					for(var i = 0; i < size; i++){
						if(i == pos){
							document.getElementById("navbar"+pos).style.visibility=visi;
						}
						else{
							document.getElementById("navbar"+i).style.visibility="hidden";
						}
					}
				}
				
		  
</script>
          <!-- LOAD HIDDEN SUB MENUS -->
          <div align="left" style="" class="" id="navigationMenu">
          		<div style="width:157px; position: relative; top: 0px; left: 150px; text-align: left;">
          			<div style="" id="navbar0" onmouseover="shownav(1,0,16)" onmouseout="shownav(0,0,16)" class="navbar">
          				<!-- <a href="https://resources.devx.com/Web-Dev">Web Development Resource Center</a> -->
          				<!-- <a href="https://resources.devx.com/MS_PHP">PHP for Windows Showcase</a> -->
          				<!-- <a href="http://solutions.devx.com/ms/msdn">MSDN Spotlight</a> -->
          				<!-- <a href="https://resources.devx.com/RIA">RIA Developement Center</a> -->
          				<!--<a href="http://solutions.devx.com/ibm/skillbuilding">Free IBM developerWorks Downloads, Tutorials and Articles on DevX</a>-->
          				<a href="https://www.developer.com/ws/android" rel="nofollow">Android Development Center</a>
          				<a href="https://www.codeguru.com/win_mobile/">Windows Mobile Dev Center</a>
          			</div>
          		</div>
              <div style="width:157px; position: relative; top: 17px; left: 150px; text-align: left;">
                  <div style="" id="navbar1" onmouseover="shownav(1,1,16)" onmouseout="shownav(0,1,16)" class="navbar">
                      <a href="https://www.devx.com/research">Sponsored Research</a>
                      <a href="https://www.devx.com/research/editorial">Editorial Research</a>
                  </div>
              </div>
          		<div style="width:157px; position: relative; top: 17px; left: 150px; text-align: left;">
          			<div style="" id="navbar2" onmouseover="shownav(1,2,16)" onmouseout="shownav(0,2,16)" class="navbar">
          				<a href="https://www.devx.com/ebook/">eBook Library for Technology Professionals</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 36px; left: 150px; text-align: left;">
          			<div style="" id="navbar3" onmouseover="shownav(1,3,16)" onmouseout="shownav(0,3,16)" class="navbar">
          				<a href="https://www.devx.com/dotnet/">DevX: .NET Zone</a>
          				<!-- <a href="http://solutions.devx.com/ms/msdn">MSDN Spotlight</a> -->
          				<!-- <a href="https://resources.devx.com/RIA">RIA Development Center</a> -->
          				<!-- <a href="https://resources.devx.com/VS_2010">Visual Studio 2010 Showcase</a> -->
                        <!-- <a href="http://solutions.devx.com/ms/developer-cloud">Cloud Computing Showcase for Developers</a> -->
          				<a href="https://www.codeguru.com/win_mobile/" rel="nofollow">Windows Mobile Dev Center</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 54px; left: 150px; text-align: left;">
          			<div style="" id="navbar4" onmouseover="shownav(1,4,16)" onmouseout="shownav(0,4,16)" class="navbar">
          				<a href="https://www.devx.com/Java/">DevX: Java Zone</a>
          				<!-- <a href="https://resources.devx.com/RIA">RIA Development Center</a> -->
          				<!--<a href="http://solutions.devx.com/ibm/skillbuilding">Free IBM developerWorks Downloads, Tutorials and Articles on DevX</a>-->
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 71px; left: 150px; text-align: left;">
          			<div style="" id="navbar5" onmouseover="shownav(1,5,16)" onmouseout="shownav(0,5,16)" class="navbar">
          				<a href="https://www.devx.com/cplus/">DevX: C++ Zone</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 90px; left: 150px; text-align: left;">
          			<div style="" id="navbar6" onmouseover="shownav(1,6,16)" onmouseout="shownav(0,6,16)" class="navbar">
          				<a href="https://www.devx.com/webdev/">DevX: Web Development Zone</a>
          				<a href="https://www.htmlgoodies.com/html5/index.php">HTML5 Development Center</a>
          				<!-- <a href="http://solutions.devx.com/ms/msdn">MSDN Spotlight</a> -->
          				<!-- <a href="https://resources.devx.com/MS_PHP">PHP for Windows Showcase</a> -->
          				<!-- <a href="https://resources.devx.com/RIA">RIA Development Center</a> -->
          				<!--<a href="http://solutions.devx.com/ibm/skillbuilding">Free IBM developerWorks Downloads, Tutorials and Articles on DevX</a>-->
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 107px; left: 150px; text-align: left;">
          			<div style="" id="navbar7" onmouseover="shownav(1,7,16)" onmouseout="shownav(0,7,16)" class="navbar">
          				<a href="https://www.devx.com/architect/">DevX: Architecture Zone</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 124px; left: 150px; text-align: left;">
          			<div style="" id="navbar8" onmouseover="shownav(1,8,16)" onmouseout="shownav(0,8,16)" class="navbar">
          				<a href="https://www.devx.com/dbzone/">DevX: Database Dev Zone</a>
          				<!--<a href="http://solutions.devx.com/ibm/skillbuilding">Free IBM developerWorks Downloads, Tutorials and Articles on DevX</a>-->
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 141px; left: 150px; text-align: left;">
          			<div style="" id="navbar9" onmouseover="shownav(1,9,16)" onmouseout="shownav(0,9,16)" class="navbar">
          				<a href="https://www.devx.com/security/">DevX: Security Zone</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 158px; left: 150px; text-align: left;">
          			<div style="" id="navbar10" onmouseover="shownav(1,10,16)" onmouseout="shownav(0,10,16)" class="navbar">
          				<a href="https://www.devx.com/opensource/">DevX: Open Source Zone</a>
          				<!--<a href="http://solutions.devx.com/ibm/skillbuilding">Free IBM developerWorks Downloads, Tutorials and Articles on DevX</a>-->
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 175px; left: 150px; text-align: left;">
          			<div style="" id="navbar11" onmouseover="shownav(1,11,16)" onmouseout="shownav(0,11,16)" class="navbar">
          				<a href="https://www.devx.com/enterprise/">DevX: Enterprise Zone</a>
          				<!-- <a href="https://resources.devx.com/VS_2010">Visual Studio 2010 Showcase</a> -->
          				<!--<a href="http://solutions.developer.com/ibm/cloud-computing">IBM Cloud Computing Development Center</a>-->
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 192px; left: 150px; text-align: left;">
          			<div style="" id="navbar12" onmouseover="shownav(1,12,16)" onmouseout="shownav(0,12,16)" class="navbar">
          				<a href="https://www.devx.com/wireless/">DevX: Wireless Zone</a>
          				<a href="https://www.codeguru.com/win_mobile/" rel="nofollow">Windows Mobile Dev Center</a>
          				<!-- <a href="https://resources.devx.com/RIA">RIA Development Center</a> -->
          				<a href="https://www.developer.com/ws/android" rel="nofollow">Android Development Center</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 226px; left: 150px; text-align: left;">
          			<div style="" id="navbar13" onmouseover="shownav(1,13,16)" onmouseout="shownav(0,13,16)" class="navbar">
          				<a href="https://www.devx.com/SpecialReports/Door/45193">Field Guide to the Mobile Development Platform Landscape</a>
          				<a href="https://www.devx.com/SpecialReports/Door/40893">Move to the Future with Multicore Code</a>
          				<a href="https://www.devx.com/SpecialReports/Door/38865">C++0x: The Dawning of a New Standard</a>
          				<a href="https://www.devx.com/SpecialReports/Door/37694">Going Mobile: Getting Your Apps On the Road</a>
          				<a href="https://www.devx.com/enterprise/">Software as a Service: Building On-Demand Applications in the Cloud</a>
          				<a href="https://www.devx.com/SpecialReports/RichInternetApps">A New Era for Rich Internet Applications</a>
          				<a href="https://www.devx.com/SpecialReports/Ruby">The Road to Ruby</a>
          				<a href="https://www.devx.com/VistaSpecialReport/">Vista's Bounty: Surprising Features Take You Beyond .NET 3.0</a>
          				<!-- <a href="https://www.devx.com/AJAXRoundup/Door/33119">The AJAX Framework Roundup</a> -->
          				<a href="https://www.devx.com/vmspecialreport/">Special Report: Virtual Machines Usher In a New Era</a>
          				<a href="https://www.devx.com/SpecialReports/interop">Java/.NET Interop: Bridging Muddled Waters</a>
          				<a href="https://www.devx.com/mobility/">Wireless Special Report: Marching Toward Mobility</a>
          				<a href="https://www.devx.com/SpecialReports/webservices">Home Page for Special Report: Ensuring Successful Web Services Today and Tomorrow</a>
          				<a href="https://www.devx.com/security/Article/16390">How to Create a Disaster Recovery Plan </a>
          				<a href="https://www.devx.com/SpecialReports/judgingjava">Special Report: Judging Java</a>
          			</div>
          		</div>
          		<div style="width:157px; position: relative; top: 243px; left: 150px; text-align: left;">
          			<div style="" id="navbar14" onmouseover="shownav(1,14,16)" onmouseout="shownav(0,14,16)" class="navbar">
          				<a href="https://www.devx.com/getHelpOn/cplus/">Past C/C++ 10-Minute Solutions</a>
          				<a href="https://www.devx.com/getHelpOn/Java/">Past Java 10-Minute Solutions</a>
          				<a href="https://www.devx.com/getHelpOn/webdev/">Past DHTML 10-Minute Solutions</a>
          				<a href="https://www.devx.com/getHelpOn/DevX/">Past DevX 10-Minute Solutions</a>
          				<a href="https://www.devx.com/getHelpOn/dbzone/">Past DB2 10-Minute Solutions</a>
          				<a href="https://www.devx.com/getHelpOn/vb/">Past Visual Basic 10-Minute Solutions</a>
          				<a href="https://www.devx.com/getHelpOn/webdev/">Past XML 10-Minute Solutions</a>
          			</div>
          		</div>
				
				<div style="width:157px; position: relative; top: 260px; left: 150px; text-align: left;">
          			<div style="" id="navbar15" onmouseover="shownav(1,15,16)" onmouseout="shownav(0,15,16)" class="navbar">
          				<a href="https://www.devx.com/blog/agile">DevXtra Blog: The Agile Architecture Revolution</a>
          				<a href="https://www.devx.com/blog/dev_issues">DevXtra Blog: Enterprise Issues For Developers</a>          				
          			</div>
          		</div>
				
          		<div style="width:157px; position: relative; top: 277px; left: 150px; text-align: left;">
          			<div style="" id="navbar16" onmouseover="shownav(1,16,16)" onmouseout="shownav(0,16,16)" class="navbar"> </div>
          		</div>
          </div>
          <!-- DISPLAY TOP LEVEL MENUS -->
          <div align="left" style="width:157px; border-left:2px solid #000099; border-right:2px solid #000099; background-color:#FFE48E;" class="">
            <table cellspacing="0" cellpadding="0" border="0" width="157">
              <tbody>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,0,16)" onmouseover="shownav(1,0,16)" href="https://www.devx.com/">Specialized Dev Zones</a>
                  	</td>
                </tr>
                <tr>
                    <td id="navi_button">
                        <a onmouseout="shownav(0,1,16)" onmouseover="shownav(1,1,16)" href="https://www.devx.com/research">Research Center
                        </a>
                    </td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,2,16)" onmouseover="shownav(1,2,16)" href="https://www.devx.com/ebook/">eBook Library
                		</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,3,16)" onmouseover="shownav(1,3,16)" href="https://www.devx.com/dotnet/">.NET</a>
                	</td>
                </tr>                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,4,16)" onmouseover="shownav(1,4,16)" href="https://www.devx.com/Java/">Java</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                  		<a onmouseout="shownav(0,5,16)" onmouseover="shownav(1,5,16)" href="https://www.devx.com/cplus/">C++</a>
                  	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,6,16)" onmouseover="shownav(1,6,16)" href="https://www.devx.com/webdev/">Web Dev</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,7,16)" onmouseover="shownav(1,7,16)" href="https://www.devx.com/architect/">Architecture</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,8,16)" onmouseover="shownav(1,8,16)" href="https://www.devx.com/dbzone/">Database</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,9,16)" onmouseover="shownav(1,9,16)" href="https://www.devx.com/security/">Security</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,10,16)" onmouseover="shownav(1,10,16)" href="https://www.devx.com/opensource/">Open Source</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,11,16)" onmouseover="shownav(1,11,16)" href="https://www.devx.com/enterprise/">Enterprise</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,12,16)" onmouseover="shownav(1,12,16)" href="https://www.devx.com/wireless/">Mobile</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,13,16)" onmouseover="shownav(1,13,16)" href="https://www.devx.com/SpecialReports/Door/45193">Special Reports</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,14,16)" onmouseover="shownav(1,14,16)" href="https://www.devx.com/getHelpOn/">10-Minute Solutions</a>
                	</td>
                </tr>
                <tr>
                	<td id="navi_button">
                		<a onmouseout="shownav(0,15,16)" onmouseover="shownav(1,15,16)" href="https://www.devx.com/blog/">DevXtra Blogs</a>
                	</td>
                </tr>
                <tr>
                    <td id="navi_button">
                        <a href="https://www.devx.com/slideshows/">Slideshow</a>
                    </td>
                </tr>
              </tbody>
            </table>
          </div>
          <!-- END TEXT MENU -->
        </td>
      </tr>
      <tr>
      	<td><img height="23" border="0" align="top" width="161" src="https://assets.devx.com/devx/9114.gif" alt=""></td>
      </tr>
    </tbody>
  </table>
</div>
<div style="margin-top:20">
	<div style="margin-top:20px;" class="">
		<table width="164" cellspacing="0" cellpadding="0" border="0">
			<tbody>
				<tr>
					<td valign="top">
						<div><img width="164" height="31" border="0" align="top" src="https://assets.devx.com/devx/3235.gif" alt=""></div>
						<table width="140" cellspacing="0" cellpadding="3" align="left" style="border-right:1px #ff6600 solid;">
							<tbody>
								<tr>
									<td valign="top" bgcolor="#FAFAE6">
										<form style="margin:0px" method="post" id="newsletter_subscribe">											
											<input name="nlBusinessUnit" id="nlBusinessUnit" value="Internet.com" type="hidden">
                                                                                        <input value="https://o1.qnsr.com/cgi/r?;n=203;c=1387912;s=15939;x=7936;f=201306031137030;u=j;z=TIMESTAMP;" id="nlQuadTrackUrl" name="nlQuadTrackUrl" type="hidden">
											<input name="nlNewsletterKey" id="nlNewsletterKey" value="1463,1423,1403" type="hidden">
											<table width="100%" cellspacing="0" cellpadding="0" border="0" bgcolor="">
												<tbody>
													<tr>
														<td class="smallfont" colspan="2"><strong>Sign up for e-mail newsletters from DevX</strong></td>
													</tr>
													<tr>
														<td class="smallfont" colspan="2">
														<label for="nlemail" class="sr-only">Search</label>
                                                                                                                    <input maxlength="255" class="nlemail" name="nlemail" id="nlemail" style="color:#808080;" placeholder="Enter email address" type="text" />
															<span id="nl_response_message"></span>
														</td>
													</tr>
													<tr>
														<td valign="middle" class="smallfont" colspan="2">
															<input id="btnSubscribe" onclick="newsletterGlobalSubmit('newsletter_subscribe','nl_response_message', 'nl_response_message'); return false;" width="69" type="image" height="22" border="0" alt="submit button" src="https://assets.devx.com/devx/3236.gif" value="submit"><br>
														</td>
													</tr>
												</tbody>
											</table>
										</form>
										
									</td>
								</tr>
							</tbody>
						</table>
					</td>
				</tr>
			</tbody>
		</table>
	</div>
</div>
<div style="margin-top:20">
	<table width="100%" cellspacing="0" cellpadding="0" border="0">
		<tbody>
			<tr>
				<td valign="top">
									</td>
			</tr>
		</tbody>
	</table>
</div>            <br>
            <!-- START: SKY AD -->
                <div style="margin-left:5px;"><!-- QS-AD: 'sky' start -->
<script language="JavaScript">
	var t=displayDFPTag("sky");
	document.write(t);

</script>
<!-- QS-AD: 'sky' end --></div>
            <!-- END: SKY AD -->
    </td>
      <td valign="top">
        <!-- Content Start -->
          <div>
  <!-- (3875) - start 2 col layout: DevX Homepage Middle and right -->
  <table cellspacing="0" cellpadding="0" border="0" width="100%">
    <tbody>
      <tr>
        <td valign="top" style="padding-right:15px">
          <div>
            <!-- (10356) - start 3 col layout: Double CIU holder 3 column -->
            <!-- table start -->
            	<table cellspacing="0" cellpadding="0" border="0" style="margin-bottom:5px">
              <tbody>
                <tr>
                  <!-- first table column start -->
                  <td bgcolor="#E1E1E1" width="100%" valign="top">
                    <!-- OAS ad tag start (10332)-->
                    <div><img hspace="0" height="1" border="0" align="top" width="1" vspace="0" alt="advertisement" src="https://assets.devx.com/articlefigs/8427.gif"></div>
                    <table cellspacing="5" width="100%" style="background-color: rgb(225, 225, 225);margin-bottom:5px">
                      <tbody>
                        <tr>
                          <td valign="top">
                            <!-- QS-AD: 'ciu' start -->
<script language="JavaScript">
	var t=displayDFPTag("ciu");
	document.write(t);

</script>
<!-- QS-AD: 'ciu' end -->                          </td>
                        </tr>
                      </tbody>
                    </table>
                    <!-- OAS ad tag end -->
                    <!-- table: left column end, middle column start -->
                  </td>
                                  </tr>
              </tbody>
            </table>            <!-- end 3 col layout: Double CIU holder 3 column -->
          </div>
          <div style="margin-top:0">
            <div style="border-top:1px #000099 solid;" class="expgoldbox">
              <div class="homepageheaders"> <img border="0" src="/assets/intel/9169.gif" alt=""> FEATURED ARTICLE</div>
              <table cellspacing="0" cellpadding="0" border="0" width="100%">
                <tbody>
                  <tr>
                    <td valign="TOP">
                    	                        <img hspace="5" border="0" align="left" vspace="5" height="48" width="48" alt="" src="/imagesvr_ce/1598/soft-code_200x150-7.jpg" />
                                                  <div style="font-size:14px" class="leadfeature" >
                            <a style="font-size:14px" class="leadfeature" href="/DevX/tip-convert-float-to-bits.html">Tip: Convert Float to Bits</a>
                          </div>
                        	                      <div style="font-size:12px" class="dekstyle"><p>See how to convert a float number to bits in Java.</p></div>
                    </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <div style="margin-top:0">
	<div style="padding:10px" class="expwhitebox">
    	<div class="homepageheaders"><h2 class="homepageheaders"><img border="0" src="/assets/intel/9169.gif" alt=""> NEWEST ARTICLES</h2></div>
    					<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-understandng-the-toexactint-method-in-the-java.lang.math-package.html" class="featurelink">Tip: Understandng the toExactInt Method in the java.lang.Math Package</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 16, 2020</div>
				<div class="DekStyle"><p>Explore the toIntExact() method in the java.lang.Math Package.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/finding-objects-dependencies-in-sql.html" class="featurelink">Tip: Finding Object Dependencies in SQL</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 15, 2020</div>
				<div class="DekStyle"><p>Choose one of these three SQL queries that will return all the database objects that depend on it.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-understanding-the-trim-function-in-mysql.html" class="featurelink">Tip: Understanding the TRIM Function in MySQL</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 14, 2020</div>
				<div class="DekStyle"><p>In MySQL, the TRIM function has additional implementations other than just trimming spaces. See what else you can do.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-reading-a-file-via-gson.html" class="featurelink">Tip: Reading a File via GSON</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 13, 2020</div>
				<div class="DekStyle"><p>See an example of how to read a file via GSON.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-check-for-finite-numbers-in-python.html" class="featurelink">Tip: Check for Finite Numbers in Python</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 10, 2020</div>
				<div class="DekStyle"><p>See how to check whether or not a number is finite in Python.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-retrieving-a-file-from-a-jar-file.html" class="featurelink">Tip: Retrieving a File from a Jar File</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 9, 2020</div>
				<div class="DekStyle"><p>Learn how to retrieve needed files from a JAR file.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-t-sql-performance-stored-procedure-names.html" class="featurelink">Tip: T-SQL Performance--Stored Procedure Names</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 8, 2020</div>
				<div class="DekStyle"><p>See why you should avoid prefixing your Stored Procedure names with sp_.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-understanding-least-and-greatest-in-mysql.html" class="featurelink">Tip: Understanding Least and Greatest in MySQL</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 7, 2020</div>
				<div class="DekStyle"><p>Explore the least and greatest functions in MySQL.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-how-to-log-hikaricp-details-in-spring-boot.html" class="featurelink">Tip: How to Log HikariCP Details in Spring Boot</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 6, 2020</div>
				<div class="DekStyle"><p>See an example of how to log HikariCP details.</p></div>
						<div class="featurelink" style="margin-top: 5px;"><a href="https://www.devx.com/DevX/tip-return-multiple-values-from-a-function-in-python.html" class="featurelink">Tip: Return Multiple Values from a Function in Python</a></div>
                				<div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/DevX/">DevX</a> | Published on April 3, 2020</div>
				<div class="DekStyle"><p>Learn how to return multiple values in Python.</p></div>
		    </div>
</div>
<div style="margin-top:0">
	<div style="padding:2px;" class="expwhitebox">
 		<ul style="margin:0px 0px 0px 8px;padding:0;list-style: none;">
 			<li style="margin-bottom:5px;background-image:url(https://assets.devx.com/devx/9800.gif);background-repeat:no-repeat;padding:0px 0px 5px 8px;background-position: 0 2;">
 				<a class="featurelink" href="https://www.devx.com/archives/">More Articles</a>
 			</li>
 		</ul>
 	</div>
</div>          <div style="margin-top:0">
            <!-- top stories by section -->
            <div style="padding:10px;padding-top:5px;padding-bottom:5px;border-top:1px solid #00009C;" class="expwhitebox">
              <h3 style="color:#000000;text-transform:uppercase" class="homepageheaders">
              	<img border="0" src="https://www.devx.com/assets/intel/9169.gif" alt="" />
              	<a style="color:#000000;text-transform:uppercase" class="homepageheaders" href="https://www.devx.com/DailyNews/">Enterprise Development Headlines</a>
              	<a href="https://www.devx.com/outgoing/dailynews.xml"><span class="sr-only">Rss Feed</span>
              		<img height="12" border="0" width="12" alt="" src="https://assets.devx.com/Icon/rss.jpg" />
              	</a>
              </h3>
                          </div>
          </div>
          <div style="margin-top:0">
            <div align="left" style="border-bottom:1px #000099 solid; padding:10px;" class="expwhitebox">
            	<a href="https://www.devx.com/DailyNews/" class="featurelink">
            		<img border="0" src="/assets/intel/9169.gif" alt="" /> More Enterprise Development Headlines
            	</a>
            </div>
          </div>
          <!-- <div style="margin-top:0">
           <div align="left" style="padding:10px;border-top:1px solid #00009C;" class="expwhitebox"> <span style="font-weight:bold;line-height:20px" class="smallfont"><span class="homepageheaders"><img border="0" src="/assets/intel/9169.gif"> DISCUSSIONS</span><br>
              Newest Posts</span><br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=176051">Sorting
              for equal_range()</a> <span class="smallfont">(heidik)</span> <span class="invisible">Replies:
              0</span> <span style="color:#666666;" class="smallfont">(01/15/12
              11:18:53 AM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=176050">Getting
              into Mobile development from scratch</a> <span class="smallfont">(EndDream)</span> <span class="invisible">Replies:
              0</span> <span style="color:#666666;" class="smallfont">(01/13/12
              09:21:13 PM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=176049">Changing
              default value of a property of a control (DataGridView).</a> <span class="smallfont">(priyamtheone)</span> <span class="invisible">Replies:
              0</span> <span style="color:#666666;" class="smallfont">(01/12/12
              09:23:25 AM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=176048">content
              control vsto font getting changed</a> <span class="smallfont">(Dipu710646)</span> <span class="invisible">Replies:
              0</span> <span style="color:#666666;" class="smallfont">(01/12/12
              03:42:56 AM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=176047">Adding
              Dynamically Dropdown list to GridView</a> <span class="smallfont">(Pretty
              coder)</span> <span class="invisible">Replies: 0</span> <span style="color:#666666;" class="smallfont">(01/11/12
              04:44:40 AM)</span> <br>
            </div>
          </div>
          <div style="margin-top:0">
            <div align="left" style="padding:10px; padding-top:5px;padding-bottom:5px;" class="expwhitebox"> <span style="font-weight:bold;" class="smallfont">Most
                Popular Threads</span><br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=166744">How
              to bind 2 fields into 1 combobox</a> <span class="smallfont">(crystalelle)</span> <span class="smallfont">Replies:
              11</span> <span style="color:#666666;" class="smallfont">(01/09/12
              09:02:57 PM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=175967">Specified
              table does not Exist.</a> <span class="smallfont">(Map_Freak)</span> <span class="smallfont">Replies:
              8</span> <span style="color:#666666;" class="smallfont">(01/05/12
              03:16:57 PM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=150334">Help
              with HTML to PDF conversion with VB.net</a> <span class="smallfont">(software_develo)</span> <span class="smallfont">Replies:
              9</span> <span style="color:#666666;" class="smallfont">(12/31/11
              12:18:52 AM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=143371">Problem
              with RXTX in Windows</a> <span class="smallfont">(newbie29)</span> <span class="smallfont">Replies:
              6</span> <span style="color:#666666;" class="smallfont">(12/27/11
              05:42:18 AM)</span> <br>
              <span style="color:#943B00;">�</span> <a style="color:#0000FF;" class="defaultlink" target="_blank" href="http://forums.devx.com/showthread.php?threadid=148804">SQL
              Insert data in Multiple table and Update at same time</a> <span class="smallfont">(software_develo)</span> <span class="smallfont">Replies:
              8</span> <span style="color:#666666;" class="smallfont">(12/22/11
              01:11:54 PM)</span> <br>
            </div>
          </div>  -->
          <div style="margin-top:0">
            <div align="left" style="padding:10px; padding-top:0px;padding-bottom:0px;" class="expwhitebox">
              <table cellspacing="0" cellpadding="3" border="0">
                <tbody>
                  <tr>
                    <td valign="top"> <img height="10" border="0" align="top" width="4" src="https://assets.devx.com/devx/9800.gif" alt="1"> </td>
                    <td valign="top" class="featurelink"> <a style="margin-right:3px;" class="featurelink" href="http://forums.devx.com/">See All Forums</a> </td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <div style="margin-top:0">
            <div align="left" style="padding:10px;border-top:1px solid #00009C;" class="expwhitebox"> <span style="font-weight:bold;line-height:20px" class="smallfont"><span class="homepageheaders"><img border="0" src="/assets/intel/9169.gif" alt=""> From the Blog</span><br>
              Latest Posts</span><br>
              	            </div>
          </div>
          <div style="margin-top:0">
            <div align="left" style="padding:10px; padding-top:5px;padding-bottom:0px;border-top:1px solid #00009C;" class="expwhitebox">
            	<font style="" class="homepageheaders"><img border="0" src="/assets/intel/9169.gif" alt=""> TIPS</font>
            </div>
          </div>
          <div style="margin-top:0">
            <div align="left" style="padding:10px;padding-top:5px;padding-bottom:5px;" class="expwhitebox">
            						<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/how-to-call-a-stored-procedure-via-jdbctemplate-200227082010.html" class="basiclink">How to Call a Stored Procedure via the JdbcTemplate</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 12, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/increment-integers-200227082524.html" class="basiclink">How to Increment Integers</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 11, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/is-string-str2-a-rotation-of-string-str1-200227082004.html" class="basiclink">Determine if String str2 is a Rotation of String str1</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 8, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/convert-a-given-code-point-to-string-200227082518.html" class="basiclink">Convert a Given Code Point to a String</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 7, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/understandng-java.net.passwordauthentication-200226014020.html" class="basiclink">Understanding java.net.PasswordAuthentication</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 6, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/database-development/mysql/mysql-converting-time-to-seconds-200329214512.html" class="basiclink">Converting TIME to SECONDS in MySQL</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 5, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/copy-an-array-200330232038.html" class="basiclink">Copy an Array</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 4, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/chunk-a-list-in-functional-style-200227082012.html" class="basiclink">Chunk a List in Functional Style</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on May 1, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/java/cloning-a-matrix-200330232027.html" class="basiclink">Cloning a Matrix in Java</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on April 30, 2020</div>
					</div>
									<div style="margin-bottom:5px;">
						<a href="https://www.devx.com/tips/web-development/python-and-perl/retrieving-remainder-of-two-numbers-in-python-200126074509.html" class="basiclink">Retrieving the Remainder of Two Numbers in Python</a>						 <div style="color:#666666;" class="smallfont">Published in <a href="https://www.devx.com/">https://www.devx.com/</a> | Published on April 29, 2020</div>
					</div>
				            </div>
          </div>
          <div style="margin-top:0">
            <div align="left" style="padding:10px; padding-top:0px;padding-bottom:0px;border-bottom:1px solid #00009C;" class="expwhitebox">
              <table cellspacing="0" cellpadding="1" border="0">
                <tbody>
                  <tr>
                    <td valign="top"> <img height="10" border="0" align="top" width="4" src="https://assets.devx.com/devx/9800.gif" alt="1"> </td>
                    <td valign="top" class="featurelink"> <a style="margin-right:5px;" class="featurelink" href="https://www.devx.com/tips/">Browse All Tips</a> </td>
                    <td valign="top"> <img height="10" border="0" align="top" width="4" src="https://assets.devx.com/devx/9800.gif" alt="2"> </td>
                    <td valign="top" class="featurelink"> <a style="margin-right:5px;" class="featurelink" href="https://www.devx.com/submit-a-tip.html">Submit a Tip</a> </td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
        </td>
        <td width="300" valign="top">                
                <div style="margin-top:0">
                    <!-- OAS ad tag start (3768)-->
                    <div align="left" style="margin-bottom:5px; margin-left: 0px;" class="">
                      <!--<div><img hspace="0" height="9" border="0" align="top" width="108" vspace="0" alt="advertisement" src="http://assets.devx.com/devx/3174.gif"></div>-->
                      <table cellspacing="0" cellpadding="0" width="100%">
                        <tbody>
                          <tr>
                            <td valign="top">
                              <table cellspacing="0" cellpadding="0">
                                <tbody>
                                  <tr>
                                    <td align="left">
                                      <!-- QS-AD: 'imu' start -->
<script language="JavaScript">
	var t=displayDFPTag("imu");
	document.write(t);

</script>
<!-- QS-AD: 'imu' end -->                                    </td>
                                  </tr>
                                </tbody>
                              </table>
                            </td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                    <!-- OAS ad tag end -->
                  </div>
                
                <div>
                    <table cellspacing="0" cellpadding="0" border="0" width="300" style="margin-bottom:5px">
                      <tbody>
                        <tr>
                          <td valign="top">
                            <div><img height="32" border="0" align="top" width="300" src="https://assets.devx.com/devx/9755.gif" alt=""></div>
                            <table cellspacing="0" cellpadding="3" width="300" style="border:1px #FF6600 solid; border-top:0px;">
                              <tbody>
                                <tr>
                                  <td bgcolor="#FAFAE6" width="100%" valign="top" id="featuredPartnersZone">
                                  	<ul>
<li><a href="https://www.codeguru.com/win_mobile/" rel="nofollow">Windows Mobile Development Center</a></li>
<li><a href="https://www.htmlgoodies.com/html5/index.php" rel="nofollow">HTML5 Development Center </a></li>
<li><a href="https://www.developer.com/ws/android" rel="nofollow">Android Development Center</a></li>
</ul>                                  </td>
                                </tr>
                              </tbody>
                            </table>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </div>
                  
                   
                  
                  <div style="margin-top:0"><font style="" class="">
                    <!-- Code to put on site page to show pinning option -->
                    <script language="javascript" type="text/javascript">
                    	if(jQuery.browser.msie) {
                        	if(document.documentMode != undefined && document.documentMode==9){
                            	if (!window.external.msIsSiteMode()) {
                                	document.write('<div style="width:280px;height:64px;padding:10px;background-color:#FEE38F" id="pinMeContainer"><img class="msPinSite" src="https://assets.devx.com/devx/devxlogo2.JPG" alt="" align="left" height="64" weight="64" style="margin-right:15px;" /><br/><span id="pinMe" style="color:#000;line-height:20px;font:normal 12px arial;">To Pin this site, drag this image to the left to your Windows Taskbar. Try it now!</span></div>');
                                }else {
                                    try {
                                        if (window.external.msIsSiteMode()) {
                                            jQuery.get('https://www.devx.com/pinned/devx_pinned.html', function(data){ displayLatestNews(eval(data)); } );
                                        }
                                    } catch (ex) { }
                                }
                            }
                        }

                        function displayLatestNews(data){
                            try{
                                g_ext = window.external;
                                if(data.articles != undefined && data.articles.length){
                                    g_ext.msSiteModeClearJumpList();
                                    g_ext.msSiteModeCreateJumplist('DevX.com Latest Articles');
                                    for(i=0; i<data.articles.length; i++){
                                        g_ext.msSiteModeAddJumpListItem (data.articles[i].title, data.articles[i].link, 'https://www.devx.com/favicon.ico');
                                    }
                                    var dt = new Date();
                                    var updated = (dt.getMonth()+1)+"/"+(dt.getDay()+1)+"/"+dt.getFullYear()+" "+dt.toLocaleTimeString();
                                    g_ext.msSiteModeAddJumpListItem('Last updated - '+updated, 'https://www.devx.com/', 'https://www.devx.com/images/refresh.ico');
                                    g_ext.msSiteModeShowJumpList();
                                }
                            }catch(ex){ }
                        }
                    
</script>
                    <!-- End of code to put on site page to show pinning option -->
                    </font></div>
                  <div style="margin-top:0">
                    <!-- OAS ad tag start (4463)-->
                    <!-- <div align="left" style="margin-bottom:5px;" class="">
                      <div><img hspace="0" height="1" border="0" align="top" width="1" vspace="0" alt="advertisement" style="align:center; margin-bottom:3px;" src="http://assets.devx.com/articlefigs/8427.gif"></div>
                      <table cellspacing="0" cellpadding="0" border="0" width="100%">
                        <tbody>
                          <tr>
                            <td valign="top">
                              <table cellspacing="0" cellpadding="0" border="0">
                                <tbody>
                                  <tr>
                                    <td align="center">
                                                                        </td>
                                  </tr>
                                </tbody>
                              </table>
                            </td>
                          </tr>
                        </tbody>
                      </table>
                    </div> -->
                    <!-- OAS ad tag end -->
                  </div>
                  <div style="margin-top:0">
                    <!-- OAS ad tag start (3768)-->
                    <div align="left" style="margin-bottom:5px; margin-left: 0px;" class="">
                      <!--<div><img hspace="0" height="9" border="0" align="top" width="108" vspace="0" alt="advertisement" src="http://assets.devx.com/devx/3174.gif"></div>-->
                      <table cellspacing="0" cellpadding="0" width="100%">
                        <tbody>
                          <tr>
                            <td valign="top">
                              <table cellspacing="0" cellpadding="0">
                                <tbody>
                                  <tr>
                                    <td align="left">
                                      <!-- QS-AD: 'imu' start -->
<script language="JavaScript">
	var t=displayDFPTag("imu");
	document.write(t);

</script>
<!-- QS-AD: 'imu' end -->                                    </td>
                                  </tr>
                                </tbody>
                              </table>
                            </td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                    <!-- OAS ad tag end -->
                  </div>
                  <div style="margin-top:0; padding-bottom: 10px;">
                  	                  </div>
                  <div style="margin-top:0">
                    <div style="margin-bottom:5px;" class="">
                      <table cellspacing="0" cellpadding="0" border="0" width="300">
                        <tbody>
                          <tr>
                            <td valign="top">
                              <div><img height="32" border="0" align="top" width="300" src="https://assets.devx.com/devx/9756.gif" alt=""></div>
                              <table cellspacing="0" cellpadding="0" width="300" style="border:1px #FF6600 solid; border-top:0px;">
                                <tbody>
                                  <tr>
                                    <td>
                                      <table cellspacing="0" cellpadding="2" border="0">
                                        <tbody>
                                          <tr>
                                            <td valign="top">
                                              <table>
                                                <tbody>
                                                  <tr>
                                                    <td colspan="2"><a class="basiclink" href="/DevX/Article/16190">FAQ</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/devxfeed.xml"><span class="sr-only">Devx Feeds</span><img height="10" border="0" width="25" alt="" src="/assets/devx/9649.gif"></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/devxfeed.xml">Latest Articles</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/javafeed.xml"><span class="sr-only">Java Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/javafeed.xml">Java</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/dotnet.xml"><span class="sr-only">DotNet Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/dotnet.xml">.NET</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/xmlfeed.xml"><span class="sr-only">XML Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/xmlfeed.xml">XML</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/databasefeed.xml"><span class="sr-only">Database Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/databasefeed.xml">Database</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/enterprisefeed.xml"><span class="sr-only">Enterprise Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/enterprisefeed.xml">Enterprise</a></td>
                                                  </tr>
                                                </tbody>
                                              </table>
                                            </td>
                                            <td valign="top">
                                              <table>
                                                <tbody>
                                                  <tr>
                                                    <td colspan="2">
                                                    	<span class="smallfont">Questions? <a href="mailto:rssfeedback@devx.com">Contact us</a>.</span>
                                                    </td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/cplusfeed.xml"><span class="sr-only">C++ Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/cplusfeed.xml">C++</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/webdevfeed.xml"><span class="sr-only">Web Development Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/webdevfeed.xml">Web Development</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/wirelessfeed.xml"><span class="sr-only">Wireless Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/wirelessfeed.xml">Wireless</a></td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/recentTipsFeed.xml"><span class="sr-only">Latest Tips Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/recentTipsFeed.xml">Latest Tips</a> </td>
                                                  </tr>
                                                  <tr>
                                                    <td valign="top"><a href="https://www.devx.com/outgoing/openSourceFeed.xml"><span class="sr-only">Open Source Feed</span><img height="10" border="0" width="25" src="/assets/devx/9649.gif" alt=""></a></td>
                                                    <td><a class="basiclink" href="https://www.devx.com/outgoing/openSourceFeed.xml">Open Source</a></td>
                                                  </tr>
                                                </tbody>
                                              </table>
                                            </td>
                                          </tr>
                                        </tbody>
                                      </table>
                                    </td>
                                  </tr>
                                </tbody>
                              </table>
                            </td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
        </td>
      </tr>
    </tbody>
  </table>
</div>        <!-- Content End -->
      </td>
    </tr>
  </tbody>
</table>

<div style="margin:auto;margin-top:20px;" class="printHide">
  <!-- OAS ad tag start (3873)-->
  <div align="center" class="" style="margin-top: 0px; margin-bottom: 0px; width:100%; padding:10px 0;">
    <!--<div>
    	<img src="http://assets.devx.com/devx/3174.gif" border="0" align="top" vspace="0" hspace="0" width="108" vspace="0" height="9" alt="advertisement">
   	</div>-->
    <table width="100%" align="center" style="margin-top: 0px;">
      <tr>
        <td valign="top">
          <table cellspacing="0" cellpadding="5" border="0" background="/assets/devx/3173.gif" align="center">
            <tr>
              <td><!-- QS-AD: 'lb' start -->
<script language="JavaScript">
	var t=displayDFPTag("lb");
	document.write(t);

</script>
<!-- QS-AD: 'lb' end --></td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
 </div>
<!-- OAS ad tag end -->
<style type="text/css">
    #brand-footer{text-align:center;margin:0 auto;}
    #commonfooterpropertytext{padding-bottom: 12px;}
    #commonfootercopyright{padding: 3px;}
    #eweekBrand-footer{text-align:center;margin:0 auto}
    #footerDisclaimerText{margin: 15px 10px 0px 10px; text-align: justify;}
</style>
<div id="brand-footer">
    <div id="acceptableusepolicy" style="display:none;">
        <a rel='nofollow' href='/aup.html' target='_blank' style='color: #000000;'>Acceptable Use Policy</a>
    </div>
    <div>
        <img id="commonfooterlogo" src="" alt="Site Logo" border="0" class="lazy" />
    </div>
    <div id="commonfooterpropertytext"></div>
    <div id="footerlinks">
        <a rel="nofollow" id="commonfootetearmslink" href="https://technologyadvice.com/terms-conditions/">Terms of Service</a> | 
        <a rel="nofollow" id="commonfooteraboutuslink" href="https://technologyadvice.com/about-us/" target="_blank">About Us</a> | 
        <a rel="nofollow" id="commonprivacylink" href="/privacy">Privacy Notice</a> | 
        <a rel="nofollow" id="commonfootercontactuslink" href="https://technologyadvice.com/contact-us/">Contact Us</a> | 
        <a rel="nofollow" id="commonadvertiselink" href="https://technologyadvice.com/programs/digital-advertising-solutions/" target="_blank">Advertise</a> |
        <a rel="nofollow" id="commonsitemaplink" href="/sitemap.html" target="_blank">Sitemap</a> |
        <a rel="nofollow" id="commonfootercalifornialink" href="https://technologyadvice.com/privacy-policy/ccpa-opt-out-form" target="_blank">California - Do Not Sell My Information</a> 
    </div>
    <div id="commonfootercopyright"></div>
    <div id="footerDisclaimerText">
        <p>
            <strong>Advertiser Disclosure:</strong>&nbsp;<span id="advDisclaimer"></span>
        </p>
    </div>
</div>
<script async language="Javascript" src="/icom_includes/footers/scripts/footerbrandingcode.js">
</script></div>
<link href='https://fonts.googleapis.com/css?family=Lato&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<div id="newuserregistrationpopup">
    <div id="closepopup"><a class="close" href="#"><span class="sr-only">Close Icon</span><img src="/img/registrationwelcome/close_icon.png" border="0" alt=""/></a></div>
    <div id="thankuptext">Thanks for your registration, follow us on our social networks to keep up-to-date</div>
	<div id="socialsharebtn">
        <div id="socialbtns"><a href="https://o1.qnsr.com/cgi/r?WT.qs_dlk=YEe9pQrSPF8LVSfrZtvhDwAAABM;;n=203;c=1459370;s=8986;x=7936;f=201411241658150;u=j;z=TIMESTAMP;k=https://twitter.com/DevX_Com" target="_blank"><span class="sr-only">Twitter</span><img src="/img/registrationwelcome/user-register-popup-tw.png" border="0" alt=""/></a></div>
        <div id="socialbtns"><a href="https://o1.qnsr.com/cgi/r?WT.qs_dlk=YEe9pQrSPF8LVSfrZtvhDwAAABM;;n=203;c=1459370;s=8986;x=7936;f=201411241658150;u=j;z=TIMESTAMP;k=https://www.linkedin.com/company/devx?trk=biz-companies-cym" target="_blank"><span class="sr-only">LinkedIN</span><img src="/img/registrationwelcome/user-register-popup-ln.png" border="0" alt=""/></a></div>
        <div id="socialbtns"><a href="https://o1.qnsr.com/cgi/r?WT.qs_dlk=YEe9pQrSPF8LVSfrZtvhDwAAABM;;n=203;c=1459370;s=8986;x=7936;f=201411241658150;u=j;z=TIMESTAMP;k=https://plus.google.com/u/0/b/117958898397590965610/+DevxCom/posts" target="_blank"><span class="sr-only">Google Plus</span><img src="/img/registrationwelcome/user-register-popup-gplus.png" border="0" alt=""/></a></div>
        <div id="socialbtns"><a href="https://www.devx.com/outgoing/devxfeed.xml" target="_blank"><span class="sr-only">Devx Feed</span><img src="/img/registrationwelcome/user-register-popup-rss.png" border="0" alt=""/></a></div>
    </div>
</div>

</body>
</html>