un blog, o eso creo



Regalo una invitación a GMail

Archivado en: Google — Martín @ 18:50 28/06/2004

Tengo una invitación a GMail y la voy a regalar al primero que me responda la pregunta y me deje su dirección de correo electrónico. Va, que es muy fácil:
¿Exactamente cuántas páginas tenía indexadas tenía Google el 15 de mayo de 2001?

Wordpress: separar los comentarios de los trackbacks

Archivado en: WordPress — Martín @ 00:53 24/06/2004

Como otras veces tengo comentado, hay pocas cosas de WordPress que me disgusten. Pero las pocas que hay, conseguí arreglarlas en mayor o menor medida. Concretamente, hay una cosa que no tengo ni idea de por qué la han hecho así y me saca de quicio, pero en los foros de soporte no se ven muchas quejas relacionadas: se trata de la forma de mostrar los trackbacks, mezclados entre los comentarios. Desde el primer día, fue una cosa que me desorientó totalmente. ¿Esto es un comentario? ¿O un trackback? ¿Por qué una web deja un comentario en mi weblog?. Además, parece que yo no soy el único al que esto le molesta: ya recibí unos cuantos mensajes acerca de publicar cómo se podría hacer esto. Por cierto, podéis sugerirme temas acerca de la modificación de WordPress, no hay ningún problema :)

Como decía, al final decidí separarlos, lo cual resultó bastante sencillo: WordPress almacena tanto los comentarios como los trackbacks (y pingbacks) en la misma tabla. Lo único que los diferencia es que los trackbacks y pingbacks empiezan por <trackback /> o <pingback />, respectivamente. Así que si se tiene un poco de idea de SQL será fácil separarlos. Bastará con concretar un poco más la consulta que se hace para extraer los comentarios, y duplicarla para sacar los trackbacks. Tan sencillo como aquí lo explico:

Vamos a trabajar sólamente sobre el archivo wp-comments.php, localizado en el directorio raíz donde esté WordPress. Lo abrimos con nuestro editor de texto favorito y localizamos la siguiente línea, casi al principio:

$comments = $wpdb->get_results("SELECT * FROM $tablecomments WHERE comment_post_ID = '$id' AND comment_approved = '1' ORDER BY comment_date");

A esta línea le hacemos un pequeño cambio, tal que así:

$comments = $wpdb->get_results("SELECT * FROM $tablecomments WHERE comment_post_ID = '$id' AND comment_approved = '1' AND comment_content NOT LIKE '<%back />%' ORDER BY comment_date");

Copiamos esta línea justo debajo, pero haciendo los cambios señalados (ojo, hay que eliminar el NOT y cambiar la variable de nombre):

$trackbacks = $wpdb->get_results("SELECT * FROM $tablecomments WHERE comment_post_ID = '$id' AND comment_approved = '1' AND comment_content LIKE '<%back />%' ORDER BY comment_date");

Con esto estamos haciendo dos consultas: la primera seleccionará todos los comentarios que no empiecen por <%back /> (el símbolo % en MySQL indica una serie cualquiera de caracteres), mientras que la segunda hará justo lo contrario.

Ahora sólo nos queda mostrar el resultado de la segunda consulta. Localizamos, un poco más abajo, el bloque de código que nos sirve para mostrar los comentarios:

<?php if ($comments) { ?>
<ol id="commentlist">
<?php foreach ($comments as $comment) { ?>
<li id="comment-<?php comment_ID() ?>">
<?php comment_text() ?>
<p><cite><?php comment_type(); ?> <?php _e("by"); ?> <?php comment_author_link() ?> — <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"<?php comment_time() ?></a></cite> <?php edit_comment_link(__("Edit This"), " |"); ?></p>
</li> <?php } // end for each comment ?>
</ol>
<?php } else { // this is displayed if there are no comments so far ?>
<p>Todavía no hay comentarios.</p>
<?php } ?>

Seguidamente copiamos justo debajo, pero con las pertinentes modificaciones, también señaladas:

<?php if ($trackbacks) { ?>
<ol id="trackbacklist">
<?php foreach ($trackbacks as $trackback) { ?>
<li id="trackback-<?php comment_ID() ?>">
<?php comment_text() ?>
<p><cite><?php comment_type(); ?> <?php _e("by"); ?> <?php comment_author_link() ?> — <?php comment_date() ?> @ <a href="#trackback-<?php comment_ID() ?>"<?php comment_time() ?></a></cite> <?php edit_comment_link(__("Edit This"), " |"); ?></p>
</li> <?php } // end for each comment ?>
</ol> <?php } else { // this is displayed if there are no comments so far ?>
<p>Todavía no hay trackbacks.</p>
<?php } ?>

