Skip to main content

Talks

4/26 (Sat.)

Hotel Armação

Simultaneous Translation

Buy your ticket

8:00 — 8:45 A.M.

Registration

09:00 A.M.

Renée Hendricksen

President and Chief Adventure Officer at NIRD

Classic Algorithms in RubyWatch the full talk

Have you ever wondered how your choice of algorithm will impact the performance of your app? Does Big-O notation really matter outside of Computer Science class? Let's look at some of the underlying algorithms in Ruby and investigate how our implementation decisions can make-or-break our apps!

09:45 A.M.

João M. D. Moura

CTO at Palpiteros

Developing Products, not AppsWatch the full talk

The Ruby world has been protagonist of a new era of entrepreneurship in the technology market. There are many techniques, new specifications and conventions that are designed to facilitate and enhance the development of applications, especially on the web.

But this new context completely changes the way we were used to develop. Currently, the role of the Ruby developer goes beyond programming, and progresses within the product creation process, innovation, and effective participation in decisions that may determine the success or failure of an application. In this talk, I will demonstrate how you can expand the mindset from application development to product development.

More

10:30 A.M.

Marcio Trindade

Software Developer at Locaweb

The Ruby 2.1 FeaturesWatch the full talk

We'll walk through the main new features of Ruby 2.1 and show how the changes in Gabarge Collector made this version about 20% faster than the previous one.

11:00 A.M.

Lucas Dohmen

Developer at triAGENS GmbH

Domain Driven Design & NoSQLWatch the full talk

Domain Driven Design is a software development process that focuses on finding a common language for the involved parties. This language and the resulting models are taken from the domain rather than the technical details of the implementation. The goal is to improve the communication between customers, developers and all other involved groups. Even if Eric Evan's book about this topic was written almost ten years ago, this topic remains important because a lot of projects fail for communication reasons.

Relational databases have their own language and influence the design of software into a direction further away from the domain: entities have to be created for the sole purpose of adhering to best practices of relational database. Two kinds of NoSQL databases are changing that: document stores and graph databases. In a document store you can model a contains relation in a more natural way and thereby express if this entity can exist outside of its surrounding entity. A graph database allows you to model relationships between entities in a straight forward way that can be expressed in the language of the domain.

I want to look at the way a multi model database that combines a document store and a graph database can help you model your problems in a way that is understandable for all parties involved.

More

11:45 A.M.

Arthur Neves

Software Developer at Shopify

Sharding ShopifyWatch the full talk

Database was always one of our first bottlenecks when trying to scale Shopify in multiple servers. Nowadays, NoSQL databases are getting pretty popular, specially because they scale out of the box. At Shopify, we decide to not use a NoSQL database as our canonical source of data and, in order to scale that properly, we had to create custom solutions to shard its data. I will be talking about how we did it using Ruby and Rails, and when you should shard a big database.

More

12:15 — 01:45 P.M.

Lunch

01:45 P.M.

Guilherme Garnier

Software Developer at Globo.com

Distributed Architecture: Scaling Projects and TeamsWatch the full talk

