When integrating databases into game development, blocking I/O operations can halt the game loop, causing performance issues; developers can address this by using asynchronous I/O patterns or dedicated threads for database operations. Additionally, quad trees provide an efficient spatial partitioning solution for collision detection in games, where each node has four children (unlike binary trees with two), allowing recursive subdivision of 2D space into quadrants for fast entity collision checking.
深度探索
先修知识
- 暂无数据。
后续步骤
- 暂无数据。
深度探索
Adding CRAZY DATABASE stuff to my game.本站添加:
pretty everyday. A wow that's some riz ge.
Hey Goral. Hey B.
Good morning.
Uh, yeah, I also need to make some breakfast. So, hello T Teach.
Limited edition Riz am drunk. Oh, okay.
Cool. That sounds fun.
Morning in the morning, although an afternoon for me. Hey Bert, good morning.
have an ad break here in a few minutes, in which case I will have to run to the kitchen and try to make breakfast very quickly.
passes created documentation for a complete deployment process and data fetching.
I'm going to write in latte.
I like latte. I wrote I actually used to do like all of my homework assignments in university in latte.
No joke.
Basically, if I had math homework, I would do the math on paper and then type it up with latte. Uh, if I had a paper to write, latte came in so clutch because you could use like packages.
You could use different latte packages or whatever they were called uh for different writing styles. So there was one for MLA, there was one for APA like five and six.
So, in my classes on like the arts that I had, I I like never lost points for like formatting on my papers because I always used Latte to do it.
Always used Word before. Dude, Latte is awesome. Latte is like really really awesome. It's what like academics typically use to write white papers and stuff. Actually, I'm pretty sure I wrote my thesis in with Latte. Hey, Bobby.
Like, I really, really, really like Latte.
It's been a while though. I used to make like you can make like slideshows and stuff with Latte.
This is a lady, not a car. You think I'm stupid? No. No. No. It It ain't like that. It ain't like that.
Do you guys think it's a hair update? It feels like a hair update to me.
Hang on.
Oh god.
It's a Blue Jay's hat day. I mean, yeah, I could wear the Blue Jays hat.
Latex is sick.
I mean latte.
Hey X pair sticking up in the back there.
When I found out it was pronounced tech, I was applauded.
Gosh. Yeah. Some people pronounce latex.
It's kind of funny.
My latte.
Oh, what the hell? My hair just doesn't look good when it's up. Not as good as just holding it.
Whatever.
Okay. Hair is fine. Thank you. Thank you everybody. Dtomic today. That's interesting. I've never messed with the datomic really beyond like simple [ __ ] Hey Tannerax. Hey Dexter. Hey Pu. Hey Josh TV. TV Josh.
Uh, a latte project.
Yes, that one. Uh, Bert, I think it's that one.
Uh, I'll answer in a sec. I'm going to go make breakfast real quick.
Breakfast of the champions. Egg sandwich with a bubbly streamers on screen. Wow. I wasn't gone that long, was I?
Maybe I was. I was like, there's no way it's going to take that long to whip an egg and put it in the microwave.
Thanks Lada and thank you for the 10 stream streak.
You're think, "Oh, yeah, the microwaved omelette is actually so clutch."
Uh, Emac person. I'm going to use Emacs here soon.
Yeah. No, I'm not a u not a VS Code person.
All right, guys. Start thinking of some questions to ask me. I need to I need to farm some content here.
So, okay. So, I've been thinking about the database stuff. It's not very exciting, but Oh, Patrick, thank you from YouTube. Um, yeah. So, the database stuff is not horribly interesting. However, Can I taste the difference? Okay, so in double blind studies, different eggs have not been found to taste different.
However, pasture-raised eggs, for example, have much more orangey yolks, right? And sight is a part of like the dining experience, right? An orange yolk is much more like appealing.
At least to me it is. And that's totally valid is even if it doesn't taste any different.
That is often just the feed they give to the chickens. Yes. Or the feed that they forge for themselves being pasturized or whatever.
feeding chickens certain things regardless of how they are raised. But why don't people do it then?
Yeah, I suppose the variance in the diet like yeah, there's no taste taste, but like I I watched this YouTuber named Ethan Schlabowski and he breaks it down really well. He has a whole video on like different eggs and basically yes, it comes down to like sight and the human element when it comes down to different eggs.
The conscience feels a little clearer.
Eating eggs, then you know, brain chemicals and junk are might tell you that these are better or whatever.
But in a double blind study where people can't tell the difference, people can't see the egg they're eating.
Twitch chat sponsors use square.
I'm not sure what that means.
Okay, I got to take my inhaler and then we're jumping in the software and gamedev category.
fresh eggs. That's like awesome. Yeah, my roommate in university, her parents raised chickens and uh we had just Yeah, we just had tons of fresh eggs all the time in the fridge. It was awesome.
Chickens in the dorm. I never lived on campus. I always lived off campus in an apartment with like roommates.
Do I use Vim? No, I use Emacs.
Tell being healthy.
Yes.
I usually just run the the boiled eggs under really cold water. Usually that does it for me. That works pretty well.
You got to run the tap for like five minutes though to get that level of cold water.
Okay, I'm going to take this and then I'm going to talk about database stuff and then we're going to jump in the software and gamedev category. And you had better have some questions for me to do slash marker Done.
Okay. Database stuff is exciting. Oh, okay. I'm glad you think so.
Uh, everyone is so into eggs here. Eggs are awesome. Actually definitely survived on eggs a lot in university. Like I ate so many eggs.
I still eat eggs. Usually I'm having like boiled eggs for breakfast unless I'm running late like today and then I'll microwave them.
Yeah. Okay. So, I don't know if this is a real issue or not, but like the IO like blocking IO for database stuff in my game could be not great, right?
I have to do what is database probably postgress phosphorus is anti-impregnation tool for ladies what yolks give ass cancer for dude what the [ __ ] are you talking about pisu What is blocking? I thought database is supposed to eliminate that. So blocking is when the thread stops to do some sort of work.
That's blocking.
So usually usually that means like input output stuff uh including database transactions, database queries, database transactions um file IO basically mostly IO No.
Hey, Libas.
All right, I'm going to the God Clanker to figure this out.
Can eggs cause What's IO? Like a monad?
Yeah. Input output basically. Okay.
Oh god. Hey, Crash King.
Sometimes when talk to database slow now everything's slow. Yeah, basically.
So IO is like input and output like reading from some information from some source and outputting information to some source. So it can be files or file descriptors often. Uh usually it is you know reading from like a command line prompt from the user.
My god, I might have to take my blue inhaler. I don't know why I'm coughing so much.
Hey, Tin.
This way while using a normal database or JSON objects in a folder for performance.
Sorry, my nose is doing that thing again where it feels like the mucus is going to go all the way through and then it just kind of piles up at the back and doesn't go through.
I might have to go back to the ENT.
That's kind of weird. I've never had that feeling before.
I am just getting over some sickness though.
Ent ear nose and throat doctor.
Uh what was I talking about? Blocking.
So basically a thread will stop entirely and wait. Basically just stop and wait for the information to come to it.
Right? Because whenever A program needs like information from a file using a file descriptor. They actually have to ask the operating system for that information, right? So they have to wait for theuler to context switch to the thing or whatever it is probably if it's like a running if there's like a process or if it's like the kernel like through a system call, right? Um, but basically the program in theory has to wait on something else to give it this information.
So we we block the thread blocks, it'll just stop. And in a game, if you block the the thread that your game loop is on, it'll halt the simulation, right? If you're doing like a large database query or something that takes like a few hundred milliseconds. Well, now your game has basically stopped for like half a second, right?
Many threads. Well, right now I only have one. And I'm trying to think of how I'm going to do this in a way that like doesn't lose information, which is why I use non-blocking, right?
But the problem with nonblocking, and this is what I've yet to figure out, the problem with non-blocking IO, the problem with what is with my sinuses today?
Well, the problem with nonblocking IO is if you're using something like uh a relational database, right?
I'm going to just go take my blue inhaler. Like I I I can God, that's so annoying.
The thing with relational day races is that while while an like there's no non I don't think there's any like non-blocking IO for Postgress right because it it won't be able to like have integrity if it was non-blocking so I need some kind of like buffer area with integrity but non-blocking to insert or make changes to Postgress you see what I This is what I was thinking of last night.
God.
All right, let's just jump in the software and game dev category.
I was going to eat today for breakfast.
We are very different.
Wow. Pa soup, you weren't following.
It's kind of surprising.
Oh.
I was like, where is Emacs? I had it minimized.
I'll never be far. Okay. All right.
Oh, hey uh YouTube folks, SA and Justin Martinez.
God, sorry for coughing so much.
Hi, Nora.
How large is this database?
I don't know. Not very large. It's just Postgress.
What kind of data do I want to store?
Well, I probably just store Oh my god, this is so annoying.
Yeah. Uh, maybe I should just take my blue inhaler after all. Uh yeah, the not much data. What I want to store is a serialized version of the game state basically or a serialized version of the player.
Maybe I want all the game state.
What engine? None.
The coughing makes me feel like I'm not on a remote job anymore with sick co-workers in the open space. I'm sorry.
I'm just I just can't seem to cough up whatever the hell this is.
No, not [ __ ] I was going to use I was planning on using Postgress in the memory. It is in memory already.
Yeah, I'm trying to figure out like how to deal with this non-blocking stuff.
Like, let's see.
Well, if I go to the game loop or more importantly Play state implies aggress. I don't know about the history.
Wait.
Post fix implies a fix.
Actually, I think I just need to switch powders. Pretty sure my powder is like just garbage.
Uh, we're so bad at naming things.
Hey, Fra. Huh?
How's it going?
Is there such a thing as watering plants too much? Yes, you can. You can actually drown plants. So, just be aware of that.
Water it like every other day.
Hello medi.
Uh YouTube. What game am I working on? I am working on a kind of I don't know. I should come up with a name for it so people know.
You got new hair. Yeah. Yeah. You didn't see You haven't seen it. I've been blonde for like what, two weeks now?
When did the blondening happening happen?
Yeah. Been like two weeks.
And now I can't imagine having any other hair color.
What about watering humans? Is there such a thing as too many showers? Not really. You might dry your hair out, though.
Sorry, I just need to take care of some business. I felt long.
Is this closure? Yes.
Yes, it is. Actually, as a matter of fact, it is closure.
How long does it take to dare dye hair like this? It took like an afternoon.
Three and a half, four hours, I guess. I just got highlights, but they're like damn good highlights, and I'm going to get more highlights in August, probably.
longer than Hannah.
Yeah, but it was like whatever. It was fine. It wasn't that bad.
That's probably fun, too, if the hairdresser is cool. Yeah. And my hairdresser is super cool.
Databases a also work on some storage solutions today. Assembling furniture.
Nice.
Yeah, I was thinking like how am I going to get is it like cuz a game, right? You have players and they have like a position in like the world. Actually, this doesn't make any sense. I need to go back to the drawing board here because players have their islands, right?
Trying to think of how to design this [ __ ] thing. Players have their islands. Uh doesn't make any sense.
Only crazier than a database is not using one when you need one. Yeah, I'm like, do I need a database right now?
I'm also like wondering that.
I might even be overthinking it actually.
Yeah, I'm just like I'm thinking like how would a game loop be structured?
Would it be just one loop for all islands? I feel like that might not work.
But if I do like one game loop per island, which is one thread, I'd have to have like a billion threads maybe.
H I'm just trying to think how do I create the different worlds, the different I guess it wouldn't be that hard.
batch the island updates so they're parallelizable.
Wasn't World of Warcraft actually just one giant Oracle DB application? Was it That's kind of cool. Honestly, I'm like thinking of like the architecture. I guess maybe it could just be one one thing, but then I'm like, how do I was the point to have atomic transactions?
Janet, start making a WoW server. No, I didn't. I'm just like I'm trying to come up with like stuff, I guess. Like, yeah, every island would have to be in the same like meta world really.
or they could be their own like I guess what I'm trying to conceive of here. See how we have world this binding world and it's like bounds quattry insert all.
Well, basically I'd have to have one of these for each player, I think, unless the players had joined worlds through the thing.
The like plql probably Java and underlyings available.
Good database. That's as good as database transactions. Well, this is what I was island little St. James. No. And please don't say things like that in the chat because I don't want to get banned.
So yeah, maybe each I don't know. Yeah.
Does it make sense to have one world or multiple islands or one world per island?
The problem with having one world with all the islands in it just hidden from each other is that I'm going to have to write code that like puts islands in places that they don't overlap accidentally or collide or whatever. Right?
If each player has their own world or island, that just happens, right?
But then I have to do this operation for however many players are connected at any given time.
I This is a good question. I don't know how many islands to expect. Honestly, it probably just be one island. It probably be my island. I don't think anybody's going to play this game.
How does Animal Crossing do it? Yeah, I don't know. I have no idea. I'm just figuring this out.
Okay, I'll ask God Clanker. Let's see.
Uh, okay. One world per island or all islands in one world.
Assume world is quad tree.
fast collision detection.
Oh yeah, that also kind of that might conflict with instancing as well cuz instances will have to be like their own may also be their own separate little world.
But quadre are pretty fast so I'm not super worried about that.
Depends on whether entities can cross island boundaries. One quad tree per island but under one game loop. Okay.
Players colliding with environment entity can cross island boundaries with friends.
Say that. See what the god clanker says.
I don't usually like talking to Claude for architectural decisions though.
Oh gosh. Okay.
Per island quad trees seems to be the move here.
And then if a player visits another island or they become one island mechanic is when become friends islands become free trade archipelos.
How do I spell archipelago?
I think. Yeah.
Yeah. Merge them into merge them into an archipelago.
Okay. This is good. This is good information. Chat room. I should probably spend a little more time like actually scribbling and designing this than just coding it, you know, willy-nilly.
What's a quad tree? Uh Bert, do you know what a a binary tree is?
AI is very smart. I don't know if it's very smart, but uh I think if I sat and thought about this for a little bit more, I probably would have come to the same conclusion.
The real important thing is like not getting too in my head about like the architecture white paper live streams, but basically Yeah. So in a tree structure, you have a binary tree, right? Actually, square is probably wrong for this. You have a binary tree.
So that's the root and then Oh, come on, Excaladra. [ __ ] off. God, what how who uses this? Why do I keep using it? It's so bad.
Okay, so this is a binary tree.
Make some more.
One more.
Yeah. Binary tree is where each child or each root has two children, right?
This is the worst worst drawing of a binary tree ever. This is a binary tree.
Uh so that's where each node has two children in exactly two children. Right?
A quad tree is very similar except each except each node has four children instead of two. Right? We could literally just bring these two up here.
And then yeah, we could also I mean it's going to be really difficult to draw this cuz by like the second second generation we've got like 16 children. Um but yeah, that's a quad tree. And the reason we use a quad tree is because we can actually very easily take a a quad.
We can very easily take a quad like a square and subdivide it into four quadrants, right? We can take a square or rectangle and divide it into four quadrants. And you can actually recursively do this doing like recursively smaller and smaller squares until you get down to, you know, whatever the smallest square is. So by doing this, you can use a quad tree to actually very quickly do collision detection on large entity sets, at least in video games. And there's even something called an oct tree and 3D games, very similar, I'm sure you can guess by the name, where each node has eight children instead of four, right?
And with an O tree, it's very similar.
You can you can subdivide a 3D cube into I guess three-dimensional like sub cubes and recursively do that all the way down to a small unit for fast collision detection. So this is how some 3D games do fast collision detection.
Databases do this for index searching too. Yeah, but indexes us or indexing usually relies on binary trees, but it's the same idea. Yeah.
Uh B trees, quad trees, and oct trees.
Maybe it's octo trees. I don't remember there. Wait, how does that work? I can imagine simplifying collisions by registering entities to regions, but how does the tree structure factor in? I'm not a game developer. I'm clueless about these things.
Well, you can think of like the root node as being the entire map, right?
And then if you if you turn the map into quadrants, maybe I can make this bigger.
Come on. Come on. Excel. God damn it.
So, let me grab this square. Right.
So, this square. Oh, [ __ ] I get really angry at Excal because it just doesn't work the way I think.
So, this is this is the entire game world right here. This square, right?
And this square is represented by the root root node.
If I cut this into fours, just pretend this is four even quadrants even though it's not.
One.
Why is that font so tiny?
This is extra large, but it's like tiny skeleton. One, two, three, four.
Okay, so we have this square. It's kind of hard to see. I'm sorry. I'm working with the stuff I ever saw. Yeah, they're pretty good squares, actually. But basically, so we have the root, and that's the whole thing. That's the whole whole thing on the outside here, right? And then each one of these nodes is a child.
Oh my god. Excaladra, please.
Oh, there's got to be I I have been so frustrated by Excaladraw before that I thought about just making my own.
This is like kind of terrible.
Yeah. Like why doesn't this come with Anyways, so we have root. That's the whole big square. And then each each quadrant is one, two, three, four, right? And then if we wanted to subdivide one into four of its own squares, which is just applying the same routine, we could do five, six, 7, and eight.
And that corresponds to these.
That's Yeah. No, this is five.
Five.
Oh my god, I can't type today. Feel like everything is just not going this way.
Okay, so this is eight.
So then we can recursively build out this tree, right? recursively build out this tree by constantly subdividing down to essentially the smallest like bit of information, which is usually like maybe a little sprite on screen or something.
And then we can very quickly figure out which entities are going to collide, right? So we we can kind of traverse we can traverse down this route. See if we are like at the rooe and then there's the entity, you know, we're in quadrant 1, we're in quadrant five and then we can keep going down until we're just like down to uh basically two little boxes. And then you know are these entities are the entities inside this box overlapping?
Basically that's it. Are the entities in these tiny little boxes overlapping?
But normally the way people do this is something called uh axis align bounding boxes where they check every single entity in the game to see if the boxes those boxes are overlapping. But if you check every single entity in the game, you're probably wasting a lot of information or you're wasting a lot of compute on entities that aren't colliding, right?
So, you want entities that will collide with the entity in question, right? So, basically what I do here, you can see it in the thing. So, we create the world, just a 10,000 x 10,000 bounds. We create the quad tree. Uh, we insert all the entities into the quad tree. So then they're put into their respective I guess sub nodes, right? And then I have to get uh in in the player.
Thank you, Emacs.
We go to the player for example. I take this quad tree and I receive I retrieve the intersections and see if the player basically I put the player in with the it's updated like movement coordinates right and check to see if it's going to like overlap with something and if it does overlap with an entity that is not this player as you can see by the next line other entity See then I just don't I just don't update the movement this this update frame right and then that creates the illusion of like you know collisions.
So that's it that's yeah collision collision detection in a nutshell.
Sorry for the longwinded explanation, but yeah, that's Hey, standard pointer.
The idea you only subdivide dynamically if there are too many entities in one client, one quadrant, roughly the same amount of entities. Yeah, I think I think that's how the algorithm works.
You you keep subdividing if there's more entities in it. But basically, you have to rebuild a tree every every frame, right? And then query it.
Am I watching the big game tonight?
What's which which big game?
Which big game? Is there a Blue Jays game or something?
Victtoire versus charge. Oh yeah. No, I don't know. Uh maybe I will actually.
Frig, it's so sad. We were so we were so into the Toronto Scepters last year, but then the tickets were really expensive this year and yeah, they're not nearly as good and Sarah Nurse isn't on isn't on the team anymore.
The Scepter has lost a lot of good players this year.
What is that? We're talking about women's hockey.
We're talking about professional w the professional women's hockey league, the PWHL, or as I like to call it, regular hockey.
True. They don't get paid like regular hockey players.
Am I an ex hockey player? No, I'm a Canadian.
Do they fight sometimes? Actually, yeah, that's one thing that was really different about like this winter was I noticed there was more fighting on the rink.
Last year there was not nearly as much like fighting on the rink.
We're Canadian because you said sorry.
Our trees might be easier to track down the paper for. Yeah, I just stick with quad trees for now.
Oh, I hear the Canadian now. Oh, yeah, bud.
All right, since we have an ad break, I'm going to go make a cup of coffee, I think.
BRV. Yeah.
Slowly allowing more hitting Uh, yes. Spacetime DB has an interesting concept.
What should the trees solve?
I'll just explain what the trees should solve. I guess the problem I'm trying to think of now is like architecturally.
Okay, so we have basically separate quad trees for each island, one game loop.
H I'm a little worried.
Thanks for explaining. Quad trees boss called as soon as you started talking so I had to rewind. Oh.
Oh, I see.
Hey, Viking.
How's it going? Are you in Kenyon again?
still here. How are you? I am good.
Actually, surprisingly pretty good.
Just uh hacking away, I guess.
Yo, what's up, Odin? I'm trying to think if there's anything new going on in life. Not really. Really kind of isn't.
I'm trying to figure out how I'm going to do all these things I've never done before.
like, yeah. Oh, yeah. Biking. How's the house coming? I saw a neurommancer hoodie the other day. I instantly thought of you. I wanted to buy for myself. A neurommancer hoodie. like uh wait the book neurommancer or Apple TV neurommancer.
This is great. Did you move in yet?
Yes. [ __ ] Okay, cool.
need to finish electric plumbing and flooring. Server room is wired though.
Priorities.
My man has priorities.
Yo, cucumber. Like, what? Why? Why did you come back to Why do you keep coming back to try and pick this bone?
You did it yesterday, too. And you followed me.
Oh, hey Johnson. Jeez, I didn't know you were here.
At some point, we're going to find out that Cucumber here is like some like growth hacker for some AI company you've never heard of and educating the youth over You're having an awesome week.
Yeah, it's pretty pretty good. Monday was a holiday, so yesterday first real day back.
Been doing some spring cleaning.
Yeah, I don't know, cucumber. I don't know if I don't know if that counts as educating the youth because I mean I was just explaining quad trees, but you're just shilling. So I don't It's like kind of like similar to when companies give away like free licenses to products for students so that then the students will become employees and have their company buy the business licenses, you know.
So, okay. So, I guess it's decided AI is not a company. AI is absolutely a company.
Well, I guess it's a ver a noun, but like all the cutting edge models are proprietary, so I don't know what you're talking about.
Unless you're talking about like open source models.
And I think it might blow your mind that the internet is is true. So, it's not a company, but it's actually, if you can believe it, it's actually a federation or confederation of different company networks.
I feel like people don't understand that about the internet. The internet is actually like a federation of different company networks operating all on the same protocols.
AI developer Twitch stream even work.
Yeah, basically just praw pull that slot machine lever and hope for the best.
In the past when I've tried to do it, it doesn't usually work out very well.
Collusion detection now. Thanks for that collision detection. I'm glad you enjoyed it, Bert.
Then the AI slot machine. Put bets on Poly Market.
Okay. So, maybe I Gosh. Oh, goodness.
This is all right. I need I probably need a way to send data to a database.
and hot coffee. It is hot coffee like okay imagine we have a like a special thread for handling database crap. Basically the main thread the game loop says hey store this information for this player and then the the thing the thread does does the work obviously in a separate thread. So there's no blocking, but then we're going to have like this delay because there's going to be like a pipeline of things that constantly need to be written to the database, right?
Maybe maybe Postgress is just the wrong thing for this. Is there like a streaming database?
Streaming database.
No, talk to them.
Phone call or have talk to each other.
What do you want? No. What do you want?
I think the modern version of that is probably asking like a random website's chatbot to make you a React component or something.
This is the second time someone's mentioned space-time DB. Let me look into this.
apps and games. Of course, they have to say in the second line, "LMs go much further with space-time DB."
Oh, no. Oh, I don't want to do this cuz you actually it's like one of those solutions that like combines code with it, right?
Well, unless I create my own database, but I don't want to do that.
Mean by streaming database. No, I was thinking like something with nonblocking IO or AI up.
I need to have this coffee. I think my brain needs to do things.
Wait.
Oh, you said Nora. You said hot streamer. Hot coffee.
Hey. Oh, you think I'm hot? Oh my. Oh my god. Stop.
OTP does that.
Brain do thing. Must thing more.
Exactly.
Brain no thing at the moment.
Hot quad trees. Hot coffee. Hot quad trees.
Maybe it doesn't matter.
Ortho linear keyboard.
Bim ortholineers look kind of cool. The pocket reform has an ortholinear keyboard.
You get something like the glove 80. It makes a lot of sense cuz like it's like ortholinear with with like the curvature.
The keyboard is curved like so it curves with like your fingers naturally or whatever.
Very ergonomic. Very ergonomic.
Well, I don't have an MNT pocket reform cuz they're expensive and they take forever to ship.
I kind of wish I had one though.
Okay, brain. Listen to me, brain. We got to do the thing here.
Maybe it doesn't matter. Maybe an insert is like fast. How fast is an insert usually?
Depends on the data maybe postgress insert.
want to discover coding stream. Yeah, I'm trying to think of how I'm going to do like database stuff in my game.
It's not going very well because my brain is not like awake.
What is it adding a bee tree to a game?
This is what you see on the screen is a quad tree. And I was explaining how quad trees work and what they're used for.
Asynchronous IO unblocking Postgress possible your language stack.
Uh, okay.
Closure.
Okay. So, basically, basically Claude just suggested what I was thinking this whole time, which was to run. basically just run the synchronous crap in like a core async thread.
Okay. Uh yeah, with Java 21 virtual threads, I suppose what version of Java do I have?
23. That means Core async uses virtual threads already.
Sick. That's cool. All right. Freak it.
Let's Let's Let's just do it. Chat room.
Let's just do it. Let's just Let's just do it. Um depths. Eden.
I have nothing.
Java Postgress driver. We need the Postgress driver.
Unless it's already here. I don't see it though.
No.
Download. Uh, wait a second, brother.
Maven Central, homie.
Good old Maven. Nothing beats that except when you get rate limited by [ __ ] Maven.
You guys getting rate limited by Maven lately?
I have been.
Sucks.
42.7.11.
That is That's huge. Closure.
Next. JDBC.
JDBC homie.
Hang on. I'm going to ask Clint God Clanker here. What about the in transit weary loss though?
No.
I mean stuff in the threads memory that hasn't made it to the DB yet.
I guess I could create a write ahead to disk first.
That's exactly what I was thinking, Clanker. a write ahead log because that's how databases actually do integrity now is they just literally write a log of the query to a file on disk. So I suppose I could do that if I was really concerned about losing the information.
Ah frig my leg is itchy.
This is why I don't use Claude.
Basically, all all that like asking Claude for sometimes like this makes me really just second guess myself.
I think that's probably why I don't like it is it just really makes me second guess myself and then like it tells me the same thing that I wanted to know that I had thought of already. Right?
In that sense, it's validating, but in another sense, it's like I don't know, patronizing. Does that make sense?
Poo. I don't know what those are.
Honestly, I'm at the whims of like the closure build system.
Okay, so I got the Postgress driver core async in there. What version of core sync is that?
Closure core async core async latest version. Should we get the latest version chat room? I think we should. I think this version supports virtual threads all the same, but fine.
And then uh yeah, next JDBC.
Excellent.
Although I can't wait for people to stop using GitHub aka Garbage Hub.
Hello Pup. Hi.
That mostly through the comment before figuring it out. It's a joke. Oh, that's not good for those kinds of questions. Castion do some write ahead log type stuff for integrity.
That looks that looked kind of stupid.
Um, well, that was funny. GitHub really fell off. I want to get off it. Bro, everybody's moving to Codeberg oring hosting their own forge, which I still need to do actually.
And I have a sponsored stream coming up soon, which I need to figure out what I'm doing for that. Oh gosh, I have so much [ __ ] to do all the time.
Uh, okay. So, what are we where are we at here?
Why do I have a bunch of extra dependencies in here? Quad tree and stuff.
I don't know. Okay, great. Amazing.
Let's uh let's build it. Make sure nothing broke.
I don't anticipate that anything broke, but [ __ ] happens.
stressing over making the 1.7 merge window for PGCL.
Is this like a common list thing? [ __ ] [ __ ] Sorry, I did not mean to delete your message. I meant to just remove the pin.
You can post it again, Nadia, if you want. That was a mistake on my part.
Yeah, but what's PGCL?
like an open CL thing clustering ABI compatible algorithms for it. Oh, I see.
Okay. Sauce. Where's my terminal at?
Okay, we pulled all the stuff. We're good.
Thank you, Nora.
Thank you, Nora.
Uh, brew services list. Let's see.
Oh, great. Yeah.
Brew services start Postgress.
Homerew is just such a terrible, terrible [ __ ] thing.
Unbound.
How the Why do I have an Unbound Brew service that's not running?
That's sus. That's That's [ __ ] sus, honestly.
an unbound service. That sounds like a supply chain compromise.
Uh, okay. Postgress.
Mhm.
How the [ __ ] do I connect to this [ __ ] World Progress does not exist. I'm pretty sure it does, dog. Actually, I don't know what the config is for this Postgress.
Maybe I should not be using brew.
Actually, I have like way too many Postgress things. I have whatever this uh elephant app is.
Oh my god. What is uh Okay, there we go. Finally.
God, forgot like Um, I ever remember how this works. Okay, it's so funny. I never I so rarely set up Postgress that I forget how to do it every single time.
All right, let's do create database.
I need a better name for this game.
Do I have Docker? Yes, I literally have Postgress Docker. I have like two different brew services for Postgress 14 and 16. And I have the like elephant app or whatever it is that has uh version 15. It's a [ __ ] mess. Anyways, um I don't want to call it island game.
That sounds stupid. My like I was calling it lowkey survival, but that's also kind of stupid.
It needs a great marketing name.
Great marketing name.
Like a game that people are going to be like, "That's amazing.
ball. Escape from Jankenov. We like island.
Well, what's the I guess what what do I what do we what are we doing with the island? We're surviving.
Islander.
Uh we're surviving.
Hang on. I need to check something real quick, you guys.
Oh my god, you guys.
Oops.
Uh, Prince Elward Island: The Fall. Wow.
Call of the Wilds. You guys are going to get me sued.
Public domain book. Oh yeah, there we go.
Island rush. That sounds like we're doing leather cleaner.
Literally, I can't think of the word rush in any other context.
Breath of Duty. Really?
Oh my god. Okay, you know what? I'm just going to put in a placeholder name.
Sons of the island.
Once a legend.
That sounds like something somebody who was once a legend would say. So Hang on, hang on, hang on, hang on.
I forget how things work. Let's see.
Hi Judy.
Nice hold island. The fall of drop.
Just put a bunch of like uh words in there.
Bunch of good sounding words. Ball of drop.
My little island growing the devil's lettuce is magic.
Oh my god.
Well, these are horrible names.
It should be like one word that you can just say one word, right?
If you have to have like a bunch of words.
Oh, so it's like my idea is like adventuring maybe cave cave island cave land my widow island.
That's that's that's good.
Heycape Daddy's island.
Oh my god.
Widow. Yeah, Widow Grad Venture like graph. No, that's not No, it needs to pop Ireland.
It needs to pop, you guys. Come on. It needs to pop like Bro, okay. You see a game named Bro and you're like, I get it.
Bro, land.
Come on.
Oh my god.
Don't worry, you didn't miss anything.
There's something wrong with reality.
No, there's nothing wrong with the reality. All right. Well, I'll have to think about the name. So, create database game.
Database game.
which is kind of a weak name, but whatever.
DBG database game, nothing else.
Perfect. It's perfect.
Okay, great. Uh, let's connect to a game.
read table.
Oh, I should probably write these down somewhere.
Oh, I don't want to do migrations. Boo.
Uh, forget it. I'm not going to do migrations yet. We're just messing around. Create table players or users. table users.
Uh jeez, how do I make ID?
Why can't I remember how to do this?
Okay, hang on. I can't I have to actually like open an SQL document probably.
Oops.
2L. Sure, why not? Amazing.
Great database game.
Evil if not exists.
Does the if not exist go before or after?
Yes.
Okay. Well, it goes before, doesn't it?
Message to be deleted. What's happening?
An OM. Nah, OMS are more issues than they're worth, honestly, half the time.
What? Why is there Okay, that was weird.
table if non-exist players ID primary is it primary what got it primary key [ __ ] oh my god this is embarrassing serial primary key [ __ ] hell Proof of a conspiracy.
No way.
Oops.
Username text unique not null password. Uh oh. I need the [ __ ] I need the [ __ ] crypto extension for [ __ ] stuff.
Let's guess crypto extension password.
PG crypto.
Oh my. I need to use the washroom as well. Does this go before creating the database? I think it does actually.
Uh, okay. Um, password. Yeah, it should be password hash.
Text not.
Mhm.
Right. Right. Right. Okay. And then we use gen crypt and gen salt when we insert into the database.
Right. Right. Right homie. Right. I remember how to do web stuff. I promise I'm a real professional software developer, you guys. I do get paid actual money to do this.
Cloudflare shoeler.
For some reason, that reminds me of Pomeranian dogs. I like palms. They're cute dogs.
Yeah, they are cute game.
I I have to sit down and think of a killer name for this game.
Professional developer struggling to write SQL. I mean, yeah, that's basically the truth.
basically the truth. Maybe Cucumber is right.
No, I always forget how to do this.
Inserting and stuff. No problem. But like it's always the stuff that I I've only I only do like rarely that I just like my brain just autodeletes, right?
Adult simulator game. That's the farming game.
created at updated. Oh, I don't like audit tables. All right, whatever.
Time stamp default now.
Default meow update at time stamp default meow.
All right, that should be enough, right? Unless I want to like collect a bunch of user data and then get hacked and then get sued or whatever. Number of bands.
Oops.
Email 2FA.
2FA. What?
Username or Do I need email? Do I want email?
I don't know if I want people's email addresses.
All right. And I probably want to have a friends list, too.
Oh, that's definitely a a friends list is kind of important.
Amazing.
Okay.
Uh [ __ ] Friend. Could a friends list? Maybe even a block list? I don't know. Could a friends list be like just an array of other players ids or usernames rather is active flag. No, we're not like I don't want to build like a whole like friend ecosystem yet. I don't think I mean we we're talking about how to build the engine before we have wheels. Really?
I don't want to build a social network.
table friends.
Friend friends player ID friend ID.
Yeah, that could work. Judy, you need GraphQL. Okay, chat is not being very helpful right now.
friends.
Don't do any of the things he suggested.
like player ID, int references, players ID, something like this.
array of IDs on the player. That's what I was thinking. That was what I thought the first time.
Entry for every friend and you have to match to the other side. That Yes, actually. Yeah, that's kind of stupid.
Well, wait a second.
It's kind of not dumb though.
Do people have to ex people people, Facebook, Google.
Well, like okay. So like logging an O flow is very different than this table. But yes, actually I did kind of want to support off flows like that too, especially like having like a a sign in with Twitch option, you know, for now. Anyways, sign in for Twitch.
Sign in with Twitch during development would be kind of nice.
So then all my subscribing homies can play the game or help me test it, I guess.
Hand to survival. Perfect. Actually 10 out of the 10 name, honestly.
Why are all the dev streamers on Twitch so hot?
Uh, good question. I don't know.
JSON B for friends and store them with a friends. Yeah. Well, I'm like, okay, so how does this work? Because like basically people get an invite URL and when when the target person accepts the invite by clicking on the invite URL and clicking accept, you become friends.
No, no. I think we're thinking of this too literally, right? Like we're not they could be friends, but the thing is that the more important thing is that we need some information to be able to say these islands are in an archipelago. And if people don't want to be in the archipelago anymore, they can not be in the archipelago.
So, I don't know if a friends list makes sense. Maybe it does. Then we we rebuild the archipelago.
every when people log in or when the server starts by player ID. Well, if there's if if the person doesn't have an account already, then that would trigger the sign up flow, right?
Can I explain what an archipelago is?
It's just a chain of islands. That's it.
quite literally just a chain of islands, you know, or a grouping of islands.
I don't know how to spell archipelago and your fancy words.
Just a bunch of [ __ ] islands.
Wow. Island for sale here.
I still can't decide if it's a hair up or hair day down day. Okay. So, yeah. I mean, archipelago.
I guess we're gonna have to have friends.
Hair of day is a good day. Hair looks nice both ways.
Chat is very split on the hair.
It seems I'm split on the hair invited by URL.
Uh actually, I feel like yeah, maybe this won't work cuz if like someone invites a friend and then that friend invites another friend, do I hide the other island unless they're like they accept the friends request from the original friend or should it be more like a Discord model where people join like if people you know like it's like a the Discord server model somebody basically owns this archipelago but every time somebody joins the archipelago they add an island to it which could work.
You want me to wink at you?
I used the wrong eye meant to do with this one.
[ __ ] That was great.
They can select island to click. Ah, yeah. I'm going to have to actually sit down and think more about this because I'm I'm beginning to realize problems with the model. But if it's a Discord model, then I feel like I don't want I what I don't want is to people to start over. They like unless I make the game loop a lot shorter than what I was originally thinking.
How to make an architecture document.
Yeah, I need to actually like probably make like some a game design document.
And by game design document, I'm just scribble on paper.
But yeah, architecture.
[ __ ] Yeah, that's tough.
That is tough. Chat room. I'll say it.
Banana boat. Flying fish.
Komodo dragons. I need answers. There could be. We could add Komodo dragons.
Hey, Fallen Learns.
Does the Discord model work though?
Does the Discord model work?
High altitude flying fish. Oh yeah, probably for like fishing and stuff because I wanted I guess if like a fresh island is started.
Well, actually, yeah, that's kind of what the fun part of is like when I think about So, I'm borrow There's some like inspiration I'm borrowing from World of Warcraft. Coding is hard as [ __ ] Yes. Yes, it is. Some I'm borrowing some There's some inspiration here from World of Warcraft and fresh servers are always the funnest servers and classic era servers.
So many questions about the island. We can never really know what goes on on the island.
When islands put sanctions on each other, it's more like everybody gets their own island. That's the model I wanted it to be. Everybody gets their own island and then you like make friends with other islands and then you can travel to other islands.
So maybe actually BRB I'm gonna go to the Jeez. All right. Sorry about the hold up. Looking for a drinking coffee.
Um, question for you guys.
Have you ever wanted to get a landline in the year 2026 or 2025 for that matter? Actually, have you ever wanted to get a landline after the year 2020?
You have a landline, shrimp? No way, dude. I'm like I'm like, do I want a landline? I don't know. Landlines are expensive for some reason. Landlines are expensive.
I don't know why.
Why would I need a landline who talks on the phone?
Me, obviously.
I talk on the phone.
I can get unlimited local calling for like $60 a month, which is freaking insanely expensive. My My cell phone bill has unlimited Canadawide calling and internet access for less than $60 a month.
here. Landline is not expensive. Shrimp, don't you live in Nova Scotia?
Or am I thinking someone else? Oh, this is flat now.
This bubbly is incredible.
Blueberry pomegranate. But when it's flat, it tastes like cough syrup. Wrong continent. Oh, you're in the UK. Okay.
It's either Nova Scotia or the UK. Very similar places.
Very similar.
So jet lag. So now I don't know where I'm at, where I am. Hi Bler land that comes with internet connection and it's free. I don't have a phone connected to it. Oh, see I like kind of miss having a landline a little bit.
There's also like the Bluetooth thingy you can get that like turns any old telephone into like a Bluetooth hand headset handset I think.
Where is my wish list at?
Pretty sure I put it on my wish list.
Does Amazon even have wish lists anymore?
Stuff I want. Here we go.
Oh, yeah. Okay.
Um, nope. That's Nope. That's not it.
Okay.
I for what it's called. I forget what it's called. But you just want a physical old style phone, bro.
Yo, React Mogs, you uh you're a possible ban evader being monitored according to Twitch.
Looks so miserable. Is it because she don't have kids?
Thank you, Nora.
The additional eight attributes used to calculate Merkel branch trees and data span. Problem solved. They'll be back and in greater numbers.
They wanted $30 a month thing to put up more cell towers in my town.
JSON B for friends. I don't that's a good idea. I do need to sit and think more about stuff the game know when they come and say that like when people come in here and they say misogynistic things like that sometimes it doesn't really bother me like I can't have children so I don't unless I adopt kids so I'm Build Animal Crossing enclosure script.
Make no mistakes. Perfect.
Why can't I make a baby? Cuz I'm probably sterile. That's why Claude never makes mistakes. People just write mistaken prompts. Exactly.
You know, I was thinking yesterday, I was like, for some reason, when it's hot and sunny, I feel really good, right? But not just good like cuz like the sun is nice and stuff.
I actually feel much more like creative and stuff when it's like sunny out. Does that make any sense? I feel like I'm super creative in the summer and then in the winter I'm like depressed and I hate my life.
Love the tech bros think don't make mistakes actually works well. I mean if you pull that slot machine lever enough times even a broken clock is right twice a day.
Yeah. There's lamps to solve that. No, it's not the same. I don't think it's the same thing like sun and like energy and like vibr like like people like like this city comes to life in the summer basically.
People outside are like they just look happy and they're vibrant and like everybody's like doing stuff right and then that energy is like yeah I feel more creative. I feel more energetic and more creative. Hey, Bedro them because I do work for a ton of people. You are making me making it squeal. What?
I'm with you on this. I know. I'm like I'm like this close to being a digital snowad like for three or four months.
Like I just want to skip the brutal part of Canadian winter and live somewhere warm and sunny.
It's a real neon lamp. Oh, SQL. Yeah.
Yeah. Yeah. No, I really got to put in some more like game design thought and then some architecture thought. I think my the brain like the gears in my brain were just like turning yesterday. I was like, "This is so smart. I didn't write any of my ideas down." I was like, "Yeah, I got to figure something's out.
This is going to be cool." Right? And then today it's like not nearly as nice out. I'm like, I don't know. It's always when I'm when it's sunny and warm out I feel better.
Moving to Florida. Yeah. No, not not Florida. Uh-uh. No. Once I get my new my new passport, I'm I was like thinking like could I get a digital nomad visa for somewhere hot and toasty since I'm like completely remote? Like I should really be taking advantage of like being remote AF.
Well, then I I don't really want to move for like twice a year, right?
I'd be basically if I did that I would end up living out of a suitcase or be paying like four months of rent for an apartment for no reason.
So, kind of a tough decision, but imagine if I could just like pack up and stream from like somewhere warm.
It's a lot of equipment to bring though.
Very scary to check a bag with like electronics. So, I'm not even sure how that would work.
skip US and go straight to Mexico. I would probably fly directly to Buenos Aerys Buenos Aris and learn Spanish. Kind of want to learn Spanish actually or maybe just go to Spain.
Mhm.
I don't know. Lots to think about. Lots to think about, but I'll probably forget. And then in like in when the winter starts to come back, I'll be like, "Oh, I should have left. I should have went somewhere." You know?
Could, but you might. Not. But you will later. What?
What?
Oops.
I also need to come up with a live stream segment. Oh my god, I have so many things to come up with. I don't even know what to come up with.
Need for like a single long form video and I am not using it.
So I don't know what to do.
Argentina doesn't seem that great at the moment. Why?
Yeah. Hi, Nora.
economic troubles if I recall correctly.
Yeah, they always have economic troubles though.
There's uh like I think economists say every economy in the world is the same except for Japan and Argentina.
These are like the two critical outliers in every economic data set ever.
Usually Japan is the outlier on the good metrics and Argentina is usually the outlier on the bad metrics.
No, it seems fine. I think it's it's probably fine. And it's also like one of the top cities on nomads.com right now, shockingly.
I mean, Thailand would be cool, but I don't want to fly all the way.
Well, actually, yeah, it's like 13 hours to fly to Buenos Aires. I think it's about the same amount of flying time to Thailand, but I feel like I could learn Spanish easier, right?
Because I know a bit of French and Spanish actually felt kind of easy to pick up words when I was in Spain. So, It's the labia.
Mhm.
I don't know what dawn means.
Where is the library?
Why not Thailand? Hot and good place for a nomad. True.
Uh, overseas. Yeah, I don't know how much how long does it take to fly to Thailand.
Oh my god. Google, please.
BKK.
Sure. We'll fly tomorrow and return someday.
Bro, no. Uh, there's no direct flights. Not a single direct flight.
I guess that's probably because the air travel is just all bet like dried up.
There aren't even in any direct flights from Air Canada. This the quickest flight to Thailand is apparently 29 hours.
I don't know. Yeah, I don't know what happened to any of the direct flights.
They just kind of disappeared. That's weird.
When to pick up lady boys, bro. I am the lady boy.
Although, I hate that. I hate that term.
I think a lot of girls would consider it uh a slur.
That's about 24 hours too long. Yeah, I think a flight to Buenos Aries is like 13.
Let us depart. And it's cheap. What the heck?
So like Air Canada has this recurring flight to Buenos Aries that has to stop in S.
Paulo for a fuel up. But basically it's basically a direct flight because you would just get off, stay at the gate and get back on, I'm guessing.
Yeah, actually I have no idea how that works. I've never been on an airplane that just had to stop and fuel up.
Pretty sure it's the same flight.
You see?
Well, anyways, last time I looked into this, but yeah. Wow. Only $600 something dollars to fly to Buenos Aries.
Flying to Thailand cost many thousands of dollars.
I'll stop Ericen to Bangkok from Vancouver. Yeah, but then I got to fly to Vancouver first and then fly.
Turn around in the air and refuel us without getting off. Interesting.
Yeah, I don't know, guys. I don't know.
But like I've just constantly been thinking and actually one of the reasons I wanted to be self-employed in the first place was actually to be able to travel more when I want to travel, right? And do stuff like this, like be a digital snowad.
Yeah.
got paid for that project. What project?
What engine am I using? None. No engine here.
I'm sorry. I don't remember the project.
Bedro. I'm like a goldfish. Honestly, I don't remember anything anymore.
DWDW Janet's own engine J Joe the Joe engine Janet JE wasn't it JWM is like Joe's window manager Yeah, I support this.
Joe last name engine.
Did Did the last once for all client cyber prediction fixing work the last time? Yes, it did. Actually, you want to see it in action?
Call this guy left. Oh, and I figured out what the bug was from yesterday.
I just haven't fixed it yet.
Notice how the clock didn't show up until the scene loaded. I mean, I still have to fix that, but yeah, basically here it is. Client side prediction in all its glory. No drift.
There's a little bit of hitching on the players part, but that's because of like it's very subtle. That's because I don't have any error tolerance built into the reconciliation function, but it's still pretty good. Like, look how accurate that is.
Like what big problems did I have to fix for the prediction? Well, basically I just had to reimplement it from scratch.
I just wasn't doing it properly basically.
It clipped over the fourth quadrant.
So yeah, it works. And the clocks are even synchronized like like both both screens will get dark like as the nightfall comes and stuff. So which is also very cool.
displace two or three lengths to the right. Yeah, it would in the past, but that's because I wasn't even doing client side prediction correctly.
I guess the key takeaway is that I what I was supposed to be predicting was just the players movement, nothing else. But I think in the previous iteration I was predicting other stuff too.
Wait, GitHub says 3,800 repositories breached. What?
Holy [ __ ] It's just one thing after the next for GitHub, isn't it?
confirms breach of 3,800 repos via malicious VS Code extension.
Well, that's what people get for using VS Code, first of all. Yo, T2, what's up? Welcome back. Welcome back. Welcome back to the to the stream to the Janetta car stream. Welcome readers. Hope you guys had a good stream.
Thoughts on versus cyber security as a career.
They're they're just different like but technically adjacent fields really and they overlap sometimes, right? If you if you want to go into cyber security like the best hackers build their own tools and that usually means coding. So, and usually the best SWE know enough about security to not bankrupt their company or a v GitHub.
So, the tools you can't talk about still sick. I hate it. Take care of you all.
Aw, I hope you feel better, T2. Usually when I feel sick, I make a big pot of soup. Chicken noodle soup. Party party savory chicken noodle soup with tons of vegetables. That always brings me back.
I made it for me and my girlfriend this past weekend when we were sick. I felt better the next day.
Me ain't raider. Oh, you're not a raider, Dexter. Even though it says you're a raider. I see you. This is cool. I understand. Everybody watches a few streams at once. You know, it's no big deal. Sometimes I just sit here and I'm like, I don't know what to do, which is pretty often if I'm being honest.
Yeah, welcome readers. Uh, I was just showing off my client side prediction.
Do I like dislike VS Code? I dislike Microsoft.
Microsoft having its hands in GitHub, VS Code, and OpenAI. That is not a coincidence, guys. That is embrace, extend, and extinguish.
It also speaks insane volumes that Microsoft employees are not even allowed to use AI coding assistance, or they weren't for a while. I don't know what the situation is now.
So, you don't want a 2 GB Electron app running on your system? Honestly, Dexter, this game will probably be an Electron app. So, uh it's fine.
But, uh VS Code, I I just like it's not that it's made with Electron.
The thing about VS Code is that it's like sketchy.
Microsoft controlling the entire like developer workflow scares the [ __ ] out of me.
Everything centralized in one place makes it easy target. This is a bigger fallout.
Yeah. So, I don't know.
I guess like like I'm like Okay, you guys are you have to remember like I'm like old school open source, right? I was like using Linux when I was like 13 or something 13 or 14. 14, I think. Cuz I started coding at like 13 and then Linux came in high school.
So, like, you know, like I I'm like I feel like I'm old school like Foss, right? Like I don't like Microsoft. I'm like not only old school but also old. Wow.
Wow. You were being so mean, Bedro.
The 80s, guys. Come on. It was like 2006 for God's sakes.
Holy.
You don't have to be old school to hate Microsoft. Yeah, but like Yeah. I don't know. I just grew up like I guess using free software and watching things like Revolution OS and all kinds of stuff, right?
Born within 5 years of 2006, bro.
To not reveal your age. So what are you like 25 Fedra or something?
25ish.
Remember when maths building lab had WW equals worldwide waste on the whiteboard? Everyone agreed so no one erased it.
Early 20s.
I am in my early 30s.
Yeah. So, just a baby. Yeah. Oh my god. I feel you're making me feel old, Bedro.
It's kind of cool. There's a like diverse like amount of people I bring into the stream though. That's kind of cool.
Yeah, 90s. The '9s was cool. Actually, I find myself like being stupid nostalgic for the '9s, even though I only lived in the '9s for like, I don't know, eight years. I was only alive in the '9s for like eight years. A couple of which I remember like 97 onward is when I started having memories, right, girl? You need to visit Greece or Albania for this summer? That could be cool. I need to wait for my passport to come though. It's still printing.
They're like it's expected by June 4th.
like okay so without my passport I am going nowhere fast but basically when we went to Portugal I had like a taste of warm weather during the Canadian winter and now I'm like hooked. I'm like I'm out of here.
Yeah, good old travel.
Good old passports. Nothing beats that.
Scan your face. You scan your passport and you travel around.
holiday and Tom's during the dog days of summer.
Actually, I don't even think I'd want to leave Toronto in the summer. Like, Toronto is a super fun city in the summer.
Super fun. Like, really, really fun city in the summer.
It's very common to just be walking around somewhere and there's some brand giving away free drinks or something.
God, my nose is so itchy.
I really want to move to Canada. Not going to lie. Canada's I kind of have a problem with immigration. So, um and winter sucks.
Winter is okay until like after New Year's, right? Because like typically, especially in Toronto, like in December, you kind of have like three weeks of real winter and then right up until after New Year, once New Year's Day hits, then it's all downhill from there. The next four months are just [ __ ] miserable. Basically, next four or five months are like miserable.
Yeah, once you get to January and February, oh, and then like those are the worst cold months. And then you get to March and March is just like rainy and cold and overcast and [ __ ] miserable. Like March is like the most [ __ ] month of the year.
Absolutely.
Crazy database. Yeah, why not use UTC for time stamps?
Uh, I don't know because I don't really care at the moment.
Oh man, why is my nose itchy behind the microphone here?
Canada has deers. Good.
You run it once to create the table.
Yeah.
Hey, wait a second. Didn't I put Oh, yeah. Okay. I thought I put the extension in there.
I don't know how to pronounce that.
Nadia Trumpo, you become a digital mailman. You will regret not having used UTC in your database.
Okay, that's fair.
It's pretty easy to set the time stamp though, I think.
So basically Bedro when you have a database you have like migrations right and that's when you create tables.
So usually there's an initial like schema for your database and then which is like you just create a bunch of tables. Then if you have a migration you typically have code that is an is like the up migration which creates like tables and stuff and columns and junk and then the down migration which undoes all of the up stuff.
But yeah, typically you run migrations once just to change the structure of the tables and the database.
You don't run it. You don't run it every time unless you want to unless you're starting from a clean fresh database in which case you would want to want to run it, right?
That's why it says create database game.
And then Which it probably should not say create database game actually because then that means I have to connect to the game database.
Create database game connect to game.
What squeal is this? SQL light. This is Postgress or Postgress Post Gree SQL or whatever.
Why do I have that corporate shark upper management style? What? What gives you that impression? I'm I'm not even I'm not like I'm not even an employee.
SQLite works for this project. I mean, it might work. SQLite is an in-memory database though.
Imagine being employed.
Can you imagine you guys? I cannot.
If I give scrum master vibes, what should I just go out and become an agile coach? Then like companies can hire me. I'll be an agile coach, whatever that means.
In memory DB it's is persistent though, right? No, an in-memory database means it lives in memory, but you can query it like a database, right?
SQL light. Yeah, I'm sure that it like writes to files, but it's largely in the in-memory database.
Yeah. Well, that's what they mean when they say embedded database, right?
SQL light lives in one database or one file call it migration database and table creation cycle was so confusing. This migration is always associated from moving from one system to another. Well, I I guess you can think about it right when you say like a a migration, a database migration, you can think about it as in moving from one schema to another, right?
That's how I would think about it because when you add tables or you change relationships, right? you change relationships in your like entity relationship diagram or something.
Technically, you've created a new schema, right? You've created a new version or a new schema. So, you're like migrating to that new schema.
I think that's where it come from comes from. I'm not 100% sure.
ignorant, incompetent. I would never have been laid off and still have a job.
Um, I don't know if that's how that works, Nadia. I think people are just laying off people left and right because it's good for the stock market.
Investors love that [ __ ] you lay off like a bunch of people and say because of AI investors, oh my god, they will just they just gobble off all your stock. That's really what's going on here.
I do not know about the SQL terms of service. SQL light terms of service.
Gross but true.
There are two now in the Janet's create table guaranteed to be equal.
Uh maybe yo Zed, what's up?
Zed Asia.
Welcome raiders. Hope you guys had a good stream.
Raiding back. How's your stream going?
Uh, it's going. I'm not writing a lot of code today, but the other day we did figure out the client side prediction once and for all. It works properly now.
So, that's cool.
the rule.
Uh, wow. Okay, that's um weird.
Number 63. Love Chastity.
Hell yeah.
Who's chastity though?
Going to serve 100k users. SQLite is not a good choice.
Yeah, that's this is kind of be not addicted to wine. What is this list?
attribute to God and not to self whatever good you see in yourself.
That's weird.
Yeah. If you don't want to if you don't want to [ __ ] with all the SQL like god stuff, there's also um H1. It's very similar, I think.
Chat being weird again. No, apparently SQL Lite is being weird again or always was weird.
The founder of SQL Light and all current developers have pledged to follow the spirit of the rule to the best of their ability.
Okay.
awkward.
I mean, if they're that's their thing, that's cool, I guess.
42 is weird.
Maybe maybe SQL SQL light is a cult also love fasting.
Wait, what? Love fasting.
There's something sus going on here.
Definitely something sus.
Hey, see a bit. What's up?
Again, we don't want to install any database on machine.
It's a little um it's there's just a few things in here that are kind of sus.
Oh, I like this comment from Hacker News. I'm not religious, but I've always liked this. It's fun to think of the SQL SQL light developers as a small monastery. If monasteries can produce beer for the world, why not software?
do not love much talking.
Talking good.
Yeah, we we we need some island [ __ ] going here probably.
Yeah, I don't Yeah, frig. I feel like I've got to like think about the game a bit more, then start like creating a list of things that need to be done and then figure out which order those some of those things need to happen in.
Probably likely if that makes sense.
slashplan for plan.md first island [ __ ] is a real punchy name I thought about calling it highland that's kind of dumb that's kind of a dumb name Island. Highland.
Guess where you're going to end up.
What other IDM IDE would I recommend?
Uh, I don't know. I like some of the Jet Brains IDEs. I mean, they're really all the same IDE except for fleet. Um, but like yeah, I used to use Goland a lot for Go Sea Lion for C and C++ streamer crossing. Guys, look. Look. It's night time in the game world now.
Isn't that cool?
Now the clock's gonna roll over because I need to fix the clock, but whatever.
I could call it SQL Land.
Amazing. Great name.
light land. I think we're too fixated on the island part. It is an island. Like there are islands, but it's more of a survival thing. Stardew Islands. Like it's a what's it called?
supposed to be a survival kind of adventure dealio co-op thing going on, you know, mini survival.
What language is this? Closure. The secret of chimpanzeee island.
Oh gosh. Uh.
Oh wait. Yeah, we're not. There's no closure on screen. This is SQL.
That's funny.
Wait, that's kind of cool. That's kind of a cool name.
Survive.
Is this survival? It's survivalisle.
Survival. Survive. But it's like isisle but survival.
Oh, that's kind of cool.
I'll credit the YouTube streamer, the YouTube viewer ID with the strategic inspiration on that. No, survival is a horrible name.
We have cats on the island. I don't No, I haven't decided yet. I don't know, you guys. I haven't decided. Okay.
Survile. Survi survival.
Survival. Survival. It's pronounced survival, but it's spelled survival.
Come on. It's cool.
Make setup and tear down SQL for your tables. Um, yes.
Ice coating cat.
Ice coding kitty cat.
Meow land. Meow mountain.
We're going to climb a me.
How do I die in the game?
Good question.
I also haven't thought about that either. I must think more. I must write down things and think more.
This is on screen. There's SQL.
Maybe you die of boredom. Wow.
Ouch.
All right. Well, I'm gonna I'm gonna go.
It's about that time. And yeah.
Should we raid somebody on Twitch?
Die in the game if you die in real life.
Yes.
Freya Homeler. Who's that?
Yeah. Okay. Whatever.
Looks like she's having a good day. And uh yeah, cool. Well, I'll have to put some more thought into this game stuff.
So, but yeah. All right. I will see you guys probably tomorrow.
Bye.
Bye, Janet. Love you.
Adios, amigos.
相关推荐
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 views•2026-06-01











