RailsConf 2017
2017-04-25..2017-04-27
Phoenix, AZ, United States
[RailsConf 2009, RailsConf 2011, RailsConf 2012, RailsConf 2013, RailsConf 2014, RailsConf 2015, RailsConf 2016, RailsConf 2017, RailsConf 2018, RailsConf 2019, RailsConf 2020 CE, RailsConf 2021, RailsConf 2022, RailsConf 2023, RailsConf 2024, RailsConf 2025]
as the organisers put it
RailsConf 2017 is coming to beautiful Phoenix, Arizona! We’ll be at the Phoenix Convention Center this Spring, so come join us to talk all things Rails with other developers and enthusiasts.
who it's for
Rails developers, backend engineers, engineering managers, technical leads, test engineers, site reliability engineers, open source contributors
topics
ActionDispatch::SystemTestCase integration; RSpec and Rails testing; Capybara with Selenium and Chrome; Rails 5.1 upgrade strategies; scaling Rails to high RPS; ActiveRecord and ROLAP reporting; Postgres at any scale; Docker containers for Rails; ActionCable and AV integrations; portable sessions with JSON Web Tokens; mutation testing for Rails; distributed tracing for Rails
| title | author | length |
|---|---|---|
| Opening Keynote | David Heinemeier Hansson | 56m |
Argues that Rails survives because of programmer happiness as a concrete value, not benchmarks; claims a set of principles called the Rails doctrine was… | ||
| The Art & Craft of Secrets: Using the Cryptographic Toolbox | Michael Swieton | 36m |
Covers concrete failures and fixes: how X.509 certificates and TLS use RSA and Diffie-Hellman for key exchange and forward secrecy, why session cookies and… | ||
| Uncertain Times: Securing Rails Apps and User Data | Krista Nelson | 43m |
Lists concrete claims and tools: 60% of small companies are out of business within six months after a breach, 43% of attacks target small businesses, and 63%… | ||
| Why Software Engineers Disagree About Everything | Haseeb Qureshi | 41m |
Argues that the surprising problem is not what people argue about but why consensus fails, using epistemology and concrete cases: online poker after 2003… | ||
| Building Rails ActionDispatch::SystemTestCase Framework | Eileen M Uchitelle | 40m |
Rails 5.1 ships a concrete system test integration: ActionDispatch::SystemTestCase wires Capybara into Rails so scaffolds include Capybara + Selenium + Chrome… | ||
| Perusing the Rails Source Code - A Beginners Guide | Alex Kitchens | 39m |
Clones the Rails repo, runs its tests and tiny example scripts, and uses method.source_location and byebug to step into runtime paths; shows that find_by is… | ||
| Teaching RSpec to Play nice with Rails | Sam Phippen | 28m |
RSpec Rails integration shows which tests fail and why: real bugs get reduced to a concrete commit, a failing reproduction app, or an interaction with the… | ||
| Rough to Fine: Programming Lessons from Woodworking | Mark Simoneau | 28m |
A concrete claim: combining power tools for rough work and hand tools for detail speeds work while improving finish. Calculates saving 1500–2000 hours of… | ||
| Warning: May Be Habit Forming | Nickolas Means | 42m |
Title promises habit advice and delivers numbers tools and outcomes: cites 8% follow-through for New Year’s resolutions, uses Vitamix + 30-day smoothie… | ||
| Upgrading a big application to Rails 5 | Rafael Mendonça França | 33m |
Shopify upgrades a 13‑year monolith with >100,000 model lines and ~2,000 classes to Rails 5 using a dual booting strategy: a shared Gemfile hack then an… | ||
| The Arcane Art of Error Handling | Brad Urani | 36m |
A pragmatic set of patterns for large Rails apps that actually shipped at Procore and scaled to a two million line codebase with ~90–100 engineers and 4–5… | ||
| Lightning Talks | Benjamin Fleischer, Heather Herrington, Casey Maucaulay, Kristen Ruben, Lucas Fittl, Justin Collins, Ernesto Tagwerker, Christopher Sexton, Michael Toppa, Isaac Sloan, Ried Morrison, Alejandro Corpeño, Michael Hartl, Ariel Caplan, Alex Wood, Jingyi Chen, Lew Parker | 01h 08m |
Thirty tiny demos land as either useful tools or warm anecdotes: a hospital hand‑washing analytics mention and Ada Developers Academy 11% acceptance backing a… | ||
| An Optimistic Proposal for Making Horrible Code... Bearable | Joe Mastey | 31m |
An attempted rewrite moves only about 10% of revenue after eighteen months while the old monolith still pays; tests once take four days on a laptop (reduced to… | ||
| Built to last: A domain-driven approach to beautiful systems | Andrew Hao | 37m |
Claim: running a context map and renaming/partitioning code reveals real, testable boundaries so incremental refactors produce stable, lasting systems. Live… | ||
| Architecture: The Next Generation | Taylor Jones | 37m |
Claim: Rails evolves from a monolith into a microservice ecosystem where teams mix a big Rails app with smaller services. Concrete stack examples include Rails… | ||
| Breaking Bad - What Happens When You Defy Conventions? | Christoph Gockel | 32m |
Claims that dropping Rails conventions speeds feedback: remove the app directory and move app code into lib, disable eager loading, add manual requires, and… | ||
| Managing Unmanageable Complexity | Patrick Joyce | 31m |
A concrete pitch: simple checklists prevent errors and speed recovery. Johns Hopkins cuts central line infections from ~11% to near zero, saving lives and… | ||
| The Good Bad Bug: Learning to Embrace Mistakes | Jessica Rudder | 34m |
Sums failures to concrete takeaways: aviation’s mandatory error reports and aggregation reduce deaths so that cars kill 64x more people per same miles; games… | ||
| Panel: Developer Happiness through Getting Involved | Polly Schandorf, Sarah Me, Sean Marcia, Terian Koscik | 35m |
Three-day Ruby for Good retreats build real CRUD apps for nonprofits, replacing pen‑and‑paper processes; many issues are tagged help wanted/good first commit… | ||
| Understanding ‘Spoon Theory’ and Preventing Burnout | Jameson Hampton | 37m |
A clear claim: spoon theory originates with Christine Miserandino’s 2003 essay and treats daily energy as a finite unit (slides show six spoons and a Stardew… | ||
| To Code Is Human | Don Werve | 41m |
Code decisions hinge on human limits: sleep and regular meals beat extra hours, coding while exhausted produces antiwork that later explodes (example: a… | ||
| Panel: Better Hiring Practices for Fun and Profit | Cecy Correa, Pamela O. Vickers, Heather Corallo, Justin Herrick | 40m |
Job descriptions list day‑to‑day work and reporting lines, not buzzwords; many teams require a two-step code challenge (unlimited tech take‑home then a… | ||
| We've Always Been Here: Women Changemakers in Tech | Hilary Stohs-Krause | 32m |
A rapid checklist: specific claims and numbers — diverse companies are 35% more likely to outperform, 45% likelier to grow market share, 70% likelier to… | ||
| Leading When You're Not in Charge | Scott Lesser | 25m |
Argues leadership follows action not title, backed by concrete practices: team at Life.Church builds open‑source church software across 25 engineers and three… | ||
| Bebop to the Top - The Jazz Band As A Guide To Leadership | Michael Cain | 35m |
Argues that big‑band improvisation maps to software teams: use guidelines not rules (company style guides, sandbox constraints) so developers choose the how… | ||
| Supporting Mental Health as an Effective Leader | Jesse James | 33m |
Rates rise — suicides up 24% from 1994–2016 and 18.5% of US adults face mental illness — and companies aren’t matching rhetoric with systems. Managers must be… | ||
| It's Dangerous to go Alone: Building Teams like an Organizer | Colin Fleming | 34m |
Builds a volunteer engineering team that replaces three Excel spreadsheets with a case management system for the DC Abortion Fund and reports happier case… | ||
| Panel: Becoming an engineering leader | Shay Howe, Rebecca Miller-Webster, Neha Batra, Abel Martin | 42m |
The panel argues that leadership is concrete: don't have to be a manager to lead becomes action through one-on-ones with agendas, a skills matrix used to map… | ||
| Panel: Ruby's Killer Feature: The Community | Christopher Sexton, Sean Marcia, Latoya Allen, Zuri Hunter | 39m |
Panel gives concrete tactics: Ruby for Good builds software over a weekend for nonprofits, tracks gender mix (about 44% women at recent events), and uses… | ||
| Processing Streaming Data at a Large Scale with Kafka | Thijs Cadier | 32m |
Shows how a Rails app uses two Kafka topics and three Rake tasks to turn raw nginx logs into aggregated counts, with an importer that fakes streaming, a… | ||
| High Performance Political Revolutions | Braulio Carreno | 37m |
A Rails fundraising platform that handles spikes of 300,000 requests/min and 42 credit-card transactions/sec and still never drops contributions; it runs a… | ||
| Panel: Performance... performance | Sam Saffron, Richard Schneeman, Eileen M Uchitelle, Nate Berkopec, Rafael Mendonça França | 44m |
Panel lists actual tools and concrete fixes: Derailed Benchmarks, mini-profiler, New Relic and Chrome throttling, and a memory profiler are used to prove… | ||
| Bayes is BAE | Richard Schneeman | 42m |
Explains that Bayes’ idea actually lets two noisy estimates combine into a more accurate one and shows working Kalman Filter examples: a chasing robot and a… | ||
| Is it Food? An Introduction to Machine Learning | Matthew Mongeau | 35m |
A practical walkthrough shows an image classifier built with TensorFlow and Inception v3, retrained via transfer learning on folders of images (roughly 1–2k… | ||
| Accessibility (when you don't have time to read the manual) | Katie Walsh | 35m |
Explains concrete steps: run Chrome Accessibility DevTools audits against WCAG 2.0 rules, fix labeled form fields, add alt text for meaningful images, bump… | ||
| Goldilocks And The Three Code Reviews | Vaidehi Joshi | 34m |
A practical postmortem: a big merged PR causes staging to crash because a duplicate controller slips through review, prompting a ~500 responses survey that… | ||
| Predicting Titanic Survivors with Machine Learning | Ju Liu | 39m |
891-row train.csv of Titanic passengers gets explored with pandas + matplotlib and then modeled with scikit-learn; a one-line heuristic “if female predict… | ||
| Whose turn is it anyway? Augmented reality board games. | Dave Tapley | 39m |
A browser app that uses Vue.js + ActionCable and WebRTC to stream data URI webcam frames to a Rails server, parses them with OpenCV Hough Transform to find… | ||
| Inventing Friends: ActionCable + AVS = 3 | Jonan Scheffler, Julian Cheal | 37m |
A Rails app named Friendsterbookspace uses ActionCable for a live MMOC chatroom, wires Alexa via the Alexa Skills Kit and the Amazon Voice Service, sends text… | ||
| Keynote: Gen Z and the Future of Technology | Pamela Pavliscak | 36m |
Gen Z makes up 25% of the US population under 17 and spends about 25% of their life on screens, so expect mobile-first behavior, multi-account Instagram… | ||
| 5 Years of Rails Scaling to 80k RPS | Simon Eskildsen | 37m |
Claim of five years to push Rails to 80k RPS across multiple datacenters with concrete wins: built an in-house load tester, introduced identity cache to cut DB… | ||
| Syntax Isn't Everything: NLP for Rubyists | Aja Hammerly | 33m |
Live demo shows using Cloud Natural Language via the google-cloud-language gem to pull tweets, compute sentiment (score -1..1 and magnitude) and extract syntax… | ||
| How to Write Better Code Using Mutation Testing | John Backus | 37m |
A practical demo of Mutant and Mutest shows automated mutation of real Ruby code against RSpec, turning fragile line coverage into tests that fail when… | ||
| A Clear-Eyed Look at Distributed Teams | Glenn Vanderburg, Maria Gutierrez | 41m |
Argues that success depends on concrete choices not slogans: commit to culture and buy good gear (Slack, Jira, ScreenHero, quality cameras), staff a critical… | ||
| Distributed & Local: Getting the Best of Both Worlds | Ben Klang | 36m |
Company runs seven scrum teams with 51 tech staff across six states and four countries and keeps teams to three to five people, enforces a three‑hour time… | ||
| The Effective Remote Developer | David Copeland | 37m |
Practical rules for doing remote development: adopt the four mindsets — communicate frequently and clearly, be responsive but set boundaries, assume good… | ||
| Distributed Tracing: From Theory to Practice | Stella Cotton | 36m |
Claims that metadata propagation plus whitebox tracing gives near realtime, causal visibility and that Zipkin is the practical Ruby-compatible option… | ||
| What’s my App *Really* Doing in Production? | Daniel Azuma | 32m |
Shows how to instrument Rails apps with Active Support Notifications and log correlated metrics so cache hits and latencies appear together, demonstrates using… | ||
| In Relentless Pursuit of REST | Derek Prior | 36m |
Argues that following REST trims complexity by turning custom actions into concrete resources and small plain Ruby objects, using Rails routes and the… | ||
| Sorting Rubyists | Caleb Thompson | 31m |
Peeks under Ruby’s sort reveal actual claims and demos not just theory the talk shows live demos with audience numbers and cards to illustrate Bubble Sort… | ||
| Tricks and treats for new developers | David Padilla | 31m |
Copy database.yml into an example file and ignore the real one, split config with config_for and move magic numbers into constants, keep schema.rb in Git… | ||
| Rack ‘em, Stack ‘em Web Apps | Jason R. Clark | 33m |
Shows Rack as a minimal HTTP interface: a one‑method app in config.ru that returns [status, headers, body] and grows into a RESTful API with GET/POST parsing… | ||
| Practical Debugging | Kevin Deisz | 38m |
Ruby code ships with quick introspection: a live minesweeper demo shows the app running and sometimes winning, not a promise of examples. Concrete techniques… | ||
| Developer Happiness on the Front End with Elm | Kevin Yank | 39m |
Elm compiles to JavaScript and uses the Elm Architecture (init, view, update) to build UI loops; the compiler gives concrete, fuzzy-matching error messages and… | ||
| Rails to Phoenix: How Elixir can level-you-up in Rails | Christian Koch | 32m |
Compares Rails and Phoenix by naming concrete differences: Phoenix compiles to the BEAM, runs as an OTP application, uses Mix, Ecto changesets and repo calls… | ||
| React on Rails | Jo Cranford | 31m |
Eighteen months of incremental migration turns a Rails app from untested jQuery spaghetti into a componentized UI using React + JSX with Babel and Webpack (hot… | ||
| React Native & Rails, A Single Codebase for Web & Mobile | Ben Dixon | 35m |
Claim: a single React codebase can share the vast majority of business logic between web, iOS and Android so adding a native platform costs roughly +10% effort… | ||
| A Survey of Surprisingly Difficult Things | Alex Boster | 33m |
Practical survey of brittle real-world inputs with concrete numbers, tools and fixes: explains the timezone DB with 385 timezones and +14 offsets, warns to use… | ||
| Beyond Validates_Presence_of: Ensuring Eventual Consistency | Amy Unger | 35m |
Explains why moving billing into background jobs breaks :validates_presence_of and how to handle retries, idempotence, circuit breakers and exponential… | ||
| The Secret Life of SQL: How to Optimize Database Performance | Bryana Knight | 25m |
Explains concrete rules and fixes: how indexes work left-to-right, when to use index prefixes for long varbinary paths, why OR prevents index use in MySQL and… | ||
| Reporting on Rails - ActiveRecord and ROLAP Working Together | Tony Drake | 34m |
ActiveRecord and ROLAP are shown working together: a lightweight active_reporting gem builds SQL metrics, returns arrays of hashes instead of AR objects, and… | ||
| Do Your Views Know Too Much? | Jason Charnes | 28m |
Argues that views know too much and shows concrete refactors: move name logic into a model method, extract view logic into helper methods and content_tag… | ||
| Portable Sessions with JSON Web Tokens | Lance Ivy | 32m |
Shows JWTs replacing cookies and opaque API tokens by sending one token, two headers so a single signed payload carries the user id, expiry and metadata and… | ||
| Observing Chance: A Gold Master Test in Practice | Jake Worth | 38m |
Claims a practical gold master test that restores a sanitized production database dump (pg_dump → plaintext SQL), runs a huge Postgres-backed Ruby… | ||
| What Comes After SOLID? Seeking Holistic Software Quality | Ariel Caplan | 43m |
Argues that software quality equals the value software creates and offers a concrete triage: usefulness, sustainability, accuracy. Presents the USA framework… | ||
| Implementing the Web Speech API for Voice Data Entry | Cameron Jacoby | 30m |
A Rails front end uses the Web Speech API in Chrome to capture numeric measurements for warehouse associates; a quick pilot shows one user is 3 minutes faster… | ||
| Exploring the History of a 12-year-old Rails Application | Nathan L Walls | 41m |
A 12‑year Rails codebase composed of seven repositories reveals a measurable history: a big spike in commits in 2015–2016 during an 18‑month acquisition and a… | ||
| Decouple Your Models with Form Objects | Andrew Markle | 27m |
Builds a three-step onboarding wizard for dog-walking companies and shows that form objects remove model cruft: validations live on forms, not in fat models… | ||
| Rails 5.1: Awesome Features and Breaking Changes | Claudio B | 40m |
Claims upgrade effort halves previous cycle: ~9 months and ~4,000 commits, not a trivial patch. Rails 5.1 ships Yarn by default and a webpacker convention… | ||
| Tailoring Mentorship: Achieving the Best Fit | Jonathan Wallace | 38m |
Argues mentorship speeds career and skill growth and gives concrete, repeatable moves: use inquiry based learning to have mentees ask and spike solutions… | ||
| Your App Server Config is Wrong | Nate Berkopec | 38m |
Claim: misconfigured app servers waste money and add timeouts. Uses Heroku metrics, Puma settings, jemalloc, PG bouncer, New Relic/Skylight/Scout or oink for… | ||
| Recurring Background Jobs with Sidekiq-scheduler | Andreas Fast, Gianfranco Zas | 20m |
sidekiq-scheduler actually adds recurring job scheduling to Sidekiq and uses Rufus-Scheduler to get second-level resolution, supporting cron, every, at and in… | ||
| Outside the (Web) Box: Using Ruby for Other Protocols | Danielle Adams | 33m |
Shows Rails apps opening real TCP sockets via Ruby's stdlib (TCPSocket/TCPSERVER) to talk to barcode scanners, Zebra printers speaking ZPL label language and a… | ||
| A Deep Dive Into Sessions | Justin Weiss | 33m |
Explains that Rails either stores full session data in a signed and encrypted cookie (JSON by default) or stores a short session ID in the cookie and keeps… | ||
| Keeping Code Style Sanity in a 10-year-old Codebase | Gabi Stefanini | 33m |
History of Shopify’s 10‑year Ruby codebase shows concrete moves and tradeoffs: 700,000 Ruby lines of code and ~400 Rails developers trigger adoption of… | ||
| Rails APIs: The Next Generation | Derek Carter | 33m |
Procore runs a ten‑year Rails monolith with ~700 staff, ~120 engineers, 22 squads and 500+ controllers and builds a single public API by enforcing style guides… | ||
| Deep Dive into Docker Containers for Rails Developers | Christopher Rigor | 37m |
Demonstrates container internals by actually creating namespaces with unshare + chroot demo, wiring veth pairs via ip, and showing cgroups in action: a Rails… | ||
| Introducing Helix: High-Performance Ruby Made Easy | Godfrey Chan, Yehuda Katz | 40m |
Helix is an open source toolkit that compiles Rust into native Ruby extensions so Rails apps get C‑like speed without segfault risk; Skylight extracts it from… | ||
| Open Sourcing: Real Talk | Andrew Evans | 33m |
46 public repos and modest download counts; a pragmatic account of what actually gets built and kept working. Details: a publish/subscribe Sidekiq bus called… | ||
| Google Cloud Love Ruby | Remi Taylor | 39m |
Google Cloud ships idiomatic Ruby client libraries (storage, vision, speech, datastore, pubsub, BigQuery) and a GA Ruby runtime on App Engine Flexible that… | ||
| Postgres at Any Scale | Will Leinweber | 37m |
Claims practical steps: start with pg_dump backups and tested restores, use wal-e for continuous WAL archiving to S3, add… | ||
| Cultivating a Culture of Continuous Learning | Dave Ott, Dennis Eusebio | 36m |
Tuft & Needle reports a concrete program: about 150 employees with ~10 developers, a claim of 223,000 vacant industry jobs, and a pipeline that converts… | ||
| Data Corruption: Stop the Evil Tribbles | Betsy Haibel | 39m |
Argues recovery beats heroic prevention, showing concrete fixes: a Return‑to‑Vendor UI disambiguation replaces a destructive migration that hit production, CI… | ||
| nothing matches | ||