Cómo instalar Ubuntu 14.04 en Hyper-V en una máquina de Generación 2

A la hora de estar preparando una serie de materiales para introducir Azure a los desarrolladores y administradores de sistemas que utilizan Linux en su día a día, he tenido que instalar una copia de Ubuntu sobre el Windows Server 2012 R2 que utilizo como máquina de trabajo habitual. Estos pasos son similares a si la instalación se realizará sobre Windows 8 o posterior ya que incluye el mismo hypervisor.

  1.  Accedemos a la página de Ubuntu para descargarnos la imagen .ISO. En el menú superior seleccionamos la opción de Descarga
    Ubuntu-HyperV-Gen2-Step1
  2. En este caso estaremos interesados en instalar la versión de escritorio por lo que seleccionamos Ubuntu Desktop
    Ubuntu-HyperV-Gen2-Step2
  3. Trabajaremos con la versión Ubuntu 14.04.1 LTS 64 bits por lo que podemos darle a Download directamente.
    Ubuntu-HyperV-Gen2-Step3
  4. Una vez que se ha terminado de descargar tendremos que crear una máquina virtual nueva. Para ello, abrimos el Hyper-V Manager y en el menú lateral seleccionamos New > Virtual Machine
    Ubuntu-HyperV-Gen2-Step4
  5. Elegimos el nombre de la máquina virtual
    Ubuntu-HyperV-Gen2-Step5
  6. Seleccionamos como tipo de máquina virtual la Generación 2 . Aunque en el mensaje informativo no se incluya es posible ejecutar Ubuntu en este nuevo tipo de máquinas virtuales y aprovecharnos de las ventajas respecto a la Generación 1. Únicamente será necesario modificar el uso de Secure Boot que viene activado por defecto. En un próximo paso lo cambiaremos.
    Ubuntu-HyperV-Gen2-Step6
  7. Seleccionamos la cantidad de memoria RAM que queremos asignar a la máquina y si deseamos utilizar Dynamic Memory o no.
    Ubuntu-HyperV-Gen2-Step7
  8. Configuramos el switch virtual que utilizará la máquina virtual para conectarse a la red. En este caso queremos conexión a Internet por lo que he seleccionado uno externo a través de la tarjeta inalámbrica.
    Ubuntu-HyperV-Gen2-Step8
  9. Seleccionamos el nombre y la capacidad de nuestro disco duro.
    Instalación Ubuntu en Hyper-V
  10. Indicamos que queremos instalar un nuevo sistema operativo a partir de la imagen ISO que hemos bajado e introducimos la ruta del fichero.
    Ubuntu-HyperV-Gen2-Step10
  11. Aceptamos el asistentes y en segundos nuestra máquina virtual estará creada.
    Ubuntu-HyperV-Gen2-Step11
  12. Ahora será el momento de modificar la configuración del Secure Boot para poder arrancar nuestra máquina sin problemas. Para ello seleccionamos nuestra máquina virtual en la pantalla central y en el menú lateral derecho del Hyper-V Manager la opción de Settings
    Ubuntu-HyperV-Gen2-Step12
  13. En la pestaña de Firmware deberemos de quitarle el tick al checkbox de Enable Secure Boot Tras ello aceptamos los cambios y salimos.
    Ubuntu-HyperV-Gen2-Step13
  14. Una vez finalizado los pasos anteriores arrancamos nuestra máquina virtual y podremos empezar la instalación seleccionando Install Ubuntu.
    Ubuntu-HyperV-Gen2-Step14
  15. Tras configurar todos los parámetros que nos indican tendremos nuestra máquina lista para trabajar.
    Ubuntu-HyperV-Gen2-Step16

Si tras finalizar la instalación tienes problemas de conectividad a la red puedes deberse a un problema con tu router inalámbrico si estás utilizando como yo tu tarjeta de red. En esta pregunta de Stack Overflow explican el motivo. También puedes realizar un cambio en la configuración del switch virtual como otra opción.

Preparar Visual Studio para Windows for IoT

Si ya has realizado los pasos previos que comentaba en el anterior post, lo siguiente es configurar nuestro entorno de desarrollo. Para ello, es necesario descargarse el ejecutable .msi disponible dentro de la plataforma Microsoft Connect.

