Talking SaaS With Garrett Dimon

This week Ben interviews Garrett Dimon to talk about some of his exciting new projects. They also cover alternatives to the SaaS business model, such as self-hosted licensing options, to make vacations more relaxing for founders if something goes wrong.

Show notes:
Links:

Garrett Dimon
Minitest Heat
Heat Map Reporter for Minitest
Review
Starting & Sustaining
Sifter App

Automated transcript (only about 70% accurate)
Ben
 
Welcome to FounderQuest, this has been Today, I'm interviewing Garrett Diamond Star and josh are taking the day off and I get a chat with Garrett, who's a longtime friend of mine and fantastic entrepreneur and all around great person in the world, so I'm excited to have you here. Gary, Thanks, 

Garrett
 
thanks for having me. 

Ben
 
It's always fun catching up with you. I think the last time we chatted was business of software a few years ago, wasn't it? 

Garrett
 
Yeah, not frequently enough, 

Ben
 
so that was, yeah, definitely not frequent enough. One thing I most remember about that business of software was that was when the hurricane was coming through and so I was standing out there in boston with all the wind and the 

Garrett
 
right, having grown 

Ben
 
up in the south, that was kind of ironic that I was there in the northeast and getting a hurricane. Mhm. So have you been 

Garrett
 
three, so just uh probably about the same as everybody else man, you know, just kinda one day at a time and keeping it going um and yeah, I just kind of dabbling and exploring and for once the last year just kind of let myself be undirected and just kind of followed what was interesting and pulled on threads and uh a little unnerving but also kind of nice and refreshing, I don't know, you know, so kind of bouncing around like a ping pong ball. 

Ben
 
Well, that's, that sounds pretty cool. Well, let's talk about that in a minute. I want to catch people up so I'm sure most people know you, but just for those who don't. So Garrett again, it's been a long time entrepreneur I think. I think I first bumped into you with doing sifter, your, your, your app from a few years ago, you built that from scratch solo entrepreneur and then you sold that. Then you're, you're at post uh, postmark for awhile for that. Right. 

Garrett
 
Well, wild bit at large, but primarily on postmark. Yeah. 

Ben
 
Okay. Right. Right. So you're a while, but for a while and then I guess it was a couple of years ago now that you've left wild. 

Garrett
 
Yeah, it's been about . years, I guess. No. Okay. 

Ben
 
Yeah. And so I guess also during that time you kind of did the starting and sustaining books slash video series slash thing. That was cool. 

Garrett
 
Yeah, I've been dabbling in all that, trying to share my battle wounds so that other people can maybe avoid them or less than them. 

Ben
 
Yeah, that's awesome. I remember, I remember buying that. It's good, good stuff. So also linked in the show notes. Maybe we'll get a sailor to uh, you spoke, you spoke at Microsoft a few times or at least once that I can remember 

Garrett
 
I can't even keep track now. Microsoft spoke once attended a couple of times. Yeah. 

Ben
 
And so now you're doing some, some interesting stuff. So I remember, remember when you left a wild bit, you were, you're really interested in getting started on helping amputees have a community and so you started adapted, right? So, we're gonna talk about that for a second, and then we can talk about, you know, how that plan kind of changed for you with the passage? 

Garrett
 
Um, I mean, so I'm a left below knee amputee. And when I was trying to make that decision, I couldn't find any information on what life is really like as an amputee, um, let alone specific information about, can I play basketball still, if so, how does that work? Or what other activities can I do? And there's just not a lot of detailed information, and with disability, even just within amputees, the range is incredible, like above me and bologna makes a complete difference in how you function and your body mechanics, and so I just couldn't find this information out there. And so that kind of planted the seed that obviously it's not out there and, you know, it's woefully under informed, which at first was kind of scary, it's like, oh, I guess nobody does any of this stuff 

Garrett
 
and for me, the whole, ironically, the whole point of amputating was so that I could get back to doing things because of my ankle fusion was horrible and all that, it's just hurt and was miserable and through the whole thing, I was blogging about it, and what would happen is people would email me because they'd go on google and search for amputation, ankle fusion, that kind of thing, and then they'd ask me like, I'm, because I was the only person that came up and I would get these emails, you know, it kind of varies and go ebbs and flows, you know, to a month, once a week, you know, so frequently enough. Um, and uh, one uh, young woman that reached out to me, she actually amputated and then just won a couple of gold medals in the paralympics and like, 

Garrett
 
it just blew my mind is like, how do you find the answers to this stuff? And uh, after being an amputee now about five years and trying stuff and just kind of figuring it out. Uh, my hope was originally, I was like, well, I'm a software developer, I'll build a platform so people can share that information, um, you know, and I figured I was really optimistic about that specifically, because, well I built sifter and rails has gotten way better and I learned a ton from sifters, it'll be way easier this time around, but I didn't really account for was now I've got a family and I'm  years older, uh and so it's been more challenging at the end of the day, I'm just tapped on software because I'm doing that all day and my brain is fried. 

Garrett
 
