MagMax Blog

Aviso: En este blog puede encontrar código!

Publicando Artefactos Python

| Comments

Hace un par de semanas que comencé un proyectillo Python que se ha transformado en mi primer paquete pypi serio. Bueno, realmente se ha transformado en dos paquetes, lo que me ha hecho darme cuenta de lo repetitivo de algunas tareas… Y cómo no, he decidido compartirlo aquí.

Así aprovecharé para contar algunas lecciones aprendidas, ahorrando así tiempo la próxima vez y ayudando a otros. De hecho, ya estoy preparando el siguiente XD

Comenzaré desde el principio del todo: la creación del repositorio.

ElasticSearch Y Logstash

| Comments

Se han puesto de moda las bases de datos No-SQL. El tratamiento de datos masivo y el escalado horizontal (sharding) están a la orden del día.

Gestionar granjas de servidores es cada día más común, y cada vez es todo más distribuido.

Esta distribución dificulta la gestión de logs y trazas: ¿Qué ocurrió para que saltara una excepción, cuando cada paso de la ejecución se realizó en una máquina diferente?

Es en este escenario en el que surge una solución libre con Logstash y ElasticSearch.

De Jekyll a Octopress

| Comments

Los que me seguís sabéis que este blog estaba construido con Jekyll. Sin embargo, he descubierto que Octopress tiene un pequeño ecosistema bastante interesante, y quería comentar mis impresiones.

Contaré también algunos trucos a los que he recurrido, así como los mayores problemas.

Gist: Servidor SMTP De Pruebas

| Comments

A veces escribimos programas que tienen que enviar emails y no queremos que estos lleguen a su destino, ya que estamos en pruebas.

Una opción es instalarnos nuestro propio servidor SMTP y redirigir el tráfico. Sin embargo esta opción es propensa a fallos.

La mejor manera es utilizar un servidor SMTP dummy que nos permita ver el contenido de los mensajes sin enviarlos. Y Python nos lo pone fácil:

$ sudo python -m smtpd -n -c DebuggingServer localhost:25

Ya está. Ahora podéis configurar vuestro servidor SMTP en “localhost:25” sin seguridad, y los mails que enviéis los veréis en pantalla.

Más información en la propia documentación de python.

Y mis agradecimientos a @jplana por el hint!

Testing en Django: Mejoras

| Comments

A menudo, cuando me pongo a hacer algo en Django y escribo mis primeros tests, los noto pesados y desordenados. Me resulta difícil diferenciar entre tests unitarios, de integracción y de aceptación.

De la misma manera, suele ser una aventura añadir coverage, ya que nunca me acuerdo de cómo se hace.

En este artículo describiré cómo hacer ambas cosas.

Gist: Instalando Firefox Con Salt

| Comments

En el artículo LAMP con Salt vimos los pasos para utilizar Salt. En esta ocasión sólo mostraré cómo instalar Firefox.

Hace tiempo que Firefox dejó de estar en Debian. No voy a entrar en si me parece buena idea ni en los motivos, pero sí en el hecho de que no se incluye en mi distribución favorita. Se supone que iban a mantener Iceweasel, pero la realidad es que [Iceweasel está en la versión 10.0 mientras que Firefox en la 28.0.

Como estoy intentando manejar mis máquinas con Salt, necesito una manera fácil y repetible de instalarlo.

Fracasos

| Comments

Durante mi vida laboral he vivido numerosos éxitos y fracasos. De lo que más he aprendido es de los fracasos, tanto propios como ajenos. Y admitámoslo: los fracasos son mucho más divertidos que los éxitos.

Hace ya algún tiempo que un amigo está intentando tirarme de la lengua (o de la tecla en este caso) para que escriba un artículo con todos estos fracasos… Pues bien, aquí está.

Éste es el artículo dedicado a todas las personas que han propiciado estos fracasos, gracias a los cuales he aprendido casi todo lo que sé.

LAMP Con Salt

| Comments

De la misma manera que hace unos meses conté cómo crear un entorno LAMP con Puppet, en esta ocasión haremos lo mismo con Salt, también conocido como SaltStack:

  • crear una máquina virtual con Vagrant
  • configurar Salt
  • instalar todo un entorno LAMP (Linux + Apache + MySQL + Php)
  • descargarnos la web de un repositorio remoto Git
  • servir su contenido desde el servidor Apache.

Y, nuevamente, todo en unos 10 minutos.

Este artículo va por David P., que me habló de Salt, José Antonio, que me preguntó por twitter qué sistema es el mejor, y por @ricbartm, con quien estube hablando este viernes sobre Salt ;)

Primeros Pasos en AngularJS

| Comments

Llevo desde el verano investigando Yui… Para terminar pasándome a AngularJS.

Uno de los primeros problemas que veo cuando se comienza una página web es gestionar la barra de navegación. El simple hecho de resaltar la opción de menú seleccionada es un problema… Salvo que utilices AngularJS.

En este artículo veremos cómo crear un proyecto AngularJS con Bootstrap desde cero, y le añadiremos una barra de herramientas completamente funcional.

Aprender Es Duro (Retrospectiva 2014)

| Comments

Estoy muy cabreado.

Llevo estudiando sin parar para hacer páginas chulas en tiempos decentes durante años.

Pues bien. Cada vez tengo más la impresión de que he perdido el tiempo.

Además, siempre he odiado Javascript. Pues resulta que está de moda.