Buber Sariak, Premios Buber: gracias

47026868Bueno, ayer fue un gran día: diariolinux.com fue votada y galardonada, en los premios Buber, como la web que mejor promociona el software libre. Muchas gracias a todos, en especial a los lectores fieles de este blog, que desde el 26 de Junio de 2001 siguen al pie del cañón. También, lógicamente, a todos los que han votado a favor, a la comunidad de amigos de DiarioLinux de Twitter, a los que incluso de animaron a acercarse a la entrega de premios y a toda la comunidad del software libre en general. Por supuesto, gracias finalmente al jurado de los premios, que al fin y a la postre, son los que han tomado la decisión final. Vuestros comentarios (en el blog y en persona) y muestras de apoyo son el combustible que hace que esta maquinaria avance y siga todos los días. Enhorabuena finalmente también al resto de candidatos, por su trabajo y dedicación. No abandonéis nunca.

No sé dónde dejar esta última nota, así que lo haré aquí: de todas las ponencias que hubo antes de los premios (dentro de la sección Datorrena 2010), no podéis perderos la que impartió Iker Sagasti, sobre «Internet y Valores». Nos tocó la fibra sensible y nos hizo reflexionar sobre la educación que recibimos en su día sobre valores y ética y lo que actualmente estamos llevando a la práctica. En muchas ocasiones hay una larga brecha. Como dice la madre de Iker: «Eres lo que haces, no lo que dices». En cuanto publiquen el vídeo del evento, pondré el enlace, para que esa ponencia no se pierda en el olvido.

PD: gracias a @damoto por la imagen que acompaña a este post 🙂

Por las noches veo zombies…

¿Qué es un proceso zombie (zombi según la DRAE) en Unix? Según la Wikipedia, es un proceso que ha completado su ejecución pero aún tiene una entrada en la tabla de procesos, permitiendo al proceso que le ha creado leer el estado de su salida. Metafóricamente, el proceso hijo ha muerto pero su «alma» (el valor de retorno de la operación) aún no ha sido recogida.

Vale. Y entonces, ¿qué es un proceso zombi? (como dirían mis alumnos tras una explicación «de libro») 🙂 Lo mejor es verlo con un ejemplo sencillito programado en C:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
 pid_t pid;
 
if ((pid = fork()) < 0)
        exit(1);
else if (pid == 0)
        exit(0);
 
sleep(120);
exit(0);
}

Nota: para compilar, guarda el código anterior en prueba.c y compila así: gcc -o prueba prueba.c

En la línea 8 se hace un fork(), es decir, el proceso actual (padre) genera un nuevo proceso (hijo). Ambos son «idénticos» (mismo área de código, datos, mismos identificadores de canal abiertos, etc.) y se ejecutan en paralelo (sí, con una sola CPU ese paralelismo es una mera «ilusión óptica» 😉 . La instrucción fork() devuelve un identificador -1 si ha habido algún error en la creación del hijo. Si la génesis (proceso de formación del proceso hijo) fue correcta, en la línea 10 tanto el proceso padre como el proceso hijo preguntan por el identificador devuelto por fork(). Aquí sí que hay una diferencia: al proceso padre, el sistema operativo le devolverá el PID de su proceso hijo. Al proceso hijo, el s.o. le devolverá un 0.

Así que la línea 11 sólo será ejecutada por el proceso hijo. Y casualidades de la vida, esa línea es un exit(0). Así que el proceso hijo acaba de morir. Pero el proceso padre sigue, línea 13, y se suspende durante 2 minutos, desentendiéndose del hijo que acaba de morir. De hecho, el padre podría intentar recoger el resultado devuelto por el hijo (un 0) sincronizándose mediante una llamada al sistema wait(&resultado) pero no lo hace, está durmiendo la mona durante 2 minutos 🙂 Así que el proceso hijo, está «muerto», pero su «alma» (el resultado 0 que aún está disponible para el padre si éste lo quiere) aún no ha sido recibida por nadie. Así que el proceso hijo no ha terminado de morir «del todo». Está en modo zombie.

Podemos comprobarlo ejecutando «prueba» y pidiendo la lista de procesos:

$ ./prueba

Verás algo como lo siguiente:

$ ps auxww| grep prueba
juanan   12851  0.0  0.0   1624   296 pts/1    S+   14:58   0:00 ./prueba
juanan   12852  0.0  0.0      0     0 pts/1    Z+   14:58   0:00 [prueba] <defunct>
juanan   12862  0.0  0.0   3236   792 pts/2    R+   14:58   0:00 grep prueba

La (Z) es indicador de modo zombie en el proceso. El padre (PID=12851) está durmiendo (S).

TV p2p: SopCast en Ubuntu

Receta rápida para ver el partido de hoy (no hace falta que diga cuál…) desde Ubuntu 😉

1) Instalar SopCast para Linux
Para ello, instalamos primero un nuevo repositorio APT, así:

