El arma definitiva contra el SPAM!

Enlace a Solución definitiva contra el SPAM (JPEG Image, 790×768 pixels)

Según avanzan los métodos para evitar el SPAM, también mejoran las técnicas para engañar los detectores. Los CAPTCHA son esa secuencia de letras y números con pésima caligrafía que se usa para saber si quien está usando una página sabe leer y por lo tanto es una persona y no un robot que envía cientos de mensajes o comentarios en cuestion de minutos.
El problema es que hay avanzados sistemas de reconocimiento de texto (OCR) que pueden acertar raras veces el código, que aunque sea un porcentaje pequeño a una máquina no le cuesta trabajo estar todo el día probando.

Escribiendo un post con Flock

Me acabo de bajar la versión 1.2 del navegador Flock, la cual está basada en el último Firefox 3 y estoy probando lo de escribir un post desde el navegador. La verdad que me gustó más la interfaz de Scribefire que es una extensión de Firefox porque con esta extensión se pueden modificar entradas ya publicadas.

Blogged with the Flock Browser

Tags: ,

Subscribe to comments. Evitar timeouts, error 500, cuando hay muchos suscriptores

Soy usuario del fantástico plugin suscribe-to-comments desde hace algún tiempo. Este plugin sirve para que los lectores del blog puedan suscribirse a los comentarios de un post recibiendo en su correo eléctronico un mensaje cada vez que alguien escribe un mensaje nuevo.

Sin embargo me encontré con un problema: cuando son muchos los suscriptores, el script php tarda bastante tiempo en dar respuesta por lo que la página termina en un error 500 o un timeout después de hacer esperar durante un buen rato al usuario que ha dejado un comentario.

Para solucionar esto he insertado las siguientes lineas en el archivo subscribe-to-comments.php al principio de la función send_notifications() en la línea 594.

// begin hack
ignore_user_abort(true);
set_time_limit(1);

ob_end_clean();
$location = ( empty($_POST['redirect_to']) ? get_permalink($comment->comment_post_ID) : $_POST['redirect_to'] );
Header(”Location: “.$location);

header(”Connection: close”);
ob_start();

$size = ob_get_length();
header(”Content-Length: $size”);
ob_end_flush(); // Strange behaviour, will not work
flush();            // Unless both are called !
// end hack

La versión que he usado del plugin es:

Plugin Name: Subscribe To Comments
Version: 2.1

Agradezco la siguiente contribución de un usuario en el manual php que según cuenta, tardo más de 3 horas en encontrar la solución para cerrar la conexión con el navegador y que el script siga ejecutándose. http://php.mirror.camelnetwork.com/manual/en/features.connection-handling.php#71172

Busco piso económico en Granada

8/2/2007 - -

De 2 o 3 dormitorios. Preferentemente en la Chana, aunque no me importa cualquier otra zona no muy lejana del centro de la ciudad.
Puedo gastar como máximo 400 € de alquiler.
Preguntar por Gabriel al 695958115

Terremoto en Chauchina, Granada

6/1/2007 - -

El 4 de Enero se dejo sentir un intenso terremoto que se sintió sobre todo en Granada y hasta en Málaga capital de magnitud Richter 4.0 más información en este blog de geología

Número de Teléfono. Nuevo blog

30/12/2006 - -

http://www.numerodetelefono.net

Estoy separando el tráfico que tengo en mi blog personal relacionadas con consultas sobre averiguaciones de identidad de titulares de números de teléfono. Como parte de este proceso aparece un nuevo blog: número de teléfono. Dentro de unas semanas añadiré herramientas para poder garantizar un servicio de identificación del dueño de los números de teléfonos desde los que se realizan abusos.

Felices fiestas !

Actualización del 21 de Enero: también he separado las visitas que entran buscando información sobre la gran muralla china a otro blog http://gran-muralla-china.com

Llamar gratis por el teléfono móvil

29/12/2006 - -

Leo en el blog de Patrick que ha conseguido llamar con su teléfono Nokia E60 (también serviría para E50, E61, E62, E70 y N80) a través de la Wifi integrada. Si quieres probar esta experiencia sin muchos quebraderos de cabeza, consulta cómo configurar un teléfono de la serie 60 de Nokia con wifi para llamar por voipbuster.

Por fin he hecho funcionar Voipbuster en mi Nokia E60. He tardado un rato ya que no hay mucha ayuda por la red y la mayoria de la gente que lo ha intentado no lo ha conseguido. Lo que si se encuentra, son muchos articulos explicando como conectar el E60 con Asterisk, para que la telefonía IP funcione en tus propias oficinas. Pero yo no me he comprado el telefono con este fín. La idea fue poder hacer llamadas con Voipbuster, esté donde esté (siempre que hubiese una red wireless disponible). Asi que busqué alternativas a la aplicación SIP que viene con el teléfono. Algo con soporte STUN u otro proveedor que ya ofrece alguna aplicación SIP para Symbian… seguir leyendo

Convertir plantillas PHP de WordPress a Smarty de BlogMail

BlogMail es un proyecto que usó como base lo que era el repositorio SVN de WordPress MU hace algún tiempo. Sin embargo BlogMail ha ido desarrollandose paralelamente y distanciándose de WordPress MU en lo que se refiere a la instalación, administración y funcionamiento interno. Por supuesto la característica fundamental que lo diferencia es que BlogMail está preparado para servir como cliente de correo a sus usuarios dando la posibilidad de publicar sus mensajes.
Según ha pasado el tiempo, se han implementado ciertas carácteristicas que WordPress MU no, como son:
- Autenticación por LDAP. Un nuevo usuario de BlogMail adquiere también un buzón de correo correspondiente así como cualquier otro servicio que funcione en el servidor bajo el esquema LDAP.
- Uso por defecto de subdominios para diferenciar los diferentes mailblogs. Dependiendo de la versión de WordPress MU, es tediosa la configuración de los subdominios (si me equivoco corríjanme). Cuando un usuario abre un nuevo mailblog llamado “al”, este obtendrá una web con url http://al.blogmail.cc y una cuenta de correo al (arroba) blogmail.cc
- Se sigue manteniendo Smarty como sistema de plantillas. En el SVN de WPMU, la última vez que eché vistazo esta característica no funcionaba. No se si es que han cambiado de idea o que van a volver a reimplementarlo. El hecho es en BlogMail se mantiene y actualiza el soporte de Smarty.