A few years ago, a lot of people said that Rails did not scale. Nowadays, there are a lot of big applications in Rails that show that this is not true. But when your project grows, to which point is it worth to keep everything in a single application? In this presentation, I will show details of a service distributed architecture, highlighting the advantages and drawbacks of this approach. The case of the Globo.tv (http://globotv.globo.com/) will be presented as an example. In this project, we use this architecture to allow different teams to work together.

More

02:15 P.M.

Brian Morton

Senior Software Engineer at Yammer/Microsoft

Dropping Rails for Dropwizard?Watch the full talk

Due to the success of Rails, many successful organizations find themselves with a Rails application that needs partitioning. Many organizations have chosen to largely abandon Ruby during this transition, yet the reasoning is often reactionary.

This talk explores the approach Yammer has taken, comparing Rails and the Java-based Dropwizard framework. Both have the mantra of getting decision-making and repetition out of the way so you can get things done. Dropwizard takes a slightly different approach by putting emphasis on "production-ready out-of-the-box."

In this talk, attendees will gain insights into the options Rubyists have for replicating Dropwizard's ops-focus in Rails. Attendees will also come away with an understanding of why Dropwizard's focus on operations and metrics makes it appealing to organizations tearing apart their monolithic Rails application. By assembling similar toolsets for Ruby and Java services, we'll be better positioned to choose between them on the merits of the stack and language.

More

03:00 P.M.

Pablo Astigarraga

Software Developer at CloudApp

The Dilemma of SimplicityWatch the full talk

Over the years we've learned to pay attention to the importance of a number of highly desirable qualities in software: readability, maintainability, adaptation to change. We've accepted these values as good and actively pursue them yet we consistently ignore what is probably the best method of achieving these qualities, it's staring us right in the face now.

Slowly but steadily the philosophy of embracing simplicity in software design by carefully calculating and minimizing unnecessary complexity is gaining traction in our community, and for a good reason: it organically pushes us to the best software practices we all know and love, it both embraces all the core principles the Ruby community has developed over the years while rejecting many of the common practices we carry based on inertia but which directly contradict these values.

In this talk I explore my journey on this shift in perspective from certain fragments of our community and how thinking about simplicity as one of our core values can push us to be better developers while producing better quality of software. We don't need our crutches anymore, let's drop them together!

More

03:45 P.M.

Rafael França

Software Developer at Plataformatec

Rails: The Hidden PartsWatch the full talk

The Rails framework contains a set of useful features for every Web application, but not every feature is well implemented and bug-free.

During this talk we will walk through two very old Rails features—Active Record’s scopes and HTML sanitisation—and explain how they work under the hood. Also, It will be presented the current issues we’ve been facing and how they can be improved.

More

04:30 P.M.

T.J. Schuck

Developer at Harvest

80,000 Plaintext Passwords: An Open Source Love Story in Three ActsWatch the full talk

Considering getting a new dog? Here are some name suggestions: fluffmuffin, peppercorn, monkeybreath.

Just kidding, those aren't dog name suggestions—those are a few of our users' plaintext passwords.

Don't like any of those? Don't worry—I have 80,000 more, and it only took me 87 seconds to gather them from our customer database in a white-hat attack.

In Act I, we'll cover the history of secure password storage, examine the hack, and mitigate the threat. Act II will address the difficulties of working on libraries with complicated dependencies (like bcrypt-ruby, of which I'm now a maintainer). In Act III, we'll celebrate the power of global collaboration via OSS.

[Scene.]

More

05:00 — 05:30 P.M.

Coffee Break

05:30 P.M.

Scott Motte

Developer Evangelist at SendGrid

Deprecating the Password: An Alternative Approach to Authentication using Email OnlyWatch the full talk

We should be evaluating whether the traditional username and password is the best form of authentication. I think there is a better way. I've open sourced something called Handshake.js that implements an email only authentication mechanism.

Come see a talk on the strengths and weaknesses of this new approach as well as a live coded demo on implementing this into your next Ruby application.

More

06:00 P.M.

Bryce Kerley

Software Engineer at Basho Technologies

Growing Distributed SystemsWatch the full talk

Distributed systems are big, in every sense of the word. From the biggest social networks and search engines to the simplest web or iOS application, distributed software causes problems, stemming from its greatest feature: the system should continue working even when parts break.

Client applications without network connections still want to capture data, backends with a failed service or two shouldn't break the entire application, and the app should still mostly work even when the big datacenter (you know the one) goes down.

How do you grow a simple monolithic Rails app into a distributed system? What does it take to make your UI save data for a network connection later? How do you even test all this stuff? I'll be presenting a survey of concepts, architectures, and experiences, with a few tools that make distributed systems less obtuse.

More

07:15 P.M.

Michel Martens

Co-founder of openredis

The Ruby Minimalist CountercultureComing soon

There has always been room in the Ruby community for developers to express themselves through minimalism. They use very simple tools to solve complex problems, and in this presentation I will showcase some of those tools and elaborate on the principles guiding their design.

