<?xml version="1.0" encoding="UTF-8"?>
<papers type="array">
  <paper>
    <created-at type="datetime">2009-09-14T13:37:44+02:00</created-at>
    <creator-id type="integer">30</creator-id>
    <date type="datetime">2009-11-25T09:00:00+01:00</date>
    <description>HAML is a DRYer way of writing your views.

We'll explain how to get started with HAML and SASS, and convert an example app.

Later we'll explain some conventions and the best way to use helpers, translations and CSS files to keep your views as clean as possible.
</description>
    <family>Taller</family>
    <id type="integer">9</id>
    <minutes type="integer">120</minutes>
    <permalink>haml-and-sass</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>haml.png</photo-file-name>
    <photo-file-size type="integer">27969</photo-file-size>
    <photo-updated-at type="datetime">2009-11-08T01:56:54+01:00</photo-updated-at>
    <room-id type="integer">3</room-id>
    <status>Confirmed</status>
    <title>Taller de HAML y SASS</title>
    <updated-at type="datetime">2009-11-13T13:10:37+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-10-22T17:00:16+02:00</created-at>
    <creator-id type="integer">125</creator-id>
    <date type="datetime">2009-11-25T11:30:00+01:00</date>
    <description>Chef es un framework de integraci&#243;n de sistemas escrito en Ruby, nos permite aplicar los principios de la gesti&#243;n de la configuraci&#243;n a nuestra infraestructura. 

Programa:

  - Qu&#233; es Chef.
   - Y para que sirve. 
  - La primera pregunta.
    - &#191;Porqu&#233; no Puppet?
    - &#191;Porqu&#233; Chef?
  - Instalaci&#243;n de Chef.
    - Instalaci&#243;n del servidor.
    - Instalaci&#243;n de los clientes.        
    - Configurando el servidor y los clientes.
    - Validando los clientes en el servidor.
    - Configurando el interfaz web de Chef.
  - Sintaxis y configuraci&#243;n de servidores con Chef.
    - Creando un repositorio de Chef.
    - Creaci&#243;n de libros de cocina. &#191;Que hay dentro de un libro de cocina?
    - A&#241;adiendo recetas al libro.
  - Caso pr&#225;ctico: Desplegando toda la potencia de Chef 
    - Instalaci&#243;n de un stack rails con Chef.
  - Caso pr&#225;ctico: Administrando grupos de m&#225;quinas en Chef.
    - Administrando un cluster de Apache desde Chef.
  - Ruegos y preguntas.

Por lo que ser&#225; necesario traer un ordenador al taller. El taller se dar&#225; en espa&#241;ol o ingl&#233;s in funci&#243;n del los asistentes.</description>
    <family>Taller</family>
    <id type="integer">53</id>
    <minutes type="integer">120</minutes>
    <permalink>taller-de-chef-administra-sistemas-como-ferran-adria-cocina</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>ist1_11021441-chef-being-showered-with-flour.jpg</photo-file-name>
    <photo-file-size type="integer">11849</photo-file-size>
    <photo-updated-at type="datetime">2009-11-08T02:12:17+01:00</photo-updated-at>
    <room-id type="integer">3</room-id>
    <status>Confirmed</status>
    <title>Taller de Chef: Administra sistemas como Ferr&#225;n Adri&#225; cocina</title>
    <updated-at type="datetime">2009-11-08T02:12:17+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T08:56:15+02:00</created-at>
    <creator-id type="integer">48</creator-id>
    <date type="datetime">2009-11-25T15:00:00+01:00</date>
    <description>Actualizaci&#243;n: Si quer&#233;is hacer algo en concreto con Capistrano pod&#233;is dejar en los comentarios vuestras inquietudes. Gracias!
---

(teoria)

* &#191;Qu&#233; es capistrano?

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Breve descripci&#243;n por si hay alg&#250;n despistado en la sala.



* Pasado, presente y futuro.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Pasado:

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aqu&#237; un peque&#241;o salto en el tiempo mostrando lo que pod&#237;a producir un deploy antiguamente sin Capistrano.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; El cambio que supuso el desarrollo de Jamis Buck y la verdad de porque dej&#243; de desarrollarlo(mea culpa).

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Presente:

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#191;Qui&#233;n corta el bacalao ahora?

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Que se ha hecho hasta ahora.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Bugs relevantes corregidos

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Nuevas features

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Futuro:

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lo dejamos para el final.



* Estructura de Capistrano

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Gemas que usa y que nos aportan



