Charles Max Wood:
Hey, welcome back to another episode of the Ruby Rogues podcast. This week on our panel we have Valentino Stoll.
Valentino:
Hey now.
Charles Max Wood:
I'm Charles Max Wood from Top End Devs. This week we have a special guest and that's Landon Gray. Landon, do you want to say hello and introduce yourself?
Landon Gray:
Hello, I'm Landon Gray. I'm a senior consultant at Testable, software consultancy, we're fully remote and we work on Rails applications, React, you name it.
Charles Max Wood:
Yep. Yeah, we've had Justin Searles on the show a few times. So we know a little about testable. Good folks
Landon Gray:
Yeah.
Charles Max Wood:
over there. Yeah. So you gave a talk at RailsConf and then at Blue Ridge Ruby, you gave talk about AI and Ruby. And I think as I've talked to people about AI and Ruby, they're usually actually just calling out to some other system written in some other language.
Landon Gray:
Mm-hmm.
Charles Max Wood:
from the Ruby application. Is that what we're talking about? Or are we talking about actually doing the AI work in Ruby?
Landon Gray:
Yeah, that's what we're talking about doing the AI work in Ruby.
Charles Max Wood:
Oh
Landon Gray:
So,
Charles Max Wood:
wow, yay!
Landon Gray:
yay.
Charles Max Wood:
We are not losers. No, I'm just
Landon Gray:
No
Charles Max Wood:
kidding.
Landon Gray:
PI call if anyone knows what that is.
Charles Max Wood:
Right.
Landon Gray:
Yeah. So.
Charles Max Wood:
So you want to give us kind of the 10,000 foot view on this? Like what can we do? What's possible? How do we approach it?
Landon Gray:
Yeah. So turns out there's a lot we can do, uh, with just native Ruby, uh, and, and machine learning. So kind of a little bit of history, a little bit of background. So, uh, a lot of people been kind of working on calling some of the Python libraries, uh, using, uh, a Ruby gem or I don't know if it's a Ruby gem, but Ruby code called a PyCall, which lets you call that Python to use machine learning libraries in your Ruby. Uh, but. I was like, well, why can't we do this in native Ruby? Like I was just plagued by that question. You know, why is there no support? And I sort of landed in just in general, like why aren't, why can't, why aren't Ruby is doing more of this? Why has Python sort of taken over this whole landscape? And sort of the, where I landed on was two things. One of them was maybe they just got a little bit of a headstart, you know? Um, and a lot of people were using Python. And so that kind of. caught on. The other thing was I kept hearing that Ruby was slow and that kept annoying me because understanding how languages work, Python's not a compiled language.
Charles Max Wood:
Mm-hmm.
Landon Gray:
It's like, what's it doing under the hood? And it turns out a lot of libraries are calling underneath the hood C libraries or C You know, Ruby's slow and you're using Python and that's suspect. And also I don't really trust you because you know, there's, you care too much about white space. So I started embarking on a journey to just sort of learn, learn ML in Python. I took a class in the last year, earlier this year, and I was trying to take those techniques and move them over to the Ruby world. And so that's kind of how I got into like, Hey, I'm going to give this talk to get people excited about. using Ruby, like the language they want to use in the first place.
Charles Max Wood:
Mm-hmm.
Landon Gray:
So, yeah.
Charles Max Wood:
Very cool. Yeah, you're hearing a lot of the same things I'm hearing, right? And so.
Landon Gray:
Yeah.
Valentino:
Yeah, I have so
Landon Gray:
It was
Valentino:
many
Landon Gray:
funny.
Valentino:
questions here.
Landon Gray:
Oh yeah, go ahead.
Valentino:
I mean, so what we're talking about here is machine learning, right, which is kind of different from AI in that
Landon Gray:
Mm-hmm.
Valentino:
AI is like pretty much just large language models at this point, which
Landon Gray:
Mm-hmm.
Valentino:
in machine learning is like a very specific sect of machine learning, right? Like neural networks.
Landon Gray:
Yeah. So I think about like, AI is the big circle. I think I was listening to another podcast you had with some folks from Databricks talking about machine learning. And I, I don't know if it was there or someplace else where people are harping on, like getting on top of the term AI, that it's like a marketing buzz, buzz term, you know, it's kind of just a superset and then within it, you know, you have machine learning or you have LLMs or you have neural networks, but yeah,
Charles Max Wood:
Mm-hmm.
Landon Gray:
machine learning is, yeah, sorry. I lost. lost my train of thought, but sorry, you were saying it again.
Valentino:
Yeah, I'm curious, like I didn't see your RailsConf talk,
Landon Gray:
Hmm.
Valentino:
but is the work that you're focusing on more of like very specific sets of machine learning or was it focused on the bigger picture? Like where are you focused on?
Landon Gray:
Yeah. So right now, yeah, in terms of area of machine learning, I was kind of interested in, I was just really trying to present the idea and show people that this concept could actually work. There, there are several, um, there are a handful of like Ruby or Rails talks that if you Google around, people will talk about, Hey, you can do some, you know, machine learning in Ruby. Um, but I was like, where's the code? Where's the code? And. I wanted to build out a project. So I have a full project built out. Um, it's actually in the Docker. You can download the Docker container and everything. Um, and it's, it's the whole project I built to present at Ruby's cons and Brown's comp to say like, Hey, here's the code I'm giving it to you. You can do it. And, um, I just picked a really simple, uh, model. Uh, so I did like, uh, linear regression, which a lot of us are familiar with. Uh, from the equation y equals mx plus b, the equation of a line. And I just, I built out a project to kind of predict the weather using some historical weather data I got from some site. But the weather data was like the Atlanta weather. And yeah, so that's kind of how I went about it. And that was kind of the area I focused on. I'm trying to, I don't know if I want to publicize this. Is, is I, I. We'll see if I actually finish, but I'm trying to implement a neural network from scratch. Um, and that some of the ones I've seen from
Charles Max Wood:
Oh,
Landon Gray:
Python,
Charles Max Wood:
interesting.
Landon Gray:
just to can, yeah, just to, just to better understand how things work under the hood. Um, cause I don't just want a high level understanding. I want to understand how these tools work and like, what are, what's the signal function, what's, you know, what's back propagation and all that stuff. Like I want to understand all of it. So, you know, we can, we can, we can do more of it in the Ruby space. And I personally think that. If we can get more people doing machine learning type work and using rails, I don't really think there's a faster way. There are, well, there are options, but it's really fast to like prototype an app and rails, if you can also have the machine learning piece at a low cost and not have to learn all the data science and someone does that leg work for you and guide you in the right direction, like we could, you know, it could really explode and people could be like, go, I'm going to start a startup, you know, and. slap on our gym and do a lot of really cool stuff right off the gate.
Valentino:
Yeah, it's really interesting to see the trajectory of things with large language models kind of taking over as the general purpose. This is how you'll be doing machine learning, which I don't
Landon Gray:
Mm-hmm.
Valentino:
think we're quite there yet because of just how expensive it is to compute a
Charles Max Wood:
Hehe.
Valentino:
lot of this stuff. Anytime you want to take one of these large language models locally or on device or something like this,
Landon Gray:
Mm-hmm.
Valentino:
it's just like, It's slow because you don't have the resources, right?
Landon Gray:
Yeah.
Valentino:
Or it's expensive, right? Those are the two options. So you either spend a ton of money and then have to host everything yourself and have to do all this compute yourself, or you're spending the money to have somebody else do that, right? And so it's kind of interesting because from what I've done machine learning, it's like you pick a very specific model that targets the problem that you wanna solve. Like linear
Landon Gray:
Mm-hmm.
Valentino:
regression happened to be a perfect one for the weather modeling, right? And you don't have
Landon Gray:
Not
Valentino:
to
Landon Gray:
really
Valentino:
or maybe not perfect. Maybe not perfect, but like
Landon Gray:
It was
Valentino:
maybe
Landon Gray:
a
Valentino:
you
Landon Gray:
simple
Valentino:
learned
Landon Gray:
as it was a simple model I can
Valentino:
as
Landon Gray:
show
Valentino:
simplest
Landon Gray:
people there's
Charles Max Wood:
Right.
Landon Gray:
a lot of better Better better models you could pick
Valentino:
But as an example, right, like you could pick another model that can produce better results now. And now that you've had it in Ruby, you can calculate things a little bit differently. But what I'm getting at is the AI conglomerate to just dump whatever your problem is into it is not really a tangible asset at this point. And all these other machine learning pieces where you just wanna train something and find a generalization about the data. There are plenty of models out there that are much smaller and do the same work. target your problem in a much more efficient way. And I don't know, I feel like Ruby is great at, you know, doing those very specific tasks rather than the more generic compute ones. So I'm curious what your experience may be like taking it to the next level, like pushing the boundaries of that compute. Have you noticed like performance wise, like any issues as you're running? turning through the data with Ruby versus like a Python library or something like that.
Landon Gray:
So I haven't noticed too many issues. I know I'm sure like some of the Python libraries are a little bit more performant as people are really heavily working on like speeding them up and actually admittedly, there's one method where I'm updating all the rows in my project that if someone runs it, it takes a really long time. But it's not a limitation necessarily of Ruby, it's just. of how I did it and maybe that particular library wasn't as efficient at handling it. I'll probably blame myself. But I don't really see like a bottleneck or anything like that. Yeah. I think, yeah.
Valentino:
So I'm curious then, like, how are you, uh, where are you getting models? I guess number one and how are you applying them like in the Ruby context?
Landon Gray:
Yeah. So in terms of where I get models from, um, so when I initially started building different projects out, uh, it was part of a class, a course called great learning. And, uh, a lot of the models are contained in like, uh, like you use the libraries, NumPy and pandas, and those have all the different models that you could want. So you could, you know, use a linear regression model or you could use something else. Um, and when I started doing it in Ruby, I had to poke around and figure it out. So for my project, I use there's a gem called RUMALI It has a bunch of different machine learning models that you can use and I just used linear regression one day But there's other people who have built like models that you can you can or gems that have like linear regression or k nearest mean or Neural network that you can use and you just leverage what they have That's kind of how you do it. But there's There's also, and I haven't done this yet. I I've been wanting to see, so hugging face is a company that now hosts a bunch of different models and it's really, really popular. And I've been thinking about like, well, how do I, how do I integrate with that? Like, how do I pull that into a Rails application? Like these are the things that I want to try to like figure out. Uh, because that's the part where if we can kind of crack that code, it really doesn't matter, you know, what model anyone wants to use, they could just go up. pulled the model that they want for their use case and then fine-tuned it for their use case and problem set. So that's kind of where I'm trying to push it. Yeah.
Valentino:
Yeah, that's cool. I'll be interested to find out how you integrate Hugging Face. I've been avoiding Elixir's Bumblebee,
Charles Max Wood:
Ha ha ha!
Valentino:
which they claim now is very easily integratable with Hugging Face.
Landon Gray:
Mm-hmm.
Valentino:
So I'm hoping that Ruby brings something.
Landon Gray:
Yeah, that would be great.
Valentino:
Because yeah, I mean, Hugging Face is kind of like the de facto source for models now, it seems. Which is kind of funny.
Landon Gray:
percent
Valentino:
Because then they open-sourced one of the first... Or I forget where the first large-language open-source stuff landed. I feel like it was on Hugging
Landon Gray:
Yeah,
Valentino:
Face.
Landon Gray:
maybe.
Valentino:
I
Landon Gray:
I know
Valentino:
don't remember now.
Landon Gray:
one of the big tech companies, didn't they leak their model? And then it was, or
Valentino:
Oh yeah,
Landon Gray:
something
Valentino:
Facebook.
Landon Gray:
like that happened. Facebook and it got exposed and it's like, oh, here it is. You know,
Valentino:
Ha
Landon Gray:
that
Valentino:
ha.
Landon Gray:
wasn't supposed to go out.
Valentino:
Yeah, I'm curious if that was
Charles Max Wood:
Is
Valentino:
purposeful
Charles Max Wood:
it,
Valentino:
or not.
Charles Max Wood:
so Hugging Face is a hosted AI solution or?
Valentino:
They do provide hosting now where you can spin up compute for specific models and stuff.
Charles Max Wood:
Okay, but
Landon Gray:
Mm-hmm.
Charles Max Wood:
before you would just bring it into your own app and then.
Valentino:
Before it was like the GitHub for data modeling. So
Landon Gray:
Mm-hmm.
Valentino:
that's kind of how they've marketed themselves. I mean, doing pretty well at it. You
Landon Gray:
Yeah.
Valentino:
could take pretty much any model you can imagine and download it and get it running locally. But it's funny that as Landon mentioned, most of them are Python. So if you want to integrate most of them, that's all the stuff is, what is it, Panda tables set? all the data stuff runs on for Python. I don't even
Landon Gray:
Oh,
Valentino:
know anymore.
Landon Gray:
are like pandas and like data tables and all that
Valentino:
Yeah.
Landon Gray:
stuff? Yeah. the interesting is how to adapt
Charles Max Wood:
So what
Landon Gray:
it.
Charles Max Wood:
was the equivalent in Ruby that you mentioned then?
Landon Gray:
Oh, so I mentioned like Rumali is one of the libraries
Charles Max Wood:
Romali.
Landon Gray:
that I used to build my project out. But there's other, there's other ways to pull in linear regression. I mean, you could write it from scratch. I just didn't want to do that. And honestly, I think the best way for Ruby is to maybe use machine learning now. Or I guess Rails is, I guess people are running more Ruby on Rails than just pure Ruby stuff. But people are doing Ruby stuff too. It was probably maybe PyCall. Cause you can call all the Python libraries and see, have your data science team build the model and use call, you know, have your little function passing whatever day you want now pops the thing you want to display that you're predicting. So I honestly would say that's probably the best about right now, but I definitely like pushing on the edges of like what can Ruby do what's out there right now, uh, and I have to give a shout out to Andrew Kane. His website and the work that he's done is incredible. I think he's come out with like 300 something open source libraries ranging from Postgres related things to, you know, there might be some PHP stuff, Ruby stuff, but he's built out a lot of useful, helpful libraries, or sorry, gems that people can use in the Ruby community and has a lot of really great examples. He even has some blog posts where he does like some image recognition. pulling out like different objects in the pictures. And that's a lot of that stuff he's kind of adapted, I think, from other libraries and has written Ruby wrappers around all these libraries to give Ruby the tools to kind of do the same things as everyone else. I just would like to see more people using them. And that's kind of the journey I'm kind of going down is to say the tools are here and they're getting better. And, you know, if we, if we don't use them as a community, like. We're not, we're not going to make progress. So. on
Charles Max Wood:
Yeah,
Landon Gray:
home
Charles Max Wood:
it makes
Landon Gray:
at night,
Charles Max Wood:
sense.
Landon Gray:
treating a lot of technical stuff and suffering so that we can make progress. Yeah. But it's fun. a lot.
Charles Max Wood:
So you did the weather prediction with the linear regression. I guess I'm kind of wondering what the next step is, right? Is there a next project or something else you're going to add to this?
Landon Gray:
Yeah, so I'm trying to, I would like to produce. more examples and try to build some more small examples to show people how they can use these technologies. My end goal is just to get people using it more in Ruby and in the Rails community. I've toyed around with the idea of creating some small courses that are just like, hey, here's how you build your own neural network and raw Ruby like nothing else. And if people understand the fundamentals, and this is where I get hung up with, even on LinkedIn, I get really, I get hung up on this, is a lot of people are talking about these higher level concepts, but nobody really understands underneath what is a neural network. I'm saying myself, how well do I understand these concepts? The lower you go. the deeper you get into them and try to break them down in terms of like how everything is working. You know, if you don't understand the lower level concepts, like all this LLM and all these big term things, they don't, it doesn't really mean anything unless you understand how these tools are like working. And we see like, people don't understand what they're doing underneath. I'm not saying everybody does, but I feel like some people have to communicate like what these tools are doing. There was a, there was a a mishap that happened recently at a university where a professor was like putting, you know, people's papers for their like final exam or something right before these students were walking across
Charles Max Wood:
Mm-hmm.
Landon Gray:
graduation. You're laughing, you've seen it. And he was failing his students because the language model, you know, told him that, you know, they had all plagiarized. It's like, that is a fundamental misunderstanding about what these tools are doing. And we have to educate people on like how they work. like on a lower level, you know, and if we don't,
Charles Max Wood:
Mm-hmm.
Landon Gray:
we're going to have problems. Like, like as much as people want to believe it, chat GPT is not, you know, it's not turnitin.com, you know, and, uh, you know, even though it can sometimes detect when like stuff it's generated, you know, as it grows and gets more sophisticated and as they train more data, it's not going to always be able to detect even itself like. Uh, we're always generating more than we can, you know, consume. And so it's gotta always like, kind of keep up. I kind of think about the same thing with like ad blockers, like ad blockers were blocking code on, you know, ads on pages. And then the pages adapted to like detect if the ad blocker was blocking it and do some judo so it doesn't get detected and then it would still pop up. And then the ad blockers had to, you know, write some more code to block. The detection, you know, method, like it's just. I feel like it's maybe a bit of the same AI, like artificial intelligence and LLMs and stuff like that. I also don't know where
Charles Max Wood:
Mm-hmm.
Landon Gray:
LLMs are going right now because there was that article by Noam Chomsky, I don't know if you saw it in the New York Times, where he was talking about some of the limitations of LLM. And then I think I've seen stuff from like Sam, from OpenAI and CEO and kind of seeing a lot of people talking about LLMs being sort of a dead end. leaning back into like, Oh, maybe we need like smaller, like, I think the term that they use, they're like foundation models that we could like give to people and they can build on top of them. Like, um, instead of all these super general purpose can do everything models. Like, you know, so
Valentino:
Yeah,
Landon Gray:
it's interesting
Valentino:
I 100%
Landon Gray:
to see where
Valentino:
agree
Landon Gray:
things
Valentino:
with
Landon Gray:
are
Valentino:
you.
Landon Gray:
turning. Yeah.
Valentino:
Yeah, I was just getting back to my initial point of the conglomerate of LLMs taking over what was machine learning and now is just AI, which people are now, okay, well now it's just an umbrella over machine learning. And
Landon Gray:
Mm-hmm.
Valentino:
lots of people don't even like saying AI that understand the core concepts because
Charles Max Wood:
Mm-hmm.
Landon Gray:
Yeah.
Valentino:
for one, it's not really general purpose. There's very specific purposes, right?
Landon Gray:
Mm-hmm.
Valentino:
because of how it's built. And it doesn't solve everything, right? As an example, eye tracking. You can use Dolly, but it's not efficient enough to track eye movement in a time that makes sense, right? You can't
Landon Gray:
Mm-hmm.
Valentino:
do a lot of real time things that way. I guess whisper maybe being an exception to that specific rule for audio. But like... I think you're right. I think smaller models still make a lot of sense. But at the same time, we'll see. I attended an event from OpenAI that they had a bunch of people on it that were kind of evangelizing it and saying how they were
Landon Gray:
Mm-hmm.
Valentino:
working on it. And they seem to think that the models were so good that it would just completely obliterate any traditional machine learning. So like. that they're kind of like definitively set on, okay, any machine learning team you have is gonna have a hard time because large language models are the future of machine learning. And
Landon Gray:
Yeah.
Valentino:
I'm not sold on that yet. I definitely agree with you. And the more that people play with it, I mean, but we'll see, maybe they get better, but from what's being communicated, it seems like they're hitting their limits, right?
Landon Gray:
Yeah.
Valentino:
even some of these new open source models where they're, you know, I forget Dave Kamara, he shared like a distributed
Charles Max Wood:
Mm-hmm.
Valentino:
project for large language models. And even that is like not very performant.
Landon Gray:
Mm-hmm.
Valentino:
And so it'll be it'll be interesting to see kind of how that goes. I did want to call I was looking for this link. There is a SciRuby that
Landon Gray:
Yeah.
Valentino:
has kind of
Charles Max Wood:
Yeah.
Valentino:
I'm curious if you've gotten involved with them yet, if you've worked with any of their projects, because for those that don't know, SciRuby is like the tools for scientific computing in Ruby, and there's a lot of great community around that and projects that they're spearheading. I have not been involved with it or seen it in quite a while, so. I'm interested if you found it.
Landon Gray:
Yeah. So funny enough, I, I'm on a couple of Syrupy chat groups and I think I might have had some permission on the GitHub repo now. Um, I was using a Daru, which is a data frame library, um, for my, for my project. And, uh, I believe that gem is hosted on Syrupy's page. And, um, I kind of realized that I was like, well, if Ruby is, are going to make any sort of headway in the AI, I'm going to start using machine learning art instead of artificial intelligence as much, like we're going to have to rely on these gyms because these are, are what's out here. Andrew Kane is writing a ton of new stuff, but these are the existing ones and they, they serve as a good foundation for doing different projects. And so I reached out actually to that email address on that side review account on GitHub. And I was told like, Hey, maybe this email thread thing isn't as active, like go to this channel. And so then I found like, uh, it was, I think whoever emailed me back sent me to like a Google, like the Google groups channel, and I was in there poking around. And there seemed to be some activity, but then there was like this IRC slash matrix server that I had to like connect to. And then I got over there and then I met someone who like, you know, wants to do more with it. And so like, I've been getting more active with the SciRuby community and have been in conversations. But yeah, I think that's gonna be a group that's critical to. kind of advancing things a little bit. Funny enough, the meeting was like called together. And I ended up in like, it was like Sunday before RailsConf. I was still in Rochester in this room and I ended up in a video chat, although it was more audio chat with a gentleman in Japan. And it
Charles Max Wood:
Ha!
Landon Gray:
was hilarious because it ended up being, oh man, I'm going to forget their name. but he had written a data frame library too. And he was gonna speak at RubyKaigi. I think it's called like Ruby Ember or something like that. And he was telling
Charles Max Wood:
Mm-hmm.
Landon Gray:
me about the work that he was doing and how active Ruby is in Japan. And I just thought it was super cool to just be in this person's presence. And it just kind of shows that there are people working on different aspects of the things that are needed to do Ruby. uh, like do, sorry, do machine learning in Ruby. Um, so I think, I think SciRuby is going to be really important. Um, whatever ends up becoming of it. Um, in terms of how active it is, I feel like it's a little less active. Some of, some of the, some of the libraries you'll notice on there, like haven't been updated in years and they're solid, but I think, I think we need people to, you know, push on it and try to like update some of these libraries or start new projects and kind of get more active in the community or else, you know, if we don't build nice things we won't, you know, have nice things. So.
Charles Max Wood:
Yeah, it makes
Landon Gray:
Yeah.
Valentino:
Yeah,
Charles Max Wood:
sense.
Valentino:
it's funny because you mentioned Japan and the Ruby Kaigi. And that's where I even I went to Ruby Kaigi in 2015. So
Landon Gray:
Oh,
Valentino:
that
Landon Gray:
nice.
Valentino:
was a long time ago. And it's like completely different in like in that part of the world for Ruby. Right. Because that's their language of choice, which.
Landon Gray:
Mm-hmm.
Valentino:
At the time, I don't think it was. I think they still prescribed a Python
Landon Gray:
Hmm.
Valentino:
for Japanese internal projects. But maybe that's changed. But it seemed like that was the... People had mruby. mruby was just announced in 2015 that
Charles Max Wood:
Mm-hmm.
Valentino:
I knew of. And I had just realized that Ruby was used outside of Rails much more frequently. for a lot of people, right? And so it's funny, because you open up the Ruby source code and it's a lot of very academic work, right? Like there's a
Landon Gray:
Mm-hmm.
Valentino:
lot of like, here's the proof for this particular mathematical formula that we've implemented in Ruby from C and here it is in C because a lot of Ruby is written in C, right?
Landon Gray:
Mm-hmm.
Valentino:
And so you start going through and the more you pick apart the language, the more it becomes like, Well, this is like a very like mathematical like thing, like, you know, the language is built to solve mathematical problems, you know, initially like any language. Uh, and so it's like, uh, it's kind of funny to see how it's progressed with mruby, like trying to take on more of these computing challenges, right. Uh, and more distributed things. So like, I'm a hopeful that continues and progresses. I know there was announcement, uh, at one of the Ruby comps that they, that this is a problem, right? Data science in Ruby is not a thing.
Landon Gray:
Mm-hmm.
Valentino:
And so I mean, we'll see. I'm hopeful. What was your take from like the SciRuby community? Like you mentioned that not being like that big, but was it like, is it active? Like are people, you know, really building on top of the things that they're releasing?
Landon Gray:
Yeah. I guess when I'm saying it's not that big, there's a lot of people in the Google groups and some of these channels. I just think it wasn't as like, yeah, probably active, uh, like people pushing to these gems and actively maintaining them. Yeah. But one thing I heard from people was just like, and I feel like I'm just here to knock Python. I'm really not like most
Charles Max Wood:
Ahahaha!
Landon Gray:
of the ML models I built have been in Python. And. Um, it's easier because right now the documentation and that was the other thing. I said two things earlier that Python had, one of them actually was like the documentation, like the community aspect too, but like the documentation, this isn't really there for Ruby right now. And, you know, like some people are coming out with some stuff, but it's hard to build a model when you're trying to figure out like AI and like, sorry, when you're trying to figure out like. how to learn about machine learning. And there's no like guide that you can follow. You just have to follow the Python guide and adapt everything to your use case, which is like double the work, you know? But
Valentino:
Yeah, it's
Landon Gray:
it's
Valentino:
funny
Landon Gray:
fun.
Valentino:
because the embedded systems is the same way, right? Like, anytime you want to hack in some hardware, you can do it in Ruby. And thankfully, because of M-Ruby, you can do it on a lot more boards. But it's still not the same as the plug-and-play Python, where there's so many
Landon Gray:
Mm-hmm.
Valentino:
libraries out there that have already built all the drivers for all the different sensors and things like that. So I'm curious what your take is. Like, Like what's missing? Like if you wanted to point more people toward making it happen in Ruby, like what are some of the core pieces that you've seen like need help?
Landon Gray:
Never missing Ruby, I think. Honestly, I just, I think a lot of it is getting people to use it. Like this sounds bad, but I don't think it's really that hard. Like it's a lot. Uh, but it's not that hard. For example, I was, I was talking to my girlfriend yesterday and I was reading, I'm reading this long book to build, to see if I want to build a neural network. in Pure Ruby and going through some of the concepts like, oh, here's a perceptron and here's a bias and here's a way and just drawing it out at this cocktail bar I was hanging out with a couple days ago. And I, so I showed my girlfriend a picture of like the perceptron and you know, it's kind of like, oh, this is looks like a lot. You drew some math too. You
Charles Max Wood:
Hahaha.
Landon Gray:
have some, you know, And but then I stopped and I was like so this perceptron you can think about it It's like this neuron like in the brain, you know There's an input and then you're on like fires and it fires off a bunch of other neurons Well, these little tails here either these are the inputs that this takes and it just like the brain it kind of fires off Just like that and he's like she gave me a compliment She's like you're really gonna explain things and making it simpler and I was like, I think it's the opposite I think a lot of this stuff and I Kind of, I was talking to some people at Blue Ridge Ruby about this too. I feel like a lot of it. Sometimes to me feels like when people explain it, there's all this terminology that I don't understand and that people sometimes make it more complex than it needs to be, but I really think even kids can understand, you know, the, the bait, the fundamental basics of machine learning. It's just all the other stuff that, that all the buzzwords that kind of get confusing, like you hear words like TensorFlow and that sounds super, or whatever, pandas, or you know, it sounds really confusing, but I think on the base level, it's like simple and you sort of build your knowledge incrementally. And like, as we build this and kind of getting your point of like, where do we need effort and where do we need people to spend time? Like, as we start using the tools more, we'll identify gaps where we can grow. I'll tell you one advantage I see with Ruby is like a lot of like data. So, so one of the things on a concept site, talk about in my talk, I pulled from the internet and learned about in my coursework is 80 20, that 80% of the time are you going to spend trying to build your machine learning model is going to be dealing with the data. How are you going to, how
Charles Max Wood:
Mm-hmm.
Landon Gray:
are you going to handle mills missing values? You know, are you going to take the average? What average are you going to take? Are you going to take a median or are you going to take a pure average? Are you just going to drop the road that has the mill? Well, you're losing a bunch of information on the other columns, you know, that you want to build your model. You need all this. It's like, But Ruby, I think, is pretty good at, and like, you give someone a CSV, you can rip through that CSV and clean up the data really effectively. Like that part of it, I don't think... Like, I don't understand, like, the limits there. You can clean up a lot of data. The model building is 20% of the time you're gonna spend, and sure, there's some... Libraries that can be cleaned up and you know, sure there's some tutorials that could be made and how paths that could be had but
Charles Max Wood:
Mm-hmm.
Landon Gray:
a lot of that Once people start using these tools, I think a lot of that will get solved as well So in short, I think getting people to use the tools and if there's tutorials out there and getting people to play with them, like the people in high school who are just now learning, they like Ruby and they wanna learn about this subject, if they start using it, they're gonna create some really incredible stuff. So.
Valentino:
It's kind of funny, even in Python, if you want something to be fast, you go to C
Landon Gray:
Mm-hmm.
Valentino:
or some other lower level system where you have more access to the resources at disposal.
Landon Gray:
Mm-hmm. We can
Valentino:
In
Landon Gray:
do that
Valentino:
Ruby,
Landon Gray:
in
Valentino:
you
Landon Gray:
Ruby,
Valentino:
do the
Landon Gray:
too.
Valentino:
same thing. I know.
Landon Gray:
Yeah, yeah.
Valentino:
It's funny. I personally don't think, oh, let me build a Ruby extension. And I was hopeful when I saw the Rust adoption into the Ruby source with all of the new YJIT and things like that. I'm
Landon Gray:
Mm-hmm.
Valentino:
hopeful that what comes out of that is more of a more efficient process for streamlining that. Building an extension is straightforward. The documentation isn't great. It's straightforward. You know, there's specific things that you follow, like in Rails or something like that, where everything
Landon Gray:
Mm-hmm.
Valentino:
lines up and you put the pieces here and then you'll get access to your C extensions. The experience isn't great. Like it's still like testing is not, you know, straightforward, like there are some
Landon Gray:
Mm.
Valentino:
missing pieces. And that's kind of where I'm hoping that the gaps get filled and we'll see that skyrocket, right, where we can get access to these lower level libraries and systems, maybe through us, maybe through something else, where it just becomes easier to build on top of. And
Landon Gray:
Yeah, definitely.
Valentino:
I feel like that's, that's maybe one thing Python has is that platform for growth. And I mean, I'd be interested to play with something like that to get, you know, to try just doing your linear regression in C. or through an extension, right? And see
Landon Gray:
Yeah.
Valentino:
if it is more performant, right? Baby steps.
Landon Gray:
Definitely.
Valentino:
So I'm curious when you're going through your neural network process and you're learning these things, are you taking these example projects that maybe you're seeing and already thinking about building it in Ruby or do you want to see it through in Python or whatever tutorials, the language of choice for the tutorial and then backport? What has been your approach for that?
Landon Gray:
So my approach has been, so I had been building a lot of like models and projects in Python because I did that course with great learning. And I thought what I was gonna do is what you're saying is like build it in Python and then build it in Ruby. And I did do that kind of with this project. So if you go to my, the GitHub repo with this project, there was another gentleman who did a similar project that I sort of adapted. What he did, not one for one in the code, but sort of the methodology and sort of the project. And I think I picked a different model. So I kind of did do that. I've been hesitant. And in all fairness, I don't know if I'm going to do this neural network project, but I'm still trying to figure out how I want to do it. There's a one side of it where I read a really deep technical paper, technical book, which is like what I'm doing now to try to understand all the different... everything that goes into the project. Um, I'm trying, I'm trying to stick with that and not adapt to Python intentionally so I can have a better understanding because it's easy to take code that's already written and be like this if statement gets replaced with this Ruby if statement, this, you know, method gets replaced with this Ruby method and all the logic that's in that method gets copied over. And then it's like, I have one for one. What the other person has. But the thing I don't have in theory, I might have a little bit more, but the thing I don't think I'll have is the understanding. And I'm really trying to get a deeper understanding of if I was thrown into a room and you asked me to write such and such an algorithm or such and such a machine learning model, like a neural net, like could I do that without any outside reference to Python code or anything like that? Could I just understand the formulas and do it? And... That's kind of what I'm after personally, because I think if I understand that when new innovations come out in the machine learning world, like I will understand those much better because I have a foundation and that's how math works, right? Like if you don't understand elementary algebra, you can't do calculus. You're lost all in calculus. Like there's no hope of doing differentials or anything like that. And then when you take Cal two, it just gets harder. It's like. But the fundamentals really help you out when people are doing high level things and you can say like, oh, that kind of relates back to this mathematical principle, kind of like linear regression. If you have any understanding of y equals an x with b and drawing a best fit line through a bunch of data points, you know, it kind of makes sense how you can use that for multiple variables and. Sometimes it gets hard to visualize like, okay, you got one line or you got multiple variables or multiple inputs. So you have multiple best fit lines with multi-modular regression. Like it gets a little fuzzy, but you have some intuition about like what is happening. And I think people need to build that intuition up in general, or we're gonna have more of a safe for people to put things into chat GPT and say, be turn it in like, you know. Like what are the pitfalls of that? Um, so that's how I'm trying to learn right now. I don't know if I'll stick with it. I may be like, ah, to heck with it. Let me just copy this neural network that's implemented from scratching Python that someone's done. Just one for one Ruby. I might do that
Charles Max Wood:
Mm-hmm.
Landon Gray:
too. And there might be benefit in that, but.
Valentino:
Yeah, I started doing that with a Raspberry Pi Python library. And then I hit some like language level
Landon Gray:
Uh...
Valentino:
things that are that work in Python, but not Ruby. I'm like, oh, I guess I'll delete this line.
Landon Gray:
uh, which version, which Python we're using. I know there's like a bunch of different ones.
Valentino:
Um, this was maybe like three years ago now I was playing
Landon Gray:
Okay.
Valentino:
with it. Uh, I think it was before three. Yeah. It was like two, seven or something like that.
Landon Gray:
Okay, nice.
Valentino:
So maybe it's come, I mean, I know, I don't think Ruby has implemented this feature yet. It was like a way that it cleaned up the memory allocations, but it was, I can't even remember now. But it was something like, just, you know, I didn't wanna learn about it.
Landon Gray:
Yeah.
Valentino:
And then I got to the point where I just like left it and somebody else came in and was like, why don't we just use this thing? I was like, yes,
Landon Gray:
Mm-hmm.
Valentino:
let's use that thing. But
Landon Gray:
Yeah.
Valentino:
to your point though, you learned all those other things and how it all worked, copying it over. So I mean, there is value in that.
Landon Gray:
Yeah.
Valentino:
Who is it? Didn't Steve Jobs say, great artists steal, right?
Landon Gray:
Oh yeah,
Valentino:
Like
Landon Gray:
yeah.
Valentino:
good artists borrow, great artists steal, right?
Landon Gray:
Great art of steel, yeah.
Valentino:
But I mean, there's a lot like, I'm really good at copying things artwork wise,
Landon Gray:
Mm-hmm.
Valentino:
which I'm not a great artist, but I could copy something pretty good. And I learned some techniques doing that, right? Oh, something's shaded a specific way, and I feel like programming is the same way.
Landon Gray:
Yeah.
Valentino:
Oh, you've learned something that maybe Rubyists don't do because we don't need to, but is
Landon Gray:
Mm-hmm.
Valentino:
a helpful technique, right? And so you can apply it in different ways.
Landon Gray:
in different ways. Yeah. You said something very important that I think is important to just as we expand into this whole in all spaces, you said someone, I think you said someone helped you or showed you something different later. And I think that's a big part of it too, is like, I have no hope that I'm going to be an expert. I don't even proclaim to be an expert in AI or anything such. And... But like, I know enough to be dangerous and other, like, I can get so far and other people will come along and say, oh, I looked at Lenin's project or I looked at someone else's project and they can build upon it and take it to new levels that, you know, I never even thought of. And I think that's how kind of progress is made where it's like you throw a stone and then it ripples and people do kind
Charles Max Wood:
Mm-hmm.
Landon Gray:
of what they want with the technology. And that's how things grow. I was going to circle back to another thing. We're talking a lot about large language models and everybody's like abandoning every other, you know, you know, uh, different way of doing machine learning or non-machine learning AI methods. And I don't think that's necessarily healthy to like go into this homogenous pattern, like honestly, I'll be excited when people get bored of LLMs and it's considered, you know, dead, which sounds like blasphemy because really all the other things that we've tried, we've just gotten stuck at those points. Like for a while, we wouldn't even go down this path because we were stuck. Why were we stuck? Well, because we didn't have enough computational power and the bit of having like launched out all these like GPUs and maybe, I don't know if this is true, but like maybe Bitcoin had something to do to accelerate it, right? Cause everybody's using all these GPUs and things to mine Bitcoin. It's like that's in my opinion, a little bit of waste of time. And so like, but now like, They invested all this money. And so now we have all these graphics. Oh, we can do all this cool stuff. And now we were throwing all those resources that, you know, training these. You know, LLNs and then that's how progress
Charles Max Wood:
Mm-hmm.
Landon Gray:
is made. Like we did bad stuff and then that bad stuff turned out to be good in some other domain and like, look how far we are. But just because we kind of hit a wall in some of the other directions that people have done with like AI and machine learning, it's like, it doesn't mean that those walls won't be break broken down. And people are going. totally like different path. Kind of what we were talking about where it's like, oh, large language models. Now we're thinking about looking at small models again. But then, two years after that, they'll be thinking about large models again. Like it's kind of cyclical. And we're always trying to figure, there's always more, very generative. Or maybe we can use hybrid techniques to solve problems. So, it's interesting.
Valentino:
Yeah, you're so right about that. And I feel like that's how Rails really launched Ruby,
Charles Max Wood:
Mm-hmm.
Valentino:
to
Landon Gray:
Yeah.
Valentino:
be honest. Rails was a very, it solved a very specific set of problems in the web world, web programming world. And it solved them really well, and it was easy
Landon Gray:
Mm.
Valentino:
to reason about. And the whole magic of Rails, right? And it kind of made it. You know Ruby became very popular because of rails. You can't really deny that but now that we're
Landon Gray:
Mm-hmm.
Valentino:
like now that rails is so big that there's so many other like projects that Ruby's like grown to right and Ruby is a perfect example of that and so it'll be interesting to see like because Doing Ruby and embedded programming was like also not a thing Okay,
Landon Gray:
Mm-hmm.
Valentino:
and so
Charles Max Wood:
Hmm
Valentino:
like now it is a thing and like people have boards that you can get and it has Ruby embedded on on the actual board and that's how you program. And it's incredible, right? And like, so you're so right. Like if we can get like, you know, just people using it and the framework starting to build, like I would love to use machine learning in like
Landon Gray:
Yeah.
Valentino:
my apps, right? Like everything's all in one place. Like we don't have to have data teams that have no idea about Ruby, right? Like, which is kind of like where teams end up, right? You end up having to hire completely separate. Right? Like where
Landon Gray:
Yeah.
Valentino:
do we need to hire completely separate? You know.
Landon Gray:
Yeah. It's a good point.
Valentino:
So, I mean,
Landon Gray:
I was,
Valentino:
we'll
Landon Gray:
uh,
Valentino:
see.
Landon Gray:
yeah, we'll see. I, when I was at RailsConf, one of the things that I was kind of curious about was Shopify and I, I was curious on how they're doing all their machine learning stuff and, and from what I gathered, cause I was like running up to, to developers there and just like asking, like, are you, are you doing anything with you know, ML and Ruby and, and what I gather, I think they're a little bit, I think they have like separate teams. Like I think they have their dev team and their, their data science team. And I think, so this kind of loops into like, why I think it's important that people do ML and Ruby is like, I just really think it's beneficial because you can have such richer conversations. You know, maybe if you're speaking the same language, you know, like if your applications in Python and your data sciences are using... Python as well. Well, now that software engineers can show the data science, it's like, hey, you know how you're processing the data in this way, it's actually inefficient. And like from our computer science background, we can tell you like, this is a better way to do it in your Jupyter notebook or whatever. And they're like, oh, that's super helpful. And like, you know how you're trying to do some statistical related thing in the software application? Like you should do it this way from our background in data science and you can improve. And then there's this cross collaboration that goes. Um, that I think would be like really, really beneficial. Um, but you know, if everybody's sort of like siloed off, you know, it could be hard to like take in the advantages of either, either side. And maybe, maybe the truth is that we just have people become more polyglot. Like maybe Rails develop, I don't know. I'm going to say this. Maybe Rails developers
Charles Max Wood:
hahahaha
Landon Gray:
should just learn more Python and Python developers should learn more Rails and we should. we should cross contaminate a little bit and kind of improve the whole ecosystem. Maybe there are things that you can do with Rails or ways that you can reason about things like that we haven't really thought of as being beneficial in, in Ruby, I keep saying in Rails, in Ruby, like, you know, I was thinking, this is weird and I don't know if this has anything to do with anything. One day I was like, I was like, I wonder if meta programming could benefit like. you know, machine learning in any sort of way. Like maybe not, like maybe I'm just totally off base and I don't know what I'm thinking right now, but maybe there's something special that could be brought over that only Ruby could bring, or because we were thinking in Ruby, we had that insight and somehow thinking in Python, it made it a little bit harder. Maybe not because they're kind of a higher level languages, but I don't know yet. Like we have to keep learning. We have to keep trying things, you know. What did our president say? Like, we do these things not because they're easy. It was like JFK
Charles Max Wood:
Right.
Landon Gray:
or something, but because
Charles Max Wood:
It was JFK.
Landon Gray:
they're hard. It was like the moon. Yeah. I'm butchering the quote, but we do these things because they're hard. And through going, going through the hardness, like allows us to learn so many things, you know, that we wouldn't have tried otherwise. It's like, there's so many times in school where teachers will say, This is the method to get to the answer. Well, there might be a totally different method, but because everybody's using the other method, we never discovered there's like a whole set of paths and a whole set of interesting things you can do that we just abandoned because it's like, well, Python is the de facto. That's what you're supposed to do. It's like, no, but if we, if we just did what we were supposed to do, we would never have rails and we'd all be sitting around, I'm going to say this to you, sitting around in a Microsoft shop somewhere. Writing, you know
Charles Max Wood:
Ha ha ha!
Landon Gray:
ASP net like no like, you know
Charles Max Wood:
Well,
Landon Gray:
No offense
Charles Max Wood:
the
Landon Gray:
to anyone
Charles Max Wood:
other-
Landon Gray:
who writes ASP is not net I love I'd love you all keep doing the great work
Charles Max Wood:
Well, the other thing that we see with a lot of these kinds of things is that, um, you know, so let's say that we actually go and we implement a lot of the stuff that Python has pioneered in this area, right?
Landon Gray:
Mm-hmm.
Charles Max Wood:
Or, you know, we, we invent, you know, something that looks a lot like it. And then, yeah, we invent some thing that's just, you know, a step or two beyond that, right? And. what we'll see is then we'll see a lot of the other ecosystems pick that up, right? And then they'll innovate something and so on and so forth, right? It's funny, I have a really good friend and he's totally in love with Laravel, right?
Landon Gray:
Mm.
Charles Max Wood:
It's the best thing ever, right? And so he comes to me all the time and he's like, hey, you know, you should switch to Laravel because it does, I don't know, pick a feature, right? And it's so funny because... more than like probably 80% of the time I look at them and go, oh, well, Rails does that too and for longer, right?
Landon Gray:
Yeah.
Charles Max Wood:
And so, you know, but it's that thing, right? Where it's made these other ecosystems go and implement something that was really good. And who knows, who knows? Maybe something in the Ruby AI ecosystem, if we pioneer this forward, you know, could open up some new way of doing some things that are awesome, so.
Landon Gray:
Yeah, I 100% agree with that.
Valentino:
Yeah, I was kind of hoping that serverless would solve a lot of this for us, right? The concept where we don't care what the service, the endpoints are, right? Like, just the service itself does its thing and then gives you back outputs and you give it inputs and that's it, right? Like, it would be great
Landon Gray:
Yeah.
Valentino:
if machine learning, just like anything you wanted to compute or did, like it just like you passed it into this thing and it gave you out. and you connected to it, right? Like that would be ideal. But I know that's not easy to do.
Landon Gray:
Yeah.
Valentino:
But it's like our missing piece, right? I was hopeful
Landon Gray:
Yeah.
Valentino:
web assembly and things like this, they would make this kind of thing happen on a bigger scale, right? Where, OK, we don't care what you write things in. And maybe that's not the right way either, right? Like
Landon Gray:
Mm-hmm.
Valentino:
maybe just use what you're good at every language has these things, right? Like these core
Landon Gray:
Yeah.
Valentino:
concepts, it's a programming language, it should do these things because this is what we need computers for, right? Like...
Landon Gray:
Yeah, there's like a tension there with like picking
Valentino:
Yeah.
Landon Gray:
the right tool for the job, but also not, you know, going in on one technology and kind of making it the tool to do everything, you know.
Valentino:
Yeah, and I because when it comes back to it, it's all about like academics, right? Like where is the money being put to research
Landon Gray:
Mm-hmm.
Valentino:
this stuff? Right. Like if we want to add new models or add new innovations, like what are researchers and institutions like reaching for to solve these problems? Right. And if it's Python, I don't even know that it's Python. There was like R for a while. Right. Like, oh, like what comes out of there? is basically what gets adopted. And I feel like that is maybe more of what's missing, right? It's like the framework on top of the academics for everything else to trickle out of, right? That's one thing I see missing, but
Landon Gray:
Yeah.
Valentino:
I'm not in the world. Maybe
Landon Gray:
Yeah.
Valentino:
it's already there and I don't know it.
Landon Gray:
Maybe.
Valentino:
If you're out there listening and you know, let me know on Twitter, because I would love to know.
Landon Gray:
Yeah. I think there's something to, this is a totally different direction, but like something to like joy as well. Like I found out that, you know, I didn't, you know, I felt I had a lot of insecurity early on in my career about not being a great developer and, you know, I learned programming a little bit younger and, uh, did a bunch of stuff in Java and it just, it just wasn't really clicking for me. Like I just struggled so much. And. Even like C++ clicked more for me or like Ruby clicked more for me. And I, and I often wonder, um, you know, I wonder if different brains just, and probably it's just true, like things just click differently for different people. And had I been forced to be like, you have to write Java and Spring Boot applications for a career, like I would, I would have just lost
Charles Max Wood:
hahahaha
Landon Gray:
like the joy and the momentum to develop and try new things. And it was just. For me, even doing this whole talk was because I was like, Ruby's so cool and it optimizes for developer happiness and I love it. And like, because I have all this extra energy at the end of the day, because I actually love it so much and I'm not doing Java, well, now I'm gonna try this unique thing that I would have never, ever, ever tried in Java. Like, and someone feels the same about Java and doesn't like Ruby, but like, or vice versa. And it's like, even just the human-ness part. is something that I feel like people miss. Me loving what I do and being in a language that I love what I do, pushes me to push the limits of a technology and find new things and learn about new things. And that contributes to the ecosystem, versus not enjoying the language I'm using or the technologies that I'm using. And maybe that helps unlock more progress. Right? the bow for happiness.
Valentino:
Yeah, that reminds me of the Ruby microscope, which is now out of date. But right. Like it was some guy
Landon Gray:
That
Valentino:
that
Landon Gray:
was
Valentino:
just,
Landon Gray:
a book, right?
Valentino:
yeah, it was a book. But
Landon Gray:
Okay.
Valentino:
like some of it is just writing down, you know, everything he's finding about how Ruby works. And then it like, you know, makes this book and, you know, it becomes this like de facto source. Oh, you want to know how like Ruby's internals work. You look at Ruby under the microscope and, you know, it's it seems to be like that thing, right? You learn it and you write down what you learn from it. And like it could change like, you know, significantly how, you know, how it all works, you know, you never
Landon Gray:
Yeah.
Valentino:
know. Who knows?
Landon Gray:
person.
Valentino:
But I agree with you there, learning is definitely key. The inquisitive mind does wild things, right?
Landon Gray:
Curiosity, yeah.
Valentino:
So what's
Charles Max Wood:
Cool.
Valentino:
next? Well, outside of this neural net ideology, Blue Ridge Ruby, I would love to know. I know we had Jeremy on and
Charles Max Wood:
Mm-hmm.
Valentino:
what was his name, Mark?
Charles Max Wood:
Mark,
Landon Gray:
Mm-hmm.
Charles Max Wood:
Matt,
Valentino:
Yep.
Landon Gray:
Yep.
Charles Max Wood:
Mark.
Valentino:
And
Landon Gray:
Jeremy
Valentino:
yeah,
Landon Gray:
Smith
Valentino:
how did
Landon Gray:
and
Valentino:
that go?
Landon Gray:
Mark Locklear. Yeah.
Valentino:
Right, Mark Locklear. I'm curious how that regional conference felt in comparison to maybe one of the bigger ones
Landon Gray:
Yeah,
Valentino:
and maybe some
Landon Gray:
I...
Valentino:
highlights that you liked of it.
Landon Gray:
I loved it. Like I've been to three conferences in my life, you know, spoken at two. I went to RubyConf into last year, RailsConf this year, and this one. And this was, I have to say, this was my favorite. Just having like a, just a smaller regional conference, you know, it felt, feeling a little bit more intimate. Asheville was just a beautiful location and vendor. It was just, I just had a lot of fun. And it was just. I think one of the things that is hard to explain, being here versus being there, was just, I felt like Mark and Jeremy really instilled a lot of themselves into the conference. Jeremy began the conference with this meditation. He did a lot of really interesting things, but he was talking about healthy ecosystems. like what makes healthy ecosystems sort of work. And it was just a very mindful sort of meditation. He did another thing later in the conference where he just asked people to express gratitude and people were expressing gratitude for other people in the community that had helped them, that had given them opportunities,
Charles Max Wood:
Mm-hmm.
Landon Gray:
you know? And it's just, I feel like some of that is like lost. It like our day to day of like, we're writing code, we're getting the job done, there's spies, we're putting them out. And it's like, how often do you think about all the people who have helped you be where you are and, and that ends up opening up another door of like, if we continue, if we want to continue to have great, like kind of moments to get together in technology and, and have things growing, we need to like build a community that can support that. We need to like mentor others and help. more junior people and like practicing gratitude, maybe that has something to do with, you know, creating a healthy ecosystem where we can do our best work as engineers. And for me, Blue Ridge Ruby really captured that, that community aspect. Like I really felt refreshed when I got back to my work on Monday, like, oh, I'm so excited, you know, you know, I'm gonna do a bunch of stuff in the evenings, Ruby related and, you know, just have a good time, you know. It was just a really, it was a really great experience. And it was also a one track conference. So it was like, you didn't have to pick and choose which, which talks you saw. I was all, you know, they were all kind of there and you got to see like everyone if you wanted to.
Valentino:
That's awesome. Yeah, I
Landon Gray:
great time.
Valentino:
attended Philly RB for a while. And
Landon Gray:
Okay.
Valentino:
I really
Charles Max Wood:
Hmm.
Valentino:
enjoyed it. It's even smaller. It's not really a conference. But the formatting
Landon Gray:
I was there
Valentino:
of
Landon Gray:
two
Valentino:
a
Landon Gray:
nights
Valentino:
meetup.
Landon Gray:
ago, like literally.
Valentino:
Oh, really?
Landon Gray:
You were there last night and the night before. Yeah.
Valentino:
That's funny. Yeah, I didn't attend many, maybe like five or six of the meetups, but I always, you know, it's always great.
Charles Max Wood:
Mm-hmm.
Valentino:
And you get that smaller community and it is like easier to connect with people. And it still has that conference feel with people giving talks and, you know, you get to follow up with them, right.
Landon Gray:
Mm-hmm.
Charles Max Wood:
Well,
Valentino:
Which
Charles Max Wood:
and
Valentino:
as a
Charles Max Wood:
I
Valentino:
speaker,
Charles Max Wood:
remember.
Valentino:
maybe isn't that great.
Charles Max Wood:
Yeah, well,
Landon Gray:
Hehehe
Charles Max Wood:
and back in the day, I mean, all the regional conferences like Mountain West Ruby Conference here in Salt Lake, right? It was just, you know, it was small enough to where you really could, you know, find the people you wanted to interact with. And, you know, you had a lot of people from across the community showing up. I feel like RailsConf and RubyConf, you just, you have so many people there that it's easy to get lost in the shuffle. I mean, the flip side is that it's a large enough conference to where it provides you a wide breadth of whatever you want to learn. So
Landon Gray:
Mm-hmm.
Charles Max Wood:
I can't say that it's a poorer option. It's just a different option. And it's nice to have that different option where you can go and be part of a smaller group. And then, yeah, the users groups are even more that way, right? Because you show up, you have 30, 40, 50 people there. Maybe the bigger ones I've seen are 100. a little bit larger than that. And so yeah, you get to know people, you get to kind of build that community that way. It's awesome.
Landon Gray:
Yeah. Have you heard of conference or what is it? Sorry, hallway track?
Charles Max Wood:
Yes.
Valentino:
That was a hallway trick.
Landon Gray:
Yeah.
Charles Max Wood:
Yep. Yeah, the hallway track is awesome.
Landon Gray:
It is awesome. Someone introduced me to that in my first conference. I was like, you can do this? You cannot go to a conference talk because you feel cognitively
Charles Max Wood:
Yes.
Landon Gray:
just overloaded because it's your first time being in a conference and you don't
Charles Max Wood:
Mm-hmm.
Landon Gray:
understand
Valentino:
Yeah.
Landon Gray:
the minutia of, you know, David Patterson's really awesome talk. You can just hang out in the hall, you know, talk with people. It's so cool.
Valentino:
I don't know if
Landon Gray:
You
Valentino:
they
Landon Gray:
can
Valentino:
still do
Landon Gray:
watch
Valentino:
it.
Landon Gray:
the talks later. I'm sorry.
Valentino:
They used to do the unconference, which was like an extension of the hallway track where they had like
Landon Gray:
I don't
Valentino:
a
Landon Gray:
know.
Valentino:
special room that was devoted to like, you know, people that wanted to come in off of the hallway for like a non-conference conference and they would have talks. It was kind of funny.
Charles Max Wood:
Yeah, I've seen those. Um, usually what, what they are, they're kind of the, the impromptu talks, right?
Valentino:
Right.
Charles Max Wood:
So people just sign
Landon Gray:
Yeah.
Charles Max Wood:
up for a room or they'll submit the talks for the unconference and then, yeah, people vote on them and then they just get slotted in.
Landon Gray:
Mm-hmm.
Valentino:
It's just funny.
Landon Gray:
Yeah, that reminds
Charles Max Wood:
Alright,
Landon Gray:
me,
Charles Max Wood:
well
Landon Gray:
there
Charles Max Wood:
we're...
Landon Gray:
were some lightning talks. Oh, sorry, I'll go ahead.
Charles Max Wood:
No, it's good.
Landon Gray:
That time.
Charles Max Wood:
Yeah, we're getting close to time, but go ahead and say what you were gonna say about Lightning Talks and then we'll
Landon Gray:
No,
Charles Max Wood:
wrap
Landon Gray:
I was just
Charles Max Wood:
up.
Landon Gray:
going to say there are lightning talks at Blue Ridge Ruby and one of my favorite lightning talks. I forget who it's by. Oh, opposite of your link. Yeah, it's blinking. But he was using a lot of not real terminology for different things. Like you're talking about like, lambda. And he's like, this is often known as the alligator eating the hot dog method.
Charles Max Wood:
HAHAHA
Landon Gray:
Or... or expression or whatever, and we were all laughing. And it's just like, and then you
Charles Max Wood:
Right.
Landon Gray:
just talked about prox. Prox don't get hot dogs, so they're unhappy. And so they throw this error or whatever.
Charles Max Wood:
Hahaha
Landon Gray:
It was great. Like, it's just fun to have those things at conferences.
Charles Max Wood:
Prox
Landon Gray:
Yeah,
Charles Max Wood:
not
Landon Gray:
prox.com.
Charles Max Wood:
crocs.
Landon Gray:
Yeah.
Valentino:
Oh, that's so funny.
Landon Gray:
Well, thanks for having me here. This
Charles Max Wood:
Oh,
Landon Gray:
was
Charles Max Wood:
yeah,
Landon Gray:
great.
Charles Max Wood:
absolutely. Well, we're gonna go ahead and do picks. I tried doing a self promo thing and it didn't really go. So if you have something you wanna self promo, be shameless, just throw it in your picks. Valentino,
Landon Gray:
Okay.
Charles Max Wood:
why don't you start us off with picks?
Valentino:
Oh man, I'm not quite ready. I guess I've been doing more lasering. I have this, you know, 20 watt laser, maybe 25 watt
Charles Max Wood:
Uh-huh.
Valentino:
laser behind me, and it's so fun. It's just like a wavelength thing, so you can put your hand under it and it's not gonna burn you or anything. But it lets you etch on all kinds of different metals and plastics and woods, and I'm just having a blast with it. It's by... company called a calm maker and super easy to use. I do have to dual boot into windows to use their software, which is unfortunate, but, but it works. I could just take a vector image even and plop it on and it lasers at it and image. And it's, it's been a lot of fun.
Charles Max Wood:
That does sound fun. I'm gonna throw out a couple of picks. The first one, I usually do a board game pick. I'm gonna go with a game that I've picked before. It's Legendary, Marvel Legendary. We have a whole bunch of the expansions for it as well. So we have like the Hulk expansion, the Thor expansion, and the Guardians of the Galaxy expansion. Anyway, that's a ton of fun. It's, I think board game geek has a weight on it of like 2.39. So it's pretty simple to pick up if you're a casual gamer, but it has enough of the interesting deck building elements to, you know, to be a fun game if you want to really get into it. So I'm going to pick that. Uh, let's see our book club. We're currently doing seven languages in seven weeks. And, uh, that's been awesome. If you want to join us. Um, We do it every Tuesday morning at nine o'clock. And it's currently $17 a month. And yeah, we jump in, we read the book and all that good stuff. So we're getting ready to pick our next book. So just be aware, that's gonna be a thing. And then... Another thing that I've been playing with, I'm not sure exactly where I'm gonna land on this. So I've been using a CRM system to like invite guests and stuff like that. The problem I've always had is that none of these do exactly what I want. But I recently saw a demo of Zoho, and they have a CRM, they have all kinds of stuff that you can run through their system. And anyway, so I've been looking at Zoho for some of the stuff that I want to do. And it looks like it's... So the reason I picked this solution I have now is because it eliminated a whole bunch of different apps that I was subscribed to, and they all run in the same system. And so they're all mostly integrated. But some of the limitations are kind of not great. And Zoho's a little bit more fully fleshed out. And so I've been playing with it to see if it's something that I may want to look at and switch to. So I'm going to pick them just because it's cool stuff. They also have a wider range of API options and a wider range of things that you can integrate with Zapier. And so anyway, those are all things that I'm looking at right now. So I'm going to pick Zoho. And then... Yeah, I think that's it. I think that's all of my picks. Land it. You have some things you wanna shout out about?
Landon Gray:
Just is it anything or everything?
Charles Max Wood:
Anything. Yeah,
Landon Gray:
Anything.
Charles Max Wood:
we have people pick books, TV shows, movies,
Landon Gray:
And
Charles Max Wood:
conferences,
Landon Gray:
we can have shameless
Charles Max Wood:
tech
Landon Gray:
self-promotion.
Charles Max Wood:
stuff. Yep, absolutely.
Landon Gray:
Well, I guess my pick would be NEAT, N-E-A-T, not everything's about technology. It's a testable newsletter. It's gonna be great.
Charles Max Wood:
Oh nice.
Landon Gray:
Yeah, so I think that'll be my pick for the day. Yeah.
Charles Max Wood:
Good deal. Is there a good place to get that? Is there a website or something?
Landon Gray:
Yeah, it'll be testdouble.com slash neat. N-E-A-T.
Charles Max Wood:
Awesome. We'll put a link to that in the show notes too. So people can
Landon Gray:
awesome.
Charles Max Wood:
find it.
Valentino:
I have a Twitter scanner that looks for any time Justin Searle's tweets with neat in it.
Landon Gray:
I'm gonna...
Valentino:
It is a search filter. I use it as like, oh, like this program is not behaving as it should.
Charles Max Wood:
Hehehe
Landon Gray:
Mm-hmm.
Valentino:
It's pretty great.
Charles Max Wood:
Awesome. All
Landon Gray:
Bye
Charles Max Wood:
right,
Landon Gray:
bye.
Charles Max Wood:
one last question. If people want to follow you online, Twitter, GitHub, Facebook, LinkedIn, where do they find you, Landon?
Landon Gray:
I'm most active on LinkedIn. You can search for Lambin Gray. Other than that, I'd say Twitter. My online name is The Day Isn't Gray. And I'll be probably around Twitter until it dies.
Charles Max Wood:
All right.
Landon Gray:
Or
Charles Max Wood:
Well,
Landon Gray:
gets
Charles Max Wood:
thanks
Landon Gray:
better.
Charles Max Wood:
for coming. This was fun.
Landon Gray:
Thanks.
Charles Max Wood:
All right, we're gonna, yeah, we'll wrap up.
Valentino:
Yes.
Charles Max Wood:
Until next time, folks, Max out.