07:45 P.M.

Steve Klabnik

“Philosopher in Residence” at Balanced

KeynoteComing soon

...

08:45 — 00:00 P.M.

Party Hard!

Workshops

4/24 (Thu.)

Recife

Buy your ticket

08:30 — 12:00 A.M. @ Impact Hub(Map)

Alex Southgate

Software Engineer at GitHub

Matt Graham

Designer and Front-end Developer at GitHub

Advanced GitHub & Git Course

Many Git workshops successfully focus on the basics for those new to DVCS (Distributed Version Control System). However, with Git having a full 5 years on the street now, there is a growing desire to address the maturing users of this innovative DVCS. This workshop will take existing Git users and bring them to a heightened level of productivity by leveraging Git’s powerful, yet underused “advanced” features.
More on: training.github.com/in-person/advanced-git.

08:30 — 12:00 A.M. @ PortoMídia(Map)

Akshay Karle

Developer at Thoughtworks

Leandro Gualter

Developer at Thoughtworks

Coding in Production

Ever had that bug that happens "only in production"? Ever heard someone say "but it works on my machine"? Ever said it yourself? Wouldn't it be nice if you could write all your code directly in production-so that when it works for you on your machine, it also works for everyone else?

In this workshop we will build a virtual environment which replicates a production environment from scratch using configuration automation and virtualization through lightweight containers. With our trusty tools-Vagrant, Docker and Chef-we will proceed step by step to build a local development environment.

With this, we hope to highlight the benefits of being able to see locally how code would actually work in production-helping catch design issues quickly and eliminate entire classes of bugs. Plus, to be honest, it also gives us a chance to play around with some really fun tech.

More

02:30 — 18:00 P.M. @ Impact Hub(Map)

Phil Cohen

Operations Engineer at Shopify

Cooking at Shopify: Taming a Busy Kitchen with Many Chefs

We use Chef to manage a large and rapidly growing infrastructure at Shopify. Our cookbooks are open to development not only by our Operations Team, but by all 200+ developers at the company, and we manage to maintain an environment of continuous delivery and continuous improvement for our infrastructure. In this workshop, I'll discuss our goals and motivations, some of our workflows, internal tooling, and security considerations when operating at our scale. We'll also spend some time setting up a similar environment and discussing sustainable infrastructure strategies.

More

02:30 — 18:00 P.M. @ PortoMídia(Map)

Cloves Carneiro Jr

Software Engineer at LivingSocial

Tim Schmelmer

Software Engineer at LivingSocial

Adopting SOA from Day 1

In this workshop, we'll explain what a Service-Oriented Architecture is, its advantages, and the reasons why developers should think about it when starting an application. I'll go into how complex and expensive it is to move to SOA when applications reach a specific code base size, traffic load, and will argue that using a SOA in an early stage of development is a feasible solution. We'll build a set of services and front-end applications to put into practice all the theory discussed in the workshop. We'll give parts of the workshop in Portuguese and English.

Activities

4/25 (Fri.)

Porto de Galinhas

9:00 a.m. @ Hotel Armação

Sail over the famous natural pools of Porto de Galinhas on a traditional raft boat used by local fishermen.

Buy your ticket

2:00 p.m. @ Hotel Armação

Enjoy this off-road adventure across the white sand beaches of Muro Alto, Cupe, Porto de Galinhas and Maracaípe.

Buy your ticket

4/27 (Sun.)

Porto de Galinhas

8:00 a.m. @ Hotel Armação

Explore the gorgeous marine fauna & flora of Porto de Galinhas in this baptism diving accompanied by an SSI certified instructor.

Buy your ticket

2:00 p.m. @ Hotel Armação

Row from Pontal de Maracaípe beach to the beautiful seahorse's birthplace. Shuttle from Porto de Galinhas to Maracaípe beach included.

Buy your ticket

Remarks

  • Activities are not included in the conference tickets.
  • Passes will be sold separately.
  • If any activity cannot be performed due to wheather issues or any other reason, your money will be fully refunded.
  • Limited availability.