January 2011

Monthly Archive

The Morning Brew #781

Posted by on 31 Jan 2011 | Tagged as: .NET, Development, Morning Brew

I had a splendid weekend at the DeveloperDeveloperDeveloper 9 conference in Reading – it was a great event, with wonderful content and excellent people. I will be posting a DDD9 link round up later this week (to give people some time to blog about it – if you do get in touch).

Software

  • Announcing PostSharp 2.1 CTP 1 – Gael Fraiteur announces the first CTP release of PostSharp 2.1, the .NET Aspect Oriented Programming Framework. This new version brings considerable build time performance improvements making builds of projects which utilise PostSharp considerably quicker.
  • Hobocopy Lives! – Craig Andera has been able to give some attention to an old project of his – HoboCopy is a RoboCopy clone which utilises the Volume Shadow Copy service to allow it to copy locked files.
  • Debug Analyzer.NET – A debugging utility, written in .Net, for .Net developers, to help debug .Net applications – Greg Duncan highlights Debug Analyzer.NET, a tool hwhich helps take the pain out of performing analysis on memory dumps and allows you to use pre-defined analysis routines against your own memory dumps to help identify problems.
  • Microsoft Research Released Windows Phone 7 + Cloud Services SDK (Codename – Project Hawaii) – Avkash Chauhan announces the January release of Project Hawaii, an SDK combining the power of the Windows Phone 7 with that of Windows Azure. This SDK contains features which help aid interaction with the cloud. A February release is also planned which will bring OCR and Text To Speech support to your mobile applications.
  • GPS Emulator for Windows Phone 7 – Joey deVilla highlights the Windows Phone GPS Emulator, a wonderful looking tool to help develop Windows Phone applications which utilise the GPS from the comfort of the Windows Phone Emulator.

Information

  • Code metrics from the command line – Cameron Skinner highlights the release of the CodeMetrics power toy which brings an .exe tool which can calculate the code metrics statistics that the Visual Studio IDE is capable of doing, allowing you to automate. In this post Cameron shows off its capabilities
  • Introducing RouteMagic – Phil Haack has bundled up all his Routing helpers, and extensions for both ASP.NET MVC and ASP.NET into a single NuGet package providing a really easy way to get this functionality into your projects.
  • OData and Windows Phone 7 – Mike Ormond walks through the consumption of OData feeds in the Windows Phone 7 Platform showing the process in a step by step fashion supplemented by plenty of helpful screenshots.
  • Reimplementing LINQ to Objects: Part 41 – How query expressions work & Part 42 – More optimization – Jon Skeet (who it was nice to meet briefly at DDD9) continues his fantastic EduLinq series with a look at how Query Expressions work in Linq, and also explores further the optimisations that are possible following up from comments on a previous post.
  • Nancy, the little community-powered framework that could – Andreas Håkansson talks about the success of his Nancy project discussing the features that have been added by the community, and puts out an appeal for someone to design a logo for the project.
  • Internals of Exception Handling – Abhishek Sur continues his series of posts looking at the internals of various features of C# and the .NET framework taking a look in todays post at how exception handling works at the Intermediate Language (IL) level.

Community

  • #DDDHack Competition at DDD9 – Rachel Collier shares the details of a competition unveiled at DeveloperDeveloperDeveloper 9 involving a basic Windows Phone application and your creativity. The task at hand is to add any feature you like to the base application and submit it back. The competition winner will recieve a Windows Phone 7 Device.

The Morning Brew #780

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

Software

  • Scale-out computing on DevLabs – Somasegar announces three new projects hosted under the DevLabs banner which make up a part of the Technical Computing Initiative. All are CTP releases, and build on .NET and Visual Studios capabilities for working with and debugging on HPC. the projects are TPL DataFlow (which builds on Axum), Dryad (support compute intensive applications) and Sho (providing interactive data analysis capabilities) are all available to download via connect now.
  • RocketSVN fly’s to freedom. RocketSVN Server/RocketSVN for VS now free (as in free) and open sourced too! – Greg Duncan highlights a change in licensing and price for RocketSVN, a full featured Subversion server and Visual Studio addin, along with the release of the full source code as open source.

