December 2009

Monthly Archive

The Morning Brew #501

Posted by Chris Alcock on 18 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Many thanks to everyone who offered their congratulations, thanks, tweets and re-tweets for yesterday’s milestone edition. Special thanks to David Brown for contributing Blog Badge button which I’ve now inserted into the rotation. I’m hopeful that the amount of community noise that was generated yesterday pushed the subscriber numbers past the 5000 mark (I was very close on edition 499) so I await FeedBurner’s stats to update with baited breath.

Software

Information

  • ADO.NET Data Services Update Released - Yesterday I highlighted the release of ADO.NET Data Services, and today Ricardo Peres highlights the what was new in that release with an overview of new features and improvements
  • Getting Started with the Data Services Update for .NET 3.5 SP1 - Part 1 - Alex James of the ADO.NET Data Services team begins a series of posts taking a a step by step run through the new features of the new ADO.NET Data Services release. The team also have release notes for the new release which link back to blog articles discussing the new features and improvements.
  • ASP.NET MVC 2 RC - Validating Credit Card Numbers - Jacques Eloff explores the validation support in ASP.NET MVC2 RC with a look at the thorny problem of Credit Card Number validation
  • Update on Debugger Perf - Brian Harry gives an update on the performance improvements that have been made to Visual Studio 2010 since the beta 2 release by means of a video showing the performance difference, and it looks to be a significant improvement
  • The Siege Project: Siege.ServiceLocation, Part 4 - Integrating Siege.ServiceLocation with ASP.NET MVC - Marcus Bratton continues his series on his Siege.ServiceLocation project with a look at how you can consume it in ASP.NET MVC, and in the final part of the series provides A guide to getting started with Siege.ServiceLocation with a downloadable quickstart sample of code to allow you to get started
  • Extending ASP.NET MVC - Replacing the View Engine - Mike Ormond explores ASP.NET MVC Extensibility with a look at the process of replacing out the default View Engine with the Spark View engine, showing the installation and configuration required. In his next post ‘A Bit About Spark‘ Mike looks at some of the features of the Spark engine, and how you can use it.
  • Using LINQPad with NHibernate - Alan Northam shows how you can use LINQPad, the easy to use tool which allows yo to query LINQ providers, to query NHibernate entities with a little bit of setup involving DLL references, namespace imports and a little boilerplate setup code.
  • Why static classes are evil! - Maciej Gre? shares an amusing look at why static classes are evil, taking the explanation out of the standard software development view and illustrating with people examples.
  • Walkthrough: Test-Driven Development with the Entity Framework 4.0 - The ADO.NET team share a step by step walk through of the process of working with the Entity Framework 4 in a Plain Old CLR Object (POCO) way using Test Driven Development practices
  • JavaScript Part 1 - hello JavaScript! - "fallenrogue" has a series of posts looking at JavaScript as a language, currently running to 4 parts, looking at the language, the prototype way it works, the standard types, and the this operator. Be sure to check out all 4 parts (and don’t be alarmed and think part 2 is missing, for some reason it comes before part 1 in the blogs index)
  • GPGPU and x64 Multicore Programming with Accelerator from F# - Satnam Singh talks about the recently released preview of Accelerator V2 which allows F# to run code on the GPU and x64 multicore systems. This post is quite a complex one, and I think I’m going to have to read it twice to properly understand it (probably not one for the mathematically phobic)

Community

  • Edge UG January: SOLID & SharePoint 2010 - The EDGE Usergroup based in London see in the new year with an event on the 20th January focusing on the SOLID principles with a session delivered by Ian Cooper, and Dave McMahon looking at SharePoint 2010

The Morning Brew #500

Posted by Chris Alcock on 17 Dec 2009 | Tagged as: .NET, Development, Morning Brew

500th Post Celebrations

(If you just want the links for today, skip down the page)

Today marks a major milestone in the publishing of The Morning Brew, being the 500th edition. I find it staggering that I’ve managed to produce this daily update every week day (minus public holidays of course) 500 times, it really doesn’t feel like I’ve been doing it that long. Of course, I’m not the only one to reach the 500 post milestone, but it still feels significant.