Um, but I've been doing videos kind of explaining this stuff to people about how legs work and the logistics of like how they change your body mechanics and um, how to do things like go to the beach and deal with sand in your foot and that kind of stuff. Uh, and I did that more is like an exploratory whimsical thing because that was the kind of content I hope people would create and put on the platform. So then you could filter and say, here's my disability, here's the activity I want to do. Give me all the information about that specific thing. Um, but I did it and it just kind of left it for a year, but it just kept going and then more people have been contacting me and so now what I'm doing is kind of 

Garrett
 
stepping back from the software side of it and I'm just gonna keep recording videos for the next short term, um, and having them produced and that kind of stuff and hopefully increasing the quality and the depth and then doing interviews with other amputees and really kind of getting into more stuff, um, and then eventually circling back to building a platform to help people find the right things that meet their needs and that kind of thing. Um, so, you know, it's, it's, it's been tough. I think the toughest thing is realizing that nonprofit side projects are the hardest thing to make time for, um because it's never going to offset my income or anything. And so like 

Garrett
 
now I've kind of been thinking, I guess I need to build a business again. So I've got more ironically more free time um, just because Sassen recurring revenue all that's so great that it would give me the flexibility to do that and to spend more time helping people and building um software and all that. So kind of just juggling things and figuring it out. And that's kind of where a lot of the exploration has come in. I haven't really prescribed where I'm taking things and uh um spending a lot of time dabbling and ruby and getting kind of deeper into it than I ever have previously. And uh exploring video and trying to help people with that stuff. So just kind of playing around and tinkering and trying to make ends meet at the same time and I'll figure it out, I guess 

Ben
 
that's cool. There's a whole lot to unpack in there. So let's, let's talk about some of that. So, Some of the, some of the themes, well, at first, I guess I should say I can totally relate to you with the whole, you know,  years later and now, there's. yeah, there's more demands on your time. There's less energy in the body and there's, you know, less energy in the brain probably is more importantly. Um, I've had that, that same thing I recently started picking up some side projects, you know, and like, yeah, they're just, you have fewer hours in the day that you really feel like being really into that kind of mode, you know, that your brain stuff and, 

Ben
 
and I've noticed that uh I can tell like when my blood sugar is getting low and now we're like, I've I've used up too many brain cells, I gotta go back and recharge, you 

Garrett
 
know? Uh 

Ben
 
So it's interesting that dynamics, like, I don't quite have the appetite that I used to have to just dive in and, and, you know, slog away at the keyboard for hours. And then 

Garrett
 
for me, it's also been awareness, like, I recognize it more now when I, when I was younger I would push through and be like, oh, grind and hustle and you know, and now I'm like, ok, I need to stop, this isn't, you know, if I don't stop, I'm going to be a complete mess tomorrow and not want to work and not be able to think. And so I catch it earlier and I just stopped and I hate it because I still, like, interested in whatever problem is in my head is still tugging on it and, you know, it's trying to and it's really hard to just turn it off and walk away. Um but I've gotten better at that a little, 

Ben
 
One of the things that I've noticed as, as I've gotten older in this tech world. So I guess I've been doing it  years or  years or so, is that, um, uh, so that that energy for doing all the things is not there? Like it used to be, but it seems like the deep thinking is more refined is more home. So like you said, like you're going to be, you know, you're just not going to have the energy, you're not going to be wasted the next day. And I think I've seen that too. And I think it's not just from like the energy of working, it's from the energy of thinking deeply about what's the right solution here, right? 

Ben
 
It's not so much like just powering through it. Okay, I'm gonna build this stuff and I'm gonna backtrack and I'm gonna redo and backtrack and redo now. It's like, oh, I'm gonna think about this and I'm going to get it right right? And then you apply that precision cut I guess. 

Garrett
 
And for me, the struggle is having the wisdom to recognize they should stop, but I can't turn off the excitement or the interest, right? And so I do still want to work on it. I just know better. And it's hard when those two don't align. Yeah, that's, that's been a struggle. 

Ben
 
Yeah, I've seen saying the same thing, but I think my living experience so far has been like the, the eventual outcome is better, even even when I have that, you know, I want to do more, but I don't know, I don't have the energy to more, But having that time to reflect more when I do sit down next time and have that  minutes an hour or whatever, like that time is much better spent coming up with the right solution rather than 

Garrett
 
just uh just the other day. I was and I mean, I think we've all had this happen a million times, but this just happened. I don't know, friday, I think banging my head on the desk for an hour and a half on this thing. That just makes no sense. There's a ruby thing like this doesn't make sense. What am I missing here? Like is there some really quirky ruby behavior I don't understand. Um And hour and a half and finally was like, I've got to give up, I've got to stop, this isn't getting anywhere. And it was only like , right? So I still was like, I had time in the day, I was like, I just got to stop The next morning. I sat down with in  minutes, 

Garrett
 
like solve cold, right? Like there's no, that was from the time I sat at my desk at the time, I solve the problem and it was just, you've got to step away and clear your head or you know, it just doesn't go well, 

Ben
 
yeah, yeah, I've had that same experience so many times and uh I think a lot of times you hear people say yeah just take a break, go for a walk whenever you're like yeah what everyone's gonna power through it but it actually does work 

Garrett
 
well for me. Walking doesn't cause then I'll just fix it on it too much and like I need to let go like my brain has to let it go. Um And so for me usually it's more getting a getting a night of sleep um is what kind of resets it for me at least from what I've found. But I've probably every three or four months. It's one of those where like This is going poorly and the next morning less than  minutes it's solved. Uh 

