Lo último (?) en informática What's cooking?

domingo sep 13, 2009

Hace poco leía un artículo de la web "The Motley Fool" titulado "How IBM plans to destroy Google". Traducido al español, "Cómo IBM planea destruir a Google". Esta web, dedicada al asesoramiento y análisis del mercado de valores, se caracteriza por sus artículos sensacionalistas, y en este caso, no podía ser menos. En el artículo en cuestión se hacen eco de una iniciativa de los laboratorios de IBM, la construcción de un sistema informático capaz de procesar preguntas formuladas en lenguaje natural y obtener una respuesta adecuada. Para rizar el rizo, el entorno de test propuesto para dicho sistema sería el famoso concurso de la televisión norteamericana Jeopardy!. En este concurso, se formula una pregunta a los tres concursantes, aunque no es siempre una pregunta directa, sino un poco enrevesada, por lo que hay que hacer un esfuerzo en entender la pregunta en primer lugar, y, determinar la respuesta correcta a continuación.

Aquí es donde los articulistas de "The Motley Fool" hacen la extrapolación de que con un sistema así IBM sería capaz de fabricar un buscador que hiciera que el de Google pareciera un juguete. Como dicen en las películas del oeste: "no tan rápido, forastero".

Como muy bien se apunta en el citado artículo, el problema de las búsquedas de Google (por cierto, basadas en mecanismos de Inteligencia Artificial, algo que ya comentaré otro día) es que carecen de inteligencia suficiente para entender exáctamente qué es lo que están buscando. Es decir, Google no entiende la 'semántica' de la búsqueda que realiza, no entiende el lenguaje natural, por lo que es la persona que busca la que debe refinar los términos de búsqueda para lograr los resultados deseados. En el caso del proyecto de IBM, el sistema construido sería capaz de entender el lenguaje natural, la semántica de la frase introducida, y producir resultados en consecuencia. En realidad este artículo va a ser una introducción a una serie de artículos relacionados con la Web Semántica (o Web 3.0, como la llaman algunos), usando este proyecto de IBM, el proyecto DeepQA como entradilla.

¿Qué es el DeepQA, o Watson? Es en realidad una combinación de software y hardware. La parte interesante es que Watson se apoya, según parece por la información de IBM, en unos nuevos algoritmos que permitirían a un computador analizar el significado de las preguntas hechas por un usuario final. De este modo, no tendríamos que plantearnos como dirigir las búsquedas, tal y como hacemos en los buscadores tradicionales, sino que haríamos las preguntas en lenguaje natural, del mismo modo que hacemos con una persona cuando mantenemos una conversación.

Ahora bien, este software se basa en un soporte hardware de la familia BlueGene, es decir, uno de los supercomputadores más potentes del mundo, con lo que la aplicación práctica de la herramienta resulta de momento limitada por la ingente cantidad de recursos hardware que son necesarios para hacerlo funcionar. Hay que recordar que Google se basa en realidad en una estructura en 'grid', es decir, se puede afirmar que han construido un gran supercomputador, pero en lugar de utilizar un hardware específico para ello, utilizan ordenadores tipo PC que colaboran entre sí para obtener la potencia de cálculo necesaria para ofrecer el servicio que todos conocemos.

No cabe duda de que el futuro de la informática en general, y de la Inteligencia Artificial en particular, pasa por lograr que los computadores entiendan el lenguaje natural de forma directa, aunque hoy por hoy una aproximación a este problema suponga un gasto ingente de potencia de cálculo. La web semántica, de la que trataré en breve, puede ser una buena primera aproximación para dotar de significado a la red y aumentar este entendimiento entre el hombre y la máquina.


miércoles jul 08, 2009

La entrada de hoy no tiene tanto que ver con la tecnología sino con unas personas muy especiales.

Voy a hablar del equipo ganador, en categoría camiones de serie, del rally-raid Paris-Dakar 2009, que como sabéis se ha celebrado este año en Argentina y Chile. De izquierda a derecha, con mono rojo (el de en medio, de blanco, es el comisario que entregó los trofeos), los intrépidos pilotos son:

-José Luis Criado: copiloto y notario en los ratos que no está compitiendo ¡¡que con ésta ya son 20 participaciones en el Dakar!!

-Fina Román: navegante, y no sólo en el desierto, que en el mar se maneja igual de bien. Ha sido además la única mujer española en la categoría de camiones, de la que podéis saber más en la entrevista que le hicieron en El País antes del Dakar.

-Jordi Juvanteny: piloto, con nada menos que 19 participaciones en el Dakar, compitiendo junto a José Luis en 16 de ellas.

Esta foto, tomada en Buenos Aires en la entrega de trofeos, está situada en la esquina de Broadway con la calle 42, en Times Square, Nueva York.

La razón de que los ponga en el blog es, además de porque José Luis Criado es mi cuñado, porque quería rendirles un homenaje por la excelente trayectoria deportiva que les ha llevado a su séptima victoria en categoría de camiones 6x6-de serie en el Dakar, quedando además en novena posición en la general, teniendo por delante de ellos únicamente 8 camiones, todos ellos prototipos de carreras de 4 ruedas motrices. El camión con el que han competido es prácticamente un camión de serie con muy pocas modificaciones para la competición. Para que os hagáis una idea, es como competir con un coche de calle contra un Fórmula 1, y conseguir entrar en los puntos en la primera carrera.

 Este año, además, el rally ha sido particularmente duro, lo que hace su victoria aún más meritoria. Como muestra, la siguiente foto es del desierto de Atacama, en el momento en que terminan de superar una duna. Extrema dureza y paisajes increíbles.

