Sarah Mei

Sarah Mei

Sarah likes code, especially when there's a lot of it. She's been working with Ruby and JavaScript since before they were a big deal, and with software in general for almost two decades, and is currently Chief Consultant at DevMynd.

Fields & Fences

When you've got too much code to keep it all in one place, what happens next? Whether you're pulling a new service out of a monolith, or pulling a new object out of a class, you're solving the same problem and you can apply the same solutions. Let's look at how object-oriented design and service design can inform each other and deepen our knowledge of both.

Nick Quaranto

Nick Quaranto

Nick is a programmer, coworking cofounder, and GIF sommelier. By day he mostly writes Ruby and Swift at Basecamp. By night he pretends that he is a short, sturdy creature fond of industry and stays up too late listening to jam bands.

rubygems.next

The past, present, and future of RubyGems.org and what you'll see from the Ruby community's package manager site. Oh, and some GIFs too.

Betsy Haibel

Betsy Haibel

Betsy Haibel is a senior developer at Optoro, one-half of the Irregular Gentlewomen, and an mentor with Learn Ruby DC. She writes both fiction and nonfiction in English, Ruby, JavaScript, and occasionally Python.

Your Bright Metaprogramming Future: Mistakes You'll Make (and How to Fix Them)

Ruby's full of nice little metaprogramming tricks. Learning a new one's always the same cycle: 1. scared & tentative; 2. drunk on power; 3. woefully repentant; 4. mature & reasonable. With my own past mistakes as guide, I'll take you through stages 1-4 for: mazes of twisty little send calls, all alike! replacing def with method_missing! hook method indirection "magic!" Ill-timed define_methods! Sure, you could skip to the end - stage 4 is mostly "obey SRP; extract service objects" and "anonymous module inclusion's your BFF" - but getting there is half the point and all the fun.

Simon van Dyk

Simon van Dyk

Simon is an aspiring code artisan at Platform45. He's done research in neural networks and dynamic particle swarm optimisation and presented before at RubyFuza, Cape Town. With love for the developer community he has started the local meetup Pretoria Ruby in South Africa.

Diagnosing cancer with machine learning

Computational intelligence is the art of building artificial intelligence with software. We have all reached for metaphors and stories to explain and model difficult concepts in OOP. Join me on a journey through some of the metaphors used to achieve intelligent behaviour. We will explore the inner workings of a neural network, and show how to build a classifier to predict a cancer diagnosis with high accuracy. Lastly we'll discuss a non-deterministic way of thinking about software, and what the impact could be for what we believe are intelligent machines.

André Arko

André Arko

André Arko thinks Ruby is pretty neat, and has been using it for nine years. His day job is building web apps and training developers for clients at Cloud City Development in San Francisco. In his remaining time, he leads the Bundler team and thinks about how to make software less terrible.

Development Was The Easy Part

As developers, we spend our time in development environments, but our users only see our code in production. The differences between development and production can be extremely surprising, and surprises are bad when your users and revenue are at stake. I'll talk about the most common surprises of production environments, including metrics, networks, hardware, and data stores. By the end of the talk, you'll know how to use your existing tools to monitor and even improve your production environment, as well as gotchas to watch out for.

Mike Bernstein

Mike Bernstein

Michael Bernstein is obsessed. Not with anything in particular, just in general. He’s a DC based software developer and amateur Computer Scientist who writes at michaelrbernste.in and tweets (too much) at mrb_bk. He works at Code Climate, and he’s given talks on Garbage Collection and Distributed Systems in the past. He is very excited to hang and chat with fellow obsessives.

Compiling A Dependently Typed Language To Ruby

Idris is a dependently typed programming language written in Haskell. One of the more intriguing aspects of the design of the language is the facility to hook into its compiler and generate code in other languages. C, JavaScript, and even PHP backends have been created for Idris, and now I have created a naive one for Ruby. In this talk I'll explain what a dependently typed programming language is, show off some surprising parts of the compiler for Idris, and discuss why you'd want to do something like this in the first place.

Starr Horne