Ben
 
Yeah I have that too, like a good night. So definitely goes to reset. The one. The one problem I've had with that though is that then I will wake up at four a.m. I have the solution in my head, I'm like I got to go do it, 

Garrett
 
I do that too and for better or worse I don't even fight the sleep anymore, I just get up and go start working. Um And then if I need a nap later or something I just 

Ben
 
so be 

Garrett
 
it. Uh But like that's so much of that like We're so indoctrinated that like  is when people work. And that's been a really hard thing to let go of two and not feel that way every day and to basically, it's not about like working when you feel like it, but it's not like pushing back when the urge to get something done strikes, like go do it and then circle back, yeah, you know, and get some either for rest or whatever. Um you know, take a long lunch or whatever it is. Uh and that's uh I've found that to be helpful to just to try and not forced to work, but do it when it's fresh in my head and just go, 

Ben
 
yeah, yeah, I love having that flexibility as a, as an entrepreneur or business owner and being able to work when it's most effective. So You know, if it's  and then I take a break and maybe come back in a couple hours in the afternoon and then I'm done for the day, that's, it's cool. Right? So I wanted to hit on one other thing from, you're talking about there about with adaptable and you know, I love what you're saying about there's a, there's a software solution here, let me go build that, right? And then over time. Like uh maybe not. And I can totally relate to that because I feel the same way. It's like, oh if there's something missing in the world, there's, there's obviously assad's there that can satisfy that need, but 

Ben
 
but in reality like salad, you don't have to go all the way to says, right, you can uh, you can start with, you know, youtube videos or uh, maybe even just a reddit, right? Maybe maybe you're hanging out in the community and on offering back and building up that stuff that you want to see in the world. 

Garrett
 
Uh, so there's definitely still an element of that with what I want to do and uh, a lot of it is like, right now I'm focused on videos and more mechanics and uh, you know, here's things to think about if you want to get into mountain biking as an amputee or things to think about with snowboarding or, you know, whatever it is. Um, but there's this whole other facet or many facets really, um, of like limb care and recovery and you know, when you beat your leg up doing something active in a carbon fiber socket all day 

Garrett
 
and then you get home and it's destroyed, uh, you know, you got to take care of it. And so there's things like that and there's a financial aspect that like insurance only helped so much with prosthetics and they help with basic, like daily kind of day to day prosthetics, but they don't help if you need more advanced prosthetics, um, for certain activities. And so for that, you're either on your own or you need to find financial assistance and there's a ton of great organizations out there that help with that, but they're all non profits and their websites are less than stellar and less than informative. Um, 

Garrett
 
and in a lot of ways it's difficult to find the one that is right for you that will cover the type of equipment you need based on, you know, just your disability fall into the disabilities that they cover. Um, and so there's all these different requirements and details and it's difficult or you forget right, like life happens and some organization has an annual grant cycle and it's in october and then october blows by and you're like, oh crap, I totally forgot to apply for that grant and now you got to wait till next year. And so, you know, my thinking is that it's not just a tool to like educate people and help people find the information. They need something to proactively help reduce friction and remove the barriers that stop people with disabilities from being active. 

Garrett
 
Um, and that could be everything from pain to financial stuff to simply, you know, needing somebody to talk to who's done it. Um, and there's just, there's so many solutions and everybody, even within a category of disability is unique, even if they're not unique from the disability perspective, the activity they want to pursue might be more unique. Um, and so it's just really difficult to make it all work and to find answers and you kind of just gotta go try and you know, from experience the first couple of times I try new activity is miserable because I'm just figuring it out and that takes a lot of the fun out of it. And a lot of people like this isn't for me and you know, until you learn 

Garrett
 
kind of about that learning curve and how it exists and how it's a lot steeper than it is without a prosthetic or what have you. Um it's tough and it's easy to give up because it hurts and it's inconvenient and you know, there's just you're worried about your prosthetic, right? You've got this $, prosthetic that you need to survive day to day and you're like, oh I'm going to go paddleboarding, so what if it gets wet, can it get wet? I don't know, and there's just so many questions and so many easy reasons to give up or be intimidated and 

Garrett
 
you know, it doesn't need to be that way because more more importantly, like once you're in that situation is more important than ever to be active and to stay active and to not let it just lock you down on the couch or something. Um but it's not easy, you know, it's way harder than before and I don't think it needs to be, it doesn't need to be as hard as it is. So yeah, I'm hoping could help people get answers and you know, do their thing, whatever it is that moves them figuratively and literally 

Ben
 
yeah, yeah, that sounds like a tagline for the website 

Garrett
 
actually. Right. 

Ben
 
Right. 

Garrett
 
Yeah. 

Ben
 
Yeah. I I have uh so we have in our in our family some some experience with a kind of obscure medical issues like uh which is kind of similar to, you know, go into a prosthetic situation, right? Where all of a sudden you're into this community where you have to, you can get the speed really quickly on what does life look like now. And how do I do the things that I want to do and where do I go to find that information? And so often it seems that in our in our experience is that the only people who really know much of anything are the doctors that you're working with or the therapists or the nurses, right? And and they can connect with resources. But like if you just happen to have the wrong, you know, chemistry, 

