Escuchando emisoras de radio con mplayer en consola a través de un proxy


Confieso que a veces trabajar sin música es raro. Y normalmente uso cvlc para escuchar emisoras de radio por internet , pero al estar tras un proxy , resumo el momento con un alias en ~/.bashrc de esta forma alias escuchar='cvlc --http-proxy=$http_proxy' , y solo doy escuchar stream_URL .

Pero en raras ocaciones, pierdo mucho la conexión en algunas emisoras y por ende el streaming con cvlc . Antiguamente usaba mplayer pero para otros tipos de streams. Así que se me ocurrió un script para usarlo y añado el soporte de ctrl+c , puesto que al presionarlo , siempre me quedaba mplayer ejecutándose.

¿Donde esta gfxboot.cfg?

Si andas buscando el archivo de configuración de gfxboot.cfg, te darás cuenta que no esta en una ubicación directa, sino que forma parte de una archivo cpio, un archivo binario que aloja en si mismo una serie de archivos a modo de directorio comprimido.

Este archivo cpio varia en su nombre en algunas distribuciones (En Suse Enterprise esta en /boot/messages y en Mandriva en /boot/gfxmenu por mencionar ejemplos), así que una forma sencilla de ubicar es revisando en el archivo de configuración del Grub la linea gfxmenu. Una linea en comando sería algo así

$ grep gfxmenu /boot/grub/menu.lst
u
$ grep gfxmenu /boot/grub/grub.cfg  


Según que se que use Grub u Grub2 respectivamente.

Supongamos que la ubicación obtenida haya sido /boot/gfxmenu , el paso para extraer el archivo es crear un directorio y extraerlo allí

$ mkdir test ; cd test/ ; cpio -idv < /boot/gfxmenu

Al hacer esto, no sólo obtenemos el archivo en cuestión sino el contenido del archivo cpio.

Si se desea hacer cambios permanentes al archivo gfxboot.cfg debemos hacer lo siguiente dentro del directorio creado

# ls | cpio -o > /boot/gfxmenu

El pesebre geek del blog


Tengo costumbre de bromear un poco con los pesebres cada año y para no perder la costumbre, el de este año no podia ser más geek. El del año pasado esta por este enlace

Forzando a cerrar procesos cuyas conexiones estan en estado CLOSE

En ciertas ocasiones, he tenido que cancelar las conexiones del servicio apt-cacher Debian que se me vuelve cuello de botella al saturar la limitante de uso de las interfaces de red.

Aunque en otra oportunidades lo he usado para cancelar las conexiones en un conocido simulador de router Cisco.

El comando sería algo así

#!/bin/bash
netstat -plant | grep CLOSE | awk {'print $7'} | sed "s/[^0-9]//g" | xargs kill -9

Yaourt y de como me toca actualizar

Desde que me mude a ArchLinux, no he tenido en problemas de aprender cosas nuevas. A raíz de la necesidad de usar paquetes en AUR, he tenido siempre la dificultad de verificar/obtener versiones nuevas tras un proxy. Normalmente, la instalación si me funciona, pero no al momento del chequeo de updates. La cosa a la que me refiero es que no me funciona muchas veces este comando yaourt -Su --aur Según Internet, la variable de entorno es fundamental, pero igual. No me ha funcionado,

Así que me resolví hacer dos scripts para al menos , de forma visual dar con los paquetes desactualizados.

El primero en bash sería algo así


#! /bin/bash

yaourt -Q | grep local | awk 'BEGIN { FS="/"} {print $2 }' | awk '{print $1}' > AUR

Las dos primeras partes busca los paquetes que están instalados y filtra los que fueron de forma local, obteniendo resultados de esta forma


...
local/codecs-all 20071007-4
local/ddcxinfo-arch 0.8-2
local/etherwake 1.09-3
local/go-openoffice.org-es 3.2.1.3-2
...


Pero como lo que requiero es el nombre del paquete, hago un filtro usando como separador el carácter "/" obteniendo algo asi


...
codecs-all 20071007-4
ddcxinfo-arch 0.8-2
etherwake 1.09-3
go-openoffice.org-es 3.2.1.3-2
...


Luego como esta separado el nombre de la versión con un espacio, el nombre seria una columna , awk '{print $1}' me daría sólo esa columna



...
codecs-all
ddcxinfo-arch
etherwake
go-openoffice.org-es
...


AL final decidí guardar el resultado en un archivo, de nombre AUR.


El segundo script en Perl sería para que por cada linea en el archivo AUR me busque en yaourt. Sería algo así

#!/usr/bin/perl
open (ARCH, "AUR");

foreach $linea (&lt;ARCH&gt;) {
chomp($linea);
system("yaourt -Ss ".$linea );
}

close(ARCH);

Al hacer esto , el resultado que se muestra es que el paquete desactualizado aparece marcado en rojo.

He acá mi drama.

Añadiendo un TimeStamp a 'history'

Ordinariamente el comando 'history ' indica, el número de comando y el comando ejecutado. Sin embargo , no es suficiente en muchos casos,(en el desarrollo de software por un equipo ). Es útil ver cuando adicionalmente vemos las fechas de ejecución del comando.