Starr Horne

Starr Horne is a Rubyist and Chief Javascripter at Honeybadger.io. When he's not neck-deep in other people's bugs, he enjoys making furniture with traditional hand-tools, reading history and brewing beer in his garage in Seattle.

Ditching Our Single-Page Application

At my company, we recently finished rebuilding our front end - moving away from a strict single-page approach, and towards a hybrid approach. What happened? The app became noticeably faster. New features were easier to ship. The codebase became easier to maintain. We’ll use this experience as a jumping off point to discuss alternatives to the single-page approach, and why you might choose them.

Kevin Hopkins and Allison McMillan

Kevin Hopkins and Allison McMillan

Kevin Hopkins is a life-long learner, developer, and technology fanatic enjoying work as engineering manager at General Assembly. A resident of Virginia's Shenandoah Valley, he's been slinging code remotely while enjoying the outdoors, woodworking, hiking, and wrenching on cars. Kevin loves the educational technology space, and really looks forward to taking part in building new educational products. Allison McMillan is an engineer at General Assemb.ly. She started developing at a Rails Girls workshop and is now a chapter organizer. Allison was previously a startup founder, a community builder at the University of Michigan, and Managing Director at the Israel on Campus Coalition. Allison lives in Washington, DC.

No More Dragons: Defeating the Darkness with Presenters

Feel like you need a sword and shield to tame your monstrous views? Rails is great when it comes to our opinionated model, view, controller pattern, but as your codebase grows, the view layer bloats to gigantic proportions. Presentation logic is riddled in models, model queries litter our views, and our helpers become a monolithic nightmare! There’s not much scarier than this conundrum - unmaintainable, disorganized spaghetti code - but wait, it’s hard to test! With presenters in our hilt, we can slay these problems until our codebase is at peace, and our castle is tested at safe again.

PJ Hagerty

PJ Hagerty

A Ruby developer for the last several years, PJ currently works at Engine Yard as the Community Team Lead. Additionally, he organizes the Western New York Ruby Brigade. Traveling to conferences and Ruby meet ups around the US and Canada, PJ likes to spread the word on the importance of community and coding, stressing the importance of outreach and focusing on the human side of being a coder.

Urban Legends: What You Code Makes You Who You Are

If you were a carpenter, would your skills at building be more important than the tools you use to build? Skills, right? Tools are just a means to an end. So why do developers think the language they use defines the problems they solve? This talk will take a look at misconceptions across the board, some experiences, both positive and negative, people have had crossing barriers to new languages, and show some of the benefits thinking of one's self as a coder and not a "Ruby coder" or a "PHP dev" can have on being a better problem solver.

Dana Jones

Dana Jones

Dana has been working in software development for almost a decade and a half, and in Ruby on Rails since 2008. A Senior Developer for PhishMe, she lives in southwestern Indiana with her husband and four kids.

Speed-dating Your Rails Application

Getting familiar with existing codebases is crucial for any developer - particularly so for those who work in open source. You are often forced by budgetary constraints to make updates to an application in a short timeframe. Being comfortable with and knowledgeable about that app is a requirement for responsibly changing it. This talk will give you a recipe to follow so you can quickly learn all you need to know in order to begin contributing to the project's success. I'll cover tools, tips, and techniques that will make even the most complex application approachable.

Julian Cheal

Julian Cheal

A British Ruby/Rails developer, with a penchant for tweed, fine coffee, and homebrewing. When not working for clients, I help organise fun events around the world that teach people to program flying robots.

Dancing with Robots

Web apps are great and everything, but imagine using Ruby to fly drones and make them dance to the sounds of dubstep! Or to control disco lights and other robots! Sounds fun, right? In this talk, we will not only explore how we can write code to make this possible, but it will also be full of exciting, interactive (and possibly dangerous ;) ) demos!

Godfrey Chan

Godfrey Chan

Godfrey Chan is an open-source enthusiast from Vancouver, Canada. He is a co-founder of Brewhouse Software and a member of the Ruby on Rails core team. In his previous life, he was also an award-winning WordPress™ plugin author.

