<commit_before>- matz:
  id: 'matz'
  name: '<NAME>'
  additional_name: 'Matz'
  title: 'Ruby chief architect'
  bio: 'Yukihiro “Matz” Matsumoto is the mastermind behind the inception of Ruby. Since 1993 he has been designing our precious jewel up to its latest 2.0 version. Meanwhile he has been working on mruby, a lightweight Ruby implementation. This summer, he will be celebrating with us the 20th anniversary of Ruby.'
  twitter: 'yukihiro_matz'
  github: 'matz'
  keynote: true
  talk:
    title: "Keynote"

- koichi:
  id: 'koichi'
  name: '<NAME>'
  title: 'Ruby core commiter (CRuby VM, YARV)'
  bio: 'Koichi knows the inside outs of the Ruby VM. He has developed YARV (Yet another Ruby VM) which became the official Ruby VM when Ruby 1.9 was released. We believe he will give lots of insights in the Ruby VM, the new performance improments in Ruby 2.0 and will hint at the future of the Ruby VM.'
  twitter: '_ko1'
  github: 'ko1'
  keynote: true
  talk:
    title: "Keynote"

- klabnik:
  id: 'klabnik'
  name: '<NAME>'
  title: 'Instructor and Open Source lead'
  bio: 'Steve enjoys turning coffee into code, writing, philosophy, and physical activity. He is a contributor to many high visibility open source projects such as Sinatra, Resque, Rubinius and of course the venerable Ruby on Rails web framework. His talks are always insightful and inspiring. We should not expect anything less for EuRuKo.'
  twitter: 'steveklabnik'
  github: 'steveklabnik'
  keynote: true
  talk:
    title: "Keynote"

- xavier:
  id: 'noria'
  name: '<NAME>'
  title: 'Ruby on Rails consultant'
  bio: 'Xavier is a Ruby on Rails core team member having worked with Ruby since 2005. He is also featured as #5 in the Rails contributors lists, a list he also created. A real Ruby hero presented with a Ruby Hero Award in RailsConf 2010 and also part of the team that organised EuRuKo 2009 in Barcelona. We are really excited to have him with us at EuRuKo 2013 and are eager to watch him present a rational tale.'
  twitter: 'fxn'
  github: 'fxn'
  keynote: true
  talk:
    title: "I See Your 127.32+, A Tale of Rationals"
    descr: "Money, be careful with money. While developing a brand new website for online betting I found the requirements related to the flow of money were just not possible to implement with traditional datatypes. There were fundamental features that no matter your precision, would just not work correctly. After reflecting on the feature set, we ended up resorting to fractions. In this talk I'll explain how we integrated rationals in the full stack, from JavaScript down to PostgreSQL, going via Active Record. An interesting journey that ends with all cents under control, and me sleeping very well at night."

- witek:
  id: 'witek'
  name: '<NAME>'
  title: ''
  bio: 'Grzegorz loves talking to people and computers. He speaks 4 (human) languages, a couple of computer ones, and he still wants to learn more. On daily basis he shares his life between Poznań and Berlin, where he works as a software developer dealing with Ruby on Rails applications, complex queries and performance issues.'
  twitter: 'arnvald'
  github: 'arnvald'
  keynote: false
  talk:
    title: "... but we had to kill Unicorns"
    description: "How often do you have to leave your comfort zone? How often does it happen that you need to change the fundamentals of your application? Well… it has happened to my team recently. We had to abandon our way of thinking about Ruby on Rails applications. Single-threaded servers were not a choice anymore, neither was JRuby nor Event Machine. And we had to handle up to 200k requests per minute. This talk is a case study about how, step by step, we got to multi threaded RoR application with MRI 1.9, MySQL, DataMapper. I want to present how we came to the solution, what did we have to do to make our application thread safe, how did we manage to use threads in MRI and what we learned while working on the big feature, that made us change the fundamentals of our application. Although the application in this case was built with Ruby on Rails, the talk won't be specific to this framework. I want to talk about threading and parallelism in Ruby and its open source libraries, as well as the process of making deep changes in the application that handles pretty big traffic."

- kroger:
  id: 'kroger'
  name: '<NAME>'
  title: ''
  bio: 'Simon took his experience from 12 years of freelancing for various companies around the globe and working with a very diverse set of technologies to build his dream team at SponsorPay and work with the language he loves - Ruby. Today he is most interested in database performance, application architecture and any hard problem that comes his way.'
  twitter: 'kroegerberlin'
  github: 'simonkro'
  keynote: false

