CHARLES: Hey, welcome back to another episode of the RubyRogues podcast. Our guests backed out for this week, so it's just us. I'm here with Valentino. Valentino, you want to say hi?
VALENTINO: Hey now.
CHARLES: Yeah. So, I thought we'd just catch up. You know, we usually don't talk about us. So occasionally you'll mention, yeah, I'm building machine learning models and doing important nifty stuff. And I thought, you know what, um, might be fun to catch up. The other thing is, is, um, I started listening to some of the other Ruby podcasts out there that hadn't. Like I knew there were more out there and I'd been subscribed to some of them like Ruby on rails podcast for a long time and things like that, but, um, I, I ran across, um, uh, remote Ruby with, uh, Jason charnes and Chris Oliver and Andrew Mason. I ran across a rooftop Ruby and I can't remember those guys' names, but they've got nice accents, nice British accents. Um, and then, uh, Ruby for all, which is also Andrew Mason, but he talks to Julie. And I'm kind of getting the picture that she's a recent, I don't know if she's a bootcamp grab grad or just graduated from school or just decided to become a programmer because she used to be something else, but Anyway, so they just chat and I was like, oh, we should just have a chat, right? So it's kind of both. So what are you working on? And let's chat.
VALENTINO: Yeah, we're going to tell us though. Uh, I just, I guess my latest thing is I just bought this, uh, massive, uh, three GPU machine that I'm going to start having some fun training, uh, and fine tuning my own models, uh, for, for AI related things.
CHARLES: Oh, nice. Uh, so
VALENTINO: I'm really looking forward to that.
CHARLES: Are you using link chain or something for that or?
VALENTINO: I will be. Yeah. I mean, that's what every everybody uses. So, uh, I'm going to try and do it in Ruby. That's kind of my plan is to do as much as I can and then maybe benchmark them and see, see if it's possible to do it in Ruby. Uh, so I think it is.
CHARLES: Isn't written in Ruby, but yeah. So you're just going to use it kind of like a database.
VALENTINO: Yeah. I mean that. I think the hurdle is PyTorch, which there's a port of it for Ruby. I haven't had a chance to play with it yet. So I'm kind of curious to see how well it works. Like we're doing some, you know, hard GPU computational stuff. So, we'll see. It should be fun.
CHARLES: Yeah. Cool. Yeah. That sounds awesome. I guess the other one, big one in the space is TensorFlow. And I would imagine, yeah, you can. So, so the tools that I, I talked to people and I had people bringing it up during the Ruby dev summit, it was, well, Ruby needs to be better in AI because if not, then Ruby's going to be dead on arrival and all this stuff. And I don't, I don't know if I buy that, but, um, you know, I'm looking at it and I'm going, okay, well, nobody's going to build the, the modeling engine in Ruby, at least not that I'm seeing. I guess they built it in Python. We're perform additional like Python, so maybe, but yeah, uh, what I'm typically seeing when I talk to people who were doing this is yeah, they're plugging into something else like PyTorch or like Jane or something.
VALENTINO: Yeah. You know, it's, uh, everybody it's funny. Like you mentioned it, like everybody does like it's the default, oh, Python's doing AI, but like really it's like C and C plus plus that is doing AI. And then they have like binary.
CHARLES: Yeah. Well,
VALENTINO: I think I think where it's gained the most traction is with like the lane chain people that have really like set up pipelines and tooling around like the parallelization, which is like kind of crucial for a lot of the, uh, you know, hard computation that's needed for it. And so they've set, they've like focused on that. And I think, uh, they've set up a functional framework that's worked really well for them. Uh, the, I'm, I'm hopeful that we can kind of get something out of that from Ruby too. Uh, definitely Ruby three has all the async stuff, uh, which we could probably get just as close to be honest. So that's what I plan to kind of test out. Uh, a couple of theories I have there.
CHARLES: Yeah, absolutely. Yeah. You mentioned that it's mostly C and stuff and you're right. I mean, the, there are two reasons that Python has kind of taken some of the space here and one is that they have kind of the, the math libraries and things that a lot of the academics wanted. And then they backed it on to C so it's freaking fast.
VALENTINO: Yeah, it's funny because like,
CHARLES: and all the other stuff's C.
VALENTINO: Even if you're running inference, like you're kind of just like shelling out to run the CPP library in the background, right? Like, so that's gonna be the fastest. And especially if you're trying to like, you have to optimize on the speed of the tokens, like.
CHARLES: Yeah.
VALENTINO: But what you end up doing is you download the model and then you want to run inference on it. Uh, and you run the inference through a faster library that processes in real time, uh, since you want to stream it often.
CHARLES: Yeah.
VALENTINO: So that's, I, I, I'm interested in all the open source models and what you can do with that and, uh, Mistral and MixedRail and all that, uh, you can get very similar outputs for a lot of certain kinds of tasks. And so that's why I want to kind of. see where I could take fine tuning and models, get very specific input outputs, and you can like make something really fast. Right?
CHARLES: Yeah. One of the things that I'm playing with in the AI space a little bit, and I'm just barely starting to pick it up because I have the summit. I've got like eight zillion things going. But I've been talking to Alex Rudol, who wrote the OpenAI gem. We had him on the show a while back. And Yeah, I basically, we talked after I interviewed him for the Ruby Dev Summit and decided that we're going to do a five day challenge where you hook into OpenAI. And so I'm trying to learn it so that I can teach it. If that makes sense. But I also want to integrate it into top end devs. Basically, because I'm starting to put out more content. And the system that we use is called they had some AppSumo lifetime deals. So I get like, I don't know, like 400 or 600 minutes a month or something. I can't remember, but I get not enough minutes a month on there every month without having to pay anything extra for them. And yeah, I talked to a few people and it looks like you can just hook into the OpenAI stuff and it'll do a lot of that work for you. So I'm much more on the consumer and much less on the how do I make this model come together, but I think it'll be interesting.
VALENTINO: Yeah, I mean, the biggest challenge too is like, where do you host it? Cause like you got to, you know, I put the weight somewhere and you know, then you have like, you know, all these different services that offer like a chat GPT API related, you know, set up that just like lets you run inference on your weights. Like, so it's like, yeah, at some point it starts to be like, well, you know, chat, you know, opening APIs on that expensive.
CHARLES: Yeah. Yeah. So, well, it depends on what you want.
VALENTINO: Right.
CHARLES: If, if chat GPT has a model, you know, using GPT 3.5 or GPT 4 that does your, does the job for you, then yeah, why build your own? Right. Unless, unless you have another reason to, but yeah, it's, it's for those other setups or other circumstances where it's like, you know what? I either. foresee that I'm gonna need to expand beyond what ChatGPT offers or, you know, my scenario is different for some reason and so I need a custom.
VALENTINO: Yeah, I mean, the most interesting part to me is like that the next chipsets that come out or versions of the Mac, you know, they're all going to be driven to run inference fast.
CHARLES: Right.
VALENTINO: And they write like the current ones already like do pretty great. And so like, if it's very easy to run inference, and like, you can just download the weights for an open model that get pretty much the same as, you know, GP 3.5 turbo, which is like pretty great outputs.
CHARLES: Yeah.
VALENTINO: then anybody can just run locally any model that they want and get like chat GPT locally and not have to, you know, worry about security or anything like that. Uh, well I guess you always have to worry about security, but less, less of who you're giving your, you know, all your questions to, which, you know, right now it's Google for a lot of people and it'll be interesting to see that change.
CHARLES: Yep, absolutely. So, uh, what else are you working on?
VALENTINO: Well, so I joined a makerspace at the end of the last year, and I've just been having so much fun. They have a ton of 3D printers and laser cutters and a metal shop and a wood shop. And so I have a bunch of projects that I've just like had in the back burner for a while. And one of those, a Doximity I've made, I run a little team that we do like ChatGPD for healthcare for physicians. And I wanted a way to just have a button that I could push and have it talk back to me since they have the text to speech. And so I thought there could be some cool applications where, oh, you just pushed a button and it talks back. And we kind of have this internal, it's a little funny, but in Microsoft Word back in the day, these have a little clip art paperclip that would show up. They would be like, oh, do you have any questions? Like, let's chat. And I was like, one of the first like chat bots that was like in a application, they're like Clippy, I think they called it. And so somebody at work was like, oh, we should have, you know, Clippy, but for doctors. So it would be like a stethoscope. So somebody like made this like, you know, kind of funny clip art looking stethoscope. So I thought, how funny would it be to have like, a real life stethoscope that had like googly eyes the same way that I could talk to and it would give me the responses back. So I have that underway just for fun. Like,
CHARLES: well, what are you going to name him? You have to give it a good name.
VALENTINO: Well, the internal name has been Steffy. Yeah. So I, I, I don't know. There's no real name yet, but either way, like I wanted to.. So now I wanted to set up where, okay, I don't want to have to depend on OpenAI for all of this. So there's an open source Whisper. Whisper itself is what OpenAI uses for transcribing what you're saying. And so they published that and you could download and run it. And so you could just yourself transcribe anything. And so I got a little microcontroller already and I got a tiny little microphone on it and you just talk to it and it transcribes and it's the step one is done. And now I want to use one of these, you know, open models and just like, give back the responses all locally. So I'm trying to get it onto a board, which is like hard to do because the inference does take time and right computation. And so what I've done is offloaded that and I, I stream that to my Mac book. Just over an open like TCP connection, right? And so it's on the same network. Like I don't have to worry too much this is just serving local requests and it's proxied there and so like Then I run the inference on the Mac and then stream it back to the device And so then I basically get like just I'm just streaming Wave files at this point. It works great It's like, you know the clipping and you push the button and it like, you know submits your request does the in-person and outputs back and it's just a lot of fun. So make a space like that project. And then I have a split flap display that I've put off for way too long, where I want to chain together a bunch of split flaps, which if you're not familiar, they're like the old school, like if you're at an airport and the displays would change here, right? So I want to set those up on my desktop. So I just like say send a message to it and it would like start flipping it and.
CHARLES: Right. Oh yeah. That's old, old school stuff right there.
VALENTINO: Yep. Yeah. So I don't know. I was just having a lot of fun with that. Uh,
CHARLES: nice. Very cool. Oh,
VALENTINO: what are you working on?
CHARLES: So where do I start? Uh, so the big thing that I'm spending most of my time on is the Ruby dev summit as we record this, it's gonna be next week, February 13th through 16th. And yeah, so the plan is effectively, I've done 21 interviews. You were one of the interviews. But yeah, so putting that up. Yeah, I figured you did. So anyway, the talks will be available for 24 hours from when they release. And then if you sign up for one of the subscriptions on top end devs, then you get forever access. Incidentally, we have one person watching or somebody may go watch the replay on Twitch or something. Oh, we went up to two people. All right, so anyway, it also gets you early access. So I have six of the 21 uploaded right now. My editor's getting me more as we go. And he'll have them all for me by, say, Monday, right? Which is one day early access. But if you wanna watch them at your leisure and you don't wanna have to worry about that time window, you can sign up. But if you go to rubydevsummit.com, and you enter your email address and I'll email you when they come out. Hey, this talks out. Here's the URL. Go watch it. Right. So anyway, it'll be really cool. And I talked to a whole bunch of people like on the Ruby core team. So, you know, we got Yuta Saito who did Ruby Wasm. I talked to Sotoro Matsumoto. No relation to maths. Incidentally, I asked him who does the RBS typing stuff. I've talked to Jeremy Evans. I've talked to, I mean, just all kinds of people. I'm, we talked, I talked to Marc-Andre Cornoyer last week for RubyRogues. And I emailed him to see if I can get him to do it because he wrote thin, the web server. So, and then he's got a whole bunch of stuff that he's been thinking about and working on. Anyway, interesting stuff from interesting folks and just getting that together, kind of raise awareness of the subscription. And then, you know, let people know, hey, look, I'm putting out these videos. If you want to learn Ruby stuff or Rails stuff, you can get one or both of the video series. And then just getting videos for the video series done is the other thing that I've been working on. And for the Rails series in particular, I'm actually showing you how I'm building the website for Rails Composer, which is the last thing that I'm working on work-wise, besides my client project, which is a whole nother thing. So Rails Composer, I've talked to a whole bunch of people that have either started businesses like SaaS businesses or maybe like some of them don't necessarily qualify as a SaaS business, but you know, they have like, Hey, you pay this, you get a license and you have a subscription to renew your license and things like that. And then they're selling other software like Dragon Ruby. For example, I talked to Amir Rajan and right, he's, he's got a thing where you.. you pay for your license for Dragon Ruby, and then you can go download it, right, and your license to use it. So when I was talking to him, and I mentioned this idea and started talking through it with him, and I've talked to a few other people too, who are building or have built SaaS, and I was like, well, what I want is I want to be able to say, hey, look, you know, plug this in, do some config, now you've got payment processing, right, within an hour or two. Plug this in. you know, do some config and now you've got user management, right? And it has something that works cleanly with device or active auth or, you know, whatever, right? And so you can set up auth. I feel like auth's been handled for Rails, so I don't need to do that, but, you know, so any of those common scenarios that you build into your application, right? Maybe I'll build in a licensed distribution thing, right? So you can license your software or, um, you know, just different things like that. The inspiration actually came from Laravel. I don't know if you've looked into Laravel a whole lot, but Laravel.com, if you go look and you click on their products, it lists a whole bunch of different things. So one of the other things I want to put together is, so they have Forge, which is essentially, you can deploy your applications to DigitalOcean or Linode or whatever, right? So you set up the machines and it'll deploy them. And I think it's pretty similar actually to Hatchbox, which is Chris Oliver's solution. But what I want to do is I want to do it more along the model of Kamal. And so instead of saying, Hey, deploy, you know, set up rails on this server and deploy it there. What I want to do is I want to say, take this app, containerize it, and then deploy it to whichever machine in the set of machines that you've told me about that you want it to go on. And so then what you can do is you can deploy multiple apps. onto the same set of machines and have it load balanced and everything else like you would expect. And anyway, just have everything kind of play nicely together that way. And then if, yeah, if one of your apps starts kind of taking over resources so that the other ones are starved for resources, you know, you can migrate them off and just give you a clean way to migrate them off with Kamal. Because ultimately, it's just containerized. And so... You know, you kill it over here and start it over here. And then you tell the load balancer is over there now and you're done. And so it gives you all kinds of flexibility and you can do all kinds of stuff with it. But the other thing is, is essentially what you wind up doing is giving me an SSH key and onto your machine or, you know, in some other way, you know, accessing the machine so I can set it up with an SSH key so I can deploy to it. And then from there, it just does all the things. And so you don't have to go get deep in the weeds with Kubernetes and stuff. But they have all kinds of other solutions for different things. They have their own queuing solution. I don't feel like I need to build that. They have an authentication solution for Laravel. I don't feel like I need to build that. But there are some of these other pieces that if I was building a SaaS app and I've looked at building SaaS apps for podcasters, it'd be nice to just say, okay, look, what I want to do is I want to manage the guest workflow. I don't expect that anybody's going to have a library or Rails engine is going to do that for me, right? I have to build that myself. But managing users, supporting users, managing their subscriptions, collecting payments. I mean, everybody that builds a SaaS app has to do that. And so why not just have a quick and easy way to do it? And then the other thing is, is I want to give people more of a system for building their SaaS apps and not a system, technical system, but like a, hey, you need to validate your idea. Here's how you do it. Here are the steps you take. Here's how that works. Right. And so then what you do is you pull the engine in to schedule calls with your potential customers, right. And then you just embed the component, you know, on your front page and say, Hey, we're launching. If you fit this criteria, we'd like to talk to you or, you know, however you do that to attract people in. And then once you've started validating the idea, then, you know, maybe you put up a change log or early access as part of the user management, right. And so you can plug in these different systems as you go, you set KPIs for your your app, and then, um, you get an engine that allows you to, and I don't know if this is a Rails engine or if there's a library and an engine or, you know, however that would go together, but then it collects the metrics for those KPIs. So that you can say, Hey, I need to be growing by this many users, or I need to be reaching out to this many potential users or what have you. Or if you're marketing, you have a podcast and you're trying to get people on your mailing list because that seems to be the effective way to sell it. It's okay, well, I need to have so many people signing up for my email list and having a way to track that and then display it so that I can go look at my dashboard every week or every day or every month or however often and I can say, oh, I need to focus more on this angle. I'm not getting enough traffic. How do I get more traffic? Or I am getting enough traffic, but they're not converting. How do I get to convert? And so just giving people the tools to grow their SaaS that all live within their Rails app, right? I don't have to go sign up for some third party service out there and have it plug into my thing and then have all my data sent off to the cloud and then hope that the provider doesn't disappear on me or whatever. So anyway, that's what I'm looking to build. I feel like Rails is already the awesome one person framework. And I wanna make it the one person SaaS framework, where it's just like, if I was gonna build a SaaS, this solves 80% of the common problems. And so I can just be in my zone of genius and know what to do next to make it grow.
VALENTINO: Tell me you've looked at Bullet Train.
CHARLES: I have looked at Bullet Train.
VALENTINO: So what are you seeing as a differentiator from Bullet Train?
CHARLES: So Bullet Train.
VALENTINO: Where do you see like maybe building on it?
CHARLES: Um, so the issue with bullet train that I have, um, is and I haven't actually tried it, but my understanding is that you basically get one template. And so you use the template for your Rails app. And what I wanna do is I want it to be more of a plugin model so you can pick and choose which pieces you put in. I also don't know if I wanna be opinionated on some of the things that they're opinionated on. So for example, device. Um. You know, I just, I don't, I don't know if I'm really keen on it. I don't know how their one click deploys work. Oh, it deploys the Heroku, right? And so that's another thing, right? I don't know if I want to lock into all of this stuff. Um, I mean, that's a big piece of it. The other thing is, is that... Uh, so one of the things is they they're using like can can can for their, uh, their roles and permissions and stuff. And I want to be much more surface UI on that stuff. Right. So if I have a non-technical co-founder who's helping me set some of this stuff up, I want them to be able to manage permissions and things like that. Right. At, at a more fundamental level. And so, you know, some of those things as I go in, Um, I'd like, I'd like to tackle, I mean, some of the stuff like, you know, teams, um, you know, tailwind, uh, theming. Yeah. A lot of these other things, um, you know, good looking form fields, you know, that are JavaScript enabled and stuff like that. Um, it has outgoing web hooks, which probably isn't a bad idea. Um, So yeah, there are definitely things here, but I want you to be able to just pull in the pieces you want, not have to use the whole framework. And I want to make this, I don't want you to have to basically code or customize my stuff. I want you to be able to set it up and have it do 80, 90% of what you need. And then if you really do need to customize it, you can, but, and that should be easy but for the most part it's like, hey look, we've already built in three of these features, so we're just gonna grab the plugin for this other thing and integrate it.
VALENTINO: Yeah, that makes sense. It sounds like you're getting on the bandwagon of using Rails as much as possibly can and just for this.
CHARLES: Yeah. Yeah, the other one that I found out there that does this is Jumpstart, and I haven't looked at theirs because theirs is a paid. deal, but I think it's kind of the same thing.
VALENTINO: Yeah. I've used jumpstart before. It's pretty good.
CHARLES: Yeah.
VALENTINO: It doesn't get you right up and running and in no time.
CHARLES: Yeah. I've heard a few people complain about bullet train. They had some issues making it, bending it to their will.
VALENTINO: Yeah, it's very opinionated. I will say that. But it is very featureful. So if you're looking for all the things that you would need for a SaaS business, it's pretty turnkey and configurable in that way. But I feel like, yeah, Jumpstart Pro, I feel like that was more of a platform, and then you build on top of it kind of thing, rather than trying to tune the knobs.
CHARLES: Yeah. And yeah, what I'm looking for is a little less use my platform and a little bit more of, um, Hey, here, here's your toolbox. Right. It here's,
VALENTINO: I still can't believe that that rails new does not have an interactive element.
CHARLES: What do you mean?
VALENTINO: Well, I mean, there's the, the may of WTF that started to try and, you know, cannibalize all the grease that people feel are in the Rails ecosystem. I'm trying to focus on like new, people new to the community. And one of the things is, everybody like at some point has made some kind of configurator to start a new Rails app. Like there's a way to like have your templates so you can have a template that you generate all your new Rails apps off of, which is nice. But then you end up having to maintain the generator and make sure that you know, the template is up to speed with all the new generator updates. And then, so like the whole idea was, okay, well, Rails could just like use its existing generator and we'll just make it, you know, add little UI toggles. So in the command line, you could just have, you know, of dash dash interactive, and it'll step you through, you know, walk you through all the steps for, do you want to use like the asset pipeline, right? Do you want to use turbo like hot wire?
CHARLES: Yeah.
VALENTINO: And like, you know, all the things that all the flags and features that already has that are just, unless you do like, you know, rails new dash dash help, like you have no idea that they're in there.
CHARLES: Right. And so just for the rails flags themselves,
VALENTINO: not for this for the rails flags, like just start there, right?
CHARLES: Yeah.
VALENTINO: Uh, and so somebody built that and they're like, yeah, like we could do this pretty easy, like, and they built it. And, you know, it's shut down pretty quick in that. Oh, we did want to have to maintain it. Then anytime a new flag, we also have to, you know, change the generator. And, you know, that's fine. But like, that's also true of all these flags and all this other stuff. Like, you know, would it be that much more to maintain? I don't know. Like, for the number of times that somebody just from scratch makes a Rails configurator. I feel like maybe the benefit outweighs all the time wasted doing that.
CHARLES: Right. Well, it's funny because, so railscomposer.com, I got from Daniel Kehoe, who did Rails apps, and he built Rails Composer, which would ask you all the questions.
VALENTINO: I'll totally use that.
CHARLES: Yeah. And so, you know, I emailed him and asked him if I could buy it from him and we worked out a deal. And anyway, it was pretty funny. He's like, yeah, I'm not maintaining it anymore. So, you know, yeah, anyway, he didn't have any heartburn giving it up. But anyway, it was just kind of funny because yeah, um, I kind of want to do that kind of a thing for, yeah, for, for SAS app. So then it could be rails compose and it would be okay. Which of these things do you want to pull in? Right. And yeah, I'd love to put, build themes into it. Right. So it's, Hey, look, you know, we've got a whole bunch of. Nice looking view components. right, that are all have the right CSS classes and properties and what have you. And so if you switch themes, it just pulls in a different set of view components. Magic. But yeah, I mean, I've got all kinds of ideas of things that could go into that. And I mean, there are a lot of things that you could really provide to people off of that but those are the biggies. Those are the big things that I'm working on. I mean, I volunteer at a bunch of stuff here locally, but it's not really anything that people who watch or listen to the podcast are that interested in.
VALENTINO: Yeah, you know, we both probably have just like so many ideas and I feel like the more senior you get, the more ideas you just have that just like end up on a shelf.
CHARLES: Yeah.
VALENTINO: And I feel like there's like, there's a missing opportunity there to just like have like some kind of, uh, you know, employment option, just like work on people's side projects.
CHARLES: Maybe
VALENTINO: you know, I feel like I'll, I might get to a point where like, you know, I could afford to just like, okay, you know, pay somebody to try out a couple of them, you know, see how far you can get. And maybe like, that's like an internship opportunity too. Right. Maybe it's like a like junior, like onboarding, like, uh, apprenticeship kind of style program that could be made from this. Right, like just trying to chip away at people's side projects. Cause you know, whether or not they do anything, like they end up where they are anyway, and will continue to be, right? Like I don't have time to do all these side projects. But I got a lot of ideas, right?
CHARLES: Some of why I wanted to do like Ruby bits and Rails clips video series, was so that I could work on the side projects, right? And so, yeah, I mean, for Rails Clips, I am building Rails Composer, right? So I am building an actual business, right? And then, yeah, I intend to show you, okay, I'm building in the user management console that's gonna wind up being for sale on Rails Composer, right? But anyway, it's, for me it is, it's that. I do, I have like eight ideas that I imminently want to do that I just don't have time for at all.
VALENTINO: right.. I see, wouldn't it be nice to just have like a apprenticeship program where you can get a pipeline of people, right? Ready to work on it for the experience and exposure and to have a product that they could join potentially if it becomes fruitful, right?
CHARLES: That's true. If it starts paying me, I can use that to start paying them.
VALENTINO: Right. And so I don't know. I feel like so many...
CHARLES: Now I have a project to run on my projects.
VALENTINO: Exactly.
CHARLES: Thanks, Melo. One more thing.
VALENTINO: What I'm getting at is so many hours are wasted on developers just making a to-do app. Instead of a to-do app, why not just join this apprenticeship program and work on some idea that somebody's fleshed out that is pretty much a to-do app, but just their own version of it.
CHARLES: Right. So one of the things that I want to build is just a guest workflow manager because I have been cobbling things together using Zapier for years and it still breaks all the time.
VALENTINO: Right.
CHARLES: And so it'd be nice if it was just, okay, it does all the things, right? Sure, it integrates with Google Calendar and one or two other things in order to do some of its work, but it does it the way I want it.
VALENTINO: Right.
CHARLES: Or...
VALENTINO: Maybe I'll do that. Maybe I'll start the apprenticeship program and so if you're out there listening and you have projects that you need an apprentice for, you know, just let me know and I'll get like a nice big list going. And if you're somebody interested in like learning Ruby and Rails and you want like exposure and experience like, you know, with some tips from a pro, like, you know, reach out to me. Yeah, I'm on the Twitter. Let me know. And if we get a good enough base, you know, maybe, hey, maybe something will happen here.
CHARLES: I've got a couple of projects that honestly, if somebody came to me and wanted, you know, a little bit of coaching every week, I would, I would totally help them if they would help work on those.
VALENTINO: Right. Especially if it would be made, right? Like I would just like love to use it open source wise, you know, like, hey, and then it's yours if you want it. Like really, you know, if I need to make some tweaks to it, I'll do the open source thing and submit a PR for it. You know, like, I feel like,
CHARLES: I mean, I've looked at some of the open source stuff and I have to say that this might actually tick some people off. But some of these projects I would, I would open source them as like, uh, LGPL or something so that, Hey, look, if you're going to use it or contribute to it, you have to contribute back. And I'm the only person that can actually sell it and make money at it. Because if I'm going to invest all the time, effort and money into it,
VALENTINO: yeah, I'd like to profit from it. Yeah. I mean, licensing is important. I think it's often overlooked and GitHub's MIT default, I think maybe, uh, you know, catches people off guard when they go and try and do something. Um,
CHARLES: I think, I think MIT licensing is great for like the vast majority of open source stuff, cause it's, Hey, look, this is out there to help other developers and so if they want to tweak it, tweak it, tweak away, right. Yeah. But for some of the other business stuff. Yeah, I don't know.
VALENTINO: Yeah, I know that. What was it? There was a couple, uh, Ruby projects that just like completely wiped to get history, right? Because they changed the license or something like that. I forget what it was.
CHARLES: I don't know. I haven't heard about that.
VALENTINO: Oh, okay.
CHARLES: But one project that is from a local company here, there's a company here called Instructure and it's a fairly large Ruby shop actually and they have a product called Canvas and it's the systems that's used on like college campuses. Um, I think my kids' schools use it and stuff, right? It's kind of funny cause, you know, they kind of give me funny looks when I go, I know the guys that built this. But anyway, so, um, yeah, they, they started putting it out there and the big player in the space was Blackboard. I think it was Blackboard. And that was what was out there when I was in college, right. To hand out assignments and stuff on the internet. And they had a whole bunch of stuff that they had patented processes and things like that. And they basically came out and at one point publicly stated that they would not sue other learning systems that use the stuff that they had patented if they were open source systems. And so what, what canvas did is they took advantage of that and released an open source version of canvas. So if you wanted to, you could go stand up your own version of canvas. And in fact, at the time I was picking up contracts, customizing Canvas for different people. So they'd gotten it installed on their machine and then they had forked it, but it was LGPL. So you could use it for your own stuff, but then any changes you made to it also had to be open-sourced because that's GPL and LGPL. No, it was a FaroGPL. It was AGPL, but you also couldn't sell it. So I could sell services to help people set it up and things like that and they could run it, but I couldn't actually like run a service that says, Hey, you know, have a canvas. So, um, and you couldn't close the source. And, and so that was the way they got around those patents. Cause then Blackboard couldn't go after them without giving themselves a black eye. And I think they eventually ate their lunch and took most of their business. That's another thing. Um, but yeah, so you know, a model like that where it's like, hey, look, I don't really care if you use my app, but I don't want, you know, I don't want you competing directly with me to give people access to run my stuff. Right. So all the non-programmers out there who want, you know, a version of the thing that I built, they have to come to me and pay me in order to have it. Right. If they're not going to go set up an open source version themselves.
VALENTINO: It makes sense.
CHARLES: So Anyway, but I don't even know if I'm going to get there with some of these projects because I don't have time for them.
VALENTINO: So So we were talking about time management before the show, uh, you know, what are you are you using anything special for your To manage all of these ideas that you have right now. I just have this like trello board. That's just like It might as well just be a text text
CHARLES:Yeah,
VALENTINO: it just keeps growing
CHARLES: so i used to be better about this and what I used to do, and I just got out of the habit and I need to get back into the habit, is I would basically write down three to five things that I needed to do today and I would just make sure I got those done. And so, yeah, and then I do the same thing for the week, right? I'm like, these big chunks of stuff have to happen this week, right? And so it's, hey, you know, like I'm an officer for the Utah County Republican Party, right? And so it's, Hey, I got to get this stuff done for the party. I got to get this stuff done for work. I got to get this stuff done for this other thing. And, you know, and so then it's, it's just a, Hey, I got to get these things done. And so then I look at the next thing that has to happen for those things. And I put three or three to five of them on a list. I get them done. And I usually actually block out time on my calendar. Um, I haven't been doing that lately and even then sometimes it's overwhelming because I don't see how I can fit everything in when I try and put it into my calendar I don't know. I don't know what the answer is because I feel like I have more things than I have time still And so then I have to start taking things off my list, but it's all stuff that I feel like has to happen so
VALENTINO: yeah, I have a hard time balancing like the like the work and play time cuz like I have a pretty good schedule for like work. I just, you know, beginning of the day, just write down things that like you said, you need to get these things done. And then some extras at the bottom, which is nice to have. And then I have my list and I just look, it stares at me all day and I got to cross the stuff off. And so like, but at the end of the day, you know, I don't have anything I'm looking at all and then, so like, then it becomes, well, okay, I found this like hour in the morning, every morning that I could do other stuff.
CHARLES: Uh-huh.
VALENTINO: But like, it's not really enough time to like write stuff down and get it crossed off. It's like just enough time to like, you know, read some stuff and like play around, you know, with a, an experiment and you don't really have time to build anything.
CHARLES: Yep. So Dave Shamira, I asked him how he would, you know, because he does drifting Ruby on top of a full-time job. And what he said was that he worked something out with his wife so that most days, 7 PM to 10 PM is his time to do drifting Ruby and whatever else. That doesn't work for me. And part of the reason why that doesn't work for me, I don't know how old your kids are. Maybe I should ask how old are your kids?
VALENTINO: Yeah, right now they're eight and 10.
CHARLES: Okay. So my lifestyle is a little different. My kids are 18, 16, 14, 12, and eight. And so they all have things that they need to be at and do. And the other piece of the puzzle is, is that my wife works at the charter school. She's the lunch director over there. And so she's gone all day too. And so if there's anything that happens that has to get handled, a lot of times it's me, right? Or my daughter just started a job at Subway and she doesn't have her driver's license yet. And so I wind up driving her to work or picking her up or, right? And so there's always something, always something. And then being involved in the party, you know, with the political stuff, you know, there'll be a state legislator that wants to meet for lunch, or there's some thing like Utah's caucus night is coming up in March, right? And so making sure that we have that all together so that people who want to express their opinions on, because we're also doing a presidential preference poll at caucus night. And so we want to make sure that that comes out fair and square and that we're not tipping the scales inadvertently in any way or anything like that. And so, you know, there's always the other stuff that comes up. And so having a set time that I can do that stuff from seven to 10, it just, you know, in the evening, it's not something that I can reliably do. And so...What I've started doing this week is I've just started putting in at least an hour on that stuff, and then I'll start doing the other stuff. So then I'll work on the client stuff or the party stuff or whatever. But yeah, it's not always enough.
VALENTINO: Yeah, I think I just need to work on optimizing that one hour window.
CHARLES: Yeah. There have been a couple of nights this week where I've gotten like three hours of sleep because I just stayed up, kept working on stuff. I mean, I only have two interviews left for the summit and that's taken up some time too, so that's one thing that at least will kind of fall off my plate. Yeah. I don't know.
VALENTINO: I'm thinking more about this apprentice program, you know.
CHARLES: I'm loving that idea.
VALENTINO: I see only valid way to expand my hour window. I think
CHARLES: I'm very seriously thinking about whole stay wholesale stealing your idea and saying These are the projects I'm working on You know,
VALENTINO: hey, let's collaborate, you know, let's just make a simple to-do app That's you know Chuck and Valentine. Oh, it's like, you know to wish list
CHARLES: Uh-huh,
VALENTINO: and then I sign up you know, sign up for the apprenticeship program, pick your project.
CHARLES: Yeah. You know,
VALENTINO: it comes with, you know, I don't know, a couple hours a week of, you know, uh, mentorship one way or the other. Yeah. Mentorship and then like a review period, right? Where after, you know, quarterly reviews, you know, you go through and you get a little extra time and get to review the progress, right? Like,
CHARLES: Yeah. I'm not interested in having them apprentice on a to-do app. I've got some other ideas. Also,
VALENTINO: I don't mean I don't mean it to do that. I just mean, you know, we make just a website that is a to do list.
CHARLES: Oh, I gotcha.
VALENTINO: That has the projects that are on our list.
CHARLES: Yeah.
VALENTINO: That we want that.
CHARLES: That makes sense. Yeah. Wesley Curry asked if we're live. We are live. So hi to West Virginia. Um, but yeah, yeah, I kind of like that idea. Some kind of project management thing or something like that. So I'm kind of digging the idea, right? So then it's, yeah, it's Ruby apprentice, something or other. And I would even be open to experienced people, right? If you're between jobs and you want a project to work on and you want me to refer you cause you do good work. I don't know. Sounds good to me.
VALENTINO: Hey, I got some advanced projects. I, I like wanted to try, you know, like I wanted to, uh, I wanted to try setting up a, uh, a rails GPIO gem where I could hook up real time action cable to a GPIO pin on the Raspberry Pi.
CHARLES: Yeah.
VALENTINO: You know, like, that could be advanced. And I feel like it could be fun too, you know.
CHARLES: That's really interesting. I've never seen that before. It says, says West, Wesley Curry was banned and their comments were removed because weird. Did you do that? Or was that the system? I did that. Oh, you did that? Yeah. He started posting bizarre stuff and I'm like,
VALENTINO: Not interested.
CHARLES: Yeah. Anyway. So, yeah. We should definitely flesh this out some. I don't know that it'll get traction, but maybe it will. Maybe there are people out there looking for a project to contribute to. And to be perfectly honest, the other thing is, is like, as I'm working through Rails Composer or working through ruby bits or Rails clips or some of the other videos or, you know, kind of premium access things. I'm totally willing to let people in if they're willing to contribute, right?
VALENTINO: Yeah. And you know, I feel like that's a hard, it could bridge a gap too, right? Like for open source, where like the hardest part is finding contributors. Like if you have a set of things that you don't need to get done, you just, you know, you don't have the time for it or it's just like... You know, you have a backlog of issues, you know, just throw them on the apprenticeship page, you know,
CHARLES: I like that
VALENTINO: if you're willing to devote a certain amount of time, right? To mentor somebody for so long, just and they'll get, you know, they'll work on this set of issues or whatever it may be for you. Yeah. I feel like, I feel like it could work out.
CHARLES: Yep. All right. I want to know how you end him. I did, I didn't know you could do that.
VALENTINO: Oh, they have a little hamburger menu.
CHARLES: On StreamYard or on YouTube?
VALENTINO: It was on StreamYard.
CHARLES: Okay, good deal.
VALENTINO: Yeah, I think you could do it with the top end devs user too.
CHARLES: Okay.
VALENTINO: I'm interested to see that. I don't know how to get them out of timeout though. I'm sure there's...
CHARLES: Oh, yeah, it's Delete comment, put user in timeout, ban user in delete comment. All right, cool. Yeah, I've played with the layouts and stuff. All right, good deal. Well, is there anything else you want to make sure people know about? Maybe our first mentorship project will be the mentorship website.
VALENTINO: Yeah, right. Let's put it out there. Hey, if you're interested in building a mentorship website.
CHARLES: Yeah. But the thing is, is that I would also be willing to, so just as an example, not just the mentorship thing, but also like if.. If you're willing to contribute in a meaningful way on a regular basis to my project, then I am willing to give you in return, right? And so there's kind of an informal or I don't want to say contract, but understanding, right? That, Hey, I'm going to get an hour a week of your time in exchange for contributing at least, you know, uh, closing so many issues on a GitHub repo. Or, um, you know, if you solve these issues in the repo, then you'll get two hours of my time. Right. And then I'll put more up next month and you can claim those as well. Or, you know, but, but that way you can incentivize people with more than that. Right. And then I could go in there and say, I have this project, I need these things done. And if you do it, then you'll get access to my whatever course or whatever, right. That's part of the deal. And so if people want to work for their access instead of pay for it, then that's an option.
VALENTINO: Hey, that's pretty cool.
CHARLES: I don't know if I have anything else to add, but I'm kind of digging this idea. This is kind of floated to the top of our conversation. This way. It wasn't planned.
VALENTINO: It's cannibalized.
CHARLES: No, we had not discussed this beforehand.
VALENTINO: It's something I've been thinking about a lot.
CHARLES: Yeah. But I like,
VALENTINO: I just don't have the time. Yeah. You know, like I, I throw ideas out on Twitter all the time and I'm like, Hey, see you in my...
CHARLES: Yeah. Well, the other thing is, is I've put, I, look, before when I put the summits together, you basically just had to pay or you couldn't even get to the videos. And this time I'm putting them up for free for a week or during a week, I should say for 24 hours each. And I'd have people come to me and say, well, I live in, you know, this really small country and I'm poor and I can't afford it and I was always not sure how to give it to them. you know, because it's like, well, I do have people who are actually paying full freight for this, right? And I don't know that I feel good giving it away, but I could say, Hey, look, you know, uh, this should take you a couple hours. And if you submit a pull request and I merge it, then I'll give you a ticket.
VALENTINO: Future. Yeah.
CHARLES: All right. Good deal. Well, I don't, I don't know if I had, like I said, I don't know if I have anything else, how about you and anything else you wanted to bring up or that you're working on?
VALENTINO: No, no, not really. That's it for me too. It's a you know, I've got to start I have this blog that I used to keep track of my you know my embedded systems Discovery and and I haven't done it in a while. That's where I'm gonna go next probably is get finally get some of these projects up and Documented because they're just they're too fun.
CHARLES: Yeah,
VALENTINO: it's worth the story
CHARLES: Yeah, I love it Alright. Well, let's go ahead and do some pics and then we'll wrap it up.. Why don't you go ahead and go first?
VALENTINO: Yeah, so I'm going to do all AI picks. My first one is Ollama. I've been using that a lot, O-L-L-A-M-A. It's just like a super easy way to download open source models and run them locally. Super slick. It configures it by your system, so you get the optimizations of the Mac if you're on one, or whatever GPU you may have it does pretty great and runs fast, convenient. It sets up like a local API for you to hit too. So you get like, you know, OpenAI style chat API to complete stuff with using your local models, which is pretty neat. So I've been playing a lot with that and having a lot of fun. So check that out. And yeah, the other one I've been playing with Turbo more. And I keep going back to this Hot Rails tutorial. And we've had, what's his name? Alexander. Oh man, blanking on his name. I have it open here. Ruban, yep, Alexander Ruban. We had him on once to talk about it and just, it's great. Such a great reference. And it sets you up with like a great looking site. That's just all vanilla CSS. And it uses like the beam methodology, which is, you know, some people are saying it's dated, but it's solid and it works well. Super easy to integrate. uh, within Rails and, uh, yeah, just so much fun, uh, to play with Turbo and try all the Turbo streams and get stuff updating live on the page. All with just Rails views. It's no JavaScript. It's I love it.
CHARLES: So I've got a couple of picks here. The first one is a game called Atiwa. I know I'm saying that wrong. I'm sure I'm saying that wrong. Um, it is a board game where you basically are breeding bats. And so what it is is you start with a village and you can put different things on the village. You can put trees, you can put families, you can put wild animals, you can put goats and bats. And what you're trying to do is you're trying to expand your village and raise more bats. And so when you get a family, they're untrained, once you train them, then you can give them a bat to work with. And then, yeah, it's a fairly involved game. It's mostly a worker placement, and then you're managing your own little economy on your own. It's a little bit more involved game. Board Game Geek actually waits at a 2.72. So I keep telling people like the average gamer, you know, if you're a casual gamer too is, you know, kind of your sweet spot if you want something that's mildly challenging to follow along with, but not so much that you have to really think hard about it. Atiwa is a thinker game, but it's so fun. Played it last night with my buddies. We let my friend Mike pick the game because today's the first anniversary of when their baby passed away. And so we're just like, dude, whatever you want. That's what he wanted to play. But it's a fun game, it's an awesome game. So I'm gonna pick Atiwa. And let me just get another link here to Amazon. This is an affiliate link. So I do get, you know, the 3% or whatever for referring it through them. But anyway, um, I really enjoyed it. Um, another thing that I'm going to pick, and I've just been on a kick the last three or four days listening to Toby Keith music, cause he passed away, uh, three days ago. And I grew up kind of as a teenager listening to his music and in college, I really got into his stuff. And so I really enjoyed it. It's kind of irreverent country rock. This is the way I'd kind of describe it. But yeah, he's had a whole bunch of just terrific songs and I've really, really enjoyed his music over the years. So you know, yeah, I'll miss him making new more of it. So anyway. So Toby Keith and then yeah, I should have pages up for Rails Composer soon. So you can go check that out at railscomposer.com and the Ruby Dev Summit. I think we're two weeks ahead. So I think this episode will come out after the summit's already been out for free. So if you want to copy, just go, you can still go to Ruby Dev Summit, enter your email address, and then it will take you to a page where you can sign up for Ruby clips and Ruby bits and Rails clips. I get them mixed up all the time. Ruby bits and Rails clips. So you'll get a video a day or video a week for each series. And you can get it for half off the second video series. So it's basically $29 instead of 19 for each one. And so yeah, go check that out. And then Yeah, the other one that I'm really getting into these days is Tailwind, Tailwind AI or UI in particular. So Tailwind UI is basically you can pay for it and then you get templates for different components or layouts in with Tailwind. Now, the layouts are all React so that you can get a Next.js app. And what I found is that it's not terribly difficult to convert it from Next.js components or React components into Rails view components. And so that's what I've been doing is I've just been pulling it over. The only thing that I've run into is that they use the headless library for the animations, right? So if you click the button and it drops down the menu, things like that, they use headless. But I haven't found anything in there that wasn't terribly hard to implement with stimulus. So I've just been putting stimulus on it. So then if you click it, it does the couple of transformations and off you go to the races. Anyway, I've been pretty happy with that. The first couple of Rails Clips videos actually cover how I've handled a couple of those before I get into the nuts and bolts of, okay, now I'm adding users. Now I'm adding permissions. Now I'm adding whatever, right? Stripe. So if you're looking at that and going, well, I like the idea behind Tailwind UI and I've grabbed some of the components, but I either picked up just the HTML version that doesn't have the JavaScript to animate it or I have this React component that I don't really want to pull React into my app to use, then yeah, I'll walk you through how to convert them. So anyway, those are my picks, but yeah, I'm really digging Tailwind UI. I am not a fan of trying to figure out how to make it look good on my own. One other thing that I found, incidentally, that I thought was funny is I think it's the salient layout. If you go to Go Rails, their main page, it's salient. And I'm wondering if they're running next JS. I'm wondering if Chris is running an XJS there instead of rails or if he converted it. But I've seen a couple of other people running it too. People within the Ruby community who I know generally use rails. So anyway, I'm not the only one using it, but yeah. Um, I think that's all I've got. So we'll go ahead and wrap it up. Thanks for coming, Valentino looking forward to seeing more of your projects.
VALENTINO: Thanks for having me. This is great. Yeah. I'm looking forward to apprenticeships, you know, like, uh,
CHARLES: Oh, we should totally do it. Yeah. All right.
VALENTINO: Yeah. Thoughtbot had the apprenticeship program for so long. Uh, you know, and I think they still have it. It's, it's paid. Uh, you know, so there, there may be a little bit difference there, but I feel like, you know a pay to play kind of situation. I don't know. It's just a way, honestly, if I just had a way to just, have a list for people to work on that are also interested in mentorship, what a great way, right? I feel like two birds.
CHARLES: Yeah, I do have to say, and we're still live, but I do have to say that the only other hang up I have is that technically, unless you sign a contract or something, you own any code you write. And so we might have to have some kind of agreement that says, you know, that, and what I would do is I would just have the mentor opt into it, right? And so they say, I need my apprentices to opt into this that says any work that I do on or related to my project becomes property of myself or my company. And that way there's just no hang up. If you have somebody work on something, it's like, yeah, you know, you're the one that ultimately has say on how it's licensed to use whatever, but then you can pull people in on private repos for, you know, company owned projects too, and not be worried about, okay, they're going to come back and sue me because they own 10% stake now in this code base.
VALENTINO: Yeah, I mean, hey, I have projects where I don't mind.
CHARLES: Yeah, if it's, you know, like if it's open source,
VALENTINO: I feel okay to. The other start step one.
CHARLES: Yeah,
VALENTINO: let's start step one. You know, don't projects that don't involve licensing,
CHARLES: right?
VALENTINO: You know, let's, let's get that step. It will get there when we get there kind of thing, you know?
CHARLES: Yeah.
VALENTINO: And then, you know, here's some projects we want it to be made. You just don't have the time. Do you want to work on it? And you know, get some mentorship. Like I got plenty of those still.
CHARLES: Yep. Well, and if anybody knows a good attorney that does those kinds of contributor agreements, something that we can just put together and then just have on the website that people e-sign as part of the deal, right? And so then it's, Hey, I need people to e-sign this, right? And so then it's I agree and waive all rights to specifically the work on this project, right? We'll make it very narrowly focused, but yeah.. Then people can just get help wherever they want and they can open up more opportunities to people on the other end. And I mean, yeah, you're right. Some of the apprenticeship programs, I've seen them where they're paying the apprentices to work on actual apps, but there just aren't enough of those opportunities for everybody coming out of a bootcamp or making a career change. And it would be terrific to have people be able to come in and really take advantage of that. And then after six months working on my project or your project or somebody else's project, they go out there and they have that on their resume. Well, for the last six months, I've been working on this job board or the last six months I've been working on this internal app. Here's my reference, right? And then the reference is somebody in the community who can say, yeah, they did a great job.
VALENTINO: Yeah, I mean, you know, who is it? Uh, man, the, uh, the Ruby friend program, right? Uh, that's such a great idea. I don't think it was Brian Hogan. I think it was a Ruby mentor.
CHARLES: He is a Ruby mentor. I think
VALENTINO: Oh no, there was one, uh, I participated in a while ago.
CHARLES: Yeah.
VALENTINO: He orchestrated the whole thing himself, just like via email. Oh man. I'm, I'm so bad with names. Uh,
CHARLES: is it Andy Kroll?
VALENTINO: Yeah. Andy Kroll. Yep. And it was great. You know, like it just, are you interested? Yes. Okay. He put, put you on the list and are you interested in a mentorship? Yes. put you on the list and then, you know, random sample, pair people up and boom, like, okay, here, go meet, here's some guidelines, uh, you know, be respectful. Like, you know, and it worked out that it's still going, you know? And, uh, I feel like that combined with projects that people have, right?
CHARLES: Yeah.
VALENTINO: Like that's,
CHARLES: you can actually make stuff out of it,
VALENTINO: you know,
CHARLES: like, well, And in a lot of ways, I know people who are willing to be mentors, but then they're like, I don't have time. And so this gives them some incentive because it's, hey, this is ultimately going to save you at least some of the time back, right? Because you don't have to go and do the work. Yeah, you have to review the code and yeah, you have to spend time helping this person learn stuff. But the other end of it is, is that yeah, they spent 12 hours doing something that would take you two hours. But you... it, you know, you net spent an hour with them. And so you earned an hour back. Right.
VALENTINO: And I mean, to be honest, like if somebody's interested in getting into open source, right, like they just haven't found out how, like this is part of open source, right? Like taking a contribution from somebody reviewing it and getting it merged in and managing that process, like. It's honestly a great way to like set somebody up for that. Right. Like if you have an interest in open source, like apprenticeship program, mentorship, apprenticeship, like it is very similar to open source, you know? And winning combo. Let's get it done.
CHARLES: Yeah. Well, there's no reason why open source projects couldn't submit to this too. Right?
VALENTINO: Exactly.
CHARLES: Yep. All right. Good deal. Oh, yet another thing for me to do. But this one sounds pretty rewarding at least.
VALENTINO: Right? At least, I mean, we got to get, you know, all these newcomers into the, you know, into the community. Like, you know, that is definitely like still a barrier to entry is like, how do you get people up to speed and feeling comfortable talking to people? Right. Like, you know, that that barrier is still there and doesn't have to be and you shouldn't need to spend money on a conference to get it, you know.
CHARLES: Yeah. Well, the other thing is, is that i talked to some people and they do a good enough job selling themselves to where they can go from, I've never worked at a company that did any kind of programming before to get somebody to hire them because they can demonstrate one way or the other that they're worth taking a chance on. And then there are a whole bunch of other people that just aren't so lucky. And so what they wind up doing is effectively they wind up doing this except, you know, they have their own project and they don't really have good mentorship. They don't have a way of building their network. And so they're kind of just stuck there until they can convince somebody that, Hey, look, this is all the stuff I did on my own. This is stuff I'm learning on my own. And then get somebody to take a chance on them. Once they have a pile of things to shove in their face and say, I can do this stuff.
VALENTINO: Yeah. You know, even like from somebody that's trying to like change languages, like this doesn't know Ruby, but wants to know Ruby, like, I feel like this is another great opportunity, you know, like, uh, how do you pick up speed, right?
CHARLES: Yeah.
VALENTINO: Like, boom, here's the project.
CHARLES: How do you repent of using React on so many projects?
VALENTINO: Right.
CHARLES: Yeah. No, I agree with you. Yeah. We'll have to talk about it offline and see what we can come up with. And maybe it'd be fun to do another episode about it. It, once we kind of have-
VALENTINO: Oh, totally. Yeah. The recap with the launch
CHARLES: Yeah. But I'm totally down figuring out how to make this happen.
VALENTINO: Let's do it.
CHARLES: All right. I'm going to wrap this up Until next time, folks, Max out.