<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>DotNetMania@GT</title><link>https://weblogs.asp.net:443/carloslone/</link><description>Blog Personal de Carlos Lone</description><item><title>Entrando al Mundo de la Mac</title><link>https://weblogs.asp.net:443/carloslone/entrando-al-mundo-de-la-mac</link><description>&lt;p&gt;Bueno, luego de haberlo estado pensando mucho tiempo ... y de seguir pensandolo aun ya con la maquina en la mano... finalmente entro al mundo de la Mac. Fue un dolor de cabeza tratar de encontrar un buen balance para decidirme por cual de los modelos disponibles decidirme, sin embargo al final me decidi por la Macbook Pro 13, con 8GB de Ram y un disco SSD de 256 MB, adicionalmente aprovechare al maximo el Retina Display que le da una mejor nitidez y resolucion a la pantalla.&lt;/p&gt;
&lt;p&gt;Habia tenido previamente algunas oportunidades de jugar un poco con el Sistema Operativo, sin embargo hoy que comienzo esta aventura reconozco ser un total novato (noob) y comenzare paso a paso.&lt;/p&gt;
&lt;p&gt;Una de mis primeras herramientas descargada e instalada fue Visual Studio Code, el cual no tuve ningun tipo de inconveniente para echarlo andar en la Mac. Es mas, me costo mas &lt;a href="https://support.apple.com/kb/PH19043?locale=en_US" target="_blank"&gt;averiguar como hacer un screenshoot&lt;/a&gt;&amp;nbsp;de la ejecucion del programa que lo que fue descargarlo y ejecutarlo :)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img width="826" height="524" alt="" src="https://aspblogs.blob.core.windows.net:443/media/carloslone/Media/Screen%20Shot%202016-07-25%20at%2010.34.13%20PM.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Mientras seguire aprendiendo e instalando las actualizaciones y herramientas que voy a requerir para tener lista la maquina!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Si tienen recursos o recomendaciones que me ayuden a acelerar mi aprendizaje bienvenidos en la seccion de comentarios!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Happy Coding!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Carlos A. Lone&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description><pubDate>Tue, 26 Jul 2016 03:26:35 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/entrando-al-mundo-de-la-mac</guid><category>Mac</category><category>Visual Studio Code</category></item><item><title>Creando un Bot con Bot Framework Parte 2: Publicando el Bot y conectándolo a un servicio para su uso</title><link>https://weblogs.asp.net:443/carloslone/creando-un-bot-con-bot-framework-parte-2-publicando-el-bot-y-conectandolo-a-un-servicio-para-su-uso</link><description>&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;En el &lt;a href="http://weblogs.asp.net/carloslone/creando-un-bot-con-bot-framework" target="_blank"&gt;post inicial&lt;/a&gt; hicimos un breve recorrido donde se habló de la relevancia y auge que esta tomando la creación y adopción de plataformas tecnológicas para crear Bots, adicionalmente se dio una introducción al Microsoft Bot Framework y trabajamos en nuestro primero proyecto de ejemplo.&lt;/p&gt;&lt;p&gt;En esta segunda entrega aprenderemos cómo poder publicar el REST endpoint que creamos en Azure y hacer el registro correspondiente de nuestro bot en el Bot Connector.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Microsoft Azure&lt;/h2&gt;&lt;p&gt;Microsoft Azure es la plataforma de nube que Microsoft ofrece, esta plataforma tiene una diversidad de servicios disponibles bajo las modalidades de Infraestructura como Servicio (IaaS por sus siglas en inglés), Software como Servicio (SaaS) y Plataforma como Servicio (PaaS).&amp;nbsp; Microsoft Azure es una plataforma robusta, de escala empresarial y que cuenta con los más altos estándares de cumplimiento respecto a la seguridad y privacidad de la información y servicios que son alojados en la misma.&lt;/p&gt;&lt;p&gt;Utilizaremos para este ejemplo un servicio muy importante dentro de Microsoft Azure, el denominado &lt;a href="https://azure.microsoft.com/es-es/documentation/articles/app-service-value-prop-what-is/" target="_blank"&gt;Azure App Service&lt;/a&gt;. Este servicio es una oferta de Plataforma como Servicio (PaaS) de Microsoft Azure que te permitirá crear aplicaciones Web y aplicaciones Móviles. Al ser un servicio tipo PaaS mucho del proceso de administración, gestión y actualización de la infraestructura es administrado por Azure, eso significa que ya no debes preocuparte por como provisionar, configurar y actualizar esta infraestructura, más bien ya solo te preocupas por publicar y actualizar tu aplicación, GENIAL NO?.&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;App service consta de 4 servicios:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://azure.microsoft.com/es-es/documentation/articles/app-service-web-overview/" target="_blank"&gt;Web Apps&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://azure.microsoft.com/es-es/documentation/articles/app-service-mobile-value-prop/" target="_blank"&gt;Mobile Apps&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://azure.microsoft.com/es-es/documentation/articles/app-service-api-apps-why-best-platform/" target="_blank"&gt;API Apps&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://azure.microsoft.com/es-es/documentation/articles/app-service-logic-what-are-logic-apps/" target="_blank"&gt;Logic Apps&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Puedes ir a los enlaces asociados para profundizar y conocer mejor cada uno de ellos. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Para este ejemplo haremos uso de un Web App.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Publicando nuestro REST Endpoint en Microsoft Azure&lt;/h2&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Procederemos a publicar el servicio en Microsoft Azure, para esto es requerido que cuentes con una suscripción de Azure, para esto tienes varias opciones:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Si cuentas con Visual Studio 2015 Professional o Enterprise, a través de tu &lt;a href="msdn.microsoft.com" target="_blank"&gt;suscripción MSDN&lt;/a&gt; puedes aprovechar el crédito disponible en Azure para realizar esta prueba.&lt;/li&gt;&lt;li&gt;Puedes &lt;a href="https://azure.microsoft.com/en-us/free/" target="_blank"&gt;inscribirte al trial que te da un crédito de $200&lt;/a&gt; dólares (Es requerido contar con una tarjeta de crédito)&lt;/li&gt;&lt;li&gt;Si eres estudiante y tu institución cuenta con el programa de Microsoft DreamSpark puedes crear sitios web a través de este beneficio&lt;/li&gt;&lt;li&gt;Si solo quieres hacer una prueba de concepto y sabes que la puedes concluir en menos de 1 hora, puedes hacer uso del sitio &lt;a title="https://tryappservice.azure.com/en-us" href="https://tryappservice.azure.com/en-us"&gt;https://tryappservice.azure.com/en-us&lt;/a&gt; el cual te permitirá crear de forma gratuita una Web App que estará disponible por un tiempo limitado de 1 Hora.&lt;/li&gt;&lt;li&gt;También si eres un desarrollador independiente (no empresa u organización privada) puedes utilizar el beneficio de la suscripción &lt;a href="https://my.visualstudio.com/Benefits?wt.mc_id=o~msft~vscom~devessentials-swimlane~dn469161&amp;amp;campaign=o~msft~vscom~devessentials-swimlane~dn469161" target="_blank"&gt;Visual Studio Dev Essentials&lt;/a&gt; que esta disponible con el uso de Visual Studio Community 2015.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Para efectos de este ejemplo voy asumir que ya cuentas con una suscripción registrada en Azure y haremos uso de la misma para publicar nuestro sitio Web.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Publicar nuestra aplicación en Azure con Visual Studio es muy sencillo. La forma más fácil y rapida es hacer click derecho sobre el proyecto que creamos y elegir la opción de “Publish”&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_2.png"&gt;&lt;img width="635" height="352" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Nos presentará una ventana de Dialogo donde seguiremos una serie de pasos para asociar la suscripción de Azure que utilizaremos para publicar el Sitio, en la ventana elegimos Microsoft Azure App Service &lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_4.png"&gt;&lt;img width="704" height="563" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_1.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;La siguiente ventana les mostrará la suscripcion que tienen configurada y pueden hacer click sobre el boton New&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_6.png"&gt;&lt;img width="797" height="595" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_2.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Luego podras crear un nuevo Resource Group y App Service Plan&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_34.png"&gt;&lt;img width="796" height="593" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_16.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Un Resource Group en Azure es una especie de contenedor lógico que nos permite crear servicios dentro del mismo, en este caso nuestra Web App, el resource group nos permite agrupar servicios para poder llevar un mejor control del uso y consumo de una solución por completo.&lt;/p&gt;&lt;p&gt;El Service Plan servirá para configura el tipo de Web App que deseamos crear y para definir en cual de las regiones disponibles se provisionará el servicio&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Has click en el boton nuevo del App Service Plan para configurarlo, en mi caso por ser un ejemplo lo provisionaré en South Central US y de tamaño lo pondre en la capa gratuita&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_36.png"&gt;&lt;img width="475" height="533" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_17.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Una vez completada la configuración solo debemos dar click al boton Create y Visual Studio se encargará de configurar y provisionar nuestro nuevo sitio en Azure de forma automática.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_32.png"&gt;&lt;img width="793" height="598" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_15.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Este proceso lo hacemos una sola vez, si realizamos cambios más adelante ya solo bastará elegir Publish y con esta configuración Visual Studio se encargara de empujar los cambios hacia Azure.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;El último paso es Publicar el Sitio:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_16.png"&gt;&lt;img width="704" height="559" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_7.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Una vez creado y publicado el sitio se abrira una ventana de nuestro navegador default y nos mostrará la página de inicio del REST endpoint que acabamos de publicar&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_18.png"&gt;&lt;img width="748" height="349" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_8.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Registrando el nuestro Bot en el Bot Framework Connector&lt;/h2&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Ahora que ya hemos publicado el REST Endpoint estamos listos para poder registrar nuestro Bot en el Bot Framework Connector a continuación describiré los pasos a seguir para completar esta tarea.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Paso 1:&amp;nbsp; Deberán ingresar al portal del Bot Framework &lt;a title="https://dev.botframework.com/" href="https://dev.botframework.com/"&gt;https://dev.botframework.com/&lt;/a&gt; haciendo uso de una cuenta de Microsoft (live, outlook.com, hotmail).&amp;nbsp; Al haber ingresado elegir la opción Register a bot&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_20.png"&gt;&lt;img width="770" height="356" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_9.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Paso 2: Deberán completar la pagina de registro de su Bot:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_24.png"&gt;&lt;img width="723" height="687" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_11.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Name:&amp;nbsp; Es el nombre de su Bot&lt;/p&gt;&lt;p&gt;Bot Handle: es el identificador único de su bot&lt;/p&gt;&lt;p&gt;Description: Descripción del Bot&lt;/p&gt;&lt;p&gt;Messaging endpoint: URL del sitio que publicaron en el paso anterior en Azure, deben agregar al url&amp;nbsp; “/api/messages” &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Luego eligen crear y su bot quedará listo.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Configurando y Actualizando el REST Endpoint para ser utilizado en el Bot Connector&lt;/h2&gt;&lt;p&gt;Una vez hayamos terminado el registro de nuestro bot, hay dos datos fueron generados que son muy importantes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Bot Handle (Anteriormente AppID): es el identificador único de su bot&lt;/li&gt;&lt;li&gt;Primary App Secret: clave utilizada para conectarse al bot desde alguno de los servicios&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_26.png"&gt;&lt;img width="1243" height="677" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_12.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;vamos a copiar estos dos datos y regresamos a Visual Studio, ubicamos el archivo Web.Config y pegamos los datos en la sección correspondiente:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_28.png"&gt;&lt;img width="755" height="152" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_13.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Guardamos los cambios, hacemos click derecho sobre el proyecto y volvemos a publicar nuestro sitio a Azure.&amp;nbsp; Con este paso estamos actualizando el REST endpoint the hemos creado en azure para que utilice el Bot Handle y Primary app Secret correspondiente, de lo contrario no podemos autenticarnos con nuestro bot al intentar utilizarlo desde un servicio.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Una vez haya concluido la publicación podemos regresar al portal y veremos que podemos utilizar la opción de Test Connection desde la pagina.&amp;nbsp; Ingresamos un mensaje Ej: Hola y veremos como el bot nos responde, tal y como lo habíamos probado con el emulador:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_30.png"&gt;&lt;img width="422" height="413" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/image_thumb_14.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Con esto hemos concluido esta segunda parte. En la tercera parte veremos como podemos conectar nuestro bot a un servicio como Skype o Facebook para interactuar con el mismo desde estas plataformas.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Espero les sea de mucha utilidad &lt;img class="wlEmoticon wlEmoticon-smile" style="" alt="Smile" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/ad4cfc3c36ab_A6C8/wlEmoticon-smile_2.png"&gt;!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;&lt;p&gt;@carloslonegt&lt;/p&gt;</description><pubDate>Fri, 08 Jul 2016 22:21:14 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/creando-un-bot-con-bot-framework-parte-2-publicando-el-bot-y-conectandolo-a-un-servicio-para-su-uso</guid></item><item><title>Creando Un Bot con Bot Framework</title><link>https://weblogs.asp.net:443/carloslone/creando-un-bot-con-bot-framework</link><description>&lt;p&gt;Si has estado al tanto de las conferencias para desarrolladores de los gigantes de la industría de la tecnología como Microsoft, Google, Facebook y Apple, uno de los temas que fue constante, al menos para los primeros 3, fué el de los Bot y Machine Learning. No cabe duda que dado el gran volumen de información que estamos generando todos los usuarios conectados al Internet, los datos se estan convirtiendo en un producto de gran valor para cualquier organización. Por supuesto el valor de estos datos radica en como poder procesarlos en volúmenes masivos y generar inteligencia y aprendizaje de los mismos. Muchos ya estan llamando a este momento como el surgimiento de la &lt;a href="http://www.forbes.com/sites/bernardmarr/2016/04/05/why-everyone-must-get-ready-for-4th-industrial-revolution/#3e6b3db979c9" target="_blank"&gt;cuarta revolución industrial&lt;/a&gt;, la era de los “dispositivos inteligentes” y bueno es una situación que nosotros los desarrolladores ya podemos hacer realidad a través de las tecnologías que tenemos disponibles.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Un bot , no es la excepción, básicamente consiste en el concepto de crear una agentes autónomo con el cual podamos entablar una conversación para solicitar algún tipo de requerimiento o servicio. Hemos visto como los asistentes personales como Cortana de Microsoft, Siri de Apple o Google Now de Google, permiten tener interacciones utilizando lenguaje natural para realizar tareas por medio de estos asistentes, un bot busca precisamente hacer realidad este tipo de interacciones.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Microsoft Bot Framework&lt;/h2&gt;&lt;p&gt;Microsoft ha hecho una gran apuesta con la estrategia de &lt;a href="http://www.bloomberg.com/features/2016-microsoft-future-ai-chatbots/" target="_blank"&gt;“conversation as a platform” anunciada en Build&lt;/a&gt;, parte de ello fue anunciar en esta conferencia la disponibilidad en preview del Microsoft Bot Framework.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;En este post aprenderemos que se requiere para poder crear un bot y haremos nuestro primer ejercicio al estilo Hello World &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/wlEmoticon-smile_2.png"&gt;.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;¿Cómo inicio?&lt;/h2&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_2.png"&gt;&lt;img width="240" height="244" title="image" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;El primer paso es dirigirte al sitio &lt;a title="https://dev.botframework.com/" href="https://dev.botframework.com/"&gt;https://dev.botframework.com/&lt;/a&gt; , aquí encontrarás toda la información relevante para poder iniciar el desarrollo de tu primer Bot.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;¿Qué es el Bot Framework?&lt;/h2&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;lo primero que debemos comprender es cuáles son los elementos que conforman el Bot Framework&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/bot_framework_wht_bgrnd_2.png"&gt;&lt;img width="1724" height="904" title="bot_framework_wht_bgrnd" style="display: inline; background-image: none;" alt="bot_framework_wht_bgrnd" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/bot_framework_wht_bgrnd_thumb.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Bot Connector: El Bot Connector te permitirá integrar el Bot que desarrollaste a plataformas como Skype, Slack, Facebook, etc.&amp;nbsp; Básicamente aquí puedes hacer la operación de registrar tu Bot, conectarlo y publicarlo para que pueda ser utilizado.&lt;/li&gt;&lt;li&gt;Bot Builder SDK: Estos son los SDKs disponibles para que puedas comenzar a desarrollar tu primer Bot. Actualmente los SDKs estan disponibles para crear Bots usando Node.js y C#. Un punto muy importante a recalcar es que estos SDKs son Open Source y estan disponibles en GitHub&lt;/li&gt;&lt;li&gt;Bot Directory: Este será un directorio para poder descubrir y probar los bots hechos por nosotros los devs y que han sido puestos a disposición del público en general. Esta parte todavía esta en construcción.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Creando Mi primer Bot – Hello World Bot&lt;/h2&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Iniciaremos este ejercicio haciendo uso del Bot Framework Connector, a continuación describiré los pasos que debes seguir para poder crear tu primer Bot.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;El Bot Framework Connector es un servicio de comunicación que nos permite conectar nuestro Bot con diferentes canales de comunicación (Slack, skype, telegram, sms, etc). Cuando creamos nuestro Bot será a través del Bot Connector que enviaremos y recibiremos mensajes con el usuario.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/bot_connector_diagram_2.png"&gt;&lt;img width="1819" height="1026" title="bot_connector_diagram" style="display: inline; background-image: none;" alt="bot_connector_diagram" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/bot_connector_diagram_thumb.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Para utilizar el Bot Framework Connector se debe tener:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Una cuenta Microsoft (Hotmail, Live o Outlook.com) para registrarse en el portal para desarrolladores del Bot Framework (&lt;a title="https://dev.botframework.com/" href="https://dev.botframework.com/"&gt;https://dev.botframework.com/&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Un endpoint REST publicado en Azure&lt;/li&gt;&lt;li&gt;Una cuenta de desarrollo en uno o más servicios de comunicación (como Facebook) desde donde nos comunicaremos con nuestro Bot.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Paso No 1:&amp;nbsp; ¿Qué herramientas necesito?&lt;/h3&gt;&lt;p&gt;Para iniciar la construcción de tu primer Bot es requerido contar con las siguientes herramientas:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2015 (El último Update es el más recomendado), debes asegurarte de tener actualizadas las extensiones y updates disponibles&lt;/li&gt;&lt;li&gt;Descargar e instalar la plantilla para crear una Bot Application en Visual Studio, la cual la encuentras aquí &lt;a title="http://aka.ms/bf-bc-vstemplate" href="http://aka.ms/bf-bc-vstemplate"&gt;http://aka.ms/bf-bc-vstemplate&lt;/a&gt; ,&amp;nbsp; una vez descargado este archivo debes copiarlo en la siguiente carpeta: “%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#"&lt;/li&gt;&lt;li&gt;Descargar e instalar el Bot Framework Emulator, el cual lo encuentras aquí &lt;a title="https://aka.ms/bf-bc-emulator" href="https://aka.ms/bf-bc-emulator"&gt;https://aka.ms/bf-bc-emulator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Para este post, asumiré que ya tienes instalado Visual Studio 2015 y aplicado el último update.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Paso 2:&amp;nbsp; Creando Mi Primero Proyecto de Bot en Visual Studio 2015&lt;/h3&gt;&lt;p&gt;Una vez descargada y copiada la plantilla para crear un Bot Application en Visual Studio, al crear un nuevo proyecto “File –&amp;gt; New Project” tendras disponible la plantilla “Bot Application”&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_4.png"&gt;&lt;img width="941" height="651" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_1.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Asignamos el Nombre y carpeta donde queremos crear el proyecto y pulsamos el boton “OK”.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Esta plantilla básicamente creará un nuevo proyecto en visual studio basado en ASP.NET Web API,&amp;nbsp; recuerda que lo que requiere el Bot Connector es que exista un REST Endpoint a través del cual se enviará y recibirá información desde el cliente hacia el Bot y Vice versa.&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_8.png"&gt;&lt;img width="352" height="358" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_3.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Es importante observar las referencias del proyecto nuevo creado:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_6.png"&gt;&lt;img width="329" height="274" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_2.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Paso 3: ¿Donde esta la lógica del Bot? y ¿Donde hago la programación?&lt;/h3&gt;&lt;p&gt;La lógica del bot será expuesta en el controlador&amp;nbsp; MessagesController.cs,&amp;nbsp; específicamente veamos el código del método Post del controlador:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_10.png"&gt;&lt;img width="826" height="528" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_4.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Vemos como este método toma el parámetro message, el cuál representa el mensaje enviado desde el usuario hacia el bot y luego ya en la lógica del mismo, se verifica si efectivamente estamos recibiendo un mensaje de parte del usuario y si es afirmativo retornamos al usuario un mensaje que cuenta la cantidad de caracteres enviados.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Vamos a cambiar el mensaje de respuesta a lo siguiente:&amp;nbsp; $” Usted envió {length} caracteres” (nota: ver que aquí utilizamos la funcionalidad de String Interpolation de C#)&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_12.png"&gt;&lt;img width="877" height="423" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_5.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Paso 4: Probando Mi Bot con el Bot Framework Emulator&lt;/h3&gt;&lt;p&gt;Una forma sencilla de poder utilizar el Bot que acabamos de crear es haciendo uso del Bot Framework Emulator, a través de esta herramienta tendremos la capacidad de interactura con el bot.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Primero ejecutaremos nuestro Bot desde Visual Studio, para esto elegimos la opción de Ejecutar y podemos elegir “Microsoft Edge” o su navegador default para arrancarlo:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_14.png"&gt;&lt;img width="666" height="140" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_6.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Al ejecutarse el proyecto veremos una página en el navegador con la siguiente información:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_16.png"&gt;&lt;img width="835" height="380" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_7.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Ahora podemos iniciar el Bot Framework Emulator,&amp;nbsp; es importante notar que el mismo ya apunta a la dirección del Endpoint que estamos ejecutando desde nuestro proyecto en el puerto 3978&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_18.png"&gt;&lt;img width="1016" height="762" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_8.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;al ingresar nuestro primer mensaje vemos como el Bot responde con el mensaje que modificamos en el controlador:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_20.png"&gt;&lt;img width="1015" height="765" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_9.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Como se podrán dar cuenta en esta primera interacción accedimos al endpoint enviando el mensaje “Hola Bot” y al procesarse esta solicitud el Bot me respondió con la cantidad de caracteres que enviamos en el mensaje. &lt;/p&gt;&lt;p&gt;Veán que la respuesta enviada por el endpoint hacia el emulador es en formato JSON.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Si se dan cuenta ya hemos creado un primer Bot que tiene la capacidad de procesar información en base a un mensaje enviado, claro este ejemplo es muy básico, pero sirve para dar un punto de partida.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Paso 5: Aprovechando el manejo de sesion del Bot Connector&lt;/h3&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Una particularidad muy interesante disponible en el Bot Connector es la capacidad de poder manejar estado. En este caso haremos uso del método SetBotPerUserInConversationData () , el cual nos permitirá almacenar información de la sesión del usuario con nuestro Bot y el método GetBotPerUserInConversationData () el cual nos permitirá obtener la información almacenada en la sesión.&lt;/p&gt;&lt;p&gt;Cambiaremos nuestro códig del metodo Post al siguiente:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_22.png"&gt;&lt;img width="879" height="495" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_10.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;En este caso veremos como al momento de ejecutar nuestro Bot, si tenemos varias sesiones interactuando con el servicio cada una poseera la capacidad de almacenar el estado de la variable “contador”.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Para verlo funcionar pueden iniciar otra instancia de su emulador (serán 2 para este ejemplo) y al ir interactuando con su Bot podrán ver que cada una de las conexiones maneja individualmente la persistencia de la información de su sesión:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_26.png"&gt;&lt;img width="1813" height="754" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_12.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;De aquí en adelante pueden ustedes ir jugando con su Bot básico inicial para ir viendo como se comporta.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Bonus Points&lt;/h3&gt;&lt;p&gt;Si eres curioso y te pusiste a evaluar más el código generado por la plantilla que utilizamos, te daras cuenta que dentro de la clase MessageController existe un método HandleSystemMessage y que dentro de este método se pueden identificar diferentes tipos de mensajes para nuestro Bot. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Hay algunos canales a los que conectamos nuestro Bot que tienen la capacidad de enviar un mensaje cuando nuestro Bot ha sido agregado a una conversación. Si el canal tiene esta característica entonces se podrá recibir un mensaje de tipo “BotAddedToConversation”, en cuyo caso podriamos agregar una lógica de código para dar un mensaje de bienvenida a nuestro usuario.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Para este ejemplo, utilizare el siguiente código: &lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_28.png"&gt;&lt;img width="721" height="313" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_13.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Y para ver el resultado al momento de iniciar nuestro emulador debemos asegurarnos de elegir la Opción “Bot Added To Conversation” y dar click al boton Send, así veremos como nuestro Bot nos da un mensaje de bienvenida:&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_30.png"&gt;&lt;img width="1011" height="765" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/e3e065e17fca_ECBF/image_thumb_14.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;En la siguiente entrega aprenderemos cómo podemos publicar nuestro Bot en Azure y cómo podemos conectarlo a un Canal a través del Bot Framework Connector.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Espero te haya sido de mucha utilidad este post&amp;nbsp; y cualquier consulta pueden hacerla en los comments del post.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;El código de ejemplo pueden encontrarlo en mi usuario de GitHub &lt;a title="https://github.com/carloslone/BotDemo" href="https://github.com/carloslone/BotDemo"&gt;https://github.com/carloslone/BotDemo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;&lt;p&gt;@carloslonegt&lt;/p&gt;</description><pubDate>Fri, 08 Jul 2016 06:19:05 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/creando-un-bot-con-bot-framework</guid></item><item><title>Hello World Open Live Writer</title><link>https://weblogs.asp.net:443/carloslone/hello-world-open-live-writer</link><description>&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.openlivewriter.org/"&gt;&lt;img width="400" height="388" title="Meta enough for you?" align="right" alt="Meta enough for you?" src="http://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Announcing-Open-Live-Writer---An-Open-So_126D3/image_2fb79ff8-26ce-4cc4-9c9a-e8956094fd9e.png"&gt;&lt;br&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Bueno, despues de un buen tiempo ausente, aprovecho a retomar algo que me encanta hacer y es escribir y compartir noticias sobre tecnologia. Esta vez no pude escapar de la tentación de descargar, instalar y utilizar el recién publicado &lt;a href="http://openlivewriter.org/" target="_blank"&gt;Open Live Writer&lt;/a&gt;. Para los que llevamos tiempo en esto, creo que esta ha sido una herramienta impresindible que nos facilita de sobre manera la publicación de nuestros artículos y noticias.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Leyendo un poco la historia detrás del camino que esta herramienta tuvo para llegar a este momento cúspide se me hace muy interesante. Pensar que desde abril del 2013 inicio este camino, sin embargo, una vez más se demuestra el compromiso de apertura que Microsoft esta promulgando a través de todas sus tecnologías. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Algunas cosas fueron removidas y otras serán re-escritas para optimizar la herramienta, más detalles &lt;a href="http://www.hanselman.com/blog/AnnouncingOpenLiveWriterAnOpenSourceForkOfWindowsLiveWriter.aspx" target="_blank"&gt;en el post de Scott Hanselman.&lt;/a&gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;La invitación para todos nosotros esta en colaborar con esta excelente herramienta a través de la notificación de errores, corrección de erroes y generación de nuesvos plug-ins. Así mismo les invito a que descarguen el código fuente y analicen la manera en la que fue arquitecturada y diseñada la misma.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Descarga de Open Live Writer: &lt;a title="http://openlivewriter.org/" href="http://openlivewriter.org/"&gt;http://openlivewriter.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Post en el .Net Foundation: &lt;a title="http://www.dotnetfoundation.org/blog/open-live-writer" href="http://www.dotnetfoundation.org/blog/open-live-writer"&gt;http://www.dotnetfoundation.org/blog/open-live-writer&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Post de Scott Hanselman: &lt;a title="http://www.hanselman.com/blog/AnnouncingOpenLiveWriterAnOpenSourceForkOfWindowsLiveWriter.aspx" href="http://www.hanselman.com/blog/AnnouncingOpenLiveWriterAnOpenSourceForkOfWindowsLiveWriter.aspx"&gt;http://www.hanselman.com/blog/AnnouncingOpenLiveWriterAnOpenSourceForkOfWindowsLiveWriter.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Roadmap de la herramienta: &lt;a title="https://github.com/OpenLiveWriter/OpenLiveWriter/blob/master/roadmap.md" href="https://github.com/OpenLiveWriter/OpenLiveWriter/blob/master/roadmap.md"&gt;https://github.com/OpenLiveWriter/OpenLiveWriter/blob/master/roadmap.md&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Y así concluyo mi primer post desde Open Live Writer! &lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/Hello-World-Open-Live-Writer_E180/image_2.png"&gt;&lt;img width="597" height="484" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Open-Live-Writer/Hello-World-Open-Live-Writer_E180/image_thumb.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Sat, 12 Dec 2015 22:16:25 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/hello-world-open-live-writer</guid></item><item><title>Windows 10 Herramientas de Desarrollo - Build en cuenta regresiva</title><link>https://weblogs.asp.net:443/carloslone/windows-10-herramientas-de-desarrollo-build-en-cuenta-regresiva</link><description>&lt;p&gt;&lt;img width="154" height="56" alt="" src="https://aspblogs.blob.core.windows.net:443/media/carloslone/Media/logo.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Y la cuenta regresiva para el lanzamiento de la nueva versi&amp;oacute;n Windows 10 ha comenzado!&lt;/p&gt;
&lt;p&gt;Para quienes hemos tenido la oportunidad de instalar y probar la versi&amp;oacute;n &lt;a href="https://insider.windows.com/" target="_blank"&gt;Preview &lt;/a&gt;de Windows 10.&amp;nbsp;hemos visto como las nuevas novedades como el redise&amp;ntilde;o del &lt;a title="Men&amp;uacute; de Inicio" href="http://res1.windows.microsoft.com/resbox/en/windows/main/f8d6496c-f883-419e-be12-f6822a52ef09_8.jpg" target="_blank"&gt;men&amp;uacute; de inicio&lt;/a&gt;, la integraci&amp;oacute;n de &lt;a href="http://res2.windows.microsoft.com/resbox/en/windows/main/03a4a970-cab0-4fe2-8175-4f45da9b0234_8.jpg" title="Cortana" target="_blank"&gt;Cortana&lt;/a&gt;, El nuevo y novedoso &lt;a href="http://res1.windows.microsoft.com/resbox/en/windows/main/48a9041e-1e0f-417e-a364-66b91d762de5_8.jpg" title="Action Center" target="_blank"&gt;Action Center&lt;/a&gt;&amp;nbsp;y la posibilidad de crear aplicaciones Universales que se adapten al formato de presentaci&amp;oacute;n del dispositivo donde ser&amp;aacute;n utilizadas, el nuevo navegador Spartan y la posiblidad de integrar una experiencia &amp;uacute;nica con Xbox, hacen que Windows 10 realmente sea una de las versiones m&amp;aacute;s esperadas por todos para que Microsoft Oficialmente la libere.&lt;/p&gt;
&lt;p&gt;Como parte del proceso previo a la liberaci&amp;oacute;n de esta nueva versi&amp;oacute;n de sistema operativo, tambi&amp;eacute;n ahora contamos con la posibiliad de comenzar a desarrollar aplicaciones para Windows 10 utilizando las &lt;a href="http://blogs.windows.com/buildingapps/2015/03/23/windows-10-developer-tooling-preview-now-available-to-windows-insiders/" target="_blank"&gt;herramientas de desarrollador en su versi&amp;oacute;n preliminar&lt;/a&gt;. las mismas han sido puestas a disposici&amp;oacute;n de quienes se han inscrito en el programa &lt;a href="https://insider.windows.com/Home/Index?wa=wsignin1.0" target="_blank"&gt;Windows Insiders&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Qu&amp;eacute; novedades existen en esta versi&amp;oacute;n preliminar de las herramientas para desarrollar aplicaciones para Windows 10?, te presentamos algunas acontinuaci&amp;oacute;n:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Creaci&amp;oacute;n de Experiencia de Usuario (UX)&lt;/strong&gt; &lt;strong&gt;Adaptable&lt;/strong&gt;:&amp;nbsp;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;Windows 10 tiene la abilidad de utilizar una misma Interfaz de Usuario (UI) que puede adaptarse a pantallas grandes y peque&amp;ntilde;as. Si t&amp;uacute; eres un desarrollador de Apps para Windows 8.1, esto te permitir&amp;aacute; convertir los 3 proyectos que tienes en Visual Studio en 1 solo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nuevos Controles de Usuario:&lt;/strong&gt; Existe una cantidad determinada de controles para Windows 10 con la capacidad de determinar en tiempo de corrida de que forma el usuario esta interactuando con una aplicaci&amp;oacute;n, lo que le permite adaptarse a una experiencia de usuario apropiada (Por ejemplo adaptar el tama&amp;ntilde;o del mismo cuando se interact&amp;uacute;e con la aplicaci&amp;oacute;n desde una pantalla t&amp;aacute;ctil).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API Contracts:&lt;/strong&gt; Con Windows 10, tu puedes directamente verificar si alguna caracter&amp;iacute;stica de Windows esta o no disponible en vez de tener que inferir basado en la versi&amp;oacute;n del sistema operativo. Esta caracter&amp;iacute;stica permitir&amp;aacute; hacer las verificaciones, en tiempo de corrida, &amp;nbsp;para verificar si una caracter&amp;iacute;stica esta disponible en el dispositivo donde se esta utilizando tu aplicaci&amp;oacute;n. Un ejemplo ser&amp;iacute;a la verificaci&amp;oacute;n de la presencia de los botones a nivel de hardware, disponible en dispositivos m&amp;oacute;viles (Windows Phone), pero no disponibles en una pc o laptop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mejoras a las Herramientas Disponibles en Visual Studio&lt;/strong&gt;: El equipo de Visual Studio ha trabajado arduamente para proporcionarnos una mejor experiencia y un conjunto de nuevas caracter&amp;iacute;sticas para hacernos m&amp;aacute;s productivos al momento de crear aplicaciones dentro del IDE. Para m&amp;aacute;yor informaci&amp;oacute;n se puede ver el anuncio de &lt;a href="http://blogs.msdn.com/b/somasegar/archive/2015/03/23/visual-studio-tools-for-windows-10-technical-preview.aspx" target="_blank"&gt;Somasegar&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Para comenzar el aprendizaje sobre el uso de estas nuevas herramientas les dejamos este listado de Recursos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://channel9.msdn.com/Shows/Inside-Windows-Platform/A-First-Look-at-Building-Windows-10-Universal-Applications" target="_blank"&gt;Introducing the Universal App Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://aka.ms/Win10UapDevPreviewTraining" target="_blank"&gt;Windows 10 Jumpstart Preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev.windows.com/en-us/whats-new-windows-10-dev-preview" target="_blank"&gt;What&amp;rsquo;s New in Windows 10 for Developers:&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=526492" target="_blank"&gt;Code samples&lt;/a&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Si encuentran alg&amp;uacute;n problema o error al momento de estar utilizando estas herramientas, los lugares de informaci&amp;oacute;n y contacto son los siguientes:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=526491" target="_blank"&gt;Release notes de esta versi&amp;oacute;n preliminar de las herramientas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/2967191" target="_blank"&gt;Errores conocidos con Visual Studio 2015 CTP6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://social.msdn.microsoft.com/Forums/en-US/home?category=windowsapps" target="_blank"&gt;Foro de Windows y Windows Phone Apps en MSDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Queremos escuchar sus sugerencias, para este efecto pueden vistiar:&amp;nbsp;&lt;a href="http://wpdev.uservoice.com/"&gt;Windows platform developer UserVoice site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Por &amp;uacute;ltimo pero no menos importante queremos extenderles una cordial invitaci&amp;oacute;n para visualizar&lt;a href="http://www.buildwindows.com" target="_blank"&gt; en vivo del mi&amp;eacute;rcoles 29 de abril al viernes 1 de mayo el evento Build&lt;/a&gt;!!!! Si desean conocer los anuncios y novedades que vienen para Windows 10 y las herramientas de desarrollo no pueden perderselo!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Saludos Cordiales,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Carlos A. Lone&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Fri, 17 Apr 2015 06:56:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/windows-10-herramientas-de-desarrollo-build-en-cuenta-regresiva</guid><category>Windows 10</category></item><item><title>JumpStart - MVA Live: Fundamentos de Azure Iaas para IT Pros | 22 de enero</title><link>https://weblogs.asp.net:443/carloslone/jumpstart-mva-live-fundamentos-de-azure-iaas-para-it-pros-22-de-enero</link><description>&lt;p&gt;&lt;a href="mailto:Estimad@s"&gt;Estimad@s&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Es un gusto saludarles. Estamos por cerrar el a&amp;ntilde;o y aprovechando la &amp;eacute;poca quisiera compartir con ustedes un regalo navide&amp;ntilde;o!&lt;/p&gt;
&lt;p&gt;Para quienes han tenido oportunidad de participar en el &lt;a href="ttp://www.microsoftvirtualacademy.com" target="_blank"&gt;Microsoft Virtual Academy&lt;/a&gt;&amp;nbsp;en los eventos Jumpstart conocer&amp;aacute;n que la calidad del contenido de estas capacitaciones es increible. Durante un evento jumpstart tenemos la posibilidad de ver en vivo la transmisi&amp;oacute;n de la capacitaci&amp;oacute;n, tener interacci&amp;oacute;n con los participantes, hacer preguntas, etc.&lt;/p&gt;
&lt;p&gt;En muchas ocasiones este contenido es siempre presentado en Ingl&amp;eacute;s, sin embargo ahora tenemos la oportunidad &amp;uacute;nica de aprovechar tener un evento de esta naturaleza presentado totalmente en ESPA&amp;Ntilde;OL!, les invitamos a que se inscriban y aprendamos juntos como podemos utilizar Azure como una plataforma para infraestructura (Infraestructure as a Service (IASS)).&lt;/p&gt;
&lt;p&gt;Link de Registro: &lt;a href="http://j.mp/1CoZFZw"&gt;http://j.mp/1CoZFZw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Revisar&amp;nbsp;en hora local el horario del evento:&amp;nbsp;&lt;a href="http://j.mp/1raOvGO"&gt;http://j.mp/1raOvGO&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://j.mp/1CoZFZw" target="_blank"&gt;&lt;img width="795" height="613" alt="" src="https://aspblogs.blob.core.windows.net:443/media/carloslone/Media/jumpstart.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description><pubDate>Tue, 23 Dec 2014 17:03:41 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/jumpstart-mva-live-fundamentos-de-azure-iaas-para-it-pros-22-de-enero</guid><category>Azure</category><category>IAAS</category><category>MVA</category></item><item><title>Microsoft TechNights</title><link>https://weblogs.asp.net:443/carloslone/microsoft-technights</link><description>&lt;p&gt;&lt;img width="704" height="650" alt="Microsoft TechNights" src="https://aspblogs.blob.core.windows.net:443/media/carloslone/Media/alt222.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Estimados Amig@s:&lt;/p&gt;
&lt;p&gt;Quiero aprovechar a extenderles una cordial invitaci&amp;oacute;n a que participen en la iniciat&amp;iacute;va "&lt;a href="http:/www.aka.ms/technights" target="_blank"&gt;Actual&amp;iacute;zate con Microsoft TechNights&lt;/a&gt;", la cual consiste en una serie de sesiones online sin costo alguno. Si quieren conocer las nuevas tendencias y tecnolog&amp;iacute;as que microsoft nos ofrece para el mundo de "cloud first, mobile first" esta es una oportunidad que no pueden perderse.&lt;/p&gt;
&lt;p&gt;Este tipo de iniciativas tiene la conveniencia que pudean aceder a las sesiones desde la comodidad de su hogar, oficina o en la universiada.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;iexcl;INSCRIBETE HOY MISMO!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Pueden visitar &lt;a href="http:/www.aka.ms/technights" target="_blank"&gt;http:/www.aka.ms/technights&lt;/a&gt; para mayor informaci&amp;oacute;n y detalle de las sesiones que deseen atender.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Saludos Cordiales,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Wed, 29 Oct 2014 23:11:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/microsoft-technights</guid><category>Azure</category><category>ASP.NET</category><category>Webcast</category></item><item><title>El AJAX Control Toolkit ahora bajo DevExpress</title><link>https://weblogs.asp.net:443/carloslone/Contents/Item/Display/1260</link><description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img width="800" height="140" alt="" src="https://aspblogs.blob.core.windows.net:443/media/carloslone/Media/headertop_img.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Hola Amig@s,&lt;/p&gt;
&lt;p&gt;Hace ya varios a&amp;ntilde;os (7 aproximadamente para ser m&amp;aacute;s exacto) el ya conocido &lt;a href="http://ajaxcontroltoolkit.codeplex.com/" target="_blank"&gt;AJAX Control Toolkit&lt;/a&gt; fue publicado en CodePlex. El equipo de desarrollo Web de Microsoft desde entonces ha estado soportando el proyecto agregando nuevas funcionalidades, corrigiendo bug y haciendo que el producto sea m&amp;aacute;s funcional &amp;nbsp;y con mejor rendimiento. &amp;nbsp;Recientemente se nombro a DevExpress como el due&amp;ntilde;o de este proyecto open source.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;El AJAX Control Toolkit ha sido desacargado millones de veces y Microsoft sabe que existen muchas personas y proyectos que hacen uso del mismo, es por ello que han confiado en DevExpress para que a partir de ahora sean los encargados del proyecto, esto significa que todo el esfuerzo para continuar mejorando y hacer que el toolkit sea compatible con los Browsers modernos.&lt;/p&gt;
&lt;p&gt;Para mayor informaci&amp;oacute;n lean el post en &lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2014/09/22/ajax-control-toolkit-devexpress-offer.aspx" target="_blank"&gt;devexpress&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Saludos!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Sun, 05 Oct 2014 19:41:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/Contents/Item/Display/1260</guid><category>asp.net ajax</category></item><item><title>Presentación Sql Sat #322 Guatemala Database Unit Testing</title><link>https://weblogs.asp.net:443/carloslone/presentacion-sql-sat-322-guatemala-database-unit-testing</link><description>&lt;p&gt;Estimados &lt;a href="mailto:Amig@s"&gt;Amig@s&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Les comparto la presentación utilizada durante el evente Sql Sat #322 Guatemala&lt;/p&gt;&lt;p&gt;&lt;iframe width="402" height="327" src="https://onedrive.live.com/embed?cid=3F34257A43B1817A&amp;amp;resid=3F34257A43B1817A%2125960&amp;amp;authkey=AAtCmjs2e38b6Hw&amp;amp;em=2" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;También les comparto algunas fotografías del evento:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a title="https://www.facebook.com/media/set/?set=oa.10152157977905670&amp;amp;type=1" href="https://www.facebook.com/media/set/?set=oa.10152157977905670&amp;amp;type=1"&gt;https://www.facebook.com/media/set/?set=oa.10152157977905670&amp;amp;type=1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Muchas Gracias por haber compartido con nosotros este evento!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Saludos Cordiales,&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Tue, 29 Jul 2014 03:02:55 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/presentacion-sql-sat-322-guatemala-database-unit-testing</guid></item><item><title>Sql Saturday Guatemala Invitación Jesús Gil</title><link>https://weblogs.asp.net:443/carloslone/sql-saturday-guatemala-invitacion-jesus-gil</link><description>&lt;p&gt;Les compartimos la invitación del Jesús Gil de México, quien estará acompañandonos en el evento el próximo sábado!&lt;p&gt;&lt;br&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;iframe width="1024" height="817" src="https://mix.office.com/embed/16h3z3weqpmrq" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Saludos Cordiales,&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Fri, 25 Jul 2014 03:24:06 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/sql-saturday-guatemala-invitacion-jesus-gil</guid><category>sqlserver</category></item><item><title>SQL Saturday Guatemala</title><link>https://weblogs.asp.net:443/carloslone/sql-saturday-guatemala</link><description>&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Les compartimos la invitación del Ing. David Sánchez Aguilar de Costa Rica, quien estará acompañandonos en el evento el próximo sábado!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;iframe width="720" height="589" src="https://mix.office.com/embed/97w93c67g8m0" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Saludos Cordiales,&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Thu, 24 Jul 2014 13:11:04 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/sql-saturday-guatemala</guid><category>sqlserver</category></item><item><title>Sql Saturday #322 Guatemala City</title><link>https://weblogs.asp.net:443/carloslone/sql-saturday-322-guatemala-city</link><description>&lt;p&gt;Estimados &lt;a href="mailto:Amig@s"&gt;Amig@s&lt;/a&gt;,&lt;/p&gt;&lt;p&gt;Aprovecho esta oportunidad para extenderles una muy cordial invitación al evento &lt;a href="http://www.sqlsaturday.com/eventhome.aspx" target="_blank"&gt;Sql Saturday #322&lt;/a&gt;, el cual se llevara a cabo el próximo sábado 26 de julio en la Ciudad de Guatemala.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Sql-Saturday-322-Guatemala-City_13047/image_2.png"&gt;&lt;img width="889" height="220" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Sql-Saturday-322-Guatemala-City_13047/image_thumb.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Lugar:&lt;/strong&gt;&lt;/font&gt;&amp;nbsp; &lt;a href="http://www.ufm.edu" target="_blank"&gt;Universidad Francisco Marroquín&lt;/a&gt;, Calle Manuel F. Ayau (6 calle Final) Zona 10, Ciudad de Guatemala ( &lt;a title="http://www.sqlsaturday.com/322/location.aspx" href="http://www.sqlsaturday.com/322/location.aspx"&gt;http://www.sqlsaturday.com/322/location.aspx&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;Hora:&lt;/font&gt;&lt;/strong&gt; 8:00 a.m a 4:00 p.m. (&lt;a title="http://www.sqlsaturday.com/322/schedule.aspx" href="http://www.sqlsaturday.com/322/schedule.aspx"&gt;http://www.sqlsaturday.com/322/schedule.aspx&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Parqueo:&lt;/strong&gt;&lt;/font&gt; Se contará con una tarifa especial para todo el día por un valor de Q40.00 gracias al patrocinio de la Universidad Francisco Marroquín&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Habrá Almuerzo cortesía de los Sponsors&lt;/font&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Como un valor agregado y gracias al patrocinio de New Horizons, los asistentes tendrán derecho de asistir a un taller de 4 horas en las instalaciones de IT Learning – New Horizons en cualquiera de los siguientes temas:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h1&gt;&lt;u&gt;Talleres Microsoft SQL 2012&lt;/u&gt;&lt;/h1&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Tema 1: Diseño e implementación de un Data Warehouse&lt;/h2&gt;&lt;p&gt;En este taller se aprenderá cómo implementar la arquitectura lógica y física de un almacén de datos basado en los principios de diseño comprobado en la industria, implementando un esquema en estrella, copo de nieve y tabla de dimensión tiempo.&lt;p&gt;&lt;strong&gt;Fecha&lt;/strong&gt;: Jueves 07 de Agosto de 08:00-12:00 horas.&lt;h2&gt;&lt;strong&gt;Tema 2: Implementando un proceso ETL Incremental&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;En este taller se describirán las técnicas que puede utilizar para implementar un proceso de actualización de almacén de datos incrementales, iniciando por la introducción a ETL Incremental, extracción de datos modificado y finalizando con la carga de los datos&lt;p&gt;&lt;strong&gt;Fecha&lt;/strong&gt;: 20 de Agosto de 08:00-12:00 hrs.&lt;p&gt;&lt;br&gt;&lt;h2&gt;Tema 3: Aplicando calidad de los datos en los servicios&lt;/h2&gt;&lt;p&gt;Para garantizar la calidad de los datos es esencial si los resultados del análisis de datos son de fiar. Se explica cómo usar el SQL Server 2012 datos calidad servicios (DQS) para proporcionar un proceso asistida por ordenador para la limpieza de los valores de datos e identificar y eliminar datos duplicados entidades.&lt;p&gt;&lt;strong&gt;Fecha&lt;/strong&gt;: 04 de Septiembre de 08:00-12:00 hrs.&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Durante el evento se contará con la presencia de Speakers invitados que vienen de otros paises a compartir su experiencia y conocimientos con charlas de muy buena calidad.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;El Detalle de las presentaciones y agenda del evento pueden consultarlo aquí &lt;a title="http://www.sqlsaturday.com/322/schedule.aspx" href="http://www.sqlsaturday.com/322/schedule.aspx"&gt;http://www.sqlsaturday.com/322/schedule.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;QUE DEBO HACER PARA PARTICIPAR?&lt;/h2&gt;&lt;p&gt;Simplemente deberán registrarse en el sitio del evento: &lt;a title="http://www.sqlsaturday.com/322/register.aspx" href="http://www.sqlsaturday.com/322/register.aspx"&gt;http://www.sqlsaturday.com/322/register.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Recuerden que este evento no tiene ningún costo!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;De mi parte tendré el honor de compartir con ustedes la charla:&amp;nbsp; Database Unit Testing (&lt;a title="http://www.sqlsaturday.com/viewsession.aspx?sat=322&amp;amp;sessionid=22088" href="http://www.sqlsaturday.com/viewsession.aspx?sat=322&amp;amp;sessionid=22088"&gt;http://www.sqlsaturday.com/viewsession.aspx?sat=322&amp;amp;sessionid=22088&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Esperamos contar con su valiosa presencia! &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;LOS ESPERAMOS!!!!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Saludos Cordiales,&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone.&lt;/p&gt;</description><pubDate>Wed, 16 Jul 2014 04:26:16 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/sql-saturday-322-guatemala-city</guid><category>sqlserver</category></item><item><title>IE11 update y status.modern.ie</title><link>https://weblogs.asp.net:443/carloslone/ie11-update-y-status-modern-ie</link><description>&lt;p&gt;Durante la conferencia anual de &lt;a href="http://channel9.msdn.com/Events/Build/2014" target="_blank"&gt;Microsoft Build 2014&lt;/a&gt; fue anunciada una nueva versión actualizada de Internet Explorer 11 (IE11) para usuarios con Windows 8.1, Windows 7 y se anuncio el debut de esta versión del Internet Explorer para Windows Phone 8.1, así mismo se introdujo los sitios &lt;a href="http://22tracks.com/" target="_blank"&gt;22tracks.com&lt;/a&gt; y &lt;a href="http://www.3dfishgl.com/" target="_blank"&gt;FishGL&lt;/a&gt;&amp;nbsp; los cuales tienen por objetivo principal demostrar las nuevas capacidades del navegador IE11 en dispositivos Windows y Windows Phone.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Una de las principales consideraciones al momento de trabajar en esta nueva versión fue tomar en cuenta que hoy en día los usuarios navegan en la Internet en múltiples dispositivos, moviéndose de su computadora personal o laptop a una tablet y luego a un telefono inteligente durante el día. Con esta premisa, la actualización de IE11 les permitirá llevar con ustedes sus tabs y links favoritos independientemente del dispositivo que esten utilizando.&amp;nbsp; Windows 8.1 y Windows Phone 8.1&amp;nbsp; comparten la misma experiencia y soportan los mismos estándares Web, lo que permite a nosotros desarrolladores, crear sitios interoperables y aplicaciones que puedan funcionar en diferentes navegadores y dispositivos. De lo novedoso de la actualización de IE11 se encuentra el soporte a las últimas especificaciones para la aceleración por hardware WebGL, así como también el soporte a contenido multimedia enriquecido como la capacidad de utilizar HTML5 Video con close captioning, adaptive streaming y rights management.&lt;/p&gt;&lt;p&gt;&lt;img style="margin-right: auto; margin-left: auto; float: none; display: block;" alt="Internet Explorer works seamlessly across phones, tablets and PCs" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5001.aauvoieowwawp_2D00_image1_5F00_760x231.png"&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Otra de las novedades presentadas en esta conferencia fue el sitio &lt;a href="http://status.modern.ie" target="_blank"&gt;status.modern.ie&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Informacin-sobre-status.modern.ie_AED5/image_5.png"&gt;&lt;img width="881" height="668" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Informacin-sobre-status.modern.ie_AED5/image_thumb_1.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;Qué es Status.modern.ie?&lt;/h2&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Alguna vez se han preguntado cuales son las nuevas características y funcionalidades en la que se encuentra trabajando el equipo de desarrollo de Internet Explorer?, bueno la respuesta a esta pregunta es Status.modern.ie.&amp;nbsp; Por mucho tiempo los desarrolladores Web han tenido que tirar sus cartas para anticipar que alguna nueva funcionalidad de CSS o HTML estará disponible en los navegadores antes de que su sitio salga a producción.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;En el caso de Google Chrome, hace tiempo existe &lt;a title="http://www.chromestatus.com/features" href="http://www.chromestatus.com/features"&gt;http://www.chromestatus.com/features&lt;/a&gt; en donde se puede tener una visualización de cuales estándares que en el tiempo van siendo aprobados o madurados para CSS y HTML serán soportados por la siguiente versión de este navegador.&amp;nbsp; Para Internet Explorer esto ha sido una especie de caja negra en donde no se tenía mucha visibilidad sobre cuales características o funcionalidades se estan tomando en cuenta para la siguiente versión.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Veamos un ejemplo.&amp;nbsp; Si visitamos &lt;a title="http://www.chromestatus.com/features" href="http://www.chromestatus.com/features"&gt;http://www.chromestatus.com/features&lt;/a&gt; y elegimos la opción “Battery Status API” para el caso de de Internet Explorer muchas de estas características aparecen con el estado “No public Signals” y esto ha generado incertidumbre sobre el soporte de las mismas en IE.&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Informacin-sobre-status.modern.ie_AED5/image_7.png"&gt;&lt;img width="644" height="226" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Informacin-sobre-status.modern.ie_AED5/image_thumb_2.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Bien este tipo de pregunta es la que pretende resolver status.modern.ie, en este caso si consultamos esta característica en el sitio ya veremos cual es el estado en que el Equipo de IE esta considerando la misma:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Informacin-sobre-status.modern.ie_AED5/image_9.png"&gt;&lt;img width="644" height="138" title="image" style="display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Windows-Live-Writer/Informacin-sobre-status.modern.ie_AED5/image_thumb_3.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Como se puede observar ahora tenemos una vista 20-20 sobre lo que se encuentra trabajando el equipo de Internet Explorer, finalmente existe una genuina apertura para exponer en que se esta trabajando y que de alguna manera también los desarrolladores puedan ir teniendo una voz e influir sobre las decisiones que el equipo de desarrollo de IE tome para futuras versiones.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Recientemente &lt;a href="http://status.modern.ie/" target="_blank"&gt;Status.Modern.ie&lt;/a&gt; cambio su estado de Beta a Producción lo que incluye los siguientes cambios:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Les interesa conocer como fue desarrollado el sitio Status.Modern.ie? , tienen alguna sugerencia que pudiera aplicarse a su diseño o funcionalidad?, buenas noticias, el proyecto es ahora “Open Sourced”. Si eres una estrella en el desarrollo y quieres colaborar con esta iniciativa puedes descargar el codigo fuente desde &lt;a href="https://github.com/InternetExplorer/Status.IE" target="_blank"&gt;GitHUB&lt;/a&gt;. Para mas detalles pueden leer el &lt;a href="https://github.com/InternetExplorer/Status.IE/blob/production/README.md" target="_blank"&gt;ReadMe&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Funcionalidad de Filtrado y Búsqueda Mejorada&lt;/li&gt;&lt;li&gt;Soporte a DeepLinking, por ejemplo si quieren ir directamente a alguna característica como &lt;a href="http://status.modern.ie/batterystatusapi" target="_blank"&gt;Battery Status API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Mejor soporte para visualización en Dispositivos Móviles y mejora en el rendimiento del sitio.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Alguna de las nuevas características que recientemente fueron notificadas como “In Development” para la siguiente versión son:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Web Audio&lt;/li&gt;&lt;li&gt;Media Capture&lt;/li&gt;&lt;li&gt;ES6 Promises&lt;/li&gt;&lt;li&gt;HTTP/2&lt;/li&gt;&lt;li&gt;y más…..&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Bajo el nuevo lema “The Web should just work for everyone – users, developers and business” (La web debería simplemente funcionar para todos – usuarios, desarrolladores y negocios), el futuro al que apunta el equipo de IE es el siguiente:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Hacer que los usuarios migren a versiones actualizadas. Históricamente este ha sido un arduo tema de debate, sobre todo por el soporte a sitios o aplicaciones empresariales “legacy”, el equipo ha trabajado arduamente para buscar mecanismos que permitan a los usuarios migrar a la versión mas reciente de Internet Explorer y que las aplicaciones o sitios “legacy” continuen funcionando sin problemas.&lt;/li&gt;&lt;li&gt;Seguridad. Tener un compromiso de garantizar a aplicaciones de negocio críticas que puedan ser ejecutadas en Internet Explorar garantizando la seguridad e integridad de la información.&lt;/li&gt;&lt;li&gt;Interoperabilidad y Compatibilidad. El equipo ha estado, esta y seguirá participando con los Consorcios que definen los estándares para que sean soportados por Internet Explorer&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Si desean conocer más sobre las iniciativas del equipo de desarrollo de Internet Explorer les recomiendo seguir la cuenta en twitter: @IEDevChat&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;También les comparto el siguiente video donde se explica la información que les he compartido en este post:&lt;/p&gt;&lt;p&gt;&lt;iframe src="http://channel9.msdn.com/Blogs/IE/Internet-Explorer-Team-on-Status-Modern-IE-and-What-s-Next/player?h=540&amp;amp;w=960&amp;amp;format=html5" frameborder="0" scrolling="no" allowfullscreen="" style="width: 960px; height: 540px;"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Si tienen dudas o algun request para el equipo de Internet Explorer estoy a sus ordenes,&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Saludos Cordiales,&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Thu, 12 Jun 2014 22:49:53 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/ie11-update-y-status-modern-ie</guid></item><item><title>Global Windows Azure Bootcamp 2014 Guatemala City</title><link>https://weblogs.asp.net:443/carloslone/global-windows-azure-bootcamp-2014-guatemala-city</link><description>&lt;p&gt;Estimados &lt;a href="mailto:Amig@s"&gt;Amig@s&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;El próximo sabado 29 tendremos el honor de hacer historia y poner el nombre de Guatemala en alto al participar de la iniciativa global del evento: &lt;a href="http://global.windowsazurebootcamp.com/" target="_blank"&gt;Global Windows Azure Bootcamp 2014&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Con &lt;strong&gt;&lt;font size="4"&gt;139 localidades registradas en 57 paises y 138 ciudades&lt;/font&gt;&lt;/strong&gt;, este será un evento único en su categoría y podemos ser parte del mismo.&lt;/p&gt;  &lt;p&gt;Quiero extenderles una invitación para que nos acompañen al evento, la información y registro del mismo pueden encontrarla en: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/1dHPsdr"&gt;http://bit.ly/1dHPsdr&lt;/a&gt; (Contaremos con la participación de excelentes expositores)&lt;/p&gt;  &lt;p&gt;&lt;img src="https://scontent-b-dfw.xx.fbcdn.net/hphotos-prn1/t1.0-9/485515_10152010046720823_343576031_n.jpg" width="520" height="303" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Tendremos muchos premiso y sorpresas por parte de los patrocinadores globales:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img src="https://scontent-a-mia.xx.fbcdn.net/hphotos-frc1/t31.0-8/10003673_10152012553205823_321378283_o.jpg" width="520" height="292" /&gt;&lt;/p&gt;    &lt;p&gt;Esperamos contar con su valiosa presencia!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos Cordiales,&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Thu, 27 Mar 2014 19:09:12 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/global-windows-azure-bootcamp-2014-guatemala-city</guid><category>Azure</category><category>Evento</category></item><item><title>Internet Explorer 11 Modo de Lectura (Reading View)</title><link>https://weblogs.asp.net:443/carloslone/internet-explorer-11-modo-de-lectura-reading-view</link><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ahora que tenemos la posibilidad de poder acceder a sitios Web por medio de dispositivos que no solo son Computadoras con Pantalla (Pc o Laptops) como por ejemplo: Microsoft Surface, Surface 2, Tablets con Windows 8.1 ,&amp;nbsp; Televisores, consolas, etc.&amp;nbsp; un reto muy importante para los dise&amp;ntilde;adores de estos sitios es dar la capacidad y usabilidad de poder tener una buena experiencia de uso o de usuario (UX) del sitio en cualquier pantalla.&lt;/p&gt;
&lt;p&gt;Hoy en d&amp;iacute;a mucho de nosotros estamos cada vez m&amp;aacute;s acostumbrados a realizar mucha lectura de art&amp;iacute;culos, libros, noticias, blogs, etc. desde nuestros dispositivos.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span color="#000000" size="4" style="color: #000000; font-size: large;"&gt;El problema:&lt;/span&gt;&lt;/b&gt; muchas veces tenemos demasiados distractores que nos impiden tener una buena experiencia de lectura.&lt;/p&gt;
&lt;p&gt;Veamos el Siguiente Ejemplo:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_79580078.png" mce_href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_79580078.png"&gt;&lt;img width="644" height="350" title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_22698FE1.png" border="0" mce_src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_22698FE1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La secciones remarcadas en Rojo representan los distractores que nos alejan de una experiencia agradable al momento de querer leer el art&amp;iacute;culo.&lt;/p&gt;
&lt;p&gt;Adicionalmente vemos en una secci&amp;oacute;n roja el boton &amp;ldquo;Next&amp;rdquo; esto significa que el art&amp;iacute;culo ha sido dividido en p&amp;aacute;ginas, por lo que para continuar leyendo el mismo debemos ir presionando este bot&amp;oacute;n para avanzar.&lt;/p&gt;
&lt;p&gt;La secci&amp;oacute;n verde representa el &amp;aacute;rea de interes, el contenido que deseamos leer.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span size="4" style="font-size: large;"&gt;La soluci&amp;oacute;n:&lt;/span&gt;&lt;/b&gt; El modo de lectura que provee Internet Explorer 11&lt;/p&gt;
&lt;p&gt;Esta funcionalidad esta disponible en Windows 8.1 e Internet explorer 11, para hacer uso de la misma debemos de utilizar el navegador en modo &amp;ldquo;Immersive&amp;rdquo; (A&amp;uacute;n no funciona en modo desktop la funcionalidad).&lt;/p&gt;
&lt;p&gt;Para habilitar el modo de lectura, deber&amp;aacute;n presionar el &amp;iacute;cono aparece en la barra de navegaci&amp;oacute;n del Internet Explorer o bien presionando Ctrl+Shift+R&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/carloslone/image_3EC3A576.png" mce_href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_3EC3A576.png"&gt;&lt;img width="644" height="54" title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_39774F76.png" border="0" mce_src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_39774F76.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Al ingresar al modo de lectura experimentaremos inmediatamente una gran diferencia al momento de la lectura del art&amp;iacute;culo:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/carloslone/image_64524439.png" mce_href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_64524439.png"&gt;&lt;img width="644" height="370" title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_59DE438E.png" border="0" mce_src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_59DE438E.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En este caso podr&amp;aacute;n notar que las secciones marcadas en Verde corresponden a las p&amp;aacute;ginas del art&amp;iacute;culo, es decir ya no hay necesidad de ir presionando el boton &amp;ldquo;Next&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Adicionalmente toda la publicidad y distractores fueron completamente eliminados dejando el espacio completo al verdadero contenido del art&amp;iacute;culo que es lo que nos interesa.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para comprender mejor el uso de esta caracter&amp;iacute;stica les comparto el siguiente video:&lt;/p&gt;
&lt;p&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/iYUgMki3yW4?list=UUSgBmzDL3XcdJnTgqP1KkWQ" frameborder="0" allowfullscreen="allowfullscreen" mce_src="http://www.youtube.com/embed/iYUgMki3yW4?list=UUSgBmzDL3XcdJnTgqP1KkWQ"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Existe una versi&amp;oacute;n en l&amp;iacute;nea de esta funcionalidad donde pueden poner a prueba su funcionamiento:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://ie.microsoft.com/testdrive/browser/readingview/" href="http://ie.microsoft.com/testdrive/browser/readingview/" mce_href="http://ie.microsoft.com/testdrive/browser/readingview/"&gt;http://ie.microsoft.com/testdrive/browser/readingview/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Que les parece esta funcionalidad? , que mejoras les sugerir&amp;iacute;an al equipo que desarroll&amp;oacute; la misma? sus opiniones en el &amp;aacute;rea de comentarios son bienvenidas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saludos Cordiales,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Wed, 26 Mar 2014 23:26:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/internet-explorer-11-modo-de-lectura-reading-view</guid><category>IE11</category><category>Windows 8.1</category></item><item><title>Evento Destino La Nube</title><link>https://weblogs.asp.net:443/carloslone/evento-destino-la-nube</link><description>&lt;p&gt;El pasado Jueves 20 de Marzo tuve la oportunidad de participar en el evento “Destino La Nube” organizado por Microsoft Guatemala!&lt;/p&gt; &lt;img src="https://scontent-b-dfw.xx.fbcdn.net/hphotos-frc3/t1.0-9/10013561_10151993593473531_465824899_n.jpg" /&gt;  &lt;p&gt;El evento estuvo increible y tuvo mucha afluencia de invitados desde Gerentes de IT, IT pros, Developers, Project Managers.&lt;/p&gt;  &lt;p&gt;En mi caso tuve el honor de compartir con la comunidad de Desarrolladores dos presentaciones:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Construyendo aplicaciones conectadas en Windows 8.1 con Windows Azure Websites&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://1drv.ms/1joZLLl" target="_blank"&gt;Ver Presentación&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Windows Azure Mobile Services&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="https://onedrive.live.com/redir?resid=3F34257A43B1817A!3772&amp;amp;authkey=!AHg81zi9VIXyujs&amp;amp;ithint=file%2c.pdf" target="_blank"&gt;Ver Presentación&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Les comparto algunas fotos del evento:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_001_1DC4EFB7.jpg"&gt;&lt;img title="WP_20140320_001" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="WP_20140320_001" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_001_thumb_0869CB00.jpg" width="274" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_004_57D64D47.jpg"&gt;&lt;img title="WP_20140320_004" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="WP_20140320_004" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_004_thumb_4F779952.jpg" width="644" height="364" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_006_6F2903CB.jpg"&gt;&lt;img title="WP_20140320_006" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="WP_20140320_006" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_006_thumb_074EFED8.jpg" width="644" height="364" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_007_4B91F6D5.jpg"&gt;&lt;img title="WP_20140320_007" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="WP_20140320_007" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/WP_20140320_007_thumb_6F4DAF20.jpg" width="644" height="364" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Próximamente tendremos el &lt;a href="http://gwabguatemala.eventbrite.com" target="_blank"&gt;Global Windows Azure Bootcamp Guatemala&lt;/a&gt;! estan cordialmente invitados!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Tue, 25 Mar 2014 03:20:50 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/evento-destino-la-nube</guid><category>Azure</category><category>Evento</category></item><item><title>Bing Code Search para Visual Studio</title><link>https://weblogs.asp.net:443/carloslone/bing-code-search-para-visual-studio</link><description>&lt;p&gt;Recientemente leí un &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2014/02/17/introducing-bing-code-search-for-c.aspx" target="_blank"&gt;post&lt;/a&gt; sobre una nueva extensión para poder hacer una búsqueda de código desde visual studio llamada Bing Code Search.&lt;/p&gt;  &lt;p&gt;Iniciemos el post explicando ¿Qué es Bing Code Search?&lt;/p&gt;  &lt;p&gt;Tomado textualmente (para evitar que acusasiones de plagio &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-bottom-style: none; border-right-style: none; border-left-style: none" alt="Smile" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/wlEmoticon-smile_69C73D3D.png" /&gt;)&amp;#160; &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2014/02/17/introducing-bing-code-search-for-c.aspx" target="_blank"&gt;del post del Blog de Visual Studio&lt;/a&gt;: “imaginen una situación en la que estan haciendo un programa y quieren saber como leer un archivo de texto linea por linea y desean procesar esta información. Hoy en día, muy probablemente iran a una nueva ventana de su navegador, iran a su buscador preferido y definirán una expresión para tratar de encontrar algún ejemplo disponible.&amp;#160; En el mejor de los casos encontraremos respuesta en algun sitio oficial de microsoft o en algún foro popular (ej: stackoverflow) en donde obtendremos la opción más votada como válida para tener una referencia” …. por lo cual la idea detras del Bing Code Search es hacer más fácil y accesible esta tarea, pero también dándole algunas características especiales.&lt;/p&gt;  &lt;p&gt;Veamos como funciona:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Paso 1:&amp;#160; Descargar e instalar la extensión para visual studio&lt;/p&gt;  &lt;p&gt;Paso 2: Una vez instalada la aplicación basta con que ustedes inicien la ventana del intellisense dentro de Visual Studio para ver la opción “How do I … “&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_782A6182.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_3E3DAF47.png" width="341" height="91" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Al Hacer click sobre esta opción se abrirá una nueva ventana en donde ustedes podran escribir su consulta. Ej: generate MD5 Hash&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_07635B01.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_7037E082.png" width="625" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Al momento de escribir su consulta, la extensión se encargará de llevar la misma hacia diferentes sitios populares en donde se puede encontrar respuesta a este tipo de cuestionamientos. Actualmente la extensión tiene soporte para obtener código de los sitios: &lt;a href="http://msdn.microsoft.com/" target="_blank"&gt;MSDN&lt;/a&gt;, &lt;a href="http://www.stackoverflow.com/" target="_blank"&gt;Stackoverflow&lt;/a&gt;, &lt;a href="http://www.dotnetperls.com/" target="_blank"&gt;DotnetPerls&lt;/a&gt; y &lt;a href="http://www.c-sharpcorner.com/" target="_blank"&gt;CSharp411&lt;/a&gt;.&lt;/p&gt;      &lt;p&gt;Estos sitios hoy en día son muy populares para buscar respuesta a este tipo de preguntas y una de las principales ventajas es que las respuestas generalmente son elegidas por medio de votos de la comunidad, lo que hace que el código sea más confiable.&lt;/p&gt;  &lt;p&gt;Otro aspecto interesante de la extensión es que al momento de escribir la consulta podemos hacer referencia a una variable para que sea proyectada dentro del código que se estará obteniendo. Por ejemplo si quisiera verificar el largo de una cadena de caracteres (string) de una variable llamada texto:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_12234307.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_28E51B41.png" width="679" height="298" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Vean en el ejemplo anterior como la variable “texto” se proyecta hacia el codigo de ejemplo obtenido por la extensión. &lt;/p&gt;  &lt;p&gt;Adicionalmente pueden ayudar un poco al motor de consulta anteponiendo el tipo de dato de una variable y denotando el nombre de la misma anteponiendo el simbolo “@”.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_51838748.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_47BE1FD0.png" width="693" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;En el ejemplo anterior antepusimos string y “@” a la variable texto.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Como podrán observar el potencial de esta extensión es muy grande. La mayoría de nosotros muy probablemente en alguna ocasión hemos tenido una duda sobre como hacer algo a nivel del código que estamos escribiendo y lo más común es que vayamos a un buscador a tratar de encontrar respuestas a un problema.&lt;/p&gt;  &lt;p&gt;Derivado de esta publicación, han salido tambien comentarios negativos, en donde hay personas que argumentan que esto va promulgar el programador tipo Copy &amp;amp; Paste.&amp;#160; En lo personal, si comprendo el punto de vista de estas personas, pero pienso que esta situación con o sin extensión ya es una realidad en la que vivimos. Lo que me gusta de esta alternativa es lo siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No tengo que salir del entorno de trabajo para encontrar la respuesta. Todo lo hago dentro de Visual Studio&lt;/li&gt;    &lt;li&gt;Las fuentes de información son de las más populares y confiables. Muchos de estos sitios definen solucion a estas preguntas en base a la aprobación y votos de las programadores que hacen uso de este tipo de código.&lt;/li&gt;    &lt;li&gt;Si tengo una persona que va buscar respuesta a algo no sabe como hacer, prefiero que la fuente de donde obtiene el codigo que va utilizar seá lo más popular y confiable posible, a que vaya a un sitio X o Y en donde copie un código que realmente va generar más problemas que lo que se busca solucionar por que no es eficiente.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;En definitiva, esta es una alternativa y una herramienta que dependiendo de la forma en la que se le de uso puede ser muy buena. Al final, la responsabilidad de validar y analizar el código antes de hacer uso del mismo esta en cada uno de nosotros.&lt;/p&gt;  &lt;p&gt;Espero que le saquen provecho a esta herramienta y siempre me gustaría conocer su opinión y comentarios respecto al a misma.&lt;/p&gt;  &lt;p&gt;Si quieren probar la herramienta desde su navegador pueden hacerlo aqui: &lt;a title="http://codesnippet.research.microsoft.com/" href="http://codesnippet.research.microsoft.com/"&gt;http://codesnippet.research.microsoft.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Un video sobre la herramienta:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://research.microsoft.com/apps/video/default.aspx?id=208988" href="http://research.microsoft.com/apps/video/default.aspx?id=208988"&gt;http://research.microsoft.com/apps/video/default.aspx?id=208988&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Post sobre la extensión: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/b/visualstudio/archive/2014/02/17/introducing-bing-code-search-for-c.aspx" href="http://blogs.msdn.com/b/visualstudio/archive/2014/02/17/introducing-bing-code-search-for-c.aspx"&gt;http://blogs.msdn.com/b/visualstudio/archive/2014/02/17/introducing-bing-code-search-for-c.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos Cordiales,&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Wed, 19 Feb 2014 19:08:43 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/bing-code-search-para-visual-studio</guid><category>Visual Studio 2013</category></item><item><title>Evento: AppFest Guatemala Windows Phone</title><link>https://weblogs.asp.net:443/carloslone/evento-appfest-guatemala-windows-phone</link><description>&lt;p&gt;&lt;a href="mailto:Estimad@s"&gt;Estimad@s&lt;/a&gt; &lt;a href="mailto:Amig@s"&gt;Amig@s&lt;/a&gt;,&lt;/p&gt;  &lt;p&gt;El pasado miercoles 27 de Noviembre tuve la oportunidad de organizar y ser speaker en el evento &lt;a href="http://www.eventbrite.com/e/appfest-guatemala-windows-phone-tickets-9277740973" target="_blank"&gt;AppFest Guatemala Windows Phone&lt;/a&gt;. Este evento tenía como objetivo dar la oportunidad a la comunidad de desarrolladores de Guatemala a conocer las herramientas, la plaforma y los pasos para crear aplicaciones para Windows Phone.&lt;/p&gt;  &lt;p&gt;Este evento también marco el cierre de actividades, organizadas en colaboración con Microsoft, de la comunidad de Desarrolladores de Guatemala.&amp;#160; Previamente habíamos tenido el &lt;a href="http://weblogs.asp.net/carloslone/archive/2013/10/15/reuni-243-n-de-comunidad-de-net-guatemala-desarrollo-de-aplicaciones-en-windows-8.aspx" target="_blank"&gt;evento de desarrollo de aplicaciones para Windows 8.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Durante la presentación tuve la oportunidad de explicar brevemente “Las 8 cosas que los desarrolladores deben conocer acerca de Windows Phone 8” siendo estas las siguientes:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;WinRT Core Compartido&lt;/strong&gt;: En la plataforma de Windows Phone 8 se adoptaron un buen conjunto de funcionalidades del sistema operativo Windows 8, estas características permite que funcionalidades del core de windows 8 puedan ser fácilmente consumidas en el desarrollo de aplicaciones para Windows Phone 8 (WP8). Algo extraordinario de esta característica es que la mayoría de funcionalidades disponibles para WP8 que originalmente estan escritas en C++ fueron proyectadas en el api&amp;#160; de WP8 para ser consumidas en C#, VB.NET o C++. En resumen tener el runtime compartido significa que pueden desarrollar aplicaciones para Windows 8 que pueden ejecutarse transparentemente sobre WP8 y viceversa! (Super Cool!!!!)       &lt;br /&gt;      &lt;br /&gt;&lt;img src="http://i.msdn.microsoft.com/dynimg/IC619080.png" /&gt;       &lt;br /&gt;      &lt;br /&gt;En la imagen anterior podemos observar en el grupo 1 el conjunto de funcionalidades del sistema operativo Windows 8, adoptar el 100% de este runtime era algo muy pesado para el telefono, actualmente existen al rededor de 11,000 miembros disponibles en el api de Windows 8,&amp;#160; lo que se hizo fue adoptar un sub-conjunto de estas características, el cual esta remarcado en el grupo 2 el cual consiste en aproximadamente 2,800 miembros. Finalmente el área 3 representa el API del runtime para WP8 diseñado para dar capacidades especiales de desarrollo en la construcción de aplicaciones (un ejemplo de esto es las librerías de reconocimiento de voz SpeechRecognition).       &lt;br /&gt;      &lt;br /&gt;Para más información les recomiendo visitar los siguientes links:       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff626516(v=vs.105).aspx" target="_blank"&gt;Windows Phone API reference&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207212(v=vs.105).aspx" target="_blank"&gt;Windows Phone Runtime API&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Juegos Fantasticos en Código Nativo&lt;/strong&gt;: En WP8, Microsoft ahora agregó el soporte de una plataforma de desarrollo de juegos común para Windows 8 y WP8. Esto permite que los desarrolladores tengan la abilidad de desarrollar juegos de forma nativa con acceso a los beneficios de aceleración y rendimiento a nivel de hardware que provee DirectX y Direct3D. Adicionalmente esto significa que los juegos para WP8 pueden tener ventaja sobre engines de desarrollo de juegos que proveen capacidades para agregar librerías de animación, física y audio para sus juegos como por ejemplo: Havok, audiokinetic, Unity, Autodesk, Fmod.       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Internet Explorer 10: &lt;/strong&gt;El browser nativo de WP8 ha sido actualizado a Internet Explorer 10. Esto significa tener un navegador 4 veces más rápido a nivel de rendimiento en Javascript que la versión 9 disponible en WP7.5, adicionalmente se añade soporte a HTML5. Tienen funcionalidades excepcionales como el soporte multi-touch, así mismo la disponibilidad del control browser permite tener una instancia de IE10 para crear aplicaciones con Javascript y HTML5 para el telefono.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Speech:&lt;/strong&gt;&amp;#160; Reconocimiento de Voz, capacidades de transformar Texto a Voz o viceversa es una de las nuevas características agregadas a la plataforma de WP8. Esto abre una infinidad de posibilidades para desarrollar aplicaciones y no solo eso, actualmente se tiene soporte a 15 lenguajes y dialectos.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;APIs de Aproximación (Proximity):&lt;/strong&gt; En WP8 se agregaron APIs para trabajar con tecnología de aproximación, específicamente: NFC ofreciendo las capacidades de “Tap-to-share”, “NFC Tags” y “Device to Device”, adicionalmente se tiene APIs para trabajar con Bluetooth.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Tecnología Nokia Map:&lt;/strong&gt; WP8 ha hecho un importante cambio sobre la tecnología de Mapas disponible en la plataforma, ahora adopta información de NAVTEQ de Nokia para los mapas. Una de mis funcionalidades preferidas es que ahora se tiene la capacidad de descargar los mapas al telefono para que se pueda utilizar el mismo para utilizarlo como navegador de GPS sin necesidad de tener conexión de datos habilitada en el teléfono. Muy útil cuando se esta de viaje en una ciudad desconocidad.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Picture and Lenses:&lt;/strong&gt; Una de las carácteristicas más interesantes de WP8 es la capacidad que da a los desarrolladores de agregar valor a las aplicaciones Nativas. Por ejemplo, con la característica Lenses, el desarrollador tiene la capacidad de agregar funcionalidad a la aplicación nativa de la cámara, permitiendole crear lentes para aplicar efectos a las fotografías tomadas (Focus, Blur, Sephia, Blanco y Negro, foto en Panorama, etc.). Así mismo poder subir o compartir las imagenes por medio de webservices es muy sencillo.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;El Start Screen se convierte en Mi Start Screen:&lt;/strong&gt; Este es un principio del diseño de aplicaciones para WP8, poner al usuario al centro de todo y esto no es la excepción en el Start Screen, en donde el usuario ve la información que es más relevande e importante para el/ella. Adicionalmente para el desarrollo se ha agregado características para dar 3 formatos de tamaño para los íconos en la pantalla de inicio asi como los 3 tipos de tiles: Iconic, Flip y Cycle. Otra parte importante es que ahora se tiene acceso a la pantalla bloqueada, en donde podemos hacer que nuestras aplicaciones presenten información relevante en la pantalla bloqueada al usuario. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bien, este es un breve resumen de la infinidad de oportunidades que tienen como desarrolladores para aplicaciones en Windows Phone 8.&lt;/p&gt;  &lt;p&gt;Les comparto la presentación:&lt;/p&gt; &lt;iframe height="327" src="https://skydrive.live.com/embed?cid=3F34257A43B1817A&amp;amp;resid=3F34257A43B1817A%213163&amp;amp;authkey=AIQnJyY5TVb1F1M&amp;amp;em=2" frameborder="0" width="402" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;Les comparto tambien la siguiente información sobre recursos y entrenamiento gratuito disponible para comenzar a hacer sus aplicaciones!&lt;/p&gt;  &lt;p&gt;Documentación en MSDN:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="105"&gt;         &lt;p&gt;Design&lt;/p&gt;       &lt;/td&gt;        &lt;td width="326"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8devdesign"&gt;http://aka.ms/wp8devdesign&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="105"&gt;         &lt;p&gt;Develop&lt;/p&gt;       &lt;/td&gt;        &lt;td width="326"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8devdoc"&gt;http://aka.ms/wp8devdoc&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="105"&gt;         &lt;p&gt;Test&lt;/p&gt;       &lt;/td&gt;        &lt;td width="326"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8testing"&gt;http://aka.ms/wp8testing&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="105"&gt;         &lt;p&gt;Publish&lt;/p&gt;       &lt;/td&gt;        &lt;td width="326"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8publishing"&gt;http://aka.ms/wp8publishing&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="105"&gt;         &lt;p&gt;Samples&lt;/p&gt;       &lt;/td&gt;        &lt;td width="326"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8samples"&gt;http://aka.ms/wp8samples&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Entrenamiento Gratuito:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="276"&gt;         &lt;p&gt;Absolute Beginners&lt;/p&gt;       &lt;/td&gt;        &lt;td width="413"&gt;         &lt;p&gt;&lt;a href="http://wpdev.ms/beginvids"&gt;http://wpdev.ms/beginvids&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="276"&gt;         &lt;p&gt;Jump Start&lt;/p&gt;       &lt;/td&gt;        &lt;td width="413"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8js"&gt;http://aka.ms/wp8js&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="276"&gt;         &lt;p&gt;Design Boot Camp&lt;/p&gt;       &lt;/td&gt;        &lt;td width="413"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8designbootcamp"&gt;http://aka.ms/wp8designbootcamp&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="276"&gt;         &lt;p&gt;Training Kit&lt;/p&gt;       &lt;/td&gt;        &lt;td width="413"&gt;         &lt;p&gt;&lt;a href="http://aka.ms/wp8hol"&gt;http://aka.ms/wp8hol&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Información y Updates sobre la plataforma:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="121"&gt;         &lt;p&gt;Portal&lt;/p&gt;       &lt;/td&gt;        &lt;td width="345"&gt;         &lt;p&gt;&lt;a href="http://dev.windowsphone.com/"&gt;http://dev.windowsphone.com&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="121"&gt;         &lt;p&gt;Blog&lt;/p&gt;       &lt;/td&gt;        &lt;td width="345"&gt;         &lt;p&gt;&lt;a href="http://wpdev.ms/developerblog"&gt;http://wpdev.ms/developerblog&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="121"&gt;         &lt;p&gt;Channel 9&lt;/p&gt;       &lt;/td&gt;        &lt;td width="345"&gt;         &lt;p&gt;&lt;a href="http://wpdev.ms/insidewp"&gt;http://wpdev.ms/insidewp&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="121"&gt;         &lt;p&gt;Twitter&lt;/p&gt;       &lt;/td&gt;        &lt;td width="345"&gt;         &lt;p&gt;&lt;a href="http://twitter.com/wpdev"&gt;http:/twitter.com/&lt;/a&gt;&lt;a href="http://twitter.com/wpdev"&gt;wpdev&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos,&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Wed, 11 Dec 2013 13:57:54 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/evento-appfest-guatemala-windows-phone</guid><category>.Net</category><category>ASP.NET</category><category>Evento</category><category>Windows Phone 8</category></item><item><title>Windows Phone 8 Hello World</title><link>https://weblogs.asp.net:443/carloslone/windows-phone-8-hello-world</link><description>&lt;p&gt;Estimados &lt;a href="mailto:Lector@s"&gt;Lector@s&lt;/a&gt;,&lt;/p&gt;  &lt;p&gt;Aprovechando mi visita al MVP Summit en Seattle y la disponibilidad de tiempo, aprovecho a compartirles este post en donde veremos los pasos básicos para crear una aplicación para windows phone 8.&lt;/p&gt;  &lt;h2&gt;Creación del Proyecto&lt;/h2&gt;  &lt;p&gt;Utilizare Visual Studio 2013, uds pueden conseguir la versión express gratuita en este link &lt;a title="http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-phone" href="http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-phone"&gt;http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-phone&lt;/a&gt; (Nota: es importante que vean que para desarrollar para windows phone 8 con la version express deben utilizar Visual Studio 2012 for Windows phone, todavía no se ha liberado la versión express de Visual Studio 2013 para Windows Phone, esto debido a que probablemente será liberada con la nueva versión del sistema operativo WP8.1)&lt;/p&gt;  &lt;p&gt;Abrimos Visual Studio, seleccionamos File –&amp;gt; New Project. En las plantillas disponibles elegimos “windows phone” y luego seleccionamos “Windows Phone App”, nombramos el proyecto “MiniNavegador”. &lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_7E30396F.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_1BA51B2D.png" width="545" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Esta plantilla creara un nuevo proyecto con las referencias necesarias para desarrollar una nueva aplicación para Windows Phone 8.&lt;/p&gt;  &lt;p&gt;Lo primero que visualizarán es el Editor de XAML y el preview de su aplicación. Recuerden XAML es el lenguaje declarativo que utilizaremos para definir los elementos de la capa de interfaz de usuario de nuestra aplicación. Podemos ver a XAML como un Markup Language parecido al HTML.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_2FBE37B6.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_662EE9B8.png" width="545" height="396" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ubicaremos en el código XAML el elememento TextBlock para cambiar el titulo de la aplicación base y colocaremos un mensaje diferente a “page name”.&amp;#160; Modificar la propiedad “Text” de la siguiente manera:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="overflow: auto; width: 550px"&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;TitlePanel&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Row&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;12,17,0,28&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Aplicacion Demo&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{StaticResource PhoneTextNormalStyle}&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;12,0&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Hola Mundo&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;9,-7,0,0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{StaticResource PhoneTextTitle1Style}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;style type="text/css"&gt;



