<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rubén Hinojosa Chapel - Blog personal &#187; Tecnologías .NET</title>
	<atom:link href="http://www.hinojosachapel.com/category/dotnet/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hinojosachapel.com</link>
	<description>Consultoria empresarial, Tecnologias .NET, Desarrollo web y Comunicacion digital. Investigacion y Desarrollo en Musica Algoritmica.</description>
	<lastBuildDate>Sun, 05 Feb 2012 19:50:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>II Evento CatDotNet &#8211; Primera parte</title>
		<link>http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx</link>
		<comments>http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx#comments</comments>
		<pubDate>Sun, 05 Feb 2012 19:44:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=992</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx' addthis:title='II Evento CatDotNet &#8211; Primera parte '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>El pasado sábado 28 de enero se realizó, en Barcelona, el segundo evento catdotNet, dedicado a la exposición de temas actuales relacionados con la plataforma .NET y otras tecnologías de Microsoft. Aunque ha pasado una semana desde entonces, no quería dejar de escribir una breve reseña sobre lo acontecido en el encuentro. El evento lo abrió Eduard [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx' addthis:title='II Evento CatDotNet &#8211; Primera parte' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx' addthis:title='II Evento CatDotNet &#8211; Primera parte '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/IIEventoCatdotnet.jpg"><img class="aligncenter size-full wp-image-993" title="II Evento Catdotnet" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/IIEventoCatdotnet.jpg" alt="II Evento Catdotnet" width="672" height="259" /></a></p>
