March 2010

Monthly Archive

The Morning Brew #571

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

Software

Information

  • Strengthening your domain: The double dispatch pattern – Jimmy Bogard continues his series of posts on building a better domain model with a look at the Double Dispatch Pattern, showing how it can be used to help integrate services into the domain model
  • Cleaner HTML Markup with ASP.NET 4 Web Forms – Client IDs (VS 2010 and .NET 4.0 Series) – Scott Guthrie continues his series on the improvements to ASP.NET 4 with a look at the improvements in HTML generation in the framework controls and exploring the new options for clientside id generation affording better control of the generated IDs and making code that consumes those IDs easier to write and maintain.
  • Using HtmlUnit on .NET for Headless Browser Automation – Steve Sanderson explores using the Java tool HtmlUnit from within .NET (via the IKVM library for running Java in .NET) to allow headless browser testing of HTML output from web applications
  • Your JavaScript goes WHERE? – Chris Brandsma discusses why JavaScript code should be placed at the end of your HTML page for best performance, along with sharing pointers to other things you may want to do to esure your applications are performing the best they can be.
  • Data Annotations in the Entity Framework and Code First – Jeff Derstadt of the Entity Framework Team talks about the Data Annotation Attributes, and their role in Entity Framework Code First approaches, outlining a possible solution and soliciting feedback on the plans.
  • Some Rough Draft TDD Demonstration Videos – Brett Schuchert shares the start of a series of video posts on Test Driven Development using Java and Eclipse. The first two videos covering getting started and adding operators are available now, and Brett outlines the rest of the series which looks pretty interesting, and despite being Java based probably of interest to .NET Devs too.
  • A C# implementation of the CallStream pattern – Bertrand Le Roy picks up and idea from Dusan Jovanovic which was implemented in JavaScript and looks at porting the implementation into C# providing an interesting way of chaining methods togehter.
  • Combating ClickJacking With X-Frame-Options – Eric Lawrence talks about the X-Frame-Options Header Directive which was introduced in Internet Explorer 8 (and has since spread into a number of other browsers) which allows content authors to declare if their content is allowed to be loaded into frames, providing an additional security to help prevent phishing attacks.
  • Your testing tendencies – Dahlia Bock is carrying out a small survey on automated testing tendencies, and is looking to gehter as much feedback as possible. If you have 5 minutes please help out and fill in the simple short questionnaire.
  • Events get a little overhaul in C# 4, Afterward: Effective Events – Chris Burrows continues his series on .NET 4 Eventing changes with a look at some Do and Don’t recommendations for using the new features safely and effectively.
  • RDBMS vs NoSQL – Mark Rendle shares his thoughts on the NoSql discussion, looking initially at the concepts of the NoSql database, and sharing a ‘discussion’ on the notion of which is better RDBMS or NoSql.
  • Cassandra Jump Start For The Windows Developer – Nick Berardi works through the steps involved in setting up the Cassandra NoSql database as a Windows based developer looking at installing on Windows and installing in a Linux Virtual Machine.

Community

  • mvcConf the Virtual ASP.Net MVC Conference – The C4MVC community are organising a virtual conference on ASP.NET MVC, currently planning for the event to be some time in July. Having attended a number of the C4MVC User Group sessions this virtual conference will almost certainly be worth virtually attending.
  • OpenSource on .net at Microsoft TechDays – Seb Lambla announces an evening event to occur during the Microsoft Techdays week which will focus on the best of breed Open Source software available for the Microsoft Stack with sessions on Open Rasta, Castle, CouchDB, etc.

The Morning Brew #570

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

Software

  • New debugger extension for .NET, Psscor2, released – Tom highlights the availability of a new WinDbg extension which builds on SOS to provide further debugging capabilities for diagnosing problems with ASP.NET. The Debugger works with .NET 2, 3 and 3.5
  • A tool to switch project files between using Visual Studio 2008 and 2010 – Steve Dunn shares a simple tool which provides round trip support for converting Visual Studio project files between VS2010 and VS2008 format alowing you a means to supporting developers using a mix of versions on a single project. This command line utility also supports changing the target .NET framework version.

