<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: List objects owned by named user in iSeries</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/</link>
	<description></description>
	<lastBuildDate>Tue, 18 Jun 2013 20:45:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: pobretommy</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-91493</link>
		<dc:creator>pobretommy</dc:creator>
		<pubDate>Thu, 28 Apr 2011 17:47:20 +0000</pubDate>
		<guid isPermaLink="false">#comment-91493</guid>
		<description><![CDATA[Try this:

DSPOBJD OBJ(targetlib/*ALL) OBJTYPE(*ALL) 
OUTPUT(*OUTFILE) OUTFILE(userlib/outfile)                                                                         

Then query outfile:

SELECT *              
FROM userlib/outfile     
WHERE ODCRTU = &#039;userid&#039;]]></description>
		<content:encoded><![CDATA[<p>Try this:</p>
<p>DSPOBJD OBJ(targetlib/*ALL) OBJTYPE(*ALL)<br />
OUTPUT(*OUTFILE) OUTFILE(userlib/outfile)                                                                         </p>
<p>Then query outfile:</p>
<p>SELECT *<br />
FROM userlib/outfile<br />
WHERE ODCRTU = &#8216;userid&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Most-Watched IT Questions: January 4, 2011 - ITKE Community Blog</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-86051</link>
		<dc:creator>The Most-Watched IT Questions: January 4, 2011 - ITKE Community Blog</dc:creator>
		<pubDate>Tue, 04 Jan 2011 06:42:32 +0000</pubDate>
		<guid isPermaLink="false">#comment-86051</guid>
		<description><![CDATA[[...] 5. One member is wondering how to change the IP authentication settings in his network&#8217;s firewall.  6. Check out all of the helpful answers on DanTheDane&#8217;s inquiry about listing objects owned by name user in iSeries. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] 5. One member is wondering how to change the IP authentication settings in his network&#8217;s firewall.  6. Check out all of the helpful answers on DanTheDane&#8217;s inquiry about listing objects owned by name user in iSeries. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-86008</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Mon, 03 Jan 2011 06:28:54 +0000</pubDate>
		<guid isPermaLink="false">#comment-86008</guid>
		<description><![CDATA[Under Qshell find &lt;i&gt;Operators&lt;/i&gt; is this statement -- &quot;The primaries may be combined using the following operators.&quot;

I haven&#039;t tried it, but I&#039;d look into the &lt;b&gt;!expression&lt;/b&gt; operator, possibly combined with the &lt;b&gt;expression -and expression&lt;/b&gt;. You might try &quot;-user &lt;i&gt;uname&lt;/i&gt; -and !-path /QNTC/*&quot; or some more involved construct. I&#039;m not sure what Qshell find will need to process everything in i5/OS terms rather than Unix terms.

The API will work better though. It&#039;s really not too bad to extend the example.

Tom]]></description>
		<content:encoded><![CDATA[<p>Under Qshell find <i>Operators</i> is this statement &#8212; &#8220;The primaries may be combined using the following operators.&#8221;</p>
<p>I haven&#8217;t tried it, but I&#8217;d look into the <b>!expression</b> operator, possibly combined with the <b>expression -and expression</b>. You might try &#8220;-user <i>uname</i> -and !-path /QNTC/*&#8221; or some more involved construct. I&#8217;m not sure what Qshell find will need to process everything in i5/OS terms rather than Unix terms.</p>
<p>The API will work better though. It&#8217;s really not too bad to extend the example.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: danthedane</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-86004</link>
		<dc:creator>danthedane</dc:creator>
		<pubDate>Sun, 02 Jan 2011 17:43:25 +0000</pubDate>
		<guid isPermaLink="false">#comment-86004</guid>
		<description><![CDATA[Tom, you are right  :-)

The  &lt;b&gt;-type f &lt;/b&gt; shall not be included.
My current solution is therefore this:
&lt;pre&gt;
STRQSH CMD(&#039;find /   -user userid &gt;           
 /qsys.lib/mylib.lib/myfile.file/myfile.mbr&#039;) 
&lt;/pre&gt;

I would like to include an option to &lt;i&gt;omit&lt;/i&gt; , so fx /QNTC was not searched.  I do not yet know if this can be acomplished...  

This IBM manual on Qshell (page 62)  
http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/rzahz/rzahz.pdf
describes the options for the &lt;i&gt;find&lt;/i&gt; command, and I am especially looking into the [expression] part to solve my requirementfor omissions.  Comments on this are welcome.

DanF]]></description>
		<content:encoded><![CDATA[<p>Tom, you are right  <img src='http://itknowledgeexchange.techtarget.com/itanswers/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The  <b>-type f </b> shall not be included.<br />
My current solution is therefore this:</p>
<pre>
STRQSH CMD('find /   -user userid &gt;           
 /qsys.lib/mylib.lib/myfile.file/myfile.mbr') 
</pre>
<p>I would like to include an option to <i>omit</i> , so fx /QNTC was not searched.  I do not yet know if this can be acomplished&#8230;  </p>
<p>This IBM manual on Qshell (page 62)<br />
<a href="http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/rzahz/rzahz.pdf" rel="nofollow">http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/rzahz/rzahz.pdf</a><br />
describes the options for the <i>find</i> command, and I am especially looking into the [expression] part to solve my requirementfor omissions.  Comments on this are welcome.</p>
<p>DanF</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-86001</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Sun, 02 Jan 2011 04:44:23 +0000</pubDate>
		<guid isPermaLink="false">#comment-86001</guid>
		<description><![CDATA[Also, when using &quot;/&quot; as the starting directory, be careful with /QNTC and possibly others.

Tom]]></description>
		<content:encoded><![CDATA[<p>Also, when using &#8220;/&#8221; as the starting directory, be careful with /QNTC and possibly others.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-86000</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Sun, 02 Jan 2011 01:43:21 +0000</pubDate>
		<guid isPermaLink="false">#comment-86000</guid>
		<description><![CDATA[I don&#039;t think you can rely on &lt;b&gt;-type f&lt;/b&gt; to help. Actually, I&#039;d expect that no &lt;i&gt;type&lt;/i&gt; can give you what you&#039;re trying for. You might need to try not specifying any type and then excluding everything you don&#039;t want when you process the outfile.

Remember, a database file is an example of something that doesn&#039;t match &lt;b&gt;-type f&lt;/b&gt;, although each member will. Source files tend to give a lot of &quot;files&quot;.

Tom]]></description>
		<content:encoded><![CDATA[<p>I don&#8217;t think you can rely on <b>-type f</b> to help. Actually, I&#8217;d expect that no <i>type</i> can give you what you&#8217;re trying for. You might need to try not specifying any type and then excluding everything you don&#8217;t want when you process the outfile.</p>
<p>Remember, a database file is an example of something that doesn&#8217;t match <b>-type f</b>, although each member will. Source files tend to give a lot of &#8220;files&#8221;.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: danthedane</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-85999</link>
		<dc:creator>danthedane</dc:creator>
		<pubDate>Sat, 01 Jan 2011 22:14:10 +0000</pubDate>
		<guid isPermaLink="false">#comment-85999</guid>
		<description><![CDATA[After a lot of searching, reading and experimenting, I believe that I am now very close to a solution. The essence of it  is this:
I first created a PF to contain found &#039;objects&#039; (filename MYFILE).  then use qshell&#039;s &#039;find&#039; , and the result of this is piped to myfile.mbr.
&lt;pre&gt;
CRTPF QRPLOBJ/MYFILE  RCDLEN(200)
SBMJOB CMD(STRQSH CMD(&#039;find / -type f -user userid  &gt; 
                       /qsys.lib/qrplobj.lib/myfile.file/myfile.mbr&#039;))
&lt;/pre&gt;
This seems to satisfy my need for a batch-processed solution, BUT......
my &#039;small-scale&#039; test-results does not always compare to the result of the interactive WRKOBJOWN command., and that puzzles me.
For one test-user the result showed both elements from IFS and objects rom libraries presented as &#039;qsys.lib/mylib.lib....&#039;.  For another test-user I only got the elemnts from IFS, and NOT this users owned objects in libraries.
I wonder if the cause for this is related to some security issue..
I currently try to work out sample tests to understand this behaviour.

Any thoughts on this is most velcome.

DanF]]></description>
		<content:encoded><![CDATA[<p>After a lot of searching, reading and experimenting, I believe that I am now very close to a solution. The essence of it  is this:<br />
I first created a PF to contain found &#8216;objects&#8217; (filename MYFILE).  then use qshell&#8217;s &#8216;find&#8217; , and the result of this is piped to myfile.mbr.</p>
<pre>
CRTPF QRPLOBJ/MYFILE  RCDLEN(200)
SBMJOB CMD(STRQSH CMD('find / -type f -user userid  &gt; 
                       /qsys.lib/qrplobj.lib/myfile.file/myfile.mbr'))
</pre>
<p>This seems to satisfy my need for a batch-processed solution, BUT&#8230;&#8230;<br />
my &#8216;small-scale&#8217; test-results does not always compare to the result of the interactive WRKOBJOWN command., and that puzzles me.<br />
For one test-user the result showed both elements from IFS and objects rom libraries presented as &#8216;qsys.lib/mylib.lib&#8230;.&#8217;.  For another test-user I only got the elemnts from IFS, and NOT this users owned objects in libraries.<br />
I wonder if the cause for this is related to some security issue..<br />
I currently try to work out sample tests to understand this behaviour.</p>
<p>Any thoughts on this is most velcome.</p>
<p>DanF</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-85982</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Fri, 31 Dec 2010 12:39:16 +0000</pubDate>
		<guid isPermaLink="false">#comment-85982</guid>
		<description><![CDATA[BTW, as usual, pay attention to the quote marks. Many of them need to be transformed after this editor is done with them.

Tom]]></description>
		<content:encoded><![CDATA[<p>BTW, as usual, pay attention to the quote marks. Many of them need to be transformed after this editor is done with them.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-85980</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Fri, 31 Dec 2010 12:21:04 +0000</pubDate>
		<guid isPermaLink="false">#comment-85980</guid>
		<description><![CDATA[I have a basic ILE CL example that only retrieves the counts from the two calls of the API. To access the individual owned objects, the lists would need to be looped through. That&#039;s done the same way any user space list is processed, so almost any other code sample could mostly be copied.

I originally created the example when I wanted to see what the API put into the user space, but I didn&#039;t need anything more from it. The actual code that I&#039;ve used in production can&#039;t be supplied unfortunately, since it&#039;s not mine.

The example accepts a user profile as a parm. It calls the API twice for the two separate lists, extracts the counts from the lists and then dumps its variables. I can answer questions about extending the example.&lt;pre&gt;
pgm     ( +
          &amp;pUsrPrf     +
        )

   dcl    &amp;pUsrPrf         *char      10


   dcl    &amp;UsrPrf          *char      10

   dcl    &amp;UsrSpc          *char      10     value( &#039;LOBJOWN   &#039; )

   dcl    &amp;qusrspc         *char      20

   dcl    &amp;ErrCod          *char       4
   dcl    &amp;hCont           *char      20


   dcl    &amp;us_hdr          *char     150   /* Space header      */
   dcl    &amp;l_hdr           *char      34   /* List header       */

/* Loop checking...                                                 */
   dcl    &amp;LoopChk         *dec       11     value( 0 )

/* Total objects...                                                 */
   dcl    &amp;tObjOwn         *dec       11     value( 0 )
   dcl    &amp;tObjOwn2        *dec       11     value( 0 )


/* General fields for RUSGENHDR...                                  */
   dcl    &amp;nbrlste         *int
   dcl    &amp;ists            *char       1
   dcl    &amp;offshdr         *int


   chgvar            &amp;UsrPrf                  &amp;pUsrPrf
   chgvar            &amp;hCont                   &#039; &#039;
   chgvar            &amp;qusrspc               ( &amp;UsrSpc *cat &#039;QTEMP&#039; )

   call    QUSCRTUS   ( +
                        &amp;qusrspc                +
                        &#039;TMPLST    &#039;            +
                        x&#039;00001000&#039;             +
                        X&#039;00&#039;                   +
                        &#039;*ALL      &#039;            +
                        &#039;Temp list obj owned    &#039; +
                        &#039;*YES      &#039;            +
                        x&#039;0000000000000000&#039;     +
                      )


QFS_obj:

   dountil  ( &amp;ists *ne &#039;P&#039; )

      call    QSYLOBJA   ( +
                           &amp;qusrspc                +
                           &#039;OBJA0100&#039;              +
                           &amp;UsrPrf                 +
                           &#039;*ALL      &#039;            +
                           &#039;*OBJOWN   &#039;            +
                           &amp;hCont                  +
                           x&#039;0000000000000000&#039;     +
                         )

/*  Retrieve the initialization data...                             */

      call    QUSRTVUS   ( +
                           &amp;qusrspc                +
                           x&#039;00000001&#039;             +
                           x&#039;00000096&#039;             +
                           &amp;us_hdr                 +
                         )

      chgvar         &amp;nbrlste           %bin( &amp;us_hdr    133 4 )
      chgvar         &amp;ists              %sst( &amp;us_hdr    104 1 )
      chgvar         &amp;offshdr           %bin( &amp;us_hdr    117 4 )

      chgvar         &amp;offshdr               ( &amp;offshdr + 1 )

      call    QUSRTVUS   ( +
                           &amp;qusrspc                +
                           &amp;offshdr                +
                           x&#039;00000022&#039;             +
                           &amp;l_hdr                  +
                         )

      chgvar         &amp;hCont             %sst( &amp;l_hdr  11  20 )

dmpclpgm

      if  ( &amp;nbrlste *eq 0 )     do
         sndpgmmsg  msgid( CPF9898 ) msgf( QCPFMSG ) +
                      msgdta( &#039;No objects listed&#039; )
         leave
      enddo

/* Add this count to our total...                            */

      chgvar         &amp;tObjOwn               ( &amp;tObjOwn  + &amp;nbrlste )
      chgvar         &amp;LoopChk               ( &amp;LoopChk  + 1 )

   enddo

   chgvar        &amp;hCont            &#039; &#039;

IFS_obj:

   dountil  ( &amp;ists *ne &#039;P&#039; )

      call    QSYLOBJA   ( +
                           &amp;qusrspc                +
                           &#039;OBJA0110&#039;              +
                           &amp;UsrPrf                 +
                           &#039;*ALL      &#039;            +
                           &#039;*OBJOWN   &#039;            +
                           &amp;hCont                  +
                           x&#039;0000000000000000&#039;     +
                         )

/*  Retrieve the initialization data...                             */

      call    QUSRTVUS   ( +
                           &amp;qusrspc                +
                           x&#039;00000001&#039;             +
                           x&#039;00000096&#039;             +
                           &amp;us_hdr                 +
                         )

      chgvar         &amp;nbrlste           %bin( &amp;us_hdr    133 4 )
      chgvar         &amp;ists              %sst( &amp;us_hdr    104 1 )


      if  ( &amp;nbrlste *eq 0 )     do
         sndpgmmsg  msgid( CPF9898 ) msgf( QCPFMSG ) +
                      msgdta( &#039;No IFS objects listed&#039; )
         leave
      enddo

/* Add this count to our total...                            */

      chgvar         &amp;tObjOwn2              ( &amp;tObjOwn2 + &amp;nbrlste )
      chgvar         &amp;LoopChk               ( &amp;LoopChk  + 1 )

   enddo


Clean_up:

   dltusrspc   QTEMP/&amp;UsrSpc
dmpclpgm

   return

endpgm&lt;/pre&gt;
It should compile and run on any V5R3 or later system.

Tom]]></description>
		<content:encoded><![CDATA[<p>I have a basic ILE CL example that only retrieves the counts from the two calls of the API. To access the individual owned objects, the lists would need to be looped through. That&#8217;s done the same way any user space list is processed, so almost any other code sample could mostly be copied.</p>
<p>I originally created the example when I wanted to see what the API put into the user space, but I didn&#8217;t need anything more from it. The actual code that I&#8217;ve used in production can&#8217;t be supplied unfortunately, since it&#8217;s not mine.</p>
<p>The example accepts a user profile as a parm. It calls the API twice for the two separate lists, extracts the counts from the lists and then dumps its variables. I can answer questions about extending the example.
<pre>
pgm     ( +
          &amp;pUsrPrf     +
        )

   dcl    &amp;pUsrPrf         *char      10


   dcl    &amp;UsrPrf          *char      10

   dcl    &amp;UsrSpc          *char      10     value( 'LOBJOWN   ' )

   dcl    &amp;qusrspc         *char      20

   dcl    &amp;ErrCod          *char       4
   dcl    &amp;hCont           *char      20


   dcl    &amp;us_hdr          *char     150   /* Space header      */
   dcl    &amp;l_hdr           *char      34   /* List header       */

/* Loop checking...                                                 */
   dcl    &amp;LoopChk         *dec       11     value( 0 )

/* Total objects...                                                 */
   dcl    &amp;tObjOwn         *dec       11     value( 0 )
   dcl    &amp;tObjOwn2        *dec       11     value( 0 )


/* General fields for RUSGENHDR...                                  */
   dcl    &amp;nbrlste         *int
   dcl    &amp;ists            *char       1
   dcl    &amp;offshdr         *int


   chgvar            &amp;UsrPrf                  &amp;pUsrPrf
   chgvar            &amp;hCont                   ' '
   chgvar            &amp;qusrspc               ( &amp;UsrSpc *cat 'QTEMP' )

   call    QUSCRTUS   ( +
                        &amp;qusrspc                +
                        'TMPLST    '            +
                        x'00001000'             +
                        X'00'                   +
                        '*ALL      '            +
                        'Temp list obj owned    ' +
                        '*YES      '            +
                        x'0000000000000000'     +
                      )


QFS_obj:

   dountil  ( &amp;ists *ne 'P' )

      call    QSYLOBJA   ( +
                           &amp;qusrspc                +
                           'OBJA0100'              +
                           &amp;UsrPrf                 +
                           '*ALL      '            +
                           '*OBJOWN   '            +
                           &amp;hCont                  +
                           x'0000000000000000'     +
                         )

/*  Retrieve the initialization data...                             */

      call    QUSRTVUS   ( +
                           &amp;qusrspc                +
                           x'00000001'             +
                           x'00000096'             +
                           &amp;us_hdr                 +
                         )

      chgvar         &amp;nbrlste           %bin( &amp;us_hdr    133 4 )
      chgvar         &amp;ists              %sst( &amp;us_hdr    104 1 )
      chgvar         &amp;offshdr           %bin( &amp;us_hdr    117 4 )

      chgvar         &amp;offshdr               ( &amp;offshdr + 1 )

      call    QUSRTVUS   ( +
                           &amp;qusrspc                +
                           &amp;offshdr                +
                           x'00000022'             +
                           &amp;l_hdr                  +
                         )

      chgvar         &amp;hCont             %sst( &amp;l_hdr  11  20 )

dmpclpgm

      if  ( &amp;nbrlste *eq 0 )     do
         sndpgmmsg  msgid( CPF9898 ) msgf( QCPFMSG ) +
                      msgdta( 'No objects listed' )
         leave
      enddo

/* Add this count to our total...                            */

      chgvar         &amp;tObjOwn               ( &amp;tObjOwn  + &amp;nbrlste )
      chgvar         &amp;LoopChk               ( &amp;LoopChk  + 1 )

   enddo

   chgvar        &amp;hCont            ' '

IFS_obj:

   dountil  ( &amp;ists *ne 'P' )

      call    QSYLOBJA   ( +
                           &amp;qusrspc                +
                           'OBJA0110'              +
                           &amp;UsrPrf                 +
                           '*ALL      '            +
                           '*OBJOWN   '            +
                           &amp;hCont                  +
                           x'0000000000000000'     +
                         )

/*  Retrieve the initialization data...                             */

      call    QUSRTVUS   ( +
                           &amp;qusrspc                +
                           x'00000001'             +
                           x'00000096'             +
                           &amp;us_hdr                 +
                         )

      chgvar         &amp;nbrlste           %bin( &amp;us_hdr    133 4 )
      chgvar         &amp;ists              %sst( &amp;us_hdr    104 1 )


      if  ( &amp;nbrlste *eq 0 )     do
         sndpgmmsg  msgid( CPF9898 ) msgf( QCPFMSG ) +
                      msgdta( 'No IFS objects listed' )
         leave
      enddo

/* Add this count to our total...                            */

      chgvar         &amp;tObjOwn2              ( &amp;tObjOwn2 + &amp;nbrlste )
      chgvar         &amp;LoopChk               ( &amp;LoopChk  + 1 )

   enddo


Clean_up:

   dltusrspc   QTEMP/&amp;UsrSpc
dmpclpgm

   return

endpgm</pre>
<p>It should compile and run on any V5R3 or later system.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wpoulin</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/list-objects-owned-by-named-user/#comment-85957</link>
		<dc:creator>wpoulin</dc:creator>
		<pubDate>Thu, 30 Dec 2010 16:36:17 +0000</pubDate>
		<guid isPermaLink="false">#comment-85957</guid>
		<description><![CDATA[Dan,

Did you come up with a solution to get the list of owned objects in the IFS ?

I would be interested in the solution.

Thanks,
Bill Poulin]]></description>
		<content:encoded><![CDATA[<p>Dan,</p>
<p>Did you come up with a solution to get the list of owned objects in the IFS ?</p>
<p>I would be interested in the solution.</p>
<p>Thanks,<br />
Bill Poulin</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 6/9 queries in 0.013 seconds using memcached
Object Caching 398/401 objects using memcached

Served from: itknowledgeexchange.techtarget.com @ 2013-06-18 21:18:24 -->