Thursday 27 September 2007

Sanduche Capresa

Como estoy de papá solo, me ha tocado preparar comida por lo menos dos veces al día todos los días. Para ello he buscado preparaciones que, sin dejar de ser ricas y sanas, sean sencillas y rápidas (el tiempo vuela cuando hay que llegar al colegio antes de las 7:00 AM). Esta es una receta que le encantó a los chamines.

Ingredientes para dos personas

  • Una bolita (120g) de queso mozzarella
  • Un tomate perita maduro
  • Albahaca fresca.
  • Aceite de oliva
  • Vinagre balsámico
  • Cuatro rebanadas de pan integral
  • Sal y pimienta
Cortar el queso mozzarella en rueditas delgadas. Cortar el tomate por la mitad, eliminar las partes duras, y cortar en lonjas delgadas.

Mezclar aceite de oliva con un poco de vinagre balsámico en un bol pequeño, y untar el lado interior de las rebanadas de pan con la mezcla usando una brocha o una cuchara.

Armar los sanduches colocando una capa de queso mozzarella, y luego lonjas de tomate en el centro. Añadir sal y pimienta, y un par de hojas de albahaca.

Cerrar los sánduches y colocarlos en una tostadora precalentada hasta que el queso comience a derretirse.

Servir enseguida.

Tuesday 25 September 2007

Permuta

Pienso que el Banco Central de Venezuela (BCV) debería intervenir en el mercado de bonos que genera el valor del dolar "permuta". La razón es que los altos precios del dólar paralelo producen un efecto psicológico que va en contrade las políticas anti-inflacionarias del mismo BCV y del gobierno.

El BCV ya interviene en el mercado a través de la emisión, venta y compra de papeles para controlar la liquidez en bolívares, pagando intereses que resulten atractivos a los inversionistas.

Está dentro de la potestad del BCV participar también en el mercado de papeles denominados en dólares y ejercer política monetaria con ello. Resulta para mi incomprensible el por qué el BCV no lo hace.

El BCV podría, por ejemplo, entrar al mercado comprando y terminar el día de bolsa vendiendo x% por debajo del último precio, día tras otro. Eso llevaría el dólar paralelo a la baja, y las pérdidas, de ser necesarias, serían estimables y justificables.

Saturday 22 September 2007

BsF2

En una nota anterior expliqué las razones por las cuales es conveniente considerar una reconversión monetaria como la introducción de una nueva moneda, y adaptar los sistemas informáticos para el manejo de múltiples monedas.

¿Cómo se hace eso?

En un sistema que maneja múltiples monedas, un monto aislado carece de significado mientras no se sepa en qué moneda está expresado. Por eso los montos deben pasar de ser solo cifras a pares ordenados:

[monto, moneda]
Con eso las capas superiores de una aplicación pueden solicitar valores en una moneda en particular, delegando en librerías especializadas el llevar cuenta de los tipos de cambio, su conversión, su aritmética, y su presentación.

Usando orientación a objetos la interfaz para dichas librerías resulta bastante simple. Las librerías para manejo de fechas localizadas en Java son un buen ejemplo de como lograr ese tipo de abstracción. Uno de los primeros tutoriales para la librería de pruebas JUnit trata precisamente sobre un programa que maneja múltiples monedas. Otra ventaja es que una librería de manejo de múltiples monedas puede escribirse una vez, y se reutilizada indefinidamente, más si la misma es expuesta como servicio Web.

Manejando los montos como pares, las bases de datos antiguas y de solo-lectura pueden quedarse como están, ya que la transformación a pares puede llevarse a cabo solo en las interfases que lo requieran. Así muchas de las interfases entre sistemas "legacy" pueden permanecer inalteradas.

Para bases de datos activas es necesario agregar una columna paralela que indique la moneda para cada columna que contenga un monto; una tarea fácil, rápida, e inocua si es realizada antes de la fecha de la reconversión, y la cual evita los riesgos de discrepancia con contrapartes en físico (en papel) y las inconsistencias con sistemas que no deben ser modificados. Para los sistemas sujetos a actualización, las consultas a bases de datos específicas en las capas de persistencia de una aplicación deben extraer el par completo (ambos valores), y dejar lo demás a las librerías correspondientes.

Manejar los montos en las transacciones como pares [monto, moneda] es suficiente para atender los requerimientos de la introducción del Bolívar Fuerte inmediatos y para siempre, ya que la tasa de conversión de Bs. 1000/Bs.F. jamás va a cambiar.

Para hacer que un sistema maneje múltiples monedas internacionales hace falta agregar una dimensión temporal a los montos debido a que las tasas de cambio varían constantemente. Ese será el tema de otro artículo.

Huso Horario Venezolano en Ubuntu

  • Actualizado para el cambio de huso horario en 2007/12/09 03:00.

En otro post expliqué como y por qué lidiar con el cambio de huso horario en Venezuela. Aquí explico cómo hacerlo sobre Ubuntu Linux.