<p>El pasado sábado 28 de enero se realizó, en Barcelona, el <a title="II Evento CatDotNet" href="http://catdotnet.net/ii-evento-catdotnet/" target="_blank">segundo evento catdotNet</a>, dedicado a la exposición de temas actuales relacionados con la plataforma .NET y otras tecnologías de Microsoft. Aunque ha pasado una semana desde entonces, no quería dejar de escribir una breve reseña sobre lo acontecido en el encuentro.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/asistentes.jpg"><img class="size-full wp-image-995 aligncenter" title="II Evento CatDotNet - Asistentes" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/asistentes.jpg" alt="II Evento CatDotNet - Asistentes" width="640" height="480" /></a></p>
<p>El evento lo abrió <a title="Eduard Tomàs i Avellana" href="http://geeks.ms/blogs/etomas/" target="_blank">Eduard Tomàs</a> con la disertación <strong>Cómo realizar una app metro style con C# y Expression Blend</strong>. En Windows 8 tendremos dos categorías de aplicaciones. Por una parte, existirán las aplicaciones de escritorio (<em>Desktop</em>) de toda la vida, en un entorno visual muy similar al de Windows 7. Por otra, existirán (en realidad, coexistirán) las aplicaciones <em>Metro style</em>, optimizadas para la interacción táctil y pensadas para ser usadas en dispositivos móviles tipo <em>tablets</em>. Eduard se centró en estas últimas, y en describir una de las vías que tendremos los desarrolladores para programarlas: la dualidad XAML-C#.<span id="more-992"></span></p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas1.jpg"><img class="aligncenter size-full wp-image-1002" title="Eduard Tomas" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas1.jpg" alt="Eduard Tomas" width="640" height="480" /></a></p>
<p>En Modo <em>Desktop</em> seguiremos programando con .NET, como en Windows 7, y las aplicaciones que corran allí serán capaces de ejecutarse en Windows 8. Las aplicaciones <em>Metro style</em>, que ocuparán siempre toda la pantalla (<em>full screen</em>), como sus parientes de Windows Phone 7, requieren un nuevo modelo de desarrollo.</p>
<p>Es aquí donde entra en escena WinRT. Haremos la interfaz gráfica con XAML (también se podrá hacer con HTML5 y CSS3), y en el <em>code behind</em> usaremos C# u otro lenguaje como VB.NET para realizar llamadas a WinRT, que se expondrá como si fuesen clases reales de .NET. Básicamente será como lo que hoy hacemos con WPF y Silverlight.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas2.jpg"><img class="aligncenter size-full wp-image-1004" title="Eduard Tomas - Aplicaciones Metro en C# y XAML" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas2.jpg" alt="Eduard Tomas - Aplicaciones Metro en C# y XAML" width="640" height="480" /></a></p>
<p>Eduard enfatizó en este último punto. Explicó que de Silverlight a Metro hay un paso. Que XAML es muy parecido. Y que para el <em>code behind</em> tendremos que aprender WinRT.</p>
<p>En mi <a title="Cámaras DGT para Windows Phone 7, disponible en el Marketplace" href="http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx" target="_blank">anterior post</a> puse un enlace a <a title="The WinRT Genome Project" href="http://thewire.vertigo.com/2011/the-winrt-genome-project/" target="_blank"><em>The WinRT Genome Project</em></a>, donde se realiza una comparación entre Silverlight y WinRT. Allí vemos que algunas cosas quedarán fuera, que la mayor parte de Silverlight quedará incluida en WinRT, y que tendremos muchas cosas nuevas para estudiar y aprender.</p>
<p>Microsoft se esforzó con Windows Phone 7 en ofrecer herramientas que facilitaran la fluidez de las aplicaciones mientras son ejecutadas. En Windows 8 también dispondremos de herramientas para dotar de fluidez a las aplicaciones Metro. Esencialmente dispondremos de mecanismos simples para realizar llamadas asíncronas. C# 5 nos ofrece las directivas <strong>async</strong> y <strong>await</strong> para que las llamadas a métodos asíncronos sea tan sencilla como una llamada a métodos síncronos.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas3.jpg"><img class="aligncenter size-full wp-image-1010" title="Eduard Tomas - async y await" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas3.jpg" alt="Eduard Tomas - async y await" width="640" height="480" /></a></p>
<p>Eduard utilizó la versión 11 de Visual Studio, que viene en la <em>preview</em> de Windows 8, para mostrarnos una sencilla aplicación de WinForm que realiza llamadas asíncronas a un método que podría bloquear la interfaz gráfica del programa mientras se ejecuta. Naturalmente, tal bloqueo no ocurre y la interfaz continúa respondiendo fluidamente. Justo lo que se pretende con las directivas <strong>async</strong> y <strong>await</strong>. Por cierto, el orador no dejó pasar la ocasión y destacó que estábamos viendo una aplicación de Windows Form en Windows 8.</p>
<p>Luego de la demostración, conocimos cómo será el Ciclo de Vida de una aplicación Metro. En cada momento sólo se ejecutará una aplicación. Ésta puede pasar al estado <strong>Terminada</strong>, o puede pasar a <strong>Suspensión</strong>, desde donde también podría terminar su ejecución. La sensación de <em>déjà vu</em> fue inmediata. Ya tenemos ese esquema en Windows Phone 7.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas4.jpg"><img class="aligncenter size-full wp-image-1015" title="Eduard Tomas - Ciclo de vida de una aplicación" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas4.jpg" alt="Eduard Tomas - Ciclo de vida de una aplicación" width="640" height="480" /></a></p>
<p>En el teléfono existen algunos casos especiales que son excepciones. Por ejemplo, una aplicación que reproduzca archivos de música puede pasar a un segundo plano y ser suspendida. Sin embargo, si utiliza el servicio adecuado puede seguir reproduciendo la música mientras en primer plano se ejecuta otra aplicación.</p>
<p>Es el caso de <a title="easyTube" href="http://www.windowsphone.com/es-ES/apps/76cb1d4f-432b-4adf-a6f5-d90d53197b99" target="_blank">easyTube</a>, una excelente aplicación que disfruto y recomiendo. Permite ver, descargar y almacenar vídeos de Youtube en el teléfono. Pero en el caso que nos ocupa, podemos reproducir el sonido de los vídeos de forma contínua, uno tras otro, mientras ejecutamos otra aplicación. En cuanto a Windows 8, no quedó claro en la presentación si existirán este tipo de excepciones, aunque yo apostaría con los ojos cerrados a que sí.</p>
<p>Por último, vimos cómo se integrarán las aplicaciones Metro con la pantalla de inicio. Tendremos los <strong><em>Lives Tiles</em></strong>, muy parecidos a los que ya tenemos en el teléfono. Además de servir de punto de inicio de la aplicación, como sucede con los viejos iconos, es un espacio dinámico que puede mostrar información variable, incluso si la aplicación no se está ejecutando.</p>
<p>En ellos veremos los <strong><em>badges</em></strong>, pequeños iconos o números que nos informan de algún suceso. Por ejemplo, en el teléfono, cuando recibimos correos o mensajes, aparecen esos numeritos en los correspondientes <em>Live Tiles</em> indicándonos que los hemos recibido y cuántos han entrado.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas5.jpg"><img class="aligncenter size-full wp-image-1016" title="Eduard Tomas - Integración con home screen" src="http://www.hinojosachapel.com/wp-content/uploads/2012/02/eduard_tomas5.jpg" alt="Eduard Tomas - Integración con home screen" width="640" height="480" /></a></p>
<p>También existirán notificaciones (<strong>toasts</strong>), parecidas a las que aparecen en el área de notificación de Windows 7, que pueden enviar las aplicaciones, incluso aunque no se estén ejecutando (<strong><em>Scheduled Toasts</em></strong>).</p>
<p>A continuación intervinieron otros ponentes. <a title="Alex Casquete en II Evento CatDotNet" href="http://www.idlebit.es/2012/01/18/ii-evento-catdotnet/" target="_blank">Alex Casquete</a> nos explicó cómo desarrollar <strong>aplicaciones Windows Metro Style con HTML5, CSS3 y Javascript</strong>. Toni Recio habló de <strong><em>Natural User Interfaces</em>, Microsoft Kinect y WPF</strong>, y realizó una divertida demostración. Y por último, <a title="Blog de Rodrigo Corral" href="http://geeks.ms/blogs/rcorral/" target="_blank">Rodrigo Corral</a> e <a title="Blog de Ibon Landa" href="http://geeks.ms/blogs/ilanda/" target="_blank">Ibon Landa</a> nos hablaron sobre <strong>Optimización y rendimiento de aplicaciones con Visual Studio y Windows Azure</strong>.</p>
<p>Debido a la extensión del evento, he decidido dejar para futuras entradas las reseñas de estas tres intervenciones. Todas resultaron de gran calidad e interés, y considero que, por méritos propios, cada una merece un post en exclusiva.</p>
<p><strong>Nota:</strong> Fotos tomadas con mi teléfono móvil.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx' addthis:title='II Evento CatDotNet &#8211; Primera parte' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2012/02/ii-evento-catdotnet-primera-parte.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cámaras DGT para Windows Phone 7, disponible en el Marketplace</title>
		<link>http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx#comments</comments>
		<pubDate>Sat, 31 Dec 2011 19:23:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=875</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>¿Alguna vez has deseado ver el estado del tráfico desde cualquier lugar? Con Cámaras DGT puedes ver una selección de las imágenes de las cámaras publicadas por la Dirección General de Tráfico y servicios afines. Puedes escoger aquellas que prefieras y guardarlas como favoritas. Así podrás visualizarlas cómodamente cada vez que ejecutes la aplicación. Necesitas [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2.png"><img class="size-medium wp-image-878 aligncenter" title="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2-180x300.png" alt="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2a.png"><img class="aligncenter size-full wp-image-882" title="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2a.png" alt="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Horizontal" width="495" height="296" /></a></p>
<p>¿Alguna vez has deseado ver el estado del tráfico desde cualquier lugar? Con <strong>Cámaras DGT</strong> puedes ver una selección de las imágenes de las cámaras publicadas por la Dirección General de Tráfico y servicios afines. Puedes escoger aquellas que prefieras y guardarlas como favoritas. Así podrás visualizarlas cómodamente cada vez que ejecutes la aplicación. Necesitas conexión a internet para ver las imágenes.</p>
<p><a title="Descargar Cámaras DGT para Windows Phone 7, de Rubén Hinojosa" href="http://www.windowsphone.com/es-ES/apps/8d22cbdc-1fba-4f38-bdbf-8be56cf84434" target="_blank">Descarga <strong>Cámaras DGT</strong> para Windows Phone 7</a></p>
<p><a href="http://www.windowsphone.com/es-ES/apps/8d22cbdc-1fba-4f38-bdbf-8be56cf84434" target="_blank"><img class="alignnone size-full wp-image-919" title="Descargar Cámaras DGT para Windows Phone 7, de Rubén Hinojosa" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/Download-Spanish-Med.png" alt="Descargar Cámaras DGT para Windows Phone 7, de Rubén Hinojosa" width="165" height="54" /></a></p>
<p>Es gratis <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  <span id="more-875"></span></p>
<p style="border-top-style: dotted; border-top-width: 1px; border-top-color: #cccccc; padding-top: 10px;"><strong>Cámaras DGT</strong> es mi primera aplicación para Windows Phone 7. Muestra imágenes estáticas publicadas por la Dirección General de Tráfico, los ayuntamientos de Madrid y Barcelona, y el <em>Servei Català de Trànsit</em>. Puede que en un futuro próximo agregue más cámaras de otras comunidades y ciudades españolas. ¿Quieres ver tu ciudad? No dudes en <a title="Contacto | Rubén Hinojosa Chapel - Blog personal" href="http://www.hinojosachapel.com/contacto" target="_self">contactarme</a>.</p>
<p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7.png"><img class="alignnone size-medium wp-image-939" title="Cataluña (Molins de Rei) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7-180x300.png" alt="Cataluña (Molins de Rei) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7a.png"><img class="alignnone size-full wp-image-935" title="Cataluña (Molins de Rei) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7a.png" alt="Cataluña (Molins de Rei) Horizontal" width="495" height="296" /></a></p>
<p>La aplicación ha estado disponible en el Marketplace desde hace un mes y medio. Exactamente desde el 14 de noviembre de 2011. A pesar del corto tiempo que lleva publicada, me ha sorprendido agradablemente el número de veces que ha sido descargada, no sólo en España, sino también en el resto de los países desde donde se puede descargar.</p>
<p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14.png"><img class="alignnone size-medium wp-image-948" title="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14-180x300.png" alt="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14a.png"><img class="alignnone size-full wp-image-949" title="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14a.png" alt="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Horizontal" width="495" height="296" /></a></p>
<p>El proceso de creación resultó ser también un proceso de aprendizaje. Uno de los puntos fuertes de Windows Phone 7, desde el punto de vista del desarrollador .NET, es que parte de la experiencia previa y los conocimientos adquiridos en otras áreas de la plataforma son utilizables o extrapolables al sistema de desarrollo del teléfono. La dualidad XAML+C#, presentada bajo el nombre de <em><a title="Silverlight for Windows Phone" href="http://www.microsoft.com/silverlight/windows-phone/" target="_blank">Silverlight for Windows Phone</a></em>, no es nueva. Ya la tuvimos en WPF (<em><a title="Windows Presentation Foundation" href="http://es.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank">Windows Presentation Foundation</a></em>), en <a title="Silverlight 5 released; will there be a Silverlight 6?" href="http://arstechnica.com/microsoft/news/2011/12/silverlight-5-released-will-there-be-a-silverlight-6.ars" target="_blank">Silverlight</a> (originalmente llamado <em>WPF/Everywhere</em>), y la tendremos en pocos meses en el futuro Windows 8 bajo el nombre de <a title="WinRT demystified (a third implementation of the XAML-based UI system)" href="http://tirania.org/blog/archive/2011/Sep-15.html" target="_blank">WinRT</a> (<em><a title="The WinRT Genome Project" href="http://thewire.vertigo.com/2011/the-winrt-genome-project/" target="_blank">Windows Runtime</a></em>).</p>
<p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20.png"><img class="alignnone size-medium wp-image-953" title="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20-180x300.png" alt="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20a.png"><img class="alignnone size-full wp-image-954" title="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20a.png" alt="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Horizontal" width="495" height="296" /></a></p>
<p>Luego están los temas realmente nuevos. No solamente hay que aprender la colección de nuevos controles Silverlight, propios del teléfono móvil, o las nuevas clases que realizan tareas asociadas a este tipo de dispositivo. Hay que conocer también el nuevo y premiado lenguaje de diseño visual <a title="Metro (design language)" href="http://en.wikipedia.org/wiki/Metro_(design_language)" target="_blank">Metro</a>. Hay que entender la filosofía que subyace en él. Y hay que comprender que <a title="Introduction To Designing For Windows Phone 7 And Metro" href="http://uxdesign.smashingmagazine.com/2011/12/20/introduction-designing-windows-phone-7-metro/" target="_blank">aquí no se diseña como se hace para iOS o Android</a>.</p>
<p>Windows Phone 7 es un universo nuevo, emocionante y en expansión, que se apoya en <a title="Cómo abrir el menú Inicio en Windows Mobile con C#" href="http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx" target="_blank">tecnologías maduras</a> de Microsoft. Es una propuesta <strong>diferente</strong>. Ha llegado último a la fiesta pero, como dicen en mi pueblo, <em>no van lejos los de alante si los de atrás corren bien</em>. La empresa de Redmond está desarrollando una estrategia global de largo recorrido, que pasa por su alianza con Nokia, la adaptación de <a title="Interfaz de Windows 8 al descubierto: Metro UI para todos" href="http://www.genbeta.com/sistemas-operativos/windows-8-para-tablets-al-descubierto-interfaz-metro-para-todos" target="_blank">Metro para tablets en Windows 8</a>, la reciente actualización de la interfaz de la <a title="Xbox 360 se viste de Metro para llevarse mejor con Windows Phone y Kinect" href="http://www.xataka.com/consolas-y-videojuegos/xbox-360-se-viste-de-metro-para-llevarse-mejor-con-windows-phone-y-kinect" target="_blank">Xbox con Metro</a>, el fuerte apoyo a los desarrolladores y una inusual campaña de márketing (centrada fundamentalmente en los Estados Unidos), entre otras acciones. Definitivamente, el nuevo año 2012 se presenta como una etapa muy interesante de eso que han dado en llamar la era post PC.</p>
<p><strong>NOTA:</strong> Cuando escribí el refrán <em>No van lejos los de <strong>alante</strong>&#8230;</em> me asaltó la duda. ¿Debería haber dicho <strong>adelante</strong>? Por mucho que la <a title="Alante" href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;LEMA=alante" target="_blank">RAE</a> no acepte el vocablo, si lo hubiese cambiado habría falseado la literalidad de la frase tal como la escuché siempre y como permanece viva en el habla popular. Una búsqueda en internet me llevó al <a title="Alante" href="http://blog.lengua-e.com/2010/alante/" target="_blank">Blog de la Lengua</a>. Tanto el artículo como la aportación muy interesante de los comentaristas ofrecen bastante luz al respecto.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Silverlight for Windows Phone<br />
</strong><a title="Silverlight for Windows Phone" href="http://www.microsoft.com/silverlight/windows-phone/" target="_blank">http://www.microsoft.com/silverlight/windows-phone</a>/</p>
<p><strong>Windows Presentation Foundation<br />
</strong><a title="Windows Presentation Foundation" href="http://es.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank">http://es.wikipedia.org/wiki/Windows_Presentation_Foundation</a></p>
<p><strong>Silverlight 5 released; will there be a Silverlight 6?<br />
</strong><a title="Silverlight 5 released; will there be a Silverlight 6?" href="http://arstechnica.com/microsoft/news/2011/12/silverlight-5-released-will-there-be-a-silverlight-6.ars" target="_blank">http://arstechnica.com/microsoft/news/2011/12/silverlight-5-released-will-there-be-a-silverlight-6.ars</a></p>
<p><strong>WinRT demystified<br />
</strong><a title="WinRT demystified" href="http://tirania.org/blog/archive/2011/Sep-15.html" target="_blank">http://tirania.org/blog/archive/2011/Sep-15.html</a></p>
<p><strong>The WinRT Genome Project<br />
</strong><a title="The WinRT Genome Project" href="http://thewire.vertigo.com/2011/the-winrt-genome-project/" target="_blank">http://thewire.vertigo.com/2011/the-winrt-genome-project</a>/</p>
<p><strong>Metro (design language)<br />
</strong><a title="Metro (design language)" href="http://en.wikipedia.org/wiki/Metro_(design_language)" target="_blank">http://en.wikipedia.org/wiki/Metro_(design_language)</a></p>
<p><strong>Introduction To Designing For Windows Phone 7 And Metro<br />
</strong><a title="Introduction To Designing For Windows Phone 7 And Metro" href="http://uxdesign.smashingmagazine.com/2011/12/20/introduction-designing-windows-phone-7-metro/" target="_blank">http://uxdesign.smashingmagazine.com/2011/12/20/introduction-designing-windows-phone-7-metro/</a></p>
<p><strong>Interfaz de Windows 8 al descubierto: Metro UI para todos<br />
</strong><a title="Interfaz de Windows 8 al descubierto: Metro UI para todos" href="http://www.genbeta.com/sistemas-operativos/windows-8-para-tablets-al-descubierto-interfaz-metro-para-todos" target="_blank">http://www.genbeta.com/sistemas-operativos/windows-8-para-tablets-al-descubierto-interfaz-metro-para-todos</a></p>
<p><strong>Xbox 360 se viste de Metro para llevarse mejor con Windows Phone y Kinect<br />
</strong><a title="Xbox 360 se viste de Metro para llevarse mejor con Windows Phone y Kinect" href="http://www.xataka.com/consolas-y-videojuegos/xbox-360-se-viste-de-metro-para-llevarse-mejor-con-windows-phone-y-kinect" target="_blank">http://www.xataka.com/consolas-y-videojuegos/xbox-360-se-viste-de-metro-para-llevarse-mejor-con-windows-phone-y-kinect</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Mon, 17 Oct 2011 20:57:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=815</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>En la época del iOS, Android, BlackBerry OS, e incluso de un casi recién nacido Windows Phone 7 que pretende crecer de forma acelerada, hablar de Windows Mobile puede parecer demodé, fuera de moda. Y lo es. &#8220;Microsoft ha matado a su sistema operativo Windows Mobile&#8220;, decía en mi entrada anterior Cómo abrir el menú [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3.png"><img class="size-full wp-image-817 aligncenter" title="Teléfono v3" src="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3.png" alt="Teléfono v3" width="348" height="498" /></a></p>
<p>En la época del iOS, Android, BlackBerry OS, e incluso de un casi recién nacido Windows Phone 7 que pretende crecer de forma acelerada, hablar de Windows Mobile puede parecer <em>demodé</em>, fuera de moda. Y lo es. &#8220;<em>Microsoft ha matado a su sistema operativo Windows Mobile</em>&#8220;, decía en mi entrada anterior <a title="Cómo abrir el menú Inicio en Windows Mobile con C#" href="http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx" target="_blank">Cómo abrir el menú Inicio en Windows Mobile con C#</a>. Con el objetivo de recuperar parte del terreno perdido, Microsoft ha venido realizando un amplio conjunto de acciones dirigidas a estimular el mercado de Windows Phone 7. De momento, <a title="Windows Phone, a year on." href="http://www.asymco.com/2011/10/12/windows-phone-a-year-on/" target="_blank">el mercado se resiste</a>.<span id="more-815"></span></p>
<p>&#8220;<em>Visual Studio 2010 no admite el desarrollo de aplicaciones para móviles para las versiones de Windows Phone anteriores a Windows Phone 7.0.</em>&#8220;, puede <a title="Desarrollo para Smart Device" href="http://msdn.microsoft.com/es-es/library/sa69he4t.aspx" target="_blank">leerse en la MSDN</a>. Visual Studio 2008 es la última versión del entorno de desarrollo que podemos utilizar para crear aplicaciones de Windows Mobile. Quizás ésta sea una de esas acciones que comentaba antes, en este caso dirigida a desestimular el apego por la vieja plataforma.</p>
<p>Copio y pego un párrafo de mi anterior entrada sobre <a title="Movilidad | Rubén Hinojosa Chapel - Blog personal" href="http://www.hinojosachapel.com/category/movilidad" target="_blank">movilidad</a>:</p>
<p>&#8220;<em>¿Quiere decir ésto que ya hay que olvidarse, como desarrollador, de Windows Mobile? Quizás. Pero allá afuera hay un legado de aplicaciones antiguas que necesitan ser mantenidas, y lo cierto es que las nuevas tendencias en los desarrollos móviles están influyendo en los criterios de mantenimiento de aplicaciones que fueron creadas sobre una plataforma ya obsoleta.</em>&#8221;</p>
<p>Si hoy tuviera que crear una aplicación de movilidad desde cero, no la haría para Windows Mobile. Pero si tuviera que mantener una aplicación desarrollada para esa plataforma, no lo haría como se hacía hace varios años. Utilizaría ideas de diseño modernas que superan las capacidades nativas de Windows Mobile. Por ejemplo, la posibilidad de usar imágenes y botones con fondo transparente.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3-menu-inicio.png"><img class="size-full wp-image-818 aligncenter" title="Teléfono v3 menú inicio" src="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3-menu-inicio.png" alt="Teléfono v3 menú inicio" width="348" height="498" /></a></p>
<p>Para lograr éste y otros tipos de efectos visuales, existen en la red interesantes proyectos de código abierto. He seleccionado uno de ellos muy fácil de usar, <a title="AlphaMobileControls" href="http://alphamobilecontrols.codeplex.com/" target="_blank">AlphaMobileControls</a>, para crear una interfaz más actual y continuar desarrollando el proyecto pedagógico que he utilizado a lo largo de varios post: una <a title="Teléfono v3" href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/TelefonoV3.zip">sencilla aplicación</a> que sirve para hacer llamadas telefónicas, ocupa toda la pantalla y permite abrir el menú Inicio.</p>
<p>AlphaMobileControls ofrece pocas clases y controles:</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/AlphaMobileControls.png"><img class="size-full wp-image-819 aligncenter" title="AlphaMobileControls" src="http://www.hinojosachapel.com/wp-content/uploads/2011/10/AlphaMobileControls.png" alt="AlphaMobileControls" width="562" height="198" /></a></p>
<div style="text-align: left;">
<ul>
<li><strong>AlphaControl</strong>: Ancestro de los controles con transparencia.</li>
<li><strong>AlphaForm</strong>: Contenedor para colocar controles descendientes de AlphaControl. Sustituye a Windows.Forms.Form.</li>
<li><strong>AlphaImage</strong>: Imagen con transparencia. Usada por AlphaImageButton y AlphaPictureBox.</li>
<li><strong>AlphaImageButton</strong>: Botón con transparencia.</li>
<li><strong>AlphaLabel</strong>: Label con transparencia.</li>
<li><strong>AlphaPanel</strong>: Contenedor para colocar controles descendientes de AlphaControl. Sustituye a Windows.Forms.Panel.</li>
<li><strong>AlphaPictureBox</strong>: PictureBox con transparencia.</li>
</ul>
</div>
<p>Basta con sustituir en la aplicación antigua los Windows.Forms.Form por AlphaForm, o los Windows.Forms.Panel por AlphaPanel. Encima de ellos podemos colocar los botones, imágenes y etiquetas que necesite el programa. El código de ejemplo demuestra cómo hacerlo. Para los botones he utilizado un psd de la colección <a title="openPhone" href="http://walrick.deviantart.com/art/openPhone-49529974" target="_blank">openPhone</a>, creado por <a title="Walrick" href="http://walrick.deviantart.com/" target="_blank">Walrick</a>. Descarga el código del proyecto <a title="Teléfono v3" href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/TelefonoV3.zip">Teléfono v3</a>.</p>
<p><strong>Otros proyectos de interés:</strong></p>
<p><strong>Windows Mobile &#8211; Attractive UI: Part I</strong><br />
<a title="Windows Mobile - Attractive UI: Part I" href="http://www.codeproject.com/KB/windows/Windows_Mobile_UI.aspx" target="_blank">http://www.codeproject.com/KB/windows/Windows_Mobile_UI.aspx</a><br />
(Explica cómo funciona internamente AlphaMobileControls)</p>
<p><strong>Silvermoon</strong><br />
<a title="Silvermoon" href="http://silvermoon.codeplex.com/" target="_blank">http://silvermoon.codeplex.com/</a></p>
<p><strong>Composite UI Framework for Windows Mobile</strong><br />
<a title="Composite UI Framework for Windows Mobile" href="http://mobileui.codeplex.com/" target="_blank">http://mobileui.codeplex.com/</a></p>
<p><strong>Fluid &#8211; Windows Mobile .NET Touch Controls</strong><br />
<a title="Fluid - Windows Mobile .NET Touch Controls" href="http://fluid.codeplex.com/" target="_blank">http://fluid.codeplex.com/</a></p>
<p><strong>Touch UI</strong><br />
<a title="Touch UI" href="http://touchui.codeplex.com/" target="_blank">http://touchui.codeplex.com/</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cuando el SQL Server 2008 R2 Express en español no entiende el Windows en español</title>
		<link>http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx#comments</comments>
		<pubDate>Mon, 12 Sep 2011 17:33:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=796</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx' addthis:title='Cuando el SQL Server 2008 R2 Express en español no entiende el Windows en español '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>En varias ocasiones he tenido que instalar el SQL Server 2008 R2 Express, y aunque, en general, la instalación suele terminar como uno espera que termine, a veces se presentan situaciones inesperadas, a primera vista sin una explicación lógica, como la que quiero contar hoy. Tenía que instalar el SQL Server 2008 R2 Express sobre [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx' addthis:title='Cuando el SQL Server 2008 R2 Express en español no entiende el Windows en español' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx' addthis:title='Cuando el SQL Server 2008 R2 Express en español no entiende el Windows en español '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/09/sqlserver-error.png"><img class="size-full wp-image-774 aligncenter" title="sqlserver-error" src="http://www.hinojosachapel.com/wp-content/uploads/2011/09/sqlserver-error.png" alt="SQL Server setup media does not support the language of the OS or does not have ENU localized files. Use the matching language-specific SQL Server media or change the OS locale through control panel." width="431" height="189" /></a></p>
<p>En varias ocasiones he tenido que instalar el SQL Server 2008 R2 Express, y aunque, en general, la instalación suele terminar como uno espera que termine, a veces se presentan situaciones inesperadas, a primera vista sin una explicación lógica, como la que quiero contar hoy.</p>
<p>Tenía que instalar el SQL Server 2008 R2 Express sobre un Windows 7. Ambos estaban en idioma español. Ejecuto el instalador, como tantas veces, y me sale un mensaje que nunca antes había visto:</p>
<div style="margin: 0 50px 0 50px;"><em>SQL Server setup media does not support the language of the OS or does not have ENU localized files. Use the matching language-specific SQL Server media or change the OS locale through control panel.</em></div>
<p>Lo primero que me llama la atención es que el mensaje sale en inglés. &#8220;Quizás descargué la versión equivocada&#8221;, pienso, y reviso seguidamente el archivo de instalación que poco antes había bajado del sitio web de Microsoft. No, no había bajado la versión equivocada. Había descargado el instalador del SQL Server 2008 R2 Express traducido al castellano.</p>
<p>Vuelvo a leer el mensaje, intentando comprender su significado: <em>SQL Server setup media does not support the language of the OS&#8230;</em> &#8220;Esto no puede ser&#8221;, pienso. Tanto el Windows como el instalador están en el mismo idioma. ¡Esto no tiene sentido! Vamos a ver qué nos tiene que decir San Google al respecto.<span id="more-796"></span></p>
<p>Google me devuelve como primer resultado un interesante hilo en <a title="SQL Server setup media does not support the language of the OS" href="http://connect.microsoft.com/SQLServer/feedback/details/556958/sql-server-setup-media-does-not-support-the-language-of-the-os" target="_blank">Microsoft Connect</a>, donde se discute el asunto y se ofrecen soluciones.</p>
<p>Al parecer, los de Microsoft han sido más rigurosos que en versiones anteriores con el SQL Server 2008 R2, en relación con los idiomas soportados, y aparentemente en esta &#8220;mejora&#8221; se les ha colado un bug. La &#8220;mejora&#8221; la explican en el propio hilo:</p>
<div style="margin: 0 50px 0 50px; text-align: left;">
<p><em>With SQL Server 2008 R2, there was a localization change made to ensure we allow only supported configurations:</em></p>
<p><em>- ENU SQL Server installation on ENU OS</em><br />
<em>- ENU SQL Server installation on LOC OS (where LOC is any SQL-Server supported language)</em><br />
<em>- LOC SQL Server installation on LOC OS (where LOC is the same LCID for both SQL Server media and OS language setting)</em></p>
<p><em>In the past releases, other combinations were not blocked, but also were not fully supported.</em></p>
<p><em>The error message is intentional, and you need to match the system locale and SQL Server media language according to the rules that are now enforced:</em></p>
<p><em>&#8220;SQL Server setup media does not support the language of the OS or does not have ENU localized files. Use the matching language-specific SQL Server media or change the OS locale through control panel.&#8221;</em></p>
<p><em>Thanks,</em><br />
<em>Max Verun</em><br />
<em>SQL Server</em></p>
</div>
<p>Todo ésto está muy bonito, pero resulta que estoy haciendo lo que Max Verun dice que hay que hacer, y ésto no me resuelve el problema.</p>
<p>Releyendo el hilo, y buscando en otros resultados de Google, encuentro que una posible solución consiste en modificar el formato del idioma del sistema operativo. Gente de Chile o México, que tenían sus PCs en español de Chile o de México, resolvieron el problema cambiando el formato del idioma a español de España. ¡Fantástico! Pero resulta que a mí no me sirve, ¡porque mi Windows ya estaba en español de España!</p>
<p>Quizás, si fuera chileno o mexicano podría resolver el problema de esta manera.</p>
<p><strong>¡Y ésta es la solución!</strong></p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/09/configuracion-regional.png"><img class="size-full wp-image-775 aligncenter" title="configuracion-regional" src="http://www.hinojosachapel.com/wp-content/uploads/2011/09/configuracion-regional.png" alt="Ventana de Configuración regional y de idioma" width="477" height="295" /></a></p>
<p>Ve al Panel de Control y abre la ventana de Configuración regional y de idioma. Cambia el formato del idioma a otro cualquiera  (Español de Chile o México, por ejemplo) y acepta los cambios. Vuelve a abrir la misma ventana, pon el formato a Español (España) y acepta nuevamente. Y <em>voilà</em>. Ahora la instalación del SQL Server 2008 R2 Express no debería mostrar el error.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>SQL Server setup media does not support the language of the OS</strong><br />
<a title="SQL Server setup media does not support the language of the OS" href="http://connect.microsoft.com/SQLServer/feedback/details/556958/sql-server-setup-media-does-not-support-the-language-of-the-os" target="_blank">http://connect.microsoft.com/SQLServer/feedback/details/556958/sql-server-setup-media-does-not-support-the-language-of-the-os</a></p>
<p><strong>Versiones en idioma local en SQL Server</strong><br />
<a title="Versiones en idioma local en SQL Server" href="http://msdn.microsoft.com/es-es/library/ee210665(v=SQL.105).aspx" target="_blank">http://msdn.microsoft.com/es-es/library/ee210665(v=SQL.105).aspx</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx' addthis:title='Cuando el SQL Server 2008 R2 Express en español no entiende el Windows en español' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/09/cuando-el-sql-server-2008-r2-express-en-espanol-no-entiende-el-windows-en-espanol-2.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo abrir el menú Inicio en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Sun, 06 Feb 2011 21:00:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=740</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Microsoft ha matado a su sistema operativo Windows Mobile. Tras los numerosos retrasos en el desarrollo de Windows Mobile 7, aceptó sabiamente que el proyecto ya era un fracaso aún antes de ver la luz. iPhone y Android habían tomado la delantera, y amenazaban con dejar fuera de la carrera a quien años atrás había [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/menuinicio.png"><img class="aligncenter size-full wp-image-742" title="Cómo abrir el menú Inicio en Windows Mobile con C#" src="http://www.hinojosachapel.com/wp-content/uploads/2011/02/menuinicio.png" alt="Cómo abrir el menú Inicio en Windows Mobile con C#" width="296" height="460" /></a></p>
<p>Microsoft ha matado a su sistema operativo Windows Mobile. Tras los numerosos retrasos en el desarrollo de Windows Mobile 7, aceptó sabiamente que el proyecto ya era un fracaso aún antes de ver la luz. iPhone y Android habían tomado la delantera, y amenazaban con dejar fuera de la carrera a quien años atrás había sido el líder. Así que en diciembre de 2008 <a title="How Microsoft Hit CTRL+ALT+DEL on Windows Phone" href="http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1" target="_blank">apretó CTRL+ALT+DEL</a> y comenzó a crear un nuevo sistema operativo para teléfonos inteligentes, apoyándose en tecnologías que ya tenían cierto recorrido: el núcleo de Windows Mobile (Windows CE 6.0 R3), la plataforma .NET, Silverlight y XNA Framework. De esta manera nació el <a title="Inicio de Windows Phone | Windows Phone 7 " href="http://www.microsoft.com/windowsphone/es-es/default.aspx" target="_blank">Windows Phone 7</a>.</p>
<p>En cuanto estuvieron disponibles las primeras betas del sistema y de las herramientas de desarrollo, Microsoft inició una frenética cruzada para captar desarrolladores de aplicaciones. Con su ya famoso grito de guerra <em><a title="Developers, developers, developers" href="http://www.youtube.com/watch?v=t6ZarKIKpSA" target="_blank">Developers, developers, developers!,</a></em> Steve Ballmer reconocía la importancia de este sector en su estrategia global. Windows Phone 7 no tendría futuro si no contaba con su propia tienda de aplicaciones, por lo que tendría que potenciar el ya existente <a title="Aplicaciones | Windows Phone 7 " href="http://www.microsoft.com/windowsphone/es-es/apps/default.aspx" target="_blank">Marketplace</a>.<br />
<span id="more-740"></span><br />
Microsoft ha intentado convencer a miles de desarrolladores de que el futuro está en <a title="App Hub - home" href="http://create.msdn.com/en-US/" target="_blank">WP7</a>, y ha llevado a cabo numerosas acciones para facilitar el aprendizaje de la nueva plataforma tecnológica (<a title="Windows Phone 7 Development for Absolute Beginners" href="http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners" target="_blank">Windows Phone 7 Development for Absolute Beginners</a>, <a title="Windows Phone 7 Training Course" href=" http://msdn.microsoft.com/es-es/wp7trainingcourse" target="_blank">Windows Phone 7 Training Course</a>). Después de todo, tiene una tienda que llenar de productos nuevos para ayer mismo. ¿Quiere decir ésto que ya hay que olvidarse, como desarrollador, de Windows Mobile? Quizás. Pero allá afuera hay un legado de aplicaciones antiguas que necesitan ser mantenidas, y lo cierto es que las nuevas tendencias en los desarrollos móviles están influyendo en los criterios de mantenimiento de aplicaciones que fueron creadas sobre una plataforma ya obsoleta.</p>
<p>Hoy en día se tiende a aprovechar todo el espacio físico que ofrece la pantalla del teléfono, maximizando el tamaño de la ventana de la aplicación. Por ejemplo, <a title="i-nigma Reader" href="http://www.i-nigma.com/Downloadi-nigmaReader.html" target="_blank">i-nigma</a>, un difundido lector de códigos QR, utiliza este principio de diseño GUI.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/i-nigma.jpg"><img class="aligncenter size-full wp-image-743" title="i-nigma" src="http://www.hinojosachapel.com/wp-content/uploads/2011/02/i-nigma.jpg" alt="" width="240" height="320" /></a></p>
<div id="_mcePaste">Pero esta forma de diseñar la interfaz gráfica de la aplicación tiene un efecto colateral: la barra superior que muestra la hora, el menú de Inicio y otros datos, queda oculta bajo la ventana de la aplicación. Si el usuario quisiese desplegar el menú de Inicio para abrir otro programa tendría que cerrar antes la aplicación actual.</div>
<p>En cierta ocasión viví en primera persona esta historia, pues los usuarios estaban habituados a consultar el calendario y otras aplicaciones mientras utilizaban el programa que me había tocado mantener. Propuse maximizar la ventana, y así se hizo. Tras las primeras pruebas de los <em>key users</em>, las protestas no tardaron en llegar. Tenía dos opciones: o daba marcha atrás y dejaba el diseño de la interfaz como estaba anteriormente, o mantenía el nuevo diseño, más moderno, y ofrecía una solución que resolviera el nuevo problema.</p>
<p>Y la solución fue simular por programación que el usuario hacía click sobre el icono del menu Inicio. ¿Y cómo podemos abrir el menú Inicio en Windows Mobile con C#? Pongamos manos a la obra.</p>
<p>Los teclados que han sido creados específicamente para ser usados en ordenadores con Windows <em>(Microsoft Natural Keyboard</em>) tienen dos teclas especiales que muestran el logotipo de este sistema operativo. Cuando se presiona cualquiera de los dos, el resultado es el mismo: se despliega el menú Inicio. En un dispositivo con Windows Mobile podemos simular esta acción mediante la función <strong><a title="keybd_event" href="http://msdn.microsoft.com/en-us/library/aa928103.aspx" target="_blank">keybd_event</a></strong>, que se encuentra en la dll no administrada <strong>coredll.dll</strong>, por lo que tendremos que utilizar <strong><a title="keybd_event (coredll)" href="http://pinvoke.net/default.aspx/coredll.keybd_event" target="_blank">P/Invoke</a></strong> para importarla a nuestro código C#:</p>
<p>[System.Runtime.InteropServices.DllImport("coredll.dll", EntryPoint = "keybd_event", SetLastError = true)]</p>
<p>internal static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);</p>
<p>Una vez que hemos importado esta función, sólo nos resta usarla con los valores adecuados. El código de la tecla izquierda con el logotipo de Windows (<em>Left Windows key</em>) es <strong>0x5B</strong>. Tendremos que simular dos eventos: cuando se oprime la tecla, y cuando se libera. El código del primer evento es cero (<strong>0&#215;0</strong>), mientras que el del  segundo es 2 (<strong>0&#215;2</strong>). Ahora tendríamos que colocar sobre la interfaz de nuestra aplicación una imagen o un botón, y asociarle un evento que &#8220;oprima&#8221; y &#8220;libere&#8221; el menú de inicio. El código fuente en C# quedaría más o menos así:</p>
<p>const int VK_LWIN = 0x5B;<br />
const int KEYEVENTF_KEYUP = 0&#215;2;<br />
const int KEYEVENTF_KEYDOWN = 0&#215;0;</p>
<p>private void btnInicio_Click(object sender, EventArgs e)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event(VK_LWIN, 0, KEYEVENTF_KEYDOWN, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);<br />
}</p>
<p>En este código de ejemplo hemos utilizado la declaración de varias <a title="Virtual-Key Codes" href="http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx" target="_blank">constantes</a>, pero podríamos haber utilizado el tipo enumerativo <a title="Keys Enumeration" href="http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(VS.90).aspx" target="_blank"><strong>Keys</strong></a>, del espacio de nombres <strong>System.Windows.Forms</strong>. El código alternativo y equivalente quedaría así:</p>
<p>private void btnInicio_Click(object sender, EventArgs e)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event((byte)Keys.LWin, 0, KEYEVENTF_KEYDOWN, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event((byte)Keys.LWin, 0, KEYEVENTF_KEYUP, 0);<br />
}</p>
<p>Nótese que hemos necesitado realizar un <em>typecast </em>sobre el valor <strong>Keys.LWin</strong>, porque la función <strong>keybd_event()</strong> espera como primer parámetro un valor de tipo <strong>byte</strong>.</p>
<p>He aprovechado el código de ejemplo de la entrada <strong><a title="Cómo hacer una llamada telefónica en Windows Mobile con C#" href="http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx" target="_blank">Cómo hacer una llamada telefónica en Windows Mobile con C#</a></strong> para ampliarlo con esta nueva funcionalidad. <a title="Cómo abrir el menú Inicio en Windows Mobile con C#" href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/TelefonoV2.zip">Descarga la nueva versión</a> y comprueba su utilidad.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Cómo abrir el menú Inicio en Windows Mobile con C#</strong><br />
<a title="Cómo abrir el menú Inicio en Windows Mobile con C#: Código fuente" href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/TelefonoV2.zip">El código fuente del proyecto</a></p>
<p><strong>keybd_event</strong><br />
<a title="keybd_event" href="http://msdn.microsoft.com/en-us/library/aa928103.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/aa928103.aspx</a></p>
<p><strong>keybd_event (coredll)</strong><br />
<a title="keybd_event (coredll)" href="http://pinvoke.net/default.aspx/coredll.keybd_event" target="_blank">http://pinvoke.net/default.aspx/coredll.keybd_event</a></p>
<p><strong>Virtual-Key Codes</strong><br />
<a title="Virtual-Key Codes" href="http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx" target="_blank">http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx</a></p>
<p><strong>Keys Enumeration</strong><br />
<a title="Keys Enumeration" href="http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(VS.90).aspx" target="_blank">http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(VS.90).aspx</a></p>
<p><strong>How Microsoft Hit CTRL+ALT+DEL on Windows Phone</strong><br />
<a title="How Microsoft Hit CTRL+ALT+DEL on Windows Phone" href="http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1" target="_blank">http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1</a></p>
<p>ACTUALIZACIÓN</p>
<p><strong>Windows Phone OS 7.0: What&#8217;s inside?</strong><br />
<a title="Windows Phone OS 7.0: What's inside?" href="http://www.zdnet.com/blog/microsoft/windows-phone-os-70-whats-inside/6110" target="_blank">http://www.zdnet.com/blog/microsoft/windows-phone-os-70-whats-inside/6110</a></p>
<p><strong>¿Porqué sería posible instalar Windows Phone 7 en un smartphone Nokia?</strong><br />
<a title="¿Porqué sería posible instalar Windows Phone 7 en un smartphone Nokia?" href="http://logica10mobile.blogspot.com/2011/02/porque-seria-posible-instalar-windows.html" target="_blank">http://logica10mobile.blogspot.com/2011/02/porque-seria-posible-instalar-windows.html</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pesadilla en una tarde de verano: IIS7 y los módulos HTTP</title>
		<link>http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx</link>
		<comments>http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx#comments</comments>
		<pubDate>Fri, 16 Jul 2010 07:17:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=702</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx' addthis:title='Pesadilla en una tarde de verano: IIS7 y los módulos HTTP '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Tienes una aplicación web ASP.NET que lleva tiempo funcionando sin problemas. La desarrollaste en Windows XP con Visual Studio 2005. Hacías las pruebas en local con la versión 5 del IIS, la que viene con el XP Professional, o con el servidor de desarrollo de Visual Studio (Cassini), y en producción tenías un Windows Server [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx' addthis:title='Pesadilla en una tarde de verano: IIS7 y los módulos HTTP' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx' addthis:title='Pesadilla en una tarde de verano: IIS7 y los módulos HTTP '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2010/07/iis7.jpg"><img class="aligncenter size-full wp-image-703" title="Internet Information Services 7" src="http://www.hinojosachapel.com/wp-content/uploads/2010/07/iis7.jpg" alt="Internet Information Services 7" width="480" height="359" /></a></p>
