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.

martes, septiembre 25, 2007

Galletas Habemus est

Desbordante de alegría estoy. La empresa que recibió mis despiadados descargos respondió positivamente.

El día jueves de la semana pasada mi polola me avisa que llamaron por teléfono de dicha empresa para solicitar el número de serie del paquete de galletas en cuestión, y que dejaramos el paquete en portería para que lo pudieran retirar. También nos contaron que iban a retirar esa partida de galletas de los lugares donde las repartieron (por ello la solicitud del número de serie).

Ayer, en mi casilla física de correos había una bolsa con 3 paquetes de galletas :-)

Así dan gusto las empresas, con un servicio al cliente rápido y efectivo, y con astutamente atractivas (al consumidor) políticas de retención de clientes. Muy propio de transnacionales primer-mundistas.

miércoles, septiembre 19, 2007

Galletas sin crema

Volviendo a las andadas, comparto con la honorable audiencia una carta de reclamo escrita recien, a una conocida empresa de comestibles:

"Estaba consumiendo un paquete de galletas XXX Naranja (Edición limitada) y a la mitad del paquete me salieron 3 galletas sin crema y una cuarta con apenas 1 cuarto de crema. Tengo imágenes que evidencian esta "curiosidad". ¿Cómo podemos solucionar este percance? Hago la consulta pués me interesa seguir consumiendo estas galletas, que resultan de mi preferencia frente a otras similares de vuestra competencia, y no quisiera encontrarme nuevamente con esta sorpresa. Agradecería una pronta respuesta."


Veremos cuanto tardan en responder.

viernes, septiembre 07, 2007

Cuestión de tamaño

Es probable que mi falta de experiencia en temas de gestión sesgue mis apreciaciones, o bien puede que de en el clavo y el caso real simplemente sea más que una manifestación de falta de visión sazonada con una buena dosis de inoperancia.

Un recurso es básicamente las herramientas que puedes usar para resolver un problema. Las personas entran en el concepto de recurso en la medida que su trabajo sirve para alcanzar objetivos. Pero quiero apuntar a los costos de un recurso en pos del cumplimiento de metas.

Una empresa pequeña se ve acorralada por una casi interminable lista de requerimientos de otra empresa, muchísimo más grande. La solución que proponen es "contratar más recursos sólo para el proyecto". De acuerdo, aplica, pero... y empezamos la larga lista de peros. Entre algunos que se me van ocurriendo:
  1. Se está entregando el know-how del proyecto a alguien que no va a permanecer en la empresa por demasiado tiempo. El mismo problema del outsourcing.
  2. Hay tiempos no despreciables en la capacitación para poder incorporar a nuevos personajes a una teleserie en curso. Estos tiempos normalmente son pasados por alto por los comerciales que definen las cartas Gantt, los plazos hay que cumplirlos igual.
  3. Los costos no son despreciables, y en una mayoría de los casos, dado que los presupuestos han sido establecidos a priori, son traspasados a la empresa chica. En el fondo da lo mismo si sacas el proyecto con 5 o con 15, al final recibes las mismas lucas.
Y la capacidad de negociación se va a las pailas, ya que la empresa grande da comer a la más chica. La empresa grande también tiene la capacidad de comerse a la más chica, pero no lo hace ...

Para mi no valen las políticas del 80-20, no es parte de mi filosofía satisfacer a la mayoría con el peor entregable. Prefiero planificar bien las cosas y sacrificar un poco de los estrechos tiempos de planificación para entregar un producto final de calidad. La POP no aplica para mi. Al parecer estoy equivocado al querer hacer las cosas bien, como debieran hacerse siempre, quizás debiera ajustarme a los "altos estándares internacionales" de la empresa grande y generar resultados mediocres.

Me molesta la arrogante actitud de suficiencia de quienes se supone saben del cuento, más cuando han demostrado con creces que ese poncho les queda grande. Y sin embargo tenemos que seguir agachando el moño y pagando los platos rotos ajenos. Es solamente una cuestión de tamaño.