Information

  • The Jacobi Relaxation: an Instance of Data Parallelism – James Rapp explores the concept of data parallelism which allows you to divide up work based on the input data rather than tasks that need to be performed, looking at an example of this in use when performing Jacobi Relaxation in two dimensions.
  • That No SQL Thing – Key/Value stores – Ayende continues his discussion of NoSQL Databases with a look at the simplest case of a key value store, discussing how the the core principles of a data store (concurrency, queries, schema, transactions, etc) are supported
  • NoSQL For The Rest Of Us – Karl Seguin discusses how a lot of the focus on using NoSQL databases is on performance aspects, and instead focuses on some of the benefits this style of storage can afford the ‘average’ developer, looking at how the data is stored in a object database, and the corresponding reduction in data access code, looking at ColumnFamily storage and document storage.
  • NoSQL is not about object databases – Bertrand Le Roy weighs in on the NoSQL debate, suggesting that NoSql isn’t the only solution to your non-RDBMS data storage, that there are plenty of other storage options that we commonly use from the simple file system, XML, Excel Files, etc. and talks about using multiple formats of store with a common index for your querying.
  • Looking for a little help moving from WinForms to WPF? How about a "toolbox-centric" Quick Reference Guide? – Greg Duncan highlights a quick reference card from Michael Sorens which aims to provide an easy way of translating between the controls in the toolbox that achieve the same end result, showing the versions of .NET they are available in. Be sure to check out the article from Michael which goes along with the reference card for more tips and resources on making the Winforms to WPF swtich.
  • Putting a base in the middle – Eric Lippert takes a look at an interesting instance where changes to a middle class in an inheritance hierarchy when classes are distributed over assemblies doesn’t do what you might think unless you recompile the top of the hierarchy, along with a good explanation why it works this way and the design decisions which lead to this.
  • CSS: Designers are doing AOP? No way! – Ajaxian highlights some thoughts from Jonny Tran comparing CSS and HTML to Aspect Oriented Programming, looking at the core concepts of AOP (join point, pointcut, advice and aspect) and showing that they have direct correspondence in CSS
  • Creating a dynamic proxy generator with c# – Part 4 – Calling the base method – Sean McAlinden continues his series on building a Dynamic Proxy implementation with this 4th part looking at giving the ability to call the methods on the real implementation
  • Adventures with C# 4.0 dynamic – ExpandoObject, ElasticObject, and a Twitter Client in 10 minutes – Anoop Madhusudanan explores the new Dynamic functionality of .NET 4 in this CodeProject article looking at the basics of the dynamic keyword, DynamicObject, ExpandoObject and ElasticObject, exploring the capabilities of each, and finishing up with showing them in use in a simple ASP.NET MVC Twitter search example.
  • Small Basic : Optical Illusions – ‘vijayeg’ shares some SmallBasic programs which generate optical illusion images sourced from a thread on a Small Basic discussion forum.

Community

  • DDD Southwest 2 – Session Voting – DDD Southwest will be taking place in 5th June 2010, and now all the session proposals have been gathered, the session voting can begin. There looks to be a great selection of sessions available on a wide range of topics, so if you are thinking of attending now is your chance to influence the content of the conference. Get Voting.

The Morning Brew #569

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

Software

  • posh-git Release v0.1 – Keith Dahlby shares the 0.1 release of his project ‘posh-git’ a PowerShell environment for working with the git version control system