WindowsDeveloperProgramForIoT

Es recomendable usar el enlace de descarga disponible dentro de la columna de “Descargar archivo único” en lugar de la opción de “Descargar” dentro del botón azul si no deseas usar el administrador de transferencia de ficheros. Dichero ejecutable incluye dos ficheros: Windows Developer Program For IoT MSI Content

 

  • GalileoWatcher.exe: es una utilidad para detectar la placa conectada a la red o al ordenador y extraer información básica de la misma como su dirección IP y su nombre.
  • Windows Developer Program for IoT.vsix: es la extensión de Visual Studio que añade soporte al desarrollo de proyectos basados en la placa galileo.

Para completar la instalación únicamente necesitas seguir el asistente que se abre cuando ejecutas el fichero .msi.

Install - Step 1

A continuación, saltará la UAC dos veces para que apruebes la instalación de la extensión y del otro programa.

Install - Step 2

Install - Step 3

Tras ello, solo tienes que abrir Visual Studio para tener listo tu proyecto C++ para comenzar con ello:

Install - Step 4

Otra herramienta que resultará útil es el cliente de Telnet para acceder de forma remota a nuestra placa y poder interactuar con ella. Para ello, únicamente necesitas seguir los siguientes pasos extraídos de la librería de TechNet:

  1. Haga clic en Inicio y, a continuación, haga clic en Panel de control.
  2. En la página Ventana principal del Panel de control, haga clic en Programas.
  3. En la sección Programas y características, haga clic en Activar o desactivar las características de Windows.
  4. Si aparece el cuadro de diálogo Control de cuentas de usuario, confirme que la acción que muestra es la que desea y, a continuación, haga clic en Continuar.
  5. En la lista Características de Windows, seleccione Cliente Telnet y, a continuación, haga clic en Aceptar

Ahora a seguir esperando por una placa para las pruebas. Por ahora, ya han comenzado a enviarlas

How to: Windows Developer program para IoT

Empezar a escribir algo siempre lleva una cierta resistencia, sobre todo cuando es con una pantalla en blanco y encima el artículo inicial del blog. Al final terminas dejándolo a un lado en busca del tiempo o la idea con la que ponerte a escribir. Creo que ese día llegó aprovechando el lanzamiento del programa para desarrolladores de Windows para el Internet de las Cosas, más conocido como el Internet of Things (IoT). En abril, en la primera keynote del Build se presentó esta nueva línea de trabajo para ofrecer la opción a los desarrolladores de poder hacer aplicaciones para esta nueva serie de dispositivos.

Sin embargo, no tiene por qué ser solo para desarrolladores. Aquellos como yo que les guste en el punto medio entre los cacharros de hardware y el software que los controla les va a resultar seguramente interesante. Rafa Serna escribía una muy buena introducción a lo que consistía Windows para el IoT. Con este artículo yo únicamente quería aclarar un poco qué pasos son necesarios para empezar a conocer más detalles de este nuevo sistema. La página clave es http://www.windowsondevices.com; sin embargo, a partir de ahí puede resultar más confuso qué es necesario realizar. Por lo tanto estos son los pasos:

  1. Seguro que quieres tener algo de hardware para probar. Si es así, accede a http://www.windowsondevices.com/signup.aspx para completar tu solicitud de una placa Intel Galileo. Hay más solicitudes que placas disponibles por lo que es posible que no todos podamos recibir una.
  2. Tras solicitar tu placa, lo siguiente es obtener el software necesario. Para ello, es necesario acceder a la plataforma Connect donde además también podrás proporcionar tus comentarios para mejorar el producto.
  3. Configura tu ordenador, tu placa Galileo y crea las primeras aplicaciones a través del portal disponible en GitHub
  4. ¿Tienes alguna duda o pregunta? A través de Twitter con el hashtag #winbuilder, los foros de MSDN o Stack Overflow puedes encontrar las respuestas

Y con esto, más o menos tendrías todo listo para empezar a trabajar con esta nueva plataforma. Ahora solo queda esperar que nos llegue una placa para probarlo.

Solucionando errores en la actualización del Bing Dynamic Theme

