<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Code to Live,  Live to Code</title>
    <link>http://randypatterson.com/</link>
    <description>Randy Patterson's BLog</description>
    <language>en-us</language>
    <copyright>Randy Patterson</copyright>
    <lastBuildDate>Fri, 27 Jun 2008 21:21:25 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.7174.0</generator>
    <managingEditor>randyblog1@randypatterson.com</managingEditor>
    <webMaster>randyblog1@randypatterson.com</webMaster>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=64914677-63f2-4e00-8459-4df93414beb1</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,64914677-63f2-4e00-8459-4df93414beb1.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,64914677-63f2-4e00-8459-4df93414beb1.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=64914677-63f2-4e00-8459-4df93414beb1</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's been six months since my previous article "<a href="http://randypatterson.com/2007/12/05/10PodcastsEveryDeveloperShouldListenTo.aspx" target="_blank">10
Podcasts Every Developer Should Listen To</a>" so I thought I would do a follow up
article outlining some of the new quality podcasts available to developers.
</p>
        <table cellspacing="0" cellpadding="2" width="768" border="1">
          <tbody>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" align="left" />
              </td>
              <td valign="top" width="232">
                <a href="http://altnetpodcast.com/" target="_blank">Alt.Net Podcast</a>
              </td>
              <td valign="top" width="513">
Good quality weekly podcast covering topics like adopting Agile, Dependency Injection
and Continuous Integration</td>
            </tr>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" />
              </td>
              <td valign="top" width="232">
                <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=oNnUn0EZ3RGZ6TmZ2h2EvQ" target="_blank">The
Java Pose</a>
              </td>
              <td valign="top" width="510">
Helps to keep me informed of the innovations happening in the Java world and you get
a catchy intro tune for free.  
</td>
            </tr>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" />
              </td>
              <td valign="top" width="232">
                <a href="http://thirstydeveloper.com/" target="_blank">The Thirsty Developer</a>
              </td>
              <td valign="top" width="507">
A weekly podcast covering a wide variety of .NET topics like SCRUM, Continuous Integration,
Cyclomatic Complexity and Silverlight 2.  
</td>
            </tr>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" />
              </td>
              <td valign="top" width="232">
                <a href="http://www.parleys.com/" target="_blank">Parlays</a>
              </td>
              <td valign="top" width="509">
Good architecture podcast with a wide variety of topics that focus on Java, Google
and Apple.  
</td>
            </tr>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" />
              </td>
              <td valign="top" width="232">
                <a href="http://www.radiotfs.com/" target="_blank">Radio TFS</a>
              </td>
              <td valign="top" width="508">
Excellent podcast on all things Team Foundation Server.  Highly recommended if
you use or plan to use TFS</td>
            </tr>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" />
              </td>
              <td valign="top" width="232">
                <a href="http://thirstydeveloper.com/" target="_blank">ThoughtWorks - IT Matters</a>
              </td>
              <td valign="top" width="506">
Discusses the business and technology issues facing the IT Industry with occasional
appearances from people like Martin Fowler.</td>
            </tr>
            <tr>
              <td valign="top" width="19">
                <img src="http://randypatterson.com/images/feedButton.gif" />
              </td>
              <td valign="top" width="232">
                <a href="http://deepfriedbytes.com/" target="_blank">Deep Fired Bytes</a>
              </td>
              <td valign="top" width="511">
Despite the unhealthy name of this podcast it covers a healthy variety of IT Topics.</td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
If I've missed any developer related podcasts that you find helpful please let me
know.
</p>
        <p>
          <a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2008%2f06%2f27%2fTopDeveloperPodcastsPartII.aspx">
            <img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2008%2f06%2f27%2fTopDeveloperPodcastsPartII.aspx" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=64914677-63f2-4e00-8459-4df93414beb1" />
      </body>
      <title>Top Developer Podcasts Part II</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,64914677-63f2-4e00-8459-4df93414beb1.aspx</guid>
      <link>http://randypatterson.com/2008/06/27/TopDeveloperPodcastsPartII.aspx</link>
      <pubDate>Fri, 27 Jun 2008 21:21:25 GMT</pubDate>
      <description>&lt;p&gt;
It's been six months since my previous article "&lt;a href="http://randypatterson.com/2007/12/05/10PodcastsEveryDeveloperShouldListenTo.aspx" target="_blank"&gt;10
Podcasts Every Developer Should Listen To&lt;/a&gt;" so I thought I would do a follow up
article outlining some of the new quality podcasts available to developers.
&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="768" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif" align="left"&gt;&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://altnetpodcast.com/" target="_blank"&gt;Alt.Net Podcast&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="513"&gt;
Good quality weekly podcast covering topics like adopting Agile, Dependency Injection
and Continuous Integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif"&gt;&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://pipes.yahoo.com/pipes/pipe.info?_id=oNnUn0EZ3RGZ6TmZ2h2EvQ" target="_blank"&gt;The
Java Pose&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="510"&gt;
Helps to keep me informed of the innovations happening in the Java world and you get
a catchy intro tune for free.&amp;nbsp; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif"&gt; 
&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://thirstydeveloper.com/" target="_blank"&gt;The Thirsty Developer&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="507"&gt;
A weekly podcast covering a wide variety of .NET topics like SCRUM, Continuous Integration,
Cyclomatic Complexity and Silverlight 2.&amp;nbsp; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif"&gt; 
&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://www.parleys.com/" target="_blank"&gt;Parlays&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="509"&gt;
Good architecture podcast with a wide variety of topics that focus on Java, Google
and Apple.&amp;nbsp; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif"&gt; 
&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://www.radiotfs.com/" target="_blank"&gt;Radio TFS&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="508"&gt;
Excellent podcast on all things Team Foundation Server.&amp;nbsp; Highly recommended if
you use or plan to use TFS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif"&gt; 
&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://thirstydeveloper.com/" target="_blank"&gt;ThoughtWorks - IT Matters&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="506"&gt;
Discusses the business and technology issues facing the IT Industry with occasional
appearances from people like Martin Fowler.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="19"&gt;
&lt;img src="http://randypatterson.com/images/feedButton.gif"&gt; 
&lt;/td&gt;
&lt;td valign="top" width="232"&gt;
&lt;a href="http://deepfriedbytes.com/" target="_blank"&gt;Deep Fired Bytes&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
Despite the unhealthy name of this podcast it covers a healthy variety of IT Topics.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
If I've missed any developer related podcasts that you find helpful please let me
know.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2008%2f06%2f27%2fTopDeveloperPodcastsPartII.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2008%2f06%2f27%2fTopDeveloperPodcastsPartII.aspx" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=64914677-63f2-4e00-8459-4df93414beb1" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,64914677-63f2-4e00-8459-4df93414beb1.aspx</comments>
      <category>Podcast</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=4126183c-4443-4927-bf3c-5b28d9d282c2</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,4126183c-4443-4927-bf3c-5b28d9d282c2.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,4126183c-4443-4927-bf3c-5b28d9d282c2.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=4126183c-4443-4927-bf3c-5b28d9d282c2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 
</p>
        <h3>
          <a href="http://martinfowler.com/articles/injection.html" target="_blank">Dependency
Injection</a> using the Microsoft <a href="http://codeplex.com/unity" target="_blank">Unity
Application Block</a></h3>
        <p>
The Microsoft Unity Application Block is a lightweight Dependency Injection Container
that is currently being incorporated into the latest releases of Enterprise Library
and the Composite Application Library (Prism). This session will give an introduction
to Dependency Injection and Inversion of Control concepts and a brief overview of
how to use the Unity Application Block to build loosely coupled applications.
</p>
        <p>
My goal is to finish by leading a discussion on the pros and cons of Dependency Injection,
Loosely coupled and Tightly coupled components. When we leave I hope everyone will
have a deeper understanding of these principles and how and when to apply them.
</p>
        <p>
          <strong>
            <i>When &amp; Where:</i>
          </strong>
          <br />
Thursday, June 26, 2008 from 06:30 PM - 08:30 PM (ET)<br />
Microsoft Corporation<br />
3000 Bayport Drive<br />
Suite 480<br />
Tampa, FL 33607 
<br /><a href="http://list-manage.com/track/click?u=def661e5fb5b51ddb3bafdd75&amp;id=623dad369a&amp;e=NXdOG97ItE">View
a map</a><br /><a href="http://list-manage.com/track/click?u=def661e5fb5b51ddb3bafdd75&amp;id=dcbf1f84de&amp;e=NXdOG97ItE">View
1-Click Directions</a></p>
        <p>
          <b>Please be aware that the outside doors lock and the elevators need a security key
after 7:00 PM.</b>
        </p>
        <p>
 
</p>
        <p>
          <a href="http://www.eventbrite.com/event/107409264/RRPBlog" target="_blank">Please
Register for the event:</a>
        </p>
        <h3>Update:
</h3>
        <p>
Here are my slides from the presentation:
</p>
        <p>
 <iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a368b40efafbe8fa.skydrive.live.com/embedrowdetail.aspx/Public/Dependency%20Injection.zip" frameborder="0" scrolling="no"></iframe></p>
        <p>
For additional information I recommend the following 2 part PodCast on Dependency
Injection:
</p>
        <p>
          <a href="http://altnetpodcast.com/episodes/5-di-and-ioc" target="_blank">
            <img height="33" alt="podcast" src="http://randypatterson.com/images/IamSpeakingattheNextIASAMeeting_7E5D/podcast.png" width="32" align="left" border="0" /> <a href="http://altnetpodcast.com/episodes/5-di-and-ioc" target="_blank">Dependency
Injection and Inversion of Control</a></a>
        </p>
        <p>
 
</p>
        <p>
          <a href="http://altnetpodcast.com/episodes/6-more-di-and-ioc" target="_blank">
            <img height="33" alt="podcast" src="http://randypatterson.com/images/IamSpeakingattheNextIASAMeeting_7E5D/podcast.png" width="32" align="left" border="0" /> </a>
          <a href="http://altnetpodcast.com/episodes/6-more-di-and-ioc" target="_blank">More
Dependency Injection and Inversion of Control</a>
        </p>
        <p>
 
</p>
        <p>
Finally, the following book is highly recommended:
</p>
        <table border="0">
          <tbody>
            <tr>
              <td valign="top">
                <a href="http://www.amazon.com/Principles-Patterns-Practices-Robert-Martin/dp/0131857258%3FSubscriptionId%3D0525E2PQ81DD7ZTWTK82%26tag%3Dws%26linkCode%3Dsp1%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0131857258">
                  <img src="http://ecx.images-amazon.com/images/I/51Y57BH27TL._SL75_.jpg" border="1" />
                </a>
              </td>
              <td valign="top">
                <b>Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)</b>
                <br />
by Robert C. Martin, Micah Martin<br /><br /><a href="http://www.amazon.com/Principles-Patterns-Practices-Robert-Martin/dp/0131857258%3FSubscriptionId%3D0525E2PQ81DD7ZTWTK82%26tag%3Dws%26linkCode%3Dsp1%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0131857258">Read
more about this book...</a></td>
            </tr>
          </tbody>
        </table>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=4126183c-4443-4927-bf3c-5b28d9d282c2" />
      </body>
      <title>I am Speaking at the Next IASA Meeting</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,4126183c-4443-4927-bf3c-5b28d9d282c2.aspx</guid>
      <link>http://randypatterson.com/2008/06/25/IAmSpeakingAtTheNextIASAMeeting.aspx</link>
      <pubDate>Wed, 25 Jun 2008 13:30:20 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h3&gt;&lt;a href="http://martinfowler.com/articles/injection.html" target="_blank"&gt;Dependency
