Software | Information | Community

April 2011

This is the last edition of the Morning Brew this week, as tomorrow in the UK we enjoy a public holiday in celebration of the Royal Wedding. The Morning Brew will return again on Tuesday 3rd May (with a large edition no doubt) as Monday is also a Bank Holiday.

Software

Introducing JustTrace and JustDecompile – Telerik announce the release of betas of their JustDecompile and JustTrace products. JustDecompile is their response to the Redgate Reflector becoming commercial from V7 onwards, and Telerik asure us that JustDecompile will really be free always. Looks like a nice addition to the toolkit. JustTrace is a memory and CPU profiler which enables you monitor your applications performance and explore how it behaves.

IE9 Compat Inspector – The Internet Explorer Team share IE9 Compat Inspector, a JavaScript based tool which runs in your browser to inspect your websites looking at what you need to fix to bring the site up to Internet Explorer 9’s Standards mode rendering.

MarkdownHelper on NuGet, using MarkdownDeep – Danny Tuppeny publishes his MarkDown HTML Helper on NuGet, making it ever easier to include MarkDown formatted text in the output of your MVC Views, illustrating how NuGet makes it considerably easier to obtain and work with simple helpers which have dependencies.

Information

Why use the command processor pattern in the service layer – Ian Cooper discusses the use of Command Processors as a part of your Service Layer in layered or Hexagonal architectures, drawing on the Interface Segregation and Single Responsibility Principles, and discusses the use of Decorators to add in support for orthogonal concerns.

Feedback Request for using NuGet Without Committing Packages – Phil Haack opens discussions on using NuGet in solutions which are in source control without committing the local copy of packages to source control, as possible currently using David Ebbo’s technique, and also their plans for introducing this into NuGet 1.4

Integration: Web Services, Messaging & Coupling – Paul Stovell continues his series looking at different strategies for performing integration work with a look at using Web Services and Messaging to provide the integration, and takes a look at the different types and levels of coupling each of his proposed solutions have.

Async support for Silverlight and WP7 – Abhishek Sur takes a look at the use of the latest Async CTP with Silverlight and Windows Phone Applications, discussing the background of Async and looking a NetFlix based sample.

Getting Started with the Silverlight 5 Beta – Michael Crump takes a look at the getting started aspects of Silverlight 5 in a guest blogged article on SSWUG.ORG, discussing the obtaining of the various bits, installation and looking at the new Project. This looks to be the start of a series of posts, with the next part looking at some of the new features.

Silverlight 5 Beta Rough Notes – Linked RichTextBoxes & Trusted Apps In The Browser – Mike Taulty continues his rough notes series on Silverlight 5 looking at the new RichTextOverflow control which allows you to take the overflow of a RichTextBox Control and have the remaining text displayed in this overflow control. Mike also takes a look at the running of a Silverlight application in the browser with elevated priveliges.

Silverlight 5 3D Housebuilder Project Shown at MIX11 – John Papa highlights the availability of the Silverlight 5 3D Housebuilder sample application which he demonstrated at the Mix day 2 keynote. This application illustrates the use of the new 3D functionality along with a number of the other new features of Silverlight 5. Full Source is available.

Software

NuGet 1.3 Released – Phil Haack follows his own advice (release early, release often) and announces the release of NuGet 1.3. This update, which includes updates to NuGet.exe and the Package Explorer, is available as an update in the Visual Studio Extension Manager and also can be self updated using ‘NuGet.exe u’. This release includes a number of new features, including easier package creation, caching to improve the performance, and commands for easy access of web-based information about packages.

Announcing YUI Compressor 2.4.6 – The Yahoo User Interface team announce the release of YUI Compressor 2.4.6. This latest update to their tool for minifying and compressing CSS and JavaScript focuses mainly on CSS features, including a JavaScript CSS compressor implementation, support for more CSS features, bugfixes and improvements to tests and documentation, along with a new batch mode allowing multiple files to be processed in once call to the tooling.

Effective Tests: A Test-First Example – Part 4 – Derek Greer continues his worked Test Driven Development example looking at how Test Driven Development supports the continued development of your software examining the feedback from integration of the example into a GUI and QA testing and showing how TDD supports handling these changes with more worked examples looking at the issues and their resolution.

Why is this not thread safe? – Ayende takes a look at some seemingly thread safe code and highlights that while it all looks OK there is actually thread safety issues lurking due to some the behaviour of the Dictionary’s ContainsKey method, and that the details are in the MSDN documentation.

CSS Sprites and the ASP.NET Sprite and Image Optimization Library – Scott Mitchell takes a look at the web performance technique of using CSS Sprites to improve the loading performance of your website, and explores the ASP.NET Sprite and Image Optimization library which provides the server side support to enable your easy use of this technique.

Dynamic properties in Silverlight 5 – David Catuhe shares a translation of a section of his French article on Silverlight 5 beta, exploring the use of dynamic types with Silverlight, looking at their use in C# and binding in XAML

Community

Hacking Education: A Contest for Developers and Data Crunchers – Scott Guthrie highlights a competition, for which he and Scott Hanselman are judging the .NET category, from the DonorsChoose.org charity website. The competition is looking for inovative uses of the open data that the site provides. The .NET category has some great prizes, and there are categories for other languages and platforms as well.

As predicted, today’s edition is a big one following the 4 day Easter weekend. As a reminder, this week there will only be 3 editions of The Morning Brew, as this weekend is another 4 day weekend here in the UK with the Royal Wedding and May Day bank holidays providing us with another nice break.

Software

