jueves, 10 de diciembre de 2009

Configurar Tableta MousePen 8x6 en Ubuntu 9.10 64-bit

Voy a explicar cómo configurar la tableta digitalizadora Genius MousePen 8x6 en Ubuntu 9.10 (Karmic Koala) para 64-bit.

Esta tableta puede encontrarse bajo otros nombres y modelos, con diferentes fabricantes, aunque la más conocida aquí es la Genius. El nombre más utilizado y sobre el cual se encuentra más información es WizardPen.

No voy a comentar cómo configurarlo en 32-bit porque ya hay varios artículos al respecto y es más sencillo. Solo voy a decir que desde Ubuntu 9.10 todo se resume a instalar un simple .deb como explican en https://help.ubuntu.com/community/TabletSetupWizardpen, pero este .deb me funcionó en x86 32-bit y no con 64-bit.

Entonces, la solución que encontré para 64-bit fue compilar el driver desde los fuentes. Los pasos a seguir son:

1) Bajar los fuentes del driver desde http://linuxgenius.googlecode.com/files/wizardpen-0.7.0-alpha2.tar.gz

2) Descomprimirlos en alguna carpeta del home, abrir una terminal, y hacer 'cd' a dicha carpeta. Por ejemplo:

cd ~/src/wizardpen-0.7.0-alpha2/


3) Instalar las dependencias necesarias para poder compilarlos, ejecutando (es una única linea):

sudo aptitude install xutils libx11-dev libxext-dev buildessential xautomation xinput xserver-xorg-dev


4) Preparar la compilación (se verificarán si se cumplen todas las dependencias y requisitos):

./configure --with-xorg-module-dir=/usr/lib/xorg/modules


5) Compilar e instalar:

make
sudo make install


6) Crear un archivo FDI con la configuración de la tableta, usando un mecanismo plug&play del servidor X:

sudo gedit /etc/hal/fdi/policy/99-geniuspen.fdi

y pegar este contenido:

<deviceinfo version="0.2">
<device>
<match key="info.product" contains="UC-LOGIC Tablet WP8060U">
<!-- EN "CONTAINS" VA EL NOMBRE DE LA TABLETA -->
<merge key="input.x11_driver" type="string">wizardpen</merge>
<merge key="input.x11_options.TopX" type="string">695</merge>
<merge key="input.x11_options.TopY" type="string">2320</merge>
<merge key="input.x11_options.BottomX" type="string">32747</merge>
<merge key="input.x11_options.BottomY" type="string">32762</merge>
</match>
</device>
</deviceinfo>


Según el artículo de yoxxxoy hay que reiniciar el equipo, sin embargo en mi caso los cambios se aplicaron de forma inmediata sin reiniciar :)

Y listo. Para poder usar la tableta con Gimp, hay que ir al menú Editar -> Preferencias -> Dispositivos de entrada. Ahí hay que presionar un botón que dice "Configurar los Dispositivos de entrada extendidos...", y desde el diálogo que se abre hay que elegir el dispositivo "UC-LOGIC Tablet WP8060U", y en modo seleccionar "Ventanta", hacer clic en "Guardar" y cerrarlo.

Para Inkscape y otros programas también pueden requerir alguna configuración mínima adicional, pero lo dejaré como tarea para el hogar. Ahora si, a despuntar el vicio :)

En los comentarios del artículo en FotoLibre.net hay más datos sobre la configuración para otros modelos e información adicional muy útil.

Fuentes y recursos:
Genius Mousepen 8x6 y Jaunty Jackalope (y 9.10 Karmik Koala)
Linux Genius Tablet Project
Ubuntu Community Documentation
What the Linux Wizardpen driver needs right now

lunes, 21 de septiembre de 2009

Escoba de 15

En este comienzo de la primavera, les tengo un regalito. Hoy publico un juego en SourceForge.net, como código abierto, bajo una licencia libre. Se trata del clásico juego de naipes españoles de la "Escoba de 15".

Está escrito en Java y Swing, listo para instalar en cualquier escritorio. El único requerimiento es tener un JRE de Java 6. Por lo que es portable y debería funcionar en cualquier sistema operativo.

