#TFS – DEP Guía de Branching para Team Foundation Server y Visual Studio Team Services

Hola !

Durante estos últimos 10 años he escrito y hablado mucho sobre estrategias de Branching. Recuerdo cuando la frase con la que solía comenzar o terminar las charlas era

The worst branching strategy is not to have a branching strategy at all

Después de un tiempo, comencé a ver que algunas personas estaban sobre utilizando las ramas y se creaban estructuras que parecían un mandala. En ese punto cambié un poco mi speech intentando explicar el correcto uso de las mismas (o inclusive recomendando no usar ramas !) Fue también por esos tiempos cuando Git llegó a nuestras vidas y, de nuevo tuvimos que aprender desde cero, estrategias, modelos, etc. Toda la experiencia aprendida tuvo mucho más sentido con sistemas distribuidos.

Durante todo este tiempo hubo una guía de lectura obligatoria para el trabajo con Ramas:

The Visual Studio ALM Rangers Branching Guidance

Este conjunto de documentos no solo hablaba de ramas, también trataba temas como la gestión de dependencias con Nuget, o como comenzar con GIT viniendo de TFSVC entre otros temas. Era un punto de partida genial para trabajar con ramas en Team Foundation Server o Visual Studio Team Services.

Hoy, después de 10 años, esta guía se elimina de CodePlex. La idea es utilizar algunos artículos y entradas de MSDN como puntos de partida para el trabajo con ramas.

giphy.gif

Así que hay que comenzar por darle las gracias al equipo de Visual Studio ALM Rangers y recomendar estas entradas que ellos mismos publican en este post

Articles:
Blog posts:
Posters

Una vez más, gracias y que descanse en paz la Guía de Branching!

Saludos @ Toronto

El Bruno

References

#TFS – RIP Branching Guidance for Team Foundation Server and Visual Studio Team Services

Hi !

I’ve been writing and talking about branches and branching strategies for a long time. I remember that I usually start or end my presentations with

The worst branching strategy is not to have a branching strategy at all

After some time, I get to a point where I realize that people are “over using” branches, so I start to try to teach about the correct use of branches (or event not use branches at all!). Then Git get into our lives and everything start to make more sense.

During all this time, there was a #MustRead document, which I strongly suggest if we talk about branches:

The Visual Studio ALM Rangers Branching Guidance,

This set of documents also included topics on dependency management with Nuget, Git for TFSVC users and more. It was a great starting point to have a clear view of what we can do with branches in Team Foundation Server or Visual Studio Team Services.

Now, after 10 years, this guide is removed from Codeplex, and the main idea is to replace this guide with MSDN articles as a starting point.

giphy.gif

I’ll copy the contents proposed in the Visual Studio ALM Rangers post as new starting point for this.

Articles:
Blog posts:
Posters

So, thanks to all the work of the ALM Rangers and RIP Branching Guidance!

Greetings @ Toronto

El Bruno

References

#TeamServices – Prueba las extensiones de pago en en forma gratuita por 30 días !!!

Hola !

Ho toca una buena noticia para los usuarios de Visual Studio Team Services y Team Foundation Server. Ahora tenemos la posibilidad de probar las extensiones de pago del Marketplace por 30 días. La verdad es que la idea está muy bien, porque 1 mes es un buen periodo de tiempo para evaluar si una herramienta (o extensión) se adapta y aporta valor en un equipo de trabajo, después de este tiempo ya podemos tomar la decisión correspondiente.

El proceso para probar una extensión de PAGO es similar al siguiente:

Acceder al Marketplace

image

En este punto podemos ver las extensiones gratis (FREE), las que están en modo pre visualización (PREVIEW) y también las de pago (PAID). El post original utiliza la extensión Test Manager como el ejemplo de una extensión.

image

Una vez que accedemos al detalle de la extensión de pago, podremos ver la opción de comprar o de comenzar el período de prueba por 30 días.

image

Y a partir de comenzar este período, queda todo en nuestras manos. Eso sí, al finalizar el período no deberemos pagar o nada parecido, si nos “pasamos de largo”. El servicio se descontinua automáticamente y si queremos tenerlo online, es momento de sacar la tarjeta de crédito.

Saludos @ Toronto

El Bruno

References

#TeamServices – Try paid extensions for 30 days for Free !

Hi !

Some good news for the Visual Studio Team Services and Team Foundation Server users. Now we can browse and test the paid extensions in the Marketplace for a 30 days trial period. This is very cool, as in a team testing mode, 1 month is a good enough piece of time to try some of this extensions and make a choice.

The process to try a PAID extension is similar to this one:

Go to the Marketplace

image

