Planeta Linux estrena instancia Chilena

Anoche, después de conversar con Damog, se habilitó una nueva instancia en Planeta Linux, en esta ocasión es Chile, la idea la sugirió a través de la lista de correos de Planeta Linux el sr. Flabio Pastén Valenzuela, así que cualquier chileno o chilena que esté interesado en participar en Planeta Linux solo debe escribir a la lista de correos [email protected] la siguiente información.

  • Nombre Completo.
  • URI del feed.
  • Hackergothi, aunque es opcional.
  • Instancia en la que deseas aparecer, en este caso, Chile.

Se le recomienda a quienes quieran participar en Planeta Linux leer en primera instancia su serie de respuestas a preguntas frecuentes y los lineamientos.

~1 min read

Perl: Primeras experiencias

La noche del sábado pasado, después de terminar de estudiar con Ana la cátedra Programación Paralela y Distribuida, me dispuse a revisar las distintas instancias de Planeta Linux, como normalmente hago, pero eso no fué suficiente, me puse a validar el feed que se estaba generando en ese momento (en particular, el feed de la instancia venezolana). Me percate de varios errores y advertencias, entre ellos me llamo la atención:

This feed does not validate.

In addition, this feed has an issue that may cause problems for some users. We recommend fixing this issue.

line 11, column 71: title should not contain HTML (20 occurrences) [help]

Luego de leer la ayuda noto que es recomendable cambiar todos los nombres de las entidades html a su equivalente decimal, es decir, si tenemos por ejemplo: © debe modificarse ©, de igual manera con el resto.

Tenía varias opciones, una de ellas era realizar el reemplazo masivo desde vim, pero esta tarea es realmente ineficiente por el hecho de tener que reemplazar todos los nombres de las entidades html a su equivalente decimal uno por uno, además de eso, debía hacerlo para las tres instancias presentes en Planeta Linux, primera opción descartada de entrada.

Aprovechando que la semana pasada, al igual que el profesor Francisco Palm, estuve presente en un curso sobre el lenguaje de programación Perl, el cual fué dictado por José Luis Rey con la ayuda de Daniel Rodríguez en las instalaciones de Fundacite Mérida, quería poner en práctica algunas de las cosas que aprendí en dicho curso.

Antes de continuar debo agradecer al profesor José Aguilar, a la ingeniera Blanca Abraham, y a la Sra. Tauka Shults por la oportunidad que me brindaron.

Una de las cosas que nos recalcó José Luis fué acerca de las virtudes que debía tener un programador, una de ellas debe ser la flojera, es decir, comenzar a escribir código realmente útil de inmediato, sin ningún requerimiento adicional como ocurre en lenguajes de programación como el C/C++, en donde es necesario realizar una serie de procedimientos antes de comenzar a escribir código útil.

Como mencione en el párrafo anterior, la idea es llegar a ser lo más productivo en el menor tiempo posible. Generar un hash de entidades de nombres html no me parecía el camino idóneo, así que recorde el tema de la flojera, sin pensarlo dos veces comence a buscar en search.cpan.org un módulo que me permitiera convertir los nombres de las entidades html a su equivalente decimal, como primer resultado obtuve lo que buscaba, el módulo HTML::Entities::Numbered, había encontrado mi salvación, leo un poco acerca de su uso y es más sencillo de lo que pensaba, siguiente paso, proceder a instalarlo.

Para debianizar un módulo en Perl es muy sencillo, en primer lugar debemos recurrir al comando dh-make-perl, si no lo tenemos instalado ya, debemos proceder como sigue:

# aptitude install dh-make-perl

Ahora ya podemos debianizar el módulo que requerimos, para ello tuve que realizar lo siguiente:

# dh-make-perl --build --cpan HTML::Entities::Numbered

Como lo puede apreciar, su uso es realmente sencillo, para una mejor explicación acerca de este último comando le recomiendo leer la entrada Instalando módulos de Perl en Debian escrita por Christian Sánchez, como era la primera vez que hacia uso del comando cpan tuve que configurarlo, esto no tomo mucho tiempo, el asistente ofrece explicaciones bastante detalladas.