Para lograrlo en una distribución Ubuntu 7.04 hice lo siguiente:
  1. Respaldar el archivo /usr/share/zoneinfo/America/Caracas
  2. Crear un directorio de trabajo y cambiarse al mismo (mkdir work; cd work)
  3. Obtener el archivo ftp://elsie.nci.nih.gov/pub/tzdata2007*.tar.gz
  4. Descomprimir el archivo (tar xvzf tzdata*)
  5. Editar el archivo llamado southamerica, ir al final del archivo, donde dice "Venezuela", y cambiar las últimas líneas para que aparezcan como las resaltadas:
    # Venezuela
    # Zone NAME GMTOFF RULES FORMAT [UNTIL]
    Zone America/Caracas -4:27:44 - LMT 1890
    -4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time?
    -4:30 - VET 1965 # Venezuela Time
    -4:00 - VET 2007 Dec 9 3:00
    -4:30 - VET

  6. Compilar el archivo así:

    sudo zic southamerica

  7. Eso es todo.
Para comprobar el resultado se puede ejecutar:
zdump -v America/Caracas

Wednesday 19 September 2007

Nuevo Huso Horario para Venezuela

vo.2 Agregada nota sobre nueva fecha para el cambio de horario.

NOTA: El cambio de huso horario será el 9 de diciembre de 2007 a las 3:00 AM.
El anunciado cambio de huso horario en Venezuela tiene una aplicación sencilla en la mayoría de los casos: atrasar el reloj media hora.

En el caso de las computadoras el cambio de hora es un poco más complejo debido a que redes como la Internet se rigen por el Tiempo Universal Coordinado (UTC) , el cual se matiene en consistencia con el Tiempo Medio de Greenwhich (GMT), y compensan las horas indicadas en mensajes y otras comunicaciones de acuerdo al huso horario indicado en la configuración. Si solo cambiáramos la hora en la computadora, la misma calcularía la hora GMT incorrectamente. En vez de calcular que un mensaje que acabamos de escribir a las 20:00 hora de Venezuela fue escrito a las 00:30 GMT del día siguiente (20:00 + 4:30 = 24:30), calcularía que el mensaje fue escrito media hora antes (20:00 + 4:00 = 24:00), y eso seguramente causará problemas.

Para el caso de los sistemas operativos Windows, Microsoft ha publicado instrucciones detalladas sobre como cambiar o definir nuevas zonas horarias. El método más sencillo es éste:
  1. Descargar tzedit.exe de la página de Microsoft.
  2. Ejecutar el programa para descomprimirlo (por defecto a C:\Program Files).
  3. Ejecutar C:\Program Files\TZEDIT.EXE.
  4. Oprimir el botón New (Nueva) y agregar una zona horaria como esta:
  5. Finalmente, el domingo 9 de diciembre en la mañana, escoger la nueva zona horaria y colocar la nueva hora (media hora menos) usando la aplicación de Fecha y Hora del Panel de Control (Control Panel).
Los usuarios de Linux pueden usar el programa zic para compilar una nueva zona horaria. Existen instrucciones para las distintas distribuciones en la red.

Los usuarios de celulares, agendas electrónicas, y localizadores geosatelitales probablemente tendrán que esperar a que una actualización adecuada del software para el dispositivo se haga disponible.

Saturday 1 September 2007

BsF

Al revisar la literatura producida en torno a la adopción del Euro en la Unión Europea llama la atención la relativa poca importancia que se le da a los retos informáticos en comparación a otros temas como el efecto neto sobre el negocio por los posibles cambios de percepción en clientes y proveedores. Más aún, muchas de las recomendaciones se enfocan no en los problemas sino en las nuevas oportunidades que la introducción de la moneda común podría traer.

Ese enfoque sobre un cambio aparentemente tan grande se debe a que la formación de la Comunidad Económica Europea y luego la Unión fue un proceso gradual añadido a siglos de intercambio comercial a través de las fronteras. La mayoría de las empresas de mediano tamaño en adelante ya manejaban múltiples monedas en sus transacciones y su contabilidad (una empresa inglesa comercializaba productos franceses que se producían con insumos españoles, y se vendían en Alemania; ese tipo de cosas).

Para el empresariado europeo, la introducción del Euro significó desde el punto de vista técnico solo la introducción de una nueva moneda entre tantas otras. Por eso el énfasis sobre las percepciones y las oportunidades.

Hay cosas importante que aprender de la experiencia europea. En Venezuela tendemos a pensar en que la adopción de la nueva moneda, el Bolívar Fuerte (BsF o VEF), significa una (re)conversión, cuando la perspectiva adecuada es tratarla como la introducción de una nueva moneda.

En ese sentido el reto es el de hacer los sistemas informáticos y los procesos capaces de manejar múltiples monedas, con ello abriendo la oportunidad de manejar de forma transparente y simple transacciones en, por ejemplo, dólares de EEUU, pesos colombianos o argentinos, reales brasileros, o, por que no, en la moneda común de un mercado suramericano.

Nadie en su sano juicio propondría que la manera de acometer la introducción del BsF en cuanto informática es hacer un paseo por las bases de datos para ubicar los registros que figuren montos en Bs para dividirlos por mil.

Para comenzar, una estrategia tan ingenua quebraría la consistencia entre los números en las bases de datos con los documentos físicos (facturas, recibos, cheques,....) que se les corresponden, así como aquella con los registros digitales de clientes y proveedores.

Es por eso que el problema de la introducción del BsF debe ser manejado como un reto de adaptación de sistemas y procesos al manejo de múltiples monedas, y jamás como uno de transformación de datos existentes.

Continuará...