Information

  • How to write custom static code analysis rules and integrate them into Visual Studio 2010 – Duke Kamstra shares some work by Todd King of the Code Analysis Team looks at how Visual Studio 2010 Premium and Ultimate edition users can create custom Static Code Analysis rules for inclusion in the static test VS performs.
  • Querying the Future With Reactive Extensions – Phil Haack talks about enumeration over computed collections, and shares some of his introduction to the Reactive Extensions for JavaScript (from non-other than Matthew Podwysocki) and shows how adding Rx to existing code to simplify it is very achievable.
  • F# async on the client side – Brian McNamara takes a look at using F#’s Async capabilities to help make programming on the UI thread easier, illustrating with two examples, a clock, and a visual effect of text chasing a cursor.
  • Time Flies Like An Arrow in F# and the Reactive Extensions for .NET – Matthew Podwysocki follows on from Brian’s post with a look at solving the same Text Follows the Cursor example using only F# events and the Reactive Extensions for .NET
  • F# async on the server side – Brian follows on from his own post, returning to more familiar async territory, looking at how F# makes Async programming on the server side, comparing with similar implementations in C#
  • Functional Dependency Injection == Currying – Mike Hadlow talks about the familiar Dependency injection in OO languages like C#, and compares it to the functional programming equivalent, which, it turns out, is currying
  • In TDD Red is not ‘does not compile’ – Ian Cooper takes a look at one of the myths of TDD, explaining that the ‘Red’ state in Test Driven Development is actually a very important stage, and discusses why it is not simply that the code does not compile.
  • Don’t Give Up on the State Pattern Just Yet – Revisited – Jan Van Ryswyck continues exploring the state pattern, taking another look at how it can be improved upon, this time utilising duck typing, and shows how you don’t have to wait for .NET 4 and the dynamic keyword to experiment with this stuff.
  • Creating an OData API for StackOverflow including XML and JSON in 30 minutes – Scott Hanselman puts his money where is mouth is (in a coding sense) and shows how to create an OData API for the popular StackOverflow site (in just 30 minutes). Scott also has another interesting post on the improvements to .NET 4 Web Application Startup Time, comparing the startup time of a number of common .NET applications running on ASP.NET 3.5 and 4.
  • LINQ: Single vs. First – Paulo Morgado discusses the correct use of the Single method in LINQ, and how its behaviour of throwing exceptions if there is more than one item is useful in certain circumstances.
  • Using Delegates in C# (Part 1) & Part 2 – Raj Kaimal gives an overview of the delegate implementations in .NET, starting from the basics in the first part, and moving on to look at the more advanced topics of predefined delegates, lambda expressions and the var keyword in part 2
  • That No SQL Thing – Ayende talks about the strong hold that Relational Databases have over data storage, and talks about how No SQL database provide a valid solution to a number of shortcomings in RDBMS. Interesting discussion in the comments. Ayende also outlines his criteria for evaluating No SQL databases in his post That No SQL Things – How to evaluate?

Community

  • Retlang – ThoughtWorks Manchester GeekNights – This Wednesday (31st March) sees the latest instalment of the Manchester GeekNight Series, with Ian Cartwright talking on the .NET Concurrency Framework Retlang, and how it allows you to work in a multi threaded way with Winforms. The event is free, but registration is required.
  • Techniques in Advanced .NET Debugging with John Robbins – Kirk Evans highlights a half day event to be held in Microsofts Alpharetta office, which will be simulcast on the web allowing non-local attendees to take part. The event sees John Robbins talk on moving your debugging skills to the next level, and takes place on 13th April from 1pm-5pm Eastern (evening here in the UK)
  • Introduction to Application Development With Silverlight 4 – Scottish Developers welcome Jesse Liberty to two events in late April. This one takes place in Dundee on the evening of 19h April, and is followed the next day with Silverlight 4, MVVM and Test-Driven Development to be held at Microsoft’s Edinburgh office on the evening of the 10th April.

The Morning Brew #568

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

Software

  • Updates: Process Explorer v12, VMMap v2.62, DiskView v2.4 – Microsoft announce updates to three of the Sysinternals tools. Process Explorer gets an update to v12 bringing a number of improvements to areas including process identification, the .NET assembly view along with the usual bugfixes. VMMap also gets a bugfix update, and DiskView adds the new feature to map alternate streams to owning files.