Information

  • Spot the defect: Bad comparisons, part three – Eric Lippert continues his series of posts looking at bugs due to bad comparison implementations with another look at implementing string length comparison, and looks at some of the fringe cases in this comparison where it can fail.
  • C#/.NET Little Pitfalls: The Dangers of Casting Boxed Values – James Michael Hare kicks off a parallel series of posts to his ‘Little Wonders’ series. ‘Little Pitfalls’ looks at some of the things you can do that are dangerous / may trip you up. In this first post of the series he look at the potential problems in type conversions and casting.
  • Announcing SpecsFor: Yet Another BDD Framework For .NET! – Matt Honeycutt announces the forthcoming release of SpecsFor, a BDD testing framework for .NET which focuses on the developer experience rather than bridging the gap between requirements and tests. The first release of the project is immanent, however before then Matt wants your feedback about the direction of the API for writing specifications
  • Dynamic V Strongly Typed Views – ‘Ricka’ takes a look at both strongly typed and dynamic views in ASP.NET MVC3, showing how both care implemented, and sharing a sample project illustrating both types.
  • Web Page Extension To Associate Domain Models With View Page – Sreejith Gopinathan shares a base page class for WebForms development which brings ASP.NET MVC like model class support, providing EditorFor, ModelState validation, and strongly typed models to the world of WebForms.
  • The Big Rewrite – K. Scott Allen discusses the thorny issue of the ‘Big Rewrite’, responding to a post from Steve Blank on this subject. Good discussions in the comments to this one.
  • Stop Thinking About It. Let It Happen. – Rob Conery follows on with the rewrite discussion, sharing his views on the subject, and also discussing writing software as a creative process.
  • SQLite on WP7 – Rudi Grobler follows on from his look at the Sterling Object Database for Windows Phone 7 with a look at using SQLite as a relational database on the Windows Phone Platform.
  • Using DbContext in EF Feature CTP5 Part 1: Introduction and Model & Part 2: Connections and Models – Arthur Vickers of the Entity Framework team kicks off a new 12 part series looking at the new API for using DbContext features contained in the CTP5 release. The first post in the series outlines the model that is going to be used in all the subsequent examples, with part two exploring how to connect to the the database in the various ways of working with Entity Framework.
  • HTML5 & CSS3 in Visual Studio 2010 SP1 – The Visual Web Developer Team discuss the intellisense and validation support introduced in Visual Studio 2010 SP1 for HTML5 and CSS 3.
  • Imperative vs. LINQ Performance on WP7 – Bil Simser highlights a nice post from Jesse Liberty on Imperative, Linq and fluent programming to populate list box entries, and builds on its content to explore the performance of each option.

The Morning Brew #779

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

Information

  • How Do I Use StructureMap with ASP.NET MVC 3 – Steve Smith looks at how you can use the StructureMap Inversion of Control container in your ASP.NET MVC 3 sites, looking at where to handle the registrations, and how to bolt the container into the ASP.NET MVC pipeline
  • Clean and clear configuration with StructureMap – ‘thangchung’ is also exploring StructureMap, looking at the best way to create the configuration code to keep the intent clear
  • Basic JavaScript Part 8: Namespaces – Jan Van Ryswyck continues his series on JavaScript with a look at the use and implementation of namespacing to help organise code and avoid naming collisions.
  • Reimplementing LINQ to Objects: Part 40 – Optimization – Jon Skeet continues with the wrapping up of this series on re-implementing the core Linq To Objects technology. In this post Jon explores and discusses the tricky topic of optimisation of his Linq to Objects implementation.
  • Date/Time Support in NHibernate – James Kovacs takes a look at how NHibernate handles the plethora of date and time types that are available in databases and frameworks, and explores some of the issues with working with local vs UTC time. Source is available for the samples.
  • HTML5 Blizzard: Full Hardware Acceleration in Action – Jason Weber discusses the construction of the Internet Explorer 9 Christmas Demo, looking at the consituent parts of the demo, and discusses the performance characteristics of the demo.
  • RavenDB vs MongoDB – Why I don’t usually bother – Rob Ashton answers one of the common questions he gets asked about the differences between the MongoDB and RavenDB document databases, and throws CouchDB in for good measure in the comparisons.
  • Taking Sterling for a Test-Drive – Rudi Grobler takes a look at using the Sterling object oriented database implementation on the Windows Phone 7 platform, sharing a simple example of it in use.
  • Back to Basics: Mock Eliminating Patterns – John Sonmez continues looking at unit testing and the removal of the requirement for mocking types in tests. In this post John explores reducing the dependencies of classes to help reduce the need for mocking.
  • Adding collections to a custom ConfigurationSection – Derek Fowler goes back to basics and looks at the confusing realm of collections of values in custom configuration sections, exploring the subject by way of a worked example.
  • It’s Design – K. Scott Allen discusses encapsulating logic from if statements into properties, and how this leads towards a better more OO design for your code, and discusses some of the common objections to this practice.

The Morning Brew #778

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

Software

