Program

The largest official gathering of the year, RailsConf brings together top talent, companies, and project representatives from around the world. Learn and build with the best in sessions, workshops, keynotes and parties.

Workshops

Great Scott! Timing Attacks for the Everyday Webdev

One of the more insidious ways your web application’s data can be comprised is through a timing attack. The time it takes your app to serve a request can reveal more information than you might think. We'll kick off this workshop with a brief talk on how timing attacks work. Then write a script that exploits a vulnerable demo app and patch the server to remove the exploit.

Please come to the workshop with Docker and a recent version of Ruby installed!

Alex Baldwin

Alex has been writing software for over a decade and loves Ruby. He's a Principal Software Engineer for Simple Thread, a small consulting agency out of Richmond VA. He enjoys digging deep for obscure edge cases and sharing his findings.

Building impactful applications with Open Government data

There is a world of open government data that could be helping people, and as developers we have the power to unlock it. In this workshop, we’ll build a Rails app that helps people evaluate doctors using U.S. Government data. From ingesting 600mb zip files to finding the right schema, we'll dive into strategies for turning raw data into something impactful. We’ll use familiar tools like Sidekiq and Postgres in new ways. At the end of the workshop, you’ll walk away with a fully functional open data app and inspiration to create more.

Corey Martin

After working in government, I became a Rails developer by taking an online course and moonlighting. I've developed with Rails for over 8 years, starting with a cooking app and then working at multiple startups. Now, I help other developers optimize their apps as a Customer Solutions Architect at Heroku. I also maintain Lobby Focus, which helps make sense of public lobbying disclosure data. I live with my husband and an English Mastiff in Washington, DC.

"Soft" Skills Are Hard!

How to be kind and effective when everything is broken

Seattle has two of the longest floating bridges in the world, and in 1990, one of them sank while it was being repurposed. This accident was a classic complex systems failure with a massive PR problem and great documentation. That combination is an excellent frame for talking about incident retrospectives- the good, the bad, the vaguely confusing and unsatisfying, the straight-up horror stories.

Come to this workshop to learn the skills of a great facilitator so that the next time your app sinks into a lake, you'll be ready to help pick up the pieces.

Courtney Eckhardt

Courtney Eckhardt first got into retrospectives when she signed up for comp.risks as an undergrad (and since then, not as much has changed as we’d like to think). Her perspectives on engineering process improvement are strongly informed by the work of Kathy Sierra and Don Norman (among others). You can find her knitting in the audience of conference talks, and she's always interested in cat pictures.

Your first Pull Request to Rails

Have you ever wanted to contribute to Ruby on Rails but don’t know where to start? This workshop is for you! At the end of the session you’ll have your first Pull Request merged in the framework and your name engraved forever in the list of Rails contributors who made the framework better for everyone!

In this 90 minutes workshop, we’ll go through each step needed to become a Rails committer. Together, we’ll setup the Rails project, explore real issues I’ll be presenting you, dive into Ruby on Rails internals, implement a fix, and finally, open the Pull Request!

Edouard Chin

Edouard is a senior production engineer at Shopify and work in the Ruby & Rails Infrastructure team. He's a regular contributor to Rails and other open source projects. Edouard is part of the Rails issue team.

Painless and effective Git conflict resolution

Learn how to resolve Git merge conflicts confidently, with less effort and fewer headaches. After learning a systematic strategy that leverages Git’s lesser-known diff3 mode, we’ll get lots of hands-on practice resolving real conflicts from open-source Ruby projects, working our way up to confidently handling some of the nastiest conflicts in Ruby's open-source project history.

Participants should come with basic working knowledge of Git, and a laptop with Git and a text editor for coding (e.g. Atom, VS Code, Vim) installed.

Edward Anderson

Edward (@nilbus) has way too much experience resolving Git merge conflicts and swears he will never allow that dumpster fire of a situation to happen again. Walking through the fire has changed him though, and he has discovered conflict resolution superpowers that make it almost kind of fun. Edward is now a Senior Software Engineer writing Ruby at Doximity, which is the best place he can imagine working, with top engineering quality, compensation, and culture.

"Soft" Skills Are Hard!

"Plays Well With Others" - Applied Improv For Nerds

Every year, companies waste millions of dollars and countless employee hours because of an inability to communicate. In this workshop, a longtime Rails tech lead, and 22+ year veteran of improv, teaches the basics of applied improv for better communication, idea generation and decision making. You’ll come away with techniques and exercises you can take back with you! This is not a lecture, but an on-your-feet workshop. Participants will move, laugh and get to know each other while learning the basics of applied improvisation.

H. Wade Minter

