Hey, Welcome back to another episode of the Ruby Rogues podcast. Our guests
backed out for this week, so it's just us. I'm here with Valentino.
Valentino, you want to say hi. 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, it might be fun to
catch up. The other thing is is 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 I ran across Remote
Ruby with Jason Charns and Chris Oliver and Andrew Mason. I ran across Rooftop
Ruby and I can't remember those guys' names, but they've got nice accents,
nice British accents. And then 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 boot camp 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? Yeah, we're gonna
tell us stuff. I just I guess my latest thing is I just bought
this massive three GPU machine. Oh wow, that I'm gonna start having some
fun training and fine tuning of my own models for AI related Thanks, I'm
really looking forward to that. Are you using lane chain or something for that
or I will be? Yeah, I mean that's what every everybody uses.
So uh, I'm gonna try and do it in Ruby. That's kind of
my plans to do as much as I can and then maybe benchmarkham and see
see if it's possible to do it in Ruby. R isn't written in Ruby,
but yeah, so you're just going to use it kind of like to
use a database. Yeah, I mean that. I think the hurdle is
PyTorch, which there is 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 be doing some you know, hard GPU competational
stuff, so we'll see it should be fun. Yeah, yeah, cool,
Yeah, that sounds awesome. I guess. I guess the other one
big one in the space is TensorFlow. I would imagine, yeah you can.
So so the tools that 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 you know, I'm looking at it and I'm going, Okay,
well, nobody's going to build the modeling engine in Ruby, at least
not that i'm seeing. I guess they built it in Python and we're we're
performed a dish like Python. So maybe. But yeah, what I'm typically
seeing when I talk to people who are doing this is yeah, they're plugging
into something else like PyTorch or like chane or something. Yeah, you know,
it's everybody. It's funny, like you mentioned it, like everybody does
like that 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 buying Yeah, well, I think I think where it's gained the most
traction is with like the laying 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 said they've like focused on that, and I think they've set up
a functional framework that's worked really well for them. Uh. I'm hopeful that
we can kind of get something out of that from Ruby too. Uh.
Definitely. Ruby three has all the acinc stuff, Yeah, which we could
probably get just as close to be honest. So that's what I plan to
kind of test out a couple theorios I have there. Yeah. Absolutely,
Yeah. You mentioned that it's mostly C and stuff, and you're right.
I mean 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 see so it's freaking fast. Yeah, It's funny because like if you're
running even if you're running imprints, like you're kind of just like shelling out
to run the CPP library and the ground right, Like, so, uh,
it's that's going to be the fastest. And if you especially if you're
trying to like you have to optimize on the speed of the tokens. Like
what you end up doing is you download the model and then you want to
run infrints on it, and you run the inference through a faster library that
processes in real time since you want to stream it often. Yeah, so
that's I'm I'm interested in all the open source models and what you can do
with that and missdrill and mixed drill and all that. 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 in models get
very specific input outputs and you can like make something really fast, right Yeah.
Yeah. One of the things that I'm playing with in the AI space
little bit, and I'm just barely starting to pick it up because I you
know, I have the Summit, I've got like eight zillion things going.
But I've been talking to Alex Rudol, who wrote the open aigm. We
had him on the show a while back, and yeah, I've 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 open Ai 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
cast Magic. They had some apps Zumo lifetime deals, so I get like,
I don't know, like four hundred or six hundred 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
open ay 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 how do I
make this model come together? But I think it'll be interesting. Yeah,
I Mean the biggest challenge too, is like where do you host it?
Because like you gotta, you know, put the weights somewhere and you know,
then you have like, you know, all these different services that offer
like a Chat GPT API related you know setup that just like less you run
infernts on your weights like so that it's like, yeah, at some point
it starts to be like, well, you know Chat, you know opening
eyes API isn't that expensive? Yeah? Yeah, so well it depends on
what you want, right, Right. If if Chat GPT has a model
you know, using GPT three point five or you GPT four that 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 going to need to expand beyond what chat GPT offers,
or you know, my my scenario is different for some reason and so
I need a custom model. Yeah. I mean the most interesting part to
me is like the next chipsets that come out are versions of the MAC.
You know, they're all going to be driven to run enterance fast, right,
and they right 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 three point five Turbo, which is like pretty great outputs. Yeah,
Like 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. 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. Yep, absolutely, So what
else are you working on? So? I joined a maker space at the
end of end of the last year and I've just been having so much fun.
They have a ton of three D printers and laser cutters and a metal
shop and a wood shop and uh so I have a bunch of projects that
I've just like had in the back burner for a while, and one of
them is at Doctivity. I've made I've run out a little team that we
do like cat GPD for for healthcare for physicians. And I wanted a way
to like just have like a button that I could push and like have it
talked back to me. Since they have like the Texas speech, and so
I thought there could be some cool applications where oh, you just pushed a
button and it talks back, and we we kind of have this like internal
Uh that's a little funny. But in in you know Microsoft word back in
the day, these have a little clip clip art you know, you know
paper clip that would show up and they would be like, oh, do
you have any questions, like let's chat. It was like one of the
first like chat bots that was like in an application or like Clippy I think
they called it. And so somebody, 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 your 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 I would give me the responses that. So I
have that underway just for fun, like, well, what are you gonna
name him? You have to give it a good name. Well, the
internal name has been Stepie. Yeah, so I don't know, there's no
real name yet. But either way, like I wanted to now, so
now I wanted to set up where Okay, I don't want to have to
like depend on open AI for all of this. So there's like an open
source whisper. Like whisper itself is what open a uses for, like,
you know, transcribing what you're saying. And so they they published that and
you could download and run it and so like you you could just yourself transcribe
anything. And so I got a little micro controller already, and I got
a you know, a tiny little microphone on it and you just talk to
it and it transcribes, and so step one is done. And now I
wanted to use one of these you know, open models and just like give
back the responses all locally. So I'm to get it onto a board,
which is like hard to do because the inference does take time and computation.
And so what I've done is offloaded that and I stream that to my MacBook
just over an open like TCP connection and sin it's on the same network,
Like I don't have to worry too much because it's just serving local requests.
Uh, and it's proxy there and so like uh, 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 and it works
great. And so I got you know, the clipping and you push the
button and it like you know, submits your requests, does the infers and
outputs back, and I don't know, it's just a lot of fun.
So Makerspace 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 upon by
show split flaps, which if you're not familiar there like the old school,
like if you're at an airport and the displays would change here, like right,
that's all. I want to set those up on my desk stop so
I could just like say, send a message to it, it would like
start flipping it and right, oh yeah that's old old school stuff right there.
Yeah. Yeah, So I don't know, it's just having a lot
of fun with that nice very cool. How do you working on? So
where do I start? So the big thing that I'm spending most of my
time on is the Ruby Dev Summit. As we record this, it's going
to be next week February thirteenth through sixteenth, and yeah, so the plan
is effectively, I've done twenty one 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 twenty four 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 twenty one uploaded
right now. My editors get me more as we go, and he'll have
he'll have them all for me, you know, by say Monday, right,
which is one day early access. But if you want to watch them
at your leisure and you don't want to have to worry about that time window,
you can sign up. But if you go to rubydevsummit dot com and
you enter your email address and I'll email you when they come out, Hey,
this talks out, here's the ur I'll 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 Utasito did
Ruby Wazam. I talked to Soto Matsumoto, no relation to Matt's. Incidentally,
I asked him who does the RBS typing stuff. Talked to Jeremy Evans,
I've talked to, I mean, just all kinds of people. I'm
we talked. I talked to Marc Andre Cornoier last week for Ruby Rogues,
and I emailed him to see if I can get him to do it because
he wrote thin the web Server, so and 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 real 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 other 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,
and 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 a mirror John and right, he's got a thing
where you pay, 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
them. 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 you know, has something that
works cleanly with device or active off or you know whatever, right, and
so you can set up off. I feel like oth'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 you know, just different things like that. The inspiration actually came from
Laravell. I don't know if you've looked into Laravel a whole lot, but
larravel dot 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 Digital Lotion or linod 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 camal And
so instead of saying, hey, deploy you know, set up brails on
the server and deplay 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 balance 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 taken 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 balancers 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 onto your machine or you know, in some
other way, you know, accessing the machine so I can set it up
with an sshkey 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 you know, they have all kinds
of other solutions for different things. They have their own queueing 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 SAT 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.
Right. I don't expect that anybody's going to have a library or rails
engine it's 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, 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 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 you know, what have you Or
if you're marketing, you know, 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. Right, It's okay, well I need to have so many
people signing up for my email list, right, 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 you know this angle. And
then also with those KPIs, recognizing 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 you
know, 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 you know, disappear
on me or whatever. So anyway, that's that's what I'm looking to build.
I feel like Rails is already the awesome one person framework, and I
want to make it the one person SaaS framework where it's just like if I
was going to build a SAS, this solves eighty percent of the common problems
and so I can just be in my zone and genius and know what to
do next to make it grow. Tell me you've looked at bullet train.
I have looked at bullet train. So what are you saying as a differentiator
from bullet train. So bullet train building on it. So the issue with
bullet train that I have is and I haven't actually tried it, but my
understanding is is that you you basically get one template and so you you use
the template in your for your rails app. And what I want to do
is I want it to be more of a plug in model, so you
can pick and choose which pieces you put in. I also don't know if
I want to be opinionated on some of the things that they're opinionated on.
So for example, device, 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 deployees work. Oh it deploys the Kuroku, right, And so that's
another thing, right, I don't know if I want to lock into all
of this stuff. I mean that that's a big piece of it. The
other thing is is that so one of the things is they're using like can
can can for their their roles and permissions and stuff, and I want to
be much more surface to 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 a more fundamental level. And so, you know, some of
those things as I go in, i'd like I'd like to tackle I mean
some of the stuff like you know, teams, you know, tailwind,
theming. Yeah, a lot of these other things. You know, good
looking form fields you know that are JavaScript in and stuff like that. It
has outgoing web hooks, which probably isn't a bad idea. 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 eighty ninety percent of what you need and then if you
really do need to customize that, you can and that should be easy.
But for the most part, it's like, hey, look, you know,
we've already built in three of these features. So we're just going to
grab the plug in for this other thing and integrate it. Yeah, that
makes sense. It sounds like you're getting on the bandwagon of using rails as
much as possibly can and just for Yeah. Yeah. The other one that
I found out there that does this is jump Start, and I haven't I
haven't looked at theirs because there's there's is a paid deal, but I think
it's kind of the same thing. Yeah, I've just jumped Start before.
It's pretty good. Yeah. Does it gets you right up and running and
in no time? Yeah. Yeah. I've heard a few people very plain
about bullet Train. They had some issues making it bending it to their will.
Yeah, it's very opinionated, I will say that, but it is
very featureful. So right, if you're looking if you're looking for all the
things that you would need for a SaaS business, it's like pretty turnkey and
configurable in that way. Yeah. But I feel like, yeah, jump
jump Start, bro. I feel like that was more of like a platform
and then you build on top of it kind of thing. Yeah, rather
than trying to tune the knobs. Yeah, and yeah, what I'm looking
for is a little less use my platform and a little bit more of Hey,
here, here's your toolbox, right, here's I still can't believe that,
yeah, that Reels new does not have an interactive element. What do
you mean so that I mean, there's the Mayo WTF that started to try
and you know, cannibalize all the griefs that people feel are in the Reels
ecosystem. I'm trying trying to focus on like new you know, people new
to the community. And one of the things is, you know, 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 Reels apps off of, which
is nice, right, but then you have to end up having to maintain
the generator and make sure that you know, the template is up to speed
while all the new generator dates. 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, a 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? Yea, 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, reels new dash dash help, Like you have no idea that
they're in there, right, And so just for the rails flags themselves,
not for just for the rails flags, like just start there, right,
yeah, And so somebody built that and they're like, yeah, like we
could do this pretty easy, like and they built it and uh, you
know, shut down pretty quick and that oh we did want to have to
maintain it. Then anytime I knew 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, wouldn't
be that much more to maintain. I don't know, Like yeah, for
the number of times as somebody just from scratch makes the rails configurator, I
feel like maybe the benefit weighs all the time wasted doing that. Right.
Well, it's funny because so railscomposer dot com I got from Daniel Keho,
who did rails apps and he built Rails composer, which would ask me totally
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,
I kind of want to do that kind of a thing for yeah, for
SaaS app. So then it could be Rails composed and it would be Okay,
which of these things do you want to pull in? Right? And
yeah, I'd love to put built 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 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 and magic manic. 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. So yeah, you know, we both
probably have just like so many ideas, And I feel like the more senior
you get, the more ideas that you just have that just like end up
on a shelf. Yeah, 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. Maybe you know where I
feel like 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 see how far you can
get. And maybe like that's like an internship opportunity to write maybe just like
and like junior like onboarding like apprenticeship kind of style program that could be made
from this, right, like just trying to chip away at people's side projects,
like because you know, whether or not they do anything, like they're
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 to do it. Some of why I wanted to do like Ruby bits
and Rails clips and 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 you know, the user management console that's going to 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 it, all right,
I see, wouldn't it be nice to just have like an 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, that's true, if it starts paying me,
I can use that to start paying them, right. And so I don't
know, Yeah, I feel like so many now I have a project to
run many of my projects exactly, thanks, I'm It's like so many hours
are wasted on developers, just like making it to do app, right,
Like yeah, instead of a two do app, why not just like join
this like apprenticeship program and like yeah, work on some idea that somebody has
fleshed out that like it's pretty much a to do app, but just like
you know, right, or their own version of it. Right. So,
like one of the things that I want to build is just a guest
workflow manager because I have been cobbling things together using zampier for years and it
still breaks all the time, right, And so it'd be nice 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 doesn't the way I want it, right, Or maybe
I'll do that. Maybe 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. You know, I'm
on the Twitter, let me know, and if we get a good enough
bace, you know, maybe hey, maybe something will happen here. 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, 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 yeah, I feel like, I
mean, I've looked at some of the open source stuff and I have to
say that this might actually tick people off, but some of these projects I
would I would open source them as like 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, yeah, I'd like to profit from it.
Yeah, I mean licens thing is important. I think it's often overlooked and
get hubs MIT default. I think maybe uh you know, catches people off
guard when they go and try and do something. I think I think MIT
licensing is great for like the vast majority of open source stuff because 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.
Yeah, I know that there was a couple of Ruby projects that just
like completely wipe the get history right because they they changed the license or something
like that. I forget what it was. I don't know. I haven't
heard about that. Oh okay, but one project that is from a local
company here. There's a company here called Instructure and it's a it's a fairly
large rooby shop actually, and they have a product called Canvas and it's the
systems it's used on like college campuses, and I think my kids' schools use
it and stuff. Right. It's kind of funny because you know, they
kind of give me funny looks when I go I know the guys that built
it. But anyway, so 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 used the stuff that they had patented if they were open
source systems. And so 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, right,
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,
right, because that's GPL and LGPL. No, it was a pharaoh.
GPL was AGPL. But you also couldn't sell it, right, 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 and you couldn't close the
source. And so that was the way they got around those patents because 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.
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. Oh that makes sense. So anyway, but I don't even know
if I'm gonna get there with some of these projects because I don't have time.
So so we were talking about time management before the show. You know,
well, yeah, 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 file. Yeah,
it just keeps growing. 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 as 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.
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. So 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 yeah, I have
a hard time balancing like the uh, like the work and play time mm
hmmm, because like I have a pretty good schedule for like work. At
the beginning of the day, I just write down the things that, like
you said, you need to get these things done, and then some you
know, extras at the bottom what would nice to have? Yeah, And
then then I have my list and I was looking. I stares at me
all day, and I got to cross the stuff off and so but at
the end of the day, you know, I don't have anything I'm looking
at because I you know, I've got a family and kids and dinner and
all the yeah, stecking up. 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. But like it's not really enough time to like write
stuff down and get across to It's like just enough time to like, you
know, read some stuff and like play around, you know, with an
experiment, and you don't really have time to build anything. Yeah, yep.
So Dave Kimura, I asked him how he was, 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
seven pm to ten 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? Right out? They're eating seen.
Okay, So my lifestyle is a little different. My kids are eighteen,
sixteen, fourteen, twelve, 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 my daughter just started a job at Subway, and
so she doesn't have a 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 what Utah's caucus Night is
coming up in March, right, and so making sure that we have that
altogether so that people who want to express their you know, 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 ten, it
just you know, in the evening, it's just 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. Yeah,
I think I just needed to work on optimizing that one hour window. 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 least will kind of fall
off my plate. Yeah, I don't know, I'm thinking more about this
apprenticeship program. You know, I'm loving that idea, the only valid way
to expand my hour window. I think I'm very seriously thinking about whole stale
wholesale stealing your idea and saying, these are the projects I'm working on.
You know, hey, let's collaborate, you know, let's just make a
simple to do app that's you know, Chuck and Valentino's like you know,
wish list, and then hey, sign up, you know, sign up
for the apprenticeship program, pick your projects. Yeah, you know, it
comes with, you know, I don't know, a couple hours a week
of you know, yeah, mentorship one, the mentorship and then like a
review period right where after you know quarter reviews. You know, you go
through and you get a little extra time and get to review the progress,
right, Like, yeah, I'm not interested in having them apprentice on a
to do app. I've got some other ideas also. Well, I don't
mean, I don't mean it to do app. I just mean, you
know, we make just a website that is a to do list. Oh,
I gotcha, that has the projects that are on our list. Yeah
that we want. That makes sense. Yeah, Wesley Curry asked if we're
live. We are live, so Hi to West Virginia. 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 rather. 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 because you do
good work, sure sounds good to me. Exactly. I got some advanced
projects. I yeah, I like wanted to try, you know, like
I wanted to I wanted to try setting up a a rail's GP I o
JEM where I could hook up real time action cable to a GP I open
on the Raspberry Pie. Yeah, you know, like that could be advanced
and I feel like it could be fun too. You know, that's really
interesting. I've never seen that before. It says it says Wes Wesley Curry
was banned and their comments were removed because we're did you do that? Or
was that you did that? Yeah, he started posting bizarre stuff and I'm
like not interested. Yeah so anyway, oh so so yeah, 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 think to contribute to and to be perfectly honest, the other
thing 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 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, right, Like, you have a set of
things that you know need to get done, just you know, you don't
have the time for it, or it's just like right, you know,
you have a backlog of issues. You don't just throw them on the apprenticeship
page, you know. I like that if you're willing to devote a certain
amount of time right to like 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. Yep, all right, And I want to know how you and
him I did. I didn't know you could do that. Oh, they
have a little Hamburger menu on you can put on YouTube. It was on
stream yard. Okay, good deal. Yeah. I think you can do
it with the top end of user too. Okay, just good to see
that. I don't know how to get them out of time out though.
Oh yeah it's right there. Delete comment, put user in time out,
bend user all right. Cool. Yeah, I've I've played with the layouts
of stuff. All right, good deal. Was there anything else do you
want to make sure people know about? Maybe maybe our first mentorship project will
be the mentorship website. Yeah, right, let's put it out there.
If you're interested in building a mentorship website. 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 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, closing so many issues on a ge hub repo or
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 than you can claim those as well, or you know, 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 as part of the deal. And so if people
want to work for their access instead of pay for it, then that's an
option. Yeah, that's pretty cool. Well, I don't know, if
I don't know if I have anything else to add, But I'm kind of
digging this idea. This is kind of floating to the top of our conversation
this way. It wasn't planned. We had not discussed this beforehand. It's
something I've been thinking about a lot. Yeah, but like I just sat
half the time. Yeah, you know, like I throw ideas out on
Twitter all the time, and I'm like, hey, yeah, yeah.
Well. The other thing is is I've put 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 twenty four 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,
this should take you a couple hours, and if you submit a pull request,
then I merge it. Then I'll give you a ticket future. Yeah,
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 than anything else you wanted to bring up or that you're working
on? 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 I haven't done it in a while. And that's where I'm gonna go
next probably is get finally get some of these projects up and document it because
they're just they're too fun. Yeah, it's worth the story. Yeah,
I love it. All right, Well, let's go ahead and do some
picks and then we'll wrap it up. Why don't you go ahead and go
first. Yeah, So I'm gonna do all ai picks. My first one
is a LAMA. I've been using that a lot O L L A m
A. It's just like a super easy, you know, 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 you know whatever GPU you may have. It does pretty great and runs
fast convenient. It sets up like a local api for you to to hit
too, so you get like, uh, you know, open Ai 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
to check that out. And yeah, the other one, I've been playing
with Turbo more and I keep going going back to this hot Rails tutorial and
we've had what's his name, Alexander oh oh Man blanket on his name.
I have it open here rubon yep, Alexander Ruban. We had him on
once and to talk about it and just it's great. It's such a great
reference and it sets you up with like a great looking site that's just all
the NILA's CSS, and it uses like the Beam methodology, which is uh,
you know, some people are saying it's dated, but it's solid and
it works well, super easy to integrate within rails and yeah, it's just
so much fun to play with Turbo and trial the Turbo streams and get stuff
updating live on the page, all of just rails views. It's no JavaScript.
I love it. 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. 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 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
two point seven to two. So I keep telling people, like the average
gamer, you know, if you're a casual gamer, two 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. A Tea is a thinker game. It's it's but it's so
fun. Played it last night with my buddies. We let my my friend
Mike picked 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 a tea and let me just get another link here
to Amazon. This is an affiliate link, so I do get, you
know, the three percent or whatever for referring it through them, But anyway,
I really enjoyed it. Another thing that I'm gonna pick. And I've
just been on a kick the last three or four days listening to Toby Keith
music because he passed away 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's kind of irreverent country rock,
this is the way I 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 Composers soon to go check that out at Railscomposer
dot 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. You want a 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 or 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 twenty nine dollars instead of instead of nineteen for each one.
And so yeah, go check that out. And then yeah, the
other 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 know you can get a next JS
app, and what I found is that it's not terribly difficult to convert it
from next jas 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. So 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 atting users, now, I'm atting permissions, now I'm atting
at whatever rights sprite. So if you're looking at that and going, well,
I like the idea behind tailwhen UI and I've you know, 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 tailing you. 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 it's salient, and I'm wondering if they're running next JAS.
I'm wondering if Chris is running next JS there instead of Rails, or
if he converted it. But I've seen a couple of other people running it
to people within the Ruby community who I know generally use Rails, So anyway,
I'm not the only one using it. But yeah, 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. Thanks for
having men. This is great. Yeah, I'm looking forward to apprenticeships,
you know, like, let's do it. Yeah, all right, you
know, the thought bought had the apprenticeship program for so long, you know,
and I think they still have. But it's it's paid, uh you
know, so there may be a little bit difference there. But I feel
like, you know, a pay to play kind of situation. Uh,
you know, I don't know. It's just a way, Honestly, if
I just had a way to just you know, have a list for people
to work on that are also interested in mentorship, like you know, what
a great way, right, I feel like, yeah, some birds.
Yeah, I do have to say, you know, 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, 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 ten percent stake now in this code base. Yeah, I mean,
hey, I have projects where I don't mind. Yeah, if it's on
it, well, if it's open, let's start step one. Yeah,
let's start step one. You know, don't projects that don't involve licensing,
right, you know, yeats, let's get that step. We'll get there
when we get there kind of thing, you know. Yeah, And then
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. Yeah. Well, and
if anybody knows a good attorney that does those kinds of contributor agreements, something
we just put together and then just have on the website that people sign as
part of the deal. Right, And so then it's hey, I need
people to assign this right, and so then it's I agree and wave all
rights to specifically the work on this project. Right. We'll make it very
narrowly focused but yeah, that 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 yeah, 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
boot camp or making your 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 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, and you know,
here's my reference, right, And then the reference is somebody in the
community who can say, yeah, they did a great job. Yeah.
I mean you know who is it? A man the Ruby friend program,
right, Uh huh, that's such a great I don't think it was Brian
Hogan. I think it was He's Ruby mentor. I think, oh no,
there was one participated in a while ago. Yeah, he orchestrated the
whole thing himself, just like via email. Oh man, I'm so bad
with names and k yeah Andy krawl yep. And it was great, you
know, like he just are you interested? Yes? Okay, he put
put you on the list, and are you interested in the 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,
you know, be respectful, like you know, and it worked out that
it's still going, you know, and I feel like that combined with projects
that people have, right, yeah, like you can actually make stuff out
of it, you know, like, well in 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 you know,
spend time helping this person learn stuff. But the other end of it
is is that yeah, you know, they spent twelve hours doing something that
would take you two hours, but you you know, net spent an hour
with them, and so you earned an hour back, right, And I
mean to be honest, like, if somebody is 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 emerged 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 apprenticeship program mentorship apprenticeship, like it is very similar to open
source, you know, yeah and winning combo, let's let's get it done.
Yeah, well there's no reason why open source projects couldn't submit to this
too, right exactly? Yep, all right, good deal. Oh yet
another thing for me to do. But this one sounds pretty rewarding at least,
right at least I mean we got to get you know, all these
newcomers into the you know, into the unity, Like yeah, you know
that that is definitely like still a barrier to entry, is like how do
you get people up to speed and feel uncomfortable 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. 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 program,
I mean 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. Yeah. 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 yeah, I feel like This is another great opportunity,
you know, like how do you pick up speed? Right, like
react on so many projects? Right? 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 once we kind of recap. Yeah yeah, but I'm totally down figuring
out how to make this happen. Let's do it all right, all right,
I'm gonna wrap this up until next time, folks, max out