Windows Azure SDK 1.4 refresh – The Windows Azure Connect Team announce a Refresh release of the Windows Azure SDK 1.4 which fixes an issue with deployment on Windows Azure Roles. The update is available via the Web Platform Installer, and anyone who installed the SDK before 25th April will need to uninstall and re-install.

Json.NET 4.0 Release 2 – NuGet 1.2 and Dynamic – James Newton-King announces the release of Json.NET 4.0 Release 2. This release brings support for NuGet 1.2, and adds Windows Phone 7 to the list of 7 platforms upon which the library will work. Also in this release is rework of the support for dynamic types adding operations for comparing, adding, subtracting, etc.

ILSpy Debugger Preview – Eusebiu highlights a new feature of ILSpy, available in a preview build, which allows you to debug through code without having the code available, utilising the decompilation features of ILSpy. This looks really useful for diagnosing problems when you don’t have (easy) access to the real source.

AntiXSS 4.1 Beta 1 – Barry Dorrans annoucnes the release of AntiXSS 4.1 Beta 1, available via CodePlex in source form only. This release to the library, which provides a variety of methods for encoding content to avoid cross site scripting attacks, brings improved .NET 4 support and fixes to the encoders , resolving a potential race condition.

SQL Server 2008 R2 SP1 CTP Available for download – SQLDenis highlights the availability of SQL Server 2008 R2 SP1 CTP. This preview release of the forthcoming Service Pack addresses a variety of customer reported issues with SQL Server 2008 R2 and rolls up all current hotfix fixes.

"The Ultimate List of Freely Available .NET Libraries" – Greg Duncan highlights an impressive list of Freely available libraries for .NET from the team over at Qink. This list, broken down into a variety of sub categories, lists free to use libraries which solve a variety of problems in the .NET space. Be sure to check out the comments for further library suggestions.

Information

C#/.NET Little Wonders: Any() and All() – James Michael Hare continues his excellent series on little known wonders of the C# language and .NET framework. In this part, James explores the use of the Any() and All() LINQ extension methods, showing them in use and explaining their purpose.

Working with SSL at Development Time is easier with IISExpress – Scott Hanselman – Scott Hanselman takes a look at how IISExpress (part of the ‘MS Web Stack of Love’) makes development of SSL Secured applications easier by providing easier means of working with SSL at development time, exploring the setup of SSL on IIS Express, and looks at how you can also get IIS Express running on the standard web and SSL ports (80 & 443).

Conditional Filters in ASP.NET MVC 3 – Phil Haack takes a look at the application of filters in ASP.NET MVC 3, showing how you can create filters which are conditionally applied to controller actions using the new Filter Provider functionality.

Maybe there’s something wrong with the universe, but probably not – Eric Lippert discusses what you can do if you think you may have found a problem with the C# compiler, suggesting that while it is possible, in normal day to day code it is often that your code is actually incorrect, and highlights a variety of places which you can bring possible issues to light.

Task Parallel Library: 5 of n – Sacha Barber continues his series on the Task Parallel Library with part 5, exploring the concurrent collections added in .NET 4, which while not strictly part of the TPL really come into their own when combined with TPL functionality.

Principles 5: End-to-End Development Process (for Large Projects) – Ivo Manolov continues his principles series with a look at an end-to-end process for the development of large projects, discussing how large projects require more process ‘tax’ to be effective, and discusses some of the techniques which can be used with large projects to help ensure success.

Release Early, Release Often – Phil Haack discusses the principle of ‘Release Early, Release often’, discussing the benefits of this approach, the extremes of it, some of the limitations,, how often is right for you, and what to consider if your releases are not of sufficient quality.

Windows 7 Milestone! 350 million licenses sold! – ‘Surf4Fun’ highlights an impressive milestone in the Windows 7 release, the 350 Million licenses sold point. In addition to this, the post has a nice list of Windows 7 keyboard shortcuts, many of which will make you more productive in a Windows 7 environment.

When to avoid CQRS – Udi Dahan discusses when you should not use CQRS type architectures, and how even when using CQRS correctly, it should not be your overall architecture.

Integration: Scenario, Shared Database & ETL – Paul Stovell starts a new series looking at application integration, outlining a simple scenario and looking at how a Shared Database, or an Extract Transform Load approach can be used to solve this integration problem, discussing the pros and cons of each.

Musing on Simpler Migrations – Rob Conery kicks off discussion of database migrations in .NET, discussion the current landscape of database migrations, and sharing an early look at his simple ‘all in one page’ database migrations project, soon to be available.

WCF Web API is Pure Simplicity with NuGet – Steve Michelotti takes a look at the WCF Web API library released at MIX11, showing how it can be easily obtained via NuGet, and looking at a simple use of the library.

Making use of Cloud Services .NET My Services (Hailstorm) – Christian Nagel takes a look back to the 2001 PDC event, and the .NET My Services (Hailstorm) a suite of services covering a variety of areas which never made it into production as HailStorm, asking readers to suggest if modern equivalent services actually exist now.

"Revisiting C#" – Free C# post collection ebook – Greg Duncan highlights the release of a free EBook from Anoop Madhusudanan, who has edited together a number of his articles from his blog into a 33 page EBook looking at some of the interesting features of the C# language, including fluent interfaces, Type inference, Generics, Dynamic language features, and much more.

Continuous Integration with TeamCity Workshop – Storm Id are hosting an all day session with Paul Stack on Continuous Integration with TeamCity on Saturday 10th September. In this session Paul will walk through the theory of Continuous Integration, along with the process of configuring and working with Team City to automate your build and associated processes.

dev4good – developing for a better world – dev4good are organising an all weekend event over the weekend of 2nd and 3rd July where developers will come together to create software for worthwhile causes. The event is looking for sponsors, and developer registration is now open.