
Rails Developers Survey: Continuous Deployment Trends and Emerging Tools - RUBY 670
Welcome back to another episode of the Top End Devs podcast! Today, we have an exciting lineup featuring our host Charles Max Wood and special guests Robbie Russell from Planet Argon, along with panelists Ayush Nawatia and Valentino Stoll. This episode dives deep into the insights from the latest Ruby community survey conducted by Robbie Russell.
Show Notes
Welcome back to another episode of the Top End Devs podcast! Today, we have an exciting lineup featuring our host Charles Max Wood and special guests Robbie Russell from Planet Argon, along with panelists Ayush Nawatia and Valentino Stoll. This episode dives deep into the insights from the latest Ruby community survey conducted by Robbie Russell. We explore topics such as the rise of Stimulus JS in the Rails community, trends in deployment practices, popular tools and services in the software ecosystem, and the everlasting debate between monoliths and microservices. Robbie also shares the fascinating history and evolution of his widely-used open source project, Oh My Z Shell, and gives us a glimpse into his work with Planet Argon. Stay tuned as we uncover intriguing details and valuable insights from the world of Ruby and Rails development!
Transcript
Charles Max Wood [00:00:04]:
Hey, folks. Welcome back to another episode of the Ruby Rogues podcast. This week on our panel, we have Ayush Nawatia.
Ayush Nwatiya [00:00:12]:
Hello. Hello.
Charles Max Wood [00:00:13]:
We also have Valentino Stoll. Hey, now. I'm Charles Max Wood from Top End Devs. And this week, we have a special guest. We have Robbie Russell from Planet Argon. Robbie, do you wanna I I don't know. I'm I'm like, where do we even start? You know, Oh My Z Shell or,
Robbie Russell [00:00:30]:
What's Oh My Z Shell? No. Yeah. Well, hi. Nice hi. Thanks for having me on today. Good morning. Good afternoon, everybody. But, yeah, I run a company company called Planar Argon.
Robbie Russell [00:00:41]:
We're a software consultancy. We've been around for twenty almost twenty three years now. Part of the Rails ecosystem for just over twenty years now, and, we help companies with existing Rails applications to make them better and more maintainable. We do a lot of consulting work in that space. And I also am known have for having created all my Z Shell once upon a time and which is a open source configuration framework for Z Shell if that's something you like to use on the command line and an open source contributor for about twenty five years. I'm also the host of the maintainable software podcast where I interview people about best practices when it comes to taking care of older legacy applications across them. A lot of different frameworks and text access, not a Rails specific, but there's a lot of Ruby on Rails related contact because that's my orbit that I exist in. And I also play guitar in a in a instrumental rock band called the Mighty Missoula.
Charles Max Wood [00:01:37]:
Cool. I didn't know about the rock band.
Robbie Russell [00:01:40]:
There you go.
Charles Max Wood [00:01:40]:
I've admired you from afar for a long time for all the other stuff. So, yeah, it's exciting to have you on. We we brought you on to talk about I got an email from you. I think I'm on an emailing list somewhere, and it basically said, that Stimulus JS replaced here we go. Stimulus has dethroned React as the most popular JS library for Rails apps. And, so then I went and looked at the survey, and that that was kind of interesting. I wanna ask you about all of the other things, though. So Sure.
Robbie Russell [00:02:15]:
Yeah.
Charles Max Wood [00:02:15]:
Let's go ahead. I I just wanna get a little bit of background. I mean, I use OMI C Shell, and it's OMI helpful. And so, I'm I'm curious what the story is behind that. And then I'd also like to talk a little bit about Planet Argon before we get into the survey.
Robbie Russell [00:02:29]:
Yeah. Yeah. That sounds great. So OMI C Shell, I first is we celebrated fifteen years that I since I released it back in I think it was August now. It was fifteen years ago. So 15 in a couple extra months now. I have been using Z Shell for a couple years. A lot of peers in the Ruby ecosystem at the time, we would all share, little configuration ideas for how to use Z Shell and optimize it.
Robbie Russell [00:02:54]:
And Git was kind of a new thing at the time, so doing things like having your git branch in your prompt was kind of a really new cool idea, and I think it helped us I think it was just good timing overlap with, trying to wrap our head around, like, local branches at the time. But it so but, basically, I had compiled this crazy Z shell configuration file that half of it I kinda understood, half of it I probably didn't because I was just copying and pasting and trading things with my friends over IRC channels or old websites like pasty, which was kinda like a gist before GitHub existed. And I would be parent program with one of my coworkers at my company on on a thing, and we'd be on their computer. And all I would get frustrated because all of my muscle memory wouldn't I remember how to do how to fully write all the commands. There's a lot of shortcuts and aliases and little optimizations that I had added to my own configuration file. So I was I find myself just feeling frustrated with myself, and so I'd be like, hey. Why don't you use z shell and just copy my configuration file? And then and then I'll show you how you can be quicker at the command line as I feel like a lot more efficient now. And so I would kind of encourage my team to do that, and a few people would take take me up on that, but several people didn't.
Robbie Russell [00:04:05]:
Like, one person particular named Carlos on my team, he was very resistant to it because he didn't he wanted to understand what the config file did, and I was he's like, well, walk me through it. I'm like, I honestly can't because because I don't really understand a lot of this gibberish Z shell sent to text does. And so we kinda you know, we we butted heads a little bit, and he wouldn't take me up on the idea. So I decided one weekend, I'm like, you know what? I'm gonna I'm gonna try to document my config file. This I'm gonna go through and just add some comments. I'm gonna, like, look up the documentation in the z shell syntax, and I'm gonna try to understand this. And then as I started doing that, I started, like, refactoring it basically and moving it. And I'm like, well, this is, like, a really big file.
Robbie Russell [00:04:44]:
What if I made I should probably use some version control. So I'll put this in a git repository, and I started making it, like, separating out this big config file into several smaller, messy config files. And then I slapped the name on it, and I called it Omic shell because it was a playoff of another project that I had worked on a couple months before with a different coworker. We didn't really put a lot of thought into that either. But I created, like, a read me with a install guide, which was basically like a git clone of this repository that I created, and, and then you could use my config file. And so I felt like I just elevated it, but that was, like, maybe a handful a few hours worth of work of cleaning up that file and turning it into this new repository. Threw it up on GitHub, and then I dropped that link. I don't remember if we're using Campfire or some other
Charles Max Wood [00:05:28]:
Mhmm.
Robbie Russell [00:05:28]:
Chat tool back in the in back in 02/2009. Dropped it in our Teams chat. Everybody installed it on Monday. Victory. I won. Everybody now had my config file, so I would go to the computer and have it all the same thing. So that was my goal was just to have everybody in my office kind of have the same ish config so that I could show them how to feel like a superhero on the command line, and I wouldn't have to remember how to, like, do every like, write out all the syntax for a lot of the obscure commands that we were running. But then so at the thing that a lot of people know about OMA's is that it comes with a lot of themes and tons of plugins, and, like, none of that was remotely on my idea.
Robbie Russell [00:06:07]:
My my wasn't even something I had considered. That next day, one of my coworkers, Gary, said, how do I change the colors? I was like, why would you wanna do that? My color choices are perfect. And I was like, well, here, you can go in this file. I moved, like I think I had, like, colors or prompt file configuration files. I'm like, you can change the colors in here, and here's, like, the syntax for that. So we started doing that. He started making changes. And then other team members wanted to add contribute their own little shortcuts and little functions and aliases as well.
Robbie Russell [00:06:39]:
And so we were kind of working together on this, and Gary couldn't do a git pull and git push cleanly because he had changed the file, you know, a git conflict. And so we're like so we're like, kinda like, well so we had, like, stash it and then pull the changes and then reapply them. And I'm like, well, this doesn't feel very sustainable. Because because then another coworker is like, I wanna change the colors too. And so I was like, well, what can we do here? And and I was like, oh, I know. I'll just move my prop file into its own thing and call it Robbie Russell. We'll call it a theme. These are themes.
Robbie Russell [00:07:11]:
Gary has his. I have mine. Carlos can have his. Allison can have hers. And so it created the concept of themes, which became like a configuration option. And so then I met I mentioned it on my blog and Robbie on Rails back in the day. And so it was mostly within the Ruby ecosystem. And then about a month later, we started getting contributions, but about and a lot a lot of themes started popping in by other people as well.
Robbie Russell [00:07:34]:
So that was kind of like a fun thing, I suppose. Like, hey. We have this real repository. We can inspire each other. And about a month later, someone reached out and said, hey. This is really cool, but I'm a Python developer. I don't need all this Ruby stuff loaded up when I when I run this. Like, I want to use the prompt stuff with all the Git stuff, but I don't need all the Rails and Ruby stuff that you have loaded.
Robbie Russell [00:07:53]:
So I was like, oh, that's interesting. I don't want all that pipe Python stuff loaded when I use it, so maybe we'll call these plugins. And so I moved all the rails stuff and Ruby stuff into its own thing, and we had Python stuff come in. And then that just opened the the floodgates for other people, but, like, oh, I got this thing for my framework or I have this other tool that I'm only using. And so this stuff kind of organically evolved as the community started using it and pitching ideas. And I was like, well, here's a way to kind of organize that. We'll just throw these in different directories with different may kind of enable these things. And that's that just kinda snowballed into this thing that's kind of evolved over the last fifteen plus years where we've had several I can't remember the number of I think we've had I can't remember how many couple of We've had more than a couple thousand contributors directly to the core project contribute code, and it's one of the most, like, starred projects on GitHub.
Robbie Russell [00:08:46]:
And I I it's kinda wild, but and I don't make any money with it. I sell stickers and T shirts that that that's fun and but it's it's always been this kind of, like, fun little open source thing that I can occasionally spend some time thinking about, but it doesn't occupy a lot of my brain space despite how wildly wide range and and popular it has seemingly been.
Charles Max Wood [00:09:09]:
That's awesome. I love it. Yeah. I also wanna just, talk a little bit about Planet Argon. You guys have been around for a while. Was this before or after OYZ Shell and
Robbie Russell [00:09:20]:
Before. Yeah. Yeah.
Charles Max Wood [00:09:21]:
What story with yeah. How that got started?
Robbie Russell [00:09:24]:
So I actually started playing Argonne, see, back in 02/2002 as a what I would because I was I had a day job, and I was like, I wanna do we work with, I worked at a company doing some software development, and we were, that company was a dot net shop. And I was really inter interested in open source, and nobody, like, at larger companies was really hiring open source technology people that often. And so I love PHP. It was real and had cofounded a Linux user group here in Portland, Oregon. And so I was already kind of doing a lot of fun open source stuff, and so I was, like, trying to translate, okay. I do this stuff in dot net. How do I do this in PHP? And then I started, like, you know, maybe I can get some freelance work on the side, and so I decided to incorporate that as Planar Argon. Just thought I would make it sound like I'm bigger than just me.
Robbie Russell [00:10:12]:
It was like me and then my, partner, at the time. She was a designer. So we would so she would work on web design stuff, and I did a lot of back end development. So we collaborate on stuff. So she had her company, I had mine, and so we so I was like, I'm gonna call mine Planet Aragon, which was a reference to a fictional book or a fictional place in a, Tom Robbins book called, Select a Woodpecker, which is where redheads came from. So it had nothing to do with anything. It wasn't some clever idea about gases or, you know, the scientific chart there. It was literally just like a it's me.
Robbie Russell [00:10:46]:
I have red hair, Plano Oregon, goofy little thing. So I did that for a couple years doing, like, side projects. In 02/2004, I quit my my last job to work full time on Plano Oregon just as a you know, freelance consultant. And then in February late two thousand four, beginning 02/2005, I got introduced to Ruby and Ruby on Rails and started doing that. In 02/2004, beginning of '2 thousand '4, I started blogging as Ruby on Rails. And so this was five and a half years before OMAZ Shell existed. I was part of the Rails ecosystem in doing stuff. So I think OMAZ Shell just kind of culminated out of that community.
Robbie Russell [00:11:24]:
So, yep, it was it's been around for a while. What we work on a lot now so back then was a lot of, like, new start ups wanting to use Rails because it was kind of, like, this new hot thing for projects that we learned how to basically, I went from that freelancer space of me working on by myself with my designer, partner at the time and to all of a sudden, like, some really large projects started coming our way that would take more than me to be able to do it. And so one of those first services that we had was offering hosting services to Ruby on Rails developers because there wasn't a lot of affordable hosting options unless you spun up your own VPS or something. So I had been offering PostgreSQL's, hosting for comp for developers and, like, PHP five develop or environments for hosting because I I had a lot of experience with, like, running servers and stuff like that. So that was part of our services early on was hosting, even going back to February. I think we started doing that in 02/2003, site for a lot of the projects because I would then host those projects. So So we are one of the first companies in the Ruby on Rails ecosystem to start offering hosting at kind of, like, an affordable price point, and and we give people, like, shared hosting environments and made that kinda work. And then so that allowed us to broaden our, exposure in the community early on.
Robbie Russell [00:12:38]:
And then but a big part of what we were trying to do was just focus on developing sort of projects and stuff like that. And then a couple years into that, we started getting approached by companies that said, hey. We had a couple freelancers build this app for us this last year. They're no longer available. They got full time jobs somewhere else. Can you take over these projects? And one of the great things about Ruby on Rails was that it was there's a lot of consistency between projects. So we found ourselves being able to, like, jump in quickly to, existing projects, and that became our niche over the years that now we quite essentially take over projects that are for companies that don't necessarily need to have two or more full time software engineers on their team in house. And so the other option is maybe having, like, a freelancer or two, but then maybe they do that, but the freelancers kinda come and go, and they're like, we have to kind of restart this process a lot.
Robbie Russell [00:13:26]:
So we end up owning a lot of projects where we're the primary development team for, like, five, ten years with some of our clients, some of them over ten years now. We're we're their dev shop, but we're maybe doing, like, eighty hours a month on those projects. You know, it's kind of like a we're maintaining those things for for the long term because they don't necessarily they're not trying to become a company. It's like an application that helps fulfill part of their business, but it isn't the business. So it's like there's a lot of those types of applications that exist. So we're kind of well tuned to come in and own those types of projects. But then we also do a lot of consulting and coming in with companies that have their own engineering teams and helping them unblock themselves when it comes to, like, that there's been a lot of turnover in those environments, and maybe some of the original developers have, you know, left and some of the new developers aren't sure how to, like, make choices about, hey. We're still running on Rails four.
Robbie Russell [00:14:17]:
We would love to get to seven, eight, but how do we get to five and which how do we kind of navigate this, and what what frameworks and front end things should we be exploring now? And so we try to help come in and, like, help coach teams on how to navigate some of that stuff and cleaning up technical debt and deal with overdue upgrades, performance improvements, stuff like that. So that that's another part of our our business as well.
Charles Max Wood [00:14:39]:
Nice. Okay. One more.
Robbie Russell [00:14:41]:
Yeah.
Charles Max Wood [00:14:41]:
May maintainable podcast.
Robbie Russell [00:14:45]:
Yeah. So maintainable podcast, just recently recorded my two hundredth episode of that. It's an interview style format.
Charles Max Wood [00:14:51]:
Good positions.
Robbie Russell [00:14:52]:
And one of the things I set out to do was I felt like there's always been a lot of good quality conversations around what's going on and new in the software industry. New people always, like, talk about new stuff. Mhmm.
Charles Max Wood [00:15:06]:
And
Robbie Russell [00:15:06]:
I was like, but a lot of software developers' experience is showing up to a job where things are already there, things are already in motion. And I think as a, industry, we've done ourselves a disservice by branding ourselves as being these, like, creators, makers. I'm like but reality, most of us are actually mending and taking care of existing stuff and trying to just make it a little bit better today than it was yesterday, leave things better off, and, like, that's good work to be done. And I've just seen a lot of developers over the years struggle to kind of, like, chain like, reframe that because I think we've but, anyway, so so I thought I thought it would be interesting to have conversations about what it's really like to work a project on projects day in and day out that have been around for a really long time and how to make incremental improvements because that stuff is hard and there's a lot of people dynamics. There's technical dynamics at play. And so I wanted just to catalog a lot of conversations that I thought would be relevant today, but also in ten years, twenty years from now. Like, I don't feel like these are conversations that will date themselves. So I'm trying to be very intentional about having conversations with people about how they navigate, how they've overcome or sharing some of the painful stories about, like, yeah.
Robbie Russell [00:16:22]:
We tried to do a rewrite, and that blew up in our phase. Because I'm a big advocate for not rewriting unless it's the very, very last possible step you can possibly do. So I'm always like, this is there's gotta be a better way to think about how you approach these software projects rather than just dreaming that one day, we'll finally get to rewrite this thing, and and then it's all gonna be better. We'll never have all these problems that we have today, which is complete bullshit. So
Charles Max Wood [00:16:45]:
Right. Cool. Well, I I have to say I've listened to the Maintainable podcast for a while, and you always have terrific people on that make me think about how I do it. So Yeah.
Robbie Russell [00:16:56]:
That's great. Yeah. I have it's it's and it's also just a good excuse to skip to have conversations with people that I admire on a regular basis. I'm like, this is that that's my favorite part about it.
Charles Max Wood [00:17:06]:
Awesome. Alright. Well, I'll quit fanboying, and, we'll we'll we'll talk about the survey. So Yeah. Yeah. So do you wanna just explain I'm always curious. I used to just be like, alright. Well, let's just get into the meat of what's in the survey.
Charles Max Wood [00:17:20]:
Right? And and I think that's important, but I like to get into the methodology a little bit. Right? Like, who who did you reach out to? How did you market it? What kind of people did you expect to take it? And and that kind of the thing so that we can get an idea of, okay, this is the community it really reflects.
Robbie Russell [00:17:36]:
Yeah. Yeah. That's good question. So just for some historical context, the the survey we've been running the survey as long as Omenz Israel's been around. So the first time we did it was back in 02/2009. So I think we've done it eight times now. Pretty much it's been every other year except for, I think, for the first couple years, we did it, like, every year. But the original version of it was we wanted to get a lay of the land of because we were part of our business was doing hosting.
Robbie Russell [00:18:01]:
It was like, how how was the ecosystem changing in terms of how people are thinking about deploying and hosting their applications? Because we were providing those services and cloud services kind of this new thing, and we're like, is that where everybody's moving? Should we get out of this part of the business? We ended up using that survey result that first year to decide to sell that part of the business off. And so we're like, okay. We're at we're we're not gonna be able to keep up. Let's just let them. I'm I'm done going to the colocation and stuff like that. So we use a survey to make a business decision, but we decided we'd publish all the results for everybody, make it because we were like, there's a lot of other interesting details in there around, like, what third party services people are using and, like, we're using for error monitoring or performance tracking. Things just, like, getting get a sense of, like, how other people are doing because we if you people can go online and ask those questions, you know, in IRC chat, conversations back in the day, or some forums or Stack Overflow or whatever. And I was like, we kinda wanted to just, like, let's get a broader range of people.
Robbie Russell [00:18:58]:
So we've been doing this ever you know, every other year since then. So this last year when we did it, our typical approach has been, one, reach out to people taken in the past. And so a lot of those people came to us from social media, following us at different blogs and stuff like that. Reaching out to the mailing like, the rails rails talk mailing lists and other groups that were, you know, were around at the time. But so for this last year, we did put a lot of energy into working with the Rails Foundation, in particular, Amanda there. And so, she had approached me the year before when she first got hired at the Rails Foundation to talk about the survey. She act that was the first time I actually spoke with her about it was she reached out and said, hey. I wanna talk to you about this survey and the Rails Foundation.
Robbie Russell [00:19:39]:
I was like, oh, no. They're gonna they're gonna start doing this themselves, and I guess we're no longer gonna get to do that. That's that's what I was preparing for. Like, I guess we're kind of out of the business of doing this, and it's a lot of work to run the surveys and stuff as well. So it wouldn't be the worst thing in the world. But, through that conversation, I was like, oh, they have very different things that they're looking for than we do. But but we did decide too that we would go to the Rails Foundation. So they took that to the board and be like, what sort of other topics and questions might they, the other foundation, members, like, you know, Shopify's and and Doximity and companies like that might be interested in hearing about the ecosystem right now.
Robbie Russell [00:20:15]:
And so we we we got some new questions and topics, and a lot of that came came up. So we ended up adding a lot of new questions related to education and, like, how people are learning about rails or how they're what type of content are they consuming to level up as developers, and is the assumption that video stuff is the future actually resonating with the majority of developers so that look. We can get into some of the the stats there. But in terms of the reaching out to people, it was a lot of hitting the social medias. I emailed everybody that I could you know, I had reached out to in the past, and to to have anyone that I I knew that's written books in the last few years about Ruby or Rails related themes or people I've interviewed that happened to be part of the ecosystem, like, out to them, emailed them, like, hey. Can you blast this to your group or your mailing list, anyone that runs a mailing list? So we have, like, a big checklist of places that we we reach out to, but it we we do wanna make that as broad as possible. So it's not, it's not just, like, maybe one company that's, like, Shopify drops it in their internal chat tool, and then it's just, like, half the you know, the people are are just Shopify employees filling it out, and all the data looks the same. So so and and so I'm always worried that that's gonna be a thing because it wouldn't take a lot for, like, something to drastically skew the data when we've got I think we had a little over 2,700 participants, which is the most we've ever had.
Robbie Russell [00:21:37]:
Not a lot of people wanna fill out a 60 question survey, you know, that often, so it takes a little bit to go through that process. But, but that's where we're able to end up. So, did it answer your question enough, I suppose?
Charles Max Wood [00:21:51]:
Yeah. Yeah. I think so. I kinda wanna pull Valentino and Ayush in. Did you guys get a chance to look at the survey? And I'm curious, was there anything that stood out to you? Because I I don't know which section to really start with. Well, I I I have some ideas, but I wanna hear from you guys.
Ayush Nwatiya [00:22:09]:
Yeah. I think I looked at it when the results first came out because I'm I'm fairly sure I actually did fill it out. And I can't remember whether I did, but I'm, like, 99% sure that that I did fill it out. Couple of things that caught my one was obviously the the fact that stimulus is dethroned React, which made me quite happy because I know the React.
Robbie Russell [00:22:33]:
That's how you really felt.
Ayush Nwatiya [00:22:36]:
And, yeah, the the other thing I found quite interesting purely from a selfish point of view was, how people learn Ruby on Rails because, hopefully, I've written a book as well. So I found it quite interesting to just see how how, people are learning. And there's, yeah, it's interesting to see that, more people kinda watch videos and tutorials rather than, read a book or something like that because, yeah, I guess, horses for courses and stuff. But, and I prefer text based rather than video, but it's, it's always interesting to know, like, what other people are, are preferring, especially if you're trying to, sell an educational product. So those are a couple of things that kinda I find particularly interesting out of the results.
Robbie Russell [00:23:25]:
Quick quick thought on that one. When it comes to, like, the I think that that's an interesting thought there around, like, you you read books. I skim books. I'm not like, I'm I I think I'm actually slightly dyslexic, and so I'm not it's always been really difficult for me to get through a lot of text based things necessarily. But one of the one of the other questions we did ask, though, was, like, what types of education and content helps you learn most effectively? And video stuff was not it's like the fourth I think it was, like, tied with books. So, most people said that they find blog posts and, like, the rails guides to be the most effective way to learn, but they're consuming a lot of videos. So it's like it's is there are they learning from the videos, or are they just spending more time watching videos and, because it's an easier way to consume that information maybe? I don't know. But video is an interesting one, but I don't know.
Robbie Russell [00:24:19]:
Again, this is what the people are kind of reported. So it's so they're all really closely kind of aligned in in the stats as well. So, like, there was no, I think, huge surprises to me there. But, otherwise, people saying that, like, working on, you know, the documentation, things like that. So which is, I think, an interest a good good thing that came out of this was, like, the the Rails Foundation, like, Amanda and then they had I know that they were working on a number of projects related to video content and the new guides, like re redesigning the way that all looks and and revisiting a lot of the content there. And so there's a lot of energy trying to be on, like, let's do video. Let's also do this. We kind of, like, have to come at it from different approach because there are just people do learn different people learn differently.
Robbie Russell [00:25:06]:
And so it's like, how do we make this as as, inclusive as possible?
Ayush Nwatiya [00:25:12]:
Yeah. I'm looking at that question now about learning most effectively. And, yeah, that that's interesting. I I wouldn't have expected that that mismatch there. But I guess, like, for me, we're personally with videos, I I I tend to zone out sometimes, and then I'll come back a minute later and, like, okay. Crap. I've forgotten. I need to rewind and watch this again, and then you can't command f a video.
Ayush Nwatiya [00:25:34]:
So that those are my two biggest gripes.
Robbie Russell [00:25:37]:
That's true. Yeah. So You can't, I mean, in the same way, like, I was reading a book last night and before I went to sleep, and I was like, got two pages. And I'm like, what did I just read? I have no I've seen the words. I don't know what I just read. So let me start that again. But, you know, it's interesting. Live streamers came 2% of people find that the most effective way to learn, or or podcasts.
Robbie Russell [00:26:01]:
And so are podcasts educational, or are they media consumption? Or, you know, it's just kind of, like, auxiliary information, but maybe is this an educational platform? I don't know.
Charles Max Wood [00:26:14]:
I I think it depends. One other thing that I wanted to point out was that I think a lot of newer folks are going to lean more toward video cast books and maybe the rails guide some. I think as you get more advanced, you start looking more at the blog post and documentation and maybe podcasts to just give you kind of here's what's the latest thing that's out there. That that that was kind of what I got out of it. And so I think you had a lot of experienced folks that they they don't need as much of the walk through on some of the stuff that's out
Robbie Russell [00:26:48]:
there. Yeah. Maybe.
Charles Max Wood [00:26:50]:
They're reaching for the documentation and stuff instead.
Ayush Nwatiya [00:26:54]:
I feel like this is one of the hardest categories to extract something meaningful from the survey. Right? Because, like, I feel like learning, like, you do kind of, like, pick a variety of different things to, like, build up your learning material and maybe different ways that you do you don't think about, and how much they impact you too. Right? Like, I remember, like, really diving hard into rails guides when I was first, like, looking at stuff and, like, doing the rails cast. But there was a bunch of other stuff that I was I was also listening to Ruby Rogues at the time and, like, a bunch of other podcasts that just, like, try and stay up to date. Right? And how much does that influence your learning ability, right, and, like, just be able to adapt to the material that you're learning. It's, like, almost like that, you know, reflective learning that, like, helps, like, harden and make things stick a little better. And so it's like, I always look at the survey and, like, wonder, like, you know, how do you are we capturing everything?
Robbie Russell [00:27:58]:
Yeah. Right? You're you're right. And I think it's always like, how do you try to contextualize this in a way that's these are not, like, conclusive. You know, like, we didn't ask people, like, prove it. You know? Prove that this is how you learn most effectively. It's like it's like in the moment type of, like, responses that we're getting. So we how do we read the tea leaves a little bit, I suppose, but it's not
Ayush Nwatiya [00:28:22]:
It's almost like what they remember most that they think worked best.
Robbie Russell [00:28:27]:
And recent. And it's just amazing. Yeah.
Ayush Nwatiya [00:28:29]:
Yeah. Right? It's still important. I I'm always fascinated by this section, though. Yeah. Because it does change, year after year too quite a bit.
Charles Max Wood [00:28:41]:
Yeah. A couple of other things in the learning
Robbie Russell [00:28:43]:
oh, go ahead. I was gonna say that one of the one of the things I was and I I knew I haven't gotten I didn't get a chance to go, like, pivot the data too too much on this particular one. But the, because we you know, we're able to look at, like, how long people have been working with Rails and then try to look at the data for that. And, like, if I had thought ahead more, I can maybe got some more interesting details for that. But the, I was thinking one of the one of the things is that we know, in the community is just that, you know, this was also conducted, you know, late spring, early summer ish last year summer last year. So, 02/2024. And, you know, there was a lot of layoffs in the year prior. There's not a lot of junior developers getting hired in the community.
Robbie Russell [00:29:28]:
Coding schools kind of a lot of them closed. We used to I used to know that one of our strategies in the past to ask questions to people was to hit the some of the coding schools. They that would get shared around some of them. You know, some of those develop some of the developer, they would share with their their, you know, their their recent graduates or previous graduates. They would share it at you know, like, here, fill out the survey. So so I think there's, like, data I think we got a a good capture of people that are actually working with Rails right now and not too. So that I feel like that's interesting, but we didn't really also have maybe as many junior people participating or maybe because there's just actually just last junior developers, coming into the into the market in the last year or two prior to the, to when we conducted this particular survey this time. But so I don't know.
Robbie Russell [00:30:13]:
It's kind of it's it's always a little bit interesting to see how the data fluctuates a little bit, but also by how little it changes sometimes too. There's a lot of the data that's, like, we're looking. I'm like, how did Linux usage didn't move, like like, a more than, like, a percent or two. And I'm like, what? How despite, you know, like, DHH talking about it all the time or something. So it's just like I'm like, how does this not move a lot more?
Charles Max Wood [00:30:36]:
Yeah. Omakub. Yeah. So, Valentino, was there a section that stood out to you?
Ayush Nwatiya [00:30:46]:
Yeah. I'm always fascinated to see, kind of like I use, you know, where the front end stuff, shifts because that's definitely the thing that changes the most, I would say, over time.
Charles Max Wood [00:30:57]:
Mhmm.
Ayush Nwatiya [00:30:58]:
So it's it is interesting to see stimulus rank so high, personally. And maybe that's just because I've been stuck in a a very fixed, front end for for so long. Maybe I just don't see the the underpinnings there. But but it is interesting to see the stimulus adoption over time. Just get such great support.
Charles Max Wood [00:31:23]:
Yeah. It's it's awesome. If anyone's looking to figure out how to do stimulus with rails, I can't recommend Ayesha's book highly enough. So, yeah, I mean, on that note, though, I did notice that, like, you still got React, jQuery, Vue, and Next. Js and Angular. Js is kind of the next five, and then you get to an Alpine. Js, which is a minimalist framework kinda like stimulus. So, of course, then I kinda left because I saw backbone and handlebars on here too.
Charles Max Wood [00:31:59]:
But
Robbie Russell [00:32:01]:
These things don't go away. No. They don't. Well, a lot of I mean, in in something I, I gave a talk at Rails World about, dealing with, like, technical debt and Rails applications, a lot of thing. And, like, a lot of projects have multiple
Charles Max Wood [00:32:17]:
Mhmm.
Robbie Russell [00:32:17]:
JavaScript libraries in them because there's a tendency to, hey. We wanna work on this new set of features. This might feel like a perfect opportunity to experiment with that new framework we've been itching to play with. So let's do use it over here. And so they'll add it, and they'll start working on the new functionality and new features because it's easy to sneak it into that with the the product. They're like, okay. We're gonna do this over here because it's a lot harder to sell them on re retrofitting some existing stuff. And so they do that, and they kind of, like, the first project or two that they do is kinda like they're trying to learn on the job type of thing.
Robbie Russell [00:32:49]:
And they're like, well, we learned some stuff, and, like, the next time, we'll we'll come back and refactor it. Maybe they do or they don't. And then a year or two later, they're still working on this stuff, and then they introduce another one. And then there's another one. You know? Then they like, well, we'll keep the admin area like this and this area, and then we have this other new section. We'll use this thing. And so then you got, like, three or four different frameworks in your your, you know, your your Rails application ecosystem, and you're like, well, which one's the better one? It's like, is it the newer one, or is the one that people complain about the least? And so one of the things that I've been advocating for teams to consider is I dare you to if you really wanna use that new thing, do it on your existing stable features first because you should already have really good healthy test coverage there. Mhmm.
Robbie Russell [00:33:31]:
And if it doesn't work and you're not figuring it out, you can just get reverted, and things are still working. But but try to force yourself to implement it on existing stuff. If that's too hard, I guarantee it's not gonna get easier two years from now to do that make that change. You're just gonna stick with it, and you're gonna have this problem where you're not able to upgrade different things or you got all the JavaScript chaos going on in on your front end framework. So easier said than done, but I I'm that's that's that's the thing that I'm trying to pitch peep teams to try to consider doing is, like, take a hard look at the do the hard thing. If you're not willing to do it, stick with the framework that you're already using because that's you're gonna be stuck with it anyway. So
Ayush Nwatiya [00:34:13]:
I'm always quite reluctant to try and rewrite features that already exist using something newer. So, well, I completely agree with your approach of trying to introduce something new to some the feature that already exists. But where what's the judgment call there? How do you decide that this is a new thing that we want to try and we're gonna rewrite something that already works against well, that feature already works. I don't see why we should spend time rewriting it using something new.
Robbie Russell [00:34:45]:
I think the typical developer answer, it depends. I think the the the challenge there is, especially with soft some projects where you know that they're your team's already starting to divest themselves. And so, like, it's interesting because I'm a big, a big advocate for not rewriting. And so, like, well, I guess I'm advocating for, like, micro rewrites, you know, in in certain areas. And so it's just why do we treat, like, a front end framework differently than we would with, like, say, a Ruby gem that's no longer gonna be supported? We need to migrate that. And so if the lift is so high, then I feel like we're already admitting that the front end is just gonna be too much of a mess that, like, we're when we make a decision, we're making a really long term decision with this. And how how how can we approach that a little bit more? Like, are there ways for us to refactor parts of it, you know, like, or rebuild parts of it and figure out how to glue things together? Like, I've I've, you know, worked with a number of teams that in the consulting capacity where they've done, like, these migrations where they're moving from Angular to React or something, you know, because Angular one to Angular two wasn't necessarily, like, a good upgrade path for a lot of people. And so that could happen with any of the frameworks that, you know, we talk about.
Robbie Russell [00:36:06]:
There's always a chance of that happening. But for these existing stable features, it's just more of, like, if your team is trying to experiment and learn, just learn on something you already know how it's supposed to work from, like, a user perspective. And, like, can you experiment with that and test out if this idea is gonna work well before you start building on some new ideas and learning on the job with a new framework? Because a lot of these new frameworks don't necessarily have a lot of good documentation initially, or they have some documentation, but there's not a lot of real world experience yet. So you're learning. You're sharing as you go. But that's but the story of the front end has been we're all learning on the job, and it doesn't get it's been difficult to go back and clean things up. So, I'm just trying to, like, maybe there's a different can we experiment with some different approaches? Because that has been the go to approach. New don't break the existing stuff because it works great.
Robbie Russell [00:36:58]:
But if it's but that's the thing. If it's gonna break, how do you make it less breakable? And so I don't I don't this this is the hard this is the hard part of our job, I suppose, to try to figure this stuff out. And so
Charles Max Wood [00:37:11]:
Yeah. It reminds me a little bit of, a scientific experiment. Right? So you have these studies that are done. Right? So they have the control, and then they've got, kind of their experimental set. And, typically, the best practice is is you only change the thing that you want to see what difference it makes. Right? And so if you're doing a new problem and inventing a new solution and using a new tool for it as opposed to doing a well understood problem that's already been solved with the tool you already have, yeah, then you have a a real good comparison to see where where the trade off is.
Robbie Russell [00:37:50]:
You might find that, you know, if you're just rebuilding, like, a small part of your application or front end with a different JavaScript, you might be like, all those assumptions we made that this was gonna be way better. Actually, like, it's got some weird things that we didn't quite realize. And is that trade off gonna be okay for us in the future? Or because I don't know because I think the the question is gonna be you start using that new thing on the new functionality. Are you ever gonna go back and rewrite that stuff, or are you saying that those existing stable things are just never gonna change. So that's why you laugh about, like, Backbone. Like, there's plenty of projects out there that are running just fine with Backbone. We work on projects like that. And I can tell you, we tried to do a project for one of our large clients that was the client was like, yeah.
Robbie Russell [00:38:34]:
We wanna move to React from Backbone, and we were working through this big rewrite on the front end. And, eventually, we agreed, like, you know, this doesn't feel like it's we're this this doesn't feel like it's adding on a value to your business necessarily, but, this is fine. But, yeah, we're probably you know, they're like they decided they're gonna end the life that particular project anyways in the in a year or two. So we're we we we, you know, we hit the the brakes on that particular project, but those are if where is the future of these projects gonna be and, like, how how where do you wanna kind of sit with that? And, again, it's it's it's it's a it's a difficult part of our job, I suppose. But
Charles Max Wood [00:39:14]:
Yep. Alright. I'm gonna hit one of these areas that that I was interested in. I'm gonna talk a little bit about deployment and DevOps. I would have picked things like, Ruby and Rails versions, but it seems like the majority of people are close to if not using the latest thing. And so I was just like, oh, okay. Good. It's gotten better.
Charles Max Wood [00:39:39]:
So yeah. So yeah. So a couple of things. One is, what deployment tool do you use? And the other one was, how often do you deploy? And I've always wondered because I haven't really looked at surveys like this that often. You know? Are are people really doing kind of the continuous deployment and then they're deploying, often? Or are are, you know, people mostly on a we're gonna release after our sprint or we're gonna release after our, you know, after our big set of whatever, right, which is always painful whenever I've done that at places I've worked. But it looks like the majority I I I shouldn't say majority, but a large number of people are deploying every day or every week. I mean, it's 37% for every day, multiply multiple times a day, and 36% for multiple times a week, which to me says that they're doing it, you know, possibly several days during the week. And so, yeah, I mean, that's, like, what, 73%? So that I thought that was very, very fascinating.
Robbie Russell [00:40:50]:
Yeah. It always it kinda surprises me when we'll we'll have client engagements. We'll come in to, do some consulting for a short period of time, and those those are one of the usual first questions we ask. It's like, tell us about your workflow for pushing stuff out. And then there's the companies we talked to. You're like, oh, yeah. We did our team deploys hundreds of times a day. You're like, what? Okay.
Robbie Russell [00:41:11]:
So there's that to the extreme of, like, oh, yeah. Like, every three weeks, we push out a thing. You know? I'm just like, okay. That feels like, unless there's some, like, sub one issue type thing we need to push out, like, a a quick bug fix or something. There's an, like, a huge issue going on. But, otherwise, they're like, we don't. And I think it's always contextual also, like, you know, way to pivot that would be, like, if there's a lot of restrictions in their particular industries, like, maybe it's health care, for example, or with companies in health care space. Some companies, like, they have very, very rigorous process around that because they have to be able to have an audit trail that they can report
Ayush Nwatiya [00:41:45]:
to,
Robbie Russell [00:41:45]:
like, governments or something. So it's a lot of weird things that can kind of change that. So then I'm always curious about how they then have to deal with, as a development workflow, queue things up for a bigger bulk or release versus having a lot of, like, these micro small things that can get shipped out. I think it depends on, you know, the context context of that particular business and industry or, and a lot of people just being really, you know, concerned about breaking things, like, if they have a really brittle environment, they need a really rigorous QA process before they push things out or not. So, but, yeah, it's it's it's a lot it's it's it's encouraging because I remember I think if we go back several years, I think that the data for that would be, like, much lower. It would be, like, maybe, you know, weekly would be, like, a pretty common thing or something. But
Charles Max Wood [00:42:36]:
Yep. The other one I thought was interesting was this was the first one where Kamal was, listed as an option for deployment tools. And then there was one continuous deploy r. I don't know if I've even seen that, or was that just a no. It's continuous deployment. It must be cut off.
Robbie Russell [00:42:55]:
Oh, yeah. It's truncated in a graphing chart. Yeah. Front end issue. Yeah. Yeah. You've got Git
Charles Max Wood [00:43:03]:
and Capistrano. And I don't know what people mean by Git. Is that like a Git push kinda like Heroku? Or
Robbie Russell [00:43:09]:
Yeah. It I think yeah. It means which is these are some of the I feel like this is always a really awkward question because we've kept it in because people will if we just limit the this the set of things, like, people will type in other or they'll they'll write things in. So they'll
Charles Max Wood [00:43:24]:
Right.
Robbie Russell [00:43:25]:
We just I think a lot of people don't know the difference between pushing to so they're but I think a lot of that comes down to, like, yeah, like, hero Heroku is just, like, git get push and then pushes to Heroku, without explicitly just saying they're deploying to Heroku.
Charles Max Wood [00:43:39]:
Yep. So, yeah, it said 2.4% of people reported using Kamal, which I I love Kamal. I'm curious to see next time you do this when you ask about what proxy and web servers people are using to see if Kamal proxy comes in on
Ayush Nwatiya [00:43:56]:
the list.
Charles Max Wood [00:43:57]:
Because traffic was the default in Kamal one, and two hundred and three people said they were using that. And so, yeah, I'm I'm curious to see if that switches up.
Robbie Russell [00:44:09]:
I would imagine, but we should see.
Charles Max Wood [00:44:12]:
Yeah. And thruster was another piece of that puzzle too that's on there.
Ayush Nwatiya [00:44:19]:
Yeah. I'm curious too, like, how many people, like, use chat ops still. Like, is is that still the the go to deployment for larger organizations? I'm curious. Like, do you do, like, a a lot of, like, you know, cross referencing post survey, like, to see if, like, some things are related, like, interdependency? Like, you know, the their team size is related to how they deploy or Oh, yeah. Do x y z.
Charles Max Wood [00:44:49]:
That'd be interesting.
Robbie Russell [00:44:50]:
Yeah. We we we definitely could. It's just, how much we've historically would share the all the results with everybody, and we just need to put together a spreadsheet for that. And we just kinda shipped it up before we had a chance to do it this year so people can kinda play around with the data there, because there's a little bit of data scrubbing we have to do for our privacy stuff there, but the, definitely something we can definitely expose for for folks. But what we found is what we've done in the past, like, five people would download this, and then so we're like, how much how much time am I putting into something for those five people? But, there is there is some there's some ways to do that as well.
Ayush Nwatiya [00:45:25]:
You gotta hook it up to an AI chat to make it easy. Copy it deleted. Yeah.
Robbie Russell [00:45:31]:
And hope that hope that it's accurate. Yeah.
Charles Max Wood [00:45:36]:
Deploy GPT.
Ayush Nwatiya [00:45:38]:
Yeah. If you have deployed applications using other languages or frameworks, would you say that it has been easier or harder to deploy Rails applications? And, 16% said it was harder, but 45% said it was easier, and 39% said it's about the same, which I found interesting because, I've done a little bit of PHP years ago, and, when I I could I I found it quite easy to deploy. I can't remember exactly what I did years ago, but it was like, I didn't really know a Linux admin. I still am probably not that good with Linux admin anyway. And when I came to try and deploy a Rails app for the first time, which is something about five years ago, I started using the world to live. I I I I caved and had to use Cloud 66. And even now, like, I would say that, like, I'll just render our comfort for hosting. But if I had to do, like, a bare bones VPS, any Ruby, not just Rails, as to deploy any Ruby web app, but it wouldn't be as easy as I'd as as I'd like.
Ayush Nwatiya [00:46:44]:
So I just found that response, interesting because I I don't know, ma'am. Do you think do you think people responded easier because of things like render.com and Heroku?
Robbie Russell [00:46:54]:
I think yeah. I mean, I think that's very much the probably very much the case, for a lot of people. And we definitely could look at pivoting the data data there to see if we can get some more detail on where people are hosting those applications. But it's interesting, you know, that experience you had coming from PHP to Rails. Like, I shared that experience early on because but that was also why part of what we did as for my company was offer hosting services to make that easier because it was so much easier to host a PHP application because you literally just uploaded some PHP files, and maybe you needed to restart the server. Maybe. Usually not, back then, wasn't such a big deal. But Rails, you know, you're like, well, you gotta run, like, a little Rails server and so that that's running behind, like, your web server and yada yada yada.
Robbie Russell [00:47:44]:
And then but things like Capistrano did smooth that out at one point, and, Heroku made it a lot more accessible to easily quickly deploy. So you didn't have to learn how to manage your own Linux server out there on some, you know, Rackspace or wherever you're hosting your your VPS and stuff like that. So I I I I I hear you on that. Is it harder or easier? I think it's to me, it feels like a lot of I'm I'm I think it's says that, like, a lot of people are like it's, like, 40 39% said it's about the same. You know, so a little less than half and so but harder, I think it depends on, like, how complicated the hosting environment are because the other things I think of related to deploying is also, like, being able to debug things, and I always feel like I feel like one of the things that I really appreciate about Ruby on Rails early on was how easy it was to debug things in production versus with working in, like, say, PHP because we had things like you could SSH into the server and then run Rails console and do stuff. And you're like, oh, this is amazing and, like, didn't feel like we had that kind of functionality at the time. There's tools like that now, but, that stuff was just kind of like a at least for my professional development growth, that was, like, a huge, like, moment. Like, look what we can do.
Robbie Russell [00:49:04]:
And, like but you also had to run, you know, all these different separate processes, and you're spinning up delay job things or whatever, memcache and all this stuff, and you'd have to run all these little services in parallel on a server. So there's a lot more things related to your Rails apps that you have to run as well. It wasn't just, like, PHP. You're like, you run the thing, and then you had a database or something you connected to, and then that was the bulk of what you needed to worry about. So
Charles Max Wood [00:49:30]:
Yeah. I think some of the tools have gotten better, like you said. But with Kamal, I mean, you just you set up the VPS, make sure you can SSH into it, and, you know, sudo run things as root. And then, you just tell it to set it up, and then you tell it to deploy it. So, yeah. I mean, depend it it yeah. A lot of it depends on how your system's set up, but what I found is the tools just keep getting better and better and better.
Ayush Nwatiya [00:50:00]:
Yeah. Kamal, the only thing is it's it's Docker and, like, for I it's I just find it too heavy handed for the kind of stuff I do. Not not for my client work. My client work, obviously, is high enough scale to warrant that. But stuff I do on my own, I just find, like, Docker to be a bit too heavy for that. So I'd quite like just a simple solution, that is in Docker based. And I'm I'm playing around with some stuff. One thing that I'll be quite interested in this year, over the probably this year and next year is if the adoption of Falcon goes up at all because that's kinda designed to be, like, all in one server.
Ayush Nwatiya [00:50:38]:
Like, you don't need to have, NGINX or carry something in front of it. It's it's meant to be, like, right in front of your application, and it's meant to be, like, it's meant to work as a self termination and just work as a web server. So, it should hopefully reduce the number of moving parts you need for Ruby deployment. Be good to see that kinda gain a little bit more traction, I think.
Charles Max Wood [00:51:07]:
Yeah. Robbie, was there a section that stood out to you that we haven't talked about?
Robbie Russell [00:51:13]:
Yeah. The some of the things that I've always found interesting to track is because it just, having been a part of the the Rails ecosystem for such a long time and is a lot of the third party services and tools that we're using. So, you know, this was the first time this last year was the first time New Relic wasn't number one for performance monitoring in the Rails ecosystem since we started asking that question. I think back in, I think Datadog took over in the number one spot. So, otherwise, New Relic had been, you know, the and I think that I I I don't wanna I mean, I know a bunch of people that work in New Relic and and but they've, that company's gonna have been bought and sold a couple times at this point now. But the so it's it's been interesting to see that kind of evolve and just seeing how, like, Century and AppSignal have kind of, like, jumped up a little bit more in the community there. And I always it's to me, it's always kind of fun to watch, like, the big companies and the small companies trying to, like I don't feel like that space has ever, like, been terribly stable for a lot of companies necessarily outside of, like, the people that are at the top there. And so, like, we got error tracking things and, as well.
Robbie Russell [00:52:24]:
So, like, I think on the error tracking, you know, Century's top been the top for the last three times we've run the survey. Mhmm. But it's been interesting. For whatever reason, I've always been fascinated with those particular those topics to see what people are using and because I feel like it's really easy for teams to quite often switch and experiment the different thing. When we come into consulting engagements, we're like, we just just actually, just recently, we're working with a company and doing a a code audit and and giving this doing some consulting with them, and we were logging into the New Relic where they had been tracking their errors for a really long time, and we're looking at all this stuff. And they're like, yeah. We don't really log in that often and go look at the errors stuff that often. We just occasionally I'm like, well, maybe a really easy thing to do is just to switch to a different platform.
Robbie Russell [00:53:12]:
So you have some new data, new fresh dataset rather than just ignoring the old thing and, like, here you can use my so they got set up with, like, AppSignal, like, in an afternoon. You know, maybe you made a few few code changes to make that work, and then it just kind of revitalized the team a little bit to start paying attention to that stuff a little bit more thoroughly. And so that's always a kind of a nice thing to be able to know if there's other tools that you can kinda play with and maybe get a different perspective or look at your data and your the activity in your applications from a different perspective. And so maybe switch over to Honeybadger for six months and try that for a bit and see how that maybe rethinks your how your team approaches this stuff. Those are, like, usually pretty easy things that teams can do to just get some new energy around something rather than being like, let's log in to the thing we don't really pay attention. Or I don't really like the UI or all the upsells that they're doing and not trying to pick on New Relic or Datadog or whatever. Or, like, people are like, yeah. Datadog, they as soon as we sign up for account with them, all of our developers start getting emails and phone calls all the time from their salespeople trying to upsell, and you're just like, yeah, that's gonna happen with this bigger company.
Robbie Russell [00:54:17]:
So, other things that I interesting around, just seeing things like what debugging tools people are using because there's, you know, there's new things popping up in, like, Ruby d Ruby debug is, what, 16% now and, you know, the price at 31%. And so I think if you're just people like, a lot of people will just keep using the same thing that they're already used to using for a long time, so I think sometimes it's just helpful to be aware of these things. Counterpoint, and we know, kinda you mentioned, like, the Ruby versions or, we would ask, you know, which which version of Ruby you're using, when it not not just, like, the the number version, but if we're using, like, Matt's Ruby versus JRuby, things like that. And let me see if I I can't remember what the question is. But, I got, I'm not trying to point out necessarily, but we ended up, because the the the the data from from the survey, the previous years that JRuby was so low in number of counts that I'm like, I don't feel like it's important to keep is that even an option for people to check anymore because there's another box, and let's just let people type it in. And then that didn't make someone all that happy, that I removed it. I'm like, well, I'm not I mean, people can't do that. It's just like there's such insignificant number point that I'm like and they're, well, this is like a so some people see these these these types of surveys as an opportunity to highlight that there are these other tools when they're picking the survey that they could be exposed to.
Robbie Russell [00:55:45]:
So I'm like, I can't list every single jam, every single third party service. It's just like we gotta kind of do our best to try to like, what do we know? Because there's a lot of things about the community and the tooling that we don't we're not even aware of. So this is when we I'm I'm usually learning about new things. I'm like, oh, what's this Falcon thing? You know? I I've heard maybe mentioned, but, like, oh, a bunch of people are using it. I'm like, I didn't even know anything about it. So I think that's always kind of, like, a a fascinating part of the the surveys too. It's it's it's it's it's it's easy. It's not easy to get a lot of people to fill out the survey, but it's easy way for me to learn a lot about what people are up to in the community.
Robbie Russell [00:56:22]:
So kind of selfishly.
Ayush Nwatiya [00:56:23]:
Yeah. I I always wish there's, like, a a Ruby toolbox for, like, services. Mhmm. You know, like, oh, everybody's using this or what what is this? You know?
Charles Max Wood [00:56:37]:
I Yeah. I don't know.
Ayush Nwatiya [00:56:38]:
I feel like that is kind of missing.
Robbie Russell [00:56:40]:
It's it's it's a fair point. If anyone listening wants to create some sort of project to do that, I think that would be good. But maintaining that, keeping it updated is another thing. So
Charles Max Wood [00:56:56]:
Yep. One thing that I picked up from the survey that I didn't know existed was in the version updates. It said, is your team using a dual boot strategy for upgrades? And I was like, wait. You could do that? So I had to go Google it.
Robbie Russell [00:57:11]:
Did you learn much about about that? That that's, there's a couple of really good tools for that that have been used.
Charles Max Wood [00:57:16]:
I found a gem that does it, and I I didn't get much further than that. But
Ayush Nwatiya [00:57:20]:
Yeah. I'm surprised
Charles Max Wood [00:57:22]:
the Boo Boo gem that was from Shopify. It's the one that I found.
Ayush Nwatiya [00:57:26]:
I'm surprised that after all the, you know, conference talks about it, that it hasn't gotten more adoption. It was it's it's not that hard.
Charles Max Wood [00:57:35]:
Yeah. I'm working a project now that we have some performance issues that there are tools in Rails seven two that are not in Rails seven o that we wanna use, like common table expressions and the way we wanna do some of the things with those. So, yeah, I was like, Well, maybe we can use this over there and see how far we get.
Robbie Russell [00:57:56]:
Right. Published this back in right right before Rails World. So I'm trying to remember what are the things that were kind of, like, capturing my mind at the time. But the, the other part was just, like, the just reinforcing the the monoliths, I suppose. And, like, that the number of people that are focusing to building a lot of microservice has been trending down for the past, I think, like, last three surveys, so, say, six years or so. So that's been something that's been interesting to see that there are and I I I know that there are a number of teams just from doing consulting and and and talking with different companies, that are consolidating a lot more stuff and trying to more monolith their app or at least have it be a bit more hybrid than like, because their team's shrunk. And they're like, it's a common pattern that, like, we make a lot of decisions as teams assuming that especially if we're hired during a growth period that we just assume that the team's gonna continue growing. And then so how do we architect our system to support maybe a one day larger team? And we don't often make a lot of technical decisions with the assumption that we're going to be a smaller team in the future.
Robbie Russell [00:59:08]:
Mhmm. And maybe that's actually an ideal state for that team is to be smaller. So how do you wave kind of weigh those two things up? Like, we don't we may not need the team we have today in two years to support this thing, and that's maybe ideal whether the leadership is talking about that out loud or not. That's maybe another issue, but that is a good thing. And so, like, I know a lot of, like, really, really small teams. I'm talking, like, two or three people that are working on software projects that got, like, 25 microservices. And you're just like I'm like, this doesn't seem fun. How many rails upgrades are you doing? And, like, okay.
Robbie Russell [00:59:42]:
And they're like, well, we did this when we were 10 people. I'm like, alright. And and, like, and most of those people aren't even here anymore. So you're just like, okay. Well, this is a a fun thing to kind of re reconfigure and rethink about how you reframe this stuff because, like Mhmm. We gotta make a change. I mean, now we gotta make a change in three different repositories, figure out the deployment process scheduling because, like, these are not this this this isn't feel super efficient. And it's very similar to the front end framework type of issue as well, but microservices and the monolith thing, I think so monoliths are on the the the rise in terms of people trying to keep it keep it in, like, your one repo as much as possible, unless you really, really need to start splitting some stuff out.
Ayush Nwatiya [01:00:27]:
I'm I'm curious how much of that, is thanks to pack Packwork. Because that seems to be a common pattern is, like, making microservices in your monolith with Backwork, which seems to, like, solve kind of both problems that people face. And the people that wanna push for microservices feel at ease because it kind of feels like a microservice in a way. I don't know what your what your thoughts are on that.
Robbie Russell [01:00:54]:
I know that, Eileen gave a talk at Railsword about that and and was kind of a little bit critical of doing a lot of that because there's very because often the the boundaries are not so clearly defined and people are like, stuff is overreaching all the time anyways. I don't know that she felt like she had, like, a good way of solving that necessarily, but, like, I think her perspective is, like, we might have over we're still over separating in a way, trying to optimize, and it's causing other sorts of issues with, like, ownership within projects and feeling like how did how did these teams work together on projects is, I think, another part of it. So there's the the human part of that, and then there's the technical approaches to solving some of that stuff and, like, trying to weigh that up when the teams are maybe not always going to match the technical separation of those concerns. And so, I don't know, it's it's it's it's it's tricky. So but, yeah, Packwork is definitely an option there, for kind of approaching that.
Ayush Nwatiya [01:01:58]:
Yep. Yeah. I like to noise from, just like the open ended comments was, you know, move away from over engineering things.
Robbie Russell [01:02:11]:
Optimize for a smaller team. I think even if it's the same size team, like, if you can make this your software project easier for when half of your team is on vacation to maintain, like, wouldn't that be a good thing? Wouldn't that feel better? I I just think there's probably a lot of things that we could be asking ourselves. Like like like when especially with, like, deployments is is you brought that up as an interesting thing. Like, there is a time when, like, we've I think we there's a lot of benefits. And one of the interesting things about why Kamal's resonating with some teams or some small teams in particular is that it feels like it's giving back some control to the developers a little bit because I think within this era where there's a lot of emphasis on, you know, DevOps type roles and people so there's some specialization that came about, you know, again. And so with this was a very similar pre you know, go back to the early aughts. We had a lot of DBAs, you know, in our in our teams. Someone that would manage the database and be the guardian and the gatekeeper for adding new columns to your table, adding new views or sort procedures, maybe the ones that manage that.
Robbie Russell [01:03:22]:
And we were able to kind of take some of that, and it's like, no. We can do this ourselves. We can we can manage this. And then I think over the last decade or more, we the infrastructure's got a lot more complicated as we move to the cloud, and we can do all this stuff. And so we have a lot of a lot of really large teams really need to deal with a lot of scaling things. A lot of small teams have some scaling issues, but they would then adopt a lot of the same approaches that large teams are talking about because and so a lot of developers are actually so I think back to the question about is it hard or not? It's like some people work in environments like I'm actually not responsible for anything but pushing to a branch and then some magic happens. But asking to change that, I don't even know where to start. What is this Terraform stuff? This Cooper net what is this? Like, how does this stuff work? I don't have time for that.
Robbie Russell [01:04:09]:
I'm gonna focus on Rails. And that I think that's okay in some teams, but it's a it's been a challenge for a lot of developers to feel like I can make changes or I feel it feels very brittle at times because, like, there's some magic stuff that's happening over here, and I don't wanna break the infrastructure. So infrastructure became a challenge. And kinda like just to kinda come back to this, it's just so so those a lot of teams don't feel like they can make those changes. So teams are a lot bigger more because there's just people that are specializing in certain things. And you got that now you have that weak point of, like, what happens if that infrastructure person leaves, Or do you need to keep them around and maybe they're not the the best person to be part of your team? And so I think there's, like, a little bit of things like Kamal kind of, like, pulling that back a little bit. Like, we don't need all that stuff for a lot of software projects. We can do that, but does every project need to be deploying every single commit Yeah.
Robbie Russell [01:05:05]:
Automatically? Like, I that's maybe. I don't know. Maybe maybe you could just wait till someone runs the command once a day, and that would be fine. But there's there's gotta be some trade offs there because you're spending a lot of money on infrastructure stuff and all of those GitHub actions running or whatever you're using for all that stuff. But that is costing your company money, to do that stuff, and it's not free. So figure out the how to balance that.
Charles Max Wood [01:05:33]:
Yep. Alright. Well, we're kinda getting to that point in time where we go to picks. Before we do that, though, Robbie, if people wanna connect with you online or they're thinking maybe they have a project where they need help from someone like Plant Planet Argonne or they wanna listen to the maintainable podcast, where do they find any of that stuff?
Robbie Russell [01:05:50]:
Search for it. I mean, you know how to do this stuff. Links will I'm sure there'll be some links in the show notes
Charles Max Wood [01:05:56]:
or something.
Robbie Russell [01:05:56]:
I'm Robbie Robbie Russell or you can find me.
Charles Max Wood [01:06:01]:
Alright. Good deal. Well, let's, let's do some pics. Ayush, you wanna start us off with pics?
Ayush Nwatiya [01:06:07]:
Yeah. Let's, so she got back from New Zealand, so I'm just gonna New Zealand as a country, that's gonna be one of my pics. It's just, it's, it's probably my favorite place to go on holiday. I was there for, like, six weeks, And, yeah, that place feels fictional, man. I I went, did all so I went to Hobbiton. So I got got this thing from from, see, from Hobbiton, which is I don't really do bucket list, but if I had a bucket list, I'd probably be on there. So, yeah, it was also nice to just get out of the British winter for a bit. But, yeah, New Zealand as a country is one of my picks.
Ayush Nwatiya [01:06:47]:
And then I got back and, I binged a new TV show because that's what I do. It's called A Man on the Inside starring Ted Dunson. It's, Michael Schor's new comedy, known for other shows like Fox and Rec, Brooklyn nine nine, and The Good Place. So his new shows has, like, well, 28 episodes. So I spent an evening and binged the whole thing. Very funny, very enjoyable. So, I'd recommend that. And I'll finish off with a technical pick, which is the, async container gem by Samuel Williams.
Ayush Nwatiya [01:07:22]:
I I had the chance to hang out with him while I was in New Zealand. And, one of the things we kinda played around with was, the async container gem, which it's kinda just a way to, like, orchestrate Ruby processes. So instead of, like, packaging everything up with a Docker container, you just have, an a async container manage all your different processes, and it kinda deals with restarting and blue green deploys and all that kind of stuff and kinda playing around with it to see if I can get it to work nicely with just generic Rails app with apps with Puma and stuff. But, yeah, I think it's a very underrated gem, and, yeah, I'd I'd highly recommend checking it out. So, yeah, those are my three picks for today.
Charles Max Wood [01:08:11]:
Awesome. Valentino, what are your picks?
Ayush Nwatiya [01:08:14]:
I just got done, taking this incredible, Ruby AI engineering training and planning workshop with, Max Erwin and Landon Gray. I highly recommend it. We got a bunch of folks at Docsody to to attend it and just, like, filled so many knowledge gaps and just learned a ton. And, I'm looking forward to applying just, like, yeah, a massive amount of information there. So definitely check that out. I I hope they continue, doing it because, yeah, it was just incredibly well put together. And I've I've never used Jupyter notebooks with Ruby before, so that was interesting and, kinda fun. So that that on its own, kinda worth it.
Ayush Nwatiya [01:09:04]:
My my other pick is I, I I just pre ordered, this giant, three d printer from Elegoo. It's, it's called Orange Storm Giga, and you could print, like, furniture sized things with it. So I'm, I'm pretty excited to,
Charles Max Wood [01:09:23]:
start that giant. Wow.
Ayush Nwatiya [01:09:25]:
I went giant. This, like, is massive. Yeah. It's the size of a person. And it's, honestly, not that expensive, for what it is. And so, I recommend at least looking at it. It's pretty pretty incredible what you can do these days.
Charles Max Wood [01:09:47]:
Nice. Your friends come over and ask you what you do in your phone booth? Alright. I've got a few picks here. So, I always do a board game pick first. And so, the game I'm gonna pick this time is Machi Koro two. I have picked Machi Koro in the past. Machi Koro two is you basically play by the same rules as Machi Koro. The difference is is that, you have instead of the different kinds of buildings just being all in their stacks and you can just buy whatever's out there, you actually flip cards to, expose the different, types the different buildings.
Charles Max Wood [01:10:34]:
And so just to give a quick rundown on how the game works, you buy buildings. You roll the ice. If you roll a dice on a card that you have in front of you that's green or blue, then you get, then you get money. If anyone else has a red card with that number on it, then you have to pay them money. And the green cards on other people's terms, you also get paid for. So, that I mean, that that's more or less it. You're try the way you win is you build three, no. You build four landmarks.
Charles Max Wood [01:11:07]:
In Machi Koro, everybody has the same landmarks. In Machi Koro too, one of the piles that you're flipping cards out of to expose which, landmark you can build or is the landmarks, and then the others are the the different building types based on cost. So or based on the the number you roll. So one through six and then, seven through 12. I mean, that's it. You just go until somebody's built three landmarks in this game, and you're done. And, it takes forty five minutes maybe to play a full game. It's relatively simple.
Charles Max Wood [01:11:43]:
I think it's rated 10 plus, and I think kids younger than that, not a ton younger, but younger than that could probably play it. My nine year old could probably play it just fine. It let's see. Has a board game weight on BoardGameGeek of 1.48. So, you know, casual gamer, little less complicated than some of the other games out there. And, yeah, I just we had a good time playing it, so got it for Christmas. So I'm gonna pick that. And then I've been lit I started the Stormlight archive series by Brandon Sanderson again, and so I'm I'm enjoying those.
Charles Max Wood [01:12:28]:
So I'll pick those. And I'm trying to grab a link for those. I think that's basically all I've got for picks this time around. I started playing with open router. I guess I'll I'll pick them too. There's a gem for that. It's written by Opie Fernandez, and, it it lets you use the different AI LLMs and things like that for some of the stuff you're doing. It's it's what he recommends you use in his book about the AI development.
Charles Max Wood [01:13:01]:
So, anyway, check out OpenRouter and the OpenRouter gem. And, Robbie, do you have some stuff you wanna shout out about?
Robbie Russell [01:13:09]:
Yeah. Let's see. Couple things that come to come to mind is a quick shout out to Joe Mazzallotti for releasing Hotwire native this last week. It's out on beta now. So if that's something you're interested in, him and I are gonna grab coffee next week. So we live in the same town, so we can see each other every once in a while. That's always fun, to catch up with him. And then, also, I'm gonna in real quick.
Charles Max Wood [01:13:32]:
We're gonna have Joe on in a few weeks to talk
Robbie Russell [01:13:34]:
about Awesome.
Charles Max Wood [01:13:35]:
Yeah. In a few weeks to talk about his book and the stuff he did.
Robbie Russell [01:13:39]:
Wonderful. Also, I've been a, one of the things you mentioned talking about Oman Z Shell. Wild thing about being part of that CLI environment is that I get approached by a lot of people that are building new, terminal emulators all the time. Like so we get we usually get to be get early access to tools and get to be early testers for things. So I've been using a thing called Ghosty for, I don't know, maybe nine months off and on. And so that got released a couple weeks ago, and that's by, was released by Mitchell Hashimoto. And it's pretty slick, and I think there's gonna be a lot of fun innovation on the in in our criminal emulators in the next few years. So that'll be kind of exciting.
Robbie Russell [01:14:19]:
Non tech related stuff. I'm trying to think of my it's, like, coming out of the holiday season, but I recently watched the Penguin series on HBO Max. I am not a comic book person. I don't go out of my way. I've watched, like, the Batman movies every once in a while and stuff like that, but I wasn't sure if I'd like this type of thing. I loved it. I, it was such a good I I really, really, enjoyed that that series. And, yeah, I I would just say that, yeah, that that was good.
Robbie Russell [01:14:47]:
And then, also, one of my favorite bands, Mogwife, they're from Scotland, has couple of new singles out and a new album coming out, and they're a huge influence on my band and my my own music influence. So, check out they had another new song called I think it was called fanzine made of flesh or something is the name of the new song that came out this last week. That it's pretty good. So, pretty pretty excited to get to see them in again when they come on tour soon. So those are those are my picks.
Charles Max Wood [01:15:15]:
Alright. Good deal. Well, thanks for coming. This was Yeah. Fascinating conversation, and it's always good to catch up.
Robbie Russell [01:15:22]:
Yeah. Likewise. Nice to meet you, Valentino Ayush, and, thanks for having me, and, talk to you all again some other point in the future, I hope.
Hey, folks. Welcome back to another episode of the Ruby Rogues podcast. This week on our panel, we have Ayush Nawatia.
Ayush Nwatiya [00:00:12]:
Hello. Hello.
Charles Max Wood [00:00:13]:
We also have Valentino Stoll. Hey, now. I'm Charles Max Wood from Top End Devs. And this week, we have a special guest. We have Robbie Russell from Planet Argon. Robbie, do you wanna I I don't know. I'm I'm like, where do we even start? You know, Oh My Z Shell or,
Robbie Russell [00:00:30]:
What's Oh My Z Shell? No. Yeah. Well, hi. Nice hi. Thanks for having me on today. Good morning. Good afternoon, everybody. But, yeah, I run a company company called Planar Argon.
Robbie Russell [00:00:41]:
We're a software consultancy. We've been around for twenty almost twenty three years now. Part of the Rails ecosystem for just over twenty years now, and, we help companies with existing Rails applications to make them better and more maintainable. We do a lot of consulting work in that space. And I also am known have for having created all my Z Shell once upon a time and which is a open source configuration framework for Z Shell if that's something you like to use on the command line and an open source contributor for about twenty five years. I'm also the host of the maintainable software podcast where I interview people about best practices when it comes to taking care of older legacy applications across them. A lot of different frameworks and text access, not a Rails specific, but there's a lot of Ruby on Rails related contact because that's my orbit that I exist in. And I also play guitar in a in a instrumental rock band called the Mighty Missoula.
Charles Max Wood [00:01:37]:
Cool. I didn't know about the rock band.
Robbie Russell [00:01:40]:
There you go.
Charles Max Wood [00:01:40]:
I've admired you from afar for a long time for all the other stuff. So, yeah, it's exciting to have you on. We we brought you on to talk about I got an email from you. I think I'm on an emailing list somewhere, and it basically said, that Stimulus JS replaced here we go. Stimulus has dethroned React as the most popular JS library for Rails apps. And, so then I went and looked at the survey, and that that was kind of interesting. I wanna ask you about all of the other things, though. So Sure.
Robbie Russell [00:02:15]:
Yeah.
Charles Max Wood [00:02:15]:
Let's go ahead. I I just wanna get a little bit of background. I mean, I use OMI C Shell, and it's OMI helpful. And so, I'm I'm curious what the story is behind that. And then I'd also like to talk a little bit about Planet Argon before we get into the survey.
Robbie Russell [00:02:29]:
Yeah. Yeah. That sounds great. So OMI C Shell, I first is we celebrated fifteen years that I since I released it back in I think it was August now. It was fifteen years ago. So 15 in a couple extra months now. I have been using Z Shell for a couple years. A lot of peers in the Ruby ecosystem at the time, we would all share, little configuration ideas for how to use Z Shell and optimize it.
Robbie Russell [00:02:54]:
And Git was kind of a new thing at the time, so doing things like having your git branch in your prompt was kind of a really new cool idea, and I think it helped us I think it was just good timing overlap with, trying to wrap our head around, like, local branches at the time. But it so but, basically, I had compiled this crazy Z shell configuration file that half of it I kinda understood, half of it I probably didn't because I was just copying and pasting and trading things with my friends over IRC channels or old websites like pasty, which was kinda like a gist before GitHub existed. And I would be parent program with one of my coworkers at my company on on a thing, and we'd be on their computer. And all I would get frustrated because all of my muscle memory wouldn't I remember how to do how to fully write all the commands. There's a lot of shortcuts and aliases and little optimizations that I had added to my own configuration file. So I was I find myself just feeling frustrated with myself, and so I'd be like, hey. Why don't you use z shell and just copy my configuration file? And then and then I'll show you how you can be quicker at the command line as I feel like a lot more efficient now. And so I would kind of encourage my team to do that, and a few people would take take me up on that, but several people didn't.
Robbie Russell [00:04:05]:
Like, one person particular named Carlos on my team, he was very resistant to it because he didn't he wanted to understand what the config file did, and I was he's like, well, walk me through it. I'm like, I honestly can't because because I don't really understand a lot of this gibberish Z shell sent to text does. And so we kinda you know, we we butted heads a little bit, and he wouldn't take me up on the idea. So I decided one weekend, I'm like, you know what? I'm gonna I'm gonna try to document my config file. This I'm gonna go through and just add some comments. I'm gonna, like, look up the documentation in the z shell syntax, and I'm gonna try to understand this. And then as I started doing that, I started, like, refactoring it basically and moving it. And I'm like, well, this is, like, a really big file.
Robbie Russell [00:04:44]:
What if I made I should probably use some version control. So I'll put this in a git repository, and I started making it, like, separating out this big config file into several smaller, messy config files. And then I slapped the name on it, and I called it Omic shell because it was a playoff of another project that I had worked on a couple months before with a different coworker. We didn't really put a lot of thought into that either. But I created, like, a read me with a install guide, which was basically like a git clone of this repository that I created, and, and then you could use my config file. And so I felt like I just elevated it, but that was, like, maybe a handful a few hours worth of work of cleaning up that file and turning it into this new repository. Threw it up on GitHub, and then I dropped that link. I don't remember if we're using Campfire or some other
Charles Max Wood [00:05:28]:
Mhmm.
Robbie Russell [00:05:28]:
Chat tool back in the in back in 02/2009. Dropped it in our Teams chat. Everybody installed it on Monday. Victory. I won. Everybody now had my config file, so I would go to the computer and have it all the same thing. So that was my goal was just to have everybody in my office kind of have the same ish config so that I could show them how to feel like a superhero on the command line, and I wouldn't have to remember how to, like, do every like, write out all the syntax for a lot of the obscure commands that we were running. But then so at the thing that a lot of people know about OMA's is that it comes with a lot of themes and tons of plugins, and, like, none of that was remotely on my idea.
Robbie Russell [00:06:07]:
My my wasn't even something I had considered. That next day, one of my coworkers, Gary, said, how do I change the colors? I was like, why would you wanna do that? My color choices are perfect. And I was like, well, here, you can go in this file. I moved, like I think I had, like, colors or prompt file configuration files. I'm like, you can change the colors in here, and here's, like, the syntax for that. So we started doing that. He started making changes. And then other team members wanted to add contribute their own little shortcuts and little functions and aliases as well.
Robbie Russell [00:06:39]:
And so we were kind of working together on this, and Gary couldn't do a git pull and git push cleanly because he had changed the file, you know, a git conflict. And so we're like so we're like, kinda like, well so we had, like, stash it and then pull the changes and then reapply them. And I'm like, well, this doesn't feel very sustainable. Because because then another coworker is like, I wanna change the colors too. And so I was like, well, what can we do here? And and I was like, oh, I know. I'll just move my prop file into its own thing and call it Robbie Russell. We'll call it a theme. These are themes.
Robbie Russell [00:07:11]:
Gary has his. I have mine. Carlos can have his. Allison can have hers. And so it created the concept of themes, which became like a configuration option. And so then I met I mentioned it on my blog and Robbie on Rails back in the day. And so it was mostly within the Ruby ecosystem. And then about a month later, we started getting contributions, but about and a lot a lot of themes started popping in by other people as well.
Robbie Russell [00:07:34]:
So that was kind of like a fun thing, I suppose. Like, hey. We have this real repository. We can inspire each other. And about a month later, someone reached out and said, hey. This is really cool, but I'm a Python developer. I don't need all this Ruby stuff loaded up when I when I run this. Like, I want to use the prompt stuff with all the Git stuff, but I don't need all the Rails and Ruby stuff that you have loaded.
Robbie Russell [00:07:53]:
So I was like, oh, that's interesting. I don't want all that pipe Python stuff loaded when I use it, so maybe we'll call these plugins. And so I moved all the rails stuff and Ruby stuff into its own thing, and we had Python stuff come in. And then that just opened the the floodgates for other people, but, like, oh, I got this thing for my framework or I have this other tool that I'm only using. And so this stuff kind of organically evolved as the community started using it and pitching ideas. And I was like, well, here's a way to kind of organize that. We'll just throw these in different directories with different may kind of enable these things. And that's that just kinda snowballed into this thing that's kind of evolved over the last fifteen plus years where we've had several I can't remember the number of I think we've had I can't remember how many couple of We've had more than a couple thousand contributors directly to the core project contribute code, and it's one of the most, like, starred projects on GitHub.
Robbie Russell [00:08:46]:
And I I it's kinda wild, but and I don't make any money with it. I sell stickers and T shirts that that that's fun and but it's it's always been this kind of, like, fun little open source thing that I can occasionally spend some time thinking about, but it doesn't occupy a lot of my brain space despite how wildly wide range and and popular it has seemingly been.
Charles Max Wood [00:09:09]:
That's awesome. I love it. Yeah. I also wanna just, talk a little bit about Planet Argon. You guys have been around for a while. Was this before or after OYZ Shell and
Robbie Russell [00:09:20]:
Before. Yeah. Yeah.
Charles Max Wood [00:09:21]:
What story with yeah. How that got started?
Robbie Russell [00:09:24]:
So I actually started playing Argonne, see, back in 02/2002 as a what I would because I was I had a day job, and I was like, I wanna do we work with, I worked at a company doing some software development, and we were, that company was a dot net shop. And I was really inter interested in open source, and nobody, like, at larger companies was really hiring open source technology people that often. And so I love PHP. It was real and had cofounded a Linux user group here in Portland, Oregon. And so I was already kind of doing a lot of fun open source stuff, and so I was, like, trying to translate, okay. I do this stuff in dot net. How do I do this in PHP? And then I started, like, you know, maybe I can get some freelance work on the side, and so I decided to incorporate that as Planar Argon. Just thought I would make it sound like I'm bigger than just me.
Robbie Russell [00:10:12]:
It was like me and then my, partner, at the time. She was a designer. So we would so she would work on web design stuff, and I did a lot of back end development. So we collaborate on stuff. So she had her company, I had mine, and so we so I was like, I'm gonna call mine Planet Aragon, which was a reference to a fictional book or a fictional place in a, Tom Robbins book called, Select a Woodpecker, which is where redheads came from. So it had nothing to do with anything. It wasn't some clever idea about gases or, you know, the scientific chart there. It was literally just like a it's me.
Robbie Russell [00:10:46]:
I have red hair, Plano Oregon, goofy little thing. So I did that for a couple years doing, like, side projects. In 02/2004, I quit my my last job to work full time on Plano Oregon just as a you know, freelance consultant. And then in February late two thousand four, beginning 02/2005, I got introduced to Ruby and Ruby on Rails and started doing that. In 02/2004, beginning of '2 thousand '4, I started blogging as Ruby on Rails. And so this was five and a half years before OMAZ Shell existed. I was part of the Rails ecosystem in doing stuff. So I think OMAZ Shell just kind of culminated out of that community.
Robbie Russell [00:11:24]:
So, yep, it was it's been around for a while. What we work on a lot now so back then was a lot of, like, new start ups wanting to use Rails because it was kind of, like, this new hot thing for projects that we learned how to basically, I went from that freelancer space of me working on by myself with my designer, partner at the time and to all of a sudden, like, some really large projects started coming our way that would take more than me to be able to do it. And so one of those first services that we had was offering hosting services to Ruby on Rails developers because there wasn't a lot of affordable hosting options unless you spun up your own VPS or something. So I had been offering PostgreSQL's, hosting for comp for developers and, like, PHP five develop or environments for hosting because I I had a lot of experience with, like, running servers and stuff like that. So that was part of our services early on was hosting, even going back to February. I think we started doing that in 02/2003, site for a lot of the projects because I would then host those projects. So So we are one of the first companies in the Ruby on Rails ecosystem to start offering hosting at kind of, like, an affordable price point, and and we give people, like, shared hosting environments and made that kinda work. And then so that allowed us to broaden our, exposure in the community early on.
Robbie Russell [00:12:38]:
And then but a big part of what we were trying to do was just focus on developing sort of projects and stuff like that. And then a couple years into that, we started getting approached by companies that said, hey. We had a couple freelancers build this app for us this last year. They're no longer available. They got full time jobs somewhere else. Can you take over these projects? And one of the great things about Ruby on Rails was that it was there's a lot of consistency between projects. So we found ourselves being able to, like, jump in quickly to, existing projects, and that became our niche over the years that now we quite essentially take over projects that are for companies that don't necessarily need to have two or more full time software engineers on their team in house. And so the other option is maybe having, like, a freelancer or two, but then maybe they do that, but the freelancers kinda come and go, and they're like, we have to kind of restart this process a lot.
Robbie Russell [00:13:26]:
So we end up owning a lot of projects where we're the primary development team for, like, five, ten years with some of our clients, some of them over ten years now. We're we're their dev shop, but we're maybe doing, like, eighty hours a month on those projects. You know, it's kind of like a we're maintaining those things for for the long term because they don't necessarily they're not trying to become a company. It's like an application that helps fulfill part of their business, but it isn't the business. So it's like there's a lot of those types of applications that exist. So we're kind of well tuned to come in and own those types of projects. But then we also do a lot of consulting and coming in with companies that have their own engineering teams and helping them unblock themselves when it comes to, like, that there's been a lot of turnover in those environments, and maybe some of the original developers have, you know, left and some of the new developers aren't sure how to, like, make choices about, hey. We're still running on Rails four.
Robbie Russell [00:14:17]:
We would love to get to seven, eight, but how do we get to five and which how do we kind of navigate this, and what what frameworks and front end things should we be exploring now? And so we try to help come in and, like, help coach teams on how to navigate some of that stuff and cleaning up technical debt and deal with overdue upgrades, performance improvements, stuff like that. So that that's another part of our our business as well.
Charles Max Wood [00:14:39]:
Nice. Okay. One more.
Robbie Russell [00:14:41]:
Yeah.
Charles Max Wood [00:14:41]:
May maintainable podcast.
Robbie Russell [00:14:45]:
Yeah. So maintainable podcast, just recently recorded my two hundredth episode of that. It's an interview style format.
Charles Max Wood [00:14:51]:
Good positions.
Robbie Russell [00:14:52]:
And one of the things I set out to do was I felt like there's always been a lot of good quality conversations around what's going on and new in the software industry. New people always, like, talk about new stuff. Mhmm.
Charles Max Wood [00:15:06]:
And
Robbie Russell [00:15:06]:
I was like, but a lot of software developers' experience is showing up to a job where things are already there, things are already in motion. And I think as a, industry, we've done ourselves a disservice by branding ourselves as being these, like, creators, makers. I'm like but reality, most of us are actually mending and taking care of existing stuff and trying to just make it a little bit better today than it was yesterday, leave things better off, and, like, that's good work to be done. And I've just seen a lot of developers over the years struggle to kind of, like, chain like, reframe that because I think we've but, anyway, so so I thought I thought it would be interesting to have conversations about what it's really like to work a project on projects day in and day out that have been around for a really long time and how to make incremental improvements because that stuff is hard and there's a lot of people dynamics. There's technical dynamics at play. And so I wanted just to catalog a lot of conversations that I thought would be relevant today, but also in ten years, twenty years from now. Like, I don't feel like these are conversations that will date themselves. So I'm trying to be very intentional about having conversations with people about how they navigate, how they've overcome or sharing some of the painful stories about, like, yeah.
Robbie Russell [00:16:22]:
We tried to do a rewrite, and that blew up in our phase. Because I'm a big advocate for not rewriting unless it's the very, very last possible step you can possibly do. So I'm always like, this is there's gotta be a better way to think about how you approach these software projects rather than just dreaming that one day, we'll finally get to rewrite this thing, and and then it's all gonna be better. We'll never have all these problems that we have today, which is complete bullshit. So
Charles Max Wood [00:16:45]:
Right. Cool. Well, I I have to say I've listened to the Maintainable podcast for a while, and you always have terrific people on that make me think about how I do it. So Yeah.
Robbie Russell [00:16:56]:
That's great. Yeah. I have it's it's and it's also just a good excuse to skip to have conversations with people that I admire on a regular basis. I'm like, this is that that's my favorite part about it.
Charles Max Wood [00:17:06]:
Awesome. Alright. Well, I'll quit fanboying, and, we'll we'll we'll talk about the survey. So Yeah. Yeah. So do you wanna just explain I'm always curious. I used to just be like, alright. Well, let's just get into the meat of what's in the survey.
Charles Max Wood [00:17:20]:
Right? And and I think that's important, but I like to get into the methodology a little bit. Right? Like, who who did you reach out to? How did you market it? What kind of people did you expect to take it? And and that kind of the thing so that we can get an idea of, okay, this is the community it really reflects.
Robbie Russell [00:17:36]:
Yeah. Yeah. That's good question. So just for some historical context, the the survey we've been running the survey as long as Omenz Israel's been around. So the first time we did it was back in 02/2009. So I think we've done it eight times now. Pretty much it's been every other year except for, I think, for the first couple years, we did it, like, every year. But the original version of it was we wanted to get a lay of the land of because we were part of our business was doing hosting.
Robbie Russell [00:18:01]:
It was like, how how was the ecosystem changing in terms of how people are thinking about deploying and hosting their applications? Because we were providing those services and cloud services kind of this new thing, and we're like, is that where everybody's moving? Should we get out of this part of the business? We ended up using that survey result that first year to decide to sell that part of the business off. And so we're like, okay. We're at we're we're not gonna be able to keep up. Let's just let them. I'm I'm done going to the colocation and stuff like that. So we use a survey to make a business decision, but we decided we'd publish all the results for everybody, make it because we were like, there's a lot of other interesting details in there around, like, what third party services people are using and, like, we're using for error monitoring or performance tracking. Things just, like, getting get a sense of, like, how other people are doing because we if you people can go online and ask those questions, you know, in IRC chat, conversations back in the day, or some forums or Stack Overflow or whatever. And I was like, we kinda wanted to just, like, let's get a broader range of people.
Robbie Russell [00:18:58]:
So we've been doing this ever you know, every other year since then. So this last year when we did it, our typical approach has been, one, reach out to people taken in the past. And so a lot of those people came to us from social media, following us at different blogs and stuff like that. Reaching out to the mailing like, the rails rails talk mailing lists and other groups that were, you know, were around at the time. But so for this last year, we did put a lot of energy into working with the Rails Foundation, in particular, Amanda there. And so, she had approached me the year before when she first got hired at the Rails Foundation to talk about the survey. She act that was the first time I actually spoke with her about it was she reached out and said, hey. I wanna talk to you about this survey and the Rails Foundation.
Robbie Russell [00:19:39]:
I was like, oh, no. They're gonna they're gonna start doing this themselves, and I guess we're no longer gonna get to do that. That's that's what I was preparing for. Like, I guess we're kind of out of the business of doing this, and it's a lot of work to run the surveys and stuff as well. So it wouldn't be the worst thing in the world. But, through that conversation, I was like, oh, they have very different things that they're looking for than we do. But but we did decide too that we would go to the Rails Foundation. So they took that to the board and be like, what sort of other topics and questions might they, the other foundation, members, like, you know, Shopify's and and Doximity and companies like that might be interested in hearing about the ecosystem right now.
Robbie Russell [00:20:15]:
And so we we we got some new questions and topics, and a lot of that came came up. So we ended up adding a lot of new questions related to education and, like, how people are learning about rails or how they're what type of content are they consuming to level up as developers, and is the assumption that video stuff is the future actually resonating with the majority of developers so that look. We can get into some of the the stats there. But in terms of the reaching out to people, it was a lot of hitting the social medias. I emailed everybody that I could you know, I had reached out to in the past, and to to have anyone that I I knew that's written books in the last few years about Ruby or Rails related themes or people I've interviewed that happened to be part of the ecosystem, like, out to them, emailed them, like, hey. Can you blast this to your group or your mailing list, anyone that runs a mailing list? So we have, like, a big checklist of places that we we reach out to, but it we we do wanna make that as broad as possible. So it's not, it's not just, like, maybe one company that's, like, Shopify drops it in their internal chat tool, and then it's just, like, half the you know, the people are are just Shopify employees filling it out, and all the data looks the same. So so and and so I'm always worried that that's gonna be a thing because it wouldn't take a lot for, like, something to drastically skew the data when we've got I think we had a little over 2,700 participants, which is the most we've ever had.
Robbie Russell [00:21:37]:
Not a lot of people wanna fill out a 60 question survey, you know, that often, so it takes a little bit to go through that process. But, but that's where we're able to end up. So, did it answer your question enough, I suppose?
Charles Max Wood [00:21:51]:
Yeah. Yeah. I think so. I kinda wanna pull Valentino and Ayush in. Did you guys get a chance to look at the survey? And I'm curious, was there anything that stood out to you? Because I I don't know which section to really start with. Well, I I I have some ideas, but I wanna hear from you guys.
Ayush Nwatiya [00:22:09]:
Yeah. I think I looked at it when the results first came out because I'm I'm fairly sure I actually did fill it out. And I can't remember whether I did, but I'm, like, 99% sure that that I did fill it out. Couple of things that caught my one was obviously the the fact that stimulus is dethroned React, which made me quite happy because I know the React.
Robbie Russell [00:22:33]:
That's how you really felt.
Ayush Nwatiya [00:22:36]:
And, yeah, the the other thing I found quite interesting purely from a selfish point of view was, how people learn Ruby on Rails because, hopefully, I've written a book as well. So I found it quite interesting to just see how how, people are learning. And there's, yeah, it's interesting to see that, more people kinda watch videos and tutorials rather than, read a book or something like that because, yeah, I guess, horses for courses and stuff. But, and I prefer text based rather than video, but it's, it's always interesting to know, like, what other people are, are preferring, especially if you're trying to, sell an educational product. So those are a couple of things that kinda I find particularly interesting out of the results.
Robbie Russell [00:23:25]:
Quick quick thought on that one. When it comes to, like, the I think that that's an interesting thought there around, like, you you read books. I skim books. I'm not like, I'm I I think I'm actually slightly dyslexic, and so I'm not it's always been really difficult for me to get through a lot of text based things necessarily. But one of the one of the other questions we did ask, though, was, like, what types of education and content helps you learn most effectively? And video stuff was not it's like the fourth I think it was, like, tied with books. So, most people said that they find blog posts and, like, the rails guides to be the most effective way to learn, but they're consuming a lot of videos. So it's like it's is there are they learning from the videos, or are they just spending more time watching videos and, because it's an easier way to consume that information maybe? I don't know. But video is an interesting one, but I don't know.
Robbie Russell [00:24:19]:
Again, this is what the people are kind of reported. So it's so they're all really closely kind of aligned in in the stats as well. So, like, there was no, I think, huge surprises to me there. But, otherwise, people saying that, like, working on, you know, the documentation, things like that. So which is, I think, an interest a good good thing that came out of this was, like, the the Rails Foundation, like, Amanda and then they had I know that they were working on a number of projects related to video content and the new guides, like re redesigning the way that all looks and and revisiting a lot of the content there. And so there's a lot of energy trying to be on, like, let's do video. Let's also do this. We kind of, like, have to come at it from different approach because there are just people do learn different people learn differently.
Robbie Russell [00:25:06]:
And so it's like, how do we make this as as, inclusive as possible?
Ayush Nwatiya [00:25:12]:
Yeah. I'm looking at that question now about learning most effectively. And, yeah, that that's interesting. I I wouldn't have expected that that mismatch there. But I guess, like, for me, we're personally with videos, I I I tend to zone out sometimes, and then I'll come back a minute later and, like, okay. Crap. I've forgotten. I need to rewind and watch this again, and then you can't command f a video.
Ayush Nwatiya [00:25:34]:
So that those are my two biggest gripes.
Robbie Russell [00:25:37]:
That's true. Yeah. So You can't, I mean, in the same way, like, I was reading a book last night and before I went to sleep, and I was like, got two pages. And I'm like, what did I just read? I have no I've seen the words. I don't know what I just read. So let me start that again. But, you know, it's interesting. Live streamers came 2% of people find that the most effective way to learn, or or podcasts.
Robbie Russell [00:26:01]:
And so are podcasts educational, or are they media consumption? Or, you know, it's just kind of, like, auxiliary information, but maybe is this an educational platform? I don't know.
Charles Max Wood [00:26:14]:
I I think it depends. One other thing that I wanted to point out was that I think a lot of newer folks are going to lean more toward video cast books and maybe the rails guide some. I think as you get more advanced, you start looking more at the blog post and documentation and maybe podcasts to just give you kind of here's what's the latest thing that's out there. That that that was kind of what I got out of it. And so I think you had a lot of experienced folks that they they don't need as much of the walk through on some of the stuff that's out
Robbie Russell [00:26:48]:
there. Yeah. Maybe.
Charles Max Wood [00:26:50]:
They're reaching for the documentation and stuff instead.
Ayush Nwatiya [00:26:54]:
I feel like this is one of the hardest categories to extract something meaningful from the survey. Right? Because, like, I feel like learning, like, you do kind of, like, pick a variety of different things to, like, build up your learning material and maybe different ways that you do you don't think about, and how much they impact you too. Right? Like, I remember, like, really diving hard into rails guides when I was first, like, looking at stuff and, like, doing the rails cast. But there was a bunch of other stuff that I was I was also listening to Ruby Rogues at the time and, like, a bunch of other podcasts that just, like, try and stay up to date. Right? And how much does that influence your learning ability, right, and, like, just be able to adapt to the material that you're learning. It's, like, almost like that, you know, reflective learning that, like, helps, like, harden and make things stick a little better. And so it's like, I always look at the survey and, like, wonder, like, you know, how do you are we capturing everything?
Robbie Russell [00:27:58]:
Yeah. Right? You're you're right. And I think it's always like, how do you try to contextualize this in a way that's these are not, like, conclusive. You know, like, we didn't ask people, like, prove it. You know? Prove that this is how you learn most effectively. It's like it's like in the moment type of, like, responses that we're getting. So we how do we read the tea leaves a little bit, I suppose, but it's not
Ayush Nwatiya [00:28:22]:
It's almost like what they remember most that they think worked best.
Robbie Russell [00:28:27]:
And recent. And it's just amazing. Yeah.
Ayush Nwatiya [00:28:29]:
Yeah. Right? It's still important. I I'm always fascinated by this section, though. Yeah. Because it does change, year after year too quite a bit.
Charles Max Wood [00:28:41]:
Yeah. A couple of other things in the learning
Robbie Russell [00:28:43]:
oh, go ahead. I was gonna say that one of the one of the things I was and I I knew I haven't gotten I didn't get a chance to go, like, pivot the data too too much on this particular one. But the, because we you know, we're able to look at, like, how long people have been working with Rails and then try to look at the data for that. And, like, if I had thought ahead more, I can maybe got some more interesting details for that. But the, I was thinking one of the one of the things is that we know, in the community is just that, you know, this was also conducted, you know, late spring, early summer ish last year summer last year. So, 02/2024. And, you know, there was a lot of layoffs in the year prior. There's not a lot of junior developers getting hired in the community.
Robbie Russell [00:29:28]:
Coding schools kind of a lot of them closed. We used to I used to know that one of our strategies in the past to ask questions to people was to hit the some of the coding schools. They that would get shared around some of them. You know, some of those develop some of the developer, they would share with their their, you know, their their recent graduates or previous graduates. They would share it at you know, like, here, fill out the survey. So so I think there's, like, data I think we got a a good capture of people that are actually working with Rails right now and not too. So that I feel like that's interesting, but we didn't really also have maybe as many junior people participating or maybe because there's just actually just last junior developers, coming into the into the market in the last year or two prior to the, to when we conducted this particular survey this time. But so I don't know.
Robbie Russell [00:30:13]:
It's kind of it's it's always a little bit interesting to see how the data fluctuates a little bit, but also by how little it changes sometimes too. There's a lot of the data that's, like, we're looking. I'm like, how did Linux usage didn't move, like like, a more than, like, a percent or two. And I'm like, what? How despite, you know, like, DHH talking about it all the time or something. So it's just like I'm like, how does this not move a lot more?
Charles Max Wood [00:30:36]:
Yeah. Omakub. Yeah. So, Valentino, was there a section that stood out to you?
Ayush Nwatiya [00:30:46]:
Yeah. I'm always fascinated to see, kind of like I use, you know, where the front end stuff, shifts because that's definitely the thing that changes the most, I would say, over time.
Charles Max Wood [00:30:57]:
Mhmm.
Ayush Nwatiya [00:30:58]:
So it's it is interesting to see stimulus rank so high, personally. And maybe that's just because I've been stuck in a a very fixed, front end for for so long. Maybe I just don't see the the underpinnings there. But but it is interesting to see the stimulus adoption over time. Just get such great support.
Charles Max Wood [00:31:23]:
Yeah. It's it's awesome. If anyone's looking to figure out how to do stimulus with rails, I can't recommend Ayesha's book highly enough. So, yeah, I mean, on that note, though, I did notice that, like, you still got React, jQuery, Vue, and Next. Js and Angular. Js is kind of the next five, and then you get to an Alpine. Js, which is a minimalist framework kinda like stimulus. So, of course, then I kinda left because I saw backbone and handlebars on here too.
Charles Max Wood [00:31:59]:
But
Robbie Russell [00:32:01]:
These things don't go away. No. They don't. Well, a lot of I mean, in in something I, I gave a talk at Rails World about, dealing with, like, technical debt and Rails applications, a lot of thing. And, like, a lot of projects have multiple
Charles Max Wood [00:32:17]:
Mhmm.
Robbie Russell [00:32:17]:
JavaScript libraries in them because there's a tendency to, hey. We wanna work on this new set of features. This might feel like a perfect opportunity to experiment with that new framework we've been itching to play with. So let's do use it over here. And so they'll add it, and they'll start working on the new functionality and new features because it's easy to sneak it into that with the the product. They're like, okay. We're gonna do this over here because it's a lot harder to sell them on re retrofitting some existing stuff. And so they do that, and they kind of, like, the first project or two that they do is kinda like they're trying to learn on the job type of thing.
Robbie Russell [00:32:49]:
And they're like, well, we learned some stuff, and, like, the next time, we'll we'll come back and refactor it. Maybe they do or they don't. And then a year or two later, they're still working on this stuff, and then they introduce another one. And then there's another one. You know? Then they like, well, we'll keep the admin area like this and this area, and then we have this other new section. We'll use this thing. And so then you got, like, three or four different frameworks in your your, you know, your your Rails application ecosystem, and you're like, well, which one's the better one? It's like, is it the newer one, or is the one that people complain about the least? And so one of the things that I've been advocating for teams to consider is I dare you to if you really wanna use that new thing, do it on your existing stable features first because you should already have really good healthy test coverage there. Mhmm.
Robbie Russell [00:33:31]:
And if it doesn't work and you're not figuring it out, you can just get reverted, and things are still working. But but try to force yourself to implement it on existing stuff. If that's too hard, I guarantee it's not gonna get easier two years from now to do that make that change. You're just gonna stick with it, and you're gonna have this problem where you're not able to upgrade different things or you got all the JavaScript chaos going on in on your front end framework. So easier said than done, but I I'm that's that's that's the thing that I'm trying to pitch peep teams to try to consider doing is, like, take a hard look at the do the hard thing. If you're not willing to do it, stick with the framework that you're already using because that's you're gonna be stuck with it anyway. So
Ayush Nwatiya [00:34:13]:
I'm always quite reluctant to try and rewrite features that already exist using something newer. So, well, I completely agree with your approach of trying to introduce something new to some the feature that already exists. But where what's the judgment call there? How do you decide that this is a new thing that we want to try and we're gonna rewrite something that already works against well, that feature already works. I don't see why we should spend time rewriting it using something new.
Robbie Russell [00:34:45]:
I think the typical developer answer, it depends. I think the the the challenge there is, especially with soft some projects where you know that they're your team's already starting to divest themselves. And so, like, it's interesting because I'm a big, a big advocate for not rewriting. And so, like, well, I guess I'm advocating for, like, micro rewrites, you know, in in certain areas. And so it's just why do we treat, like, a front end framework differently than we would with, like, say, a Ruby gem that's no longer gonna be supported? We need to migrate that. And so if the lift is so high, then I feel like we're already admitting that the front end is just gonna be too much of a mess that, like, we're when we make a decision, we're making a really long term decision with this. And how how how can we approach that a little bit more? Like, are there ways for us to refactor parts of it, you know, like, or rebuild parts of it and figure out how to glue things together? Like, I've I've, you know, worked with a number of teams that in the consulting capacity where they've done, like, these migrations where they're moving from Angular to React or something, you know, because Angular one to Angular two wasn't necessarily, like, a good upgrade path for a lot of people. And so that could happen with any of the frameworks that, you know, we talk about.
Robbie Russell [00:36:06]:
There's always a chance of that happening. But for these existing stable features, it's just more of, like, if your team is trying to experiment and learn, just learn on something you already know how it's supposed to work from, like, a user perspective. And, like, can you experiment with that and test out if this idea is gonna work well before you start building on some new ideas and learning on the job with a new framework? Because a lot of these new frameworks don't necessarily have a lot of good documentation initially, or they have some documentation, but there's not a lot of real world experience yet. So you're learning. You're sharing as you go. But that's but the story of the front end has been we're all learning on the job, and it doesn't get it's been difficult to go back and clean things up. So, I'm just trying to, like, maybe there's a different can we experiment with some different approaches? Because that has been the go to approach. New don't break the existing stuff because it works great.
Robbie Russell [00:36:58]:
But if it's but that's the thing. If it's gonna break, how do you make it less breakable? And so I don't I don't this this is the hard this is the hard part of our job, I suppose, to try to figure this stuff out. And so
Charles Max Wood [00:37:11]:
Yeah. It reminds me a little bit of, a scientific experiment. Right? So you have these studies that are done. Right? So they have the control, and then they've got, kind of their experimental set. And, typically, the best practice is is you only change the thing that you want to see what difference it makes. Right? And so if you're doing a new problem and inventing a new solution and using a new tool for it as opposed to doing a well understood problem that's already been solved with the tool you already have, yeah, then you have a a real good comparison to see where where the trade off is.
Robbie Russell [00:37:50]:
You might find that, you know, if you're just rebuilding, like, a small part of your application or front end with a different JavaScript, you might be like, all those assumptions we made that this was gonna be way better. Actually, like, it's got some weird things that we didn't quite realize. And is that trade off gonna be okay for us in the future? Or because I don't know because I think the the question is gonna be you start using that new thing on the new functionality. Are you ever gonna go back and rewrite that stuff, or are you saying that those existing stable things are just never gonna change. So that's why you laugh about, like, Backbone. Like, there's plenty of projects out there that are running just fine with Backbone. We work on projects like that. And I can tell you, we tried to do a project for one of our large clients that was the client was like, yeah.
Robbie Russell [00:38:34]:
We wanna move to React from Backbone, and we were working through this big rewrite on the front end. And, eventually, we agreed, like, you know, this doesn't feel like it's we're this this doesn't feel like it's adding on a value to your business necessarily, but, this is fine. But, yeah, we're probably you know, they're like they decided they're gonna end the life that particular project anyways in the in a year or two. So we're we we we, you know, we hit the the brakes on that particular project, but those are if where is the future of these projects gonna be and, like, how how where do you wanna kind of sit with that? And, again, it's it's it's it's a it's a difficult part of our job, I suppose. But
Charles Max Wood [00:39:14]:
Yep. Alright. I'm gonna hit one of these areas that that I was interested in. I'm gonna talk a little bit about deployment and DevOps. I would have picked things like, Ruby and Rails versions, but it seems like the majority of people are close to if not using the latest thing. And so I was just like, oh, okay. Good. It's gotten better.
Charles Max Wood [00:39:39]:
So yeah. So yeah. So a couple of things. One is, what deployment tool do you use? And the other one was, how often do you deploy? And I've always wondered because I haven't really looked at surveys like this that often. You know? Are are people really doing kind of the continuous deployment and then they're deploying, often? Or are are, you know, people mostly on a we're gonna release after our sprint or we're gonna release after our, you know, after our big set of whatever, right, which is always painful whenever I've done that at places I've worked. But it looks like the majority I I I shouldn't say majority, but a large number of people are deploying every day or every week. I mean, it's 37% for every day, multiply multiple times a day, and 36% for multiple times a week, which to me says that they're doing it, you know, possibly several days during the week. And so, yeah, I mean, that's, like, what, 73%? So that I thought that was very, very fascinating.
Robbie Russell [00:40:50]:
Yeah. It always it kinda surprises me when we'll we'll have client engagements. We'll come in to, do some consulting for a short period of time, and those those are one of the usual first questions we ask. It's like, tell us about your workflow for pushing stuff out. And then there's the companies we talked to. You're like, oh, yeah. We did our team deploys hundreds of times a day. You're like, what? Okay.
Robbie Russell [00:41:11]:
So there's that to the extreme of, like, oh, yeah. Like, every three weeks, we push out a thing. You know? I'm just like, okay. That feels like, unless there's some, like, sub one issue type thing we need to push out, like, a a quick bug fix or something. There's an, like, a huge issue going on. But, otherwise, they're like, we don't. And I think it's always contextual also, like, you know, way to pivot that would be, like, if there's a lot of restrictions in their particular industries, like, maybe it's health care, for example, or with companies in health care space. Some companies, like, they have very, very rigorous process around that because they have to be able to have an audit trail that they can report
Ayush Nwatiya [00:41:45]:
to,
Robbie Russell [00:41:45]:
like, governments or something. So it's a lot of weird things that can kind of change that. So then I'm always curious about how they then have to deal with, as a development workflow, queue things up for a bigger bulk or release versus having a lot of, like, these micro small things that can get shipped out. I think it depends on, you know, the context context of that particular business and industry or, and a lot of people just being really, you know, concerned about breaking things, like, if they have a really brittle environment, they need a really rigorous QA process before they push things out or not. So, but, yeah, it's it's it's a lot it's it's it's encouraging because I remember I think if we go back several years, I think that the data for that would be, like, much lower. It would be, like, maybe, you know, weekly would be, like, a pretty common thing or something. But
Charles Max Wood [00:42:36]:
Yep. The other one I thought was interesting was this was the first one where Kamal was, listed as an option for deployment tools. And then there was one continuous deploy r. I don't know if I've even seen that, or was that just a no. It's continuous deployment. It must be cut off.
Robbie Russell [00:42:55]:
Oh, yeah. It's truncated in a graphing chart. Yeah. Front end issue. Yeah. Yeah. You've got Git
Charles Max Wood [00:43:03]:
and Capistrano. And I don't know what people mean by Git. Is that like a Git push kinda like Heroku? Or
Robbie Russell [00:43:09]:
Yeah. It I think yeah. It means which is these are some of the I feel like this is always a really awkward question because we've kept it in because people will if we just limit the this the set of things, like, people will type in other or they'll they'll write things in. So they'll
Charles Max Wood [00:43:24]:
Right.
Robbie Russell [00:43:25]:
We just I think a lot of people don't know the difference between pushing to so they're but I think a lot of that comes down to, like, yeah, like, hero Heroku is just, like, git get push and then pushes to Heroku, without explicitly just saying they're deploying to Heroku.
Charles Max Wood [00:43:39]:
Yep. So, yeah, it said 2.4% of people reported using Kamal, which I I love Kamal. I'm curious to see next time you do this when you ask about what proxy and web servers people are using to see if Kamal proxy comes in on
Ayush Nwatiya [00:43:56]:
the list.
Charles Max Wood [00:43:57]:
Because traffic was the default in Kamal one, and two hundred and three people said they were using that. And so, yeah, I'm I'm curious to see if that switches up.
Robbie Russell [00:44:09]:
I would imagine, but we should see.
Charles Max Wood [00:44:12]:
Yeah. And thruster was another piece of that puzzle too that's on there.
Ayush Nwatiya [00:44:19]:
Yeah. I'm curious too, like, how many people, like, use chat ops still. Like, is is that still the the go to deployment for larger organizations? I'm curious. Like, do you do, like, a a lot of, like, you know, cross referencing post survey, like, to see if, like, some things are related, like, interdependency? Like, you know, the their team size is related to how they deploy or Oh, yeah. Do x y z.
Charles Max Wood [00:44:49]:
That'd be interesting.
Robbie Russell [00:44:50]:
Yeah. We we we definitely could. It's just, how much we've historically would share the all the results with everybody, and we just need to put together a spreadsheet for that. And we just kinda shipped it up before we had a chance to do it this year so people can kinda play around with the data there, because there's a little bit of data scrubbing we have to do for our privacy stuff there, but the, definitely something we can definitely expose for for folks. But what we found is what we've done in the past, like, five people would download this, and then so we're like, how much how much time am I putting into something for those five people? But, there is there is some there's some ways to do that as well.
Ayush Nwatiya [00:45:25]:
You gotta hook it up to an AI chat to make it easy. Copy it deleted. Yeah.
Robbie Russell [00:45:31]:
And hope that hope that it's accurate. Yeah.
Charles Max Wood [00:45:36]:
Deploy GPT.
Ayush Nwatiya [00:45:38]:
Yeah. If you have deployed applications using other languages or frameworks, would you say that it has been easier or harder to deploy Rails applications? And, 16% said it was harder, but 45% said it was easier, and 39% said it's about the same, which I found interesting because, I've done a little bit of PHP years ago, and, when I I could I I found it quite easy to deploy. I can't remember exactly what I did years ago, but it was like, I didn't really know a Linux admin. I still am probably not that good with Linux admin anyway. And when I came to try and deploy a Rails app for the first time, which is something about five years ago, I started using the world to live. I I I I caved and had to use Cloud 66. And even now, like, I would say that, like, I'll just render our comfort for hosting. But if I had to do, like, a bare bones VPS, any Ruby, not just Rails, as to deploy any Ruby web app, but it wouldn't be as easy as I'd as as I'd like.
Ayush Nwatiya [00:46:44]:
So I just found that response, interesting because I I don't know, ma'am. Do you think do you think people responded easier because of things like render.com and Heroku?
Robbie Russell [00:46:54]:
I think yeah. I mean, I think that's very much the probably very much the case, for a lot of people. And we definitely could look at pivoting the data data there to see if we can get some more detail on where people are hosting those applications. But it's interesting, you know, that experience you had coming from PHP to Rails. Like, I shared that experience early on because but that was also why part of what we did as for my company was offer hosting services to make that easier because it was so much easier to host a PHP application because you literally just uploaded some PHP files, and maybe you needed to restart the server. Maybe. Usually not, back then, wasn't such a big deal. But Rails, you know, you're like, well, you gotta run, like, a little Rails server and so that that's running behind, like, your web server and yada yada yada.
Robbie Russell [00:47:44]:
And then but things like Capistrano did smooth that out at one point, and, Heroku made it a lot more accessible to easily quickly deploy. So you didn't have to learn how to manage your own Linux server out there on some, you know, Rackspace or wherever you're hosting your your VPS and stuff like that. So I I I I I hear you on that. Is it harder or easier? I think it's to me, it feels like a lot of I'm I'm I think it's says that, like, a lot of people are like it's, like, 40 39% said it's about the same. You know, so a little less than half and so but harder, I think it depends on, like, how complicated the hosting environment are because the other things I think of related to deploying is also, like, being able to debug things, and I always feel like I feel like one of the things that I really appreciate about Ruby on Rails early on was how easy it was to debug things in production versus with working in, like, say, PHP because we had things like you could SSH into the server and then run Rails console and do stuff. And you're like, oh, this is amazing and, like, didn't feel like we had that kind of functionality at the time. There's tools like that now, but, that stuff was just kind of like a at least for my professional development growth, that was, like, a huge, like, moment. Like, look what we can do.
Robbie Russell [00:49:04]:
And, like but you also had to run, you know, all these different separate processes, and you're spinning up delay job things or whatever, memcache and all this stuff, and you'd have to run all these little services in parallel on a server. So there's a lot more things related to your Rails apps that you have to run as well. It wasn't just, like, PHP. You're like, you run the thing, and then you had a database or something you connected to, and then that was the bulk of what you needed to worry about. So
Charles Max Wood [00:49:30]:
Yeah. I think some of the tools have gotten better, like you said. But with Kamal, I mean, you just you set up the VPS, make sure you can SSH into it, and, you know, sudo run things as root. And then, you just tell it to set it up, and then you tell it to deploy it. So, yeah. I mean, depend it it yeah. A lot of it depends on how your system's set up, but what I found is the tools just keep getting better and better and better.
Ayush Nwatiya [00:50:00]:
Yeah. Kamal, the only thing is it's it's Docker and, like, for I it's I just find it too heavy handed for the kind of stuff I do. Not not for my client work. My client work, obviously, is high enough scale to warrant that. But stuff I do on my own, I just find, like, Docker to be a bit too heavy for that. So I'd quite like just a simple solution, that is in Docker based. And I'm I'm playing around with some stuff. One thing that I'll be quite interested in this year, over the probably this year and next year is if the adoption of Falcon goes up at all because that's kinda designed to be, like, all in one server.
Ayush Nwatiya [00:50:38]:
Like, you don't need to have, NGINX or carry something in front of it. It's it's meant to be, like, right in front of your application, and it's meant to be, like, it's meant to work as a self termination and just work as a web server. So, it should hopefully reduce the number of moving parts you need for Ruby deployment. Be good to see that kinda gain a little bit more traction, I think.
Charles Max Wood [00:51:07]:
Yeah. Robbie, was there a section that stood out to you that we haven't talked about?
Robbie Russell [00:51:13]:
Yeah. The some of the things that I've always found interesting to track is because it just, having been a part of the the Rails ecosystem for such a long time and is a lot of the third party services and tools that we're using. So, you know, this was the first time this last year was the first time New Relic wasn't number one for performance monitoring in the Rails ecosystem since we started asking that question. I think back in, I think Datadog took over in the number one spot. So, otherwise, New Relic had been, you know, the and I think that I I I don't wanna I mean, I know a bunch of people that work in New Relic and and but they've, that company's gonna have been bought and sold a couple times at this point now. But the so it's it's been interesting to see that kind of evolve and just seeing how, like, Century and AppSignal have kind of, like, jumped up a little bit more in the community there. And I always it's to me, it's always kind of fun to watch, like, the big companies and the small companies trying to, like I don't feel like that space has ever, like, been terribly stable for a lot of companies necessarily outside of, like, the people that are at the top there. And so, like, we got error tracking things and, as well.
Robbie Russell [00:52:24]:
So, like, I think on the error tracking, you know, Century's top been the top for the last three times we've run the survey. Mhmm. But it's been interesting. For whatever reason, I've always been fascinated with those particular those topics to see what people are using and because I feel like it's really easy for teams to quite often switch and experiment the different thing. When we come into consulting engagements, we're like, we just just actually, just recently, we're working with a company and doing a a code audit and and giving this doing some consulting with them, and we were logging into the New Relic where they had been tracking their errors for a really long time, and we're looking at all this stuff. And they're like, yeah. We don't really log in that often and go look at the errors stuff that often. We just occasionally I'm like, well, maybe a really easy thing to do is just to switch to a different platform.
Robbie Russell [00:53:12]:
So you have some new data, new fresh dataset rather than just ignoring the old thing and, like, here you can use my so they got set up with, like, AppSignal, like, in an afternoon. You know, maybe you made a few few code changes to make that work, and then it just kind of revitalized the team a little bit to start paying attention to that stuff a little bit more thoroughly. And so that's always a kind of a nice thing to be able to know if there's other tools that you can kinda play with and maybe get a different perspective or look at your data and your the activity in your applications from a different perspective. And so maybe switch over to Honeybadger for six months and try that for a bit and see how that maybe rethinks your how your team approaches this stuff. Those are, like, usually pretty easy things that teams can do to just get some new energy around something rather than being like, let's log in to the thing we don't really pay attention. Or I don't really like the UI or all the upsells that they're doing and not trying to pick on New Relic or Datadog or whatever. Or, like, people are like, yeah. Datadog, they as soon as we sign up for account with them, all of our developers start getting emails and phone calls all the time from their salespeople trying to upsell, and you're just like, yeah, that's gonna happen with this bigger company.
Robbie Russell [00:54:17]:
So, other things that I interesting around, just seeing things like what debugging tools people are using because there's, you know, there's new things popping up in, like, Ruby d Ruby debug is, what, 16% now and, you know, the price at 31%. And so I think if you're just people like, a lot of people will just keep using the same thing that they're already used to using for a long time, so I think sometimes it's just helpful to be aware of these things. Counterpoint, and we know, kinda you mentioned, like, the Ruby versions or, we would ask, you know, which which version of Ruby you're using, when it not not just, like, the the number version, but if we're using, like, Matt's Ruby versus JRuby, things like that. And let me see if I I can't remember what the question is. But, I got, I'm not trying to point out necessarily, but we ended up, because the the the the data from from the survey, the previous years that JRuby was so low in number of counts that I'm like, I don't feel like it's important to keep is that even an option for people to check anymore because there's another box, and let's just let people type it in. And then that didn't make someone all that happy, that I removed it. I'm like, well, I'm not I mean, people can't do that. It's just like there's such insignificant number point that I'm like and they're, well, this is like a so some people see these these these types of surveys as an opportunity to highlight that there are these other tools when they're picking the survey that they could be exposed to.
Robbie Russell [00:55:45]:
So I'm like, I can't list every single jam, every single third party service. It's just like we gotta kind of do our best to try to like, what do we know? Because there's a lot of things about the community and the tooling that we don't we're not even aware of. So this is when we I'm I'm usually learning about new things. I'm like, oh, what's this Falcon thing? You know? I I've heard maybe mentioned, but, like, oh, a bunch of people are using it. I'm like, I didn't even know anything about it. So I think that's always kind of, like, a a fascinating part of the the surveys too. It's it's it's it's it's it's easy. It's not easy to get a lot of people to fill out the survey, but it's easy way for me to learn a lot about what people are up to in the community.
Robbie Russell [00:56:22]:
So kind of selfishly.
Ayush Nwatiya [00:56:23]:
Yeah. I I always wish there's, like, a a Ruby toolbox for, like, services. Mhmm. You know, like, oh, everybody's using this or what what is this? You know?
Charles Max Wood [00:56:37]:
I Yeah. I don't know.
Ayush Nwatiya [00:56:38]:
I feel like that is kind of missing.
Robbie Russell [00:56:40]:
It's it's it's a fair point. If anyone listening wants to create some sort of project to do that, I think that would be good. But maintaining that, keeping it updated is another thing. So
Charles Max Wood [00:56:56]:
Yep. One thing that I picked up from the survey that I didn't know existed was in the version updates. It said, is your team using a dual boot strategy for upgrades? And I was like, wait. You could do that? So I had to go Google it.
Robbie Russell [00:57:11]:
Did you learn much about about that? That that's, there's a couple of really good tools for that that have been used.
Charles Max Wood [00:57:16]:
I found a gem that does it, and I I didn't get much further than that. But
Ayush Nwatiya [00:57:20]:
Yeah. I'm surprised
Charles Max Wood [00:57:22]:
the Boo Boo gem that was from Shopify. It's the one that I found.
Ayush Nwatiya [00:57:26]:
I'm surprised that after all the, you know, conference talks about it, that it hasn't gotten more adoption. It was it's it's not that hard.
Charles Max Wood [00:57:35]:
Yeah. I'm working a project now that we have some performance issues that there are tools in Rails seven two that are not in Rails seven o that we wanna use, like common table expressions and the way we wanna do some of the things with those. So, yeah, I was like, Well, maybe we can use this over there and see how far we get.
Robbie Russell [00:57:56]:
Right. Published this back in right right before Rails World. So I'm trying to remember what are the things that were kind of, like, capturing my mind at the time. But the, the other part was just, like, the just reinforcing the the monoliths, I suppose. And, like, that the number of people that are focusing to building a lot of microservice has been trending down for the past, I think, like, last three surveys, so, say, six years or so. So that's been something that's been interesting to see that there are and I I I know that there are a number of teams just from doing consulting and and and talking with different companies, that are consolidating a lot more stuff and trying to more monolith their app or at least have it be a bit more hybrid than like, because their team's shrunk. And they're like, it's a common pattern that, like, we make a lot of decisions as teams assuming that especially if we're hired during a growth period that we just assume that the team's gonna continue growing. And then so how do we architect our system to support maybe a one day larger team? And we don't often make a lot of technical decisions with the assumption that we're going to be a smaller team in the future.
Robbie Russell [00:59:08]:
Mhmm. And maybe that's actually an ideal state for that team is to be smaller. So how do you wave kind of weigh those two things up? Like, we don't we may not need the team we have today in two years to support this thing, and that's maybe ideal whether the leadership is talking about that out loud or not. That's maybe another issue, but that is a good thing. And so, like, I know a lot of, like, really, really small teams. I'm talking, like, two or three people that are working on software projects that got, like, 25 microservices. And you're just like I'm like, this doesn't seem fun. How many rails upgrades are you doing? And, like, okay.
Robbie Russell [00:59:42]:
And they're like, well, we did this when we were 10 people. I'm like, alright. And and, like, and most of those people aren't even here anymore. So you're just like, okay. Well, this is a a fun thing to kind of re reconfigure and rethink about how you reframe this stuff because, like Mhmm. We gotta make a change. I mean, now we gotta make a change in three different repositories, figure out the deployment process scheduling because, like, these are not this this this isn't feel super efficient. And it's very similar to the front end framework type of issue as well, but microservices and the monolith thing, I think so monoliths are on the the the rise in terms of people trying to keep it keep it in, like, your one repo as much as possible, unless you really, really need to start splitting some stuff out.
Ayush Nwatiya [01:00:27]:
I'm I'm curious how much of that, is thanks to pack Packwork. Because that seems to be a common pattern is, like, making microservices in your monolith with Backwork, which seems to, like, solve kind of both problems that people face. And the people that wanna push for microservices feel at ease because it kind of feels like a microservice in a way. I don't know what your what your thoughts are on that.
Robbie Russell [01:00:54]:
I know that, Eileen gave a talk at Railsword about that and and was kind of a little bit critical of doing a lot of that because there's very because often the the boundaries are not so clearly defined and people are like, stuff is overreaching all the time anyways. I don't know that she felt like she had, like, a good way of solving that necessarily, but, like, I think her perspective is, like, we might have over we're still over separating in a way, trying to optimize, and it's causing other sorts of issues with, like, ownership within projects and feeling like how did how did these teams work together on projects is, I think, another part of it. So there's the the human part of that, and then there's the technical approaches to solving some of that stuff and, like, trying to weigh that up when the teams are maybe not always going to match the technical separation of those concerns. And so, I don't know, it's it's it's it's it's tricky. So but, yeah, Packwork is definitely an option there, for kind of approaching that.
Ayush Nwatiya [01:01:58]:
Yep. Yeah. I like to noise from, just like the open ended comments was, you know, move away from over engineering things.
Robbie Russell [01:02:11]:
Optimize for a smaller team. I think even if it's the same size team, like, if you can make this your software project easier for when half of your team is on vacation to maintain, like, wouldn't that be a good thing? Wouldn't that feel better? I I just think there's probably a lot of things that we could be asking ourselves. Like like like when especially with, like, deployments is is you brought that up as an interesting thing. Like, there is a time when, like, we've I think we there's a lot of benefits. And one of the interesting things about why Kamal's resonating with some teams or some small teams in particular is that it feels like it's giving back some control to the developers a little bit because I think within this era where there's a lot of emphasis on, you know, DevOps type roles and people so there's some specialization that came about, you know, again. And so with this was a very similar pre you know, go back to the early aughts. We had a lot of DBAs, you know, in our in our teams. Someone that would manage the database and be the guardian and the gatekeeper for adding new columns to your table, adding new views or sort procedures, maybe the ones that manage that.
Robbie Russell [01:03:22]:
And we were able to kind of take some of that, and it's like, no. We can do this ourselves. We can we can manage this. And then I think over the last decade or more, we the infrastructure's got a lot more complicated as we move to the cloud, and we can do all this stuff. And so we have a lot of a lot of really large teams really need to deal with a lot of scaling things. A lot of small teams have some scaling issues, but they would then adopt a lot of the same approaches that large teams are talking about because and so a lot of developers are actually so I think back to the question about is it hard or not? It's like some people work in environments like I'm actually not responsible for anything but pushing to a branch and then some magic happens. But asking to change that, I don't even know where to start. What is this Terraform stuff? This Cooper net what is this? Like, how does this stuff work? I don't have time for that.
Robbie Russell [01:04:09]:
I'm gonna focus on Rails. And that I think that's okay in some teams, but it's a it's been a challenge for a lot of developers to feel like I can make changes or I feel it feels very brittle at times because, like, there's some magic stuff that's happening over here, and I don't wanna break the infrastructure. So infrastructure became a challenge. And kinda like just to kinda come back to this, it's just so so those a lot of teams don't feel like they can make those changes. So teams are a lot bigger more because there's just people that are specializing in certain things. And you got that now you have that weak point of, like, what happens if that infrastructure person leaves, Or do you need to keep them around and maybe they're not the the best person to be part of your team? And so I think there's, like, a little bit of things like Kamal kind of, like, pulling that back a little bit. Like, we don't need all that stuff for a lot of software projects. We can do that, but does every project need to be deploying every single commit Yeah.
Robbie Russell [01:05:05]:
Automatically? Like, I that's maybe. I don't know. Maybe maybe you could just wait till someone runs the command once a day, and that would be fine. But there's there's gotta be some trade offs there because you're spending a lot of money on infrastructure stuff and all of those GitHub actions running or whatever you're using for all that stuff. But that is costing your company money, to do that stuff, and it's not free. So figure out the how to balance that.
Charles Max Wood [01:05:33]:
Yep. Alright. Well, we're kinda getting to that point in time where we go to picks. Before we do that, though, Robbie, if people wanna connect with you online or they're thinking maybe they have a project where they need help from someone like Plant Planet Argonne or they wanna listen to the maintainable podcast, where do they find any of that stuff?
Robbie Russell [01:05:50]:
Search for it. I mean, you know how to do this stuff. Links will I'm sure there'll be some links in the show notes
Charles Max Wood [01:05:56]:
or something.
Robbie Russell [01:05:56]:
I'm Robbie Robbie Russell or you can find me.
Charles Max Wood [01:06:01]:
Alright. Good deal. Well, let's, let's do some pics. Ayush, you wanna start us off with pics?
Ayush Nwatiya [01:06:07]:
Yeah. Let's, so she got back from New Zealand, so I'm just gonna New Zealand as a country, that's gonna be one of my pics. It's just, it's, it's probably my favorite place to go on holiday. I was there for, like, six weeks, And, yeah, that place feels fictional, man. I I went, did all so I went to Hobbiton. So I got got this thing from from, see, from Hobbiton, which is I don't really do bucket list, but if I had a bucket list, I'd probably be on there. So, yeah, it was also nice to just get out of the British winter for a bit. But, yeah, New Zealand as a country is one of my picks.
Ayush Nwatiya [01:06:47]:
And then I got back and, I binged a new TV show because that's what I do. It's called A Man on the Inside starring Ted Dunson. It's, Michael Schor's new comedy, known for other shows like Fox and Rec, Brooklyn nine nine, and The Good Place. So his new shows has, like, well, 28 episodes. So I spent an evening and binged the whole thing. Very funny, very enjoyable. So, I'd recommend that. And I'll finish off with a technical pick, which is the, async container gem by Samuel Williams.
Ayush Nwatiya [01:07:22]:
I I had the chance to hang out with him while I was in New Zealand. And, one of the things we kinda played around with was, the async container gem, which it's kinda just a way to, like, orchestrate Ruby processes. So instead of, like, packaging everything up with a Docker container, you just have, an a async container manage all your different processes, and it kinda deals with restarting and blue green deploys and all that kind of stuff and kinda playing around with it to see if I can get it to work nicely with just generic Rails app with apps with Puma and stuff. But, yeah, I think it's a very underrated gem, and, yeah, I'd I'd highly recommend checking it out. So, yeah, those are my three picks for today.
Charles Max Wood [01:08:11]:
Awesome. Valentino, what are your picks?
Ayush Nwatiya [01:08:14]:
I just got done, taking this incredible, Ruby AI engineering training and planning workshop with, Max Erwin and Landon Gray. I highly recommend it. We got a bunch of folks at Docsody to to attend it and just, like, filled so many knowledge gaps and just learned a ton. And, I'm looking forward to applying just, like, yeah, a massive amount of information there. So definitely check that out. I I hope they continue, doing it because, yeah, it was just incredibly well put together. And I've I've never used Jupyter notebooks with Ruby before, so that was interesting and, kinda fun. So that that on its own, kinda worth it.
Ayush Nwatiya [01:09:04]:
My my other pick is I, I I just pre ordered, this giant, three d printer from Elegoo. It's, it's called Orange Storm Giga, and you could print, like, furniture sized things with it. So I'm, I'm pretty excited to,
Charles Max Wood [01:09:23]:
start that giant. Wow.
Ayush Nwatiya [01:09:25]:
I went giant. This, like, is massive. Yeah. It's the size of a person. And it's, honestly, not that expensive, for what it is. And so, I recommend at least looking at it. It's pretty pretty incredible what you can do these days.
Charles Max Wood [01:09:47]:
Nice. Your friends come over and ask you what you do in your phone booth? Alright. I've got a few picks here. So, I always do a board game pick first. And so, the game I'm gonna pick this time is Machi Koro two. I have picked Machi Koro in the past. Machi Koro two is you basically play by the same rules as Machi Koro. The difference is is that, you have instead of the different kinds of buildings just being all in their stacks and you can just buy whatever's out there, you actually flip cards to, expose the different, types the different buildings.
Charles Max Wood [01:10:34]:
And so just to give a quick rundown on how the game works, you buy buildings. You roll the ice. If you roll a dice on a card that you have in front of you that's green or blue, then you get, then you get money. If anyone else has a red card with that number on it, then you have to pay them money. And the green cards on other people's terms, you also get paid for. So, that I mean, that that's more or less it. You're try the way you win is you build three, no. You build four landmarks.
Charles Max Wood [01:11:07]:
In Machi Koro, everybody has the same landmarks. In Machi Koro too, one of the piles that you're flipping cards out of to expose which, landmark you can build or is the landmarks, and then the others are the the different building types based on cost. So or based on the the number you roll. So one through six and then, seven through 12. I mean, that's it. You just go until somebody's built three landmarks in this game, and you're done. And, it takes forty five minutes maybe to play a full game. It's relatively simple.
Charles Max Wood [01:11:43]:
I think it's rated 10 plus, and I think kids younger than that, not a ton younger, but younger than that could probably play it. My nine year old could probably play it just fine. It let's see. Has a board game weight on BoardGameGeek of 1.48. So, you know, casual gamer, little less complicated than some of the other games out there. And, yeah, I just we had a good time playing it, so got it for Christmas. So I'm gonna pick that. And then I've been lit I started the Stormlight archive series by Brandon Sanderson again, and so I'm I'm enjoying those.
Charles Max Wood [01:12:28]:
So I'll pick those. And I'm trying to grab a link for those. I think that's basically all I've got for picks this time around. I started playing with open router. I guess I'll I'll pick them too. There's a gem for that. It's written by Opie Fernandez, and, it it lets you use the different AI LLMs and things like that for some of the stuff you're doing. It's it's what he recommends you use in his book about the AI development.
Charles Max Wood [01:13:01]:
So, anyway, check out OpenRouter and the OpenRouter gem. And, Robbie, do you have some stuff you wanna shout out about?
Robbie Russell [01:13:09]:
Yeah. Let's see. Couple things that come to come to mind is a quick shout out to Joe Mazzallotti for releasing Hotwire native this last week. It's out on beta now. So if that's something you're interested in, him and I are gonna grab coffee next week. So we live in the same town, so we can see each other every once in a while. That's always fun, to catch up with him. And then, also, I'm gonna in real quick.
Charles Max Wood [01:13:32]:
We're gonna have Joe on in a few weeks to talk
Robbie Russell [01:13:34]:
about Awesome.
Charles Max Wood [01:13:35]:
Yeah. In a few weeks to talk about his book and the stuff he did.
Robbie Russell [01:13:39]:
Wonderful. Also, I've been a, one of the things you mentioned talking about Oman Z Shell. Wild thing about being part of that CLI environment is that I get approached by a lot of people that are building new, terminal emulators all the time. Like so we get we usually get to be get early access to tools and get to be early testers for things. So I've been using a thing called Ghosty for, I don't know, maybe nine months off and on. And so that got released a couple weeks ago, and that's by, was released by Mitchell Hashimoto. And it's pretty slick, and I think there's gonna be a lot of fun innovation on the in in our criminal emulators in the next few years. So that'll be kind of exciting.
Robbie Russell [01:14:19]:
Non tech related stuff. I'm trying to think of my it's, like, coming out of the holiday season, but I recently watched the Penguin series on HBO Max. I am not a comic book person. I don't go out of my way. I've watched, like, the Batman movies every once in a while and stuff like that, but I wasn't sure if I'd like this type of thing. I loved it. I, it was such a good I I really, really, enjoyed that that series. And, yeah, I I would just say that, yeah, that that was good.
Robbie Russell [01:14:47]:
And then, also, one of my favorite bands, Mogwife, they're from Scotland, has couple of new singles out and a new album coming out, and they're a huge influence on my band and my my own music influence. So, check out they had another new song called I think it was called fanzine made of flesh or something is the name of the new song that came out this last week. That it's pretty good. So, pretty pretty excited to get to see them in again when they come on tour soon. So those are those are my picks.
Charles Max Wood [01:15:15]:
Alright. Good deal. Well, thanks for coming. This was Yeah. Fascinating conversation, and it's always good to catch up.
Robbie Russell [01:15:22]:
Yeah. Likewise. Nice to meet you, Valentino Ayush, and, thanks for having me, and, talk to you all again some other point in the future, I hope.

Rails Developers Survey: Continuous Deployment Trends and Emerging Tools - RUBY 670
0:00
Playback Speed: