Archivo de Julio 2009

h1

Tripod: Comic Girl

28/07/09

Hace tiempo ya puse un video de Tripod. Son geniales.

Visto en Makarras (hay más videos).

h1

HowTo: Sockso en Ubuntu Server

27/07/09

¿Recordáis aquel ordenador que tengo debajo del sofá con el MLDonkey? Pues he decidido exprimirlo un poco más: le he instalado el Sockso. Este programita no es otra cosa que un servidor que almacena y organiza tus emepetreses. No tiene GUI. Para acceder a la colección de música solo necesitas acceder al servidor por medio de un navegador web por lo que puede ser accesible desde cualquier ordenador que tenga Internet.

Al lío.

Instalación de MySQL y Java

El propio programa trae una BBDD embebida pero parece que cuando maneja colecciones grandes de música se ralentiza bastante por lo que me he decantado por usar MySQL:

root@elburro:~# aptitude install mysql-server sun-java6-bin sun-java6-fonts sun-java6-jre

Durante la instalación te pedirá la contraseña del usuario root de MySQL.

Ahora nos conectamos al MySQL para crear la BBDD. No es necesario crear ninguna elemento de la BBDD, el propio programa los creará la primera vez que arranca::

root@elburro:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51a-3ubuntu5.4 (Ubuntu)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> create database socksodb;
Query OK, 1 row affected (0.00 sec)

mysql>

Instalación del Sockso

root@elburro:~# wget http://sockso.pu-gh.com/downloads/sockso-latest.zip

root@elburro:~# unzip sockso-latest.zip

root@elburro:~# cp -r sockso-1.1.8/ /opt/sockso

root@elburro:~# mkdir /var/sockso

root@elburro:~# chmod -R 0755 /var/sockso

Con estos comandos lo que hemos hecho es: bajarnos la última versión, descomprimir el zip, copiarlo a “/opt/sockso”, crear el directorio “/var/sockso” y darle premisos de ejecución.

Al ser nuestra instalación con MySQL necesitamos descargar e instalar unas librerías adicionales:

root@elburro:~# wget http://sockso.pu-gh.com/downloads/sockso-optionals.zip

root@elburro:~# unzip sockso-optionals.zip -d /opt/sockso/lib-opt

Ahora nos vamos a editar el script de arranque para acondicionarlo a nuestro entorno:

root@elburro:~# cd /opt/sockso/scripts/init.d/

root@elburro:/opt/sockso/scripts/init.d# cp -p sockso sockso.pl

root@elburro:/opt/sockso/scripts/init.d# vi sockso.pl

Basicamente, hay que editar las siguientes líneas para que queden así (cambiando micontraseña por la contraseña que pusiste en el MySQL):

use constant SOCKSO_DIR => “/opt/sockso/”;

system( ’sh linux.sh –nogui –datadir /var/sockso –dbtype=mysql –dbhost=localhost –dbuser=root –dbpass=micontraseña –dbname=socksodb > /dev/null 2>&1 &’ );

Pego el script completo para que quede más claro:


#!/usr/bin/perl

###########################################################
###########################################################
#
#  Edit this constant to point to your Sockso directory
#

use constant SOCKSO_DIR => "/opt/sockso/";

#
###########################################################
###########################################################

use strict;

my $cmd = shift();

if ( $cmd eq "start" ) { start(); }
elsif ( $cmd eq "stop" ) { stop(); }
elsif ( $cmd eq "restart" ) { restart(); }
else { usage(); }

sub start {

chdir( SOCKSO_DIR );
system( 'sh linux.sh --nogui --datadir /var/sockso --dbtype=mysql --dbhost=localhost --dbuser=root --dbpass=micontraseña --dbname=socksodb > /dev/null 2>&1 &' );

}

sub stop {

my $pid = `ps x | grep sockso.jar | grep -v grep`;
$pid =~ s/^\s*(\d+) .*/$1/;

if ( $pid ) {
`kill -9 $pid`;
}

}

sub restart {
stop();
sleep( 2 );
start();
}

sub usage {
print <<EOF;

Usage: sockso (start|stop|restart)

EOF
}

Pues ya está todo lo básico. Vamos a probar si funciona:

root@elburro:~# cd /opt/sockso/scripts/init.d

root@elburro:/opt/sockso/scripts/init.d# ./sockso.pl start

Si todo ha ido bien debemos poder acceder desde el navegador al puerto 4444 de nuestra máquina:

http://IP:4444

Y veremos el home del Sockso:

Sockso Home

¡A disfrutar! :)

Añadiendo repositorios de música

Para decirle al Sockso donde está nuestra música tenemos que hacerlo desde la consola. Primero nos aseguramos de que está parado:

root@elburro:~# cd /opt/sockso/scripts/init.d/

root@elburro:/opt/sockso/scripts/init.d# ./sockso.pl stop