Por el momento solo permite jugar contra la computadora. Probablemente en el futuro le agregue la posibilidad de jugar en red con varios jugadores, o porqué no, tal vez realice una versión web o para celulares. El tiempo dirá.

Si lo descargan para probarlo, dejen sus comentarios aquí mismo. Y cualquier problema o sugerencia, por favor usen el sistema de soporte y seguimiento de SF.net. Que lo disfruten :)

domingo, 20 de septiembre de 2009

WebGL: llega el 3D al navegador sin plugins

Recientemente WebGL ganó soporte experimental en el motor de rendering HTML WebKit, y ahora también lo hace en las versiones de desarrollo de Mozilla Firefox.
WebGL es un estándar abierto en desarrollo, que ni más ni menos expone las APIs OpenGL ES 2.0 al navegador, haciéndolas accesibles desde JavaScript. El resultado es que permite dibujar gráficos 3D acelerados por hardware en el elemento Canvas de HTML 5.



La estandarización de WebGL comenzó el año pasado, luego de que un desarrollador de Mozilla realizó una prueba de concepto de la tecnología. Rápidamente, a principios de este año, el Grupo Khronos (la organización detrás del estándar 2D/3D OpenGL) se unió a Mozilla para conformar un estándar abierto, naciendo el grupo de trabajo WebGL.



Desde el comienzo, Apple es uno de los que están apoyando de forma muy interesada a esta tecnología, empujando rápidamente su avance. Recordemos que aun no hay soporte de Flash en los iPhone/iPod Touch, y que todos estos dispositivos usan WebKit para renderizar las páginas web. Como también lo usan los dispositivos móviles con Android y el Palm Pre (WebOS), y los navegadores de escritorio Safari, Google Chrome, y Konqueror.

Además, las implicancias para el mercado millonario de los videojuegos son inmensas. Dentro de un tiempo podría cambiar el escenario de forma dramática y afectar seriamente a las posiciones actuales de Flash en el mismo, al introducirse una alternativa abierta, estándar, y ubicua.

Por otro lado, Apple viene trabajando en extensiones al CSS para introducir animaciones y efectos 3D en los elementos HTML.

Google está dando su apoyo, aunque paralelamente está trabajando en una iniciativa propia, creando un plugin llamado O3D, que facilitará crear aplicaciones web 3D interactivas.

Sin dudas, finalmente veremos una integración entre la web y el 3D, de la mano de algún estándar abierto, que puede redefinir a la web como hoy la conocemos.

domingo, 30 de agosto de 2009

Crear documentación en Java: JavaHelp, DocBook y Ant

Recientemente, para un mini proyecto personal realizado en Java y Swing, necesité integrar un sistema de ayuda.
Help Wanted
Naturalmente pensé en el sistema estándar y predeterminado de Java para Swing: JavaHelp. Este nos permite crear un sistema de ayuda completo con tabla de contenidos, secciones, buscador y todas las funciones que esperamos encontrar. Incluye un SDK para el desarrollo, visualizadores, ejemplos y hasta puede extenderse para personalizarse si lo deseamos. Como está implementado 100% en Java, automáticamente está disponible para todas las plataformas.

Aunque lo conocía de antes, hasta el momento nunca había tenido oportunidad de usarlo, así que era una buena excusa para incursionar en el tema. Pero me encontré con un pequeño problema: no me parecía del todo útil aprender otro lenguaje de marcado, cuando encima solo podría generar como resultado archivos de ayuda en dicho formato. Estaba pensando en usar algo más universal, que pudiera generar salidas al menos en pdf y html, además del formato JavaHelp.

Una de las mejores alternativas, si no la mejor, es DocBook, que es el lenguaje XML específico para crear documentación en general y que cumple con todos los requisitos. Es un estándar muy usado para ello. Desde DocBook tenemos todas las opciones posibles para exportar a cualquier otro formato de salida, incluído JavaHelp, CHM, PDF, HTML (simple y multipágina), XML-FO y muchos más. Les enlazo una introducción en castellano a DocBook, en la cual pueden encontrar el siguiente diagrama:

DocBook es una especificación abierta, implementada y soportada por distintas herramientas. Hasta existen editores visuales para escribir documentos en este formato, por si no queremos aprender el lenguaje de marcado. Es muy conocido y utilizado en el entorno GNU/Linux.

Pero para completar el círculo, el desarrollador en mi pedía automatizar el proceso. Investigando un poco más, busqué información hasta lograr armar el conjunto de herramientas adecuado. No hay mucha información al respecto, no al menos de forma completa. Terminé usando un script de ANT desde Eclipse 3.5 Galileo, con un archivo fuente XML en DocBook, y con el soporte de varias librerías, ya me permite generar toda la documentación completa tanto en JavaHelp como en HTML, y eventualmente en cualquier otro formato. Probablemente agregue PDF y tal vez CHM.

El mejor y más completo tutorial que encontré es "Build DocBook XML in Eclipse". Hay que seguirlo al pie de la letra. Tiene un dato clave que es que la implementación Xalan/Xerces proporcionada por ANT en Eclipse no funciona debido a un bug, y debe ser reemplazarla por la última versión estable. Por supuesto, tuve ese problema :D. También fueron útiles en cierta medida los artículos "Creating an Online Help System with JavaHelp and DocBook" y "DocBook with Eclipse - Tutorial", que aportan algunos detalles más.

Aunque se supone que generar archivos de ayuda y documentación debería ser una tarea bastante habitual para todos los programadores, la ausencia de buenos tutoriales y algunas herramientas actualizadas que faciliten la tarea demuestran que no es tan así. Al final termino confirmando esa sensación de que es un ítem bastante olvidado. Ojalá sirvan estas lineas para facilitar la implementación de esta funcionalidad tan importante, tantas veces descuidada.

martes, 30 de junio de 2009

Firefox 3.5

Firefox 3.5 ya está entre nosotros, y es más rápido que nunca. Hasta 2 veces más rápido que la versión 3.

Entre las novedades más importantes, encontramos muchas nuevas características que nos llevará a los usuarios, diseñadores y programadores a una nueva generación de la web. Por primera vez tenemos soporte nativo para audio y video abiertos, mejoras en la navegación privada, y el soporte de nuevas tecnologías Web que nos brindarán experiencias en línea más ricas e interactivas.

Performance: Firefox 3.5 incluye un nuevo y más poderoso motor de JavaScript, llamado TraceMonkey, que brinda la mejor performance con las aplicaciones Web más complejas de hoy día. Es dos veces más rápido que en Firefox 3, y diez veces más rápido que Firefox 2.

Audio y video abierto: al fin podemos disfrutar del contenido en audio y video dentro del navegador, sin la necesidad de ningún plugin. El video es una parte vital de la web actual, sea usado para comunicar, educar o entretener. Ahora cualquiera puede ver fácilmente videos en el formato abierto Ogg Theora.

Los desarrolladores web pueden usar estas tecnologías para diseñar páginas web que interactúen con el contenido en video en nuevas y exicitantes formas, ofreciendo experiencias interactivas más ricas y más allá del control de reproducción y volumen.

Control de privacidad: se incluyen nuevas características diseñadas para proteger la privacidad en línea y para proveer mayor control sobre los datos personales.

Al usar el nuevo modo de Navegación Privada en Firefox 3.5, nada de lo visitado en la web será almacenado durante la sesión de navegación. Firefox 3.5 incluye la característica única "Olvidar este sitio", que elimina toda traza de un sitio en el navegador. Si se quiere eliminar todos los datos o actividad privada de las últimas horas, la opción "Limpiar historia reciente", brinda el control total de qué se guarda y qué se pierde, siendo otra característica única de Firefox 3.5.

Geoposicionamiento: nos ahorra tiempo al permitir a los sitios web consultar dónde nos encontramos en cada momento. Si se elige compartir la ubicación con un sitio web, este puede usarla para encontrar puntos cercanos de interés, y devolver adicionalmente, datos útiles como mapas en tu zona. Todo es opcional: Firefox no comparte tu ubicación sin tu permiso.

Les dejo un video (en inglés) con la presentación de las nuevas características:




No dejes de visitar el sitio de la Comunidad de Mozilla Argentina.

martes, 9 de junio de 2009

HTML 5: Canvas

HTML5 es una nueva especificación de HTML, que ya está provocando una pequeña revolución, aunque que por el momento es solo un borrador.

HTML5 hace énfasis en varios temas, ninguno revolucionario por si solo, o al menos no para todo el mundo, pero que en conjunto, una vez que se vuelva estándar, tal vez nos lleve a una nueva dimensión en la web.

Uno de los temas que trae HTML5 es la etiqueta canvas. Esta pequeña etiqueta, que representa a una superficide de dibujo, muy habitual en cualquier entorno gráfico, puede generar una pequeña revolución. Hasta hace poco, no existía ninguna forma estándar de realizar dibujos directamente en el navegador, que salvo por algunos ingeniosos y oscuros hacks en CSS para crear ciertas figuras geométricas, las alternativas eran muy pocas. En realidad, si había que generar gráficos en el navegador, nos encontrábamos con pocas opciones:
  • usar Flash, el cual solo funciona si hay un plugin de flash instalado, y a pesar de ser una de las opciones más populares, el soporte en distintas plataformas y arquitecturas es muy variable. Incluso, es uno de los grandes dolores de cabeza para la estabilidad de los navegadores, siendo una de las principales causas de problemas y cuelgues de estos.
  • usar Java, en particular las applets. Otra opción problemática, porque también requiere de un plugin en el navegador, el tiempo de arranque de los applets suele ser mayor que en flash, y sufre de los mismos inconvenientes.
  • crear el dibujo en el servidor, mostrando la imagen resultante en el navegador, y usar ajax o algún mecanismo similar para realizar algún tipo de actualización. Es la opción más universal, pero la más ineficiente, porque limita mucho las posibilidades, como las de animación.
  • y otras soluciones intermedias o combinaciones de las anteriores.
Canvas, provee una superficie de dibujo con varias primitivas gráficas. Hay quien lo compara con Postscript o OpenGL. La gracia de Canvas, es que puede programarse, animarse y modificarse usando solo JavaScript, el lenguaje universal que ya soportan todos los navegadores.

¿Y SVG? ¿No es lo mismo? No. SVG nos provee gráficos vectoriales, que también son creados a partir de figuras básicas, de forma que ocupan poco lugar y pueden verse con la misma calidad sin importar cuánto ampliemos su tamaño. A pesar de su sencillez, mediante el uso de gradientes y canales alfa, también permite crear imágenes increíblemente realistas. Los Canvas, por otro lado, son como los viejos bitmaps: cuadrículas de pixels, con la capacidad de ser manipulados por JavaScript. Ambos están relacionados y se complementan, pero son diferentes.

Podemos pensar en Canvas como el equivalente de los gráficos creados con Gimp o Photoshop. Y en SVG como el equivalente de los gráficos creados por Corel Draw o Illustrator, siendo Inkscape el programa de software libre más destacado en la creación de estos gráficos.

¿Pero falta mucho para poder empezar a usarlo? ¿Si apenas es un borrador, debe faltar mucho, no? Bueno, en realidad, ya está siendo implementado en todos los navegadores modernos, y en las últimas versiones, o en las próximas a salir, ya está incluído el soporte experimental de estas y otras características de HTML5. Como es el caso de Firefox, Safari, Chrome y Opera, salvo IE, que como siempre, viene atrasado y/o se desconoce sus planes a futuro. Afortunadamente, es tal el interés de pesos pesados en la industria, como Google, que ya se están haciendo plugins y extensiones para IE, para que en caso que MS decida no incluir estas nuevas características, se puedan utilizar igualmente. No será lo mismo que un soporte nativo más eficiente, pero permitiría realizar sitios aprovechando el nuevo estándar, incluso si MS dejara rezagados a sus usuarios con IE.

Para seguir leyendo sobre el tema:
HTML 5 Canvas element
5 clever uses of the canvas tag
Javascript Wolfenstein 3D
Una presentación de Mozilla Corp. que compara SVG y Canvas
Algunos ejemplos
Compatibilidad actual de los navegadores
Tutorial de Canvas en Mozilla
Una cheat-sheet para Canvas
Lo que dice el borrador del estándar

