November 29
9:00 am
9:30 am
Continental Breakfast

Lanier Foyer
November 29
9:30 am
10:30 am
Performance does (not) Matter

Lanier Grand BR - B
Keynote
Matz
Matz is the creator of Ruby and a professional programmer who worked for the Japanese open-source company netlab.jp. Matz is also known as one of the open source evangelists in Japan. He's released several open source products, including cmail, the emacs-based mail user agent, written entirely in emacs lisp. Ruby is his first piece of software known outside of Japan.
November 29
10:45 am
11:15 am
How music works, using Ruby

Lanier Grand BR - B
Talk
About
That strange phenomenon where air molecules bounce against each other in a way that somehow comforts you, makes you cry, or makes you dance all night: music. Since the advent of recorded audio, a musician doesn't even need to be present anymore for this to happen (which makes putting "I will always love you" on repeat a little less awkward).
Musicians and sound engineers have found many ways of creating music, and making it sound good. Some of their methods have become industry staples used on every recording released today.
Let's look at what they do and reproduce some of their methods in Ruby!
Thijs Cadier
Co-founder of AppSignal from Amsterdam, the Netherlands. Been programming in Ruby since discovering Rails when it was still in beta in 2005. Been producing music as a serious hobby for a couple of years now, and using Ruby as a way of actually learning to understand what I'm doing.
November 29
10:45 am
11:15 am
RSpec: The Bad Parts

Lanier Grand BR - A
Talk
About
RSpec is good, but it’s even better with less of it. Looking at a realistic example spec, we’ll learn why parts of RSpec like let, subject, shared_examples, behaves like, and before can make your tests hard to read, difficult to navigate, and more complex. We'll discuss when DRY is not worth the price and how we can avoid repetition without using RSpec's built-in DSL methods.
In the end, we'll look at what's left. RSpec: The Good Parts.
Caleb Hearth
Caleb is a dreamer, speaker, and computer whisperer. He organized the Keep Ruby Weird conference, which of course you’ve heard of and are very impressed by. When he’s not rolling dice, making mead, or doing home improvement projects, he works for Test Double and codes in Ruby and Swift. He walked barefoot from the wintry tundra of Alaska to the hot hills of Texas. Okay, that’s not true, but he did live in those places. He currently hails from Denver, CO.
November 29
10:45 am
11:15 am
Pushing to master - adopting trunk based development

Lanier Grand BR - D
Talk
About
Trunk based development is a scary practice to adopt for engineers used to git flow or github flow. But there is ample evidence to show that it leads to higher quality code and faster delivery. So why are so many resistant to pushing to master? In this talk, we'll go over why TBD can be scary, what challenges are involved in pushing for team and company adoption, and how to overcome those challenges.
Dylan Blakemore
I studied mechanical engineering but quit one year into my doctorate to join my current company as a junior engineer with no experience in web development. Four and a half years later I've moved from tech lead to engineering manager, and am passionate about creating high performing teams, delivering high quality, maintainable code, and growing the skills of my team members.
November 29
10:45 am
11:15 am
Analyzing an analyzer - A dive into how RuboCop works

Lanier Grand BR - G
Talk
Hidden Gems
About
To help us with aspects like linting, security or style, many of us have Rubocop analyzing our code. It's a very useful tool that is widely used, easy to set up and configure. Rubocop can even automatically auto-correct your source code as needed. How is this even possible? It turns out that Ruby is really good at taking Ruby code as input and doing various things based on that input. In this talk, I will go through some of the internals of Rubocop to show how it analyzes and makes changes to your source code.
Kyle d'Oliveira
Based in Vancouver, Canada, Kyle is a jack of all trades and a master of some; at least he thinks so. He works as a software developer readily turning abstract ideas into working pieces of software. He has been focused recently on new tools for developers and helping others excel in their career. When not developing, he enjoys amazing food and craft breweries of the west coast, as well as picking up really heavy objects just so they can be put back down.
November 29
11:30 am
12:00 pm
The Magnitude 9.1 Meltdown at Fukushima

Lanier Grand BR - B
Talk
About
It was mid-afternoon on Friday, March 11, 2011 when the ground in Tōhoku began to shake. At Fukushima Daiichi nuclear power plant, it seemed like the shaking would never stop. Once it did, the reactors had automatically shut down, backup power had come online, and the operators were well on their way to having everything under control.
And then the tsunami struck.
They found themselves facing something beyond any worse-case scenario they imagined, and their response is a study in contrasts. We can learn a lot from the extremes they experienced about finding happiness and satisfaction at work.
Nickolas Means
Nickolas Means is infatuated with disasters of all kinds and the amazing things we can learn from them. When he’s not stuck in a Wikipedia loop reading about plane crashes, he leads the engineering team at Sym, helping create the building blocks engineering teams need to build effective security and compliance workflows. He works remotely from Austin, TX, and spends his spare time hanging out with his wife and kids, going for runs, and trying to brew the perfect cup of coffee.
November 29
11:30 am
12:00 pm
Data indexing with RGB (Ruby, Graphs and Bitmaps)

Lanier Grand BR - A
Talk
About
In this talk, we will go on a journey through Zappi’s data history and how we are using Ruby, a graph database, and a bitmap store to build a unique data engine. A journey that starts with the problem of a disconnected data set and serialised data frames, and ends with the solution of an in-memory index.
We will explore how we used RedisGraph to model the relationships in our data, connecting semantically equal nodes. Then delve into how a query layer was used to index a bitmap store and, in turn, led to us being able to interrogate our entire dataset orders of magnitude faster than before.
Benjamin Lewis
Benjamin comes from Cape Town, but currently lives in London. He is a Senior Software Engineer at Zappi working in their Innovation team, where he's been looking into new ways of working with their Data Asset. He'e been working at Zappi for the past 6 years and has spent a lot of time doing data modelling and working with their reporting platform.
November 29
11:30 am
12:00 pm
Improving the development experience with language servers

