Technology
184: Asynchronous Programming
In episode 184 of the podcast, the hosts dive into the world of asynchronous programming, discussing its importance and practical applications. They also explore the alarming rise of AI-driven scams, ...
184: Asynchronous Programming
Technology •
0:00 / 0:00
Interactive Transcript
spk_0
Progaming through down episode 184 a synchronous programming take it away Jason. Hey everybody, um, this is a gonna be a fun topic
spk_0
I think this is something that I don't think they teach this
spk_0
Well, you know, this is gets back to my like I took so many theoretical classes
spk_0
I didn't really take anything practical and college but but they didn't I don't remember learning about this at all in college
spk_0
It's extremely important and useful so I'm excited for us to get into it
spk_0
But before we do all that I wanted to talk about something that kind of blew my mind that happened recently to have someone in our neighborhood
spk_0
Okay, so imagine you get a call and it's your son's voice like it's actually actually I don't know if it literally was his voice or if it was just a voice of a child is age
spk_0
But basically it's it's this voice telling her it sound like her son saying hey, I am
spk_0
Actually, I'm not gonna say her son's name even if I could remember it
spk_0
But I'm so and so you're actual son right and yeah, I fell and I need some money to like you know help me get to the hospital or whatever right
spk_0
And it's a scam, but it's like in your family members voice like they've cloned their voice and it says it's from them because they probably
spk_0
Go on your Facebook and figure out if you've ever posted publicly like hey me and my son. It's just they dug
spk_0
So it's a call you and it's like hey, it's Doug you know, I fell and I need your wire me some money or something like that
spk_0
so you know the person knew it was a scam, but
spk_0
It really kind of blew my mind. I've been getting a lot of
spk_0
AI scams on my phone where they text me I
spk_0
Don't say I want to fall for it fall for it in the sense like I didn't lose anything
spk_0
But the first time it happened it was like hey, you know, I'm in Austin at the six street parking garage. Where are you?
spk_0
and
spk_0
I was like well
spk_0
Who is this it's like oh you didn't save my number?
spk_0
I'm like okay. No, I didn't save your number. Who is this? It's like oh?
spk_0
Jolene or so whatever the name was the name I didn't recognize and I was like okay. Yeah, this is clearly
spk_0
But when I feel like you know, I could have proved that that one's AI
spk_0
But I feel like people are using AI to scam people and the one over the phone was definitely some AI thing
spk_0
and
spk_0
Yeah, I just wanted to throw that out there and get your thoughts free mind blowing down be careful
spk_0
I I mean scams in general are
spk_0
kind of an intro well
spk_0
Bad but interesting topic. I don't know how you say that like it's actually really unfortunate and scammers suck
spk_0
I don't know I don't understand
spk_0
Anyway, whatever that's in a side, but I think that big money, right? That's that's yeah, but still like
spk_0
I a lot of the people that they scam right so part of it that's confusing to me is like
spk_0
Oh, this is an obvious scam and it's like well, that's part of it though. They want
spk_0
To kind of weed out people who are gonna be like they want someone who's not gonna catch on later and so you know
spk_0
They want someone who isn't gonna ask questions like you're insistent of who is this or
spk_0
Potentially looking for you to to fall into it sort of the you know when you're sometimes you're young you tell these jokes
spk_0
Where like you're hoping the person will give a certain reaction so that you can sort of like say something funny in response
spk_0
And so they're sort of you instead of saying who is this and they say oh you didn't save my number and go oh is it
spk_0
Sarah and then like yeah, it's Sarah and then you're like oh it's Sarah and then but it's not right like they were just letting hoping you would say a name first
spk_0
And like you said it can be really easy to fall on these and I do worry like you're pointing out
spk_0
AI on two fronts scaling these out so that they don't even need someone to be attentive to all of these different threads
spk_0
That you know they can just mass do them and have auto responders and people people busy until they like figure out something is scary
spk_0
And then the voice cloning eventually video cloning
spk_0
I the video cloning the video stuff is getting to the point where everyone goes
spk_0
Oh, it's so obvious. It's so obvious and they do like some frame by frame like look at the and it's like
spk_0
But who in the small little window when you're scrolling through social media can see like this frame by frame pixel
spk_0
Analysis where you know the pinky finger glitches out for for one frame or whatever. It's you know
spk_0
I remember you and I discussing on this the Will Smith eating spaghetti. Oh, yeah, that wasn't that long ago. Yeah, now now
spk_0
Like I saw some video from a
spk_0
Football game over the weekend where one of the coaches had an issue and somebody made an AI video of him like like
spk_0
Basically super vulgarity like dropping like saying how bad it was whatever and it just turns out it was like completely fake and
spk_0
They they said it underneath but you had to like click it and look for it a lot of people probably reshared it thinking was funny
spk_0
Like look the coach like basically going off on on reporters and stuff and so it's becoming more and more
spk_0
Revolent and it only takes you being off guard for for sort of a moment to get wrapped up on this
spk_0
Um, so yeah, definitely be careful, but I actually have a
spk_0
Observation about this. Okay, so you mentioned like you know
spk_0
We all kind of go. Oh, yeah voice cloning. It's dangerous. You and I have lots of you know audio out there
spk_0
It's you know whatever you but now like you see demos on YouTube or people showing hey from even just maybe 10 seconds have an arbitrary
spk_0
Sentence they can sort of you can use a different voice or clone the person's voice, you know do voice to voice sort of transition
spk_0
Yeah, I so I've seen these before so then I wanted to do this for for
spk_0
For basically like an audio enhancement thing. I was I had some audio I'd recorded somewhere and I was like oh
spk_0
I want to use voice cloning. I know it should be possible to like
spk_0
Feed it my own voice from a podcast recording or something high quality
spk_0
Feed it the like not good quality and have it basically reread that stuff in the high quality voice
spk_0
Which is a use case that supposedly possible and then you immediately bump into the fact that like
spk_0
It's actually really difficult like like as much as people say oh there's gonna be this get it's non trivial
spk_0
Like I guess there's a lot of pay solutions
spk_0
But it's often unclear if the paid solutions are any good or if they're just like the open source stuff that someone's charging for
spk_0
But like cobbling together all of the like you go download this model
spk_0
You run it on comfy UI you do that like it's still in the realm of like this is difficult reasonably difficult to access
spk_0
So for all of these AI things everyone's like oh, it's so easy to do this and then you're generating an AI video
spk_0
Like we all know we've all seen some crazy AI video that was hilarious or partly convincing
spk_0
And then you go try to do it and I know maybe I'm just not smart enough for paying enough attention
spk_0
But they seem a little cherry-picked like people may have gone through a lot of work to cherry-picked the one convincing video
spk_0
And if you go do it you think it's gonna be magical and it's actually a little disappointing
spk_0
That's been my observation. Yeah, I think there's there's two things there one is um
spk_0
You know definitely
spk_0
It's uh the open source stuff is not trivial to get up and running
spk_0
I do think that the paid solutions are like you know pretty accessible
spk_0
But but you're also right that
spk_0
That um you often have to iterate a lot and you have to get it's almost a skill in and of itself getting it
spk_0
To sort of behave and feeding in the right sort of negative props so that it doesn't go off the rails and all of that
spk_0
So yeah, that's a whole skill in and of itself
spk_0
Yeah, I someday it is getting better fast so I think we are getting close but uh
spk_0
It's one of those things where I was thinking about this the other day. It's like if you could describe where we are right now with AI
spk_0
People be like oh, that's gonna be so magical. It's gonna change everything the world like
spk_0
And then we got hearing is like oh, huh, you know like I don't know like and AI could clearly probably pass the traditional sort of
spk_0
Turing test. I mean maybe that's controversial and then now it turns out like oh yeah, but it
spk_0
It didn't just solve all of life's problems like you know
spk_0
Yeah, yeah, I think that I to double down on that. I think AI is just not going to create the kind of monetary value that people thought it would
spk_0
You know like the thing about it is
spk_0
The reason why Fang got so incredibly rich is that
spk_0
Now people can like be super productive
spk_0
anywhere
spk_0
You know and so like you could be waiting in line for
spk_0
Uh ride at Disney and like working, you know like you could be answering emails talk to the people on slide like
spk_0
That was something that in you know
spk_0
1999 you couldn't do if you were waiting in line for an hour at Disney you couldn't do your job right and so you know
spk_0
combination of of apple
spk_0
Google for search. She's other things like allowed people to be like super productive
spk_0
um you know and they're even when they're idle and
spk_0
Uh and for AI it might it might do that
spk_0
Um, but it hasn't done that yet. It might take a lot longer to get there
spk_0
Okay, we're way off the AI scam thing
spk_0
But I have heard some recent interviews alonglines and they said actually like the the thing the like what will be the inflection point or the
spk_0
The turning point is when all of these advances sort of make it into robotics
spk_0
I could see that. Did you think that's like a different economic equation like when
spk_0
Not just oh you can be
spk_0
taking the AI and
spk_0
Making programmers more effective or making people's email responses better or like sure all of those things maybe
spk_0
Economic value is a little like but like if you had
spk_0
The level of improvement we've seen there in sort of like robotics. Is that gonna be a major unlock if you totally
spk_0
Totally. Yeah, so here's a very simple example like
spk_0
Think how many parents
spk_0
Have to like either change their work schedule or do something kind of wonky
spk_0
Um to just like
spk_0
Shuttle their kids around. Oh, yes, you know. Yeah. Yeah. Yeah, just driving. It's like oh, I pick
spk_0
Uh one of my kids up from school. I drive them to the soccer field and especially when they get older
spk_0
They don't even want you know, they don't want parents to be sitting there like watching the practice
spk_0
Yeah, exactly. It's kind of hard to see you
spk_0
Yeah, yeah, so they either go home then or whatever like that just what example
spk_0
Like you could have a robot that goes up and down the street taking everyone's trash or the curb
spk_0
I mean, there's just so much you get unlocked with robotics, but I think it'll take a while
spk_0
All right, yeah, well, let's keep let's keep moving through the agenda back
spk_0
So yeah, don't get scammed don't get scammed by AI
spk_0
I'm careful folks be careful and and warn your parents and grandparents or you know family that like as well
spk_0
Who may not be as aware that that's a thing?
spk_0
Yeah, um, yeah very true very true. All right
spk_0
What's the first news of the show? All right, so I have I have no news this time
spk_0
But I do have two good video links that I wanted to shout out
spk_0
And so the first one was a recent video by
spk_0
Sebastian actually didn't look up how to say his last name. I know I'm not gonna try so log log
spk_0
Okay
spk_0
Okay, anyways, and it's coding adventure
spk_0
Ray tracing glass and caustics. This is a series of videos that Sebastian's been doing. They're sort of like the
spk_0
In a similar vein as I guess like um
spk_0
Three blue one brown like you know, it's like sort of a nice quiet pace
spk_0
But like deep content and just sort of like working through something so they're not like five minute YouTube shorts
spk_0
They're they're sort of longer form videos
spk_0
And he's walking through the process of coding he's been working on a ray chaser recently
spk_0
But going a little step further than the normal and so in this one he's sort of talking he gets to try a little bit about like
spk_0
Physics physical based rendering and sort of like how
spk_0
Glass has certain attributes and indexes of refraction and sort of if you build up from like really simple
spk_0
Sort of rules you get very complex interactions almost
spk_0
Becomes a physics simulation, right? Like the caustics is the like very bright shiny thing that if you have like a
spk_0
Glass object you get you know sort of like rainbow diffusions in some areas and some areas you get you know like very bright
spk_0
shiny spots or whatever
spk_0
And if you play video games often you won't see those kinds of things because they're not really meant to be simulating physics
spk_0
They're meant to look nice uh and right past
spk_0
Yeah, but in ray tracing you can be kind of more physics based but uh a lot of videos on his channel that are just like really really good
spk_0
Um, but this one's really nice
spk_0
And then the the reason why I wanted to bring it up here other than like you know, I mean
spk_0
Maybe this is really cool to you. It's great background photo
spk_0
This is kind of tends to be the YouTube I watch
spk_0
I tried to explain to people there's people who watch YouTube and it's like you know
spk_0
More the shorts content or entertaining, but there's a lot of this like
spk_0
Science engineering kind of stuff out there that I feel is at least a little bit better than I'll just call like brain candy
spk_0
And it's sort of replacement for you know the TV growing up
spk_0
We were like watch film either science guy or something that would be like you know a little and even that was yeah a
spk_0
High-strung I guess but you know teaching teaching sort of uh science concepts and an entertaining way
spk_0
Um, and there's a bunch of people in this vein
spk_0
But I will say that I also began to realize that a lot of the classes I took in university you can kind of end up
spk_0
Not building a curriculum, but if you just watch some of these channels about how
spk_0
Micro processors work or people kind of building their own circuits some of this stuff about ray tracing
spk_0
You get a lot of what a traditional at least
spk_0
When I was in college sort of like computer science degree would cover
spk_0
So if you can kind of get through the basics of programming learning about like graphics learning about like data structures
spk_0
He gets into debugging because by necessity he like oh here
spk_0
I didn't check the sign properly or I did a dot product and I didn't think about like this this set of inputs
spk_0
And so you actually end up
spk_0
Backing your way into a lot of that education and so I think that's really an interesting thing to say if you can if you find this at all entertaining
spk_0
I think there's like a a definite learning ability that can come here from sort of watching this
spk_0
And sort of seeing how how they kind of go about problem solving and working through things and it is a little bit more entertaining than just watching
spk_0
I you know
spk_0
I don't know if he does it anymore but not choose to do like live streaming of him
spk_0
Programming or whatever like and I really yeah, I know we should do that
spk_0
No, no, no, no, I don't know. I never made able to watch one of those. This is a more edited form of that
spk_0
Cool um, I have to check that out. I used to do a lot of that ray tracing stuff back in college. It's very fun
spk_0
Um, all right my news is
spk_0
Actually, okay, so it's kind of related to the to the voice quoting oh, okay
spk_0
Um
spk_0
There's a new open source model called higgs audio v2 and it's from a company called a boss on AI and
spk_0
It's it's like really really good um
spk_0
So historically this company called 11 labs had been kind of dominating the space
spk_0
So if you wanted to voice-cloning actually 11 labs. That's the way I've never seen before it's this day which is
spk_0
You can describe a voice and then say what you want that voice to say and it'll do it
spk_0
So you could say uh, you know any evil smelly ogre
spk_0
Says who's in my dungeon and it'll actually like make up a voice for that description and then say who's in my dungeon and that voice
spk_0
It just made up um this doesn't do that but but
spk_0
Um, the labs is paid though, right? I love the labs is paid that's right um, but this is totally open source and um
spk_0
It can clone a voice so you give it you know an mp3 of you kind of narrating something and then now it has your voice
spk_0
It could say anything um it handles like
spk_0
You know, you can do kind of like in a movie script or in brackets you say you know laughs or chuckles or whatever
spk_0
And it'll actually laugh while it's talking
spk_0
Um, it's really really really good. Uh, it's definitely just like heads and tails above
spk_0
anything I've seen
spk_0
Um in the open source world
spk_0
So um, I'm gonna try and play with it. I have some funny things I want to do. Oh not I'm not gonna run a scam call center
spk_0
Oh, no, no, no, please don't but I have some other funny things that I I would like to do with it
spk_0
Um, so I'm gonna try and and mess around it, but I I saw a demo that one of my co-workers
spk_0
presented um where they cloned um their own voice and it sounded really believable
spk_0
So so it's like we're getting to that that place you talked about where anyone with the GPU could just do this
spk_0
Yes, so what is the I guess for examples like a lot of these they don't need to be like super fast real time
spk_0
I know they could run in a city, but I don't feel
spk_0
Maybe we're just still too early that so for text llms open source
spk_0
And and maybe it's just because I've never spent time there's something like lm studio kind of gets there
spk_0
So it's like a gooey that you download and then you from there it offers you links
spk_0
And I hope someone in my family was trying to use some offline llms stuff
spk_0
And so I was able to walk them through pretty easily like you go there
spk_0
It offers you models um that are appropriate for where your computer tells you you big tells you if they're too small
spk_0
Has filled drink and you download it gives you the nice traditional sort of like chat gpt style like you can type in text in the bottom
spk_0
It has prompts in it'll answer, but it has like you can go deep on it
spk_0
But it sort of harnesses a bunch of the open source stuff under the hood
spk_0
So you can do like traditional chat app with one of these offline llms
spk_0
You can switch models midstream and it'll like just feed the context into the new model like it kind of just
spk_0
Works as a as a graphical user interface, but for a lot of these other ones like the image generation
spk_0
I don't feel like it says good video generation not at all these like audio ones sort of I've never seen anything like that
spk_0
I feel there's still like a bunch of this
spk_0
Maybe we're just still too early, but like
spk_0
Single front end so we're audio right you're either wanting text you want like the thing that target the source
spk_0
What did like they're feel like there's only a few moving pieces
spk_0
Maybe there's just not enough users, but it feels like you'd be really easy to just build an app
spk_0
That's like a front end and handles like I'm looking at the get hub link for the one you were just talking about in it
spk_0
How to set up conda or virtual environment or it's like
spk_0
But I'm never going to describe to someone in my family how to do these steps like they would never be able at this level to use this
spk_0
Yeah, we're still we're still not quite there yet on the user experience totally agree
spk_0
I think the quality is getting there though like the the flux
spk_0
Text to image model is really really good mind blowing
spk_0
It just needs a better user experience
spk_0
And the new one we don't have it in our news, but the new one Google did nano banana or whatever have you seen this one too?
spk_0
I played with it a little it yeah
spk_0
Specifically for like image editing tasks so like
spk_0
Saying I have an image and I want to change it in some way like I was asking it to do like
spk_0
people removal from background and
spk_0
It works really good. Yeah, it's gonna scare you
spk_0
Yeah, now that one's paid right that's a Google product, but still like yeah, you're right. We are getting really close on the image stuff
spk_0
Yeah, totally
spk_0
Okay, my next news article is a YouTube channel as well. Okay, that's a thing anyways
spk_0
And this is on my as as people have listened to the podcast before no
spk_0
Machine learning AI is not my background
spk_0
But um understanding sort of how the back propagation works how the gradient descends and sort of the model trainings is all very like interesting to me
spk_0
I had a book of the show
spk_0
A little bit ago
spk_0
That you know kind of similar or maybe it was even a news article, but I think that
spk_0
I'm continuing to try to learn and sort of work going back not just as a how do you call like practitioner like user of these things
spk_0
But trying to understand some underlying thing and I think there's some concepts there that can cross apply to other
spk_0
Sort of like traditional computer science sort of applications
spk_0
So it's just definitely like an interesting thing to learn about it is pretty wild to see AI go kind of mainstream
spk_0
It's it's been just a really weird experience like all these people are now talking about stuff that was like really not that cool
spk_0
About that longer. Yeah
spk_0
Yeah, oh, I'll tell you off. I just observation about that
spk_0
But I know you've been in the field for a very long you were in the field before it was cool and now it's cool
spk_0
So like that makes you cool
spk_0
Maybe yeah, I don't know or maybe it makes me too early. I don't know. We'll find out
spk_0
But too early everyone's too early for something right that's the thing so even now you might be too early if it grows another 10x
spk_0
So yeah, that's a good point. It's like Bitcoin
spk_0
Oh, yeah, well, I wasn't okay. Yes, that was what I was
spk_0
Okay, but I have to I focus so the channel name is Welsh alabs
spk_0
And they have a sequence of videos that they were doing called how models learn
spk_0
So this is the first video that I've linked in the show notes. You can just look up Welsh labs
spk_0
It's called the misconception that almost stopped AI now. I am not Jason. So I cannot vouch for the sort of like
spk_0
how
spk_0
Truthful versus narrative the backstory is or any of that stuff
spk_0
But they're kind of talking about gradient descent and how if you give the
spk_0
Sort of how I understand gradient descent to work the very simple
spk_0
You kind of heard about it and computer science
spk_0
Classes you've seen it on the internet once or twice
spk_0
And the way that you would kind of assume it might work
spk_0
It just feels like you would get stuck in local minima all the time with how big these models are right like these models
spk_0
The dimensions are really high the parameter counts are obscene like you would just say there's
spk_0
Intuitively that was sort of what I thought too. I didn't really understand the unlock of deep learning
spk_0
And sort of like what happened because in my mind, you know, you kind of picture the 3d
spk_0
3d scene with all the noise in it and some well in the middle
spk_0
But how do you get there? How do you know where it is without just search for the
spk_0
What is it called the like it's called a Gaussian like does that some brero hat function?
spk_0
We kind of get trapped outside of the hat. Yes. Yeah, so I
spk_0
You're right and the video series kind of walks through the same same thing like this is the simple explanation about gradient
spk_0
Here's why it would work except you like as you point gotcha like it doesn't really work
spk_0
Not really a gotcha but it doesn't really work except wait it did work
spk_0
Why what happened you know like and they walk through how some of the things about higher dimensional spaces about batch
spk_0
Batching about some of the techniques that are applied sort of help actually
spk_0
Almost always guarantee you sort of get where you want to go to some degree
spk_0
With you know obviously probably some caveats, but it just a really well handled explanation
spk_0
And they do a couple really interesting things I've not seen before so rather than just sort of give it as a simple explanation
spk_0
they actually take some
spk_0
Deep models some like early versions of GPT's and extract some of the layers and sort of talk about what is happening
spk_0
Sort of like visually saying hey at this layer if we go here in this actual model. Maybe not state of the art
spk_0
You know, I trained it and this is what you kind of see developing over time as a consequence of this technique
spk_0
Um, and then later on even after this one of the videos is talking about
spk_0
sort of how you would take
spk_0
Coordinates and divide them up with a sort of classifier into boundaries for a really complex country boundary
spk_0
It's one of these ones where like there's a city which one
spk_0
Polygon of the city is a part of one country and the rest is another
spk_0
It's like some some really weird place and how that as you sort of take these linear equations
spk_0
Stack them up do these other techniques that you can sort of start approaching a generalized representation
spk_0
Of even very very complex sort of shapes and and spaces and I just really think it was well handled
spk_0
It really helped me um, it's one of those things like I kind of had to watch it again
spk_0
Just to kind of like okay, I see where it's going
spk_0
But definitely also kind of entertaining
spk_0
So if if you I guess like me have some understanding of some of these things
spk_0
But there's a there's like a gap right there's a goal from okay
spk_0
I kind of know what gradient scent descent is I could have a casual conversation about it
spk_0
But how that ends up getting applied to giving us you know these AI models that we have today is there's some
spk_0
Some steps thising steps in between and this isn't gonna take you all the way or make you sort of like
spk_0
Able to design state of art models are improved them, but giving you better glimpses into sort of some of the the the techniques that are used to cross that chasm
spk_0
Yeah, totally um, yes, it's really interesting. I think um
spk_0
Um, it is pretty remarkable that it works. Uh, I will say that
spk_0
That people get hung up on on a lot of these like it's not optimal or you know theoretically this can't work or doesn't work
spk_0
or etc. And um
spk_0
My always my sponsor that is like it just has to be better than what's out there now
spk_0
And so if what's out there now is nothing it just has to be better than nothing um and uh
spk_0
And so the bar is just a lot lower than like the theorists want it to be
spk_0
Um, you I actually think the thing that almost made AI not happen was people's fear about getting wrong answers like remember when
spk_0
You know gpt is as infancy and facebook released this thing that like wrote research papers. I don't know if you remember that
spk_0
um
spk_0
I forgot what it was called, but you know it was panned and someone made a research paper where it's like uh
spk_0
um like the benefits of
spk_0
Of like drinking urine or something. There's some
spk_0
August thing and you know because it's like um
spk_0
You can talk past the sale with AI you could say like
spk_0
Hey, there's there's incredible benefits in drinking urine write the research paper that kind of explains this phenomena
spk_0
And it'll kind of take what you said
spk_0
For granted and then just go off and do the thing
spk_0
Um, so you can trick people you know, that's what people are doing with the research paper thing
spk_0
But you could also just encounter problems like the famous uh how many ours are in strawberry
spk_0
Um, you know, should you put glue on pizza?
spk_0
It is always famous examples where the AI's gone wrong
spk_0
and and people were just really fixated on um
spk_0
On all these on on the worst case scenario and there's actually like uh there's a um
spk_0
Uh, there's like a i don't know what called a mental disorder, but there's like a uh
spk_0
I went to this like a
spk_0
Career coaching thing it was like a big seminar is a lot of people and they still the lady who was giving a seminar
spk_0
Spent a bunch of time talking about worst case scenario thinking
spk_0
And she's like this is one of the biggest problems. I see as a career coach as a life coach is people doing worst case scenario thinking
spk_0
And not thinking about average case scenario um or or also best case scenario
spk_0
But more importantly average case scenario right and so there was a there was a phenomena of worst case scenario thinking with AI
spk_0
For a long time and and people
spk_0
You know, just didn't want to release something like chat gbt and uh we'll give open AI a bunch of credit
spk_0
that they basically put it out there
spk_0
and uh and got it to be really popular and as you know
spk_0
They got a bunch of pushback they dealt with that, you know, in a in a way that allowed that to eclipse that problem
spk_0
Yeah, and I think it is still like people talk about the hallucinations and the incorrectness
spk_0
I mean, I think it's not fully solved but like you said that's not
spk_0
Meaning it isn't beneficial. We just have to learn
spk_0
You know, I think the same to your point you kind of say
spk_0
Uh, take almost anything we have today. Oh a car like a car is dangerous like cars are gonna kill people
spk_0
They're gonna drive fast and it's like yeah, that's true um
spk_0
But like there are still benefits there are still other things, you know, we have to learn
spk_0
Collectively individually how to like be responsible with the use of of tools and
spk_0
Yeah, I think to always with the new things there's a debate about like usefulness versus
spk_0
Danger I guess and you just say we're scathing you can always hyper fixate
spk_0
Have anything we do has sort of danger right going outside and exercising people I someone told me oh, you know
spk_0
You exercise you can have a heart attack like people say often when you exercise you you like you can cause a heart attack
spk_0
And it's like
spk_0
But by ex like but also by exercising you are lowering other issues that lower their probability of having a heart attack so like
spk_0
You know
spk_0
So your solution is like sit inside don't go outside don't exercise don't move like it
spk_0
You're gonna you're gonna die from that for sure, you know, and so yeah, these balances can be really difficult to find
spk_0
Okay, wow, we took that in a different direction, but only well
spk_0
I guess it segway is nicely to my last news, which I won't dwell on because we're we spend a lot of time talking about news
spk_0
But it's basically an interview with Peter teal and there's a lot of content there, but the thing that I took away that was really interesting was
spk_0
You know one point the interviewer says why AI? Why is there so much focus on AI?
spk_0
And I expected some kind of answer like unlimited productivity or you know wages can go to
spk_0
You know the price of oil or something, right, but but actually what he said was um
spk_0
It's the only thing like AI is like the only like really exciting thing out there and uh
spk_0
That that was pretty mind-blowing. It's like
spk_0
Is that you know if that's true like why aren't there more exciting things and maybe like
spk_0
I do feel like there is
spk_0
Attendancy for everyone to kind of chase one thing at a time like remember when
spk_0
Car play and android auto and just like getting
spk_0
Getting stuff in the car was such a big deal and all the companies were copying each other
spk_0
And and now we're kind of seeing that with AI and it's like we just for some reason in society we get like just fixated on one thing at a time
spk_0
Um
spk_0
But but I thought that was really interesting
spk_0
Um, I wonder if
spk_0
If this is like a recent he's he's trying to make it sound like this is a recent thing
spk_0
But I wonder if we've just always just been fixated on one thing
spk_0
Interesting
spk_0
I think the
spk_0
In a similar being what I've heard a bit as well like the focus the drive towards it from
spk_0
For on variety of facets is
spk_0
It feels close to something like akin to an escape velocity
spk_0
So like getting into a post-scarcity world way you can get whatever level of like engagement you want with it
spk_0
But basically if we can develop in somebody can develop an AI system that becomes sort of super intelligent
spk_0
And then you can assign it to the task of improving the AI systems somebody will will basically like break past
spk_0
The barrier right get into orbit whatever reach escape velocity
spk_0
And then they it'll be like winner take all and so you see a press from country level from
spk_0
Company level as almost an existential risk because if some other company does that
spk_0
Then they will have a system which can basically build any system and so search you know chat
spk_0
Image and like we'll just get one by somebody who can
spk_0
Basically devote all of the you know computational power they have to just building all of the other competitors
spk_0
Stuff and then those competitors will only have whatever resources remain from their sort of war chest
spk_0
To spend to to also get there or they'll just be drained of you know financial inputs
spk_0
And so maybe it's a bit the same it's like the only interesting thing but like there is also this
spk_0
Maybe it's like focusing on the danger part you were saying it's like there's this focus that if you could get to this
spk_0
Sort of recursive AI that improves itself then
spk_0
That will be so transformational that whoever if someone gets there first like before everyone else by enough of a margin
spk_0
That the like everything changes
spk_0
Yeah, it's interesting. I wonder
spk_0
Wonder to what degree that's true
spk_0
um
spk_0
You know, I feel like
spk_0
It
spk_0
Yeah, it's that's a that's a really interesting perspective. I think that people
spk_0
I think that okay, even if the AI can do general things
spk_0
When you go to evaluate it you're going to evaluate it on your specific thing that you care about and so
spk_0
In that sense like that part is not going to scale
spk_0
um
spk_0
But but maybe we can get the evaluation to be
spk_0
Somehow like it okay in our case, you know, the earth is our evaluator, you know
spk_0
It's like it's like we went out and we hunted the tiger and one person
spk_0
You know got the tiger and the other person didn't that second person goes hungry
spk_0
And so we have the planet earth is our as as early man's evaluator
spk_0
um
spk_0
But you know, now we have to have synthetic evaluators for synthetic problems. I wonder if that
spk_0
Maybe that's like the next big job title, you know AI agent evaluator
spk_0
It's like the new data scientist or something. I mean there yeah people are talking about
spk_0
In the similar vein, I guess moving to completely synthetic input instead of using sort of the Wikipedia
spk_0
The x tweets
spk_0
Well x x is right in what they're called anyways
spk_0
The leagus x yeah the x is the x x. Oh
spk_0
The x is on x. Yeah, I don't know the the reddit post, you know
spk_0
Basically instead of all of the corpus is just not enough like can you move equivalent to alpha go, you know moving from
spk_0
the
spk_0
You know recorded games of go to just self-evaluation like can we shift that and like what happens if you
spk_0
invent basically like a parallel
spk_0
universe of input and train on that and like what does that unlock or or enable
spk_0
Yeah, so he uses a robot example
spk_0
um
spk_0
You know can the robot effectively know if it if it when it goes to take your your uh trash can to the curb
spk_0
Can it effectively? Can it know is high accuracy whether it did a good job or not
spk_0
You know, I mean, I guess it could take a picture of
spk_0
You know your your trash can on the curb, but like
spk_0
It's the robot did a bad job. Maybe it also does a bad job of knowing if that picture is correct
spk_0
You're like maybe what if it dumps your trash out on the in the driveway and then takes a picture of that
spk_0
Is like I did a great job, you know, so it's like it's like it's just kind of you have you've sort of moved the problem
spk_0
And they still have a problem
spk_0
But maybe that is actually gonna and that's the self-driving thing you were kind of alluding to car stuff like
spk_0
It's a bit difficult fitting in current systems, but I mean, I think maybe the
spk_0
It what about if you think about the whole solution so the the job well done is
spk_0
did the trash end up in the dump?
spk_0
And that's did the robot system take the can to the curb did the garbage truck robot pick up was it able to successfully pick up without like so maybe the
spk_0
garbage can knows the mass of the trash that was in it and the mass that comes out at the end and if that ratio
spk_0
You know is less than one you get a bad score if it's over one you get a bad score
spk_0
It needs to be exactly the mass in is the mass out at the end
spk_0
Maybe you have to account for evaporation or something, but like yeah
spk_0
And then actually it becomes this end-to-end measure and you have to attribute
spk_0
Talk like you can improve the garbage truck you can improve the like roller outers you can you know whatever it
spk_0
And it
spk_0
tries to iterate collectively so for a while
spk_0
We just to end up with like giant dump trucks that back up to your house and try to like
spk_0
Go into your garage door and extra you know, so you just crazy stuff
spk_0
Yeah, yeah, I think I think that's kind of where we're stuck now is is we're using human even you know open AI all these companies are using people
spk_0
to evaluate the models and
spk_0
um
spk_0
And and that's where we have to get beyond it the models need to be evaluated by the earth somehow by the environment
spk_0
But I don't have a counter to what else is super interesting right now for everyone to focus on so I can't disagree with the thesis from yeah
spk_0
I mean either you know that's that's what made it so fascinating like if I could point to like oh
spk_0
You know gig economy is still a thing or something then you know, but there really isn't anything else
spk_0
Just kind of while I was like VR. I mean VR is dead maybe AR
spk_0
Potential yeah, it'd be cool. Yeah, space travel, but like it feels high barrier to entry
spk_0
Yeah, you know space travel I have a hard time getting excited about space
spk_0
Um, I don't know why it just doesn't really like
spk_0
It doesn't sit doesn't it doesn't excite me for some reason unless there's like gold on the moon. I just don't know about it
spk_0
Well, maybe I can only be excited about one thing and that's AI. Maybe it's a meat problem
spk_0
What about AI in space? Oh, mine is blown Dyson's your program to power AI. I can't get back into that
spk_0
All right, all right time for a book at the show all right
spk_0
I will confession corner. I have not had a ton of time to read recently. Oh, I I have not made a lot of time to read recently
spk_0
So I went back into my
spk_0
history of books and I'm gonna give a shout out to
spk_0
The Hobbit if you have not read the habit if you've not sort of
spk_0
Dove
spk_0
Jumped into the Lord of the ring
spk_0
Delved dived. Yes, it's belonged
spk_0
If you've not
spk_0
If you've not picked up your hammer and gone with the door
spk_0
Door foods to mine and okay, I'm gonna stop because someone's gonna call him out. I mean you haven't gone to Moria
spk_0
That's what I was gonna say, but I was like I'm gonna I'm gonna use it wrong because like I don't remember which ones the one that had the problem
spk_0
anyways
spk_0
The Hobbit is a sort of good entry into the world of
spk_0
Um the Lord of the Rings of JR token. Obviously a classic hobbit is I will say like a pretty easy self relatively self-contained
spk_0
contained read
spk_0
So definitely worth picking up if you've if you've never done. I do think there's a lot of folks and disagree who kind of said this
spk_0
It's JR are our token sort of set up a lot of the
spk_0
Arch type archetypes that we have today of
spk_0
Sort of dwarves elves humans and like some of their characteristics people complain those tropes are overplayed today
spk_0
But if you read modern fantasy
spk_0
There's a lot of built up stuff that you can kind of trace back um to the origins
spk_0
And I think it is a good story. I think sometimes
spk_0
People will say you know like for me the first time I watched the three stooches as like
spk_0
I didn't find it that funny. I'm like I seen these sticks before
spk_0
But it's like yeah, but when they did it
spk_0
It was like they were the people like they invented it
spk_0
But other people took it on I think the Hobbit to me doesn't really
spk_0
I don't know how to like suffer the same thing like you can read it
spk_0
And it is still good even though other people have continued to like pick up
spk_0
And sort of run with those concepts like it itself is still a sort of fun and exciting read
spk_0
Yeah, totally. I think if I remember correctly it's been a long time since I read it, but there is a ton of world building
spk_0
and um
spk_0
And it because it's older it does go at a slower pace. I feel like uh, you know, we're such dopamine fiends in the 21st century that like
spk_0
It's uh, it feels like
spk_0
um
spk_0
But like we just can't have something it goes as slow pace which if you've ever seen like old movies from the 50s or even like space
spk_0
Odyssey, you know, these kind of movies they go it's such a slower pace. It kind of blows your mind
spk_0
It's kind of the pace is cropped up over time. It's like a boiling water frog type of thing
spk_0
But um, so it is going to be a slower pace and a lot of world building
spk_0
But if you stick through it to the end
spk_0
I think it's a phenomenal book and it leads you into all the other Tolkien books
spk_0
Yeah, I've always heard it like called prequel to the Lord of the Rings
spk_0
But it was written before the Lord of the Rings so it's I don't think it technically qualifies as a
spk_0
As a prequel like it was the book written and then Lord of the Rings was written after so I don't know what you call that but it does
spk_0
The story contained does proceed the rest of the story of the Lord of the Rings which is even a larger tomb
spk_0
Even I think actually a little slower a lot more world building
spk_0
But Hobbit is definitely shorter. I think it's even considered kind of a kid's book
spk_0
But you know don't let us carry off if you're an adult, but it should be a pretty quick read
spk_0
Yeah, totally all right my book of the show is even more of a cop out
spk_0
It's it's what I've been doing instead of reading which is maybe a shame
spk_0
But it's in it's a New York Times game. So this is an app a lot of the games are free
spk_0
You can subscribe to get at access to the crossword puzzle the the famous crossword puzzle of your
spk_0
Times and some other stuff but um
spk_0
Um, but it's very fun. It's a simple app. It works offline
spk_0
So if you're off the grid you could still use it. I think
spk_0
I think it's something we're like after a couple of days. It'll stop working
spk_0
But if you go off the grid for you know an afternoon or something, it's fine
spk_0
And uh, it just kind of keeps your keep your mind go. He's got wordle the famous wordle
spk_0
But it's also got you know a few other ones and it's a nice kind of thing to help you kind of build your
spk_0
Vocabulary and literature skills
spk_0
Um, it's uh, if you want to kind of continue sharpen that axe. So
spk_0
I did see something that wordle
spk_0
We'll have to end in 2027. Did you see this? They're gonna run out of words
spk_0
Yeah, so basically they have like a dictionary of 2,300 words. They're on like whatever in the mid-thousands
spk_0
And so like in 2027 they'll they'll run out of like words and then people are going out
spk_0
Yeah, but they could just expand the dictionary sort of change the rules
spk_0
It's only like under their current rules have
spk_0
Not allowed to repeat words
spk_0
And stick to the words in that in that sort of like word list
spk_0
But yeah, I guess in its current form it has a finite number of like puzzles to have from its sort of dictionary
spk_0
Man, it's like we thought why 2k was fake, but it's real. It's just coming in 27
spk_0
World's gonna end what's gonna happen. They'll have to release wordle v2. They'll have to add an extra letter
spk_0
Yeah, that's right
spk_0
Oh
spk_0
Let it it'll be wordle light. They'll take away a letter and then world the luxe will add a letter
spk_0
And each one of this is a micro transaction
spk_0
Oh, man. Oh, okay, or two dollars you can have a wordle that is not expired. I'm terrible at word game
spk_0
So I thank you for this pick. I won't be picking it up
spk_0
Ha
spk_0
You can you I'll do it in space. How about that that way we both get it?
spk_0
We're all making him furious. I just don't got the answer. It makes me feel dumb
spk_0
Like I can't even get good guesses to keep progressing like I know I have I just purposely make bad guesses
spk_0
Just to try to get more clues and it's like I know I should be able to form a I can't and then I just like rage quit
spk_0
Oh, man. I have to confess or admit I am a wordle god. I am actually so good a world
spk_0
I actually sent one to my wife the other day where it was like the first word only had one letter is out of place
spk_0
And then the second word I picked had no letters
spk_0
So all I had to go on after two words was one letter that was out of place
spk_0
And I still got it on the third try because I just eliminated so many vowels and and other
spk_0
Things that like there's only one thing left. I got on my first try. I looked up what the answer was
spk_0
Yeah
spk_0
Yeah, take that
spk_0
Remember for a while scrabble was really big words with friends or whatever and
spk_0
I'm sure that cheat
spk_0
Yeah, I used to play oh man. I played so much
spk_0
So many games of words with friends, but you're right. It had to be with friends. You couldn't play an
spk_0
Anonymously you just get wrecked by a person who's cheating
spk_0
All right, or that's not fine. Oh man
spk_0
All right, and if you want to
spk_0
Support our New York Times addictions or our trips to space please
spk_0
Give us some money on patreon. I'm just kidding actually none of that money actually goes to us
spk_0
We put all of it back into the show. We've literally haven't taken a dime of it
spk_0
But we have used it to do advertising and reach out and get guests and and all of that good stuff
spk_0
So so if you like the show if you want the show to reach more people
spk_0
Please support us on patreon. It's not
spk_0
Technically a non-profit, but it is a nonprofit. We go and put all that money back into supporting the podcast
spk_0
All right time for tool of the show. All right. What's your tool of show Patrick? It's a game shocker um
spk_0
Escape Academy. I look I I thought for sure. I must have shouted out this game like on the show before and I if I did
spk_0
One, I don't care because it's worth it to I searched through all of our show notes and website
spk_0
I couldn't find it
spk_0
So I don't care. I'm double down on it doubling down on it escape academy is a great game
spk_0
It's about playing a
spk_0
Escape room with a story
spk_0
narrative about being in an academy that
spk_0
Challenges you to solve puzzles and like you know has a
spk_0
Kind of life or death set up situation about problems, but
spk_0
In reality, it's just like a really good
spk_0
well-paced you know escape rooms can be
spk_0
For me there's something I've done before and it's just like
spk_0
Really like how is I supposed to know you just need to like randomly kick around until you you know find this thing or like
spk_0
The path to progress is not obvious
spk_0
I don't like this sort of just search around and find that's not my you know cup of
spk_0
Yeah, I was talking about this with a friend of mine about
spk_0
At my cousin when we were nine years old he made a choose your own adventure game in basic on our Commodore 64
spk_0
And it was like you're in a town
spk_0
There's a bank and you can also walk down the road
spk_0
Which do you want to do so it shows you know walk down the road?
spk_0
It's like you meet a guy you die
spk_0
Do you know that's like okay?
spk_0
So like whenever you make one of these you know point and click adventures choose your own adventures
spk_0
Like you have to like
spk_0
Somehow like very subtly
spk_0
Into the person what the right answer is but it has to be subtle enough that when they pick the right answer
spk_0
It's satisfying and it's like I feel like there's an art forum to that that's you have never made one of those
spk_0
But it feels actually a lot more complicated than you think
spk_0
I'm sure it is and I'll say for me
spk_0
The subtlety of the answer can be problematic
spk_0
But even just understanding like what the puzzle is so like in your example like making sure that it's clear that
spk_0
There's some bit of information you should figure out to make the choice
spk_0
If you just presented as a like trivial choice and I make the choice and then like I'll game over
spk_0
It's like that that's just I'll just quit like I don't want to play like this not that's not fun
spk_0
And I would I did play one the other day where there was like a hidden number like you know sort of in very faint
spk_0
Sort of color that you were supposed to see but I didn't see it and then I just kept bumping my head against the wall
spk_0
I asked for a hint using the hint I was able to solve a puzzle
spk_0
I wasn't supposed to be able to solve yet and then I bypass like a third of the thing and I'm like
spk_0
That I only found out at the end when it's like oh you were supposed to do that and I'm like
spk_0
But I missed a very subtle clue
spk_0
The game didn't help me and like a bypassed a bunch of it because I was able to kind of like brute force a problem
spk_0
I wasn't supposed to solve
spk_0
Because it was the obvious puzzle and I just assumed it was what I needed so I asked for a hint and it gave me okay
spk_0
All that aside escape academy isn't really like that. It does have a good hint system
spk_0
It's reasonably easy to play through if you're really expert at you're probably like oh
spk_0
This is this is really easy, but it is fun. It has a cooperative mode. It's just really cool. So for me
spk_0
Oh interesting kids and they got really into like getting out the piece of paper to like you know sort of solve some of the problems or write down the notes or you know figure out
spk_0
It doesn't require a ton of that
spk_0
But there is a little bit of it um and some word play and stuff, but there's overall I loved it. I it's
spk_0
I probably the only game where I've like
spk_0
paid for the DLCs and like played all the DLCs like
spk_0
Wow, I don't think any other game. I always I hate DLCs like yes and can't express how much I hate them
spk_0
But I just probably the only game I've ever like paid for DLC like played it and feel like I've gotten my money's money's worth and like
spk_0
Absolutely would have done it again. Oh, that is amazing. I'm gonna have to try this out
spk_0
You've had some amazing game recommendations like I I never finished Dave the diver, but I really enjoyed my time with Dave
spk_0
and uh, yeah
spk_0
But you know the first half of the game is amazing like I feel I feel like I'm super satisfied
spk_0
I don't think I really need to see the ending. Yeah, I kind of the same
spk_0
And escape academy is available on like steam. I think you know, it's on switch. I think it's on Xbox as well
spk_0
So most of the the sort of gaming platforms and it's not super expensive because it's been out for a while
spk_0
Very cool. All right my tool of the show and this might start to become more of a trend
spk_0
But it's basically using AI like using LLM
spk_0
So I'm putting a link to chat GBT, but you can use really any of them
spk_0
But it's multimodal so for folks. I know that just means you know combining several modalities such as text
spk_0
Audio visual, etc
spk_0
multimodal LLM's to make calendar meetings. So
spk_0
for example, uh, you know my kids do typewondo
spk_0
And I'm always forgetting like what times because they have different times or different ages and all that
spk_0
I literally just took a picture of the typewondo schedule
spk_0
And I said create me a calendar. There's this thing called an ICS file
spk_0
I guess the C is for calendar. I don't know, but but it's a file that you can then when you open it
spk_0
It creates a calendar meeting. So I said like create an ICS file that has like a recurring meeting
spk_0
For me at these times like I have one kid who's this age, one kid is this age and so fine
spk_0
You know from the picture find the times that I have to be at typewondo with them and create an ICS file done
spk_0
Done like now in my calendar every whatever day there's there's meetings for that and on Saturday and everything
spk_0
um, you know one of my kids does
spk_0
uh
spk_0
He's like a
spk_0
Vocalist right and so he does a bunch of like choir shows
spk_0
So I took a picture of that schedule. I'm like just put on my calendar all the choir shows from this grade done and that has like
spk_0
In amazing like just taking pictures of things. I took a picture of
spk_0
of um, I guess I'm getting off topic a little bit, but I took a picture of my trees in the backyard
spk_0
Now I was like are these trees healthy?
spk_0
Uh, you know what type of tree are they what should I do to make them healthier and it gave me a really solid advice
spk_0
um, the whole thing is amazing
spk_0
but uh, but but uh, especially the calendar thing I talked to a few friends about this and they had never thought to do that
spk_0
And so I figured it'd be a good thing to talk about on the show because it helps so much
spk_0
Yeah, I um, I think this is one of those cases. I was tempted to bring up an example where I tried doing this and it didn't work very well
spk_0
But have you done it recently? Yes. Oh, okay. Oh, that's okay
spk_0
It was a bit bit more complicated than what you were saying, but I think that
spk_0
I won't take that that bait and when instead I'll say is what do you have to lose like if these ICS files suck or like they just delete it
spk_0
like yeah like the bar is really loud like if it screws up
spk_0
To fall back is what you wasted what maybe three four minutes like trying to like prompt it to give you what you want
spk_0
And then like it didn't work. I'll get you to go back to doing it by hand anyways. Yeah, so I feel like
spk_0
I have been trying to encourage uh, like people I work with whatever
spk_0
The bar isn't and I think you alluded to this earlier the bar for AI isn't the magic everyone with how I gotta be 10x better
spk_0
100x is gonna replace all the engine no like can you be 10% better?
spk_0
Can you find a way or a place or a set of things it can do to make you 10% better
spk_0
5% better 1% better like
spk_0
Can you enable you to do something when you win?
spk_0
Otherwise do it right like I think into your point there
spk_0
A lot of the barriers is trying it like just just try it like who cares
spk_0
I mean it's not like that stuff's private like it's a
spk_0
Taekwondo schedule is probably on their website like yeah, there's no privacy concern there either so like
spk_0
In my opinion, otherwise, I guess maybe it knows where you are so it can send Uber food to you or breads food
spk_0
Just like like advertising hey, we know you're at Taekwondo would you like french fries?
spk_0
Um, oh man, it sounds delicious. This is getting better and better
spk_0
Um, I think that you know, this is another thing I've done kind of also of topic but related is um
spk_0
I actually put in a loop. I said find python files that don't have a corresponding test underscore file
spk_0
and create a test for them and then
spk_0
verify like that the test pass and
spk_0
uh, I actually ran that in a loop
spk_0
So like it just it just kept doing that and I just let it go for for hours
spk_0
And when I was done it created like 80,000 lines of tests. I should probably more than that um
spk_0
And it's just like that's amazing like these are all 10 now. I'm gonna have to go through them today and a lot of them
spk_0
You know might be crap, but some of them aren't right and like you said
spk_0
It's these are things like I wouldn't have done um, you know because I still have time
spk_0
But if if the AI goes and does it I can check the work
spk_0
And uh, that's easier than doing all the work
spk_0
Um, and then eventually we'll get this evaluation problem fixed. I won't have to do that either
spk_0
So are you saying it helped you asynchronously right to the test?
spk_0
Yeah, that's right. Yeah, I had a I had a global lock on my time
spk_0
It's called family and while I was locked it went off and
spk_0
So what would you say is the uh what and why of asynchronous computing? No, I'm just getting we're transitioning into our main topic
spk_0
All right, so here's the reason why uh, I've decided I reached out to Patrick to cover this topic
spk_0
Because I've been asking this in interviews
spk_0
Um, we uh, we were looking for one more person to add to the team. I think we found them
spk_0
Um, but um, but I was asking
spk_0
Um, this kind of question like what's what's asynchronous what's multi-threading and very few people
spk_0
New the answer which is really surprised me so um, so I thought hey, this is a good topic for us to cover um
spk_0
I like to think of it and this is a term I kind of made up but uh, I think it kind of sums up pretty well
spk_0
A synchronous programming is multi-threading between the lines. So in other words
spk_0
um, you know, you're writing lines of code and
spk_0
One of only one of your lines can really be executed at a time
spk_0
But in between the lines there might be areas where you can do multi-threading so for example
spk_0
um, you might have a line that says
spk_0
um, download this image off the internet and so
spk_0
So
spk_0
The system can only read and understand that line sequentially
spk_0
It can't do other things while it's doing that
spk_0
But then the part that actually does the reading over the internet and waits for those packets to come from across the world
spk_0
That actually could be done kind of off to the side
spk_0
Um, and so you're doing multi-threading in between the lines. You don't have to worry about
spk_0
About semaphores and and and mutex isn't all that stuff
spk_0
Because of this constraint instead makes your life easier
spk_0
Um, and so
spk_0
You get kind of the benefit because really like when you want to it depends on the problem you're trying to solve but but for web applications
spk_0
For example, what you really want is
spk_0
To not be waiting on the internet and if you're not waiting on the internet
spk_0
then
spk_0
You're pretty close to optimal for your
spk_0
You know web service because usually you're waiting on the internet to get your request, you know complete
spk_0
Waiting on the internet to send that request to or intranet maybe to send that request to some database
spk_0
You know waiting for that database to come back
spk_0
And so if you eliminate all that waiting you don't also need
spk_0
To do a lot of multi-processing you don't necessarily need to do a lot of instructions at the same time
spk_0
um
spk_0
So that's that's kind of the big motivation for for async and so
spk_0
um
spk_0
You need a couple of like core building blocks to do asynchronous programming so
spk_0
You need thread local memory. So in that example I gave um
spk_0
Where you know, you're waiting to get some data
spk_0
um, you know over over the internet that data needs a place to go that you know no
spk_0
other
spk_0
Routines can access that that data. So for example
spk_0
um, you know, one way it's done in in go is through something called go routines and so go routine
spk_0
Is not like a new process on your OS. It's not like a whole new process
spk_0
But it just kind of keeps track of the state of
spk_0
Execution in this code and it also has some thread local or routine local memory. So
spk_0
um
spk_0
So if you say something like you know, I want to
spk_0
um
spk_0
You know download this packet of data from the internet and then I want to store it in this variable
spk_0
You know, it has a place to go that it knows is kind of protected
spk_0
And then while it's doing that protected operation, you know, reading from the internet to some protected thread local memory
spk_0
It can kind of say other threads can do other things
spk_0
Other threads can be reading other things from the internet or they could be doing arithmetic or whatever because I know
spk_0
Then none of those other threads can affect this this operation that I'm doing right here
spk_0
And so because I know there's no side effects. I can now let those other things go and and so you could have
spk_0
100 routines all downloading things from the internet at the same time
spk_0
Even if your program is is single threaded
spk_0
um
spk_0
So
spk_0
So you'll hear about like blocking versus non blocking operations and that basically means
spk_0
um, you know a blocking operation is one where
spk_0
You know, they're it's not kind of releasing that lock so if you just say
spk_0
Imagine you have two
spk_0
Kind of routines and both of them are just running a for loop
spk_0
And they're just adding to really large arrays. Airwise, right?
spk_0
spk_0
Well, those are blocking operations. So it's going to happen is the first routine is going to run
spk_0
And it's going to do that entire for loop and that second routine is just going to have to wait
spk_0
And then when the first routine is completely done then
spk_0
um, then it'll finish and the second routine will will do its for loop
spk_0
And so you haven't achieved really any parallelism, right?
spk_0
But now take that same scenario
spk_0
But instead of just adding things in a for loop you're going to have a for loop that's downloading from the internet
spk_0
Well that that operation that download from the internet operation has been built to be non blocking
spk_0
and so
spk_0
um, in the case of let's say like type script
spk_0
Where it's single threaded you know, you have a way of telling the type script or the java script of VM
spk_0
Like hey, I'm about to do something now that is isolated that's non blocking and so you know other routines can go into work
spk_0
While this routine is just frozen on this operation
spk_0
And then once you've downloaded what you needed from the internet
spk_0
Then you go back to the virtual machine and say hey, I'm ready
spk_0
You know, I'm ready to block and take this take this take six take some time
spk_0
And it when it gives you that that time back then you can go and copy that information into that variable and all of that
spk_0
um in the case of python
spk_0
um, python actually
spk_0
Uh has
spk_0
co-routines and threads and so what that means is
spk_0
You can actually have multi threading in python where um you have several different threads, you know, accessing memory at the same time um
spk_0
Um
spk_0
But there is a global interpreter lock so um here's here's a good way of thinking about it
spk_0
In the case of let's say type script if if you're inside a type script function
spk_0
You kind of have to wait until there's a non blocking call so the example I gave it the for loop you're just stuck right
spk_0
Um in the case of python it would be a little different if you're using threads what would happen is
spk_0
Um, the first thread would do part of the for loop and then it would release
spk_0
And then the second thread will do part of the for loop and then release and they'll just kind of you know checker board this
spk_0
And so it's not the first one goes to a completion. There's sort of this you know striping effect
spk_0
Now it might take the same amount of time in the end as the type script version
spk_0
But but you know they're both making progress at the same time
spk_0
versus type script is single threaded
spk_0
And the way python achieves this is through a mutex
spk_0
So this is called the global interpreter lock or gill and it basically says
spk_0
You know you can have many threads that are all sharing
spk_0
um
spk_0
You know your your your VM but only one of them can execute at a time
spk_0
So here's if you wanted to accomplish the same thing with type script
spk_0
Imagine the for loop example I gave with type script so you have a for loop goes from one to
spk_0
10 million adds these arrays together
spk_0
um, but after every
spk_0
iteration of the for loop you put a yield
spk_0
So yield is a special keyword in asynchronous programming yield basically says
spk_0
I just want to give up my time slice like I'm not done yet
spk_0
But I feel like the right thing to do is to give up my spot and let another thread do some work
spk_0
And so as a programmer you might have various reasons for doing this right
spk_0
So imagine if your for loop said you know for you know a one to 10 million
spk_0
Take these two arrays and add the that element together and then yield
spk_0
So now you're going to get that striping right
spk_0
So now the first process will yield the second one will be able to do one iteration of the for loop
spk_0
And then it will yield back to the first one
spk_0
And so
spk_0
You know it the python multi-threading is the equivalent of like having a yield after every operation
spk_0
Um, uh, and so you know the gill kind of enforces all of that
spk_0
That kind of uh
spk_0
What do you think Patrick any any holes in that that we could cover?
spk_0
I think
spk_0
For me my introduction is probably like a bit different
spk_0
But I think it parallels
spk_0
So I don't think it's contrary to what you're saying
spk_0
But I for me it was um and you kind of bump into this if you ever do like Arduino programming but like embedded programming
spk_0
And there
spk_0
Sometimes the mapping is actually really weird from something like python to something like
spk_0
For I think c++ and an embedded micro controller because it just sort of like different paradigms like networking is
spk_0
Well now it's more common when I was doing it was it was very rare that you would you know kind of do networking related stuff in in these contexts
spk_0
Um, and there we would talk about like interrups
spk_0
And so the idea is if you imagine
spk_0
Like a microcontroller wants to talk to a sensor
spk_0
That sensor it communicates over something called i squared c
spk_0
All it is is like a set of wires and voltages that move up or down in a certain pattern to send data from
spk_0
Like your piece of silicon to like another piece of silicon glued to your like thing with wires or on a printed circuit board
spk_0
Or something else and so you want to measure let's say temperature of the room
spk_0
Um, and you want to record this and
spk_0
sort of the
spk_0
Way that it used to kind of always be done was something called bit banging and so bit banging would be hey
spk_0
I'm a microcontroller. I need to read this so I'm going to set up an i squared c library in code
spk_0
That says move the voltage on this wire from low to high
spk_0
Wait this amount of time where a weight is go into a loop that is like a certain number of instructions long
spk_0
time to be like the right
spk_0
amount of wall clock time based on the like rate of the processor
spk_0
So it's just sitting there doing like no op instructions
spk_0
But it's running the instructions. It's using all of the power of the full CPU
spk_0
Which has like all sorts of peripherals on it
spk_0
So it's sort of consuming the most and you sort of like go high for a certain amount of time
spk_0
Then you go low and you're moving along the sort of data to be sent out to ask for a temperature reading
spk_0
Then you have to wait and then it starts coming back in but you can imagine like
spk_0
Thousands tens of thousands of like no op cycles waiting for like the voltage to move up and down due to
spk_0
Capacitance and the rise rate and like the data transmission
spk_0
So the CPU is really bored
spk_0
But it's sitting there doing nothing right and so this is the equivalent of like polling or
spk_0
Single threaded and you're doing all of the work in one context
spk_0
Then people realize well, we have more sophisticated silly can why don't we make like
spk_0
A sort of finite state machine and accelerator like another like set of transistors where
spk_0
You you sort of said it's thread local memory the equivalent here is we have to call it a register
spk_0
So you have a set of registers and you could like write into them. Hey, I want to send out this data stream
spk_0
Um, and then you would say go
spk_0
And what you could do then is put the CPU into a low power state like go to sleep
spk_0
And then you're going to save power right and then or you could go do other processing if you had it
spk_0
But saving power is also really really important in a lot of these contexts
spk_0
What's going to happen is the little bit of circuitry is going to like send the thing out
spk_0
It's going to wait for it to come back and then it's going to interrupt and you're going to have a little function
spk_0
That is mapped to say when this
spk_0
Thing is done
spk_0
It's going to call the instruction that you've loaded into this register
spk_0
So the instruction there needs to be jump to a function that you wrote
spk_0
And then that function when it runs is going to push the current thread the current running CPU thing into the stack
spk_0
It's going to allow you to run some piece of code and that code could be
spk_0
Copy the data out of the registers into a set spot in memory or into a queue or
spk_0
Just handle like write it into
spk_0
Write it into the you know flash memory, but that could take a long time
spk_0
So maybe you don't want to do it and you can imagine as you're handling
spk_0
10 15 20 sort of like peripherals all coming in at different rates
spk_0
doing all of that and sort of making sure that none of it gets dropped becomes harder and harder if you
spk_0
Don't sort of have some mechanism that allows the sort of distributed handling to kind of happen
spk_0
And so the asynchronous context maps pretty cleanly to what you're saying
spk_0
You're sending some data to the network and saying hey, I need you to transmit this
spk_0
It's going all the way across the world. It's coming all the way back
spk_0
And you can sit there and wait for it and that's called blocking but under the hood
spk_0
The blocking is still just basically sitting there. Are you done? Are you done? Are you done? Are you done? Are you done?
spk_0
It's not doing any work. It's not bit banging anymore
spk_0
It's just waiting on the other little processor
spk_0
To do all the work and so I think as you kind of pointed out there's like this clear mapping about blocking versus non-blocking
spk_0
I think the
spk_0
Rest of the conversation becomes an abit what you're you're kind of getting into is like there are kind of two ways to
spk_0
Handle it one is sort of in line in the code
spk_0
I want to ask for something to happen and while it's happening
spk_0
That
spk_0
Set of consciousness that execution is just kind of paused there and maybe other stuff can run
spk_0
And then when it's done, I'm going to pick back up and that is one method
spk_0
The other method if you think about like interrupt as a form of like a callback
spk_0
You could just have like almost a dag
spk_0
Which is I'm going to ask for something to occur
spk_0
I'm going to transfer control to that thing
spk_0
When that thing's done it's going to call the next stage. Oh, sorry deck directed a cyclic graph
spk_0
So it's just a pipeline
spk_0
And so you call to the send networking and when the networking is done
spk_0
It's going to call some function
spk_0
But that function is completely different part of the code
spk_0
But it's responsible and it has enough context to say
spk_0
And maybe you even pass a little bit of context. Hey, I'm getting a response
spk_0
And when I get a response is what I do
spk_0
So if you think like a graphical user interface and I say type in my text to my friend and I click send
spk_0
And then I don't need like control to return really when my friend sends a response back
spk_0
That code just needs to know to write it to the screen like write it into the next line of the message conversation
spk_0
And so you can kind of have this feed forward and so you don't really return back to the same point of control
spk_0
And there are these kind of
spk_0
And they can be mixed but these kind of two paradigms where you
spk_0
Well, I guess there's a third one but like there's this sort of block and wait
spk_0
And then control returns there and that can be blocking or a synchronous for allowing for cooperation
spk_0
You can have this like feed forward sort of dagger approach and then the vinyl med that is like
spk_0
Kind of just spoiler will get to it in a minute
spk_0
But like the the sort of future promise where you're getting some
spk_0
State back that somebody else is filling it and you're going to go check on it later
spk_0
You're going to go ask later
spk_0
Hey, was that done yet or wait for it to be done or something else
spk_0
I think that's like a little bit of like a different handling
spk_0
So there are these kind of different methods but under the hood they're all really the same thing
spk_0
They're just how the programmer wants to relate to that work
spk_0
And how how you want to set up and what other kinds of systems things in your system
spk_0
And if you have nothing else to do letting it sleep can be a really good answer in some context
spk_0
But in other contexts you have other background processing or other things that need to be handled
spk_0
And so depending on the paradigm of your program you'll kind of choose a different asynchronous behavior
spk_0
Yeah, yeah, that makes sense. I mean, I'm reminded of and I should have made this a news article
spk_0
But but if you
spk_0
You read like the history of engine X so engine X it's spelled
spk_0
ng
spk_0
i n x
spk_0
But basically it's
spk_0
The super fast, you know web handler web service handler and it does routing proxy et cetera
spk_0
Um, and when engine X was invented or we know was was initially being developed the best thing that that was out there
spk_0
Or for doing web stuff was something kind of like tomcat
spk_0
You know tomcat is a Java thing. There was other it's written other languages
spk_0
But the way these these things would work is
spk_0
You know when you started tomcat it would spin up like let's say eight processes like OS level processes on your computer
spk_0
And it's like okay here's your eight
spk_0
Processes and and then the main process when it sees there's a new web request
spk_0
It would just send it to one of those eight or or all eight of them would listen
spk_0
I'm not sure at that point what exactly happens there
spk_0
But basically one of those eight, you know receives a web request
spk_0
Handles it which might include like going to the database and doing other stuff. Maybe it's a
spk_0
It's over i2c. It's like talking to a temperature sensor or something and then responds with the response
spk_0
but
spk_0
Because you had eight processes you could only do eight things at a time
spk_0
And it could be that all eight of those are waiting on the database
spk_0
And you really could add a ninth one or a tenth one without affecting that computer's load because it's it's they're all idle right
spk_0
And so engine X was pretty revolutionary in that they basically said okay
spk_0
We're going to create the same eight processes or we're going to use asynchronous programming and so
spk_0
um
spk_0
um, oh and so you know
spk_0
if if uh
spk_0
If if one of these, you know eight processes is waiting on a database then that same process can go and like fetch another web request
spk_0
While it's waiting on the database and so you could actually have you know eight processes handling
spk_0
A thousand web requests at the same time instead of eight at the same time and this like blue everybody's mind
spk_0
uh like i remember uh
spk_0
We're using tomcat on something this is like a 2003-ish and um
spk_0
uh, yeah and and
spk_0
Just yeah constantly running into issues with quality of service where you know we'd get um
spk_0
I was working at a online school and so registration day there'd be a ton of people hitting the site and they would inevitably bring it down and
spk_0
Um, and so you had this machine that was mostly idle, but then also just blocking everyone's requests so so engine X was it was amazing
spk_0
Um, the the thing about it is if you were to do this yourself like what Patrick was saying you know if you were to
spk_0
you know
spk_0
To to try to implement this asynchronous thing yourself what you would have to do is and i'm going to use
spk_0
The pire level terms is probably doesn't work in our do you know you could you could help translate
spk_0
You basically have to say
spk_0
Okay, what things am I doing right now? Okay, I'm doing these eight things
spk_0
Okay, can I sort of peek at each of these eight things to see if one of them is ready. Oh the sixth one is ready
spk_0
Okay, you know execute that function
spk_0
Uh, oh now like that function got a little bit further, but now it's blocked again
spk_0
Okay, put it back on the list and so you could imagine like what a nightmare that would be to have to code up
spk_0
You know for every application. So
spk_0
So so in this case like that whole nightmare of just peeking at a zillion different things all the time and finding the one that's
spk_0
Available and doing it like someone else has implemented that nightmare for you
spk_0
So that you can just kind of work at at a higher level
spk_0
Okay, there's a bunch there. That was really good. So I think to be clear. This is all a bit
spk_0
How do you like recursive fractal? I so the operating system is doing kind of what you're saying
spk_0
So it has a scheduler modern commuters normally like a preemptive like scheduler which means exactly that you have some thread running
spk_0
That gets stucker is not or is laps its time and the operating system will like suspend it and run a different thread in order to like time share
spk_0
Um and and sort of hopefully some of them are just doing like busy loops polling for something and you're getting a win
spk_0
but there is like some
spk_0
Like you're it's not magic. None of this stuff is magic. So everyone who always it's kind of one of those two sides of the coin
spk_0
In some cases it sure seems like magic
spk_0
But in other cases you're like I don't get it. It like there's still only one CPU and yeah, you're right
spk_0
There is really only one CPU
spk_0
So in like your database example
spk_0
It let's say you have sort of like the database is local on disk and you really are kind of bottled like let's say you're already maxing out the like hard drive ram transmit speed from your CPU
spk_0
Whether you have one eight nine ten a hundred like database jobs queued up
spk_0
You're not gaining any more throughput by like
spk_0
Knowing that you have a hundred jobs or knowing that you have eight jobs like there's nothing more to do
spk_0
Mm-hmm the trick comes in that that isn't
spk_0
Normally the case. It's not that every job coming in needs the database some jobs
spk_0
You will already have a cached answer
spk_0
It just wants to say what is the list in your example of like you know registration?
spk_0
It's like what is the list of all classes?
spk_0
Well, you could have numinized you could have cached that like you know the list from five seconds ago of all possible classes
spk_0
You don't know their current state
spk_0
But you know all the things and so some requests can be quickly turned back around so that the server feels more responsive
spk_0
And so while you're waiting on the hard drive ram to transmit database responses
spk_0
You're sort of getting these things back and the question
spk_0
It comes a little bit on like the scale. Are you running?
spk_0
Are you the only thing running in the operating system or are other things running?
spk_0
Are do you have other threads running? Do you have like
spk_0
There is still a sort of like fundamental limit to how much stuff can happen and going to an asynchronous solution isn't to cure all
spk_0
But it is one of these cases as you're you're pointing out often
spk_0
We can know more about the problem than the generic operating system solution would give you and so letting eight OS threads handle something
spk_0
Isn't going to be optimal if we know that the work is very heterogeneous because if we are having
spk_0
One in ten come in that needs a database
spk_0
But it takes a long time to get a database response
spk_0
Then as soon as you have the few queued up everybody else even that doesn't need the database is stuck waiting
spk_0
If you sort of have this sort of asynchronous thing that you're mentioning
spk_0
You can just burn through the entire queue of everybody who doesn't need the database
spk_0
People who need the database may still get a failure
spk_0
Right like you know they may still have a timeout but overall your metrics are better
spk_0
The responsiveness feels better and you're you can kind of guarantee your maximizing the proper throughput
spk_0
Yeah, yeah, totally. I mean this is also like
spk_0
There's a dynamic app player which is like throughput versus latency. So imagine oh, yeah, okay good
spk_0
Yeah, like imagine like the connection imagine like the database is like a giant sewer pipe
spk_0
But the water can only go you know one meter a second and so
spk_0
You know you you could put like a ton of
spk_0
Of water through but it can only go throughout a certain rate
spk_0
And so that's where yeah having like a zillion connections the database actually a little better because you're just hiding all of that latency
spk_0
But but you're right you with asynchronous programming you do run into a lot of problems
spk_0
around
spk_0
You know now you can do a thousand things
spk_0
But that also means that
spk_0
Potentially there's a thousand things that are in a bad state or or if there's a bottle neck further down in the chain
spk_0
Then now all those thousand things are sort of fighting for
spk_0
For resources. So even in asynchronous solutions like if you look at um uh fast API for example
spk_0
Even though it's asynchronous and you could handle a thousand requests on one thread if you wanted to
spk_0
Even there you would specify a limit. So you typically would say something like
spk_0
If I have I'm just going to make up a number if I have 32
spk_0
requests simultaneously on this machine and a 33rd comes in I'm just going to reject it and return a HTTP 503
spk_0
And then my client will call again and hopefully get a different machine because
spk_0
Even though the machine might not even be very busy
spk_0
You just don't want to be in a weird situation where
spk_0
There's a thousand things that aren't getting done
spk_0
Because that's usually a sign that something else is wrong. So so asynchronous to your point it's not a free lunch like you do have to
spk_0
You know now that you've been given this power you do a fuser responsibly
spk_0
Yeah, you bring up a good thing those like an interplay here we didn't have an in notes but like
spk_0
Q management and there's like stacked up cues everywhere
spk_0
So as you're going to mention you're going to have like a load balancer and the load balancer will have like a little bit of a cue
spk_0
It's sending stuff if you just consume a thousand things even though you can't handle them
spk_0
Some other server may have finished everything it's doing and you're just like holding those thousand waiting for
spk_0
expiration basically and
spk_0
In reality, I just said if you returned an error code after a certain amount it'll just run back to the load balancer
spk_0
and hopefully get assigned to a machine
spk_0
That like isn't having an issue or isn't overloaded or whatever and those have their own cues
spk_0
So there's like this very interesting whole system dynamic the other thing about asynchronous program although it is like
spk_0
Important to know about and be aware of is you do have to just like multi-threading you do have to be concerned about
spk_0
Like race conditions datey data safety issues depending on what all is happening, right?
spk_0
So you can imagine I send a network request and then I have an update from the user or I want to do something different
spk_0
I've changed my state
spk_0
I send the new networking request that I kind of want to supersede
spk_0
But the old one comes back and I think it's an answer to you know
spk_0
I mean like you have to manage that wait a minute like I have to be really careful
spk_0
I'm doing more than one thing at a time and so you can end up with all of the traditional
spk_0
Things you would hear about related to sort of thread safety being careful making sure that you know
spk_0
You're aware of whether the data structures like cues and other things you're using are multi-thread safe
spk_0
Even if you're only doing async stuff because you can end up in these weird situations where out of sequence stuff is occurring or overrides or
spk_0
You just can be aware that
spk_0
It does add a lot more complexity to the system
spk_0
But there is a lot of gains to be made in in many situations
spk_0
Yeah, totally and this is really what separates
spk_0
Kind of like masters of their craft from apprentices
spk_0
You know, it's like all of the lessons learned
spk_0
Around oh, you know, we got burned this way or that way or we
spk_0
You know the database kind of like fell over because we weren't monitoring it and what it really comes down to
spk_0
um
spk_0
is
spk_0
Just setting up a ton of monitoring
spk_0
and constantly tweaking the knobs, you know, it's if if um
spk_0
If the machine is like mostly idle
spk_0
Then maybe you can handle more processes, but um you have processes are getting backed up. Why are they getting backed up?
spk_0
And so there isn't a
spk_0
Like a there isn't a system you're going to build
spk_0
That that has concurrency that's going to work perfectly for the first time and forever
spk_0
You know as as the load profile of changes
spk_0
Um, you'll have to adapt to it and it becomes kind of a living system
spk_0
Um, this is this is pretty unavoidable. So async, you know helps with
spk_0
you know
spk_0
All of the mistakes that come from multi-process, you know async, you know, you can eliminate a lot of those as
spk_0
As candidates like if we were doing our if we were basically building async ourselves
spk_0
We'd have to wonder oh did I get the process pool correctly? Am I
spk_0
releasing the semifore at the right time and so because of async you don't have to worry about that
spk_0
But the consequences you still have to deal with
spk_0
You bring about a really a point actually. I think if you're going to go to this
spk_0
Approach so there are some like UI frameworks. I feel are much more
spk_0
commonly written in an async at the framework level
spk_0
Because you want to make sure that the user interface stays responsive
spk_0
So you shouldn't ever do anything blocking and so they're actually really set up from the start to
spk_0
be asynchronous
spk_0
But people who write that well, I should say a lot of people I work don't write you guys
spk_0
They're not actually even familiar with that as you pointed out if you ask them about it
spk_0
They wouldn't really be aware of like the nuances of these tradeoffs and the decisions and the complexities and
spk_0
measuring and all of the parameter like having reasonable parameters and monitoring whether or not like they're set well
spk_0
Would just be stuff not present so it is really weird like on the one hand
spk_0
It's common enough that you would sort of say like it's in every UI framework to have like asynchronous stuff
spk_0
What do you mean like people don't know what it is?
spk_0
But it's like this very weird division of practitioners where sort of like I think there are a whole classes of people who go a very long career without really getting into any of it
spk_0
Yeah, yeah totally
spk_0
Which is why you need to subscribe to programming throwdown
spk_0
It's a perfect segue
spk_0
To to our outro. I mean we you know, I feel like we gave a pretty good background
spk_0
um
spk_0
I think you know the sort of maybe the call to action here is really learn async programming. I mean if you
spk_0
um if you're doing UI stuff you pretty much have to I think it's at the point now where
spk_0
I think android and iOS if you try to do a network request on the main thread it'll just like give you a error like a run time error
spk_0
um
spk_0
It just literally will not let you use the main thread to do non blocking stuff
spk_0
Um, so it's a non starter
spk_0
But but even if you're doing anything with distributed anything with queue processing
spk_0
You'll have to you'll encounter this in some way shape or form so so if this is all new definitely dive in
spk_0
This is an area that's worth learning um, I think with
spk_0
with um
spk_0
You know, I think with AI and agents and and all of these things it's going to become even more important
spk_0
You know an agent might
spk_0
Send a text message and wait to get a response from somebody
spk_0
And it can't just block the machine while it's doing that right you want you want to run like 10 000 agents on one machine
spk_0
So uh so super important area um, I think that
spk_0
Um, it's definitely something it's worth researching and
spk_0
um
spk_0
If you have any questions you could always go on discord the discord channel is is uh hitting more engagement
spk_0
I always try to reply to uh to stuff on there um to check us out on discord so just an email and
spk_0
Is a great cover in this
spk_0
Yep, thank you everyone all right catch you all later
spk_0
you
spk_0
Music by Eric barn dollar
spk_0
Programming throwdown is distributed under a creative commons attribution share alike 2.0 license
spk_0
You're free to share copy distribute transmit the work to remix adapt the work
spk_0
But you must provide a attribution
spk_0
uh to uh Patrick and I and uh share alike in kind