El año que viene el Dakar volverá a Argentina y Chile. Probablemente nos volverá a regalar imágenes como éstas, y otras mucho más hermosas, pero menos conocidas, gracias a la fundación Dakar Solidario, a la que pertenece el equipo Juvanteny-Criado-Román ya que gracias a la caravana de la carrera aprovechan el espacio de carga de sus camiones para llevar material médico y escolar a las zonas más necesitadas de América y de África.

martes jul 07, 2009

¡Ya está aquí VirtualBox 3.0!

Y como era de esperar trae algunos cambios significativos, ya que se trata de un cambio de versión y no de actualizaciones dentro de una release.

Voy a comentar brevemente algunas de las principales novedades y luego os cuento mi experiencia (si, ya lo he probado...).

La primera novedad, destinada evidentemente a los administradores de CPDs, es la posibilidad de definir máquinas virtuales con varios procesadores (SMP), de forma que podemos instalar una máquina virtual y definir en ella hasta 32 CPUs! Eso si, deben ser sistemas Intel con VT-x activado, o AMD-V, para poder sacar provecho a esta característica. Lo más impactante desde mi punto de vista es que puedes definir una máquina virtual con más CPUs virtuales que las CPUs reales con que cuentes en el sistema. Por ejemplo, si tengo un dual-core (mi caso), tengo dos CPUs en mi sistema. Pues bien, puedo definir una nueva máquina con 3 o 4 CPUs, a pesar de sólo tener 2 en el host.

Eso si, en este caso VirtualBox te advierte de que puedes degradar el rendimiento global del sistema, y no está recomendado en absoluto usar un número igual o mayor del doble de CPUs reales (sería 4 en mi caso). No puedo contar cómo es el rendimiento, ya que no tengo activado VT-x en mi VAIO (Sony no lo soporta y no me han dicho como activarlo...).

Las otras dos características más importantes son el soporte para usar Direct3D 8/9 para aplicaciones (vamos, juegos...), corriendo en guests Windows (aunque es una característica experimental aún, así que más que soportado debería decir que es 'posible' usar esta característica), y, el soporteOpenGL 2.0 para Windows, Linux y Solaris (en los sistemas virtualizados, claro).

Por supuesto he activado esta opción en un Windows que pienso destinar a juegos así que ya os comentaré si se nota la diferencia. De momento con el Flight Simulator no he podido ver una gran diferencia, ya que el juego es antiguo (mi versión, vaya) y creo que no hace uso de Direct3D. Eso si, el XP se comporta como si fuera un ordenador nativo, no se nota que es virtual en ningún momento.

En cuanto a la instalación, ha sido una de las más sencillas hasta la fecha, ya que no he tenido que desinstalar la previa, la 2.2.4. Al usar un sistema Linux (OpenSuSE), me he limitado a descargarme el paquete adecuado a mi versión y ejecutar un 'rpm -U', es decir, opción 'upgrade' (lo cual no quiere decir que en otras plataformas eso sea igual: para la versión 2.2.4 tuve que desinstalar la previa).

 La única sorpresa que me he llevado es que hay un cambio de versión en el formato de las máquinas virtuales respecto de la anterior, por lo que al tratar de iniciar una imagen virtual que tenía almacenada en 'pausa', ha generado un error y no ha arrancado la imagen:

En mi caso no he tenido ningún problema porque, aunque suelo dejar las máquinas suspendidas con los procesos en ejecución, no tenía datos valiosos que perder. Así pues el consejo es que antes de migrar a la nueva versión hagáis una parada ordenada de las máquinas que tengáis suspendidas y así os ahorréis perder datos.

Si os pasa lo que a mí, basta con seguir las instrucciones y descartar el estado suspendido de la máquina en cuestión. El arranque posterior debería ser normal.

Otra novedad, menor, pero curiosa, es que si pasas al modo 'full screen' o 'seamless' aparece una mini barra de tareas 'a la VmWare' en la parte inferior de la pantalla, de forma que puedes acceder al menú de VirtualBox sin salir del modo en el que te encuentres, ya digo que algo parecido a la barrita que aparece, en este caso en la parte de arriba, en VmWare con el menú de opciones. Lamentablemente en el modo 'full screen' que he probado la barra se ve un segundo y tras ocultarse no consigo que salga, así que no puedo incluir foto.

En resumen: es una actualización totalmente orientada a 'jugones' (ademas para uso particular y doméstico la licencia es gratuita) y con un considerable aumento de potencia de cara a su uso en CPDs 'más serios', con lo que supone de amenaza a VmWare.

lunes jul 06, 2009

Una de las características más importantes de Sun es la estrecha colaboración que mantenemos con nuestros partners a la hora de implantar los proyectos en los que participamos y en la difusión de nuestra tecnología. Esto es especialmente importante cuando hablamos de proyectos de Gestión de Identidad, así que una de las formas que usamos para garantizar a nuestros clientes comunes unos servicios de calidad, y a nuestros partners de confianza el acceso a información de primera mano que les permita dar esos servicios de calidad, son los programas de certificación.

En este sentido, estamos lanzando en Europa un nuevo programa de Certificación de Partners en Gestión de Identidad, el Partner Advantage Identity Management Technology Specialty Certification.

Para poder participar en este programa son necesarios una serie de requisitos:

-Formar parte del Sun Partner Advantage Program (el lik en inglés aquí).

-Haber desarrollado e implantando con éxito un número de proyectos de Gestión de Identidad.

-Enviar un formulario con la solicitud de participación en el programa, que será evaluado por una junta de calificación que decidirá si se reunen suficientes requisitos como para participar en el programa.

En el momento en que un partner forma parte del programa de certificación, los desarrolladores designados por el partner deberán someterse a una serie de exámenes y aportar material relacionado con las implantaciones realizadas, de forma que desde Sun podamos evaluar objetivamente la cualificación del integrador y poder garantizar la calidad de los desarrollos y arquitecturas de Gestión de Identidad que pueda realizar en el futuro.