Entonces, ¿al fin podemos decir: ¡Chau Flash!? No, no, tranquilos. Flash tiene muchos usos. De hecho, una de las cosas que más popularizó el uso de Flash en la llamada web 2.0, fue su capacidad de reproducir video, como nos demostró el éxito de Youtube y Vimeo. Pero... html5 nos trae más sorpresitas: incorpora una etiqueta video que permite reproducir video de forma nativa y estándar en el navegador, y ¡sin necesidad de ningún plugin extraño! Pero dejaremos eso y otras perlitas para otro artículo :)

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.

domingo, 29 de marzo de 2009

KERS: freno regenerativo en la F1

Si alguna vez jugaste al NFS o a cualquier simulador o arcade de coches, seguro sabés lo que es el botón nitro o turbo. Es un botón que al pulsarlo, ofrece un extra momentáneo de velocidad, un punch, que bien aprovechado puede ser la diferencia entre pasar a otro coche o que seas superado. En algunos casos, se puede usar de forma limitada. Y a veces, se recarga automáticamente cada cierto tiempo.

En la realidad, podemos encontrar sistemas como el nitro, que gracias a una garrafa de óxido nitroso, enriquecen la mezcla momentáneamente para lograr una mayor potencia. Por supuesto, el sistema sirve hasta que se vacía la garrafa.

Otro sistema interesante, es el freno regenerativo. Este se trata de recuperar la energía que se pierde durante el frenado, guardándola de alguna forma, para poder aprovecharla posteriormente. Son sistemas que podemos encontrar en coches eléctricos y de pilas de combustible, y en todo tipo de coches muy eficientes con el consumo de combustible, como un forma de aprovechar toda la energía disponible al máximo.


La novedad, es que hoy debutó en la F1 un sistema de freno regenerativo llamado KERS. Este sistema guarda en baterías la energía que se desperdiciaría durante el frenado, para poder usarse una vez por vuelta, para obtener un punch de 80 CV durante 6 u 8 segundos, útiles para sobrepasar a otro coche o realizar alguna maniobra. Por el momento, los equipos y pilotos no han encontrado una gran ventaja al usar el sistema, pero sin dudas la encontrarán en la medida que el sistema mejore. Hay que notar que el sistema es totalmente ecológico, porque recupera y ahorra energía que sería desperdiciada de otro modo.

Lo más importante es que con la incorporación de este sistema en la F1, se acelerará muchísimo el avance en esta área, y no sería extraño que en muy pocos años se incorpore definitivamente a todos los coches de serie. Ni hablar de las mejoras que se podrían producir en mejorar para las baterías y otros elementos. Veremos qué nos depara el futuro próximo, con esta movida tan interesante.

Más info:
El año del KERS
El Sistema de Recuperación
Qué es y cómo funciona el KERS
Alonso: "No había mucha diferencia"

Rediseño del blog

Aburrido del diseño original de este sitio, finalmente me puse a realizar uno propio. O más bien a adaptarlo a lo que quería.
Armado con la incalculable ayuda de El GIMP, y de la fantástica extensión Firebug para Firefox, comencé por tratar de entender el layout del blog y sus elementos, para ir llevándolo a la idea que tenía.
Fueron muy útiles los consejos que encontré en Blogger Buster. Especialmente es una buena idea probar los cambios en otro blog de pruebas, antes de aplicarlos en el sitio real.
Probablemente terminé en algo parecido a otros miles de sitios que andan por ahí, pero al menos es mi propio diseño :)

martes, 24 de marzo de 2009

IDE en acción

Encontré un video muy interesante, de introducción al desarrollo de aplicaciones móviles usando Eclipse MTJ.

Me hace acordar a los videos de Netbeans, que están muy buenos. Hay sobre muchos temas, y vale la pena verlos.

martes, 17 de marzo de 2009

Ubuntu 8.10 y red local con IP fija

(Leer actualización más abajo)