Bueno. Llegados al punto de las plantillas resulta que mientras hay cientos de plantillas php para WordPress, hay muy pocas para BlogMail o WPMU-Smarty. Por eso escribí un script muy simple para hacer la mayor parte de la traducción de plantillas PHP a Smarty.

En ocasiones es necesario retocar la plantilla generada para conseguir mayor fidelidad con la original, sobre todo si la plantilla utiliza llamadas a otras funciones que no son las de BlogMail.

El traductor de plantillas funciona para BlogMail, sin embargo con unas modificaciones podría servir para WPMU-Smarty en cuanto se aclaren si van a seguir usando Smarty o no.

Download the software: php2smarty-0.1.tar.bz2

Para usarlo, descárgate una plantilla de WordPress de, por ejemplo, el browser de plantillas de Alex y ejecuta el script p2s.php de la siguiente manera:

./p2s.php directorio-de-la-plantilla-php directorio-destino-smarty

El directorio de destino será creado conteniendo una plantilla smarty que, en la mayoría de las veces, no habrá que retocar para que funcione en BlogMail.

Lyceum funcionando con subdominios

28/3/2006 - -

Actualización: la última versión de Lyceum ya integra soporte de subdominios y no es necesario usar este parche.

Lyceum es un fork de WordPress MU una rama de WordPress (no WordPress MU) que almacena toda la información de todos los blogs en unas 14 tablas, en vez de crear un nuevo juego de tablas por cada blog que se crea.

La mayoría de las veces que le he estado echando un vistazo al SVN de WordPress MU me he encontrado con numerosas características rotas e incongruencias por las cuales no se puede esperar que un administrador neófito se desenvuelva bien en su instalación y puesta en funcionamiento.

Sin embargo en Lyceum la administración e instalación del sitio está rústicamente rediseñada para que funcione, mientras que la interfaz privada para los usuarios de los diferentes blogs, estéticamente es la de WordPress 2.0.

Uno de los defectos de Lyceum es que todavía no soporta “oficialmente” la gestión de subdominios tal como podemos leer en ese ticket. Es decir, se accede a los diferentes blogs a través de la ruta de la petición web y no gestiona diferentes blogs en diferentes subdominios.

Para eso he hecho un parche subdomain.patch.gz que es una primera implementación de la característica de gestión de subdominios.

Para aplicarlo, primero nos bajamos el nighty build de lyceum de la sección de descargas de Lyceum y el parche mencionado anteriormente.

Suponiendo que tenemos los 2 archivos en el mismo directorio hacemos lo siguiente:

$ tar xzf lyceum_nightly.tgz
$ cd tmp/lyceum_nightly/
$ zcat ../../subdomain.patch.gz | patch -p0
patching file lyceum/src/config/wp-config-sample.php
patching file lyceum/src/lib/wp-admin/admin-header.php
patching file lyceum/src/lib/wp-admin/upgrade-schema.php
patching file lyceum/src/lib/wp-includes/classes.php
patching file lyceum/src/lib/wp-includes/functions.php
patching file lyceum/src/lib/wp-includes/template-functions-general.php
patching file lyceum/src/lib/wp-settings.php
patching file lyceum/src/lyceum/index.php
patching file lyceum/src/lyceum/portal.php
patching file lyceum/src/lyceum/wp-blog-header.php

Bueno, espero que el parche le sirva a alguien. Cualquier pregunta, no hay más que comentarla.

Desmontar el CD al pulsar el botón eject en linux

Tradicionalmente en linux, para abrir la bandeja del CD o DVD es necesario primero desmontarlo. En un entorno como Gnome o Kde, esto se hace pulsando botón derecho sobre un icono que representa un disco compacto y eligiendo “desmontar” o similar.

Cuando un CD está montado y alguna aplicación lo está leyendo, o simplemente tienes abierto el navegador de archivos o una terminal en uno de sus directorios, la bandeja de CD queda bloqueada.

Esto tiene un motivo, claro. Quienes colaboran en el desarrollo de nuestro sistema operativo libre estiman que hacemos cosas importantes con nuestros CDs y DVDs, y claro, sacar el CD mientras lo estamos usando puede traer muchos problemas. Por ejemplo si estamos comprimiendo un DVD a DIVX que hemos alquilado y cuando está a punto de terminar el proceso un imbécil le da al eject, esto puede convertirse en un contratiempo. Sobre todo si has alquilado por horas.

Sin embargo sigue habiendo impacientes e insensatos que prefieren sacar el CD pulsando el botoncito. Pues es tan simple como añadir la línea “sysctl dev.cdrom.lock=0″ (sin las comillas) en el archivo de configuración /etc/sysctl.conf y reiniciar.

Y a partir de ahora al pulsar el botón “eject” del lector de CD o DVD, este se abrirá echando leches (muy rápidamente).

Sin embargo, creo que es mejor desmontar y extraer el CD de la forma tradicional en Linux ya que dice la leyenda que por culpa de Microsoft tan imprudente al permitir en su sistema inoperativo sacar el CD mientras está dando vueltas, a algún pobre desgraciado le saltó el disco seccionándole el cuello.