Y ahora arrancamos el Sockso “manualmente” para acceder a la consola (ojo a la contraseña):

root@elburro:/opt/sockso/scripts/init.d# cd /opt/sockso/

root@elburro:/opt/sockso# sh linux.sh –nogui –datadir /var/sockso –dbtype=mysql –dbhost=localhost –dbuser=root –dbpass=micontraseña –dbname=socksodb

La línea de comandos del Sockso es muy sencilla (teclea help para ver los comandos). Para añadir un directorio en el que estén los MP3 escribimos:

#SoCkSo#> coladd /directorio/de/mis/emepetreses
Directory added!
#SoCkSo#>

Si accedemos ahora al Sockso deberíamos ver nuestra colección de MP3. Ya solo tenemos que salir y arrancar el Sockso de forma normal.

Arrancar / parar Sockso con la máquina

He creado el siguiente script para controlar Sockso como un servicio:

#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          Sockso
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Servidor de musica Sockso.
# Description:       Servidor de musica Sockso.
### END INIT INFO

perl /opt/sockso/scripts/init.d/sockso.pl $1

exit 0

Para instalarlo sólo hay q copiarlo al “/etc/init.d” y añadirlo como servicio:

root@elburro:~# cd /etc/init.d

root@elburro:/etc/init.d# vi sockso

(Pegamos el contenido del script y salimos guardando)

root@elburro:/etc/init.d# update-rc.d sockso defaults
Adding system startup for /etc/init.d/sockso …
/etc/rc0.d/K20sockso -> ../init.d/sockso
/etc/rc1.d/K20sockso -> ../init.d/sockso
/etc/rc6.d/K20sockso -> ../init.d/sockso
/etc/rc2.d/S20sockso -> ../init.d/sockso
/etc/rc3.d/S20sockso -> ../init.d/sockso
/etc/rc4.d/S20sockso -> ../init.d/sockso
/etc/rc5.d/S20sockso -> ../init.d/sockso
root@elburro:/etc/init.d#

Pendiente

Si bien el programa está genial, tiene un pero bastante gordo que si no consigo solucionar lo hará inservible: todos los MP3 que tengan algún carácter raro (acentos, ñ, …) no se almacenan en la BBDD. Esto aplica tanto al nombre del archivo como a los MP3Tag.

Leyendo el foro he encontrado un alemán que solucionó el problema borrando la línea:

update( ” set names utf8 ” );

Del fichero MySQLDatabase.java y recompilando. Después de mucho googlear he conseguido recompilar pero no me funciona la aplicación… A ver si engaño a alguno de esos locos programadores para que me eche una mano…

Cualquier ayuda será bienvenida :)

Biliografía: Sockso, Samiux’s Blog.

root@elburro:~# cp -r sockso-1.1.8/ /opt/sockso
h1

Today was a good day

21/07/09

Buenísimo anuncio de Nike con P. Rod y Ice Cube:

P. Rod es una máquina. Alguna escena parece 3D de lo perfecto que está hecho el truco. En yutub tienes muchos videos de este fiera.

Vía Nerviosismo.

h1

Peor que satánico

20/07/09

Si pones un CD de Microsoft al revés se oyen cosas satánicas…….. pero eso no es nada: si lo pones del derecho te instala Windows!

Leído aquí, por casualidad, mientras buscaba información sobre Avahi.

h1

United Breaks Guitars

14/07/09

Esto de Internet sigue teniendo la capacidad de sorprenderme.

¿Qué puedes hacer si en un viaje en avión te rompen la guitarra que facturaste y la compañía aérea, después de nueve meses, sigue pasando de tu culo?

Pues a Dave Carrol, como músico que es, se le ocurrió colgar una canción contando su historia en el Youtube (he encontrado una versión con subtítulos en inglés, la original aquí):

Lo que no creo que se esperara es que su vídeo tuviera 2 millones de visitas la primera semana. Vamos, una feroz campaña viral anti United Airlines, la compañía aérea en cuestión.

Como decía el anuncio de Aquarius, los humanos somos imprevisibles.

Por supuesto, la United ya se ha puesto en contacto con Carrol. La historia completa.

Vía Webmaníacos.

h1

Tuning II: la pantalla OLED

11/07/09

Nota: este documento sólo pretende ser un guiaburros que me sirva de chuleta. Si copipasteas los comandos sin saber lo que significan no aprenderás nada. Tú decides.

Partimos de un Asus G50v con una openSUSE 11.1 y KDE 4.1. Además, necesitamos tener estas aplicaciones instaladas:

  • java-1_6_0-sun (Java 6 Runtime Environment)
  • subversion
  • make
  • gcc
  • netcat-openbsd

Al lío. Nos bajamos la última versión del driver:

cd /usr/src/