<p>Tienes una aplicación web ASP.NET que lleva tiempo funcionando sin problemas. La desarrollaste en Windows XP con Visual Studio 2005. Hacías las pruebas en local con la versión 5 del IIS, la que viene con el XP Professional, o con el servidor de desarrollo de Visual Studio (<strong>Cassini</strong>), y en producción tenías un Windows Server 2003 con la versión 6 del IIS. Todo iba como la seda.</p>
<p>Salió el Visual Studio 2008 y, a la primera oportunidad, te subiste al carro de la modernidad. Y, luego de algunos pequeños ajustes, como adaptar el proyecto a la nueva versión de Crystal Reports, todo seguía como la seda.</p>
<p>Pero como en esta vida también hace falta emoción y suspense, la seda dejó de ser lo que era. Los Reyes Magos te trajeron un nuevo ordenador con Vista o Windows 7, o cambiaste el plan de alojamiento del sitio web y ahora tienes Windows Server 2008 en producción. Ambas situaciones tienen un factor común: se llama <strong>Internet Information Services 7</strong>.<br />
<span id="more-702"></span><br />
De pronto la aplicación dejó de funcionar. La que cambió su entorno de ejecución de IIS5/6 a IIS7. Si el problema lo tienes en local, quizás dispones de un tiempo generoso para solucionarlo, pero si el problema surgió con el cambio de plan de alojamiento, ahora el tiempo es tu mayor enemigo. Bueno, el tiempo y el dueño de la web caída.</p>
<p>La pregunta es trivial, pero no deja de martillarte tu masa encefálica: ¿qué ha pasado con la web? Miras el código, analizas la arquitectura, ejecutas la aplicación repetidamente&#8230; y por fin descubres que el servidor no entiende las URLs que le escribes porque el responsable de procesarlas, el <a title="URL Rewriting in ASP.NET" href="http://msdn.microsoft.com/en-us/library/ms972974.aspx" target="_blank">módulo HTTP de reescritura de URLs</a>, ha muerto, ha dejado de existir.</p>
<p>¿Qué ha pasado? Que el IIS7 ha cambiado muchas cosas en su modo de trabajar en relación con versiones anteriores. Mantiene, por compatibilidad hacia atrás, la manera de trabajar antigua, ahora conocida como <strong>Modo Clásico</strong>, e incorpora una nueva forma de hacer las cosas, que han denominado <strong>Modo Integrado</strong>. Cuando configuras un nuevo sitio web, el modo de trabajo por defecto es el Integrado. Y si este nuevo sitio web es en realidad una web antigua de ASP.NET, es muy probable que algunas cosas dejen de funcionar, como, por ejemplo, los módulos HTTP.</p>
<p>En el Modo Integrado se ha modificado la manera de registrar los módulos HTTP mediante el archivo web.config. En versiones anteriores del IIS, estos módulos se registraban en la sección &lt;system.web&gt;/&lt;httpModules&gt;. En el Modo Integrado de la versión 7 se registran en la sección &lt;system.webServer&gt;/&lt;modules&gt; del archivo web.config.</p>
<p>Por ejemplo, si has programado el módulo &#8220;<strong>MiModulo</strong>&#8220;, el archivo web.config quedaría así:</p>
<p><strong>En versiones anteriores del IIS</strong></p>
<p>&lt;configuration&gt;<br />
&lt;system.web&gt;<br />
&lt;httpModules&gt;<br />
&lt;add name=&#8221;MiModulo&#8221; type=&#8221;MiModulo&#8221;/&gt;<br />
&lt;/httpModules&gt;<br />
&lt;/system.web&gt;<br />
&lt;/configuration&gt;</p>
<p><strong>En el Modo Integrado del IIS7</strong></p>
<p>&lt;configuration&gt;<br />
&lt;system.webServer&gt;<br />
&lt;modules&gt;<br />
&lt;add name=&#8221;MiModulo&#8221; type=&#8221;MiModulo&#8221;/&gt;<br />
&lt;/modules&gt;<br />
&lt;/system.webServer&gt;<br />
&lt;/configuration&gt;</p>
<p>Tienes la opción de dejar las cosas como estaban, y configurar el sitio web para que se ejecute en el Modo Clásico, pero de esta manera estarías renunciando a las <a title="Explore el servidor web de Windows Vista y más allá" href="http://msdn.microsoft.com/es-es/magazine/cc163453.aspx" target="_blank">nuevas posibilidades</a> que aporta la última versión del IIS.</p>
<p>Por otra parte, si desarrollas sobre Windows XP y necesitas un IIS7 local para hacer las pruebas y empezar a utilizar los nuevos recursos, <a title="How to Install IIS7 on Windows XP" href="http://blogs.iis.net/bills/archive/2010/07/12/how-to-install-iis7-on-windows-xp.aspx" target="_blank">ya es posible hacerlo</a>. Microsoft acaba de lanzar una nueva versión del Internet Information Server llamada <a title="Introducing IIS Express" href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx" target="_blank">IIS Developer Express</a>, que forma parte de  <a title="Announcing WebMatrix – a small, simple and seamless stack for Web developers" href="http://blogs.iis.net/bills/archive/2010/07/06/announcing-webmatrix-a-small-simple-and-seamless-stack-for-web-developers.aspx" target="_blank">WebMatrix</a>. Este nuevo servidor trabaja con VS2010 y Visual Web Developer 2010 Express, se ejecuta sobre Windows XP y sistemas superiores, y no necesita una cuenta de administrador. <strong>IIS Developer Express</strong> mantiene las mejores características de Cassini (el servidor de desarrollo de Visual Studio) y del IIS7.  Además, es gratis. <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Tutorial: Crear y registrar un módulo HTTP personalizado<br />
</strong><a title="Tutorial: Crear y registrar un módulo HTTP personalizado" href="http://msdn.microsoft.com/es-es/library/ms227673.aspx  " target="_blank">http://msdn.microsoft.com/es-es/library/ms227673.aspx<br />
</a><br />
<strong>HttpModule and HttpHandler sections in IIS 7 web.config files<br />
</strong><a title="HttpModule and HttpHandler sections in IIS 7 web.config files" href="http://www.west-wind.com/Weblog/posts/168221.aspx" target="_blank">http://www.west-wind.com/Weblog/posts/168221.aspx</a></p>
<p><strong>ASP.NET Integration With IIS 7<br />
</strong><a title="ASP.NET Integration With IIS 7" href="http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/" target="_blank">http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/</a></p>
<p><strong>Registering Custom HttpModule in IIS7 Web.config</strong><br />
<a title="Registering Custom HttpModule in IIS7 Web.config" href="http://elijahmanor.com/webdevdotnet/post/Registering-Custom-HttpModule-in-IIS7-Webconfig.aspx" target="_blank">http://elijahmanor.com/webdevdotnet/post/Registering-Custom-HttpModule-in-IIS7-Webconfig.aspx</a></p>
<p><strong>ASP.NET 2.0 Breaking Changes on IIS 7.0</strong><br />
<a title="ASP.NET 2.0 Breaking Changes on IIS 7.0" href="http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/" target="_blank">http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/</a></p>
<p><strong>URL Rewriting in ASP.NET<br />
</strong><a title="URL Rewriting in ASP.NET" href="http://msdn.microsoft.com/en-us/library/ms972974.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms972974.aspx</a></p>
<p><strong>Introducing IIS Express<br />
</strong><a title="Introducing IIS Express" href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx" target="_blank">http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx</a></p>
<p><strong>Explore el servidor web de Windows Vista y más allá<br />
</strong><a title="Explore el servidor web de Windows Vista y más allá" href="http://msdn.microsoft.com/es-es/magazine/cc163453.aspx" target="_blank">http://msdn.microsoft.com/es-es/magazine/cc163453.aspx</a></p>
<p><strong>Introducción a IIS 7.0<br />
</strong><a title="Introducción a IIS 7.0" href="http://technet.microsoft.com/es-es/magazine/2008.03.iis7.aspx" target="_blank">http://technet.microsoft.com/es-es/magazine/2008.03.iis7.aspx</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx' addthis:title='Pesadilla en una tarde de verano: IIS7 y los módulos HTTP' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2010/07/pesadilla-en-una-tarde-de-verano-iis7-y-los-modulos-http.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo encender el teléfono en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:53:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=673</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Recientemente un cliente me pidió, como parte de los requerimientos del proyecto, que para realizar ciertas acciones en su aplicación de Windows Mobile se encendiera y apagara el teléfono automáticamente, sin que el usuario tuviera que intervenir. Concretamente, la aplicación tiene que abrir una conexión de datos GPRS, conectarse a un webservice situado en un [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center; "><a href="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encender-telefono.png"><img class="aligncenter size-full wp-image-677" title="encender-telefono" src="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encender-telefono.png" alt="encender-telefono" width="350" height="502" /></a></p>
<p>Recientemente un cliente me pidió, como parte de los requerimientos del proyecto, que para realizar ciertas acciones en su aplicación de Windows Mobile se encendiera y apagara el teléfono automáticamente, sin que el usuario tuviera que intervenir. Concretamente, la aplicación tiene que abrir una conexión de datos GPRS, conectarse a un <em>webservice</em> situado en un servidor de Internet, e intercambiar cierta información con éste. El teléfono no se utiliza para comunicaciones de voz, sólo de datos.</p>
<p>Como era una tarea que nunca antes había realizado, tuve que recurrir a Google para intentar encontrar la solución, alguna solución cercana, a alguna pista que me llevara hacia ella. Pronto la decepción se apropió de mí. Por más que buscaba y buscaba cómo encender el teléfono en Windows Mobile con C#, no encontraba nada, a pesar de que la búsqueda la realizaba en Inglés, <a title="El Inglés es el idioma más difundido en Internet" href="http://www.internetworldstats.com/stats7.htm" target="_blank">el idioma más difundido en la red</a>.</p>
<p>Sin embargo, aunque lentamente, poco a poco me fui acercando a la solución. La causa de la falta de respuestas era que no estaba escribiendo la pregunta correcta. Para un usuario común puede que la frase &#8220;encender el teléfono&#8221; le resultara natural, pero en términos más técnicos el enfoque correcto es &#8220;encender la radio del dispositivo móvil&#8221;. Y en Inglés. Algo así como: <a title="Buscar con Google: turn radio on and off windows mobile c#" href="http://www.google.com/search?q=turn+radio+on+and+off+windows+mobile+c%23&amp;btnG=Buscar&amp;hl=es&amp;lr=&amp;rlz=1C1CHNG_esES344ES344&amp;sa=2" target="_blank">turn radio on and off windows mobile c#</a>. Aunque en este contexto existen otros posibles sinónimos de <em>turn</em>, como <em>switch</em> o <em>toggle</em>.<br />
<span id="more-673"></span><br />
Resulta que en la ROM del dispositivo existe una dll no documentada llamada <strong>ossvcs.dll</strong>, que exporta funciones para controlar los Dispositivos de Radio (<em>Radio Devices</em>). Es decir, los módulos de Bluetooth, Teléfono y Red Inalámbrica (WiFi). <strong>Ossvcs.dll</strong> exporta las funciones por un número de orden y no por su nombre. Estas funciones pertenecen a un API no administrado, por lo que para invocarlas desde nuestro código C# necesitaremos declarar los prototipos mediante p/Invoke. Las funciones que necesitamos son las siguientes:</p>
<p><strong>[DllImport("ossvcs.dll", EntryPoint = "#276", CharSet = CharSet.Unicode)]<br />
private static extern uint GetWirelessDevice(ref IntPtr pDevice, int pDevVal);</strong></p>
<p><strong>[DllImport("ossvcs.dll", EntryPoint = "#273", CharSet = CharSet.Unicode)]<br />
private static extern uint ChangeRadioState(ref RDD pDevice, int dwState, int saveAction);</strong></p>
<p><strong>[DllImport("ossvcs.dll", EntryPoint = "#280", CharSet = CharSet.Unicode)]<br />
private static extern uint FreeDeviceList(IntPtr pDevice);</strong></p>
<p>Nótese cómo <strong>EntryPoint</strong> contiene el número de orden que identifica a la función invocada.</p>
<p>De las tres funciones, la que realmente nos interesa es<strong> ChangeRadioState()</strong>, porque justamente es la que nos permite cambiar el estado de la radio. Es decir, encenderla o apagarla. O dicho de forma llana, encender o apagar el teléfono.</p>
<p>He creado una clase llamada<strong> MobileRadio</strong>, que expone un único método público estático: <strong>SetDeviceState()</strong>. Este método acepta dos argumentos de tipo entero. El primero indica el tipo de dispositivo, y el segundo informa el estado al que se desea cambiar. El tipo de dispositivo puede ser uno de los siguientes: Bluetooth, el Teléfono o la Red Inalámbrica (WiFi). No necesitas conocer de memoria los valores enteros que se pueden traspasar. La clase <strong>MobileRadio</strong> exporta también dos estructuras (<strong>RADIODEVTYPE</strong> y <strong>RADIODEVSTATE</strong>) que contienen las constantes necesarias.</p>
<p>Para encender el teléfono basta la siguiente línea de código:</p>
<p><strong>MobileRadio.SetDeviceState(MobileRadio.RADIODEVTYPE.PHONE, MobileRadio.RADIODEVSTATE.ON);</strong></p>
<p>Y para apagarlo, ¿lo adivinas? <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Para conocer el estado actual del teléfono, si está encendido o apagado, utilizamos la propiedad booleana <strong><a title="La propiedad PhoneRadioOff en la MSDN" href="http://msdn.microsoft.com/es-es/library/microsoft.windowsmobile.status.systemstate.phoneradiooff(en-us).aspx" target="_blank">PhoneRadioOff</a></strong> de la clase <strong>SystemState</strong>, situada en el espacio de nombres <strong>Microsoft.WindowsMobile.Status</strong>:</p>
<p><strong>Microsoft.WindowsMobile.Status.SystemState.PhoneRadioOff</strong></p>
<p>Esta propiedad es verdadera (<em>true</em>) si la radio del dispositivo está apagada, y falsa (<em>false</em>) en caso contrario.</p>
<p>Puedes descargar el proyecto completo desde <a title="Descargar Cómo encender el teléfono en Windows Mobile con C#: Código fuente" href="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encendertelefono.zip">aquí</a>.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Cómo encender el teléfono en Windows Mobile con C#<br />
</strong><a title="Cómo encender el teléfono en Windows Mobile con C#: Código fuente" href="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encendertelefono.zip">El código fuente del proyecto</a></p>
<p><strong>Turn radio on and off as needed</strong><br />
<a title="Turn radio on and off as needed" href="http://community.intermec.com/t5/General-Development-Developer/Turn-radio-on-and-off-as-needed/m-p/138" target="_blank">http://community.intermec.com/t5/General-Development-Developer/Turn-radio-on-and-off-as-needed/m-p/138</a></p>
<p><strong>Controlling the Radio Devices</strong><br />
<a title="Controlling the Radio Devices " href="http://www.teksoftco.com/articles/article%20007/radiodevices.htm" target="_blank">http://www.teksoftco.com/articles/article%20007/radiodevices.htm</a></p>
<p><strong>Toggle WiFi/BT/Phone using .NET code only!!!</strong><br />
<a title="Toggle WiFi/BT/Phone using .NET code only!!!" href="http://forum.xda-developers.com/showthread.php?t=413159" target="_blank">http://forum.xda-developers.com/showthread.php?t=413159</a></p>
<p><strong>PInvoke.net: A wiki for .NET developers</strong><br />
<a title="PInvoke.net: A wiki for .NET developers" href="http://www.pinvoke.net/" target="_blank">http://www.pinvoke.net/</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cómo hacer una llamada telefónica en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Thu, 06 Aug 2009 12:24:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=582</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Un teléfono móvil moderno, provisto de Windows Mobile, nos permite abrir archivos de MS Office, leer PDFs, hacer fotos, leer el correo electrónico, acceder a contenidos online por RSS, llevar la agenda de actividades, gestionar nuestros contactos, escuchar música, ver vídeos, chatear, jugar, ejecutar aplicaciones de un amplio rango&#8230; Además, por si no fuera suficiente, [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><img class="aligncenter size-full wp-image-583" title="Aplicación Teléfono" src="http://www.hinojosachapel.com/wp-content/uploads/2009/08/telefono.jpg" alt="telefono" width="301" height="465" /></p>
<p>Un teléfono móvil moderno, provisto de Windows Mobile, nos permite abrir archivos de MS Office, leer PDFs, hacer fotos, leer el correo electrónico, acceder a contenidos online por RSS, llevar la agenda de actividades, gestionar nuestros contactos, escuchar música, ver vídeos, chatear, jugar, ejecutar aplicaciones de un amplio rango&#8230; Además, por si no fuera suficiente, también sirve para hacer llamadas telefónicas. <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Realizar una llamada telefónica mediante código C# desde una aplicación nuestra de Windows Mobile es algo ridículamente simple, gracias a un recurso que Microsoft ha puesto a nuestra disposición: la clase <a title="Clase Phone" href="http://msdn.microsoft.com/es-es/library/microsoft.windowsmobile.telephony.phone(en-us).aspx" target="_blank">Phone</a>. Esta clase se encuentra definida dentro del ensamblado Microsoft.WindowsMobile.Telephony (en la DLL microsoft.windowsmobile.telephony.dll), por lo que debemos agregar una referencia a este ensamblado en nuestro proyecto de Visual Studio.<span id="more-582"></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-584" title="Microsoft.WindowsMobile.Telephony" src="http://www.hinojosachapel.com/wp-content/uploads/2009/08/referencias.jpg" alt="Microsoft.WindowsMobile.Telephony" width="311" height="264" /></p>
<p>Ahora sólo nos resta declarar y crear un objeto de la clase <strong>Phone</strong>, y llamar a su método mágico: <a title="Método Talk() de la clase Phone" href="http://msdn.microsoft.com/es-es/library/aa455391(en-us).aspx" target="_blank">Talk()</a>.</p>
<p>Phone p = new Phone();<br />
p.Talk(numero);</p>
<p>Este método recibe como parámetro un texto (<em>string</em>) que representa el número al cual se desea llamar: public void Talk(string number).</p>
<p>El proceso no es silencioso. Realmente lo que hace es ejecutar (y mostrar) el programa <em>Teléfono</em> del sistema operativo. Delega en él todas las operaciones, como por ejemplo, colgar la llamada.</p>
<p>Puedes descargarte el proyecto completo desde <a title="Descargar proyecto de la aplicación Teléfono" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/telefono.zip">aquí</a>.</p>
<p>¿Y por qué necesitaríamos realizar llamadas telefónicas desde una aplicación propia? ¿Acaso para escribir una versión mejorada del programa nativo? Yo conozco al menos un caso en que sí es necesario acudir a esta funcionalidad. Hace algunos años tuve que desarrollar una <a title="Aplicación OIGAA" href="http://www.oigaa.com/howitworks/application.htm" target="_blank">aplicación de telecomunicaciones</a> que necesitaba, como parte de su funcionamiento, realizar llamadas automáticamente a un cierto número. La aplicación OIGAA convierte los teléfonos móviles en extensiones de la centralita corporativa, permitiendo a sus usuarios responder desde cualquier lugar como si estuvieran en la oficina, y ofreciendo además diversas funcionalidades de valor añadido. Aquí te dejo algunas capturas de pantalla de la aplicación ejecutándose en el emulador de dispositivos móviles.</p>
<ul>
<li><a title="OIGAA: Pantalla de autenticación" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa1.jpg">OIGAA: Pantalla de autenticación</a></li>
<li><a title="OIGAA: Conexión y actualización inicial de datos" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa2.jpg">OIGAA: Conexión y actualización inicial de datos</a></li>
<li><a title="OIGAA: Agenda de contactos. Posibilidad de iniciar una conexión de VoIP" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa3.jpg">OIGAA: Agenda de contactos. Posibilidad de iniciar una conexión de VoIP</a></li>
<li><a title="OIGAA: Configuración del tipo de llamada y el mensaje de presencia" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa4.jpg">OIGAA: Configuración del tipo de llamada y el mensaje de presencia</a></li>
</ul>
<p><strong>Enlaces de interés:</strong><br />
<a href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/telefono.zip">Código completo del ejemplo</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cómo migrar una aplicación .NET de 32 a 64 bit</title>
		<link>http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx</link>
		<comments>http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx#comments</comments>
		<pubDate>Sat, 01 Nov 2008 13:25:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=455</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx' addthis:title='Cómo migrar una aplicación .NET de 32 a 64 bit '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Con el lanzamiento de la versión 2.0 de la plataforma .NET, Microsoft incluyó soporte para entornos de 64 bit basados en microprocesadores Itanium y x64. Las anteriores versiones 1.1 y 1.0 no ofrecían este tipo de soporte. El entorno de desarrollo de aplicaciones .NET (SDK, Visual Studio 2005) permite compilar las aplicaciones en tres modos [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx' addthis:title='Cómo migrar una aplicación .NET de 32 a 64 bit' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx' addthis:title='Cómo migrar una aplicación .NET de 32 a 64 bit '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Con el lanzamiento de la versión 2.0 de la plataforma .NET, Microsoft incluyó soporte para entornos de 64 bit basados en microprocesadores Itanium y x64. Las anteriores versiones 1.1 y 1.0 no ofrecían este tipo de soporte.</p>