Ben
 
you know, with with someone or you don't just happen to the right person, you can just feel pretty isolated. And uh so I thank you for having having resources for, for that is is so helpful because I've told my wife a number of times like you could write a book on on all the things that you've learned, you know, through this experience. And and then my my my brother's family there was a significant motorcycle accident that left someone with, you know, just a lot of parallelization from the waist down basically and his his, you know, going through all the things that he went through two surgeries and the rehab. And so to get back to a point where he could walk, you know, uh, which was, which was assisted so much by the great people that he had around him. 

Ben
 
But fortunately he had them right for those that don't, it's got to be a much, much harder rodeo 

Garrett
 
and it's just all over the board. Um, amputations really interesting is what most most frequently right into with people is there surgeon doesn't want them to amputate and is constantly trying to talk them out of it. But after you go through it, I saw my surgeon, I mean, my surgeon, I had to switch surgeons. Um, but he saw me twice after my amputation. He's never seen me with a prosthetic. He has no idea what I'm doing now. And so these people are asking their surgeons about amputation. The truth is the surgeons, unless they're actively helping. Um, you know, in other contexts and volunteering. Uh, they have no clue what life is like after amputation. They might read some stuff, 

Garrett
 
right. And you know, there's plenty of paralympians that are amazing. But then you wonder those people edge cases or you know, can anybody run and do that stuff again? Maybe not at that level. Um, and the, your surgeon just doesn't know. And so people are asking the surgeon because that's supposed to be the expert and then the surgeons giving them, I don't want to say bad information but incomplete information. And so it's tough for people because you can't get those answers, you know, and again, every disability so different how it affects people and how your doctor, what their background is in terms of how they understand like being active or you know, doing more than just day to day functioning. All right. Yeah. There's so many layers to it all. Mhm. 

Ben
 
So, one thing I wanted to go back to was talking about, you know, the time that you spend on that, obviously it's it's tough when you've got a family, you're the breadwinner. You know, you're trying to build a nonprofit thing. And at some point it sounds like you realize, you know what, I just gotta I gotta do some work. I got to bring the money in the door, right? I can't spend all my time focusing on this this nonprofit platform. So it sounds like you're doing that in your spare time and that you're you're paying the bills of freelancing doing a bunch of bunch of rail stuff. But as you've been doing that, you've actually built some tools that I want to talk about. So it sounds it sounds like 

Ben
 
you've been doing this work and this work has prompted you to build the review thing you've been working on. And also the heat map thing for many tests, let's talk about that a little bit. 

Garrett
 
Uh Yeah. So the nice thing, the one the only intentional thing I've done the last . years is to try and make sure that whatever I'm doing at all kind of syncs up somehow um and for the most part that was always leading back to ruby and or rails um and you know, so a lot of my client work is helping with legacy apps that are profitable now, but they built the app quickly and there's some, you know, legacy pain that needs to be fixed, re factoring that kind of thing. Um And then there was adaptable where I was starting with a Greenfield fresh modern rails app um and one of them was fun and the other one wasn't and I'll let you guess. Mhm. And so a lot of what I started thinking more about was like how does an app that 

Garrett
 
has all this legacy craft get from there to a point where it's not miserable to work on and you know, there's a lot of ways, there's a lot of paths, there's a lot of great books on re factoring um and a lot of that kind of stuff, uh what I started getting more interested in was how we've got all these great letters and static analysis tools for um security for syntax for just cleaning up code, right? And a lot of little auto correct and format stuff for you. Uh and the more I I dabbled with the tools previously but they were always so difficult to use because they're all command line um you know and they all have different syntax, different names for the same flags that do the same thing like Summer 

Garrett
 
auto, correct, some are right, some are, you know, and so like you gotta then remember the quirks, they're using the wrong flags with the wrong tools and it just gets tedious, right or like you know, you want to use a dozen tools, but if you run them all at once, like it's going to take  minutes to run through your whole project when really all you want is like just look at the files, I'm about to commit or uh you know look at the files, I just committed and let's do a pass it like with Robocop or whatever, clean them up and then I'll commit a separate one that's just pure clean up, you know, all these kind of things and but it was so tedious, I love these tools but I just wouldn't use them because there was too much friction. 

Garrett
 
Uh and so with adaptable and like when I start a Greenfield project, I was like I've got to use these tools from the beginning to make sure that never gets into a bad state because once that ship sails it's too much effort to go back and too much risk to like make those kind of wholesale changes and uh so it started with just that it's like how can I make it easier to use these tools and remove the friction so that they're enjoyable to use and kind of in the back of my mind was because like Guard does a lot of this, right, if you're running guard constantly. Uh But Guard also drove me nuts because it would my fans would spin up and make so much noise and I couldn't concentrate. Um 

Garrett
 
and so kind of and I still like guard, but my thinking was what if the tool could be so convenient that you didn't feel like you needed to use guard to watch files as you changed them and that you could do more than just have your automated test front, right? So like what if and I mean there's there's integrations for like Robocop and stuff, but like what if you change five files and you could just run a tool that will automatically run all of the relevant things you have against those files that you updated and potentially auto correct them if you want or um you know, this is all theory and it's it's come together and I'm using it on itself but it's not ready to like use in other projects yet. Um that's kind of the next step. Uh 

