martes, 22 de julio de 2008

Spam

Se denomina spam o correo basura a aquellos mensajes no solicitados, habitualmente de tipo publicitario, enviados en grandes cantidades (incluso masivas) que perjudican de alguna o varias maneras al receptor.
Hoy día, contamos con muchos y muy buenos filtros anti-spam. La mayoría de ellos están basados en el texto del email. Se lee de manera automática la cabecera y cuerpo del mensaje y mediante algunas técnicas de clasificación se lleva a cabo de forma automática una clasificación de dicho email (por ejemplo, podría verse el número de veces que aparece la palabra "viagra"). Normalmente, aquel que es considerado como spam viene colocado en una carpeta distinta a la bandeja de entrada, por ejemplo la carpeta spam.

Los spammers han optado por una nueva forma de spam con el objetivo de saltarse los filtros anteriormente comentados. Básicamente consiste en añadir el texto del mensaje a una imagen, y añadir dicha imagen en el email. De esta forma, no habría texto de forma legible según los métodos anteriormente dichos.
Para tratar de solucionar este nuevo problema, existen programas como SpamAssassin (bajo licencia Apache 2.0) que usan otras técnicas para la clasificación. En particular, para el problema anteriormente propuesto, bastaría con usar un OCR y extraer todo el texto de la imagen para posteriormente pasarlo a un clasificador como los anteriormente mencionados.

Pero los spammers han ido más allá. Ahora tratan de ocultar el texto en imágenes y además tratan de ofuscarlo. Es decir, tratan de meter el texto en imágenes y añaden técnicas para que un programa OCR no sea capaz de extraer dicho texto (como puede ser el uso de fondos de colores no uniformes, trazos de lineas por encima del texto, texto cursivo, etc.).
Para ello, en colaboración con el grupo de investigación P.R.A. de la universidad de Cagliari he desarrollado un plugin para el programa SpamAssassin basado en el trabajo que llevan desarrollando bastante tiempo. Básicamente se trata de extraer ciertas características de la imagen (no de extraer el texto) como el número de colores (una imagen de spam normalmente tendrá muchos menos colores que una imagen legítima...) y una vez normalizados los datos y habiendo entrenado previamente un classificador SVM (Support Vector Machine) con kernel RBF (Radial Basis Function) se procede a la clasificación.
Los resultados obtenidos han sido bastante buenos. No solo basta con tener un número alto de aciertos y bajo de fallos, sino que en este caso debemos tratar de minimizar los falsos positivos (clasificar el email como spam siendo legítimo) aunque a costa de ello perdamos eficacia en los falsos negativos (clasificar el email como legítimo siendo SPAM). A ninguno de nosotros nos gustaría que se clasificase como spam un email que no lo es, ¿vedad? Aunque alguno que sí lo sea lo tengamos que borrar de la bandeja de entrada...

Podéis ver más sobre el trabajo realizado aquí.

martes, 1 de julio de 2008

Bug Firefox 3 - Ubuntu

Supongo que a más de uno le habrá pasado o le estará pasando. Cuando intento ver un vídeo en el reproductor flash de Youtube o cualquier otro sitio web, al cargar el vídeo FireFox se cierra automáticamente. Si volvemos a abrir el programa y volvemos a intentar reproducir el vídeo, entonces sí se reproduce sin ningún problema.

En algunos foros he leído que parece ser que hay un paquete, libflashsupport, que está dando problemas. Dicen que basta desinstalarlo y todo volverá a funcionar correctamente. El problema de desinstalar este paquete parece ser que, si tenemos otro programa de audio abierto, no escucharemos el audio del vídeo. Digo parece porque a mí esto no me pasa. Desinstalé el paquete1 y el audio funciona correctamente, aunque sigue el problema del cierre inesperado de FireFox. Mi problema no era ese. Si quieres saber más sobre este bug, puedes ver el siguiente thread.

Según he leído por otros foros, el problema puede solucionarse instalando Flash 10 Beta2. Ésta solución si me ha servido. Por ahora todo perfecto. Se reproduce todo a la primera y no hay cierres inesperados del navegador.

Si tienes este problema y se te soluciona con algunas de las soluciones propuestas, deja un comentario y compartes tu experiencia.

