January 2010

Monthly Archive

The Morning Brew #528

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

Looking forward to the 8th DeveloperDeveloperDeveloper conference down in Reading tomorrow. As always, if you are there and spot me, please come over and say hello.

Software

  • Announcing PostSharp 2.0 CTP 3 – Gael Fraiteur announces the release of the 3rd CTP release of PostSharp 2. This release is mostly a bugfix release over the previous CTP2 release and is set to expire on 1st March 2010
  • Microsoft All-In-One Code Framework 2010-1-25: brief intro of new samples – All-In-One Code Framework got an update earlier this week which added a number of new samples for Azure, WorkFlow, Visual Studio Extensibility, and much more
  • NDepend v3 is now 100% integrated in Visual Studio – Patrick Smacchia talks about the new NDepend 3 Beta, and how it integrates tightly withVisual Studio, and the lengths they went to in ensuring that it performs well in the IDE. The Beta is available now, and works with VS 2005/2008 with support for some VS2010 builds.

Information

The Morning Brew #527

Posted by on 28 Jan 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • Data Services Update for .NET 3.5 SP1 – Now Available for Download – Mike Flasko announces the (re)release of an updated version of the ADO.NET Data Services 1.5 (which is now called Data Services) with separate releases for Windows 7/2008 and other Windows editions. This release includes a number of new features including URI support for projections, feed customisation and two way data binding support.

Information

  • NHibernate new feature: Lazy Properties – Ayende introduces a new feature for NHibernate, the ability to have properties which are lazy loaded only on first access, useful for properties which contain lots of data that may not be needed in all cases. Currently this implementation is in the trunk version and will only work with the Castle Proxy Factory, and has no implementation in the critiera API.
  • Transparently releasing components in Windsor – Krzysztof Kozmic proposes some functionality for the Castle Windsor container to allow it to not just manage the lifecycle of the components it brings into being but to manage the release of these components without your intervention, backing the ideas up with a simple (and not production ready) prototype implementation.
  • .NET 4.0 and System.Collections.Concurrent.ConcurrentBag – Justin Etheredge explores the Concurrent Bag implementation included in .NET 4’s Concurrent Collections, looking at it in uses and the facility it provides to allow you to parallel program efficiently against it.
  • It’s the maintenance, stupid! (or: Something is rotten in developerland.) – Thomas Weller shares a well thought out and researched piece on the problems with software development in terms of maintenance of existing projects, looking at the factors which makes maintenance more difficult.
  • The Weekly Source Code 48 – DynamicQueryable makes custom LINQ expressions easier – Scott Hanselman follows on from his previous Weekly Source Code post revisiting the problem and (with the help of some community members) finding an improved solution.
  • Securing Your Agatha Service Layer – Davy Brion talks about implementing security within his Agatha Service Layer project, which can be achieved by the usual WCF security methods, or as Davy explores in this piece by implementing custom authentication into the request processing.
  • Hacking Mono.Cecil – allowing invalid opcodes – Paul Mason continues his series of posts on obfuscation with a look at hacking Mono.Cecil to allow it to happily ignore invalid opcodes and therefore read assemblies which contain them.
  • Converting An Enter Key Press Into A Tab Key Press For Web Forms – Brian Jackett shares a simple bit of JavaScript which converts enter key presses into tabs having the effect that the enter key will move you into the next field on the Web Form rather than submitting the page.
  • Simple Query Results Caching with EF4 – Danny Simmons explores Caching query results in Entity Framework 4, addressing a particular problem he encountered in the field, and highlighting a few useful .NET 4 and EF4 features along the way.
  • Automated WPF functional tests using White – Laurent Kempé highlights a tool from ThoughtWorks which allows you to write functional tests for Rich Client Applications (Win32, WinForms, WPF, Silverlight and SWT) in .NET languages. White is based in the Microsoft UI Automation library, but abstracts away a lot of the complexity. Looks like a project to watch.

The Morning Brew #526

Posted by on 27 Jan 2010 | Tagged as: .NET, Development, Morning Brew

