December 2010

Monthly Archive

The Morning Brew – 2010 Year in Review

Posted by on 31 Dec 2010 | Tagged as: .NET, Development, Morning Brew

In keeping with Morning Brew tradition, the 31st December sees me putting together some statistics about the content of The Morning Brew over the past year. This year is no different, and I’ve followed the format (and statistics) from last year’s post.

Website and Feed Traffic

This year The Morning Brew has opened its doors to 236,658 visits, in what has been a very consistent year in terms of visits. This year’s only major spike occurred on the 10th March when Scott Hanselman gave The Brew a plug on Twitter. Grows this year can be considered to be steady, with the baseline number of visitors on a publication day rising by 200 visits across the year.

Visitor Stats for 2010
Once again the returning visitors and recency statistics are very encouraging with a peak around the 100 visits in the year mark, and large numbers of visitors checking the site on a daily basis.

Returning Users

Returning Users

Recency of visit
Repeated Visits

Similar steady growth has been seen in RSS Subscriber figures too with this year breaking through the 6000 barrier.

Subscribers

The Content

This year there have been 4090 links included in The Morning Brew, spread across our three standard headings of Software, Information and Community and the special feature categories used for major events with lots of posts. This year these included:

  • DDD8
  • Visual Studio 2010 and .NET Framework 4 Release Candidate
  • IE9
  • OData
  • Visual Studio 2010 and .NET Framework 4 Release
  • ASP.NET MVC3 Preview
  • ASP.NET Security Vulnerability
  • Windows Phone 7 Release
  • C#5 Async CTP and PDC2010

Once again, the Information category leads the way with the number of links, with software seeing a small increase on last year, however the community section has almost doubled in number of links, mostly down to my connecting with more of the UK .NET community.
Categories

Once again, the Morning Brew has been pulled together from over 500 RSS feeds, some of which being ‘firehose’ feeds from aggregate and search sites. This has resulted in around 100,000 RSS items which have been reviewed for inclusion, along with links mentioned on Twitter and suggestions from readers.

Blogs vs Number of Links

Blogs vs Number of Links

Similarity to last year continues in the number of blogs linked to with over 550 distinct blogging sites being included and 1200 distinct blogs being linked to. As usual the long tail effect has been in effect with the vast majority of blogs having only 1 or 2 links. The Big .NET blogging sites once again featured heavily with this year’s top 10 being:

  1. blogs.MSDN.com – 930 Links
  2. weblogs.asp.net – 365 Links
  3. GeeksWithBlogs.NET – 167 Links
  4. Los Techies – 136 Links
  5. CodeBetter – 128 Links
  6. Devlicio.us – 91 Links
  7. MSMVPs.com – 48 Links
  8. Elegant Code – 43 Links
  9. blogs.microsoft.co.il – 37 Links
  10. Simple Talk – 28Links

The Individual Blogger chart for this year looks like this:

  1. Oren Eini AKA Ayende – 99 Links
  2. Greg Duncan – 90 Links
  3. Scott Guthrie – 84 Links
  4. Eric Lippert – 69 Links
  5. Mike Hadlow – 61 Links
  6. Scott Hanselman – 59 Links
  7. Phil Haack – 57 Links
  8. Gunnar Piepman – 46 Links
  9. Rob Ashton – 45 Links
  10. Matthew Podwysocki – 44 Links
  11. Internet Explorer – 42 Links
  12. Derick Bailey – 40 Links
  13. Jimmy Bogard – 40 Links
  14. Eric Nelson – 35 Links
  15. Jon Skeet – 34 Links
  16. Davy Brion – 34 Links
  17. Jon Sonmez – 30 Links
  18. Miguel de Icaza – 27 Links
  19. Mike Taulty – 27 Links
  20. Mark Needham – 27 Links

Attempting to work out a pattern for the type of topics that have been included in this year’s posts reveals Silverlight and Windows Phone 7 joining ASP.NET MVC and C# as major topics on the blog.

Number of links per Post

Number of links per Post

