Hammerstone · Aug 13, 2021
<div>Aaron can barely move, Colleen is working with billions of records. Sean is on vacation! Lucky Sean.</div>
Aaron
So this is actually the first time I've been back at my desk since the last time we recorded. I've been Oh,
Colleen
my gosh. Are you serious?
Aaron
I'm serious. I've been so we recorded last Friday and then on Saturday and Sunday I was doing some stuff in the shed. And then Sunday afternoon is when my back just locked up. And I've been in bed I've been in bed the entire week. Literally, the
Colleen
entire week.
Aaron
This is the first time I've been back at my desk. I know. It sucks. So I got I got an MRI. So I've seen an orthopedic because I was the first an orthopedist because I was the first person I could get in to see on Tuesday morning.
And he was like, yeah. You need to get an MRI and then go talk to a a spine doctor. So I got an MRI, a big old bulging disc right into right into my nerve. I saw 2 spine doctors. I I guess they're called, spine surgeons, but that makes me nervous.
And they both recommended getting an epidural injection before doing any kind of surgery, which makes me feel good because that seems way more conservative than, like, taking out the disc or something. So Heather: And
Colleen
they shave the disc down. Isn't that what they do in
Aaron
the surgery?
Colleen
They shave it. Yeah. Derek Mhmm.
Aaron
And both of them said like, you know, this steroid injection may fix it altogether. It may not do a thing, though. So it's kinda I'm getting it at 3 o'clock today, so we'll find out tonight. Well, they said it could take a day or 2. So I'm really hoping that it just fixes it altogether, and I don't have to have surgery.
I'm 32. I'm not old enough to have back surgery. I have
Colleen
to ask, like, is this a chronic problem? Because my first thought when you told me was you're kinda young to have this kind of a problem.
Aaron
No. It's not. I mean, I've I've been in pain for the I've been in a different pain for, like, 18 months. My neck and my shoulder have been in pain for a year and a half, but I've been in I've had this leg pain for, like, 2 months. And I've been, like, stretching and getting massages.
And then finally on Sunday, it was like, nope. You can't even straighten your leg anymore. You can't walk. It's like, oh my gosh. Awful.
So, yeah, the one the one doctor that I really like said, you know, this this can just happen. Like, you can just be doing something, and it just like, the disc spurts out, and this just happens. Like, I wouldn't I wouldn't be depressed about it. I was like, oh, that's good. Because I feel pretty bummed about being 32 and looking down at back surgery at this point.
So Yeah. But I am just hoping that the steroid shot calms everything down. I got an inversion table off of Amazon for a $130, which is insane. So I can, like, flip over and, like, stretch my back out. So we'll see.
But, yeah, been kind of a kind of a rough week.
Colleen
Oh, that's awful.
Aaron
And the, like, the kicker is I've been having to lay on my side because it's the only way that's really comfortable. And so I can't, like, sit in bed with my laptop and, like, do stuff. So I've just I've just been laying there watching TV. I've watched the entire season of, Alone on Netflix. Have you heard of that show?
Colleen
Mhmm. I haven't heard of it.
Aaron
It's crazy. They drop people into the wilderness just to live. And then Cocaine Cowboys, I watched all of that. But it's kinda it's been kinda depressing, honestly, because I, like, can't do anything. I wanna, like, be working on stuff.
I can't do a freaking thing. So
Colleen
Wow.
Aaron
Yeah. So anyway, that's how I'm doing.
Colleen
Yeah. So mostly terrible,
Aaron
but Mostly terrible. Mostly terrible, but with a glimmer of hope today at 3 o'clock. Although I am fasting all day, so that makes things crappy too. No no food or drink past 8 AM. So I'm both thirsty and hungry.
Colleen
Hopefully tomorrow is better.
Aaron
Hopefully. Welcome to the show, people. This is a good one. Okay. So tell me, you talked to Andrew today.
What are y'all doing?
Colleen
We yeah. We're doing great. Excited to kind of get ramped up with this client and, look at some of the issues they're having. I think this is such a great place to start because they're gonna have such a huge dataset.
Aaron
Mhmm.
Colleen
It's gonna be really fun and really challenging. I think to think
Aaron
We're talking like billions. Right?
Colleen
Billions of records. Right?
Aaron
Billions with a b. Yeah. Okay.
Colleen
Yeah. Billions with a b records. And I think what what it's gonna look like, what we talked about is that the data's gonna come in, you know, kind of like a JSON dump. And then we're gonna deserialize that and put it in this events table. And then the thing is when we query when we have these nested queries, the there's concern that the joint the way we have it set up right now to just automatically do all these nested queries is not gonna work.
We're just gonna lock up our database. So we talked about kind of doing these nested queries in a way that they just return the IDs, which I don't think is gonna be an issue, but I've gotta look at it. So it's a little different than the way we have it set up now. It'll actually be breaking out individual filters. Right?
So the different models will have different filters that all come from this singular query. But the different filters
Aaron
Wait. Flesh flesh that out for me. So different models, I e a customer and a product, those are those will have different filters. Right? Show me customers that 123 and products that a b c.
Is that what you're saying?
Colleen
Right. So when you look at the way I think we're gonna be querying this data is you're saying send an email to a contact where the contact has purchased a product, and the product was green.
Aaron
K. Got
Colleen
it. But because of the nature of the size of these tables
Aaron
Mhmm.
Colleen
We're discussing and returning it in such a way that you get that we receive that query and you go down to your product. The first thing you're gonna do is query for products that are green, return the IDs, and then feed the IDs into the one level higher query in order to make it a little more performant. So that's what we're talking about, like, playing around with right now.
Aaron
Okay. This is this is I love this. This is I'm so glad you're here because this is the stuff I wanted to talk about. Okay. So tell me and I don't know how far y'all have gotten.
So Like,
Colleen
literally, this was a 20 minute conversation. We haven't looked at it yet. So this is
Aaron
So is the thought to pull the IDs into memory, like, pull them into Ruby and then bind them into a different query in memory? Or is the thought to push that all down into Postgres somehow? Because they're using Postgres. Right? Or So time stream or whatever it's called.
Colleen
Yeah. So the thought right now is to do it in Ruby.
Aaron
Okay. So the
Colleen
the, I was gonna say we are talking now about Timescale DB, not being, like, our sole source of truth. I think we had talked about this a little bit. And so that data is gonna be dumped into we're gonna go with the model domain structure. Right? So that data is gonna be dumped into the model tables.
And so, yeah, that would be so you would basically go into your product filter, pull out the IDs. That would be in Ruby that you're keeping track
Aaron
of that. Okay. That is interesting to me. That, to me, sounds less performant to pull it into memory versus doing so I know that there were some discussion. The way that we do it currently is we use independent subqueries.
Right? So we use our our refine builds up subqueries and then executes everything all at once as a giant statement, and the statement contains multiple subqueries. And so what we do by default, just as background for other people, what we do by default is we push everything down to the database layer. So we don't pull anything into memory, but we do essentially the same thing that you're suggesting where you do basically, like, a where in, and then you pass in, you know, a bunch of IDs. What we're doing is we're doing a where in, and then instead of passing in IDs, we pass in well, we have another SQL statement in there with the thought being that the engine the database engine can optimize whichever route is best to do that.
And so it can run all of those and then build them all up together. So tell talk to me about the other way. So that as background, that's what we're doing. You know this, but that's what we're doing. And so what's the thought with pulling it into Ruby instead?
Colleen
So the concern is that's gonna lock up the database. And I have no idea. I don't know yet. So this is all new. Right?
We just we just talked about this. Mhmm.
Aaron
We
Colleen
spent a short period of time talking about it. The concern is that we're gonna have trouble with that query because there will be some joins in there based on the table relationships. And I haven't looked at this model in all of its relationships, but the concern is is trying to do those joins on those multiple tables where necessary is going to give us some trouble.
Aaron
Okay. I think this is gonna be interesting because this is like, obviously, this is the biggest dataset we'll have done this with. And this is actually the first Ruby implementation that we've done, so it's kind of a it's kind of a double whammy. So by default, refine as far as I remember, refine doesn't use any joins whatsoever. We use the sub selects.
Is that Oh, no. We changed it for Ruby.
Colleen
We changed it for Ruby. Right.
Aaron
That's right.
Colleen
And I'm I'm just coming back into this after being off it for 2 months.
Aaron
I know. You gotta load it all into your
Colleen
I gotta, like, load it back in my brain, but I am relatively confident there was some relationship where we were like, it's better to you use the joints here.
Aaron
Mhmm.
Colleen
And so maybe that's part of it too, Aaron. Maybe we look at it. I mean, I think the first step here is I just have to see what do we provide out of the box for this particular filter. Right? Mhmm.
Because we what we're doing now is we're examining the relationships, and we're building up the query, you know, based on the relationship. So I need to see what we're providing out of the box. Mhmm. And maybe that's something we can further optimize instead of returning the IDs as one thing and then putting those IDs into the next filter.
Aaron
Mhmm.
Colleen
So Hello, child in
Aaron
the background. That's fine. We're we're a very casual show. Hey, buddy.
Colleen
Sorry. Okay. Visit from my child.
Aaron
Well, that's good. Alright.
Colleen
What were we talking about? Right. So You
Aaron
were saying pulling the IDs into memory.
Colleen
Right. So I think I think the first step here is to look at exactly what we're providing out of the box. Mhmm. And why are you telling me in the Laravel side, you don't use the joins ever anywhere? You In the
Aaron
Laravel side, do you wear in?
Colleen
We don't
Aaron
mhmm. We don't use a join anywhere ever. So part of the part of the thesis there is or the hypothesis there is, on the Laravel side, we don't touch so the developer provides the initial query, right, where they say, you know, it's it's the base query, like employees or act or, users or customers, basically just a wide open query. We don't join anything in because then then that means we're adding, we're adding stuff to the returned dataset. So if we were to if the developer were to pass in a base query of, like, customers
Colleen
Mhmm.
Aaron
Right, and then we were to join in product purchases, etcetera, all of that, all the way down the line, then the dataset that we return is gonna have all of that data left joined into it. And the, developer hasn't explicitly selected that data, but we have added it in. And so we have, unknowingly changed what the developer's expectation is. Right? So if the developer is saying, I want my base query to be customers, and then we return a query with customers full of products, full of variants, full of colors, full of prices, they're gonna be like, what the hell?
Why did you give me 8 tables worth of data when all I asked for was customers? Right? And we can't we can't modify the selection either because what if the developer has already modified the selection? Then we have to go in and look at, okay, which columns are they selecting, and how do we, like, how do we add or remove the ones that we're modifying. So we just leave the select alone completely.
Does that make sense?
Colleen
Yep. That makes sense.
Aaron
So whatever the developer asks for, we will give them, and we will add in the necessary subqueries to get to the place we need to be.
Colleen
Right. Yep. That makes sense. Yeah. I have to go back and look at this implementation to remember, why it's a little bit different on the Ruby side.
I don't recall off the top of my head.
Aaron
I don't either. But I do remember talking to you about why like, needing to change it to left joints for something, but I cannot remember why we did that.
Colleen
Well, this might be a good opportunity to have I mean, maybe we surfaced a good issue here. Right? Like, this might be a good opportunity to check that out and The the Yeah.
Aaron
Remember. The frustrating thing is, like, how do we, oh, gosh. I can barely move.
Colleen
Oh my gosh.
Aaron
How do we, how do we test anything against a 1000000000 records without having a 1000000000 records?
Colleen
I have no idea. That's gonna be fun. That'll be fun to figure out. I don't know. Like, how do you actually
Aaron
Do we have to run do we have to run a seed to get a 1000000000 records on your local machine?
Colleen
Oh, my gosh. My Mac won't make it. It'll just Oh. It'll explode.
Aaron
I bet.
Colleen
It'll just start smoking. There's got I mean, I don't really know enough about tables this big. I'm sure there's a way to do that. Right? There's got Yeah.
Aaron
And I don't know if there's a functional difference between a 100,000,000 and a 1000000000, honestly. The biggest tables we have at Resolute are, I think, 50,000,000, maybe 80,000,000, something like that.
Colleen
Okay.
Aaron
But, no, we don't touch we don't touch a 1,000,000,000.
Colleen
Yeah. And it's
Aaron
gonna be so dependent on their on their, like, hardware.
Colleen
This is, like, a lot of interesting challenges that this is gonna surface. I think this is gonna
Aaron
be super fun. Sucked you back sucked you back in.
Colleen
Totally is. I totally is. I was like, I could do this 1,000,000,000 records. This is so cool. I'm super pumped to see, like, to, to get into these problems and to see where this takes us.
And, you know, we'll be rock solid once we figure out everything on this side because this is data.
Aaron
Yeah. So their main source of data is gonna be events table. Is that right? And that's gonna hold, like, that's gonna hold, like, clicks and purchases and email opens and all of that stuff.
Colleen
Yes.
Aaron
And then the side the little bitty stuff on the side is gonna be, like, customers who did something in the events table. Right? So customers is, like, millions, just a few million. And then
Colleen
Just a few million.
Aaron
The events is the 1,000,000,000, and they're gonna want customers, but customers who did, you know, x y z in the events table.
Colleen
Right. That is my understanding. Is so you're looking at something like, the the sample I was given was send an email to a contact where the contact has purchased a product that was read and has not yet been emailed as part of campaign 3. And his name is like, these are crazy queries. Right?
And his name starts with c. You know what? It's gonna be exciting.
Aaron
You know what is so just kinda thrilling to hear about that sentence is if you hold constant the fact that we'll figure out the 1,000,000,000 rows, refine does that. Like we can, we can build that query.
Colleen
We can build that right now. It's pretty cool.
Aaron
Right? That's wild.
Colleen
Yeah. Yeah. It's gonna be pretty spectacular.
Aaron
That's really exciting.
Colleen
Yes.
Aaron
Okay. Well, that's cool. So you and Andrew were just, like, catching up to see where y'all are at right now?
Colleen
Yes. Because I'm just getting back into this after a couple it's been a couple months. So I just need to get the lay of the land in terms of what's the status of this database and what do we need. And so we were just reviewing some of that. And so we were brainstorming how what this is gonna look like when these events start coming in and how we're gonna save them because there had been discussions of different databases and using different, you know, engines.
But I think we're gonna go
Aaron
esoteric stuff.
Colleen
Yeah. We're gonna go, like, model based, which is what you and I had talked about ages ago, I think. I think that's gonna be great for Refine because that's gonna really enable us use the power that we've built here instead of writing another, you know, DSL on top of it. So I think we're we're all good. It's gonna be fun problems.
But, yeah, I'm just getting my head back in the space to remember what we're looking at.
Aaron
And you start for real for real on the 23rd?
Colleen
Yeah. So I'll I'll start working more with them, something like that. Yeah.
Aaron
Okay.
Colleen
Relatively soon.
Aaron
Hopefully, very soon. Okay. Do you wanna talk, contract stuff?
Colleen
What contract stuff?
Aaron
The stuff that we're waiting on.
Colleen
Right. I don't know that we need to talk about it. I think we're good.
Aaron
Okay.
Colleen
We're just waiting for it to be signed.
Aaron
Waiting on signatures, and then I'll
Colleen
get it. So, yeah, we're just waiting on that to be signed, and I don't think there's gonna be I haven't heard that there's gonna be any problem. So, hopefully, that'll happen today.
Aaron
K.
Colleen
And then you saw the thing from the lawyer about the LLC being in Texas and Let's talk about that. My god.
Aaron
So in in my in my stupor, I I read a little bit of the attorney's email, which is not a good idea. But, basically, what I gathered was they're basically saying, like, if it's a Texas LLC, which it is, then we should get somebody else to do it. Yes.
Colleen
Is that the gist? That's the gist.
Aaron
So Okay. That's a bad gist in my opinion. That doesn't seem great.
Colleen
No. I mean, it sounded to me my interpretation of that email was we don't know the Texas laws. So if you wanna keep it at Texas LLC, we cannot help you and we cannot represent you. If you wanna disband that and start an LLC in Illinois, we can help you with that.
Aaron
Thoughts before I have my thoughts?
Colleen
I I have no thoughts.
Aaron
I have many thoughts. I have
Colleen
I have Tell me your
Aaron
thoughts, sir. In fact, I have one thought, which is many. I kinda think we should just start over.
Colleen
Yeah. I'm okay. I mean,
Aaron
We would need to figure out the accounting ramifications of that, but I I kinda think at this point so Sean and I have no operating agreement. We own this LLC 5050. It's made, you know, x amount of money of which we've paid, you know, point 9 x out to you. I guess less than that, because Sean has been billing hours, and that money has been staying in the company. So and the LLC was formed by me going on to the secretary of state website and paying $300 to file the LLC.
So I'm not tied. I would like to keep the name. But if we could I think if we could just start over and have the attorney do it, because that would gain us, obviously, the attorney, which we'd need, and the ability to have you, like, written in from the start instead of, like, somehow added on to whatever Sean and I already have. I kinda think we should just disband or kill the Hammerstone Texas entity and start a Hammerstone Illinois entity.
Colleen
That certainly seems like the easiest solution. I don't know
Aaron
It does.
Colleen
To your point, there's nothing about it being incorporated in Texas that makes it extra special. And there's not it doesn't sound like there's any I mean, that seems reasonable to me.
Aaron
Yeah. Okay. Well, Sean's on vacation, and since we bothered him so much last week, we shouldn't bother him. But when he gets back, we should talk about that. And I'll ask my accountant, and he can ask his accountant named our accountant named Aaron, if there what the accounting ramifications of that are.
It'd be great if we could just, like if Hammerstone Illinois could acquire Hammerstone Texas and just close it down.
Colleen
Yeah.
Aaron
Okay. Yeah. Fun stuff. I freaking hate that stuff, man. I
Colleen
hate Me too.
Aaron
I hate the attorney stuff. I hate the accounting stuff. I am actually an accountant, and I hate it. I hate I hate it so much. It's just so frustrating.
Colleen
Yes. And And so complicated. Doesn't it just feel so unnecessarily complicated? Why does it have to be so hard?
Aaron
I don't know. We're not dummies. We could Right.
Colleen
We could
Aaron
figure this out, but why does it seem so complicated?
Colleen
Right. Seriously.
Aaron
Oh, goodness. Okay. Anything else on your side?
Colleen
No. No. I'm just getting up and running, and I'm good.
Aaron
K.
Colleen
Let's see. On my side, I've been in bed all week.
Aaron
I got an inversion table. These are the highlights of my week. Yeah. Not not super great stuff. We have so it's in it's interesting now because you're a part of like, you're a partner in Hammerstone, and we've I've had got all these other, like, Hammerstone side projects going on.
So Hammerstone is a side project, and then I have side projects for the side project, obviously, as one does. So Torchlight is one of them, and Torchlight is the syntax highlighting, API. Are you have you seen all of this? Are you familiar with Torchlight?
Colleen
I'm not actually really familiar with it.
Aaron
Great. Well, you own part of it, so I will explain it to you now.
Colleen
Please do.
Aaron
So, when I was building the Hammerstone website, I was writing all the docs for refine and everything, and the syntax highlighting options out there were really frustrating and really crappy. Prism JS, Highlight JS, there's another one. And I tried them all, and each one missed something in a novel and frustrating way, and so everything ended up, like, looking slightly wrong. And so I started writing this, like I found I found this open source library called Sheeky that does, like, basically, Versus Code compatible, syntax highlighting, but it's really frustrating to use because it's it's not client side. It it's run it's a node process, so you have to install node and do the whole thing.
And their renderer kinda sucks. Like, it doesn't have line numbers. It doesn't have git diffing. It doesn't have a bunch of stuff. Right?
So I started writing this solution for the Hammerstone website, that includes line numbers and focusing so you can, like, blur out parts of the code. You can collapse parts of the code. You can add line numbers, do all sorts of stuff. And so as I was writing that, I spun that out into a stand alone service called Torchlight. So it's now an it's now an API with a couple of different clients, one being Laravel, and then let's see.
There's a there's a markdown client for PHP. There's one for there are a couple for static site generators in PHP, so we have some specific static site generators. Jigsaw is one of them, and then statamic is a a CMS that's not quite the same, but a little bit. And so it's got all these clients. I've launched it.
I've got I've got we've got, like, 200 people on the waiting list. We've got several several people using it in production. A few people have signed up for paid plans. The Fathom analytics team is using it for their website, for their docs website. Laravel News is using it for their website.
So we've got a lot, like, we've got a lot of people using it, and it's got a lot of traction, at least, you know, from my perspective. And Andrew wants to use it in bullet train. So that was the thing I messaged I messaged y'all about last week is we were gonna have one of our chat friends, Barry. Have you ever talked
Colleen
to Barry in the chat? Yeah. He was at retreat to your friend.
Aaron
That's right. We're gonna have Barry do it, but Barry got, slammed with work. And so now we're gonna have somebody else, write us a Ruby client, and it's gonna be, Andrew's gonna pull it into the bullet train docks, so Torchlight will power those docks as well. So kind of the thought with all of that is it's like a it's basically like I don't think it's gonna make that much money. I mean, the business plan is $14 a month, so there's not there's not really a lot of room to get rich on it.
But I think there's a lot of room to get, 1, to get backlinks, because if if you use the, you know, the open source version, you have to link back to us, which is gonna be great. And 2, to get, like, to get mind share. So I've gotten a lot of people who have messaged me and been like, this is fantastic. I would love to use this. Highlighting sucks.
I wanna put it on my website. And people just start, like, tweeting about how much they, you know, they install it, they put it on our website, and they love it. And I think this has been 10 times, maybe a 100 times as valuable as trying to write blog posts about, you know, hey, we're Hammerstone. Please notice us. But, yeah, this week has been this week has been good because a couple more people have picked it up and started tweeting about it, particularly the Fathom Analytics team when they, like, when they bought when they signed up and started tweeting about it, he DM'd me and was like, dude, I didn't understand I didn't understand before, like, the value of this.
And now this is, like, this is extremely valuable and it's worth every penny that I pay, and you've done a fantastic job. Was like, oh my gosh. Nice.
Colleen
That's a good year, Aaron.
Aaron
That makes me feel so good. Like, it's so encouraging to to hear that.
Colleen
Yeah.
Aaron
So we're getting close to just opening it up, opening you know, right now it's behind it's behind a form, so you go there and you sign up for the early access list. But I think Okay. We're getting close to just, like, opening it wide up and anybody can sign up and anybody can use it. So it's been a lot of fun. Hopefully, we can get a Ruby client written.
Andrew can start using it. We can start getting some adoption in the Ruby, ecosystem, the Rails world. But this is a nice little, like, a nice little beachhead to get into people's, you know, to get into people's minds and kinda get our stuff out there. So that's what Beachlight is, and you Sweet. You own part of it.
Sweet. So if you ever see it, you gotta be a hype person because now this is this is part of your this is part of your portfolio.
Colleen
Nice. Cool. That's great.
Aaron
Yeah. So that I've been working a little bit on that recently. Good lord. There's no comfortable position. Position.
And I think that's about it. Oh, there's one other thing. Have you been do you know what Sidecar is? It's a Laravel package that I've written.
Colleen
I feel like I've heard of it, but I don't know
Aaron
So that
Colleen
it's either.
Aaron
This is and I'll be curious, like I think we've talked about this a little bit. I'll be curious how this works long term. Like, in terms of is this an is this a good strategy that we should pursue in the Ruby world as well? Like, should we should we write open source packages for Ruby or Rails as a way to gain mindshare, going forward? So that'll be something that I think will be interesting.
But what Sidecar is is it allows you to deploy AWS Lambda functions straight from your Laravel application. So you can deploy and execute Lambda functions from your Laravel app without having to go through, like, the AWS UI or API or anything. And then you don't have to set up API gateway. You don't have to set up any of that stuff. You just directly execute it straight from your Laravel application.
And so that has been another one. I actually got to go on an, a podcast recently and talk about that one. And people have been contributing, like, pull requests to that one, which is a first for me. I've never written anything where someone else has contributed to it, which is kinda cool. So that one this week, somebody added a PR to support container images or something.
Colleen
So when you say from your Laravel application, like, how much abstracting do you do from from do you, like do they have to go in and set up a SAM configuration?
Aaron
Yeah. So what they do so when you when you install it, there's a configure command. So you just run artisan configure. Artisan is our little is the name of our CLI in in Laravel. So you run artisan configure, and what it does is it directs you to the AWS IAM portal.
So it gives you a link in in your console, it gives you a link. Here's you know, go to the IAM portal, make a, set of admin access keys, and it walks you through how to do that. So, like, full privileges to everything. Give me those keys. So you paste those keys into the terminal, and then it walks you through step by step what it's doing.
And so it creates, an execution role, it creates a deployment bucket, it creates a policy, and it attaches it all to the right, I don't know what you would call the right objects or instances or whatever. And then at the end, it gives you the option to self destruct those admin keys. So you can use keys to delete keys, and so it gives you the option to say, okay. We don't need you know, side car doesn't need these admin keys anymore. Do you wanna destroy them?
And if you say yes, those admin keys are gone, and you're just left with your your sidecar access keys. So in terms of, abstraction, then all you do is you say, alright. Here's my Lambda function. The package is, you know, these 10 files in this folder of node modules or whatever, and then the handler is, you know, image dot create or whatever. And then on you just call it from PHP.
You just say, you know, image you know, create OG image, execute, and it just creates an like, it goes out to Lambda, creates the image, and comes back to PHP.
Colleen
Cool. Yeah. We have something like that in Ruby. It was actually made by, like, my very first mentor, which is kinda cool. But, yeah, we
Aaron
What's it called?
Colleen
Yeah. Lam Lambie?
Aaron
I I've heard of Lamby. Is that Yeah. It's custom ink.
Colleen
Really cool. It's custom ink. So Ken Collins, who is, like Yeah. Literally the first rails engineer I ever met, Mhmm. Great guy.
So he wrote it. And so it's really great. I mean, so you're talking about deploying Lambda functions in that way. It's like so awesome. Yeah.
Aaron
So Lambie is one that I've actually looked at. Is is it is Ken in our chat? I thought he was.
Colleen
He is, but he's not active, but he's, like, around. I think he's, you know, inactive in the chat. But, yeah, he so he wrote lamb Lambie Lambie. But it's I mean, he's has a whole series of talks on it, and he's got a great tutorial. Yeah.
It pretty much it extrapolates a lot. You still have to do some stuff with the SAM CLI, but it's it's pretty hands off if you're not comfortable with, you know, serverless functions.
Aaron
Yeah. So this Solambi, as far as I understand it, lets you does it let you run your whole Rails app on Lambda Lambda, or does it do function by function, like, you can get out there if you want to?
Colleen
So I I have not tried that. I've just tried individual functions. I don't know off the top of my head, but I know it's something he's constantly I mean, for this has been around for years, so I think he's been iterating on it. So I would big. It's, so yeah.
It's pretty cool. Anyway
Aaron
Yeah. I remember looking at this. I was looking once at we have, Laravel Vapor, which is like you can just run your entire application on Lambda. And I was trying to figure out how they did something, and I went source diving on on Lambi as well because it's very, like, as far as I remember, it handles it handles a ton of stuff Lambie does.
Colleen
Yeah. It's super powerful.
Aaron
Yeah. That's super cool. Yeah. So that's kinda I guess that's kind of the the stuff that I've been thinking about, and I would like to get whenever Sean gets back, I'd like to start, talking about the, like, the punch list for Laravel View so we can get that, like, tidied up and shipped out in the next couple of months. That would be
Colleen
Yeah. That'd be exciting.
Aaron
It'd be really nice.
Colleen
Right? Maybe that's a good Christmas present.
Aaron
Yeah. Oh, man. I hope it happens before then. What is it? August 13th?
Maybe it's a good Christmas present. Yeah.
Colleen
I feel like that's a realistic goal.
Aaron
That's 4 months. Oh,
Colleen
man. But that would be really exciting to get that rolling.
Aaron
Yeah. Yeah. It would. Okay. Well, let's see.
I don't think I have anything else. This is fun. I'm glad I'm glad you're you're game to do this podcast. I'm excited you're here.
Colleen
Yeah. It's different than my other podcast. Like, you guys are like, whatever. Someone walked into the room. It's So
Aaron
your other podcast chill. Software social. Tell me you've said that before, so tell me how this is different. Like, I think I know, but tell me.
Colleen
We I mean, we had a couple of really specific goals in mind for that podcast. And, you know, we have sponsors now and we try to sound, so we chat, but we're not like, hey, how's your back feeling today? Like, what's going on with you? How's your week bed? Because this is the only time, you know, you and I will probably chat per week.
Yeah.
Aaron
It was like, hey, Colleen. How's it going? Let's start recording.
Colleen
Right. Right. Right. So it's just different. We're a little more we're not scripted at all, And we don't we don't pregame, like, so I don't know what Michelle's gonna say and she doesn't know what I'm gonna say.
But we do try to stay focused on top of this.
Aaron
Yeah. That's where, that's where this is a little bit different, I guess.
Colleen
But this is cool. I dig it. This is really low. I mean, low stress, like
Aaron
Low stress. Chat.
Colleen
Yep.
Aaron
Yeah. There's, there's another podcast I listen to called no plans to merge. It's pretty big in the Laravel space, and it's these 2 dudes who are both, like, very good programmers. But they talk about fishing more than they talk I swear they talk about fishing and labor policy. Last week was about Kohl's Cash.
They talked about Kohl's Cash for, like, 30 minutes, how they pay you to shop there.
Colleen
And Oh my gosh.
Aaron
Man, it is so funny. And I I really appreciate those episodes. I like the ones where they, like, talk about programming for sure, but sometimes they go off on a tangent, and I just it just makes me laugh so hard. So, yeah, this is a little this is a little more focused than that, but definitely less focused than software social.
Colleen
Yes. Indeed.
Aaron
So hopefully you enjoy it. Okay. Well, that that can be our exciting outro. That's how we can end the show and just say, we'll talk to you next week.