Tuesday, 3 March 2009

Code Contract For .NET

Developing a framework can be hard as there is alot to think about, like a user interface you need to think of the different ways it may be used and only expose those methods which make sense to be called and because most people will never read you documentation (and why should they) you make sure that each public method is named correctly. 

As we all know those framework methods form a contracts between you and the consumer as to how the framework will be used, the consumer is obliged to supply certain details and the framework is required to return certain details.

I find creating frameworks interesting, this is mainly because I have never been a great interface designer, and I also find it easier as there are a finite set of rules for how to create them, all around me in .NET I can just emulate the same structure (I see how Microsoft have done it and I copy it).

Even though the creation of frameworks removes the need to understand how to lay text boxed on a web page or form you still need to do almost as much validation, you need to make sure that the values supplied to the methods are correct, when the are not you need to throw exceptions which can be caught or the alternative is you do not worry what is supplied, but surly no one does that! 

This is how we currently validate the input and sometimes the output of our framework methods and we just hope that the code calling us also validates our data.

Like all issues us developers have come across and found a way to deal with a small team in Microsoft have said ‘we can do better’ and when it comes to the issue of method contracts (validation of data in and out) they have done exactly that with the creation of the ‘Code Contracts for .NET’.

The code contracts framework is implemented through static classes which can define pre and post conditions for any method call, you own, and once implemented the compiler will come into play to warn you of code which breaks these conditions and at runtime the exception handling processes do the same.

For me to repeat the exact details of how this work and how to implement it would be foolish so to read a better explanation by Soma (Corporate VP of Microsoft''s Developer Division) go to his blog.

Or watch the Chanel 9 video here

Thursday, 26 February 2009

The .NET Developer Network – March 2009

When: Monday 9th March 2009, doors open 6:00pm, meeting starts 6:30pm

Where: UWE (University of the West of England), Frenchay, Bristol (see FAQ for directions and a map) - Room 2q49 (in Q block)

What: Windows Azure And SQL Data Services (SDS)

Who: Eric Nelson, Microsoft Developer Evangelist.

Why: Because Eric is Captain Database. It's what he does and he's very good at it. Also because SQL Data Services offers a world of potential that may be a life saver to your applications. Also also because Eric is very easy to listen to and he lives up to the very high bar set by all Microsoft UK Developer Evangelists.

How do I sign up for this meeting: Send an email to meetings at dotnetdevnet.com and quote your user name and the March meeting.

Abstract:
The Azure™ Services Platform is an internet-scale cloud computing and services platform hosted in Microsoft data centers. The Azure Services Platform provides a range of functionality to build applications that span from consumer web to enterprise scenarios and includes a cloud operating system (Windows Azure) and a set of developer services, including SQL Data Services (SDS).  Both Windows Azure and SQL Data Services provide data storage capabilities, the latter offering highly scalable and Internet-facing distributed database services in the cloud for storing and processing relational queries built on robust SQL Server technologies. This session will introduce the Azure Service Platform, discuss how to take advantage of it in your own applications and drill into the two storage options.

Bio:

After many years of developing on UNIX/RDBMS (and being able to get mortgages) Eric joined Microsoft in 1996 as a Technical Evangelist (and stopped being able to get mortgages due to his new 'unusual job title' in the words of his bank manager). He has spent most of his time working with ISVs to help them architect solutions which make use of the latest Microsoft technologies - from the beta of ASP 1.0 through to ASP.NET, from MTS to WCF/WF and from the beta of SQL Server 6.5 through to SQL Server 2008. Along the way he has met lots of smart and fun developers - and been completely stumped by many of their questions! In July 2008 he switched role from an Application Architect to a Developer Evangelist in the Developer and Platform Group. Currently Eric’s interests include digging into LINQ to Entities, ADO.NET Data Services and switching from C# to Visual Basic development. At home, he battles rat infestations, comes second to the family dog and uses any spare moments he has after 10pm to team up and play online with and against friends - keep an eye out for 'erknel' and say 'hi'.

Thursday, 19 February 2009

Bespin From Mozilla Labs

At the moment everything is moving into the cloud and I am still having a hard time seeing how this will all work or why I would do such a thing especially since I have spent so many years keeping everything firmly on the ground. 

Recently I came across a project called Bespin developed by the Moxilla guys, the same group of people who gave birth to FireFox, the aim of the project is to take application development into the cloud at first I was sceptical thinking of all those nasty HTML editors you get on some web sites but once I looked at their interface it was quickly apparent that this was the kind of IDE I would expect from a desktop application;

webkit-editor-medium

The aim of the project is not only to allow you to develop applications in the cloud but to also use the openness of the web to increase collaboration through an amazing process of collaborative desktops in the web browser!!

I have not had chance to use this new web application but have a look at their video on the home page and I think you will agree that these guys are doing some very interesting things with you web browser.

To see the detailed information go to http://labs.mozilla.com/2009/02/introducing-bespin/

Tuesday, 27 January 2009

DDD South West – Saturday 23rd May 2009

Are you a .NET Developer in the South West of the UK?

Do you want to attend a FREE one day event, covering all that is new and great in .NET?

The DeveloperDeveloperDeveloper (DDD) South West meeting is where you need to be, this event is held on a Saturday so you do not need to worry about taking time from your busy work schedule to attend.  For those of you who know the DDD events, which happen in Reading yearly, this event will follow the same high standards for speakers and topics covered. 

As we are aware that the South West has lacked this kind of event for a very long time we will be holding the event in Taunton at the Queens College.

The exact agenda for the day is still being finalised but rest assured as soon as it is you will know well in advance, to show you how we have organised ourselves our timeline for the run up to the meeting is as follows;

  • Tuesday 27th January - Website goes public, Call For New Speakers opens
  • Tuesday 3rd March - Registration goes live
  • Tuesday 31st March - Call For New Speakers closes
  • Tuesday 7th April - Vote for favourite sessions opens
  • Thursday 30th April - Vote for favourite sessions closes
  • Saturday 23rd May – DDD South West

To stay in touch with the latest news about the event or find more information about the venue and the team running it please visit the official website @ http://www.dddsouthwest.com

Tuesday, 13 January 2009

Web Client Software Factory (WCSF) Event Broker

To get the EventBroker to work with version 2.0 of the Web Client Software Factory read this blog.

Although the code change in the above blog entry allows the Event Broker to work you may still come across some problems, the one I recently encountered was related to generic method overloads.

Before generics you could not overload a method without changing its signature, but with generics you can alter the method signature with a type T return for example;

string Get(sting value1)

overload to;

T Get<T>(sting value1)

Now to the compiler the two methods are different, however when you use reflection to find methods and you use the Type.GetMethod, supplying the method name ‘Get’ with the correct types you will receive a ‘System.Reflection.AmbiguousMatchException’ exception. You receive this exception because to find the generic method you supply ‘Get’ and not ‘Get<T>’ which is also how you return the non-generic ‘Get’ method.

Due to the issue above when the Event Broker runs its sanity check by reflecting all your method the ‘System.Reflection.AmbiguousMatchException’ exception is raised when you have a generic overload to overcome this replace;

EventBrokerSanityCheck.cs, ln 147

interfaceInfo = @interface.GetMethod(subscribingMethodInfo.Name, types.ToArray());

With;

MethodInfo interfaceInfo=null;
try
{
    interfaceInfo = @interface.GetMethod(subscribingMethodInfo.Name, types.ToArray());
}
catch (System.Reflection.AmbiguousMatchException)
{
    //Bug fix for generic overloads
    interfaceInfo = @interface.GetMethods().Where(w =>
            w.Name == subscribingMethodInfo.Name
            && w.IsGenericMethod == subscribingMethodInfo.IsGenericMethod).First<MethodInfo>();

    ParameterInfo[] parametersInterface = interfaceInfo.GetParameters();

    if (types.ToArray().Length == parametersInterface.Length)
    {
        for (int i = 0; i < parameters.Length; i++)
        {
            if (parametersInterface[i].ParameterType != types[i])
            {
                interfaceInfo = null; //clear the interface info as we did not find the method
                break;
            }
        }
    }
    else
    {
        interfaceInfo = null; //clear the interface info as we did not find the method
    }
}

[Disclamer : I give no warranty to the correctness of this solution or that there is not a better way to do it, I just hope I help you out of a hole as it did with me]

Tuesday, 6 January 2009

Patterns & Practices - Pocket Guides

The Patterns & Practices team at Microsoft spend their time looking at the best methodologies to design and build software and as part of this they produce many frameworks to build software with and guidance documents which outline their proposed best approaches to designing certain software.

Some of these guidance documents have been made available in pdf format covering the following architecture topics;

  • Web Applications
  • RIA Clients
  • Services

Each guide gives practical guidance on what you need to consider when creating software for each environment, these should be your first stop when stating the creation of your software.

