Tipográfica y ffmpeg

El otro día, por una remera en la que mi hermana imprimió un grabado de su autoría, fuimos con ella, Moni y Gus a la imprenta de este último.

Curioseamos bastante, y entre todo lo que Gustavo mostró, estaba su impresora tipográfica automática. Ya no la usa mucho, pero la prendió y la hizo funcionar para mostrarnos cómo trabajaba. Aproveché y la filmé con el teléfono:

Pero no fue todo tan fácil. El video que generé con el fono, en la computadora no lo podía ver bien. Bah, se veía bien, pero salía sin sonido. Yo lo quería pasar a un formato más estándar, justamente para subirlo a Google Videos.

En todos los lugares que busqué, siempre recomendaban utilizar el ffmpeg, así que lo instalé de la forma normal (con el Synaptic, haciendo cuatro clicks), pero tampoco entendía el audio.

Seguí buscando, hasta que encontré que, para que reprodujera bien el formato 3gp, debía compilar el ffmpeg con las bibliotecas de AMR. No fue demasiado complicado, pero tampoco fue recontra sencillo, así que reproduzco los pasos acá, que fueron más que nada el producto de seguir tres o cuatro guias sueltas por ahí.

Si arrancamos con un Ubuntu crudo, les va a faltar lo necesario para compilar (creo que con instalar el paquete build-essential deberían tener todo lo necesario).

Creamos y nos metemos en un directorio para todo este experimento:

mkdir locoffmpeg
cd locoffmpeg

El proyecto ffmpeg no tiene liberaciones estables, sino que normalmente se utilizan directamente los archivos de desarrollo. Para que no tengan que hacer un checkout del repositorio, pueden utilizar el snapshot que se genera todas las noches; lo bajamos y descomprimimos:

wget http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2
tar -jxf ffmpeg-export-snapshot.tar.bz2

Traemos las fuentes de la biblioteca para AMR Narrow Band, la descomprimimos, vamos a ese directorio, la configuramos, compilamos e instalamos:

wget http://downloads.sherin.in/sources/amrnb-7.0.0.0.tar.bz2
tar -jxf amrnb-7.0.0.0.tar.bz2
cd amrnb-7.0.0.0/
./configure --prefix=/usr
make
sudo make install
cd ..

Exactamente lo mismo, pero para la AMR Wide Band:

wget http://downloads.sherin.in/sources/amrwb-7.0.0.2.tar.bz2
tar -jxf amrwb-7.0.0.2.tar.bz2
cd amrwb-7.0.0.2
./configure --prefix=/usr
make
sudo make install
cd ..

Dos detalles.

  • En ambos make, el tipo baja un pequeño archivo de algún lado, así que tienen que estar conectados a internet.

  • Fíjense que el make install tiene un "sudo" adelante; esto es porque necesitan permisos de root para instalar la biblioteca.

Luego entramos al directorio donde tenemos el ffmpeg descomprimido (el * en la primer órden aquí es porque el nombre del directorio depende del día, hagan un ls -l y lo van a ver).

cd ffmpeg-export-*

Una vez adentro, configuramos el ffmpeg para que se instale en /usr/local (con lo que si tienen otra versión de ffmpeg instalado no lo van a pisar), y le habilitamos threading y las dos bibliotecas que nos interesan:

./configure --prefix=/usr/local --enable-pthreads --enable-libamr-nb --enable-libamr-wb
make
sudo make install

Ya tenemos el ffmpeg alternativo que compilamos, entonces transformamos el video del fono a algo estándar (en este caso, el video del fono se llama MOV00001.3gp, y dejamos el video nuevo en video.avi).

/usr/local/bin/ffmpeg -i MOV00001.3gp -acodec mp2 -ar 44100 -vcodec mpeg4 video.avi

¡Ya está! El paso final fue subirlo a Google Video, pero eso se lo dejo a ustedes.

Comentarios Imprimir

Historias

