sep 1 2014

Alternativas a GifCam en Linux

Gabolonte Blasfemus

A pesar de que como todo internauta (término que denota mi avanzada edad), geek (puaj! todavía alguien usa eso?) o millennial (nuevo término de moda para que las masas puedan etiquetar algo sin molestarse en comprenderlo) disfruto ampliamente del incesante flujo de gif animados presente en los últimos años. No soy generalmente de crear propios, salvo de vez en cuando para situaciones específicas. Por eso es que hace tiempo dejé enterradas en el olvido suites para trabajar con dicho formato de imagen, hasta que hace un tiempo me enteré de la existencia de GifCam, y me resultó tan divertido y potencialmente adictivo que lo que realmente me faltaba ahora eran buenas ideas para empezar a crear animaciones divertidas.

gifcam

Pero más allá de eso, y en mi eterna dualidad Windows/Linux donde uso uno u otro de acuerdo a cómo se me acomodan las bolillas en el marote, pretendo tener alternativas a todo lo que aprecie de uno en el otro, así que deseaba desde hace mucho un equivalente de GifCam que pudiera usar en mi actual distro, Linux Mint Qiana. Acá es donde podría leerse un lindo cartelito con el típico here be dragons, porque la realidad es que no existe nada ni remotamente parecido a esta joya de la simpleza hecha freeware portable. Lo más cercano es usar alguna herramienta para capturar en video el sector de la pantalla deseado, para luego usar otra que convierta el video grabado a gif, con resultados variables de acuerdo a lo que se utilice. Nada tan directo e intuitivo como GifCam.

Así andaba frustrado con ese tema, hasta que en uno de esos momentos alpedísticamente productivos (o no) volví a la carga sobre el mismo, topándome con este excelente post de Emezeta, en donde se toma el tiempo de mencionar desde los orígenes del formato hasta todas las herramientas disponibles que existen en cada plataforma para su creación y edición. Y una de las que menciona el groso de Manz es para Linux, y no había oído hablar de ella hasta ese momento: Byzanz.

byzanz

Captura animada de byzanz realizada gracias a sí mismo

Byzanz, con ese extraño nombre, es una aplicación muy potente y versátil que en un principio permite realizar en Linux la función más importante y buscada de GifCam: Grabar directamente desde un área del escritorio a un archivo gif. La diferencia con este, y el pequeño detalle/problema, es que como pasa con muchas herramientas poderosas en el mundo *nix, byzanz se utiliza enteramente desde la línea de comandos. Un ejemplo típico de utilización de byzanz sería el siguiente:

$ byzanz-record --duration=5 --x=550 --y=100 --width=350 --height=200 animacion.gif

Como ven, dentro de los argumentos hay que especificar parámetros como el tiempo de captura y el área a capturar, expresada por las coordenadas que ubican su comienzo y seguido de su ancho y alto en píxeles. No tiene nada de intuitivo, por cada captura tenemos que andar midiendo con una regla virtual la pantalla. Por más buena que sea la herramienta, muere por su complejidad de uso.

Pero la verdadera pena con byzanz es que es una aplicación excelente, y posiblemente la única opción en su clase para el escritorio Linux, por lo que algo tenía que poder hacerse para remediar este problemita de la facilidad de uso. Y algo hay.

TL;DR: A través de un script de bash podemos capturar áreas del escritorio a voluntad para grabarlas directamente a gif, usando byzanz y un par de herramientas más.

En una genial respuesta a una pregunta en Ask Ubuntu vamos a encontrar una serie de scripts que permiten usar byzanz de una forma fácil, sin tener que especificar coordenadas numéricas. Hay dos opciones, un script que permite capturar el área de la ventana en la que se clickea, y otro donde directamente es posible seleccionar con el mouse el espacio a ser grabado. También hay una segunda versión del primero, más interactiva y un poco más gráfica. Claramente la opción más interesante es la de poder simplemente seleccionar el área arrastrando el mouse, por lo que voy a enfocarme en esa función, con un script hecho por mí que básicamente es una simple adaptación de los últimos dos mencionados. Vamos paso a paso con todo lo que hace falta.

