Charles Maxwood
Appearances
Ruby Rogues
Developing your development - RUBY 649
then it all works out pretty well there. So one thing that I'm wondering about then is, so let's say that we have this aggregated team data, right? We know how the team's doing. We can kind of see how the team flows, how things generally work. I mean, what do we do with it? Do we just try different things to see what makes it better?
Ruby Rogues
Developing your development - RUBY 649
Or will it actually give us indicators of what to try to make things better?
Ruby Rogues
Developing your development - RUBY 649
Right. And like I said, you know, we had you on Adventures in DevOps. We had you on, I can't remember which of the other shows we talked to you on, but most of those conversations kind of went the same kinds of ways. I'm a little curious as we dive into this with Ruby Rogues, are there things that we didn't get to in the other shows that we could talk about here?
Ruby Rogues
Developing your development - RUBY 649
So most of the stuff you're talking about here is stuff that I guess seems pretty common sense to most developers, right? You know, you're coding to meeting time. Maybe your music, some music's going to help you get into flow. Others won't. Protecting kind of your peak times. A lot of this stuff makes a lot of sense. Are there any counterintuitive things?
Ruby Rogues
Developing your development - RUBY 649
ideas around productivity that people kind of get hung up on? It's like your data is telling you one thing and people's intuition will tell them something else.
Ruby Rogues
Developing your development - RUBY 649
And then maybe we can circle back around to kind of the big ideas that we got to on the other shows that are going to help folks.
Ruby Rogues
Developing your development - RUBY 649
No, I can't see why that would be a problem at all. Yeah. I wish people would review my PRs that way. Oh, it's Chuck. Yeah, he always writes good stuff. Done. Always. Always. Anyway, I did want to ask another question, though, about when you were talking about how people generally get like two hours of editing slash code time per day.
Ruby Rogues
Developing your development - RUBY 649
Does that mean that the other six hours is like mental time or stack overflow time or Google time? Or is that like realistically how productive we are?
Ruby Rogues
Developing your development - RUBY 649
Those 12 screens, I'm jealous. But then I also realized that I'd probably only use like three of them maximum. and probably only two of them regularly.
Ruby Rogues
Developing your development - RUBY 649
Side note, so my phone buzzes and gives me the option of typing on the iPhone keyboard whenever one of my kids does a search on any of the apps on the Apple TV. And it's pretty fun to be sitting in the back of the room when my phone buzzes and I pull it up and start typing their name in there while they're trying to type in the name of the show they're trying to find.
Ruby Rogues
Developing your development - RUBY 649
Nice. Well, anything else? Sorry, go ahead Chuck. No, I was just going to move us along, but go ahead.
Ruby Rogues
Developing your development - RUBY 649
Good to know. Mason, are there other things that we should be aware of or talk about here before we go to picks?
Ruby Rogues
Developing your development - RUBY 649
Yeah, I think some people are going to be, yeah. Our biggest show is a JavaScript show and they have feels about whenever I bring up, you know, I just get more done in Rails. Yeah.
Ruby Rogues
Developing your development - RUBY 649
The newest one, always. Always. I am curious how far down the rabbit hole you went on the technology, you know, just to switch gears there, right? Did you, is it straight up just Rails server rendered and that's it? Or using like Stimulus, Hotwire, Stimulus Reflux, any of that stuff?
Ruby Rogues
Developing your development - RUBY 649
Yeah, we've been playing the just basic stimulus, turbo links, make a backend request, replace HTML kind of stuff. And boy, that's enough sometimes. Yeah.
Ruby Rogues
Developing your development - RUBY 649
We've been talking about basically getting more done. I'm kind of curious as we dive in. First, do you want to just give a little bit more of an introduction? I kind of glossed over all the cool stuff you're doing at software.com and all the tools that you provide to people and things like that, as well as the research that you're doing on productivity.
Ruby Rogues
Developing your development - RUBY 649
I'm really liking it. Cool. Well, maybe we'll have to have you back on and talk about re-architecting off of Node and onto Rails. Yeah, that'd be fun. I'll bring our metrics with me to see what it looks like. Sounds good. All right. Well, let's go ahead and jump over to some pics and do some shout-outs. Luke, do you want to get us rolling?
Ruby Rogues
Developing your development - RUBY 649
I'm going to have to go play with that. Dave, what about you?
Ruby Rogues
Developing your development - RUBY 649
Yeah, I use that to basically glue anything that super glue won't do. Super glue is good for like plastic. JB Weld will glue pretty much anything. It's amazing stuff. And it comes in two bottles and you just mix it and then you smear it where you want and stuff. It's amazing stuff. Love that stuff. Yeah. Did you have any other picks? I didn't mean to cut you off. All right.
Ruby Rogues
Developing your development - RUBY 649
I'm going to jump out here with a few picks. The first one is, and I don't, it's funny because I don't remember what I picked week to week. And so I'm sitting here going, do I pick that? I'm just finishing a book on Audible. It's called Fanatical Prospecting. It's a book about sales.
Ruby Rogues
Developing your development - RUBY 649
So if you're getting into sales and I'm getting way into sales just because of the Dev Influencers Accelerator, really, really digging that. It's a six hour book. on Audible and I'm really, it's been really, really helpful. So I'm enjoying that. Also been enjoying the book, Who Not How? by Benjamin Hardy and Dan Sullivan, which is also kind of a business slash management book.
Ruby Rogues
Developing your development - RUBY 649
So if you're looking at how to do something, a lot of times you're better off finding somebody who can do that instead and freeing up your time and effort. A lot of times you're not going to find somebody who can do it 100% as well as you, right? But if you can find somebody who can do it 80% as well as you and...
Ruby Rogues
Developing your development - RUBY 649
you can free up that time you're better off and so I've been enjoying that as well we watched a movie with my kids the other day and I've been in it was funny because they were all like really but my my middle daughter she watched it like every other song that came on she's like I didn't know that song was from this movie it was Fiddler on the Roof Well, I was a rich man. Yep.
Ruby Rogues
Developing your development - RUBY 649
So it was pretty funny. Not really her style of movie, but she really loves show tunes. And so she'll have the Echo play show tunes over and over and over again. And so, yeah, she didn't realize that a bunch of the songs she enjoyed were from that particular movie. So that was pretty funny to have her go, Oh, that's from this? Like over and over and over again through the whole thing. So...
Ruby Rogues
Developing your development - RUBY 649
Yeah, really funny stuff. And then the last pick I have, and I've probably picked this before, but I've been diving into more and more automation stuff with monday.com. We are actually moving all of our production processes for devchat.tv for the podcasts over to monday.com.
Ruby Rogues
Developing your development - RUBY 649
And like literally right now, Michaela is putting all of the upcoming episodes into it so that the automation stuff will happen. So emails will go out when somebody schedules a new episode. It'll go out to the guest and let them know, hey, we're going to send an email in a couple of days to the host.
Ruby Rogues
Developing your development - RUBY 649
So the host can put questions in, but anything you want them to prep on beforehand when it goes through the whole process. After we record it, The link to the media gets put in. Then it notifies the editor. The editor gets done. He puts his links in and it notifies the show notes people. Their stuff gets put in. Show notes people may be the hosts. It may be somebody else.
Ruby Rogues
Developing your development - RUBY 649
It just kind of depends on the show. And then when it's all ready to go, then it tells somebody to schedule it. And then after it's scheduled, tell somebody to post to social media. And yeah, the whole nine yards is all managed in there. Notifies people through email and Discord. Some of that had to happen through webhooks with Zapier, which is the other pick.
Ruby Rogues
Developing your development - RUBY 649
But the nice thing about Monday is that it gives you a visual look at where everything's at. And you can actually build dashboards around your processes. So it's been really nice. I'm still working out some of the kinks. I hired somebody. Speaking of who, not how. I hired somebody to help me set all this up. So it's been really, really handy. And we're going to be moving ahead.
Ruby Rogues
Developing your development - RUBY 649
I am trying to figure out how to get the hosts in there without having to pay for a whole bunch of extra accounts. And I think I can add viewers without having to pay for them. So that's probably the way we're going to go. And then if they need something changed, then they can just... I think you all can just bug Michaela and she can add the stuff.
Ruby Rogues
Developing your development - RUBY 649
But anyway, that's kind of what we're looking at right now. And it's just been this process to get it all in. But it's been really slick once we got some of this stuff together. It's been really, really slick. So I've been really happy with that as a tool. So I'm going to pick all of those things. And yeah, that's what I got. Mason, what are your picks?
Ruby Rogues
Developing your development - RUBY 649
They're awesome. You should check them out. Nice. One more question. If people want to check you out or check out software.com, where do they find that stuff? Yeah, so software.com.
Ruby Rogues
Developing your development - RUBY 649
Well, we'll go ahead and wrap up. Thanks for coming, Mason. Thanks for having me. Big thanks to our panelists. We'll go ahead and wrap up here. Until next time, folks. Max out.
Ruby Rogues
Developing your development - RUBY 649
But yeah, you want to just give us the quick elevator pitch and then we can dive in? Sure. Yeah.
Ruby Rogues
Developing your development - RUBY 649
Hey, everybody, and welcome back to another episode of the Ruby Rogues podcast. This week on our panel, we have Dave Kimura. Hey, everyone. We also have Luke Stutters. Hello. And Charles Maxwood from DevChat.TV. And this week, we have a special guest, and that is Mason McLeod. Hey, everyone, and thanks for having me on. Yeah, now we've had you on a couple of other shows.
Ruby Rogues
Developing your development - RUBY 649
He just had me at Emac Spotify. Just saying. Control X, control play. But yeah, whatever. I do have to say though that, I mean, it's interesting, right? These are all things that you measure or don't measure. I also just want to back up to the kind of the team stats, right? Because there are a couple of things. One is that my team, we pair or mob everything.
Ruby Rogues
Developing your development - RUBY 649
And so measuring that kind of productivity, I may not be the person who's actually even in the editor, right? I may be...
Ruby Rogues
Developing your development - RUBY 649
participating over the call or pushing you know i may put the pr together but none of the commits are actually commits that came off of my machine sounds like things like that well maybe it could be but my point is is that by measuring the velocity of the team or measuring the output of the team measuring The team as a whole, if I'm out for a week, they can see what the impact is, right?
Ruby Rogues
Developing your development - RUBY 649
Or somebody else is out for the week, they can see what the impact is, even if they're not seeing specifically, oh, there are fewer commits by Chuck or fewer commits by one of the other guys, right? Yeah.
Ruby Rogues
Developing your development - RUBY 649
Well, I've been on teams where we didn't pair, right? We didn't pair, we didn't mob. We just do the work, but we were still collaborating, collaborating, collaborative dating, whatever. We were still talking to each other about what we were working on. We were still, hey, I'm stuck on this. Can you help me out? Hey, how does this go together so that I can integrate with it?
Ruby Rogues
Developing your development - RUBY 649
Hey, how does this kind of get integrated on CI? How is this going to come together when we deploy it? Hey, you know, how does this work? Hey, do you know a good algorithm to solve this particular problem? And so there's always going to be interplay between the members of the team, whether you have them sitting together or on a Zoom or... Teams or Skype call.
Ruby Rogues
Developing your development - RUBY 649
And so the reality is, is if you're not measuring it as a team, you're not measuring all of that other stuff and you're going to miss really a big part of how this all kind of comes together. Because at the end of the day, everything that I'm working on and everything that you're working on and everything that everybody else is working on, on this particular app or set of apps,
Ruby Rogues
Developing your development - RUBY 649
it all goes into the same bucket and we're all measuring that progress on the same rubric. Yeah, exactly.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I'm going to go into my IRBRC and I'm going to alias that to vanity. I'll type in vanity and then it'll tell me how fast all my stuff is. What else is coming to Ruby 3? Oh, go ahead.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Well, yeah, because you had to use the command line utility to get R docs before or open up some kind of wonky web interface and it just was never worth it. Right. But if it's in line when I'm working, that makes a lot more sense.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah. Or get it on the fifth try. Oh, these are the right parameters.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Gross Python. Anyway, so yeah, we'll send people over to your Raspberry Pi Ruby stuff because that's just cool stuff. In fact, we should just get you back to nerd out with that on. Anyway. Sure.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
You might be able to find an emoji font that has it. You know, it's like it's a smiley emoji, except it's I don't know. There's probably a Powerline font out there with it in there. Yeah. Anyway, very cool. You mentioned, yeah, that you kind of got into this because you saw somebody else doing some stuff with it. What's the story as far as like you... learning this stuff, right?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
But yeah, let's talk about IRB because it's a tool that we kind of all go to, whether we realize that it's the Rails console kind of runs on top of IRB or whether we just run it ourselves and then run stuff in it.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Because I'm assuming there's a bit of a journey there. And, you know, it didn't just like, you know, upload to your brain, right? So, so what was the journey there? And how did this kind of get implemented over time at work and things like that?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Why don't we kind of go with kind of a high-level overview of what IRB is for people who are just getting into Ruby, and then we can just assume that people know it and use it, and we can dive into, okay, stuff you didn't know about, right?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Cool. So I'm kind of curious now that you've dived. It's so funny because talking through this, I'm sitting here going, man, I really kind of just took this for granted that it just worked. Right.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So I guess what I'm kind of aiming at next is you've done all this work to understand IRB, understand how it works, dive into the feature set.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, fair. All right. Well, anything else you all want to dive into here before we do picks? All right. Well, let's go ahead and shout out about some cool stuff. John, do you want to start us off with picks?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, and so I'm going to pile on that because I was going to pick similar. And essentially, there's an issue in the Rails repo. I think it was introduced yesterday, the issue. And so, yeah, MimeMagic used a list of MimeTypes that was GPL licensed in the gem. And so because of that, yeah, it...
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
The whole thread is essentially a discussion over this idea of viral licenses and how it does or doesn't ruin software, which I found to be mostly not helpful. Ultimately, there's going to be, you know, They're going to talk. Somebody's going to talk to some lawyers.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
They're going to figure out what they're supposed to do and then they're going to fix it so that if you're using rails, you don't have to worry about it. But in the meantime, yeah, just be aware that this is a conversation that's going on. I'm going to see if I can find somebody who is an expert on this stuff so we can do an episode on it. right? Because I'm not an attorney.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I don't know how all this stuff works. I don't know what the implications are. But in the meantime, yeah, it's something to watch for sure. So we'll put a link to the issue in the show notes. And yeah, let everybody kind of
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
follow up on that but they did actually close commentary on the issue because after the first probably 20 or 30 comments yeah it just kind of devolved into people arguing over what it meant as far as this is good or this is not good and ultimately i think what we need to just see is What are the implications for the Rails community at large?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And, you know, how do we continue to be able to write software the way we write software? Because a lot of these conversations about kind of the social structure of software and the legal structure of software are things that we don't really want to think about. We just want to think about writing code and enjoying technology.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Valentino, do you want to introduce yourself? Let everybody know why you're awesome and all that good stuff.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So anyway, yeah, we'll get somebody on who can tell us what we have to care about. Yeah. Yeah, so that's one pick. I was looking back through my Amazon history for some ideas on other things I could pick. One thing that I've really been enjoying lately, I have a soda stream, which is a carbonator. You can make your own soda. They also sell mixes.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And then I just order drink mixes in general off of Amazon. So they have like different fruit flavors and stuff like that. I don't drink alcohol. So it's kind of funny because I get this stuff that people add to their alcoholic drinks that just are the flavors, you know, and we just... carbonate that. So anyway, but I'm really liking it.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
They have an energy drink flavor and a cola flavor and a root beer flavor and a, They don't have a cream soda flavor, but you can find one on there that is. I get the sugar flavors because I'm diabetic. So I'm going to pick that. I've really, really been liking having that. And so that's something I'm picking.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And then for the Dev Heroes Accelerator, one thing that's really been working out nicely for me lately that I've been using to get people in and then get them the content they need. I've been using Teachable and I'm really liking Teachable. It's a terrific platform for just putting the videos up and giving people what they need there.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And so I've been putting videos up on, hey, you know, during the coaching call, it's a group coaching call. Don't always have time to dive into everything that everybody needs. But afterward, I can do a video on it, right? And then everybody has it. And so I've got some videos going up there, which is awesome. Probably going to turn it into a course at some point. People can just buy one off.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And then if you want the direct coaching, teaching, you can go for it. But yeah, I'm really digging that. If you want to apply, you can go to devinfluencers.com slash apply and get that. I'm also starting a podcast for dev influencers. So if you're thinking, hey, I'm not sure how to grow my career from here.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
We're going to be talking about how to grow it by building an audience, making connections through something like a podcast. In fact, specifically through a podcast. And I'm also going to be interviewing other people who have built audiences and influence in the dev space and talking to them about how they did it. And yeah, just giving you ideas about how that can be done, right?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Because some people, what happens is they... They kind of become senior devs. They realize that, hey, the job I have now looks a whole lot like the job I'm going to have in a few years. Not really what I want long term for my career. You know, I want to keep learning. I want to keep growing. You know, I want to get paid more five years down the line kind of thing. And so how do I do that?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
They don't really want to go the architecture route. They don't really want to go the management route. And so where do we go? So you can go the influencer route, right? And it's a lot of fun because you get to meet people. You get to explore areas. You don't get to explore other ways. And you still get to code. And so that's kind of what we're doing there. Yeah.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Anyway, long pitch, but ultimately I'm doing Teachable and I'm really enjoying Teachable. And then for the cart to sign people up, I've used all kinds of stuff, all kinds of membership software. I hate them all. I hate the shopping cart in Teachable, by the way. It sucks. But I've been using Thrivecart for all that stuff and I really like it. It is terrific.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
It has an affiliate system that actually works, which is awesome. And so if you're going to be selling stuff online, I highly recommend Thrivecart. So those are my picks. Valentino, what are your picks?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So now I have to ask, my kids love playing Minecraft and they want to be able to play with their cousins, but we do not let them play on public servers on the internet because I do not trust who's going to be on public servers on the internet. So how do I set up a private server that their cousins can get on or, you know, things like that?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So, yeah, I don't want to go too deep into, you know, what it is. And you kind of connected the dots, I guess, on how it evaluates code. But I'm always looking for kind of the neat tricks, right? Yeah. So let's start there. And then if we have time, we can come back around to internals or other things that you learned while you dove into this. Sure. So what are the neat tricks?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
No, I like it because, yeah, my I mean, especially with my kids, most of my brothers and sisters live pretty close to here. But even then, you know, they're connecting from their houses. But my wife's family in particular, she has a brother in Oklahoma, a brother in Texas, a sister that lives an hour and a half away. Right. And so, yeah, it's just it's not ideal.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
But yeah, they'd still like to be able to connect and, you know, go play in the same world. So.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And then, yeah, the other question I have then is it just it keeps your EC2. So you shut down the EC2 instance, but it still saves all the data because it keeps it around.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yep. OK, because, yeah, they like to build towers and castles and they'd be devastated if it disappeared.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
That's right. I have I have three things to do this weekend. Now I have four. But I'll tell you what, the three things I have to do this weekend make me the hero with my wife, which pays off, right? And then the fourth one makes me the hero with my kids. And if I get it done this weekend, I get it done a week early for spring break. Boom.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Like what were the things that you didn't know it did that it does?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, my kids keep asking me to add... There are the extensions, I can't remember, mods to the server or to our setup at home, right, on the Xbox. And so that'd be nice too to be able to just, yeah.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Well, I'll tell you too, though, like giving my wife, you know, well, I'll just take away Minecraft and all she has to do is text a number to do it. Yeah, it's pretty huge. Boom.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Ultimate power. Yeah. All right. Good deal. Well, I've asked you enough questions about that. Thanks for coming, Valentino. This was awesome. Yeah, absolutely. I've had a blast. Thanks for having me on. All right. If people want to find you online, I'm assuming you're like on Twitter and GitHub and stuff.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And yeah, my kids' lives just got better because of Twilio-powered Minecraft. There you go.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, you're going to get an email and it's going to be like, this was so great. All right. Thanks again. And until next time, folks, Max out.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So then we know, you know, John is a witch. He turned me into a newt, right? Yeah, exactly. I got better. Anyway, yeah, but yeah, you can see where that change happened, right? And you can go and you can reverse it or go slap somebody's hand or something like that, right?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
yeah makes sense do either of you uh luke or john use a custom i what is irbrc i didn't even know it existed is this the same thing as pry because i use pry all the time but but but i feel like a question for me i don't know he's good is irb pry no
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
What about the Rails console then? It's built on top of IRB, right?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah. And Pry has a Pry RC, doesn't it? It does. Yep. So what does Rails do in order to torture or otherwise modify IRB? I haven't looked into it. You haven't looked at that. Okay.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Well, the reload command is just part of Rails anyway. So yeah, I mean, that makes sense that that would be in there. Yeah, so I mean, that's a...
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Hey, everybody, and welcome to another episode of the Ruby Rogues podcast. This week on our panel, we have John Epperson. Hello, everybody. Luke Stutters. Hello. I'm Charles Maxwood from devchat.tv. Just want to shout out, go check out devinfluencers.com if you're looking to be a dev influencer. I guess that's pretty straightforward. We have a special guest this week, and that's Valentino Stoll.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
See, now I want to create an evil IRBRC that redefines common methods off of kernel.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Already implemented in hardware. That's what John is saying. It's all good. It works. My butterfly keyboard, it didn't do that. It was just P, P, P, P, P, P, P, P, P, P, P. I just tapped it once.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Nice. So we have you on the docket to talk about the hidden gems of Ruby's IRB. But before we dive into that, you said embedded systems with Ruby. So are you using, what is it, mRuby for that?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Of course, I've worked at a lot of places that don't even give you that kind of access to the production systems to even be able to run IRB, right? I mean, you might, your ops people might be able to do it, right? And you might be able to give them specific instructions or check in a rake task or something that will do with the work and then they can run the rake task for you. But yeah.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
You know how smart I'm going to look at work tomorrow.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
So, I mean, I find this all really fascinating, but I guess my question is, What kinds of mistakes might I be making now? Or, you know, what what kinds of things should I be considering doing now to protect these secrets? Because, yeah, you know, what you're talking about sounds brilliant, but it doesn't exist yet. Yeah.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And I'm just I'm a little worried that, OK, we're going to talk the rest of this time about futuristic stuff and then I'm going to be I'm going to miss them.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah, I think that's important. It's funny because so I kind of have two levels of this one where I'm working for a client and the other one where I'm just working on my own stuff. And on my own stuff, I'm fairly confident that I can answer these questions because I'm basically the only person accessing or using them.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Right. So I'm just going to kind of cover the.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
But then the question for me becomes, okay, well, how do I, how do I, you know, let's say I bring in another developer. How do I make sure that I know the answers to those questions as I bring them on board?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
basics of how i do this and then maybe you can tell us if there are other ways that you're seeing people do it but uh typically these kinds of things where i see them and i'm sure valentino's in kind of the same boat is they either show up in environment variables and or they show up in um in the rail secrets or and effectively what it is is it's a uh it's an encrypted file
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And so then the encryption key is usually put into an environment variable or, you know, passed into the system that you're running it on on the other end in some way. And lately I've been doing my deployments with Kamal, which uses Docker. And so it kind of sets that all up when it sets up the container.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
But I've always kind of wondered because you can ask the system if you can get into it, what the environment variables are. So I don't even know if that's the best practice anymore.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah. It's funny how, yeah, you wind up scratching an itch. That's not, how do I put it? It's not like the core thing you were trying to build.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah. It's, it's interesting because I've been kind of in that same space where I've been looking for a solution that does a whole bunch of things that I want for the podcasts. And I've just, you know, so I built little pieces of it here and there. And so I finally just started bolting it together so that I have the full solution and,
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah, it's interesting how many times you have, yeah, things come out of that.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah. So I just want to just jump in here because essentially what you're telling us is just because your GitHub repo is private, does not mean that you can check your secrets into it and expect them to stay safe.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
What are you doing, Valentino? Is it kind of the same?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
So let's say that, I don't know, I'm cheap and I don't want to use something like Doppler. I don't even know what you cost. Maybe it's like, ridiculously inexpensive, but let's just say that, you know, I, I decide for whatever reason I want to do this by myself. I mean, what, what does that look like?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
One other thing that I've seen, and I think that I saw this on the Kamal podcast, which is a deployment system that was written by David Heinemeyer Hansen. And anyway, it can pull secrets from like 1Password. Yeah. Have you seen people using 1Password for their secret Spanishmen?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Cool. Anything else that you guys want to dive into? Um, so give us kind of the, the what? Two minute pitch on, on Doppler. Just, just to let people know what it does and how it makes your life better.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
I'm a little gratified you mentioned Crumble Cookies, their local company. Anyway, let's go ahead and do our picks, and then we'll wrap up. Now, I don't know if you had a chance to listen to other episodes of the show, but we just shout out about stuff that we're playing, doing, or that we like. Valentino, do you want to start us off?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Cool. I'm going to throw in my picks. So the first one I always do a board game pick I'm going to pick, keep the heroes out. So the kind of the design of the game and stuff is kind of like a dungeon for like D&D, except simplified. And you're not playing the heroes, you're playing the monsters. And so each player gets to play a different set of monsters and they have different abilities.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And so the way that you play is you take your turn by, you know, playing your cards. So you have a deck of cards. And so it's a little bit of a deck building game and you can do all kinds of stuff. You can move, you can create artifacts. You can do stuff with the artifacts, depending on which room you're in and what actions are available to you. And anyway, you can also spawn new monsters and,
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
You know, again, depending on what actions you can take. And so then after you do all your stuff, then what happens is then you spawn heroes. And so you draw the card and it tells you what rooms to put what kinds of heroes in. The heroes do their special abilities. And then they'll either attack monsters or try to open the chests.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
in the room, or if they can't do either of those two things, then they'll move one step closer to the vault. And the chests are numbered. So if it's a one, then it takes one activated hero to open it. If it's a two, it takes two. You kind of get the idea. So anyway, that's essentially the game. There are a couple of other nuances to it. And of course,
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
it has a series of dungeons that you can play through. And so, you know, there are different rules for the different dungeons as far as how they work. The way you win is you exhaust the hero pile twice. And yeah, the way you lose is, if the heroes open the chest in the vault, which is the four, uh, chest. So anyway, uh, really fun game takes about, uh, what, 45 minutes ish to play.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Um, the artwork on it is awesome. The different types of monsters are fun. Um, and so, yeah, I've played it. It plays one to four players. I've played it with three and four players. And anyway, it's, it's a fun game. Um, Yeah, so I'm going to pick that. And then one movie I've been wanting to watch for a while, mostly because I just heard it was really good, is Hillbilly Elegy.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Now, I recognize that this is the memoir by J.D. Vance, who's currently Donald Trump's running mate. So politics aside... Right. And I try not to get into it too much on this show. Long time listeners know where I stand on all this stuff, but I don't want to make the show about politics. But the story is amazing.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And, you know, the fact that, you know, this kid can come from basically the kind of place and lifestyle that he did and then become. you know, wind up going to Yale law school and then, you know, becoming us Senator. I mean, I just find that incredibly inspiring and, you know, at the end of the day, then, you know, how you feel about him now, whatever it it's really well done.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
It has Glenn close and Amy Adams in it. Um, I haven't read the book, so I, I don't know how closely they stuck to it, but, um, Anyway, there were just several, I think, life lessons that anybody can benefit from. From the standpoint of, hey, look, if you really want these things out of your life, then you can go have them if you're willing to do what it takes.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And so, you know, from that standpoint, yeah. I really liked the movie. There was something else I was going to pick and I just... Oh yeah, it was the Mike Rowe film. And this one is on the Angel Studios app. I think it's called Something to Stand For. And this is more, it's almost a documentary. So if you've listened to the rest of the story by Paul Harvey, it's kind of based on that.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
that's also the premise of Mike's podcast, at least when he started it. Now he just interviews people that are interesting to him. But what he would do is he would tell the, tell the story without telling you who it was about. Right. And so at the end, then he, you know, there's the big reveal. And, and so the, the, this person was, you know, Neil Armstrong or whatever. Right.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And, you know, and so that's the rest of the story is kind of the idea. And so he tells a bunch of those from a U S history from moments that, in some way shaped the direction of the country. And anyway, I really, really enjoyed that too. Uh, so I'll put a link to that in the comments as well.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Um, but yeah, and then the last pick I have, so Valentino mentioned rails world, um, and the stuff that came out of it. I haven't watched any of the talks. I haven't really dived into what came out of it, but I've been using Kamal to deploy my stuff and I've gotten really tired of fighting the traffic, um, reverse proxy load balancer.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And so I wanted to upgrade to Kamal 2 so I could get the Kamal proxy put in and make my life a little simpler because it looked like it would make my life a little simpler. And so I did the upgrade and I kind of screwed it up and then fixed it. So it took a little longer and a little more work than I thought it would. Essentially what I messed up was the directions are a little bit
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
The documentation on Kamal is just not awesome. I'll just put it that way. But anyway, what it does is it tells you to upgrade by upgrading to Kamal 1.9. There's 1.9.1 now, but I think it tells you to do 1.9.0. Anyway, you want to make sure that you can deploy with 1.9, and then you can upgrade to 2.1 and 1.9.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
do the Kamal upgrade and then it goes in and it stops traffic and it starts the Kamal proxy and it, you know, does the let's encrypt and all of that stuff for you, um, without having to know all of the arcane magic that you need to know in order to get traffic to do all that for you. Um, and so I'm, anyway, I'm pretty excited about it. It's, it's been pretty awesome so far.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
So I'm going to pick that, um, I got a couple of things I still need to figure out on it because I want to do multi-tenancy and allow people to pick their own domains. And so then I want it to do the let's encrypt stuff. And so I'm trying to figure out if I can make Kamal do that for me or Kamal proxy do that for me without having to have it in my configuration.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
But for now it's, it's deploying great. So I've been pretty happy with that. Brian, what are your picks? Yeah, those are some good picks. Hard to compete with that.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Awesome. I don't think I've played this one. It's it's pretty highly ranked on board game geek. It has a weight of 3.74, which means it's pretty complicated game.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
It took us eight hours to figure out. Yeah. It says two to four players and the play time is like three to four hours. And I'm assuming that's if you know how to play.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah. But yeah. So the, the rank on it overall is nine. So it's the ninth most popular game on board game geek.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah. And it's, uh, it's the fifth thematic, which means that it has some, you know, some theme to it, like star Wars. Um, so yeah. So, um, next time I'm at a board game convention, maybe I'll see if they have it, if I can play it anyway, I'm, I'm a board game nut. I really enjoy that stuff. So it's a lot of fun. Yeah. So, Brian, if people want to connect with you online, how do they find you?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
All right. Well, thanks for coming.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Thank you. All right. Till next time, folks. Max out.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Hey folks, welcome back to another episode of the Ruby Rogues podcast. This week on our panel, we have Valentino Stoll. Hey now. I'm Charles Maxwood from Top End Devs. And this week we're here with Brian Vallelunga. Now, you are the CEO and co-founder of Doppler. And that's an app that helps manage secrets. You probably have a better pitch than that. So I'll let you explain what you do.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah, I remember using a system like this way back in the day. I think you had to log into their interface or use their command line interface in order to edit your secrets. And I can't for the life of me remember what it was called. But I played with it and it was cool. It was just there were steps to setting it up and I'm lazy. And so I just went back to what I was doing.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And I think, I don't know, in the Ruby community, at least where I deal with people, and especially in Rails, right, we kind of understand what the secrets are at your passwords, maybe your, you know, you have your rails master key, which gives you access to the secrets in rails, but you also have like your, what is that? It's a token for your sessions. I can't remember what that's called anyway.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
I kind of want to dive in a little bit more on just why we protect the secrets. Because I think we all kind of intellectually know, but... I don't know when I get into stuff and I start, you know, dealing with the secrets, it's like, Oh, somebody got access to my, like my Stripe tokens. I mean, that, that could be really, really bad, really bad.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
So you need that secret key and yeah, people can compromise your security if you don't have that secured. Are there things besides like passwords and API keys that you consider secrets?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Right. Well, it reminds me your story a little bit of if you read Ghost in the Wires. Is it Kevin Mitnick? Yeah, Kevin Mitnick. Yeah, I've watched the movie about it, but I haven't read the book. And see, I didn't know there was a movie, but I read the book. But yeah, he talks about how effectively, yeah, he gets just a little bit of information about the next person in the chain, right?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
And so he doesn't start with the analyst or whoever, right? He starts with the low-down person on the totem pole and then gets enough information to know who the next person is and then works his way up. it's yeah, it was, it was a fascinating read just from the, the sense of, yeah, you know, just, just anyway. Um, so yeah, so I can definitely see that.
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Um, I think the other thing that I worry about is like, if I have a key to, I don't know, like chat GPT or something like that, somebody could run up my bill or, you know, somebody gets into my hosting account and, you know, all of a sudden I've got, you know, they, they breach my other stuff that way. And anyway,
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Well, wait, when you say the encryption aspect of it, is that like how you're securing your secrets or is that like encryption keys?
Ruby Rogues
Secrets Management Best Practices and Tools - RUBY 655
Yeah, you're either hiding stuff or accessing stuff is usually what you're doing.