<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:media="http://search.yahoo.com/mrss/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>El Bruno</title><link>http://geeks.ms/blogs/elbruno/default.aspx</link><description>Portal dedicado a las experiencias del desarrollo con tecnologías Microsoft.</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><itunes:subtitle>Portal dedicado a las experiencias del desarrollo con tecnologías Microsoft. </itunes:subtitle><itunes:summary>Portal dedicado a las experiencias del desarrollo con tecnologías Microsoft.</itunes:summary><itunes:owner><itunes:name>El Bruno (Bruno Capuano)</itunes:name><itunes:email>bcapuano@gmail.com</itunes:email></itunes:owner><itunes:category text="Visual Studio" /><itunes:explicit>no</itunes:explicit><language>en</language><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/elbruno" /><feedburner:info uri="elbruno" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Visual Studio</media:category><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><feedburner:emailServiceId>elbruno</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>[#VS2010] Error con ASP.Net MVC y el IIS en Windows 8</title><link>http://feedproxy.google.com/~r/elbruno/~3/hQxjqIhoDbI/vs2010-error-con-asp-net-mvc-y-el-iis-en-windows-8.aspx</link><pubDate>Wed, 23 May 2012 17:27:38 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205193</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205193</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205193</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/23/vs2010-error-con-asp-net-mvc-y-el-iis-en-windows-8.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2011/04/image20.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2011/04/image20.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;hoy estaba por comenzar a trabajar en un flamante proyecto de ASP.Net MVC en mi Visual Studio 2010 sobre Windows 8, cuando me encontré con lo siguiente:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_290B4028.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_10A04E2D.png" width="491" height="189" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;---------------------------    &lt;br /&gt;Microsoft Visual Studio     &lt;br /&gt;---------------------------     &lt;br /&gt;ASP.NET 4.0 has not been registered on the Web server. You need to manually configure your Web server for ASP.NET 4.0 in order for your site to run correctly.     &lt;br /&gt;---------------------------     &lt;br /&gt;OK&amp;#160;&amp;#160; Help&amp;#160;&amp;#160; &lt;br /&gt;---------------------------&lt;/p&gt;  &lt;p&gt;Chan! de nuevo Windows 8 haciendo de las suyas, pero claro en realidad fui yo que probando unos scripts eliminé unas features de Windows. Así que desde la opción “Turn Windows features on or off”, simplemente elegimos las que son necesarias para ASP.Net 3.5 y ASP.Net 4.5 y listo!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_37930FC2.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_5914D002.png" width="429" height="465" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;si es que, estos días arreglo una cosa y rompo 2 !!!&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205193" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Windows+8/default.aspx">Windows 8</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/23/vs2010-error-con-asp-net-mvc-y-el-iis-en-windows-8.aspx</feedburner:origLink></item><item><title>[#KINECTSDK] Kinect SDK 1.5 and Developer Toolkit Released !!!</title><link>http://feedproxy.google.com/~r/elbruno/~3/ZxobGMMwzpk/kinectsdk-kinect-sdk-1-5-and-developer-toolkit-released.aspx</link><pubDate>Mon, 21 May 2012 17:53:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205153</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205153</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205153</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/21/kinectsdk-kinect-sdk-1-5-and-developer-toolkit-released.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img height="245" width="978" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" alt="image" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;pues una de las buenas noticias del d&amp;iacute;a:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;El SDK de Kinect 1.5 y el developer Toolkit han sido liberados.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En este caso la descarga se separa en estos dos componentes donde ya no es necesario instalar el SDK con todos los samples, sino que si somos developers, pues tendremos nuestro propio set de herramientas.&lt;/p&gt;
&lt;p&gt;Ahora que ya podemos comprar Kinect en varios pa&amp;iacute;ses (&lt;a target="_blank" href="http://elbruno.com/2012/04/12/kinect-howto-comprar-kinect-for-windows-en-espaa/"&gt;incluido Espa&amp;ntilde;a&lt;/a&gt;), nos encontramos con que a la lista se a&amp;ntilde;aden otros 15 pa&amp;iacute;ses. Pero en realidad lo que m&amp;aacute;s nos importa son las new features que se incluyen en esta versi&amp;oacute;n. Vamos con las m&amp;aacute;s importantes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kinect Studio. Una herramienta que te permite grabar y reproducir una secuencia de acciones frente al sensor. Fundamental para evitar tener que pararte y realizar una prueba unitaria humana cada vez que cambias algo en una aplicaci&amp;oacute;n. &lt;/li&gt;
&lt;li&gt;La Gu&amp;iacute;a de desarrollo de aplicaciones para aplicaciones con Kinect. Imprescindibles 70 p&amp;aacute;ginas con muchos detalles a tener en cuenta para desarrollos con Kinect. &lt;/li&gt;
&lt;li&gt;Face Tracking, capacidades de reconocimiento facial. Ojo, esto no es identificar rostros, sino identificar los puntos de un rostro. Con un poco de trabajo podremos reconocer sonrisas, sorpresas, sustos, etc. &lt;/li&gt;
&lt;li&gt;Detecci&amp;oacute;n de puntos de skeleton en personas sentadas. Esto es asombroso, la capacidad de detectar los joints superiores de un skeleton pero en personas sentadas, realmente abre otro abanico de posibilidades de aplicaciones. &lt;/li&gt;
&lt;li&gt;La c&amp;aacute;mara ahora soporta una resoluci&amp;oacute;n de 640 x 480 a 30FPS, con mejoras en ambientes con poca luz. &lt;/li&gt;
&lt;li&gt;Cool! Joint orientation !! no solo tenemos la posici&amp;oacute;n de un Joint, sino que adem&amp;aacute;s tenemos la capacidad de ver la &amp;ldquo;orientaci&amp;oacute;n&amp;rdquo; del mismo. &lt;/li&gt;
&lt;li&gt;Nuevos lenguajes para el reconocimiento de voz: Franc&amp;eacute;s, Espa&amp;ntilde;ol, Italiano y Japon&amp;eacute;s. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bueno ahora toca probar aquellas cosas a las que no ten&amp;iacute;amos acceso sin las betas del SDK y a postear detalles sobre el mismo &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_647E3863.png" alt="Risa" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-openmouthedsmile" /&gt;&lt;/p&gt;
&lt;p&gt;Fuente: &lt;a href="http://blogs.msdn.com/b/kinectforwindows/archive/2012/05/21/kinect-for-windows-runtime-and-sdk-version-1-5-released.aspx" title="http://blogs.msdn.com/b/kinectforwindows/archive/2012/05/21/kinect-for-windows-runtime-and-sdk-version-1-5-released.aspx"&gt;http://blogs.msdn.com/b/kinectforwindows/archive/2012/05/21/kinect-for-windows-runtime-and-sdk-version-1-5-released.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
&lt;table border="0" width="110" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://facebook.com/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://es.linkedin.com/in/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="https://twitter.com/elbruno"&gt;&lt;img height="40" width="40" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205153" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Kinect/default.aspx">Kinect</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/21/kinectsdk-kinect-sdk-1-5-and-developer-toolkit-released.aspx</feedburner:origLink></item><item><title>[#VS11] Puedo trabajar en un mismo proyecto con Visual Studio 2010 y Visual Studio 11?</title><link>http://feedproxy.google.com/~r/elbruno/~3/5Ri28G2VztU/vs11-puedo-trabajar-en-un-mismo-proyecto-con-visual-studio-2010-y-visual-studio-11.aspx</link><pubDate>Sun, 20 May 2012 18:13:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205137</guid><dc:creator>El Bruno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205137</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205137</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/20/vs11-puedo-trabajar-en-un-mismo-proyecto-con-visual-studio-2010-y-visual-studio-11.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;en primer lugar vamos con la respuesta a la pregunta:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;SI. Es posible trabajar en un mismo proyecto con Visual Studio 2010 y &lt;/em&gt;&lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;Visual Studio 11&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ahora un poco más de detalles basados en la experiencia de este último medio año. Con la llegada de &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt;, de nuevo vemos en el manual que hay “project compatibility” entre proyectos de Visual Studio 2010 y &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt;. A esta historia la conocemos de VS2005, VS2008 y VS2010; y sabemos que no es tan simple. &lt;/p&gt;  &lt;p&gt;Cuando se migraba un proyecto a VS2010 se actualizaba el archivo de proyecto (.csproj) y si trabajabas con informes de Crystal Reports, o proyectos de setup, pues por lo general tenías uno o más problemas para que puedan convivir fácilmente VS2005 y VS2010.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; toma un enfoque diferente y promete no cambiar los archivos de proyecto. Pero teniendo en cuenta varios cambios que tenemos en &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt;, más vale que veamos que escenarios soporta.&lt;/p&gt;  &lt;p&gt;Por ejemplo, he creado una solución con 17 proyectos representativos de lo que encontramos casi “out of the box” en Visual Studio 2010. Desde proyectos de ASP.Net MVC 2 hasta extensiones de Office. He incluido, solo a modo de ejemplo un proyecto para Windows Phone, aunque sé que &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; no lo abrirá.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_026CF4A2.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_7CDBA7B2.png" width="321" height="376" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ahora bien, cuando abrimos esta solución con &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt;, lo primero que vemos es que &lt;strong&gt;&lt;em&gt;el tipo de proyecto de Visual Studio Installer está deprecado&lt;/em&gt;&lt;/strong&gt;. Esto no es novedad, ya que &lt;a href="http://elbruno.com/2011/04/12/vs20-no-ms-proyectos-de-setup-a-partir-del-proximo-visual-studio/" target="_blank"&gt;lo sabíamos desde hace un tiempo&lt;/a&gt;, pero a tenerlo en cuenta.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_793F5BDF.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_30D1CA76.png" width="700" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Otro error, pero esta de vez de configuración:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_24F9A6F9.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_4EB9CF94.png" width="483" height="187" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hay que tocar un poco las tripas de &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; para que funcione con una versión anterior de SQL Express.&lt;/p&gt;  &lt;p&gt;Pero después de un segundo de migración ya tenemos listo el proyecto en &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_0093B536.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_088FB753.png" width="943" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ahora bien, si estabas trabajando con proyectos de ASP.Net MVC 2.0, no te quedará otra más que actualizarte a la ultima versión. &lt;strong&gt;&lt;em&gt;Los proyectos de ASP.Net MVC 2.0 no se soportar y te sugieren amablemente que los actualices a la versión ASP.Net MVC 3&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;h5&gt;&lt;strong&gt;AspNetMvc2WebApplication1_Net4\AspNetMvc2WebApplication1_Net4.csproj: &lt;/strong&gt;The project file &amp;#39;E:\srcElBruno\Tests\ProjectCompatibility\TestForVs11\AspNetMvc2WebApplication1_Net4\AspNetMvc2WebApplication1_Net4.csproj&amp;#39; cannot be opened. There is a missing project subtype. Subtype: &amp;#39;{F85E285D-A4E0-4152-9332-AB1D724D3325}&amp;#39; is unsupported by this installation. &lt;a href="http://go.microsoft.com/fwlink/?prd=12395&amp;amp;pver=11&amp;amp;sbp=ProjectTypeDeprecated&amp;amp;plcid=0x409&amp;amp;clcid=0x409&amp;amp;ar=MSDN&amp;amp;sar=ProjectCompatibility&amp;amp;o1={F85E285D-A4E0-4152-9332-AB1D724D3325"&gt;http://go.microsoft.com/fwlink/?prd=12395&amp;amp;pver=11&amp;amp;sbp=ProjectTypeDeprecated&amp;amp;plcid=0x409&amp;amp;clcid=0x409&amp;amp;ar=MSDN&amp;amp;sar=ProjectCompatibility&amp;amp;o1={F85E285D-A4E0-4152-9332-AB1D724D3325&lt;/a&gt;} &lt;/h5&gt;  &lt;p&gt;Obviamente, &lt;strong&gt;&lt;em&gt;los proyectos de Windows Phone no están soportados todavía en &lt;/em&gt;&lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;Visual Studio 11&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;PhoneApp1_Net4\PhoneApp1_Net4.csproj: &lt;/strong&gt;The project file &amp;#39;E:\srcElBruno\Tests\ProjectCompatibility\TestForVs11\PhoneApp1_Net4\PhoneApp1_Net4.csproj&amp;#39; cannot be opened. There is a missing project subtype. Subtype: &amp;#39;{C089C8C0-30E0-4E22-80C0-CE093F111A43}&amp;#39; is unsupported by this installation. &lt;a href="http://go.microsoft.com/fwlink/?prd=12395&amp;amp;pver=11&amp;amp;sbp=ProjectTypeDeprecated&amp;amp;plcid=0x409&amp;amp;clcid=0x409&amp;amp;ar=MSDN&amp;amp;sar=ProjectCompatibility&amp;amp;o1={C089C8C0-30E0-4E22-80C0-CE093F111A43"&gt;http://go.microsoft.com/fwlink/?prd=12395&amp;amp;pver=11&amp;amp;sbp=ProjectTypeDeprecated&amp;amp;plcid=0x409&amp;amp;clcid=0x409&amp;amp;ar=MSDN&amp;amp;sar=ProjectCompatibility&amp;amp;o1={C089C8C0-30E0-4E22-80C0-CE093F111A43&lt;/a&gt;} &lt;/p&gt;  &lt;p&gt;Ahora bien, el panel del Solution Explorer nos deja muy en claro, qué tipos de proyectos están soportados, cuales no se pudieron cargar y cuales son incompatibles. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_6EEC3E46.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_222CD76B.png" width="412" height="450" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Si intentamos compilar los proyectos, veremos que los mismos compilan correctamente. Pero ahora viene la prueba de fuego: &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;¿podrá Visual Studio 2010 abrir la nueva solución y compilar los proyectos modificados?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Y la respuesta es …. NO !!! Lo primero que vemos es el asistente para conversiones y curiosamente apunta al proyecto de ASP.Net MVC 2.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_465BB317.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_24BC37EE.png" width="668" height="516" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La pregunta en este momento, estimado lector, es ¿cómo demonios se modifica este archivo si el crack de &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; me ha dicho que no lo puede cargar?. Pues si, lo modifica y mucho al archivo csproj, y es por esto que en este punto Visual Studio 2010 entiende que tiene que actualizarlo.&lt;/p&gt;  &lt;p&gt;Así que si lo actualizas con VS2010, pues ya no hay más problemas, salvo que quieras trabajar en modo mixto en tu equipo con VS2010 y VS11.&lt;/p&gt;  &lt;p&gt;Así que los puntos finales a tener en cuenta son los siguientes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hasta el día de hoy &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; no se puede utilizar para desarrollar para Windows Phone. &lt;/li&gt;    &lt;li&gt;Con desarrollos para AZURE, &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; todavía no soporta un upgrade limpio desde VS2010, pero ese es motivo de un post completo &lt;/li&gt;    &lt;li&gt;No hay soporte para proyectos de Visual Studio Installer en VS11 &lt;/li&gt;    &lt;li&gt;Cuidado con los proyectos de ASP.Net MVC 2.0 si piensas trabajar con &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Lo bueno de todo este jardín, es que luego realmente el trabajo es “side by side” entre ambos Visual Studios sin complicaciones, algo que antes entre VS2005 y VS2010 por ejemplo no era tan fácil.&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;    &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205137" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/20/vs11-puedo-trabajar-en-un-mismo-proyecto-con-visual-studio-2010-y-visual-studio-11.aspx</feedburner:origLink></item><item><title>[#VS11] Excelente set de bibliotecas para desarrollos sobre WinRT (es decir para #Windows8)</title><link>http://feedproxy.google.com/~r/elbruno/~3/8rM4UnMNuPE/vs11-excelente-set-de-bibliotecas-para-desarrollos-sobre-winrt-es-decir-para-windows8.aspx</link><pubDate>Sat, 19 May 2012 17:55:37 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205131</guid><dc:creator>El Bruno</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205131</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205131</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/19/vs11-excelente-set-de-bibliotecas-para-desarrollos-sobre-winrt-es-decir-para-windows8.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;estas semanas nos hemos estado pegando con el desarrollo de una aplicación para Windows 8. Como yo andaba flojo de estado físico; me he entrenado como &lt;a href="http://www.youtube.com/watch?v=b6w4XtsfyVo" target="_blank"&gt;Rocky en Siberia&lt;/a&gt; con 30 minutos de CodeKatas por día, los videos del Build (que a decir verdad no me han servido mucho) y otras técnicas de mi entrenados personal que no me permite difundir.&lt;/p&gt;  &lt;p&gt;Pero como la base de todos los desarrollos sigue siendo&lt;/p&gt;  &lt;p&gt;- 20% código&lt;/p&gt;  &lt;p&gt;- 80% comprender la plataforma sobre la que trabajas&lt;/p&gt;  &lt;p&gt;me he encontrado con este excelente recurso que me ha dado horas y horas de lectura de código:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://winrtxamltoolkit.codeplex.com/" target="_blank"&gt;WinRT XAML Toolkit&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Mi proceso de aprendizaje era similar al siguiente:&lt;/p&gt;  &lt;p&gt;1, elegir una problemática a solucionar (para la app que creamos hay bastantes en el backlog)&lt;/p&gt;  &lt;p&gt;2. ver la forma de solucionarlo sobre WinRT&lt;/p&gt;  &lt;p&gt;3. investigar como funcionan los componentes de WinRT que están por debajo para la solución que hemos implementado&lt;/p&gt;  &lt;p&gt;4. un poco de TDD&lt;/p&gt;  &lt;p&gt;5. volver al paso 1&lt;/p&gt;  &lt;p&gt;6. refactorizar el código y el proceso de trabajo&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Es por eso que este conjunto de clases, controles, etc. me ha venido muy bien, ya que cumplen con reglas básicas como clases con nombres coherentes, código limpio (bueno casi todo, etc.), en algunas partes se utiliza var (lo siento &lt;a href="http://twitpic.com/@J0rgeSerran0" target="_blank"&gt;@J0rgeSerran0&lt;/a&gt; &lt;a href="http://twitpic.com/@_PedroHurtado" target="_blank"&gt;@_PedroHurtado&lt;/a&gt; &lt;a href="http://twitpic.com/@eiximenis" target="_blank"&gt;@eiximenis&lt;/a&gt;, menuda &lt;a href="http://geeks.ms/blogs/phurtado/archive/2012/05/17/var-ii-los-hermanos-de-simba.aspx" target="_blank"&gt;han montado&lt;/a&gt; ehh??), etc.&lt;/p&gt;  &lt;p&gt;Si estas por empezar con Windows 8 y METRO, pues te recomiendo que revises algunas de las implementaciones que han hecho, ya que realmente están muy bien.&lt;/p&gt;  &lt;p&gt;Proyecto: &lt;a href="http://winrtxamltoolkit.codeplex.com/"&gt;http://winrtxamltoolkit.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Source: &lt;a title="http://winrtxamltoolkit.codeplex.com/SourceControl/changeset/changes/13755" href="http://winrtxamltoolkit.codeplex.com/SourceControl/changeset/changes/13755"&gt;http://winrtxamltoolkit.codeplex.com/SourceControl/changeset/changes/13755&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205131" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/CodePlex/default.aspx">CodePlex</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Windows+8/default.aspx">Windows 8</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/19/vs11-excelente-set-de-bibliotecas-para-desarrollos-sobre-winrt-es-decir-para-windows8.aspx</feedburner:origLink></item><item><title>[#VS11] HowTo: Incluir y des serializar un archivo XML en una aplicación #METRO</title><link>http://feedproxy.google.com/~r/elbruno/~3/Xrk-5729sVs/vs11-howto-incluir-y-des-serializar-un-archivo-xml-en-una-aplicaci-243-n-metro.aspx</link><pubDate>Thu, 17 May 2012 17:31:52 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205088</guid><dc:creator>El Bruno</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205088</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205088</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/17/vs11-howto-incluir-y-des-serializar-un-archivo-xml-en-una-aplicaci-243-n-metro.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;hoy toca poner un ejemplo de código bastante simple, pero que puede traerte un par de dolores de cabeza si no sabes por donde empezar. La idea es simple: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Incluir un archivo XML en una aplicación METRO y des serializar el mismo para trabajar en una aplicación.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Esto que parece tan simple, se complica un poco en METRO ya que los tan namespaces tan populares como System.IO y otros con los que estamos acostumbrados a trabajar ya no están disponibles. &lt;/p&gt;  &lt;p&gt;Si a eso le sumamos, que la mayoría de las acciones son en modo asíncrono, pues la programación cambia bastante. Pero claro, &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; llega a nuestro rescate con las nuevas sentencias ASYNC y AWAIT que realmente nos ayudan a programar en modo asíncrono.&lt;/p&gt;  &lt;p&gt;Vamos por partes, en el proyecto de ejemplo tenemos una clase sample data con 2 propiedades definidas como el siguiente ejemplo:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;     &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; Application1&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; SampleData&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Id { get; set; }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Luego incluimos un archivo XML dentro de una carpeta XML, con la siguiente información dentro del mismo&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#800000;"&gt;xml&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt;?&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ArrayOfSampleData&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:xsd&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SampleData&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;El&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Bruno&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;SampleData&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ArrayOfSampleData&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Así a simple vista, podemos ver que este XML es una serialización de un Array de elementos de tipo &lt;strong&gt;&lt;em&gt;SampleData&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Luego queda la parte interesante, que es leer de este archivo. El siguiente código muestra un ejemplo donde la función &lt;strong&gt;&lt;em&gt;LoadSampleData()&lt;/em&gt;&lt;/strong&gt; retorna una colección de elementos del tipo SampleData leyendo un archivo llamado “&lt;strong&gt;&lt;em&gt;data.xml&lt;/em&gt;&lt;/strong&gt;” de un directorio de la aplicación llamado “&lt;strong&gt;&lt;em&gt;XML&lt;/em&gt;&lt;/strong&gt;“.&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; async &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; BtnGetClick(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     var collection = LoadSampleData();&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     await collection;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     var item = collection.Result[0];&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;     txtId.Text = item.Id;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;     txtName.Text = item.Name;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; async Task&amp;lt;ObservableCollection&amp;lt;SampleData&amp;gt;&amp;gt; LoadSampleData()&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;     var storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(&lt;span style="color:#006080;"&gt;&amp;quot;XML&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;     var sampleDataItems = await LoadFromXmlFile&amp;lt;ObservableCollection&amp;lt;SampleData&amp;gt;&amp;gt;(&lt;span style="color:#006080;"&gt;&amp;quot;data.xml&amp;quot;&lt;/span&gt;, storageFolder);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; sampleDataItems;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Un par de detalles a tener en cuenta es que la función &lt;strong&gt;&lt;em&gt;LoadSampleData()&lt;/em&gt;&lt;/strong&gt; está definida con un prefijo &lt;strong&gt;&lt;em&gt;async&lt;/em&gt;&lt;/strong&gt;, que denota que la misma se puede ejecutar de modo asíncrono. Esto es posible ya que la lectura del directorio de trabajo (línea 12) se realiza en modo asíncrono.&lt;/p&gt;

&lt;p&gt;En este punto merecen un especial detalle las sentencias donde para la ejecución de la función asíncrona se utiliza &lt;strong&gt;&lt;em&gt;await&lt;/em&gt;&lt;/strong&gt;. La forma más simple de definir a &lt;strong&gt;&lt;em&gt;await&lt;/em&gt;&lt;/strong&gt; es pensar en que con esta sentencia podremos llamar a funciones asíncronas y cuando se terminen las mismas, &lt;strong&gt;&lt;em&gt;await&lt;/em&gt;&lt;/strong&gt; retornará al flujo de trabajo indicado.&lt;/p&gt;

&lt;p&gt;Ahora vamos a la parte interesante que es la desserialización del archivo XML. Para esto utilizamos la función LoadFromXmlFile que internamente, una vez que ha leido el contenido del archivo, des serializa el mismo en memoria (líneas 3 a 6). El siguiente código muestra un ejemplo de este funcionamiento:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; async Task&amp;lt;T&amp;gt; LoadFromXmlFile&amp;lt;T&amp;gt;(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; fileName, StorageFolder folder = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     var xmlString = await ReadFromFile(fileName, folder);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     var ms = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; MemoryStream(UTF8Encoding.UTF8.GetBytes(xmlString));&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     var ser = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(T));&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;     T result = (T)ser.Deserialize(ms);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; result;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; async Task&amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;&amp;gt; ReadFromFile(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; fileName, StorageFolder folder = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;     folder = folder ?? ApplicationData.Current.LocalFolder;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;     var file = await folder.GetFileAsync(fileName);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var accessStream = await file.OpenAsync(FileAccessMode.Read))&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var inStream = accessStream.GetInputStreamAt(0))&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum18" style="color:#606060;"&gt;  18:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var reader = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; DataReader(inStream))&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum19" style="color:#606060;"&gt;  19:&lt;/span&gt;             {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum20" style="color:#606060;"&gt;  20:&lt;/span&gt;                 await reader.LoadAsync((&lt;span style="color:#0000ff;"&gt;uint&lt;/span&gt;)accessStream.Size);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum21" style="color:#606060;"&gt;  21:&lt;/span&gt;                 var data = reader.ReadString((&lt;span style="color:#0000ff;"&gt;uint&lt;/span&gt;)accessStream.Size);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum22" style="color:#606060;"&gt;  22:&lt;/span&gt;                 reader.DetachStream();&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum23" style="color:#606060;"&gt;  23:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; data;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum24" style="color:#606060;"&gt;  24:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum25" style="color:#606060;"&gt;  25:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum26" style="color:#606060;"&gt;  26:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum27" style="color:#606060;"&gt;  27:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="codeSnippetWrapper"&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Voy a intentar separar el código del pedazo de POC que estoy construyendo y después de un poco de refactoring subiré un ejemplo más completo.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Saludos @ Home&lt;/p&gt;

