domingo, 26 de abril de 2009

Ubuntu 9.04 ya está aquí

Hace un par de días que tenemos a Ubuntu 9.04 entre nosotros, apodado Jaunty Jackalope.

Para no repetir lo que ya se puede encontrar por todos lados, les dejo algunos enlaces: un video español donde se explica toda la instalación; y un breve resumen de las características más notables. También tienen esta explicación paso a paso de la instalación, realizada por un ubuntero santafesino.
Después pueden darse una vuelta por el Planeta de Ubuntu Argentina, para encontrar las últimas noticias y artículos de la comunidad local.

Otra de las novedades, es que salió el Ubuntu Netbook Remix 9.04, que es una nueva edición orientada a las pequeñas netbooks, que han sido furor en el último tiempo. En algún momento la probaré con mi pequeña Asus EeePC 701, si es que está soportada, donde hoy uso Ubuntu 8.04 LTS.

En tuxradar.com (english) han realizado un interesante repaso de la historia de Ubuntu, esta joven pero vibrante distribución basada en la fantástica Debian Linux.

Importante: en 9.04 han desactivado la combinación de teclas <ctrl>+<alt>+<bcksp>, que reiniciaba el escritorio (al servidor de ventanas X) por la fuerza, si era necesario. Calculo que por seguridad, ganar estabilidad, y ser una característica poco usada, han decidido desactivarlo. Sin embargo, puede reactivarse fácilmente si se desea. También, algunos han descubierto que a veces no se instala (o no funciona) el applet que nos notificaba de las actualizaciones pendientes. Esto último es más importante, y por el momento puede solucionarse como indica este artículo:

Para las actualizaciones, debemos poner en la terminal lo siguiente:

$ gconftool -s --type bool /apps/update-notifier/auto_launch false

y para activar control+alt+backspace ponemos:

$ sudo aptitude install dontzap
$ sudo dontzap -disable

martes, 21 de abril de 2009

sábado, 18 de abril de 2009

LWUIT y los acentos

Me puse a investigar porqué no aparecían los acentos en los formularios de LWUIT. Buscando un poco, vi que recomendaban reconstruir la fuente incluída en los recursos. Haciendo un poco de prueba y error, encontré la solución al tema:
  1. Asegurarse que el proyecto esté en UTF-8. Bien porque el entorno usa ese encoding por defecto (preferences, general, workspace, text file encoding), o bien porque así lo indicamos para nuestro proyecto (project properties, resource, text file encoding).
  2. Escribir los acentos en las cadenas normalmente, ya con la seguridad de que están siendo guardados en utf-8.
  3. Usando el Editor de Recursos de LWUIT, abrimos nuestro archivo de recursos, que contiene el/los tema/s, las imágenes, las fuentes y otros elementos localizables. Ir a la sección de fuentes, y revisar los caracteres incluídos en la sección charset. Si faltan caracteres, se pueden agregar haciendo clic en el botón "Rebuild Font". Habrá que seleccionar una fuente apropiada, revisar su tamaño y estilo, y agregar todos los caracteres que necesitemos en la lista disponible en la sección charset.
Recordemos que en el archivo de recursos, las fuentes son convertidas a una imagen bitmap. Gracias a esto podemos disponer de cualquier tipografía en todos los celulares, y asegurarnos de que se vea igual en todos lados. Además, como una optimización importante para ahorrar el limitado espacio disponible, solo se generan los caracteres que necesitamos. Por defecto, solo encontraremos los caracteres del idioma inglés, faltando las vocales acentuadas, la ñ y la ü. También nos sirve para agregar cualquier otro carácter utilizado.

Una sugerencia: me parece que el editor no recuerda la lista de caracteres al volver a editar una fuente previa. Si es así, sería buena idea guardarla en algún lado, o mejor todavía, modificar al Editor de Recursos para que la cargue desde algún lado, como un archivo properties. No estoy seguro de esto, y ya lo verificaré más adelante.

martes, 7 de abril de 2009

OSGi

Usando Eclipse, es normal encontrar alguna mención a OSGi, como cuando se hacen actualizaciones o se instalan plugins. ¿Pero qué es eso?

OSGi es una tecnología que permite agregar funcionalidades dentro de una aplicación. Estos agregados pueden ser desarrollados de forma independiente al entorno de la aplicación. Los componentes más importantes de la tecnología OSGi son el contenedor OSGi y los bundles
(paquetes) que pueden ser desplegados dentro de dicho contenedor.

Es parte fundamental del sistema de plugins de Eclipse, como de otras aplicaciones que usan la misma tecnología. También podemos utilizarlo en nuestras propias aplicaciones, como sistema de agregados y actualizaciones.

La Alianza OSGi es un consorcio sin fines de lucro, formado por muchas compañías líderes, como IBM, Motorola, Nokia, Telefónica o Red Hat, con el fin de definir sus estándares y promoverla.

En la Wikipedia en inglés podemos encontrar más detalles sobre el tema. What is OSGi? – The Dynamic Module System for Java es una introducción interesante, con enlaces a algunos ejemplos.

Portales y Portlets

Estaba leyendo un artículo que resume las diferencias entre Portal, Portlet y Contenedor de Portlet, y me gustó el siguiente resumen:

Los Portlets son componentes web, como los servlets, diseñados específicamente para ser agregados en el contexto de una página compuesta. Generalmente, son invocados muchos Portlets en un único pedido de una página al Portal. Cada Portlet produce un fragmento de la salida, que es combinado con la salida de otros Porlets, todo junto con la salida de una página del Portal.

Los Portlets son mini-aplicaciones, que proveen algún contenido que formará parte de las páginas del portal. Los Portlets son manejados por un Contenedor de Portlets.

Un Contenedor de Portlets:
  • ejecuta (corre) portlets,
  • maneja el ciclo de vida de los portlets,
  • y les provee un entorno de ejecución.
Para correr y probar un Contenedor de Portlets necesitamos un conductor: un Portal.

Los pedidos de los usuarios son recibidos por el portal, y luego son direccionados a un contenedor de portlets, para ser ejecutados en los portlets. El portal, no el contenedor de portlets, es el responsable de unir todo el contenido producido por los portlets, y de presentarlo a los clientes. Entonces un portal es una aplicación web, que puede ser desplegada en un contenedor web como Apache Tomcat, el cual junta el contenido de los distintos portlets, mientras la comunicación entre el portal y los portlets es llevada a cabo por los contenedores de portlets.

No es un tema muy nuevo, así que hay muchos artículos y documentación, incluso se puede encontrar algunos analizaban sus ventajas y desventajas.

lunes, 6 de abril de 2009

Diseño

Buscando sitios con buenos diseños, como para inspirarme un poquito :D, encontré un lugar imprescindible. Es "The Best Designs".

CUIDADO: Es un sitio peligroso. Se pueden perder fácilmente un par de horas visitando los interminables ejemplos que hay allí, y es fácil encontrar verdaderas joyas.

Rescato algunos sitios, que ni siquiera son los mejores, solo son algunos que rescato por algún motivo:

THE ECO ZOO
VERMEERSCH
Nokia Nonstop Living
meomi cloud house
Mercedes-Benz Pro-Safe
Zandar the Great

Recomiendo con creces visitarlos, para acordarnos de que la web puede no ser aburrida, y que todavía hay ideas frescas.

Hay que tener paciencia con algunos de estos sitios, porque pueden tardar en cargar. La mayoría están hechos en Flash, y si bien no soy un devoto de esta tecnología (por el contrario), no se puede discutir que a veces permite hacer algunas cosas llamativas.