- bussink:
  id: 'bussink'
  name: '<NAME>'
  title: ''
  bio: 'Dirkjan is the founder of CriticalCodes, a development company specialized in performance and security. He is also an active open source contributor, having contributed to Ruby, Rails and DataMapper. These days EngineYard is sponsoring his company to work on Rubinius.'
  twitter: 'dbussink'
  github: 'dbussink'
  keynote: false
  talk:
    title: "The future of Ruby is faster"
    description: "You care about your code. You write nicely factored and clean code, with nice and small methods that each do just what they are supposed to do. Maybe you worry sometimes that these additional methods and small objects can be problematic? This talk hopefully makes you stop worrying about this. So with all this care that you do, what can a Ruby implementation do to make sure your code actually runs fast? In this talk I will discuss the techniques used that allow your Ruby code to execute faster. How do we make sure calling a method is cheap or even free? How can we let you mostly get away with allocating a lot of objects? How do we make iterating with .each as fast as a while loop? Different techniques will be discussed, such as inline caches, just in time compilation, method / block inlining and better garbage collection. As a Rubinius contributor I've worked on all these subjects so I know a few things about these topics, but these will explained such that any Ruby developer can understand how these optimizations work. The quest for a faster Ruby is happening in a lot of places and you can learn how this is done!"

- smith:
  id: 'smith'
  name: '<NAME>'
  title: ''
  bio: 'Benjamin is a developer at Pivotal Labs. He has a strong passion for TDD, pairing, Agile and using technologies that get out of the programmer’s way (or the programmer out of the way). When not writing code, he follows his other passions into the outdoors to rock climb, back country snowboard, kayak and surf.'
  twitter: 'benjamin_smith'
  github: 'benjaminleesmith'
  keynote: false
  talk:
    title: "Architecting your Rails app for success!"
    description: "Rails is a great framework for creating web apps... for awhile. What do you do when your codebase grows large? How do you handle large teams of developers? When performance becomes an issue, how do you scale? Most importantly, how do you write code which can easily be refactored later? This is a story of a real life project built from day 1 with all these questions in mind. Learn about the problems we solved and lessons we learned: how to partition your Rails app into distinct modular engines, how to speed up your test suite by only running code effected by your changes, how to add a layer on top of ActiveRecord to enforce loose coupling, and many other patterns that can be applied to your own Rails apps!"

- tennhard:
  id: 'tennhard'
  name: '<NAME>'
  title: ''
  bio: '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.'
  twitter: 't6d'
  github: 't6d'
  keynote: false
  talk:
    title: "Natural Language Processing with Ruby"
    description: "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."

- shaughnessy:
  id: 'shaughnessy'
  name: '<NAME>'
  title: ''
  bio: 'Pat loves diving into the details of a technology, learning how it works, and then explaining it in simple terms that everyone can understand. Author of “Ruby under a Microscope” explaining the nitty gritty details of Ruby.'
  twitter: 'pat_shaughnessy'
  github: 'patshaughnessy'
  keynote: false
  talk:
    title: "Functional Programming and Ruby"
    description: "While Ruby is object oriented and imperative, it does have some features that allow for functional programming. In this talk we’ll compare Haskell, a functional programming language, with Ruby while exploring these common functional patterns: higher order functions, lazy evaluation, and memoization. Along the way we’ll explore how Ruby works internally, find out whether it’s a true functional language, and zoom in to take a close look at Ruby 2.0’s implementation of the new “Enumerator::Lazy” feature."

- lovell:
  id: 'lovell'
  name: '<NAME>'
  title: ''
  bio: 'Ben is an engineer at Global Personals. A regular contributor to open source, agile proponent and harbours an almost unhealthy obsession for all things concurrent and distributed. Ruby and Scala are his first loves.'
  twitter: 'benlovell'
  github: 'benlovell'
  keynote: false
  talk:
    title: "Achieving zomgscale with Celluloid and JRuby!"
    description: "Light up your cores! Learn how to achieve levels of scale hitherto unknown to mere mortals. This talk will cover concurrency and parallelisation for the discerning rubyist. We'll cover why MRI is keeping your CPUs way cooler than they find comfortable and how you can unlock unfound levels of roflscale by spending a little time with celluloid and JRuby."