Injection&lt;/a&gt; using the Microsoft &lt;a href="http://codeplex.com/unity" target="_blank"&gt;Unity
Application Block&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
The Microsoft Unity Application Block is a lightweight Dependency Injection Container
that is currently being incorporated into the latest releases of Enterprise Library
and the Composite Application Library (Prism). This session will give an introduction
to Dependency Injection and Inversion of Control concepts and a brief overview of
how to use the Unity Application Block to build loosely coupled applications.
&lt;/p&gt;
&lt;p&gt;
My goal is to finish by leading a discussion on the pros and cons of Dependency Injection,
Loosely coupled and Tightly coupled components. When we leave I hope everyone will
have a deeper understanding of these principles and how and when to apply them.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;i&gt;When &amp;amp; Where:&lt;/i&gt;&lt;/strong&gt;
&lt;br&gt;
Thursday, June 26, 2008 from 06:30 PM - 08:30 PM (ET)&lt;br&gt;
Microsoft Corporation&lt;br&gt;
3000 Bayport Drive&lt;br&gt;
Suite 480&lt;br&gt;
Tampa, FL 33607 
&lt;br&gt;
&lt;a href="http://list-manage.com/track/click?u=def661e5fb5b51ddb3bafdd75&amp;amp;id=623dad369a&amp;amp;e=NXdOG97ItE"&gt;View
a map&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://list-manage.com/track/click?u=def661e5fb5b51ddb3bafdd75&amp;amp;id=dcbf1f84de&amp;amp;e=NXdOG97ItE"&gt;View
1-Click Directions&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Please be aware that the outside doors lock and the elevators need a security key
after 7:00 PM.&lt;/b&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.eventbrite.com/event/107409264/RRPBlog" target="_blank"&gt;Please
Register for the event:&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Update:
&lt;/h3&gt;
&lt;p&gt;
Here are my slides from the presentation:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a368b40efafbe8fa.skydrive.live.com/embedrowdetail.aspx/Public/Dependency%20Injection.zip" frameborder="0" scrolling="no"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;
For additional information I recommend the following 2 part PodCast on Dependency
Injection:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://altnetpodcast.com/episodes/5-di-and-ioc" target="_blank"&gt;&lt;img height="33" alt="podcast" src="http://randypatterson.com/images/IamSpeakingattheNextIASAMeeting_7E5D/podcast.png" width="32" align="left" border="0"&gt;&amp;nbsp;&lt;a href="http://altnetpodcast.com/episodes/5-di-and-ioc" target="_blank"&gt;Dependency
Injection and Inversion of Control&lt;/a&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://altnetpodcast.com/episodes/6-more-di-and-ioc" target="_blank"&gt;&lt;img height="33" alt="podcast" src="http://randypatterson.com/images/IamSpeakingattheNextIASAMeeting_7E5D/podcast.png" width="32" align="left" border="0"&gt;&amp;nbsp;&lt;/a&gt;&lt;a href="http://altnetpodcast.com/episodes/6-more-di-and-ioc" target="_blank"&gt;More
Dependency Injection and Inversion of Control&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Finally, the following book is highly recommended:
&lt;/p&gt;
&lt;table border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;a href="http://www.amazon.com/Principles-Patterns-Practices-Robert-Martin/dp/0131857258%3FSubscriptionId%3D0525E2PQ81DD7ZTWTK82%26tag%3Dws%26linkCode%3Dsp1%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0131857258"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51Y57BH27TL._SL75_.jpg" border="1"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;b&gt;Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)&lt;/b&gt;
&lt;br&gt;
by Robert C. Martin, Micah Martin&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.amazon.com/Principles-Patterns-Practices-Robert-Martin/dp/0131857258%3FSubscriptionId%3D0525E2PQ81DD7ZTWTK82%26tag%3Dws%26linkCode%3Dsp1%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0131857258"&gt;Read
more about this book...&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=4126183c-4443-4927-bf3c-5b28d9d282c2" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,4126183c-4443-4927-bf3c-5b28d9d282c2.aspx</comments>
      <category>Events</category>
      <category>Unity Application Block</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=97db1913-cea4-4f14-8627-cf7a6d93d1a2</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,97db1913-cea4-4f14-8627-cf7a6d93d1a2.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,97db1913-cea4-4f14-8627-cf7a6d93d1a2.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=97db1913-cea4-4f14-8627-cf7a6d93d1a2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div id="header">
          <a href="http://altnetpodcast.com/" target="_blank">
            <pre>
              <a href="http://altnetpodcast.com/"> .o.
