Luke Stutters
Appearances
Ruby Rogues
Developing your development - RUBY 649
Yeah, it's pretty interesting. I guess you would just have to assume, okay, no one ever works alone. They're always pairing. So both people get credit or whatever.
Ruby Rogues
Developing your development - RUBY 649
Yeah. Back to the light bulb thing. I don't know how I would feel about having a little light bulb also measure my efficiency. So like if I'm typing a lot of code, do really good, then all the lights turn green. Then I start slowing down and things go to like an angry red. I just, I don't know how I would like that.
Ruby Rogues
Developing your development - RUBY 649
I say the word green and it just turns green. No, I'm joking. I have a screen deck in front of me. Yeah.
Ruby Rogues
Developing your development - RUBY 649
And I think with this whole past year in the pandemic, a lot of companies moving to a work from home, especially if you are on a computer a lot. And so now where your recreational area used to be is now also your work area. I found having a actual separate place where I do my work And where I do my relaxation is very important.
Ruby Rogues
Developing your development - RUBY 649
So I will never take my laptop out into the den and watch TV while I'm working. Because to me, then that's very distracting. Or when I'm supposed to be watching TV, I would be working. So I think having... If you're able, if you do have a living space where you can set aside even just a small corner...
Ruby Rogues
Developing your development - RUBY 649
to where when you sit there, you know that you are focusing on work, I think can also help keep you in a mental state that you don't always feel like you're working because you're not in that one place where you do your work. And I think that's mainly when you are talking about working for an employer, not just yourself, because you have a certain level of expectations there.
Ruby Rogues
Developing your development - RUBY 649
But having that separation of concern of relaxation and work area space, I think, needs to be a physical boundary if you have trouble with that.
Ruby Rogues
Developing your development - RUBY 649
It's funny because I'm just imagining a torque curve. So before we started the talk, we were talking about cars and performance and stuff. So I'm seeing it as a torque curve where the y-axis is the amount of time required to complete the pull request and the x-axis is the number of lines of code. If you've ever seen a torque curve, it will go up significantly
Ruby Rogues
Developing your development - RUBY 649
But then it kind of levels off and then it has a steep drop. So I think that's more realistic to the code reviews I've seen where it follows a certain amount of time increases as the number of lines increase. But you get to a point where the amount of time for really large pull requests, it's almost instantaneous. Yeah.
Ruby Rogues
Developing your development - RUBY 649
I know I mess with my kids like that all the time. I'll just walk up to my wife's van and say, Hey Siri, start the car. And in my pocket, I'm hitting like the auto start button on the remote or Hey Siri, open up the garage door. And I'm just hitting the garage door button on our remote. Our kids, you know, some of them, sometimes they believe it, but not often.
Ruby Rogues
Developing your development - RUBY 649
So I just have one pick. And the backstory for it is someone hit our mailbox and broke it. And it was an aluminum bracket that was holding the actual mailbox up. And it just kind of shattered in half. So what I ended up doing was making a trip to Home Depot and I got some aluminum solder stuff that I was going to try to solder it. But I thought, you know, I've never soldered aluminum before.
Ruby Rogues
Developing your development - RUBY 649
I don't know how well that's going to work. And so the alternative is to use an epoxy. So I got some JB Weld steel epoxy. And this stuff, I think the mailbox mount bracket is stronger than it was before. I tried breaking it off after I let it cure for a few days. And I can't even make any bends or anything to it. So...
Ruby Rogues
Developing your development - RUBY 649
JB Weld epoxy is amazing and it's really cheap for how much and you need and stuff so
Ruby Rogues
Developing your development - RUBY 649
I do have to push back a little bit because the number 24 slot is the real Slim Shady. I don't know how well my coding would go if I'm listening to that. I'm not saying Eminem's bad or anything, but that song in particular, I'm sorry, I don't have the full buy-in yet.
Ruby Rogues
Developing your development - RUBY 649
I've never tried or looked into this because I've never had the need to, but within Git or GitHub, whatever version control and methodology you're using, can you assign multiple authors to a single commit, which would then in turn maybe solve that issue?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So the only, the only, yeah. One of the main reasons that I like Fry is actually this, but it's not because you just use show desk source, right? Right. But it's mostly because it's complicated to remember all the steps that you have to do, right. To grab the method as an object, then call, you know, source location or whatever, right.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
The other thing that's an issue here is that Pry actually does a reasonably good job now. It didn't used to, but it does a reasonably good job of showing me all the dynamic stuff that goes on when I prepend eight things, which is just going to cause problems anyway. But if I'm overriding my method a million times in weird, odd ways, things can get weird.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, I'm pretty sure I saw that in a Ruby Weekly, and I just have been slow to get around to looking at it. but I like pretty things. So I'm, we'll be checking it out.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
All right. So some sweet, uh, any other like things that are coming over so we can wrap up that part?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
That's the thing that comes with Ruby 3, right? Specifically?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Is that combined with the tracing stuff? So if I turn on tracing, right, and then it's giving me my whole back trace, am I also getting... whatever we call it, benchmarking, right? For each of those lines.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I was going to say, one thing that I saw that I thought was really nice in the article that kind of spawned this particular interview was that IRB is getting colors now. I don't have to hire something separate to get colors.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Nope. I'm part of the same crowd. Skipping from 2.6 to 3. Oh, there you go. Do you have anything specific for that? Go ahead. No, I believe it's turned on by default.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yep. Because to be frank, the only good docs readers were all web browsers. And so whenever my internet goes out, I have to be like, oh, And then like go re-remember how to get my docs working locally again, like for the three hours that it's on.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, I stopped using Dash because I didn't like paying for it. I felt like my web browser version was better. This is kind of what I meant, but the web browser version is weak whenever my internet goes out.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So you mentioned the banner thing that kind of started you down this road. Were there any... As in... As somebody who likes my console to look aesthetically pleasing, were there any things that you were just like, oh, yeah, now I do this all the time, customize my IRB shell, and everything is pink and green or something? I don't know. I'm sorry. I shouldn't say that.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I like aesthetically pleasing stuff and then immediately pick those two colors in conjunction. Yeah.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
It's possible. Real emoji? Probably not. I don't know. There's probably everything in the emoji space. What am I saying?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
It is pretty cool. It doesn't catch all the dynamically named stuff or the dynamic calls mostly. But yeah.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I mean, that's Ruby. Rails specific mostly. All those after commit things that you're doing. One of the things that I noticed in here was the switch from read line to re-line. So does that mean that we're dropping the read line dependency? Like, I guess I tried to look that up and I couldn't find an answer real fast. I don't happen to know if you...
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Does it does it increase my buffer for pasting now that you're talking about pasting in here?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Always had a problem with that when I'm like writing long scripts or something.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
It kind of sounds like IRB is giving you a lot of what you want already.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah, I will. So I just recently replaced my grill. My grill of... over a decade um it just i replaced the grates a few times anyway i've tried to keep that thing alive because i had it was one of those like double-sided one half was gas one half was charcoal and i was very happy that i got it and i got it for like 200 bucks and
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And so, you know, I got it like a decade ago and I'm like, oh, sweet. I'm ready to spend two hundred dollars on a grill and like like two hundred dollars will buy you like a little dinky thing that sits on the ground and you have to crouch down and use it. So I was like, oh, so I had to reevaluate a lot.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And I went around and dug around and I was just pretty angry that everything that I wanted to buy was like six hundred bucks. But I eventually like found something that was pretty good and I've been using it for like two months now. So I've been pretty pleased with it.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I had to give up having one side charcoal and one side gas in order to get a good gas grill because apparently they just don't put those two together unless you're willing to spend, you know, a small fortune on it. But yeah, so I found like this nice gas grill that gave me like six burners and like didn't completely break the bank at 350 bucks. So I was pretty pleased with it.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I'll put a link to it or whatever. But it also wasn't a deal because like there was a different grill that I really wanted that was like the $400 price point. Only like my wife was like, well, you need to need to think over it for another night. And I was like, but I have been thinking about it for like a month now. And this, anyway, whatever the deal was gone by the next day.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So this one is stuck around for a while. So at about that price point, so that seems like this is probably its natural price point. So yeah, anyway, got a sweet grill and it works pretty swimmingly for what it is. So, and now I just have to work on convincing my wife to let me buy a separate charcoal burner so that I can do charcoal stuff when it, when I have like more time or something. So.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Right. So I like that. That's that's my pick for this week or whatever. Been able. That's been very helpful because I my wife does not like Mexican food. And the number of things that I can cook that are not on a grill are pretty much all Mexican foods because that's that's how I grew up eating. So that's what I know to make.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So, yeah, my wife very much appreciates that I can grill some stuff since we are dealing with baby things.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I just put the link in the show notes that we can add. Is that what you're talking about, Valentino?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
It's all about reducing that management time, right? Like, sure, getting it set up the first time is fine. The issue is like when you're going in there for the 20th time because, you know, Minecraft is updated and your kids want this cool new mod and you're like trying to decide what dependencies are going to be an issue or not.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
And you have to remember because the last time you logged in was six months ago and now you have to like read a million things and your entire Saturday is gone before you finally finish with the darn thing.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
About delegating the administration of it to someone else.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Unless you install Rails Pry and then you hook into Pry.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I don't know that it's torturing it. My understanding. So, you know, obviously if I'm wrong, let us know. But my understanding is that most of what Rails is doing with its shell is just loading a bunch of Rails files. You're just loading your environment.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Yeah. I mean, if you open an IRB shell, right, even if you open it in your Rails directory, you don't have all those files loaded. But if you open your Rails console, it's already just like if you're running a Rails server, preloaded everything and run the initializers and all that kind of stuff.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So, all right. So I have this really sweet. So first of all, I've actually done the auditing thing, right? We did do it through an IRBRC or whatever. We did it differently or whatever. So that totally makes sense to me. But you guys implemented that through your IRBRC?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Okay. So we're just talking about extensions here to our environment. All right. Yep. No worries. No worries.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
But somebody's got to log in when all the systems go down. And it's Friday afternoon and everybody's trying to do some stuff. It just happens, you know?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So we talked about some stuff that's coming over from Fry. I actually I'm like super interested because as a very heavy user of Fry, basically, since I discovered it. Like, I don't know. I don't even remember because I don't remember my life before Pride, to be frank. What are the awesome features?
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
I mean, okay. All right. There are times when I load up IRB, right? And it's primarily when either I'm writing like a Ruby script, right? So I don't have a Rails thing going on, right? And, you know, and I just want to load something up really fast.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
Or if I'm working on a very large Rails system that takes forever to load and I just want to test out something really fast, so then I just load up IRB, require one or two files, and do a thing and then exit, right? And in both of those instances, one of the first things that I often do is I type IRB and then I go require Pry. So I have not lived without Pry for a very long time.
Ruby Rogues
The Hidden Gems of Ruby - RUBY 651
So what are some of the cool features that we'll get over, if you know them?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, it also, and this is important, and sometimes I think people hear this and they're going to go, That sounds a little scary. But you want people to take chances sometimes, right? You want people to kind of take a shot at making things better. That opens it up to them to do that, right?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
It's, oh, well, you know, I tried this tweak on the Jenkins file or I tried this tweak on the Kubernetes setup or I tried this tweak on this other thing. And a lot of times those things pay off. But if you don't give people the freedom to go for it, a lot of times you're going to miss out on a lot of those benefits. And again, as long as they're not being reckless about it, right?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
So they're taking the steps, they're verifying it on their own system and things like that, then you benefit much, much more from people being willing to take a shot. So yeah, so with the blameless culture, I'm curious. So you get together and you start identifying what the issue is. So what does that look like then as far as figuring out what's going on?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Because you're not pointing fingers, but you are looking for the commit that made the problem, right?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, but it does give you a little perspective too, right? Because usually in our post-mortems, we're talking about what went wrong with the system, not that somebody actually died because of this, right?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Well, some software it is. life supporting, you know, a lot of the medical equipment and stuff out there. But, you know, in this case, yeah, we all want to keep our jobs as well. So, I mean, it's not like we can just blow it off either. So, yeah.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
So I want to get back to the topic at hand, though, and talk a little bit about what kind of monitoring did you have before and what kind of monitoring you have now in order to catch this kind of thing.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, that makes sense. Somebody typed this question in. It was one of the panelists. Did you get that answered? I don't know if it was Luke or Dave.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Oh, that's interesting. Yeah, I think a lot of the background check portals that I've seen, they're like the fully baked portal instead of being a background service that somebody else can integrate into their own app.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
I know, right? I want to know everybody's dirty secrets. Interesting. So, yeah, why don't you tell us a little bit about what went down with the app, right?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, I've got, I think it's the bedtime settings in iOS. And yeah, I've just told it if it's a number in my contacts, then ring. And if it's not, then don't. So yeah, it'll go off, but it'll only go off if it's, yeah, if it's in my contacts. So yeah, then I just add whoever or whatever to my contacts and I'm set.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, the iPhone has that feature too, where you can essentially tell it, don't ring unless the number's in my contacts.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Makes sense. All right, we're getting close to the end of our time. Are there any other stories or examples or lessons that you want to make sure somebody listening to this gets?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
All right. Well, one more thing before we go to picks, and that is if people want to get in contact with you, how do they find you on the internet?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Awesome. Yeah, we'll get links to those and we'll put them in the show notes. Let's go ahead and do some picks then. Dave, do you want to start us off with the picks?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Cool. How about you, Luke? What are your picks?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Awesome. All right, I'm going to throw out a couple of picks. The first one is I'm still working on this, so keep checking in. mostvaluable.dev and summit.mostvaluable.dev. I think I've mentioned it on the show before, but I'm talking to folks out there in the community. We've talked to a number of people that you've heard of that you know well, that you're excited to hear from.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
But yeah, I'm going to be interviewing them and asking them what they would do if they woke up tomorrow as a mid-level developer. and felt like they didn't quite know where to go from there. So a lot of folks, that's where they kind of end up, right? They get to junior or mid-level developer and then it's, okay, I'm proficient, now what? Yeah, there are a lot of options, a lot of ways you can go.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
I'm hoping to have people come talk about blogging, podcasting, speaking at conferences and all the other stuff. And then just how to stay current, how they keep up on what's going on out there. So I'm gonna pick that. I've been playing a game on my phone just when I have a minute And, you know, I want to sink a little bit of time into it. It's called Mushroom Wars 2. It's on the iPhone.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
I don't know if it's on the Android phone. Yeah, liking that. And then, yeah, I'm also putting on a podcasting summit. So if you're interested in that, you can go to podcasts.com. podcast growth summit.co and we'll have all the information up there. If you listen to the freelancer show, um, the first interview I did was with Petra Manos. She's from, she's in Australia.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
So I was talking to her in the evening here in the morning there, which is always fun with all the time zone stuff. But she talked about basically how to measure your growth and then how to use Google's tools, not just to measure your growth, but then to figure out where to double down on it and get more traffic. So, um, It was awesome.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
I'm talking to a bunch of other people that I've known for years and years in the podcasting space. And I'm super excited about it too. And I should probably throw out one more pick. So I'm going to throw out Gmailius. That's G-M-E-L-I-U-S. And what it is, is it's a tool. It's a CRM, but it also has like scheduling. So like schedule once or what's the other one? Calendly. It allows you to set up
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Now, you're here from Checkr. You gave a talk at RailsConf about how you broke stuff or somebody broke stuff. Do you want to just kind of give us a quick intro to who you are and what you do? And then we'll dive in and talk about what broke and how you figured it out?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
series of emails it'll it'll do automatic follow-up for you and stuff like that and so it just does a whole bunch of email automation but it runs out of your email account your gmail account that's the big nice thing about it is that you don't get downgraded by send grid or something if your emails aren't landing and so that's another thing that i'm just really digging so i'm going to shout out about that paul what are your picks
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Awesome. I'll have to check that out. Sounds like a decent episode too, whether we just go through some of those and pick our favorites or whether we get whoever compiled it on. Thanks for coming, Paul. This was really helpful. And I think some folks are probably going to either encounter this and go...
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, I wish we were doing that because the last time we ran into something like this, it was painful. Or some folks hopefully will be proactive and go out there and set things up so that they're watching things and communicating about the way that they handle issues and the way that they avoid them in the first place.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
All right, we'll go ahead and wrap this up and we will be back next week. Till next time, Max out, everybody.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah. So people that aren't aware, PII is an acronym for Personally Identifiable Information. and is usually protected by law.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Gotcha. So I'm curious, as you work through this, what did you add to your workflow to make sure that this doesn't happen again? Because I mean, some of it's going to be technical, right? It's testing or, you know, maybe you set up a staging environment or something like that. And some of it is going to be, hey, when this kind of alert comes up, do this thing, right?
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Because it sounded like you did have some early indication that this happened.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Hey, everybody, and welcome to another episode of the Ruby Rogues podcast. This week on our panel, we have Luke Stutters. Hello. We have Dave Kimura. Hey, everyone. I'm Charles Maxwood from devchat.tv. Quick shout out about mostvaluable.dev. Go check it out. We have a special guest this week, and that is Paul Zeich.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Code drama.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
at the company. Very cool. I actually have a Checkr t-shirt in my closet that I never wear. It's Checkr for those that are listening and not reading it. Yeah. So why don't you kind of tee us up for this as far as, yeah, what happened? What broke? Yeah. Give us a preliminary timeline and explain what Checkr does and why that matters.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Yeah, one thing I just want to add is that I like the blameless culture just from the sense of unless somebody is either malicious, which I have never, ever, ever encountered, or is chronically reckless, which I've also never encountered, right? Everybody is usually trying to pull along in the same way.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
You know, if somebody has that issue, you identify it pretty fast and you usually are able to counter it before it becomes a real problem. But yeah, just to put that together, then, you know, yeah, the rest of it, it's, hey, look, we're on the same team. We're all trying to get the same place. So let's talk about how we can do this better so that doesn't happen again.
Ruby Rogues
The Sounds of Silence: Lessons From an API Outage with Paul Zaich - RUBY 652
Because next time it might be me, right? That misses a critical step. And I don't want you all fingering me either. I mean, I want to learn from it, but I, you know, we don't want people... walking around in fear. Instead, if somebody screws up, we want them to come forward and say, hey, I might have messed this up before it becomes an issue next time.