June 2010

Monthly Archive

The Morning Brew #632

Posted by Chris Alcock on 30 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Introducing IIS Express - Scott Guthrie announces the plans for IIS Express, a solution to the mismatch of development Web Server (ASP.NET Development Server and full IIS), combining the features of IIS with the ease of use of the Development Server. Scott runs through the current options, and talks about what will be in the IIS Express release
  • Announcing PostSharp 2.0 RC 2 - Gael Fraiteur announces the release of the second Release Candidate of Post Sharp 2.0. This release completes the documentation of the core library along with freezing the APIs. This release also includes a significant re-organisation of some of the API name spaces which does result in a breaking change to the API (although it should be quickly resolvable via search and replace)
  • PAL 2.0 Released - Ron Grzywacz highlights the release of PAL 2.0, the latest edition of the Performance Analysis of Logs tool. This release is a significant one, moving the core of the application from VBScript to PowerShell and .NET 3.5, and along the way removing the requirements for the Office 2003 web controls.
  • Silverlight PivotViewer Now Available - Scott Guthrie also announces the release of the Silverlight Pivot Viewer Control which allows developers to implement browsing and sorting of data in a visual way in their applications, giving a new and exciting way of visualising data.

Information

  • Ad-hoc mapping with NHibernate - Jimmy Bogard looks at using the Alias to Bean Transformer in NHibernate to provide a means of mapping data to entities at runtime, illustrating with a bulk loading scenario.
  • NHibernate: Streaming large result sets - Ayende talk about using NHibernate for accessing large sets of data where you are only reading the data (like when creating reports), and shows how you can gain performance improvements by using the StatelessSession which does not track entities.
  • Using Fluent NHibernate With Legacy Databases - Rod Paddock looks at using Fluent NHibernate to provide mappings against legacy databases with unpleasant and inconsistent column names, showing a number of the features which allows flexibility in the mapping.
  • NHibernate 2nd level cache: Doing it wrong? - Mark Needham discusses some performance problems he has encountered using the NHibernate second level cache, and also discusses the use of implicit/explicit transactions when working with NHibernate.
  • Chrome Extension Development - Sergio Pereira explores HTML 5 and JavaScript, along with the Google Chrome Extensions API and sets about creating a Morning Brew extension for Google Chrome to bring you the latest instalment of (hopefully) your favourite .NET Link Blog.
  • Debugging Silverlight in Firefox 3.6.4 (and newer) - Oren Nachman shares a bit of useful information for anyone using the latest editions of Firefox (with the extension crash protection) to debug Silverlight applications, showing how to disable the time out detection so the Silverlight Plugin does not get killed when its at a break point.
  • How I understood monads, part 2/2: have we met before? - Bertrand Le Roy gives the second half of the story of how he understood the abstract concept of Monads, looking this time at a number of things which are monads that you may already be familiar with.
  • Announcing: The Redesigned MSDN Home Page and Hub Pages - Pete Brown’s 10rem.net - Pete Brown highlights the new MSDN Homepage design and structure. For viewers in the UK and other parts of the world, you may have to explicitly go to the en-us version of the site to see the new design (just change the locale in the URL).
  • Making USB C# friendly - Ashley Deakin takes a look at interacting with USB devices fro C# code, looking at using a simple buzzer device and the API methods required to interact with it.
  • How can we make WCF support in Silverlight better? - Yavor Georgiev of the Silverlight Web Services Team discusses a number of the pain points people encounter working with WCF services from Silverlight, and outlines some of the plans to resolve these issues in the next releases of Silverlight. Yavor also asks for feedback on any other areas of pain which they can look at addressing.
  • Make WCF Simpler - In a similar vein, Ron Jacobs highlights a survey from the WCF team which is gathering information to help them make WCF much easier to work with.
  • AppFabric-enabled WCF Data Service Templates (C#/VB) - Ron Jacobs also highlights templates for C# and VB.NET to provide a base for implementing AppFabric based WCF services

Community

  • Europe Virtual ALT.NET: Recording of Hamilton Verissimo on MEF @ E-VAN 28 June 2010 - Jan Van Ryswyck announces the availability of the session recording of Hamilton Verissimo’s European Virtual Alt.Net usergroup presentation on the Managed Extensibility Framework
  • Session voting for NHibernate Day is open - Simone Chiaretta announces the start of the voting to select the sessions for the second track at the NHibernate Day event to be held in Bologna on the 9th October 2010. This is your opportunity to shape the conference schedule, and If you havn’t already registered for the event there are still spaces available.

The Morning Brew #631

Posted by Chris Alcock on 29 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Caliburn v1.1 Released! - Rob Eisenberg announces the 1.1 release of Caliburn, the UI patterns library for Silverlight and WPF which now supports .NET 3.5 and 4, along with Silverlight 2.0, 3.0, and 4.0. This release brings a number of improvements to the implementations, along with bugfixes and some minor new features.
  • Entity Framework Repository & Unit Of Work T4 Template on CodePlex - Dane Morgridge releases at T4 Template to create data layer Repository and Unit of Work implementations against Entity Framework, allowing you to easily create a testable persistence ignorant data layer for your applications. In this post Dane also runs through the generated code, and shows it in use in a simple example.

Information

  • On partially-constructed objects - Joe Duffy discusses in detail the dangers of partially constructed objects being accessed before they are fully populated, digging down into the IL, looking at immutability and exploring some techniques to help deal with these situations.
  • WPF MVVM Multi-Project Template: A Polyglot Approach - Daniel Mohl continues his series of posts sharing difference F# template projects, this time sharing a mixed F# and C# WPF MVVM project, consisting of a C# based View, with F# View model and Model implementations.
  • Computing a Cartesian Product with LINQ - Eric Lippert answers another Stack Overflow question with this look at how you can dynamically construct LINQ queries recursively to allow you to build a Cartesian product of an arbitrary number of sequences.
  • Create a Build Script with Rake in Iron Ruby that Integrates StyleCop, Simian, FxCop, MSpec and NCover - Kazi Manzur Rashid puts together a Rake based build script which puls together a number of the most common code verification tools available.
  • Working with Zip Files in .NET - Richard Lee, a developer intern on the BCL team gives a tour of some proposed Zip functionality for a future .NET release and solicits feedback on the API
  • Action Filter versus Controller Base Class - K. Scott Allen takes a look at the use of the Action Filter feature in ASP.NET MVC to allow you to easily add features to controllers rather than using a base Controller class, allowing better encapsulation and visibility of the feature.
  • Measuring Web Page Performance - Anderson Quach, Program Manager on the Internet Explorer team talks about the importance of good website performance benchmarks for browser implementers and developers, discussing the Web Timing Specification from the W3C which is implemented in the latest IE 9 builds
  • C++ killed my grandpappy - Is C++ hard and where are the C++ coders hiding? - Scott Hanselman takes a second look at C++, highlighting the free Visual Studio C++ Express Edition and the Hilo project which shows off some of the cool visual effects in Windows 7 that can be obtained in C++.
  • Mobile Browser Cache Limits: Android, iOS, and webOS - Ryan Grove takes a look at the behaviour of the caches of some of the more common Web Browsers for mobile devices, along with their support for Last-Modified and ETags.

Community

  • Thursday "Virtual Brown Bag" Meetings - Brian Schroer highlights the lunch time (Central Time) Live Meeting based Virtual Brown Bag events organised by Claudio Lassala and held every Thursday between 12pm and 1pm Central time.

The Morning Brew #630

Posted by Chris Alcock on 28 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

Information

Community

The Morning Brew #629

Posted by Chris Alcock on 25 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

Information

Community

  • The SQL Server Conference - SQLBits - The 7 Wonders of SQL - 30 - 02 Oct 2010 - York - The SQLBits team announce their 7th Conference, to be held in York over three days. Day 1 is a Training Day, Day 2 is a deep dive conference on advanced topics and Day 3 is the Free Community conference. The Call for Speakers has started, so if you are interested in speaking at this event go submit your session proposal.
  • "May The Silverlight 4s Be With You" with Richard Costall - Monday 5th July sees Richard Costall present a session on what’s new in Silverlight 4 at the .NET DevNet Usergroup hosted at the University of West England, just outside Bristol
  • Summer of Extensions - win fabulous prizes - Kate Gregory highlights a competition being run by Microsoft and ReadWriteWeb for US and Canada developers who are working on Visual Studio extensibility in VS2010. Prizes for the best extensions include MSDN Subscriptions, Xbox Elite

The Morning Brew #628

Posted by Chris Alcock on 24 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • HTML5, Native: Third IE9 Platform Preview Available for Developers - The Internet Explorer continue delivering on their promise of regular preview releases of Internet Explorer 9 with their 3rd preview release. The major new features for this release are the hardware acceleration of canvas, video and audio, along with further improvements to the JavaScript engine performance, and page rendering. Further steps towards ACID standards compliance are also included. The Internet Explorer Team also offer Updates to the IE Testing Center including the 118 new standards tests they have submitted to the W3C

Information

  • FREE 96 page book - Windows Azure Platform: Articles from the Trenches Volume One - Eric Nelson announces the release of ‘Windows Azure Platform: Articles from the Trenches Volume One’ a Free (E-)Book containing articles contributed by the Azure community, on subjects from the beginner ‘getting started’ topics through to the details of Azure and SQL Azure. The book is available as PDF, and also in printed from via Lulu.
  • All Will Be Revealed: ~7 Hours Recordings from the WIF Workshops - Vittorio Bertocci highlights the availability of the recordings of the main sessions from the Windows Identity Foundation (WIF) Workshop on Channel 9 (and soon to be included in the WIF Developer Training Kit). The 10 workshops start from a high level introduction and dig down deeper into specific areas of WIF.
  • A Lap Around TestApi v0.5 - Ivo Manolov gives a tour of the new features included in the latest TestApi release, released last week, showing code samples for each of the new and updated APIs, along with discussions of the new documentation and the updating of the tests to xUnit.Net 1.5
  • Modeling hierarchical structures in RavenDB - Ayende answers a common question about structuring hierarchical data in RavenDB (and also other Document databases), along with discussing some concurrency issues (And a clever RavenDB feature to avoid them) in the comments.
  • Investigating .NET Memory Management and Garbage Collection - Edward Elliott takes a look at the causes of Memory Leaks, and some of the problems associated, and then goes on to explore the Son of Strike (SOS) debugger extension and the commands available within it to help diagnose the cause of memory leaks.
  • Parallel Programming in .NET 4.0: Using Tasks - Jennifer Marsman continues her series on the Parallel Programming features of ,NET 4 with a look at the use of Tasks in place of manual threading using the Thread class.
  • Parallel programming in .NET - Internals - Manabendra Roy also takes a look at the Task support in .NET 4 exploring some of the background to tasks and looking at the implementation within the framework along with showing a simple example.
  • Multi-tenant ASP.NET MVC - Inversion of Control - Zack Owens continues his series on Multi-Tenancy applications in ASP.NET MVC, exploring the use of the Inversion of Control (IOC) Container to provide a means of obtaining the correct controllers
  • Hands on mocking of ASPNETMVC controller action - Mehfuz takes a look at mocking out dependencies in ASP.NET MVC Controllers for testing purposes using the current beta release of JustMock
  • Using ModelMetaData in ASP.Net MVC 2 to wire up sweet jQuery awesomeness - Eric Hexer experiments with combining the ModelMetaData with jQuery to provide an unobtrusive solution to providing extra information for jQuery Plugins to use when atatching behaviours to elements.

The Morning Brew #627

Posted by Chris Alcock on 23 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Opening OpenXML, the Open XML Package Editor Power Tool for Visual Studio 2010 - Greg Duncan highlights the release of the updated release of the Open XML Package Editor PowerTool, now updated for Visual Studio 2010. This tool allows you to open OpenXML document packages in the Visual Studio IDE and view, edit, supplement and export the component parts of the package.
  • Introduction to StickyBeak - Mark Kemper introduces StickyBeak, an ASP.NET HttpModule which allows you to log and view all HTTP requests to your ASP.NET powered web application, including form posts, query strings, cookies, etc. This looks like a very useful tool for debugging problems with sites and systems, although don’t forget to turn it off when you are done.

Information

  • How I use Inversion of Control containers - pulling from the container - Krzysztof Kozmic follows up on his previous post answering reader questions on how you can obtain components from the container based on some external input, discussing the use of the Abstract Factory/ Factory Method pattern, and how the Windsor container does a lot of the hard work for you in providing the implementation of such a factory.
  • Extension Methods and "yield return" - Jason Bock explores the use of yield return, and the changes that it makes to the structure of your code once compiled, in order to delay the execution of the iteration loops until needed, and shows a situation where this can result in dramatic changes to the way something works when called.
  • AndAlso and OrElse - Christiaan takes a look at two less known VB.NET operators which provide the lazy evaluation of conditionals which makes working with reference types easier as you can test for null on one side of the statement and use the reference on the other side when combining with these operators.
  • Now Available: Layered Architecture Sample for .NET 4.0 - J.D. Meier highlights the release of an update to the Layered Architecture Sample, now updated to .NET 4. This sample aims to show how you can structure your applications into layers utilising different .NET technologies in each layer.
  • Great Uses of Using Statement in C# - Steve Smith looks at how you can use the using statement along with IDisposable to have actions taken at the start and end of a code block with minimal effort and code around the code block.
  • Using Custom Performance Counters with Windows Azure Services - Mike Kelly explores the support for custom Performance Counters when running your applications on the Windows Azure cloud, and looks at how you can monitor the counters having the data from them written into the Azure Table Storage.
  • MSTest vs. NUnit with Visual Studio 2010 & TDD - Jeff Vera explores the differences between NUnit and MSTest for unit testing in .NET, breaking the comparison down into a few stages, examining setup and a number of test cases and announcing the winner of the round at each stage. Check out the comments for some other good points from Sergio Pereira
  • The Task Parallel Library Series - Introduction - Steve Strong begins a new series of posts looking at the Task Parallel Library. This introductory posts sets the scene for the TPL discussing the need for parallelism and the state of parallel programming in the pre-.NET 4 era.
  • Sequential Async using CoRoutines - Torkel Ödegaard takes a look at implementing Async Workflows based on the work by Rob Eisenberg in his Build your own MVVM framework talk at Mix10. Torkel shares an implementation and explains the background nicely, showing how you can have your workflow in one place readable consecutively but maintaining the async nature and providing feedback for the UI
  • Web Application Extensibility with FubuMVC (Part 1) - Jeremy D. Miller talks about the importance of extensibility and customisation for small product based companies selling their software to large organisations, and discusses some of the extensibility features his team put into FubuMVC to enable easy customisation by obeying the SOLID principle.

Community

The Morning Brew #626

Posted by Chris Alcock on 22 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Software

Information

  • C# Closures Explained - Justin Etheredge takes a look into the world of functional C# with a look at the sometimes confusing Closure implementation, cutting through the usual complex ‘long word’ definitions and illustrating with an example.
  • Basic Analysis of a Managed Memory Dump (.NET) - CClayton takes a look at the start of the process of debugging an application crash from a memory dump using WinDbg, looking at exceptions, threads and the stack of a managed process.
  • Measuring Browser Performance with the Windows Performance Tools - Walter vonKoch talks about the Internet Explorer Team’s use of the Windows Performance Tools from the Windows SDK in exploring and understanding the performance of the browser engine, showing the tools in use to give an idea of what they are capable of.
  • jQuery Fundamentals - Rebecca Murphey (and a number of other contributors) have published a nice guide to JavaScript and jQuery. Don’t be put off by the introduction (its in Portuguese) as the main content is in English, exploring the core of the JavaScript Language, and then moving on to look at jQuery (Core, events, effects, Ajax, plugins, and work is underway on a performance section too).
  • Document Well 2010 Plus: Hidden Options - Radames Cruz Moreno shares some of the user feedback on the Document Well 2010 Plus as included in the Visual Studio 2010 Pro Power Tools, sharing a few of the hidden options that the document well has which answer a few users comments.
  • Parallel Programming in .NET 4.0: PLINQ - Jennifer Marsman explores one of the Parallel Team samples showing how Parallel LINQ can be used within your application, and showing the comparison to standard LINQ performance
  • Eager Loading with Repository Pattern and Entity Framework - Gil Fink has been exploring the Repository Pattern in Entity Framework and in this post looks at implementing Eager Loading using his repository pattern. Be sure to check out some of the previous posts on this subject from Gil.
  • Productivity Improvements for the Entity Framework - Rowan Miller looks at some of the things that we can do to improve the productivity of us as developers when working with the Entity Framework 4, looking at some useful techniques for Code, database and Model first development using Entity Framework.
  • Readying myself for Windows Phone 7 "Hello, Operator?" - Mike Ormond shares the process of setting up a Windows Phone 7 Development Environment using the April CTP of the Windows Phone Developer Tools
  • Write Templates for Visual Studio 2010 - Kate Gregory shares a complete presentation package of a talk on Templating in Visual Studio 2010. This kit includes everything you need to be able to deliver the session, including videos of the demos, the slide deck and notes on presenting the session.
  • Capturing (and changing) a Web Site with Fiddler - Eric Lawrence highlights how the Internet Explorer team use the Saz file capture feature of Fiddler to capture, modify and replay web traffic to the browser.
  • Security Best Practices in Azure - Dave Thompson takes an introductory look at security best practices for Azure, giving an introduction to the key concepts along with links to further details on each.

The Morning Brew #625

Posted by Chris Alcock on 21 Jun 2010 | Tagged as: .NET, Development, Morning Brew

Update: A rogue quote infiltrated this mornings edition - I’ve recified it now, and Sachin’s post on Frequent Commits along with Jose Reyes piece on Performance Counters should now be visible and working - Thanks to David Kemp for the heads up

Software

  • What’s New in xUnit.net 1.6 - Brad Wilson announces the release of xUnit.net 1.6, the latest incarnation of this pure .NET testing library. This release adds in support for .NET 4, ASP.NET MVC 2, Visual Studio 2010, along with continuing support for VS 2008 and adding in No-Registration integration with TestDriven.Net, along with support for the .NET Client Profile.
  • Moonlight 3.0, Preview 7 - Miguel de Icaza announces the latest preview release of MoonLight 3.0, the Mono Project’s Silverlight Implementation. This release brings it ever close to supporting the full Silverlight 4 RTW API, along with video capture and various other improvements.
  • FxCop 10.0 - Microsoft highlight the inclusion of FxCop 10.0 (rather a large version number jump from 1.36) as a part of the Windows SDK for Windows 7 and .NET 4 package.
  • TestApi v0.5 Released! - Ivo Manolov announces the release of TestApi 0.5, the library of test and utility APIs to help test Win32 and .NET applications. This release includes major updates to the documentation, along with improvements to the implementations of a number of the testing APIs included in the package
  • Microsoft SQL Server 2008 R2 Best Practices Analyzer - Microsoft release the 2008 R2 edition of their DSQL Server Best Practices Analyzer which inspects the configuration of your SQL Server instances and reports on things that may be misconfigured.
  • Update to the WCF Load Test tool is available - Brian Harry highlights an update to the WCF Load Test tool from Visual Studio ALM Rangers which allows you to replay WCF trace files against your services to provide a means of load testing them.

Information

  • How I use Inversion of Control containers - Krzysztof Kozmic answers one of the common questions he is asked about Inversion of Control, ‘how should it be implemented in my application?’, taking a look at the way he typically deploys the services of an IoC Container
  • Breaking if statements with pattern - Thang Chung explores a means of simplifying a complex set of nested If statements used to build the criteria for an advanced search form using the Chain of Responsibility and Factory Patterns,
  • Building data stores - Transaction log & Append Only &Indexing data structure &Table scans, index scans and index seeks, on my! - Ayende talks about the construction of a transactional data store, looking at its key concepts, exploring a way of supporting concurrency, providing efficient ways of finding data via indexing, and discusses the standard indexing optimisations available in RDBMS and their analogies in his own data store.
  • Covariance and Contravariance in .NET 4.0 - Paul Kimmel takes a look at Covariance and Contravariance support in .NET 4, looking a little wider than many of the posts on the subject and illustrating the principles with code samples.
  • How to select open source libraries - Daniel Marbach discusses how to find open source projects which provide functionality you require, along with considering how to choose between these projects, looking at licensing, community support, etc.
  • Prefer Additional Methods Over Additional Overloads - John Sonmez discusses the creation of additional methods (with specific names) instead of overloading a single method with lots of different sets of parameters, suggesting that the individual method names will make your code more understandable, and your API more consumable.
  • Mutation Testing - Jeremy Jarrell discusses the concept of Mutation testing, a way of testing how good your unit tests are by manipulating your actual program to change the behaviour of the system and checking that (some of) your test fail, and Introduces MutantPower a library built on Mono.Cecil which manipulates booleans in your code after compilation to mutate your program for you.
  • Git and our friction points and beginners mistakes - Gabriel Schenker continues his discussion of his teams migration to the Git Distributed Version Control System taking a look at some of the points of Git that took a little finding or adjusting to
  • Git/Mercurial: Pushing regularly - Mark Needham follows up on Gabriel’s post with a short discussion of their commit policy when using the Mercurial DVCS
  • Rewards of "Frequent Check In" - Sachin also discusses the merits of checking your code into the repository regularly.
  • ASP.NET Internals - Performance counters implementation details - Jose Reyes digs down into the implementation of Performance Counters in ASP.NET to help you avoid a number of common problems in your own implementations.
  • Parallel Programming: Task Schedulers and Synchronization Context - Alexandra Rusina takes a look at the use of the Task Schedulers and Synchronization Context to make communication with the UI thread easier.

Community

  • NDC 2010 Session Recordings - Last week saw the NDC 210 conference, where a number of great sessions were delivered. The recordings of many of these sessions are now available to stream and download.

Next Page »