Since today is a milestone, I though it was a good time to do a little work on the blog as a whole, and since Tthe Morning Brew has somewhat taken over all the blogging here in the past 2 years I’m going make it the main feature here, and the observant of you (or those who read this on the actual site) will have noticed a few minor changes to the appearance of the blog, and most significantly the name of the blog is now ‘The Morning Brew’, and I will soon be migrating all the site over to being hosted at its new address of ‘http://www.TheMorningBrew.Net. The old address will be maintained in the form of redirects to the new address for all posts.

In addition to some name changes and a little bit of rebranding I’d also like to attempt a little marketing of The Morning Brew in the form of Blog Badges which you can place on your sites where you wish to link to The Morning Brew. These badges were produced for me by my friend and former colleague Derek Fowler almost a year ago, and I never got around to using them at the time, so a mix of ’sorry’ and ‘thanks’ go to Derek for them.

If you would like to include them in your log, here is an HTML snippet for the general ‘I read The Morning Brew’ badges (they cycle randomly through different badges):
<a href="http://www.themorningbrew.net/linkhere/link.php"><img src="http://www.themorningbrew.net/linkhere/linkimg.php" alt="The Morning Brew - Daily .NET News and Views" title="The Morning Brew - Daily .NET News and Views" border="0" /></a>

Which will display something like:

The Morning Brew - Daily .NET News and Views

If you’ve had your articles featured in The Morning Brew you may wish to use the Contributor set of badges instead, in which case your HTML will need to look something like:
<a href="http://www.themorningbrew.net/linkhere/contribute.php"><img src="http://www.themorningbrew.net/linkhere/contributeimg.php" alt="My articles have been featured in The Morning Brew - Daily .NET News and Views" title="My articles have been featured in The Morning Brew - Daily .NET News and Views" border="0" /></a>

Which will display a badge looking like:

My articles have been featured in The Morning Brew - Daily .NET News and Views

I’d be very happy to receive additional badges of the same dimensions, so if you have some design flair (which I don’t) and fancy having a go at creating a badge or two please feel free to send your attempts over and I’ll look at including them in the appropriate rotation.

There will be a few more changes to The Morning Brew over the coming weeks, including actual Morning Brew coffee mugs, a look at possibly including sponsorship / advertising, and a few other minor improvements. As always, if you have any suggestions or ideas please drop me a line.

Many thanks to the authors of the great articles I have the privilege of being able to link to, and to you for your readership over the past 500 editions. Here’s to the next 500!

Software

  • LINQPad updated to support Data Services! - Chris Sells highlights a new beta release of LINQPad the tool which allows you to interactivly issue LINQ queries against a variety of backing sotres, and which as of this release now supports querying against OData powered services (such as WCF Data Services)
  • ADO.NET Data Services Update for .NET Framework 3.5 SP1 now available - Greg Duncan highlights the release of an update to ADO.NET Data Services which extends the functioanlity of the .NET 3.5 SP1 release of ADO.Net Data Services. Packages are available for all supported Windows Versions (with Windows 7 and Server 2008 R2 having their own special version)

Information

The Morning Brew #499

Posted by Chris Alcock on 16 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Last post of the 400’s today, and I have to confess I’ve not prepared much special for the big 500 tomorrow, but there are still a few hours for some plans to fall into place.

Software

  • Nine Months Later: Mono 2.6 and MonoDevelop 2.2 - Miguel de Icaza highlights the release of Mono 2.6 and MonoDevelop 2.2, the latest major release from the Mono Project. Mono 2.6 boasts WCF client and server at the Silverlight 2.0 level, Linq to SQL, support for MSBuild projects, along with performance optimisations and a reduction in size. MonoDevelop 2.2 now has support for ASP.NET MVC, numerous UI improvements, T4 processor support, Mac and Windows support, new refactoring features, a new debugger and is now licensed as LGPLv2 and MIT X11

