Competencia comunicativa y software libre

Entre las competencias transversales que debe adquirir cualquier alumno al finalizar sus estudios de grado, figura la competencia en comunicación oral y escrita en lengua nativa. Dejaré para otro día el tema de la comunicación oral. Hoy me centraré en la comunicación escrita.

Tenemos innumerables posibilidades para poder corregir nuestros textos. La más sencilla sería usar el corrector ortográfico de OpenOffice.org. O instalar el plugin de Firefox para corrección ortográfica de textos en español. Pero es que vía web – buscad en Google las palabras «corrector ortográfico»- obtendréis miles de posibilidades más. El caso es que a los alumnos les da absolutamente lo mismo que haya correctores o no los haya (a veces me pregunto si saben de su existencia). No los usan, ni lo que es aún peor, ni siquiera creen necesitarlos. Les trae absolutamente sin cuidado escribir «haber», «a ver», o una combinación imposible del estilo «aver», «aber» o vaya usted a saber qué.

Por otro lado, tampoco se plantean que al comunicarse con un profesor lo mínimo que podrían hacer es dejar «d eskribir km si d 1 kolega» se tratara. Seguro que me entendéis lo «k kiero decir» 😉 No distinguen el tono, ni las formas, ni saben dirigirse a otra persona por escrito de manera formal. Y si les respondes reprendiéndoles por haber perpetrado semejante mensaje, te conviertes en un borde cascarrabias. Y tal vez no les falte razón.

Así que, de momento, me limito a marcar en rojo las faltas de ortografía cuando respondo a esos mensajes. Lo malo es que, a veces, esas respuestas parecen un árbol de navidad con tanto colorido…

En fin, recordemos que se ha invertido mucho esfuerzo por parte de la comunidad para tener disponibles unos buenos correctores ortográficos, publicados como software libre gran parte de ellos. Aunque sólo sea por esa razón, fomentemos su uso 😉

El PP vasco, inquieto con la oficina del software libre

UPDATE 17/12/2009: gracias a Eneko Astigarraga por transcribir la respuesta de la consejera de empleo y asuntos sociales a la pregunta de Borja Sémper.

Borja Sémper Pascual, parlamentario del Grupo Popular, al amparo del vigente Reglamento, tiene el honor de presentar a la Consejera de Justicia y Administración Pública, Sra. Dña. Idoia Mendía Cueva, la siguiente PREGUNTA para su RESPUESTA ORAL EN PLENO, relativa al anuncio de la inminente creación por parte del Gobierno Vasco de una oficina de apoyo al software libre.

JUSTIFICACIÓN

Hace unas semanas teníamos oportunidad de conocer por la prensa que el Gobierno Vasco tiene previsto poner en marcha una oficina con la intención de servir de apoyo y fomento del denominado software libre.

Existe un acuerdo parlamentario de la pasada legislatura, mediante el cual se pedía al Gobierno que impulsara y fomentara el software libre, pero donde nada se decía de la necesidad de crear una oficina para «difundir la cultura del software libre».

Habida cuenta de la importancia y trascendencia del tema, así como con la necesidad de conocer en profundidad la dimensión real del anuncio hecho por el Gobierno Vasco en prensa, le ruego tenga a bien contestar a la siguiente

PREGUNTA

¿Qué criterios ha seguido el Gobierno a la hora de tomar la decisión de crear una oficina para la promoción del software libre?

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.