Morning Brew
Archived Posts from this Category
Posted by Chris Alcock on 09 Feb 2010 | Tagged as: .NET, Development, Morning Brew
Special section today for the Visual Studio 2010 and .NET 4 Release Candidate Release, available today for MSDN Subscribers, and tomorrow for the general public.
Visual Studio 2010 and .NET 4 Release Candidate
Software
- Small Basic v0.8 - The Small Basic team announce their 0.8 release of the Small Basic programming language which aims to recapture the pleasure of programming back in the 8bit era. This release now includes a Silverlight based player for your Small Basic programs, making it easier to share your applications.
- Download Enterprise Library 5 and Unity 2 Beta 1 - David Hayden highlights the release of the Microsoft Patterns and Practices Team Enterprise Library 5 Beta 1 and Unity 2.0 Beta 1, both new for February.
Information
- Upcoming release and the "F# 2.0" language - Brian McNamara highlights the version number change for F# as of the VS2010 / .NET 4 Release candidate, and soon to be available as a CTP release for VS2008
- jQuery 1.4.1 Intellisense with Visual Studio - Scott Guthrie highlights the official location of the jQuery 1.4.1 intellisense VSDOC file
- Migrating an Existing ASP.NET App to run on Windows Azure - Jim Nakashima follows up on a previous post with further and more up to date details of the process involved in migrating an ASP.NET (MVC) application onto the Azure cloud.
- Q&A: How can I calculate the TCO and ROI when considering the Windows Azure Platform? - Eric Nelson answers the most common Azure related question, ‘will it save money’ with a look at the Azure TOC and ROI Calculator, showing the process involved in assessing your applications needs on the cloud.
- SmallestDotNet Update - Now with .NET 4 support and an includable JavaScript API - Scott Hanselman talks about some update he has made to his website which offers the smallest download to get the .NET version you require, including support for .NET 4 and also a JavaScript API which allows you to easily get HTML links or JSON data which you can use on your site to point to the required download.
- BlockingCollection and IProducerConsumerCollection - Justin Etheredge presses on with his tour of the .NET 4 concurrent collections types with a look at the BlockingCollection and IProducerConsumerCollection, showing a sample situation where you would use these types.
- The Basics: Map Objects and Database Tables using Fluent nHibernate - Matt Long starts a series of posts looking at using Fluent NHibernate to map domain entities back to the database, starting out in this post looking at basic property mapping, and following on with a look at Mapping Relationships using Fluent nHibernate
- Making the code read like the spec - Eric Lippert talks about the C# Compiler’s ability to detect cycles in declared types, and how there are some known issues in this area, and follows on to talk about how he prototyped a new implementation directly from the specification, embedding parts of the specification in the code using comments.
- IL perversions: throwing and catching strings - Gunnar Peipman explores the strange and wonderful world of IL behind the compiler, and looks at how you are able to throw and catch strings rather than exceptions at that level, but how it will upset higher level use.
- Functional C#: Extracting a higher order function with generics - Mark Needham continues his exploration of being more functional in your C# code illustrating with an example of refactoring a set of similar looking function calls which differed only by the service the call and the type they return.
- Exploring MongoDB with F# - Matthew Podwysocki takes a look at the No SQL Database MongoDB and show how it can give you a rapid prototyping environment when combined with F#, allowing you to get going with an idea quickly.
- Combine, Minify, And Compress Your JavaScript - Justin Etheredge talks about 3 things you certainly should be doing with your JavaScript on public facing applications, along with some other techniques to help speed up your applications.
- Multi-tenancy in ASP.NET MVC - Views - Rob Ashton continues his series of posts on Multi-tenancy applications in ASP.NET MVC with a look at how a custom View Engine provides a useful way of being able to replace or add pages and parts of pages depending on config.
Community
No Comments »
Posted by Chris Alcock on 08 Feb 2010 | Tagged as: .NET, Development, Morning Brew
Software
Information
- Built-in Charting Controls - Scott Guthrie continues his series on Visual Studio 2010 and .NET 4 features with a look at the new charting components for ASP.NET and WinForms which are included ‘in the box’ as of .NET 4
- NoSQL - A Practical Approach, Part 1 - Rob Conery begins a series of posts exploring moving to NoSql data stores, talking about the shift in thinking needed to move from an ORM based application to using an object database like DB4O.
- On the importance of checking inputs - Barry Dorrans highlights the importance of verifying and validating in addition to encoding your output, illustrating with a real real-world example where someone got it really wrong.
- Mapping Out the Microsoft Application Platform at a Glance - J.D. Meier gives a nice overview of the various technologies offered by Microsoft, breaking them into top level categories, and providing links to MSDN references about a number of them. A useful resource when you’ve forgotten the name of a particular technology.
- Find it faster amongst the collection - ‘JoeGeeky’ shares a neat trick to more quickly establish if a collection contains a certain set of items using the Intersect method on IEnumerable.
- 10 Advanced Windsor Tricks - 10. Configuration with type converters - Mike Hadlow hits number 10 in his series on Advanced Windsor Container usage patterns, exploring in this post how TypeConvertors help with the configuration of the container.
- MVC 2 Editor Template with DateTime - Steve Michelotti explores the ASP.NET MVC2 Editor For functionality, and shows how you can create a custom editor for date time fields which includes jQuery calendars
- Performance: Using LCG to copy property values of two objects - Gunnar Peipman looks at the performance of using Light Weight Code Generation to construct mappings between two objects in a performant way, and provides neat samples of each technique tried in his post Writing object to object mapper: first implementations
- Using IIS Rewriting with MVC Routes to Keep Your Routes Simple - Jon Galloway looks at how you can utilise the IIS Rewriting module to make your ASP.NET / ASP.NET MVC routes easier to construct, leaving the complicated URL manipulation to the Web Server.
- Using and Abusing the F# Dynamic Lookup Operator - Matthew Podwysocki explores the F# Dynamic Lookup operator, showing how F# leaves you to implement it any way you want
- Recursion Is The New Iteration - Ashley Nathan Feniello explores the origin of iteration and recursion, showing how tail call optimisation in languages such as F# allows recursion to be utilised in applications.
Community
Developer Developer Developer 8
- A developer’s guide to encryption - Barrie Dorrans highlights the availability of the video of his (partially hijacked) DDD8 session on encryption, and shares some of the feedback he received on the talk
- Multi-tenancy in ASP.NET MVC - DDD8 Video - Rob Ashton also points out the video of his session on building multi-tenancy applications using ASP.NET MVC
- Phil Winstanley’s DDD8 - Phil Winstanley has been busy putting up video of a number of the DDD8 sessions hosted on vimeo. These include some already linked to, along with Mark Needham’s Functional Approaches session, Ian Cooper’s Real World MVC, Liam Westley’s Commercial Software Development, along with a few session videos from Web DD 09
- DDD8 - post-event commentary #DDD8 - Craig Murphy has a great wrap up piece on DDD8, including a plethora of links to other round up pieces, along with links to video and photos of the event, a Barry Dorrans tribute, and some pointers to future events.
No Comments »
Posted by Chris Alcock on 05 Feb 2010 | Tagged as: .NET, Development, Morning Brew
Software
- ASP.NET MVC 2 RC 2 Released - Phil Haack announces the release of the second ASP.NET MVC2 RC (ASP.NET MVC 2 RC 2). This is an additional RC release than was originally planned, and the major change is to the Validation based on user feedback, along with the usual bugfixes and performance improvements
- StructureMap 2.6 (and 2.5.4) is Released! - Jeremy D. Miller announces the 11th release of StructureMap, taking the version number to 2.6. 2.6 isn’t a major change from the previous (unpublicised) 2.5.4, just a few bug fixes and improvements, but represents a year of work over the 2.5 version.
Information
Community
No Comments »
Posted by Chris Alcock on 04 Feb 2010 | Tagged as: .NET, Development, Morning Brew
Software
- Moonlight 3.0 Preview 1 - Miguel de Icaza announces the first preview release of Moonlight 3.0 the Mono implementation of Silverlight, which is aiming to be equivalent to Silverlight 3 in terms of features.
- CAT.NET V2.0 released to Beta - Syed Aslam Basha highlights the 1 month beta release of CAT.NET 2.0, the latest update to this Code Analysis Tool. This release brings integration with Visual Stuidio 2010 by way of FxCop rules, along with 55 new rules added to the analysis performed. Syed also has a number of posts looking at getting started with CAT2.0 and checking out some of the new features in use, so be sure to havea read of them too.
Information
- Service Locator is an Anti-Pattern - Mark Seemann talks about how using the Service Locator pattern inside your classes can be considered an anti-pattern due to it hiding a dependency as there is nothing from the consumer of the classes point of view that indicates the dependency on the service locator.
- 10 Advanced Windsor Tricks - 8. Dependency graph visualisation - Mike Hadlow continues his advanced Castle Windsor tricks series with a look at generating a textual dependency graph which shows the dependencies of the types registered in your container, and how they will be satisfied.
- Branch-Per-Feature: How I Manage Subversion With Git Branches - Derick Bailey show how he uses SVN combined with Git to give git versioning on his branches while working with Subversion for the main repository, shareign some best practices for easy working this way, along with looking at some of the benefits of working this way.
- Debugging ASP.NET generated code - David Ebbo takes a look at how you can debug the code that gets automatically generated by ASP.NET when it runs ASPX pages, showing how you can get to see the code, can improve the readability of the code using by eliminating the #line pragma output, and generate psuedo break points and debug against them.
- CLR V4: Profiler Detach - David Broman continues his series looking at the profiling API in the .NET CLR 4, in this post exploring what goes on when you detach a profiler from an application
- Real World S#arp Architecture - Billy McCafferty highlights a new sample application built against his S#arp Architecture framework by Howard van Rooijen, Jonathan George & James Broome. Not only does the project use S#arp, it also makes use of a number of other great Open source .NET tools, so is well worth a look for most people.
- Strengthening your domain: a primer - Jimmy Bogard gives an introduction to moving from a persistence model where your objects are simply containers of data to a more rounded domain model where objects include more of the behaviour associated with them.
Community
- Lessons learned from building NHibernate Profiler - 24th Feb, London - Ayende will be giving a talk on the lessons he learned while building the NHibernate Profiler, looking at the architecture, real world application infrastructure and the way they worked as a distributed team. The session is being held on 24th Feb at SkillMatter in London, and registration is required.
- Sign my petition to the PM to demand the UK Govt. reviews it’s failed IT processes - Rob Bowley is attempting to get the UK Government to review their IT system processes following a number of high profile failures over the years by way of a official E-Petition. If you are a UK resident and agree with Rob’s cause, I encourage you to sign the petition.
- Crockford on JavaScript - Volume 1: The Early Years - The Yahoo Developer Network provide the video content of the first part of Douglas Crockford’s 5 part series on the JavaScript Programming Language. In this first part he talks about his computing history,and more generally the history of computing and programming.
No Comments »
Posted by Chris Alcock on 03 Feb 2010 | Tagged as: .NET, Development, Morning Brew
Software
- MVC Turbine v2.0 for MVC2 (.NET3.5) - Javier G. Lozano announces the release of his ASP.NET MVC Turbine project which is compiled against the ASP.NET MVC 2 RC and runs against .NET 3.5 SP1 and Visual Studio 2008, allowing devs on this platform to make use of the library.
Information
- Refactoring for Unit Testing - Nizar Noorani looks at some of the process of refactoring a legacy code base to allow it to be better unit tested, working through a simple example to show the changes needed to test the example code.
- API Testing: Testing in Layers - Bj Rollison presents the case for functional testing at the API level as a key way of identifying functional problems in the application, and how we don’t have to just test at the end user level.
- How I Approach a Defect - Chris Missal talks about the process he uses when he works to resolve a defect in some code, and how he ensures that the solution is a good one.
- IE, Firefox, Chrome, Safari, Opera - what browser does a .Net developer choose? - Jeffrey Palermo talks about the great browser debate, discussing the market share of the browsers, his feeling on browser choice, what browsers his organisation supports, and what the future may hold. Davy Brion is also musing browser states in his post on Browser Usage
- Performance: Using dynamic code to copy property values of two objects - Gunnar Peipman follows on from a post from last year looking at matching properties of objects and copying values, looking at the matching process, and showing three ways to copy the value each with different performance characteristics, showing that over numbers of iterations the best way is still to use dynamically generated code.
- Coding: Wrapping/not wrapping 3rd party libraries and DSLs - Mark Needham talks about the practice of wrapping 3rd party libraries in your own code, highlighing the disadvantages of this approach, along with where the benefits come in providing a nice api for your use cases, and how it can be a decision you regret not making.
- ADO.NET Entity Framework and .NET 4 & SQL Profiler : Lazy Loading of Entities - Bruno Terkaly continues his EF4 / ADO. NET 4 series with a look at Lazy Loading of entities, and shows how the SQL Profiler can be used to see the queries as they happen
- Multi-tenancy in ASP.NET MVC - Why do we want it? - Rob Ashton begins his blog post series looking at the area of ASP.NET MVC Multi-Tenancy which he spoke about at DDD8. This post introduces the background to multi-tenancy and some of the key concepts
- Packaging UI Components in MVC - Simon Ince talks about the different approaches available to package up ASP.NET MVC UI components, looking at Render Partial, Custom Action FIlters, Custom Rendering Extensions, RenderAction, UI Extensions and Custom Display and Editor Templates.
- Learning in the Open: II - first relation and more ActiveRecord - Krzysztof Koźmic resumes his series looking at Castle Active Record with this second part looking at adding a collection of related entities to the already defined User object, along with testing and a little trouble shooting.
- C# vs Java Part 1: The Languages - John Sonmez begins a series of posts providing a comparison between C# and Java taking into account both the language differences and the underlying frameworks and virtual machines. This post is continued in the second half of part 1 C# vs Java Part 1: The Languages (Continued)
Developer Developer Developer 8
- Not Everything Is An Object - Gary Short shares the slide deck from his DDD8 presentation on functional programming.
- C# on the iPhone with MonoTouch - Chris Hardy’s session on using MonoTouch for iPhone Development in .NET is the first session video to be posted from the DDD8 conference last weekend
No Comments »
Posted by Chris Alcock on 02 Feb 2010 | Tagged as: .NET, Development, Morning Brew
Lots of Software news today, along with a continuation of the DeveloperDeveloperDeveloper 8 special section.
Software
- AutoMapper 1.0 RTW - Jimmy Bogard announces the V1.0 RTW release of his AutoMapper project which provides easy means of mapping between Domain objects and view models, and much more. This release is the official 1.0 release, and includes a few new features, along with enhancements and bigfixes over previous releases.
- Windows Azure Tools and SDK 1.1 Released - The Windows Azure team announce the release of the Windows Azure Tools and SQK 1.1. This is the February 2010 release of the Azure tools, and will run against Visual Studio 2008, and the forthcoming Visual Studio 2010 RC release (but not the current Beta 2 release). The team also share some details of the Windows Azure Drive functionality which is also included in this release in a separate post Beta Release of Windows Azure Drive
- NServiceBus 2.0 Release Candidate 2 Available - Udi Dahan announces the 2nd release candidate release of NServiceBus 2.0, an open source Enterprise Service Bus implementation
- IIS SEO Toolkit v1.0.1 - ‘CarlosAg’ announces a minor update to the IIS SEO Toolkit, taking its version to 1.0.1. This release includes bugfixes for the important bugs raised on the IIS.NET SEO Forum, and is compatible with the 1.0 release.
- BlogEngine.NET 1.6 Released - Al Nyveldt highlights the release of version 1.6 of the open source .NET based BlogEngine.Net project. The two significant features of this release are improved widget support and a new Comment Management system allowing you to plug anti-spam into the process.
- CSLA .NET 3.8.2 released - Rockford Lhotka announces a minor update to his CSLA application Framework. This update fixes a number of bugs, and has been heavily beta tested. There is one breaking change relating to detecting Design time and Runtime mode in the data portal, which has been disabled to avoid possibility of errors arising under high load in production,
Information
- View Model pattern and AutoMapper in ASP.NET MVC Applications - Shiju Varghese takes a look at the use of AutoMapper in a simple example ASP.NET MVC application using the AutoMapper to move between a view model with view specific data capture fields and validation to the domain entities which implement the backend functionality.
- .NET 4.0 and System.Collections.Concurrent.ConcurrentStack - Justin Etheredge continues his series of posts looking at the Concurrent collections available in .NET 4 with a look at the concurrent stack implementation, and shows in a number of code snippets how it is used.
- Functional C#: Writing a ‘partition’ function - Mark Needham continues his series looking at writing more functional code in C# with a look at the implementation of a partition function to allow collections to be split.
- A Kick in the Monads - Writer Edition - Matthew Podwysocki continues his series on Monads with a look at the Writer Monad, exploring the motivation for it to exist, showing an implementation, and putting it to work in a simple example.
- Style follows semantics - Eric Lippert talks about how coding style and what the code does are not always as separate as we might think, illustrating with a few examples which while seemingly equivalent are not actually when side effects are taken into account.
- Software on the Cheap - ‘Uncle ‘ Bob Martin talks about the real cost of software arriving at a cost of about 12 dollars per line, and argues that this is the cheapest that software should be developed, and that while cheaper options exist they tend to work out more expensive in the long run.
- ADO.NET Entity Framework 4.0 & Introduction to Quadrant - Bruno Terkaly continues his ADO.NET / EF4 series with an introductory look at the Quadrant data editing tool including plenty of screenshots which give a good idea of how it works.
- Your First S#arp Project in 15 Minutes] - Billy McCafferty gives a quick start tutorial to get users up and running with their first S#arp Architecture based project quickly and easily, taking you from downloading and installing to a running app in 23 steps.
- Hosting MEF within application and libraries - Glenn Block talks about the various ways that the Managed Extensibility Framework (MEF) can be hosted inside applications and libraries, urging you to be aware of them all allowing you to choose the best strategy for your case.
DeveloperDeveloperDeveloper8
No Comments »
Posted by Chris Alcock on 01 Feb 2010 | Tagged as: .NET, Development, Morning Brew
I had a great time at the DeveloperDeveloperDeveloper 8 Conference this weekend down in Reading UK. Many thanks to the organisers, speakers, sponsors and other attendees for making the event as good as it was. I’ve collected any DDD8 related content into a special section at the end of this post.
Software
Information
- Validating a variable length list, ASP.NET MVC 2-style - Steve Sanderson follows on from his previous post on lists in ASP.NET MVC with a look at applying validation to such a list using ASP.NET MVC2 techniques
- Remote Validation with ASP.NET MVC 2 - Brad Wilson talks about a feature which didn’t quite make it into ASP.NET MVC2 (but sounds like it will be included in the MVC Futures release) which deals with validation on the client side but performs behind the scenes calls to the web server to validate the values provided.
- ADO.NET Entity Framework and .NET 4 & Visual Studio 2010 Modeling Tools - Writing Code And Working with Entities to Add Data - Bruno Terkaly continues his series of posts on the Entity Framework with a look at using the Modelling features included in Visual Studio 2010 to create entities for use with the Entity Framework and looks at interacting with those entities and the database
- Implementing Domain Queries - John Teague looks at expanding on his current repository interface which is based on the one included in early versions of FluentNHibernate, introducing a version of the Domain Query pattern to help reduce repeated code in his applications.
- Iterator-based Microthreading - Michael Hutchinson talks about implementing a microthread scheduler which simulates multithreading using only a single real thread, something which is quite common practices in games programming. Interesting reading.
- What didn’t get into VB10: a wish-list for future versions of VB - Lucian Wischik starts a series of posts looking at features that the VB team are interested in implementing by which didn’t make it into the VS2010/.NET 4 release of Visual Basic.
- ASP.NET 4.0: How to use application warm-up class - Gunnar takes a look a the new Application Warm-Up functionality of ASP.NET 4, showing how to configure ant utilise it.
- Generic or Specific Routes? - Simon Ince considers deleting the default route in his ASP.NET MVC routing configuration and expressing each controllers route individually, and looks for feedback on the idea.
Developer Developer Developer 8
1 Comment »
Posted by Chris Alcock 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
- Extensible Output Caching with ASP.NET 4 (VS 2010 and .NET 4.0 Series) - Scott Guthrie continues his series of posts on VS2010 and .NET 4, focusing this time on the new features for ASP.NET output caching, looking at how the provider model has been used to allow extensibility of the caching available. Scott also highlights a number of Nice "Quick Hit" Videos about ASP.NET 4 and VS 2010
- You have 10 votes. Why not use them! www.mygreatwindowsazureidea.com - Eric Nelson highlights a means of feeding back to and helping the Windows Azure team focus their efforts on improving and extending the Azure platform. Eric also shares the Results of Cloud Computing Survey - Part 1: Is Cloud relevant?
- RIA Services - Displaying data with Silverlight 4 Beta & Visual Studio 2010 Beta 2 - Bruno Terkaly continues his series of posts taking a step by step approach looking at lifting the lid on using the RIA (Rich Internet Application) Services with Silverlight 4 Beta and Visual Studio 2010.
- NHibernate new feature: No proxy associations - Ayende talks about another change to NHibernate’s Lazy load functionality, in this case providing a means of disabling the use of proxy. This change still maintains lazy loading, just removing the proxy class involvement meaning you don’t experience the ‘Ghost Object’ problem.
- Editing a variable length list, ASP.NET MVC 2-style - Steve Sanderson follows up on a previous post about maintaining a variable list, sharing an improved technique which has become his prefered method.
- C# 4.0 Optional Parameters - Exploration. - Jason Jarrett explores the use of optional parameters in interfaces, looking at some of the more complex scenarios which the use of optional parameters can cause.
- Reading Code, Spark’s Once Attribute - Chris Missal takes a look under the hood of the Spark view engine which is usable from ASP.NET MVC and MonoRail
- What’s new in Monorail 2.0 - Ken Egozi explores some of the new features of MonoRail 2.0 focusing on some of the config, binding and routing changes.
- Calling constructors in arbitrary places - Eric Lippert looks at calling other constructor of a type, and why you can only do this before your constructor body executes.
No Comments »
Next Page »