Information

  • Type initialization changes in .NET 4.0 – Jon Skeet looks at the differences in type initialization between .NET 3.5 and .NET 4, showing that .NET 4 has become more lazy than 3.5 about when it initializes types, waiting longer before actually doing the work.
  • FAQ :: Are all of the new concurrent collections lock-free? – ‘dashih’ discusses the use of locks within the new concurrent collections available in .NET 4 and how they are not completely lock free, utilising locks in certain places, but do use lock-free techniques to increase performance in certain areas.
  • Translating routes (ASP.NET MVC and Webforms) – Maarten Balliauw explores the use of Routes to provide translated URLs in WebForms and ASP.NET MVC instead of using country code and English phrases for the URL, with full support for all the MVC features such as action link and controller identification.
  • I just installed Visual Studio 2010, now how do I get Code Contracts? – Melitta Andersen talks through the process of getting the new Code Contracts functionality in your Visual Studio 2010 install, highlighting the separate installer and the project property that needs setting to enable the functionality.
  • Simulating Snakes and Ladders with a PLINQ Turbo boost – Samuel Jack looks at modelling the game of Snakes and Ladders and then set about analysing (by way of simulation) the typical lengths of game you can statistically expect, looking at improving the performance of the simulation using Parallel Extensions to LINQ,
  • View Models in ASP.NET MVC – Simon Ince answers the question ‘Should I have a view Model in my ASP.NET MVC architecture?’ very quickly and then shows three ways of coding starting from the no view model, moving through a container view model and finally to a true view model implementation.
  • Cross-thread operations with PostSharp – ‘Lesnikowski’ look at using PostSharp to inject code on method start to provide an easy means of calling methods on Winforms controls from any thread and ensuring that the call is made with BeginInvoke
  • Software Development Do’s and Dont’s – Michael Ceranski shares some of his wisdom gained over the years in the form of some do’s and don’ts con software development practices
  • Command Query Responsibility Segregation – Udi Dahan – Mark Harris shares video of Udi Dahan’s recent talk on Command Query Responsibility Segregation delivered at the Victoria .NET Dev SIG on 19th Jan 2010.
  • Microsoft Ajax Content Delivery Network – Microsoft have updated their JavaScript CDN to include versions 1.4 and 1.41 of jQuery in addition to the 1.3.2 release. The one thing that does appear to be missing currently is the VSDOC version which gives intellisense in Visual Studio – hopefully that will appear soon.

Community

  • Brighton ALT.NET Beers – 2nd February at The Skiff – Mike Hadlow gives notification of the next Brighton Alt,Net Beers event, to be held at a new venue, ‘The Skiff’ a co-working space in Brighton. Other than the location the format of the event will be as usual starting arround 7PM

The Morning Brew #525

Posted by on 26 Jan 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • jQuery 1.4.1 Released – Hot on the heels of jQuery 1.4 comes the 1.4.1 release. This is mostly a bug fix release with other 20+ bugs addressed in the release, which also includes some API changes to address gaps in the product.
  • IronJS – IronJS is a new project which aims to bring an ECMAScript 3 engine to the .NET framework via the Dynamic Language Runtime, and is built on .NET 4 Beta 2. The current version implements most of the ECMA standard, and the code should be considered alpha quality.
  • "Test Scribe" Test Plan Tool Released for VSTS 2010 – David Baliles highlights the release of TestScribe a tool which connects to Visual Studio Team System and allows documentation to be generated in the form of a Word document from the test plans held in VSTS.

Information

  • Measuring the Performance of Asynchronous Controllers – Steve Sanderson explores the use of Asynchronous Controllers in ASP.NET MVC 2 taking a look at their performance under heavy load, along with looking at some of the things that can catch you out when using them.
  • .NET 4.0 and System.Threading.Tasks – Justin Etheredge explores the new .NET 4 tasks multi-threading functionality, showing how it improves on the best solutions currently available in pre .NET 4 code
  • Using the Domain Service in ASP.NET Applications – ‘morebits’ shares some early documentation for the WCF RIA Services on how to access the domain services from an ASP.NET Web page, taking a step by step approach through the creation of a simple sample.
  • Use Sensible Long-Lived Cache headers – Eric Lawrence talks about the Cache Control Max Age response header, and how by choosing very large numbers (larger than the spec allows) you may cause your items to not be cached at all.
  • KISS Your ASP.NET MVC Routes – K. Scott Allen looks at the KISS (Keep It Simple Stupid) rule and how you should apply that to your ASP.NET MVC Routing rules.
  • Why are unused using directives not a warning? – Eric Lippert addresses a common question about the using directives which import namespaces, and why unused ones do not generate any form of compiler warning.
  • Don’t Use Try/Catch – Karl Seguin discusses whether you should be catching exceptions at low levels in your code or allowing them to bubble up higher, and talks about how you should never catch and ignore exceptions.
  • A Kick in the Monads – Creating Extended Builders Part III – Matthew Podwysocki continues his series of posts on F# Monads and expression builders with a look at implementing While and For loops and the use of yield.
  • jQuery Code Does not have to be Ugly – Steve Wellens takes a look at writing cleaner more understandable jQuery code.
  • Call for a Programming Language – John Sonmez considers how programming might be if things like Dependency Injection were baked into the language, along with a few other enhancements and illustrates with his new make believe language Tea# which shows these features in operation.
  • Being an Evil Genius with F# and .NET – Chris Smith shares his slides and notes from a recent presentation at the CodeMash Conference where he looked at using F# and .NET to become an evil genius. This has to be one of the more inventive sessions I’ve heard about, and I like the way Chris has hooked the concept into all his real F# examples.
  • Chrome OS the Web based OS of 2010? Nah, Win 3.11 :) – Ajaxian highligihts an entirely web based implementation of Windows 3.11 created using XHTML 1.0 strict, JavaScript and Ajax. Pretty impressive stuff, and performs as well as I remember Windows 3.11 working on my old 386.

