Old Man Yells at Walmart and Wants to Cover Sky in Gold Dome

Episode 44 May 20, 2025 1h 4m

From political deals to AI bias and missile defense fantasies

Episode Description

In this episode, Mike and Nate dive into Corey Booker's approval of Charles Kushner and his past connections with Trump, including a 2013 fundraiser hosted by Ivanka. They analyze Walmart's response to Trump's tariff warnings and how corporations pass these costs to consumers. The conversation shifts to Grok AI's concerning behavior, where it inexplicably inserted content about white genocide in South Africa, leading to questions about Elon Musk's influence and the trustworthiness of closed-source AI models. They discuss the 2024 election analysis, examining Harris's loss and the shifting demographics of Democratic support. The episode concludes with Trump's announcement of the "Golden Dome" missile defense system, analyzing its feasibility, cost implications, and the administration's disregard for budget concerns.

Show Notes

Transcript

00:00:00

Mike Smith: Hooray for transcribing. Welcome to the Blue Cedition podcast. Today we're talking about a poker app.
Nathan Brady: Oh,
Mike Smith: The first thing we need is login and register needs to clear the game cache or or we need to have a homepage that doesn't actually query the game cache because it's uh it's caching all the games on that request and we need to have it not do that. Um and then what we just talked about was can
Nathan Brady: heat.
Mike Smith: we get the game screen to actually default to playing uh if you're a host, which is fine. I can do that. Um I haven't done it yet. Uh but I haven't gotten to the point where I'm ready to start playing with clients, like other users yet. Um, but we're we're getting there. I want to present something else. Present the other thing. There you go. So, this was the the thing that it runs locally. You run it's like npx firebase emulators or something.

00:01:21

Nathan Brady: Okay.
Mike Smith: And after you've initialized your project, which is stored with the project, so you don't have to do it if you wanted to run this locally. We've configured it to do the authentication emulator, the fire store emulator, and the hosting emulator. So like that's the website that I was telling you about. This is running it from my local, right? Because it's on 127 whatever. Um, but it's the same site that I was showing you that's published there. So when I do a deploy, this gets deployed to web. And when I do a full deploy, the fire store gets deployed and authentication gets deployed. So like when you go here now, you can see here's that test user that I was that I registered in the app tested.com. And you can do a lot here. I don't know why it just shows me the password in plain text. Feels like don't do that. Um
Nathan Brady: feels
Mike Smith: so I need to
Nathan Brady: bad.
Mike Smith: Yeah, need to figure that one out.

00:02:18

Mike Smith: Um
Nathan Brady: Are
Mike Smith: this
Nathan Brady: are you
Mike Smith: is
Nathan Brady: saying that this is available for anybody to hit though? I don't understand.
Mike Smith: no this is a locally run thing.
Nathan Brady: But
Mike Smith: So my
Nathan Brady: what about
Mike Smith: suspicion
Nathan Brady: the other thing that you're showing me like the
Mike Smith: is
Nathan Brady: one that's available on the open web when we deploy
Mike Smith: when we deploy that's
Nathan Brady: that?
Mike Smith: yeah literally the website that we are in control of. So they give us a hosting option where we can have an SPA that's completely
Nathan Brady: Oh,
Mike Smith: different from this emulator suite that you're running locally
Nathan Brady: got it.
Mike Smith: only.
Nathan Brady: Okay. Okay.
Mike Smith: And
Nathan Brady: Got
Mike Smith: my
Nathan Brady: it.
Mike Smith: my expectation is that locally only they have it so that your password's stored in plain text and
Nathan Brady: Yeah,
Mike Smith: like their
Nathan Brady: it's fine.
Mike Smith: library just does whatever.
Nathan Brady: Fine.
Mike Smith: Uh

00:02:58

Nathan Brady: Okay.
Mike Smith: but I mean it's pretty cool and they show you like what you can do with it because you can do verified or not and you can do a photo URL for the user and you can add custom claims if you need them. Yeah, there's a lot you can do here apparently. you can turn on MFA and I'm not really sure how, you know, that works specifically, but they have a lot built into their their library that you can just leverage. The fire store is literally what I was showing you that video of. It's that game. So, we have a collection called games. It's got an ID or a document that we started. That's my game that I just created, you know. Um, and it's easy peasy. And like as you're watching it here, I think I
Nathan Brady: Yeah.
Mike Smith: showed you this.
Nathan Brady: Yeah,
Mike Smith: There's
Nathan Brady: you
Mike Smith: like
Nathan Brady: did.
Mike Smith: there's nobody invited. And if I go I'm playing now.