- kalderimis:
  id: 'kalderimis'
  name: '<NAME>'
  title: ''
  bio: 'Josh is a core Travis CI team member, a Rails contributor, gem developer, and an enthusiastic ice cream lover who ships technical debt daily! Part of the team that organised EuRuKo 2012 in Amsterdam.'
  twitter: 'j2h'
  github: 'joshk'
  keynote: false
  talk:
    title: "No one plans for complexity, and neither should you!"
    description: "Great ideas start small, hell, just look at all the great services we use today, all of them small ideas which grew, and grew, and grew. Do you think they planned for this level of scale from the outset? God no! And why would they? Planning too early can be the death of such a great idea! The mantra is simple, start small, growth will come naturally. That might sound stupid, but the idea is solid. As your product grows you will learn where the bottlenecks are, where the pain points in code and processing exist, and what needs to scale and what needs to be thrown out the door. Travis CI was no different, started as a simple Rails app, it has now grown into a platform built upon over 9 different apps, using everything from Postgres, Redis, RabbitMQ, Memcached, S3, BlueBox, MRI, JRuby, Websockets, and a huge array of services helping with email, metrics, and alerts. We never designed or planned for this, this came about from natural growth, and we have only just started. This talk is a story of architecture, complexity, and growth, as well as a candid look on what we did wrong and could have done better. And most importantly, this is a talk about how sometimes not building something is more important than building it in the first place."

- oliveira:
  id: 'oliveira'
  name: '<NAME>'
  title: ''
  bio: 'Alexandre is a Ruby developer at Stack Builders and a freedoms evangelist in the free time.'
  twitter: 'kurko'
  github: 'kurko'
  keynote: false
  talk:
    title: "Forget about classes, welcome objects"
    description: "This talk is a tale about a time when Object-Oriented Programming was about objects and messages, not about classes and methods, when it was about behavior, not schemas. You will understand how OO was intended to be used and what it means to say that OO is about messages. We'll talk about the past and then go back to the future to look at our Class-Oriented Programming culture and how we can fix it by doing real OO in Ruby. By doing that, we'll start to understand why principles like SOLID and Demeter are here to help us stop losing time and money. This talk is about making you reevaluate the way you approach OO."

- ramirez:
  id: 'ramirez'
  name: '<NAME>'
  title: ''
  bio: 'Javier is a web developer, daydreamer and all around happy person. He is in Ruby on Rails projects since 2006. He is also the author of the book “Aptana RadRails: An IDE for Rails Development” and an active member of the Spanish Ruby scene.'
  twitter: 'supercoco9'
  github: 'javier'
  keynote: false
  talk:
    title: "Fun with Ruby and Redis"
    description: "All the cool cats are using Redis, and with a reason: It's fast, it's robust, it's easy and it's web scale. Put it together with Ruby and it's fun too! In this session I will talk about what is redis, what you can do with it, how you can use it from Ruby, why you should be using it already and some common patterns when dealing with it." 

- kelly:
  id: 'kelly'
  name: '<NAME>'
  title: ''
  bio: "Chris is a Developer and Evangelist at New Relic. He is a self-identified happiness engineer, writing code that makes someone else's day better."
  twitter: 'amateurhuman'
  github: 'amateurhuman'
  keynote: false
  talk:
    title: "Down the rb_newobj() Rabbit Hole: Garbage Collection and a Glimpse into Ruby's Future"
    description: "Garbage collection is one of the pillars of Ruby's performance story, but getting into the inner workings of MRI's garbage collector is a bit hairy. If you want to explore the garbage collector then you're going to have to get your hands deep into C code. We're going to take a walk through the C internals from Foo.new through garbage collection in Ruby's MRI. We’ll examine the idioms and optimizations in the C source and leave you feeling comfortable to explore the code yourself. At the end of the rb_newobj() rabbit hole is a whole world of garbage collection. Major changes have been made in MRI's garbage collector from Ruby 1.8 through 2.0: changes intended to make Ruby more performant, changes that can capitalize on MRI's roots in UNIX. From mark-and-sweep to copy-on-write and bitmap marking, we'll see what the future of Ruby performance might look like by peering through the window of the garbage collector."<commit_msg>Add a title to all speakers<commit_after>- matz:
  id: 'matz'
  name: '<NAME>'
  additional_name: 'Matz'
  title: 'Ruby chief architect'
  bio: 'Yukihiro “Matz” Matsumoto is the mastermind behind the inception of Ruby. Since 1993 he has been designing our precious jewel up to its latest 2.0 version. Meanwhile he has been working on mruby, a lightweight Ruby implementation. This summer, he will be celebrating with us the 20th anniversary of Ruby.'
  twitter: 'yukihiro_matz'
  github: 'matz'
  keynote: true
  talk:
    title: "Keynote"

