MagMax Blog

Aviso: En este blog puede encontrar código!

Cárnicas

| Comments

Más que un post, en este caso comparto una reflexión: ¿Qué hace que una empresa pase a denominarse “cárnica”?

La conclusión es que es muy sencillo.

Esta reflexión ha surgido de una conversación con un compañero de viaje.

Primeros Pasos en Jenkins

| Comments

Me he dado cuenta hace poco de que, con todos los artículos que he escrito y llevando más de 2 años y medio cuidando del Jenkins de Tuenti, aún no he escrito nada sobre este sistema de integración contínua.

Así que vamos a solucionar el problema.

Niveles De Automatización

| Comments

Hace poco escribí un twit sobre los niveles de automatización. Desgraciadamente, en 140 caracteres no podía meter todo lo que me gustaría y tampoco podía corregir el error cometido, a pesar de ser importante. Aunque parece que nadie se dio cuenta :D

Pero para eso tengo mi blog.

Aquí contaré cómo veo yo los distintos niveles de automatización, desde la automatización más básica a la más avanzada, con ejemplos y software que puede ayudar a obtener ese nivel.

Faltarán cosas… Sobre todo programas. Agradecería si pudiérais completarlo en comentarios. Si es software privativo, es bienvenido si la entrada no es publicidad cantosa; pero si es libre, mucho mejor.

Combinando Git Y Subversion

| Comments

El otro día mi amigo Diego D. me propuso un problema. Él ya tenía una posible solución, pero quería contar también con mi opinión.

A menudo, cuando tenemos un problema no somos los únicos en enfrentarnos a él. Por eso he decidido publicar aquí mi solución, algo más elaborada de cómo se la conté a él, por supuesto.

Y éste es el problema: Nuestra empresa utiliza Git, y una subcontrata utiliza Subversion. Cada vez que la subcontrata nos tiene que enviar código, lo hace a través del email (ésto no es tan raro, yo también lo he sufrido). Claro, eso supone perder el tiempo colocando los archivos en su sitio y mergeando a mano, con todos los problemas que esto supone.

Veamos mi solución. Si alguien tiene otra mejor, por favor, que lo diga.

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.