The Ramblings of Two Microsoft .NET Developers, TFS, and Visual Studio ALM Guys --- "Yes, we are both named Ed."

Code Name "Orcas" CTP is now available for download



"Visual Studio Code Name "Orcas" delivers on Microsoft’s vision of smart client applications by enabling developers to rapidly create connected applications that deliver the highest quality rich user experiences. This new version enables any size organization to rapidly create more secure, manageable & reliable applications that take advantage of Windows Vista and the 2007 Office System. By building these new types of applications, organizations will find it easier than ever before to capture and analyze information so that they can make effective business decisions." (Microsoft 2006)

Microsoft 2006, Download Center Details 

Ed K.

Posted in


DFW BizTalk Special Interest Group (SIG)



Tim Rayburn of TimRayburn.net is trying to drum up some interest from the DFW area for a BizTalk Special Interest Group (SIG). This is a great idea seeing the need for BizTalk is becoming more relevant for business and there is little talent out there to guide and nurture solid BizTalk solutions for companies. If you are interested please visit his blog and shoot him an email.... Tell him "The Ed's" sent ya. Ed B and I will of course become members of this SIG since we love BizTalk :)

Ed K. & Ed B.

Posted in


Tulsa TechFest



It’s about time we plug Tulsa TechFest. Only 18 more days until the event, so if you have not made plans to be there, then you'd better and  go register now!  Tulsa TechFest is simply put a “Code Camp Gone Wild!”  It is put on by several users groups from several different states.  It’s gonna be awesome!

Sogeti will be there in full force as speakers, including us, “The Ed’s”.  Listed below are the Sogetians that will be speaking and their topics.

Tim Rayburn: NUnit Extensibility                               
http://www.tulsatechfest.com/Default.aspx?tabid=156

Tim Rayburn: Zero Cost .Net                                       
http://www.tulsatechfest.com/Default.aspx?tabid=156

Ed Blankenship & Ed Kisinger: Managing Projects with Team System
http://www.tulsatechfest.com/Default.aspx?tabid=131

Ed Kisinger & Ed Blankenship: Team Foundation Server Object Model
http://www.tulsatechfest.com/Default.aspx?tabid=131

 

We hope to see you there, it will be a blast!

Ed K. & Ed B.

 

Posted in

Upgrade to dasBlog 1.9



Wow... it took a little while but I finally got finished updating our site with dasBlog 1.9, the newest version after about a year of development.  We have to give it the team for their outstanding work!  Many Kudos!

What took so long was upgrading the solution to .NET 2.0 since the application comes as a 1.1 app.  For some help to upgrade the solution to the .NET Framework 2.0 see this helpful post:  http://www.dasBlog.us/viewtopic.php?t=244

Let me know if anyone needs any help with this...

Ed B.

Posted in


TFS Authentication



Say you built an application that connects to TFS and you want a dialog box to appear if a user is not authorized to connect to TFS. To do this is quite simple.  There are two methods you might have seen when you are playing with the TeamFoundationServer object, Authenticate() and EnsureAuthenticated(). The difference between the two is Authenticate will always call the server and EnsureAuthenticated will only be called if the user has not already authenticated to the server. You should use the EnsureAuthenticated method as a performance point since you only want the call to go to the server if the user has not authenticated. Notice we are using the TeamFoundationServer constructor instead of the Factory; you can use the factory if you wish. The deciding point that you need to decide is if you want to reference the same object on subsequence calls and without the need to re-authenticate. Remember the factory method will return a cache instance of the object.

 

TeamFoundationServer tfs = new TeamFoundationServer(TFSServerName,new UICredentialsProvider());

tfs.EnsureAuthenticated();

 

If the user presses cancel on the dialog box then a UnauthorizedException will be thrown ,so handle it gracefully.

 

Ed K.

Posted in TFS | VSX


Connect to TFS via Client Object Model



Here is a simple example of how to connect to a Team Foundation Server and display some of its properties.

To start we need to fire up VS 2005 and create a new console application.

Now that we have a new project we need to add a reference to Microsoft.TeamFoundation.Client.

Now we can access the TeamFoundationServer object. To create an instance of the object we will use the TeamFoundationServerFactory, we are using the factory so that we create a cache version of the object for subsequence calls.

 TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("FriendlyNameOfYourTFSServerOrURL");

Now lets display some data:

Console.WriteLine("The Authenticated User is: {0}", tfs.AuthenticatedUserDisplayName);
Console.WriteLine("TeamFoundationServer Name: {0}", tfs.Name);
Console.WriteLine("TeamFoundationServer Object GUID: {0}", tfs.InstanceId);
Console.ReadLine();

Here is the OutPut:

Thats it! Very simple and fun.

 

Ed K.

Posted in TFS | VSX


Funny Code



To build on Ed B's post of Hillarious Error, check this one out. We found this one today. Can you spot the not.

Ed K.

Posted in


Facebook API !!!!



So, Wow... All of y'all that happen to use Facebook they have released an initial API that you can use to make applications that will read data from it once Facebook users have logged in and approved to use either your web or desktop application.  Pretty cool I think!

http://developers.facebook.com/index.php

I haven't dived too much into it since I am getting ready to leave out of town for Labor Day Weekend but at first glance:

  1. One thing I don't like is that it uses the REST protocol.  For more info about it check out the Wiki on it:  http://en.wikipedia.org/wiki/Representational_State_Transfer  It's pretty much making a POST of XML and then returning
  2. They do say that they have plans on supporting SOAP:  http://developers.facebook.com/faq.php
  3. I also noticed two guys have already made a VB.NET and a C# library to use.  I haven't looked at them yet and will take a look at them to see how well they did.  Obviously, I'll use the VB one :)  If I don't happen to think they will be useful for me, then I'll just create a Facebook.NET Library for it or just wait for them to implement SOAP so we can just use web services.
  4. You can't get the entries of the logged in user's wall (or whichever user they choose to view.)  You can only get the wall count.  Boo!

Once again, it's a very early implementation.  I'm going to have to blame all those people who have nagged me for three years while I was in college about not having a MySpace and a Facebook because I broke in and now I'm glued on checking mine everyday.  I have gotten to meet up with a lot of people though that I haven't talked to in a long time.

Have a safe and fun Labor Day Weekend!  I'll be heading to Austin!

Ed B.



Hillarious Error



So... I was working with a client's application the other day and I got one of the funniest errors I have ever seen in my life.  Gotta love it!

If you ever see this error (or similar) then you really need to think about maybe refactoring a little... Anybody care to guess the complexity of this method?

Error Message:  "No overload for method MethodName takes '125' arguments."

Cyclomatic Complexity:  121 (extremely bad)
Maintenance Complexity:  13,031 (very very bad)

[Stats care of the wonderful tool:  CodeRush]

Ed B.

Posted in

Long Computer Names and BizTalk Installation



Just to save you a lot of time and hassle with a BizTalk installation... the computer name has to be 15 characters or less!  I guess only those of us with long names ever run into these kinds of problems :)

Ed B.

Here is a great post by Tim Rayburn on this issue. Here: http://www.timrayburn.net

Ed K.
Posted in