jueves, julio 16, 2009

PROYECTO COMUNIX



COMUNIX es una distribución Linux basada en Knoppix. Nace dentro de la comuna canaria y fue creada por un grupo de funcionarios municipales los cuales tenían como objetivo lograr contar con una distribución Linux que tuviera el mismo aspecto que Windows XP ya que el software que reinaba dentro de la comuna canaria era Windows XP.
La importancia de crear una distribución de estas características no solo es el abaratar costos si no que permite a los usuarios no tener que volver a capacitarse y ni que hablar que logra demostrar que se pueden crear cosas importantes dentro de ambientes públicos.
En lo personal y dada la experiencia que tengo en ambientes municipales tengo que admitir que este proyecto es una pegada de todo punto de vista ya que no solo es funcional si no que esta súper bien pensado.
Sería interesante que el resto de las intendencias tomaran esta distribución como software de escritorio y ni que hablar que si se unieran todas para colaborar esta distribución podría lograr ser un estándar dentro de las intendencias.
El sitio de COMUNIX es el siguiente:
http://www.imcanelones.gub.uy/wps/wcm/connect/Sitio%20IMC/imc/comunix/
En la sección de descargas se pueden bajar la distribución, es muy sencilla de instalar y realmente parece Windows XP, yo la probé y me pareció una muy buena opción para tener Linux en un escritorio aparte de que ya tiene toda la configuración para un usuario estándar.
La verdad que me saco el sombrero ante este proyecto ya que demuestra que con ganas se pueden hacer buenas cosas.

lunes, julio 13, 2009

La Fiebre del SMS

Tengo un cliente que me pidió poder realizar algunas de las tareas que hace habitualmente mediante el envío de SMS.

En realidad al inicio la idea era poder comprar varias PDA para realizar algunas de las tareas que hoy por un tema de costos se quieren hacer por SMS.

Lo primero que se me pidió fue poder consultar la deuda de un Cliente, por lo que la idea es mandar un SMS a un número dado con la palabra DEUDA + IDCliente y que este me devuelva la deuda del Cliente.

El planteo fue realizado y tenía que investigar cómo hacer esto ya que sinceramente ni idea de cómo poder recibir SMS desde mi aplicación, lo que hice fue llamar a las diferentes compañías proveedoras de telefonia celular y me hicieron varias propuestas pero en todas ellas había que programar bastante y a un costo bastante elevado, por lo menos para la prueba inicial y para este cliente en cuestión.

Todo esto me llevo a pensar como hacía Movistar con los modem inalámbricos que distribuye para darnos acceso a internet, estos modem traen un software en donde también se puede enviar y recibir SMS.

Después de investigar encontré que la aplicación llamada Escritorio Movistar almacena la información de los mensajes en una base de datos Access lamada mensajeriadirecta.mdb.
En mi PC los datos se almacenan en el siguiente directorio:
C:\Documents and Settings\Cristhian\Datos de programa\Telefónica Móviles\Escritorio movistar Latam\
Existen varios xml que no tuve tiempo de investigar para que sirven, aparte de los xmls tengo la mdb y dos archivos con extensión .db que para mi sorpresa son base de datos SQLite.
Al abrir el archivo MDB me encuentro con lo siguiente:



La tabla en la que se guarda la información de los mensajes se llama DatosMensaje.
Después de encontrar esto lo que hice fue poner el modem en el servidor y tengo una pequeña aplicación que se encuentra corriendo con un demonio en la cual se encuentra rastrillando la tabla DatosMensaje para saber si ha llegado un nuevo mensaje de texto, cuando llega un mensaje busca las palabras clave y contesta.

Es una aplicación modesta que seguramente se podría hacer de otra manera pero con un simple modem inalámbrico que se puede conseguir a bajo costo tengo una aplicación en la que puedo recibir SMS y contestarlos rápidamente.
Seguramente existen mil formas mas elegantes de hacer esto pero lo hice rápido y a un costo muy bajo.

Comparto esta experiencia por si alguien tiene una situación similar y quiere ahorrarse el tiempo de investigación.