&lt;/div&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
	width: 150px;
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

  &lt;p&gt;d&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Ahora ejecutaremos la aplicación para visualizar el resultado. NOTA: Para ejecutar la aplicación utilizaremos el emulador de Windows Phone, para conocer los requerimientos mínimos para utilizarlo les recomiendo revisar esta página:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff626524(v=vs.105).aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff626524(v=vs.105).aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El resultado sera el siguiente:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_03A3CB76.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_77A1DB41.png" width="213" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El emulador de Windows Phone es una herramienta super útil. Tiene la capacida de poder rotar el telefono, hacer acercamientos, etc. es decir que el emulador prácticamente simula un telefono de verdad con todas sus capacidades: Touch, Giroscopio, etc.&lt;/p&gt;

&lt;p&gt;Creación de la Interfaz de Usuario&lt;/p&gt;

&lt;p&gt;En esta aplicación generaremos un MiniNavegador, la idea es que el usuario pueda ingresar una url para visualizar una pagina web dentro de nuestra aplicación.&lt;/p&gt;

&lt;p&gt;Seleccionaremos en el diseñador el Textbox “Aplicacion Demo” e iremos a la ventana de propiedades para cambiar su propiedad Text a “Mi primer Aplicación” &lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_60E293B8.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_07447704.png" width="206" height="372" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_4297DCC2.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_44D4657E.png" width="260" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Repetiremos los mismo pasos para modificar el Textbox “Hola Mundo” para cambiarlo a “Mini Nav.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_321F6BC7.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_1B60243E.png" width="179" height="332" /&gt;&lt;/a&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_76CE96B9.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_3221FC78.png" width="257" height="215" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Ahora le daremos la capacidad a nuestra aplicación de ejecutarse en modo Portrait y Modo Landscape. En MainPage.xaml dirigirse hasta la primer línea, en la definición del tag &amp;lt;phone: PhoneApplicationPage .. luego ir a las propiedades y cambiar la propiedad “SupportedOrientations” a “PortraitOrLandscape”&lt;/p&gt;