&lt;p&gt;El Bruno&lt;/p&gt;

&lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;

      &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;

      &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205088" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Metro/default.aspx">Metro</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/17/vs11-howto-incluir-y-des-serializar-un-archivo-xml-en-una-aplicaci-243-n-metro.aspx</feedburner:origLink></item><item><title>[#WP] HowTo: Install Microsoft.Xna.Framework reference for Windows Phone development in #Windows8</title><link>http://feedproxy.google.com/~r/elbruno/~3/h_Ia45Izmhw/wp-howto-install-microsoft-xna-framework-reference-for-windows-phone-development-in-windows8.aspx</link><pubDate>Mon, 14 May 2012 18:27:06 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205024</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205024</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205024</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/14/wp-howto-install-microsoft-xna-framework-reference-for-windows-phone-development-in-windows8.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;a href="http://brunocapuano.files.wordpress.com/2012/04/image.png"&gt;&lt;img title="image" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/04/image_thumb.png?w=583&amp;amp;h=189" width="583" height="189" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;no soy un desarrollador de aplicaciones de Windows Phone, para eso están los cracks (&lt;a href="http://twitter.com/RafaSermed" target="_blank"&gt;@RafaSermed&lt;/a&gt; o &lt;a href="http://twitter.com/JosueYeray" target="_blank"&gt;@JosueYeray&lt;/a&gt; por ejemplo), pero desde que tengo Windows 8 instalado como plataforma principal de trabajo, pues echaba en cara poder terminar de dar unos toques a una aplicación de WP.&lt;/p&gt;  &lt;p&gt;Ahora que tenemos el &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=29233" target="_blank"&gt;Windows Phone SDK 7.1.1 Update&lt;/a&gt; que ya nos permite instalar las herramientas de desarrollo de WP sobre Windows 8, pues pensé que tenía todo solucionado. Pero … zas! la primera en la cara, al momento de querer compilar el proyecto, pues me doy cuenta de que ando falto de XNA.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_7E88B707.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_21DACD0F.png" width="405" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Así que ignorante de mí, pienso que instalando &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=23714" target="_blank"&gt;Microsoft XNA Game Studio 4.0&lt;/a&gt; solucionaría mis problemas, pero claro &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;intentar instalar XNA en Windows 8 es igual de fácil que rascarse la espalda con la rodilla&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Así que toca leer un poco los logs de instalación, y después de un rato me doy cuenta de que el problema de fondo parece que está relacionado con un producto que no conocía hasta el día de hoy: &lt;a href="http://www.xbox.com/en-US/LIVE/PC/DownloadClient" target="_blank"&gt;Game for Windows Client&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Y claro, el problema es el siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;El instalador de Windows Phone intenta instalar una versión de XNA, aunque no puede &lt;/li&gt;    &lt;li&gt;En realidad no puede, porque el instalador de XNA intenta instalar una versión de &lt;a href="http://www.xbox.com/en-US/LIVE/PC/DownloadClient" target="_blank"&gt;Game for Windows Client&lt;/a&gt; y Windows 8 dice NOT IN MY WATCH !!! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Así que de a poco y con cariño, los pasos para lograr que todo funcione son los siguientes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Desinstalar todo, desde XNA si lo intentaste hasta el update de Windows Phone 7. &lt;/li&gt;    &lt;li&gt;Descargar e instalar la última versión de &lt;a href="http://www.xbox.com/en-US/LIVE/PC/DownloadClient" target="_blank"&gt;Game for Windows Client&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Ahora sí, instalar &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=29233" target="_blank"&gt;Windows Phone SDK 7.1.1 Update&lt;/a&gt; y si lo necesitamos, pues también &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=23714" target="_blank"&gt;Microsoft XNA Game Studio 4.0&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Eso sí, la tarde interesante de Logs que me he dado hoy no me la quita nadie &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_32E41C54.png" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Descargas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=29233" target="_blank"&gt;Windows Phone SDK 7.1.1 Update&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=23714" target="_blank"&gt;Microsoft XNA Game Studio 4.0&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.xbox.com/en-US/LIVE/PC/DownloadClient" target="_blank"&gt;Game for Windows Client&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205024" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Windows+Phone/default.aspx">Windows Phone</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Windows+8/default.aspx">Windows 8</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/14/wp-howto-install-microsoft-xna-framework-reference-for-windows-phone-development-in-windows8.aspx</feedburner:origLink></item><item><title>[#VS11] Actualizado el plugin para NUnit (yahooooo !!!)</title><link>http://feedproxy.google.com/~r/elbruno/~3/UhDtxQAAtlM/vs11-actualizado-el-plugin-para-nunit-yahooooo.aspx</link><pubDate>Sun, 13 May 2012 18:59:11 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205000</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=205000</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=205000</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/13/vs11-actualizado-el-plugin-para-nunit-yahooooo.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;hoy me encontraba mirando/actualizando un poco de código viejuno donde utilizaba &lt;a href="http://nunit.org" target="_blank"&gt;NUnit&lt;/a&gt; como framework para mis pruebas unitarias y claro, como ahora estamos utilizando 100% &lt;a href="http://msdn.microsoft.com/es-es/vstudio/aa718325" target="_blank"&gt;Visual Studio 11&lt;/a&gt; para el desarrollo, pues me decidí a utilizar el plugin para &lt;a href="http://nunit.org" target="_blank"&gt;NUnit&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Lo bueno de VS11 es que permite utilizar diferentes plugins para pruebas unitarias (algo de lo que ya hablé &lt;a href="http://elbruno.com/2012/04/16/vs11-nuevos-adaptadores-de-unit-testing-en-visual-studio-11-nunit-xunit-y-otros-superheroes-mas/" target="_blank"&gt;aquí&lt;/a&gt;), pero fue mejor mi sorpresa cuando me encontré con una nueva versión del adaptador para &lt;a href="http://nunit.org" target="_blank"&gt;NUnit&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Como en la página del &lt;a href="http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d" target="_blank"&gt;PlugIn&lt;/a&gt; de &lt;a href="http://visualstudiogallery.msdn.microsoft.com/" target="_blank"&gt;Visual Studio Gallery&lt;/a&gt; no hay mucha información al respecto, pues me apunto los siguientes enlaces para ver las novedades, porque entre otras cosas ver que no hay ningún Bug activo me alegra como developer &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_227C1CE2.png" /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://launchpad.net/nunit-vs-adapter"&gt;NUnit Test Adapter Project Page&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://bugs.launchpad.net/nunit-vs-adapter"&gt;Bug Tracker&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nunit.org/index.php?p=vsTestAdapter&amp;amp;r=2.6"&gt;Documentation&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Saludos&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Descarga      &lt;br /&gt;&lt;a title="http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d" href="http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d"&gt;http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;More Information      &lt;br /&gt;&lt;a title="http://nunit.org/index.php?p=vsTestAdapter&amp;amp;r=2.6" href="http://nunit.org/index.php?p=vsTestAdapter&amp;amp;r=2.6"&gt;http://nunit.org/index.php?p=vsTestAdapter&amp;amp;r=2.6&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205000" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/VisualStudioGallery/default.aspx">VisualStudioGallery</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/13/vs11-actualizado-el-plugin-para-nunit-yahooooo.aspx</feedburner:origLink></item><item><title>[#VS11] Porque Windows 8 y el speech recognition se llevan de los pelos si desarrollas aplicaciones Metro</title><link>http://feedproxy.google.com/~r/elbruno/~3/bx94kWfs5WE/vs11-porque-windows-8-y-el-speech-recognition-se-llevan-de-los-pelos-si-desarrollas-aplicaciones-metro.aspx</link><pubDate>Fri, 11 May 2012 16:47:41 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204979</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204979</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204979</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/11/vs11-porque-windows-8-y-el-speech-recognition-se-llevan-de-los-pelos-si-desarrollas-aplicaciones-metro.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;hoy toca compartir una experiencia de las que te pasan los viernes. Casi al final del desarrollo de una aplicación METRO (a que mola no?), y haciendo un par de pruebas en entornos no portátiles, tablets, touch, en el momento de probar algunas configuraciones en el emulador me encuentro con el siguiente error:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_14EA3A4F.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_74FD5A03.png" width="941" height="583" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Nota:&lt;/strong&gt; si te estás preguntando porqué tuve que utilizar el emulador de Windows 8, te animo a que intentes mover de landscape a portrait un HP Touch de 5 kilos.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Pues bien, el emulador no se puede lanzar si tienes activado el Microsoft Speech y en caso de que necesites ambos, te puedes llevar un buen disgusto.&lt;/p&gt;  &lt;p&gt;Pero claro, es viernes mejor rebuscar entre frases alentadoras de viernes y salir adelante con un &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Los problemas nunca se acaban, pero las soluciones tampoco.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;La solución más objetiva consiste en convertirse al creacionismo e intentar crear una extensión para el emulador que soporte dispositivo de audio. La opción más realista, es probar la aplicación en el emulador sin las features de audio y acordarse de la madre de Sinofsky (o como se escriba el nombre del jefazo de W8).&lt;/p&gt;  &lt;p&gt;Eso sí, con cualquiera de las 2 opciones ya podremos tener la aplicación en funcionamiento con &lt;strike&gt;todas&lt;/strike&gt; las features que necesitamos.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_1838A58E.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_5D761E19.png" width="285" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204979" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Windows+8/default.aspx">Windows 8</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/11/vs11-porque-windows-8-y-el-speech-recognition-se-llevan-de-los-pelos-si-desarrollas-aplicaciones-metro.aspx</feedburner:origLink></item><item><title>[#RESHARPER] Ha caducado ReSharper 7 EAP para Visual Studio 11? No problem</title><link>http://feedproxy.google.com/~r/elbruno/~3/ZbozG6KiP5A/resharper-ha-caducado-resharper-7-eap-para-visual-studio-11-no-problem.aspx</link><pubDate>Wed, 09 May 2012 20:54:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204950</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204950</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204950</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/09/resharper-ha-caducado-resharper-7-eap-para-visual-studio-11-no-problem.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;si se te ha vencido el trial del EAP de &lt;a href="http://elbruno.com/2012/03/04/vs11-resharper-7-eap-para-visual-studio-11-beta/" target="_blank"&gt;ReSharper 7 para Visual Studio 11&lt;/a&gt; y cuando abres Visual Studio te encuentras con&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_53E2BEA2.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_765EFF70.png" width="552" height="223" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Verás que el &lt;a href="http://elbruno.com/2011/09/09/alm-pintando-muros-cambiando-paales-de-y-la-deuda-tcnica/" target="_blank"&gt;link&lt;/a&gt; que propone para actualizar a una nueva versión no funciona. Así que lo mejor es desinstalar &lt;a href="http://www.jetbrains.com/resharper/" target="_blank"&gt;Resharper&lt;/a&gt; 7 a mano desde “add and remove programs”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_3DD900B8.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_58A7B775.png" width="405" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y una vez desinstalado, vamos nuevamente al listado de compilaciones nocturnas de &lt;a href="http://www.jetbrains.com/resharper/" target="_blank"&gt;ReSharper&lt;/a&gt; 7 que se puede acceder desde &lt;a title="http://confluence.jetbrains.net/display/ReSharper/ReSharper+7+EAP+for+VS11+Beta" href="http://confluence.jetbrains.net/display/ReSharper/ReSharper+7+EAP+for+VS11+Beta"&gt;http://confluence.jetbrains.net/display/ReSharper/ReSharper+7+EAP+for+VS11+Beta&lt;/a&gt;, descargamos la versión que nos ponga más felices y listo a instalar nuevamente &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_7139E576.png" /&gt;&lt;/p&gt;  &lt;p&gt;En 10 minutos ya tenemos la ayuda de &lt;a href="http://www.jetbrains.com/resharper/" target="_blank"&gt;ReSharper&lt;/a&gt; embebida dentro del IDE.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204950" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/ReSharper/default.aspx">ReSharper</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/JetBrains/default.aspx">JetBrains</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/09/resharper-ha-caducado-resharper-7-eap-para-visual-studio-11-no-problem.aspx</feedburner:origLink></item><item><title>[#VS11] Vuelven algunos colores a Visual Studio 11</title><link>http://feedproxy.google.com/~r/elbruno/~3/jgNxlwUaN70/vs11-vuelven-algunos-colores-a-visual-studio-11.aspx</link><pubDate>Tue, 08 May 2012 20:10:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204935</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204935</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204935</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/08/vs11-vuelven-algunos-colores-a-visual-studio-11.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;y es que lo de VS11 Beta era un poco intolerable. Un poco más soso y era como masticar cartón mojado. Ahora parece que para el próximo RC tendremos un carnaval de colores que nos ayudará a pensar seriamente si tanto trabajar con azules remarcados no nos quemará la vista.&lt;/p&gt;  &lt;p&gt;En el post del equipo de producto de Visual Studio están todos los ejemplos, pero algunos no me terminan de gustar.&lt;/p&gt;  &lt;p&gt;Por ejemplo, el definir un color de fondo más claro que el gris actual y marcar los elementos seleccionados en Azul, es muy Metro, pero no sé si para un IDE esa idea es correcta.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_2FA94712.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_0A8DCBB0.png" width="628" height="156" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_55CFB48B.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_57A29B03.png" width="628" height="156" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ni hablar si encima comenzamos a utilizar colores como indicadores de estado o de progreso. La película Rio será una peli en blanco y negro al lado del nuevo Visual Studio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_5F502514.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_31F3B0A6.png" width="628" height="156" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Eso sí, hay algunas cosas interesantes como los nuevos colores del Solution Explorer o una barra de herramientas más amigable&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_79040FA9.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_6A657592.png" width="628" height="421" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_27902184.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_6E344D92.png" width="628" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Aunque, después de un par de meses me terminé acostumbrando al nuevo IDE y entiendo que con este haré lo mismo. &lt;/p&gt;  &lt;p&gt;Eso sí, en mi próxima vida quiero ser experto en experiencia de usuario &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_42AABF9C.png" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Fuente: &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visual-studio-11-user-interface-updates-coming-in-rc.aspx"&gt;http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visual-studio-11-user-interface-updates-coming-in-rc.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204935" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/08/vs11-vuelven-algunos-colores-a-visual-studio-11.aspx</feedburner:origLink></item><item><title>[#VS11] Test Scribe ahora con soporte para Microsoft Test Manager 11</title><link>http://feedproxy.google.com/~r/elbruno/~3/ElKpt3F6ucw/vs11-test-scribe-ahora-con-soporte-para-microsoft-test-manager-11.aspx</link><pubDate>Mon, 07 May 2012 21:19:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204917</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204917</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204917</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/07/vs11-test-scribe-ahora-con-soporte-para-microsoft-test-manager-11.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img height="164" width="464" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;me lo apunto para no olvidarme:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://visualstudiogallery.msdn.microsoft.com/85b8215f-263f-4d1f-822b-307de339af38"&gt;Test Scribe&lt;/a&gt;. esa extensi&amp;oacute;n que te permite generar documentaci&amp;oacute;n a partir de informaci&amp;oacute;n de Microsoft Test Manager, ahora soporta trabajar con &lt;a target="_blank" href="http://msdn.microsoft.com/es-es/vstudio/aa718325"&gt;Visual Studio 11&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_054A5448.png"&gt;&lt;img height="493" width="628" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_54083D5C.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Por cierto y por si no lo sab&amp;iacute;as, la herramienta es creada y soportada por el equipo de QA de Visual Studio &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_420B5DF5.png" alt="Risa" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-openmouthedsmile" /&gt;&lt;/p&gt;
&lt;p&gt;Descarga: &lt;a href="http://visualstudiogallery.msdn.microsoft.com/85b8215f-263f-4d1f-822b-307de339af38" title="http://visualstudiogallery.msdn.microsoft.com/85b8215f-263f-4d1f-822b-307de339af38"&gt;http://visualstudiogallery.msdn.microsoft.com/85b8215f-263f-4d1f-822b-307de339af38&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
&lt;table border="0" width="110" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://facebook.com/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://es.linkedin.com/in/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="https://twitter.com/elbruno"&gt;&lt;img height="40" width="40" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204917" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/VisualStudioGallery/default.aspx">VisualStudioGallery</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Microsoft+Test+Manager+11/default.aspx">Microsoft Test Manager 11</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/07/vs11-test-scribe-ahora-con-soporte-para-microsoft-test-manager-11.aspx</feedburner:origLink></item><item><title>[#OPINION] De Programador a Manager, lo que me ha pasado a mi.</title><link>http://feedproxy.google.com/~r/elbruno/~3/Y55Uuhl1Rlw/opinion-de-programador-a-manager-lo-que-me-ha-pasado-a-mi.aspx</link><pubDate>Sun, 06 May 2012 15:24:40 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204880</guid><dc:creator>El Bruno</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204880</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204880</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/06/opinion-de-programador-a-manager-lo-que-me-ha-pasado-a-mi.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/alm-03.png" target="_blank"&gt;&lt;img title="ALM 03" style="margin:0px 0px 3px;display:inline;" alt="ALM 03" src="http://brunocapuano.files.wordpress.com/2012/03/alm-03_thumb.png" width="735" height="243" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;hoy le pego un empujón y termino el post que entre tanto AVE, viaje y showrooms de Innovación, no tengo mucho tiempo.&lt;/p&gt;  &lt;p&gt;Hace un par de días &lt;a href="http://1poquitodtodo.blogspot.com/" target="_blank"&gt;Juan Quijano&lt;/a&gt; (&lt;a href="https://twitter.com/#!/jc_quijano" target="_blank"&gt;@jc_quijano&lt;/a&gt;) y Álvaro Roca publicaron una serie de artículos donde comentaban los pros y &lt;a href="http://www.genbetadev.com/desarrolladores/de-programador-a-manager-el-camino-profesional-de-un-desarrollador-en-contra" target="_blank"&gt;contras&lt;/a&gt; de seguir el camino “de Programador a Manager”.&lt;/p&gt;  &lt;p&gt;Yo os voy a comentar mi opinión personal, donde hoy no soy un Programador al 100% pero tampoco soy una persona que se dedica al Management en la forma que lo conocemos. Lo primero que me ha llamado la atención en los comentarios de ambos posts es &lt;strong&gt;&lt;em&gt;LA COMPLETA REPUGNANCIA&lt;/em&gt;&lt;/strong&gt; que demuestra más de un programador por cambiar a una posición de Management, y claro, estoy un 99,9999% seguro que esto es porque han tenido malas experiencias con jefes de equipo (desde ahora no más managers) que no saben hacer su trabajo.&lt;/p&gt;  &lt;p&gt;En mi caso en particular, me he pasado años programando. No soy de esos que comentan que a los 4 años ya programaban en una Commodore 64 y desde allí tiran líneas, sino que descubrí a la informática más de grande y me apasionó desde el primer día. Me pasé años aprendiendo a programar y creo que lo que más me llamó la atención es que en este mundillo, siempre tenemos que estar aprendiendo constantemente.&lt;/p&gt;  &lt;p&gt;Cuando estaba en mi primer trabajo tuve la suerte de participar en la creación de un producto que comenzó a comercializarse a nivel internacional y claro, lo que comenzó siendo un equipo de 3 personas, comenzó a crecer hasta que no me alcanzaban los dedos de una mano para contar el equipo. En ese punto, lo que había sido años de autoformación sobre nuevas tecnologías, programación, etc.; tuvo que convertirse en comenzar a aprender sobre elementos para garantizar que el trabajo que hacíamos todos como equipo era coherente, que todos entendíamos hacia donde queríamos llegar, etc.&lt;/p&gt;  &lt;p&gt;En esa misma época llegué a España y como coincidía con el lanzamiento de Visual Studio 2005, pues empecé a leer libros que iban más allá de las técnicas de programación. Conocí AGILE, descubrí el negocio detrás de CMMI, pero principalmente comprendí que salvo proyectos concretos, en mi carrera profesional iba a tener que trabajar mucho en equipo. Es por este motivo que comencé a intentar mejorar la calidad de los entregables de mi equipo, intenté que todo el mundo sea mejor que yo (Germán me enseñó que la calidad de un equipo se mide por el peor de sus integrantes), etc.&lt;/p&gt;  &lt;p&gt;Por el camino, me cayeron un par de premios MVPs, donde en los últimos años han sido de la categoría MVP ALM. Básicamente es reconocer y aprender como utilizar correctamente las herramientas de Visual Studio ALM para trabajar en equipo.&lt;/p&gt;  &lt;p&gt;Así que bien, no soy un “manager de esos” que comentan en los posts de &lt;a href="http://1poquitodtodo.blogspot.com/" target="_blank"&gt;Juan Quijano&lt;/a&gt; y Álvaro Roca, pero si me considero una de las personas que intenta llevar adelante un equipo hasta obtener un cliente satisfecho y un equipo productivo. ¿Parece una incoherencia , no?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Por cierto, hace 2 días me encontré frente a un problema lógico que me costó casi una noche de construir. Como me di cuenta de que estoy “medio oxidado” me he puesto como objetivo hacer 30 minutos de Code Kata diariamente durante el mes de mayo. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;¿A cuántos jefes de proyecto / gestores / managers conoces que hagan este tipo de cosas?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Referencias:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.genbetadev.com/trabajar-como-desarrollador/de-programador-a-manager-el-camino-profesional-de-un-desarrollador" target="_blank"&gt;De programador a manager&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.genbetadev.com/desarrolladores/de-programador-a-manager-el-camino-profesional-de-un-desarrollador-en-contra" target="_blank"&gt;De programador a manager, en contra&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204880" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/ALM/default.aspx">ALM</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Opinion/default.aspx">Opinion</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/06/opinion-de-programador-a-manager-lo-que-me-ha-pasado-a-mi.aspx</feedburner:origLink></item><item><title>[#KINECT] Y los ratones enfadados … ;)</title><link>http://feedproxy.google.com/~r/elbruno/~3/13PpvMaM0eA/kinect-y-los-ratones-enfadados.aspx</link><pubDate>Tue, 01 May 2012 16:57:24 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204803</guid><dc:creator>El Bruno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204803</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204803</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/05/01/kinect-y-los-ratones-enfadados.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_67EA2A9A.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_29F78A48.png" width="324" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas.&lt;/p&gt;  &lt;p&gt;Si yo fuese un ratón o mouse estaría bastante cabreado / enfadado / enojado o como se diga en tu tierra. Resulta que ahora llega un dispositivo de más o menos €100 llamado Microsoft Kinect que apunta a reemplazarme y destronarme en el mundo de los ordenadores. Pero claro, el cabreo / enfado / enojo ya comienza hace un tiempo, cuando unos tíos de una empresa con una manzanita, reinventan un teléfono móvil un poco grande, le ponen de nombre iPad y todo el mundo se acostumbra a &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;Tocar y arrastrar en lugar de mover y clicar&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Pues por eso, si fuese un ratón estaría muy cabreado. Pero como dice el gran Groucho Marx&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;Es mejor permanecer callado y parecer tonto que hablar y despejar las dudas definitivamente.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Es por eso que el ratón sigue calladito acompañado a más de uno y creo que tardará bastante tiempo para que nos abandone definitivamente. &lt;/p&gt;  &lt;p&gt;Especialmente cuando hay muchas personas que, al momento de crear una nueva interfaz de usuario, lo que intentan es reemplazar el ratón, por ejemplo con gestos y acciones de Kinect. Estos proyectos están orientados y destinados al fracaso en un 99,99% de los casos.&lt;/p&gt;  &lt;p&gt;La clave de estos casos está en la palabra “&lt;strong&gt;&lt;em&gt;crear&lt;/em&gt;&lt;/strong&gt;”. Lo que debemos hacer es dejar en paz al ratón, agradecerle los servicios prestados y comenzar a pensar cuáles son las formas más efectivas de trabajo con los nuevos sensores que poseemos.&lt;/p&gt;  &lt;p&gt;Ahora la interacción entre dispositivos cada vez más móviles, superficies táctiles, detectores de gestos como Kinect, pico proyectores, etc.; hace que podamos pensar en nuevos escenarios para aplicaciones que realmente pueden ser grandiosos o desastrosos.&lt;/p&gt;  &lt;p&gt;Alguno se preguntará, ¿le ha afectado el poco sueño al Bruno o qué le pasa que escribe esto?, es muy simple. Como algunos se han dado cuenta que me gusta jugar con Kinect y con este tipo de dispositivos, muchas veces me llegan preguntas del tipo&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;¿Cómo puedo hacer para reemplazar el ratón con Kinect? &lt;/li&gt;    &lt;li&gt;No se cómo hacer un doble clic con Kinect, cuando intento reemplazar al ratón. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Y si bien es cierto que intento responder todo lo que me preguntan, para esas preguntas la respuesta será este post. Donde no respondo nada en concreto pero … bueno ya sabes.&lt;/p&gt;  &lt;p&gt;Yo por suerte, no solo tengo la oportunidad de “jugar” con estos dispositivos sino que además son parte de mi trabajo en Avanade, con lo que puedo ver las buenas y malas experiencias en el mundo de las &lt;a href="http://en.wikipedia.org/wiki/Natural_user_interface" target="_blank"&gt;NUI&lt;/a&gt; (término molón para describir formas naturales de trabajo frente a dispositivos electrónicos). Muchas personas no se dan cuenta que Kinect, por ejemplo, necesita un espacio considerable para ser efectivo, o que en un dispositivo táctil pues la sensibilidad del touch no es la misma que un ratón.&lt;/p&gt;  &lt;p&gt;Finalmente, un dato a tener en cuenta:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;Durante el año 2008 la cantidad de dispositivos conectados a internet superó a la cantidad de personas en la tierra. Para el año 2020 se espera que haya más de 50 billones de dispositivos conectados a internet. (&lt;/em&gt;&lt;/strong&gt;&lt;a href="http://gigaom.com/2011/07/17/the-internet-of-things-infographic/" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;Fuente&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Esto qué significa?, que además de tener un &lt;a href="http://elbruno.com/2012/04/03/avesome-microsoft-mustang/" target="_blank"&gt;Mustang 100% conectado a internet&lt;/a&gt;, ahora tendremos que interactuar con muchos tipos de dispositivos nuevos y claro, nuestro amigo el mouse no estará allí para ayudarnos y tampoco es cuestión de que emulemos el funcionamiento del mouse en todas partes.&lt;/p&gt;  &lt;p&gt;Así que, yo no guardaré mi mouse ya mismo, pero ya comenzaré a ver de que forma puedo trabajar en diferentes espacios sin un mouse … luego veré que dispositivo me brinda la mejor ayuda en ese escenario &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_7806DA29.png" /&gt;&lt;/p&gt;  &lt;p&gt;Por cierto&lt;/p&gt;  &lt;p&gt;1. Como el Lego me ha quedado chico,&amp;#160; espera a ver lo que estoy haciendo con mi &lt;a href="http://xcellencecars.blogspot.com.es/2011/06/mazda-rx8.html" target="_blank"&gt;RX8&lt;/a&gt;, un Kinect, una tableta con Windows 8, etc. &lt;a href="http://www.youtube.com/watch?v=QRiPSlx8PxA" target="_blank"&gt;230CV&lt;/a&gt; en manos de una porción de código C#. Mi chica está un poco asustada pero el Valentino súper feliz de poder jugar con el coche desde una tableta … &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_7806DA29.png" /&gt;&lt;/p&gt;  &lt;p&gt;.2 El ratonazo cabreado / enfadado / enojado lo saqué de &lt;a title="http://abstract.desktopnexus.com/get/134212?t=08tt07vgrel6eo8knisme46jh34fa00c9fcba2b" href="http://abstract.desktopnexus.com/get/134212?t=08tt07vgrel6eo8knisme46jh34fa00c9fcba2b"&gt;http://abstract.desktopnexus.com/get/134212?t=08tt07vgrel6eo8knisme46jh34fa00c9fcba2b&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204803" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Opinion/default.aspx">Opinion</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Kinect/default.aspx">Kinect</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/User+Experience/default.aspx">User Experience</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/05/01/kinect-y-los-ratones-enfadados.aspx</feedburner:origLink></item><item><title>[#TFService] Algunas novedades de ultimo momento</title><link>http://feedproxy.google.com/~r/elbruno/~3/_GJRUUQ0AkA/tfservice-algunas-novedades-de-ultimo-momento.aspx</link><pubDate>Mon, 30 Apr 2012 21:37:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204763</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204763</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204763</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/30/tfservice-algunas-novedades-de-ultimo-momento.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/02/image18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/02/image_thumb17.png" width="464" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;de la mano del gran &lt;a href="http://blogs.msdn.com/b/bharry" target="_blank"&gt;Brian Harry&lt;/a&gt; ya podemos hacer públicas algunas de las new features incorporadas al otro TFS &amp;gt; Team Foundation Service (me sigue pareciendo un poco desafortunada la elección del nombre).&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Por un lado tenemos una interfaz mucho más “touch friendly”, es decir que si quieres controlar el TaskBoard o el product BackLog desde un dispositivo táctil es mucho más simple. Si como yo lo que quieres hacer son aplicaciones de control con Kinect, pues también se simplifica mucho el trabajo. &lt;/li&gt;    &lt;li&gt;Basta de selección del provider de seguridad cuando solo hay LiveId. Un formulario menos y mucha más gente feliz. &lt;/li&gt;    &lt;li&gt;Filtros en algunas partes importantes y … poco más. &lt;/li&gt;    &lt;li&gt;Ahh y un nuevo look&amp;amp;feel mucho mas metro &lt;img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Risa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_2CEAC479.png" /&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_55893080.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_3CB49C41.png" width="648" height="466" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Fuente: &lt;a title="http://blogs.msdn.com/b/bharry/archive/2012/04/30/tfspreview-update.aspx" href="http://blogs.msdn.com/b/bharry/archive/2012/04/30/tfspreview-update.aspx"&gt;http://blogs.msdn.com/b/bharry/archive/2012/04/30/tfspreview-update.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204763" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Team+Foundation+Service/default.aspx">Team Foundation Service</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/30/tfservice-algunas-novedades-de-ultimo-momento.aspx</feedburner:origLink></item><item><title>[#VIDEO] Magia con Kinect (augmented reallity)</title><link>http://feedproxy.google.com/~r/elbruno/~3/zw6iyKaRV6E/video-magia-con-kinect-augmented-reallity.aspx</link><pubDate>Sat, 28 Apr 2012 18:55:10 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204735</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204735</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204735</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/28/video-magia-con-kinect-augmented-reallity.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img title="image" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" width="978" height="245" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;después de un par de horas de jugar a &lt;a href="http://www.lucasarts.com/games/kinectstarwars/" target="_blank"&gt;Kinect Star Wars&lt;/a&gt; con Valentino, me duelen partes del cuerpo que no conocía. Así que en esta semana que es un poco de retorno a ALM, pues empiezo por un video que no tiene absolutamente nada que ver con ALM, pero que es impresionante en lo que se refiere a despliegue de medios.&lt;/p&gt;  &lt;p&gt;&lt;iframe height="480" src="http://www.youtube.com/embed/C4pHP-pgwlI" frameborder="0" width="853"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://elbruno.com/2011/09/09/alm-pintando-muros-cambiando-paales-de-y-la-deuda-tcnica/" target="_blank"&gt;Link&lt;/a&gt;: &lt;a title="http://youtu.be/C4pHP-pgwlI" href="http://youtu.be/C4pHP-pgwlI"&gt;http://youtu.be/C4pHP-pgwlI&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Lo más interesante del video, es que es una tecnología que la mayoría de nosotros podríamos implementar y crear en nuestra propia casa. Yo ya he estado “jugando” con un poco de realidad aumentada con Kinect y la verdad es que si bien hace falta conocer un poco de como funcionan las imágenes en general, no es tan complicado. &lt;/p&gt;  &lt;p&gt;Esto hace unos años era una locura de solo pensarlo, pero ahora gracias a Kinect y al Kinect SDK, pues lo tenemos más fácil. Impresionante, ¿no?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204735" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Videos/default.aspx">Videos</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Kinect/default.aspx">Kinect</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/28/video-magia-con-kinect-augmented-reallity.aspx</feedburner:origLink></item><item><title>[#KINECTSDK] Kinect Missile Launcher (V): Video y codigo fuente</title><link>http://feedproxy.google.com/~r/elbruno/~3/cBeUtaZJRok/kinectsdk-kinect-missile-launcher-v-video-y-codigo-fuente.aspx</link><pubDate>Fri, 27 Apr 2012 18:05:34 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204729</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204729</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204729</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/27/kinectsdk-kinect-missile-launcher-v-video-y-codigo-fuente.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img title="image" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" width="978" height="245" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas.&lt;/p&gt;  &lt;p&gt;Primero vamos con los links de la serie&lt;/p&gt;  &lt;ol&gt;   &lt;ol&gt;     &lt;li&gt;&lt;a href="http://elbruno.com/2012/04/22/kinectsdk-kinect-missile-launcher-i-identificando-el-dispositivo-hid/" target="_blank"&gt;Identificando el dispositivo HID&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://elbruno.com/2012/04/23/kinectsdk-kinect-missile-launcher-ii-moviendo-el-lanza-misiles/" target="_blank"&gt;Moviendo el lanza misiles&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://elbruno.com/2012/04/24/kinectsdk-kinect-missile-launcher-iii-otra-forma-de-averiguar-los-valores-para-trabajar-con-el-lanza-misiles-con-c/" target="_blank"&gt;Otra forma de averiguar los valores para trabajar con el lanza misiles con C#&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://elbruno.com/2012/04/26/kinectsdk-kinect-missile-launcher-iv-controlando-el-lanza-misiles-con-kinect/" target="_blank"&gt;Controlando el lanza misiles con Kinect&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://elbruno.com/2012/04/27/kinectsdk-kinect-missile-launcher-v-video-y-codigo-fuente/" target="_blank"&gt;Video y código fuente de ejemplo&lt;/a&gt; &lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;Y ahora un video de 30 segundos donde muestro un pequeño ejemplo de la aplicación en funcionamiento.&lt;/p&gt;  &lt;p&gt;&lt;iframe height="480" src="http://www.youtube.com/embed/ATxtYes6pBQ" frameborder="0" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;Link : &lt;a title="http://youtu.be/ATxtYes6pBQ" href="http://youtu.be/ATxtYes6pBQ"&gt;http://youtu.be/ATxtYes6pBQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Un detalle, el misil sale con una potencia que ni en HALO, con lo que los pocos frames de la cámara de Kinect no lo pueden capturar en su vuelo. Otro detalle es que como puse el lanza misiles delante del Kinect para poder grabar el video, la captura del skeleton va un poco así así, con lo que puede hacer unos raros.&lt;/p&gt;  &lt;p&gt;Y para terminar, el código fuente de la aplicación se puede descargar desde &lt;a title="https://skydrive.live.com/redir.aspx?cid=bef06dffdb192125&amp;amp;resid=BEF06DFFDB192125!4275&amp;amp;parid=BEF06DFFDB192125!1932&amp;amp;authkey=!AOhNmp_md8XLYbo" href="https://skydrive.live.com/redir.aspx?cid=bef06dffdb192125&amp;amp;resid=BEF06DFFDB192125!4275&amp;amp;parid=BEF06DFFDB192125!1932&amp;amp;authkey=!AOhNmp_md8XLYbo"&gt;https://skydrive.live.com/redir.aspx?cid=bef06dffdb192125&amp;amp;resid=BEF06DFFDB192125!4275&amp;amp;parid=BEF06DFFDB192125!1932&amp;amp;authkey=!AOhNmp_md8XLYbo&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204729" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Videos/default.aspx">Videos</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/27/kinectsdk-kinect-missile-launcher-v-video-y-codigo-fuente.aspx</feedburner:origLink></item><item><title>[#KINECTSDK] Kinect Missile Launcher (IV): Controlando el lanza misiles con Kinect</title><link>http://feedproxy.google.com/~r/elbruno/~3/E7zkixzxcLY/kinectsdk-kinect-missile-launcher-iv-controlando-el-lanza-misiles-con-kinect.aspx</link><pubDate>Thu, 26 Apr 2012 16:57:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204710</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204710</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204710</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/26/kinectsdk-kinect-missile-launcher-iv-controlando-el-lanza-misiles-con-kinect.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img height="245" width="978" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" alt="image" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;hoy ya vamos a crear una aplicaci&amp;oacute;n que nos permita controlar el lanza misiles utilizando gestos de Kinect. Para esto he pensado en los siguientes controles&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La mano derecha controla la direcci&amp;oacute;n del lanza misiles. Puede ir a la derecha, a la izquierda, arriba o abajo. &lt;/li&gt;
&lt;li&gt;La mano izquierda controla el disparo del misil, la forma de disparar es levantar la mano encima de la cabeza. &lt;/li&gt;
&lt;li&gt;Si ambos manos est&amp;aacute;n por debajo de la cintura se detienen los movimientos del lanza misiles &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Con esta base, y aprovechando los controles visuales de &amp;ldquo;Microsoft.Samples.Kinect.WpfViewers&amp;rdquo; he creado una aplicaci&amp;oacute;n WPF con el siguiente c&amp;oacute;digo en la ventana principal&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Kinect;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; ElBruno.Rocket.Ui&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; MainWindow&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; KinectSensor _sensor;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; Rocket _rocket;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; MainWindow()&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;             InitializeComponent();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;             Loaded += MainWindowLoaded;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; MainWindowLoaded(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;             InitRocket();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;             InitKinectSensor();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; InitRocket()&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;             _rocket = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Rocket(&lt;span style="color:#006080;"&gt;@&amp;quot;vid_0a81&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;@&amp;quot;pid_ff01&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;             _rocket.Connect();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; InitKinectSensor()&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// validate&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (KinectSensor.KinectSensors.Count == 0) &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// init Kinect&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;             var parameters = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TransformSmoothParameters&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt;                                  {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt;                                      Smoothing = 0.75f,&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt;                                      Correction = 0.1f,&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt;                                      Prediction = 0.0f,&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum40"&gt;  40:&lt;/span&gt;                                      JitterRadius = 0.05f,&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;                                      MaxDeviationRadius = 0.08f&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum42"&gt;  42:&lt;/span&gt;                                  };&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum44"&gt;  44:&lt;/span&gt;             _sensor = KinectSensor.KinectSensors[0];&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt;             _sensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum46"&gt;  46:&lt;/span&gt;             _sensor.DepthStream.Enable(DepthImageFormat.Resolution320x240Fps30);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt;             _sensor.SkeletonStream.Enable(parameters);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum48"&gt;  48:&lt;/span&gt;             _sensor.Start();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt;             colorViewer.Kinect = _sensor;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum50"&gt;  50:&lt;/span&gt;             skeletonViewer.Kinect = _sensor;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum51"&gt;  51:&lt;/span&gt;             _sensor.SkeletonFrameReady += SensorSkeletonFrameReady;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum52"&gt;  52:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum53"&gt;  53:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum54"&gt;  54:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SensorSkeletonFrameReady(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, SkeletonFrameReadyEventArgs e)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum55"&gt;  55:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum56"&gt;  56:&lt;/span&gt;             Skeleton[] skeletons = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum57"&gt;  57:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var frame = e.OpenSkeletonFrame())&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum58"&gt;  58:&lt;/span&gt;             {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum59"&gt;  59:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (frame != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum60"&gt;  60:&lt;/span&gt;                 {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum61"&gt;  61:&lt;/span&gt;                     skeletons = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Skeleton[frame.SkeletonArrayLength];&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum62"&gt;  62:&lt;/span&gt;                     frame.CopySkeletonDataTo(skeletons);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum63"&gt;  63:&lt;/span&gt;                 }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum64"&gt;  64:&lt;/span&gt;             }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum65"&gt;  65:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum66"&gt;  66:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (skeletons == &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum67"&gt;  67:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum68"&gt;  68:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (var kinectRocketGestures &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; (&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum69"&gt;  69:&lt;/span&gt;                 from skeleton &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; skeletons&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum70"&gt;  70:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;where&lt;/span&gt; skeleton.TrackingState == SkeletonTrackingState.Tracked&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum71"&gt;  71:&lt;/span&gt;                 let headJoint = skeleton.Joints[JointType.Head]&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum72"&gt;  72:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;where&lt;/span&gt; headJoint.TrackingState != JointTrackingState.NotTracked&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum73"&gt;  73:&lt;/span&gt;                 select skeleton).Select(skeleton =&amp;gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; KinectRocketGestures(skeleton, _rocket)))&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum74"&gt;  74:&lt;/span&gt;             {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum75"&gt;  75:&lt;/span&gt;                 var gesture = kinectRocketGestures.ValidateGestures();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum76"&gt;  76:&lt;/span&gt;                 textBlockInformation.Text = gesture;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum77"&gt;  77:&lt;/span&gt;             }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum78"&gt;  78:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum79"&gt;  79:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum80"&gt;  80:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;Es importante tener en cuenta que esta ventana no posee casi nada de l&amp;oacute;gica interesante, solo inicia los sensores del Kinect y del lanza misiles y luego se suscribe a las notificaciones de actualizaci&amp;oacute;n de skeleton.&lt;/div&gt;
&lt;div&gt;En esta notificaci&amp;oacute;n (l&amp;iacute;nea 54), se valida que el tracking del skeleton sea correcto y luego utilizamos una clase KinectRocketGestures que es la que hace un poco la magia entre Kinect y el lanza misiles.&lt;/div&gt;
&lt;div&gt;El c&amp;oacute;digo de esta clase es el siguiente&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Kinect;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; ElBruno.Rocket.Ui&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; KinectRocketGestures&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;readonly&lt;/span&gt; Skeleton _skeleton;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;readonly&lt;/span&gt; Rocket _rocket;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; KinectRocketGestures(Skeleton skeleton, Rocket rocket)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;             _skeleton = skeleton;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;             _rocket = rocket;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ValidateGestures()&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;             var gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;Not defined&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// STOP&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Right hand and Left hand hanging at the side&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_skeleton.Joints[JointType.HandRight].Position.Y &amp;lt; _skeleton.Joints[JointType.HipCenter].Position.Y &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;                 _skeleton.Joints[JointType.HandLeft].Position.Y &amp;lt; _skeleton.Joints[JointType.HipCenter].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;             {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;                 _rocket.StopAll();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;                 _rocket.StopFiring();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;                 _rocket.StopMovements();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;                 gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;STOP&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; gesture;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt;             }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// FIRE&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_skeleton.Joints[JointType.HandLeft].Position.Y &amp;gt; _skeleton.Joints[JointType.Head].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt;             {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt;                 gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;FIRE&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;                 _rocket.FireOnce();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt;             }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// MOVE RIGHT OR LEFT&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Right hand in front of right shoulder&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum40"&gt;  40:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Right hand below shoulder height but above hip height&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum42"&gt;  42:&lt;/span&gt;                 (_skeleton.Joints[JointType.HandRight].Position.Z &amp;lt; _skeleton.Joints[JointType.ElbowRight].Position.Z &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt;                 _skeleton.Joints[JointType.HandLeft].Position.Y &amp;lt; _skeleton.Joints[JointType.HipCenter].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum44"&gt;  44:&lt;/span&gt;                 &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt;                 (_skeleton.Joints[JointType.HandRight].Position.Y &amp;lt; _skeleton.Joints[JointType.Head].Position.Y &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum46"&gt;  46:&lt;/span&gt;                 _skeleton.Joints[JointType.HandRight].Position.Y &amp;gt; _skeleton.Joints[JointType.HipCenter].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt;                 )&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum48"&gt;  48:&lt;/span&gt;             {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Right hand right of right shoulder&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum50"&gt;  50:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_skeleton.Joints[JointType.HandRight].Position.X &amp;gt; _skeleton.Joints[JointType.ShoulderRight].Position.X)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum51"&gt;  51:&lt;/span&gt;                 {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum52"&gt;  52:&lt;/span&gt;                     gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;MOVE RIGHT&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum53"&gt;  53:&lt;/span&gt;                     _rocket.MoveRight();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum54"&gt;  54:&lt;/span&gt;                 }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum55"&gt;  55:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Right hand left of left Shoulder&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum56"&gt;  56:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_skeleton.Joints[JointType.HandRight].Position.X &amp;lt; _skeleton.Joints[JointType.ShoulderLeft].Position.X)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum57"&gt;  57:&lt;/span&gt;                 {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum58"&gt;  58:&lt;/span&gt;                     gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;MOVE LEFT&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum59"&gt;  59:&lt;/span&gt;                     _rocket.MoveLeft();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum60"&gt;  60:&lt;/span&gt;                 }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum61"&gt;  61:&lt;/span&gt;             }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum62"&gt;  62:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum63"&gt;  63:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// MOVE UP OR DOWN&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum64"&gt;  64:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Right hand in front of body with Left hand hanging at the side&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum65"&gt;  65:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Right hand between shoulders&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum66"&gt;  66:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum67"&gt;  67:&lt;/span&gt;                 (_skeleton.Joints[JointType.HandRight].Position.Z &amp;lt; _skeleton.Joints[JointType.ShoulderCenter].Position.Z &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum68"&gt;  68:&lt;/span&gt;                 _skeleton.Joints[JointType.HandLeft].Position.Y &amp;lt; _skeleton.Joints[JointType.HipCenter].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum69"&gt;  69:&lt;/span&gt;                 &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum70"&gt;  70:&lt;/span&gt;                 (_skeleton.Joints[JointType.HandRight].Position.X &amp;lt; _skeleton.Joints[JointType.ShoulderRight].Position.X &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum71"&gt;  71:&lt;/span&gt;                 _skeleton.Joints[JointType.HandRight].Position.X &amp;gt; _skeleton.Joints[JointType.ShoulderLeft].Position.X)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum72"&gt;  72:&lt;/span&gt;                 )&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum73"&gt;  73:&lt;/span&gt;             {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum74"&gt;  74:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Right hand above the shoulders&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum75"&gt;  75:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_skeleton.Joints[JointType.HandRight].Position.Y &amp;gt; _skeleton.Joints[JointType.ShoulderCenter].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum76"&gt;  76:&lt;/span&gt;                 {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum77"&gt;  77:&lt;/span&gt;                     gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;MOVE UP&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum78"&gt;  78:&lt;/span&gt;                     _rocket.MoveUp();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum79"&gt;  79:&lt;/span&gt;                 }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum80"&gt;  80:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Right hand below the chest/gut&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum81"&gt;  81:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_skeleton.Joints[JointType.HandRight].Position.Y &amp;lt; _skeleton.Joints[JointType.Spine].Position.Y)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum82"&gt;  82:&lt;/span&gt;                 {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum83"&gt;  83:&lt;/span&gt;                     gesture = &lt;span style="color:#006080;"&gt;@&amp;quot;MOVE DOWN&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum84"&gt;  84:&lt;/span&gt;                     _rocket.MoveDown();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum85"&gt;  85:&lt;/span&gt;                 }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum86"&gt;  86:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; gesture;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum87"&gt;  87:&lt;/span&gt;             }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum88"&gt;  88:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum89"&gt;  89:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum90"&gt;  90:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;Y listo! Un poco de validaci&amp;oacute;n de posiciones de la mano derecha y la mano izquierda y ya tenemos el control del lanza misiles utilizando Kinect.&lt;/p&gt;
&lt;p&gt;Ahora me voy r&amp;aacute;pido al evento de MadridDotNet y en el pr&amp;oacute;ximo post pongo un video y el c&amp;oacute;digo de ejemplo de la aplicaci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;Saludos @ La Finca&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
&lt;table border="0" width="110" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://facebook.com/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://es.linkedin.com/in/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="https://twitter.com/elbruno"&gt;&lt;img height="40" width="40" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204710" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Code+Sample/default.aspx">Code Sample</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/26/kinectsdk-kinect-missile-launcher-iv-controlando-el-lanza-misiles-con-kinect.aspx</feedburner:origLink></item><item><title>[#KINECTSDK] Kinect Missile Launcher (III): Otra forma de averiguar los valores para trabajar con el lanza misiles con C#</title><link>http://feedproxy.google.com/~r/elbruno/~3/XWRdY--bKEw/kinectsdk-kinect-missile-launcher-iii-otra-forma-de-averiguar-los-valores-para-trabajar-con-el-lanza-misiles-con-c.aspx</link><pubDate>Tue, 24 Apr 2012 21:51:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204643</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204643</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204643</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/24/kinectsdk-kinect-missile-launcher-iii-otra-forma-de-averiguar-los-valores-para-trabajar-con-el-lanza-misiles-con-c.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img height="245" width="978" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" alt="image" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;como he recibido varias preguntas relacionadas sobre c&amp;oacute;mo interpretar el buffer de entrada y salida de los dispositivos USB, voy a dejar una forma f&amp;aacute;cil de realizarlo.&lt;/p&gt;
&lt;p&gt;Personalmente, yo utilizo la t&amp;eacute;cnica del prueba y error; pero claro, esto te trae bastantes problemas de cabeza y lo mejor es trabajar con alg&amp;uacute;n lenguaje de bajo nivel (C# sucks!). &lt;/p&gt;
&lt;p&gt;As&amp;iacute; que si eres amigo de las abstracciones, &lt;a target="_blank" href="http://www.hhdsoftware.com/usb-monitor"&gt;USB Monitor&lt;/a&gt; puede serte de gran ayuda. Este software te permite monitorizar los flujos de datos que se env&amp;iacute;an en los hubs USB. Dicho de otra forma podr&amp;aacute;s ver uno a uno los bytes que pasan por cada puerto USB.&lt;/p&gt;
&lt;p&gt;En mi caso particular, y con la versi&amp;oacute;n completa instalada, he configurado la misma para que capture toda la informaci&amp;oacute;n que pasa por el segundo dispositivo HID. Ya me he dado cuenta de que el primero es el mouse.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_101B5411.png"&gt;&lt;img height="437" width="384" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_37FE5370.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As&amp;iacute; que una vez definido el dispositivo que queremos atacar, lo siguiente es comenzar con la grabaci&amp;oacute;n de datos. En mi caso particular, no he aplicado ning&amp;uacute;n filtro.&lt;/p&gt;
&lt;p&gt;He lanzado la aplicaci&amp;oacute;n de control del lanza misiles que viene con el mismo y he lanzado un misil. Esta es la traza que me deja el log&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; 000238: Class-Specific Request Sent (DOWN), 24.04.2012 23:33:07.320 +22.500&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt; Unknown[-128..127]/[0..255]: 64&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt; 000239: Class-Specific Data (UP), 24.04.2012 23:33:07.320 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt; 000240: Report Arrived (UP), 24.04.2012 23:33:07.335 +0.015&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt; Unknown[-128..127]/[0..255]: 0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt; 000241: Report Arrived (DOWN), 24.04.2012 23:33:07.335 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt; Unknown[-128..127]/[0..255]: 0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt; 000242: Class-Specific Request Sent (DOWN), 24.04.2012 23:33:07.335 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt; 000243: Class-Specific Data (UP), 24.04.2012 23:33:07.335 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt; 000244: Class-Specific Request Sent (DOWN), 24.04.2012 23:33:07.850 +0.514&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt; Unknown[-128..127]/[0..255]: 64&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt; 000245: Class-Specific Data (UP), 24.04.2012 23:33:07.850 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum40"&gt;  40:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum42"&gt;  42:&lt;/span&gt; 000246: Report Arrived (UP), 24.04.2012 23:33:07.866 +0.015&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum44"&gt;  44:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum46"&gt;  46:&lt;/span&gt; 000247: Report Arrived (DOWN), 24.04.2012 23:33:07.866 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum48"&gt;  48:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum50"&gt;  50:&lt;/span&gt; 000248: Class-Specific Request Sent (DOWN), 24.04.2012 23:33:07.953 +0.086&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum51"&gt;  51:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum52"&gt;  52:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum53"&gt;  53:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum54"&gt;  54:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum55"&gt;  55:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum56"&gt;  56:&lt;/span&gt; Unknown[-128..127]/[0..255]: 64&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum57"&gt;  57:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum58"&gt;  58:&lt;/span&gt; 000249: Class-Specific Data (UP), 24.04.2012 23:33:08.007 +0.053&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum59"&gt;  59:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum60"&gt;  60:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum61"&gt;  61:&lt;/span&gt; 000250: Report Arrived (UP), 24.04.2012 23:33:08.026 +0.019&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum62"&gt;  62:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum63"&gt;  63:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum64"&gt;  64:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum65"&gt;  65:&lt;/span&gt; 000251: Report Arrived (DOWN), 24.04.2012 23:33:08.026 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum66"&gt;  66:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum67"&gt;  67:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum68"&gt;  68:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum69"&gt;  69:&lt;/span&gt; 000252: Class-Specific Request Sent (DOWN), 24.04.2012 23:33:14.565 +6.539&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum70"&gt;  70:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum71"&gt;  71:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum72"&gt;  72:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum73"&gt;  73:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum74"&gt;  74:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum75"&gt;  75:&lt;/span&gt; Unknown[-128..127]/[0..255]: 32&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum76"&gt;  76:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum77"&gt;  77:&lt;/span&gt; 000253: Class-Specific Data (UP), 24.04.2012 23:33:14.565 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum78"&gt;  78:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum79"&gt;  79:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum80"&gt;  80:&lt;/span&gt; 000254: Class-Specific Request Sent (DOWN), 24.04.2012 23:37:05.977 +231.412&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum81"&gt;  81:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum82"&gt;  82:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum83"&gt;  83:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum84"&gt;  84:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum85"&gt;  85:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum86"&gt;  86:&lt;/span&gt; Unknown[-128..127]/[0..255]: 64&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum87"&gt;  87:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum88"&gt;  88:&lt;/span&gt; 000255: Class-Specific Data (UP), 24.04.2012 23:37:05.977 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum89"&gt;  89:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum90"&gt;  90:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum91"&gt;  91:&lt;/span&gt; 000256: Report Arrived (UP), 24.04.2012 23:37:05.977 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum92"&gt;  92:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum93"&gt;  93:&lt;/span&gt; Unknown[-128..127]/[0..255]: 0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum94"&gt;  94:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum95"&gt;  95:&lt;/span&gt; 000257: Report Arrived (DOWN), 24.04.2012 23:37:05.977 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum96"&gt;  96:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum97"&gt;  97:&lt;/span&gt; Unknown[-128..127]/[0..255]: 0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum98"&gt;  98:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum99"&gt;  99:&lt;/span&gt; 000258: Class-Specific Request Sent (DOWN), 24.04.2012 23:37:06.040 +0.062&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum100"&gt; 100:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum101"&gt; 101:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum102"&gt; 102:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum103"&gt; 103:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum104"&gt; 104:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum105"&gt; 105:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum106"&gt; 106:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum107"&gt; 107:&lt;/span&gt; 000259: Class-Specific Data (UP), 24.04.2012 23:37:06.040 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum108"&gt; 108:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum109"&gt; 109:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum110"&gt; 110:&lt;/span&gt; 000260: Class-Specific Request Sent (DOWN), 24.04.2012 23:37:06.102 +0.062&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum111"&gt; 111:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum112"&gt; 112:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum113"&gt; 113:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum114"&gt; 114:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum115"&gt; 115:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum116"&gt; 116:&lt;/span&gt; Unknown[-128..127]/[0..255]: 64&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum117"&gt; 117:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum118"&gt; 118:&lt;/span&gt; 000261: Class-Specific Data (UP), 24.04.2012 23:37:06.196 +0.093&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum119"&gt; 119:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum120"&gt; 120:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum121"&gt; 121:&lt;/span&gt; 000262: Report Arrived (UP), 24.04.2012 23:37:06.211 +0.015&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum122"&gt; 122:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum123"&gt; 123:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum124"&gt; 124:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum125"&gt; 125:&lt;/span&gt; 000263: Report Arrived (DOWN), 24.04.2012 23:37:06.211 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum126"&gt; 126:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum127"&gt; 127:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum128"&gt; 128:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum129"&gt; 129:&lt;/span&gt; 000264: Class-Specific Request Sent (DOWN), 24.04.2012 23:37:06.258 +0.046&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum130"&gt; 130:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum131"&gt; 131:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum132"&gt; 132:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum133"&gt; 133:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum134"&gt; 134:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum135"&gt; 135:&lt;/span&gt; Unknown[-128..127]/[0..255]: 64&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum136"&gt; 136:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum137"&gt; 137:&lt;/span&gt; 000265: Class-Specific Data (UP), 24.04.2012 23:37:06.367 +0.109&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum138"&gt; 138:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum139"&gt; 139:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum140"&gt; 140:&lt;/span&gt; 000266: Report Arrived (UP), 24.04.2012 23:37:06.367 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum141"&gt; 141:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum142"&gt; 142:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum143"&gt; 143:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum144"&gt; 144:&lt;/span&gt; 000267: Report Arrived (DOWN), 24.04.2012 23:37:06.367 +0.0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum145"&gt; 145:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum146"&gt; 146:&lt;/span&gt; Unknown[-128..127]/[0..255]: 16&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum147"&gt; 147:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum148"&gt; 148:&lt;/span&gt; 000268: Class-Specific Request Sent (DOWN), 24.04.2012 23:37:06.430 +0.062&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum149"&gt; 149:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum150"&gt; 150:&lt;/span&gt; Report Type:Output&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum151"&gt; 151:&lt;/span&gt; ReportID:0x0&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum152"&gt; 152:&lt;/span&gt; Parsed Report:&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum153"&gt; 153:&lt;/span&gt; Report Name:Unknown&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum154"&gt; 154:&lt;/span&gt; Unknown[-128..127]/[0..255]: 32&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum155"&gt; 155:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum156"&gt; 156:&lt;/span&gt; 000269: Class-Specific Data (UP), 24.04.2012 23:37:06.523 +0.093&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum157"&gt; 157:&lt;/span&gt; Request Type:Set Report (Data Field)&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Si analizamos los paquetes enviados (CS Request Sent) podremos ver la siguiente secuencia&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;64 &lt;/li&gt;
&lt;li&gt;16 &lt;/li&gt;
&lt;li&gt;64 &lt;/li&gt;
&lt;li&gt;64 &lt;/li&gt;
&lt;li&gt;32 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Adem&amp;aacute;s tenemos la diferencia de tiempo entre cada llamada. Yo para mi prueba la he redondeado a 50 milisegundos y he creado una aplicaci&amp;oacute;n de ejemplo son el siguiente c&amp;oacute;digo:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Threading;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; USBHIDDRIVER;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; HidUsbDriverConsoleTest&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Program&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Main(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;             var usb = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; USBInterface(&lt;span style="color:#006080;"&gt;@&amp;quot;vid_0a81&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;@&amp;quot;pid_ff01&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;             usb.Connect();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;             WriteData(usb, 64);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;             WriteData(usb, 16);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;             WriteData(usb, 64);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;             WriteData(usb, 64);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;             WriteData(usb, 32);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;             Console.ReadLine();&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; WriteData(USBInterface usb, &lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt; secondByteValue)&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;             var command = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[] { 0, 2 };&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;             command[1] = secondByteValue;&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;             usb.UsbDevice.writeDataSimple(command);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;             Thread.Sleep(50);&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;color:black;overflow:visible;direction:ltr;text-align:left;margin:0em;line-height:12pt;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Como se puede ver, las l&amp;iacute;neas 13 a la 17 simulan esta secuencia y al momento de interactuar con el lanza misiles USB, pues hacen lo mismo que la aplicaci&amp;oacute;n original.&lt;/p&gt;
&lt;p&gt;M&amp;aacute;s simple es imposible &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_openmouthedsmile_5F00_498E3E3B.png" alt="Risa" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-openmouthedsmile" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Descarga: &lt;a href="http://www.hhdsoftware.com/usb-monitor" title="http://www.hhdsoftware.com/usb-monitor"&gt;http://www.hhdsoftware.com/usb-monitor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
&lt;table border="0" width="110" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://facebook.com/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="http://es.linkedin.com/in/elbruno"&gt;&lt;img height="41" width="41" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="36" valign="top"&gt;&lt;a target="_blank" href="https://twitter.com/elbruno"&gt;&lt;img height="40" width="40" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="image" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204643" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/24/kinectsdk-kinect-missile-launcher-iii-otra-forma-de-averiguar-los-valores-para-trabajar-con-el-lanza-misiles-con-c.aspx</feedburner:origLink></item><item><title>[#KINECTSDK] Kinect Missile Launcher (II): Moviendo el lanza misiles</title><link>http://feedproxy.google.com/~r/elbruno/~3/teXT3UiFESY/kinectsdk-kinect-missile-launcher-ii-moviendo-el-lanza-misiles.aspx</link><pubDate>Mon, 23 Apr 2012 19:23:48 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204610</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204610</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204610</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/23/kinectsdk-kinect-missile-launcher-ii-moviendo-el-lanza-misiles.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img title="image" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" width="978" height="245" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas.&lt;/p&gt;  &lt;p&gt;En el &lt;a href="http://elbruno.com/2012/04/22/kinectsdk-kinect-missile-launcher-i-identificando-el-dispositivo-hid/" target="_blank"&gt;post de ayer&lt;/a&gt; explicaba como trabajar con un dispositivo HID. Hoy veremos como trabajar con el mismo, enviando información al device.&lt;/p&gt;  &lt;p&gt;Lo primero que tenemos que hacer es decidir que biblioteca utilizaremos para trabajar con un dispositivo HID. En mi caso utilizaré una que funciona bastante bien, creada por &lt;a href="http://www.florian-leitner.de/" target="_blank"&gt;Florian Leitner-Fischer&lt;/a&gt;, y que se puede descargar desde &lt;a href="http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/" target="_blank"&gt;aquí&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;En el post del link anterior, Florian explica las bases necesarias sobre como funciona su creación. En este post haremos lo siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Conectarnos al dispositivo &lt;/li&gt;    &lt;li&gt;Validar la conexión &lt;/li&gt;    &lt;li&gt;Enviar un mensaje para mover el lanza misiles USB &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Para esto seguimos los siguientes pasos&lt;/p&gt;  &lt;p&gt;1. Crear una aplicación de Consola&lt;/p&gt;  &lt;p&gt;2. Agregar una referencia a la biblioteca USBHIDDRIVER&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_5929233A.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_687C8549.png" width="279" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. Cambiamos la configuración para que la aplicación sea X86, en lugar de AnyCPU&lt;/p&gt;  &lt;p&gt;4. Ya tenemos lista nuestra aplicación&lt;/p&gt;  &lt;p&gt;Lo siguiente es determinar el VendorId y el ProductId de nuestra aplicación. Si bien lo vimos en el post anterior, las siguientes líneas de código nos muestran todos los dispositivos HID que tengamos conectados&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;     &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; var getAllDevices = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; USBHIDDRIVER.USBInterface(&lt;span style="color:#006080;"&gt;&amp;quot;_&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; getAllDevices.Connect();&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt; var devices = getAllDevices.getDeviceList();&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (var device &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; devices)&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;     Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;device: &amp;quot;&lt;/span&gt; + device);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Cuando ejecutamos la aplicación, vemos este output en la consola de Windows&lt;/p&gt;

&lt;p&gt;device: \\?\hid#vid_413c&amp;amp;pid_3012#7&amp;amp;39484631&amp;amp;0&amp;amp;0000#{4d1e55b2-f16f-11cf-88cb-001111000030} 
  &lt;br /&gt;device: \\?\hid#vid_0a81&amp;amp;pid_ff01#7&amp;amp;b08aa68&amp;amp;0&amp;amp;0000#{4d1e55b2-f16f-11cf-88cb-001111000030} 

  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Asumiendo que nuestro dispositivo es el segundo, los valores quedarían así:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;VendorId = vid_0a81 &lt;/li&gt;

  &lt;li&gt;ProductId = pid_ff01 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si queremos por ejemplo mover el lanzamisiles hacia abajo, tenemos que pasar un array de bytes con 2 elementos, Zero y dos. El código quedaría de la siguiente forma:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; var usb = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; USBHIDDRIVER.USBInterface(&lt;span style="color:#006080;"&gt;@&amp;quot;vid_0a81&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;@&amp;quot;pid_ff01&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; usb.Connect();&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt; var startCMD = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[2] {0, 2};&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#008000;"&gt;// move down&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt; usb.UsbDevice.writeDataSimple(startCMD);&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ahora bien, si te has bajado la biblioteca de Florian, verás que la funcion writeDataSimple() no existe. Esto es porque Florian agrega un proceso de doble validación para enviar siempre arrays “limpios” a los dispositivos USB. &lt;/p&gt;

&lt;p&gt;Yo soy una persona que vive al límite y como no le tengo miedo al &lt;a href="http://es.wikipedia.org/wiki/Pantalla_azul_de_la_muerte" target="_blank"&gt;BSOD&lt;/a&gt;, cree la siguiente función para enviar mensajes al dispositivo.&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; writeDataSimple(&lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[] bDataToWrite)&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     var success = &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (getConnectionState())&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;             var myOutputReport = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OutputReport();&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;             success = myOutputReport.Write(bDataToWrite, myUSB.HidHandle);&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (AccessViolationException ex)&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;             success = &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:#f4f4f4;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; success;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;width:100%;border-bottom-style:none;color:black;overflow:visible;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;border-left-style:none;line-height:12pt;padding-right:0px;background-color:white;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;La función anterior evita validaciones sobre el buffer a enviar al dispositivo y le envía directamente el array de bytes. En bastantes ocasiones esto nos puede retornar un false o lanzar una excepción no manejada, pero si ya sabemos que el lanza misiles funciona con un buffer de 2 bytes, pues lo tenemos más fácil.&lt;/p&gt;

&lt;p&gt;Ahora bien, para conocer esta información he vuelto a utilizar la herramienta SimpleHIDWrite. La misma cuando se selecciona un dispositivo nos muestra la cantidad de elementos que tiene que tener el array de entrada.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_7A78A309.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_1E515497.png" width="450" height="502" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En mi caso, y sabiendo que eran 2 los bytes a poner en el buffer de escritura, pues comencé a probar con el método de prueba/error y llegué a los siguientes valores:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;00, 00. Stop &lt;/li&gt;

  &lt;li&gt;00, 01. Down &lt;/li&gt;

  &lt;li&gt;00, 02. Up &lt;/li&gt;

  &lt;li&gt;00, 04. Giro anti horario &lt;/li&gt;

  &lt;li&gt;00, 08. Giro horario &lt;/li&gt;

  &lt;li&gt;00, 10. Dispara misiles &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Con estos datos ya tengo casi todo para comenzar. Pero claro, en el camino me encuentro con que en &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; hay un proyecto que ya me da interacción con el lanza misiles, con el WiiMote, etc. Pero claro, no funciona a la primera y no tengo lugar para escribir el porqué. Pero tienen una implementación de una clase Rocket, que la verdad es que está muy bien.&lt;/p&gt;

&lt;p&gt;Así que he reemplazado el componente que se utiliza para la conexión con el HID, he hecho un poco de refactoring y me ha quedado una clase con la siguiente estructura.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_463453F6.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_42D2BC4E.png" width="287" height="616" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora solo queda un poco de trabajo con KinectSDK y listo !!!&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Referencias:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a title="http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/" href="http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/"&gt;http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://rocket.codeplex.com"&gt;http://rocket.codeplex.com&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Saludos @ Home&lt;/p&gt;

&lt;p&gt;El Bruno&lt;/p&gt;

&lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;

      &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;

      &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204610" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/CodePlex/default.aspx">CodePlex</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/23/kinectsdk-kinect-missile-launcher-ii-moviendo-el-lanza-misiles.aspx</feedburner:origLink></item><item><title>[#KINECTSDK] Kinect Missile Launcher (I): Identificando el dispositivo HID</title><link>http://feedproxy.google.com/~r/elbruno/~3/VO-tpiTEd64/kinectsdk-kinect-missile-launcher-i-identificando-el-dispositivo-hid.aspx</link><pubDate>Sun, 22 Apr 2012 19:07:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204582</guid><dc:creator>El Bruno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://geeks.ms/blogs/elbruno/rsscomments.aspx?PostID=204582</wfw:commentRss><wfw:comment>http://geeks.ms/blogs/elbruno/commentapi.aspx?PostID=204582</wfw:comment><comments>http://geeks.ms/blogs/elbruno/archive/2012/04/22/kinectsdk-kinect-missile-launcher-i-identificando-el-dispositivo-hid.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://brunocapuano.files.wordpress.com/2012/03/image5.png"&gt;&lt;img title="image" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image_thumb2.png?w=978&amp;amp;h=245&amp;amp;h=245" width="978" height="245" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buenas&lt;/p&gt;  &lt;p&gt;Hace 2 semanas que estamos jugando con el Valentino al &lt;a href="http://www.lucasarts.com/games/kinectstarwars/" target="_blank"&gt;Kinect Star Wars&lt;/a&gt; y tengo que admitir que mi enano juega mucho mejor que yo. Hoy mientras estábamos ordenando un poco mis juguetes, encontramos mi lanzamisiles USB y claro, el Valentino me pidió que lo probáramos.&lt;/p&gt;  &lt;p&gt;Una vez que hube instalado el software se lo di al Valentino y claro, cuando tuve que acercarse y utilizar el teclado y el mouse se quedó un poco de palo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_65CB23D0.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_2A679845.png" width="580" height="397" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Después de meses de jugar con un iPad, una tableta con Windows 8 y con el Kinect, esto del teclado y el mouse no le gusta nada. &lt;/p&gt;  &lt;p&gt;Así que como buen padre que soy, me puse manos a la obra para poder controlar el lanza misiles con el Kinect.&lt;/p&gt;  &lt;p&gt;Al tema lo encaré con bastante optimismo, porque ya hace un par de años había creado una extensión para Team Build que lanzaba un misil cuando una build fallaba, al programador que “rompió la build”.&lt;/p&gt;  &lt;p&gt;Antes de comenzar tenía una pregunta en mente que tal vez me tiraba el proyecto abajo: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Windows 8 habrá cambiado la forma de detectar dispositivos HID?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Por suerte, no. Esto es importante porque por lo general estos dispositivos no tienen SDK, ni nada por el estilo. Windows los reconoce de la misma forma en la que se reconoce un teclado o un mouse, y a partir de allí hay que hacer un poco de ingeniería inversa para poder entender como funcionan los mismos.&lt;/p&gt;  &lt;p&gt;Un detalle, si yo lo he podido entender es porque no es tan complicado. Siempre lo trato de explicar, haciendo una analogía con 2 buffers de datos, uno de entrada y otro de salida para el puerto USB. Cada vez que queremos que un dispositivo realice una acción específica, tenemos que conocer el set de bytes que tenemos que “enviar”. De la misma forma, tenemos que aprender a interpretar los datos de entrada para “leer” la información que nos envía el dispositivo.&lt;/p&gt;  &lt;p&gt;Antes de comenzar a “leer” y “enviar” información al dispositivo USB, tenemos que identificar el mismo. Esto Windows lo hace una forma simple, y nosotros como developers tenemos 2 opciones&lt;/p&gt;  &lt;p&gt;1. Pasarnos 4 días interpretando información del registro de Windows&lt;/p&gt;  &lt;p&gt;2. Utilizar una herramienta como &lt;strong&gt;&lt;em&gt;HID Device Info &lt;/em&gt;&lt;/strong&gt;para conocer los datos de nuestro dispositivo HID&lt;/p&gt;  &lt;p&gt;Esta herramienta se puede descargar desde &lt;a href="http://www.lvr.com/hidpage.htm" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;HID Page&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, un excelente sitio con mucha información para trabajar con HID desde .Net. La siguiente imagen muestra los datos de los dispositivos que tengo conectado a mi PC.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_081F66F2.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px 0px 3px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_16F6703F.png" width="588" height="584" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;En el caso del Rocket Baby, los datos que debemos apuntar son:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Vendor Name &lt;/li&gt;    &lt;li&gt;Product Name &lt;/li&gt;    &lt;li&gt;VID &lt;/li&gt;    &lt;li&gt;PID &lt;/li&gt;    &lt;li&gt;Revision &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Esto es importante porque luego la clase .Net que utilizamos para interactuar con el dispositivo utiliza estos datos para identificar el mismo.&lt;/p&gt;  &lt;p&gt;Pues bien, me guardo el ejemplo de código integrado con el Kinect para el próximo post y me voy a controlar otras cosillas más con el Kinect &lt;img class="wlEmoticon wlEmoticon-winkingsmile" style="border-top-style:none;border-bottom-style:none;border-right-style:none;border-left-style:none;" alt="Guiño" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/wlEmoticon_2D00_winkingsmile_5F00_402D6CA3.png" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Referencias:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://geeks.ms/blogs/elbruno/archive/2008/09/28/tfs-tfs-build-missile-launcher-1ra-parte.aspx" target="_blank"&gt;TFS Build Missile Launcher (1)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://geeks.ms/blogs/elbruno/archive/2008/10/08/tfs-tfs-missile-build-launcher-2da-parte-lanzando-el-misil.aspx" target="_blank"&gt;TFS Build Missile Launcher (2)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.lvr.com/hidpage.htm" target="_blank"&gt;The HID Page&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Home&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;table cellspacing="0" width="110" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;a href="http://facebook.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image2.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="http://es.linkedin.com/in/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image3.png" width="41" height="41" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="36"&gt;&lt;a href="https://twitter.com/elbruno" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://brunocapuano.files.wordpress.com/2012/03/image4.png" width="40" height="40" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204582" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/elbruno/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://geeks.ms/blogs/elbruno/archive/tags/KinectSdk/default.aspx">KinectSdk</category><feedburner:origLink>http://geeks.ms/blogs/elbruno/archive/2012/04/22/kinectsdk-kinect-missile-launcher-i-identificando-el-dispositivo-hid.aspx</feedburner:origLink></item><media:rating>nonadult</media:rating><media:description type="plain">Portal dedicado a las experiencias del desarrollo con tecnologías Microsoft.</media:description></channel></rss>

