Posts tagged ‘audiosum’

Qué falló durante mi plática en el SFD2008

A todas las personas que estuvieron presentes en la plática “Invitación al Desarrollo del Software Libre”:

Quiero expresar mi agradecimiento por su presencia en mi plática; en general, en el evento SFD 2008 en Tijuana.

Recordarán que al terminar la presentación realicé en vivo un cambio al código de audiosum; específicamente, al componente audiodup. Con este cambio busqué mostrarles de manera práctica un ejemplo de cómo se desarrolla en el mundo del software libre mediante Git.

También recordarán que el experimento no funcionó del todo:

  1. descargamos el código desde repo.or.cz con git clone http://repo.or.cz/audiosum.git,
  2. compilamos audiosum y lo vimos funcionando con ./autogen.sh && ./configure && make,
  3. realizamos un cambio en audiodup,
  4. mostramos el parche resultante con git diff,
  5. revisamos el estado del repositorio local con git status,
  6. aplicamos el cambio en el repositorio local con git commit -a,
  7. observamos las diferencias entre el repositorio local y el repositorio público con git log origin..master,
  8. pero no pudimos publicar el cambio con git push.

El motivo fue muy sencillo: no tenía autorizada la laptop para enviar cambios al repositorio. En repo.or.cz se deben dar de alta las claves públicas de cada persona@computadora autorizada para enviar cambios. Tengo diferentes claves públicas en cada máquina, y sólo tenía dada de alta la PC del trabajo y la PC de la casa. Mi cuenta de la laptop no estaba autorizada para enviar cambios.

Finalmente el cambio fue aplicado con git push y pueden observar en el historial de cambios de audiosum el cambio “Added support for file pattern matching“. En el segundo enlace pueden ver que la fecha es del 13 de septiembre a las 17:56, hora local, es decir, que el commit fue realizado durante la conferencia.

Saludos.

audiosum 0.2

Ok, audiosum ha sido un excelente conejillo de indias para aprender Git, GNU Autoconf y GNU Automake. Los dos últimos me parecen demasiado confusos todavía, pero ahí la llevo.

Y se han hecho varios cambios, principalmente:

  • Se corrigió un horrible bug donde los archivos que se abrían no se cerraban, tipo memory leak, pero de descriptores.
  • Se añadió una opción, -b, para indicar que sólo se desea la firma de una parte del archivo (dado en porcentaje). Si se usa -b sin un valor, imprime sólo el tamaño del audio del archivo.
  • Se añadió una opción, -a, para indicar qué algoritmo de hash usar, como md5, sha1, etc.
  • Mejores mensajes de ayuda.
  • Se incluye audiodup, un script para encontrar duplicados más cómodamente.

El script audiodup trabaja de manera eficiente:

  1. Genera una lista de archivos a analizar, según las rutas indicadas.
  2. (Primera etapa) Descarta los archivos no duplicados según su tamaño.
  3. (Segunda etapa) Descarta los archivos no duplicados según el primer 2% del contenido.
  4. (Tercera etapa) Descarta los archivos no duplicados según el contenido completo.
  5. Los archivos restantes son duplicados. Se agrupan y se presentan.

Ejemplo de uso de audiodup, para buscar mp3 duplicados en $HOME y /mnt/music:

audiodup $HOME /mnt/music

Ejemplo de uso de audiodup, usando sha1 y que revise el 5% en la segunda etapa:

audiodup -a sha1 -b 5 $HOME /mnt/music

Descarga en .tar.gz: audiosum-0.2.tar.gz