Archivo

  
Instalando Linux con UEFI
  
Plugins en Python
 
  
ipython autoreload
 
  
Limpiando Dockers antiguos
 
  
LAMP con Docker
 
  
Monitorización con ElasticSearch, Kibana y TopBeat
  
Sistemas distribuidos modernos
 
  
Dominios con AWS Route 53
 
  
Django no encuentra las CSS del módulo Admin
 
  
MagMaxBlog Newsletter
  
¿Es la cobertura de código irrelevante?
 
  
Cambiando los colores a Jenkins
 
  
Lo que me gustaría que hubiéramos hecho...
 
  
Por qué odio Windows
  
Tests de aceptación con Fitnesse
 
  
Tests de aceptación con Robot
 
  
Calculando la letra del DNI
 
  
Cómo puede cambiar los despliegues Docker
 
  
Docker
 
  
Puppet templates hint: quitando espacios
 
  
Midiéndolo todo con StatsD
 
  
Yapsy, un sistema de plugins pythónico
 
  
Gráficas basadas en tiempo: Graphite
 
  
Creando tu propia Entidad Certificadora SSL (y volcando certificados autofirmados)
  
Colas de mensajes: RabbitMQ
 
  
Monitorización y alertado
 
  
En busca de los cinco 9s: Calculando la disponibilidad de sistemas complejos
 
  
Peewee, un ORM para Python
 
  
Cómo funciona Internet
  
Python distribuido: Celery
 
  
Django lo hizo un mago: plantillas y contextos
 
  
JavaScript limpio
 
  
Git: recuperación de changesets perdidos
 
  
Django lo hizo un mago: paginación y detalle
 
  
Django lo hizo un mago
 
  
Trabajando con GitHub de forma efectiva
 
  
Principios básicos de programación
  
Fish y Zsh
 
  
Migrando a Nikola
 
  
annotate-output
 
  
Retrospectiva a la #PyConEs2014 (2)
 
  
Retrospectiva a la #PyConEs2014 (1)
 
  
Cárnicas
  
Primeros pasos en Jenkins
 
  
Niveles de automatización
 
  
Redondeos matemáticos
 
  
Combinando Git y Subversion
 
  
Publicando artefactos Python
 
  
ElasticSearch y Logstash
 
  
De Jekyll a Octopress
 
  
Gist: Servidor SMTP de pruebas
 
  
Testing en django: mejoras
 
  
Gist: instalando Firefox con Salt
 
  
Fracasos
  
