Automágica: durante 2017 estoy trabajando bastante en Automágica, mi software para editar libros: Más información - Posts relacionados

Saer en bits

Unas semanas atrás, cuando concluí mi maestría, mis familiares me regalaron un lector de libros digitales. En particular un Papyre 613. Nunca había tenido uno, pero el último mes había estando hinchando con comprarme un Kindle usado. También aconteció que por esos días quería comprar el libro Cicatrices de Juan José Saer. Me daba vergüenza no haber leído al máximo escritor de mi provincia y que además es tocayo mío. Recordaba haber escuchado a Beatriz Sarlo decir que ese era un buen libro para introducirse en la obra de este autor.

Para los días de la defensa oral de mi tesis ya había desistido del Kindle y el precio de la única edición que se conseguía de Cicatrices me había a otras lecturas. Resumiendo una historia larga, me recibí, recibí el regalo, y cuando lo encendí encontré una versión electrónica de libro en cuestión.

La experiencia de leer en un lector del libros digitales me gustó mucho. No pesa nada, recuerda en qué página dejaste el archivo, podés tener muchísimos libros en uno y no te cansa la vista como la pantalla de una computadora, celular u otro.

La novela en cuestión son cuatro capítulos largos, cuatro historias que se tocan en un punto. Me gustó, aunque algunas partes me parecieron un poco densas. La explicación la encontré en un mail de una amiga:

En cuanto a Saer, leí algunos libros de él. Los que recuerdo son estos: "El entenado", "Las nubes" (o algo similar...), "Nadie nunca nada", "Glosa" y "El limonero real". Seguramente, algún otro, pero ya mi mente ha borrado los nombres. Si bien "Glosa" no me ha convencido, el estilo que este autor ha creado es realmente sorprendente y muchas de sus obras tienen un ritmo que se puede considerar "musical". De hecho, ha escrito sobre esto también. No sé si notaste la longitud de sus oraciones y que cada una de ellas se corta en partes poco habituales; otros aspectos a consierar son las imágenes (auditivas, visuales, gustativas); el manejo del color es muy importante y está muy relacionado a lo que Onetti (otro grande que te invito a conocer, aunque no es argenino sino uruguayo) ha creado. El libro de Saer que con más "cariño" recuerdo es el último que te mencioné, "El limonero real". Allí Saer cuenta la misma historia nueve veces pero de un modo distinto. La propia estructura del relato es digna de análisis, al igual que ciertas frases que se repiten como un estribillo (¿te das cuenta...? Otra vez la música...) En fin... Mi opinión de Saer, creo, te queda clara. Es un gran autor que muy pocos conocen. Probablemente porque vivió sus últimos años en París, donde murió hace poco, bueno... hace unos siete años, en 2005.

Mi idea es seguir leyendo a este autor, ¿alguien me recomienda algún título?


Generar un video a partir de miles de fotos

Un par de noches atrás nos juntamos con los excompañeros de la facu en casa. Mi amigo Nico trajo su nuevo chiche, una camarita de alta resistencia que está haciendo furor por estos días: GoPro.

Una de las cosas que se puede hacer con la cámara es dejarla en algún lugar sacando fotos cada, por ejemplo, dos segundos. Luego, con un comando en Linux, puede generar un video. El resultado es muy bueno; muy acorde a lo acelerado que se vive en estos días y una forma de que los nerds avancemos varios casilleros en la escala social mostrando el artilugio.

Le pedí el pace mágico para tenerlo a mano si alguna vez me compro uno de estos aparatitos:

for a in $( seq -w 65 141);

do ls /media/3837-3763/DCIM/100GOPRO/GOPR0$a.JPG >> lista.txt; done

mencoder mf://@lista.txt -mf fps=25:type=jpg -lavcopts vcodec=mpeg4:vbitrate=3200000:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:vme=5:naq:qns=2 -vf scale=1280:1024 -oac copy -audiofile soundtrack.mp3 -o video-1024.avi


Regalos en la era de Internet

Años atrás, en la infancia, uno se hacía regalos con los amigos. No esos juguetes caros e importados que nuestra madre compraba y nos entregaba en mano justo después de tocar el timbre en la casa del cumpleañero, sino regalos casuales, artesanías hechas con chizitos y palitos o amuletos de rama seca.

Además de que crecimos y que no me imagino a mi amigo Joel tocando la puerta para entregarme una réplica del David de Miguel Angél a base de frituras, Internet se metió en el medio de nuestras vidas. Una de sus consecuencias es que nos acelera al máximo; lo que antes era una tarde tomando mates hoy es pasarse un "mate virtual" por Facebook. Juntarse a ver películas un día lluvioso, cambió por "mirá este video en Youtube". Y así, todo se va transformando, incluido ese antiguo ritual de entregarse regalso entre amigos, sin valor económico pero con mucho valor emocional.

Hoy Joél me envió algo que es genial. Mi apellido apareció en un captcha.

Y es un regalo también, de esta era de Internet, contestar con un post.


Leyendo sobre JavaScript

Yes, JS is designed to have something required 95% (but not all) of the time, that when you forget it, fails silently, and may crash or lock up the execution environment with no means to debug it other than trial and error! Thank you, JS language designers! Thank you, browser implementers!

http://www.wooji-juice.com/blog/javascript-article.html




Mantra de la semana: Know your tools

