Archive for category CodePlex
[#TFS2010] Practical Kanban Guidance
Buenas,
el equipo de ALM Rangers está cada vez más activo. A través de este post, me entero de los proyectos que están en fase Beta (por más que ahora no se lleve más eso de Beta, RC, RTM, etc.) de un proyecto para la implantación de Kanban para Team Foundation Server.
Si no conoces Kanban, el video que comento en este post es una excelente introducción al tema y obviamente, sino las 20 páginas que le dedico en mi libro “Trabajando en equipo con Visual Studio ALM” también dan un acercamiento de Kanban para TFS.
Pero bueno, a lo que iba. El equipo de ALM Rangers está cerrando un proyecto llamado “Practical Kanban Guidance” que pretende ilustrar el uso de esta metodología en TFS con los siguientes contenidos (fusilados de 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 prepares and configures your environment for this lab
- HOL Videos which showcase the hands-on labs and guidance in quick 5-10min videos
Ya lo tengo en modo “follow” y seguiré de cerca los avances de este proyecto.
Saludos @ Home
El Bruno
[# TFS2010] Team Project Manager, one click to manage all!
Publicado por elbruno en CodePlex, EnglishPost, Team Foundation Server el 29 enero, 2012
Good,
as to my you get each both administer one or more servers Team Foundation Server 2010, with their corresponding Team Project Collections but also their endless Team Projects, surely this tool you rejoice the day: Team Project Manager. It is a tool where unified common tasks such as in the administration of Team Foundation Server:
- Management of the definitions of Builds. The best is the ability to perform bulk updates on the definitions of Builds. Very useful when changing the Drop Folder common to several Builds.
- Management of Build Process Templates
- Management of security groups. It is essential at the global level.
- etc.
The documentation is fairly complete and if you want to see the capabilities, this linkhttp://teamprojectmanager.codeplex.com/documentation?referringTitle=Home help.
Greetings @ Home
The Bruno
Project HomePage: http://teamprojectmanager.codeplex.com/
[#TFS2010] Team Project Manager, todo al alcance de un clic!
Publicado por elbruno en CodePlex, Team Build 2010, Team Foundation Server el 29 enero, 2012
Buenas,
si como a mi te toca cada tanto administrar uno o más servidores Team Foundation Server 2010, con sus correspondientes Team Project Collections y además sus interminables Team Projects, seguramente esta herramienta te alegrará el día: Team Project Manager. Se trata de una herramienta donde se unifican tareas comunes en la administración de Team Foundation Server como por ejemplo:
- Gestión de las definiciones de Builds. Lo mejor es la capacidad de realizar bulk updates en las definiciones de Builds. Muy útil cuando se cambia el Drop Folder común a varias Builds.
- Gestión de Build Process Templates
- Gestión de los grupos de seguridad. Imprescindible a nivel global.
- etc.
La documentación es bastante completa y si quieres ver las capacidades, este link http://teamprojectmanager.codeplex.com/documentation?referringTitle=Home te ayudará.
Saludos @ Home
El Bruno
Project HomePage: http://teamprojectmanager.codeplex.com/
[# KINECT] MocKinect
Hi,
This is what I call a good idea, but with less future than anyone to compete with Facebook > MocKinect(http://mockinect.codeplex.com/ ))
To see, at first glance it seems that is a series of libraries for "mockear" the assemblies of the Kinect SDK for Windows but no, this idea a step further and allows you to what
Fully EMULATE the result processed A SENSOR KINECT For testing without the same .
Put another way, the idea is that "you grabes a sequence" front of the sensor and then make your tests using this recording. As an idea it is very good, it is true that when you work with Kinect is really boring, this will have to get up every 15 minutes to test whether something works. In my case I have it the Valentino which serves me "test dummy" but is not as good as tester. I better keep that I’m going by the branches. This is the idea, replace the movements that are made to the sensor, without having to stand.
What happens is the following > > kinect database is based on the small offset or default with which we have to work. For example, if we are working with the idea of creating a detector of gestures, we can record a SWIPE LEFT and start creating a routine that detects the gesture swipe left. The problem is that the recording of these gestures is based on the position of the points of the skeleton and of course, the displacement of the points of my skeleton in my right arm to the Valentino which measures half that I is not the same.
In short, if you want to actually simulate an output of a skeleton or something similar, MocKinect can give us very helpful;But if I want to work in models more complex, as for example in the recognition of gestures for much not me does.
Also you made a follow to see how it evolves the project, because it promises much.
Greetings @ Home
The Bruno
[#KINECT] MocKinect
Buenas,
esto es lo que yo llamo una buena idea, pero con menos futuro que cualquiera que compita con Facebook > MocKinect (http://mockinect.codeplex.com/)
A ver, a primera vista pareciera que es una serie de bibliotecas para “mockear” los ensamblados del Kinect SDK for Windows pero no, esta idea da un paso más allá y lo que te permite es
EMULAR COMPLETAMENTE EL RESULTADO QUE PROCESA UN SENSOR KINECT PARA REALIZAR PRUEBAS SIN EL MISMO.
Dicho de otra forma, la idea es que “grabes una secuencia” frente al sensor y luego realices tus pruebas utilizando esta grabación. Como idea está muy bien, ya que es cierto que cuando trabajas con Kinect es realmente aburrido, esto de tener que levantarte cada 15 minutos a probar si algo funciona. En mi caso lo tengo al Valentino que me sirve de “test dummy” pero tampoco es tan bueno como tester. Mejor sigo que me voy por las ramas. Esta es la idea, reemplazar los movimientos que se realizan frente al sensor, sin tener que estar de pie.
Lo que sucede es lo siguiente >> la base de kinect se basa en el pequeño offset o defecto con el que tenemos que trabajar. Por ejemplo, si estamos trabajando con la idea de crear un detector de gestures, podemos grabar un SWIPE LEFT y comenzar a crear una rutina que detecte el gesto swipe left. El problema está en que la grabación de estos gestos se realiza en base a la posición de los puntos del skeleton y claro, no es lo mismo el desplazamiento de los puntos de mi skeleton en mi brazo derecho, que los del Valentino que mide la mitad que yo.
En resumen, si lo que quiero es realmente simular un output de un skeleton o algo similar, MocKinect puede darnos bastante ayuda; pero si quiero trabajar en modelos más complejos, como por ejemplo en el reconocimiento de gestures pues mucho no me sirve.
Igualmente le hecho un follow a ver como evoluciona el proyecto, porque promete bastante.
Saludos @ Home
El Bruno
[#KINECT] Merry Christmas with Kinect and Visual Studio 2010 (gift of the Valentino)
Publicado por elbruno en Code Sample, CodePlex, Kinect, Visual Studio 2010 el 28 diciembre, 2011
Hi,
in these days of festivities, when you join the side 2 dwarves wanting to play, you got the kinect connected to the PC and the SDK that you strange, at the very least you get is something like the following:
An application for every person that appears on WebCam puts a Santa Claus Cap!!!!
Disclaimer: as they can be seen in the screenshot, in addition to the view of the WebCam I am showing the skeleton, but just as he gave a ray of sunshine to my dwarf in the arm, therefore not recognized him!
As well, after several post about Kinect, today the challenge was as follows
- identify the specific joint of the head of each skeleton
- calculate the relative coordinates of that joint before an image of the webcam
- paint a Santa Hat on webcam
The first point is easily solved once we iteramos by the skeletons recognized in mode Trackeable (lines 6 to 9), we can iterate between the Joints of the skeleton and verify that it is the head compared with [JointID.Head] (line 17).
Once identified the head Joint we come to the 2nd point which is a bit more complicated. Function GetDisplayPosition() (line 27) is in charge for the conversion of the position of the Joint to relative location in the image. The following capabilities of the SDK are used to this
- SkeletonEngine.SkeletonToDepthImage () using this function we can know the relative location in “depth” of a joint.
- NuiCamera.GetColorPixelCoordinatesFromDepthPixel () using this function, we can discover the position at coordinates x/Y from the depth we obtained earlier.
In both cases, it must make some adjustments on the one hand the webcam image is 640 * 480 resolution and depth capacity is only 320 * 240. But hey, with these few lines already we can define the specific location of our head and paint a SantaHat therein.
1: void KinectSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
2: {
3: canvasSkeleton.Children.Clear();
4: this.HideImageHats();
5: var skeletonId = 0;
6: foreach (var skeleton in e.SkeletonFrame.Skeletons.Where
7: (skeleton =>
8: SkeletonTrackingState.Tracked == skeleton.TrackingState))
9: {
10: skeletonId++;
11: this.DisplayImageHats(skeletonId);
12: PaintBones(skeleton);
13: PaintJoints(skeleton);
14:
15: foreach (Joint joint in skeleton.Joints)
16: {
17: if (joint.ID != JointID.Head)
18: {
19: continue;
20: }
21: var newPosition = this.GetDisplayPosition(joint);
22: this.MoveImageHats(newPosition, skeletonId);
23: }
24: }
25: }
26:
27: private Point GetDisplayPosition(Joint joint)
28: {
29: float depthX, depthY;
30: kinect.SkeletonEngine.SkeletonToDepthImage(joint.Position, out depthX, out depthY);
31: depthX = Math.Max(0, Math.Min(depthX * 320, 320));
32: depthY = Math.Max(0, Math.Min(depthY * 240, 240));
33: int colorX, colorY;
34: var iv = new ImageViewArea();
35: kinect.NuiCamera.GetColorPixelCoordinatesFromDepthPixel(ImageResolution.Resolution640x480, iv, (int)depthX, (int)depthY, (short)0, out colorX, out colorY);
36: var newX = (int)(CameraViewer.ActualWidth * colorX / 640.0) - 30;
37: var intY = (int)(CameraViewer.ActualHeight * colorY / 480) - 30;
38: return new Point(newX, intY);
39: }
This time I changed the mode of publication and if you want to download the code can do since CodePlex fromhttp://kinectmerrychristmas.codeplex.com/ .
If you already have a Kinect, SDK and wanted to test the application, you can install it directly fromhttp://kinectmerrychristmas.codeplex.com/releases/79524/clickOnce/ElBruno.MerryChristmas.application
Greetings @ Home and Merry Christmas
The Bruno
References:
- Kinect References
http://elbruno.com/category/MSN-Microsoft/kinect/ - CodePlext Project
http://kinectmerrychristmas.codeplex.com/ - CodePlex ClickOnce Publising
http://geeks.Ms/blogs/elbruno/archive/2010/12/06/vs2010-publicando-Aplicaciones-con-ClickOnce-en-CodePlex-sistema-de-distribuci-243-n-gratis-como-el-Aire.aspx
[#KINECT] Merry Christmas with Kinect and Visual Studio 2010 (regalo del Valentino)
Publicado por elbruno en Code Sample, CodePlex, Kinect, Visual Studio 2010 el 28 diciembre, 2011
Buenas,
en estos días de fiestas, cuando se te juntan al lado 2 enanos con ganas de jugar, tenes el kinect conectado al PC y el SDK que te extraña, pues lo menos que te sale es algo como lo siguiente:
¡¡¡ Una aplicación que para cada persona que aparece en la WebCam le pone un gorro de Santa Claus !!!
Disclaimer: como pueden ver en el screenshot, además de la vista de la WebCam estoy mostrando el skeleton, pero como justo le dió un rayo de sol a mi enana en el brazo, pues no lo reconoció !!!
Pues bien, después de varios post sobre Kinect, hoy el desafío consistía en lo siguiente
- identificar el joint específico de la cabeza de cada skeleton
- calcular las coordenadas relativas de ese joint frente a la imagen de la webcam
- pintar un Santa Hat en la webcam
El primer punto se soluciona fácilmente, ya que una vez que iteramos por los skeletons reconocidos en modo Trackeable (líneas 6 a 9), podemos iterar entre los Joints del skeleton y verificar que el mismo sea el de la cabeza comparando con [JointID.Head] (línea 17).
Una vez identificado el Joint de la cabeza pasamos al 2do punto que es un poco más complicado. La función GetDisplayPosition() (línea 27), es la encargada de realizar la conversión de la posición del Joint a la ubicación relativa en la imagen. Para esto se utilizan las siguientes capacidades del SDK
- SkeletonEngine.SkeletonToDepthImage() utilizando esta función podemos conocer la ubicación relativa en “depth” de un joint.
- NuiCamera.GetColorPixelCoordinatesFromDepthPixel() utilizando esta función, podemos descubrir la posición en coordenadas X/Y a partir del depth que obtuvimos antes.
En ambos casos, hay que hacer algunos ajustes ya que por un lado la imagen de la webcam está en resolución de 640*480 y la capacidad de depth es solo de 320*240. Pero bueno, con estas pocas líneas ya podemos definir la ubicación específica de nuestra cabeza y pintar un SantaHat en el mismo.
1: void KinectSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
2: {
3: canvasSkeleton.Children.Clear();
4: this.HideImageHats();
5: var skeletonId = 0;
6: foreach (var skeleton in e.SkeletonFrame.Skeletons.Where
7: (skeleton =>
8: SkeletonTrackingState.Tracked == skeleton.TrackingState))
9: {
10: skeletonId++;
11: this.DisplayImageHats(skeletonId);
12: PaintBones(skeleton);
13: PaintJoints(skeleton);
14:
15: foreach (Joint joint in skeleton.Joints)
16: {
17: if (joint.ID != JointID.Head)
18: {
19: continue;
20: }
21: var newPosition = this.GetDisplayPosition(joint);
22: this.MoveImageHats(newPosition, skeletonId);
23: }
24: }
25: }
26:
27: private Point GetDisplayPosition(Joint joint)
28: {
29: float depthX, depthY;
30: kinect.SkeletonEngine.SkeletonToDepthImage(joint.Position, out depthX, out depthY);
31: depthX = Math.Max(0, Math.Min(depthX * 320, 320));
32: depthY = Math.Max(0, Math.Min(depthY * 240, 240));
33: int colorX, colorY;
34: var iv = new ImageViewArea();
35: kinect.NuiCamera.GetColorPixelCoordinatesFromDepthPixel(ImageResolution.Resolution640x480, iv, (int)depthX, (int)depthY, (short)0, out colorX, out colorY);
36: var newX = (int)(CameraViewer.ActualWidth * colorX / 640.0) - 30;
37: var intY = (int)(CameraViewer.ActualHeight * colorY / 480) - 30;
38: return new Point(newX, intY);
39: }
Saludos @ Home y Merry Christmas
El Bruno
Referencias:
- Kinect References
http://elbruno.com/category/msn-microsoft/kinect/ - CodePlext Project
http://kinectmerrychristmas.codeplex.com/ - CodePlex ClickOnce Publising
http://geeks.ms/blogs/elbruno/archive/2010/12/06/vs2010-publicando-aplicaciones-con-clickonce-en-codeplex-sistema-de-distribuci-243-n-gratis-como-el-aire.aspx
[# RESHARPER] Now integrated with StyleCop 4.6
Publicado por elbruno en JetBrains, ReSharper, StyleCop, Visual Studio 2010 el 22 noviembre, 2011
Hi,
a couple of days ago Victor friend told me that he was about to start a project from scratch, so we sat the minimum basis for collaboration and quality for the same. If you start a project from scratch, where different people work in offline mode, it is advisable to apply a set of rules that help to "the rules of the game are the same for all". In the case of coding style, StyleCop is an excellent ally for this. In addition, Avanade Spain have an extended template compilation which inter alia applies the StyleCop rules implementation of Team Build and indicates that level of aesthetic quality is our code (if you want more info on the subject talk because the template does many things that does not come Out Of the Box with TFS2010).
But I repeat I scattered, from that I started to work with Windows 8 had not installed the StyleCop plugin in my working environment. So to demonstrate the capabilities of StyleCop to Victor, me I downloaded the latest version and I took a big surprise > This is 100% integrated with RESHARPER 6.0 version. We are adapting as a plugin for ReSharper and from here you are with the analysis in StyleCop rules coding time.
Obviously, for tastes > colors, and I do not believe that all rules should apply in all cases. But it is nice to see that for example, now the [this] are compulsory according to StyleCop (ReSharper loathed them), and that all your code probably will not meet the basic rules. On a WCF Application created from scratch, the list of errors is pretty long.
But do not despair, you always have the option to define the behavior desired for each of the rules. For example, if not believe in the documentation (or in the Kings Magi), because you can turn off this rule in particular that behave as a Hint, for example.
Or even in the General inspection of ReSharper code options, you can define actions to take for each of StyleCop rules.
If you ask me my what seems to me, I will then tell you that you feel me great ![]()
Greetings @ Here
The Bruno

[#RESHARPER] Ahora integrado con StyleCop 4.6
Buenas,
hace un par de días el amigo Víctor me comentó que estaba por comenzar un proyecto desde cero, así que sentamos las bases mínimas de colaboración y calidad para el mismo. Si comienzas un proyecto desde cero, donde trabajen diferentes personas en modo desconectado, es recomendable aplicar una serie de normas que ayuden a que “las reglas del juego sean las mismas para todos”. En el caso del estilo de codificación, pues StyleCop es un excelente aliado para esto. Además, en Avanade Spain tenemos una plantilla extendida de compilación que entre otras cosas aplica las reglas de StyleCop a una ejecución de Team Build e indica que nivel de calidad estética tiene nuestro código (si quieres más info al respecto hablamos porque la plantilla hace muchas cosas que no viene Out Of the Box con TFS2010).
Pero vuelvo que me disperso, desde que comencé a trabajar con Windows 8 no había instalado el plugin de StyleCop en mi entorno de trabajo. Así que para demostrarle las capacidades de StyleCop a Victor, me descargué la última versión y me llevé una gran sorpresa > esta versión esta 100% INTEGRADA CON RESHARPER 6.0. Vamos que se adapta como un plugin para ReSharper y a partir de aquí te encuentras con el análisis en tiempo de codificación de las reglas de StyleCop.
Obviamente, que para gustos > colores, y que no creo que todas las reglas deban aplicarse en todos los casos. Pero es agradable ver que por ejemplo, ahora los [this.] son obligatorios según StyleCop (ReSharper los aborrecía), y que todo tu código seguramente no cumplirá las reglas básicas. Sobre una WCF Application creada desde cero, la lista de errores es bastante larga.
Pero no desesperes, que siempre tienes la opción de definir el comportamiento deseado para cada una de las reglas. Por ejemplo, si no crees en la documentación (ni tampoco en los reyes magos), pues puedes desactivar esta regla en particular para que se comporte como un Hint, por ejemplo.
O inclusive en las opciones generales de inspección de código de ReSharper, puedes definir las acciones a tomar para cada una de las reglas de StyleCop.
Si me preguntas a mi qué me parece, pues te diré que me parece genial ![]()
Saludos @ Here
El Bruno
[# KINECT] CodePlex: 2 key projects already updated to SDK Beta 2
Hi,
If you work with Kinect sure some of these projects that have been already updated to Beta 2 SDK you are known:
- Kinect Toolbox
http://kinecttoolbox.codeplex.com/ - Coding4Fun Kinect Toolkit
http://c4fkinect.codeplex.com/
If don’t know them, because you should ![]()
Greetings @ Home
The Bruno






SocialVibe