- koichi:
  id: 'koichi'
  name: '<NAME>'
  title: 'Ruby core commiter (CRuby VM, YARV)'
  bio: 'Koichi knows the inside outs of the Ruby VM. He has developed YARV (Yet another Ruby VM) which became the official Ruby VM when Ruby 1.9 was released. We believe he will give lots of insights in the Ruby VM, the new performance improments in Ruby 2.0 and will hint at the future of the Ruby VM.'
  twitter: '_ko1'
  github: 'ko1'
  keynote: true
  talk:
    title: "Keynote"

- klabnik:
  id: 'klabnik'
  name: '<NAME>'
  title: 'Instructor and Open Source lead'
  bio: 'Steve enjoys turning coffee into code, writing, philosophy, and physical activity. He is a contributor to many high visibility open source projects such as Sinatra, Resque, Rubinius and of course the venerable Ruby on Rails web framework. His talks are always insightful and inspiring. We should not expect anything less for EuRuKo.'
  twitter: 'steveklabnik'
  github: 'steveklabnik'
  keynote: true
  talk:
    title: "Keynote"

- xavier:
  id: 'noria'
  name: '<NAME>'
  title: 'Ruby on Rails consultant'
  bio: 'Xavier is a Ruby on Rails core team member having worked with Ruby since 2005. He is also featured as #5 in the Rails contributors lists, a list he also created. A real Ruby hero presented with a Ruby Hero Award in RailsConf 2010 and also part of the team that organised EuRuKo 2009 in Barcelona. We are really excited to have him with us at EuRuKo 2013 and are eager to watch him present a rational tale.'
  twitter: 'fxn'
  github: 'fxn'
  keynote: true
  talk:
    title: "I See Your 127.32+, A Tale of Rationals"
    descr: "Money, be careful with money. While developing a brand new website for online betting I found the requirements related to the flow of money were just not possible to implement with traditional datatypes. There were fundamental features that no matter your precision, would just not work correctly. After reflecting on the feature set, we ended up resorting to fractions. In this talk I'll explain how we integrated rationals in the full stack, from JavaScript down to PostgreSQL, going via Active Record. An interesting journey that ends with all cents under control, and me sleeping very well at night."

- witek:
  id: 'witek'
  name: '<NAME>'
  title: 'Software Developer at SponsorPay'
  bio: 'Grzegorz loves talking to people and computers. He speaks 4 (human) languages, a couple of computer ones, and he still wants to learn more. On daily basis he shares his life between Poznań and Berlin, where he works as a software developer dealing with Ruby on Rails applications, complex queries and performance issues.'
  twitter: 'arnvald'
  github: 'arnvald'
  keynote: false
  talk:
    title: "... but we had to kill Unicorns"
    description: "How often do you have to leave your comfort zone? How often does it happen that you need to change the fundamentals of your application? Well… it has happened to my team recently. We had to abandon our way of thinking about Ruby on Rails applications. Single-threaded servers were not a choice anymore, neither was JRuby nor Event Machine. And we had to handle up to 200k requests per minute. This talk is a case study about how, step by step, we got to multi threaded RoR application with MRI 1.9, MySQL, DataMapper. I want to present how we came to the solution, what did we have to do to make our application thread safe, how did we manage to use threads in MRI and what we learned while working on the big feature, that made us change the fundamentals of our application. Although the application in this case was built with Ruby on Rails, the talk won't be specific to this framework. I want to talk about threading and parallelism in Ruby and its open source libraries, as well as the process of making deep changes in the application that handles pretty big traffic."

- kroger:
  id: 'kroger'
  name: '<NAME>'
  title: 'VP Technology at SponsorPay'
  bio: 'Simon took his experience from 12 years of freelancing for various companies around the globe and working with a very diverse set of technologies to build his dream team at SponsorPay and work with the language he loves - Ruby. Today he is most interested in database performance, application architecture and any hard problem that comes his way.'
  twitter: 'kroegerberlin'
  github: 'simonkro'
  keynote: false

