format:
  self: yaml
  length: minutes
  subject: text
  summary: markdown
  speaker: ruby

length: 30

subject: A modular Ruby REST client collection/infrastructure.

summary: |
  In this era of web services and mashups, we have seen a blooming of REST
  APIs. One might wonder, how do we use these APIs easily and elegantly?
  Since REST is very simple compared to SOAP, it is not hard to build a
  dedicated client ourselves.

  We have developed [rest-core][] with composable middlewares to build a
  REST client, based on the effort from [rest-graph][]. In the cases of
  common APIs such as Facebook, Github, and Twitter, developers can simply
  use the built-in dedicated clients provided by rest-core, or do it yourself
  for any other REST APIs.

  [rest-core]: http://github.com/cardinalblue/rest-core
  [rest-graph]: http://github.com/cardinalblue/rest-graph

speaker: |
  "Lin Jen Shin (godfat) is a programmer who works for Cardinal Blue Software, loving computer games, open source, Haskell and self-referential jokes, such as: %p=~/(.+)/;puts(($1%%$1)[/: (.+)/,1])"=~/(.+)/;puts(($1%$1)[/: (.+)/,1])

draft:
  - '[01] In this era... we have so many web APIs! (show various APIs)'
  - '[02] Newton was standing on giants, we are standing on webs. (show logos)'
  - '[02] (standing on soapbox) SOAP is not simple at all. (show soap)'
  - '[02] (lying on couch) REST is simple enough. (show couch?)'
  - '[03] (quickly walk through cgi -> fastcgi -> scgi -> mongrel -> rack)'
  - '[05] Rack! composable middlewares (show linked list structure)'
  - '[10] (show abstract request path, the U flow)'
  - '[15] now we are doing the same thing on clients, but...'
  - '[15] we run one server on a process, we run a ton of clients on a process'
  - ''