The average number of links per post has remained roughly constant throughout the year, with an average of 16 links per post. Notable high link days were 9th August (Morning Brew #660) which featured the discussions of the future of the Iron* projects along with a healthy software section, 1st June (Morning Brew #611) a large post Public Holiday edition, and 6th April (Morning Brew #573 the bumper post Easter edition.

The Final Word

The key word to describe this year has been consistency – The Morning Brew readership has continued to grow steadily, and I’ve managed to keep up the publishing schedule of the previous years. On a personal level this year has been a good one – recieving an ASP.NET MVP award in April (announced in Morning Brew #573) and undertaking the delivery of my first major conference session at DeveloperDeveloperDeveloper Southwest being the highlights.

All that remains is to wish you all thanks for your continued readership, and to wish you a happy and healthy new Year.

Other 2010/2011 Wrap up and forecast posts:

The Morning Brew #761

Posted by on 31 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Fibre Async Library 1.1 Released – Jake Ginnivan shares the 1.1 release of his helper library for working with async tasks on the Windows Phone 7, Silverlight and .NET in general. This library provides a rich fluent interface for chaining and batching Async tasks.
  • Happy New Year, and across the board profiler discount – Ayende celebrates the turning of the year with a time limited 35% discount across his array of profiler products covering NHibernate, Entity Framework, Linq to SQL, LLBLGen and Hibernate.
  • StyleCop Compliant Visual Studio 2010 Code Snippets January 2011 Release – Doug Holland highlights the release of the January 2011 version of the Visual Studio 2010 Code Snippets library which brings StyleCop compliant versions of the standard Visual Studio snippets, and adds a number of additional snippets to the IDE too.

Information

  • Reimplementing LINQ to Objects: Part 13 – Aggregate, Part 14 – Distinct, Part 15 – Union, Part 16 – Intersect (and build fiddling) & Part 17 – Except – Jon Skeet continues with his series on rebuilding Linq to SQL with looking at 5 more of the core operators (Agregate, Except, Union, Distinct, and Intersect), in each case discussing the operator, defining test cases and sharing a re-implementation. Part 16 also discusses some changes to the solution structure of the supporting code download.
  • Windows Azure Storage Architecture Overview – Brad Calder discusses the three layer architecture of the Windows Azure Storage System, discussing each of the three layers (Front End, Partition and Distributed Replicated File System) and exploring the lifecycle of a storage request.
  • Essential Resources for Getting Started with Windows Azure – John Bristowe and Cory Fowler share a fantastic set of resources covering all aspects of the Azure platform and development, across the mediums of Twitter, Books, Virtual Labs and Tutorials, Blogs and Events.
  • Testing REST services with JavaScript – Alexander Beletsky explores the testing of REST based web services from a JavaScript testing client, using jQuery and qUnit sharing some tests of a real service allowing you to see the solution proposed in operation. Alexander also briefly discusses the different ways of running and debugging the tests.
  • Rebuilding the PDC 2010 Silverlight Application (Part 6) – Mike Taulty continues his series on building his PDC Session downloader Silverlight application, exploring the implementation of storing the sessions to download and looking at the performing the actual download operation.
  • Performance-related features in F# and C# – ‘Flying Frog Consultancy Ltd’ discuss the 4 major factors which affect a difference in performance between C# and F# despite them both being implemented on the .NET Runtime and being compiled down into Intermediate Language.

Community

  • DDD9 – 29th Jan 2011 – Conference Schedule – The Community have spoken, the votes have been counted and now the DeveloperDeveloperDeveloper team can announce the finalised agenda for this January’s DeveloperDeveloperDeveloper 9 event – and it looks to be a cracking one once again. The next significant date is the 4th January 2011 at 13:37 when the registrations for the event open.

The Morning Brew #760

Posted by on 30 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Information

  • Foundations of Programming 2 – Chapter 2 – Yet Another IoC Introduction – Karl Seguin continues with the publication of the draft of the second edition of his Foundations of Programming e-book with a chapter on inversion of control. Karl is looking for feedback on these chapters before they make it into the final e-book.
  • ASP.NET MVC 3: Layouts and Sections with Razor – Scott Guthrie continues his series of posts on ASP.NET MVC 3’s new features with a post looking at using the Layout and Section functionality of the latest edition of the Razor view engine included in ASP.NET MVC 3, taking a step by step look at utilising it.
  • Reimplementing LINQ to Objects: Part 11 – First/Single/Last and the …OrDefault versions & Part 12 – DefaultIfEmpty – Jon Skeet continues with another two parts in his reconstruction of LINQ to Objects with a look at the First / Last and similar operators and exploring DefaultIfEmpty functionality, addressing each with a look at the desired functionality, a test case for the functionality and his new implementation.
  • Log4net Tutorial – Tim Corey gives a nice brief introduction to the configuration of the Log4Net Logging library in this CodeProject article, exploring the basic configuration and looking at some of the more commonly used appenders.
  • To ref or not to ref – Arun Mahendrakar discusses the use of the ref keyword when working with passing objects, discussing how it is different to passing normal references to object instances and illustrating the subtleties of this with examples.
  • Possible issue where .NET Framework 4 setup reports success but fails to update mscoree.dll behind the scenes – Aaron Stebner highlights an issue that can occur with the installation of .NET 4 on Vista, Windows 7, and Windows Server 2008 which results in you being unable to run .NET applications due to problems with the update to mscoree.dll
  • Commented Code == Technical Debt – Rod Paddock reminds us of the importance of removing commented out code and how discovering commented out code in a method causes comprehension issues with the code.
  • Using Sterling in Windows Phone 7 Applications – Jeremy Likness takes a look at the use of his Sterling object oriented database for Windows Phone and Silverlight, discussing the design principles and aims of the project and working through a simple example of creating an application using Sterling working from first principles.
  • Guide.BeginShowMessageBox wrapper – Daniel Moth shares a wrapper around the Guide.BeginShowMessageBox functionality from the XNA Tool kit allowing it to easily be used from Silverlight Phone applications, and provides enhanced functionality over the standard Silverlight Phone message box implementation.
  • Namespacing in JavaScript – Angus Croll shares a great insight into the various namespacing techniques in JavaScript.

Community

  • C# 5 – Async/Await – NxtGenUG Manchester welcome Jon Skeet to their Daresbury venue for a talk on the C#5 Aysnc / Await functionality currently in preview, exploring how the compiler deals with its use under the hood. The talk is being held on the evening of Wednesday 16th February 2011

The Morning Brew #759

Posted by on 29 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • SSMS Tools Pack 1.9.4 is out! Now with SQL Server 2011 (Denali) CTP1 support. – Mladen Prajdi? announces the release of the latest edition of his SQL Server Management Studio Tools pack, a suite of utility tools that bolt into the Management Studio IDE / Management Console. This new version fixes a number fo bugs and brings support for the SQL Server 2011 CTP release.
  • New Release Microsoft.Activities.UnitTesting 1.71 – Ron Jacobs announces the latest release of his Workflow testing framework for testing activities. This new release makes use of the Task Parallel Library to make testing easier using tasks to push episodes of work through the workflow.
  • ReSharper 5.1.2 Release Candidate – Jura Gorohovsky highlights the release candidate release of ReSharper 5.1.2 which will likely be released as an official release in mid-January. This release brings support for MSTest projects being re-targeted to .NET 3.5
  • "Azure Blob Studio 2011" A standalone utility and/or Visual Studio 2010 extension for Azure blob management (with VB source too) – Greg Duncan highlights the release of ‘Azure Blob Studio 2011′ a utility from Alessandro Del Sole which provides a standalone WPF client and Visual Studio 2010 Extension which allows you to work with files stored in Azure Blob Storage. Full source (in VB.NET) is available for these tools too.
  • CoffeeScript – CoffeeScript has reached its 1.0.0 release. This simple language allows you to write clear code and have it compiled down into real JavaScript which passes Lint, runs quickly and integrates well with any JavaScript Libraries.

Information

Community

  • An Introduction Into XNA – The Manchester / Warrington NxtGenUG are holding an event on the evening of Wednesday 19th January 2011 where Simon Jackson will be looking at building games for the Windows and Windows Phone 7 platform using the XNA game development framework.

The Morning Brew #758

Posted by on 24 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Today is the last Edition before Christmas, so I’d like to take this opportunity to wish all readers (who celebrate it) a very Happy Christmas.

As per normal Morning Brew rules, there will be no posts on the Christmas and New Year UK public holidays – this means the schedule for the next week or so will be complicated:

Saturday 25 & Sunday 26th December
Weekend, no Morning Brew
Monday 27th and Tuesday 28th December
UK Public Holidays (Christmas day and Boxing Day) – No Morning Brew
Wednesday 29th to Thursday 30th December
Morning Brew will be published – although likely to be later than usual publishing time.
Friday 31st December
Normal Morning Brew and End of Year Retrospective post
Saturday 1st – Monday 3rd January 2010
Weekend and UK Public Holiday (New Years day offset public holiday) – No Morning Brew
Tuesday 4th January 2010 and onwards
Back to normal publishing schedule

Without further ado, here are today’s links….

Software

  • ReSharper 6 EAP is Open; Details on JavaScript Support – The JetBrains team give us an early Christmas present with the launch of their Early Access program for ReSharper 6. This release brings JavaScript support to the tooling allowing navigation, inspection, refactoring, etc, CSS improvements, and brings code inspections to the VB.NET features.
  • SQL Scripts Manager: An Appreciation – William Brewer highlights the release of SQL Scripts Manager, a free tool from RedGate and SimpleTalk which provides a nice interface for managing and executing SQL Scripts. The program comes with a number of useful scripts to perform a variety of maintenance and performance related tasks.

Information

  • Reimplementing LINQ to Objects: Part 3 – "Select" (and a rename…) – Jon Skeet continues with a series from earlier in the year looking at implementing Linq-To-Objects again from first principles. In this post Jon highlights the availability of the source for the project on Google Code, and explores the implementation of Select.
  • Client-side model binding using ASP.NET MVC, jQuery and Knockout.js – Pete Sutcliffe takes a look at implementing model binding in Client Side Code using the jQuery and KnockOut JavaScript libraries, showing how combining these two can create powerful functionality quickly and easily.
  • JavaScript for C# developers: writing a library (part 4) – Julian M Bucknall continues with a series on writing libraries in JavaScript with this part looking at testing the created library using the QUnit JavaScript testing framework, popularised by its use in the tests for the jQuery Project.
  • Kill That Util Class! – Dhaval Dalal discusses the Utility Class anti-pattern, and looks at using Extension Methods in preference to create a better API and remove the need for calling methods on a Util Class.
  • What every developer should know about character encoding – David Thielen gives a brief discussion of character encoding and text files, sharing some best practice ideas for making sure you don’t get caught out by encoding problems.

Community

  • SQLBits – Beside the seaside – 7 – 9 April 2011 – Brighton – The SQLBits team have announced the plans for SQLBits 8 ‘Beside the Seaside’ to be held in Brighton, and will be in the familiar 3 day format, with day 1 and 2 being pay for pre-conference and deep dive events, and culminating with the Saturday Free Community day. SQLBits is one of my favourite community events and well worth checking out

The Morning Brew #757

Posted by on 23 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Selenium 2.0-beta-1 (WebDriver) released. – Paul Hammant highlights the release of Selenium Web Driver 2.0 Beta 1 on the ThoughtWorkers on Open Source Blog, the latest update in this product for controlling selenium browser based testing which is more mature than the beta label would suggest.
  • MonoDevelop plugin for F# now available – Don Syme highlights the efforts made by the Mono Project since the release of F# under an open source license to get support for the language into the Mono Platform.

Information

  • Free Training on HTML 5, JavaScript, and CSS – The Patterns and Practices Guidance Blog highlights a free series of university style training being offered by Mozilla and Peer to Peer University bringing 6-10 weeks of quality JavaScript, CSS and HTML5 training to you. Registrations open on 8th January 2011 and places are limited.
  • Service Oriented Design Pattern – Service Ping – Don Demsak starts out on a new series of posts looking at documenting service oriented design patterns in a format similar to the Gang of Four design patterns book. This first post looks at the Service Ping pattern to test a service end point.
  • How to Write a Repository – Phillip Calçado also posts on a patterns related theme, looking at the correct implementation of the Repository pattern.
  • Giving feedback on Visual Studio – some best practices – ‘Dougturn’ discusses the scale of feedback the Visual Studio 2010 team have received, discussing their processes for working with and responding to the feedback, and gives some pointers on giving good feedback and identifying the correct channel to send it.
  • ASP.NET MVC 3 Extensionless URLs on IIS 6 – Phil Haack discusses how running ASP.NET MVC 3 on ASP.NET 4 makes it much easier to get extensionless URLs working on IIS6
  • ASP.NET MVC3 Razor Script Loading Tips – Kazi Manzur Rashid takes a look at improving the loading of client side JavaScript in the Razor View Engine using the @Url.Scripts helper and some custom JavaScript to load further scripts. A Sample project is available.
  • C# Closure Constructors – Mike Hadlow looks at applying the Closure based class constructors popularised by Douglas Crockford in the JavaScript language to code in C#, showing how its implemented and asking for people thoughts on using this style of constructor method.
  • 10 tricks that will make your jQuery enabled site go faster – Anders Nygaard shares 10 recommendations for making your jQuery based JavaScript perform better

The Morning Brew #756

Posted by on 22 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Announcing HTML5 Labs – Jim O’Neil highlights the launch of the HTML5 Labs site, which features prototypes from Microsoft of the various unstable web standards specifications.
  • HTML5, Site-Ready and Experimental – Dean Hachamovitch gives more details of the launch of "HTML 5 Labs", and discusses the first of two prototype implementations currently on the site, the implementations of WebSockets. Also on the site is an implementation of the W3C draft specification for IndexDB, a database implementation for within the browser engine.
  • Visual Studio 2008 extensions for Windows SharePoint Services (VSEWSS) v1.3 Released – Paul Andrew announces the release of the Visual Studio 2008 extensions for Windows SharePoint Services V1.3. After a CTP release earlier this year this new version is ready for the big time and is localised into 9 languages, and includes support for x64 machines, improved deployment, command line builds, and much more

Information

  • VS2010 SP1: Silverlight 4 profiling from Visual Studio UI – Maxim Goldin takes a brief look at the improved Silverlight profiling functionality introduced as a part of the Visual Studio 2010 Service Pack 1 Beta release, showing how they are now supported within the VSProfiler environment.
  • Basic JavaScript Part 4: Enforcing New on Constructor Functions – Jan Van Ryswyck continues his series on the JavaScript language with a brief look at enforcing the use of the new operator on constructor functions within the language to ensure that the correct object instance is being created.
  • The Second Commandment: Thy entity shalt not participate in dependency resolution – Mike Hadlow takes a look at a common mistake people make while making the shift to using Dependency Injection and Inversion of Control Containers, discussing the importance of keeping your business objects free from dependencies, and sharing some techniques for making this work.
  • Basic Testing Tips – Marco Valtas shares some tips for writing unit tests, focusing on not testing things which are already a given. This article discusses testing in Java, however it is equally relevant for those of us on the .NET side of the fence.
  • Creating a Razor Helper for Inline content embedding – Pietro Brambati takes a look at creating a helper method for use in the Razor View Engine to generate HTML code in a way which can be reused throughout your system.
  • A Simplified Grid Markup for Silverlight and WPF – Colin Eberhardt shares a technique for creating grid based WPF and Silverlight user interfaces quickly and easily using simplified markup and a set of functions which wire the simplified markup up.
  • WPF – dynamically compile and run event handlers within loose XAML using CodeDom – Brian Lagunas builds on the work of his previous post about inline code in XAML, and the work of Rob Relyea and Daniel Paull to embed dynamic code within the XAML and have it compiled at runtime using CodeDom.
  • RavenDB – Document design with collections – Rob Ashton follows up on his post about implementing a StackOverflow type system using RavenDB, discussing some of the rationale behind how he structured some of the larger collections into separate documents rather than keeping them inside the document that owns the collection.

Community

  • DDD 9 – voting closes 24/12/2010 – Craig Murphy reminds us that just like the opportunity to pick out the perfect gift, DeveloperDeveloperDeveloper 9 session voting comes to a close on Friday 24th December 2010. Given the excellent range of proposed sessions, and the fact that only 1 in 4 will be able to feature in the actual event (due to space constraints) it is vital that you vote to express your preferences for the content you want to see.

The Morning Brew #755

Posted by on 21 Dec 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Visual Studio 2010 SP1 Interim Fix List – Jason Zander bows to public pressure and pulls together an interim list of the fixes included in Visual Studio 2010 SP1 Beta. This list is subject to change, and a full authoritative list will be published when the service pack meets its official release.

Information

Next Page »