1. Lo primero y esencial es saber si podemos disponer sin mayores problemas de byzanz en nuestra distro favorita. Si estamos en un Ubuntu o Linux Mint recientes podemos instalarlo con un simple apt-get.

$ sudo apt-get install byzanz

Si byzanz no está disponible desde los repositorios de nuestra distro, bueno, ya arrancamos mal y la cosa se complica más. Ahí es momento de acciones extremas como bajarlo desde su repositorio GIT e intentar compilarlo satisfaciendo previamente todas sus dependencias, tema álgido en el que no pienso ahondar porque asumo que está fácilmente disponible en toda distro popular moderna, y principalmente porque me da una paja atómica y no tengo ganas de fijarme se haría todo mucho más complejo.

2. Ahora nos toca asegurarnos de que tenemos instaladas todas las dependencias que vamos a necesitar para que el script funcione. Para eso, en Debian, Ubuntu o derivados ingresamos:

$ sudo apt-get install automake libx11-dev gdialog notify-osd

3. Todos los paquetes anteriores tienen un sólo propósito: Son para compilar y poder usar el comando xrectsel, que es el que permite seleccionar un área del escritorio con el mouse y devolver esa información en coordenadas que luego le pasaremos a byzanz. Debemos descargar sus fuentes desde GitHub, descomprimirlos, y ejecutar en la carpeta que contiene los fuentes los siguientes comandos:

$ ./bootstrap
$ ./configure --prefix /usr
$ make
$ sudo make DESTDIR="$directory" install

Luego de esto ya deberíamos tener xrectsel andando, para probarlo sólo basta ejecutarlo desde la línea de comandos y nuestro cursor debería cambiar a una cruz con la que podremos seleccionar un área del escritorio, y dicha área la veremos traducida en coordenadas en la terminal.

4. Ahora viene el momento de armar el script. Simplemente creamos un archivo de texto vacío y copiamos y pegamos lo siguiente:

#!/bin/bash

# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")

# Delay before starting
DELAY=10

# Standard screencast folder
FOLDER="$HOME/Imágenes"

# Default recording duration
DEFDUR=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
paplay /usr/share/sounds/freedesktop/stereo/message-new-instant.oga &
}

# Custom recording duration as set by user
USERDUR=$(gdialog --title "Duration?" --inputbox "Please enter the screencast duration in seconds" 200 100 2>&1)

# Duration and output file
if [ $USERDUR -gt 0 ]; then
D=$USERDUR
else
D=$DEFDUR
fi

# Dependency: xrectsel ( https://github.com/lolilolicon/xrectsel ) from FFcast2 ( https://github.com/lolilolicon/FFcast2 ). Clone the repository and run make to get the executable.
# xrectsel from https://github.com/lolilolicon/FFcast2/blob/master/xrectsel.c
ARGUMENTS=$(xrectsel "--x=%x --y=%y --width=%w --height=%h") || exit -1
# Notify the user of recording time and delay
notify-send "GIFRecorder" "Recording duration set to $D seconds. Recording will start in $DELAY seconds."

#Actual recording
sleep $DELAY
beep
byzanz-record -c --verbose --delay=0 --duration=$D ${ARGUMENTS} "$FOLDER/GIFrecord_$TIME.gif"
beep

# Notify the user of end of recording.
notify-send "GIFRecorder" "Screencast saved to $FOLDER/GIFrecord_$TIME.gif"

Es importante editar el valor de la variable FOLDER a fin de estar seguros que las capturas serán guardadas en la carpeta que queremos y que por sobretodo sea una ruta válida, caso contrario no se guardará nada. En mi caso simplemente puse la ruta de la carpeta de imágenes por defecto del usuario actual para una instalación en lenguaje español. El archivo lo guardamos con el nombre que se nos antoje y extensión .sh, y le damos permiso de ejecución.