00:03:49

Mike Smith: It
Nathan Brady: That's
Mike Smith: says
Nathan Brady: super
Mike Smith: now
Nathan Brady: cool.
Mike Smith: tested example is invited. And if I go I'm sitting at slot one, it's like now at the table under slot zero. There he is. If I switch to slot two, moves me down there.
Nathan Brady: That's
Mike Smith: I mean,
Nathan Brady: super cool.
Mike Smith: it's very cool. It's fun. It's fun to see that happen live when you're like trying to debug stuff and you're like, "Oh my god.
Nathan Brady: Yeah, that's really cool.
Mike Smith: Mhm.
Nathan Brady: Okay. All right, Firebase.
Mike Smith: All right, Firebase. But now I have to show you the the stuff that you'll hate because that's the fun part for me.
Nathan Brady: Oh, you love it.
Mike Smith: Just because you hate it. That's the only reason why. So
Nathan Brady: All right.
Mike Smith: give me give me my cursor.
Nathan Brady: All
Mike Smith: So Firebase is largely free. Let me show you stuff that you might like first.

00:04:39

Mike Smith: So here's our O code, right? They have this um here's login. They have sign in with email and password provided through their library like
Nathan Brady: right, cool.
Mike Smith: you know simple. Um they have get current user is like O is a is an object that we've exported from
Nathan Brady: their library. Yeah.
Mike Smith: our Yeah, exactly. So like when the app starts you set up your Firebase config and this is what I was talking about yesterday. It has an API key and offmain a project etc etc and this is published with your application and from their documentation it doesn't matter if it's react native it doesn't matter if it's native web or native mobile this is going to be publicly available which I don't really understand how that can be secure but here we are.
Nathan Brady: I mean, how how how what stops me
Mike Smith: Yeah.
Nathan Brady: from copying this and deploying my own app with this exact config?
Mike Smith: So, nothing. But as I understand it, you would have to do some pretty heavy spoofing or or you know, just whatever of the request headers coming in to make it look like it's coming from our systems because for right now, where is this button?

00:06:01

Mike Smith: Baby, our app JSON and more importantly, I think our Firebase JSON. Nope. App JSON was correct.
Nathan Brady: What about that Firebase ERC file?
Mike Smith: Yeah, Firebase RC. There's nothing there except telling us what the the default project for our uh file store is. Whoops. Mainly what it cares about is that this file says check out your Firebase JSON your Firebase. Well, that's what this is. Excuse me. Oh, it's saying hosting. It's like the public directories called public. Might as well show you that. That's the spa that we were just talking about. And it's
Nathan Brady: Yeah.
Mike Smith: like here's all the things you can do. And I haven't touched it. And then it says when you do a publish, just ignore that and some of these and node modules. So, okay, fine. Um, but uh where's the damn thing? Right, the app.json. This is a expo react native thing. It's saying here's the Android build and our package name is com evermore dev lock it up and we have this Google services file which you downloaded from Firebase

00:07:24

Nathan Brady: So it's
Mike Smith: and
Nathan Brady: right
Mike Smith: it's
Nathan Brady: there. Google it. Show me that.
Mike Smith: yeah and this one just has some it's it's more of the same but it's it's going to have your project number which was in our
Nathan Brady: Fine.
Mike Smith: whatever file I was looking at the Firebase file. Uh, and it just is going to make it so that you have like here's a current key for your API key that you're going to hit, but this is still published with the application and it's no different from this key.
Nathan Brady: So what I don't understand the project ID is there too.
Mike Smith: Oh, no. This is actually a different key. It's for something else, I guess. The app ID. I don't know. I don't know, man. We'd have to dig into it a lot. the entire you know internet uses it. So
Nathan Brady: I know. That's why I come across them and I'm like, I don't understand like what can't I do stuff with this?

00:08:16

Nathan Brady: I had never tried, but feels like I can, man.
Mike Smith: right um I'm looking at something over here. So uh okay so this is the part that I think is the answer is that you basically are hosting a public API that anyone can hit and because it is backend as a service you need to set up the rules for that backend. Oh I don't have the thing installed. Uh,
Nathan Brady: Mhm.
Mike Smith: okay. So, you set up fire store rules, which is what your backend is defined by. That was the thing that I was showing with you is the fire store. That's all you really care about. So, ignore all these things. It's it says at the top we have our service for the cloud fire store. We have our documents that we cared about. That's the same thing I showed you before. And we get down to in this match. This is the like next match. Um I had a bunch of helper functions up here that aren't super interesting, but you can understand this much.