LAMP con Salt
 
  
Primeros pasos en AngularJS
 
  
Aprender es duro (retrospectiva 2014)
 
  
Code Retreat Global Day 2013: Retrospectiva
 
  
WebViews en el escritorio
 
  
Micro-framework web en Python
 
  
Usando Git(3): Internals
 
  
Webdriver: crackeando la web de Renfe
 
  
LAMP con Puppet
 
  
Usando Git(2): varios working copies
 
  
Usando Git(1)
 
  
YUI, JQuery y JavaScript en general
 
  
Micro-receta: Java en Awesome WM
 
  
Python avanzado
 
  
Python básico
 
  
Selectores CSS
 
  
Munin: creando plugins
 
  
Munin
 
  
Bootstrap en 5 minutos
 
  
Bootstrap
 
  
Patentes
 
  
Hg vs Git
 
  
Interfaces
 
  
Patrones: Observer (Java/Python)
 
  
Python Tornado: Web Testing
 
  
Python Tornado
 
  
Selenium y QA Automation: PageObjects
 
  
Emacs y ficheros basura
 
  
Selenium y QA Automation: tests
 
  
Selenium y QA Automation
 
  
Why Python rocks
 
  
Buildbot: cómo se organiza
 
  
Por qué make mola
 
  
Why Java Rocks
 
  
Retrospectiva OpenSpace Persistencia #OSPMAD
 
  
Programación funcional
 
  
Por qué LaTeX mola
 
  
Retrospectiva 2012
 
  
Un año en Tuenti
 
  
Retrospectiva al OpenSpace #juguemOS
 
  
10 razones para evitar el Desarrollo Dirigido por Tests
 
  
Guardar la configuración de tu máquina
 
  
Git
 
  
Python 3 es lento (I)
 
  
¿Qué es un 'Ingeniero'?
 
  
Por qué Ruby mola
 
  
MongoDB
 
  
Por qué C mola
 
  
Entonando el 'Mea Culpa
 
  
Integración contínua: BuildBot
 
  
Integración continua: Jenkins
 
  
Unit tests en Java (II)
 
  
Unit tests en Java
 
  
Por qué PHP mola
 
  
Por qué python mola
 
  
JBehave y JUnit
 
  
Por qué Java mola
 
  
Pruebas Unitarias: Proveedores de datos
 
  
Python: tu directorio en la web
 
  
No somos islas
 
  
Cómo funcionan las cosas
 
  
El compilador de Python desde dentro
 
  
Vagrant y Puppet
 
  
Python curses
 
  
Programar sin condicionales
 
  
Colorit
 
  
No lo llames 'util', llámalo 'helper
 
  
Migrando de nuevo
 
  
Agile ha muerto. ¡Viva post-agile!
 
  
Jekyll: construyendo una web estática
 
  
Estadística
 
  
Monitores en GNU/Linux
 
  
Retrospectiva al #codemotion #es
 
  
¿Por qué 'por que'? Porque el porqué importa.
 
  
DevOpen Madrid 2012
 
  
El currículum
 
  
Alternativas
 
  
Apache: Autenticación básica
 
  
Tuenti, un mes después
 
  
Es lo que hay
 
  
Bloquear un paquete en Debian
 
  
Sistemas de Control de Versiones (Subversion y Mercurial)
 
  
Constructores simples
 
  
Repasando: Árboles y Grafos
 
  
El patrón Singleton
 
  
JBehave
 
  
Estático vs Dinámico
 
  
Maven
 
  
Retrospectiva 2011, Sprint 2012
 
  
Tuenti
 
  
Cómo transformar un proyecto Netbeans en uno Maven
 
  
Un día en Codice Software
 
  
Virtualbox: qué hacer cuando no tienes tu vboxdrv
 
  
Code Coverage o cómo engañarte a ti mismo
 
  
Code Retreat Global Day: Retrospective
 
  
Python: Cómo hacer pruebas 5: freshen
 
  
Java Swing: Cerrando un Dialog.
 
  
Pasos para crear un proyecto en Django
 
  
Crea tu propio lenguaje de programación con... python
 
  
Python: Cómo hacer pruebas 4: pyDoubles
 
  
Python: Cómo hacer pruebas 3: nose y hamcrest
 
  
jQuery: Usando los estilos
 
  
Scrum para Proyectos Fin de Carrera
 
  
Python en la web
 
  
Python: Cómo hacer pruebas 2: unittest
 
  
Lecciones aprendidas en la XPWeek
 
  
Python: Cómo hacer pruebas 1: doctest
 
  
Python: Asignaciones con valores por defecto.
 
  
Ingeniería de software: el nuevo concepto
 
  
Cutre-framework de pruebas en Ansi C
 
  
Cocina: Tarta de queso
 
  
Ajax, principios básicos
 
  
Django: Test del modelo y Fixtures
 
  
Django: Creación de un sitio básico con Admin
 
  
Resaltado de sintaxis en tu web
 
  
Enumerados Java: no sólo enumerados
 
  
No comentes: ¡Asegura!
 
  
Artesanía de Software: De qué va todo esto
 
  
Atheist, No seas crédulo ¡¡Prueba!!
 
  
Migrando el site: lecciones aprendidas
 
  
Virtualenv: aislando nuestro entorno python.
 
  
Buenas prácticas en Ansi C (1)
 
  
Buenas prácticas en Ansi C (2)
 
  
Pruebas con Bases de Datos en memoria: DBUnit + HSQLDB
 
  
Formatos simples: XML, Yaml, Json, Properties e 'Ini
 
  
Pruebas web: selenium + atheist
 
  
Atheist: Probando módulos C
 
  
Mi gnome3 pone cosas raras en lugar de tildes y eñes
 
  
Apache Derby, tu base de datos relacional
 
  
Charla sobre startups en internet #XGN
  
Solucionar el Spam en Drupal
 
  
¡¡Qué viejo soy!!
  
Historias cortas
  
Por qué no escribo últimamente
  
Objetivo de cobertura de código: ¡el 80% y no menos!
 
  
Una ancianita en el portal
 
  
Retrospectiva 2010, Sprint 2011
 
  
Rails: Crear un ToDoList básico en 1 minuto
 
  
Módulo Kohana
 
  
Kohana: Tutorial 1
 
  
Crítica a Drupal
 
  
Patrones de diseño mediante ejemplos
 
  
Pruebas de sistema: Concordion
 
  
Pruebas unitarias: Mocks y Stubs
 
  
Llenar un Select con datos Dinámicos
 
  
Hacer cosas
 
  
Patrones 1: Sistema de log
 
  
Cómo programar mal: La API de Windows (I)
 
  
Netbeans y Templates
 
  
XML vs JSON
 
  
SQL: Elementos con un número indeterminado de columnas
 
  
Centrar una ventana en Java (Swing)
 
  
Remind: a text based agenda and todolist manager
 
  
Drupal: Creando contenido con 'expansors
 
  
Aplicaciones multilingües, gettext
 
  
bash-completion: the greatest things since bash completion
 
  
vnstat: a console-based network traffic monitor
 
  
Fonty Python
 
  
Debaday
 
  
Recuperar Grub
 
  
Creación de un módulo Drupal II
 
  
Creación de un módulo Drupal III
 
  
Creación de un módulo Drupal IV
 
  
Creación de un módulo Drupal
 
  
Tarta de manzana
 
  
El secreto de la vida
 
  
Middleware
 
  
Experimentos de química
 
  
Hibernate con Netbeans
 
  
Tablas GTK: realizar una acción al cambiar la selección
 
  
Drupal no me muestra los comentarios
 
  
Derechos fundamentales de Internet
  
Tablas en Drupal: Haciendo una tabla perfecta
 
  
Google-Adicción
 
  
Quitar manchas