Luego de esto sólo falta aplicarle permisos de ejecución al script y la podremos utilizar, armando nuestro propio lanzador para, por ejemplo, tenerlo a mano desde el dock de Unity o en el panel de escritorios como Gnome, Mate o Cinnamon. Al ser ejecutado, el script pregunta por la duración que debe tener la captura, y luego arranca la misma tras una demora (ajustable editando el script) de 10 segundos. Por medio del sistema de notificaciones de la distro y sonidos se anuncian estos eventos, incluido el inicio y fin de la grabación, para saber exactamente cuándo arranca y cuándo termina. Es importante notar que mediante este artilugio no tendremos ninguna indicación visual del área que está siendo grabada, por lo que es mejor que de antemano estén todos los elementos donde deben estar a la hora de hacer la selección de pantalla. Luego simplemente arrancamos con lo que queremos mostrar luego de escuchar la indicación sonora.

A continuación les dejo otra captura realizada con este script y byzanz, donde se puede ver que algunos colores no salen del todo bien en la adaptación a la paleta de 256 que maneja el formato gif, pero aún así el resultado es muy bueno:

captura con byzanz


ago 17 2014

Ojos solo para Moto

Gabolonte Blasfemus

MotorolaQuién hubiese pensado que las cosas se darían así. Pero al menos es bueno que haya alguien que tome el guante: Motorola.

De ser el más odiado en el mundo Android hace 3 años a lo que es hoy, un paladín de la plataforma. Eso que se supone que era Samsung, pero nunca realmente lo fue, al menos para mí con mi Galaxy S3. Un smartphone que para su tiempo fue legendario, pero que tenía esos pequeños detalles que no se le pueden perdonar a un flagship, como el adolecido bug del reset-cada-20-veces-que-copiamos-al-portapapeles, por nombrar alguno. Después vinieron las actualizaciones, uno de los supuestos motivos por los que apostar por una marca líder como Samsung y su terminal estrella; pero estos llegaban tarde, y lo peor, agregando fallas más desastrosas que las que existían en las imágenes originales. ¿Y la esperada actualización a KitKat? Bien, gracias, sólo para algunas versiones con 2GB de RAM, y el resto a llorar al campito porque en la versión internacional de 1GB no entra el nuevo TouchWiz con KitKat y toda la bosta hecha por Sammy, que piensan que son el pináculo del valor agregado con su bloatware.

Galaxy S3Particularmente, pasé por 3 o 4 estados con mi S3. De estar inconforme con un Android 4.1.2, cuando los Moto G ya ostentaban KitKat, me tiré a la pileta, con todo lo que significa hacerlo para el teléfono con el que uno trabaja y se comunica (sorry, este no es un blog famoso donde conseguimos que nos presten gadgets para hacer reviews y a su autor tampoco le sobra para andar rompiendo smartphones a costa de su propio bolsillo), a CyanogenMod, que hacía años tenía ganas de probarla, y si me la iba a jugar a tener KitKat con una ROM cocinada, mejor ir con los chicos más populares y exitosos de la cuadra.

cyanogenmod¿Qué puedo decir? En funciones Cyanogen la rompe en todo sentido, está a años luz de cualquier stock; todo eso aquel que la conoce lo sabe. El problema inmediato fue la pérdida de la cámara: Pasé de tener una fabulosa y plenamente funcional como es la del S3 a una porquería que con suerte sacaba de vez en cuando una foto sin colgarse y demoraba 3 segundos por lo menos entre cada toma. Aplicar un dudoso parche encontrado en XDA que supuestamente mejoraba la situación sólo me sirvió para al menos recuperar la función de sacar fotos mientras filmaba, pero no podía sacar muchas seguidas sin que el teléfono muriese a tal nivel que tuviera que sacarle y volver a ponerle la batería. De pronto tuve un muy mal recordatorio de cuando usaba el Milestone 2 y de lo frustrante que es sentir que capturaste en video un momento lindo o importante de tu vida para luego encontrarte con un archivo corrupto porque se colgó la aplicación. Es irónico, porque una de las cosas que me hizo querer tener KitKat a toda costa en el S3 era la posibilidad de sacar fotos desde la pantalla de bloqueo. Ahora directamente no tenía una cámara en la que pudiese confiar.