Dropping down to The Metal™

As much as we love Ruby, when you need to be really close to the metal, you have no choice but to use JavaScript. This is why I developed the javascript gem to help you harness the raw power of your machines. In this talk, we will examine the Ruby tricks and black magic hidden behind this ludicrous invention. Along the way, we will learn about how Ruby internally deal with variable lookups, method calls, scoping and bindings. Together, we will push the limits of the Ruby language, taking it to places Matz never ever envisioned!

Aaron Quint

Aaron Quint

Aaron Quint was born and raised in Brooklyn, NY. Despite spending some time in the Bay Area, he realized he couldn't live without good bagels, so he moved back home and now lives in the Hudson Valley. He spends his time doing consulting and training, and contributing to Open Source Ruby, JavaScript and Go projects.

Fast Everything: Advancing our ability to write fast code through tools and understanding

Ruby is faster than ever, but when were talking about application performance, that is rarely the problem. It's easy to blame languages and frameworks when the real issue is that its just _hard_ to write fast code. I want us as a community to move beyond the cargo-culted tips and tricks and move to a deeper understanding of what makes our code fast. I want us to understand the tradeoffs we make when building features and shipping changes. To me this means two things: Creating better tools and workflows that allow us to be fast by default and sharing and growing our knowledge so that we can improve our applications and the language itself. I'd like to introduce some of the tools that I've been thinking about and working on and walk through some of the basics of what _fast everything_ looks like.

Kyle Fritz

Kyle Fritz

Kyle Fritz is a Baltimore technologist. He is VP of Engineering at OrderUp. He worked previously at Vigilant Medical and Infinite Biomedical Technologies and collaborates on TeamPassword and White Lies Collective. He studied biomedical engineering at Johns Hopkins.

React on Rails: modular Javascript that is the right for your app

React.js provides an exciting design concept that fits well with Rails applications. React components are easy to include inside of traditional Views allowing developers the choice between implementing pieces of functionality as vanilla Rails/ujs or React. We will discuss reasons to consider adopting React for your application, strategies for organization/isolation of components, mechanisms for data exchange between React and Rails, and isomorphic (client + server) javascript/coffeescript with examples extracted from a non-trival, production consumer app.

Christopher Sexton

Christopher Sexton

Christopher is the Director of Engineering at Radius Networks, where he builds mobile proximity tools and services. He cofounded the Arlington Ruby group, and helps organize both Ruby Retrocession and Ruby for Good events.

Hardware Hacking 101

There is the old proverb "Beware of programmers carrying screwdrivers." Imagine their fear when they see you carrying a soldering iron. I frequently find Rubyists that are interested in tinkering with some hardware but often they are too intimidated. Turns out, it is not that hard. In fact it is easier than it has ever been. And the best part is, you can use Ruby. We will cover the basics you need to get started. Will cover hardware basics from how to solder, working with simple components like relays and sensors, and how to interact with GPIO and Ruby. Let's build something cool.

Chris Mar

Chris Mar

I've been conducting technical interviews over 15 years. I'm a Senior Engineer at CustomInk, co-organizer of the RubyLoCo meetup group and a host for the Ruby5 podcast.

Landing Your First Ruby Job

So, you want to be a Ruby developer? You've done a bootcamp, read the books, and completed online courses. Your ready to start building great things. But the technical interview process can be a challenge for new Ruby developers. I'll teach you how to prepare, how to answer common questions and how to land your first job as a Ruby developer.

Jamie Gaskins

Jamie Gaskins

Jamie is a Senior Rails Developer at OrderUp, a food-delivery service based in Baltimore. He is the author of the Perpetuity and Clearwater gems and an occasional contributor to open-source projects you've probably used. If his hands aren't on a keyboard, they're likely drumming on everything within arms reach, much to his coworkers' dismay.

Front-End Development in Ruby with Opal and Clearwater