<p>El entorno de desarrollo de aplicaciones .NET (SDK, Visual Studio 2005) permite compilar las aplicaciones en tres modos diferentes: sólo para ser ejecutadas sobre 32 bit, sólo para ser ejecutadas sobre 64 bit, o compiladas sólo para lenguaje intermedio (MSIL). En este último caso los ensamblados no contienen información específica de la plataforma hardware de destino, por lo que se conoce como modo agnóstico.</p>
<p>Teóricamente, una aplicación .NET compilada en modo agnóstico, el modo por defecto en que compila Visual Studio 2005, se puede ejecutar indistintamente en entornos de 32 ó 64 bit. Bastaría con desplegarla en cualquiera de los dos entornos. Sin embargo, no siempre el escenario es tan simple.<br />
<span id="more-455"></span><br />
<strong>La clave para que una aplicación sea multiplataforma es la ausencia de dependencias del hardware en el código.</strong> Por lo tanto, para migrar una aplicación de 32 a 64 bit es necesario investigar la aplicación para determinar si existen dependencias de bajo nivel. Si se detectaran, habría que estudiar cada caso ya que no existen recetas universales. Por dependencias de bajo nivel entendemos la utilización de APIs nativas (como la Win32) o de objetos<em> COM</em>.</p>
<p>Esta investigación debe dirigirse en dos direcciones: (1) descubrir y corregir las posibles dependencias del código fuente de la aplicación (nuestro código), y (2) analizar y evaluar las componentes de terceros. Si alguna de estas componentes no cumpliera los requisitos debería ser sustituida por otra equivalente válida.</p>
<p>De forma resumida, se dice que una aplicación está escrita con código seguro si sólo se ejecuta en el entorno del CLR, o sea, no se utilizan punteros de forma explícita ni llamadas de tipo pInvoke (llamadas a código no administrado, como la <em>API Win32</em>). Esto implicaría que nuestro código no esté atado al hardware, que es lo que buscamos para que la aplicación pueda ejecutarse correctamente sobre 32 y 64 bit.</p>
<p>Una pregunta común en esta situación es: ¿Cómo saber en qué entorno se ejecuta la aplicación? Cuando ejecutemos la aplicación migrada, sería útil conocer si realmente está corriendo sobre 64 bit. Sabemos que los punteros sobre 32 bit ocupan 4 bytes, mientras que sobre 64 bit tienen un tamaño de 8 bytes. Entonces, basta con conocer en tiempo de ejecución este dato.</p>
<p>La estructura <em>IntPtr</em>, del espacio de nombres <em>System</em>, nos resultará útil para averiguarlo. Esta estructura contiene una propiedad entera estática llamada <em>Size</em>, que nos devuelve justamente lo que necesitamos: un <strong>4</strong> si estamos en .NET 32 bit, o un <strong>8</strong> si estamos sobre 64 bit.</p>
<p>Puede verse claramente ahora que una aplicación que utilice punteros podría realizar operaciones que dependan de su tamaño. Si la aplicación &#8220;piensa&#8221; que está sobre 32 bit, pero está sobre 64, el resultado de estas operaciones no tiene que ser el que se esperaba. Con gran probabilidad se generará un error.</p>
<p>Conocer las zonas de nuestro código que no son seguras nos ayudará a decidir si las convertimos en código seguro, o si las hacemos dependientes de una arquitectura específica.</p>
<p>Para investigar si el código de nuestra aplicación es seguro Microsoft ofrece con el SDK una herramienta que se llama <em>Peverify.exe</em>, que podemos utilizar para analizar todas las DLLs que genera el proyecto.</p>
<p>Deberemos eliminar todas las referencias a objetos COM, buscando soluciones alternativas en cada caso, siempre basadas en código administrado.</p>
<p>Por último, debemos verificar en el entorno de desarrollo Visual Studio 2005 que la compilación de la solución se realice en modo agnóstico (<em>Any CPU</em>), que es el modo por defecto.</p>
<p>Hasta aquí habríamos &#8220;limpiado&#8221; o &#8220;asegurado&#8221; nuestro código para que se ejecute transparentemente sobre 32 o 64 bit pero, ¿qué pasa si dependemos de componentes de terceros? Estas también tienen que haber sido desarrolladas con código seguro y haber estado compiladas en modo agnóstico. Si no se cumplen estas dos condiciones habría que sustituir las componentes inadecuadas para 64 bit por otras que sí lo sean.</p>
<p>Para conocer si han sido escritas con código seguro podemos usar nuevamente la herramienta <em>PEVerify</em>, analizando cada uno de los ensamblados ajenos.</p>
<p>El problema de conocer cómo han sido compilados estos ensamblados ajenos se resuelve mediante la <strong>Reflexión</strong>, la capacidad del entorno de ejecución de .NET de acceder a los metadatos de los ensamblados y obtener información sobre los mismos. Si obtenemos el mensaje de <em>ILOnly</em>, es decir, modo agnóstico (sólo lenguaje intermedio), ya hemos llegado a la meta. Si no fuera así, tendrá que buscar componentes sustitutas que le ofrezcan las mismas funcionalidades y, además, sean aptas para entornos de 64 bit o multiplataforma. Depende de cuáles sean sus objetivos.</p>
<p>El siguiente ejemplo muestra cómo obtener la información que buscamos:</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/11/reflection_ex.gif"><img class="size-full wp-image-456 aligncenter" title="Ejemplo de Reflexión" src="http://www.hinojosachapel.com/wp-content/uploads/2008/11/reflection_ex.gif" alt="" width="500" height="291" /></a></p>
<p>Al ejecutar <em>GetAssemblyInfo()</em> obtendremos la siguiente cadena de caracteres:</p>
<p>Ensamblado de System.DateTime: &#8216;mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#8242;. Compilado para: &#8216;ILOnly, Required32Bit&#8217; &#8211; Plataforma: &#8216;I386&#8242;</p>
<p>Es decir, la versión de <em>System.DateTime</em> que estamos utilizando pertenece al ensamblado <em>mscorlib</em>, que está compilado en modo agnóstico.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Migrating 32-bit Managed Code to 64-bit</strong><br />
<a href="http://msdn.microsoft.com/en-us/library/ms973190.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms973190.aspx</a></p>
<p><strong>64-Bit .NET Framework<br />
</strong><a href="http://msdn.microsoft.com/es-es/netframework/aa496329(en-us).aspx" target="_blank">http://msdn.microsoft.com/es-es/netframework/aa496329(en-us).aspx</a></p>
<p><strong>64-bit (From Wikipedia, the free encyclopedia)<br />
</strong><a href="http://es.wikipedia.org/wiki/64_bits" target="_blank">http://es.wikipedia.org/wiki/64_bits</a></p>
<p><strong>Microsoft 64-bit Computing Overview<br />
</strong><a href="http://www.microsoft.com/servers/64bit/overview.mspx" target="_blank">http://www.microsoft.com/servers/64bit/overview.mspx</a></p>
<p><strong>Herramienta PEVerify Tool (Peverify.exe)</strong><br />
<a href="http://msdn.microsoft.com/es-es/library/62bwd2yd(VS.80).aspx" target="_blank">http://msdn.microsoft.com/es-es/library/62bwd2yd(VS.80).aspx</a></p>
<p><strong>System.IntPtr.Size<br />
</strong><a href="http://msdn.microsoft.com/es-es/library/system.intptr.size(VS.80).aspx" target="_blank">http://msdn.microsoft.com/es-es/library/system.intptr.size(VS.80).aspx</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx' addthis:title='Cómo migrar una aplicación .NET de 32 a 64 bit' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2008/11/como-migrar-una-aplicacion-net-de-32-a-64-bit.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guille Community Tour 2008 en Barcelona</title>
		<link>http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx</link>
		<comments>http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx#comments</comments>
		<pubDate>Wed, 08 Oct 2008 22:54:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://localhost/hinojosachapel.com/?p=299</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx' addthis:title='Guille Community Tour 2008 en Barcelona '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Si desarrollas para .NET, es muy probable que algunas de tus búsquedas en Internet te hayan llevado a las páginas del Guille. Pues bien, el Guille está realizando una gira por los grupos de usuarios de .NET de España durante los meses de Octubre a Diciembre. Esta semana (ayer) visitó Barcelona, donde estuvo acompañado por David Salgado, &#8220;evangelista&#8221; de Microsoft. [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx' addthis:title='Guille Community Tour 2008 en Barcelona' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx' addthis:title='Guille Community Tour 2008 en Barcelona '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille08.jpg"><img class="size-full wp-image-443 aligncenter" title="Guille Community Tour 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille08.jpg" alt="" width="500" height="155" /></a></p>
