Argentina |
Pensamientos sobre la version digital de las Páginas Blancas (Amarillas*) de 2003 y sobre otras cosaspor Juan F. Codagnone juam at {arnet.com.ar,users.sourceforge.net}
02 Abril 2003 Revisión 1.1 (*) desconozco si Paginas Amarillas es una marca registrada. Las marcas registradas que se mencionan son propiedad de sus empresas.0. Índice
1. LicenciaCopyright © 2003 por Juan F. Codagnone. Este material puede ser distribuido sólo sujeto a los términos y condiciones explicitados en la Open Publication License v1.0 o posterior (la última se encuentra disponible en http://www.opencontent.org/openpub/[1]), sin hacer uso de las opciones del inciso VI. 2. IntroducciónPor estos días (1ero de Abril) se están entregando las guía telefónicas 2003 de la Ciudad Autonoma de Buenos Aires. Al parecer, la empresa encargada de las Páginas Amarillas (Paginas Amarillas del grupo Telecom?), está dando la posibilidad de elegir entre una guía física o un delgado CD-ROM. El presente artículo resalta las cosas buena de dicha entrega, analiza sus problemas, y levanta algunas dudas legales. 3. El producto y sus problemasEl CD que se entrega, viene en una caja de cartón con varias `alas'. En uno de los borde de ésta, se menciona los requisitos del sistema, entre los cuales se encuentra el sistema operativo de las ventanitas. Sin embargo, viendo el contenido del cd, la gente que desarrolló el producto, tuvo en cuenta la portabilidad del mismo. Esto se puede se ver en la documentación que se encuentra en formato HTML, donde se menciona al sistema operativo de la manzanita, y a por lo menos cuatro sabores de U*IX (contando al pinguinito). Ni bien se ingresa al directorio Programa/ se ven archivos swf, los cuales guían al usuario entre las consultas. Es evidente el compromiso por el equipo de desarrollo por hacer algo portable. Entonces, ¿Dónde está el problema? Nada mejor que la portabilidad! balbuceará el lector atento, que todavía recuerda el título de esta sección. El problema está en que las guías están en formato PDF. Este formato es genial para distribuir trabajos que solo requieren ser leidos por otras personas, y donde el aspecto si interesa. La guía telefónica, además de servir para nivelar patas de muebles, sirve para buscar el número de teléfono de alguna persona, y es en esto donde falla el producto. De ahora en más, cuando se mencione guía telefónica, el autor se estará refeririendo especificamente a las páginas blancas (en oposición a las páginas amarillas). Las páginas blancas están en el CD como commoditie: la fuente de ingreso para la empresa que arma las guías telefónicas son las páginas amarillas. El cartón que trae el disco compacto, sólo dice páginas amarillas, y describe sus bondades. Para agilizar un poco la búsqueda, el pdf tiene 27 letras (A-Z y Ñ) como marca de pagina. Las instrucciones de uso dice que para buscar se debe seleccionar la letra con la que inicia el apellido o razón social que se busca , y buscar como en la guía de papel (!!!). Ésto, no tiene en cuenta que realizar una búsqueda binaria con un pequeño cursor en una gran scrollbar no es una tarea tan sencilla como dividir a la mitad un pilón de hojas con la mano. Una forma alternativa de búsqueda, es con el comando buscar de programa visor de pdf. ¿Qué problemas tiene esta forma de búsqueda? Uno debe acordarse de setear la opción para que la búsqueda machee dependiendo de las mayúsculas, e ingresar el apellido todo en mayúsculas. ¿Cómo advierte que la búsqueda no tuvo ningun éxito? Se llegó al fin del archivo, o pasó un rato largo. Una feature extra en la versión digital de la guía, se tiene la posibilidad de hacer consultas sobre lo que se suele llamar la guía inversa: dado un telefono, se puede averiguar los datos del propietario. Ésto no es muy novedoso ya que el sitio de internet de las Páginas Amarillas[2] también lo permite. Otra cosa que no está clara, es que cosas se puede hacer con los datos. En el cartón se lee: PROHIBIDA LA REPRODUCCION TOTAL O PARCIAL DE ESTA OBRA, SU TRATAMIENTO INFORMATICO, ELECTRONICA, DIGITAL, MECANICO Y/O CUALQUIER OTRO.En la compilación de datos se alude a Publicom y Telinver SA. ¿Cuál es la licencia de uso del programa y la base? IANAL (no soy un abogado): ¿Estos tipo de datos datos pueden ser protegidos? El autor [Juan] tendría que revisar la Ley 25326[3](Habeas Data), pero jamás le cedió dicha información a esas compañias. Si el lector puede guiar al autor por las respuesta de éstas preguntas, no dude en contactarse con él. 4. Conversiones & filtrosLos problemas mencionados antes, motivaron a escribir algún filtro que conviertiera el pdf a otra especie de datos que facilitara la búsqueda. ¿La utilidad? Ninguna, un desafío más, y demostración de concepto. Toda la información de la guía ya se puede consultar desde internet en forma digital así que no agregaría un nuevo medio. Debido a las preguntas legales mencionadas con anterioridad, me veo a obligado a declarar que el filtro creado con el fin de ejercer cierto uso justo (fair-use) sobre la obra, y para educación e investigación. Ningun resultado directo del filtro es distribuido. Por otro lado, el filtro nunca accede directamente al pdf (sino que otros programas ajenos al autor lo hacen), por lo que el filtro no se debería ser considerado como un dispositivo de circunvalación[4] de tecnología (por hay, hay un loco con la DMCA[5] leyendo)(¿No se puede considerar el filtro como un poema a AWK? ¿De esa forma quedo protegido por la libertad de expresión? Si una ley me proscribiera de poder escribir estas líneas de codigo, mi expresión estaría inconclusa...esto es mas bien un juego de palabras. Se aceptan sugeriencias para debatir el tema). No se lastimó a ningun pinguino o demonio escribiendo el documento :^).
Antes de mostrar el filtro es importante describir el formato de la guía.
Cada registro, tiene un apellido o nombre de razón social que se
encuentra todo en letra mayúsculas negrita. Le sigue el primer nombre y
todas sus iniciales en letra negrita (este campo puede no existir). A
continuación de esto está la dirección seguido por una linea puneada y el
teléfono. Tener en cuenta la negrita es vital, si se quiere extaer
datos correctos (ej: si Juan Alejandro Perez viviese en la calle F G Lorca
entonces el registro seria "PEREZ Juan A F G Lorca"). Esto marca
la pauta de que se debe convertir el pdf a un formato con formato rico,
o a ASCII con marcas de formato (en los emails y newsgroups se
utiliza *palabra* para marcar que palabra está en negrita y _palabra_
para indicar la letra itálica). La opción más simple (sin programación de
por medio) fue usar html como formato intermedio usando el programa
La salida de pdf2hml cuando se aplica a la guía, es de la forma:
El filtro está escrito mayoritariamente en AWK[7] (un lenguaje creado en Bell Labs para filtrar y procesar información telefonica), con algunas conversiones de sed y una conexión entre éstos usando bash2. No debe ser tomado como un ejemplo a seguir de estilo. Puede ignorar con seguridad las tres primeras funciones (usage(), version(), y parseOptions()). La idea inicial era armar una máquina de estado finito (varible state) pero al final decidí tomar decisiones en base sólo a la entrada.
De probar el filtro, seguramente obtendrá el mensaje: Error: Copying of text from this document is not allowed.Esto se debe a que el documento tiene los bits de ``seguridad'' prendidos. En este caso en particular, se permite imprimir el archivo, pero no copiar texto o imágenes. Ésto hace recordar bastante al caso DVD-Jon[8] en el cual los consumidores no podían ver el dvd que habían comprado para mirar, en la reproductora de dvd que también habian comprado, pero con un programa libre. Quien haya pasado un tiempo eligiendo impresoras para comprar, sabe que existen dos grandes tipos de impresoras en el mercado: las que hablan PostScript (PS de ahora en más) y las que hablan PCL. Un PDF es muy similar a un PS. Si el usuario instala los drivers de una impresora PS, e imprime a un archivo el PDF obtiene un PS con su contenido. Uno de los objetivos que se persiguió fue intentar no modificar ninguna línea de otro programa. Antes de usar pdf2html la idea fue trabajar sobre el PS que era generado en la impresión. El problema fue que tanto programas como pstotext y ps2ascii se comían espacios (de diferentes formas), complicando el filtro. El autor no recuerda porqué no utilizó ps2html. Como último recurso, se decidió utilizar pdftohtml. Este programa honra los bits de seguridad, por lo que se procedió a comentar la linea (un goto!) que imprimía el mensaje de error y terminaba el programa. El autor comparte la posición del autor del programa XPDF[9](pdftohtml se basa en código del XPDF) sobre honrar los bits de seguridad: éste es un caso especial. Por último, y en forma de anecdota, me sorprendió ver en el codigo PS generado por el visor de PDFs de Acrobat® del sistema del pinguinito (y no en el PS generado para el driver de la impresora o ps2pdf) el comentario:
5. Posibles solucionesAgregar al CD, un programa de búsqueda portable (el pdf igual es lindo tenerlo en el cd). El autor, no sabe si desde un swf se puede manejar archivos o si hay alguna función del estilo la libdb. Otra solución que funcionaría out of the box sería usar el gigante Java, o algun lenguaje interpretado como TCL o Python. También, se podría armar en C, C++ (se pueden armar con esfuerzo mínimo interfases gráficas portables usando GTK, QT, o wxWindows), pero esto ya no funcionaría out of the box porque requeriría diferentes versiones compiladas. 6. Algunas inusuales consultas sobre los datosAlgunas consultas que nunca se imaginó llegar a poder hacer. No se tuvo tiempo de instalar un DBMS para realizar consultas SQL, por lo que los números que se presentan están sacados con consultas que usan AWK y sort. En total, en la Ciudad de Buenos Aires, hay 1.084.632 teléfonos registrados en la guía, 2.761 calles registradas diferentes, y 166.259 apellidos diferentes. Existen alrededor de 41.000 hogares con 2 o más líneas telefónicas (criterio: mismo apellido, nombre, y direccion, diferente teléfono). La caja del cd menciona que se crearon 22.000 ejemplares. Claramente se apostó a que la mitad de estos hogares cambiarían una de las guías físicas por el cd.
En las siguientes consultas sólo se muestra las primeras entradas de la
tabla. Puede descargar la tabla completa en un formato con separadores.
Para la tabla 2 también sería más representativo averiguar la densidad
de telefonos por calle (altura de calle mayor-altura de calle menor?).
En la tabla 3 se ve como primer nombre la palabra "De". Sin duda hay que
volver a correr la consulta buscando la palabra siguiente a De.
|