September 27—28th 2013, Kiev, Ukraine

We are proud to present you 4th annual RubyShift 2013, an independent non-profit conference on Ruby and satellite technologies with accent on making new friends, being inspired, and having fun.


Nick Sutterer

Refactoring The Mess You Made - Like A BossKonstantin Haase

Building software systems is a complex and tedious task. Let’s walk through the process of learning about your own code, getting frustrated, angry, desperate, refactoring it, throwing away what you did the last 4 weeks and starting over - with a smile on your face.

Nick Sutterer is proud to be a member of the Ruby open source community. His Cells and Apotomo projects have been bringing increased view modularity and event-driven programming to Rails for years. He has enjoyed attending, and speaking at, Ruby conferences around the world. Buy him a beer sometime, and with very little prompting, he will tell you why there should be no such thing as a double-render error, why you should not confuse your models with your resources, and how to play a mean bass in a punk rock band.


Kevin Triplett

Two Cartoon Foxes: The _why Documentary

A programmer and artist, Kevin has been making films since he became a wee lad, back in the early 1970s. He hails from Texas and is currently a nomad, whereabouts unknown.


Akira Matsuda

Rails engines from the bottom up

Rails committer, CRuby core member, Haml committer, and author of widely used Rails plugins such as kaminari, active_decorator, action_args, etc. Also, member of RubyKaigi organising team, and the founder of "Asakusa.rb", the most active Ruby community in Japan.


Konstantin Haase

Death to Cookies

You might be used to being laughed at for your hatred of cookies, but fear not, this talk will give you all the arguments you need for defeating your opponents when they once more start claiming that cookies are the greatest invention since animated gifs. In this session we will be reminded why the cookies are our death sworn nemesis and get every cookie sympathizer back in line. We will see how there is no escaping from the threat that is a free roaming cookie and explore the utopia of a cookie free society. To do this, we pretend to be one of the misguided cookie lovers and try to protect our website against increasingly more complex attacks, without giving up on using cookies. Until we inevitable reach the point were it's simply no longer possible to offer a fully secure application.

OSS developer. Conference-goer. Maintainer of Sinatra, full time developer on Travis CI, was full time on Rubinius, core team member of Rack, Tilt and many more.


Martin Boßlet

Krypt. Semper Pi.

Martin is a freelancer by day, by night he is also a member of ruby-core, one of the maintainers of the Ruby OpenSSL extension and the author of krypt. Cryptography is his passion, and not only after the epiphany he had once realizing that his last name carries "ssl" in it.


Dimitri Krassovski

Ruby, Multidispatch and ponies

We’ve all grown into loving a praising Ruby. It is indeed a great language, but are there things out there we’re missing out? Multidispatch? List Comprehensions? Pattern Matching? A short journey into other languages, their paradigms, and how we live without them. Also, ponies!


Alexey Vasiliev

Let's GO

Software engineer at Railsware in Kiev, Ukraine. Developed such products as: PopCornUA (android and iphone applications), MongodbLogger (logger for Rails), SmtRails (shared mustache templates for Rails), PIRO (the rocket for pivotal tracker account), Webp-ffi and many others. Creator of Open Source training manual for setting up and scaling of PostgreSQL in Russian. Leading Russian podcast about Ruby and JS - RWpod.


Michael Klishin

Rabbit guts: how RabbitMQ works under the hood, and why

RabbitMQ is a popular multi-protocol messaging middleware. This talk explores how it works internally and why. Clustering, I/O and durability, flow control, asynchronous replication, plugin architecture, support for multiple protocols: how can all of this fit into just a few thousands lines of code? Can these lessons be applied to other servers and middleware?

Multilingual and curious about how things work, Michael spends most of hist time working with and learning about data, concurrency, parallelism, and functional programming. He also tries to make the Clojure ecosystem a better place with ClojureWerkz and tweets an ungodly number of animated gifs. He is currently at Pivotal working on RabbitMQ.


Karel Minařík

Elasticsearch: Search & Analytics

Karel Minařík is as a freelance designer and developer of web applications, consultant, software architect and Ruby/Rails and NoSQL evangelist. He lives in Prague with his wife and two daughters. Find out more at http://karmi.cz.


Moisey Uretsky

Lean Development

Moisey is Head of Product of DigitalOcean, a rapidly growing cloud hosting provider built on Rails that offers fast SSD virtual servers. DigitalOcean currently hosts leading sites within the Rails community which include guides.rubyonrails.org and railscasts.com. Moisey is in charge of a talented team of Rails developers and is focused on building the next revolutionary cloud.


Marek Jelen


In my talk I would like to talk about PaaSes in general. I am sure most people use them and are familiar with the front-end functionality. I want to focus on the backends and how such platforms work internally. We shall deep dive into OpenShift and CloudFoundry and will discuss the underlying technologies - LXC, SELinux,cGroups, AuFS, Warden. Yes, we will also poke into Docker and we also may touch Vagrant.


