May 2006 Archives

Recently I was putting together some slides for a talk and I was trying to put together a short sentence regarding the definition of each.  The one that gave me most problems was that of the Team Project.  Clark Sell recently posted a link to the official guidance on MSDN.  As you can see it is hard to sum up.  The following things should be considered when deciding how to split your work into Team Projects.

  • By default, a team project has a portal site created, a reporting site and a root level node in source control (however this can be customised)
  • By default, a basic set of security groups and permissions are created for each Team Project Role.
  • You can have multiple solutions, C#, VB or even Java projects stored under one team project.
  • Each team project can have it’s own work item types and processes.
  • It is hard to move work items between projects (but fairly easy to link between work items in different projects)
  • The out the box reports and work item queries are scoped to a Team Project level

As Clark says, figuring out your split of Team Projects depends very much on your circumstances but it helps to do some analysis up front to take a best guess.  In large organisations you should also think carefully about the split of Team Projects between instances of Team Foundation Server if you have more than one.

If you are interested, the best one sentence definition I could give was “A collection of work items, code, tests, work products, metrics, etc that is used by a defined team to track a common set of related work.” – and that was after a lot help from Rob Caron.  I ended up putting the words up on the slide and then spending 5 minutes explaining it, looking back I should have probably used a picture.

TFS Swag Arrives

Team Foundation Server V1 T-Shirt - Thanks TFS TeamBack in February Microsoft were asking for feedback on the installation for Team Foundation Server Release Candidate.  During the early betas TFS got a lot of flack for being hard to install.  The team listened and the install was much more fool-proof by the time it got to RC (most of the trouble was in getting the pre-requisites correctly set up and so the pre-requisite checker was beefed up).  Anyway, the sweetener in the deal was the offer of a free t-shirt for the first 300 people to submit the feedback.  I’m a sucker for swag so I sent off my form and promptly forgot all about it. 

This morning, what should arrive in the mail but my “Team Foundation Server V1 All Stars” t-shirt.  Unlike most of the swag I pick up, this one is actually quite nice!  Rather sadly, I think I may actually take this along to TechEd with me and get signed by a few of the folks involved.  If you are coming along to TechEd and were involved in the development, or you were a fellow beta tester, then be sure to drop by the Teamprise stand for a chat and I’ll embarrass us both by asking you to sign my shirt.    Anyway, thanks to the TFS Team and to McKenzie Halgren who appears to have been the unlucky person saddled with the job of mailing all of these out.

Inherit security settings optionThis tip is a follow up from my rather less helpful post “Don’t Do That” where I discussed the “Inherit security settings” option in the security settings tab for the Source Control Explorer when talking to Team Foundation Server.  The issue with this check-box is that if you un-tick it then all the settings for every group on that folder are removed meaning that you have to go through every group and make sure that they have the correct permissions before you press the OK button.  Even if you are a project administrator and you un-tick this box and press OK without giving project administrators rights to the folder or file you will not be able to go back and adjust the permissions.

However, I have found a work around should you be left stranded in this way.  If you log in to TFS with the credentials of somebody who is a local administrator on the server then you will be able to view the folder and reset the security permissions.  The easiest way to do this is to log on locally to your TFS application tier machine as the TFSSetup user and use the source control explorer on that machine to rectify the problem.  Obviously it is not ideal but at least you are not totally stranded.

Rather embarrassingly, I found this work-around totally by accident while up on stage presenting my recent talk “Top Ten Tips for Team Foundation Server”.  My finale was going to be trashing my TFS installation by un-ticking this box and pressing OK without giving the Project Administrators the appropriate rights – however it wasn’t as dramatic as I’d planned.  Turns out that this was because I was also the TFSSetup user on the VPC I was using as the TFS server.  At least next time I can make it dramatic and then show folks how to fix it!

Didigo_usb_keyOk, I’ll admit it.  My name is Martin Woodward and I am a gadgetaholic.  I have a few USB memory keys and a couple of external USB hard-drives.  However, I’ve been thinking about getting a new memory key for a while because my other ones are either too small or are a bit battered looking.  I was looking to spend £3 yesterday on a UK to US phone adapter and ended up getting myself a new 512Mb memory stick manufactured by Didigo so I would qualify for free shipping on my order.  I’ve been wanting to have a play with TrueCrypt for a while and I think I might create a hidden partition on the device and give it a try.

What’s the big deal you may ask?  Well this model has an integrated ePaper display (or Bistable Reflective Cholesteric Display to give it the proper name).  It shows you the free capacity and also the volume name on a little display that stays visible even when the power source is removed.  If you rename the FAT32 volume (in Windows, Mac or Linux) the display updates to show the new name.