&lt;p&gt;A continuación agregaremos un Textbox para permitirle al usuario ingresar el URL del sitio Web a Visitar.&amp;#160; Primero vamos al menu “ToolBox” y dentro de los “Windows Phone Common Controls” Eligiremos el TextBox&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_2D3F48BC.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_53A12C07.png" width="268" height="327" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Arrastramos el TextBpx hacia el diseñador y nos aseguramos de colocarlo justo debajo del TextBox “Mini Nav.” minimizamos el ancho del mismo con el mouse para dejar un espacio para colocar posteriormente un boton.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_35C2A806.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; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_0A11DE0A.png" width="175" height="330" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Ahora configuramos las siguientes propiedades del control &lt;/p&gt;

&lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;&lt;strong&gt;Propiedad&lt;/strong&gt;&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;&lt;strong&gt;Valor&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;Name&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;URL&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;Text&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;http://www.microsoft.com&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;TextWrapping&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;NoWrap&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;Height&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Auto&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;Width&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Auto&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;HorizontalAlignment&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Stretch&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="198"&gt;VerticalAligment&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Top&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;Asegurarse de mover nuevamente con el mouse el ancho del TextBox para dejar espacio para el boton. &lt;/p&gt;

&lt;p&gt;La configuración de estas propiedades las hicimos con el fin de soportar las presentaciones Portrait y Landscape, asi cuando se rote de vertical a horizontal el telefono el textbox se estire para dar mas espacio.&lt;/p&gt;

