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.
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.