To download each guide go here

Thursday, 18 December 2008

The .NET Developer Network - January 2009

When: Tuesday 27th January 2009, doors open 6:00pm, meeting starts 6:30pm

Where: UWE (University of the West of England), Frenchay, Bristol (see FAQ for directions and a map) - Room 2q49 (in Q block)

What: Parallel Extensions to the .NET Framework (.NET V4.0)

Who: Mike Taulty, Microsoft Developer Evangelist and absolutely fabulous speaker.

Why: Because all new PCs have more than one processor and this is the future of computing. The problem that we have as developers is that our code is primarily single tasking so the other processors are going to waste. Parallel Extensions is part of the .NET Framework 4.0 and they allow us to make use of additional processors. Also because Mike is quite simply the best presenter on the UK user group circuit and you will be hard pushed to see a better example of how to present all year.

How do I sign up for this meeting: Send an email to meetings at dotnetdevnet.com and quote your user name and the January meeting.

Abstract:

The next version of the .NET Framework will come with new classes that start to chip away at the difficulties in building multi-threaded applications that are well placed to take advantage of the modern multi-core processor architectures and the future many-core architectures that are coming over the next few years. In this session, we'll introduce what that Parallel Extensions are, what they can do for you and take a tour around what's available in the current previews for you to start evaluating.

Bio:

Mike Taulty works in the Developer and Platform Group at Microsoft in the UK where he has spent the past few years helping developers understand and get the best from the Microsoft platform. Prior to this, Mike spent 3 years with Microsoft Consulting Services as a consultant on developer technologies.
Before joining Microsoft, Mike spent the previous 9 years working as a software developer for a number of enterprises, consultancies and software vendors working with a variety of operating system, client, communication and server technologies. Mike holds a BSc Hons (1st Class) in Computer Science from the University of Leeds.

Wednesday, 17 December 2008

Visual Studio Ora

Code navigation and organisation can become an issue in the real world of development, eventually most code files contain a significant number of lines.  Aware of this problem the Visual Studio team gave us regions which work great but only work to hide code in expandable sections.

At the begging of December a new version of Ora was released, Ora is a Visual Studio 2008 add-in which solves the problems of code navigation (I know I am using it).

With the add in running you are presented with an grouped overview of your classes, whith methods and properties organised by interfaces, scope etc.  The tool removes the need to encase your code in regions and makes the issue of navigating code files so much easier.

To download the source or binaries please visit the codeplex : http://www.codeplex.com/ora

orascreenshot.png

As good as a tool like this is, its no excuse for an unorganised file, please keep this in mind.

Tuesday, 16 December 2008

Visual Studio 2008 Spell Checker

For years I have been so grateful that Word comes with a spell checker, before it arrived I spent alot of time with a dictionary at my side. Although my spelling has greatly improved there are still to odd word I get wrong and these usually show up in my developments, and there is nothing worse than having a client call you up to tell you that your latest release has a spelling mistake (which is usually in a spurious label hidden away).

What we need is a spell checker that knows what to check and what not, well surprisingly there is, the Visual Web Developer Team have created such a spell checker.  The spell checker works only in Visual Studio 2008 SP1 and only for web projects so unfortunately WinDev developers are still out in the cold.