Ayer vi Beowulf en IMAX, fui con Mónica, Diana y Gustavo. Nunca había visto cine 3D. Es distinto. Hace muuuucho que no me pasaba de ir al cine y sentir bien justificado el precio de la entrada (no por la peli en si, sino por todo lo de alrededor). Con respecto a la peli, +1; hace bastante que no iba a ver una 100% digital (la última fue Final Fantasy), y está muy bien.

Pero no voy a hablar de la película, sino de las historias.

Esto lo tendría que leer un antropólogo, para corregirme, pero creo que la necesidad de contar historias como método de transmisión de conocimientos y cultura es una de las mejores necesidades que tiene el hombre.

¿Qué tiene que ver la peli con eso? Beowulf es el héroe del poema épico anglosajón homónimo, que fue escrito en inglés antiguo en verso aliterativo. Aunque el poema no tiene título en el manuscrito, se le ha llamado Beowulf desde principios del siglo XIX. La historia de la peli es muy distinta a la historia original (aunque igual no deberían leerla si van a ir a verla). Pero, repito, no voy a hablar de la película, sino de las historias.

Uno puede recoger historias de distintas maneras. Películas, charlas, libros, etc. Las películas tienen que estar muy bien para que transmitan una historia de forma interesante, y de forma oral, las historias tienden a ser cortas. Pero la forma escrita permite un vuelo distinto, porque las historias pueden ser largas, y al mismo tiempo utiliza toda nuestra capacidad de imaginación.

Hasta hace algunos años, la única forma en que tenía uno de nutrirse de historias escritas era comprar libros. O, en algunos pocos casos, revistas. Y si alguien tenía una historia que contar, y no podía publicarlas, esas historias no llegaban a los destinatarios, no encontraban lectores.

Hace algunos años, empezó esto de los blogs. Y aunque blogs hay de muchos tipos, cada uno tiene sus distintas motivaciones para escribir en la web lo que te pasa, lo que querés escribir, transmitir, etc.

Pero más allá de esas motivaciones, me encanta encontrar blogs con historias que valga la pena leer. O al menos, que me gusten leer a mi. Mis pretensiones no son tantas: si escribís ameno, con algo de humor, y algo de profundidad, lo más seguro es que me guste.

¿A qué viene todo esto? A que descubrí este blog, que tiene cantidad de historias interesantes, algunas reales, otras inventadas, pero que me gusta leer. Recomiendo.

Comentarios Imprimir

PHP no sabe sumar

Hace rato que quería hacer este post. Más que nada, como referencia, porque luego comento esto y no me acuerdo exactamente estas lineas, entonces me es más fácil apuntar a este post y listo.

Si ejecutamos el siguiente script en PHP, intentando sumar 3 y 058...

<?
$r = 3 + 058;
echo $r."n";
?>

..., el tipo muestra "8".

La realidad es que estamos haciendo algo mal, pero PHP te oculta el error, sigue como si nada, y el programa sigue trabajando con fruta.

"Ningún error debería pasar silenciosamente", dice el Zen de Python. Si ejecutamos esa suma en Python, encontramos que da un error. A partir de ese error vemos que realmente tenemos un problema en lo que queríamos hacer.

Pero PHP no da error. Contesta el resultado de la suma. Un resultado equivocado. Ergo, PHP no sabe sumar.

Comentarios Imprimir

NO al voto electrónico

Hace menos de quince días (el 28 de Noviembre), llegó un mail a la Fundación Vía Libre, en parte con el siguiente texto:

Sres. Via Libre: vivo en Las Grutas Río Negro y soy objeto de la discriminación más terrible que he sufrido en mis 42 años de vida. Me hacen votar electrónicamente a mi y una parte de mi pueblo, como si fuéramos de segunda o leprosos de la democracia... El gobierno de la provincia de Río negro y los partidos políticos en complicidad y entre gallos y medianoche nos han puesto al borde del oprobio. El 16 de diciembre vamos a la urna electrónica como al matadero. Necesitamos apoyo de todas partes, de gente creíble. ¿nos podrían ayudar de alguna manera?

Hace rato que se viene hablando del voto electrónico. Lamentablemente, el tema fue instalado por los promotores del mismo, y el nivel de discusión alrededor de un cambio tan importante es paupérrimo.

