El blog de Tomas

Tutorial sobre Symfony

Les dejo la primer parte de un tutorial sobre Symfony, el framework PHP, que me resulto muy util para empezar a entender como funciona esta herramienta.

Liberando memoria en GNU/Linux

Interesante post de Técnicos Linux

Linea de tiempo de distribuciones de Software Libre

Ya ha circulado por muchos blogs, pero como esta tan bien elaborada, postearla es casi como un reconocimiento a quienes se tomaron el trabajo.

El enlace, aquí.

Compartiendo enlaces: Leyendo un poco sobre la industria discografica

Les dejo un enlace interesante sobre algunas cuestiones relacionadas con el antagonismo que día a día surge entre las discográficas y librerías tradicionales respecto a lo que progresivamente se va imponiendo en Internet.

Quiero aclarar que no soy tan positivo como la nota, dado que he visto como se están empezando a conspirar organizar los artistas que han sido beneficiarios de estos modelos trogloditas, y otros artistas que, me parece, que están siendo muy mal informados.

De algo estoy seguro: Además de perder nosotros, los consumidores de la cultura, los artistas son grandes perdedores, aunque muchos no se den cuenta. Porque el mercado de estereotipos y de popularidad moldea ideas, estilos, etc… (aunque no ellos ni muchos no se den cuenta). Lo hace lentamente, y hasta puede tolerar algún Sr. Cobranza de vez en cuando. Pero que te redefine como artista, te redefine.

Ubuntu: Listar los archivos que se instalaron con un Paquete de los repositorios

Pequeño tip, que cuando se necesita nunca tengo a mano :-P :

$ dpkg -L <nombre_de_paquete>

Por ejemplo:

$ dpkg -L nautilus
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/nautilus
/usr/share/doc/nautilus/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/nautilus-connect-server.1.gz
/usr/share/man/man1/nautilus.1.gz
/usr/share/man/man1/nautilus-file-management-properties.1.gz
/usr/share/menu
/usr/share/menu/nautilus
/usr/share/applications
/usr/share/applications/mount-archive.desktop
/usr/share/applications/nautilus-computer.desktop
/usr/share/applications/nautilus.desktop
/usr/share/applications/nautilus-autorun-software.desktop
/usr/share/applications/nautilus-folder-handler.desktop
/usr/share/applications/nautilus-browser.desktop
/usr/share/applications/nautilus-file-management-properties.desktop
/usr/share/applications/nautilus-home.desktop
/usr/share/applications/network-scheme.desktop
/usr/bin
/usr/bin/nautilus-autorun-software
/usr/bin/nautilus-file-management-properties
/usr/bin/nautilus-connect-server
/usr/bin/nautilus
/usr/lib
/usr/lib/nautilus
/usr/lib/nautilus/nautilus-convert-metadata
/usr/share/doc/nautilus/AUTHORS
/usr/share/doc/nautilus/NEWS.gz
/usr/share/doc/nautilus/README
/usr/share/doc/nautilus/THANKS.gz
/usr/share/doc/nautilus/TODO
/usr/share/doc/nautilus/changelog.Debian.gz

Cliente DAAP y Songbird

Recuerdan el Post donde les mostré como monte un servidor DAAP casero en Ubuntu??

Resulta que la otra vez quise volver a probar Songbird, que básicamente es un reproductor de audio basado en Firefox (En realidad manejan el mismo motor de software interno).

Me lo bajo e instalo (no hay paquete en los repositorios de Ubuntu), y busco si tiene algún plugin para cliente DAAP. Encuentro dos clientes, pero con tanta mala suerte que son para versiones viejas y no me deja instalarlo en la actual.

Como toda mi musica la tengo a través del servidor DAAP, entonces casi que tenia que poder instalar el plugin o el reproductor no tenia sentido. Intento bajarme una versión mas vieja del programa, pero vaya a saber uno porque, resulta que a los muchachos de Songbird se le cruzo que lo mejor era no publicar versiones antiguas.

Como no tenia ganas de renegar demasiado, me dispuse a fijarme si era sencillo retocar el plugin para ver si podía hacer que la verificación de la versión no se lleve a cabo.

En efecto, descargue y abrí el archivo con extensión .xpi (que resulto ser un archivo comprimido) y luego dentro abrí con un editor de texto el archivo install.rdf. Ahí dentro encontré la siguiente sección:

<em:targetApplication>
     <Description>
          <em:id>songbird@songbirdnest.com</em:id>
          <em:minVersion>1.0.0pre</em:minVersion>
          <em:maxVersion>1.3.0a</em:maxVersion>
     </Description>
</em:targetApplication>

