[# ALM] Tips for working with static code analysis

ALM 03


Today I was thinking to write about some of the new features of Static Code Analysis in Visual Studio 11, but better get this post of the draft  folder and make it public.

When working on a project, regardless of the tool that we use for the analysis of static code (Code Analysis, FxCop, etc.) it is always advisable to apply the following rules

  • At least a minimum set of analysis rules apply to all projects. Based on the principle of "least da a stone", this helps us protect us from future mistakes. In the case of Code Analysis, the set of "Minimun Rules" is ideal.
  • You have to work in a continuous integration environment, this so am assuming. In the event that the analysis process consume too much time in local, it is advisable not to perform validation of Code Analysis in local. That Yes, in the process of continuous integration is due to force static code analysis
  • Fundamental. Do not ignore the Warnings in the builds, dedicate time and solve the problems detected in them. Many times I prefer to change the mode of Warning Notice error, only to force to resolve the problems detected on static code analysis.
  • Finally, and optional. If someone wants to have local detail, activates the process of Code Analysis in local. Visual Studio allows you to do in 2 clicks.


Saludos @ Home

El Bruno

image image image


List of tools for static code analysis


[# TFS11] Team Explorer Everywhere free (the CAL are still here :)



Today Brian Harry says an interesting news:

Team Explorer Everywhere becomes free as well as Visual Studio Team Explorer.

Beware, this does not mean that we should not pay for access to a Team Foundation Server, a CAL (Client Access License) for each client of Team Foundation work is still needed. But from now on, if you work in an environment "Not Visual Studio" because only you will need lime.

Interestingly, if we take into account that the TFS Express version (link) allows a team of up to 5 people can work without buying licenses. In other words, 5 Eclipses and TFS Express Smile

For better detail, Brian Harry presents 3 stages example

  1. Team Foundation Service or CodePlex – Both of these provide online hosted versions of TFS that can be used by anyone (no CAL purchase necessary – subject to change when Team Foundation Service leaves "preview" but true for now). This means that regardless of whether you use the Visual Studio Team Explorer based or the Eclipse based Team Explorer Everywhere, you can use these services without having to purchase any software.
  2. Team Foundation Server "Standard Edition" – You can’t acquire the standard Team Foundation Server with the full set of TFS capabilities a number of different ways – through MSDN, as a separate purchase, etc. Having purchased it and CAL, where necessary, you can use either the Visual Studio based Team Explorer or the Eclipse based Team Explorer Everywhere with no additional purchases.
  3. Team Foundation Server Express -I recently announced the availability of Team Foundation Server Express 11 Beta that enables team of up to 5 people to experience much of the power of TFS for free. You can now use TFS Express along with Team Explorer and/or Team Explorer Everywhere all for no charge (up to 5 users – additional users will need to purchase CALs).

And finally comment that this change applies to the version of Team Explorer Everywhere 2010 SP1 and for the new Team Explorer 11 version.


Saludos @ Home

El Bruno

image image image

Source: http://blogs.msdn.com/b/bharry/archive/2012/03/08/even-better-access-to-team-foundation-server.aspx

[# EVENT] Material of the KinectSdk event



After finishing the event, leave the post of the same materials. On the one hand the presentation

[# KINECTSDK] HowTo: Detect the sensor state change and sensor disconnection



back a little to the Kinect SDK after 5 days in which I slept very little to migrate a large enough Beta 2 application to the current version of Kinect SDK.

However, the new SDK has changed much and in some things is far more coherent than the previous. For example at the time of adding the reference to our project, in this case already has an official name:



If we go ahead we can see in KinectSensor we have a special event to capture the States of sensors: StatusChanged.This event also can be used to detect when you connect or disconnect a sensor to the USB port.

An example with this code in a console application:

   1: static void KinectSensorsStatusChanged(object sender, StatusChangedEventArgs e)

   2: {

   3:     Console.WriteLine("{0} - New Status: {1}", DateTime.Now.TimeOfDay.ToString(), e.Status);

   4:     _kinect = e.Sensor;

   5:     if (e.Sensor != null)

   6:     {

   7:         Console.WriteLine("{0} - Sensor Status: {1}", DateTime.Now.TimeOfDay.ToString(), _kinect.Status);

   8:     }

   9:     else

  10:     {

  11:         Console.WriteLine("{0} - No Sensor", DateTime.Now.TimeOfDay.ToString());

  12:     }

  13: }

When we launched the application we can see how the timestamp, shows a small difference between the connected sensor and active sensor (lines 2y3 vs 4.5 lines)

   1: 20:23:32.9637224 - Start sample application
   2: 20:23:40.0351074 - New Status: Initializing
   3: 20:23:40.0351074 - Sensor Status: Initializing
   4: 20:23:44.7783652 - New Status: Connected
   5: 20:23:44.7783652 - Sensor Status: Connected
   6: 20:23:51.2279666 - New Status: Disconnected
   7: 20:23:51.2279666 - Sensor Status: Disconnected
   8: 20:23:59.2548372 - New Status: Initializing
   9: 20:23:59.2558370 - Sensor Status: Initializing
  10: 20:24:03.5861851 - New Status: Connected
  11: 20:24:03.5861851 - Sensor Status: Connected
  12: 20:24:08.8158976 - New Status: Disconnected
  13: 20:24:08.8158976 - Sensor Status: Disconnected

If we also want to take advantage of this event to initialize the sensor, we must bear in mind that we can only do so when the State of the sensor is "connected".

The complete example below shows one way of doing it.

   1: using System;

   2: using Microsoft.Kinect;


   4: namespace KinectStatus01

   5: {

   6:     class Program

   7:     {

   8:         private static KinectSensor _kinect;

   9:         static void Main(string[] args)

  10:         {

  11:             Console.WriteLine("{0} - Start sample application", DateTime.Now.TimeOfDay.ToString());

  12:             KinectSensor.KinectSensors.StatusChanged += KinectSensorsStatusChanged;

  13:             Console.ReadLine();

  14:             if(_kinect != null)

  15:             {

  16:                 _kinect.Stop();

  17:             }

  18:         }


  20:         static void KinectSensorsStatusChanged(object sender, StatusChangedEventArgs e)

  21:         {

  22:             Console.WriteLine("{0} - New Status: {1}", DateTime.Now.TimeOfDay.ToString(), e.Status);

  23:             _kinect = e.Sensor;

  24:             if (e.Sensor != null)

  25:             {

  26:                 Console.WriteLine("{0} - Sensor Status: {1}", DateTime.Now.TimeOfDay.ToString(), _kinect.Status);

  27:                 if (_kinect.Status == KinectStatus.Connected)

  28:                 {

  29:                     _kinect.DepthStream.Enable();

  30:                     _kinect.ColorStream.Enable();

  31:                     _kinect.SkeletonStream.Enable();

  32:                     _kinect.Start();

  33:                     Console.WriteLine("{0} - Sensor Started", DateTime.Now.TimeOfDay.ToString());

  34:                 }

  35:             }

  36:             else

  37:             {

  38:                 Console.WriteLine("{0} - No Sensor", DateTime.Now.TimeOfDay.ToString());

  39:             }

  40:         }

  41:     }

  42: }


Saludos @ Home

El Bruno

image image image

[# TFS2010] Practical Kanban Guidance



ALM Rangers team is increasingly active. Through this post, I find the projects that are in beta (that now not take more that Beta, RC, RTM, etc.) of a project for the introduction of Kanban for Team Foundation Server.

If you don’t know Kanban, the video I mention in this post is an excellent introduction to the subject and obviously, but 20 pages you I spend in my book "working as a team with Visual Studio ALM" also give a Kanban for TFS approach.

But well, what it was. ALM Rangers team is closing a project called "Practical Kanban Guidance" which aims to illustrate the use of this methodology in TFS with the following contents (shot of codePlex)

  • Guidance contains scenario based practical guidance, frequently asked questions and quick reference posters
  • Hands-on Lab contains the HOL that provides a walkthrough of the planning, based on the guidance
  • HOL Package includes a setup part which prepare and configure your environment for this lab
  • HOL Videos which showcase the hands-on labs and guidance in quick 5-10 min videos

I have already "follow" mode and will closely follow the progress of this project.


Saludos @ Home

El Bruno

image image image

Source: http://blogs.msdn.com/b/visualstudioalm/archive/2012/02/29/welcome-to-visual-studio-11-alm-rangers-readiness-beta-wave.aspx

[# VS11] # 7 ReSharper EAP for # Visual Studio 11 Beta



When left the Consumer Preview of Visual Studio 11 version, one of the things that I tried to do was work with the same instead of Visual Studio 2010. Me I pasted a couple of punches on the way and I had to leave, but again now with the Beta of Visual Studio 11, I do the test.

Personally I think those people who write posts on news of a product, and make it about 10 minutes on a virtual machine testing, because they provide good enough for those who work really. In my case, I try to use the Beta versions for my day to day work and I write my experiences on them.

Clarification: it shows a half disgusted air? well Yes. There is much thief on the internet that only knows how to do copy/paste.Or write about something about which have no idea.

In my case, working with Visual Studio, means working with Visual Studio + ReSharper. So after a few days of throw lines "in"clean without ReSharper, decided to ask those who know and thanks to a post by Hadi Hariri (@ hhariri) I found the 7 version in Visual Studio pad mode.

Hadi post you can see the details on the version for Visual Studio 11, and obviously no need to remember that it is a version for Early Adopters on a Beta product Smile

In my case, for now is good… we will see that after a couple of weeks.


Byes @ Home

El Bruno

image image image

Source: http://blogs.jetbrains.com/dotnet/2012/03/resharper-70-eap-visual-studio-11-beta-edition-is-nowopen/

[#VS11] Virtual machines for testing Visual Studio ALM 11 and Visual Studio 2010 ALM



now that it has been Visual Studio 11 Beta, toca then update the post for a few weeks with virtual machines to test the latest versions of Visual Studio Alm

Visual Studio 2010 ALM

Visual Studio 11 ALM


Saludos @ Home

El Bruno

image image image


[# WINDOWS8] HowTo: Enable.NET Framework 3.5 and other features by command without internet connection line



When I was still working with Windows 8 Developer Preview, I wrote the following post:

[# WINDOWS8] HowTo: Prevent the message to enable.NET Framework 3.5 when you run a unit test in Visual Studio 2010

In the same describe an option to enable the installation of.NET 3.5 and that not "bother" when we ejecutábamos unit testing.

Today with the brand new Windows 8 Consumer Preview installed, I find that this option does not work as it should be that for some reason I do not understand, do not recognize me the output to the internet for Windows Update.

But no problem, diving a little on the internet I see in this post how to solve my problem.

1. Create a local folder called for example "E:\net35"

2. From the installation disk for Windows 8, copy the entire contents of the directory "$ \sources\sxs\"

3 Open a command prompt with administrator permissions

4 Launch the following command "Dism.exe/online /enable-feature /featurename:NetFX3 all /Source:e: \net35 /LimitAccess"


5 Done!

If we want to enable any of the other features of Windows 8, and we want to avoid accessing the window features, then this may be the solution.

Greetings @ Home

El Bruno

image21 image22 image23

Fuente: http://techdows.com/2011/09/enable-net-framework-3-5-1-on-windows-8-developer-preview-to-run-applications.html

[# VS11] Available installers for Visual Studio 11 Beta (you hurt the eyes of both # METRO)



In addition to Windows 8 that has been the great novelty of today, those that we are dedicated to the development of applications already have the possibility of downloading the new Visual Studio 11 Beta. Before we proceed to simply note the following


Having said that, already can go to the official site of Visual Studio 11downloads,http://www.microsoft.com/visualstudio/11/en-us/downloads. Where we see the web installers of Team Foundation Server and Visual Studio Ultimate.


Metro 1

If we instead want the standalone installers (or Satan alone as telling my boss), then select that option and… more metro!


Metro 2

And I tell you that you well not, in any option you select > subway > subway > subway > Metro > Metro > Metro > Metro > Sonrisa


Come on that before formatting my already viejuno Windows 8 Developer Preview and install the new Windows 8Consumer Preview, I have a little time of download, interface metro of through.

Greetings @ Home

The Bruno

Downloads: http://www.microsoft.com/visualstudio/11/en-us/downloads

[# TFS2010] HowTo: Configure a Build to publish debug symbols



I’m going to aim for but I always forget. In this case, my little set of neurons forget it is advisable to take a set of automatic testing with Intellitrace active execution of a build, publish the symbols (symbol data in English) that are related to our Build. For this I simply follow the following steps

1. Create a shared directory where the symbols will be stored. For example //DROPSERVER/Symbols

2 Give Full permissions to the user that runs the Build

3. In the Build definition, select the process and edit the same.

4. In the section "Basic" modify

Index Sources = True

Path to Publish Symbols = Share created for symbols



Greetings @ Home

The Bruno

Source: http://msdn.microsoft.com/en-us/library/hh190722.aspx