Front-end web development is dominated by JavaScript, but what if you could write your single-page app in Ruby? Would that make you more productive? Happier, even? Opal is a Ruby implementation that compiles your Ruby code into JavaScript so it can run in the browser. Clearwater is one of a few front-end frameworks written in Ruby. It uses a component-style structure like React, provides routing between components, and doesn't break the back button. In this talk, you'll learn a few things about Clearwater and Opal, a few use cases, some of the gotchas, and there will likely even be live coding.

Piotr Solnica

Piotr Solnica

Piotr Solnica is a software consultant from Kraków, Poland who spent last 8 years building lots of things using Ruby and Rails. He's an active Open Source hacker, creator of Virtus and Ruby Object Mapper and contributor to many other projects.

Deep Dive Into ROM

Ruby Object Mapper (ROM) started as an attempt of implementing a Data Mapper ORM for Ruby but ended up as an anti-ORM data mapping and persistence toolkit. Why on Earth did that happen? Why after over 4 years of maintaining, building and using Ruby ORMs I decided to change the direction of this project? In this talk I will give you a great insight into why ROM is not an ORM, why it's built using less conventional techniques, why it adheres to the CQRS pattern and why you may want to use it. I'll also tell you what's wrong with OOP and why I love "immutable" objects.

Hiro Asari

Hiro Asari

Hiro Asari is a software developer at Travis CI GmbH and strong believer in open source. When he is not coding, he is found spending time with his family or appreciating fine beers of the world.

First Lessons in Control Theory

As Travis CI grew in popularity, a common question users started asking is: "Why is my build slow to start on Travis CI?" While the work to improve this experience for our users is an ongoing multi-faceted story, this talk will focus on one aspect of that story: control theory. The principal aim of control theory is to systematize methods of controlling systems under consideration. In this context, a 'system' can be simple with a single input and a single output (e.g., a thermostat), or quite complex with multiple inputs and multiple outputs (e.g., a human body). A 'controller' looks at the signal which the system emits, and applies corrective action to the input to the system so that the desired level of output is produced by the system. The controllers can also be complex, of course, but it can also be surprisingly simple to be an effective controller. The theory can be applied in many situations in the world, and Travis CI is no exception. We will discuss what role the theory plays in our process, and how we could improve the overall user experience.

Maria Gutierrez

Maria Gutierrez

Maria Gutierrez works at LivingSocial where she manages the Merchant Solutions engineering organization. Her team of nearly 50 engineers uses Ruby to build tools and services that manage merchant on-boarding, promotions, customer engagement and payments. Maria works from home in Edinburgh (Scotland) and her team is a mixture of co-located and remote engineers distributed all over the world. After having her son, the valuable flexibility of working from home played a big part in her decision to join LivingSocial four years ago.

Managing Distributed Teams

Thanks to Ruby's community and culture, your typical ruby developer is much more likely to work as a member of a distributed team. But managing a distributed team presents its own challenges. In this talk we'll look at tools and techniques for enabling distributed team communication and collaboration. You will learn how to make sure everyone in your group feels included, has the right environment to do their best work, continues to learn and takes on new challenges regardless of their location. Embracing a distributed work force helps a company find and retain talent, helps employees have better work/life balance, saves on the strain of commuting, and enables a more diverse workforce. Whether you're a mid-level engineer looking to improve your working environment, a manager looking to build a more effective distributed team, or a developer who hopes to transition into management, you'll find valuable advice in this presentation.

Alex Coles

Alex Coles

Alex Coles ([@myabc]) unabashedly wears the hat of ‘generalist’. He is active in the Ruby community, having founded the annual eurucamp camp/conference and JRubyConf EU. He has also contributed extensively to many open-source projects including OpenProject, RefineryCMS and DataMapper.

Rails: beyond the asset pipeline

The way we’re building our front-ends has changed irrevocably. Clean architecture is now a prerequisite and no longer simply nice-to-have. Thanks to frameworks like Ember.js and Angular, We have entered into the era of front-end MVC. When Rails came into being over ten years ago, it was ground-breaking. Rails developers shouldn’t have to forgo innovation and use of upcoming technologies like ES6 and isomorphism. _So how can Rails keep up?_