00:09:41

Mike Smith: So I'm in my fire store on my database and I'm matching on my game ID.
Nathan Brady: Yeah.
Mike Smith: I'm allowing you to create a new game if you're authenticated and your host ID and you know like if if if you're trying to create a new a new game and you're going to be the host of that game. That's what this first line says and it says if players joined as a list and players invited is a list and the table is a list you're allowed to create it because you're an authenticated user at that point. That means you can be a host. So now whenever you try and do that create that that you know HTTP create or HTTP post or put or whatever it is um it it checks the it like runs this code and booleans as to whether or not you are allowed to do it. So my is authenticated function just literally says if you have an off this is this gets injected on any real request from our system you could fudge this because this is just going to be headers and junk like I said but at that point you have a valid token and you could you know put that into Postman or whatever and then you could you could validate this right it's no different from here.

00:11:05

Mike Smith: Um, if I'm like, "Here's my JWT," you can be like, "Well, now I can create, you know, I can do stuff on your behalf." It's like, that's always been true. Nothing's different there, right?
Nathan Brady: I don't know. I'm not really following why I need this. Like, why is this rules file not just regular business logic? like when I'm going to create a game or going to do whatever, why why is this needed
Mike Smith: Because this is what controls this is how Firebase controls your backend logic. Since they're offering you a backend as a service, they needed to have a uniform way of doing back-end rules and restrictions and this is the mechanism that they give you. So like the update
Nathan Brady: like
Mike Smith: one is okay delete's pretty simple to understand. Can I in the context of my database and game delete? The answer is if you're authenticated and the host ID of the resource you're trying to delete equals the authenticated users
Nathan Brady: Okay.
Mike Smith: UID, then
Nathan Brady: Okay.

00:12:12

Mike Smith: yeah, you can delete that because it's yours.
Nathan Brady: Fine. But let me let me back up a second though. Is this just like an extra layer of protection? Like it sounds like I don't need this at all cuz isn't your business logic when somebody clicks clicks the delete button. Okay, you're you're obvious you have to be authenticated. This has to be your game. You have to be the host. Now I'll make the Firebase call to delete it.
Mike Smith: Right. So you can Exactly. So you could think of it in like if I had a form for registration, right? And I have that that thing that says passwords have to be equal, right? Okay. You can enforce that on the client, which I do. I make it so that if the passwords aren't the same and you hit submit, it says the passwords aren't aren't the same and it never does that request. But you could theoretically like steal your own JWT and make that request from Postman as an example and try and submit logic or try and submit a an email, a password, and a confirm password that does not equal it, right?

00:13:19

Mike Smith: And and this is contrived, so who really cares? But you have examples where you would really care if someone could bypass your client logic and do
Nathan Brady: But
Mike Smith: something
Nathan Brady: that just
Mike Smith: potentially
Nathan Brady: means they have your
Mike Smith: malicious.
Nathan Brady: database credentials.
Mike Smith: Huh?
Nathan Brady: But that that would mean they have your credentials like or they have they have your because you're hitting an API and
Mike Smith: Yeah.
Nathan Brady: then that would you you're sending a post request with information to an API and then the business logic in your API is like no you can't do
Mike Smith: Right? That's what this is. So this is the only place that you have control over that for Firebase. So for instance, this is specific again to my database and my game. I want to allow people to update a game ID. I should say this is any game ID and this is any database ID. But let's say I create a game and you are an authenticated user, can you update that game ID?

00:14:20

Mike Smith: Right? So we have logic here that says if you're the host of that game and that ho or if you're if sorry this seems derivative. I need to probably fix this. This seems like
Nathan Brady: Let
Mike Smith: that
Nathan Brady: me
Mike Smith: one
Nathan Brady: let
Mike Smith: is
Nathan Brady: me let me take a step back because I totally understand what you're saying here, but it's
Mike Smith: Yeah.
Nathan Brady: not making sense to me in that Let me ask you let me ask you this question. If I downloaded our APK and I saw these rules and
Mike Smith: Mhm.
Nathan Brady: I determined that you screwed up in these rules, you're saying that I could then make a call to the database to let's say you didn't have that allow delete if like you only put allow delete if is authenticated. Are you telling
Mike Smith: Yeah.
Nathan Brady: me that I could delete like I could craft a request that would delete a game that isn't mine?
Mike Smith: Yes.
Nathan Brady: Jesus
Mike Smith: Now you can't

