Good News, de Randy Newman

Mi historia con esta canción es curiosa. La oí en los créditos de una película de Disney a la que no presté mucha atención. En aquella época tenía un crío y me tragaba una cantidad insana de películas de dibujos animados. Intenté quedarme con el título de la película, con la idea de buscar la canción más tarde.

La película era James y el melocotón gigante, una película de 1996 basada en un libro de Roald Dahl. Llegué a averigüar que la canción se llamaba Good News, y que era de Randy Newman, un compositor que me gustaba mucho desde que descubrí un tema suyo llamado Short People. Se daba la circunstancia de que Newman era prácticamente un compositor de la factoría Disney, para el que ha creado  muchas bandas sonoras.

Tras unos meses encontré una copia en eMule, y la conservé aunque tenía algunos defectos de codificación. Y ésa es la versión que he tenido y he escuchado durante años. Ahora la he encontrado en Spotify, y también en YouTube. Pero en aquellos tiempos no era tan fácil.

La canción me recuerda al estilo de Ray Charles, esas canciones optimistas a caballo entre el Gospel y el Rithm’n’Blues. Es un tema que uno debería escuchar dando brincos por la habitación. De hecho, formaba parte de una selección que usé durante mucho tiempo para levantar a la familia por la mañana.

Once upon a time there was a vulture and a hog
Livin’ in a house upon a hill
Had this little boy who lived with them
And they worked him like a dog
With any luck, they’d have him up there still
‘Long came a magic man with a magic bag
Full of nasty little green things in a funky old rag
He said, “Boy you may not know it but this here’s salvation you see.”
Son, you’re going down in history
Good news is blowin’ in your window
Good news is knockin’ on your door
Good news is comin’ round the corner
Good news is rollin’ ’round your floor
Where can all my troubles be?
Must be good news chasin’ me
Good enough to set everybody free
Good news, good news, good news
(Good news)
There were bugs in the garden
Didn’t have a clue
That everyday their life was on the line
They wanted to get outta there
But they didn’t know what to do
Their little brains is workin’ overtime
That all changed one sunny day
That little boy dropped by to say
If we all work together, we make out okay
Good news, good news, good news
Gotta roll down a mountain
Flew over the sea
Facin’ death and danger on their way
But together they had made it
And they’re where they wanna be
They love each other more and more each day
They care about each other
Good news is sweepin’ cross the country
Good news is spreadin’ all around
Good news is hittin’ in the city
Good news has sprung up in the town
The things that used to hurt before
They don’t hurt ’em anymore
‘Cause they know there’s somethin’ good in store
Good news (Good news)
Good news (Good news)
Good news (Good news)
Good news (Good news)
Good news (Good news)
Good news
Good news
Good news
Comin’ down the chimney
Good news
Knockin’ on my door
Good news
Leavin’ through the window
Good news
Can’t take no more
Good news
Spreadin’ o’er the country
Good news
For the young and old
Good news
Goin’ round the world,now
Good news
Too hot to hold back
[Repeats]
Good news (Good news)
Good news (Good news)
Good news (Good news)
Good news (Good news)
Good news (Good news)
Good news
Good news
Good news!

El Quijote, Auster y Chaplin

chaplin_quijote_auster

Entregado como estoy a la tutela y lectura de El Quijote en su versión para Twitter, de tanto en tanto se me ocurren asociaciones de ideas entre este texto y otras obras a primera vista remotas. La lenta lectura da tiempo para reflexionar sobre esas ideas y he pensado en dejar aquí esas reflexiones para hacer un poco de sitio en este abigarrado desván que es mi cerebro.

Paul Auster fue uno de los últimos escritores que despertó en mí un intenso interés. Durante unos meses leí una tras otra todas sus novelas. Tengo cinco libros suyos en casa. Debo decir que de joven leía indiscriminadamente y a peso, pero el paso de los años ha menguado mi vitalidad lectora. Por eso agradezco mucho cuando aparece un autor que me apasiona de nuevo. Y Auster pertenece a esta categoría.