Information

Community

  • A List Apart: The Survey, 2009 - A List Apart are running their anual survey for web developers looking at the state of the industry, how you work, your level of skills, and how you go about your business. The results from this survey have made interesting reading in the past, and if you work in a ‘people who make websites’ role I urge you to fill it out.

The Morning Brew #498

Posted by Chris Alcock on 15 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Short edition today - didn’t seem to be vast quantities of relevant posts in my RSS reader this morning which usually means tomorrow will be a large edition.

Information

The Morning Brew #497

Posted by Chris Alcock on 14 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • IronPython 2.6 Released! - Dino Viehland announces the release of IronPython 2.6 which brings IronPython in line with the stable C Python branch, along with improving the .NET Integration features, upgrading to the latest version of the DLR and numerous performance improvements
  • Entity Framework Profiler is now in public beta - Ayende announces the public beta release of EF Prof, the profiler for the Entity Framework allowing you to easily see what is going on behind the scenes in Entity Framework based data access code. Ayende also announces a new feature, Programmatic Integration - which allows you to interact with the profiler using a programatic interface allowing you to examine reports in integration tests
  • Xap Reflector - Silverlight 4 - ‘nmarun’ shares his XapReflector project which is a Silverlight Application (Out Of Browser enabled) which allows you to open an .xap file and it will open the main assembly of the application and allow you to view type, methods, properties, etc, along with some other useful information about the application being inspected

Information

  • Understanding Perceived Performance - Howard Dierking shares some notes he made while reading ‘Designing and Engineering Time: The Psychology of Time Perception in Software’, by Steven Seow, hopefully giving you enough of a taste of the book that you read it yourself. Howard continues with More on Perceived Performance, sharing some more thoughts from the book. The perception of time is a very important factor, and often more important than the actual time taken, and these points (and the book) make good reading
  • Update on Solution Load Performance - Brian Harry continues his series of posts on the performance testing that Visual Studio 2010 is undergoing, this time looking at the performance of solution load of a variety of real world solutions. Brian also outlines the sizes and complexity of those solutions in his follow on post "Real World" Apps
  • Preventing Security Development Errors: Lessons Learned at Windows Live by Using ASP.NET MVC - The Microsoft Windows Live team share a paper on their use of ASP.NET MVC and the principles of the SDL outlining how they worked to prevent developers from creating any security flaws in their projects
  • Enabling IoC in ASP.NET ActionResults (or, a better ActionResult) - Jimmy Bogard looks at separating the concerns of an ASP.NET MVC ActionResults object, splitting out the parameter aspects from the execution aspects and introducing the use of an IOC container to join the parts together
  • Using NHibernate In Your Service Layer - Davy Brion revisits the management of NHibernate Sessions in Service Layer projects with implementations of ISessionProvider, IActiveSessionManager and IUnitOfWork interfaces, along with the code to wire this solution into your application
  • ASP.NET WebForms Best Practices - John Sprunger shares a number of best practices for ASP.NET Web Forms Development, some of which are also applicable beyond the WebForms world.
  • Reading a Xml File in T4 Templates - Gil Fink shares a nice simple illustration of reading from XML files in T4 template code to allow you to generate code from the XML File
  • Meet my new ASP.NET MVC Extension - System.Web.Mvc.Extensibility - Kazi Manzur Rashid takes a look at the ASP.NET MVC Turbine Project, picking up on some areas he finds less desirable, and shares his own implementation of similar features for supporting multiple IOC/DI frameworks
  • ViewModel Pattern for Silverlight - Options for Hooking a View to its Model - Nikhil Kothari explores a couple of means of linking models to the view in Silverlight with a view to gathering community feedback on these techniques to feed back into the Silverlight and Blend product teams
  • Mock Objects - Liz Douglass shares some thoughts from the paper ‘Mock Roles, Not Objects’ on how we should go about mocking in our tests
  • Agatha Feature Suggestion: Caching - Davy Brion starts investigating response caching capabilities for his Agatha Service Layer Implementation and already has a post’Agatha’s Caching Layer Implementation: First Draft‘ providing the first draft (in code) of such a feature