El voto es el acto fundamental de la democracia, y por tanto, no se lo puede arriesgar a manos de un discurso basado en la fantasía de la existencia de soluciones técnicas para problemas políticos que no ofrece ninguna comprobación eficiente de las virtudes que pregona.

Se escucha decir, en forma recurrente, que los sistemas de votación electrónica:

  • Ofrecen mayores facilidades al elector para el ejercicio del derecho al sufragio

  • Fortalecen la transparencia de los procesos electorales

  • Disminuyen las posibilidades de fraude

  • Simplifican el sistema de voto y escrutinio

  • Disminuyen la abstención de votos

  • Reducen los costos, al evitar el escrutinio provisorio

  • Aceleran el proceso de obtención de resultados del escrutinio

Salvo el postulado sobre la rapidez en la obtención de resultados, ninguna de las demás afirmaciones tiene asidero en la realidad. Más bien todo lo contrario. Para saber más sobre el Voto Electrónico, les recomiendo mirar este programa de Dominio Digital (hay info muy interesante y enlaces aquí (EDITADO: la url no existe más)). Si quieren estar más al tanto de la metodología habitual para el recuento de votos, pueden leer esta (EDITADO: la url no existe más) interesante experiencia de la gente de Solar implementando el recuento de votos, justamente en Rio Negro, con software libre.

La movida en Las Grutas (un hermoso lugar para ir de vacaciones, ya que estamos) es muy peligrosa: tratan de forzar la inclusión de esta metodología en ciudades chicas, tratando de que nadie se de cuenta. ¿O ustedes escucharon algo en la radio? ¿O en televisión?

La Fundación Vía Libre se movió al instante. Iván Santander del Guslav (Grupo de Usuarios de Software Libre del Alto valle de Río Negro) se acercó hasta Las Grutas, comenzó a hablar con instituciones y en medios de difusión, explicando lo que es realmente el voto electrónico, y por qué evitarlo. Simultáneamente, se preparó un recurso de amparo que se presentó en la justicia, ya que las elecciones eran ahora en Diciembre, y no había casi tiempo.

La gente, la justicia y algunos partidos políticos tomaron conciencia de lo que pasaba, y finalmente parecería que van a suspender el voto electrónico (EDITADO: la url no existe más).

¡Felicitaciones a Iván Santander y a la Fundación Vía Libre en general por el fantástico logro en tan poco tiempo!

Comentarios Imprimir

Noticias Python por 4

Intro a Py grabada

Roberto Allende filmó mi charla de "Introducción a Python" en el CDC 2007, en Luján. Su post, aquí.

Lamentablemente justo esa no me gustó como la dí, ya que me complicaron el schedule.

Ya que estamos, felicito a Roberto por entrar a la Plone Foundation.

Haciendo que los chicos programen abierto

He hablado varias veces del Google Summer of Code (acá, acá y acá); una de las limitantes de este proyecto es que está apuntado a estudiantes universitarios, para que en sus vacaciones de verano trabajen en algún proyecto en particular.

Ahora Google se despacha con un nuevo programa: el Concurso de Participación Altamente Abierta (Highly Open Participation Contest). El mismo es un esfuerzo para atraer estudiantes pre-universitarios al desarrollo open source. Como se trata de menores, no habrán pagos puntuales por proyectos grandes, sino que ahora hay una lista de tareas: si los chicos completan esas tareas participan por premios y recompensas de Google.

Más info del concurso, acá. La Python Software Foundation está en este programa, con esta lista de tareas para Python.

Python en XKCD

XKCD es una especie de historieta geek que me encanta. Reproduzco aquí la edición de hoy:

¡Estás volando! ¿Cómo?

Facundario

Desde un tiempo atrás me tomé la costumbre de tirar, cuando entro al canal de Python Argentina en IRC, alguna frase producto de mi desvariado cerebro.

A la gente le gustó, e incluso perrito666 se tomó el trabajo de hacer una recopilación automática de las mismas, la cual dio en llamar Facundario Enterprise Edition (versión extra apulentada).

Y bueno, che, es lo que hay, :)

Comentarios Imprimir