The tool is supports checking of text in the following areas;

  • HTML style comments <-- HTML -->
  • ASP.NET server side comments: <%-- ASP.NET --%>
  • JScript, C# and C++ comments: // C++ style comments
  • CSS and C style comments: /* C style comments */
  • VB and VBScript style comments: 'This is VB comment
  • The spell checker also has an ignore list and works for multiple languages.

    To read the full details and download please visit the Visual Web Developer Team Blog

    Monday, 15 December 2008

    50 CSS Tools

    Smashing Magazine have produced another one of their 50 useful tools posts, this one is concentrated on CSS tools and has a number of useful links. For example there is a tool for formatting text (through CSS) to any shape and a tool which will allow you to test your JavaScript in the browser in real time!

    To see the full list for yourself go to www.smashingmagazine.com

    Thursday, 11 December 2008

    Cheat Sheets

    How often do you need to know the life cycle of an ASP.NET page or you need to know what code snippets are in Visual Studio 2005, for me these kind of things make me head for google in hopes that someone has this information.

    Now you do not need to search google anymore Jon Sheehan has put together all the cheat sheets he has found related to .NET into one place.

    To see the following cheat sheets visit his blog http://john-sheehan.com

    • .NET Format String Quick Reference
    • ASP.NET 2.0 Page Life Cycle & Common Events
    • Visual Studio 2005 Built-in Code Snippets (C#)
    • ASP.NET Page Life Cycle Diagram (PNG)
    • ASP.NET Runtime Cheat Sheet 
    • Microsoft .NET Framework 3.5 Commonly Uses Types and Namespaces (PDF)
    • Visual Studio 2005 Default Keybindings C# | VB (PDF)
    • Visual Studio 2008 Default Keybindings C# | VB
    • Microsoft ASP.NET AJAX Library
    • Microsoft ASP.NET AJAX Client Life Cycle & Events (PDF)
    • LINQ
    • VB.NET/C# Comparison
    • SQL Server
    • HTML Character Entities
    • RGB Hex Color Chart
    • CSS
    • jQuery
    • JavaScript
    • XHTML (PDF)
    • Regular Expressions
    • Microformats

    Wednesday, 10 December 2008

    ASP Chart Control

    Almost every business application needs to support some kind of reporting, regardless of weather the stakeholders realise it.

    Microsoft realise that the ability to view data online is important to us and have just released a new Charting control which can produce charts like this;

    The control is free and Scott Guthrie has all the information in his blog

    Monday, 8 December 2008

    Microsoft Bluprints

    Creating code can be boring! Do not confuse this statement with the fact that enjoy my career immensely and I spend every waking moment reading, learning and doing.  The things that bore me the most is creating the same code over-and-over (boilerplate code), I know how to structure my RIA and my Web Services etc its all taken from best practices and my previous experience.

    To get me past the boring bits I will use software factories, they take the pain away and allow me to concentrate on solving the problems.  The current factory I am using is called "The Web Client Software factory (WCFS)" which uses the Guidance Automation Toolkit to create the wizard interface and hold the code templates for generation. 

    The use of the WCFS is great and really speeds up development and unification in code bases between developers, all I need to do to create another module of functionality is select a special menu option on Visual Studio, follow the wizards, make some decision on name etc and all the boilerplate is done.

    The Guidance Automation framework, on which the WCSF is built, has been around for quite a while however it has not really caught on and not many people use to create this own software factories, in fact this technology has never really hit the main stream even though so many people need a framework to build their own factories in.

    With the release of Blueprints Microsoft hopes to make the software factory work more accessible and replace the Guidance Automation Tool.  Blueprints is a tool for creating and using software factories however this tool seems to be better as it is easier to use by providing a unified environment to run your factories from, the factories can also be accessed from RSS feeds allowing you to always access the latent version.  Also unlike the Guidance Automation Toolkit this tool provides a creation tool already build.

    Blueprints is the next step into software factories so expect to hear alot more about this and code automation in the coming month as we start to become more educated against writing the same code over-and-over and spend more time dealing with the problems and getting though right.

    To read a full description of Microsoft Blueprint go here : http://msdn.microsoft.com/architecture/blueprints

    Download the tool here http://www.codeplex.com/blueprints

    Tuesday, 25 November 2008

    PDC 08 Videos

    Since I first heard about the PDC I have always wanted to go, its the event which Microsoft uses to promote its business and provide developers and architects with information on how the tools they use will evolve.  It is also held in Los Angeles, which is cool, imagine being sent to LA on work time!

    The PDC is not a cheap event and I suspect unless you have a boss who is enlightened to how important this event is and work for a fortune 500 company you are very unlikely to be able to attend, although if you can convince your family to holiday in LA then I am sure its a good way to combine the two!

    However do not fear for those of us with no holiday budget, other than a week in Skegness, and not working for fortune 500 you can still see every session at the PDC just by going to www.microsoftpdc.com.

    I have spent the last couple of weeks listening to the video sessions, while working, and the videos are great most of them include a small picture of the presenter and the slide deck so nothing is loosed in not attending.  The keynotes are the best videos, especially as if you had tried to attend the event yourself you would have had to content with looking over quite a few hundred people to get a glimpse of the stage.

    PDC 08 videos @ www.microsoftpdc.com

    Monday, 24 November 2008

    Windows Vista SP2

    Service pack 2 for Vista started development not long after SP1and contains fixes created since SP1 and new enhancements, these include;

    • Windows Search 4.0 integration
    • Bluetooth 2.1 feature pack
    • Blu-Ray enhancements
    • Windows Connect Now

    Vista SP2 is currently being beta tested by a number of developers but is not publicly available, however roomers suggest that Vista SP2 will be available in the first quarter of next year.

    Thursday, 20 November 2008

    New .NET Logo

    I know I am a bit behind the times, however at the end of October Microsoft released their new .NET Logo;

    net_h_rgb_2

    The release of the new logo coincided with the start of the PDC 08. 

    Personally I like the new logo however I tent to be drawn to most things new, maybe because I like change when it comes to .NET.

    Expect to see the wavy 'N' all over the place when it comes to .NET and associated technologies.

    Check out the site re-branding and details of "Oslo" and "Dublin" @ www.microsoft.com/NET/

    Thursday, 13 November 2008

    JQuery Intelliscene In Visual Studio 2008

    As part of the process of Microsoft using JQuery for some of their new web enhancements (MVC being one and the next version of AJAX) they have decided to enhance the JQuery library to include Visual Studio code comments for JScript IntelliSense.

    To get the IntelliSense enhancements there is a new file to load and a hot fix, to read the full story go to the Visual Web Developer Team Blog @ Microsoft

    Tuesday, 11 November 2008

    CodeRush Xpress for Visual Studio 2008

    For those of you who have never heard of CodeRush it is a tool developed by DevExpress which provides a number of productivity enhancements in Visual Studio through automation of repeatable tasks for example it can repeat lines of code, highlight references, refactor and more.

    CodeRush has gained quite a following for the enhancements it provides for .NET developers and the time saving tasks it provides.

    Personally I have been a fan of the tools, but have not invested (yet), however I do use their free version called 'Refactor! for ASP.NET' which even with its limited tasks has made an impact on my development. If you are like me you have wanted Code Rush then you can come one step closer as announced at the PDC '08 DevExpress and Microsoft have teamed up again to provide CodeRush Xpress for Visual Studio 2008.

    CodeRush Xpress is a cut down version of CodeRush bit still has a healthy number of tools which would enhance most developers working practices, there are 26 refactions including;

    • Combine Conditionals
    • Convert to Auto-implemented Property
    • Convert to Initializer
    • Decompose Initializer
    • Decompose Parameter
    • Expand Lambda Expression
    • Expand Ternary Expression
    • Extract Method to Type
    • Flatten Conditional
    • Inline Delegate
    • Inline Temp
    • Introduce Local
    • Make Explicit
    • Make Implicit
    • Reverse Conditional
    • Split Conditional
    • Use String.Format
    • Use StringBuilder

    Also you will see a number if Visual elements for hints, smart tags and code layout as well as a enhanced code navigation tool.

    To download this great FREE tool go here

    Monday, 10 November 2008

    The .NET Developer Network - December Meeting

    When: Tuesday 2nd December 2008, doors open 6:00pm, meeting starts 6:30pm

    Where: UWE (University of the West of England), Frenchay, Bristol - Room 2q49 (in Q block)

    What: "What’s New In C# 4 ?" and "Strategic Development Methodologies Using Rock Band"

    Who: Guy Smith-Ferrier, co-founder of The .NET Developer Network, MVP, author, rather dodgy singer.

    Why: Because knowing what's in C# 4 allows us to know where to spend our precious R&D time and to make better long term decisions. Also because it's Chistmas and Rock Band is just a whole load of fun that everyone should be able to share.

    How do I sign up for this meeting: Send an email to meetings at dotnetdevnet.com and quote your user name and the December meeting.

    Abstract: What’s New In C# 4 ?
    Microsoft are keeping C# 4 under wraps until PDC 08 at which point we start the roller-coaster of catch up all over again as we desperately struggle to keep up with what’s new and why we should be interested in the latest flashy feature. This session is only a month after PDC so you should be way ahead of the game this time.

    Abstract: Strategic Development Methodologies Using Rock Band
    Developers tend to get stuck in a rut using the same old tools over and over again. Visual Studio, C#, .NET Framework, SQL Server, NUnit, Cruise Control. It might come as a shock to learn that one of the best development tools is Rock Band on the Xbox 360. This session introduces us to Rock Band and through the use of numerous demos drawing on heavy audience participation we learn to code better, be not just better developers but better people and, most importantly to solve world hunger and develop peace and harmony for everyone. (And just so we’re clear here – this session has absolutely nothing to do with strategic development methodologies – it’s just a clever title).

    Bio:

    Guy is an MVP in ASP.NET. He is the author of ".NET Internationalization" published by Addison-Wesley (http://www.dotneti18n.com). He is a Microsoft Certified Professional developer, author, trainer and speaker, has spoken at many European and US conferences, is the winner of the NxtGen Best Presentation 2006/2007, has been voted best speaker three times and is an INETA Speaker. He runs The .NET Developer Network (http://www.dotnetdevnet.com), a free .NET user group in the South West of England. He is the author of C#/.NET courseware and much of the official Borland courseware including courses on COM and ADO. He has written over 50 articles for numerous magazines, has co-authored an application development book and is the author of the ADO chapter of "Mastering Delphi 6". You can read his blog at http://www.guysmithferrier.com.

    Wednesday, 22 October 2008

    DDD 7 Registration IS OPEN

    Register for DD7 at the following url;

    http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032393874

    DO IT NOW it takes less than 48 hours to sell out!!!

    Tuesday, 21 October 2008

    November 3rd Meeting of The .NET Developer Network

    When: Monday 3rd November 2008, doors open 6:00pm, meeting starts 6:30pm

    Where: UWE (University of the West of England), Frenchay, Bristol - Room 2q50 (in Q block)

    What: "A Developers Guide To Network Admin..."

    Who: Dave McMahon, Developer and Network Administrator at Ridgian, co-founder of The Next Generation User Group, MVP, podcaster, game show host, singer/song-writer, conference organiser, wearer of silly wigs.

    Why: Because developers just aren't too good at this bit and we should be. Stand up to your network administrators, tell them to configure their subnets and DHCP servers correctly. And also because you get to meet the face behind the voice of so many podcasts and so much giggling.

    How do I sign up for this meeting: Send an email to meetings at dotnetdevnet.com and quote your user name and the November meeting.

    Abstract:

    After building our magnificent applications, we developers have to lower ourselves to deploy our works of art on live servers so that ... (gulp) ... people can use them ... After working as a developer AND as a company Network Administrator for 6 years Dave will take you on a Developers journey through IP Subnets, DNS, DHCP, Firewalls, Routers, Domains, Active Directory, Network Configurations, IIS Configuration, SQL Server Configuration and that all time favourite of Developers ... permissions. He will explain what Default Gateways are, and what a DNS Suffix for, what application pools do, why you should throttle back SQL Server memory, how does DNS work, and DHCP. All these things can impact our application and make deployment time a painful time. It pays to know how some of this IT Pro stuff works and Dave will pack the 2 hours full of demos and examples from the last 6 years so that you have a better understanding of how our Windows networks function and how they affect your application. After this session if some IT Pro blokey/blokess says to you "Your problem is that the IP Subnet Mask doesn't match you Default Gateway, your DNS Resolution is failing and you need a DHCP Reservation on your local subnet", you can smile and nod knowingly and have some idea of what the heck they're talking about ...

    Bio:

    Dave McMahon studied Theoretical Physics at York University and on graduating with a First Class Honours he moved into the obvious career path of The Royal Air Force ... After spending 10 years Skiing, Climbing, Mountaineering and carefully avoiding any posting that might involve any threat to life and limb, he took the peace dividend money and ran. There ensued a period of stocking shelves, driving forklift trucks and fitting curtains before somehow managing to wheedle his way into the software industry in 1998, something he'd always dreamed of doing since leaving the RAF in 1991.

    Four halcyon years were then spent writing VB6/VBA/Access and SQL Server 7.0/2000 applications, sigh ... Then a move into .NET from version 1.0 onwards with numerous forays into SQL Server 2005 and Oracle 10g systems right up to the present day working with Windows Workflow Foundation and SharePoint 2007. For the last 6 years Dave has also been venturing into the world of IT Professionals whilst being a Developer through his role of company Network Administrator for Ridgian http://www.ridgian.co.uk.

    Dave is co-founder of The Next Generation User Group http://www.nxtgenug.net and runs the Birmingham Region for NxtGenUG. He has spoken at many developer conferences including VBUG, DeveloperDeveloperDeveloper, MIX UK and TechEd Europe. He has also written articles for MSDN, Industry Insiders and IDM. When not playing with software, Dave is a keen guitarist, and if you know of a band short of a lead, rhythm or bass guitar, please let him know the details ...

    Thursday, 16 October 2008

    VS2008 & 2005 : Order Your Code Tabs By Usage

    How often do you find yourself working on a project with multiple code files open?  I do this often, you could say I am lazy as when I finish with the file close it down but you never know I might need it again soon and how often can you keep your train of thought from code-file-to-code-file while remembering to close and open each one, for me not much I must be easily distracted!

    This means that I spend the day with multiple code files open, the VS2008 IDE is great with tabs for each code file and I can use 'Crtl+TAB' to get an 'Alt-TAB' view however this is still a bit clumsy what would be good is if the code tabs where sorted by usage....and if by magic I have such a solution;

    Sara Ford recently posted on her VS IDE Tips blog a registry change which will reorder code tabs in VS2008 and 2005 by usage, this means the last code file you use will appear to the left followed by the next as so-on.  To read the exact change please go here.

    Monday, 29 September 2008

    JQuery With Microsoft

    Recently I started development on a brand new web site project, which gave me the opportunity to use JQuery with AJAX on the client side.

    I would like to say that I carefully chose JQuery over Prototype, Scriptaculous or one of the other javascript libraries but with time short I picked the first one which seemed the most popular and looked easiest to pick up.

    Luckily for me I chose correctly and JQuery has turned out to be an amazing library with the ability to manipulate the client side DOM with ease and has some nice UI effects like fade, shrink and grow for HTML elements.

    My choice has further been backed up by the recent announcement the Microsoft will be distributing JQuery with all their future releases, in addition they will be adding increased intelliscence to the library making it even easier to use.  Also all future AJAX Toolkit releases will build on the JQuery library.

    To read the full announcement from Scott Guthrie go here

    Thursday, 18 September 2008

    Learn From Stanford

    Heard of the prestigious Stanford university in America? Well now you can learn like you you where one of Sigma Chi's frat brothers.

    The Engineering arm of Stanford are offering a number of course online for FREE, the 10 free courses cover Computer Science, Artificial Intelligence and Linear Systems and Optimisation.  The courses consist of video lectures and course handout so you can get can learn like you where actually there, the content is large and all you expect from a course at Stanford

    However there is one drawback to doing the course on-line you cannot earn any accreditation from Stanford so all your learning will be for your own gratification, although going back to learning theory might be one way to spend your free time.

    To find more visit the official web site here

    Post inspired by DeviceGuru

    Thursday, 21 August 2008

    Visual Studio 2008 SP1

    For those of you who may have missed this one, SP1 for Visual Studio and Framework 3.5 are now out of Beta, you can find the official downloads using the following links.

    Microsoft Visual Studio 2008 Service Pack 1 (Installer)

    Microsoft .NET Framework 3.5 Service Pack 1

    Each update has a number of enhancements, in fact there has been alot of conversation over how service packs becoming more like application milestones rather than bug fixes and small enhancements as the used to be.

    For those of you who would like an insight into what these service packs contain you can download .NET 3.5 Enhancements Training Kit created by the Visual Studio & .NET Framework evangelism team which details these new features using labs, slides decks and demos.

    .NET 3.5 Enhancements Training Kit

    (blog inspired by Jonathan Carter)

    Thursday, 31 July 2008

    Microsoft Visual Studio Middle School Power Toy 1.0

    Power Toys have been something we expect to see from time-to-time, they often fill in the gaps of functionality the Microsoft development teams didn't get to finish in the release timeframe.

    Earlier this week saw the release of a number of power toys for VS2005 and 2008 aimed at the school programmer.  The power toy download includes the following tools;

    • Visual creator for sort algorithms
    • Visually create search algorithms
    • A visual variable declaration
    • Class Designer
    • Function Flow chat

    Obviously these tools will be aimed at the lowest common denominator for me the ability to produce a function flow chart showing which functions are called from one process could be very useful.

    To download the power toys go to Microsoft Download

    Thursday, 24 July 2008

    .NET Terrarium 2.0

    Back when .NET was first released (May 2002!) there where many marketing techniques that Microsoft used to get everyone involved in this new world of .NET.  Nearly six years later some of it must have worked as the majority of new code is in .NET.

    One of these marketing ideas to get developers involved in .NET was a program called Terrarium, this application creates a virtual eco system into which you can introduce creatures which will live out their lives without any kind of intervention.  In reality the creatures are .NET classes with specific attributes identifying how they reproduce, fend off attackers, feed etc in the eco system.

    Terrarium is a great way to learn .NET and also set developer against developer as they compete to create the creature to beat all.

    You can run the eco system on any machine and leave it running as long as you like while your created creatures live their lives, you can use the graphical viewer to check out how the eco system is running and feel pride as you watch your creatures beat and eat the rest.

    To get the whole story check out CodePlex

    Tuesday, 22 July 2008

    AJAX 4.0 - Preview

    Like me I am sure you are waiting eagerly for service pack 1 for .NET 3.5, which I think has been slow to arrive in this RTM form or am I just too impatient?  The main reason I need the service pack is that there are some official releases of new AJAX features I want to take advantage of.

    While I am still waiting for service pack 1 the Microsoft ASP.NET team are steaming ahead with development and have released a preview version of AJAX framework 4.0, this release includes many enhancements specifically;

  • Client-side template rendering
  • Declarative instantiation of behaviors and controls
  • DataView control
  • Markup extensions
  • Bindings
  • To get your hands in this preview visit the ASP.NET CodePlex site.

    Monday, 21 July 2008

    ASP.NET Security Videos

    Security is something we all need to know about but I am sure that like me its something you have read about but do not implement that often.

    If you need some quick videos on ASP.NET security features Joe Stanger (creator of may ASP.NET videos) has created 7 new videos covering aspects of security for ASP.NET.

    To watch the videos goto http://www.asp.net/learn/security-videos/

    Tuesday, 8 July 2008

    P/Invoke Interop Assistant

    Are you one of the few who are so deep inside Windows that the Framework just does not provide you with the access you need or you have legacy code you are moving to .NET and you have yet to work out how to replace the API call with a .NET Framework method?

    The Microsoft Introp Team have released a tool which makes calling the Win32 API from .NET easy, type in the name of the API and it returns you the declarations to call it in you .NET code.

    To download this tool go to Codeplex

    To read the BCL team blog about this tool go here

    Monday, 30 June 2008

    The .NET Developer Network - July 2008

    At this months .NET Developer Network (DNDN) meeting Guy Smith-Ferrier, founder of DNDN, will be presenting two topics which he knows alot about;

    How To Give Great Presentations

    Top 10 Tips For Internationalizing ASP.NET Applications

    As always this will be great presentation and available for FREE to everyone, to register please visit www.dotnetdevnet.com

    Thursday, 26 June 2008

    Beautifying .NET Code

    Every company I have worked in has had their own coding guidance and styling and where non existed I was involved in the creation of one.  Having guidance on how code will be created and styled is very important as it reduces the time it take for each developer to move from task to task especially when many developers are maintaining the same class.

    The only issue with code guidance and styling it is hard to enforce, especially in smaller teams with very limited resources, what is needed is an application which could enforce the chosen styling.

    In comes StyleCop and NArrange;

    StyleCop 

    Microsoft Source Analysis a.k.a StyleCop is another one of Microsoft's internal tools released to the public, it uses a number of predefined rules which outline how the code should be styled.

    When you include this tool as part of your build process it raises error or warnings informing you how your code fails the predefined rules.

    As you can expect from Microsoft this tool is very good however been warned there are many rules and some of them very different from the public guidance that Microsoft gives!  This tool will only work on C# code, because Microsoft believe the VB.NET does enough self formatting.

    A new version is already in development which will include the ability to easily create new rules and automatically format code.

    For more information and to download visit MSDN Code Gallery

    NArrange

    NArrange is not a Microsoft product but is the community effort to create a similar tool.  This tool is very much like StyleCop and will tell you how your code does not meet predefined styles and guidance however this tool will reformat your code to meet the styling and will do all this for C# and VB.NET.

    Currently NArrange is only in Beta but the team are regularly releasing versions and they are on version 0.2.4.

    To find out more and download visit SourceForge.NET

    Or read the review at CodeProject.com

    Thursday, 12 June 2008

    AJAX Control Toolkit Tutorials

    A number of new tutorials have appeared on the ASP.net site covering the AJAX control toolkit, some of these are very similar to the previous video examples but these are different as you have to read the instructions. 

    I know its a strange concept, having to read the tutorials (with video everywhere), however it does mean that you can quickly scan the text and pick out the information you need alot quicker and each tutorials comes with an online demo of the final result.

    The tutorials do cover some more advanced usage of the AJAX control toolkit like, Databinding to an Accordion and Launching a Modal Popup Window from Server Code.  All samples are available in VB and C#.

    To see the complete list visit the ASP.net AJAX site - http://www.asp.net/learn/ajax-control-toolkit/

    Tuesday, 10 June 2008

    Visual Studio 2008 SP1

    I am sure by now you have heard that there is going to be a service pack for Visual Studio 2008, as history dictates a service pack for a Microsoft product includes hot-fixes and completion of work that did not make it into the original release, and this service pack is no different.

    Do not get me wrong I am not against service packs, I quite like them, its like getting an enhancement of the product you like for free, and the service back for Visual Studio does have some nice enhancements.  These include;

    Built in URL rewriting engine (although this is needed for the MVC framework but can be used by all)

    Improvements the the Script Manager

    Visual Studio HTML Designer and JScript Intellisense updates

    Improved support for JScript frameworks like ;

    • JQuery
    • Prototype
    • Scriptaculous

    Of cause I am not close to Microsoft so the source of all this information is taken from Scott Guthrie's blog, to read his detailed description of what is included in the new service pack (to be released this summer) please read his entry - http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx

    Monday, 9 June 2008

    WCF Security

    Security is something we all need to make sure is at the front of our minds when developing any software, when using new technologies it can become hard to know where to implement the security and how to do so.

    However there is always help at hand and the Patterns & Practices team are there first with their snappy titled document "Improving Web Services Security: Scenarios and Implementation Guidance for WCF".  This document, which exist on CodePlex in beta form, contains alot of information about how to implement security for your WCF Services and is another resource to add to your arsenal (do bare in mind it is in BETA form so is destine for change and update)

    To find out more about security for WCF please visit http://www.codeplex.com/WCFSecurityGuide

    Tuesday, 3 June 2008

    50 Silverlight 2 Screencasts

    50 new Silverlight 2 beta 1 screencasts have been created to cover all aspects of Silverlight development including sockets, cross-domain requests and multi-threading to mention a few.  The videos have been created by some of the UK evangelists, Mike Taulty and Mike Ormand (due to be in Bristol on 17th June).

    Most of the presentations are around two minutes in length so you can get a short sharp injection of each topic.

    To see the videos visit http://www.silverlightscreencasts.com. You will need Silverlight 2 Beta 1 to watch them!

    Post inspired by Tim Sneath post

    The .NET Developer Network - June 2008

    On Tuesday 17th June 2008 Mike Ormond (the fourth Microsoft Developer Evangelist to visit the user group) will spend an evening talking about the Model View Controller (MVC) support, Dynamic Data and AJAX History support.

    To find more information about this local FREE user group and to register for attendance please visit our site at www.dotnetdevnet.com.

    If you have a LinkedIn account show your support by joining 'The .NET Developer Network' group.

    Thursday, 22 May 2008

    Mix 2008 Presentation

    I am sure that like me you did not have thousands to attend Mix 08 in Las Vegas, however the whole conference was very well supported online, now they have made over 14 hours of presentations available covering topic from Ajax with Silverlight to creating web sites for Internet Explore 8.

    To see the full list of online presentations visits the asp.net site here

    Wednesday, 21 May 2008

    Enterprise Library v4.0

    Version 4.0 of the enterprise library was released this month.

    Version 4 adds the following new features

    • Integration with the Unity Application Block
    • Windows Management Instrumentation (WMI) 2.0 support and improved instrumentation
    • Performance improvements (particularly, in the Logging Application Block)
    • Pluggable Cache Managers
    • Visual Studio 2008 support
    • Bug fixes

    To find out more and download the latest version visit the codeplex site @ http://www.codeplex.com/entlib

    For those of you who use the Web Client Software Factory (WCSF) and want to use the new Enterprise Library you can find information on how to update your recipes and existing projects here

    Thursday, 15 May 2008

    ASP.NET Extensions

    There have been mention, CTPs and demos of some new technologies which look very interesting.  These include;

    • ASP.NET Dynamic Data
      • Data driven applications without code
    • ASP.NET AJAX browser history
      • Tracking page navigation on the client
    • ASP.NET AJAX script combining
      • Reducing the script download sizes
    • Entity Framework
      • Data modeling framework

    I had originally thought that each one of these new technologies would be released as separate downloads but Microsoft have decided to include them in the next service pack for version 3.5 of the .NET framework (it seems like only yesterday it was released).

    There is no firm date for when the service pack will go to RTM but to find out more about these exciting new technologies please go here

    Job Position @ Hotelscene - Senior Applications Developer

    I have been working for a great company called Hotelscence for over two years now and we are currently looking for another developer.

    The person who applies will need to have a strong knowledge of .NET, C# and SQL Server with knowledge in ASP.NET and Delphi being advantageous but not required.

    Due to the size of the IT department a Senior Application Developer will have the opportunity to get involved in all all aspects of the development cycle but will mainly be responsible for designing, developing and supporting .NET applications.

    Salary range will be 25-30K depending on experience.

    If you sound like the right person and want to find out more please contact me @ Chris.Myhill@Hotelscene.co.uk.

    Thursday, 8 May 2008

    The .NET Developer Network - May 2008

     

    Silverlight 2.0 Unplugged with Chris Hay

    Next Tuesday, 13th May, Chris Hay will be coming down to present the highly popular topic of Silverlight 2.0.  Bryan Avery will also be attending to give us a micro-resonation on nDemand.

    The demand is so high that we only have a few places left so don't delay sign up now.

    To find more information about this local FREE user group and to register for attendance please visit our site at www.dotnetdevnet.com.

    If you have a LinkedIn account show your support by joining 'The .NET Developer Network' group.

    Tuesday, 22 April 2008

    DDD7

    DeveloperDeveloperDeveloper Day 7 has been given a date, Saturday 22nd November 2008.  I have already put it in my Diary and will be there, I hope you will too.

    Thanks to Guy Smith-Ferrier for this information.  I suggest that anyone who wants to keep ahead of the crowd for the DDD days should put Guy's blog into your RSS reader.

    To find out why the Developer Days are so important you can find more information here

    Tuesday, 15 April 2008

    AJAX Templates

    When writing Ajax applications you spend alot of time inside JScript bring back data from the server then writing it to the screen, including the necessary HTML tags to make sure the browser formats it for display.

    Embedding HTML within JScript has been an acceptable way to solve the issue of displaying data to the user from the client side, but this approach does mean that your HTML layout is now emended inside your JScript making unavailable for preview until render.  Nikhil Kothari has realised this issue and designed a way to template your JScript render to allow for previews and separate HTML from your JScript.

    To read more about this exciting new project to template AJAX dynamic render please go to Nikhil's blog.

    Nikhil Kothari is also responsible for bring us Script# and Web Developer Helper

    Monday, 31 March 2008

    .NET Reflector Add-Ins

    Lutz Roeder's .NET Reflector was revolutionary when it first come out, however as we are all now very used to the fact that our code can be re-read once complied to a binary (when not obfuscated) it does slightly loose the original 'WOW' factor.

    Since .NET Reflectors release it gained a huge following including my own, but like all good applications there are always ways to enhance it and give it your own spin and Lutz Roeder was very aware that he, as one man, could not be the creator of an application which would satisfy everyone's needs which is why he give the application extensibility points.  Since that point a community has grown around this application and many new add-ins have appeared.

    Some of the add-ins allow you to take the code from a dll or exe and extract to a file in the language of your choice, or create Sequence diagrams from existing code (a great way for post implementation documentation) you can even have reflector appear as a tool within Visual Studio.

    If the extensive list of add-ins for reflector still does not add your own required functionality there are documents on how to create your own.

    Download Lutz Roeder's .NET Reflector here.

    View the community add-ins here and information on creating your own add-ins.

    This application is a great example of taking a really simple idea and making available to everyone, the longevity of this application is purely down to its simplicity and extensibility.  Things to keep in mind when writing any application.

    Thursday, 27 March 2008

    IIS 7.0 Bit Rate Throttling

    Do you serve video to users of your web site or wish you could but cannot afford the possible bandwidth costs, well the new module from the IIS development team maybe able to help. 

    The new IIS 7.0 module can allow you to control the amount of data sent to a user so that only the data needed to watch part of the video or the entire video is send, possibly saving you bandwidth costs.

    To get a full explanation see Scott Guthrie's blog

    Monday, 17 March 2008

    Silverlight 2 For The Developer

    I know that almost all professional blogers say that if you aggregate then what's the point of your blog! Well I want to record this information as much for myself as for anyone who reads this;

    For an introduction to Silverlight 2 with an 8 part step-by-step tutorial read Scott's blog.

    For a further look at developing Silverlight 2 applications but this time using Expression Blend with an overview of how to use Blend read Scott's Blog.

    Silverlight 2 Developer Poster

    Need something else geeky to stick on the wall next to your desk, then I have the answer.  Microsoft have created a poster which details some of the key new features in Silverlight 2.

    To get your copy go to Brad Abrams blog.

    Wednesday, 5 March 2008

    Top-10 Application-Design Mistakes

    When I first started designing applications I would take the current look and feel of a Microsoft app and try and replicate it, keeping the same metaphors. Unless you a full time interaction designer, this approach tends to result in software providing the functionality your created in code to your users but does not always aid them in their process.

    Recently I have seen push in the community to drive better GUIs, we are now talking about unit testing the interface and getting user involved from the very first time the screen is created and even talking them through hand drawn diagrams.  This best practice of highlighting the GUIs absolute importance in good application adoption has helped me highlight an area of my application development I have sometimes overlooked, or only briefly looked at.

    If you are in need of some direction in the GUI design and some of the mistakes to avoid you should read Jakob Nielsens's Top-10 Application-Design Mistakes.

    Thursday, 7 February 2008

    Hello Secure World

    Security is a hot topic and has been for a long time, there are experts and there are those of us who are still trying to make it a first class consideration in each product we create.

    There is so much content to read that anything which gives you a head start in this arena is a good thing, Microsoft have created a new site located at www.HelloSecureWorld.com to give you this head start.  This new site takes a humorous look into security which also educates you in the intricacies of developing secure applications and the threats all applications offline and online face.

    To learn more about security go to www.HelloSecureWorld.com

    Tuesday, 5 February 2008

    UI Patterns

    Design patterns are in vogue and have been for quite a while, I believe in them, I use them and find them invaluable to short cut my thinking processes.  I am more of a class library designer than an interface designer so I ten to use them alot.

    The only issue with being at ease with class design and not interface design is that as a web developer interface design is a big part of my job, so to help me build on my interface design I spend alot of my time trawling the web to see how other people have created their interfaces and learning from their successes and failures.

    What I really need is an abstract representation of these interface design patters, yes you guessed it, there is a web site with this information.  A Danish web developer called Anders Toxboe has created a great web site which lists alot of the UI design patterns you see throughout the web but in one place. 

    To see his current list of UI design patters you can find them at http://ui-patterns.com/

    Along with using the right UI pattern you also need the right look and feel for your web site. However to be successful you also need to know how the majority of web users actually use your web page. Smashing Magazine have published an article which contains 10 tips on achieving your goal of the best web design.  The article opens with a introduction into how users will scan your pages, which gave me a great insight into how to better structure my pages for easy access and presentation of key information.

    To read "10 Principles of Effective Web Design" go here

    Thursday, 31 January 2008

    Visual Studio Comparison

    "Do I get Visual Studio 2008 Pro?"

    "Is the express version enough?"

    "Do I get Team System what are the benefits?" 

    These are a few of the questions I am sure you ask yourself when you are looking at which version of 2008 you should get your boss the buy.  Team System is very expensive and Pro is less but will you miss some features you counted on.

    Help is at hand Microsoft have created a comparison chart, well several, which are grouped by feature areas and detail each Visual Studio version including Team System and which features they actually contain.  This should be a great help in making sure that you are getting your boss the buy the right version for your development team.

    To see the chart for yourself go here

    Tuesday, 29 January 2008

    The Stay At Home Server - Funny

    The Microsoft Publicity machine is great and with almost every new tool, OS etc comes a gimmick web site or interesting video.

    The "Stay-At-Home-Servers" web site is all about how every person should have their own server running, you guessed it, Windows Home Server.  Although I am not advocating home server I did come across quite a funny book on their new publicity site, to have a little chuckle to yourself go here.

    IIS 6.0 & 7.0 Deployment

    As a web developer responsible for a web farm (in a small company) I have the task of deploying my web application updates to all the servers and when things do not work I have to go to each server and make sure that no one has changed any settings. 

    I hear you cry "why not create a tool to deploy to my servers" and we did along time ago but like all internal tools, where no one is willing to back them with money, it does the job and nothing else.

    In steps the IIS Web Development Team who have created a the first version of their new web deployment tool.  The tool is in its infancy so do not expect a great deal however I am sure it will go from strength-to-strength.  The tool is a command line tool which allows you to sync and migrate applications and sites between web servers.  This includes content, registry keys and most aspects related to you web application/site.

    When you find the time to look further into this tool, by downloading the recent version, you will find that the development team already have a road map for how they wish to proceed so you can see already they have a long term plan for this, and if this tool helps you now then all the better.

    To read the team blog entry and download the current version go here

    Tuesday, 22 January 2008

    Silverlight 1.0 Fire Starter

    For those of you who are looking for some introduction into how to use Silverlight 1.0 but are not looking forward to reading one of the many tutorials then Silverlight 1.0 Fire Start is for you.  This is a set of eight videos created at a recent one day training event.

    The videoed presentations are given by some of the industry experts and are available for view through the web site (using silverlight of cause) or for download in wmv.

    You can find out more here

    Wednesday, 9 January 2008

    Bill Gates Last Day - CES Key Note Video

    Here is a very funny video which covers the last day Bill Gates works for Microsoft as full time employee, first shown at the CES 2008 Key Note, the final one he plans on attending officially.


    Bill's Last Day: The CES Keynote video

    Tuesday, 8 January 2008

    Visual Studio Team Foundation Tools

    The follow is a list of tools for TFS available through codeplex, which also come complete with source code.

    TFS File Sharer - Mimics SourceSafe like file sharing.

    TFS Continuous Integrator - A TFS 2005 based continuous integration solution.  Of course, it's built in if you are using TFS 2008.

    TFS Dependency replicator - A tool to make changes in the source tree when certain events occur (like copying files when a build completes).

    TFS Build Virtualizer - Rather than having one physical machine for each team or build server configuration, manage a pool of virtual machines automatically.

    Blog entry inspired by Brian Harry

    Monday, 7 January 2008

    Team Foundation Power Tools for VS2008

    For those of you who have made the leap to Visual Studio 2008 and are using Team Foundations Server you may be pleased to know that there are a new set of power tools to help bridge some of those functionality gaps. Instead of recompiling the existing power tools for 2008 the development team at Microsoft have decided to create a new set of tool specifically aimed at 2008.

    The new power tools include the following;

    • Find In Source Control
      The ability to search source code from within the source safe database
    • Team Build Notification
      Using this tool, which sits in the system tray, you can be notified of when specified builds are queued, started etc
    • Updated Best Practices Analyzer

    Plus many more updates.

    To find out more form Microsoft or download the tools please go here

    Monday, 17 December 2007

    ASP.NET 3.5 Extensions

    You would have thought that after the latest version of the .NET Framework packed with its many new features the Microsoft .NET team would have sat back to enjoy their accolade, but this is not the case as they are still developing and have produced a number of extensions to the framework which will help developers add some of the functionality that usually takes allot of time to implement

    For examples they have crated a MVC (Model-View-Container) framework and a new AJAX version, to mention just a couple of the new technologies ready for you to take advantage of.

    To get the full information on these extensions please see Brad Abrams blog entry which also includes direction to tutorials.

    Monday, 10 December 2007

    DDD5 Videos

    Unfortunately for me I missed the last DeveloperDeveloperDeveloper (DDD) day, personally I think a DDD is a good excuse to miss clashing family events although my wife does not hence I did not attend.

    If you are like me and could not attend than do not fear as most of the presentations where videoed and they are now available at the web site, so although you missed out on the event at least you can watch the presentations.

    You can find the videos at the DDD web site here

    Wednesday, 5 December 2007

    P & P Team System Guidance In Print

    The Patterns and Practice team at Microsoft have been the driving force behind many of the additional framework which have eventually found their way into the full .NET recently this includes the new MVC framework which is due to be release early next year. 

    Besides frameworks they also have a number of documents outlining best development practices, recently I have been responsible for the maintenance and implementation of Team System within my organisation and have used the P & P guidance documents within CodePlex, these have been an invaluable resource for the best way to use and run Team System. 

    For those of you who prefer to read your document in physical form the Team System guidance is now in print and can be purchased from Amazon, find it by clicking here

    You can also get the performance testing guidance for web application in print too, find it by clicking here

    [Original Information from Jeff Beehler's blog]

    Tuesday, 4 December 2007

    Visual Studio 2008 Training Kit

    Every version of Visual Studio has been accompanied by a suite of presentations, demos, and hands-on-labs and Visual Studio 2008 is no different.

    This latest training kit takes you through the new buzz features including LINQ, WCF, WPF, WF etc and most of the new language features.  This is a great place to start if you want to really investigate what is new and great about Visual Studio 2008 download this kit.

    You can download the 120MB kit from Microsoft here.  After downloading the kit, simply run the installation program to extract the contents to your local machine.  Once the installation process is complete, you will see an HTML page that allows you to navigate through the contents of the kit.

    [Original Information from Eric Nelson]

    Monday, 3 December 2007

    .NET Framework 3.5 Poster

    Ok this may sound a bit geeky, well in fact it is very geeky, but I like to put .NET/development posters around my desk this includes information on the MSF development cycle and coding mantras.  I find that they help me keep all those little bits of very useful information at the front of my memory especially as I seem to have a really bad one.

    Recently I came across another poster to put by my desk, this one contains an overview of the .NET 3.5 common namespaces and types.  I am sure you will agree this is information no developer should be without!

    Seriously you may find this useful to find your way to some of the nice new 3.5 features.

    You can find the poster in XPS format here

    Tuesday, 20 November 2007

    Windows Live Writer

    Up until recently my blogging experience has been, come up with an idea, write up the blog entry in an Outlook email (so I can spell check), copy-and-paste to Blogspot and format the text and insert links using HTML mark up.  This process has worked very well except I have to hand craft my links and double check that they are all working before I post.

    I have seen Windows Live Writer around for a while and had the usual thought 'I should look at that', well finally I did and WOW!

    I installed Live Writer, pointed it at my Blogspot account (a google site) and it signed-in checked the account took some settings from the site to configure my experience and here I am writing this blog from inside Live Writer.

    The experience is everything I could hope for its a complete Word-like experience with the usual spell checking, something I greatly need, font formatting, tables, bullet points etc, insertion of links and also difference media (pictures, videos etc). Once I have finished formatting my blog entry I click 'publish' and it appears in my blog, the experience of the interface means that I could stop physically logging into my Blogspot account from now on, if I so wished.

    If you write a blog or are thinking of writing one but are held back by the process of having to use another web interface then give Windows Live Writer a go I am sure that once you start using it you will suddenly realise that the only thing stopping you from blogging now is time and ideas.

    To download Windows Live writer go here

    Wednesday, 14 November 2007

    Microsoft Marketing - Win A Dream Office

    We all know that the Microsoft marketing machine is big and strong, they have come up with some interesting ways to promote their products.  For example to promote the use of Visual Studio the Defy All Challenges web site was created which seemed to serve no other purpose than to tell you something we all know, Visual Studio is great!

    Along the same line of slightly pointless marketing web sites Microsoft are running a new competition to win £500 worth of office equipment.  To gain your entry to this competition you first have to navigate around a virtual office  and click you way through a number of clues to find the keys, all while being told how great the Microsoft suite of office products are.

    If you have the spare time you can find the web site here

    Tuesday, 13 November 2007

    WPF Boot Camp - FREE

    WPF (Windows Presentation Foundation) is a fantastic new UI technology available to the .NET developer, which also appears as a sub set in Silverlight.  So you can see that WPF will soon surround every .NET developer.

    The biggest issue with a new technology is finding the best resource to learn it, and for those of us with tight IT budgets, the backing to learn it.

    The Internet always has resources to allow you to learn these technologies for free and there have been a number of articles on Codeproject, MSDN and Nibbles however these articles and tutorials fall short of providing the complete information from end to end for the beginner.

    Microsoft  have addressed this shortfall by providing a complete online boot camp.  The boot camp was originally run for a number of selected individuals who attended it in Redmond, but as the organisers brought the speaker list together they realised that they had got together the WPF cream.  The list of speakers included, among others, Ian Griffith who presented at the Bristol VBUG last year.

    The online presentations are structures in the same way as if you had attended the boot camp, opening with a keynote followed by presentations to teach you the entire WPF technology.  You can view the videos online, through Silverlight, or download them as WMV.

    As an additional bonus you also have two hands on labs to complete at your leisure.

    To get hold of this amazing resource go here

    Monday, 12 November 2007

    Visual Studio Team System Widgets

    VSTS is a large application and contains a number of interest areas for all users, some need to watch the check in rate or code churn (the count of code lines changes) and some just need to make sure that they have the latest version of their files when they check them out.

    For those of your who know VSTS you will know that although you can get hold of the information you need or perform the necessary actions you do have to go through some hoops, the power tools power tools for VSTS help a lot but there is still some gaps.

    Now as most of us are programmers we could use the VSTS SDK to write our own Visual Studio add-in. The SDK is very well documented and you can create great a very powerful tool to do any number of VSTS related functions, however if you are like me you most probably have a number of other project on the go and no time for anymore.

    Never fear there is a website called Team System Widgets to help you find the widget you are after bringing together a list of developed widgets from commercial, community and Microsoft sources. The web site contains tools for build monitoring to VSTS event subscription.

    Click here to find out more

    Thursday, 8 November 2007

    Team Development with Visual Studio Team Foundation Server

    To use and make software correctly you need guidance, a manual for how the makers suggest you use it. I am very keen on getting hold of the guidance produced by Microsoft whenever it is available especially when it comes to Team System. The amount of work to get Team System correctly set up is quite a lot, although it’s a great product, it is very easy to get lost in its implementation.

    To help bridge the knowledge gap the team responsible for the development of Team System have created a WIKI on Codeplex and also created an overall guidance document which has recently been put on MSDN.

    Each document encompasses a lot of information for users and administrators of Team System, if you have not already looked at both of these sources I suggest you do so now to avoid misconceptions and incorrect implementations into your SDLC.

    Tuesday, 6 November 2007

    Speed up Visual Studio 2005

    Like most developers I hate waiting for my PC especially once I have hit F5, in Visual Studio, I do not want to wait for it to compile all 20 projects I want it done NOW! Ok maybe I am a bit impatient, for those of you who find Visual Studio 2005 to run a little slow there are a few little tweaks you can do to make it run that little bit faster.

    You can find these very helpful tips here

    10 types of programmers you’ll encounter in the field

    When working in the IT industry it is hard not to pigeon hole your fellow codes by their actions. Normally the only people I tend to categorise are the ones who do not work efficiently and without passion for doing a good job, these people I tend to categorise as the ‘9-to-5ers’ for their commitment to fitting all IT related learning and working to the hours between 9am and 5pm.

    However there are many other categories you can use to identify the type of programmers you are surrounded by and a recent article by Justin James gives you the top ten, by his own experience. It’s a very interesting read as I have worked with nearly all 10 types of people and I am sure you have too.

    Read it here

    Thursday, 25 October 2007

    DDD6 Registration

    You can now register to attend DDD6. The event is on Saturday 24th November.

    Registration link : http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032357828&Culture=en-GB

    The aganeda will be posted shortly on the DDD site.

    If you are thinking of going register NOW

    Wednesday, 24 October 2007

    Estimation Poker

    The skill of task estimation is something we all have to deal with, I like to lean more towards overestimation rather than under, however when you are sat there after completing your 1 day task with still the majority of the day left you cannot help feeling that if you could have done better in your estimation. Now you can spend the rest of the day working on those research tasks or the next item in your project plan or you can plan a game!

    This is not any old game this is a game that will actually help increase yours and your teams estimation skills, this game is called Planning Poker. I know you can hardly contain your excitement, you can buy your own copy of this game or play the online version at www.planningpoker.com. The idea of the game is that you come up with an outline for a task then all the players put in they estimation of how long it will take to do the task and between each player you talk about your decision.

    The game is a good idea and it may work for your team to help increase your teams skills for estimation but this is never a replacement for historical data.

    Entry inspired by Coding Horror by Jeff Atwood on October 21st 2007

    Tuesday, 16 October 2007

    DeveloperDeveloperDeveloper 6 – Voting Opened

    I cannot believe we are so luck to have another Developer day event, this years event is due to be held on Saturday November 24th at the Microsoft Reading campus.

    If you visit the web site(www.developerday.co.uk) for the event you will be able to vote for the topics you wish to see, every year the votes are used to create the schedule for the coming event.

    If you have not heard about the DDD events, it’s a community event run by the developer community for the developer community. This event is so popular that each year they run out of spaces within three days of registration opening, not that amazing, but when you think that blogs like mine are the only way the event is publicised its no mean feet.

    Also did I forget to say its FREE FREE FREE

    To find out when registration for the event opens add my blog to your RSS reader or you can add the blog of one of the committee members who is always the first to inform the community Guy Smith-Ferrier.

    Thursday, 11 October 2007

    .Net Developer Network - WPF and Silverligh

    This is just a reminder that Bristol’s only FREE user group is holding its next event, next Tuesday 16th October. This meeting is called ‘WPF and Silverlight’ and is being presented by Oliver Sturm. So far over 40 people have registered and we can still fit in more people in our new meeting location at the UWE in Frenchay.

    Please visit www.dotnetdevnet.com for detailed information and FREE registration.

    Hope to see you there.

    Wednesday, 10 October 2007

    C# Coding Standards

    I am all about the standards, the reason being that it means I have to concentrate less on how to structure the code in a methodical manor and more on what the code will actually do standards are the leveller between all developers.

    Code Complete by Steve McConnell is a great book but it’s not specifically geared to C# development, however Juval Lowy has created such a document. The document is 26 pages long, and rather than give you a long explanation of why you should code in a certain way it is just a list of what you should do, which you either agree with or you don’t (I do), either way they are a good starting point.

    To download the pdf go here http://idesign.net

    Monday, 8 October 2007

    10 Usability Nightmares You Should Be Aware Of

    If you are like me, you are designer, developer and tester of your web application. Microsoft spends a lot of time talking about collaborating with designers, but in the ‘real-world’ we have yet to be able to employee one of these people so you design your site the best you can taking ideas from other sites and putting your own twist on them. Often I find myself so immersed in technical function of the site that I can loose focus on the fact that my interface has to appeal to the common denominator, at these points I find myself referring to a top 10 worst list to help me take out those features which do not work for everyone.

    Smashing Magazines has just published an article where they review the top 10 things not to do with web user interface design, to read what they have to say go here http://www.smashingmagazine.com

    Thursday, 4 October 2007

    .NET Source Code Release

    Have you been debugging that .NET code and watched the stack window fill up with calls to the many .NET framework classes and wondered what is .NET class doing? Or why is it not working how I expected? And how does it do that?

    Well put that copy of reflector away and just step into the code!

    In Visual Studio 2008 you will be able to step straight into the .NET Framework code and debug as if you where one of Microsoft’s employees. The code can be automatically downloaded on demand and, unlike a reflection tool, will have the variable names and comments as you would expect any normal production code to contain. The download feature will mean you always get correct version of the code for your framework version but to save time you can always download all the source to your machine, however you will need the space to store it.

    The code is released to you under the Microsoft Reference License so you cannot change or redistribute, and initially you will only be able to get the source code for version 3.5 of the framework although this will change and be added to as time goes on.

    Jscript intellisense and now framework source code on demand, what super feature will they think of next?

    To read more about this see Scott Guthrie's blog, see a video at Channel 9 and listen to Scott Hanselman talk to the guy who headed up the project

    Wednesday, 3 October 2007

    Java Script Tips and Tricks

    As a web developer I often find myself involved with writing Jscript, which is something I quite in enjoy….and yes I am a geek. I do find the challenge of finding out about how Jscript will handle certain events and debugging it to find out what it knows, a nice change of pace, Besides the language is not that far from C# which I enjoy working with.

    However my knowledge did not go far beyond short functions used with ASP.NET validation controls to provide that instant user feedback.

    With the recent invention of AJAX frameworks I have found that my tiny validation code knowledge does not event scratch the surface of what Jscript can actually do for me, in fact it’s a very powerful language which implements some language features that C# has only recently gained or will not gain until the next version.

    To help me get a better understanding of what Jscript can actually do and hopefully allow me to better understand what I can do within the AJAX framework I came across my favourite kind of article, tips-and-tricks on Jscript but for the ASP.NET developer…that’s me! This article covers all those advanced features of Jscript I did not think I needed to know, although now I do I cannot wait to take advantage of them, and tips on other functions to help provide a more responsive application.

    To read this two part article on Tips for ASP.NET Developers please go here http://www.codeproject.com/useritems/JavaScript_Tips.asp

    Tuesday, 2 October 2007

    Team Foundation Server – Power Tools (September 2007)

    Team System is something I use almost every day and it is a great product, however like most software there are a number of features that never made it into the final product which I actually need. Microsoft understands this which is why almost all developer software produced is accompanied by some Power Tools, and Team Foundation Server is no different.

    The Power Tools, which have been updated and released this month, offer a number of invaluable features to anyone involved with TFS these include;

    ‘Best Practices Analyser’ for checking your server is set up correctly
    Check-In Policy pack for new ways of stopping bad code making it to the final product
    A Process Template Editor to make those company specific tweaks
    Number of command line tools for managing your projects

    You can find the full information and detail on how to download the tools here http://msdn2.microsoft.com/en-us/teamsystem

    Monday, 24 September 2007

    Devexpress – Refractor! Free (ASP.NET)

    Last week Devexpress released an update to their popular Refactor! For ASP.NET. This tool provides a number of refactorings to ASP.NET developers using VB.NET or C#.

    Refactoring is the method of taking existing code and reducing its complexity. This may sound scary to some especially as you used to have to be very careful refactoring as you could disable your whole program but Refactor removes the risk and gives you some time saving methods.

    The tool integrates with Visual Studio 2005 and 2008 and provides the same refactoring that C# already supports and more, and the best thing is it’s faster and uses animation to show you the result of you refactor before you commit to it.

    To download this great free tool go here http://www.devexpress.com/Products/NET/IDETools/RefactorASP/

    Thursday, 20 September 2007

    .Net Developer Network : Team Foundation Server with Richard Fennell

    Last night I attended a great presentation on Team Foundation Server, at my local user group '.NET Developer Network'.

    Being a leader in this technology and responsible for its implementation and administration at my company, I have spent a lot of time watching sales videos on how this is ‘Complete Solution’ to my development project needs, yet the actual knowledge on the day-to-day use information is very thin. However Richard brought his own experiences to the presentation and gave a real insight in to the pains and joys of using Team Foundation Server 2005 and the Orcas verson.

    Richard started from the begging of the implementation with how to setup your Team Foundation Server and the pitfalls associated with this, something I have first had knowledge of, then took us through how a developer would actually use the system. The later part of the presentation was give us an overview of the many Power Tools available which fill the gaps in Team Foundation Server.

    It was a great presentation, with well thought out content, aimed squarely at the developer who needs an insight into this mammoth technology.

    Richard has made his slides available and has included a number of speaker notes in the Power Point slides, which is a great help as it is the detail of what is said that you usually need when you look back at these things.

    You can download the slides from www.dotnetdevnet.com


    Richard is an active blogger and you can find his blog at http://blogs.blackmarble.co.uk/blogs/rfennell

    If you think this presentation sounded interesting then the .NET Developer Network User Group hold free monthly meetings available to anyone, all you need to do is register at www.dotnetdevnet.com.

    Wednesday, 19 September 2007

    Beginners Guide to Silverlight

    I know everything coming out of Microsoft at the moment is Silverlight-this-and-Silverlight-that and I have tried to keep clear of being another voice in a sea of thousands saying the same thing, and at the risk of falling on def ears I thought I would tell you about a short article which should give you a background to what Silverlight is all about.

    This is a concise article detailing what you need to know about Silverlight, so if you have not had time to watch a video or listen to a Podcast yet then you may want to give this a read.

    The article is written by non Microsoft staff so gives a more rounded view, you can find the article here http://www.itbusiness.ca/

    Debugging ASP.NET Server Requests and Response

    How often have you gone to a client site or worked with your production server and wondered what is IIS receiving? This sort of information, like all information needed, is in the memory of the server but you cannot see it as you would need to interrogate the servers memory using something like WinDbg and workout at what position (memory address) the request and response are and work back to re-piece the information into a form you can read.

    Now do not get me wrong this would be great thing to do and I would learn so much but like you, I have a heap more things to do with my day like actually creating that new web widget.

    However do not fear as someone has already done the hard work for you, Tess Ferrandez, who works for Microsoft in Sweden is the person you want on your side as she spends her free time working out how to debug code. If you want to read how to get the request and response data from IIS or just copy the scripts, read her blog article here http://blogs.msdn.com/tess

    Monday, 10 September 2007

    User Interface Design

    When I learnt about how to program and application design in College we spent a lot of time reading old books and using them as our reference for assignments, as I my knowledge increased I left a lot of that text behind me in the notion that is was all out of date and not valid in an industry which seem to move at a million miles a minuet. Although technology has moved on how we actually design software and the problems we have to overcome when doing so are quite old and in their simplest form date back to the early years of Computer Science.

    For example take interface design, it is still the same as it’s always been, present an easy to read interface which is intuitive to the users business function while presenting any information to the user in a structured and ordered manor. This idea has not changed since Clayton Lewis and John Rieman wrote their book on User Interface design in 1993.

    The book covers the theories and methodologies of user interface design with step-by-step guidance on how to create the best user interface for your application, after all, without a good interface no amount of well structured class will help you. The book is now over ten years old but is still as relevant as it was back then.

    You can read the book on line at http://hcibib.org/tcuid/ or download a PDF version. You are not charged to read this great resource but you can donate $5 to the authors through the site.

    Tuesday, 4 September 2007

    ASP.NET Performance Tips

    I spend my life reading as much as I can about how to squeeze that little bit of extra performance out of my applications and in the Web deployment world there are so many areas you need to be aware of, the client browser, the server config and your ASP.NET application. So when ever there is a list of techniques to employ or avoid when developing ASP.NET I lap it up especially as each time I developer I like to do as little boilerplate coding as possible and use the framework controls which are not always the most efficient.

    Miguel Angel Carrasco has just release 20 ASP.NET development tips on his blog at http://www.realsoftwaredevelopment.com. The list is short but comprehensive with some very useful tips on ASP.NET do’s and don’ts.