domingo, 27 de junio de 2010

Unix Power Tools

Este es uno de los libros más interesantes que me he encontrado sobre sistemas Unix (incluyendo a Linux y Mac OS). No es un texto estructurado como un manual o tutorial de aprendizaje ni tampoco la típica referencia basada en documentación técnica oficial. Es una especie de compendio de conocimiento teórico y (sobre todo) práctico sobre Unix y los mecanismos y herramientas que lo hacen tan potente. Eso sí, requiere un dominio básico de la interfaz de comandos de este tipo de sistemas y cierta familiaridad con sus características principales para poder aprovechar el potencial de sus más de 1000 páginas:




Aquí podemos ver la ficha en la web de su editorial y aquí pueden descargarse los ejemplos. A pesar de que el "tocho" lleva 8 años sin actualizar, sigue siendo altamente recomendable como prueban las reseñas que aún cosecha en Amazon.

A continuación incluyo como muestra mi traducción libre de algunos pasajes interesantes de sus capítulos introductorios donde se habla de la "filosofía Unix". Puede que en el futuro caigan algunos más si el tiempo lo permite...

¿Que tiene Unix de especial?

[...]
Unix es único en el sentido de que no fue diseñado como un sistema operativo comercial destinado a ejecutar programas de aplicación, sino como un juego de herramientas para el hacker, por y para programadores. De hecho, una versión temprana del sistema operativo se llamó PWB (Programmer's Work Bench) o "banco de trabajo del programador".

Cuando Ken Thompson y Dennis Ritchie programaron la primera versión de Unix en los laboratorios Bell de AT&T fue para su propio uso y para sus amigos y colegas de trabajo. Varias personas fueron añadiendo utilidades según se les presentaron nuevos problemas a resolver. Como Laboratorios Bell no estaba en el negocio de los ordenadores se cedió el código fuente a las universidades por una tasa simbólica. Brillantes investigadores escribieron su propio software y lo fueron añadiendo a Unix en una oleada de anarquía creativa[...]

Unix también es importante para usuarios avanzados porque es uno de los últimos sistemas operativos populares que no te obliga a trabajar con una interfaz de menús, ventanas y ratón de "talla única". Sí, puedes hacerlo si quieres y te harán ahorrar tiempo en muchos casos. Pero Unix también te da una serie de piezas que con algo de formación y práctica te proporcionarán más opciones de las que cualquier diseñador de software pueda meter en un conjunto de menús. Si aprendes a usar Unix y sus utilidades desde la línea de comandos, no tendrás que ser programador para hacer cosas muy potentes con unas pocas pulsaciones de teclado.
[...]

La fuerza crece en ti

Se ha llegado a decir que Unix no es tanto un sistema operativo como una forma de pensar. En "The UNIX programming environment", Kernighan y Pike escribieron que en el corazón de la filosofía Unix está la idea de que "la potencia de un sistema le viene más de las relaciones entre los programas que de los programas en sí mismos."
La mayoría de las utilidades no gráficas que se han venido usando en Unix desde el principio, hace más de 30 años, comparten la misma interfaz de usuario. Es una interfaz mínima, la verdad --pero permite conectar entre sí los programas en tuberías para llevar a cabo tareas que ningún programa podría realizar por sí mismo.
[...]
Un usuario novato empieza empalmando tuberías de comandos sencillas y cuando se hacen demasiado largas, salvándolas para su posterior ejecución en un archivo, alias o función del shell. Gradualmente, si el usuario tiene el carácter adecuado, capta la idea de que el ordenador puede hacer más de la parte aburrida de muchas tareas. Quizá empiece usando un bucle for para aplicar el mismo script de edición a un conjunto de archivos. Luego seguirán condiciones y bloques case y pronto se sorprenderá a sí mismo programando.
[...]
Puedes salir de los límites impuestos por las herramientas que proporciona el sistema y resolver problemas que no encajan en el molde. A esto se le llama a veces hacking; en otros contextos se le llama simplemente "ingeniería". En esencia es la habilidad para construir una herramienta cuando no tienes a mano una adecuada.

Ningún programa, por muy bien pensado que esté, es capaz de resolver cualquier problema. Siempre va a haber un caso especial, una necesidad especial, una situación que escapa a lo esperado. Pero Unix no es un único programa. Es una colección de cientos de ellos, y con esta colección de herramientas básicas, una persona con el suficiente ingenio y/o dedicación puede enfrentarse a prácticamente cualquier problema informático.

lunes, 21 de junio de 2010

Editando archivos MP3 sin pasar a WAV

Al que utiliza frecuentemente archivos de audio en formato MP3 se le podría presentar la necesidad de editar algunos de estos archivos para realizar sobre ellos ciertas operaciones básicas como cortarlos en trozos (p.e. para separar las canciones de una actuación musical en directo) , cambiarles el inicio o final haciendo un fade in o un fade out o simplemente modificar su volumen global.

Normalmente uno echaría mano de un editor de audio tipo Audacity para realizar este tipo de operaciones. El problema es que así lo que estaría haciendo sería decodificar los archivos MP3 a formato WAV para aplicarle a la forma de onda resultante alguno de los cambios mencionados y luego aun faltaría volver a codificar al formato MP3 cada archivo (o trozo obtenido) con la consiguiente pérdida de calidad. Bien pensado, el asunto se vuelve algo engorroso usando el enfoque estándar, y más teniendo en cuenta lo básico de las modificaciones...

Por suerte existen utilidades especializadas en la edición de archivos MP3 que trabajan directamente con este formato y permiten realizar ciertas operaciones sin tener que decodificar y recodificar después. La buena noticia es que dos de ellas, altamente recomendables, son gratuitas (con licencias de tipo freeware). La mala noticia es que solo están disponibles para sistemas Windows, aunque siempre podremos usarlas en Linux mediante Wine, la "capa de compatibilidad" para aplicaciones Windows. Veamos cuales son estos programas:

  • mpTrim - Sencilla pero potente utilidad que permite recortar por los extremos un archivo MP3, bien para eliminar segundos de silencio o zonas de audio no deseadas (soporta fade-in y fade-out). También puede usarse para normalizar el volumen de las canciones. Por supuesto, todo lo hace sin decodificar el archivo MP3.
  • mp3DirectCut - Es una utilidad más parecida a un editor de audio tradicional, aunque trabaja directamente con los frames del estándar MP3 sin tener que decodificar a WAV. Soporta operaciones tipo copiar, cortar y pegar con las selecciones realizadas sobre el audio. También se puede usar para modificar el volumen (incluyendo la normalización) del archivo de audio o dividirlo en distintas pistas (por supuesto en formato MP3 sin recodificar).

viernes, 11 de junio de 2010

Predicador

¿Qué relación pueden tener un reverendo renegado que busca a Dios para ajustar cuentas, una atractiva chica de armas tomar, un vampiro irlandés modelado con Shane MacGowan en mente, un soldado alemán sin sentido del humor (ni piedad) reclutado por una sociedad secreta conocida como El Grial que guarda el linaje de Jesucristo, un ente llamado Génesis fruto de la unión de un ángel y un demonio...? Pues que son algunos de los principales personajes de Predicador, la serie de cómics concebidos originalmente entre 1995 y 2000 por Garth Ennis y Steve Dillon y publicados por DC Comics.

En España fueron publicados unos años después por Planeta D'Agostini en números sueltos y tomos recopilatorios, aunque recientemente han lanzado un "cofre" que lo recopila en su totalidad en dos tomos de unas 800 páginas más uno de 500 con números especiales y portadas originales comentadas. Todo un regalo para el que esté dispuesto a pagar los 100 eurazos que vale actualmente. No me considero ningún entendido (y menos un friki ;) de los comics pero francamente, esta serie, en cualquier formato (puede encontrarse alguna muestra escaneada), es altamente recomendable por su calidad gráfica y literaria. En especial se lo aconsejaría a todo fan del Tarantino de Reservoir dogs y Pulp fiction, de los westerns al estilo de Grupo salvaje y de la (sub-)cultura americana y las road movies en general. Porque va aderezado con un humor más negro que el carbón, abundante (y a veces retorcido) sexo, violencia gratuita y excesiva; salpicado por una mezcla de cerveza, testosterona y bourbon y avalado por un total desprecio por la corrección política imperante. Dicen que hay una película en ciernes; esperemos que no la caguen como suele ser habitual, aunque siempre nos quedarán los comics ;-)