Information

Community

The Morning Brew #567

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

Software

  • ReSharper 5.0 Goes RC! – JetBrains announce the Release Candidate release of ReSharper 5.0. This relase does not contain any new features, but has had lots of focus on performance and integration with the IDE, so they should be much improved.
  • Introducing QuickUnit – Roy Osherove highlights a new Unit Test Generation tool which aims to make it simpler to create test projects following your conventions and create test outlines with mock/isolation support using an IDE integrated environment.
  • Metsys.Bson – the BSON Library – Karl Seguin has extracted his BSON serialisation support out of the MongoDB Driver project he is involved in into a separate project, allowing you to easily use this serialisation format in your own applications

Information

Community

  • FREE Windows Azure evening in London on April 15th including FREE access to Windows Azure – Eric Nelson highlights a great Free Event to be held in the evening of 15th April in London, piggy-backing on the UK TechDays events to be held that week. This event from the UK AzureNET user group will be looking at some real world uses of Azure, along with a look at noSQL databases. Eric also highlights other TechDays Fringe events taking place in London and the rest of the UK during the TechDays week.
  • Web Deployment Made Awesome: If You’re Using XCopy, You’re Doing It Wrong – Scott Hanselman highlights one of the sessions he presented at Mix 10 which looked at using the MSDeploy / WebDeploy functionality of Visual Studio to make deploying web applications a breeze.
  • #Develop, F# and Google Summer of Code – Robert Pickering higlights a great prospect for any Computer Science Students who want to take part in the Google Summer of Code and work on integrating F# into the SharpDevelop IDE. Contact Rob if your are interested and want to know more.

The Morning Brew #566

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

Software

  • jQuery UI 1.8 adds position, button, autocomplete, new widget factory, lighter core – The jQuery UI Team announce the release of jQuery UI 1.8. Available in three forms, starter, developer and theme pack this new version of jQuery UI adds 5 new plugins, 1 new effect and a huge number of bugfixes and improvements, along with reducing the size of some of the files.
  • JetBrains to Launch dotCover EAP Next Week – JetBrains announce their new product dotCover, a code coverage tool which integrates tightly with Visual Studio 2005, 2008, and 2010 and Resharper, providing feedback on test coverage. Initial Early access releases will be available from next week.

Information

  • Checklist for Developing Message-Based Systems – Billy McCafferty follows on from a previous post earlier in the month to discuss a checklist of questions that it is helpful to know the answers to when working on building a message based architecture. These questions provide a framework to guide the development of your architecture, and the answers provide valuable documentation of the design.
  • Web Test Authoring and Debugging Techniques for Visual Studio 2010 – Ed Glas explores the Web Test / Web Performance Test functionality of Visual Studio 2010, giving some background to how the testing works, looking at some of the common pitfalls / mistakes, and talking about the new features introduced in the 2010 release.
  • GenesisEngine: Don’t Get Domain Objects From The Container – Eric Lee takes a look at one of the Inversion of Control / Dependency injection anti-patterns and shows how you can avoid the multi stage initialisation by using the factory pattern to correctly create your entity and satisfy its dependencies.
  • Entity Framework 4.0 – Part4: How to use your own POCO’s – Sven shares part 4 of a series looking at Entity Framework, looking at the new Plain Old CRL Object (POCO) support introduced in Entity Framework 4, showing the method of working illustrated by a simple console application.
  • Introducing IE9′s User Agent String – The Internet Explorer Team talk about the constituent parts of the Internet Explorer 9 User Agent string
  • Upgrading Suteki Shop to ASP.NET MVC 2 – Mike Hadlow shares his experiences of upgrading an ASP.NET MVC project to the ASP.NET MVC2 release edition using the Solution Converter by Eilon Lipton, and talks about the manual changes he needed to make to fix the post upgrade issues.
  • Garbage Collection in IE7 heavily impacted by number of JavaScript objects and string sizes – Andreas Grabner talks about performance impacts of having large numbers of JavaScript objects, and large amounts of string data in scope, and how it makes a significant performance difference in Internet Explorer 7.
  • Creating a Performance Baseline – Part 1 – Anu Chawla shares soem useful information on the Performance counters to monitor to establish a performance baseline for SQL Server, explaining the key ranges for values from each counter.
  • Leveraging expression trees to unit test ViewModel classes – Jeremy Alles looks at how you can use Expression Trees to shorten the code required to test view model properties, working from the verbose manual method, to his expression tree method. Full source is provided.