Garrett
 
But yeah and that's what I just I wanted that I want to be able to take it on a project that's raw and has a ton of craft and then every time I commit basically start cleaning up there and just make sure it doesn't regress, right it only gets better, you know and basically it makes it easier to or hopefully it will make it easier to just make constant steady improvement, right? It's not you run it and then it's like you know the tool just throws up its hands, it's like this code base is a mess, 

Ben
 
don't even 

Garrett
 
use this tool. Um Instead I want it to be you know what okay make some progress, let's start there and eventually, you know, over the course of a year, two years you're gonna touch so much of the code and eventually it's gonna get cleaner and it's gonna get better right? And it's not just formatting but like you've got things like brake man and things that are for scanning for security issues and all this stuff and there's so much bundler audit right and all these things to make sure that your dependencies and you know there's a lot of great tools out there like code, climate for reporting. But what drives me nuts is when I commit and then it gets to see I 

Garrett
 
and then the ci finds the mistake because the tool you don't run it locally like okay well now I've got to fix it and I gotta wait for ci again and like I want all these tools to be so frictionless to use, it never even makes it to see i like CS board because it never has anything to complain about because by the time it gets there it's already perfect. Um So yeah, so that's kind of the that's a reviewer um and it'll hopefully be more like the end of the year. Um And then I've also been obsessed with many tests lately because I used to use ours back and I just it never messed with me. It was too, I don't know, it's 

Garrett
 
the way I've always described, feels like it's the only thing in ruby that I feel like is simultaneously very ruby and very un ruby and it's just never worked with my head. Um And all the I'm very dependency averse from years of you know dependency breaks or has a security issue and the chain reaction of things that need to be updated and can't be updated because and so I'm very dependency averse. Um and uh so that's another reason I've gone with many tests because it's just there there's fewer dependencies, it's simpler. Um But many tests output even with all the formatting options out there just always, I felt like I was doing way more work than I should have to to figure out what failed what went wrong and how to fix it 

Garrett
 
and so what I've done is really over engineered to test reporter for many tests to uh when a test fails, it kind of catalogs what file was in the stack trace what line number in that file. Um and so what it's doing is in the background, it's kind of building up a heat map of everything that triggered a problem. And it's also differentiating between like failures and exceptions because if your test fails, okay, that's interesting. You want to start with the assertion, what was the assertion that failed? But if there is an exception, then the assertions kind of irrelevant. You want to go dig into the exception. But what if the exception came out of the test, 

Garrett
 
then you don't want to waste your time and source code just fix the test. Otherwise you're not. And so it differentiates between failures, a broken test and an exception. And it presents the output differently to kind of guide you in the right direction based on those. And if you've got anything that's failing or broken, it's not going to harass you about skipped tests or slow tests, right? It suppresses those until everything's fixed. And it's like, hey, by the way, you've got four tests here that you've skipped, you need to go right? Those, uh, and actually won't bother you about slow tests until all your skip tests are fixed, Right? 

Garrett
 
Uh, and so it kind of lets you focus on what's important at the time without reminding you of the fact that you've got a lot going on that is pending and problematic or whatever it is. Um, you know, so there's a lot of little things like that and like when you make that one change that breaks  things across your whole project, you're renaming a class or whatever it is. Uh And then it's just you will go from like a perfect test suite  failing tests like crap. Okay. Where do I even start? Uh And so the heat map will show you like look all of these problems come back to this one file, you know, whatever it is so you can get to the heart of the matter instead of having to like 

Garrett
 
visually scanned through  failures and try to find and recognize a pattern. Uh So it's kind of uh a proactive pattern matching reporter. Um you know with a few other tweaks to just help uh nudge and simplify kind of the output so that you can my hope be, you know, you see a test failure and you know exactly what you need to do to fix it before you even go back to your text editor because you've got enough context. Um And obviously that's not always possible, but more often than not and definitely more often than with just the generic reporter. Uh That's been the case and has been really helpful and saves me a ton of time fishing for what needs to be fixed and what what's worth fixing first and that kind of thing. So I have to think a lot less. 

Garrett
 
I just have to go fix it. Ah And so both of those combined are going to kind of I'm hoping work in a way that you know you type R. V. W. And it's just smart and it says here's all your problems. You're like oh my gosh, everything's perfect. But you could stand to improve your documentation here in this file, you're like okay I can do that real quick. Um You know so it kind of nudges you in the right direction without like wearing you out about how horrible your code is. Um Because when you're one of those tools just raw, that's basically what it feels like. It's like oh my gosh I'm horrible. I have no idea, I have no business writing code. Uh 

Garrett
 
And that's not a good feeling but if it's like hey you can fix this, here's how okay I can do that. Um You know there's a lot of really interesting ideas. There are like you know you ever run your test suite and it fails and you run it again and it passes. They're like oh crap what was the seed that it used when it failed? And uh so what reviewer does too in the background, it's recording a bunch of history. Um And so it will remember that last failed seed and so you can you be able to type our VW rerun and it would rerun just the failure and let you zero in on that and focus on fixing that. Um So there's a lot of little things like that that 

