Etiquetas

10/30/2005

Plugins para Wordpress

Gracias a Zeross he descubierto un par de plugins para Wordpress (el gestor de contenido que gestiona este diario) que son interesantes.

En primer lugar, tenemos PopStats, que genera estadísticas sobre las visitas. Entre las que más me gustan están los últimos términos que se han introducido en buscadores para llegar a la página, los navegadores que se usan para leerla (ordenados por porcentaje) y una lista de los enlaces a través de los cuales se ha llegado a mi diario. Es algo bastante bueno para saber, por ejemplo, qué suele buscar la gente para llegar aquí o en qué navegador debo asegurarme de que esta página se ve sin errores (por si acaso ya he puesto un enlace para descargarse Firefox).

Luego está Google Sitemap Generator. Este plugin genera un mapa de esta web (lista de páginas con enlaces y contenidos) y lo manda a Google para que actualice su motor de búsqueda con los datos enviados. Normalmente notifica a google cuando se introduce o edita una entrada de diario. De esta manera no hay que esperar a que el bot del buscador se pase por la página (en el caso de ésta puede tardar bastante, al tener tan pocas visitas).

10/28/2005

Llamadas al sistema en el núcleo 2.6 de linux

Esta mañana hemos realizado en clase de Diseño de Sistemas Operativos la práctica 2, de creación de llamadas de sistema en el núcleo (sin usar módulos).

Aunque el guión estaba preparado para un núcleo 2.4, hemos logrado adaptarlo para el 2.6.13.4 con unos cambios mínimos.

En primer lugar, hay que introducir la entrada de la llamada al sistema en la lista. Anteriormente se introducía en este archivo:
/usr/src/linux/arch/i386/kernel/entry.S

Pero ahora se han separado las entradas de llamadas al sistema en un archivo distinto, que es incluído en el anterior. El nuevo archivo es éste:
/usr/src/linux/arch/i386/kernel/syscall_table.S

La nueva llamada al sistema se introduce al final de la lista, con una entrada así:
.long sys_nueva_llamada /* 375 */

El comentario es el número de la llamada al sistema. Es opcional, pero se recomienda incluirlo cada 5 llamadas por legibilidad del código.

Una vez introducida en la tabla de llamadas, debemos introducir su prototipo en la cabecera unistd.h . En mi caso, lo añadí únicamente al unistd.h de la arquitectura i386, localizado en /usr/src/linux/include/asm-i386/unistd.h. El prototipo se incluye con esta entrada, nuevamente al final de la lista y siempre con cuidado de asignarle un número nuevo, no usado:
#define __NR_nueva_llamada 375

Justo debajo debería aparecer una línea que indica el número de llamadas al sistema en la lista. Debemos incrementar ese número tantas veces como llamadas nuevas hayamos introducido, o podrían darse problemas una vez compilado el núcleo:
#define NR_syscalls 376

Ahora que la nueva llamada consta en el sistema, podemos introducir el cuerpo de la llamada. Esto podemos hacerlo al final del archivo /usr/src/linux/kernel/sys.c . Por ejemplo:

asmlinkage long sys_nueva_llamada(void){

printk("Esta llamada es nueva\n");

return 0;

}

Ya sólo queda recompilar e instalar el núcleo con los cambios y hacer un programa que pruebe que nuestra llamada funciona.

Antes de ese paso, nos encontramos con problemas ya que el código estaba preparado para el núcleo 2.4, mientras que no era compatible con el 2.6.13. Por ejemplo, el puntero p_pptr (que apunta al padre de un proceso en la estructura task_struct) ahora es llamado parent.

También fue necesario cambiar la función verify_area (deprecada en el 2.6) por access_ok . Los parámetros son los mismos, pero el resultado es justo el contrario (mientras que verify_area devuelve 0 cuando se puede acceder al area de memoria indicada, access_ok devuelve 0 cuando no se puede acceder.

10/18/2005

El terrorismo, visto por la industria musical

Atentos. Esta noche Telecinco emite un reportaje que vincula el terrorismo con la piratería musical. La cadena que ahora emite Operación Triunfo.

Aunque la que les cayó tras el anuncio que vinculaba hasta las descargas de internet con la trata de blancas fue tan gorda que tuvieron que retirar su apoyo a la campaña, ahora vuelven. Al menos parece que no hablarán de cómo puedes montar un imperio del mal descargándote música sin ánimo de lucro.

Sin embargo me voy a quedar con las ganas de verlo, ya que mañana tengo que madrugar y conducir. Y digo que me quedo con las ganas porque, según los que han visto el anuncio, sale Bustamante recriminando a un mantero que venda sus CDs. Un rico criticando a un pobre por una leve bajada en sus cuantiosos ingresos a cambio de dinero para vivir. Semejante demostración de despotismo metida por peteneras en un contexto ético resulta tan vomitiva que hay que verla. Aunque sea para ver lo bajo que caen las discográficas y los “artistas”.

10/15/2005

Mitos del videojuego: sus diarios

La popularización de los diarios on-line (weblogs/blogs/etc.) es tal que las personas que menos te esperabas resultan tener uno.

Véase el caso de Ron Gilbert, creador de la saga Monkey Island. Yo personalmente creía que tras encargarse de la 2ª parte allá por 1991/92 se retiró a una cabaña en los bosques para dedicar el resto de su vida a hacer cestas de mimbre. Pero mira por donde, no sólo no se retiró sino que estuvo en dos compañías (Humongous, Cave Dog Entertainment) después de dejar Lucas Arts. Ahora parece que está trabajando en un proyecto nuevo que mezcla rol y aventura. Y da la impresión de que muy bien podría acabar usando herramientas basadas en Software Libre. Como nota curiosa, expresa admiración por el proyecto SCUMMVM, anteriormente amenazado legalmente por Lucas Arts.

Hideo Kojima, creador de Metal Gear, ha estrenado hace poco su propio diario. Por desgracia está en un japonés que tira para atrás, así que uno no se puede enterar de mucho.

Actualización: Ahora el diario de Kojima está en inglés.
Resulta interesante ver cómo personas que antes parecían mitos en vida, ahora dan a conocer sus pensamientos en un medio tan público como es internet. En el caso de Ron Gilbert lo mejor es comprobar como el humor de sus clásicos juegos sigue vivo en su diario (y en las animaciones en flash que publica de vez en cuando).