00:15:10

Nathan Brady: Christ.
Mike Smith: you can't download this because this isn't this isn't sent anywhere except fire store.
Nathan Brady: Okay. So, these fire store rules don't go up with the APK.
Mike Smith: Correct.
Nathan Brady: Okay. Okay.
Mike Smith: But but this is the mechanism by which you tell Fire Store don't let people delete games that don't belong to them or you know they don't they're not part of or don't allow people to update the joined list if they're not supposed to like like my my joined list lets me like click on and off the table. It has rules here that are like
Nathan Brady: Oh
Mike Smith: here's
Nathan Brady: my
Mike Smith: the the
Nathan Brady: god.
Mike Smith: I mean it's just the business logic, right? Like that you would build this in in
Nathan Brady: Yeah. But I mean, are you saying that like if I have a a a big application that all of my rules for every table, every call, every database interaction has to be in this file?
Mike Smith: dug into it too much.

00:16:11

Mike Smith: Um, but let's say the answer is maybe. I mean, I can do this too. So I can be like,
Nathan Brady: I need to learn more about Firestorm because I'm not grocking this very well.
Mike Smith: sure. Oh god, don't do it. Stop. Stop.
Nathan Brady: Well,
Mike Smith: I just wanted
Nathan Brady: that's
Mike Smith: the answer. I just wanted the answer, man.
Nathan Brady: See, see, but you wanted this. You wanted it to just do things, remember?
Mike Smith: Yeah, but I asked a question. I didn't say do it. So, that's the difference. But yeah, I guess the answer is that there is a way to break out your rules into a, you know, a rules directory and then make the the fire uh base deploy command just run all those rules. But yeah, this is how basically you're you're you're defining your whether or not things can happen business logic. So, this is the part that I knew you would hate.
Nathan Brady: Yeah, I hate it.

00:17:39

Mike Smith: You don't you don't like it.
Nathan Brady: I mean, I hate it because I don't understand it, right? That's how we
Mike Smith: Sure.
Nathan Brady: work.
Mike Smith: I mean, you do understand it. You're like, "This is a game. Am
Nathan Brady: I
Mike Smith: I allowed to
Nathan Brady: No,
Mike Smith: update
Nathan Brady: no,
Mike Smith: it?"
Nathan Brady: no.
Mike Smith: You're like, "You
Nathan Brady: Sorry.
Mike Smith: are, and here's a big convoluted way to to say what you
Nathan Brady: That's
Mike Smith: can and
Nathan Brady: the
Mike Smith: cannot
Nathan Brady: problem.
Mike Smith: do."
Nathan Brady: Like I don't understand why why this way. Um, and
Mike Smith: This
Nathan Brady: what
Mike Smith: says
Nathan Brady: even
Mike Smith: if
Nathan Brady: is
Mike Smith: you're
Nathan Brady: is
Mike Smith: the host,
Nathan Brady: this?
Mike Smith: you can update anything. This says if we're only talking about the table, then if it revolves in a valid table at the end of it, then yeah, you can you can update it. If if um we're only talking about players joined with that game, then you know, yeah, you can update it under

00:18:22

Nathan Brady: Now,
Mike Smith: these sets of rules.
Nathan Brady: for instance, for instance, I am a host and I'm create I've created a game and you are a random user of the site.
Mike Smith: Yep.
Nathan Brady: I have not invited you.
Mike Smith: Sure.
Nathan Brady: According to your rules here, you could read this game.
Mike Smith: Yeah.
Nathan Brady: Okay, that's bad, right?
Mike Smith: Well, we we didn't have it that way. Um, basically if you find a game, right, then
Nathan Brady: We don't
Mike Smith: so
Nathan Brady: want
Mike Smith: like,
Nathan Brady: you to find
Mike Smith: huh,
Nathan Brady: We don't want you to find We don't want you to be able to browse games.
Mike Smith: you're not going to browse games. The the site doesn't support that. What what it what does happen here is that if somebody gives you a key because all of these things are just routes, right? So if let's pretend you just could edit the route
Nathan Brady: Somebody
Mike Smith: that
Nathan Brady: gives
Mike Smith: you're in
Nathan Brady: you
Mike Smith: in

00:19:19

Nathan Brady: a QR
Mike Smith: this,
Nathan Brady: code, you need to be able to read the game,
Mike Smith: you need to be able to read the game. So, it's not discoverable in the sense that
Nathan Brady: right?
Mike Smith: in order for a game to be discoverable, you'd have to do this spoofing nonsense and start making
Nathan Brady: Yeah.
Mike Smith: requests for like, you know, give me all the docs that have that are
Nathan Brady: Yeah.
Mike Smith: from games,
Nathan Brady: Gotcha.
Mike Smith: but also you'd have to guess the game IDs and, you
Nathan Brady: Do
Mike Smith: know,
Nathan Brady: you have to guess the game IDs? Like can I list game? Like I don't understand.
Mike Smith: there is no there is no match for list games. So, that functionality doesn't exist right now.
Nathan Brady: There is no match for list games. Okay.
Mike Smith: Or maybe
Nathan Brady: All right.
Mike Smith: I'm wrong. Maybe I'm wrong. I don't actually know because I'm like looking at that emulator site suite again and I'm like, well, there is a collection called games.

00:20:06

Nathan Brady: You're right.
Mike Smith: Um,
Nathan Brady: And you're not specifically saying I can't.
Mike Smith: yeah, I just don't know because these rules are are inbound rules whereas the admin has a lot of stuff that like works around it, I think. So maybe
Nathan Brady: All right.
Mike Smith: I'm saying we're only going to allow you to get, you know, a game in game collections because we don't have a match for slash games and who's allowed to do that. So maybe it's that's probably disallowed by default.
Nathan Brady: Okay, I'm interested.
Mike Smith: What if I do this? What if I ask the thing
Nathan Brady: What if I ask the thing? I want you to ask the thing.
Mike Smith: Has it been slower for you lately?
Nathan Brady: has what been slower for me?
Mike Smith: The bot. Oh,
Nathan Brady: Oh,
Mike Smith: he says yes.
Nathan Brady: um I don't What What are you Are you on auto?
Mike Smith: Yeah,
Nathan Brady: Yeah. I don't know. Uh,
Mike Smith: this means that an any authenticated user can list all the games in the collection.

00:21:26

Mike Smith: That's true. Um, so like let's let's say you you want I
Nathan Brady: I
Mike Smith: won't
Nathan Brady: want to
Mike Smith: do
Nathan Brady: make
Mike Smith: it
Nathan Brady: it
Mike Smith: with the bot
Nathan Brady: so that
Mike Smith: now.
Nathan Brady: you
Mike Smith: You
Nathan Brady: can read
Mike Smith: want to
Nathan Brady: a
Mike Smith: make
Nathan Brady: specific
Mike Smith: it
Nathan Brady: game ID.
Mike Smith: Huh?
Nathan Brady: I want to make it so that you can read a game if you have the ID. Like
Mike Smith: which
Nathan Brady: that's
Mike Smith: but
Nathan Brady: what
Mike Smith: it's
Nathan Brady: I
Mike Smith: not
Nathan Brady: would
Mike Smith: this
Nathan Brady: expect your game. That's what I expect line 88 actually says.
Mike Smith: apparent the store um apparently
Nathan Brady: But
Mike Smith: not.
Nathan Brady: yeah,
Mike Smith: So I will change it so that you cannot discover games via the list but if you have an an ID to a valid game you
Nathan Brady: right.
Mike Smith: can read its data because you have been tantamount to invited to it.

00:22:10

Nathan Brady: This is wild to me, man. This mean like I think people got to be f****** this up.
Mike Smith: Mhm. I wouldn't be surprised if that were true. In fact, um, so one thing I did Oh, an update's available is, uh, I don't know if you're going to be able to see this either, is I did, uh, npm run test something something, I don't remember what it called. Uh, rules. And what this does is Huh? Oh, do I not need run? Oh, I I see. I have tests and rules. I'm going test rules. So, I added build some tests to prove out that, you know, our stuff works as expected. And you can see these permission denied popping up here. So I have tests
Nathan Brady: Yeah.
Mike Smith: that are like make sure that users can't, you know, kick people out of their seats unless they're the host and things like that. So I could easily add a test to this that's like make

00:23:32

