Lexer-Parser en Java para traducir informes que deberían ser excel pero en realidad son HTML.

Este es el primer artículo de programación que escribo en el blog, y tal y como transcurren las cosas imagino que le seguirán unos cuantos.

Tal y como indica el título tengo una serie de informes que quiero analizar, el problema es que la aplicación que los genera no funciona bien, se supone que genera un archivo .xls de excel pero tratas de abrirlo con excel te dice que no puede abrir archivos de ese tipo. Al abrirlo con un editor de textos se ve que en realidad son un archivo codificado en HTML. No se si es debido a un fallo de programación de la aplicación que lo genera, dudo que sepan lo que es la integración continua, o si esta hecho así a posta, aprovechando algún comportamiento extraño de versiones antiguas de excel. LibreOffice se lo traga y lo abre, pero elimina los espacios repetidos que para la integridad de la información que tiene el informe son importantes.

Al principio lo intenté con Python. Primero con HTMLParser, pero se comía los espacios con lo que estaba en las mismas. También trate de hacerlo con DOM y SAX pero no había manera por no estar el documento ‘bien formado’, además, al final se habrían comido los espacios igualmente y no me hubieran valido.

Al final me decidí a hacerlo desde cero, aprovechando un ejercicio de un examen de un curso de Java que estoy haciendo, donde había separar el texto de una cadena HTML según etiquetas.En el examen lo realicé todo en un mismo archivo con una simple máquina de estados, pero para resolver este problema decidí currármelo un poco más, separar el lexer del parser y crear una interfaz gráfica. El objetivo es aprender.

Sigue leyendo “Lexer-Parser en Java para traducir informes que deberían ser excel pero en realidad son HTML.”

Activa Segovia, primer “Segovia Expresso”

Desde hace tiempo participo en la ‘plataforma de emprendedores’ Activa Segovia. Se trata de mejorar el networking entre emprendedores segovianos, quedamos a veces para comer o tomar un café. Lo remarcable es que salimos en El Adelantado, y como diría Peter Griffin: “Zas!, en toda la foto”

Enlace a la noticia en eladelantado.com: ActivaSegovia apuesta por la comunicación participativa para impulsar la provincia

SIMO Network / VoIP2Day 2009

Puesto que ahora ando investigando temas relacionados con la Voz IP la semana pasada me acerque a Madrid al nuevo SIMO, rebautizado como SIMO Network. Ahora es una feria exclusivamente para profesionales a la que, según mi parecer, todavía le queda mucho por andar con este nuevo formato. Hace años que no iba al SIMO, pero lo encontre muy soso, aunque se podían encontrar cosas interesantes la mayoría eran simple propaganda. Sólo había que ver el pabellón de Microsoft, muy colorido, pero con poca información útil.

A la par del SIMO Network la empresa Avanzada 7 celebraba la segunda edición del VoIP2Day, orientada al mundo de la voz sobre IP. En las conferencias se hablo mucho de Asterisk además de soluciones de comunicaciones unificadas, tanto de código abierto como cerrado. También había stands donde se mostraban los ultimos productos y soluciones.

Una buena oportunidad donde conocer gente relacionada con el mundo de la VoIP y poder establecer contactos. Yo tengo que reconocer que aprendí mucho.

Foto de Alberto Sagredo
Foto de Alberto Sagredo

Actualización

Por fín  he tenido un poco de tiempo para actualizar el sitio.

Aparte de las típicas actualizaciones de seguridad de WordPress he cambiado la estructura del sitio para orientarlo a un uso más profesional y hacerlo más flexible a la incorporación de gente nueva al proyecto.

La orientación profesional se muestra a traves de www.tinproject.es que servirá de escaparate para mi actividad profesional y toda la información relacionada. Este blog ahora pasa a ocupar el dominio agus.tinproject.es y continuará siendo un blog de contenido personal, profesional y demás cosas frikis ;-). El truco está en que el blog se encuentra también en tinproject.es/blogs/agus lo que me permitirá añadir más blogs para gente nueva con su correspondiente subdomino.

Con todo esto espero poder añadir más información interesante al blog y que redunde en una página útil.