Lanier Grand BR - D
Talk
About
Providing a state of the art development experience greatly contributes to Ruby’s goal of making developers happy. A complete set of editor features can make a big difference in helping navigate and understand our Ruby code.
Let’s explore a modern way of enhancing editor functionality: the language server protocol (LSP). What it is, how to implement it and how an LSP server like the Ruby LSP can make writing Ruby even better.
Vinicius Stock
Vinicius Stock is a Senior Software Engineer at Shopify working on improving typing and editor tooling for Ruby. Since 2015, Vini has been writing Rails applications, contributing to the Ruby open source space and blogging about his learnings.
November 29
11:30 am
12:00 pm
Ruby Archaeology: Forgotten web frameworks

Lanier Grand BR - G
Talk
Hidden Gems
About
### In the 2000's everyone was writing a Ruby web framework
**Today, it seems, we are all too content to focus our energy on a small number of large Ruby web projects**. What happened to our creative spirit?
In this talk we focus on Ruby web frameworks that have long gone by the wayside. I won't spoil them here, but I can tell you what
we _won't_ be covering:
* Sinatra
* Hanami
* roda
* merb
We will answer questions like:
* Why are fewer people experimenting with their own frameworks today?
* What features, idioms and ideas are worth exploring?
* Are any of these frameworks worth reviving or copying?
Nick Schwaderer
Nick is a Senior Production Engineer at Shopify on the Ruby and Rails Infrastructure Team. He digs into Ruby lore frequently with the PastRubies newsletter. Nick has worked on projects with Ruby to help forecast pain for individuals with chronic illness and assist in communications during a natural disaster.
November 29
12:00 pm
1:30 pm
Lunch

Lanier Grand BR H (Exhibit Hall)
November 29
1:30 pm
2:00 pm
Solidarity not Charity and Collective Liberation

Lanier Grand BR - B
Talk
Giving Back With Ruby
About
Wondering how to get involved in supporting your communities? Hear from someone who has spun up (and down) multiple volunteer and service projects. May it spark your imagination -- and your heart -- to join or start helping out both this wild world and yourself.
New mutual aid groups formed around the world in 2020. Tthe tools were not ideal and the volume overwhelmed volunteers.
A handful of of tech folx built a fit-to-suit app to manage immediate needs and maximize impact of partner mutual aid groups.
Wins were achieved. Lessons were learned. And the interconnectedness of all things was felt.
Mae Beale
Mae Beale spent 20 years in and out of nonprofit-land, with jaunts into biochemistry and women's studies degreeing, full-time pool playing, high school chemistry & physics teaching, higher ed senior administrating. She went to code school in 2014 to gain the technical skills needed to build the tools she wished she'd had in all the years prior.
November 29
1:30 pm
2:00 pm
A Tale of Two Flamegraphs: Continuous Profiling in Ruby

Lanier Grand BR - D
Talk
About
This talk will dive deep into the internals of one of the fastest growing profiling gems: Pyroscope. Pyroscope is unique because it is actually a ruby gem of another ruby gem written in rust; Pyroscope extends the popular rbspy project as a foundation to not only collect profiling data, but also to tag and analyze that data as well. You can think of Pyroscope as what you would get if rbspy and speedscope had a baby.
We’ll start with the internals and end with an example of how two flamegraphs can be used to tell a story about your applications performance.
Ryan Perry
I’m from the Indiana originally where I initially studied business in school. However, after an internship in tech I decided that I wanted to learn how to code and ended up completing a coding bootcamp and moving out to Oakland, CA. Since then I’ve worked at several startups and for the past year I’ve been working full time on an open source project. My hobbies include basketball, video games (smash bros!), and cooking and my guilty pleasure is trashy reality tv
November 29
1:30 pm
2:00 pm
Ruby’s Core Gem

Lanier Grand BR - G
Talk
Hidden Gems
About
Ruby has a core library that is part of the interpreter and always available. It’s classes like String and Time. But what would it be like if we re-implemented the core library, writing it in Ruby itself, and made it available as a gem? Would it be faster or slower? Would it be easier to understand and debug? What other benefits could there be? It was originally Rubinius that implemented Ruby’s core in Ruby, and it has been taken up and maintained by the TruffleRuby team.
Chris Seaton
Chris is a Researcher (Senior Staff Engineer) at Shopify, where he works on the Ruby programming Language. He was formerly a Research Manager at the Oracle Labs Virtual Machine Research Group, where he led the TruffleRuby implementation of Ruby, and worked on other language and virtual machine projects. Before this he completed a PhD at Manchester where he researched programming languages and irregular parallelism. In his part time he leads the Cheshire Yeomanry, a reserve light cavalry unit.
November 29
2:15 pm
2:45 pm
Helping Redistrict California with Ruby

Lanier Grand BR - B
Talk
Giving Back With Ruby
About
Every 10 years, after the federal census, California and most other states redraw the lines of various electoral districts to attempt to ensure the districts are fair and have roughly equal population. California uses a system written in Ruby for citizens to apply to become redistricting commissioners, and for review of the submitted applications. Come learn about redistricting and the unique design of the California redistricting commissioner application system, with 12 separate web server process types, isolated networks, 3-factor authentication, and other security features.
Jeremy Evans
Jeremy Evans is a Ruby committer who focuses on fixing bugs in Ruby. He the lead developer of the Sequel database library, the Roda web toolkit, the Rodauth authentication framework, and many other Ruby libraries. He is the author of "Polished Ruby Programming". He is the maintainer of Ruby ports for the OpenBSD operating system.
November 29
2:15 pm
2:45 pm
Bending Time with Crystal: 6 hours to 15 minutes