En este momento la certificación se centra en los productos OpenSSO/Access Manager e Identity Manager, por lo que sólo se admiten solicitudes de partners e integradores con experiencia de implantación en estos dos productos.

En este momento se está cerrando el proceso de certificación del primer partner español participante en el programa, lo cual probablemente será púbico en breve a través de este blog. Mientras esto sucede, aquí os dejo un link con la nota de prensa de uno de los partners que recientemente ha conseguido la certificación en Estados Unidos, donde el programa lleva cerca de un año implantado con éxito.

Como miembro del comité de evaluación, cualquier partner interesado que cumpla los requisitos básicos mencionados puede contactar conmigo para recibir la información y los formularios necesarios para participar.

jueves abr 30, 2009

Como ya sabréis los apasionados y los profesionales del Java, del 2 al 9 de junio se celebra en San Francisco la JavaOne,el principal foro mundial de este lenguaje de programación (lenguaje de programación, y mucho más ;-) .

Una novedad importante es la posibilidad de que los estudiantes acudan gratis al citado evento. No conozco todos los detalles, pero para informaros tenéis una dirección de correo electrónico a la que podéis escribir pidiendo información: 2009_JavaOne_Students_Educators@sun.com

En todo caso, más información pinchando aquí.

martes abr 28, 2009

Probablemente muchos ya lo sepáis, pero por si acaso, aquí os dejo un enlace para que podáis consultar las bases del "JavaFX Coding Challenge". Ojo, la fecha de finalización del plazo es el 29 de mayo!

Tenéis todos los datos, normas y premios (hasta 25.000 dólares para el primer premio, y tres premios especiales de 1.500 dólares para estudiantes) en la siguiente dirección.

¡Mucha suerte!


miércoles abr 22, 2009

A finales de noviembre de 2007 tuve la inmensa suerte de ser invitado a las Jornadas Técnicas RedIRIS 2007, celebradas en el campus de Mieres de la Universidad de Oviedo. Mi ponencia versaba sobre la Federación de Identidades en el Entorno Educativo. Puede parecer que por tener algo más de un año la información pude haber quedado un poco desfasada, pero puesto que no está totalmente centrada en la tecnología (que también, puesto que Access Manager-OpenSSO es el producto de Sun que implementa Liberty y federación al completo), sino en cuál es la aproximación de Liberty en general, creo que sigue vigente, y más hoy en día cuando precisamente varias universidades están lanzando ambiciosos proyectos de federación de identidad que se ejecutarán en breve. También se menciona en la presentación cuál iba a ser la estrategia OpenSource de Sun, que se ha venido ejecutando desde entonces, con lo que esta parte de la presentación sigue estando de actualidad en su mayor parte.

Si os resulta de interés, podéis ver la presentación en este enlace.

martes mar 31, 2009

(NOTE: This is the English version of a previously posted article in Spanish)

One of the main advantages of Sun Identity Manager over any similar product of any other vendor is its transparency: it is possible to know what is Identity Manager doing at every moment, debug it, keep different versions, etc. In the past this was done with a Java product included in the Identity Manager distribution, the BPE (Business Process Editor), but now what we propose from Sun is to use a standard IDE (Integrated Development Environment), and this will allow us to use additional features included in such kind of products, as CVS, debuggers, seting break points in the software to be debugged, and so on.

The first IDE integrated in Identity Manager, for obvious reasons, has been NetBeans. Now you can also use Eclipse, so not only we can leverage the advantages of using an IDE, but we can also choose which one we can use and there is no need for our development team to learn a new tool.

As Eclipse is the new kid on the block, we are going to comment how easy it is to configure it to be used in our projects with Identity Manager. As I said, this is quite easy.

First of all we have to download the Identity Manager plugin for Eclipse. We can find it in  the following link. In this link there is additional information just in case you want to learn about the plugin deep configuration and other options related to it. I'm just going to use the easy way and not going to apply the recommended setings as this is just a first approach of the plugin configuration, so you may need to read further in those links to properly set up a production project with Eclipse.

Once we have the plugin, we just need to leave it in the Eclipse plugins directory, is that easy. Now we can just start our Eclipse.

Next thing we want to do is to set up an Identity Manager project. Once we have Eclipse started we go to the following menu:

'New' → 'Proyect' → 'Java' 'Identity Manager

There we will see two options, 'Identity Manager' and 'Identity Manager (remote)'. The first option is to install an Identity Manager locally in our own machine just for development purposes, using the application server installed in the Eclipse framework. The second option is the one we are going to follow in this little example, and it is the one used to gain access to remote installations of Identity Manager (previous installations of Identity Manager, even installed in the same machine you are working with Eclipse). In any case we will have the same control possibilities over the Identity Manager we want to manage.


As you already know, we can configure several projects accesing different Identity Manager installations from the same Eclipse.

Once the 'Next' button is clicked, we will be asked the file 'ide-bundle.zip'. This file is different for each version of Identity Manager, so we have to search for it in the folders of the Identity Manager we want to manage. It is located in the 'sample' directory in the staging directory of Identity Manager from the 7.1 version on. In any case, Eclipse support is added from the 8.0 version on as IDE, so there is no possible mistake here.


We just need to put the file in a location where Eclipse can read it, in our local machine. Next step after loading this file as instructed by Eclipse is to configure the access to the Identity Manager we want to manage: the deployment url, port, user and password we will use to access the configuration. They are the same we use when we access Identity Manager as an administrator:

Once finished this step we have full access to our Identity Manager. We can download the XML objects that compound Identity Manager and customize then as needed:

As I said before, no other identity vendor can offer such features (to my knowledge so far), as we can download any Identity Manager object and trace whatever happens inside it: we can attach a debugger and set up a breakpoint in any place of the code; test a rule or a form before uploading them to Identity Manager; team working and CVS, etc.

As a sample, we can verify a rule or a form before uploading it to Identity Manager as you can see in the next picture:

 CVS is another feature quite interesting in Identity Manager. Using that features we can upload objects to the Identity Manager going live instantly. If we don't like the results or if the business needs change and thus we have to go back to a previous version of the object deployed, we can do it smoothly and quickly, without stoping the service in any moment. With Identity Manager you do not need to stop the server (and the service), get an older backup and restore it to go to a previous version of your site as it happens with other vendors. You just do it when you need it, even downloading and uploading an individual object if this is what you need. As you can see, the versatiliy and ease of use of Identity Manager is unmatched.

In the next picture you can see a small sample of how easy it is to atach a debugger and the set up breakpoints to an Identity Manager project: you just do it in the very same way you do it with any Eclipse project.

Again, you can see what happens inside Identity Manager at every moment. Identity Manager is not a 'black box'. Identity Manager is transparent, you can do whatever you want to customize it and keep control over the customizations and the rest of the Identity Manager environment.

I think there is nothing else that could be asked to Sun Identity Manager.



lunes mar 30, 2009

Una de las principales ventajas de Sun Identity Manager sobre productos parecidos del resto de fabricantes es su transparencia: se puede saber todo lo que hace Identity Manager, depurarlo, mantener versiones, etc. Tradicionalmente esto se hacía con un producto desarrollado en Java que se incluía en la distribución de Identity Manager, el BPE (Business Process Editor), pero ahora lo que hacemos es utilizar un IDE (Integrated Development Environment) estándar, que es lo que nos va a permitir utilizar las funcionalidades extra de utilización de un gestor de versiones (CVS, por ejemplo), añadir un depurador, establecer puntos de ruptura, etc.

El primero en ser integrado, por razones obvias, ha sido NetBeans. Ahora además se puede integrar Eclipse, con lo que a las ventajas anteriores de potencia en la herramienta de desarrollo que nos da cualquera de los dos IDEs mencionados, tenemos que podemos elegir cuál es que nos gusta más y no hay necesidad de aprender una nueva herramienta diferente a la que se use en nuestro equipo de trabajo.

Puesto que Eclipse es el recién llegado, vamos a comentar cómo se incluiría en nuestro despliegue. Es muy fácil.

En primer lugar hay que conseguir el plugin de Identity Manager. Lo tenemos pulsando en el siguiente enlace. En esta otra dirección tenéis información adicional, por si queréis profundizar en la configuración del plugin o ver otras opciones. Yo voy a saltarme algunas recomendaciones de configuración para hacer una instalació básica rápidamente, así que será conveniente consultar estas instrucciones adicionales para una configuración avanzada.

Una vez tenemos el plugin, basta dejarlo en el directorio de plugins de Eclipse. Ya podemos arrancar Eclipse. Así de fácil.

Lo siguiente que queremos hacer es crear un proyecto de Identity Manager. Con Eclipse arrancado nos vamos a

'New' → 'Proyect' → 'Java' 'Identity Manager

En Identity Manager hay dos opciones, 'Identity Manager' e 'Identity Manager (remote)'. La primera opción es para instalar un Identity de desarrollo localmente, usando el servidor de aplicaciones que tengamos en la instalación de Eclipse. La segunda opción, que es la que voy a seguir en el ejemplo, es la que usamos para acceder a instancias de Identity instaladas remotamente (instaladas previamente, aunque sea en la misma máquina donde tenemos el Eclipse). De una forma u otra tenemos prácticamente las mismas posibilidades de control sobre Identity.


Como es natural, podemos tener varios proyectos accediendo a varias instancias de Identity Manager al tiempo.

Una vez que pulsamos 'Next', nos pedirán el fichero'ide-bundle.zip'. Este fichero es propio de la versión de Identity que estemos manejando, así que deberemos cogerlo de la instalación de Identity Manager que queramos gestionar. Se encuentra dentro del directorio 'sample' a partir de la versión 7.1 de Identity Manager. Este ejemplo está hecho con la versión 8 de Identity, versión a partir de la cual está incluida la integración con Eclipse.


Bastará con traer el fichero a una ubicación donde Eclipse lo pueda leer, en nuestra máquina local. El siguiente paso, después de cargar este fichero, es indicar a Eclipse dónde se encuentra el Identity Manager que queremos utilizar: la url, el puerto y usuario y contraseña con los que vamos a acceder:

Una vez terminado este proceso, ya tenemos acceso a nuestro Identity Manager. Ya podemos acceder a los objetos almacenados en Identity (en formato XML) y hacer todas las personalizaciones que queramos sobre los mismos:

Como he comentado, estas características no las tiene ningún otro producto de gestión de identidad (al menos que yo sepa), ya que nos permite descargar cualquier objeto de IdM y hacer la traza de todo lo que sucede en su interior: podemos ver el valor de cualquier variable en cualquier momento, establecer puntos de ruptura, enlazar un depurador, probar reglas o formularios antes de subirlos a Identity Manager, trabajar en equipo, mantener versiones, etc., etc.

 Por ejemplo, podemos verificar la validez de una regla o un formulario antes de subirla a Identity Manager:

 El mantenimiento de versiones es otro aspecto muy importante en el uso de Identity Manager, pensado para facilitar la vida a los administradores e integradores. De este modo, podemos desplegar objetos en producción y volver rápidamente a versiones anteriores sin tener que parar el entorno en ningún momento, de forma instantánea. No es necesario parar el servicio y recurrir a un backup de una versión anterior para quitar un único objeto, y podemos mantener las versiones de los objetos de forma individual. Como véis, Identity Manager presenta una gran potencia y sencillez de manejo en este sentido.