Community

  • Developer Developer Developer 8 - The next instalment of the Developer Developer Developer events series will be being held on 30th January 2010 at Microsoft’s Reading Campus. Registration has not opened yet, however the call for speakers has been issued, and you can submit any sessions you would like to deliver now.

The Morning Brew #496

Posted by Chris Alcock on 11 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • StatLight - Goes Open Source - Jason Jarrett releases StatLight, his ‘for-sale’ Silverlight automated testing tool which supports Test and Behaviour driven development, as open source with the code hosted on CodePlex

Information

  • XSS Attack your database to detect missing Output Encoding - ‘Corneliu’ highlights the common security flaw of Cross Site Scripting, and shows how an automated tool can help you test places where you are displaying un-encoded strings in your application based on data sourced from the database. The tool ‘vandalises’ your data in the the database meaning that any un-encoded strings will result in message boxes being displayed.
  • The File System is unpredictable - Jared Parsons talks about how it is best to consider the File System as a multi threaded object with no good synchronisation methods available, talking about some of the things that can go wrong when working with files.
  • Clarified CQRS - Udi Dahan sets out to clarify the meaning of CQRS (Command Query Responsibility Separation) looking at the real meaning (minus any preconceptions from other architectures), and shows where it connects to other patterns
  • Demystifying LINQ Aggregates - Malisa Ncube explores the use of Linq Aggregation functions with a number of simple worked examples showing the different ways of achieving aggregated results in different scenarios
  • Constraints are not part of the signature - Eric Lippert explores another intreging compiler behaviour, this time surrounding the compilers job of determining which overload of a static method should be called when there are generic constraints
  • Resizing images from the server using WPF/WIC instead of GDI+ - Bertrand Le Roy shows how you can use WPF to resize images in a better way than GDI+, and looks at the output and relative performance compared to GDI+
  • 12 Days of RIA - Day 1 - Solution - John Pelak begins a series (already up to part 4, check out the other posts on this blog) building a real world Line of Business application using the RIA services and Silverlight in Visual Studio 2010
  • Domain-Driven Documentation - Richard Dingwall talks about how the expression of requirements in the Domain Driven Development (Evans) style can help you in your more general documentation to craft documentation which is clear and consistent.
  • The Siege Project: Siege.ServiceLocation, Part 3 - Extending the container with custom use cases - Marcus Bratton looks at how he provides for extensibility of the container implementation in his Siege.ServiceLocation project.
  • Castle Windsor new feature - dynamic parameters from registration site - Krzysztof Kozmic shows a new feature of Castle Windsor which allows you to register components which take dependency on a parameter which needs to be populated with a dynamic value without having to wrap the value provider as a service.
  • Are Extension Methods a Code Smell - Kevin Jones discusses why extension methods may be a code smell, rather than a nice language feature
  • C# regions sure can be useless - Jeff Wilcox briefly touches on why #regions are a rather pointless feature when used in common ways. Ben Hall also shows some great examples of #region in his posts This is why I hate regions and More amazing region examples

The Morning Brew #495

Posted by Chris Alcock on 10 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • Visual NHibernate - Visual NHibernate the currently in beta tool from Slyce Software has reached its 2.0.9.1018 version, introducing a number of new features in this release. This tool looks to be a useful means of working with and creating the NHibernate Mappings and maintaining the database schema using a visual UML like interface