oooo . ooooo ooo oooooooooooo ooooooooooooo .888. `888 .o8 `888b. `8' `888' `8 8'
888 `8 .8"888. 888 .o888oo 8 `88b. 8 888 888 .8' `888. 888 888 8 `88b. 8 888oooo8
888 .88ooo8888. 888 888 8 `88b.8 888 " 888 .8' `888. 888 888 . .o. 8 `888 888 o 888
o88o o8888o o888o "888" Y8P o8o `8 o888ooooood8 o888o ooooooooo. .o8 . `888 `Y88.
"888 .o8 888 .d88' .ooooo. .oooo888 .ooooo. .oooo. .oooo.o .o888oo 888ooo88P' d88'
`88b d88' `888 d88' `"Y8 `P )88b d88( "8 888 888 888 888 888 888 888 .oP"888 `"Y88b.
888 888 888 888 888 888 888 .o8 d8( 888 o. )88b 888 . o888o `Y8bod8P' `Y8bod88P" `Y8bod8P'
`Y888""8o 8""888P' "888"</a>
            </pre>
          </a>
        </div>
        <p>
The goal of the <a href="http://altnetpodcast.com/" target="_blank">Alt.NET podcast</a> is
to release a new episode every week or two. The first episode is a talk with <a href="http://blowmage.com/" target="_blank">Mike
More</a>, <a href="http://codebetter.com/blogs/david_laribee/">David Laribee</a>, <a href="http://codebetter.com/blogs/jeremy.miller/">Jeremy
D. Miller</a>, and <a href="http://www.lostechies.com/blogs/chad_myers/">Chad Myers</a> about
continuously improving yourself, your code, and your team.  Great episode, give
it a try!
</p>
        <p>
Add this to my <a href="http://randypatterson.com/2007/12/05/10PodcastsEveryDeveloperShouldListenTo.aspx" target="_blank">previous
post</a> of developer podcasts you should listen to.
</p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=97db1913-cea4-4f14-8627-cf7a6d93d1a2" />
      </body>
      <title>Alt.NET Podcast Launched!</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,97db1913-cea4-4f14-8627-cf7a6d93d1a2.aspx</guid>
      <link>http://randypatterson.com/2008/05/19/AltNETPodcastLaunched.aspx</link>
      <pubDate>Mon, 19 May 2008 20:10:16 GMT</pubDate>
      <description>&lt;div id="header"&gt;&lt;a href="http://altnetpodcast.com/" target="_blank"&gt;&lt;pre&gt;&lt;a href="http://altnetpodcast.com/"&gt; .o.
oooo . ooooo ooo oooooooooooo ooooooooooooo .888. `888 .o8 `888b. `8' `888' `8 8'
888 `8 .8"888. 888 .o888oo 8 `88b. 8 888 888 .8' `888. 888 888 8 `88b. 8 888oooo8
888 .88ooo8888. 888 888 8 `88b.8 888 " 888 .8' `888. 888 888 . .o. 8 `888 888 o 888
o88o o8888o o888o "888" Y8P o8o `8 o888ooooood8 o888o ooooooooo. .o8 . `888 `Y88.
"888 .o8 888 .d88' .ooooo. .oooo888 .ooooo. .oooo. .oooo.o .o888oo 888ooo88P' d88'
`88b d88' `888 d88' `"Y8 `P )88b d88( "8 888 888 888 888 888 888 888 .oP"888 `"Y88b.
888 888 888 888 888 888 888 .o8 d8( 888 o. )88b 888 . o888o `Y8bod8P' `Y8bod88P" `Y8bod8P'
`Y888""8o 8""888P' "888"&lt;/a&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
The goal of the &lt;a href="http://altnetpodcast.com/" target="_blank"&gt;Alt.NET podcast&lt;/a&gt; is
to release a new episode every week or two. The first episode is a talk with &lt;a href="http://blowmage.com/" target="_blank"&gt;Mike
More&lt;/a&gt;, &lt;a href="http://codebetter.com/blogs/david_laribee/"&gt;David Laribee&lt;/a&gt;, &lt;a href="http://codebetter.com/blogs/jeremy.miller/"&gt;Jeremy
D. Miller&lt;/a&gt;, and &lt;a href="http://www.lostechies.com/blogs/chad_myers/"&gt;Chad Myers&lt;/a&gt; about
continuously improving yourself, your code, and your team.&amp;nbsp; Great episode, give
it a try!
&lt;/p&gt;
&lt;p&gt;
Add this to my &lt;a href="http://randypatterson.com/2007/12/05/10PodcastsEveryDeveloperShouldListenTo.aspx" target="_blank"&gt;previous
post&lt;/a&gt; of developer podcasts you should listen to.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=97db1913-cea4-4f14-8627-cf7a6d93d1a2" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,97db1913-cea4-4f14-8627-cf7a6d93d1a2.aspx</comments>
      <category>Podcast</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=8623a115-af05-48f7-8edf-15d04242ea4d</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,8623a115-af05-48f7-8edf-15d04242ea4d.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,8623a115-af05-48f7-8edf-15d04242ea4d.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8623a115-af05-48f7-8edf-15d04242ea4d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Orlando Convention Center was not being used between TechEd Developer week and
TechEd ITPro week.  Microsoft has graciously donated the convention center to
be used by the Florida Developer Community!  There are 9 large conference rooms
that will be filled for 2 days with presentations from Local,  Microsoft and
TechEd Speakers.  In addition to the full day tracks listed below there will
also be <a href="http://www.devfish.net/articles/inbetween/certification.aspx" target="_blank">discounts
on MS Certification Exam Tests</a>, an <a href="http://www.devfish.net/articles/inbetween/examcram_mcse.aspx" target="_blank">MCSA/MCSE:
weekend upgrade bootcamp</a>, a <a href="http://www.devfish.net/articles/inbetween/examcram_mcsd.aspx" target="_blank">Developers
Weekend Exam Cram</a> and <a href="http://www.devfish.net/articles/inbetween/TrainTheTrainer.aspx" target="_blank">Train
the Trainer sessions</a>.  ALL FOR FREE!!!
</p>
        <h2>Saturday, June 7th Activities - 830a to 530p
</h2>
        <table cellspacing="0" cellpadding="2" width="649" border="1">
          <tbody>
            <tr>
              <td valign="top" width="124">
                <strong>Full Day Tracks</strong>
              </td>
              <td valign="top" width="523">
                <strong>Description</strong>
              </td>
            </tr>
            <tr>
              <td valign="top" width="126">
SQL Saturday</td>
              <td valign="top" width="523">
Best of the SQLSaturday events with some special product team reps attending.</td>
            </tr>
            <tr>
              <td valign="top" width="127">
Open Space</td>
              <td valign="top" width="523">
Four corners of a room with whiteboards. Sign up for a 30 minute talk on whatever
topic you want</td>
            </tr>
            <tr>
              <td valign="top" width="128">
RoboCamps</td>
              <td valign="top" width="523">
More info coming soon. Until then <a href="http://www.robochamps.com">http://www.robochamps.com</a></td>
            </tr>
            <tr>
              <td valign="top" width="129">
Day of Agile</td>
              <td valign="top" width="523">
Got a passion for Agile? <a href="http://www.jimzimmerman.com/blog">Jim Zimmerman</a> and
Chris Chandler have put together a full day of Agile topics ready to go.</td>
            </tr>
            <tr>
              <td valign="top" width="130">
.NET Code Camp</td>
              <td valign="top" width="523">
Some local speakers, some speakers from the regular TechEd Event and some members
of the Microsoft product teams.</td>
            </tr>
            <tr>
              <td valign="top" width="130">
ITPro Camp</td>
              <td valign="top" width="523">
A first for the state and maybe the country? The very first Microsoft ITPro Camp</td>
            </tr>
          </tbody>
        </table>
        <p>
*Schedule subject to change so check the official web site often (<a title="http://www.devfish.net/articles/inbetween/" href="http://www.devfish.net/articles/inbetween/">http://www.devfish.net/articles/inbetween/</a>)
</p>
        <h2>
          <a href="http://randypatterson.com/images/MicrosoftCommunitySummit2008FreeWeekendo_A030/image.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="106" alt="image" src="http://randypatterson.com/images/MicrosoftCommunitySummit2008FreeWeekendo_A030/image_thumb.png" width="136" align="left" border="0" />
          </a>
        </h2>
        <h2> 
</h2>
        <h2>Party and Social! Saturday, June 7th 6:00PM
</h2>
        <p>
 
</p>
        <p>
 
</p>
        <h2>Sunday, June 8th Activities - 830a to 530p
</h2>
        <table cellspacing="0" cellpadding="2" width="646" border="1">
          <tbody>
            <tr>
              <td valign="top" width="133">
                <strong>Full Day Tracks</strong>
              </td>
              <td valign="top" width="511">
                <strong>Description</strong>
              </td>
            </tr>
            <tr>
              <td valign="top" width="135">
SQL University</td>
              <td valign="top" width="511">
                <a href="http://blogs.sqlservercentral.com/andy_warren/default.aspx">Andy Warren</a> is
putting together some of his <a href="http://www.endtoendtraining.com">very best training</a> on
SQL Server to get you up to speed quick</td>
            </tr>
            <tr>
              <td valign="top" width="136">
Dot Net Nuke University</td>
              <td valign="top" width="511">
A full day of Dot Net Nuke Training</td>
            </tr>
            <tr>
              <td valign="top" width="137">
Open Space</td>
              <td valign="top" width="511">
our corners of a room with whiteboards. Sign up for a 30 minute talk on whatever topic
you want</td>
            </tr>
            <tr>
              <td valign="top" width="137">
ToolShed</td>
              <td valign="top" width="511">
                <a href="http://www.russtoolshed.net">Russ Fustino</a> and <a href="http://www.vbnetexpert.com">Stan
Schultes</a> come together with encores of "Its all about the Tools" episodes 1 and
2, plus all new episodes 3 and 4</td>
            </tr>
            <tr>
              <td valign="top" width="137">
OCS University</td>
              <td valign="top" width="511">
OCS MVP <a href="http://www.ocsmvp.com">Keith Kabza</a> and <a href="http://www.techtionary.com">Tom
Cross</a> will get you up and running on <b>Office Communication Server</b> in a day</td>
            </tr>
            <tr>
              <td valign="top" width="137">
.NET University</td>
              <td valign="top" width="511">
                <p>
                  <a href="http://blogs.msdn.com/dougturn">Doug Turnure</a>'s flagshihp series of structured
courses geared to bring you up to speed on a particular topic.  Three separate
all day courses are being offered, including Sharepoint, Service Oriented Development
in .NET 3.5, and BizTalk. Something for almost everyone!
</p>
              </td>
            </tr>
            <tr>
              <td valign="top" width="137">
VSTS University</td>
              <td valign="top" width="511">
Tentative - Doug Seven and the Redmond guys hang around to teach you VSTS. Learn from
the VSTS team themselves.</td>
            </tr>
          </tbody>
        </table>
        <p>
*Schedule subject to change so check the official web site often (<a title="http://www.devfish.net/articles/inbetween/" href="http://www.devfish.net/articles/inbetween/">http://www.devfish.net/articles/inbetween/</a>)
</p>
        <p>
This is an incredible opportunity for learning with enough variety for everyone.  
A special thanks goes out to our local Microsoft Developer Evangelist, <a href="http://www.devfish.net/default.aspx" target="_blank">Joe
Healy</a> for organizing the event and creating the effective but very ugly web site.
</p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=8623a115-af05-48f7-8edf-15d04242ea4d" />
      </body>
      <title>]InBetween[ Microsoft Community Summit 2008 - Free Weekend of Training</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,8623a115-af05-48f7-8edf-15d04242ea4d.aspx</guid>
      <link>http://randypatterson.com/2008/05/07/InBetweenMicrosoftCommunitySummit2008FreeWeekendOfTraining.aspx</link>
      <pubDate>Wed, 07 May 2008 21:48:30 GMT</pubDate>
      <description>&lt;p&gt;
The Orlando Convention Center was not being used between TechEd Developer week and
TechEd ITPro week.&amp;nbsp; Microsoft has graciously donated the convention center to
be used by the Florida Developer Community!&amp;nbsp; There are 9 large conference rooms
that will be filled for 2 days with presentations from Local,&amp;nbsp; Microsoft and
TechEd Speakers.&amp;nbsp; In addition to the full day tracks listed below there will
also be &lt;a href="http://www.devfish.net/articles/inbetween/certification.aspx" target="_blank"&gt;discounts
on MS Certification Exam Tests&lt;/a&gt;, an &lt;a href="http://www.devfish.net/articles/inbetween/examcram_mcse.aspx" target="_blank"&gt;MCSA/MCSE:
weekend upgrade bootcamp&lt;/a&gt;, a &lt;a href="http://www.devfish.net/articles/inbetween/examcram_mcsd.aspx" target="_blank"&gt;Developers
Weekend Exam Cram&lt;/a&gt; and &lt;a href="http://www.devfish.net/articles/inbetween/TrainTheTrainer.aspx" target="_blank"&gt;Train
the Trainer sessions&lt;/a&gt;.&amp;nbsp; ALL FOR FREE!!!
&lt;/p&gt;
&lt;h2&gt;Saturday, June 7th Activities - 830a to 530p
&lt;/h2&gt;
&lt;table cellspacing="0" cellpadding="2" width="649" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="124"&gt;
&lt;strong&gt;Full Day Tracks&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="126"&gt;
SQL Saturday&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
Best of the SQLSaturday events with some special product team reps attending.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="127"&gt;
Open Space&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
Four corners of a room with whiteboards. Sign up for a 30 minute talk on whatever
topic you want&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="128"&gt;
RoboCamps&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
More info coming soon. Until then &lt;a href="http://www.robochamps.com"&gt;http://www.robochamps.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="129"&gt;
Day of Agile&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
Got a passion for Agile? &lt;a href="http://www.jimzimmerman.com/blog"&gt;Jim Zimmerman&lt;/a&gt; and
Chris Chandler have put together a full day of Agile topics ready to go.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="130"&gt;
.NET Code Camp&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
Some local speakers, some speakers from the regular TechEd Event and some members
of the Microsoft product teams.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="130"&gt;
ITPro Camp&lt;/td&gt;
&lt;td valign="top" width="523"&gt;
A first for the state and maybe the country? The very first Microsoft ITPro Camp&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
*Schedule subject to change so check the official web site often (&lt;a title="http://www.devfish.net/articles/inbetween/" href="http://www.devfish.net/articles/inbetween/"&gt;http://www.devfish.net/articles/inbetween/&lt;/a&gt;)
&lt;/p&gt;
&lt;h2&gt;&lt;a href="http://randypatterson.com/images/MicrosoftCommunitySummit2008FreeWeekendo_A030/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="106" alt="image" src="http://randypatterson.com/images/MicrosoftCommunitySummit2008FreeWeekendo_A030/image_thumb.png" width="136" align="left" border="0"&gt;&lt;/a&gt; 
&lt;/h2&gt;
&lt;h2&gt;&amp;nbsp;
&lt;/h2&gt;
&lt;h2&gt;Party and Social! Saturday, June 7th 6:00PM
&lt;/h2&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h2&gt;Sunday, June 8th Activities - 830a to 530p
&lt;/h2&gt;
&lt;table cellspacing="0" cellpadding="2" width="646" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="133"&gt;
&lt;strong&gt;Full Day Tracks&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="135"&gt;
SQL University&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
&lt;a href="http://blogs.sqlservercentral.com/andy_warren/default.aspx"&gt;Andy Warren&lt;/a&gt; is
putting together some of his &lt;a href="http://www.endtoendtraining.com"&gt;very best training&lt;/a&gt; on
SQL Server to get you up to speed quick&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="136"&gt;
Dot Net Nuke University&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
A full day of Dot Net Nuke Training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="137"&gt;
Open Space&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
our corners of a room with whiteboards. Sign up for a 30 minute talk on whatever topic
you want&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="137"&gt;
ToolShed&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
&lt;a href="http://www.russtoolshed.net"&gt;Russ Fustino&lt;/a&gt; and &lt;a href="http://www.vbnetexpert.com"&gt;Stan
Schultes&lt;/a&gt; come together with encores of "Its all about the Tools" episodes 1 and
2, plus all new episodes 3 and 4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="137"&gt;
OCS University&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
OCS MVP &lt;a href="http://www.ocsmvp.com"&gt;Keith Kabza&lt;/a&gt; and &lt;a href="http://www.techtionary.com"&gt;Tom
Cross&lt;/a&gt; will get you up and running on &lt;b&gt;Office Communication Server&lt;/b&gt; in a day&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="137"&gt;
.NET University&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/dougturn"&gt;Doug Turnure&lt;/a&gt;'s flagshihp series of structured
courses geared to bring you up to speed on a particular topic.&amp;nbsp; Three separate
all day courses are being offered, including Sharepoint, Service Oriented Development
in .NET 3.5, and BizTalk. Something for almost everyone!
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="137"&gt;
VSTS University&lt;/td&gt;
&lt;td valign="top" width="511"&gt;
Tentative - Doug Seven and the Redmond guys hang around to teach you VSTS. Learn from
the VSTS team themselves.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
*Schedule subject to change so check the official web site often (&lt;a title="http://www.devfish.net/articles/inbetween/" href="http://www.devfish.net/articles/inbetween/"&gt;http://www.devfish.net/articles/inbetween/&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
This is an incredible opportunity for learning with enough variety for everyone.&amp;nbsp;&amp;nbsp;
A special thanks goes out to our local Microsoft Developer Evangelist, &lt;a href="http://www.devfish.net/default.aspx" target="_blank"&gt;Joe
Healy&lt;/a&gt; for organizing the event and creating the effective but very ugly web site.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=8623a115-af05-48f7-8edf-15d04242ea4d" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,8623a115-af05-48f7-8edf-15d04242ea4d.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=053231f3-282c-446d-a3ae-8bda70c8fdb0</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,053231f3-282c-446d-a3ae-8bda70c8fdb0.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,053231f3-282c-446d-a3ae-8bda70c8fdb0.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=053231f3-282c-446d-a3ae-8bda70c8fdb0</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="http://www.codeplex.com/unity">Unity Application Block</a><a href="http://www.martinfowler.com/articles/injection.html">IoC
Container</a> comes with a little know extension for creating <a href="http://msdn.microsoft.com/en-us/library/0czwd3tx(VS.80).aspx">loosely
coupled events</a> called the <em>Simple Event Broker</em>.  The Unity Event
Broker supports multiple publishers and multiple subscribers to the same event name. 
The decoupled model prevents subscribers from knowing about publishers and publishers
from knowing about subscribers.
</p>
        <p>
 
</p>
        <p>
          <a href="http://randypatterson.com/images/UnityEventBroker_A692/image.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="129" alt="image" src="http://randypatterson.com/images/UnityEventBroker_A692/image_thumb.png" width="543" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
The Event Broker source code can be found under the Unity Quick Starts normally located
here 
</p>
        <p>
"C:\Program Files\Microsoft Unity Application Block 1.0\UnityQuickStarts.zip\UnityQuickStarts\CS\EventBroker.sln".  
</p>
        <p>
In order to use the Extension make sure you have your project reference the <em>EventBrokerExtension.dll</em> and
the <em>SimpleEventBroker.dll</em>.
</p>
        <p>
Next, you need to configure Unity by adding the Event Broker Extension to the Container.
</p>
        <div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:3b0693e4-8518-4e74-a05c-b5a8770b4d10" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <pre name="code" class="c#">        private static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            UnityContainer rootContainer = new UnityContainer();

            rootContainer.AddNewExtension&lt;SimpleEventBrokerExtension&gt;();
            
            Application.Run(rootContainer.Resolve&lt;DefaultForm&gt;());
        }</pre>
        </div>
        <p>
 
</p>
        <p>
This gives you two new Attributes recognized by Unity, <font face="Courier New" size="2">[Publishes(<em>eventName</em>)] </font>and <font size="2">[SubscribesTo(<em>eventName</em>)] </font>where <strong><em>eventName </em></strong>is
a string that uniquely identifies the loosely coupled event.
</p>
        <p>
The attribute [<em>Publishes]</em> is applied to an event and lets the event broker
know that when this event is raised, any methods that are subscribed to <strong><em>eventName </em></strong>are
called.  
</p>
        <p>
For Example:
</p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:cf4d7b1c-4fa0-4855-a031-48c2deb4736c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <pre name="code" class="c#">        [Publishes("event://Transaction/Complete")]
        public event EventHandler TransactionComplete;
</pre>
        </div>
        <p>
        </p>
        <table cellspacing="0" cellpadding="2" width="402" border="1">
          <tbody>
            <tr>
              <td valign="top" width="400">
                <p align="center">
                  <font color="#0080ff" size="3">Best Practice:</font>
                </p>
              </td>
            </tr>
            <tr>
              <td valign="top" width="400">
                <p align="left">
                  <br />
It is recommended that you not hard code the Event Name parameter.  Instead use
a class that contains the event names as public string constants.
</p>
                <p align="left">
[SubscribesTo(EventTopicNames.TransactionComplete)]
</p>
                <p>
This prevents typos in the event name string and also allows a Usages Search in Visual
Studio to quickly locate all Publishers and all Subscribers of an event.<br /></p>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
The event broker will create a loosely coupled event named "event://Transaction/Completed"
[1] and link the .NET event <em>TransactionComplete </em>[2]<em> </em>to it<em>. </em>The
following subscriber code 
</p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:9417ed51-a984-48b1-8a7e-804a7e5dff25" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <pre name="code" class="c#">        [SubscribesTo("event://Transaction/Complete")]
        public void TransactionCompleteHandler(object sender, EventArgs e)
        {
            //Do Something.....
        }
</pre>
        </div>
        <p>
        </p>
        <p>
informs the Event Broker that method TransactionCompleteHandler [3] needs to be called
whenever the loosely coupled event named "event://Transaction/Completed" is published.
Notice that neither the publisher nor the subscriber is aware of the other. 
</p>
        <h3>Conclusion
</h3>
        <p align="left">
The ability for your application to communicate between controls without resorting
to directly linking one class to another increases the reusability of your code. 
The Unity Event Broker is, as it's name implies, a rather simple implementation of
loosely coupled events but it is a good start none the less.  for example, 
I would like to see a way for subscribers to indicate that methods should be called
on a background thread instead of always on the Publisher's thread. In future posts
I will show how to register events for publication when you cannot add the [<em>Publishes]</em> attribute
directly to an event declaration (useful for Button and Menu Click events or third
part controls)
</p>
        <p>
 
</p>
        <ol>
          <li>
I<font size="1"> use the URL style string to name the decoupled events purely out
of habit.  Obviously, any string will do but I find the URL format to be clean
and easy to read.</font></li>
          <li>
            <font size="1">Events must be scoped public in order for the Event Broker to detect
the Publishes attribute</font>
          </li>
          <li>
            <font size="1">The subscription method must be scoped public in order for the Event
Broker to detect the SubscribesTo attribute</font>
          </li>
        </ol>
        <p>
 
</p>
        <link href="Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" />
        <script language="javascript" src="Scripts/shCore.js">
        </script>
        <script language="javascript" src="Scripts/shBrushCSharp.js">
        </script>
        <script language="javascript">
window.onload = function() {
    dp.SyntaxHighlighter.ClipboardSwf = 'Scripts/clipboard.swf';
    dp.SyntaxHighlighter.HighlightAll('code');
};
 </script>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=053231f3-282c-446d-a3ae-8bda70c8fdb0" />
      </body>
      <title>Unity Application Block Event Broker</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,053231f3-282c-446d-a3ae-8bda70c8fdb0.aspx</guid>
      <link>http://randypatterson.com/2008/05/02/UnityApplicationBlockEventBroker.aspx</link>
      <pubDate>Fri, 02 May 2008 05:02:08 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="http://www.codeplex.com/unity"&gt;Unity Application Block&lt;/a&gt; &lt;a href="http://www.martinfowler.com/articles/injection.html"&gt;IoC
Container&lt;/a&gt; comes with a little know extension for creating &lt;a href="http://msdn.microsoft.com/en-us/library/0czwd3tx(VS.80).aspx"&gt;loosely
coupled events&lt;/a&gt; called the &lt;em&gt;Simple Event Broker&lt;/em&gt;.&amp;nbsp; The Unity Event
Broker supports multiple publishers and multiple subscribers to the same event name.&amp;nbsp;
The decoupled model prevents subscribers from knowing about publishers and publishers
from knowing about subscribers.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://randypatterson.com/images/UnityEventBroker_A692/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="129" alt="image" src="http://randypatterson.com/images/UnityEventBroker_A692/image_thumb.png" width="543" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The Event Broker source code can be found under the Unity Quick Starts normally located
here 
&lt;/p&gt;
&lt;p&gt;
"C:\Program Files\Microsoft Unity Application Block 1.0\UnityQuickStarts.zip\UnityQuickStarts\CS\EventBroker.sln".&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
In order to use the Extension make sure you have your project reference the &lt;em&gt;EventBrokerExtension.dll&lt;/em&gt; and
the &lt;em&gt;SimpleEventBroker.dll&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Next, you need to configure Unity by adding the Event Broker Extension to the Container.
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:3b0693e4-8518-4e74-a05c-b5a8770b4d10" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;        private static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            UnityContainer rootContainer = new UnityContainer();

            rootContainer.AddNewExtension&amp;lt;SimpleEventBrokerExtension&amp;gt;();
            
            Application.Run(rootContainer.Resolve&amp;lt;DefaultForm&amp;gt;());
        }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This gives you two new Attributes recognized by Unity, &lt;font face="Courier New" size="2"&gt;[Publishes(&lt;em&gt;eventName&lt;/em&gt;)] &lt;/font&gt;and &lt;font size="2"&gt;[SubscribesTo(&lt;em&gt;eventName&lt;/em&gt;)] &lt;/font&gt;where &lt;strong&gt;&lt;em&gt;eventName &lt;/em&gt;&lt;/strong&gt;is
a string that uniquely identifies the loosely coupled event.
&lt;/p&gt;
&lt;p&gt;
The attribute [&lt;em&gt;Publishes]&lt;/em&gt; is applied to an event and lets the event broker
know that when this event is raised, any methods that are subscribed to &lt;strong&gt;&lt;em&gt;eventName &lt;/em&gt;&lt;/strong&gt;are
called.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
For Example:
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:cf4d7b1c-4fa0-4855-a031-48c2deb4736c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;        [Publishes("event://Transaction/Complete")]
        public event EventHandler TransactionComplete;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="402" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="400"&gt;
&lt;p align="center"&gt;
&lt;font color="#0080ff" size="3"&gt;Best Practice:&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="400"&gt;
&lt;p align="left"&gt;
&lt;br&gt;
It is recommended that you not hard code the Event Name parameter.&amp;nbsp; Instead use
a class that contains the event names as public string constants.
&lt;/p&gt;
&lt;p align="left"&gt;
[SubscribesTo(EventTopicNames.TransactionComplete)]
&lt;/p&gt;
&lt;p&gt;
This prevents typos in the event name string and also allows a Usages Search in Visual
Studio to quickly locate all Publishers and all Subscribers of an event.&lt;br&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The event broker will create a loosely coupled event named "event://Transaction/Completed"
[1] and link the .NET event &lt;em&gt;TransactionComplete &lt;/em&gt;[2]&lt;em&gt;&amp;nbsp;&lt;/em&gt;to it&lt;em&gt;. &lt;/em&gt;The
following subscriber code 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:9417ed51-a984-48b1-8a7e-804a7e5dff25" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;        [SubscribesTo("event://Transaction/Complete")]
        public void TransactionCompleteHandler(object sender, EventArgs e)
        {
            //Do Something.....
        }
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
informs the Event Broker that method TransactionCompleteHandler [3] needs to be called
whenever the loosely coupled event named "event://Transaction/Completed" is published.
Notice that neither the publisher nor the subscriber is aware of the other. 
&lt;/p&gt;
&lt;h3&gt;Conclusion
&lt;/h3&gt;
&lt;p align="left"&gt;
The ability for your application to communicate between controls without resorting
to directly linking one class to another increases the reusability of your code.&amp;nbsp;
The Unity Event Broker is, as it's name implies, a rather simple implementation of
loosely coupled events but it is a good start none the less.&amp;nbsp; for example,&amp;nbsp;
I would like to see a way for subscribers to indicate that methods should be called
on a background thread instead of always on the Publisher's thread. In future posts
I will show how to register events for publication when you cannot add the [&lt;em&gt;Publishes]&lt;/em&gt; attribute
directly to an event declaration (useful for Button and Menu Click events or third
part controls)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
I&lt;font size="1"&gt; use the URL style string to name the decoupled events purely out
of habit.&amp;nbsp; Obviously, any string will do but I find the URL format to be clean
and easy to read.&lt;/font&gt; 
&lt;li&gt;
&lt;font size="1"&gt;Events must be scoped public in order for the Event Broker to detect
the Publishes attribute&lt;/font&gt; 
&lt;li&gt;
&lt;font size="1"&gt;The subscription method must be scoped public in order for the Event
Broker to detect the SubscribesTo attribute&lt;/font&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;link href="Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet"&gt;&gt;
&lt;script language="javascript" src="Scripts/shCore.js"&gt;&lt;/script&gt;
&lt;script language="javascript" src="Scripts/shBrushCSharp.js"&gt;&lt;/script&gt;
&lt;script language="javascript"&gt;
window.onload = function() {
    dp.SyntaxHighlighter.ClipboardSwf = 'Scripts/clipboard.swf';
    dp.SyntaxHighlighter.HighlightAll('code');
};
 &lt;/script&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=053231f3-282c-446d-a3ae-8bda70c8fdb0" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,053231f3-282c-446d-a3ae-8bda70c8fdb0.aspx</comments>
      <category>C#</category>
      <category>Unity Application Block</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=90df538c-feee-483d-b914-ed2dd54ef119</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,90df538c-feee-483d-b914-ed2dd54ef119.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,90df538c-feee-483d-b914-ed2dd54ef119.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=90df538c-feee-483d-b914-ed2dd54ef119</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Configuring the <a href="http://codeplex.com/unity" target="_blank">Unity Application
Block</a> for just-in-time Instantiation.  
</p>
        <p>
Out of the box, Unity does not provide a way to configure your dependencies so that
they are resolved only if needed.  Lazy Instantiation would be desirable if your
dependency is and required only under certain circumstances or you would like to delay
object creation of a resource intensive dependency until needed.
</p>
        <p>
For <a href="http://en.wikipedia.org/wiki/Lazy_initialization_pattern" target="_blank">Lazy
Instantiation</a>, the first obstacle to overcome when using <a href="http://martinfowler.com/articles/injection.html" target="_blank">IoC
Containers</a> like <a href="http://codeplex.com/unity" target="_blank">Unity</a>,
is to have your components get a reference to the container so the dependency creation
can be delegated to it when the need arises.  My first inclination was to wrap
Unity in a <a href="http://en.wikipedia.org/wiki/Singleton_pattern" target="_blank">Singleton</a> and
have the component reference this in order to resolve the dependency.  
</p>
        <p>
          <font size="3">Container.Instance.Resolve&lt;<font color="#07c7fe">IProductService</font>&gt;();</font>
        </p>
        <p>
Singleton's are, however, notoriously difficult to test and very rigid in design. 
Used in this manner,  a Singleton is nothing more than a global variable wrapped
in a buzzword.  so I wanted a different approach.  Since we are using a <a href="http://en.wikipedia.org/wiki/Dependency_injection" target="_blank">Dependency
Injection</a> Framework, why not have the container inject a reference to itself into
our components.
</p>
        <p>
1.  First, configure the Unity container so that it can return a reference to
itself.
</p>
        <p>
          <a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image1.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="65" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image1_thumb.png" width="526" border="0" />
          </a>
        </p>
        <p>
2.  Next, create a property on your class to get a reference to the Unity container
that created it.
</p>
        <p>
          <a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image10.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="119" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image10_thumb.png" width="341" border="0" />
          </a>
        </p>
        <p>
3.  Finally, have the container resolve the dependency the first time it's referenced.  
</p>
        <p>
          <a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image16.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="181" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image16_thumb.png" width="548" border="0" />
          </a>
        </p>
        <p>
          <font size="3">
          </font>
          <font size="3">Unit Testing</font>
        </p>
        <p>
Testing is straight forward as well.   You could have your unit test use
reflection to reach in and set the private field (_productService) to your mock object. 
However,  giving your Unit Tests access to private members violates the "<a href="http://xunitpatterns.com/Principles%20of%20Test%20Automation.html#Use%20the%20Front%20Door%20First" target="_blank">Use
the Front Door First</a>" Test Automation Principle and should be avoided if possible. 
Alternatively, you could create a mock object for IUnityContainer and have it return
a mock object for IProductService when the Resolve method is called.
</p>
        <p>
Using <a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx" target="_blank">RhinoMocks</a>,
the Unit Test would look something like this:
</p>
        <p>
 
</p>
        <p>
          <a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="424" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image_thumb.png" width="698" border="0" />
          </a>
        </p>
        <p>
          <font size="3">
          </font> 
</p>
        <p>
 <a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2008%2f03%2f30%2fLazyInstantiationWithUnityApplicationBlock.aspx"><img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2008%2f03%2f30%2fLazyInstantiationWithUnityApplicationBlock.aspx" border="0" /></a></p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=90df538c-feee-483d-b914-ed2dd54ef119" />
      </body>
      <title>Lazy Instantiation with Unity Application Block</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,90df538c-feee-483d-b914-ed2dd54ef119.aspx</guid>
      <link>http://randypatterson.com/2008/03/30/LazyInstantiationWithUnityApplicationBlock.aspx</link>
      <pubDate>Sun, 30 Mar 2008 00:48:37 GMT</pubDate>
      <description>&lt;p&gt;
Configuring the &lt;a href="http://codeplex.com/unity" target="_blank"&gt;Unity Application
Block&lt;/a&gt; for just-in-time Instantiation.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Out of the box, Unity does not provide a way to configure your dependencies so that
they are resolved only if needed.&amp;nbsp; Lazy Instantiation would be desirable if your
dependency is and required only under certain circumstances or you would like to delay
object creation of a resource intensive dependency until needed.
&lt;/p&gt;
&lt;p&gt;
For &lt;a href="http://en.wikipedia.org/wiki/Lazy_initialization_pattern" target="_blank"&gt;Lazy
Instantiation&lt;/a&gt;, the first obstacle to overcome when using &lt;a href="http://martinfowler.com/articles/injection.html" target="_blank"&gt;IoC
Containers&lt;/a&gt; like &lt;a href="http://codeplex.com/unity" target="_blank"&gt;Unity&lt;/a&gt;,
is to have your components get a reference to the container so the dependency creation
can be delegated to it when the need arises.&amp;nbsp; My first inclination was to wrap
Unity in a &lt;a href="http://en.wikipedia.org/wiki/Singleton_pattern" target="_blank"&gt;Singleton&lt;/a&gt; and
have the component reference this in order to resolve the dependency.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Container.Instance.Resolve&amp;lt;&lt;font color="#07c7fe"&gt;IProductService&lt;/font&gt;&amp;gt;();&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Singleton's are, however, notoriously difficult to test and very rigid in design.&amp;nbsp;
Used in this manner,&amp;nbsp; a Singleton is nothing more than a global variable wrapped
in a buzzword.&amp;nbsp; so I wanted a different approach.&amp;nbsp; Since we are using a &lt;a href="http://en.wikipedia.org/wiki/Dependency_injection" target="_blank"&gt;Dependency
Injection&lt;/a&gt; Framework, why not have the container inject a reference to itself into
our components.
&lt;/p&gt;
&lt;p&gt;
1.&amp;nbsp; First, configure the Unity container so that it can return a reference to
itself.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image1.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="65" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image1_thumb.png" width="526" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
2.&amp;nbsp; Next, create a property on your class to get a reference to the Unity container
that created it.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image10.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="119" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image10_thumb.png" width="341" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
3.&amp;nbsp; Finally, have the container resolve the dependency the first time it's referenced.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image16.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="181" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image16_thumb.png" width="548" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;&lt;/font&gt;&lt;font size="3"&gt;Unit Testing&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Testing is straight forward as well.&amp;nbsp;&amp;nbsp; You could have your unit test use
reflection to reach in and set the private field (_productService) to your mock object.&amp;nbsp;
However,&amp;nbsp; giving your Unit Tests access to private members violates the "&lt;a href="http://xunitpatterns.com/Principles%20of%20Test%20Automation.html#Use%20the%20Front%20Door%20First" target="_blank"&gt;Use
the Front Door First&lt;/a&gt;" Test Automation Principle and should be avoided if possible.&amp;nbsp;
Alternatively, you could create a mock object for IUnityContainer and have it return
a mock object for IProductService when the Resolve method is called.
&lt;/p&gt;
&lt;p&gt;
Using &lt;a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx" target="_blank"&gt;RhinoMocks&lt;/a&gt;,
the Unit Test would look something like this:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="424" alt="image" src="http://www.randypatterson.com/images/Gettingareferencetothecurrentunitycontai_B90C/image_thumb.png" width="698" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2008%2f03%2f30%2fLazyInstantiationWithUnityApplicationBlock.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2008%2f03%2f30%2fLazyInstantiationWithUnityApplicationBlock.aspx" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=90df538c-feee-483d-b914-ed2dd54ef119" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,90df538c-feee-483d-b914-ed2dd54ef119.aspx</comments>
      <category>Patterns</category>
      <category>Unit Tests</category>
      <category>Unity Application Block</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=efd6bd04-951e-4c16-9a8c-745434a4847e</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,efd6bd04-951e-4c16-9a8c-745434a4847e.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,efd6bd04-951e-4c16-9a8c-745434a4847e.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=efd6bd04-951e-4c16-9a8c-745434a4847e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nice article posted by <a href="http://msdn2.microsoft.com/en-us/magazine/cc337885.aspx" target="_blank">MSDN
Magazine on Dependency Injection</a> written by <a href="http://codebetter.com/blogs/james.kovacs/default.aspx" target="_blank">James
Kovacs</a>.  Coincides nicely with my <a href="http://randypatterson.com/2008/03/23/OrlandoCodeCampSlidesAndSampleCode.aspx" target="_blank">Presentation
on Unity Application Block</a> at the Orlando Code Camp
</p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=efd6bd04-951e-4c16-9a8c-745434a4847e" />
      </body>
      <title>MSDN Article on Dependency Injection</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,efd6bd04-951e-4c16-9a8c-745434a4847e.aspx</guid>
      <link>http://randypatterson.com/2008/03/24/MSDNArticleOnDependencyInjection.aspx</link>
      <pubDate>Mon, 24 Mar 2008 23:16:10 GMT</pubDate>
      <description>&lt;p&gt;
Nice article posted by &lt;a href="http://msdn2.microsoft.com/en-us/magazine/cc337885.aspx" target="_blank"&gt;MSDN
Magazine on Dependency Injection&lt;/a&gt; written by &lt;a href="http://codebetter.com/blogs/james.kovacs/default.aspx" target="_blank"&gt;James
Kovacs&lt;/a&gt;.&amp;nbsp; Coincides nicely with my &lt;a href="http://randypatterson.com/2008/03/23/OrlandoCodeCampSlidesAndSampleCode.aspx" target="_blank"&gt;Presentation
on Unity Application Block&lt;/a&gt; at the Orlando Code Camp
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=efd6bd04-951e-4c16-9a8c-745434a4847e" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,efd6bd04-951e-4c16-9a8c-745434a4847e.aspx</comments>
      <category>Patterns</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="http://www.orlandocodecamp.com/default.aspx" target="_blank">Orlando
Code Camp</a> was a huge success.  Lots of great sessions and talented speakers.
A special thanks goes out to <a href="http://www.ShawnWeisfeld.com" target="_blank">Shawn
Weisfeld</a> of the <a href="http://onetug.net/default.aspx" target="_blank">Orlando
.NET Users Group</a> and <a href="http://www.cfdotnet.org/About/tabid/61/Default.aspx" target="_blank">Roy
Lawson</a> of the <a href="http://www.cfdotnet.org/" target="_blank">Lakeland Users
Group</a>, as well as the many other volunteers and speakers.
</p>
        <p>
Below, I've posted my Power Point slides and code samples for both my sessions at
the Code Camp.
</p>
        <p>
          <font size="4">
          </font> 
</p>
        <p>
          <font size="4">The Unity Application Block</font>
        </p>
        <p>
          <iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a368b40efafbe8fa.skydrive.live.com/embedrowdetail.aspx/Orlando%20Code%20Camp/Unity%20Application%20Block.zip" frameborder="0" scrolling="no">
          </iframe>
        </p>
        <p>
          <font size="4">Beginning Test Driven Development</font>
        </p>
        <p>
          <iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a368b40efafbe8fa.skydrive.live.com/embedrowdetail.aspx/Orlando%20Code%20Camp/Beginning%20TDD.zip" frameborder="0" scrolling="no">
          </iframe>
        </p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74" />
      </body>
      <title>Orlando Code Camp slides and sample code</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74.aspx</guid>
      <link>http://randypatterson.com/2008/03/23/OrlandoCodeCampSlidesAndSampleCode.aspx</link>
      <pubDate>Sun, 23 Mar 2008 16:29:59 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="http://www.orlandocodecamp.com/default.aspx" target="_blank"&gt;Orlando
Code Camp&lt;/a&gt; was a huge success.&amp;nbsp; Lots of great sessions and talented speakers.
A special thanks goes out to &lt;a href="http://www.ShawnWeisfeld.com" target="_blank"&gt;Shawn
Weisfeld&lt;/a&gt; of the &lt;a href="http://onetug.net/default.aspx" target="_blank"&gt;Orlando
.NET Users Group&lt;/a&gt; and &lt;a href="http://www.cfdotnet.org/About/tabid/61/Default.aspx" target="_blank"&gt;Roy
Lawson&lt;/a&gt; of the &lt;a href="http://www.cfdotnet.org/" target="_blank"&gt;Lakeland Users
Group&lt;/a&gt;, as well as the many other volunteers and speakers.
&lt;/p&gt;
&lt;p&gt;
Below, I've posted my Power Point slides and code samples for both my sessions at
the Code Camp.
&lt;/p&gt;
&lt;p&gt;
&lt;font size="4"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="4"&gt;The Unity Application Block&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a368b40efafbe8fa.skydrive.live.com/embedrowdetail.aspx/Orlando%20Code%20Camp/Unity%20Application%20Block.zip" frameborder="0" scrolling="no"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="4"&gt;Beginning Test Driven Development&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a368b40efafbe8fa.skydrive.live.com/embedrowdetail.aspx/Orlando%20Code%20Camp/Beginning%20TDD.zip" frameborder="0" scrolling="no"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,e8b99eba-2451-4eee-9a3c-2a8e6b5c6b74.aspx</comments>
      <category>Events</category>
      <category>Patterns</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=9c7fd421-240c-485d-aded-40b201de37c1</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,9c7fd421-240c-485d-aded-40b201de37c1.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,9c7fd421-240c-485d-aded-40b201de37c1.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9c7fd421-240c-485d-aded-40b201de37c1</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.randypatterson.com/images/OrlandoCodeCamp_11CAF/image.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="68" alt="image" src="http://www.randypatterson.com/images/OrlandoCodeCamp_11CAF/image_thumb.png" width="244" border="0" />
          </a>
        </p>
        <h3>
          <a href="http://www.orlandocodecamp.com/" target="_blank">Orlando Code Camp 2008
- Saturday March 22, 2008</a>
        </h3>
        <p>
The FREE Orlando Code Camp will be on Saturday, March 22, 2008. Last year's Orlando
Code Camp had 481 registered attendees, 52 sessions, and 38 speakers. If you are looking
for free .NET developer training by hardcore .net developers in the Florida community,
mark your calendar for this year's Orlando Code Camp. 
</p>
        <p>
  
</p>
        <p>
          <a href="http://www.orlandocodecamp.com/" target="_blank">Signup</a> now, its filling
up fast! 
</p>
        <p>
  
</p>
        <p>
  
</p>
        <p>
  
</p>
        <p>
I am giving 2 presentations this year: 
</p>
        <p>
  
</p>
        <p>
          <font size="3">
            <strong>Beginning Test Driven Development</strong>
            <br />
          </font>In this session I will discuss Unit Testing Goals, Principles and Philosophies
such as Test First, Test Last and the dreaded, Test After. Learn what creating good
unit tests mean and how it will help improve the quality of your applications. 
</p>
        <p>
  
</p>
        <p>
          <strong>
            <font size="3">The Unity Application Block</font>
          </strong>
          <br />
The Unity Application block is a lightweight, extensible dependency injection container
with support for constructor, property, and method call injection. Microsoft has finally
developed an Inversion of Control (IoC) container that will appear in the Enterprise
Application Block. In this session I will introduce the basic concepts of Dependency
Injection and review how the Unity Application Block is used.
</p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=9c7fd421-240c-485d-aded-40b201de37c1" />
      </body>
      <title>Orlando Code Camp 2008</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,9c7fd421-240c-485d-aded-40b201de37c1.aspx</guid>
      <link>http://randypatterson.com/2008/03/13/OrlandoCodeCamp2008.aspx</link>
      <pubDate>Thu, 13 Mar 2008 00:22:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/OrlandoCodeCamp_11CAF/image.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="68" alt="image" src="http://www.randypatterson.com/images/OrlandoCodeCamp_11CAF/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h3&gt;&lt;a href="http://www.orlandocodecamp.com/" target="_blank"&gt;Orlando Code Camp 2008
- Saturday March 22, 2008&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
The FREE Orlando Code Camp will be on Saturday, March 22, 2008. Last year's Orlando
Code Camp had 481 registered attendees, 52 sessions, and 38 speakers. If you are looking
for free .NET developer training by hardcore .net developers in the Florida community,
mark your calendar for this year's Orlando Code Camp. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;a href="http://www.orlandocodecamp.com/" target="_blank"&gt;Signup&lt;/a&gt; now, its filling
up fast! 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
I am giving 2 presentations this year: 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;font size="3"&gt;&lt;strong&gt;Beginning Test Driven Development&lt;/strong&gt;
&lt;br&gt;
&lt;/font&gt;In this session I will discuss Unit Testing Goals, Principles and Philosophies
such as Test First, Test Last and the dreaded, Test After. Learn what creating good
unit tests mean and how it will help improve the quality of your applications. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;strong&gt;&lt;font size="3"&gt;The Unity Application Block&lt;/font&gt;&lt;/strong&gt;
&lt;br&gt;
The Unity Application block is a lightweight, extensible dependency injection container
with support for constructor, property, and method call injection. Microsoft has finally
developed an Inversion of Control (IoC) container that will appear in the Enterprise
Application Block. In this session I will introduce the basic concepts of Dependency
Injection and review how the Unity Application Block is used.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=9c7fd421-240c-485d-aded-40b201de37c1" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,9c7fd421-240c-485d-aded-40b201de37c1.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=2869ac2b-f214-4099-ba63-3210226b1e39</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,2869ac2b-f214-4099-ba63-3210226b1e39.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,2869ac2b-f214-4099-ba63-3210226b1e39.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2869ac2b-f214-4099-ba63-3210226b1e39</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Lots of good content you can watch online or download for later viewing. 
</p>
        <p>
          <a href="http://www.randypatterson.com/images/Mix08VideosPostedOnline_117C9/image_3.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="212" alt="image" src="http://www.randypatterson.com/images/Mix08VideosPostedOnline_117C9/image_thumb_3.png" width="420" border="0" />
          </a>
        </p>
        <p>
          <a href="http://sessions.visitmix.com/" target="_blank">Mix08 Sessions</a>
        </p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=2869ac2b-f214-4099-ba63-3210226b1e39" />
      </body>
      <title>Mix08 Videos Posted Online</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,2869ac2b-f214-4099-ba63-3210226b1e39.aspx</guid>
      <link>http://randypatterson.com/2008/03/12/Mix08VideosPostedOnline.aspx</link>
      <pubDate>Wed, 12 Mar 2008 23:59:49 GMT</pubDate>
      <description>&lt;p&gt;
Lots of good content you can watch online or download for later viewing. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/Mix08VideosPostedOnline_117C9/image_3.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="212" alt="image" src="http://www.randypatterson.com/images/Mix08VideosPostedOnline_117C9/image_thumb_3.png" width="420" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sessions.visitmix.com/" target="_blank"&gt;Mix08 Sessions&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=2869ac2b-f214-4099-ba63-3210226b1e39" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,2869ac2b-f214-4099-ba63-3210226b1e39.aspx</comments>
      <category>Podcast</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=e97c00c2-a59b-4de0-8378-4ad92ef5841e</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,e97c00c2-a59b-4de0-8378-4ad92ef5841e.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,e97c00c2-a59b-4de0-8378-4ad92ef5841e.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=e97c00c2-a59b-4de0-8378-4ad92ef5841e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img src="http://randypatterson.com/ct.ashx?id=cedd2d04-d3e0-409a-a961-073576dc9574&amp;url=http%3a%2f%2fwww.randypatterson.com%2fimages%2fTampaBayInternationalAssociationofSoftwa_71C8%2fimage.png" />
        </p>
        <p>
  
</p>
        <p>
          <font size="4">This Month's Meeting</font>
          <br />
        </p>
        <p>
 
</p>
        <table cellspacing="0" cellpadding="2" width="915" border="0">
          <tbody>
            <tr>
              <td valign="top" width="100">
                <strong>When:</strong>
              </td>
              <td valign="top" width="813">
1/31/2008 6:30 PM - 8:30 PM<br /></td>
            </tr>
            <tr>
              <td valign="top" width="104">
                <strong>Topic:</strong>
              </td>
              <td valign="top" width="810">
                <p>
                  <strong>The Perfect Pattern Storm, where TDD meets UX and MVP. </strong>
                </p>
                <p>
                  <strong>
                  </strong>  
</p>
                <p>
As host of ARCast.TV, Ron Jacobs has a front row seat to observe the constantly shifting
architectural landscape. In this session we will consider what happens when the force
of test driven development (TDD) collides with the demand for better UX.
</p>
                <p>
 
</p>
              </td>
            </tr>
            <tr>
              <td valign="top" width="107">
                <strong>Speaker:</strong>
              </td>
              <td valign="top" width="807">
                <strong>
                </strong>
                <a href="http://www.ronjacobs.com">Ron Jacobs</a> is an Architect
Evangelist in the <a href="http://msdn.microsoft.com/architecture">Microsoft Architecture
Strategy group</a> based at the company headquarters in Redmond Washington. Since
1999 Ron has been a product and program manager on various Microsoft products including
the <a href="http://.net/">.NET</a> Framework, Windows Communication Foundation and
COM+. A top-rated conference speaker, author and host of the podcast show <a href="http://www.arcast.tv">ARCast.TV</a>,
Ron brings over 20 years of industry experience to his role of helping Microsoft customers
and partners to build architecturally sound and secure applications.<br /></td>
            </tr>
            <tr>
              <td valign="top" width="110">
                <strong>Design Pattern Overview:</strong>
              </td>
              <td valign="top" width="804">
                <a href="http://www.DavidHayden.com">David Hayden</a> will be presenting an overview
of the Factory pattern</td>
            </tr>
            <tr>
              <td valign="top" width="113">
                <strong>Location:</strong>
                <br />
              </td>
              <td valign="top" width="801">
                <p>
Microsoft Corporation<br />
3000 Bayport Drive<br />
Suite 480<br />
Tampa, FL 33607 
<br /><a href="http://maps.live.com/default.aspx?cp=27.966888%7E-82.549685&amp;lvl=14&amp;style=r&amp;v=2&amp;sp=Point.27.966888_-82.549685_Microsoft+Corp">View
a map</a><br /><a href="http://maps.live.com/OneClickDirections.aspx?mkt=en-us&amp;rtp=%7Epos.27.968023982861645_-82.549467086792&amp;FORM=LLMP">View
1-Click Directions</a></p>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
          <strong>
            <a href="http://www.eventbrite.com/event/89609023/RRPBlog">Register for this
meeting.</a>
          </strong>
        </p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=e97c00c2-a59b-4de0-8378-4ad92ef5841e" />
      </body>
      <title>Tampa Bay International Association of Software Architects Newsletter - January 2008</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,e97c00c2-a59b-4de0-8378-4ad92ef5841e.aspx</guid>
      <link>http://randypatterson.com/2008/01/29/TampaBayInternationalAssociationOfSoftwareArchitectsNewsletterJanuary2008.aspx</link>
      <pubDate>Tue, 29 Jan 2008 23:13:40 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img src="http://randypatterson.com/ct.ashx?id=cedd2d04-d3e0-409a-a961-073576dc9574&amp;amp;url=http%3a%2f%2fwww.randypatterson.com%2fimages%2fTampaBayInternationalAssociationofSoftwa_71C8%2fimage.png"&gt; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;font size="4"&gt;This Month's Meeting&lt;/font&gt; 
&lt;br&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="915" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="100"&gt;
&lt;strong&gt;When:&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="813"&gt;
1/31/2008 6:30 PM - 8:30 PM&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="104"&gt;
&lt;strong&gt;Topic:&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="810"&gt;
&lt;p&gt;
&lt;strong&gt;The Perfect Pattern Storm, where TDD meets UX and MVP. &lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; 
&lt;p&gt;
As host of ARCast.TV, Ron Jacobs has a front row seat to observe the constantly shifting
architectural landscape. In this session we will consider what happens when the force
of test driven development (TDD) collides with the demand for better UX.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="107"&gt;
&lt;strong&gt;Speaker:&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="807"&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;a href="http://www.ronjacobs.com"&gt;Ron Jacobs&lt;/a&gt; is an Architect
Evangelist in the &lt;a href="http://msdn.microsoft.com/architecture"&gt;Microsoft Architecture
Strategy group&lt;/a&gt; based at the company headquarters in Redmond Washington. Since
1999 Ron has been a product and program manager on various Microsoft products including
the &lt;a href="http://.net/"&gt;.NET&lt;/a&gt; Framework, Windows Communication Foundation and
COM+. A top-rated conference speaker, author and host of the podcast show &lt;a href="http://www.arcast.tv"&gt;ARCast.TV&lt;/a&gt;,
Ron brings over 20 years of industry experience to his role of helping Microsoft customers
and partners to build architecturally sound and secure applications.&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="110"&gt;
&lt;strong&gt;Design Pattern Overview:&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="804"&gt;
&lt;a href="http://www.DavidHayden.com"&gt;David Hayden&lt;/a&gt; will be presenting an overview
of the Factory pattern&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="113"&gt;
&lt;strong&gt;Location:&lt;/strong&gt;
&lt;br&gt;
&lt;/td&gt;
&lt;td valign="top" width="801"&gt;
&lt;p&gt;
Microsoft Corporation&lt;br&gt;
3000 Bayport Drive&lt;br&gt;
Suite 480&lt;br&gt;
Tampa, FL 33607 
&lt;br&gt;
&lt;a href="http://maps.live.com/default.aspx?cp=27.966888%7E-82.549685&amp;amp;lvl=14&amp;amp;style=r&amp;amp;v=2&amp;amp;sp=Point.27.966888_-82.549685_Microsoft+Corp"&gt;View
a map&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://maps.live.com/OneClickDirections.aspx?mkt=en-us&amp;amp;rtp=%7Epos.27.968023982861645_-82.549467086792&amp;amp;FORM=LLMP"&gt;View
1-Click Directions&lt;/a&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://www.eventbrite.com/event/89609023/RRPBlog"&gt;Register for this
meeting.&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=e97c00c2-a59b-4de0-8378-4ad92ef5841e" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,e97c00c2-a59b-4de0-8378-4ad92ef5841e.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=96f4180b-f6ff-46f0-8d53-8c96786af4e7</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,96f4180b-f6ff-46f0-8d53-8c96786af4e7.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,96f4180b-f6ff-46f0-8d53-8c96786af4e7.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=96f4180b-f6ff-46f0-8d53-8c96786af4e7</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm giving a presentation at the <a href="http://www.cfdotnet.org/" target="_blank">Lakeland
Users Group</a> this Tuesday, January 15, 2008 from 6:30 PM - 8:30 PM  entitled
"Unit Testing Principles and Goals".  
</p>
        <p>
I will discuss Unit Testing Goals, Principles and Philosophies such as Test First,
Test Last and the dreaded, Test After.   Learn what creating good unit tests
mean and how it will help improve the quality of your applications.  Learn to
leverage to power of Test Drive Development and, when necessary, how to write Unit
Tests for existing code. 
</p>
        <p>
  
</p>
        <p>
          <strong>
            <a href="http://maps.live.com/?v=2&amp;where1=2525%20Drane%20Field%20Rd%2C%20Lakeland%2C%20FL%2033811-1354&amp;encType=1 " target="_blank">Location</a>: </strong>
          <br />
2525 Drane Field Road, Suite 10<br />
Lakeland, FL 33811 
</p>
        <p>
 
</p>
        <p>
          <strong>
            <font size="2">Updated:</font>
          </strong>
        </p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:9543eedd-7ed1-47db-bbae-3c402d1dab83" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.randypatterson.com/images/UnitTestingPrinciplesandGoals_11322/UnitTestPresentation.zip" target="_blank">Download
Presentation Slides</a>
          </p>
        </div>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=96f4180b-f6ff-46f0-8d53-8c96786af4e7" />
      </body>
      <title>Unit Testing Principles and Goals</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,96f4180b-f6ff-46f0-8d53-8c96786af4e7.aspx</guid>
      <link>http://randypatterson.com/2008/01/13/UnitTestingPrinciplesAndGoals.aspx</link>
      <pubDate>Sun, 13 Jan 2008 01:37:54 GMT</pubDate>
      <description>&lt;p&gt;
I'm giving a presentation at the &lt;a href="http://www.cfdotnet.org/" target="_blank"&gt;Lakeland
Users Group&lt;/a&gt; this Tuesday, January 15, 2008 from 6:30 PM - 8:30 PM&amp;nbsp; entitled
"Unit Testing Principles and Goals".&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I will discuss Unit Testing Goals, Principles and Philosophies such as Test First,
Test Last and the dreaded, Test After.&amp;nbsp;&amp;nbsp; Learn what creating good unit tests
mean and how it will help improve the quality of your applications.&amp;nbsp; Learn to
leverage to power of Test Drive Development and, when necessary, how to write Unit
Tests for existing code. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://maps.live.com/?v=2&amp;amp;where1=2525%20Drane%20Field%20Rd%2C%20Lakeland%2C%20FL%2033811-1354&amp;amp;encType=1 " target="_blank"&gt;Location&lt;/a&gt;: &lt;/strong&gt;
&lt;br&gt;
2525 Drane Field Road, Suite 10&lt;br&gt;
Lakeland, FL 33811 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font size="2"&gt;Updated:&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:9543eedd-7ed1-47db-bbae-3c402d1dab83" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.randypatterson.com/images/UnitTestingPrinciplesandGoals_11322/UnitTestPresentation.zip" target="_blank"&gt;Download
Presentation Slides&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=96f4180b-f6ff-46f0-8d53-8c96786af4e7" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,96f4180b-f6ff-46f0-8d53-8c96786af4e7.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=0a6e16d7-e41f-4f19-80c6-62c7d6488eec</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,0a6e16d7-e41f-4f19-80c6-62c7d6488eec.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,0a6e16d7-e41f-4f19-80c6-62c7d6488eec.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=0a6e16d7-e41f-4f19-80c6-62c7d6488eec</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.randypatterson.com/images/NewThoughtWorksPodcast_9946/smRSSImage.png">
        </a>
        <p>
          <a href="http://www.thoughtworks.com/index.html" target="_blank">ThoughtWorks</a> has
a new <a href="http://www.thoughtworks.com/what-we-say/podcasts.html" target="_blank">IT
Matters Podcast</a> that discusses the business and technology issues facing the IT
Industry. The First topic is on Domain Specific Languages Part 1 of 2.  A panel
of ThoughtWorks employees including, <a href="http://www.thoughtworks.com/who-we-are/martin-fowler.html">Martin
Fowler</a>, <a href="http://www.thoughtworks.com/who-we-are/leadership-profiles/rebecca-parsons.html">Dr.
Rebecca Parsons</a>, Neal Ford and Jay Fields; all participate in a discussion around
domain-specific languages (DSLs). 
</p>
        <p>
Topics include:  
</p>
        <p>
1. How to build effective DSLs
</p>
        <p>
2. When to use a DSL
</p>
        <p>
3. What pitfalls to avoid
</p>
        <p>
4. Some real-world examples of DSL best practices.
</p>
        <p>
With the release of Visual Studio 2008 SDK that includes tools for <a href="http://www.code-magazine.com/Article.aspx?quickid=0710072" target="_blank">Developing
Domain Specific languages in Visual Studio 2008</a>, the timing could not be better. 
I am looking forward to listening to Part 2.
</p>
        <p>
 
</p>
        <a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f12%2fMartinFowlerHasAPodcast.aspx">
          <img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f12%2fMartinFowlerHasAPodcast.aspx" border="0" />
        </a>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=0a6e16d7-e41f-4f19-80c6-62c7d6488eec" />
      </body>
      <title>Martin Fowler has a Podcast!</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,0a6e16d7-e41f-4f19-80c6-62c7d6488eec.aspx</guid>
      <link>http://randypatterson.com/2007/12/12/MartinFowlerHasAPodcast.aspx</link>
      <pubDate>Wed, 12 Dec 2007 03:00:26 GMT</pubDate>
      <description>&lt;a href="http://www.randypatterson.com/images/NewThoughtWorksPodcast_9946/smRSSImage.png"&gt;&lt;/a&gt; 
&lt;p&gt;
&lt;a href="http://www.thoughtworks.com/index.html" target="_blank"&gt;ThoughtWorks&lt;/a&gt; has
a new &lt;a href="http://www.thoughtworks.com/what-we-say/podcasts.html" target="_blank"&gt;IT
Matters Podcast&lt;/a&gt; that discusses the business and technology issues facing the IT
Industry. The First topic is on Domain Specific Languages Part 1 of 2.&amp;nbsp; A panel
of ThoughtWorks employees including, &lt;a href="http://www.thoughtworks.com/who-we-are/martin-fowler.html"&gt;Martin
Fowler&lt;/a&gt;, &lt;a href="http://www.thoughtworks.com/who-we-are/leadership-profiles/rebecca-parsons.html"&gt;Dr.
Rebecca Parsons&lt;/a&gt;, Neal Ford and Jay Fields; all participate in a discussion around
domain-specific languages (DSLs). 
&lt;/p&gt;
&lt;p&gt;
Topics include:&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
1. How to build effective DSLs
&lt;/p&gt;
&lt;p&gt;
2. When to use a DSL
&lt;/p&gt;
&lt;p&gt;
3. What pitfalls to avoid
&lt;/p&gt;
&lt;p&gt;
4. Some real-world examples of DSL best practices.
&lt;/p&gt;
&lt;p&gt;
With the release of Visual Studio 2008 SDK that includes tools for &lt;a href="http://www.code-magazine.com/Article.aspx?quickid=0710072" target="_blank"&gt;Developing
Domain Specific languages in Visual Studio 2008&lt;/a&gt;, the timing could not be better.&amp;nbsp;
I am looking forward to listening to Part 2.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f12%2fMartinFowlerHasAPodcast.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f12%2fMartinFowlerHasAPodcast.aspx" border="0"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=0a6e16d7-e41f-4f19-80c6-62c7d6488eec" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,0a6e16d7-e41f-4f19-80c6-62c7d6488eec.aspx</comments>
      <category>Podcast</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14</wfw:commentRss>
      <slash:comments>16</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the best ways that I've discovered to keep up to date with the constant change
of technology is to listen to podcasts.  I find this a great way to learn during
my daily commute and exercise regiment (refilling my coffee AND getting the mail).  
</p>
        <p>
  
</p>
        <p>
One thing I would encourage is to attempt to listen while coding.  If you can
listen to music while you code you can probably listen to podcasts with little effort. 
Everyone is different but here is what I've discovered about myself. 
</p>
        <ul>
          <li>
If both ears are listening to a podcast I get too distracted and cannot concentrate
enough on coding. 
</li>
          <li>
If I listen using my right ear, I <span class="acronym" title="to understand profoundly"><a href="http://en.wikipedia.org/wiki/Grok" target="_blank">grok</a></span> almost
nothing of the podcast content. 
</li>
          <li>
If I listen with my left ear, it seems to be a good balance between listening and
doing.</li>
        </ul>
        <p>
I've heard of some who code while listening to a podcast in double speed to save time. 
I can't do that but, apparently, some can.  
</p>
        <p>
  
</p>
        <p>
  
</p>
        <p>
Here are the podcasts I find invaluable as a developer 
</p>
        <p>
 
</p>
        <table cellspacing="0" cellpadding="2" width="704" border="1">
          <tbody>
            <tr>
              <td valign="top" width="24">
                <a href="http://polymorphicpodcast.com/podcast/feed/" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://polymorphicpodcast.com/" target="_blank">Polymorphic Podcast</a>
              </td>
              <td valign="top" width="490">
Craig Shoemaker brings insight into software development in the .NET platform along
with interviews with industry luminaries. <em>Good content, good quality but an inconsistent
schedule.<br /></em></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://channel9.msdn.com/rss.aspx?ShowID=5&amp;format=mp3" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://channel9.msdn.com/shows/ARCast_with_Ron_Jacobs" target="_blank">ARCast
with Ron Jacobs</a>
              </td>
              <td valign="top" width="488">
Ron Jacobs is a Microsoft employee and delivers a weekly podcast on <a href="http://channel9.msdn.com/" target="_blank">Channel
9</a> that dives into some tough .NET architecture topics.  
<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://www.se-radio.net/rss" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://www.se-radio.net" target="_blank">Software Engineering Radio</a>
              </td>
              <td valign="top" width="486">
Not specifically .NET related but contains a wide spectrum of Software topics from
Dynamic Languages to Transactional Memory to Fault Tolerance.  
<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://feeds.feedburner.com/sqeconferences" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://www.stickyminds.com/podcasts" target="_blank">Software Quality Engineering
Conferences Podcast</a>
              </td>
              <td valign="top" width="485">
Interviews with speakers from the Agile Development Practices 2007 Conference<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://www.podcastingforacause.com/onsoft_audio.xml" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://www.informit.com/podcasts/channel.aspx?c=dadf92ca-3bdc-484e-9cd8-cbfe0cfc0de6&amp;rl=1" target="_blank">OnSoftware</a>
              </td>
              <td valign="top" width="484">
Weekly interviews with some of the software industry's leading developers about a
wide range of programming and development issues<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://feeds.feedburner.com/WebdevradioPodcastHome" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://www.webdevradio.com/index.php">WebDevRadio Podcast </a>
              </td>
              <td valign="top" width="483">
Web Development Discussion<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://agiletoolkit.libsyn.com/rss" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://agiletoolkit.libsyn.com" target="_blank">Agile Toolkit Podcast</a>
              </td>
              <td valign="top" width="483">
Topics covering all things Agile.  
</td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://feeds.feedburner.com/netRocksFullMp3Downloads" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://www.dotnetrocks.com" target="_blank">.NET Rocks!</a>
              </td>
              <td valign="top" width="483">
.NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft
.NET platform. The shows range from introductory information to hardcore geekiness<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://www.hanselminutes.com/hanselminutes_MP3Direct.xml" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://www.hanselminutes.com" target="_blank">Hanselminutes</a>
              </td>
              <td valign="top" width="483">
Scott Hanselman discusses utilities and tools, gives practical how-to advice, and
discusses ASP.NET or Windows issues and workarounds.<br /></td>
            </tr>
            <tr>
              <td valign="top" width="24">
                <a href="http://www.scalabledevelopment.com/ftp/ScalabilityWithDotNet.xml" target="_blank">
                  <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0" />
                </a>
              </td>
              <td valign="top" width="185">
                <a href="http://weblogs.asp.net/wallym/" target="_blank">ASP.NET PodCast</a>
              </td>
              <td valign="top" width="483">
The ASP.NET Podcast brings a technology focus to the area of podcasts.  This
podcast is geared towards developers with applications that scale to a large amount
of data and users.</td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
I would like to hear what others are listening to and what software you use to manage
your podcasts.  I have a love/hate relationship with ITunes.
</p>
        <h3>UPDATE:
</h3>
        <p>
          <a href="http://randypatterson.com/2008/06/27/TopDeveloperPodcastsPartII.aspx" target="_blank">Top
Developer Podcasts Part II</a>
        </p>
        <p>
 
</p>
        <p>
 <a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f05%2f10PodcastsEveryDeveloperShouldListenTo.aspx"><img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f05%2f10PodcastsEveryDeveloperShouldListenTo.aspx" border="0" /></a></p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14" />
      </body>
      <title>10 Podcasts Every Developer Should Listen To</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14.aspx</guid>
      <link>http://randypatterson.com/2007/12/05/10PodcastsEveryDeveloperShouldListenTo.aspx</link>
      <pubDate>Wed, 05 Dec 2007 00:23:05 GMT</pubDate>
      <description>&lt;p&gt;
One of the best ways that I've discovered to keep up to date with the constant change
of technology is to listen to podcasts.&amp;nbsp; I find this a great way to learn during
my daily commute and exercise regiment (refilling my coffee AND getting the mail).&amp;nbsp; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
One thing I would encourage is to attempt to listen while coding.&amp;nbsp; If you can
listen to music while you code you can probably listen to podcasts with little effort.&amp;nbsp;
Everyone is different but here is what I've discovered about myself. 
&lt;ul&gt;
&lt;li&gt;
If both ears are listening to a podcast I get too distracted and cannot concentrate
enough on coding. 
&lt;li&gt;
If I listen using my right ear, I &lt;span class="acronym" title="to understand profoundly"&gt;&lt;a href="http://en.wikipedia.org/wiki/Grok" target="_blank"&gt;grok&lt;/a&gt;&lt;/span&gt; almost
nothing of the podcast content. 
&lt;li&gt;
If I listen with my left ear, it seems to be a good balance between listening and
doing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I've heard of some who code while listening to a podcast in double speed to save time.&amp;nbsp;
I can't do that but, apparently, some can.&amp;nbsp; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
Here are the podcasts I find invaluable as a developer 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="704" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://polymorphicpodcast.com/podcast/feed/" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://polymorphicpodcast.com/" target="_blank"&gt;Polymorphic Podcast&lt;/a&gt; 
&lt;/td&gt;
&lt;td valign="top" width="490"&gt;
Craig Shoemaker brings insight into software development in the .NET platform along
with interviews with industry luminaries. &lt;em&gt;Good content, good quality but an inconsistent
schedule.&lt;br&gt;
&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://channel9.msdn.com/rss.aspx?ShowID=5&amp;amp;format=mp3" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://channel9.msdn.com/shows/ARCast_with_Ron_Jacobs" target="_blank"&gt;ARCast
with Ron Jacobs&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="488"&gt;
Ron Jacobs is a Microsoft employee and delivers a weekly podcast on &lt;a href="http://channel9.msdn.com/" target="_blank"&gt;Channel
9&lt;/a&gt; that dives into some tough .NET architecture topics.&amp;nbsp; 
&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://www.se-radio.net/rss" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://www.se-radio.net" target="_blank"&gt;Software Engineering Radio&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="486"&gt;
Not specifically .NET related but contains a wide spectrum of Software topics from
Dynamic Languages to Transactional Memory to Fault Tolerance.&amp;nbsp; 
&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://feeds.feedburner.com/sqeconferences" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://www.stickyminds.com/podcasts" target="_blank"&gt;Software Quality Engineering
Conferences Podcast&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="485"&gt;
Interviews with speakers from the Agile Development Practices 2007 Conference&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://www.podcastingforacause.com/onsoft_audio.xml" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://www.informit.com/podcasts/channel.aspx?c=dadf92ca-3bdc-484e-9cd8-cbfe0cfc0de6&amp;amp;rl=1" target="_blank"&gt;OnSoftware&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="484"&gt;
Weekly interviews with some of the software industry's leading developers about a
wide range of programming and development issues&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://feeds.feedburner.com/WebdevradioPodcastHome" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://www.webdevradio.com/index.php"&gt;WebDevRadio Podcast &lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="483"&gt;
Web Development Discussion&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://agiletoolkit.libsyn.com/rss" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://agiletoolkit.libsyn.com" target="_blank"&gt;Agile Toolkit Podcast&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="483"&gt;
Topics covering all things Agile.&amp;nbsp; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://feeds.feedburner.com/netRocksFullMp3Downloads" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://www.dotnetrocks.com" target="_blank"&gt;.NET Rocks!&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="483"&gt;
.NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft
.NET platform. The shows range from introductory information to hardcore geekiness&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://www.hanselminutes.com/hanselminutes_MP3Direct.xml" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://www.hanselminutes.com" target="_blank"&gt;Hanselminutes&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="483"&gt;
Scott Hanselman discusses utilities and tools, gives practical how-to advice, and
discusses ASP.NET or Windows issues and workarounds.&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="24"&gt;
&lt;a href="http://www.scalabledevelopment.com/ftp/ScalabilityWithDotNet.xml" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="smRSSImage" src="http://randypatterson.com/images/DeveloperRelatedPodcasts_EA60/smRSSImage.png" width="20" border="0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="185"&gt;
&lt;a href="http://weblogs.asp.net/wallym/" target="_blank"&gt;ASP.NET PodCast&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="483"&gt;
The ASP.NET Podcast brings a technology focus to the area of podcasts.&amp;nbsp; This
podcast is geared towards developers with applications that scale to a large amount
of data and users.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I would like to hear what others are listening to and what software you use to manage
your podcasts.&amp;nbsp; I have a love/hate relationship with ITunes.
&lt;/p&gt;
&lt;h3&gt;UPDATE:
&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://randypatterson.com/2008/06/27/TopDeveloperPodcastsPartII.aspx" target="_blank"&gt;Top
Developer Podcasts Part II&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f05%2f10PodcastsEveryDeveloperShouldListenTo.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandypatterson.com%2f2007%2f12%2f05%2f10PodcastsEveryDeveloperShouldListenTo.aspx" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14" /&gt;</description>
      <comments>http://randypatterson.com/CommentView,guid,3f5ba0f3-4b7e-47ae-93f5-deec4d3d8b14.aspx</comments>
      <category>Podcast</category>
    </item>
    <item>
      <trackback:ping>http://randypatterson.com/Trackback.aspx?guid=68de0328-baa6-4a5a-bdbb-c0efccaf9eb2</trackback:ping>
      <pingback:server>http://randypatterson.com/pingback.aspx</pingback:server>
      <pingback:target>http://randypatterson.com/PermaLink,guid,68de0328-baa6-4a5a-bdbb-c0efccaf9eb2.aspx</pingback:target>
      <dc:creator>Randy Patterson</dc:creator>
      <wfw:comment>http://randypatterson.com/CommentView,guid,68de0328-baa6-4a5a-bdbb-c0efccaf9eb2.aspx</wfw:comment>
      <wfw:commentRss>http://randypatterson.com/SyndicationService.asmx/GetEntryCommentsRss?guid=68de0328-baa6-4a5a-bdbb-c0efccaf9eb2</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Right now Techsmith is offering <a href="http://www.labnol.org/software/download/download-camtasia-studio-free/1829/" target="_blank">Camtasia</a> and <a href="http://www.labnol.org/software/download/free-download-snagit-with-serial-number/1841/" target="_blank">Snag-It</a> for
free.  You download the demo then register for a free license key.  These
are previous versions of the software but they are still feature packed and will solve
most of your screen capture needs.
</p>
        <p>
          <img height="309" alt="download free snagit" src="http://www.labnol.org/assets/images/DownloadSnagItFullVersionwithSerialNumbe_144BF/downloadfreesnagit.jpg" width="400" border="0" />
        </p>
        <img width="0" height="0" src="http://randypatterson.com/aggbug.ashx?id=68de0328-baa6-4a5a-bdbb-c0efccaf9eb2" />
      </body>
      <title>Get SnagIt and Camtasia for FREE!</title>
      <guid isPermaLink="false">http://randypatterson.com/PermaLink,guid,68de0328-baa6-4a5a-bdbb-c0efccaf9eb2.aspx</guid>
      <link>http://randypatterson.com/2007/11/27/GetSnagItAndCamtasiaForFREE.aspx</link>
      <pubDate>Tue, 27 Nov 2007 01:56:53 GMT</pubDate>
      <description>&lt;p&gt;
Right now Techsmith is offering &lt;a href="http://www.labnol.org/software/download/download-camtasia-studio-free/1829/" target="_blank"&gt;Camtasia&lt;/a&gt; and &lt;a href="http://www.labnol.org/software/download/free-download-snagit-with-serial-number/1841/" target="_blank"&gt;Snag-It&lt;/a&gt; for
free.&amp;nbsp; You download the demo then register for a free license key.&amp;nbsp; These
are previous versions of the software but they are still feature packed and will solve
most of your screen capture needs.
&lt;/p&gt;
&lt;p&gt;
&lt;img height="309" alt="download free snagit" s