Nota mental: como usar Python 3.3 con Anaconda en Windows.

Normalmente para estas cosas utilizo linux, pero necesito hacerlo en windows y siempre se me olvida el como.

C:\>conda create -n py33 python=3.3 anaconda
C:\>activate py33

y ya está. Para instalar paquetes no disponibles a través de conda usamos pip.

[py33] c:\Anaconda\envs>pip install pyshp

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

Cuando las cosas no están bien hechas toca hacerlas uno mismo.

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.

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

Por que no le veo sentido al FTTB en España.

En el reciente artículo de Toni Martínez ¿FTTH o FTTB?, ésa es la cuestión en Telequismo nos explica las ventajas de las redes FTTH vs. FTTB. Como ya he comentado en twitter creo que en España no tiene sentido, en general, una estructura tipo FTTB y voy a aprovechar este artículo para argumentar mi opinión en más de 140 caracteres.

Una estructura de red tipo FTTB (Fiber to The Building), o fibra hasta el edificio, consiste en conectar el edificio con la central mediante fibra óptica y una vez en el edificio distribuir la señal a los clientes mediante otra tecnología como puede ser una red de cobre existente o cableado ethernet (LAN). Para más acrónimos y definiciones ver Wikipedia: FTTx.

Continuar leyendo “Por que no le veo sentido al FTTB en España.”

Otra forma de ver las direcciones postales.

Las direcciones postales hasta hace no mucho se han tratado como cadenas de texto pero actualmente empiezan a tratarse como entidades geográficas. Este artículo propone una nueva manera de tratar las direcciones geográficas como recorridos de un grafo.

Si buscamos la definición de dirección postal dentro del diccionario de la RAE encontraremos que la acepción 9 de la definición de dirección es la que más se acerca a la idea:

9. f. Señas escritas sobre una carta, fardo, caja o cualquier otro bulto, para indicar dónde y a quién se envía.

Si le quitamos el componente del destinatario a la dirección postal nos queda la dirección a secas que nos indica el lugar físico de destino, y en cierta manera las instrucciones para llegar al mismo. Si consultamos la wikipedia, en el artículo correspondiente a la dirección (versión en inglés) obtenemos la siguiente definición traducida:

Una dirección es una colección de información, presentada en un formato mayoritariamente fijo, usado para describir la ubicación de un edificio, vivienda, otra estructura o una parcela de terreno, generalmente la utilización fronteras políticas y nombres de la calle como referencias, con otros identificadores como números de apartamento o la casa.

Continuar leyendo “Otra forma de ver las direcciones postales.”

Entendiendo GESCAL.

En el mundo de la prestación de servicios de telecomunicaciones tienen especial relevancia las direcciones postales, ya sea para realizar estudios de demanda, para que un técnico pueda personarse en el domicilio del cliente a instalar un servicio, o también, más importante, para poder enviarle la factura.

GESCAL es el sistema que utiliza Telefónica de España, y que gracias a la OBA se ha convertido en la ‘lingua franca’ del intercambio de direcciones postales entre operadores.

En el mundo de la prestación de servicios de telecomunicaciones tienen especial relevancia las direcciones postales, ya sea para realizar estudios de demanda, para que un técnico pueda personarse en el domicilio del cliente a instalar un servicio, o también, más importante, para poder enviarle la factura.

GESCAL es el sistema propio de codificación de direcciones que utiliza Telefónica de España, y que gracias a la OBA se ha convertido en la ‘lingua franca’ del intercambio de direcciones postales entre operadores.

¿Qué es GESCAL?

Continuar leyendo “Entendiendo GESCAL.”