RubyConf 2019
2019-11-18..2019-11-20
Nashville, United States
RubyConf ·
[RubyConf 2007, RubyConf 2008, RubyConf 2009, RubyConf 2010, RubyConf 2011, RubyConf 2012, RubyConf 2014, RubyConf 2015, RubyConf 2016, RubyConf 2017, RubyConf 2018, RubyConf 2019, RubyConf 2020, RubyConf 2021, RubyConf 2022, RubyConf 2023, RubyConf 2024, RubyConf 2026]
who it's for
ruby language implementers and core contributors, ruby application developers, tooling and library authors, performance and memory engineers, api designers and backend architects, embedded and hardware hackers using ruby, developer experience and CLI authors
topics
pattern matching in Ruby 2.7; garbage collector compaction in MRI; Sorbet type checking for Ruby 3; static analysis for untyped Ruby; alternative Ruby implementations (Artichoke and others); rubyfmt code formatting tool; debugging Ruby applications; memory and performance tuning in Ruby; parallel Ruby and concurrency management; principles of API design for ruby services; dependency injection patterns in Ruby; RubyMotion augmented reality apps
| title | author | length |
|---|---|---|
| Opening Keynote - Ruby Progress Report | Yukihiro Matzumoto (Matz) | 42m |
Ruby 2.7 December release and Ruby 3.0 next year are fixed on the roadmap; 2.7 brings experimental pattern matching (with warnings), keyword‑argument warnings… | ||
| Thomas Edison vs Three Teslas in a Trenchcoat | Coraline Ada Ehmke | 31m |
Compares Edison vs Tesla history to concrete engineering practices and prescribes a checklist: a new technology matrix (ease of adoption vs usefulness) used at… | ||
| Principles of Awesome APIs and How to Build Them | Keavy McMinn | 35m |
Argues that good APIs need concrete practices not platitudes and shows how to get there: pick a single source of truth like JSON Schema, validate requests and… | ||
| Syntax Error Game Show | Adam Cuppy, Jonan Scheffler, Filipe Costa, Yvone Sanchez Reyes, Carolyn Cole, Penelope Phippen, Lachlan Hardy, Davy Stevenson, Marla Brizel Zeschin, Britni Alexander, Sandi Metz, Colin Pulton | 29m |
A live game builds a playable Tic Tac Toe grid modeled on Hollywood Squares, with contestants picking squares, experts answering and players agreeing or… | ||
| Pattern Matching - New feature in Ruby 2.7 | Kazuki Tsujimoto | 34m |
Ruby 2.7 ships an experimental pattern matching feature that extends case with case/in and raises NoMatchingPatternError when none match; it implements value… | ||
| mruby/c: Running on Less Than 64KB RAM Microcontroller | Hitoshi Hasumi | 33m |
A one‑chip IoT sensor suite for a Japanese Sake brewery actually ships and runs Ruby bytecode on microcontrollers: mruby/c compiles mRuby bytecode into a tiny… | ||
| Coding like it’s 1977: Ruby on the Apple ][ | Colin Fulton | 41m |
Claims a tiny Ruby interpreter called nRuby runs on an Apple IIc by reimplementing a VM and parser entirely in 6502 assembly, squeezing Ruby semantics into 8… | ||
| Keynote - Collective Problem Solving in Music, Science, Art... | Jessica Kerr | 49m |
Argues collective problem solving depends on concrete mechanisms: a living symmathesy where running software, IDEs, tests, logs and deployment pipelines… | ||
| Keynote - Slow, energy-efficient, and mysterious life deep... | Karen G Lloyd | 36m |
Deep marine sediments contain huge, surprising biomass — roughly a third of the planet’s microbes, “about 10,000 times the number of stars,” yet most never… | ||
| Tales of the Ruby Grimoire | Brandon Weaver | 37m |
Prototypes show concrete hacks: a PArg class that overrides + on a singleton to emulate placeholder arguments, a destructuring helper that reads… | ||
| How to use Your Superpowers to Transform People's Lives | Alberto Colon Viera | 31m |
Concrete claim: the legacy HUBZone map that shipped on CD‑ROMs becomes an API‑first, cloud‑hosted geospatial pipeline that automates updates, adds accessible… | ||
| Improv | Third Coast Comedy Club | 29m |
Improv troupe Third Coast Comedy Club builds full scenes live from audience seeds: write a play from audience song lyrics, solicit physical actions and… | ||
| Sorbet: A type checker for Ruby 3 you can use today! | Jake Zimmerman, Dmitry Petrashko | 41m |
Sorbet is a fast incremental type checker for Ruby that Stripe builds, open sources and uses across a multi‑million‑line repo; a three‑engineer effort becomes… | ||
| Adopting Sorbet at Scale | Ufuk Kayserilioglu | 33m |
Shopify adopts Sorbet across a 21K file monolith running 80K requests per second and reports concrete results: 40% of non‑test files at typed true, 1.5%… | ||
| A Static Type Analyzer of Untyped Ruby Code for Ruby 3 | Yusuke Endoh | 36m |
A static analyzer called Type Profiler executes Ruby code at the type level using abstract interpretation to generate RBS-style signatures and flag unknowns… | ||
| Hire Me: I'm Excellent at Quitting | Brittany Martin | 33m |
Clear, actionable checklist: claim that quitting is a legitimate career move and present a quitting kit of tactics — give at least two weeks' notice, document… | ||
| Lightning Talks | Sean Marcia, Ivan Nerytchenko, Daniel Colson, Wendy Calderón, Chyrelle Lewis, LaNice Powell, Jonan Scheffler, Rob Faldo, Carolyn Cole, Daniel Azuma, Justin Jones, Braulio Martinez, Bonzalo Rodriguez, Rohaa Mendon, Emily Giurleo, Chris O'Sulliv | 01h 23m |
Twenty four rapid items actually state what was done: a call for Ruby for Good volunteers; a concrete push to use make for build glue instead of misusing rake… | ||
| Keynote: Lucky You | Sandi Metz | 48m |
Argues that luck is partly learnable using Richard Wiseman’s four components of luck and backs it with income breakdowns (median programmer ≈ $93k; men $87k vs… | ||
| Language as a Tool of Thought: Consistency versus Progress | Victor Shepelev | 40m |
Argues that the language people use shapes how they think and shows which Ruby changes actually move that needle: concrete feature work on method references… | ||
| Let's build a simple HTTP server with Ruby | Esther Olatunde | 35m |
Code builds a working but minimal HTTP server in Ruby using the stdlib Socket class it binds to port 5000 accepts connections with TCPServer reads full… | ||
| Ignite Roulette | Evan Phoenix, Sara Jackson, Ernie Miller, Britni Alexander, Brandon Weaver | 32m |
Five improvised five‑minute ignites where slides auto-advance every ten seconds and each contestant must fold two audience prompts into a coherent bit. Expect… | ||
| In the beginning, there was "require"... | Adam McCrea | 28m |
Explains what calling require actually does: Ruby walks $LOAD_PATH, records entries in loaded_features, and Rubygems performs gem activation by adding a gem’s… | ||
| Compacting Heaps in Ruby 2.7 | Aaron Patterson | 47m |
Ruby 2.7 includes a manual heap compactor integrated with the GC and the talk explains exact memory layout, a two‑finger compaction algorithm, pinning bits… | ||
| Q&A with Yukihiro Matsumoto (Matz) | yukihiro Matsumoto 'Matz' | 40m |
Adds concrete changes and limits: pattern matching lands as an experimental, slower but expressive feature; core plans copy the async gem internals to give… | ||
| Conscious Coding Practice: The Three Concrete Steps | Noah Gibbs | 40m |
Claims a repeatable way to get "fingertip feel" for coding: pick tool, task, purpose, set a short timebox and throw it away, then iterate. Uses Ruby to build a… | ||
| Source-Diving for Fun and Profit | Kevin Kuchta | 34m |
Concrete, tactical guide to debugging third‑party gems: shows a three‑step workflow (find the big files, search iteratively, then trace a single line)… | ||
| Bridging the Knowledge Gap: Debugging | Mina Slater | 30m |
Argues that bootcamps leave a debugging knowledge gap and gives three concrete practices: binding.pry and print debugging (puts/P, Pry + pry-byebug commands… | ||
| Learn Enough Ruby | Michael Hartl | 37m |
Live coding shows how to go from irb experiments to a packaged rubyconf_palindrome gem, using bundler, mini‑test and a red‑green‑refactor TDD loop. The demo… | ||
| Fixing Performance & Memory problems | Frederick Cheung | 33m |
Shows concrete fixes: use Ruby-Prof to find an N^2 hotspot in scale_factor that calls abs a quarter‑million times and get several hundredfold speedup; use… | ||
| The Fewer the Concepts, the Better the Code | David Copeland | 34m |
Claim: minimizing the number of distinct concepts in code increases who can read and safely change it. Evidence: two Ruby implementations of the same task show… | ||
| Escaping The Tar Pit | Ernesto Tagwerker | 35m |
Uses SimpleCov to get statement coverage (example 82%), and RubyCritic (Flog/Reek) to score complexity and smells, then combines them into a Skunk stink score… | ||
| Disk is fast, memory is slow. Forget all you think you know | Daniel Magliola | 39m |
Rewrites a Prometheus Ruby client to make cross-process counters practical: sets a hard one microsecond target for increments, measures real costs, and tries C… | ||
| Introducing Rubyfmt | Penelope Phippen | 35m |
A Ruby formatter is being built that claims no configuration and aims to be correct and fast. It parses with Ripper for correctness (not whitequark/parser)… | ||
| How to write pleasant code | Roman Kofman | 30m |
Argues for deciding on specific effects not abstract principles and demonstrates them: a single Presenter change can silently create an N plus one query that… | ||
| No Return: Beyond Transactions in Code and Life | Avdi Grimm | 39m |
Argues a concrete claim: modeling workflows as all‑or‑nothing transactions is a fallacy and it breaks systems and lives, illustrated by two decades of building… | ||
| Investigative Metaprogramming | Betsy Haibel | 30m |
Sees a concrete claim: an obscure Rails error that would take weeks becomes solvable in hours by inserting runtime instrumentation. Notices the actual bug is a… | ||
| Building a Ruby: Artichoke is a Ruby Made with Rust | Ryan Lopopolo | 29m |
Artichoke is a Ruby implementation that targets Ruby 2.6.3 core and Standard Library by embedding sources in a virtual filesystem and compiling Rust to… | ||
| What's happening when initializing mruby? | Yurie Yamane, Masayoshi Takahashi | 29m |
Initialization currently forces mruby to allocate hundreds of objects and occupy lots of RAM so a new mrbgem called mruby-bin-nvgen runs mruby ahead of time… | ||
| Digesting MRI by Studying Alternative Ruby Implementations | Christian Bruckmayer | 27m |
Reimplements hash maps in JRuby (prototype in Ruby then port to Java), tweaks Rubinius and Opal behavior, and lands a small fix in Artichoke; shows that… | ||
| Ruby ate my DSL! | Daniel Azuma | 37m |
Claim: DSLs are still just Ruby so user code can stomp internals. Demonstration builds a tiny nanospec (about 20 lines of code) that mostly works but breaks… | ||
| Ruby Next: make old Ruby quack like a new one | Vladimir Dementyev | 39m |
Claim: Ruby Next backports Ruby 2.6/2.7 features so older Rubies behave like newer ones by combining refinements for APIs and a transpiler for syntax. It uses… | ||
| Statistically Optimal API Timeouts | Daniel Ackerman | 23m |
Claims a practical method: capture per-request timings in a proxy, fit a CDF with least squares regression, then solve a constrained optimization with Lagrange… | ||
| Injecting Dependencies for Fun and Profit | Chris Hoffman | 29m |
Concrete examples show constructor-based injection replacing globals, with tests using RSpec verifying doubles via instance_double and allow/expect; failure… | ||
| Fun, Friendly Computer Science | Mercedes Bernard | 33m |
Covers fundamentals—Big O, set theory, recursion and the four OOP principles—compressed into seven topics in 35 minutes with clear cooking and horse metaphors… | ||
| Rekindling a love of creation with Ruby and Raspberry Pi | Colleen Schnettler | 33m |
Builds actual things with Ruby on a Raspberry Pi: flashes an LED via the RPIGPIO library, teaches breadboard wiring and resistor sizing, and wires a giant… | ||
| Cocktail Masterclass with Ruby and Friends | Julian Cheal | 29m |
Project is a Raspberry Pi cocktail robot called Ruby Mixologist that combines a Rails UI, YAML drink recipes, peristaltic pumps driven by relays, and a… | ||
| lo-fi hip hop ruby - beats to relax/study to | Zachary Schroeder | 36m |
A small desktop app called Ruby Lo‑fi actually constructs chillhop loops by sequencing WAV samples with Ruby 2D for UI, ruby-audio for WAV manipulation and the… | ||
| Story telling with Git rebase | Elle Meredith | 35m |
Shows how to use Git to revise history before sharing and leave a readable narrative Git log Demonstrates interactive rebasing to edit reorder squash and drop… | ||
| Digging Up Code Graves in Ruby | Noah Matisoff | 23m |
Claim: Ruby's standard library exposes Ruby Coverage stdlib which reports per-line execution counts so experiments reveal which branch never runs. Example: a… | ||
| Kill All Mutants! (Intro to Mutation Testing) | Dave Aronson | 39m |
Explains mutation testing by showing concrete results not just hype: tools named include mutant and Mutest and older Heckle, a simple example (power method)… | ||
| The Singleton Module and Its Pattern In Ruby | Mike Calhoun | 36m |
Shows that Ruby’s stdlib Singleton module makes new and allocate private and supplies an instance method while forbidding clone/dup, demonstrates using… | ||
| Speeding up NMatrix by 100x | Udit Gulati | 23m |
NMatrix gets a ground-up reimplementation renamed NumRuby that claims a 100x speedup claim over the old mixed C/C++/Ruby codebase by cutting copies and using a… | ||
| Creating AR Apps with RubyMotion | Lori M Olson | 41m |
Claims that RubyMotion (soon DragonRuby) builds native AR apps with ARKit and SceneKit, shows live coding that compiles a simple ARDemo box and successfully… | ||
| What's Love Got To Do With It? Ruby and Sentiment Analysis | Ben Greenberg | 30m |
Shows a concrete pipeline: a Ruby app that fetches headlines via News API, sends the concatenated text to IBM Watson NLU for sentiment and emotion scoring, and… | ||
| The Functional Rubyist | Joe Leo | 35m |
Claims Ruby supports practical functional programming and demonstrates it with working code: shows currying and partial application via add.curry, builds… | ||
| How to Become an Encoding Champion | Deedee Lavinder | 32m |
Explains why encoding causes real bugs and how to fix them: Ruby’s encode vs force_encoding distinction (encode rewrites bytes irreversibly, force_encoding… | ||
| Less abstract! Surprising effects of expressing rules of OOP... | Ivan Nemytchenko | 29m |
Claims a concrete visual language that maps objects to little figures with arms and fingers and doors and proves useful: artistic soldiers method encodes… | ||
| Seven Deadly Sins | Brian McElaney | 40m |
Seven process debts are named and grounded in concrete failures: shipping an unknown-language e‑commerce rewrite with massive tech debt to hit a revenue… | ||
| Elasticsearch 5 or and Bust | Molly Struve | 29m |
Upgrade from Elasticsearch 2 to 5 breaks a critical Kenna Security search backend: a 21-node cluster spikes CPU and crashes because a bug turned filters into… | ||
| Late, Over Budget, & Happy: Our Service Extraction Story | Amy Newell, Nat Budin | 35m |
A project to extract a social-feeds GraphQL service from a decade-old Rails monolith promises months and becomes 3-month estimate → 9 months, with operability… | ||
| How to lose 50 Million Records in 5 minutes | Jon Druse | 30m |
A production ETL called FORGE stores roughly 60 million records in Elasticsearch but two config worlds (YAML vs dynamic mappings) let timestamp-like JSON field… | ||
| JRuby: Zero to Scale! 🔥 | Charles Oliver Nutter, Thomas E Enebo | 41m |
JRuby 9.2.9 claims concrete wins: a recent patch drops memory by 24% on a single-controller Rails app, the oj JSON extension runs about 1.5–3× faster than… | ||
| Parallel Ruby: Managing the Memory Monster | Kevin Miller | 27m |
Claim: switching many single‑threaded Ruby processes to a threadpool causes runaway memory from OS‑heap fragmentation, not a Ruby object leak. Evidence: a… | ||
| Algorithms: CLRS in Ruby | Brad Grzesiak | 38m |
Covers concrete implementations: Ruby code for insertion sort (O(n²)), quicksort (typical O(n log n)) and a bucket sort that can be O(n) when distribution is… | ||
| Bursting at the Seams | David McDonald | 30m |
Claim: seams let code change behavior without editing the method itself. The talk shows a Ruby request class, rest-client calls and unit tests, first… | ||
| Don't Hang Me Out To DRY | Kevin Murphy | 33m |
Claims that 100% test coverage proves safety collide with concrete failures: a mercury-in-retrograde bug, flaky probabilistic tests, and an opaque access‑key… | ||
| Technical Background of Interactive CLI of Ruby 2.7 | Itoyanagi Sakura | 36m |
Reline is a pure Ruby GNU Readline replacement that lands in Ruby 2.7 when system Readline is absent and powers a new multiline IRB, implemented as three… | ||
| Containerizing Local Development... Is It Worth it? | Tony Drake | 39m |
Argues that containerizing local development can be helpful but is a workflow tradeoff: uses Docker Community Edition and docker-compose, shows three concrete… | ||
| What happens when a linguist learns to code? | Erica Sosa | 33m |
A linguist-turned-coder argues that specific lessons from language study improve programming learning: concrete claims include optional parens transfer… | ||
| nothing matches | ||