And now we can see the FREE extensions and also the ones in PREVIEW mode. The original post uses the Test Manager as a sample for a PAID one

image

Once we are in the Paid extension, we can start a 30 days trial to try and test the extension.

image

Once you have installed / deployed the extension, you’ll start a 30 days trial and get notified once the trial period is over.

Greetings @ Toronto

El Bruno

References

#Humor – About events, #MVPs, inner circle, new speakers and my POV

Hi !

So, there was a nice conversation in the Microsoft Communities in Spain in the past few days, and this is my Point Of View😀

17w14z

Greetings @ Toronto

El Bruno

Source: Some Twitter entries (is a funny conversation at all)

#Myo – #MyoSharp un SDK en C# para el brazalete Myo

¡ Hola!

Es tiempo de C#! El SDK de Myo es bueno, pero seamos honestos: C++ es algo complicado para pruebas y si no estás familiarizado con el entorno es bastante lento para comenzar. Por otra parte, C# presenta una manera mucho más fácil para pruebas rápidas. Asi que, después de una búsqueda rápida he encontrado un par de SDK para Myo para .Net Framework y MyoSharp merece una revisión.

Nota: Myo también nos permite escribir script simples que son ideales ideal para llevar a cabo algunas acciones básicas. Voy a escribir algo sobre esto más adelante.

MyoSharp es una biblioteca de clases de framework .net 2.0, así que es muy fácil utilizarla en nuestras aplicaciones. La página principal en GitHub tiene una muy buena introducción al proyecto, así que iré directamente a una aplicación de consola de C#.

He descargado y compilado el código fuente completo de MyoSharp para este ejemplo. Luego he creado una aplicación de consola y agregado este este proyecto a la solución principal.

Una vez hemos creado el proyecto, necesitamos agregar una referencia a la MyoSharp.dll y copiar el myo*.dll específico de la plataforma en el mismo directorio que la aplicación. Para este ejemplo trabajaré en x86 blanco.

image

Ahora en el método Main() debemos añadir algo de código para interactuar con el brazalete. El siguiente código muestra la creación del channel y el hub, que son los componentes principales del SDK de Myo (líneas 12 y 15).

image

Ahora es momento de suscribirse a los eventos de cambio de pose, bloqueo y desbloqueo sólo cuando el Channel detecta un dispositivo Myo. En cada uno de estos eventos, lo que haré será mostrar alguna información en la aplicación de consola.

image

Y eso es todo, ahora podemos lanzar la aplicación y ver cómo mostrar nuestro plantea en la aplicación de consola.

2016 07 20 MyoSharp

En el siguiente post voy intentar profundizar un poco en el ejemplo.

Saludos @ Toronto

El Bruno

References

GitHub MyoSharp

#Myo – #MyoSharp a C# SDK implementation for the Myo armband

Hi !

It’s C# time! Myo SDK is good one, but let’s be honest C++ is kind of complicated for quick starts; and C# is a much easiest way to do this. After a quick search I’ve found a couple of .Net SDK implementation and MyoSharp deserves a review.

Note: Myo also support a simple script support which is great to perform some basic actions. I’ll write something about this later.

MyoSharp is a .Net 2.0 framework class library, so it’s very easy to include this in our apps. The main page in GitHub has a very nice introduction to the project, so I’ll go directly to a C# Console App.

I’ve downloaded and build the complete source code of MyoSharp for this sample. Then I’ve created a Console App and add this project to the main solution.

Once we have created the project, we need to add a reference to the MyoSharp.dll and copy the platform specific myo*.dll into the same directory as your application. For this sample I’ll work in x86 target.

image

Now in the main method we must add some code to interact with Myo. The following code displays the creation of the channel and the hub, which are the main components of the myo SDK (lines 12 and 15).

image

Then we subscribe to the events for pose changed, lock and unlock only when the hub detects a Myo device. In each one of this events, I’ll display some information in the Console app.

image

And that’s it, we can now launch the app and see how it display our poses in the console app.

2016 07 20 MyoSharp

In the next post I’ll go deeper into a more advanced sample.

Greetings @ Toronto

El Bruno

References

GitHub MyoSharp

#Fusion4D – Ahora si que motion capture nos da un Wooow !!! (Por cierto: #Hololens les da las gracias!)

Hola!

La idea para hoy era continuar con mi serie de posts de Myo, pero Fusion4D merece una entrada rápida.

El equipo de Microsoft Research ha creado y compartido una nueva técnica basada en el analizar y aprendizaje de movimiento de frames RGBD y la han llamado Fusión4D. Esta técnica combina la fusión volumétrica con la valoración de un campo de deformación suave a través de vistas RGBD para manejar grandes movimiento en modo frame a frame. 

