January 2009

Monthly Archive

The Morning Brew #269

Posted by on 21 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Software

Information

  • DDD: Specification or Query Object – Greg Young looks at using Specifications with repositories and explores some of the ups and downs of this approach compared to the Query Object approach.
  • LINQ to Objects and Buffer<T> – Alex James talks about some problems he ran into when working with custom collection classes and LINQ to Objects due to incorrect counts being returned from the collection class.
  • BDD With MSTest – Eric Lee shares an adapter class which he is using to make writing BDD style tests using MSTest in his preferred style.
  • ADO.NET Data Services – Enforcing FK Associations and a Fix for Deleting Entities – Beth Massi continues her series on the ADO.NET Data Services frameowrk, and in this part looks at enforcing constraints between tables when creating and deleting entities.
  • Getting started with NLog – Mike Comstock explores getting up and running the the NLog logging framework
  • Design principles – Laila Bougria talks about a number of the best practice design principles for software development. Breifly covering Solid, DRY, YAGNI and the law of demeter with links to other resources on the subject.
  • CHESS: Find and Reproduce Concurrency Heisenbugs – Madan Musuvathi shares some details of the CHESS project from Microsoft Research. This project provides a custom scheduler for threading which aims, with unit tests to find concurrency bugs in code by analysing different ways the code could be run. CHESS was featured on the MS Research at PDC edition of the Hanselminutes podcast.
  • Custom ASP.NET Server Controls and Language Localization – Dan Wahlin looks at using satellite assemblies for localising his ASP.NET Server Controls
  • How does ASP.NET MVC work? – ‘gopalk’ explores how ASP.NET MVC works within the ASP.NET Environment, looking at how your requests get from IIS to the ASP.NET MVC execution.
  • Functional Programming Unit Testing – Using Type Classes – Matthew Podwysocki continues his series on Function Programming Testing with another look at QuickCheck and FSCheck, this time looking at the concept of Type Classes for implementing operators for property based tests.
  • Fluent NHibernate: Auto Mapping Components – James Gregory continues his series on the Fluent NHibernate project with a look at automapping for components from database columns in the same table as the entity data to a related object off the entity.
  • Enterprise Library Logging 101 – David Starr shows the steps required to get up and running with the Patterns and Practices Enterprise Library Logging Framework.

Community

  • Last call for Thursday: opensource .net mini conference in London – Gojko Adzic reminds us about this Thursdays Open Source .NET exchange conference in London. This evening conference has an impressive agenda and will be covering a good number of interesting topics. There are over 200 people registered for this free event, however there are still spaces available, but you do need to register before the event.
  • Inaugural Meeting Of The Gloucestershire .NET User Group – Guy Smith-Ferrier announces the line up and date ffor the first meeting of the new Gloucestershire .NET User Group
  • Introducing DotNetShoutout.com – Kazi Manzur Rashid announces the launch of DotNetShoutOut.com, a site running on the KiGG codebase, which was developed as a sample application based on ASP.NET MVC and borrowing heavily from the ideas behind sites like Digg.
  • Did You Know? I’m speaking at a the SSWUG Virtual Conference! – Kalen Delaney is going to be speaking at the SSWUG SQL Server virtual conference to be held on 22nd-24th April. Kalen has a discount code which entitles you to a further discount on top of the early bird rate of $80.

The Morning Brew #268

Posted by on 20 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • S#arp Architecture Beta 1.0 now available! – Billy McCafferty announces the bet release of this S#arp Architecture project, based on and integrating Castle Windsor, NHibernate, JSON,NET, Fluent NHibernate, NHibernate Validator, and many others into a full application framework, along with a load of documentation.

Information

  • ASP Dynamic Data Preview – More ways to exploit ADO.NET Data Services for fun and profit – Scott Hanselman takes a look into some of the new features of the ASP.NET Dynamic Data 4.0 Preview 2 release showing how the framework gives your lots of functionality out of the box
  • EnumHelper – Getting a Friendly Description from an Enum – Grant Barrington looks at how you can give your Enum values a textual description with an attribute and helper method.
  • IRepository<T>: one size does not fit all – Richard Dingwall looks into repositories, looking at four different styles of repository implementation.
  • Writing Unit Tests That People Can Read – Eric Lee talks about unit testing, and examines a number of the current trends in the field – AAA (Arrainge Act Assert) mocks, BDD (Behaviour Driven Design) and Specifications
  • Back to basics: Why use garbage collection – Abhinaba Basu looks at why we have Garbage collection, and what can go wrong when you don’t have managed GC.
  • Castle ActiveRecord and Linq – Ryan Schreiber shares the binary fruits of his labours building Castle Active Record with the latest NHibernate and NHibernate.Linq to add Linq support to Active Record.
  • F# vs C# vs Java: Functional Collection Parameters – Mark Needham explores three of the common functional programming collection operations in three languages, Map, Reduce and Filter, comparing the implementation in F# with taht in C# and Java
  • Named Format Strings – ‘roboto’ provides his take on the Named Format String topic started (most recently) by Phil Haack. Roboto provides his own implementation, which from his benchmarks seems to be the fastest.
  • Exception Concepts for Business Applications. – Adriaan Davel talks about the use and handling of exceptions in Business Applications in this CodeProject article. Adriaan looks at what you can do with exceptions (handling and logging) and also breaks the types of exceptions your business tier may throw down into common types of exception
  • UI Patterns for WPF – Christopher Bennage begins a series looking at UI patterns, starting out with some background on why we want patterns, and taking a quick look at Model-View-Presenter and autonomous view.