Community

  • Free Windows Azure event next Monday in London (29th March) – Eric Nelson highlights a free all day Azure event to be held in London next week. Spread over three tracks this event covers a number of aspects of Azure from PHP / Ruby support though to the commercial model for Azure, and is targeted principally at startups, although Eric suggests that it would be of interest to anyone.
  • Canadian Developer Connection : David Laribee on Thursday’s "Ignite Your Coding" – Tomorrow Evening UK (2pm Eastern) sees the Ignite Your Coding live webcast featuring David Laribee talking on the concept of Technical Debt, looking at ways of paying back the debt, and taking questions from the audience.
  • Unveiling Raven DB – Ayende announces that he will be giving a talk on the evening of 28th April at SkillsMatter in London where he will be giving his Raven DB Document database project its first public ‘unveiling’. The Event is free to attend, but registration is required. Ayende also gives a sneak peek at some of the UI for Raven DB in his post ‘First look at Raven DB

The Morning Brew #565

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

Software

  • Announcing: TinyMessenger – Steven Robbins updates the TinyIoC project adding a new event aggregation implementation to allow a message passing loosely coupled communication method between components, providing message passing, filtering and subscription support along with proxy support for marshalling to the UI thread
  • Work item visualization – Brian Harry highlights a Visual Studio 2010 add in which provides a means of visualising the dependencies between TFS task work items using the new architecture visualisation tools functionality..
  • Windows Workflow Foundation in .NET4 – Soma Somasegar gives an overview of the changes to Windows Workflow between the WF3 and WF4 (.NET 4) releases. The Windows Workflow team also have a WorkFlow Migration Kit available, as highlighted here by the Innovation Showcase showcase blog. The tool aims to take the pain of migration away, performing automatic upgrades where possible.

Information

  • Validate your conventions. – Krzysztof Kozmic talks about the benefits of having conventions in your code to make it easier to understand and work with, and discusses the need to test that the conventions are being adhered to to avoid encountering bugs due to lack of adherence to conventions.
  • Socks, birthdays and hash collisions – Eric Lippert talks about the generation of hash codes, and illustrates the probability theory (by way of his sock draw) behind the possibilities of collisions in hashcode, and why you should not use 32bit hash codes as unique identifiers
  • Whats new in Code Analysis for Visual Studio 2010 – The Code Analysis Team talks about what is new and changed in the Visual Studio 2010 Code Analysis functionality, including a summary of the analysis rules which have been added and changed, along with a discussion of the new rule sets.
  • A simple WCF service with username password authentication: the things they don’t tell you – Peter van Ooijen looks at username and password authentication on a WCF Service, showing the minimal steps required to set up such an authentication setup for both client and server.
  • Exploring ASP.NET Validators – Brij takes a deep look at the ASP.NET validators provided by the framework, examining the server and client side validation functionality, the AjaxControlToolKit Validation Extender, along with two more complex scenarios involving validation of multiple controls.

Humour

  • Now there’s a License plate (Take that, License plate cameras!) – Greg Duncan shares a picture that has been doing the rounds across Twitter in the past few days, showing an enterprising driver who is hoping to exploit SQL Injection in Vehicle Speed Camera database systems. A useful reminder to always sanitise input regardless of source.

The Morning Brew #564

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