Una vez realizado el proceso más complicado de toda la operación, el resto era escribir el código fuente que me permitiese convertir los nombres de las entidades html a su equivalente decimal, he aquí el resultado.

#!/usr/bin/perl -l

use strict;
use warnings;
use HTML::Entities::Numbered;

unless(open(INPUT, $ARGV[0])) { die "ERROR: No se especifico archivo para abrir. $!"; }
open(OUTPUT, ">$ARGV[0].bak");
while(<INPUT>){ print OUTPUT name2decimal($_) if chomp; }

¡Listo!, en tan pocas líneas de código he logrado resolver el problema, por supuesto, todo se redujo a buscar el módulo apropiado, una vez hecho los cambios a los ficheros de configuración de Planeta Linux procedí a actualizar la última versión en subversion.

Puede apreciar el antes y después de los cambios realizados.

3 min read

Primer documental de Software Libre hecho en Venezuela

Para todos aquellos que aún no han tenido la oportunidad de ver el primer documental sobre Software Libre realizado en Venezuela, Software Libre, Capítulo Venezuela, ahora pueden hacerlo gracias a la colaboración hecha por Luigino Bracci Roa, quien realizó la codificación del fichero.

El documental, cuya duración es de 25 minutos, fué producido por el Ministerio de la Cultura a través de la Fundación Villa Cine, dicha fundación busca estimular, desarrollar y consolidar la industria cinematográfica a nivel nacional, a su vez, favorece el acercamiento del pueblo venezolano a sus valores e idiosincrasia.

Se pueden observar algunas entrevistas muy interesantes, el documental pretende orientar al ciudadano común, aquel que no domina profundamente los temas de la informática y específicamente el tema del Software Libre, entre otras cosas se explican los conceptos e importancia detrás de él.

A continuación una serie de sitios espejos desde los cuales puede descargar el documental, de igual manera a lo dicho por Ricardo Fernandez: por favor no use siempre el mismo mirror, es para compartir anchos de banda y para dar un mejor servicio a todos.

Formato OGG (aprox. 43.5MB)

Free TV

Daniel Olivera nos informa que:

Ya esta en UTUTO FreeTv emitiendose luego de cada video que ya estaba.

Pueden verlo en radio.ututo.org:8000/ o en WebConference en el sitio de UTUTO.

Esta las 24 horas funcionando FreeTv.

Formato AVI (aprox. 170MB)

Puede encontrar mayor información acerca del tema en los siguientes artículos:

Actualización: Se añaden nuevos sitios espejos para el formato AVI, además, Daniel Olivera ha facilitado algunos enlaces de gran ancho de banda para el formato OGG. ¡Gracias Daniel!.

1 min read

Debian: Bienvenido al Sistema Operativo Universal (Parte II)

Esta serie de anotaciones comenzo con la entrada Debian: Bienvenido al Sistema Operativo Universal (Parte I).

Después de escribir en la tabla de particiones el esquema de particionamiento descrito en la parte anterior, el sistema base Debian comenzo a instalarse. Posterior a la Bienvenida al nuevo sistema Debian, reinicie y comence a configurar el sistema base debian, en la sección de selección de programas Debian escogí la última opción que nos brinda el asistente, selección manual de paquetes, luego configure las fuentes de aptitude y enseguida inicie la instalación de paquetes puntuales, los cuales describiré a continuación, de manera breve.

Como lo que tenía a mano era el CD Debian GNU/Linux testing Sarge- Official Snapshot i386 Binary-1, lo primero que hice fue actualizar a Sarge, seguidamente cambie las fuentes del fichero /etc/apt/sources.list a Etch, actualice la lista de paquetes disponibles e inmediatamente hice un aptitude dist-upgrade, el cambio de una rama a otra fué de lo más normal, no genero problema alguno.

Nota: No he descrito el proceso de instalación del sistema base de manera detallada ya que existe suficiente información en el sitio oficial de Debian, si lo desea, puede ver este video tutorial de instalación de Debian Sarge (aprox. 54MB.), en este video se explica como instalar el Entorno de Escritorio predeterminado que ofrece el asistente, no es el caso que explico en esta entrada, puesto que vamos a generar un Entorno de Escritorio de acuerdo a nuestras necesidades particulares.

