Monday is a Bank/Public Holiday here in the UK, and in keeping with Morning Brew Tradition there will be no edition on Monday, with the normal posting schedule resuming on Tuesday. Have a good long weekend everyone.


  • Web Service Software Factory 2010 RTM – Hernan de Lahitte highlights the release of the Web Service Software Factory 2010, a collection of sample source code, tools, patterns and guidance for creating ASMX and WCF web services from the Patterns and Practices team
  • The SRE Preview is now available on CodePlex – Barry Dorrans announces the preview release of the Security Runtime Engine as a part of the Web Protection Library May CTP. There is no binary release of the SRE, however the team are looking for comments and feedback to help them improve the product.
  • Introducing Kiddo: A Ruby DSL for building simple WPF and Silverlight applications – Freedom Dumlao shares Kiddo, a DSL written in Ruby make it easier to build Silverlight and WPF based applications, Based on the well known Shoes library, Kiddo aims to give an abstraction over the UI creation providing a simple code interface to construct the UI.
  • Microsoft tag out of beta – Steve Clayton highlights the move from beta to full product of Microsoft Tag, their 2d, pictorial supporting, digital tag / ‘barcode’ technology providing an easy way of allowing consumers to gain access to related information.


  • Cast operators do not obey the distributive law – Eric Lippert looks at an example, inspired by a StackOverflow question, which shows how the cast operators do not follow the distributive law in the way that the multiplication operator does
  • Violations Of The"Tell, Don’t Ask" and "Don’t Repeat Yourself" Principles? – Derick Bailey looks at some examples of his own code where he feels that he is violating two of the often cited principles, asking if he actually is, and offering a possible alternative implementation, asking the community for views and other better solutions. Discussion is breaking out in the comments to this one.
  • Code Reuse is (Damn) Hard – James Michael Hare discusses Code Reuse, one of the commonly specified advantages of Object Oriented Programming’, looking at some principles which suggest reuse is possible, types of code which may be good candidates for re-use, and talks about how hard it can be to ensure reuse.
  • TTDD – Tautological Test Driven Development (Anti Pattern) – Fabio Pereira discusses an anti-pattern in testing where a test’s set up is very similar to a test’s asserts meaning that the asserts are a re-statement of the setup, which results in a lack of meaning to any result.
  • WPF Visualizer in Visual Studio 2010 – ‘jgoldb’ highlights a new debug visualizer included in Visual Studio 2010 which allows you to visualise WPF elements when debugging, providing a rendered view, and properties of the element.
  • Creating Visual Studio projects that only contain static files – Eilon Lipton shows how you can create a Visual Studio project which only contains static files, and looks at providing ‘build’ support to clean and copy the files at build time.
  • .NET Framework Targeting Error (.NET Framework Client Profile) – Janiv Ratson highlights a gotcha found by his colleagues Alon Nativ and Ziv Farjun, where you may get compile errors when working with console applications referencing other projects and assemblies due to Visual Studio 2010 Console Applications (along with many other project types) targeting the Client Profile by default rather than the full framework.
  • Non-Dom Element Event Binding with jQuery – Rick Strahl looks at using jQuery to create events on non-DOM objects which can be handled by your code, highlighting along the way an issue where jQuery has problems unbinding event handlers from Non-DOM events
  • Porting the MVC Music Store to Raven: ShoppingCartController – Ayende continues his series porting ASP.NET MVC tutorial application MVC Music store to using the RavenDB document database, in this part updating the ShoppingCartController to reflect the changes to the Shopping Cart in the last part
  • Readable and testable asynchronous execution – Andreas Hallberg shares a simple helper class which makes writing Async code cleaner, and provides an implementation which can be easily replaced for testing to remove the async nature.