Si usamos

export HISTTIMEFORMAT="%d/%m/%y %T "


Obtendríamos un resultado similar a este :
.
.
.
421 20/04/10 21:10:27 cp -vRf * ../ubuntu
422 20/04/10 21:10:27 cd ..
423 20/04/10 21:10:27 mount
424 20/04/10 21:10:27 umount /var/www/tmp
425 20/04/10 21:10:27 ll
426 20/04/10 21:10:27 cd ubuntu/
427 20/04/10 21:10:27 l
428 20/04/10 21:10:27 cd install/
429 20/04/10 21:10:27 ll
430 20/04/10 21:10:27 cd netboot/
431 20/04/10 21:10:27 ll
432 20/04/10 21:10:27 ll /var/lib/tftpboot/
433 20/04/10 21:10:27 cp -Rf * /var/lib/tftpboot/
434 20/04/10 21:10:27 ll /var/lib/tftpboot/
435 20/04/10 21:10:27 cp -Rf * /var/lib/tftpboot/ubuntu-installer/
436 20/04/10 21:10:27 ll
437 20/04/10 21:10:27 ll ubuntu-installer/
438 20/04/10 21:10:27 cd /var/lib/tftpboot/
.
.
.
.

Para hacer los cambios permanentes puede añadirse el comando anterior en tu .bashrc

echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' | tee -a ~/.bashrc

Usando inotifywatch


A veces me hacen preguntas extrañas. Créeme, no me esperaba algo así.

"¿Existe algo para ver los cambios en un filesystem?"

Ese día, respondí que no. Pero me sonaba. Pensé: "Cambios en filesystem, es como cambios en inodos." Bueno, ni modo, busqué en la red y me encontré con esta herramienta muy genial.

Se llama inotifywatch, forma parte del paquete inotify-tools y usa el mecanismo de seguimientos de de eventos relacionados a un archivo u a algún directorio (ver man 7 inotify) del kernel. Lo he vistos en varias distros.

Un ejemplo de su uso


[user@pc ~]$ inotifywatch -v -e access -e modify -t 15 -r ~
Establishing watches...
Setting up watch(es) on /home/user
OK, /home/user is now being watched.
Total of 2024 watches.
Finished establishing watches, now collecting statistics.
Will listen for events for 15 seconds.
total access modify filename
219 219 0 /home/user/Desktop/
8 0 8 /home/user/.gconfd/

En el ejemplo anterior, indica los eventos de acceso y modificación en un tiempo de 15 de forma recursiva en el directorio personal del usuario 'user'

Esta herramienta puede detectar casi cualquier operación sobre algún archivo u directorio, por lo que se puede usar en diversos escenarios, desde por ejemplo, ver que cantidad de archivos temporales crea un proceso u ver que archivo es muy descargado en su servidor web sin esperar a un crotab actualize sus estadísticas, por mencionar alguno.

Enlazando Twitter con Rhythmbox en ArchLinux/Debian/Ubuntu


Advertencia: Estas instrucciones sólo sirve para menor de Gnome 3.0

Desde hace meses he estado usando Arch Linux y en la medida de lo posible he estado adaptando lo que tenía antes instalado en Ubuntu. No hace días, vi que hay cambios para instalar el plugin para mostrar en Twitter lo que escuchas en Rhythmbox , por lo que origina este nuevo post, que, enfocado a Arch Linux, mencionare como seria hacerlo en Debian y derivados.

Lo primero es instalar el wrapper para entender la Api de Twitter , cuyo paquete es llamado python-twitter . En caso de Ubuntu Jaunty u Debian Lenny, la versión requerida es 0.6.1 que no esta en repositorio, por lo que ademas de instalar python-simplejson, lo bajarías de la página del proyecto en Google Code

Hay dos formas de obtener el plugin . La obtención del código del plugin fue movido de un repositorio SVN a un repositorio GIT por lo que podemos usarlo vía git

git clone git://github.com/dragon3/rhythmbox-twitter-plugin.git

En caso de no tener instalado el paquete git, se puede disponer del comprimido en el URL http://github.com/dragon3/rhythmbox-twitter-plugin/tarball/master

Luego de obtenido el código se accede al directorio y ejecutamos en consola como root

make install


Si hemos hecho todo bien, debería de aparecer entre los complementos en Rhythmbox "Twitter notifier"



Así debería de verse después de instalado el plugin

En Twitter se algo verá así

Recomendaciones
  • Si posees muchas canciones, trata que sean del mismo álbum y artista, algunos followers que tengas puede ver como spam tus updates que no sigan estas condiciones.
  • Si posees canciones sin artista y sin saber de que álbum pertenecen , mejor no actives el plugin pues se pueden verse así.

Poniendo el pesebre al Blog





Para los que me preguntaron, si!!!!!!!!. El Blog tendrá su pesebre. Por estas fechas es inevitable montar uno en casa, pero como no poseo el espacio para armar uno, me conformo al menos poniendo uno acá :P .

Esta ambientado a lo Final Fantasy ^_ ^ . El del año pasado estuvo genial.

