Creando tu propia Entidad Certificadora SSL (y volcando certificados autofirmados)


Otro artículo que no es mío original, pero sinceramente, la idea que tengo de certificados es la justa. Este artículo ma ha parecido que va al grano y que cuenta por qué aparece el incómodo mensaje de "certificado no confiable" y cómo evitarlo.

El artículo original es Creating Your Own SSL Certificate Authority (and Dumping Self Signed Certs), y creo que el autor es Tony Bourke, mirando los comentarios.

Espero que os parezca tan interesante como a mí, aunque el último ejemplo lo he añadido sólo por completitud.

Leer más…


Colas de mensajes: RabbitMQ


Cuando se desarrolla una aplicación y ésta comienza a crecer, a menudo necesitamos interconectar distintos componentes. En estos casos se utiliza un middleware que nos permita comunicar las distintas piezas.

Una opción es usar una cola de mensajes. No es el mecanismo más rápido, pero probablemente sí el más sencillo, y permite realizar acciones de forma asíncrona.

Y un gestor de colas de mensajes sencillo, robusto y muy utilizado es RabbitMQ.

Leer más…



En busca de los cinco 9s: Calculando la disponibilidad de sistemas complejos


Este artículo es la traducción del artículo In search of five 9s: Calculating Availability of Complex Systems, publicado por un tal Bill el 29 de Octubre de 2007. Dado que el artículo original tiene demasiado texto, me he visto obligado a modificar la maquetación y añadir títulos.

Puede parecer un poco largo, pero es realmente interesante. Aunque tiene muchas fórmulas es sencillo de entender, gracias a los ejemplos.

Y he elegido este artículo porque con el cloud que está tan de moda resulta sencillo y relativamente barato redundar máquinas.

Además, éste es el tipo de artículos que realmente me hacen sentir como Ingeniero.


Leer más…


Peewee, un ORM para Python


Estoy acostumbrándome a usar Django para casi todo, y su ORM para acceder a la base de datos. Es muy completo y permite evitar tener que escribir SQL a mano, añadiendo la posibilidad de cambiar de motor de base de datos sin que sea traumático.

Sin embargo, a veces necesito guardar cosas en disco desde programas de línea de órdenes, y no me parece bien depender de Django para algo así. En estos casos suelo usar Shelve, de la librería estándar, pero no es lo suficientemente versátil: no admite concurrencia.

En este post voy a explicar cómo utilizar Peewee como ORM.

Leer más…


Cómo funciona Internet


Recientemente, la Audiencia nacional ha dado un plazo de 72 horas a los proveedores de Internet para bloquear (censurar) todo acceso a The Pirate Bay:

Éste es un artículo en el que voy a contar cómo se ponen puertas al campo, cómo se ha aplicado esta resolución y, en general, cómo funciona Internet.

Es algo que podríais encontrar en cualquier libro de redes básico, como comprobaréis los lectores más avanzados.

Leer más…


Python distribuido: Celery


Ahora están de modas las arquitecturas SOA (Service Oriented Architectures). Estas arquitecturas consisten en pequeños servicios muy específicos, de manera que interactúan unos con otros.

En esta ocasión voy a contar cómo utilizar Celery para crear una arquitectura SOA.

Leer más…


Django lo hizo un mago: plantillas y contextos


En el tutorial Django lo hizo un mago expliqué los conceptos básicos de Django. En Django lo hizo un mago: paginación y detalle añadimos paginación y la ventana de detalle. En esta ocasión vamos a ponerlo bonito mediante plantillas, y crearemos cierto estilo añadiendo también contextos.

Para los que sepan algo de Django, no es necesario seguir los tutoriales anteriores, aunque sí es recomendable para los más novatos :D

Leer más…


JavaScript limpio


No soy quién para escribir un post sobre JavaScript, y menos sobre buenas prácticas. Sin embargo, el otro día mi colega @pladaria, que sí que es un crac de JavaScript, me dio un curso intensivo de 10 minutos... y le pedí permiso para transcribirlo en mi blog.

Me gustó todo lo que dijo, así que trataré de ser fiel.

Leer más…


Git: recuperación de changesets perdidos


Hoy me he enfrentado a un problema algo desagradable en Git: Borré un commit. Básicamente había perdido un artículo de mi blog y algunos cambios más.

En condiciones normales, esto hubiera sido una pérdida terrible. Pero en este caso Git vino al rescate.

Pondré un ejemplo para perder changeset y después recuperarlos. Si tenéis prisa, saltad directamente a la sección "cómo recuperar un commit" :D

Leer más…