Y ya está. Esto es lo básico que se necesita para separar comentarios de trackbacks en WordPress. A partir de aquí cada uno deberá modificar el tema a su gusto, y adaptarlo a su plantilla actual si procede (para el ejemplo utilicé la plantilla por defecto). Si tenéis alguna pregunta, no dudéis en dejarme un comentario.

Actualizado: había un error bastante tonto en las consultas y, haciendo las modificaciones que aquí se mostraban, no se mostraban ni comentarios ni trackbacks. Ahora está arreglado; gracias a FrancoG por el aviso.

El otro spam

Archivado en: Internet — Martín @ 17:28 17/06/2004

FW: RE: RE: Fwd: RE: Re: reenvialo!!!!!

¿Te suena? Decenas de mensajes como éste se reciben en cualquier cuenta de correo hoy en día, y ya empieza a ser peor que el propio spam. Para mí es más molesto que el spam normal o los virus, ya que éste no se puede filtrar fácilmente, y en ocasiones ocupa cien veces más.

¿Pero para qué sirve? Cadenas para ayudar a niños enfermos, mensajes para que Hotmail no cancele tu cuenta o para evitar que cierren el Messenger, avisos de virus (hoy Norton y Microsoft han confirmado el nuevo virus… ¿cuándo es hoy en Internet?), historias sobre el amor o la amistad, correos que simplemente ponen en letras verdes sobre fondo amarillo Te Quiero (sin saber siquiera quién te lo envía)… todo es mentira. El que te lo envía, la mayor parte de las veces no sabe quién eres ni que te está enviando nada.

Para lo único que sirven estas cadenas son para que los spammers recopilen miles de direcciones nuevas al día. Incluso aunque ignores todas estas cadenas, con que recibas una, lo más probable es que tu dirección se venda días después al mejor postor. Lo tengo más que comprobado, con una cuenta que creé excepcionalmente para ello: sólo di la dirección a una persona que me envió un par de cadenas. A los pocos días estaba recibiendo varias cadenas más de gente que no conocía de nada. Unos días después, llegó el spam de Viagra y demás basura.

El consejo a seguir es el siguiente: NO reenvíes ninguna cadena. Aún así, si recibes algún correo que crees que pueda tener especial interés para tus contactos, utiliza el campo de CCO o similar, que te permitirá ocultar las direcciones de los demás al destinatario. Asegúrate además de que ninguna dirección de correo esté incluída en el cuerpo del mensaje.

Recuérdalo, nadie te borrará tu cuenta de Hotmail, no existe ningún virus que se anuncie hoy, y no verás ningún vídeo ni oirás ninguna canción al reenviar el mensaje a la gente (suena raro, pero tengo visto unos cuantos…).

Mapa de Springfield

Archivado en: Chorradas, Curiosidades, Televisión — Martín @ 00:02

A través de Microsiervos llego a Cuaderno de Bitácora, donde veo un post sobre una página en la que alguien se ha tomado el trabajo de, según las “pistas” que se dan en Los Simpson, crear el mapa de Springfield.

Está muy completo, muestra todas las tiendas mencionadas en la serie, carreteras y demás lugares de interés. Aquí tenemos el mapa grande (685 KB), aquí el mapa a trozos, y aquí una lista completa de los lugares que aparecen.

Por cierto, ¿en qué estado está Springfield? :)

Mozilla Firefox 0.9

Archivado en: Internet, Software — Martín @ 22:52 15/06/2004

Ya está disponible, en el lugar habitual, la versión 0.9 de Mozilla Firefox.

Las novedades más destacadas, a primera vista, son el actualizador de temas y extensiones, y la centralización (por fin) de todas esas webs de temas y extensiones (como texturizer.net) en una sola: Mozilla Update. Parece que cada vez se encaminan más hacia el usuario final, y eso es una buena noticia. Pero una cosa que me ha molestado ha sido que han cambiado la tecla de acceso rápido al gestor de descargas: antes era Ctrl+E y ahora es Ctrl+Y. Son tonterías, pero uno pierde unos segundos tan valiosos al equivocarse de tecla…

Por cierto, estos días estoy algo inactivo por causa de los exámenes finales, pero esta semana ya empiezo las vacaciones. Prometo escribir algo más y actualizar WordPress, que estos días no tengo tiempo para nada.

XHTML para niños

Archivado en: Chorradas — Martín @ 00:25 10/06/2004

El gran maestro Diz ha hablado:

[00:11:22] Jorge Diz: BIENVENIDOOOOOOOS
[00:11:27] Jorge Diz: A BARRRIO SÉSAMOO!!!!!
[00:11:31] Jorge Diz: *aplausos y risas de niños*
[00:11:37] Jorge Diz: Hola, amigos, soy c0c0
[00:11:41] Jorge Diz: y os voy a presentar a un amigo mío
[00:11:45] Jorge Diz: se llama <label>
[00:11:47] Jorge Diz: saludadle!
[00:11:53] Jorge Diz: HOLA <labeeeel>

