sábado, diciembre 09, 2006

Amigo invisible

Una tradición bastante típica de España en Navidades, y que no sé si existe en otros países, es un juego llamado Amigo invisible. El juego empieza haciendo un sorteo en un grupo de amigos. A cada persona del grupo le corresponde en dicho sorteo otra persona, pero nadie más sabe cuál es la correspondencia. Luego, en una fecha determinada cada persona del grupo le hace un regalo a la persona que le ha tocado. Es muy divertido y hay muchas variantes. Algunas veces no sabes quien te ha hecho el regalo ni después de haberlo recibido, con lo que puede haber mucha mala leche detrás de dichos regalos. También se pueden intercambiar mensajes de forma anónima (gracias a Internet) con la persona a la que le vas a regalar. En mi grupo de amigos hacemos esto en Navidades y en el día del libro, e intentamos que sean regalos no muy caros pero con significado. Otra gente hace regalos hechos con sus propias manos. Hay muchas variantes.

Lo difícil del proceso es realizar el sorteo, sobretodo si es difícil reunir a todo el grupo en un mismo lugar, como nos pasa a nosotros. Lo de los papelitos con los nombres está bien, pero si alguien se toca a si mismo hay que repetir el sorteo y puede llegar a ser un engorro. Por eso hace un año hice un software en Java que realiza el sorteo y envía un correo electrónico a cada persona del grupo indicándole quién es su amigo invisible. El software se ha ido perfeccionando e Inés me hizo un interfaz gráfico hace poco. Así que hemos decidido publicar el programa. En breve se publicará también el código fuente bajo una licencia libre, que todavía está por determinar. Digamos que de momento es freeware.

Instalación

Java es multiplataforma, pero primero debes instalarte el JRE de SUN, a partir de la versión 5.0. Si tienes algún problema con la ejecución del programa lo más posible es que no tengas bien instalado el JRE o que la versión sea anterior.

He hecho dos paquetes para la instalación:

Si tienes Windows, bájate este zip: amigo1.0.zip

Descomprímelo en cualquier sitio y ejecuta el Amigo.bat. Es un poco chapuza para los que sepáis de estas cosas, lo sé, pero no se me ha ocurrido una forma mejor. Sólo lo he probado con Win XP, pero no debería haber problemas con otros Windows.

Si tienes Linux, MacOS, Solaris, etc., bájate este archivo: amigo1.0.tar.gz

Descomprímelo en tu directorio home (de modo que todo quede almacenado en /home/username/amigo1.0/) y ejecuta el script llamado amigo. Lo mismo de antes, un poco chapuza, lo sé. Por cierto, sólo lo he probado con Linux/KDE, aunque debería funcionar con los sistemas operativos que he puesto arriba.

Actualización (23-8-2007): Ya no tienes que descomprimirlo en /home/username/amigo1.0/ sino donde quieras.

Aunque hay dos archivos para descargar realmente son lo mismo, pero en el de Windows tiene un ejecutable bat y en el de *nix tiene un shell script, además de estar empaquetado con zip para Windows y en tar.gz para *nix. Si no entiendes nada de esto, da igual, simplemente sigue las instrucciones de arriba y si tienes dudas exprésalas en los comentarios.

¿Cómo funciona?

Una vez que lo hayas ejecutado, te aparecerá una ventana como esta:



Donde pone servidor y puerto tendrás que poner el servidor smtp y el puerto de tu correo electrónico. Por ejemplo, si usas gmail, tendrás que poner smtp.gmail.com y en puerto tendrás que poner 587. Casi todos los servidores de correo requieren autenticación, así que tendrás que poner tu nombre de usuario y contraseña debajo (marcando previamente la casilla correspondiente). Si no quieres complicarte mucho la vida instalate un servidor de smtp en tu ordenador y deja lo que viene por defecto, localhost y 25, aunque es posible que a la gente le lleguen dichos correos a la carpeta de spam (e incluso con hotmail, simplemente no lleguen).

Si pulsas la siguiente pestaña verás esto:



Aquí tendrás que ir poniendo los nombres y direcciones de correo de tus amigos, y pulsar la tecla añadir. Es decir, pones el nombre de un amigo, el correo y pulsas añadir. Luego pones otro nombre, su correo y vuelves a pulsar añadir. Así hasta que termines con todos. Otra forma de añadir los nombres es crear un archivo de texto que tenga el siguiente formato:

nombre1;correo1;
nombre2;correo2;
etc.

Y entonces en lugar de ir añadiendo nombres usas la opción de añadir desde archivo. Una vez que has seleccionado el archivo tienes que pulsar el botón de Añadir que está debajo de Examinar, y aparecerán todos los nombres en la ventana de abajo.

La última pestaña que hay es la siguiente:



En esta ventana tendrás que escribir los campos del correo que recibirán todos los amigos del grupo. En "De" hay que poner la dirección desde la que se envía el correo. Normalmente puedes inventar algo como "invisible@invisible.com", pero con algunos servidores de smtp esto no funciona y dará un error. Por ejemplo gmail impone la dirección que uses en la autenticación de smtp, con lo que poco importa lo que pongas aquí. Con terra es importante que la dirección de origen sea terra, así que "invisible@terra.es" es una buena idea. Si usas un servidor propio puedes poner lo que quieras, pero respeta el formato usuario@dominio.

En Asunto hay que rellenar el asunto del correo. Por ejemplo, "Tu amigo invisible es...". Y en Contenido tendrás que poner el cuerpo del mensaje. Una parrafada con las normas. Tus amigos recibirán lo que escribas aquí, y a continuación su amigo invisible. Así que no está de más poner al final del Contenido "y tu amigo invisible es...".

Una vez está todo rellenado, sólo hay que pulsar el botón de Enviar.

Un consejo: hay que estar conectado a Internet para que el programa funcione :P

Espero que el programa os sirva de algo y que haya muchas críticas/recomendaciones/difamaciones en los comentarios.


Tags Technorati: , ,

22 comentarios:

AntónCampos dijo...

Bravo!

Aunque si uno lo hace con Gmail, luego le quedarían los mensajes en Sent mail y podría mirar quién le ha tocado a cada uno... si no tiene la suficiente voluntad como para borrarlos xD
Un saludo.

vacasueca dijo...

Cierto, hay que tener cuidado con gmail...

Isa dijo...

más que con gmail, con quien manda los mails, pero confíamos en ti alex :)

Anónimo dijo...

Gracias Alex. Era un programa muy esperado por tus fans. Ya comentare que tal cuando lo pruebe ;P

Anónimo dijo...

En Brasil lo llaman "amigo secreto".

LaSeñoritaRock'n'Roll dijo...

Ya lo probé y funciona perfectamente =) Ahora quiero la versión 2.0: en ella le das el presupuesto, el nombre de tu amigo y sus gustos, te compra el regalo y te lo envia a casa.

vacasueca dijo...

Bueno, Almudena, lo estoy considerando. Le metes al programa tu tarjeta de crédito y los gustos de tus amigos y direcciones, y él automáticamente compra algo chulo por internet y lo manda a casa de cada uno. Y ya de paso me hago una donación a mi cuenta bancaria, no hay que desperdiciar oportunidades :P

Anónimo dijo...

Podria ser que tambien aceptase html para asi poder adornar con imagenes el mail :)

vacasueca dijo...

karaoke:

Tomaré en consideración tu sugerencia, pero para una futurible versión, eso lleva mucho curro.

Anónimo dijo...

Lo que me parece una pasada es el nuevo gestor de ventanas que se le puede instalar a linux, echarle un vistazo al compiz, le da mil vueltas al vista.
Un saludo
Juan
diseño web

Anónimo dijo...

Para hacer lo del sed de una manera estándard, puedes usar "dirname $0".

Placiplóstilus dijo...

Genial el programa, iba a hacer algo parecido, pero si este es perfecto para qué imitarlo?

... dijo...

Buenas, es una idea genial esto del amigo invisible, pero no me funciona.
me da este error "Error:com.sun.mail.smtp.SMTPSendFailedException:530 5.7.0 M..."

Tienen alguna idea de lo q pueda ser. muchas gracias

vacasueca dijo...

Posiblemente no había conectividad o el servidor smtp no estaba bien escrito.

°o.O JeChU™ O.o° dijo...

me podrias ayudar porque me sale un error javax.mail.messagingexception could not connect to smtp...

vacasueca dijo...

Posiblemente no había conectividad o el servidor smtp no estaba bien escrito.

°o.O JeChU™ O.o° dijo...
Este comentario ha sido eliminado por el autor.
°o.O JeChU™ O.o° dijo...
Este comentario ha sido eliminado por el autor.
°o.O JeChU™ O.o° dijo...

yo escribi lo que sugeriste
smtp.gmail.com
puerto 587 y en user y pass del servidor escribi un correo de gmail y su clave
si podrias decirme si esto esta bien o en todo caso ¡que es lo que debo de escribir en cada campo del servidor? te lo agradeceria infinitametne porque necesito utilizar tu sw ... gracias

vacasueca dijo...

Tienes configurado Gmail para aceptar conexiones smtp?

°o.O JeChU™ O.o° dijo...

podrias decirme cuales son las configuraciones basicas que debo hacer al gmail y sobretodo como hacerlas... un millon de gracias

vacasueca dijo...

Aquí puedes ver las configuraciones de Gmail:

https://support.google.com/a/answer/2956491?hl=es