Añadir un depurador y puntos de ruptura es también muy sencillo, de la misma forma en que se trabaja con Eclipse habitualmente:

Y es que con Sun Identity Manager puedes ver lo que sucede en su interior en todo momento, en contra del concepto de 'caja negra', es transparente, de nuevo facilitando el proceso de personalización de la herramienta.

Creo que no se le puede pedir más a Sun Identity Manager.



miércoles mar 25, 2009

Se pueden contar las maravillas de Identity Manager muchas veces. Se puede hablar de las ventajas de OpenSSO y el mecanismo de Single Sign On que proporciona. Es posible contar hasta la saciedad las ventajas de la virtualización del escritorio con Secure Global Desktop, pero si una imágen vale más que mil palabras, el siguiente vídeo vale mucho más que mil imágenes: muestra una serie de casos de uso en los que se integra Identity Manager para gestionar la provision y el ciclo de vida de la identidad de un usuario; OpenSSO para el Single Sign On en toda la plataforma y Secure Global Desktop para que el usuario pueda acceder a su escritorio (en este ejemplo es Ubuntu, pero podría ser Solaris, otro Linux o incluso Windows, cualquier desktop que se pueda virtualizar). Y el acceso es remoto: a través de la web o de un cliente ligero (Sun Ray).

Merece la pena verlo al completo, es realmente fantástico. El enlace lo tenéis aquí.

Sólo queda felicitar a mis amigos Joachim y Paul por su magnífico trabajo.

Ah, sobre la música no se admiten comentarios.

martes mar 24, 2009

Para terminar con el post que describía la instalación de Windows 7 en VirtualBox, os dejo algunas imágenes de la instalación de Netbeans 6.5 y JavaFX en este entorno, verdadero motivo de la instalación de Windows 7.

Sólo comentar que la versión de Netbeans 6.5 incluye la posibilidad de descargar JavaFX incluido, pero de momento sólo en las versiones para Mac y para Windows. Para Solaris y Linux tendremos que esperar un poco más. Además, la versión completa de NetBeans no incluye como opción a JavaFX, con lo que como explico al final hay que hacer una descarga más.

No os aburriré con los detalles de una instalacion muy sencilla. Sólo destacar que en la propia instalación de NetBeans es posible iniciar un proyecto en JavaFX partiendo de cero, o abrir uno de los ejemplos incluidos para que nos vayamos familiarizando con la tecnología:

En este caso tenemos una aplicación que muestra en tiempo real el pronóstico del tiempo en diversas localidades

Otra característica muy interesante es que se puede incluir un emulador de teléfono móvil, distribuido en el propio NetBeans, con lo que podemos hacer las pruebas necesarias de nuestras aplicaciones para móvil, con bastante certeza de su resultado final antes de realizar las pruebas en el propio terminal:

Para ello bastará con configurar el entorno de ejecución de la aplicación JavaFX sobre la que estamos trabajando, tal y como se muestra en la siguiente ilustración:

Eso si, esta parte es la menos sencilla de configurar de todo este proceso. En mi caso he tenido que descargar previamente JavaME para poder contar con los simuladores de teléfono móvil accesibles desde NetBeans, y luego hacer que NetBeans localizara a éstos en los sitios adecuados. De momento lo más práctico es invocar a los emuladores desde el propio Java ME, aunque hay que tener en cuenta que Windows 7 es de momento experimental y por tanto pueden producirse efectos no deseados en algunos momentos.

lunes mar 23, 2009

Virtual Box ha sacado la versión 2.1.4, que no tiene sobre el papel ninguna diferencia importante sobre las versiones anteriores, pero si ha solucionado un número importante de bugs y comportamientos anómalos (más información en la url de VirtualBox). Por ejemplo, ya no veo en mi instalación el error del puerto USB que salía siempre que accedía a la configuración de las máquinas virtuales.

Aprovechando que quería probar NetBeans 6.5 y Java FX, he actualizado mi versión de Virtual Box y he instalado la beta de Windows 7, para  poder evaluar los tres productos de una tacada. Así que vamos a resumir las conclusiones obtenidas y a poner algunos pantallazos para que os hagáis idea de la experiencia.

En primer lugar, como digo no hay muchos cambios en VirtualBox, pero se nota que el producto va madurando. Aún no es posible crear discos virtuales en particiones de 2GB, como en VmWare, lo que hace que sea un problema trasladar discos de cierto tamaño, pero estoy seguro de que no tardará en llegar.

El siguiente cambio que notaréis es que cambia la versión de los discos virtuales, pasando de la 1.5 a la 1.6, como se puede ver en el aviso que da al arrancar VirtualBox por primera vez:

Una de las cosas que me ha sorprendido, aunque a lo mejor es que símplemente no había reparado en ello en las versiones anteriores, es que Windows 7 está expresamente soportado e incluido en la lista de sistemas operativos disponibles a la hora de crear una nueva máquina virtual. Al final, la configuración de la máquina virtual tiene el siguiente aspecto:

También se puede apreciar que se puede activar la emulación de tarjeta gráfica 3D, aunque sospecho que Windows 7 no reconoce la emulación que le proporciona VirtualBox, porque no se activan los efectos especiales, como veremos luego.

Una vez todo el entorno preparado, comenzamos la instalación de Windows 7, previamente descargado del sito de Microsoft (ojo, hay que apuntar bien la licencia que nos proporcionan para poder activar luego el Windows).

Como veréis, la pantalla inicial no es que sea precisamente espectacular:

En general el proceso de instalación es bastante sencillo, basta seguir las instrucciones que nos plantea el instalador, que tratará de detectar la mayor parte de los parámetros de nuestro computador (en este caso virtual):