[00:12:17] Jorge Diz: mi amigo <label> es muy útil en los formularios
[00:12:23] Jorge Diz: y ayuda a poner nombre a las cosas
[00:12:25] Jorge Diz: por ejemplo
[00:12:38] Jorge Diz: <p><label for=”author”>Nombre:</label><input tabindex=”1″ id=”author” name=”author” /></p>
[00:12:43] Jorge Diz: dsadsadfsa brewa
[00:12:48] Jorge Diz: <p><label for=”author”>Nombre:</label><input tabindex=”1″ id=”author” name=”author” /> </p>
[00:12:53] Jorge Diz: *oooooooh*
[00:13:10] Jorge Diz: y así, te evitas cosas como
[00:13:11] Jorge Diz: <p>Usuario: <input type=”text” name=”username” /></p>
[00:13:15] Jorge Diz: *buuuu, fueraaaa*
[00:13:18] Jorge Diz: esto ha sido todo
[00:13:20] Jorge Diz: adiós, niños!
[00:13:23] Jorge Diz: adiós, c0c0!!
[00:13:28] Jorge Diz: *c0c0 se va*

Los problemas de WordPress con los feeds

Archivado en: Trucos, WordPress — Martín @ 13:25 06/06/2004

La noticia de ¿Trabaja Google en un buscador de blogs? en Dirson me ha hecho darme cuenta de una cosa: hay robots web (como el de Google o el de Kinja) que están buscando archivos index.xml, atom.xml o index.rdf para indexar los feeds de los weblogs. Aunque en Google simplemente parece que están haciendo pruebas, en Kinja es un hecho.

Pero WordPress no tiene ninguno de estos tres archivos, mientras que Movable Type sí los tiene (por lo menos el de RDF y RSS). Esto es así porque WordPress es totalmente dinámico, es decir, las páginas se generan en el momento de pedirlas. Pensé que la solución sería hacer que el servidor interpretase esos archivos como PHP, pero por alguna razón (quizás no esté permitido) en Bitacoras.com no se puede hacer. Después de darle vueltas, llegué a la conclusión lo mejor sería hacer que cuando alguien pidiese, por ejemplo, el archivo index.xml, se le devolviese el wp-rss2.php. Y para hacer esto nada mejor que mod_rewrite. Simplemente tenéis que añadir unas líneas a vuestro .htaccess, o crear un nuevo en el servidor. Una cosa que se debe tener en cuenta es que no en todos los servidores está disponible el mod_rewrite, pero es muy común.

Si ya estáis usando mod_rewrite para las direcciones del WordPress, basta con añadir esto:

RewriteRule index.xml wp-rss2.php [QSA]
RewriteRule index.rdf wp-rdf.php [QSA]
RewriteRule atom.xml wp-atom.php [QSA]

Si por el contrario no estáis utilizándolo, habrá que añadir todo esto:

RewriteEngine On
RewriteBase /
RewriteRule index.xml wp-rss2.php [QSA]
RewriteRule index.rdf wp-rdf.php [QSA]
RewriteRule atom.xml wp-atom.php [QSA]

Podéis comprobarlo con los feeds de mi weblog: index.xml, atom.xml e index.rdf.

Cómo acceder a GMail a través de POP

Archivado en: Google, Internet, Software, Trucos — Martín @ 13:55 05/06/2004

Una de las cosas que los de Google prometieron acerca de GMail fue la posibilidad de acceder mediante POP. No dudamos de su promesa, pero como parece que últimamente el desarrollo del servicio está algo parado (seguramente por el tema del miedo de algunos), habrá que buscarse la vida.

Así que Jon Barker ha creado, bajo la plataforma .NET, un pequeño programa con el que podremos descargar nuestro correo de GMail en nuestro cliente de correo favorito, e incluso enviarlo mediante SMTP. Yo lo he probado y va perfectamente, quizás un poco más lento que el POP tradicional, pero funciona bien.

En su página web tenemos unas cuantas capturas del programa, así como un enlace a la última versión del programa, y a las librerías .NET (necesarias para utilizar el programa). Una vez descargado y descomprimido, basta con ejecutarlo e introducir nuestro nombre de usuario y contraseña de GMail. Luego, configuraremos nuestro gestor de correo electrónico favorito para que se conecte a localhost para descargar el correo (POP). Lo mismo para enviarlo (SMTP). El usuario que utilizaremos será nuestro usuario de GMail, es decir, lo que va antes de la @. Y el resto es historia :)

Una nota final: es evidente que el programa deberá estar ejecutándose siempre que queramos consultar nuestro correo. Esto lo veremos en la bandeja del sistema, al lado del reloj de Windows.