Wade is a Product Principal at Dualboot Partners. Previously, he was part of the founding team and former CTO at Rails-based TeamSnap, the head of engineering at Adwerx, WeaveUp and Custom Communications, and a product manager at NBC SportsEngine. In his spare time, he is the public address announcer for the NHL's Carolina Hurricanes, a professional wrestling ring announcer, improv comedian, and beer-league hockey player. He leads a weird life.

You Can Learn To Sketchnote!

It’s hard to convey abstract ideas with words. How do you share your complex technical vision without being boring or misunderstood?

Sketchnoting is a way to convey ideas with very simple images instead of thousands of words. No matter your drawing ability (or lack thereof), after this workshop you’ll have the skills to start sharing your ideas with the power of sketchnotes.

You don’t need to know how to draw, be able to draw a straight line, or identify as arty or creative. If you can write with pen and paper and want to share ideas with others, this workshop is for you!

Jennifer Tu

In her work life, Jennifer Tu writes code and listens very intently to people. She co-founded Cohere (wecohere.com) to continue to pursue these two interests. Outside of work, she studies martial arts. Jennifer spends her commutes after class reflecting on the parallels between teaching martial arts and communicating in the world of software.

Hacking Your Emotional API: Emotional IQ in Practice

You may have heard that emotional intelligence is correlated with career success, but wondered just how to build those skills.

Feelings are messy and uncomfortable but in this workshop you will get to practice working with them in several ways. As we do that we will explain the concepts using technology metaphors:

  • Your API - using the metaphor of an API to understand the foundations of how emotions work
  • Observability of ourselves - better understand what happens below the surface
  • Observability of a group - publish your state to others
  • Inter-Process Communication: emotions and experiences shape your motivations and create blockers for you
  • Troubleshooting - When interpersonal communication goes wrong.

John Sawers

John Sawers is an Engineering Manager at Privia Health. He's been programming for two decades. Recently he has also been giving workshops which help people get deeply in touch with themselves and liberated from past traumas. Aaron Aldrich is a Community Builder at Elastic and a founding organizer of DevOpsDays Hartford. He is passionate about connecting humans and using technology to enhance our ability to connect with each other.

Aaron Aldrich

Aaron Aldrich is a Community Builder at Elastic and a founding organizer of the DevOps CT meetup & DevOpsDays Hartford. He is passionate about connecting humans and using technology to enhance our ability to connect with each other. His writing can occasionally be found on crayzeigh.com or on twitter @CrayZeigh.

Rails at Scale

Deploying your Rails application to Kubernetes

Kubernetes has a lot of DevOps mindshare and is how shops like GitHub and Shopify are deploying their apps. But, what is Kubernetes? What does it mean for deploying your application? Do you need it?

In this workshop, we'll answer by migrating a small Rails application to Kubernetes. We'll build up the deployment tooling necessary to stand the application up on a small Kubernetes cluster.

We'll also explore the core concepts and considerations of adding Kubernetes to your deployment pipeline, including Kubernetes operations, preparing for ephemeral infrastructure, data storage, and more.

Nathan L. Walls

Nathan L. Walls is a developer who works with and trains up software teams to test well, refactor to clarify intent and improve understanding, separate concerns, and stay adaptive with an emphasis on learning, respect and empathy.

Nathan's also a photographer, kung fu student, qigong practitioner, day hiker and cat herder. He writes at http://wallscorp.us.

Alex Panait

Upgrade to Webpacker without all the fuss

You got stuck upgrading your aging Rails app to Webpacker once and tabled it for another day.

Friends, that day has come.

In this practical, hands-on workshop, we'll upgrade a legacy Rails app from Sprockets to Webpacker while dealing with dated jQuery plugins, global scope concerns, JavaScript sprinkles, warts, and all. You'll come away with deeper insight on how Webpack works and with the confidence to adopt it in your existing apps.

Ross Kaffenberger

Ross Kaffenberger loves building things for the web, especially with Ruby and JavaScript. He works remotely from Washington DC as a software engineer for Stitch Fix. He's also a dad and trains for triathlon in his spare time if there is such a thing.

It Takes A Team To Slay a Dragon

Here be dragons! Their untested features belch fire that burns through the most well insulated of mechanical keyboards. Their hide is covered in overlapping layers of tightly-coupled scales. How can a developer get close enough to pierce it's hide and make just that one tiny change?

Well grab your adventuring gear, friend! We're going mob programming! Mob programming allows us to slay even the most terrifying of dragons.

This session will be hands on, with Zee handling the fiddly keyboard bits, a surprise mystery guest navigating, and each of you directing!

Zee Spencer

Zee is a member of Cohere, an engineering leadership consultancy that focuses on practical hands-on social and programming skills to solve tough software challenges.

When he's not pairing or mob programming with his incredibly lovely clients, he works to provide a forever home for abandoned-but-useful software libraries, products and services through Zinc.coop

He also plays too many games and reads too many paperbacks, but you probably figured that out already.