Lanier Grand BR - A
Talk
About
In software, we often encounter problems that we accept as "just how things are." But sometimes, that creates opportunities to identify creative, out of the box solutions. One idea can be combining the power of Crystal with our existing Ruby knowledge, to create effective tools with minimal learning curve and cognitive overhead. I'll demonstrate how easily Ruby code can be ported to Crystal, how it can benefit us, and how to identify these opportunities.
Paul Hoffer
Paul is always looking for interesting problems to solve, often times chasing the ones that “can’t be done.” Away from a computer, Paul enjoys hiking, running, cooking, and traveling.
November 29
2:15 pm
2:45 pm
Everything a Microservice: The Worst Possible Intro to dRuby

Lanier Grand BR - D
Talk
About
Microservices are great, but I think we can all agree: we need more of them and they should be micro-er. What's the logical limit here? What if every object was remote in a language where everything's an object?
Let's take a look at dRuby, the distributed programming module you've never heard of, and use it to achieve that deranged goal! You'll learn about a nifty little corner of the standard library while we attempt to reach the illogical conclusion of today's hottest architecture trend.
Be warned: those sitting in the first few rows may get poorly-marshaled data on them.
Kevin Kuchta
I'm a generalist software engineer in San Francisco. Because I have the attention span of a startled sparrow, I work on everything from HTML/CSS to JS to Ruby to infrastructure. Recent projects include a browser-tab-driven SQL database, a reddit t-shirt bot, and CSS-only async web chat.
November 29
2:15 pm
2:45 pm
I'm in love with Mermaid

