30 October 2007

Getting Ready for Patterns & Practices Summit 2007

It's almost time for this year's Patterns and Practices Summit and I'm excited for many reasons.  There is a list of great speakers lined up along with some great sessions.  One thing I'm looking forward to with this summit over the typical conference (e.g. TechEd or PDC) is I don't have to pick-and-choose between a dozen (or more) tracks when deciding which sessions to attend - there is only one track with about seven sessions per day.  I'm also looking forward to visiting the Microsoft campus since I've never been there before.  So, all-in-all, it promises to be a great event.

Of course, I'll have to put on my tourist hat in the evenings and check out the local sites such as the Space Needle.  Having never been to Washington state I'm not sure what to check out so if anyone has suggestions, please post them.  Also, if there is anything specific (i.e. super cool) to visit while on the Microsoft campus please post that as well :-)

24 October 2007

TFS 2008 System Recommendations Released

In case you haven't seen it, Brian Harry posted the TFS 2008 System Recommendations a few days ago.  There is some great information in there if you are planning on upgrading existing TFS 2005 installations or if you're planning on installing TFS 2008 on a new system.  Based on the test results it looks like some pretty good performance improvements have been achieved.  You can read more here.

19 October 2007

What's New in TFS 2008

I just completed my presentation on the new features of TFS 2008 at this year's Tulsa TechFest.  It was a relatively small session held in one of the classrooms here at the OSU campus which allowed me to more easily address questions during the presentation.  The topic I presented on is called What's New in TFS 2008.  Although the presentations run roughly 75 minutes, I had to skip over a couple of my demos because there are so many new features in TFS 2008.  It was easy to tell that I'm not the only one excited about some of the new features :-)  If I had to pick my top 5 features in TFS, they would have to be:

  1. Continuous Integration - although there are 3rd party/open source implementations available for TFS 2005 now, they don't have the same, clean integration that's present in TFS 2008.
  2. Build Retention Policies - finally, I won't have to worry about running out of space on the "drop" server because there are 2,000 old builds sitting around collecting dust.  Anyone that's ever had a build fail due to lack of disk space (which is not stated in the build failure log) will appreciate (or, love) this feature!
  3. Better Build Support - specifically, the ability to store the TFSBuild.proj file in any folder.  This greatly enhances branching options.
  4. Queued Builds - the ability to queue builds is great.  I know longer have to wait for my CI build to complete before I can start the test build that pushes the updates to the test machines.
  5. Performance Improvements - there are tons of other enhancements and improvements throughout TFS 2008 but there are also a lot of performance improvements as well.  Anything that allows my builds to complete a little bit sooner is much welcomed.

I could probably list a couple dozen other features that I really like in addition to those above but I have to stop somewhere :-)

You can download the slides here if you're interested:

17 October 2007

TFS 2008 Features in TFS 2005

There are a lot of new features in TFS 2008.  So many in fact, it's difficult to list them all at once.  I will, however, do my best to cover as many new features as I can during this year's Tulsa TechFest when I present on What's New in TFS 2008.  There are a lot of new features that have been integrated into TFS 2008 that can also be had today in TFS 2005.  Some of these are listed below...

Continuous Integration - there are several 3rd party solutions for implementing continuous integration in TFS 2005.  These include:

  • A Microsoft implementation - this is a web-service based implementation that allows you to associate a Team Project with a specific Build Type to be called any time something is checked into version control.  I've seen several variations of this implementation available on the web.
  • TeamCI by Notion Solutions - this is a free CI tool offered by Notion Solutions.
  • TFSBuildLab - this is an open source project on Microsoft's CodePlex site.  This TFS utility offers more than just CI capabilities.

TFSBuildLab - along with the continuous integration capabilities listed above, TFSBuildLab has many other features:

  • Retention policies - can be based on Build Status or Build Quality.  You can also specify the number of builds to keep or the number of days to keep them.
  • Tray notifications - receive build and check-in notifications (via "toast" messages)
  • Build queuing - provides a mechanism for queuing builds.
  • Build scheduling - provides a UI for scheduling builds.

"Listless" Unit Tests - TFS 2008 has the ability to specify which unit tests to run (during a build) based upon a file mask rather than being forced to select a list of tests.  This approach lets you easily run all unit tests within an assembly or set of assemblies (for example) without ever having to manage lists of tests for the build.  Buck Hodges has a great post explaining an implementation for TFS 2005.  Trust me, once you start specifying your unit tests in your build using this approach, you'll never go back to test lists again :-)

"Broken Build" Check-in Policy - TFS 2008 has a new check-in policy called Builds.  When something is checked into version control this policy will check to see if any related builds are currently in a "broke" state;  If so, the policy will fail.  The idea is to not let developers keep checking in code when the build is just going to fail anyway.  Clark Sell has created a Build Status check-in policy for TFS which gives you this functionality now, in TFS 2005.

BuildStep Task - If you've ever wanted to add your own custom text in the build report (the view you get in Visual Studio while watching an active build run through the various build steps) then you're in luck.  In TFS 2008, there's a new build task called the BuildStep task that does just this.  You can also get this functionality in TFS 2005 with the TeamBuildTask posted by Aaron Hallberg.

Incremental Builds - incremental builds are supported within TFS 2008.  TFS 2005 build scripts can be configured to run incremental builds with a little work.  There's a "how to" article on MSDN that explains the steps to run incremental builds in TFS 2005.

There are undoubtedly other features that can be made available for TFS 2005 but this is a good start.