Pensé en Auster al leer el capítulo IX, donde se narra el hallazgo del manuscrito arábigo con la continuación de las aventuras de El Quijote. La secuencia desde el tuit 831 me recordó vivamente tanto el estilo dinámico de Auster como el giro argumental que tan a menudo aparece en sus novelas.

En una novela de Auster, no recuerdo cuál, el protagonista, huyendo de su pasado, llega a una ciudad del medio Oeste donde se hace amigo de un solitario empleado negro de ferrocarriles, y éste le aloja en una especie de sótano o refugio nuclear donde por una fatalidad se le cierra la trampilla de acceso, quedando sin posibilidad alguna de salir. Entretanto, el empleado negro sufre un ataque cardíaco y muere repentinamente, de modo que desaparecen de pronto todas las posibilidades de salir del sótano.

Esta situación me desazonó profundamente, porque me puse en la piel de Auster y pensé en el mal rato que debió pasar al encontrarse en semejante embarazo argumental. ¿Y el protagonista? ¿Qué iba a pasar con él?

Pero Auster no es un escritor cualquiera, y la situación cambia de pronto cuando la historia que uno seguía como real se convierte en un manuscrito inacabado en una carpeta que lleva otra persona, que se convierte en nuevo protagonista de la historia.

Barrunté que Auster tenía muy presente a El Quijote en su obra, y buscando información al respecto resultó que sí, que Auster admiraba profundamente la obra de Cervantes.

La asociación con Chaplin es más ligera. De joven veía en televisión los cortos de Charlot. Los daban los sábados por la tarde, si no recuerdo mal. Los golpes y patadas al culo y carreras de aquellas películas me vinieron a la mente al leer el capítulo XV, donde una incursión amorosa de Rocinante acaba con una monumental paliza (que no es la primera) para nuestros protagonistas.

Esa reiteración en las golpizas me trajo a la mente las locas carreras y golpes de las películas de Charlot. Volví a indagar sobre esta relación y encontré que Chaplin también admiraba la obra de Cervantes. De hecho, hay algo del irreductible idealismo de El Quijote en Charlot, empeñados ambos en mantenerse fieles a su visión del mundo a pesar de todas las adversidades.

(Origen de las fotos: Chaplin, Quijote de Orson Welles, Auster)

Juanita keyboard: tablero alfabético para discapacitados

En 2009 diagnosticaron a mi madre, Juanita, una esclerosis lateral amiotrófica, más conocida por sus siglas ELA. El curso de esta enfermedad es muy cruel: los músculos del cuerpo dejan de responder paulatinamente a causa de la degradación del tejido nervioso, y el enfermo poco a poco deja de ser capaz de hacer cualquier actividad, incluso las más básicas.

Una de las funciones que se degradan es el habla. Comprender a un enfermo de ELA acaba siendo imposible, ya que su fonación es cada vez más defectuosa, con la consiguiente frustración de todos, pacientes y cuidadores. Para estos casos es común usar tableros de letras, en los que los pacientes van señalando letra a letra las palabras que quieren emitir.

Yo tuve uno de estos tableros para comunicarme con mi madre, y al poco tiempo pensé que era posible mejorar su funcionalidad usando una pantalla táctil como las de los iPad, por ejemplo. Me puse a escribir una aplicación en HTML que pudiese usarse de la forma más simple posible y acabé creando esto que os presento hoy:

Imagen de la aplicación
Pulsa aquí para ir a la aplicación

En aquel tiempo, 2010, dividía mi tiempo entre el cuidado de mi madre y la programación de mi tablero. Gracias a esto último podía evadirme de mi propio sufrimiento. A veces tuve la sensación de que mi madre llevaba su enfermedad con mucha mayor entereza que yo mi pena; entonces la única forma de huir de mi mala conciencia era sumergirme en el código, que ella probaba cada día pacientemente.

Pero vuelvo a la página HTML, a los detalles técnicos:

  • El tablero está dividido en casillas. Cuando se pulsa en una de ellas, en la franja negra superior se escribe la letra correspondiente.
  • Cuando se pulsa en la franja negra, si existe conexión a Internet, una voz de Google Translate pronuncia la frase que se haya escrito.
  • En la franja inferior hay casillas para comandos:
    • Un selector Números/Acentos para presentar las cifras y las vocales acentuadas.
    • Tres casillas para borrar una letra, una palabra, todo el texto.
    • Dos casillas para seleccionar frases comunes predefinidas.