Community

  • Virtual TechDays – Microsoft are running three days of Virtual Technology events in mid February, with two tracks on the first day (one developer one IT Pro) and 5 on teh second and third (3 Dev, 2 IT) with a wide range of topics this looks like it will be well worth checking out. The event runs 10am – 5pm (GMT+5:30).

The Morning Brew #267

Posted by on 19 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Today’s edition is a bumper one with the .NET community having had a busy blogging and software publishing weekend.

Software

  • NHibernate.Linq Alpha Released – nhusers – NHibernate.Linq is a Linq implementation for NHibernate 2.0.1 GA users. This initial release is using the NHibernate Criteria API under the covers, however the plan is to move away from this in the future. The alpha version query support is limited and is missing group joins and subqueries in select clauses.
  • ASP.NET Session Monitor 1.0 Released to MSDN Code Gallery – Colby Africa announces the release of a tool to help inspect and monitor the contents of SQL Server backed ASP.NET Session information, which grew out of some real debugging requirements from the past.
  • Prism V2 – Drop 9 Now Available – The 9th development release of Prism means that they are getting very close to their mid-February final release. This release focuses on the documentation and also a re-skinning of the sample application
  • PostSharp – Announcing PostSharp 1.0 SP1 – The PostSharp team announce the release of Service Pack 1 for PostSharp 1.0, fixing a number of issues in the 1.0 release and adding some significant performance improvements.
  • NUnit 2.5 Beta 2 – NUnit 2.5 moves on to its second beta release which now supports Theories, updates to the assertation helper, support for difference CLR versions and some changes the the GUI runner.

Information

  • DDD: The Generic Repository – Greg Young looks at the generic repository and questions its direct use, suggesting an alternative use where the generic repository is housed inside a custom repository to avoid having generic functionality exposed which could allow client code to do anything they wanted. Mike Hadlow has also been continuing his exploration of repositories with a look at whatEric Evans has to say about the repository
  • Why Oslo is Important – Dan Vanderboom explores Oslo examining why people are confused about Oslo and looking at the what and why of the various components that make up Oslo.
  • Limiting Code Comments Increases Maintainability – Jeffrey Palermo discusses the use of comments in code, and suggests that by limiting the need for comments (i.e. making your code more understandable and readable) your code will be more maintainable (as the comments that are there won’t go out of date and the code speaks for itself).
  • The danger of commenting out code – Mark Needham is also talking about comments, but this post is about the commenting out of code, and how it is a bad practice when you have any level of version control involved.
  • Abstracting Request State – Davy Brion talks about the danger of using threadstatic storage for request scoped objects in ASP.NET and looks at providing an alternative abstraction to support storage of request scoped objects for ASP.NET and WCF code.
  • Language Envy – String Interpolation – Sergio Pereira is envious of the support for combining string literals and variables in other languages, and suggests some possible equivalent C# syntax for the future. Some suggestions ensue in the comments to the post.
  • How big is a string in .NET? – Jason Crease examines the size of the string data type and also explores the behaviour of strings and the stringbuilder class.
  • Building Scalable Databases: Pros and Cons of Various Database Sharding Schemes – Dare Obasanjo looks at sharding techniques in the database and how it can be achieved and what the effect on your data access code is.
  • Mono vs. .NET Framework: Public API Compatibility – Patrick Smacchia uses NDepend to analyse the level of compatibility between Mono 2.0 and .NET 3.5 SP1, detailing the areas of the framework that are not well supported.
  • How to unit test this code? – Scott Dorman asks how he can unit test code that tests Operating System and Hardware types. Some interesting comments associated with this post
  • An Illustrated Guide to Git on Windows – The Git version control system has become increasingly popular in recent months, and this nice step by step guide to getting it working on Windows with the GUI is a really nice introduction to the Git system.
  • Gotchas: Migration from IIS6 + SQL 2005 (32-bit) to IIS7 + SQL 2008 (64-bit) – J Kealey shares some of the problems and solutions involved in migration from 32bit IIS6 to 64bit IIS 7, and moving from MS SQL 2005 32bit to MS SQL 2008 64bit
  • Microsoft .NET Services Whitepapers by Pluralsight – Aaron Skonnard announces 4 white papers from Pluralsight on the .NET Services which are a part of the Azure Services Platform, covering introductory topics for developers,access control, the service bus and the workflow service.