Sumado a eso tenía cada vez más y más reseteos y cuelgues, hasta el punto de perder aplicaciones en cada reinicio inesperado, las que luego tenía que detectar y volver a instalar. Nunca visto.

Esto me llevó a jugar a lo seguro. Quería dejar de tener esos cuelgues de locos y, por sobre todo, volver a tener la cámara que fue uno de los motivos por el que había gastado tanto en un S3 en su momento: Fotos rápidas, modo ráfaga con sólo mantener el dedo sobre la pantalla, fotos mientras se filma sin que por eso se vaya todo el sistema al carajo. Porque una vez que logramos tener una cámara más o menos decente en nuestro smartphone se produce un efecto de no hay vuelta atrás importante: Nunca queremos volver a preocuparnos de tener que salir con una cámara de fotos encima para ninguna salida, acto o evento. No tener algo extra en la mano de lo que tuvimos que chequear previamente que tenga las pilas o baterías cargadas, y poder usar la misma cámara para un acto escolar de tus hijos que la que usarías para cualquier situación casual, porque es la que llevás a todos lados en tu teléfono, y sabiendo que esas fotos salen medianamente bien. Simplemente tener algo menos que cargar y en lo que pensar. Lo seguro era volver a la ROM stock 4.1.2 que desprecié al principio, pero me jugué por algo intermedio: Una Omega ROM 4.3, basada en una stock de Samsung y que viene con TouchWiz y la app de cámara oficial de los surcoreanos.

Al principio, a pesar de lo decepcionante de dejar todos los chiches de KitKat y CM11, todo iba bien. Hasta me puso feliz volver a tener los badges de notificación estilo iOS de aplicaciones como Gmail y Whatsapp mostrando en sus iconos cuántos mensajes tenían sin leer. Pero algo había quedado mal, era evidente, porque cada día o dos el teléfono terminaba en terapia intensiva. Reseteos que lo hacían perder datos como la disposición de los iconos en la home me hicieron dejarme de joder y planchar desde Odin una ROM stock de mi operador con 4.1.2, lo que sabía que andaba. ¿El resultado? Espiral de la muerte. Una vez que estaba todo restaurado y OK al cabo de un día o dos venía un reset que lo dejaba duro o en un loop del que sólo se volvía formateando la partición de datos y caché y/o volviendo a planchar la misma ROM, para volver a ocurrir lo mismo al siguiente día. Algo estaba muy, pero que muy, mal con mi S3, y con Samsung.

Hacía tiempo que sabía que si las cosas seguían en ese mismo curso mi próximo smartphone iba a ser un Motorola, y pensaba esperar al X+1, pero este incidente me hizo tener que apurarme y conseguir lo que pudiera ese mismo día. Me faltaban unos meses para terminar de pagar el S3 encima, así que no podía adquirir uno con subsidio sin tener que terminar de pagar el muerto, y el apuro no me dejaba juntar con tiempo para un Moto X libre, por lo que me jugué a ir por su hermano menor, al que afortunadamente conocía muy bien y francamente no me decepcionaba demasiado. Para mejores, aunque tarde, obvio, ahora sí es posible conseguir la versión libre de 16GB del Moto G, que viene con 3 shells (la tapita de atrás) de regalo en distintos colores, así que inmediatamente pasó a ser mi actual smartphone.