01 October 2007

NLarge Utility

I've been putting the finishing touches on a TFS 2008 presentation that I'll be giving at this year's Tulsa TechFest conference later this month and came across a utility that promises to be extremely useful.  It's called NLarge and provides the ability to zoom in and out of a presentation (or any other displayed materials) using a smooth scrolling effect.  NLarge runs in the taskbar notification area and can be activated with a hotkey (Alt+1).  Once activated, the zoom feature can be controlled with the mouse, tablet pen, and/or keyboard.  Although I haven't used this utility during a presentation yet, I think it will be extremely valuable in aiding those in the back of the room to see what I'm focusing on.

NLarge is an open source project available on Microsoft's CodePlex site.  You can get more information about NLarge here.

29 September 2007

TFS (2005) Power Tools Final Release

The latest and final release of the Team Foundation Server 2005 Power Tools have been released.  This release includes two new additions to the existing Power Tool set:

  1. TFS Work Item Templates - work item templates allow you to define templates for existing work item types with specific fields already filled in.  The work item templates are accessible via a Visual Studio add-in allowing easy access to your templates.  This can be a great time saver if you fill out lots of work items - especially if they have a lot of fields that tend to use the same default values each time.
  2. Team Foundation Server Best Practices Analyzer (TfsBpa) - this is a utility that a lot of people have been eagerly waiting for for some time now.  The TfsBpa can be used to check an existing environment prior to installing TFS 2005 to ensure all pre-requisite requirements are met.  You can also utilize the TfsBpa to troubleshoot existing installation that may not be working as expected.  This utility is going to save a lot of time in the near future for anyone installing TFS 2005 or troubleshooting an existing installation.  There are some installation issues that need to be reviewed prior to installing so be sure to check out the link below.

Brian Harry has posted more details on the above release here.  Brian states that this will be the final Power Tools release for TFS 2005.  I only wish they would have gotten the TFS Best Practices Analyzer out a long time ago instead of waiting until the product has been (for all intents and purposes) replaced by TFS 2008.  He does write, however, that the 2008 version of these tools should be out within a few months along with some new tools that aren't in the current release.

07 September 2007

Tulsa TechFest 2007

The second annual Tulsa TechFest is coming up next month on October 19th and 20th.  There are currently over 50 speakers geared up to present at this years conference with around 15 tracks.  Some of the current speakers include:

And, let's not forget myself :-)  I'll be presenting on What's New with Team Foundation Server 2008 on Friday at 1:00.  This will be my first time at Tulsa TechFest, although not my first time in Tulsa.  I grew up in Oklahoma about 60-90 minutes south-southeast of Tulsa and I also have a sister that currently lives in Tulsa so it will be fun visiting with her.

I'm looking forward to attending and presenting at this year's event and hope to see you there.

04 September 2007

Cool LINQ Utility

Like a lot of you out there, I've been spending a bit of time learning the new Language Integrated Query (LINQ) features available in the .NET Framework 3.5 (still in beta).  LINQ provides some very powerful capabilities for querying not only databases but other data types as well (e.g. XML, .NET collections, arrays, etc.).  Although the syntax is similar to SQL, it is not exactly the same which offers a bit of a learning curve.

I came across a utility called LINQPad a few days ago that has been helping me get over the learning curve with LINQ.  This utility offers functionality similar to the query functionality in SQL Enterprise Manager.  You create ad-hoc queries using the LINQ syntax and view the results in a hierarchical format (where applicable).

There is an interesting challenge on the LINQPad site that goes as follows:

  • Locate the shortcut for SQL Management Studio on your Start Menu and move it some place else.
  • In its place, insert a shortcut to LINQPad.
  • For the next week, perform all your ad-hoc SQL queries using only LINQPad.

I'm currently about 2 days into the challenge and I have to say that it's a completely different mindset.  I also have to admit that I've cheated at least once and used SQL Enterprise Manager to run some queries because I was under a time crunch and didn't have the time to figure out exactly how I could use LINQ to achieve a particular problem.  However, I suspect that after another week or so I should have a very good understanding about the LINQ syntax (at least for database queries).

You can download and read more about LINQPad here.  Also, here are a couple of good LINQ reference sites for anyone starting out with LINQ:

16 August 2007

Missing Silverlight Assemblies in VS 2008 Beta 2

If you happen to be one of the many that is giving Microsoft's Silverlight 1.1 Alpha version a trial run, you may have ran into the same issue I did.  When I created new Silverlight projects in VS 2008 Beta 2, the Silverlight assembly references had a warning icon next to them stating that they could not be found.  The fix is quite simple - Microsoft has released a refreshed version of the Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2.  I uninstalled the old version, installed the new version, and everything worked fine.

09 August 2007

Team Foundation Server 2008 Feature List

Brian Harry has posted what he's calling the (most likely) final feature list post for TFS 2008. It is an impressive list with a few new features listed that won't show up until RTM (i.e. they're not in beta 2). He also re-iterates the compatabilities between VSTS 2005 and VSTS 2008.

You can read the full list here. I've included the new (RTM) items below as well just to show what's coming.
  • Enable support for Reporting Services on any server and any port
  • Support for SQL 2008 (aka Katmai)
  • TFSDeleteProject now permanently deletes (destroys) version control content
  • New role for many operations activities - You don't have to be server administrator to run many of the admin utilities any longer
  • Enhancements to tfsadminutil - New capability to configure accounts, connections, etc on both TFS and the TFS proxy