Y creo que esta claro. En donde decía em:maxVersion> que contenía 1.3.0a lo cambie por 1.5.0a (La versión actual de Songbird va por la 1.4 y pico).

Hecho lo anterior, intento instalar el plugin, y no solo que no se queja, sino que instala y funcionó de maravilla.

Les dejo en este enlace el plugin para Songbird que agrega soporte como cliente DAAP. Recuerden que no me hago cargo por su descarga y utilización ;-)

Nautilus y directorios network:/// en Debian Sid

La otra vez, en la maquina del laburo, que tengo instalado Debian Sid, quise acceder a la parte de Red que ofrece Nautilus, donde se puede acceder a la LAN a la que estamos conectados, etc…

Mi sorpresa fue grande al recibir un mensaje de error que decia mas o menos lo siguiente:

No se pudo mostrar «network:///».
Nautilus no puede manejar lugares «network».

Comento del error en la lista de usuarios de UNLUX, y en el correr de la mañana, gracias a Ezequiel, pudimos dar con la respuesta.

La solución es instalar el paquete gvfs-backends via aptitude. Instalado dicho paquete, pude ver la LAN desde Nautilus.

PD: También funciona con Ubuntu.

Mas chuletas sobre comandos Linux

Les dejo el enlace a muchos documentos conocidos como chuletas, en este caso, sobre comandos de GNU/Linux

PostgreSQL, Debian Sid y una reinstalacion fallida

La otra vez decidí probar la ultima versión de PostgreSQL, la 8.4, que en dicho momento hacia relativamente poco que acababa de salir.

Borre la 8.3, e instale la nueva versión, que hacia poco tiempo había ingresado en los repos de Debian Sid.

Pareció que todo había salido perfecto, pero me queria conectar a la BD vía psql y no funcionaba. Me decía que el server no estaba andando.

Intente pararlo e iniciarlo manualmente pero no respondía. En realidad, no tiraba ni error ni nada, pero luego del clásico

# /etc/init.d/postgresql-8.4 start
#

Me devolvía el prompt enseguida como si nada hubiera pasado. Charlando con un amigo del laburo, este me hace notar que podía estar habiendo un problema en la creación del cluster, cosa que hasta ahora no me había ocurrido nunca.

Pero en efecto, cuando cree el nuevo cluster el servidor levanto sin problemas. Les paso lo que tuve que hacer:

tomas@tomas-debian:~$ sudo pg_createcluster 8.4 main
[sudo] password for tdelvechio:
Creating new cluster (configuration: /etc/postgresql/8.4/main, data:
/var/lib/postgresql/8.4/main)...
could not change directory to "/home/tdelvechio"
Moving configuration file /var/lib/postgresql/8.4/main/postgresql.conf
to /etc/postgresql/8.4/main...
Moving configuration file /var/lib/postgresql/8.4/main/pg_hba.conf to
/etc/postgresql/8.4/main...
Moving configuration file /var/lib/postgresql/8.4/main/pg_ident.conf
to /etc/postgresql/8.4/main...
Configuring postgresql.conf to use port 5432...
tomas@tomas-debian:~$ sudo /etc/init.d/postgresql-8.4 start
Starting PostgreSQL 8.4 database server: main.
tomas@tomas-debian:~$

Espero que les sirva.

Tamaño de una base de datos en PostgreSQL

La otra vez, por un requerimiento del trabajo, tenia que pasar en un informe el tamaño de una Base de datos de PostgreSQL de un sistema interno que estoy manteniendo.

Nunca me había puesto a pensar, pero PostgreSQL no es como otras bases de datos (como Firebird) que tienen un archivo único por cada base de datos, sino que maneja las DB de una manera interna.

No voy a emitir juicio de valor sobre las ventajas y desventajas de una u otra forma, lo que era claro que para lo que tenia que obtener, la cosa no iba a ser tan fácil.

O eso creía. La cuestión esta resuelta en esta pagina y el script es el siguiente:

SELECT pg_database.datname,
       pg_shadow.usename AS owner,
       pg_database_size(pg_database.datname) AS size,
       pg_size_pretty(pg_database_size(pg_database.datname)) AS pretty_size
FROM pg_database
JOIN pg_shadow ON pg_database.datdba = pg_shadow.usesysid;

Obtenemos así un listado donde la primer columna contiene el nombre de cada DB y la ultima columna nos da el tamaño en Bytes de dicha DB.

Resta comentar que es necesario ser administrador de PostgreSQL para ejecutar el script, o que nuestro usuario tenga permiso de lectura sobre la tabla pg_shadow.

Anteriores

El blog de Tomas es gestionado con TextPattern

El estilo Sangre Brillante es una creación de Jonathan Emanuel Lewenhaupt

Code is poetry