(pr&#225;ctica)

** Primera Parte - B&#225;sico

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Instalaci&#243;n.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Ejecuci&#243;n de tareas.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Ejecuci&#243;n de tareas encadenadas.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Listados de tareas.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mostrar los diferentes listados: breve, descripci&#243;n extendida de tareas, listado de tareas "ocultas".

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Definir nuevas tareas.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&#243;mo definir y documentar nuevas tareas.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Tareas globales y namespacing.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Definir tareas globales.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Usar namespaces.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Roles y tareas en paralelo.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Definir roles.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ejecuci&#243;n de tareas en paralelo por rol.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uso del except y only.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - La terminal es nuestra amiga y como comunicarnos con ella.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aprenderemos a manejar los diferentes streams(standard input, output y error)

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Prompts

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Las funciones run, capture, stream.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subir y descargar ficheros del servidor

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Callbacks

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uso del before y after



(teoria)

** Segunda Parte - Deployando que es gerundio

&amp;nbsp;&amp;nbsp; &amp;nbsp; - El camino del deploy

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aqu&#237; explicar&#233; las tareas y callbacks que son ejecutadas al hacer un deploy con un gr&#225;fico muy chulo(igual no tanto) :-)

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Entendiendo lo que nos dice el log

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repasaremos una salida del log de capistrano con la salida coloreada para verlo mas claro.



(pr&#225;ctica)

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Despliegue de una aplicaci&#243;n Rails paso a paso.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Capistranizarla" con capify.

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configurar config/deploy.rb: ajustar las variables, sobreescribir las tareas de start/stop/restart

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cap deploy:setup , explicar la estructura de directorios que se genera

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cap deploy , hacer un despliegue

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Mejorar la receta anterior para que nos enlace ficheros compartidos (configuraciones, ficheros de subidos por usuarios,...)

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Generar ficheros de configuraci&#243;n con plantillas

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Convertir esa configuraci&#243;n espec&#237;fica en una gen&#233;rica y ampliable para poder usarla en otros proyectos.

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Algunos trucos avanzados (diferentes estrategias de multistage, sacar datos estad&#237;sticos de tu aplicaci&#243;n, el uso de rollbacks, crear una nueva estrategia de despligue, ...)

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;

(teoria)

** Tercera Parte 

&amp;nbsp;&amp;nbsp;&amp;nbsp; - Hablar del futuro de capistrano.

&amp;nbsp;&amp;nbsp; &amp;nbsp; - Despedida y cierre





Nota: Los t&#237;tulos de las partes no son definitivos pero la idea de lo que se quiere explicar es esa.
</description>
    <family>Taller</family>
    <id type="integer">26</id>
    <minutes type="integer">120</minutes>
    <permalink>taller-de-capistrano</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>header-graphic-box.png</photo-file-name>
    <photo-file-size type="integer">52657</photo-file-size>
    <photo-updated-at type="datetime">2009-09-29T09:07:55+02:00</photo-updated-at>
    <room-id type="integer">3</room-id>
    <status>Confirmed</status>
    <title>Taller de Capistrano</title>
    <updated-at type="datetime">2009-11-05T16:12:05+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T11:07:52+02:00</created-at>
    <creator-id type="integer">51</creator-id>
    <date type="datetime">2009-11-25T17:30:00+01:00</date>
    <description>Se trata un taller de Cucumber utilizando el plugin MundoPepino con el fin de que los asistentes acaben con una m&#225;quina en la que estar&#225;n instaladas todas las gemas y plugins necesarios para ejecutar sus funcionalidades en castellano cuando vuelvan al trabajo.

El taller consistir&#225; en crear una aplicaci&#243;n graciosa y &#250;til definiendo las funcionalidades utilizando Cucumber y MundoPepino.  La idea es profundizar en los steps reusables que ya est&#225;n definidos en el plugin, desde los tests relacionados a las vistas, hasta los de la base de datos, pasando por los que involucran los emails y xml generado y parseado por el sistema y mucho m&#225;s.

Empezaremos con una demostraci&#243;n del proceso, definiendo la funcionalidad, viendo fallar los tests e implementando el c&#243;digo necesario para que pasen, colgaremos un tutorial online para que lo vay&#225;is siguiendo y mientras tanto nos daremos vueltas echando una mano donde haga falta.  Os animamos a programar en pareja al igual que haremos nosotros.

Uno de los objetivos m&#225;s importantes de cucumber es mejorar la comunicaci&#243;n entre hombres de negocio, dise&#241;adores y desarrolladores, por lo que todo el mundo esta invitado a pasarse sin conocimientos previos sobre las herramientas.  Si quer&#233;is realizar el tutorial del taller los requisitos son un port&#225;til con ruby on rails, mysql y linux/mac como sistema operativo.</description>
    <family>Taller</family>
    <id type="integer">33</id>
    <minutes type="integer">120</minutes>
    <permalink>testing-sin-escribir-tests-con-cucumber-y-mundopepino-el-taller</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>cukes.jpg</photo-file-name>
    <photo-file-size type="integer">9926</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T00:04:04+01:00</photo-updated-at>
    <room-id type="integer">3</room-id>
    <status>Confirmed</status>
    <title>Testing sin escribir tests con Cucumber y MundoPepino</title>
    <updated-at type="datetime">2009-11-10T00:04:06+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-26T20:20:58+02:00</created-at>
    <creator-id type="integer">3</creator-id>
    <date type="datetime">2009-11-26T10:45:00+01:00</date>
    <description>Esta charla ser&#225; una reflexi&#243;n sobre el mundo del desarrollo web,y de la importancia relativa de la herramienta que se usa para trabajar.

Argumentar&#233; por qu&#233; creo que es mucho m&#225;s importante la figura del desarrollador que el hecho de que desarrolle en Ruby on Rails o no. 

Adem&#225;s, hablar&#233; sobre por qu&#233; un framework como Ruby On Rails resulta apetecible para uno de estos desarrolladores, y por qu&#233; en el sistema actual no es f&#225;cil encontrar empresas que apliquen estas pr&#225;cticas.

En la charla expondr&#233; algunas de las caracter&#237;sticas que considero que un "desarrollador definitivo" deber&#237;a tener, y lo enlazar&#233; con algunos conceptos de cl&#225;sicos de la literatura geek como The Mythical Man Month, The Cluetrain Manifesto, Microserfs o The Soul of a New Machine.

La idea es doble: por un lado iniciar un debate sobre la necesidad de cambiar las estructuras actuales de la mayor&#237;a de empresas de desarrollo,y hacia qu&#233; modelo deber&#237;amos movernos; por otro lado, que podamos ver cosas que nos diferencian de otro tipo de desarrolladores y que podamos identificarnos con unos valores comunes.

</description>
    <family>Charla</family>
    <id type="integer">17</id>
    <minutes type="integer">45</minutes>
    <permalink>la-herramienta-de-desarrollo-definitiva</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>raww.png</photo-file-name>
    <photo-file-size type="integer">128663</photo-file-size>
    <photo-updated-at type="datetime">2009-11-17T00:06:31+01:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>La herramienta de desarrollo definitiva</title>
    <updated-at type="datetime">2009-11-17T00:06:32+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-21T10:36:06+02:00</created-at>
    <creator-id type="integer">31</creator-id>
    <date type="datetime">2009-11-26T12:00:00+01:00</date>
    <description>En 37signals utilizamos RabbitMQ, un servidor que habla AMQP, para gestionar servicios, monitorizar servicios y excepciones de las aplicaciones entre otras cosas.

Esta charla pretende de explicar c&#243;mo funciona AMQP y c&#243;mo se hace &#250;til para cualquier infrastructura, desde una cola de trabajo distribuido para aplicaciones hasta un gestor de logs. 

Hablar&#233; unos 20 minutos (con demo) de c&#243;mo utilizamos RabbitMQ hoy en dia en nuestros servidores, y con qu&#233; clientes de Ruby se debe trabajar (Bunny, Nanite, amqp gem, etc). Se har&#225;n dos demos: Una, un gestor de excepciones de aplicaciones utilizando couchdb y RabbitMQ. La otra, un monitor de mensajes de syslog distribuido que funciona como el UNIX 'tail' pero mucho m&#225;s flexible a la hora de elegir qu&#233; partes de los mensajes quieres ver y de d&#243;nde.

Veremos tambien un cluster de Rails recibiendo peticiones a traves de RabbitMQ.

Durante otro 20 minutos hablar&#233; de otros usos interesantes de esa tecnolog&#237;a como streaming de video, comunicaciones seguras entre servidores con Nanite (un cliente Ruby de AMQP), y aplicaciones de c&#243;digo abierto que actualmente se aprovechan de RabbitMQ (como Chef).</description>
    <family>Charla</family>
    <id type="integer">10</id>
    <minutes type="integer">45</minutes>
    <permalink>amqp-ruby-en-tiempo-real</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>topic-exchange.png</photo-file-name>
    <photo-file-size type="integer">51260</photo-file-size>
    <photo-updated-at type="datetime">2009-09-21T10:44:06+02:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>El Conejo Mensajero: Rails y RabbitMQ</title>
    <updated-at type="datetime">2009-11-25T01:59:36+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T01:08:26+02:00</created-at>
    <creator-id type="integer">43</creator-id>
    <date type="datetime">2009-11-26T12:00:00+01:00</date>
    <description>Llevamos pr&#225;cticamente cinco a&#241;os con rails entre nosotros, por lo que hay mucho c&#243;digo ah&#237; fuera con mucho valor que necesita much&#237;simo amor para seguir siendo querido por sus propietarios.

Todos escribimos c&#243;digo legacy, por lo que debemos intentar que el impacto y el coste de su mantenimiento sea el m&#237;nimo, ya sea por nosotros o por cualquier otro desarrollador que llegue detr&#225;s.

Mantener nuestro c&#243;digo fresco y saludable no es siempre una tarea sencilla, cogiendo unos peque&#241;os h&#225;bitos puede hacerse mucho m&#225;s llevadero.

&#191;Qu&#233; vamos a tratar?:

* Pr&#225;cticas y consecuencias que pueden complicar la vida de un desarrollo.

* Qu&#233; es la deuda t&#233;cnica y c&#243;mo saldarla.

* C&#243;mo evitar la gran refactorizaci&#243;n, pero si es necesaria por donde empezar.

* Rojo, Verde, Refactor! Testing y refactorizaci&#243;n como modo de vida (TAFT &amp; RAFT)

* Usa rails de manera est&#225;ndar y sigue sus convenciones: hooks en modelos,  AR Observers, AC Filters.

* Construye tu propio framework con convenciones encima de rails y comp&#225;rtelo con tu equipo de desarrollo.

* Algunos plugins y pr&#225;cticas, que te ayudar&#225;n y mejoraran la mantenibilidad.</description>
    <family>Charla</family>
    <id type="integer">25</id>
    <minutes type="integer">45</minutes>
    <permalink>mejor-prevenir-que-curar-lidiando-con-codigo-legacy-en-rails</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>3886492586_6f29183994_o.jpg</photo-file-name>
    <photo-file-size type="integer">83656</photo-file-size>
    <photo-updated-at type="datetime">2009-10-25T21:30:13+01:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>&#161;Mejor prevenir que curar! Lidiando con c&#243;digo legacy en Rails</title>
    <updated-at type="datetime">2009-11-10T00:45:28+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-28T20:57:41+02:00</created-at>
    <creator-id type="integer">10</creator-id>
    <date type="datetime">2009-11-26T12:45:00+01:00</date>
    <description>&#191;Qu&#233; tienen en com&#250;n RubyVM, JRuby, Rubinius, IronRuby y MacRuby? 

Todas son implementaciones de un mismo lenguaje pero solo una de ellas es la referencia, el resto persigue ser lo m&#225;s compatible posible.

Rubyspec es el proyecto que marca las pautas y define como se deben comportar todas las implementaciones de Ruby ante un mismo c&#243;digo.

En esta charla se pretende repasar las principales funcionalidades que Ruby 1.9 incorpora, como Rubyspec define estas funcionalidades y como otras implementaciones se est&#225;n adaptando a ellas. 

Desde el interior de cada una de ellas veremos los problemas que a los que se enfrentan sus desarrolladores para hacer una implementaci&#243;n lo m&#225;s compatible posible con la especificaci&#243;n y como los resuelven.</description>
    <family>Charla</family>
    <id type="integer">22</id>
    <minutes type="integer">45</minutes>
    <permalink>rubyspec-y-el-largo-camino-hacia-ruby-1-9</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>ruby2.jpeg</photo-file-name>
    <photo-file-size type="integer">49219</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T00:22:34+01:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>Rubyspec y el largo camino hacia Ruby 1.9</title>
    <updated-at type="datetime">2009-11-10T00:23:11+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-30T00:21:50+02:00</created-at>
    <creator-id type="integer">64</creator-id>
    <date type="datetime">2009-11-26T13:30:00+01:00</date>
    <description>Hace dos a&#241;os, en RubyConf, vimos un LED parpadeando... el a&#241;o pasado, bebimos c&#243;cteles preparados por el "Barduino"... En 2009, ver&#233;is a Ruby volar! Utilizando "Ruby Arduino Development", y una coleci&#243;n de hardware variado y software libre, demostraramos "Rogue 3", un Veh&#237;culo A&#233;reo Aut&#243;nomo (UAV) que es m&#225;s ligero que el aire. Tambi&#233;n compartiremos algunos metodos y recursos que necesitar&#237;ais para empezar con los UAVs hechos en casa.
</description>
    <family>Charla</family>
    <id type="integer">48</id>
    <minutes type="integer">45</minutes>
    <permalink>la-ascencion-de-la-real-world-web</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>Photo2.jpg</photo-file-name>
    <photo-file-size type="integer">72781</photo-file-size>
    <photo-updated-at type="datetime">2009-09-30T00:22:31+02:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>Flying Robot: Veh&#237;culos A&#233;reos Aut&#243;nomos hechos con Ruby y Arduino</title>
    <updated-at type="datetime">2009-11-16T09:20:44+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T14:38:01+02:00</created-at>
    <creator-id type="integer">60</creator-id>
    <date type="datetime">2009-11-26T16:00:00+01:00</date>
    <description>Esta charla tiene como objetivo que la audiencia consiga una idea clara de la situaci&#243;n actual en el campo de los key-value stores, haciendo especial hicapi&#233;, en las caracteristicas individuales que las hacen id&#243;neas para su incoporaci&#243;n en aplicaciones Ruby on Rails, ya sea como la capa de persistencia de una aplicaci&#243;n web o como complemento a un sistema gestor de bases de datos relacional.

Abordaremos con &#233;nfasis las siguientes key-value stores: Cassandra, CouchDB, y Redis.

Los principales aspectos a tratar en esta propuesta son los siguientes:

1.- Comparativa de uso, aspectos pr&#225;cticos relevantes de cada key-value store analizada: tipos de problemas donde su utilizaci&#243;n supone una ventaja frente a una base de datos relacional, consejos de dise&#241;o para trasladar un modelo relacional normalizado al modelo de datos desnormalizado usado en cada key-value store, problemas y errores comunes en el uso de este tipo de capa de persistencia, etc.

2.-Bibliotecas existentes para el uso de key-value stores desde aplicaciones Ruby y Ruby on Rails.

3.-Caracter&#237;sticas de las principales key-value stores analizadas:
tipo, tolerancia a fallos, capacidad de persistencia, tecnolog&#237;a usada en su implementaci&#243;n, etc.

4.-Comparativa de desempe&#241;o de las key-value stores mencionadas, para una aplicaci&#243;n y conjunto de datos de prueba. </description>
    <family>Charla</family>
    <id type="integer">43</id>
    <minutes type="integer">45</minutes>
    <permalink>key-value-stores-conviertete-en-un-jedi-master</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>obi-wan-kenobi-squared.jpg</photo-file-name>
    <photo-file-size type="integer">25448</photo-file-size>
    <photo-updated-at type="datetime">2009-09-29T14:44:19+02:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>Key Value Stores. Convi&#233;rtete en un Jedi Master</title>
    <updated-at type="datetime">2009-11-24T23:54:58+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-10-07T16:34:18+02:00</created-at>
    <creator-id type="integer">35</creator-id>
    <date type="datetime">2009-11-26T16:00:00+01:00</date>
    <description>This talk will introduce into programming with evolutionary algorithms. We'll build and/or discover a small framework for creating genetic algorithms.

Programming evolutionary algorithms is like writing very large applications. You have a feeling about how the outcome should look like without knowing how to actually build it in detail. You start with a rough idea and iteratively shape the problem solution.

Genetic algorithms are good to solve certain kind of algorithmic problems. The talk will also give a rough picture about situations where evolutionary programming might be the right solution. Especially np hard problems like the traveling sales man problem (TSP) or the rucksack problem are well known combinatoric problems (such as distributing vservers across a number of vserver-hosts).

The theory of evolutionary programming will be explained while solving the traveling salesman problem by creating a heuristic using genetic algorithms.

TSP:
A salesman needs to travel to n cities using a optimal route going through all n cities and returning to his origin.
http://en.wikipedia.org/wiki/Travelling_salesman_problem

* Individuals
First you need to create a representation of your individuals.
TSP: Individual = path through the cities

* Fitness
** Basic idea: survival of the fittest but which one is it?
** Determine the fitness of a individual using a fitness-function.

* Genetic operations
** Mutate
*** Beginning from the first individual mutate it to get a second.
*** Mutation needs to create VALID individuals (valid salesman roundtrips).
**  Recombine
*** Like in sexual reproduction we assume that combination of two individuals might combine their best characteristics (or the worst - but these we are gonna throw away. I shouldn't say that as a german I know - but hey it's about computing :-)
** Select
*** After a generation (set of n individuals) has been filled we open up the next generation and takeover the best X individuals
* Evolution
** Using random operations (mutate, recombine) we fill the generation
** Then we take the best X individuals and put them into the next generation
** Because of the selection there is a continuous improvement of the fittest individual in each generation.
** Repeat this until your solution matches your exit criteria and you are done! </description>
    <family>Charla</family>
    <id type="integer">50</id>
    <minutes type="integer">45</minutes>
    <permalink>genetic-algorithms-with-ruby</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>dna.jpg</photo-file-name>
    <photo-file-size type="integer">26632</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T00:55:16+01:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>Genetic Algorithms with Ruby</title>
    <updated-at type="datetime">2009-11-10T00:55:16+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-28T23:43:33+02:00</created-at>
    <creator-id type="integer">26</creator-id>
    <date type="datetime">2009-11-26T16:45:00+01:00</date>
    <description>JRuby es una implementaci&#243;n de Ruby *100%* Java. Muchos conocemos sus bondades m&#225;s pregonadas:

+ Hilos aut&#233;nticos.
+ Interoperabilidad con Java (lo que da acceso a todas las librer&#237;as existentes en Java).
+ Uno de los mejores GC.

Tambi&#233;n se conoce su peor defecto: No puede cargar extensiones escritas en C. Para compensarlo, existen varios rodeos, siendo los m&#225;s conocidos FFI y la interoperabilidad con Java. Sin embargo, existe una menos conocida que es la de escribir las extensiones en Java, como si una de C para MRI se tratase.

La charla contendr&#225; todo el contenido que me hubiese gustado tener a mano cuando empec&#233; a desarrollar Nokogiri4J, como:

+ BasicLibraryService
+ Relaci&#243;n entre la posici&#243;n del Service y el require que lo llama.
+ C&#243;mo definir m&#243;dulos y clases.
+ Las anotaciones m&#225;s &#250;tiles (especialmente @JRubyMethod).
+ ThreadContext y Runtime, c&#243;mo utilizarlos y c&#243;mo obtenerlos.
+ El (no tan) misterioso mundo de las signaturas de los m&#233;todos.
+ La pesadilla de las extensiones (LoadError y sus [para nada] descriptivos errores).

Todo ello a trav&#233;s de c&#243;digo real (la extensi&#243;n en Java de Nokogiri4J) de forma que puedas orientarte en la creaci&#243;n de tus propias extensiones.</description>
    <family>Charla</family>
    <id type="integer">23</id>
    <minutes type="integer">45</minutes>
    <permalink>extendiendo-jruby</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>jruby.jpg</photo-file-name>
    <photo-file-size type="integer">8564</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T01:06:27+01:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>Extendiendo JRuby</title>
    <updated-at type="datetime">2009-11-10T01:06:27+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-08-19T20:52:33+02:00</created-at>
    <creator-id type="integer">23</creator-id>
    <date type="datetime">2009-11-27T12:00:00+01:00</date>
    <description>This 45 minute talk will cover what Git is and how it differs from Subversion or Perforce.  We will go over why it's so powerful and how it turns source control from a necessary annoyance into a powerful development tool.  We will cover the technical underpinnings of the system, common tips and best practices for getting the most out of Git and ways to use Git that you may not have thought of before - as a pure content-addressable filesystem.  Attendees will leave with a better understanding of Git and hopefully a new way of thinking about how to work.

The talk will be mostly in English with some Spanish when possible.

--

Esta presentaci&#243;n de 45 minutos sobre Git es y c&#243;mo es diferente de Subversion. Voy a hablar de c&#243;mo es una poderosa herramienta para programadores. Voy a hablar de c&#243;mo funciona, consejos com&#250;n y las mejores pr&#225;cticas para sacar el m&#225;ximo provecho de Git e interesantes formas de usar Git.  El p&#250;blico saldr&#225; con una mejor comprensi&#243;n de Git y una nueva manera de pensar acerca de c&#243;mo trabajar. 

La charla ser&#225; en su mayor&#237;a en Ingl&#233;s con un poco de espa&#241;ol cuando sea posible.</description>
    <family>Charla</family>
    <id type="integer">6</id>
    <minutes type="integer">45</minutes>
    <permalink>la-diferencia-git</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>4124024_thumbnail.png</photo-file-name>
    <photo-file-size type="integer">21890</photo-file-size>
    <photo-updated-at type="datetime">2009-08-19T21:20:37+02:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>La Diferencia Git</title>
    <updated-at type="datetime">2009-10-24T13:24:12+02:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T19:42:22+02:00</created-at>
    <creator-id type="integer">49</creator-id>
    <date type="datetime">2009-11-27T12:00:00+01:00</date>
    <description>En esta charla compartir&#233; como caso pr&#225;ctico mi experiencia como desarrollador de negocio en una empresa de soluciones y aplicaciones Rails. 

Recorrer&#233; las diferencias que me he encontrado al pasar de una multinacional como es France Telecom, con un departamento de sistemas r&#237;gido y bur&#243;crata, a un equipo peque&#241;o y &#225;gil de desarrolladores de Ruby on Rails. Me apoyar&#233; en el manifiesto &#8220;Boot strappers Bible&#8221; de Seth Gothin, para ilustrar con ejemplos pr&#225;cticos como la Tribu Rails puede contribuir a la competitividad en las peque&#241;as y mediadas empresas frente a las grandes multinacionales. 

Durante la presentaci&#243;n recorrer&#233; el concepto emergente de Tribu, intentando establecer las caracter&#237;sticas de la tribu railera de una forma participativa con los asistentes.  

Todo desde la perspectiva de alguien que pertenece al lado oscuro: el Marketing</description>
    <family>Charla</family>
    <id type="integer">44</id>
    <minutes type="integer">45</minutes>
    <permalink>caso-practico-tribu-on-rails</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>tribes.jpg</photo-file-name>
    <photo-file-size type="integer">28326</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T00:15:04+01:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>Caso pr&#225;ctico &#8220;Tribu on Rails&#8221;</title>
    <updated-at type="datetime">2009-11-10T00:15:04+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-24T14:30:12+02:00</created-at>
    <creator-id type="integer">38</creator-id>
    <date type="datetime">2009-11-27T12:45:00+01:00</date>
    <description>Most hardcore developers cringe at the idea of putting down their coding tools and becoming a pointy-haired boss.  The journey from Rails coder to manager is fraught with peril - from dealing with difficult clients, to keeping your team motivated, to making sure you don't lose your technical edge. Here is the story of one man who survived the journey and lived to tell the tale.

This talk is geared towards Rails developers in the midst of a transition from coder to manager, those who would like to someday make the transition, or anyone who like to learn more about communicating with clients and coworkers.  This will be a wide-ranging talk, but will cover topics such as:

    * Learning a different set of jargon
    * Handling completely different types of work
    * Knowing when to delegate and when to get your hands dirty
    * Keeping your skills sharp
    * Keeping your team motivated
    * Communication with employees
    * Finding balance
    * How to position yourself for a transition</description>
    <family>Charla</family>
    <id type="integer">12</id>
    <minutes type="integer">45</minutes>
    <permalink>surviving-the-journey-from-rails-coder-to-manager</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>n671216028_1219406_1596.jpg</photo-file-name>
    <photo-file-size type="integer">15876</photo-file-size>
    <photo-updated-at type="datetime">2009-09-24T14:30:55+02:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>Surviving the Journey from Rails Coder to Manager</title>
    <updated-at type="datetime">2009-10-24T13:26:53+02:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T23:34:13+02:00</created-at>
    <creator-id type="integer">63</creator-id>
    <date type="datetime">2009-11-27T12:45:00+01:00</date>
    <description>Rails es ideal para desarrollar la mayor&#237;a de los proyectos web que se nos plantean, pero en ocasiones necesitamos desarrollar servicios o aplicaciones muy sencillos para los que Rails puede resultar demasiado pesado.

En la charla se presentar&#225;n varias alternativas m&#225;s ligeras que Rails comentando los pros y contras de cada una de ellas.</description>
    <family>Charla</family>
    <id type="integer">47</id>
    <minutes type="integer">45</minutes>
    <permalink>charla-o-taller-alternativas-a-rails-para-sitios-y-servicios-web-ultraligeros</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>rack.jpeg</photo-file-name>
    <photo-file-size type="integer">14441</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T00:28:00+01:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>Alternativas a Rails para sitios y servicios web ultraligeros</title>
    <updated-at type="datetime">2009-11-10T00:28:00+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-25T13:34:38+02:00</created-at>
    <creator-id type="integer">13</creator-id>
    <date type="datetime">2009-11-27T13:30:00+01:00</date>
    <description>Rails es un framework web, esto no es un juicio sino que Rails se autodefine de ese modo. Rails ha nacido en y para la web que es un mundo de pantallas.

Sin embargo los humanos vivimos inmersos en una cultura no-web, en una cultura con m&#225;s de 500 a&#241;os de tradici&#243;n en el uso del papel.

Nuestra vida esta rodeada de objetos hechos de papel o relacionados con &#233;l y es muy dif&#237;cil dejarlo atr&#225;s de golpe:
    * Los libros,
    * Los t&#237;tulos de propiedad,
    * Los contratos,
    * El peri&#243;dico,
    * La lista de la compra...
&#161;Incluso la ilustraci&#243;n de &#8220;Aplicaci&#243;n&#8221; en wikipedia es una met&#225;fora de una hoja de papel! [http://es.wikipedia.org/wiki/Aplicaci&#243;n_inform&#225;tica]

No es un problema exclusivo de Rails (PHP, ASP &#8230;) cualquier lenguaje de programaci&#243;n o tecnolog&#237;a de los &#250;ltimos a&#241;os se ha enfrentado a esta circunstancia.

La principal dificultad viene de las diferencias entre medios de las cosas que son respectivamente caracter&#237;sticas de los medios impresos y los, llamemosles, "proyectados":

Algunos ejemplos de estas diferencias:

PAPEL-IMPRESO	           / PANTALLA
Tama&#241;o/formato predecible  / Tama&#241;o variado
Alta resoluci&#243;n ~300ppp	   / Baja resoluci&#243;n ~72ppp
M&#225;rgenes imprescindibles   / M&#225;rgenes opinables
Predominantemente vertical / Vista horizontal

Nosotros, como muchos otros, nos hemos tenido que enfrentar a &#233;ste problema. Lo que queremos plantear aqu&#237; es un resumen de nuestra experiencia en el proceso para ayudar a otros, para que este camino de ensayo y error lo puedan recorrer un poco m&#225;s informados y tomar sus decisiones menos a ciegas de lo que las tuvimos que tomar nosotros en su d&#237;a.

No existe una receta m&#225;gica para la soluci&#243;n, ya que depende mucho de las necesidades de vada aplicaci&#243;n. Un ejemplo de ello es la disyuntiva entre el rendimiento y el control que surge al valorar la posibilidad de emitir informes en PDF cuyo aspecto puede controlarse de manera bastante precisa pero cuyo proceso siempre acarrea un coste mayor en recursos.

Entrando en detalle, haremos un recorrido por las tecnolog&#237;as a las que nosotros nos hemos enfrentado personalmente, y de las que contaremos nuestras experiencias:

    * Pdf_writter (los primeros pasos)
    * RTex1 (plugin para usar plantillas en LaTeX con Ruby embebido)
    * RTex2
    * HTMLDoc (basado en el a&#241;ejo ejecutable de los sistemas *nix)
    * Jasper Reports (el Crystal Reports de los pobres)
    * Act as flying saucer (y entonces lleg&#243; java)
    * Prawnto (la historia del mendicant)
    * Render_as_PDF (presentacion del plugin de Lleir)
    * XHTML1strict + CSS2.1 (presentacion de la soluci&#243;n de Fernando)

Para iluminar este (tortuoso) camino valoraremos en cada tecnolog&#237;a una serie de criterios que a nosotros nos han ayudado a elegir y juzgar entre las diferentes soluciones:

 * Rapidez/facilidad de desarrollo (~subjetiva)
 * Facilidad de modificar/Mantenibilidad (basada en nuestra experiencia)
 * Rendimiento en m&#225;quina
 * Precisi&#243;n de la salida (respecto a esperado/modelo)
 * Soporte de Parciales
 * Soporte de Im&#225;genes
 * Control de rupturas (Saltos de P&#225;gina)
 * Soporte/control de tipograf&#237;as
 * Posibilidad de validaci&#243;n
 * Compatibilidad con versiones Rails
 * Compatibilidad con navegadores

Una vez evaluada cada una de las alternativas nos gustar&#237;a presentar una comparativa de tecnolog&#237;as de reporting en Rails a modo de resumen o de 'chuleta' si se quiere para ayudar a los asistente a tomar sus propias decisiones informadas

Finalmente animaremos a cada uno a evaluar sus propias necesidades y prioridades bas&#225;ndonos en nuestro propio ejemplo (ya que cada uno de nosotros hemos adoptado diferentes soluciones) y a que experimenten, eso s&#237;, sabiendo a que se atienen al enfrentarse a los temibles _&#225;rboles muertos_.

</description>
    <family>Charla</family>
    <id type="integer">14</id>
    <minutes type="integer">45</minutes>
    <permalink>el-ferrocarril-contra-los-arboles-muertos</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>charla.png</photo-file-name>
    <photo-file-size type="integer">130211</photo-file-size>
    <photo-updated-at type="datetime">2009-09-25T14:39:23+02:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>El ferrocarril contra los &#225;rboles muertos</title>
    <updated-at type="datetime">2009-11-08T12:28:38+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-25T21:28:53+02:00</created-at>
    <creator-id type="integer">41</creator-id>
    <date type="datetime">2009-11-27T13:30:00+01:00</date>
    <description>Rails includes a standard way to handle internationalization in your applications, but is it sufficient? On a recent project that had to be available in English and Spanish, I found it was not. While Rails implements simple text substitution well, it does not handle inflecting multiple languages. Pluralizing the model name EmergencyContact into Spanish will result in "contacto de emergencias" instead of "contactos de emergencia," for example. This makes using form builders problematic, as well as other automated pluralizations and singularizations. I re-wrote ActiveSupport's inflector and core extensions to respect multiple inflectors per language.

In this talk, we'll examine the changes I made and learn about the core of Rails' internationalization support. Along the way, we'll see how to make your application's translation easier with modern key-value stores like Redis, how to name your models and tables in your native language, and how the changes in Rails 3 will affect internationalization.

You can read a blog post about some of the work I did at http://www.viget.com/extend/rails-internationalization-and-tu/.</description>
    <family>Charla</family>
    <id type="integer">15</id>
    <minutes type="integer">45</minutes>
    <permalink>deep-internationalization-in-rails</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>clinton2-sm.jpg</photo-file-name>
    <photo-file-size type="integer">284269</photo-file-size>
    <photo-updated-at type="datetime">2009-09-25T21:31:06+02:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>Advanced Internationalization in Rails </title>
    <updated-at type="datetime">2009-12-29T15:02:30+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T14:30:19+02:00</created-at>
    <creator-id type="integer">60</creator-id>
    <date type="datetime">2009-11-27T13:30:00+01:00</date>
    <description>Cassandra es una iniciativa de key/value store estructurada altamente escalable, distribuida, con consistencia eventual. 

Re&#250;ne a las tecnolog&#237;as de sistemas distribuidos de Dynamo y el modelo de datos de BigTable de Google.

Al igual que Dynamo, Cassandra tiene consistencia eventual.

Al igual que BigTable, Cassandra proporciona un modelo de datos basados en ColumnFamily m&#225;s rica que la t&#237;pica de sistemas de key/values.

Cassandra se liber&#243; a c&#243;digo abierto por Facebook en 2008, donde fue dise&#241;ado por uno de los autores de Dynamo de Amazon.

Est&#225; en producci&#243;n en Facebook, recientemente Digg la ha incorporado y Twitter est&#225; destinando recursos a su desarrollo.

Motivaci&#243;n:

- Los problemas con la escalabilidad de bases de datos relacionales.

Introduccion a key/value store estructurado:

- Conceptos b&#225;sicos. Replicaci&#243;n, Hashing Consistente, Modelos de Concistencia, Teorema de CAP. Algoritmo de Gossip.

Caracter&#237;sticas generales de Cassandra:

- Replicaci&#243;n, Elasticidad, Modelo de consistencia "eventual", Modelo de datos, Modelo key/value estructurados, Consultas de Rango, Escritura distribuida, Keyspace, Column family, Key, Column and Super-column.

Interface con ruby (/rails) a travez de Thrift:

- Cassandra gem, Modelando con ColumFamily y Range Queries

- Aplicaci&#243;n ejemplo: Utilizando Cassandra y Ruby on Rails</description>
    <family>Charla</family>
    <id type="integer">42</id>
    <minutes type="integer">45</minutes>
    <permalink>cassandra-db-que-tienen-facebook-twitter-y-digg-en-comun</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>cassandra_logo.jpg</photo-file-name>
    <photo-file-size type="integer">19339</photo-file-size>
    <photo-updated-at type="datetime">2009-11-12T10:52:15+01:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>Cassandra DB: &#191;Qu&#233; tienen Facebook, Twitter y Digg en com&#250;n?</title>
    <updated-at type="datetime">2009-11-12T10:52:16+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T12:19:25+02:00</created-at>
    <creator-id type="integer">8</creator-id>
    <date type="datetime">2009-11-27T16:00:00+01:00</date>
    <description>El Desarrollador Total asume la responsabilidad (y se apoya en ella)

El Desarrollador Total abraza el cambio (en vez de quejarse)

El Desarrollador Total colabora compitiendo (y compite colaborando)

El Desarrollador Total usa la especializaci&#243;n para ser excelente (y no para buscar excusas)

El Desarrollador Total es brillante en algunas parcelas (y muy bueno en las dem&#225;s)

El Desarrollador Total escribe c&#243;digo para comunicar (no para demostrar lo listo que es)

El Desarrollador Total sabe por qu&#233; escribe c&#243;digo (y escribe c&#243;digo que merece ser escrito)

El Desarrollador Total no tiene miedo (pero nunca es imprudente)

El Desarrollador Total hace ganar dinero (y quiere su parte)

Todos podemos ser el Desarrollador Total (porque intentarlo es serlo)</description>
    <family>Charla</family>
    <id type="integer">37</id>
    <minutes type="integer">45</minutes>
    <permalink>el-desarrollador-total</permalink>
    <photo-content-type>image/png</photo-content-type>
    <photo-file-name>total-dev.png</photo-file-name>
    <photo-file-size type="integer">55880</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T01:01:57+01:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>El Desarrollador Total</title>
    <updated-at type="datetime">2009-11-10T01:01:57+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-08-12T00:16:18+02:00</created-at>
    <creator-id type="integer">9</creator-id>
    <date type="datetime">2009-11-27T16:45:00+01:00</date>
    <description>Desde pro bono publico intentamos atraer a desarrolladores para que usen conocimiento para crear servicios p&#250;blico por y para la ciudadan&#237;a. Si tenemos m&#233;dicos y maestros que dedican su tiempo libre a temas tan vitales como la sanidad y la educaci&#243;n... &#191;qu&#233; estamos haciendo los hackers con algo no menos importante como el derecho a la informaci&#243;n?

Podemos y tenemos que hackear las estructuras sociales y pol&#237;ticas de la misma manera que hacemos con la propia tecnolog&#237;a: esta vez de hecho nuestro trabajo quiz&#225;s sirva a mucha m&#225;s gente de todo tipo.

Para que todo esto sea posible necesitamos la materia prima: los datos. Mi charlar&#225; tratara de presentar en que punto estamos con la apertura de datos p&#250;blicos y que posibilidades tenemos para colaborar y trabajar en ese espacio.

Una estructura inicial de la misma:

* Motivaci&#243;n, objetivos y estado actual
* Principios b&#225;sicos 
* Datasources y datasets
* Formatos
* Acceso
* Peligros y confusiones frequentes

El objetivo de la misma es claro: conseguir despertar el inter&#233;s en la comunidad rails sobre proyecto civiles y p&#250;blicos en los que pueden participar.
</description>
    <family>Charla</family>
    <id type="integer">5</id>
    <minutes type="integer">45</minutes>
    <permalink>hack-politics</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>2731067095_73f8f62020_b.jpg</photo-file-name>
    <photo-file-size type="integer">387770</photo-file-size>
    <photo-updated-at type="datetime">2009-08-12T00:22:49+02:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Confirmed</status>
    <title>Hack politics! </title>
    <updated-at type="datetime">2009-10-24T13:21:03+02:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-09-29T20:21:34+02:00</created-at>
    <creator-id type="integer">53</creator-id>
    <date type="datetime">2009-11-27T16:45:00+01:00</date>
    <description>Gran parte de las nuevas Startups que se crean en Internet conf&#237;an en Ruby on Rails como framework de desarrollo. Emprender haciendo realidad tu idea o proyecto puede darte mucha satisfacci&#243;n personal (y por supuesto dinero). Si puedes desarrollar en Ruby on Rails, &#191;por qu&#233; no crear tu propio proyecto?

Si alguna vez has tenido una gran idea, has pensado en hacerla realidad pero no lo has hecho, esta es tu charla. Explicar&#233; desde mi experiencia por donde empezar y que es importante que tengas en cuenta (esfuerzo, riesgo, socios, conseguir dinero, business plan ...) todo ello enfocado a desarrolladores y perfiles t&#233;cnicos.</description>
    <family>Charla</family>
    <id type="integer">45</id>
    <minutes type="integer">45</minutes>
    <permalink>emprender-on-rails</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>emprendedor.jpg</photo-file-name>
    <photo-file-size type="integer">20822</photo-file-size>
    <photo-updated-at type="datetime">2009-11-10T01:13:33+01:00</photo-updated-at>
    <room-id type="integer">2</room-id>
    <status>Confirmed</status>
    <title>Emprender On Rails</title>
    <updated-at type="datetime">2009-11-10T01:13:34+01:00</updated-at>
  </paper>
  <paper>
    <created-at type="datetime">2009-11-11T14:11:52+01:00</created-at>
    <creator-id type="integer">198</creator-id>
    <date type="datetime">2009-11-27T18:45:00+01:00</date>
    <description>"Those who don't understand UNIX are condemned to reinvent it, poorly."

We in the Ruby Community seem to have a habit of re-inventing things. Sometimes this is for good reason, but in some cases we don't know we're even doing it! We're wasting valuable time that could be spent learning Erlang!

UNIX-like operating systems have been around for decades and lots of problems have come and gone in that time. I'm going to talk about some of the tools available that can be used to solve common Ruby and Rails deployment and development problems.</description>
    <family>Charla</family>
    <id type="integer">58</id>
    <minutes type="integer">45</minutes>
    <permalink>unix-rediscovering-the-wheel</permalink>
    <photo-content-type>image/jpeg</photo-content-type>
    <photo-file-name>john-11082008-192x192.jpg</photo-file-name>
    <photo-file-size type="integer">48806</photo-file-size>
    <photo-updated-at type="datetime">2009-11-11T14:13:26+01:00</photo-updated-at>
    <room-id type="integer">1</room-id>
    <status>Acepted</status>
    <title>UNIX: Rediscovering the wheel</title>
    <updated-at type="datetime">2009-11-11T15:52:11+01:00</updated-at>
  </paper>
</papers>
