<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>.NET Hobbyist Programmer</title>
        <link>http://geekswithblogs.net/mtreadwell/Default.aspx</link>
        <description>Staying Confused in a Busy World</description>
        <language>en-US</language>
        <copyright>Mark Treadwell</copyright>
        <managingEditor>eep@narboza.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>.NET Hobbyist Programmer</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/mtreadwell/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Finally: The 1600-volt Compact Hairdryer</title>
            <category>Humor and Fun</category>
            <category>&amp; Etc.</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2011/11/03/147551.aspx</link>
            <description>&lt;p&gt;You have to love Amazon.  They will sell you &lt;a href="http://www.amazon.com/gp/product/B000Q9YQ0U/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=narboza-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B000Q9YQ0U"&gt;anything&lt;/a&gt;.&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=narboza-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B000Q9YQ0U&amp;amp;camp=217145&amp;amp;creative=399373" width="1" height="1" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="1600-volt Compact Hairdryer" href="http://www.amazon.com/gp/product/B000Q9YQ0U/ref=as_li_ss_tl?ie=UTF8&amp;amp;amp;tag=narboza-20&amp;amp;amp;linkCode=as2&amp;amp;amp;camp=217145&amp;amp;amp;creative=399373&amp;amp;amp;creativeASIN=B000Q9YQ0U" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1600vHairDryer" border="0" alt="1600vHairDryer" src="http://geekswithblogs.net/images/geekswithblogs_net/mtreadwell/WindowsLiveWriter/1600voltCompactHairdryer_10BF9/1600vHairDryer_3.png" width="606" height="292" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Get them while they last!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/147551.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2011/11/03/147551.aspx</guid>
            <pubDate>Thu, 03 Nov 2011 23:10:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/147551.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2011/11/03/147551.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/147551.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/147551.aspx</trackback:ping>
        </item>
        <item>
            <title>MSDN vs. TechNet</title>
            <category>Software</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2011/08/19/146599.aspx</link>
            <description>&lt;p&gt;For a period of time, I have access to both an MSDN and a TechNet subscription. Both offer Microsoft software for download.  I wondered what the similarities and differences were between the two subscriptions. I copied the two download lists into Excel and aligned them. Most of the material I would never use.  Some products I have never heard of.  I present the lists, current as of today, for your reviewing pleasure.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="322"&gt;&lt;strong&gt;TechNet&lt;/strong&gt;&lt;/td&gt;        &lt;td width="322"&gt;&lt;strong&gt;MSDN&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;Applications (63)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Applications (79)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Access 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Access 2003&lt;/td&gt;        &lt;td&gt;Access 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Access 2007&lt;/td&gt;        &lt;td&gt;Access 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Access 2010&lt;/td&gt;        &lt;td&gt;Access 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Accounting&lt;/td&gt;        &lt;td&gt;Accounting&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Business Contact Manager&lt;/td&gt;        &lt;td&gt;Business Contact Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Business Contact Manager 2010&lt;/td&gt;        &lt;td&gt;Business Contact Manager 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Business ScoreCard Manager&lt;/td&gt;        &lt;td&gt;Business ScoreCard Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Duet Enterprise for Microsoft SharePoint and SAP&lt;/td&gt;        &lt;td&gt;Duet Enterprise for Microsoft SharePoint and SAP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Front Page&lt;/td&gt;        &lt;td&gt;Front Page&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Groove 2007&lt;/td&gt;        &lt;td&gt;Groove 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Hyper-V Server 2008&lt;/td&gt;        &lt;td&gt;Hyper-V Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Hyper-V Server 2008 R2&lt;/td&gt;        &lt;td&gt;Hyper-V Server 2008 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;InfoPath 2003&lt;/td&gt;        &lt;td&gt;InfoPath 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;InfoPath 2007&lt;/td&gt;        &lt;td&gt;InfoPath 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;InfoPath 2010&lt;/td&gt;        &lt;td&gt;InfoPath 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Interconnect 2004&lt;/td&gt;        &lt;td&gt;Interconnect 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Interconnect 2007&lt;/td&gt;        &lt;td&gt;Interconnect 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Internet Explorer 6.0&lt;/td&gt;        &lt;td&gt;Internet Explorer 6.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Lync 2010&lt;/td&gt;        &lt;td&gt;Lync 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MapPoint 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MapPoint 2006&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MapPoint 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MapPoint 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MapPoint 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office 2003&lt;/td&gt;        &lt;td&gt;Office 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office 2007&lt;/td&gt;        &lt;td&gt;Office 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office 2010&lt;/td&gt;        &lt;td&gt;Office 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Office 95&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Communicator 2005&lt;/td&gt;        &lt;td&gt;Office Communicator 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Communicator 2007&lt;/td&gt;        &lt;td&gt;Office Communicator 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Communicator 2007 R2&lt;/td&gt;        &lt;td&gt;Office Communicator 2007 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Office Communicator Mobile&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Office Communicator Web&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Communicator Web Access&lt;/td&gt;        &lt;td&gt;Office Communicator Web Access&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office for Mac 2011&lt;/td&gt;        &lt;td&gt;Office for Mac 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Servers 2007&lt;/td&gt;        &lt;td&gt;Office Servers 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office XP&lt;/td&gt;        &lt;td&gt;Office XP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;OneNote 2003&lt;/td&gt;        &lt;td&gt;OneNote 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;OneNote 2007&lt;/td&gt;        &lt;td&gt;OneNote 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;OneNote 2010&lt;/td&gt;        &lt;td&gt;OneNote 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Outlook 2003&lt;/td&gt;        &lt;td&gt;Outlook 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Outlook 2007&lt;/td&gt;        &lt;td&gt;Outlook 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Outlook 2010&lt;/td&gt;        &lt;td&gt;Outlook 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Parallels Desktop&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Patterns &amp;amp; Practices&lt;/td&gt;        &lt;td&gt;Patterns &amp;amp; Practices&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;PerformancePoint Server&lt;/td&gt;        &lt;td&gt;PerformancePoint Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;PowerPivot&lt;/td&gt;        &lt;td&gt;PowerPivot&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;ProClarity&lt;/td&gt;        &lt;td&gt;ProClarity&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project 2002&lt;/td&gt;        &lt;td&gt;Project 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project 2003&lt;/td&gt;        &lt;td&gt;Project 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project 2003 Server&lt;/td&gt;        &lt;td&gt;Project 2003 Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project 2007&lt;/td&gt;        &lt;td&gt;Project 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project 2010&lt;/td&gt;        &lt;td&gt;Project 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Project 95&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project Portfolio Server 2006&lt;/td&gt;        &lt;td&gt;Project Portfolio Server 2006&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project Portfolio Server 2007&lt;/td&gt;        &lt;td&gt;Project Portfolio Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Publisher 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Publisher 2003&lt;/td&gt;        &lt;td&gt;Publisher 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Publisher 2007&lt;/td&gt;        &lt;td&gt;Publisher 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Publisher 2010&lt;/td&gt;        &lt;td&gt;Publisher 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Designer 2007&lt;/td&gt;        &lt;td&gt;SharePoint Designer 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;SharePoint Designer 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Workspace 2010&lt;/td&gt;        &lt;td&gt;SharePoint Workspace 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Small Business Accounting (Application)&lt;/td&gt;        &lt;td&gt;Small Business Accounting (Application)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Streets and Trips 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Streets and Trips and AutoRoute 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Streets and Trips and AutoRoute 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Virtual PC 2004&lt;/td&gt;        &lt;td&gt;Virtual PC 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Virtual PC 2007&lt;/td&gt;        &lt;td&gt;Virtual PC 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Virtual PC for Mac 6.1&lt;/td&gt;        &lt;td&gt;Virtual PC for Mac 6.1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Virtual PC for Mac 7.0&lt;/td&gt;        &lt;td&gt;Virtual PC for Mac 7.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Virtual Server 2005&lt;/td&gt;        &lt;td&gt;Virtual Server 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Virtual Server 2005 R2&lt;/td&gt;        &lt;td&gt;Virtual Server 2005 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visio 2002&lt;/td&gt;        &lt;td&gt;Visio 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visio 2003&lt;/td&gt;        &lt;td&gt;Visio 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visio 2007&lt;/td&gt;        &lt;td&gt;Visio 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visio 2010&lt;/td&gt;        &lt;td&gt;Visio 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Virtual PC&lt;/td&gt;        &lt;td&gt;Windows Virtual PC&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;Business Solutions (27)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Business Solutions (28)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics AX 2009&lt;/td&gt;        &lt;td&gt;Dynamics AX 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics AX 4.0&lt;/td&gt;        &lt;td&gt;Dynamics AX 4.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics Axapta 3.0&lt;/td&gt;        &lt;td&gt;Dynamics Axapta 3.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Dynamics CRM 1.2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics CRM 2011&lt;/td&gt;        &lt;td&gt;Dynamics CRM 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics CRM 3.0&lt;/td&gt;        &lt;td&gt;Dynamics CRM 3.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics CRM 4.0&lt;/td&gt;        &lt;td&gt;Dynamics CRM 4.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics GP 10.0&lt;/td&gt;        &lt;td&gt;Dynamics GP 10.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics GP 2010&lt;/td&gt;        &lt;td&gt;Dynamics GP 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics GP 7.5&lt;/td&gt;        &lt;td&gt;Dynamics GP 7.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics GP 8.0&lt;/td&gt;        &lt;td&gt;Dynamics GP 8.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics GP 9.0&lt;/td&gt;        &lt;td&gt;Dynamics GP 9.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics NAV 2009&lt;/td&gt;        &lt;td&gt;Dynamics NAV 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics NAV 2009 R2&lt;/td&gt;        &lt;td&gt;Dynamics NAV 2009 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics NAV 4.0&lt;/td&gt;        &lt;td&gt;Dynamics NAV 4.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics NAV 5.0&lt;/td&gt;        &lt;td&gt;Dynamics NAV 5.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics Point of Sale 2009&lt;/td&gt;        &lt;td&gt;Dynamics Point of Sale 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Dynamics SL 7.0&lt;/td&gt;        &lt;td&gt;Dynamics SL 7.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Point of Sale 1.0&lt;/td&gt;        &lt;td&gt;Point of Sale 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Small Business Accounting&lt;/td&gt;        &lt;td&gt;Small Business Accounting&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Small Business Manager Financials 7.5&lt;/td&gt;        &lt;td&gt;Small Business Manager Financials 7.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Small Business Manager Financials 8.0&lt;/td&gt;        &lt;td&gt;Small Business Manager Financials 8.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Small Business Manager Financials 9.0&lt;/td&gt;        &lt;td&gt;Small Business Manager Financials 9.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Solomon 5.5&lt;/td&gt;        &lt;td&gt;Solomon 5.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Solomon 6.0&lt;/td&gt;        &lt;td&gt;Solomon 6.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Solomon 6.5&lt;/td&gt;        &lt;td&gt;Solomon 6.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Solomon 7.0&lt;/td&gt;        &lt;td&gt;Solomon 7.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Solomon FRx&lt;/td&gt;        &lt;td&gt;Solomon FRx&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Designer Tools (6)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;AutoCollage 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Expression 1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Expression 2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Expression 3&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Expression 4&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Songsmith&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Developer Tools (43)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Access Developer Extensions 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Automatic Graph Layout&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Electronic Learning Libraries&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;eMbedded Visual C++ 4.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Macro Assembler 6.11&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MDAC&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;ODBC Data Packs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;QuickBasic 4.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Robotics Studio&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;SharePoint Services 3.0 Tools&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic .NET 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic 3.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic 4.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic 6.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic 6.0 Code Advisor&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic Applications (VBA)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual C++ 1.52&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual C++ 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual C++ 4.2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual C++ Browser Toolkit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual C++ Tools&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual FoxPro "Sedna"&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual FoxPro 7.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual FoxPro 8.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual FoxPro 9.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual J#.NET&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Modeler&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual SourceSafe 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual SourceSafe 6.0d&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Studio 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Studio 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Studio 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Studio LightSwitch 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Studio.NET&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Studio.NET 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Embedded&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Embedded CE 5.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Embedded CE 6.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Embedded CE 6.0 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Embedded CE 6.0 R3&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows XP Embedded&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;XNA Game Studio&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;MSDN Library (11)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2001-10 MSDN Library October&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2005-07 MSDN Library July&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2006-01 MSDN Library January&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2006-05 MSDN Library May&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2006-06 MSDN Library June&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2006-07 MSDN Library July&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2006-08 MSDN Library August&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2006-12 MSDN Library December&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2007-01 MSDN Library January&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2007-04 MSDN Library April&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;2007-06 MSDN Library June&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;Operating Systems (31)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Operating Systems (33)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Compute Cluster Pack&lt;/td&gt;        &lt;td&gt;Compute Cluster Pack&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;MS-DOS&lt;/td&gt;        &lt;td&gt;MS-DOS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Small Business Server 2003 R2&lt;/td&gt;        &lt;td&gt;Small Business Server 2003 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows 3.1 (16-bit)&lt;/td&gt;        &lt;td&gt;Windows 3.1 (16-bit)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows 3.11 (16-bit)&lt;/td&gt;        &lt;td&gt;Windows 3.11 (16-bit)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows 3.11 for Workgroups (16-bit)&lt;/td&gt;        &lt;td&gt;Windows 3.11 for Workgroups (16-bit)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows 3.2 (16-bit)&lt;/td&gt;        &lt;td&gt;Windows 3.2 (16-bit)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows 7&lt;/td&gt;        &lt;td&gt;Windows 7&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Advanced Server&lt;/td&gt;        &lt;td&gt;Windows Advanced Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows CE .NET Platform Builder 4.1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows CE .NET Platform Builder 4.2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows CE DirectX Kit&lt;/td&gt;        &lt;td&gt;Windows CE DirectX Kit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows CE Toolkit Visual C++ 6.0&lt;/td&gt;        &lt;td&gt;Windows CE Toolkit Visual C++ 6.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Essential Business Server 2008&lt;/td&gt;        &lt;td&gt;Windows Essential Business Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Home Server&lt;/td&gt;        &lt;td&gt;Windows Home Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Home Server 2011&lt;/td&gt;        &lt;td&gt;Windows Home Server 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Internet Explorer 7&lt;/td&gt;        &lt;td&gt;Windows Internet Explorer 7&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Internet Explorer 8&lt;/td&gt;        &lt;td&gt;Windows Internet Explorer 8&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Server 2003&lt;/td&gt;        &lt;td&gt;Windows Server 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Server 2003 R2&lt;/td&gt;        &lt;td&gt;Windows Server 2003 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Server 2008&lt;/td&gt;        &lt;td&gt;Windows Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Server 2008 R2&lt;/td&gt;        &lt;td&gt;Windows Server 2008 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Services for UNIX 1.0&lt;/td&gt;        &lt;td&gt;Windows Services for UNIX 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Services for UNIX 2.0&lt;/td&gt;        &lt;td&gt;Windows Services for UNIX 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Services for UNIX 3.0&lt;/td&gt;        &lt;td&gt;Windows Services for UNIX 3.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Services for UNIX 3.5&lt;/td&gt;        &lt;td&gt;Windows Services for UNIX 3.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Small Business Server 2008&lt;/td&gt;        &lt;td&gt;Windows Small Business Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Small Business Server 2011&lt;/td&gt;        &lt;td&gt;Windows Small Business Server 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Storage Server 2008&lt;/td&gt;        &lt;td&gt;Windows Storage Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Storage Server 2008 R2&lt;/td&gt;        &lt;td&gt;Windows Storage Server 2008 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Thin PC&lt;/td&gt;        &lt;td&gt;Windows Thin PC&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Vista&lt;/td&gt;        &lt;td&gt;Windows Vista&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows XP&lt;/td&gt;        &lt;td&gt;Windows XP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;Servers (80)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Servers (84)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Antigen&lt;/td&gt;        &lt;td&gt;Antigen&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Application Virtualization&lt;/td&gt;        &lt;td&gt;Application Virtualization&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server 2002&lt;/td&gt;        &lt;td&gt;BizTalk Server 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server 2004&lt;/td&gt;        &lt;td&gt;BizTalk Server 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server 2006&lt;/td&gt;        &lt;td&gt;BizTalk Server 2006&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server 2006 R2&lt;/td&gt;        &lt;td&gt;BizTalk Server 2006 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server 2009&lt;/td&gt;        &lt;td&gt;BizTalk Server 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server 2010&lt;/td&gt;        &lt;td&gt;BizTalk Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;BizTalk Server Accelerators and Adapters&lt;/td&gt;        &lt;td&gt;BizTalk Server Accelerators and Adapters&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Commerce Server 2002&lt;/td&gt;        &lt;td&gt;Commerce Server 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Commerce Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Commerce Server 2009&lt;/td&gt;        &lt;td&gt;Commerce Server 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Connected Services Framework&lt;/td&gt;        &lt;td&gt;Connected Services Framework&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Content Management Server&lt;/td&gt;        &lt;td&gt;Content Management Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Customer Care Framework 2005&lt;/td&gt;        &lt;td&gt;Customer Care Framework 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Customer Care Framework 2008&lt;/td&gt;        &lt;td&gt;Customer Care Framework 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Customer Care Framework 2009&lt;/td&gt;        &lt;td&gt;Customer Care Framework 2009&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Desktop Optimization Pack&lt;/td&gt;        &lt;td&gt;Desktop Optimization Pack&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Exchange Server 2003&lt;/td&gt;        &lt;td&gt;Exchange Server 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Exchange Server 2007&lt;/td&gt;        &lt;td&gt;Exchange Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Exchange Server 2010&lt;/td&gt;        &lt;td&gt;Exchange Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;FAST Search Server 2010&lt;/td&gt;        &lt;td&gt;FAST Search Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Client Security&lt;/td&gt;        &lt;td&gt;Forefront Client Security&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Endpoint Protection 2010&lt;/td&gt;        &lt;td&gt;Forefront Endpoint Protection 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Identity Manager 2010&lt;/td&gt;        &lt;td&gt;Forefront Identity Manager 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Protection 2010&lt;/td&gt;        &lt;td&gt;Forefront Protection 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Security for Exchange Server&lt;/td&gt;        &lt;td&gt;Forefront Security for Exchange Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Security for SharePoint&lt;/td&gt;        &lt;td&gt;Forefront Security for SharePoint&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Security, Office Communications Server&lt;/td&gt;        &lt;td&gt;Forefront Security, Office Communications Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Server Security Management Console&lt;/td&gt;        &lt;td&gt;Forefront Server Security Management Console&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Threat Management Gateway 2010&lt;/td&gt;        &lt;td&gt;Forefront Threat Management Gateway 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Forefront Unified Access Gateway 2010&lt;/td&gt;        &lt;td&gt;Forefront Unified Access Gateway 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Groove Server 2007&lt;/td&gt;        &lt;td&gt;Groove Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Groove Server 2010&lt;/td&gt;        &lt;td&gt;Groove Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Host Integration Server 2000&lt;/td&gt;        &lt;td&gt;Host Integration Server 2000&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Host Integration Server 2004&lt;/td&gt;        &lt;td&gt;Host Integration Server 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Host Integration Server 2006&lt;/td&gt;        &lt;td&gt;Host Integration Server 2006&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Identity Integration Server 2003&lt;/td&gt;        &lt;td&gt;Identity Integration Server 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Identity Lifecycle Manager 2007&lt;/td&gt;        &lt;td&gt;Identity Lifecycle Manager 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;ISA Server 2004&lt;/td&gt;        &lt;td&gt;ISA Server 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;ISA Server 2006&lt;/td&gt;        &lt;td&gt;ISA Server 2006&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Live Communications Server 2003&lt;/td&gt;        &lt;td&gt;Live Communications Server 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Live Communications Server 2005&lt;/td&gt;        &lt;td&gt;Live Communications Server 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Lync Server 2010&lt;/td&gt;        &lt;td&gt;Lync Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Mobile Information 2001 Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Mobile Information 2002 Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Communications Server 2007&lt;/td&gt;        &lt;td&gt;Office Communications Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Communications Server 2007 R2&lt;/td&gt;        &lt;td&gt;Office Communications Server 2007 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Forms Server 2007&lt;/td&gt;        &lt;td&gt;Office Forms Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Server Language Pack 2010&lt;/td&gt;        &lt;td&gt;Office Server Language Pack 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Web Apps&lt;/td&gt;        &lt;td&gt;Office Web Apps&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Operations Manager 2000&lt;/td&gt;        &lt;td&gt;Operations Manager 2000&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Operations Manager 2005&lt;/td&gt;        &lt;td&gt;Operations Manager 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project Server&lt;/td&gt;        &lt;td&gt;Project Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Project Server 2010&lt;/td&gt;        &lt;td&gt;Project Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Search Server 2008&lt;/td&gt;        &lt;td&gt;Search Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Search Server 2010&lt;/td&gt;        &lt;td&gt;Search Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Server 2001&lt;/td&gt;        &lt;td&gt;SharePoint Server 2001&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Server 2003&lt;/td&gt;        &lt;td&gt;SharePoint Server 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Server 2007&lt;/td&gt;        &lt;td&gt;SharePoint Server 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Server 2007 Search&lt;/td&gt;        &lt;td&gt;SharePoint Server 2007 Search&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SharePoint Server 2010&lt;/td&gt;        &lt;td&gt;SharePoint Server 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Speech Server 2004&lt;/td&gt;        &lt;td&gt;Speech Server 2004&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server 2000&lt;/td&gt;        &lt;td&gt;SQL Server 2000&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server 2005&lt;/td&gt;        &lt;td&gt;SQL Server 2005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server 2008&lt;/td&gt;        &lt;td&gt;SQL Server 2008&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server 2008 R2&lt;/td&gt;        &lt;td&gt;SQL Server 2008 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;SQL Server 6.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server Code Named "Denali" CTP&lt;/td&gt;        &lt;td&gt;SQL Server Code Named "Denali" CTP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server Compact 3.5&lt;/td&gt;        &lt;td&gt;SQL Server Compact 3.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Capacity Planner&lt;/td&gt;        &lt;td&gt;System Center Capacity Planner&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Configuration Manager&lt;/td&gt;        &lt;td&gt;System Center Configuration Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Data Protection Manager&lt;/td&gt;        &lt;td&gt;System Center Data Protection Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Essentials 2007&lt;/td&gt;        &lt;td&gt;System Center Essentials 2007&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Essentials 2010&lt;/td&gt;        &lt;td&gt;System Center Essentials 2010&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Mobile Device Manager&lt;/td&gt;        &lt;td&gt;System Center Mobile Device Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Operations Manager&lt;/td&gt;        &lt;td&gt;System Center Operations Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Reporting Manager 2006&lt;/td&gt;        &lt;td&gt;System Center Reporting Manager 2006&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Service Manager&lt;/td&gt;        &lt;td&gt;System Center Service Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;System Center Virtual Machine Manager&lt;/td&gt;        &lt;td&gt;System Center Virtual Machine Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Systems Management Server 2003&lt;/td&gt;        &lt;td&gt;Systems Management Server 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Systems Management Server 2003 R2&lt;/td&gt;        &lt;td&gt;Systems Management Server 2003 R2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Embedded Device Manager&lt;/td&gt;        &lt;td&gt;Windows Embedded Device Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows MultiPoint Server 2011&lt;/td&gt;        &lt;td&gt;Windows MultiPoint Server 2011&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;TechNet Technical Library (1)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;TechNet Technical Library&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;TechNet Technical Training (5)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Technet Briefings&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;TechNet Webcasts&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Technical Services Guides&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Server 2008 Training&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Vista Training&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;&lt;u&gt;Tools and Resources (30)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;&lt;strong&gt;&lt;u&gt;Tools and Resources (105)&lt;/u&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Compact Framework 1.0&lt;/td&gt;        &lt;td&gt;.NET Compact Framework 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Compact Framework 2.0&lt;/td&gt;        &lt;td&gt;.NET Compact Framework 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Framework 1.0&lt;/td&gt;        &lt;td&gt;.NET Framework 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Framework 1.1&lt;/td&gt;        &lt;td&gt;.NET Framework 1.1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;.NET Framework 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;.NET Framework 3.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;.NET Framework 4&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Framework Redistributable 1.0&lt;/td&gt;        &lt;td&gt;.NET Framework Redistributable 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Framework Redistributable 2.0&lt;/td&gt;        &lt;td&gt;.NET Framework Redistributable 2.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;.NET Framework Redistributable 3.0&lt;/td&gt;        &lt;td&gt;.NET Framework Redistributable 3.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;.NET Micro Framework&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;16-bit SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Academic Alliance Tools&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Application Compatibility&lt;/td&gt;        &lt;td&gt;Application Compatibility&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;ASP .NET AJAX 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Azure SDK&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Bank Framework SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Baseline Security Analyzer 2.0.1&lt;/td&gt;        &lt;td&gt;Baseline Security Analyzer 2.0.1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Bookshelf Symbol 7&lt;/td&gt;        &lt;td&gt;Bookshelf Symbol 7&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;CMC SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;CRC 3.05&lt;/td&gt;        &lt;td&gt;CRC 3.05&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Data Analyzer 2002&lt;/td&gt;        &lt;td&gt;Data Analyzer 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Desktop Player&lt;/td&gt;        &lt;td&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Developer Security Resource Kit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Device Simulator&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;DHTML Editing SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Digital Dashboard&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;DirectX SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Enterprise Instrumentation framework&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;eScrum&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;ESP 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;FabriKam 3.1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;GIF Animator&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Healthcare Framework&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Help Workshop&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;IIS&lt;/td&gt;        &lt;td&gt;IIS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;ILMerge&lt;/td&gt;        &lt;td&gt;ILMerge&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Interix 2.2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Internet Security and Acceleration&lt;/td&gt;        &lt;td&gt;Internet Security and Acceleration&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;ISDN&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Log Parser&lt;/td&gt;        &lt;td&gt;Log Parser&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Mobile Internet Toolkit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Modem Developer Kit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MSDN Online Web Resource&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;MSXML 4.0&lt;/td&gt;        &lt;td&gt;MSXML 4.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;MSYubin7 1.5&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Office Resource Kit&lt;/td&gt;        &lt;td&gt;Office Resource Kit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Office System&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Palm Size PC 1.2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;PassPort Manager&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Passport SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Platform SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Pocket PC 2003 SDK&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Provisioning System SDK&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Repository SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Security SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Semblio&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Server Appliance Kit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Services for Netware&lt;/td&gt;        &lt;td&gt;Services for Netware&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;SharePoint Products and Technologies&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Smart Card&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Smart Tag SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;SMS 2003 SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Soap Toolkit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Solver Foundation&lt;/td&gt;        &lt;td&gt;Solver Foundation&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Source Code Migration Tool&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Speech SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;SQL 2000 Sybase&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server Migration Assistant&lt;/td&gt;        &lt;td&gt;SQL Server Migration Assistant&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SQL Server Tool (SQLH2)&lt;/td&gt;        &lt;td&gt;SQL Server Tool (SQLH2)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Standard User Analyzer&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Surface&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Translation and UI Strings Glossaries&lt;/td&gt;        &lt;td&gt;Translation and UI Strings Glossaries&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;UDDI SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Unified Communications Managed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Virtual Earth&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visio Tools&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Visual Basic for Applications&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Volume Shadow Copy Service&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Web Control SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Web Platform Installer&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Web Services Enhancements&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Web Storage SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Academic Program&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Communication Foundation&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows DNA XML&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Hardware Compatibility&lt;/td&gt;        &lt;td&gt;Windows Hardware Compatibility&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Installer&lt;/td&gt;        &lt;td&gt;Windows Installer&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Media&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Mobile 2002&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Mobile 2003&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Mobile 5.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Mobile 6.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows NT 3.51&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Point of Service&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Real-Time Communications&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Rights Management Services&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows SDK and DDKs&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Server Update&lt;/td&gt;        &lt;td&gt;Windows Server Update&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows SharePoint Services&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Windows Vista Upgrade Advisor 1.0&lt;/td&gt;        &lt;td&gt;Windows Vista Upgrade Advisor 1.0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;Windows Workflow Foundation&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;WinFS&lt;/td&gt;        &lt;td&gt;WinFS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;WinFX Beta 1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt; &lt;/td&gt;        &lt;td&gt;WinFX Runtime Components CTP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;XML Parser 3.0&lt;/td&gt;        &lt;td&gt;XML Parser 3.0&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/146599.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2011/08/19/146599.aspx</guid>
            <pubDate>Sat, 20 Aug 2011 02:17:10 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/146599.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2011/08/19/146599.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/146599.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/146599.aspx</trackback:ping>
        </item>
        <item>
            <title>Configuring the Synology DS1511+</title>
            <category>Software</category>
            <category>&amp; Etc.</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2011/07/08/146137.aspx</link>
            <description>&lt;p&gt;My last post related the sad story of a dead HP MediaSmart Home Server. This time, I will relate the steps I took to configure the Synology DS1511+ for use. To avoid unnecessary typing, I recommend &lt;a href="http://www.paraesthesia.com/archive/2010/05/20/moving-to-a-synology-ds1010.aspx" target="_blank"&gt;this post&lt;/a&gt; to provide the basic details. It is written for the older DS1010+, but the process is the same for the DS1511+. … OK, now that you have read that, I have different drives in my NAS so I had a different kind of problem.&lt;/p&gt;  &lt;p&gt;I chose to go with five &lt;a href="http://www.amazon.com/gp/product/B002ZCXK0I/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=narboza-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B002ZCXK0I"&gt;Western Digital 2TB Caviar Green SATA II drives (WD20EARS)&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B002ZCXK0I&amp;amp;camp=217145&amp;amp;creative=399369" width="1" height="1" /&gt; because of their availability, great price, and presence on the &lt;a href="http://www.synology.com/support/hd.php?lang=enu" target="_blank"&gt;Synology compatible hard drive list&lt;/a&gt;.  That "Green" technology is what is causing the problem.&lt;/p&gt;  &lt;p&gt;When I examined the SMART data after only 10 hours of run time, I was puzzled as to why the Load Cycle Count (LCC) values were over 100. Some searches showed that the recent WD Green drives have an aggressive Idle3 power saving feature that is not compatible with Linux standard settings. While the drives are certified to 300,000 LCC cycles, the drives in the Synology would get to that level in one year instead of 5-6 years. There is even an &lt;a href="http://forum.synology.com/enu/viewforum.php?f=124" target="_blank"&gt;entire discussion board&lt;/a&gt; concerning the Western Digital LCC issue on the Synology website.&lt;/p&gt;  &lt;p&gt;The WD Green drives have a default of 8 seconds before they park the drive heads and increment the LCC value. That value is changeable, but you have to run a custom application. Western Digital provides one (WDIDLE3) that runs under DOS. That is OK for laptop/desktop users who can put it on bootable CD, but it is not useful for a headless NAS appliance.&lt;/p&gt;  &lt;p&gt;Since WDIDLE3 is a Windows application, it does not run on the NAS under Linux. The DS1511+ has an Intel Atom D525 1.8GHz x86 Processor, 1GB of 64-bit DDR2 RAM (expandable to 3GB). The solution is to create a native Linux application.&lt;/p&gt;  &lt;p&gt;There is a SourceForge project to set the Western Digital Idle3 drive setting &lt;a href=": http://idle3-tools.sourceforge.net/" target="_blank"&gt;here&lt;/a&gt;.  The goal of this exercise is to get the Idle3 Tools to run natively on the Synology NAS.  To do this on a fresh, unmodified Synology box, I did the following from a Windows 7 machine.  (This is a compilation of several posts on the Synology website.)  I recommend compiling the source code locally on the NAS.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;From the Synology DSM web interface, configure the NAS for remote access      &lt;ul&gt;       &lt;li&gt;Open the Control Panel, click on the Terminal icon in the Network Services section, select "Enable SSH service", and click OK          &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In Windows, download and install &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;PuTTY&lt;/a&gt; if you do not already have a SSH client on the PC       &lt;ul&gt;       &lt;li&gt;Configure PuTTY using the IP address of the NAS on port 22 (I saved it as a new session for easy recall) &lt;/li&gt;        &lt;li&gt;Establish the PuTTY session with the NAS &lt;/li&gt;        &lt;li&gt;Login to the NAS as username "root" with the same password as the administrative password of the Synology system          &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In Windows, download and extract the Idle3 Tools source code to the Synology box &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;I downloaded the file "idle3-tools-0.9.1.gz" from &lt;a href="http://sourceforge.net/projects/idle3-tools/files/" target="_blank"&gt;here&lt;/a&gt; (It is listed as a .tgz file, but it is not.)&lt;/li&gt;      &lt;li&gt;When I extracted it, WinZip could not read the archive correctly, so I had to use 7-Zip&lt;/li&gt;      &lt;li&gt;I extracted the archive to a new "\\DISKSTATION\public\idle3-tools-0.9.1" directory on the NAS (You can use any shared directory. I used the "public" directory I created.)&lt;/li&gt;      &lt;li&gt;In that directory, I opened the file "Makefile" in Notepad and removed the "?" from lines 13 and 14&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;"CC ?= gcc" was changed to "CC = gcc"&lt;/li&gt;        &lt;li&gt;"STRIP ?= strip" was changed to "STRIP = strip"&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Save the Makefile and close Notepad       &lt;br /&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Using PuTTY, download and install the Itsy Package Management System (IPKG)      &lt;ul&gt;       &lt;li&gt;Change to a temporary directory by entering the command "cd /volume1/@tmp" &lt;/li&gt;        &lt;li&gt;Download the IPKG bootstrap by entering the command "wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh" (this takes some time) &lt;/li&gt;        &lt;li&gt;Install IPKG by running the downloaded script with the command "sh syno-i686-bootstrap_1.2-7_i686.xsh" (this takes some time) &lt;/li&gt;        &lt;li&gt;Delete the IPKG script file with the command "rm syno-i686-bootstrap_1.2-7_i686.xsh" &lt;/li&gt;        &lt;li&gt;Close PuTTY by entering the command "exit"         &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;From the Synology DSM web interface, reboot the NAS      &lt;ul&gt;       &lt;li&gt;Click the top left arrow, click on "Restart", and close the browser tab          &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Using PuTTY after the NAS restarts      &lt;ul&gt;       &lt;li&gt;Login to the NAS again user "root" &lt;/li&gt;        &lt;li&gt;Change to the Idle3 Tools directory by entering the command "cd /volume1/public/idle3-tools-0.9.1/" &lt;/li&gt;        &lt;li&gt;Update IPKG by entering the command "ipkg update" (this takes some time) &lt;/li&gt;        &lt;li&gt;Download and install the GNU Compiler Collection (GCC) via IPKG by entering the command "ipkg install gcc" &lt;/li&gt;        &lt;li&gt;Download and install Make via IPKG by entering the command "ipkg install make" &lt;/li&gt;        &lt;li&gt;Run Make to compile the Idle3 Tools by entering the command "make" &lt;/li&gt;        &lt;li&gt;Test for proper compilation with the command "./idle3ctl –h" which should display the lines          &lt;br /&gt;          &lt;ul&gt;           &lt;p&gt;idle3ctl v0.9.1 - Read, Set or disable the idle3 timer of Western Digital drives              &lt;br /&gt;Copyright (C) 2011  Christophe Bothamy &lt;/p&gt;            &lt;p&gt;Usage: idle3ctl [options] device              &lt;br /&gt;Options:               &lt;br /&gt;-h : displat help               &lt;br /&gt;-V : show version and exit immediately               &lt;br /&gt;-v : verbose output               &lt;br /&gt;--force : force even if no Western Digital HDD are detected               &lt;br /&gt;-g : get raw idle3 timer value               &lt;br /&gt;-g100 : get idle3 timer value as wdidle3 v1.00 value               &lt;br /&gt;-g103 : get idle3 timer value as wdidle3 v1.03 value               &lt;br /&gt;-g105 : get idle3 timer value as wdidle3 v1.05 value               &lt;br /&gt;-d : disable idle3 timer               &lt;br /&gt;-s&amp;lt;value&amp;gt; : set idle3 timer raw value&lt;/p&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Run the Idle3 Tools and set the the values on the drives as desired. The default timer value is "80" for 8 seconds.  Because I have five drives in the NAS, I had to run the utility five times to disable the timer on each one. Set yours as desired.          &lt;br /&gt;          &lt;ul&gt;           &lt;p&gt;./idle3ctl -d /dev/sda              &lt;br /&gt;./idle3ctl -d /dev/sdb               &lt;br /&gt;./idle3ctl -d /dev/sdc               &lt;br /&gt;./idle3ctl -d /dev/sdd               &lt;br /&gt;./idle3ctl -d /dev/sde&lt;/p&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;From the DSM interface, shutdown the NAS (This is required for the drives to read the new Idle3 setting on power-up.)  &lt;ul&gt;       &lt;li&gt;Click the top left arrow, click on "Shutdown", and close the browser tab          &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Once it is fully off, restart the NAS &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Your NAS disks should now have stopped their LCC cycling.  This kind of process is why I am staying with Windows as much as I can.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/146137.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2011/07/08/146137.aspx</guid>
            <pubDate>Sat, 09 Jul 2011 02:40:33 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/146137.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2011/07/08/146137.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/146137.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/146137.aspx</trackback:ping>
        </item>
        <item>
            <title>Replacing a Windows Home Server</title>
            <category>Personal</category>
            <category>Software</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2011/07/05/146090.aspx</link>
            <description>&lt;p&gt;There comes a time when computers die. So it was with our HP MediaSmart Home Server. At the age of 4, I was not expecting it to die. Oops.&lt;/p&gt;  &lt;p&gt;It has never really been an easy life before the death of that machine. It’s anemic 512MB of memory got upgraded to 2GB. The 500MB primary drive got expanded with two 1TB drives. The power supply fan started sounding like my lawn mower, so it had to be replaced. Things seemed stable until the primary drive croaked – and me unable to locate the recovery disk – bad, bad.&lt;/p&gt;  &lt;p&gt;So I went on a search for a replacement. I wanted a true RAID this time and something that was a already-built solution, an appliance if you will. To make the long story short, I purchased a &lt;a href="http://www.amazon.com/gp/product/B004GKLT4G/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=narboza-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B004GKLT4G"&gt;Synology DiskStation DS1511+&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B004GKLT4G&amp;amp;camp=217145&amp;amp;creative=399373" width="1" height="1" /&gt;, stuffed it with five &lt;a href="http://www.amazon.com/gp/product/B002ZCXK0I/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=narboza-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B002ZCXK0I"&gt;Western Digital 2TB Caviar Green SATA II drives (WD20EARS)&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B002ZCXK0I&amp;amp;camp=217145&amp;amp;creative=399369" width="1" height="1" /&gt;, set it up as a RAID5, and then copied all the files from the MediaSmart’s data drives to the new SAN box. We will see how those consumer-grade drives work in the RAID.&lt;/p&gt;  &lt;p&gt;The copy operation took awhile. I used &lt;a href="http://www.amazon.com/gp/product/B000P1NAMO/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=narboza-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000P1NAMO"&gt;this storage enclosure for 3.5-Inch SATA HDD's&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=narboza-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B000P1NAMO&amp;amp;camp=217145&amp;amp;creative=399369" width="1" height="1" /&gt; via its USB 2.0 port to connect to my laptop. I would have used the eSATA port, but I did not have a cable. The enclosure ships with USB and FireWire cables.&lt;/p&gt;  &lt;p&gt;The Home Server is great for automated backups and making its drives seamlessly available. That Drive Extender technology was one of the big selling points for me. Microsoft has subsequently removed that capability in the most recent version &lt;a href="http://www.amazon.com/gp/product/B0050TVAWS/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=narboza-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B0050TVAWS"&gt;Windows Home Server 2011&lt;/a&gt;. The stated reason was that they could not maintain compatibility when they moved to using Server 2008 R2 as its core. Whatever. Drive Extender is dead. That was a primary reason for my buying it, so I am not buying another.&lt;/p&gt;  &lt;p&gt;I found a podcast (&lt;a href="http://www.hanselminutes.com/default.aspx?showID=285" target="_blank"&gt;Hanselminutes #285&lt;/a&gt;) with a great explanation of why two techies replaced their Home Server with a SAN appliance, or at least augmented it. One of the participants in the podcast, Travis Illig, has an &lt;a href="http://www.paraesthesia.com/archive/2010/05/20/moving-to-a-synology-ds1010.aspx" target="_blank"&gt;excellent post&lt;/a&gt; with pictures on how to set up the DiskStation. I will be writing another post about my setting up the DiskStation from the perspective of a Windows guy working with a Linux system. Let’s just say that adventure ensued.&lt;/p&gt;  &lt;p&gt;The new setup is supporting video and music throughout the house now, as well as centralized file storage. I will be expanding the use of several features of the Synology DiskStation in the coming weeks.&lt;/p&gt;  &lt;p&gt;My post on configuring the DS1511+ is &lt;a href="http://geekswithblogs.net/mtreadwell/archive/2011/07/08/146137.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/146090.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2011/07/05/146090.aspx</guid>
            <pubDate>Tue, 05 Jul 2011 11:30:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/146090.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2011/07/05/146090.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/146090.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/146090.aspx</trackback:ping>
        </item>
        <item>
            <title>Quieting Outlook 2010</title>
            <category>&amp; Etc.</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2011/04/10/144789.aspx</link>
            <description>&lt;p&gt;I had an Outlook irritation that I resolved recently.  I have many irritations with Outlook, but the one I fixed was some of the sounds it makes.&lt;/p&gt;  &lt;p&gt;Every time I viewed a new folder, it made an irritating noise.  Every time I deleted an email or RSS item, it made a different irritating noise.  With no program option available other than the new mail sound, I went into Control Panel | Sound | Sounds tab for some surgery.  Scroll down the Program Events list until you get to the Microsoft Office section.&lt;/p&gt;  &lt;p&gt;To quiet the folder change sound, I deleted the value in the “Sort” line.  To quiet the deleted email/RSS item sound, I deleted the value in the “Delete Row” line.  Now I have blissful silence.  You can also choose one of the more subtle noises if you prefer.&lt;/p&gt;  &lt;p&gt;This will apply across all Office applications, but I can live with that.  I hope this can help someone else who is tired of the noise.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/144789.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2011/04/10/144789.aspx</guid>
            <pubDate>Sun, 10 Apr 2011 13:36:56 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/144789.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2011/04/10/144789.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/144789.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/144789.aspx</trackback:ping>
        </item>
        <item>
            <title>Black Friday</title>
            <category>&amp; Etc.</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2010/11/21/142810.aspx</link>
            <description>&lt;p&gt;Retailers are desperate.  Amazon has “leaked” their entire &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Ffeature.html%3Fie%3DUTF8%26ref_%3Damb_link_354604562_2%26docId%3D1000452571&amp;amp;tag=narboza-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=390957"&gt;Black Friday movie deal schedule&lt;/a&gt;. &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FBlack-Friday-After-Thanksgiving-Sale%2Fb%3Fie%3DUTF8%26node%3D384082011&amp;amp;tag=narboza-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=390957"&gt;More deals here&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="alt" src="https://www.assoc-amazon.com/e/ir?t=narboza-20&amp;amp;l=ur2&amp;amp;o=1" width="1" height="1" /&gt;. I have used their &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fgoldbox%3Fie%3DUTF8%26ref_%3Dcs_top_nav_gb27&amp;amp;tag=narboza-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=390957"&gt;daily deal&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="alt" src="https://www.assoc-amazon.com/e/ir?t=narboza-20&amp;amp;l=ur2&amp;amp;o=1" width="1" height="1" /&gt; too.  &lt;/p&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/142810.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2010/11/21/142810.aspx</guid>
            <pubDate>Mon, 22 Nov 2010 02:02:09 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/142810.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2010/11/21/142810.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/142810.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/142810.aspx</trackback:ping>
        </item>
        <item>
            <title>Kindle 3 Review</title>
            <category>Personal</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2010/11/09/142662.aspx</link>
            <description>&lt;p&gt;I recently upgraded from the second to the third Kindle version.  It was not by choice.  (Note: A Kindle cover is useless when you drop a reader on one of its corners.  No really … it was an accident and I did not say any bad words, though I certainly was thinking them.)  So, now I have a new Kindle with all my old content onboard.  I thought I would post a few impressions, in no particular order, after two weeks of use and after reading some teardown reviews.&lt;/p&gt;  &lt;p&gt;See the updates on the unlighted cover issues below.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;PROs&lt;/u&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Smaller and lighter, though it is at the smallest comfortable size for my adult hands to hold. &lt;/li&gt;    &lt;li&gt;More memory for more books. &lt;/li&gt;    &lt;li&gt;Page turns and menu operations are faster. &lt;/li&gt;    &lt;li&gt;The screen is sharper (better contrast), which is the most appreciated change. &lt;/li&gt;    &lt;li&gt;The back is a rubbery feel plastic rather than metal. &lt;/li&gt;    &lt;li&gt;Lower prices. &lt;/li&gt;    &lt;li&gt;Excellent battery life (so far). &lt;/li&gt;    &lt;li&gt;While very slightly thinner than the Kindle 2, the more rounded back edges give a better illusion of the unit being even thinner than it is.  This was done by moving the various controls to a “thicker” bottom region.  The bottom edge is not actually thicker than the rest of the unit, it is just full thickness all the way to the edge, hence it loses the tapered thinness illusion.  You can prove it by holding a Kindle 3 sideways. &lt;/li&gt;    &lt;li&gt;The power slide switch operates much better now.  On the Kindle 2, it had a stronger spring, was a slippery metal, and did not protrude from the bezel very far.  These issues are fixed on the Kindle 3. &lt;/li&gt;    &lt;li&gt;The power slide switch is backlit, glowing green when you have moved it far enough. The switch backlight doubles as a power charge indicator, going from orange to green. &lt;/li&gt;    &lt;li&gt;The Amazon lighted cover draws it power from the reader via the attachment points.  This saves the weight and expense of external batteries at the cost of decreased run time from the system battery. (See the CONS section below, though) &lt;/li&gt;    &lt;li&gt;The cover attachment points inside the reader received special reinforcement.  After a round of bad press about broken front bezel plastic on the Kindle 2, Amazon added a special plastic fixture inside the Kindle 3.  On the Kindle 2, Amazon relied on the metal back cover for strength.  That left the weak front plastic as the failure point.  In reinforcing the internal attachment points, they then had a good spot for providing power to the lighted cover.  The reinforced attachment points firmly connect the removable cover to the front bezel and the internal support structure. &lt;/li&gt;    &lt;li&gt;The forward and back buttons on the left and right sides are quieter. &lt;/li&gt;    &lt;li&gt;The forward and back buttons on the left and right sides are harder to accidentally hit when picking up the reader. &lt;/li&gt;    &lt;li&gt;The Home button moved from a big right side button to a extra width keypad button.  Good choice. &lt;/li&gt;    &lt;li&gt;The Menu and Back buttons have moved from the right side near the five-way controller to the keypad as extra width buttons. &lt;/li&gt;    &lt;li&gt;The five-way controller shifted from a stubby joystick to a square keypad, making all keypad operations a press.  Good design. &lt;/li&gt;    &lt;li&gt;Native PDF reading, though zooming and panning could be easier. &lt;/li&gt;    &lt;li&gt;Wi-Fi and AT&amp;amp;T 3G cellular connections. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;u&gt;Neutrals&lt;/u&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The side controls have all moved to the bottom of the device: The power slide switch moved from the top to the bottom right, the headphone jack moved from the top to the bottom middle, and the volume rocker switch moved from the upper right side to the bottom left.  The microphone and USB connector stayed on the bottom middle. &lt;/li&gt;    &lt;li&gt;The keypad buttons are spaced closer together horizontally but not vertically. &lt;/li&gt;    &lt;li&gt;The keypad space bar is slightly wider – five vice four buttons wide – even with the closer button spacing. &lt;/li&gt;    &lt;li&gt;The Amazon covers come with an elastic band to hold it closed.  I never had a need for such a device on the Amazon Kindle 1 or 2 covers, though it may be related to the stiffer cover hinge area. &lt;/li&gt;    &lt;li&gt;The Amazon cover loses its identifying “Amazon Kindle” metal tag, replacing it with an embossed leather tab on the elastic band. &lt;/li&gt;    &lt;li&gt;The “screen saver” images are unchanged. &lt;/li&gt;    &lt;li&gt;Screen size in unchanged. &lt;/li&gt;    &lt;li&gt;You get to choose from two bezel colors: white and dark grey (graphite). &lt;/li&gt;    &lt;li&gt;The speakers moved from the rear bottom to the rear top to make room for the external controls which are now on the bottom. &lt;/li&gt;    &lt;li&gt;Comes with wall power adapter and micro USB cable. &lt;/li&gt;    &lt;li&gt;Packaging is recyclable paper except for the screen protector. &lt;/li&gt;    &lt;li&gt;The 3G cellular module "operates globally on tri-band UMTS 850/1900/2100 wireless networks as well as quad-band GSM/GPRS/EDGE 850/900/1800/1900 networks" per the manufacturer.  There is a SIM card preinstalled. &lt;/li&gt;    &lt;li&gt;The cellular antenna is at the top of the reader between the speakers and is huge compared to the miniscule Kindle 2 antenna. &lt;/li&gt;    &lt;li&gt;The speaker grills are shaped the way they are because of internal arrangement constraints.  Looking at the back of the reader, the battery is on the upper left side, just below the speaker which is oriented horizontally.  The multi-frequency antenna between the speakers is a fixed width that required the right speaker to be rotated 90 degrees to fit, so it is oriented vertically.  You can see the silver speaker cones through the grills. &lt;/li&gt;    &lt;li&gt;The Wi-Fi antennas are mounted in the front bezel at the lower right corner looking at the front of the reader. &lt;/li&gt;    &lt;li&gt;The Kindle 1 has a reset switch hole under the removable rear cover.  The Kindle 2 has none.  The Kindle 3 restores the reset switch (it is near the the power switch, facing the back) but does not provide a hole in the back cover to access it.  Should it be required, you need to remove the back cover to use it.  I had to use the reset button on my Kindle 1, but have not needed it one either of the two replacements. &lt;/li&gt;    &lt;li&gt;The previous two back panel certification logos now have grown to fourteen with the addition of the worldwide GSM cell module.  Other data on the back panel is the model number (D00901 for mine), FCC ID, IC ID, input voltage and assembly country.  Good luck reading the black printing on a dark grey panel. &lt;/li&gt;    &lt;li&gt;The reader serial number previously printed on the back panel is now only accessible via the directory menu in the Device Info area.  You can also get the network MAC address there.  This will certainly cut manufacturing costs. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;u&gt;CONs&lt;/u&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The smaller size caused the deletion of the row of number keys from the top of the keyboard.  This is a real PITA if you want to jump to a numbered location in a book.  It also greatly irritated my three-year-old son who enjoyed pressing the number buttons while I was reading. &lt;/li&gt;    &lt;li&gt;To get to the numbers, you now must push the “Sym” (Symbol) button and then use the five-way controller to cursor around the virtual list and select them one by one. Bad Design. &lt;/li&gt;    &lt;li&gt;The slash (“/”) keypad button is gone.  It is now accessed via the symbol list. &lt;/li&gt;    &lt;li&gt;The removable cover attachment slots are spaced about 1 cm wider apart, making all Kindle 2 covers unusable.  Unappreciated.  This is likely due to the new reinforced attachment points and the lighted cover power supply feature.  The Kindle 3 cover metal attachments are a longer design.  The unlighted cover metal attachments have a nonconductive paint on them to prevent short circuits, while the lighted cover attachments look to be gold plated.  The Kindle 2 cover attachments are conductive black metal and would be prone to short circuits which could drain the battery or even cause a fire if used with a Kindle 3.  This element of the design certainly called for deleting the metal rear cover. &lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/font&gt;: The Amazon unlighted cover can cause the Kindle 3 reader to freeze or reboot.  I only use the cover when I travel, and I had to manually reset it twice.  One time it froze when I tried to wake the unit to read.  It was an obvious freeze since the green LED behind the power slide switch stayed on when it is usually illuminated for a second or two.  The units also forget to save the last read position.  Both of our Kindle 3 units exhibit this behavior in their covers.  They work fine without the covers.  From the teardown photo galleries (my favorite is &lt;a href="http://www.zdnet.com/photos/amazon-kindle-graphite-3g-wi-fi-2010-teardown/461473" target="_blank"&gt;here&lt;/a&gt;), it appears that the power connection is via the lower cover connector.  There are four system board contacts which are connected to sliding contacts in the lower connector attachment point, which is the one you pivot around to install the cover.  My guess is that the power contacts are shorting leading to a “power bad” signal to the unit which prevents it from operating. &lt;strong&gt;&lt;font color="#ff0000"&gt;Update to the Update&lt;/font&gt;&lt;/strong&gt;: I called the Amazon Kindle Customer Service number (877-453-4512) and described our problems.  They credited my account $70 for the two unlighted covers and applied a $50 special offer to my account that made purchasing two new lighted covers a no-cost fix.  They did not want the old covers back.&lt;/li&gt;    &lt;li&gt;The Amazon Kindle 3 cover is stiffer and not as easy to fold back for one-handed reading as the Kindle 2 cover is. &lt;/li&gt;    &lt;li&gt;The Amazon covers are still an extra cost item. &lt;/li&gt;    &lt;li&gt;The Amazon lighted cover is too expensive compared to the device.  At $60, it is 43% of the cost of the $139 device, and 32% of the cost of the $189 device.  Ouch. &lt;/li&gt;    &lt;li&gt;Even the Amazon unlighted cover is pricey compared to the device.  At $35, it is 25% of the cost of the $139 device, and 19% of the cost of the $189 device. &lt;/li&gt;    &lt;li&gt;The Amazon cover does nothing to protect the reader if dropped – as I have proven.  This is because the E-Ink display panel is glued to the front bezel plastic, so any impact shock to the plastic is transferred directly to the display panel.  What you see on the front of the reader is the actual E-Ink display panel. &lt;/li&gt;    &lt;li&gt;Moving the power slide switch to the bottom makes it more awkward to operate with your thumb. &lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/font&gt;: With use, the power slide switch is getting stiffer to operate and returns to its neutral position slower. &lt;/li&gt;    &lt;li&gt;Moving the headphone jack to the bottom makes it uncomfortable to use headphones while reading on your back. &lt;/li&gt;    &lt;li&gt;The forward and back buttons on the left and right sides are harder to intentionally hit when using the device. &lt;/li&gt;    &lt;li&gt;The five-way controller Up button is uncomfortably close (for an adult finger) to the Menu button, which I have inadvertently hit. &lt;/li&gt;    &lt;li&gt;The five-way controller Down button is uncomfortably close (for an adult finger) to the Back button, which I have inadvertently hit. &lt;/li&gt;    &lt;li&gt;The size of the five-way controller is based on the visual alignment to the top and bottom of the adjacent rows of buttons rather than for ergonomic considerations. &lt;/li&gt;    &lt;li&gt;The battery is replaceable only if you want to remove the back cover of the device (which can be done) but is not designed to be done easily. &lt;/li&gt;    &lt;li&gt;The reader has an RFID tag inside the back cover of the device if you are concerned about such things. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Overall I like the device compared to its two predecessors.  Would I upgrade just for the new features?  No - unless I had a good resale of the old reader lined up.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/142662.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2010/11/09/142662.aspx</guid>
            <pubDate>Wed, 10 Nov 2010 03:56:17 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/142662.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2010/11/09/142662.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/142662.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/142662.aspx</trackback:ping>
        </item>
        <item>
            <title>String.Truncate</title>
            <category>Programming</category>
            <link>http://geekswithblogs.net/mtreadwell/archive/2010/08/28/141536.aspx</link>
            <description>&lt;p&gt;After my &lt;a href="http://geekswithblogs.net/mtreadwell/archive/2010/08/23/141453.aspx" target="_blank"&gt;previous post&lt;/a&gt; on truncating a .NET String at the end of a word, I thought that the simpler problem of just truncating a string to a specific length, while retaining all the rest of the code’s features, would have been obvious, but I got a couple of email requests.  So here it is.&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// Truncate a string to the specified length.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;param name="value"&amp;gt;The input string.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;param name="length"&amp;gt;The maximum length of the returned string.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;gt;A substring of the original, truncated to the specified length.&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; String Truncate(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt; String &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; length)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;.Truncate(length, &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// Truncate a string to the specified length.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;param name="value"&amp;gt;The input string.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;param name="length"&amp;gt;The maximum length of the returned string.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;param name="addEllipsis"&amp;gt;Specifies whether an ellipsis (...) is added to the end of the string.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;gt;A substring of the original, truncated to the specified length.&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; String Truncate(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt; String &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; length, &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; addEllipsis)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #008000"&gt;// Return unchanged if no truncation required&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ((&lt;span style="color: #0000ff"&gt;value&lt;/span&gt; == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;) || (&lt;span style="color: #0000ff"&gt;value&lt;/span&gt;.Length &amp;lt;= length) || (length &amp;lt;= 0))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #008000"&gt;// Ensure length meets conditions&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (addEllipsis &amp;amp;&amp;amp; (length &amp;gt; 3))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    length -= 3;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    addEllipsis = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #008000"&gt;// Truncate based on passed length&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  String work = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;.Substring(0, length);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #008000"&gt;// Optionally add ellipsis&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (addEllipsis ? (work + &lt;span style="color: #006080"&gt;"..."&lt;/span&gt;) : work);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt; &lt;img src="http://geekswithblogs.net/mtreadwell/aggbug/141536.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mark Treadwell</dc:creator>
            <guid>http://geekswithblogs.net/mtreadwell/archive/2010/08/28/141536.aspx</guid>
            <pubDate>Sun, 29 Aug 2010 03:32:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mtreadwell/comments/141536.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mtreadwell/archive/2010/08/28/141536.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/mtreadwell/comments/commentRss/141536.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mtreadwell/services/trackbacks/141536.aspx</trackback:ping>
        </item>
    </channel>
</rss>