&lt;p&gt;Ahora agregaremos el boton, colocarlos a la par del textbox que acabamos de agregar&lt;/p&gt;

&lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;&lt;strong&gt;Propiedad&lt;/strong&gt;&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;&lt;strong&gt;Valor&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Go&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Content&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Go&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Height&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Auto&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Width&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Auto&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;HorizontalAlignment&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Right&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;VerticalAlignment&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Top&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;Por ultimo agregaremos el control de tipo WebBrowser ubicado en la sección “All Windows Phone Controls” del Toolbox, colocarlo debajo del textbox y boton que acamos de agregar.&lt;/p&gt;

&lt;p&gt;Con el mouse asegurarnos de extender el control para que ocupe el espacio disponible en la pantalla. Asignaremos las siguientes propiedades al boton:&lt;/p&gt;

&lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Propiedad&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Valor&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;MiniBrowser&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Height&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Auto&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;Width&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Auto&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;HorizontalAlignment&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Stretch&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;VerticalAlignment&lt;/td&gt;

      &lt;td valign="top" width="200"&gt;Stretch&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;El Xaml deberá quedar de la siguiente manera, si desean pueden copiarlo para replicar el formato de presentación&lt;/p&gt;

&lt;div style="overflow: auto; width: 550px"&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ContentPanel&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Row&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;12,0,12,0&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;URL&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;10,10,85,0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.bing.com&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Top&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Go&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Go&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;340,10,0,0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Top&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;phone:WebBrowser&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;MiniBrowser&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;19,87,0,0&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_73529680.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_609D9CC9.png" width="195" height="359" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Ahora agregaremos la lógica de programación para que al momento que el usuario ingrese una url y presione el boton, la página se despliegue en el navegador que hemos agregado.&lt;/p&gt;