En caso de que el video no haya sido suficientemente claro, se procesa en tiempo real !

Y esto nos lleva a imaginar el nuevo mundo de oportunidades: interacción virtual en tiempo real con dispositivos como Hololens o Oculus?; ¿realizar esta exploración de 4D en tiempo real usando Kinects? y mucho más.

Así que los tiempos están cambiando y este tipo de tecnologías va a cambiar la forma en que interactuamos con los dispositivos, con otras personas y tal vez la forma en la que podemos atrapar Pokemons en un parque.

Saludos @ Toronto

El Bruno

Source: https://www.microsoft.com/en-us/research/publication/fusion4d-real-time-performance-capture-of-challenging-scenes/

#Fusion4D – Here is why motion capture must get a Wooow !!! (BTW: #Hololens says thanks!)

Hi !

So, today was initially the day to continue with my series of Myo posts, but Fusion4D deserves a quick entry.

Microsoft Research’s team have created and shared a new learning-based technique to analyze movement across the RGBD frames. Fusion 4D combines volumetric fusion with estimation of a smooth deformation field across RGBD views to handle large frame-to-frame motion. It supports both incremental reconstruction, improving surface estimation over time, and the parameterization of non-rigid scene motion.

And, just in case > THIS IS REALTIME!

Now is time to imagine the new world of opportunities from here: realtime virtual interaction with devices like Hololens or Oculus?; perform this 4D realtime scan using Kinects? and more.

So times are changing and this types of technologies will change the way we interact with devices, with other people, and maybe the way we can catch Pokemons in a park.

Greetings @ Toronto

El Bruno

Source: https://www.microsoft.com/en-us/research/publication/fusion4d-real-time-performance-capture-of-challenging-scenes/

#Myo – Primeros pasos con un poco de C++

¡ Hola!

Hoy es momento de ver un poco más sobre el funcionamiento interno del brazalete Myo. Este device lee señales eléctricas de su brazo y con la información de las mismas, puede detectar hasta 5 poses distintas: wave left, wave right, spread fingers, fist, y pinch. También tiene un par de sensores de movimiento, un buzzer y un led multicolor. Con esta base solo tenemos que pensar en que podemos usar el device.

 

image

El brazalete recopilar y comparte toda esta información a través de Bluetooth. Esto es genial, ya que nos permite conectar el brazalete con casi cualquier dispositivo. Como ejemplo de usabilidad, vienen apps para controlar VLC, Spotify; incluso drones o los juguetes de Sphero. Y, por supuesto, como funciona en base a gestos, podemos controlar una presentación de PowerPoint!

Para empezar a usar todas estas características como desarrollador, es necesario activar el Developer Mode. En la aplicación de preferencias de Myo, hay que acceder a la sección General y tenemos que habilitar la 5ta opción.

image

Ahora podemos acceder a la consola de debug que es algo que usaremos más adelante en nuestro proceso de desarrollo.

imageT

Y llega el momento de descargar el SDK. Hasta el día de hoy tenemos SDKs para

  • Windows
  • Mac
  • iOS
  • Android

Si quieres mas información sobre el SDK puedes dedicarle 10 minutos de lectura (here). En Windows, MYO proporciona una DLL única para ambas arquitecturas, denominadas myo32.dll y myo64.dll

image

El núcleo del SDK es una biblioteca: libmyo. Esta biblioteca permite que las aplicaciones interactuar con el brazalete de Myo. Todas las funciones en libmyo se exponen a través de una API en C++.

image

El SDK proporciona datos a la aplicación en forma de eventos. Hay tres categorías de eventos: eventos espaciales (correspondientes a datos espaciales de un brazalete mio), eventos gestuales (correspondiente a datos gestuales un brazalete mio) y eventos auxiliares.

Hay un montón de información sobre el funcionamiento interno del SDK, pero vamos a ver algo de código. En la carpeta SDK podemos encontrar los archivos de encabezado y hpp de C++ para ser utilizado en una aplicación de C++ de ejemplo..

image

En una aplicación de consola, tenemos que heredar de DeviceListener tener acceso a las características del brazalete de Myo.

image

Utilizando el Myo Hub, podemos acceder a la información de EMG, la orientación / información y también a la posición. En el ejemplo, una vez que se detecta una pose podemos notificar al usuario acerca de esta pose o realizar acciones adicionales.

image

Un buen punto de partida son los 3 proyectos de muestra de C++ incluidos en el SDK en la carpeta samples. Sin embargo sé que no muchos están acostumbrados a C++ por lo que en mi próximo post voy a cambiar a C# gracias a una de las muchas implementaciones de Myo.Net disponibles.

Saludos @ Toronto

El Bruno

References