svn co svn://svn.berlios.de/lapsus/asus_oled/trunk asus_oled

Y la instalamos:

cd asus_oled

make

sudo su

make install

rmmod usbhid

modprobe asus_oled

modprobe usbhid

dmesg | grep  -i asus

Si todo ha ido bien, el último comando debe devolver algo similar a esto:

[   23.216917] asus-oled 4-4:1.0: Attached Asus OLED device: G50 [width 256, pack_mode 1]
[   23.216933] usbcore: registered new interface driver asus-oled

Ya tenemos el driver instalado. Ahora vamos a instalar el demonio que controlará la pantalla.

cd /opt

wget http://asusg50oled.sourceforge.net/download/asusg50oled.tgz

tar -xzf asusg50oled.tgz

cd asusg50oled

./start.sh

cd utils

./install.sh

Si todo ha ido bien,  nuestra pantallita oled debería tener un aspecto similar a este:

asus_oled_g50

(Imagen tomada de MonALISA)

Amarok y Kafeine en la pantalla OLED

Con los siguientes comandos haremos que tanto el Amarok como el Kafeine muestren lo que están reproduciendo en la pantalla oled:

$ dcop –all-users amarok player title
$ dcop –all-users kaffeine KaffeineIface title

Lo sé, es una pijotada que no sirve para nada… pero es tan chulo… xD

asus_oled_amarok_kaffeine

(Imagen tomada de AsusG50OLED)

Kopete en la pantalla OLED

Nota: aún no he conseguido que el Kopete escriba en la pantalla OLED pero aquí cuento mis avances :)

Hay un problemilla con el script que hará que los nuevos mensajes de Kopete se muestren en la pantalla. Parece que la versión del netcat que usó el que hiciera el script es diferente de la que viene con openSUSE. El netcat original debía tener una opción “-q” q no existe en el que tengo yo. Cuando intento ejecutarlo, me peta porque no reconoce el parámetro “-q”. El script en cuestion es el “notify.sh”, y la única modificación que he hecho es esta:

#!/bin/bash
while [ ! -z "$1" ]; do
 echo "text $1"
 shift
#done | nc -u -q 0 -n 127.0.0.1 1196
done | nc -n 127.0.0.1 1196

Como ves, lo único que he hecho es quitarle el “-q 0″ por lo ya comentado y el “-u”. Este último parámetro sirve para utilizar UDP en vez de TCP pero el script no me devuelve el prompt si está este flag así que lo quitamos y listos.

Puedes comprobar si funciona ejecutando el típico:

./notify.sh Hola Mundo

Ahora vamos al Kopete, menú Preferencias -> Configurar las notificaciones. Buscamos en la columna de la izquierda “Mensaje entrante” y activamos la opción de “Ejecutar la orden” y escribimos:

/opt/asusg50oled/utils/notify_kopete.sh %s

Se supone que con esto debería funcionar pero, como he dicho al principio, a mi no me va. Queda pendiente trastear un poco más el Kopete.

Thunderbird en la pantalla OLED

Por lo visto se puede configurar el Thunderbird para que escriba también la pantalla OLED. Sin embargo yo no uso ningún cliente de correo así que a esta parte le he echado un vistazo rápido y poco más. En el README del demonio tienes más información si te interesa.

Bibliografía: AsusG50OLED, Asus OLED Driver

h1

Made in China

9/07/09

Qué poco pesan los derechos humanos frente al made in China.

Don Frenando, aka Fernando Ónega, esta mañana en Herrera en la Onda.

h1

Como alegrar una mañana de lunes

6/07/09

Una de las muchas listas de spam a las que estoy apuntado es la de portaldvdr.net. Esto no tendría nada de especial si no fuera por las risas que me he echado esta mañana al llegar a la oficina encontrarme la siguiente cadena de emilios:

Correo 1:

De: PortalDVDR

Para: lista

Típico correo de publicidad con diferentes ofertas.

Correo 2:

De: Fulanito.

Para: lista.

Hola,

Hasta el proximo lunes 13 de julio voy a estar fuera de la oficina. No voy a disponer de acceso a Internet y tendré limitaciones para el uso del telefono móvil.

Para cualquier asunto, puede ponerse en contacto con Pepito Pérez en el XXXXXXXX.

Siento las molestias. Gracias.

Correo 3:

De: Menganito.

Para: lista.

A mí lo que me gustaría saber es quién es el inútil que administra esta lista de correo que no hay manera de darse de baja, y cualquiera puede escribir mensajes cuando se supone que para lo único que debería servir es para enviar Spam por parte de portaldvdr.net.

En encargado de administrar la lista por favor que la revise y la ponga en orden, y ya que estamos que me de de baja.

No he podido contener la risa al leerlo. Muchas gracias a todos los participantes por alegrarme la mañana de lunes.

h1

Como te iba diciendo…

1/07/09