Nos preguntará si estamos instalando o actualizando. Instalando, no hay sistema previo:

Elegimos el 'layout' del disco duro:

Y cuando prácticamente la instalación ha terminado, es cuando nos pide la licencia de activación. Hombre, esto lo podían pedir en primer lugar, para ahorrarnos la instalación en caso de no tenerla, de haberla olvidado o de teclearla erróneamente, pero bueno, de momento éste es el orden que sigue la instalación:


Una vez superado este paso con éxito, se realiza una actualización del sistema y como paso novedoso se realiza la configuración de una especia de grupo de trabajo privado (Home Group) a la que el sistema recién instalado tendrá acceso para facilitar la compartición de archivos entre otros miembros del grupo:

Y como resultado final tenemos nuestro Windows 7 instalado y funcionando:

Mi conclusión final es que se llama Windows 7 pero se podría llamar perfectamente Windows Vista 2, ya que en mi opinión es básicamente el mismo sistema operativo, pero ampliamente depurado y mejorado. O bueno, siendo malos podríamos decir que en realidad Vista era una beta y que esta es la versión definitiva del sistema de Microsoft. De hecho, hasta la protección de seguridad ante eventos del sistema potencialmente peligrosos es la misma:

En cuanto a ocupación de disco, pues tampoco hay novedad alguna. Para muestra, el resultado del disco ocupado tras la instalación de Vista, digo de Windows 7 (habría que restar los aproximadamente 200MB de la descarga de NetBeans, antes de instalarlo). En mi opinión una ocupación algo excesiva, en torno a los 7GB en un sistema que no tiene ninguna aplicación adicional instalada:

En definitiva, Vista, aparentemente más robusto, con algo más de prestaciones (sin activar ninguna funcionalidad 3D ni de presentación sofisticada, y con los iconos un poco 'feos') y algo más maduro, pero Vista al fin y al cabo. Habría que ver cómo se comporta en un entorno de pruebas exhaustivo. De momento seguiré con OpenSUSE con visos de migrar a OpenSolaris pronto, aunque en el siguiente post incluiremos alguna prueba de instalación de software adicional en este entorno (Java FX y Netbeans).

domingo feb 22, 2009

Una de las formas de combatir el llamado 'cambio climático', pero sobre todo de ahorrar energía, ahora que además nos enfrentamos a una crisis económica cuya existencia no es discutible, es a través del uso de la tecnología. Tal y como comenta El País en un artículo publicado en 2007, "en la era de las telecomunicaciones el consumo eléctrico se mide con aparatos de la época de la tele en blanco y negro". El artículo hace referencia a un real decreto elaborado por el Ministerio de Industria con la intención de obligar a las compañías eléctricas a sustituir los actuales (y obsoletos) contadores eléctricos analógicos por otros digitales. Lo que se persigue con esta medida es poder monitorizar en tiempo real el consumo eléctrico de los hogares españoles, lo que en teoría permitiría ofrecer en cada momento la electricidad que se necesita, planificar mejor la generación de la misma (a base de patrones estadísticos y de históricos de consumo), y, potencialmente mejorar el consumo de cada hogar: es decir, ahorrar. Se supone que si sabemos en cada momento en qué estamos consumiendo nuestra energía, seremos capaces de identificar si estamos derrochando o si es posible sustituir aparatos viejos por otros más eficientes y racionalizar el consumo eléctrico.

 Esto da pie a un número de consideraciones interesantes. En primer lugar, sustituir 20 millones de contadores supone un coste económico elevado, que según el Ministerio no van a costear los consumidores. Aquí se podría abrir una discusión interesante sobre quién paga los costes de esta transición (al fin y al cabo estamos pagando un alquiler mensual del equipo de medida todos los que tenemos contratada la luz...) y un no menos iteresante debate sobre qué ha pasado con las subvenciones otorgadas a las eléctricas para los llamados 'costes de transicioń' a un mercado libre, es decir, dónde se han invertido realmente estas subvenciones. Pero ese no es el objetivo de este post.

Decía, que hay una serie de consideraciones interesantes. Siendo un poco generosos con los datos estadísticos, se puede afirmar que en España debe haber en este momento del orden de 9 millones de conexiones de banda ancha. Como es lógico, instalar un contador eléctrico digital no sirve de nada si la información que genera no se transmite en tiempo real a la compañía eléctrica, para poder realizar los ajustes sobre la demanda y la calidad de servicio que se requiera en cada momento y para poder bonificar por ejemplo el consumo nocturno o recargar un consumo puntual excesivo de energía. Así pues, el cambio de contadores también supone el que las compañías eléctricas lleven cables de datos hasta los hogares de sus abonados, algo que hasta la fecha sólo hace Telefónica y muy pocos de sus competidores (Ono, R-Cable, etc.). Otra cuestión es cómo se va a gestionar tal cantidad ingente de información en las compañías eléctricas: es lógico suponer que van a tener que ampliar su capacidad de cálculo de forma proporcional al aumento de datos que van a recibir, así que no sólo los fabricantes de contadores se pueden ver beneficiados por este cambio legislativo. Los fabricantes de hardware también van a tener algo que decir, y si además las eléctricas están pensando en utilizar algún tipo de tecnología que sea eco-eficiente, aquí va una sugerencia.

Bueno, y Google, ¿qué pinta en todo esto? En Google están convencidos que si los usuarios tuvieran un mejor conocimiento del uso que hacen de la energía que consumen, podrían ahorrar en su consumo y contribuir a frenar el calentamiento global, así que han iniciado un proyecto llamado 'Google PowerMeeter'.  La administración Obama, dentro del plan de estímulo económico, va a fomentar también en Estados Unidos el cambio de 40 millones de contadores eléctricos para que sean digitales, o como dicen en Google, 'smart meters', o sea, contadores inteligentes. Lo malo de estos contadores es que no ofrecen la información al usuario final, es decir, el consumidor no se puede beneficiar en principio de saber en todo momento qué consumo hace de su energía y por tanto no puede actuar sobre ello. Aquí es donde Google reclama que este tipo de aparatos proporcione un interfaz de acceso estándar que facilite que sean los usuarios los que decidan cómo acceder a esa información y de qué forma utilizarla.

