RailsConf 2019
2019-05-01..2019-05-03
Minneapolis, 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]
who it's for
Rails developers, Ruby developers, backend engineers, database engineers, site reliability engineers, engineering managers, QA engineers, developer advocates
topics
Webpacker vs asset pipeline; Rails 6 multi-db patterns; ActiveRecord repository pattern; Progressive Web Apps with Rails; Ruby 2.7 JIT performance; REST to GraphQL migration; gRPC in Ruby services; Profiling and benchmarking 101; rails db:migrate:safely; Rails security at scale; Active Storage migration; Functional programming in Ruby
| title | author | length |
|---|---|---|
| Opening Keynote | David Heinemeier Hansson | 01h 01m |
Argues that Ruby on Rails was built as a gift economy under the MIT license as altruism, not a market contract, and that Rails actually works — powering… | ||
| Keynote: The Stories We Tell Our Children | Ariel Caplan | 01h 03m |
Stories shape who joins and stays: claim—children’s books encode social norms and responses to trauma, shown by Itamar Ben Avi reviving Hebrew after 1,700… | ||
| Walking A Mile In Your Users' Shoes | Jameson Hampton | 35m |
MediCapt is an Android app built to collect admissible sexual assault exam evidence in the DRC using an offline-first NoSQL sync, custom PIN, no camera‑roll… | ||
| Rethinking the View Layer with Components | Joel Hawksley | 38m |
GitHub reworks ERB into a Ruby class pattern called ActionView Component that renders templates, captures block content, and uses ActiveModel validations to… | ||
| The Selfish Programmer | Justin Searls | 38m |
Releases focus on shipping small, useful increments — the one weekend rule — and building a companion app, KameSame, to practice English→Japanese production… | ||
| Refactoring Live: Primitive Obsession | James Dabbs | 41m |
Live refactoring of a Rails app untangles Primitive Obsession by replacing string grades with a Grade value object, adding a Grade.for factory to accept either… | ||
| Webpacker vs Asset Pipeline | Danielle Gordon | 17m |
Concrete comparison: Webpacker is a Rails wrapper around Webpack and actually builds a dependency graph so duplicate code is eliminated, while Sprockets… | ||
| Building for Gracious Failure | James Thompson | 32m |
Everything fails some of the time and the concrete wins: add Bugsnag and SignalFX to move from noisy logs to metrics that reveal staging jobs are 100% failing… | ||
| Applying Omotenashi (Japanese customer service) to your work | Michael Toppa | 38m |
Argues that Omotenashi isn’t just nice rhetoric but a source of concrete practices: strict checklists like a definition of done, operational rigor that lets… | ||
| Keynote: How we make good | Brady Kriss | 37m |
A tech-for-good org called Ragtag is a 600-strong community that coordinates volunteers to build real tools — coding, API integrations, consulting and copy —… | ||
| Lightning Talks | Matthew Nielson, Jonathan Slate, Morgan Fogarty, Michael de Hoog, Cindy Backman, Michael Hartl, Lee Richmond, Raimond Garcia, Vladimir Dementyev, John Epperson, Lewis Buckley, Jing yi Chen, Yoskiyaki Hirano, Steve Crow, Ben Greenberg, Andrew Neely, Andrea Wayte, Tricia Ball, Dylan Andrews | 01h 19m |
Skip anything that only restates the topic and pick talks that give concrete outcomes: the actual toolchain and commands used, the precise claim and version… | ||
| The Unreasonable Struggle of Commercializing Open Source | Justin Collins | 39m |
Open source Brakeman becomes a paid product with three pieces: Brakeman Pro desktop (JRubyFX bundled), Pro gem/engine and a Code Climate engine, and steady but… | ||
| Cleaning house with RSpec Rails 4 | Sam Phippen | 26m |
Clear concrete announcement: RSpec Rails 4 versions separately aligned with Rails majors, so majors follow Rails releases and minors follow Rails minors. CI… | ||
| Cache is King | Molly Struve | 36m |
Shows concrete wins using Ruby and Rails with MySQL Redis and Elasticsearch: replaces ActiveModelSerializers with Bulk Serialization and a cache class to drop… | ||
| Performance Improvement of Ruby 2.7 JIT in Real World | Takashi Kokubun | 41m |
Ruby 2.6 JIT speeds microbenchmarks like Optcarrot but slows real Rails workloads; Ruby 2.7 targets Rails-specific fixes. Experiments show linking many .o into… | ||
| The Joy of CSS | Cecy Correa | 38m |
Grounds the decision in concrete takeaways: walks through breaking SCSS into modules partials vendor, argues for semantic variables and shows naming as primary… | ||
| Yes, Rails does support Progressive Web Apps | John Beatty | 35m |
Claims that Rails can deliver full Progressive Web Apps become concrete: a Hacker News PWA is built with server-rendered HTML, a service worker + manifest… | ||
| JRuby on Rails: From Zero to Scale | Charles Oliver Nutter, Thomas E Enebo | 39m |
JRuby runs Rails on the JVM with no global interpreter lock, JVM tooling and Java libraries for gaps, and migration helpers like JRuby-lint and… | ||
| Death by a thousand commits | Kyle d'Oliveira | 36m |
A Rails codebase at Clio is eating performance and developer velocity via N+1s and accumulated dead code so the team builds specific tools: a jit preloader… | ||
| Filling the Knowledge Gap: Debugging Edition | Mina Slater | 29m |
Shows concrete debugging moves: use binding.pry and Pry commands (ls next step continue) instead of blind console stares; prefer p over puts when inspecting… | ||
| Closing Keynote | Aaron Patterson | 59m |
Claims concrete gains: ERB compiled-and-evaluated per request runs ~27k renders/sec, caching compilation raises that to ~63k/sec, and defining generated… | ||
| Maintaining a big open source project: lessons learned | Leonardo Tegon | 31m |
Maintains Devise, starts with 150 issues and 51 pull requests and reduces the backlog by triaging: ask for reproduction, add “needs more info,” close after two… | ||
| Code Spelunking: teach yourself how Rails works | Jordan Raine | 34m |
Shows that method introspection plus the Rails console and gems like method_source and byebug let you follow real execution paths, not just docs. Backed by a… | ||
| Resolve Errors Straight from the Error Pages | Genadi Samokovarov | 29m |
Rails 6 ships actionable errors that put buttons on developer error pages to run fixup code, implemented by adding an ActionSupport::ActionableError module to… | ||
| The Elusive Attribute | Chris Salzberg | 39m |
Argues that Rails “attribute” is concrete: attribute methods live in a generated attribute methods module (a five‑line PR gives it a name), but getters also… | ||
| No Such Thing as a Secure Application | Lyle Mullican | 36m |
Claims that no app is absolutely secure and that security equals risk management lead to concrete practices: add Brakeman static scans, run bundler-audit on… | ||
| Automate your Home with Ruby | Karl Entwistle | 31m |
A first‑ever Ruby HomeKit implementation claims to bridge unsupported devices to Apple Home by shipping a ruby_home gem (gem install ruby_home) that advertises… | ||
| Scalable Observability for Rails Applications | John Feminella | 41m |
Gives a concrete approach: define SLI/SLO for the business work (demand, satisfaction, efficiency, capacity), instrument with metrics + logs + tracing, and use… | ||
| Sprinkles of Functional Programming | John Schoeman | 34m |
Argues that small doses of functional style speed Rails tasks that are about transforming data, not modeling behavior, by replacing many service classes with a… | ||
| Event Sourcing made Simple | Philippe Creux | 39m |
Shows a concrete claim: Event Sourcing runs on a Rails monolith with ActiveRecord and SQL using a 150 lines of code framework. It records events with metadata… | ||
| Pre-evaluation in Ruby | Kevin Deisz | 32m |
Describes a gem called Preval that parses source with Ripper AST transforms, visits and rewrites nodes (constant-folding, integer arithmetic… | ||
| From test && commit || revert to LIMBO | Shane Becker | 42m |
The concrete claim is simple: follow test && commit || revert automatically — run the tests, commit everything on green, discard changes on red. The demo shows… | ||
| The Action Cable Symphony - An Illustrated Musical Adventure | Brandon Weaver | 35m |
A Rails app converts MIDI to JSON, splits tracks into per-instrument ActionCable channels, and assigns roughly a hundred phones as players; clients synthesize… | ||
| Localize your Rails application like a pro | David Padilla | 34m |
Practical checklist for Rails i18n: use split YAML files and recursive loading so translations stay maintainable; add i18n-debug gem to see Rails’ default… | ||
| Database Design for Beginners | David Copeland | 39m |
A concrete workflow emerges: list facts, write Functional Dependencies and Keys, run the decomposition that yields Boyce‑Codd Normal Form provably free of the… | ||
| What I learned my first year as a full-time programmer | Hilary Stohs-Krause | 35m |
Claims that “superstar” coders cost companies citing a Harvard Business Review study and a concrete stat: 80,000 projected unfilled U.S. tech jobs through… | ||
| ActiveRecord, the Repository Pattern, and You | Craig Buchek | 29m |
Claims a way to split domain and persistence on Rails while keeping the framework’s conveniences and getting faster tests, simpler code, decoupling from the… | ||
| The Life-Changing Magic of Tidying Active... | Richard Schneeman, Caleb Thompson | 39m |
Uses memory profiler and derailed benchmarks to collect allocations, finds ActiveRecord respond_to allocating strings and replaces it with a symbol→string hash… | ||
| When it all goes Wrong (with Postgres) | Will Leinweber | 37m |
Practical, diagnostic-first talk that lists actual failure rates and fixes: about 95% application-caused incidents, ~4% autovacuum, ~1% exotic bugs; recommends… | ||
| Reset Yourself Free (The Joy of Destroying your DB Daily) | Chris Waters | 37m |
Project uses Rails monolith with 300 models and 72 contributors and the concrete claim is: run rake db:reset to drop load schema and run seeds, producing an… | ||
| Mentoring the way to a more diverse and inclusive workplace | Alexandra Millatmal | 35m |
Argues that mentorship and D&I mutually reinforce one another and gives concrete practices: use Key Values for values-based recruiting, offer referral bonuses… | ||
| Getting Unstuck: Strategies For Solving Difficult Problems | Steven Hicks | 38m |
Claim: getting stuck is the job and can be turned into a repeatable skill. Concrete tactics include writing the bug down, messaging the slackbot or rubber… | ||
| Failure, Risk, and Shame: Approaching Suffering at Work | Amy Newell | 41m |
Claims that emotional pain is the mechanism that lets teams learn and that most coping strategies add a worse “second arrow,” then gives concrete practices to… | ||
| Mindfulness and Meditation for the Uncertain Mind | Rufo Sanchez | 24m |
Slides and transcript lay out a concrete method: sit, focus on the breath, note and return each time attention wanders, repeat. Recommended session lengths… | ||
| You Can’t Bubblebath The Burnout Away | Jennifer Tu | 28m |
Argues that self care alone can’t fix systemic overload and gives concrete diagnostics and actions: a hotel-door test checklist for spotting burnout, a… | ||
| Beyond the whiteboard interview | Joel Quenneville, Rachel Mathew | 31m |
Shows a runnable interview format: live pairing, a take-home code review PR, and a pairing day; claims shorter iterations and one week sprints or continuous… | ||
| Postgres & Rails 6 Multi-DB: Pitfalls, Patterns, Performance | Gabe Enslein | 39m |
Rails 6 multi-DB support lets Rails split reads and writes but it forces real choices: replicas lag from massive WAL on Write-heavy primaries (millions of… | ||
| Keeping Throughput High on Green Saturday | Alex Reiff | 33m |
Describes concrete fixes: add microcaching via NGINX/OpenResty (global cache shared with memcache), round device coordinates at the gateway to boost cache… | ||
| How Checkr uses gRPC | Paul Zaich, Ben Jacobson | 34m |
Checkr claims gRPC gives stronger service contracts and better documentation and shows the migration path rather than a magic switch. The stack uses a central… | ||
| Inside Rails... | Yehuda Katz, Vaidehi Joshi, Godfrey Chan, Krystan Huffmenne | 37m |
Explains exactly how an HTTP request becomes a controller method: DNS → TCP/HTTP → web server → use and run in config.ru → Rack ENV hash → middleware chain →… | ||
| We Don't Code Alone: Building Learning Communities | William Horton | 37m |
Synthesis of social‑science theory and concrete community design tactics, not code: claims include that learning communities need free entry and fair… | ||
| Terraforming legacy Rails applications | Vladimir Dementyev | 41m |
Shows concrete refactors and tools: Docker + a DIP wrapper for repeatable dev setups, replacing ENV sprawl with named YAML plus Rails credentials, and cutting… | ||
| Bug-Driven Development | Ylan Segal | 29m |
A real bug report about an API mismatch drives a concrete fix: reproduce with RSpec and FactoryGirl, discover a missing assignment that leaks role and enabled… | ||
| Learn to Make an API-Backed Model with | Shannon Skipper | 31m |
Shows how a Rails model can be backed by an external API rather than a database, using ActiveModel::Attributes (Rails 5.2) for typed coercion, the… | ||
| Rails Security at Scale | Jack McCracken | 32m |
Shopify runs ~150 deploys a day for ~800,000 merchants and describes concrete defenses: a RuboCop rule flagging html_safe, a GitHub bot called Caution Tape Bot… | ||
| Optimizing your app by understanding your PostgreSQL database | Samay Sharma | 41m |
Uses Postgres internals and concrete queries to find why an app is slow: check buffer cache hit ratio (aim for >95–99%), inspect bloat and autovacuum… | ||
| New HotN+1ness -Hard lessons migrating from REST to GraphQL | Eric Allen | 38m |
A Rails app migrates from REST to GraphQL and accidentally amplifies N+1s until resolvers drop eager loading and adopt batching; engineers add graphql-batch… | ||
| From 0.10 to 5.2. The story of a 13 year old Rails app | Braulio Carreno | 38m |
A 13 year Rails lineage powers ActBlue from Rails 0.10 to 5.2 and drives real results: 30K organizations and about $3 billion raised lifetime, 41M… | ||
| The 30-Month Migration | Glenn Vanderburg | 41m |
A sustained 30 months effort restructures contacts across two databases into a single Postgres schema in four stages: migrate from Neo4j to Active Record using… | ||
| Growing internal tooling from the console up | Nathan L Walls | 40m |
Projects move from one-off console fixes to repeatable ops: live demos use Rails console for investigation, turn recurring fixes into rake tasks, pipe alerts… | ||
| The Past, Present, and Future of Rails at GitHub | Eileen M Uchitelle | 40m |
GitHub documents upgrading from a custom Rails fork to Rails 5.2, with deployed 5.2 to production with zero downtime after a coordinated effort: two six‑month… | ||
| Unraveling the Cable: How ActionCable works | Christopher Sexton | 34m |
Explains how Action Cable actually wires browsers to Rails: a browser opens a TCP connection, does the HTTP upgrade to 101 Switching Protocols, rack.hijack… | ||
| Modern Cryptography for the Absolute Beginner | Jeffrey Cohen | 36m |
Begins with a vanilla Rails app and runnable Ruby examples that implement bcrypt for passwords, show UPC check digit style hashes, and demonstrate hybrid… | ||
| Zeitwerk: A new code loader | Xavier Noria | 42m |
Zeitwerk is a standalone gem that becomes Rails 6’s default loader and claims to eliminate most hand-written requires by registering Module#autoload for files… | ||
| How to migrate to Active Storage without losing your mind | Colleen Schnettler | 22m |
Concrete plan: install Active Storage and run the migrations, configure Amazon S3 per environment, then run a rake task to copy Paperclip fields into… | ||
| Background Processing, Serverless Style | Ben Bleything | 38m |
Serverless claims reduce ops overhead and boost developer productivity by replacing Sidekiq/Resque workers with functions triggered by HTTP gateways… | ||
| Commit Messages to the rescue! | Christopher "Aji" Slater | 36m |
Argues that commit messages act as time capsules and shows concrete practices that actually save debugging time: use commit template prompts, link issues so… | ||
| Keynote: Ethical Issues in the Law and Tech... | Bari A Williams | 48m |
Claims that matter: that Live ships with no kill switch for Live, Messenger payments plus closed groups create webcam businesses via Messenger payments, and… | ||
| UserMailer.with(user: myself).life_advice.deliver(5.years.ago)... | David McDonald | 11m |
Clear, concrete career advice focused on onboarding and learning by doing not vague inspiration; claims embrace mistakes as the fastest route to progress… | ||
| Congressive Management Techniques: Gardening Your Team | Jennifer Tu, Zee Spencer | 34m |
Six concrete claims and tactics: a six-area framework (forming/storming/norming/performing/adjourning), three hiring heuristics (hire for team needs, not… | ||
| Hacking Verbal Communication Systems | Ryan Alexander | 30m |
Claim: a simple set of hand signals borrowed from Quakers/Occupy fixes concrete problems — race conditions, latency in remote video and suppressed voices — by… | ||
| Communicate Like You're Remote | Eric Tillberg | 32m |
Argues that Slack as spoken and GitHub as written, gives a seven‑question checklist (decisions → write, ambiguity/feelings → talk), and recommends a single… | ||
| Teach by Learning; Lead by Teaching | Betsy Haibel | 38m |
Argues that dialogic education (Freire) and pairing actually produce measurable gains: illiterate adults learn reading in under two months and a small startup… | ||
| Plays Well with Others: How to Stop Being a Jerk Today | Jesse Belanger | 29m |
Claims jerks can change and offers a concrete pattern: Introspect Interact Iterate applied to meetings, disagreements, code review and outages. Specific… | ||
| Enter the Danger | Vince Cabansag | 30m |
Callouts to action are concrete: the talk documents replacing whitelist → allowlist and blacklist → denylist across repos and changing load‑balancer and… | ||
| Trans Eye for the Cis Ally: Ensuring an Inclusive Community | Julien Fitzpatrick | 36m |
Concrete steps and real tradeoffs: require names plus pronouns on profiles and badges, hand out pronoun stickers, train managers to ask trans hires how they… | ||
| Interview Them Where They Are | Eric Weinstein | 30m |
Argues that technical interviewing is broken and prescribes concrete fixes: refactor job descriptions to state required stack and success metrics (example… | ||
| Troubleshoot Your RoR Microservices with Distributed Tracing | Yoshinori Kawasaki | 31m |
Shows a working implementation that instruments Rails with OpenCensus and exports traces to backends like DataDog service map, using Rack and Faraday… | ||
| Service Architectures for Mere Mortals | Jamie Gaskins | 40m |
Argues that the move from Rails monolith to services hinges on concrete choices: keep one database per service and use Postgres if unsure; run background jobs… | ||
| I know I can, but should I? Evaluating Alternatives | Kevin Murphy | 33m |
Framework claims a practical weighted scoring model using four criteria: impact, cost, maintenance, consistency. Examples use Rails: sending a welcome email… | ||
| Profiling and Benchmarking 101 | Nate Berkopec | 39m |
Explains a concrete workflow: read production metrics (New Relic, Skylight, Scout), profile the problematic action in development, then isolate and micro/macro… | ||
| Fixing Flaky Tests Like a Detective | Sonja Peterson | 36m |
Describes a concrete debugging recipe: gather CI failures into a bug tracker, classify flakes into the five usual suspects—async code (Capybara, have_content… | ||
| rails db:migrate:safely | Matt Duszynski | 40m |
If a migration will touch tens of millions of rows this shows exactly what to do and what breaks: adding a column with a default triggers table locks… | ||
| Coding with an Organized Mind | Jason Swett | 30m |
Claim: low productivity comes from a disorganized mind not lack of skill. Concrete prescriptions: use usability testing forces design defects to surface to… | ||
| Programming Empathy: Emotional State Machines | Coraline Ada Ehmke | 37m |
Claims that emotions are emotional state machines and proposes a concrete five-step model (trigger → experience → reaction → decision → outcome). Examples… | ||
| Things I Wish I Knew Before Going Remote | Marla Brizel Zeschin | 36m |
Claims remote work is a learned skill not an instant win and concrete fixes matter: create a dedicated office, enforce temporal boundaries (get dressed, set Do… | ||
| nothing matches | ||