- bussink:
  id: 'bussink'
  name: '<NAME>'
  title: 'Freelance software developer'
  bio: 'Dirkjan is the founder of CriticalCodes, a development company specialized in performance and security. He is also an active open source contributor, having contributed to Ruby, Rails and DataMapper. These days EngineYard is sponsoring his company to work on Rubinius.'
  twitter: 'dbussink'
  github: 'dbussink'
  keynote: false
  talk:
    title: "The future of Ruby is faster"
    description: "You care about your code. You write nicely factored and clean code, with nice and small methods that each do just what they are supposed to do. Maybe you worry sometimes that these additional methods and small objects can be problematic? This talk hopefully makes you stop worrying about this. So with all this care that you do, what can a Ruby implementation do to make sure your code actually runs fast? In this talk I will discuss the techniques used that allow your Ruby code to execute faster. How do we make sure calling a method is cheap or even free? How can we let you mostly get away with allocating a lot of objects? How do we make iterating with .each as fast as a while loop? Different techniques will be discussed, such as inline caches, just in time compilation, method / block inlining and better garbage collection. As a Rubinius contributor I've worked on all these subjects so I know a few things about these topics, but these will explained such that any Ruby developer can understand how these optimizations work. The quest for a faster Ruby is happening in a lot of places and you can learn how this is done!"

- smith:
  id: 'smith'
  name: '<NAME>'
  title: 'Software Engineer at Pivotal Labs'
  bio: 'Benjamin is a developer at Pivotal Labs. He has a strong passion for TDD, pairing, Agile and using technologies that get out of the programmer’s way (or the programmer out of the way). When not writing code, he follows his other passions into the outdoors to rock climb, back country snowboard, kayak and surf.'
  twitter: 'benjamin_smith'
  github: 'benjaminleesmith'
  keynote: false
  talk:
    title: "Architecting your Rails app for success!"
    description: "Rails is a great framework for creating web apps... for awhile. What do you do when your codebase grows large? How do you handle large teams of developers? When performance becomes an issue, how do you scale? Most importantly, how do you write code which can easily be refactored later? This is a story of a real life project built from day 1 with all these questions in mind. Learn about the problems we solved and lessons we learned: how to partition your Rails app into distinct modular engines, how to speed up your test suite by only running code effected by your changes, how to add a layer on top of ActiveRecord to enforce loose coupling, and many other patterns that can be applied to your own Rails apps!"

- tennhard:
  id: 'tennhard'
  name: '<NAME>'
  title: 'Software Developer at Flinc'
  bio: '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.'
  twitter: 't6d'
  github: 't6d'
  keynote: false
  talk:
    title: "Natural Language Processing with Ruby"
    description: "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."

- shaughnessy:
  id: 'shaughnessy'
  name: '<NAME>'
  title: 'Software Architect at McKinsey & Co.'
  bio: 'Pat loves diving into the details of a technology, learning how it works, and then explaining it in simple terms that everyone can understand. Author of “Ruby under a Microscope” explaining the nitty gritty details of Ruby.'
  twitter: 'pat_shaughnessy'
  github: 'patshaughnessy'
  keynote: false
  talk:
    title: "Functional Programming and Ruby"
    description: "While Ruby is object oriented and imperative, it does have some features that allow for functional programming. In this talk we’ll compare Haskell, a functional programming language, with Ruby while exploring these common functional patterns: higher order functions, lazy evaluation, and memoization. Along the way we’ll explore how Ruby works internally, find out whether it’s a true functional language, and zoom in to take a close look at Ruby 2.0’s implementation of the new “Enumerator::Lazy” feature."

- lovell:
  id: 'lovell'
  name: '<NAME>'
  title: 'Engineer at Global Personals'
  bio: 'Ben is an engineer at Global Personals. A regular contributor to open source, agile proponent and harbours an almost unhealthy obsession for all things concurrent and distributed. Ruby and Scala are his first loves.'
  twitter: 'benlovell'
  github: 'benlovell'
  keynote: false
  talk:
    title: "Achieving zomgscale with Celluloid and JRuby!"
    description: "Light up your cores! Learn how to achieve levels of scale hitherto unknown to mere mortals. This talk will cover concurrency and parallelisation for the discerning rubyist. We'll cover why MRI is keeping your CPUs way cooler than they find comfortable and how you can unlock unfound levels of roflscale by spending a little time with celluloid and JRuby."

