Info

Hola.

There was a man of double deed,
Who sowed his garden full of seed;
When the seed began to grow,
‘Twas like a garden full of snow;
When the snow began to melt,
‘Twas like a ship without a belt;
When the ship began to sail,
‘Twas like a bird without a tail;
When the bird began to fly,
‘Twas like an eagle in the sky;
When the sky began to roar,
‘Twas like a lion at my door;
When my door began to crack,
‘Twas like a stick across my back;
When my back began to smart,
‘Twas like a penknife in my heart;
And when my heart began to bleed,
‘Twas death, and death, and death indeed.

(más…)

A modo de prueba, programé un bot de Twitter que cada una hora publica un poema generado de manera aleatoria.

Para funcionar, el bot se nutre de versos tomados de alrededor de 600 haikus de autores reconocidos. Estos haikus están disponibles para ser consultados, y además, es posible sugerir más.

En general, el resultado es un micropoema sin sentido. Quizás, algo parecido a la poesía abstracta. A veces ni siquiera hay coherencia gramatical, pero otras veces surgen combinaciones interesantes.

Los siguientes son algunos ejemplos de lo que hace un_haiku:

Hoy por primera vez subí una aplicación a PyPI, el repositorio oficial de aplicaciones Python. Se sintió más o menos como cuando publiqué mi primer artículo en Wikipedia. Es decir, está bueno pero todos sabemos que no es algo tan importante.

La aplicación se llama django-easy-audit. Es una app de Django muy sencilla, que sirve para llevar un registro de todo lo que hacen los usuarios del proyecto. Algo así como una aplicación para hacer auditoría.

Qué hace

django-easy-audit utiliza las señales de Django para escuchar todos los eventos que suceden en tu proyecto, tales como cuando un usuario crea, actualiza o elimina un registro. Esto aplica a todos los modelos de todas las aplicaciones en tu proyecto.

Cuando alguno de estos eventos tiene lugar, django-easy-audit lo registra en el modelo CRUDEvent. Podés consultar esta información en el administrador de Django.

Además de registrar los eventos CRUD, django-easy-audit también registra cada login, logout o login fallido de los usuarios. Esta información se guarda en el modelo LoginEvent.

Por qué usarlo

Existen muchas aplicaciones para hacer auditoría de proyectos Django, pero la mayoría requiere que modifiques partes muy importantes de tu código. Por ejemplo, requieren que agregues campos a tus modelos, o que los hagas heredar de una clase determinada. Otras aplicaciones crean un espejo de cada uno de tus modelos, lo cual significa migraciones duplicadas. Etc.

No es que no funcionen o que no sean muy buenas aplicaciones. Pero en caso de que necesites algo más fácil y que no quieras que tu proyecto dependa tanto de una aplicación de terceros, django-easy-audit podría ser tu mejor opción.

Lo bueno de esta aplicación es que es fácil y rápida de instalar, y comienza a registrar eventos inmediatamente, sin que tengas que inyectar código en ningún lugar de tu proyecto.

Instalación

Para una mejor explicación, visita el repositorio en GitHub.

  1. Instala django-easy-audit ejecutando: pip install django-easy-audit
  2. Agrega “easyaudit” a las aplicaciones de tu proyecto (INSTALLED_APPS en settings.py).
  3. Agrega “easyaudit.middleware.easyaudit.EasyAuditMiddleware” al middleware de tu proyecto (MIDDLEWARE_CLASSES en settings.py).
  4. Ejecuta python manage.py migrate easyaudit para crear los modelos de la aplicación.
  5. ¡Listo! Ahora cada evento CRUD que suceda en todo tu proyecto será registrado en los modelos de auditoría, que podés consultar utilizando el administrador de Django.

Notas

A esta aplicación le faltan muchas cosas, que iré haciendo a medida que tenga tiempo. Por cualquier duda al respecto, o para reportar algún bug o sugerencia, podés contactarme vía Twitter a @soynatan o por email a natancalzolari@gmail.com.

Links

tumblr_nv1bxzzh951qggwnvo1_1280

Odio la marihuana. La odio incluso más que a las drogas duras. He enseñado en escuelas secundarias durante 25 años y odio lo que la marihuana le hace a mis alumnos. Va más allá de que no hagan la tarea. Mis alumnos se vuelven menos curiosos cuando comienzan a fumar marihuana. Lo he visto una y otra vez. La gente dice que la marihuana te hace más creativo, pero por lo que he visto, le cierra la mente a mis alumnos, al punto en que sólo hacen referencia al mundo en relación a la droga. Dicen cosas como: “Fui a la playa y me súper fumé”, o “Fui a un recital y me fumé todo”. Empiezan a elegir a sus amigos basados en la droga. Odio cuando la gente dice que es sólo para experimentar. Porque por lo que he visto, es entonces cuando mis alumnos dejan de experimentar.

Humans of New York

img_2014

Lago Espejo, Neuquén (Camino de los siete lagos)

There’s so much more to life than finding someone who will want you, or being sad over someone who doesn’t. There’s a lot of wonderful time to be spent discovering yourself without hoping someone will fall in love with you along the way, and it doesn’t need to be painful or empty. You need to fill yourself up with love. Not anyone else. Become a whole being on your own. Go on adventures, fall asleep in the woods with friends, wander around the city at night, sit in a coffee shop on your own, write on bathroom stalls, leave notes in library books, dress up for yourself, give to others, smile a lot. Do all things with love, but don’t romanticize life like you can’t survive without it. Live for yourself and be happy on your own. It isn’t any less beautiful, I promise.

— Emery Allen

stranger-things-netflix

Holy Molly! Qué buena que está Stranger Things. Hacía mucho que una serie no me producía esas ganas de que llegue la noche para ver tres o cuatro capítulos al hilo antes de irme a dormir. Un grupo de amigos aventureros, una conspiración gubernamental para ocultar eventos paranormales, un caso por resolver, una nena con poderes, humor, suspenso. Todo basado en los ochentas y en un pueblo de mala muerte. Sí, está llena de clichés, ¿pero a quién le importa? La atmósfera me lleva a mis diez años, a volver a ver una película de Steven Spielberg por primera vez, mientras que la historia tiene elementos que me recuerdan un poco a mis queridos X-Files. Como suele pasar con las primeras temporadas, ocho capítulos me quedaron cortos. ¿Y ahora qué miro?