Community

The Morning Brew #266

Posted by on 16 Jan 2009 | Tagged as: .NET, Development, Morning Brew

I spent quite a lot of time yesterday investigating some interesting deadlocking issues in a SQL Server 2000 database – If I get the chance I may write up my findings into a blog post over the weekend.

Software

Information

The Morning Brew #265

Posted by on 15 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Software

Information

  • How do you know your code works? – Chad Myers explores the four types of additional code he writes (above and beyond the actual production code), and talks a little about each type.
  • The Story of the Lazy-Loading Lunchbox – Dylan Beattie explores a number of software development concepts using analogies with his life as a child and his school lunchbox and rucksack. Excellent reading, and some novel explanations of interesting concepts.
  • A new breed of magic strings in ASP.NET MVC – Jimmy Bogard identifies the heavy use of Anonymous Types in ASP.NET MVC as an instance of ‘magic strings’, and looks at alternatives to this.
  • Automatic vs Explicit Properties – Eric Lippert explores a readers concerns about automatic properties and using them inside the implementing class rather than using the private backing fields.
  • Monitoring HTTP Output with Fiddler in .NET HTTP Clients and WCF Proxies – Rick Strahl shows how you can use Fiddler, the HTTP proxy for developers, to capture output and input from .NET code (both HTP client and WCF client code)
  • Avoid object initializers & the using statement – Ayende highlights a problem with using object initialisers with the using statement, and how an exception in any of the properties being set will cause the object to not be disposed correctly.
  • Named Formats Redux – Phil Haack follows up his recent post on Named Format String replacements with two reader submitted solutions to the problem.
  • Windows Azure – Breaking It Down – Justin Etheredge shares his intial thoughts, based on a few days experimentation, on Azure and the Live, .NET and SQL Services
  • Behavior-Driven Development with NBehave – Dmitri Nesteruk explores Behaviour Driven Development using NBehave and MUnit illustrated with a simple bank account example.
  • Using PostSharp without installing via the MSI – Scott Wojan briefly outlines the steps required to get PostSharp working without actually installing it, allowing you to make your projects more portable and reduce the dependency of having to install the framework.
  • Astonishment Principles and Framework Behavior – K. Scott Allen illustrates the Principle of Least Surprise with a before and after example using the .NET XML functionality and the new XML API based on XElement.

Community

The Morning Brew #264

Posted by on 14 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • Selenium: New Selenium Releases Today – The team behind Selenium, the web application browser testing framework announce the second beta release of version 1.0. A final release will be made once the documentation is up to date.

Information

  • In search of Wild Repository – Mike Hadlow explores a few different implementations of the Repository in the wild (open source software) with a look to identifying common and best practices in their implementation and interfaces.
  • How would the CLR Be Different? – Matthew Podwysocki explores the question ‘given what you know now, what would you have done differently if you were constructing the CLR?’
  • Open Generic Types in StructureMap – Jeremy D. Miller demonstrates how StructureMap supports Open Generic Types with an illustrating real world example.
  • Hardcoding Considered Harmful – or is it? – Jeffrey Palermo talks about the (bad?) practice of hard coding values in your code, and asks if this is really a bad thing
  • Making the Entity Framework Fit Your Domain – Part 2 – Justin Etheredge continues his series on fitting the Entity Framework into your real domain model. In this part Justin looks at how he actually got the domain model working with EF and explores some of the interfaces and code he needed to provide.
  • Custom Configuration Sections for Lazy Coders – John Whitmire constructs an increasingly feature rich custom configuration section handler including read write access to the config
  • Not more excuses of missing indexes with Activity Monitor in SQL Server 2008 – Bill Ramos give a visual tour of the new Activity Monitor in SQL Server 2008. This looks like it is really good, offering suggestions for indexes and making it much easier to identify bad queries.
  • How to Copy an Assembly From the GAC to the File System – John W Powell looks at three ways you can actually obtain the real DLL of the libraries in the GAC, working around the Windows Explorer special view you get for the c:\windows\assembly directory.
  • Timeout Workaround – Andrew Conrad of the Astoria Team talks about the recommended work around for a bug in the ADO.NET Data Services which should help you avoid problems when the actual issue gets fixed.
  • XAML guidelines part 3 – Jaime Rodriguez shares his XAML guidelines documentation which includes common and best practices and views from multiple developers. Jamie is clear that this is a work in progress so is very open to hearing suggestions of other things that should be covered.
  • Vulnerability of the Dynamic Linq – Rinat Abdullin talks about the dangers of allowing your users to run arbitrary queries (in this case Linq), and how you can help defend your application from the potential problems when you do need to to allow this.
  • Fluent NHibernate: Mapping private and protected properties – James Gregory continues his exploration of Fluent NHIbernate looking at 3 techniques for mapping to private members with details of the Pros and Cons of each method.