Nathan Brady: Cool.
Mike Smith: it so that I can't, you know, list all the games in the system. I can only see the games that I'm part of, things like that. Um, and it's part of CI/CD now, so it'll check all that stuff when I push and it'll send me an email when I break it.
Nathan Brady: Awesome.
Mike Smith: Yeah.
Nathan Brady: Yeah. I I'm I'm uh I I want to build a client like a really quick client that like hey if I have your key and project ID and all that stuff can I access fire store? Um but I guess I would need to be authenticated.
Mike Smith: You're right. But in a lot of cases, the authenticated schema is public as well.
Nathan Brady: Yeah.
Mike Smith: They they usually have a registration that you can do publicly.
Nathan Brady: Right.
Mike Smith: So you can get in here and like I said, you're just playing with JWTs at that point.
Nathan Brady: I'm gonna mess with this.
Mike Smith: You should mess with this.
Nathan Brady: What do
Mike Smith: Oh,

00:24:36

Nathan Brady: you want?
Mike Smith: nice. Okay. Um I'm g stop sharing this. I'm gonna update cursor because why not? Anyway, the one thing that I'll say is that um it's really easy to prototype, but I agree with you that the that the foot guns available are unbelievable
Nathan Brady: Seems
Mike Smith: because
Nathan Brady: like
Mike Smith: by default when you do an init like a project init or file wait Firebase whatever it creates that rule set for you but it's basically empty and says basically if you're authenticated you can do it. So as you're building out your documents and stuff, any authenticated user can just can just query it if they have, you know, the right the right details and stuff. And
Nathan Brady: right?
Mike Smith: like I was telling you, like I'll even I can give it to you. I don't give a s***. If you had this, I'm going to paste it in titi. It's good. God, Slack, you were so f****** slow. If you had this um then you could set up a Firebase like locally uh like a a web you know just index.html and import their scripts and initialize it and then you could be like firebase.doccks.query query and you could just try running against our system using nothing but the Firebase API and and this SDK I mean and this configuration file that that's going to be on the

00:26:17

Mike Smith: website anyway.
Nathan Brady: Wow. I'm gonna Yeah, I'm going to do some research because maybe there's just something missing.
Mike Smith: Yeah. I mean it's it's Google and it's trusted by everyone. So
Nathan Brady: Sure.
Mike Smith: we
Nathan Brady: Yeah.
Mike Smith: we
Nathan Brady: I mean,
Mike Smith: have to be
Nathan Brady: clearly
Mike Smith: missing
Nathan Brady: missing
Mike Smith: something,
Nathan Brady: something. Yeah.
Mike Smith: right? But again, they they even if you were because that's a use case of theirs. If you go to their thing, firebase.com. Yeah, good. Thank you. Thank you for that. If you go to their uh documents and you go to is it run and do No, not that. Not run. You don't want to do run. You want to do probably fundamentals. Yeah. Get started with Firebase. Add it to an app web. And so like can I link directly to this
Nathan Brady: Oh, good. We're going to lose in extra innings again.

00:27:30

Nathan Brady: I'm going to f****** kill someone,
Mike Smith: We lost at regular innings. So,
Nathan Brady: dude.
Mike Smith: here's
Nathan Brady: We
Mike Smith: like the web setup and you can see like the only thing they care about is that you have Firebase installed and then you have this like web app. Maybe this is a React app. Like it doesn't matter. It's like get your initialize app, put your Firebase config here and call initialize. And now your HTT uh HTML can use this app thing, you know, access Firebase in your app. I'm going to call app uh or collection db and cities. Like if you know anything about the schema of the the database that you're the fire store you're trying to discuss or talk with, you can run these queries if you've connect if you've configed it right.
Nathan Brady: Yeah, that's what I'm saying.
Mike Smith: And and like I said, just about everybody um I just I'll paste this because why not? But like you won't care about any of this except that everybody has this get off thing because that's the Firebase authentication.

00:28:47

Mike Smith: And so on that same link that I just sent you, you could be like o, you know,
Nathan Brady: Yeah.
Mike Smith: register. And once you get that working, you're like, well, now my API like this, I'm connected to that Firebase and I can do whatever I want. And they gave me back credentials to make this work. So now I'm an authenticated user. And if they hadn't if if like I showed you, if they haven't hardened their business logic for who can and who cannot do these actions, I'm sure a little introspection toward their schema can like yield like you I asked the bot if we could query the games and it's like yeah sure collection.game what do you got? Show me all and it'll give you back what is available to you.
Nathan Brady: Wow. All right. I'm going to mess with it.
Mike Smith: All right. I don't know. I I I find it interesting, but it also it's it's I forget the word they used for it, but it's like