Ben Lovell

Zomgscale! With Celluloid & JRuby

ZOMG - your CPUs have chilly chills! Light a fire under your cores and keep warm at night by unleashing the awesomeness contained within Celluloid & JRuby! We'll talk about the state of concurrency and parallelism in ruby (no GIL whining, I promise) and how the landscape is changing thanks to Moore's Law no longer standing stead. I'll muse upon the problems with processes and threads for concurrency and parallelism and how the actor model largely solves those issues. You won't even have to sport a huge unix beard to play along. Unless you want to. In which case - BEARD ON! Finally I will show via the medium of code how Celluloid & JRuby are a mature and simple to reason about combination of sheer awesomes! I'll give a brief overview of Celluloid and some pointers on how best to apply it. This stuff isn't witchcraft, do not be afraid!


Konstantin Tennhard

Natural Language Processing with Ruby

Natural Language Processing (NLP) is the art and science of making sense of user-generated data. It is a combination of state-of-the-art computer science techniques and linguistics. Being able to analyze plain text data allows us to gain a lot of insights. Popular NLP tasks are text summarization, keyword extraction or automatic extraction of the author’s opinion from a text. In the age of social media, only NLP provides solutions to analyze what users are really care about. Companies such as Google or Facebook invest millions in NLP solutions to harvest information from all the data they have been gathering over the years. In this talk, I will present you a real-world NLP problem. We will discuss this problem from both, the linguistic and the computer science perspective. Throughout the talk, we will develop a processing pipeline to efficiently solve this problem in an automated fashion. An NLP pipeline usually consists of multiple components, each solving one aspect of the problem and presenting its own challenges. Among other things, you will learn how to tackle the following essential NLP problems using JRuby and OpenNLP: • Sentence segmentation, • Tokenization, • Part-of-speech tagging, and • Named entity recognition.

Konstantin is a computer scientist who specializes in developing large scale internet applications. He is passionate about software design, test driven development and all sorts of modern web-technology. His main scientific interest is natural language processing.

Want to become speaker? Fill the form below!


This year our tickets are at $35 which makes us one of the most affordable non-profit conferences out there. Feel free to ping us at @rubyshift in case of questions.

Venue address
Hotel Kozatskiy,

1/3 Myhailivska Street, Kiev, Ukraine


So you're coming to a conference? Great! It's good to take a good nap after the party. Here's a list of hotels and hostels within a few minutes walking from the venue.

Most of the hotels are within 80 USD price range. Great hostels average 15 USD.

Hotel Phone Number Distance URL
Hotel Kozatskiy +380 44 276 49 14 0.02km http://kozatskiy.kiev.ua
The Hotel Dnipro  +380 44 254 67 77 0.02km http://dniprohotel.ua
Hotel Ukraine +380 44 278 28 04 0.02km http://ukraine-hotel.kiev.ua
Khreschatyk Hotel +38 (044) 596 80 00 0.02km http://www.hotel-khreschatyk.kiev.ua/
Basseynaya Apart Hotel +380 67 249 79 67 0.02km http://bit.ly/Niktgg
Mini-hotel on Kropivnickogo +380 44 235 90 46 0.02km http://bit.ly/NXxfea
Hostel Phone Number Distance URL
City Centre Hostel +380 44 270 68 78 0.02km http://hostelkiev.ua
City Centre Hostel N/A 0.02km http://bit.ly/PcnPkC
Roots Kiev Hostel +380 44 270 68 78 0.02km http://hostel.kiev.ua
Kiev Hostel & Lodging +380 93 813 39 59 0.02km http://hostelukraine.com
Down Town Hostel +380 98 263 65 06 0.02km http://bit.ly/QqT2ff
Delil Hostel +380 44 278 70 86 0.02km http://delil-hostel.com.ua
Day 1 Day 2
50 Shades of Concurrency
(Michael Klishin)
Death to Cookies
(Konstantin Haase)
Zomgscale! With Celluloid & JRuby
(Ben Lovell)
Lean Development
(Moisey Uretsky)
Elasticsearch: Search & Analytics
(Karel Minařík)
Ruby, Multidispatch and ponies
(Dimitri Krassovski)
Natural Language Processing with Ruby
(Konstantin Tennhard)
Rabbit guts: how RabbitMQ works under the hood, and why
(Michael Klishin)
(Marek Jelen)
Rails engines from the bottom up
(Akira Matsuda)
Refactoring The Mess You Made - Like A BossKonstantin Haase
(Nick Sutterer)
Let's GO
(Alexey Vasiliev)
Two Cartoon Foxes: The _why Documentary
(Kevin Triplett)
Krypt. Semper Pi.
(Martin Boßlet)
After-party at Lucky Pub

Interested in sponsoring?

Email us at contact@rubyshift.org