Community

  • Next European VAN on 08 February 2010 – The Europe Virtual ALT.NET season kicks off on 8th February with a session from James Gregory (most well known for Fluent NHibernate) talking on the Git Distributed Version Control application, focusing on getting started with Git.
  • Aspect oriented development – The NxtGen Usergroup have Steve Strong visiting in April this year and he will be giving a talk on Aspect Oriented Programming at the Hereford branch of the NxtGen UG.

The Morning Brew #524

Posted by on 25 Jan 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • FluentValidation 1.2 beta 1 available – Jeremy Skinner announces the Beta 1 release of the FluentValidation 1.2 library. This release includes ASP.NET MVC2 support, along with control of the validation cascade, new validation syntax, along with a breaking change in the form of the removal of DefaultResourceManager.
  • Snippet Designer 1.2 Beta Release with Visual Studio 2010 Support – Matt Manela announces the latest beta release of Snippet Designer, a Visual Studio IDE plugin which makes it easier to construct snippets for us in your code. This release adds support for Visual Studio 2010
  • Just released System.Web.Mvc.Extensibility Beta – Kazi Manzur Rashid announces the beta release of his ASP.NET MVC library System.Web.Mvc.Extensibility. Available for both ASP.NET MVC 1 and ASP.NET MVC 2, this beta release contains a number of changes and improvements over previous editions.
  • Service Pack 2 for Telerik Extensions for ASP.NET MVC released – Telerik announce an update to their Open Source ASP.NET MVC library. This release includes an upgrade to jQuery 1,4 which can be considered a breaking change if you are already using 1.3.2 in your sites for your own code.

Information

The Morning Brew #523

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

Software

Information

  • How to Change .NET Configuration Files at Runtime (including for WCF) – Youssef Moussaoui looks at how you can have a running application pickup changes to its configuration file by using the RefreshSection method of the Configuration Manager, allowing your changes to take effect without a restart of the process.
  • Constructor over-injection smell – follow up – Jeffrey Palermo follows up on his Constructor Injection Anti-Pattern post with a more gentle titled post responding to the feedback received. This post includes a more comprehensive example which aims to show the pain that can be caused by this code smell
  • What’s the difference between a destructor and a finalizer? – Eric Lippert continues his series of ‘what’s the difference’ posts with a look at the meaning of destructor and finalizer and how they relate to the C# and CLR specifications for such things.
  • Much Ado About Monads – Creating Extended Builders Part II – Matthew Podwysock posts the second part of his Extended Builders posts looking this time at exception and resource handling for the custom computation expressions and the methods you can implement for this.
  • Is my code Fluent? – Joe takes a look at the concept and definition of a Fluent Interface showing the implementation and use of a simple example of a fluent interface which fits this definition
  • 18 Questions to ask yourself when choosing continuous integration and build automation tools – Roy Osherove shares some questions that he feels are important in helping to decide what CI and build automation tool to use. Some of these are the obvious ones (Cost, support) where as others highlight areas where tools differ greatly.
  • Removing Invalid OpCodes From Obfuscated Assemblies – Paul Mason continues with his series of posts looking at building the NCloak code obfuscator, and in this part looks at the use of invalid opcodes and how they can cause problems, and how you can remove them.
  • Sorted with F# custom operators – Phillip Trelford looks for a use of the F# custom operator functionality and comes up with a football (soccer for those in the US) related example to perform custom sorting on sets of data
  • Server-side resizing with WPF: now with JPG – Bertrand Le Roy’ follows on from his experiments with using WPF to perform image manipulation rather than GDI+ with a look at outputting in JPEG format, comparing the quality with the PNG output.
  • Advanced StructureMap: Diagnosing problems – Jimmy Bogard takes a look at diagnosis processes for StructureMap configuration problems, looking at how you can test the configuration using automated tests, and looks at how you can perform simple diagnostics using StructureMap functions to gain better insight at what is going on
  • Why ASP.NET MVC 2 is Broken – Steve Mason posts about some of the parts of ASP.NET MVC2 which he feels are underdeveloped, or not quite ready for use, discussing those bits of functionality and doing a good job of updating the post with information as others respond to it. Interesting reading.
  • The many cases of ByRef – Jared Parsons looks at the different forms that the CLR support for ByRef arguments can come in