I’ve been a keen follower of electronic paper technology for a while and this is the first time a device with it has come into a price range that I can justify and I have a need for.  We’ll soon probably have these displays built in to all sorts of devices but for now I was willing to pay a little over the odds (£42) for a memory stick so I could see it working for myself.  I’m sure it will give me endless hours of fun demonstrating it to anyone unluckily enough to comment on the display.  If you are coming to TechEd this year be sure not to comment on it or I’ll bore you for hours.  Watching the display work reminds me of the feeling I got when I saw my first pocket calculator, the Sinclair Cambridge, with it’s mesmorizing LED display.

Java on Debian


UnBOFThanks to Ben for passing this on. You can now do a straight forward “apt-get install sun-java5–jre” and have it install on Debian and Ubuntu.  Due to the old licensing restrictions you used to have to package up the installation yourself and was a real pain.  Our Teamprise client needs the Sun JRE because it contains the various encryption bits necessary for NTLM authentication to work – hopefully this will make life easier for our customers running Debian based distributions such as the growingly popular Ubuntu.  See Simon Phipp’s weblog for more detailsGentoo will have it soon too and any other GNU/Linux or OpenSolaris distributions are welcome to join in the fun.

Correction:  As Shaw points out in the comments, we don’t *need* the Sun JRE, we just need the encryption bits.  The JRE from IBM and JRockit from BEA also contain the relevant bits.  It’s just that GCJ as installed by default on Debian does not have them.

Collaborate With CodePlex

CodeplexGreat news from Rob CaronCodePlex has been launched into public beta.   CodePlex is an online software development environment for open and shared source developers to create, host and manage projects throughout the project life-cycle. It has been written from the ground up in C# using .NET 2.0 technology with Team Foundation Server on the back end. Think GotDotNet, SourceForge etc but based on top of Team Foundation Server.  I’m pretty sure this site is what Rob was hinting at back in October.  Judging by the folks involved (including the likes of James Newkirk and Korby Parnell) you can expect the community around this site to be awesome.

Currently a small number of projects are being added each week while they work out the inevitable teething problems (it is currently marked as version so let that set your expectations accordingly)  – however it is very exciting news for us TFS fans and already looks mighty impressive for a 0.0 release – good job guys!  You can expect to find me over there as soon as I can get a project approved.

Skype SMS

| 1 Comment

SkypeI’ve been using the new 2.5 beta version of Skype for a week now and I am loving it.  The main new feature is the support for SMS messaging.  When I am out of the country I use SMS as a primary method of communication to home – however when roaming I am frequently charged about 50 pence per message sent (free to receive).  Using Skype I can now text home for 0.08 € (about 5p – which is actually half the price I pay for my text messages when at home and 10 times cheaper than what I pay while abroad).  According to the Skype blog, the feature set it due to increase but it already works for me.  I text from my computer and receive replies to my cell phone, the recipient has no idea I’m using Skype to send the message apart from the fact that my messages are usually longer as I have access to my full Qwerty keyboard.

All I need now is to get one of those NetGear SPH101 phones and Skype will have 100% WAF.  Until that point, I’ll have to pay for my phone / text messages home.

Just wanted to thank the good folks who attended my recent talks on source control with Team Foundation Server in Limerick and Galway.  I had a fantastic welcome and enjoyed myself hugely.

I revised the format slightly from earlier talks and so the slide deck (2.6MB) is in a slightly different order then on previous occasions.  This meant I was able to spend more time on branching which seemed to be appreciated.