Information

  • Preventing Open Redirection Attacks in ASP.NET MVC – Jon Galloway looks at a potential security vulnerability which can be exploited in your sites, discussing the nature of Open Redirection Attacks, and looking at the steps you can take to prevent such attacks through your sites.
  • Mixing Razor Views and WebForms Master Pages with ASP.NET MVC 3 – Scott Hanselman takes a look at the ways multiple view engines and a mix of the functionality used by the engines is possible but not supported in ASP.NET MVC 3, drawing on good work from Eilon Lipton and Matt Hawley, showing how you can mix Master pages and Razor.
  • ASP.NET MVC 3: Integrating with the jQuery UI date picker and adding a jQuery validate date range validator – Stuart Leeks takes a look at the jQuery UI Calendar, and looks at integrating it with ASP.NET MVC’s ability to render controls for properties in your model.
  • Basics of using the Command Window in Visual Studio 2010 – Gus Class takes a look at one of the less utilised features of the Visual Studio IDE, sharing a quick reference to a couple of debugging related commands and providing links to further information.
  • AOP with StructureMap Container – ‘thangchung’ gives a bit of background on Aspect Oriented Programming, and looks at how APO can be achieved using the StructureMap IoC container and some Dynamic proxying.
  • Bootstrapping The .NET Framework Without An MSI Installer – Derick Bailey looks at detecting the requirement for and installing the .NET Framework 4 on a machine before running an application which lives on a USB stick (not requiring your application to be installed).
  • Reimplementing LINQ to Objects: Part 39 – Comparing implementations – Jon Skeet continues this series with a comparison of his Edulinq Linq to Objects implementation with some of the others out there (beyond the Microsoft one) looking at Linqbridge and the Mono Linq to objects implementation.
  • Evolution of Automated Testing – Matthew Bussa discusses a process of moving from manual testing of your applications to an automated approach, discussing the steps between the two and the types of tests you can and should use.
  • Git tooling for .NET developers – Krzysztof Kozmic responds to a tweet about bad Git tooling with a look at the best in class options for working with git both in Visual Studio and Windows Explorer – looks like the tooling has improved since I last looked so probably worth another look.
  • Tagging assemblies with Mercurial changeset hash – Jimmy Bogard looks at how you can embed the changeset hash from your Mercurial version control inside the built output of your project, allowing DLLs and EXEs to be traced back to the source code that built them.

Community

  • HTML5, Silverlight, Windows Phone – MIX 2011 Registration Open – Doug Holland highlights the MIX 11 conference to be held in Las Vegas from 12th to 14th April. MIX will be covering all things HTML5, Silverlight, Web and Windows Phone7. An early bird offer is running until 11th February and will get you $500 off and a free nights hotel stay.

Humour

The Morning Brew #777

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

Update: There was a problem with the link for Derick Bailey’s post on ‘Asynchronous Control Updates’ – this link should now be working – thanks to @cyberzeddk for letting me know via Twitter (I’m @calcock if anyone wants to message me)

Software

  • jQuery 1.5 RC 1 Released – The jQuery team announce the first release candidate release of jQuery 1.5. As is usual with a RC release, this will be the final product unless major issues are found, and will officially ship on 31st January.
  • JQuery UI 1.8.9 has been released – Aamir Hasan highlights the release of jQuery UI 1.8.9, a minor update which includes localisation updates to support date pickers in Algerian Arabic, Australian and New Zealand localizations, along with bug fixes to other controls.
  • WP7 Contrib – we made it! – Richard Griffin announces WP7 Contrib, a library of components and pattern implementations which help you to construct Windows Phone Applications. The library contains solutions for caching, messaging, working with phone services, and UI controls.
  • FreeImage 3.15 out today… – Greg Duncan highlights the release of FreeImage 3.15, an opensource library for working with all kinds of image formats ranging from PSD to JPEG. The library is implemented in C, and can be consumed from C, C++, C#, Delphi, Java, along with a variety of scripting languages. Sample code is provided for working with it in C#, along with a 129 page manual.