Garrett
 
I just want to make it easier. I mean there's bisect and some great tools out there. Um, but sometimes they're overkill and slow and they take you out of the zone and I want to make it easier to stay in the zone and get things done and get back on track. 

Ben
 
That sounds sounds really cool. Yeah, we um, remember having done some a few major rails version upgrades with the honey badger card base, you know, go from  to  or  or whatever it is. And like all of a sudden half your tests, you got thousands of tests and like thousands of them. It's the 

Garrett
 
most defeating feeling. You're just like, oh, okay, I quit for today. 

Ben
 
Yeah. And then, and then, you know, you dive through all those things like, okay, these all look the same. It's all the same. It's all the same and go and try this thing here and that thing there and oh, I made this one change and now half of those failing tests are now passing okay. Now, you know? So yeah, having the heat map I think is uh, it sounds like a great idea. And then of course, you know, you mentioned, uh, if it's an exception, you know exactly where to go, like it sounds like honey badger, right? You get the context that you need to know what to fix, right, yep. Yeah. Although I must say I'm, I'm an I respect fan 

Ben
 
have been for a long time and I've tried, you know, going back to many tests because I'll start your rails app like this, this new side project, I started a few a few months ago, like it's a new rails happen to me, you know, let me try any test again because that's the default and so I'll get in there for a bit. But then like one of the things I've come to realize is that I, what I love about our spec is despite how, you know, I can feel you about the dependency aversion, but at the same time our spec is kind of like a batteries included kind of thing. Like 

Ben
 
you've got the mocking right? Not the stubbing, you don't have to worry about what I do. I do, I do many test mock or do I do mocha, you know, like all that's kind of rails itself, right? It's kind of kind of its own duck and it has everything included. So you don't think about, you 

Garrett
 
know, and don't get me wrong, I don't dislike our spec, it just doesn't work with my head and like, I just get overwhelmed with how much it has. And so for me with many tests, like you're like, oh, which marked thing to use neither. Like if I feel like I need to mock something, I need to re factor it so it's more easy to test efficiently and directly. Um, because like marks, I mean that has all has its own issues, right? Like uh and so for me uh and and it was very much a mental thing. Like I just fully embraced accepted many tests limitations and now I use that as kind of a nudge to be like, all right, if this is really difficult to do, 

Garrett
 
then it's not that I need better testing tools. It's that I need my code to be organized in a way that lets me test this appropriately And efficiently without getting to set up  unrelated models so that it won't fall over. Uh And so that's kind of been more of a philosophical thing for me because previously when I drive many tests, that's exactly how to drive me nuts. I'm like, how the hell do I do any of this? Because my brain what little I did understand of our respect. I had learned to think that way about things. And so then I found myself doing all this like how do you mock in many tests and how do you, And it's like you don't, you know, use mocha or you know what have 

Ben
 
you. 

Garrett
 
Uh and so kind of accepting that and just saying, you know what, When it, when many test pushes back, I'm going to listen and I'll just re factor. Um and at first was a little painful. But now it actually has been really, really nice. Uh But I will say to a lot of that goes hand in hand with like I've been doing a lot of like deeper deeper reading on ruby and thus kind of understanding patterns, you know being able to see more patterns to re factor like oh this is why this is hard to test really. Just need to re factor using this pattern and take this approach instead or whatever. Um And so that's helped because otherwise I feel like I know I need to change this but I don't even know where to start. Um 

Garrett
 
So you know, that's definitely been a philosophical thing I had to accept. 

Ben
 
Yeah, that makes sense. So you mentioned code climate and I know, you know in the early days when kokonas started like it was basically a wrapper on top of flay and flaw right and eventually break man and stuff. Right? They assembled all these open source tools and put a nice ui on top of it, which is fine, you know, but you could just run off tools yourself, right? Um But review sounds pretty cool because you're basically giving that code climate kind of experience, but it's on your own right, in your own cli and you could I mean conceivably you could even use it like with left hook or something to do get pre commit kind of thing which might have its own problems but still it's an option. 

Garrett
 
It's definitely on the radar, there's a lot of get integration that I'm planning on. So you can do like our VW staged and it'll just look at the staged files or R. V. W untracked, it'll just looked at your file that you haven't staged, That kind of thing. 

Ben
 
Super handy. So do you do you see a path where review because there's some sort of commercial component to review or do you think it could always be pure, 

Garrett
 
there's, I've got a bunch of ideas that I think could um I mean the core one is just gonna be an open source jim. Um if I do follow any model um you know, it's probably going to be something more like sidekick where there's the core thing that is helpful and useful and free for eternity. Um and then there would be more advanced, either team functionality or kind of sharing of configuration files. Um There's a whole ton of tools that I've thought about building to to um things like if you have an existing app, it kind of auto detect and suggest, hey you might want to use these gems, these tools um obviously it's built in ruby but the idea is that it has to be ruby centric. It's really at the end of the day, it's just a wrapper for command line tools 

Garrett
 