moto_g¿Qué puedo decir? Motorola puede que termine convirtiéndome en un fan suyo. Le falta aún, no me gusta que algo tan básico como un slot para microSD no esté presente en el Moto G, pero sólo prenderlo fue recibir vía OTA el upgrade a KitKat 4.4.4, lo último estable que existe en la actualidad, y que luego todo siga andando de maravillas y tremendamente fluido. Tenía la idea de comprar el Moto G era clavarse si pretendías tener suficiente storage para guardar música o archivos porque no sólo estaba la falta de ampliación vía SD, sino que ni siquiera funciona con USB OTG, pero mi nuevo Moto G me hizo descubrir que ese problema (aparentemente) sólo lo tienen las versiones de 8GB vendidas a través de operadoras, que al menos en el caso de Vomistar todavía siguen con Android 4.4.2, por lo que desconozco si el problema es propio del modelo, de la versión de la ROM, o capado por la operadora (Actualización 21/08/2014: Acabo de ver con sumo placer cómo al menos para esta operadora sí está disponible ahora la versión 4.4.4, que resuelve el problema de OTG y le agrega botón de pausa a la filmación de videos). Lo que sí sé es que en un Moto G libre se puede disfrutar de la última versión de Android al poco tiempo de ser lanzada, y aunque no tenga slot para microSD al menos podés ponerle música sin llenar su almacenamiento interno, usando un lindo pen drive como éste:

pendrive_otg

Toda esta experiencia me llevó a esta serie de conclusiones:

  1. El mejor Android hoy es el de Motorola.
  2. De hecho va a ser cada vez mejor, porque los nuevos Moto vienen con slot microSD (gracias Lenovo!)
  3. Cuando un smartphone es tan pero tan bueno que sigue sintiéndose fluido luego de haberse actualizado a la última versión de Android, a pesar de haberle puesto todas tus apps y sin molestarte en tocarle nada para optimizarlo, y encima si como yo estás quemado con leche de la supuesta panacea de las ROM alternativas, lo vas a pensar 30 veces hasta para rootearlo. De hecho como buen teléfono de producción necesito que nunca falle, por lo que permanecerá sin root y seguiré haciendo mis experimentos y demases con el S3, al que lo puedo seguir flasheando y ver si mejora un poco. Android está llegando a una madurez en la que cada vez hace menos falta suplir funciones faltantes con alguna app exótica que necesite root. Tenemos OpenVPN, tenemos captura de pantalla, y hoy por hoy lo único que falta con desesperación es un buen sistema de backup de aplicaciones que funcione siempre y sea flexible para elegir qué se quiere recuperar y qué no al restaurar; y la posibilidad, como lo ofrece desde hace rato CyanogenMod, de negarle ciertos permisos a las aplicaciones instaladas, algo que se supone ya lo vamos a disfrutar en el próximo Android L.

¿Que los Moto tienen cosas malas? Claro que las tienen. En el caso del Moto G tenemos una cámara que dista mucho de la calidad a la que estaba acostumbrado en mi S3, pero al menos, por relativamente poca plata, volví a tener un smartphone que, además de impecable y fluido, saca fotos en ráfaga y mientras filma sin inmutarse, y claro, también desde la pantalla de bloqueo, lo que desde el principio quería. Si quiero mejor calidad de imagen todo será cuestión de apuntar a un nuevo Moto.


jun 12 2014

Cuando la ciencia-ficción nos alcance (o cuánto le debemos a Eduard Snowden)

Gabolonte Blasfemus

(Antes de empezar quiero aclarar que voy a mencionar una buena cantidad de material que podría ser linkeable (para comodidad del lector), pero como son tantos y quiero concentrarme por una vez en lo que escribo exclusivamente y no además en buscar cada enlace esta vez, debido a su cantidad, no lo haré. Google, DuckDuckGo (o Bing, si son amantes de la sodomía) no muerden. Vaffanculo, al final terminé linkeando buena parte.)

La disparaba muy rápido además

El astronauta de la pistolita chiquita

A veces pienso que es posible dibujar una línea divisoria entre dos tipos de ciencia-ficción: Antojadizamente, a una la voy a bautizar Star-Fy, y a la otra Real-Fy.