&lt;p&gt;En el diseñador, hacer doble click sobre el boton “Go”, esto generará el código necesario para manejar el evento “Click” del boton. Agregar el siguiente código dentro del nuevo método creado:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Go_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
{
   &lt;span class="kwrd"&gt;string&lt;/span&gt; url = URL.Text;
   MiniBrowser.Navigate(&lt;span class="kwrd"&gt;new&lt;/span&gt; Uri(url,UriKind.Absolute));
}&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Estamos listos para ejecutar nuevamente la aplicación.&amp;#160; Eligiremos la opción “Emulator WVGA 512” para el emulador, luego presionamos run&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_49DE5540.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_4972224B.png" width="215" height="35" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Al ejecutar la aplicación presionamos el boton “Go” y debemos tener el como resultado la navegación a la pagina. Pueden elegir cambiar el modo del telefono de para verlo horizontalmente, veran como los controles con las propiedades seteadas se estiran o ajustan al nuevo tamaño.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_76F3420E.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_2D63F411.png" width="168" height="303" /&gt;&lt;/a&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_566E930D.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_6AF3E28B.png" width="51" height="207" /&gt;&lt;/a&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_2CFA51CD.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/carloslone/Media/image_thumb_2ECAA794.png" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Felicidades Haz completado tu primer aplicación para Windows Phone 8.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Mas Información:&lt;/p&gt;

