jueves, 15 de noviembre de 2012

Un día cualquiera

    Unas pequeñas zapatillas se movían en la penumbra de la casa. Se dirigían con soltura al lugar donde su padre - cada vez con más frecuencia - tecleaba sin parar. Allí estaba, una vez más, hablando con el ordenador grande. A sus tres años asumía con toda naturalidad que se pudiera hablar con el ordenador grande, y con el pequeño, y con el mediano... y hasta con Josefa, que además sabía llevarte a todos los lados. Aunque el ordenador grande tenía algo especial.
- Aita, ¿puedo jugar al come-cocos?
- En un rato, mi niño. Ahora estoy trabajando. - El pequeño miró con los ojos muy abiertos a la pantalla. Aquello estaba lleno de letras de distintos colores. Sentía curiosidad. Le gustaban los colores.
 - ¿Estás pintando?
- No cariño, le estoy enseñando a Josefa a hacer una cosa. - El niño observó con detenimiento el móvil que estaba sobre la mesa conectado con un cable al ordenador. A continuación contempló el monitor.
- ¿A dibujar?
- No, mi amor. ¿te acuerdas que el otro día el coche tenía sed y tuvimos que parar a echar gasolina?
- Sí - dijo asintiendo con la cabeza.
- Pues estoy enseñando a Josefa dónde están todas las gasolineras. ¿Quieres saber cómo se hace? - El hijo nuevamente accedió con la cabeza. Confiaba en que, con un poco de suerte, le dejara jugar.
- Hay unos señores que todos los días ponen papeles en una caja en Internet.
- ¿De qué color es la caja?
- Verde.
- ¡Qué bien! ¡Tu preferido!
- Sí, lo es. Y ¿sabes lo que escriben en esos papeles?
- No.
- Escriben los nombres de todas las gasolineras. Y también los precios de la gasolina. Lo que he hecho ha sido abrir una cajita azul para guardar esos papeles.
- ¿Por qué has abierto una caja nueva?
- Porque a veces hay mucha gente a la vez leyendo los papeles de la caja verde, y nosotros no queremos molestarles. Además, dejaremos nuestra caja abierta, para que todo el mundo pueda leer lo que hay dentro.
- ¿Y esas letras? - dijo señalando al monitor.
- Éstas le explican a nuestra cajita azul cómo copiar todos los papeles de la caja verde a la nuestra. - El niño observaba de soslayo el teléfono. Intentaba adivinar qué tenía que ver todo aquel galimatías de cajas con el móvil. Su padre continuó.
- Más tarde, cuando le digamos a Josefa que queremos gasolina, abrirá nuestra cajita azul, cogerá los papeles de las gasolineras que están más cerca de nosotros, y nos dirá cómo llegar a cada una. ¿Lo has entendido?
- Sí, aita... ¿ya puedo jugar al come-cocos?
- Claro, mi niño. Ven aquí. - Dijo el padre mientras le sentaba en su regazo.

martes, 6 de noviembre de 2012

Mellizos: cuando te dicen que son dos

    Hace ya un par de meses que tomé la decisión de convertir el proyecto en un sistema cliente-servidor. Y eso es exactamente lo que he ido haciendo todo este tiempo.

    En primer lugar, monté una infraestructura LAMP casera, y la publiqué  en internet. Para ello abrí y redirigí los puertos correspondientes en mi router, y me di de alta en DynDNS. Ya de paso estuve enredando un poco con SSH. Añado al ToDo hacerme unos túneles, que tiene pinta de ser entretenido.

    En segundo lugar, programé un script en Python que descarga, descomprime e inserta en base de datos todos los registros de los archivos actualizados de la web del Ministerio. Y hasta guarda un histórico de precios pasados, y hace un log de todo lo que pasa entre bambalinas. Sólo le faltaba el lacito: tras un sencillo crontab -e, se ejecuta cada dos horas.

    En tercer lugar, desarrollé para el servidor web unas páginas en PHP que recibiendo unos parámetros, devuelven un XML con las gasolineras, sus precios, geolocalización, horario, ...

    En cuarto lugar, implementé el lado del cliente. De hecho Josefa tiene instalada una versión pre-Alpha. Pese a ser una prueba de concepto, estar llena de bichos y tener una apariencia horrible, hace dignamente su trabajo: me da los precios del combustible, los rótulos de las estaciones y distancia a las mismas en el radio de kilómetros que yo le indique. Y lo hace bien.

    Hace unas tres semanas, como no me atrae la idea de tener un ordenador 24x7 en casa, me dediqué a buscar un alojamiento gratuito que me permitiera externalizar la parte de servidor ya desarrollada. Me decanté por x10hosting: PHP5, dos bases de datos MySQL, disco de espacio ilimitado, transferencia ilimitada... todo ello para crear tu página web. ¡Oh wait! ¿Ha dicho página web? ¡No contaba con su astucia! Bueno, hay que saber aprovechar las oportunidades, así que me he liado la manta a la cabeza, y para cuando me he dado cuenta he construido una web y he aprendido un montón de cosas: a utilizar PHP como plantilla, a cargar contenido dinámico, a crear formularios, a confeccionar hojas de estilo, un poquito de AJAX, qué es un mapa web, cómo indexan los buscadores las páginas, y alguna cosilla más.

    En cuanto al contenido, estoy publicando pequeños conceptos de código. Si le sirvieran a alguien, mejor. Y en adelante haré la versión web del programa, así que ¡habemus mellizo!

    Respecto a la forma, es una web más: 
  • juego de colores similar a este sitio, para mantener cierta congruencia.
  • un logotipo hecho en dos minutos con el Gimp.
  • Un menú de navegación construido al vuelo desde base de datos.
  • Un área donde se muestran el contenido que carga asíncronamente mientras muestra un gif made in Josu.

     Como chascarrillo: hoy se me ha ocurrido pasar el validador del World Wide Web Consortium, y me ha dicho que "This document was successfully checked as HTML5!" y que "¡Este documento es CSS versión 3 válido!" y aunque no valga para nada, me llena de orgullo y satisfacción.

    ¡Ah! La web es ésta.