<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7736876639143086452</id><updated>2012-02-16T12:36:01.209-08:00</updated><category term='C#'/><category term='Themes'/><category term='LINQ'/><category term='Visual Studio'/><category term='Microsoft'/><category term='MVVM'/><category term='CallContext'/><category term='WCF'/><category term='SQL Reporting'/><category term='SnagAJob.com'/><category term='SSRS'/><category term='Color Schemes'/><category term='Styles'/><category term='ILogicalThreadAffinitive'/><category term='dotNetMustard'/><category term='Unit Testing'/><category term='SaveAs'/><category term='.NET'/><category term='Silverlight'/><title type='text'>dotNetMustard</title><subtitle type='html'>Adding spicy condiments to .NET</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-6432672396011432432</id><published>2009-07-10T11:15:00.000-07:00</published><updated>2009-07-10T11:24:05.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SaveAs'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Silverlight 3 SaveAs Dialog debugging quirk</title><content type='html'>I have been playing with the new SaveAs dialog in Silverlight 3 and discovered an odd quirk.  While debugging I was getting the following exception:&lt;br /&gt;&lt;p style="font-style: italic; color: rgb(255, 0, 0);" class="MsoNormal"&gt;System.Security.SecurityException was unhandled by user code&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(255, 0, 0);" class="MsoNormal"&gt;  Message="Dialogs must be user-initiated."&lt;/p&gt;From all appearances, my SaveAs dialog was being initiated from a user-initiated event.  The code to open the dialog was being executed in the Click event handler of a button on my Silverlight control.  The problem was... I had a breakpoint set on the line of code that performed the ShowDialog().  Once I moved the breakpoint to the next line of code everything worked.&lt;br /&gt;&lt;br /&gt;Hope this helps anyone banging their head against the wall on this one...&lt;br /&gt;&lt;br /&gt;(BTW...thanks Silverlight team... this was a much needed control.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-6432672396011432432?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/6432672396011432432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=6432672396011432432&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/6432672396011432432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/6432672396011432432'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2009/07/silverlight-3-saveas-dialog-debugging.html' title='Silverlight 3 SaveAs Dialog debugging quirk'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-5080815709850227889</id><published>2009-04-10T13:24:00.000-07:00</published><updated>2009-04-10T13:55:38.594-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Silverlight MVVM and the Silverlight Unit Test Framework</title><content type='html'>I have been working diligently the last few months on trying to integrate better test coverage into my Silverlight development. &lt;br /&gt;&lt;br /&gt;After scouring the web and absorbing a lot of good information on Silverlight Unit Testing from posts such as these:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://silverlight.net/blogs/justinangel/archive/2009/02/25/silverlight-unit-testing-rhinomocks-unity-and-resharper.aspx"&gt;Justin Angel's Silverlight Unit Testing, Rhinomocks, Unity and Resharper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jeff.wilcox.name/2008/03/silverlight2-unit-testing/"&gt;Jeff Wilcox's Unit Testing with Silverlight&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jeff.wilcox.name/2009/03/asynchronous-testing/"&gt;Jeff Wilcox's Async Test Support&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;And integrating the Model-View-ViewModel (MVVM) presentation pattern outlined in these great posts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://davidburela.wordpress.com/2008/10/19/silverlight-mvvm-dependency-injection/"&gt;David Burela's Silverlight MVVM + dependency injection&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nikhilk.net/Entry.aspx?id=198"&gt;Nikhil Kothari's ViewModel Pattern in Silverlight using Behaviors&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I feel I have finally put together a nice example of a Silverlight control that utilizing the &lt;a href="http://code.msdn.microsoft.com/silverlightut"&gt;Microsoft Silverlight Unit Test Framework&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;My example is a straight forward Login control.  I think login controls make for great demo applications.  They are probably only one degree of difficulty above the traditional "Hello World" example.  In it's simpilest form a login control only contains two input text boxes, a button and a text message area to display feedback.  This example throws in a touch of animation, because after all, it is a Silverlight application :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can download the code &lt;a href="http://www.daveholman.com/blog/MVVMDemo.zip"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-5080815709850227889?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/5080815709850227889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=5080815709850227889&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/5080815709850227889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/5080815709850227889'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2009/04/silverlight-mvvm-and-silverlight-unit.html' title='Silverlight MVVM and the Silverlight Unit Test Framework'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-1593907503255521571</id><published>2008-10-07T11:17:00.000-07:00</published><updated>2008-10-07T11:22:21.650-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Styles'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Silverlight Styles are Immutable</title><content type='html'>Ever see this friendly message in Silverlight?&lt;br /&gt;&lt;br /&gt;Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))&lt;br /&gt;&lt;br /&gt;Well, one thing you might want to check is if you are setting the Style on a control more than once.  Seems that Styles are immutable in Silverlight 2.0 and therefore cannot be set more than once.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-1593907503255521571?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/1593907503255521571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=1593907503255521571&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/1593907503255521571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/1593907503255521571'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/10/silverlight-styles-are-immutable.html' title='Silverlight Styles are Immutable'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-4259325205354566347</id><published>2008-09-24T14:10:00.000-07:00</published><updated>2008-09-24T14:30:46.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>SequenceEqual is my favorite new hammer</title><content type='html'>A common programming task that many people face is comparing 2 enumerations to determine if they are equal. Ideally you would like to be able to write code like the following:&lt;br /&gt;&lt;br /&gt;if(arrayA == arrayB)&lt;br /&gt;{&lt;br /&gt;//Do Stuff Here...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;However as you know, arrayA will never equal arrayB in the code above since they are completely different objects. What you really want to know is if the values contained in arrayA are the same as the values contained in arrayB. Well, the &lt;a href="http://msdn.microsoft.com/en-us/library/bb348567.aspx" target="_blank"&gt;SequenceEqual() &lt;/a&gt;method provides a mechanisim to do just that.&lt;br /&gt;&lt;br /&gt;The SequenceEqual() method enumerates the two source sequences in parallel and compares corresponding elements by using the default equality comparer for TSource.&lt;br /&gt;&lt;br /&gt;Here is a quick example showing 2 equal arrays...&lt;br /&gt;&lt;br /&gt;string[] arrayA = new string[]{"a","b","c","d"};&lt;br /&gt;string[] arrayB = new string[]{"a","b","c","d"};&lt;br /&gt;string[] arrayC = new string[]{"w","x","y","z"};&lt;br /&gt;&lt;br /&gt;bool A_Equals_B = arrayA.SequenceEqual(arrayB); //returns true;&lt;br /&gt;bool A_Equals_C = arrayA.SequenceEqual(arrayC); //returns false;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-4259325205354566347?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/4259325205354566347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=4259325205354566347&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/4259325205354566347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/4259325205354566347'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/09/sequenceequal-is-my-favorite-new-hammer.html' title='SequenceEqual is my favorite new hammer'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-8688980381763728216</id><published>2008-08-15T08:04:00.000-07:00</published><updated>2008-10-08T10:34:32.149-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Embeding Silverlight control in web page OBJECT versus EMBED</title><content type='html'>When deploying a Silverlight control on a web page, there are several options available. You can either use the &lt;a href="http://quickstarts.asp.net/3-5-extensions/silverlight/SilverlightControl.aspx"&gt;asp:Silverlight control&lt;/a&gt; or embed the control into your HTML using either the OBJECT or EMBED HTML tags.&lt;br /&gt;&lt;br /&gt;One interesting gotcha that I ran into was when I tried to instantiate the Silverlight plug-in using the OBJECT tag in Firefox 3.0. The plug-in would just not load, which is strange, because before I updateded to Silverlight Beta 2 everything seemed to work fine. After poking around, I found that Apple's Safari web browser doesn't currently support the OBJECT element. Instead you have to use the EMBED tag, which works equally well in IE and Firefox. Perhaphs Microsoft is playing to the lowest common denomentor in an attempt to keep Silverlight 100% cross-browser compliant?&lt;br /&gt;&lt;br /&gt;Either way, if you use the EMBED tag to instantiate the Silverlight plug-in, there are a couple of things to take note of:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Custom parameters that are defined as individual &lt;/li&gt;&lt;li&gt;Alternative content that displays when the Silverlight plug-in is missing will need to be wrapped in a NOEMBED element.&lt;/li&gt;&lt;/ol&gt;Here are 2 seperate implementations of a Silverlight control. One using OBJECT tag and the other using the more compliant EMBED tag.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;OBJECT Implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ffffcc;"&gt;&amp;lt;object type="application/x-silverlight" id="silverlightControl" width="390" height="100"&amp;gt;&lt;br /&gt;&amp;lt;param name="background" value="Yellow"&amp;gt;&lt;br /&gt;&amp;lt;param name="source" value="Chapter1.xaml"&amp;gt;&lt;br /&gt;&amp;lt;!-- Alternative content: --&amp;gt;&lt;br /&gt;This content requires Silverlight.&lt;br /&gt;&amp;lt;a href="http://www.microsoft.com/silverlight/downloads.aspx"&amp;gt;&lt;br /&gt;Get it Here.&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/object&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;EMBED Implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ffffcc;"&gt;&amp;lt;embed type="application/x-silverlight" id="silverlightControl" width="390" height="100" background="Yellow" source="Chapter1.xaml"&amp;gt;&lt;br /&gt;&amp;lt;noembed&amp;gt;&lt;br /&gt;&amp;lt;!-- Alternative content: --&amp;gt;&lt;br /&gt;This content requires Silverlight.&lt;br /&gt;&amp;lt;a href="http://www.microsoft.com/silverlight/downloads.aspx"&amp;gt;Get it here.&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/noembed&amp;gt;&lt;br /&gt;&amp;lt;/embed&amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-8688980381763728216?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/8688980381763728216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=8688980381763728216&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/8688980381763728216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/8688980381763728216'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/08/embeding-silverlight-control-in-web.html' title='Embeding Silverlight control in web page OBJECT versus EMBED'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-7261062116097989228</id><published>2008-08-06T09:35:00.000-07:00</published><updated>2008-10-01T20:26:58.642-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dotNetMustard'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ILogicalThreadAffinitive'/><category scheme='http://www.blogger.com/atom/ns#' term='CallContext'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Identifying the differences between CallContext Data Slots</title><content type='html'>Recently I was working on a server side caching strategy for permissions data. The key to the strategy was to place a user's permissions returned from a database call into the CallContext of WCF service. The code to do this looked something like this...&lt;br /&gt;&lt;br /&gt;CallContext.SetData("permissionsKey", myPermissionsData);&lt;br /&gt;&lt;br /&gt;All subsequent requests for permissions data would then be returned from the CallContext's cache permissions, thereby saving me from having to make redundant database calls for data that I already have.&lt;br /&gt;&lt;br /&gt;myPermissionsData = (PermissionData)CallContext.LogicalGetData("permissionsKey")&lt;br /&gt;&lt;br /&gt;Simple caching strategy...&lt;br /&gt;&lt;br /&gt;During my testing I found that my cached data was not being returned. After further investigation I realized that I was setting the data using the CallContext's SetData method, but I was getting the data using the CallContext's LogicalGetData method. Come to find out, these are not the same. Seems there is a LogicalGetData method, LogicalSetData method, GetData method and SetData method on the CallContext object. So, it was a simple fix to use the LogicalSetData method in conjunction with the LogicalGetData method when implementing my caching strategy.&lt;br /&gt;&lt;br /&gt;But why are there two methods that seemingly do the same thing? The documentation on MSDN doesn't really specify the differnce between the two.&lt;br /&gt;&lt;br /&gt;Well... after doing some resarch and finding a post by Lucian Bargaoanu on the subject it seems that the difference has to do with AppDomains. Come to find out there is a LogicalCallContext and an IllogicalCallContext. LogicalCallContext will flow across appdomains. It will do this regardless of what type of object you have placed in context. The object doesn't have to implement ILogicalThreadAffinitive. When you call SetData with an ILogicalThreadAffinitive object, the data is set in the LogicalCallContext. When you call GetData it will first look in the LogicalCallContext and then in the IllogicalCallContext. You cannot have the same key in both CallContext(s).&lt;br /&gt;&lt;br /&gt;In summary, objects stored using SetData will only flow across AppDomains if they implement ILogicalThreadAffinitive. Objects stored in LogicalSetData will flow across AppDomains even if they don't implement ILogicalThreadAffinitive. LogicalSetData handles seems to handle the ILogicalThreadAffinitive implementation for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-7261062116097989228?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/7261062116097989228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=7261062116097989228&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/7261062116097989228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/7261062116097989228'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/08/identifying-differences-between.html' title='Identifying the differences between CallContext Data Slots'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-7230878853857631764</id><published>2008-07-29T13:03:00.000-07:00</published><updated>2008-10-01T20:27:34.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotNetMustard'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Cool LINQ Tool</title><content type='html'>There is a cool LINQ tool called &lt;a href="http://www.linqpad.net/"&gt;LINQPad&lt;/a&gt; available from O'Reilly.&lt;br /&gt;&lt;br /&gt;It is pre-loaded with a bunch of great examples from &lt;span style="font-style:italic;"&gt;C# 3.0 In a Nutshell&lt;/span&gt; by Joseph Albahari and&lt;br /&gt;Ben Albahari&lt;br /&gt;&lt;br /&gt;Check it out...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-7230878853857631764?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/7230878853857631764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=7230878853857631764&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/7230878853857631764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/7230878853857631764'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/07/cool-linq-tool.html' title='Cool LINQ Tool'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-6289049858239990835</id><published>2008-05-29T06:55:00.000-07:00</published><updated>2008-10-01T20:27:53.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotNetMustard'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Neat coding tricks with LINQ</title><content type='html'>Igor Ostrovsky has compiled a list of &lt;a href="http://igoro.com/archive/7-tricks-to-simplify-your-programs-with-linq/" target="_blank"&gt;7 tricks &lt;/a&gt;to simplify common coding tasks using LINQ. &lt;br /&gt;&lt;br /&gt;The LINQ approach to converting sequences or collections is very elegant.&lt;br /&gt;&lt;br /&gt;Here are &lt;a href="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx" targer="_blank"&gt;101 other samples&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-6289049858239990835?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/6289049858239990835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=6289049858239990835&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/6289049858239990835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/6289049858239990835'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/05/neet-coding-tricks-with-linq.html' title='Neat coding tricks with LINQ'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-6894341254589128052</id><published>2008-05-27T05:01:00.000-07:00</published><updated>2008-10-01T20:28:21.920-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Reporting'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotNetMustard'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>Uninstall SSRS if you are not using it.</title><content type='html'>I came across a &lt;a href="http://www.sqlservercentral.com/articles/Reporting+Services/62813/" target="_blank"&gt;good article&lt;/a&gt; over at SQL Server Central.  I highly recommend signing up on their site if you haven't done so already.   I am always finding good info over there...&lt;br /&gt;&lt;br /&gt;Anyway, the article points out that you should really uninstall SSRS if you are not using it.  Simply stopping and disabling the service does not fully prevent SSRS from attempting to validate it's encryption keys.  I am not certain what problems this would cause other than filling up your event logs and needlessly utilizing you server's CPU cycles, but it is disconcerting that a service you assume is inactive in actuality still has live hooks into your server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-6894341254589128052?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/6894341254589128052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=6894341254589128052&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/6894341254589128052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/6894341254589128052'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/05/uninstall-ssrs-if-you-are-not-using-it.html' title='Uninstall SSRS if you are not using it.'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-2744803931475619421</id><published>2008-05-23T06:49:00.000-07:00</published><updated>2008-10-01T20:28:42.262-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotNetMustard'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Color Schemes'/><category scheme='http://www.blogger.com/atom/ns#' term='Themes'/><title type='text'>Visual Studio goes dark</title><content type='html'>I have been noticing a trend.  Many developers are beginning to utilize darker color schemes in their VS IDE.  I am not sure when or why this started.  There are several posts floating around that contain some nice schemes.  Most notibly is&lt;a href="http://www.winterdom.com/weblog/CategoryView,category,VS%2BColor%2BScheme.aspx" target="_blank"&gt; Tomas Restrepo's site.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some of these darker schemes are nice, while others tend to remind me of the old &lt;a href="http://en.wikipedia.org/wiki/3270_emulator" target="_blank"&gt;3270 emulators&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/CICS" target="_blank"&gt;CICS&lt;/a&gt; terminals.  Its interesting to note that the IDE for Microsof Expression Blend makes nice use of black and gray.&lt;br /&gt;&lt;br /&gt;I have adopted a scheme that I am really enjoying. Go grab it &lt;a href="http://holmand.googlepages.com/Exported-2008-05-23.zip" target="_blank"&gt;here...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*** UPDATE ***&lt;br /&gt;I have since reverted back to a lighter color scheme.  However I am not using the VS Default.  Something about all the dark colors became irritating to me.  Just personal preference I guess.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-2744803931475619421?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/2744803931475619421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=2744803931475619421&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/2744803931475619421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/2744803931475619421'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/05/visual-studio-goes-dark.html' title='Visual Studio goes dark'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-8207797198704376309</id><published>2008-05-22T13:57:00.000-07:00</published><updated>2008-05-22T19:16:20.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotNetMustard'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SnagAJob.com'/><title type='text'>Silverlight 2.0 - Savior of the Internet or latest fad?</title><content type='html'>Recently I had the opportunity to build a control for SnagAJob.com in Silverlight 2.0. My first impression is...Wow!... This is going to change a lot of things.&lt;br /&gt;&lt;br /&gt;I think it is important to mention that I am coming to Silverlight development late. I never played with the 1.0 or 1.1 releases. I never had to go through the early pains of discovery associated with the technology. (ahh...remember the early days of the AJAX Toolkit). First off, I want to give a big "hats-off" to the team over at &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight.Net&lt;/a&gt;. If you have not been to the site, you are definitely missing out. The &lt;a href="http://silverlight.net/GetStarted/" target="_blank"&gt;Getting Started &lt;/a&gt;section is the perfect place to well.... get started. They also have a fabulous set of video tutorials and gallery samples (many with code) to get you up and running on Silverlight.&lt;br /&gt;&lt;br /&gt;If you are new to Silverlight, developing in Silverlight 2.0 with managed code is very intuitive, especially if you have any prior experience with Windows Forms development. An easy way to think about the design paradigm is that of a Windows Form application running in the browser. BUT... it is so much more... It is Flash like in nature in that it runs as an embedded control in your page. You simply have to install the Silverlight runtime. Hopefully Microsoft will begin pushing out the runtime as part of it's Windows Update.&lt;br /&gt;&lt;br /&gt;Could Silverlight be the death of AJAX? Silverlight is based upon a subset of WPF. The ability to develop web content using XAML will truly open up the Internet to a host of creative and visually stunning applications. The problem I see with AJAX is that it still requires the mixing of technologies. (HTML, JavaScript, Services). While Silverlight 2.0 doesn't completely eliminate the technology mash-up, I believe the unified development environment (XAML, Managed Code)that Silverlight 2.0 provides will super charge the development of visually attractive and highly interactive user experiences.&lt;br /&gt;&lt;br /&gt;Could Silverlight be the death of ClickOnce? In some circumstances it might. It provides the end-user experience required by many applications that are currently written as Windows Forms applications and it's deployment scenario is possibly simpler than that of ClickOnce. To deploy a Silverlight application, you only need to copy the latest-n-greatest bundled version of your control (.xap file) up to your web server. Silverlight is cross-browser compliant, so the headaches of ClickOnce deployment for end-users running Firefox is avoided.&lt;br /&gt;&lt;br /&gt;Silverlight is obviously not a silver-bullet. There are plenty of short comings that will need to be overcome, but I believe there are good things in store for this technology.&lt;br /&gt;&lt;br /&gt;My friend and colleague Kevin Hazzard has been doing some great presentations and code camps lately on Silverlight. Check out his &lt;a href="http://gotnet.biz/Blog/" target="_blank"&gt;GotNet&lt;/a&gt; blog for some great reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-8207797198704376309?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/8207797198704376309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=8207797198704376309&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/8207797198704376309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/8207797198704376309'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/05/silverlight-20-savior-of-internet-or.html' title='Silverlight 2.0 - Savior of the Internet or latest fad?'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7736876639143086452.post-4552961700171501595</id><published>2008-05-21T08:06:00.000-07:00</published><updated>2008-05-22T13:33:24.496-07:00</updated><title type='text'>Okay lets get started....</title><content type='html'>Well its about time I stared writing some of this stuff down...&lt;br /&gt;&lt;br /&gt;I finally decided to start blogging about some of the cool and interesting things I have been up to in the past couple of years. For some background, I have been working in IT since 1994. I started out my career as a COBOL programmer using IMS and DB2. Around 1999 I transitioned into Network Administration (Windows NT, Novel, etc.) Finally I decided to get back into development. My heart wasn't in network administration. I always felt it was more fun to break things than to stop others from breaking things, so I worked my way back into application development. HTML, classic ASP, VBScript, etc. I have been doing .NET development for quite awhile now, however within the last 2-3 years I think things have been moving exponentially faster. Not only has there been seemingly exponential growth in the industry due to improvements in tool and technology, I believe I am hitting my personal stride in regards to software development. Coding has actually become fun again. Not that I didn't always enjoy writing code. I fondly remember sitting in front of an &lt;a href="http://en.wikipedia.org/wiki/Apple_II" target="_blank"&gt;Apple IIe &lt;/a&gt;trying to create the next great game using BASIC. Today however I believe I am at a point where I can clearly see through the proverbial trees and I am getting a true look at the forest. Software development patterns emerge and system designs seem more intuitive. I don't profess to be an expert in anything, but I would like to think I could take a stab at most development challenges.&lt;br /&gt;&lt;br /&gt;So, what will I be blogging about? Who knows? I will most likely try and post things that I find cool, interesting or innovative. Hang on...lets see where this goes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7736876639143086452-4552961700171501595?l=dotnetmustard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetmustard.blogspot.com/feeds/4552961700171501595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7736876639143086452&amp;postID=4552961700171501595&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/4552961700171501595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7736876639143086452/posts/default/4552961700171501595'/><link rel='alternate' type='text/html' href='http://dotnetmustard.blogspot.com/2008/05/okay-lets-get-started.html' title='Okay lets get started....'/><author><name>Dave Holman</name><uri>http://www.blogger.com/profile/07678270151641695625</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