that gives you some kind of either pass fail or score output. Um and so like if you've got  tools set up, like one reviewer, I've just gone overboard. Like I'll use everything because I want to kind of test it, you know, and dog food it um And so like if one fails it doesn't bother running the rest of them. And so the idea is if you can figure in the order of priority, like start with bundler audit right? Because if you've got a gym that's out of whack, then you need to fix that because that'll ripple And so it'll just stop there, so you have to wait  minutes for a whole suite to run on a huge project, it just fails immediately, insist fix this and then you fix that and then it runs 

Garrett
 
um and then two and this is all theoretical at this point because I haven't played with it, but I've got some, I'm really excited about the idea potentially. Um and I hate to make it ruby three only, but playing with tractors and some some threading and stuff so that you can have Robocop running in parallel with, you know, especially with multi core processors picking up and all this kind of stuff, I feel like there's a lot of potential Like what if you could run  tools in parallel and have the whole thing run in seconds instead of minutes and that could be really cool, There's other challenges there, but um you know that reporting obviously um like code climate, I feel like that's one of code climates really big things, 

Garrett
 
but for me the reporting is gonna be more an afterthought, I wanted to be a local thing that you can use friction free and then if people like it, which I hope they will, I mean I'm really excited about, I love using it to build itself, it's been wildly helpful. Um you know, then yeah, I'd start thinking about, you know, what other options are there for, how it could be better um and do even more cool stuff for teams or people who are just really serious about using it or you know, what have you? 

Ben
 
Mhm Yeah, I think, I mean I love, I love the sidekick model uh you know, give that great open source core that has great functionality and then build on top of that, you know, things that are useful to people who are going to use it more intensely and I think, I think the psychic definitely has that sweet spot, if it's it's an operations kind of thing where you're gonna be, you're gonna be running this forever in your production environment. So you want to pay that licensing fee, you know, every month, every year or whatever. And then there's also like the ASCII corp model, right? Where they have very, very good open source tools, you know, you can use Packer or Terror Form or whatever, 

Ben
 
you know, never paying them a dime but they also have great team collaboration tools if you want to move to their platform, you know, and coordinate your Terror Form running or you know, your console, you know, or your vault or whatever, right? They have a pro or enterprise offering for every one of those that can do additional stuff enhancing it, you know? So yeah, some great options there, 

Garrett
 
yeah, you know, I will say to a lot of my 

Garrett
 
thinking since selling sifter has been, I don't really want to run a sas app again, uh and I'm sure you can guess all the reasons uh at the end of the day, the simplest thing um and I mean I knew it when I was running sifter but I didn't fully appreciate it was the degree to which I let it change me to notifications and alerts of problems and a never ending fear that as soon as I went camping or hiking out of cell service was the day it was going to fall over in a bad way and uh like it wasn't this like huge thing, but it was just in this like ever present anxiety and after I didn't have that anymore, it was just such a like epiphany 

Garrett
 
that was like, I don't really want to go back there and if I build a SAS up, it needs to be something that can be designed in such a way that it's resilient and I know that, you know, if it goes into a certain state and it's like that for six hours or something, nobody's gonna be too upset. Um and I couldn't think of anything and uh so yeah, so then I just started building these gyms and I was like, I'm just gonna build the gyms and see where that takes me. I mean really, I feel like I'm just kind of pulling on a thread right now based on my personal curiosity and then just trying to also keep in mind like let's make sure this would also be useful for other people at some point, wherever that is. 

Ben
 
Yeah, I'm of course totally with you on the whole like it's tough to run this as because yeah, it is and yeah, I think about this the other day as this, this side project, I'm working on it, like, well it's it's actually right now just for fun, but of course it's like well how would I how to make money on this if I wanted to? And I could run a sad and this is a sad thing, it integrates with GIT hub. And uh so it's it's definitely a web based kind of stuff you do. Um 

Ben
 
but you know, if it went down for a few hours, people wouldn't be screaming like screaming about honey badger going down for a few hours. So like that's like that's okay. And then on the other hand, it's like, well it's it is very tightly integrated to get hub. So I could do a self hosted, here's a doctor image kind of thing, you go run this and it talks to your get up enterprise installation behind your firewall. Right? 

Ben
 
So I think, yeah, it's really good for entrepreneurs today who are so low to be thinking about that because there are a lot of options. There's the, you know, there's a psychic model. We just give one some someone some code, right? They license it, they run it and it's it's all them right. Or maybe you build a SAAS app that is also a docker image that they can deploy themselves. Maybe the codes available, you know, as maybe it's an open source thing, even like a matter most right, you can they have a hosted option, they have an open source options, have a self host adoption. Um Yeah, I think really good to be thinking about these things as you're, you know, deciding what you're doing day to day because it does, does affect quality of life. Like 

Ben
 
my first thought was, and I was when I think about this says I was like this side project, as I says, I was like, well then I got to have the laptop in the night time because 

Garrett
 
I'm like, I think I would much rather have an imac, but like as long as I'm involved in anything that can go offline, I don't think I can survive with just an imac, I've got to have a laptop and like yeah, I don't like that, feel like, I don't know, I mean, I don't think anybody but uh Yeah, 

Ben
 
Yeah, well that's, and I sometimes I think about a kind of metal level like oh that's a problem to solve, like how do you help? So the entrepreneurs run saAS operations without having to be, you know, always on like yeah, that's an unsolved problem. If someone solves that, that will be I think worth some. I mean Hiroko has done a pretty good job solving that problem, but it's not % solved yet. 