Information

  • Creating extensions for VS 2010 - Soma Somasegar talks about using the Visual Studio 2010 SDK to create extensions for VS2010, focusing briefly on th whole process from downloading the SDK to sharing your extension
  • Another Virtual Memory Tip - Brian Harry shares another useful bit of information about Virtual Memory use when working with NGen’d assemblies which don’t live in the Global Assembly Cache
  • Mono and C# 4.0 - Marek Safar announces that the Mono C# Compiler is now at a feature complete level with the C#4 specification. He reviews the new features and how they are implemented in the Mono compiler
  • Guided Tour: jQuery - guard and default operators - Sergio Pereira begins a new series of posts titled ‘Guided Tours’ which aim to take you on a tour of a particular bit of code. This post looks at jQuery.fn.text(), focusing on the use of Guards and Default operators in this code.
  • Real World Benefits From Loose Coupling, Inversion Of Control And Dependency Injection - Davy Brion looks at some the real benefits of implemeing loosely coupled code using Dependency injection and Inversion of control, illustrating with an example of the benefit he realised with his Agatha Request Response Service Layer project
  • Test Method Code Snippet For Visual Studio - created with the Snippet Designer - Sean McAlinden highlights the free Snippet Designer extension for Visual Studio available on CodePlex, and shows how you can use it to create simple snippets which will save you time and effort when coding common code
  • DI Patterns: Constructor Injection - DotNetSlackers has a preview extract of the forthcoming book from Mark Seemann on ‘Dependency Injection with .NET’. This extract looks at the constructor injection pattern, explaining what it is, how it works and when you should use it.
  • T-SQL Tuesday #001 (Date/Time Tricks): The Roundup - Adam Machanic rounds up the posts from his T-SQL Tuesday Blogging event from this week where SQL bloggers where encouraged to post on the subject of DateTime Tricks.
  • "Magic" null argument testing - Jon Skeet looks at the humble null argument check, looking for ways to make it shorter and simpler to use using some of his trademark ninja C# skills (and some LINQ, delegates and extension methods)
  • The Singleton Killer - Peter Gillard-Moss takes a step by step look at the refactoring to remove a singleton from some code. Peter also shares an implementation of an Immutable Wrapper to easily create immutable Lists
  • The Coffee Table Guide of the Parallel Programming Samples for .NET 4 - Greg Duncan highlights a post from the Parallel Programming with .NET blog which gives an overview of all the samples for parallel programming in .NET 4
  • Which Code Metrics Do You Consider Important? - Davy Brion discusses the topic of Code Metrics with a look at the various metrics offered by NDepend, classifying them into ones he finds useful, and ones that you might thing would be interesting but he doesn’t find interesting. Some good discussions starting in the comments on this one
  • The Siege Project: Siege.ServiceLocation, Part 2 - Contextual Registration and Resolution - Marcus Bratton continues his series on the Siege Project with a look at how he implemented Contextual Registration in the Service Locator, allowing fine control of which types should be returned in which conditions.
  • Getting Started with the MVVM Pattern in Silverlight Applications - Dan Wahlin gives an overview of the MVVM pattern with a simple implementation in Silverlight
  • Using Examples in Software Development - A Team from Tel Aviv University are investigating the use of examples by software developers and could benefit from your feedback via this simple 3 page questionnaire (takes about 5-10 mins to fill out). looking at when you use and how you find example code

Community

  • MIX10 Registration Open - Mike Ormond highlights the opening of Registration for the Microsoft MIX conference for Web Designers and Developers to be held 15-17th March 2010 in Las Vegas. Early Bird registrations deals bring the cost down to $795 until Jan 15th, rising to $1395 after that.

The Morning Brew #494

Posted by Chris Alcock on 09 Dec 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • Faster apps for a faster web: introducing Speed Tracer - Google announce the release of Speed Tester, a Google Chrome browser extension which provides performance profiling for your web applications. This post includes a video introduction, and Ajaxian have a summary post here
  • BrowserPlus Source Code Available Now on Github - The Yahoo! Developer Network Blog announces the release of the source to BrowserPlus, their framework for building browser agnostic Add-Ons by wrapping the different browser implementations with a common API
  • Offline Virtual Machine Servicing Tool 2.1 - Now Available! - Nick MacKechnie highlights the release of the Offline Virtual Machine Servicing Tool 2.1, a tool which ensures that your virtual machines do not go without the regularly released security patches, making the use of Virtual Machines much safer

Information

Community

« Previous PageNext Page »