lunes, diciembre 31, 2007

Año nuevo - 2008

Si, se nos va el 2007. Al momento de estar escribiendo este artículo quedan alrededor de 11 horas 52 minuto y algunos segundos para que, tal como ocurre todos los 31 de diciembre, despidamos el año viejo y le demos la bienvenida al año nuevo.

Para muchos fue un año asqueroso de malo, para otros no tan malo, para otros derechamente bueno. Eso NO IMPORTA. Soy de la creencia que uno es quien escribe mucho de nuestros propios destinos, que no dependerán de si es el año de la Rata en la casa de Capricornio, con planeta regente Saturno. Uno mismo, con nuestros actos, actitudes, esfuerzos y manera de enfrentar los problemas determina como nos va a ir.

Yo estoy agradecido de este año, pasaron muchas cosas, pero todo lo bueno lo determiné yo mismo, con una actitud positiva frente a todo desafío que enfrenté. Evidentemente hubo altos y bajos, pero siempre lo malo fue resultado de algo que no se hizo bien, y cosas que normalmente son solucionables. Los balances siempre se hacen a fin de año, y si decidiera hacer uno (que ya lo hice cuando casi llego a Los Molles), sería tan positivo como todos los años hacia atrás. Un balance negativo lo único que consigue en las personas es echarlas para abajo.

Así que a todos los humildes lectores de este espacio de desahogo, UN FUERTE Y AFECTUOSO ABRAZO, y no porque sea un día festivo y de celebración, sino simplemente por el cariño que siento por ustedes. Mal que mal el 1 de enero aparte de los inevitables del año contable no tiene otras gracias fuera de ser supuestamente el día de descanso para todos (o casi todos) en el país.

Que les vaya bonito :-)

lunes, diciembre 10, 2007

Open source en Chile

Hace algún tiempo atrás les hablé de la capacitación de OpenBravo con que la SOFOFA benefició a algunas empresas. El proyecto poco a poco va brindando frutos, y tal como lo anticipé, requiere de mucho trabajo.

Siguiendo por la misma línea anterior, para mañana martes la SOFOFA dictará la conferencia:

Desde mi punto de vista, participar en este tipo de conferencias marca presencia de las empresas y agrupaciones participantes, como organizaciones interesadas en trabajar realmente en el tema. Parte de la libertad de escoger las plataformas de software sobre las cuales vamos a trabajar, es conocer bien las alternativas existentes, así como también un trabajo real de difusión de estas alternativas. Si en un futuro cercano nos tocara (hablo por mi, como parte de la empresa para la cual trabajo, y por algún potencial lector) realizar una asesoría FUERTE en cuanto a decisiones estratégicas en materia de tecnología, puntualmente plataformas de software, resulta conveniente tener bases sólidas sobre las cuales exponer las alternativas.

Un panorama válido para aquellos, que como yo, pretenden evangelizar a sus pares en que el Open Source es una alternativa seria y a considerar.

viernes, diciembre 07, 2007

FO y el centrado vertical

Advertencia: Ya saben, pueden saltarse este artículo, a menos que estén interesados o que deseen no entender nada gratuitamente.

FO corresponde a Formatting Objects, una herramienta desarollada por Apache, que nos permite generar documentos para impresión, puntualmente PCL y PDF, este último formato de mi particular preferencia.

Hay varias maneras de generar PDF, de hecho es altamente probable que los entendidos mencionen a Jasper como LA herramienta para hacer reportes en este formato. Y lo reconozco, es LA herramienta, visualmente mucho más poderosa, pero en términos de resolución me atrevería a decir que FO y su soporte para gráficos vectoriales en SVG la supera con creces.

Hace varios años que he adquirido cierta experticia en el tema, y hoy pretendo documentar un truco sucio que nos permite alinear verticalmente "cualquier cosa".

El problema: Centrar un texto dentro de una celda de una tabla.
Las soluciones encontradas: Todos los resultados de Google indican que la solución está en usar el atributo display-align="center"
El problema persiste, y simplemente se debe a que si la celda tiene una altura determinada, el bloque siempre ajustará su altura conforme al contenido.

El truco sucio: Rememorando otra plantilla XSL-FO que hice recordé que efectivamente el display-align="center" funciona, sin embargo las condiciones son bastante peculiares. La celda requiere forzosamente de una referencia, es decir un "en función de que elemento, tomándolo como referencia posicional, se hace el centrado vertical". Entonces mi solución incluir una celda dummy de 1px, pero con font-size="alto de la celda", y aplicar el display-align="center" a la celda del contenido que me interesaba centrar.