En informática, y en cualquier tarea en general, siempre es buena idea conocer las herramientas con las que vamos a trabajar, dedicar un tiempo a estudiarlas y conocerlas, a calibrarlas y dejarlas a punto, a practicar. El resto es simplemete ejecutar, y va a tomar muy poco tiempo.

http://commons.wikimedia.org/wiki/File:Nihontou74.JPG


Mañana: Voto electrónico en Santa Fe

El próximo martes 7 de abril, desde las 19:30, en ATE Central, San Luis 2854, tercer piso, Salón de Conferencias, realizaremos una charla abierta de presentación del libro "Voto Electrónico. Los riesgos de una ilusión" en la Ciudad de Santa Fe de la Vera Cruz. Del diálogo y debate participarán Beatriz Busaniche de Fundación Vía Libre y el periodista Juan Carlos Bettanin, de LT10 Radio Universidad Nacional del Litoral. Durante la presentación entregaremos ejemplares del libro en forma gratuita a los asistentes.

Fuente: Vía Libre

UPDATE: un panfleto de difusión


3 features de SQLite que no conocía

SQLite es (o se debate entre si es o no) un motor de base de datos liviano. No requiere configuración, no usa un servidor, su código ocupa poco espacio y una base de datos ocupa un solo archivo. Tal vez por estas características es usado no solo en aplicaciones de escritorio y sitios web, sino también dentro de: el lenguaje de programación PHP, el navegador web Firefox y muchos dispositivos móviles (más). Hace unos días lo estoy usando para una aplicación Django mono-usuario. Hoy leyendo su página web, descubrí 4 características que no conocía, me llamaron la atención y me gustaron mucho.

La siguiente es una traducción libre de la página web de la herramienta.

El archivo de la base de datos se mantiene en distintas plataformas

El formato de archivo de SQLite es cross-platform. Un archivo de base de datos escrito en una máquina puede ser copiado a y usado en una máquina diferente con una arquitectura diferente. Big-endian o little-endian, 32-bit o 64-bit, no importa. Todas las máquinas usan el mismo formato de archivo. Más aún, los desarrolladores han mantenido el formato estabe y compatible hacia atrás, entonces versiones nuevas de SQLite pueden leer y escribir archivos de base de datos más viejos

La mayoría de los otros motores SQL requieren que bajes y restaures la base de datos al cambiar de una plataforma a otra y a menudo al actualizar a una nueva versión del software.

Tipado manifesto

La mayoría de los motores SQL usan tipado estático. Un tipo de dato es asociado con cada columna en una tabla y solo valores de ese tipo en particular se pueden guardar en esa columna. SQLite relaja esta restricción usando tipado manifiesto. En este tipo de tipado, el tipo de dato es una propiedad del valor en si mismo, no de la columna en el que el valor es almacenado. SQLite así permite que el usuario almacene cualquier valor de cualquier tipo de dato en una columna sin importar el tipo declarado de esa columna. (Hay algunas excepciones a esta regla: una columna de tipo INTEGER PRIMARY KEY solo almacenará enteros. Y SQLite intentará acomodar los valores al tipo de dato declarado en la columna cuando pueda).

Creemos que la especificación del lenguaje SQL permite el uso de tipado manifiesto. De todas formas, la mayoría de los otros motores SQL son estáticamente tipados y por eso algunas personas creen que el uso de tipado manifiesto es un bug en SQLite. Pero los autores de SQLite están convencidos de que esto es una característica valiosa. El uso de tipado manifiesto en SQLite es una decisión de diseño deliberada que ha probado en la práctica hacer que SQLite sea más confiable y fácil de usar, especialmente cuando se usa en combinación con lenguajes de programación dinámicamente tipados como Tcl y Python.

Registros de tamaño variable

La mayoría de los otros motores de base de datos SQL reservan una cantidad fija de espacio en disco por cada fila en la mayoría de las tablas. Hacen algunos trucos para manejar BLOBs y CLOBs que pueden tener un tamaño muy variable. Pero para la mayoría de las tablas, si declarás una columna de tipo VARCHAR(100), entonces el motor de base de datos reservará 100 bytes de espacio en disco sin importar cuanta información realmente guardes en esa columna.

SQLite, en contraste, usa dolo la cantidad de espacio en disco que realmente se necesita para almacenar la información en la fila. Si guardás un solo carácter en un columna de tipo VARCHAR(100), solo un byte de espacio en disco será consumido. (En realidad 2 bytes - hay cierta sobrecarga el principio de cada columna para guardar su tipo de dato y longitud).

El uso de registros de tamaño variable en SQLite tiene varias ventajas. Resulta en archivos de base de datos más pequeños, obviamente. También hace que la base de datos corra más rápido, ya que hay menos información que mover desde y hacia el disco. Y, el uso de registros de tamaño variable hace posible que SQLite use tipado manifiesto en lugar de tipado estático.

Más características

Una lista de todas las características de SQLite puede encontrarse en http://www.sqlite.org/different.html


Automóviles y programas

"Si la industria automovilística hubiera seguido el mismo desarrollo que las computadoras, un Rolls-Royce costaría hoy 100 dólares, circularía un millón de millas con 3,7 litros y explotaría una vez al año, eliminando a todo el que estuviera dentro en ese momento"

-- Robert X. Cringely

Un clásico que mi amigo Joel me leyó hace muchos años cuando estábamos en la secundaria.

Robert X. Cringely, es el seudónimo de Mark Stephens, periodista estadounidense de temas informáticos, así como un seudónimo utilizado por varios columnistas de la revista Infoworld.

Este post es parte de Citas sobre programación.