Lo que no me parece tan interesante es la forma en que Google está proponiendo que se haga este acceso. Lo que sugieren es que sea la compañía eléctrica la que ponga a dispoisición del propio Google la información generada por los 'smart meters', para que el usuario, que ha solicitado un acceso a través del propio Google, pueda entonces ver sus datos de consumo en tiempo real a través de un gadget de su plataforma iGoogle. De momento están haciendo pruebas, claro. La información está aquí

Por si alguien no lo había adivinado, este último párrafo es el que enlaza con lo de dominar el mundo...

 Creo que es muy interesante el poder acceder en todo momento a tu consumo eléctrico real, poder saber si hay algún electrodoméstico o aparato que no funciona de forma eficiente o estudiar en qué momentos es más conveniente poner en marcha la calefacción o el aire acondicionado en función de la oferta que haga la compañía eléctrica. Pero preferiría un acceso más directo a la información que a través de un tercero, por muy buenas que sean sus intenciones. En lo que si que estoy de acuerdo con Google es en la máxima de 'el poder para el pueblo', aunque claro, en inglés se presta a un juego de palabras que a lo mejor se pierde un poco en castellano: Power to the People

jueves ene 08, 2009

Como os he dicho, en estas vacaciones he aprovechado para probar algo del nuevo material publicado por Sun, así que después de instalar la nueva versión de VirtualBox, lo siguiente era probar el nuevo OpenSolaris 11-08.

En particular hay dos características que quería probar sobre el resto: la posibilidad de instalar un sistema virtual de 64 bits en la nueva versión de VirtualBox, y la característica de hacer 'snapshots' del disco duro mediante el interfaz gráfico que proporciona 'time slider'


 La 'foto' es del proceso de instalación de OpenSolaris.

Como ya sabéis, 'Time Slider' sólo funciona con ZFS, pero como en esta versión de OpenSolaris es el sistema de ficheros que se instala por defecto, esto no supone un esfuerzo de configuración adicional. De hecho la instalación de OpenSolaris es de las más fáciles que he visto hasta ahora.

No obstante, hay que tener en cuenta un par de novedades en la instalación de Solaris (al menos respecto a las instalaciones de Solaris que he estado haciendo años atrás...). Ahora OpenSolaris incorpora una característica que hace que la instalación de la plataforma sea más segura. Si en el proceso de instalación añadimos un usuario, el que usaremos por defecto (en mi caso el usuario Isaac, por ejemplo), nos pedirá que le demos clave a este usuario y nos pedirá también la clave para el usuario 'root'. Sin embargo, al seleccionar el usuario de trabajo (menos privilegiado), la instalación no incluye al usuario 'root', sino que lo incluye como un grupo. Es decir, no podremos logarnos nunca en el sistema como usuario 'root', sino que tendremos que hacerlo como el usuario de trabajo seleccionado en el paso anterior y luego hacer una escalación de privilegios (mediante su, sudo, etc., y la contraseña de 'root' seleccionada antes).

Si bien esto está muy bien desde el punto de vista de la seguridad, al entrar como un usuario no privilegiado no tenía acceso al menú de activación de 'Time Slider', al menos no directamente. Al tratarse de una máquina virtual, en lugar de investigar un método alternativo decidí rehacer la instalación, esta vez sin incluir ningún usuario de trabajo, sólo dando contraseña al usuario 'root', y de esta forma si se crea este usuario en la instalación y ya es posible acceder al terminar gráfico de la instalación de OpenSolaris con todas las opciones.

Una curiosidad sobre la herramienta de análisis de uso del disco duro (Disk Usage Analyzer). Como veis en el gráfico, la presentación puede ser muy espectacular (al pasar sobre una de las áreas coloreadas te dice el nombre del directorio e ilumina los subdirectorios que cuelgan de ése mismo). Hasta aquí todo muy bien y muy bonito. El problema es que a esta imágen virtual le he asignado 20Gb de disco duro como máximo, y como se ve en la captura de pantalla me detecta un disco de 82,5 Gb... ¿Optimismo de OpenSolaris, error de VirtualBox al capturar las instrucciones del sistema operativo y traducirlas al hardware nativo? Si alguien tiene idea, sus comentarios serán bien recibidos, porque lo curioso es que no tengo ninguna unidad física de ese tamaño ni el espacio libre de los discos del sistema suman esa cantidad en ningún caso... Tampoco es correcta la información de que OpenSolaris ocupa unos 4,8 Gb en su instalación inicial, tal y como dice la herrmienta.

En este caso creo que es más recomendable utilizar las herramientas de línea de comando de toda la vida. Un 'df -k' si que muestra el tamaño real del disco duro, de 20Gb, y una utilización más acorde con la distribución de OpenSolaris: 2,5Gb aproximadamente (instalación por defecto, sin añadir software adicional).

De momento me voy a poner a jugar con la herramienta de 'Time Slider', así que ya os comentaré que cosas interesantes me voy encontrando.

miércoles ene 07, 2009

¡Feliz Año Nuevo!

Ya de vuelta de las vacaciones de Navidad, inicio el blog con un comentario a la última versión de VirtualBox disponible, la 2.1.0.

Siendo un usuario intensivo de software de virtualización, algo imprescindible en mi día a día, procuro probar las nuevas versiones en cuanto salen, así que estas vacaciones han sido el momento ideal para hacer un ensayo completo.