Felices Pascuas y Renovado Año Nuevo 2010 A mis lectores.

Imagen Encontrada en Comics Alliance

Explicando algunos hashtags vistos/inventados en Twitter


A 5 meses de tener cuenta en Twitter ya era momento de tener un post referente al tema, así que trataré de explicar algunos hashtags que en parte he visto y otras he inventado. No será una gran explicación pero si, trataré de ser lo más directo posible. Comencemos.

#Yoconfieso: ¿Deseas que alguien sepa que lo que dices es 133% verdad? Ese es el tag adecuado.

#ModoChiquito: Ese tag lo comencé a usar después de una conversación con @Amandysha, en la cual, el sentido expresado es el mismo cuando hablabas cuando estaba chico , en la escuela y querías siempre sobresalir sobre l@s compañerit@s . Ejemplo

#SuenaRaro: Si lo defino, me dirán el Capitan Literal (por enésima vez lol)

#Talug: Tag reservado para referirme al Grupo de usuarios Linux del Estado Táchira , no confundirlo con este otro lug

#MusicMonday: En ocasiones se abrevia #MM , y es referente a las recomendaciones musicales que se hacen los lunes. Si decides seguirme, veras desde #OST (banda sonoras) hasta música clásica.

#FollowFriday: Los viernes se hace este evento, donde recomendamos a los que se han portado bien (u mal en raros casos) para que lo sigan. Aunque se abrevie #FF yo pensaba que era otra cosa al principio.

#HardStyle: Uno de los variados géneros del mundo de la música electrónica.

#Jumping: Por lo general lo digo cuando ando escuchando alguna sesión de 40-70 minutos de #HardStyle

#Poesia: En mi caso, son extractos de poemas que , generalmente leo y poseo en casa. Y como en Twitter son 140 caracteres, es un reto mayor, escoger que verso tomar sin perder el sentido. Claro, si lo pongo ente comillas, es que esta en Internet. El tag lo comencé a usar luego de que comencé a ver tweets amorosos de @Lauradark y @Perliux

#Unet: Tag especialmente referente al entorno de la Universidad Nacional Experimental del Táchira.

#Vzla, #Sc: Sc es San Cristóbal, pero como hay ya varias ciudades con ese nombre en el mundo, no lo dejo de acompañar con Vzla. Eso sería para un update regional.

#SpeedyPuto: #Yoconfieso que la primera vez que lo ví pensé que odiaban a Speedy Gonzalez, pero después de mucho mirar, me di cuenta que Speedy es un proveedor de Internet y se gana sus cuatros letras con odio estrógeno-infernal cuando se pone mas lento que maratón de caracoles. Ejemplo vía un RT hecho a un tweet de @jessy_slayer

#LOL: Lo explico??

#Fb: Ese tag es usado por personas que poseen Faceb00k y usen la aplicación "Selective Twitter Status" Ejemplo

#modoCurioso: Suelo usarlo para preguntar el significado de una palabra que no uso en mi léxico, pero otra persona en otro país si.

#frasesenlabuseta: Frases para posteridad que escucho en la buseta

#Cosasquemedicen: a veces en medio de las conversaciones reales, se cuela una frase interesante y que no perdono dejarla al olvido y la publico sin aditivos adicionales. Ejemplo

#Cosasqueescucho: No lo niegues, tenemos a una "Mafalda" en el interior, escuchando todo lo que se dice en los pasillos, en la TV y en la radio. Ejemplo

#nobuscas****: Un día como cualquiera, a @demente le dio ganas de twittear y comenzó a colocar tags como si fuese el el día del juicio final (xD ) y .. bueno los ejemplos es explicito.

#bitdelavida: Este tweet lo define muy bien.

#nolosopolte: Tag que atribuyo a @ciscoinc , en la cual se expresa el repudio a algo que no nos gusta. Ejemplo

#peliculasquevendran #peliculasquevienen: A que no has soñado con estas películas? Bueno Pongo en este tag, bromas condensadas a modo de películas de Harry Potter u de cualquier vaina. Ejemplo

#vinotinto: Cuando gana , cuando pierde, cuando damos animo a la selección Nacional de fútbol de Venezuela, de cariño, la Vinotinto!!!!!

#frasesvintage: Frases que aun se usan y que no pierden su vigencia. Ejemplo

#DudasFilosofales: Muy explicito el tag. Ejemplo

Si deseas conocer el significado de un tag y no lo ves acá revisa TagDef

Créditos: Agradecimientos a @laquesefue , @Amandysha , @Perliux , @jessy_slayer , @LauraDark , @Vardita , @demente y @ciscoinc por basarme en algunos de sus tweets para publicar este post. ^_^

Si te gustó el post y tienes Twitter. ¿Que esperas para seguirme?

Pd: Este post es como un #Yoconfieso #Lol
Pd2: Los créditos parecen un FollowFriday #Lol

Actualización: No esta de más decirlo: ¿Que esperan para seguir a quienes mencioné en los créditos? @Amandysha se pondrá feliz, hasta hizo dos comentarios al post.