Information

  • The jQuery ‘live(…) Function – Steve Wellens looks at one of the more funky jQuery functions. ‘live’ provides a way of working with all elements of a particular selector, whether they exist at the time the method runs, or are created later on. Steve also takes a look at the JavaScript Identity Equality operator in this post.
  • Entity Framework 4 Refcard – Dane Morgridge highlights the release of the Dzone quick Reference card on Entity Framework 4 which he was involved in the creation of.
  • Using System.IO.Packaging to ZIP your files – Gal Ratner takes a look at using the System.IO.Packaging name space, which is built into the framework, to create ZIP files, sharing a comprehensive code sample which illustrates its use.
  • Spot the defect: Bad comparisons, part two – Eric Lippert continues his look at bugs that can be introduced by the use of bad comparison logic, looking at an example of a custom comparison implementation comparing strings by length.
  • Internals to C# iterators – Abhishek Sur continues this series on the internal implementations of various language features at the IL level, exploring the IL behind the scenes of the iterator implementation in C#
  • Everything you need to know about Locales – David Thielen talks about the background and theory of Locales in this Code Project article.
  • Exploring Windows Locales and .NET Cultures – Mike Hedley also explores locales (articles on this subject must be like buses – wait an age for one and then 2 good ones come along at once), looking at System and user locales, along with the .NET Culture implementation.
  • Adding Rails like Flash Message in ASP.NET MVC – Kazi Manzur Rashid looks at and shares an implementation of the Rails ‘Flash Message’ notification mechanism that you can use in easily in your ASP.NET MVC applications.
  • Asynchronous Control Updates In C#/.NET/WinFormsUpdate: Link fixed – Derick Bailey shares a useful extension method for anyone working with Windows Forms applications which provides a simple means of marshalling control method calls onto the UI thread.

Community

The Morning Brew #776

Posted by on 24 Jan 2011 | Tagged as: .NET, Development, Morning Brew

Software

  • Sprechen Sie ASP.NET MVC? – Phil Haack highlights the release of 9 language localisations for ASP.NET MVC 3, meaning that the platform is now available in Chinese (Traditional and Simpllified), French, German, Italian, Japanese, Korean, Russian and Spanish.
  • Reactive Extensions – The Reactive Extensions for .NET and JavaScript have graduated from the Microsoft Labs, and now have their own MSDN Developer Center.

Information

Community

  • “Unplugged” LIDNUG online talk with me Monday – The Linked In .NET UserGroup welcome Scott Guthrie for another ‘unplugged’ event today, where Scott will take time out from his busy Microsoft schedule to answer audience questions. This is a great opportunity to get the inside line on what is going on with the tech that Scott is responsible with.

The Morning Brew #775

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

Software

  • Microsoft Web Farm Framework 2.0 – Scott Guthrie highlights the WebFarm Framework 2.0 release, tooling which provides an easy way to manage a farm of web servers running on the Microsoft platform. In this post Scott highlights the key improvements introduced in the V2 release.
  • A Windows Phone 7 Jump List Control – Colin Eberhardt shares the implementation of a Jump List Control for the Windows Phone 7 platform, with a post which looks at the implementation and API offered by the control, videos of it in operation, and some examples along with the all important sourcecode so you can make use of the control.
  • The Coding4Fun team has done it again, released another "Kit" that is…The Coding4Fun Windows Phone Toolkit – Greg Duncan highlights the release of the Coding4Fun Windows Phone Toolkit by the Coding4Fun Team. This toolkit contains all the teams ‘cool’ controls for Silverlight, and the team are also looking for suggestions for additional controls to include.

Information

  • Reimplementing LINQ to Objects: Part 37 – Guiding principles – Jon Skeet starts the process of wrapping up this monster series on the re-implementation of the Linq to Objects operators with a look at some of the ‘bigger picture’. In this post Jon looks at the guiding principles behind the behaviour of Linq To Objects.
  • Monads in C#-6. Introducing a simple parser – Mike Hadlow continues his session preparation for DDD9 with a further post in his Monads in C# series, looking at the implementation of a Parser Monad, borrowing and porting an example from Haskell
  • C#/.NET Little Wonders: Comparer<T>.Default – James Michael Hare continues his series of posts on some of the less well known bits fo .NET and C# with a look at Comparer<T>.Default, looking at how this provides a comparer which can help deal with the null issues encountered when performing comparisons.
  • Injectable, Configurable Action Filters – K. Scott Allen continues his series of posts on ASP.NET MVC Action Filters with a look at using configurable Action Filters with an Inversion of Control , illustrating with the use of Ninject.
  • How To: Add Mobile Pages to Your ASP.NET Web Forms / MVC Application – Steve Sanderson has a new white paper on the ASP.NEt site which looks at serving pages from your ASP.NET website which are tailored for mobile devices, looking at how this can be donw in ASP.NET MVC and WebForms.
  • Internals of loops (While, For and ForEach) – Abhishek Sur continues his series of posts looking at the IL behind the scenes of .NET language features, in this post looking at the various different loop operators, and shows how the Goto IL statement is crucial in making these work.
  • Installing NuGet packages directly from the command line – David Ebbo discusses command line usage of NuGet, highlighting where you can get the required .exe, and looking at it in use.
  • OData and OAuth – protecting an OData Service using OAuth 2.0 – Alex James of the WCF Data Services Team works through the creation of an OData service which utilises OAuth 2.0 to provide the Authentication / Authorisation on the feed. The post outlines the background, dependencies, and wroks through the process of building the service.
  • Using ASP.Net MVC Validation Attributes outside of ASP.Net –
    Diary of a Ninja…
    – Doug Rathbone looks at using the DataAnnotation Attributes use in ASP.NET MVC applications for validation in non-ASP.NET MVC projects, sharing a sample project which illustrates their use.

