DAVID HILL Happy Wednesday and welcome to the show. I'm your host, David Hill. We're in the final weeks leading up to RubyConf 2026, and I wanted to highlight some of the great speakers and community members that will be participating in the conference this year. So joining me today is Kyle D 'Olivera. Welcome to the podcast, Kyle. KYLE D'OLIVEIRA Thanks for having me, David. DAVID HILL David. So let's, before we get to talking about the conference, let's kind of talk about your background with Ruby. How long have you been working with Ruby? Sure. KYLE D'OLIVEIRA background is like I started with Ruby over 15 years ago long enough that I've started started forgetting the actual time frame a little bit right I started with us in a really small Ruby on Rails shop doing Rails upgrades so I actually got to experience the very early days of Rails upgrading to like version 2 and version 3 and now version 8. So I've seen Rails from like almost the very, very beginning, and I've been working with it ever since. And I just really loved the whole Ruby environment. I loved the community. I loved how expressive the language is. There's a lot of magic. You can hurt yourself with it. But some of the magic from Ruby is really great and lets you do some really amazing things. And some things are like the big highlights of my career are also bits that use that magic. Yeah. DAVID HILL Like you said, there's pros and cons to it. And some of it's just really, really cool. KYLE D'OLIVEIRA Yeah, exactly. DAVID HILL So talk a bit more about that. Like what kind of things stick out in your mind is like the cool bits of the magic or like the dangerous bits of the magic? KYLE D'OLIVEIRA So the cool, like, well, let's start with the dangerous bits. It's really easy to make Ruby really complicated, very difficult to follow. I'm sure everyone has experienced the bit of the code base that like you can't find the method. It doesn't. exist anywhere. There's like dynamic classes being instantiated all over the place and it's really hard to reason about. That's usually the bad side of things. The good side of things is when you can take something like an everyday problem and then just make it disappear. A good example of this that I built out several years ago is a little library to basically remove all of the n plus one queries from applications and i say all as like a general like most but by doing nothing interesting you just add the gem it goes away because it can use this magic and understand like oh we're going to uh rail sets up a bunch of special methods for accessing associations so we can inspect those and understand what is going on about it and do the necessary preloading as you do stuff which is really neat so when you have that kind of magic big classifications of problems just disappear and now you can focus on actually doing like the business logic rather than these really nitty -gritty things that you don't need to do and there's a lot of these things that exist in rails in general where smart people have made libraries made ways features embedded directly into Rails that you can now focus on building the thing you care about rather than, you know, how do you make things secure? How do you make things reliable? How do you make things good by default? DAVID HILL Nice. So what was the gem that you made for handling the n plus one query problem? KYLE D'OLIVEIRA The gem that I made. is called JIT preloader, J -I -T underscore preloader, which now gets confusing because this was well before YJIT came out, but it was signed for like just the just in time preloader. DAVID HILL was well DAVID HILL Right. KYLE D'OLIVEIRA It's been around now for a number of years, been using it at a lot of big companies at scale. And it's just really neat because it also, you can instrument the N plus one queries. So then you get to see the graphs of being like, oh, there's lots and now there's none. DAVID HILL Interesting. I'm gonna have to go look at that one. I haven't heard of that one before. KYLE D'OLIVEIRA Yeah, it came out roughly around the same time that there were some similar libraries. Like I think Goldie Loader is another one that kind of popped out around that time. They do similar things. There's just some trade -offs. If you have one, you don't necessarily need the other. But there's some really cool things that are offered by the Jupyter Loader gym. DAVID HILL Cool. Yeah, I'm definitely going to have to take a look at that. So what exactly was your introduction to Ruby? In our notes, you said it was by happenstance, and that's how I discovered Ruby. So I'm curious how it happened for you. KYLE D'OLIVEIRA So, I mean, for me, being introduced with Ruby was not, I didn't look out specifically for a Ruby job. I was finishing up my computer science bachelor's degree, and I just wanted a job programming. And that just happened to be the job. Um, and so, you know, when I started the job, like I knew very, very little Ruby, uh, and I just needed to get up to speed on it and getting up to speed with Ruby just felt so much easier than trying to get up to speed with, you know, Python or PHP and different languages. And then I just started working with it and I loved it. And I haven't looked back since. Nice. DAVID HILL loved it. DAVID HILL Yeah. Java server pages and like that era of Java. And I was so unhappy. And I found a different job that was still going to have me do Java. And then on the first day on the job, the hiring manager is like, we don't actually have anything for you to work on in Java. We're still going to hire you. Just go learn this thing called Ruby on Rails. We're going to put you on a different team. I was like, okay. Ended up liking it a whole lot more than Java. KYLE D'OLIVEIRA Yeah. And I think for good reasons, like Java is great, but it has some things that can often be very frustrating and you don't really run into the same kind of patterns with Ruby as much. Right. DAVID HILL Okay. So onto the main course of the discussion, I guess, you're going to be speaking at RubyConf this year. What's your talk about? KYLE D'OLIVEIRA your talk about? So this is the first time I'm doing a repeat talk. My talk is entitled Fibonacci Funhouse. And this kind of pairs a little bit of my love of math with my love of programming. I gave this talk in 2024 in Romania. So I'm sure the audience is much different here. DAVID HILL Before you go in, it's been a while since I looked at math and Fibonacci stuff. Just to make sure I remember this correctly, Fibonacci sequence is like each number is the sum of the two previous numbers. Is that right? Okay. Yeah. I want to make sure I'm remembering that correctly before. KYLE D'OLIVEIRA Yeah. I want to make sure I'm remembering that correctly before. Five, eight, 13, and just keeps on going. Okay. You can always find a bigger one. DAVID HILL Okay. You can always find a bigger one. Right. Okay. I just wanted to make sure I was thinking about that correctly before we dive into this. KYLE D'OLIVEIRA Yeah. Yeah. No, that's the correct thing. It's just some math things. You might see it all as like a simple like interview problem of being like, write a Fibonacci thing and they get you to talk about, you know, the naive way. How could you do it better? KYLE D'OLIVEIRA just going off the rails on this and see how far we can really push this. But because people aren't necessarily interested in the math side of things, math is really just a vessel to talk about Ruby. And so by looking at specific Fibonacci algorithms, I'm going to be showcasing different pieces of Ruby language and different things that you can have in your toolkit. This includes some things that aren't really super useful in production environments like tail recursion. I don't know if you know, but Ruby has tail recursion. You never use it, but you can. To things like using rational numbers, big decimal numbers, even just like matrix operations or some complex like hash default procs that can help simplify code. I think I took it out by the end, but even to as far as like, can you write C algorithms that calculate Fibonacci numbers and run those from Ruby? Wow. DAVID HILL I don't think I ever would have considered trying to build a talk like this because it just, I don't know. I haven't spent a whole lot of time ever thinking about Fibonacci numbers very... deeply. And so it didn't even occur to me that there are multiple different algorithms for figuring out large Fibonacci numbers or sequences. Yeah, there's lots of different ones. KYLE D'OLIVEIRA Yeah, there's lots of different ones. They'll have trade -offs. There's some nice graphs you can see to showcase how much better or how much worse they are. I think what inspired me to take this talk or to build this talk was, one, just because I love math and I just wanted to find a way to make it work. But when I used to do interviews all the time, you kind of get into this like, okay, how can you make it better? How can you make it better? How can you make it better? And you keep going and keep going. And I just wanted to see like, could we do something like that as part of a talk where it's like, okay, we can build a simple algorithm. How far can I push this? When a lot of people are talking about Fibonacci numbers in just like simple toy apps or just little blog posts, like you can see that they're getting to maybe like a couple hundred or the thousand Fibonacci. I was like, how fast can I calculate the billionth Fibonacci number? And because it's Ruby, you might argue like, okay, that's going to take a long time. But I don't know, in my experience here, it took less than 10 seconds and faster than any C program that I could also write, which maybe is not necessarily a great thing since I'm not a C programmer. I'm sure there's a better way to do it. But there's so many people have built optimizations into the Ruby language that Those are already done. And so when you're building these like algorithms doing high, large, large numbers, you don't have to redo any of those optimizations. They're already done. And so you can get some real cool speed. DAVID HILL And so you DAVID HILL Wow. So in your talk with the techniques that you're going to be going through, do you like you've legitimately gone that high with like the billionth Fibonacci number? Yeah. KYLE D'OLIVEIRA Yeah. That was just the point where I stopped because I was like, I. I could theoretically go more, but like at what point do I just stop? Like the billions took me less than 10 seconds. I really wanted to put it on a slide, but it's a couple million digits. And like I crashed all of the presentation apps just trying to get it onto a slide. I'm like this. I can't even get it to scroll through because it's just so many. Oh, gosh. I guess you could just like put it across multiple slides and you just have to keep sliding through it. Like I'm pretty sure if I wrote a book that was just that one number, it would be hundreds of pages. Oh, DAVID HILL my gosh. Okay. That. Wow. Because, yeah. The billion number is like, it's that number, like that's the size where it's like, you think you kind of understand what it means, but I don't think human brain capacity really groks how much more that is than any other rational number that you have real life interactions with. KYLE D'OLIVEIRA Absolutely. There's a point where it's just so big. I don't understand. This is just a string of numbers. And like, I can't even process all of these by looking at them. DAVID HILL Right. Wow. Okay. That, that sounds ridiculously absurd. And now I'm kind of excited to see this talk. KYLE D'OLIVEIRA Yeah. Yeah. It's, it's just kind of neat. And like, like the algorithm that you see at the end is not this like, you know. massive like 500 line multi -class thing it's i think it fits into maybe two slides across maybe 70 lines of code just so that it's readable it's real simple but we'll go through the process of like how do we get there and it's like the journey of how you can get there and when you get there it becomes really easy and anyone can do it wow okay that's really cool so how many kind of different techniques or DAVID HILL okay that's really cool so how many kind of different techniques or I assume it's not just like one straight through line. Like you try one thing over here within a certain range of the Fibonacci sequence and you try a different technique elsewhere. Like how many different ways are you going about calculating Fibonacci? So I think there is 11 different algorithms. KYLE D'OLIVEIRA So I think there is 11 different algorithms. Well, some with like very subtle differences, but 11 technically distinct algorithms that I will go through over the course of the talk. DAVID HILL Wow. Okay. So this is going to be a really kind of... walk away learning something from this talk because yeah yeah well and i mean like i don't think you need to memorize anything that really you really care about fibonacci numbers but each algorithm reach like set of algorithms will highlight different pieces of the ruby language right some some you might know and some you might not and i what i really want people to leave with is that toolkit of being like okay if i'm working with numbers that can be represented as rationals this is the library to use this is how we can do that KYLE D'OLIVEIRA yeah well and i mean like i don't think you need to memorize anything that really you really care about fibonacci numbers but each algorithm reach like set of algorithms will highlight different pieces of the ruby language right some some you might know and some you might not and i what i really want people to leave with is that toolkit of being like okay if i'm working with numbers that can be represented as rationals this is the library to use this is how we can do that The fact that I used rationals to make a Fibonacci approximation, that doesn't really matter. But you know that rationals now exist in Ruby and how they are really, really efficient. Interesting. DAVID HILL Okay, that's really cool. So that'll be very fun to learn about. So one of your other notes here on our planner, DAVID HILL of your other notes here on our planner, you talked about there was a major shift in your career after you started attending RubyConf and RailsConf. Yes. Talk about that a little bit. What was that shift? KYLE D'OLIVEIRA So I think in particular, I think it was a RailsConf in Portland. Prior to this, you know, I felt like a bit of like a feature factory. People would give me tasks. I would turn them into workable code. It was fun. I enjoyed it, but I didn't really think too much about it more. I went to a RailsConf in Portland, and I think it was attending a Sandy Metz talk. And she was talking about various ways to do refactoring. And it just felt like a brand new world of knowledge that I hadn't yet come across. I think I was at that talk. It was a wonderful talk. DAVID HILL a wonderful KYLE D'OLIVEIRA I think it was talking about the Gilded Rose. The weird refactoring changes that need to go into it. Yeah. So that was like the first talk that really, really stood out to me. And then I just needed to like absorb as much of this content as I could. And so I started watching all of the videos after the fact for conferences that I went to and conferences that I didn't. And then I really wanted to started contributing back to this world. So I. this line that always stuck out in my brain is I wanted to stop being just a knowledge consumer and start being a knowledge producer and start like I would love to have people be like I went to a conference and I saw you talk and now that's the point that changed how I thought about my job and that would warm my heart more than anything to hear that from an attendee and so it's basically since then I've been trying to like note all the things that I'm learning and actually try to build out some talks. And this is actually going to be now the eighth year in a row. And I'll be speaking at some Ruby conference. Wow. I've spoken at Ruby and Rails Conf, I think four or five times. And then the last couple of years, I've been out doing a tour through Europe, being at Helvetic Ruby in Switzerland and Friendly RB in Romania. And it's wonderful. I love just the vast world of Ruby. And one of the key learnings that I've come from all of this is this idea that in order to get better at something, you just need to experience like a huge volume of it. And you need to get this feedback from it. And there's a story that really resonated with me and I included in some of our notes here. Do you mind if I share that little story? Absolutely, please. So this comes from a book that is actually about art from David Bales and Ted Orland. The Art and Fear is a book that they wrote. And they wrote a story about a ceramics teacher. And the story looks something like this. A ceramics teacher announced on opening day that he was going to divide the class into two groups. All of those on the left side of the studio will be graded solely on the quantity of work that they produced. So just how much pots they made. And all of those on the right side of the class would be graded solely on quality. Are they making good stuff? And then when it came to grading time, a curious fact emerged. All of the works of the highest quality were all from the groups being graded by quantity, which seems really backwards. While the quantity group was busy churning out piles of work and learning from their mistakes, the quality group just sat theorizing about perfection. And then at the end of the day, they had a little more to show than just theories and dead clay. And that's the story. And I've really, I've seen this story and it's all about, can you do stuff? Don't be paralyzed by perfection. Just go gather feedback and just do it as much as you can. This is now the story I always like to share with people because people early in their career often ask me, what advice can I give them? And just do as much as you can. Measure yourself in how many pull requests you open. Measure yourself in how many pull requests you review. Doesn't necessarily mean you need to be sloppy and break stuff, but you need to go and you need to learn. You gather that feedback and what does your feedback look like? And that's, that's like a really important thing that I've always, I've discovered during this whole journey through the conference tracks. DAVID HILL Yeah. It almost kind of reminds me of like, and you said to not just not be sloppy and don't break things, but like, there's kind of the adage of you can't really be a senior level developer until you've broken production at least once. Yes. Yeah. Like it's, it's because like you've, you've had that experience of. finding those areas where like, Oh, this will break if I do that. KYLE D'OLIVEIRA Yes. Yeah. KYLE D'OLIVEIRA this will break if I do that. Yes. Yeah. You, you either win or you learn and I hope you're learning. DAVID HILL Right. Cause yeah, that's, I guess a very different idiom of you learn more from failure than from success because yeah. Yeah. KYLE D'OLIVEIRA yeah. DAVID HILL Okay. That's very cool. So you, you've been speaking at a lot of conferences for like the last eight years or something you said. KYLE D'OLIVEIRA Yeah. Last eight years of, my goal is to try to get 10 in a row. So this will be year eight. DAVID HILL goal is to KYLE D'OLIVEIRA I got two more and then I can say 10 years straight. DAVID HILL then I can say 10 years straight. So speaking at conferences has always been one of those things that I've wanted to do more of. For a long time, I had difficulty even coming up with topics that I thought would be interesting to speak about. And then even after I started coming up with ideas for things that like, oh, maybe this would be a good talk. Like getting it accepted somewhere is like a whole other problem. What advice would you give to someone who wants to try speaking at conferences since you've got a lot of experience at that arena now? KYLE D'OLIVEIRA Yeah. So there's a few things. One. You might have an amazing talk and you might submit it to a conference and they might not pick you. And that has absolutely nothing to say about your talk. That just might mean it's not a nice or good fit or, you know, they've got some similar tracks or it doesn't quite fit the tracks. DAVID HILL Or they just had an abundance of talks that fit better for whatever reason. KYLE D'OLIVEIRA Yeah, exactly. Like the talk that I will be giving coming up for RubyConf. I've probably pitched probably like seven times and it's been picked up twice. And like, I've been wanting to give this talk over and over. And when it got picked up a couple of years ago, I was super excited, but you got to just kind of repeat things. But I think the other piece of advice, and I think you alluded to this, is you don't know what to talk about. And I think that everybody has something to talk about. It's hard to figure out what that is, but I think everybody has interesting facts to talk about. I've attended conference talks from people who really talked about their background and how they've switched from like woodworking into software and how there's these parallels. And when you listen to the talk through like the lens of like, how do I learn? How do I get better? You can see a lot of parallels that doesn't seem to matter what background you come from. And that can be really good. There's talks that are incredibly technical by really smart people. There's also talks that are a little bit more showcasing like stories. I've seen talks about disasters and people walk through like a natural disaster that happened in like Fukushima and what leadership do. And if we take those lessons and apply them to like the tech world, what could leadership do differently here? And there's always something to talk about. And I think one of the best ways to start figuring out what it is you're talking about is think about like, what are projects that you worked on in the last year, two, three years that you feel excited about and just start talking about that. And usually there's a reason why you're excited about it. And you take that, whatever that you're excited about, and you can usually find something that is useful for someone else to really experience as well. DAVID HILL Nice. Yeah, that's definitely something I need to work more on. I think it was a year or two ago, maybe, I saw Joel Kenville gave a talk where he was using Ruby and Rails to create a D &D character sheet application. And the idea of mixing my love for D &D or role -playing games into a RubyConf talk was like, It was a thought that never even occurred to me at any point. It's like, oh, I wish I had thought of that. I really should have thought of that. And it just never occurred to me. But yeah, I think finding things that I love and mixing Ruby into them is a direction that took me a lot longer to start thinking along than I am comfortable admitting. Yeah. KYLE D'OLIVEIRA And I mean... So Ruby is wonderful and Rails is great, but there's also other tools outside of Rails that can be really helpful for this if you just want to play with that. If you've ever heard of things like Dragon Ruby, which is like a game toolkit for Ruby, I've heard people building up little like D &D style apps in Dragon Ruby where they'll build just like a simple like drag and drop like map editor kind of deal just for fun. And you end up being like, oh, cool. Now three people have access to like this little drag and drop. map editor thingy and it's you know rough stages because you're just building a toy app for fun but now you can have this like interactive map that you know you can add and extend whatever you want could you probably build this in rails as well but like you can just play with things and if you figured out how to do that that's a great talk to then talk about how do you build like 2d textures into like a game engine right yeah i i started playing with dragon ruby maybe about a year ago it's been a while since i DAVID HILL i i started playing with dragon ruby maybe about a year ago it's been a while since i not consistently like i moved and things happened where like i had to set it aside for a little while but yeah playing with dragon ruby was really fun and you know there's the the kind of the The perspective technique where you've got like different layers of the background that move at different speeds. So it like creates this illusion of depth. I never realized that there was a term for that before until I started trying to figure out how to do it. And like I asked, you know, I asked an LLM. It was like, you know, I know this technique exists. what it like how do i do this what is it called is like oh that's a parallax effect and this is how you do it it's like oh there's a name for it that's great and then like yeah i start building a parallax you know effect into dragon ruby just to be like here's a background and a foreground and they move at different speeds so it looks like things are you know very three -dimensional even though they're very two -dimensional that was a lot of fun learning how to do that KYLE D'OLIVEIRA a lot KYLE D'OLIVEIRA And like that process, you probably learned a whole bunch in addition to having fun, right? Yep. And so I've absolutely heard talks already about like from Dragon Ruby, like how do we build various things and just get started here? But there is an example where you can build it further. And so, you know, just talk about things that you like, things that were fun. You'll usually find some sort of topic that is really interesting that I'm sure somebody could learn about. Nice. Awesome. DAVID HILL Is there anything else you'd like to talk about or share before we wrap up here? KYLE D'OLIVEIRA I feel like these are always one of those moments where people are like, what's on your mind? And my brain just turns off. I'm like, I don't know. I don't think I have the same reaction. DAVID HILL same reaction. It's like, I don't know. I was just talking. What else do you want from me? DAVID HILL Where can people find you online if they want to see more about what you're working on? KYLE D'OLIVEIRA So, I mean, I don't have a huge internet presence in terms of like Twitter or X or Macedon. You can usually, I have a profile on Ruby Events that has all of my talks. And so there'll be a list of all the links that I've done there. And I usually link all of the podcasts that I have been on as well. And then otherwise, I'm just on LinkedIn and I am part of a mentorship thing. with a group called Mentor Cruise trying to just offer some mentoring to people trying to learn Ruby. DAVID HILL I haven't heard of this one before. Let's talk about that for a second. Mentor Cruise? What is that? KYLE D'OLIVEIRA So Mentor Cruise is kind of a site where you can connect mentors and mentees together. I was a little bit more active on there outside of the last year, but usually I take people... are interested in learning more and so there's usually a little fee associated with them for me i like to keep it relatively cheap for people just as a as a way to like enough that people feel like there's a bit of an obligation and they will learn but not prohibitive because i want more people to be able to have access to that and sometimes just talking about like how do we prepare someone for an interview they've got a technical challenge they want to just talk through things there's a lot of content available on the site and they're sure there's some that are similar and this just lets people kind of connect to people and maybe see if they can find someone that could do some mentoring for them for a problem that they're really thinking through to help them with their goals. DAVID HILL Oh, cool. I have not heard of this before. That's very awesome. I like that. DAVID HILL Very cool. DAVID HILL And I lost the tab that I had the notes in. It's like looking at mentor crews. KYLE D'OLIVEIRA Yeah, that's fine. You're introduced to something new and then all of a sudden you get distracted. DAVID HILL Yep. DAVID HILL Awesome. Well, thank you for coming on the show, Kyle. I'm really looking forward to seeing your talk at RubyConf. KYLE D'OLIVEIRA Yeah, thanks for having me. It was a great pleasure to chat with you. DAVID HILL This has been the Ruby on Rails podcast. It was a pleasure talking with Kyle de Oliveira today. We'd love to hear from you. If you have comments about this episode, send an email to comments at the ruby on rails podcast .com. You can include a text comment or attach a file from voice memos or Google recorder, and we'll respond to some of them in a future show. I want to say a special thank you to Mike, our wonderful editor over at red drum creative for making us sound like professionals and to judo scale for sponsoring this episode. Thanks for listening.