RailsConf 2018
as the organisers put it
RailsConf is the world’s largest and longest-running gathering of Ruby on Rails enthusiasts, practitioners, and companies. For Rails developers, RailsConf is a chance to catch up with their brethren, as well as get a read on what the current and future status of Rails development is from leading voices in the community.
who it's for
Rails developers, backend engineers, platform engineers, site reliability engineers, devops engineers, engineering managers, technical leads
topics
GraphQL with graphql-ruby; authorization policies with action_policy; encrypted credentials in Rails 5.2; Webpacker front-end integration; Kubernetes deployments for Rails; containerizing Rails best practices; PostgreSQL B-tree index internals; testing in production techniques; production checkups and monitoring; data sharding models for Rails; Active Storage code review
| title | author | length |
|---|---|---|
| Opening Keynote: FIXME | David Heinemeier Hansson | 01h 02m |
Claim: decades of conceptual compression let teams ship without deep SQL or full-time DBAs so Basecamp runs one writable database, avoided sharding, and has no… | ||
| The GraphQL Way: A new path for JSON APIs | Nick Quaranto | 41m |
Claims that GraphQL makes Rails JSON APIs discoverable and change‑resilient and shows an implementation for a Rails 5 app powering a mobile client using… | ||
| Access Denied: the missing guide to authorization in Rails | Vladimir Dementyev | 41m |
Compares CanCan and Pundit, maps authorization models (DAC, MAC, RBAC, ABAC), and claims Rails lacks a built-in solution then demonstrates a new action_policy… | ||
| Booleans are Easy - True or False? | Craig Buchek | 32m |
Argues that simple booleans hide real costs, demonstrates multiple anti‑patterns and concrete fixes: replaces ambiguous boolean flags with named parameters or… | ||
| Candy on Rails: Polymorphism & Rails 5 | Michael Cain | 21m |
Rails 5 polymorphism is demonstrated with a candy shop app that models goodies and many package types; examples show the SQL pattern of package_type and… | ||
| Why We Never Get to Web Accessibility 102 | Liz Certa | 37m |
Shows that 19% of Americans identify as having a disability while tech companies report numbers like Slack 1.7% disabled workforce, explains NVDA as an open… | ||
| Dropping Into B-Trees | David McDonald | 27m |
Covers what a B‑tree actually stores and why indexes copy data, shows a 50,000-row demo loaded from a Gist and CSV, runs PostgreSQL EXPLAIN on primary key vs… | ||
| Continuous Deployments and Data Sovereignty: A Case Study | Mike Calhoun | 33m |
Builds actual multi‑country deployments: GitHub + Semaphore run tests and auto‑push a single master to Heroku for US plus Elastic Beanstalk containers in… | ||
| The Doctor Is In: Using checkups to find bugs in production | Ryan Laughlin | 34m |
Claim: lightweight “checkups” run in production to detect silent failures. Implementation details: small Ruby tasks (rake jobs, after_commit hooks, background… | ||
| Devly, a multi-service development environment | Eric Hodel, Ezekiel Templin | 39m |
Devly is a multi-service development environment used at Fastly that actually builds images from repositories and manages containers into composable “racks”… | ||
| Operating Rails in Kubernetes | Kir Shatrov | 32m |
Shopify migrates hundreds of Rails apps, including a large monolith, to Kubernetes and reports concrete practices: migrated hundreds of Rails apps using YAML… | ||
| Turbo Boosting Real-world Applications | Akira Matsuda | 43m |
Grabs concrete fixes: shows using the future pattern to convert blocking HTTP and DB calls from ~3s to ~1s, a prototype gem future_records to run ActiveRecord… | ||
| Who Destroyed Three Mile Island? | Nickolas Means | 35m |
A control-room decision chain lets a small plumbing fault become a partial meltdown: a leaking pilot-operated relief valve floods the sump, operators see… | ||
| Debugging Rails Itself | Sean Griffin | 26m |
Explains the exact process to fix a bug in Rails from report to committed patch: create a reproducible single-file test (only Rails plus sqlite/pg), use git… | ||
| Down The Rabbit Hole: An Adventure in Legacy Code | Loren Crawford | 39m |
Adds concrete steps for changing legacy Rails code: write tests to preserve behavior, use Rails model specs (joins and queries) to reproduce and fix a… | ||
| The Life and Death of a Rails App | Olivier Lacan | 40m |
A Rails app that starts as a conference demo becomes a product with hundreds of courses, moves off Heroku to self-hosting with hidden payroll and ops costs… | ||
| Webpacking for the Journey Ahead | Taylor Jones | 32m |
Webpack integration landed in Rails 5.1 and Webpacker is the concrete gem binding Webpack’s ecosystem into Rails so community loaders and plugins run without… | ||
| Stating the Obvious | Ernie Miller | 45m |
A string of concrete scenes decides whether to watch: a teen appliance salesman choosing reliability over SPIFF forgery and building customer trust; an early… | ||
| Keynote: Rails Doesn't Scale | Mark Imbriaco | 33m |
Key claim: Rails does scale, but linear scalability is boring — adding servers or Heroku Dynos only buys predictable throughput. Concrete tools and examples… | ||
| Using Databases to pull your applications weight | Harisankar P S | 31m |
Shows concrete changes and measured wins: move heavy filtering and JSON assembly into Postgres, use materialized views for repeated reports, and convert… | ||
| The Intelligence of Instinct | Emily Freeman | 26m |
Argues that fear is information not fluff, grounded in Daniel Kahneman’s System One and System Two framework and Gavin de Becker’s real-world precursors to… | ||
| Don't Settle for Poor Names (or for Poor Design) | Alistair McKinnell | 34m |
Claims that naming drives design and shows it on a real Rails app (QCloud) with a 500,000‑line codebase and ~300 models, using Ruby on Rails and Postgres… | ||
| How We Made Our App So Fast it Went Viral in Japan | Ben Halpern | 28m |
dev.to is deliberately rebuilt for global speed: pages ship from the edge via Fastly CDN, initial HTML aims under ~14KB, critical CSS is inlined, JS loads with… | ||
| Automating Empathy: Test Your Docs with Swagger and Apivore | Ariel Caplan | 42m |
Claim: API docs become executable tests that force code to match description. Workflow uses Swagger/OpenAPI for machine readable docs and Apivore to run spec… | ||
| Testing in Production | Aja Hammerly | 31m |
Hands-on techniques and outcomes: phased rollouts via canaries and blue/green with scripted auto rollback, smoke tests scheduled (every few hours) that caught… | ||
| Empathy through Acting | Roy Tomeij | 38m |
The talk shows a concrete method for practicing empathy using method acting techniques (Stanislavski, Strasberg, Adler, Meisner): an Empathetic Acting Method… | ||
| Lessons in Ethical Development I Learned From Star Wars | Jameson Hampton | 31m |
Argues that developers must pick moral lines before pressure hits, showing how Project Celestial Power uses crystallography on Kyber crystals and is slowly… | ||
| Blitzbuilding product with Rails - a crypto journey | YiTing "Xdite" Cheng | 36m |
Claimed build of OTCBTC with Rails ships in weeks and scales to 50,000 users in the first month and 1.5 billion CNY GMV while breaking even fast. Codebase uses… | ||
| Encrypted Credentials on Rails 5.2: Secrets to Success | Christopher Rigor | 34m |
Rails 5.2 replaces encrypted secrets with Credentials that promise atomic deploys, no env var sprawl, and always-on encryption using… | ||
| Scaling the Software Artisan | Coraline Ada Ehmke | 36m |
Argues that software shifts from bespoke craft to interchangeable parts, showing concrete historical parallels (Maudslay lathe, Eli Whitney demo) and modern… | ||
| All Onboard: Cruising on the Mentorship | Gretchen Ziegler | 32m |
The video documents two high school juniors, Paul and Sarina, joining Vitals for a six-week internship where a five-week window and two interns constrain… | ||
| Pairing: a guide to fruitful collaboration 🍓🍑🍐 | Andre Arko | 41m |
Pairing succeeds when it specifies actions not ideals: require driver and navigator roles, get consent on editor/OS/config, use a dedicated pairing station or… | ||
| Mechanically Confident | Adam Cuppy | 41m |
Argues confidence comes from rehearsed habits not pep talk, shows habit mechanics with Eugene Pauly’s preserved muscle memory, acting centers that yield five… | ||
| Keeping Moms Around for the Long Term | Tess Griffin | 23m |
Argues that being a mom in tech sucks and gives concrete fixes and data rather than platitudes: company policy often matters more than national law, one… | ||
| The Practical Guide to Building an Apprenticeship | Max Tiu | 33m |
A concrete how-to: design a paid, entry-level program with a written master plan, budget for living wages and manager buy-in, and run a three-to-four month… | ||
| So You’ve Got Yourself a Kafka: Event-Powered Rails Services | Stella Cotton | 35m |
Explains Kafka basics and concrete Rails tooling: ruby-kafka, Racecar, DeliveryBoy and Karafka wrappers; recommends monitoring offsets and using consumer… | ||
| Some Funny Things Happened on The Way to A Service Ecosystem | Chris Hoffman | 30m |
A team builds a rack AMQP bridge and an AMQParty gem to run Rails over AMQP but the AMQP Auth service incurs extra network hops, unacceptable latency, and is… | ||
| Broken APIs Break Trust: Tips for Creating and Updating APIs | Alex Wood | 35m |
Concrete rules and real examples for keeping APIs stable: AWS performs 110 services API reviews and the Ruby SDK team avoids client-side constraints so an EC2… | ||
| Warden: the building block behind Devise | Leonardo Tegon | 24m |
Warden is a Rack middleware that Devise uses to manage sign‑in, sign‑out and sessions; it runs after a session middleware and provides a Warden object in env… | ||
| Building a Collaborative Text Editor | Justin Weiss | 37m |
Explains how to get real-time editing working: represent edits as operations, assign document version numbers, run an operational-transformation control… | ||
| Ten Years of Rails Tutorials | Michael Hartl | 31m |
Chronicle of concrete changes and outcomes: Rails tutorials trace specific moves — migrations and rake db:migrate replacing raw SQL, the emergence of the asset… | ||
| The Evolution of Rails Security | Justin Collins | 37m |
Chronicle of concrete incidents and fixes: a string of CVEs that include directory‑traversal leading to remote code execution, the GitHub mass‑assignment… | ||
| The Code-Free Developer Interview | Pete Holiday | 29m |
Claims that dozens of hires happen without ever seeing a candidate's code and that code review role play and collaborative system design replace coding tests… | ||
| Harry the Hedgehog Learns You A Communication | Laura Mosher | 37m |
Five actionable rules with concrete examples: Think, then Speak — ask what you want, who you’re talking to, and how to explain it, illustrated by Hagrid’s… | ||
| Draw a Crowd | Brittany Martin | 29m |
Contextual Camouflage is an open-source Ruby on Rails gallery that actually collects geolocated, anonymous mental‑health reports and pipes them live onto a… | ||
| Ales on Rails: Making a Smarter Brewery with Ruby | Ben Shippee | 27m |
A brewery-grade Rails app runs the beer database, menu and printable tags using Prawn PDF and Active Admin then migrated to React while four Raspberry Pi… | ||
| Human Powered Rails: Automated Crowdsourcing In Your RoR App | Andy Glass | 33m |
Builds a human-powered API in RoR that automates background jobs to post tasks and import answers from Amazon Mechanical Turk, using the gems Turkee and RTurk… | ||
| Keynote: The Future of Rails 6: Scalable | Eileen M Uchitelle | 48m |
Rails 6 adds a built-in Parallel Testing runner that forks or threads tests (default two workers), uses DRb for forking, and ships threaded and process… | ||
| Running a Business, Demystified | Todd Kaufman, Justin Searls | 41m |
After six years running Test Double the story gives concrete numbers and lessons: about 45 people serving ~14 clients, a hiring cadence described as cautiously… | ||
| What's in a price? How to price your products and services | Michael Herold | 36m |
Shows a concrete method: run a Van Westendorp survey with four price questions, build CDFs (example implemented in eight lines of Ruby), read the indifference… | ||
| Reporting Live from the Ramp of Death | Thijs Cadier | 38m |
Claims that SaaS hits a Long Slow Ramp of Death where salaries and opportunity cost keep the business “dead by default,” and gives concrete metrics: Customer… | ||
| Taking the Pain Out of Support Engineering | Cecy Correa | 41m |
Argues that dedicated support beats weekly rotations because it preserves ticket continuity, produces automations, and avoids lost follow‑ups; cites an… | ||
| Leveling Up a Heroic Team | Aly Fulton | 34m |
Talk argues that building reliable teams maps to raid practice: form a progression raid team with clear values and roles (hardcore/semi/casual), keep one to… | ||
| Old-school Javascript in Rails | Graham Conzett | 33m |
Claim: vanilla Javascript plus Rails UJS builds real admin UX without React — no jQuery, remote forms via form_with, and js.erb partials power create, update… | ||
| Keynote - Livable Code | Sarah Mei | 42m |
Argues that a code base is a place to live, not a finished building, backing that claim with Conway’s Law (1967) and Brooks’s No Silver Bullet (1986), warns… | ||
| Quick and easy browser testing using RSpec and Rails 5.1 | Sam Phippen | 31m |
Claims that full-stack browser tests "just work" on modern RSpec and Rails with concrete details: RSpec 3.7 hooks into Rails 5.1 system specs and defaults to… | ||
| Build A Blog in 15 (more like 30) Minutes: Webpacker Edition | Sasha Grodzins | 40m |
Live-coding shows a Rails app wired with Webpacker hot reloading, a React frontend and a GraphQL backend using the graphql gem, building a posts model, a… | ||
| 6 degrees of JavaScript on Rails | Michael Crismali | 21m |
Lists six concrete gradations from Unobtrusive JavaScript up to a full single page app and shows the tools and patterns used at each step: Rails data-method… | ||
| Look Before You Import: A Webpack Survival Guide | Ross Kaffenberger | 38m |
Explains migrating from Sprockets to Webpack with concrete failures and fixes: how Webpacker expects entry files in app/javascript/packs, using require.context… | ||
| Closing Keynote | Aaron Patterson | 59m |
Key claims: use sampling and exact profilers for different questions, tune GC by changing slot and goal ratios, and push GitHub-internal tools into Rack and… | ||
| Putting Rails in a corner: Understanding database isolation | Emil Ong | 29m |
Explains concrete fixes: Rails 4 lets transactions take an isolation param so databases trade read committed vs repeatable read vs serializable for… | ||
| Ten years of Rails upgrades | Jordan Raine | 35m |
History at Clio shows upgrades slow because dependencies rot and custom hacks proliferate so the practical fixes matter: a small Ruby script bundle_report… | ||
| Stop Testing, Start Storytelling | Mike Schutte | 39m |
Argues for writing tests as human stories that describe user-visible behavior rather than implementation details, using Rails and RSpec idioms like red green… | ||
| Deploying any Rails application to any cloud in minutes | Khash Sajadi | 40m |
Cloud 66 shows a runnable system that goes from Git to production in minutes by provisioning servers on nine clouds or registered bare metal, rendering… | ||
| Engineering Engineering: More than the sum of our parts | Vietor Davis | 38m |
Claims that engineering organizations improve by treating them like engineered systems rather than searching for a One True Way, and offers a pragmatic… | ||
| Minitest 6: test feistier! | Ryan Davis | 38m |
Minitest 6 promises concrete upgrades: a new result class with safe serialization to allow worker‑based distributed runs, stronger parallelism with an option… | ||
| An Atypical 'Performance' Talk | Chris Arcand | 29m |
Live clarinet performances illustrate concrete parallels between performance and programming: strategies for taming initial complexity (overview, singing… | ||
| Giving your Heroku App highly-available PostgreSQL | Jake Varghese | 11m |
Explains how a Compose / IBM Cloud HA PostgreSQL setup uses etcd plus a Governor/Patroni-style coordinator with HA proxy and WAL streaming to keep… | ||
| “API?” – How LendingHome Approaches “Legacy” Technologies | Sam Aarons | 35m |
LendingHome describes concrete fixes: an SQS-backed microservice Rainmaker that turns internal requests into FTP XML, a centralizer Grand Central that moves… | ||
| Re-graphing The Mental Model of The Rails Router | Vaidehi Joshi | 38m |
A concrete claim: the Rails router is implemented as a graph engine (Journey) that tokenizes URLs with a scanner, parses them into syntax trees, then composes… | ||
| Inside Active Storage: a code review of Rails' new framework | Claudio Baccigalupo | 34m |
Live code review shows Active Storage’s actual architecture: has_one_attached defines methods via class_eval, attach creates a Blob row in active_storage_blobs… | ||
| Engine Yard - Shawn Herman | Shawn Herman | 05m |
Company history condenses into concrete claims: started 11 years ago with four founders, brought racks full of servers, helped scale some of the largest Rails… | ||
| GitHub - Tal Safran | Tal Safran | 06m |
Says GitHub runs dozens of Rails apps—public (Jobs, Gist) and many internal services—while actively upgrading the platform, currently doing a Rails 5 upgrade… | ||
| OTCBTC - Yiting "Xdite" Cheng | YiTing "Xdite" Cheng | 07m |
OTCBTC presents itself as an OTC exchanger plus a crypto exchange built in Rails, launched in October and claiming to spin up the exchange in one month and… | ||
| Up And Down Again: A Migration's Tale | Derek Prior | 36m |
Explains exactly what rake db:migrate and db:schema:load execute, how migration versions map to the schema_migrations table, and why Rails uses compatibility… | ||
| Lightning Talks | Claudio Baccigalupo, Nynne Just Christoffersen, Jacklyn Ma(Jackie), Jingyi Chen, Samay Sharma, Lee Richmond, Teck & Mike | 01h 20m |
Forty fast demos compress into concrete takeaways: a GitHub project (stockaid) needs 100 stars to qualify for Haroke’s $500 prize; LA Ruby averages 2,000… | ||
| Upgrading Rails at Scale | Edouard Chin | 29m |
Claims a repeatable Rails upgrade process that cut a yearlong slog to a few months by shipping concrete tools and practices: a Bundler dual-snapshot for… | ||
| Postgres 10, Performance, and You | Gabe Enslein | 34m |
Postgres 10 brings concrete wins: native table partitioning that lets bulk loads and deletes avoid vacuum bloat, hash indexes becoming crash‑safe and… | ||
| Hot Swapping Our Rails Front End In Secret - A Rebrand Story | Chris LoPresto | 32m |
Betterment replaces its entire front end across apps in eight weeks by dark‑deploying a rebrand behind TestTrack feature flags, shipping a rewritten design… | ||
| Actionable Tactics for Leveling Up Junior Devs | Sumeet Jain | 33m |
Gives concrete, testable tactics: codify question format as “goal, reproduction steps, expected vs actual” so answers teach process not just fixes; ban… | ||
| Your first contribution (and beyond) | Dinah Shi | 36m |
First contribution often means a documentation PR or a small bug fix; the Rails Guides and API docs plus the good-first-patch label are where people actually… | ||
| Ruby: A Family History | Geoffrey Litt | 33m |
Ruby traces concrete features to older languages: it takes higher-order functions from Lisp but prefers blocks vs lambdas for the one-function case, borrows… | ||
| Five Sharding Data Models and Which is Right | Craig Kerstiens | 33m |
Claims that sharding is the proven way to scale Postgres, with Citus used to turn Postgres into a sharded distributed DB and examples from Instagram Google and… | ||
| Using Skylight to Solve Real-World Performance Problems | Yehuda Katz, Godfrey Chan, Krystan Huffmenne | 37m |
Skylight shows median and 95th percentile latencies rather than averages and pinpoints slow endpoints by combining slowness with popularity so fixes matter. It… | ||
| Containerizing Rails: Techniques, Pitfalls, & Best Practices | Daniel Azuma | 40m |
Shows how a nontrivial Rails app goes to Kubernetes and what actually changes: use a multi-stage Dockerfile to build gems with compilers then copy only runtime… | ||
| Here's to history: programming through archaeology | Eleanor Kiefel Haggerty | 33m |
Applies archaeological practices — stratigraphy, context and praxis — to real git histories, using concrete tools like git bisect, git blame and regression… | ||
| Knobs, buttons & switches: Operating your application at scale | Amy Unger | 37m |
Concrete levers and how they’re implemented matter: use maintenance mode as an env var and a read‑only mode, implement feature flags per group (backed by… | ||
| Here’s to the crazy ones | James Adam | 38m |
A 2005 team extracts authentication code into a separate repo and ships a small login engine that packages controllers models views and migrations as reusable… | ||
| nothing matches | ||