Showing posts with label La_Morsa Software Co.. Show all posts
Showing posts with label La_Morsa Software Co.. Show all posts

Wednesday, July 18, 2018

Procesando tuits



¿Quiere saber cuántos tuits ha escrito? ¿Quiere tener toda la historia de su actividad en Twitter en un formato leíble por cualquiera? Mi nuevo programa le da esta posibilidad.

Twitter es una red de microblogging que hasta hace poco sólo aceptaba mensajes de 140 caracteres. Hoy han duplicado esta cantidad y entonces hay manera de escribir un poco menos abreviado. Sin embargo, la idea es que la gente no interactúe escribiendo interminables textos y posiblemente de ahí la restricción original. Vamos, que en Twitter buscamos ir al grano, ser más directos, y además, es lo de hoy en este mundo que parece ir a toda velocidad.

Twitter, prácticamente desde sus inicios, dio una serie de bibliotecas de funciones (APIs) para poder permitir que se hiciesen programas que interactuaran con lo que se escribe en esta red social. La realidad es que más allá del contenido que producen los que escriben en Twitter, se puede sacar información que pudiese ser valiosa. Por ejemplo, ¿qué temas son los más leídos? ¿Qué información es crítica? Igualmente, se puede saber fácilmente las tendencias de las personas, qué temas siguen, qué personasen Twitter tienen más suscriptores, etcétera. Vamos, que esta red nos da mucho más información de la que originalmente pensamos se podía tener.

Y Twitter, además, guarda todo lo que escribimos ahí. Todo. No borra nada con el tiempo y de hecho, hay una forma de recuperar todos los tuits que hemos escrito desde nuestra inscripción al sistema. Para ello, lo que hay que hacer es entrar en nuestra configuración (dándole click a nuestro avatar) e ir a "tu archivo de tweets" y solicitarlo. Twitter entonces armará dicho archivo y se lo enviará al correo que el usuario haya definido.



Sin embargo, cuando uno recibe el archivo comprimido, zipeado, y lo descomprime, observará un número de archivos con extensión .js y un par de carpetas. ¿Dónde están los tuits? Es claro que Twitter nos da toda la información, pero no viene normalmente como hubiésemos esperado. Y hay que procesarla. La realidad es que Twitter envía diferentes archivos que conforman sus bases de datos, en donde viene toda la información relevante a los tuits: fecha de publicación, si es retuit, etcétera.

Revisando los archivos hallé que tweet.js contiene los tuits que he escrito. He aquí un fragmento de esto:

 "display_text_range" : [ "0.0", "96.0" ],
  "favorite_count" : "0.0",
  "in_reply_to_status_id_str" : null,
  "geo" : null,
  "id_str" : "1019359708644331520",
  "in_reply_to_user_id" : null,
  "truncated" : false,
  "retweet_count" : "0.0",
  "id" : "1.01935970864433152E18",
  "in_reply_to_status_id" : null,
  "created_at" : "Tue Jul 17 23:14:27 +0000 2018",
  "place" : null,
  "favorited" : false,
  "full_text" : "RT @Ferlatino: Acabo de ver unas palomitas cometiendo faltas a la moral.\n\n Estaban acarameladas.",
  "lang" : "es",
  "contributors" : null,
  "in_reply_to_screen_name" : null,
  "in_reply_to_user_id_str" : null

Obviamente, si quiero recuperar lo que he retuiteado y escrito, toda la información de todos esos campos me es absolutamente inútil. Y pensando en esto, decidí escribir un programa que hiciese la tarea de dejar los tuits en un archivo de texto. Para ello, lo único que le pedí al programa es que buscara la línea "full_text" y que me la copiara a un archivo de texto.

Encontré, sin embargo, que en ocasiones hay símbolos extraños en el texto. Las letras acentuadas se ven mal y entonces escudriñé en el texto recuperado para ver qué significaban. Hallé que una combinación de letras era la 'á', otra era la 'é', etcétera. Decidí entonces procesar cada línea recuperada para quitar los símbolos indeseables.

No obstante esto, hay muchas personas que escriben usando "emojis", y estos se representan con cierta secuencia de símbolos. Como no sé cómo procesarlos, los he dejado tal y como vienen. Es decir, mi programa no "limpia" el archivo de tuits totalmente pero al menos me permite hacerme de la información y ponerla en un formato mucho más amigable para el lector.

Quien le interese este programa, escrito en Delphi, puede pedírmelo a mi correo morsa@la-morsa.com y se lo enviaré sin costo alguno. Si el lector encuentra alguna manera de quitar algunos otros símbolos que no debiesen estar, estaría encantado de ver sus hallazgos.

Saturday, December 17, 2011

Software para intercambio de regalos


En estas fechas navideñas, ¿quién no ha hecho intercambio de regalos con sus parientes y/o amigos? Esto se está volviendo una tradición porque es claro que regalarle a todos los parientes, a todos los conocidos, es algo que se ha vuelto prohibitivo y en consecuencia, en el intercambio de regalos solamente le tenemos que dar un buen regalo a una sola persona, lo cual tiene sus virtudes: primero, se le da algo de cierto valor mínimo (y máximo), y por otra parte, nos obviamos el dar regalos de relleno, los cuales quizás pasan al basurero o en el mejor de los casos al ropero, para después sacar ese obsequio en una emergencia y así simplemente quedar bien.

Pues con esto en mente y a petición de José Antonio Rodríguez, buen amigo y fiel lector de Matuk.com, nos dimos a la tarea de hacer un programa que -de una lista de nombres- sacara parejas de ellos de manera que se armara automáticamente la lista de intercambio de regalos, usando para ello la máquina que ya es una cotidianidad: la computadora.

El programa pide que se le alimente una lista de nombres y entonces hará los "pareos" entre personas. Una vez hecho esto, se puede guardar el resultado en un archivo de texto en disco, el cual se puede entonces re-enviar a todos las personas involucradas en el intercambio. Igualmente, se puede escribir la lista de nombres para que -si es necesario- puedan agregarse más adelante otros nombres. Cabe decir que si se agregan nuevos nombres, el pareo de quién le regalará a quién puede cambiar.

El programa muestra diferentes "pareos" entre los que le entran a un intercambio de regalos


Una opción que se le ha agregado es la de ordenar los nombres de las personas con las que se va organizar el intercambio de regalos, sin embargo, esto no influye en la manera en como el programa genera las parejas de intercambio.

El algoritmo que se usa es el siguiente:

  •      Se cuenta la cantidad de nombres que hay en la lista.
  •      Se saca un número al azar que vaya en el rango de 0 al número de personas en la lista
  •      Se guarda ese elemento en el pareo
  •      Se elimina ese valor de la lista
  •      Se cuenta la cantidad que ahora hay en la lista
  •      Se saca un número al azar que vaya en el rango de 0 al número de personas en la lista actualmente
  •      Se guarda ese elemento en el pareo
  •      Se manda al archivo de texto el pareo
  •      Se repiten los pasos 1 al 8 hasta que sólo queden dos nombres
  •      Se parean estos nombres y se termina el proceso

Se pueden hacer tantos pareos como se quiera. El programa divide cada pareo con una línea punteada. Si el número de personas es impar, se agrega un valor que dice "<>". Siempre se tiene que tener un número par de elementos para hacer los pareos.

Y sí, esto es parte de la programación lúdica, pero por problemas de tiempo y logística, esta vez no habrá video al respecto. Prometemos regresar con más el año que viene.



El enlace permanente para descargar el software aquí


He aquí el video sobre el tema, cortesía de Matuk.com:




Comentarios y sugerencias a mi correo: morsa@la-morsa.com