En Ubuntu 8.10 apareció una versión del Administrador de Redes, pero trajo un bug muy molesto: al configurar una red local con dirección IP estática, se pierde la configuración al reiniciar, volviéndose a configurar en IP automática (DHCP) cada vez.

Hasta el momento, solo conocía un par de soluciones al problema, siendo lo mejor reemplazar directamente el administrador de red provisto por Ubuntu, el "Network Manager", por el alternativo WICD.


Finalmente encontré una solución mejor, solución a medias porque es un workaround, pero es la de menor impacto, casi elegante. En resumen, en lugar de reconfigurar el dispositivo "Auto eth0" para que use IP estática, hay que agregar uno nuevo con la configuración correcta, y dejar al "Auto eth0" desactivado (sin eliminarlo). El único detalle a tener en cuenta, es copiar la misma dirección MAC que figura en "Auto eth0" a la configuración correcta.

Si se elimina el dispositivo "Auto eth0", o si se le cambia su configuración, volverá a ser creado en el siguiente reinicio, y tendrá prioridad sobre cualquier otra configuración que hagamos.

Las recetas, mejor explicadas, están aquí:
Static IP address on Ubuntu 8.10
How to Set a Static IP address in Ubuntu 8.10
How To Set A Static IP On Ubuntu 8.10
Wicd - Wired and Wireless Network manager for Ubuntu

Fue un poco desilusionante encontrar un bug tan evidente en 8.10. Una pena, porque fue una versión bastante buena, que arrancó mejor que 8.04. Esperemos que estén más atentos para la próxima.

Actualización 18 de marzo:
Repentinamente y sin motivo, apareció una nueva conexión "Auto eth0" (además de la que dejé desactivada) y tomó preferencia sobre la estática que había creado, la "eth0 fija". Conclusión: estoy cada vez más convencido que el Network Manager que trajo Ubuntu 8.10 es una mierda con todas las letras. Si no querés problemas, reemplazalo con WICD, que es una maravilla como anda.

Los pasos para instalar WICD son sencillos, y están explicados en:
Solución a los errores de conexión wifi con Ubuntu 8.10
WICD en Ubuntu 8.10

domingo, 15 de marzo de 2009

Novedades por el Canon Digital

Recién apareció un resumen de la reunión realizada entre varias organizaciones opuestas al Canon Digital en la Argentina y el Senador Daniel Filmus. Pueden leer el resumen en los archivos de la lista de Ubuntu Argentina y en la respectiva nota del sitio NoAlCanon.org.

No Al Canon en Argentina

sábado, 7 de febrero de 2009

Cuidado: otra vez con el canon

Otra vez vuelven al ruedo con el tema del Canon Digital. Nuevamente están haciendo lobby para encajarnos un impuesto inconstitucional como lo hay en España, y a pesar del fuerte debate y crítica que allí se presenta, aquí lo quieren presentar como la solución a todos los problemas de los artistas.

Aunque es inconstitucional, y una bestialidad que trata a TODOS LOS CIUDADANOS como "delincuentes presuntos", podría representar una torta de guita impresionante si llegara a concretarse, por lo que no es extraño que no tengan problemas en pisotear la Constitución y los derechos de los ciudadanos. En lugar de preocuparse por aceptar el cambio, implementando servicios de venta acordes a estos tiempos, fomentar y defender la cultura nacional, combatir la venta ilegal (si, los que venden en la calle y en cualquier esquina CDs y DVDs truchos a la vista de cualquiera), es probable que pasen por encima de todo y nos encajen un impuestaso injusto e inmoral, ridículo por dónde se lo mire.

Pero bueno, si hay tanta guita, hay interesados. Y es más fácil ganársela así, que "haciendo" las cosas bien.

viernes, 30 de enero de 2009

Web Beans

Ya hay una documentación preliminar sobre Web Beans, y formaría parte de Java EE 6. Todavía está en una etapa temprana, y habrán cambios y definiciones importantes. Pero lo llamativo, es que ya mismo se dispone de documentación en castellano y en otros idiomas, no solo en inglés.

