Sasha Sydoruk

Building a better mousetrap with XHTML, AJAX and RSS

Archive for February, 2007

TS - HowTo - Add TS build number to your assembly

Vertigo Software has a really good post on how to do this - Adding the Build Number to your Team Build binaries.

No comments

Code Monkey Like Fritos

Yay, Jonathan Coulton’s “Code Monkey Like Fritos” with interpretive dance. Also “Naruto Code Monkey” and “Code Monkey Unplugged“.

 

Oh yeah, don’t forget “Speed Code Monkey“.

 

PS. It seems like I am the last one to the “Code Monkey” bandwagon, but it is still awesome. I’d better go get some fritos right now.

No comments

Another great Team System Blog

Hey everybody, here is another great Team System Blog from Vertigo Software - Visual Studio Team System: tips, tricks and techniques.

No comments

Engineering Design Quotations

Here is a really fun list of engineering quotations. Found on Signal vs Noise.

Here is some of my favorites:

 

“Professors discussing Engineering Design are like Priests discussing marriage: lots of learned thought, but very little practical experience.”

Professor David Gossard, MIT
at the NSF Design Conference, Amherst, MA, June, 1989

 

“If a major project is truly innovative, you cannot possibly know its exact cost and its exact schedule at the beginning. And if in fact you do know the exact cost and the exact schedule, chances are that the technology is obsolete.”

Joseph G. Gavin, Jr.,
discussing the design of the Grumman lunar module that landed NASA astronauts Neil Armstrong and Buzz Aldrin on the moon on July 20, 1969.
“Fly Me to the Moon: An Interview with Joseph G. Gavin, Jr.”,
Technology Review , 97:5, July, 1994, Page 62.

 

“What you need to invent, is an imagination and a pile of junk.”

Thomas Edison,
quoted on National Public Radio,
November, 2001.

No comments

Team Foundation Server Power Tool v1.2 is now available!

The Microsoft Visual Studio 2005 Team Foundation Server Power Tool (formerly known as Power Toys) is a set of enhancements, tools and command line utilities that improve the Team Foundation Server user experience. This release includes two new command-line tools for the developer and three non-command line tools: a set of custom check-in policies, a build test task, and a process template editor. This version (1.2) includes some bug fixes to the Team Foundation Power Tool and adds the following functionality:

  • Workspace Command (tfpt.exe) - Use the workspace command for additional workspace operations not supported in the currently shipping Team Foundation Server command line (tf.exe).
  • Treeclean Command (tfpt.exe) - Use the treeclean command to see and optionally delete files in the current directory and all subdirectories that are not under version control.
  • Team System Process Editor - A tool integrated with Visual Studio that provides a convenient method of viewing and customizing process templates. When connected to Team Foundation Server, you can use this tool to customize work item type definitions and global lists on an active project.
  • Check-in Policy Pack - A set of handy check-in policies to address needs customers have expressed.
  • Build Test Tools Task - A tool that allows running unit tests by simply specifying the DLLs, or by specifying a file name pattern in TfsBuild.proj, instead of using .vsmdi files to specify tests to run.

Found via Rob Caron’s blog - Now Available: Team Foundation Server Power Tool v1.2

No comments

TFS - HowTo - Get a list of users and pending changes

using System;
using System.Collections.Generic;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;

namespace SashaSydoruk
{
    internal class Example
    {
        private static Dictionary<string, List<string>> pendingChanges = new Dictionary<string, List<string>>();

        public static void Main()
        {
            TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(“tfsserver”);
            VersionControlServer vcs = (VersionControlServer) tfs.GetService(typeof(VersionControlServer));

            PendingSet[] sets = vcs.GetPendingSets(new String[] {“$/”}, RecursionType.Full);

            foreach(PendingSet set in sets)
            {
                foreach(PendingChange pc in set.PendingChanges)
                {
                    AddPendingChange(set.OwnerName, pc.LocalItem);
                }
            }

            List<string> userNames = new List<string>(pendingChanges.Keys);
            userNames.Sort();
            foreach(string userName in userNames)
            {
                pendingChanges[userName].Sort();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine(userName);
                Console.ResetColor();

                foreach(string fileName in pendingChanges[userName])
                {
                    Console.WriteLine(fileName);
                }
                Console.WriteLine();
                Console.WriteLine();
            }

            Console.ReadKey();
        }

        private static void AddPendingChange(string username, string filename)
        {
            if(!pendingChanges.ContainsKey(username))
            {
                pendingChanges[username] = new List<string>();
            }

            pendingChanges[username].Add(filename);
        }
    }
}
No comments

70-510 - My Study Guide

Well, there is not much right now for to prepare for 70-510; so instead of roaming teh Internets I decided to purchase this book - Professional Team Foundation Server.

I am half-way through it and so far I really like it. Even if I don’t pass the exam, I have already learnt a lot of useful stuff. Two thumbs up!

1 comment

TFS - HowTo - Get A List Of Projects in TFS

using System;
using System.Collections.Generic;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Server;

namespace SashaSydoruk
{
    internal class Example
    {
        public static void Main()
        {
            TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(“tfsserver”);
            ICommonStructureService css = (ICommonStructureService) tfs.GetService(typeof(ICommonStructureService));
            List<string> projects = new List<string>();
            foreach(ProjectInfo projectInfo in css.ListAllProjects())
            {
                projects.Add(projectInfo.Name);
            }
            projects.Sort();

            foreach(string projectName in projects)
            {
                Console.WriteLine(projectName);
            }

            Console.ReadKey();
        }
    }
}
No comments

Getting ready for 70-510

One of my first steps to get ready for 70-510 is to thoroughly read Rob Caron’s blog and also subscribe to it. The blog is full of information that you will not find in books.

Brian Harry’s blog is excellent as well. Subscribed.

 

Another good site - http://teamsystemrocks.com/. The site features a bunch of TFS developers and forums to answers people’s questions about TFS.

No comments

scRUBYt - this looks really amazing…

scRUBYt! is a simple to learn and use, yet powerful web scraping toolkit written in Ruby.

No comments

Next Page »