**************************************************
1Para desinstalar dicho paquete solo tienes que irte al gestor de paquetes Synaptic, buscar dicho paquete, marcar para eliminar y aplicar cambios. Si lo que quieres es volver a instalarlo, procede de la misma forma. En el gestor de paquetes Synaptic marca dicho paquete para instalar y aplica cambios.
**************************************************
2Para instalar Flash 10 Beta haremos lo siguiente: eliminaremos el plugin de Flash, si es que está instalado; descargamos y extraemos el Flash Player 10 BETA en tu directorio Home; en caso que no exista, creamos la carpeta de plugins de FireFox; copiamos el plugin Flash hacia la carpeta de FireFox plugins para instalarlo; eliminamos el directorio que que hemos utilizado para descargar el Flash Player Plugin.
Para realizar estos pasos, ejecuta los siguientes comandos en un terminal:

$> sudo apt-get remove flashplugin-nonfree
$> wget -O - http://download.macromedia.com/pub/labs/flashplayer1/flashplayer10_install_linux_051508.tar.gz | tar xz -C ~
$> mkdir ~/.mozilla/plugins/
$> cp ~/install_flash_player_10_linux/libflashplayer.so ~/.mozilla/plugins/libflashplayer.so
$> rm -r ~/install_flash_player_10_linux

Después, reinicia FireFox para habilitar el nuevo plugin.

Si lo que quieres es eliminarlo y volver al plugin anterior:

$> rm ~/.mozilla/plugins/libflashplayer.so
$> sudo apt-get install flashplugin-nonfree

**************************************************

domingo, 29 de junio de 2008

Hacemos historia




Creo que lo de esta noche se merece una entrada en el blog. Creo que la selección española de fútbol tiene mucho fútbol. Creo que somos los mejores, lo hemos demostrado. Y también creo que hoy hemos vuelto a hacer historia en el fútbol europeo, 44 años después.

Aunque fuese en los penaltis, ganarle a Italia siempre es ganarle a Italia. Y más si aún estando en Italia...eso no tiene precio. El baño a Rusia fue simplemente increíble. Y hoy, aunque ha sido un ajustado 0-1, le hemos ganado a Alemania. Le hemos ganado en la final. La eurocopa del 2008...es nuestra!






Y bueno, sigo en Italia y no voy a poder coger el coche y salir con la bandera y pitando por la calle. No voy a poder ponerme a gritar como un loco refrescándome en la primera fuente que encuentre. Pero bueno, toca estar aquí unos días más (que también se está agusto) y estar con los españoles, en la celebración, aunque solo sea de pensamiento.

Como bien dice un buen hermano mío: FuRia RoJa!!

viernes, 27 de junio de 2008

Lightbox 2

Un problema que me encontré a la hora de crear una página web era el como presentar las galerías de fotografías. Llegados a este punto hay varias opciones. Una de ellas es ponerse a programar desde cero una "galería". En principio algo interesante sería que nos permitiera ver miniaturas de las fotografías, agrandarlas, pasar de unas a otras pudiendo incluso crear grupos entre ellas, etc. Otra opción sería usar una galería de tantas que existen ya hechas por la red, a la cual alguien ya dedicó en su día mucho tiempo y ofrece para que si a alguien le sirve la use y no "malgaste" tiempo.

Una que encontré yo (y ya he usado) es Lightbox 2. Como dice en la web, su uso es sencillo y nos permite la superposición de las imágenes en la página en la cual estamos. De fácil configuración y funciona correctamente en todos los navegadores actuales.

Es bastante atractivo. Aquí os dejo una captura para que os hagáis una idea:



Para poder usarlo basta con entrar en la página y descargarnos el código. Vienen instrucciones claras de cómo hemos de incluirlo en nuestra web. Sólo debemos incluir tres archivos con scripts de Javascript, y un archivo css de hojas de estilo en cascada. Para activarlo en nuestras imágenes basta con añadir la imagen como un enlace de la siguiente manera:

<a href="image.jpg" rel="lightbox" > image </a>

Si lo que queremos es agrupar un conjunto de imágenes y que funcionen los botones de Atrás/Adelante de la imágen, basta con crear un grupo de la siguiente manera (por ejemplo el grupo de imágenes "viaje"):

<a href="image1.jpg" rel="lightbox[viaje]" > image1 </a>
<a href="image2.jpg" rel="lightbox[viaje]" > image2 </a>

martes, 24 de junio de 2008

Me estreno!

Bueno, se que este blog aún es algo triste pero bueno...me estoy iniciando, ¿no? Animado por mi bro, y con algo de aburrimiento añadido, me he decidido a hacerme un blog y rápidamente meter una entrada de bienvenida.

Soy virgen aún, pero podéis dar por hecho que ésto antes o después estará más que aceptable. Espero que se convierta en mi rinconcito personal en el que expresar alguna idea, absurda o no, y alguna que otra cosa (algo "friki") relacionado con la informática y que me parezca interesande de poner aquí.

Sin más, aquí incia mi aventura...