El fichero HTML que contiene la aplicación es autocontenido (fuera de la referencia a Google Translate para la pronunciación del texto), de modo que puede descargarse y usarse fuera de línea como tablero de letras electrónico.

Enlaces:

  •  Acceso a la aplicación: puesto que se trata de una página HTML, puedes acceder a ella con cualquier navegador desde diegobuendia.com/JuanitaKB.htm.
  • Acceso al proyecto: para aquellos aficionados a la programación que quieran su propia copia del proyecto para mejorarlo o transformarlo, tengo un repositorio en github.com.

EQ17KT llega al tuit número 1000

Para las personas anuméricas, que somos la inmensa mayoría, las cifras singulares tienen una significación especial, igual que para los reyes cruzados los símbolos que creían ver en las nubes del cielo y que eran augurio de éxito en las batallas.

Ya en el caso concreto de EQ17KT, he explicado varias veces que si en el proceso de troceado de El Quijote no me hubiera cruzado con ese número exacto de tuits, 17000, quizás no hubiera sentido el impulso definitivo para poner este proyecto en marcha.

Sirva esta introducción para dar noticia del paso de EQ17KT por el tuit número 1000, que se produjo a las 20:00 (hora española) del día 7 de octubre de 2014. Efeméride que duró poco, ya que a las 20:05 aparecía el tuit 1001: la maquinaria del servidor, numérica ella, no se sintió especialmente impresionada y siguió impasible con su doble entrega.

Confieso que el tuit 1000 estaba previsto para cuatro horas antes, a las 16:00. Esta previsión se frustró por un fallo en la base de datos del servidor, que estuvo inaccesible de madrugada, desde las 2:00 hasta las 5:00. No es la primera vez que hay problemas técnicos, pero sí la primera que me pillan en las horas que dedico al sueño.

Las otras dos veces que el sistema falló (en una ocasión por la base de datos, en otra por una actualización defectuosa de Twitter), me di cuenta y mandé los tuits a mano, aunque con unos minutos de retraso. En esta ocasión no pudo ser. Me ahorré la angustia de verme tuiteando todo el Quijote a mano los dos próximos años, pero al mismo tiempo perdí cuatro tuits de una secuencia que quiero que sea lo más regular posible.

Bueno, con mis disculpas por delante, me veo inclinado a recuperar el tiempo perdido y creo que enviaré a mano esos cuatro tuits, a modo de penitencia. ¿Qué más cosas pueden pasar, si uno se congracia con el Cielo?

¿Por qué tuitear El Quijote?

Cómo empieza todo.

El 23 de agosto de 2014, en el curso del tercer día de una febrada horrible, me distraía en Twitter publicando tuits deprimentes cuando de pronto me sorprendí a mí mismo con este tuit nostálgico:

//platform.twitter.com/widgets.js¡Guau! ¡Twitter en los tiempos de Víctor Hugo! Me fascinan esas ucronías: El papa Urbano segundo publicando en su Facebook la convocatoria para la Primera Cruzada. Dostoyevsky blogueando El Jugador cada noche desde Baden-Baden. Cervantes persiguiendo la fama en Twitter, desesperado por superar en seguidores a Lope de Vega… Y enseguida, siguiendo con la broma, escribí los dos últimos tuits de esa hipotética edición tuitera:  

//platform.twitter.com/widgets.js

//platform.twitter.com/widgets.jsTengo ya la edad del Quijote, pero pero conservo el hábito de hacer estimaciones que adquirí­ de joven, así que durante un rato calculé lo que se tardaría en tuitear El Quijote:

//platform.twitter.com/widgets.js

Esto último era una baladronada. Todavía no tenía el troceador de textos, pero sabía como hacerlo. Dejé el tema ya de madrugada, pero estoy seguro de que durante el sueño estuve dándole vueltas a esta último tuit:

//platform.twitter.com/widgets.js