00:29:49

Nathan Brady: All
Mike Smith: you can't do things like get me my games and it just does the business logic of filtering it down to your games. You either can get all of the games in the document or you cannot. And you can can get a single game in the document or you cannot. So it's just a yes or no in these business rules.
Nathan Brady: right.
Mike Smith: And it and it does have dynamic. So it's like that game uh identified by that ID or not. So I don't know. It's really interesting.
Nathan Brady: All right.
Mike Smith: And it it lets me fly. I mean, I'm I'm building out the back end and and running it locally and seeing the data, you know, change as I make changes.
Nathan Brady: Yeah.
Mike Smith: Let's see. We'll have more tickets out of this meeting, I'm sure.
Nathan Brady: Dude,
Mike Smith: Um,
Nathan Brady: are you kidding me?
Mike Smith: what's up?
Nathan Brady: Trump is Trump is going to pardon the men that convicted uh that were convicted for trying to kidnap Gretchen Whitmer.

00:31:02

Mike Smith: Cool. So, you can just prime now.
Nathan Brady: Well, but however, on the flip side, UK, the UK has has officially charged the tape brothers,
Mike Smith: Huzzah.
Nathan Brady: rape, human trafficking, profiting from prostitution,
Mike Smith: I wonder what our extradition treaty is.
Nathan Brady: 21 counts. Interesting.
Mike Smith: I'm not seeing that. Were you seeing that
Nathan Brady: What?
Mike Smith: the commuting of sentence?
Nathan Brady: Oh, for the Whitmer.
Mike Smith: Yeah.
Nathan Brady: The Whitmer stuff. uh our are our are our are our are our are our are our are our are our are our are our are our are our are our are our are our our uh Trump pardons which is trending
Mike Smith: I'm only seeing considers partying.
Nathan Brady: okay so he hasn't done it yet
Mike Smith: Yeah,
Nathan Brady: but it's a lot of uh he's looking at it.
Mike Smith: just asking questions.
Nathan Brady: One got 16 years for conspiracy and plan to bomb a bridge. Another got 19 for explosives and militia ties,
Mike Smith: Okay, put that near the top then.

00:33:37

Nathan Brady: dude. What a f****** God damn it.
Mike Smith: What a country country. Good or
Nathan Brady: Bad
Mike Smith: Okay,
Nathan Brady: country.
Mike Smith: come on.
Nathan Brady: Bad.
Mike Smith: Okay, it's on the show notes now. See, this is what we need is I need you to just be like, "Here's the news, you idiot." and I put it on the shout outs because I get lost. I'm so busy working on this thing. Um, felt like there was another thing, but I'm forgetting what it is. Doesn't matter.
Nathan Brady: We need a a remote button um to like refresh the page on our I need a button on my end that can force a refresh the page on your end on OTP. like that just does like a window.reload,
Mike Smith: Okay.
Nathan Brady: you know, you walk away from your computer, you forget to unlock it. I'm sitting at mine. I go, "Oh s***." And I can clear your screen.
Mike Smith: I never forget to lock my computer.
Nathan Brady: But you were getting notifications through your locked screen.
Mike Smith: Yeah, that was the Slack bug.
Nathan Brady: No, I know.
Mike Smith: All
Nathan Brady: But still,
Mike Smith: right, man. Jeez.
Nathan Brady: uh, it's all about being careful, man.
Mike Smith: Yeah, yeah, yeah. I hear you.
Nathan Brady: So, next thing I got to figure out, I I guess I I'll talk to you over OTP. You going to be around or what are you you doing pick up or what?
Mike Smith: Hiccups in an hour.
Nathan Brady: All right.
Mike Smith: Wait, is that right? Yeah, that's right. Is that right? My brain is mush, man. Hiccups in an hour.
Nathan Brady: All right, I'm gonna talk to
Mike Smith: Wait,
Nathan Brady: you on
Mike Smith: is that
Nathan Brady: OTP.
Mike Smith: right? Yeah, that's right. Is that right?
Nathan Brady: Yeah.
Mike Smith: My brain is mush,
Nathan Brady: All
Mike Smith: man.
Nathan Brady: right, baby.