¿Qué hacer cuando Linux se cuelga?

Linux también se cuelga. Sí, de verdad. Ya sé que a los posibles conversos les comentamos siempre que no hay virus, que no se cuelga, que todo funciona mejor, que te hace el café por las mañanas (y por las tardes, noches, mediodías… 😉 Pero reconócelo: Linux también se cuelga de pascuas a ramos. Y nos duele, y nos hace sudar, y hacemos de todo antes de darle al botoncito mágico: Ctrl-Alt-Backspace para resetear las X, botoncito de BloqNum para ver si se ha quedado frito de verdad o sólo ha sido un susto, Ctrl-Alt-Supr cuando ya no nos mira nadie, y si ni con esas va, pues botoncito mágico (uno redondo en la parte superior central del portátil 😉 ¿Te niegas a darle al botón? Ok, pues estás de suerte, hay otro método mágico para intentar salvar los muebles : Alt + ImprPant + R E I S U B .

Antes de que te rompas los dedos intentando la combinación anterior, sigue leyendo:

1) tecla ImprPant = tecla PetSis = tecla SysReq
2) hay que teclear R E I S U B mientras se mantiene pulsadas Alt + ImprPant . Cada pulsación de tecla debe de ser lenta. Deja que pasen unos 5 segundos (o más) entre una y otra.
3) Hazlo sólo cuando de verdad el sistema esté colgado. De verdad de la buena, porque la combinación tiene un efecto inmediato: el PC se reseteará en cuanto lo teclees.

¿Qué significa R E I S U B?

R- pone el teclado en modo XLATE (modo ASCII, NO UNICODE)
E- intenta terminar tantos procesos como sea posible (de forma amigable), permitiendo a aquellos que puedan hacerlo grabar el trabajo que tengan pendiente.
I- fuerza a los procesos «cascados» a finalizar, de forma que los ficheros en uso puedan ser escritos a disco.
S- vacías las cachés de disco, finalizando toda escrituras a disco.
U- remonta todos los sistemas de archivo como read-only, de tal forma que nada pueda ser escrito accidentalmente justo antes del reset.
B- resetea el sistema.

La B puede ser sustituida por la O . Esta última apaga el ordenador en lugar de resetearlo.

Para finalizar: el kernel de Ubuntu viene de serie compilado con soporte Magic_SysReq_Key, pero no todas las distros tienen que tener esa opción de «rescate de emergencia» por defecto.

MySQL Workbench 5.1 Alpha para Linux en 30 días

MySQL Workbench es una aplicación que permite diseñar de forma visual, generar y gestionar bases de datos MySQL. Se pueden crear complejos modelos E/R, gestión de versiones del esquema de una BBDD, generación automática de documentación de una base de datos, ingeniería inversa, etc. MySQL Workbench se basa en DBDesigner 4 de FabForce. De hecho, incluso hubo hace tiempo una versión preliminar para Linux, llena de bugs, que hizo que MySQL decidiera rehacer todo el código. Desde hace tiempo (Noviembre de 2007), existe una versión de MySQL Workbench para Windows, pero no así para Linux. El desarrollador principal, Michael Zinner, acaba de publicar en el blog de la herramienta una entrada en la que indica que para antes del 30 de Septiembre tendremos una versión alpha de MySQL Workbench 5.1 para Linux. De hecho, incluso muestra la aplicación funcionando en su máquina Ubuntu:

Grabar un programa de Zattoo

Siempre he querido grabar programas de TV a través de Zattoo . Tras mucho trastear, he llegado a una solución no-óptima, pero razonable . Bueno, razonable para mí al menos 🙂

Se basa en el uso de recordMyDesktop, una estupenda aplicación para la grabación de todo lo que acontece en la pantalla de tu Linux, incluído el sonido que entre por el micrófono.

Vamos con la super-línea de comandos:


$ recordmydesktop -windowid `xwininfo -name "Zattoo Player" |grep "Window id:"|sed -e "s/xwininfo: Window id: // ;s/ .*//"` -o /tmp/out-$(date +%d-%m-%Y).ogg -fps 15 -channels 1 -freq 22050 -v_quality 63 -s_quality 10 -workdir /tmp -device plughw:0,0

-windowid ID : le indica a recordmydesktop que comience a grabar la ventana con identificador ID

`xwininfo -name «Zattoo Player» |grep «Window id:»|sed -e «s/xwininfo: Window id: // ;s/ .*//»` : esta ristra de código busca el ID de una ventana cuyo título es «Zattoo Player» . Unido a la anterior es evidente lo que hace.

-o /tmp/out-$(date +%d-%m-%Y).ogg : guarda en el directorio tmp el resultado de la grabación, siguiendo el patrón date-fecha.ogg

-fps 15 -channels 1 -freq 22050 -v_quality 63 -s_quality 10 : parámetro de calidad de la grabación. fps: frames por segundo. channels: canales de audio. freq: frecuencia de grabación de audio. v_quality: calidad de vídeo (máx: 63). s_quality: calidad de audio (máx. 10)

-workdir /tmp : directorio de trabajo /tmp, donde recordmydesktop guardará los archivos temporales

-device plughw:0,0 : grabar desde el dispositivo de sonido por defecto (habría que cambiar los números en caso de tener más de una tarjeta de sonido)

Problema: la grabación se lleva a cabo, el fichero se genera, el vídeo se ve y el audio se oye, PERO, el audio se graba de la entrada de MIC (micrófono) del PC. Lo cual es una pena, porque la calidad baja bastante. ¿Alguien sabe cómo grabar la salida de audio directamente?

Propiedad Intelectual y Open Source

«Intellectual Property and Open Source: A Practical Guide to Protecting Code» es el sugerente título de un libro que acabo de ver en Internet (2007, O’Reilly) y del que ya he hecho el pedido (sí, ya sé, lo puedo conseguir «de otras formas»). Escrito por Van Lindberg, un abogado que también es programador (o viceversa) se centra en los aspectos legales que atañen al desarrollo de software open source y la GPL, respondiendo a preguntas como:
* ¿Cómo interactúan los conceptos open source y propiedad intelectual?
* ¿Cuáles son los conceptos relacionados con la propiedad intelectual más importantes al lanzar un nuevo negocio o proyecto open source?
* ¿Cómo has de gestionar los temas de copyright, licencias, y otros aspectos que surgen al recibir un parche de código de otro desarrollador?
* ¿En qué aspectos has de pensar a la hora de elegir una licencia open source para tu proyecto?