<p>Si desarrollas para .NET, es muy probable que algunas de tus búsquedas en Internet te hayan llevado a las páginas del <a title="El sitio del Guille" href="http://www.elguille.info/" target="_blank">Guille</a>. Pues bien, el Guille está realizando una <a title="Guille Community Tour 2008" href="http://www.microsoft.com/spanish/msdn/spain/eventos/communitytour.mspx" target="_blank">gira</a> por los grupos de usuarios de .NET de España durante los meses de Octubre a Diciembre. Esta semana (ayer) visitó Barcelona, donde estuvo acompañado por <a title="El blog de david Salgado." href="http://geeks.ms/blogs/dsalgado/" target="_blank">David Salgado</a>, &#8220;evangelista&#8221; de Microsoft.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille4.jpg"><img class="aligncenter size-full wp-image-444" title="El Guille en Barcelona 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille4.jpg" alt="" width="350" height="263" /></a></p>
<p>El encuentro comenzó puntualmente a las 18:00 horas. Con un tono jocoso e informal, el Guille nos fue introduciendo en las nuevas características de la plataforma .NET desde la perspectiva de la versión 9.0 de Visual Basic.NET. Entre chiste y chiste, habló de Ensamblados Amigos, Relajación de Delegados, Agilidad del <em>Runtime</em> y Tipos Anulables. Me sorprendió saber que esta última característica de los Tipos Anulables (<em>Nullable Types</em>) se introdujo en VB.NET con el <a title="Los Tipos Anulables en VB se introdujeron con VS2008." href="http://msdn.microsoft.com/en-us/library/bb981315(VS.80).aspx" target="_blank">Visual Studio 2008</a>, puesto que ya la teníamos en C# desde la versión 2.0 de la plataforma y <a title="Los Tipos Anulables en C#" href="http://msdn.microsoft.com/en-us/library/1t3y8s4s(VS.80).aspx" target="_blank">Visual Studio 2005</a>. Lo mismo ocurre con la Relajación de Delegados (<a title="Covarianza y Contravarianza en los Delegados." href="http://msdn.microsoft.com/es-es/library/ms173174(VS.80).aspx" target="_blank">Covarianza y Contravarianza</a>).<br />
<span id="more-299"></span></p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille1.jpg"><img class="aligncenter size-full wp-image-445" title="El Guille en Barcelona 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille1.jpg" alt="" width="350" height="263" /></a></p>
<p>A continuación, el Guille presentó el Operador Ternario, Los Métodos Parciales, la Inferencia de Tipos, los Tipos Anónimos y <a title="El proyecto LINQ" href="http://msdn.microsoft.com/es-es/library/bb308959.aspx" target="_blank">LINQ</a>, uno de los recursos más novedosos de Visual Basic.NET 9.0 (y también de C# 3.0). Explicó, además, las nuevas posibilidades para inicializar objetos y colecciones, las <a title="Las Expresiones Lambda." href="http://msdn.microsoft.com/es-es/library/bb397687.aspx" target="_blank">Expresiones Lambda</a> y los Métodos de Extensión. Varias de estas nuevas características se introdujeron para darle soporte a LINQ.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille5.jpg"><img class="aligncenter size-full wp-image-446" title="El Guille en Barcelona 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille5.jpg" alt="" width="350" height="263" /></a></p>
<p>Durante casi exactamente dos horas, los asistentes al evento disfrutamos de las habilidades comunicativas y la sabiduría del conferencista. Con un lenguaje claro, directo y sencillo, fue exponiendo los fundamentos de los nuevos recursos de VB 9.0, a la vez que respondía las preguntas del público. Finalmente dió paso a su compañero David Salgado, con quien había bromeado en varias ocasiones sobre la clásica disputa de Visual Basic.NET vs C#.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille2.jpg"><img class="aligncenter size-full wp-image-447" title="El Guille en Barcelona 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille2.jpg" alt="" width="350" height="303" /></a></p>
<p>A diferencia del Guille, David no trajo una presentación de PowerPoint. Prefirió ir armándola en vivo mientras explicaba los conceptos, a partir de los intereses manifestados por los participantes. Comenzó hablando de la capacidad de <em>multitargeting</em> del Visual Studio 2008. O sea, ahora Ud. puede decidir para qué versión de la plataforma quiere compilar su proyecto: 2.0 o 3.5. Si aún trabaja con proyectos de la versión 2.0, puede resultarle útil hacerlo con Visual Studio 2008, y sacarle provecho a las nuevas funcionalidades del entorno que aumentan la productividad. Por ejemplo, si desarrolla un proyecto de ASP.NET ahora puede beneficiarse del <a title="Vídeo que muestra la nueva funcionalidad de IntelliSense para JavaScript en Visual Studio 2008" href="http://msdn.microsoft.com/es-es/vs2005/bb821303(en-us).aspx" target="_blank"><em>IntelliSense</em> cuando escriba código JavaScript</a>.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/david1.jpg"><img class="aligncenter size-full wp-image-448" title="David Salgado en Barcelona 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/david1.jpg" alt="" width="350" height="287" /></a></p>
<p>David explicó el <a title=".NET Framework Client Profile" href="http://msdn.microsoft.com/es-es/library/cc656912.aspx" target="_blank"><em>Client Profile</em></a>, un subconjunto de la versión completa de <a title="Visual Studio 2008 Service Pack 1 and .NET Framework 3.5 Service Pack 1" href="http://msdn.microsoft.com/es-es/vstudio/products/cc533447(en-us).aspx" target="_blank">.NET Framework 3.5 SP1 </a>destinado a las aplicaciones cliente que proporciona un subconjunto simplificado de las características de WPF, Windows Forms, WCF y ClickOnce. Hizo énfasis en las ventajas de <a title="ASP.NET MVC: Creación de aplicaciones web sin formularios Web Forms" href="http://msdn.microsoft.com/es-es/magazine/cc337884.aspx" target="_blank">ASP.NET MVC</a>, fundamentalmente para equipos de desarrollo grandes. Ejemplificó la utilidad de <a title="Datos 2.0: Exponer y consumir datos en un mundo de servicios web" href="http://msdn.microsoft.com/es-es/magazine/cc748663.aspx" target="_blank">ADO.NET Data Services</a> y de <a title="Utilizar datos dinámicos de ASP.NET" href="http://msdn.microsoft.com/es-es/library/cc488545.aspx">ASP.NET Dynamic Data</a>. Esta última tecnología permite generar un completo sitio web de mantenimiento de una base de datos. Hasta ahora el sitio web de mantenimiento lo hacíamos &#8220;a mano&#8221;, o utilizábamos una herramienta como <a title="El sitio web oficial de Iron Speed" href="http://www.ironspeed.com/" target="_blank">Iron Speed</a>. En <a title="Your First Scaffold and What is Dynamic Data?" href="http://www.asp.net/learn/3.5-sp1/video-289.aspx" target="_blank">ASP.NET </a> puedes ver un <a title="Your First Scaffold and What is Dynamic Data?" href="http://www.asp.net/learn/3.5-sp1/video-289.aspx" target="_blank">vídeo</a> que explica cómo generar el sitio (en Inglés).</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/david21.jpg"><img class="aligncenter size-full wp-image-449" title="David Salgado en Barcelona 2008" src="http://www.hinojosachapel.com/wp-content/uploads/2008/10/david21.jpg" alt="" width="350" height="253" /></a></p>
<p>Respecto a la <a title="Internet Explorer 8" href="http://www.microsoft.com/spain/windows/internet-explorer/beta/welcome/tour.html" target="_blank">próxima versión de Internet Explorer</a>, David no ahorró elogios. Destacó la fidelidad a los estándares del nuevo IE8, el cuidado de la privacidad mientras navegamos (<em><a title="Browse privately" href="http://www.microsoft.com/windows/internet-explorer/beta/features/browse-privately.aspx" target="_blank">InPrivacy Browsing</a></em>), mayor seguridad y privacidad al evitar que sitios de terceros realicen un perfil de nuestros hábitos (<em><a title="InPrivate Blocking" href="http://www.microsoft.com/windows/internet-explorer/beta/features/browse-privately.aspx?tabid=2&amp;catid=1" target="_blank">InPrivacy Blocking</a></em>), nuevos mecanismos que facilitan la ejecución de tareas asociadas a las páginas (<a title="Acelerators" href="http://www.microsoft.com/windows/internet-explorer/beta/features/accelerators.aspx" target="_blank"><em>Accelerators</em></a><em>, </em>antes conocidos como <em>Activities</em>), mejoras en el rendimiento de JavaScript, herramientas integradas para desarrolladores&#8230;</p>
<p>Como siempre sucede, el tiempo no alcanza para ver todo lo que se podría ver. Microsoft se ha encargado en los últimos años de atiborrarnos de nuevas tecnologías, y resulta un poco difícil seguirle el ritmo. Sin embargo, hay que decir que también ha realizado un gran trabajo para poner a disposición de la comunidad un sinfín de recursos para el aprendizaje de estas nuevas tecnologías, que evolucionan a una velocidad de vértigo. Y eventos como el <a title="El cartel del evento" href="http://www.hinojosachapel.com/wp-content/uploads/2008/10/guille_community_tour_2008.png"><em>Guille Community Tour 2008</em> </a>forman parte de sus líneas de actuación. Muchas gracias, Guille y David, por ayudarnos a transitar el infinito camito del conocimiento.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx' addthis:title='Guille Community Tour 2008 en Barcelona' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2008/10/guille-community-tour-2008-en-barcelona.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

