sábado, 19 de septiembre de 2009

Word Challenge hack para linux.


Viendo las aplicaciones de facebook.com he encontrado una muy particular que se llama Word Challenge. Lo he jugado un rato y me ha parecido un poco frustante por el hecho que no conozco la gran mayoría de las palabras :( . Buscando por youtube.com he conseguido muchos vídeos de personas que han utilizado aplicaciones de terceros para generar las dichosas palabras. Todos las aplicaciones que encontré estaban pensadas para ser utilizadas sobre Window$ :(, por lo tanto me dispuse ha realizar una aplicación pero para mi querido Linux ;) y en Ubuntu.

El lenguaje de programación que utilice fue Python ;). Excelente lenguaje, lo recomiendo totalmente.

Primera Versión v.1.
La primera versión que diseñe, hacia uso de un diccionario de palabras en español, 70000 en especifico.  La forma en que plantee la solución fue buscar todas las posibles permutaciones de palabras que se podían conformar con la palabra dada y luego buscarla en el diccionario. Fue una primera solución y no la mas eficiente por cierto. La velocidad promedio de ejecución era de 7 segundos, no muy bueno :(.


Buscando minimizar el tiempo de ejecución de la aplicación, diseñe una segunda versión.

Segunda Versión v.2.
La segunda versión la pensé utilizando hilos (threads) y procesos (process). Ademas, utilice el diccionario Aspell (corrector ortográfico, open source, desarrollado por GNU) que contiene 80000 palabras en español. El tiempo promedio de esta segunda versión es de solo 2 segundos, una notable mejora ;). Esta versión también consta con la opción del idioma en ingles que utiliza un diccionario con 250000 palabras en ingles.

Esta es la segunda version: http://www.sendspace.com/file/jmlaaa

Espero les guste ;). Si alguien tiene alguna duda o problema, pues preguntar.

Actualización: es importante que tenga instalado la herramienta xdotool. Si no es así, háganlo con apt-get.

bye, bye.
n0dix.

No hay comentarios:

Publicar un comentario