Garrett
 
So Well there's 

Ben
 
for me, 

Garrett
 
like I built a job board for our community here in the valley um because tourism based economies like the turnover and stuff is high and ah and so like for me I was staying with that and I haven't done this because it's just not critical enough. Um but the only thing I thought it would be like with a job board, if you could have it fall into read only mode where it's basically heavily cached on the front end and that's something that could work. But most apps where you're interacting with them because posting jobs, it's not like you constantly post jobs, you post a job and if you can't post a job right now you can come back in six hours and that's fine. It's not the end of the day, you know, into the world. 

Garrett
 
Uh but that's the only thing I've been able to come up with that has felt like it wouldn't be a huge issue as long as you designed and built it, right, so that I could do that. But everything else I'm like, nope, that won't work, That won't work. Like, I think that's why haven't start another business yet is because I've become really picky, like after selling stuff to, I'm like, what do I really want to do and not do again? And so much of the sad stuff while it's great. Um it was just like, it took a toll. Like, it made me not want to do so many things that now I love doing, like camping and hiking and like getting out of cell service. Um, and so I don't want to give that up anymore. 

Ben
 
So I guess the moral of the story is do all that kind of stuff when you're in your twenties have plenty of energy, right? You don't hate it yet, right? And then try to come up with something different by the time you're in your s, 

Garrett
 
use the experience to uh more wisely choose your battles. 

Ben
 
Yeah. Right. Yeah. Yeah. Cool. Well, this has been total fun. Yeah. Yeah. 

Garrett
 
Glad, Glad to catch up. 

Ben
 
Is there anything that we should have talked about that we didn't? 

Garrett
 
Oh, probably a ton of stuff. Uh, no, I mean, I wish this stuff was all in a better state. Many test heat is good to use now, I need to add a little bit more exception handling because now every now and then something goes wrong with many test heat and like you can't see your own test failures because it fell over. Uh so that's kind of my next step is to add some resiliency to that so that if it breaks, it says, hey many test heat fell over on this, but your things fine and have some like simple output. So you at least can see something because every now and then I have to go disable it and switch back to the regular reporter so I can actually see the the failure. Um but uh you know, it's ready to use, I'm using it 

Garrett
 
every day on all my projects now. Um and it's been pretty, pretty fine. Today was the first time in like a week that I've seen any kind of issue that didn't work so that people can use it. It definitely needs some tidying up and improvements, but that's forthcoming, then reviewer will hopefully be the end of the year will kind of see how, how things shake out with the holidays and all that, how much work I'm able to get done, but um I'm optimistic because I want it, I want to use it on other projects, like every time I go work on reviewer, I'm like, I really wish I had this for my other projects where I've just got dumb scripts that just run the same commands in order and you know, it's close, but it's not the same. Um 

Garrett
 
you know, I'm really excited about how much I know it's going to help my day to day work flow and I'm hopeful anybody else that's using rubio find those same benefits. Um And hopefully other languages too. I don't know. I haven't really tried, I mean in theory, javascript and a lot of that stuff will work like with the rails app. Um and like er be learning and and what night. Um So hopefully, but I haven't tried anything wholly outside of a ruby project to see if it could be useful there, but it should be, it's just a wrapper around command line, right? Strings. So hopefully 

Ben
 
and then next step V. S. Code plug in right where it's all just running all the time 

Garrett
 
code, right? 

Ben
 
Yeah, maybe that's your thing you sell. I don't know. 

Garrett
 
Yeah. You know, I haven't thought about that too much because most of them you can plug in on their own. Uh But then that gets overwhelming when you're trying to edit your file and it's like just yelling at you about everything. Like just let me think first, then yell at me after the fact after I've like figured it out. Yeah, I'm excited about it. It's kind of the most fun I've had programming in a long time. Um So we'll see. 

Ben
 
I love it. Well, scratching your niche is always fun and if you can make some money while you're at it. Hey, even funny 

Garrett
 
right? Well and so like that's the thing, like just kind of circle back and wrap it up, like part of it is in order for me to really pursue adaptable, I've got to have some kind of automatic income and like with sifter that would've been perfect, you know, it's recurring revenues, Great. And uh so a lot of it too is like, I'm really gonna unlock adaptable potential. I need to not be, you know, have an income tied to hourly rates. It's got to be divorced from how much time I'm actually sitting at my computer and uh so that's kind of been a driver too, but again, more just wandering and figuring it out, hoping it all comes together somehow. 

Ben
 
That's, we're all in the same boat. 

Garrett
 
Right, 

Ben
 
well, we will definitely link up uh the heat map and review and uh definitely get some people check it out if you're ruby ist and we'll link up your twitter so people can follow you and keep track of what you're doing. Uh Thanks again, yeah, hanging out with, 

Garrett
 
thanks. Great to catch up 

Ben
 
and thanks everybody for listening Again, you've been listening to found request from the founders of honey badger. We're excited to continue to bring you exciting episodes on podcast and a fantastic product, honey badger of course. So check us out on the bed, radio and you know, as star always says, review as if you like and don't review us, if you don't like, have a great one. 










Copyright 2021 Honeybadger Industries LLC