Lanier Grand BR - G
Talk
Hidden Gems
About
Everyone says that a picture is worth a thousand words... The issue in the past is that those pictures have been hard to create let alone maintain. Welcome Mermaid (https://mermaid-js.github.io/mermaid/#/)!
Mermaid is a mark down compatible graphing tool that allows you to add diagrams directly to your markdown in github. I have been using it for a a year and just love it. I believe that you will love it too once you join my session.
Carolyn Cole
Hello, I am a computer programmer with more than 25 years of experience. I have been coding Ruby and Rails for the past 11 years for the Libraries at Princeton University and the Penn State University. At the libraries I have been a major contributor to open source software. I love to share my extensive software experience! I have given two lightening talks at pervious RubyConfs: I git with confidence in 2019 and Tests are Self Care in 2021.
November 29
3:00 pm
3:30 pm
Building an education savings platform, with ruby!

Lanier Grand BR - B
Talk
Giving Back With Ruby
About
Wealthsimple Foundation is a Canadian charity working to enable a brighter future for everyone in Canada through access to post-secondary education. The Foundation is supported by Wealthsimple, which builds a variety of digital financial tools trusted by over 2.5 million Canadians.
In this talk we'll go over:
- How an organization supporting for-profit and non-profit activities is structured (and the ethical considerations that can arise from that)
- Responsibilities of engineers working in a non-profit space
- Opportunities and challenges of digital products addressing systematic inequalities
Tyler Ackerman
Tyler is from Toronto, Canada where he works as a full-stack engineer with the Wealthsimple Foudation. He has four years of experience as a front-end engineer, primarily with React JS. This past year, Tyler made the decision to focus his attention on the back-end — learning to write code with Ruby on Rails. In his spare time, Tyler enjoys studying Spanish and cheering on his Toronto Raptors.
November 29
3:00 pm
3:30 pm
Splitting: the Crucial Optimization for Ruby Blocks

Lanier Grand BR - A
Talk
About
Blocks are one of the most expressive parts of the Ruby syntax. Many Ruby methods take a block. When a method is given different blocks, there is a crucial optimization necessary to unlock the best performance.
This optimization dates back to the early days of research on dynamic languages, yet it seems only a single Ruby implementation currently uses it.
This optimization is called splitting and what it does is using different copies of a method and specialize them to the block given at different call sites. This enables compiling the method and the block together for the best performance.
Benoit Daloze
Benoit Daloze is the TruffleRuby lead. He has contributed to many Ruby implementations, including MRI, TruffleRuby and JRuby. He is the maintainer of ruby/spec, a test suite for the behavior of the Ruby programming language.
November 29
3:00 pm
3:30 pm
1.5 is the Midpoint Between 0 and Infinity

Lanier Grand BR - D
Talk
About
What’s the midpoint between 0 and infinity? Well, the answer differs depending on whether you are asking a mathematician, philosopher, or a Ruby developer. I’m not a mathematician or a philosopher, but I am a Ruby developer, so I can tell you that 1.5 is the midpoint between 0 and infinity.
In this talk, we'll discuss the binary search algorithm, IEEE 754 floating-point numbers, and a clever trick Ruby uses to perform binary search on floating-point ranges.
Peter Zhu
Peter is a Ruby core committer and Senior Developer at Shopify. He is currently working on improving the performance of Ruby by optimizing the memory layout through the Variable Width Allocation project. He is the author of ruby_memcheck, a gem used to find memory leaks in native gems. It has found memory leaks in popular gems such as Nokogiri, protobuf, gRPC, and liquid-c.
November 29
3:00 pm
3:30 pm
Discover Machine Learning in Ruby

Lanier Grand BR - G
Talk
Hidden Gems
About
We can use Ruby to do anything we as a community want. Today we’ll explore the work of a hidden gem of a contributor in our community, Andrew Kane, and their Ruby gems for Machine Learning. We will see how contemporary computer vision neural networks can run with Ruby. Ruby is all about developer happiness. Computer Vision is something that brings me great joy as it delivers satisfying visual feedback and connects our code with the real world through images and videos in a way that wasn’t accessible until the last decade or so.
Justin Bowen
With over a decade of experience as an engineer contributing to startups in roles from senior software engineer to CTO, Justin has no degrees, but believes the best skills are humility and knowing that there is always more to learn. On the side of his day jobs, Justin has spent the past five years building smart cameras integrated with machine learning algorithms for the agriculture industry. He would like to show other Rails developers when and how to apply machine learning to their work.
November 29
3:30 pm
4:00 pm
Coffee & Snack Break

Lanier Foyer
November 29
4:00 pm
5:00 pm
Keynote: Suzan Bond

Lanier Grand BR - B
Keynote
Suzan Bond
Suzan Bond is a former COO of Travis CI, leadership consultant and executive coach. Her specialty is leaders at scaling startups. She's spent more than 15 years in technology. Her education background includes psychology, organization development, leadership and community organizing. Suzan facilitates workshops and is host of LeadDev's Bookmarked series. She's spoken at numerous events, is a contributor to Fast Company's Work Life section and writes the Suzan's Fieldnotes newsletter.
November 30
9:00 am
9:30 am
Morning Coffee

Lanier Foyer
November 30
9:30 am
10:30 am
Keynote: George M Johnson

Lanier Grand BR - B
Keynote
George M Johnson
George M Johnson is an Award-Winning Black Non-Binary Writer, Author, and Activist located in the LA area. George has written for major outlets including Teen Vogue, Entertainment Tonight, NBC, The Root, Buzzfeed, Essence, and The Grio. They have also served as Guest Editor for BET.com’s Pride month.
November 30
10:45 am
11:15 am
Crocheting & Coding: they're more similar than you think!

Lanier Grand BR - B
Talk
Bringing Your Backgrounds With You
About
Many of us have hobbies that we enjoy outside of our careers in tech. For me, that is amigurumi, the art of crocheting stuffed creatures. What if I told you that amigurumi is extremely similar to software development?
Join me in exploring the intersection between crocheting amigurumi and developing software. We’ll look at the key similarities between these two crafts, and I’ll share how crocheting has helped me become a better software developer. You’ll walk away inspired to connect your own hobbies to your role in tech or find a new creative hobby (like crochet)!
Tori Machen
Tori is a full-stack software developer, bunny mom, and amigurumi pattern designer. After discovering the art of programming late in college, Tori attended a coding bootcamp so she could pursue a career in software. Tori has been crocheting since high school and specializes in the amigurumi style of crochet. When she isn’t coding, Tori runs a blog and YouTube channel where she teaches people all over the world how to crochet amigurumi.
November 30
10:45 am
11:15 am
Building Stream Processing Applications with Ruby & Meroxa

Lanier Grand BR - A
Talk
Sponsor
About
As the world moves towards real-time there’s a growing demand for building sophisticated stream processing applications. Traditionally building these apps has involved spinning up separate task-specific tooling, learning new and unfamiliar paradigms, as well as deploying and operating a constellation of complex services.
In this talk, we’ll take a look at how to use the Turbine framework (turbine.rb) to build and deploy real-time stream processing applications using Ruby.
Meroxa | Ali Hamidi
Ali is the CTO and co-founder of Meroxa. Prior to starting Meroxa, Ali was the Lead Engineer on the Heroku Data Team at Salesforce where he worked on the core control plane that managed millions of databases for tens of thousands of customers globally.
When he’s not hacking away at code or gaming with his sons, Ali is likely to be mountain biking on local trails or at the bike park, racing downhill.
Linkedin: https://www.linkedin.com/in/ahamidi/
Twitter: https://twitter.com/ahamidi/
November 30
10:45 am
11:15 am
Using JRuby: What, When, How, and Why

Lanier Grand BR - D
Talk
About
JRuby has just been updated for Ruby 3.1 support, bringing compatibility up to date for the most widely-deployed alternative Ruby implementation! This talk will teach you all about JRuby: what is it, when should you use it, how to get started and why it matters. Learn why Ruby shops around the world choose JRuby for world-class concurrency, GC, JIT, and cross-platform support.
Charles Oliver Nutter
Charles works on JRuby and other JVM language concerns at Red Hat.
November 30
10:45 am
11:15 am
Working Together: Pairing as Senior and Junior Developers

Lanier Grand BR - G
Talk
About
Pairing with a senior developer is a daily necessity for a programmer just starting out. But how should you as a junior developer approach pairing to get the most out of the interaction? How can you not only find a solution to a current problem, but also build relationships and learn skills for future problems? In this talk, you will learn best practices for getting the most out of time with a mentor. I will recommend practical tips and positive habits, as well as ways of thinking that can improve your experience pairing and help you become a better developer.
Kelly Ryan
Kelly Ryan taught high school Latin for thirteen years before making the transition to software development in 2020. She loves languages, traveling, fantasy and science fiction, and learning. She could spend everyday in a museum. This is her first tech talk.
November 30
11:30 am
12:00 pm
Eclectics Unite: Leverage Your Diverse Background

Lanier Grand BR - B
Talk
Bringing Your Backgrounds With You
About
In addition to writing Ruby for work, I am also an academic translator, a snowboard instructor, and a drummer in a rock band. I am consistently amazed and inspired by the similarities and connections between software development and my seemingly unrelated experiences. What does translating science articles teach me about effectively using coding resources? How is playing drums in a rehearsal similar to test-driven development? How do I apply snowboard teaching principles to pair programming? Join me as I share my own story and explore ways you can leverage your diverse background.
Sijia Wu
I'm a Software Engineer at PayPal, working mostly with Ruby on Rails. I went to school to learn to build circuits, and transitioned to software development in 2018. Alongside my tech career, I wear many hats, from translator to drummer to bartender. I also dabble in autobiographical comics and recently started basic training with the local Roller Derby team in Brooklyn :)
November 30
11:30 am
12:00 pm
Shopify Office Hours

Lanier Grand BR - A
Talk
Sponsor
About
Curious about Shopify’s relationship with Ruby? Got questions on projects Shopify Ruby on Rails Engineers are currently working on? Join Aaron Patterson, Eileen Uchitelle, and other Shopify Engineers for a 30-minute office hours session dedicated to answering your questions on Ruby, Shopify’s relationship with Ruby, and life at Shopify! Feel free to start dropping your questions on this Slido link: bit.ly/Shopifyofficehours
Shopify | Aaron Patterson & Eileen M. Uchitelle
Aaron is a Senior Staff Engineer working at Shopify, Inc. He is on the Ruby core team and the Rails core team. In his free time, he enjoys cooking, playing with cats, and writing his own bio.
Eileen M. Uchitelle is a Senior Staff Engineer at Shopify where she helps lead the effort to improve and maintain the Rails framework and Ruby language. Her approach to solving technical problems centers around ensuring the continued stability and extensibility for indivi
November 30
11:30 am
12:00 pm
Building a Commercial Game Engine using mRuby and SDL

Lanier Grand BR - D
Talk
About
What does it take to build a cross platform game engine in Ruby?
How do you render to the screen? How is the simulation and rendering pipeline orchestrated? Why is Ruby a viable option is to begin with?
These questions and more will be answered by Amir. Be a part of this renaissance and see how Ruby can be used for so much more than server side web development.
Amir Rajan
Amir Rajan is an indie game dev and compiler hacker who’s constantly trying to improve in his craft. He’s a jack of all trades, being comfortable with a number of platforms and languages. Amir is also the creator of A Dark Room (for iOS, Android, and Nintendo Switch). This RPG took #1 spot in the App Store, #2 spot on Google Play, and ranked in the top 50 RPGs on the Nintendo Switch.
November 30
11:30 am
12:00 pm
Staff Engineer: “Here be dragons”

Lanier Grand BR - G
Talk
About
“Here be dragons”: this is how uncharted areas of maps were marked in medieval times. Today, while the journey to become a Senior Engineer is known territory, being a Staff Engineer appears full of dragons. Together, let’s demystify what leading beyond the management track really means.
Alexandre Terrasa
Alexandre has a PhD in computer science about compiling and code documentation. He specializes in typing specifications and implementations. He currently works as a Staff Production Engineer on the Ruby and Rails Infrastructure team at Shopify. He uses his expertise for the adoption of better Ruby tooling and practices including Sorbet and gradual typing.
November 30
12:00 pm
1:30 pm
Lunch

Lanier Grand BR H (Exhibit Hall)
November 30
1:00 pm
3:00 pm
Professional Headshots

Lanier Grand BR H (Exhibit Hall)
About
Stop by and get a free professional headshot!
November 30
1:30 pm
2:00 pm
Don't @ me! Faster Instance Variables with Object Shapes

Lanier Grand BR - B
Talk
About
Instance variables are a popular feature of the Ruby programming language, and many people enjoy using them. They are so popular that the Ruby core team has done lots of work to speed them up. But we can do even better to speed them up by using a technique called "Object Shapes".
In this presentation we'll learn about what object shapes are, how they are implemented, how how they can be used to speed up getting and setting instance variables. We'll make sure to square up Ruby instance variable implementation details so that you can become a more well rounded developer!
Aaron Patterson
Aaron is a Senior Staff Engineer working at Shopify, Inc. He is on the Ruby core team and the Rails core team. In his free time, he enjoys cooking, playing with cats, and writing his own bio.
November 30
1:30 pm
2:00 pm
Boot the backlog: Optimizing your workflow for dev happiness

Lanier Grand BR - A
Talk
Sponsor
About
What would happen if your team dropped that standing Monday morning refinement meeting? Chaos? We often follow work processes because they’re “the way things are done”, but clunky, unexamined processes slow down even talented teams. Never ending backlogs make it hard to feel like you’re making progress. Frequent meetings break up focus. If something about the way we work doesn’t help us move more quickly or effectively, it’s time to rethink it. Seeking a better way to coordinate work across 3 continents, the Workforce.com dev team adopted the Shape Up approach to project management. This talk explores the core elements of that approach and ways to optimize developer happiness while delivering more value for users.
Stacey McKnight
Stacey is a full stack developer who started her career in the nonprofit field supporting job training for refugees and individuals returning home from incarceration. Seeing how well-designed software could free up time-strapped teams for tasks with more impact, she transitioned into development work with the help of a bootcamp and the collective life raft that is StackOverflow. Stacey now writes software that frees up time for frontline managers as the US Product Team Lead at Workforce.com. She
November 30
1:30 pm
2:00 pm

Lanier Grand BR - D
November 30
1:30 pm
2:00 pm
From beginner to expert, and back again

Lanier Grand BR - G
Talk
Navigating Systems Change
About
"In the beginner's mind there are many possibilities, in the expert's mind there are few."
- Shunryu Suzuki, from "Zen Mind, Beginner's Mind"
The Japanese Zen term shoshin translates as “beginner’s mind” and refers to a paradox: the more you know about a subject, the more likely you are to close your mind to further learning. In contrast, the beginner’s state of mind is judgment free. It’s open, curious, available, and present. We’ll draw on examples of these mindsets from fields as varied as aviation and geology, and discover lessons we can apply to the world of software development.
Michael Toppa
Mike is a Senior Engineering Manager at OmbuLabs (FastRuby.io), and has been involved with web development for over 25 years in positions from developer to Director, at ActBlue, The University of Pennsylvania, Stanford University, Ask Jeeves, E*Trade, Georgetown University, and others. He’s passionate about helping teams improve and mentoring developers. Outside of work, you're likely to find him tearing down yet another wall in his house.
November 30
2:15 pm
2:45 pm
What does "high priority" mean? The secret to happy queues

Lanier Grand BR - B
Talk
About
Like most web applications, you run important jobs in the background. And today, some of your urgent jobs are running late. Again. No matter how many changes you make to how you enqueue and run your jobs, the problem keeps happening.
The good news is you're not alone. Most teams struggle with this problem, try more or less the same solutions, and have roughly the same result. In the end, it all boils down to one thing: keeping latency low.
In this talk I will present a latency-focused approach to managing your queues reliably, keeping your jobs flowing and your users happy.
Daniel Magliola
Life-long coder, expert procrastinator, maker of weird things, and occasional game programmer obsessed with code performance and weird Lego machinery.
November 30
2:15 pm
2:45 pm
Business in the Front, Party in the Back (Office)

Lanier Grand BR - A
Talk
Sponsor
About
If you have ever built a web application, chances are that you have also had to deal with "the back office" - the chores and one-off tasks required to operate your software in production. Workflows that aren't user-facing, like creating promo codes, moderating content, or running reports, are often a janky combination of admin scripts and spreadsheets. Retool helps developers quickly and easily solve these problems with software instead. In this session, we'll show how to build a back office interface for a Ruby on Rails application using Postgres and several common API services, so you can keep your focus on the business in the front, and let Retool help throw the party in the back (office).
Retool | Kevin Whinnery
Kevin is the Head of Developer Experience for Retool, a development platform optimized for building internal tools and operations software. Kevin is primarily a JavaScript developer, but still loves to write code in Ruby. He fondly remembers building a side-hustle SaaS application on Rails 1 which earned him dozens of dollars. Kevin lives just outside Minneapolis, MN with his wife and three devious children.
November 30
2:15 pm
2:45 pm
Writing Ruby, just not in English!

Lanier Grand BR - D
Talk
About
My talk shows how to write Ruby in a non-English language and the benefits of doing so. This will certainly be a great help for people who don’t speak English. It also helps get a better programming perspective for seasoned developers who don’t have English as their first language.
I will also demo the tooling that I have developed, using which one can quickly create a new spoken language variant of Ruby and start programming in Spanish, Portuguese etc.
rtdp
I am Ratnadeep aka rtdp, a software craftsman, an entrepreneur and working with Ruby and Ruby on Rails since past 13 years. I run a Rails consulting company BetaCraft Technologies. Before starting this company I was working as a digital nomad, in which I changed my location every few weeks, coding Ruby in weekdays and exploring places on weekends. Before that, I was running a startup, building a venture-funded product AppSurfer. Find me to talk about anything related to Ruby/Rails good practice
November 30
2:15 pm
2:45 pm
Change the Climate Before Changing the Weather

Lanier Grand BR - G
Talk
Navigating Systems Change
About
Unless you're self-employed you work for a system. That system is comprised of its own culture in decision making, inclusivity, and a lot more. As one person in a system how can you make an impact on it?
Sometimes you can’t change the weather, but you can change the climate in your own room. You may even find that if you change the temperature in enough rooms, surprisingly, you end up changing the weather.
In this talk, we’ll discuss a process of systems change that is ground up, going from the micro to the macro. You’ll leave more empowered to start changing the climate in your own workplace.
Ben Greenberg
Ben is a second career developer who previously spent a decade in the fields of adult education, community organizing, and non-profit management. He works as a senior developer advocate by day and experiments with open source projects at night. He writes regularly on the intersection of community development and tech. Originally from Southern California and a long-time resident of New York City, Ben now resides near Tel Aviv.
November 30
3:00 pm
5:00 pm
Happy Hour Social

Lanier Grand BR H (Exhibit Hall)
November 30
3:30 pm
5:00 pm
Lightning Talks

Lanier Grand BR - B
About
A lightning talk is a short presentation delivered by different speakers in a single session. You can sign up for a Lightning Talk outside the general session ballroom.
December 1
9:00 am
9:30 am
Morning Coffee

Lanier Foyer
December 1
9:30 am
10:30 am
The Case Of The Vanished Variable - A Ruby Mystery Story

Lanier Grand BR - B
Keynote
About
After a stressful couple of days at work, Deirdre Bug is looking forward to a quiet evening in. But her plans are thwarted when the phone rings.
“I know I’m the last person you want to hear from…but...I need your help!”
Follow Deirdre as she embarks on an adventure that features a looming Demo Day with serious prize money up for grabs, a trip inside the walls of one of the Ruby community’s most revered institutions, and some broken code that appears to be much more simple than meets the eye.
Nadia Odunayo
Nadia Odunayo is the founder and CEO of The StoryGraph, the new app that helps you to track your reading and choose which book to read next based on your mood and favourite topics and themes. She previously worked at Pivotal Labs as a software engineer and originally learnt to code at Makers Academy in London. In her spare time she loves to take dance class and, naturally, read!
December 1
10:45 am
11:15 am
Exit(ing) Through the YJIT

Lanier Grand BR - B
Talk
About
When optimizing code for the YJIT compiler it can be difficult to figure out what code is exiting and why. While working on tracing exits in a Ruby codebase, I found myself wishing we had a tool to reveal the exact line that was causing exits to occur. We set to work on building that functionality into Ruby and now we are able to see every side-exit and why. In this talk we’ll learn about side-exits and how we built a tracer for them. We’ll explore the original implementation, how we rewrote it in Rust, and lastly why it’s so important to always ask "can I make what I built even better?"
Eileen M. Uchitelle
Eileen M. Uchitelle is a Senior Staff Engineer at Shopify where she helps lead the effort to improve and maintain the Rails framework and Ruby language. Her approach to solving technical problems centers around ensuring the continued stability and extensibility for individual developers and companies large and small. As a member of the Rails Core Team her goal is to ensure the long-term sustainability of the Rails framework and its continued adoption as one of the leading open-source frameworks.
December 1
10:45 am
11:15 am

Lanier Grand BR - A
December 1
10:45 am
11:15 am
This Old App

Lanier Grand BR - D
Talk
About
What could _renovating_ an old house have in common with _upgrading_ an old app? **Everything!** Let me show you how this old house renovation project proceeds, from planning to scheduling, demolition to finishing, and how every stage directly relates the lessons learned from app upgrades over the course of my career.
Lori M Olson
Lori is a Ruby, Rails, and RubyMotion developer of many years experience. She has written an iPhone app (WIMBY - http://wimby.ca) in RubyMotion, a book based on her experiences with Core Data while creating WIMBY (Core Data in Motion - http://coredatainmotion), and has spoken at RubyMotion #inspect. Teaching well-received workshops at conferences around the world, she now runs the WNDX School of Mobile Apps.
December 1
10:45 am
11:15 am
Simulated Annealing: The Most Metal Algorithm Ever 🤘

Lanier Grand BR - G
Talk
About
Simulated annealing is a fascinating algorithm that's designed to help find a particular type of solution (near-optimal, aka "good enough") to a particular type of problem (constrained optimization). It's inspired by the science of metallurgy, and because it's grounded in a real-world process I find it incredibly approachable. In this talk I'll explain in plain terms about what simulated annealing is, what a constrained optimization problem is, why you might want a "good enough" solution, and how we can use the Annealing gem to add simulated annealing to our Ruby apps.
Chris Bloom
Chris Bloom has been developing software since 1999. He's currently a software engineer and mentor at GitHub, where in addition to his work on software supply chain security he used simulated annealing to build an internal tool to help spark conversations across geographical and organizational boundaries. To date this tool has facilitated over 4000 random, "unique enough" conversations within GitHub. He lives in SW Florida with his wife, 4 teens, 6 chickens, 1 bunny, and a lizard.
December 1
11:30 am
1:00 pm
Lunch

Lanier Grand BR H (Exhibit Hall)
December 1
1:00 pm
1:30 pm
scip-ruby - A Ruby indexer built with Sorbet

Lanier Grand BR - B
Talk
About
scip-ruby is an open source indexer that lets you browse Ruby code online, with IDE functionality like “Go to definition” and “Find usages”. We originally built scip-ruby to improve Ruby support in Sourcegraph, a code intelligence platform. In this talk, you will learn how we built scip-ruby on top of Sorbet, a Ruby typechecker, and how scip-ruby compares to IDEs and other online code navigation tools. Along the way, we will discuss how quintessential ideas like layering code into a functional core and an imperative shell apply to developer tools, and enable easier testing.
Varun Gandhi
Varun works at Sourcegraph on indexers for different programming languages — such as Ruby, TypeScript and C++ — and is excited to bring more powerful tooling to developers across different ecosystems. He is interested in both the theory and practice of developing better developer tools, diving into academic papers and industrial codebases with equal enthusiasm.
December 1
1:00 pm
1:30 pm

Lanier Grand BR - A
December 1
1:00 pm
1:30 pm
Never again without a contract: dry-validation

Lanier Grand BR - D
Talk
About
The same as you shouldn't work without a contract, our systems should accept external inputs without one, a written, clear and enforceable one.
Define the structure & expected payload being aware of their schema, structure & types. Using dry-schema or dry-validation this part is a matter of a few lines of codes covering most of the cases you may find with the cherry-on-top: error handling out-of-the-box and if this not enough with optional pattern matching for results.
Espartaco Palma
A Senior Software Engineer now applying Ruby as a daily basis, having a full conversation with datasets, collections and queries all day long. Reviewing code and learning how to debloat the unbloatable. I have been programming on many languages, like ancient xBase (Visual FoxPro), C# and Python; on every change I’ve learn not only the technology behind the language also the culture, I’ve learn how to implement what I have been using on C# and Python into Ruby.
December 1
1:00 pm
1:30 pm
Ruby Lambdas

Lanier Grand BR - G
Talk
Off The Beaten Path
About
Object Oriented Design is powerful for organizing software behavior, but without the benefit of lambdas' code-as-data flexibility, it often fails to reduce solutions to their simplest form. Although Ruby's Enumerable functionality is widely appreciated, its lambdas generally are not.
This presentation introduces the developer to lambdas, and shows how they can be used to write software that is cleaner, simpler, and more flexible.
We'll go through lots of code fragments, exploring diverse ways of exploiting their power and identifying reusable functional design patterns along the way.
Keith Bennett
Keith is a long time software developer who started his software development career writing an in-house accounting package in Applesoft BASIC on an Apple II, and has since worked primarily with C, C++, Java, and Ruby.
His other interests include technical community, current events, foreign languages, karaoke, and becoming a better human being.
December 1
1:45 pm
2:15 pm
Static typing with RBS in Ruby

Lanier Grand BR - B
Talk
About
In this talk, we'll generally explore the static type eco system in Ruby. Ruby has two main type checkers Sorbet and RBS. Sorbet was created by the Stripe and RBS is supported by ruby. Sorbet is an annotation base type checking system while RBS is a definition file-based type system. We'll add type annotation for a popular gem using sorbet and RBS and then compare the differences between the two systems. There is lot of interoperability announced between Sorbet and RBS and we'll explore if it's practically possible to convert a sorbet annotated project to RBS.
Gaurav Kumar Singh
I'm co-founder of Dtree labs based in Pune India. I've been working with Ruby for the last 7 years and it's one of my favorite programming languages. In my previous avatars I've worked as a ML/NLP researcher at Tata research and design center. I've published some academic papers related to language models.
We have worked on some of the customer projects to introduce static type checking into their projects, from that point onwards I started exploring more into static type checking in Ruby.
December 1
1:45 pm
2:15 pm

Lanier Grand BR - A
December 1
1:45 pm
2:15 pm
Boutique machine generated gems

Lanier Grand BR - D
Talk
About
What if writing boilerplate for Ruby gems were automated using familiar UI building blocks? Many Rubyists are familiar with components for generating clean HTML with higher-level frameworks. Unfortunately, many developers are unaware they can generate clean Ruby code that is as beautiful as their UIs. This talk will explore how we automatically created a generator to produce high-quality ruby and docs for a popular gem. I'll show how to use this approach to keep gems up-to-date with fast-moving APIs, release new versions frequently, and provide an excellent developer experience.
CJ Avilla
CJ Avilla is a developer advocate at Stripe, where he helps developers level up through videos and tutorials. He runs the Stripe Developers Youtube channel and his own personal Youtube developer channel where he regularly posts videos teaching web developers. Previously, he was a web development instructor at App Academy. In his spare time, CJ likes to podcast and remodel houses with his family in Bedford, New Hampshire.
December 1
1:45 pm
2:15 pm
Building Native GUI Apps in Ruby

Lanier Grand BR - G
Talk
Off The Beaten Path
About
Ruby is an excellent choice for building desktop apps with a native GUI (Graphical User Interface) that looks familiar on Mac, Windows, and Linux. In fact, Ruby pushes the boundaries of developing such apps in brand new ways not seen in web development by supporting very lightweight and declarative GUI syntax including bidirectional data-binding, thanks to Glimmer DSL for LibUI, a gem that won a Fukuoka Ruby 2022 Special Award. In this talk, I will cover concepts like the GUI DSL, data-binding, custom controls, area graphics, drag & drop, MVC/MVP pattern, and scaffolding, with sample demos.
Andy Maleh
Andy Maleh has recently won a Fukuoka Ruby 2022 Special Award for his open-source gem: Glimmer DSL for LibUI. He has spoken at various software conferences, such as RubyConf, MagicRuby, MountainWest RubyConf, RailsConf, and EclipseCon. Andy has an M.S. in Software Engineering from DePaul University, Chicago, and a B.S. in Computer Science from McGill University, Montreal. In his free time, he plays drums in two rock bands, plays Volleyball, and watches Red Sox/Canadiens/Alouettes sports games.
December 1
2:00 pm
3:15 pm
Job Fair

Room 333
December 1
2:00 pm
3:00 pm
Snack Break

Lanier Foyer
December 1
2:30 pm
3:00 pm

Lanier Grand BR - B
December 1
2:30 pm
3:00 pm

Lanier Grand BR - A
December 1
2:30 pm
3:00 pm
The Power of 'No'

Lanier Grand BR - D
Talk
About
Have you ever attended a meeting that you wish you hadn’t? Have you ever been happy that plans were canceled because you never really wanted to go in the first place?
Saying no is hard and can be truly challenging when faced with the prospect of feeling like maybe you’ll let someone down. Another reason saying no is hard is the feeling or FOMO, or the Fear Of Missing Out. All of these are even harder if you're a person of color. But is that 'Yes' worth your peace of mind?
This talk is about how knowing when to say no and how to do so.
Glenn Harmon
I constantly want to give back to the community. Someone took a chance on me years ago and now I try hard to pass on the knowledge I've learned along the way in hopes that it'll get someone to their goal even faster.
December 1
2:30 pm
3:00 pm
In Defense of Ruby Metaprogramming

Lanier Grand BR - G
Talk
Off The Beaten Path
About
If you’ve learned Ruby recently, you’ve likely been told to avoid using Ruby’s metaprogramming features because they are “dangerous”. Here at RubyConf, we laugh at danger. Or at least chuckle nervously at it. Ruby’s flexibility is one of the features that makes Ruby powerful, and ignoring it limits what you can do with the language. Plus, metaprogramming is fun. Let’s talk about when it makes sense to metaprogram, what parts of Ruby to use, and how to do it safely. You’ll leave with the tools to effectively metaprogram in your code.
Noel Rappin
Noel Rappin is an Staff Engineer at Chime Financial. Noel has authored multiple technical books, including "Modern Front End Development For Rails" and "Rails 5 Test Prescriptions", and the forthcoming "Programming Ruby Version 5". He also hosted the podcast Tech Done Right. Follow Noel on Twitter @noelrap, and online at http://www.noelrappin.com.
December 1
3:15 pm
4:15 pm
Ruby Central Panel

Lanier Grand BR - B
Keynote
Barrett Clark
Valerie Woolard