Community

  • SQLBits 8 – Beside the sea – Registration for the 8th SQLBits event to be held in Brighton on Thursday 7th April to Saturday 9th April have now opened. Each of the three days can be registered for individually (or all together) with early bird pricing until 11th March. The Saturday is the free community day. The team have assembled a great line up for what is one of my favourite conferences of the year.
  • Let’s Chat Friday at the Linked In .NET User Group – John Papa is joining the Linked In .NET Usergroup for a ‘no agenda’ question and answer chat session today (Friday 21st January) between 9 and 10:30 AM PST.
  • Recording of my RavenDB talk for E-VAN – Ayende shares the video from his recent (very interesting) presentation to the European Virtual Alt.Net usergroup where he presented RavenDB.

The Morning Brew #774

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

Software

  • Announcing Portable Library Tools CTP – Justin Van Patten announces the CTP release of the Portable Library Tools, a new addin for Visual Studio 2010 which aims to help you write C# and VB.NET code that will run across a variety of the .NET Platforms (.NET, Silverlight, Windows Phone and XBox 360) available without recompilation. Currently this CTP does not have a go-live license, and use of it does requires the beta of the Visual Studio 2010 / .NET 4 Service Pack 1.
  • Announcing Native Extensions 1.0 for Microsoft Silverlight – The Silverlight Team announce the release of Native Extensions 1.0 for Silverlight. This toolkit, also known as NESL, brings the ability for your Silverlight out of browser applications to utilise Windows 7 platform features like Task Bar extension, Web cams, sensors and speech recognition.
  • Help us test Mono 2.10 – Miguel de Icaza highlights the first preview release of Mono 2.10, available for Windows, Mac OSX and a number of Linux platforms. This new version brings a host of new features including significant SGen improvements, improvements to the VB.NET and C# Compilers, and much more. The team a re looking for feedback on this early preview, so if you have the chance to try it, let them know of any problems you encounter.
  • AgUnit – Silverlight unit testing with ReSharper – Steven De Kock has released an updated version of AgUnit, a ReSharper plugin which enables the running and debugging of Silverlight Unit Tests from within the ReSharper Test Runner.
  • yuicompressor – Release: Version 1.5.0.0 – Jalthi – The YUICompressor project on CodePlex have a new release of this JavaScript and CSS compressor, which brings the project in line with the Java original, including all the latest patches, unit tests and bigfixes. This release is also available as a NuGet Package. (hat tip to ‘Pure Krome’)

Information

  • WP7CertInstaller 1.0.0.0 Explained – David Hardin highlights the release of his Windows Phone 7 Certificate Installer application, a tool which helps install Trusted Root Certificates on Windows Phone 7, enabling the use of test certificates in development environments. In this post discusses how you can repackage and use the Certificate Installer in your own projects.
  • Basic JavaScript Part 7: Static Properties and Methods – Jan Van Ryswyck continues his series on back to basics JavaScript with a look at the JavaScript equivalent of C# Static Properties and Methods.
  • Code navigation – quick tip – Jeffrey Palermo discusses code readability, looking at how the structure of your code file and the boilerplate content can harm the readability, and shares his preferred code layout.
  • Please Submit Content/Feedback on the F# MSDN Docs – Don Syme urges the F# developer community to give feedback on the MSDN F# documentation to help them make it better and offer better help to those looking to get started with F#.
  • Automated Error Reporting = More Robust Software – Laila Lotfi talks about how automated error reporting can really help improve the quality of your software by making sure you quickly and easily obtain the full information to help reproduce and solve errors (and give a little plug to RedGate’s SmartAssembly)
  • Configurable Action Filter Provider – K. Scott Allen continues his series of posts on Action Filters and Configuration with a look at creating a custom IFilterProvider.
  • web.config transformations for NHibernate – James Crowley looks at how namespaces used in the NHibernate web.config section can be worked with when using Web.Config Transformations.

Community

  • mvcConf – the Virtual ASP.Net MVC Conference – mvcConf has been rescheduled and will now run on Tuesday 8th February 2011. This gives you 19 days remaining for registration for this whole day virtual event which promises to talks from some of the world’s best MVC speakers to a wide audience.

Next Page »