Community

  • Architecture Analysis Webcast 9am Friday – Jeffrey Palermo highlights a webcast event from the International Association of Software Architects which is being held today at 9:00 AM CST. This session will focus on some of the fundamentals of architecture focusing on ayering and dependency breaking

The Morning Brew #522

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

Software

  • Reflector Pro moves into beta! – Alex Davies highlights the Beta release of Reflector Pro, the commercial version of the Reflector tool aquired by RedGate last year. Reflector Pro includes Visual Studio integration, and the tool has had a number of improvements and enhancements, along with the inclusion of .NET 4 support.
  • ASP.NET Support in ReSharper 5 – Hadi Hariri shows off some of the ASP.NET related features of Resharper 5, illustrating with screenshots of the features in use.
  • .Net Coding metric released – Garren Smith releases a simple code metrics tool built on Mono.Cecil. Currently the tool calculates lines of code per method and cyclomatic complexity. Licensed as open source, the code is available on GitHub

Information

The Morning Brew #521

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

Software

  • Firebug 1.5 released! – Alix Franquet highlights the release of FireBug 1.5 king of Firefox developer tools which provides debugging support for CSS, HTML and Javascript. The 1.5 release is a major upgrade with a good number of really useful new features.
  • New Cumulative Updates for SQL Server 2008 RTM & SP1 – Aaron Bertrand highlights the release of new Cumulative Updates packages for SQL Server 2008 in both SP1 and RTM configurations.

Information

  • How many PCs in the world have the .NET Framework installed? – Scott Hanselman shares some of the official numbers about installed base of .NET based on information from Windows Update and other sources. Useful numbers to have one hand.
  • Building an External DSL in C# – Nicholas Blumhardt looks at building a Domain Specific Language using C# and the Sprache parser creation library to create a questionnaire DSL example with source code provided for the sample.
  • Use .NET Built-in Methods to Save Time and Headaches – Shay Friedman looks at common pieces of code that have better alternatives backed into the framework which provide safer and better solutions to this common programming requirements.
  • 10 Advanced Windsor Tricks – 7. How to Write a Facility – Mike Hadlow presses on with his series of posts looking a the Castle Windsor Containers more advanced use cases with a look at creating your own facilities which provide the means of extending the behaviour of the container.
  • Dependency Injection Inversion Rejection – Davy Brion picks up on some of the points in Uncle Bob’s recent post on Dependency injection mostly discussing the flip side of the pointsand how the suggested usage still causes too much coupling to the container. Jimmy Bogard also follows up on the same topic with his post Poor use of DI versus need for DI.
  • Constructor over-injection anti-pattern – Jeffrey Palermo looks at a Dependency Injection Anti-Pattern where constructors require lots of dependent objects passing in and where some (or all) are not required for the operation of the component.
  • LINQ to Rx: second impressions – Jon Skeet follows up on his first discussion provoking post about the Reactive Extensions posting up a summary of some of the discussion clarification setting the record straight.
  • Are ORMs Solving Anything? – Shawn Wildermuth posts a discussion starting post about whether Object Relation Mapping Frameworks are helping or hindering. Lots of interesting discussion in the comments of this one, and I suspect there will be some follow-up posts before too long.
  • Whither Alt.Net? – Ian Cooper discusses the current state of the Alt.Net Movement and reviews the initial progress of the movement, along the way comparing the motives to that of movements like Software Craftmanship. Discussion is starting in the comments and Sergio Pereira follows up with his post On ALT.NET and patience looking at the sorts of people involved in the movement and appealing for a little patience as changing ingrained behaviour takes time.

Community

  • SQL Server Usergroup – Dundee Event Tonight – SQL Server MVPs Tony Rogerson and Allan Mitchell will be running a free event this evening at the Queen Mothers Building in Dundee University this evening with talks on Integration Services, SQL Server tools, along with a discussion about identity keys and a general Q&A Session

Next Page »