Software

  • SubSonic 3.0.0.4 Released – Rob Conery announces the latest release of the SubSonic ORM which has been brought into being by the contributions of Adam Copper, Christoph Walcher, and Bruce Onder. This release mostly fixes reported issues with previous versions along with some minor improvements and performance enhancements.
  • Fasterflect 2.0 Release – Buu Nguyen announces the second major release of Fasterflect, a reflection library which aims to take away some of the performance penalty of performing reflection operations. This new release includes a new Query API allowing you to explore objects as well as creating and calling methods and properties via the Access API. Both binary and source are available on CodePlex.
  • VS2010 RC, TFS2010 RC Virtual Machines are here… – Greg Duncan highlights the availability of Visual Studio 2010 RC and Team Foundation Server 2010 RC Virtual Machine images for Virtual PC 2007, providing you with a guaranteed conflict free way of trying out the latest and greatest Development Environment and Framework version.
  • ASP.NET Performance Framework – Karl Seguin shares a framework for ASP.NET Web Application performance which combines the techniques he discussed in an earlier post providing a means of performing merging and shrinking of files, enabling cache bursting , and manipulating content headers, all via a simple command file which is used by the framework which is implemented as a HttpModule.
  • Bundler Now Supports Named Bundles – Justin Etheredge has updated his Bunder utility to add support for named bundles of files and also to support the Media attribute in CSS files.

Information

  • Parallel Programming Patterns Book – Ade Miller highlights the CodePlex site for the Patterns and Practices Team Parallel Programming Patterns content, which will in time be formed into a P&P book. At the moment there is an outline of the book along with an early version of a sample. This will be one to watch over the coming months as the book solidifies.
  • Introduction to the Reactive Extensions for JavaScript – Drag and Drop – Matthew Podwysocki continues his series on the Reactive Extensions for JavaScript taking a look at porting examples from the Flapjax Language into jQuery using the Reactive extensions, exploring a Drag Drop example, and in his next post ‘Introduction to the Reactive Extensions for JavaScript – jQuery Live Event Integration‘ where he explores jQuery Live Event integration with the Reactive Extensions and also talks a little about some new features coming soon to the Rx library.
  • ASP.NET 4.0 Part 14, More Control Over Session State – Dan Maharry presses on with his series of posts looking at the new features of ASP.NET 4 with this post looking at Session State changes touching on Session state compression allowing you to trade reduction in network traffic for increased CPU when working with out of process session state, as well as looking at the SetSessionStateBehavior allowing you fine control of what session features you require for a page.
  • Visual Studio Color Theme Editor – Extension #01 – Sara Ford begins a new series of posts focusing on Visual Studio Extensions, with this opening post looking at a theme editor for Visual Studio appearance.
  • Don’t Give Up on the State Pattern Just Yet – Jan Van Ryswyck follows on from Greg Young’s post on the state pattern last week with a look at using interfaces to control what state transition are possible for an object
  • Building extensions for Expression Blend 4 using MEF – Timmy Kokke takes a step by step look at extending Expression Blend 4 using the Microsoft Extensibility Framework illustrating with code and screenshots
  • Teaching AutoMapper about our conventions – Joshua Flanagan takes a look at implementing your own rules for the AutoMapper to follow when performing its automapping to help the automapper work more seamlessly encapsulating all the repetitive coding of the mappings into the config.
  • A quick look at Windows Phone 7 development – SQLDenis takes a look at Windows 7 Phone Development using the newly released Windows Phone Developer Tools, showing the install, and highlighting developer resources.

Community

  • DotNetDevNet Meetings – March to June 2010 – Guy Smith-Ferrier highlights a number of great events being run by the DotNetDevNet Usergroup in the South West of England. All these events are free to attend, and feature great speakers on great subjects.
  • MIX10 Wrap Up – Mike Swanson talks about the popularity of the MIX 10 Session videos and highlights a number of ways of obtaining the video content, along with sharing the list top rated sessions and a number of amusing numerical facts about the conference (food, drink and bandwidth consumed amongst others)

Next Page »