Si te gusta la fotografía tener Bing como página de incio es algo que debes de hacer. Cada día te sorprenderás con alguna buena imagen nueva para darte los buenos días. Si no te llega con eso, Microsoft tiene disponible el tema para Windows 7 llamado Bing Dynamic que te puedes descargar para disfrutar de las imágenes seleccionadas de Bing como fondo de pantalla.

Al ser un tema dinámico cada cierto tiempo se van descargando nuevos fondos de pantalla, si quieres saber cuándo se actualiza puedes seguir el blog de Rob Margel. Justo leyendo ese blog me di cuenta de que los fondos que comentaba nunca me aparecían y al revisar el listado de fondos de pantalla tenía la mitad de todos los que llevan publicados. Si os ha sucedido algo parecido, para resetear el tema y hacer que se vuelvan a descargar los fondos es necesario hacer lo siguiente.

A partir de ese momento, si entras en Desktop>Personalize>Desktop Background verás como poco a poco el número de fondos de pantalla va aumentando hasta, si no me equivoco, los 63 que hay ahora publicados. Los lunes por la mañana serán más entretenidos cuando veas a esa simpática foca dándote los buenos días.

Cosas a tener en cuenta al subir apps en el nuevo App Hub…

El día 18 de Julio se publicó una gran actualización del App Hub para subir aplicaciones para Windows Phone 7. Además del cambio estético a nivel completo se han realizado algunas modificaciones en el proceso de envío de aplicaciones que es importante tener en cuenta. Si has enviado alguna aplicación de forma reciente te habrás dado cuenta de ello.

  • Selección del nombre de la aplicación: Ahora ya no existe la opción de modificar el nombre de la aplicación durante el proceso de envío. El nombre es seleccionado directamente del .xap que envías. Si quieres tener diferentes nombres según el idioma de la aplicación será necesario localizar la aplicación
  • Idioma de la aplicación: Ahora es necesario seleccionar de forma explícita el idioma de la aplicación en sus propiedades. Si quieres subir una aplicación en un idioma solo; por ejemplo, en español, será necesario que lo indiques porque si no detectará también el Inglés Internacional. Puedes encontrar más información en esta entrada de los foros.
  • Subida conjunta de imágenes: Por fin es posible enviar todas las imágenes de golpe sin tener que subir una a una. Únicamente tendrás que navegar hasta el directorio y seleccionarlas todas.

Puedes encontra la información de cómo hacerlo con más detalle en la entrada del blog de Mike Francis que la he encontrado mientras buscaba por qué me sucedía lo que indicaba en el primer y segundo punto.

Modificar la navegación inicial en Windows Phone 7…

Es posible que en alguna de las aplicaciones que desarrolles para Windows Phone 7 tengas que modificar la navegación inicial dependiendo de algún parámetro; por ejemplo, algo común es que si el usuario no ha iniciado sesión se le envíe a la página de login y si ya lo ha hecho, se envíe directamente a la página principal de la aplicación.

Buscando la mejor forma de hacerlo, o mejor dicho, la que funcionara ya que la aproximación que estaba realizando no era válida, encontré el post de Peter Torr que propone dos soluciones para controlar esta situación.

Cualquiera de los dos métodos funciona para lograr lo que se desea; sin embargo, es importante tener en cuanta algunos detalles:

  • Si posteriormente quieres emplear el NavigationService para moverte entre páginas tienes que tener en cuenta que ese código se ejecutará provocándote errores. Si solo deseas que eso se evalúe la primera vez, lo mejor es que te desuscribas del evento para evitar que vuelva a ser llamado cada vez que hagas uso de los servicios de navegación.
  • Si estás con Windows Phone 7, la vista de login se quedará en el stack de navegación. Si el usuario pulsa el botón atrás le volverá a aparecer dicha vista. Por lo tanto, es recomendable utilizar la aproximación de un elemento que se coloque por encima de la vista principal y controlar su visibilidad.
  • Si por el contrario, estás con Windows Phone 7.1, parece que Microsoft ha oído las quejas de la gente por los foros añadiendo la posibilidad de eliminar una entrada del stack de navegación con el método NavigationService.RemoveBackEntry

Así que tened en cuenta estas situaciones para evitar modificar el código que ya estaba escrito y funcionando.

Aplicaciones web en Windows Phone 7…