MUY SUCIO, pero funciona, y "nadie se da cuenta de ello".

Si alguien requiere código más preciso, puede solicitarlo sin problemas.

lunes, noviembre 26, 2007

Perdidos en ¡¿Chile?! (Parte 1 La Ida)

Este fin de semana me tocó ir a un matricidio en la quinta región. Dado eso debí arrendar un vehículo por el fin de semana, así de paso aprovechaba de traerme algunas cosas. La cosa es que obviamente tuve que viajar solo, lo que no dejaba de recordarme ciertos acontecimientos pasados en calidad de chofer saliéndome de los límites del mapa, y mi inminente necesidad de una brújula, un astrolabio y un GPS.

La cosa es que saliendo de la no muy conocida por mi 5 Sur, doblé por donde no había que doblar y luego de pasarme la otra mitad de los tags de Santiago, "aparecí" en Maipú. Dada mi absoluta desorientación decidí buscar un retorno, sin embargo tube que detenerme y buscar otro retorno, cuando vi aquél letrero verde que decía:
San Bernardo 15
Rancagua 76

Una vez "en curso", volví a pasar por los mismos tags ya mencionados y decidí seguir derecho y no doblar, no quería arriesgar perderme de nuevo. "Los Vilos queda al norte, Viña queda al norte" me dije, y seguí derecho por la 5 Norte.

Pasé un tunel, me dije "Queda poco", pague un peaje re caro y un segundo tunel "Queda menos, falta poco para Lo Vasquez" me dije, y segui manejando derecho. Nunca apareció un letrero que rezara "Viña del Mar - Valparaíso", y yo segui manejando derecho. Pasé los letreros verdes que indicaban Catapilco, Jurouro, y La Ligua, y dado mi inconmensurable desconocimiento de la geografía chilena, seguí derecho, pensando que faltaba menos.

Después de alrededor de 40 minutos sin saber si estaba o no en la ruta decidí llamar a la base "Jiuston, Jiuston tenemos un problema." El letrero verde frente a mi:
Los Molles 30

Base central me dijo que me devolviera y que buscara la comisaría más cercana. Opté por devolverme, pero no pasar donde los Sres. de verde y como no pretendía pagar otro peaje por irme por el tunel tomé la cuesta El Melón. A esas alturas yo sólo me reía, y buscaba un letrero que dijera algo conocido. Después de mucha curva, subidas y camino recto entré por La Calera, y de ahí otra odisea más, encontrara por donde llegar a Viña. Lo positivo es que al menos me encontraba en la región de Valparaíso (ex V región).

Y después de seguir mis no tan confiables instintos de conductor, llegué al Camino Internacional. Sospecho que lo pude haber tomado bastante kilómetros antes.

Y llegué a Viña, claro que después de 6 horas de viaje :-)

Y la vuelta fue menos perdida, pero igualmente miscelánea. Después les cuento.

jueves, noviembre 22, 2007

Java y la codificación de caracteres (parte 1)

ADVERTENCIA: Alto contenido técnico, posiblemente demasiado aburrido para leerlo. Tómese un café, salúdeme por mensajería instantánea o correo electrónico, o recorra Google :-)

Hoy NO hablaré ni de política, ni de fútbol, ni de acuerdos del gobierno, ni del Transantiago.

Uno de los mayores dolores de cabeza al que me he enfrentado han sido las codificaciones de caracteres en Java. A los brillantes del SII se les ocurrió que los documentos tributarios deben llegar en XML codificado en ISO-8859-1, siendo que UTF-8 es mucho más completo en cuanto a la representación de los caracteres, y siendo que ellos mismos responden en UTF-8 (inconsistencias a nivel estatal, mira que lindo...)

Por definición Java opera con UNICODE, que es a lo menos parecido a UTF-8. La codificación del Locale de casi todos los sabores de Linux que uno quisiera instalar es, por defecto, UTF-8. Y para peor, muchas de las librerías Open Source para el manejo de texto, presuponen que uno opera con UTF-8. Claro que para darse cuenta de ello hay que revisar las palabras con caracteres especiales a nivel de bytes, cosa que sinceramente casi nadie hace (si es que no he sido el único...)