Star-Fy creo que es la más vieja, porque es la que más proliferaba en las décadas pasadas. Es la de los viajes interplanetarios, las pistolas de rayos, las ciudades futuristas con autos voladores, y demás sueños locos que parece que nunca se van a concretar, no importa cuántos años pasen. Son las obras donde se muestran prodigios de la tecnología descomunales, como el viaje en el tiempo y la teletransportación. Si pensamos en todo eso fácilmente nos viene a la cabeza Star Trek, pero bien podría ser cualquier Star- algo. Como decía recién, una característica inherente de este tipo de ciencia-ficción es que, siendo sinceros, no se ve posible ni en 100, y tal vez ni en 500 años que sea posible, al menos bajo el esquema político-económico global actual. Seguro, existe una compañía que promete viajes turísticos espaciales, pero hay que ver cuándo realmente va a existir una nave espacial tangible que lo haga posible y cómo saldrá el primer vuelo, que como mucho sería hasta la Luna.

Continue reading


abr 8 2014

Adiós amigo

Gabolonte Blasfemus

Windows XP actualizándose, una futura imagen del pasado

Esta es una imagen que no vamos a volver a ver. Una futura imagen de museo de la tecnología.

Microsoft trató de que le quede claro a todo el mundo como viene la mano, así que incluso el oficinista promedio puede que sepa que hoy, 8 de abril de 2014, es oficialmente el último día de vida de Windows XP. La última vez que recibirá nuevas actualizaciones que corrijan problemas de seguridad, por lo que con cada nueva vulnerabilidad que se le descubra, será más y más peligroso usarlo, hasta que quede hecho un quesito gruyer.

Por supuesto a mucha gente, tanto en pantuflas en su casa como a algunos todavía en la empresa, les importa poco; de hecho vaya a saber uno, gracias al enorme ejército de técnicos improvisados y  ahijados instaladores de Windows que todavía existe, cuántos XP andarán por ahí sin un solo update, tal como vinieron al mundo desde el ISO. Pero todo eso no importa: XP ha muerto, larga vida a XP.

Quienes aún lo necesiten por utilizar sistemas que jamás fueron actualizados para funcionar en nuevas versiones de Windows deberán arriesgarse y seguir igual, enfrentar el costo de un upgrade masivo, o incurrir en los terrenos del firewalling y la virtualización para mitigar un poco la exposición del nuevo fósil viviente.

Casi 13 años. Seguramente muchas relaciones han durado menos. Si fuese una persona sería un preadolescente granoso ya. Pero para muchos discípulos de la pc fue todo un amigo, un compañero de emociones, que aún sigue dando batalla en máquinas con mucha más trayectoria que varios empleados.

Aunque sé que te voy a seguir viendo durante mucho tiempo más, hoy es el día en el finalmente fuiste presa de la obsolescencia y hay que decirte, o al menos ir pensando en hacerlo, adiós, querido amigo.


mar 7 2014

El verdadero valor del Bitcoin: Revelar la realidad como es

Gabolonte Blasfemus

bitcoinRealmente, nunca fui algo así como un fanático de los bitcoins, ni siquiera podría decir un entusiasta. Cuando lo descubrí ya sentía que estaba llegando tarde si pretendía minar, y más tarde lo comprobé. Y así como no disponía de ahorros para invertir en GPUs en su momento (o ahora directamente en miners por hardware) tampoco los tengo para especular con su suba de precio, si es que realmente lo viera viable. Sí me parece tremendamente interesante el concepto, un desafío a como las sociedades piensan la economía y el funcionamiento de una moneda. Lo que es seguro es que a estas alturas todo el mundo escuchó al menos de oido mencionar  su nombre y tiene una vaga idea de lo que es, aunque seguramente también muchas dudas y preconceptos.

No me interesa en lo más mínimo jugar a la futorología o al genio de las finanzas, y mucho menos me considero un gurú de la criptografía, por lo que no voy a ponerme explícitamente a favor o en contra del concepto de las criptomonedas. Lo que ciertamente me resulta de sumo interés es ver como se exponen ciertos hilos del poder, y todo se lo debemos al bitcoin.

Continue reading