Las formas más habituales de desarrollar aplicaciones para Windows Phone 7 es haciendo uso de los dos frameworks disponibles en la plataforma: Silverlight y XNA. Sin embargo, no es la única posibilidad que existe.

Dentro de Silverlight tenemos disponible el control WebBrowser que podemos emplear para mostrar información directamente desde Internet o, aún más interesante, emplearlo para mostrar contenido estático o dinámico dentro del teléfono. Esto abre la posibilidad de realizar aplicaciones basadas en HTML + CSS + JavaScript pudiendo reutilizar código para generar aplicaciones para las tres plataformas móviles que mayor presencia tienen actualmente.

En el blog del equipo de desarrollo de Windows Phone 7 se han publicado recientemente dos artículos bastante relacionados con este aspecto que son interesantes de leer:

Sin embargo, el estar dentro del navegador nos limita un poco la funcionalidad de nuestra aplicación. Por ejemplo, ¿cómo controlamos la navegación? ¿cómo utilizamos las funciones del teléfono como reproducir audio? Poco a poco os lo iré mostrando.

Microsoft, otra forma de ver la vida…

En las últimas semanas han ido apareciendo vídeos procedentes de Microsoft donde se muestra cómo se integran los diferentes productos que tienen en nuestro día a día. Es una campaña de publicidad muy trabajada, con muy buena calidad artística que merece la pena disfrutar de ella.

Hasta ahora, han aparecido los siguientes tres vídeos. En ellos se puede ver cómo Windows 7, Windows Phone y Windows Live nos facilitan nuestro trabajo en el día al día mostrándonos cómo podemos compartir la información de una forma rápida y sencilla. Por otra parte, también se muestran las posibilidad de ocio de estas plataformas junto con Kinect y Xbox 360.

Aquí os los dejo:

- The making of a song: Andrew Belle

- Road trip to Mt. Hood

- The making of a flash mob

¿Conoces alguna otra campaña de marketing que sea recomendable ver?

¿Cómo rellenar el formulario W8 para cobrar en el Marketplace de WP7?

Hay un gran número de desarrolladores que se están volviendo un poco locos a la hora de conseguir validar correctamente el formulario W8 para poder obtener los beneficios fiscales a la hora de recibir el pago por sus aplicaciones en el Marketplace.

Si hace unos días Javi nos daba unas pautas de cómo podemos rellenar dicho formulario de forma correcta, Microsoft ha abierto un nuevo proceso que nos puede facilitar aún más el proceso: la validación del formulario vía e-mail antes de enviarlo.

Si queréis hacerlo, aquí tenéis los pasos:

  1. Escanear el documento y enviarlo a la dirección de correo mplcomm@microsoft.com.
  2. Tu formulario será validado en un tiempo estimado de siete días laborales
  3. Los formularios sólo serán validados una única vez
  4. Es necesario enviar una copia escrita por correo postal a la siguiente dirección para que los pagos puedan efectuarse correctamente.

    Microsoft – Windows Marketplace for Mobile
    Attn: Finance Department
    29011 Commerce Center Drive
    Valencia, CA 91355
    USA

Suerte con vuestras aplicaciones! :)

Nuevas aplicaciones en el Marketplace…

Durante Navidades, estuve realizando unas pruebas rápidas de cómo funcionaba el control MutiScaleImage de Silverlight dentro de la plataforma Windows Phone 7. Ya había jugado con la tecnología DeepZoom que hay por detrás con el pivot de la PartyQuijote y quería comprobar el funcionamiento en el teléfono.

Una de las utilidades que encontré fue la de visualizar un mapa de información de la red de metro y de ahí surgieron las dos aplicaciones sencillas que ahora mismo están disponibles para su descargada desde el Marketplace: “Madrid Metro Map” y “Barcelona Metro Map“.

El resultado visualmente es muy agradable pero falta mucha mejoría por detrás para que sean de verdad unas aplicaciones prácticas. Ya he recibido recomendaciones de que cree un sistema de recomendación de rutas o incluya información de los horarios de los trenes. Lo que no me gustó es que no sea posible que las imágenes se carguen desde el dispositivo, lo que obliga a que para poder consultar el mapa tengas que emplear una conexión a Internet para que descargue los tiles. Esperemos que en alguna actualización esto sea modificado…