Michael Bensoussan

Bio

Michael is a ruby and rails enthusiast for 3 years now. He worked at various startups ; Eyeka, Seesmic and now Letitcast. Recently he had been giving Rails training in Paris for entrepreneurs and CS students. When not writing code, he can be found lost in a bookstore, losing himself in Paris or just in front of his screen waiting for the new Civ V patch.

Abstract

Service Oriented Applications

Not completely define yet but I'll mostly talk about how we cut our monolythic application into a rails api, 3 rails clients, 2 sinatra services and a rails engine

Bruno Michel

Bio

Lead developer at af83Developer and administrator of LinuxFr.org popular websitePresident of Ruby France association

Abstract

Goliath and his friends : Rack, EventMachine and Fibers

Goliath is a event machine based. It uses Rack API and new features of Ruby 1.9.2. Both makes it really lightweight framework capable of processing asynchronously a large amount of data in an elegant way. It fit to write light web services as HTTP streaming file uploads, proxies, twitter, firehoses, etc.

Nick "The German" Sutterer

Bio

Nick Sutterer appreciates the beauty of elegant code, and the value of open source software. Through his tireless development and advocacy of the Cells and Apotomo gems, he has brought the concepts of component-oriented UI development to the world of Rails, proving that there should be no such thing as a double-render error, and that one need not be slave to the great monolithic view mentality. Also, he would like to have beer with you.

Abstract

CRUD is not REST! Hypermedia for y'all!

REST is an architectural style for distributed systems. However, many implementations forget about the distributed part of REST and simply map CRUD operations to HTTP verbs in a monolithic application. Hey, we want more! So let's have a look at the Roar gem and see how it helps working with representations, hypermedia, and decoupled architectures in Rails and Sinatra. While building both services and a consuming client we can discuss the sweet things about component-oriented architectures and french beer.

Élise Huard

Bio

After her studies in metallurgy, Élise realized job in that area were not her cup of tea, and she looked for jobs in an earlier interest, software.

Since then, she’s been rolling through jobs in C, C++, Java, a masters in AI, before falling in love with Ruby and going freelance. 10 years of software have helped her get a firm understanding on what works, what doesn’t, and what will make you cry blood and tears on nights before deadlines.

She’s a jack of all trades, loves reading, tinkering, food, travel, learning, and people out of the ordinary.

Abstract

Ruby goes to Hollywood

Computers are being built with more and more CPUs and those CPUs in turn have several cores. Powerful calculations are now performed either on many-cored machines, or on distributed systems. In this context, it's in the developer's interest to start thinking about concurrent programming. But concurrent programming with mutable is tricky. The last few years have conclusively shown that very few developers get this right when faced with conventional shared state threads.

One of the ways to simplify concurrent programming is the actor model. In the actor model, programs are made of actors sending each other messages, and acting on the messages they receive. The actors don't share any state.

In this talk I explore several ways to implement the actor model in Ruby.

The existing actor implementations in Ruby:

- Rubinius actors

- Existing actor gems (cross Ruby implementations)

Actor implementations that are a little more 'out there':

- Bindings with the Akka framework in Scala with JRuby

- Bindings with erlang, the first mainstream implementation of the actor model

- And their advantages and drawbacks, and code examples.

The talk will also allude to the fact that threads in Ruby should ideally have separate state, so that all programs using threads could also use the actor model (or other similar concurrency models).

R. Konstantin Haase

Bio

Ruby has become Konstantin Haase's language of choice since 2005. He therefore actively participates in the Ruby Open Source community and has contributed to different widespread projects, like Rubinius and Rack and is a member of the Sinatra core team. In 2010 he successfully took part as a student in the Ruby Summer Of Code, where he was working on Rails internals. Konstantin is currently studying IT Systems Engineering at Hasso Plattner Institute in Potsdam and works part time as a software engineer at finnlabs.

Abstract

Real Time Rack

At least since node.js everyone knows that real time HTTP responses are the next big thing. The secrets of handling incoming requests asynchronously with Ruby is not yet far spread among Rubyists, as the internals needed for such responses are neither specified nor documented and there is a lack of tools. Still, it is possible to use Server-Sent Events, Websockets and akin with Rack today. This talk will demonstrate the underlying technologies and how to use them.

Joshua Wehner

Bio

Joshua is passionate about all the little things that make each of us weird. His wife taught him that Ruby doesn't solve everything. He speaks four languages badly, plays games often, enjoys puns more than he should, and occasionally makes a lovely soufflé.

Abstract

KEYNOTE Must It Always Be About Sex?

Why do some people keep talking about diversity? Who cares if we're all the same? So long as we're not technically discriminating against anyone, that means we're good, right? If we only get applications from white dudes, that must mean that white dudes are the only ones out there. Right? Right?

When we feel threatened, we find comfort among people who seem most like us. As specialization increases in the community, we glom on to people who look like us, talk like us, and think like us. There's safety in a crowd.

But there are real dangers in becoming too much alike: monotony breeds more monotony. Real innovation happens when you think different than everyone else. What happens when we ruthlessly eliminate different thinkers, as we winnow the stack of resumés to those that seem most likely to "fit in"?

Come to this talk to find out what you can do to diversify - yourself, your organization, and your peers - and how you can help grow a better, stronger, more diverse community.

Sven Fuchs

Bio

Sven Fuchs, pronounced [sfɛn fʊks], is an experienced software developer and opensource enthusiast currently based in Berlin. While focussing on Ruby/Rails development for the last 4 years he published a good number of Ruby and Rails projects, tools and libraries. Consistently ranked amongst the top 30 on Rails ranking sites he is probably best known for leading the Ruby I18n project, the Ruby gem which is shipped with Rails to provide internationalization support.