- kalderimis:
  id: 'kalderimis'
  name: '<NAME>'
  title: 'CEO of Travis CI'
  bio: 'Josh is a core Travis CI team member, a Rails contributor, gem developer, and an enthusiastic ice cream lover who ships technical debt daily! Part of the team that organised EuRuKo 2012 in Amsterdam.'
  twitter: 'j2h'
  github: 'joshk'
  keynote: false
  talk:
    title: "No one plans for complexity, and neither should you!"
    description: "Great ideas start small, hell, just look at all the great services we use today, all of them small ideas which grew, and grew, and grew. Do you think they planned for this level of scale from the outset? God no! And why would they? Planning too early can be the death of such a great idea! The mantra is simple, start small, growth will come naturally. That might sound stupid, but the idea is solid. As your product grows you will learn where the bottlenecks are, where the pain points in code and processing exist, and what needs to scale and what needs to be thrown out the door. Travis CI was no different, started as a simple Rails app, it has now grown into a platform built upon over 9 different apps, using everything from Postgres, Redis, RabbitMQ, Memcached, S3, BlueBox, MRI, JRuby, Websockets, and a huge array of services helping with email, metrics, and alerts. We never designed or planned for this, this came about from natural growth, and we have only just started. This talk is a story of architecture, complexity, and growth, as well as a candid look on what we did wrong and could have done better. And most importantly, this is a talk about how sometimes not building something is more important than building it in the first place."

- oliveira:
  id: 'oliveira'
  name: '<NAME>'
  title: 'Ruby Developer at Stack Builders'
  bio: 'Alexandre is a Ruby developer at Stack Builders and a freedoms evangelist in the free time.'
  twitter: 'kurko'
  github: 'kurko'
  keynote: false
  talk:
    title: "Forget about classes, welcome objects"
    description: "This talk is a tale about a time when Object-Oriented Programming was about objects and messages, not about classes and methods, when it was about behavior, not schemas. You will understand how OO was intended to be used and what it means to say that OO is about messages. We'll talk about the past and then go back to the future to look at our Class-Oriented Programming culture and how we can fix it by doing real OO in Ruby. By doing that, we'll start to understand why principles like SOLID and Demeter are here to help us stop losing time and money. This talk is about making you reevaluate the way you approach OO."

- ramirez:
  id: 'ramirez'
  name: '<NAME>'
  title: 'Founder at Teowaki'
  bio: 'Javier is a web developer, daydreamer and all around happy person. He is in Ruby on Rails projects since 2006. He is also the author of the book “Aptana RadRails: An IDE for Rails Development” and an active member of the Spanish Ruby scene.'
  twitter: 'supercoco9'
  github: 'javier'
  keynote: false
  talk:
    title: "Fun with Ruby and Redis"
    description: "All the cool cats are using Redis, and with a reason: It's fast, it's robust, it's easy and it's web scale. Put it together with Ruby and it's fun too! In this session I will talk about what is redis, what you can do with it, how you can use it from Ruby, why you should be using it already and some common patterns when dealing with it." 

- kelly:
  id: 'kelly'
  name: '<NAME>'
  title: 'Developer Relations at New Relic'
  bio: "Chris is a Developer and Evangelist at New Relic. He is a self-identified happiness engineer, writing code that makes someone else's day better."
  twitter: 'amateurhuman'
  github: 'amateurhuman'
  keynote: false
  talk:
    title: "Down the rb_newobj() Rabbit Hole: Garbage Collection and a Glimpse into Ruby's Future"
    description: "Garbage collection is one of the pillars of Ruby's performance story, but getting into the inner workings of MRI's garbage collector is a bit hairy. If you want to explore the garbage collector then you're going to have to get your hands deep into C code. We're going to take a walk through the C internals from Foo.new through garbage collection in Ruby's MRI. We’ll examine the idioms and optimizations in the C source and leave you feeling comfortable to explore the code yourself. At the end of the rb_newobj() rabbit hole is a whole world of garbage collection. Major changes have been made in MRI's garbage collector from Ruby 1.8 through 2.0: changes intended to make Ruby more performant, changes that can capitalize on MRI's roots in UNIX. From mark-and-sweep to copy-on-write and bitmap marking, we'll see what the future of Ruby performance might look like by peering through the window of the garbage collector."
{'fraction_non_alphanumeric': 0.04916737763453092, 'fraction_numerical': 0.004107814326792429, 'mean_word_length': 4.173777995749551, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '759974', 'n_tokens_mistral': 8462, 'n_tokens_neox': 7891, 'n_words': 5062}