The Morning Brew #263

Posted by on 13 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • StructureMap 2.5.2 is Released – Jeremy D. Miller announces the release of Structure Map 2.5.2, an update to his IOC/DI framework containing a number of new features outlined in this post. Another nice feature of this post is Jeremy looking back at the development timeline of the product so you can see the level of effort that has gone into it.
  • Beta Release of Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 – The Sandcastle blog highlights the availability of a Beta release of the Windows SDK for Windows 7 and .NET 3.5 SP1, which contains a huge range of documentation and samples showing off a number of the new features. Available to download as an ISO image.
  • Topshelf – Dru Sellers announces his new project, based upon the MassTransit.Host project it is an extraction of the service hosting logic which provides a nice wrapper for the standard service related code, allowing you to get on with your implementation.

Information

  • Why ASP.NET Developers Should Care about Windows Azure – Stephen Walther talks about why he believes that ASP.NET Developers should care about Windows Azure, how it takes care of a number of the difficult aspects of creating high traffic / performance websites, along with a number of other uses.
  • Open XML SDK… The Basics – Ali , a Developer on the Word team, gives an overview of the ideas behind the design of the Open XML SDK, and looks at how the API relates to the XML structure.
  • More OODB Crazy Talk – Rob Conery follows up on his recent Alt.NET Podcast appearance with some more information about Object Oriented Databases, and how they can be used.
  • Introducing the ASP.NET MVC (Part 6) – The View – Nick Berardi continues sharing the latest chapter from his upcoming ASP.NET MVC book, this time introducing the View.
  • Should my repository expose IQueryable? – Mike Hadlow argues for allowing IQueryable to escape from his Repositories to allow query execution to take place elsewhere
  • A Dissertation on .NET Properties – John Rudy looks into Properties in .NET exploring their use, the different types and how they are implemented in IL.
  • WCF 101 – Creating and consuming a basic WCF Service hosted in IIS – Tess Ferrandez runs through the steps of creating a WCF service hosted in IIS, from the creation of the project, through to consuming the service from another web page, providing a nice end to end run through of what is involved.
  • TestAPI Library Usage – ‘llester’ takes a look at the test scenarios currently supported by this library of helpers to assist in the testing of WPF/Winforms applications. Features currently include the ability to compare an area of the UI to a reference image, support for simulating input, a command line parser, and UI automation helpers. The TestAPI library is available from CodePlex and is still under development.
  • An Introduction to Native Concurrency in Visual Studio 2010 – Atilla Gunal gives an overview of the architecture of the concurrency features of Visual Studio 2010/.NET 4.0
  • F#: Partial Function Application with the Function Composition Operator – Mark Needham explores Function Composition in F#, illustrating with some examples from different well known names in the F# space.

Community

  • Save The Videogame – ThoughtWorks Manchester GeekNights – The Manchester (UK) GeekNights organised by ThoughtWorks kick off again on Thursday 22nd January, with a talk entitled Save the Videogame, and a discussion on agile development practices for game development. These events have proved to be very interesting in the past and a great way of meeting other developers from across the North West.
  • Call For Speakers: DDD Ireland “ah go on!” – Craig Murphy highlights the opening of the call for speakers for the Developer Developer Developer Community Event to he held in Belfast on Saturday 4th April. Having attended this format of event a number of times in Reading I thoroughly recommend attending, and if you are attending why not speak at the event too!
  • GL.net – A new .NET User Group has formed in Gloucester, UK – if this is your neck of the woods, you may want to check this out – their first meeting will be occurring in February (ViaColin Angus Mackay

The Morning Brew #262

Posted by on 12 Jan 2009 | Tagged as: .NET, Development, Morning Brew

Software

  • xVal – a validation framework for ASP.NET MVC – Steve Sanderson announces xVal, a validation framework for ASP.NET MVC which aims to bring together serverside and client side validation, follow ASP.NET MVC conventions and provide choice on the implementation of the client side validation.
  • Ora, The Region Alternative – Greg Duncan highlights a Visual studio 2008 add-in which provides a tree view of the current class divided into the various regions of code that many of us put in manually using #region statements.

Information

Community

  • F# Programming Contest, by Kean at AutoDesk – Don Syme highlights a contest being run by AutoDesk (of AutoCad fame) where you can win a copy of Don’s excelent book ‘Expert F#’ by submitting some F# which performs some task in one of AutoDesk’s products.

« Previous PageNext Page »