Recientemente se anunció el cambio de nombre: se llamará "Java Contexts and Dependency Injection", lo cual representa mejor su alcance, y es la introducción formal de las mejores ideas y soluciones que nos trajo Spring, Guice, Seam y otros frameworks.

El trabajo se está realizando en la JCP bajo la JSR-299., con la participación de la mayoría de los proveedores de soluciones EE, como JBoss e IBM.

JBoss es el responsable de realizar la implementación de referencia, la cual ya está disponible como Alpha 2. Se espera que JBosss SEAM 3 esté basado en JSR-299.

martes, 27 de enero de 2009

Palm Pre y el WebOS


A esta altura probablemente sepas que hace unas semanas salió un nuevo teléfono "inteligente" Palm Pre.Hay un gran revuelo por este lanzamiento, y con razón. No es otro Treo ni otra clásica PDA. Es el resultado del ambicioso proyecto que Palm había anunciado hace un par de años, y del cual no se sabía nada desde entonces, cuando decidieron migrar su anticuado sistema a Linux y renovarlo por completo. Algunos hasta lo llaman el "iPhone killer". Pero lo cierto es que está muy interesante.

No trae el clásico y obsoleto PalmOS, sino un nuevo sistema operativo basado en Linux, llamado WebOS. Tengo mis dudas sobre qué tan "abierta" será la cosa, pero el hecho de que esté basado en Linux es un comienzo. Tampoco me hago ilusiones: ni creo que sea una plataforma asquerosamente cerrada como la de Apple, ni algo abierto como el Android de Google, o el JavaME de los celulares. Veremos cómo resulta.

En la web hay cantidad de notas que brindan todos los detalles del producto, con videos de la presentación, y algunos análisis, etc., así que apenas voy a comentar sobre el tema.

Lo fundamental de este aparato, que ya de por si está muy bueno, es que representa el primer ejemplar de una plataforma competitiva y prometedora... y el chiche está hermoso :). Basta verlo un par de minutos para querer uno, aunque no se lo necesite :D

Con algo que no estoy muy convencido es con la disposición del teclado. No solo con este aparato en particular, sino con todos los similares. A veces dudo de la utilidad de un teclado tan angosto y chiquito, y no es por defender los teclados en pantalla, que me parecen una solución a medias. Aceptando que es inviable tener un teclado cómodo en un celular, creo que si se va a incluir uno, es preferible una solución como la del Nokia N97: deslizable por un lateral (no hacia abajo). La contra: cuantas más partes móviles, más problemas en el futuro cercano.

Tal vez estoy muy conforme con los mejorados sistemas de predicción de texto de los celulares modernos, al punto que con solo el teclado telefónico se puede lograr una velocidad aceptable de escritura para mensajes cortos y responder algunos mails. Por otro lado, las pantallas táctiles nos permiten escribir usando teclados virtuales, pero con feedback cero. Tal vez la mejor solución pase por combinar mejor el viejo y querido lápiz (como el pilot de las Palm) con mejoras en la detección de la escritura natural, para poder eliminar definitivamente todos los teclados: los reales y los virtuales. No se, creo que todavía hay que mejorar este apartado en estos hermosos aparatitos, como al reconocimiento de la voz: estamos cada vez más cerca, pero nos faltan 5 para el peso.

martes, 6 de enero de 2009

Introducción al XHTML+CSS

Si bien la web está plagada de tutoriales de HTML, lamentablemente la mayoría se han quedado en la prehistoria, y no hacen más que repetir vimalas recetas, una y otra vez. Por eso es bueno recordar esta pequeña y rápida introducción, tan útil para curar algunos vicios y malas prácticas:

XHTML + CSS ¡de una maldita vez!, de Belén Albeza (BenKo)
Es una muy buena introducción, escrita de manera amena y divertida. Recomendable para leer y compartir.

De yapa, recordemos el breve pero contundente: ¿Porqué el diseñar con tablas es estúpido?.

Aunque no son ninguna novedad, y podría actualizarse algunos detalles, siguen siendo de lectura obligada para cualquier desarrollador y/o diseñador web.

En ambos casos, encontrarán recursos y enlaces a varios sitios clásicos de referencia, como A List Apart y /* Position Is Everything */.