Travis CI - Distributed, Continous Integration for the Ruby community

"The future is already here — it's just not very evenly distributed." (William Gibson)

The Ruby community is where a lot of this future already happens. We not only set the bar
higher and higher every day, we've also built most of the infrastructure use day to day.
Twitter, Github, Gemcutter, Pusher to just name a few projects that changed the world, the
way we live and work.

With Travis CI, an open source continous integration service for the Ruby community, we are
going to push the limits even further. We are going to build the test and integration
infrastructure you are dreaming of: The vision behind Travis CI is to become for builds
what Rubygems is for distributing libraries.

In this talk Josh and Sven, two of the core members of the developers team, will talk about
Travis CI and introduce you to the vision behind it and the way it is implemented.

Josh Kalderimis

Bio

Josh is a top-30 Ruby on Rails contributor and has been working with the framework since 2008. He maintains a massive amount of open-source Ruby projects, including multi_json, linkedin, faraday_middleware and his own completeness-fu. He's also one of Amsterdam.rb's organizers, the head PR guy and core team member for the Travis-CI team.

Travis CI - Distributed, Continous Integration for the Ruby community

"The future is already here — it's just not very evenly distributed." (William Gibson)

The Ruby community is where a lot of this future already happens. We not only set the bar
higher and higher every day, we've also built most of the infrastructure use day to day.
Twitter, Github, Gemcutter, Pusher to just name a few projects that changed the world, the
way we live and work.

With Travis CI, an open source continous integration service for the Ruby community, we are
going to push the limits even further. We are going to build the test and integration
infrastructure you are dreaming of: The vision behind Travis CI is to become for builds
what Rubygems is for distributing libraries.

In this talk Josh and Sven, two of the core members of the developers team, will talk about
Travis CI and introduce you to the vision behind it and the way it is implemented.

Hampton Catlin

Bio

Hampton Catlin is the Framework Architect for Moovweb.com and is also the creator of several successful iPhone applications, including Dictionary! the #1 dictionary on iPhone and Palm Pre. Hampton is the man behind the current Wikipedia Mobile Gateway (m.wikipedia.org). He is also inventor of the Haml markup language and Sass, a CSS generating language.

Abstract

What do American Airlines, Farmville, and Wikipedia have in common?

They all use several different game play mechanics to encourage addictive behaviours in their users and customers. Being a developer is much more than writing nice code... its about building an experience for your users. And, part of that is using gameplay to make sure your users have a great time and come back again.

Even if you never thought of what your building as being a game, I'll help show you that it gameplay is part of every life experience and is coded into our DNA.

To crack the code of what works and what doesn't, we need to look towards evolutionary behaviouralism as a guide. Over millions of years we have been trained to follow certain basic social behaviours and if you understand those behaviours, you can use them to give your users a very positive experience.

Some of the talk will be scientific, but a lot of it will highlight real usable techniques to get the desired effects. I hope to guide everyone through a lot of examples and analysis of companies where they went right ... and where they failed."

Joseph Wilk

Bio

Joseph Wilk is a member of the core development team for Cucumber. He has been developing for the web for 11 years in both big and small companies and as an entrepreneur. After stints working with Java and Python he finally found Ruby. Since then he has become a regular speaker at various Ruby conferences around the world. He spends his time in-between eating Cucumbers and travelling, working at Songkick.com. Having more fun than is healthy working as a Software Gardener building web systems and working on open source projects. He suffers from test obsession and has given up hope of any treatment.

Abstract

The Limited Red Society

During an hour of programming what do you learn about your performance? How did that last refactoring go? How does that hour compare to the previous hour? How about against last week or last month? How are your habits as a programmer improving? How does your refactoring pattern differ from a masters like Martin Fowlers?

Professional Tennis players learn from detailed statistics about how they performed in a game and use this information to become better players.

Why don't we do the same in Programming? I want to demonstrate how we can, especially how we as individual programmers can help limit the time we spend in the red (failing tests) while developing. How long we spend in the red and how often can reflect on how we are working as programmers. Joshua Kerievsky created ""The Limited Red Society"", a group of practitioners that have learned how to effectively reduce red time while test-driving and refactoring code. I want to introduce this society to the Ruby world and some of the tools and ideas I have been working on.

We can gain detailed insight into your programming patterns while using a TDD flow by recording the state of your tests every time you run them. From these detailed metrics we can start to visualise how you work. How long did we spend in the red with that failed test? Was that test we wrote too big a step leaving us stuck in the red for too long? Did we spend a long time in the red because we were shaving a Yak? How many unit tests did we just break with that last change?

Blake Mizerany

Bio

I created Sinatra (www.sinatrarb.com) and co-created Doozer (http://github.com/ha/doozerd). I saw Elvis at a gas station the other day. I speak Ruby, Go, Erlang, JavaScript, C, C++, and more. My preferred form of transportation is Git. Heroku (heroku.com) is where I hang my hat. My Mom thinks I'm totally awesome. You didn't see me.

Abstract

On Distributed Failures

In unreliable networks, with unreliable processors (also known as "The Cloud") one must know all the ways their thing can fail; And just as importantly, how to recover. It is even better to have the ability to recover in an automated way. I'll go over the common failure conditions in distributed systems, and then introduce you to Doozer, the highly-available, consistant data store that makes recovering from these problems easy.