mergeconflict316 === [00:00:00] James: Frank I saw on Twitter, an absolute tragedy. And it was your Twitter account. Frank, what happened to your drone? [00:00:21] Frank: Indeed, James. My Twitter account is full of tragedy. Uh thanks. Yeah, Sadro bone. Um, I lost my drone. We did a whole episode about this drone that we were, we were both so pleased with that. We did an entire episode of the show about, and then what, one week later, two weeks later I lost. I lost it, James, it decided to land in the water. I couldn't stop it. This is, these are the life decisions it chose. Oh, I didn't ask it to, uh, it decided to land on the water and turns out it's not good at landing on the water and decided to sink to the bottom of the water, which turns out is another life choice. It decided to make, [00:01:00] James: oh no, you know, that's crazy because. It's so light. How did it not [00:01:05] Frank: float? I know. Okay. So here's the thing. I I'll give the whole story, but truly, I thought it would float for a second. You know, like it, it looks like it would float for a second. It's it looks like a yellow, cheap plastic thing and yellow cheap plastic things float for a second or two. Um, so like even when it got. I'll tell the story from the beginning. I promise. Um, I didn't really like rush to get it because I'm like, it'll just flow and I'll scoop it up in a second, but no, it San like a rock . Oh my gosh. So it's not sealed up. Um, and the battery is indeed heavy. So I'm assuming the plasticy parts flood pretty much instantaneously, thus NA negating volume. Uh, if you're not sure how buoyancy works, it's real fun and simple. Weigh the thing measure its volume calculate its density. If that's less than the density of water, it floats. If it's greater than the density of water, it sinks. So, uh, yeah, we didn't have the volume advantage and it sync. So what happened, James? I was all inspired by our episode and decided to go kayaking. Because kayaking is fun. We're talking about doing summer things on the episode. I'm like, let's go kayak. And I did the one thing I think the user manual, uh, says, there's just literally one thing you're not supposed to do with this drone, which is operate it over water. And I decided to operate it while in a kayak in water. So you can guess what happened [00:02:31] James: oh, no. Oh, my goodness. Yeah, that sounds not good. [00:02:36] Frank: They always say don't operate on over water, but he, he, okay. Here's what happened? I, I put it in the simple mode as supposed to launch from your hand. Go straight up. Yep. And then it finds your face. It takes a picture and then lands on your hand again. Best mode ever. Simple, reliable. Right. Have you ever had that mode fail? [00:02:54] James: No, pretty much it well, yep. [00:02:57] Frank: Uh, oh, [00:02:58] James: I, I have had it. So here's the thing with the pixie that maybe you didn't realize is the pixie also has a do this thing for so long and then land. So yeah, there is a, basically it can fly away. It backs away from you and then, you know, does its thing. Then you need to go back to it and put your hand down. But if you wait too long, it will just land anyway. [00:03:27] Frank: Yeah. Okay. So this does play into the story. It did choose to do that another life decision it made. Um, and I did know that, but here's what really happened. So it lodges from my hand and it doesn't do the find your face thing. It just takes off oh, a random direction. To the point where the random direction it chose, some people are just hanging out on a houseboat and I thought it was gonna hit them. You know, it's, it's the classic, whenever drones go outta control, you're like, I don't even care about the drone at that point. I'm just trying not to murder anyone or get anyone hurt. And the thing is bee lining it straight toward this people. So I just yell over. I'm like, Hey, uh, heads up. Drone inbound. And at this point I'm thinking it's kind of funny and all that. I was expecting it to chill out and come back to me. But no, um, after a few minutes of just going as fast as it could across the water freaking out, it then decided to stop and make a beautiful, gentle landing on the top of the water. oh my gosh. [00:04:28] Frank: Uh, sat trombone. And the worst part is, um, we were actually pretty close to shore. We're just kayaking around. But, um, this is the shipping canal in Seattle and the shipping canal is very deep. It turns out. So I did, we did do diligence. Uh, we tried a magnet. We tried magnet fishing for a while. You know, not even sure if the magnet would grab it to be thoroughly honest. So we tried that for a while. I even jumped in the water and tried to swim around and grab it, but turns out the water's water is very murky and I wasn't having much luck at that. Oh man. Can I tell you even more extravagances we're going through to recover this drone? Yes, my friend was with me. Yes. The story continues. James. My friend was with me and decided to use his remote control submarine, drone to go and try to find my poor little pixie drone that is now buried in the water. By the way, I sent you a text message with a picture. Um, and that drone also, after an hour of operation could not find little drone, very sad. so today I went out to the spot one more time. The story is never gonna end. And I used my Mavic drone to take a top down photo at Nona clock so that the sun would be in the perfect position to get a perfect photograph of the area in which it was lost. And that's the photo I sent you. And there is no drone insight. So Sage operations continue James. Oh my gosh. What do you think of that? You know, at this. um, I'm just sad. This is user error. I messed up. I'm willing to pay the cost of the drone. Uh, I think you could benefit from it. I could send you a bunch of batteries, but at the same time, I'm having a little bit of fun as a summer project of recover drone and who knows what condition it'll be in if, when slash if I ever find it, but you know what, um, I'm, I'm willing to find. And I'm, I'd like to try to repair it to if found yeah. [00:06:33] James: Sorry. Are you. Are you interested in buying another one or are you just gonna no attempt to wait forever [00:06:40] Frank: on this? I had a quick answer to that one. You know, what was fun was I took my Maverick out to go take these pictures. Mm-hmm of it. And I had a lot of fun flying my Mak around and I was like, you know what? I love this little drone. So I'm back to just loving my old drone. Um, you know, I move on quickly. It's not good to dwell on things. The drone is lost. If it decides to make the life decision of coming back to me, or I find it and pull it back into the air, uh, then that'll be great. But otherwise I'm considering it lost. And I'm just gonna enjoy the new salvage operation working on this summer. [00:07:16] James: I I'm still sad. I'm still sad. [00:07:19] Frank: I know. I'm I'm covering my feelings. My true feelings are I'm super sad. That was dumb. Stupid. Frank don't operate your drones over water. Wow. Or at least not ones. You can't control robot drones are bad in water. [00:07:32] James: yeah. Robot, robot drones are bad. Yeah. Yeah. Well, now I know I'm definitely not gonna do what you did. So I feel positive about that. [00:07:40] Frank: Yeah. And I was risky before, like I was doing it on docks, like, you know, a by water. I was water adjacent. This was the first time directly over water. And I don't know. I okay. They say don't operate over the water, but who would've thought that it's failure mode would to be, to just go as fast as I can in a random direction? Yeah. I, I was not anticipating that failure mode. That's wild. [00:08:05] James: Hmm. Did you email snap? [00:08:10] Frank: That's what I would. I don't. I, what, what am I gonna say? Hey, I'm an idiot. I, I did the one thing the instructions told me not to do your drone was great until I broke the one rule you told me. That's true. Sorry. Hashtag human. . Yeah, that's [00:08:24] James: true. Ugh. Oh [00:08:26] Frank: my goodness. You know, I, I don't, I, I would feel bad if they offered to replace it. I I'm, I believe in, uh, guilt. And paying for your crimes. [00:08:38] James: that's true. Oh my goodness. Well, on that topic, let's talk about paying for Azure or. AWS or Google or any cloud provider. Cause Frank, I got an email that says, Hey, you got this old subscription. I was giving you some free credits and you got a bunch of stuff. Just lingering out. Maybe it's time to, to, to fix that up. And that got us on a topic. We were talking in our Patreon feed about that, um, about some cool services to get free stuff like free websites. And you were talking about a service from CloudFlare. The, the, the company that I know of CloudFlare is traditionally, Hey, be my DNS and C CDN pretty much and handle all this stuff for me, for all my websites. And it makes backup and HTTPS and redirects really smooth. I basically use them for all my websites that I host on other platforms like, you know, Monte Magno dot. Is, you know, hosted by ghost, but, you know, I have all the, um, DNS servers and all that stuff set up and CNAME stuff all set up through CloudFlare and it makes it really easy to set up new websites. And this podcast is, you know what? Frank, this podcast merge comm is on CloudFlare, a hundred percent. They have backups and all this jazz there, but you were using something else from [00:09:56] Frank: CloudFlare. Yeah. Yeah. Yeah. Uh, I love this topic or we gotta name this episode, like free, free ways to host your website. It should just be a YouTube video. You, you can steal this one. Yeah. Um, yeah, you actually introduced me to CloudFlare. This is all on you. Uh, and you introduced it to me because both of us were having a hard time with SSL certificates. Neither of us could figure out SSL. We're both terrible at it. I continue to be terrible. At it. Um, I do understand certificates. I do understand like a server can make a little private in public key and they can be distributed and they can trust each other and all that stuff. What I hate are the authorities, the people you have to get your certificates from the certificate authorities. I hate dealing with them. I know there's scripts. I've tried the scripts and they don't work. Anyway, you got me onto CloudFlare. You're just like, dude, it simplifies everything. So yeah. Use them for DNS. And they do all the SSL. Well, they introduced a. Thing called pages. Pages pages pages, and these are static websites and just kind of on a whim. I just wanted to try it out. And the concept is really simple. You point them to, in my case, a get repository, of course you can point 'em at different things. Uh, they download the repository. They'll even run some little build scripts. If you want them to you tell them a directory to host. Bingo Bango, uh, it's up and hosting. And I was really, I was, I was taken aback by their good UI it was, it was really smooth setting up a new CloudFlare pages thing and it re it's it's a lot like hub pages, which I host my blog on. So that's, you know, all these ways to get free websites, but I thought it was new and I thought it was really interesting and I liked it and I had to tell you about it. Yeah. [00:11:47] James: I was kind of curious immediately of how this differs from getup pages. Cuz you talked about before that I think your blog is a getup page, [00:11:53] Frank: correct? Yeah, exactly. Uh, so my blog is hosted by her pages. It's the repository is on GitHub and the blog engine is J which is what a lot of GitHub page, uh, thing. [00:12:07] James: Okay. That sounds [00:12:09] Frank: maybe very good. I, I, I, I like it. Um, it's worked well in the past. The one thing I don't like about it is the JLL part. I actually really like JAL. I like, uh, this concept of static websites versus dynamic websites. Mm-hmm and just think if you're not. If you're not familiar with this lingo, we're just going back to the 1990s when websites were just file hosts, basically with a few niceties added in the modern era. Uh, the neat thing is, um, uh, you can either just put all the files up directly into the repo, or like I said, you can run a little build script and then point it at a directory, the output of the build script. And it will host that. Yeah. Um, kind of, kind of love it. [00:12:54] James: Okay, that seems easy enough. Are there any limitations to either of the get up pages, like, you know, comparing and contrasting those two options? Cause I think we've talked about, get up pages. Sorry. Get up pages, not actions. Um, get up pages before, are there drawbacks? And now you're saying like, oh actually, you know, CloudFlare has given me all this extra goodness, cuz you said I'm break this down. It's like get up pages like it's already on GitHub and then CloudFlare pages. To point at GitHub. Right? So they're actually two different things in general, right? [00:13:27] Frank: Yeah, these are two different services, but gosh, it gets even more confusing. Like the build servers they use are Docker images provided by Microsoft and GitHub. So it's, it's all kinda, it's all a little bit of confusion, but, uh, it seems like all these companies are providing similar solutions of static websites. Uh, the difference is like GitHub will try to do like some, you know, they're gonna host it under doc hub pages or whatever, you know, doc GitHub domain. It's gonna be in the GitHub domain. Now they do have support for custom DNS and you can do some trick series and that kind of stuff. I've done that in the past. That's how larome.org is hosted on, uh, get hub pages. But in this case, um, I was impressed by a couple things from CloudFlare. One was it's just the UI. It's the UI, right? It was like three clicks and they had the build script running and it was very clear. It's very fast, you know, like I'm just impressed by the speed and you know, me, I'm, I'm a speed junkie. So just having fast UIs, like that was impressing me. And then on top of it, I was already using CloudFlare for my SSL because I get to see also I stink at SSL and it was trivial to just tell them, Hey, I want to use one of these CloudFlare domains and point it at this pages thing. And it just worked really smoothly. I, I, I like the decoupling a little bit. I don't feel like GitHub has to own my entire dev stack. And so I like a little bit of trying other companies for things. Anyway, mostly I was impressed by the UI. [00:14:58] James: yeah. And, and what I like about when I go to CloudFlare, Docs and pages is, is they have guides for every single, every single framework. I can imagine. There's blazer Gaby. Hexa Hugo jackle next JS N JS react, quick react, remix, Finks, spelt view, Zola angular, Astro, elder JS 11. And then anything else? It just deploy anything else? Um, yeah. What are you deploying? Are deploying a blazer app or are you doing something else? What are you deploying? H just HTML. Here's an HTML. [00:15:29] Frank: Yeah, just HTML. Here's an HTML page. Um, but what I'm doing is basically. Database dump into HTML. So the old way, not the old way, one of the ways you would write this is you would have a SQL server and you would have an asp.net website. And when you go to a page, a query SQL server for some data and renders that page, that is an. Excellent architecture for a website that is gonna have lots of dynamic content and lots of dynamic, this and that. But if you're doing a static website, well, you do all of that, but you just do it once and you dump out a million dot HTML files. And so that's what I'm doing. I have instead of a web. Web app. I actually, I kind of do have a web app, but it just loads up the web app and renders out every single page. okay. Which is time consuming, honestly. Um, I'm dumping out. Um, this is a little project I'll, I'll talk about it later, but it's something like a hundred thousand documents with cross referencing and that kind of stuff. Yeah. And so what I just have in the build script is it just downloads the database and then. LA generates the billion files and then, uh, that's what gets hosted. So it's kind of neat. I, I like that advancement over the 1990s where it's more like you can still kind of architect it nicely. Here's my data here. Here are my views. But, uh, if it's not dynamic content, as in like users, aren't submitting data, you might as well just make it static. [00:17:01] James: Yeah, no, it doesn't make, it makes a lot of sense. Right. And I think often when we look at. Different frameworks and architectures it's like, there is still interactivity with the website. Right? So when we say static, it just means that there's not necessarily what, what what's. Okay, well what's yeah. Break down the difference here for me, cuz I, yeah, I'm not even sure. Like if I go to the docs page, like docs, do microsoft.com. It is content, right? Yeah. Yeah. If I go to Monte, magna.com. Or I go to a dev blog or something like that. It's, it's querying a server for information and then displaying that information. Is that still static? Could that be static? What, you know [00:17:48] Frank: what, absolutely. Okay. Yeah. Yeah. Uh, so, uh, like pre clam.org, that's, uh, dev blog server, and that is a website. So when we say static, it doesn't mean it's permanently like that for the rest of eternity. What we mean is it's permanently like that until the next deployment until the next build server run. Until my next commit into the repo. When I commit into the repo, the website gets regenerated. Re-uploaded all that magic kind of stuff happens then. [00:18:19] James: Got it. The difference would be if you actually need a server server to execute logic, In the application, like the app could make a server call, but it's not like NBCC is a good example. Right. Or blazer server. There is a server with a signal, our connection that is yeah. Handling. It's not like it may do static content generation, but it still requires that real time connection to the server that's there. Yeah. Where obviously JavaScript can run in the browser, but I'm assuming Frank, that you could run a blazer web assembly app. Those run offline and there's no servers, right? [00:19:00] Frank: Is that. Ding ding ding. Yes, yes, yes. Yep. So this is gonna be like the optimal way to, uh, to serve out Wazo maps, uh, web assembly apps. Yep. Build it all up. Um, so yeah, the, the big dynamic things are like real time data. Those need to be dynamic. um, or user contributed data. If you're running a forum or something like that, you don't want the developer to have to run the build script. Anytime someone posts to a forum, that's stupid. Yeah. Um, but all that stuff is still achievable because like you said, you can run JavaScript and JavaScript can make API calls. Mm. So what a lot of these pages things also do. Offer functions. So, oh yeah. So these are your API functions and what a function does. Hey, sky's the limit, you know, so, um, it's kind of fun. I'll talk about the CloudFlare side, but there is a way to do this in Azure too. Um, you just put a slash functions directory into your static website, throw in a bunch of JavaScript files. Oh, now those JavaScript files don't run. Browser, they run on the server. And only when they're needed. So it's, it's the classic, you only pay for what you actually use. So now you're in a much more interesting architecture than what we were doing in the two thousands. So in the two thousands, it was, you have a SQL server. You have a web server, people make requests, the two talk to each other that dumps out HTML. Now it's a little bit different now it's the web server is just dumping out static files. Those aesthetic files can contain JavaScript that JavaScript does API calls to get data. Those API calls will be hosted by functions, not a server, because then you're only paying for what you actually use. You don't have to pay for the whole server and those functions can then, you know, get data. However they want. They could talk to a database or they could talk to a different web service, whatever. I, I really kind of love this new web app architecture, especially cuz. Pretty cheap compared to the old days. [00:21:08] James: yeah. So I'm, I'm reading the CloudFlare documentation. They, they have the thing it's called a. It's like a type script, uh, worker thing. It's like a CloudFlare [00:21:18] Frank: worker. Is that what a thing says? It's it's node it's node. Okay. It's running a node function. Okay. That's it, it it's just like if you put a node function up in Azure or something like that, uh, now I should say for them that's a beta feature. So the pages thing is fully released. The other nice thing about the pages. You get your SSL, you get it for your domain. Uh, plus it's put on a CDN. So hopefully you're getting worldwide delivery too. Whereas if you're doing like a hosted server, you know, just a single hosted server, you generally pick a data center. and, uh, you're not replicated around the world. The neat thing about static websites is they can just go up onto a CDN and be distributed everywhere. And then your functions, the dynamic part of the website. Uh, those can obviously be, uh, distributed to the only real bottleneck you have is your database, whatever you want to use for that for, uh, storing dynamic content. [00:22:12] James: Yeah, that makes a lot of sense, right? Because you can have APIs, but it's gotta do some stuff. I do like that. They have a, um, they have their, their default as sort of like a blog and it's like, oh, here you can return a list of blogs or whatever that are, you know, stored and the dates and the information which could then serve, you know, files like you can have files and then your website could parse those. Those, um, files basically that are coming from this API or are the APIs free then? Cuz they they're serverless. Right. I love, I love the server list cause there is a server, but you know, obviously, um, you know, they should have called 'em like static, static, uh, functions or something like that. You know what I mean? Because. [00:22:54] Frank: Yeah, well, it's just, they go well together. It's like peanut butter and show it's, it's a new way to architect apps and I'm really down for it. Um, what was the question? Is it free? How much? Yeah. Okay. So they're free under the beta and that's all they've said so far. So, um, pages are free. Up to limits. Uh, you asked earlier about some limits. I don't know, the, um, total website size limit. I haven't hit it yet, but, um, I do know there is a per file size limit of 25 megabytes. Yeah, it makes sense. So, yeah. So you're gonna wanna organize your website nicely. So you're not hosting any huge content, but that's just because that's the free tier, right? So yeah, when we get into the functions, because it's beta, they're free. Who knows, but so far Cloudflare's been really aggressive with pricing. So I, I imagine it's gonna be competitive. [00:23:46] James: I like that. That's pretty cool. Yeah. And yeah, that, that's neat. I see what they're doing here. Yeah. Well, if there are the workers, it says 15 cents per million requests, minimum of $5 a month. [00:23:59] Frank: Yeah, this is different technology on top of that. So the pricing may be different, but yeah, you could use that for a ballpark. Probably. It'll probably be similar. Yeah. [00:24:08] James: Now you said there's something in Azure as well. I'm assuming that everyone kind of has one of these, but there's an Azure one. I know I'm asking you your [00:24:16] Frank: sway and I, I I'm, I'm gonna sound so smart, James. Well, you know, I am on Microsoft MVP. I am aware of different things, but this one I was totally unaware of. So everyone the show started with, Hey James, I gotta tell you this free thing I'm getting. And James is like, you know what? Azure has that free thing too. That's right. You know what? Yeah. So it, it, it is this beautifully. Static web apps. I think they should have just called it pages. If everyone just calls it pages, then you are using Microsoft pages or using CloudFlare pages using GitHub pages by way. It's, uh, the Microsoft Azure static web apps, uh, just Google that it'll come up. It's got good SEO. And I, I didn't believe this because I always feel like Azure wants to nickel and dime you a little bit everywhere. Um, but they've totally got a free tier. The free tier is pretty impressive. I should start by saying this does pretty much everything. Uh, I was just talking about, uh, I don't know about the SSL stuff. I hope Azure ups its SSL game, but, um, uh, yeah, they've got this, James, do you believe that's [00:25:20] James: free SSL search, which are automatically renewed. [00:25:23] Frank: I'm beautiful. So yeah, everyone's learning the lesson. We don't wanna deal with SS UN unless you're like a bank or something, unless you're like literally holding people's money, we don't wanna deal with SSL. Uh, so [00:25:35] James: this is an interesting one because I, I obviously work at Microsoft. So I've worked, you know, relatively close with the Azure set web apps team and the functions team, because I wanna talk about that here a little bit. Cause I think if you're a Donnet developer. And you're listen this podcast. This may be your go to, because let me tell you why. Well, it does have all those features like you were talking about. Now, the difference here is that it has all the authentication, the custom domains, SSL, blah, blah, blah, blah, blah. But the difference is GitHub or CloudFlare pages linked into GitHub and GI labs, I believe. Um, and get an Azure static web apps. Is GitHub and Azure DevOps. So those are the two integration points that are there to deploy triggers and deployments, which makes sense, because it's a Microsoft service. So it integrates with Microsoft services, but who knows? It could obviously open that up in the future. It's just files and stuff like that. I assume there's not anything special happening on getup. It's just like is pointing at and they have the web hook at work. Correct. There's something like else happening on GitHub beyond that with your pages. [00:26:42] Frank: Uh, yeah, I, I'm not an expert in any of this kind of, oh, I, no, I am saying correct. Yes. Um, , I'm just realizing like, um, there, these are all so similar. It is kind of hard to tell them apart and what, like what does one offer versus the others, but yeah, I'm gonna agree with you there. Okay. [00:27:03] James: Got it. That makes sense. Um, yeah. Cool. The perk here, I think, is that just like, you know, pages, you know, integrates with everything there's they, they say there's like three things that you can do a static web apps. They should put this at the front, but it's like, build modern web apps, publish static websites, deploy web apps with frameworks, like next JS. And next JS, they say published at sites with Gatsby Hugo view press, but here's the bonus. So it's like, if you have an, a. That uses angular reacts filter view. You're good to go. Or you can use blazer and web assembly. And instead of using JavaScript, Frank mm-hmm what if you could use Azure functions? That support, no js.net and Python as your backend for your Azure set web apps. That would be pretty cool. Right. [00:28:00] Frank: So that is pretty cool. uh, yeah, so that's what, that's what I really perked up about. When you were telling me this, because it's like, okay. Azure pages. So they just did something fancy with blob storage. Cool. But in this case, um, it's the integration with the functions. It means I can take my gobs of code that I've written for the last 10 years and easily host it up. And you know, when we talked about this, like several years ago, when you, when you were first getting into Azure functions, I'd been meaning. Start architecting my websites like that, but I just haven't been mm-hmm , but I think I'm totally gonna switch to the style. It's just so much better. Uh, and for instance, I have a, I have like NBC websites that are basically just API servers and they're just begging to be switched over to like Azure functions. So I am excited to switch all those over to Azure function. And then host the majority of the website is just static, HTML and images. Cause that's all, anything is and yeah. Be happy. [00:29:03] James: This is a pretty cool new world. Like, is this the thing that they call the jam jam stack? What the jam? [00:29:08] Frank: Ooh, we're not web developers. We're gonna get this wrong. Yeah. Is there a cool name for this jam [00:29:14] James: stack? Because I know jams stack and architecture designed to make web faster, more. Uh, this is marketing shenanigans pre rendering. Yeah. With the jam stack, the entire front end is pre-built into highly automatic static pages. Yeah and assets during bill. So I guess we're jam stacking it up. Are we jam? Are we jams? Stackers? Cool. [00:29:33] Frank: This is the thing we're jam stacking. I, I know like the F shoppers have like the safe stack and now I, now I feel like we're gonna have to do an episode on the safe stack. It'll be the jams stack versus the safe stack jam stack. I love all this stuff. Yeah, I'm sure there are people listening be like, oh my God guys, I can't believe you're kind of late to all this, but here's the. Um, I, I didn't run into this until I was like, I don't wanna pay for websites. mm-hmm so like I knew this was possible. I didn't know how cheap it was, James. I'm like, you know, if you can get your website, I, I think I'm actually just seeing the max sized. Per deployment for Azure static websites is 0.2, five gigabytes for the free version, which is 250 megabytes. Um, so if you can get your website down to 250 megabytes static, and then do the rest of your dynamic stuff through the functions, totally switching over there, they do have a pricing plan, so they can't get money from you $9 a month. And you're up to the two gigabytes. Okay. Uh, yeah, so that that's, that's what you get for $9 a month. well, that's not [00:30:36] James: bad at all. That's impressive. I mean, that's way cheaper than having a server because the cheapest server estimate is like $10 a month, I think. Yeah. For like a, B or S a B one bucket or a, and that's like dev test, right? We're talking like this is production level stuff. That's happening here. [00:30:57] Frank: Yeah, and they do a great job. Like I, I like how we've been moving up the abstraction level and all this kind of stuff. You and I, we're always just trying to look for the simplest and cheapest servers we can get. But if you think about like what you used to go through in the old days, you would buy a server and set it up. That was terrible. So then we got hosted servers that was a little bit better. Then we started getting virtual machines that was even better. Uh, then we started doing the Dockers. Then we started to do, um, I don't know, just, uh, it just feels like I don't ever wanna run a server, you know? And so we're, we're getting the server list thing. You were making fun of it earlier, but truly I, I am a hundred percent on board for the serverless world where I'm just saying, look, I got a bunch of files, bunch of code. I want you to run and some data and some random URL , uh, do the rest. And I think that's. [00:31:47] James: It's true. It's sort of in, in, in the past, you know, the default is file, right? Click published, gimme a server because it, you know, it's just gonna work no matter what your architect is like and go and do it and be off and be happy, tried and true. That's tried and true internet. Yeah. But if you take a step back and it's like, Hey, let me think about what are the potential options for this app server, whatever. Then how do we move that forward? Basically? [00:32:15] Frank: Yeah. Yeah. Uh, okay. Can I say one bad thing about this Snoop brave world we're in? Okay. I'm. For one app, let's just use high level term here. An app. I have four repositories oh my gosh. To make all this stuff work. I have a repository for the neural network because it requires a neural network. And I want someone else to host the neural network. So that's a whole repository. It has a repository to generate the website. Uh, like, uh, scripts and things like that. Okay. It has another website to just host the data, cuz I gotta put the data somewhere and then it has another website to run or sorry for website and then another repo to have the API. So it's just, it's a mess. I, and I, that's kind of how this world works. Like in its simplest version. Now I could combine all those repos into like one giant repo, but not all these services are great at, like, if they see, if they see some weird code in the repo, they might try to execute it. You know, a lot of these automatic build scripts. Superbly genius . And so I do find that the safest way to go about this is to have a co a few different repos to make it all work. I'm just realizing I should do like one parent repo that has like sub repos, but no, let's not get into that. That sounds terrible. Uh, so versioning can be a little bit weird between my different, uh, repositories, but overall, I still think this is a good architecture. [00:33:48] James: I love it. I love learning about this stuff and I need to go do more stuff there. I know there's like docs and learn modules and other stuff like that. And yeah, I'm curious, you know, if you're using some jam stack staticy stuff, let us know in merge conflict, do FM. That'd be for sure. There's a contact button. There's a disc or there's all that stuff. I'll be super interested to learn what people are using. To be honest with you, I'd be super interested. So [00:34:12] Frank: yeah. Who who needs a website over 250 megabytes? No, one's gonna read that. No, no, [00:34:19] James: no. One's gonna read that. No one wants that. So. All right. Well, I think that that might do it. Frank, what do you think? [00:34:28] Frank: Yeah, I, I think we can, can, should we, we only name three companies. I'm sure Amazon's got some offerings here. I just wanna make sure that we earn the title. How, how to host your website for free or whatever you choose to name this at this. [00:34:41] James: That's what it's gonna be named. I'll do my best, [00:34:45] Frank: so, okay. Yeah. Sorry, Amazon. I don't know the name of your service. I'm sure you have a competitor because you're all being so competitive. Yes, [00:34:53] James: they have to. And Google. God [00:34:55] Frank: there. Oh, I'm yeah. Uh, Google's had like 800 different web hosting things. I'm I'm a little too burnt out on Google to use them as a web host ever again. Oh, sorry. Didn't mean to say something negative. . Nope. [00:35:06] James: Well, on that note I think we'll end this podcast. All right, everyone. Thanks for tuning in to this week's merch conflict, your weekly development podcast, talking about all things about how to get stuff for free. Um, if you have any. Go ahead and, uh, head over to merge conflict. Dom hit us up on Twitter at James Monte Magno at pro Clara podcast at merch conflict. FM of course, there's a website, there's a pat patron button. There's a whole bunch of stuff. We put it on a bonus episode every single week for our Paton subscribers by every meet week. I mean almost every week, basically for everybody there. And of course, don't forget to leave reviews, comments, things, you know what to do, all the things that every podcast tells you, but it's gonna do for this week. So until next time I'm, Jay's about to mag. [00:35:45] Frank: And I'm Frank Kruger. Thanks for listening.