A pesar del tono burlón, en el fondo es una tesis seria: debe haber alguna forma de acercar la gran cultura a las personas que viven en el mundo virtual. El problema es no saber cómo hacerlo.

Y por qué.

La razón primera es hacer algo que nadie ha hecho antes, y que en primera instancia parece un sinsentido. Visto así, lo que me gusta es la propia naturaleza de locura quijotesca que tiene la idea.

Luego ya se van encontrando razones plausibles:

  • la efeméride próxima del 400 aniversario de la muerte de Cervantes.
  • la curiosidad por ver la respuesta de Internet ante la propuesta.
  • el desafío técnico de programarlo todo.

Me gusta pensar que cada cual encontrará la forma de dejarse acompañar por El Quijote durante este tiempo. Algunos aceptarán la lentitud de la propuesta, y saborearán las palabras encontrando bellezas que quizás pasaron desapercibidas.

Otros se acercarán al libro para sortear su impaciencia, y al día siguiente reconocerán lo leído como se reconoce a un viejo amigo. Otros más intertextualizarán, al estilo de Internet, comentando palabras, buscando en Google o en la Wikipedia el sentido de algunas cosas.

Y seguro que hay maneras de usar esta propuesta que no llego a imaginar. En todo caso, mi obra ahora también pertenece al mundo, y es un alivio dejarla marchar y que se someta por sí misma al juicio de la gente.

Publicado en Libertad Digital, el 12 de septiembre de 2014

Vida y miseria del editor de El Quijote

Obsesión incipiente

Alguien lo dijo en un tuit: si ese tío tuitea el Quijote 24 horas al día, antes de llegar al 700 termina loco. Le expliqué un poco condescendiente que no había problema, que el proceso era automático, pero quizás fue una respuesta demasiado a la ligera. Ahora estoy preocupado, porque igual tenía algo de razón.

Siento un punto de presión incómoda con esta edición del Quijote. Me está afectando personalmente, y eso no estaba previsto. Necesito explicar algunas de las cosas que me están pasando.

Tengo marcado @elquijote1605 como usuario favorito en Twitter. Así el móvil me avisa de sus publicaciones con un sonido muy discreto, y al principio parecía muy conveniente ver pasar las horas y los tuits del Quijote al mismo tiempo. Pero con el paso de los días he llegado a una sensación de hartazgo.

El aviso inocente me pone de los nervios, de puro incansable. Es una tortura, una especie de gota malaya acústica, que empezó inocua pero ahora es poco menos que intolerable. Lo que tenía que ser la tranquilidad de saber que todo iba bien ha terminado siendo la evidencia constante de mi propia esclavitud.

Ese malestar creciente me llevó a poner el móvil en modo zumbador. Creo que fue hace dos días. He perdido algunas llamadas, pero no quiero investigar más, temo que se me desconfigure todo. Ya no oigo el sonido de antes, pero parece que poco a poco he desarrollado una sensibilidad especial, y ahora el avieso zumbido lo percibo tan claro como las trompetas del apocalipsis. Mi única paz es (sería, mejor dicho) apagar el móvil. Pero esto me parece una traición a mi edición del Quijote, y a sus lectores.

También me inquieta lo que me ocurre por la noche. Ya no me acuesto antes de la una de la madrugada, y si lo puedo hacer es porque aprovecho la momentánea tranquilidad de saber que se acaba de publicar el tuit correspondiente. Duermo bien, pero soy de sueño ligero, y a veces me despierto en plena noche y ¿a que no adivináis lo primero que me viene a la cabeza?

Pues sí, ¿estarán ahí los tuits de El Quijote?

A esas horas, mi cerebro no es el de la vigilia, y al revisar los tuits me suele hacer creer que he perdido alguno por el camino. Entonces siento un abismo. Pienso en cuánta gente se habrá sentido traicionada esperando el tuit de las tres de la madrugada. En América es plena tarde, todos se habrán dado cuenta, es horrible. Me despejo bruscamente, vuelo al portátil a comprobarlo todo. Me equivoqué. Todo está bien. Son las cinco. Pero ya no tengo sueño.