Si tiene alguna duda acerca de la funcionalidad de un paquete en particular, puede consultar la descripción del mismo al hacer uso del comando aptitude show _package-name_, en donde package-name es el nombre del paquete en cuestión.

En los siguientes pasos haré uso intensivo de aptitude, anteriormente ya he explicado las ventajas que presenta aptitude sobre los comandos apt-get y sobre la interfaz gráfica Synaptic, puede encontrar mayor información en los artículos:

Sistema X Window

Instalando los componentes esenciales para el Sistema X Window.

# aptitude install x-window-system-core

GNOME

Instalando los componentes esenciales para el entorno de escritorio GNOME.

# aptitude install gnome-core

GNOME Display Manager

Si usted hubiese instalado el paquete x-window-system, metapaquete que incluye todos los componentes para el Sistema X Window, se instalaría por defecto XDM (X Display Manager), normalmente debería recurrir a la línea de comandos para resolver los problemas de configuración de este manejador, mientras que con GDM (GNOME Display Manager) no debe preocuparse por ello, puede personalizarlo o solucionar los problemas sin recurrir a la línea de comandos. De manera adicional, puede mejorar su presentación con la instalación de temas.

# aptitude install gdm gdm-themes

Mensajería Instantánea, IRC, Jabber

GAIM

Todo lo anterior se puede encontrar al instalar GAIM.

# aptitude install gaim gaim-themes

irssi

Si le agrada utilizar IRC modo texto, puede instalar irssi.

# aptitude install irssi

Centericq

Centericq es un cliente de mensajería instantánea multiprotocolo, soporta ICQ2000, Yahoo!, AIM, IRC, MSN, Gadu-Gadu y Jabber.

# aptitude install centericq

Programas para la manipulación de imágenes

GIMP por defecto no puede abrir ficheros SVG, si desea manipularlos desde GIMP y no desde Inkscape puede hacer uso del paquete gimp-svg.

# aptitude install gimp gimp-python gimp-svg inkscape

Definitivamente Firefox.

# aptitude install firefox firefox-locale-es-es

Creación de CDs y DVDs

# aptitude install k3b cdrdao

Para quienes quieran su version de K3b en español pueden instalar el paquete k3b-i18n, yo no lo considere necesario puesto que aporta 11,5MB, inútiles desde mi punto de vista.

Cliente Bittorrent

No le recomiendo instalar el cliente bittorrent Azureus, consume demasiados recursos, acerca de ello explico brevemente en el artículo Clientes Bittorrent.

# aptitude install freeloader

Lector de feeds

Normalmente utilizo Liferea. También cabe la posibilidad de utilizar el servicio que presta Bloglines.

# aptitude install liferea

Editor

# aptitude install vim-full

Cliente de correo electrónico

Para la fecha, a la rama testing de Debian no ingresa la versión 1.5 del cliente de correo Thunderbird (mi favorito), así que vamos a instalarlo manualmente.

En primer lugar deberá descargar (se asume que la descarga se realizará al escritorio) la última versión del cliente de correo, el paquete empaquetado y comprimido lo encontrará en el sitio oficial de Thunderbird.

Seguidamente, proceda con los siguientes comandos.

# tar -C /opt/ -x -v -z -f ~/Desktop/thunderbird*.tar.gz
# ln -s /opt/thunderbird/thunderbird /usr/bin/thunderbird

Instalar Diccionario en español

wget -c http://downloads.mozdev.org/dictionaries/spell-es-ES.xpi

Aplicaciones -> Herramientas del Sistema -> Root Terminal. Desde allí procedará a ejecutar el comando thunderbird.

Desde Thunderbird, seleccione la opción Extensiones del menú Herramientas. Seguidamente proceda a dar click en el botón Instalar y posteriormente busque la ruta del paquete que contiene el diccionario.

Thunderbird + GPG = Enigmail

Esta excelente extensión le permitira cifrar y descifrar correos electrónicos, a su vez, le permitirá autenticar usuarios usando OpenPGP.

wget -c http://releases.mozilla.org/pub/mozilla.org/extensions/enigmail/enigmail-0.94.0-mz+tb-linux.xpi