Lo primero que probé fue la actualización automática del software, ya que estaba en la versión 2.0.x de VirtualBox. Lamentablemente, la aplicación no detectaba la existencia de la última versión, así que probé descargando los nuevos paquetes para Linux 64 bits (uso OpenSUSE 11.0, 64 bits), y traté de instalar directamente para que el sistema se actualizara solo: no fue posible, hay que desintalar primero y volver a instalar. La buena noticia es que la configuración de la instalación anterior se conserva por completo, así que no hay que empezar de cero, sino sólo quitar unos paquetes e instalar los nuevos.

Nuevas Características

Es evidente que a día de hoy VmWare mantiene el liderato en el mercado de la virtualización puesto que es el producto más maduro en el mercado, pero esta versión de VirtualBox le pisa los talones al mismísimo VmWare Workstation, superándolo en cuanto a disponibilidad de versiones para diferentes sistemas operativos como MacOS, Solaris, Linux, Windows... (algo que no es nuevo por otra parte), y acercándose en otros aspectos muy valorados por parte de los usuarios.

Gestión de Red

Como he dicho antes, soy usuario intensivo de software de virtualización para poder hacer pilotos y demostraciones del software de Identidad de Sun a cliente finales. Uno de los aspectos que más dolores de cabeza me había dado VirtualBox hasta la fecha era la configuración de la red de las máquinas virtuales. Además, el hecho de usar un portátil, con Linux, y conexión casi siempre por WiFi, hacía que mi experiencia hasta la fecha fuera particularmente dolorosa... Sin embargo, en esta versión de VirtualBox ya no hace falta ser un gurú de configuración de redes e interfaces en Linux para conseguir configurar tu máquina virtual. Nos podemos olvidar de los comandos en línea en el propio Linux y la configuración de los 'bridged interfaces', ya que VirtualBox lo hace por nosotros en modo gráfico (de forma similar a VmWare)


Como podéis ver en el gráfico anterior, al seleccionar la opción de 'Host interface', basta con señalar en el menú inferior cuál es el interfaz de red al que queremos asociar nuestra máquina virtual, con lo que la vida de los administradores mejora notablemente.

No obstante, la configuración por NAT sigue siendo la recomendada por defecto para trabajar en red con una máquina virtual. Creo que en este caso la eficiencia ha mejorado (antes tenía problemas trabajando con NAT en algunos casos, sobre todo al estar con la WiFi y ahora esto parece que ya es historia), si bien la configuración 'Host interface' (el equivalente a 'Bridged Network' en VmWare) no acaba de funcionar bien en mi WiFi (ya contaré si hago experimentos en redes con cable, interfaz eth0 de mi portátil).

Emulación 3D

Otro aspecto que se ha incluido en esta versión de VirtualBox es la posibilidad de emular una tarjeta gráfica 3D en la máquina virtual que estamos manejando. Yo personalmente sólo lo encuentro interesante si vas a instalarte un Windows para jugar sin tener que recurrir a arranques duales en tu máquina y con las ventajas que da el tener controlado a Windows dentro de un entorno estable y robusto de verdad (ya sea Linux o Solaris). Seguro que hay muchas más aplicaciones de utilidad, sobre todo en la virtualización 'enterprise' en empresas de diseño gráfico, por ejemplo, pero a mi no se me ocurren más que los juegos en este momento para el usuario normal de 'workstations' (se admiten comentarios).


De hecho, este modo, que en realidad utiliza el hardware de aceleración gráfica instalado en el sistema físico real en lugar de la emulación por software para las aplicaciones 3D que usen OpenGL en el sistema virtualizado, sólo está actualmente soportado en Windows XP y Vista para 32 bits.

Otra característica interesante es la posibilidad de elegir la memoria de vídeo que queremos asignar a la tarjeta virtual 3D que añadimos al sistema. Si no me equivoco, esto no está disponible (al menos aún) en VmWare, y nos da una opción más de controlar el rendimiento del sistema virtual, sin perjudicar al sistema físico.

Soporte 64 bits

 Otra novedad es el soporte a máquinas virtuales de 64 bits, que no estaba presente en versiones anteriores.

Hay que seleccionar expresamente en el tipo de sistema operativo instalado que se está usando un sistema de 64 bits, como se ve en el gráfico incluido a la izquierda. Basta desplegar la pestaña y seleccionar la versión. Eso si, hay dos limitaciones importantes (igual que sucede en VmWare): hay que contar con un sistema de 64 bits (mi VAIO tiene un Core 2 Duo, así que esa característica la cumplo), y hay que tener activados los registros  VT-x de Intel (en mi caso, los AMD-V en el caso de computadores con este procesador). Así pues, aunque he configurado un par de sistemas virtuales en 64 bits, como no tengo activados los registros VT-x en mi VAIO VGN-FZ31Z, no he podido probar cómo de eficiente es la ejecución en un entorno virtualizado a 64 bits, por lo que mis máquinas virtuales siguen a 32 bits...

Se admiten sugerencias sobre cómo realizar esta configuración, ya que Sony no la soporta en sus máquinas y por tanto no proporciona información sobre cómo hacerlo.


Conclusiones

VirtualBox ha dado un salto de calidad importante en esta última versión. Mantiene sus principales virtudes: un código muy ligero, compatibilidad (como host) en la casi totalidad de sistemas operativos existentes, no teniendo casi competencia en algunos de ellos (MacOS, Solaris, Linux, Windows...), una ejecución que apenas se nota en el rendimiento de la máquina física y ha mejorado en aspectos de uso y configuración importantes para el usuario medio, con lo que puede ser una alternativa muy seria a considerar en el mercado donde hasta ahora VmWare Workstation no tenía rival, y, además, a un precio imbatible.