As promised, here are the following links that we discussed during the talks:-

  • Eric Sink’s SourceControl HOWTO – a series of great source control posts from my boss. 
  • Rob Caron’s Blog – The “Team System Blogfather” and all round nice chap (with Irish roots might I add)
  • Team System Rocks – Great VSTS community site maintained by Team System MVP Mickey Gousset.
  • Teamprise – the company I am lucky enough to work for
  • VSTS Licensing White Paper – yes, I’m afraid it is that complicated
  • Microsoft VSTS Virtual Labs – connect in to a ready made VSTS environment, you can give the software a try with no need to install anything on your local machine.
  • TFS 180 Day Trial Download – if you fancy giving it a try in your environment today.
  • Thanks again to everyone who attended one of my recent talks and for all the nice feedback.  Source Control is never the most interesting topic but hopefully everyone came away feeling like they got something out of the evening – I know I did.

    Half Year Anniversary

    This month is my 6th working on Teamprise.  I have to say that this has been the best half year of my professional life so far.  Teamprise is a very humbling place to work as a developer.  When you walk down the corridor and bump into the people that helped write the the programs behind the whole reason you got into computing in the first place it kinda puts a perspective on your own career.  People here know how to make software, and they are unbelievably clever and productive at doing it.  Not only do I work with the best developers, testers and support engineers I have ever met, everyone else in the company is exceptionally good at their jobs.  The bosses understand how to keep the “other stuff” out of your way and let you concentrate on what you are best at.  You get free soda, free popcorn, free pizza on a Wednesday (or the occasional plate of fried food from “the best take-out restaurant in a former gas station”).  You get the chance to participate in some of the most obscure competitive sports known to man. Not only am I proud to work for my company, my company are proud I work for them (as demonstrated by the encouragement to blog about what I do and talk about it to user groups while wearing the company logo).  As my mum would say, I have “landed with my bum in the butter” – this is the most fun I have had in my life, and I get paid to do it.

    This blog post is not just about my general level of smugness.  Teamprise are hiring – we are after a very particular developer.  If you think you have what it takes then I urge you to join us on our exciting journey.  Ed has posted some great reasons why you should come work for Teamprise if the prospect of free fried food strangely is not enough.

    Google Trends

    Just noticed that Google Labs has launched Google Trends, a nice tool to graph the differences in search volumes over time.  Good way of making comparisons in to what people are looking for information about.  Anyone around at the start of podcasting will remember that if you searched in Google for the term “podcast”, it would ask “do you mean broadcast?”.  It is interesting to see that the scales are tipping in the other direction.  Is it also nice to see that “good” is always more popular than “evil”.

    Low Flying Work Distraction

    The weather is fantastic over Teamprise Europe HQ at the moment.  For the first time this year I’m sat wearing a short-sleeved shirt with my window open and I am not in the slightest bit cold.  Apart from the lovely weather outside my window distracting us, we’ve also had a small plane with some strange aerials hanging off it flying at ridiculously low altitudes.  I was wondering if Google Earth was finally going to have some decent overhead images of my area – but the plane was much too low for that.  After a brief search of the internet I tracked down the source of the acrobatics – turns out it is the Tellus project doing a survey of Northern Ireland.  Anyway – nice weather for flying.  Can you tell I’ve got some talks coming up?  Tomorrow I’ll be in Limerick and Gallway on Friday.

    OK, so the odds that you read my blog and not Scott Guthrie’s are pretty low, especially if you have any interest in this topic.  However, Scott just announced that the VS 2005 Web Application Project has gone V1.0.  I had the pleasure of talking with Scott recently and to take a look at this – I have to say that I am incredibly impressed.  It’s like all the goodness of a standard Visual Studio 2005 web project with all of the benefits of the old Visual Studio 2003 way and then some.  For those of you with complicated automated build processes I would definitely go take a look at this way of doing web projects – if you are using Team Build in VSTS then I would definitely use it. 

    It’s stuff like this that is blowing me away – just how open Microsoft Developer Division are being at the moment.  I have to say I really like the new way of working, I hope that it is sustainable and they don’t have to retreat to their previous ways of working.  Being a developer right now is a very exciting time.


    Thanks to everyone that came along to my talk at the 2006 Irish National Developers Conference yesterday.  As it was Jedi Day, the session was appropriately aimed at being a deep-dive into some tips and tricks when using Team Foundation Server in the real world.  As promised, here is the here is the slide deck (1.9 MB).  The point of the session was for it to be a very interactive and demo led one so the deck might not be that useful, therefore the following is a quick summary of what we discussed:-

    As an introduction, I attempted to briefly cover what Visual Studio Team System is, how a deployment looks and how much of a paradigm shifting tool it is.

    #10 – TF.exe is your Friend
    The most flexible and powerful client for TFS Version Control is the command line tool tf.exe so I did a demo.  See the an earlier blog post for a little more information.  Also, we discussed Buck Hodges tips for improving performance and how some of these also apply to using the VSSImport utility.

    #9 – Baby Come Back
    How to access deleted files through the Source Control Explorer.  See Clark Sell’s blog post on the topic.  Clark is a Microsoft Consultant who was involved with the product group testing VSTS in the real world during the development phases and advises customers on using Team System out in the field.  He is also a great friend of mine and has recently become a Daddy so the title of this tip was a way of giving subtle props to the guy who first told me about it.

    #8 – Users are Painful
    Advise on using active directory groups to manage users in a production configuration.  I’s been planning on doing a blog post on this topic for ages but I always get distracted.  The MSDN help on the topic is pretty good now-a-days, also the user permissions dialog now gives you links to all the places you need to add the groups which makes it more discoverable.  The slide on this point was relatively useful:-


    #7 – Make TFS Work Your Way
    A demo of how to customize a work item that was audience driven.  I also showed how to change the action behaviour as discussed in a previous blog post.

    #6 – Plan Your Repository
    How I think you should plan your repository, as discussed in an earlier blog post.  Mitch Denny has his own opinions on the matter – personally I think creating a “truck” or “main” folder and checking stuff in under that is a small level of indirection that will give you many potential benefits in the future (especially with how Work Items work and the difficulty in moving a work item between projects).  But as Mitch points out there are other ways and no one answer.  Remember, I’m a Java guy so I tend to make things complicated in favour of flexibility :-)  We also talked a little bit about branching here for folks that had not been to one of my earlier talks.

    #5 – TFS for Everyone Else
    Demonstrated the MCCSSI provider allowing you to access TFS version control from Visual Studio 2003 among others and also talked a little bit about Teamprise which allows you to talk to TFS from Eclipse, Mac and Unix.  Hopefully it wasn’t too blatant advertisement for my day job but I did want folks to know that Team Foundation Server is ideally suited as an enterprise class tool that the entire enterprise can adopt.

    #4 – Extending TFS
    A discussion about the “Team System Economy” and how extensible the whole of Visual Studio Team System is as well as just Team Foundation Server.  There is plenty of opportunity for partner companies like the one I am lucky enough to work for.  Customers are also free to customise and extend team system as they want.  I ranted a little about how good the Microsoft .NET object model is and advised people to always use that if possible rather than considering using the web services.  I had planned on showing an example of using the object model but a lot of interest was sparked on the term “Team System Economy” (which I actually coined on the spot and had not planned).  All the talk meant I was at risk of running over so I cut the demo.  If anyone wants to get started with the object model then they could do a lot worse than subscribe to Buck Hodges’ and James Manning’s blogs, read this particular post from Buck and download the Visual Studio SDK.

    #3 – The Exception To The Rule
    Talked a little bit about the TFS Admin Web Service and the Proxy Statistics service (available on http://tfs_at:8080/VersionControl/v1.0/ProxyStatistics.asmx).

    #2 – Change != Bad
    Talked about some of the differences and difficulties folks will face when moving to Team Foundation Server.  My earlier talks go into a lot more detail about this, so I just focussed on explaining what a Changeset is, explained Shelving, talked about the fact that Check out != Get Latest and how labelling works among other points queried by the audience.

    #1 – Don’t Do That
    A demo of the power of the security model inside TFS Version Control, but some tips of how you should be careful when making changes.

    As ever I gave a list of useful places to find out more:-

    Hope that summary is a fair one – if you were one of the attendees then feel free to add a comment if I’ve missed something.  As ever at Irish User Group events I was impressed with the level and quantity of questions from the audience so I may well have missed something we talked about.  If you are in the country and want a more introduction style talk then feel free to come along to my sessions at the .NET user groups in Limerick or Gallway next week.

    Now playing: Brass Incorporated - Swingin' Cymbal

    Live from the INDC in Dublin

    Tonight I had the pleasure of listening to Scott Guthrie talk about ASP.NET 2.0, Atlas and IIS 7.0 at the Keynote for the 1st Irish National Developers Conference.  I kinda new most of the content before from listening to DotNetRocks and attending the VS2005 launch presentations, however seeing Scott use the stuff for real was awesome.  The crowd in Dublin was great as well, asking in depth questions which Scott really seemed to enjoy and was not afraid to just show people how to do things even when it wasn’t something he had ever tried before himself.  Tomorrows session from Scott also promises to me a must see talk.

    I’ve never really been a huge fan of the ASP.NET 1.1 way of doing things.  As a guy that has grown up with the internet I already know how to do the low level stuff and so taking me that one level of abstraction away from the bits and bytes just wasn’t a pleasant experience for me.  However, seeing how ASP.NET 2.0 and Atlas does everything and how it works really makes me want to try the stuff in anger again.  Even though I’ve always considered myself fairly proficient in Javascript and cross-browser support – developing AJAX applications is just really hard work.  Atlas looks like it takes out a lot of the pain.

    The INDC is kinda like the “Code Camp” style of conference.  The sessions are all very in depth and all of the speakers (including myself) are writing presentations from scratch for this audience.  It is one of those conferences where I really wish I was in the audience being able to attend the sessions I wanted to listen to – there are a couple of things on at times were I am “working” that I would to see.  Anyway – if you are in the Dublin area tomorrow, I would urge you to come along.  Should be well worth it.

    28 Days Later...

    Warning dialog explaining I have 28 days left of my evaluation license for Team SuiteThe time had to come.  When I booted up VSTS after the May-Day holiday weekend I got a message warning me that I had 28 days left of my evaluation period.  I had installed the 180–Day Trial Team Suite Edition while my MSDN subscription was transitioned over to the Developer SKU.  Now it looks like it is time for me to un-install VSTS on my client and install the Dev version.  To be honest, in my current project I only really used the other features when demonstrating Team System anyway so it shouldn’t effect anything other than future talks.  But still it is a sad day.  Goodbye Visual Studio 2005 Team Suite, Hello Visual Studio 2005 Team Edition for Software Developers.


    Creative Commons License
    This blog is licensed under a Creative Commons License.