Thursday, 28 February 2008

Windows Live Writer rocks

Just thought I would write a quick blog about Windows Live Writer. For those of you that haven't heard of it and are active bloggers I would definitely recommend looking at it.

It's basically a win forms app for writing your blog posts so you get a nice rich UI and easy environment to write your blog, it also has lots of cool plugins that allow you to do all sorts of things including copy and paste code directly from Visual Studio which is ideal - no more having to get to grips with your blog's code editing facilities.

Anyway, take a look and your blogging experience will never be the same again :-). You can download live writer from here, have fun.


Tuesday, 12 February 2008

Watir, Watir everywhere - WatirRecorder++

I've started play around a little bit with Watir (pronounced "water" and stands for Web App Testing in Ruby), lately after some colleagues at Immediacy gave me a small demo on it. It is essentially an open source library for automating the web browser and can be used for testing web applications.

I am not going to go into detail about what it is cos' there is loads of information out there already but I was quite impressed by what Watir could do. My main concern was that you needed to hand craft your automation scripts. Now I am sure a bit of effort up front would pay dividends in the long run but it just felt like a little bit too much work to get the scripts up and going, that is until I came across this handy little tool. Once again Scott Hanselman seems to come to the rescue by developing the first version called WatirMaker, opening up the source code to the community and then a couple of others take it on and enhance it.

I've only used it very briefly but it is pretty cool and worth checking out.

Thursday, 7 February 2008

On the .Net Ship Enterprise - a brief history

On February 21st we've got Alex Homer coming to the Southampton user group to give us an overview of the Enterprise Library (EL) produced by the Microsoft Patterns and Practices team, so I thought I would just blog about some of my experiences of using the EL.

I first came across EL when I was working on a project developing an application lifecycle management tool in 2003, it was a green field project so we had an opportunity to use what ever technology we liked but unfortunately EL didn't exist at that time. .NET was still its early stages of development, it has come on a long way since then, and we were looking to develop the system around a plugin based architecture that give us the ability to add modules dynamically at run time. Microsoft Patterns and Practices didn't exist back then and we were just looking for any inspiration we could find, after a bit of web surfing we came across SharpDevelop an open source IDE for developing C# and VB .NET projects - essentially it was an open source Visual Studio and at the time was pretty good substitute for the .NET hobbyist, I am not sure whether project is still alive but it certainly was a life saver back in the day.

Anyway, so we had a plugin based architecture based around SharpDevelop's codon tree (see the website for more info about what a codon is!) and were merrily developing our application but it just felt like we were taking two steps forward and three steps back, hitting a brick wall at each turn trying to work out how our application should be secured, what exception handling strategy should be implemented, what model should we use for our data access, what kind of caching strategy should we implement etc I remember at the time typed datasets were the latest and greatest thing to come from Microsoft - ugh, they were horrible things and got us into all sorts of trouble.

So we seemed to bumble along for about 1 year into our project in a typical waterfall based fashion i.e. 3 months requirements capture, 3-6 months UML design, develop a "throw away prototype" whilst continuing the design, end up using the prototype to carry on development because the design wasn't "ready". It was an absolute classic and I learned a hell of a lot about how not to develop an enterprise development application, at the time it felt like the project was going nowhere and was just getting more and more stressful. I was looking for alternative ways of doing things and came across some of the early white papers produced by the patterns and practices team detailing the fact that they were developing a library of application blocks to follow industry best practice and help developers to implement basic building blocks of an application. Unfortunately, enterprise library was still a pipe dream and it was only about another year later that something useful came out and Enterprise Library 1.1 was released in January 2005.

The library contained a bunch of extensible and reusable "application blocks" designed to handle common tasks such as logging, data access, exception management and seemed to meet the exact criteria I was looking for nearly two years earlier - unfortunately the amount of re-work required to retrospectively introduce all of the application blocks into our application never quite made it passed the management team but we were able to integrate the data access, logging and caching blocks without too much trouble.

Since then the patterns and practices team continued to develop the enterprise library improving it and integrating it with changes in the .NET framework, and in January 2006 another version of the library was released that included .NET 2.0 enhancements and more improved configuration capabilities.

April 2007 saw the release of EL 3.0 with better integration with .NET 3.0 and two new application blocks including policy injection and validation and May 2007 saw some minor enhancements to these blocks. This release came with a dependency injection pipe line engine called Object Builder, although this could be used independently from the enterprise library and was used extensively in the Composite UI application block (thoroughly recommend looking at this if you are developing smart client application).

So looking back to my earlier days starting out on a green field project developing an enterprise scale application lifecycle management system, if I was to redo that project now would I use the enterprise library? Hell yeah, without a doubt, the entire library may not be relevant but I would certainly use pieces of it as a starting point.

Version 4.0 is due for release at the end of February 2008 and is going to contain a revised dependency injection block called "Unity" which is due to replace the object builder.

Well, this brief history has turned into a bit more of an epic than I thought it would, if you've made it this far, thanks for reading and hopefully see you at the next user group meeting :-).

Tuesday, 5 February 2008

Southampton "Install Fest" Announced

The aforementioned install fest in southampton has now made it to the NxtGen event list, go here to register asap.


Monday, 4 February 2008

"Install Fest" at NxtGenUG Southampton - 13th March

So if you haven't heard by now, if not where on earth have you been?, Microsoft will be hosting their biggest launch event in the UK ever with the launch of VS2008, SQL Server 2008 and Windows Server 2008, look here for more info.

So anyway, us guys at NxtGenUG Southampton figured it would be great for our local community to get involved with this whole launch extravaganza and have been working and planning hard to get something sorted. So the idea of an "Install Fest" from the other side of the pond came up as a possibility and we figured it would be a great idea to do for our community over here, something just a little bit different from the norm.

So you're probably thinking "what on earth is an Install Fest when it's at home", so I'll try and and explain. Essentially to celebrate the launch of Visual Studio 2008, SQL Server 2008 and Windows Server 2008, Microsoft have been getting involved with local community user groups such as our own and given us lots of free copies of software to give away as swag. There will be the usual pizza abound, a few drinks here and there, and plenty of swag - basically every attendee will walk away with at least a copy of VS2008 Standard. To get an idea of what it might be like take a look at these blogs: Scott Hanselmann's invite to portland install fest, Szymon Kobalczyk's Install Fest in Krakow and Chris Koenig's Install Fest update.

So you may be asking what is so different from the usual monthly sessions? Well, apart from the fact that the swag is great we're inviting all attendees to bring their laptops or desktops to the event and we will all install the RTM components together, whilst all that is happening we'll be having some fun on a couple of XBox 360s with Guitar Hero 3, prizes for the best rock star so get your string plucking fingers ready!

Our sessions normally run from 19:00 - 21:00 but this session will be starting slightly earlier at 18:30 until 21:30, the reason for this is that we want to pack as much as we possibly can into this session and both John and I have recruited community member Neil Robbins (if you've been to a Southampton event you've probably met him) to help us put together a session on our 'Top 5 Features of VS2008, SQL Server 2008 and Windows 2008.

So by attending this event you'll not only learn loads about the 3 latest Microsoft products but you'll also get to eat lots of pizza (as usual), get some great swag, have some fun for the evening and try and beat your mates at Guitar Hero....what more could you ask for?

Anyway, that just about covers it, the event hasn't quite reached the NxtGen event list yet but keep your eye on it and register as soon as you can, we've only got a limited amount of software licenses to give away!