Como usuario normal, proceda a invocar el cliente de correo electrónico Thunderbird, seleccione la opción Extensiones del menú Herramientas y proceda a instalar la extensión en cuestión, similar al proceso seguido para lograr instalar el diccionario.

Reproductor de videos

Aunque existen reproductores muy buenos como el VLC y XINE, mi reproductor favorito es, sin lugar a dudas, MPlayer. La mejor opción es compilarlo, aún en la misma página oficial del proyecto MPlayer lo recomiendan, existe mucha documentación al respecto. Sin embargo, si no tiene tiempo para documentarse puede seguir los siguientes pasos, le advierto que el rendimiento quizá no sea el mismo que al compilar el programa.

# echo "deb ftp://ftp.nerim.net/debian-marillat/ etch main" >> /etc/apt/sources.list
# aptitude update
# aptitude install mplayer-386 w32codecs

Extensiones para Mozilla Firefox

Estas son las que he instalado hasta ahora, siempre uso un poco más, puede encontrarlas en la sección Firefox Add-ons del sitio oficial.

  • Answers
  • del.icio.us
  • FireFoxMenuButtons
  • Colorful Tabs
  • Tab Mix Plus

Gestor de Arranque

Vamos a personalizar un poco el gestor de arranque GRUB.

# aptitude install grub-splashimages
$ cd /boot/grub/splashimages

En este instante le recomiendo escoger alguno de los motivos que incluye el paquete grub-splashimages, una vez hecho esto, proceda a realizar lo siguiente.

$ cd /boot/grub/
# ln -s splashimages/image.xpm.gz  splash.xpm.gz
# update-grub

En donde, evidentemente, debe cambiar el nombre del fichero image.xpm.gz por el nombre de fichero de la imagen que le haya gustado en /boot/grub/splashimages.

5 min read

Creando listas de reproducción para XMMS y MPlayer

Normalmente acostumbro a respaldar toda la información que pueda en medios de almacenamiento ópticos, sobretodo audio digital, ya sea en ficheros Ogg Vorbis o en MPEG 1 Layer 3. Desde hace poco más de un año hasta la actualidad me he acostumbrado a mantener una estructura lógica, la cual es más o menos como sigue:

/music///

Pero hace mucho tiempo no era tan organizado en cuanto a la estructura de los respaldos, entonces, la pregunta en cuestión es, ¿cómo lograr detectar la presencia de ficheros de audio digital almacenados de manera persistente en un dispositivo óptico de manera automática?

Al igual que lo expresado en la entrada Eliminando ficheros inútiles de manera recursiva, haremos uso del comando find.

Antes de entrar en detalle debo aclarar que voy a realizar una búsqueda recursiva de ficheros en el path correspondiente a mi unidad lectora de CDs. Usted debe ajustar el path por uno apropiado en su caso particular.

Si solo desea buscar ficheros MPEG 1 Layer 3:

find /media/cdrom1/ -name \*.mp3 -fprint playlist

Pero si usted acostumbra a almacenar ficheros Ogg Vorbis en conjunto con ficheros MPEG 1 Layer 3, debería proceder así:

find /media/cdrom1/ \( -name \*.mp3 -or -name \*.ogg \) -fprint playlist

El comando anterior también es aplicable para generar listas de reproducción de video digital, en cuyo caso lo único que debe cambiar es la extensión de los ficheros que desea buscar. El fichero que contendrá la lista de reproducción generada en los casos expuestos previamente será playlist.

Reproduciendo la lista generada

Para hacerlo desde XMMS es realmente sencillo, acá una muestra:

xmms --play playlist --toggle-shuffle=on

Si usted no desea que las pistas en la lista de reproducción se reproduzcan de manera aleatoria, cambie el argumento on de la opción --toggle-shuffle por off, quedando como --toggle-shuffle=off.

Si desea hacerlo desde MPlayer es aún más sencillo:

mplayer --playlist playlist -shuffle

De nuevo, si no desea reproducir de manera aleatoria las pistas que se encuentran en la lista de reproducción, elimine la opción del reproductor MPlayer -shuffle del comando anterior.

Si usted desea suprimir la cantidad de información que le ofrece MPlayer al reproducir una pista le recomiendo utilizar alguna de las opciones -quiet o -really-quiet.

1 min read