&lt;p&gt;Si quieren ver correr su aplicación en su telefono_, deberán registrarlo primero. Seguir los pasos explicados en el siguiente link:&lt;/p&gt;

&lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769508(v=vs.105).aspx" href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769508(v=vs.105).aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769508(v=vs.105).aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quieren ver más aplicaciones de ejemplo? Descargarlas en el siguiente link:&amp;#160; &lt;a title="http://go.microsoft.com/fwlink/?LinkId=257926" href="http://go.microsoft.com/fwlink/?LinkId=257926"&gt;http://go.microsoft.com/fwlink/?LinkId=257926&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quieren seguir un curso completo de Desarrollo GRATIS?, lo tienen en el siguiente link: &lt;/p&gt;

&lt;p&gt;&lt;a title="http://aka.ms/wpdevbegin" href="http://aka.ms/wpdevbegin"&gt;http://aka.ms/wpdevbegin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;y este otro&lt;/p&gt;

&lt;p&gt;&lt;a title="http://aka.ms/wp8js" href="http://aka.ms/wp8js"&gt;http://aka.ms/wp8js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Bien &lt;a href="mailto:amig@s"&gt;amig@s&lt;/a&gt;, espero pronto inicien el desarrollo de aplicaciones para sus telefonos.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Saludos,&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Carlos A. Lone&lt;/p&gt;</description><pubDate>Sat, 16 Nov 2013 13:06:06 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/windows-phone-8-hello-world</guid></item><item><title>Nuevo Video del Curso Introducción a C# con Visual Studio 2012</title><link>https://weblogs.asp.net:443/carloslone/nuevo-video-del-curso-introducci-243-n-a-c-con-visual-studio-2012</link><description>&lt;p&gt;&lt;a href="mailto:Estimad@s"&gt;Estimad@s&lt;/a&gt; Amig@s,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ya se&amp;nbsp;encuentra publicado un Nuevo video del curso Introducción a C# con Visual Studio 2012.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;ol style="font: 13px/13px arial, sans-serif; list-style: none; margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px;" itemtype="http://schema.org/VideoGallery" itemscope=""&gt;&lt;li class="playlist-video-item&amp;#10;odd&amp;#10;&amp;#10;" style="border-width: 1px 0px 0px; margin: 0px; padding: 20px; color: rgb(85, 85, 85); line-height: 14px; font-family: Arial; font-size: 13px; border-top-color: rgb(216, 216, 216); border-top-style: solid; background-color: rgb(255, 255, 255);"&gt;&lt;div class="playlist-video-item-base-content watched" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; overflow: hidden; font-size: 13px; position: relative; background-color: transparent;" itemtype="http://schema.org/VideoObject" itemscope="" itemprop="associatedMedia"&gt;&lt;div class="thumb-container" style="margin: 0px 10px 0px 0px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 13px; float: left; background-color: transparent;"&gt;&lt;a title="Introducción a C# con Visual Studio 2012: Estructuras Cíclicas (Bucle For)" class="ux-thumb-wrap yt-uix-sessionlink" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; color: rgb(39, 147, 230); overflow: hidden; font-size: 13px; text-decoration: none; display: inline-block; position: relative; cursor: pointer; background-color: transparent;" href="http://www.youtube.com/watch?v=OQXBhNW6HcU&amp;amp;list=PL4sq1lTiEeXS6vb4dbZMFnTBn4p0gr9Np&amp;amp;index=11" data-sessionlink="ei=BB1eUvnTHsmtsQe8yYHIBg&amp;amp;feature=plpp_video"&gt;&lt;span class="video-thumb  yt-thumb yt-thumb-106" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; width: 106px; overflow: hidden; font-size: 0px; vertical-align: middle; display: inline-block; position: relative; opacity: 0.7; background-color: rgb(241, 241, 241);"&gt;&lt;span class="yt-thumb-default" style="margin: 0px; padding: 0px 0px 59.62px; border: 0px currentColor; border-image: none; height: auto; font-size: 0px; display: block; background-color: transparent;"&gt;&lt;span class="yt-thumb-clip" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: -100px; top: -100px; text-align: center; right: -100px; bottom: -100px; font-size: 0px; white-space: nowrap; position: absolute; -ms-word-break: normal; background-color: transparent;"&gt;&lt;span class="yt-thumb-clip-inner" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 306px; height: 259.62px; font-size: 0px; position: absolute; background-color: transparent;"&gt;&lt;br class="Apple-interchange-newline"&gt;&lt;img width="106" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 13px; vertical-align: middle; display: inline-block; background-color: transparent;" alt="Thumbnail" src="http://i1.ytimg.com/vi/OQXBhNW6HcU/default.jpg"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="vertical-align" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; height: 259.62px; font-size: 0px; vertical-align: middle; display: inline-block; background-color: transparent;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="video-time" style="margin: 0px; padding: 0px 4px; border-radius: 2px; border: 0px currentColor; border-image: none; height: 14px; right: 2px; bottom: 2px; color: rgb(255, 255, 255); line-height: 14px; font-size: 12px; font-weight: bold; vertical-align: top; display: inline-block; position: absolute; -ms-zoom: 1; opacity: 0.7; background-color: rgb(0, 0, 0);"&gt;13:32&lt;/span&gt;&lt;button title="Watch Later" class="addto-button video-actions spf-nolink addto-watch-later-button yt-uix-button yt-uix-button-default yt-uix-button-size-small yt-uix-tooltip" role="button" style="margin: 0px; padding: 0px; outline: 0px; border-radius: 2px; border: 1px solid rgb(211, 211, 211); border-image: none; width: 22px; height: 22px; right: 2px; bottom: 2px; color: rgb(51, 51, 51); line-height: normal; font-family: arial, sans-serif; font-size: 11px; font-weight: bold; text-decoration: none; vertical-align: middle; display: inline-block; white-space: nowrap; position: absolute; cursor: pointer; -ms-word-wrap: normal; opacity: 0; box-shadow: 0px 1px 0px rgba(0,0,0,0.047058); background-color: rgb(248, 248, 248); -webkit-box-shadow: rgba(0, 0, 0, 0.0470588) 0px 1px 0px;" type="button" data-video-ids="OQXBhNW6HcU"&gt;&lt;span class="yt-uix-button-content" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 11px; background-color: transparent;"&gt;&lt;img style='background-position: -40px -1363px; margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; height: 13px; font-size: 11px; vertical-align: middle; background-image: url("http://s.ytimg.com/yts/imgbin/www-hitchhiker-vflucdFjB.webp"); background-repeat: no-repeat no-repeat;' alt="Watch Later" src="http://s.ytimg.com/yts/img/pixel-vfl3z5WfW.gif"&gt;&lt;/span&gt;&lt;/button&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="video-index" style="margin: 0px; padding: 3px 5px; border-radius: 2px; border: 0px currentColor; border-image: none; left: 5px; top: 16px; color: rgb(255, 255, 255); font-size: 12px; font-weight: bold; position: absolute; opacity: 0.7; background-color: rgb(0, 0, 0);"&gt;11&lt;/span&gt;&lt;div class="video-thumb-watched" style="margin: 0px; padding: 0px 8px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 90px; color: rgb(255, 255, 255); font-size: 10px; font-weight: bold; position: absolute; opacity: 0.5; background-color: rgb(0, 0, 0);"&gt;WATCHED&lt;/div&gt;&lt;div class="video-info " style="margin: 0px 0px 0px 116px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 13px; background-color: transparent;"&gt;&lt;div class="video-overview yt-grid-fluid" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; overflow: hidden; font-size: 13px; background-color: transparent;"&gt;&lt;h3 class="video-title-container" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; overflow: hidden; font-size: 13px; white-space: nowrap; -ms-word-wrap: normal; -ms-text-overflow: ellipsis; background-color: transparent;"&gt;&lt;a title="Introducción a C# con Visual Studio 2012: Estructuras Cíclicas (Bucle For)" class="yt-uix-sessionlink" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; color: rgb(39, 147, 230); font-size: 13px; text-decoration: none; cursor: pointer; background-color: transparent;" href="http://www.youtube.com/watch?v=OQXBhNW6HcU&amp;amp;list=PL4sq1lTiEeXS6vb4dbZMFnTBn4p0gr9Np&amp;amp;index=11" data-sessionlink="ei=BB1eUvnTHsmtsQe8yYHIBg&amp;amp;feature=plpp_video"&gt;&lt;span class="title video-title" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; color: rgb(39, 147, 230); font-size: 13px; font-weight: bold; background-color: transparent;" dir="ltr"&gt;Introducción a C# con Visual Studio 2012: Estructuras Cíclicas (Bucle For)&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="video-details" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; height: 24px; line-height: 24px; font-size: 13px; background-color: transparent;"&gt;&lt;span class="video-owner" style="margin: 0px 5px 0px 0px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 13px; background-color: transparent;"&gt;by&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a class="yt-uix-sessionlink yt-user-name " style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; color: rgb(51, 51, 51); font-size: 13px; text-decoration: none; cursor: pointer; background-color: transparent;" dir="ltr" href="http://www.youtube.com/user/carloslonegt?feature=playlist" data-sessionlink="ei=BB1eUvnTHsmtsQe8yYHIBg&amp;amp;feature=playlist"&gt;Carlos Lone&lt;/a&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="video-view-count" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 13px; background-color: transparent;"&gt;35 views&lt;/span&gt;&lt;/p&gt;&lt;p class="video-description yt-ui-ellipsis yt-ui-ellipsis-2" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; line-height: 1.2em; overflow: hidden; font-size: 13px; display: block; max-height: 2.4em; background-color: transparent;"&gt;&lt;span class="yt-ui-ellipsis-wrapper" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; font-size: 13px; display: block; background-color: transparent;" data-original-html="En este video daremos una introducción al concepto de las estructuras cíclicas y aprenderemos a utilizar el Bucle For&amp;#10;      "&gt;En este video daremos una introducción al concepto de las estructuras cíclicas y aprenderemos a utilizar el Bucle For&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;El código de los ejemplos utilizados pueden descargarlos en &lt;a href="https://latamcsharpvs2012.codeplex.com/"&gt;https://latamcsharpvs2012.codeplex.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Saludos,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Carlos A. Lone&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><pubDate>Wed, 16 Oct 2013 04:56:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/carloslone/nuevo-video-del-curso-introducci-243-n-a-c-con-visual-studio-2012</guid><category>C#</category><category>vs 2012</category></item></channel></rss>