$ echo "deb http://ppa.launchpad.net/jason-scheunemann/ppa/ubuntu `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list
 
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CD30EE56

2) Actualizamos la lista de paquetes disponibles:

$ sudo apt-get update

3) Instalamos:

$ sudo apt-get install sopcast-player

4) Configuramos Firefox para que al pinchar sobre algún enlace de tipo sopcast se lance el sopcast-player automágicamente:

Tecleamos en la URL: about:config
Botón derecho, nueva entrada, como String.
Tecleamos: network.protocol-handler.app.sop como clave y como valor : sopcast-player.

5) Entramos en alguna web de intercambio de enlaces TV_p2p. Buscamos el programa que nos interese, y a disfrutar.

Uso de software libre en las instituciones

Proposición no de Ley 54/2009, relativa al uso de software libre en las instituciones (Acuerdo de la comisión) (09/11.02.01.0103)

La Mesa, en su reunión del día 24 de noviembre de 2009, ordena la publicación en el Boletín Oficial del Parlamento Vasco del acuerdo adoptado por la Comisión de Educación en relación con la proposición no de ley formulada por el grupo parlamentario Aralar.

La Comisión de Educación, en la sesión celebrada el día 11 de noviembre de 2009, ha aprobado la Proposición no de Ley 54/2009, relativa al uso de software libre en las instituciones, con arreglo al siguiente texto:

1. El Parlamento Vasco valora positivamente la decisión del Departamento de Educación, Universidades e Investigación de dotar a los centros de Educación Primaria de ordenadores con arranque dual, así como su compromiso de desarrollar la correspondiente formación del profesorado.

2. El Parlamento Vasco insta al Gobierno Vasco a que el sistema operativo o tecnología a utilizar en la docencia, software libre o propietario, sea elegido en función de criterios de oportunidad, eficiencia y eficacia, en interés de la formación del alumnado, así como que garantice, en todo caso, la accesibilidad de las personas con algún tipo de discapacidad.

Y para que así conste, y en orden a su ejecución, expido la presente certificación con el visto bueno de la presidenta de la comisión, en Vitoria-Gasteiz, a 11 de noviembre de 2009.

Copyleft a obras culturales realizadas con fondos públicos

Proposición no de Ley 66/2009 del Parlamento Vasco, relativa a aplicación de licencias copyleft a obras culturales o científicas realizadas con fondos públicos.

La Mesa, en su reunión del día 24 de noviembre de 2009, ordena la publicación en el Boletín Oficial del Parlamento Vasco del acuerdo adoptado por la Comisión de Cultura y Juventud en relación con la proposición no de ley formulada por el grupo parlamentario Mixto-Ezker Batua Berdeak.

La Comisión de Cultura y Juventud, en la sesión celebrada el día 16 de noviembre de 2009, ha aprobado la Proposición no de Ley 66/2009, relativa a aplicación de licencias copyleft a obras culturales o científicas realizadas con fondos públicos, con arreglo al siguiente texto:

«El Parlamento Vasco defiende la libertad de los artistas y creadores a la hora de decidir el uso de sus
obras artísticas. El Parlamento Vasco insta al Gobierno Vasco a que, con el fin de mejorar y socializar la difusión de las obras artísticas realizadas con la participación de subvenciones públicas, establezca nuevos modelos de propiedad intelectual, que permitan nuevas modalidades de difusión y la utilización de licencias copyleft y otras que, en su caso, se desarrollarán en el futuro y que garanticen los derechos legales de los autores.

El Parlamento Vasco insta al Gobierno Vasco a presentar en este Parlamento una propuesta de promoción de nuevos modelos de propiedad intelectual que contemplen la pretensión que se menciona en el apartado 2, antes de finalizar el próximo periodo ordinario de sesiones».

Y para que así conste, y en orden a su ejecución, expido la presente certificación con el visto bueno del presidente de la comisión, en Vitoria-Gasteiz, a 16 de noviembre de 2009.