Un blog mas

Bitácora de vuelo

>

>Luego de buscar un dispositivo que tenga la misma funcionalidad que el Airport Express pero sin una manzanita en su logo (por filosofías incompatibles con mi sistema operativo), terminé resignado a instalar este aparatito de Apple y dispuesto a darle batalla con mi Ubuntu 9.04.
El primer paso luego de la instalación es verificar si funciona, y el camino mas corto para ello era sin lugar a duda instalar el soft original en una máquina VMWare con XP.
Las caracteristicas del Airport sobrepasan la reproducción de música vía mi tarjeta wireless, ya que entre otras cosas se puede compartir una impresora por el puerto usb, con algunas restricciones también un disco usb externo, se puede configurar el mismo para hacer de cliente de nuestro AP wireless, ampliar la misma o crear una nueva dejando al airport como AP.
Ahora, después de configurarlo para que se integre con mi red (WPA2) sin problemas, y reproducir algun que otro mp3 desde el iTunes, se veía venir lo peor. Que todo ese sonido lo genere una aplicación Ubuntera. Para ello nos vamos a apoyar en una aplicación desarrollada por Jon Lech Johansen (más conocido como DVD Jon) a partir de ingeniería inversa, luego de analizar el streaming de Audio del Airport Express.
Dicha aplicación se llama Raop Play y para poder compilarlo necesitamos tener instalados algunos paquetes en nuestro Linux. Para ello, desde una consola ejecutamos:

[pablo@laptop]# sudo apt-get install gcc g++ libssl-dev libssl0.9.8 libfltk1.1 libfltk1.1-dev libglib2.0-0 libglib2.0-dev libsamplerate0 libsamplerate0-dev libid3tag0 libid3tag0-dev

Para poder reproducir todos los formatos debemos tener instalado también:

[pablo@laptop]# sudo apt-get install mpg321 ogg123 faad flac

Los fuentes del Raop Play se pueden descargar de: http://raop-play.sourceforge.net/

Luego de descomprimir el .tar.gz nos ubicamos en su carpeta y ejecutamos el siguiente comando:

[pablo@laptop]# ./configure

[pablo@laptop]# make

[pablo@laptop]# sudo make install

Cuando hacemos el ./configure nos fijamos en los mensajes que se van mostrando, por si hay algún error que sepamos qué nos falta o qué tenemos que hacer. En mi caso descubrí que no tenía el compilador de C++ instalado, ya que no lo encontraba en la compilación.

Bueno, ya podemos hacer streaming de audio por línea de comandos, pero nuestro objetivo es poder configurar un cliente de música, como Amarok, para hacer el streaming. Si queremos ver que todo funciona podemos comprobarlo en el terminal, siempre y cuando el Airport Express esté conectado correctamente a la red:

[pablo@laptop]# aexcl_play –aexip «la-IP-de-nuestro-Airport-Express» «directorio-de-musica»

Esto nos abrirá un pequeño interfaz gráfico para manejar la música que estamos reproduciendo a través del Airport.

Sin mas complicaciones brotó de los parlantes el sonido esperado.

Suerte!

Fuente: http://raop-play.sourceforge.net/

>Despues de migrar mi sistema la ejecucion del vmWare Workstatio se demoro unos minutos por la siguiente falla (según syslog):

vmwarvmwaree-modconfi[8010]: segfault at 0

Lo que se resolvió inmediatamente ejecutando las siguientes dos lineas:

sudo mv /usr/lib/vmware/modules/binary /usr/lib/vmware/modules/binary.old
sudo vmware-modconfig –console –install-all

Saludos!

>Les dejo un «extracto» del código para acceder a los datos del usuario logueado en nuestro Joomla. Muy bueno para que, por ejemplo, puedan acceder a nuestra aplicación externa solo usuarios logueados al CMS.

miAplicacion.php

define( ‘_VALID_MOS’, 1 );

require_once( ‘../configuration.php’ );
require_once( ‘../includes/joomla.php’ );

$mainframe = new mosMainFrame( $database, $option, ‘.’ );
$mainframe->initSession();
$my=$mainframe->getUser();

//$my->gid = 0 ==> the user is not logged in
//$my->gid = 1 ==> the user is a registered user
//$my->gid = 2 ==> the user is a special user

echo «Estado de logon: » .$my->gid;
echo «Id de usuario: » .$my->id ;
echo «Nombre de Usuario: » . $my->username ;
echo «Tipo de Usuario: » . $my->usertype;
echo «E-mail: » . $my->email ;
echo «Parametros: » . $my->params ;
echo «Nombre: » . $my->name ;
echo «Bloqueado?:» . $my->block;
echo «Fecha de Registro: » . $my->registerDate;
echo «Fecha de última Visita: » . $my->lastvisitDate;

?>

>Luego de tener corriendo el Syslog-Ng en nuestros servidores, quise realizar un «Reload Search Cache» y me retornó un mensaje de:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /usr/share/syslog-ng/includes/common_funcs.php on line 203

Lo primero que intenté fué modificar el valor por default de memory_limit en el php.ini agrandando este mismo hasta 1Gb, cuando imaginé que la solución tendría que venir por otro lado. Al parecer existe un bug en el código fuente del phpSyslog-ng en el archivo common_funcs.php por suerte de fácil solución:

Debemos reemplazar la línea 199

$sql = "SELECT program FROM ".$table." WHERE program RLIKE
'^[a-zA-Z]+[a-zA-Z0-9/()._\-]+$'";

por:

$sql = "SELECT DISTINCT program FROM ".$table."
WHERE LENGTH(program)<80>

luego de correr la actualización se pudo recargar el cache de servidores.


"The search cache has been updated."



Stop SOPA