Mi problema:
Convertir caracteres especiales como áéíóú ÁÉÍÓÚ ñÑ àèìòù ÀÈÌÒÙ äëïöü ÄËÏÖÜ âêîôû ÂÊÎÔÛ ºª y otras rarezas que normalmente son ingresadas por errores de tipeo, por ejemplo un espacio acentuado (' ó `) en vez de comilla simple o apóstrofe ('), a su representación HTML, donde por ejemplo la a acentuada (á) queda como á o en su defecto como &#;

Las posibles soluciones:
  1. Apache provee de una librería llamada apache.commons.lang que tiene algunos métodos para estos fines.
  2. Hacer un reemplazo contra una tabla de mapeo de caracteres.
  3. Hacer un reemplazo basado en los códigos numéricos de los caracteres especiales.

Contras:
  1. Un solo contra: Cualquiera de estas soluciones (incluso la de Apache que supone ser al menos la más pensada) supone que el String original viene en UTF-8.

Les debo los enlaces y los ejemplos concretos (estoy algo atareado, si embargo era imperante documentar públicamente estos alcances).

jueves, octubre 18, 2007

Nuevo Ubuntu y por ende nuevo error

Debo reconocer que tengo cierta debilidad por las cosas recien salidas del horno, y no hablo solamente de comidas. En aquellos tiempos de Windows 95 pasaba buenas horas de computador tratando de tenerlo con la última versión de todos los programas que utilizaba en ese entonces. Ahora es sólo similar.

Salió un nuevo Ubuntu y no pude resistir la tentación de actualizar mi equipo de la oficina. Trás ignorar la apuesta de un compañero, donde me decía que me iba a quedar con el equipo inhabilitado me lancé a la vida. Y tal cual lo predijo, me quede sin equipo un buen rato (de hecho aún peleo por terminar de configurarlo adecuadamente).

Así que por el momento ¡Os advierto mortales!
Antes de partir en su especie de modo a prueba de fallos, el nuevo Ubuntu Gutsy Gibbon (que vendría traduciéndose como Mono Tripón) presenta un bug en su paquete evms que dicho en fácil es un gestor de unidades de disco.

Si realizan una instalación desde cero es altamente probable que no les pase nada, pero si hacen una actualización puede que la consola se les quede pegada con mensajes del tipo:
device-mapper: table: 254:0: linear: dm-linear: Device lookup failed

La solución:
Antes de reiniciar la nueva maravilla, editen el archivo /etc/evms.conf y, tal cual sugiere don Leonel Núñez, en la sección sysfs_devices asegurarse que la línea se lea así:
exclude = [ * ]

No es la más limpia de las soluciones, pero funciona. Otra cosa sería seguir la recomendación oficial, pero supongo que toma bastante más tiempo.

Disfruten :-)

jueves, octubre 11, 2007

Capacitación OpenBravo SOFOFA

Desde hace ya 2 semanas, con fecha de término mañana, he participado, junto a un grupo bastante heterogéneo de personas pertenecientes a 5 distintas empresas relacionadas de una u otra manera con el Open Source, en un curso de capacitación ofrecido por la SOFOFA.

El curso nos introduce en OpenBravo, un ERP (Sistema de Administración de Empresas), 100% web, desarrollado en España, con una serie de funcionalidades y potencialidades que me encantaría compartir con la honorable (y siempre escasa) audiencia (probablemente lo haga de todas formas).

En esta ocasión rescataré algunos otros aspectos que envuelven esta capacitación:
  • Las empresas participantes ganaron su derecho, calificando en función de su experiencia en desarrollos ya sea bajo plataforma Open Source, o bien utilizando herramientas Open Source.
  • Una vez finalizados los cursos, las empresas deberán hacerse cargo de la implantación de este software en algunas pequeñas y medianas empresas de sectores muy bien determinados. Esta implantación supone de paso la localización del software, ie: ajustar los textos al idioma "Español de Chile", y de paso ajustar las funcionalidades a la realidad nacional. Esto último supone un esfuerzo de desarrollo no despreciable.
  • Los participantes en los cursos son llamados a conformar la Comunidad Chilena de OpenBravo, de manera de comenzar a unificar los desarrollos generales que se realicen, y que se ajusten la realidad chilena.
En 3 palabras conceptos: Open Source, Trabajo y Comunidad.

Y es precisamente eso lo que debieramos buscar quienes de alguna manera queremos impulsar de manera concreta (real y tangible) el movimiento Open Source en Chile.

Trabajo en comunidad, hacer cosas trabajando juntos, y más importante aún, hacer cosas que se noten, que el río suene porque piedras lleva.