﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Printmonkey</title>
    <description>Random thoughts, ideas, best practice and anything else that springs to mind from the sharp end of document composition and high volume print &amp;mail</description>
    <link>http://printmonkey.net/Blog/tabid/126/BlogId/2/language/en-US/Default.aspx</link>
    <language>en-GB</language>
    <managingEditor>mike@printmonkey.net</managingEditor>
    <webMaster>mike@printmonkey.net</webMaster>
    <pubDate>Tue, 07 Sep 2010 08:11:53 GMT</pubDate>
    <lastBuildDate>Tue, 07 Sep 2010 08:11:53 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.5.1.19887</generator>
    <item>
      <title>Kiss with Dialogue</title>
      <description>&lt;p&gt;A basic principle I always try to stick to with Dialogue is to keep things as simple as possible (Keep It Simple Stupid).  If something looks too complicated to easily explain then it probably is.  Take the following example (using word Mergefields to define the content) from an insurance document I have worked on recently:-&lt;/p&gt;  &lt;p&gt;The spec says:-&lt;/p&gt;  &lt;p&gt;&lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;We&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I/We&lt;code&gt;" ""}&lt;/code&gt; agree to you asking any doctor &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;we&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I/we&lt;code&gt;" ""}&lt;/code&gt; have consulted about &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;my&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;our&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;my/our&lt;code&gt;" ""}&lt;/code&gt; physical or mental health to provide information so you may assess &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;my&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;our&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;my/our&lt;code&gt;" ""}&lt;/code&gt; proposal. You may gather relevant information from other insurers about any other applications for life, critical illness, sickness, disability, accident or private medical insurance that &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;we&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I/we&lt;code&gt; """}&lt;/code&gt; have applied for. &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;We&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I/We&lt;code&gt;" ""}&lt;/code&gt; authorise those asked to provide medical information when they see a copy of this consent form. This allows you to gather medical reports within six months of the start of the plan, or after &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;my&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;our&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;my/our&lt;code&gt;" ""}&lt;/code&gt; death, to support any claim made on the policy proceeds.     &lt;br /&gt;This information can also be used to maintain management information for business analysis.     &lt;br /&gt;By signing this declaration &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I am&lt;code&gt;" ""}{ IF {MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;we are&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I am/We are&lt;code&gt;" ""}&lt;/code&gt; allowing you to process &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;my&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;our&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;my/our&lt;code&gt;" ""}&lt;/code&gt; application using the information that &lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;we&lt;code&gt;" ""}{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I/we&lt;code&gt;" ""}&lt;/code&gt; have given. You may also use this information to process any claim made on this policy.&lt;/p&gt;  &lt;p&gt;There are about 30 conditions in that block, each of which needs to be coded and maintained, however if you look closely you'll see they are all one of the following:-&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;IF { MERGEFIELD Policyholder_Type } = "SINGLE" &lt;/li&gt;    &lt;li&gt;IF {MERGEFIELD Policyholder_Type } = "JOINT" &lt;/li&gt;    &lt;li&gt;IF { MERGEFIELD Policyholder_Type } = "OTHER" &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Rather than coding all of the variations separately, it is much simpler to separate the three different versions of the paragraphs as shown:-&lt;/p&gt;  &lt;p&gt;&lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "SINGLE" "&lt;/code&gt;I agree to you asking any doctor I have consulted about my physical or mental health to provide information so you may assess my proposal. You may gather relevant information from other insurers about any other applications for life, critical illness, sickness, disability, accident or private medical insurance that I have applied for.  I authorise those asked to provide medical information when they see a copy of this consent form. This allows you to gather medical reports within six months of the start of the plan, or after my death, to support any claim made on the policy proceeds.     &lt;br /&gt;This information can also be used to maintain management information for business analysis.     &lt;br /&gt;By signing this declaration I am allowing you to process my application using the information that I have given. You may also use this information to process any claim made on this policy.&lt;code&gt;" ""}&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "JOINT" "&lt;/code&gt;We agree to you asking any doctor we have consulted about our physical or mental health to provide information so you may assess our proposal. You may gather relevant information from other insurers about any other applications for life, critical illness, sickness, disability, accident or private medical insurance that we have applied for. We authorise those asked to provide medical information when they see a copy of this consent form. This allows you to gather medical reports within six months of the start of the plan, or after our death, to support any claim made on the policy proceeds.     &lt;br /&gt;This information can also be used to maintain management information for business analysis.     &lt;br /&gt;By signing this declaration we are allowing you to process our application using the information that we have given. You may also use this information to process any claim made on this policy.&lt;code&gt;" ""}&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;{ IF { MERGEFIELD Policyholder_Type } = "OTHER" "&lt;/code&gt;I/We" ""} agree to you asking any doctor I/we have consulted about my/our physical or mental health to provide information so you may assess my/our proposal.  You may gather relevant information from other insurers about any other applications for life, critical illness, sickness, disability, accident or private medical insurance that I/we have applied for. I/We authorise those asked to provide medical information when they see a copy of this consent form. This allows you to gather medical reports within six months of the start of the plan, or after my/our death, to support any claim made on the policy proceeds.     &lt;br /&gt;This information can also be used to maintain management information for business analysis.     &lt;br /&gt;By signing this declaration I am/We are allowing you to process my/our application using the information that I/we have given. You may also use this information to process any claim made on this policy.&lt;code&gt;" ""}&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;In Dialogue terms, these could then be coded as three individual table rows with a single rule on each row making it much easier to understand, maintain and test.  Admittedly there's a slight maintenance overhead in that any change to the paragraph text would have to be made three times instead of once, but the benefits of simplifying the rules (from thirty down to three) far outweigh this.&lt;/p&gt;  &lt;p&gt;Of course an even neater way to handle this is to replace the variable elements of the text with user variables which can be set at customer timing depending on the value of Policyholder_Type.  That way you eliminate the need to have multiple versions of the same paragraph but also reduce the complexity of the code.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/div&gt;</description>
      <link>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/14/Kiss-with-Dialogue.aspx</link>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/14/Kiss-with-Dialogue.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/14/Kiss-with-Dialogue.aspx</guid>
      <pubDate>Wed, 16 Jun 2010 12:28:22 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=14</trackback:ping>
    </item>
    <item>
      <title>Making Testing Easy On Yourself (Testing Part 5)</title>
      <description>&lt;p&gt; Of all the aspects of testing, preparing test data is probably the most time consuming and tedious. It is however, one the most important parts. If your test data isn't correctly prepared and doesn't tie in with your test plan then you are immediately at a disadvantage. Valuable time can be wasted examining code for bugs, when in fact it is the data that is at fault. So how can you make life easier for yourself?&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/tabid/126/EntryId/12/Making-Testing-Easy-On-Yourself-Testing-Part-5.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/tabid/126/EntryId/12/Making-Testing-Easy-On-Yourself-Testing-Part-5.aspx</link>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/tabid/126/EntryId/12/Making-Testing-Easy-On-Yourself-Testing-Part-5.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/tabid/126/EntryId/12/Making-Testing-Easy-On-Yourself-Testing-Part-5.aspx</guid>
      <pubDate>Tue, 30 Mar 2010 10:11:36 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=12</trackback:ping>
    </item>
    <item>
      <title>Structural Testing (Testing Part 4)</title>
      <description>&lt;p&gt; Apologies for the delay in publishing the next part of the testing series, it's been a busy few months  It's finally here though and the next parts should be coming soon...&lt;/p&gt;
&lt;p&gt;Whereas Functional Testing test plans are generated from the Requirements documents, Structural Testing Test Plans are generated from the application itself.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Whilst there will always be a significant amount of overlap between the two test plans(Functional and Structural), both should still be created as there are differences in the types of errors captured by each.&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/10/Structural-Testing-Testing-Part-4.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/10/Structural-Testing-Testing-Part-4.aspx</link>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/10/Structural-Testing-Testing-Part-4.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/10/Structural-Testing-Testing-Part-4.aspx</guid>
      <pubDate>Thu, 04 Mar 2010 12:53:31 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=10</trackback:ping>
    </item>
    <item>
      <title>Writing A Functional Test Plan (Testing Part 3)</title>
      <description>&lt;p&gt;We've already discussed how a lack of an effective test plan is one of the the major reasons &lt;a target="_blank" style="color: rgb(0,51,102); text-decoration: none" href="http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/5/Why-Your-Implementations-Fail-Testing-Part-1.aspx"&gt;why your implementations fail&lt;/a&gt; and discussed &lt;a target="_blank" style="color: rgb(0,51,102); text-decoration: none" href="http://printmonkey.net/Blog/tabid/126/EntryId/6/Effective-Testing-Techniques-Testing-Part-2.aspx"&gt;effective testing techniques&lt;/a&gt; so now it's time to get into the nitty gritty and discuss testing techniques in detail.  We'll start off with Functional Testing which, whether you know it or not, is probably the testing technique you're most familiar with.&lt;/p&gt;&lt;a href=http://www.printmonkey.net/Home/tabid/56/EntryId/9/Writing-A-Functional-Test-Plan-Testing-Part-3.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://www.printmonkey.net/Home/tabid/56/EntryId/9/Writing-A-Functional-Test-Plan-Testing-Part-3.aspx</link>
      <author>mike@printmonkey.net</author>
      <comments>http://www.printmonkey.net/Home/tabid/56/EntryId/9/Writing-A-Functional-Test-Plan-Testing-Part-3.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.printmonkey.net/Home/tabid/56/EntryId/9/Writing-A-Functional-Test-Plan-Testing-Part-3.aspx</guid>
      <pubDate>Tue, 20 Oct 2009 15:00:24 GMT</pubDate>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=9</trackback:ping>
    </item>
    <item>
      <title>How To Keep Control Of Your Variables in Dialogue</title>
      <description>&lt;p&gt; If you routinely set all of your variables to a reset time of “automatically” and your formula variables are all set to calculate “as needed” in Dialogue you could be creating a maintenance nightmare for you and your  Colleagues. Take your Dialogue knowledge to the next level and take control of formula calculation timing and variable reset timing.&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/7/How-To-Keep-Control-Of-Your-Variables-in-Dialogue.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/7/How-To-Keep-Control-Of-Your-Variables-in-Dialogue.aspx</link>
      <category domain="http://printmonkey.net/blog/tabid/126/blogid/4/language/en-us/default.aspx">Dialogue</category>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/7/How-To-Keep-Control-Of-Your-Variables-in-Dialogue.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/7/How-To-Keep-Control-Of-Your-Variables-in-Dialogue.aspx</guid>
      <pubDate>Wed, 14 Oct 2009 09:17:13 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=7</trackback:ping>
    </item>
    <item>
      <title>Effective Testing Techniques (Testing Part 2)</title>
      <description>&lt;p&gt; Last time we talked about the impact leaving testing to chance can have on your implementations (and it’s not good), this week we’re going to look at the different types of testing that you can use to give your testing the best chance of catching the defects it’s supposed to.&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/tabid/126/EntryId/6/Effective-Testing-Techniques-Testing-Part-2.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/tabid/126/EntryId/6/Effective-Testing-Techniques-Testing-Part-2.aspx</link>
      <category domain="http://printmonkey.net/blog/tabid/126/blogid/5/language/en-us/default.aspx">Best Practice</category>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/tabid/126/EntryId/6/Effective-Testing-Techniques-Testing-Part-2.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/tabid/126/EntryId/6/Effective-Testing-Techniques-Testing-Part-2.aspx</guid>
      <pubDate>Tue, 13 Oct 2009 09:29:46 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=6</trackback:ping>
    </item>
    <item>
      <title>Why Your Implementations Fail (Testing Part 1)</title>
      <description>&lt;p&gt;How many of your implementations are painless exercises in moving files?  In my experience not many and a major factor is the lack of an effective testing strategy.  Testing has been well documented in other forms of application development but for some reason the document industry is still catching up so how do you make sure your testing gives a good return on time and effort?&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/5/Why-Your-Implementations-Fail-Testing-Part-1.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/5/Why-Your-Implementations-Fail-Testing-Part-1.aspx</link>
      <category domain="http://printmonkey.net/blog/tabid/126/blogid/5/language/en-us/default.aspx">Best Practice</category>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/5/Why-Your-Implementations-Fail-Testing-Part-1.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/BlogEntry/tabid/120/EntryId/5/Why-Your-Implementations-Fail-Testing-Part-1.aspx</guid>
      <pubDate>Wed, 05 Aug 2009 07:57:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=5</trackback:ping>
    </item>
    <item>
      <title>Application Migration</title>
      <description>&lt;p&gt;Changing your toolset can be a headache at the best of times, but when you’ve got multiple tools and potentially multiple platforms, handling large amounts of critical customer communications getting the migration right can become a juggling act of monumental proportions.&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/tabid/126/EntryId/4/Application-Migration.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/tabid/126/EntryId/4/Application-Migration.aspx</link>
      <category domain="http://printmonkey.net/blog/tabid/126/blogid/6/language/en-us/default.aspx">Business</category>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/tabid/126/EntryId/4/Application-Migration.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/tabid/126/EntryId/4/Application-Migration.aspx</guid>
      <pubDate>Tue, 30 Jun 2009 10:06:37 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=4</trackback:ping>
    </item>
    <item>
      <title>Don't just design for your clients</title>
      <description>&lt;p&gt;&lt;span style="font-size: small;"&gt;Given that we're generally up against tight deadlines, often we're completely focussed on what the client wants rather than what we need.  However a little thought upfront can often save a lot of time later in the development and maintenance cycle...&lt;/span&gt;&lt;/p&gt;&lt;a href=http://printmonkey.net/Blog/tabid/126/EntryId/2/Dont-just-design-for-your-clients.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/Blog/tabid/126/EntryId/2/Dont-just-design-for-your-clients.aspx</link>
      <category domain="http://printmonkey.net/blog/tabid/126/blogid/5/language/en-us/default.aspx">Best Practice</category>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/Blog/tabid/126/EntryId/2/Dont-just-design-for-your-clients.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/Blog/tabid/126/EntryId/2/Dont-just-design-for-your-clients.aspx</guid>
      <pubDate>Thu, 18 Jun 2009 11:43:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=2</trackback:ping>
    </item>
    <item>
      <title>First steps</title>
      <description>&lt;p&gt;&lt;span style="font-size: small;"&gt; Well this is going to be a short post.  Just want to make sure everything is working properly and that I can post away.  Most of what you'll read here will be technical tips, shortcuts, and anything else I think will be useful.  I hope you enjoy reading and feel free to comment to let me know what you think.&lt;/span&gt;&lt;/p&gt;&lt;a href=http://printmonkey.net/SiteAdmin/BlogAdmin/tabid/120/EntryId/1/First-steps.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://printmonkey.net/SiteAdmin/BlogAdmin/tabid/120/EntryId/1/First-steps.aspx</link>
      <category domain="http://printmonkey.net/blog/tabid/126/blogid/9/language/en-us/default.aspx">Housekeeping</category>
      <author>mike@printmonkey.net</author>
      <comments>http://printmonkey.net/SiteAdmin/BlogAdmin/tabid/120/EntryId/1/First-steps.aspx#Comments</comments>
      <guid isPermaLink="true">http://printmonkey.net/SiteAdmin/BlogAdmin/tabid/120/EntryId/1/First-steps.aspx</guid>
      <pubDate>Sat, 07 Mar 2009 14:18:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://printmonkey.net/DesktopModules/Blog/Trackback.aspx?id=1</trackback:ping>
    </item>
  </channel>
</rss>