Así que duermo poco, y el zumbido del tuit me persigue como si fuera yo el protagonista de aquel cuento de Edgar Allan Poe. Y lo peor es que acabo de empezar, apenas llevo 500 tuits. Quizás aquel tuitero tenía razón. Tengo que reconducir todo esto, esta locura no me lleva a ningún lado.

Temo que sea verdad que me estoy obsesionando.


 

Lo llamaré bifurcación porque parte de la vida real y luego se separa de ella, a medida que se liberan los pánicos que a uno le invaden según la imaginación se va apoderando del cuadro. Por si alguien se preocupó, en realidad estoy muy bien. Nada de lo explicado es real. Casi nada, ciertamente. Bueno, en realidad algunas cosas sí que me están pasando un poco. Pero controlo ¿eh? Lo tengo bajo control. Confío llegar indemne al tuit 700.

 

Leer en los tiempos de Twitter

Las nuevas tecnologías son una maravilla. A veces no advertimos lo que han llegado a cambiar nuestra forma de vivir: quizás para ello hay que tener una edad y esforzarse en recordar cómo era el mundo antes. Entre las cosas que han cambiado de una forma sustancial, y hablo por experiencia, está la relación que tenemos con los libros.

Google: el buscador

El buscador de Google deja atrás los tiempos en que había que ir a la biblioteca a buscar información para hacer trabajos de geografía o historia. Ahora cualquier duda se resuelve en un instante, con solo escribir unas palabras.

¿Consecuencias? ¡Claro! Una de ellas es la banalización del conocimiento. Si todo está en Google, al alcance de un clic, el saber está bien custodiado, por lo tanto no es necesario aprender nada. Cuando necesite el peso atómico del rubidio ya lo buscaré. Una información accesible de forma instantánea se devalúa forzosamente.

Cuando la información se albergaba en incunables, en remotas abadías, la gente pasaba meses viajando para acceder a ella, y más meses aún memorizando o transcribiendo los pergaminos para conservarla. El conocimiento adquirido tendría tanto valor que perderlo sería una tragedia.

Otro efecto perverso es que todo el saber acaba valiendo lo mismo. Cuándo nació Justin Bieber. Técnicas de fusión fría. La receta del gazpacho. Todo el conocimiento tiene el mismo coste: casi cero. ¿Para qué discriminar? El conocimiento se vuelve un producto de usar y tirar. Tenemos una compulsión de saber algo, lo consultamos en Google, nos aliviamos y nos olvidamos.

Cuando el conocimiento costaba, había que valorar y discriminar qué valía la pena y qué no. En ese trabajo se utilizaba la inteligencia y se cultivaba el criterio personal. Todo eso ya pasó a la historia, de alguna manera.

Twitter: la difusión

Twitter es otra herramienta fascinante. Mucha gente entra en Twitter la primera vez y al cabo de unos días lo dejan, desconcertados. A mí me pasó. Uno espera encontrar un producto terminado, listo para consumir, y lo que uno adquiere con su cuenta de Twitter no es más que una puerta abierta a la gran plaza pública. Lo que uno obtenga dependerá de uno mismo; todo está por construir.

Twitter es esa gran plaza pública donde todo el mundo habla. Uno puede escuchar “Quijote” y Twitter tiene el poder de reunir para ti a todas las personas que están usando esa palabra ahora, en todo el mundo. Puedes seguir a varias personas y leer todo lo que escriben. Y puedes tener listas de personas interesante y Twitter te muestra cada uno de sus comentarios. Como emisor, puedes tener muchos seguidores y tu mensaje queda amplificado automáticamente para cada uno de ellos. Es verdaderamente increíble.

Pero también Twitter tiene efectos colaterales en nuestra percepción del mundo. La información es caleidoscópica, fugaz, a menudo no contrastada. No hay otro posible contraste que recuperar y consolidar uno mismo distintas fuentes y esperar que la elección no resulte ser sesgada. Por otra parte, tanta información puede producir un efecto abrumador y paralizante.

Efectos colaterales en la lectura

