Entries categorized 'Blog':

Reflector acquired by Red Gate

Reflector I’m not sure how I feel about this yet, but Red Gate Software has acquired the awesome Reflector from Lutz Roeder. Reflector is one of those essential .NET development tools. I’d certainly be lost without it.

On one hand being acquired by a commercial software vendor is a real endorsement of a great product, and Red Gate have a good reputation too. But part of Reflector’s appeal is that you get all the great features for free and, despite not being open source, has good community contributions through the plug-in API. The fact that Red Gate will “maintain a free version for the benefit of the community” makes me wonder what won’t be in the free version.

I guess only time will tell.

Pragmatic unit testing : An introduction

Towers of Hanoi Often when I talk to customers about unit testing I get similar reactions. Typically unit testing is recognized as a good thing; it’s something that should be done and it improves quality. But together with this positive view there are always a number of reasons why they are not unit testing. Most of these reasons are perfectly understandable. “I don’t understand unit testing”. “Why is unit testing valuable to me?”. “I can’t work out where to start”. “How do I unit test this code?”. “It’s going to take me longer to write if I write tests too”. If I’m honest, when I first met unit testing that’s how I felt too. So why is this? Why, when we agree that unit testing is a good thing, is it so hard to actually start doing it?

I think a large part of the reason is that most developers work with existing code. We rarely get the luxury of starting something new, wiping the slate clean of all the old practices and applying some new ones afresh. Maintaining code over time is simply harder than writing new code. Ironically, that’s one of the reasons why unit testing is important! To make matters more difficult most of the unit testing advice and examples, in books and on the Internet, focuses on writing new code, not introducing unit testing to existing code. That’s simply because it’s more complex, depends on many factors, and typically needs to introduce other topics that can end up causing confusion.

Hence my reason for writing this post. Over a series of posts, I want to try and provide some realistic and pragmatic guidance on introducing unit testing to existing code, and in doing so stimulate a conversation on the subject. I know there’s a need for this guidance, and I’m hoping that there are also developers out there who’d like to share their actual experiences, good or bad. I’m not claiming to be an authority on this subject, only an interested developer who likes unit testing. Hopefully by the end of the series there will be more developers who like unit testing, and have a better understanding and more confidence to start.

Uncyclopedia

Thanks go to Raymond Chen for guiding me towards another corner of the Internet that makes me smile. We all love Wikipedia, right? Source of all knowledge and resolver of pointless arguments over trivia! But sometimes it’s a bit too serious, a tad realistic. What if you’re after a complete lack of realistic content? That’s where Uncyclopedia comes in. I just love the article on Doctor Who.

“This article needs more Daleks. Edit, Conquer, Destroy!”

BizTalk Server Performance Optimization Guide

The BizTalk Server Performance Optimzation Guide has been released. Co-authored by my good friend Ewan Fairweather and Rob Steel it’s full of invaluable information about getting the best performance from your BizTalk installation, from identifying and eliminating bottlenecks, to automating performance tests, and optimizing performance. You can get it in several places and formats:

Charity Gardens Day

Charity gardens day - Joanne on admissionsSome of you will have noticed that, up until my previous post, there had been a bit of a post hiatus on this blog. Needless to say it’s because I’ve been quite busy.

Charity gardens day - LilliesSeveral months ago Joanne and I agreed to join a number of other residents in our community in opening our gardens up to the public to raise money for Thames Hospicecare. They’re a fantastic local charity that is the largest provider of palliative care in East Berkshire and helps families affected by cancer and other life-limiting illnesses. If you’d like to donate towards their work pop on over to Justgiving.

As you can imagine, opening up your garden to the public is a daunting prospect, and work started many months ago, planning, planting seeds, preparing beds, etc.. Personally I must have dug a good tonne of soil and compost, and I certainly disposed of a tonne of concrete from old crazy paving paths! Well, the final push happened over the last few weeks, and on Saturday a total of nine houses in the area opened their gardens.

Charity gardens day - Front bed and tombolaIt was a superb day, made even better by the beautiful weather as the sun shone all day. Not only were there nine gardens to look around, we had hundreds of plants for sale, a tombola, raffle, tea and cake stalls, a book/video/dvd stall, and a kids quiz. Over 150 people came along to enjoy the day. As a result we raised over £1,400 on the day, and with additional personal and company donations the total raised is over £4,000.

