“We need the videos” was the refrain from engineers following the 16th edition of RailsConf. Back in May, the annual event returned to an in-person format after two years of COVID restrictions, taking over the Oregon Convention Center in Portland for three days. Several of Shopify’s Ruby on Rails team members attended, and a dozen or so gave talks on topics ranging from virtual machines, performance improvements, and the benefits of investing in open-source teams.
We recapped RailsConf shortly after it wrapped—and now organizer Ruby Central has posted videos from the various talks and workshops online. Watch all the Shopify talks below, or via this YouTube Playlist.
The Success of Ruby on Rails by Eileen Uchitelle
Eileen Uchitelle kicked off the conference’s second day with a keynote that surveyed the state of Rails. Also a core contributor, the Senior Staff Production Engineer at Shopify gave a short history of the framework, and called on more companies to invest in open-source work—something she sees as essential to productivity, solid products, and building functionality for apps as they scale.
It’s Been a Minute! by Aaron Patterson
Aaron Patterson delivered the closing keynote for the conference’s first day clad in a pair of green-screen gloves. “We’re going to be streaming this online later this year, and I figured if I’m too boring or something we can fix it in post,” the Senior Staff Engineer, aka Tenderlove, told the crowd. He runs through various Rails-based amateur and professional projects, such as his own JIT / tenderjit, to extol the virtues of having fun when solving problems in software development. His big takeaway for the audience? “Just because you can, doesn’t mean you should.”
A Rails Developer’s Guide to the Ruby VM by Maple Ong
Ruby is an interpreted language—but also not, as Maple Ong notes in this RailsConf presentation on how the Ruby Virtual Machine (VM) works. Departing from the Rails-centered talks, the Senior Developer walks viewers through precisely how the VM—called YARV— interprets bytecode, and the benefits of that process, particularly when it comes to performance for long-running programs.
Caching Without Marshal by Chris Salzberg
Chris Salzberg, a Staff Developer on our Ruby and Rails Infra team, works on the common infrastructure shared by hundreds of teams within Shopify’s core monolith. This talk grew out of an internal cache-based incident involving Marshal, Ruby’s sharp knife that transforms objects into binary blobs and back. To fix the problem, Salzberg needed a solution similar to Marshal that doesn’t “encode the universe,” and migrated the cache on the core monolith to the binary serialization format MessagePack.
O(1), O(n) and O(#$*&!) by Stephen Prater
Performance improvements when scaling Rails is the focus of Stephen Prater’s RailsConf talk. The Staff Developer runs through how to diagnose and fix performance issues—such as excessive algorithmic complexity—using OpenTelemetry, a collection of tools, APIs, and SDKs. It’s complex stuff, but don’t worry: there are cats.
Ruby Archaeology by Nick Schwaderer
Senior Production Engineer Nick Schwaderer, a self-described “freelance detective in the annals of Ruby history,” brought his Ruby Archaeology series to Portland. He examines gems of yore to see what surprising and interesting things we can learn from running code. After setting up a 2009 coding environment on a 2022 machine, he walks the audience through three gems that were “en vogue” from a decade ago (like Merb) to understand how debates of the past can point a way forward.
Gem Install: What Could Go Wrong? By Ashley Ellis Pierce and Betty Li
Staff Developer Ashley Ellis Pierce and Senior Developer Betty Li dispelled the notion that many hackers are evil tech masterminds and more like expert exploiters of human error (think spelling mistakes). In a session generously sprinkled with pop culture references and doodles, the Ruby Conventions team members walk the audience through recent supply chain security breaches to show how “typosquatting” and “combosquatting” can make good gems turn bad.
Do You Trust Me? A Look at Trust, Time, and Teams by John DeWyze
What does it take to build trust on a team? Once trust is violated, what repairs are needed? Staff Developer John DeWyze breaks down how systems, pair programming, Rubocop, and compilers can shape engineering team dynamics and fuel trust batteries. He lays out a series of tips and practices for the subtle art of trust building among engineers.
GraphQL and Rails Beyond HTTP APIs by Gui Vieria
This tutorial is for anyone considering building a GraphQL API. Using an example based on a fictional space flight company, Senior Developer Gui Vieria walks through building the API, unpacks the GraphQL vs. REST comparison, and explores how to deliver real-time GGraphQL through Websockets, Webhooks, WebAssembly code, Bulk Operations and more.
Service Denied! Understanding How Regex DoS Attacks Work by Kevin Menard
The regex denial of service (DoS) attack affected languages with a Regular Expression engine in 2021. Around the same time, Staff Developer Kevin Menard was working on regex performance for TruffleRuby as part of Shopify’s Ruby and Rails infrastructure team. He dives into how Regular Expressions work, and algorithmic complexity, to understand how ReDoS attacks happen—and how to stop them.
Wherever you are, your next journey starts here! If building systems from the ground up to solve real-world problems interests you, our Engineering blog has stories about other challenges we have encountered. Intrigued? Visit our Engineering career page to find out about our open positions and learn about Digital by Design.