¿Qué me está pasando?, me pregunté hace un tiempo cuando empecé una novela y me sentí de pronto extraño. Recuerdo dos casos: el Código da Vinci, de Dan Brown, y El doctor Pasavento, de Enrique Vila-Matas.

Tanto Dan Brown como Vila-Matas, cada uno a su manera, citan y citan escritores, ciudades, sucesos, modelos de vehículos, lugares geográficos. Y en mi cabeza, cada cita exigía ser verificada, validada. ¿Existirá realmente esa iglesia románica o ese pueblo del Rosellón? ¿De verdad murió el poeta Robert … un día de Navidad, en un sanatorio suizo?

Al final, acabé por leer novelas con el buscador de Google al lado. Sorprendente.

[IUn ejemplo de ahora mismo. Recordaba la novela de Vila-Matas y la historia del poeta que murió, transtornado, un día de Navidad. Recordaba que escribía notas en trozos de papel con una letra microscópica. Pero no lograba dar con el apellido. Y ahí viene en mi socorro el buscador de Google. Escribo “poeta suizo muerto en navidad microtextos”, y enseguida tengo este enlace: http://es.wikipedia.org/wiki/Robert_Walser. Efectivamente, ahora recuerdo. Walser. Era Robert Walser. Problema solucionado.]

Leer un texto con Google al lado es como leer el Quijote en una edición anotada, intercalando en la lectura todas las notas a pie de página. Se pierde la experiencia absorbente de la lectura, y el poder de fascinación de las palabras se diluye en el exceso de información adicional.

¿Nuevas formas de escribir?

Me ha gustado siempre la literatura, tanto vista con ojos de lector como de escritor. Por eso, a menudo ojeo una novela y me encuentro reflexionando sobre qué es lo que me chirría de un texto que, por otro lado, igual está escrito de un modo impecable. Y suelo pensar cosas como estas:

  • Se debería evitar la información que uno puede recabar en Google. Si el autor puede documentarse en Google, cabe suponer que el lector también. El efecto de descubrir los mimbres de una novela (ese edificio no está en esa calle) es más desalentador que un espoiler. Lo que el escritor tejió como urdimbre de pronto se le aparece al lector como engaño. Esto hace que escribir ficción resulte complicado. A nadie le gusta sentirse objeto de engaño.
  • Si se usa información de la Red, el valor añadido no está en las propias informaciones, sino en las asociaciones que el escritor establece entre ellas. Es el único aspecto en el que la mente del creador puede brillar: en decidir la forma en que unos enlaces conectan con otros. Encontrar esa forma original de llegar desde la receta del gazpacho a las técnicas de fusión nuclear.
  • Sigue vigente explorar las vivencias de los personajes, más que sus azares mundanos. Un ejemplo claro es Ana Karenina, de Tolstoi. Esa novela genial describe el alma de la protagonista y su transformación a lo largo de su peripecia vital. No hay necesidad de recurrir a Google para intertextualizar nada.
  • La narrativa clásica, lineal y tranquila, casa mal con estos lectores familiarizados con el ritmo sincopado y breve de los mensajes de Twitter y los programas de zapping. La descripción de la alameda junto al río tendrá que adaptarse de algún modo a nuevas formas caleidoscópicas y breves. Al lector le atraerá tener un puzzle de piezas diferentes porque podrá dedicarse a construir por sí mismo la solución al enigma.

Estas son algunas de mis reflexiones sobre la literatura y las redes sociales. Cada cuál tendrá (o no) las suyas. Si me queréis hacer partícipe de las vuestras, estoy por aquí. Saludos,

 

Por qué EQ17KT es como es

¿Por qué hay que leer de abajo arriba?

Pues porque Twitter publica los tuits en orden cronológico inverso: los más recientes aparecen primero, desplazando a los anteriores hacia abajo. Para visualizar en orden cronológico creciente, podría publicar los tuits de EQ17KT al revés. Así el orden aparente sería el natural, pero tendría que empezar a publicar por el final, y terminar con el famoso “En un lugar de La Mancha…” del inicio. No se podría leer el texto completo hasta haber publicado el último tuit, que a la sazón sería el primero, cuando el plan era, por el contrario, publicarlo por entregas sucesivas para poder leerlo desde el principio.

¿Por qué no quitas los encabezados?

Los encabezados (QUIJOTE nnn) los puse para que fuera más fácil distinguir los tuits en una línea de tiempo con muchos mensajes. El número me pareció importante para identificar tuits consecutivos, porque algunas veces el API de Twitter se salta algunos tuits y uno termina devanándose los sesos tratando de casar dos tuits, cuando resulta que es Twitter el que se ha saltado alguno intermedio.

Otra razón para no cambiar ahora es que, a la hora de calcular cuántos tuits tiene El Quijote, estos encabezados formaban parte del cálculo, y por tanto suprimirlos también cambiaría el número de tuits resultantes. Y, qué queréis que os diga, yo ya estoy encariñado con el 17000, el número mágico.

¿Por qué cortas las frases un poco así?

Porque el algoritmo es especialmente simple, como corresponde a lo que se desarrolla deprisa y corriendo, con fiebre y hecho un trapo. Lo que hice fue tomar bloques de 180 caracteres e ir eliminando palabras por el final, hasta tener menos de 140. Así no hay mucha garantía de completitud sintáctica, realmente. Con todo, en algunas ocasiones los tuits acaban bien; en esos casos uno celebra especialmente la circunstancia, cosa que no ocurriría si el algoritmo fuera más listo. En este caso asumiríamos que acierta siempre y lo que tendríamos es decepción en los contados casos que no.

Para la segunda edición, me he prometido hacer un algoritmo más inteligente, al que poder criticar con liberalidad y no tratar con indulgencia, como a éste.

¿Cómo leerías tú EQ17KT?

Yo tengo habilitadas las notificaciones de Twitter para el usuario @elquijote1605, de modo que cuando publico un tuit el móvil me avisa. A mí me va bien porque así puedo verificar que la máquina trabaja correctamente, pero admito que es un tanto paranoico para una persona normal.

Quizás es más sano verlo pasar por la línea de tiempo de una forma casual, y, si el tiempo lo permite, ir a los tuits de @elquijote1605 para ver los anteriores y poner el tuit en contexto. Y luego, en un momento más tranquilo, ir a http://protopol.com/quijote17000 para ver lo publicado durante el día. En esta página se puede leer secuencialmente y acceder a cada tuit original (basta pulsar en el número pequeño al principio de cada uno) para certificar que el tuit se publicó.

Termino poniéndome un poco lírico: leer la página tranquilamente, saborearla, y esperar al día de mañana, sin dejar que a uno las prisas le afanen, es un pequeño lujo en estos tiempos de premura. Y con la intención de disfrutarlo es que andamos publicando esta versión de El Quijote en Twitter.

El Quijote en 17000 tuits: detalles técnicos

Desde el 1 de septiembre de 2014 estoy publicando las dos partes de El Quijote en Twitter. En este artículo explico algunos detalles técnicos para aquellos que se han interesado.

La fuente

Para calcular cuántos tuits serían necesarios, me descargué el texto digitalizado desde el Proyecto Gutemberg y eliminé los avisos legales del inicio y el final. También eliminé el prólogo de Cervantes y los sonetos para poder empezar con el famoso “En un lugar de La Mancha…”. Ahora creo que hubiera sido mejor respetarlos, pero es ya una decisión irreversible. Con estos ajustes, el texto tiene 2.151.251 caracteres.

El troceado

El troceado de El Quijote en tuits lo hice mediante un algoritmo que está explicado aquí. La idea es tomar unos 180 caracteres cada vez e ir eliminando palabras enteras hasta que el resto no supere los 140 caracteres disponibles en un tuit. El hecho de que saliera un número redondo de tuits, 17000, tuvo mucho peso en la decisión de tirar adelante el proyecto. Los matemáticos saben que un número no tiene una significación distinta de otro, pero el hombre común sí que siente la fascinación de los números singulares.

La tasa

El cálculo de la tasa de tuits por día producía un valor de 28’45, y por eso en un primer momento opté por enviar un tuit por hora, a sabiendas de que se produciría un desfase progresivo. La solución era publicar al doble de velocidad los tres últimos meses. Más tarde he pensado que tres meses a tuit cada media hora es un poco excesivo, incluso para quien haya tenido la paciencia de llegar hasta ahí, y ahora lo que hago es añadir esos cuatro tuits diarios de más como repicón (a las 8:05, 12:05, 16:05 y 20:05 horas). Cada dos días añado un tuit a medianoche (a las 00:05 horas) para cubrir esos 0’45 tuits diarios que restan. Con el tiempo este último tuit desaparecerá.

La infrastructura

Toda la aplicación está alojada en un servidor de Arvixe, un proveedor que me recomendó un amigo. Es económico y permite programar en PHP y Python, aunque el soporte para éste último lo he tenido que configurar yo para trabajar con la versión 3.4. El coste es de unos 74€ por dos años.

El sistema se sustenta sobre dos tablas MySQL, una que contiene todos los tuits y otra que registra los tuits que se han publicado ya. Un programador de tareas (el cron de Linux) se encarga del envío periódico. Todos los scripts se escribieron en Python, un lenguaje de programación que recomiendo por lo simpático que es en comparación a otros que he conocido. A pesar de su simplicidad aparente, es un lenguaje potente, y sobre todo, tiene una amplia colección de librerías, como por ejemplo la que permite publicar en Twitter.

Vínculos

Perfil de ElQuijoteEn17000Tuits en Twitter.

Página con lo publicado hasta hoy.

Y eso es todo. Si queréis más precisiones, aquí tenéis los comentarios o podéis recurrir al correo. También me podéis encontrar en mi otra cuenta de Twitter. Saludos a todos!

 

Tuitear El Quijote!

[code language=”python”]
import re
import codecs

LIBRO = ‘QUIJOTE’
num_tweet = 1
PATRON = ‘(W)’
LONGITUD_FRAGMENTO = 180
LONGITUD_TWEET = 140
CABECERA = ‘{libro} {num_tweet}. ‘

## Cargo el texto. El original en
## http://www.gutenberg.org/files/2000/old/2donq10.txt
## He suprimido los encabezados, incluyendo el prólogo
## de Cervantes y los sonetos, para empezar por el
## emblemático ‘En un lugar de La Mancha…’ —-
fichero = codecs.open(‘quijote.txt’, ‘r’, ‘utf-8’)
quijote = fichero.read()
fichero.close()

## En este algoritmo, el texto se va recortando por
## su principio según se va usando —-
while quijote:

## Se toman 180 caracteres, que sobren, para recortar —-
quijote_fragmento = quijote[:LONGITUD_FRAGMENTO]

## La cabecera es ‘QUIJOTE 125. ‘, por ejemplo —-
cabecera = CABECERA.format(libro=LIBRO, num_tweet=num_tweet)
longitud_cabecera = len(cabecera)

## Esto serán los caracteres disponibles para tuitear —-
longitud_disponible = LONGITUD_TWEET – longitud_cabecera

## Aquí troceamos por palabras. Si la plantilla incluye
## paréntesis en los grupos de captura, también se guardan
## los separadores. Ver documentación Python:
## https://docs.python.org/3.4/library/re.html —-
pedazos_fragmento = re.split(PATRON, quijote_fragmento)

## Tomamos los, digamos, 20 fragmentos, y vamos quitando
## del final (19, 18…), hasta que el número de caracteres
## que quedan encajan en el espacio disponible —-
for i in range(len(pedazos_fragmento), 0, -1):

tweet_menguante = ”.join(pedazos_fragmento[:i])

if len(tweet_menguante) <= longitud_disponible:
## Cuando ya cabe, unimos cabecera y cuerpo y listo —-
tweet = cabecera + tweet_menguante
num_tweet += 1
quijote = quijote.replace(tweet_menguante, ”, 1)

## Ya podemos salir del bucle de trozos menguantes —-
break

## Aquí imprimimos el tuit, o lo guardamos en una base de datos
## para usarlos ya pretroceados más adelante —-
#print(tweet)
if num_tweet % 100 == 0: print(num_tweet)

[/code]