So, would we do it again? Well, it was very rewarding and enjoyable, and lots of the little jobs on the garden to-do list were finished off, so the garden does look lovely. However, it was a lot of hard work, and somehow I think that next year we’ll be too busy to do it again, but that’s another story…

Visual Studio 2008 for Database Professionals and SQL Server 2008 RC0

I try to keep the development environment I have on my laptop up to date with the latest software that Microsoft has to offer. This allows me to play with the new technology and learn, as I often get asked questions by customers about this new technology. All the older software I have in virtual machines. I recently updated my development environment to include Visual Studio 2008 SP1 Beta and SQL Server 2008 RC0, and this is my story…

The install of Visual Studio 2008 SP1 Beta and SQL Server 2008 RC0 was pretty painless, if a little lengthy, but I was initially surprised to find that the Database Professionals bit of Visual Studio 2008 didn’t seem to support support SQL Server 2008. When I tried to create a new SQL Server 2005 database project, or open an existing one I just got this not very useful error (I don’t have SQL Server 2005 installed at all):

Object reference not set to an instance of an object.

Thinking about it, it’s obvious that Microsoft released Visual Studio 2008 before SQL Server 2008, so I was going to need an update for Visual Studio 2008 to support SQL Server 2008. A short search later I came across a blog post from Brian Spann that told me what I needed to know. So off I went and downloaded Visual Studio Team System 2008 Database Edition GDR. I’m not sure, but my guess is that eventually this might be incorporated into SP1. Can anyone confirm this?

So, happy in the knowledge that SQL Server 2008 should now work I loaded up a solution containing an existing SQL Server 2005 database project. I was again surprised when the Project Conversion Wizard popped up. Fine, I thought, I just need to upgrade the database project to a new format. Unfortunately it wasn’t that easy as running through the wizard and clicking Finish just presented this error:

This project file was created with an earlier version of Visual Studio Team System 2008 Database Edition.

Frustrating, I had to create a new project. There’s obviously a bit more work to do on the update, but don’t say I didn’t warn you!

Home Server Power Pack 1 Release Candidate

I’ve been a Windows Home Server user for a while now, and it made media sharing and backup management at home miles easier. Actually, to be honest it made backups possible, full stop! The one downside was a rather nasty data corruption bug, which doesn’t affect backups or media sharing and is possible to workaround, but nasty none the less. Well, the Home Server team has been hard at work and today they released the first public beta of Power Pack 1. I’ve been testing it for a while now, but in short here’s what new in Power Pack 1:

  • The data corruption bug has been fixed
  • Performance and power management improvements
  • Connector support for Windows Vista 64-bit
  • Backup of Home Server shared folders
  • Remote access improvements

You can download the release candidate from Connect, but bear in mind that this is still a beta product, so install at your own risk. There are also more details on the Windows Home Server Team Blog.

ReSharper 4.0 Released

Woo hoo! ReSharper 4.0 has now been released.

Silverlight 2 Beta 2 Released

If you’ve been following the coverage of the TechEd Developers conference you will have picked up on the announcement that the next beta of Silverlight 2 is going to be released this week. Well, it’s now here! Scott Guthrie has a great write up of all the improvements over the previous beta, so I won’t repeat them here. You can download all the bits here.

It’s funny because Silverlight isn’t something I’ve looked into a great deal yet, but I have been delving into WPF a fair bit, and in particular I’m a big fan of Expression Blend. Blend really helped me learn WPF initially as it was easy to experiment with different layouts and controls, and see the XAML that expressed this. But what really helped me learn was Adam Nathan’s superb book Windows Presentation Foundation Unleashed. If you want to learn WPF I’d encourage you to grab yourself a copy of Adam’s book and download the preview of Blend. You’ll master WPF in no time!

ReSharper 4.0 Release Candidate

imageIt's not long since JetBrains released the Beta, but ReSharper 4.0 now has a release candidate. Cool looking lightsaber (sp?) graphic in the installer too!