RubyConf 2015
2015-11-15..2015-11-17
San Antonio, TX, 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]
as the organisers put it
This year, RubyConf is swinging by gorgeous San Antonio! We'll be celebrating all things Ruby while enjoying the historic Alamo City. Y’all come
who it's for
Ruby developers, Rails developers, library and gem authors, engineering managers, QA and test engineers, platform and DevOps engineers, security engineers
topics
on-demand image resizing service; Sinatra and Heroku deployment; tiny RubyGems packaging workflow; legacy Rails rescue and upgrades; RSpec and Minitest testing style; MRI bytecode and VM internals; JRuby 9000 performance work; using refinements in Ruby; immutable data structures in Ruby; feature flag implementation patterns; hardware hacking with sensors; security-critical Ruby applications
| title | author | length |
|---|---|---|
| Your own 'Images as a Service' | Andy Croll | 30m |
Pages average over 2MB and images dominate that growth, so a tiny service that resizes on demand can cut bytes dramatically: a Sinatra app using Dragonfly and… | ||
| Pluck It | Adam Cuppy | 44m |
Shows how tiny utilities — often under 100 lines or a single file — become reusable RubyGems, demonstrating the commands bundle gem → gem build → gem push, the… | ||
| How to Crash an Airplane | Nickolas Means | 42m |
An uncontained fan‑disk failure severs hydraulic lines and loses all three hydraulic systems, leaving only engine thrust to steer; crews improvise… | ||
| RuntimeError: can't save WORLD | Sonja Heinen | 28m |
Argument states that applying social design methods produces better software: user shadowing uncovers real needs, not imagined use cases. Concrete tools and… | ||
| Working Compassionately with Legacy Code | Amar Shah | 36m |
Two case studies: one mobile app is killed and restarted after relying on dead frameworks, peer‑to‑peer syncing and 24‑hour bulk syncs; the other is a… | ||
| Keynote: Leagues of Sea and Sky | Jeff Norris | 44m |
Three concrete case studies decide whether to watch: the longitude crisis that follows the 1707 loss of four warships and 2,000 men, the 30‑year John Harrison… | ||
| The Not So Rational Programmer | Laura Eck | 38m |
Cognitive biases cause concrete decision failures: confirmation bias, mere exposure, false consensus and groupthink create bad hires, wrong frameworks and… | ||
| Inside Ruby's VM: The TMI Edition. | Aaron Patterson | 39m |
Clear, specific roadmap: MRI bytecode is generated via rb_compile_string into an AST then a linked list and finally an integer array; peephole and specialized… | ||
| How to Stop Hating your Test Suite | Justin Searls | 44m |
Promises a ready‑to‑fork Test Style Guide and then shows specific, actionable rules: break big objects (example four booleans => 2^4 = 16 test cases), prefer… | ||
| A Guided Read of Minitest | Nate Berkopec | 40m |
Minitest claims huge compactness: 1,586 lines of Ruby versus RSpec’s ~15,000, and a tiny mocking file (minitest-mock.rb) about 28× smaller. The code actually… | ||
| Ruby Preserves | Craig Buchek | 32m |
A tiny ORM called Ruby Preserves claims to keep the essence of mapping while staying 350 lines long and using raw SQL instead of a DSL; it implements the… | ||
| JRuby 9000 Is Out; Now What? | Thomas E Enebo, Charles Oliver Nutter | 44m |
JRuby 9000 ships with Ruby 2.2 support and a new IR runtime that enables block JIT and method inlining experiments, and define_method performance moves much… | ||
| Making it on your own and the pitfalls of gem dependencies | Nikki Murray, Maggie Epps | 35m |
Claim: blindly adding gems brings surprises — an average Gemfile.lock lists 118 gems on average ±58, and roughly four gems per lock have known security issues… | ||
| Ruby in 79 AD (Open Sourcing my Role as Indiana Jones) | Sean Marcia | 27m |
Open source work with academics pays off: a CSV importer replaces a brittle File Maker Pro workflow, a simple Rails app with login upload review and locking… | ||
| Mind Over Error | Michel Martens | 35m |
Argues that reducing complexity and building accurate mental models prevents failures, cites lines of code correlate with cognitive complexity and… | ||
| Keynote: Stupid Ideas for Many Computers | Aja Hammerly | 28m |
Built a crude load tester from a Rails log and Mechanize log-driven load generator, spun it up with bash, commodity boxes and a Kubernetes deployment on cloud… | ||
| Nobody Expects an Inquisition!... | Amanda Quaranto | 29m |
A practical checklist appears: five actionable points that move from an index‑card exercise to concrete habits like ask one leading question per conversation… | ||
| Stately State Machines with Ragel | Ian Duggan | 43m |
Claim: Ragel compiles readable state-machine DSL into highly optimized code and is already used for HTTP and protocol parsing (Mongrel, Puma, Whitequark)… | ||
| Communicating Intent Through Git | Josh Freeman | 38m |
Argues that git is a communication tool and shows concrete practices: use a commit template and write an imperative 50‑char summary, put a 72‑char‑wrapped body… | ||
| Writing concurrent libraries for all Ruby runtimes | Petr Chalupa | 34m |
A concurrent future is built step by step starting from Ruby mutexes and condition variables then exploiting MRI’s GVL volatile semantics and finally using… | ||
| Hardware Hacking: You can be a Maker | Christopher Sexton, Leah Sexton | 27m |
Claim that hardware hacking is easy gets concrete evidence: a Useless Machine kit bought for about $30 actually works after assembly, a TARDIS prop uses an LED… | ||
| Learn to Make Music. With Ruby. | Darin Wilson | 46m |
Sonic Pi is a free, multi platform Ruby DSL that runs even on a $35 Raspberry Pi and proves the claim that if you can write code you can make music it shows… | ||
| Mo Money Mo Problems (with Ruby) | Federico Soria | 26m |
Don't use floats for money; store amounts as integer cents or accept BigDecimal's memory cost. Use deterministic rounding like round half to even (banker's… | ||
| Shall We Play A Game? | Randy Coulman | 37m |
A Ruby solver for Ricochet Robots tackles a 16×16 board with 976.5 billion possible states using DFS, BFS and A; practical tricks include moving the active… | ||
| GDB: A Gentle Intro | Jason R. Clark | 43m |
GDB attaches to a running Ruby process so you can attach to a PID, set breakpoints like break at RB_array_unique_bang, and inspect threads and stacks; an… | ||
| Not so Neo In the Matrix | Micah Adams | 40m |
Examples show matrices as concrete tools not metaphors: using Ruby's Matrix library to invert coefficient matrices and solve linear systems, using a… | ||
| Time flies like an arrow; Fruit flies like a banana: Parsers for Great Good | Hsing-Hui Hsu | 31m |
Claim: human sentence parsing maps to programming-language parsing, demonstrated by building a tokenizer, a top-down recursive descent parser and a bottom-up… | ||
| Bikeshed! Live! | Evan Phoenix, Adam Keys | 41m |
Three developers pair-program a Fallout solver for terminal puzzles using Ruby, tests-first style, Bundler and methods like inject and zip, with frequent hard… | ||
| How to Performance | Eileen M Uchitelle | 30m |
A practical postmortem that claims integration tests go from 393 to 828 iterations per second and from 2.53× slower than controller tests to about 1.12× slower… | ||
| How does Bundler work, anyway? | Andre Arko | 43m |
History shows why Bundler exists and how it works: it runs an install-time dependency resolver to pick exact versions (RubyGems adds multiple versions so… | ||
| Ruby 2 Methodology | Akira Matsuda | 42m |
Shows that Ruby now allows emoji and other odd method names and uses define_method/send to call them, documents a real app patch that makes private methods… | ||
| Domo Arigato mruby Roboto | Yurie Yamane, Maysayoshi Takahashi | 36m |
Builds two working inverted-pendulum robots and shows what actually changed to make Ruby viable: an EV3 version running mruby-ev3rt on TOPPERS/ev3rt with a… | ||
| Just a Ruby Minute | Andrew Faraday | 37m |
An onstage adaptation of the British panel game runs as a thirty‑minute, interactive improv contest where four contestants (Aaron Patterson, Andy Croll, Kerri… | ||
| Softly, softly typing | John Cinnamond | 45m |
Claims that soft typing can be explored practically in Ruby by building a toy static analyzer and demonstrates it end to end: a parser and transform with… | ||
| I Estimate this Talk will be 20 Minutes Long, Give or Take 10 Minutes | Noel Rappin | 41m |
Argues that points track relative complexity not hours and that useful early forecasts come from sizing stories, summing low and high point totals, then… | ||
| Moneyball at the keyboard: Lessons on how to Scout Talented Developers | Adam Jonas | 35m |
Moneyball meets hiring with concrete claims and numbers: Flatiron School converts thousands of applicants into cohorts with a 6% acceptance rate, an internal… | ||
| Seven Habits of Highly Effective Gems | Mat Brown | 39m |
Seven concrete practices make a Gem pleasant: a four-line quick start and a long README so users get going and discover features; inline YARD tags that… | ||
| The Art of Ruby Technical Interviews | Chris Mar | 28m |
Recommends building a passion project (example: a Magic the Gathering site), pushing code to GitHub and deploy to Heroku, and pulling in real gems like Devise… | ||
| Design Thinking for Rubyists | Louisa Barrett | 30m |
Design thinking claims that developers can learn a repeatable, human-centered process championed by IDEO and Stanford’s d.School to turn observations and… | ||
| Keynote and Q&A: Matz | Matz | 01h 13m |
Announces concrete Ruby 2.3 additions — frozen string pragma, safe-navigation and lonely operators, dig, hash comparisons and hash_to_proc, plus bundling the… | ||
| The Seven Righteous Fights | Heidi Waterhouse | 39m |
Seven recurring engineering fights are named and justified with concrete takeaways: build localization up front—a Brasil demo costs five days vs two weeks… | ||
| Code, Culture and the Pursuit of Happiness | Kinsey Ann Durham | 25m |
Claim: company culture drives attrition, not lack of entry programs, with 57% of women leaving and many never returning. Evidence comes from surveys… | ||
| Lightning Talks | Michael Hartl, David Bock, Benjamin Fleischer, Steve Downie, Reid Morrison, Randy Coulman, Billy Watson, Raymond T. Hightower, Clayton Flesher, Devin Clark, Scott Mascar, Paul Dawson, Miki Rezentes, Jordan Bach, Nat Budin, Rick Carlino, Craig Buchek, Loraine Kanervisto, Britni Alexander | 01h 24m |
Quick notes so picking tonight is concrete: Michael Hartl is soliciting Learn Enough to be Dangerous collaborators and newbies by email; Tommy Talker uses… | ||
| A Muggle's Guide to Tail Call Optimization in Ruby | Danny Guinther | 42m |
Claim: Ruby 1.9.2 has TCO but disabled; the VM actually reuses a single stack frame instead of growing one per recursive call, so tail recursion becomes a loop… | ||
| Extremely Defensive Coding | Sam Phippen | 35m |
Claim: RSpec restores an object's original method after a test so tests don't leave objects broken. The code shown is a defensive wrapper… | ||
| Everything You Know About the GIL is Wrong | Jerry D'Antonio | 47m |
Claim: the GIL doesn't stop Ruby from doing useful concurrency; benchmarks show a 10x speedup on I/O-bound tasks by firing 20 Concurrent Ruby futures into a… | ||
| Ruby's Environment Variable API | Jack Danger Canty | 40m |
Shows exactly how Bundler RVM rbenv chruby and RubyGems control Ruby by mutating environment variables and load paths, with live experiments: GEM_PATH/GEM_HOME… | ||
| Storytelling via the Psychology of Professional Wrestling | David Copeland | 25m |
Claim: pro wrestling uses a compact toolkit called ring psychology to produce real emotional investment live in minutes. It combines a simple setting and rules… | ||
| The Math Behind Mandelbrot | David Bock | 44m |
Shows a concrete implementation: a Ruby rake task called bokmann/mandelrask that samples the complex plane as an 800x800 with 128 iterations grid (64,000… | ||
| Beating Go thanks to the power of randomness | Tobias Pfeiffer | 46m |
Claims that random simulation plus tree search beats old approaches using Monte Carlo Tree Search, deploys 50k+ playouts per second on strong engines, and wins… | ||
| Why is nobody using Refinements? | James Adam | 42m |
Refinements are presented as a lexically scoped, safe alternative to global monkey‑patching, with five concrete principles showing when they activate and why… | ||
| s/regex/DSLs/: What Regex Teaches Us About DSL Design | Betsy Haibel | 36m |
Regex serves concrete lessons for DSL design: it favors tight domain integration by expressing text-processing in text, it leans on composability via simple… | ||
| Changing the Unchangeable: The Hows and Whys of Immutable Data Structures | Brad Urani | 35m |
Demo shows a Bloxorz solver and a Connect Four UI built on a Hamster-backed matrix gem and an Elm frontend, with the solver implemented as a breadth-first… | ||
| The Hitchhiker's Guide to Ruby GC | Eric Weinstein | 35m |
Shows that garbage collection, not just databases or algorithms, is the real culprit: a Sinatra app hits about half a million live objects on boot, Ruby 1.9.3… | ||
| Botany with Bytes | Lito Nicolai | 29m |
Plants compute growth with simple rewriting rules and the talk shows working code: Ruby plus the beta graphics gem (SDL) runs L‑systems and turtle graphics to… | ||
| Building CLI Apps for Everyone | Terence Lee | 40m |
Claims a practical toolchain: mruby-cli plus a Docker build image produces a single statically linked binary that can cross-compile for Linux OSX and Windows… | ||
| Cucumbers Have Layers: A Love Story | Sam Livingston-Gray | 37m |
Argues Cucumber can be fast and useful by splitting tests into layers: core/model/ui with a single set of tiny step adapters invoking a step driver per layer… | ||
| Tagging your world with RFID | Adam Walker | 35m |
Promises concrete claims: UHF RFID tags integrate with Ruby, can read tags ~30 ft in practice for some hardware, and cheap paper tags cost ~13¢ each. Demos… | ||
| Manage Your Energy, Not Your Time | Joe Mastey | 32m |
Argues that energy is the real currency not minutes and cites Gallup numbers like 13% engaged and ~40% working 50+ hours to show long hours don’t buy focus… | ||
| Messenger: The (Complete) Story of Method Lookup | Jay McGavren | 29m |
Explains exactly where Ruby looks: every object has a singleton class first, then the class, included modules, superclasses, with ancestors showing the chain… | ||
| A Tale of Two Feature Flags | Rebecca Sliter | 30m |
Compares two real feature‑flag lifecycles: a faceted search that becomes backend flag coupling causing hard unit tests and a long‑lived flag that leads to a… | ||
| The Joy of Miniature Painting | Caleb Thompson | 30m |
A prerecorded demo paints a Reinholdt Gobber Speculator from Warmachine showing concrete steps not just platitudes: base coat 2:1 paint to water to avoid… | ||
| Using Ruby In Security Critical Applications | Tom Macklin | 36m |
Shows concrete fixes and failures: improvements to MRI security, use of OS mandatory access controls and stack canaries, a simple non-bypassable router pattern… | ||
| Hacking Spacetime for a Successful Career | Brandon Hays | 38m |
Claims a reproducible career model, builds a simple Ember.js demo and walks nine labeled trajectories over 2, 5, 10 and 30 years (Code Slinger, Cat Herder… | ||
| Keynote: Consequences of an Insightful Algorithm | Carina C. Zona | 43m |
Algorithms that infer pregnancy from purchase history lead to Target pregnancy scoring and stealthy diaper mailings after a man confronts a store… | ||
| String Theory and Time Travel: the humble text editor | Colin Fulton | 46m |
Claim: the editor broken time machine loses history when edits are made after undo. Evidence: a Ruby implementation of a HistoryStep module uses a doubly… | ||
| nothing matches | ||