<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Jay Smith</title>
    <description>Christian, Husband, Father, Girl Scout, Web/Application Developer</description>
    <link>http://jaysmith.us/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 2.5.0.6</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://jaysmith.us/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Jay Smith</dc:creator>
    <dc:title>Jay Smith</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JaySmith" /><feedburner:info uri="jaysmith" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>36.040467</geo:lat><geo:long>-94.133765</geo:long><feedburner:emailServiceId>JaySmith</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
      <title>Executor: Where did my keywords go?</title>
      <description>&lt;p&gt;I use Executor (&lt;a href="http://executor.dk"&gt;http://executor.dk&lt;/a&gt;) and love it.&amp;#160; Well, most of the time I do.&amp;#160; Every once in a while it seems to freak out and looses all of it’s settings including keywords.&amp;#160; Loosing the setting are no big deal, but the keywords? &lt;/p&gt;  &lt;p&gt;I have use various methods to resolve this in the past, remove and re-install etc.&amp;#160; Last week it happened again.&amp;#160; Removing and re-installing did not help at all, it just looked blank.&lt;/p&gt;  &lt;p&gt;Executor does such a great job of just working in the background and requires very little attention I had not explored it’s vast features.&amp;#160; Well, this time I found that all of the default keywords could be restored by importing them from the original files that were used during install.&lt;/p&gt;  &lt;p&gt;On the keywords tab context menu is “Import keyword from file…” which allowed me to import see the standard.exc which was all the missing keyword AND a windowskeywords.exc with added some I did have before.&lt;/p&gt;  &lt;p&gt;I also noticed a “Export keywords..” with once I had them all setup the way I wanted I promptly used to export them all to a file of my choosing to make it easier to fix next time.&lt;/p&gt;  &lt;p&gt;“Import from start-menu…” also looks very interesting and I am sure will save me some typing in the future.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/1TlOgBVwAec" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/1TlOgBVwAec/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Executor-Where-did-my-keywords-go.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=0b44350c-ea0d-426e-b994-a5c06a318d03</guid>
      <pubDate>Mon, 29 Apr 2013 10:05:22 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=0b44350c-ea0d-426e-b994-a5c06a318d03</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=0b44350c-ea0d-426e-b994-a5c06a318d03</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Executor-Where-did-my-keywords-go.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=0b44350c-ea0d-426e-b994-a5c06a318d03</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=0b44350c-ea0d-426e-b994-a5c06a318d03</feedburner:origLink></item>
    <item>
      <title>Delete Team Foundation Server Work Item with WitAdmin</title>
      <description>&lt;p&gt;I have been keeping my source control in Team Foundation Server for years, but have faultered when it comes to using Work Items. Oh, I have tried a few time and then stopped for various reasons.&amp;nbsp; Today I thought it would be good to clean up the old work items and try again.&amp;nbsp; This turned out to be a bit of an issue. There is not right-click delete, selection all and then choose delete from the action menu.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So how do you delete a Work Item?&lt;/p&gt;
&lt;p&gt;I finally found it the &lt;a href="http://msdn.microsoft.com/en-US/library/vstudio/dd236914.aspx" target="_blank"&gt;WitAdmin &lt;/a&gt;command line tool,&amp;nbsp;part if the &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=35775"&gt;Team Foundation Server Power Tools&lt;/a&gt;, allows you to destroy work items by id.&lt;/p&gt;
&lt;p&gt;Usage: witadmin destroy /collection:&amp;nbsp;collectionUrl&amp;nbsp;/id: id&lt;/p&gt;
&lt;p&gt;Example: witadmin destory /collection:http://tfs.example.com:8080/DefaultCollection /id:112345&lt;/p&gt;
&lt;p&gt;This allowed me to delete the work items, good thing was that I didn't have that many to delete.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/2_dcNk13ox4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/2_dcNk13ox4/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Delete-Team-Foundation-Server-Work-Item-with-WitAdmin.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=77cc9836-e67c-406c-b877-756717884c65</guid>
      <pubDate>Fri, 04 Jan 2013 15:26:00 -0400</pubDate>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=77cc9836-e67c-406c-b877-756717884c65</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=77cc9836-e67c-406c-b877-756717884c65</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Delete-Team-Foundation-Server-Work-Item-with-WitAdmin.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=77cc9836-e67c-406c-b877-756717884c65</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=77cc9836-e67c-406c-b877-756717884c65</feedburner:origLink></item>
    <item>
      <title>TFS Remove Local Files for Branch</title>
      <description>&lt;p&gt;Since I am the build manager for my team and have to touch every release I get a lot of files on my hard drive that I don’t need anymore.&amp;#160; I mean when we are on release 15.2 do I really need a local copy of release 8 or 10, or 14 for that matter.&amp;#160; I used to just delete the local copies, but TFS still thinks you have them and starts acting up.&amp;#160; Of course there is a way to delete them via Source Control Explorer but it is not very obvious.&amp;#160; I found the solution on a post titled &lt;em&gt;&lt;a href="http://www.woodwardweb.com/tfs_top_tip/tfs_top_tip_11.html" target="_blank"&gt;“TFS Top Tip #11 –Removing source control files from your local file system”&lt;/a&gt;&lt;/em&gt; by &lt;a href="http://www.woodwardweb.com\" target="_blank"&gt;Martin Woodard&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It appears that if you do a &lt;em&gt;Get Specific Version&lt;/em&gt; and specify Changeset of 1 the files will be deleted locally and the server will know it.&amp;#160; Changeset 1 is a special Changeset&amp;#160; that only contains the root ($/).&amp;#160; So by getting Changeset 1 you basically get nothing, there were no files in the source control tree when this Changeset was created.&lt;/p&gt;  &lt;p&gt;This is definitely not as easy a deleting a branch in git, but I does help me keep my release folders cleaned up. Thanks Martin for posting this. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/0EGYJVGwYtU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/0EGYJVGwYtU/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/TFS-Remove-Local-Files-for-Branch.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=2954fe40-2cfa-4ef6-9726-ed80b0eef697</guid>
      <pubDate>Thu, 11 Oct 2012 13:57:53 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=2954fe40-2cfa-4ef6-9726-ed80b0eef697</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=2954fe40-2cfa-4ef6-9726-ed80b0eef697</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/TFS-Remove-Local-Files-for-Branch.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=2954fe40-2cfa-4ef6-9726-ed80b0eef697</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=2954fe40-2cfa-4ef6-9726-ed80b0eef697</feedburner:origLink></item>
    <item>
      <title>Clear Cache and Clear Clipboard Commands</title>
      <description>&lt;p&gt;Recently I need to do a couple of things programmatically for a build task and wanted catalog the command to make it easier for me and others to find them in the future.&lt;/p&gt;  &lt;h2&gt;Clear Internet Explorer Cache&lt;/h2&gt;  &lt;p&gt;This command is very useful if you are developing a &lt;a href="http://sharepoint.microsoft.com/en-us/pages/default.aspx" target="_blank"&gt;SharePoint&lt;/a&gt; feature that relies on JavaScript.&amp;#160; I created one that worked with the JSGrid in Microsoft Project Server to keep users from being able to submit their Timesheet if the date they entered hours on was past the end date of the Task or if the sum of hours entered for that task was greater than the available hours.&amp;#160; So, this was a JavaScript solution to inspect items on the JSGrid on the Timesheet page.&amp;#160; To make sure I was getting the most current version of the JavaScript files I used the following command as a Post Build event in Visual Studio to clear the browser cache before the debug session started.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;C:\Windows\System32\rundll32.exe InetCpl.cpl,ClearMyTracksByProcess 8&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Clear The Windows Clipboard&lt;/h2&gt;  &lt;p&gt;This one I came across when trying to figure out why cut/paste operations on my install of Windows 7 is so slow.&amp;#160; Unfortunately this didn’t speed up the clipboard but I wanted to keep it around anyway.&amp;#160; Comes in handy when I forget to clear a photo or large document from the clipboard.&amp;#160; Here is the command.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;cmd.exe /c “echo off | clip”&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Share Yours!&lt;/h2&gt;  &lt;p&gt;Do you have a command/snip-it that helps you get things done?&amp;#160; Share them in the comments. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/N5oZaKwnnvM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/N5oZaKwnnvM/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Clear-Cache-and-Clear-Clipboard-Commands.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=228ccbe3-9669-4700-9296-6e5b40e069ec</guid>
      <pubDate>Tue, 25 Sep 2012 09:34:54 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=228ccbe3-9669-4700-9296-6e5b40e069ec</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=228ccbe3-9669-4700-9296-6e5b40e069ec</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Clear-Cache-and-Clear-Clipboard-Commands.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=228ccbe3-9669-4700-9296-6e5b40e069ec</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=228ccbe3-9669-4700-9296-6e5b40e069ec</feedburner:origLink></item>
    <item>
      <title>0 to 60 with Highway.Data Video Available!</title>
      <description>&lt;p&gt;My buddy, Shawn, over at &lt;a href="http://usergroup.tv" target="_blank"&gt;UserGroup.tv&lt;/a&gt; as hanging out at the Northwest Arkansas TechFest this year and he videoed on my my talks.&amp;#160; The one on Highway.Data.&amp;#160; Highway.Data is an abstraction layer of Entity Framework (and soon Nhibernate) that&amp;#160; makes working with data access much easier.&amp;#160; It’s built in repository, unit of work and query specification really bring EF, or any ORM for that matter, to a well rounded tool for you tool belt.&lt;/p&gt;  &lt;p&gt;&lt;embed src="http://s0.videopress.com/player.swf?v=1.03" type="application/x-shockwave-flash" width="640" height="360" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=MKlcSy72&amp;isDynamicSeeking=true" title=""&gt;&lt;/embed&gt;&lt;/p&gt;  &lt;p&gt;This is the second video for me on &lt;a href="http://usergroup.tv" target="_blank"&gt;UserGroup.tv&lt;/a&gt; and thanks to Shawn for hosting them. You can check out the videos of other presentations by me and others by going to &lt;a href="http://usergroup.tv" target="_blank"&gt;UserGroup.tv&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Thanks, Shawn!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/7yGcQZcdcuc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/7yGcQZcdcuc/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/0-to-60-with-HighwayData-Video-Available!.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=d260f6ac-02fe-4288-bd0e-33863987f2ec</guid>
      <pubDate>Mon, 24 Sep 2012 15:33:03 -0400</pubDate>
      <category>Highway.Data</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=d260f6ac-02fe-4288-bd0e-33863987f2ec</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=d260f6ac-02fe-4288-bd0e-33863987f2ec</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/0-to-60-with-HighwayData-Video-Available!.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=d260f6ac-02fe-4288-bd0e-33863987f2ec</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=d260f6ac-02fe-4288-bd0e-33863987f2ec</feedburner:origLink></item>
    <item>
      <title>Enotita: Northwest Arkansas Christian Music Festival</title>
      <description>&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=enotita2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="enotita2" src="http://jaysmith.us/image.axd?picture=enotita2_thumb.jpg" alt="enotita2" width="500" height="224" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Two of my passions is my faith and music.&amp;nbsp; I just found out there is going to be first annual Christian Music Festival in Northwest Arkansas called Enotita.&amp;nbsp; The word '&lt;em&gt;enotita&lt;/em&gt;' is taken from the Greek for &lt;em&gt;unity&lt;/em&gt;.&amp;nbsp; There will be a different worship band on stage each hour representing various churches from all over Northwest Arkansas.&amp;nbsp; There will also be a campfire area for times of peace and reflection.&amp;nbsp; Backyard Burgers will be selling food from 5-8 PM.&lt;/p&gt;
&lt;p&gt;WHAT: Enotita &amp;ndash; Northwest Arkansas Christian Music Festival &lt;br /&gt;WHEN:&amp;nbsp; October 6, 2012 from 4-10 PM &lt;br /&gt;WHERE: 8522 West Wagon Wheel Rd in Springdale, AR &lt;a href="https://maps.google.com/maps?q=8522+West+Wagon+Wheel+Rd+in+Springdale,+AR&amp;amp;hl=en&amp;amp;sll=34.751928,-92.131378&amp;amp;sspn=7.002541,9.876709&amp;amp;hnear=8522+W+Wagon+Wheel+Rd,+Springdale,+Benton,+Arkansas+72718&amp;amp;t=m&amp;amp;z=17&amp;amp;source=gplus-ogsb" target="_blank"&gt;[MAP]&lt;/a&gt; &lt;br /&gt;Admission: Free&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I am praying that they may all be one &amp;ndash; just as you, Father, are in me, and I in you, that they too may be in us, so that the world may believe that you sent me.&amp;rdquo;&amp;nbsp; John 17:21&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You can find our more about the event on facebook (&lt;a href="http://facebook.com/enotita2012"&gt;http://facebook.com/enotita2012&lt;/a&gt;) and follow them on Twitter (&lt;a href="http://twitter.com/enotita2012"&gt;http://twitter.com/enotita2012&lt;/a&gt;).&amp;nbsp; You can also contact Allegra Hanson (&lt;a href="mailto:enotitanwa@gmail.com"&gt;enotitanwa@gmail.com&lt;/a&gt;), the Event Coordinator, at the Agape Bible Church.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/ugjsR26n-hc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/ugjsR26n-hc/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Enotita-Northwest-Arkansas-Christian-Music-Festival.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=9642df01-e4f7-4a80-9b0b-ea6524800d6e</guid>
      <pubDate>Tue, 18 Sep 2012 17:07:00 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=9642df01-e4f7-4a80-9b0b-ea6524800d6e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=9642df01-e4f7-4a80-9b0b-ea6524800d6e</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Enotita-Northwest-Arkansas-Christian-Music-Festival.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=9642df01-e4f7-4a80-9b0b-ea6524800d6e</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=9642df01-e4f7-4a80-9b0b-ea6524800d6e</feedburner:origLink></item>
    <item>
      <title>Domain Events Made Easy with JaySmith.DomainEvents</title>
      <description>&lt;p&gt;Today I want to present a new library that I have developed to ease the implementation of domain events in my current projects.&amp;#160; This is largely based on &lt;a href="http://www.udidahan.com/2009/06/14/domain-events-salvation/" target="_blank"&gt;Udi Dahan’s blog series on domain events&lt;/a&gt;.&amp;#160;&amp;#160; This blog will be a walk through of how to add the library to a console application, create a domain object, domain event, domain event handler and raise the event.&amp;#160; My goal is to make adding support for Domain Events to an application easy so you can spend more time working in the problem domain not wasting time wiring up infrastructure.&lt;/p&gt;  &lt;p&gt;Steps to getting this working:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Add Domain Events package for StructureMap to application &lt;/li&gt;    &lt;li&gt;Create Bootstrapper class to initialize StructureMap &lt;/li&gt;    &lt;li&gt;Create a Domain Object &lt;/li&gt;    &lt;li&gt;Create Application class to contain our main application logic &lt;/li&gt;    &lt;li&gt;Define a Domain Event &lt;/li&gt;    &lt;li&gt;Define a Domain Event Handler &lt;/li&gt;    &lt;li&gt;Raise the Event &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Create New Console Application&lt;/h3&gt;  &lt;p&gt;Open Visual Studio and create a new Console Application targeting .NET 4.0/4.5.&lt;/p&gt;  &lt;p&gt;Add the JaySmith.DomainEvents.StructureMap package via &lt;a href="http://nuget.org" target="_blank"&gt;nuget&lt;/a&gt;.&amp;#160; This will install all necessary dependencies including StructureMap.&amp;#160; StructureMap is my IoC of choice.&amp;#160; I will be doing a future post on how to use JaySmith.DomainEvents with your IoC of choice.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=DomainEvents_InstallPackage.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="DomainEvents_InstallPackage" border="0" alt="DomainEvents_InstallPackage" src="http://jaysmith.us/image.axd?picture=DomainEvents_InstallPackage_thumb.png" width="415" height="67" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Create Bootstrapper to initialize StructureMap&lt;/h3&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Bootstrapper&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Initialize()&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        ObjectFactory.Initialize(x =&amp;gt; x.Scan(scan =&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                scan.TheCallingAssembly();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                scan.WithDefaultConventions();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                scan.AssembliesFromApplicationBaseDirectory();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                scan.LookForRegistries();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                scan.ConnectImplementationsToTypesClosing(&lt;span class="kwrd"&gt;typeof&lt;/span&gt; (IDomainEventHandler&amp;lt;&amp;gt;));&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            }));&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;









.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Most StructureMap users will not that for a default configuration lines 7 and 8 are all that are usually required.&amp;#160; Domain Events uses Common Service Locater to do resolution for finding implementations of event handlers and the Domain Events StructureMap package contains a registry that needs to be loaded.&amp;#160; So lines 10 and 11 tell StructureMap to load assemblies in the base directory which is where the JaySmith.DomainEvents.StructureMap.dll will be and then it tells it to look for registries.&amp;#160; This will allow the library to wire up the StructureMapAdapter for Common Service Locator.&amp;#160; You don’t have to understand how this works to utilize the library.&amp;#160; I just wanted to point out why the extra configuration is needed.&lt;/p&gt;

&lt;p&gt;Line 13 is also required, it tells StructureMap how to locate instances of IDomainEventHandler&amp;lt;T&amp;gt;.&amp;#160; This will make more sense when we start creating the handler.&amp;#160; I am looking for a way to move this to my StructureMap registry to it doesn’t have to be manually added here.&amp;#160; If anyone knows how to do that drop me a line.&lt;/p&gt;

&lt;h3&gt;Create a Domain Object&lt;/h3&gt;

&lt;p&gt;Let go ahead and create a domain object for our application.&amp;#160; We are going to have a Person object that looks like the following:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Person&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; Person(&lt;span class="kwrd"&gt;string&lt;/span&gt; firstName, &lt;span class="kwrd"&gt;string&lt;/span&gt; lastName)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        FirstName = firstName;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        LastName = lastName;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; FirstName { get; set; }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; LastName { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; FullName&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        get { &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;&amp;quot;{0} {1}&amp;quot;&lt;/span&gt;, FirstName, LastName); }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;We need to model the behavior that is interesting to our application.&amp;#160; We are going to be interested in when someone changes their last name.&amp;#160; This can happen for any number of reasons and our system want to be able to handle that.&amp;#160; So let’s add a method to allow us to change the last name.&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; UpdateLastName(&lt;span class="kwrd"&gt;string&lt;/span&gt; newLastName)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    LastName = newLastName;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This may seem a little over simplified but we will be adding more code to this method shortly.&lt;/p&gt;

&lt;h3&gt;Create Application class to contain our main logic&lt;/h3&gt;

&lt;p&gt;Now that we have a Person object and we want to change the last name of a user in the system we need to write the code to do that.&amp;#160; Here I want to create a class to encapsulate the application logic.&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyApplication&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Run()&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        var person = &lt;span class="kwrd"&gt;new&lt;/span&gt; Person(&lt;span class="str"&gt;&amp;quot;Kristina&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Parker&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        person.UpdateLastName(&lt;span class="str"&gt;&amp;quot;Smith&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;Here we see that we have a person “Kristina Parker” who for whatever reason, in this case she married me &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://jaysmith.us/image.axd?picture=wlEmoticon-winkingsmile_3.png" /&gt;, changed her name to “Smith”.&amp;#160; Our code reflects this change by calling the UpdateLastName method.&amp;#160; This keeps our domain object up to date, but what if other parts of the system need to do something when a Persons last name changes?&amp;#160; &lt;/p&gt;

&lt;p&gt;We could put that logic in the UpdateLastName method but over time this method would get very long and hard to maintain.&amp;#160; It also doesn’t help us keep with SRR (The Single Responsibility Principle).&amp;#160; I would be awesome if we could just raise an event that the last name has changed and those other things just happened.&amp;#160; This is where the domain event comes in.&amp;#160; &lt;/p&gt;

&lt;p&gt;Before we do that we need to wire up our MyApplication class in out program main so our application actually executes.&lt;/p&gt;

&lt;p&gt;Your Program class should like the following:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        Bootstrapper.Initialize();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        var app = ObjectFactory.GetInstance&amp;lt;MyApplication&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        app.Run();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        Console.Read();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Here initialize our IoC with Bootstrapper.Initialize() and then we get an instance of our application class and then call run.&amp;#160; If we build and execute the application at this point it will execute just fine, the person object will be created and the last name will change.&amp;#160; Now we want to create that domain event so we can notify other parts of the system that something interesting has happened.&lt;/p&gt;

&lt;h3&gt;Define a Domain Event&lt;/h3&gt;

&lt;p&gt;The Domain Event is responsible for modeling any information that an Domain Event Handler might need to do its job.&amp;#160; Here is the PersonLastNameChangedEvent:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; PersonLastNameChangedEvent : IDomainEvent&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; Person Person { get; set; }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; OldValue { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; NewValue { get; set; }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; PersonLastNameChangedEvent(Person person, &lt;span class="kwrd"&gt;string&lt;/span&gt; oldValue, &lt;span class="kwrd"&gt;string&lt;/span&gt; newValue)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        Person = person;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        OldValue = oldValue;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        NewValue = newValue;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;The class implements the IDomainEvent interface.&amp;#160; This is necessary for the Domain Events library.&amp;#160; I usually provide an instance of the object that has changed to allow handlers to have full access to any information they may need.&amp;#160; I also like to provide the old and new values of what changed and providing a constructor just eases the creation of the object.&amp;#160;&amp;#160; There is no requirement on how you name the class for the event but I recommend using a name that represents what happened in the system.&amp;#160; In this example we used the name of the class the event occurs in and then the name of the event.&amp;#160; This allows you to quickly see where this event actually gets raised; When the LastName is changed on the Person object.&lt;/p&gt;

&lt;h3&gt;Define a Domain Event Handler&lt;/h3&gt;

&lt;p&gt;Now that we have have a Domain Event there needs to be something that can handle that event when it occurs.&amp;#160; &lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; PersonLastNameChangedHandler &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;            : IDomainEventHandler&amp;lt;PersonLastNameChangedEvent&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Handle(PersonLastNameChangedEvent args)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        var oldLastName = args.OldValue;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        var newLastName = args.NewValue;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        var fullName = args.Person.FullName;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Last Name changed from {0} to {1}&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                oldLastName, newLastName);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;To implement a Domain Event Handler for the PeronLastNameChangedEvent we create a class that implements IDomainEventHandler&amp;lt;PersonLastNameChangedEvent&amp;gt;.&amp;#160; You can have more than one class that handles this event.&amp;#160; IDomainEventHandler has one method that must be implemented named Handle.&amp;#160; &lt;/p&gt;

&lt;p&gt;The Handle method is pasted an instance of IDomainEvent that represents the Event that was raised.&amp;#160; In this case it is an instance of PeronsLastChangedEvent.&amp;#160; As you can the handle has full access to any information contained in the DomainEvent class.&lt;/p&gt;

&lt;p&gt;In this example we write out a message to the console, your handler will probably do much more interesting things than this.&amp;#160; I hope you are starting to see how powerful this can become.&lt;/p&gt;

&lt;h3&gt;Raise the Event &lt;/h3&gt;

&lt;p&gt;We have created a Domain Object, Defined a Domain Event, and created a Domain Event Handler but the event still isn’t firing.&amp;#160; We have add the code to actually raise the event.&amp;#160; &lt;/p&gt;

&lt;p&gt;To raise the event when the Persons last name changes we want to modify the Person.UpdateLastName method to to the following:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; UpdateLastName(&lt;span class="kwrd"&gt;string&lt;/span&gt; newLastName)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    var oldLastName = LastName;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    LastName = newLastName;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    var lastNameChangedEvent = &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="kwrd"&gt;new&lt;/span&gt; PersonLastNameChangedEvent(&lt;span class="kwrd"&gt;this&lt;/span&gt;, oldLastName, newLastName);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    DomainEventManager.Raise(lastNameChangedEvent);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;We have added line 3 to capture the current LastName before we change it.&amp;#160; In line 6 and 7 we instantiate the PersonLastNameChangedEvent providing the required information.&amp;#160; Finally on line 8 we use the DomainEventManager to raise the event.&lt;/p&gt;

&lt;p&gt;Executing the code now will raise the event and you will see the message from the Event Handler printed into you console window.&lt;/p&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;I hope this walk through gives you a good feel of just how easy it is to add Domain Events to an application.&amp;#160; If you have any questions, critics, or suggestions please do not hesitate to contact me.&amp;#160; If you run into any issues please log them on the &lt;a href="https://github.com/JaySmith/DomainEvents" target="_blank"&gt;project site&lt;/a&gt; located on &lt;a href="https://github.com/" target="_blank"&gt;github&lt;/a&gt;.&amp;#160; The source code is also available there and I do accept updates from the community.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/A3-iiIPj3t0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/A3-iiIPj3t0/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Domain-Events-Made-Easy-with-JaySmithDomainEvents.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=a9a4a98f-3697-423a-adf5-9bf66edc5939</guid>
      <pubDate>Wed, 12 Sep 2012 17:30:00 -0400</pubDate>
      <category>DomainEvents</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=a9a4a98f-3697-423a-adf5-9bf66edc5939</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=a9a4a98f-3697-423a-adf5-9bf66edc5939</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Domain-Events-Made-Easy-with-JaySmithDomainEvents.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=a9a4a98f-3697-423a-adf5-9bf66edc5939</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=a9a4a98f-3697-423a-adf5-9bf66edc5939</feedburner:origLink></item>
    <item>
      <title>Clear Internet Explorer Cache Command Line</title>
      <description>&lt;p&gt;During a recent project where I was creating a &lt;a href="http://sharepoint.microsoft.com/en-us/pages/default.aspx" target="_blank"&gt;SharePoint&lt;/a&gt; feature I had the need to clear the browser cache before starting a new debug session.&amp;#160; The feature was all JavaScript and I wanted to be sure I was getting the latest version.&amp;#160; So, I added this command to the post build event.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;InetCpl.cpl,ClearMyTracksByProcess 8&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;I have also used this in trouble shooting browser issues with clients, the easiest way to know for sure they have cleared their browser cache.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/BX_S1Gkaaoc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/BX_S1Gkaaoc/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Clear-Internet-Explorer-Cache-Command-Line.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=9477f426-b364-4678-82d8-7f6fa54a161b</guid>
      <pubDate>Thu, 06 Sep 2012 15:22:57 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=9477f426-b364-4678-82d8-7f6fa54a161b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=9477f426-b364-4678-82d8-7f6fa54a161b</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Clear-Internet-Explorer-Cache-Command-Line.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=9477f426-b364-4678-82d8-7f6fa54a161b</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=9477f426-b364-4678-82d8-7f6fa54a161b</feedburner:origLink></item>
    <item>
      <title>How to Upload a Document with Properties using SharePoint 2010 Client Object Model</title>
      <description>&lt;p&gt;Today I came across the need to be able to upload documents to a &lt;a href="http://sharepoint.microsoft.com/en-us/pages/default.aspx" target="_blank"&gt;SharePoint&lt;/a&gt; list.&amp;nbsp; Not so bad, I have done this before, but this time I also need to populate some custom metadata about the document.&amp;nbsp; After a lot of looking, searching and exceptions I finally found the answer and here it is.&lt;/p&gt;
&lt;h3&gt;Add References to Microsoft.SharePoint.Client Library&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Install-Package Microsoft.SharePoint.Client&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Define a form&lt;/p&gt;
&lt;p&gt;The important part I always forget is the enctype=&amp;rdquo;multipart/form-data&amp;rdquo;.&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 1: &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="formUpload"&lt;/span&gt; &lt;span class="attr"&gt;method&lt;/span&gt;&lt;span class="kwrd"&gt;="POST"&lt;/span&gt; &lt;span class="attr"&gt;enctype&lt;/span&gt;&lt;span class="kwrd"&gt;="multipart/form-data "&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 2: &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="file"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="fileUpload"&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="fileUpload"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 3: &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="submit"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="upload"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 4: &lt;/span&gt;        &lt;span class="attr"&gt;OnServerClick&lt;/span&gt;&lt;span class="kwrd"&gt;="btnUploadTheFile_Click"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 5: &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3&gt;The btnUploadTheFile_Click Handler&lt;/h3&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 1: &lt;/span&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; UpLoadToSharePoint()&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 2: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 3: &lt;/span&gt;    var fileName = Path.GetFileName(fileUpload.PostedFile.FileName);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 4: &lt;/span&gt;    var fileStream = &lt;span class="kwrd"&gt;new&lt;/span&gt; FileStream(fileUpload.PostedFile.FileName, FileMode.Open);&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 5: &lt;/span&gt;    var byteStream = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;byte&lt;/span&gt;[fileStream.Length];&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 6: &lt;/span&gt;    fileStream.Read(byteStream, 0, byteStream.Length);&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 7: &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 8: &lt;/span&gt;    var serverRelativeUrl = &lt;span class="str"&gt;"/MySite/MyDocumentLibrary/"&lt;/span&gt; + fileName;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 9: &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 10: &lt;/span&gt;    var fileCreationInformation = &lt;span class="kwrd"&gt;new&lt;/span&gt; FileCreationInformation&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 11: &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 12: &lt;/span&gt;        Content = byteStream, &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 13: &lt;/span&gt;        Overwrite = &lt;span class="kwrd"&gt;true&lt;/span&gt;, &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 14: &lt;/span&gt;        Url = serverRelativeUrl&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 15: &lt;/span&gt;    };&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 16: &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 17: &lt;/span&gt;    var file = _sharePointList.RootFolder.Files.Add(fileCreationInformation);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 18: &lt;/span&gt;    file.ListItemAllFields[&lt;span class="str"&gt;"Column 1"&lt;/span&gt;] = &lt;span class="str"&gt;"Value 1"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 19: &lt;/span&gt;    file.ListItemAllFields[&lt;span class="str"&gt;"Column 2"&lt;/span&gt;] = &lt;span class="str"&gt;"Value 2"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 20: &lt;/span&gt;    file.ListItemAllFields.Update();&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 21: &lt;/span&gt;    &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 22: &lt;/span&gt;    _sharePointContext.ExecuteQuery();&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 23: &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Summary&lt;/p&gt;
&lt;p&gt;This simple example shows how easy it is to upload a file to a SharePoint document list and provide additional column information.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/NXO3nSmOnIg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/NXO3nSmOnIg/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/How-to-Upload-a-Document-with-Properties-using-SharePoint-2010-Client-Object-Model.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=39631813-988a-4fb1-ac4e-29756c332f75</guid>
      <pubDate>Wed, 05 Sep 2012 16:41:00 -0400</pubDate>
      <category>.NET</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=39631813-988a-4fb1-ac4e-29756c332f75</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=39631813-988a-4fb1-ac4e-29756c332f75</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/How-to-Upload-a-Document-with-Properties-using-SharePoint-2010-Client-Object-Model.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=39631813-988a-4fb1-ac4e-29756c332f75</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=39631813-988a-4fb1-ac4e-29756c332f75</feedburner:origLink></item>
    <item>
      <title>Domain Events TechFest Update</title>
      <description>&lt;p&gt;Last Friday I presented on Domain Events at the &lt;a href="http://nwatechfest.com" target="_blank"&gt;Northwest Arkansas Techfest&lt;/a&gt; and there was a lot of interest and good discussions.&amp;nbsp; Thanks to everyone who attended the session.&amp;nbsp; I have updated the nuget packages to the latest release and have created some initial documentation located &lt;a href="http://jaysmith.github.com/DomainEvents/" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; From there you can find links to the project site (full source available) and wiki.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The source also includes an example application as well as the demo script for the demo I used in my presentation.&amp;nbsp; The demo script is step by step instructions to re-create the demo from the presentation.&lt;/p&gt;
&lt;p&gt;As I mentioned in the session this code is publicly available and I do accept feature and pull request, see the project wiki for how you can contribute.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/cZCVZC_rZSQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/cZCVZC_rZSQ/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Domain-Events-TechFest-Update.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=c5efb1b5-1391-4e71-a442-2ea8aac77c99</guid>
      <pubDate>Wed, 29 Aug 2012 09:00:00 -0400</pubDate>
      <category>Presentations</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=c5efb1b5-1391-4e71-a442-2ea8aac77c99</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=c5efb1b5-1391-4e71-a442-2ea8aac77c99</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Domain-Events-TechFest-Update.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=c5efb1b5-1391-4e71-a442-2ea8aac77c99</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=c5efb1b5-1391-4e71-a442-2ea8aac77c99</feedburner:origLink></item>
    <item>
      <title>How-To: Community Leadership Town Hall</title>
      <description>&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=TownHall%20Banner_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TownHall Banner" border="0" alt="TownHall Banner" src="http://jaysmith.us/image.axd?picture=TownHall%20Banner_thumb_2.png" width="618" height="193" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;How to Host a Community Leadership Town Hall&lt;/h1&gt;  &lt;p&gt;I was recently asked if I would be hosting a Community Leadership Town Hall in Tulsa again this year.&amp;#160; I will not be attending so I thought I would share what is needed and how to host a Community Leadership Town Hall in case there are others that would be interested in doing so. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Things you need:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Category Signs: Membership, Leadership, Speakers, Sponsors, Meetings, Other &lt;/li&gt;    &lt;li&gt;4x4 or 3x3 Sticky Notes, enough for everyone to write topics, questions, etc. &lt;/li&gt;    &lt;li&gt;Pens, I usually have a bundle of about 20 pens &lt;/li&gt;    &lt;li&gt;Color Coding Labels, i.e. dots used for voting &lt;/li&gt; &lt;/ul&gt;  &lt;h1&gt;Room Setup&lt;/h1&gt;  &lt;p&gt;Stick up the Category signs around the room.&amp;#160; Be sure to allow enough room for people to walk around and look over each others shoulders.&amp;#160;&amp;#160; These areas get pretty crowded during the Topic\Question and Voting sections.&lt;/p&gt;  &lt;p&gt;Get 4 chairs that you can setup in the center of the room.&amp;#160; This is the &lt;a href="http://en.wikipedia.org/wiki/Fishbowl_(conversation)"&gt;fish bowl&lt;/a&gt; and is where the main discussions will happened once the topics are organized.&amp;#160; This is also a good way to keep the discussion close to microphones if you plan on recording it.&lt;/p&gt;  &lt;h1&gt;Introduction&lt;/h1&gt;  &lt;p&gt;Time: 5 Minutes&lt;/p&gt;  &lt;p&gt;In this section of the event you want to welcome everyone and let them know how the night will go.&amp;#160; You can also ask if any of them are familiar with &lt;a href="http://en.wikipedia.org/wiki/Open_Space_Technology"&gt;Open Space Technology&lt;/a&gt; events.&amp;#160; This is a variation of that formula.&amp;#160; This event is going to be only as good as what the attendees put into it, stress that and let them know they have a critical part to play in making it a success.&amp;#160; &lt;/p&gt;  &lt;h1&gt;Topics\Questions&lt;/h1&gt;  &lt;p&gt;Time: 10 Minutes&lt;/p&gt;  &lt;p&gt;Let them know that you will give them 10 minutes to write down questions or topics they would like to discuss. They don’t have to lead the discussion, just have the need or knowledge to share. Tell them they will need to write down the Topic\Question\Idea on a sticky note and then stick it on the wall under the Category that if best fits into.&amp;#160; The things you want on the sticky notes; The topic/question and who wrote it.&amp;#160; This helps later when you ask them to go over it in more detail and to take a set in the fish bowl to start the discussion.&lt;/p&gt;  &lt;h2&gt;Voting&lt;/h2&gt;  &lt;p&gt;Time: 10 Minutest&lt;/p&gt;  &lt;p&gt;During the voting each person should read over the sticky notes posted and if they feel strongly about a topic they can vote on it by putting one of their dots on it.&amp;#160; Once time is up have everyone return to their sets.&lt;/p&gt;  &lt;h2&gt;Tally&lt;/h2&gt;  &lt;p&gt;Time: 5 Minutes&lt;/p&gt;  &lt;p&gt;Now you need to look over each category and find like items.&amp;#160; Those that are similar or have a common theme and group them together.&amp;#160; Once you finish that make a tally of which sticky notes have the most votes, counting similar themes as a single item.&amp;#160; Organize the sticky notes in order from largest number of votes to smallest.&amp;#160; This is now your agenda for the rest of the event.&amp;#160; You want to do this quickly since everyone else is sitting around waiting, help can make this go faster.&lt;/p&gt;  &lt;h2&gt;The Fish Bowl&lt;/h2&gt;  &lt;p&gt;The fish bowl is where the real discussion happens.&amp;#160; This is also a great way to control the amount of time spent on each topic making sure that everyone topics get a chance to be covered.&amp;#160; Remember the 4 chairs?&amp;#160; Ask the person that wrote the sticky to take a seat.&amp;#160; Explain the fish bowl, only those seated in a chair can comment and one chair must remain empty at all times.&amp;#160; Simple rules but it can make for some confusion.&amp;#160; This is much like Survivor, if someone new shows up (sits in the empty chair) someone must vote themselves off the island (leave their chair).&amp;#160; A great way to wind the discussion down and keep it on time is to pull the empty chair away every 5 minutes.&amp;#160; Remember one chair must remain empty, since the empty chair is gone, someone has to get up.&amp;#160; Continue this until there is one person and one chair left.&amp;#160; When they finish, they have to get up the discussion is over.&lt;/p&gt;  &lt;p&gt;Reset the chairs and start the next topic.&lt;/p&gt;  &lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;This a great open format for experts and those interested in a topic to share information. The events I have hosted in Houston, Dallas, and Tulsa have not only been informative they have been a lot of fun.&amp;#160; You can also get a sponsor to cover food if you want to offer a meal to you attendees.&amp;#160; This is an attendee lead event and the more input you get from them the better the event is.&amp;#160; You job for hosting a Community Leadership Town Hall is well to host.&amp;#160; You are just there to get everyone else talking, and they will just give them the floor and see what happens.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/GDvyEQ3yq_I" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/GDvyEQ3yq_I/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/How-To-Community-Leadership-Town-Hall.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=c19db0d1-0cd1-4b47-a38a-97db1d696186</guid>
      <pubDate>Mon, 27 Aug 2012 18:00:35 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=c19db0d1-0cd1-4b47-a38a-97db1d696186</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=c19db0d1-0cd1-4b47-a38a-97db1d696186</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/How-To-Community-Leadership-Town-Hall.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=c19db0d1-0cd1-4b47-a38a-97db1d696186</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=c19db0d1-0cd1-4b47-a38a-97db1d696186</feedburner:origLink></item>
    <item>
      <title>Northwest Arkansas Techfest Update</title>
      <description>&lt;p&gt;&lt;a href="http://nwatechfest.com/"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TechFest_Splash_400_242" border="0" alt="TechFest_Splash_400_242" src="http://jaysmith.us/image.axd?picture=TechFest_Splash_400_242_2.jpg" width="386" height="233" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;This Friday, August 24, 2012 8:00 AM – 5:00 PM&lt;/h1&gt;  &lt;p&gt;I will be presenting two sessions at this years Northwest Arkansas Techfest.&amp;#160; If you haven’t already head on over to &lt;a href="http://nwatechfest.com"&gt;http://nwatechfest.com&lt;/a&gt; and register.&amp;#160; This year is looking like it will be even bigger than events in the past.&amp;#160; Go out and support your local technology conference and help make this an awesome event.&lt;/p&gt;  &lt;p&gt;Here is the information about the sessions I will be presenting.&lt;/p&gt;  &lt;h3&gt;0 to 60 With Highway.Data&lt;/h3&gt;  &lt;p&gt;In this session we will take an look at Highway.Data and how it makes it easy to get up and running with Entity Framework. &lt;em&gt;Highway.Data&lt;/em&gt; is part of the Highway Framework being developed by Tim Rayburn and Devlin Liles. This framework pulls together all the best practices of their Entity Framework 4.1 Expert's Cookbook book into a framework that makes consuming data much easier. This session will cover the newly release version 2.0 of Highway.Data. &lt;/p&gt;  &lt;p&gt;Track: Big and Small Data    &lt;br /&gt;Time: 1:00 PM&lt;/p&gt;  &lt;h3&gt;Domain Eventing, Using Domain Events to create more composable applications.&lt;/h3&gt;  &lt;p&gt;In this session I will present a strategy I have implemented for using events in the domain model to make applications more composable. Domain Events allow you define system events and then implement handlers that take action when those events occur.&lt;/p&gt;  &lt;p&gt;Track: Advanced Development    &lt;br /&gt;Time: 2:00 PM&lt;/p&gt;  &lt;p&gt;I’d love to have you stop my one of my sessions and give feedback on the content and direction.&amp;#160; Each of my sessions is already or working toward creating a reusable library that will be made available via &lt;a href="http://nuget.org" target="_blank"&gt;nuget&lt;/a&gt;.&amp;#160; So, your input at this stage can influence future releases.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/rS8_g16qgn4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/rS8_g16qgn4/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Northwest-Arkansas-Techfest-Update.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=2c4fee0f-24d4-4016-98e2-1ececff6f90b</guid>
      <pubDate>Tue, 21 Aug 2012 12:18:40 -0400</pubDate>
      <category>General</category>
      <category>Presentations</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=2c4fee0f-24d4-4016-98e2-1ececff6f90b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=2c4fee0f-24d4-4016-98e2-1ececff6f90b</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Northwest-Arkansas-Techfest-Update.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=2c4fee0f-24d4-4016-98e2-1ececff6f90b</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=2c4fee0f-24d4-4016-98e2-1ececff6f90b</feedburner:origLink></item>
    <item>
      <title>User Group Radio Fades into the Sunset!</title>
      <description>&lt;p&gt;Several years ago I started a podcast with the goal of interviewing community leaders and sponsors help get the word out about best practices and how a community leader could connect with potential sponsors.&amp;#160; I know sounds like a good idea, right?&amp;#160; Well truth be told I&amp;#160; found I don’t have the discipline or time to dedicate to create a quality show so after only a few shows they stopped.&amp;#160;&amp;#160; I have kept the site up in the hopes that I would be motivated to get back to it.&amp;#160; But there have developments in my life over the last year that have pulled me further away from community.&amp;#160; The User Group Radio domain is about to expire and I am going to let it.&amp;#160; &lt;/p&gt;  &lt;p&gt;So, as User Group Radio fades into the sunset a chapter is closed on my community involvement.&amp;#160; Who knows what the future holds.&amp;#160; I still believe that there is a need for community leaders to be able to share best practices with each other to ease the pain of onboarding new leaders but also have come to the reality that community leaders have precious little time to dedicate to these efforts.&amp;#160; &lt;/p&gt;  &lt;p&gt;Thanks to those who allowed me the privilege of interviewing you and I apologize to those who I interviewed that the show never was released.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/bLXkGOJyCk0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/bLXkGOJyCk0/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/User-Group-Radio-Fades-into-the-Sunset!.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=d66ca556-29d7-4539-bc51-0428e59b2d2d</guid>
      <pubDate>Thu, 05 Jul 2012 18:01:52 -0400</pubDate>
      <category>User Group Radio</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=d66ca556-29d7-4539-bc51-0428e59b2d2d</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=d66ca556-29d7-4539-bc51-0428e59b2d2d</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/User-Group-Radio-Fades-into-the-Sunset!.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=d66ca556-29d7-4539-bc51-0428e59b2d2d</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=d66ca556-29d7-4539-bc51-0428e59b2d2d</feedburner:origLink></item>
    <item>
      <title>SQL Saturday Oklahoma City August 25, 2012</title>
      <description>&lt;p&gt;&lt;a href="http://www.sqlsaturday.com/125/eventhome.aspx" target="_blank"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="sqlsat125_web" border="0" alt="sqlsat125_web" src="http://jaysmith.us/image.axd?picture=sqlsat125_web.png" width="312" height="152" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;August 25, 2012 – Oklahoma City, OK&lt;/h2&gt;  &lt;p&gt;And the events keep rolling! Kristin Ferrier just emailed me regarding SQL Saturday Oklahoma City.&amp;#160; Here are the details…&lt;/p&gt;  &lt;p&gt;SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. &lt;/p&gt;  &lt;p&gt;This event will be held &lt;strong&gt;August 25, 201&lt;/strong&gt;2 at &lt;strong&gt;13301 South Pennsylvania Avenue, Oklahoma City, OK 73170&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;Admittance to this event is free, but we do charge a &lt;em&gt;lunch fee of $10.00 (optional)&lt;/em&gt; so that we can provide a lunch - not pizza!&amp;#160; Also, please understand that lunch fees are not refundable and that any left over food will be donated. &lt;/p&gt;  &lt;p&gt;Register soon, as seating is limited, and let friends and colleagues know about the event.&lt;/p&gt;  &lt;p&gt;For more information about Speakers, Sessions, and to register visit the &lt;a href="http://www.sqlsaturday.com/125/eventhome.aspx" target="_blank"&gt;SQL Saturday OKC&lt;/a&gt; site.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/JpnmWpm4Bns" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/JpnmWpm4Bns/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/SQL-Saturday-Oklahoma-City-August-25-2012.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=703db253-edf8-42fd-8a04-31927a68a70e</guid>
      <pubDate>Fri, 22 Jun 2012 12:53:21 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=703db253-edf8-42fd-8a04-31927a68a70e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=703db253-edf8-42fd-8a04-31927a68a70e</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/SQL-Saturday-Oklahoma-City-August-25-2012.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=703db253-edf8-42fd-8a04-31927a68a70e</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=703db253-edf8-42fd-8a04-31927a68a70e</feedburner:origLink></item>
    <item>
      <title>Northwest Arkansas TechFest August 24, 2012</title>
      <description>&lt;div&gt;&lt;a href="http://jaysmith.us/image.axd?picture=TechFest_Splash_400_242_1.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="TechFest_Splash_400_242" border="0" alt="TechFest_Splash_400_242" src="http://jaysmith.us/image.axd?picture=TechFest_Splash_400_242_thumb_1.jpg" width="386" height="233" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;h1&gt;August 24, 2012&amp;#160; 8:15 AM – 5:00 PM    &lt;br /&gt;University of Arkansas Global Campus Fayetteville, AR&lt;/h1&gt;  &lt;p&gt;Mark Brandon, directory of NWA TechFest 2012, has announced that the next installment of the Northwest Arkansas TechFest will be on August 24, 2012 at the University of Arkansas Global Campus in downtown Fayetteville, AR.&amp;#160; The event is currently seeking speakers, sponsors, and attendees.&lt;/p&gt;  &lt;p&gt;Topic areas for this years event are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Advanced Development &lt;/li&gt;    &lt;li&gt;Mobile Development &lt;/li&gt;    &lt;li&gt;Big and Small Data &lt;/li&gt;    &lt;li&gt;Collaboration/Content Management &lt;/li&gt;    &lt;li&gt;IT Pro &lt;/li&gt;    &lt;li&gt;UI/UX Design &lt;/li&gt;    &lt;li&gt;Cloud &lt;/li&gt;    &lt;li&gt;Tech Entrepreneurship Resources in NWA &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can follow the Northwest Arkansas TechFest on LinkedIn, Facebook, Twitter, or &lt;a href="http://nwatechfest.com"&gt;http://nwatechfest.com&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you are a speaker and interested in submitted topics you can do so via the “Call for Speakers OPEN!” link on the &lt;a href="http://nwatechfest.com"&gt;http://nwatechfest.com&lt;/a&gt; home page.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/Sa0w9SIf7VM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/Sa0w9SIf7VM/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Northwest-Arkansas-TechFest-August-24-2012.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=4dcb7b49-0939-4652-81de-566fe795ca73</guid>
      <pubDate>Fri, 22 Jun 2012 10:15:02 -0400</pubDate>
      <category>General</category>
      <category>Community</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=4dcb7b49-0939-4652-81de-566fe795ca73</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=4dcb7b49-0939-4652-81de-566fe795ca73</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Northwest-Arkansas-TechFest-August-24-2012.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=4dcb7b49-0939-4652-81de-566fe795ca73</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=4dcb7b49-0939-4652-81de-566fe795ca73</feedburner:origLink></item>
    <item>
      <title>Dallas TechFest 2012 Call For Speakers</title>
      <description>&lt;p&gt;Teresa Burger announced the Dallas Techfest 2012 call for speakers.&amp;#160; The event will be held on August 24th and 25th, 2012 at the University of Texas at Dallas.&amp;#160; Same location as last year.&amp;#160; If you are interested in speaking contact Teresa Burger &lt;a href="mailto:t.burger@live.com"&gt;t.burger@live.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I am sure there will be future announcements for attendees so stay tuned.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/F8CvfXV7_nc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/F8CvfXV7_nc/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Dallas-TechFest-2012-Call-For-Speakers.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=8bdeeed6-5b51-441b-948e-e06799f72db6</guid>
      <pubDate>Thu, 21 Jun 2012 15:22:47 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=8bdeeed6-5b51-441b-948e-e06799f72db6</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=8bdeeed6-5b51-441b-948e-e06799f72db6</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Dallas-TechFest-2012-Call-For-Speakers.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=8bdeeed6-5b51-441b-948e-e06799f72db6</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=8bdeeed6-5b51-441b-948e-e06799f72db6</feedburner:origLink></item>
    <item>
      <title>Suppress All Upper Case In Visual Studio 2012</title>
      <description>&lt;p&gt;Richard Banks has posted a solution to make Visual Studio 2012 stop yelling at you.&amp;#160; In his post titles “&lt;a href="http://www.richard-banks.org/2012/06/how-to-prevent-visual-studio-2012-all.html"&gt;How To Prevent Visual Studio 2012 ALL CAPS Menus!&lt;/a&gt;” he gives you the registry key to create to make them normal again.&amp;#160; Thank you Richard!&lt;/p&gt;  &lt;p&gt;I have created a registry file to import to make the task easier.    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:b44f9319-ed30-4b06-ba3b-6bf83cc3201c" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://jaysmith.us/file.axd?file=VS2010_SuppressUppercaseConversion.reg" target="_self"&gt;VS2010_SuppressUppercaseConversion.reg&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/LXjRmsC58JQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/LXjRmsC58JQ/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Suppress-All-Upper-Case-In-Visual-Studio-2012.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=fdd3bc2f-3113-47b8-be2c-e168c7ff614b</guid>
      <pubDate>Thu, 07 Jun 2012 12:21:57 -0400</pubDate>
      <category>Visual Studio</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=fdd3bc2f-3113-47b8-be2c-e168c7ff614b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=fdd3bc2f-3113-47b8-be2c-e168c7ff614b</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Suppress-All-Upper-Case-In-Visual-Studio-2012.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=fdd3bc2f-3113-47b8-be2c-e168c7ff614b</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=fdd3bc2f-3113-47b8-be2c-e168c7ff614b</feedburner:origLink></item>
    <item>
      <title>Getting Started with RoundTable: Squire</title>
      <description>&lt;p&gt;This blog is part of a series on getting started with RoundTable: Squire and covers getting everything installed.&amp;nbsp; The next post in the series will walk you through the steps necessary to use Squire to start learning the C# programming language.&lt;/p&gt;
&lt;h1&gt;What is Squire?&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://roundtablecraftsmen.net/Squire/" target="_blank"&gt;Squire&lt;/a&gt; is a &lt;a href="http://roundtablecraftsmen.net/" target="_blank"&gt;Round Table&lt;/a&gt; project that was created as a learning tool for those new to C# development. It is used as part of the &lt;a href="http://roundtablecraftsmen.net/" target="_blank"&gt;Round Table&lt;/a&gt; training approach much like Katas in martial arts. Squire uses &lt;a href="http://en.wikipedia.org/wiki/Kihon" target="_blank"&gt;Kihons&lt;/a&gt;, a Japanese term meaning &amp;ldquo;Basics&amp;rdquo; or &amp;ldquo;Fundamentals&amp;rdquo; to provide repeatable exercises that help you learn the C# language.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://roundtablecraftsmen.net/" target="_blank"&gt;Round Table&lt;/a&gt; Members believe that mentoring is central to learning, and even though working with Squire alone can certainly help you get a jump start with learning programming with C# we believe that establishing a relationship with a mentor is the best way to accelerate your learning.&amp;nbsp; &lt;a href="http://roundtablecraftsmen.net/" target="_blank"&gt;Round Table Craftsman&lt;/a&gt; is not only about practicing techniques, but is also about fostering the correct sprit and attitude to develop a well rounded technical expert.&lt;/p&gt;
&lt;h3&gt;Steps to get started:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href="http://www.icsharpcode.net/OpenSource/SD/" target="_blank"&gt;SharpDevelop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href="http://nunit.org/" target="_blank"&gt;nUnit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Download &lt;a href="https://github.com/roundtable/Squire/zipball/master" target="_blank"&gt;Squire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Start Learning&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Install SharpDevelop&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://www.icsharpcode.net/OpenSource/SD/" target="_blank"&gt;SharpDevelop&lt;/a&gt; is a free integrated development environment (IDE) for C#, VB.NET and Boo projects on the Microsoft&amp;rsquo;s .NET platform.&amp;nbsp; The &lt;a href="http://roundtablecraftsmen.net/" target="_blank"&gt;Round Table&lt;/a&gt; team chose &lt;a href="http://www.icsharpcode.net/OpenSource/SD/" target="_blank"&gt;SharpDevelop&lt;/a&gt; because it is free, and integrates with nUnit and is a full development environment.&amp;nbsp; This lowered the barriers of entry, mainly cost for those interested in learning programming with C#.&lt;/p&gt;
&lt;p&gt;Download &lt;a href="http://www.icsharpcode.net/OpenSource/SD/Download/" target="_blank"&gt;SharpDevelop&lt;/a&gt; and install it with the typical settings.&amp;nbsp; At the time of this post the current version is 4.2 RC.&lt;/p&gt;
&lt;h1&gt;Install nUnit&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://nunit.org/" target="_blank"&gt;nUnit&lt;/a&gt; is a unit-testing framework for all .NET languages which was initially ported from &lt;a href="http://www.junit.org/" target="_blank"&gt;JUnit&lt;/a&gt;.&amp;nbsp; &lt;a href="http://nunit.org/" target="_blank"&gt;nUnit&lt;/a&gt; integrates directly with &lt;a href="http://www.icsharpcode.net/OpenSource/SD/" target="_blank"&gt;SharpDevelop&lt;/a&gt; allowing you to execute the test and see the results without leaving the &lt;a href="http://www.icsharpcode.net/OpenSource/SD/" target="_blank"&gt;SharpDevelop IDE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Download &lt;a href="http://nunit.org/index.php?p=download" target="_blank"&gt;nUnit&lt;/a&gt; and install it with the typical settings.&amp;nbsp; At the time of this post the current version is 2.6.&lt;/p&gt;
&lt;h1&gt;Get a Copy of Squire&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/roundtable/Squire/zipball/master" target="_blank"&gt;Download Squire&lt;/a&gt; and extract it to a location on your hard drive.&lt;/p&gt;
&lt;h1&gt;Start Learning&lt;/h1&gt;
&lt;p&gt;Ok, that&amp;rsquo;s it, you now have all the tools installed necessary to start learning the C# programming language using Squire.&amp;nbsp; The next post in this series will cover opening the Squire solution and running through an exercise (kihon).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/Rgz_6qiRW0U" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/Rgz_6qiRW0U/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Getting-Started-with-RoundTable-Squire.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=70db6feb-9e58-43d4-9526-3f554f3dcc62</guid>
      <pubDate>Wed, 23 May 2012 10:53:00 -0400</pubDate>
      <category>RoundTable</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=70db6feb-9e58-43d4-9526-3f554f3dcc62</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=70db6feb-9e58-43d4-9526-3f554f3dcc62</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Getting-Started-with-RoundTable-Squire.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=70db6feb-9e58-43d4-9526-3f554f3dcc62</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=70db6feb-9e58-43d4-9526-3f554f3dcc62</feedburner:origLink></item>
    <item>
      <title>Nwa .NET User Group May Meeting: Powershell for Developers</title>
      <description>&lt;p&gt;&lt;a href="http://nwadnug.org"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="nwadnug" border="0" alt="nwadnug" align="left" src="http://jaysmith.us/image.axd?picture=nwadnug.png" width="109" height="108" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The next Northwest Arkansas .Net User Group meeting will be held May 8, 2012 at 6:00 PM at &lt;strong&gt;Rockfish&lt;/strong&gt; in Rogers. Jon Parker will be presenting on PowerShell for Developers.&lt;/p&gt;  &lt;p&gt;Please RSVP before noon on May 8th so we can order enough food for everyone.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;New Location:&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Rockfish&lt;/strong&gt;       &lt;br /&gt;&lt;strong&gt;3100 MARKET ST. SUITE 100 &lt;/strong&gt;      &lt;br /&gt;&lt;/font&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;ROGERS, AR 72758&lt;/font&gt; &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Meeting Information&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Title: PowerShell for Developers&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;About the Presenter: Jon Parker&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Jon has been programming since 2001 at BYU-Idaho. He discovered .Net in 2003 and hasn’t looked back since. While Jon started out with web programming, his current passion is tweaking applications for speed. Jon boasts taking a 30 min Unix C process to .Net that now runs in &amp;lt; 3 min.&lt;/p&gt;  &lt;p&gt;Jon is currently employed at Wal-Mart Stores Inc. He is married and has 1 child. In his spare time he codes (of course) and builds tree houses.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;6:00 PM - 6:15 PM - Welcome and News, Sign-in and Food    &lt;br /&gt;6:15 PM - 8:10 PM - Main Presentation     &lt;br /&gt;8:10 PM - 8:30 PM - Closing and Prize give-a-ways&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Where&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Rockfish    &lt;br /&gt;3100 MARKET ST. SUITE 100     &lt;br /&gt;ROGERS, AR 72758&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/KhTO_mYHdIM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/KhTO_mYHdIM/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Nwa-NET-User-Group-May-Meeting-Powershell-for-Developers.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=2b6710a8-0613-4008-8f8a-bbee23a86399</guid>
      <pubDate>Fri, 04 May 2012 09:40:38 -0400</pubDate>
      <category>Community</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=2b6710a8-0613-4008-8f8a-bbee23a86399</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=2b6710a8-0613-4008-8f8a-bbee23a86399</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Nwa-NET-User-Group-May-Meeting-Powershell-for-Developers.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=2b6710a8-0613-4008-8f8a-bbee23a86399</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=2b6710a8-0613-4008-8f8a-bbee23a86399</feedburner:origLink></item>
    <item>
      <title>Tech Adventure Club In NWA</title>
      <description>&lt;p&gt;Send you kids to camp, &lt;a href="http://techadventureclub.com/" target="_blank"&gt;Tech Adventure Camp!&lt;/a&gt;&amp;#160; A college of mine has put together an awesome tech camp for kids.&amp;#160; They will be learning Web Development, Programming with Python, and Graphic Design over a three week period.&amp;#160; If you children (ages 7 to 16) are interested in technology then check the &lt;a href="http://techadventureclub.com/" target="_blank"&gt;Tech Adventure Club&lt;/a&gt; out.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/vp4__MGQx38" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/vp4__MGQx38/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Tech-Adventure-Club-In-NWA.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=6c43f9bb-339c-4374-b02e-dc79d1262273</guid>
      <pubDate>Tue, 01 May 2012 08:55:54 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=6c43f9bb-339c-4374-b02e-dc79d1262273</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=6c43f9bb-339c-4374-b02e-dc79d1262273</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Tech-Adventure-Club-In-NWA.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=6c43f9bb-339c-4374-b02e-dc79d1262273</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=6c43f9bb-339c-4374-b02e-dc79d1262273</feedburner:origLink></item>
    <item>
      <title>Tulsa School of Dev 2012</title>
      <description>&lt;p&gt;&lt;a href="http://tulsaschoolofdev.com/" target="_blank"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" border="0" alt="Tulsa School of Dev 2012   (Please Pick Only One Track)" src="http://ebmedia.eventbrite.com/s3-s3/eventlogos/4109784/3034996757-2.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;Friday, April 13th, 2010&lt;/h1&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Topics include:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WCF Web HTML5 Gov2.0 &lt;/li&gt;    &lt;li&gt;ESB /SOA Architecture .NET &lt;/li&gt;    &lt;li&gt;SQL Server Entity Framework &lt;/li&gt;    &lt;li&gt;WordPress Javascript &lt;/li&gt;    &lt;li&gt;Windows Phone Windows 8 Metro &lt;/li&gt;    &lt;li&gt;Netduino Fez Panda &lt;/li&gt;    &lt;li&gt;and more…&lt;/li&gt; &lt;/ul&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="200" bgcolor="#000000"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="200"&gt;         &lt;p align="center"&gt;&lt;font color="#ffffff" size="4"&gt;&lt;strong&gt;&lt;a href="http://tulsadevelopers.us2.list-manage2.com/track/click?u=1de2d58fedb73439fa3699e77&amp;amp;id=a488174dc3&amp;amp;e=93bb059023" target="_blank"&gt;Register Now&lt;/a&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Some tracks have prerequisites. Please check the details of your selected track for more information.With the Windows 8 and MicroElectronics tracks you will need to install and/or buy items before coming to conference. Check your tracks at &lt;a href="http://tulsadevelopers.us2.list-manage1.com/track/click?u=1de2d58fedb73439fa3699e77&amp;amp;id=aa8966af87&amp;amp;e=93bb059023"&gt;Tulsa School of Dev website&lt;/a&gt; for more information. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/I7LB24jirQo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/I7LB24jirQo/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Tulsa-School-of-Dev-2012.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=af81a376-3b6a-46e9-8bc3-9163bacc28ec</guid>
      <pubDate>Tue, 03 Apr 2012 12:10:53 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=af81a376-3b6a-46e9-8bc3-9163bacc28ec</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=af81a376-3b6a-46e9-8bc3-9163bacc28ec</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Tulsa-School-of-Dev-2012.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=af81a376-3b6a-46e9-8bc3-9163bacc28ec</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=af81a376-3b6a-46e9-8bc3-9163bacc28ec</feedburner:origLink></item>
    <item>
      <title>Microsoft Releases Windows 8 Consumer Preview</title>
      <description>&lt;p&gt;Today Microsoft has released a consumer preview of the Windows 8, the next version of the Windows Operating System.&amp;nbsp; &lt;a href="http://windows.microsoft.com/en-US/windows-8/download" target="_blank"&gt;Download the Windows 8 Consumer Preview here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://windows.microsoft.com/en-US/windows-8/download"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; padding-top: 0px; border-width: 0px;" title="Win8Start" src="http://jaysmith.us/image.axd?picture=Win8Start_2.png" alt="Win8Start" width="604" height="341" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Microsoft Developer Evangelist &lt;a href="http://blogs.msdn.com/b/jennifer/"&gt;Jennifer Marsman&lt;/a&gt; has posted an &lt;a href="http://blogs.msdn.com/b/jennifer/archive/2012/02/29/windows-8-consumer-preview-is-out.aspx"&gt;awesome list of resources to help you get started developing applications for Windows 8&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have also gathered some useful links for Windows 8 on &lt;a title="http://delicious.com/jay.smith/Win8" href="http://delicious.com/jay.smith/Win8"&gt;http://delicious.com/jay.smith/Win8&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/8C20igDtG8k" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/8C20igDtG8k/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Microsoft-Releases-Windows-8-Consumer-Preview.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=ae4ace0f-6ad2-42de-92aa-486570718b4d</guid>
      <pubDate>Wed, 29 Feb 2012 12:40:00 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=ae4ace0f-6ad2-42de-92aa-486570718b4d</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=ae4ace0f-6ad2-42de-92aa-486570718b4d</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Microsoft-Releases-Windows-8-Consumer-Preview.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=ae4ace0f-6ad2-42de-92aa-486570718b4d</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=ae4ace0f-6ad2-42de-92aa-486570718b4d</feedburner:origLink></item>
    <item>
      <title>Nwa GiveCamp 2012 - March 30, 2012 to April 1, 2012</title>
      <description>&lt;h2&gt;&lt;a href="http://nwagivecamp.com"&gt;&lt;img style="margin: 0px 5px 0px 0px; display: inline; float: left" title="NwaGiveCampLogo" border="0" alt="NwaGiveCampLogo" align="left" src="http://jaysmith.us/JaySmith/image.axd?picture=NwaGiveCampLogo.png" width="240" height="147" /&gt;&lt;/a&gt; The 2nd Annual Northwest Arkansas GiveCamp is on it’s way.&lt;/h2&gt;  &lt;p&gt;This year it will be from March 30, 2012 to April 1, 2012 and will be hosted at the Center for NonProfits located in Rogers, AR.&lt;/p&gt;  &lt;h3&gt;What is a GiveCamp?&lt;/h3&gt;  &lt;p&gt;GiveCamp is a weekend-long event where software developers, designers, and database administrators donate their time to create custom software for non-profit organizations. This custom software could be a new website for the nonprofit organization, a small data-collection application to keep track of members, or a application for the Red Cross that automatically emails a blood donor three months after they’ve donated blood to remind them that they are now eligible to donate again. The only limitation is that the project should be scoped to be able to be completed in a weekend.&lt;/p&gt;  &lt;p&gt;During GiveCamp, developers are welcome to go home in the evenings or camp out all weekend long. There are usually food and drink provided at the event. There are sometimes even game systems set up for when you and your need a little break! Overall, it’s a great opportunity for people to work together, developing new friendships, and doing something important for their community.&lt;/p&gt;  &lt;p&gt;At GiveCamp, there is an expectation of “What Happens at GiveCamp, Stays at GiveCamp”. Therefore, all source code must be turned over to the charities at the end of the weekend (developers cannot ask for payment) and the charities are responsible for maintaining the code moving forward (charities cannot expect the developers to maintain the codebase).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Participating in NWA Give Camp last year was perhaps the most exciting professional experience of my life. The creativity, energy, commitment, and talent were inspiring! The recipient charities were so grateful and excited to see their projects being born. &lt;/p&gt;    &lt;p&gt;Join us this year for an experience you won’t forget! The food is pretty good, too! Karen – System Analyst&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Get Involved!&lt;/h3&gt;  &lt;p&gt;Attending a GiveCamp is a great way to give back to the community in a way that impacts in a huge way.&amp;#160; For a single weekends efforts you could be the difference in a charity being able to achieve it’s goal for the year, or even the foreseeable future.&amp;#160;&amp;#160; You can volunteer at &lt;a href="http://nwagivecamp.org"&gt;http://nwagivecamp.org&lt;/a&gt;, better yet build a team and adopt a charity.&amp;#160; Challenge other departments in your company to get more people involved and make it fun.&amp;#160; I guarantee this will be one of the most rewarding weekends you have experienced as a technical professional.&amp;#160; You can make a difference! &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/DxOvt-kKVg4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/DxOvt-kKVg4/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Nwa-GiveCamp-2012-March-30-2012-to-April-1-2012.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=893513fb-6f05-49ea-b119-20edefc005d2</guid>
      <pubDate>Mon, 13 Feb 2012 08:54:00 -0400</pubDate>
      <category>Community</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=893513fb-6f05-49ea-b119-20edefc005d2</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=893513fb-6f05-49ea-b119-20edefc005d2</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Nwa-GiveCamp-2012-March-30-2012-to-April-1-2012.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=893513fb-6f05-49ea-b119-20edefc005d2</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=893513fb-6f05-49ea-b119-20edefc005d2</feedburner:origLink></item>
    <item>
      <title>Arkansas User Group Meetings–February 2012</title>
      <description>&lt;p&gt;Here is the listing of all the User Group meeting in February 2012 that I know of.&amp;#160; If you know of a User Group meeting in the area please add to the comments.&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://lrdnug.org" target="_blank"&gt;Little Rock .NET User Group&lt;/a&gt;&lt;/h2&gt;  &lt;h3&gt;Exploring iOS Development - Chris Varn&lt;/h3&gt;  &lt;p&gt;Mobile development is a necessity to stay relevant in today’s day and age. iOS, along with Android, is the leading platform for mobile development. Join us as we discuss the mobile landscape and where iOS fits. We will explore the differences between Objective-C and C# and what it takes to get started in iOS development. We will then go through the process of writing an app.&lt;/p&gt;  &lt;p&gt;When: February 9, 2012 – 6:00 PM   &lt;br /&gt;Where:&amp;#160; &lt;a href="http://g.co/maps/g5yj6" target="_blank"&gt;Pulaski Technical College - Lecture Room B Campus Center - 3000 West Scenic Drive North Little Rock, AR 72118&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://fsdnug.org" target="_blank"&gt;Fort Smith .NET User Group&lt;/a&gt;&amp;#160;&lt;/h2&gt;  &lt;h3&gt;Ruby on Rails on Windows – Taylor Otwell&lt;/h3&gt;  &lt;p&gt;If you're a Windows person, getting started with Rails hasn't always been easy. Thankfully, that has changed! We'll quickly walk through installing Ruby, Rails, and Git on your machine. Then, we'll take a look at some of the slick features of the Ruby on Rails web framework while making a few comparisons to ASP.NET MVC. Finally, we'll deploy a simple application to the cloud using Git and Heroku! &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;New Location: ABF General Office&lt;/em&gt;&lt;/strong&gt;     &lt;br /&gt;When: February 13, 2012 – 6:00 PM    &lt;br /&gt;Where: &lt;a href="http://g.co/maps/s25ha" target="_blank"&gt;ABF General Office - 3801 Old Greenwood Rd Fort Smith, AR 72903&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;&lt;a href="http://nwapmi.org/" target="_blank"&gt;Northwest Arkansas Project Management Institute&lt;/a&gt;&lt;/h2&gt;  &lt;p&gt;The Art of Stakeholder Management – James T. Brown Ph.D, PMP, PE, CSP, President SEBA Solutions Inc.&lt;/p&gt;  &lt;p&gt;Great project managers know that success goes beyond the triple constraint deliverables and includes managing stakeholder expectations. Three aspects of managing stakeholder expectations are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Know your stakeholders&lt;/li&gt;    &lt;li&gt;Know what you are supposed to deliver from the perspective of the stakeholder&lt;/li&gt;    &lt;li&gt;Hold your stakeholders accountable to the realities of the project (regardless of the position of the stakeholder, the attitude of the stakeholder, or the availability of the stakeholder).&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;This presentation provides tactics to identify, herd and lead stakeholders to ensure a successful project deliverable with minimum project manager stress level.&lt;/p&gt;  &lt;p&gt;When: February 20, 2012 – 6:00 PM   &lt;br /&gt;Where: &lt;a href="http://g.co/maps/43uxh" target="_blank"&gt;NWACC Jack Shewmaker Center – 1100 SE Eagle Way Bentonville, AR 72712&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://nwadnug.org" target="_blank"&gt;Northwest Arkansas .NET User Group&lt;/a&gt;&lt;/h2&gt;  &lt;h3&gt;Model-View Patterns: Making Sense of MVC, MVP and MVVM – Rob Vetter&lt;/h3&gt;  &lt;p&gt;The separation enforced by 'Model View' patterns can quickly transform your application into a maintainable, modular and rapidly developed package. New features are easily added, new screens are a snap, testing is enhanced and developers and designers can more easily work simultaneously.&lt;/p&gt;  &lt;p&gt;Come compare the Model-View-Controller (MVC), Model-View-Presenter (MVP) and Model-View-View-Model (MVVM) patterns. In this session, we'll...&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Explore the foundation, benefits and drawbacks of each pattern at an architectural level &lt;/li&gt;    &lt;li&gt;Contrast differences between each pointing out applicable situations where each may apply &lt;/li&gt;    &lt;li&gt;Walk through a variety of examples on the Microsoft platform, including Microsoft MVC, ASP.Net, Silverlight and Windows Presentation Foundation &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;&lt;/ul&gt;  &lt;p&gt;You'll walk away with a clear understanding of each pattern, with examples that you can implement in your projects.&lt;/p&gt;  &lt;p&gt;When: February 28, 2012 – 6:00 PM   &lt;br /&gt;Where:&amp;#160; &lt;a href="http://g.co/maps/nvvd7" target="_blank"&gt;University of Phoenix -&amp;#160; 1800 S. 52nd St, Suite 100 Rogers, AR 72758&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;&lt;a href="http://nwarkansas.sqlpass.org/" target="_blank"&gt;Northwest Arkansas SQL Server User Group&lt;/a&gt;&lt;/h2&gt;  &lt;h3&gt;Entity Framework for DBA’s – Rob Vetter&lt;/h3&gt;  &lt;p&gt;While most enterprise applications are object-oriented, the data upon which they depend is not. Often, binding these two platforms together can result in significant amounts of lost productivity and a less than optimal solution.&lt;/p&gt;  &lt;p&gt;To resolve these shortcomings, Microsoft has created the ADO.NET Entity Framework and is now strongly recommending that development teams implement it in their applications.&lt;/p&gt;  &lt;p&gt;As a DBA, you’ll need to understand how the Entity Framework works and how it affects your role as a DBA.    &lt;br /&gt;In this session, we’ll…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Explore the Entity Framework 4.0, its related components and show how it all works &lt;/li&gt;    &lt;li&gt;Demonstrate the various ways to build a business object model (Entity Data Model) and map it to an underlying database &lt;/li&gt;    &lt;li&gt;Walk through a variety of examples of how to interact with the model, including LINQ, Entity SQL and Stored Procedures &lt;/li&gt;    &lt;li&gt;Show how the Entity Framework can generate select, insert, update and delete SQL statements on the fly &lt;/li&gt;    &lt;li&gt;Explore the Entity Framework’s impact on permissions, connections, transactions, performance, security and concurrency &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You’ll walk-away with a clear understanding of how the Entity Framework 4.0 works, why developers and architects want to implement it and how it affects your role as a DBA.&lt;/p&gt;  &lt;p&gt;When: February 29, 2012 - 11:30 AM – 1:00 PM   &lt;br /&gt;Where: &lt;a href="http://g.co/maps/nvvd7" target="_blank"&gt;University of Phoenix - 1800 S. 52nd St, Suite 100 Rogers, AR 72758&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/yGHl5IVihj0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/yGHl5IVihj0/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Arkansas-User-Group-Meetings–February-2012.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=10d50e78-278a-43ce-96e3-5661b88dea54</guid>
      <pubDate>Fri, 10 Feb 2012 14:44:30 -0400</pubDate>
      <category>Community</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=10d50e78-278a-43ce-96e3-5661b88dea54</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=10d50e78-278a-43ce-96e3-5661b88dea54</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Arkansas-User-Group-Meetings–February-2012.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=10d50e78-278a-43ce-96e3-5661b88dea54</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=10d50e78-278a-43ce-96e3-5661b88dea54</feedburner:origLink></item>
    <item>
      <title>LINQ: Exception, Null or Object?</title>
      <description>&lt;p&gt;I have run into a problem.&amp;#160; LINQ didn’t behave as I had expected when trying to query an object from a list.&amp;#160; So I set out to figure out what I didn’t know.&amp;#160; Turns out I am not alone in this since I have been asked about it several times. This post&amp;#160; will look at what you can expect to happen when you query a list of objects that does not contain the item you are looking for.&amp;#160; This can produce three different outcomes depending on the way you approach it.&amp;#160; You will either get an exception, a null object or an empty object.&lt;/p&gt;  &lt;p&gt;Before we begin we need a class to give us some useful data to query against.&lt;/p&gt;  &lt;p&gt;I created a real simple Item object with just an id and name, as well as, a simple class to build up a IQueryable&amp;lt;Item&amp;gt; for us to run some LINQ queries against.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Item&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Id { get; set; }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ItemData&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; IQueryable&amp;lt;Item&amp;gt; GetItems()&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            var users = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;Item&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;new&lt;/span&gt; Item {Id=1, Name = &lt;span class="str"&gt;&amp;quot;Item 1&amp;quot;&lt;/span&gt;},&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;new&lt;/span&gt; Item {Id=2, Name = &lt;span class="str"&gt;&amp;quot;Item 2&amp;quot;&lt;/span&gt;},&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;new&lt;/span&gt; Item {Id=3, Name = &lt;span class="str"&gt;&amp;quot;Item 3&amp;quot;&lt;/span&gt;},&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;new&lt;/span&gt; Item {Id=4, Name = &lt;span class="str"&gt;&amp;quot;Item 4&amp;quot;&lt;/span&gt;},&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;new&lt;/span&gt; Item {Id=5, Name = &lt;span class="str"&gt;&amp;quot;Item 5&amp;quot;&lt;/span&gt;},&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                };&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; users.AsQueryable();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;

&lt;h2&gt;&amp;#160;&lt;/h2&gt;

&lt;h2&gt;Single&lt;/h2&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var single = items.Single(x =&amp;gt; x.Id == 10);&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;Single&lt;/strong&gt; &lt;a title="MSDN Documentation" href="http://msdn.microsoft.com/library/system.linq.enumerable.single.aspx" target="_blank"&gt;returns the single, specific item from a sequence&lt;/a&gt; of values that matches your query.&amp;#160; Single throws an exception if there is not exactly one element in the sequence.&amp;#160; In my testing when looking for an item not in the sequence it threw &lt;em&gt;[System.InvalidOperationException] = {&amp;quot;Sequence contains no matching element&amp;quot;}.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Single with DefaultIfEmpty&lt;/h2&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var singleDefaultIfEmtpy = items.DefaultIfEmpty(&lt;span class="kwrd"&gt;new&lt;/span&gt; Item()).Single(x =&amp;gt; x.Id == 10);&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;So what changes of we add the .DefaultIfEmpty(new Item()) to the query?&amp;#160; None at all, it still throws &lt;em&gt;[System.InvalidOperationException] = {&amp;quot;Sequence contains no matching element&amp;quot;}.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;SingleOrDefault&lt;/h2&gt;

&lt;div class="csharpcode"&gt;Next up is SingleOrDefault; &lt;a title="MSDN Documentation" href="http://msdn.microsoft.com/library/system.linq.enumerable.singleordefault.aspx" target="_blank"&gt;returns a single, specific element of a sequence, or a default value if that element is not found&lt;/a&gt;.&amp;#160; &lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var singleOrDefault = items.SingleOrDefault(x =&amp;gt; x.Id == 10);&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;This one is a little better, it doesn’t throw an exception it returns null.&amp;#160; Why didn’t it return an empty Item object?&amp;#160; You’d think that would be the default and that it could figure it out because it knows what type of object we are querying for.&amp;#160; Nope, if you don’t specify the default value you get null.&lt;/p&gt;

&lt;h2&gt;SingleOrDefault with DefaultIfEmpty&lt;/h2&gt;

&lt;p&gt;Ok, so lets specify a default value with .DefaultIfEmpty.&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var singleOrDefaultIfEmpty = items.DefaultIfEmpty(&lt;span class="kwrd"&gt;new&lt;/span&gt; Item())&lt;/pre&gt;

  &lt;pre&gt;                .SingleOrDefault(x =&amp;gt; x.Id == 10);&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;I expected to get a new Item object, but guess what I got null.&amp;#160; I couldn’t figure out why, the documentation states ‘&lt;em&gt;The &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.linq.enumerable.singleordefault.aspx"&gt;&lt;em&gt;SingleOrDefault&lt;/em&gt;&lt;/a&gt;&lt;em&gt; method does not provide a way to specify a default value. If you want to specify a default value other than default(TSource), use the &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb355419.aspx"&gt;&lt;em&gt;DefaultIfEmpty(Of TSource)(IEnumerable(Of TSource), TSource)&lt;/em&gt;&lt;/a&gt;&lt;em&gt; method as described in the Example section.’&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I did that yet I still got a null, and not an empty Item object.&amp;#160; Hopefully, you guys can tell me why.&lt;/p&gt;

&lt;h2&gt;First and FirstOrDefault, Last and LastOrDefault&lt;/h2&gt;

&lt;p&gt;First, FirstOrDefault and Last and LastOrDefault gave the same results as their respective counterparts.&amp;#160; It appears that the OrDefault doesn’t mean anything.&lt;/p&gt;

&lt;h2&gt;Where&lt;/h2&gt;

&lt;p&gt;Let’s look at using &lt;em&gt;Where()&lt;/em&gt;, cause hey let’s be honest this is the way I write most of my queries anyway.&amp;#160; Where by itself returns IQueryable&amp;lt;T&amp;gt; which what we expect, but let’s look at what happens when use DefaultIfEmpty by itself and with First and FirstOrDefault.&lt;/p&gt;

&lt;h2&gt;Where with DefaultIfEmpty&lt;/h2&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var whereDefaultIfEmpty = items.Where(x =&amp;gt; x.Id == 10)&lt;/pre&gt;

  &lt;pre&gt;                .DefaultIfEmpty(&lt;span class="kwrd"&gt;new&lt;/span&gt; Item());&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Hey, we are finally starting to get some results, this returned a new Item object.&lt;/p&gt;

&lt;h2&gt;Where with First&lt;/h2&gt;

&lt;p&gt;Ok, so what if we put First?&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var whereFirst = items.Where(x =&amp;gt; x.Id == 10).First();&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Oh, here is our old friend InvalidOperationException, no joy!&lt;/p&gt;

&lt;h2&gt;Where with First and DefaultIfEmpty&lt;/h2&gt;

&lt;div class="csharpcode"&gt;So, for fun let’s see if adding the DefaultIfEmpty makes a difference.&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var whereFirstDefaultIfEmpty = items.Where(x =&amp;gt; x.Id == 10)&lt;/pre&gt;

  &lt;pre&gt;                .DefaultIfEmpty(&lt;span class="kwrd"&gt;new&lt;/span&gt; Item())&lt;/pre&gt;

  &lt;pre class="alt"&gt;                .First();&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;
&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;This return a new Item object. Ok, so now we are starting to see when DefaulIfEmpty helps. Remember just using it with First without Where just threw an exception.&lt;/p&gt;

&lt;h2&gt;Where with FirstOrDefault &lt;/h2&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var whereFirstOrDefault = items.Where(x =&amp;gt; x.Id == 10).FirstOrDefault();&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;
&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;This behaved no different than just using FirstOrDefaul(x=&amp;gt; x.Id == 10), we got a null.&lt;/p&gt;

&lt;h2&gt;Where with FirstOrDefault and DefaultIfEmpty&lt;/h2&gt;

&lt;p&gt;Ok, so DefaultIfEmpty made a difference when using First, let’s hope it does the same for FirstOrDefault.&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;var whereFirstOrDefaultIfEmpty = items.Where(x =&amp;gt; x.Id == 10)&lt;/pre&gt;

  &lt;pre&gt;                .DefaultIfEmpty(&lt;span class="kwrd"&gt;new&lt;/span&gt; Item())&lt;/pre&gt;

  &lt;pre class="alt"&gt;                .FirstOrDefault();&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Eureka! A new Item object.&lt;/p&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;From what I was able to figure out reading the online documentation and my own testing it I recommend using DefaultIfEmpty() with Where() alone or with FirstOrDefault.&amp;#160; But remember using it with Single, SingleOrDefault, First, FirstOrDefault, Last, or LastOrDeafult will not get you the default object, you will either get an InvalidOperationException or&amp;#160; null.&lt;/p&gt;

&lt;p&gt;Now that I understand how and when DefaultIfEmpty makes a difference I can create LINQ queries that return the results I expect and I will be able to predict if I will get an Exception, Null or Object.&lt;/p&gt;

&lt;p&gt;If you have experienced something different, disagree, or have a better way to approach this please post a reply.&amp;#160; The discussion just makes all of us better.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/_I8i77D4EuI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/_I8i77D4EuI/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/LINQ-Exception-Null-or-Object.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=cf000b8c-1c35-4209-b736-ceef1a026933</guid>
      <pubDate>Tue, 07 Feb 2012 16:11:17 -0400</pubDate>
      <category>.NET</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=cf000b8c-1c35-4209-b736-ceef1a026933</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=cf000b8c-1c35-4209-b736-ceef1a026933</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/LINQ-Exception-Null-or-Object.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=cf000b8c-1c35-4209-b736-ceef1a026933</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=cf000b8c-1c35-4209-b736-ceef1a026933</feedburner:origLink></item>
    <item>
      <title>Definitions of Designations</title>
      <description>&lt;p&gt;Saw this on Google+ posted by Eric Miao and just had to share it.&amp;#160; I am not sure where he got it but it sure made me laugh.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Definitions of Designations&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Project Manager&lt;/strong&gt; &lt;/font&gt;&lt;font color="#000000"&gt;is a Person who thinks nine women can deliver a baby in One month.&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Developer&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; is a Person who thinks it will take 18 months to deliver a Baby.&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Onsite Coordinator&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; is one who thinks single women can deliver nine babies in one month&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Client &lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;is the one who doesn’t know why he wants a baby.&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Marketing Manager&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; is a person who thinks he can deliver a baby even if no man or woman are available&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Resource Optimization Team&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; thinks they don’t need a man or woman; they’ll produce a child with zero resources&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Documentation Team &lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;thinks they don’t care whether the child is delivered, they’ll just document 9 months&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Quality Auditor&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; is the person who is never happy with the PROCESS to produce a baby&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Tester&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; is a person who always tells his wife that this is not the Right baby&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;HR Manager&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt; is a person who thinks that a donkey can deliver a human baby in given 9 months&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/MHlDp68NfII" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/MHlDp68NfII/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Definitions-of-Designations.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=3c2a1b55-6245-4c2e-b145-e25e12a9fd7f</guid>
      <pubDate>Sun, 05 Feb 2012 09:10:06 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=3c2a1b55-6245-4c2e-b145-e25e12a9fd7f</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=3c2a1b55-6245-4c2e-b145-e25e12a9fd7f</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Definitions-of-Designations.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=3c2a1b55-6245-4c2e-b145-e25e12a9fd7f</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=3c2a1b55-6245-4c2e-b145-e25e12a9fd7f</feedburner:origLink></item>
    <item>
      <title>First WP7 Application: Dominionizer</title>
      <description>&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=image_42.png"&gt;&lt;img style="background-image: none; margin: 0px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;" title="image" src="http://jaysmith.us/image.axd?picture=image_thumb_34.png" alt="image" width="68" height="68" align="left" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a href="http://www.windowsphone.com/en-US/apps/c874d6a3-76ad-e011-a53c-78e7d1fa76f8" target="_blank"&gt;Dominionzier&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Over that last several months Chris Koenig and myself have been working on a Windows Phone 7 application that helps ease the task the picking the kingdom cards for playing the game of Dominion.&amp;nbsp; Version 1.0 to the market place and received certification in 3 days and it went live over the weekend.&lt;/p&gt;
&lt;p&gt;It has been an awesome project to work on and we have a few features we want to add in version 2.0.&amp;nbsp; Currently supported cards sets: Dominion, Intrigue, Seaside, Alchemy, Prosperity, and Cornucopia, as well as the three promo cards.&lt;/p&gt;
&lt;p&gt;I want to thank Chris for all of his support and patience while working with me on the project.&amp;nbsp; If you are a fan of Dominion please check out.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="text-decoration: underline;"&gt;Description from Windows Phone Market Place&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dominionizer is an application to help ease the task of picking the 10 kingdom cards needed to play the card game Dominion.&lt;/p&gt;
&lt;p&gt;Diminionizer supports the following Dominion, Intrigue, Seaside, Alchemy, Prosperity, and Cornucopia, as well as the three promo cards.&lt;/p&gt;
&lt;p&gt;Settings allow you to control which sets are included in random selection. Other options allow you to apply rules to how the cards are picked, current rules allow for Require 2-5 Cost Cards and Require Reaction To Attack.&lt;/p&gt;
&lt;p&gt;Once the cards are picked you may swap a card out for a different randomly selected card by tap-hold and selecting Swap Card. If you can't remember what a card does you can also tap-hold and select View Card to see the card information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;&lt;em&gt;Screenshots&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=Dominionizer_Main.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Dominionizer_Main" src="http://jaysmith.us/image.axd?picture=Dominionizer_Main_thumb.png" alt="Dominionizer_Main" width="221" height="368" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://jaysmith.us/image.axd?picture=Dominionizer_Main_Menu.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Dominionizer_Main_Menu" src="http://jaysmith.us/image.axd?picture=Dominionizer_Main_Menu_thumb.png" alt="Dominionizer_Main_Menu" width="220" height="367" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;The main screen displays the randomly picked cards along with cost, potion cost, and an icon to indicate which set the cards came from.&amp;nbsp; If you do not like a card you can use the hold menu to swap the card for a different card, or view an image of the actual card.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=Dominionizer_Settings.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Dominionizer_Settings" src="http://jaysmith.us/image.axd?picture=Dominionizer_Settings_thumb.png" alt="Dominionizer_Settings" width="221" height="368" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://jaysmith.us/image.axd?picture=Dominionizer_Rules.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Dominionizer_Rules" src="http://jaysmith.us/image.axd?picture=Dominionizer_Rules_thumb.png" alt="Dominionizer_Rules" width="221" height="368" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Settings allow you to control which sets are used for the card selection, and rules allow you to control how the cards are picked.&amp;nbsp; If you want to make sure you have an even spread of cost you can turn on the &lt;em&gt;Require Two to Five Cost Cards&lt;/em&gt; rule.&amp;nbsp; If you don&amp;rsquo;t want to have an attack card without a way to defend yourself turn on the &lt;em&gt;Require Reaction To Attack&lt;/em&gt; rule.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/lgZm8pg218I" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/lgZm8pg218I/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/First-Windows-Phone-7-Application-Dominionizer.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=cd30331a-8df0-4b45-aa07-2294f5416acc</guid>
      <pubDate>Thu, 29 Dec 2011 10:42:00 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=cd30331a-8df0-4b45-aa07-2294f5416acc</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=cd30331a-8df0-4b45-aa07-2294f5416acc</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/First-Windows-Phone-7-Application-Dominionizer.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=cd30331a-8df0-4b45-aa07-2294f5416acc</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=cd30331a-8df0-4b45-aa07-2294f5416acc</feedburner:origLink></item>
    <item>
      <title>Microsoft MVP: ASP.NET/IIS Awarded; Again!</title>
      <description>&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=image_45.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://jaysmith.us/image.axd?picture=image_thumb_37.png" width="178" height="72" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Microsoft once again has chosen to award me with the MVP Award for ASP.NET/IIS.&amp;#160; Once again I find myself very honored and humbled to be recognized for my efforts in the community.&amp;#160; I have always said that even if I am not an MVP I will continue to go out and foster community wherever I can, and I will, but not just yet.&lt;/p&gt;  &lt;p&gt;I want to thank the Northwest Arkansas Technical community, hey they have to put up with me &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://jaysmith.us/image.axd?picture=wlEmoticon-winkingsmile_2.png" /&gt;.&amp;#160; They have been a great source of ideas and inspiration and I would go to bat for any of you.&amp;#160; Thanks for listening to me rant, and for sometimes telling me to shut up &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://jaysmith.us/image.axd?picture=wlEmoticon-smile_1.png" /&gt;.&lt;/p&gt;  &lt;p&gt;Thanks again to Microsoft for the honor of being an MVP and thanks to the community for helping me get there.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/Tmo5E_-okfA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/Tmo5E_-okfA/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Microsoft-MVP-ASPNETIIS-Awarded3b-Again!.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=b02a5f84-4321-4256-8806-7efb22f84282</guid>
      <pubDate>Tue, 04 Oct 2011 14:31:42 -0400</pubDate>
      <category>General</category>
      <category>.NET</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=b02a5f84-4321-4256-8806-7efb22f84282</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=b02a5f84-4321-4256-8806-7efb22f84282</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Microsoft-MVP-ASPNETIIS-Awarded3b-Again!.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=b02a5f84-4321-4256-8806-7efb22f84282</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=b02a5f84-4321-4256-8806-7efb22f84282</feedburner:origLink></item>
    <item>
      <title>Introduction to Agile Software Development Video on UserGroup.tv</title>
      <description>&lt;p&gt;&lt;a title="visit the UserGroup.tv site" href="http://usergroup.tv" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="" src="http://jaysmith.us/image.axd?picture=ugtv_2.png" alt="" width="186" height="58" align="left" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The video recording of my presentation: &lt;a title="Click here to watch video" href="http://usergroup.tv/videos/intro-to-agile" target="_blank"&gt;Introduction to Agile Software Development&lt;/a&gt; at the &lt;a href="http://schoolofdev.com/Tulsa/2011" target="_blank"&gt;Tulsa School of Dev&lt;/a&gt; has been posted on &lt;a href="http://usergroup.tv/" target="_blank"&gt;User Group TV&lt;/a&gt; website.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks to Shawn Weisfeld for all the time and money he has put into finding a way to bring community event to a broader audience.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/9Z5NbdCTqzU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/9Z5NbdCTqzU/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Introduction-to-Agile-Software-Development-Video-on-UserGrouptv.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=ba977fc7-5c84-4254-8a44-b0688b857ac2</guid>
      <pubDate>Tue, 27 Sep 2011 11:44:00 -0400</pubDate>
      <category>General</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=ba977fc7-5c84-4254-8a44-b0688b857ac2</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=ba977fc7-5c84-4254-8a44-b0688b857ac2</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Introduction-to-Agile-Software-Development-Video-on-UserGrouptv.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=ba977fc7-5c84-4254-8a44-b0688b857ac2</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=ba977fc7-5c84-4254-8a44-b0688b857ac2</feedburner:origLink></item>
    <item>
      <title>Speaking at Tulsa Techfest–October 7th 2011</title>
      <description>&lt;p&gt;&lt;a href="http://jaysmith.us/image.axd?picture=image_44.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://jaysmith.us/image.axd?picture=image_thumb_36.png" width="468" height="60" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It is time for the Tulsa Techfes! Woo Hooo!&lt;/p&gt;  &lt;p&gt;This time around I will be leading a &lt;a href="http://jaysmith.us/post/Community-Leadership-Town-Halle28093Tulsa-Techfest.aspx" target="_blank"&gt;Community Leadership Town Hall&lt;/a&gt; the night before and presenting two sessions.&amp;#160; This has always been an awesome event and I am sure this year will not be much different.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Session Info:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font style="font-weight: bold"&gt;Developer Productivity Tips: How to Get Things Done&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This session is a collection of tips and strategies I have learned that has helped me be a more productive person. Topics will range from better ways to handle the onslaught of incoming email to being more productive with you development tools. &lt;/p&gt;  &lt;p&gt;Topics in this session: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Going Mouse-less &lt;/li&gt;    &lt;li&gt;Customize your world &lt;/li&gt;    &lt;li&gt;Developer Tools &lt;/li&gt;    &lt;li&gt;Inbox Zero &lt;/li&gt;    &lt;li&gt;5 Sentences or less &lt;/li&gt;    &lt;li&gt;Clean Workspace &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font style="font-weight: bold"&gt;The Creamy Goodness of NuGet&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://nuget.org" target="_blank"&gt;NuGet&lt;/a&gt; has quickly become one of my favorite extensions for Visual Studio.&amp;#160; Not only has it made it easy to add commonly used OSS libraries to your projects it has made them discoverable.&lt;/p&gt;  &lt;p&gt;About NuGet: NuGet is a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development. &lt;/p&gt;  &lt;p&gt;There are a large number of useful 3rd party open source libraries out there for the .NET platform, but for those not familiar with the OSS ecosystem, it can be a pain to pull these libraries into a project.&amp;#160; NuGet automates most of this and makes it easy to add libraries for common task.&lt;/p&gt;  &lt;p&gt;Here is what you will learn: &lt;/p&gt;  &lt;p&gt;What is NuGet? &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How to add packages to your project &lt;/li&gt;    &lt;li&gt;How to update packages in your project &lt;/li&gt;    &lt;li&gt;How to host your own package repository &lt;/li&gt;    &lt;li&gt;How to create and publish your own packages &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/JaySmith/~4/f80e-5EWEE0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JaySmith/~3/f80e-5EWEE0/post.aspx</link>
      <author>jay@jaysmith.us</author>
      <comments>http://jaysmith.us/post/Speaking-at-Tulsa-Techfeste28093October-7th-2011.aspx#disqus_thread</comments>
      <guid isPermaLink="false">http://jaysmith.us/post.aspx?id=e71de1c9-a99f-4662-b49f-fb993b964a36</guid>
      <pubDate>Fri, 09 Sep 2011 14:52:00 -0400</pubDate>
      <category>Presentations</category>
      <dc:publisher>jay.smith</dc:publisher>
      <pingback:server>http://jaysmith.us/pingback.axd</pingback:server>
      <pingback:target>http://jaysmith.us/post.aspx?id=e71de1c9-a99f-4662-b49f-fb993b964a36</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://jaysmith.us/trackback.axd?id=e71de1c9-a99f-4662-b49f-fb993b964a36</trackback:ping>
      <wfw:comment>http://jaysmith.us/post/Speaking-at-Tulsa-Techfeste28093October-7th-2011.aspx#disqus_thread</wfw:comment>
      <wfw:commentRss>http://jaysmith.us/syndication.axd?post=e71de1c9-a99f-4662-b49f-fb993b964a36</wfw:commentRss>
    <feedburner:origLink>http://jaysmith.us/post.aspx?id=e71de1c9-a99f-4662-b49f-fb993b964a36</feedburner:origLink></item>
  </channel>
</rss>
